一种基于轻量级ALE的嵌入式RFID中间件
技术领域
本发明属于RFID中间件技术领域,特别是提供一种基于轻量级ALE的嵌入式RFID中间件的设计方法。
技术背景
RFID中间件(Radio Frequency Identification middleware)可以自动识别和收集信息而广泛应用于各种领域。RFID中间件在自动识别设备(比如RFID阅读器)和应用系统之间架起了数据通信的桥梁。
应用层事件(Application Level Event)规范定义出RFID中间件对上层应用系统应该提供的一组标准接口,以及RFID中间件最基本的功能:收集/过滤(Collect/Filter)。
应用层事件(Application Level Event)规范于2005年,由EPCglobal组织正式对外发布。它定义出RFID中间件对上层应用系统应该提供的一组标准接口,以及RFID中间件最基本的功能:收集/过滤(Collect/Filter)。ALE层介于应用业务逻辑和原始标签读取层之间。它接收从数据源(一个或多个读写器)中发来的原始标签数据,而后,按照时间间隔等条件累计(Accumulate)数据,将重复或不感兴趣的EPCs剔除过滤(Filter),同时可以进行计数及组合(Count/Group)等操作,最后,将这些信息向应用系统进行汇报。它管理设备以及向设备订阅标签数据。
阅读器工作时,将反复读取标签,造成同一个标签在一分钟之内可能被读取到几十次,如果将这些数据直接发送给应用程序,将带来极大的资源浪费。而ALE的出现主要是为了减少原始数据的冗余性,从大量数据中提炼出有效的业务逻辑。
ALE(Application Level Event)规范详细阐述了RFID中间件的框架,如附图1所示,在这个框架中,将多个物理阅读器组成一个逻辑阅读器。ALE看到的只是逻辑阅读器,而不会面向物理阅读器。该中间件功能齐全,并且是面向处理能力较强的以及资源充足的PC机端的。而ALE面向分布式场景,各个模块之间的连接与通信依靠网络通信与xml文档的生成与解析,这需要较强的处理器能力以及丰富的计算机资源的支持。
随着智能RFID设备的面世以及无线通信技术的发展,面向智能RFID设备的嵌入式RFID应用的开发越发普遍,然而嵌入式环境的软硬件资源有限性以及智能RFID移动设备在硬件上的差异性,增加了智能RFID设备上开发RFID应用系统的难度。
附图2所示为面向移动RFID设备的嵌入式RFID中间件的总体架构图,该架构为移动的智能RFID设备上开发RFID中间件提供了指导,功能模块齐全,并且满足嵌入式RFID应用系统所需的功能要求,但是不满足EPCglobal规范要求、未对应用层系统提供符合规范要求的标准接口,也没有解决各个模块之间的通信以及数据与命令控制流问题,不满足应用系统多事件处理的要求。
附图3所示是基于ALE标准的嵌入式RFID中间件的体系结构图。该软件架构满足标准要求,并为应用系统提供应用层统一接口,功能齐全,满足应用要求。
这个模型虽然解决了嵌入式RFID中间件功能需求的问题,但是引发了其它新问题。
第一,该软件体系缺乏可移植性。基于ALE标准的嵌入式RFID中间件,面向特定的嵌入式软硬件环境,不提供规范的统一接口,不利于嵌入式RFID中间件的移植。
第二,针对嵌入式RFID应用系统与嵌入式RFID中间件均在同一设备上,该模型尚未解决两者整合与通信问题。对于同一设备上的嵌入式RFID应用系统与中间件通信问题,该架构没有提出一套完整方案或者通信机制,来满足本地应用的需求,如果仍采用网络通信模式进行,将造成资源上的严重浪费,不符合嵌入式系统开发的要求。
第三,该模型缺乏可扩展性。该模型中通信信息依赖GoAhead服务器,数据存储依赖SQLite,使得系统的开发必须熟悉这两个软件,为系统的扩展开发以及系统整合增加了新的难度,不利于系统的扩展。
第四,该模型标签数据的存储依赖于数据库系统,虽然为查询方面提供了方便,然而带来了数据同步以及旧标签删除等方面的麻烦,也不利于数据的同步。
由上面分析,可见根据ALE标准规范进行设计的中间件,功能齐全,但是并不适合资源受限的嵌入式环境;而基于ALE标准的嵌入式RFID中间件以及依赖于其他应用程序作为依托模块的中间件系统,虽然根据嵌入式环境的特定情况,满足功能需求,但是也引发新的问题,不利于扩展与重构。因此本发明提出了基于轻量级ALE的嵌入式RFID中间件的设计方法:将ALE标准中所规定的各个模块进行裁剪,修改模块间交互与通信的方式,引入数据缓冲池机制以及移动代理模块以提供与后台系统整合与访问的功能。轻量级ALE的嵌入式RFID中间件的设计方案,在研究标准ALE规范的同时,对其进行了必要的裁剪,保留最重要最基本的功能,保持与标准的最大兼容性,引入数据缓冲池模块,使得ALE层与设备管理层保持最大程度的独立性以及透明性。
发明内容
本发明的目的在于解决现有方法的不足,提出了基于轻量级ALE的嵌入式RFID中间件体系结构,通过轻量级ALE模块,实现多事件处理以及用户订阅与处理机制;通过数据缓冲池机制,实现ALE层与设备管理层的无缝连接以及标签信息的分配,解决了模块间耦合度过高的问题,同时提高了系统的可重构性和可扩展性,从而实现了对应用层是透明的。
为了实现发明目的,采用的技术方案如下:
一种基于轻量级ALE的嵌入式RFID中间件,包括轻量级ALE模块、移动代理模块、数据缓冲池模块、中间件配置管理模块以及设备管理模块。所述的轻量级ALE模块向上与应用业务逻辑层连接;所述移动代理模块与后台RFID中间件或RFID应用系统连接,而且提供设备管理的相关功能;所述数据缓冲池模块向下与设备管理层的数据缓冲区连接,向上与ALE模块的数据缓冲区连接;所述的中间件配置管理模块,控制管理整个中间件,并进行相关的配置工作,包括是否使用ALE,数据缓冲池参数设置,RFID设备参数配置等;所述的设备管理模块,抽象硬件,屏蔽不同设备的软硬件差异,提供统一管理与操作接口。
所述轻量级ALE模块设有待处理的数据缓冲区,数据过滤模块、数据分组模块,事件处理模块,报表生成及发送模块,触发器模块,ALE配置模块,统一接口模块。
所述的轻量级ALE模块设计方法如下:
1、与标准ALE规范兼容,包括提供相同任务功能、实现标准中的任务执行规范,与标准中运行机制保持最大程度的兼容性。
1.1、轻量级ALE在执行的结果上,完全兼容官方标准,但是由于嵌入式环境的特殊性,取消了标准中某些具有扩展性的机制,如URI标识与XML信息传递。
1.2、轻量级ALE中提供与标准ALE规范所定义的相同的任务功能,主要有对ECSpec的定义和反定义,对ECSpec任务规范的三种执行模式:subscribe(订阅模式)、poll(投放模式)、immediate(即刻模式),以及对任务执行的控制功能。
1.3、ECSpec任务规范的三种执行模式的执行条件和方法流程,执行原理和边界条件以及所有任务执行的阶段状态均根据标准ALE进行实现。
2、取消标准ALE中各功能模块的URI标识机制,使用一套独立的对象标识来标识功能模块的对象资源,更加合理高效。
标准ALE规范针对的是分布式环境中的应用与嵌入式RFID中间件系统所运行的特殊环境——中间件系统与阅读器硬件资源一体化,两种环境存在巨大差异,故轻量级ALE对此做出修改,取消了标准ALE中的URI标识机制,而使用了阅读器标号标识设备管理实体,报表缓冲池与其对象标识符对应,从而实现了功能模块对象资源的标识,节约URI标识机制解析过程的资源消耗,更合理更高效的标识对象资源。
3、取消标准中使用XML作为信息传播介质的实现,达到减轻设备资源负担、提高软件工作性能的效果。
由于软硬件一体化的运行环境,所以取消标准ALE中分布式环境下的XML作为信息传播机制,减少轻量级ALE对XML文档的生成与解析工作,减少资源消耗;轻量级ALE中以类的对象作为信息传播介质,通过类封装机制,将信息封装在ECSpec和ECReports对象中,并将其作为传播介质来传输信息,提高高效的工作性能。
所述移动代理模块设有网络通信设置与状态监控模块,命令接收与解析模块,命令执行模块,并封装设备管理的功能,使得设备管理层对远程系统透明化。
所述数据缓冲池模块设有订阅管理模块,缓冲区管理模块,数据分发模块,配置模块。
所述中间件配置管理模块设有中间件参数配置,ALE配置管理,数据缓冲池模块配置,设备管理的配置以及网络通信配置。
所述设备管理模块设有抽象设备、设备代理,设备管理核心,发布接口以及设备管理配置模块。
所述中间件设有标签订阅与分发机制,通过数据缓冲池,ALE模块以及外部系统,可订阅来着某些设备的标签数据。数据缓冲池监控和维护设备列表,将设备所读取到的标签数据分发到相应的系统。
本发明所设计的一种基于轻量级ALE的嵌入式RFID中间件方法,其功能特点可以细分为如下几个方面:
1、阅读器“即插即用”:在基于轻量级ALE的嵌入式RFID中间件体系结构中,由于引入了数据缓冲池,使得该结构体系层次清晰,层与层之间是相互透明的。由于轻量级ALE以及移动代理对阅读器的变化是透明的,因此阅读器具有很强的灵活性。对已经订阅阅读器所读取的标签数据的远程系统或者ALE模块,可以灵活轻松的接收数据以及解除订阅。对动态订阅或者移除阅读器,只需将订阅者自身的缓冲区加入数据缓冲池中或者将该缓冲区从数据缓冲池中移除,而不影响嵌入式RFID中间件的其他运作。
2、嵌入式RFID中间件的可重构性:在开发嵌入式RFID应用系统的时候,可通过嵌入式RFID中间件的配置管理模块,设置是否使用其中的某个模块,从而达到满足嵌入式应用系统的需求。
3、标签数据的统一分发:通过数据缓冲池实现数据的订阅与分发,ALE模块与应用系统只需对所要处理的标签进行订阅,并将自身的数据缓冲区加入数据缓冲池中,即可轻松便捷的实现数据的订阅;当订阅的阅读器读取到标签数据,数据缓冲池将统一分发给相对应的订阅者,从而实现统一分发功能。
4、模块独立性高,相对透明化:由于引入数据缓冲池,使得设备管理层与ALE层以及上层应用系统间独立性高,而且设备管理与ALE实现无缝整合,设备管理对ALE层透明化。
5、精简的可嵌入的轻量级ALE,具有标准ALE中的关键的重要功能,保持与标准ALE的最大程度的兼容性。提供事件处理的关键功能,并与标准ALE相容,同时提高轻量级ALE的工作性能。
附图说明
图1为现有RFID中间件的框架示意图;
图2为现有的嵌入式RFID中间件的框架示意图;
图3为基于ALE标准的嵌入式RFID中间件架构示意图;
图4为基于轻量级ALE的嵌入式RFID中间件的总体架构逻辑示意图;
图5为轻量级ALE的模块间交互示意图;
图6为轻量级ALE的事件处理的执行流程图示意图;
图7为数据缓冲池的标签数据订阅与分发示意图;
图8为基于轻量级ALE的嵌入式RFID中间件的系统配置管理示意图;
图9为轻量级ALE中EPC编码流程示意图。
具体实施方式
下面结合附图,对本发明的具体实施做进一步的详细描述。
附图4展示了基于轻量级ALE的RFID中间件的总体架构,该架构包括的模块有设备管理、数据缓冲池、轻量级ALE、移动代理以及中间件配置管理。具体如下:
设备管理模块:屏蔽不同设备的硬件差异,提供设备管理通用接口,包括管理设备、获取设备所读取到的标签数据以及相关的设备参数配置接口。设备管理模块细分为:抽象设备层,设备代理层,设备管理核心,发布接口层以及设备管理配置模块。设备抽象层:对特定阅读器进行抽象,屏蔽不同设备的硬件差异,增加系统的可扩展性、兼容性,提高代码可重用性。设备代理层:统一管理抽象设备,为设备管理核心模块提供统一的访问设备的接口。设备管理核心层:整个设备管理模块的核心部分,实现设备管理所发布的统一接口。发布接口层:对外发布设备管理统一接口,实现设备管理与访问的无差别操作。设备管理配置:提供设备管理的配置功能,包括读写标签时的天线衰减率,读取标签时的标签掩码,并提供无差别的访问接口,供中间件系统配置模块访问与使用。
数据缓冲池模块:该模块包括订阅管理模块、分发管理模块,缓冲区管理模块以及缓冲池配置模块。数据缓冲池中的订阅管理模块:为外部系统订阅某个或者某些设备所读取标签提供访问接口,并能够轻便的订阅与取消订阅。数据缓冲池中的分发管理模块:当数据缓冲池所监听的设备读取到数据时,设备将发出完成读取标签的信号,数据缓冲池接收到该信号之后,采集所读取到的标签数据,并通过分发管理模块分发给订阅者。数据缓冲池中的缓冲区管理模块:维护订阅者所订阅的设备列表与数据缓冲槽,订阅管理模块通过本模块提供的方法,添加或移除相应的数据缓冲槽。数据缓冲池中的缓冲池配置模块:向外提供配置数据缓冲池的方法。数据缓冲槽的整合与数据的订阅分发,数据缓冲池提供通用的订阅分发接口以及相关操作。数据缓冲池是设备管理模块与可嵌入的ALE模块以及建立于设备管理模块之上的应用程序之间的交互模块,使得设备管理模块与ALE模块等能够无缝结合并且更好的更方便的实现嵌入式RFID中间件的重构。通过数据缓冲池的设计,可以轻便的将设备管理与ALE层分离,从而面向移动计算或应用于分布式计算环境中。
精简的轻量级ALE模块:本层提供事件处理的统一接口,保留标准ALE中重要的关键功能,为应用层程序提供事件处理的相关操作,包括事件的定义,处理机制等;用户可以对订阅的数据进行过滤分组的格式以及生成报表的模式的定义,并且用户应用系统可接受中间件系统事件处理之后的报表与分组信息,进而进行后续处理。精简的轻量级ALE模块设有待处理数据缓冲区,用于存储待处理的标签数据;数据过滤与数据分组模块:实现对采集到的标签数据进行过滤与分组操作;事件处理模块,用于ALE层事件循环与事件处理;触发器模块:包括启动与停止触发器,以触发数据采集到报表生成的流程。报表生成模块:对已经过滤分组的标签数据,根据用户制定的生成规则,生成相应的报表。ALE配置模块:提供标签过滤规则配置、报表生成规则配置与订阅者信息配置的功能。ALE模块的统一接口层:对外发布ALE操作的统一的无差别的访问接口。
中间件配置管理模块:本层主要负责对RFID中间件系统进行配置,配置的内容包括设备参数,数据缓冲池信息,是否使用轻量级ALE模块,是否使用移动代理模块等,从而使得嵌入式RFID中间件实现重构性、扩展性。
移动代理模块:移动代理模块提供与传统中间件以及外部应用系统整合的接口,使得嵌入式RFID中间件更好的与传统中间以及远程的外部信息应用系统进行通信。移动代理层的设计与使用,使得整个中间件具有良好的可扩展性。
图5展示了轻量级ALE的模块中各个子模块交互的流程。
首先,嵌入式RFID中间件配置管理模块,通过ALE模块的ALE配置模块,配置ALE模块的业务逻辑。包括标签数据过滤规则、报表生成规则以及订阅者信息的配置。
第二步,触发器模块启动触发功能,启动ALE事件处理周期,采集标签数据。
第三步,通过事件处理模块,将采集到的标签数据送往数据过滤模块,根据用户定义的过滤规则进行标签数据过滤操作。
第四步,标签数据分组模块,将已过滤的标签数据进行分组。
第五步,将分组之后的标签数据,根据用户定义的生成规则生成报表,并停止触发器。
第六步,事件处理模块控制ALE状态继续迁移,进入数据采集状态。
在第五步生成报表后,用户应用系统可通过轻量级ALE的统一接口获取所生成的报表信息。
附图6展示了轻量级ALE的事件处理的执行流程。
初始化,通过中间件配置管理模块,获取配置信息。
第一步,启动轻量级ALE事件处理EventCycle,开始事件处理。
第二步,根据ECSpec中指定阅读器,通过数据缓冲池模块的订阅管理模块,订阅指定阅读器所读取到的标签信息。
第三步,根据中间件配置管理模块获取ALE配置信息,设置设备监听时间周期。
第四步,判断时间周期是否结束,如果尚未结束,则转到第五步。否则转到第七步。
第五步,继续监听设备,等待标签数据的到来。
第六步,读取标签数据,采集所读取到的标签数据,并返回第四步。
第七步,将时间周期中读到的标签和ECSpec等参数送入ECReportGenerator处理,并根据用户指定的报表生成规则进行处理。
第八步,将生成的报表信息送往待处理数据缓冲区的报表缓冲区。
最后,通过数据缓冲池的订阅管理模块,解除订阅。
附图7,展现了数据缓冲池的订阅与分发的流程。数据缓冲池,可应用于多ALE或者多应用系统对一个或者多个阅读器进行订阅,并通过数据缓冲池的数据分发模块将某个设备所读取到的标签信息,分发给订阅者。
首先,ALE的数据监听线程,通过数据缓冲池的订阅管理模块,订阅指定的阅读器。如图所示,ALE数据监听线程0订阅阅读器0与阅读器1的数据;ALE数据监听线程1订阅阅读器1的数据。
接着,数据缓冲池维护设备列表以及管理相关数据缓冲槽。
当相对应的阅读器读取到标签数据时,将发出信号,数据缓冲池接收到该设备信号的通知,对相应设备进行标签数据采集,其后,将采集到的标签数据通过分发管理模块,分发给相应的订阅者。如图,当阅读器0读到标签数据时,数据缓冲池将采集到的标签数据分发给ALE数据监听线程0;当阅读器1读到标签数据时,数据缓冲池则分发给数据监听线程0和数据监听线程2。
ALE数据监听线程可通过数据缓冲池的订阅管理模块,解除对特定阅读器的订阅。
附图8展现了基于轻量级ALE的嵌入式RFID中间件配置管理的处理流程。
初始化,中间件配置管理模块获取中间件配置信息。
第二步,中间件配置管理模块对配置信息进行相应的解析操作。
第三步,判断所要进行配置的类型:
1、当配置信息的类型是ALE业务规则配置时,则通过ALE配置模块进行相应配置。这些配置操作包括标签数据过滤规则配置、报表生成规则配置或订阅者信息配置三种。
2、当配置信息的类型是数据缓冲池配置时,则通过数据缓冲池模块中的缓冲池配置模块进行相应配置。
3、当配置信息的类型是设备管理配置时,则通过设备管理模块中的设备管理配置模块进行相应的配置,这些配置操作包括读取标签时的天线衰减率配置,写入标签信息时的天线衰减率配置,标签掩码配置。
最后,结束配置管理流程。
附图9展现了基于轻量级ALE的嵌入式RFID中间件对采集到的标签数据进行的编码操作,由该示意图可知,本专利所发明的嵌入式RFID中间件,可对以下标签类型进行编码操作,包括:SGTIN-96,SSCC-96,SGLN-96,GRAI-96,GIAI-96,SNPC-96以及Raw标签,共七种类型。