论文部分内容阅读
由于XML数据具有自描述特点,可以支持用户自定义的标记,符合Internet上数据描述和存储的需求,所以XML正在逐渐成为Internet上数据表示和数据交换的实际标准。随着其规模和复杂性的快速增长,以XML格式表示和存储的数据得到了Internet领域和数据库领域研究人员的重视。Internet上的应用对XML数据的查询、定位和获取的需求不断增加,也引发了对XML数据进行合理存储和快速查询的要求。随着XML成为目前信息交换和表示的标准,XML数据库的应用也变得十分广泛,在所有XML数据库应用中,XML的相关查询占主要地位,尤其网络方面也存在多种XML数据库查询的应用。通常情况下,在XML数据库网络查询模式中客户端向远程XML数据库所在的服务器端提交一个XML查询,服务器端查询后,通过网络返回给客户端查询的结果。网络环境下的XML数据库查询应用,已存在多种优化技术,如查询重写,语义缓存。多种优化技术均是为了加快查询的响应速度或者减少查询的网络流量。不同于现有的工作,本文从一种新的角度对XML数据库网络查询进行优化,使用了一种新的优化技术,来减少网络流量,相关两个或者多个查询之间往往存在冗余,XML的树形机构更是加重了这种冗余的存在,所以在本文中,通过XPath查询集冗余去除一去除用户提交的两个或者多个关联XPath查询集合查询结果内存在的冗余来优化网络流量。本文首先介绍了XML,XPath查询的树模式,XML数据库查询网络应用方面相关概念和知识。接着,对目前XML数据库网络查询模式中存在的几种优化技术:语义缓存,利用物化视图进行查询重写等进行了详细的讲解,并与本文提出的冗余去除技术进行了比较,指出了其相同点和不同点,阐述了本文使用的优化技术的创新之处。文章主体部分给出了自主设计的XPath查询集冗余去除系统的框架,讲解了框架中各个模块的功能,框架的主体部分采用文中的冗余去除算法。XPath查询集冗余去除算法也是本文的主体部分,针对简单和带谓词的两种类型XPath查询集对算法进行了讲述:先通过实例阐述算法,再对相关的结论进行了证明。其中,算法对存在谓词分支的XPath查询集,利用了XPath查询树模式进行改进。系统对原有XPath查询集冗余去除的解决方案提出了改进,引入了查询相关性判断模块和DTD判断模块,后者利用DTD树对查询集在不同XML文档结构下的冗余度进行评估,并在算法中权衡选择网络流量和XPath查询复杂度,使之更能满足用户实际需求。最后,文章通过实验对算法相关的结论进行了验证,通过分析试验结果指出了算法优化和扩展的先进性。本文所做的工作对于当前网络流量仍占相关考核项重要地位的XML数据库网络查询模式应用有着重要意义,尤其是对某些依据网络流量进行计费的网络XML数据库应用。