论文部分内容阅读
XML作为一种全新的标记语言,以其扩展性、结构性、平台独立性和自描述性等诸多特性逐渐成为网络上数据表示和交换的事实标准。大量XML数据的出现给XML的存储和管理带来了巨大的挑战。关系数据库因其强大可靠的数据管理能力,被越来越广泛地用于存储XML数据。目前,基于关系数据库的XML数据的查询和更新的性能问题已成为国内外许多科研机构的研究热点。要想利用已有的关系数据库的优势,首先需要高效地将XML数据映射到关系数据库中。然而,由于缺乏对XML数据底层树状结构的认识,关系数据库系统难以充分地利用编码信息,这就影响了其查询和更新的性能。区域编码模式将XML文档转换为索引结构映射到关系数据库中,方便了XML数据的管理,更为重要的是,基于该索引结构提出的阶梯连接可充分利用XML数据底层树状结构信息有效地减少计算循环时的冗余操作。实验表明,利用该索引结构较其他实现方法可以显著地提高XPath和XQuery的处理效率。然而,由于区域编码模式在更新时,需要修改平均一半节点的pre值(文档树前序遍历时节点访问顺序),故其更新操作效率不高。因此,设计并实现一个基于区域编码模式的XML高效更新系统是一件十分有意义的工作。本文基于区域编码模式设计并实现XML数据原型更新系统XUpdate2SQL。本原型系统主要由两个部分组成:第一部分基于区域编码模式设计了XUpdate语言到SQL语言的翻译规则,并采用循环消除法将XUpdate语言中的循环转换为SQL语言中的连接,解决了XUpdate语言和SQL语言的差异性问题;然后根据此翻译规则通过BURG工具将XUpdate语法树转换成SQL语法树,完成整个编译过程,实现了XML数据的更新功能。本原型系统内部编译器的目标语言为SQL语言,遵循SQL92规则,支持当前流行的RDBMS,具有良好的通用性。第二部分设计并实现批量更新策略,通过引入增量BTree,不仅减少了需要更新的节点数目,而且节省了重建索引所耗时间。试验表明,批量更新策略大大提高了XML数据更新操作的效率。由于批量更新策略保持了原数据库内部结构的完整性,因此不依赖于某个特定的数据库系统,具有良好的可移植性。此外,为了方便不熟悉XUpdate语言的普通用户使用,XUpdate2SQL原型系统给出了图形化操作界面,并提供快捷菜单供用户自动生成XUpdate语句,增强了本系统的易用性。通过测试验证,XUpdate2SQL原型系统在保持高效的查询性能的同时,提高了XML文档更新操作的性能,使系统的整体性能得到提高。XUpdate2SQL原型系统的通用性、高效性、可移植性和易用性构成了本文的最大的特色和创新之处。最后,本文综合评估了XUpdate2SQL原型系统的优点和有待进一步完善之处,提出了今后需要深一步开展的研究工作。