CN101216852A - 基于序列模式的数据导入及查询方法 - Google Patents
基于序列模式的数据导入及查询方法 Download PDFInfo
- Publication number
- CN101216852A CN101216852A CNA2008100561000A CN200810056100A CN101216852A CN 101216852 A CN101216852 A CN 101216852A CN A2008100561000 A CNA2008100561000 A CN A2008100561000A CN 200810056100 A CN200810056100 A CN 200810056100A CN 101216852 A CN101216852 A CN 101216852A
- Authority
- CN
- China
- Prior art keywords
- sequence
- document
- inquiry
- query
- former
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于序列模式的数据导入方法包括:A.对当前需要存储的文档进行解析,识别出来哪些数据表示元素节点,哪些数据表示元素节点对应的值;B.构建编码和元素之间的一一对应关系;C.构建和文档元素对应的编码序列;D.将构建好的序列组织为B+树的形式存于磁盘上,同时构建元素和其值对应的关系表,并存于数据库中。此外,一种序列模式的数据查询方法包括:A.对于用户提交的查询进行解析,识别出查询节点之间的约束关系以及其他谓词关系;B.系统根据特定的算法将该查询转化为序列;C.根据特定的序列匹配算法,从原文档对应的序列中找与用户查询等价的序列匹配的文档片断;D.将匹配的结果返回给用户。
Description
技术领域
本发明涉及计算机数据库和网络技术领域,特别是涉及一种基于序列模式的数据导入及查询方法。
背景技术
随着信息技术的飞速发展,可扩展标记语言XML作为事实上的数据描述和交换标准已经得到了广泛的应用.有关XML文档的各种处理技术成为大量研究者关注的热点问题.XML文档包含具有层次嵌套关系的元素信息,因此XML文档可以很自然的用一棵文档树来表示,Twig(小树)查询就是从文档树中找到和Twig匹配的元素序列,因此,Twig查询是XML查询中最重要的部分.对于给定的一个twig查询,大多数XML索引方法在求解时会将该查询分解为几个子查询分别求解,然后再将每个子查询的结果根据连接条件执行连接操作以得到最终的解。其中连接操作已经被大家公认为最耗费时间的操作,其主要缺点是需要执行多次连接操作,这样做所带来的两个直接问题是:
(1)需要重复处理大量数据元素。由于Twig中任意两个有连接关系的节点对应的数据元素都需要处理一遍,且除了根节点之外的非叶节点都至少和两个其它节点对应,因此,这些节点对应的数据元素都至少被处理两遍。这就导致系统的整体效率由于这些重复处理工作而明显下降。
(2)需要缓存大量无用的中间结果。由于满足任意两个节点之间约束关系的结果对于用户提交的查询来说都是局部解,因此无法判定其是否可以构成最终的解。则所有的中间结果都需要首先缓存起来,在最后执行连接操作的时候才能判断其是否是有用的。这样一来,可能会造成缓存大量无用中间结果的现象,这将严重影响系统的处理效率。
以上两个问题会进一步随着查询规模的增大而给系统的整体处理性能带来严重的威胁。引起这种问题的根源在于已有方法的数据模型是树,因此,对于给定的查询,需要将树首先分解为可以直接处理的子树分别求解,然后再将各个子查询的解进行整理连接处理才能得到最终的解。
发明内容
为了解决上述传统问题,因此本发明的一个目的就是提出了一种基于序列模式的数据导入及查询方法。
在本发明的一个方面中,一种基于序列模式的数据导入方法,包括:A、对于当前需要存储的文档,首先需要对其进行解析,识别出来哪些数据表示元素节点,哪些数据表示元素节点对应的值;B、对于识别出来的元素节点进行编码,构建编码和元素之间的一一对应关系;C、构建和文档元素对应的编码序列,这个序列和原文档之间具有相互对应关系,可以根据序列重新构建原文档;D、将构建好的序列组织为B+树的形式存于磁盘上,同时构建元素和其值对应的关系表,并存于数据库中。
在本发明的另一个方面中,一种基于序列模式的数据查询方法,包括:A、对于用户提交的查询进行解析,识别出查询节点之间的约束关系以及其他谓词关系;B、系统根据特定的算法将该查询转化为序列;这个序列保持了原查询的结构特性,具有和原树形查询等价的结构特性;C、根据特定的序列匹配算法,从原文档对应的序列中找与用户查询等价的序列匹配的文档片断;D、将匹配的结果以特定的形式返回给用户。
在本发明的这个方面中,其中约束方法是父子关系或者祖先后代关系。
附图说明
结合随后的附图,从下面的详细说明中可显而易见的得出本发明的上述及其他目的、特征及优点。在附图中:
图1给出了根据本发明的体系结构图;
图2给出了根据本发明的数据导入数据库的流程图;
图3给出了根据本发明的用户查询流程图。
具体实施方式
针对已有的查询处理方法存在的问题,我们从另外一个新的角度——序列——切入。即我们将XML数据和查询都看成是编码序列,这样一来,树的匹配问题转化为了字符串之间的匹配问题。这种数据结构能够保证查询的等价性,更重要的是,通过使用序列匹配,twig查询的处理不用像已有的方法一样需要借助于连接操作来求解,可以直接求解。而且,XSeq索引同时对数据和结构进行索引。
下面结合附图,对本发明进行详细地描述。
图1给出了根据本发明的体系结构图。如图1所示,这种索引方法建立的系统中需要三种设备。首先是数据库服务器,用以运行数据库管理系统和管理大量序列化的XML文档。其次是网络服务器,最后是终端设备,用以从用户方接收查询和为用户展示查询结果。当然还可以包括一些外围辅助设备,如打印机等。
下面参考图2,对根据本发明的数据导入数据库的流程进行详细的说明。
当系统硬件平台搭建好之后,就可以向数据库服务器中存储XML文件了。这个过程是由数据库服务器自动完成的,步骤如下:
(1)对于当前需要存储的文档,首先需要对其进行解析,识别出来哪些数据表示元素节点,哪些数据表示元素节点对应的值。
(2)对于识别出来的元素节点进行编码,构建编码和元素之间的一一对应关系。
(3)构建和文档元素对应的编码序列,这个序列和原文档之间具有相互对应关系,可以根据序列重新构建原文档。
(4)将构建好的序列组织为B+树的形式存于磁盘上,同时构建元素和其值对应的关系表,并存于数据库中。例如,该B+树如由清华大学出版社出版的、作者为严蔚敏,吴伟民、名称为《数据结构》中所描述的,B+树索引是一个多级索引,但是其结构不同于多级顺序索引;由于各叶结点按照所含的搜索码值有一个线性顺序,所以就可以利用各个叶结点的指针Pn将叶结点按搜索码顺序链接在一起。B+树索引的是非叶结点:①B+树索引的非叶结点形成叶结点上的一个多级(稀疏)索引;②非叶结点的结构和叶结点的结构相同,即含有能够存储n-1个搜索码值和n个指针的存储单元的数据结构。
这样建立的序列索引,与已有方法按照不同元素的名字来组织元素是完全不同的。实际执行查询的结果表明,这种方法可以极大地提高查询的执行效率。
接下来,参考图3,对本发明的用户查询流程进行详细的说明。当一切就绪后,用户即可通过客户端提交查询,而无须用户的参与。用户只需在特定的界面提交相应的查询即可。该查询的处理过程也是由数据库服务器自动完成的,步骤如下:
(1)对于用户提交的查询进行解析,识别出查询节点之间的约束关系(父子关系或者祖先后代关系)以及其他谓词关系。
(2)系统根据特定的算法将该查询转化为序列。这个序列保持了原查询的结构特性,具有和原树形查询等价的结构特性。上述特定算法可以是能够将树形结构转化为序列并保证树和序列等价性的任何算法。
(3)根据特定的序列匹配算法,从原文档对应的序列中找与用户查询等价的序列匹配的文档片断。上述特定序列匹配算法可以是能够在文档序列中识别所有和用户的查询序列匹配的任何算法。
(4)将匹配的结果以特定的形式返回给用户。
目前已经出现了很多XML查询处理算法,这些算法都是基于树形结构,通过和树模型相关的匹配算法进行求解。这种方法的问题在于需要执行大量的连接操作和需要缓存大量的查询结果。本发明的目的就在于突破树形模型的限制,从一个全新的角度考虑XML查询的处理问题。通过引入序列匹配的思想,将查询转换为带有结构信息的序列匹配问题。从而避免了大量的连接操作,提高了系统的查询处理效率。
因此,和已有方法仅仅索引内容或者结构相比,可以获得额外的性能优势。与已有的查询处理方法相比,基于序列的索引方案有如下优点:
(1)数据模型简单易用。已有方法基于树形模型,查询处理基于树的相关匹配方法,新的方法基于序列模型,查询匹配转化为序列的相关匹配方法。
(2)查询处理效率更高。已有方法需要首先将用户给定的查询分解为可以直接处理的子查询进行处理,在求得各个子查询解的基础上,将各个子查询的解进行连接处理才能得到最终的结果。新方法不需要进行查询的分解,只需要将给定的查询转化为序列,执行序列的匹配即可。从而能够获得更高的处理效率。
对于本领域的普通技术人员来说可显而易见的得出其他优点和修改。因此,具有更广方面的本发明并不局限于这里所示出的并且所描述的具体说明及示例性实施例。因此,在不脱离由随后权利要求及其等价体所定义的一般发明构思的精神和范围的情况下,可对其做出各种修改。
Claims (3)
1.一种基于序列模式的数据导入方法,包括:
A、对于当前需要存储的文档,首先需要对其进行解析,识别出来哪些数据表示元素节点,哪些数据表示元素节点对应的值;
B、对于识别出来的元素节点进行编码,构建编码和元素之间的一一对应关系;
C、构建和文档元素对应的编码序列,这个序列和原文档之间具有相互对应关系,可以根据序列重新构建原文档;
D、将构建好的序列组织为B+树的形式存于磁盘上,同时构建元素和其值对应的关系表,并存于数据库中。
2.一种基于序列模式的数据查询方法,包括:
A、对于用户提交的查询进行解析,识别出查询节点之间的约束关系以及其他谓词关系;
B、系统根据特定的算法将该查询转化为序列,这个序列保持了原查询的结构特性,具有和原树形查询等价的结构特性;
C、根据特定的序列匹配算法,从原文档对应的序列中找与用户查询等价的序列匹配的文档片断;
D、将匹配的结果以特定的形式返回给用户。
3.根据权利要求2的方法,其中约束方法是父子关系或者祖先后代关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100561000A CN101216852A (zh) | 2008-01-11 | 2008-01-11 | 基于序列模式的数据导入及查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100561000A CN101216852A (zh) | 2008-01-11 | 2008-01-11 | 基于序列模式的数据导入及查询方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101216852A true CN101216852A (zh) | 2008-07-09 |
Family
ID=39623284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100561000A Pending CN101216852A (zh) | 2008-01-11 | 2008-01-11 | 基于序列模式的数据导入及查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101216852A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177057A (zh) * | 2011-12-20 | 2013-06-26 | Sap股份公司 | 用于内存列存储数据库的多核算法 |
CN112447300A (zh) * | 2020-11-27 | 2021-03-05 | 平安科技(深圳)有限公司 | 基于图神经网络的医疗查询方法、装置、计算机设备及存储介质 |
CN113221532A (zh) * | 2020-01-21 | 2021-08-06 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、计算设备和介质 |
-
2008
- 2008-01-11 CN CNA2008100561000A patent/CN101216852A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103177057A (zh) * | 2011-12-20 | 2013-06-26 | Sap股份公司 | 用于内存列存储数据库的多核算法 |
CN103177057B (zh) * | 2011-12-20 | 2017-09-19 | Sap欧洲公司 | 用于内存列存储数据库的多核算法 |
CN113221532A (zh) * | 2020-01-21 | 2021-08-06 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、计算设备和介质 |
CN112447300A (zh) * | 2020-11-27 | 2021-03-05 | 平安科技(深圳)有限公司 | 基于图神经网络的医疗查询方法、装置、计算机设备及存储介质 |
CN112447300B (zh) * | 2020-11-27 | 2024-02-09 | 平安科技(深圳)有限公司 | 基于图神经网络的医疗查询方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Raghavan et al. | Representing web graphs | |
Zou et al. | A novel spectral coding in a large graph database | |
US8037059B2 (en) | Implementing aggregation combination using aggregate depth lists and cube aggregation conversion to rollup aggregation for optimizing query processing | |
WO2014109109A1 (ja) | インデックスキー生成装置及びインデックスキー生成方法並びに検索方法 | |
WO2014169265A1 (en) | Storing and querying graph data in a key-value store | |
CN105210058A (zh) | 使用多个引擎来进行图查询处理 | |
CN104731945A (zh) | 一种基于HBase的全文检索方法及装置 | |
US11461333B2 (en) | Vertical union of feature-based datasets | |
CN106649360B (zh) | 数据重复性校验方法及装置 | |
Afzal et al. | OWLMap: fully automatic mapping of ontology into relational database schema | |
CN109471929A (zh) | 一种基于图谱匹配进行设备维修记录语义搜索的方法 | |
CN109325029A (zh) | 基于稀疏矩阵的rdf数据存储和查询方法 | |
CN108319608A (zh) | 访问日志存储查询的方法、装置及系统 | |
US20220284021A1 (en) | Methods and apparatus for efficiently scaling result caching | |
CN109739882A (zh) | 一种基于Presto和Elasticsearch的大数据查询优化方法 | |
CN107729428A (zh) | 一种基于Presto和Elasticsearch的SQL查询方法 | |
CN105138674A (zh) | 一种数据库访问方法 | |
CN101216852A (zh) | 基于序列模式的数据导入及查询方法 | |
CN112835920B (zh) | 基于混合存储模式的分布式sparql查询优化方法 | |
CN110069489B (zh) | 一种信息处理方法、装置、设备及计算机可读存储介质 | |
CN112148830A (zh) | 一种基于最大区域网格的语义数据存储与检索的方法及装置 | |
CN110389953B (zh) | 基于压缩图的数据存储方法、存储介质、存储装置和服务器 | |
CN117171164A (zh) | 数据存储方法、装置、终端设备以及存储介质 | |
CN102043802B (zh) | 基于结构摘要的xml关键字检索方法 | |
Emery et al. | Full Bitcoin blockchain data made easy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080709 |