在发布/订阅消息架构中用于应用层负载平衡的方法和系统技术方案

技术编号:7868231 阅读:168 留言:0更新日期:2012-10-15 02:29
一种发布消息的方法,包括在第一远程中继从第一客户端接收订阅请求并从所述远程中继向第一组中央中继中的每个发送订阅消息。所述方法还包括在第二远程中继从第二客户端接收发布请求并从所述第二远程中继向所述第一组中央中继中的第一中央中继和第二组中央中继中的第二中央中继发送发布消息。所述方法进一步包括在所述第一中央中继确定目标匹配模式的至少一部分,从所述第一中央中继向所述第一远程中继发送所述消息字符串,在所述第一远程中继确定目标匹配所述模式的至少一部分,以及向所述第一客户端发送所述消息字符串。

【技术实现步骤摘要】
【国外来华专利技术】在发布/订阅消息架构中用于应用层负载平衡的方法和系统
技术介绍
发布和订阅(发布/订阅)系统是异步消息系统。信息以类别分类,以及用户向服务器表示对一类或多类消息的兴趣。消息的发布者(发布商)并不向特定接收者(用户)发送消息,而是向服务器发布消息,而不知道哪些(如果有的话)用户将接收。当消息被接收用于发布时,服务器向已对和消息相关的类表示兴趣的用户发送消息。因此,发布者和用户在发布和订阅系统中被解耦合,互相独立运行。第一发布和订阅系统是Isis工具包中的“新”的子系统,其被描述在1987年对于操作系统原理会议的ACM讨论文中的论文“Exploiting Virtual Synchrony inDistributed Systems” 中(第 123 - 138 页)。/当每个用户订阅各种类型的信息时,用户通常只接收发布的总消息的子集。作为一个示例,用户可以基于信息的主题订阅信息。用户在基于主题的系统中将接收对于他们订阅的主题所发布的所有消息。对于主题的所有用户接收相同消息。作为另一示例,用户可基于消息的内容订阅消息。在基于内容的系统中,如果消息的属性或内容匹配用户限定的条件,则消息仅发送到该用户。某些发布和订阅系统以混合方式结合主题和内容。在常规的发布和订阅系统中,服务器从希望基于主题或内容接收消息的客户端接收订阅请求。当用户想要发布消息时,该消息被发送到服务器,该服务器然后将消息转发到匹配消息属性的已提交订阅请求的多个用户。这样,服务器执行过滤功能,仅仅将消息转发到感兴趣的用户。某些服务器可以在从发布者向订阅者的路由消息过程期间执行存储转发功能,临时解耦合发布者和订阅者。这种短暂的解耦合的示例是暂时卸载发布者以便允许用户通过未结订单工作,产生带宽节流的形式。对于相对小型的安装,发布/订阅系统通过并行运行、消息缓存等可以提供和常规客户端-服务器系统更好的可扩展性。但是,当发布/订阅系统扩展时,由发布/订阅系统提供的优势消失了。因此,虽然常规发布/订阅系统提供的功能,我们在本领域需要一种改进的发布/订阅系统以及使用这种系统的方法。专利技术概述 本专利技术总体涉及到计算机网络。更具体地说,本专利技术涉及操作发布/订阅系统的方法。仅仅通过示例,本专利技术已应用于发布/订阅系统中,其中和多组中央中继通信的远程中继从客户端接收订阅请求并向一组中央中继中所有的中央中继订阅。来自客户端的发布消息被发布到每组中央中继中的仅仅一个中央中继。因此,本专利技术的实施例实施一种其中在应用层提供发布消息负载平衡的结构。该方法和技术可应用多个计算机网络和通信系统。根据本专利技术实施例,提供了一种发布消息的方法。该方法包括在第一远程中继从第一客户端接收订阅请求并从所述远程中继向第一组中央中继中的每个发送订阅消息。所述方法还包括在第二远程中继从第二客户端接收发布请求并从所述第二远程中继向所述第一组中央中继中的第一中央中继和第二组中央中继中的第二中央中继发送所述发布消息。所述发布请求包括以模式为特征的字符串以及所述发布消息包括所述消息字符串。所述方法进一步包括在所述第一中央中继确定所述目标匹配所述模式的至少一部分;从所述第一中央中继向所述第一远程中继发送消息;在第一远程中继确定目标匹配模式的至少一部分并向第一客户端发送所述消息字符串;以及向所述第一客户端发送所述消息字符串。根据本专利技术的另一个实施例,提供一种发布/订阅消息架构。所述发布/订阅消息架构包括第一组中央中继;第二组中央中继;以及和所述第一组中央中继通信的第一远程中继。所述发布/订阅消息架构还包括和所述第一远程中继通信的第一客户端。所述第一远程中继可操作以将订阅请求发送到所述第一组中央中继中的每个中央中继。所述发布/订阅消息架构还包括和所述第二组中央中继通信的第二远程中继;以及和所述第二远程中继通信的第二客户端。所述第二远程中继可操作以将发布消息发送到所述第二组中央中继中的所述中央中继之一以及所述第二组中央中继中的所述中央中继之一。 根据本专利技术的特定实施例,提供一种操作远程中继的方法。所述方法包括在第一远程中继接收来自第一远程客户端的订阅请求并在所述第一远程中继的计算机可读介质中记录和所述第一远程客户端相关的识别信息。所述订阅请求包括目标以及和所述目标相关的信息被记录在所述第一远程中继的计算机可读介质中。所述方法还包括向第一组中央中继中的每个发送订阅消息。所述订阅消息包括目标。所述方法还包括在第二远程中继接收来自第二远程客户端的发布请求并从所述第二远程中继向第一组中央中继中的第一中央中继以及第二组中央中继中的第二中央中继发送发布消息。所述发布请求包括以模式为特征的消息字符串以及所述发布消息包括消息字符串。而且,所述方法包括在所述第一远程中继接收来自所述第一中央中继的所述消息字符串;在所述第一远程中继确定所述目标匹配所述模式的至少一部分;以及从所述第一远程中继向所述第一客户端发送所述消息字符串。通过本专利技术相对于常规技术可以实现许多优势。例如,通过利用本文所述的发布/订阅架构,在应用层提供负载平衡。利用层次结构,可以显著减少从远程站点到中央站点的连接数量。连接数量的减少导致涉及配置、维护和运行IP网络的降低复杂性、改进安全性并提高系统性能。另外,本专利技术实施例通过减少复制发布的数量改进系统性能。此外,本专利技术实施例通过美妙处理的消息方面整体增强系统性能而改进系统可扩展性。例如,如果流量正在三个应用平衡负载服务器上平衡,所述三个应用平衡负载服务器都执行相同的工作量,每个服务器正处理该站点的流量的三分之一。添加第四个服务器将提高承载能力,因为每个服务器将处理该站点的当前流量的四分之一。由于增加第四个服务器导致的每个服务器上的空闲容量,整体能力随着流量率提高而增强。本专利技术实施例可实行地任意增加系统的可扩展性。此外,本专利技术实施例提供以高可用性和可靠性为特征的系统。例如,当客户或者服务器向一组负载平衡服务器发送消息时,它有责任把它发送到和其具有有效连接的服务器。具有更多服务器作为系统元件使得消息仍然通过系统发送,即使更多的服务器处于无效状态。例如,如果该组中具有两台服务器以及两台都处于无效状态,发送者不能使用任一台服务器发送消息。然而,如果组中例如具有五台服务器以及两台处于无效状态,三台服务器仍然能够通过系统传送消息。将结合如下文本和附图详细描述本专利技术的这些和其他实施例,以及其许多优点和特点。附图简述 图I是根据本专利技术实施例的体系发布/订阅架构的简化示意 图2A是根据本专利技术实施例向多个中央中继发送订阅请求的远程客户端和远程中继的简化示意 图2B是根据本专利技术实施例实施向多个中央中继发布消息的远程客户端和远程中继的简化示意 图3是示出根据本专利技术实施例在发布/订阅系统中实施发布消息负载平衡的方法的简化流程 图4是示出根据本专利技术实施例在发布/订阅系统中的消息流的图表; 图5是根据本专利技术实施例远程中继的元件的简化示意图。专利技术详述 如上所述,常规的发布和订阅系统是一层实施,其中服务器与用户和发布者交互。每个用户向服务器提交订阅请求,以及每个发布请求也被提交到服务器。使用常规一层系统的缺陷在于每个客户端(发布者或用户)连接到服务器,导致客户端和服务器之间的大量连 接。由于防火墙规则、多个逻辑路径的配置等,本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2009.11.09 US 12/6152051.一种发布消息的方法,所述方法包括 在第一远程中继从第一客户端接收订阅请求,其中所述订阅请求包括目标; 从所述远程中继向第组一中央中继中的每个发送订阅消息,其中所述订阅请求包括目标; 在第二远程中继从第二客户端接收发布请求,其中所述发布请求包括以模式为特征的消息字符串; 从所述第二远程中继向所述第一组中央中继中的第一中央中继和第二组中央中继中的第二中央中继发送发布消息,其中所述发布消息包括所述消息字符串; 在所述第一中央中继确定所述目标匹配所述模式的至少一部分; 从所述第一中央中继向所述第一远程中继发送所述消息字符串; 在所述第一远程中继确定所述目标匹配所述模式的至少一部分;以及 向所述第一客户端发送所述消息字符串。2.如权利要求I所述的方法,其中所述第一组中央中继位于第一数据中心中以及所述第二组中央中继位于第二数据中心中。3.如权利要求I所述的方法,进一步包括在所述第一远程中继记录所述订阅请求。4.如权利要求I所述的方法,其中从所述第二远程中继发送所述发布消息包括 向所述第一组中央中继中的单个中央中继发送所述发布消息;以及 向所述第二组中央中继中的单个中央中继发送所述发布消息。5.如权利要求I所述的方法,其中所述发布消息仅仅被发送到所述第一中央中继和所述第二中央中继。6.如权利要求I所述的方法,其中所述目标包括具有预定字符串的模式。7.如权利要求6所述的方法,其中所述模式开始于所述预定字符串。8.如权利要求6所述的方法,其中所述模式结束于所述预定字符串。9.一种发布/订阅消息架构,包括 第一组中央中继; 第二组中央中继; 和所述第一组中央中继通信的第一远程中继; 和所述第一远程中继通信的第一客户端,其中所述第一远程中继可操作以将订阅请求发送到所述第一组中央中继中的每个中央中继; 和所述第二组中央中继通信的第二远程中继; 和所述第二远程中继通信的第二客户端,其中所述第二远程中继可操作以将发布消息发送到所述第二组中央中继中的所述中央中继之一以及所述第二组中央中继中的所述中央中继之一。10.如权利要求9所述的发布/订阅消息架构...

【专利技术属性】
技术研发人员:JK加兰特
申请(专利权)人:弗里塞恩公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1