###
DOI:
Journal of Software:1996.7(2):73-82

C++对象的持久化中的问题和解决方案
陶伟,麦中凡
(北京航空航天大学计算机科学与工程系,北京,100083)
MAKING C+ + OBJECTS PERSISTENT:PROBLEMS AND SOLUTIONS
Tao Wei,Mai Zhongfan
()
Abstract
Chart / table
Reference
Similar Articles
Article :Browse 3331   Download 3171
    Revised:December 29, 1994
> 中文摘要: 多媒体智能数据库系统MIDS(multimediaintelligentdatabasesystem)是一个对象数据库管理系统.它的数据库编程语言是P++,P++个语言是一种基于C++的语言.作者在P++的实现过程中遇到了以下问题:首先,C++的指针有二义性,它无法在语义上区分成员指针和引用指针,以及易失性指针和持久性指针,从而给事务管理中的对象加锁及其它方面带来问题.其次,具有虚拟函数或虚拟基类的对象中含有指向内存中的指针,而这些指针不是由程序员定义的.如果C+个对象被持久化,这些指针在不同的程序调用中有可能无效.最后,如果作者用文件系统调用来存储对象,那么必须要设计复杂的Cache系统和做大量对象的格式转化工作,这需要大量的空间和时间,所以他们采用了另外的一种方法──基于虚拟内存空间映射的存储方案.
Abstract:MIDS(mutitmedia intelligent database system) is an object database management system.Its database programming language is P++,which is based on C++.In the 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 results 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 store object using file system call services,they should design complicated cache subsystem and a 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.
文章编号:     中图分类号:    文献标志码:
基金项目:
Foundation items:
Reference text:

陶伟,麦中凡.C++对象的持久化中的问题和解决方案.软件学报,1996,7(2):73-82

Tao Wei,Mai Zhongfan.MAKING C+ + OBJECTS PERSISTENT:PROBLEMS AND SOLUTIONS.Journal of Software,1996,7(2):73-82