Xml数据库系统的xml文档组织管理方法及系统的制作方法

文档序号:6363294阅读:111来源:国知局
专利名称:Xml数据库系统的xml文档组织管理方法及系统的制作方法
技术领域
本发明涉及ー种XML数据库领域,尤其涉及XML数据库系统的XML文档组织管理方法及系统。
背景技术
XML数据库管理系统(XMLDBMS)是ー种以存储和检索符合W3C标准的XML文档数据为目标的数据库管理系统。由于它存储的对象是XML文档,因此XMLDBMS本质上就是ー 种XML文档库。相比把XML文档存放到文件系统的方法,使用XMLDBMS可以实现XML文档的高效的存储,查询和全文检索,并且在文档数据访问中提供事务语义,确保数据安全性和完整性。在XML数据库管理系统,由于可能存储的XML文档数目巨大,所以一般都会使用到 XML文档容器的概念。也就是将若干个XML文档存放在一个文档容器中。这样用户就可以根据实际使用需要归类存储和管理文档,在用户看来文档容器就像目录ー样用于存放XML 文档;同时使用了文档容器也可以让XMLDBMS内核更加高效地响应文档存储和查询请求。有些系统只实现了单层文档容器,也就是文档容器内部只能存放文档,不可以存放下一级文档容器。这样的XMLDBMS实现起来简单,运行起来高效,但是对于用户来说不是很方便。因为他们无法使用习惯的文件系统目录树来分层组织管理XML文档;另外ー些系统实现了类似操作系统文件系统目录树的多层存储方式,在任何一个文档容器内部可以包含其他文档容器或者文档。这样用户可以把文件系统的使用习惯照搬到XMLDBMS中,因而更容易被用户接受。不过这种多层存储对系统性能影响较大,实现代价也很高。因此,现有的XML数据库管理系统中,存在以下缺点若使用单层文档容器来存放文档,虽然运行高效,但是用户使用不方便;若使用传统的目录权多层存储方式存放文档,虽然符合用户使用的习惯,但是运行效果比较差。

发明内容
本发明的第一目的在于提供ー种XML数据库系统的XML文档组织管理方法,以解决现有技术中存储运行效率和使用方便不能兼得的技术缺点。本发明的第二目的在于提供ー种XML数据库系统的XML文档组织管理系统,以解决现有技术中存储运行效率和使用方便不能兼得的技术缺点。ー种XML数据库系统的XML文档组织管理方法,包括将XML数据库系统中的逻辑数据视图和物理文档存储进行分离,其中,所述物理文档采用单层文档容器存储XML文档,且文档容器内不可创建新的文档容器,所述逻辑数据视图向用户提供多层存储的逻辑视图,建立XML文档或文档集合与其它文档或文档集合的关系;XML数据库系统的元数据建立所述逻辑数据视图和所述物理文档存储之间的映射关系;
4
当用户使用所述逻辑数据视图中的ー个路径访问XML文档时,通过元数据找到对应的该XML文档的物理位置,再通过所述物理文档存储可得到XML文档数据。建立所述逻辑数据视图和所述物理文档存储之间的映射关系进一歩包括建立文件项目录层次表和建立文件项信息表,所述文件项为ー个XML文档或文档集合,其中,所述文件项目录层次表记录着一个文档或文档集合与其上级文件集合之间的关系,其至少包括该文档或文档集合的标识信息、上级文件集合的标识信息;所述文件项信息表记录着每个文件项与物理数据存储的对应关系,其至少包括文件项中该XML文档或该文档集合的标识信息、该XML文档或该文档集合对应物理存储的文档容器标识及物理文档标识。ー种XML数据库系统的XML文档组织管理系统,包括元数据、路径解析単元和XML 文档管理単元,其中元数据进一歩包括文件项目录层次表和文件项信息表,所述文件项目录层次表记录着一个文档或文档集合与其上级文件集合之间的关系,其至少包括该文档或文档集合的标识信息、上级文件集合的标识信息;所述文件项信息表记录着每个文件项与物理数据存储的对应关系,其至少包括文件项中该XML文档或该文档集合的标识信息、该XML文档或该文档集合对应物理存储的文档容器标识及物理文档标识;路径解析単元用于当用户使用所述逻辑数据视图中的ー个路径访问XML文档吋,通过元数据找到对应的该XML文档的物理位置,再通过所述物理文档存储可得到XML文档数据;XML文档管理単元分别连接文件项目录层次表、文件项信息表和路径解析単元, 用于接收用户包括查看、修改、删除、新增XML文档时,通过路径解析单元来获得数据,并修改对应的文件项目录层次表和文件项信息表,接收用户修改逻辑数据视图,修改对应的文件项目录层次表。与现有技术相比,本发明具有以下优点本发明中,把XMLDBMS的逻辑数据视图与物理文档存储分离开来并且使用元数据表建立二者的映射关系,把传统两种XMLDBMS文档组织方法的优点结合起来并且避免了它们的缺点,这样在XMLDBMS的内核设计和开发方面可以仍然遵循单层的文档容器的技木, 由此可达到实现简单、运行高效的目的;同时可以为用户提供层次的目录树视图和灵活的 XML文档组织方式,最大程度的方便用户使用。还有,本发明还扩展了文件系统目录树的功能,使得任何ー个XML文档或者“目录”可以出现在多个其他“目录”当中,这样,这些“目录”和XML文档构成了ー个有向无环图(DAG)而不是简单的目录树结构,使得用户对XML文档的组织管理非常灵活。


图1为本发明中的逻辑数据视图与物理数据存储之间的关系图;图2为本发明中的路径解析流程示例图;图3为本发明中的XML数据库系统的XML文档组织管理系统的原理示意图。
具体实施例方式以下结合附图,具体说明本发明。ー种XML数据库系统的XML文档组织管理方法,包括将XML数据库系统中的逻辑数据视图和物理文档存储进行分离,其中,所述物理文档采用单层文档容器存储XML文档,且文档容器内不可创建新的文档容器,所述逻辑数据视图向用户提供多层存储的逻辑视图,建立XML文档或文档集合与其它文档或文档集合的关系;XML数据库系统的元数据建立所述逻辑数据视图和所述物理文档存储之间的映射关系;当用户使用所述逻辑数据视图中的ー个路径访问XML文档时,通过元数据找到对应的该XML文档的物理位置,再通过所述物理文档存储可得到XML文档数据。S卩,本发明将XMLDBMS的逻辑数据视图和物理数据存储分开,在物理存储方面仍然使用单层的文档容器存储XML文档,文档容器内不可以创建新的文档容器,只能存储XML 文档。同时在逻辑数据视图方面,提出了文档集合的概念。一个文档集合可以包含任意数目的其他文档集合或者XML文档,并且这些XML文档可以来自任意多个文档容器,同时ー个 XML文档可以被多个文档集合所包含。在XMLDBMS的元数据中有专门的数据表记录逻辑数据视图与物理数据存储之间的映射关系(如图1所示),也就是记录了每ー个文档集合内包含的文档集合与文档的编号集合,每个文档所对应的物理文档存储中的文档容器编号和XML文档编号。当用户使用 ー个路径访问ー个XML文档的时候,系统通过查找元数据表,从路径的根节点开始依次得到下一级文档集合,最终得到XML文档的物理位置,并且使用物理存储系统得到XML文档数据。实施例一为了存储逻辑数据视图与物理数据存储之间的映射关系,需要维护两张元数据表文件项目录层次表和文件项信息表。这里的ー个文件项就是ー个XML文档或者文档集合。文件项目录层次表记录着一个文档或者文档集合与其上级文档集合之间的关系。 在本实例中,文件项目录层次表可以以行的形式记录文档或文档集合的目录层次关系,这样行与文档或文档集合就有了映射关系。文件项目录层次表可至少包括该文档或文档集合的标识信息、上级文件集合的标识信息。比如,在本实例中具体包含以下字段{文件项编号,父文件项编号,文件项名称,文件项类型}。其中的“文件项类型”是“XML文档”或者 “文档集合”;“文件项名称”非空并且不是唯一的,但是{父文件项编号,文件项名称}是唯一的;这个表的主键是{文件项编号,父文件项编号},并且“父文件项编号”是指向本表的 “文件项编号”的外键。从这里可以看出,文件项目录层次表存储了完整的逻辑数据视图,这个视图中的文件项节点构成了一个有向无环图(DAG)。文件项信息表记录了每个文件项与物理数据存储的对应关系,在本实例中,可以每一行记录每个文件项与物理数据存储的对应关系。这样,行与文件项就有着映射关系。 其至少包括文件项中该XML文档或该文档集合的标识信息、该XML文档或该文档集合对应物理存储的文档容器标识及物理文档标识。在本实例中,其主要包含以下字段{文件项编号,文件项类型,物理文档容器编号,物理文档编号}。其中的各种编号字段的值都是全数据库范围内唯一的,因而唯一地标识了每个对象。 通过使用这两张表,就可以存储逻辑数据视图及其与物理数据存储之间的关系。
以下就具体访问、新增或删除XML文档,或新增或删除XML文档集合的具体管理操作。(一)访问该XML文档请參阅图2,其为ー种解析路径,得到XML文档内容的流程示例图。它包括Al 接收用户使用文档的访问路径P来得到XML文档(Slll);A2 判断路径P是否还有未知路径(S 112),如是,则去除P的当前根节点名 N(S113),并进行步骤A3,否则进行步骤S121 ;A 3 当以当前所在文档集合编号N为条件查询所述文件项目录层次表(Si 14),判断是否找到N的文件项编号I (S115),如是,则以I作为新的当前所在文件项编号(S116), 后进行步骤A2,否则该路径为无效访问路径(S117)。A4 以I为条件查询文件项信息表(S121),再判断是否找文件项对应的文档容器编号和文档编号PN1,PN2(步骤S122),若是,则在Pm中查询得到文档PN2的内容并返回给用户(S124),否则为元数据错误(步骤S123)。举例说明当需要访问produc t. xml的时候,访问路径是”/root/ABC/product, xml”,路径解析模块通过逐级查询上述两个元数据表,先找到/root的编号123,然后以 (123, "ABC")为条件找到/root/ABC的编号124,然后以(124, "product, xml")为条件找到”/root/ABC/product, xml”的编号125,这样就计算出了这个路径下的XML文档编号为 125。然后在文件项信息表中以125为条件找到它所对应的物理XML文档的编号M及其所在的物理文档容器的编号N,然后就可以使用(M,N)从该容器中得到这个XML文档的数据。 图2展示了路径解析算法流程。( ニ)新增文档集合或某一 XML文档当需要増加一新的文档集合到某一文件集合吋,向所述文件项目录层次表中插入一条记录,至少将该文档集合的标识信息、上级文件集合的标识信息保存在该记录中。当需要増加一新的文档至某一文件集合吋,先向所述文件项目录层次表中插入ー 条记录,至少将该文档的标识信息、上级文件集合的标识信息保存在该记录中;再向所述文件项信息表中插入另一条记录,至少将该文档的标识信息、该XML文档存储的物理文档容器标识和物理文档标识存储在该记录中。举例来说当増加ー个新的文档集合”ABC”到编号为123,名称为”root”的文件集合中吋,就向文件项目录层次表中插入一条记录(1 ,123,“ABC”,“文档集合”)。如果再向”ABC”中増加ー个XML文档”product, xml”,那么就向文件项目录层次表中插入一条记录 (125,124, "product, xml", ”文档”),并且向文件项信息表中插入记录(125,“文档”,1,1), 这里假设product, xml文档对应于存放在编号为1的文档容器中并且在其中的编号也是1 的XML文档。(三)删除文档集合或某一XML文档当以使用所述逻辑数据视图中的一个路径删除ー XML文档时,先找到该XML文档所在的文档容器标识及物理文档标识,从所述物理文档存储中删除该XML文档内容,再删除所述文件项信息表中该XML文档对应的记录,后删除文件项目录层次表中对应的记录。当以使用所述逻辑数据视图中的ー个路径删除一文档集合时,按照上述方法删除文件集合中的每个XML文档,再删除所述文件项目录层次表中该文档集合对应的记录。举例来说,当删除” /root/ABC/produc t. xml,,这个文件项时,按照上述查找方法找到该文档的编号125及其所在的文档集合” ABC”的编号IM之后,删除文件项目录层次表中以(124,125)为主键的行,以及文件项信息表中以125为主键的行即可。如果要删除文档集合”/root/ABC”,则需要先按照上述方法依次删除”ABC”中每个文档并且递归删除其中每个文档集合,然后再从” /root”中删除” ABC”文件项。从逻辑角度来说,ー种XML数据库系统的XML文档组织管理系统,包括元数据、路径解析単元和XML文档管理単元(请參阅图3),其中元数据进一歩包括文件项目录层次表11和文件项信息表12,所述文件项目录层次表11记录着一个文档或文档集合与其上级文件集合之间的关系,其至少包括该文档或文档集合的标识信息、上级文件集合的标识信息;所述文件项信息表12记录着每个文件项与物理数据存储的对应关系,其至少包括文件项中该XML文档或该文档集合的标识信息、该XML文档或该文档集合对应物理存储的文档容器标识及物理文档标识;路径解析単元14 用于当用户使用所述逻辑数据视图中的ー个路径访问XML文档吋,通过元数据找到对应的该XML文档的物理位置,再通过所述物理文档存储可得到XML文档数据;XML文档管理単元13 分别连接文件项目录层次表、文件项信息表和路径解析单元,用于接收用户包括查看、修改、删除、新增XML文档时,通过路径解析单元来获得数据, 并修改对应的文件项目录层次表和文件项信息表,接收用户修改逻辑数据视图,修改对应的文件项目录层次表。以上公开的仅为本申请的几个具体实施例,但本申请并非局限于此,任何本领域的技术人员能思之的变化,都应落在本申请的保护范围内。
权利要求
1.ー种XML数据库系统的XML文档组织管理方法,其特征在干,包括将XML数据库系统中的逻辑数据视图和物理文档存储进行分离,其中,所述物理文档采用单层文档容器存储XML文档,且文档容器内不可创建新的文档容器,所述逻辑数据视图向用户提供多层存储的逻辑视图,建立所述XML文档或文档集合与其它文档或文档集合的关系;XML数据库系统的元数据建立所述逻辑数据视图和所述物理文档存储之间的映射关系;当用户使用所述逻辑数据视图中的ー个路径访问XML文档时,通过元数据找到对应的所述XML文档的物理位置,再通过所述物理文档存储可得到所述XML文档数据。
2.如权利要求1所述的方法,其特征在干,建立所述逻辑数据视图和所述物理文档存储之间的映射关系进一歩包括建立文件项目录层次表和建立文件项信息表,所述文件项为ー个XML文档或文档集合,其中,所述文件项目录层次表记录着一个文档或文档集合与其上级文件集合之间的关系,其至少包括该文档或文档集合的标识信息、上级文件集合的标识信息;所述文件项信息表记录着每个文件项与物理数据存储的对应关系,其至少包括文件项中该XML文档或该文档集合的标识信息、该XML文档或该文档集合对应物理存储的文档容器标识及物理文档标识。
3.如权利要求2所述的方法,其特征在干,所述文件项目录层次表中所述文档或文档集合构成一有向无环图DAG。
4.如权利要求2所述的方法,其特征在干,所述文件项目录层次表中包括字段{文件项编号,父文件项编号,文件项名称,文件项类型},其中,所述“文件项类型”是“XML文档” 或者“文档集合”;所述“文件项名称”非空并且不是唯一的,但是{父文件项编号,文件项名称}是唯一的;所述文件项目录层次表的主键是{文件项编号,父文件项编号},并且所述 “父文件项编号”是指向本表的所述“文件项编号”的外键。
5.如权利要求2或4所述的方法,其特征在干,所述文件项信息表包含以下字段{文件项编号,文件项类型,物理文档容器编号,物理文档编号},其中的各种编号字段的值都是全数据库范围内唯一的。
6.如权利要求5所述的方法,其特征在干“当用户使用所述逻辑数据视图中的ー个路径访问XML文档时,通过元数据找到对应的该XML文档的物理位置”进ー步包括Al 接收用户使用文档的访问路径P来得到XML文档;A2 判断路径P是否还有未知路径,如是,则去除P的当前根节点名N,并进行步骤A3, 否则以I为条件查询文件项信息表,得到XML文档数据;A3:当当前所在文档集合编号N为条件查询所述文件项目录层次表,判断是否找到N的文件项编号I,如是,则以I作为新的当前所在文件项编号,后进行步骤A2,否则该路径为无效访问路径。
7.如权利要求2所述的方法,其特征在于,还包括当需要増加一新的文档集合到某一文件集合吋,向所述文件项目录层次表中插入一条记录,至少将该文档集合的标识信息、上级文件集合的标识信息保存在该记录中。
8.如权利要求2所述的方法,其特征在于,还包括当需要増加一新的文档至某一文件集合吋,先向所述文件项目录层次表中插入一条记录,至少将该文档的标识信息、上级文件集合的标识信息保存在该记录中;再向所述文件项信息表中插入另一条记录,至少将该文档的标识信息、该XML文档存储的物理文档容器标识和物理文档标识存储在该记录中。
9.如权利要求2所述的方法,其特征在于,还包括当以使用所述逻辑数据视图中的一个路径删除ー XML文档时,先找到所述XML文档所在的文档容器标识及物理文档标识,从所述物理文档存储中删除所述XML文档内容,再删除所述文件项信息表中所述XML文档对应的记录,后删除所述文件项目录层次表中对应的记录。
10.如权利要求9所述的方法,其特征在干,当以使用所述逻辑数据视图中的一个路径删除一文档集合吋,按照权项9的方法删除文件集合中的每个XML文档,再删除所述文件项目录层次表中所述文档集合对应的记录。
11.ー种XML数据库系统的XML文档组织管理系统,其特征在干,包括元数据、路径解析単元和XML文档管理単元,其中元数据进一歩包括文件项目录层次表和文件项信息表,所述文件项目录层次表记录着一个文档或文档集合与其上级文件集合之间的关系,其至少包括所述文档或文档集合的标识信息、上级文件集合的标识信息;所述文件项信息表记录着每个文件项与物理数据存储的对应关系,其至少包括文件项中所述XML文档或该文档集合的标识信息、所述XML文档或所述文档集合对应物理存储的文档容器标识及物理文档标识;路径解析単元用于当用户使用所述逻辑数据视图中的ー个路径访问XML文档时,通过元数据找到对应的所述XML文档的物理位置,再通过所述物理文档存储可得到XML文档数据;XML文档管理単元分别连接文件项目录层次表、文件项信息表和路径解析単元,用于接收用户包括查看、修改、删除、新增XML文档时,通过所述路径解析单元来获得数据,并修改对应的所述文件项目录层次表和所述文件项信息表,接收用户修改逻辑数据视图,修改对应的所述文件项目录层次表。
全文摘要
一种XML数据库系统的XML文档组织管理方法及系统,该方法包括将XML数据库系统中的逻辑数据视图和物理文档存储进行分离,其中,所述物理文档采用单层文档容器存储XML文档,且文档容器内不可创建新的文档容器,所述逻辑数据视图向用户提供多层存储的逻辑视图,建立XML文档或文档集合与其它文档或文档集合的关系;XML数据库系统的元数据建立所述逻辑数据视图和所述物理文档存储之间的映射关系;当用户使用所述逻辑数据视图中的一个路径访问XML文档时,通过元数据找到对应的该XML文档的物理位置,再通过所述物理文档存储可得到XML文档数据。本发明以解决现有技术中存储运行效率和使用方便不能兼得的技术缺点。
文档编号G06F17/30GK102567545SQ20121001289
公开日2012年7月11日 申请日期2012年1月16日 优先权日2012年1月16日
发明者关健, 刘钰, 孙伟丰, 徐邵稀, 朱鸿斌, 李泉, 王文军, 程仁波, 罗正海, 赖铮, 赵伟, 郑程光 申请人:上海方正数字出版技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1