论文部分内容阅读
随着XML相关标准的推广和应用,如何有效管理大规模的XML数据成为数据库领域的一个研究热点。为尽可能重用关系数据库领域已有的众多成熟理论和技术,如事务管理、存储管理、锁管理、安全性管理等,将XML数据管理功能嵌入到传统的关系型数据库中成为目前流行的研究趋势。
作为一个功能完善的数据库,为有效支持XML数据上的联机事务处理,DBMS在提供XML查询处理操作的同时,还必须能够执行各种XML数据更新操作。这种更新不仅包括XML文档的整体更新,还包括对XML文档中某一部分结构或者内容进行更新。由于XML的半结构化数据模型有别于关系数据库中基于元组的结构化数据模型,XML数据在进行更新时,需要对关系数据库的事务处理和并发控制技术进行调整和加强。目前关于XML事务处理的研究尚处于起步阶段,虽然有研究人员已经提出了一些事务模型和并发控制协议,但是这些模型都是针对于原生XML数据库系统,而针对与关系数据无缝集成的XML事务管理依然缺乏一个通用的处理架构。此外,在执行关系数据和XML数据混合更新的基础上,如何保证更新后的XML文档依然符合定义在其上的结构约束和属性约束也是需要研究的一类问题。
为弥补当前关系数据库在XML数据更新事务处理方面的缺陷,论文探讨了一种与关系数据无缝集成的XML事务处理方案,提出了XML与关系数据混合更新的层次架构;在此基础上,提出了多类型事务调度模型和一整套针对XML事务的并发控制管理策略。论文的主要内容包括:
(1)兼顾到XML数据和关系型数据逻辑结构的差异性,本文将XML数据更新纳入到关系型数据事务的处理架构中,提出了与关系数据库无缝集成的XML更新的层次模型XR-Update,构建了XML数据和关系型数据的混合更新引擎-XRUE,将XML数据更新和关系型数据更新融为一体,并在此基础上提出了XML数据和关系数据的混合更新算法。
(2)嵌入XML事务处理引擎的关系数据库系统构成了一个集成系统,在集成系统的事务执行过程中,XML数据与关系型数据不同的加锁粒度造成了系统整体事务并发度下降。本文基于混合更新框架,提出了多类型事务概念,详细分析了多类型事务中的操作类型;并依据操作类型,将关系事务和XML事务进行区分,建立了与各自事务并发控制策略无关的调度模型,提出了调度算法;并针对XML文档替换操作,提出了解决此类冲突的并发控制协议。
(3)多个XML事务同时执行各自的更新序列会引出XML并发控制问题。本文兼顾到XML数据和关系型数据逻辑结构的差异性,基于二层表模型,将XML事务的并发控制策略有机地纳入到关系数据库的并发控制体系中,针对只读事务之间以及读写事务之间的冲突,提出了基于元组的多版本时间戳协议一MVXR;针对更新事务之间的写写冲突,提出了基于局部路径加锁策略的XML数据并发控制协议—XLP。该协议减少了事务对锁的频繁请求,提高了事务的并发度和执行效率。
(4)使用XML文档存储和交换信息,需要定义XML模式对XML数据施加特有的结构约束和属性约束。对一篇有效的XML文档执行一系列更新操作后,保证得到的文档仍然有效是XML数据更新领域一个重要的问题。已有的XML文档纠错算法的时间复杂度很高,为指数级别。本文提出了一种基于更新操作冲突检测策略的XML文档自动纠错算法,在算法中,提出了基于路径的数据模型,该模型将XML文档片段和XML模式的树状结构扁平化为与之等价的路径集合;针对于不符合模式约束的XML文档,采用动态规划算法实现了一次一路径的纠错,并通过更新操作冲突检测策略获取全部合法候选路径,实验表明本文提出的自动纠错算法大大降低了纠错算法的时间复杂度。