CN101504660A - 一种纯扩展标记语言数据库的查询管理方法及其系统 - Google Patents

一种纯扩展标记语言数据库的查询管理方法及其系统 Download PDF

Info

Publication number
CN101504660A
CN101504660A CNA2009100793017A CN200910079301A CN101504660A CN 101504660 A CN101504660 A CN 101504660A CN A2009100793017 A CNA2009100793017 A CN A2009100793017A CN 200910079301 A CN200910079301 A CN 200910079301A CN 101504660 A CN101504660 A CN 101504660A
Authority
CN
China
Prior art keywords
node
page
xml
code
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2009100793017A
Other languages
English (en)
Inventor
冯建华
李国良
张鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CNA2009100793017A priority Critical patent/CN101504660A/zh
Publication of CN101504660A publication Critical patent/CN101504660A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种纯扩展标记语言数据库的查询管理方法及其系统,属于计算机纯扩展标记语言数据库的查询管理技术领域。包括数据文件管理模块,用于对数据进行处理,其将XML数据记录存储在页的各个槽里,每页都有惟一的页号,而页里的每一个槽都有惟一的槽号,用“页号+槽号”惟一地定位一条记录的位置,存放同一个XML文档数据的页用页头的指针连接起来,构成一个双向链表,节点存储结构中包含code域,用于被关系分析单元赋予code值;查询操作模块,用于实现查询操作,含有关系分析单元和结构连接单元,用于执行结构连接操作。本发明的查询管理方法和查询管理系统具有较高的时间性能,能够大幅度提高查询效率,并且便于实现和应用。

Description

一种纯扩展标记语言数据库的查询管理方法及其系统
技术领域
本发明涉及一种纯扩展标记语言数据库的查询管理方法及其系统,属于计算机纯扩展标记语言数据库的查询管理技术领域。
背景技术
为了克服HTML技术和SGML技术所存在的不足,XML技术得以出现。XML的全称是eXtensible Markup Language(以下简称扩展标记语言),它是一种专门为互联网所设计的标记语言。XML的重点是管理信息的数据本身,数据的显示交给其他技术解决。可以说,XML技术从诞生之日就预示了它辉煌的未来,特别是随着近些年Web Service的蓬勃发展,XML越来越多地活跃在数据交换和存储领域。
目前,XML已经成为互联网上数据表示和数据交换的新标准,其可以创建标记和文法结构,以便于结构化地描述特定领域的信息,从而提供一种处理数据的最佳方式。无论在数据表示和存储方面,还是在数据的传输和处理方面,XML都有独特的优势。首先,XML技术实现不同数据源之间的数据交换。XML和Java一样具有跨平台特性。XML的跨平台特性在于它提供了一种不同的数据源之间进行数据交换的公共标准,是一种公共的交互平台。其次,XML技术实现了一份数据多种显示。XML标记语言将信息的数据部分和信息的样式部分进行了区分。面对一个XML文档,只知道该XML文档存放的是什么数据,而没有办法决定这些数据将来的显示样式。也就是说一个XML文档并不决定数据的显示样式,数据的显示部分是由其他语言来解决的,这就给我们机会来按照自己的意愿给一份数据随意添加多种样式。另外,XML技术实现了数据的分布式处理。XML是一种针对互联网而设计的标记语言,一个保存有数据的XML文档可以在互联网自由传送。当XML格式的数据被发送给客户端后,客户可以通过应用软件从XML文档中提出这些数据,进而对它进行编辑和处理,而不仅仅是显示结果。XML文档对象模型(DOM)允许用脚本和其他编程语言处理XML格式的数据。而原来的HTML标记语言,即便是对一个字符的更改也都必须在服务器上进行,从而导致整个页面数据全部重新传输。因此,XML数据模型的一个优点就是将原来必须由服务器端处理的许多负载都分配到了客户端处理,从而降低了服务器的负担,优化了服务器的性能。还有,XML技术简单易学且功能强大。XML和HTML一样简单易学,同时它还继承了SGML的强大功能。整个XML1.0规范全部打印出来也不超过40页,而SGML的正式规范打印出来将超过500页。
需要强调的是,XML技术以树型结构组织数据,而传统的数据库采用二维表型的数据结构,从而XML文档难以存储到传统的数据库中。如何管理和存储XML文档成为产业界普遍关注的问题之一。
XML数据库是一个XML文档的集合,这些文档是持久的并且是可操作的。目前XML数据库有三种类型:一种称为XML Enabled Database(XEDB),即能处理XML的数据库。其特点是在原有的数据库系统上扩充对XML数据的处理功能,使之能适应XML数据存储和查询的需要。能处理XML的数据库的主要思路在于,将XML文档映射并存储到关系数据库系统中。这种方法的缺点是当前的关系数据库系统与XML的负载是不协调的,而且通过诸如结构化查询语言SQL(Structured Query Language)的接口访问XML数据会招致与存储无关的额外负担。另一种称为Native XML Database(NXD),即纯XML数据库。其特点是以自然的方式处理XML数据,以XML文档作为基本的逻辑存储单位。第三种称为Hybrid XMLDatabase(HXD),即混合XML数据库。根据应用的需求,可以视其为XEDB或NXD的数据库,比较典型的例子是Ozone。可以说,能处理XML的数据库和混合XML数据库是将XML数据查询转化成为原有数据库的查询表达并进行查询处理,然后将查询结果转化为XML数据。
能处理XML的数据库和混合XML数据库存在如下优点:用户不需要将传统数据库中原有数据重新移植到新系统中,只是稍加改变就可以支持XML应用;传统数据库技术很成熟;传统数据库知识和经验依然有效,用户不需要为了应用XML而再去学习一套新的数据库技术。前者存在如下缺点:XML文档存入到数据库时需要“打碎”,取出时需要“组合”,耗时而且可能出现错误,这个问题被称为“阻抗失配”;XML文档和数据库之间的模式转换复杂;现有数据库对以文档为中心、格式复杂的XML文档处理性能较差;所采纳的XML技术标准比较落后。纯XML数据库存在如下优点:XML文档存取无需模式转换,存取速度快;对格式复杂的XML文档有较好的支持;支持大部分的最新的XML技术标准。后者存在如下缺点:在传统数据库技术方面比较薄弱,没有经过时间的考验;知识比较新,相应的支持人员和文档资源都比较少;应用范围仅局限在XML应用领域中。因此,纯XML数据库具有明显优点,得到了产业界的普遍关注。
纯XML数据库的结构如图1所示,其中的查询管理器和数据文件管理器是纯XML数据库体系结构的核心。由于查询是数据库最为频繁的操作,因此在纯XML数据库的研究中,XML查询处理器是研究的热点。XML查询处理器的主要功能在于查询分解,查询优化和查询执行等,主要目的在于查询求解。目前,纯XML数据库的查询求解技术包括:基于XML文档索引或者结构索引的导航遍历技术;基于XML文档关系分析的结构连接技术;基于XML文档序列表示的序列匹配技术等。而上述查询求解技术的实现,需要借助于一定的数据文件管理技术。
基于XML文档索引或者结构索引的导航遍历技术主要通过文档索引或者结构索引的方式进行查询求解,文档索引主要采用倒排表或者B+树的方式实现,结构索引主要通过从XML文档数据中查找相应的索引的方式实现。基于XML文档关系分析的结构连接技术对XML文档树中的每个节点赋予一个或者多个文档关系数据,上述文档关系数据惟一地标识该节点在文档树中的位置,基于该文档关系数据判断不同节点之间的关系,然后基于该关系实现结构连接技术。基于XML文档序列表示的序列匹配技术通过将XML文档树转化成有序序列的方式实现查询,序列是用类似字符串匹配的方法求解用户查询的基本条件。
发明内容
本发明的目的是提出一种纯扩展标记语言数据库的查询管理方法及其系统,在已有的基于XML文档关系分析的结构连接技术中,对于纯XML数据库中基于文档关系分析的结构连接查询器以及与之对应的数据文件管理器进行研究,以期实现纯XML数据库的高速查询和数据管理。
本发明提出的纯扩展标记语言数据库的查询管理系统,含有:
数据文件管理模块,用于对数据进行处理,将扩展标记语言数据记录存储在页的各个槽里,每页都有惟一的页号,而页里的每一个槽都有惟一的槽号,可以用“页号+槽号”惟一地定位一条记录的位置,存放同一个扩展标记语言文档数据的页用页头的指针连接起来,构成一个双向链表,节点存储结构中包含code域,用于被关系分析单元赋予code值;
查询操作模块,用于实现查询操作,含有:
关系分析单元,用于进行节点间关系的分析,
结构连接单元,用于执行结构连接操作。
上述纯扩展标记语言数据库的查询管理系统中,所述的关系分析单元用于获得节点之间的关系,用于实现:
第一步:定义素数数列{pn},即P1=2,P2=3…;
第二步:给扩展标记语言文档树T的根节点code域赋值为1;
第三步:给扩展标记语言文档树T的第一层子节点的code域自左至右赋值为P1,P2,P3…;
第四步:给扩展标记语言文档树T的其他节点code域赋值:设某节点P的最大素数因子为Pk,则其子节点自左至右依次为P.code×Pk,P.code×Pk+1,P.code×Pk+2…。
上述纯扩展标记语言数据库的查询管理系统中,所述的结构连接单元给节点赋予用于查找所有的祖先后裔对,实现结构关系的查找,用于实现:
第一步:对文档树进行分层并且得到存储桶1;
第二步:在存储桶1中的AList的节点加以标识,并且被称为节点集AList’;
第三步:在存储桶1中的DList的节点的祖先加以标识,并且被称为节点集AList”;
第四步:节点集AList’和AList”的交集就是符合结构连接条件的祖先;
重复上述步骤,得到存储扩展标记语言文档树中深度为3,4,...,n的节点的存储桶,从而得到所有符合结构连接条件的祖先,并将查询结果输出。
本发明提出的纯扩展标记语言数据库的查询管理方法,包括如下步骤:
(1)数据文件管理步骤:对数据进行处理,将扩展标记语言数据记录存储在页的各个槽里,每页都有惟一的页号,而页里的每一个槽都有惟一的槽号,可以用“页号+槽号”惟一地定位一条记录的位置,存放同一个扩展标记语言文档数据的页用页头的指针连接起来,构成一个双向链表,节点存储结构中包含code域,用于被关系分析单元赋予code值;
(2)查询操作步骤:用于实现查询操作,其含有:
关系分析步骤,用于进行节点间关系的分析;
结构连接步骤,用于执行结构连接操作。
上述纯扩展标记语言数据库的查询管理方法中,所述的关系分析步骤用于获得节点之间的关系,包括:
第一步:定义素数数列{pn},即P1=2,P2=3…;
第二步:给扩展标记语言文档树T的根节点code域赋值为1;
第三步:给扩展标记语言文档树T的第一层子节点的code域自左至右赋值为P1,P2,P3…;
第四步:给扩展标记语言文档树T的其他节点code域赋值:设某节点P的最大素数因子为Pk,则其子节点自左至右依次为P.code×Pk,P.code×Pk+1,P.code×Pk+2…。
上述纯扩展标记语言数据库的查询管理方法中,所述的结构连接步骤给节点赋予用于查找所有的祖先后裔对,实现结构关系的查找,包括:
第一步:对文档树进行分层并且得到存储桶1;
第二步:在存储桶1中的AList的节点加以标识,并且被称为节点集AList’;
第三步:在存储桶1中的DList的节点的祖先加以标识,并且被称为节点集AList”;
第四步:节点集AList’和AList”的交集就是符合结构连接条件的祖先;
重复上述步骤,得到存储扩展标记语言文档树中深度为3,4,...,n的节点的存储桶,从而得到所有符合结构连接条件的祖先,并将查询结果输出。
本发明提出的纯扩展标记语言数据库的查询管理方法及其系统,其优点是具有较高的时间性能,能够大幅度提高对纯扩展标记语言数据库的查询效率,并且便于实现和应用。
附图说明
图1:纯XML数据库的结构示意图;
图2:纯XML查询处理系统的结构图;
图3:纯XML数据库的分槽页结构图;
图4:纯XML数据库关系分析方法的示例图;
图5:纯XML数据库节点存储结构的示意图;
图6:纯XML数据库节点存储结构的示例图;
图7:纯XML数据库结构连接方法的步骤一;
图8:纯XML数据库结构连接方法的步骤二;
图9:纯XML数据库结构连接方法的步骤三;
图10:纯XML数据库结构连接方法的步骤四。
具体实施方式
本发明提出的纯扩展标记语言数据库的查询管理方法及其系统中,纯XML数据库的结构示意图如图1所示。其中查询管理系统主要包括数据文件管理模块和查询操作模块两部分,其中首先由数据文件管理模块对XML数据进行处理,然后查询操作模块实现查询,查询操作模块包括关系分析单元和结构连接单元,分别进行XML节点间关系的分析以及结构连接操作,如图2所示。
数据关系模块将XML数据记录存储在页的各个槽里,即页的结构为分槽的页结构,如图3所示。文件中,每一页都有惟一的页号,而页里的每一个槽都有惟一的槽号,可以用“页号+槽号”,即用RID(Row IDentifier)来惟一地定位一条记录的位置。一条记录不能跨页存储,而对于非常大的文本结点还可以采用B树结构在多个页上进行组织数据。考虑到XML数据的更新,每个页里并不是写满数据,而是要预留一部分存储空间。每个页的空闲空间的多少都记录在相关的控制页里。存放同一个XML文档数据的页用页头的指针连接起来,构成一个双向链表,称为页链。其中节点存储结构中包含code域,用于被关系分析单元赋予code值,从而实现查询,如图5、6所示。
查询操作模块在对节点关系进行分析的基础上,执行结构连接操作,从而获得查询结果。其包括关系分析单元和结构连接单元。
关系分析单元用于获得节点之间的关系,其执行如下操作:
第一步:定义素数数列{pn},即P1=2,P2=3…;
第二步:给XML文档树T的根节点code域赋值为1;
第三步:给XML文档树T的第一层子节点的code域自左至右赋值为P1,P2,P3…;
第四步:给XML文档树T的其他节点code域赋值:设某节点P的最大素数因子为Pk,则其子节点自左至右依次为P.code×Pk,P.code×Pk+1,P.code×Pk+2…。
该关系分析转化的示例如图4所示。
结构连接单元给节点赋予用于查找所有的祖先后裔对,从而实现结构关系的查找。首先,分层并且得到存储桶1;接着,在存储桶1中的AList的节点都用格状图案加以标识,并且被称为节点集AList’;然后,在存储桶1中的DList的节点的祖先都用框加以标识,并且被称为节点集AList”;之后,节点集AList’和AList”的交集就是符合结构连接条件的祖先;同理,得到存储XML文档树中深度为3,4,…,n的节点的存储桶,从而得到所有符合结构连接条件的祖先,实现查询。该结构连接单元的操作如图7—10所示。
本发明提出的的纯XML数据库的查询管理方法和查询管理系统具有较高的时间性能,能够大幅度提高查询效率,并且便于实现和应用。

Claims (6)

1、一种纯扩展标记语言数据库的查询管理系统,其特征在于,该系统含有:
数据文件管理模块,用于对数据进行处理,将扩展标记语言数据记录存储在页的各个槽里,每页都有惟一的页号,而页里的每一个槽都有惟一的槽号,可以用“页号+槽号”惟一地定位一条记录的位置,存放同一个扩展标记语言文档数据的页用页头的指针连接起来,构成一个双向链表,节点存储结构中包含code域,用于被关系分析单元赋予code值;
查询操作模块,用于实现查询操作,含有:
关系分析单元,用于进行节点间关系的分析,
结构连接单元,用于执行结构连接操作。
2、如权利要求1所述的纯扩展标记语言数据库的查询管理系统,其特征在于其中所述的关系分析单元用于获得节点之间的关系,用于实现:
第一步:定义素数数列{pn},即P1=2,P2=3…;
第二步:给扩展标记语言文档树T的根节点code域赋值为1;
第三步:给扩展标记语言文档树T的第一层子节点的code域自左至右赋值为P1,P2,P3…;
第四步:给扩展标记语言文档树T的其他节点code域赋值:设某节点P的最大素数因子为Pk,则其子节点自左至右依次为P.code×Pk,P.code×Pk+1,P.code×Pk+2…。
3、如权利要求1或者2所述的纯扩展标记语言数据库的查询管理系统,其特征在于所述的结构连接单元给节点赋予用于查找所有的祖先后裔对,实现结构关系的查找,用于实现:
第一步:对文档树进行分层并且得到存储桶1;
第二步:在存储桶1中的AList的节点加以标识,并且被称为节点集AList’;
第三步:在存储桶1中的DList的节点的祖先加以标识,并且被称为节点集AList”;
第四步:节点集AList’和AList”的交集就是符合结构连接条件的祖先;
重复上述步骤,得到存储扩展标记语言文档树中深度为3,4,...,n的节点的存储桶,从而得到所有符合结构连接条件的祖先,并将查询结果输出。
4、一种纯扩展标记语言数据库的查询管理方法,其特征在于,该方法包括如下步骤:
(1)数据文件管理步骤:对数据进行处理,将扩展标记语言数据记录存储在页的各个槽里,每页都有惟一的页号,而页里的每一个槽都有惟一的槽号,可以用“页号+槽号”惟一地定位一条记录的位置,存放同一个扩展标记语言文档数据的页用页头的指针连接起来,构成一个双向链表,节点存储结构中包含code域,用于被关系分析单元赋予code值;
(2)查询操作步骤:用于实现查询操作,其含有:
关系分析步骤,用于进行节点间关系的分析;
结构连接步骤,用于执行结构连接操作。
5、如权利要求4所述的纯扩展标记语言数据库的查询管理方法,其特征在于其中所述的关系分析步骤用于获得节点之间的关系,包括:
第一步:定义素数数列{pn},即P1=2,P2=3…;
第二步:给扩展标记语言文档树T的根节点code域赋值为1;
第三步:给扩展标记语言文档树T的第一层子节点的code域自左至右赋值为P1,P2,P3…;
第四步:给扩展标记语言文档树T的其他节点code域赋值:设某节点P的最大素数因子为Pk,则其子节点自左至右依次为P.code×Pk,P.code×Pk+1,P.code×Pk+2…。
6、如权利要求4或者5所述的纯扩展标记语言数据库的查询管理方法,其特征在于所述的结构连接步骤给节点赋予用于查找所有的祖先后裔对,实现结构关系的查找,包括:
第一步:对文档树进行分层并且得到存储桶1;
第二步:在存储桶1中的AList的节点加以标识,并且被称为节点集AList’;
第三步:在存储桶1中的DList的节点的祖先加以标识,并且被称为节点集AList”;
第四步:节点集AList’和AList”的交集就是符合结构连接条件的祖先;
重复上述步骤,得到存储扩展标记语言文档树中深度为3,4,...,n的节点的存储桶,从而得到所有符合结构连接条件的祖先,并将查询结果输出。
CNA2009100793017A 2009-03-06 2009-03-06 一种纯扩展标记语言数据库的查询管理方法及其系统 Pending CN101504660A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2009100793017A CN101504660A (zh) 2009-03-06 2009-03-06 一种纯扩展标记语言数据库的查询管理方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2009100793017A CN101504660A (zh) 2009-03-06 2009-03-06 一种纯扩展标记语言数据库的查询管理方法及其系统

Publications (1)

Publication Number Publication Date
CN101504660A true CN101504660A (zh) 2009-08-12

Family

ID=40976906

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2009100793017A Pending CN101504660A (zh) 2009-03-06 2009-03-06 一种纯扩展标记语言数据库的查询管理方法及其系统

Country Status (1)

Country Link
CN (1) CN101504660A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324413A (zh) * 2013-06-13 2013-09-25 青岛海信移动通信技术股份有限公司 一种移动终端及其处理备忘信息的方法
CN103559321A (zh) * 2013-11-22 2014-02-05 方正国际软件有限公司 文档格式转换系统
CN106933893A (zh) * 2015-12-31 2017-07-07 北京国双科技有限公司 多维度数据的查询方法及装置
WO2020119143A1 (zh) * 2018-12-10 2020-06-18 厦门市美亚柏科信息股份有限公司 一种数据库删除记录的恢复方法及系统
US11416547B2 (en) 2016-09-21 2022-08-16 King Fahd University Of Petroleum And Minerals Method and system for querying an XML database

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324413A (zh) * 2013-06-13 2013-09-25 青岛海信移动通信技术股份有限公司 一种移动终端及其处理备忘信息的方法
CN103559321A (zh) * 2013-11-22 2014-02-05 方正国际软件有限公司 文档格式转换系统
CN106933893A (zh) * 2015-12-31 2017-07-07 北京国双科技有限公司 多维度数据的查询方法及装置
CN106933893B (zh) * 2015-12-31 2019-12-10 北京国双科技有限公司 多维度数据的查询方法及装置
US11416547B2 (en) 2016-09-21 2022-08-16 King Fahd University Of Petroleum And Minerals Method and system for querying an XML database
WO2020119143A1 (zh) * 2018-12-10 2020-06-18 厦门市美亚柏科信息股份有限公司 一种数据库删除记录的恢复方法及系统

Similar Documents

Publication Publication Date Title
Tan et al. Enabling query processing across heterogeneous data models: A survey
Atzeni et al. Uniform access to NoSQL systems
CN107491561B (zh) 一种基于本体的城市交通异构数据集成系统及方法
CN104160394B (zh) 用于半结构化数据的可缩放分析平台
US20200034364A1 (en) Query plan generation and execution in a relational database management system with a temporal-relational database
CN105122243B (zh) 用于半结构化数据的可扩展分析平台
JP4045399B2 (ja) 構造化文書管理装置及び構造化文書管理方法
US8229932B2 (en) Storing XML documents efficiently in an RDBMS
Vajk et al. Denormalizing data into schema-free databases
JP3914662B2 (ja) データベース処理方法及び実施装置並びにその処理プログラムを記憶した媒体
Lu et al. Multi-model Data Management: What's New and What's Next?
Kohlhase et al. Mathwebsearch 0.5: Scaling an open formula search engine
JP5410514B2 (ja) X500データモデルをリレーショナル・データベースにマッピングするための方法
WO2013057937A1 (en) Transformation of complex data source result sets to normalized sets for manipulation and presentation
US20210073196A1 (en) Semantic, single-column identifiers for data entries
CN101504660A (zh) 一种纯扩展标记语言数据库的查询管理方法及其系统
Das et al. A study on big data integration with data warehouse
Afzal et al. OWLMap: fully automatic mapping of ontology into relational database schema
CN104636265B (zh) 一种cimxml文档的高效内存模型组织的访问方法
CN107704585A (zh) 一种查询hdfs数据方法及系统
WO2001033433A1 (en) Method and apparatus for establishing and using an xml database
Mihaila et al. Equal time for data on the internet with websemantics
KR20190005578A (ko) 인메모리 기반의 분산 데이터베이스 관리 방법 및 시스템
Palopoli et al. Experiences using DIKE, a system for supporting cooperative information system and data warehouse design
CN105740997A (zh) 一种控制任务流程的方法、装置及数据库管理系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090812