期刊文献+

C++对象的持久化中的问题和解决方案 被引量:1

MAKING C+ + OBJECTS PERSISTENT:PROBLEMS AND SOLUTIONS
下载PDF
导出
摘要 多媒体智能数据库系统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.
  • 相关文献

参考文献2

  • 1车敦仁,ICYCS’93,1993年
  • 2车敦仁,第11届全国数据库学术会议论文集,1993年

同被引文献5

  • 1郝朝辉,麦中凡.面向对象数据库死锁检测方法研究[J].软件学报,1996,7(12):722-727. 被引量:4
  • 2车敦仁,博士学位论文,1994年
  • 3Che Dunren,Proc ICYCS’93,1993年
  • 4匿名著者,UNIX系统V386程序员参考手册(第4版),1992年
  • 5匿名著者,UNIX系统V程序员指南(第4版),1992年

引证文献1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部