基于RFID的EPC中间件的设计
摘要:本文简述了物联网EPC技术并分析了Savant中间件软件系统的主要功能和框架结构。在深入研究EPCgloabal后,借鉴EPCgloabl的中间件标准ALE,给出了一种Savant中间件软件系统的设计思路,并从逻辑上验证了该系统的完整性与有效性。
关键词:Savant中间件;RFID;物联网;电子产品代码
0 前言
物联网的出现打破了传统的关于物品信息的存储与查询的思维,通过将物理基础设施和IT基础设施统一化,建立起一个本身具有通信能力的交互信息网络,这个网络不仅涵盖生产运行、经济管理,甚至渗透到人们个人生活的各个方面。
在应用物联网RFID技术时,首先面对的问题就是电子标签上数据的获取和有效信息的提取。作为RFID系统的重要组成部分,EPC中间件是数据采集、过滤等处理的主要单元。本文提出了一种中间件的设计思路,使上层开发者在开发RFID应用系统时无需再考虑如何与各种硬件设备交互而直接获取有价值的RFID信息。
1 EPC系统简介
EPC的全称是Electronic Product Code,即产品电子代码,是美国麻省理工学院自动识别中心(Auto-ID中心)提出的。EPC的载体是RFID电子标签,并借助互联网来实现信息传递。EPC系统为每一件商品建立全球唯一的识别标准,实现在全球范围内对商品具体信息的记录与查询,有效提高商品信息的管理水平,以及物流准确性,并且降低物流成本。
EPC系统的信息网络系统是在全球互联网的基础上,通过Savant管理软件系统、ONS对象名称解析服务系统、实体标记语言(PML)实现实物的互联。
Savant中间件的系统协议主要由RFID通信协议、应用事件管理(ALE,Application Level Event)协议等组成。ALE是EPCgobal的中间件标准,是阅读器模块和客户应用程序之间的接口协议。该协议定义了客户可以如何过滤和整合来自读写器的EPC标签,并面向不同的企业应用程序和阅读器定义了统一的接口。ALE的处理过程是:接收来自一个或多个数据源的EPC标签码:根据企业应用程序要求以一定的时间间隔整合数据,过滤重复和不感兴趣的EPC码;根据企业应用程序要求以不同的形式打包发送报告。
2 Savant中间件的功能与结构
在功能上,Savant软件系统利用ONS对象名称解析服务并调用PML服务器上的标签应用信息供Savant上层应用软件使用,所以Savant软件系统在结构上有一些用于ONS对象名称解析服务的专用接口。
处理模块与外部EPC系统的联系通过规范定义的接口,即阅读器接口和应用软件接口来实现。阅读器接口提供与标签阅读器的连接,Sav-ant通过该接口和阅读器建立连接,向阅读器发送各种命令。
按照SavantSpecification 1.0标准的描述,Savant软件系统就是处理模块与各接口模块的集成容器,其各个接口模块均有一定的标准,而能用于用户开发的是Savant软件系统的处理部分。根据功能的需要,能够得到Savant中间件软件的大体结构:
图1模型的基本功能在于其中处理模块通过输入接口模块与输出接口模块与阅读器和上层应用软件进行联系。Savantqp间件系统是一个开放式系统,其用户定义的处理模块是功能实现的主要体现部分,提供各种用户要求的功能。在输入端,Savant中间件系统主要工作是对阅读器所采集到的电子标签信息进行收集和处理,或者根据自身内部设定的命令对阅读器输出反馈指令;在输出端,其面对的是上层应用软件的调用,或者是通过ONS对象名解析服务对PML服务器上的相应商品信息进行读取。
由上可知,Savant中间件起的是连接阅读器系统与上层应用或者信息存储系统作用,因此对其设计主要在于完成信息的处理、过滤、暂存与计算。
3 Savant中间件系统的实现
本文实现Savant中间体软件系统的主要功能:a.过滤;b.定量信息存储:c.解析;d.接口控制。
3.1 过滤功能
根据第2节中所述的基本模型,并考虑到整个系统的工作效率,过滤程序应该是系统中最先工作的模块。
一个Savant软件系统是服务于特定厂商或者是针对特定类型商品的软件,所以参考TCP/IP协定中局域网IP地址子网掩码过滤处理,只需要通过一段掩码,将该系统所服务的厂商或者所针对的特定类型商品过滤出来。将特定厂商或商品掩码与原始EPC标签代码信息通过一定的逻辑运算结合起来,即可以达到过滤信息的作用。如图2所示。
3.2 解析功能
为了方便读取PML服务器上的标签信息,需将EPC代码解析成ONS服务可识别的地址域名格式。根据该解析过程的规范化的要求,利用格式化转换字符串将EPC二进制代码转换成对应的PML文件地址。
类似于普通的Internet域名地址,存储于PML服务器上的商品信息域名地址也有着标准的域名结构。EPC地址域名由EPC域前缀名与EPC域后缀名组成。而且当前使用的EPC域后缀名为一个固定的根域名:epc.objid.net。这个翻译的过程需要引入标准的域名格式,即格式化字符串。
举例说明如下:
格式化字符串由1、2、3、4组成,分别表示该位所占EPC编码中的位数
例如对于16位的EPC码,其格式化字符串可以是
1.44.3.11.2(0+1+4+4+3+1+1+2=16)
即如果这个16位的EPC码是:1001111010110010,放入格式化字符串的形式下成为了:
(1)(0011)(1101).(011).(0)(0).(10)=1.3D.3.00.2即成为EPC域前缀名。
即该1 6位E P C代码的P M L域名地址为1.3D.3.00.2.epc.objid.net。
有了格式化字符串的标准转换功能,EPC电子标签代码可唯一且一一对应地转化成PML域名地址。
3.3 存储与查询功能
由于不同的厂商或商品在种类、数量、需求量以及关注程度上都有所不同,如果每次检测标签时均向PML服务器提取信息,不仅会由于PML服务器的数据过大而降低提取效率,同时在传输过程中也容易有所延迟与损耗。因此Savant中间件软件系统需存储一定量的简单信息伴随EPC的具体信息,以便上层应用软件的读取,提升数据读取效率。
本文选择FIFO(先进先出)的存储方式进行有限存储空间的利用。
对于FIFO的实现,基本上是做结构体的向前移位操作,将在结构体数组中位置为i的结构体的内部数据完整地赋值给位置为i-1的结构体。对于最后位置的结构体,团PM-1位置,则是最新的赋值,而对于原始的第一个结构体,即0位置,会被覆盖。这个过程并不是一直无限进行下去,会有一个接口控制变量来决定是否进行移位。
3.4 接口控制功能
在Savant中间件软件系统中,需要加入接口模块与外部情况加以联系。如图3所示。
- 直接变频接收机设计可实现多标准/多频带运行(10-11)
- 基于蓝牙芯片的无线通信模块设计与开发(02-03)
- 无线通信网络设计与现场测试(10-10)
- WiMAX数据传输加密方案设计与实现(05-25)
- 高性能TD-SCDMA接收机的设计(03-15)
- 初步设计WiMAX射频系统(03-29)