事件驱动、面向服务的物联网服务提供系统及其工作方法
【专利摘要】一种事件驱动、面向服务的物联网服务提供系统及其工作方法,该系统由物联网业务系统、接入代理、基于发布/订阅机制的统一消息分发网络、复杂事件处理引擎、资源描述模型库和传感器系统多个部件所组成。本发明解决了目前物联网服务提供系统不能对大规模感知信息进行分布式处理,以及无法针对物理世界的事件,使得不同的企业业务流程实现跨业务域、跨组织的有效协调等难题,该系统在一个开放、分布式计算环境中有效分发感知信息,便捷地支持各种感知信息在不同的物联网异构服务系统之间按需分发,实现事件驱动的跨业务域、跨组织的服务动态协同,从而实现时间、空间和控制流解耦合的网络服务提供,灵活、动态、实时地对物理世界的变化做出快速响应。
【专利说明】事件驱动、面向服务的物联网服务提供系统及其工作方法
【技术领域】
[0001]本发明涉及一种物联网IOT (Internet of Things)服务的提供技术,确切地说,涉及一种事件驱动、面向服务的物联网服务提供系统及其工作方法,属于物联网【技术领域】。
【背景技术】
[0002]随着嵌入式计算和新型传感技术的高速发展,信息与通信技术的目标已经从任何时间、任何地点连接任何人实现通信的阶段,发展到目前已经能够实现任何时间、任何地点的任何人实现与位于任何场合的物品相连接、完成交互通信的阶段。人们希望将计算设施形成的虚拟世界和现实的物理世界更加紧密地相互联系在一起,使计算设备能够无缝地融入到人们的工作与生活中,通过实时感知物理世界并进行动态交互,从而提供更加智慧的普适服务。
[0003]在这个背景下,物联网技术应运而生。大量的物理实体相互连接并集成到信息空间中,通过网络实现信息的交互和消费。由于问题域的变化,与现有的网络通信或计算机服务提供模式相比较,物联网的服务提供呈现出一些新的特点。具体而言,现有的服务(如电信服务或者互联网应用)主要解决“人-机”和“机-机”的交互,也就是说,现有的服务主要是面向一个二元问题域,即用户域和信息空间域。
[0004]然而,物联网服务还需要解决与物理世界的无缝集成和动态交互。因此,物联网服务的实质是面临一个“用户、信息空间和物理空间”的三元问题域;可以看出:物联网服务系统的边界发生了很大的变化。物联网服务系统常常需要集成多个分布式的企业应用系统,形成一个大规模的复杂服务系统来协作处理,从而实现设定的业务目标。当物理世界发生了感兴趣的事件,物联网服务系统需要快速地跨业务域、甚至跨组织地对人工、软件服务和物理实体进行协调。由于所涉及的软件服务、业务流程、人员和物理实体不仅类型多样,而且还在持续不断地演进与发展,物联网服务系统呈现出高度动态变化的特征。因此,物联网服务系统面临着如何实现大量异构服务和企业业务的流程,以及如何与物理实体进行有效协同来适应动态变化环境的挑战。
[0005]目前,物联网服务提供技术引起了越来越多的重视和关注,已有大量工作研究了通过移动代理或者中间件技术来实现物理世界和企业服务的集成。然而,在集成过程中,面临着一个主要障碍是大量已部署的传感器网络或者应用系统采用了专有业务平台和专有技术,这些非标准的接口协议导致应用系统与传感网络的集成非常复杂。
[0006]为了解决跨业务域的系统集成,最近,研究人员将面向服务的计算技术应用到物联网服务提供。考虑到传统的面向服务计算SOA (Service Oriented Architecture)标准和技术的设计初衷主要是解决互联网环境下重量级的企业级服务的集成,技术人员尝试提出了一些适合于资源受限的嵌入式设备的轻量级Web服务协议。总体而言,现有的技术方案主要集中在使用SOA技术或者更轻量级服务来实现不同物理实体和企业应用系统的互联互通问题上。事实上,互联互通是物联网服务面临的一个重要问题。但是,随之而来的另一个问题是在解决了设备的互联互通以后,如何在一个分布式、松耦合的环境中实现感知信息在信息提供者和消费者之间的有效分发,并基于物理世界发生的事件而动态协调相关的企业服务并做出快速响应。
[0007]目前,大多数物联网应用系统是一种紧耦合、封闭式的服务提供模式,也就是传感器网络采集相关的感知信息,并存储于一个集中的数据库,相关特定的应用系统通过访问数据库中的信息,从而提供相应服务。这种服务提供模式极大地限制了系统的灵活性和扩展性,不适合大规模分布式、复杂的物联网服务系统的构建。
[0008]为了支持在不同的服务系统间交换信息,传统的以“请求-应答”为主的SOA架构经常使用集中式的服务编排机制通过服务的调用交换数据。然而,这种模式导致了信息的提供方和消费者彼此直接交互,业务流程常常通过一些流程编制语言如业务流程执行语言BPEL (Business Process Execution Language)或者工作流语言进行描述。这样当应用需求发生了变化,如新集成了一个服务或者一个服务的撤销等,这种紧耦合的系统架构必须重新修改流程,缺乏足够的灵活性来做出适配。检索到的现有的专利文献包括下述两个:
[0009]《物联网服务系统》(中国专利申请号为201110101715.2),该专利申请存在以下不足:一、该专利申请主要侧重于通过各种传感器单元将数据信息通过有线或无线网络传输到连接互联网的服务器上,可以看出该物联网服务系统是一种紧耦合、封闭式的服务提供模式,也就是传感器网络采集相关的感知信息,存储于一个集中的服务器或数据库中,感知数据在多个异构服务系统中的共享和分发难以解决。因此,这种服务提供模式极大地限制了系统的灵活性和扩展性,不适合大规模分布式、复杂物联网服务系统的构建。二、该专利申请的物联网服务系统不能处理大规模复杂事件的关联和聚合,因此,无法形成高层的上下文认知,难以支持更加智慧的服务。三、该专利申请的服务系统只是一个相对简单的数据采集和收集的物联网服务系统,无法支持基于采集到的数据进行相关的复杂业务处理的物联网应用需求。
[0010]《一种物联网应用实现方法及系统》(中国专利申请号为201010102600.0),该专利申请用于解决物联网与企业现有应用系统的融合问题。该系统提供物联网服务接口设备给用户,向用户开放物联网服务接口,以满足企业用户将物联网服务集成到现有应用系统中的需求。用户可根据物联网服务接口设备开放的接口进行二次开发。但是,该专利申请同样存在以下不足:一、该专利申请的系统主要侧重于为企业提供开放接口,以供二次开发;没有解决大规模感知数据在多个异构服务系统中的共享和分发。二、该系统基本上是一个集中式的物联网服务提供平台,因此,这种服务提供模式限制了系统的灵活性和扩展性,不适合大规模分布式、复杂物联网服务系统的构建。
【发明内容】
[0011]有鉴于此,本发明的目的是提供一种事件驱动、面向服务的物联网服务提供系统及工作方法,本发明能够解决现有技术的物联网服务提供系统基本上都没有考虑大规模感知信息如何分布式进行处理,以及如何根据物理世界所发生的事件使得不同的企业业务流程能够实现跨业务域、甚至跨组织域的有效协调等难题和缺陷,本发明系统能够在一个开放、分布式的计算环境中有效分发感知信息,并实现灵活、动态的异构服务系统间的协同配
入
口 O
[0012]为了达到上述目的,本发明提供了一种事件驱动、面向服务EDSOA (Event-DrivenService-Oriented Architecture)的物联网服务提供系统,其特征在于:所述系统设有下述多个组成部件:物联网业务系统、接入代理、基于发布/订阅机制的统一消息分发网络、复杂事件处理引擎、资源描述模型库和传感器系统,其中,传感器系统、物联网业务系统、复杂事件处理引擎分别与接入代理相连接,以便接入统一消息分发网络;接入代理与资源描述模型库分别连接统一消息分发网络中的事件代理;复杂事件处理引擎和物联网业务系统中的报表系统还连接历史数据库;其中:
[0013]物联网业务系统,为包括数据库系统、报表系统、WEB服务编制系统、工作流系统、可视化监控系统和告警系统的这类物联网服务提供领域中的多个上层应用系统,所述数据库系统用于存储各种应用系统的采集数据和处理过程产生的业务数据,报表系统用于执行数据统计、汇总和分析的系统,WEB服务编制系统是基于业务过程执行语言BPEL (BusinessProcess Execution Language)编制自动化业务流程的业务编制系统,工作流系统是支持人工活动、将工作分解成定义良好的任务与角色,再按照设定规则和过程执行任务并对执行过程进行监控的业务流程系统,可视化监控系统是通过可视化方式实时呈现所监控物理对象的状态变化并实现远程控制的系统,包括基于组态软件工具的监控系统和基于地理信息系统的监控系统;告警系统是能够针对出现的告警信息进行告警显示和处置的应用系统;
[0014]接入代理,作为传感器系统或物联网业务系统和基于发布/订阅机制的统一消息分发网络之间的消息适配器,用于将各种异构的感知信息和业务事件适配为统一标准化的事件,该接入代理设有:专有接口和发布/订阅接口,以及数据解析/封装、资源映射、数据采集处理、简单事件处理与数据通知处理多个模块;
[0015]统一消息分发网络,是由多个事件代理构成的一个基于发布/订阅机制的分布式覆盖网络:多个事件代理利用发布/订阅机制实现大规模、分布式地分发事件,且每个事件代理分别承担事件的发布、订阅、通知和路由的功能;这些事件代理组成不同的簇,以提供簇级的可扩展性;且成簇的事件代理相互连接,从而形成一个大规模的分布式覆盖网络;在该分簇拓扑结构中,统一消息分发网络支持簇内路由和簇间路由;每个事件代理设有下述部件:事件代理间通信接口、事件路由模块、订阅同步模块、代理管理模块、发布事件集合模块、订阅主题列表模块、事件匹配模块、以及包括注册接口、发布主题接口、订阅主题接口、主题通知接口、退订主题接口、取消主题接口的发布/订阅接口;
[0016]复杂事件处理引擎,用于通过发布/订阅接口完成与事件代理的交互:将系统数据视为不同类型的事件,通过分析事件间的关联关系,建立不同的事件关系序列库,再利用过滤、关联和聚合技术,以使由简单事件产生高级事件,进而触发相应的业务流程;该复杂事件处理引擎的输入来自事件代理的实时事件流或历史数据库的数据,再将完成处理后的复杂事件输出到事件代理;设有:事件模式编辑模块、事件类型注册模块、由事件声明检测单元和事件模式检测单元组成的事件检测模块、数据库连接模块、输入事件流适配模块、事件监听模块和输出事件流适配模块;
[0017]资源描述模型库,负责描述物联网资源、上下文信息和领域知识,并使用链接数据来扩展包括万维网组织制定的语义传感器网络W3C SSN (World Wide Web ConsortiumSemantic Sensor Network)现有本体的资源,该资源描述模型库使用的本体组织层次依序分为:顶层本体、上层本体、外部本体和领域本体层;且每个下层本体都能使用位于其上层的本体,实现资源共享;其输入接口连接各种互联网上的已有本体资源,也能使用本体建模工具自行生成新的本体作为输入;资源描述模型库中的各种资源模型通过输出接口连接接入代理;
[0018]传感器系统,包括物联网环境中使用的各种物理传感器和/或传感器的应用系统,用于感知和采集物理世界的各种变化信息;该传感器系统至少包括:各类无线传感器、智能手机终端、车载终端、有线传感器和信息采集模块。
[0019]为了达到上述目的,本发明还提供了一种事件驱动、面向服务的物联网服务提供系统的工作方法,其特征在于:所述工作方法包括下列操作步骤:
[0020]( I)传感器系统感知和采集物理世界的各种相关参数,并通过标准协议传送给接入代理;
[0021](2)接入代理接收到来自传感器系统的采集数据后,使用资源描述模型库中设定的概念和属性将异构的或专有信息都转换为统一标准化的事件;然后,接入代理调用事件代理的发布/订阅接口,将事件发布到统一消息分发网络;
[0022](3)统一消息分发网络中的事件代理接收到发布的事件后,对照检查订阅主题列表,将该事件分发和路由到不同的事件代理,再由该事件代理负责向订阅该事件的系统发送事件通知;
[0023](4)不同的事件订阅者接收到订阅的事件通知后,执行相应的下述预定处理流程或动作:
[0024]若事件订阅者为复杂事件处理引擎,则复杂事件处理引擎根据预先设定的事件模式和事件声明进行检测,从而输出复杂事件;并经由接入代理转发至基于发布/订阅机制的统一消息分发网络进行后续处理;
[0025]若事件订阅者为历史数据库,则历史数据库对接收到的事件进行采样处理,并完成数据的持久性存储;
[0026]若事件订阅者为该物联网服务提供系统中的各种物联网业务子系统,则该物联网业务系统就触发其子系统的相应业务流程处理该事件;
[0027]若事件订阅者为可视化监控系统,则可视化监控系统将该事件所携带的数据或其他信息实时显示于可视化监控界面;
[0028]若事件订阅者为告警系统,则告警系统根据该事件携带的告警级别发出相应的声光告警信号,并执行相应的告警处置流程。
[0029]与现有技术相比较,本发明物联网服务提供系统的有益效果是:能够便捷地支持感知信息在不同的物联网异构服务系统之间的按需分发,并实现事件驱动的跨业务域、甚至跨组织域的服务动态协同。这种能够实现时间、空间和控制流解耦合的网络服务提供方法,极大地增强了系统的灵活性,允许系统动态、实时地对物理世界的变化做出快速响应。
【专利附图】
【附图说明】
[0030]图1是本发明事件驱动面向服务的物联网服务提供系统结构组成示意图。
[0031]图2是本发明系统中的接入代理结构组成示意图。
[0032]图3是本发明系统中的基于发布/订阅的统一消息分发网络结构组成示意图。
[0033]图4是本发明系统中的事件代理结构组成示意图。[0034]图5是本发明系统中的复杂事件处理引擎结构组成示意图。
[0035]图6是本发明系统中的资源描述模型库结构组成示意图。
[0036]图7是本发明事件驱动面向服务的物联网服务提供系统的工作方法操作步骤流程图。
[0037]图8是本发明实施例的主题订阅路由过程时序图。
[0038]图9是本发明实施例的复杂事件生成流程时序图。
[0039]图10是本发明实施例的事件驱动的服务协作流程时序图。
【具体实施方式】
[0040]为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
[0041]参见图1?图6,介绍本发明事件驱动、面向服务EDSOA的物联网服务提供系统的结构组成。该物联网服务提供系统包括下述多个组成部件(参见图1所示):物联网业务系统、接入代理、基于发布/订阅机制的统一消息分发网络、复杂事件处理引擎、资源描述模型库和传感器系统。其中,传感器系统、物联网业务系统、复杂事件处理引擎分别与接入代理相连接,以便接入统一消息分发网络;接入代理与资源描述模型库分别连接统一消息分发网络中的事件代理;复杂事件处理引擎和物联网业务系统中的报表系统还连接历史数据库。下面分别具体说明各个组成部件的功能与特点:
[0042]物联网业务系统:其是涉及物联网服务提供领域中各种常见的上层应用系统,包括数据库系统、报表系统、WEB服务编制系统、工作流系统、可视化监控系统和告警系统等。其中,数据库系统用于存储各种应用系统的采集数据和处理过程产生的业务数据,报表系统用于执行数据统计、汇总和分析的系统,WEB服务编制系统是基于业务过程执行语言BPEL (Business Process Execution Language)的业务编制系统,用于编制自动化业务流程;工作流系统是支持人工活动的业务流程系统,它是通过将工作分解成定义良好的任务与角色,再按照设定规则和过程执行任务并对执行过程进行监控;可视化监控系统是通过可视化方式实时呈现所监控物理对象的状态变化,并实现远程控制的系统,包括基于组态软件工具的监控系统和基于地理信息系统的监控系统;告警系统是能够针对出现的告警信息进行告警显示和处置的应用系统。
[0043]接入代理:作为一种事件发布者/订阅者(如各种传感器系统或业务系统)和基于发布/订阅机制的统一消息分发网络之间的消息适配器,用于将各种异构的感知信息和业务事件适配为统一标准化的事件。该接入代理设有:专有接口和发布/订阅接口,以及数据解析/封装、资源映射、数据采集处理、简单事件处理与数据通知处理多个模块。参见图2,介绍其各个组成模块的功能如下:
[0044]资源映射模块,负责对来自各种专业系统中的数据格式和统一消息分发网络中的统一标准数据格式进行相互转换和映射后,送至数据解析/封装模块;
[0045]简单事件处理模块,负责检查采集数据是否超出设定阈值,一旦发现该情况,则根据设定规则确定告警等级,并告知数据采集处理模块;
[0046]数据采集处理模块,负责把接入代理从传感器系统或物联网业务系统接收到的采集数据和消息转发到统一消息分发网络;[0047]数据通知处理模块,负责把接入代理从统一消息分发网络接收到的通知事件经由数据解析/封装模块和相应接口转发到传感器系统或物联网业务系统;
[0048]数据解析/封装模块,负责对专有接口和发布/订阅接口接收到的信息进行解析后,转送相应模块处理;还对准备通过专有接口和发布/订阅接口发送的消息进行封装后,发送至传感器系统或物联网业务系统;
[0049]专有接口,负责接入代理与复杂处理引擎、传感器系统或物联网业务系统之间的消息传送;
[0050]发布/订阅接口,负责事件代理和统一消息分发网络之间的消息传送。
[0051]统一消息分发网络:是由多个事件代理构成的一个基于发布/订阅机制的分布式覆盖网络(参见图3所示):多个事件代理利用发布/订阅机制实现大规模、分布式地分发事件,且每个事件代理分别承担事件的发布、订阅、通知和路由等功能。这些事件代理组成不同的簇,以提供簇级的可扩展性;而且,成簇的事件代理相互连接,从而形成一个大规模的分布式覆盖网络,能够实现大规模分布式的事件分发。该网络的分簇拓扑结构中,统一消息分发网络支持簇内路由和簇间路由。在统一消息分发网络中,每个簇都设有一个特定事件代理、即负责簇间路由的委托代理。发布者或订阅者连接到统一消息分发网络中的某个事件代理,并通过该事件代理发布或订阅其感兴趣的事件;当该事件代理接收到客户端的订阅时,负责将该订阅信息转发到簇内邻居节点和本簇的委托代理,并由本簇的委托代理将该订阅信息转发到其他簇;同样地,当某个事件代理从其客户端接收到发布的事件,通过统一消息分发网络将该事件转发到匹配订阅的事件代理,然后,该事件代理将该事件交付给感兴趣的订阅者。
[0052]参见图4,介绍每个事件代理的结构组成。其设有下述部件:事件代理间通信接口、事件路由模块、订阅同步模块、代理管理模块、发布事件集合模块、订阅主题列表模块、事件匹配模块、以及包括注册接口、发布主题接口、订阅主题接口、主题通知接口、退订主题接口、取消主题接口的发布/订阅接口。其中,事件匹配模块分别和发布/订阅接口、订阅主题列表模块和发布事件集合模块相连接;事件路由模块分别连接事件代理间通信接口中的事件路由接口、订阅主题列表模块、发布事件集合模块和发布/订阅接口中的主题通知接口 ;订阅同步模块分别连接事件代理间通信接口中的订阅同步接口和订阅主题列表模块;代理管理模块与代理管理接口相连接。这些模块与接口的功能说明如下:
[0053]事件代理间通信接口,负责不同事件代理之间的消息交互,设有三种接口:事件路由接口、订阅同步接口和代理管理接口,分别提供相应信息的传递途径。
[0054]代理管理模块,负责维护事件代理节点信息和所属簇的各种相关信息。
[0055]订阅同步模块,负责不同的事件代理直接进行主题订阅信息的实时同步。
[0056]事件路由模块,负责对事件代理接收的事件对照查阅订阅主题列表模块,然后执行相应分发操作。
[0057]发布事件集合模块,用于存储相关主题的最新发布的事件,每个发布主题包括一个或多个发布事件。
[0058]订阅主题列表模块,用于存储相关主题的最新订阅信息,因事件代理有两种:事件代理和委托代理,故订阅主题列表有三种:存储直接注册于该事件代理的订阅者的订阅信息的注册用户订阅表,存储本簇内其他事件代理的订阅信息的邻居代理订阅表,以及存储其他簇感兴趣的订阅信息的簇订阅表;订阅表中的每项记录包括两个内容:订阅主题和订阅者地址。
[0059]事件匹配模块,负责在发布事件集合模块和订阅主题列表模块中对接收到的事件进行匹配查询。
[0060]发布/订阅接口,用于提供本地发布者/订阅者的注册、以及相关主题的发布/订阅/通知/退订/取消的功能。
[0061]复杂事件处理引擎(参见图5所示):用于通过发布/订阅接口完成与事件代理的交互:将系统数据视为不同类型的事件,通过分析各个事件间的关联关系,建立不同的事件关系序列库,再利用过滤、关联和聚合等技术,以使由简单事件产生高级事件,进而触发相应的业务流程。该复杂事件处理引擎的输入来自事件代理的实时事件流或历史数据库的数据,再将完成处理后的复杂事件输出到事件代理,通过发布/订阅接口完成该复杂事件处理引擎与事件代理的交互。设有:事件模式编辑模块、事件类型注册模块、由事件声明检测单元和事件模式检测单元组成的事件检测模块、数据库连接模块、输入事件流适配模块、事件监听模块和输出事件流适配模块。其中,事件模式编辑模块连接事件类型注册模块和事件检测模块,事件检测模块还与数据库连接模块、输入事件流适配模块和事件监听模块相连接,事件监听模块连接输出事件流适配模块。上述各个模块的功能如下:
[0062]事件模式编辑模块,负责接收用户输入而生成相应的事件声明或更复杂的包括事件规则和条件的事件模式。
[0063]事件类型注册模块,负责将用户要求的事件类型注册到复杂事件处理引擎,为事件模式编辑模块快速生成事件声明和事件模式语句提供支持。
[0064]数据库连接模块,负责接收来自数据库系统的信息,送至事件检测模块。
[0065]输入事件流适配模块,负责通过事件代理从统一消息分发网络接收实时事件流。
[0066]事件检测模块,负责检测接收到的事件,检查是否存在符合定义的事件声明和是否发生事件模式的复杂事件;其中,事件声明检测单元负责检查是否发生事件声明所描述的复杂事件,事件模式检测单元负责检查是否发生事件模式所描述的复杂事件。
[0067]事件监听模块,负责对事件检测模块检测到的符合条件的复杂事件执行后续处理。
[0068]输出事件流适配模块,负责将事件监听模块的处理结果按发布/订阅的接口要求通过事件代理发送到统一消息分发网络。
[0069]资源描述模型库(参见图6所示):负责描述物联网资源、上下文信息和领域知识,并使用链接数据来扩展包括万维网组织制定的语义传感器网络W3C SSN (World Wide WebConsortium Semantic Sensor Network)现有本体的资源,该资源描述模型库使用的本体组织层次依序分为:顶层本体、上层本体、外部本体和领域本体层;且每个下层本体都能够使用位于其上层的本体,实现资源共享;其输入接口连接各种互联网上的已有本体资源,也能使用本体建模工具自行生成新的本体作为输入。资源描述模型库中的各种资源模型通过输出接口连接接入代理。
[0070]传感器系统:包括物联网环境中使用的各种物理传感器和/或传感器的应用系统,用于感知和采集物理世界的各种变化信息。该传感器系统至少包括:各类无线传感器、智能手机终端、车载终端、有线传感器和信息采集模块。[0071]参见图7,介绍本发明事件驱动面向服务物联网服务提供系统工作方法的具体操作步骤:
[0072]步骤I,传感器系统感知和采集物理世界的各种相关参数,并通过标准协议传送给接入代理。
[0073]步骤2,接入代理接收到来自传感器系统的采集数据后,使用资源描述模型库中设定的概念和属性将异构的或专有信息都转换为统一标准化的事件;然后,接入代理调用事件代理的发布/订阅接口,将事件发布到统一消息分发网络。
[0074]该步骤2中,接入代理有两种处理信息的流程,其中之一是:从传感器系统或其他物联网业务系统接收采集到的信息发送到统一消息分发网络。其具体操作内容如下:
[0075](21)接入代理通过专有接口接收到外部传感器系统或其它物联网业务系统发送来的特定消息结构的信息。
[0076](22)接入代理的数据解析/封装模块负责解析该特定消息的协议,以获取该采集信息,并通过资源映射模块将该信息转化为标准的事件格式;若在转化过程中,如果有采集数据的阈值超限的情况,则数据采集处理模块根据简单事件处理模块设定的告警事件规则来判定告警等级,并将该告警等级封装到事件中。
[0077](23)数据采集处理模块将该事件包装为统一标准的事件格式后,再由数据解析/封装模块将这些事件按照事件发布/订阅接口的要求进行封装。
[0078](24)接入代理通过发布/订阅接口将封装后的事件传送给事件代理模块。
[0079]接入代理处理信息的另一种流程是:从统一消息分发网络接收信息发送到事件订阅者。其具体操作内容如下:
[0080](2A)接入代理通过发布/订阅接口接收到事件代理发送的事件通知消息。
[0081](2B)接入代理的数据通知处理模块通过数据解析/封装模块解析协议,获知该事件信息,并通过资源映射模块将标准的事件格式转化为特定的专有信息。
[0082](2C)接入代理通过数据解析/封装模块将这些事件按照专有接口的协议规定要求进行封装。
[0083](2D)接入代理通过专有接口将该事件传送给传感器系统或其他物联网业务系统。
[0084]步骤3,统一消息分发网络中的事件代理接收到发布的事件后,对照检查订阅主题列表,将该事件分发和路由到不同的事件代理,再由该事件代理负责向订阅该事件的系统发送事件通知。该步骤中,事件代理执行下述操作内容:
[0085](31)当事件代理通过发布/订阅接口的发布主题接口接收到事件发布消息后,执行后续步骤(32);当事件代理通过发布/订阅接口接收到订阅/退订/取消主题消息后,跳转执行步骤(35)。;
[0086](32)事件代理将接收到的事件通过事件匹配模块保存到发布事件集合模块中对应的主题列表中。
[0087](33)事件代理通过事件匹配模块在订阅主题列表模块中的注册用户订阅表、邻居代理订阅表或簇订阅表中查询符合该事件主题的订阅者。
[0088](34)事件代理根据查询到的该主题的订阅者地址,通过事件路由模块将该事件发送给订阅者:如果订阅者是本地的注册客户端,则通过发布/订阅接口的主题通知接口直接推送给订阅者;如果订阅者是邻居代理或簇的委托代理,则通过事件代理间通信接口的事件路由接口转发给相应的邻居代理或该簇的委托代理。然后,返回执行步骤(31)。
[0089](35)事件代理根据订阅者的地址判断订阅者的不同类型:本地注册用户、邻居代理还是簇的委托代理。
[0090](36)事件代理根据订阅者类型到订阅主题列表模块中的注册用户订阅表、邻居代理订阅表或簇订阅表中,藉由事件匹配模块增加或删除相关订阅主题项。
[0091](37)事件代理的订阅同步模块通过事件代理间通信接口的订阅同步接口,把该订阅变化信息实时同步到统一消息分发网络中同一簇内的其他邻居节点和负责簇间的订阅同步的该簇的委托代理。再返回执行步骤(31)。
[0092]步骤4,不同的事件订阅者接收到订阅的事件通知后,执行相应的下述预定处理流程或动作:
[0093]若事件订阅者为复杂事件处理引擎,则复杂事件处理引擎根据预先设定的事件模式和事件声明进行检测,从而输出复杂事件;并经由接入代理转发至基于发布/订阅机制的统一消息分发网络进行后续处理。
[0094]若事件订阅者为历史数据库,则历史数据库对接收到的事件进行采样处理,并完成数据的持久性存储。
[0095]若事件订阅者为该物联网服务提供系统中的各种物联网业务子系统(如WEB服务编制系统、工作流系统等),则该物联网业务系统就触发其子系统的相应业务流程处理该事件。
[0096]若事件订阅者为可视化监控系统,则可视化监控系统将该事件所携带的数据或其他信息实时显示于可视化监控界面。
[0097]若事件订阅者为告警系统,则告警系统根据该事件携带的告警级别发出相应的声光告警信号,并执行相应的告警处置流程。
[0098]在上述五种不同的处理流程中,第一种复杂事件处理引擎的处理流程包括下列操作内容:
[0099](41)事件模式编辑模块接收到用户输入的事件声明或更复杂的事件模式的规则和条件(即事件模式),用于对感兴趣的复杂事件进行过滤。
[0100]所谓事件声明是采用专门的事件处理语言EPL (Event Processing Language)描述各种事件的条件、事件的关联和跨越的时间窗口,用户还能定义感兴趣的事件检测规则、即事件声明。另外,也能够定义一些复杂的事件规则来识别不同的模式。为简化事件声明和事件模式的生成,用户通过可视化界面将事件类型注册于复杂事件处理引擎中的事件类型注册模块,事件模式编辑模块直接使用事件类型注册模块提供的事件类型,快速生成事件声明和事件模式。
[0101](42)事件模式编辑模块将生成的事件声明和/或事件模式分别加载到事件检测模块的事件声明检测单元和/或事件模式检测单元。
[0102](43)复杂事件处理引擎通过输入事件流适配模块接收来自统一消息分发网络中事件代理的实时事件流(包括来自传感器系统的事件和来自物联网业务系统的业务事件),输入事件流适配模块负责适配包括XML或Java对象等的不同事件格式,复杂事件处理引擎也能通过数据库连接模块接收来自数据库系统的数据。
[0103](44)复杂事件处理引擎采用存储事件查询语句和实时过滤数据的模式,在接收到输入的事件后,由事件检测模块中的事件声明检测单元和事件模式检测单元分别对事件流进行过滤和聚合,一旦发生符合条件的事件时,就触发该事件对应的事件监听模块处理该事件。
[0104](45)事件监听模块监听该事件,并根据具体应用需求决定对该事件采取相应处理。
[0105](46)复杂事件处理引擎将事件监听模块的处理结果通过输出事件流适配模块适配为标准的复杂事件格式,并通过发布/订阅接口将复杂事件输出到统一消息分发网络的事件代理。
[0106]为了进一步详细说明和验证本发明系统及其工作方法的可行性, 申请人:进行了多次不同的仿真实施试验。下面结合本发明实施例的实际情况,针对基于发布/订阅的统一消息分发网络的处理流程、复杂事件的聚合生成机制、以及事件驱动的多个物联网业务系统之间的协同处理流程进行具体的示例说明。
[0107]参见图8,该仿真实施例是以订阅者Si订阅主题X和订阅者s2订阅主题Y为例,介绍本发明系统对进入统一消息分发网络的订阅信息的处理流程如下:
[0108]步骤1:订阅者Si的订阅主题X发送到注册的事件代理bl,使得事件代理bl的注册用户订阅表rI增加一条记录:(X,订阅者sI)。
[0109]步骤2:事件代理bl将订阅主题X转发到邻居事件代理b2和委托代理al,使得事件代理b2的邻居代理订阅表n2增加一条记录:(X,事件代理bl ),委托代理al的邻居代理订阅表n3也增加一条记录:(X,事件代理bl)。
[0110]步骤3:簇Cl的委托代理al转发订阅主题X到簇c2的委托代理a2,使得委托代理a2的簇代理订阅表c2增加一条记录:(X,委托代理al)。
[0111]步骤4:委托代理a2将订阅主题X转发到两个邻居事件代理b3和事件代理b4,使得事件代理b3的邻居代理订阅表n5增加一条记录:(X,委托代理a2),事件代理b4的邻居代理订阅表n6增加一条记录:(X,委托代理a2)。
[0112]步骤5:订阅者s2将其订阅主题Y发送到注册的事件代理b4,使得事件代理b4的注册用户订阅表r2增加一条记录:(Y,订阅者s2)。
[0113]步骤6:事件代理b4将订阅主题Y转发到其邻居事件代理b3和委托代理a2,使得事件代理b3的邻居代理订阅表n5增加一条记录:(Y,事件代理b4),委托代理a2的邻居代理订阅表n4也增加一条记录:(Y,事件代理b4)。
[0114]步骤7 -M c2的委托代理a2将订阅主题Y转发到簇cl的委托代理al,使得委托代理al的簇代理订阅表Cl增加一条记录:(Y,委托代理a2)。
[0115]步骤8:委托代理a2将订阅主题Y转发到邻居事件代理bl和事件代理b2。使得事件代理bl的邻居代理订阅表nl增加一条记录:(Y,委托代理al ),事件代理b2的邻居代理订阅表n2也增加一条记录:(Y,委托代理al)。
[0116]因此,当事件代理接收到其注册用户发布的事件时,将查找订阅表,并转发该事件到相关订阅者。该实施例验证了本发明系统中的事件首先在簇内路由,如果其他簇也订阅了该事件,则继续簇间路由。
[0117]参见图9,介绍复杂事件cel和ce2的聚合过程,并以此例详细说明复杂事件的具体聚合处理过程如下:[0118]步骤1:传感器si发送感知信息到接入代理al,接入代理al将感知事件sel发送到基于发布/订阅的统一消息分发网络。传感器s2发送感知信息到接入代理a2,接入代理a2将感知事件se2发送到基于发布/订阅的统一消息分发网络。
[0119]步骤2:基于发布/订阅的统一消息分发网络分别转发感知事件sel和se2到复杂事件处理引擎。
[0120]步骤3:复杂事件处理引擎聚合感知事件sel和se2为复杂事件cel,并发送复杂事件cel到基于发布/订阅的统一消息分发网络。
[0121]步骤4:基于发布/订阅的统一消息分发网络转发复杂事件cel到接入代理a3。
[0122]步骤5:接入代理a3转发复杂事件cel到物联网业务系统bsl。
[0123]步骤6:物联网业务系统bs2发送业务消息到接入代理a4,接入代理a4将业务事件be2发送到基于发布/订阅的统一消息分发网络。传感器S3发送感知信息到接入代理a5。接入代理a5将感知事件se3发送到基于发布/订阅的统一消息分发网络。
[0124]步骤7:基于发布/订阅的统一消息分发网络分别将业务事件be2和感知事件se3转发到复杂事件处理引擎。
[0125]步骤8:复杂事件处理引擎聚合感知事件se3、复杂事件cel和业务事件be2为复杂事件ce2,并发送复杂事件ce2到基于发布/订阅的统一消息分发网络。
[0126]步骤9:基于发布/订阅的统一消息分发网络转发复杂事件ce2到接入代理a6。
[0127]步骤10:接入代理a6转发复杂事件ce2到业务系统bs3。
[0128]该实施例验证了复杂事件处理引擎对各种感知信息的聚合处理功能。
[0129]参见图10,以物联网业务系统bsl、bs2和bs3之间的协作为例,说明本发明系统的事件驱动、面向服务的物联网服务协同的工作机制,具体流程示例如下:
[0130]步骤1:物联网业务系统bsl发送业务消息到接入代理al,接入代理al将业务事件bel发送到基于发布/订阅的统一消息分发网络。
[0131]步骤2:基于发布/订阅的统一消息分发网络转发业务事件bel到接入代理a2。
[0132]步骤3:接入代理a2将业务事件bel转发到业务系统bs2,业务系统bs2接收到业务事件bel后,执行相应的业务处理流程。
[0133]步骤4:物联网业务系统bs2发送业务消息到接入代理a2,接入代理a2将业务事件be2发送到基于发布/订阅的统一消息分发网络。
[0134]步骤5:基于发布/订阅的统一消息分发网络转发业务事件be2到接入代理a3。
[0135]步骤6:接入代理a3将业务事件be2转发到业务系统bs3,业务系统bs3接收到业务事件be2后,执行相应的业务处理流程。
[0136]这样,当有新的需求变化时,用户可以通过调整事件订阅表的方式来改变业务处理流程,即改变事件的发布和订阅操作流程。这种事件驱动的服务协同机制有助于降低跨业务域、甚至跨组织域的业务系统的耦合度,形成一个更灵活、更敏捷的物联网服务提供系统。
[0137]总之,本发明的实施例试验是成功的,实现了发明目的。
[0138]以上所述仅为介绍本发明的实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
【权利要求】
1.一种事件驱动、面向服务 EDSOA (Event-Driven Service-Oriented Architecture)的物联网服务提供系统,其特征在于:所述系统设有下述多个组成部件:物联网业务系统、接入代理、基于发布/订阅机制的统一消息分发网络、复杂事件处理引擎、资源描述模型库和传感器系统,其中,传感器系统、物联网业务系统、复杂事件处理引擎分别与接入代理相连接,以便接入统一消息分发网络;接入代理与资源描述模型库分别连接统一消息分发网络中的事件代理;复杂事件处理引擎和物联网业务系统中的报表系统还连接历史数据库;其中: 物联网业务系统,为包括数据库系统、报表系统、WEB服务编制系统、工作流系统、可视化监控系统和告警系统的这类物联网服务提供领域中的多个上层应用系统,所述数据库系统用于存储各种应用系统的采集数据和处理过程产生的业务数据,报表系统用于执行数据统计、汇总和分析的系统,WEB服务编制系统是基于业务过程执行语言BPEL (BusinessProcess Execution Language)编制自动化业务流程的业务编制系统,工作流系统是支持人工活动、将工作分解成定义良好的任务与角色,再按照设定规则和过程执行任务并对执行过程进行监控的业务流程系统,可视化监控系统是通过可视化方式实时呈现所监控物理对象的状态变化并实现远程控制的系统,包括基于组态软件工具的监控系统和基于地理信息系统的监控系统;告警系统是能够针对出现的告警信息进行告警显示和处置的应用系统; 接入代理,作为传感器系统或物联网业务系统和基于发布/订阅机制的统一消息分发网络之间的消息适配器,用于将各种异构的感知信息和业务事件适配为统一标准化的事件,该接入代理设有:专有接口和发布/订阅接口,以及数据解析/封装、资源映射、数据采集处理、简单事件处理与数据通知处理多个模块; 统一消息分发网络,是由多个事件代理构成的一个基于发布/订阅机制的分布式覆盖网络:多个事件代理利用发布/订阅机制实现大规模、分布式地分发事件,且每个事件代理分别承担事件的发布、 订阅、通知和路由的功能;这些事件代理组成不同的簇,以提供簇级的可扩展性;且成簇的事件代理相互连接,从而形成一个大规模的分布式覆盖网络;在该分簇拓扑结构中,统一消息分发网络支持簇内路由和簇间路由;每个事件代理设有下述部件:事件代理间通信接口、事件路由模块、订阅同步模块、代理管理模块、发布事件集合模块、订阅主题列表模块、事件匹配模块、以及包括注册接口、发布主题接口、订阅主题接口、主题通知接口、退订主题接口、取消主题接口的发布/订阅接口 ; 复杂事件处理引擎,用于通过发布/订阅接口完成与事件代理的交互:将系统数据视为不同类型的事件,通过分析事件间的关联关系,建立不同的事件关系序列库,再利用过滤、关联和聚合技术,以使由简单事件产生高级事件,进而触发相应的业务流程;该复杂事件处理引擎的输入来自事件代理的实时事件流或历史数据库的数据,再将完成处理后的复杂事件输出到事件代理;设有:事件模式编辑模块、事件类型注册模块、由事件声明检测单元和事件模式检测单元组成的事件检测模块、数据库连接模块、输入事件流适配模块、事件监听模块和输出事件流适配模块; 资源描述模型库,负责描述物联网资源、上下文信息和领域知识,并使用链接数据来扩展包括万维网组织制定的语义传感器网络W3C SSNCfforld Wide Web Consortium SemanticSensor Network)现有本体的资源,该资源描述模型库使用的本体组织层次依序分为:顶层本体、上层本体、外部本体和领域本体层;且每个下层本体都能使用位于其上层的本体,实现资源共享;其输入接口连接各种互联网上的已有本体资源,也能使用本体建模工具自行生成新的本体作为输入;资源描述模型库中的各种资源模型通过输出接口连接接入代理; 传感器系统,包括物联网环境中使用的各种物理传感器和/或传感器的应用系统,用于感知和采集物理世界的各种变化信息;该传感器系统至少包括:各类无线传感器、智能手机终端、车载终端、有线传感器和信息采集模块。
2.根据权利要求1所述的物联网服务提供系统,其特征在于:所述基于发布/订阅机制的统一消息分发网络中,每个簇都设有一个特定事件代理、即负责簇间路由的委托代理;发布者或订阅者连接到统一消息分发网络中的某个事件代理,并通过该事件代理发布或订阅其感兴趣的事件;当该事件代理接收到该客户端的订阅时,负责将该订阅信息转发到簇内邻居节点和本簇的委托代理,并由本簇的委托代理将该订阅信息转发到其他簇;同样地,当某个事件代理从其客户端接收到发布的事件,通过统一消息分发网络将该事件转发到匹配订阅的事件代理,然后,该事件代理将该事件交付给感兴趣的订阅者。
3.根据权利要求1所述的物联网服务提供系统,其特征在于:所述事件代理中的事件匹配模块分别和发布/订阅接口、订阅主题列表模块和发布事件集合模块相连接;事件路由模块分别连接事件代理 间通信接口中的事件路由接口、订阅主题列表模块、发布事件集合模块和发布/订阅接口中的主题通知接口 ;订阅同步模块分别连接事件代理间通信接口中的订阅同步接口和订阅主题列表模块;代理管理模块与代理管理接口相连接;这些部件的功能如下: 事件代理间通信接口,负责不同事件代理之间的消息交互,设有三种接口:事件路由接口、订阅同步接口和代理管理接口,分别提供相应信息的传递途径; 代理管理模块,负责维护事件代理节点信息和所属簇的各种相关信息; 订阅同步模块,负责不同的事件代理直接进行主题订阅信息的实时同步; 事件路由模块,负责对事件代理接收的事件对照查阅订阅主题列表模块,然后执行相应分发操作; 发布事件集合模块,用于存储相关主题的最新发布的事件,每个发布主题包括一个或多个发布事件; 订阅主题列表模块,用于存储相关主题的最新订阅信息,因事件代理有两种:事件代理和委托代理,故订阅主题列表有三种:存储直接注册于该事件代理的订阅者的订阅信息的注册用户订阅表,存储本簇内其他事件代理的订阅信息的邻居代理订阅表,以及存储其他簇感兴趣的订阅信息的簇订阅表;订阅表中的每项记录包括两个内容:订阅主题和订阅者地址。 事件匹配模块,负责在发布事件集合模块和订阅主题列表模块中对接收到的事件进行匹配查询; 发布/订阅接口,用于提供本地发布者/订阅者的注册、以及相关主题的发布/订阅/通知/退订/取消的功能。
4.根据权利要求1所述的物联网服务提供系统,其特征在于;所述接入代理各个组成模块的功能如下: 资源映射模块,负责对来自各种专业系统中的数据格式和统一消息分发网络中的统一标准数据格式进行相互转换和映射后,送至数据解析/封装模块; 简单事件处理模块,负责检查采集数据是否超出设定阈值,一旦发现该情况,则根据设定规则确定告警等级,并告知数据采集处理模块; 数据采集处理模块,负责把接入代理从传感器系统或物联网业务系统接收到的消息转发到统一消息分发网络; 数据通知处理模块,负责把接入代理从统一消息分发网络接收到的通知事件经由数据解析/封装模块和相应接口转发到传感器系统或物联网业务系统; 数据解析/封装模块,负责对专有接口和发布/订阅接口接收到的信息进行解析后,转送相应模块处理;还对准备通过专有接口和发布/订阅接口发送的消息进行封装后,发送至传感器系统或物联网业务系统; 专有接口,负责接入代理与复杂处理引擎、传感器系统或物联网业务系统之间的消息传送; 发布/订阅接口,负责事件代理和统一消息分发网络之间的消息传送。
5.根据权利要求1所述的物联网服务提供系统,其特征在于:所述复杂事件处理引擎中的事件模式编辑模块连接事件类型注册模块和事件检测模块,事件检测模块还与数据库连接模块、输入事件流适配模块和事件监听模块相连接;事件监听模块连接输出事件流适配模块;上述各个模块的功能如下: 事件模式编辑模块,负责接收用户输入而生成相应的事件声明或更复杂的包括事件规则和条件的事件模式; 事件类型注册模块,负责将用户要求的事件类型注册到复杂事件处理引擎,为事件模式编辑模块快速生成事件声明和事件模式语句提供支持; 数据库连接模块,负责接收来自数据库系统的输入信息,送至事件检测模块; 输入事件流适配模块,负责通过事件代理从统一消息分发网络接收实时事件流;事件检测模块,负责检测接收到的事件,检查是否存在符合定义的事件声明和是否发生事件模式的复杂事件;其中,事件声明检测单元负责检查是否发生事件声明所描述的复杂事件,事件模式检测单元负责检查是否发生事件模式所描述的复杂事件; 事件监听模块,负责对事件检测模块检测到的符合条件的复杂事件执行后续处理; 输出事件流适配模块,负责将事件监听模块的处理结果按发布/订阅的接口要求通过事件代理发送到统一消息分发网络。
6.一种事件驱动、面向服务的物联网服务提供系统的工作方法,其特征在于:所述工作方法包括下列操作步骤: (1)传感器系统感知和采集物理世界的各种相关参数,并通过标准协议传送给接入代理; (2)接入代理接收到来自传感器系统的采集数据后,使用资源描述模型库中设定的概念和属性将异构的或专有信息都转换为统一标准化的事件;然后,接入代理调用事件代理的发布/订阅接口,将事件发布到统一消息分发网络; (3)统一消息分发网络中的事件代理接收到发布的事件后,对照检查订阅主题列表,将该事件分发和路由到不同的事件代理,再由该事件代理负责向订阅该事件的系统发送事件通知;(4)不同的事件订阅者接收到订阅的事件通知后,执行相应的下述预定处理流程或动作: 若事件订阅者为复杂事件处理引擎,则复杂事件处理引擎根据预先设定的事件模式和事件声明进行检测,从而输出复杂事件;并经由接入代理转发至基于发布/订阅机制的统一消息分发网络进行后续处理; 若事件订阅者为历史数据库,则历史数据库对接收到的事件进行采样处理,并完成数据的持久性存储; 若事件订阅者为该物联网服务提供系统中的各种物联网业务子系统,则该物联网业务系统就触发其子系统的相应业务流程处理该事件; 若事件订阅者为可视化监控系统,则可视化监控系统将该事件所携带的数据或其他信息实时显示于可视化监控界面; 若事件订阅者为告警系统,则告警系统根据该事件携带的告警级别发出相应的声光告警信号,并执行相应的告警处置流程。
7.根据权利要求6所述的方法,其特征在于:所述步骤(2)中,接入代理处理信息的一种流程是:从传感器系统或其他物联网业务系统接收采集到的信息发送到统一消息分发网络;其具体操作内容如下: (21)接入代理通过专有接口接收到外部传感器系统或其它物联网业务系统发送来的特定消息结构的信息; (22)接入代理的数据解析/封装模块负责解析该特定消息的协议,以获取该采集信息,并通过资源映射模块将该信息转化为标准的事件格式;若在转化过程中,如果有采集数据的阈值超限的情况,则数据采集处理模块根据简单事件处理模块设定的告警事件规则来判定告警等级,并将该告警等级封装到事件中; (23)数据采集处理模块将该事件包装为统一标准的事件格式后,再由数据解析/封装模块将这些事件按照事件发布/订阅接口的要求进行封装; (24)接入代理通过发布/订阅接口将封装后的事件传送给事件代理模块。
8.根据权利要求6所述的方法,其特征在于:所述步骤(2)中,接入代理处理信息的另一种流程是:从统一消息分发网络接收信息发送到事件订阅者;其具体操作内容如下: (2A)接入代理通过发布/订阅接口接收到事件代理发送的事件通知消息; (2B)接入代理的数据通知处理模块通过数据解析/封装模块解析协议,获知该事件信息,并通过资源映射模块将标准的事件格式转化为特定的专有信息; (2C)接入代理通过数据解析/封装模块将这些事件按照专有接口的协议规定要求进行封装; (2D)接入代理通过专有接口将该事件传送给传感器系统或其他物联网业务系统。
9.根据权利要求6所述的方法,其特征在于:所述步骤(3)包括下列操作内容: (31)当事件代理通过发布/订阅接口的发布主题接口接收到事件发布消息后,执行后续步骤(32);当事件代理通过发布/订阅接口接收到订阅/退订/取消主题消息后,跳转执行步骤(35);; (32)事件代理将接收到的事件通过事件匹配模块保存到发布事件集合模块中对应的主题列表中;(33)事件代理通过事件匹配模块在订阅主题列表模块中的注册用户订阅表、邻居代理订阅表或簇订阅表中查询符合该事件主题的订阅者; (34)事件代理根据查询到的该主题的订阅者地址,通过事件路由模块将该事件发送给订阅者;如果订阅者是本地的注册客户端,则通过发布/订阅接口的主题通知接口直接推送给订阅者;如果订阅者是邻居代理或簇的委托代理,则通过事件代理间通信接口的事件路由接口转发给相应的邻居代理或该簇的委托代理;再返回步骤(31); (35)事件代理根据订阅者的地址判断订阅者的不同类型:本地注册用户、邻居代理还是簇的委托代理; (36)事件代理根据订阅者类型到订阅主题列表模块中的注册用户订阅表、邻居代理订阅表或簇订阅表中,藉由事件匹配模块增加或删除相关订阅主题项; (37)事件代理的订阅同步模块通过事件代理间通信接口的订阅同步接口,把该订阅变化信息实时同步到统一消息分发网络中同一簇内的其他邻居节点和负责簇间的订阅同步的该簇的委托代理;再返回步骤(31)。
10.根据权利要求6所述的方法,其特征在于:所述步骤(4)中,复杂事件处理引擎的处理流程包括下列操作内容: (41)事件模式编辑模块接收到用户输入的事件声明或事件模式的规则和条件,用于对感兴趣的复杂事件进行过滤; 所述事件声明是采用专门的事件处理语言EPL (Event Processing Language)描述各种事件的条件、事件的关联和跨越的时间窗口,用户还能定义感兴趣的事件检测规则、即声明;另外,也能够定义一些复杂的事件规则来识别不同的模式;为简化事件声明和事件模式的生成,用户通过可视化界面将事件类型注册于复杂事件处理引擎中的事件类型注册模块,事件模式编辑模块直接使用事件类型注册模块提供的事件类型,快速生成事件声明和事件模式; (42)事件模式编辑模块将生成的事件声明和/或事件模式分别加载到事件检测模块的事件声明检测单元和/或事件模式检测单元; (43)复杂事件处理引擎通过输入事件流适配模块接收来自统一消息分发网络中事件代理的实时事件流:包括来自传感器系统的事件和来自物联网业务系统的业务事件,输入事件流适配模块负责适配包括XML或Java对象的不同事件格式,复杂事件处理引擎也能通过数据库连接模块接收来自数据库系统的数据; (44)复杂事件处理引擎采用存储事件查询语句和实时过滤数据的模式,在接收到输入的事件后,由事件检测模块中的事件声明检测单元和事件模式检测单元分别对事件流进行过滤和聚合,一旦发生符合条件的事件时,就触发该事件对应的事件监听模块处理该事件; (45)事件监听模块监听该事件,并根据具体应用需求决定对该事件采取相应处理; (46)复杂事件处理引擎将事件监听模块的处理结果通过输出事件流适配模块适配为标准的复杂事件格式,并通过发布/订阅接口将复杂事件输出到统一消息分发网络的事件代理。
【文档编号】H04L12/28GK103458033SQ201310397448
【公开日】2013年12月18日 申请日期:2013年9月4日 优先权日:2013年9月4日
【发明者】乔秀全, 孙运雷, 章洋, 吴步丹, 程渤, 陈俊亮 申请人:北京邮电大学