CN104376088A - 一种云数据库的分布式同步方法及数据库系统 - Google Patents
一种云数据库的分布式同步方法及数据库系统 Download PDFInfo
- Publication number
- CN104376088A CN104376088A CN201410665568.5A CN201410665568A CN104376088A CN 104376088 A CN104376088 A CN 104376088A CN 201410665568 A CN201410665568 A CN 201410665568A CN 104376088 A CN104376088 A CN 104376088A
- Authority
- CN
- China
- Prior art keywords
- data
- node
- problematic
- daily record
- error
- 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
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明提供一种云数据库的分布式同步方法,包括:在数据库中的每个节点启动数据同步的服务;扫描各个节点的操作日志;将有问题的日志放到恢复队列中;恢复线程会从恢复队列中将问题日志取出,分析数据错误的库名称、表名称、表ID等;寻找相对应表的备份所在的节点;调用同步工具,将正确节点的数据发送到错误节点中;错误节点在接收到同步数据包后,将这些数据保存到自己的硬盘上,从而实现了各个节点间数据的一致性;数据同步的操作完成后,删除有问题的日志。本发明的有益效果是:能及时地发现节点中的错误数据;并且能够自动地进行数据同步的操作,极大地减少了人为操作出错的可能性,增强了云数据库的安全性和可用性。
Description
技术领域
本发明属于云数据库技术领域,尤其是涉及一种云数据库的分布式同步方法及数据库系统。
背景技术
随着大数据时代的来临,为了满足处理海量数据的需要,分布式云数据库被广泛地使用。分布式云数据库是由多台处理单元组成,每个单元内都有独立的CPU、总线、内存、硬盘等,这些单元可能放在不同的位置,每个单元中存储部分数据拷贝的副本。这些处理单元共同组成了一个逻辑上集中、物理上分布的大型数据库。
为了保证数据库的高可用性和高性能,各个处理单元中往往采用互相备份的策略,在某个处理单元损坏不可用时,及时从备份的处理单元中读取数据,确保数据不丢失。由于数据库的提交策略的原因,这种数据存储的方式存在一个问题,互相备份的节点数据可能会不一致。如图1所示,A、B节点均存储了表T的部分数据,A节点中数据记为T1,B节点中数据记为T2,同时A、B节点互相备份,A节点中的T2’为B节点中T2的备份,B节点中的T1’为A节点中T1的备份。
数据库在写入数据时,会由数据分发服务先将T1、T2分别写入A、B节点,然后再将T2’、T1’分别写入A、B节点,如果在写入的过程中失败,则可能造成A、B节点中数据不一致。单纯从存储的数据来说,A、B节点存储的数据是相同的,发现两者数据不一致后,可以采用手工拷贝的方式强制使两者数据一致,但是这种方法在实际应用过程中不现实。具体原因如下:
不能及时发现不一致的问题,发现问题前,可能故障已经存在一段时间了。
这种操作方式依赖操作人员的素质,若不是对节点存储内容非常熟悉,很容易出错。
手工拷贝大量数据耗时较长,为了保证数据拷贝过程中没有变化,可能需要将数据库的服务暂停。
综上所述,需要有一种实时的、自动化的同步方式,来保证节点间数据的一致性。
发明内容
本发明要解决的问题是提供一种云数据库的分布式同步方法及数据库系统,以满足云数据库高可用性和高性能的要求。
本发明采用的设计思想是:在数据库的每个节点中启动数据同步的服务,对每个节点的操作日志进行扫描分析,将有问题的日志放到恢复队列中,恢复线程会从恢复队列中将问题日志取出,分析出数据错误的库名称、表名称等信息,寻找对应的备份节点,然后调用同步工具的服务,将正确节点的数据发送给错误节点。错误节点在接收到同步数据包后,将这些数据保存到自己的硬盘上,从而实现了各个节点间数据的一致性。
为解决上述技术问题,本发明一方面提供一种云数据库的分布式同步方法,包含:
在云数据库中,在各个节点上启动数据同步的服务;
扫描各个节点的操作日志,将有问题的日志放到恢复队列中;
从恢复队列中将有问题的日志取出,分析数据错误的相关数据表信息;
根据数据表信息寻找相对应表的备份所在的节点,调用同步工具,向正确节点发送数据同步请求,错误节点收到正确节点发送的数据包后进行同步操作;
数据同步的操作完成后,删除有问题的日志。
进一步的,所述恢复线程从恢复队列中将有问题的日志取出后,将需要恢复的数据表进行加锁处理,在调用数据同步服务后,再进行解锁处理。
进一步的,所述将正确节点的数据发送到错误节点中进行同步操作时,错误节点在接收到同步数据包后,要对数据包内的数据文件与本地的数据文件进行比较,发现不同的数据文件后,将不同的数据文件保存到存储器上。
进一步的,所述数据错误的相关数据表信息包括所在库名称、表名称、表ID。
为解决上述技术问题,本发明另一方面提供一种数据库系统,包含
启动单元,用于在云数据库中,在各个节点上启动数据同步的服务;
扫描单元,用于扫描各个节点的操作日志,将有问题的日志放到恢复队列中;
分析单元,用于从恢复队列中将有问题的日志取出,分析数据错误的相关数据表信息;
同步单元,用于根据数据表信息寻找相对应表的备份所在的节点,调用同步工具,向正确节点发送数据同步请求,错误节点收到正确节点发送的数据包后进行同步操作;
删除单元,用于在数据同步的操作完成后,删除有问题的日志。
进一步的,所述分析单元在从恢复队列中将有问题的日志取出后,将需要恢复的数据表进行加锁处理;
所述同步单元在调用数据同步服务后,再进行解锁处理。
进一步的,同步单元还实现错误节点在接收到同步数据包后,对数据包内的数据文件与本地的数据文件进行比较,发现不同的数据文件后,将不同的数据文件保存到存储器上。
本发明具有的优点和积极效果是:
本发明方法和系统能及时地发现节点中的错误数据;并且能够自动地进行数据同步的操作,极大地减少了人为操作出错的可能性,增强了云数据库的安全性和可用性。
附图说明
图1是云数据库节点间存储内容互相备份示意图;
图2是本发明同步方法的流程图;
图3是本发明同步方法的示意图;
图4是本发明实施例方法实现过程中主进程工作流程图;
图5是本发明实施例方法实现过程中恢复线工作程流程图;
图6是本发明实施例中数据同步节点间数据交互图。
具体实施方式
下面结合附图1至6对本发明的具体实施例做详细说明。
图2为本发明一实施例提供的云数据库的分布式同步方法的流程图,如图2、3所示,本实施例提供了一种云数据库的分布式同步方法,具体包含如下步骤:
步骤1,在云数据库中,在各个节点上启动数据同步的服务;
步骤2,扫描各个节点的操作日志,将有问题的日志放到恢复队列中;本实施例中在A节点上发现有问题的日志后,将其放到恢复队列中;
步骤3,从恢复队列中将有问题的日志取出,分析数据错误的相关数据表信息;本实施例中获取发生错误的相应数据表的库名称DBx、表名Tx等;
步骤4,根据数据表信息寻找相对应表的备份所在的节点,调用同步工具,向正确节点发送数据同步请求,错误节点收到正确节点发送的数据包后进行同步操作;本实施例中寻找A节点表Tx对应的备份Tx’位于节点B上,A节点将库名称DBx、表名称Tx等信息发送到节点B,节点B在收到同步的请求后,将对应的数据分包发给节点A,节点A收到节点B发送的数据文件后,将数据文件存储到硬盘上;其中节点A与节点B的数据交互过程如图6所示;
步骤5,数据同步的操作完成后,删除有问题的日志;本实施例中为将节点A上的问题日志删除。
本发明另一实施例提供的云数据库的分布式同步方法,在上一实施例步骤3、4的基础上,对步骤3、4进行细化,具体他,本实施例方法包括如下:
从恢复队列中将有问题的日志取出后,将需要恢复的数据表进行加锁处理,在调用数据同步服务后,再进行解锁处理;
错误节点在接收到同步数据包后,要对数据包内的数据文件与本地的数据文件进行比较,发现不同的数据文件后,将不同的数据文件保存到存储器上。
本实施例中由如图4所示的主进程完成步骤1,由如图5所示的恢复线程完成步骤2至5。
本发明一实施例提供了一种数据库系统,包含如下单元:
启动单元,用于在云数据库中,在各个节点上启动数据同步的服务;
扫描单元,用于扫描各个节点的操作日志,将有问题的日志放到恢复队列中;
分析单元,用于从恢复队列中将有问题的日志取出,分析数据错误的相关数据表信息;
同步单元,用于根据数据表信息寻找相对应表的备份所在的节点,调用同步工具,向正确节点发送数据同步请求,错误节点收到正确节点发送的数据包后进行同步操作;
删除单元,用于在数据同步的操作完成后,删除有问题的日志。
本发明实施例所述分析单元在从恢复队列中将有问题的日志取出后,将需要恢复的数据表进行加锁处理;
所述同步单元在调用数据同步服务后,再进行解锁处理。
本发明实施例同步单元还实现错误节点在接收到同步数据包后,对数据包内的数据文件与本地的数据文件进行比较,发现不同的数据文件后,将不同的数据文件保存到存储器上。
以上对本发明的一个实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。
Claims (7)
1.一种云数据库的分布式同步方法,其特征在于,包含:
在云数据库中,在各个节点上启动数据同步的服务;
扫描各个节点的操作日志,将有问题的日志放到恢复队列中;
从恢复队列中将有问题的日志取出,分析数据错误的相关数据表信息;
根据数据表信息寻找相对应表的备份所在的节点,调用同步工具,向正确节点发送数据同步请求,错误节点收到正确节点发送的数据包后进行同步操作;
数据同步的操作完成后,删除有问题的日志。
2.根据权利要求1所述的云数据库的分布式同步方法,其特征在于:所述恢复线程从恢复队列中将有问题的日志取出后,将需要恢复的数据表进行加锁处理,在调用数据同步服务后,在进行解锁处理。
3.根据权利要求1所述的云数据库的分布式同步方法,其特征在于:所述将正确节点的数据发送到错误节点中进行同步操作时,错误节点在接收到同步数据包后,要对数据包内的数据文件与本地的数据文件进行比较,发现不同的数据文件后,将不同的数据文件保存到存储器上。
4.根据权利要求1所述的,其特征在于:所述数据错误的相关数据表信息包括所在库名称、表名称、表ID。
5.一种数据库系统,其特征在于,包含
启动单元,用于在云数据库中,在各个节点上启动数据同步的服务;
扫描单元,用于扫描各个节点的操作日志,将有问题的日志放到恢复队列中;
分析单元,用于从恢复队列中将有问题的日志取出,分析数据错误的相关数据表信息;
同步单元,用于根据数据表信息寻找相对应表的备份所在的节点,调用同步工具,向正确节点发送数据同步请求,错误节点收到正确节点发送的数据包后进行同步操作;
删除单元,用于在数据同步的操作完成后,删除有问题的日志。
6.根据权利要求5所述的数据库系统,其特征在于:所述分析单元再从恢复队列中将有问题的日志取出后,将需要恢复的数据表进行加锁处理;
所述同步单元在调用数据同步服务后,在进行解锁处理。
7.根据权利要求5所述的数据库系统,其特征在于:同步单元还实现错误节点在接收到同步数据包后,对数据包内的数据文件与本地的数据文件进行比较,发现不同的数据文件后,将不同的数据文件保存到存储器上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410665568.5A CN104376088A (zh) | 2014-11-19 | 2014-11-19 | 一种云数据库的分布式同步方法及数据库系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410665568.5A CN104376088A (zh) | 2014-11-19 | 2014-11-19 | 一种云数据库的分布式同步方法及数据库系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104376088A true CN104376088A (zh) | 2015-02-25 |
Family
ID=52554995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410665568.5A Pending CN104376088A (zh) | 2014-11-19 | 2014-11-19 | 一种云数据库的分布式同步方法及数据库系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104376088A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106776018A (zh) * | 2016-12-01 | 2017-05-31 | 三星(中国)半导体有限公司 | 用于分布式系统的主节点和从节点的并行处理方法和设备 |
CN106802895A (zh) * | 2015-11-26 | 2017-06-06 | 阿里巴巴集团控股有限公司 | 用于修复数据库备库数据的方法和设备 |
CN106844363A (zh) * | 2015-12-03 | 2017-06-13 | 阿里巴巴集团控股有限公司 | 用于数据库进行物理热备及数据恢复的方法和设备 |
CN106896792A (zh) * | 2017-01-24 | 2017-06-27 | 北京广利核系统工程有限公司 | 数据同步方法及装置 |
WO2018137145A1 (zh) * | 2017-01-24 | 2018-08-02 | 北京广利核系统工程有限公司 | 数据同步方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719165A (zh) * | 2010-01-12 | 2010-06-02 | 山东高效能服务器和存储研究院 | 一种实现数据库高效快速备份的方法 |
CN101923573A (zh) * | 2010-08-09 | 2010-12-22 | 哈尔滨工程大学 | 一种针对数据丢失的数据库数据快速恢复方法 |
CN102033786A (zh) * | 2010-11-04 | 2011-04-27 | 天津曙光计算机产业有限公司 | 一种对象存储系统中修复副本一致性的方法 |
CN103873501A (zh) * | 2012-12-12 | 2014-06-18 | 华中科技大学 | 一种云备份系统及其数据备份方法 |
-
2014
- 2014-11-19 CN CN201410665568.5A patent/CN104376088A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719165A (zh) * | 2010-01-12 | 2010-06-02 | 山东高效能服务器和存储研究院 | 一种实现数据库高效快速备份的方法 |
CN101923573A (zh) * | 2010-08-09 | 2010-12-22 | 哈尔滨工程大学 | 一种针对数据丢失的数据库数据快速恢复方法 |
CN102033786A (zh) * | 2010-11-04 | 2011-04-27 | 天津曙光计算机产业有限公司 | 一种对象存储系统中修复副本一致性的方法 |
CN103873501A (zh) * | 2012-12-12 | 2014-06-18 | 华中科技大学 | 一种云备份系统及其数据备份方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106802895A (zh) * | 2015-11-26 | 2017-06-06 | 阿里巴巴集团控股有限公司 | 用于修复数据库备库数据的方法和设备 |
CN106802895B (zh) * | 2015-11-26 | 2020-06-02 | 阿里巴巴集团控股有限公司 | 用于修复数据库备库数据的方法和设备 |
CN106844363A (zh) * | 2015-12-03 | 2017-06-13 | 阿里巴巴集团控股有限公司 | 用于数据库进行物理热备及数据恢复的方法和设备 |
CN106844363B (zh) * | 2015-12-03 | 2021-01-29 | 阿里巴巴集团控股有限公司 | 用于数据库进行物理热备及数据恢复的方法和设备 |
CN106776018A (zh) * | 2016-12-01 | 2017-05-31 | 三星(中国)半导体有限公司 | 用于分布式系统的主节点和从节点的并行处理方法和设备 |
CN106776018B (zh) * | 2016-12-01 | 2020-09-01 | 三星(中国)半导体有限公司 | 用于分布式系统的主节点和从节点的并行处理方法和设备 |
CN106896792A (zh) * | 2017-01-24 | 2017-06-27 | 北京广利核系统工程有限公司 | 数据同步方法及装置 |
WO2018137145A1 (zh) * | 2017-01-24 | 2018-08-02 | 北京广利核系统工程有限公司 | 数据同步方法及装置 |
CN106896792B (zh) * | 2017-01-24 | 2019-08-13 | 北京广利核系统工程有限公司 | 数据同步方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209726B (zh) | 分布式数据库集群系统、数据同步方法及存储介质 | |
US11068449B2 (en) | Data migration method, apparatus, and storage medium | |
CN110347746B (zh) | 一种异构数据库同步数据一致性校验方法及装置 | |
CN104376088A (zh) | 一种云数据库的分布式同步方法及数据库系统 | |
CN105868343B (zh) | 数据库迁移方法及系统 | |
WO2018098972A1 (zh) | 一种日志恢复方法、存储装置和存储节点 | |
CN106815326B (zh) | 一种检测无主键数据表一致性的系统及方法 | |
CN105824846B (zh) | 数据迁移方法及装置 | |
CN110309161B (zh) | 一种数据同步方法、装置及服务器 | |
US20120303761A1 (en) | Breakpoint continuous transmission method | |
CN105376277B (zh) | 一种数据同步方法及装置 | |
CN104202375A (zh) | 同步数据的方法及系统 | |
WO2017088705A1 (zh) | 数据处理方法和装置 | |
KR101922044B1 (ko) | 데이터베이스 이중화 무중단 정합성 복구 기법 | |
US20110137874A1 (en) | Methods to Minimize Communication in a Cluster Database System | |
CN105426427A (zh) | 基于raid 0 存储的mpp 数据库集群副本实现方法 | |
CN105574187A (zh) | 一种异构数据库复制事务一致性保障方法及系统 | |
US20120278429A1 (en) | Cluster system, synchronization controlling method, server, and synchronization controlling program | |
US20210165768A1 (en) | Replication Barriers for Dependent Data Transfers between Data Stores | |
WO2017113694A1 (zh) | 文件同步方法、装置及系统 | |
US11928352B2 (en) | Maintaining the benefit of parallel splitting of ops between primary and secondary storage clusters in synchronous replication while adding support for op logging and early engagement of op logging | |
CN104965835B (zh) | 一种分布式文件系统的文件读写方法及装置 | |
US8527454B2 (en) | Data replication using a shared resource | |
CN105635311A (zh) | 一种云管理平台中资源池信息同步的方法 | |
CN106354566A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150225 |
|
RJ01 | Rejection of invention patent application after publication |