论文部分内容阅读
随着Internet和电子商务的飞速发展,可扩展标记语言XML成为了数据表示和数据交换的事实标准。XML具有自描述性、简单性、可扩展性、可重用性和开放性等特点,越来越多的数据和信息将用XML来表示和交换,因此必将产生大量的XML数据。如何对大容量XML文档进行有效管理,如XML文档的存储、更新、重构和查询等,是一个亟待解决的问题。
由于关系数据库技术成熟,应用广泛,具有数据存储、事务处理、查询、索引、并发机制、恢复和安全性等优点,使得关系数据库仍然是大容量数据管理的首选工具。但存在的突出问题是XML模式和数据库模式存在着固有的差异性,使得已有的XML文档到关系数据库模式的映射模型还存在着诸如“来回车票”问题、存取效率低、数据更新困难、需要XML文档模式定义支持等问题,限制了XML的广泛应用,使得XML的优势难以发挥。因此,研究传统的关系数据库对XML的支持技术,具有重要的现实意义。
针对以上问题,本文提出了面向对象的XML文档分片存储模型(OOXFSM)及其具体的实现技术,旨在建立一种XML文档到面向对象的关系数据模型的映射,将XML数据加载到关系表中,使得关系数据库管理系统能够支持XML的面向对象和面向关系的处理,既能有效地解决以上问题,还具有以下特点:
1、充分利用了面向对象的思想,给出并实现了XML文档中现实对象的识别算法:将复杂类型的XML元素视为对象,将简单类型的元素降级为其父元素的一个属性(亦即对象的属性),复杂类型的元素的属性亦作为对象的属性。基于现实世界中的对象对XML文档进行分片,不仅易于理解、易于实现,还避免了文档过度分裂。
2、提出了一种XML文档的编码方法--点分N进制编码,该方法较好的解决了XML文档的结构连接(Structural join)问题,支持XML文档的索引、查询及其优化和XML,文档重构。采用多线程程序设计技术对XML文档进行编码,增强了数据库中间件的伸缩性,提高了XML的处理效率。
3、给出并实现了自底向上“摘取对象”的分片算法。该算法在不依赖于XML文档模式的情况下能有效地将XML文档映射为传统的关系数据库模式,因此具有极强的适应性,非常适合半结构化XML数据的存储,使得能够以恰当的粒度分割XML文档,支持XML文档的并行处理,克服了文档对象模型(DOM)处理XML大文档时对内存的限制。在关系数据库中,XML数据仍然以格式良好的XML片断进行存储,保持了XML的一切特性。
4、给出并实现了XML文档重构算法,采用XML文档片断替换对象编码的策略,有效的解决了“来回车票”问题。
5、支持XML文档和面向对象编程语言中对象之间的相互转化,即支持XML数据绑定。还给出并实现了基于微型DOM的XML档的更新算法。
6、实现了数据库连接池,使得用户能够共享开放的连接,极大地提高了数据库效率。
根据OOXFSM模型和点分N进制编码方案,本文设计并实现了一种支持XML的关系数据库中间件,它能有效地解决XML在传统关系数据库上的存取问题。
最后举例说明了支持XML的数据库中间件的应用。实验表明:面向对象的XML文档分片存储模型是可行的、有效的;基于该模型的数据库中间件能应用于所有的关系数据库平台,具有良好的实用价值。