CN110784532A - 双向数据同步方法及*** - Google Patents
双向数据同步方法及*** Download PDFInfo
- Publication number
- CN110784532A CN110784532A CN201911022320.6A CN201911022320A CN110784532A CN 110784532 A CN110784532 A CN 110784532A CN 201911022320 A CN201911022320 A CN 201911022320A CN 110784532 A CN110784532 A CN 110784532A
- Authority
- CN
- China
- Prior art keywords
- data
- cloud platform
- instruction
- synchronization method
- bidirectional
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种双向数据同步方法及***。所述方法包括:获取数据源云平台的数据更新指令;对所述数据更新指令进行事务处理;通过数据目的云平台提供的接口服务,将经过了事务处理的数据更新指令同步至数据目的云平台。本发明提供的双向数据同步方法及***能够实现不同云平台之间的数据解耦,实现跨云平台的数据高可用。
Description
技术领域
本发明涉及云计算技术领域,特别是涉及一种双向数据同步方法及***。
背景技术
目前为了保证应用服务的的高可用,动态调配应用服务能力,提高企业市场竞争力。企业大多会选择对接多个云资源提供商,将应用部署在不同服务商的云资源上。以此来保证,”不将所有鸡蛋放在一个篮子里”。但是,云资源服务商之间是没有任何关联。当其中一个云资源出现故障,就会造成当前平台的应用处于不可用状态,影响业务的正常运行,这将会对企业造成巨额的损失。
目前现有的技术方案是通过保证数据库的公用性,来保证跨云应用的数据同步性。这种方式是最简单的,也是较为低成本的做到跨云应用的数据同步性。保证数据库的公用性,就是通过本地机房提供数据的存储服务,通过专线接入到云资源上,部署在不同的云服务商的应用访问的是相同的数据源。
如图1所示,为数据库公用性双云数据同步的解决方案。从图1中可以看出该方案具有的缺点有:
1.数据高度耦合。如若本地机房和云平台链入备阻隔,如专线被中断。
两个平台的将丧失服务能力。
2.可扩展性差。单一平台改动会影响另一平台的使用。
3.资源利用度低。云资源平台有丰富的生态圈,该结构单一没有充分利用到现有的云资源。
发明内容
本发明要解决的技术问题是提供一种双向数据同步方法及***,能够实现不同云平台之间的数据解耦,实现跨云平台的数据高可用。
为解决上述技术问题,本发明提供了一种双向数据同步方法,所述方法包括:获取数据源云平台的数据更新指令;对所述数据更新指令进行事务处理;通过数据目的云平台提供的接口服务,将经过了事务处理的数据更新指令同步至数据目的云平台。
在一些实施方式中,所述数据更新指令包括:create指令、delete指令、update指令、insert指令。
在一些实施方式中,获取数据源云平台的数据更新指令,包括:通过数据源云平台的消息队列,获取数据源云平台的数据更新指令。
在一些实施方式中,所述消息队列包括:Redis消息队列。
在一些实施方式中,Redis消息队列中存储有在数据源云平台的数据库中已经执行的数据更新指令的执行数据。
在一些实施方式中,所述数据更新指令的执行数据依据执行的时间顺序逐条存储。
在一些实施方式中,对所述数据更新指令进行事务处理,包括:对所述数据更新指令进行解析,得到所述数据更新指令中的关键参数;根据所述关键参数,对所述数据更新指令进行事务记录。
在一些实施方式中,通过数据目的云平台提供的接口服务,将经过了事务处理的数据更新指令同步至数据目的云平台,包括:根据所述事务记录,将未经过同步处理的数据更新指令同步至数据目的云平台。
此外,本发明还提供了一种双向数据同步***,所述***包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的双向数据同步方法。
采用这样的设计后,本发明至少具有以下优点:
本发明既保证的不同的云平台上的应用的独立性,同时做到了对现有平台应用的数据结构零改动的影响,唯一要做的就是对migration模块的应用的开发和维护,极大的降低了企业的实现跨云高可用的成本。
附图说明
上述仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,以下结合附图与具体实施方式对本发明作进一步的详细说明。
图1是现有技术提供的数据库公用性的网络结构图;
图2是本发明实施例提供的双向数据同步方法的应用网络结构图;
图3是本发明实施例提供的双向数据同步方法的流程图;
图4是本发明实施例提供的双向数据同步***的结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图2示出了本发明实施例提供的双向数据同步方法所应用的网络环境。参见图2,在双向数据同步方法所涉及的两个云平台中,除了各自所部署的应用服务之外,还分别配备有各自的后台数据库***及消息队列。
每个云平台的后台数据库***在作用在于对该云平台提供的云服务提供后台数据支持。例如,在提供云服务过程中需要使用的各个关键的数据表、索引均可以由后台数据库***来提供。
每个云平台各自的后台数据库***均是独立运行的。因此,在使用两个云平台分别作为主备,保证云服务的可用性时,主云平台的后台数据库***与备用云平台的后台数据库***之间会存在数据不同步的问题。
可以理解的是,在各自独立运行的过程中,主云平台的后台数据库和备用云平台的后台数据库会分别执行各自的数据更新指令。此处所将的数据更新指令是指对数据库的存储结构和存储内容会有改变的指令。这样的指令可以有:create指令、delete指令、update指令、insert指令。
消息队列的作用在于存储在数据源云平台的数据库中已经执行的数据更新指令的执行数据。换言之,在每个云平台上,只要后台数据库执行一次数据更新指令,属于该云平台的消息队列中就存储一个相应的消息。典型的,消息队列是指Redis消息队列。
需要注意的是,上述的云平台,其中的数据库以及消息队列均部署于云端。
另外,为了实现两个云平台之间的数据同步,在本地机房部署migration模块。migration模块根据每个云平台上消息队列中存储的消息,向另外一侧的云平台执行数据同步。此时,作为消息来源的云平台就是数据源云平台,而另外一个云平台就是数据目的云平台。并且,migration模块能够实现在两个云平台之间的双向同步。也就是说,数据源云平台既可以是主云平台,也可以是备用云平台。
图3示出了本发明实施例提供的双向数据同步方法的流程。由于在本发明实施例中,上述的双向数据同步方法由本地部署的migration模块执行,图3示出的流程也就是migration模块所执行的流程。参见图3,双向数据同步方法包括:
S31,获取数据源云平台的数据更新指令。
S32,对所述数据更新指令进行事务处理。
S33,通过数据目的云平台提供的接口服务,将经过了事务处理的数据更新指令同步至数据目的云平台。
在图3示出的双向数据同步方法的执行流程中,对数据更新指令执行的事务处理主要是指对于指令执行操作的事务记录。更为具体,上述的事务处理包括:对所述数据更新指令进行解析,得到所述数据更新指令中的关键参数;根据所述关键参数,对所述数据更新指令进行事务记录。
由于对指令执行进行了事务记录,通过数据目的云平台提供的接口服务,将经过了事务处理的数据更新指令同步至数据目的云平台,包括:根据所述事务记录,将未经过同步处理的数据更新指令同步至数据目的云平台。
当前双云数据同步是具有很大的扩展性,比如:可以做到多云同步,不止限制于两个云平台之间。migration模块可以进行持续的开发维护.保证数据的高可靠。
图4是本发明双向数据同步***的结构图。参见图4,双向数据同步***包括:中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有***操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,本领域技术人员利用上述揭示的技术内容做出些许简单修改、等同变化或修饰,均落在本发明的保护范围内。
Claims (9)
1.一种双向数据同步方法,其特征在于,包括:
获取数据源云平台的数据更新指令;
对所述数据更新指令进行事务处理;
通过数据目的云平台提供的接口服务,将经过了事务处理的数据更新指令同步至数据目的云平台。
2.根据权利要求1所述的双向数据同步方法,其特征在于,所述数据更新指令包括:create指令、delete指令、update指令、insert指令。
3.根据权利要求1所述的双向数据同步方法,其特征在于,获取数据源云平台的数据更新指令,包括:
通过数据源云平台的消息队列,获取数据源云平台的数据更新指令。
4.根据权利要求3所述的双向数据同步方法,其特征在于,所述消息队列包括:Redis消息队列。
5.根据权利要求4所述的双向数据同步方法,其特征在于,Redis消息队列中存储有在数据源云平台的数据库中已经执行的数据更新指令的执行数据。
6.根据权利要求5搜书的双向数据同步方法,其特征在于,所述数据更新指令的执行数据依据执行的时间顺序逐条存储。
7.根据权利要求1所述的双向数据同步方法,其特征在于,对所述数据更新指令进行事务处理,包括:
对所述数据更新指令进行解析,得到所述数据更新指令中的关键参数;
根据所述关键参数,对所述数据更新指令进行事务记录。
8.根据权利要求7所述的双向数据同步方法,其特征在于,通过数据目的云平台提供的接口服务,将经过了事务处理的数据更新指令同步至数据目的云平台,包括:
根据所述事务记录,将未经过同步处理的数据更新指令同步至数据目的云平台。
9.一种双向数据同步***,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1至8任意一项所述的双向数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911022320.6A CN110784532B (zh) | 2019-10-25 | 2019-10-25 | 双向数据同步方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911022320.6A CN110784532B (zh) | 2019-10-25 | 2019-10-25 | 双向数据同步方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110784532A true CN110784532A (zh) | 2020-02-11 |
CN110784532B CN110784532B (zh) | 2021-09-07 |
Family
ID=69387764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911022320.6A Active CN110784532B (zh) | 2019-10-25 | 2019-10-25 | 双向数据同步方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110784532B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1536791A (zh) * | 2003-04-04 | 2004-10-13 | 北京圣世祺科技开发有限公司 | 发射台自动化及技术设备远程监控*** |
CN102629268A (zh) * | 2012-03-09 | 2012-08-08 | 华为技术有限公司 | 数据同步方法、***及数据访问装置 |
CN102693324A (zh) * | 2012-01-09 | 2012-09-26 | 西安电子科技大学 | 一种分布式数据库同步***、同步方法和节点管理方法 |
CN103631907A (zh) * | 2013-11-26 | 2014-03-12 | 中国科学院信息工程研究所 | 一种将关系型数据迁移至HBase的方法及*** |
US8725684B1 (en) * | 2011-03-31 | 2014-05-13 | Amazon Technologies, Inc. | Synchronizing data stores |
CN103793514A (zh) * | 2014-02-11 | 2014-05-14 | 华为技术有限公司 | 数据库同步方法及数据库 |
CN104268234A (zh) * | 2014-09-26 | 2015-01-07 | 东软集团股份有限公司 | 一种基于sql语句的数据同步方法和装置 |
CN105373599A (zh) * | 2015-10-28 | 2016-03-02 | 北京汇商融通信息技术有限公司 | 基于多种数据存储平台的数据迁移*** |
CN106202365A (zh) * | 2016-07-07 | 2016-12-07 | 帅斌鹏 | 数据库更新同步的方法、***及数据库集群 |
CN108512693A (zh) * | 2018-02-24 | 2018-09-07 | 国家计算机网络与信息安全管理中心 | 一种跨区域容灾方法和装置 |
CN108897895A (zh) * | 2018-07-12 | 2018-11-27 | 浪潮软件集团有限公司 | 基于云消息服务平台实现跨网闸Mysql数据库同步的装置及方法 |
CN108932309A (zh) * | 2018-06-15 | 2018-12-04 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 跨平台数据库管理方法、装置、计算机设备和存储介质 |
CN109634978A (zh) * | 2018-12-18 | 2019-04-16 | 钛马信息网络技术有限公司 | 数据读取一致性***及方法 |
CN109669812A (zh) * | 2018-11-27 | 2019-04-23 | 武汉烽火信息集成技术有限公司 | 基于数据分流备份的云数据中心容灾***及方法 |
CN109885617A (zh) * | 2019-01-29 | 2019-06-14 | 中国工商银行股份有限公司 | 分布式异构数据库***的数据同步方法及装置 |
CN109933630A (zh) * | 2019-03-19 | 2019-06-25 | 武汉达梦数据库有限公司 | 数据库数据实时同步方法及设备 |
CN109947801A (zh) * | 2019-02-25 | 2019-06-28 | 交通银行股份有限公司 | 数据库数据同步***、方法及装置 |
CN109977168A (zh) * | 2019-03-18 | 2019-07-05 | 武汉达梦数据库有限公司 | 基于数据页预加载的数据库数据同步方法及设备 |
-
2019
- 2019-10-25 CN CN201911022320.6A patent/CN110784532B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1536791A (zh) * | 2003-04-04 | 2004-10-13 | 北京圣世祺科技开发有限公司 | 发射台自动化及技术设备远程监控*** |
US8725684B1 (en) * | 2011-03-31 | 2014-05-13 | Amazon Technologies, Inc. | Synchronizing data stores |
CN102693324A (zh) * | 2012-01-09 | 2012-09-26 | 西安电子科技大学 | 一种分布式数据库同步***、同步方法和节点管理方法 |
CN102629268A (zh) * | 2012-03-09 | 2012-08-08 | 华为技术有限公司 | 数据同步方法、***及数据访问装置 |
CN103631907A (zh) * | 2013-11-26 | 2014-03-12 | 中国科学院信息工程研究所 | 一种将关系型数据迁移至HBase的方法及*** |
CN103793514A (zh) * | 2014-02-11 | 2014-05-14 | 华为技术有限公司 | 数据库同步方法及数据库 |
CN104268234A (zh) * | 2014-09-26 | 2015-01-07 | 东软集团股份有限公司 | 一种基于sql语句的数据同步方法和装置 |
CN105373599A (zh) * | 2015-10-28 | 2016-03-02 | 北京汇商融通信息技术有限公司 | 基于多种数据存储平台的数据迁移*** |
CN106202365A (zh) * | 2016-07-07 | 2016-12-07 | 帅斌鹏 | 数据库更新同步的方法、***及数据库集群 |
CN108512693A (zh) * | 2018-02-24 | 2018-09-07 | 国家计算机网络与信息安全管理中心 | 一种跨区域容灾方法和装置 |
CN108932309A (zh) * | 2018-06-15 | 2018-12-04 | 上海陆家嘴国际金融资产交易市场股份有限公司 | 跨平台数据库管理方法、装置、计算机设备和存储介质 |
CN108897895A (zh) * | 2018-07-12 | 2018-11-27 | 浪潮软件集团有限公司 | 基于云消息服务平台实现跨网闸Mysql数据库同步的装置及方法 |
CN109669812A (zh) * | 2018-11-27 | 2019-04-23 | 武汉烽火信息集成技术有限公司 | 基于数据分流备份的云数据中心容灾***及方法 |
CN109634978A (zh) * | 2018-12-18 | 2019-04-16 | 钛马信息网络技术有限公司 | 数据读取一致性***及方法 |
CN109885617A (zh) * | 2019-01-29 | 2019-06-14 | 中国工商银行股份有限公司 | 分布式异构数据库***的数据同步方法及装置 |
CN109947801A (zh) * | 2019-02-25 | 2019-06-28 | 交通银行股份有限公司 | 数据库数据同步***、方法及装置 |
CN109977168A (zh) * | 2019-03-18 | 2019-07-05 | 武汉达梦数据库有限公司 | 基于数据页预加载的数据库数据同步方法及设备 |
CN109933630A (zh) * | 2019-03-19 | 2019-06-25 | 武汉达梦数据库有限公司 | 数据库数据实时同步方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110784532B (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112099918B (zh) | 容器化环境中的集群的实时迁移 | |
US5784617A (en) | Resource-capability-based method and system for handling service processor requests | |
CN112069265B (zh) | 配置数据的同步方法、业务数据***、计算机***和介质 | |
US20100023564A1 (en) | Synchronous replication for fault tolerance | |
CN107729176B (zh) | 一种配置文件管理***的容灾方法及容灾*** | |
US8082344B2 (en) | Transaction manager virtualization | |
CN110795503A (zh) | 分布式存储***的多集群数据同步方法及相关装置 | |
CN109783151B (zh) | 规则变更的方法和装置 | |
CN109245908B (zh) | 一种主从集群切换的方法和装置 | |
CN112199427A (zh) | 一种数据处理方法和*** | |
AU2020399282B2 (en) | Controlling transaction requests between applications and servers | |
JP2016144169A (ja) | 通信システム、キュー管理サーバ、及び、通信方法 | |
US8156374B1 (en) | Problem management for outsized queues | |
CN113079098B (zh) | 路由更新的方法、装置、设备和计算机可读介质 | |
US11645109B2 (en) | Managing failures in edge computing environments | |
US11662928B1 (en) | Snapshot management across cloud provider network extension security boundaries | |
CN110784532B (zh) | 双向数据同步方法及*** | |
US10353735B2 (en) | Computing system including independent coupling facilities maintaining equivalency based on sequence values | |
US11792289B2 (en) | Live socket redirection | |
CN111008202A (zh) | 分布式事务处理方法和框架 | |
US10481963B1 (en) | Load-balancing for achieving transaction fault tolerance | |
US11327785B2 (en) | Computing system including enhanced application performance based on last completed operation sequence value | |
US10310921B2 (en) | Computing system including PLSO command to maintain equivalency between independent coupling facilities | |
CN112883103A (zh) | 集群间数据转移的方法和装置 | |
CN111277632B (zh) | ***集群中应用管理的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |