[发明专利]一种保证数据一致性的MPP数据库提交控制方法有效
申请号: | 201910794852.5 | 申请日: | 2019-08-27 |
公开(公告)号: | CN110515960B | 公开(公告)日: | 2022-06-10 |
发明(设计)人: | 赵伟;李连成 | 申请(专利权)人: | 江苏华库数据技术有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/27 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 保证 数据一致性 mpp 数据库 提交 控制 方法 | ||
本发明公开了一种保证数据一致性的MPP数据库提交控制方法,具体方法包括以下步骤:按照可用节点数对分片进行排序;当有关键分片时,并行提交非关键分片的第一个节点;更新节点提交状态后,串行提交失败分片的备份节点;提交关键分片成功;并行提交剩余所有分片,并行提交剩余节点之前,每个分片都已经有一个分片提交成功,数据一致性已经得到保证,后面的节点即使提交失败,也不影响集群可用性;设置分片状态;数据自动同步服务启动,恢复损坏节点的数据和状态。本方法能够保证集群数据的强一致性,确保数据库集群整体可用。采用本提交控制方法,不会再出现某个数据分片全部提交失败,而另外分片整体提交成功,导致数据不一致的情况。
技术领域
本发明属于数据库提交控制技术领域,尤其是一种保证数据一致性的MPP数据库提交控制方法。
背景技术
在分布式MPP集群数据库中,为了满足高可用性需求,数据都会进行冗余存储。在系统中采用保存多个副本的方式保存数据,并且同一个数据块的多个副本会放在不同节点上。
在拥有多副本的集群系统中,每个数据块只要有一个副本可用,整个系统就可以正常对外提供服务,提高了系统的高可用性。
在现有MPP集群数据库加载系统中,如果一个数据块的某个副本提交失败,其他副本成功。会对提交失败的副本设置状态,后续数据同步服务会自动从可用副本同步数据至损坏副本,将数据恢复至一致状态。
但在提交过程中,仍然有可能出现所有副本都失败的情况,这样可能导致整个集群不可用,并且还有可能出现数据不一致的情况。
综上所述,需要一种安全可靠的提交控制方法来保证分布式集群数据库的数据一致性。
发明内容
本发明要解决的问题是提供了种保证数据一致性的MPP数据库提交控制方法。
为实现上述目的,本发明提供如下技术方案:一种保证数据一致性的MPP数据库提交控制方法包含以下步骤:
步骤一、查看初始化节点提交状态,按照可用节点数对分片进行排序;
步骤二、当有关键分片时,并行提交非关键分片的第一个节点;没有关键分片时,并行提交每个分片中的第一个节点;看是否有提交失败的节点;有提交失败的节点,更新节点提交状态;无提交失败节点,提交成功;
步骤三、更新节点提交状态后,检查是否满足强一致性限制条件;
如果满足条件,串行提交失败分片的下一个备份节点;
如果不满足条件,设置分片状态;
步骤四、串行提交失败分片的备份节点;串行提交失败分片的下一个备份节点成功后看是否有关键分片,有关键分片,提交关键分片;
步骤五、提交关键分片成功;提交成功接着进行步骤六,提交分片失败进行步骤七;
步骤六、并行提交剩余所有分片,并行提交剩余节点之前,每个分片都已经有一个分片提交成功,数据一致性已经得到保证,后面的节点即使提交失败,也不影响集群可用性;
步骤七、设置分片状态;
如果步骤五执行成功,设置提交失败和不可提交节点状态为不可用;
如果步骤五执行失败,设置提交成功的节点状态为不可用;
步骤八、数据自动同步服务启动,恢复损坏节点(设置状态节点)的数据和状态。
作为优选,所述的每个数据分片至少有一个可用副本。
作为优选,所述的只剩一个可用副本的数据分片数量小于等于1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏华库数据技术有限公司,未经江苏华库数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910794852.5/2.html,转载请声明来源钻瓜专利网。