摘要
多媒体智能数据库系统MIDS(multimediaintelligentdatabasesystem)是一个对象数据库管理系统.它的数据库编程语言是P++,P++个语言是一种基于C++的语言.作者在P++的实现过程中遇到了以下问题:首先,C++的指针有二义性,它无法在语义上区分成员指针和引用指针,以及易失性指针和持久性指针,从而给事务管理中的对象加锁及其它方面带来问题.其次,具有虚拟函数或虚拟基类的对象中含有指向内存中的指针,而这些指针不是由程序员定义的.如果C+个对象被持久化,这些指针在不同的程序调用中有可能无效.最后,如果作者用文件系统调用来存储对象,那么必须要设计复杂的Cache系统和做大量对象的格式转化工作,这需要大量的空间和时间,所以他们采用了另外的一种方法──基于虚拟内存空间映射的存储方案.
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.
出处
《软件学报》
EI
CSCD
北大核心
1996年第2期73-82,共10页
Journal of Software
关键词
C++语言
面向对象
持久性
Object--oriented database,persistence,virtual memory mapping.