论文部分内容阅读
随着网络应用的快速发展,XML(eXtonsible Markup Language)数据正成为主流的数据形式,如何对XML数据建立有效索引进而实现高效查询是当前的研究热点。大部分XML相关索引和查询技术基于某种对XML树的编码方法。XML编码方法保存了文档树的结构信息,使得在执行查询时不必遍历整个XML文档。传统的区间编码方法和前缀编码方法支持XML节点间位置关系和结构关系计算,但是不能有效处理文档更新,一旦更新发生,整个树需要重新编码,系统代价高。为解决该问题,研究人员提出了动态XML编码方法,包括浮点数区间、CDBS(Compact Dynamic Binary String)、QED(Dynamic Quaternary Encoding)以及DDE(Dynamic Dewey)等。动态XMK编码方法一定程度上避免了文档更新时的重新编码,但仍存在时空开销大、对倾斜插入敏感、不能重用已删编码等问题。本文研究集中于动态XML编码机制的性能优化。XML首先,XML文档更新涉及节点插入和删除,当在删除位置插入新节点时,如果新节点能够对已删编码进行重用,则可以控制编码长度的增长速度,提高查询性能。CDBS和QED的编码重用已经有相关研究,而对于DDE编码,却是一个难点。基于Stern-Brocot树,提出了DDE编码的改进方法——IDD(ImprovodDDE)。IDD将最短位长中间编码赋予新节点,能够对已删编码进行重用,有效控制了删除和操作都发生的更新环境下DDE编码位长,提高了XML频繁更新时的编码效率和查询性能。
此外,针对已有动态区间编码方法普遍存在的初始编码空间复杂度高,倾斜插入编码长度增长迅速等问题,本文提出了新的适用于XML文档更新环境下的区间编码方法-DCLS(Dynamic Containment Labeling Scheme)。DCLS利用整数进行初始编码,具有计算简单,额外空间复杂度低、存储效率和查询性能高等优点;同时,DCLS将整数视为特殊向量,不仅支持文档更新,而且更新效率高,特别是倾斜插入时,DCLS可以避免编码位长的快速增加。
实验结果表明,相比于已有动态XML编码方法,IDD和DCLS有更好性能。XML