CN108052514B - 一种处理地理文本Skyline查询的混合空间索引方法 - Google Patents
一种处理地理文本Skyline查询的混合空间索引方法 Download PDFInfo
- Publication number
- CN108052514B CN108052514B CN201710961027.0A CN201710961027A CN108052514B CN 108052514 B CN108052514 B CN 108052514B CN 201710961027 A CN201710961027 A CN 201710961027A CN 108052514 B CN108052514 B CN 108052514B
- Authority
- CN
- China
- Prior art keywords
- node
- tree
- data
- text
- data points
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000012545 processing Methods 0.000 title claims abstract description 22
- 238000010276 construction Methods 0.000 claims abstract description 10
- 238000009826 distribution Methods 0.000 claims abstract description 5
- 238000003780 insertion Methods 0.000 claims description 14
- 230000037431 insertion Effects 0.000 claims description 11
- 230000005484 gravity Effects 0.000 claims description 5
- 238000003860 storage Methods 0.000 abstract description 6
- 238000004364 calculation method Methods 0.000 description 9
- 238000012554 master batch record Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 235000015220 hamburgers Nutrition 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 235000021185 dessert Nutrition 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 235000008429 bread Nutrition 0.000 description 1
- 235000021170 buffet Nutrition 0.000 description 1
- 239000006071 cream Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明是一种处理地理文本Skyline查询的混合空间索引机制,其中地理文本Skyline查询指的是对地理文本信息数据集实施Skyline查询。其中,地理文本数据集中的数据点同时包含地理位置信息和关键词文本信息。Inverted‑Merged R*‑Tree树(IMR*‑T)融合了R*树以及Inverted File的思想,该发明属于计算机科学中的查询索引领域。本发明致力于解决对于地理文本数据集的存储和针对该数据集进行Skyline查询的问题,在保证合理存储前提下,提升Skyline查询效率。本发明借助R*树构造策略,依据数据点空间位置分布构造多叉树,并为树的叶子节点构造Inverted File。为了提高对数据集的裁剪效率,树节点中还存储了边界框架信息。本发明广泛适用于地理文本Skyline查询的相关应用场景。
Description
技术领域
本发明涉及一种处理地理文本Skyline查询的混合空间索引方法,具体涉及针对包含关键词文本属性与地理空间位置属性的数据集的有效组织存储和针对该数据集的Skyline查询,属于计算机科学中的查询索引领域。
背景技术
随着社交网络的迅速发展,大量的附带文本关键词标签的数据(Geo-TextualData)随之产生。例如,用户在新浪微博中发布的个人微博状态(附带着地理位置和微博标签信息),餐馆在美团app上发布的饭店信息(附带着饭店的地理位置信息以及打折信息、菜品信息等)。这些数据主要包含了两个维度的信息:地理位置信息和关键词信息。针对数据点的地理空间位置信息,当前的研究中主要采用R*树结构对数据点进行有效的组织和存储,R*树的核心思想是依据数据点的空间位置分布,对分布较近的数据点进行聚合从而构造多叉索引树,其中所有的数据点都存储在多叉索引树的叶子节点中。
针对同时包含了地理空间位置以及关键词文本信息的数据集合,Beckmann.N等人[1]提出了R树结构存储空间数据点,R树的核心思想就是尽可能的把空间位置比较靠近的数据点进行聚合。Wang等人[2]提出了AP(Adaptive spatial-textual Partition Tree)树索引结构用于处理基于数据流的连续空间关键词查询(Continues Spatial-KeywordQueries Over Streams)。之前的处理空间关键词的索引结构要么采用空间属性优先进行构造,要么采用关键词属性优先进行构造。然而在实际构造索引的过程中,两个方案优劣性并不是一成不变的,因此为了进一步提高索引的处理效率,提出了AP树结构,该结构依据代价评估函数实时动态的在两种方案中选择代价最小的方案进行子索引结构的构造,从而极大提高索引处理效率。Chen等人[3]提出了IR树(Inverted-R Tree)索引机制对数据点进行有效的组织和存储,该索引树是采用R树对于数据点的空间划分的策略对数据点进行空间划分。与此同时,索引树中的每一个节点(包括叶子节点和中间节点)都对应一个InvertedFile存储该节点中所有数据点的关键词信息。
R树的缺陷主要是无法有效的解决索引节点冲突的问题,而AP树的缺陷集中在他的构造过程极为麻烦,构造的代价比较大,最后IR树的主要缺陷是其每一个节点都有一个对应的Inverted File,这使得IR树的空间存储代价过大。
上文中提到的专利申请情况如下:
[1]基于负载均衡和查询日志的数据空间多维索引方法(申请日期:2016-06-13,公开号:CN106095951A)
[2]多层次混合的三维空间索引方法(申请日期:2012-12-29,公开号:CN103092926A)
[3]基于hbase和geohash的矢量数据空间索引方法(申请日期:2014-9-29,公开号:CN104199986A)
上文中提到的文献来源于如下的会议或期刊:
[1]N.Beckmann,H.Kriegel,R.Schneider,and B.Seeger,1990,“The R*-tree:anefficient androbust access method for points and rectangles,”In InternationalConference on Management of Da ta(SIGMOD),322-331.
[2]X.Wang,Y.Zhang,W.Zhang,X.Lin and W.Wang,2015,"AP-Tree:Efficientlysupport continuous spatial-keyword queries over stream,"In InternationalConference on Data Engineering(ICDE),1107-1118.
[3]L.Chen,G.Cong and X Cao,2013,“An efficient query indexingmechanism for filtering geo-textual data,”In International Conference onManagement of Data(SIGMOD),749-760.
发明内容
本发明解决的技术问题:
本发明的目的是提出一种处理地理文本Skyline查询的混合空间索引方法,致力于解决对于同时包含关键词文本信息和空间位置信息的数据集进行有效的组织、存储以及针对该数据集进行Skyline查询的问题,在保证结构清晰和存储空间合理的前提之上,提升查询的效率。
本发明为解决其技术问题采用如下技术方案:
步骤一:对数据进行预处理。原始数据集中的数据点包含空间位置信息和文本关键词信息,其中空间位置信息用经纬度坐标表示,关键词文本信息由一个关键词集合表示。
(1)首先以查询点的位置为原点,构造平面直角坐标系,通过如下计算公式换算每一个数据点在该坐标系中的坐标值:
p.x=p.lon-q.lon
p.y=p.lat-q.lat
上述公式中的p.x和p.y表示的分别是数据点p的横坐标和纵坐标,p.lon和q.lon分别表示的是数据点p与查询点q的经度值。同理,p.lat和q.lat分别表示的是数据点p和查询点q的纬度值。
(2)原始的数据集中每一个数据点的关键词文本集合由若干个文本关键词构成,记作{w1,w2,…,wn},然后采用TF-IDF模型对数据点的关键词集合进行处理,计算出数据点关键词集合中每一个关键词在其所属集合中所占的比重,该比重值是一个0到1的小数值,具体的TF-IDF模型计算公式如下所示:
公式中的lwd是预设定的一个平滑因子,初始值设置为0.2,length表示的是当前数据点e的关键词集合中包含的关键词的个数,tf表示的是该关键词w在整个数据集中出现的次数,num表示的是整个数据集中关键词的总数目。经过上述计算之后,可以得出关键词集合{w1,w2,…,wn}对应的比重值为{prob1,prob2,…,probn}。
步骤二:基于数据集中各个数据点的地理空间位置分布,利用传统R*树的构造方法,遍历数据集中的数据点并进行插入操作,直到所有的数据点都被插入到索引树中,从而完成索引树的构造。在本步骤中,涉及到Node OverFlow、Choose Path、Pick Irrelevant、Node Split策略,首先对这些策略一一介绍。
Node OverFlow
节点阈值是初始定义的一个索引树节点中所能包含对象数量的一个上限值,索引树中叶子节点对应的对象数量就是该叶子节点中存储的数据点数量,而中间节点的对象数量就是该节点所包含的孩子节点个数,将对象数量的上限值记作节点溢出是指节点中包含的对象数量超出了阈值
Choose Path
Choose Path策略是选择数据点插入路径的一种选择策略,所谓的选择插入路径就是依据当前待插入数据点的空间位置去选择最为合适的叶子节点去存储该数据点,评判标准是用插入代价来衡量的,插入代价就是数据点插入到叶子节点之后叶子节点扩张的面积大小,扩张的面积越大则插入代价越大,反之则插入代价越小。其中索引树节点的面积是节点所存储的MBR信息的一个形象化的体现,即在上述的二维坐标空间中,包含该节点中所有数据点的最小边界矩形的面积。当往节点中插入一个数据点,则上述的边界矩形可能会扩增也可能不变,若扩增则可以计算出扩增的面积大小,若不扩增,则扩增的面积大小为0,这里的扩增面积就是插入数据点的代价。那么Choose Path策略就是选择插入代价最小的叶子节点去存储当前待插入的数据点。
Pick Irrelevant
Pick Irrelevant是一种重插入策略。Pick Irrelevant挑选产生溢出的叶子节点中若干数据点进行重插入。在挑选重插入候选数据点之前,先将当前溢出叶子节点中存储的数据点按照距离查询点的距离由近到远的顺序进行排序,然后选择前30%(30%这个比例是经过理论验证的最佳抽取比例)的数据点添加到重插入等待队列中,并按序进行重插入,重插入数据点的过程与插入一个新的数据点过程类似。
Node Split
Node Split策略是一种节点分裂策略,旨在解决索引结构中节点的溢出问题。在对节点分裂之前,首先将节点中的对象按照距离查询点由近到远的顺序进行排列。对节点的分裂方案有很多,假设当前溢出节点中包含了n个对象,则分裂方案有n-1种,分裂方案用m~k(1<=m<n,1<=k<n)表示,该标志表示的含义是将当前溢出的节点分裂成两个,第一个节点仅包含前m个对象,第二个节点仅包含后k个对象。选择最终分裂方案的标准是:计算每种分裂方案周长和,即两个节点对应的MBR的周长和,然后从中选择周长和最小的分裂方案进行节点的分裂。
在上述技术策略的基础之上,索引构造步骤如下:
(1)输入待插入数据点e和当前索引树的根节点root,同时设置叶子节点层的重插入标识符flag,并初始化为false,其中flag为false表示叶子节点层未进行过PickIrrelevant策略,反之则相反;
(2)调用Choose Path选择合适的叶子节点N,并将数据点e插入到N中。插入数据点e之后,如果N出现Node OverFlow,则进行步骤(3),否则进行步骤(2)继续进行下一个数据点的插入;
(3)此时溢出节点N是叶子节点,若flag为false,则调用Pick Irrelevant策略从节点N中选择对当前MBR影响最小的节点进行重插入,重插入过程调用步骤(2);若flag为true,则调用Node Split算法对溢出节点N进行处理。在进行完此步骤之后,若无冲突,则进行步骤(2)继续插入新的数据点,若依旧存在冲突,则进行步骤(4);
(4)此时索引结构存在若干溢出节点,则按照由下而上,自左往右的顺序依次处理溢出节点,若当前处理的溢出节点是叶子节点,则进行步骤(3),若当前处理的溢出节点是中间节点,则进行步骤(5);
(5)此时溢出节点N是中间节点,则调用Node Split策略对N进行分裂处理。若此步骤之后,索引结构中依旧存在溢出节点,则继续步骤(4),否则进行步骤(2)继续插入新的数据点;
(6)直到数据集中所有的数据点都插入到IMR*-T树中,则索引树主体架构构造完毕;
(7)为索引树的每一个叶子节点构造一个Inverted File结构,Inverted File中形象化的理解为一个n行两列的表格,其中第一列是数据集合中所有数据点关键词集合的并集,第二列是一个Pair List,由若干个二元组构成,每个二元组第一个元素是包含左侧对应关键词的数据点编号,第二个元素是对应关键词在对应的数据点关键词集合中所占的比重。例如,下表中的w1就是关键词集合中的某一个关键词,第二列是两个Pair List,其中<id1,prob1>表示数据点id1的关键词集合包含了关键词w1,prob1表示w1关键词在数据点id1的关键词集合中所占的比重。具体的Inverted File结构如下表所示:
Keywords | PairList |
w<sub>1</sub> | <id<sub>1</sub>,prob<sub>1</sub>>,…,<id<sub>2</sub>,prob<sub>2</sub>> |
… | … |
上表中的w1就是关键词集合中的某一个关键词,第二列是两个Pair List,其中<id1,prob1>表示数据点id1的关键词集合包含了关键词w1,prob1表示w1关键词在数据点id1的关键词集合中所占的比重,<id2,prob2>表示的含义类似。
(8)在上述索引结构的基础之上,从叶子节点层逐层往上,为每一个索引节点添加该节点中存储的所有数据点的框架属性信息和指向该节点左兄弟节点的横向指针。索引树节点的框架属性信息由两部分构成,分别是该节点对应数据集合的MBR信息和文本相似度信息,分别记作<<Xmin,Ymin>,<Xmax,Ymax>>和<LBtext,UBtext>,其中MBR框架信息计算过程如下:
上述公式中的p.x和p.y分别表示的是数据点p的地理位置横坐标和纵坐标。同时,文本框架属性信息的二元组结构是<LBtext,UBtext>,其中LBtext和UBtext分别表示的是数据集合中关键词相似度的上界和下界,其计算公式如下所示:
上述公式中的prob(p,t)表示关键词t在数据点p的关键词集合中所占的比重,比重数据是一个0到1的小数。同时,叶子节点的框架属性信息中的MBR信息的原始数据来源于数据点的空间位置,而关键词文本相似度信息的原始数据来源于各个叶子节点各自对应的Inverted File。中间节点的框架属性信息的原始数据则来源于其孩子节点。
(9)IMR*-T索引树构造完毕,输出树的根节点root。
步骤三、地理文本Skyline查询是基于通过上述步骤构造的IMR*-T索引树,采用深度优先遍历策略遍历索引树中的数据集,同时在遍历过程中结合裁剪策略对地理文本数据集进行Skyline查询,并最终计算出Skyline结果集合。同时在地理文本Skyline查询中,我们只考虑数据点的两维属性,分别是数据点距离查询点的空间距离以及数据点关键词集合与查询点关键词集合之间的相似度,两维属性值的计算公式如下:
第一个空间距离公式就是欧式距离计算公式,第二个关键词集合相似度计算公式中,q.w和p.w分别表示的是查询点q和数据点p的关键词集合,w(wi,p.w)表示的是关键词wi在数据点p的关键词集合中所占的比重大小。
地理文本Skyline中两数据点的支配定义为,存在两个数据点p1和p2,若满足如下两个条件:
d(p1.l,q.l)<=d(p2.l,q.l)
W(p1.w,q.w)>=W(p2.w,q.w)
且至少有一个不等式的不等关系成立,称为p1支配p2。于是地理文本Skyline就是从数据集中找出不被支配的数据点。具体的基于IMR*-T索引树的地理文本Skyline查询的步骤如下所示:
步骤S1:输入查询点q的查询关键词集合{w1,w2,…,wn};
步骤S2:基于深度优先遍历策略遍历IMR*-T树,对于当前遍历到的节点N,首先将节点N与其所有的左兄弟节点进行框架属性的比较,即对MBR以及文本相似度信息进行比较,若在N的左兄弟节点集合中存在一节点N’,满足如下关系:
N’.Xmax<=N.Xmin&&N’.Ymax<=N.Ymin&&N’.LBtext>=N.UBtext
则称为N’支配N,则以N为根节点的子树中存储的所有数据点都可以直接从整个数据集合中裁剪掉,即以N为根节点的子树都不需要再往下进行遍历,此时直接开始从N的右相邻兄弟节点开始继续遍历;
步骤S3:当遍历到叶子节点N,且N的左兄弟节点集合中不存在节点满足步骤S2中的支配条件,则逐个开始遍历N中的每一个数据点,同时在遍历每一个数据点之前,依照距离和关键词文本集合相似度计算公式分别计算每个数据点的距离和文本属性;
步骤S4:继续步骤S3中的操作,将当前遍历到的节点N中的数据点e与当前状态下的Skyline结果集合中的数据点e’逐个进行比较:(1)若e’被e支配,则将e’从当前的Skyline集合中删除,并继续遍历Skyline集合中下一个数据点;(2)若e’支配e,则e不是Skyline数据点,跳出当前遍历过程,继续遍历当前叶子节点中的下一个数据点。
步骤S5:当遍历完IMR*-T树中所有的数据点之后,则查询完毕,此时输出Skyline结果集合。
本发明采用以上技术方案与现有技术相比,具有以下有益效果:
(1)IMR*-T树的主架构是R*树,基于数据点的空间位置对数据集进行空间划分并建树。同时采用Inverted-File结构存储树节点的关键词文本信息。区别于传统的IR树,不再为每一个树节点都单独保存一个Inverted File,而是将Inverted File的实体数据仅保存在叶子节点中。这样有助于降低索引树的存储代价以及提高对索引树中数据点信息更新的效率。
(2)在主架构的R*树的基础之上,为索引树中的每一个节点添加了一个指向该节点左兄弟节点的指针。该指针的添加,使得在基于该混合索引结构的空间数据集查询过程中可以更加高效地对数据集进行有效的裁剪,从而提高整个算法的执行效率。
(3)该索引结构可以用于高效的处理地理文本信息的Skyline查询问题,在该类查询问题中,IMR*-T树可以对地理文本信息数据进行有效的组织和存储,同时在Skyline查询过程中,可以对数据集进行高效的裁剪。
附图说明
图1是IMR*-T树的结构图。其中Root表示树的根节点,N1,N2是树的中间节点,N3~N6是树的叶子节点,其中存储着数据点。同时每个叶子节点都有一个指针指向该叶子节点所对应的Inverted File(倒排文件)结构。并且索引树中的每一个节点都有一个指向左兄弟节点的指针。
图2是p1~p6的空间位置和关键词文本信息总览情况。
图3是p1~p6的空间位置以及距离查询点的空间距离和查询点关键词集合之间的文本相似度信息总览情况。
图4是6个数据点存储在IMR*-T树中的情况,其中p3,p4和p6数据点因为地理位置接近因此存储在一个叶子节点中,p2和p6以此类推。
具体实施方式
以下结合附图和实施案例对本发明的技术方案做进一步详细说明:
1、R*树初始状态为一个空的根节点,同时设置当前R*树的节点阈值为3(索引树中包含的孩子节点或者数据点的个数最多不超过3);
2、遍历数据集合{p1,p2,p3,p4,p5,p6},首先调用Choose Path策略,分别将p1,p2,p3插入到IMR*-T树结构中,当前节点中的数据点个数达到了上限临界值,此时再插入p4之后,此时节点溢出(由于此时IMR*-T树中只存在一个叶子节点,所以4个节点都会被插入到同一个叶子节点中);
3、采用Pick Irrelevant策略选择部分数据点进行重插入,首先按照距离从小到大的顺序将4个数据点排序为{p1,p3,p4,p2},选择前30%数据点即选择p1进行重插入,重新插入之后,发现p1数据点又插入到原叶子节点中了,此时采用Node Split策略对节点进行分裂处理,按照策略最后发现3~1的分裂策略代价是最小的,因此节点分裂成两个,一个节点包含{p1,p3,p4},另外一个节点包含{p2};
4、此时插入p5节点,采用Choose Path策略将p5插入到{p1,p3,p4}中,此时节点继续溢出,调用Pick Irrelevant之后,按照类似的思路最后选择了p1进行重插入,重插入依旧没有解决该溢出问题,此时再采用Node Split策略对节点进行分裂处理,节点分裂成{p1}和{p3,p4,p5};
5、最后插入p6节点,采用Choose Path策略将p6插入到{p2}中,最后形成了如图4所示的IMR*-T树。
6、其中叶子节点{p1}对应的Inverted File内容如下所示:
Bar | <p<sub>1</sub>,0.0389> |
hamburger | <p<sub>1</sub>,0.389> |
7、叶子节点{p3,p4,p5}对应的Inverted File内容如下所示:
Bread | <p<sub>5</sub>,0.156> |
buffet | <p<sub>3</sub>,0.778> |
cheesecake | <p<sub>5</sub>,0.156> |
coffee | <p<sub>5</sub>,0.0954> |
cozy | <p<sub>4</sub>,0.119> |
cream | <p<sub>5</sub>,0.156> |
dessert | <p<sub>4</sub>,0.0753>,<p<sub>5</sub>,0.0602> |
friendly | <p<sub>4</sub>,0.119> |
hamburger | <p<sub>4</sub>,0.119> |
8、叶子节点{p2,p6},对应的Inverted File内容如下所示:
Coffee | <p<sub>2</sub>,0.477> |
cozy | <p<sub>6</sub>,0.0954> |
delicious | <p<sub>6</sub>,0.156> |
dessert | <p<sub>6</sub>,0.0602> |
friendly | <p<sub>6</sub>,0.0954> |
hamburger | <p<sub>6</sub>,0.0954> |
9、根据框架属性计算公式和图三中提供的数据信息可以知道:
·叶子节点{p1}的MBR为<<1,2>,<1,2>>,文本相似度信息为<0,0>;
·叶子节点{p3,p4,p5}的MBR为<<2,2>,<3,4>>,文本相似度信息为<0,0.076>;
·叶子节点{p2,p6}的MBR为<<4,4>,<4,6>>,文本相似度信息为<0,0.096>;
·中间节点R1的MBR为<<1,2>,<3,4>>,文本相似度信息为<0,0.076>;
10、接下来进行地理文本信息的Skyline查询过程:(1)深度优先遍历索引树,首先遍历到节点R1,由于R1没有左兄弟节点,因此继续遍历R1的孩子节点{p1},此时Skyline集合为空,将p1插入到该集合;(2)再遍历到{p3,p4,p5}节点,首先比较{p1}节点和当前节点的框架属性信息,发现不满足支配的条件,于是此时遍历当前叶子节点中的数据点,经过支配比较之后,Skyline结果集合更新为{p1,p4,p5};(3)最后遍历到叶子节点{p2,p6},此时比较节点R1和当前节点的框架属性信息,MBR满足条件但是文本信息未满足条件,因此R1节点不支配当前节点,则继续遍历当前节点中的数据点,进行支配比较之后,最后的Skyline集合更新为{p1,p4,p5,p6}。因此最终的查询结果集合为{p1,p4,p5,p6}。
Claims (4)
1.一种处理地理文本Skyline查询的混合空间索引方法,其特征在于:所述地理文本Skyline查询包括以下内容:
首先Skyline查询是依据数据点之间定义好的支配策略从整个数据集合中找出若干个数据点,这些数据点都满足一个条件,即在除去自身之外的整个数据集中,不存在任何的数据点支配该数据点,这些不被支配的数据点就构成了Skyline查询的结果集合;处理地理文本Skyline查询步骤如下:
步骤S1:输入查询点的空间地理位置和查询关键词集合;
步骤S2:基于深度优先遍历策略遍历IMR*-T树,对于当前遍历到的节点N,首先将节点N与其所有的左兄弟节点进行框架属性的比较,即对MBR以及文本相似度信息进行比较,若在N的左兄弟节点集合中存在一节点N’,满足如下关系:
N’.Xmax<=N.Xmin&&N’.Ymax<=N.Ymin&&N’.LBtext>=N.UBtext
则称为N’支配N,且N中包含的所有的数据点都可以直接从整个数据集合中裁剪掉,即以N为根节点的子树都不需要再往下进行遍历,此时直接开始从N的右相邻兄弟节点开始继续遍历;
步骤S3:当遍历到叶子节点N,且N的左兄弟节点集合中不存在节点满足步骤S2中的支配条件,则逐个开始遍历N中的每一个数据点;
步骤S4:继续步骤S3中的操作,将当前遍历到的数据点e与当前状态下的Skyline结果集合中的数据点进行比较,在比较的过程中对Skyline结果集合进行更新和维护;
步骤S5:当遍历完IMR*-T树中所有的数据点之后,则查询完毕,并输出数据点的结果集合;
其中,IMR*-T树构造的具体步骤如下所示:
步骤一、首先基于数据集中各个数据点的地理空间位置分布,利用传统R*树的构造方法,即遍历数据集中的数据点并进行插入操作,以对索引树进行构造,直到所有的数据点都被插入到索引树中,则索引树的主体架构构造完毕;
步骤二、为步骤一中构造的索引树的每一个叶子节点构造一个Inverted File,该Inverted File中存储对应叶子节点中包含的所有数据点的关键词文本信息,并且该Inverted File与叶子节点之间是一一对应的关系,因此在两者之间构造了一个由叶子节点指向Inverted File的指针;
步骤三、在步骤一和步骤二构造的索引结构基础上,从叶子节点层逐层往上,为每一个索引节点添加该节点中存储的所有数据点的框架属性信息,包括最小边界矩形和关键词文本相似度信息,以及指向该节点左兄弟节点的横向指针;
步骤四、在建立好的IMR*-T树的基础上,通过遍历该IMR*-T树,以应答用户的Skyline查询请求,并返回Skyline结果。
2.如权利要求1所述的一种处理地理文本Skyline查询的混合空间索引方法,其特征在于,依照数据点的空间位置分布构造R*树时包括:
遍历整个数据集合按照R*树的构造策略将所有的数据点插入到IMR*-T树中,再将数据点插入到IMR*-T树的过程中会依据不同的情况采用不同的策略进行相应的处理;假设当前遍历到的待插入数据点为e,首先采用Choose Path策略选择合适的插入路径,并将数据点e插入到相应的叶子节点中;插入新的数据点之后,可能会出现叶子节点溢出的情况,而所谓的节点溢出是指节点中包含的对象数量超出了某一阈值φ,这个阈值是初始定义的一个索引树节点中所能包含对象数量的一个上限值,此时采用Pick Irrelevant策略选择该溢出节点中对所在MBR影响最小的那些节点进行重插入,重插入过程和上述数据点e的插入过程相同;当进行完重插入步骤之后,IMR*-T树中可能依旧存在叶子节点处于溢出的状态,此时按照自底向上和自左向右的顺序依次处理处于溢出状态的节点,在处理这些节点时有两种情况:(1)若当前溢出节点所在层在之前处理过程中已经采用过Pick Irrelevant重插入策略去解决溢出节点的溢出问题,那么此时采用Node Split策略对溢出节点进行分裂处理;(2)若当前溢出节点所在层在之前处理过程中未采用过Pick Irrelevant数据点重插入策略,则对当前溢出节点调用Pick Irrelevant策略进行重插入处理;最后直到IMR*-T树中不存在节点溢出现象,则数据点e插入成功。
3.如权利要求2所述的一种处理地理文本Skyline查询的混合空间索引方法,其特征在于,在构造每个叶子节点所对应的Inverted File时,还包括:
原始的数据集中每一个数据点的关键词文本集合由若干关键词构成,对这些集合采用TF-IDF模型进行处理,并计算出数据点的每一个关键词在其所属的关键词集合中所占的比重值,该比重值为0~1之间的小数,依据这些比重数据,最后构造出Inverted File。
4.如权利要求3所述的一种处理地理文本Skyline查询的混合空间索引方法,其特征在于,在自底向上构造节点框架属性信息与兄弟节点指针时,还包括:
节点框架属性信息包含了数据子集合中数据点的空间位置MBR信息,其中MBR由一个二元组构成,该二元组的两个元素本身也是二元组;同时还包含了数据点文本相似度信息,该相似度信息包含了相似度的上界和下界;
其中MBR的结构是<<Xmin,Ymin>,<Xmax,Ymax>>,其中的Xmin和Xmax分别是数据集合中所有数据点的横坐标的最小值和最大值,而Ymin和Ymax分别是数据集合中所有数据点的纵坐标的最小值和最大值;
同时,文本相似度信息的二元组结构是<LBtext,UBtext>,其中LBtext和UBtext分别表示的是数据集合中所有数据点文本相似度的上界和下界。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710961027.0A CN108052514B (zh) | 2017-10-12 | 2017-10-12 | 一种处理地理文本Skyline查询的混合空间索引方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710961027.0A CN108052514B (zh) | 2017-10-12 | 2017-10-12 | 一种处理地理文本Skyline查询的混合空间索引方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108052514A CN108052514A (zh) | 2018-05-18 |
CN108052514B true CN108052514B (zh) | 2021-01-15 |
Family
ID=62119308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710961027.0A Active CN108052514B (zh) | 2017-10-12 | 2017-10-12 | 一种处理地理文本Skyline查询的混合空间索引方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108052514B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109446294B (zh) * | 2018-11-13 | 2021-09-07 | 嘉兴学院 | 一种并行的相互子空间Skyline查询方法 |
CN110263108B (zh) * | 2019-05-10 | 2023-07-11 | 南京航空航天大学 | 一种基于道路网的关键词Skyline模糊查询方法及系统 |
CN110580252B (zh) * | 2019-07-30 | 2021-12-28 | 中国人民解放军国防科技大学 | 多目标优化下的空间对象索引与查询方法 |
CN110928968B (zh) * | 2019-11-12 | 2023-04-11 | 天津大学 | 一种二维地理空间大数据的存储与查询计算机介质 |
CN111031390B (zh) * | 2019-12-17 | 2022-10-21 | 南京航空航天大学 | 一种输出大小固定序列行列式点过程视频概要方法 |
CN111353012B (zh) * | 2020-03-09 | 2023-10-17 | 咪咕文化科技有限公司 | 空间文本数据缓存处理方法、装置、电子设备及存储介质 |
KR102505050B1 (ko) * | 2020-09-29 | 2023-03-06 | 삼육대학교산학협력단 | 최근접 이웃 탐색 기반의 스카이라인 질의를 위한 전처리 방법 |
CN112699195B (zh) * | 2020-12-29 | 2023-12-19 | 广州城市信息研究所有限公司 | 地理空间数据处理方法、装置、计算机设备及存储介质 |
CN114064843B (zh) * | 2022-01-11 | 2022-05-17 | 深圳大学 | Rdf数据中天际线位置节点查询方法、装置和设备 |
CN117494587B (zh) * | 2023-12-29 | 2024-04-09 | 杭州行芯科技有限公司 | 芯片封装结构的空间关系管理方法、电子设备及存储介质 |
CN117874157B (zh) * | 2024-03-12 | 2024-07-05 | 国家海洋技术中心 | 动态时空对象数据的自适应索引方法、产品、介质及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577721A (zh) * | 2008-12-05 | 2009-11-11 | 湖南大学 | 一种索引拆分布鲁姆过滤器及其插入、删除和查询方法 |
CN101763415A (zh) * | 2009-12-16 | 2010-06-30 | 北京握奇数据系统有限公司 | 一种数据库的b树索引的生成方法及装置 |
CN103412897A (zh) * | 2013-07-25 | 2013-11-27 | 中国科学院软件研究所 | 一种基于分布式结构的并行数据处理方法 |
US9286411B2 (en) * | 2009-06-25 | 2016-03-15 | International Business Machines Corporation | Retrieval of relevant objects in a similarity |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101554569B1 (ko) * | 2014-01-28 | 2015-09-22 | 서울대학교산학협력단 | 스카이라인 질의 시스템 및 방법 |
-
2017
- 2017-10-12 CN CN201710961027.0A patent/CN108052514B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577721A (zh) * | 2008-12-05 | 2009-11-11 | 湖南大学 | 一种索引拆分布鲁姆过滤器及其插入、删除和查询方法 |
US9286411B2 (en) * | 2009-06-25 | 2016-03-15 | International Business Machines Corporation | Retrieval of relevant objects in a similarity |
CN101763415A (zh) * | 2009-12-16 | 2010-06-30 | 北京握奇数据系统有限公司 | 一种数据库的b树索引的生成方法及装置 |
CN103412897A (zh) * | 2013-07-25 | 2013-11-27 | 中国科学院软件研究所 | 一种基于分布式结构的并行数据处理方法 |
Non-Patent Citations (1)
Title |
---|
UC-PSkyline: Probabilistic Skyline Queries Over;Zhiming Zhang等;《016 Twelfth International Conference on Intelligent Computation (ICIC》;20160805;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108052514A (zh) | 2018-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108052514B (zh) | 一种处理地理文本Skyline查询的混合空间索引方法 | |
CN105320775B (zh) | 数据的存取方法和装置 | |
Rocha-Junior et al. | Top-k spatial keyword queries on road networks | |
CN109299113B (zh) | 具有存储感知的混合索引的范围查询方法 | |
Balasubramanian et al. | A state-of-art in R-tree variants for spatial indexing | |
CN101320382B (zh) | 基于上下文对搜索结果重新排序的方法和系统 | |
US20110082855A1 (en) | Multi-dimensional access to data | |
CN110069500B (zh) | 一种非关系型数据库动态混合索引方法 | |
CN112115227A (zh) | 数据的查询方法、装置、电子设备及存储介质 | |
CN112395288B (zh) | 基于希尔伯特曲线的r树索引合并更新方法、装置及介质 | |
CN100433009C (zh) | 静态范围匹配表的管理维护方法 | |
KR101255639B1 (ko) | 컬럼 기반 데이터베이스 시스템 및 데이터베이스 시스템의 조인 인덱스를 이용한 조인 처리 방법 | |
CN110032676B (zh) | 一种基于谓词关联的sparql查询优化方法及系统 | |
CN111026750A (zh) | 用AIR树解决SKQwhy-not问题的方法及系统 | |
CN108628969B (zh) | 一种空间关键字索引方法及平台、存储介质 | |
CN104794237B (zh) | 网页信息处理方法及装置 | |
KR100994724B1 (ko) | 불확실성 데이터 베이스에서의 확률이 높은 상위 k개의 스카이라인 질의 방법 | |
JP2010277329A (ja) | 近傍探索装置 | |
CN106096065B (zh) | 一种多媒体对象的相似检索方法及装置 | |
CN107229704A (zh) | 一种基于ksp算法的资源描述框架查询方法和系统 | |
Li et al. | Aggregate nearest keyword search in spatial databases | |
JP4440246B2 (ja) | 空間インデックス方法 | |
JP3938815B2 (ja) | ノード作成方法、画像検索方法及び記録媒体 | |
CN110955827B (zh) | 采用AI3解决SKQwhy-not问题的方法及系统 | |
Vespa et al. | Efficient bulk-loading on dynamic metric access methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |