[发明专利]一种与数据库交互数据的方法和装置有效
申请号: | 201710133177.2 | 申请日: | 2017-03-07 |
公开(公告)号: | CN108572959B | 公开(公告)日: | 2021-03-05 |
发明(设计)人: | 章兴旺;杨运良 | 申请(专利权)人: | 中国移动通信集团江西有限公司;中国移动通信集团公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/2458 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 尹红敏 |
地址: | 330024*** | 国省代码: | 江西;36 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 交互 数据 方法 装置 | ||
一种与数据库交互数据的方法和装置,包括:依据全局事务中参与到事务的本地XA资源数目,以及所述全局事务中参与到事务的远程分支数目,确定调用阶段;利用开始标识和结束标识划分原子性操作;按照调用阶段向数据库提交开始标识与结束标识之间的事务;或,按照调用阶段从数据库回滚开始标识与结束标识之间的事务。能够减少对XA资源的加锁时间,进而保障系统处理事务的能力。
技术领域
本发明涉及计算机领域,尤其涉及一种与数据库交互数据的方法和装置。
背景技术
分布式事务处理是指一个事务可能涉及多个数据库操作。分布式事务处理的关键是必须有一种方法可以知道事务在任何地方所做的所有动作,提交或回滚事务的决定必须产生统一的结果,即:全部提交或全部回滚。
XA两阶段事务提交协议是X/OPEN组织定义的一个用于分布式事务环境下的两阶段提交协议,用于确保多个参与事务的资源之间的数据一致性和完整性。目前主流的数据库和消息中间件服务器都支持XA协议。
在需要提交事务时,调用每个XAResource的XAResource.papare来收集投票结果,如果所有的XAResource都返回XAResource.XA_COMMIT,则可以提交事务,调用XAResource.commit来提交事务。如果在第一阶段中,如果参与事务的XAResource,有一个不同意提交,则调用XAResource.rollback来回滚事务。
JTA是Java Transaction API的简称,JTA底层会使用XA两阶段提交协议来与XA资源(数据库、消息中间件等)进行交互。
通常的事务提交流程如下:
(1)划分原子性操作
参见图1是现有技术中划分每个XARResource的原子性工作示意图。用开始标识即XAResource.start和结束标识即XAResource.end划分每个XA资源上的原子性工作。位于XAResource.start和XAResource.end之间的工作,要么提交,要么回滚。
事务的原子性是指,事务中包含的程序作为数据库的逻辑工作单元,它所做的对数据修改操作要么全部执行,要么完全不执行。
(2)提交事务
参见图2是现有技术中两阶段事务提交示意图。在事务需要提交时,调用每个XA资源的XAResource.papare来收集结果,如果所有的XA资源都返回XAResource.XA_COMMIT,则可以提交事务,调用XAResource.commit来向数据库提交事务。
(3)回滚事务
参见图3是现有技术中两阶段事务回滚示意图。如果在第一阶段中,参与事务的XAResource,有一个不同意提交,则调用XAResource.rollback来从数据库回滚事务。
为了确保数据的一致性,XA协议采用严格的两阶段协议来提交事务。由于每次事务提交都需要同XA资源进行多次交互,导致使用XA协议来提交事务的系统事务处理能力较低。严格按照XA两阶段协议来提交事务,每次事务提交时都需要针对每个参与到事务中的XA资源进行投票统计和提交事务两步操作,投票阶段和事务提交阶段会对XA资源中的数据资源加锁以保证数据一致性,加锁的时间越长,越会降低系统处理事务的能力。
发明内容
本发明实施例提供了一种与数据库交互数据的方法,能够减少对XA资源的加锁时间,进而保障系统处理事务的能力。
本发明实施例还提供了一种与数据库交互数据的装置,能够减少对XA资源的加锁时间,进而保障系统处理事务的能力。
一种与数据库交互数据的方法,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团江西有限公司;中国移动通信集团公司,未经中国移动通信集团江西有限公司;中国移动通信集团公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710133177.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据处理方法及装置
- 下一篇:地名消岐方法和地名消岐装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置