数据业务平台上数据交互方法和系统的制作方法

文档序号:7958860阅读:405来源:国知局
专利名称:数据业务平台上数据交互方法和系统的制作方法
技术领域
本发明涉及数据通信技术领域,尤其是涉及一种数据业务平台上数据交互方法和系统。
背景技术
在大型的数据业务平台的整体实现过程中,会有许多具有某种特定功能的应用服务模块之间需要进行实时的消息交互,现有的方案通常采用如下两种方式来实现不同应用服务模块之间的消息交互:第一种方式为点对点消息交互方式。在这种方式下,每个应用服务模块都需要跟自己有关联的其他服务模块建立并维护点对点的消息通道,从而能够跟这些应用服务模块进行消息交互。第二种方式为广播式消息交互方式。在这种方式下,每个应用服务模块都以广播的方式向其他应用服务模块发布消息,相应的,每个应用服务模块也需要接收其他应用服务模块广播的消息,不同的应用服务模块利用广播的消息实现彼此之间的消息交互。现有的上述处理方式存在诸多不足之处,例如:对于上述第一种方式,每当有新的应用服务模块加入,已有的某应用服务模块需要和这个新的应用服务模块进行通信时,需要对该已有的应用服务模块和平台上其他已有的应用服务模块都进行修改,造成平台的扩展性差;并且,当应用服务模块的数量达到一定规模,模块之间消息信道的维护工作将是一件非常复杂且容易出错的任务,导致平台的实现过于复杂;最后,随着应用服务模块的复杂度增加,消息交互的频率也随之增大,消息密集度过大,会导致消息传递的延误或者不能正确传递消息。对于上述第二种方式,每个应用服务模块都会收到很多不必要的消息,且都要对这些消息进行一一识别,从而降低了消息处理效率;并且,平台网络中传递的消息数量会非常大,增加了平台的负担,从而降低消息传递的准确性和及时性。

发明内容
本发明实施例提供了一种数据业务平台上数据交互方法和系统,能够提高平台的扩展性,降低平台实现的复杂度,提高数据处理的效率,保证数据业务平台中数据传递的准确性和及时性。为达到上述目的,本发明实施例的技术方案是这样实现的:本发明实施例提供了一种数据业务平台上数据交互方法,该方法包括:当第一应用服务模块确定需要与第二应用服务模块进行数据交互时,消息总线接收第一应用服务模块通过第一接口发送的第一协议数据包;消息总线根据所述第一协议数据包判断获知第二应用服务模块,将第一协议数据包通过第二接口发送至第二应用服务模块,由第二应用服务模块对所述第一协议数据包进行处理,并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包;
消息总线根据所述第二协议数据包判断获知第一应用服务模块,通过第一接口将所述第二协议数据包发送至第一应用服务模块。本发明实施例还提供了一种数据业务平台上数据交互系统,该系统包括至少一个消息总线,所述消息总线,当第一应用服务模块确定需要与第二应用服务模块进行数据交互时,接收第一应用服务模块通过第一接口发送的第一协议数据包;根据所述第一协议数据包判断获知第二应用服务模块,将第一协议数据包通过第二接口发送至第二应用服务模块,由第二应用服务模块对所述第一协议数据包进行处理,并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包;以及,通过第一接口将所述第二协议数据包发送至第一应用服务模块。由上述可见,本发明实施例的技术方案在数据业务平台上提供了一种基于消息总线的分布式数据交互架构,将消息总线作为数据交互的中枢,各个不同的应用服务模块都连接在消息总线上分别与消息总线进行数据交互,并由消息总线实现数据的传递。本方案提供的新型的数据交互架构,无需维护应用服务模块之间的消息信道,并且,在有新的应用服务模块加入时,只需将该新的应用服务模块连接至消息总线即可,无需对已有的应用服务模块进行修改,大大提高了平台的扩展性,降低了平台实现的复杂度。进一步的,本方案保证了数据业务平台中的应用服务模块只需处理与自身需求相关的消息,避免了应用服务模块接收到大量不必要的消息,显著提高了数据处理的效率,降低了平台的负担。本方案能够有效实现不同应用服务模块之间错综复杂的实时数据交互,保证数据业务平台中数据传递的准确性和及时性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例一提供的一种数据业务平台上数据交互方法流程示意图;图2为本发明实施例二提供的基于消息总线的分布式数据业务平台的结构示意图;图3为本发明实施例二提供的数据业务平台上数据交互方法流程示意图;图4为本发明实施例二提供的总线之总线部署模式结构示意图;图5为本发明实施例二提供的总线之总线部署模式下数据交互方法流程示意图;图6为本发明实施例二提供的线性串行部署模式结构示意图;图7为本发明实施例二提供的线性串行部署模式下数据交互方法流程示意图;图8为本发明实施例三提供的一种数据业务平台上数据交互系统结构示意图。
具体实施例方式下面将结合本发明的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。随着数据业务平台应用系统越来越庞大,系统之间的整合也越来越多,而不同的异构服务模块进程之间的信息交互是一个必须要解决的问题。本发明方案所提供的基于消息总线的分布式数据业务平台设计框架,这种框架相对简单、高效而且也易于实施,能够有效解决大型数据业务平台在构建过程中所开发的不同功能应用服务模块之间错综复杂的实时消息交互问题。本发明的技术构思主要在于设计一套连接在不同功能服务模块之间的消息总线(或消息总线系统),各个不同服务功能模块都连接(或挂接)到该消息总线(或消息总线系统)上,且与该消息总线(或消息总线系统)进行数据交互,由该消息总线(或消息总线系统)完成数据的传递,从而可有效解决不同应用服务模块之间错综复杂的消息交互方式。 本发明实施例一提供了 一种数据业务平台上数据交互方法,参见图1,所述方法包括:11:第一应用服务模块确定需要与第二应用服务模块进行数据交互;12:消息总线接收第一应用服务模块通过第一接口发送的第一协议数据包;13:消息总线根据所述第一协议数据包判断获知第二应用服务模块,即判断获知需要将第一协议数据包发送至第二应用服务模块,则将第一协议数据包通过第二接口发送至第二应用服务模块,14:第二应用服务模块对所述第一协议数据包进行处理,根据处理结果生成的第二协议数据包;15:消息总线通过第二接口接收第二应用服务模块发送的第二协议数据包;16:消息总线根据所述第二协议数据包判断获知第一应用服务模块,即判断获知需要将第二协议数据包发送至第一应用服务模块,则通过第一接口将所述第二协议数据包发送至第一应用服务模块。上述消息总线与多个不同的应用服务模块建立连接,通过消息总线实现不同的应用服务模块之间连接,消息总线作为一个数据交互的中枢,可以视为一种虚拟的消息总线。上述第一应用服务模块通过第一接口与消息总线相连接,上述第二应用服务模块通过第二接口与消息总线相连接,根据第一应用服务模块和第二应用服务模块的具体结构,上述第一接口和第二接口可以相同,也可以不同。在相同消息总线中传递的数据包符合相同的通信协议,例如,上述第一协议数据包和第二协议数据包都是按照相同的通信协议封装生成的。为了便于清楚描述本发明实施例的技术方案,在发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。下面对本发明实施例二提供的一种数据业务平台上数据交互方法进行说明。为了清楚说明本方案,参见图2,显示了一个简单的基于消息总线的分布式数据业务平台的结构示意图。同一消息总线(Message-BUS,M-BUS)上连接有应用服务模块A、应用服务模块B、应用服务模块C和应用服务模块D,这些模块通过M-BUS进行协议数据包交互,M-BUS上可以支持一个通用的、与具体业务操作无关的协议规则,在M-BUS上传递的协议数据包都符合该协议规则。例如,该协议规则可以为即时通信协议规则。本方案中的应用服务模块和M-BUS均互为客户/服务器(Client/Server,C/S)模式,即应用服务模块可以为C/S模式下的客户端,M-BUS可以为C/S模式下的服务器端,同时,应用服务模块也可以为C/S模式下的服务器端,M-BUS也可以为C/S模式下的客户端。各应用服务模块通过与M-BUS进行交互,完成各自本身所具备的功能逻辑。下面以应用服务模块A需要与应用服务模块B进行数据交互(或消息交互)的场景为例进行说明,参见图3,具体包括如下步骤:步骤1:应用服务模块A根据业务逻辑处理需求,判断是否要与应用服务模块B进行数据交互(或消息交互),当需要时,执行步骤2,否则,结束流程。在此,仅对与本方案有关联的需要进行数据交互的场景进行说明。步骤2:应用服务模块A按照预定的协议规则,将需要交互的数据打包生成第一协议数据包,并传递给M-BUS ;步骤3 =M-BUS收到应用服务模块A传递过来的第一协议数据包,分析包头,判断该第一协议数据包是要投递给挂接到消息总线上的哪个功能服务模块;即该第一协议数据包包括包头部分和数据部分,消息总线通过解析第一协议数据包的包头部分,判断获知连接在本消息总线上的第二应用服务模块。步骤4 =M-BUS根据判断结果获知该第一协议数据包是要传递给应用服务模块B,则直接转发给应用服务模块B ;步骤5:应用服务模块B接收到消息总线传递过来的消息,进行处理,并将处理结果按照预定的协议规则打包生成第二协议数据包;步骤6:应用服务模块B将第二协议数据包传递给M-BUS ;步骤7:消息总线M-BUS收到应用服务模块B传递过来的第二协议数据包,分析包头,判断该消息是要投递给挂接到消息总线上的哪个功能服务模块,在此,判断获知是应用服务模块A。即第二协议数据包包括包头部分和数据部分,消息总线通过解析第二协议数据包的包头部分,判断获知连接在本消息总线上的第一应用服务模块。步骤8:如果判断结果是应用服务模块A,则直接转发给应用服务模块A ;步骤9:应用服务模块A根据收到的第二协议数据包,进行后续的逻辑处理。上述以各应用服务模块都连接在同一消息总线上的场景进行了说明。在不同的应用服务模块(如应用服务模块A与B、应用服务模块B与C或者应用服务模块A与C等等)经过M-BUS进行消息实时交互的过程中,M-BUS可视为一个消息交换的中枢。在实际的应用过程中,如果只部署一套M-BUS,随着应用服务模块的增加,在M-BUS上传递的消息也会增加,这样会影响消息总线的性能。为解决这个问题,采用部署多个消息总线来实现本方案。本方案优选采用如下两种部署模式:总线之总线的部署模式这种模式下,参见图4,在每个消息总线,如M-BUS(1)、M-BUS(2)、M_BUS(3)至M-BUS(n),上连接有若干应用服务模块,各消息总线通过总线接口都连接至一个共同的消息总线M-BUS上。
例如,第一应用服务模块(如Al)连接在第一消息总线M-BUS(I)上,第二应用服务模块(如B2)连接在第二消息总线M-BUS (2)上,所述第一消息总线和第二消息总线分别通过总线接口连接在第三消息总线上,该第三消息总线对应于共同的消息总线M-BUS。当第一应用服务模块需要与第二应用服务模块进行数据交互时,参见图5,具体流程如下:其中,第一应用服务模块与M-BUS(I)之间、第二应用服务模块与M_BUS(2)之间、以及M-BUS (I)、M-BUS (2)和共同的M-BUS之间互为客户端/服务器C/S模式下的对应两端。步骤1:第一应用服务模块根据业务逻辑处理需求,判断是否要与第二应用服务模块进行消息交互。步骤2:如果需要,则第一应用服务模块按照预定的协议规则,打包生成第一协议数据包,并传递给M-BUS (I);步骤3 =M-BUS(I)收到第一应用服务模块传递过来的第一协议数据包,分析包头,判断该数据要投递的第二应用服务模块挂接在M-BUS (2)上,则转发该数据包给共同的M-BUS(第三消息总线);即第一协议数据包包括包头部分和数据部分,第一消息总线通过解析所述第一协议数据包的包头部分,判断获知连接在第二消息总线上的第二应用服务模±夹,以及,第一消息总线和第二消息总线都与第三消息总线相连接(即部署模式)。步骤4:共同的M-BUS收到数据包后,分析该数据包是要转发给消息总线M-BUS (2),则直接转发给消息总线M-BUS (2);步骤5:消息总线M-BUS (2)收到消息总线M-BUS传递过来的协议数据包,分析包头,判断该消息是要投递给挂接到自身的B功能服务模块;在此,不对在交互过程中如何判断获知目的应用服务模块及其所连接的消息总线的具体方式进行限定,例如,在上述步骤3已经通过解析包头获知了第二应用服务模块,该第二应用服务模块连接在M-BUS (2)上,以及部署的模式为总线之总线的部署模式,则在步骤5中也可以不再进行包头的解析,直接将已获知的信息通知M-BUS⑵即可。步骤6 =M-BUS (2)直接转发第一协议数据包给第二应用服务模块;步骤7:第二应用服务模块接收到消息总线M_BUS(2)传递过来的消息,进行处理。并将处理结果按照预定的协议规则打包生成第二协议数据包,然后传递给消息总线M-BUS (2);步骤8:消息总线M-BUS(2)收到第二应用服务模块传递过来的第二协议数据包,分析包头,判断该消息要投递的服务模块A挂接在消息总线M-BUS (I)上,则转发该消息包给共同的M-BUS ;步骤9:消息总线M-BUS收到消息包后,分析该消息是要转发给消息总线M-BUS (I),则直接转发;步骤10:消息总线M-BUS(I)收到消息总线M-BUS传递过来的协议数据包,分析包头,判断该消息是要投递给挂接到自身的第一应用服务模块;步骤11:则直接转发消息包给第一应用服务模块;步骤12:第一应用服务模块根据收到的协议数据包,进行后续的逻辑处理。由上所述可知,在进行数据交互时,在数据向目的端发送的过程中,第一消息总线通过总线接口将第一协议数据包发送至第三消息总线;第三消息总线通过总线接口将第一协议数据包转发至第二消息总线;第二消息总线将第一协议数据包通过第二接口发送至第二应用服务模块,并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包。在数据从目的端返回的过程中,第二消息总线通过总线接口将第二协议数据包发送至第三消息总线;第三消息总线通过总线接口将第二协议数据包转发至第一消息总线;第一消息总线通过第一接口将所述第二协议数据包发送至第一应用服务模块。线性串行的部署模式这种模式下,参见图6,在每个消息总线,如M-BUS(1)、M-BUS(2)、M_BUS(3)至M-BUS(n),上连接有若干应用服务模块,各消息总线之间通过总线接口以串行模式连接。通过部署多个消息总线,形成一个彼此串联起来的更大的虚拟消息总线(VirtualMessage-BUS, VM-BUS)。例如,第一应用服务模块连接在第一消息总线M-BUS(I)上,所述第二应用服务模块连接在第二消息总线M-BUS(2)上,所述第一消息总线和第二消息总线通过总线接口以串行模式相连接,或者,所述第一消息总线和第二消息总线之间通过总线接口以串行模式连接有多个其他的消息总线。下面以应用服务模块A和应用服务模块B之间进行数据交互的场景为例进行说明,其中,应用服务模块A连接在M-BUS(M)上,应用服务模块B连接在M-BUS⑴上,M-BUS (M)和M-BUS⑴连接有多个消息总线,统一表示为M-BUS (M土 I)。应用服务模块A与M-BUS (M)之间、应用服务模块B与M-BUS⑴之间,M-BUS (M)、M-BUS(X)和M-BUS(Mil)之间消息总线M-BUS⑴互为C/S模式下的对应两端。参见图7,具体交互过程说明如下:步骤1:应用服务模块A根据业务逻辑处理需求,判断是否要与应用服务模块B进行消息交互。步骤2:如果需要,则按照预定的协议规则,打包生成第一协议数据包,并传递给与之相连接的消息总线M-BUS(M);步骤3:消息总线M-BUS (M)收到应用服务模块A传递过来的第一协议数据包,分析包头,判断该消息要投递的服务模块B挂接在消息总线M-BUS⑴上。即第一协议数据包包括包头部分和数据部分,M-BUS(M)通过解析所述第一协议数据包的包头部分,判断获知连接在第二消息总线上的第二应用服务模块,以及,第一消息总线和第二消息总线以串行的模式相连接。当M-BUS (M)和M-BUS (X)直接通过总线接口串连时,M-BUS (M)将所述第一协议数据包通过总线接口直接发送至M-BUS(X) ;M-BUS(X)将第一协议数据包通过第二接口发送至应用服务模块B,并通过第二接口接收应用服务模块B根据处理结果生成的第二协议数据包;在本场景中,M-BUS (M)和M-BUS⑴之间还具有多个其他的消息总线,则包括如下处理:M-BUS (M)需要确定数据发送路径;M_BUS (M)根据所述数据发送路径,通过总线接口将第一协议数据包发送至下一消息总线,以在位于所述数据发送路径中的消息总线上逐次转发所述第一协议数据包,直至发送至M-BUS (X) ;M-BUS(X)将所述第一协议数据包通过第二接口发送至应用服务模块B,并通过第二接口接收应用服务模块B根据处理结果生成的第二协议数据包。步骤4 =M-BUS (M)直接转发数据包给消息总线M-BUS (M)的下一级消息总线上,该下一级消息总线的标号可以是M-BUS (M+1),也可以是M-BUS (M-1),具体需要根据M-BUS (M)和M-BUS (X)的连接位置确定,在此将下一级消息总线统一表示成M-BUS (M土 I)。步骤5:消息总线M-BUS(Mil)接收到上级消息总线M-BUS(M)传递过来的数据包,分析包头,判断是否到达目标消息总线M-BUS(X);如果没有达到,则继续在数据发送路径上传递该消息包给下一级的消息总线M-BUS (M±2),重复该操作,转发消息包给下一级消息总线 M-BUS (M±N)。步骤6:当M±N = X时,到达目的消息总线M-BUS(X),将第一协议数据包发送至M-BUS(X);步骤7:当消息总线M-BUS⑴接收到上级消息总线M-BUS (M+N-1或者M-N+1)传递过来的协议数据包,分析包头,发现该消息包是要传递给挂接在自己上面的应用服务模块B,则直接转发给应用服务模块B ;步骤8:应用服务模块B接收到消息总线M-BUS⑴传递过来的消息,进行处理,并将处理结果按照预定的协议规则打包生成第二协议数据包,然后传递给消息总线M-BUS(X);步骤9:消息总线M-BUS(X)收到应用服务模块B传递过来的第二协议数据包,分析包头,判断该消息是要投递给挂接到消息总线M-BUS (M)上的应用服务模块A,则按照原数据发送路径返回传递第二协议数据包到消息总线M-BUS (M)上;在此,不对在交互过程中如何判断获知所确定的数据发送路径的具体方式进行限定。步骤10:当消息总线M-BUS (M)收到应用服务模块B经过消息总线M-BUS⑴,...,消息总线M-BUS(Mil)传递过来的第二协议数据包,分析包头,判断该数据是要投递给挂接到自己本身的应用服务模块A ;可以理解,若M-BUS (M)获知第二协议数据包相应于第一协议数据包时,可以无需分析第二协议数据包的包头,根据所保存的第一协议数据包的相关信息获知该数据是要投递给挂接到自己本身的应用服务模块A。步骤11:如果判断结果是应用服务模块A,则直接转发给应用服务模块A ;步骤12:应用服务模块A根据收到的第二协议数据包,进行后续的逻辑处理。由上所述可知,在进行数据交互时,在数据向目的端发送的过程中,第一消息总线将所述第一协议数据包通过总线接口发送至第二消息总线;第二消息总线将第一协议数据包通过第二接口发送至第二应用服务模块,并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包;或者,第一消息总线确定数据发送路径;第一消息总线根据所述数据发送路径,通过总线接口将第一协议数据包发送至下一消息总线,以在位于所述数据发送路径中的消息总线上逐次转发所述第一协议数据包,直至发送至第二消息总线;第二消息总线将所述第一协议数据包通过第二接口发送至第二应用服务模块,并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包。在数据从目的端返回的过程中,第二消息总线将所述第二协议数据包通过总线接口发送至第一消息总线;第一消息总线通过第一接口将所述第二协议数据包发送至第一应用服务模块;或者,第二消息总线按照所判断获知的数据发送路径,将第二协议数据包发送至下一消息总线,以在位于所述数据发送路径中的消息总线上逐次转发所述第二协议数据包,直至发送至第一消息总线;第一消息总线通过第一接口将所述第二协议数据包发送至第一应用服务模块。进一步的,也可以同时采用上述的两种模式部署多个消息总线,形成一种混合的部署模式。例如,在采用串行部署模式时,串行连接上的每一个独立的连接点可以由采用总线之总线模式配置的多个消息总线构成;或者,在采用总线之总线部署模式时,连接至共同的总线上的每一连接点可以由采用串行模式配置的多个消息总线构成。本发明实施例三还提供了一种数据业务平台上数据交互系统,参见图8,所述系统包括至少一个消息总线80,所述消息总线80,当第一应用服务模块81确定需要与第二应用服务模块82进行数据交互时,接收第一应用服务模块81通过第一接口发送的第一协议数据包;根据所述第一协议数据包判断获知第二应用服务模块82,将第一协议数据包通过第二接口发送至第二应用服务模块82,由第二应用服务模块82对所述第一协议数据包进行处理,并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包;以及,通过第一接口将所述第二协议数据包发送至第一应用服务模块81。当系统中包括多个消息总线时,可以采用总线之总线的部署模式或者线性串行模式部署这些消息总线。本实施例中消息总线的具体工作方式可以参见本发明实施例一和
--O
例如,若上述第一应用服务模块和第二应用服务模块可以连接在同一消息总线上,消息总线通过解析第一协议数据包的包头部分,判断获知连接在本消息总线上的第二应用服务模块;以及,消息总线通过解析所述第二协议数据包的包头部分,判断获知连接在本消息总线上的第一应用服务模块。若第一应用服务模块连接在第一消息总线上,所述第二应用服务模块连接在第二消息总线上,第一消息总线和第二消息总线通过总线接口以串行模式相连接,或者,第一消息总线和第二消息总线之间通过总线接口以串行模式连接有至少一个消息总线,这时,第一消息总线将所述第一协议数据包通过总线接口发送至第二消息总线;第二消息总线将第一协议数据包通过第二接口发送至第二应用服务模块,并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包;或者,第一消息总线确定数据发送路径;第一消息总线根据所述数据发送路径,通过总线接口将第一协议数据包发送至下一消息总线,以在位于所述数据发送路径中的消息总线上逐次转发所述第一协议数据包,直至发送至第二消息总线;第二消息总线将所述第一协议数据包通过第二接口发送至第二应用服务模块,并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包。若第一应用服务模块连接在第一消息总线上,所述第二应用服务模块连接在第二消息总线上,所述第一消息总线和第二消息总线分别通过总线接口连接在第三消息总线上,这时,第一消息总线通过总线接口将第一协议数据包发送至第三消息总线;第三消息总线通过总线接口将第一协议数据包转发至第二消息总线;第二消息总线将第一协议数据包通过第二接口发送至第二应用服务模块,并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包。以及,第二消息总线通过总线接口将第二协议数据包发送至第三消息总线;第三消息总线通过总线接口将第二协议数据包转发至第一消息总线;第一消息总线通过第一接口将所述第二协议数据包发送至第一应用服务模块。上述第一应用服务模块、第二应用服务模块与相应的消息总线之间,以及各消息总线之间互为C/S模式下的对应两端。由上述可见,本发明实施例的技术方案在数据业务平台上提供了一种基于消息总线的分布式数据交互架构,将消息总线作为数据交互的中枢,各个不同的应用服务模块都连接在消息总线上分别与消息总线进行数据交互,并由消息总线实现数据的传递。本方案提供的新型的数据交互架构,无需维护应用服务模块之间的消息信道,并且,在有新的应用服务模块加入时,只需将该新的应用服务模块连接至消息总线即可,无需对已有的应用服务模块进行修改,大大提高了平台的扩展性,降低了平台实现的复杂度。进一步的,本方案保证了数据业务平台中的应用服务模块只需处理与自身需求相关的消息,避免了应用服务模块接收到大量不必要的消息,显著提高了数据处理的效率,降低了平台的负担。本方案能够有效实现不同应用服务模块之间错综复杂的实时数据交互,保证数据业务平台中数据传递的准确性和及时性。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种数据业务平台上数据交互方法,其特征在于,所述方法包括: 当第一应用服务模块确定需要与第二应用服务模块进行数据交互时,消息总线接收第一应用服务模块通过第一接口发送的第一协议数据包; 消息总线根据所述第一协议数据包判断获知第二应用服务模块,将第一协议数据包通过第二接口发送至第二应用服务模块,由第二应用服务模块对所述第一协议数据包进行处理;并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包; 消息总线根据所述第二协议数据包判断获知第一应用服务模块,并通过第一接口将所述第二协议数据包发送至第一应用服务模块。
2.根据权利要求1所述的方法,其特征在于,所述第一应用服务模块和第二应用服务模块连接在同一消息总线上; 所述消息总线根据所述第一协议数据包判断获知第二应用服务模块具体包括: 所述第一协议数据包包括包头部分和数据部分,消息总线通过解析所述第一协议数据包的包头部分,判断获知连接在本消息总线上的第二应用服务模块; 所述消息总线根据所述第二协议数据包判断获知第一应用服务模块具体包括: 所述第二协议数据包包括包头部分和数据部分,消息总线通过解析所述第二协议数据包的包头部分,判断获知连接在本消息总线上的第一应用服务模块。
3.根据权利要求1所述的方法,其特征在于, 所述第一应用服务模块连接在第一消息总线上,所述第二应用服务模块连接在第二消息总线上,所述第一消息总线和第二消息总线通过总线接口以串行模式相连接,或者,所述第一消息总线和第二消息总线之间通过总线接口以串行模式连接有至少一个消息总线,所述消息总线根据所述第一协议数据包判断获知第二应用服务模块具体包括: 所述第一协议数据包包括包头部分和数据部分,第一消息总线通过解析所述第一协议数据包的包头部分,判断获知连接在第二消息总线上的第二应用服务模块,以及,第一消息总线和第二消息总线以串行的模式相连接; 所述消息总线根据所述第二协议数据包判断获知第一应用服务模块具体包括: 所述第二协议数据包包括包头部分和数据部分,第二消息总线通过解析所述第二协议数据包的包头部分,判断获知连接在第一消息总线上的第一应用服务模块,以及,第一消息总线和第二消息总线以串行的模式相连接。
4.根据权利要求3所述的方法,其特征在于, 所述将第一协议数据包通过第二接口发送至第二应用服务模块,由第二应用服务模块对所述第一协议数据包进行处理;并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包具体包括: 第一消息总线将所述第一协议数据包通过总线接口发送至第二消息总线;第二消息总线将第一协议数据包通过第二接口发送至第二应用服务模块,并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包; 或者, 第一消息总线确定数据发送路径;第一消息总线根据所述数据发送路径,通过总线接口将第一协议数据包发送至下一消息总线,以在位于所述数据发送路径中的消息总线上逐次转发所述第一协议数据包,直至发送至第二消息总线;第二消息总线将所述第一协议数据包通过第二接口发送至第二应用服务模块,并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包。
5.根据权利要求4所述的方法,其特征在于,所述消息总线通过第一接口将所述第二协议数据包发送至第一应用服务模块具体包括: 第二消息总线将所述第二协议数据包通过总线接口发送至第一消息总线;第一消息总线通过第一接口将所述第二协议数据包发送至第一应用服务模块;或者, 第二消息总线按照所判断获知的数据发送路径,将第二协议数据包发送至下一消息总线,以在位于所述数据发送路径中的消息总线上逐次转发所述第二协议数据包,直至发送至第一消息总线;第一消息总线通过第一接口将所述第二协议数据包发送至第一应用服务模块。
6.根据权利要求1所述的方法,其特征在于, 所述第一应用服务模块连接在第一消息总线上,所述第二应用服务模块连接在第二消息总线上,所述第一消息总线和第二消息总线分别通过总线接口连接在第三消息总线上,所述消息总线根据所述第一协议数据包判断获知第二应用服务模块具体包括: 所述第一协议数据包包括包头部分和数据部分,第一消息总线通过解析所述第一协议数据包的包头部分,判断获知连接在第二消息总线上的第二应用服务模块,以及,第一消息总线和第二消息总线都与第三消息总线相连接; 所述消息总线根据所述第二协议数据包判断获知第一应用服务模块具体包括: 所述第二协议数据包包括包头部分和数据部分,第二消息总线通过解析所述第二协议数据包的包头部分,判断 获知连接在第一消息总线上的第一应用服务模块,以及,第一消息总线和第二消息总线都与第三消息总线相连接。
7.根据权利要求6所述的方法,其特征在于,所述将第一协议数据包通过第二接口发送至第二应用服务模块,由第二应用服务模块对所述第一协议数据包进行处理;并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包具体包括: 第一消息总线通过总线接口将第一协议数据包发送至第三消息总线; 第三消息总线通过总线接口将第一协议数据包转发至第二消息总线; 第二消息总线将第一协议数据包通过第二接口发送至第二应用服务模块,并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包。
8.根据权利要求7所述的方法,其特征在于,所述消息总线通过第一接口将所述第二协议数据包发送至第一应用服务模块具体包括: 第二消息总线通过总线接口将第二协议数据包发送至第三消息总线; 第三消息总线通过总线接口将第二协议数据包转发至第一消息总线; 第一消息总线通过第一接口将所述第二协议数据包发送至第一应用服务模块。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述第一应用服务模块、第二应用服务模块与相应的消息总线之间,以及各消息总线之间互为客户/服务器模式C/S模式下的对应两端。
10.一种数据业务平台上数据交互系统,其特征在于,所述系统包括至少一个消息总线, 所述消息总线,当第一应用服务模块确定需要与第二应用服务模块进行数据交互时,接收第一应用服务模块通过第一接口发送的第一协议数据包;根据所述第一协议数据包判断获知第二应用服务模块,将第一协议数据包通过第二接口发送至第二应用服务模块,由第二应用服务模块对所述第一协议数据包进行处理,并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包;以及,通过第一接口将所述第二协议数据包发送至第一应 用服务模块。
全文摘要
本发明公开了一种数据业务平台上数据交互方法和系统,能够提高平台的扩展性,降低平台实现的复杂度,提高数据处理的效率,保证数据业务平台中数据传递的准确性和及时性。本发明实施例提供的数据业务平台上数据交互方法包括消息总线接收第一应用服务模块通过第一接口发送的第一协议数据包;消息总线根据所述第一协议数据包判断获知第二应用服务模块,将第一协议数据包通过第二接口发送至第二应用服务模块,由第二应用服务模块对第一协议数据包进行处理,并通过第二接口接收第二应用服务模块根据处理结果生成的第二协议数据包;消息总线根据第二协议数据包判断获知第一应用服务模块,通过第一接口将第二协议数据包发送至第一应用服务模块。
文档编号H04L29/06GK103095564SQ20111034055
公开日2013年5月8日 申请日期2011年11月1日 优先权日2011年11月1日
发明者孟艳青 申请人:北京新媒传信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1