CN102469033A - 一种消息订阅***以及消息发送方法 - Google Patents
一种消息订阅***以及消息发送方法 Download PDFInfo
- Publication number
- CN102469033A CN102469033A CN2010105325675A CN201010532567A CN102469033A CN 102469033 A CN102469033 A CN 102469033A CN 2010105325675 A CN2010105325675 A CN 2010105325675A CN 201010532567 A CN201010532567 A CN 201010532567A CN 102469033 A CN102469033 A CN 102469033A
- Authority
- CN
- China
- Prior art keywords
- message
- oriented middleware
- server
- middleware server
- classification logotype
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种消息订阅***以及消息发送方法,主要技术方案包括:第一消息中间件服务器接收消息发布服务器发送的携带类别标识以及对应的消息发送顺序信息的消息,将接收的消息保存至设定位置;其中,对应同一类别标识的多个消息对应同一业务流程以及同一消息接收终端,并且在消息发布服务器中按照对应的发送顺序发送;第二消息中间件服务器确定设定位置存在需要当前发送的消息后,获取消息,并在确定该消息满足设定的发送条件后,按照该消息的发送顺序,将该消息发送至与类别标识对应的消息接收终端。根据该技术方案,消息接收终端能够按照消息发布服务器发送该类别标识对应的各消息的顺序接收到消息。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种消息订阅***以及消息发送方法。
背景技术
在消息订阅***中,消息的发布一般都基于消息中间件服务器实现,即消息发布服务器将消息发送到消息中间件服务器,由该消息中间件服务器将该消息发布到各个消息消息接收终端。
实际应用中,为了满足众多消息的发布需求,消息订阅***中一般部署多台消息中间件服务器,每个消息中间件服务器都承担向不同消息接收终端投递不同消息的任务。传统消息订阅***如图1所示,该消息订阅***包括消息发布服务器101、消息中间件服务器102(可能为多台,图1仅示出了2个)以及消息接收终端103(可能为多个,图1仅示出了4个)。基于图1所示的消息订阅***,实现消息发送的过程,如图2所示,包括如下步骤:
步骤201、消息发布服务器101将消息发送到其中一个消息中间件服务器102;
步骤202、消息中间件服务器102接收消息后,保存该消息,并将该消息加入消息发送队列;
步骤203、根据消息发送队列中该消息对应的消息接收终端103的地址列表,依次向各消息消息接收终端103发送保存的消息;
步骤204、消息中间件服务器102判断当前发送的消息是否发送成功,若是,则执行步骤205,若否,则执行步骤206;
步骤205、删除保存的该消息,至此,结束当前消息的发送流程。
步骤206、将本次发送失败的消息加入消息发送队列,至此,结束当前消息的发送流程。
根据以上流程,在传统消息订阅***中,消息中间件服务器102对消息的处理策略是消息到达后立即发送。这种发送模式虽然提高了***吞吐率,但在实际应用场景中,消息发布服务器101发布的消息可能对应不同的业务流程以及不同的消息接收终端,一个业务流程对应的多个消息需要按照设定顺序发送并且按照设定顺序到达消息接收终端103,才能保证业务执行的成功率。例如,一个交易类型的网站基于消息订阅***处理一个业务流程下的用户订单,当用户订单从当前状态变化到新状态时,需要通过消息发布服务器101发送一个消息出去,该消息用于标识用户订单的新状态。对于此类应用场景,需要将该业务流程下根据用户订单的状态跳转情况依次生成的消息发送到消息接收终端,这样才能保证交易的正常进行,如果消息未按照生成顺序到达消息接收终端,可能导致订单状态的混乱,从而使得该业务流程无法正常完成。
而在实践过程中发现,消息订阅***一般都包括多个消息中间件服务器,消息发布服务器在发送消息时,未考虑该消息对应的业务流程以及消息接收终端,即从消息发布服务器发送出去的消息可能会到达不同的消息中间件服务器,并且各消息中间件服务器在收到消息后,会尽快将该消息发送出去,因此,基于传统消息订阅***实现的消息发送流程,存在消息接收终端接收到同一业务流程的多个消息的顺序与消息发布服务器发送各消息的顺序不一致的问题,从而导致业务流程混乱甚至无法正常执行。
发明内容
有鉴于此,本申请实施例提供一种消息订阅***以及消息发送方法,用于解决现有技术中存在的消息接收终端接收到同一业务流程的多个消息的顺序与消息发布服务器发送各消息的顺序不一致的问题。
本申请实施例通过如下技术方案实现:
根据本申请实施例的一个方面,提供了一种消息发送方法,包括:
第一消息中间件服务器接收消息发布服务器发送的携带类别标识以及对应的消息发送顺序信息的消息,并将接收的所述消息保存至设定位置;其中,对应同一类别标识的多个消息对应同一业务流程以及同一消息接收终端,并且在所述消息发布服务器中按照对应的消息发送顺序发送;
第二消息中间件服务器确定所述设定位置存在需要当前发送的消息后,获取所述消息,并在确定所述消息满足设定的消息发送条件后,按照所述消息携带的发送顺序信息,将所述消息发送至与所述类别标识对应的消息接收终端。
根据本申请实施例的另一个方面,还提供了一种消息订阅***,包括:
消息发布服务器,用于为对应同一业务流程以及同一消息接收终端的多个消息分配同一类别标识,并将分配的所述类别标识以及该消息对应的消息发送顺序信息携带在所述消息中按照对应的消息发送顺序发送;
第一消息中间件服务器,用于接收所述消息发布服务器发送的携带类别标识以及对应的消息发送顺序信息的消息,并将接收的所述消息保存至设定位置;
第二消息中间件服务器,用于在确定所述设定位置存在需要当前发送的消息后,获取所述消息,并在确定所述消息满足设定的消息发送条件后,按照所述消息携带的发送顺序信息,将所述消息发送至与所述类别标识对应的消息接收终端。
通过本申请实施例提供的上述至少一个技术方案,第一消息中间件服务器接收消息发布服务器发送的携带类别标识以及对应的消息发送顺序信息的消息,并将接收的消息保存至设定位置;其中,对应同一类别标识的多个消息对应同一业务流程以及同一消息接收终端,并且在消息发布服务器中按照对应的消息发送顺序消息发送;第二消息中间件服务器确定该设定位置存在需要当前发送的消息后,获取该消息,并在确定该消息满足设定的消息发送条件后,按照该消息携带的发送顺序信息,将该消息发送至与该类别标识对应的消息接收终端。根据该技术方案,消息发布服务器在发送消息时根据该消息对应的业务流程以及消息接收终端为该消息分配类别标识,第一消息中间件服务器在接收到消息后保存,由第二消息中间件服务器在确定该消息满足设定的消息发送条件后,按照该消息的发送顺序发送该消息。从而使得消息接收终端能够按照消息发布服务器发送该类别标识对应的各消息的顺序,接收到对应同一业务流程的各个消息。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中:
图1为现有技术中的消息订阅***示意图;
图2为现有技术中实现订阅消息发送的流程图;
图3为本申请***实施例提供的消息订阅***示意图;
图4为本发明方法实施例提供的消息发送流程图;
图5为本发明方法实施例一提供的消息发送流程图;
图6为本发明方法实施例二提供的消息发送流程图;
图7为本发明方法实施例二提供的又一消息发送流程图;
图8为本发明方法实施例三提供的消息发送流程图。
具体实施方式
为了给出保证消息接收终端接收到同一业务流程的多个消息的顺序与消息发布服务器发送各消息的顺序一致的实现方案,本申请实施例提供了一种消息订阅***以及消息发送方法,该技术方案可以应用于订阅消息发送的过程,既可以实现为一种***,也可以实现为一种方法。以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
***实施例
本申请***实施例提供了一种消息订阅***,如图3所示,该消息订阅***包括:
消息发布服务器301、第一消息中间件服务器302(可能为多台,图中示出两台作为示例)、第二消息中间件服务器303(可能为多台,图中示出两台作为示例)。该***中,第一消息中间件服务器302主要用于接收消息,第二消息中间件服务器303主要用于发送消息。
其中:
消息发布服务器301,用于将同一业务流程产生的消息按照消息的生成顺序发送,发送的消息中携带消息接收终端的地址信息、为该消息生成的类别标识以及该消息对应的发送顺序信息;
第一消息中间件服务器302,用于接收消息发布服务器301发送的携带类别标识以及发送顺序的消息,并将接收的消息保存至设定位置;
第二消息中间件服务器303,用于在确定设定位置存在需要当前发送的消息后,获取该消息,并在确定该消息满足设定的消息发送条件时,按照该消息对应的发送顺序发送该消息至对应的消息接收终端。
具体地,消息发布服务器301发送的消息中,消息的发送顺序信息用于标识该消息在所对应的业务流程中的发送顺序,也即消息的生成顺序,消息的发送顺序信息可以为按照消息的实际发送顺序对应的顺序标号,也可以为消息类型信息(业务流程中各类型消息的发送顺序通常是固定的)。
具体地,消息发布服务器301生成的类别标识用于标识消息对应的业务流程,即消息发布服务器301在发送消息之前,为对应同一业务流程的多个消息分配同一类别标识,实际应用中,类别标识的形式可以灵活设定,只要保证对应同一业务流程的消息具有相同的类别标识,对应不同业务流程的消息具有不同的类别标识即可。实际应用中,消息的类别标识可以为根据消息所对应的业务流程的相关信息计算得到的哈希值。
具体地,第二消息中间件服务器303在确定该消息满足设定的消息发送条件,以及按照该消息对应的发送顺序发送该消息,可以采用如下方式:
方式一:
保存该消息,在确定将与获取的该消息为同一类别标识的所有消息获取完毕后(即设定的消息发送条件),根据对应该类别标识的各消息携带的发送顺序信息生成发送队列,并依次发送消息。
方式二:
在消息发送过程中维护一个消息发送记录,接收到该消息后,通过查找该消息发送记录,在确定发送顺序在该消息的发送顺序之前的消息均已发送(即设定的消息发送条件),则发送该消息,否则先保存该消息,等待发送顺序在该消息的发送顺序之前的消息全部发送完毕后,发送该消息。
图3所示的消息订阅***中,第二消息中间件服务器303的数量可以根据单位时间内消息发布服务器301发送的消息的数量进行动态调整,例如,在某段时间内消息发布服务器301发送的消息的数量超过第一设定阈值时,可以增加该消息订阅***种第二消息中间件服务器303的数量,以提高对订阅消息发送的及时性;在某段时间内消息发布服务器301发送的订阅消息的数量低于第二设定阈值时,可以减少该消息订阅***种第二消息中间件服务器303的数量,以避免服务器资源的闲置,提高服务器资源的利用率。优选地,第一设定阈值以及第二设定阈值的大小可以根据第二消息中间件服务器303的数量M以及每个第二消息中间件服务器303的在单位时间内能处理的消息的数量N确定。例如,该第一设定阈值可以等于M*N或略大于M*N或略小于M*N;该第二设定阈值可以等于(M-1)*N或略大于(M-1)*N或略小于(M-1)*N,即如果单位时间内消息发布服务器301发送的消息的数量大于所有第二消息中间件服务器303所能处理的消息的总数(即第一设定阈值),则可以增加消息订阅***中的第二消息中间件服务器303的数量;如果单位时间内消息发布服务器301发送的消息的数量小于在减少一个第二消息中间件服务器303的情况下所有第二消息中间件服务器303所能处理消息的总数(即第二设定阈值),则可以减少消息订阅***中的第二消息中间件服务器303的数量。应当理解的是,此处对于第一设定阈值以及第二设定阈值的取值仅为实施本发明优选实施例的举例,实际应用中,该第一设定阈值以及第二设定阈值可以灵活设置,只要能够保证单位时间内消息发布服务器301发送的订阅消息能够得到及时处理,并且不会造成订阅消息积压或第二消息中间件服务器303资源被大量浪费即可。
根据本申请实施例中第一消息中间件服务器302保存接收的消息的设定位置的不同,第二消息中间件服务器303对应的处理过程也有所不同,具体地,第一消息中间件服务器302保存接收的消息可以采用如下任一方式:
方式一
将接收的消息保存至本地存储设备,例如,本地硬盘等。
方式二
将接收的消息保存至设置的用于存储消息的消息存储服务器,该消息存储服务器通常具有较高的配置,保存消息的可靠性较高。
方式三
确定接收的消息对应的可靠性要求,在可靠性要求满足设定可靠性要求时,将该消息保存至消息存储服务器,否则,将该消息保存至本地存储设备。其中,设定可靠性要求可以根据实际业务需求进行设置,例如,对于重要业务流程产生的消息,可以选择存储至消息存储服务器以保证消息存储的可靠性,设定的可靠性要求可以为此类重要业务流程对应的类别标识。
以下分别结合不同的***实施例,对消息订阅***的详细实现过程进行说明。
***实施例一
该***实施例一中,图3所示的***中包括的第一消息中间件服务器302具体用于:将接收的消息保存至本地存储设备(即第一消息中间件服务器302保存接收的消息采用上述方式一)。
该***实施例一中,由于第一消息中间件服务器302是将接收的消息存储在本地存储设备中,基于此,第一消息中间件服务器302在保存接收的消息后,还需要向第二消息中间件服务器303发送消息发送通知,即通知第二消息中间件服务器303有消息需要发送。
该第一消息中间件服务器302在实现消息发送通知功能时,具体用于:
根据保存的各第二消息中间件服务器303与类别标识的对应关系,向与接收的该消息携带的类别标识对应的第二消息中间件服务器303发送消息发送通知,该消息发送通知中包括该消息的存储位置信息。
该第一消息中间件服务器302在实现消息发送通知功能时所涉及的更为详细的处理流程将在后续与该***实施例对应的方法实施例中详细描述,此处暂不描述。
图3所示的***中包括的第二消息中间件服务器303,具体用于:
在接收到第一消息中间件服务器302发送的消息发送通知后,确定有待发送消息,并根据该消息发送通知中包括的存储位置信息,获取该消息。
基于上述处理方式,该第二消息中间件服务器303采用被动的方式获取消息,通过该方式,第二消息中间件服务器303能够基于第一消息中间件服务器302发送的消息发送通知,及时地获取该消息并进行处理,从而能够及时地处理消息。
根据本申请实施例一,第二消息中间件服务器303在获取到需要发送的消息后,需要在确定该消息满足设定发送条件时才发送该消息,具体地,第二消息中间件服务器303,在采用上述方式一确定该消息满足设定发送条件,以及按照该消息对应的发送顺序发送该消息时,具体用于:
根据保存的各类别标识分别对应的消息数量,在确定获取到的当前类别标识对应的消息数量与保存的当前类别标识对应的消息数量一致时,确定将与获取的该消息为同一类别标识的所有消息获取完毕后,即该消息满足设定的发送条件,进一步根据获取的当前类别标识对应的各消息中携带的发送顺序信息发送各消息。
该第二消息中间件服务器303在实现上述判断功能时所涉及的更为详细的处理流程将在后续与该***实施例对应的方法实施例中详细描述,此处暂不描述。
根据本申请实施例一,第二消息中间件服务器303在确定接收的消息满足消息的发送条件时,进一步按照设定顺序发送对应同一类别标识的所有消息。具体地,第二消息中间件服务器303,在实现消息发送功能时,具体用于:
获取该类别标识对应的各消息中携带的消息发送顺序信息;
根据获取的各消息对应的消息发送顺序信息,依次发送各消息。具体地,若获取的消息发送顺序信息为与消息的发送顺序对应的顺序标号,则按照顺序标号依次发送各消息,例如,与消息的发送顺序对应的顺序标号为1、2……5,则对应顺序标号为1的消息第一个发送,对应顺序标号为5的消息最后一个发送;若获取的消息发送顺序信息为消息的消息类型信息,则根据保存的各类别标识对应的各消息类型信息,确定获取的消息对应的消息类型的发送顺序,并按照确定的顺序发送该消息。
该第二消息中间件服务器303在实现上述消息发送功能时所涉及的更为详细的处理流程将在后续与该***实施例对应的方法实施例中详细描述,此处暂不描述。
基于该***实施例一提供的技术方案,第一消息中间件服务器302在接收到消息发布服务器301发送的消息后,将该消息保存在本地存储设备,并在保存消息后,及时通知第二消息中间件服务器303进行处理。该第二消息中间件服务器303在接收到第一消息中间件服务器302发送的消息发送通知后,获取该消息,并在该消息满足消息发送条件时,发送该消息,从而保证消息接收终端能够按照消息在消息发布服务器301中的发送顺序接收到各消息。
***实施例二
该***实施例二中,图3所示的***中包括的第一消息中间件服务器302具体用于:将接收的消息保存至消息存储服务器,该消息存储服务器可以为独立于各第一消息中间件服务器302的服务器,用于存储消息(即第一消息中间件服务器302保存接收的消息采用上述方式二)。
可选地,该第一消息中间件服务器302还用于:向第二消息中间件服务器303发送消息发送通知,即通知第二消息中间件服务器303有消息需要发送。该第一消息中间件服务器302在实现消息发送通知功能时的具体过程,已在上述***实施例一中详细描述,此处不再赘述。
在第一消息中间件服务器302发送消息发送通知的情况下,图3所示的***中包括的第二消息中间件服务器303,具体用于:
在接收到第一消息中间件服务器302发送的消息发送通知后,确定有待发送消息,并根据该消息发送通知中包括的存储位置信息,获取该消息。
基于上述处理方式,该第二消息中间件服务器303采用被动的方式获取消息,通过该方式,第二消息中间件服务器303能够基于第一消息中间件服务器302发送的消息发送通知,及时地获取该消息并进行处理,从而提高了消息处理的及时性。
该***实施例二中,由于第一消息中间件服务器302是将接收的所有消息都发送至同一的消息存储服务器中,因此,该第一消息中间件服务器302在保存接收的消息后,可以不针对接收的每一条消息向第二消息中间件服务器303发送通知,而是由第二消息中间件服务器303周期性轮询消息存储服务器以确定是否有需要当前发送的消息。采用该方式,可以减少第一消息中间件服务器302和第二消息中间件服务器303之间的信令开销,尤其在第一消息中间件服务器302的数量较多,并且接收的消息较多的情况下,更适合采用该方式。
具体地,第二消息中间件服务器303,具体用于采用如下方式一或方式二在确定有需要当前发送消息:
方式一
周期性轮询该消息存储服务器,若消息存储服务器中保存有未被发送的消息,则根据该消息存储服务器保存的消息发送记录,确定该未被发送的消息是否为需要当前发送的消息。具体地,该消息发送记录,包括:已被获取的消息的类别标识与获取该消息的第二消息中间件服务器303的标识的对应关系。相应地,根据该消息存储服务器保存的消息发送记录,确定该未被发送的消息是否为需要当前发送的消息,即:
若消息发送记录中存在该未被发送的消息的类别标识对应的相关记录,则进一步根据该记录确定与该类别标识对应的第二消息中间件服务器303的标识是否为自身标识,若是,则确定该消息为需要当前发送的消息并获取,若否,则确定该消息不是需要当前发送的消息;
若消息发送记录中不存在该未被发送的消息的类别标识对应的相关记录,则确定该消息为需要当前发送的消息并获取。
实际应用中,采用该方式,若分类标识类别标识为哈希值(如果不是哈希值,可以通过哈希算法计算得到一个哈希值),则可以预先将所有分类标识类别标识构成的整个范围分成比较多的段,第二消息中间件服务器303在每次轮询消息存储服务器中的消息时,在当前没有被其它第二消息中间件服务器303锁定的段中选择至少一个段,并锁定该选择的段,而后来的第二消息中间件服务器303就不能再选择已被锁定的这些段了。该方式保证了不会出现有消息重复发送的情况。并且,在此基础上,每个第二消息中间件服务器303都会定时检查当前集群中第二消息中间件服务器303的数量,以及自己所锁定的分段的数量,如果超过了平均的分段的数量,则释放部分锁定的段,让其它第二消息中间件服务器303来处理,以达到负载的均衡,另外一方面,也会检查自己是否需要承担更多的分段的任务。
采用上述方式一,能够更加灵活地处理消息分类标识类别标识增加或减少的情况,从而灵活地实现消息订阅***中的负载均衡。
方式二
周期性轮询该消息存储服务器,若该消息存储服务器保存的消息携带的类别标识属于预先为该第二消息中间件服务器303分配的类别标识,则确定有需要当前发送的消息。
实际应用中,采用该方式,若分类标识类别标识为哈希值(如果不是哈希值,可以通过哈希算法计算得到一个哈希值),则可以预先将所有分类标识类别标识构成的整个范围分成比较多的段,并预先为每个第二消息中间件服务器303分配要处理的分段,实现简单、可靠。
根据本申请实施例二,第二消息中间件服务器303在获取到需要发送的消息后,需要判断该消息是否满足设定的发送条件,并在判断该消息满足设定的发送条件时,按照该消息的发送顺序发送该消息,该过程所涉及的具体过程已在上述***实施例一中详细描述,此处不再赘述。
根据本申请***实施例二提供的技术方案,第一消息中间件服务器302在接收到消息发布服务器301发送的消息后,将该消息保存在消息存储服务器中,以方便对消息的统一管理与获取。该第一消息中间件服务器302可以选择向第二消息中间件服务器303发送消息发送通知,以保证消息发送的及时性,也可以不发送消息发送通知,以减少第一消息中间件服务器302和第二消息中间件服务器303之间的信令开销。该第二消息中间件服务器303可以在接收到第一消息中间件服务器302发送的消息发送通知后获取该消息,或者通过周期性轮询消息存储服务器确定该消息存储服务器中保存有需要当前发送的消息时获取该消息,并在该消息满足设定的消息发送条件时发送该消息,从而保证消息接收终端能够按照消息在消息发布服务器301中的发送顺序接收到各消息。
***实施例三
该***实施例三中,图3所示的***中包括的第一消息中间件服务器302具体用于:确定接收的消息对应的可靠性要求,在满足设定的可靠性要求时,将该消息保存至消息存储服务器,否则,将该消息保存至本地存储设备(即第一消息中间件服务器302保存接收的消息采用上述方式三)。
该第一消息中间件服务器302在确定消息的存储位置时所涉及的更为详细的处理流程将在后续与该***实施例对应的方法实施例中详细描述,此处暂不描述。
在此基础上,该第一消息中间件服务器302还用于:
向第二消息中间件服务器303发送消息发送通知,即通知第二消息中间件服务器303有消息需要发送。该第一消息中间件服务器302在实现消息发送通知功能时的具体过程,已在上述***实施例一中详细描述,此处不再赘述。
该实施例三中,图3所示的***中包括的第二消息中间件服务器303所实现的具体功能与上述实施例一中所述的第二消息中间件服务器303所实现的具体功能一致,此处不再赘述。
基于该***实施例三提供的技术方案,在达到上述***实施例一所述的技术效果的基础之上,由于该实施例中第一消息中间件服务器302在接收到消息后,能够进一步针对该消息要求的可靠性,灵活选择消息的存储位置。在消息可靠性要求较高,即满足设定的可靠性要求时,可以选择将该消息保存至专门用于存储消息的消息存储服务器,以提高消息的安全性;在消息可靠性要求较低,即不满足设定的可靠性要求时,可以选择将该消息保存在本地存储设备,以减少保存消息所耗费的网络资源,并且能够提供保存消息的效率。
本申请提供的上述***实施例中,通过将消息中间件服务器中接收消息和发送消息的职责分离,由第一消息中间件服务器302承担接收消息的职责,即负责接收到消息并保存至指定存储位置。第一消息中间件服务器302可以接收对应任意类别标识的消息,这样的设计,可以提升整个消息订阅***的可用性和可靠性。并且,专门用于接收消息的第一消息中间件服务器302主要和消息发布服务器301进行交互,专门用于发送消息的第二消息中间件服务器303主要和消息接收终端进行交互。这样的方式,也降低了消息订阅***对耦合度的要求。
方法实施例
与上述***实施例对应,本发明实施例还提供了一种基于上述***实施例提供的消息订阅***实现的消息发送方法。
如图4所示,基于图3所示的消息订阅***实现的消息发送方法,主要包括如下步骤:
步骤401、消息发布服务器301发送携带类别标识的消息至第一消息中间件服务器302。
步骤402、第一消息中间件服务器302接收消息发布服务器301发送的携带类别标识的消息,并将接收的所述消息保存至设定位置。
步骤403、第二消息中间件服务器303确定该设定位置存在待发送消息后,获取该消息。
步骤404、第二消息中间件服务器303在确定将与获取的所述消息为同一类别标识的所有消息获取完毕后,按照确定出的对应该类别标识的各消息在消息发布服务器301侧的发送顺序,将对应该类别标识的各消息发送至与该类别标识对应的消息接收终端。
图4所示流程的步骤401中,消息发布服务器301在发送消息时,需要为该消息中分配类别标识并将该类别标识携带在消息中一起发送,该类别标识的分配原则如下:
对应同一类别标识的多个消息对应同一业务流程以及同一消息接收终端,即为发往同一消息接收终端并且由一个业务流程产生的多个消息分配同一个类别标识,该对应同一类别标识的多个消息在消息发布服务器301中按照设定顺序发送,该设定顺序即各消息在所对应的业务流程中的产生顺序。
具体地,消息发布服务器301为消息分配的类别标识主要用于标识各消息是否为需要按照设定顺序发送的同一组消息,因此,该类别标识可以以各种形式存在,例如,可以为一段字符串、所对应业务流程对应的流程代码(如交易编号)等,本申请提供的优选方式如下:
根据该消息所对应的消息接收终端的客户端代码、该消息所对应的业务流程的流程代码进行哈希运算,得到一个哈希值,并将该哈希值作为该消息的类别标识。根据该方式,能够增加类别标识的标识空间,避免对应不同消息接收终端或业务流程的消息占用同一类别标识。
图4所示流程的步骤402中,第一消息中间件服务器302接收消息发布服务器301发送的携带类别标识的消息,并将接收的所述消息保存至设定位置,包括:
第一消息中间件服务器302将接收的所述消息保存至本地存储设备,即在每个第一消息中间件服务器302中建立用于存储消息的存储文件,第一消息中间件服务器302在接收到消息发布服务器301发送的消息后,将该消息存储到建立的该存储文件。具体地,第一消息中间件服务器302在接收到消息后,可以根据该消息携带的类别标识为索引进行存储,以便于第二消息中间件服务器303获取。或者:
第一消息中间件服务器302将接收的所述消息保存至消息存储服务器,即设置专门用于存储消息的消息存储服务器,第一消息中间件服务器302在接收到消息发布服务器301发送的消息后,将该消息存储到该消息存储服务器中,以提高消息的安全性。具体地,第一消息中间件服务器302在接收到消息后,可以根据该消息携带的类别标识为索引进行存储,以便于第二消息中间件服务器303获取。或者:
第一消息中间件服务器302确定接收的消息对应的可靠性要求,在可靠性要求满足设定可靠性要求时,将该消息保存至消息存储服务器,否则,将该消息保存至本地存储设备。
以下分别结合不同的方法实施例,对上述方法实施例中涉及的详细实现过程进行说明。
方法实施例一
该方法实施例一提供了一种消息订阅***中消息的发送方法,该方法的具体处理流程与上述***实施例一所提供的***对应。
如图5所示,基于上述***实施例一提供的消息订阅***,该方法实施例一提供的消息发送方法,主要包括如下步骤:
步骤501、消息发布服务器301发送消息至第一消息中间件服务器302,其中,该消息携带类别标识以及该消息对应的发送顺序信息。
步骤502、第一消息中间件服务器302接收消息发布服务器301发送的消息,并将接收的所述消息保存至本地存储设备。
步骤503、第一消息中间件服务器302向第二消息中间件服务器303发送消息发送通知,该消息发送通知中包括该消息的存储位置信息。
步骤504、第二消息中间件服务器303接收消息发送通知后,根据该消息发送通知中携带的消息存储位置信息,从第一消息中间件服务器302中获取该消息。
步骤505、第二消息中间件服务器303判断当前接收的消息是否满足设定消息发送条件,若是,执行步骤506,否则继续等待。
步骤506、根据该消息携带的发送顺序信息,将该消息发送至消息接收终端。
至此,根据接收的消息对应类别标识以及发送顺序信息发送该消息的流程结束。
图5所示流程的步骤501中,根据发送消息的需要,该消息发布服务器301发送的消息中还携带消息接收终端的地址等。并且具体地,该消息携带类别标识以及该消息对应的发送顺序信息已在上述***实施例中详细描述,此处不再赘述。
图5所示流程的步骤503中,第一消息中间件服务器302向第二消息中间件服务器303发送消息发送通知,可以优选地采用如下方式:
根据保存的各第二消息中间件服务器303与类别标识的对应关系,向与接收的该消息携带的类别标识对应的第二消息中间件服务器303发送消息发送通知,该消息发送通知中包括该消息的存储位置信息。
在实施上述过程之前,需要预先建立各第二消息中间件服务器303与类别标识的对应关系,该对应关系用于表示每个第二消息中间件服务器303负责处理的消息所对应的类别标识。在建立该对应关系后,将该对应关系保存在每一个第一消息中间件服务器302中,当第一消息中间件服务器302接收到消息后,首先获取该消息的类别标识,并根据保存的对应关系确定该消息携带的类别标识与哪个第二消息中间件服务器303对应,并将该消息的消息发送通知发送到确定出的第二消息中间件服务器303。
采用上述处理过程,预先为每个第二消息中间件服务器303分配好发送任务,即为每个第二消息中间件服务器303分配好需要负责发送的消息对应的类别标识,根据该过程,能够均衡各第二消息中间件服务器303的负载,达到消息订阅***中各服务器之间的负载均衡。
图5所示流程的步骤505中,第二消息中间件服务器303判断当前接收的消息是否满足设定发送条件,可以通过如下过程:
方式一:
保存该消息,在确定将与获取的该消息为同一类别标识的所有消息获取完毕后,确定该消息满足设定的消息发送条件。
方式二:
在消息发送过程中维护一个消息发送记录,接收到该消息后,通过查找该消息发送记录,在确定发送顺序在该消息的发送顺序之前的消息均已发送,确定该消息满足设定的消息发送条件。
图5所示流程的步骤506中,根据该消息携带的发送顺序信息,将该消息发送至消息接收终端,具体可以通过如下过程:
根据获取的当前类别标识对应的各消息中携带的发送顺序信息,发送各消息。
具体地,若消息携带的发送顺序信息为顺序标号,则直接根据该消息的顺序标号确定消息的发送顺序,并根据确定的发送顺序发送该消息。若消息携带的发送顺序信息为消息的消息类型信息,例如,对应同一业务流程的多个消息都有其对应的消息类型,并且每个消息类型都有其特定的发送顺序,如在交易业务流程中,可能产生多个类别的消息:选择、购买、付款,该三个类型的消息都是按照选择、购买、付款的顺序产生的。因此,第二消息中间件服务器303确定当前接收的消息满足消息发送条件后,可以依据当前分类类别对应的业务流程下所产生的各个消息类型在消息发布服务器301侧的发送顺序,也即各消息的生成顺序,来确定同一类别标识的各消息的发送顺序。具体应用中,可以将各业务流程下包括的各消息类型信息的发送顺序信息保存在每个第二消息中间件服务器303中。
基于该***实施例一提供的技术方案,第一消息中间件服务器302在接收到消息发布服务器301发送的消息后,将该消息保存在本地存储设备,并在保存消息后,及时通知第二消息中间件服务器303进行处理。该第二消息中间件服务器303在接收到第一消息中间件服务器302发送的消息发送通知后,获取该消息,并在该消息满足消息发送条件时,发送该消息,从而保证消息接收终端能够按照消息在消息发布服务器301中的发送顺序接收到各消息。
方法实施例二
该方法实施例二提供了一种消息订阅***中消息的发送方法,该方法的具体处理流程与上述***实施例二所提供的***对应。
如图6所示,基于上述***实施例二提供的消息订阅***,该方法实施例二提供的消息发送方法,主要包括如下步骤:
步骤601、消息发布服务器301发送的消息至第一消息中间件服务器302,其中,该消息携带类别标识以及该消息对应的发送顺序信息。
步骤602、第一消息中间件服务器302接收消息发布服务器301发送的消息,并将接收的消息保存至消息存储服务器。
步骤603、第一消息中间件服务器302向第二消息中间件服务器303发送消息发送通知,该消息发送通知中包括该消息的存储位置信息。
步骤604、第二消息中间件服务器303接收消息发送通知后,根据该消息发送通知中携带的消息存储位置信息,从消息存储服务器中获取该消息。
步骤605、第二消息中间件服务器303判断当前接收的消息是否满足设定的消息发送条件,若是,执行步骤606,否则继续等待。
步骤606、根据消息携带的发送顺序信息,将该消息发送至消息接收终端。
至此,根据接收的消息对应类别标识的所有消息的发送流程结束。
图6所示流程的步骤601中,根据发送消息的需要,该消息发布服务器301发送的消息中还携带消息接收终端的地址等。并且具体地,该消息携带类别标识以及该消息对应的发送顺序信息已在上述***实施例中详细描述,此处不再赘述。
图6所示流程的步骤603的具体执行过程与上述方法实施例一中的步骤503的具体执行过程基本一致,此处不再赘述。
图6所示流程的步骤605的具体执行过程与上述方法实施例一中的步骤505的具体执行过程基本一致,此处不再赘述。
图6所示流程的步骤606的具体执行过程与上述方法实施例一中的步骤506的具体执行过程基本一致,此处不再赘述。
本申请方法实施例二还提供了另一种基于上述***实施例二提供的消息订阅***实现的消息发送流程,如图7所示,该消息发送过程,主要包括如下步骤:
步骤701、消息发布服务器301发送消息至第一消息中间件服务器302。
步骤702、第一消息中间件服务器302接收消息发布服务器301发送的消息,并将接收的所述消息保存至消息存储服务器。
步骤703、第二消息中间件服务器303周期性轮询消息存储服务器,判断该消息存储服务器中是否保存有需要当前发送消息,若是,执行步骤704至步骤706,若否,等待下一轮询周期。
步骤704、第二消息中间件服务器303从消息存储服务器中获取该消息。
步骤705、第二消息中间件服务器303判断当前接收的消息是否满足设定的消息发送条件,若是,执行步骤706,否则继续等待。
步骤706、根据该消息携带的发送顺序信息,将该消息发送至消息接收终端。
至此,根据接收的消息对应类别标识的所有消息的发送流程结束。
图7所示流程的步骤701、步骤702以及步骤704至步骤706的具体执行过程分别与上述流程的步骤601、步骤602以及步骤604至步骤606的具体执行过程基本一致,此处不再赘述。
图7所示流程的步骤703中,第二消息中间件服务器303周期性轮询消息存储服务器,判断该消息存储服务器中是否保存有需要当前发送的消息的过程已在上述***实施例中详细描述,此处不再赘述。
根据本申请方法实施例二提供的技术方案,第一消息中间件服务器302在接收到消息发布服务器301发送的消息后,将该消息保存在消息存储服务器中,以方便对消息的统一管理与获取。该第一消息中间件服务器302可以选择向第二消息中间件服务器303发送消息发送通知,以保证消息发送的及时性,也可以不发送消息发送通知,以减少第一消息中间件服务器302和第二消息中间件服务器303之间的信令开销。该第二消息中间件服务器303可以在接收到第一消息中间件服务器302发送的消息发送通知后获取该消息,或者通过周期性轮询消息存储服务器确定该消息存储服务器中保存有需要当前发送的消息时获取该消息,并在该消息满足设定的消息发送条件时发送该消息,从而保证消息接收终端能够按照消息在消息发布服务器301中的发送顺序接收到各消息。
方法实施例三
该方法实施例三提供了一种消息订阅***中消息的发送方法,该方法的具体处理流程与上述***实施例三所提供的***对应。
如图8所示,基于上述***实施例三提供的消息订阅***,该方法实施例三提供的消息发送方法,主要包括如下步骤:
步骤801、消息发布服务器301发送消息至第一消息中间件服务器302,其中,该消息携带类别标识以及该消息对应的发送顺序信息。
步骤802、第一消息中间件服务器302接收消息发布服务器301发送的消息,确定该消息的存储位置。
步骤803、第一消息中间件服务器302将该消息保存在确定出的存储位置(本地存储设备或消息存储数据库)。
步骤804、第一消息中间件服务器302向第二消息中间件服务器303发送消息发送通知,该消息发送通知中包括该消息的存储位置信息。
步骤805、第二消息中间件服务器303接收消息发送通知后,根据该消息发送通知中携带的消息存储位置信息,从对应的消息存储位置中获取该消息。
步骤806、第二消息中间件服务器303判断当前接收的消息是否满足设定的消息发送条件,若是,执行步骤807,否则继续等待。
步骤807、根据该消息携带的发送顺序信息,将该消息发送至消息接收终端。
图8所示流程的步骤804至步骤807的具体执行过程分别与上述方法实施例一中的步骤503至步骤506的具体执行过程基本一致,此处不再赘述。
图8所示流程的步骤803中,第一消息中间件服务器302确定该消息的存储位置,可以优选地通过如下方式:
第一消息中间件服务器302确定接收的消息对应的可靠性要求,在可靠性要求满足设定可靠性要求时,将该消息保存至消息存储服务器,否则,将该消息保存至本地存储设备。具体地,每个业务流程对消息的可靠性都有不同的要求,在接收到消息后,可以根据消息的类别标识确定所在的业务流程对于消息可靠性的要求级别,并将可靠性要求满足设定可靠性要求的消息发送至消息存储服务器。一个优选实施方式中,为提高处理速度,可以预先建立对可靠性要求高的消息的类别标识列表,当接收的消息携带的类别标识在此列表中时,则确定该消息需要发送至消息存储服务器。
基于该方法实施例三提供的技术方案,在达到上述方法实施例一所述的技术效果的基础之上,由于该实施例中第一消息中间件服务器302在接收到消息后,能够进一步针对该消息要求的可靠性,灵活选择消息的存储位置。在消息可靠性要求较高时,可以选择将该消息保存至专门用于存储消息的消息存储服务器,以提高消息的安全性;在消息可靠性要求较低时,可以选择将该消息保存在本地存储设备,在减少保存消息所耗费的网络资源的同时,提高保存消息的效率。
通过本申请实施例提供的上述至少一个技术方案,第一消息中间件服务器302接收消息发布服务器301发送的携带类别标识以及发送顺序的消息,并将接收的消息保存至设定位置;其中,对应同一类别标识的多个消息对应同一业务流程以及同一消息接收终端,并且在消息发布服务器301中按照对应的发送顺序发送;第二消息中间件服务器303确定该设定位置存在需要当前发送消息后,获取该消息,并在确定该消息满足设定的发送条件后,按照该消息携带的发送顺序信息,将该消息发送至与该类别标识对应的消息接收终端。根据该技术方案,消息发布服务器301在发送消息时根据该消息对应的业务流程以及消息接收终端为该消息分配类别标识,第一消息中间件服务器302在接收到消息后保存,由第二消息中间件服务器303在确定该消息满足设定的消息发送条件后,发送该消息。从而使得消息接收终端能够按照消息发布服务器301发送该类别标识对应的各消息的顺序,接收到对应同一业务流程的各个消息。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (13)
1.一种消息发送方法,其特征在于,包括:
第一消息中间件服务器接收消息发布服务器发送的携带类别标识以及对应的消息发送顺序信息的消息,并将接收的所述消息保存至设定位置;其中,对应同一类别标识的多个消息对应同一业务流程以及同一消息接收终端,并且在所述消息发布服务器中按照对应的消息发送顺序信息发送;
第二消息中间件服务器确定所述设定位置存在需要当前发送的消息后,获取所述消息,并在确定所述消息满足设定的消息发送条件后,按照所述消息携带的发送顺序信息,将所述消息发送至与所述类别标识对应的消息接收终端。
2.如权利要求1所述的方法,其特征在于,第一消息中间件服务器将接收的所述消息保存至设定位置,包括:
第一消息中间件服务器将接收的所述消息保存至本地存储设备;或
第一消息中间件服务器将接收的所述消息保存至消息存储服务器;或
第一消息中间件服务器确定接收的所述消息对应的可靠性要求,在可靠性要求高于设定要求时,将所述消息保存至消息存储服务器,否则,将所述消息保存至本地存储设备。
3.如权利要求1所述的方法,其特征在于,所述第一消息中间件服务器将接收的所述消息保存至设定位置后,还包括:
根据保存的各第二消息中间件服务器与类别标识的对应关系,向与接收的所述消息携带的类别标识对应的第二消息中间件服务器发送消息发送通知,所述消息发送通知中包括所述消息的存储位置信息。
4.如权利要求3所述的方法,其特征在于,第二消息中间件服务器确定有需要当前发送的消息,以及获取所述消息,包括:
在接收到所述第一消息中间件服务器发送的消息发送通知后,确定有需要当前发送的消息;
根据所述消息发送通知中包括的存储位置信息,获取所述消息。
5.如权利要求2所述的方法,其特征在于,若所述第一消息中间件服务器保存接收的所有消息的位置为所述消息存储服务器,则所述第二消息中间件服务器确定有需要当前发送的消息,包括:
第二消息中间件服务器周期性轮询所述消息存储服务器,若根据所述消息存储服务器保存的消息发送记录,确定所述消息存储服务器中保存有未被发送的类别标识对应的消息或与自身标识对应的类别标识所对应的消息,则确定有需要当前发送的消息;其中,所述消息发送记录中包括已被发送的消息的类别标识与获取该消息的第二消息中间件服务器的标识的对应关系;或
第二消息中间件服务器周期性轮询所述消息存储服务器,若所述消息存储服务器保存的消息携带的类别标识属于预先为所述第二消息中间件服务器分配的类别标识中,则确定有需要当前发送的消息。
6.如权利要求5所述的方法,其特征在于,所述类别标识为通过哈希算法确定的数值。
7.如权利要求1所述的方法,其特征在于,确定所述消息满足设定的消息发送条件的方式,包括:
在确定将与获取的所述消息为同一类别标识的所有消息获取完毕后,确定所述消息满足设定的消息发送条件;或
根据保存的消息发送记录,确定发送顺序在获取的所述消息的发送顺序之前的消息发送完毕,确定所述消息满足设定的消息发送条件。
8.一种消息订阅***,其特征在于,包括:
消息发布服务器,用于为对应同一业务流程以及同一消息接收终端的多个消息分配同一类别标识,并将分配的所述类别标识以及该消息对应的消息发送顺序信息携带在所述消息中按照对应的消息发送顺序发送;
第一消息中间件服务器,用于接收所述消息发布服务器发送的携带类别标识以及对应的消息发送顺序信息的消息,并将接收的所述消息保存至设定位置;
第二消息中间件服务器,用于在确定所述设定位置存在需要当前发送的消息后,获取所述消息,并在确定所述消息满足设定的消息发送条件后,按照所述消息携带的发送顺序信息,将所述消息发送至与所述类别标识对应的消息接收终端。
9.如权利要求8所述的***,其特征在于,第一消息中间件服务器,具体用于:
将接收的所述消息保存至本地存储设备;或
将接收的所述消息保存至消息存储服务器;或
确定接收的所述消息对应的可靠性要求,在可靠性要求高于设定要求时,将所述消息保存至消息存储服务器,否则,将所述消息保存至本地存储设备。
10.如权利要求8所述的***,其特征在于,所述第一消息中间件服务器,还用于:
在将接收的所述消息保存至设定位置后,根据保存的各第二消息中间件服务器与类别标识的对应关系,向与接收的所述消息携带的类别标识对应的第二消息中间件服务器发送消息发送通知,所述消息发送通知中包括所述消息的存储位置信息。
11.如权利要求10所述的***,其特征在于,所述第二消息中间件服务器,具体用于:
在接收到所述第一消息中间件服务器发送的消息发送通知后,确定有需要当前发送的消息,并根据所述消息发送通知中包括的存储位置信息,获取所述消息。
12.如权利要求9所述的***,其特征在于,所述第二消息中间件服务器,具体用于:
在所述第一消息中间件服务器保存接收的所有消息的位置为所述消息存储服务器时,周期性轮询所述消息存储服务器,若根据所述消息存储服务器保存的消息发送记录,确定所述消息存储服务器中保存有未被发送的类别标识对应的消息或与自身标识对应的类别标识所对应的消息,则确定有需要当前发送的消息;其中,所述消息发送记录中包括已被发送的消息的类别标识与获取该消息的第二消息中间件服务器的标识的对应关系;或
在所述第一消息中间件服务器保存接收的所有消息的位置为所述消息存储服务器时,周期性轮询所述消息存储服务器,若所述消息存储服务器保存的消息携带的类别标识属于预先为所述第二消息中间件服务器分配的类别标识中,则确定有需要当前发送的消息。
13.如权利8所述的***,其特征在于,所述第二消息中间件服务器,具体用于:
在确定将与获取的所述消息为同一类别标识的所有消息获取完毕后,确定所述消息满足设定的消息发送条件;或
根据保存的消息发送记录,确定发送顺序在获取的所述消息的发送顺序之前的消息发送完毕,确定所述消息满足设定的消息发送条件。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010532567.5A CN102469033B (zh) | 2010-11-01 | 2010-11-01 | 一种消息订阅***以及消息发送方法 |
HK12107181.0A HK1166572A1 (zh) | 2010-11-01 | 2012-07-23 | 種消息訂閱系統以及消息發送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010532567.5A CN102469033B (zh) | 2010-11-01 | 2010-11-01 | 一种消息订阅***以及消息发送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102469033A true CN102469033A (zh) | 2012-05-23 |
CN102469033B CN102469033B (zh) | 2014-08-06 |
Family
ID=46072223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010532567.5A Active CN102469033B (zh) | 2010-11-01 | 2010-11-01 | 一种消息订阅***以及消息发送方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102469033B (zh) |
HK (1) | HK1166572A1 (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955717A (zh) * | 2012-11-05 | 2013-03-06 | 北京奇虎科技有限公司 | 在分布式消息处理***中的消息管理设备和方法 |
CN102981911A (zh) * | 2012-11-05 | 2013-03-20 | 北京奇虎科技有限公司 | 一种分布式消息处理***及其中的设备和方法 |
CN103034541A (zh) * | 2012-11-16 | 2013-04-10 | 北京奇虎科技有限公司 | 一种分布式消息***及其中的设备和方法 |
CN103034540A (zh) * | 2012-11-16 | 2013-04-10 | 北京奇虎科技有限公司 | 分布式消息***及其设备和协调方法 |
CN103166975A (zh) * | 2013-04-03 | 2013-06-19 | 上海航天测控通信研究所 | 一种dds通信*** |
CN104079614A (zh) * | 2013-03-29 | 2014-10-01 | 国际商业机器公司 | 用于分布式发布订阅***消息有序获取的方法和*** |
WO2014166447A1 (zh) * | 2013-07-25 | 2014-10-16 | 中兴通讯股份有限公司 | 一种传输***信息的方法、***及装置 |
CN104468330A (zh) * | 2014-12-03 | 2015-03-25 | 北京国双科技有限公司 | 分布式消息队列***的数据处理方法和装置 |
CN104899277A (zh) * | 2015-05-29 | 2015-09-09 | 北京京东尚科信息技术有限公司 | 一种消息分发方法和装置 |
CN105447023A (zh) * | 2014-08-25 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 业务标识生成方法和装置 |
CN105591877A (zh) * | 2014-10-23 | 2016-05-18 | 阿里巴巴集团控股有限公司 | 一种业务消息传输方法、装置及*** |
WO2016106606A1 (zh) * | 2014-12-30 | 2016-07-07 | 华为技术有限公司 | 数据发送和接收装置、方法及终端设备 |
CN106230922A (zh) * | 2016-07-28 | 2016-12-14 | 上海斐讯数据通信技术有限公司 | 一种消息订阅方法、消息生产单元及消息接收单元 |
CN106487569A (zh) * | 2015-09-02 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种业务消息处理方法及装置 |
CN106911766A (zh) * | 2017-01-23 | 2017-06-30 | 北京思特奇信息技术股份有限公司 | 一种消息传输方法 |
CN107656825A (zh) * | 2017-09-01 | 2018-02-02 | 上海艾融软件股份有限公司 | 消息处理方法、装置及*** |
CN108228363A (zh) * | 2017-12-22 | 2018-06-29 | ***股份有限公司 | 一种消息发送方法及装置 |
CN108712501A (zh) * | 2018-05-28 | 2018-10-26 | 腾讯科技(北京)有限公司 | 信息的发送方法、装置、计算设备以及存储介质 |
CN109656984A (zh) * | 2018-12-21 | 2019-04-19 | 树根互联技术有限公司 | 数据规则管理***、方法和装置 |
CN109783258A (zh) * | 2019-02-21 | 2019-05-21 | 北京奇艺世纪科技有限公司 | 一种消息处理方法、装置及服务器 |
CN109922104A (zh) * | 2017-12-12 | 2019-06-21 | 菜鸟智能物流控股有限公司 | 消息发送方法及相关设备 |
CN110968431A (zh) * | 2018-09-28 | 2020-04-07 | 阿里巴巴集团控股有限公司 | 一种消息处理方法、装置及设备 |
CN111200653A (zh) * | 2019-12-31 | 2020-05-26 | 深圳市科漫达智能管理科技有限公司 | 多平台通讯方法、多平台通讯装置及中间服务器 |
CN111988391A (zh) * | 2020-08-14 | 2020-11-24 | 网联清算有限公司 | 一种消息发送方法及装置 |
CN112134965A (zh) * | 2020-11-24 | 2020-12-25 | 树根互联技术有限公司 | 物联网指令的下发方法、装置和电子设备 |
CN113271337A (zh) * | 2021-04-22 | 2021-08-17 | 洛阳青鸟网络科技有限公司 | 一种计算机消息订阅方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050261923A1 (en) * | 2004-05-21 | 2005-11-24 | International Business Machines Corporation | Method and apparatus for model based subscriptions for a publish/subscribe messaging system |
CN101217558A (zh) * | 2007-12-26 | 2008-07-09 | ***通信集团湖北有限公司 | 一种业务中间件服务负载均衡方法 |
CN101668031A (zh) * | 2008-09-02 | 2010-03-10 | 阿里巴巴集团控股有限公司 | 一种消息处理方法及*** |
-
2010
- 2010-11-01 CN CN201010532567.5A patent/CN102469033B/zh active Active
-
2012
- 2012-07-23 HK HK12107181.0A patent/HK1166572A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050261923A1 (en) * | 2004-05-21 | 2005-11-24 | International Business Machines Corporation | Method and apparatus for model based subscriptions for a publish/subscribe messaging system |
CN101217558A (zh) * | 2007-12-26 | 2008-07-09 | ***通信集团湖北有限公司 | 一种业务中间件服务负载均衡方法 |
CN101668031A (zh) * | 2008-09-02 | 2010-03-10 | 阿里巴巴集团控股有限公司 | 一种消息处理方法及*** |
Cited By (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955717B (zh) * | 2012-11-05 | 2015-05-20 | 北京奇虎科技有限公司 | 在分布式消息处理***中的消息管理设备和方法 |
CN102981911A (zh) * | 2012-11-05 | 2013-03-20 | 北京奇虎科技有限公司 | 一种分布式消息处理***及其中的设备和方法 |
CN104932941A (zh) * | 2012-11-05 | 2015-09-23 | 北京奇虎科技有限公司 | 一种分布式消息处理***及其中的设备和方法 |
CN102955717A (zh) * | 2012-11-05 | 2013-03-06 | 北京奇虎科技有限公司 | 在分布式消息处理***中的消息管理设备和方法 |
CN102981911B (zh) * | 2012-11-05 | 2015-06-10 | 北京奇虎科技有限公司 | 一种分布式消息处理***及其中的设备和方法 |
CN103034541A (zh) * | 2012-11-16 | 2013-04-10 | 北京奇虎科技有限公司 | 一种分布式消息***及其中的设备和方法 |
CN103034540A (zh) * | 2012-11-16 | 2013-04-10 | 北京奇虎科技有限公司 | 分布式消息***及其设备和协调方法 |
CN103034541B (zh) * | 2012-11-16 | 2016-09-28 | 北京奇虎科技有限公司 | 一种分布式消息***及其中的设备和方法 |
CN103034540B (zh) * | 2012-11-16 | 2016-05-04 | 北京奇虎科技有限公司 | 分布式消息***及其设备和协调方法 |
CN104079614A (zh) * | 2013-03-29 | 2014-10-01 | 国际商业机器公司 | 用于分布式发布订阅***消息有序获取的方法和*** |
CN104079614B (zh) * | 2013-03-29 | 2017-09-12 | 国际商业机器公司 | 用于分布式发布订阅***消息有序获取的方法和*** |
CN103166975A (zh) * | 2013-04-03 | 2013-06-19 | 上海航天测控通信研究所 | 一种dds通信*** |
CN104348573A (zh) * | 2013-07-25 | 2015-02-11 | 中兴通讯股份有限公司 | 一种传输***信息的方法、***及装置 |
WO2014166447A1 (zh) * | 2013-07-25 | 2014-10-16 | 中兴通讯股份有限公司 | 一种传输***信息的方法、***及装置 |
CN104348573B (zh) * | 2013-07-25 | 2019-03-15 | 中兴通讯股份有限公司 | 一种传输***信息的方法、***及装置 |
US9986558B2 (en) | 2013-07-25 | 2018-05-29 | Zte Corporation | Method for transmitting system information, system and device |
CN105447023A (zh) * | 2014-08-25 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 业务标识生成方法和装置 |
CN105447023B (zh) * | 2014-08-25 | 2019-02-05 | 阿里巴巴集团控股有限公司 | 业务标识生成方法和装置 |
CN105591877A (zh) * | 2014-10-23 | 2016-05-18 | 阿里巴巴集团控股有限公司 | 一种业务消息传输方法、装置及*** |
CN104468330A (zh) * | 2014-12-03 | 2015-03-25 | 北京国双科技有限公司 | 分布式消息队列***的数据处理方法和装置 |
CN104468330B (zh) * | 2014-12-03 | 2018-09-18 | 北京国双科技有限公司 | 分布式消息队列***的数据处理方法和装置 |
CN106165361B (zh) * | 2014-12-30 | 2019-06-11 | 华为技术有限公司 | 数据发送和接收装置、方法及终端设备 |
CN106165361A (zh) * | 2014-12-30 | 2016-11-23 | 华为技术有限公司 | 数据发送和接收装置、方法及终端设备 |
WO2016106606A1 (zh) * | 2014-12-30 | 2016-07-07 | 华为技术有限公司 | 数据发送和接收装置、方法及终端设备 |
CN104899277A (zh) * | 2015-05-29 | 2015-09-09 | 北京京东尚科信息技术有限公司 | 一种消息分发方法和装置 |
CN104899277B (zh) * | 2015-05-29 | 2018-08-10 | 北京京东尚科信息技术有限公司 | 一种消息分发方法和装置 |
CN106487569A (zh) * | 2015-09-02 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种业务消息处理方法及装置 |
CN106230922A (zh) * | 2016-07-28 | 2016-12-14 | 上海斐讯数据通信技术有限公司 | 一种消息订阅方法、消息生产单元及消息接收单元 |
CN106911766A (zh) * | 2017-01-23 | 2017-06-30 | 北京思特奇信息技术股份有限公司 | 一种消息传输方法 |
CN107656825A (zh) * | 2017-09-01 | 2018-02-02 | 上海艾融软件股份有限公司 | 消息处理方法、装置及*** |
CN109922104B (zh) * | 2017-12-12 | 2022-02-25 | 菜鸟智能物流控股有限公司 | 消息发送方法及相关设备 |
CN109922104A (zh) * | 2017-12-12 | 2019-06-21 | 菜鸟智能物流控股有限公司 | 消息发送方法及相关设备 |
CN108228363A (zh) * | 2017-12-22 | 2018-06-29 | ***股份有限公司 | 一种消息发送方法及装置 |
CN108712501A (zh) * | 2018-05-28 | 2018-10-26 | 腾讯科技(北京)有限公司 | 信息的发送方法、装置、计算设备以及存储介质 |
CN108712501B (zh) * | 2018-05-28 | 2023-04-07 | 腾讯科技(北京)有限公司 | 信息的发送方法、装置、计算设备以及存储介质 |
CN110968431A (zh) * | 2018-09-28 | 2020-04-07 | 阿里巴巴集团控股有限公司 | 一种消息处理方法、装置及设备 |
CN110968431B (zh) * | 2018-09-28 | 2023-06-20 | 阿里巴巴集团控股有限公司 | 一种消息处理方法、装置及设备 |
CN109656984A (zh) * | 2018-12-21 | 2019-04-19 | 树根互联技术有限公司 | 数据规则管理***、方法和装置 |
CN109783258A (zh) * | 2019-02-21 | 2019-05-21 | 北京奇艺世纪科技有限公司 | 一种消息处理方法、装置及服务器 |
CN109783258B (zh) * | 2019-02-21 | 2021-02-23 | 北京奇艺世纪科技有限公司 | 一种消息处理方法、装置及服务器 |
CN111200653A (zh) * | 2019-12-31 | 2020-05-26 | 深圳市科漫达智能管理科技有限公司 | 多平台通讯方法、多平台通讯装置及中间服务器 |
CN111988391A (zh) * | 2020-08-14 | 2020-11-24 | 网联清算有限公司 | 一种消息发送方法及装置 |
CN112134965A (zh) * | 2020-11-24 | 2020-12-25 | 树根互联技术有限公司 | 物联网指令的下发方法、装置和电子设备 |
CN112134965B (zh) * | 2020-11-24 | 2021-02-26 | 树根互联技术有限公司 | 物联网指令的下发方法、装置和电子设备 |
CN113271337A (zh) * | 2021-04-22 | 2021-08-17 | 洛阳青鸟网络科技有限公司 | 一种计算机消息订阅方法和装置 |
CN113271337B (zh) * | 2021-04-22 | 2023-08-18 | 深圳蓝蛙网络技术有限公司 | 一种计算机消息订阅方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102469033B (zh) | 2014-08-06 |
HK1166572A1 (zh) | 2012-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102469033B (zh) | 一种消息订阅***以及消息发送方法 | |
US20200177572A1 (en) | Sending cross-chain authenticatable messages | |
CN101616083B (zh) | 一种报文转发方法和装置 | |
CN112667414A (zh) | 基于消息队列的消息消费方法、装置、计算机设备及介质 | |
CN108449410A (zh) | 一种云平台中消息管理方法、***及相关装置 | |
US9853906B2 (en) | Network prioritization based on node-level attributes | |
CN104579905A (zh) | 消息传递方法和***及mom服务器、接收端 | |
CN102025650A (zh) | 企业服务总线的消息处理***和消息处理方法 | |
MX2008012378A (es) | Estructura de agregacion de mensaje basado en politica. | |
CN103338230B (zh) | 一种业务数据的处理方法及*** | |
CN104486440A (zh) | 一种基于消息总线的云计算管理软件交互方法 | |
CN101652750A (zh) | 数据处理装置、分散处理***、数据处理方法及数据处理程序 | |
CN108319509B (zh) | 一种事件管理方法、***及主控设备 | |
CN113434312A (zh) | 数据血缘关系处理方法及装置 | |
CN101467132B (zh) | 用于在通信网络中分配数据处理单元的方法和*** | |
JP4834622B2 (ja) | ビジネスプロセス運用管理システム、方法、プロセス運用管理装置およびそのプログラム | |
CN111460038A (zh) | 一种数据准实时同步方法及装置 | |
CN102369691B (zh) | 智能路由 | |
CN105049372A (zh) | 一种扩展消息中间件吞吐量的方法及*** | |
CN103186536A (zh) | 一种调度数据共享装置的方法及*** | |
CN111371848A (zh) | 一种请求处理方法、装置、设备及存储介质 | |
CN101605301B (zh) | 一种进行多节点事务处理的集群***及请求消息分发方法 | |
CN114710571A (zh) | 数据包处理*** | |
CN110290009A (zh) | 一种数据调度方法、装置及计算机可读存储介质 | |
CN109951551A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1166572 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1166572 Country of ref document: HK |