分布式系统架构数据处理一致性保障方法与流程

文档序号:11807718阅读:461来源:国知局

本发明涉及一种分布式数据中心技术领域,具体为一种分布式系统架构数据处理一致性保障方法。



背景技术:

传统主-备模式的数据中心只是简单的软硬件资源的堆砌。正常情况下,主用数据中心对外提供业务,备用数据中心处于闲置状态。只有在发生灾难宕机的情况下,业务系统才从主用中心迁移到备用中心来。然而,灾难往往只是小概率事件,企业投入大量人力和物力建设的备用中心大多时候都是处于闲置状态,资源使用率极低。在传统的主备中心模式之下,数据中心设备利用效率低下,业务连续性不高。当某个业务出现问题的情况下,只能做整体的主备倒换,切换风险很大。

分布式数据中心的出现,让我们找到了优化投资利用率、保证业务连续性的新思路。因此,公司计划建设分布式数据中心,提高业务连续性,提高灾备中心的资源利用效率,同时实现分业务的自动切换,即某业务故障,仅迁移该业务,迁移过程不影响其他核心业务正常运行,降低故障切换的风险。建设分布式数据中心成为保证公司业务连续性的必然选择。然而,建设分布式双活数据中心需要网络系统、存储系统、计算资源甚至包括应用系统等多个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. 根据事务活动状态提交/回滚各事务操作。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1