CORC  > 软件研究所  > 中科院软件所  > 中科院软件所
题名对象持久性机制实现技术的研究
作者杜小尧
学位类别博士
答辩日期1998
授予单位中国科学院软件研究所
授予地点中国科学院软件研究所
关键词对象持久性 持久对象库 持久性面向对象程序设计语言 虚拟存储映射
学位专业计算机软件
中文摘要面向对象的方法和技术已迅速成长为计算机应用开发方法的主流。由于大多数面向对象的应用程序需要处理持久对象,因此,研究如何为这些面向对象的应用提供对象持久性支持的对象持久性机制就非常重要。对象持久性机制是指面向对象应用中的对象持久性的支持机制。根据持久存储的不同,本文将常用的对象持久性机制分为两大类、五小类。两大类指基于已有数据库的对象持久性机制和基于面向对象程序设计语言的对象持久性机制。两大类进一步细分成五小类,其中,第一类包括基于关系数据库的对象持久性机制、基于对象关系数据库的对象持久性机制和基于面向对象数据库的对象持久性机制;第二类包括基于流式文件的对象持久性机制和基于持久对象库的对象持久性机制。本文分别讲述了上述各种机制的基本原理和优缺点,并对它们进行了比较分析,最后给出了它们各自适合的应用领域。随着对象技术和C++语言的广泛使用,越来越多的C++应用需要透明、轻量和可靠的C++持久对象库。虽然这些应用可以使用成熟且功能强大的数据库管理系统,但是由于数据库管理系统提供的很多数据库功能如并发控制、查询、完整性等它们都不需要,使用庞大、复杂的数据库管理系统会给它们速来不必要的负担,既增加应用的开发运行成本,又会降低应用的性能。为了满足这些C++非数据库应用的对象持久性需求,我们设计开发了一个基于持久对象库的对象持久性机制的实现系统-ObjectPersist。ObjectPersist是一个轻量、透明、可靠和高效的C++持久对象存储引擎,支持C++持久对象的保存和获取。ObjectPersist采用基于虚存映射的持久对象存储方法,持久对象在内存和外存均以其内存格式表达,对象中的指针亦是虚存地址,利用操作系统的虚存映射机制将持久存储直接映射到应用的进程虚地址空间,从而允许对持久对象的正常访问,访问持久对象就如同访问普通暂态对象一样。ObjectPersist提供持久对象的透明存取、高性能的持久空间分配器、多存储支持、事务和恢复机制、垃圾回收机制和存储级锁。ObjectPersist通过一个类库支持C++对象持久性,没有对C++语言本身体任何的修改或扩充。使用ObjectPersist无需预编译器,就如同使用其它普通C++类库一样,只需在应用链接阶段链接相应的库,对程序员的开发方法和过程没有施加任何特别的限制,而且,应用程序员依然能够使用所有的C++特性,包括多重继承、虚基类、虚函数和嵌入对象指针等。ObjectPersist提供一个无缝的C++应用编程接口。总之,对C++应用程序员来说,ObjectPersist简单、易用。ObjectPersist具有良好的可移植性。ObjectPersist独立于具体的C++编译器,支持大多数的操作系统平台。目前支持的操作系统平台有Windows NT/95、Solaris、AIX、HP-UX、Digital Unix 和 Linux。
语种中文
公开日期2011-03-17
页码51
内容类型学位论文
源URL[http://ir.iscas.ac.cn/handle/311060/5962]  
专题软件研究所_中科院软件所_中科院软件所
推荐引用方式
GB/T 7714
杜小尧. 对象持久性机制实现技术的研究[D]. 中国科学院软件研究所. 中国科学院软件研究所. 1998.
个性服务
查看访问统计
相关权益政策
暂无数据
收藏/分享
所有评论 (0)
暂无评论
 

除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。


©版权所有 ©2017 CSpace - Powered by CSpace