CN110659300A - 一种保证分布式系统数据最终一致性的方法 - Google Patents

一种保证分布式系统数据最终一致性的方法 Download PDF

Info

Publication number
CN110659300A
CN110659300A CN201910834861.2A CN201910834861A CN110659300A CN 110659300 A CN110659300 A CN 110659300A CN 201910834861 A CN201910834861 A CN 201910834861A CN 110659300 A CN110659300 A CN 110659300A
Authority
CN
China
Prior art keywords
resource
module
system resource
rollback
database management
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
Application number
CN201910834861.2A
Other languages
English (en)
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dajiang Network Technology (shanghai) Co Ltd
Original Assignee
Dajiang Network Technology (shanghai) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dajiang Network Technology (shanghai) Co Ltd filed Critical Dajiang Network Technology (shanghai) Co Ltd
Priority to CN201910834861.2A priority Critical patent/CN110659300A/zh
Publication of CN110659300A publication Critical patent/CN110659300A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, 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)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种保证分布式系统数据最终一致性的方法
技术领域
本发明涉及及数据处理技术领域,尤其涉及一种保证分布式系统数据最终一致性的方法。
背景技术
分布式数据库是一种不是所有的存储装置都被连接到共同的中央处理单元(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进行回滚。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (7)

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所述的一种保证分布式系统数据最终一致性的方法,其特征在于,S5中初始化系统资源A1回滚前,对应的worker会定期扫描处于初始化状态资源A,根据资源操作主体信息,判断资源是否需要回滚。
4.根据权利要求3所述的一种保证分布式系统数据最终一致性的方法,其特征在于,在初始化系统资源A1回滚后,发送消费回滚系统资源B至分布式数据库管理系统。
5.根据权利要求4所述的一种保证分布式系统数据最终一致性的方法,其特征在于,分布式数据库管理系统对接收到的消费回滚系统资源B进行修复,修复成功则继续执行S3,反之对消费回滚系统资源B进行删除。
6.根据权利要求1-5任一项所述的一种保证分布式系统数据最终一致性的方法,其特征在于,分布式数据库管理系统包括接收模块、存储模块、标识模块、操作模块和回滚模块;接收模块与存储模块通讯连接;标识模块分别于接收模块、存储模块和操作模块通讯连接;操作模块与回滚模块通讯连接。
7.根据权利要求6所述的一种保证分布式系统数据最终一致性的方法,其特征在于,分布式数据库管理系统还包括判断模块;判断模块与回滚模块通讯连接。
CN201910834861.2A 2019-09-05 2019-09-05 一种保证分布式系统数据最终一致性的方法 Pending CN110659300A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910834861.2A CN110659300A (zh) 2019-09-05 2019-09-05 一种保证分布式系统数据最终一致性的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910834861.2A CN110659300A (zh) 2019-09-05 2019-09-05 一种保证分布式系统数据最终一致性的方法

Publications (1)

Publication Number Publication Date
CN110659300A true CN110659300A (zh) 2020-01-07

Family

ID=69036764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910834861.2A Pending CN110659300A (zh) 2019-09-05 2019-09-05 一种保证分布式系统数据最终一致性的方法

Country Status (1)

Country Link
CN (1) CN110659300A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113703679A (zh) * 2021-08-23 2021-11-26 北京明略昭辉科技有限公司 一种实现数据一致性的方法、系统、电子设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080154980A1 (en) * 2006-12-21 2008-06-26 International Business Machines Corporation Rollback support in distributed data management systems
CN102306197A (zh) * 2011-09-22 2012-01-04 用友软件股份有限公司 保证跨数据源操作结果一致性的装置和方法
CN106844014A (zh) * 2015-12-07 2017-06-13 阿里巴巴集团控股有限公司 分布式事务防悬挂的实现方法和装置
CN109669809A (zh) * 2018-09-11 2019-04-23 深圳平安财富宝投资咨询有限公司 分布式事务处理方法、分布式系统及计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080154980A1 (en) * 2006-12-21 2008-06-26 International Business Machines Corporation Rollback support in distributed data management systems
CN102306197A (zh) * 2011-09-22 2012-01-04 用友软件股份有限公司 保证跨数据源操作结果一致性的装置和方法
CN106844014A (zh) * 2015-12-07 2017-06-13 阿里巴巴集团控股有限公司 分布式事务防悬挂的实现方法和装置
CN109669809A (zh) * 2018-09-11 2019-04-23 深圳平安财富宝投资咨询有限公司 分布式事务处理方法、分布式系统及计算机可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113703679A (zh) * 2021-08-23 2021-11-26 北京明略昭辉科技有限公司 一种实现数据一致性的方法、系统、电子设备及介质

Similar Documents

Publication Publication Date Title
CN101309167B (zh) 基于集群备份的容灾系统及方法
CN103201724B (zh) 在高可用性虚拟机环境中提供高可用性应用程序
CN102902583B (zh) 在挂起状态和执行状态下管理进程
CN100590595C (zh) 信息处理装置及进程控制方法
CN104156863A (zh) Ota网站的订单处理系统及方法
CN112380227B (zh) 基于消息队列的数据同步方法、装置、设备及存储介质
CN103581225A (zh) 分布式系统中的节点处理任务的方法
CN102308274B (zh) 一种访问关机硬盘的方法、网卡和硬盘卡
CN103955441A (zh) 一种设备管理系统、方法及一种io扩展接口
CN102591668A (zh) 对弹性计算云系统升级的装置、方法及系统
CN109308242A (zh) 一种动态监控方法、装置、设备和存储介质
CN107688512A (zh) 一种优化虚拟机数据备份方法和系统
CN111767127A (zh) 一种业务数据处理方法和装置
CN110659300A (zh) 一种保证分布式系统数据最终一致性的方法
CN101189581B (zh) 用于处理与锁定相关的不一致的方法
CN101771562A (zh) 操作恢复方法、设备及系统
CN116185571B (zh) 数据迁移方法、设备、存储介质及装置
CN111367934B (zh) 数据一致性的检验方法、装置、服务器和介质
CN113412480B (zh) 挂载处理方法、装置、电子设备及计算机可读取存储介质
CN112799879B (zh) 节点的故障处理方法、装置、设备和存储介质
CN101242201B (zh) 一种主备系统维护的方法、系统和装置
CN110163596B (zh) 一种资源额度分享系统及方法
CN113449493A (zh) 基于历史数据生成报告的方法、装置、设备及存储介质
CN106161572A (zh) 一种服务的调用方法和服务器
CN114301927B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200107