一种用于rfid中间件中设备外挂的方法

文档序号:6336520阅读:340来源:国知局
专利名称:一种用于rfid中间件中设备外挂的方法
技术领域
本发明涉及一种RFID中间件,尤其涉及面向大型RFID应用系统,基于现代计算机的多进程、多线程技术,RFID中间件中对RFID设备外挂进行灵活调度的方法。
背景技术
RFID 中间件(Radio Frequency Identification middleware)是自动识别设备和应用系统之间通信的桥梁,它可以自动识别和收集RFID设备的电子标签数据,广泛地运用于各种物流、制造及重要物品跟踪等领域。RFID设备外挂是RFID中间件中最基础、底层的功能模块,RFID中间件就是通过控制众多的RFID设备外挂,再通过各设备外挂,实现对不同厂家RFID设备的接入。在一个大型的应用环境中,可能有数百台各种型号的RFID设备在同时工作,而 RFID阅读器工作时,它会不停地读取标签,这对于RFID中间件的性能提出了严格的要求。 同时,这也对RFID设备外挂的性能和稳定性提出了严格的要求。随着多核处理器及其硬件体系的日趋成熟,采用多进程和多线程技术来充分挖掘处理器潜力,并提高软件系统的稳定性,正日益成为中间件技术的一种趋势。目前在国内外的许多应用软件中,已经普遍采用多线程的方式来提高数据处理能力。但是在RFID中间件中,尚未出现针对RFID应用领域特点的基于多进程和多线程技术的RFID设备外挂计算装置。中国发明专利申请公开说明书CN1965^1A公开了一种“具有多进程结构的用于运行插件程序代码模块的计算装置”,其具有用于在其自身的专用进程中运行插件程序代码模块的多进程结构,从而使用插件程序设计模型来提高软件安全性和可靠性。该发明是一种通用的多进程软件架构,插件程序必须固定以进程方式运行,无法独立以DLL方式嵌入专用进程中。中国发明专利申请公开说明书CN1427618A公开了一种“基于多进程的多视角视频节目网络转播方法”,通过多进程方式,将网络复合视频信号进行分解播放。与前一专利申请类似,它无法适用于RFID中间件,同时该专利申请中的方法,不适用于Windows和 WinCE操作系统。中国发明专利申请公开说明书CN101373509公开了 “一种基于分布式ALE的RFID 中间件”,采用了分布式资源来并行计算来解决了负载过度问题。该专利申请采取利用多台计算机并行工作来提高系统的负载,并不经济而且没有解决均衡的问题。

发明内容
本发明所要解决的技术问题是提供一种用于RFID中间件中设备外挂的方法,解决大型RFID应用系统中,在多设备同时工作的要求下,响应调度及均衡分配资源的问题。技术方案
一种用于RFID中间件中设备外挂的方法,其特征在于在RFID中间件的主模块内设置
3有对连接的RFID设备进行管理的管理子模块,所述管理子模块采用消息队列机制,即由管理子模块发送指令至多个RFID设备外挂线程的消息队列,根据该指令控制所述多个RFID 设备外挂线程的工作,并返回数据至所述管理子模块的消息队列。进一步,所述管理子模块采用消息队列机制控制多个RFID设备外挂线程的工作的步骤如下
(1)首先在RFID中间件中定义每个RFID设备外挂的运行属性,包括并发模式、运行模式、设备外挂模块信息及相应的设备信息,其中并发模式包括单线程模式、指定数量线程模式、每台RFID设备一个线程模式;运行模式包括独立进程模式、嵌入中间件模式;设备信息包括设备通信模式、设备通信地址、设备轮询设定;
(2)在RFID中间件中,定义设备外挂的公共接口,包括设备外挂初始化接口、设备外挂启停接口、设备扫描接口、标签写入接口 ;
(3)在RFID中间件中,提供嵌入式RFID设备外挂容器和独立进程RFID设备容器;
(4)在RFID中间件的管理子模块中,提供RFID标签数据接收消息队列,用于接收来自于设备外挂的电子标签数据;
(5)在RFID设备外挂中,提供指令接收消息队列,用于接收来自于RFID中间件的设备信息、设备扫描指令和设备写入指令;
(6)RFID中间件启动时,读取每个RFID设备外挂的运行模式信息对于以独立进程模式运行的设备外挂,RFID中间件启动一个新的独立进程RFID设备容器,由独立进程RFID设备容器启动相应的RFID设备外挂;对于以嵌入中间件模式的设备外挂,RFID中间件在中间件主进程内创建一个新的嵌入式RFID设备外挂容器,由该容器启动RFID设备外挂;
(7)RFID中间件由不同的容器启动完成相应的RFID设备外挂之后,向该RFID设备外挂的消息队列发送其并发模式和相关RFID设备信息;
(8)所述RFID设备外挂收到并发模式设定和相关RFID设备信息之后,根据所收到的 RFID设备的数量和并发模式设定信息,自动调整工作线程数量,进入正常工作模式;
(9)RFID设备外挂进程在正常工作模式后,根据RFID中间件发送的标签采集指令,对设备内标签数据进行扫描,并返回相关标签数据到RFID标签数据接收消息队列。所述步骤(1)中,RFID中间件中的RFID设备外挂在物理形态上,是一个动态链接库。所述步骤(3)中,在RFID中间件的进程模型中,提供了两种进程RFID中间件主进程和RFID外挂进程。有益效果
本发明能在大型RFID应用系统中,在多设备同时工作的要求下,充分利用单一计算机的多核特性,提高RFID中间件的处理能力,区别于传统的单进程RFID中间件,采用多进程方式,可以使得各设备外挂得到均衡的调度,避免由于某个RFID设备外挂异常导致整个 RFID中间件崩溃。


图1为本发明实施示例的框图。
具体实施例方式下面结合具体实施例和附图,进一步阐述本发明。本发明的核心思想是利用多进程的设备外挂,充分利用现代计算机硬件的多处理器的能力,同时在每个设备外挂内,根据应用需求,可设置不同的并发模型。由于引入多进程的架构,使得RFID中间件不会由于某个设备外挂崩溃导致整体失效,降低了单点故障的可能性。如附图1所示,依照本发明方法实施的RFID设备外挂装置用于RFID中间件中,主要包括RFID中间件主模块中管理子模块、嵌入式RFID设备外挂容器、RFID设备外挂容器、 RFID外挂指令接收消息队列和RFID外挂设备采集线程池。RFID外挂容器是一个独立进程,它和嵌入式RFID设备外挂容器具有相同的消息队列接口,它们和RFID中间件中管理子模块直接仅仅通过消息队列进行数据和控制指令的交互。在RFID设备外挂启动时,它根据当前应用的设定,根据相关设备的数量,启动一个RFID外挂设备采集线程池,每个线程负责一个或多个RFID设备的扫描/写入操作。当RFID设备外挂采集到标签数据时,它们将数据发送到RFID中间件的标签数据接收的消息队列中,完成标签扫描任务。当需要向电子标签写入数据时,RFID中间件主进程通过向相应设备外挂的消息队列中写入相应控制消息,当RFID设备接收到相应控制消息之后,以设备特定协议,向消息中指定的RFID设备发送标签数据写入/修改指令,并将结果返回至RFID中间件主进程之中,完成标签写入的整个流程。在RFID中间件的进程模型中,存在两种进程RFID中间件主进程和RFID设备外挂进程。RFID中间件主进程负责管理所有的RFID设备外挂进程、向RFID设备外挂发出标签采集指令并接受外挂所采集到的电子标签数据。RFID设备外挂进程则负责完成。RFID 中间件主进程和RFID设备外挂之间,仅仅通过跨进程的消息队列进行通信。在运行时,每个RFID设备外挂,可以以一个独立进程的形式存在,也可以通过 RFID中间件提供的嵌入式RFID外挂容器,嵌入到RFID中间件中运行。当配置成独立进程外挂时,RFID设备外挂作为独立进程存在;当配置成嵌入式外挂时,RFID设备外挂直接嵌入RFID中间件的主进程中。对于RFID设备外挂,它可以有多种并发模型每个设备一个线程、每个外挂一个线程和每个外挂指定数量线程。在最简单的情况下,每个RFID外挂下的所有设备共享一个线程,在系统中有多个 RFID设备的情况下,如果设备访问存在阻塞或延迟等现象,则这种模型将必然由于串行处理而导致性能低下。在RFID中间件设备外挂中,还支持了每个设备一个线程模式和固定数量线程。模式顾名思义,每个设备一个线程模式就是在外挂中为每个RFID设备外挂分配一个处理线程,由于这种方式可能存在资源浪费,因此产生了一个折中模式——固定数量线程,以便于根据实际的运行情况实时调优。本发明能在大型RFID应用系统中,在多设备同时工作的要求下,充分利用单一计算机的多核特性,提高RFID中间件的处理能力,区别于传统的单进程RFID中间件,采用多进程方式,可以使得各设备外挂得到均衡的调度,避免由于某个RFID设备外挂异常导致整个RFID中间件崩溃。在不同类型的应用中,各种RFID设备的数量可能从数台到数百台之间。在本发明中,通过为RFID设备外挂提供灵活的并发模型,使得每个RFID设备外挂均可以根据实际需求,设定不同的并发模型。而且实现了仅仅通过配置的修改,即可实现RFID设备外挂在不同并发模型之间的切换,甚至通过更改配置,可以实现同一个RFID设备外挂,既可以运行在独立进程模式下,也可以作为一个动态链接库模块,嵌入到RFID中间件中。在本发明中所描述的方法,可以在所有具有共享内存的操作系统上工作,包括 Windows、Win CE、Linux 禾口 Unix 系统。
权利要求
1.一种用于RFID中间件中设备外挂的方法,其特征在于在RFID中间件的主模块内设置有对连接的RFID设备进行管理的管理子模块,所述管理子模块采用消息队列机制,即由管理子模块发送指令至多个RFID设备外挂线程的消息队列,根据该指令控制所述多个 RFID设备外挂线程的工作,并返回数据至所述管理子模块的消息队列。
2.如权利要求1所述的用于RFID中间件中设备外挂的方法,其特征在于所述管理子模块采用消息队列机制控制多个RFID设备外挂线程的工作的步骤如下首先在RFID中间件中定义每个RFID设备外挂的运行属性,包括并发模式、运行模式、 设备外挂模块信息及相应的设备信息,其中并发模式包括单线程模式、指定数量线程模式、每台RFID设备一个线程模式;运行模式包括独立进程模式、嵌入中间件模式;设备信息包括设备通信模式、设备通信地址、设备轮询设定;在RFID中间件中,定义设备外挂的公共接口,包括设备外挂初始化接口、设备外挂启停接口、设备扫描接口、标签写入接口 ;在RFID中间件中,提供嵌入式RFID设备外挂容器和独立进程RFID设备容器; 在RFID中间件的管理子模块中,提供RFID标签数据接收消息队列,用于接收来自于设备外挂的电子标签数据;在RFID设备外挂中,提供指令接收消息队列,用于接收来自于RFID中间件的设备信息、设备扫描指令和设备写入指令;RFID中间件启动时,读取每个RFID设备外挂的运行模式信息对于以独立进程模式运行的设备外挂,RFID中间件启动一个新的独立进程RFID设备容器,由独立进程RFID设备容器启动相应的RFID设备外挂;对于以嵌入中间件模式的设备外挂,RFID中间件在中间件主进程内创建一个新的嵌入式RFID设备外挂容器,由该容器启动RFID设备外挂;RFID中间件由不同的容器启动完成相应的RFID设备外挂之后,向该RFID设备外挂的消息队列发送其并发模式和相关RFID设备信息;所述RFID设备外挂收到并发模式设定和相关RFID设备信息之后,根据所收到的RFID 设备的数量和并发模式设定信息,自动调整工作线程数量,进入正常工作模式;RFID设备外挂进程在正常工作模式后,根据RFID中间件发送的标签采集指令,对设备内标签数据进行扫描,并返回相关标签数据到RFID标签数据接收消息队列。
3.如权利要求2所述的用于RFID中间件中设备外挂的方法,其特征在于所述步骤 (1)中,RFID中间件中的RFID设备外挂在物理形态上,是一个动态链接库。
4.如权利要求2所述的用于RFID中间件中设备外挂的方法,其特征在于所述步骤 (3)中,在RFID中间件的进程模型中,提供了两种进程RFID中间件主进程和RFID外挂进程。
全文摘要
本发明涉及一种RFID中间件,属于RFID系统应用领域。一种用于RFID中间件中设备外挂的方法,其特征在于在RFID中间件的主模块内设置有对连接的RFID设备进行管理的管理子模块,所述管理子模块采用消息队列机制,即由管理子模块发送指令至多个RFID设备外挂线程的消息队列,根据该指令控制所述多个RFID设备外挂线程的工作,并返回数据至所述管理子模块的消息队列。本发明能在大型RFID应用系统中,在多设备同时工作的要求下,采用多进程方式,可以使得各设备外挂得到均衡的调度,提高RFID中间件的处理能力,避免由于某个RFID设备外挂异常导致整个RFID中间件崩溃。
文档编号G06F9/46GK102479102SQ201010554780
公开日2012年5月30日 申请日期2010年11月23日 优先权日2010年11月23日
发明者崔中发, 李尚春, 李淞, 覃明贵, 陈圣煜, 陈松 申请人:上海宝信软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1