论文摘要
随着Internet技术和计算机技术的不断发展,XML由于其所具有的自描述性、灵活的数据结构以及丰富的数据表示能力等特点,正在成为Web信息表示与数据交换的标准。面向对象的方法具有很强的建模能力,将面向对象的特征引入到XML中用来提高XML模式语言的建模能力。传统面向对象技术很难从根本上解决由于系统复杂度的提高而带来的代码混乱和代码纠缠问题。面向方面的程序设计正是针对这种实际情况被提出的。本文在对面向方面技术进行了深入分析的基础上,对面向方面技术的各个方面进行了系统的研究。比较了面向对象技术与面向方面基础的不同特征,提出并实现了—种基于面向方面的XML数据管理技术。本文主要的研究成果有以下几点:(1)对面向方面这种新型的方法进行分析,并且对面向对象理论在解决实际问题时的不足之处加以研究。在对比传统的面向对象的方法与面向方面的方法基础上,提出利用面向方面的方法对XML文档进行扩展。在XML文档定义中引入关注点这一概念和织入重要机制。通过实现对XML Schema的扩充,使XML文档定义具有面向方面编程技术的功能。实现织入、切入点与面向对象中继承、阻塞、重载等技术的结合对XML文档定义;(2)提出一种XML数据存储和查询的方法,该方法采用SAX技术输出XML流,并通过对原有编码的分析,对XML文档中各个元素进行扩展前缀编码,并随元素信息存入关系数据库。即在关系数据库中存放节点信息及节点之间的关系,使查询节点与子节点信息更方便,实现以文档为中心的大粒度文档的存储和查询,有效地提高了XML文档存储和查询效率;(3)在分析原有编码的方式基础之上,对原有扩展编码进行压缩。对于冗余节点信息进行重新编码,解决原有基于扩展前缀编码存储较大的XML文档结构信息时占用空间较大问题;(4)在分析现有单文档下的XML结构连接算法基础之上,对现有祖.先循裔与双亲/孩子结构查询进行改进.,提出了基于归并思想的,解决多文档下的结构连接算法,以适应在面向方面的XML Schema中定义的基于多文档的查询。该算法可以进一步利用XML数据的特点、索引和织入文档信息减少连接扫描的代价。最后,在本文关于面向方面的XML存储、索引和查询处理的研究基础上,设计并实现了相关的试验验证了本文所提方法的正确性和有效性。