节点文献

网络分布计算中的事务工作流研究

Research on Transactional Workflows in Network Distributed Environment

【作者】 丁柯

【导师】 冯玉琳;

【作者基本信息】 中国科学院研究生院(软件研究所) , 计算机软件与理论, 2003, 博士

【摘要】 事务处理技术是保证信息可靠性和一致性的关键技术。目前广泛使用的平面事务是具有ACID(atomicity,consistency,isolation and durability)特性的原子操作序列。平面事务模型在支持长时间运行事务方面存在缺陷,也不能适用于具有复杂业务过程的应用。 目前,在分布系统中广泛用于支持业务过程的另一种关键技术是工作流技术。工作流由若干个相互关联的任务组成,它是通过计算机软件进行定义、执行并监控的业务过程。事务工作流(transactional workflow)结合了事务和工作流两者的特点,一个事务工作流的执行将系统从一个一致性状态转换到另一个一致性状态。事务工作流由事务组合形成,其执行满足松弛原子性(relaxed atomicity),即事务工作流的执行或者正常结束,或者通过补偿事务取消所有已提交事务的执行效果。 事务工作流技术具有广泛的应用前景,但事务工作流的研究起步较晚,在建模和结构验证、调度算法、体系结构及实现技术方面研究尚不充分。本文针对这些不足展开研究。 本文首先提出了一个事务工作流模型ISTWM。ISTWM定义了事务工作流的结构及其执行,并建立了结构和执行之间的关系。我们给出了一个严格的良构性定义用来描述事务工作流的结构正确性,并且提出了一个良构性判断定理可有效地验证事务工作流是否良构。ISTWM模型还定义了事务工作流的并发执行和调度,并给出了可恢复调度和可串行化调度的定义。 本文提出一个基于混合粒度冲突检测的事务工作流调度算法。我们从两方面提高了并发度:一方面通过事务实例之间(细粒度)的冲突检测减少了工作流冲突的概率;另一方面通过事务类型之间(粗粒度)的冲突预测,允许多个将来不冲突的工作流执行不可补偿事务。该算法解决了现有调度算法只允许一个工作流执行不可补偿事务的限制。 基于ISTWM模型,本文设计了事务工作流描述语言ISTWL。ISTWL语言可以用来声明组成事务工作流的事务类型,能够支持过程描述。ISTWL通过上下文变量来实现数据流,ISTWL能够描述事务的完成特性,支持顺序、并行、优先、条件和循环等多种控制结构,可用于描述复杂的业务过程。ISTWL语言最显著的特点是提供了事务完成特性的描述,以及事务之间冲突函数的描述。 我们还实现了事务工作流运行的支撑环境,其中关键的组件是消息通信中间件系统ISMQ和分布事务监控器系统ISTX。在这些系统中,我们提出了多种设计模式和面向对象框架。其中,用于事务恢复处理的面向对象框架ISTM提供了与存储系统无关的事务恢复机制,ISTM被用于ISMQ中来实现事务队列的故障恢复。ISMQ还利用了一个通用的网络编程接口UniChannels,将多种不同的网络通信协议的接口统一起来。ISTX提供了分布事务管理、恢复管理和资源连接的缓冲池管理。ISMQ和ISTX还分别实现了JMS接口和JTA接口,能够中国科学院软件研究所博士学位论文网络分布计算中的事务工作流研究很方便地应用到JZEE计算环境中。 最后,本文给出了一个运行在JZEE计算环境中的事务工作流原型系统ISTw的设计和实现。在体系结构方面,ISTw利用了ISMQ提供的JMS服务和ISTX提供的JTA汀TS服务。平面事务用会话Bean来实现,而事务之间的交互则通过消息队列完成。ISTW包含一个集中式的事务工作流调度器,而在每个节点上则运行一个活动管理器。ISTW能够支持工作流的恢复处理。

【Abstract】 Transaction technology is a key technology to ensure consistence and reliability in information systems. The most frequently used flat transactions are atomic operation sequences with ACID (atomicity, consistency, isolation and durability) characteristics. However, the flat transactions cannot provide sufficient supports for applications with complex business processes.The general workflow model, on the other hand, supports rich business process logic for coordination of independent activities, but with little transactional aspect. The transactional workflow model can be regarded as the merging point of transaction processing technology and general workflow model; it is motivated to support both transactional aspect and business process aspect of an application. Transactional workflow technology is promising for future distributed applications.In this thesis, we studied several key issues of transactional workflows. First, we developed a formal model, namely ISTWM, for transactional workflows. ISTWM specifies both structural and executive aspects of transactional workflows. We formally defined the concept of well-formedness as a structural correctness criteria for transactional workflows. An effective method for well-formedness validation was also proposed. ISTWM considers the correctness of concurrent execution as well, and specifies the definition of serializible and recoverable schedules.Second, we proposed a new scheduling protocol for transaction workflows. Due to different termination characteristics of transactions, only one workflow is allowed to execute non-compensatable transactions with current scheduling protocols. In our approach, we defined two granularities of conflict based on transaction classes and on transaction instances, and we developed a scheduling protocol using both granularities of conflict detection. Our method provides a higher degree of concurrency in following two ways: fine-grained locking mechanism based on transaction instances is used to reduce the conflict possibility among concurrent workflows; on the other hand, the coarse-grained conflict mechanism based on transaction classes is used to predict future conflict among workflows, multiple workflows are therefore allowed to execute non-compensatable transactions if they do not conflict in future.Third, we designed a transactional workflow description language ISTWL in context-free grammar. The data flow is implemented by context variables in ISTWL. ISTWL supports a rich set of control structures, including sequential, parallel, contingency, conditional and iterative structures. Enhanced with these features, ISTWL can be used to specify complex business process. Novel features of ISTWL include the specification of termination characteristics and conflict detection.Fourth, we designed and implemented a comprehensive environment supporting transactional workflows. The key components of the environment are message queueing system ISMQ and distributed transaction processing monitor ISTX. We used design patterns and object-oriented framework technology extensively in these systems. An object-oriented framework ISTM for multilevel transaction recovery was proposed to provide reusable transaction recovery mechanism. ISTM has been successfully employed in the implementation of ISMQ. A C++ wrapper for multiple network programming interfaces UniChannels was designed in ISMQ, which is used to handle with heterogeneity of distributed network environment. ISTX supports distributed transaction management, recovery and connection pooling. Moreover, ISMQ and ISTX provide standard interfaces IMS and JTA, respectively.Lastly, a prototype system ISTW for transactional workflows is implemented in J2EE environment. ISTW uses the JMS service provided by ISMQ and the JTA/JTS services provided by ISTX. Transactions in ISTW are implemented by session beans, and the interaction among transactions is realized via message queues. For simplicity, a centralized scheduler is used in ISTW, and an activity manager is running at each node in ISTW.

节点文献中: 

本文链接的文献网络图示:

本文的引文网络