物联网RFID中间件中事件提取的研究与实现

时间:2022-07-02 05:49:46

物联网RFID中间件中事件提取的研究与实现

摘 要:针对传统的物联网rfid中间件以数据处理为核心不能为上层运用提供事件消息,无法运用到实时信息系统的缺陷。建立一套事件提取机制,供上层运用注册价值事件,在中间件中检测事件,生成事件并以异步模式传递事件消息。建立事件记录树,实现事件的检测和生成。减少上层运用的运行开销,扩展传统物联网RFID中间件的运用领域。

关键词:RFID中间件;事件提取机制;事件记录树

中图分类号:TP368.1;TP391.44

物联网RFID中间件是运行在用户程序和底层感知设备之间的独立程序,它为用户程序提供屏蔽底层硬件差异的标准数据服务。对数据流的处理是中间件的核心业务,数据采集、过滤、存储等过程贯穿着整个运行周期。在物联网系统中部署中间件能极大简化物联网系统的设计与研发,节省工程成本。

物联网日新月异的发展,催生了许多RFID中间件产品。目前的中间件产品大多是基于数据服务的,上层运用必须基于数据服务的反馈结果做分析得出现实事件再做进一步的处理。随着物联网技术的广泛应用,这种方式已经不能很好满足各类上层运用,例如:门禁系统中,异常标签的出现很可能意味着一个不速之客的到来。类似的情况要求物联网RFID中间件能够具备从原始数据中分析提取事件并上传的能力。

近年来,国内外有很多学者已经意识到现有的RFID中间件无法提取事件信息的缺陷,开始研究基于事件处理的物联网RFID中间。文献[1]提出并实现了一个事件驱动的中间件平台,将中间件分为基层和元层,在元层实现事件驱动。但这样无法从上层运用的层面去认知和定义事件。文献[2]在RFID中间件中设计实现了一种复杂事件处理模型,提出了一种基于CEP技术的自适应规则模型,但误报的事件可能会严重阻塞上层运用程序的执行流。本文在传统的RFID中间件基础上,建立了事件提取模型,设计实现了事件的侦听注册,生成,检测与发送。构成了一整套的事件提取机制。

1 事件提取模型的建立

事件从产生、检测到回送需要经历复杂的过程。事件提取机制接受用户的事件描述,生成事件标识,检测并回报事件消息。整个机制的模型如图1所示:

图1 事件提取机制模型图

上层运用提供基于SQL标准语句的事件描述。中间件完成事件描述的记录,约定中间件与上层运用间的事件标识(Event Identifier简称“EI”),维护上层运用与中间件之间的链接。每个链接都有一个链接标识(Link Identifier简称“LI”),将EI与LI对应,事件检测引擎就能基于中间件数据库中的基本数据提取出价值事件。最终通过LI回送给上层定制事件消息的运用。

2 相关数据结构的定义

2.1 基本数据结构

(1)在事件侦听注册与生成过程中,需要记录LI和每个LI上需要提取的事件EI。建立一个邻接表记录上述信息。如图2:

图2 LI与EI联系数据结构

(2)事件检测引擎运行过程中,需要将提取出的事件和传送的链接对应起来,放入到一个队列中。事件发送功能将队列中所有已产生的事件发送到对应的链接上。该队列的形式如图3:

图3 事件发送队列

(3)每个EI是唯一的,为避免后期注册时反馈回重复的EI。在每次约定EI时,都应该有专门的数据结构记录已存在的EI。后期约定的EI都应当跟该结构内的EI记录对比并保持不同。采用顺序容器实现此项需求。如图4:

图4 EI存储容器

2.2 建立事件记录树

事件检测引擎实现事件的检测需要依据事件描述。事件检测时都需要一个树形结构来动态维持上层运用,事件描述,事件标识的关联。采用高度为3的事件记录树(Event Record Tree,简称ER-Tree)来建立并维持这种关联。如下图所示:

图5 事件记录树

每个上层运用的事件描述树的根节点记录连接标识。第一层主要完成事件描述的记录,是整棵树的核心信息。叶子节点记录着对应事件的事件标识。

3 事件提取服务的实现

基于中间件采集的原始数据在实现事件提取服务。本文提出的事件提取机制由侦听注册、生成、检测、发送四大功能组成,提出采用多线程的思想实现。事件消息的传递应当安全可靠,对于每一个上层运用,事件提取服务都维持一条TCP/IP链接,这条链接使用LI标识。对于每一个事件,事件提取服务都需要依据事件描述开辟一个新线程,新线程基于中间件中的基本数据依据事件描述树检测事件的发生并将事件消息传入发送队列。

整个服务功能的实现还需要三个基本线程:

(1)主线程,侦测上层运用对价值事件的注册,和事件生成线程一起完成EI和LI的登记注册,维护好与上层运用的连接;

(2)事件生成线程主要为事件检测引擎生成事件记录树;

(3)事件发送线程,不断发送事件信息到相应链接上。整个事件提取服务的实现如下图:

图6 事件提取服务实现

4 基于HOPE-MFIOT物联网中间件的测试与验证

为验证本文实现的基于物联网RFID中间件的事件提取机制,在HOPE-MFIOT中间件的服务器端开发,上述的事件提取服务。在windows7.0平台上编写测试程序,测试程序中提交事件描述:IF EXISTS(SELECT * FROM EPC _DATA WHERE EPC=‘101001011’),该描述的事件意义为:号码为101001011的标签出现。实现中,用建立链接时的SOCKET标识LI,用EVENT_N(N为随机整数)字符串表示EI。提交事件描述之后,将号码为101001011的标签,放入读写器的识别区。测试结果如下图:

图7 测试图

在识别区内,HOPE-MFIOT中间件中采集到了目标标签数据。侦测到了事件并发回给了测试程序。测试程序显示了事件标识字符串。由此,验证本文设计实现的事件提取机制是合理可行的。

5 结束语

本文在传统的以数据为中心的RFID中间件上,提出并实现了一种事件提取机制。基于HOPE-MFIOT物联网中间件产品,进行了具体实现和测试。事件提取机制,将繁重的基于数据的事件处理转移至中间件中,减轻了上层运用的负担,扩展了物联网RFID中间件的运用领域。如何简化事件描述,提取更加复杂的事件,将是后期进一步探讨的问题。

参考文献:

[1]贺建立,陈榕,顾伟楠.一个事件驱动的中间件平台[J].计算机科学,2010(05):107-111.

[2龚华明,阴躲芬.FRID中间件复杂事件处理模型[J].计算机与现代化,2013(09):232-235.

[3]董丽峰.RFID中间件技术在物联网中的应用及研究[J].信息科学,2012(07):73-74.

[4]柏杨.基于复杂事件处理技术的RFID的RFID中间件研究与设计[D].电子科技大学,2011.

[5]James Chamberlain,Corinne Blanchard,et.IBM WebSphere RFID Handbook:A Solution Guide.IBM,2006.

作者简介:范立军(1975-),男,宁夏石嘴山人,副总经理,工程师,研究方向:物联网技术;王华(1989-),男,湖北宜昌人,嵌入式系统设计师,工学硕士,研究方向:嵌入式系统;刘丽伟(1993-),女,河北唐山人,管理学学士,研究方向:信息管理与信息系统。

作者单位:宁夏希望信息产业有限公司,银川 750000;北方民族大学,银川 750021

基金项目:2012年国家物联网发展专项资金项目(项目编号:工信部科[2012]583号)。

上一篇:数字城市网络支撑环境建设设计 下一篇:一、二维农产品追溯条码的比较研究