一种进行跨机房数据同步的方法和装置的制造方法

文档序号:8301515阅读:438来源:国知局
一种进行跨机房数据同步的方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种进行跨机房数据同步的方法和装置。
【背景技术】
[0002]分布式消息系统是采用分布式处理进行消息发布和订阅的系统,典型的分布式消息系统包括 kafka,RabbitMQ, ActiveMQ, QBus 等等。
[0003]QBus是一种以kafka为原型的分布式消息系统,其主要由发布方(Producer)、订阅方(Consumer)、存储方(Broker)、协调方(Zookeeper)、代理方(Agent)等单元组成。在QBus系统中,消息系统的三个主要角色是存储方、发布方和订阅方,其中,发布方和订阅方完全解耦,彼此不感知。在QBus系统中,这三个角色有较大概率部署在不同的数据中心,包括地理位置上相距很远的数据中心,比如北京、郑州和广州。这就可能造成订阅方在消费存储方上的数据时,需要承担较大的网络延迟,这在消息系统的发布-订阅应用中尤其明显。

【发明内容】

[0004]鉴于上述问题,提出了本发明,以便提供一种克服上述问题或者至少部分地解决上述问题的一种进行跨机房数据同步的方法和装置。
[0005]依据本发明的一方面,提供了一种进行跨机房数据同步的方法,应用于分布式消息系统,包括:位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;以及所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地以供位于第三机房的一个或多个订阅方调用。
[0006]可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方的步骤进一步包括:所述一个或多个第一存储方采用有序轮询的方式将所述一份或多份数据同步到所述一个或多个第二存储方。
[0007]可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方的步骤进一步包括:对于其中每一份数据,所述一个或多个第一存储方采用有序轮询的方式将所述一份数据的一个或多个部分同步到所述一个第二存储方并作为一个或多个部分存储。
[0008]可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,第二机房、第三机房位于不同的位置。
[0009]可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,所述第二机房与所述第三机房进行远程通信。
[0010]可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,在所述分布式消息系统中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
[0011]根据本发明的另一方面,提供了一种进行跨机房数据同步的方法,应用于分布式消息系统,包括:位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地;以及位于第三机房的一个或多个订阅方从所述一个或多个第二存储方获取所述一份或多份数据。
[0012]可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,在所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地的步骤之后,所述方法还包括:所述一个或多个第二存储方将存储在第三机房本地超过预先定义的第一时间阈值的一份或多份数据删除。
[0013]可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,在所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第二机房本地的步骤之后,所述方法还包括:在存储在第二机房本地的所述一份或多份数据超过预先定义的大小的情况下,所述一个或多个第二存储方将存储在第三机房本地的一份或多份数据中存储时间最长的、超出所述预先定义的大小的一份或多份数据删除。
[0014]可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,还包括:位于所述第一机房的所述一个或多个发布方将一份或多份数据发送到位于第二机房的一个或多个第一存储方。
[0015]可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,在所述分布式消息系统中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
[0016]根据本发明的又一方面,提供了一种进行跨机房数据同步的装置,应用于分布式消息系统,包括:接收和存储模块,用于通过位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;以及同步模块,用于通过所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地以供位于第三机房的一个或多个订阅方调用。
[0017]可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,所述同步模块通过所述一个或多个第一存储方采用有序轮询的方式将所述一份或多份数据同步到所述一个或多个第二存储方。
[0018]可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,所述同步模块对于其中每一份数据,通过所述一个或多个第一存储方采用有序轮询的方式将所述一份数据的一个或多个部分同步到所述一个第二存储方并作为一个或多个部分存储。
[0019]可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,第二机房、第三机房位于不同的位置。
[0020]可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,所述第二机房与所述第三机房进行远程通信。
[0021]可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,在所述分布式消息系统中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
[0022]根据本发明的再一方面,提供了一种进行跨机房数据同步的装置,应用于分布式消息系统,包括:接收和存储模块,用于通过位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;同步模块,用于通过所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地;以及获取模块,用于通过位于第三机房的一个或多个订阅方从所述一个或多个第二存储方获取所述一份或多份数据。
[0023]可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,还包括第一删除模块,用于在所述同步模块通过所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地之后,通过所述一个或多个第二存储方将存储在第三机房本地超过预先定义的第一时间阈值的一份或多份数据删除。
[0024]可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,还包括第二删除模块,用于在所述同步模块通过所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地之后,在存储在第三机房本地的所述一份或多份数据超过预先定义的大小的情况下,通过所述一个或多个第二存储方将存储在第三机房本地的一份或多份数据中存储时间最长的、超出所述预先定义的大小的一份或多份数据删除。
[0025]可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,还包括发送模块,用于通过位于所述第一机房的所述一个或多个发布方将一份或多份数据发送到位于第二机房的一个或多个第一存储方。
[0026]可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,在所述分布式消息系统中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
[0027]本发明提供了上述进行跨机房数据同步的方法和装置,应用于分布式消息系统。根据本发明的实施例,位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地以供位于第三机房的一个或多个订阅方调用。由于将发布方所发布的数据从第二机房的一个或多个第一存储方同步到了位于一个或多个订阅方本地的第三机房中的一个或多个第二存储方,避免了反复在第二机房的第一存储方与第三机房的订阅方之间传输数据,很大程度地减少了网络延迟。根据本发明的可选实施例,采用有序轮询的方式进行数据同步,能够最大程度地适应各机房的不同拓扑结构,还可以灵活地保持或改变数据的元信息;另外,采取过期策略,减少了机房本地存储空间的负担。
[0028]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
【附图说明】
[0029]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0030]图1是根据本发明的一种实施例的进行跨机房数据同步的方法的流程示意图;
[0031]图2是根据本发明的实施例的一种实施例的采用有序轮询的方式将数据同步到第二存储方的示意图;
[0032]图3是根据本
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1