
论文摘要
透明持久技术是面向对象环境中实现持久存储的主流开发技术,如J2EE环境中的实体Bean,第三方对象关系映射工具及JDO。该类技术在企业级应用中的难点是如何在维持软件体系结构清晰的同时又能保证系统处理持久数据的性能。本文通过分析J2EE环境中几种透明持久技术各自的特点,JDO的体系结构、生命周期状态管理、API包结构及持久实现方法,提出了透明持久技术中查询处理的优化方案: 为提高查询效率,本文提出在持久实现的三层模型中业务层与持久层之间增加对象访问层,该层建立了两类数据结构:索引对象及实例缓存,因此业务层的查询可通过索引对象解析成对对象ID的查询。由于对象ID包含实例的物理存储信息,相对于JDO环境对象遍历的查询方式,该方法在索引过滤因子较小的情况下,能节省磁盘的访问时间。 针对JDO对于关联对象的连接运算效率不高,将产生较长的查询延时,本文提出Refsort-loops连接算法:通过缓存关联对象的引用,并依照重新排序后的引用序列查询关联对象。使用该算法避免了对同一引用实例或是位于同一数据块上不同记录的重复读取,并将对磁盘的随机读取方式转变为按列表预取的读取方式。通过将该算法与Hash-loops和Probe-loops连接算法的比较,并在JDO环境予以实现,证明该连接算法通过缓存外层对象的空间换取了更短的磁盘访问时间。 JDO透明持久的概念平滑地实现了对象模型和关系模型的映射,对提高面向对象应用开发效率和保持软件结构的清晰有十分重要的意义。本文通过基于JDO的分析和查询技术优化,为透明持久技术性能的改善提出了可行的方案。
论文目录
摘要ABSTRACT插图索引附表索引第1章 引言1.1 JDO与持久存储概述1.1.1 Java环境中基本的持久存储方案的局限性1.1.2 对象模型与关系模型阻抗不匹配1.1.3 JDO1.2 主流持久存储方案的研究现状1.2.1 CMP1.2.2 对象关系映射工具1.2.3 JDO1.2.4 关联对象的连接算法1.3 本文的主要研究内容及创新点1.3.1 主要研究内容:1.3.2 论文的创新点1.4 本文的组织结构1.5 小结第2章 J2EE环境持久存储技术2.1 持久存储2.1.1 透明持久2.1.2 对象关系映射2.2 基本的持久实现技术2.2.1 serialization(序列化)2.2.2 JDBC2.3 J2EE环境透明持久技术的分析与比较2.3.1 会话bean和JDBC2.3.2 实体Bean实现持久性2.3.3 JDO第3章 JDO技术分析3.1 JDO运行环境3.1.1 非管理环境3.1.2 管理环境3.1.3 两种使用环境之间的比较3.2 JDO架构3.2.1 典型的架构模型3.3 JDO的生命周期状态3.3.1 生命周期状态概述3.3.2 七种具体的生命周期状态3.3.3 生命周期状态转换3.4 JDO API3.4.1 javax.jdo包的结构3.4.2 javax.jdo包3.4.3 javax.jdo.spi包3.5 JDO开发流程3.5.1 创建持久类3.5.2 JDO描述符3.5.3 实现持久实例第4章 对象访问层4.1 JDO环境的对象查询4.1.1 对象遍历4.1.2 JDOQL4.2 对象访问层的设计与实现4.2.1 对象访问层的架构4.2.2 索引对象4.2.3 实例缓存4.3 基于JDO的实现4.3.1 索引类(Index)4.3.2 实例缓存(InstanceBuffer)4.3.3 业务层查询4.4 性能分析第5章 关联对象的Refsort-loops连接算法5.1 连接运算基本问题描述5.1.1 引用5.1.2 关联对象导航连接5.2 Refsort-loops算法5.2.1 Refsort-loops算法描述5.2.2 Hash-loops算法5.2.3 Probe-loops算法5.3 Refsort-loops算法在JDO中的实现5.3.1 Join类5.3.2 抽取符合条件的外层对象5.3.3 排序引用5.3.4 连接引用对象与外层对象5.4 性能分析与对比结论参考文献致谢附录A 攻读学位期间所发表的学术论文附录B 攻读学位期间所参与的主要项目
相关论文文献
标签:持久性存储论文; 对象关系映射论文; 数据对象论文; 关联论文; 索引论文;