研究人员已经致力于组合事务的恢复问题研究,但是大多数成果集中通过向后恢复来维持事务的一致性,补偿是向后恢复通常使用的一种手段,但是向后恢复的最大缺陷就是导致代价相当高,且向后恢复策略不能完全满足各种不同恢复需求。提出一种基于失败类型的恢复算法(包括向前、向后和替代恢复),其是一种基于扩展Petri网的形式化建模方法,为实现松弛ACID属性,引入状态托肯、数据托肯和QoS托肯,增加失败变迁和补偿变迁。失败发生时,动态计算终止依赖点TDP和补偿集,依据任务之间的控制流、数据流、时序、状态和行为依赖,获取任务的失败类型,选择合适的恢复策略,构造一个支持无缝添加/删除失败恢复的可执行模型。
Researchers have worked on recovery strategies of composition transactions,most efforts focus on transaction consistency by backward recovery,compensation is commonly used for backward recovery,which have limitations since the cost of compensation tasks are rather expensive,and the compensation mechanism can not satisfy various require-ments of applications.A transaction recovery algorithm was proposed including forward recovery,backward recovery and alternative recovery,which was a formal modeling method based on extended Petri nets,state token,data token and QoS token were introduced to implement relaxed ACID properties of LRT.When failure occurs,terminate dependency point(TDP) and compensation set were calculated dynamically,recovery strategies were added or deleted automatically according to the data flow dependency,control flow dependency and state dependency among tasks.Failure types are generated by log file mining,therefore,failure coordination and recovery are implemented and an executable model which support add/delete failure recovery behavior is constructed seamlessly.