一种保证分布式系统数据最终一致性的方法技术方案

技术编号:23050069 阅读:25 留言:0更新日期:2020-01-07 14:46
一种保证分布式系统数据最终一致性的方法,包括以下具体步骤:S1、建立分布式数据库管理系统;S2、将待处理的系统资源A分别发送给分布式数据库管理系统并将其进行记录和存储;S3、将系统资源A的状态标识为初始化系统资源A1;S4、对初始化系统资源A1进行操作:当操作初始化系统资源A1失败或后续流程失败,则降初始化系统资源A1回滚对应资源,并且操作对应初始化系统资源A1标识记录为消费回滚系统资源B;当操作初始化系统资源A1成功且后续流程正常,则将对应的初始化系统资源A的的状态标识更改为消费成功。本发明专利技术能在机器断电宕机等情况下,维护资源状态,以达到各个资源系统的数据的最终一致性。

A method to ensure the final consistency of distributed system data

【技术实现步骤摘要】
一种保证分布式系统数据最终一致性的方法
本专利技术涉及及数据处理
,尤其涉及一种保证分布式系统数据最终一致性的方法。
技术介绍
分布式数据库是一种不是所有的存储装置都被连接到共同的中央处理单元(CPU)的数据库。分布式数据库可以被存储在位于同一物理位置的多台计算机中,或可以分散在处于多个物理位置的互连的计算机网络。分布式系统的位置或场所可能分布在大的区域,或在一个小的区域(如建筑物或校园)。在分布式数据库中的数据集合也可以分布在多个物理位置。随着互联网技术的进步,网上订餐业务迅速发展,外卖服务逐渐被越来越多的人所接受,但是在使用外卖服务时,当机器在断电以及宕机的情况下,如何保证整个交易的一致性,对于分布式系统的设计和开发具有严格的要求;为次,本申请中提出一种保证分布式系统数据最终一致性的方法。
技术实现思路
(一)专利技术目的为解决
技术介绍
中存在的技术问题,本专利技术提出一种保证分布式系统数据最终一致性的方法,本专利技术能在机器断电以及宕机的情况下,维护资源状态,以达到各个资源系统的数据的最终一致性。(二)技术方案为解决上述问题,本专利技术提供了一种保证分布式系统数据最终一致性的方法,包括以下具体步骤:S1、建立分布式数据库管理系统;S2、将待处理的系统资源A分别发送给分布式数据库管理系统并将其进行记录和存储;S3、将系统资源A的状态标识为初始化系统资源A1;S4、对初始化系统资源A1进行操作:当操作初始化系统资源A1失败或后续流程失败,则执行S5;当操作初始化系统资源A1成功且后续流程正常,则执行S6;S5、初始化系统资源A1回滚对应资源,并且操作对应初始化系统资源A1标识记录为消费回滚系统资源B;S6、将对应的初始化系统资源A的的状态标识更改为消费成功。优选的,初始化系统资源A1标识记录为消费回滚系统资源B时,分布式数据库管理系统进行逆向操作,还原交易初始状态包括:分布式数据库管理系统通过远程调用的方式和数据库操作的方式,对消费回滚系统资源B进行逆向操作,读取交易痕迹栈中的数据,还原交易初始状态。优选的,S5中初始化系统资源A1回滚前,对应的worker会定期扫描处于初始化状态资源A,根据资源操作主体信息,判断资源是否需要回滚。优选的,在初始化系统资源A1回滚后,发送消费回滚系统资源B至分布式数据库管理系统。优选的,分布式数据库管理系统对接收到的消费回滚系统资源B进行修复,修复成功则继续执行S3,反之对消费回滚系统资源B进行删除。优选的,分布式数据库管理系统包括接收模块、存储模块、标识模块、操作模块和回滚模块;接收模块与存储模块通讯连接;标识模块分别于接收模块、存储模块和操作模块通讯连接;操作模块与回滚模块通讯连接。优选的,分布式数据库管理系统还包括判断模块;判断模块与回滚模块通讯连接。本专利技术的上述技术方案具有如下有益的技术效果:本专利技术针对机器断电以及宕机的情况下,分布式数据库管理系统会对为成功操作的初始化系统资源A1进行标识为消费回滚系统资源B,并且对应的worker会定期扫描处未操作成功的初始化系统资源A1,根据资源操作主体信息,来决定初始化系统资源A1是否需要回滚,并维护资源状态,以达到各个资源系统的数据的最终一致性。附图说明图1为本专利技术提出的一种保证分布式系统数据最终一致性的方法的方法流程图。图2为本专利技术提出的一种保证分布式系统数据最终一致性的方法中数据管理库系统的原理框图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本专利技术进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本专利技术的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。如图1-2所示,本专利技术提出的一种保证分布式系统数据最终一致性的方法,包括以下具体步骤:S1、建立分布式数据库管理系统;S2、将待处理的系统资源A分别发送给分布式数据库管理系统并将其进行记录和存储;S3、将系统资源A的状态标识为初始化系统资源A1;S4、对初始化系统资源A1进行操作:当操作初始化系统资源A1失败或后续流程失败,则执行S5;当操作初始化系统资源A1成功且后续流程正常,则执行S6;S5、初始化系统资源A1回滚对应资源,并且操作对应初始化系统资源A1标识记录为消费回滚系统资源B;S6、将对应的初始化系统资源A的的状态标识更改为消费成功。在一个可选的实施例中,初始化系统资源A1标识记录为消费回滚系统资源B时,分布式数据库管理系统进行逆向操作,还原交易初始状态包括:分布式数据库管理系统通过远程调用的方式和数据库操作的方式,对消费回滚系统资源B进行逆向操作,读取交易痕迹栈中的数据,还原交易初始状态。在一个可选的实施例中,S5中初始化系统资源A1回滚前,对应的worker会定期扫描处于初始化状态资源A,根据资源操作主体信息,判断资源是否需要回滚。在一个可选的实施例中,在初始化系统资源A1回滚后,发送消费回滚系统资源B至分布式数据库管理系统。在一个可选的实施例中,分布式数据库管理系统对接收到的消费回滚系统资源B进行修复,修复成功则继续执行S3,反之对消费回滚系统资源B进行删除。本专利技术针对机器断电以及宕机的情况下,分布式数据库管理系统会对为成功操作的初始化系统资源A1进行标识为消费回滚系统资源B,并且对应的worker会定期扫描处未操作成功的初始化系统资源A1,根据资源操作主体信息,来决定初始化系统资源A1是否需要回滚,并维护资源状态,以达到各个资源系统的数据的最终一致性。在一个可选的实施例中,分布式数据库管理系统包括接收模块、存储模块、标识模块、操作模块和回滚模块;接收模块与存储模块通讯连接;接收模块与标识模块通讯连接,且接收模块与存储模块通讯连接,接收模块用于接收待处理的系统资源A,并将待处理的系统资源A发送给标识模块;标识模块对待处理的系统资源A的状态标识为初始化系统资源A1,系统资源A和初始化系统资源A1分别存储在存储模块内;操作模块与标识模块和存储模块通讯连接,操作模块用于对初始化系统资源A1进行操作;回滚模块与操作模块通讯连接,回滚模块用于操作失败的初始化系统资源A1或者后续流程失败情况下对初始化系统资源A1进行回滚。在一个可选的实施例中,分布式数据库管理系统还包括判断模块;判断模块与回滚模块通讯连接,判断模块用于判断是否对操作失败的初始化系统资源A1进行回滚。应当理解的是,本专利技术的上述具体实施方式仅仅用于示例性说明或解释本专利技术的原理,而不构成对本专利技术的限制。因此,在不偏离本专利技术的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本专利技术的保护范围之内。此外,本专利技术所附权利要求旨在涵盖落入所附权利要求范围和边本文档来自技高网...

【技术保护点】
1.一种保证分布式系统数据最终一致性的方法,其特征在于,包括以下具体步骤:/nS1、建立分布式数据库管理系统;/nS2、将待处理的系统资源A分别发送给分布式数据库管理系统并将其进行记录和存储;/nS3、将系统资源A的状态标识为初始化系统资源A1;/nS4、对初始化系统资源A1进行操作:/n当操作初始化系统资源A1失败或后续流程失败,则执行S5;/n当操作初始化系统资源A1成功且后续流程正常,则执行S6;/nS5、初始化系统资源A1回滚对应资源,并且操作对应初始化系统资源A1标识记录为消费回滚系统资源B;/nS6、将对应的初始化系统资源A的的状态标识更改为消费成功。/n

【技术特征摘要】
1.一种保证分布式系统数据最终一致性的方法,其特征在于,包括以下具体步骤:
S1、建立分布式数据库管理系统;
S2、将待处理的系统资源A分别发送给分布式数据库管理系统并将其进行记录和存储;
S3、将系统资源A的状态标识为初始化系统资源A1;
S4、对初始化系统资源A1进行操作:
当操作初始化系统资源A1失败或后续流程失败,则执行S5;
当操作初始化系统资源A1成功且后续流程正常,则执行S6;
S5、初始化系统资源A1回滚对应资源,并且操作对应初始化系统资源A1标识记录为消费回滚系统资源B;
S6、将对应的初始化系统资源A的的状态标识更改为消费成功。


2.根据权利要求1所述的一种保证分布式系统数据最终一致性的方法,其特征在于,初始化系统资源A1标识记录为消费回滚系统资源B时,分布式数据库管理系统进行逆向操作,还原交易初始状态包括:
分布式数据库管理系统通过远程调用的方式和数据库操作的方式,对消费回滚系统资源B进行逆向操作,读取交易痕迹栈中的数据,还原交易初始状态。


3.根据权利要求1所述的一种保证分布...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:达疆网络科技上海有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1