首页 | 本学科首页   官方微博 | 高级检索  
     

C++对象的持久化中的问题和解决方案
引用本文:陶伟,麦中凡.C++对象的持久化中的问题和解决方案[J].软件学报,1996,7(2):73-82.
作者姓名:陶伟  麦中凡
作者单位:北京航空航天大学计算机科学与工程系,北京,100083;北京航空航天大学计算机科学与工程系,北京,100083
摘    要:多媒体智能数据库系统MIDS(multimediaintelligentdatabasesystem)是一个对象数据库管理系统.它的数据库编程语言是P++,P++个语言是一种基于C++的语言.作者在P++的实现过程中遇到了以下问题:首先,C++的指针有二义性,它无法在语义上区分成员指针和引用指针,以及易失性指针和持久性指针,从而给事务管理中的对象加锁及其它方面带来问题.其次,具有虚拟函数或虚拟基类的对象中含有指向内存中的指针,而这些指针不是由程序员定义的.如果C+个对象被持久化,这些指针在不同的程序调用中有可能无效.最后,如果作者用文件系统调用来存储对象,那么必须要设计复杂的Cache系统和做大量对象的格式转化工作,这需要大量的空间和时间,所以他们采用了另外的一种方法──基于虚拟内存空间映射的存储方案.

关 键 词:面向对象数据库    持久性    虚拟内存映射  
修稿时间:1994/12/29 0:00:00

MAKING C+ + OBJECTS PERSISTENT:PROBLEMS AND SOLUTIONS
Tao Wei and Mai Zhongfan.MAKING C+ + OBJECTS PERSISTENT:PROBLEMS AND SOLUTIONS[J].Journal of Software,1996,7(2):73-82.
Authors:Tao Wei and Mai Zhongfan
Affiliation:Department of Computer Science and Engineering Beijing University of Aeronautics and Astronautics Beijing 100083
Abstract:MIDS(mutilmedia intelligent database system) is an object database management system. Its database programming language is P+ +, which is based on C+ +. Inthe implementation of P + + the authors encountered the following problems: First,C+ + pointer is ambiguous, not only can member pointer and reference pointer not be distinguished in semantics, but also volatile pointer and persistent pointer. This pointer ambiguity Tesults in object locking problem in transaction management and others. Second,C+ + objects that have virtual functions or virtual base classes contain memory pointers,which were not specified by the programmer. If such C+ + objects are made persistent,then these pointers may be invalid across program invocations. Last, If the authors storeobject using file system call services, they should design complicated cache subsystem anda large amount of object format transformation, which demand a lot of memory and time.So they must find another solution--storage scheme based on virtual memory mapping.
Keywords:Object--oriented database  persistence  virtual memory mapping  
本文献已被 CNKI 维普 等数据库收录!
点击此处可从《软件学报》浏览原始摘要信息
点击此处可从《软件学报》下载全文
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号