网络分布计算中的事务工作流研究
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
事务处理技术是保证信息可靠性和一致性的关键技术。目前广泛使用的平面事务是具有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能够支持工作流的恢复处理。
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.
引文
[Aalst 1996] W.M.P. van der Aalst, "Three Good reasons for Using a Petri-net-based Workflow Management System," In S. Navathe and T. Wakayama, editors, Proceedings of the International Working Conference on Information and Process Integration in Enterprises (IPIC'96) , pages 179-201, Cambridge, Massachusetts, Nov 1996.
    [Alonso 1997] G. Alonso, "Processes + Transactions = Distributed Applications," In Proceedings of the High Performance Transaction Processing Workshop (HPTS'97) ,Asilomar, California, September 1997.
    [Alonso et al. 1995] G Alonso, C. Mohan, R. Gunthor, et al., "Exotica/FMQM: A Persistent Message-Based Architecture for Distributed Workflow Management," In Proceedings of IFIP Working Conference on Information System for Decentralized Organization, Trondheim, August 1995.
    [Alonso et al. 1996] G Alonso, D. Agrawal, A. El Abbadi, et al., "Advanced transaction models in workflow contexts," In Proceedings of International Conference on Data Engineering, pp.574-581,1996.
    [Ammann et al. 1995] P. Ammann, S. Jajodia, and I. Ray, "Using Formal Methods To Reason About Semantics-Based Decompositions Of Transactions," In Proceedings of the 21st VLDB Conference, pp.218-227, Zurich, Switzerland, 1995.
    [Andrade et al. 1996] J. M. Andrade, M. T. Carges et al., The TUXEDO System. Addison-Wiley Publish Company, 1996.
    [Anwar et al. 1997] E. Anwar, S. Chakravarthy, and M. S. Viveros, "An Extensible Approach to Realizing Advanced Transaction Models," In Advanced Transaction Models and Architectures, Sushil Jajodia and Larry Kerschberg eds., Kluwer, 1997.
    [Arnette et al. 1995] W. S. Arnette et al., "CPI-C: An API for Distributed Applications," IBM System Journal, Vol.34, No.3, pp.501-518,1995.
    [Barga and Pu 1995] R. Barga and C. Pu, "A Practical and Modular Method to Implement Extended Transaction Models," In Proceedings of International Conference on Very Large Data Bases, pp.206-217, Zurich, Switzerland, 1995.
    [Bea 2000] BEA Corp., "The BEA E-Commerce Transaction Platform," February 2000. URL: http://www.beasys.com/products/ e_commerce.html.
    [Bea 2001a] BEA Corp., BEA WebLogic Server Datasheet, April 2001. URL: http://www.beasys.com/products/weblogic/server/index.shtml.
    [Bea 2001b] BEA Corp., WebLogic Server XA Resource Provider Requirements (XAResource Enlistment and Delistment), URL: http://edocs.bea.com/wls/
    
    docs61 /jta/resource.html#1063434.
    [Bennett et al. 2000] B. Bennett, B. Hahm, A. Leff, et al., "A Distributed Object Oriented Framework to Offer Transactional Support for Long Running Business Processing," In Proceedings IFIP/ACM International Conference on Distributed Systems Platforms (Middleware 2000) , pp.331-348, New York, USA April 2000.
    [Bemstern 1990] P. Bernstein, "Transaction Processing Monitors," Communication of the ACM, Vol. 33, No. 11, pp.75-86, Nov. 1990.
    [Bernstein 1996] P. Bernstein, "Middleware: A Model for Distributed System Services," Communication of the ACM, Vol.39, No.2, pp.86-98, Feb. 1996.
    [Bernstein et al. 1987] P. Bernstein, V. Hadzilacos, and N. Goodman, Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.
    [Biliris et al. 1994] A. Biliris, S. Dar, N. Gehani et al., "ASSET: A System for Supporting Extended Transactions," In Proceedings of SIGMOD International Conference on Management of Data, pp.44-54, May 1994.
    [Brown and Wallnau 1998] A. Brown and K. Wallnau, "The Current State of CBSE", IEEE Software, September/October 1998.
    [Comer and Stevens 1990] D. Comer and D. Stevens, Internetworking with TCP/IP Vol. 3: Client-Server Programming and Applications, BDS Socket Version, 2nd ed., Prentice Hall, Inc., 1996.
    [Chrysanthis and Rammaritham 1990] P. Chrysanthis and K. Rammaritham, "ACTA: A Framework for Specifying and Reasoning about Transaction Structure and Behaviour," In Proceedings of ACM SIGMOD International Conference on Management of Data, New York, 1990.
    [Ding and Jin 2001] 丁柯,金蓓弘,“用于多层事务恢复处理的面向对象框架”, 软件学报,pp.353-358,增刊,2001.
    [Edwards 1997] Jeri Edwards, 3-Tier Client/Server At Work. Wiley Computer Publishing, 1997.
    [Elmagarmid 1992] A. Elmagarmid, editors, Transaction Models for Advanced Database Applications, Morgan-Kaufmann, 1992.
    [Fayad and Schmidt 1997] M. Fayad and D. C. Schmidt, "Object-Oriented Application Frameworks," Communications of the ACM, pp.32-38, Vol.40, No. 10, October 1997.
    [Gamma et al. 1995] E. Gamma, R. Helm and et al., Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Publishing Company, Inc., 1995.
    [Garcia-Molina and Salem 1987] H. Garcia-Molina, K. Salem, "Sagas," In Proceedings of SIGMOD International Conference on Management of Data, pp.249-259, May 1987.
    [Georgakopoulos et al. 1995] D, Georgakopoulos, M. Homick, and A. Sheth, "An Overview of Workflow Management: From Process Modeling to Workflow Automation Infrastructure," Distributed and Parallel Databases, Vol.3, No.2,
    
    pp. 119-154, 1995.
    [Georgakopoulos et al. 1996] D, Georgakopoulos, M. Hornick, and F. Manola, "Customizing Transaction Models and Mechanisms in a Programmable Environment Supporting Reliable Workflow Automation," IEEE Transactions on Knowledge and Data Engineering, Vol.8, No.4, pp.630-649, 1996.
    [Gore and Ghosh 1998] M. M. Gore and R. K. Ghosh, "Recovery in Distributed Extended Long-lived Transaction Models," In Proceedings of the 6th International Conference on Database Systems for Advanced Applications, 1998.
    [Gray and Reuter 1993] R. Gray and A. Reuter, Transaction Processing: Concepts and Techniques, Morgan Kaufman, 1993.
    [Grasso 1997] Ennio Grasso, "Implementing Interposition in CORE A Object Transaction Service," In Proceedings of the 1st International Enterprise Distributed Object Computing Conference, 1997.
    [Grefen et al. 1999] P. Grefen, J. Vonk, E. Boertjes, and P. Apers, "Semantics and Architecture of Global Transaction Support in Workflow Environments," In Proceedings of the Fourth IFCIS International Conference on Cooperative Information Systems, pp.348-359, Edinburgh, Scotland, September 2-4, 1999.
    [Hollingsworth 1995] D. Hollingsworth, The Workflow Reference Model, Workflow Management Coalition, 1995.
    [IBM 2001] IBM Inc., Managing Database Connection with JDBC, URL: http ://www-900. ibm.com/developerWorks/education/j ava/j-j dbc/tutorial/j-j dbc-6-1. html (in Chinese).
    [Ingham et al. 2000] D. Ingham, S. Shrivastava and F. Panzieri, "Constructing Dependable Web Services," IEEE Internet Computing, pp.25-33, January/February 2000.
    [Jajodia and Kerschberg 1997] S. Jajodia and L. Kerschberg (Eds.), Advanced Transaction Models and Architectures. Kluwer 1997.
    [Kaiser and Pu 1991] G. Kaiser and C. Pu, "Dynamic Restructuring of Transactiions," In Database Transaction Models for Advanced Applications, August 21, 1991.
    [Krishnamoorthy and Shan 2000] V. Krishnamoorthy and M. Shan, "Virtual Transaction Model to Support Workflow Applications," In Proceedings of the 2000 ACM symposium on Applied Computing, pp.876-881, March 19-21, Como, Italy, 2000.
    [Lazcano 2001] A. Lazcano, H. Schuldt, G Alonso, and H.-J. Schek, "WISE: Process based E-Commerce," Bulletin of the IEEE Computer Society Technical Committee on Data Engineering, Special Issue on Infrastructure for Advanced E-Services, pp.46-51, 24(1) , March 2001.
    [Li et al.200la]李红臣,史美林,陈信祥,“工作流系统中的业务过程描述及分 析,”计算机研究与发展,Vol.38,No.7,PP.798-804,July 2001.
    [Li et al.2001b]李红臣,史美林,陈信祥,“事务工作流的并发控制算法,”软件
    
    学报,Vol.12,增刊,PP.1-9,June 2001.
    [Liebig et al. 2000] C. Liebig, M. Malva, A. Buchmann, "Integrating Notifications and Transactions: Concepts and X2TS Prototype," 2nd Workshop on Engineering Distributed Objects, Davis, CA, USA, November 2-3, 2000
    [Lindermerier 2000] M. Lindermerier, "Load Management for Distributed Object-Oriented Environments," In Proceedings of the International Symposium on Distributed Objects and Applications, (DOA'00) , 2000.
    [Little and Shrivastava 1998] M. C. Little and S. K. Shrivastava, "Integrating the Object Transaction Service with the Web," In Proceedings of the 2nd IEEE Workshop on Enterprise Distributed Object Computing (EDOC98) , La Jolla California, November, pp. 194-205,1998.
    [Lomet 1992] D. B. Lomet, "MLR: a Recovery Method for Multi-level Systems," In Proceedings of the 1992 ACM SIGMOD International Conference on Management of Data, San Diego, CAUSA, pp. 185-194,1992.
    [Luo et al.2000] 罗海滨,范玉顺,吴澄,“工作流技术综述,”软件学报,Vol.11, No.7,PP.899-907,July 2000.
    [Microsoft 2000] Microsoft Corporation, MSDN Library, 2000.
    [Mikalsen et al. 2000] T. Mikalsen, I. Rouvellou, S. Sutton Jr., et al., "Transactional Business Process Servers: Definition and Requirements," OOPSLA, Minneapolis, Minnesota, USA, October 15-19,2000.
    [Mohan 1994] C. Mohan, "Tutorial: Advanced Transaction Models-Survey and Critique," Presented at ACM SIGMOD International Conference on Management of Data, Minneapolis, May 1994.
    [Mohan 1999] C. Mohan, "Repeating History Beyond ARIES," Proceedings of the 25th VLDB Conference, Edinburgh, Scotland, pp. 1-17, 1999.
    [Mohan and Dievendorff 1994] C. Mohan and Dick Dievendorff, "Recent Work on Distributed Commit Protocols, and Recoverable Messaging and Queuing," Data Engineering, Vol. 17, No.1, March 1994.
    [Mohan et al. 1992] C. Mohan, D. Haderle, et al., "ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging," ACM Transactions on Database Systems, Vol.17, No.l, pp.94-182,1992.
    [Moss 1982] J. Moss, "Nested Transactions and Reliable Distributed Computing," In Proceedings of the 2nd Symposium on Reliability in Distributed Software and Database Systems, pp.33-39, Pittsburgh, PA. IEEE CS Press, 1982.
    [OMG 2000a] Object Management Group (OMG), Object Transaction Service V1. 1, May 2000; URL: http://www.omg.org/corba/sectrans#trans.
    [OMG 2000b] Object Management Group (OMG), Concurrency service v1. 0,Technical Report OMG Document formal/2000-06-14, OMG, Famingham, MA, May 2000.
    [Pu et al. 1987] C. Pu, G Kaiser and N. Hutchinson, "Split-Transactions for
    
    Open-Ended Activities," In F. Bancilhon and D. Dewitt (eds): Proceedings of the 14th International Conference on Very Large Databases, pp.26-37, Los Angeles, California: Morgan Kafmann, 1987.
    [Ram et al. 1998] P. Ram, L. Do, P. Drew and T. Zhou, "Object Transaction Service: Experiences and Open Issues," In Proceedings of the International Symposium on Distributed Objects and Applications, 1998.
    [Reuter and Schwenkres 1995] A. Reuter and F. Schwenkres, "ConTracts-A Low-Level Mechanism for Building General-Purpose Workflow Management-System," Data Engineering, Vol.18, No.l, pp.4-10, March 1995.
    [Sadiq and Orlowska 2000] W. Sadiq and M. Orlowska, "Analyzing Process Models using Graph Reduction Techniques," Information Systems, pp. 117-134, Vol.25, No.2, 2000.
    [Schek et al. 1993] H. Schek, G Weikum, and H. Ye, "Towards a Unified Theory of Concurrency Control and Recovery," In Proceedings of the ACM Symposium on Principles of Database Systems (PODS'93) , pp.300-311, June, 1993.
    [Schmid 1997] H. A. Schmid, "Systematic Framework Design by Generalization," Communication of the ACM, pp.48-51, Vol.40, No. 10,1997.
    [Schmidt 1994] D. C. Schmidt, "ACE: an Object-Oriented Framework for Developing Distributed Applications," In Proceedings of the Sixth USENIXC++ Technical Conference, Cambridge, Massachusetts, April 1994.
    [Schmidt and Hu 2000] D. C. Schmidt and J. C. Hu, "Developing Flexible and High-performance Web Servers with Frameworks and Patterns," ACM Computing Surveys, pp.39-47, Vol.32, No.2, 2000.
    [Schuldt 2001] H. Schuldt, "Process Locking: A Protocol Based on Ordered Shared Locks for the Execution of Transactional Processes," In Proceedings of the ACM Symposium on Principles of Database Systems (PODS'01) , pp.289-300, Santa Barbara, California, USA, May, 2001.
    [Schuldt et al. 1999] H. Schuldt, G Alonso, and H. Schek, "Concurrency Control and Recovery in Transactional Process Management," In Proceedings of the ACM Symposium on Principles of Database Systems (PODS'99) , pp. 316-326, Philadelphia, Pennsylvania, USA, May/June, 1999.
    [Schuler 2001] C. Schuler, H. Schuldt, and H. Schek, "Supporting Reliable Transactional Business Processes by Publish/Subscribe Techniques," In Proceedings of the 2nd International Workshop on Technologies for E-Services (TES'01) , Rome, Italy, September 2001.
    [Srinivasan 1999] S. Srinivasan, "Design Patterns in Object-Oriented Frameworks," IEEE Computer, pp.24-32, Vol.32, No.2, 1999.
    [Stevens 1998] W. R. Stevens, UNIX Network Programming, Volume 1, Networking APIs: Sockets and XTI, 2nd Edition, Prentice Hall, Inc., 1998.
    [Sun 1999a] Sun Microsystems, Java Transaction API (JTA) Specification V1. 0. 1, April 1999, URL: http://java.sun.com/products/jta.
    
    
    [Sun 1999b] Sun Microsystems, Java Transaction Service (ITS) Specification V1. 0, December 1999, URL: http://java.sun.com/products/jts.
    [Sun 1999c] Sun Microsystems, Java Message Service (JMS) Specification V1. 0. 2, November 1999, URL: http://java.sun.com/products/jms.
    [Sun 1999d] Sun Microsystems. Java2 Platform Enterprise Edition Specification V1. 2, 1999.
    [Tai and Rouvellou 2000] S. Tai and I. Rouvellou, "Strategies for Integrating Messaging and Distributed Object Transactions," Middleware 2000, Springer-Verlag Berlin Heidelberg, 2000.
    [Tatbul et al. 1997] N. Tatbul, S. Arpinar, et al., "A Workflow Specification Language and its Scheduler," In: International Symposium on Computer Information Systems (ISCIS), Antalya, 1997.
    [Tekinerdogan 1996] B. Tekinerdogan, "An Application Framework for Building Dynamically Configurable Transaction Systems," In OOPSLA '96, Development of Object-Oriented Frameworks Workshop, San Jose, US, 1996.
    [Vingralek et al. 1998] R. Vingralek, H. Hasse-Ye, Y. Breitbart et al., "Unifying Concurrency Control and Recovery of Transactions with Semantically Rich Operations," in Theoretical Computer Science, (190) :363-396, 1998.
    [Wachter and Reuter 1992] H. Wachter and A. Reuter, "The ConTract Model," In Transaction Models for Advanced Database Applications, A. Elmagarmid, editors, Morgan-Kaufmann, 1992.
    [Weikum 1991] G Weikum, "Principles and Realization Strategies of Multilevel Transaction Management," ACM Transactions on Database Systems, Vol.16, No.1, pp.132-180, March 1991.
    [WfMC 2001] Workflow Management Coalition, Workflow Process Definition Language-XML Process Definition Language. WFMC-TC-1025, May 2001.
    [Worah and Sheth 1997] D. Worah and A. Sheth, "Transactions in Transactional Workflows," in Advanced Transaction Models and Architectures, S. Jajodia and L. Kerschberg, editors. Kluwer Academic Publishers 1997.
    [Wu et al. 1995] Z.Wu, R. J. Stroud et al., "The Design and Implementation of a Distributed Transaction System Based on Atomic Data Types," Distributed System Engineering, 1995, Vol.2, No.l, pp.50-64.
    [X/Open 1991a] X/Open Company Ltd., Distributed Transaction Processing Reference Model, October 1991.
    [X/Open 1991b] X/Open Company Ltd., Distributed Transaction Processing: The XA Specification, October 1991.
    [Yang and Kaiser 1999] J. Yang and G Kaiser, "JPemLite: Extensible Transactions Services for the WWW," IEEE Transactions on Knowledge and Data Engineering, Vol.11, No.4, July/August 1999.
    [Zhang et al. 1994] A. Zhang, M. Nodine, B. Bhargava, and O. Bukhres, "Ensuring Relaxed Atomicity for Flexible Transactions in Multidatabase Systems," In
    
    Proceedings of the ACM SIGMOD Conference, pp.67-78, 1994.
    [Zhang et al. 2001] A. Zhang, M. Nodine, and B. Bhargava, "Global Scheduling for Flexible Transactions in Heterogeneous Distributed Database Systems," IEEE Transactions on Knowledge and Data Engineering, Vol.13, No.3, pp.439-450, May/June 2001.

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

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

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