CN104618219A - 一种进行跨机房数据同步的方法和装置 - Google Patents
一种进行跨机房数据同步的方法和装置 Download PDFInfo
- Publication number
- CN104618219A CN104618219A CN201410844631.1A CN201410844631A CN104618219A CN 104618219 A CN104618219 A CN 104618219A CN 201410844631 A CN201410844631 A CN 201410844631A CN 104618219 A CN104618219 A CN 104618219A
- Authority
- CN
- China
- Prior art keywords
- machine room
- storage side
- storage
- data
- sides
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种进行跨机房数据同步的方法和装置,应用于分布式消息***,所述方法包括:位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;以及所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地以供位于第三机房的一个或多个订阅方调用。上述方法和装置避免了反复在第二机房的第一存储方与第三机房的订阅方之间传输数据,很大程度地减少了网络延迟。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种进行跨机房数据同步的方法和装置。
背景技术
分布式消息***是采用分布式处理进行消息发布和订阅的***,典型的分布式消息***包括kafka,RabbitMQ,ActiveMQ,QBus等等。
QBus是一种以kafka为原型的分布式消息***,其主要由发布方(Producer)、订阅方(Consumer)、存储方(Broker)、协调方(Zookeeper)、代理方(Agent)等单元组成。在QBus***中,消息***的三个主要角色是存储方、发布方和订阅方,其中,发布方和订阅方完全解耦,彼此不感知。在QBus***中,这三个角色有较大概率部署在不同的数据中心,包括地理位置上相距很远的数据中心,比如北京、郑州和广州。这就可能造成订阅方在消费存储方上的数据时,需要承担较大的网络延迟,这在消息***的发布-订阅应用中尤其明显。
发明内容
鉴于上述问题,提出了本发明,以便提供一种克服上述问题或者至少部分地解决上述问题的一种进行跨机房数据同步的方法和装置。
依据本发明的一方面,提供了一种进行跨机房数据同步的方法,应用于分布式消息***,包括:位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;以及所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地以供位于第三机房的一个或多个订阅方调用。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方的步骤进一步包括:所述一个或多个第一存储方采用有序轮询的方式将所述一份或多份数据同步到所述一个或多个第二存储方。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方的步骤进一步包括:对于其中每一份数据,所述一个或多个第一存储方采用有序轮询的方式将所述一份数据的一个或多个部分同步到所述一个第二存储方并作为一个或多个部分存储。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,第二机房、第三机房位于不同的位置。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,所述第二机房与所述第三机房进行远程通信。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,在所述分布式消息***中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
根据本发明的另一方面,提供了一种进行跨机房数据同步的方法,应用于分布式消息***,包括:位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地;以及位于第三机房的一个或多个订阅方从所述一个或多个第二存储方获取所述一份或多份数据。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,在所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地的步骤之后,所述方法还包括:所述一个或多个第二存储方将存储在第三机房本地超过预先定义的第一时间阈值的一份或多份数据删除。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,在所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地的步骤之后,所述方法还包括:在存储在第三机房本地的所述一份或多份数据超过预先定义的大小的情况下,所述一个或多个第二存储方将存储在第三机房本地的一份或多份数据中存储时间最长的、超出所述预先定义的大小的一份或多份数据删除。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,还包括:位于所述第一机房的所述一个或多个发布方将一份或多份数据发送到位于第二机房的一个或多个第一存储方。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的方法中,在所述分布式消息***中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
根据本发明的又一方面,提供了一种进行跨机房数据同步的装置,应用于分布式消息***,包括:接收和存储模块,用于通过位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;以及同步模块,用于通过所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地以供位于第三机房的一个或多个订阅方调用。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,所述同步模块通过所述一个或多个第一存储方采用有序轮询的方式将所述一份或多份数据同步到所述一个或多个第二存储方。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,所述同步模块对于其中每一份数据,通过所述一个或多个第一存储方采用有序轮询的方式将所述一份数据的一个或多个部分同步到所述一个第二存储方并作为一个或多个部分存储。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,第二机房、第三机房位于不同的位置。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,所述第二机房与所述第三机房进行远程通信。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,在所述分布式消息***中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
根据本发明的再一方面,提供了一种进行跨机房数据同步的装置,应用于分布式消息***,包括:接收和存储模块,用于通过位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;同步模块,用于通过所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地;以及获取模块,用于通过位于第三机房的一个或多个订阅方从所述一个或多个第二存储方获取所述一份或多份数据。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,还包括第一删除模块,用于在所述同步模块通过所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地之后,通过所述一个或多个第二存储方将存储在第三机房本地超过预先定义的第一时间阈值的一份或多份数据删除。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,还包括第二删除模块,用于在所述同步模块通过所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地之后,在存储在第三机房本地的所述一份或多份数据超过预先定义的大小的情况下,通过所述一个或多个第二存储方将存储在第三机房本地的一份或多份数据中存储时间最长的、超出所述预先定义的大小的一份或多份数据删除。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,还包括发送模块,用于通过位于所述第一机房的所述一个或多个发布方将一份或多份数据发送到位于第二机房的一个或多个第一存储方。
可选地,在根据本发明的上述实施例的进行跨机房数据同步的装置中,在所述分布式消息***中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
本发明提供了上述进行跨机房数据同步的方法和装置,应用于分布式消息***。根据本发明的实施例,位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地以供位于第三机房的一个或多个订阅方调用。由于将发布方所发布的数据从第二机房的一个或多个第一存储方同步到了位于一个或多个订阅方本地的第三机房中的一个或多个第二存储方,避免了反复在第二机房的第一存储方与第三机房的订阅方之间传输数据,很大程度地减少了网络延迟。根据本发明的可选实施例,采用有序轮询的方式进行数据同步,能够最大程度地适应各机房的不同拓扑结构,还可以灵活地保持或改变数据的元信息;另外,采取过期策略,减少了机房本地存储空间的负担。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明的一种实施例的进行跨机房数据同步的方法的流程示意图;
图2是根据本发明的实施例的一种实施例的采用有序轮询的方式将数据同步到第二存储方的示意图;
图3是根据本发明的实施例的一种实施例的采用有序轮询的方式将一份数据的一个或多个部分同步到第二存储方的示意图;
图4是根据本发明的一种实施例的进行跨机房数据同步的装置中各个模块之间的交互的示意图;
图5是根据本发明的一种实施例的进行跨机房数据同步的方法的流程示意图;以及
图6是根据本发明的一种实施例的进行跨机房数据同步的装置中各个模块之间的交互的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
根据本发明的第一方面,提供了一种进行跨机房数据同步的方法100,应用于分布式消息***。在本发明的实施例中,分布式消息***可以是采用分布式处理进行消息发布和订阅的***,例如包括kafka,RabbitMQ,ActiveMQ,QBus等等。在下文中,将以QBus***为例,对于本发明的原理进行详细地描述,以帮助读者更好地理解本发明的原理。但本领域技术人员应当理解,本发明的范围并不限于QBus***,而是可以适用于任何分布式消息***。
QBus***主要由发布方(Producer)、订阅方(Consumer)、存储方(Broker)、协调方(Zookeeper)、代理方(Agent)等单元组成。在下文中,将主要以发布方、存储方、订阅方之间的数据传输为例来例示本发明的原理,同样,本发明的范围不限于此,而是同样适用于分布式消息***(例如,QBus***)中其它单元之间的数据传输。
图1示出了根据本发明的一种实施例的进行跨机房数据同步的方法100的流程示意图。如图1所示,所述方法100始于步骤S110,其中,位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地。即,位于第一机房的一个或多个发布方可以将所发布的一份或多份数据发送到位于第二机房的一个或多个第一存储方。
在步骤S110之后,执行步骤S120,其中,所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地以供位于第三机房的一个或多个订阅方调用。根据上述步骤S110和S120,通过发布方(第一机房)→第一存储方(第二机房)→第二存储方(第三机房)→订阅方(第三机房)的数据传输流程,实现了发布-订阅的应用。
根据本发明的实施例,在所述分布式消息***(例如,QBus***)中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
根据本发明的实施例,第二机房、第三机房位于不同的位置。在一实施例中,所述第二机房与所述第三机房进行的是远程通信。第一机房也可以与第二机房和第三机房位于不同的位置,也可以与第二机房和第三机房进行远程通信。由于将发布方所发布的数据从第二机房的一个或多个第一存储方同步到了位于一个或多个订阅方本地的第三机房中的一个或多个第二存储方,在第三机房的订阅方需要所述数据时,避免了反复在第二机房的第一存储方与第三机房的订阅方之间传输数据,而是从本地获取所述数据,很大程度地减少了网络延迟。
根据本发明的实施例,上述步骤S120包括:所述一个或多个第一存储方采用有序轮询的方式将所述一份或多份数据同步到所述一个或多个第二存储方。参见图2,其中示意性地图示了根据本发明的实施例的一种实施例的采用有序轮询的方式将数据同步到第二存储方的示意图。如图2所示,以位于第二机房的6个存储方将数据同步到位于第三机房的4个存储方为例,采用有序轮询的方式,即,第二机房的第一存储方1将数据同步到第三机房的第二存储方1,第二机房的第一存储方2将数据同步到第三机房的第二存储方2,第二机房的第一存储方3将数据同步到第三机房的第二存储方3,第二机房的第一存储方4将数据同步到第三机房的第二存储方4,第二机房的第一存储方5将数据同步到第三机房的第二存储方1,第二机房的第一存储方6将数据同步到第三机房的第二存储方2。上述示例仅为采取有序轮询在两个机房的多个存储方之间同步数据的一种示例,本发明的范围不限于此,本领域技术人员可以采用其它顺序和对应关系来进行有序轮询方式的数据同步。
根据本发明的实施例,上述步骤S120包括:对于其中每一份数据,所述一个或多个第一存储方采用有序轮询的方式将所述一份数据的一个或多个部分同步到所述一个第二存储方并作为一个或多个部分存储。参见图3,其中示意性地图示了根据本发明的实施例的一种实施例的采用有序轮询的方式将一份数据的一个或多个部分同步到第二存储方的示意图。如图3所示,以位于第二机房的一个第一存储方将五个数据部分同步到位于第三机房的一个第二存储方上的三个数据部分为例,采用有序轮询的方式,即,对于一份数据中的5个数据部分,第二机房的第一存储方将数据部分1同步到第三机房的第二存储方的数据部分1,第二机房的第一存储方将数据部分2同步到第三机房的第二存储方的数据部分2,第二机房的第一存储方将数据部分3同步到第三机房的第二存储方的数据部分3,第二机房的第一存储方将数据部分4同步到第三机房的第二存储方的数据部分1,第二机房的第一存储方将数据部分5同步到第三机房的第二存储方的数据部分2。上述示例仅为采取有序轮询在两个机房的多个存储方之间同步数据的一种示例,本发明的范围不限于此,本领域技术人员可以采用其它顺序和对应关系来进行有序轮询方式的数据同步。
根据本发明的第二方面,与上述方法100相对应,提供了一种进行跨机房数据同步的装置400,应用于分布式消息***。在本发明的实施例中,分布式消息***可以是采用分布式处理进行消息发布和订阅的***,例如包括kafka,RabbitMQ,ActiveMQ,QBus等等。在下文中,将以QBus***为例,对于本发明的原理进行详细地描述,以帮助读者更好地理解本发明的原理。但本领域技术人员应当理解,本发明的范围并不限于QBus***,而是可以适用于任何分布式消息***。QBus***主要由发布方(Producer)、订阅方(Consumer)、存储方(Broker)、协调方(Zookeeper)、代理方(Agent)等单元组成。在下文中,将主要以发布方、存储方、订阅方之间的数据传输为例来例示本发明的原理,同样,本发明的范围不限于此,而是同样适用于分布式消息***(例如,QBus***)中其它单元之间的数据传输。
图4示出了根据本发明的一种实施例的进行跨机房数据同步的装置400中各个模块之间的交互的示意图。所述装置400包括接收和存储模块410以及同步模块420。如图4所示,所述接收和存储模块410可以通过位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地。即,位于第一机房的一个或多个发布方可以将所发布的一份或多份数据发送到位于第二机房的一个或多个第一存储方。
随后,所述同步模块420可以通过所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地以供位于第三机房的一个或多个订阅方调用。根据所述接收和存储模块410和所述同步模块420的上述操作,通过发布方(第一机房)→第一存储方(第二机房)→第二存储方(第三机房)→订阅方(第三机房)的数据传输流程,实现了发布-订阅的应用。
根据本发明的实施例,在所述分布式消息***(例如,QBus***)中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
根据本发明的实施例,第二机房、第三机房位于不同的位置。在一实施例中,所述第二机房与所述第三机房进行远程通信。第一机房也可以与第二机房和第三机房位于不同的位置,也可以与第二机房和第三机房进行远程通信。由于所述同步模块420将发布方所发布的数据从第二机房的一个或多个第一存储方同步到了位于一个或多个订阅方本地的第三机房中的一个或多个第二存储方,在第三机房的订阅方需要所述数据时,避免了反复在第二机房的第一存储方与第三机房的订阅方之间传输数据,而是从本地获取所述数据,很大程度地减少了网络延迟。
根据本发明的实施例,所述同步模块420可以通过所述一个或多个第一存储方采用有序轮询的方式将所述一份或多份数据同步到所述一个或多个第二存储方。参见图2,其中示意性地图示了根据本发明的实施例的一种实施例的采用有序轮询的方式将数据同步到第二存储方的示意图。如图2所示,以位于第二机房的6个存储方将数据同步到位于第三机房的4个存储方为例,采用有序轮询的方式,即,所述同步模块420可以通过第二机房的第一存储方1将数据同步到第三机房的第二存储方1,通过第二机房的第一存储方2将数据同步到第三机房的第二存储方2,通过第二机房的第一存储方3将数据同步到第三机房的第二存储方3,通过第二机房的第一存储方4将数据同步到第三机房的第二存储方4,通过第二机房的第一存储方5将数据同步到第三机房的第二存储方1,通过第二机房的第一存储方6将数据同步到第三机房的第二存储方2。上述示例仅为采取有序轮询在两个机房的多个存储方之间同步数据的一种示例,本发明的范围不限于此,本领域技术人员可以采用其它顺序和对应关系来进行有序轮询方式的数据同步。
根据本发明的实施例,对于其中每一份数据,所述同步模块420可以通过所述一个或多个第一存储方采用有序轮询的方式将所述一份数据的一个或多个部分同步到所述一个第二存储方并作为一个或多个部分存储。参见图3,其中示意性地图示了根据本发明的实施例的一种实施例的采用有序轮询的方式将一份数据的一个或多个部分同步到第二存储方的示意图。如图3所示,以位于第二机房的一个第一存储方将五个数据部分同步到位于第三机房的一个第二存储方上的三个数据部分为例,采用有序轮询的方式,即,对于一份数据中的5个数据部分,所述同步模块420可以通过第二机房的第一存储方将数据部分1同步到第三机房的第二存储方的数据部分1,通过第二机房的第一存储方将数据部分2同步到第三机房的第二存储方的数据部分2,通过第二机房的第一存储方将数据部分3同步到第三机房的第二存储方的数据部分3,通过第二机房的第一存储方将数据部分4同步到第三机房的第二存储方的数据部分1,通过第二机房的第一存储方将数据部分5同步到第三机房的第二存储方的数据部分2。上述示例仅为采取有序轮询在两个机房的多个存储方之间同步数据的一种示例,本发明的范围不限于此,本领域技术人员可以采用其它顺序和对应关系来进行有序轮询方式的数据同步。
根据本发明的第三方面,提供了一种进行跨机房数据同步的方法500,应用于分布式消息***。在本发明的实施例中,分布式消息***可以是采用分布式处理进行消息发布和订阅的***,例如包括kafka,RabbitMQ,ActiveMQ,QBus等等。在下文中,将以QBus***为例,对于本发明的原理进行详细地描述,以帮助读者更好地理解本发明的原理。但本领域技术人员应当理解,本发明的范围并不限于QBus***,而是可以适用于任何分布式消息***。QBus***主要由发布方(Producer)、订阅方(Consumer)、存储方(Broker)、协调方(Zookeeper)、代理方(Agent)等单元组成。在下文中,将主要以发布方、存储方、订阅方之间的数据传输为例来例示本发明的原理,同样,本发明的范围不限于此,而是同样适用于分布式消息***(例如,QBus***)中其它单元之间的数据传输。
图5示出了根据本发明的一种实施例的进行跨机房数据同步的方法500的流程示意图。如图5所示,所述方法500始于步骤S510,其中,位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地。即,位于所述第一机房的所述一个或多个发布方将一份或多份数据发送到位于第二机房的一个或多个第一存储方。
在步骤S510之后,执行步骤S520,其中,所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地。随后,在步骤S530中,位于第三机房的一个或多个订阅方从所述一个或多个第二存储方获取所述一份或多份数据。
根据上述步骤S510、S520、S530,通过发布方(第一机房)→第一存储方(第二机房)→第二存储方(第三机房)→订阅方(第三机房)的数据传输流程,实现了发布-订阅的应用。
根据本发明的实施例,在所述分布式消息***(例如,QBus***)中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
根据本发明的实施例,第二机房、第三机房位于不同的位置。可选地,所述第二机房与所述第三机房进行远程通信。第一机房也可以与第二机房和第三机房位于不同的位置,也可以与第二机房和第三机房进行远程通信。由于将发布方所发布的数据从第二机房的一个或多个第一存储方同步到了位于一个或多个订阅方本地的第三机房中的一个或多个第二存储方,在第三机房的订阅方需要所述数据时,避免了反复在第二机房的第一存储方与第三机房的订阅方之间传输数据,而是从本地获取所述数据,很大程度地减少了网络延迟。
根据本发明的实施例,可选地,在上述步骤S520之后,即,在一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地之后,所述方法500还可以包括可选步骤:所述一个或多个第二存储方将存储在第三机房本地超过预先定义的第一时间阈值的一份或多份数据删除。在上述实施例中,采取过期策略,将已经存储在第三机房本地超过预先定义的第一时间阈值的数据删除,避免长期存储不再使用或者使用率很低的数据,减少了第三机房本地存储空间的负担。可以根据实际需要设置所述预先定义的第一时间阈值的大小。
根据本发明的实施例,可选地,在上述步骤S520之后,即,在一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地之后,所述方法500还可以包括可选步骤:在存储在第三机房本地的所述一份或多份数据超过预先定义的大小的情况下,所述一个或多个第二存储方将存储在第三机房本地的一份或多份数据中存储时间最长的、超出所述预先定义的大小的一份或多份数据删除。在上述实施例中,采取过期策略,将已经存储在第三机房本地的一份或多份数据中存储时间最长的、超出所述预先定义的大小的一份或多份数据删除,使得在第三机房本地存储的数据等于或小于所述预先定义的大小,避免长期存储不再使用或者使用率很低的数据,减少了第三机房本地存储空间的负担。可以根据实际需要设置所述预先定义的大小。
根据本发明的实施例,上述步骤S520包括:所述一个或多个第一存储方采用有序轮询的方式将所述一份或多份数据同步到所述一个或多个第二存储方。参见图2,其中示意性地图示了根据本发明的实施例的一种实施例的采用有序轮询的方式将数据同步到第二存储方的示意图。如图2所示,以位于第二机房的6个存储方将数据同步到位于第三机房的4个存储方为例,采用有序轮询的方式,即,第二机房的第一存储方1将数据同步到第三机房的第二存储方1,第二机房的第一存储方2将数据同步到第三机房的第二存储方2,第二机房的第一存储方3将数据同步到第三机房的第二存储方3,第二机房的第一存储方4将数据同步到第三机房的第二存储方4,第二机房的第一存储方5将数据同步到第三机房的第二存储方1,第二机房的第一存储方6将数据同步到第三机房的第二存储方2。上述示例仅为采取有序轮询在两个机房的多个存储方之间同步数据的一种示例,本发明的范围不限于此,本领域技术人员可以采用其它顺序和对应关系来进行有序轮询方式的数据同步。
根据本发明的实施例,上述步骤S520包括:对于其中每一份数据,所述一个或多个第一存储方采用有序轮询的方式将所述一份数据的一个或多个部分同步到所述一个第二存储方并作为一个或多个部分存储。参见图3,其中示意性地图示了根据本发明的实施例的一种实施例的采用有序轮询的方式将一份数据的一个或多个部分同步到第二存储方的示意图。如图3所示,以位于第二机房的一个第一存储方将五个数据部分同步到位于第三机房的一个第二存储方上的三个数据部分为例,采用有序轮询的方式,即,对于一份数据中的5个数据部分,第二机房的第一存储方将数据部分1同步到第三机房的第二存储方的数据部分1,第二机房的第一存储方将数据部分2同步到第三机房的第二存储方的数据部分2,第二机房的第一存储方将数据部分3同步到第三机房的第二存储方的数据部分3,第二机房的第一存储方将数据部分4同步到第三机房的第二存储方的数据部分1,第二机房的第一存储方将数据部分5同步到第三机房的第二存储方的数据部分2。上述示例仅为采取有序轮询在两个机房的多个存储方之间同步数据的一种示例,本发明的范围不限于此,本领域技术人员可以采用其它顺序和对应关系来进行有序轮询方式的数据同步。
根据本发明的第四方面,与上述方法500相对应,提供了一种进行跨机房数据同步的装置600,应用于分布式消息***。在本发明的实施例中,分布式消息***可以是采用分布式处理进行消息发布和订阅的***,例如包括kafka,RabbitMQ,ActiveMQ,QBus等等。在下文中,将以QBus***为例,对于本发明的原理进行详细地描述,以帮助读者更好地理解本发明的原理。但本领域技术人员应当理解,本发明的范围并不限于QBus***,而是可以适用于任何分布式消息***。QBus***主要由发布方(Producer)、订阅方(Consumer)、存储方(Broker)、协调方(Zookeeper)、代理方(Agent)等单元组成。在下文中,将主要以发布方、存储方、订阅方之间的数据传输为例来例示本发明的原理,同样,本发明的范围不限于此,而是同样适用于分布式消息***(例如,QBus***)中其它单元之间的数据传输。
图6出了根据本发明的一种实施例的进行跨机房数据同步的装置600中各个模块之间的交互的示意图。所述装置600包括接收和存储模块610、同步模块620、获取模块630。
首先,所述接收和存储模块610通过位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地。即,位于所述第一机房的所述一个或多个发布方将一份或多份数据发送到位于第二机房的一个或多个第一存储方。
随后,所述同步模块620通过所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地。随后,所述获取模块通过位于第三机房的一个或多个订阅方从所述一个或多个第二存储方获取所述一份或多份数据。
根据上述各模块的操作,通过发布方(第一机房)→第一存储方(第二机房)→第二存储方(第三机房)→订阅方(第三机房)的数据传输流程,实现了发布-订阅的应用。
根据本发明的实施例,在所述分布式消息***(例如,QBus***)中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
根据本发明的实施例,第二机房、第三机房位于不同的位置。在一实施例中,所述第二机房与所述第三机房进行远程通信。第一机房也可以与第二机房和第三机房位于不同的位置,也可以与第二机房和第三机房进行远程通信。由于将发布方所发布的数据从第二机房的一个或多个第一存储方同步到了位于一个或多个订阅方本地的第三机房中的一个或多个第二存储方,在第三机房的订阅方需要所述数据时,避免了反复在第二机房的第一存储方与第三机房的订阅方之间传输数据,而是从本地获取所述数据,很大程度地减少了网络延迟。
根据本发明的实施例,可选地,所述装置600还可以包括可选模块:第一删除模块(未在图6中示出),用于在所述同步模块620通过一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地之后,通过所述一个或多个第二存储方将存储在第三机房本地超过预先定义的第一时间阈值的一份或多份数据删除。在上述实施例中,所述第一删除模块采取过期策略,将已经存储在第三机房本地超过预先定义的第一时间阈值的数据删除,避免长期存储不再使用或者使用率很低的数据,减少了第三机房本地存储空间的负担。可以根据实际需要设置所述预先定义的第一时间阈值的大小。
根据本发明的实施例,可选地,所述装置600还可以包括可选模块:第二删除模块(未在图6中示出),用于在所述同步模块620通过一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地之后,在存储在第三机房本地的所述一份或多份数据超过预先定义的大小的情况下,所述一个或多个第二存储方将存储在第三机房本地的一份或多份数据中存储时间最长的、超出所述预先定义的大小的一份或多份数据删除。在上述实施例中,所述第二删除模块采取过期策略,将已经存储在第三机房本地的一份或多份数据中存储时间最长的、超出所述预先定义的大小的一份或多份数据删除,使得在第三机房本地存储的数据等于或小于所述预先定义的大小,避免长期存储不再使用或者使用率很低的数据,减少了第三机房本地存储空间的负担。可以根据实际需要设置所述预先定义的大小。
根据本发明的实施例,所述同步模块620可以通过所述一个或多个第一存储方采用有序轮询的方式将所述一份或多份数据同步到所述一个或多个第二存储方。参见图2,其中示意性地图示了根据本发明的实施例的一种实施例的采用有序轮询的方式将数据同步到第二存储方的示意图。如图2所示,以位于第二机房的6个存储方将数据同步到位于第三机房的4个存储方为例,采用有序轮询的方式,即,所述同步模块620可以通过第二机房的第一存储方1将数据同步到第三机房的第二存储方1,通过第二机房的第一存储方2将数据同步到第三机房的第二存储方2,通过第二机房的第一存储方3将数据同步到第三机房的第二存储方3,通过第二机房的第一存储方4将数据同步到第三机房的第二存储方4,通过第二机房的第一存储方5将数据同步到第三机房的第二存储方1,通过第二机房的第一存储方6将数据同步到第三机房的第二存储方2。上述示例仅为采取有序轮询在两个机房的多个存储方之间同步数据的一种示例,本发明的范围不限于此,本领域技术人员可以采用其它顺序和对应关系来进行有序轮询方式的数据同步。
根据本发明的实施例,对于其中每一份数据,所述同步模块620可以通过所述一个或多个第一存储方采用有序轮询的方式将所述一份数据的一个或多个部分同步到所述一个第二存储方并作为一个或多个部分存储。参见图3,其中示意性地图示了根据本发明的实施例的一种实施例的采用有序轮询的方式将一份数据的一个或多个部分同步到第二存储方的示意图。如图3所示,以位于第二机房的一个第一存储方将五个数据部分同步到位于第三机房的一个第二存储方上的三个数据部分为例,采用有序轮询的方式,即,对于一份数据中的5个数据部分,所述同步模块620可以通过第二机房的第一存储方将数据部分1同步到第三机房的第二存储方的数据部分1,通过第二机房的第一存储方将数据部分2同步到第三机房的第二存储方的数据部分2,通过第二机房的第一存储方将数据部分3同步到第三机房的第二存储方的数据部分3,通过第二机房的第一存储方将数据部分4同步到第三机房的第二存储方的数据部分1,通过第二机房的第一存储方将数据部分5同步到第三机房的第二存储方的数据部分2。上述示例仅为采取有序轮询在两个机房的多个存储方之间同步数据的一种示例,本发明的范围不限于此,本领域技术人员可以采用其它顺序和对应关系来进行有序轮询方式的数据同步。
上述各种实施例适用于根据本发明的全部四个方面,不再一一赘述。
本发明提供了上述进行跨机房数据同步的方法和装置,应用于分布式消息***。根据本发明的实施例,位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地以供位于第三机房的一个或多个订阅方调用。由于将发布方所发布的数据从第二机房的一个或多个第一存储方同步到了位于一个或多个订阅方本地的第三机房中的一个或多个第二存储方,在第三机房的订阅方需要所述数据时,避免了反复在第二机房的第一存储方与第三机房的订阅方之间传输数据,而是从本地获取所述数据,很大程度地减少了网络延迟。根据本发明的可选实施例,采用有序轮询的方式进行数据同步,能够最大程度地适应各机房的不同拓扑结构,还可以灵活地保持或改变数据的元信息;另外,采取过期策略,减少了机房本地存储空间的负担。
在此提供的方法和装置不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的装置中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个装置中。可以把实施例中的若干模块组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者模块中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个装置实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”或“包括”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明还公开了:
A1.一种进行跨机房数据同步的方法,应用于分布式消息***,包括:
位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;以及
所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地以供位于第三机房的一个或多个订阅方调用。
A2.如权利要求A1所述的方法,其中所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方的步骤进一步包括:所述一个或多个第一存储方采用有序轮询的方式将所述一份或多份数据同步到所述一个或多个第二存储方。
A3.如权利要求A1所述的方法,其中所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方的步骤进一步包括:
对于其中每一份数据,所述一个或多个第一存储方采用有序轮询的方式将所述一份数据的一个或多个部分同步到所述一个第二存储方并作为一个或多个部分存储。
A4.如权利要求A1至A3中的任一项所述的方法,其中第二机房、第三机房位于不同的位置。
A5.如权利要求A1至A3中的任一项所述的方法,其中所述第二机房与所述第三机房进行远程通信。
A6.如权利要求A1至A3中的任一项所述的方法,其中在所述分布式消息***中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
B7.一种进行跨机房数据同步的方法,应用于分布式消息***,包括:
位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;
所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地;以及
位于第三机房的一个或多个订阅方从所述一个或多个第二存储方获取所述一份或多份数据。
B8.如权利要求B7所述的方法,其中在所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地的步骤之后,所述方法还包括:
所述一个或多个第二存储方将存储在第三机房本地超过预先定义的第一时间阈值的一份或多份数据删除。
B9.如权利要求B7所述的方法,其中在所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地的步骤之后,所述方法还包括:
在存储在第三机房本地的所述一份或多份数据超过预先定义的大小的情况下,所述一个或多个第二存储方将存储在第三机房本地的一份或多份数据中存储时间最长的、超出所述预先定义的大小的一份或多份数据删除。
B10、如权利要求B7至B9中的任一项所述的方法,还包括:
位于所述第一机房的所述一个或多个发布方将一份或多份数据发送到位于第二机房的一个或多个第一存储方。
B11.如权利要求B7至B9中的任一项所述的方法,其中在所述分布式消息***中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
C12.一种进行跨机房数据同步的装置,应用于分布式消息***,包括:
接收和存储模块,用于通过位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;以及
同步模块,用于通过所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地以供位于第三机房的一个或多个订阅方调用。
C13.如权利要求C12所述的装置,其中所述同步模块通过所述一个或多个第一存储方采用有序轮询的方式将所述一份或多份数据同步到所述一个或多个第二存储方。
C14.如权利要求C12所述的装置,其中所述同步模块对于其中每一份数据,通过所述一个或多个第一存储方采用有序轮询的方式将所述一份数据的一个或多个部分同步到所述一个第二存储方并作为一个或多个部分存储。
C15.如权利要求C12至C14中的任一项所述的装置,其中第二机房、第三机房位于不同的位置。
C16.如权利要求C12至C14中的任一项所述的装置,其中所述第二机房与所述第三机房进行远程通信。
C17.如权利要求C12至C14中的任一项所述的装置,其中在所述分布式消息***中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
D18.一种进行跨机房数据同步的装置,应用于分布式消息***,包括:
接收和存储模块,用于通过位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;
同步模块,用于通过所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地;以及
获取模块,用于通过位于第三机房的一个或多个订阅方从所述一个或多个第二存储方获取所述一份或多份数据。
D19.如权利要求D18所述的装置,还包括第一删除模块,用于在所述同步模块通过所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地之后,通过所述一个或多个第二存储方将存储在第三机房本地超过预先定义的第一时间阈值的一份或多份数据删除。
D20.如权利要求D18所述的装置,还包括第二删除模块,用于在所述同步模块通过所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地之后,在存储在第三机房本地的所述一份或多份数据超过预先定义的大小的情况下,通过所述一个或多个第二存储方将存储在第三机房本地的一份或多份数据中存储时间最长的、超出所述预先定义的大小的一份或多份数据删除。
D21、如权利要求D18至D20中的任一项所述的装置,还包括发送模块,用于通过位于所述第一机房的所述一个或多个发布方将一份或多份数据发送到位于第二机房的一个或多个第一存储方。
D22.如权利要求D18至D20中的任一项所述的装置,其中在所述分布式消息***中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
Claims (10)
1.一种进行跨机房数据同步的方法,应用于分布式消息***,包括:
位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;以及
所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地以供位于第三机房的一个或多个订阅方调用。
2.如权利要求1所述的方法,其中所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方的步骤进一步包括:所述一个或多个第一存储方采用有序轮询的方式将所述一份或多份数据同步到所述一个或多个第二存储方。
3.如权利要求1所述的方法,其中所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方的步骤进一步包括:
对于其中每一份数据,所述一个或多个第一存储方采用有序轮询的方式将所述一份数据的一个或多个部分同步到所述一个第二存储方并作为一个或多个部分存储。
4.如权利要求1至3中的任一项所述的方法,其中第二机房、第三机房位于不同的位置。
5.如权利要求1至3中的任一项所述的方法,其中所述第二机房与所述第三机房进行远程通信。
6.如权利要求1至3中的任一项所述的方法,其中在所述分布式消息***中,所述发布方是Producer,所述第一存储方和第二存储方是Broker,所述订阅方是Consumer。
7.一种进行跨机房数据同步的方法,应用于分布式消息***,包括:
位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;
所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地;以及
位于第三机房的一个或多个订阅方从所述一个或多个第二存储方获取所述一份或多份数据。
8.如权利要求7所述的方法,其中在所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地的步骤之后,所述方法还包括:
所述一个或多个第二存储方将存储在第三机房本地超过预先定义的第一时间阈值的一份或多份数据删除。
9.一种进行跨机房数据同步的装置,应用于分布式消息***,包括:
接收和存储模块,用于通过位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;以及
同步模块,用于通过所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地以供位于第三机房的一个或多个订阅方调用。
10.一种进行跨机房数据同步的装置,应用于分布式消息***,包括:
接收和存储模块,用于通过位于第二机房的一个或多个第一存储方从位于第一机房的一个或多个发布方接收一份或多份数据并存储在第二机房本地;
同步模块,用于通过所述一个或多个第一存储方将所述一份或多份数据同步到位于第三机房的一个或多个第二存储方,以存储在第三机房本地;以及
获取模块,用于通过位于第三机房的一个或多个订阅方从所述一个或多个第二存储方获取所述一份或多份数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410844631.1A CN104618219A (zh) | 2014-12-30 | 2014-12-30 | 一种进行跨机房数据同步的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410844631.1A CN104618219A (zh) | 2014-12-30 | 2014-12-30 | 一种进行跨机房数据同步的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104618219A true CN104618219A (zh) | 2015-05-13 |
Family
ID=53152507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410844631.1A Pending CN104618219A (zh) | 2014-12-30 | 2014-12-30 | 一种进行跨机房数据同步的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104618219A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105610933A (zh) * | 2015-12-25 | 2016-05-25 | 北京奇虎科技有限公司 | 信息管理方法和设备 |
CN109309698A (zh) * | 2017-07-28 | 2019-02-05 | 北京京东尚科信息技术有限公司 | 数据处理***、方法和装置 |
CN110309231A (zh) * | 2019-07-12 | 2019-10-08 | 焦点科技股份有限公司 | 一种跨机房的数据同步方法及*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050060405A1 (en) * | 2002-09-16 | 2005-03-17 | Guy Nathan | Digital downloading jukebox system with central and local music servers |
CN101291304A (zh) * | 2008-06-13 | 2008-10-22 | 清华大学 | 可移植的网络信息共享方法 |
CN101453624A (zh) * | 2008-12-30 | 2009-06-10 | 青岛华威视通数字传媒有限公司 | 一种视频点播*** |
CN101576934A (zh) * | 2009-01-05 | 2009-11-11 | 北京中加国道科技有限公司 | 一种针对网络学术资源的永久存档*** |
CN102740122A (zh) * | 2012-05-25 | 2012-10-17 | 深圳市华曦达科技股份有限公司 | 酒店客房互联网影视点播的方法及*** |
CN102760126A (zh) * | 2011-04-26 | 2012-10-31 | 阿里巴巴集团控股有限公司 | 一种分布式***中的数据同步方法和分布式*** |
CN103036934A (zh) * | 2012-09-13 | 2013-04-10 | 曙光信息产业(北京)有限公司 | 基于镜像的广域网集群部署***和方法 |
CN103095769A (zh) * | 2011-11-04 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 跨机房的数据同步方法以及*** |
-
2014
- 2014-12-30 CN CN201410844631.1A patent/CN104618219A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050060405A1 (en) * | 2002-09-16 | 2005-03-17 | Guy Nathan | Digital downloading jukebox system with central and local music servers |
CN101291304A (zh) * | 2008-06-13 | 2008-10-22 | 清华大学 | 可移植的网络信息共享方法 |
CN101453624A (zh) * | 2008-12-30 | 2009-06-10 | 青岛华威视通数字传媒有限公司 | 一种视频点播*** |
CN101576934A (zh) * | 2009-01-05 | 2009-11-11 | 北京中加国道科技有限公司 | 一种针对网络学术资源的永久存档*** |
CN102760126A (zh) * | 2011-04-26 | 2012-10-31 | 阿里巴巴集团控股有限公司 | 一种分布式***中的数据同步方法和分布式*** |
CN103095769A (zh) * | 2011-11-04 | 2013-05-08 | 阿里巴巴集团控股有限公司 | 跨机房的数据同步方法以及*** |
CN102740122A (zh) * | 2012-05-25 | 2012-10-17 | 深圳市华曦达科技股份有限公司 | 酒店客房互联网影视点播的方法及*** |
CN103036934A (zh) * | 2012-09-13 | 2013-04-10 | 曙光信息产业(北京)有限公司 | 基于镜像的广域网集群部署***和方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105610933A (zh) * | 2015-12-25 | 2016-05-25 | 北京奇虎科技有限公司 | 信息管理方法和设备 |
CN105610933B (zh) * | 2015-12-25 | 2019-03-05 | 北京奇虎科技有限公司 | 信息管理方法和设备 |
CN109309698A (zh) * | 2017-07-28 | 2019-02-05 | 北京京东尚科信息技术有限公司 | 数据处理***、方法和装置 |
US20200204624A1 (en) * | 2017-07-28 | 2020-06-25 | Beijing Jingdong Shangke Information Technology Co., Ltd. | Data processing system, method and apparatus |
US11588890B2 (en) * | 2017-07-28 | 2023-02-21 | Beijing Jingdong Shangke Information Technology Co., Ltd. | System, method and apparatus having a redundant cluster for processing data |
CN110309231A (zh) * | 2019-07-12 | 2019-10-08 | 焦点科技股份有限公司 | 一种跨机房的数据同步方法及*** |
CN110309231B (zh) * | 2019-07-12 | 2022-07-29 | 焦点科技股份有限公司 | 一种跨机房的数据同步方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102857578B (zh) | 一种网络硬盘的文件上传方法、***及网盘客户端 | |
CN104731956A (zh) | 同步数据的方法、***及相关数据库 | |
CN103312732A (zh) | 数据文件的传输方法及装置 | |
CN103561049A (zh) | 一种处理终端调度请求的方法、***及装置 | |
CN102882985A (zh) | 基于云存储的文件共享方法 | |
CN105025053A (zh) | 基于云存储技术的分布式文件的上传方法及其*** | |
CN104348859B (zh) | 文件同步方法、装置、服务器、终端及*** | |
CN105162879B (zh) | 实现多机房数据一致性的方法、装置及*** | |
CN110502572A (zh) | 一种数据同步的方法及服务器 | |
CN103412786A (zh) | 一种高性能服务器架构***及数据处理方法 | |
CN103530255A (zh) | 分布式异步事件的处理方法及*** | |
CN104462483A (zh) | 数据同步方法、装置及*** | |
CN103116655A (zh) | 集群数据查询方法、客户端及*** | |
CN103152390A (zh) | 分布式存储***的节点配置方法、装置、节点及*** | |
CN105553832A (zh) | 消息发送、接收方法及装置 | |
CN105550246A (zh) | Android平台下加载网络图片的***及方法 | |
CN104618219A (zh) | 一种进行跨机房数据同步的方法和装置 | |
CN109783564A (zh) | 支持多节点的分布式缓存方法及设备 | |
CN110659124A (zh) | 一种消息处理方法和装置 | |
CN110213320B (zh) | 通信连接的方法、装置、电子设备及计算机可读存储介质 | |
CN103647811A (zh) | 一种实现应用访问后台服务的方法和装置 | |
CN105302486A (zh) | 一种虚拟化离线桌面块设备存储同步方法 | |
CN106936917A (zh) | 一种云存储方法及装置、电子设备 | |
US9137331B2 (en) | Adaptive replication | |
CN110022323A (zh) | 一种基于WebSocket与Redux的跨终端实时交互的方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150513 |
|
RJ01 | Rejection of invention patent application after publication |