支持协作设计的工程数据库事务管理的研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
支持协作的工程数据库系统为计算机支持的协作设计提供数据管理,使协作设计活动能有效地操作正确的和可靠的设计数据对象。事务管理是整个系统的核心部分。本论文对协作设计活动和协作设计事务模型进行了描述,并对支持协作的工程数据库事务管理系统的功能结构、并发控制机制、事务提交机制和恢复处理等方面进行了研究,同时,在样机系统中对上述研究进行实验和分析。
     在深入分析协作设计的特点后,对协作设计活动的描述进行了初步探讨;并在此基础上,提出了一个支持协作设计的事务模型。该事务模型结合了部分已有事务模型的优点,采用类似于嵌套结构的事务结构,使事务的提交和夭折更灵活。同时,该模型允许子事务间可以进行交互,从而支持协作的进行。
     提出了两种支持协作设计的并发控制方法:基于有序相容性封锁的多粒度封锁机制和基于有序相容性封锁的CBR封锁机制。在基于有序相容性封锁的多粒度封锁机制中我们对简单的锁模型进行了扩充,在共享锁(S/R)和排它锁(X/W)的基础上增加了几种锁,并建立了相应的锁相容性矩阵,同时给出封锁协议和实现算法。该方法对协作读和协作修改设计事务提供了支持。基于有序相容性封锁的CBR封锁机制是在考虑同一场地设计事务的延续性而提出的。该协议可提高在同一场地执行的事务对象申请的成功率,同时也具备了一定的协作支持能力。
     提出了带有时限的工程设计事务两阶段提交协议,包括其原理及其对故障的处理方法。该协议一方面允许设计子事务在设计期限未到之前“先”提交,同时在本组事务满足提交条件或者说某一设计方案完成的情况下可提交而不用等待最后期限,从而给设计活动的开展提供更大的灵活性;另一方面,在设计期限到来时,如果本组的设计任务仍然不能提交,则小组协调者可强制要求未完成的子事务进行汇报,以决定是否可以最终提交,从而保证了设计任务按时完成。
     提出了保存点savepoint机制。该机制采用冗余存储的方法,将设计事务各阶段的结果保存在小组服务器中,减少了失败时带来的工作损失,同时通过savepoint号(SN)关联的办法,解决了协作产生的数据相关性在恢复处理时可能带来的级联恢复问题。在此基础上,提出了基于日志与savepoint机制的恢复算法。该算法能处理协作设计过程中出现的大部分场地故障。
     最后,在样机系统中,分别对基于有序相容性封锁的多粒度封锁机制和带有时限的工程设计事务两阶段提交协议进行了实验和分析。实验表明我们的想法是正确的和可行的。
Engineering database system (EDBS) supporting cooperation provides the data object management for computer supported cooperative design (CSCD). Transaction management is the hardcore of the EDBS. This paper discusses several researching results on transaction management in EDBS supporting cooperation. It includes the description of cooperative activities and cooperative transaction model, the functional structure of the transaction process system in EDBS supporting cooperation, the concurrency control mechanism, the commit protocol and the recovery process. And the experiment in a prototype system based on the research above is presented as well.
    Given the characteristics of cooperative design environment, the description of cooperative design activities is presented. Based on the description, a cooperative transaction model is proposed. The model has a nested hierarchical structure and adopts some advantages of other transaction models, which makes it more flexible. And the model provides some interaction between two sub-transactions so that it can provide partly cooperation between design transactions.
    Two concurrency control methods that support cooperative design transaction are presented. In multi-granularity locking mechanism based on ordered sharing locks, we extend the simple lock mode-Shared lock(S/R Lock)/Exclusive lock(X/W Lock) by introducing several other locks. The corresponding compatible matrix is given. The locking protocol and the locking algorithms is also presented. This method can support cooperate design transaction of read and update. The other method is CBR locking mechanism based on ordered sharing locks. It is developed by considering the continuity of the serial transactions executed in a same local client. The locking protocol is presented. This method can also support some cooperation.
    The timeout-trigger Two-Phases Commit protocol for engineering design transaction is proposed. The principles and the fault process of the protocol are presented. On one hand, the protocol allows 'early' commit in participant transactions and 'early' commit of
    -n-
    
    
    
    coordinator transaction before timeout, if the finishing condition is held. On the other hand, if the coordinator can't commit after timeout comes, the coordinator can force the uncommitted participants to vote, and make final decision according to the votes.
    A mechanism named savepoint is also developed. The mechanism adopts redundant storage. It stores the partly design result to server during the design according to the command of users, so that it can diminish the lost of fault. It can support some cooperation through broadcast. And it can solve cascading recovery by using savepoint number (SN). A recovery algorithm based on log and savepoint mechanism is also developed. The algorithm can resolve most site fault in cooperative design and provide some selected rollback.
    In the end, the experiment of the multi-granularity locking mechanism based on ordered sharing locks and timeout-trigger two-phases commit protocol for engineering design transaction is executed in a prototype system. The analysis of the results are also given. The experiment proves that our thoughts are correct and feasible.
引文
1.产品数据管理技术及其最新进展,http://www.cad.gov.cn,2001。
    2.史美林,向勇,杨光信等,计算机支持的协同工作理论与应用,电子工业出版社,北京,2000,12。
    3.齐进,周伯鑫,徐南荣,工程数据库中支持合作设计过程的事务模型及实现方法,南京大学学报(自然科学)[J],1998,34(1):pp.48-55。
    4.齐进,周伯鑫,徐南荣,支持合作设计的工程数据库设计事务模型[J],计算机研究与发展.1998,35(10):pp.891-895。
    5.Transaction Management Support for Cooperative Applications, http://www.darmstadt.gmd.de/oasys/projects transcoop/.
    6.K. Aberer, S. Even, E Faase, H. Kaijanranta. J. Klingemann, Transaction Support for Cooperative Work: An Overview of the TransCoop Project, Workshop on Extending Data Management for Cooperative Work, Darmstadt, June 6, 1997.
    7.Rolf A. de By, Wolfgang Klas, Jari Veijalainen [Editors], Transaction Management Support for Cooperative Applications, Kluwer Academic Publishers, 1998, ISBN 0-7923-8100-9.
    8.Karl Aberer, Justus Klingemann, Thomas Tesch, J(?)rgen W(?)sch, Erich J. Neuhold, Transaction Models Supporting Cooperative Work-The TransCoop Experiences, Proceedings of the International Symposium on Cooperative Database Systems for Advanced Applications(CODAS'96), Kyoto, Japan. December, 5-7, 1996, pp. 467-476.
    9.Justus Klingemann, Thomas Tesch, J(?)rgen W(?)sch, Semantics-Based Transaction Management for Cooperative Applications, Proceedings of the International Workshop on Advanced Transaction Models and Architectures (ATMA), Goa, India, Aug. 31-Sep. 2, 1996, pp. 234-252.
    10.J(?)rgen W(?)sch, History Merging as a Mechanism for Information Exchange in Cooperative and Mobile Environments. In: A. Mecklenstock [Ed.]: Bericht zum 7. Workshop "Transaktionskonzepte", Nieheim/Ostwestfalen, 17.-19. Januar 1996. Datenbank-Rundbrief, Mitteilungsblatt der GI-Fachgruppe Datenbanken(GI-FG 2.5.1), Ausgabe 17, 1996.
    11.J(?)rgen W(?)sch, Wolfgang Klas, History Merging as a Mechanism for Concurrency Control in Cooperative Environments, Proceedings RIDE'96: Interoperability of Nontraditional Database Systems(RIDE-NDS '96), New Orleans, Louisiana, Feb. 26-27, 1996, pp. 76-85.
    12.Marek Rusinkiewicz, Wolfgang Klas, Thomas Tesch, J(?)rgen W(?)sch, Peter Muth, Towards a Cooperative Transaction Model-The Cooperative Activity Model, In Proceedings of the 21th International Conference on Very Large Databases(VLDB '95), Zurich, Switzerland, Sept 11-15, 1995, pp. 194-205.
    13.Thomas Tesch, J(?)rgen W(?)sch, Transaction Support for Cooperative Hypermedia Document Authoring-A Study on Requirements, In Proceedings of the 8th ERCIM Database Research Group Workshop on Database Issues and Infrastructure in Cooperative Information Systems(EDRG-8), Trondheim, Norway, August 23-25, 1995, pp. 31-42.
    14.Frans J. Faase, Susan J. Even, Rolf A. de By, Peter Apers, Integrating organizational and transactional aspects of cooperative activities, University of Twente, The Netherlands.
    
    
    15.廖国琼,分布式工程数据库事务管理研究,硕士学位论文,广西大学,2000.6。
    16.莫倩,周兴铭等,柔性协同事务模型,计算机学报[J],1999,22(12):pp.1300-1304。
    17. Gustavo Alonso, Radek Vingralek et al. Unifying Concurrency Control and Recovery of Transactions, In Proceeding of the EDBT 94 Conference.
    18. O.J.Anfindsen, an Application-Oriented Transaction Model, Doctor Science thesis of University of Oslo, Norway, 1997.
    19.Paul J.Fortier等著,林瑶,范建华,赵刚译,数据库技术大全(Database Systems Handbook),电子工业出版社,北京,1999.5。
    20. Panayiotis K. Chrysanthis and Krithi Ramamritham, ACTA: A Framework for Specifying and Reasoning about Transaction Structure and Behavior, Proceedings of the 1990 ACM SIGMOD International Conference on Management of Data, May 1990, pp. 194-203.
    21. Panos K. Chrysanthis and Krithi Ramamritham, Synthesis of Extended Transaction Models using ACTA, April, 1993.
    22. Gail E. Kaiser, Cooperative Transactions for Multi-User Environments, chapter 20 in Modern Database Systems: The Object Model, Interoperability and Beyond, edited by W. Kim, Addison-Wesley Publishing Company, 1995, pp. 409-433.
    23. Gail E. Kaiser, Calton Pu, Dynamic Restructuring of Transactions, appears in Database Transaction Models for Advanced Applications, 1992, pp. 265-295.
    24. Axel Meckenstock, Rainer Unland, Detlef Zimmer: Rolling Back in a Selective Way-an Approach to Recovery for Interactive and Long-Running Transactions, Proceedings 2nd International Baltic Workshop on DB and IS, Tallinn(Estonia), June 1996.
    25. Axel Meckenstock, Detlef Zimmer, Rainer Unland, Controlling Cooperation and Recovery in Nested Transactions, CADLAB Report 12/94, February 1994.
    26.萨师煊,王珊,数据库系统概论,高等教育出版社,1991,4。
    27.郑振楣,于戈,郭敏,分布式数据库,科学出版社,1998,7。
    28.王珊,陈红,数据库系统原理教程,清华大学出版社,北京,1998。
    29.周龙骧,数据库管理系统实现技术,科学出版社,1990,12。
    30.齐进,张家明,周伯鑫.工程数据库中一种支持合作设计事务的并发控制机制.计算机研究和发展,1998,35(11):pp.987-990。
    31. Barghouti N. S., Kaiser G. E. Concurrency Control in Advanced Database Application. Acm Computing Surveys, 1991, 23(3): pp. 269-317.
    32. Philip A. Bemstein, Vassos Hadzilacos, Nathan Goodman, Concurrency Control and Recovery in Database Systems, Microsoft Research Publication.
    33. M. Franklin and M. Carey. Client-server caching revisited. In Int'l Workshop on Distributed Object Management, Edmonton, Canada, August 1992.
    34. Y. Wang and L. A. Rowe. Cache consistency and concurrency control in a client/server DBMS architecture. In ACM SIGMOD International Conference on Management of Data, Denver, CO, May 1991, pp. 267-376.
    35. Robert E. Gruber, Optimism vs. Locking: a Study of Concurrency Control for Client-Server Object-Oriented Databases, MIT-LCS-TR-708, February 1997.
    36. P. K. Chrysanthis, G. Samaras, and Y. J. Al-Houmaily. Recovery and Performance of Atomic Commit Processing in Distributed Database Systems. Chapter 13 in Recovery Mechanisms in Database Systems, 1998, pp. 370-417.
    37. Bipins C. Desai, Bowton S. Boutros, Performance of a Two Phases Commit Protocol,Information and Software Technology, 1996, 38(9): pp. 581~599.
    
    
    38.Ramesh Gupta, Jayant Haritsa, and Krithi Ramamritham. Revisiting Commit Processing in Distributed Database Systems, TR-1996-01, DSL/SERC, 1997.
    39.廖国琼,李陶深,分布式工程数据库系统中事务提交机制的研究,计算机辅助设计与图形学学报,2001,12(4)。
    40.G. Weikum and H. Schek. Concepts and Applications of Multilevel Transactions and Open Nested Transactions. In Database Transaction Models for Advanced Applications, 1992, pp. 515-553.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700