CN102760126B - 一种分布式系统中的数据同步方法和分布式系统 - Google Patents

一种分布式系统中的数据同步方法和分布式系统 Download PDF

Info

Publication number
CN102760126B
CN102760126B CN201110105169.XA CN201110105169A CN102760126B CN 102760126 B CN102760126 B CN 102760126B CN 201110105169 A CN201110105169 A CN 201110105169A CN 102760126 B CN102760126 B CN 102760126B
Authority
CN
China
Prior art keywords
data
producer
module
subsystem
memory module
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.)
Active
Application number
CN201110105169.XA
Other languages
English (en)
Other versions
CN102760126A (zh
Inventor
李智慧
李鼎
潘磊
李彦超
雷继斌
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.)
Hangzhou Alibaba Zhirong Digital Technology Co ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201110105169.XA priority Critical patent/CN102760126B/zh
Publication of CN102760126A publication Critical patent/CN102760126A/zh
Priority to HK12113153.2A priority patent/HK1172412A1/zh
Application granted granted Critical
Publication of CN102760126B publication Critical patent/CN102760126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种分布式系统中的数据同步方法和分布式系统。分布式系统包括至少两个子系统,每个子系统分别位于不同的数据中心上,其中,每个子系统包括消费者模块、生产者模块、消费者存储模块和生产者存储模块,在位于任意一个数据中心的子系统中,生产者模块生产数据,将生产的数据写入到本地子系统的消费者存储模块和生产者存储模块;消费者模块从本地子系统的消费者存储模块中读取数据,对读取的数据进行处理;生产者存储模块存储本地子系统的生产者模块写入的数据,向位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者存储模块同步所存储的数据;消费者存储模块存储本地子系统的生产者模块写入的数据和位于除本地子系统所在的数据中心之外的其它数据中心的子系统的生产者存储模块同步的数据。根据本申请实施例,能够支持本地的消费者对远程的生产者生产的数据进行处理。

Description

一种分布式系统中的数据同步方法和分布式系统
技术领域
本申请涉及计算机技术领域,特别是一种分布式系统中的数据同步方法和分布式系统。
背景技术
在计算机技术中,通常基于生产者-消费者模型的设计架构。在生产者-消费者模型中,生产者用于生产数据,这些数据再由消费者来负责处理。请参阅图1,其为现有技术中一种基于生产者-消费者模型的架构示意图。如图1所示,生产者将数据写入缓冲区中,消费者再从缓存区中读取数据进行处理。这种基于生产者-消费者模型的数据访问方式,能够支持解耦、并发和忙闲不均等情况。例如,键盘输入程序是生产者,屏幕显示程序是消费者,字符是键盘输入程序生产的数据,键盘输入程序将生产的字符写入缓冲区,屏幕显示程序再从缓冲区中读取字符,对字符进行显示处理。
但是,发明人在研究中发现,现有的这种生产者-消费者模型只能支持在同一个数据中心上的不同子系统中完成数据的访问,例如,模型中的生产者位于数据中心A上的子系统1中,消费者位于数据中心A上的子系统2中,子系统2中的消费者对子系统1中的生产者所生产的数据进行处理。通常,“数据中心”就是指以外包方式让许多网上公司存放它们的设备,主要是网站服务器,或者存放数据的地方,是场地出租概念在因特网领域的延伸。如,数据中心为中国电信北京海淀机房。“子系统”就是实现一个或多个接口,这些接口定义子系统可以执行的行为。也就是说,子系统提供可调用的接口,完成可执行的行为。子系统部署在位于数据中心的网站服务器上,而在现有的生产者-消费者模型中,不同的子系统可以部署在位于同一个数据中心的同一个网站服务器上,也可以部署在位于同一个数据中心的不同网站服务器上。
而对于位于不同数据中心的生产者和消费者,例如,生产者位于数据中心A的子系统1中,而消费者位于数据中心B的子系统2中,现有的生产者-消费者模型则无法实现数据的访问,即,数据中心A的消费者无法对远程的数据中心B的生产者所生产的数据进行处理。
发明内容
为了解决上述技术问题,本申请实施例提供了一种分布式系统中的数据同步方法和分布式系统,以能够支持本地的消费者对远程的生产者生产的数据进行处理。
本申请实施例公开了如下技术方案:
一种分布式系统,包括至少两个子系统,每个子系统分别位于不同的数据中心上,其中,每个子系统包括消费者模块、生产者模块、消费者存储模块和生产者存储模块,在位于任意一个数据中心的子系统中,
生产者模块,用于生产数据,将生产的数据写入到本地子系统的消费者存储模块和生产者存储模块;
消费者模块,用于从本地子系统的消费者存储模块中读取数据,对读取的数据进行处理;
生产者存储模块,用于存储本地子系统的生产者模块写入的数据,向位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者存储模块同步所存储的数据;
消费者存储模块,用于存储本地子系统的生产者模块写入的数据和位于本地子系统所在的数据中心之外的其它数据中的子系统中的生产者存储模块同步的数据。
一种分布式系统中的数据同步方法,包括:
本地子系统的生产者模块将生产的数据写入到本地子系统的消费者存储模块和生产者存储模块;
本地子系统的生产者存储模块向位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者存储模块同步所存储的数据,以便位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者模块从同步后的消费者存储模块中读取数据,对读取的数据进行处理。
由上述实施例可以看出,与现有技术相比,本申请具有如下优点:
分布式系统中分别位于不同数据中心的每个子系统同时包括生产者存储模块和消费者存储模块,位于一个数据中心的子系统中的生产者存储模块跨越数据中心向位于其它数据中心的子系统中的消费者存储模块进行数据同步,依次实现各个子系统之间的交叉同步,最终保证整个分布式系统的数据同步,从而能够支持本地的消费者对远程的生产者生产的数据进行处理。并且,对于每个子系统而言,向外进行数据同步过程和接受外面的数据同步过程可以并发执行,提高了整个分布式系统的工作效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中一种基于生产者-消费者模型的架构示意图;
图2为本申请一种分布式系统的一个实施例的结构图;
图3为本申请中生产者存储模块的一个结构示意图;
图4为本申请中生产者模块的一个结构示意图;
图5为本申请中消费者生产模块的一个结构示意图;
图6为本申请一种分布式系统中的数据同步方法的一个实施例的流程图;
图7为本申请一种分布式系统中子系统A对子系统B进行数据同步的方法的流程图。
具体实施方式
下面结合附图及实施例,对本申请实施例进行详细描述。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
实施例一
请参阅图2,其为本申请一种分布式系统的一个实施例的结构图。该系统包括至少两个子系统20,每个子系统20分别位于不同的数据中心上,其中,每个子系统20包括消费者模块202、生产者模块201、生产者存储模块203和消费者存储模块204,在位于任意一个数据中心的子系统中,
生产者模块201,用于生产数据,将生产的数据写入到本地子系统的消费者存储模块204和生产者存储模块203;
消费者模块202,用于从本地子系统的消费者存储模块204中读取数据,对读取的数据进行处理;
生产者存储模块203,用于存储本地子系统的生产者模块201写入的数据,向位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者存储模块204同步所存储的数据;
消费者存储模块204,用于存储本地子系统的生产者模块201写入的数据和位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的生产者存储模块203同步的数据。
例如,以点击付费系统为例,由海外用户通过位于美国或欧洲数据中心的子系统A执行一次点击行为,并产生一个数据,数据存储在子系统A中的生产者存储模块和消费者存储模块中,子系统A的生产者存储模块将数据同步给位于中国大陆数据中心的子系统B中的消费者存储模块,并进一步由子系统B的消费者模块在中国大陆进行消费。反过来,在中国大陆的数据中心也会产生数据,该数据可以由海外用户在美国或者欧洲的数据中心消费。
需要说明的是,为了简单而清楚地表示分布式系统的结构,在图2中的分布式系统仅包含了两个子系统。而在本申请的技术方案中,分布式系统至少包括两个子系统,子系统的具体个数不在本实施例中进行限定。
另外,还需要说明的是,在本申请的技术方案中,“本地子系统”和“位于除本地子系统所在的数据中心之外的其它数据中心的子系统”仅仅是一个相对概念。举一个简单的例子,假设整个分布式系统中共包含有3个子系统A、B和C,对于A而言,当其为本地子系统时,B和C就是位于除本地子系统所在的数据中心之外的其它数据中心的;对于B而言,当其为本地子系统时,A和C就是位于除本地子系统所在的数据中心之外的其它数据中心的,同样,对于C而言,当其为本地子系统,A和B就是位于除本地子系统所在的数据中心之外的其它数据中心的。因此,可以明确的是,在本申请的分布式系统中,任意一个子系统都可以是本地子系统,此时,分布式系统中除该本地子系统外的其它子系统都是该本地子系统的远程子系统。
由于数据库系统都会提供相应的数据库同步解决方法,因此,当采用数据库实现生产者存储模块和消费者存储模块时,可以方便地实现本地子系统的生产者存储模块与远程子系统的消费者存储模块之间的数据同步。优选的,生产者存储模块203为一个主数据库,消费者存储模块204为一个从数据库,所述主数据库将存储的数据复制到所述从数据库中。
进一步优选的,主数据库和从数据库包括:SQL Server数据库、OracleServer数据库、Mysql数据库、Sybase ASE数据库或者DB2数据库等。
例如,以Mysql数据库为例,在mysql数据库A中配置数据库B的主机信息及访问口令,mysql会自动同步数据库A的数据到数据库B,即A库的数据变更,包括修改新增等操作会同步到B库。
最后,重启主数据库A及从数据库B,同步即生效,主数据库A中的数据会同步到从数据库B中。
除了采用数据库来实现生产者存储模块和消费者存储模块之外,也可以由独立的逻辑功能模块实现生产者存储模块,使本地子系统的生产者存储模块将数据同步到远程子系统的消费者存储模块。优选的,请参阅图3,其为本申请中生产者存储模块的一个结构示意图。如图3所示,生产者存储模块203包括:存储子模块2031、监听子模块2032和同步子模块2034,其中,
存储子模块2031,用于存储本地子系统的生产者模块201写入的数据;
监听子模块2032,用于监测存储子模块2031是否有数据写入,如果是,启动同步子模块2033,否则,继续检测存储子模块2032;
同步子模块2033,用于将存储子模块2031存储的数据写入到位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者存储模块中。
进一步优选的,存储子模块2031包括队列缓冲区或者环形缓冲区。
例如,存储子模块为一个环形队列,在数据写入接口中设置一个观察者模式的数据监听器,这个数据监听器即为监听子模块,当将数据写入环形队列的同时,数据写入接口向监听器发送notify消息,通过notify消息把数据操作的内容发送给监听器,监听器是一个异步线程,收到消息后异步调用写入接口,写入接口即为同步子模块,写入接口将环形队列中的数据写入到位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者存储模块,完成数据同步。
需要说明的是,存储子模块除了可以是队列缓冲区或者环形缓冲区外,还可以是其它的具有存储功能的介质。在本申请的技术方案中,对存储子模块的存在形式并不进行具体限定。
另外,优选的,生产者模块201除了包括用于生产数据的生产子模块,和用于将生产的数据写入到本地子系统的消费者存储模块和生产者存储模块的数据写入子模块之外,请参阅图4,其为本申请中生产者模块的一个结构示意图,如图4所示,生产者模块201还包括记录子模块2013和时间写入子模块2014,其中,
记录子模块2013,用于记录数据的生产时间;
时间写入子模块2014,用于将数据的生产时间一同写入到本地子系统的消费者存储模块和生产者存储模块。
与图4所示的生产者消费模块相对应,请参阅图5,为本申请中消费者生产模块的一个结构示意图,如图5所示,消费者存储模块204包括:排序子模块2041和处理子模块2042,其中,
排序子模块2041,用于从本地子系统的消费者存储模块中读取数据,按照数据的生产时间对读取的数据进行排序;
处理子模块2042,用于按照生产时间的先后顺序对数据进行处理。
由上述实施例可以看出,与现有技术相比,本申请具有如下优点:
分布式系统中分别位于不同数据中心的每个子系统同时包括生产者存储模块和消费者存储模块,位于一个数据中心的子系统中的生产者存储模块跨越数据中心向位于其它数据中心的子系统中的消费者存储模块进行数据同步,依次实现各个子系统之间的交叉同步,最终保证整个分布式系统的数据同步,从而能够支持本地的消费者对远程的生产者生产的数据进行处理。并且,对于每个子系统而言,向外进行数据同步过程和接受外面的数据同步过程可以并发执行,提高了整个分布式系统的工作效率。
实施例二
与实施例一中的分布系统相对应,本申请实施例还提供了一种分布式系统中的数据同步方法。请参阅图6,其为本申请一种分布式系统中的数据同步方法的一个实施例的流程图。其中,同步方法包括以下步骤:
步骤601:本地子系统的生产者模块将生产的数据写入到本地子系统的消费者存储模块和生产者存储模块;
需要说明的是,在本申请的技术方案中,并不限定生产者模块将数据写入生产者存储模块和消费者存储模块的写入顺序,可以将数据同时写入到生产者存储模块和消费者存储模块,也可以先写入任意一个存储模块,再写入另一个存储模块。
为了使消费者模块按照一定的顺序处理数据,本地子系统的生产者模块在将数据写入到本地子系统的消费者存储模块和生产者存储模块的同时,也记录数据生产时间,将数据以及对应的数据生产时间一同写入。因此,优选的,所述本地子系统的生产者模块将生产的数据写入到本地子系统的消费者存储模块和生产者存储模块包括:本地子系统的生产者模块在生产数据的同时,记录数据的生产时间;本地子系统的生产者模块将生产的数据和数据的生产时间写入到本地子系统的消费者存储模块和生产者存储模块。
步骤602:本地子系统的生产者存储模块向位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者存储模块同步所存储的数据,以便位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者模块从同步后的消费者存储模块中读取数据,对读取的数据进行处理。
优选的,所述本地子系统的生产者存储模块向远程子系统的消费者存储模块同步所存储的数据包括:本地子系统的生产者存储模块监测是否有数据写入;一旦监测到有数据写入,本地子系统的生产者存储模块将当前写入的数据写入到远程子系统的消费者存储模块中。
当然,除了利用上述的监测方式,在数据一旦写入生产者存储模块后,即执行数据同步外,生产者存储模块也可以定时将存储的数据进行同步。例如,设定一个同步周期,同时,生产者存储模块在存储数据时记录下数据的存储时间,例如以时间戳的方式记录下数据的存储时间。在当前同步周期到达时,生产者存储模块根据时间戳识别出在上一个同步周期与当前不同周期之间存储的数据,将识别出的数据进行同步。
另外,如果生产者模块在向本地子系统的生产者存储模块写入数据的同时,也写入了数据的生产时间,则本地子系统的生产者存储模块在进行数据同步时,也同样要同步数据的生产时间。因此,所述本地子系统的生产者存储模块向位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者存储模块同步所存储的数据包括:本地子系统的生产者存储模块监测是否有数据写入;一旦监测到有数据写入,本地子系统的生产者存储模块将当前写入的数据和数据的生产时间写入到位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者存储模块中。
同样,当生产者模块向远程子系统的消费者存储模块同步数据和数据的生产时间时,除了利用上述的监测方式外,生产者存储模块也可以定时将存储的数据和数据产生时间进行同步。例如,设定一个同步周期,同时,生产者存储模块在存储数据时记录下数据和对应生产时间的存储时间,例如以时间戳的方式记录下数据的存储时间。在当前同步周期到达时,生产者存储模块根据时间戳识别出在上一个同步周期与当前不同周期之间存储的数据和对应的生产时间,将识别出的数据和对应的生产时间进行同步。
进一步优选的,在本地子系统的生产者模块将数据和对应的生产日期都写入生产者存储模块和消费者存储模块的情况下,当生产者存储模块将存储的数据对远程子系统的消费者存储模块进行同步后,远程子系统的消费者模块就会按照数据的生产时间的先后顺序对数据进行处理。因此,所述远程子系统的消费者模块从同步后的消费者存储模块读取数据,对读取的数据进行处理包括:位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者模块从同步后的消费者存储模块中读取数据,按照数据的生产时间对读取的数据进行排序;位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者模块按照生产时间的先后顺序对数据进行处理。显然,这样可以实现数据处理的顺序性。
需要说明的是,无论是本地子系统还是位于除本地子系统所在的数据中心之外的其它数据中心的子系统,消费者模块从消费者存储模块读取数据的流程与生产者模块向生产者存储模块和消费者存储模块写入的数据的流程没有严格的先后顺序关系,即,读取数据的过程和写入数据的过程是并发进行的。当采用监测方式实现数据同步时,生产者模块向生产者存储模块写入数据的流程与生产者存储模块同步数据的流程具有确定的先后顺序,当采用定时方式实现数据同步时,数据写入的过程和同步的过程也是并发进行的。
最后,需要说明的是,在本申请的技术方案中,“本地子系统”和“位于除本地子系统所在的数据中心之外的其它数据中心的”仅仅是一个相对概念。可以明确的是,在本申请的分布式系统中,任意一个子系统都可以是本地子系统。
由上述实施例可以看出,与现有技术相比,本申请具有如下优点:
分布式系统中分别位于不同数据中心的每个子系统同时包括生产者存储模块和消费者存储模块,位于一个数据中心的子系统中的生产者存储模块跨越数据中心向位于其它数据中心的子系统中的消费者存储模块进行数据同步,依次实现各个子系统之间的交叉同步,最终保证整个分布式系统的数据同步,从而能够支持本地的消费者对远程的生产者生产的数据进行处理。并且,对于每个子系统而言,向外进行数据同步过程和接受外面的数据同步过程可以并发执行,提高了整个分布式系统的工作效率。
实施例三
下面针对图2中仅包含两个子系统A和B的分布式系统,假设A为本地子系统,B为位于除本地子系统所在的数据中心之外的其它数据中心的子系统,详细说明在分布式系统中A对B进行数据同步的方法。B对A的同步与A对B的同步相同,在本实施例中就不再重复描述。最终A与B之间实现交叉同步,达到整个分布式系统的数据同步。请参阅图7,其为本申请一种分布式系统中子系统A对子系统B进行数据同步的方法的流程图,包括以下步骤:
步骤701:子系统A中的生产者生产数据,并记录数据的生产时间;
步骤702:子系统A中的生产者模块将生产的数据和记录的数据生产时间写入到子系统A中的消费者存储模块和生产者存储模块;
步骤703:子系统A中的生产者存储模块监测是否有数据写入;
步骤704:当监测到当前有数据写入时,子系统A中的生产者存储模块将当前写入的数据和对应的生产时间同步到子系统B中的消费者存储模块;
步骤705:子系统B中的消费者模块从同步后的消费者存储模块中读取数据,按照数据的生产时间对读取的数据进行排序;
步骤706:子系统B的消费者模块按照生产时间的先后顺序对数据进行处理。
由上述实施例可以看出,与现有技术相比,本申请具有如下优点:
分布式系统中分别位于不同数据中心的每个子系统同时包括生产者存储模块和消费者存储模块,位于一个数据中心的子系统中的生产者存储模块跨越数据中心向位于其它数据中心的子系统中的消费者存储模块进行数据同步,依次实现各个子系统之间的交叉同步,最终保证整个分布式系统的数据同步,从而能够支持本地的消费者对远程的生产者生产的数据进行处理。并且,对于每个子系统而言,向外进行数据同步过程和接受外面的数据同步过程可以并发执行,提高了整个分布式系统的工作效率。
以上对本申请所提供的一种分布式系统中的数据同步方法和分布式系统进行了详细介绍,本文中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,在不脱离本发明描述的原理前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种分布式系统,其特征在于,包括至少两个子系统,每个子系统分别位于不同的数据中心上,其中,每个子系统包括消费者模块、生产者模块、消费者存储模块和生产者存储模块,在位于任意一个数据中心的子系统中,
生产者模块,用于生产数据,将生产的数据写入到本地子系统的消费者存储模块和生产者存储模块;
消费者模块,用于从本地子系统的消费者存储模块中读取数据,对读取的数据进行处理;
生产者存储模块,用于存储本地子系统的生产者模块写入的数据,向位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者存储模块同步所存储的数据;
消费者存储模块,用于存储本地子系统的生产者模块写入的数据和位于本地子系统所在的数据中心之外的其它数据中心的子系统中的生产者存储模块同步的数据。
2.根据权利要求1所述的系统,其特征在于,所述生产者存储模块为一个主数据库,所述消费者存储模块为一个从数据库,所述主数据库将存储的数据复制到所述从数据库中。
3.根据权利要求2所述的系统,其特征在于,所述主数据库和从数据库包括:SQL Server数据库、Oracle Server数据库、Mysql数据库、Sybase ASE数据库或者DB2数据库。
4.根据权利要求1所述的系统,其特征在于,所述生产者存储模块包括存储子模块,监听子模块和同步子模块,其中,
所述存储子模块,用于存储本地子系统的生产者模块写入的数据;
所述监听子模块,用于监测存储子模块是否有数据写入,如果是,启动所述同步子模块,否则,继续监测存储子模块;
所述同步子模块,用于将所述存储子模块存储的数据写入到位于除本地子系统所在的数据中心之外的其它数据中的子系统中的消费者存储模块中。
5.根据权利要求4所述的系统,其特征在于,所述存储子模块包括队列缓冲区或者环形缓冲区。
6.根据权利要求1-5中的任意一项所述的系统,其特征在于,生产者模块还包括记录子模块和时间写入子模块,其中,
记录子模块,用于记录数据的生产时间;
时间写入子模块,用于将数据的生产时间一同写入到本地子系统的消费者存储模块和生产者存储模块。
7.根据权利要求6所述的系统,其特征在于,所述消费者模块包括:
排序子模块,用于从本地子系统的消费者存储模块中读取数据,按照数据的生产时间对读取的数据进行排序;
处理子模块,用于按照生产时间的先后顺序对数据进行处理。
8.一种分布式系统中的数据同步方法,其特征在于,所述分布式系统包括至少两个子系统,每个子系统分别位于不同的数据中心上,其中,每个子系统包括消费者模块、生产者模块、消费者存储模块和生产者存储模块,所述方法包括:
本地子系统的生产者模块生产数据,并将生产的数据写入到本地子系统的消费者存储模块和生产者存储模块;
本地子系统的消费者模块从本地子系统的消费者存储模块中读取数据,对读取的数据进行处理;
本地子系统的生产者存储模块存储本地子系统的生产者模块写入的数据,向位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者存储模块同步所存储的数据,以便位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者模块从同步后的消费者存储模块中读取数据,对读取的数据进行处理;
本地子系统的消费者存储模块存储本地子系统的生产者模块写入的数据和位于本地子系统所在的数据中心之外的其它数据中心的子系统中的生产者存储模块同步的数据。
9.根据权利要求8所述的方法,其特征在于,所述本地子系统的生产者模块将生产的数据写入到本地子系统的消费者存储模块和生产者存储模块包括:
本地子系统的生产者模块在生产数据的同时,记录数据的生产时间;
本地子系统的生产者模块将生产的数据和数据的生产时间写入到本地子系统的消费者存储模块和生产者存储模块。
10.根据权利要求8所述的方法,其特征在于,所述本地子系统的生产者存储模块向位于本地直通所在的数据中心之外的其它数据中心的子系统中的消费者存储模块同步所存储的数据包括:
本地子系统的生产者存储模块监测是否有数据写入;
一旦监测到有数据写入,本地子系统的生产者存储模块将当前写入的数据写入到位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者存储模块中。
11.根据权利要求9所述的方法,其特征在于,所述本地子系统的生产者存储模块向位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者存储模块同步所存储的数据包括:
本地子系统的生产者存储模块监测是否有数据写入;
一旦监测到有数据写入,本地子系统的生产者存储模块将当前写入的数据和数据的生产时间写入到位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者存储模块中。
12.根据权利要求9所述的方法,其特征在于,远程子系统的消费者模块从同步后的消费者存储模块中读取数据,对读取的数据进行处理包括:
位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者模块从同步后的消费者存储模块中读取数据,按照数据的生产时间对读取的数据进行排序;
位于除本地子系统所在的数据中心之外的其它数据中心的子系统中的消费者模块按照生产时间的先后顺序对数据进行处理。
CN201110105169.XA 2011-04-26 2011-04-26 一种分布式系统中的数据同步方法和分布式系统 Active CN102760126B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110105169.XA CN102760126B (zh) 2011-04-26 2011-04-26 一种分布式系统中的数据同步方法和分布式系统
HK12113153.2A HK1172412A1 (zh) 2011-04-26 2012-12-20 種分布式系統中的數據同步方法和分布式系統

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110105169.XA CN102760126B (zh) 2011-04-26 2011-04-26 一种分布式系统中的数据同步方法和分布式系统

Publications (2)

Publication Number Publication Date
CN102760126A CN102760126A (zh) 2012-10-31
CN102760126B true CN102760126B (zh) 2015-04-01

Family

ID=47054584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110105169.XA Active CN102760126B (zh) 2011-04-26 2011-04-26 一种分布式系统中的数据同步方法和分布式系统

Country Status (2)

Country Link
CN (1) CN102760126B (zh)
HK (1) HK1172412A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461779B (zh) * 2014-11-28 2018-02-23 华为技术有限公司 一种分布式数据的存储方法、装置及系统
CN104618219A (zh) * 2014-12-30 2015-05-13 北京奇虎科技有限公司 一种进行跨机房数据同步的方法和装置
CN104572995A (zh) * 2015-01-06 2015-04-29 北京卫星环境工程研究所 一种分布式实时数据快速处理方法
CN108268315A (zh) * 2016-12-30 2018-07-10 北京国双科技有限公司 一种媒体物料数据的处理方法及装置
CN108874834A (zh) * 2017-05-16 2018-11-23 北京嘀嘀无限科技发展有限公司 一种数据处理方法、处理系统及计算机装置
CN107368563B (zh) * 2017-06-30 2021-02-23 北京奇虎科技有限公司 数据库数据的删除方法及装置、电子设备、存储介质
CN107741965B (zh) * 2017-09-30 2021-06-29 北京奇虎科技有限公司 数据库同步处理方法、装置、计算设备及计算机存储介质
CN107886424B (zh) * 2017-11-28 2022-12-16 腾讯科技(深圳)有限公司 结算数据处理方法和装置、计算机设备和存储介质
CN108009029B (zh) * 2017-11-30 2022-01-04 中电福富信息科技有限公司 基于Ignite网格缓存数据解耦持久化的方法及系统
CN108874555A (zh) * 2018-05-23 2018-11-23 福建天泉教育科技有限公司 一种写消息至消息中间件的方法及装置
CN108959657B (zh) * 2018-08-13 2020-12-25 北京高途云集教育科技有限公司 一种数据变更处理方法及装置
CN109922151A (zh) * 2019-03-12 2019-06-21 浪潮通用软件有限公司 一种微服务之间的数据共享方法
CN112434043B (zh) * 2020-12-02 2022-12-20 新华三大数据技术有限公司 一种数据同步方法、装置、电子设备及介质
CN114268637B (zh) * 2021-12-22 2024-06-07 北京亚信数据有限公司 一种基于分布式系统的数据资产存储方法及装置
CN114594907A (zh) * 2022-02-24 2022-06-07 百果园技术(新加坡)有限公司 一种数据读写处理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1976496A (zh) * 2006-12-25 2007-06-06 华为技术有限公司 一种交换节点及访问用户数据的方法
CN101123620A (zh) * 2007-08-28 2008-02-13 南京联创科技股份有限公司 大量业务的并发请求的电子数据处理的方法
CN101453398A (zh) * 2007-12-06 2009-06-10 怀特威盛软件公司 一种新型分布式网格超级计算系统及方法
CN101741868A (zh) * 2008-11-14 2010-06-16 北京鑫运泽信科技有限公司 一种多媒体终端及分布式系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1976496A (zh) * 2006-12-25 2007-06-06 华为技术有限公司 一种交换节点及访问用户数据的方法
CN101123620A (zh) * 2007-08-28 2008-02-13 南京联创科技股份有限公司 大量业务的并发请求的电子数据处理的方法
CN101453398A (zh) * 2007-12-06 2009-06-10 怀特威盛软件公司 一种新型分布式网格超级计算系统及方法
CN101741868A (zh) * 2008-11-14 2010-06-16 北京鑫运泽信科技有限公司 一种多媒体终端及分布式系统

Also Published As

Publication number Publication date
CN102760126A (zh) 2012-10-31
HK1172412A1 (zh) 2013-04-19

Similar Documents

Publication Publication Date Title
CN102760126B (zh) 一种分布式系统中的数据同步方法和分布式系统
CN102955845B (zh) 数据访问方法、装置与分布式数据库系统
CN103744906A (zh) 一种数据同步系统、方法及装置
CN103379159B (zh) 一种分布式Web站点数据同步的方法
CN111444274B (zh) 数据同步方法、数据同步系统及其装置、介质和系统
CN103164525B (zh) Web应用发布方法和装置
CN101719165A (zh) 一种实现数据库高效快速备份的方法
CN104133867A (zh) 分布式顺序表片内二级索引方法及系统
US8630980B2 (en) Synchronization framework that restores a node from backup
CN104346373A (zh) 分区日志队列同步管理方法及设备
CN107423404B (zh) 流程实例数据同步处理方法和装置
CN105227657A (zh) 一种数据同步的方法和装置
CN105208060A (zh) 业务数据同步方法、装置及系统
CN105138284A (zh) 虚拟机磁盘镜像同步操作优化的系统及方法
CN110704465A (zh) 一种处理业务工单表的方法、装置及存储介质
CN113177090A (zh) 数据处理方法及装置
CN105607968A (zh) 一种增量备份方法及设备
CN108197170A (zh) 主从同步方法、装置、主服务器及存储介质
CN104285215A (zh) 用于跟踪指令高速缓冲存储器中的附加数据权限的方法和设备
CN102915338A (zh) 一种分布式文件系统数据同步的方法及文件系统
CN115004662A (zh) 数据同步方法、装置、数据存储系统及计算机可读介质
CN106131186A (zh) 一种基于Redis分布式缓存的用电信息采集接口调试方法
CN105511808A (zh) 一种数据操作方法、系统及相关装置
CN105701158A (zh) 一种文件系统读写优化方法及框架
CN109062731A (zh) 一种数据库切换时的幂等控制方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1172412

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1172412

Country of ref document: HK

TR01 Transfer of patent right

Effective date of registration: 20221117

Address after: Room 211, Floor 2, Building 5, No. 699, Wangshang Road, Changhe Street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Hangzhou Alibaba Zhirong Digital Technology Co.,Ltd.

Address before: Box four, 847, capital building, Grand Cayman Island capital, Cayman Islands, UK

Patentee before: ALIBABA GROUP HOLDING Ltd.

TR01 Transfer of patent right