论文部分内容阅读
XML(eXtensible Markup Language,可扩展置标语言)是由W3C发布的一种标准,它具有文档的内容和结构完全分离,互操作性强,规范统一,扩展性强等优点。XML的常见应用领域包括数据交换,网络服务和电子商务等领域。随着XML数据量指数级的增长,要求更有效的数据管理能力和更快、更精确的查询,为XML文档存储专门设计的数据库管理系统Native XML Database(NXD)也随之出现。目前各大Native XML Database都实现了XML的树模型存储,并能够支持对于XML数据的标准查询语言Xpath和Xquery。但是,目前各大NXD对于XML更新和XML事务的支持还非常有限,它也是当前受到广泛重视的研究问题之一。CoSQL RX是由北京大学数据库实验室开发研制的双引擎数据库管理系统,在CoSQL RX之上如何高效地支持XML更新和事务是当前迫切需要解决的问题。
本文在深入分析了国内外研究工作的基础上,本文设计并实现了CoSQL RX中针对XML数据的锁协议,它能够对XML更新和事务进行良好的支持。本文的主要贡献包括:
1.设计并实现了能够支持XML更新和事务的存储模型,该存储结构对现有CoSQL RX的XML存储模型进修扩展,加入了XML文档的编码信息,以及事务的时间戳等信息。
2.基于当前CoSQL RX的锁管理机制,设计了一套支持更新操作的多粒度的XML锁协议,该协议包括子树级和节点级的锁,能够处理针对XML文档的插入,删除和更新操作。
3.设计了CoSQL RX中针对XML锁的死锁管理策略,它能够合理的分配系统的资源并及时的发现死锁情况,保证了整个系统的性能和效率。
4.在CoSQL RX中实现了上述锁协议,并通过实验证明,本文设计的XML锁协议具有简单、实用性强、高健壮性和高可扩展性等特点。