CN106168915A - 分布式系统架构数据处理一致性保障方法 - Google Patents
分布式系统架构数据处理一致性保障方法 Download PDFInfo
- Publication number
- CN106168915A CN106168915A CN201610259122.1A CN201610259122A CN106168915A CN 106168915 A CN106168915 A CN 106168915A CN 201610259122 A CN201610259122 A CN 201610259122A CN 106168915 A CN106168915 A CN 106168915A
- Authority
- CN
- China
- Prior art keywords
- calls
- activity
- promoter
- xts
- rollback
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种分布式数据中心技术领域,具体为一种分布式系统架构数据处理一致性保障方法,其特征在于通过预提交和提交完成分布式事务保障数据的一致性,实现了云计算环境下企业级分布式系统数据一致性保障,为下一步深入研究与建设做好技术储备与实现基础。该方法在应用层面通过“模拟”的方式实现2PC协议,解决XA规范覆盖不到的非数据库操作,并对使用者侵入少,要求较低。
Description
技术领域
本发明涉及一种分布式数据中心技术领域,具体为一种分布式系统架构数据处理一致性保障方法。
背景技术
传统主-备模式的数据中心只是简单的软硬件资源的堆砌。正常情况下,主用数据中心对外提供业务,备用数据中心处于闲置状态。只有在发生灾难宕机的情况下,业务系统才从主用中心迁移到备用中心来。然而,灾难往往只是小概率事件,企业投入大量人力和物力建设的备用中心大多时候都是处于闲置状态,资源使用率极低。在传统的主备中心模式之下,数据中心设备利用效率低下,业务连续性不高。当某个业务出现问题的情况下,只能做整体的主备倒换,切换风险很大。
分布式数据中心的出现,让我们找到了优化投资利用率、保证业务连续性的新思路。因此,公司计划建设分布式数据中心,提高业务连续性,提高灾备中心的资源利用效率,同时实现分业务的自动切换,即某业务故障,仅迁移该业务,迁移过程不影响其他核心业务正常运行,降低故障切换的风险。建设分布式数据中心成为保证公司业务连续性的必然选择。然而,建设分布式双活数据中心需要网络系统、存储系统、计算资源甚至包括应用系统等多个IT系统之间紧密合作,是一个庞大的系统工程。在分布式环境中,对数据的操作是分布在不同的计算节点上的,若分布式数据不一致,会造成系统的不可用,为了解决上述问题,分布式系统构架需要具备事务处理能力,保证事务处理的原子性、一致性、独立性与持久性。
在这个应用层面的分布式事务,目前知名的几个商业云计算平台都未做标准规范,目前属于业界领域的空白。
发明内容
针对分布式系统构架数据处理一致性保障不佳的问题,本发明提供一种分布式系统架构数据处理一致性保障方法。
本发明的分布式系统架构数据处理一致性保障方法,其特征在于该方法通过以下步骤实现:
1)发起者启动本地事务;
2)发起者调用xts接口,开始分布式事务,活动管理器生成事务id并持久化事务活动;
3)预提交阶段:发起者调用业务操作,运行时参与者通过操作调用拦截器拦截业务操作,并对该业务进行注册操作,活动管理器将该事务操作持久化,并将该次操作加入到当前事务活动中;
4)提交阶段:若发起者发现某调用返回结果异常或调用异常,回滚发起者本地事务,然后回滚事务活动;若发起者调用返回结果或调用正常,提交本地事务,并提交事务活动。
5)提交及回滚事务活动完成后调用xts删除接口将该次事务活动删除。
所述的提交及回滚事务活动,其特征在于包括下述步骤:
a. 定时任务服务执行xts回查任务,调用xts回查接口;
b. xts调用发起者回查接口(isDone),根据返回结果更新事务活动状态;
c. 根据事务活动状态提交/回滚各事务操作。
在标准的XA规范里,两阶段提交的过程中,第一阶段各资源管理器执行预提交,并给调用者返回结果,如果每个资源管理器的预提交都是正常的,第二阶段由事务管理器发起提交操作;如果有各资源管理器预提交过程中有一个发生失败,那么资源管理器会使整个事务的所有参与者都执行回滚。全程所操作的分支事务操作都会持久化到日志中,以便在提交失败或其他异常状况出现后重新发起审查和恢复操作,确保事务一致性。在XA中的Database和驱动程序自身能够支持两阶段提交的特性。
xts(分布式事务服务)实现两阶段的思想是一样的。主要的区别除了实际接口和实现不同之外,xts对两阶段的实现只是对数据库预提交和提交/回滚的一个模拟,所以,xts也不需要数据库及其JDBC驱动程序必须内部支持分布式事务。所有的操作其实都是通过在应用逻辑来进行模拟的。也就是说,在xts中所谓第一阶段的预提交其实都已经是数据库层面的真正的提交,即使数据库及其JDBC驱动支持分布式事务,我们也不使用它;而第二阶段的提交操作根据各参与者而定,参与者应用系统可以去更改一个标志位以便表示第一阶段的“预提交”已经完成了,实际上甚至可以什么都不做。也就是说只要有数据库操作,都是实质上的提交。因此回滚也只是一个反向的数据库数据操作,把第一阶段中插入的数据删除掉,删除的数据插入回去,或者把第一阶段升级的数据重新升级回去。在xts中并不存在XA规范中的那种本质上的数据库“预提交”操作,这种操作都事务参与者在“模拟”的。
本发明的分布式系统架构数据处理一致性保障方法, 实现了云计算环境下企业级分布式系统数据一致性保障,为下一步深入研究与建设做好技术储备与实现基础。该方法在应用层面通过“模拟”的方式实现2PC协议,解决XA规范覆盖不到的非数据库操作,并对使用者侵入少,要求较低。
另外,为了解决业务需求,分布式系统规模可能会逐渐增大,分布式事务处理吞吐能力也需要提高,xts服务可以进行分布式部署并通过节点扩展来提升处理能力,从而进一步提高系统对外业务处理量。除了解决数据库的分布式事务处理,也可以用于解决其他需要纳入到分布式事务的资源操作,例如文件服务操作、消息服务操作等。
附图说明
图1为本发明的保障方法的逻辑框图。
具体实施方式
实施例1:本发明的分布式系统架构数据处理一致性保障方法,其特征在于该方法通过以下步骤实现:
1)发起者启动本地事务;
2)发起者调用xts接口,开始分布式事务,活动管理器生成事务id并持久化事务活动;
3)预提交阶段:发起者调用业务操作,运行时参与者通过操作调用拦截器拦截业务操作,并对该业务进行注册操作,活动管理器将该事务操作持久化,并将该次操作加入到当前事务活动中;
4)提交阶段:若发起者发现某调用返回结果异常或调用异常,回滚发起者本地事务,然后回滚事务活动;若发起者调用返回结果或调用正常,提交本地事务,并提交事务活动;
5)提交及回滚事务活动完成后调用xts删除接口将该次事务活动删除。
所述的提交及回滚事务活动,其特征在于包括下述步骤:
a. 定时任务服务执行xts回查任务,调用xts回查接口;
b. xts调用发起者回查接口(isDone),根据返回结果更新事务活动状态;
c. 根据事务活动状态提交/回滚各事务操作。
Claims (2)
1.分布式系统架构数据处理一致性保障方法,其特征在于该方法通过以下步骤实现:
1)发起者启动本地事务;
2)发起者调用xts接口,开始分布式事务,活动管理器生成事务id并持久化事务活动;
3)预提交阶段:发起者调用业务操作,运行时参与者通过操作调用拦截器拦截业务操作,并对该业务进行注册操作,活动管理器将该事务操作持久化,并将该次操作加入到当前事务活动中;
4)提交阶段:若发起者发现某调用返回结果异常或调用异常,回滚发起者本地事务,然后回滚事务活动;若发起者调用返回结果或调用正常,提交本地事务,并提交事务活动;
5)提交及回滚事务活动完成后调用xts删除接口将该次事务活动删除。
2.如权利要求1所述的分布式系统架构数据处理一致性保障方法,其特征在于所述的提交及回滚事务活动,包括下述步骤:
a.定时任务服务执行xts回查任务,调用xts回查接口;
b.xts调用发起者回查接口(isDone),根据返回结果更新事务活动状态;
c.根据事务活动状态提交/回滚各事务操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610259122.1A CN106168915A (zh) | 2016-04-25 | 2016-04-25 | 分布式系统架构数据处理一致性保障方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610259122.1A CN106168915A (zh) | 2016-04-25 | 2016-04-25 | 分布式系统架构数据处理一致性保障方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106168915A true CN106168915A (zh) | 2016-11-30 |
Family
ID=57359035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610259122.1A Pending CN106168915A (zh) | 2016-04-25 | 2016-04-25 | 分布式系统架构数据处理一致性保障方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106168915A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874076A (zh) * | 2017-01-21 | 2017-06-20 | 浙江沛宏网络科技有限公司 | 分布式事务处理方法 |
CN106874130A (zh) * | 2017-02-06 | 2017-06-20 | 西多多信息科技(北京)有限公司 | 一种微服务架构中分布式事务的处理方法 |
CN107622119A (zh) * | 2017-09-21 | 2018-01-23 | 深圳智盾信息技术有限公司 | 一种分布式跨数据库保持事务一致性的方法及系统 |
CN108038141A (zh) * | 2017-11-27 | 2018-05-15 | 国云科技股份有限公司 | 微服务架构http交互模式下保证数据一致性的方法 |
CN108845866A (zh) * | 2018-06-28 | 2018-11-20 | 阿里巴巴集团控股有限公司 | 处理分布式事务的方法和装置 |
CN109491766A (zh) * | 2018-10-10 | 2019-03-19 | 阿里巴巴集团控股有限公司 | 一种事务消息的投递方法、装置、系统及消息服务器 |
CN109491767A (zh) * | 2018-11-13 | 2019-03-19 | 上海联寓智能科技有限公司 | 分布式事务的处理方法和分布式系统 |
CN110083439A (zh) * | 2019-05-23 | 2019-08-02 | 北京奥鹏远程教育中心有限公司 | 分布式事务系统 |
CN117149798A (zh) * | 2023-11-01 | 2023-12-01 | 建信金融科技有限责任公司 | 业务变更处理方法、装置、设备、介质及程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521028A (zh) * | 2011-12-02 | 2012-06-27 | 华中科技大学 | 一种分布式环境下的事务内存系统 |
CN102760154A (zh) * | 2012-05-23 | 2012-10-31 | 上海引跑信息科技有限公司 | 一种在文本信息检索服务中支持分布式事务管理的方法 |
CN103473318A (zh) * | 2013-09-12 | 2013-12-25 | 中国科学院软件研究所 | 一种面向内存数据网格的分布式事务保障方法 |
US20140108484A1 (en) * | 2012-10-10 | 2014-04-17 | Tibero Co., Ltd. | Method and system for optimizing distributed transactions |
-
2016
- 2016-04-25 CN CN201610259122.1A patent/CN106168915A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521028A (zh) * | 2011-12-02 | 2012-06-27 | 华中科技大学 | 一种分布式环境下的事务内存系统 |
CN102760154A (zh) * | 2012-05-23 | 2012-10-31 | 上海引跑信息科技有限公司 | 一种在文本信息检索服务中支持分布式事务管理的方法 |
US20140108484A1 (en) * | 2012-10-10 | 2014-04-17 | Tibero Co., Ltd. | Method and system for optimizing distributed transactions |
CN103473318A (zh) * | 2013-09-12 | 2013-12-25 | 中国科学院软件研究所 | 一种面向内存数据网格的分布式事务保障方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874076B (zh) * | 2017-01-21 | 2019-08-30 | 浙江沛宏网络科技有限公司 | 分布式事务处理方法 |
CN106874076A (zh) * | 2017-01-21 | 2017-06-20 | 浙江沛宏网络科技有限公司 | 分布式事务处理方法 |
CN106874130A (zh) * | 2017-02-06 | 2017-06-20 | 西多多信息科技(北京)有限公司 | 一种微服务架构中分布式事务的处理方法 |
CN107622119A (zh) * | 2017-09-21 | 2018-01-23 | 深圳智盾信息技术有限公司 | 一种分布式跨数据库保持事务一致性的方法及系统 |
CN108038141A (zh) * | 2017-11-27 | 2018-05-15 | 国云科技股份有限公司 | 微服务架构http交互模式下保证数据一致性的方法 |
CN108845866B (zh) * | 2018-06-28 | 2021-06-29 | 创新先进技术有限公司 | 处理分布式事务的方法和装置 |
CN108845866A (zh) * | 2018-06-28 | 2018-11-20 | 阿里巴巴集团控股有限公司 | 处理分布式事务的方法和装置 |
CN109491766A (zh) * | 2018-10-10 | 2019-03-19 | 阿里巴巴集团控股有限公司 | 一种事务消息的投递方法、装置、系统及消息服务器 |
CN109491767A (zh) * | 2018-11-13 | 2019-03-19 | 上海联寓智能科技有限公司 | 分布式事务的处理方法和分布式系统 |
CN110083439A (zh) * | 2019-05-23 | 2019-08-02 | 北京奥鹏远程教育中心有限公司 | 分布式事务系统 |
CN110083439B (zh) * | 2019-05-23 | 2021-10-01 | 北京奥鹏远程教育中心有限公司 | 分布式事务系统 |
CN117149798A (zh) * | 2023-11-01 | 2023-12-01 | 建信金融科技有限责任公司 | 业务变更处理方法、装置、设备、介质及程序产品 |
CN117149798B (zh) * | 2023-11-01 | 2024-02-02 | 建信金融科技有限责任公司 | 业务变更处理方法、装置、设备、介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106168915A (zh) | 分布式系统架构数据处理一致性保障方法 | |
CN109493076B (zh) | 一种Kafka消息唯一消费方法、系统、服务器及存储介质 | |
CN110990182B (zh) | 事务处理方法、装置、设备及存储介质 | |
CN108280080B (zh) | 一种数据同步方法、装置以及电子设备 | |
EP2600246B1 (en) | Batch processing of business objects | |
US8738568B2 (en) | User-defined parallelization in transactional replication of in-memory database | |
US7640249B2 (en) | System and method for transactional session management | |
CN110309161B (zh) | 一种数据同步方法、装置及服务器 | |
CN107437222B (zh) | 基于银行柜面前端的联机业务数据的处理方法及系统 | |
EP4072097A1 (en) | Method and device for dynamically adding consensus node in blockchain | |
CN102073540A (zh) | 分布式事务提交方法和装置 | |
CN105930498A (zh) | 一种分布式数据库的管理方法及系统 | |
CN103559245A (zh) | 一种分布式事务提交故障的处理方法、装置和系统 | |
EP3869434B1 (en) | Blockchain-based data processing method and apparatus, device, and medium | |
CN103995868A (zh) | 面向分布式系统的全局事务管理器及事务处理方法 | |
CN110224899B (zh) | 一种tcp应用的调用链获取方法及装置 | |
WO2022134797A1 (zh) | 一种数据分片存储方法、装置、计算机设备和存储介质 | |
CN103780686A (zh) | 一种云组织内自定义申请审批流程的方法及系统 | |
CN109002462A (zh) | 一种实现分布式事物的方法及系统 | |
CN112925614A (zh) | 一种分布式事务处理方法、装置、介质和设备 | |
CN110177144B (zh) | 一种基于私有云一键复制应用环境的方法 | |
CN110427427B (zh) | 一种通过引脚桥接实现全局事务分布式处理方法 | |
US7716523B2 (en) | End-to-end transactional protection for requests in a web application | |
CN113297159A (zh) | 数据存储方法以及装置 | |
US10944850B2 (en) | Methods, devices and systems for non-disruptive upgrades to a distributed coordination engine in a distributed computing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20161130 |
|
WD01 | Invention patent application deemed withdrawn after publication |