CN102957594A - 基于消息队列的消息处理方法、相关设备及系统 - Google Patents
基于消息队列的消息处理方法、相关设备及系统 Download PDFInfo
- Publication number
- CN102957594A CN102957594A CN2011102523151A CN201110252315A CN102957594A CN 102957594 A CN102957594 A CN 102957594A CN 2011102523151 A CN2011102523151 A CN 2011102523151A CN 201110252315 A CN201110252315 A CN 201110252315A CN 102957594 A CN102957594 A CN 102957594A
- Authority
- CN
- China
- Prior art keywords
- service
- message
- logic unit
- service logic
- message queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开了一种基于消息队列的消息处理方法、相关设备及系统,其中,一种基于消息队列的消息处理方法包括:通信服务器的第一消息队列接收业务消息;通信服务器调用业务逻辑单元组对所述业务消息进行处理,所述业务逻辑单元组包括至少一个业务逻辑单元;将处理后的业务消息通过第二消息队列发送至目标系统。本发明实施例提供的技术方案可有效提高业务通信系统的性能,且具有良好的伸缩性和可维护行。
Description
技术领域
本发明涉及通信领域,尤其涉及基于消息队列的消息处理方法、相关设备及系统。
背景技术
目前存在一种通过消息队列实现数据的异步收发方法:假设我们希望在系统A-B间传递数据时,一个业务逻辑的消息由两部分构成:Request(请求),Response(答复),请求和答复分别为两条独立的消息,如图1所示,系统A发出请求消息,通过消息队列1被通信服务器传递给系统B,系统B的服务程序处理了该请求消息后,向系统A返回答复消息,答复消息通过消息队列1’,被通信服务器传递给了系统A,当系统A收到请求消息所对应的答复消息时,一个消息事务完成,即成功完成了一次业务逻辑。
但是,由于通信服务器是在互联网上开放的,系统A-B可能分别属于彼此陌生的所有者,两者之间并不完全信任,因此系统A-B间可能只能进行彼此允许的数据通信,即系统B只对接收到的有效消息进行处理,例如系统A可以给系统B下发订单,但不能与系统B进行其他通信(如向系统B下发付款指令)。而在上述通过消息队列实现数据的异步收发方法中,系统B不管接收到的消息是否有效都对其进行处理,由于消息处理的过程将占用一定的系统资源,因此上述方法必然会影响到业务通信系统的性能。
发明内容
本发明实施例提供了一种基于消息队列的消息处理方法、相关设备及系统,用于提高业务通信系统的性能。
为解决上述技术问题,本发明实施例提供以下技术方案:
一种基于消息队列的消息处理方法,包括:
通信服务器的第一消息队列接收业务消息;
通信服务器调用业务逻辑单元组对上述业务消息进行处理,上述业务逻辑单元组包括至少一个业务逻辑单元;
将处理后的业务消息通过第二消息队列发送至目标系统。
一种通信服务器,包括:
第一消息队列、第二消息队列和业务逻辑单元组,其中,上述业务逻辑单元组包括至少一个业务逻辑单元;
上述第一消息队列用于接收业务消息;
上述业务逻辑单元组用于对上述业务消息进行处理;
上述第二消息队列用于将经上述业务逻辑单元组处理后的业务消息发送至目标系统。
由上可见,本发明实施例在通信服务器上配置业务逻辑单元组,通信服务器通过调用业务逻辑单元组中的业务逻辑单元对第一消息队列接收到的业务消息进行处理后发送给目标系统,一方面,由于目标系统接收到的业务消息是经过业务逻辑单元处理过的,因此,可保证目标系统接收到的业务消息的有效性,另一方面,可依据实际的业务消息处理需要对业务逻辑处理组中的业务逻辑处理单元进行配置,提高了业务通信系统的伸缩性和可维护行。综上,本发明实施例中提高的技术方案可有效提高业务通信系统的性能,且具有良好的伸缩性和可维护行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中通过消息队列实现数据的异步收发方法的流程示意图;
图2为本发明实施例提供的基于消息队列的消息处理方法的一个实施例流程示意图;
图3为本发明实施例提供的基于消息队列的消息处理方法的一个处理流程结构示意图;
图4为本发明实施例提供的基于消息队列的消息处理方法的另一个实施例流程示意图;
图5为本发明实施例提供的基于消息队列的消息处理方法的再一个实施例流程示意图;
图6为本发明实施例提供的基于消息队列的消息处理方法的另一个处理流程结构示意图;
图7为本发明实施例提供的基于消息队列的消息处理方法的再一个实施例流程示意图;
图8为本发明实施例提供的一种通信服务器的实施例结构示意图;
图9为本发明实施例提供的一种业务通信系统的实施例结构示意图。
具体实施方式
本发明实施例提供了一种基于消息队列的消息处理方法、相关设备及系统。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面对本发明实施例中一种基于消息队列的消息处理方法进行描述,请参阅图2,本发明实施例中基于消息队列的消息处理方法的一个实施例包括:
201、通信服务器的第一消息队列接收业务消息;
在通信服务器中,消息队列是在业务消息的传输过程中用于保存该业务消息的容器,其主要目的是提供路由并保证业务消息的传递,如果发送业务消息时接收者不可用,则消息队列会保留业务消息,直到可以成功地传递它。
本发明实施例中,通信服务器的第一消息队列通过数据通讯接口与一个或多个发送系统A连接,发送系统A通过数据通讯接口将业务消息发送至通信服务器的第一消息队列。
在本发明实施例中,通信服务器的第一消息队列接收到来自发送系统A的业务消息,将接收到的业务消息转至通信服务器的核心流程处理服务进行处理。
202、通信服务器调用业务逻辑单元组对上述业务消息进行处理;
其中,业务逻辑单元组包括至少一个业务逻辑单元。具体的,业务逻辑单元的数量可依据实际的业务消息处理需要来进行配置。作为本发明的可选实施方式,业务逻辑单元组可以是由一个或多个业务逻辑单元组成,也可以由多个业务逻辑单元按照预定的处理顺序组成。
在本发明的一种实施方式中,业务逻辑单元组包含多个业务逻辑单元,各个业务逻辑单元按照预置的处理逻辑对接收到的业务消息进行处理。多个业务逻辑单元按照预定的处理顺序将下一个业务逻辑单元的输入接口配置在上一个业务逻辑单元的输出接口之后,由下一个业务逻辑单元对上一个业务逻辑单元的处理结果进行进一步处理。
具体而言,业务逻辑单元组包括实现消息格式校验、单位换算、XXX等业务逻辑单元中的一个或多个。以实现消息格式检验的业务逻辑单元为例,用于判断发送系统A及目标系统B之间传递的业务消息的格式是否规范。业务消息的格式依据实际需求设置,可为可扩展标记语言(XML,ExtensibleMarkup Language)格式、XXX格式、XXX格式的一种或多种。实现消息格式检验的业务逻辑单元对通信服务器中第一消息队列接收到的业务消息的格式进行检验,判断是否符合发送系统A与目标系统B之间传递的规范。
在本发明的另一种实施方式中,通信服务器包括多个业务逻辑处理单元及流程控制单元。其中,流程控制单元中包含流程配置数据库。流程配置数据库用于存储业务消息在业务逻辑单元组中的多个业务逻辑单元的处理顺序表。通信服务器中第一消息队列接收到业务消息,将该业务消息发送至该流程控制单元,由该流程控制单元通过查找该流程配置数据库控制业务消息在业务数据逻辑单元组的流转,按照业务消息在业务逻辑单元组中的多个业务逻辑单元的处理顺序表,将经过上一个业务逻辑单元的处理结果转至预设的下一个业务逻辑单元进行进一步处理,直至最后一个业务逻辑单元处理完毕。
上述对该业务消息进行的处理对目标系统B而言是透明的,即,目标系统B并不需要知道通信服务器是否对业务消息进行了处理,以发送系统A向目标系统B发送指示下达订单的业务消息为例,在此步骤中,通信服务器可能通过调用业务逻辑单元组对该业务消息进行消息格式检查、单位换算等处理,则目标系统B并不知道也无须知道通信服务器对该业务消息执行的处理,只需在接收到处理后的业务消息后,根据该业务消息的内容下达订单即可。
在本发明的另一种实施方式中,业务逻辑单元组包含多个业务逻辑单元,每个业务逻辑单元对应与一个消息队列,且业务逻辑单元与消息队列一一对应,业务逻辑单元通过各自对应的消息队列接收即将处理的业务消息,进一步提高了通信服务器的可维护性。
在本发明的另一种实施方式中,业务逻辑单元中预设了多种可能出现的异常事件,当业务逻辑单元对业务消息的处理出现预设的异常事件时,业务逻辑单元向发送系统A返回相应的处理异常消息。由于不同的业务逻辑单元所执行的业务处理可能不同,因此每个业务逻辑单元中包含的异常事件可不同。举例说明,以实现消息格式转换的业务逻辑单元为例,可在该业务逻辑单元中预设消息格式转换失败的异常事件,当该业务逻辑单元对业务消息的格式转换失败时,向发送系统A返回指示该业务消息格式转换失败的处理异常消息;以实现消息格式检验的业务逻辑单元为例,则可在该业务逻辑单元中预设消息格式不合法的异常事件,当该业务逻辑单元检验出该业务消息不符合发送系统A与目标系统B之间传递的规范时,向发送系统A返回指示该业务消息格式不合法的处理异常消息。该处理异常消息可以是携带有指示异常事件的标记的新消息,或者,也可以是插入了指示异常事件的标记的上述业务消息,此处不作限定。
203、将处理后的业务消息通过第二消息队列发送至目标系统;
通信服务器将经步骤202处理后的业务消息通过第二消息队列发送至目标系统。
由上可见,本发明实施例在通信服务器上配置业务逻辑单元组,通信服务器通过调用业务逻辑单元组中的业务逻辑单元对第一消息队列接收到的业务消息进行处理后发送给目标系统,一方面,由于目标系统接收到的业务消息是经过业务逻辑单元处理过的,因此,可保证目标系统接收到的业务消息的有效性,另一方面,可依据实际的业务消息处理需要对业务逻辑处理组中的业务逻辑处理单元进行配置,提高了业务通信系统的伸缩性和可维护行,并且,上述业务消息处理流程对目标系统而言是透明的,即,目标系统并不需要知道通信服务器是否对业务消息预先进行了处理。综上,本发明实施例中提高的技术方案可有效提高业务通信系统的性能,且具有良好的伸缩性和可维护行。
为便于更好的理解本发明实施例的技术方案,下面以一具体应用场景例对本发明实施例一种基于消息队列的消息处理方法进行描述。
图3所示为本应用场景例的处理流程结构示意图,本发明实施例中,系统A为业务消息的发送端,系统B为业务消息的接收端,第一消息队列为消息队列1,第二消息队列为消息队列2,业务逻辑单元组包含业务逻辑单元1、业务逻辑单元2和业务逻辑单元3,分别对应于消息队列3、消息队列4和消息队列5,消息队列1’用于接收系统B返回的答复消息,消息队列2’用于向系统A返回处理异常消息或者上述答复消息。
请参阅图4,本发明实施例中基于消息队列的消息处理方法的另一实施例包括:
401、系统A将业务消息发送至通信服务器的消息队列1。
在本发明实施例中,系统A与消息队列1间通过数据通讯接口建立连接,系统A通过数据通讯接口将业务消息发送至消息队列1。
可以理解,上述业务消息中包含有系统B的地址信息。
402、消息队列1将接收到的业务消息传送至业务逻辑单元1对应的消息队列3中。
403、消息队列3将接收到的业务消息传送至业务逻辑单元1,业务逻辑单元1按照预先设定的处理策略对接收到的业务消息进行处理,若无异常,则执行步骤404,若出现异常,则执行步骤410。
404、业务逻辑单元1将处理后的业务消息传送至业务逻辑单元2对应的消息队列4中。
405、消息队列4将接收到的业务消息传送至业务逻辑单元2,业务逻辑单元2按照预先设定的处理策略对接收到的业务消息进行处理,若无异常,则执行步骤406,若出现异常,则执行步骤410。
406、业务逻辑单元2将处理后的业务消息传送至业务逻辑单元3对应的消息队列5中。
407、消息队列5将接收到的业务消息传送至业务逻辑单元3,业务逻辑单元3按照预先设定的处理策略对接收到的业务消息进行处理,若无异常,则执行步骤408,若出现异常,则执行步骤411。
408、业务逻辑单元3将处理后的业务消息通过消息队列2发送至系统B。
409、系统B对接收到的业务消息进行处理后,向通信服务器的消息队列1’返回答复消息。
410、消息队列1’通过消息队列2’向系统A返回答复消息。
411、通过消息队列2’向系统A返回处理异常消息。
由上可见,本发明实施例在通信服务器上配置业务逻辑单元组,通信服务器通过调用业务逻辑单元组中的业务逻辑单元对第一消息队列接收到的业务消息进行处理后发送给目标系统,一方面,由于目标系统接收到的业务消息是经过业务逻辑单元处理过的,因此,可保证目标系统接收到的业务消息的有效性,另一方面,可依据实际的业务消息处理需要对业务逻辑处理组中的业务逻辑处理单元进行配置,提高了业务通信系统的伸缩性和可维护行。综上,本发明实施例中提高的技术方案可有效提高业务通信系统的性能,且具有良好的伸缩性和可维护行。
请参阅图5,本发明实施例一种基于消息队列的消息处理方法再一个实施例包括:
501、通信服务器的第一消息队列接收业务消息;
502、查找处理接收到的业务消息的首个业务逻辑单元;
在本发明实施方式中,通信服务器包含流程控制单元,其中,流程控制单元中包含流程配置数据库,流程配置数据库用于存储业务逻辑单元组中的多个业务逻辑单元的处理顺序关系表,当第一消息队列接收到业务消息时,将该业务消息发送至该流程控制单元,流程控制单元通过该流程配置数据库查找处理接收到的业务消息的首个业务逻辑单元。
503、调用上述首个业务逻辑单元对接收到的业务消息进行处理;
在本发明的一种实施方式中,通信服务器可在查找出首个业务逻辑单元后,将接收到的业务消息传送至首个业务逻辑单元对应的消息队列中,以便首个业务逻辑单元对该业务消息进行处理,或者,通信服务器也可在查找出首个业务逻辑单元后,直接将接收到的业务消息传送至首个业务逻辑单元进行处理,此处不作限定。
504、判断是否存在下一个业务逻辑单元;
当一个业务逻辑单元处理完业务消息后,通信服务器判断是否存在下一个业务逻辑单元,若是,则执行步骤505,若否,则执行步骤506。
在本发明的一种实施方式中,当业务消息在当前业务逻辑单元的处理出现异常,则不执行此步骤以及此步骤之后的步骤,并可向该业务消息的发送端返回处理异常消息,以使该发送端获知该业务消息的处理出现异常。
505、调用下一个业务逻辑单元对当前业务逻辑单元处理后的业务消息进行处理;
在本发明实施例中,通信服务器可在查找出下一个业务逻辑单元后,将当前业务逻辑单元处理后的业务消息传送至下一个业务逻辑单元对应的消息队列中,以便下一个业务逻辑单元对该业务消息进行处理,或者,通信服务器也可在查找出下一个业务逻辑单元后,直接将当前业务逻辑单元处理后的业务消息传送至下一个业务逻辑单元进行处理,此处不作限定。
506、输出经当前业务逻辑单元处理后的业务消息;
若当前业务逻辑单元是处理该业务消息的最后一个业务逻辑单元,则输出经当前业务逻辑单元处理后的业务消息。
507、将处理后的业务消息通过第二消息队列发送至目标系统;
通信服务器将步骤506输出的处理后的业务消息通过第二消息队列发送至目标系统。
由上可见,本发明实施例在通信服务器上配置业务逻辑单元组,通信服务器通过调用业务逻辑单元组中的业务逻辑单元对第一消息队列接收到的业务消息进行处理后发送给目标系统,一方面,由于目标系统接收到的业务消息是经过业务逻辑单元处理过的,因此,可保证目标系统接收到的业务消息的有效性,另一方面,可依据实际的业务消息处理需要对业务逻辑处理组中的业务逻辑处理单元进行配置,提高了业务通信系统的伸缩性和可维护行;另外,本发明实施例中的基于消息队列的消息处理方法采用动态流程处理机制,可定制指定流程,并可动态调整处理流程,实现了业务消息处理流程化,并且,上述业务消息处理流程对目标系统而言是透明的,即,目标系统并不需要知道通信服务器是否对业务消息预先进行了处理。综上,本发明实施例中提高的技术方案可有效提高业务通信系统的性能,且具有良好的伸缩性和可维护行。
为便于更好的理解本发明实施例的技术方案,下面以一具体应用场景例对本发明实施例一种基于消息队列的消息处理方法进行描述。
图6所示为本应用场景例的处理流程结构示意图,本发明实施例中由流程控制单元对业务消息的处理流程进行统一调配,系统A为业务消息的发送端,系统B为业务消息的接收端,第一消息队列为消息队列1,第二消息队列为消息队列2,业务逻辑单元组包含业务逻辑单元1、业务逻辑单元2和业务逻辑单元3,分别对应于消息队列3、消息队列4和消息队列5,消息队列1’用于接收系统B返回的答复消息,消息队列2’用于向系统A返回处理异常消息或者上述答复消息,消息队列r用于接收各个业务逻辑单元的处理结果,处理结果包括非异常的业务消息或处理异常消息。
请参阅图7,本发明实施例中基于消息队列的消息处理方法的另一实施例包括:
701、系统A将业务消息发送至通信服务器的消息队列1。
702、消息队列1将接收到的业务消息传送至流程控制单元。
703、流程控制单元查找处理接收到的业务消息的首个业务逻辑单元。
704、流程控制单元将接收到的业务消息发送至查找到的首个业务逻辑单元对应的消息队列;
假设在本发明实施例中,步骤703查找到的首个业务逻辑单元为业务逻辑单元1,则流程控制单元将接收到的业务消息发送至消息队列3中。
705、首个业务逻辑单元对其消息队列接收到业务消息进行处理,并将处理结果通过消息队列r发送至流程控制单元;
需要说明的是,若首个业务逻辑单元对该业务消息的处理无出现异常,则返回的处理结果为处理后的业务消息,若首个业务逻辑单元对该业务消息的处理出现异常,则返回的处理消息为处理异常消息。
该处理异常消息可以是携带有指示异常事件的标记的新消息,或者,也可以是插入了指示异常事件的标记的上述业务消息,此处不作限定。
706、流程控制单元判断处理是否出现异常;
流程控制单元可根据接收到的业务消息的处理结果判断业务消息的处理是否出现异常,或者,也可通过检测业务逻辑单元的业务消息处理进程来判断业务消息的处理是否出现异常,若出现异常,则执行步骤713,若不出现异常,则执行步骤707。
707、流程控制单元判断是否存在下一个业务逻辑单元;
流程控制单元通过查找流程配置数据库,判断是否存在下一个业务逻辑单元,若是,则执行步骤708,若否,则执行步骤710。
708、流程控制单元将接收到的当前业务逻辑单元的处理结果发送至下一个业务逻辑单元对应的消息队列;
在本发明实施例中,假设下一个业务逻辑单元为业务逻辑单元2,则流程控制单元将接收到的业务消息发送至消息队列4中。
709、下一个业务逻辑单元对其消息队列接收到业务消息进行处理,并将处理结果通过消息队列r发送至流程控制单元,重复步骤706。
需要说明的是,若下一个业务逻辑单元对该业务消息的处理无出现异常,则返回的处理结果为处理后的业务消息,若下一个业务逻辑单元对该业务消息的处理出现异常,则返回的处理消息为处理异常消息。
710、流程控制单元将接收到的当前业务逻辑单元的处理结果通过消息队列2发送至系统B。
711、系统B对接收到的业务消息进行处理后,向通信服务器的消息队列1’返回答复消息。
712、消息队列1’通过消息队列2’向系统A返回答复消息。
713、流程控制单元通过消息队列2’向系统A返回处理异常消息。
由上可见,本发明实施例在通信服务器上配置业务逻辑单元组,通信服务器通过调用业务逻辑单元组中的业务逻辑单元对第一消息队列接收到的业务消息进行处理后发送给目标系统,一方面,由于目标系统接收到的业务消息是经过业务逻辑单元处理过的,因此,可保证目标系统接收到的业务消息的有效性,另一方面,可依据实际的业务消息处理需要对业务逻辑处理组中的业务逻辑处理单元进行配置,提高了业务通信系统的伸缩性和可维护行;另外,本发明实施例中的基于消息队列的消息处理方法采用动态流程处理机制,可定制指定流程,并可动态调整处理流程,实现了业务消息处理流程化。综上,本发明实施例中提高的技术方案可有效提高业务通信系统的性能,且具有良好的伸缩性和可维护行。
下面对本发明实施例中的一种通信服务器800进行描述,请参阅图8,包括:
第一消息队列801、第二消息队列802和业务逻辑单元组803,
其中,第一消息队列801用于接收业务消息;
业务逻辑单元组803包括至少一个业务逻辑单元,用于对业务消息进行处理;
在本发明的一种实施方式中,业务逻辑单元组803包含多个业务逻辑单元,通信服务器800包括与业务逻辑单元组803中的业务逻辑单元一一对应的消息队列,业务逻辑单元通过各自对应的消息队列接收即将处理的业务消息,进一步提高了通信服务器的可维护性。
第二消息队列802用于将经业务逻辑单元组803处理后的业务消息发送至目标系统。
在本发明的一种实施方式中,业务逻辑单元组803包含多个业务逻辑单元,多个业务逻辑单元按照预定的处理顺序将下一个业务逻辑单元的输入接口配置在上一个业务逻辑单元的输出接口之后,由下一个业务逻辑单元对上一个业务逻辑单元的处理结果进行进一步处理。
在本发明的另一种实施方式中,业务逻辑单元组803包含多个业务逻辑单元,通信服务器800包含流程控制单元和判断单元,其中,流程控制单元用于查找处理第一消息队列801接收到的业务消息的首个业务逻辑单元,并调用上述首个业务逻辑单元对接收到的业务消息进行处理;判断单元用于判断是否存在下一个业务逻辑单元;上述流程控制单元还用于当上述判断单元判断出存在下一个业务逻辑单元时,调用上述下一个业务逻辑单元对当前业务逻辑单元处理后的业务消息进行处理;当上述判断单元判断出不存在下一个业务逻辑单元时,输出经上述当前业务逻辑单元处理后的业务消息。
在一种应用场景下,通信服务器800还可包括:
异常告警单元,用于当业务消息的处理出现异常时,向上述业务消息的发送端返回处理异常消息,以使上述发送端获知上述业务消息的处理出现异常。
由上可见,本发明实施例在通信服务器上配置业务逻辑单元组,通信服务器通过调用业务逻辑单元组中的业务逻辑单元对第一消息队列接收到的业务消息进行处理后发送给目标系统,一方面,由于目标系统接收到的业务消息是经过业务逻辑单元处理过的,因此,可保证目标系统接收到的业务消息的有效性,另一方面,可依据实际的业务消息处理需要对业务逻辑处理组中的业务逻辑处理单元进行配置,提高了业务通信系统的伸缩性和可维护行。综上,本发明实施例中提高的技术方案可有效提高业务通信系统的性能,且具有良好的伸缩性和可维护行。
需要说明的是,本实施例的通信服务器800可以如上述方法实施例中的通信服务器,可以用于实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
下面对本发明实施例中的一种业务通信系统进行描述,请参阅图9,包括:
发送系统901,通信服务器902以及接收系统903;
其中,发送系统901用于通过通信服务器902向接收系统903发送业务消息;
通信服务器902用于通过第一消息队列接收来自发送系统的业务消息;调用业务逻辑单元组对业务消息进行处理,其中,业务逻辑单元组包括至少一个业务逻辑单元;通信服务器902还用于将处理后的业务消息通过第二消息队列发送至接收系统903。
需要说明的是,一个通信服务器可以同时为多个发送系统和多个接收系统服务,通信服务器可根据接收到的业务消息中携带的地址信息区分接收到的业务消息的来源和去向,或者,通信服务器也可向不同的发送系统和接收系统分别分配不同的第一消息队列和第二消息队列,以此区分接收到的业务消息的来源和去向,此处不作限定。
需要说明的是,本实施例的通信服务器902可以如上述方法实施例中的通信服务器,可以用于实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,随机存储器、磁盘或光盘等。
以上对本发明所提供的基于消息队列的消息处理方法、相关设备及系统进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种基于消息队列的消息处理方法,其特征在于,包括:
通信服务器的第一消息队列接收业务消息;
通信服务器调用业务逻辑单元组对所述业务消息进行处理,所述业务逻辑单元组包括至少一个业务逻辑单元;
将处理后的业务消息通过第二消息队列发送至目标系统。
2.根据权利要求1所述的方法,其特征在于,
所述调用业务逻辑单元组对所述业务消息进行处理包括:
查找处理接收到的所述业务消息的首个业务逻辑单元,
调用所述首个业务逻辑单元对接收到的所述业务消息进行处理,
判断是否存在下一个业务逻辑单元,
若存在,则调用所述下一个业务逻辑单元对当前业务逻辑单元处理后的业务消息进行处理;
若不存在,则输出经所述当前业务逻辑单元处理后的业务消息。
3.根据要求1或2所述的方法,其特征在于,
所述调用业务逻辑单元组对所述业务消息进行处理的步骤包括:
当业务消息的处理出现异常时,向所述业务消息的发送端返回处理异常消息。
4.根据权利要求1或2所述的方法,其特征在于,
每个业务逻辑单元对应与一个消息队列,且业务逻辑单元与消息队列一一对应;
所述调用所述首个业务逻辑单元对所述业务消息进行处理的步骤包括:
将所述业务消息传送给所述首个业务逻辑单元的消息队列;
所述首个业务逻辑单元对其消息队列接收到的业务消息进行处理;
所述调用所述下一个业务逻辑单元对当前业务逻辑单元处理后的业务消息进行处理的步骤包括:
将当前业务逻辑单元处理后的业务消息传送给所述下一个业务逻辑单元的消息队列;
所述下一个业务逻辑单元对其消息队列接收到的业务消息进行处理。
5.一种通信服务器,其特征在于,包括:
第一消息队列、第二消息队列和业务逻辑单元组,所述业务逻辑单元组包括至少一个业务逻辑单元;
所述第一消息队列用于接收业务消息;
所述业务逻辑单元组用于对所述业务消息进行处理;
所述第二消息队列用于将经所述业务逻辑单元组处理后的业务消息发送至目标系统。
6.根据权利要求5所述的服务器,其特征在于,
还包括:
流程控制单元,用于查找处理所述第一消息队列接收到的业务消息的首个业务逻辑单元,并调用所述首个业务逻辑单元对接收到的所述业务消息进行处理;
判断单元,用于判断是否存在下一个业务逻辑单元;
所述流程控制单元还用于当所述判断单元判断出存在下一个业务逻辑单元时,调用所述下一个业务逻辑单元对当前业务逻辑单元处理后的业务消息进行处理;当所述判断单元判断出不存在下一个业务逻辑单元时,输出经所述当前业务逻辑单元处理后的业务消息。
7.根据权利要求5或6所述的服务器,其特征在于,
异常告警单元,用于当业务消息的处理出现异常时,向所述业务消息的发送端返回处理异常消息,以使所述发送端获知所述业务消息的处理出现异常。
8.根据权利要求5或6所述的服务器,其特征在于,
还包括:
与所述业务逻辑单元组中的业务逻辑单元一一对应的消息队列;
所述消息队列用于接收业务消息;
所述业务逻辑单元具体用于对其消息队列接收到的业务消息进行处理。
9.一种业务通信系统,其特征在于,包括:
发送系统,通信服务器以及接收系统;
所述发送系统用于通过所述通信服务器向所述接收系统发送业务消息;
所述通信服务器用于通过第一消息队列接收来自发送系统的所述业务消息;调用业务逻辑单元组对所述业务消息进行处理,所述业务逻辑单元组包括至少一个业务逻辑单元;将处理后的业务消息通过第二消息队列发送至所述接收系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102523151A CN102957594A (zh) | 2011-08-30 | 2011-08-30 | 基于消息队列的消息处理方法、相关设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102523151A CN102957594A (zh) | 2011-08-30 | 2011-08-30 | 基于消息队列的消息处理方法、相关设备及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102957594A true CN102957594A (zh) | 2013-03-06 |
Family
ID=47765853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102523151A Pending CN102957594A (zh) | 2011-08-30 | 2011-08-30 | 基于消息队列的消息处理方法、相关设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102957594A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539661A (zh) * | 2014-12-11 | 2015-04-22 | 曙光信息产业(北京)有限公司 | 消息队列处理方法和装置 |
CN105242975A (zh) * | 2015-08-27 | 2016-01-13 | 浪潮软件股份有限公司 | 一种消息传输的方法和消息中间件 |
CN105827686A (zh) * | 2015-11-16 | 2016-08-03 | 广东亿迅科技有限公司 | 一种数据传输方法 |
CN108255620A (zh) * | 2018-01-08 | 2018-07-06 | 北京奇艺世纪科技有限公司 | 一种业务逻辑处理方法、装置、业务服务器及系统 |
CN109886792A (zh) * | 2017-12-06 | 2019-06-14 | 航天信息股份有限公司 | 纳税申报系统 |
CN110309002A (zh) * | 2019-05-29 | 2019-10-08 | 北京达佳互联信息技术有限公司 | 消息处理方法、装置、电子设备及存储介质 |
CN113542406A (zh) * | 2021-07-14 | 2021-10-22 | 上海浦东发展银行股份有限公司 | 一种系统间消息的异步处理系统 |
CN114268459A (zh) * | 2021-11-23 | 2022-04-01 | 贵州电网有限责任公司 | 一种基于服务侧的数据安全访问方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070173268A1 (en) * | 2001-08-27 | 2007-07-26 | Tcl Communication Technology Holding Limited | System of interoperability between MMS messages and SMS/EMS messages and an associated exchange method |
CN101340400A (zh) * | 2008-08-29 | 2009-01-07 | 中兴通讯股份有限公司 | 一种异步消息处理方法及系统 |
CN101616366A (zh) * | 2008-06-24 | 2009-12-30 | 中兴通讯股份有限公司 | 一种短信网关中并行业务处理的系统和方法 |
CN102025649A (zh) * | 2010-06-04 | 2011-04-20 | 西本新干线股份有限公司 | 企业服务总线的消息处理方法 |
-
2011
- 2011-08-30 CN CN2011102523151A patent/CN102957594A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070173268A1 (en) * | 2001-08-27 | 2007-07-26 | Tcl Communication Technology Holding Limited | System of interoperability between MMS messages and SMS/EMS messages and an associated exchange method |
CN101616366A (zh) * | 2008-06-24 | 2009-12-30 | 中兴通讯股份有限公司 | 一种短信网关中并行业务处理的系统和方法 |
CN101340400A (zh) * | 2008-08-29 | 2009-01-07 | 中兴通讯股份有限公司 | 一种异步消息处理方法及系统 |
CN102025649A (zh) * | 2010-06-04 | 2011-04-20 | 西本新干线股份有限公司 | 企业服务总线的消息处理方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539661A (zh) * | 2014-12-11 | 2015-04-22 | 曙光信息产业(北京)有限公司 | 消息队列处理方法和装置 |
CN104539661B (zh) * | 2014-12-11 | 2018-11-06 | 曙光信息产业(北京)有限公司 | 消息队列处理方法和装置 |
CN105242975A (zh) * | 2015-08-27 | 2016-01-13 | 浪潮软件股份有限公司 | 一种消息传输的方法和消息中间件 |
CN105827686A (zh) * | 2015-11-16 | 2016-08-03 | 广东亿迅科技有限公司 | 一种数据传输方法 |
CN109886792A (zh) * | 2017-12-06 | 2019-06-14 | 航天信息股份有限公司 | 纳税申报系统 |
CN108255620A (zh) * | 2018-01-08 | 2018-07-06 | 北京奇艺世纪科技有限公司 | 一种业务逻辑处理方法、装置、业务服务器及系统 |
CN108255620B (zh) * | 2018-01-08 | 2021-11-05 | 北京奇艺世纪科技有限公司 | 一种业务逻辑处理方法、装置、业务服务器及系统 |
CN110309002A (zh) * | 2019-05-29 | 2019-10-08 | 北京达佳互联信息技术有限公司 | 消息处理方法、装置、电子设备及存储介质 |
CN113542406A (zh) * | 2021-07-14 | 2021-10-22 | 上海浦东发展银行股份有限公司 | 一种系统间消息的异步处理系统 |
CN114268459A (zh) * | 2021-11-23 | 2022-04-01 | 贵州电网有限责任公司 | 一种基于服务侧的数据安全访问方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102957594A (zh) | 基于消息队列的消息处理方法、相关设备及系统 | |
US20200374288A1 (en) | Block chain-based multi-chain management method and system, electronic device, and storage medium | |
CN111371892A (zh) | 高并发分布式消息推送系统及方法 | |
CN103890808A (zh) | 用于提供接收确认的对话型短讯服务运作方法 | |
CN105468302B (zh) | 一种处理数据的方法、装置及系统 | |
CN102932472B (zh) | 一种数据处理方法以及通信系统 | |
CN111163130B (zh) | 一种网络服务系统及其数据传输方法 | |
CN101296176B (zh) | 一种基于群集的数据处理方法和装置 | |
CN103139157B (zh) | 一种基于socket的网络通信方法、装置及系统 | |
CN101616083A (zh) | 一种报文转发方法和装置 | |
CN109359992A (zh) | 一种新型的区块链分区分片方式和装置 | |
CN110413424B (zh) | 可配置的第三方消息回调方法、装置、服务器和存储介质 | |
CN104767714A (zh) | 一种关联用户资源信息的方法、终端及系统 | |
CN108631955A (zh) | 一种确保消息发送可达的方法、系统和装置 | |
CN105553682A (zh) | 事件通知方法及用于事件通知的系统 | |
CN107968848B (zh) | 一种获取ip地址的方法、终端设备及存储介质 | |
CN103428260A (zh) | 用于将终端分配到服务器并高效地提示终端的系统及方法 | |
CN102891851A (zh) | 虚拟桌面访问控制方法、设备及系统 | |
EP2439881A1 (en) | Cluster system and request message distribution method for processing multi-node transaction | |
CN102054213A (zh) | 一种信息集成方法、装置及系统 | |
CN103997509A (zh) | 一种基于面向服务的体系结构的服务处理方法及装置 | |
CN106302432B (zh) | 一种基于车联网的通信装置及控制方法 | |
EP2690560A2 (en) | Method of benchmarking the behaviour of a replacement information system with the old system | |
CN109862070B (zh) | 金融面签业务中进线优化方法、装置及可读存取介质 | |
CN105634931A (zh) | 消息业务处理方法及即时通讯服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130306 |