专利名称::一种能够运行在英特网上的事件订阅服务系统及实现方法
技术领域:
:本发明涉及一种能够运行在英特网上的事件订阅服务系统,用户可以设置需要订阅的事件的特征,以及接收事件通知的方式,当发生符合相应特征的事件时,系统以用户指定的方式发送事件通知,以及实现这类系统的方法。它属于计算机信息服务领域。
背景技术:
:目前,人工和机器跟踪事件的方式有两种查询和订阅。对于英特网中运行的系统来说,查询和订阅的数据格式、通讯方式,都是由服务系统确定的。对于临时性的事件搜索和跟踪,适合查询方式;但长期性的、时间关键的事件跟踪需求,订阅方式是最合适的。下面叙述的本发明的背景,都是以英特网中运行的订阅系统为基础的。目前,英特网中运行的订阅服务器,通常以短信或者电子邮件方式进行通知。这两种方式,都不便于处理非文本的事件,也不适合时间关键的事件跟踪需求。目前,订阅特征都是用事件字段与关键字的匹配关系来描述的,很难描述建立在多个事件之上的综合的事件特征,对于派生新事件、发掘异常事件等需求,需要订阅者订阅大量事件,然后自行处理。目前,订阅服务都是基于单独的事件源提供服务的,即便某些服务上集合了多个其它服务上的服务于一体,都不支持跨越多个事件源的连接关系,并在连接形成的视图上定义需要订阅的事件特征。综上所述,目前的运行于英特网中运行的订阅系统,具有通知方式单调、不支持复杂特征描述、不支持跨越事件源定义需要订阅的事件特征等局限性。
发明内容鉴于以上实际情况,本发明的目的在于提供一种能够运行在英特网上的事件订阅服务系统,用户可以设置需要订阅的事件的特征,以及接收事件通知的方式,当发生符合相应特征的事件时,系统以用户指定的方式发送事件通知。允许用户指定接收事件通知的方式,扩展了当前同类系统,可以处理多种格式,包括二进制格式的事件信息,也可以处理事件关键的事件跟踪需求。具体来说,这种系统就是(a)包含一个用于定义事件特征的界面或应用编程接口,便于用户输入需要订阅的事件的特征,简称特征设置;(b)包含一个用于定义事件接收方式的设置界面或应用编程接口,便于用户输入当发生(a)定义的事件时,本系统如何通知用户,简称通知设置,包括使用的通讯方式、通知格式等;(c)当系统采集到符合用户定义的事件特征的事件时,即时发送通知。为了能够定义复杂的事件特征,减少网络上的数据传输量,以及降低订阅者后续处理的工作量,本发明进一步公开了下面两种定义事件特征的方式(a)采用事件处理语言(EventProcessingLanguage,简称EPL),或类似语言来定4义事件特征,其中EPL是BEAWebLogicEventServer所采用的语言;(b)采用可视化用户界面,让用户通过选择下列一个或多个选项来定义事件特征(bl)需要输出的事件属性、或派生属性;(b2)查询事件源,可以包含批窗口(BatchedWindows)设置;(b3)检索条件;(b4)分组属性或表达式;(b5)输出规范;(b6)排序设置。如前文所述,本发明可以让用户指定接收事件通知的方式。更具体地,我们在通常的电子邮件、手机短信等的基础上,引入了TCP/IP套接字方式,即通知设置提供以下通讯方式选择(a)电子邮件方式,需要用户提供接收事件通知的电子邮件地址;(b)手机短信方式,需要用户提供接收事件通知的手机号码;(c)接受TCP/IP传入连接的套接字方式,需要提供用户接收服务器的IP地址、端口,以及建立会话需要的认证所需信息,比如用户/密码等;(d)用户自己连接的TCP/IP套接字方式,当发生用户需要的事件时,通过事先建立的TCP连接发送通知。目前的运行在英特网上的系统,事件通知格式以方便人工阅读为主。本发明对此作了扩展用户可以通过通知设置选择适合自己的事件通知各式,通知各式包括但不限于XML各式、csv格式、Java对象或集合格式、用户自定义的带占位符的普通文本或HTML格式。其中占位符是对事件属性的引用或表达式。作为专业的事件订阅服务系统,除了提供多样的事件通知方式、灵活强大的事件特征定义机制外,还要能够集成众多的事件源。因此,本发明引入了这样的扩展机制提供事件采集器接口,以便第三方可以注册和发布自己的事件采集器,为系统提供更多的原始事件源。原始事件非常多,如何找到需要的事件是关键。因此,需要引入事件分析的函数和过程。因此,本发明进一步引入了称为事件分析器的过程,它有如下特征接收参数和/或事件,事件分析器的处理结果包括单不限于(a)产生特定类型的新事件、(b)产生过滤后的事件、(C)产生新的特定类型的事件分析器。本发明所述系统,可以作这样的扩展提供事件分析器接口,以便第三方注册和发布自己的事件分析器。目前,信息分析领域已经大量使用统计分析和数据挖掘技术了。为了扩展定义复杂事件特征的能力,方便运用统计分析和数据挖掘技术,本发明进一步引入了事件分析器的概念。在本发明中,事件分析器,是一种程序,它接收参数和/或事件,运行特定的统计和/或数据挖掘算法或其它算法,处理结果包括但不限于(a)产生特定类型的新事件;(b)产生过滤后的事件;(c)产生新的特定类型的事件分析器。特别值得一提的是,事件分析器在建模过程中,以一系列输入事件为基础,经培训算法,产生挖掘模型,这个模型就是一个新的特定类型的事件分析器。这个新的事件分析器,接收新的事件,用先前培训建立的规则进行处理产生新的或经过滤的事件,称为模型的运用。为了方便重用和共享事件分析器,本发明提出了进一步扩展提供事件分析器接口,以便第三方注册和发布自己的事件分析器。事件分析器在整个系统中的使用,类似于新的事件源,只不过这类事件源需要其它事件的驱动。本发明还引入了另一类程序扩展,即事件分析函数,它接收参数和/或事件,返回布尔值、数字值、日期时间值或字符串值。同样,为了方便重用和共享事件分析器,本发明提出了进一步扩展提供事件分析函数接口,以便第三方注册和发布自己的事件分析函数。为了方便集成事件分析器,本发明进一步公布了一种事件分析器注册的规范,即注册时提供一个包括以下内容的描述事件分析器的名称、介绍、参数、流入口及流入事件规范、流出口及流出事件规范。一个事件分析器,可以有O个或多个参数,参数用于调整事件分析器的内部工作机制。事件分析器通常带有一个或多个事件流入口。每一个事件流入口,都包含一个用以区别其他流入口的名字,以及一个描述流入事件必须遵循的元数据规范,用以指明流入事件的包含哪些属性,以及这些属性的名字、数据类型、取值范围等信息。如前文所述,部分事件分析器经实例化(设定参数、绑定事件流入口到具体的事件流)后,效果相当于一个事件源,因此,我们还必须定义事件分析器的流出口及其对应的流出事件规范。本发明在事件分析器概念的基础上,公布了事件分析器的一种运用,以及扩展系统以支持这种运用用户可以通过设置参数、绑定流入事件来实例化事件分析器,将实例化的事件分析器作为自定义的事件源,在自己订阅事件时,可以引用自定义事件源。更进一步,用户可以发布自定义的事件源,以便其他用户使用;或者用户可以设定在特定的用户群中共享自定义的事件源。本系统,由于引入了可以指定通知方式以及即时发送事件通知等特征,尚没有一个公开的可以非常方便地通过扩展来实现本系统的资源。因此,本发明公布了一种可行的实现方法,它具有以下特征(a)包含特征分解服务器,将用户的订阅条件,即特征设置分解为执行步骤;包含执行引擎,维护执行步骤构建的执行上下文,并以此为基础进行事件传播和处理;包含一个通知服务器,维护事件源和通知设置的对应关系,并执行事件通知任务。(b)—个特征设置在执行之前,转化为一个或多个执行步骤,简称执行分解。每一个步骤都包括一个确定的内部表示,以及一个确定的标识符。每个执行步骤,在执行时都会输出事件,输出的事件可以是原始事件,也可以是派生事件。这些执行步骤,也称为派生事件源,多个特征设置可以共享相同的执行步骤,即共享派生事件源。每个执行分解产生的最后执行步骤产生的事件,通常除了内部传递外,还需要通知订阅者,称为带有通知的执行步或带有通知的派生事件源。这时要向事件通知服务器注册这个派生事件源以及它对应的通知设置;(c)执行引擎维护一个执行上下文图,从原始事件源开始,根据所有特征设置的执行分解,构建成一张可以带有回环的有向图。运行时根据执行上下文图来传播事件,图中每一个节点都维护一个指向事件源(包括原始的和派生的)的内部表示的引用,同时维护一个是否对外通知的标志,指示是否需要将产生的事件通知订阅者。(d)每一个事件订阅,都对应一个通知设置。多个事件对应的通知设置可能是相同的,相同的通知设置对应相同的内部表示。系统根据带宽和流量部署通知设置,相同的通知设置可以部署在不同的通知节点。(e)带有通知的执行步,并不直接向订阅者发送通知,而是送到事件通知服务器。通知服务器根据负载均衡算法、通知节点部署、事件源与通知设置的对应关系等将事件转发到具体的通知节点执行实际的通知。附图描述了从用户订阅事件到服务器发送事件的完整过程。用户的订阅行为,包含两个部分特征设置和通知设置。特征设置,经特征分解服务器,分解为若干执行步骤。由于面向互联网用户,产生相同的特征设置,或包含相同执行步骤的特征设置,是有较高概率的。因此,本发明的实现方法中指出,执行引擎要综合这些执行步骤,构造一个执行上下文图。以执行上下文图为基础,事件为驱动,对原始事件进行处理,产生用户需要的目标事件,并传递给事件通知服务器。由事件分析服务器根据负载均衡算法、通知节点部署、事件源与通知设置的对应关系等将事件转发到具体的通知节点执行实际的通知。具体实施例方式
发明内容章节,已经对如何实施、如何运用进行了具体描述。在这里,对事件分析器进行进一步阐述。假定我们检测法院民事判决、裁定事件。每一个初审判决,产生一个初审判决事件,事件表示如下<table>tableseeoriginaldocumentpage7</column></row><table>同时,对每个初审判决进行跟踪,产生判决反应事件,表示如下<table>tableseeoriginaldocumentpage7</column></row><table>我们用大量的判决反应事件为输入,编号为事件标识变量,当事人反应为分类变量(或目标变量),其它事件属性经过数据预处理,采用数据挖掘算法,建立一个判决反应预测模型。这里,接收判决反应事件事件,以及指定事件标识变量、目标变量、需要本文预处理的属性名、具有对照关系的属性名等为参数,输出为判决反应预测模型的程序,就是一个事件分析器。权利要求一种能够运行在英特网上的事件订阅服务系统,其特征在于(a)包含一个用于定义事件特征的界面或应用编程接口,便于用户输入需要订阅的事件的特征,简称特征设置;(b)包含一个用于定义事件接收方式的设置界面或应用编程接口,便于用户输入当发生(a)定义的事件时,本系统如何通知用户,简称通知设置,包括使用的通讯方式、通知格式等;(c)当系统采集到符合用户定义的事件特征的事件时,即时发送通知。2.如权利要求1所述的系统,其特征在于特征设置采用如下方式中的一个或全部提供特征描述(a)采用事件处理语言(EventProcessingLanguage,简称EPL),或类似语言来定义事件特征,其中EPL是BEAWebLogicEventServer所采用的语言;(b)采用可视化用户界面,让用户通过选择下列一个或多个选项来定义事件特征(bl)需要输出的事件属性、或派生属性;(b2)查询事件源,可以包含批窗口(BatchedWindows)设置;(b3)检索条件;(b4)分组属性或表达式;(b5)输出规范;(b6)排序设置。3.如权利要求1所述的系统,其特征在于通知设置提供以下通讯方式选择(a)电子邮件方式,需要用户提供接收事件通知的电子邮件地址;(b)手机短信方式,需要用户提供接收事件通知的手机号码;(c)接受TCP/IP传入连接的套接字方式,需要提供用户接收服务器的IP地址、端口,以及建立会话需要的认证所需信息,比如用户/密码等;(d)用户自己连接的TCP/IP套接字方式,当发生用户需要的事件时,通过事先建立的TCP连接发送通知。4.如权利要求1所述的系统,其特征在于用户可以通过通知设置选择适合自己的事件通知各式,通知各式包括但不限于XML各式、csv格式、Java对象或集合格式、用户自定义的带占位符的普通文本或HTML格式,其中占位符是对事件属性的引用或表达式。5.如权利要求1所述的系统,其特征在于提供事件采集器接口,以便第三方可以注册和发布自己的事件采集器,为系统提供更多的原始事件源。6.如权利要求1所述的系统,其特征在于提供事件分析器接口,以便第三方注册和发布自己的事件分析器,其中事件分析器是一种程序,它接收参数和/或事件,运行特定的统计和/或数据挖掘算法或其它算法,它的处理结果包括但不限于(a)产生特定类型的新事件;(b)产生过滤后的事件;(c)产生新的特定类型的事件分析器。7.如权利要求1所述的系统,其特征在于提供事件分析函数接口,以便第三方注册和发布自己的事件分析函数,其中事件分析函数接收参数和/或事件,事件分析函数返回布尔值、数字值、日期时间值或字符串值。8.如权利要求6所述的系统,其特征在于事件分析器注册到系统时,需要提供一个描述,这个描述指出事件分析器的名称、介绍、参数、流入口及流入事件规范、流出口及流出事件规范。9.如权利要求6所述的系统,其特征在于用户可以通过设置参数、绑定流入事件来实例化事件分析器,将实例化的事件分析器作为自定义的事件源,在自己订阅事件时,可以引用自定义事件源。10.如权利要求9所述的系统,其特征在于用户可以发布自定义的事件源,以便其他用户使用。11.如权利要求9所述的系统,其特征在于用户可以设定在特定的用户群中共享自定义的事件源。12.实现权利要求l所述系统的方法,其特征在于(a)包含特征分解服务器,将用户的订阅条件,即特征设置分解为执行步骤,包含执行引擎,维护执行步骤构建的执行上下文,并以此为基础进行事件传播和处理,包含一个通知服务器,维护事件源和通知设置的对应关系,并执行事件通知任务;(b)—个特征设置在执行之前,转化为一个或多个执行步骤,简称执行分解,每一个步骤都包括一个确定的内部表示,以及一个确定的标识符,在执行时都会输出事件,输出的事件可以是原始事件,也可以是派生事件,这些执行步骤,也称为派生事件源,多个特征设置可以共享相同的执行步骤,即共享派生事件源,每个执行分解产生的最后执行步骤产生的事件,通常除了内部传递外,还需要通知订阅者,称为带有通知的执行步或带有通知的派生事件源,这时要向事件通知服务器注册这个派生事件源以及它对应的通知设置;(c)执行引擎维护一个执行上下文图,从原始事件源开始,根据所有特征设置的执行分解,构建成一张可以带有回环的有向图,运行时根据执行上下文图来传播事件,图中每一个节点都维护一个指向事件源(包括原始的和派生的)的内部表示的引用,同时维护一个是否对外通知的标志,指示是否需要将产生的事件通知订阅者;(d)每一个事件订阅,都对应一个通知设置,多个事件对应的通知设置可能是相同的,相同的通知设置对应相同的内部表示,系统根据带宽和流量部署通知设置,相同的通知设置可以部署在不同的通知节点;(e)带有通知的执行步,并不直接向订阅者发送通知,而是送到事件通知服务器,通知服务器根据负载均衡算法、通知节点部署、事件源与通知设置的对应关系等将事件转发到具体的通知节点执行实际的通知。全文摘要本发明涉及一种能够运行在英特网上的事件订阅服务系统,用户可以设置需要订阅的事件的特征,以及接收事件通知的方式,当发生符合相应特征的事件时,系统以用户指定的方式发送事件通知,以及实现这类系统的方法。它适用于处理长时间的、时间关键的事件跟踪和处理。在服务器端预先进行复杂的事件处理运算,以及跨多个事件源的处理运算,可以大量减少订阅端的处理工作,并利用服务器端的处理算法,减少网络带宽消耗。文档编号H04L12/58GK101719879SQ200810200948公开日2010年6月2日申请日期2008年10月9日优先权日2008年10月9日发明者万德洪申请人:万德洪