一种分布式复杂事件处理系统的制作方法_2

文档序号:8258731阅读:来源:国知局
并将所述复杂事件处理结果以预设的命名结构发送到所述分布式事件分发通信子系统中;
[0040]分布式事件分发通信子系统,用于管理具有预设的命名结构的数据,所述管理包括接收、发送。
[0041]本实施例中,分布式事件分发通信子系统为采用发布Publish/订阅Subscribe通信范型的分布式事件分发通信子系统;预设的命名结构为主题模式,主题模式由主题标题Title以及主题内容Content组成,主题标题Title包括主题名称Topic ;在复杂事件处理子系统中,用户的数据请求为用户的订阅请求,订阅请求包括主题名称Topic ;在分布式事件分发通信子系统中,接收为发布,发送为订阅。
[0042]如图2所示,本实施例中,复杂事件处理子系统包括:复杂事件数据源单元、事件过滤规则单元以及复杂事件监听单元;
[0043]复杂事件数据源单元,用于从将用户的订阅请求发送到分布式事件分发通信子系统中并获取具有预设的命名结构的数据,并将具有预设的命名结构的数据传输到事件过滤规则单元;
[0044]事件过滤规则单元,用于根据预设的复杂事件过滤规则,对具有预设的命名结构的数据进行过滤,得到复杂事件处理结果并将复杂事件处理结果传输到复杂事件监听单元;
[0045]复杂事件监听单元,用于对复杂事件处理结果以预设的命名结构发布到分布式事件分发通信子系统中。
[0046]如图3所示,本实施例中,复杂事件数据源单元,包括:订阅子单元、封装子单元、事件实例构造子单元以及注册子单元;
[0047]订阅子单元,用于在接收到用户的订阅请求之后,将订阅请求发送到分布式事件分发通信子系统中,并从分布式事件分发通信子系统中获取至少一个主题模式,并将主题模式传输到所述封装子单元,主题模式的主题名称Topic与订阅请求中的主题名称相同;
[0048]封装子单元,用于从主题模式中获取主题内容Content,并将主题内容Content与主题名称Topic封装为事件类型,并将事件类型发送到事件实例构造子单元;事件类型包括事件属性及事件类型名称,事件属性为所述主题内容Content,事件类型名称为所述主题名称Topic ;
[0049]事件实例构造子单元,用于根据事件类型,构造至少一个事件实例,并将事件实例传输到注册子单元;
[0050]注册子单元,用于对事件实例进行注册,并将事件实例传输到事件过滤规则单元。
[0051]本实施例中,事件过滤规则单元,用于根据根据预设的复杂事件过滤规则,对事件实例进行过滤,将满足所述复杂事件过滤规则的事件实例作为复杂事件处理结果,并将复杂事件处理结果传输到复杂事件监听单元。
[0052]可见,在实际应用中,订阅子单元可能会从分布式事件分发通信子系统中获取多个主题模式,封装子单元相应地会封装多个事件类型,而事件实例构造子单元会对每个事件类型均生成一个或多个事件实例,则事件过滤规则单元得到的复杂事件处理结果可能包括多个事件类型,每个事件类型又包括多个事件实例。
[0053]如图4所示,本实施例中,复杂事件监听单元,包括:
[0054]复杂事件处理子单元,用于在接收到用户自定义的主题模式之后,将复杂事件处理结果按照用户自定义的主题模式生成相应的主题模式,并将生成的主题模式发送到复杂事件发布子单元;
[0055]复杂事件发布子单元,用于将生成的主题模式发布到分布式事件分发通信子系统中。
[0056]本实施例中的复杂事件监听单元中的复杂事件处理子单元也可设计为:将所述复杂事件处理结果按照所述订阅子单元获取的主题模式生成相应的主题模式,并将生成的主题模式发送到复杂事件发布子单元。
[0057]上述实施例公开的分布式复杂事件处理系统,依托于分布式事件分发通信子系统,根据实际生活的复杂应用场景,灵活多变提供各种复杂场景的业务需求服务,使开发人员能够开发端到端的业务解决方案、场景分析案例、web应用程序等,以解决生活生产的实际需要和业务请求。
[0058]上述实施例公开的分布式复杂事件处理系统中分布式事件分发通信子系统和复杂事件处理子系统之间形成一个可信、可控、可扩的复杂事件实时处理机制和虚拟数据服务平台。复杂事件处理子系统的事件源来于分布式事件分发通信子系统,实现事件源的灵活性以及与复杂事件处理子系统的无缝连接,保证事件数据源的可配置性,经过事件过滤规则的筛选,将结果发布到分布式事件分发通信子系统中,这样不仅能够保证复杂事件处理在更复杂的情景感知场景的合理运用,并且能够很好的使通信的参与者在空间、时间和控制流上完全解親。
[0059]上述实施例公开的分布式复杂事件处理系统中的资源接入子系统可连接各种业务场景所必须的设备,如传感器类,温度传感器,温度传感器;探测类设备,如声音阵列、低空侦查飞行器、红外线传感器等等。
[0060]上述实施例公开的分布式复杂事件处理系统中的命名规则,可以如下实施:
[0061 ] 主题根节点统一命名为alI,基本规则是:主题名称Topic =上一级名称IastLevelName+ “: ” +当前级名称currentLevelName,命名方式是使用帕斯卡命名方式,主题名称的首字母必须为26个大写字母中的任一个,变量名只能是字母(a-z,A-Z),数字(0-9),下划线(_)的组合,并且之间不能包含空格,数字不能放在变量名首位。主题名字要使用有意义的名称,通过变量名能大概反映出其具体的用途;如温度传感器I命名为TemperatureSensorl ;并且服从命名规范,在命名时使用一致的做法。最重要的一点是所有的主题名称Topic不能重复,不忽略大小写,保持Topic在整个结。
[0062]事件类型的命名规则是:事件类型名称eventName =主题名称Topic+ “Event”。
[0063]简单事件场景:订阅一个主题名称Topic,如温度传感器I相关的主题,all: Sensor: TemperatureSensorl,分布式复杂事件处理系统中的封装子单元根据主题模式,自动生成对应的事件类型TemperatureSensorlEvent ;事件实例构造子单元根据事件类型,构造至少一个事件实例;事件过滤规则单元根据预先编辑好的单一事件过滤规则,如simpleFilterRulel,过滤事件实例;复杂事件处理子单元在接收到用户自定义的主题模式(如主题模式的主题名称为AlarmTemperature)之后,将简单事件处理结果按照用户自定义的主题模式生成相应的主题模式,并将生成的主题模式发送到复杂事件发布子单元;复杂事件发布子单元,用于将生成的主题模式发布到分布式事件分发通信子系统中。
[0064]复杂事件场景:订阅多个主题名称Topic,如订阅两种主题,温度传感器I相关的主题,all:Sensor:TemperatureSensorI和湿度传感器I相关的主题,all: Sensor:HumitiditySensorI,分布式复杂事件处理系统中的封装子单元根据主题模式,自动生成对应的事件类型TemperatureSensorlEvent,自动生成对应的事件类型:
[0065]TemperatureSensorlEvent 和 HumitiditySensorlEvent ;事件实例构造子单元根据上述事件类型,对事件类型TemperatureSensorlEvent构造至少一个事件实例;对事件类型HumitiditySensorlEvent构造至少一个事件实例;事件过滤规则单元根据预先编辑好的复杂事件过滤规则,如complexFilterRulel,过滤事件实例;复杂事件处理子单元在接收到用户自定义的主题模式(如主题模式的主题名称为AlarmInformat1n)之后,将复杂事件处理结果按照用户自定义的主题模式生成相应的主题模式,并将生成的主题模式发送到复杂事件发
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1