CN103562890A - 在发布/订阅消息系统中管理消息订阅 - Google Patents

在发布/订阅消息系统中管理消息订阅 Download PDF

Info

Publication number
CN103562890A
CN103562890A CN201280024141.6A CN201280024141A CN103562890A CN 103562890 A CN103562890 A CN 103562890A CN 201280024141 A CN201280024141 A CN 201280024141A CN 103562890 A CN103562890 A CN 103562890A
Authority
CN
China
Prior art keywords
message
smi
subscriber
internuncial
subscription
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
Application number
CN201280024141.6A
Other languages
English (en)
Other versions
CN103562890B (zh
Inventor
G.D.比尔达尔
A.D.班克斯
A.D.迪克
B.C.霍姆伍德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103562890A publication Critical patent/CN103562890A/zh
Application granted granted Critical
Publication of CN103562890B publication Critical patent/CN103562890B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种方法、装置或计算机程序产品,用于在发布/订阅消息系统中管理消息中间人和订户应用程序,以便在中间人订户应用程序上保持订户应用程序的状态。

Description

在发布/订阅消息系统中管理消息订阅
技术领域
本发明涉及一种在发布/订阅消息系统中管理消息订阅的方法、装置或计算机程序产品。
背景技术
在计算机化的发布/订阅系统中,订户应用程序(订户)可以向单一消息中间人(broker)应用程序(消息中间人)预定以便接收发布的消息。如果该消息中间人出现故障,则订户不能接收消息。当订户重新连接到消息中间人时,可能已经错过了一些消息。
一些发布/订阅消息系统提供高可靠性高可用性(HRHI)消息中间人以便减少订阅服务丢失或中断的概率。换言之,安排这样的HRHI服务以对于给定订阅保持消息顺序并且不丢失消息。这样的订阅服务可以通过同时预定提供多个订阅流的多个中间人来提供。该订阅可以从多个消息中间人直接接收或者通过向中间的消息中间人的单个订阅来接收。
这样的HRHI订阅服务的一个问题是它们就在消息订户或中间人应用程序处所需的处理而言是相对昂贵的。例如,需要保持订户的状态,即,已经接收了来自给定订阅的哪些消息的记录。该状态使得在连接中断后从相关消息中间人恢复订阅成为可能。此外,在从多个消息中间人接收到单个订阅的情况下,管理冗余或重复消息是相对复杂的处理。
发明内容
本发明的实施例提供了一种用于在发布/订阅消息系统的消息订阅应用程序中管理消息订阅的方法,所述方法包括以下步骤:
预定由消息中间人的集合的每个并行地提供的订阅,所述订阅包括公共消息序列,每个公共消息与公共顺序消息标识符(SMI)相关联;
从所述消息中间人的所选择之一检索消息,并且对于在所述消息中间人的所述订阅触发相关联SMI的保存;
响应于所述消息订户的重启,恢复到所述消息中间人的集合以便对于在所述消息中间人的任一个的所述订阅确定最新保存的SMI;以及
从所述消息中间人的所选择之一,通过请求与所述最新SMI相关联的消息的后续消息来继续所述订阅。
所述方法还包括以下步骤:
响应于来自所述所选择的消息中间人的所述订阅的所述继续,指示所述集合中的剩余消息中间人的每个丢弃所述序列中在与所述确定的最新SMI相关联的消息之前的、并包括该消息的任何排队的消息。
给定消息的接收应答可以触发SMI的保存。根据预定的协议,可以依次从每个中间人顺序地请求所述消息。该协议可以是轮叫(round robin)协议。
另一实施例提供了一种用于在发布/订阅消息系统的消息中间人应用程序中管理消息订阅的方法,所述方法包括以下步骤:
响应于来自消息订户的订阅请求来预定订阅,所述订阅包括公共消息序列,每个公共消息与公共顺序消息标识符(SMI)相关联;
发送消息到所述消息订户,并且与在所述消息中间人的所述订阅相关联地记录相关SMI;以及
响应于来自所述消息订户的请求发送所述SMI到所述消息订户。
所述方法可以进一步包括以下步骤:
响应于对给定SMI的后续消息的请求,发送后续消息。所述方法可以进一步包括以下步骤:
响应于所述后续消息的所述发送,丢弃所述序列中的任何排队的先前消息以及所述后续消息。
可以在工作的单一单元中进行所述消息到所述消息订户的所述发送以及对于所述订阅的所述SMI的所述记录。SMI可以被存储在持续性存储器中。
另一实施例提供了一种用于在发布/订阅消息系统的消息订阅应用程序中管理消息订阅的装置,所述装置可操作用于:
预定由消息中间人的集合的每个并行地提供的订阅,所述订阅包括公共消息序列,每个公共消息与公共顺序消息标识符(SMI)相关联;
从所述消息中间人的所选择之一检索消息,并且对于在所述消息中间人的所述订阅触发相关联SMI的保存;
响应于所述消息订户的重启,恢复到所述消息中间人的集合以便对于在所述消息中间人的任一个的所述订阅确定最新保存的SMI;以及
从所述消息中间人的所选择之一,通过请求与所述最新SMI相关联的消息的后续消息来继续所述订阅。
另一实施例提供了一种用于在发布/订阅消息系统的消息中间人应用程序中管理消息订阅的装置,所述装置可操作用于:
响应于来自消息订户的订阅请求来预定订阅,所述订阅包括公共消息序列,每个公共消息与公共顺序消息标识符(SMI)相关联;
发送消息到所述消息订户,并且与在所述消息中间人的所述订阅相关联地记录相关SMI;以及
响应于来自所述消息订户的请求发送所述SMI到所述消息订户。
另一实施例提供了一种在计算机可读介质上储存并且可载入计算机的内部存储器的计算机程序,包括:软件代码部分,被安排用于,当程序在计算机上执行,用于执行用于在发布/订阅消息系统的消息订阅应用程序中管理消息订阅的方法时,所述方法包括以下步骤:
预定由消息中间人的集合的每个并行地提供的订阅,所述订阅包括公共消息序列,每个公共消息与公共顺序消息标识符(SMI)相关联;
从所述消息中间人的所选择之一检索消息,并且对于在所述消息中间人的所述订阅触发相关联SMI的保存;
响应于所述消息订户的重启,恢复到所述消息中间人的集合以便对于在所述消息中间人的任一个的所述订阅确定最新保存的SMI;以及
从所述消息中间人的所选择之一,通过请求与所述最新SMI相关联的消息的后续消息来继续所述订阅。
另一实施例提供了一种在计算机可读介质上储存并且可载入计算机的内部存储器的计算机程序,包括:软件代码部分,被安排用于,当程序在计算机上执行,用于执行用于在发布/订阅消息系统的消息订阅应用程序中管理消息订阅的方法时,所述方法包括以下步骤:
响应于来自消息订户的订阅请求来预定订阅,所述订阅包括公共消息序列,每个公共消息与公共顺序消息标识符(SMI)相关联;
发送消息到所述消息订户,并且与在所述消息中间人的所述订阅相关联地记录相关SMI;以及
响应于来自所述消息订户的请求发送所述SMI到所述消息订户。
附图说明
参照附图,现在将通过仅仅实例的方式描述本发明的实施例,附图中:
图1是计算机化的发布/订阅消息系统的示意图;
图2、3和4是图1的发布/订阅消息系统所执行的处理的示例性实例;以及
图5、6、7和8是例示图1的发布/订阅系统中消息订户应用程序执行的处理的流程图。
具体实施方式
参照图1,计算机化发布/订阅消息系统101包括通过网络108互联的6个计算机102、103、104、105、106、107,并且每个都加载有安排用于提供运行一个或更多应用程序的处理环境的操作系统109。第一计算机102被安排运行消息发布者应用程序(发布者)110。第二、第三、第四以及第五计算机103、104、105、106每个都被安排运行消息中间人应用程序(中间人)111,分别提供消息中间人A、B、C和D。第六计算机107被安排运行消息订户应用程序(订户)112。在本实施例中,由来自IBM公司的基于消息的中间件系统提供用于发布/订阅消息系统101的软件。IBM和WebSphere是国际商用机器公司的商标,在全球范围内许多权限注册。
参照图2,在本实施例中,发布者110被安排向中间人A111发布消息。中间人A111被安排响应于来自订户112的请求,通过其余的三个中间人B、C和D111提供高可靠性、高可用性(HRHI)订阅。发布者110还被安排以其发布的消息的顺序向每个消息分配唯一顺序消息标识符(SMI)。SMI被安排为唯一地识别给定订阅的消息序列中的任何消息,并且还提供识别序列中给定消息的之前或后续消息的方式。
HRHI中间人B、C和D111被安排提供HRHI订阅,并且为HRHI订阅保持用于存储未读消息的消息队列201。响应于从订户112到中间人B、C和D111中给定的一个的请求,有关中间人111被安排提供被请求的消息。此外,中间人111被安排存储被发送消息的相关联的SMI,作为在该中间人111上的相关联消息队列201的状态变量。换言之,所保存的SMI指示在给定中间人111上的HRHI订阅的状态。每个后续保存的SMI覆盖任何先前保存的SMI。SMI被保持在有关中间人111的持续性存储器中,使得其在中间人111的任何故障的情况下可恢复。给定消息的相关联SMI仅在请求订户112成功接收到消息时被保存。在本实施例中,给定消息的发送和相关联SMI的保存被安排在工作的单个单元中(即,单个交易)由有关中间人111来处理。
订户112被安排根据预定协议,依次从中间人B、C和D111的每个请求HRHI订阅的消息。在本实施例中,订户使用轮叫协议。订户112还被安排存储最近成功接收消息的SMI的副本。SMI的订户副本指示订户112的HRHI订阅的状态。订户112使用存储的SMI来确定HRHI订阅的序列中下一消息,以便根据轮叫消息请求协议来从中间人B、C和D111的下一个进行请求。订户112进一步被安排响应于给定消息的成功接收,通过发送丢弃消息到中间人B、C和D111来管理消息队列201。换言之,当订户112接收到给定消息时,它然后向所有中间人B、C和D111发出丢弃消息,其通过它的SMI识别接收的消息。响应于这样的丢弃消息,中间人B、C和D111的每个都被安排丢弃它们各自消息队列201中直到与丢弃消息中接收的SMI对应的消息的、并包括该消息的所有消息。
图2例示了提供HRHI订阅的中间人B、C和D111的每个的消息队列201的状态,以及通过订户112的HRHI订阅的初始化的订户112的状态。在开始阶段,订户112与中间人B、C和D111连接,在本实施例中,中间人B、C和D111是提供HRHI订阅的中间人的预配置集合。订户112确定其自身状态以及中间人B、C和D111的每个的状态未定义。因此,从图2中示出的状态继续,订户读取第一消息,即,来自中间人B、C和D111中所选择之一(例如,中间人B111)的消息A。一旦从中间人B111成功接收到消息A,订户就对消息A记录SMI为“1”。订户然后向中间人B、C、D111发送具有SMI=1的丢弃消息。订户112然后使用轮叫协议选择要从其检索序列中的下一消息(即,具有SMI=2的消息B)的下一中间人C、D111。处理然后以相同的方式继续。
图3例示了提供HRHI订阅的中间人B、C和D111的每个的消息队列201的状态,以及在订户112故障之后重启时订户112的状态。作为该故障的结果,最后接收的SMI的非持续性副本(即,在故障之前订户112的状态)不再可用。响应于重启,订户112因此被安排重新连接到中间人B、C和D111,然后以各自存储的SMI的形式,向每一个询问有关消息队列201的状态的它们的副本。在图3的示例中,最高为5的SMI存储在中间人B111处。响应于此,订户112将向中间人B、C、D111发送包括表示SMI=5的数据的丢弃消息。订户然后使用轮叫协议继续请求消息,以便选择下一中间人111并且继续操作。
图4例示了提供HRHI订阅的中间人B、C和D111的每个的消息队列201的状态,以及在到中间人D111的连接中断、或中间人D111自身崩溃并且订户112不再能从中间人D111检索消息之后订户112的状态。当中间人D故障时,订户112继续从其他中间人B、C111接收未破坏的消息序列。因此,中间人D111的状态和消息队列201丧失与其余中间人111的同步。因此,响应于中间人D再次变成可用,订户112被安排向重新连接的中间人D111发送包括订户的当前状态(SMI=5)的丢弃消息。通过丢弃消息2至5并且将中间人状态设置为SMI=5,丢弃消息具有重新同步消息队列201和重新连接的中间人D111的状态的效果。
总的来讲,如果订户112保持运行,则只要中间人111中的一个保持运行,订户112就将接收到未破坏的消息序列而没有重复。如果订户112故障,则在重启时,只要具有最新SMI的中间人111运行,订户112就将接收到未破坏的消息序列而没有重复。
现在将参照图5的流程图进一步描述当建立HRMI订阅时订户112所执行的处理。通过订户应用程序112的启动来开始处理,并且处理移至步骤502。在步骤502向连接的中间人111发送HRHI订阅请求,并且处理移至步骤503。在步骤503,响应于识别提供HRHI订阅的中间人111的集合的数据的接收,进行到每个各自中间人111的连接,并且处理移至步骤504。在步骤504,将订户的状态初始化为零(SMI=0),并且根据轮叫协议选择HRHI中间人111的集合中的第一个,并且处理移至步骤505。在步骤505,从所选中间人请求序列中的第一消息(本实施例中具有SMI=1),并且处理移至步骤506。在步骤506,响应于请求消息的成功接收和应答,在订户112记录新状态,并且处理移至步骤507。在步骤507,向HRHI中间人111的集合发送经由相关联的SMI识别最后读取消息的丢弃消息,并且处理移至步骤508。在步骤508,根据轮叫协议选择下一中间人,并且处理移至步骤505,并且如前所述地进行。
现在将参照图6的流程图进一步描述响应于来自订户112的消息请求由中间人111之一进行的处理。在步骤601,通过HRHI订阅的消息请求的接收启动处理,并且处理移至步骤602。在步骤602,发送请求的消息到请求者,并且步骤移至步骤603。在步骤603,等待来自请求者的接收到消息的应答,并且一旦接收到,处理移至步骤604。在步骤604,将成功发送的消息的SMI记录为有关HRHI消息队列201的状态。处理然后移至步骤605并且结束。
现在将参照图7的流程图进一步描述当故障或崩溃后重启时订户112进行的处理。通过订户应用程序112的重启启动处理,并且处理移至步骤702。在步骤702,重新建立到HRHI中间人111的集合的连接,并且处理移动至步骤703。在步骤703,确定在HRHI中间人111的每个处的有关队列201的状态,并且处理移至步骤704。在步骤704,识别最新的中间人状态(即,来自中间人集合的最高的SMI),并且处理移至步骤705。在步骤705,向HRHI中间人111的集合发送识别最新中间人状态的SMI的丢弃消息,并且处理移至步骤706。从步骤706到步骤709,处理如上所述地前进,参照图5中等效的步骤505到508。
现在将参照图8的流程图进一步描述响应于丢失到HRHI中间人111的连接由订户112执行的处理。由到HRHI中间人111的连接丢失开始处理,并且处理移至步骤802。在步骤802,处理等待断开连接的中间人变成可用,然后移至步骤803。在步骤803,重新建立到中间人111的连接,并且处理移至步骤804。在步骤804,向重新连接的中间人111发送识别订户112的当前状态(SMI)的丢弃消息。处理然后移至步骤805然后结束。
在另一实施例中,各中间人协同地处理所有丢弃。换言之,每个中间人都能够与HRHI中间人集合的其他中间人通信其丢弃,以便从订户处移除丢弃功能。在中间人故障或其到订户的连接故障后中间人的重新连接时,订户被安排向HRHI集合的其他中间人查询以便确定要丢弃的适当消息。在订户重新启动时,丢弃处理参照以上图7地前进。
在另一实施例中,响应于从订户到中间人的HRHI订阅请求,中间人被安排征募空闲的HRHI中间人新会员的集合。
在另一实施例中,中间的中间人被安排向请求订户提供HRHI订阅。中间的HRHI中间人被安排将订户从提供被请求订阅的HRHI中间人的集合的处理隔离。中间的HRHI中间人有效地用作如上所描述的具有订户的功能的中间订户。请求订户不需要有除了有关系统的标准订户的功能以外的额外功能。例如,中间的HRHI中间人执行中间人选择协议,并且通过有关丢弃消息管理HRHI中间人上的有关HRHI消息队列。终端用户无需知道HRHI订阅正在被提供,或是可以提供有指定选择高可靠性订阅的选项。
在另一实施例中,订户可以被配置成如果在重启时所有中间人都不可用的话则出现故障。这避免订户在特定故障情况下接收任何重复消息的可能性。在故障情况下,如果订户112正好在从一个中间人11读取消息之后并且在其到达下一中间人111以丢弃消息之前故障,则这可能将导致最新SMI仅在一个中间人上。如果该特定中间人在重启时不可用,则将可能读取重复消息。
本发明的实施例提供轻量的高度可用的发布/订阅消息。不是将状态储存在客户端,各实施例使用中间人的持续性存储器来保持最后序列号,并且只需要中间人上的简单交易。这避免了订户和中间人之间的复杂的同步交易。每一次从中间人读取有效消息,在工作的一个单元中,其序列号被写入回相同中间人的持续性存储器,在与有关订阅或主题相关联处。从中间人丢弃具有序列号小于或等于当前序列号的所有其他消息。当中间人应用丢弃消息时,不需要中间人应用实际得到全部消息,只需要序列号来确定消息是否被需要。因此对于大量的数据而言,减少了丢弃冗余消息的额外开销。如果一个中间人变得不可用,那么可以使用任何其他中间人来检索下一消息并且存储最后有效序列号。只要有至少一个中间人可用,将没有数据丢失,并且将保持消息排序。如果订户变得断开连接或所有中间人故障,则在重新连接时,订户扫描所有中间人的持续性存储器以发现最高序列号,并且使用其作为再次接收消息的起点。如果订户解除订阅,则在各中间人之间发送解除订阅消息。如果当发送解除订阅消息时中间人不可用,则该中间人被安排在重新启动时处理解除订阅消息。
本领域技术人员将理解,可以使用任何适当的发布/订阅系统来实施本发明的实施例。
本领域技术人员将理解体现本发明的部分或全部的装置可以是具有被安排提供本发明的部分或全部的软件的一般用途设备。该设备可以是单个设备或一组设备并且该软件可以是单个程序或一组程序。此外,用于实施本发明的任何或所有软件可以通过任何适当的传输或存储设备通信,使得可以将软件载入一个或更多设备。
虽然已经通过本发明的实施例的描述例示了本发明,并且虽然已经相当详细地描述了本发明,其不旨在将所附权利要求的范围局限或以任何方式限制于这样的细节。本领域技术人员将容易地认识到额外的优点及修改。因此,本发明是更宽泛的方面而不限制于代表性装置和方法的特定细节,以及示出和描述的示例性实例。因此,在不偏离申请人的总体发明性概念的范围的情况下可以从这些细节偏离。

Claims (21)

1.一种用于在发布/订阅消息系统的消息订阅应用程序中管理消息订阅的方法,所述方法包括以下步骤:
预定由消息中间人的集合的每个并行地提供的订阅,所述订阅包括公共消息序列,每个公共消息与公共顺序消息标识符(SMI)相关联;
从所述消息中间人的所选择之一检索消息,并且对于在所述消息中间人的所述订阅触发相关联SMI的保存;
响应于所述消息订户的重启,恢复到所述消息中间人的集合以便对于在所述消息中间人的任一个的所述订阅确定最新保存的SMI;以及
从所述消息中间人的所选择之一,通过请求与所述最新SMI相关联的消息的后续消息来继续所述订阅。
2.如权利要求1所述的方法,还包括以下步骤:
响应于来自所述所选择的消息中间人的所述订阅的所述继续,指示所述集合中的剩余消息中间人的每个丢弃所述序列中在与所述确定的最新SMI相关联的消息之前的、并包括该消息的任何排队的消息。
3.如以上任意一项权利要求所述的方法,其中给定消息的接收的应答触发所述SMI的保存。
4.如以上任意一项权利要求所述的方法,其中根据预定的协议,依次从每个中间人顺序地请求所述消息。
5.如权利要求4所述的方法,其中所述协议是轮叫协议。
6.一种用于在发布/订阅消息系统的消息中间人应用程序中管理消息订阅的方法,所述方法包括以下步骤:
响应于来自消息订户的订阅请求来预定订阅,所述订阅包括公共消息序列,每个公共消息与公共顺序消息标识符(SMI)相关联;
发送消息到所述消息订户,并且与在所述消息中间人的所述订阅相关联地记录相关SMI;以及
响应于来自所述消息订户的请求发送所述SMI到所述消息订户。
7.如权利要求6所述的方法,进一步包括以下步骤:
响应于对给定SMI的后续消息的请求,发送所述后续消息。
8.如权利要求7所述的方法,进一步包括以下步骤:
响应于所述后续消息的所述发送,丢弃所述序列中的任何排队的先前消息以及所述后续消息。
9.如权利要求6-8中任意一项所述的方法,其中在工作的单一单元中进行所述消息到所述消息订户的所述发送以及对于所述订阅的所述SMI的所述记录。
10.如权利要求6-9中任意一项所述的方法,其中所述SMI被存储在持续性存储器中。
11.一种用于在发布/订阅消息系统的消息订阅应用程序中管理消息订阅的装置,所述装置可操作用于:
预定由消息中间人的集合的每个并行地提供的订阅,所述订阅包括消息的公共序列,每个公共消息与公共顺序消息标识符(SMI)相关联;
从所述消息中间人的所选择之一检索消息,并且对于在所述消息中间人的所述订阅触发相关联SMI的保存;
响应于所述消息订户的重启,恢复到所述消息中间人的集合以便对于在所述消息中间人的任一个的所述订阅确定最新保存的SMI;以及
从所述消息中间人的所选择之一,通过请求与所述最新SMI相关联的消息的后续消息来继续所述订阅。
12.如权利要求11所述的装置,进一步可操作用于:
响应于来自所述所选择的消息中间人的所述订阅的所述继续,指示所述集合中的剩余消息中间人的每个丢弃所述序列中在与所述确定的最新SMI相关联的消息之前的、并包括该消息的任何排队的消息。
13.如权利要求11或12所述的装置,其中给定消息的接收的应答触发所述SMI的保存。
14.如权利要求11-13中任意一项所述的装置,其中根据预定的协议,依次从每个中间人顺序地请求所述消息。
15.如权利要求14所述的装置,其中所述协议是轮叫协议。
16.一种用于在发布/订阅消息系统的消息中间人应用程序中管理消息订阅的装置,所述装置可操作用于:
响应于来自消息订户的订阅请求来预定订阅,所述订阅包括公共消息序列,每个公共消息与公共顺序消息标识符(SMI)相关联;
发送消息到所述消息订户,并且与在所述消息中间人的所述订阅相关联地记录相关SMI;以及
响应于来自所述消息订户的请求发送所述SMI到所述消息订户。
17.如权利要求16所述的装置,进一步可操作用于:
响应于对给定SMI的后续消息的请求,发送所述后续消息。
18.如权利要求17所述的装置,进一步可操作用于:
响应于所述后续消息的所述发送,丢弃所述序列中的任何排队的先前消息以及所述后续消息。
19.如权利要求16-18中任意一项所述的装置,其中在工作的单一单元中进行所述消息到所述消息订户的所述发送以及对于所述订阅的所述SMI的所述记录。
20.如权利要求16-19中任意一项所述的装置,其中所述SMI被存储在持续性存储器中。
21.一种存储在计算机可读介质上的并且可被载入计算机的内部存储器的计算机程序,包括被安排用于当所述程序在计算机上运行时,执行权利要求1-10中任意一项的方法的软件代码部分。
CN201280024141.6A 2011-05-18 2012-05-02 在发布/订阅消息系统中管理消息订阅的方法和系统 Expired - Fee Related CN103562890B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11166502.2 2011-05-18
EP11166502 2011-05-18
PCT/IB2012/052191 WO2012156851A1 (en) 2011-05-18 2012-05-02 Managing a message subscription in a publish/subscribe messaging system

Publications (2)

Publication Number Publication Date
CN103562890A true CN103562890A (zh) 2014-02-05
CN103562890B CN103562890B (zh) 2016-01-20

Family

ID=47176358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280024141.6A Expired - Fee Related CN103562890B (zh) 2011-05-18 2012-05-02 在发布/订阅消息系统中管理消息订阅的方法和系统

Country Status (6)

Country Link
US (1) US8954504B2 (zh)
JP (1) JP2014515152A (zh)
CN (1) CN103562890B (zh)
DE (1) DE112012002097T5 (zh)
GB (1) GB2509390B (zh)
WO (1) WO2012156851A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681462A (zh) * 2016-03-14 2016-06-15 南京邮电大学 一种基于消息路由的集群系统及数据通信中转方法
CN106341305A (zh) * 2015-07-07 2017-01-18 国际商业机器公司 发布/订阅系统中对消息的控制
CN107111565A (zh) * 2014-11-21 2017-08-29 国际商业机器公司 使用消息结构来发布/订阅消息传递
CN107637038A (zh) * 2015-06-09 2018-01-26 英特尔公司 用于管理安全发布‑订阅系统的生命周期的系统、装置和方法
CN107924359A (zh) * 2015-09-25 2018-04-17 英特尔公司 计算系统中的故障情况的管理
CN108063803A (zh) * 2017-12-04 2018-05-22 深圳狗尾草智能科技有限公司 基于分布式订阅发布消息系统的消息管理方法及系统
CN109479025A (zh) * 2016-05-16 2019-03-15 萨托里环球有限责任公司 维护消息传送系统的持久性
CN110247957A (zh) * 2019-05-22 2019-09-17 东软集团股份有限公司 网络系统及其数据传输方法、电子设备
CN111212100A (zh) * 2018-11-22 2020-05-29 财团法人工业技术研究院 消息队列发布与订阅的同步方法及其系统
US11308264B2 (en) 2015-07-07 2022-04-19 International Business Machines Corporation Managing document annotations in a publish/subscribe system

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI557722B (zh) * 2012-11-15 2016-11-11 緯創資通股份有限公司 語音干擾的濾除方法、系統,與電腦可讀記錄媒體
CN105027079A (zh) 2013-03-28 2015-11-04 汤姆逊许可公司 发布-订阅环境中的对象生命周期管理
US10313221B1 (en) * 2014-01-28 2019-06-04 Sprint Communication Company L.P. Endpoint monitoring for a messaging framework
US10609155B2 (en) 2015-02-20 2020-03-31 International Business Machines Corporation Scalable self-healing architecture for client-server operations in transient connectivity conditions
US10574619B2 (en) 2017-01-02 2020-02-25 International Business Machines Corporation Cluster assisted MQTT client coverage for fat-pipe cloud applications
US11340828B2 (en) 2020-08-10 2022-05-24 Bank Of America Corporation Restoring messages to a memory utilized by a topic in a publish-subscribe environment
US11354161B2 (en) 2020-08-10 2022-06-07 Bank Of America Corporation Controlling memory utilization by a topic in a publish-subscribe environment
KR20220097555A (ko) * 2020-10-21 2022-07-08 한국전자기술연구원 다중 메시지 프로토콜을 지원하는 컨테이너 오케스트레이터 기반의 메모리 공유 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060248219A1 (en) * 2002-06-21 2006-11-02 International Business Machines Corporation Gapless delivery and durable subscriptions in a content-based publish/subscribe system
CN101409713A (zh) * 2007-06-08 2009-04-15 索尼株式会社 内容传送系统、传送服务器、终端以及内容传送方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080385B1 (en) 1997-08-18 2006-07-18 Tibco Software Inc. Certified message delivery and queuing in multipoint publish/subscribe communications
US6510429B1 (en) * 1998-04-29 2003-01-21 International Business Machines Corporation Message broker apparatus, method and computer program product
JP3620010B2 (ja) 1998-05-22 2005-02-16 富士通株式会社 無線通信システムで用いられる装置とプログラム記録媒体
US7283463B2 (en) 1999-03-30 2007-10-16 International Business Machines Corporation Non-disruptive reconfiguration of a publish/subscribe system
FI19991861A (fi) * 1999-09-01 2001-03-01 Nokia Networks Oy Sijainti-informaation hallinta
US7287066B2 (en) 2003-10-31 2007-10-23 Sap Aktiengesellschaft Publish-subscribe system having a reliability mechanism
US20050210109A1 (en) 2004-03-22 2005-09-22 International Business Machines Corporation Load balancing mechanism for publish/subscribe broker messaging system
US7624144B1 (en) 2004-04-29 2009-11-24 Sap Ag System and method for reducing data traffic associated with a messaging service in a clustered server environment
US7822801B2 (en) * 2004-10-14 2010-10-26 International Business Machines Corporation Subscription propagation in a high performance highly available content-based publish/subscribe system
US20060168070A1 (en) 2005-01-06 2006-07-27 Tervela, Inc. Hardware-based messaging appliance
US7706895B2 (en) 2005-02-25 2010-04-27 Rockwell Automation Technologies, Inc. Reliable messaging instruction
US20070245018A1 (en) 2006-04-12 2007-10-18 International Business Machines Corporation Dynamic access control in a content-based publish/subscribe system with delivery guarantees
US7606808B2 (en) 2006-08-25 2009-10-20 Microsoft Corporation Maintaining and establishing subscriptions with load-balanced servers
JP2008141361A (ja) * 2006-11-30 2008-06-19 Hitachi Ltd データ配信方法、データ配信システム及びノード装置
US7453812B1 (en) 2008-01-27 2008-11-18 International Business Machines Corporation Method for detecting and correcting publish-subscribe looping in a messaging network
US8140630B2 (en) 2008-03-05 2012-03-20 International Business Machines Corporation Publish/subscribe message broker for message sequences

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060248219A1 (en) * 2002-06-21 2006-11-02 International Business Machines Corporation Gapless delivery and durable subscriptions in a content-based publish/subscribe system
CN101409713A (zh) * 2007-06-08 2009-04-15 索尼株式会社 内容传送系统、传送服务器、终端以及内容传送方法

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107111565B (zh) * 2014-11-21 2020-10-09 国际商业机器公司 使用消息结构来发布/订阅消息传递
CN107111565A (zh) * 2014-11-21 2017-08-29 国际商业机器公司 使用消息结构来发布/订阅消息传递
CN107637038A (zh) * 2015-06-09 2018-01-26 英特尔公司 用于管理安全发布‑订阅系统的生命周期的系统、装置和方法
CN106341305B (zh) * 2015-07-07 2019-09-10 国际商业机器公司 发布/订阅系统中对消息的控制
US10257138B2 (en) 2015-07-07 2019-04-09 International Business Machines Corporation Control of messages in publish/subscribe system
CN106341305A (zh) * 2015-07-07 2017-01-18 国际商业机器公司 发布/订阅系统中对消息的控制
US11308264B2 (en) 2015-07-07 2022-04-19 International Business Machines Corporation Managing document annotations in a publish/subscribe system
US10447626B2 (en) 2015-07-07 2019-10-15 International Business Machines Corporation Control of messages in publish/subscribe system
US10771416B2 (en) 2015-07-07 2020-09-08 International Business Machines Corporation Control of messages in publish/subscribe system
US10771417B2 (en) 2015-07-07 2020-09-08 International Business Machines Corporation Control of messages in publish/subscribe system
CN107924359A (zh) * 2015-09-25 2018-04-17 英特尔公司 计算系统中的故障情况的管理
CN107924359B (zh) * 2015-09-25 2021-09-14 英特尔公司 计算系统中的故障情况的管理
CN105681462A (zh) * 2016-03-14 2016-06-15 南京邮电大学 一种基于消息路由的集群系统及数据通信中转方法
CN105681462B (zh) * 2016-03-14 2019-03-01 南京邮电大学 一种基于消息路由的集群系统及数据通信中转方法
CN109479025A (zh) * 2016-05-16 2019-03-15 萨托里环球有限责任公司 维护消息传送系统的持久性
CN108063803A (zh) * 2017-12-04 2018-05-22 深圳狗尾草智能科技有限公司 基于分布式订阅发布消息系统的消息管理方法及系统
CN108063803B (zh) * 2017-12-04 2020-10-13 苏州狗尾草智能科技有限公司 基于分布式订阅发布消息系统的消息管理方法及系统
CN111212100A (zh) * 2018-11-22 2020-05-29 财团法人工业技术研究院 消息队列发布与订阅的同步方法及其系统
CN111212100B (zh) * 2018-11-22 2022-07-19 财团法人工业技术研究院 消息队列发布与订阅的同步方法及其系统
CN110247957A (zh) * 2019-05-22 2019-09-17 东软集团股份有限公司 网络系统及其数据传输方法、电子设备

Also Published As

Publication number Publication date
GB2509390A (en) 2014-07-02
WO2012156851A1 (en) 2012-11-22
DE112012002097T5 (de) 2014-07-24
CN103562890B (zh) 2016-01-20
US20130138737A1 (en) 2013-05-30
US8954504B2 (en) 2015-02-10
GB2509390B (en) 2018-02-21
GB201321252D0 (en) 2014-01-15
JP2014515152A (ja) 2014-06-26

Similar Documents

Publication Publication Date Title
CN103562890B (zh) 在发布/订阅消息系统中管理消息订阅的方法和系统
JP5398836B2 (ja) メッセージ処理のための方法及びシステム
US7996849B2 (en) Method, apparatus and software for managing a transactional message queue
WO2018094412A1 (en) Systems and methods for providing a notification system architecture
US20030158883A1 (en) Message processing
CN112217847A (zh) 微服务平台及其实现方法、电子设备及存储介质
US9026839B2 (en) Client based high availability method for message delivery
CN106547566B (zh) 通讯服务进程池管理方法及系统
CN110213213B (zh) 应用的定时任务处理方法及系统
EP2071764B1 (en) A method, device and communication system thereof of electing local master
CN111835809B (zh) 工单消息分配方法、装置、服务器及存储介质
CN112613919A (zh) 一种信息处理方法和相关装置
CN109905459B (zh) 一种数据传输方法及装置
CN117032987A (zh) 分布式任务调度方法、系统、设备及计算机可读介质
CN112995266A (zh) 一种信息推送方法及相关设备
CN111475315A (zh) 服务器及订阅通知推送控制、执行方法
US20090106781A1 (en) Remote call handling methods and systems
CN115333942A (zh) 事件重试方法及装置、存储介质及电子设备
CN112615901B (zh) 一种客户端发送用户请求的方法和存储系统
CN114116178A (zh) 集群框架任务管理方法以及相关装置
CN114598662A (zh) 消息队列集群联邦管理系统以及方法
US20030126191A1 (en) System and method for distributing process-related information in a multiple node network
CN112486699B (zh) 一种基于国产数据库的session管理中间件、系统及运行方法
CN113204434B (zh) 基于k8s的计划任务执行方法、装置及计算机设备
CN113220491B (zh) 远程调用自适应负载均衡方法、装置、系统及计算机装备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160120