【技术实现步骤摘要】
一种与数据库交互数据的方法和装置
本专利技术涉及计算机领域,尤其涉及一种与数据库交互数据的方法和装置。
技术介绍
分布式事务处理是指一个事务可能涉及多个数据库操作。分布式事务处理的关键是必须有一种方法可以知道事务在任何地方所做的所有动作,提交或回滚事务的决定必须产生统一的结果,即:全部提交或全部回滚。XA两阶段事务提交协议是X/OPEN组织定义的一个用于分布式事务环境下的两阶段提交协议,用于确保多个参与事务的资源之间的数据一致性和完整性。目前主流的数据库和消息中间件服务器都支持XA协议。在需要提交事务时,调用每个XAResource的XAResource.papare来收集投票结果,如果所有的XAResource都返回XAResource.XA_COMMIT,则可以提交事务,调用XAResource.commit来提交事务。如果在第一阶段中,如果参与事务的XAResource,有一个不同意提交,则调用XAResource.rollback来回滚事务。JTA是JavaTransactionAPI的简称,JTA底层会使用XA两阶段提交协议来与XA资源(数据库、消息中间件等)进行交互。通常的事务提交流程如下:(1)划分原子性操作参见图1是现有技术中划分每个XARResource的原子性工作示意图。用开始标识即XAResource.start和结束标识即XAResource.end划分每个XA资源上的原子性工作。位于XAResource.start和XAResource.end之间的工作,要么提交,要么回滚。事务的原子性是指,事务中包含的程序作为数据库的逻辑工作单 ...
【技术保护点】
1.一种与数据库交互数据的方法,其特征在于,包括:依据全局事务中参与到事务的本地XA资源数目,以及所述全局事务中参与到事务的远程分支数目,确定调用阶段;利用开始标识和结束标识划分原子性操作;按照调用阶段向数据库提交开始标识与结束标识之间的事务;或,按照调用阶段从数据库回滚开始标识与结束标识之间的事务。
【技术特征摘要】
1.一种与数据库交互数据的方法,其特征在于,包括:依据全局事务中参与到事务的本地XA资源数目,以及所述全局事务中参与到事务的远程分支数目,确定调用阶段;利用开始标识和结束标识划分原子性操作;按照调用阶段向数据库提交开始标识与结束标识之间的事务;或,按照调用阶段从数据库回滚开始标识与结束标识之间的事务。2.根据权利要求1所述与数据库交互数据的方法,其特征在于,所述依据全局事务中参与到事务的本地XA资源的数目,以及所述全局事务中参与到事务的远程分支,确定调用阶段,包括:参与到事务的本地XA资源数目大于1,所述全局事务中参与到事务的远程分支数目为0,确定包括阶段1、非XA事务提交和阶段2的调用阶段;所述按照调用阶段向数据库提交开始标识与结束标识之间的事务,包括:在开始标识后开始投票,阶段1中XA资源均返回确定信息;向非XA资源成功提交非XA事务;阶段2中向XA资源提交XA事务,在结束标识前确认完成XA事务提交;所述按照调用阶段从数据库回滚开始标识与结束标识之间的事务,包括:在开始标识后开始投票,阶段1中XA资源均返回确定信息;向非XA资源提交非XA事务失败;阶段2中向XA资源提交XA事务,在结束标识前回滚XA事务。3.根据权利要求2所述与数据库交互数据的方法,其特征在于,所述依据全局事务中参与到事务的本地XA资源的数目,以及所述全局事务中参与到事务的远程分支,确定调用阶段,包括:参与到事务的本地XA资源数目大于1,所述全局事务中参与到事务的远程分支数目为0,确定包括阶段1、非XA事务提交和阶段2的调用阶段;所述按照调用阶段向数据库提交开始标识与结束标识之间的事务,包括:在开始标识后开始投票,阶段1中XA资源均返回确定信息;向XA资源成功提交非XA事务;阶段2中向XA资源提交XA事务,在结束标识前确认完成XA事务提交;所述按照调用阶段从数据库回滚开始标识与结束标识之间的事务,包括:在开始标识后开始投票,阶段1中XA资源均返回确定信息;向XA资源提交非XA事务失败;阶段2中向XA资源提交XA事务,在结束标识前回滚XA事务。4.根据权利要求1所述与数据库交互数据的方法,其特征在于,所述依据全局事务中参与到事务的本地XA资源数目,以及所述全局事务中参与到事务的远程分支数目,确定调用阶段,包括:参与到事务的本地XA资源数目为1,所述全局事务中参与到事务的远程分支数目为0,确定包括阶段1的调用阶段;所述按照调用阶段向数据库提交开始标识与结束标识之间的事务,包括:在开始标识后开始投票,阶段1中向XA资源提交XA事务,在结束标识前确认完成XA事务提交;所述按照调用阶段从数据库回滚开始标识与结束标识之间的事务,包括:在开始标识后开始投票,阶段1中向XA资源提交XA事务,在结束标识前回滚XA事务。5.根据权利要求1所述与数据库交互数据的方法,其特征在于,所述依据全局事务中参与到事务的本地XA资源的数目,以及所述全局事务中参与到事务的远程分支,确定调用阶段,包括:参与到事务的本地XA资源数目大于等于1,所述全局事务中参与到事务的远程分支数目为1,确定包括阶段1和阶段2的调用阶段;所述按照调用阶段向数据库提交开始标识与结束标识之间的事务,包括:在开始标识后阶段1中,本地XA资源均返回确定信...
【专利技术属性】
技术研发人员:章兴旺,杨运良,
申请(专利权)人:中国移动通信集团江西有限公司,中国移动通信集团公司,
类型:发明
国别省市:江西,36
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。