业务数据事件的分析订阅方法及系统的制作方法

xiaoxiao2021-2-28  188

业务数据事件的分析订阅方法及系统的制作方法
【技术领域】
[0001]本发明涉及数据处理技术,尤其涉及一种业务数据事件的分析订阅方法及系统。
【背景技术】
[0002]在经典的订阅系统中,用户通过订阅系统注册订阅条件,订阅系统根据用户的订阅条件过滤系统中的信息,向用户推送符合用户条件的信息。订阅系统根据过滤条件类型可以分为三种:1.基于消息主题的订阅系统;2.基于消息内容的订阅系统;3.基于消息主题和内容的订阅系统。
[0003]在基于主题的系统中,消息被发布到主题或命名通道上。用户将收到其订阅的主题上的所有消息,并且所有订阅同一主题的订阅者将接收到同样的消息。发布者负责定义订阅者所订阅的消息类别。
[0004]在基于内容的系统中,订阅者定义其感兴趣的消息的条件,只有当消息的属性或内容满足订阅者定义的条件时,消息才会被投递到该订阅者。订阅者负责对消息进行分类。
[0005]在基于消息主题和内容的订阅系统,系统会支持基于主题和基于内容的混合订阅,即发布者发布消息到主题上,而订阅者将基于内容的订阅注册到一个或多个主题上。
[0006]以上三种类型的订阅系统实现都存在一个前提条件:系统收到的信息是有确定的主题和内容的。在实际的应用场景中,用户不仅对信息的内容感兴趣,对信息变化产生的事件更感兴趣。用户不仅需要知道信息的内容,更重要的是要知道发生了什么事件,尤其是某些具有重要意义的事件。
[0007]事件的判断需要比较消息的前后两个状态的数据项,根据数据项的变化来判断是发生了何种事件。现有的订阅系统只能根据信息当前的数据项进行过滤,因此无法根据事件来进行订阅。
[0008]由于事件的不可预知性,在判断事件时不能确定是否有事件发生及有几个事件发生,因此需要对每种事件进行识别。识别的逻辑即比较各个数据项前后是否发生变化。通用的方式通过命令式编程语言如java、c++来实现事件的识别逻辑,需要使用IF语句来判断每个事件,如果事件涉及多个数据项的变化,各个IF语句判断之间会存在关联。采用此种方式,一方面分支会随着事件增长,复杂度呈现非线性增长,非常容易出现逻辑错误,且程序运行的效率比较低;另一方面,每增加一个事件,需要对程序进行重新编译、部署、重启,对业务需求变化响应速度慢。

【发明内容】

[0009]为解决现有存在的技术问题,本发明实施例提供一种业务数据事件的分析订阅方法及系统。
[0010]为达到上述目的,本发明实施例的技术方案是这样实现的:
[0011]—种业务数据事件的分析订阅系统,所述系统包括:数据接收模块、数据建模模块、规则处理模块、结果推送模块。
[0012]其中,所述数据接收模块用于从数据源接收数据,并对数据进行解析和数据正确性验证;
[0013]所述数据建模模块用于对数据接收模块接收到的正确数据进行分析、匹配,并根据数据类型进行建模,生成标准的数据模型;
[0014]所述规则处理模块用于根据数据模型,进行事件分析和识别,并根据对数据进行重新建模;以及,对重新建模后的数据根据用户的订阅规则进行处理和过滤,得到用户需要的信息;
[0015]所述结果推送模块用于对规则处理模块的结果进行格式化处理,生成符合用户需要的格式信息,并将格式化后的信息推送给用户。
[0016]其中,所述数据接收模块,具体用于:首先从数据源接收数据,然后进行数据解析,数据解析后对数据进行验证,如果数据正确,把数据传递到数据建模模块;如果数据错误,重新从数据源接收数据,进行数据接收处理流程。
[0017]其中,所述数据建模模块,具体用于:从数据接收模块接收数据后,首先对数据进行解析,然后对解析后的结果进行重组配对,生成标准数据模型,最后将数据模型传递到所述规则处理模块。
[0018]其中,所述规则处理模块,具体用于:从所述数据建模模块得到标准数据模型后,首先对数据模型进行分析,根据分析的结果进行事件识别,对事件识别的结果和数据模型数据进行重新建模;根据用户的订阅规则,对新的数据模型规则过滤,得到用户需要的信息,并将结果传递到所述结果推送模块。
[0019]其中,所述结果推送模块,具体用于:从所述规则处理模块获得处理后的结果,将结果格式化为用户需要的格式,并根据用户选择发送通道,选定发送通道后,将结果推送给用户。
[0020]其中,所述数据接收模块,用于通过消息中间件WebSphereMQ从数据源接收数据,然后对数据完整性进行验证。
[0021]其中,所述数据建模模块用于对解析后的结果进行重组配对,包括:根据数据的属性到数据库表中查询,基于不同的查询结果采用不同方式将数据存储到数据对象;返回一个结果时,该结果是该数据的上一状态,将结果解析到一个新的数据对象中,将该对象定义为old object,然后将数据对象new object更新到数据库中,覆盖数据表中的数据;返回结果为空时:定义一个old object,其值为空,然后将数据对象new object插入到数据表中。
[0022]其中,所述数据建模模块用于对解析后的结果进行重组配对,包括:根据不同的业务场景,对new object和old object进行重组,将new object和old object分别拆分为以当前业务场景的关键项为基本单元的数据列表,将两个数据列表进行匹配;根据所述匹配的结果,将新旧数据列表中的数据分别填充到组合的数据对象中,该数据对象含有两个属性:old object和new object;通过所述匹配,会得到组合对象列表,每个组合对象为一个新的数据模型,用于事件识别。
[0023]其中,如果数据是旅客预定记录,业务场景是旅客航段预定操作,则将newobject和old object分别拆分为以旅客航段为基本单元的数据列表,将两个数据列表进行匹配;如果数据是航班数据,业务场景为航班航段的操作,则将new object和old object分别拆分为以航段为基本单元的数据列表,将两个数据列表进行匹配。
[0024]其中,所述规则处理模块,具体用于接收到数据建模模块的数据模型后,根据所述数据模型的类型调用不同的规则进行事件判断;对于一个数据模型,可能会判断出0到多个事件,将这些判断产生的事件和数据模型组合成一个新的数据模型,所述新的数据模型含old object、new object和事件列表;将事件名作为数据模型的属性,与数据的其它属性一致,用于用户规则过滤,过滤后的数据模型传输到所述结果推送模块。
[0025]其中,所述结果推送模块,具体用于接收所述规则处理模块的结果,根据数据模型的内容类型确定数据模块的取值。
[0026]其中,所述结果推送模块,具体用于根据数据模型的取值,将其格式化为标准的XML字符串,并向预定的用户推送相应的信息。
[0027]—种业务数据事件的分析订阅方法,所述方法通过上述业务数据事件的分析订阅系统执行。
[0028]其中,所述方法包括:数据接收模块从数据源接收数据,并对数据进行解析和数据正确性验证;数据建模模块对数据接收模块接收到的正确数据进行分析、匹配,并根据数据类型进行建模,生成标准的数据模型;规则处理模块根据数据模型,进行事件分析和识别,并根据对数据进行重新建模;以及,对重新建模后的数据根据用户的订阅规则进行处理和过滤,得到用户需要的信息;结果推送模块对所述规则处理模块的结果进行格式化处理,生成符合用户需要的格式信息,并将格式化后的信息推送给用户。
[0029]其中,所述数据接收模块首先从数据源接收数据,然后进行数据解析,数据解析后对数据进行验证,如果数据正确,把数据传递到数据建模模块;如果数据错误,重新从数据源接收数据,进行数据接收处理流程。
[0030]其中,所述数据建模模块从数据接收模块接收数据后,首先对数据进行解析,然后对解析后的结果进行重组配对,生成标准数据模型,最后将数据模型传递到所述规则处理模块。
[0031]其中,所述规则处理模块从所述数据建模模块得到标准数据模型后,首先对数据模型进行分析,根 据分析的结果进行事件识别,对事件识别的结果和数据模型数据进行重新建模;根据用户的订阅规则,对新的数据模型规则过滤,得到用户需要的信息,并将结果传递到所述结果推送模块。
[0032]其中,所述结果推送模块从所述规则处理模块获得处理后的结果,将结果格式化为用户需要的格式,并根据用户选择发送通道,选定发送通道后,将结果推送给用户。
[0033]其中,所述数据接收模块,用于通过消息中间件WebSphereMQ从数据源接收数据,然后对数据完整性进行验证。
[0034]其中,所述数据建模模块对解析后的结果进行重组配对,包括:根据数据的属性到数据库表中查询,基于不同的查询结果采用不同方式将数据存储到数据对象;返回一个结果时,该结果是该数据的上一状态,将结果解析到一个新的数据对象中,将该对象定义为old object,然后将数据对象new object更新到数据库中,覆盖数据表中的数据;返回结果为空时:定义一个old object,其值为空,然后将数据对象new object插入到数据表中。
[0035]其中,所述数据建模模块对解析后的结果进行重组配对,还包括:根据不同的业务场景,对new object和old object进行重组,将new object和old object分别拆分为以当前业务场景的关键项为基本单元的数据列表,将两个数据列表进行匹配;根据所述匹配的结果,将新旧数据列表中的数据分别填充到组合的数据对象中,该数据对象含有两个属性:old object和new object;通过所述匹配,会得到组合对象列表,每个组合对象为一个新的数据模型,用于事件识别。
[0036]其中,如果数据是旅客预定记录,业务场景是旅客航段预定操作,则将newobject和old object分别拆分为以旅客航段为基本单元的数据列表,将两个数据列表进行匹配;如果数据是航班数据,业务场景为航班航段的操作,则将new object和old object分别拆分为以航段为基本单元的数据列表,将两个数据列表进行匹配。
[0037]其中,所述规则处理模块接收到数据建模模块的数据模型后,根据所述数据模型的类型调用不同的规则进行事件判断;对于一个数据模型,可能会判断出0到多个事件,将这些判断产生的事件和数据模型组合成一个新的数据模型,所述新的数据模型含oldobject、new object和事件列表;将事件名作为数据模型的属性,与数据的其它属性一致,用于用户规则过滤,过滤后的数据模型传输到所述结果推送模块。
[0038]其中,所述结果推送模块接收所述规则处理模块的结果,根据数据模型的内容类型确定数据模块的取值。
[0039]其中,所述结果推送模块根据数据模型的取值,将其格式化为标准的XML字符串,并向预定的用户推送相应的信息。
[0040]本发明实施例通过引入规则引擎技术来实现业务数据事件的分析和订阅方法及系统。通过规则引擎系统的Rete算法和描述式编程语言,可以高效地实现事件的识别,且支持无需重启系统即可修改事件判断规则,大大提高了响应业务需求变化的速度;规则引擎实现事件识别后,将事件作为信息的主题,从而解决了订阅系统没有事件信息的问题,使得经典的订阅系统的消息订阅方式可以实现事件订阅的功能。
【附图说明】
[0041]在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
[0042]图1为本发明实施例业务数据事件的分析订阅系统的组成结构示意图;
[0043]图2为本发明实施例业务数据事件的分析订阅方法的流程示意图;
[0044]图3为本发明实施例数据接收模块的处理流程示意图;
[0045]图4为本发明实施例数据建模模块的处理流程示意图;
[0046]图5为本发明实施例规则处理模块的处理流程示意图;
[0047]图6为本发明实施例结果推送模块的处理流程示意图。
【具体实施方式】
[0048]本发明实施例中的术语“事件”含义为:当某条消息前后状态发生变化,消息的某些信息项发生变化,该变化定义为事件。
[0049]本发明实施例通过数据建模,将数据拆分为合适业务处理的基本单元,通过比较数据的新旧状态来进行数据变化分析,从而实现事件识别。将事件识别的结果作为属性放到数据模型中比较数据新旧状态来进行事件识别,并将事件识别的结果作为数据模型的一个属性,从而使系统能够根据事件变化进行规则处理,解决了订阅系统只能处理数据静态属性不能处理动态变化信息的问题,实现动态信息的订阅发布功能。
[0050]如图1所示,本发明实施例的业务数据事件的分析订阅系统包括四个模块:数据接收模块、数据建模模块、规则处理模块、结果推送模块。
[0051]本发明实施例业务数据事件的分析订阅方法的流程如图2所示,其中,系统开始运行后,首先从上游系统接收数据,然后对数据的正确性进行验证,如果数据不正确,系统将会接收下一条数据;如果数据正确,对数据进行建模;数据建模后,将数据模型放入到规则引擎中进行规则处理,然后将处理后的结果推送给用户。此条数据处理完毕后,将会继续从上游系统接收数据,按上述流程循环处理。
[0052]结合图1与图2,下面针对本发明实施例各模块的功能和具体的实现流程进行详细说明。具体地,如下所述:
[0053]数据接收模块用于从数据源接收数据,并对数据进行解析和数据正确性验证。数据接收模块的处理流程如图3所示,包括:数据接收模块首先从数据源接收数据,然后进行数据解析,数据解析后对数据进行验证,如果数据正确,把数据传递到数据建模模块;如果数据错误,重新从数据源接收数据,进行数据接收处理流程。
[0054]数据建模模块用于对数据接收模块接收到的正确数据进行分析、匹配,并根据数据类型进行建模,生成标准的数据模型。数据建模模块的处理流程如图4所示,包括:数据建模模块从数据接收模块接收数据后,首先对数据进行解析,然后对解析后的结果进行重组配对,生成标准数据模型,最后将数据模型传递到规则处理模块。
[0055]规则处理模块用于根据数据模型,进行事件分析和识别,并根据对数据进行重新建模;以及,对重新建模后的数据根据用户的订阅规则进行处理和过滤,得到用户需要的信息。规则处理模块的处理流程如图5所示,包括:规则处理模块从数据建模模块得到标准数据模型后,首先对数据模型进行分析,根据分析的结果进行事件识别,对事件识别的结果和数据模型数据进行重新建模;根据用户的订阅规则,对新的数据模型规则过滤,得到用户需要的信息,并将结果传递到结果推送模块。
[0056]结果推送模块用于对规则处理模块的结果进行格式化处理,生成符合用户需要的格式信息,并将格式化后的信息推送给用户。结果推送模块的处理流程如图5所示,包括:结果推送模块从规则处理模块获得处理后的结果,将结果格式化为用户需要的格式,并根据用户选择发送通道,选定发送通道后,将结果推送给用户。
[0057]系统的数据接收模块通过消息中间件(WebSphereMQ)从数据源接收数据,然后对数据完整性进行验证。数据源的数据格式分为两种:二进制格式数据和XML格式数据。二进制数据格式的数据验证方法为:根据二进制数据的长度和二进制头部长度字段值进行比较,如果相等,判断该数据正确;如果不相等,判断数据不正确。XML数据通过Schema定义文件验证数据是否正确。对于不正确的数据,系统会进行日志记录,并获取下一条数据;如果是正确的数据,将会发送到数据建模模块。
[0058]数据建模模块收到数据后,首先将数据解析,将数据存储到一个数据对象中。每种业务数据都有各自的数据对象定义,如旅客订座记录、旅客电子客票、航班等都有各自的数据对象定义。数据对象定义为new object,数据对象中含有业务数据的各种属性,数据建模模块根据数据的属性到数据库表中查询,查询结果有两种可能,基于不同的查询结果采用不同方式将数据存储到数据对象,具体地:1)返回一个结果时:该结果是 该数据的上一状态,数据建模模块将结果解析到一个新的数据对象中,将该对象定义为上一状态的数据对象(old object),然后将当前状态的数据对象(new object)更新到数据库中,覆盖数据表中的数据;2)返回结果为空时:定义一个ο Id object,其值为空,然后将数据对象newobject插入到数据表中。
[0059]根据不同的业务场景,数据建模模块对new object和old object进行重组,将newobject和old object分别拆分为以当前业务场景的关键项为基本单元的数据列表,将两个数据列表进行匹配。具体地,如果数据是旅客预定记录,业务场景是旅客航段预定操作,则将new object和old object分别拆分为以旅客航段为基本单元的数据列表,将两个数据列表进行匹配,匹配的关键字为旅客姓名、航段起始到达城市、航班号、航班日期;如果数据是航班数据,业务场景为航班航段的操作,则将new object和old object分别拆分为以航段为基本单元的数据列表,将两个数据列表进行匹配,匹配的关键字为起始机场、到达机场。根据匹配的结果,将新旧数据列表中的数据分别填充到组合的数据对象中,该数据对象含有两个属性:old object和new object。这里,数据匹配的结果有如下几种情况:1)旧的数据列表中有数据,新的数据列表中没有数据:组合对象的old object为旧的数据列表中的数据,new object为空。2)旧的数据列表中没有数据,新的数据列表中有数据:组合对象的old object为空,new object为新的数据列表中的数据。3)旧的数据列表中有数据,新的数据列表中有数据:组合对象的old object为旧的数据列表中的数据,new object为新的数据列表中的数据。通过以上匹配,会得到组合对象列表,每个组合对象就是一个新的数据模型,用于事件识别。
[0060]规则处理模块接收到数据建模模块的数据模型后,根据数据模型的类型调用不同的规则进行事件判断。如果是旅客预定记录模型,事件判断有如下三种类型:l)new object为空值,old object不为空值:该旅客航段被删除,据此判断发生取消旅客航段预定事件。2)old object为空值,new object不为空值:该旅客航段是新增数据,据此判断发生新预定旅客航段事件。3)old object和new object都不为空值:根据old object和new object的属性值的变化来判断发生何种事件,如果是航段的状态码发生变化,据此可以判断发生航段状态修改事件;如果旅客证件信息发生变化,据此可以判断发生旅客信息修改事件。
[0061]对于一个数据模型,可能会判断出0到多个事件,将这些判断产生的事件和数据模型组合成一个新的数据模型,该模型含old object、new object和事件列表。以旅客订座记录为例,如果用户订阅的条件是新预定国航航段的F舱位旅客,规则处理的流程为:首先判断事件名是否含新预定航段事件,如果含有,则判断new object中航班是否为国航航班,如果是国航航班,再判断舱位是否为F舱位,如果是,则该数据模型的数据满足用户的需求;如果用户订阅的条件是取消国航航段的F舱位旅客,规则处理的流程为:首先判断事件名是否含取消预定航段事件,如果含有,则判断new object中航班是否为国航航班,如果是国航航班,再判断舱位是否为F舱位,如果是,则该数据模型的数据满足用户的需求;如果用户订阅的条件是国航航段的F舱位发生常客卡号变更的旅客,规则处理的流程为:首先判断事件名是否含常客卡变更事件,如果含有,则判断new object中航班是否为国航航班,如果是国航航班,再判断舱位是否为F舱位,如果是,则该数据模型的数据满足用户的需求。将事件名作为数据模型的属性,与数据的其它属性一致,用于用户规则过滤。过滤后的数据模型传输到结果推送模块。
[0062]结果推送模块收到规则处理模块的结果,根据数据模型的内容类型取值有三种处理情况:l)new object为空值,old object不为空值:数据取值为old object的值和事件名。2)old object为空值,new object不为空值:数据取值为new object的值和事件名。3)old object不为空值,new object不为空值:数据取值为new object的值和事件名。根据数据模型的取值,结果推送模块将其格式化为标准的XML字符串,并向预定的用户推送相应的?目息。
[0063]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0064]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0065]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0066]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0067]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
【主权项】
1.一种业务数据事件的分析订阅系统,其特征在于,所述系统包括:数据接收模块、数据建模模块、规则处理模块、结果推送模块。2.根据权利要求1所述的系统,其特征在于, 所述数据接收模块用于从数据源接收数据,并对数据进行解析和数据正确性验证; 所述数据建模模块用于对数据接收模块接收到的正确数据进行分析、匹配,并根据数据类型进行建模,生成标准的数据模型; 所述规则处理模块用于根据数据模型,进行事件分析和识别,并根据对数据进行重新建模;以及,对重新建模后的数据根据用户的订阅规则进行处理和过滤,得到用户需要的信息; 所述结果推送模块用于对规则处理模块的结果进行格式化处理,生成符合用户需要的格式信息,并将格式化后的信息推送给用户。3.根据权利要求2所述的系统,其特征在于,所述数据接收模块,具体用于:首先从数据源接收数据,然后进行数据解析,数据解析后对数据进行验证,如果数据正确,把数据传递到数据建模模块;如果数据错误,重新从数据源接收数据,进行数据接收处理流程。4.根据权利要求2所述的系统,其特征在于,所述数据建模模块,具体用于:从数据接收模块接收数据后,首先对数据进行解析,然后对解析后的结果进行重组配对,生成标准数据模型,最后将数据模型传递到所述规则处理模块。5.根据权利要求2所述的系统,其特征在于,所述规则处理模块,具体用于:从所述数据建模模块得到标准数据模型后,首先对数据模型进行分析,根据分析的结果进行事件识别,对事件识别的结果和数据模型数据进行重新建模;根据用户的订阅规则,对新的数据模型规则过滤,得到用户需要的信息,并将结果传递到所述结果推送模块。6.根据权利要求2所述的系统,其特征在于,所述结果推送模块,具体用于:从所述规则处理模块获得处理后的结果,将结果格式化为用户需要的格式,并根据用户选择发送通道,选定发送通道后,将结果推送给用户。7.根据权利要求3所述的系统,其特征在于, 所述 数据接收模块,用于通过消息中间件WebSphere MQ从数据源接收数据,然后对数据完整性进行验证。8.根据权利要求4所述的系统,其特征在于,所述数据建模模块用于对解析后的结果进行重组配对,包括: 根据数据的属性到数据库表中查询,基于不同的查询结果采用不同方式将数据存储到数据对象; 返回一个结果时,该结果是该数据的上一状态,将结果解析到一个新的数据对象中,将该对象定义为上一状态的数据对象old object,然后将当前状态的数据对象new object更新到数据库中,覆盖数据表中的数据; 返回结果为空时:定义一个old object,其值为空,然后将new object插入到数据表中。9.根据权利要求8所述的系统,其特征在于,所述数据建模模块用于对解析后的结果进行重组配对,包括: 根据不同的业务场景,对new object和old object进行重组,将new object和oldobject分别拆分为以当前业务场景的关键项为基本单元的数据列表,将两个数据列表进行匹配; 根据所述匹配的结果,将新旧数据列表中的数据分别填充到组合的数据对象中,该数据对象含有两个属性:old object和new object; 通过所述匹配,会得到组合对象列表,每个组合对象为一个新的数据模型,用于事件识别。10.根据权利要求9所述的系统,其特征在于: 如果数据是旅客预定记录,业务场景是旅客航段预定操作,则将new object和oldobject分别拆分为以旅客航段为基本单元的数据列表,将两个数据列表进行匹配; 如果数据是航班数据,业务场景为航班航段的操作,则将new object和old object分别拆分为以航段为基本单元的数据列表,将两个数据列表进行匹配。11.根据权利要求5所述的系统,其特征在于,所述规则处理模块,具体用于接收到数据建模模块的数据模型后,根据所述数据模型的类型调用不同的规则进行事件判断; 对于一个数据模型,可能会判断出0到多个事件,将这些判断产生的事件和数据模型组合成一个新的数据模型,所述新的数据模型含old object、new object和事件列表; 将事件名作为数据模型的属性,与数据的其它属性一致,用于用户规则过滤,过滤后的数据模型传输到所述结果推送模块。12.根据权利要求6所述的系统,其特征在于,所述结果推送模块,具体用于接收所述规则处理模块的结果,根据数据模型的内容类型确定数据模块的取值。13.根据权利要求12所述的系统,其特征在于,所述结果推送模块,具体用于根据数据模型的取值,将其格式化为标准的XML字符串,并向预定的用户推送相应的信息。14.一种业务数据事件的分析订阅方法,其特征在于,所述方法通过权利要求1至13任一项所述的系统执行。15.根据权利要求14所述的方法,其特征在于,所述方法包括: 数据接收模块从数据源接收数据,并对数据进行解析和数据正确性验证; 数据建模模块对数据接收模块接收到的正确数据进行分析、匹配,并根据数据类型进行建模,生成标准的数据模型; 规则处理模块根据数据模型,进行事件分析和识别,并根据对数据进行重新建模;以及,对重新建模后的数据根据用户的订阅规则进行处理和过滤,得到用户需要的信息; 结果推送模块对所述规则处理模块的结果进行格式化处理,生成符合用户需要的格式信息,并将格式化后的信息推送给用户。16.根据权利要求15所述的方法,其特征在于:所述数据接收模块首先从数据源接收数据,然后进行数据解析,数据解析后对数据进行验证,如果数据正确,把数据传递到数据建模模块;如果数据错误,重新从数据源接收数据,进行数据接收处理流程。17.根据权利要求15所述的方法,其特征在于:所述数据建模模块从数据接收模块接收数据后,首先对数据进行解析,然后对解析后的结果进行重组配对,生成标准数据模型,最后将数据模型传递到所述规则处理模块。18.根据权利要求15所述的方法,其特征在于:所述规则处理模块从所述数据建模模块得到标准数据模型后,首先对数据模型进行分析,根据分析的结果进行事件识别,对事件识别的结果和数据模型数据进行重新建模;根据用户的订阅规则,对新的数据模型规则过滤,得到用户需要的信息,并将结果传递到所述结果推送模块。19.根据权利要求15所述的方法,其特征在于:所述结果推送模块从所述规则处理模块获得处理后的结果,将结果格式化为用户需要的格式,并根据用户选择发送通道,选定发送通道后,将结果推送给用户。20.根据权利要求16所述的方法,其特征在于:所述数据接收模块,用于通过消息中间件WebSphere MQ从数据源接收数据,然后对数据完整性进行验证。21.根据权利要求17所述的方法,其特征在于,所述数据建模模块对解析后的结果进行重组配对,包括: 根据数据的属性到数据库表中查询,基于不同的查询结果采用不同方式将数据存储到数据对象; 返回一个结果时,该结果是该数据的上一状态,将结果解析到一个新的数据对象中,将该对象定义为上一状态的数据对象old object,然后将当前状态的数据对象new object更新到数据库中,覆盖数据表中的数据; 返回结果为空时:定义一个old object,其值为空,然后将new object插入到数据表中。22.根据权利要求21所述的方法,其特征在于,所述数据建模模块对解析后的结果进行重组配对,还包括: 根据不同的业务场景,对new object和old object进行重组,将new object和oldobject分别拆分为以当前业务场景的关键项为基本单元的数据列表,将两个数据列表进行匹配; 根据所述匹配的结果,将新旧数据列表中的数据分别填充到组合的数据对象中,该数据对象含有两个属性:old object和new object; 通过所述匹配,会得到组合对象列表,每个组合对象为一个新的数据模型,用于事件识别。23.根据权利要求22所述的方法,其特征在于: 如果数据是旅客预定记录,业务场景是旅客航段预定操作,则将new object和oldobject分别拆分为以旅客航段为基本单元的数据列表,将两个数据列表进行匹配; 如果数据是航班数据,业务场景为航班航段的操作,则将new object和old object分别拆分为以航段为基本单元的数据列表,将两个数据列表进行匹配。24.根据权利要求18所述的方法,其特征在于: 所述规则处理模块接收到数据建模模块的数据模型后,根据所述数据模型的类型调用不同的规则进行事件判断; 对于一个数据模型,可能会判断出0到多个事件,将这些判断产生的事件和数据模型组合成一个新的数据模型,所述新的数据模型含old object、new object和事件列表; 将事件名作为数据模型的属性,与数据的其它属性一致,用于用户规则过滤,过滤后的数据模型传输到所述结果推送模块。25.根据权利要求19所述的方法,其特征在于: 所述结果推送模块接收所述规则处理模块的结果,根据数据模型的内容类型确定数据模块的取值。26.根据权利要求25所述的方法,其特征在于: 所述结果推送模块根据数据模型的取值,将其格式化为标准的XML字符串,并向预定的用户推送相应的信息。
【专利摘要】本发明公开了一种业务数据事件的分析订阅系统,所述系统包括:数据接收模块用于从数据源接收数据,并对数据进行解析和数据正确性验证;数据建模模块用于对数据接收模块接收到的正确数据进行分析、匹配,并根据数据类型进行建模,生成标准的数据模型;规则处理模块用于根据数据模型,进行事件分析和识别,并根据对数据进行重新建模;以及,对重新建模后的数据根据用户的订阅规则进行处理和过滤,得到用户需要的信息;结果推送模块用于对规则处理模块的结果进行格式化处理,生成符合用户需要的格式信息,并将格式化后的信息推送给用户。相应的,本发明还公开了一种业务数据事件的分析订阅方法,解决了订阅系统没有事件信息的问题,使得经典的订阅系统的消息订阅方式可以实现事件订阅的功能。
【IPC分类】G06F17/30
【公开号】CN105488223
【申请号】CN201511000964
【发明人】滕其武, 熊国民, 林敏
【申请人】中国民航信息网络股份有限公司
【公开日】2016年4月13日
【申请日】2015年12月28日

最新回复(0)