论文部分内容阅读
随着因特网应用的发展,XML成为数据描述和数据交换的标准,因此大量的XML文档出现在网络应用中。对于这种情况,XML数据的有效存储和XML数据的快速查询,成为当前急需解决的问题。针对这个问题,现阶段常用的处理办法是把XML数据存储到关系数据库中,对XML数据的存取采用SQL语言查询的方法。这种方法可以利用现有成熟的关系数据库产品,可以依据成熟完备的关系数据库理论来解决XML数据的存储和存取过程中的某些问题。 现阶段的研究中,虽然关系数据的理论研究和应用都比较成熟,但是用关系数据库来存放XML数据仍然存在很多问题,这些问题包括:将树状结构的XML数据转换成关系数据库的二维关系表形式时的语义信息丢失的问题;XML查询(例如XPath和XQuery)等不能直接在关系数据库上执行,需要转换成SQL查询的问题;并且其关系表形式的查询结果还必须要还原成树状形式的XML数据,还原过程导致的效率严重下降问题等等。 基于以上原因,本实验室自主设计开发了SDML存储平台,它以Native方式存储XML数据,保留XML数据的树状模型,并支持XPath和XQuery等XML查询以读取数据。本文在SDML存储平台的基础上,研究了一套针对XML数据的完整的基于封锁的并发控制理论及实现,用于并发方式下,解决由于封锁粒度过大所造成的访问瓶颈。 在现有的XML数据库系统中,加锁的粒度是整个文档,事务并发的层次也在文档一级。随着应用级文档的日益增大,这个粒度在一定程度上将会成为系统效率的瓶颈。基于以上原因,本文针对XML文档并发访问的问题,提出了基于封锁的并发控制,其创新点就在于: 1.提出了用于XML文档各个级别的封锁机制 本文在对XML文档的并发访问中,提出了包含多种封锁粒度的加锁机制,包括文档级、子树级、节点级、路径级等; 2.应用于SDML存储平台的封锁机制 本文在结合SDML存储平台特点的基础上,对各种封锁机制在SDML存储平台上的实现方法给出设计方案;