计算机科学与探索 ›› 2012, Vol. 6 ›› Issue (9): 829-843.DOI: 10.3778/j.issn.1673-9418.2012.09.007
周军锋+,田姗姗,蓝国翔,陈子阳,郭景峰
ZHOU Junfeng+, TIAN Shanshan, LAN Guoxiang, CHEN Ziyang, GUO Jingfeng
摘要: 针对已有方法在XML数据上基于SLCA(smallest lowest common ancestor)语义处理查询时存在的冗余计算问题,提出了一种基于列存储的倒排索引CList,用于避免已有方法的倒排表中相同数据重复存储的问题。基于CList,提出了一种自顶向下的查询处理算法TDCOL(top-down SLCA computation based on column storage)来提升系统的处理性能。对于给定查询Q={k1, k2, ..., km}的每个公共祖先结点, TDCOL在保证仅处理一次的情况下即可得到所有满足条件的结果, 因而将时间复杂度降为[O(m×|LID1|×lb|Skmaxch(v)|)],其中[|LID1|]是Q的最短倒排表中包含的不同ID值的数目,[Skmaxch(v)]是所有被处理结点的包含关键字的孩子结点集中的最大集合。最后通过比较各种指标,从不同角度对TDCOL算法的性能优势进行了验证。