【技术实现步骤摘要】
本专利技术涉及一种异构数据复合对象的事务一致性达成方法与系统。
技术介绍
现有的技术的复合对象的事务一致性的方法,不能实现异构数据复合对象的事务一致性。事务是访问或更新各种数据项的程序执行单元,事务提交时数据必须是一致的;事务具有ACID(Atomicity原子性、Consistency一致性、Isolation独立性、Durability持久性)的特点;事务由若干个任务组成异构数据复合对象:指由不同类型的数据源管理的数据构成的对象,可能同时包括事务型数据源和非事务型数据源。事务型数据源是指像关系型数据库一样读写操作都是事务的数据源,具有ACID特点,在对事务型数据源进行处理的过程中,事务中的每一项都成功才算事务成功,此时需要提交,事务中任意一项不成功时事务失败,需要执行回滚操作。非事务型数据源指像非关系型数据库、文件系统、索引这种没有事务的特性,对数据操作即执行,自动提交,没有回滚功能的数据源。而异构数据复合对象同时包括事务型数据源和非事务型数据源,由多个不同类型的存储系统协同实现,在事务的处理中 ...
【技术保护点】
一种异构数据复合对象的事务一致性达成方法,其特征在于:包括开始步骤S1、准备步骤S2和执行步骤S3;所述的开始步骤S1包括以下子步骤:S11.发起事务请求:提供多种不同类型的数据源,请求对数据源进行事务处理;S12.设置待处理事务的基本信息,基本信息包括事务编号、事务类型和最长响应时间;事务类型中包含的待处理的数据源类型和数目;所述准备步骤S2包括以下子步骤:S21.事务预处理:分别对事务的每一个数据源进行数据更改,得到初步处理结果;S22.保存事务的进程信息:获取事务处理过程中的每一个进程的信息,并进行保存,事务的每一个进程对应着对一个数据源的数据更改;所述的执行步骤S3 ...
【技术特征摘要】
1.一种异构数据复合对象的事务一致性达成方法,其特征在于:包括开始步骤S1、准备步骤S2和执行步骤S3;
所述的开始步骤S1包括以下子步骤:
S11.发起事务请求:提供多种不同类型的数据源,请求对数据源进行事务处理;
S12.设置待处理事务的基本信息,基本信息包括事务编号、事务类型和最长响应时间;事务类型中包含的待处理的数据源类型和数目;
所述准备步骤S2包括以下子步骤:
S21.事务预处理:分别对事务的每一个数据源进行数据更改,得到初步处理结果;
S22.保存事务的进程信息:获取事务处理过程中的每一个进程的信息,并进行保存,事务的每一个进程对应着对一个数据源的数据更改;
所述的执行步骤S3包括以下子步骤:
S31.依次检查事务所有的进程状态;
S32.判断是否满足所有事务进程均成功:
(1)满足所有事务进程均成功,发送最终数据提交命令,跳转至步骤S33;
(2)不满足所有事务进程均成功,发送最终数据回滚命令,并跳转至步骤S34;
S33.在数据源中进行数据最终修改和提交,本次操作结束;
S34.在数据源中进行数据回滚。
2.根据权利要求1所述的一种异构数据复合对象的事务一致性达成方法,其特征在于:所述的步骤S21包括以下子步骤:
S211.将数据源分为三类:事务型数据源、A类非事务型数据源和B类非事务型数据源;A类非事务型数据源为只具有插入或者删除操作的非事务性数据源;B类非事务性数据源为具有更新操作的非事务型数据源;
S212.对每一个事务型数据源直接进行数据更改;
S213.在每一个A类非事务型数据源中,对需要进行删除的数据M添加删除标记m;将需要插入的数据H写入数据源中,并为H添加写入标记h;
S214.将每一个B类非事务型数据源的操作语句记录在各自的备用数据库中。
3.根据权利要求1所述的一种异构数据复合对象的事务一致性达成方法,其特征在于:所述的步骤S32包括以下子步骤:
S321.对事务中每一个数据源的进程信息进行检查,判断是否出现进程失败的状态;
(1)如果事务的进程出现失败的状态,不满足所有事务进程均成功,发送最终数据回滚命令,并跳转至步骤S34;
(2)如果事务的进程中未出现失败的状态,跳转至步骤S322;
S322.在事务操作时间达到最长响应时间后,统计事务的进程数,并比较进程数与事务类型中记录的数据源数目:
(1)事务的进程数小于事务类型中记录的数据源数目,表示存在...
【专利技术属性】
技术研发人员:王炜,温序铭,王熙,孙翔,邹远贵,
申请(专利权)人:成都索贝数码科技股份有限公司,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。