【技术实现步骤摘要】
本专利技术涉及的是一种计算机应用
的方法,具体是一种基于网格的自 动产生补偿事务的方法。技术背景由于网络延迟和商业过程的交互,即使在没有并发事务的情况下,商业事务 一般也会持续比较长的时间,因而也被称为长事务。为了减少资源被占用的时间, 提高资源利用率和系统性能,组成长事务的子事务应该在全局事务结束之前提交 并释放其占用的资源。如果某些子事务失败或用户需要选择提交结果时,对已提 交子事务的撤销必须用执行相反任务的补偿事务来完成。1987年Garcia-Molina等人在《Proceedings of International Conference on Management of Data, ACM SIGMOD Record 16(3)》(ACM SIGM0D论文集16 巻第3期)上发表了 Sagas(—种长事务模型),该文提出了一种减少长事务资 源占用时间的方法,即将长事务拆分成一组预先定义好执行顺序的子事务L(1《 i《n),并为每个子事务编写一个补偿事务Ci(l《i《n),每个补偿事务G能语义 地撤消由Ti的提交对系统产生的影响。该方法中,每一个子事务被允许单独提交, 并立即释放其占用的资源,以提高资源的利用率。基于该模型,有不少人对此作 了进一步的改进。经对现有技术文献的检索发现,Nodine等在《Proceedings of the Twenty-Seventh Hawai i International Conference on System Sciences》(IEEE 第27届Hawaii国际系统科学会议论文集)中基于Sa ...
【技术保护点】
一种基于网格的补偿事务自动产生方法,其特征在于,包括如下步骤:首先创建针对数据修改事件产生补偿操作的行级触发器,然后由补偿事务产生器始终监视着子事务的执行;其次当影响系统状态的事件发生时,补偿事务产生器根据事件的类型调用相应的行级触发器,自动产生从语义上撤销该事件影响的补偿操作;最后,当子事务提交时,补偿事务产生器将该子事务执行过程中所产生的补偿操作组合成补偿事务,完成自动产生补偿事务。
【技术特征摘要】
1、一种基于网格的补偿事务自动产生方法,其特征在于,包括如下步骤首先创建针对数据修改事件产生补偿操作的行级触发器,然后由补偿事务产生器始终监视着子事务的执行;其次当影响系统状态的事件发生时,补偿事务产生器根据事件的类型调用相应的行级触发器,自动产生从语义上撤销该事件影响的补偿操作;最后,当子事务提交时,补偿事务产生器将该子事务执行过程中所产生的补偿操作组合成补偿事务,完成自动产生补偿事务。2、 根据权利要求l所述的基于网格的补偿事务自动产生方法,其特征是, 所述的行级触发器,是指基于数据库的触发器机制创建的针对数据修改事件而 产生语义相反的补偿操作的三个存储过程模块,分别用于补偿更新、插入、删除 三种语句,动态产生相应数据修改事件的补偿操作,行级触发器根据数据表中行 的标识符对被修改的所有行进行补偿,不需要逐行匹配记录。3、 根据权利要求1或2所述的基于网格的补偿事务自动产生方法,其特征 是,所述行级触发器,其创建需要提供数据表的名字,根据名字从用户表视图中 获得数据表的结构信息,包括所有字段名称以及字段的数据类型,因为数据库的 USER—TAB—COLUMNS视图提供了静态数据词典视图,静态数据词典视图描述了视 图的相关结构信息,每个数据表产生插入行级触发器,更新行级触发器,删除行 级触发器三个存储过程模块,即三个行级触发器,它们分别用于补偿插入、更新、 删除语句,三个行级触发器的输入参数都是其服务的数据表名称,当被调用时, 它们产生补偿插入、更新、删除的补偿操作。4、 根据权利要求1或2所述的基于网格的补偿事务自动产生方法,其特征 是,所述行级触发器,当数据修改事件出现时,补偿事务产生器根据事件类型调 用相应的行级触发器,行级触发器生成具体的补偿操作,补偿操作是在子事务的 执行过程中动态产生的,假如子事务失败了,则在该子事务执行过程中所产生的 所有补偿操作也被放弃;其动态产生数据修改事件的补偿操作具体是指在插入事件出现时,行级触 发器产生相应的删除语句将插入的记录删除;在删除事件出现时,行级触发器产 生相应的插入语句将删除的记录再次插入;在更新事件出现时,行级触发器将被 改变的记录恢复成更新前的数据,在产生补偿操作的过程中,行级触发器通过数 据表的结构信息,判断字段的数据类型;使用字符串拼接的方式,动态产生补偿 操作,对于不同的数据类型,处理方式有所不同对数值型的数据,直接与补偿 操作片断的字符常量连接;对字符串型的数据,则需要在这个值之前和之后,分 别拼接一个单引号,作为补偿操作中字符串直接量的开始与中止符;对日期时间 型的数据,需要首先将值转化为字符串,然后在产生的补偿操作中利用T(U)ATE函数将字符串值重新转换为日期时间。5、 根据权利要求l所述的基于网格的补偿事务自动产生方法,其特征是,所述的补偿事务产生器,是指用于动态产生补偿事务包括三个行级触发器的模 块,补偿事务产生器在子事务从开始到被确认或撤销的整个过程中,补偿事务产 生器监视各种影响系统状态的事件;当影响系统状态的事件出现时,补偿事务产 生器执行相应动作对于事务上下文消息,记录全局事务标识符和输入参数;预 提交消息表示事务中包含的数据修改操作开始被执行,因此,补偿事务产生器开 始根据子事务中数据修改操作的类型调用相应的行级触发器,自动产生数据修改 事件的补偿操作,并在子事务成功提交后使用定界符将补偿操作封装成补偿事 务,然...
【专利技术属性】
技术研发人员:唐飞龙,过敏意,李明禄,
申请(专利权)人:上海交通大学,
类型:发明
国别省市:31[中国|上海]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。