发明名称 一种异构数据复合对象的事务一致性达成方法与系统
摘要 本发明公开了一种异构数据复合对象的事务一致性达成方法与系统,其方法包括:开始步骤S1、准备步骤S2和执行步骤S3;开始步骤S1包括:发起事务请求:提供多种不同类型的数据源,请求对数据源进行事务处理;设置待处理事务的基本信息;准备步骤S2包括:事务预处理:分别对事务的每一个数据源进行数据更改,得到初步处理结果;保存事务的进程信息:获取事务处理过程中的每一个进程的信息,并进行保存;执行步骤S3包括:依次检查事务所有的进程状态;判断是否满足所有事务进程均成功:根据修改结果进行数据最终修改提交,或者是进行数据回滚;本发明提供一种异构数据复合对象的事务一致性达成方法与系统,维护了异构数据复合对象的事务一致性。
申请公布号 CN105718572B 申请公布日期 2017.03.15
申请号 CN201610039269.X 申请日期 2016.01.21
申请人 成都索贝数码科技股份有限公司 发明人 王炜;温序铭;王熙;孙翔;邹远贵
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 成都金英专利代理事务所(普通合伙) 51218 代理人 袁英
主权项 一种异构数据复合对象的事务一致性达成方法,其特征在于:包括开始步骤S1、准备步骤S2和执行步骤S3;所述的开始步骤S1包括以下子步骤:S11.发起事务请求:提供多种不同类型的数据源,请求对数据源进行事务处理;S12.设置待处理事务的基本信息,基本信息包括事务编号、事务类型和最长响应时间;事务类型中包含的待处理的数据源类型和数目;所述准备步骤S2包括以下子步骤:S21.事务预处理:分别对事务的每一个数据源进行数据更改,得到初步处理结果;S22.保存事务的进程信息:获取事务处理过程中的每一个进程的信息,并进行保存,事务的每一个进程对应着对一个数据源的数据更改;所述的执行步骤S3包括以下子步骤:S31.依次检查事务所有的进程状态;S32.判断是否满足所有事务进程均成功:(1)满足所有事务进程均成功,发送最终数据提交命令,跳转至步骤S33;(2)不满足所有事务进程均成功,发送最终数据回滚命令,并跳转至步骤S34;S33.在数据源中进行数据最终修改和提交,本次操作结束;S34.在数据源中进行数据回滚;所述的步骤S21包括以下子步骤:S211.将数据源分为三类:事务型数据源、A类非事务型数据源和B类非事务型数据源;A类非事务型数据源为只具有插入或者删除操作的非事务性数据源;B类非事务性数据源为具有更新操作的非事务型数据源;S212.对每一个事务型数据源直接进行数据更改;S213.在每一个A类非事务型数据源中,对需要进行删除的数据M添加删除标记m;将需要插入的数据H写入数据源中,并为H添加写入标记h;S214.将每一个B类非事务型数据源的操作语句记录在各自的备用数据库中。
地址 610041 四川省成都市高新区新加坡工业园新元大道南二路2号