论文部分内容阅读
可扩展标记语言XML正逐渐成为INTERNET上重要的数据表示和交换的标准,作为计算机之间,人机之间目前比较合适的“数据格式”和“数据语义”的表示语言,在许多领域都存在着广泛的应用,而且正逐步深入。 XML数据的管理是应用过程中必须解决的问题之一。目前通过数据库管理系统实现对大量数据管理是最佳方式,XML也不例外。原生XML数据库(Native XML Database-NXD)正是为管理XML数据而引入,但原生XML数据库基于XML应用的多样性并没有规定具体的存储管理模式,允许根据需要可以选择不同的存储模式,但基于文档的XML数据存储已经不能满足复杂的应用,而采用关系型数据库实现对XML数据的存储管理,在一些操作中的效率不能令人满意。根本原因是逻辑结构上,XML数据的树型结构比“平坦”关系型数据结构复杂,因此为提高XML数据管理的效率,在NXD中引入采用原生的存储模式来管理XML数据。 为了建立完善的基于原生存储模式的XML数据存储系统,需要深入分析XML数据特点和存储需求,针对存储结构和索引结构,以及内存、外存中的管理模式这些关键问题进行研究并提出解决方案。 首先是基于模式的XML文档存储问题,为此引入基于树型分解的存储结构,及相应的文档操作算法。主要思想是通过分解XSD/DTD(XML模式文档)和XML文档,建立文档结构树和叶子数据分别以层次模式和关系模式存储,为解决XML数据跨块存储和保证块内存储完整子树的问题引入代理结点,并进一步利用XSD模式分解信息,对XML文档建立稀疏索引,节省存储空间。 第二是XML数据的索引问题。数据访问效率很大程度上依赖于索引的效率,XML数据的索引针对其特殊的“树”型结构,包括值索引和路径索引两类。对于XML数据的值索引采用B-H(平衡—HASH)算法实现,对于路径索引,则通过XML数据结构中的区间编码实现。 第三是XML数据结点的路径和顺序操作问题,这是提高XML数据操作效率的关键问题之一,通过引入一种基于位运算的区间编码,可以快速有效的判断路径关系。并以此为基础,提出基于编码的结点保序方案。进而通过深入分析影响编码冲突率的因素及它们之间的关系,进一步完善XML数据结点的编码存储结构和操作算法。 第四是XML模式数据的管理问题。基于模式的XML数据,其查询操作大部分从模式数据的操作开始,XML Schema数据是XML数据的模式数据、元数据,因此针对XML Schema模式文档数据建立优化的存储结构和解析算法,可以提高其解析效率,进而利用XSD数据的优化存储结构提高XML文档数据的模式验证效率,提高XML数据操作的效率。 通过优化XML数据的存储模式,存储结构、索引结构、路径表达以及其模式数据XSD的存储和解析,以此基础上设计基于原生存储的NXD系统,对XML应用系统提供良好的底层数据存储管理和高效的访问接口,更好地为XML大规模、复杂的应用提供有效的支持。