对象事务服务系统的研究与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
分布式对象技术已经发展成为当今分布异构环境下建立应用系统集成框架和标准构件的核心技术,事务处理技术特别是分布式事务处理技术在今天也有着广泛的应用领域,对象事务服务(Object Transaction Service:OTS)把分布式对象技术与事务处理技术结合起来,充分继承了分布对象技术和事务处理技术两者的优点,有效地保证了分布式事务的原子性和永久性,目前已经成为分布式事务的一种有效的解决方案。
     本课题从应用需求出发,以可用性、可靠性、高效性和开放性为目标,设计并实现了一个遵循COSS标准的OTS系统。该系统采用两阶段提交协议,有效地保证了事务的原子性和持久性,并通过对OTS技术的研究,提出并实现了以下几项关键技术:
     1、提出了一种利用截获器实现事务隐式传播的技术,使得事务传播对用户透明,减少了用户负担,并在事务的隐式传播过程中加入了事务策略和事务操作完成状况的检测,更好地保证了事务的完整性。
     2、提出并实现了一种嵌套事务处理方式,有效解决了长事务处理过程中资源消耗大及低效的问题,对自身不支持嵌套事务的资源对象提供两级嵌套。
     3、针对分布环境下各节点间的网络开销和中心事务处理器瓶颈问题,本文提出了一种在事务客户和事务性对象之间插入一个代理,将远程操作转为本地操作,使得合作的事务服务分担完成事务责任的分布事务处理算法。
     此外,良好的开放性是对一个实际应用系统的基本要求,因而本课题解决了OTS系统与X/Open组织的DTP模型的无缝集成问题,达到了与DTP模型的完全兼容。
The technology of transaction processing especially the technology of distributed transaction processing has been widely used today. The Object Transaction Service (OTS) based on the technology of distributed object can support the atomicity and the durability of distributed transaction,and it has become an efficient method of distributed transaction. This paper specifies the architecture and the key technology of OTS.
    This project designs and implements an Object Transaction Service (OTS) system which is conformant to Common Object System Specification,and we got good result. With the adoption of the two_phase commit protocol the system guarantees the atomicity and durability of distributed transaction. In order to achieve a high reliables available and efficient system,we propose serveal key technologies:
    K We put forward a technology of using interceptor implement implicit transaction context propagation,this technology makes transaction propagation transparent to users. We also add transaction check and transaction policy check in the process of transaction propagation,these methods increase transaction intergrity level. 2s We propose and implement a nested transaction processing model which can resolve resource waste and low efficiency in long transactions processing. It provides two_level nested processing to resource objects which do not support nested transaction processing by themselves.
    3s In order to resolve frequent network operations and heavy load on central transaction processor in distributed transaction processing,we bring forward an algorithm of interposing a proxy between original transaction and transactional operations. Using this algorithm,remote operations can be changed into native,this make cooperated transaction processors share in the responsibility of transaction processing.
    Furthermore,we integrate OTS system into X/Open DTP model to resolve interoperability between object transaction service model and DTP model.
引文
[1] Object Management Group, Object Transaction Service, Waltham MA: Object Management Group, 2000.
    [2] Object Management Group. The Common Object Request Broker: Architecture and Specification Revision 2.3. June 1999
    [3] X/Open Company Ltd. Distributed Transaction Processing: The XA Specification. Decemner 1991
    [4] Abraham Silberschatz, Henry F.Korth, S.Sudarshan, Database System Concepts Third Edition,北京:机械工业出版社,1999.3.
    [5] [美]Michi Henning,Steve Vinoski著,徐金梧,徐科,吕志民等译,基于C++CORBA高级编程。北京:清华大学出版社,2000.
    [6] [美]Robert Orfali, Dan Harkey, Jeri Edwards著,陈章渊,张学东,于秀山等译,智能CORBA,北京,电子工业出版社,1999.11.
    [7] 贾焰,王志英等,分布式数据库技术。北京:国防工业出版社,2000.7。
    [8] 萨师煊,王珊,数据库系统概论(第三版)。北京:高等教育出版社,2002.2。
    [9] 朱海滨,蔡开裕等,分布式系统原理与设计。长沙:国防科技大学出版社,1997.9。
    [10] Informix Company Ltd. Informix Embedded SQL TP/XA Programmer's Manual, October 1997
    [11] 王玉红,商作辉等,INFORMIX关系数据库系统管理与软件设计。北京:中国水利水电出版社,1999.4。
    [12] 刘艳春,对象事务服务系统的设计与实现。长沙:国防科学技术大学硕士论文,2000.3。