CN103294787A - 分布式数据库系统的多副本存储方法和系统 - Google Patents
分布式数据库系统的多副本存储方法和系统 Download PDFInfo
- Publication number
- CN103294787A CN103294787A CN2013101886072A CN201310188607A CN103294787A CN 103294787 A CN103294787 A CN 103294787A CN 2013101886072 A CN2013101886072 A CN 2013101886072A CN 201310188607 A CN201310188607 A CN 201310188607A CN 103294787 A CN103294787 A CN 103294787A
- Authority
- CN
- China
- Prior art keywords
- data
- copy
- copies
- storage
- node
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种用于分布式数据库系统的多副本存储方法和系统,属于计算机软件领域。系统由主备两个Master节点和多个存储节点以及连接网络组成,为保证系统不因任意节点死亡而影响数据的完整与可用性,本发明包括以下步骤:1数据分片存储,每个数据片采用一主两副存储模型,副本具有完全相同的逻辑结构且分布在不同的物理存储节点上;2用户永远只操作主版本数据,由系统将数据更改实时同步到各副本且保证原子性;3系统通过同步心跳检测节点存活状况,当数据主版本存储节点死亡,主master立即选择一可用副本替换为主版本;4系统定期对存储副本进行检测,修复操作,通过局部存储迁移将副本数过低的数据片迁移至另外的可用存储节点。
Description
技术领域
本发明涉及一种用于分布式数据库系统的多副本存储方法和系统,属于计算机技术领域。
背景技术
数据库存储数据,会遇到各种问题:如磁盘损坏;发生灾难导致系统崩溃,断电停机等使得数据不可避免的会遇到缺失错误不可用等问题。
目前的主流数据库虽然提供了定期的备份与根据需求选择适当的版本恢复等手段,但是因以上问题出现时,必须停关服务维护,对数据使用者造成影响,而有些影响将会是致命的。基于此,我们发明了分布式数据库系统的多副本存储方法和系统,用以解决服务器宕机,磁盘损坏导致服务器上的数据不可用的问题。
Myfox的分布式MySQL集群中间件在云平台上实现了每份数据跨机房冗余,单机故障时受影响分片在集群内迅速自我复制。这个是数据库外部依靠中间件的一种多备份容错解决方案。依赖中间件实现多副本和数据间的同步,是数据库之外实现,本发明是数据库集群内部实现。国产数据库达梦与南大通用的数据库数据存放基于列存放,其三副本同步是基于日志的同步而非实时同步,本发明的存储技术方案是基于行存,数据同步基于实时消息同步机制。
发明内容
本发明的目的在于在当今云计算和分布式数据库存储数据的框架下,提供一种存储多副本容错技术,保证在因断电,宕机等情况导致数据存储节点不可用时仍有可用的数据实时为用户提供服务。
本发明的目的是通过以下技术方案来实现的:
多副本存储容错方法中数据存放于数据片段中,由本发明所述的多副本存储管理系统统一管理调度,该系统由一组Master机组,多个存储节点和连接他们的内部网络构成。Master机通过心跳信号侦测各存储节点的存活状况并管理众多节点,存储节点存储管理数据片段。
多副本存储容错方法,它包括以下步骤:
S1:数据分片存放,对每个数据片段在不同的存储节点上建立一主两副本模型,数据片段的每个副本具有完全相同的逻辑结构,且各副本分布在不同的物理存储节点上,他们通过内部网络连接;
S2:数据更改及同步:每个数据片段有三份存放副本,对用户提供服务时表现为一个主版本,两个副本,此信息记载于主master机,用户的操作永远只发生在主版本,由系统通过底层同步消息机制实时的将数据更改传递至副本所在节点保证主版本与副本的数据一致,且用户对数据的更改操作保证原子性,表现为任意一个副本上的副本操作出错造成回滚,其余副本及主版本全部回滚,只有所有副本都成功执行更改操作,整个更改操作才成功反馈给用户;
S3:副本实时可替换:系统通过同步心跳检测节点存活状况,当发生存储节点死亡时,进行存储节点死亡处理流程:Master机根据记载的信息,对数据片段主版本在死亡节点上的数据片段选择一可用节点副本切换为主版本并更新记载,基于每个副本逻辑结构完全相同,此操作可以方便快捷的进行达到实时可替换的目的;
S4:系统定期对各存储副本进行检测,修复操作:对于数据副本出现损坏,可用副本数减少等问题,根据不同情况提供不同处理手段。对副本间数据不一致的副本损坏,以主版本为参照进行修复,对存储节点死亡导致可用副本数低于警戒值时,实行存储迁移,选择一可用节点创建新副本迁移数据保证可用副本数量。
本发明的有益效果是:
1、数据存储以存储片为单位一主两副本并存,各副本分布于不同存储节点提高容灾能力;
2、数据更新时,各副本经同步消息机制实时同步更新保证数据一致性;
3、各副本逻辑结构完全一致,实现了副本实时切换;
4、定期检测修复,当副本数量过低,发生存储迁移,保证副本维护在一定数量上。
附图说明
图1为本发明三副本存储示意图
图2为本发明存储节点死亡主版本切换副本修复示意图。
(直线箭头表示数据同步,虚线框表示活动节点宕机死亡,弯曲箭头表示存储修复时副本转移至可用节点)
具体实施方式
下面结合附图进一步说明本发明的技术方案,但本发明所保护的内容不局限于以下所述:
如图1所示,多副本存储容错方法,用于分布式数据库存储数据,为实现数据高可用保证在因断电,宕机等情况导致数据存储节点不可用时仍有可用的数据实时为用户提供服务,系统由一组Master机组,多个存储节点和连接他们的内部网络构成。数据分片存放,采用一主两副本存储模型,用户操作主版本数据,系统对数据更新实时同步。
多副本存储容错方法,它包括以下步骤:
S1:数据分片存放,对每个数据片段在不同的存储节点上建立一主两副本模型,数据片段的每个副本具有完全相同的逻辑结构,且各副本分布在不同的物理存储节点上,他们通过内部网络连接;
S2:数据更改及同步:每个数据片段有三份存放,对用户提供服务时表现为一个主版本,两个副本,此信息记载于主master机,用户的操作永远只发生在主版本,由系统通过底层同步消息机制实时的将数据更改传递至副本所在节点保证主版本与副本的数据一致,且用户对数据的更改操作保证原子性,表现为任意一个副本上的副本操作出错造成回滚,其余副本及主版本全部回滚,只有所有副本都成功执行更改操作,整个更改操作才成功反馈给用户;
S3:副本实时可替换:系统通过同步心跳检测节点存活状况,当发生存储节点死亡时,进行存储节点死亡处理流程:Master机根据记载的信息,对数据片段主版本在死亡节点上的数据片段选择一可用节点副本切换为主版本并更新记载,基于每个副本逻辑结构完全相同,此操作可以方便快捷的进行达到实时可替换的目的;
S4:系统定期对各存储副本进行检测,修复操作:对于数据副本出现损坏,可用副本数减少等问题,根据不同情况提供不同处理方式。对副本间数据不一致的副本损坏,以主版本为参照进行修复,对存储节点死亡导致可用副本数低于警戒值时,实行存储迁移,选择一可用节点创建新副本迁移数据保证可用副本数量。
为提高容灾能力,对步骤1中的不同存储机可架设不同机房使用不同的电源。为保证各副本数据同步一致,本系统对步骤2中的数据同步工作通过实时同步消息机制保证。为保证数据的多副本可用性,修复操作通过局部存储迁移将副本数过低的数据片迁移至另外的可用存储节点。
下面结合图进一步说明存储节点死亡数据版本切换和存储修复迁移如图2所示:存储片段tablet_5的一主两副本存储于node1,node2,node3三个节点上,且主版本在node1存储节点上。当存储节点1死亡,经同步心跳检测被master机感知到,进行存储节点死亡处理查询发现tablet_5的主版本在node1上,其余副本在node2,node3上,选择node3上的tablet_5副本切换为主版本。此时tablet_5存储片副本数少1,系统检测修复模块发现tablet_5副本数减少,发生存储修复,选择一可用节点node7,创建tablet_5副本,将数据从现有副本node3上的tablet_5同步到节点node7,此时tablet_5的存储副本数量恢复至一主两副本。
Claims (6)
1.分布式数据库的多副本存储方法与系统,其特征在于:系统由主备Master机组,多个存储节点和连接他们的内部网络构成,数据多副本异节点存放,副本间数据实时同步,任意节点死亡其上的主版本数据立即切换至其余可用节点不影响数据完整与使用,当数据副本数过低时发生存储迁移。
2.根据权利要求1所述的多副本存储方法,其特征在于,它包括以下步骤:
S1:数据分片存放,对数据片的存储采用一主两副本存储模型,每个副本具有完全相同的逻辑结构且各副本分布在不同的物理存储节点上;
S2:用户永远只操作主版本数据,当数据发生更改时由系统将数据更改实时同步到各个副本,该过程具有即时性和原子性,保证数据各副本实时一致;
S3:系统通过同步心跳检测节点存活状况当数据主版本所在存储节点死亡,系统主master立即选择一可用副本替换为主版本;
S4:系统每隔一定时间对各存储副本进行检测,修复操作:对损坏副本进行修复,对因节点死亡造成的副本减少选择一可用节点创建新副本迁移数据。
3.根据权利要求1所述的多副本存储方法,其特征在于,用户对数据的更改发生于主版本数据片段,系统通过底层实时同步消息机制使同样的更改操作发生于其余副本,数据同步过程具有实时性。
4.根据权利要求1所述的多副本存储方法,其特征在于,当所有副本数据更改成功时用户对数据的更改确认完成,否则所有副本撤销回滚,用户对数据的更改操作失败,整个数据更改操作具有原子性。
5.根据权利要求1所述多副本容错机制,其特征在于,基于各副本数据逻辑完全相同,在主版本数据因宕机等原因出错时可以经系统仲裁后选择其中一个副本切换为主版本,并以消息的形式通知其余节点和整个系统。
6.根据权利要求1所述多副本容错机制,其特征在于,数据在副本数在减少到一定数量情况下,发生存储迁移,数据副本死亡的节点上的数据根据其余可用副本,到另外节点建立新副本保证副本数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101886072A CN103294787A (zh) | 2013-05-21 | 2013-05-21 | 分布式数据库系统的多副本存储方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101886072A CN103294787A (zh) | 2013-05-21 | 2013-05-21 | 分布式数据库系统的多副本存储方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103294787A true CN103294787A (zh) | 2013-09-11 |
Family
ID=49095649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101886072A Pending CN103294787A (zh) | 2013-05-21 | 2013-05-21 | 分布式数据库系统的多副本存储方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103294787A (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617195A (zh) * | 2013-11-05 | 2014-03-05 | 杭州沃趣网络科技有限公司 | 一种用于MySQL数据库的数据同步系统和方法 |
CN104461768A (zh) * | 2013-09-22 | 2015-03-25 | 华为技术有限公司 | 副本存储装置及副本存储方法 |
CN104580427A (zh) * | 2014-12-27 | 2015-04-29 | 北京奇虎科技有限公司 | 一种分布式存储系统中的主从平衡方法和装置 |
CN104866430A (zh) * | 2015-04-30 | 2015-08-26 | 上海交通大学 | 结合主从备份和纠删码的内存计算系统高可用优化方法 |
CN105550230A (zh) * | 2015-12-07 | 2016-05-04 | 北京奇虎科技有限公司 | 分布式存储系统节点故障的侦测方法和装置 |
CN105550178A (zh) * | 2014-10-29 | 2016-05-04 | 中兴通讯股份有限公司 | 一种数据库的处理方法、装置及系统 |
CN105550229A (zh) * | 2015-12-07 | 2016-05-04 | 北京奇虎科技有限公司 | 分布式存储系统数据修复的方法和装置 |
CN105589887A (zh) * | 2014-10-24 | 2016-05-18 | 中兴通讯股份有限公司 | 分布式文件系统的数据处理方法及分布式文件系统 |
CN105930498A (zh) * | 2016-05-06 | 2016-09-07 | 中国银联股份有限公司 | 一种分布式数据库的管理方法及系统 |
CN106844487A (zh) * | 2016-12-23 | 2017-06-13 | 航天星图科技(北京)有限公司 | 一种基于库复制的分布式存储系统 |
WO2018201832A1 (zh) * | 2017-05-04 | 2018-11-08 | 中兴通讯股份有限公司 | 一种分布式缓存数据库数据迁移的方法及系统 |
CN109684412A (zh) * | 2018-12-25 | 2019-04-26 | 成都虚谷伟业科技有限公司 | 一种分布式数据库系统 |
CN109815047A (zh) * | 2019-01-04 | 2019-05-28 | 平安科技(深圳)有限公司 | 一种数据处理的方法和相关装置 |
CN110188007A (zh) * | 2019-06-05 | 2019-08-30 | 深圳市网心科技有限公司 | 分布式数据修复方法、装置、网络节点及存储介质 |
CN110489279A (zh) * | 2019-08-27 | 2019-11-22 | 深圳市网心科技有限公司 | 一种文件副本维护方法及相关装置 |
CN112256201A (zh) * | 2020-10-23 | 2021-01-22 | 南京鹏云网络科技有限公司 | 一种分布式块存储系统及其卷信息管理方法 |
CN112711376A (zh) * | 2019-10-25 | 2021-04-27 | 北京金山云网络技术有限公司 | 对象存储系统中对象主副本文件的确定方法及装置 |
CN112711382A (zh) * | 2020-12-31 | 2021-04-27 | 百果园技术(新加坡)有限公司 | 基于分布式系统的数据存储方法、装置和存储节点 |
CN113553217A (zh) * | 2021-07-08 | 2021-10-26 | 广州炒米信息科技有限公司 | 数据恢复方法、装置、存储介质及计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6549920B1 (en) * | 1999-06-03 | 2003-04-15 | Hitachi, Ltd. | Data base duplication method of using remote copy and database duplication storage subsystem thereof |
CN1758604A (zh) * | 2004-10-10 | 2006-04-12 | 中兴通讯股份有限公司 | 分布式系统中保持多个数据副本一致性的方法 |
CN102411639A (zh) * | 2011-12-31 | 2012-04-11 | 曙光信息产业股份有限公司 | 元数据的多副本存储管理方法和系统 |
CN102984009A (zh) * | 2012-12-06 | 2013-03-20 | 北京邮电大学 | 一种基于P2P的VoIP系统容灾备份方法 |
-
2013
- 2013-05-21 CN CN2013101886072A patent/CN103294787A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6549920B1 (en) * | 1999-06-03 | 2003-04-15 | Hitachi, Ltd. | Data base duplication method of using remote copy and database duplication storage subsystem thereof |
CN1758604A (zh) * | 2004-10-10 | 2006-04-12 | 中兴通讯股份有限公司 | 分布式系统中保持多个数据副本一致性的方法 |
CN102411639A (zh) * | 2011-12-31 | 2012-04-11 | 曙光信息产业股份有限公司 | 元数据的多副本存储管理方法和系统 |
CN102984009A (zh) * | 2012-12-06 | 2013-03-20 | 北京邮电大学 | 一种基于P2P的VoIP系统容灾备份方法 |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461768A (zh) * | 2013-09-22 | 2015-03-25 | 华为技术有限公司 | 副本存储装置及副本存储方法 |
WO2015039569A1 (zh) * | 2013-09-22 | 2015-03-26 | 华为技术有限公司 | 副本存储装置及副本存储方法 |
CN104461768B (zh) * | 2013-09-22 | 2018-08-14 | 华为技术有限公司 | 副本存储装置及副本存储方法 |
CN103617195B (zh) * | 2013-11-05 | 2017-08-18 | 杭州沃趣科技股份有限公司 | 一种用于MySQL数据库的数据同步系统和方法 |
CN103617195A (zh) * | 2013-11-05 | 2014-03-05 | 杭州沃趣网络科技有限公司 | 一种用于MySQL数据库的数据同步系统和方法 |
CN105589887A (zh) * | 2014-10-24 | 2016-05-18 | 中兴通讯股份有限公司 | 分布式文件系统的数据处理方法及分布式文件系统 |
CN105550178A (zh) * | 2014-10-29 | 2016-05-04 | 中兴通讯股份有限公司 | 一种数据库的处理方法、装置及系统 |
CN104580427A (zh) * | 2014-12-27 | 2015-04-29 | 北京奇虎科技有限公司 | 一种分布式存储系统中的主从平衡方法和装置 |
CN104580427B (zh) * | 2014-12-27 | 2018-09-04 | 北京奇虎科技有限公司 | 一种分布式存储系统中的主从平衡方法和装置 |
CN104866430A (zh) * | 2015-04-30 | 2015-08-26 | 上海交通大学 | 结合主从备份和纠删码的内存计算系统高可用优化方法 |
CN104866430B (zh) * | 2015-04-30 | 2017-12-15 | 上海交通大学 | 结合主从备份和纠删码的内存计算系统高可用优化方法 |
CN105550229A (zh) * | 2015-12-07 | 2016-05-04 | 北京奇虎科技有限公司 | 分布式存储系统数据修复的方法和装置 |
CN105550230A (zh) * | 2015-12-07 | 2016-05-04 | 北京奇虎科技有限公司 | 分布式存储系统节点故障的侦测方法和装置 |
CN105550229B (zh) * | 2015-12-07 | 2019-05-03 | 北京奇虎科技有限公司 | 分布式存储系统数据修复的方法和装置 |
CN105550230B (zh) * | 2015-12-07 | 2019-07-23 | 北京奇虎科技有限公司 | 分布式存储系统节点故障的侦测方法和装置 |
CN105930498A (zh) * | 2016-05-06 | 2016-09-07 | 中国银联股份有限公司 | 一种分布式数据库的管理方法及系统 |
CN106844487A (zh) * | 2016-12-23 | 2017-06-13 | 航天星图科技(北京)有限公司 | 一种基于库复制的分布式存储系统 |
CN106844487B (zh) * | 2016-12-23 | 2018-09-25 | 航天星图科技(北京)有限公司 | 一种基于库复制的分布式存储系统 |
WO2018201832A1 (zh) * | 2017-05-04 | 2018-11-08 | 中兴通讯股份有限公司 | 一种分布式缓存数据库数据迁移的方法及系统 |
CN108804465A (zh) * | 2017-05-04 | 2018-11-13 | 中兴通讯股份有限公司 | 一种分布式缓存数据库数据迁移的方法及系统 |
CN108804465B (zh) * | 2017-05-04 | 2023-06-30 | 中兴通讯股份有限公司 | 一种分布式缓存数据库数据迁移的方法及系统 |
CN109684412A (zh) * | 2018-12-25 | 2019-04-26 | 成都虚谷伟业科技有限公司 | 一种分布式数据库系统 |
CN109815047A (zh) * | 2019-01-04 | 2019-05-28 | 平安科技(深圳)有限公司 | 一种数据处理的方法和相关装置 |
CN109815047B (zh) * | 2019-01-04 | 2023-03-14 | 平安科技(深圳)有限公司 | 一种数据处理的方法和相关装置 |
CN110188007B (zh) * | 2019-06-05 | 2022-02-15 | 深圳市迅雷网络技术有限公司 | 分布式数据修复方法、装置、网络节点及存储介质 |
CN110188007A (zh) * | 2019-06-05 | 2019-08-30 | 深圳市网心科技有限公司 | 分布式数据修复方法、装置、网络节点及存储介质 |
CN110489279A (zh) * | 2019-08-27 | 2019-11-22 | 深圳市网心科技有限公司 | 一种文件副本维护方法及相关装置 |
WO2021078222A1 (zh) * | 2019-10-25 | 2021-04-29 | 北京金山云网络技术有限公司 | 对象存储系统中对象主副本文件的确定方法及装置 |
CN112711376B (zh) * | 2019-10-25 | 2022-12-23 | 北京金山云网络技术有限公司 | 对象存储系统中对象主副本文件的确定方法及装置 |
CN112711376A (zh) * | 2019-10-25 | 2021-04-27 | 北京金山云网络技术有限公司 | 对象存储系统中对象主副本文件的确定方法及装置 |
CN112256201A (zh) * | 2020-10-23 | 2021-01-22 | 南京鹏云网络科技有限公司 | 一种分布式块存储系统及其卷信息管理方法 |
CN112256201B (zh) * | 2020-10-23 | 2023-10-31 | 南京鹏云网络科技有限公司 | 一种分布式块存储系统及其卷信息管理方法 |
CN112711382A (zh) * | 2020-12-31 | 2021-04-27 | 百果园技术(新加坡)有限公司 | 基于分布式系统的数据存储方法、装置和存储节点 |
CN112711382B (zh) * | 2020-12-31 | 2024-04-26 | 百果园技术(新加坡)有限公司 | 基于分布式系统的数据存储方法、装置和存储节点 |
CN113553217A (zh) * | 2021-07-08 | 2021-10-26 | 广州炒米信息科技有限公司 | 数据恢复方法、装置、存储介质及计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103294787A (zh) | 分布式数据库系统的多副本存储方法和系统 | |
JP5689106B2 (ja) | フォールトトレラント動作をする金融取引所用突き合わせサーバ | |
CN103077242B (zh) | 一种实现数据库服务器双机热备的方法 | |
KR101983405B1 (ko) | 복구 사이트에서 복제된 가상 저장 장치를 관리하는 기법 | |
EP2790112B1 (en) | Method and system for data synchronization and data access apparatus | |
US7974943B2 (en) | Building a synchronized target database | |
CN101706795B (zh) | 主备服务器上数据库数据同步方法 | |
CN102891849B (zh) | 业务数据同步方法、恢复方法及装置和网络设备 | |
WO2017177941A1 (zh) | 主备数据库切换方法和装置 | |
US20070220059A1 (en) | Data processing node | |
EP2919130A1 (en) | Method and system for synchronizing distributed database | |
CN107241430A (zh) | 一种基于分布式存储的企业级容灾系统及容灾控制方法 | |
CN105302667B (zh) | 基于集群架构的高可靠性数据备份与恢复方法 | |
CN104536971A (zh) | 一种具备高可用性的数据库 | |
CN106062717A (zh) | 一种分布式存储复制系统和方法 | |
CN105069160A (zh) | 一种基于自主可控数据库的高可用性方法及构架 | |
CN109189860A (zh) | 一种基于Kubernetes系统的MySQL主备增量同步方法 | |
TW201702874A (zh) | 防止容錯記憶體組織結構中資料損壞及單點故障之技術 | |
WO2016061956A1 (zh) | 分布式文件系统的数据处理方法及分布式文件系统 | |
WO2017014814A1 (en) | Replicating memory volumes | |
CN113254275A (zh) | 一种基于分布式块设备的MySQL高可用架构方法 | |
Zhou et al. | A highly reliable metadata service for large-scale distributed file systems | |
CN103544081B (zh) | 双元数据服务器的管理方法和装置 | |
CN113986450A (zh) | 一种虚拟机备份方法及装置 | |
CN116389233B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130911 |