基于流言协议的广域网中消息的发布、订阅方法和系统技术方案

技术编号:8132497 阅读:215 留言:1更新日期:2012-12-27 05:37
本发明专利技术的实施例提供了一种基于流言协议的广域网中消息的发布、订阅方法和系统,可提高广域网内消息的发布效率及系统的稳定性。所述发布方法包括步骤:接收客户端发布到主题中的消息,并将消息同步到其他订阅该主题的通讯站;在订阅所述主题的通讯站中对主题中消息进行同步。本发明专利技术的实施例通过将消息发布到主题,客户端通过订阅主题来获得消息,消息在订阅主题的通讯站之间同步,这时,当其中一个通讯站出现故障时,客户端可通过其它通讯站获得其订阅主题的消息,从而不会妨碍对该消息的获得,消除了单点故障问题,并提高了系统的整体写入效率,及提高了可扩展性。

【技术实现步骤摘要】

本专利技术涉及消息发布方法和系统,尤其涉及ー种基于流言协议的广域网中消息的发布、订阅方法和系统。所述流言协议是一种以类似于人群中传播闲话的方式对网络数据进行同步的协议。
技术介绍
发布-订阅技术是消息传递的ー种模式。一般来说,消息传递最基本的模式是,发送者将消息直接传递给接收者。而发布-订阅技术则不是将消息直接传递给接收者,而是将消息分为若干类别(这些类别也称为主题),接收者可以通过订阅自己感兴趣的类别来获得这个类别对应的消息。将消息分类的ー种典型方式是,发送者将消息发布到不同的主題,接收者则订阅感兴趣的主题来获得消息。在互联网上应用发布-订阅技术的ー个典型场景是,一个客户端按先后顺序把消息发布到ー个IDC (Internet Data Center,互联网数据中心)的主题,而其他的客户端需要从其他的IDC按顺序读取这个主题的消息。这里要解决的问题是,如何把客户端发布到最初IDC的消息,按顺序复制到其他IDC。现有复制技术主要是基于日志复制的主从复制模型(常用于数据库管理系统中数据的复制)。其中,一个节点(一台服务器)作为主节点,其他若干节点作为从节点(即,这种复制模型是由ー个主节本文档来自技高网...

【技术保护点】
一种基于流言协议的广域网中消息的发布方法,其特征在于,所述方法包括步骤:接收客户端发布到主题中的消息,并将消息同步到其他订阅该主题的通讯站;在订阅所述主题的通讯站中对主题中消息进行同步,在同步过程中,满足如下条件:对于发布到本地通讯站的第一消息和从远端通讯站同步到本地通讯站的第二消息,第一消息和第二消息的排列顺序与消息上传到通讯站的时间顺序一致。

【技术特征摘要】
1.一种基于流言协议的广域网中消息的发布方法,其特征在于,所述方法包括步骤 接收客户端发布到主题中的消息,并将消息同步到其他订阅该主题的通讯站; 在订阅所述主题的通讯站中对主题中消息进行同步,在同步过程中,满足如下条件 对于发布到本地通讯站的第一消息和从远端通讯站同步到本地通讯站的第二消息,第一消息和第二消息的排列顺序与消息上传到通讯站的时间顺序一致。2.根据权利要求I所述的方法,其特征在于,所述同步包括摘要同步步骤,所述摘要同步步骤包括 本地通讯站随机读取任一远端通讯站关于主题的同步表; 比较本地通讯站与该远端通讯站的同步表中每个通讯站相对应的可获得消息实体数量,如果本地通讯站同步表中通讯站的可获得消息实体数量比远端通讯站同步表中同一通讯站的可获得消息实体数量小,使用远端通讯站同步表中该通讯站的可获得消息实体数量更新本地通讯站同步表中该通讯站的可获得消息实体数量;如果本地通讯站同步表中通讯站的可获得消息实体数量比远端通讯站同步表中同一通讯站的可获得消息实体数量大,将本地通讯站同步表中该通讯站的可获得消息实体数量添加到新建的空摘要中; 比较本地通讯站与该远端通讯站的同步表中每个通讯站相对应的消息实体最大数量,如果本地通讯站同步表中通讯站的消息实体最大数量比远端通讯站同步表中同一通讯站的消息实体最大数量小,使用远端通讯站同步表中该通讯站的消息实体最大数量更新本地通讯站同步表中该通讯站的消息实体最大数量;如果本地通讯站同步表中通讯站的消息实体最大数量比远端通讯站同步表中同一通讯站的消息实体最大数量大,将本地通讯站同步表中该通讯站的消息实体最大数量添加到新建的空摘要中; 将空摘要发送至所述远端通讯站。3.根据权利要求2所述的方法,其特征在于,所述同步还包括数据复制步骤,所述数据复制步骤包括 比较本地通讯站的同步表中每个通讯站相对应的可获得消息实体数量,如果本地通讯站的可获得消息实体数量小于任ー远端通讯站的可获得消息实体数量,则从该远端通讯站获取自身没有的消息。4.一种基于流...

【专利技术属性】
技术研发人员:王聃曹恺朱鑫
申请(专利权)人:新浪网技术中国有限公司
类型:发明
国别省市:

网友询问留言 已有1条评论
  • 来自[未知地区] 2014年12月08日 11:38
    广为流传而无根据或来源的说法有散布没有根据的话之意
    0
1