CN102214216B - 一种层次关系数据上关键字检索结果的聚合摘要方法 - Google Patents
一种层次关系数据上关键字检索结果的聚合摘要方法 Download PDFInfo
- Publication number
- CN102214216B CN102214216B CN 201110150869 CN201110150869A CN102214216B CN 102214216 B CN102214216 B CN 102214216B CN 201110150869 CN201110150869 CN 201110150869 CN 201110150869 A CN201110150869 A CN 201110150869A CN 102214216 B CN102214216 B CN 102214216B
- Authority
- CN
- China
- Prior art keywords
- maxlmc
- tuple
- maximum
- result
- connection
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于关系数据库技术领域,具体为一种层次关系数据上关键字检索结果的聚合摘要方法。该方法的步骤为:给定具有层次关系H的关系数据库D和其上的一个检索Q以及n个检索结果S,S中为每一条结果元组t 1 、t 2 、…、t n,根据H上的层次关系,按照最低上层最小覆盖聚集的原则采用按序连接方法将n条检索结果t 1 、t 2 、…、t n聚合成为最大最低上层最小覆盖聚集,并对这些聚合结果根据最大覆盖的原则,以迭代查找最大覆盖,在查找的过程中进行剪枝,从而找出贪心结果I。本发明在聚合过程中根据层次关系减少了连接操作,在摘要过程中引入剪枝方法减少时间代价,从而使聚合摘要效率更高。
Description
技术领域
本发明属于关系数据库技术领域,具体涉及一种层次关系数据上关键字检索结果的聚合摘要方法。
背景技术
近年来,关键字检索作为从结构化或半结构化数据中提取所需信息的方法已被广为接受。目前已有许多针对关键字检索问题提出的检索系统。但基于关系数据库上的检索系统更多致力于获得包含所有关键字的元组或元组连接树。简单的将这些结果返回会造成信息冗余并且有时还会生成无意义的结果。此外,在许多数据库中,具有层次关系的数据普遍存在,这对检索结果信息整合具有指导作用。
对于检索结果的进一步处理等工作包括打分方法和结果聚合已经有许多人在研究了。关系数据库检索结果的聚合问题现有的方法仅关注于一张表上的聚合操作。然而,实际应用中,信息会依据范式被分解成不同的部分存储于多张表中。若简单的将该方法应用于多张表的问题中会根据连接关系生成一张非常大的表,这是耗时且不实际的。另外,该方法中的属性上并无层次关系。需要注意的是,也有另外的工作对聚合操作予以支持,但是,它需要由用户指定在哪些属性上进行聚合操作,这对于不熟悉数据库模式的大多数用户来讲是十分困难的。而且,该工作中的聚合操作是对结果集进行聚合选择(即计算元组数目或求最大最小值等),并非在此基础上做信息整合。摘要问题现有的方法有基于贪心和随机算法的两种解决方案。
发明内容
本发明的目的是针对层次关系数据库关键字检索结果的聚合摘要问题,提出一种基于排序和剪枝的聚合摘要方法,以减少查询代价,提升用户体验。
本发明提出的聚合摘要方法,利用层次关系的性质,结合最低上层最小覆盖聚集的原则以及最大覆盖原理的特征,对带连接元组集进行按序连接,减少连接开销,最后在摘要阶段给出3个剪枝条件,既保证找出的结果是满足贪心法的结果,又大大减小搜索空间,提高摘要效率。
首先对一些基本概念进行定义:
定义2. 聚集关系:设a={S 1,
S 2,… , Sn }是一个有限元组集族,元组是某关系数据库中的每一条记录,Si (1≤ i ≤ n)是任意元组集合,≦是如下定义的二元关系:对于a中任意集合Si 和Sj ,如果存在一个函数F:→Sj (是Si 的划分),则称Si 和Sj 满足≦,记作Si ≦Sj ,F称为聚集函数。如果满足下列条件则称为a上的聚集关系:对于a中任意集合Si 和Sj ,如果Si ≦Sj , Sj ≦Si ,则Si =Sj 。
定义3. 划分的覆盖:设S是一个元组集合,={S 1,
S 2, … , Sm },是S上的一个划分。D是S上的字典,Q D是S中出现的某些词,谓词contain表示集合中包含词项。则Cov(,
Q)={Si | SicontainQ}是划分关于Q的覆盖。其中,Si 是S的子集。
定义4. 最小覆盖聚集(MC):设a={S 1, S 2,
… , Sn }是一个有限元组集族。Q D是a中出现的某些词,给定Si 和, 2 Si 是Si 上的一个划分,若∀ Sj a , Sj ≦ Si ,不存在划分 2 Sj ,使得Sj 上有划分的覆盖Cov( ,Q),则Si 是关于Q的最小覆盖聚集(MC)。
定义5. 层次关系:设H是一个有限集合,是满足自反的,反对称的和传递的偏序关系,且:对于H中的任意元素hi ,若hi 非极小元,如果存在一个函数F:hi →H ’, H ’ H,则称F为分层函数,称是H上的层次关系。
定义6. 最低上层最小覆盖聚集(LMC):设S为关于Q的MC,MH(S)表示S中层次关系属性上的最低上层,若对于任意的S 2 S,S 2中包含所有Q,不存在S 1 S,且 wi Q , S 1 contain Q,使得MH(S 1) MH(S 2),则称S 2为关于Q的最低上层最小覆盖聚集(LMC)。若同时也不存在sÎS,且S 2 {s}也是LMC,则称S 2为MaxLMC。
定义7. 属性划分:设A是给定关系数据库模式Sc上的属性集合。A=AC AP AU 是关于A的一个划分,其中AC 表示分类属性,AP 表示具有偏序关系的聚集属性,AU 是其补集。AC 和AP 统称为聚集属性。
根据以上定义,给定具有层次关系H的关系数据库D和其上的一个检索Q以及n个检索结果S,S中为每一条结果元组t 1 、 t 2 、…、 tn ,T 1={t| Q 1,tcontainQ 1,
Q 1 Q}为待连接元组集,本发明提出的聚合摘要方法是基于以下性质的:
(1). 在顺序遍历元组集T 1的过程中,对于元组集T 1中的每个元组ti ,选择连接属性上值相同的tj T 2,T 2={t| Q 2,tcontainQ 2,
Q 2 Q}也为待连接元组集,设为,顺序遍历这样的tj 即可,且从开始,MH(ti tj )层次会越来越高,根据最低上层条件,若对于tjk ,MH(ti tj0 ) MH(ti tjk ),则以后的元组都不必考虑,因而 、 、…、 这些连接操作不必要执行。
(2).
在某属性上的聚集结果是互不相交的,即,MaxLMC(S,Q)中的结果按照聚集属性的不同(假设其中涉及到m个聚集属性)可分为m类。
(3).
MaxLMC(S,Q)按照连接属性归类为{M 1,M 2,…,Mm },
Mi 表示按照第i个连接属性上聚合的集族,Mi 根据连接属性的值做最低层次最小覆盖聚集,聚集结果也是不同连接属性值分类的集合,记为Mi ={Mi 1,Mi 2,…,Mimi },则Mi 中的集合互不相交;摘要的剪枝过程中,若初始最大MaxLMC来自Mi 1,则若|Mi 2 |>|Mk 1|对于k=1,2,…,m,
k≠i成立,Mi 2应是下一个选择的MaxLMC,而且可以继续选择直到出现k≠i使得|Mij|<|Mk 1 |为止。
基于以上性质,本发明方法利用按需连接方法和摘要剪枝方法,对检索结果进行剪枝和摘要,具体步骤为:
(1)对于查询用户输入的检索Q和依据DISCOVER系统生成的SQL语句,在做最后连接前,对于待连接元组集T 1, T 2,以按序连接方法生成最大最低上层最小覆盖聚集MaxLMC(S,Q)=
{RS 1, RS 2, …, RSm },其中RSi 表示层次Si 上的聚合结果;
(2)以步骤(1)求出的MaxLMC(S, Q),在存储时按照每一聚合结果RSi 中元组的数目维护一个最大堆,使得MaxLMC(S, Q)是有序的;
(3)对于步骤(2)得到的有序MaxLMC(S, Q),以迭代查找最大覆盖的方法,在查找的过程中进行剪枝,从而找出贪心结果I。
本发明的步骤(1)中,所述按序连接方法生成最大最低上层最小覆盖聚集MaxLMC(S,Q)=
{RS 1, RS 2, …, RSm }的步骤如下:
(a)MaxLMC(S,Q)初始化为空;MaxLMC(S,Q)记为R;
(b)对于元组集T 1中的t 11,考察元组集T 2中的t 21,并记录t 11与t 21的连接后的层次关系值;
(c)重复步骤(b)的操作,对于元组集T 2中的t 2k ,若t 11与t 2k 的连接后的层次关系高于t 11与t 21连接后的层次关系,则进入步骤(d);否则,将t 11与t 2k 连接,并加入R MH(t 11 t 21) ,进入步骤(b);这里R MH ( t 11 t 21)表示R(R是一个集族)中最小上层与MH(t 11 t 21)相同的集合;
(d)重复步骤(b)和(c),直到所有的元组集T 1中的元组都被考察过;
(e)输出MaxLMC(S,Q)。
本发明的步骤(3)中,所述迭代查找最大覆盖方法的步骤如下:
(a)按照最大最低上层最小覆盖聚集MaxLMC(S,Q),MaxLMC(S,Q)按照连接属性归类为{M 1,M 2,…,Mm },其中每一类Mi ={Mi 1,Mi 2,…,Mimi }中的集合互不相交;
(b)选择元组数目最多的Mi 1加入初始集合I;
(c)将Mi 1从MaxLMC(S,Q)中删除;
(d)根据剪枝方法,找到下一个需要考察的集合或者考察的边界条件;
(f)将Mi 1从MaxLMC(S,Q)中删除;
(g)重复步骤(d)、(e)和(f),直到找到k个摘要集合;
(h)输出I。
本发明中,所述对MaxLMC(S,Q)剪枝(步骤(3)或步骤(3-d)的步骤如下:
(1)若初始最大MaxLMC来自Mi 1,则若|Mi 2 |>|Mk 1|对于k=1, 2, … , m,
k≠i成立,Mi 2应是下一个选择的MaxLMC,而且继续选择直到出现k≠i使得|Mij|<|Mk 1 |为止;
根据以上步骤进行的聚合摘要方法,在聚合阶段节省了大量耗时的连接操作,在摘要阶段节省了大量的遍历集合的操作,从而改善了系统运行的时间。附图1为本发明方法实验检测所采用的数据源,为一个模拟数据。附图2-3为本发明方法的按序连接过程中节省的连接操作占原有连接操作数目的百分比,从图中可以看出,本发明方法通过按序连接,有效地节省了耗时的连接操作。附图4-5为本发明方法中摘要步骤剪枝(Improved方法)与不使用剪枝(Baseline方法)时的时间比较,从图中可以看出,本发明方法的剪枝方法显著的改善了系统的响应时间。
综上所述,本发明在聚合过程中根据层次关系减少了连接操作,在摘要过程中引入剪枝方法减少了时间代价,从而使聚合摘要效率更高。
附图说明
图1为本发明实验所采用的一个层次关系数据库模式及其实例。
图2为真实数据上采用本发明的连接节省比。
图3为模拟数据上采用本发明的连接节省比。
图4为聚合属性数目m=2时,真实数据和模拟数据上摘要方法采用剪枝时的效率比较。其中,左图为真实数据,右图为模拟数据。
图5为聚合属性数目m=3时,真实数据和模拟数据上摘要方法采用剪枝时的效率比较。其中,左图为真实数据,右图为模拟数据。
图6为一部分可能的连接结果。中间一列为公司。
图7展示了m=2时MaxLMC(S,Q)可能的情况,数字代表每个MaxLMC中元组的数目。
具体实施方式
本发明所描述的聚合摘要方法是基于按序连接方法和剪枝摘要方法的,下面将通过一个例子详细描述本发明所述方法的具体实施方式:
考虑图1(e)中所示的关系数据库模式和图1(a, b, c, d)中对应于模式的实例。这是有关某公司销售商品的数据库。图1(e)中的有向箭头表示在模式之间存在有主键指向外键的(一对多)关系。考虑某用户在检索信息时键入关键字组合为“a”和“b”,意为需要检索出a和b特点的汽车。那么按照以下步骤进行聚集摘要:
(1)选取分别包含a和b的带连接结果集T 1和T 2。
(2)按序遍历T 1中元组的过程中按序遍历T 2中元组,若连接结果在层次关系上不是最低上层,则删掉结果。图6中第2,3条元组被删除。
(3)对(2)得到的聚合结果集族MaxLMC(S, Q),按照剪枝摘要算法对其进行剪枝,如图7所示,此时的MaxLMC(S,
Q)中有两类集族,各集合中元组的数目用数字标出。
(4)采用性质(3)中剪枝条件,我们从元组最多的集合a 1开始选取,当选取第二个集合时,由于a 2的元组为19条,比b 1要多,因此不必考虑其他集合,将a 2作为结果输出即可。同样的,a 3也因此被输出。
(5)采用性质(4)中剪枝条件,假设灰色标记的集合的并集是已经选择的集合I,当前为第5次迭代。对于a 4来说,假设8条元组中有3条在I中出现(此例中这3条元组来自b 1),且I中共有9条元组来自集族b(此例中均来自b 1),则在集族a中剩余的集合最多还可能与I相交的数目为9-3=6,因此,在按序的6+1条元组内必将出现一条不与I相交的元组(抽屉原理)。
(6)采用性质(5)中剪枝条件,当前为第5次迭代,同上例,对于a4 ,有3条元组在b 1中,则a4 的贡献为8-3=5,那么我们仅需考察到规模为5的a 5即可,因为a 5以后的元组规模都小于5,贡献不可能比a 4大。
(7)按照(4)、(5)、(6)步骤剪枝得到最终的摘要集。
Claims (1)
1.一种层次关系数据上关键字检索结果的聚合摘要方法,其特征在于具体步骤如下:
(1)对于查询用户输入的检索Q和依据DISCOVER系统生成的SQL语句,设 T 1、T 2是在SQL语句做最后连接之前的结果元组,T 1={t|
Q 1,tcontainQ 1,
Q 1 Q},T 2={t| Q 2,tcontainQ 2,
Q 2 Q}且Q 1∪Q 2=Q, Q 1∩Q 2=Φ;在做最后连接前,对于待连接元组集T 1、T 2,以按序连接方法生成最大最低上层最小覆盖聚集MaxLMC(S,Q)= {RS 1,
RS 2,…,RSm },其中RSi 表示层次Si 上的聚合结果;
(2)以步骤(1)求出的MaxLMC(S,Q),在存储时按照每一聚合结果RSi 中元组的数目维护一个最大堆,使得MaxLMC(S,Q)是有序的;
(3)对于步骤(2)得到的有序MaxLMC(S,Q),以迭代查找最大覆盖的方法,在查找的过程中进行剪枝,从而找出贪心结果I;其中,
步骤(1)中所述按序连接方法的步骤如下:
(a)MaxLMC(S,Q)初始化为空;MaxLMC(S,Q)记为R;
(b)对于元组集T 1中的t 11,考察元组集T 2中的t 21,并记录t 11与t 21的连接后的层次关系值;
(c)重复步骤(b)的操作,对于元组集T 2中的t 2k ,若t 11与t 2k 的连接后的层次关系高于t 11与t 21连接后的层次关系,则进入步骤(d);否则,将t 11与t 2k 连接,并加入R MH ( t 11 t 21),进入步骤(b);这里R MH ( t 11 t 21)表示R中最小上层与MH(t 11 t 21)相同的集合,其中R是一个集族;
(d)重复步骤(b)和(c),直到所有的元组集T 1中的元组都被考察过;
(e)输出MaxLMC(S,Q);
步骤(3)中所述迭代查找最大覆盖方法的步骤如下:
(a)按照最大最低上层最小覆盖聚集MaxLMC(S,Q),MaxLMC(S,Q)按照连接属性归类为{M 1,M 2,…,Mm },其中每一类Mi ={Mi 1,Mi 2,…,Mimi }中的集合互不相交;
(b)选择元组数目最多的Mi 1加入初始集合I;
(c)将Mi 1从MaxLMC(S,Q)中删除;
(d)根据剪枝方法,找到下一个需要考察的集合或者考察的边界条件;
(e)按照步骤(d)的选择选出使I Mij 中元组数目最多的Mij 加入I;
(f)将Mi 1从MaxLMC(S,Q)中删除;
(g)重复步骤(d)、(e)和(f),直到找到k个摘要集合;
(h)输出I ;
所述对MaxLMC(S,Q)剪枝的步骤如下:
(1)若初始最大MaxLMC来自Mi 1,则若|Mi 2 |>|Mk 1|对于k=1, 2, … , m, k≠i成立,Mi 2应是下一个选择的MaxLMC,而且继续选择直到出现k≠i使得|Mij|<|Mk 1 |为止;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110150869 CN102214216B (zh) | 2011-06-07 | 2011-06-07 | 一种层次关系数据上关键字检索结果的聚合摘要方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110150869 CN102214216B (zh) | 2011-06-07 | 2011-06-07 | 一种层次关系数据上关键字检索结果的聚合摘要方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102214216A CN102214216A (zh) | 2011-10-12 |
CN102214216B true CN102214216B (zh) | 2013-02-27 |
Family
ID=44745524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110150869 Expired - Fee Related CN102214216B (zh) | 2011-06-07 | 2011-06-07 | 一种层次关系数据上关键字检索结果的聚合摘要方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102214216B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9569507B2 (en) | 2013-10-31 | 2017-02-14 | Oracle International Corporation | Virtual directory server to process directory requests when information on an object is split across multiple data sources |
CN105912646B (zh) * | 2016-04-09 | 2019-03-26 | 北京工业大学 | 一种基于多样性和比例特性的关键词检索方法 |
CN106403968A (zh) * | 2016-06-06 | 2017-02-15 | 四川大学 | WRSNs中异构移动充电车充电规划方法 |
CN107239515A (zh) * | 2017-05-23 | 2017-10-10 | 华中科技大学 | 一种基于四维索引的大规模图的可达查询方法和系统 |
CN113792054A (zh) * | 2021-09-18 | 2021-12-14 | 中国人民解放军国防科技大学 | 一种数据立方体的非层次数据结构摘要方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7519582B2 (en) * | 2005-06-13 | 2009-04-14 | International Business Machines Corporation | System and method for performing a high-level multi-dimensional query on a multi-structural database |
CN101241502A (zh) * | 2008-03-13 | 2008-08-13 | 复旦大学 | 基于语义距离模型的xml文档关键字搜索聚类方法 |
CN101571866A (zh) * | 2009-05-27 | 2009-11-04 | 复旦大学 | 针对可扩充标记语言数据库的关键字检索方法及其装置 |
-
2011
- 2011-06-07 CN CN 201110150869 patent/CN102214216B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102214216A (zh) | 2011-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101055585B (zh) | 文档聚类系统和方法 | |
US9798772B2 (en) | Using persistent data samples and query-time statistics for query optimization | |
EP2843567B1 (en) | Computer-implemented method for improving query execution in relational databases normalized at level 4 and above | |
CN103646032A (zh) | 一种基于本体和受限自然语言处理的数据库查询方法 | |
CN106294695A (zh) | 一种面向实时大数据搜索引擎的实现方法 | |
CN102214216B (zh) | 一种层次关系数据上关键字检索结果的聚合摘要方法 | |
CN106874425B (zh) | 基于Storm的实时关键词近似搜索算法 | |
US20130151561A1 (en) | Fuzzy full text search | |
US20060161525A1 (en) | Method and system for supporting structured aggregation operations on semi-structured data | |
Li et al. | Consensus answers for queries over probabilistic databases | |
Xin et al. | Computing iceberg cubes by top-down and bottom-up integration: The starcubing approach | |
Salles et al. | Intensional associations in dataspaces | |
CN106503195A (zh) | 一种基于搜索引擎的翻译词库检索方法及系统 | |
Ji et al. | Ps-tree-based efficient boolean expression matching for high-dimensional and dense workloads | |
CN112800023B (zh) | 基于语义分类的多模型数据分布式存储和分级查询方法 | |
Li et al. | Batch text similarity search with mapreduce | |
Song et al. | Indexing dataspaces with partitions | |
KR100612376B1 (ko) | 통합패스의 노드범위를 이용한 엑스엠엘 인덱스 시스템 및방법 | |
Bodra | Processing queries over partitioned graph databases: An approach and it’s evaluation | |
CN105868406A (zh) | 基于多数据库的专利检索系统 | |
US8745035B1 (en) | Multistage pipeline for feeding joined tables to a search system | |
Kwon et al. | G-Index Model: A generic model of index schemes for top-k spatial-keyword queries | |
KR100886607B1 (ko) | 제한합 기법을 이용한 데이터베이스에서의 효율적인 다중질의 수행 방법 | |
KR101106624B1 (ko) | 추론 서비스를 위한 인덱스 서비스 매니저와 추론 서비스 시스템 및 그 방법 | |
KR20090107145A (ko) | 이질적인 2차원 테이블의 데이터를 통합하여 검색하는 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130227 Termination date: 20160607 |