一种rfid设备网络环境下的分布式复杂事件检测系统的制作方法

文档序号:7902551阅读:175来源:国知局
专利名称:一种rfid设备网络环境下的分布式复杂事件检测系统的制作方法
技术领域
本实用新型涉及一种针对RFID应用的复合事件检测系统,更具体地说是在分布 式的RFID设备网络环境下对RFID数据进行复合事件的实现。
背景技术
射频识别(Radio Frequency Identification ;简称RFID)是一种非接触式自动 识别技术。二十世纪七十年代到二十世纪八十年代,美国政府通过LosAlamos科学实验室 等将RFID技术大规模地转为民用,并大量应用于动物的跟踪与管理上。二十世纪九十年代 以来,RFID设备的体积也越来越小,成本也越来越低,RFID的应用扩展到了物流、供应链、 零售业、食品、医药以及交通运输等诸多领域。RFID设备网络与IP网络的结合,将实现全球 的“实物互联”的物联网。然而,RFID数据只是一种低级的基础数据,从业务的角度看这些数据本身是有含 义的,它们出现的时间次序、空间位置也是有含义的。这样的基础数据必须上升为高级的 业务逻辑数据,与现有的应用集成才能真正地发挥作用。复杂事件处理(Complex Event Processing)技术是90年代中期由斯坦福大学的David Luckham教授所提出的一种新兴 的基于事件流的技术,它将系统数据看作不同类型的事件,通过分析事件间的关系如成员 关系、时间关系以及因果关系,包含关系等,建立不同的事件关系序列库,即规则库,利用过 滤、关联、聚合等技术,最终由简单事件产生高级事件或商业流程业务逻辑数据。在国内,由于RFID技术进入的时间比较短,各方面的工作还不完善,与国际相比 还存在比较明显的差距。在学术界,中科院自动化所开发了 RFID公共服务体系基础架构 软件和血液、食品、药品可追溯的管理中间件,华中科技大学开发了支持多通信平台的RFID 产品Smarti,上海交通大学开发了面向商业物流的数据管理与集成的RFID平台。然而,这 些软件系统都没有高级事件处理的功能。东方励格公司的LYNK0-ALE RFID软件价格平台可 以加工和处理来自识读器的所有信息和事件流,不过有关处理只是简单的标签数据过滤、 分组、计数、防错读和漏读等,而完全没有更高层次的复合事件处理。清华同方的RFID处 理软件是一种基于J2EE平台的中间件平台,它可以整合企业应用和商业伙伴的RFID和传 感器数据,然而它只具备了硬件管理和基本事件数据过滤和传输的功能,并没有分层和复 合事件处理的机制。在国外,很多大型的IT厂商都推出了本公司自己的RFID架构平台,其中代表性 的产品有 Sun EPC Network, SAP Auto-ID Infrastructure, Oracle SensorEdge Server, IBM WebSphere RFID Premises, Sybase RFID 解决方案以及 UCLA 的 WinRFID 中间件,这些 应用架构都提供从RFID识读器获取数据的接口,然后通过简单的处理把这些数据传送给 其它的信息系统。从事件处理的角度看,这些RFID系统所使用的说明性的处理规则是有限 的,如只能表达要过滤RFID原子事件以及事件之间的简单组合,并且它们不支持复合事件 在分布式环境下的检测。而且目前Master/Worker模式算法的应用极为广泛,如《master/worker模式的并
3行关联规则挖掘算法》为分布式RFID复合事件检测方案提供了技术实现可能。 发明内容本实用新型是为了克服现有RFID技术存在的缺陷和不足之处,在分布式环境下, 为RFID应用系统提供具有事件过滤、复合事件检测和事件聚合功能的事件处理方法及其 相应的软件系统。本系统支持分布式网络环境(局域网和无线局域网)以及在VMware环 境中构建的虚拟分布式环境上的RFID复合事件检测。系统支持多种事件操作符,以及事件 操作符和事件类型之间的多种组合使用,能够在分布式的RFID设备网络环境下检测复合 事件。一种RFID设备网络环境下的分布式复杂事件检测系统,其特征在于包括服务器 端和客户端、RFID识读器和能够被识读器识别的标签;所述服务器端包括用户输入管理单元,用于接收用户输入的分布式RFID复合事件表达式;事件解析单元,用于解析用户输入的事件表达式,将事件表达式分解成可以存储 到事件队列中的子表达式;任务队列生成单元,用于向共享事件队列中输入事件表达式并生成最终的复合事 件队列;检测任务共享单元,此单元是一个网络共享容器,用于将复合事件队列在网络中 共享使用,以保证任何可以连接到服务器的客户端都可以自由使用共享队列中的数据,以 获得相应的检测任务;任务监控单元,用于实时监视事件队列中复合事件的完成状态,并将复合事件的 检测结果返回给用户;所述客户端包括任务获取单元,用于从检测任务共享单元获取可以被独立检测的复合事件表达 式,即子任务,并将获取的目标传送给任务解析单元;任务解析单元,用于把从服务器中获取的事件表达式解析成可以用来检测事件流 的数据结构,解析出其中的复合事件约束条件表达式和相应的主题复合事件表达式;事件发生单元,由RFID识读器和能够被识读器识别的标签组成的工作的那样,用 于通过远端RFID识读器通过射频识别技术获取能够被识读器识别的标签内存储的识别信 息,即获取系统的基本事件流;事件过滤单元,用于过滤事件流中不合法的数据,并将合法数据传送到任务处理 单元,另外它还具有接收从RFID识读器发送到客户机的数据的功能;任务处理单元,用于利用任务解析单元形成的数据结构检测发生的事件实例是否 满足复合事件模式,并将结果传送到任务输出单元;任务输出单元,用于将检测结果输出到本地数据库,并改变所共享的事件队列中 相应事件项的事件状态,之后通知服务器端其检测的事件状态已经发生变化;该系统首先启动服务器端,用户结合分布式复合事件表达式的语法与用户自身的 功能需求,通过所述的用户输入管理单元向系统中输入复合事件表达式;当系统接收到用 户输入的表达式后,把事件表达式传送到所述的事件解析单元,在此单元对事件进行解析,来判断表达式是否合法如果表达式不合法,事件解析单元会提示用户输入有语法错误,要 求用户改正;表达式合法时,系统会采用所述的任务队列生成单元把解析结果存储到检测 任务共享单元中去;并在所述的任务监视单元实时检查任务的完成状态,然后把复合事件 的检测结果报告给用户;客户端采取所述的任务获取单元从检测任务共享单元的共享队列 中取出任务,对此任务采用所述的任务解析单元进行解析,之后把解析结果存储到本地数 据库和主机系统,RFID识读器和能够被识读器识别的标签负责产生数据,供RFID复合检 测系统消费。所述用户输入管理单元还进行组建事件检测任务,判断此表达式是否满足RFID 复合事件构造符规则以及分布式规则。所述的事件解析单元能够根据自定义的规约说明文件和解析文件来判断输入表 达式的正确性,并可以把分布式复合事件表达式分解成多个可以被独立检测的复合事件表 达式。检测任务共享单元能够使共享队列中所共享的数据可以被网络中的其它客户端 自由调用,并且它将调用结果保存在共享队列中,供任务监控单元实时监控。同现有技术相比本实用新型的优点是显而易见的,具体为(1)支持分布式环境。本实用新型可以在模拟的分布式环境(如=VMware)和真实 的分布式环境(局域网和广域网)中进行复合事件的检测。本系统区别于集中式复合事件 检测方法,相比集中式复合事件的检测方法需要使用到的大量网络带宽、苛刻的使用环境、 较差的灵活性与可用性,本实用新型所述的分布式复合事件检测方法只需要较小的用户带 宽,而且客户机的部署也是非常灵活多变,大大降低了对设备的要求。(2)支持多种事件构造符。按照RFID领域研究的最新成果和最新理论,RFID系 统中的事件表达式包含有多种类型的复合事件构造符和简单事件,如AND、OR、SEQ、TSEQ、 TSEQ+、SEQ+以及NOT操作符号,本实用新型完全支持以上事件构造符和事件构造符之间的 相互组合,组合方式可以由用户随意定制,用户只需按照规格说明书的要求书写正确的复 合事件表达式,系统就能够按照用户的要求启动事件处理引擎和与之相关的设备进行复合 事件检测,并将检测结果反馈给系统用户。(3)支持非自发事件。本实用新型通过使用NOT操作符与其它操作符之间附带相 应的时间约束的关联关系,对非自发事件进行复合事件检测,其中TSEQ+和SEQ+操作符本身 也附带有非自发事件,本原型系统对这两种非自发事件有良好的支持效果,并且这些非自 发事件还可以继续与其它的事件操作符复合成更复杂的复合事件。⑷支持聚合事件。本实用新型支持SUM、COUNT、AVG、MAX、MIN等常见的事件聚合操作。

图1是本实用新型用于RFID复合事件检测系统的结构示意图;图2是本实用新型用于RFID复合事件检测系统的工作流程图;图3是本实用新型用于RFID复合事件检测系统的实施装置流程图。
具体实施方式
本实用新型的复合事件检测系统和方法是在地域分布部署的RFID读写设备、携带RFID标签的移动目标和固定网络所构成的RFID网络的基础之上,由运行在本地服务器 上的复合事件监控程序、运行在远端客户机上检测程序及其RFID原始数据流所组成的一 种Master/Worker模式的分布式RFID复合事件检测方案。在物理结构上,该系统可以分为 四个部分,即后台主机(服务器)、客户机(用户事件检测)、识读器(获取原始数据)和 标签(提供原始数据)。主机和客户机之间可以通过串行电缆、RJ45网口、蓝牙、USB接口 或COM接口等连接,客户机和识读器之间也可以采用多种连接方式,最常用的方式是通过 COM接口连接,而识读器和标签之间则是通过无线射频信号进行信息交互。后台主机负责 整个任务的调配和监控工作,客户机运行复合事件检测程序,它可以通过TCP/IP协议中的 Socket协议或HTTP协议下的通信端口实现与后台主机之间的通信。图1给出了本实用新型的结构示意图,包括用户输入管理单元201,用于获取 用户输入的事件表达式,由ReceiveExpression、TcpCommunicate类组成;事件解析单元 202,用于解析用户输入的事件表达式,将事件表达式分解成可以存储到事件队列中的子 表达式;任务队列生成单元203,用于向共享事件队列中输入事件表达式并生成最终的事 件检SllJ 队歹[J,其主要由 WorkQueue> WorkItemManager> WorkListenerImp> WorkItemlmp> WorkImp, WorkEventImp组成,它们实现了相应的事件管理接口 Work、WorkEvent, WorkItem、WorkListener,并把获得的实例填充到WorkQueue中;任务监控单元204,主 要用于对子任务的监控,观察各个任务的状态变化,以便及时上报给系统用户,它主要使 用WorkItemManager中的waitForAll方法执行此功能;检测任务共享单元205,用于在 网络中共享复合事件队列,由Terracotta服务器负责管理,它需要装配(instrument) 上文提到的所有的事件管理端口以及事件队列LinkedBlockingQueue ;任务获取单元 206,主要用于获取共享事件队列中的子任务,由客户端的Worker,BlockingQueue, Work、workListener、WorkEvent> Workltem、WorkQueue 类组成;任务解析单元 207,用 于解析从主机端获取的事件表达式,解析出其中的复合事件约束条件表达式和相应的主 题复合事件表达式,由 FilterEPL2AstLexer、FilterEPL2AstParser> CreateRuleFile^ CompParserLexer、CompParserParser、ConstructEventGraph、Constructors、BranchNode、 BranchSeqNode、BranchSeqPlusNode、BranchTseqNode、BranchTseqPlusNode、LeafNode、 Node类组成;任务处理单元208,用于接收事件实例,并按照事件图处理事件实例, 由 Process、ProcessAndNode>ProcessNotNode> ProcessOrNode、ProcessSeqNode、 ProcessSeqPlusNode > ProcessTseqNode > ProcessTseqPlusNode > ActiveParentNode 类组 成,处理非自发事件由Pseudo、pseud0pr0cess类管理;事件过滤单元209,用作过滤非法事 件,将合法数据传送给事件处理程序,由WalkThroughExpression、TranlateOperatorType 这两个类完成;事件发生单元210,用来产生基本事件,即识读器的一个观测值;任务输出 单元211,用来将复合事件处理的结果发送到本地数据库和远程主机。另外,用户输入管理 单元还进行组建事件检测任务,判断此表达式是否满足RFID复合事件构造符规则以及分 布式规则;事件解析单元能够根据自定义的规约说明文件和解析文件来判断输入表达式的 正确性,并可以把分布式复合事件表达式分解成多个可以被独立检测的复合事件表达式; 检测任务共享单元能够使共享队列中所共享的数据可以被网络中的其它客户端自由调用, 并且它将调用结果保存在共享队列中,供任务监控单元实时监控。结合图2说明本实用新型用于RFID复合事件检测系统的工作流程。[0037](1)用户根据运行在后台主机即服务器端上的用户图形界面构造分布式复合事件 表达式(步骤S101);(2)系统将接收到的复合事件表达式按照分布式事件书写规则,对事件进行分解 处理(步骤S102);(3)系统把分解后的子复合事件表达式,封装成一个小的待处理的事件检测子任 务,并将此事件项目存储到事件队列中(步骤S103);(4)当系统将所有子复合事件都封装在事件队列中后,系统启动事件共享服务器 容器Terracotta,把事件队列放入共享容器中,只要能连接到此容器的计算机都能够轻易 地访问共享队列(步骤S104);(5)后台主机将实时监控工作队列中各个任务发生的状态变化,当所有任务都完 成后,任务监视单元将把事件检测任务的完成结果发送给系统用户(步骤S105);(6)客户端连接到后台主机后,将获取事件共享队列中的事件项目,并将项目分解 成可检测的事件表达式、接收端口以及事件状态(步骤S106);(7)在客户端运行的检测程序解析所获得的事件表达式,把事件表达式分解成两 部分,约束事件表达式和主题事件表达式(步骤S107);(8)客户端应用程序根据预先定义的事件类型和事件构造符,构建事件实例检测 图和过滤事件的规则,并实时监控原始事件的发生状况(步骤S108);(9)通过RFID识读器利用射频信号识别能够被识读器识别的标签信息,读取其中 所包含的数据,然后发送到客户端检测程序,供事件检测程序消费(步骤S109);(10)客户端接收RFID识读器传送过来的标签数据,并将标签数据转换为Java对 象,由事件过滤器分辨这些Java对象,并过滤这些数据,把合法的标签数据发送给客户端 检测程序,摒弃不合法的标签数据(步骤S110);(11)客户机检测程序接收合法的标签数据,按照事件图构造符结构以及发生的历 史事件来判断复合事件的实例是否发生(步骤sill);(12)当事件检测程序检测到复合事件实例发生时,会把此实例发送到本地数据库 和后台主机(步骤S112);(13)如果主机监控到所有子任务都已经完成,会把收集到的所有事件实例反馈到 事件发送端,等待程序的进一步处理(步骤Sl 13);(14)事件反馈程序将检测到的分布式事件实例通过TCP/IP协议中的Socket套接 字发送给终端用户,完成整个事件处理程序(步骤Sl 14)。图3给出了本实用新型实施装置的流程图。该装置从主体上可以分为客户机、后 台主机和识读器三部分,其中后台主机运行分布式复合事件监控程序,客户机运行单一复 合事件检测程序,两者之间通过网线连接在同一个局域网上,采用TCP/IP协议或HTTP协议 进行通讯。客户端和识读器之间采用COM串行口进行通讯,识读器通过无线射频信号获取 标签数据,然后通过串行口传送到客户机,最终传送到后台主机。为了方便表达,图3中的判断条件都简写成标识符,其中Xl表示“用户输入的复合 事件表达式是否正确”,X2表示“共享队列中的所有子任务是否全部完成”,X3表示“识读器 是否获得了合法的标签数据”。如图3所示,本实用新型装置的具体步骤为(1)系统用户输入事件表达式,首先需要判定事件表达式的正确性,如果输入的是非法的事件表达式(即Xl的值为F),系统将忽略此事件表达式,当检测程序确认输入的事 件表达式无误后(即Xl的值为T),即把分布式复合事件表达式分解成可以被独立检测的子 复合事件表达式集合后,会将这些表达式存储在一个事件队列中。(2)启动事件共享服务器Terracotta,把事件队列以及与之相关的类装配成可移 植的类对象,植入到共享服务器Terracotta的容器中,使复合事件队列具有可共享性,客 户机相应的配套程序只要能够连接到共享服务器,就能够自由地使用共享队列中的项,并 自动获取对共享队列中的对象的读写权限,可以自由地变更获取对象的某个属性值,以及 使用对象中的方法。(3)客户端通过Socket套接字获取共享队列中的复合事件任务项,并解析出任务 项的复合事件表达式、事件接收端口及复合事件当前的检测状态。(4)通过解析事件表达式获取表达式中的事件构造符、事件类型以及约束条件。其 中使用事件构造符和事件类型来构建事件检测图,使用约束条件构建Rete算法所使用的 过滤规则。(5)当识读器获得标签数据后,将此数据传送到事件过滤器,事件过滤器按照过滤 规则检测标签数据的合法性,如果标签数据不合法(即X3的值为F),过滤器将舍弃此标签 数据,如果标签数据合法(即X3的值为T),事件过滤器将此标签数据传送到复合事件处理
ο(6)复合事件处理器按照事件图、相关的时间约束及历史标签数据,来判断使用当 前标签数据能否完成检测复合事件实例,如果不能够完成,将继续监控事件流序列,如果能 够完成此次复合事件的检测,将把检测结果存储到本地数据库并改变共享事件队列中事件 项的检测状态。(7)后台主机实时监控共享事件队列中的复合事件项的状态,当任务没有完成时 (即X2的值为F),将继续监控共享事件队列,当共享事件队列中的所有任务都完成后(即 X2的值为T),监控模块将把事件实例发生的结果做进一步处理。(8)当监控模块上报的所有任务都已经完成后,主机将把检测结果存储到主机数 据库,并通知终端用户此次事件检测已经完成,将最终结果显示到用户界面。[第一实施方式]本实用新型的第一优选实施例是以配备RFID系统的超市检测偷窃事件为例。这 个超市里每个商品上都隐藏有一个不易发现的RFID标签。由于标签的ID号是唯一的,顾 客从货架上取走某商品时,货架上的识读器会检测到这个简单事件,这时该商品处于等待 付款的状态;当客户进行付款时,付款柜台处的识读器再次检测到该商品,付款成功后商品 处于已付款状态;当客户携带该商品离开超市出口时,出口处的识读器会读取该商品ID, 确认商品是否已付款,商品状态修改为“带出超市”。偷窃事故在逻辑上可以看作是一个包 含三个简单事件的复合事件,前两个事件为“识读器readerl检测到有一些商品从货架上 被取出”,“识读器readerf检测到有一些商品被带出超市”,第三个简单事件为“商品没有 完成付款”,如果这三个事件不是顺序发生,对系统来说没有必要考虑是否是偷窃例如,如 果“商品已经付款”然后“商品被带出超市”,系统将不关心“商品被带出超市”这一简单事 件。只有当这三个简单事件按照一定的时态顺序发生时,系统才会报告偷窃事故的发生。把上述物理事件转换成逻辑事件为[0064]El = “从货架上取出商品”;E2 = “商品被带出超市”;E3 = “商品完成付款”,即客户经过付款处,并且付款处的RFID识读器读取到附带 在商品上的标签数据。偷窃事件使用本系统可以表示为一下的复合事件表达式E (偷窃)=SEQ (SEQ (El ;E2) ;NOT (E3)) where [El. tagid = Ε2· tagid]按照本实用新型所述的RFID复合事件检测方法,其检测步骤如下1、客户1从货架上取出一件上衣,即发生了 El事件类型的事件实例,由于此事件 类型包含于一个约束条件El. tagid = E2. tagid之中,此时并没有发生E2事件类型的事件 实例,El的这个实例将停留在过滤事件层,而不能到达事件处理层。2、客户1将上衣带到付款处,并向收银员付款,即发生了 E3事件类型的事件实例。 E3的事件实例将存储进E3事件类型的事件实例队列中,等待进一步的事件处理。3、客户1带着上衣离开超市。此时发生E2类型的事件实例,由于在事件实例过滤 层存在El事件类型的事件实例并且满足复合事件中存在的约束条件,El和E2类型的事件 实例将被分发到事件处理系统的相应的事件实例队列中,并触发查询整个复合事件能否发 生,由于在E3类型的事件实例队列中存在“客户已经付款的记录”,并且在复合事件中E3是 非自发的事件。因此,此次复合事件检测失败,即没有发生偷窃事件。系统将删除掉这些不 满足条件的事件实例,等待发生下一个复合事件的事件实例。4、当客户2从商品货架上取出一包香烟,并将此包香烟带出超市而没有经过收银 台时,事件处理系统将把El的事件实例和E2的事件实例存储到El和E2类型的节点的事 件实例队列中,此时系统检测E3类型的事件队列中是否存在相应的事件实例。由于在E3 的事件队列中不存在事件实例,即发生复合事件(E偷窃)的事件实例。5、处理系统向与之相连接的硬件控制系统发出警报信息,通知相关人员根据相关 的处理条例进行相应的处理。[第二实施方式]本实用新型的第二优选实施例是以获取在某个时间间隔内通过仓库入口处货物 的数量为例。在仓库管理的过程中,管理员通常需要查询在某个固定的时间间隔内通过多 个入口处的商品总数。假设有一个仓库有两个货物入口,readerl和readerf分别是安装 在仓库两个入口处的识读器。系统定义由readerl读取到的事件数据表示El事件类型的 事件实例,由readerf读取到的事件数据表示E2事件类型的事件实例。仓库管理员需要查 询在10分钟内仓库的进货数量。根据本系统定义的复合事件构造方法,所需要检测的复合 事件可以表达为E(商品数量)=SEQPLUS(OR(El, E2),IOmin)。按照本实用新型所述的RFID复合事件检测方法,其检测步骤如下1、当readerl读取到一个标签数据时,即存在一个货物经过入口处1进入仓库,发 生了 El类型的事件实例。由于El事件类型的事件实例的父节点为0R,因此系统发生此子 复合事件的实例发生,并且在事件处理程序内部其事件实例数量得到相应的增长。2、当reader〗读取到一个标签事件数据时,其处理情况和readerl读取到一个标 签数据情况处理方式类似。[0081]3、按照这种处理方式依次处理发生在这两个入口处的读取事件,在10分钟之后 系统管理员将获得一份包含事件数量的复合事件实例报告。[第三实施方式]本实用新型的第三优选实施例以三个简单的RFID复合事件表达式所形成的检测 任务为例,具体说明在RFID设备网络环境下对复合事件的分布式检测。共享事件队列中的复合事件表达式为
权利要求1. 一种RFID设备网络环境下的分布式复杂事件检测系统,其特征在于该系统包括后 台主机即服务器端,客户机即客户端,RFID识读器和能够被识读器识别的标签;所述主机和客户机之间通过串行电缆、RJ45网口、蓝牙、USB接口或COM接口相连接连 接;客户机和RFID识读器之间采用COM接口连接;所述RFID识读器和能够被识读器识别的 标签之间则通过无线射频信号进行信息交互。
专利摘要本实用新型公开了一种RFID设备网络环境下的分布式复杂事件检测系统,包括服务器端和客户端、RFID识读器和能够被识读器识别的标签;所述服务器端包括用户输入管理单元,事件解析单元,任务队列生成单元,检测任务共享单元和任务监控单元;所述客户端包括任务获取单元,任务解析单元,事件发生单元,事件过滤单元,任务处理单元和任务输出单元;通过事件过滤、复合事件检测和事件聚合功能的事件处理,以实现RFID设备网络环境下检测复合事件检测。该系统支持分布式环境、支持多种事件构造符、支持非自发事件以及支持聚合事。
文档编号H04L12/26GK201893796SQ20102022848
公开日2011年7月6日 申请日期2010年6月18日 优先权日2010年6月18日
发明者周兴强, 孙向伟, 宋英杰, 杜振军, 杨红, 牛丽娟, 邓武, 陈荣 申请人:大连海事大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1