CN109947904B - 一种基于Spark环境的偏好空间Skyline查询处理方法 - Google Patents

一种基于Spark环境的偏好空间Skyline查询处理方法 Download PDF

Info

Publication number
CN109947904B
CN109947904B CN201910222188.7A CN201910222188A CN109947904B CN 109947904 B CN109947904 B CN 109947904B CN 201910222188 A CN201910222188 A CN 201910222188A CN 109947904 B CN109947904 B CN 109947904B
Authority
CN
China
Prior art keywords
skyline
preference
data
class
text
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
Application number
CN201910222188.7A
Other languages
English (en)
Other versions
CN109947904A (zh
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.)
Northeastern University China
Original Assignee
Northeastern University China
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 Northeastern University China filed Critical Northeastern University China
Priority to CN201910222188.7A priority Critical patent/CN109947904B/zh
Publication of CN109947904A publication Critical patent/CN109947904A/zh
Application granted granted Critical
Publication of CN109947904B publication Critical patent/CN109947904B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

本发明公开了一种基于Spark环境的偏好空间Skyline查询处理方法,包括基于偏好函数的空间Skyline查询处理算法和基于偏好优先的空间Skyline查询处理算法,本发明科学合理,使用安全方便,通过基于偏好函数的空间Skyline查询处理算法的作用,将数据的空间属性与非空间属性相整合,并利用相关性对不满足任一查询点偏好的数据进行过滤,减少了数据集的大小,利用网格支配关系进一步减少处理任务量,提高了查询的处理速度;通过基于偏好优先的空间Skyline查询处理算法的作用,对空间数据进行聚类,并将类中出现频率较高的关键词作为整个类的文本特征信息,同时对类中的空间对象建立扩展的R‑tree索引,利用扩展R‑tree索引的高效空间查找和过滤能力进行支配判断,从而加快Skyline查询处理。

Description

一种基于Spark环境的偏好空间Skyline查询处理方法
技术领域
本发明涉及互联网技术领域,具体为一种基于Spark环境的偏好空间Skyline查询处理方法。
背景技术
Skyline查询是数据库领域中较为常见的一种查询方式,在解决多目标决策问题上有着重要的优势,偏好查询主要应用于服务推荐系统中,偏好空间Skyline查询是在空间Skyline查询和偏好查询的基础上发展而来,主要用于返回符合用户查询位置要求以及用户偏好的空间对象集合,进而为进一步决策提供支持。现有的偏好空间Skyline查询算法主要针对共有单一偏好的查询,因而不适合于多用户偏好查询处理;同时当查询的空间对象的数量非常大时,传统集中式处理方法的性能很难满足用户的需求,所以急需一种基于Spark并行环境的偏好空间Skyline查询处理方法来解决上述问题。
发明内容
本发明提供一种基于Spark环境的偏好空间Skyline查询处理方法,可以有效解决上述背景技术中提出现有的偏好空间Skyline查询算法主要针对共有单一偏好的查询,因而不适合于多用户偏好查询,当查询的空间对象数量非常大时,现有的集中式处理方法的性能很难满足用户需求的问题。
为实现上述目的,本发明提供如下技术方案:一种基于Spark环境的偏好空间Skyline查询处理方法,所述基于Spark环境的Skyline查询处理方法包括基于偏好函数的空间Skyline查询处理算法和基于偏好优先的空间Skyline查询处理算法;
所述基于偏好函数的空间Skyline查询处理算法具体步骤如下:
S1、属性整合:采用偏好函数将数据集中空间数据对象的空间属性和非空间属性整合成一个新的属性;
S2、数据划分与预处理:对整合后的数据集进行划分与预处理;
S3、局部Skyline计算:在划分后的子数据集上并行计算局部Skyline结果;
S4、全局Skyline计算:对局部Skyline结果进行合并求得全局结果集。
所述基于偏好优先的空间Skyline查询处理算法具体步骤如下:
A1、数据集文本偏好预处理:根据数据对象的文本描述信息对数据对象进行据类,并提取频率高的关键字作为类簇的共同文本特征;
A2、类簇选择:计算给定查询偏好与类簇文本特征的相关性,并选择相关性大于某个阈值的类簇作为后续类内Skyline运算的对象;
A3、类内Skyline计算:对于选定的类簇,并行计算Skyline结果,并采用扩展的R-tree来加速支配判断和剪枝;
A4、全局Skyline计算:汇总合并类内Skyline结果,并对汇总后的结果进行全局Skyline计算,得到最终Skyline结果。
根据上述技术方案,所述步骤S1中,根据输入的数据集和查询集首先将空间数据的空间属性和非空间属性进行的属性整合,其中在进行属性整合时,通过偏好空间函数,将空间数据对象到查询点的距离和空间数据对象与查询点偏好的相关性整合为一个统一的度量,使其作为一个维度进行计算,用欧几里得距离来度量空间数据对象与查询点之间的远近关系,采用TF-IDF来度量空间数据对象与查询点之间的文本相关性。所述TF-IDF可以表示为TF*IDF,其中TF称为词频,DF称为文档频率,其具体公式为:
Figure GDA0003084127260000031
TFIDF(t,d,D)=TF(t,d)*IDF(t,D)
其中:t表示一个词,d表示一篇文档,IDF(t,D)表示包含词t的文档数目,|D|是语料库中的文档总数,TF(t,d)表示词t在文档d中出现的次数。
所述的空间数据对象到查询点的欧几里得距离计算公式为:
Figure GDA0003084127260000032
其中pi为数据对象,pi.d1,pi.d2,…,pi.dd是pi在每一维上的值,qj是查询点,qj.d1,qj.d2,…,qj.dd是qj在每一维上的值。
计算查询点与空间数据对象的文本相关性计算方法为:
Figure GDA0003084127260000033
其中:ω(pi,qj)代表查询点qj与空间数据对象pi的文本相关性,
Figure GDA0003084127260000034
为查询点qj的偏好关键字集合,
Figure GDA0003084127260000035
表示数据对象pi的文本关键字集合,
Figure GDA0003084127260000036
则表示查询点qj中偏好关键字的个数,l表示查询点偏好集合和数据对象文本关键字集合交集的个数。TFIDF(tk)表示关键字tk的TF-IDF值。
偏好整合函数为:
st(pi,qj)=α*d(pi,qj)+(1-α)(1/ω(pi,qj))
其中,参数a代表距离的权重,st(pi,qj)值越小越好。
根据上述技术方案,所述步骤S2中,对整合后的数据集进行划分与预处理,其具体步骤为:1、采用网格划分的方式将数据空间划分成nd个大小相等的网格单元,d为数据空间的维度;2、采用Z-order的方式对网格单元进行编码;3、将数据预处理之后投影到相应的网格单元,利用网格单元的支配关系进行剪枝,过滤掉被某个网格支配的网格单元以及这些网格单元中的空间数据;其中采用Z-order编码对网格单元进行编码,具体是指将数据空间划分成nd个网格单元,即每一个维度上都划分成n个区间,d维数据空间将会被划分成nd个网格区间,使用C来表示所有空间网格单元的集合,则C可以表示如下:
Figure GDA0003084127260000041
其中,C表示所有空间对象构成的整个空间区域,Ci为其中一个网格单元,所有的Ci恰好构成了整个空间区域C,同时不同的网格单元在空间上也互不相交,与数据对象之间的支配方式相似,两个网格单元之间也可以定义支配关系。
根据上述技术方案,所述步骤S3中,对处理后的数据并行计算局部Skyline结果集,具体为对剩余网格单元并行的进行局部Skyline结果的计算,先将每个网格单元中的数据按照坐标和进行排序,找到初始过滤点作为支配集,按照排序顺序依次对数据进行支配关系的比较,同时更新支配集,直至数据处理结束,返回当前网格单元的局部Skyline结果集。
根据上述技术方案,所述步骤S4中,对局部结果进行合并求得全局结果集,对步骤S3中产生的局部Skyline结果进行合并,并在合并的数据集上计算全局Skyline结果集,并保存至HDFS。
根据上述技术方案,所述步骤A1中,对数据集进行文本偏好预处理,主要包括关键字编码、聚类、类簇关键字提取和类簇对象索引构建,其具体为:1、在Spark环境下从HDFS中读取数据集,并利用Spark内部的划分策略并行的将数据集中的每个数据对象的文本特征分别和语料库中的文本特征进行对比,形成相应的文本特征向量Vector,如果一个数据对象pj的文本特征是语料库T中第i个特征ti,则其Vector向量的对应位置为1,否则对应的位置为0,Vector向量表示为:
Figure GDA0003084127260000051
2、将每个数据对象特征向量作为输入,采用K-means算法进行聚类,形成K个类簇,将每个类簇的标签作为Key值,通过算子groupBykey将同属一个类簇的数据进行合并,聚集到该类簇的数据对象的Vector集合作为value,根据value值中每一维上的值得到在当前类簇中出现频率最高前m个特征,将其转换为语料库中的文本关键词,作为整个类簇的文本特征信息,且同时得到该类簇中相应对象的空间属性信息,根据空间数据的空间属性信息对类内对象建立R-tree索引,其中K值的确定方法为,假设空间数据集P={P1,P2…Pn},将空间数据集P分成k个类簇,首先定义代价函数:代价函数为类际距离L与类内距离D之和,用F(S,k)来表示:F(S,k)=L+D,类际距离为所有聚类中心到全体样本的均值的距离之和可由公式表示为:
Figure GDA0003084127260000052
其中k是聚类的个数,mi表示类簇Si的中心,m表示全体样本的均值;类内距离为所有类簇内部距离的总和(每个类簇的内部距离为该类簇内所有样本与样本中心的距离之和),可由公式表示为:
Figure GDA0003084127260000053
其中p为任一样本,k是聚类的个数,mi表示类簇Si的中心;当L=D时,空间聚类数k达到优化,
Figure GDA0003084127260000054
根据上述技术方案,所述步骤A2中,偏好预处理后与查询集进行类簇对比是指根据上一阶段得到的K个类簇与每个类簇的文本描述信息,与到来的查询点的偏好文本相对比,得出每个查询点与每个类簇的文本相关性,其中用
Figure GDA0003084127260000055
来表示查询偏好向量与类簇词向量之间的文本相似度,其计算公式为:
Figure GDA0003084127260000061
其中:
Figure GDA0003084127260000062
是查询点qi的文本偏好集合,
Figure GDA0003084127260000063
表示查询点qi文本偏好的词向量;
Figure GDA0003084127260000064
是类簇的文本特征信息集合,
Figure GDA0003084127260000065
表示类簇Sj文本信息的词向量,其
Figure GDA0003084127260000066
的值在[0,1]之间,其中0表示不相关,1表示最相关。
根据各个查询点与类簇之间的相关性,来判断类簇文本描述与每个查询点偏好之间的匹配程度。并设定一个相关性阈值Threshold对类簇进行过滤,如果当前类簇与某个查询点之间的相关性低于阈值,则表明该类簇与查询之间的文本匹配度较低,则过滤掉该类簇,不参与后续的Skyline运算。
根据上述技术方案,所述步骤A3中,计算类内结果,是指将每一个类簇中的空间数据对象建扩展R-tree,目的是为了加快数据的搜索,同时用一个最小堆H来存放要访问的数据,每次取出堆顶元素,利用当前求出的Skyline候选集对其进行支配判断,如果当前元素是叶子节点,且不能被支配则将叶子节点加入候选集中,否则直接从堆中删除该元素;如果当前元素是非叶子节点,且不能被支配则将该元素的所有孩子节点加入H中,否则直接将该元素剪枝,不再对其进行孩子节点的判断;直至堆中元素为空,返回候选Skyline集中的对象以及它们的属性值,其中堆中对象的排序依据为,在进行Skyline查询计算的时候,创建一个最小堆H和一个初始结果集S(Q)=φ,从R-tree的根节点开始遍历,首先将根节点入最小堆H,将空间数据对象的距离和Sumdist作为对象在H中的排序依据,并动态的更新根节点的指针文件的距离值,以Sumdist升序的方式访问数据对象,Sumdist的计算公式为:
Figure GDA0003084127260000067
其中,Q为查询点的集合,p为R-tree上的叶子节点,MBR为类簇构成的最小边界矩形,MINDIST(qi,MBR)表示为查询点qi到MBR的最小距离,如果查询点位于MBR的内部或者正好在MBR的边上,则MINDIST返回值为0,如果查询点在MBR之外的其他位置,若查询点到MBR各个边的距离存在,计算此距离,并从中挑取最小的距离值为MINDIST的返回值。
根据上述技术方案,所述步骤A4中,合并类内Skyline集计算并返回结果集,是指将类内Skyline计算结果集进行合并,根据对象属性值的和进行排序,采用传统的Skyline计算方法得到最终的全局Skyline结果集合。与现有技术相比,本发明的有益效果:本发明科学合理,使用安全方便,通过基于偏好函数的空间Skyline查询处理算法的作用,将数据的空间属性与非空间属性相整合,根据查询点偏好与数据点之间的相似度先将不满足任一查询点偏好的数据进行过滤,减少了数据集的大小,然后对数据空间进行划分并利用网格支配关系,过滤掉不能产生最终结果的网格单元,减少处理任务量,避免了不必要的计算,降低了后续的计算量,同时利用支配力较强的过滤候选集对数据进行支配判断,提高算法的处理速度;通过基于偏好优先的空间Skyline查询处理算法的作用,首先根据空间数据对象的文本描述信息对空间数据进行聚类,并将类中出现频率较高的关键词作为整个类的文本特征信息,在进行查询时,根据类与查询的文本匹配程度来选择相关的类作为进一步查询的对象,同时对类中的空间对象建立扩展的R-tree索引,利用R-tree索引的高效空间查找和过滤能力来进行支配判断,计算类内Skyline结果,最后对类内结果合并并进行全局Skyline的计算,从而对于查询密集型任务有着明显的优势,提高了工作效率。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
在附图中:
图1是本发明的偏好函数的空间Skyline查询算法框图;
图2是本发明的偏好优先的空间Skyline查询流程图;
图3是本发明的基于偏好函数的空间Skyline查询处理算法的处理框架图;
图4是本发明的扩展R-tree的结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例:如图1-4所示,本发明提供一种技术方案,一种基于Spark环境的偏好空间Skyline查询处理方法,基于Spark环境的Skyline查询处理方法包括基于偏好函数的空间Skyline查询处理算法和基于偏好优先的空间Skyline查询处理算法;
基于偏好函数的空间Skyline查询处理算法具体步骤如下:
S1、属性整合:采用偏好函数将数据集中空间数据对象的空间属性和非空间属性整合成一个新的属性;
S2、数据划分与预处理:对整合后的数据集进行划分与预处理;
S3、局部Skyline计算:在划分后的子数据集上并行计算局部Skyline结果;
S4、全局Skyline计算:对局部Skyline结果进行合并求得全局结果集。
基于偏好优先的空间Skyline查询处理算法具体步骤如下:
A1、数据集文本偏好预处理:根据数据对象的文本描述信息对数据对象进行据类,并提取频率高的关键字作为类簇的共同文本特征;
A2、类簇选择:计算给定查询偏好与类簇文本特征的相关性,并选择相关性大于某个阈值的类簇作为后续类内Skyline运算的对象;
A3、类内Skyline计算:对于选定的类簇,并行计算Skyline结果,并采用扩展的R-tree来加速支配判断和剪枝;
A4、全局Skyline计算:汇总合并类内Skyline结果,并对汇总后的结果进行全局Skyline计算,得到最终Skyline结果。
根据上述技术方案,步骤S1中,根据输入的数据集和查询集首先将空间数据的空间属性和非空间属性进行的属性整合,其中在进行属性整合时,通过偏好空间函数,将空间数据对象到查询点的距离和空间数据对象与查询点偏好的相关性整合为一个统一的度量,使其作为一个维度进行计算,用欧几里得距离来度量空间数据对象与查询点之间的远近关系,采用TF-IDF来度量空间数据对象与查询点之间的文本相关性。TF-IDF可以表示为TF*IDF,其中TF称为词频,DF称为文档频率,其具体公式为:
Figure GDA0003084127260000091
TFIDF(t,d,D)=TF(t,d)*IDF(t,D)
其中:t表示一个词,d表示一篇文档,IDF(t,D)表示包含词t的文档数目,|D|是语料库中的文档总数,TF(t,d)表示词t在文档d中出现的次数。
的空间数据对象到查询点的欧几里得距离计算公式为:
Figure GDA0003084127260000092
其中pi为数据对象,pi.d1,pi.d2,…,pi.dd是pi在每一维上的值,qj是查询点,qj.d1,qj.d2,…,qj.dd是qj在每一维上的值。
计算查询点与空间数据对象的文本相关性计算方法为:
Figure GDA0003084127260000093
其中:ω(pi,qj)代表查询点qj与空间数据对象pi的文本相关性,
Figure GDA0003084127260000101
为查询点qj的偏好关键字集合,
Figure GDA0003084127260000102
表示数据对象pi的文本关键字集合,
Figure GDA0003084127260000103
则表示查询点qj中偏好关键字的个数,l表示查询点偏好集合和数据对象文本关键字集合交集的个数。TFIDF(tk)表示关键字tk的TF-IDF值。
偏好整合函数为:
Figure GDA0003084127260000104
其中,参数a代表距离的权重,st(pi,qj)值越小越好。
根据上述技术方案,步骤S2中,对整合后的数据集进行划分与预处理,其具体步骤为:1、采用网格划分的方式将数据空间划分成nd个大小相等的网格单元(d为数据空间的维数,通常d为2);2、采用Z-order的方式对网格单元进行编码;3、将数据预处理之后投影到相应的网格单元,利用网格单元的支配关系进行剪枝,过滤掉被某个网格支配的网格单元以及这些网格单元中的空间数据对象;其中采用Z-order编码对网格单元进行编码,具体是指将数据空间划分成nd个网格单元,即每一个维度上都划分成n个区间,d维数据空间将会被划分成nd个网格区间,使用C来表示所有空间网格单元的集合,则C可以表示如下:
Figure GDA0003084127260000105
其中,C表示所有空间对象构成的整个空间区域,Ci为其中一个网格单元,所有的Ci恰好构成了整个空间区域C,同时不同的网格单元在空间上也互不相交,与数据对象之间的支配方式相似,两个网格单元之间也可以定义支配关系。根据上述技术方案,步骤S3中,对处理后的数据并行计算局部Skyline结果集,具体为对剩余网格单元并行的进行局部Skyline结果的计算,先将每个网格单元中的数据按照坐标和进行排序,找到初始过滤点作为支配集,按照排序顺序依次对数据进行支配关系的比较,同时更新支配集,直至数据处理结束,返回当前网格单元的局部Skyline结果集。
根据上述技术方案,步骤S4中,对局部结果进行合并求得全局结果集,对步骤S3中产生的局部Skyline结果进行合并,并在合并的数据集上计算全局Skyline结果集,并保存至HDFS。
根据上述技术方案,步骤A1中,对数据集进行文本偏好预处理,主要包括关键字编码、聚类、类簇关键字提取和类簇对象索引构建,其具体为:1、在Spark环境下从HDFS中读取数据集,并利用Spark内部的划分策略并行的将数据集中的每个数据对象的文本特征分别和语料库中的文本特征进行对比,形成相应的文本特征向量Vector,如果一个数据对象pj的文本特征是语料库T中第i个特征ti,则其Vector向量的对应位置为1,否则对应的位置为0,Vector向量表示为:
Figure GDA0003084127260000111
2、将每个数据对象特征向量作为输入,采用K-means算法进行聚类,形成K个类簇,将每个类簇的标签作为Key值,通过算子groupBykey将同属一个类簇的数据进行合并,聚集到该类簇的数据对象的Vector集合作为value,根据value值中每一维上的值得到在当前类簇中出现频率最高前m个特征,将其转换为语料库中的文本关键词,作为整个类簇的文本特征信息,且同时得到该类簇中相应对象的空间属性信息,根据空间数据的空间属性信息对类内对象建立R-tree索引,其中K值的确定方法为,假设空间数据集P={P1,P2…Pn},将空间数据集P分成k个类簇,首先定义代价函数:代价函数为类际距离L与类内距离D之和,用F(S,k)来表示:F(S,k)=L+D,类际距离为所有聚类中心到全体样本的均值的距离之和可由公式表示为:
Figure GDA0003084127260000121
其中k是聚类的个数,mi表示类簇Si的中心,m表示全体样本的均值;类内距离为所有类簇内部距离的总和(每个类簇的内部距离为该类簇内所有样本与样本中心的距离之和),可由公式表示为:
Figure GDA0003084127260000122
其中p为任一样本,k是聚类的个数,mi表示类簇Si的中心;当L=D时,空间聚类数k达到优化,
Figure GDA0003084127260000123
根据上述技术方案,步骤A2中,偏好预处理后与查询集进行类簇对比是指根据上一阶段得到的K个类簇与每个类簇的文本描述信息,与到来的查询点的偏好文本相对比,得出每个查询点与每个类簇的文本相关性,其中用
Figure GDA0003084127260000124
来表示查询偏好向量与类簇词向量之间的文本相似度,其计算公式为:
Figure GDA0003084127260000125
其中:
Figure GDA0003084127260000126
是查询点qi的文本偏好集合,
Figure GDA0003084127260000127
表示查询点qi文本偏好的词向量;
Figure GDA0003084127260000128
是类簇的文本特征信息集合,
Figure GDA0003084127260000129
表示类簇Sj文本信息的词向量,其
Figure GDA00030841272600001210
的值在[0,1]之间,其中0表示不相关,1表示最相关。
根据各个查询点与类簇之间的相关性,来判断类簇文本描述与每个查询点偏好之间的匹配程度。并设定一个相关性阈值Threshold对类簇进行过滤,如果当前类簇与某个查询点之间的相关性低于阈值,则表明该类簇与查询之间的文本匹配度较低,则过滤掉该类簇,不参与后续的Skyline运算。
根据上述技术方案,步骤A3中,计算类内结果,是指将每一个类簇中的空间数据对象建扩展R-tree,目的是为了加快数据的搜索,同时用一个最小堆H来存放要访问的数据,每次取出堆顶元素,利用当前求出的Skyline候选集对其进行支配判断,如果当前元素是叶子节点,且不能被支配则将叶子节点加入候选集中,否则直接从堆中删除该元素;如果当前元素是非叶子节点,且不能被支配则将该元素的所有孩子节点加入H中,否则直接将该元素剪枝,不再对其进行孩子节点的判断;直至堆中元素为空,返回候选Skyline集中的对象以及它们的属性值,其中堆中对象的排序依据为,在进行Skyline查询计算的时候,创建一个最小堆H和一个初始结果集S(Q)=φ,从R-tree的根节点开始遍历,首先将根节点入最小堆H,将空间数据对象的距离和Sumdist作为对象在H中的排序依据,并动态的更新根节点的指针文件的距离值,以Sumdist升序的方式访问数据对象,Sumdist的计算公式为:
Figure GDA0003084127260000131
其中,Q为查询点的集合,p为R-tree上的叶子节点,MBR为类簇构成的最小边界矩形,MINDIST(qi,MBR)表示为查询点qi到MBR的最小距离,如果查询点位于MBR的内部或者正好在MBR的边上,则MINDIST返回值为0,如果查询点在MBR之外的其他位置,若查询点到MBR各个边的距离存在,计算此距离,并从中挑取最小的距离值为MINDIST的返回值。
根据上述技术方案,步骤A4中,合并类内Skyline集计算并返回结果集,是指将类内Skyline计算结果集进行合并,根据对象属性值的和进行排序,采用传统的Skyline计算方法得到最终的全局Skyline结果集合。基于上述,本发明的优点在于:通过Spark下基于偏好函数的空间Skyline查询处理算法Multi-PSS,将数据的空间属性与非空间属性相整合,根据查询点偏好与数据点之间的相似度先将不满足任一查询点偏好的数据进行过滤,减少了数据集的大小,然后对数据空间进行划分并利用网格支配关系,过滤掉不能产生最终结果的网格单元,减少处理任务量,避免了不必要的计算,降低了后续的计算量,同时利用支配力较强的过滤候选集对数据进行支配判断,提高算法的处理速度;通过Spark下基于偏好优先的空间Skyline查询处理算法Multi-PFPSS,首先根据空间数据对象的文本描述信息对空间数据进行聚类,并将类中出现频率较高的关键词作为整个类的文本特征信息,在进行查询时根据类与查询的文本匹配程度来选择相关的类作为进一步查询的对象,同时对类中的空间对象建立扩展的R-tree索引,利用R-tree索引的高效空间查找和过滤能力来进行支配判断,计算类内Skyline结果,最后对类内结果合并并进行全局Skyline的计算,从而对于查询密集型任务有着明显的优势,提高工作效率。
最后应说明的是:以上所述仅为本发明的优选实例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施案例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于Spark环境的偏好空间Skyline查询处理方法,其特征在于:所述基于Spark环境的Skyline查询处理方法包括基于偏好函数的空间Skyline查询处理算法和基于偏好优先的空间Skyline查询处理算法;
所述基于偏好函数的空间Skyline查询处理算法具体步骤如下:
S1、属性整合:采用偏好函数将数据集中空间数据对象的空间属性和非空间属性整合成一个新的属性;
S2、数据划分与预处理:对整合后的数据集进行划分与预处理;
S3、局部Skyline计算:在划分后的子数据集上并行计算局部Skyline结果;
S4、全局Skyline计算:对局部Skyline结果进行合并求得全局结果集;
所述基于偏好优先的空间Skyline查询处理算法具体步骤如下:
A1、数据集文本偏好预处理:根据数据对象的文本描述信息对数据对象进行据类,并提取频率高的关键字作为类簇的共同文本特征;
A2、类簇选择:计算给定查询偏好与类簇文本特征的相关性,并选择相关性大于某个阈值的类簇作为后续类内Skyline运算的对象;
A3、类内Skyline计算:对于选定的类簇,并行计算Skyline结果,并采用扩展的R-tree来加速支配判断和剪枝;
A4、全局Skyline计算:汇总合并类内Skyline结果,并对汇总后的结果进行全局Skyline计算,得到最终Skyline结果。
2.根据权利要求1所述的一种基于Spark环境的偏好空间Skyline查询处理方法,其特征在于:所述步骤S1中,根据输入的数据集和查询集首先将空间数据的空间属性和非空间属性进行的属性整合,其中在进行属性整合时,通过偏好空间函数,将空间数据对象到查询点的距离和空间数据对象与查询点偏好的相关性整合为一个统一的度量,使其作为一个维度进行计算,用欧几里得距离来度量空间数据对象与查询点之间的远近关系,采用TF-IDF来度量空间数据对象与查询点之间的文本相关性,所述TF-IDF可以表示为TF*IDF,其中TF称为词频,DF称为文档频率,其具体公式为:
Figure FDA0003084127250000021
TFIDF(t,d,D)=TF(t,d)*IDF(t,D)
其中:t表示一个词,d表示一篇文档,IDF(t,D)表示包含词t的文档数目,|D|是语料库中的文档总数,TF(t,d)表示词t在文档d中出现的次数;
所述的空间数据对象到查询点的欧几里得距离公式为:
Figure FDA0003084127250000022
其中pi为数据对象,pi.d1,pi.d2,…,pi.dd是pi在每一维上的值,qj是查询点,qj.d1,qj.d2,…,qj.dd是qj在每一维上的值;
计算查询点与空间数据对象的文本相关性计算方法为:
Figure FDA0003084127250000023
其中:ω(pi,qj)代表查询点与空间数据对象的文本相关性,
Figure FDA0003084127250000025
为查询点qj偏好中关键字的个数,l表示查询点偏好和数据对象文本关键字交集的个数;TFIDF(tk)表示关键字tk的TF-IDF值;
偏好整合函数为:
Figure FDA0003084127250000024
其中,参数a代表距离的权重,st(pi,qj)值越小越好。
3.根据权利要求1所述的一种基于Spark环境的偏好空间Skyline查询处理方法,其特征在于:所述步骤S2中,对整合后的数据集进行划分与预处理,其具体步骤为:1、采用网格划分的方式将数据空间划分成nd个大小相等的网格单元;2、采用Z-order的方式对网格单元进行编码;3、将数据预处理之后投影到相应的网格单元,利用网格单元的支配关系进行剪枝,过滤掉被某个网格支配的网格单元以及这些网格单元中的空间数据对象;其中采用Z-order编码对网格单元进行编码,具体是指将数据空间划分成nd个网格单元,即每一个维度上都划分成n个区间,d维数据空间将会被划分成nd个网格区间,使用C来表示所有空间网格单元的集合,则C可以表示如下:
Figure FDA0003084127250000031
其中,C表示所有空间对象构成的整个空间区域,Ci为其中一个网格单元,所有的Ci恰好构成了整个空间区域C,同时不同的网格单元在空间上也互不相交,与数据对象之间的支配方式相似,两个网格单元之间也可以定义支配关系。
4.根据权利要求1所述的一种基于Spark环境的偏好空间Skyline查询处理方法,其特征在于:所述步骤S3中,对处理后的数据并行计算局部Skyline结果集,具体为对剩余网格单元并行的进行局部Skyline结果的计算,先将每个网格单元中的数据按照坐标和进行排序,找到初始过滤点作为支配集,按照排序顺序依次对数据进行支配关系的比较,同时更新支配集,直至数据处理结束,返回当前网格单元的局部Skyline结果集。
5.根据权利要求1所述的一种基于Spark环境的偏好空间Skyline查询处理方法,其特征在于:所述步骤S4中,对局部结果进行合并求得全局结果集,对步骤S3中产生的局部Skyline结果进行合并,并在合并的数据集上计算全局Skyline结果集,并保存至HDFS。
6.根据权利要求1所述的一种基于Spark环境的偏好空间Skyline查询处理方法,其特征在于:所述步骤A1中,对数据集进行文本偏好预处理,主要包括关键字编码、聚类、类簇关键字提取和类簇对象索引构建,其具体为:1、在Spark环境下从HDFS中读取数据集,并利用Spark内部的划分策略并行的将数据集中的每个数据对象的文本特征分别和语料库中的文本特征进行对比,形成相应的文本特征向量Vector,如果一个数据对象pj的文本特征是语料库T中第i个特征ti,则其Vector向量的对应位置为1,否则对应的位置为0,Vector向量表示为:
Figure FDA0003084127250000041
将每个数据对象特征向量作为输入,采用K-means算法进行聚类,形成K个类簇,将每个类簇的标签作为Key值,通过算子groupBykey将同属一个类簇的数据进行合并,聚集到该类簇的数据对象的Vector集合作为value,根据value值中每一维上的值得到在当前类簇中出现频率最高前m个特征,将其转换为语料库中的文本关键词,作为整个类簇的文本特征信息,且同时得到该类簇中相应对象的空间属性信息,根据空间数据的空间属性信息对类内对象建立R-tree索引,其中K值的确定方法为,假设空间数据集P={P1,P2…Pn},将空间数据集P分成k个类簇,首先定义代价函数:代价函数为类际距离L与类内距离D之和,用F(S,k)来表示:F(S,k)=L+D,类际距离为所有聚类中心到全体样本的均值的距离之和可由公式表示为:
Figure FDA0003084127250000042
其中k是聚类的个数,mi表示类簇Si的中心,m表示全体样本的均值;类内距离为所有类簇内部距离的总和(每个类簇的内部距离为该类簇内所有样本与样本中心的距离之和),可由公式表示为:
Figure FDA0003084127250000043
其中p为任一样本,k是聚类的个数,mi表示类簇Si的中心;当L=D时,空间聚类数k达到优化,
Figure FDA0003084127250000051
7.根据权利要求1所述的一种基于Spark环境的偏好空间Skyline查询处理方法,其特征在于:所述步骤A2中,偏好预处理后与查询集进行类簇对比是指根据上一阶段得到的K个类簇与每个类簇的文本描述信息,与到来的查询点的偏好文本相对比,得出每个查询点与每个类簇的文本相关性,其中用
Figure FDA0003084127250000052
来表示查询偏好向量与类簇词向量之间的文本相似度,其计算公式为:
Figure FDA0003084127250000053
其中:
Figure FDA0003084127250000054
是查询点qi的文本偏好集合,
Figure FDA0003084127250000055
表示查询点qi文本偏好的词向量;
Figure FDA0003084127250000056
是类簇的文本特征信息集合,
Figure FDA0003084127250000057
表示类簇Sj文本信息的词向量,其
Figure FDA0003084127250000058
的值在[0,1]之间,其中0表示不相关,1表示最相关;
根据各个查询点与类簇之间的相关性,来判断类簇文本描述与每个查询点偏好之间的匹配程度;并设定一个相关性阈值Threshold对类簇进行过滤,如果当前类簇与某个查询点之间的相关性低于阈值,则表明该类簇与查询之间的文本匹配度较低,则过滤掉该类簇,不参与后续的Skyline运算。
8.根据权利要求1所述的一种基于Spark环境的偏好空间Skyline查询处理方法,其特征在于:所述步骤A3中,计算类内结果,是指将每一个类簇中的空间数据对象建扩展R-tree,目的是为了加快数据的搜索,同时用一个最小堆H来存放要访问的数据,每次取出堆顶元素,利用当前求出的Skyline候选集对其进行支配判断,如果当前元素是叶子节点,且不能被支配则将叶子节点加入候选集中,否则直接从堆中删除该元素;如果当前元素是非叶子节点,且不能被支配则将该元素的所有孩子节点加入H中,否则直接将该元素剪枝,不再对其进行孩子节点的判断;直至堆中元素为空,返回候选Skyline集中的对象以及它们的属性值,其中堆中对象的排序依据为,在进行Skyline查询计算的时候,创建一个最小堆H和一个初始结果集S(Q)=φ,从R-tree的根节点开始遍历,首先将根节点入最小堆H,将空间数据对象的距离和Sumdist作为对象在H中的排序依据,并动态的更新根节点的指针文件的距离值,以Sumdist升序的方式访问数据对象,Sumdist的计算公式为:
Figure FDA0003084127250000061
其中查询点到MBR的距离由MINDIST来表示,如果查询点位于MBR的内部或者正好在MBR的边上,则MINDIST为0,如果查询点在MBR之外的其他位置,若查询点到MBR各个边的距离存在,计算此距离,并从中挑取最小的距离值为MINDIST的值,也就是说MINDIS等于查询点到MBR的边的最短距离。
9.根据权利要求1所述的一种基于Spark环境的偏好空间Skyline查询处理方法,其特征在于:所述步骤A4中,合并类内Skyline集计算并返回结果集,是指将类内Skyline计算结果集进行合并,根据对象属性值的和进行排序,采用传统的Skyline计算方法得到最终的全局Skyline结果集合。
CN201910222188.7A 2019-03-22 2019-03-22 一种基于Spark环境的偏好空间Skyline查询处理方法 Expired - Fee Related CN109947904B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910222188.7A CN109947904B (zh) 2019-03-22 2019-03-22 一种基于Spark环境的偏好空间Skyline查询处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910222188.7A CN109947904B (zh) 2019-03-22 2019-03-22 一种基于Spark环境的偏好空间Skyline查询处理方法

Publications (2)

Publication Number Publication Date
CN109947904A CN109947904A (zh) 2019-06-28
CN109947904B true CN109947904B (zh) 2021-07-30

Family

ID=67010625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910222188.7A Expired - Fee Related CN109947904B (zh) 2019-03-22 2019-03-22 一种基于Spark环境的偏好空间Skyline查询处理方法

Country Status (1)

Country Link
CN (1) CN109947904B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362652B (zh) * 2019-07-19 2022-11-22 辽宁工程技术大学 基于空间-语义-数值相关度的空间关键字Top-K查询方法
CN111459971B (zh) * 2020-04-01 2023-11-10 辽宁大学 一种基于众包的skyline-join查询处理方法
CN112270199A (zh) * 2020-11-03 2021-01-26 辽宁工程技术大学 基于CGAN方法的个性化语义空间关键字Top-K查询方法
CN112860835A (zh) * 2021-02-22 2021-05-28 张一龙 一种自然资源数据管理方法及系统
CN112925789B (zh) * 2021-02-24 2022-12-20 东北林业大学 一种基于Spark的空间矢量数据内存存储查询方法及系统
CN112787870B (zh) * 2021-02-25 2021-11-02 苏州大学 服务质量感知的并行柔性Skyline服务发现方法
CN113536020B (zh) * 2021-07-23 2022-05-24 贝壳找房(北京)科技有限公司 数据查询的方法、存储介质和计算机程序产品
CN113656447B (zh) * 2021-09-01 2023-05-19 燕山大学 一种三维障碍空间中类Skyline查询方法
CN114064995B (zh) * 2021-11-18 2024-05-28 大连海事大学 一种路网环境下基于位置的静态skyline查询方法
CN115269500B (zh) * 2022-08-01 2023-05-30 生态环境部卫星环境应用中心 生态环境数据的存储方法、检索方法及电子设备
CN115757461B (zh) * 2022-11-09 2023-06-23 北京新数科技有限公司 一种银行数据库应用系统结果聚类方法
CN116881307A (zh) * 2023-07-29 2023-10-13 哈尔滨理工大学 一种基于边缘计算环境下多不完全数据流Top-k Skyline查询方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106777093A (zh) * 2016-12-14 2017-05-31 大连大学 基于空间时序数据流应用的Skyline查询系统
KR101914784B1 (ko) * 2016-12-29 2018-11-02 서울대학교산학협력단 쿼드 트리에 기반한 스카이라인 질의 방법
CN109446294A (zh) * 2018-11-13 2019-03-08 嘉兴学院 一种并行的相互子空间Skyline查询方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106777093A (zh) * 2016-12-14 2017-05-31 大连大学 基于空间时序数据流应用的Skyline查询系统
KR101914784B1 (ko) * 2016-12-29 2018-11-02 서울대학교산학협력단 쿼드 트리에 기반한 스카이라인 질의 방법
CN109446294A (zh) * 2018-11-13 2019-03-08 嘉兴学院 一种并行的相互子空间Skyline查询方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
不确定数据库中的阈值轮廓查询处理;信俊昌等;《第26届中国数据库学术会议论文集(B辑)》;20091015;全文 *

Also Published As

Publication number Publication date
CN109947904A (zh) 2019-06-28

Similar Documents

Publication Publication Date Title
CN109947904B (zh) 一种基于Spark环境的偏好空间Skyline查询处理方法
US6826576B2 (en) Very-large-scale automatic categorizer for web content
CN108304444B (zh) 信息查询方法及装置
Zhang et al. Bed-tree: an all-purpose index structure for string similarity search based on edit distance
CN110321925B (zh) 一种基于语义聚合指纹的文本多粒度相似度比对方法
US5710916A (en) Method and apparatus for similarity matching of handwritten data objects
CN108090068B (zh) 医院数据库中的表的分类方法及装置
CN107832456B (zh) 一种基于临界值数据划分的并行knn文本分类方法
CN107844493B (zh) 一种文件关联方法及系统
CN107291895B (zh) 一种快速的层次化文档查询方法
CN111026710A (zh) 一种数据集的检索方法及系统
CN107784110A (zh) 一种索引建立方法及装置
Adamu et al. A survey on big data indexing strategies
Tang et al. Efficient Processing of Hamming-Distance-Based Similarity-Search Queries Over MapReduce.
Günnemann et al. Subspace clustering for indexing high dimensional data: a main memory index based on local reductions and individual multi-representations
CN110874366A (zh) 数据处理、查询方法和装置
KR102158049B1 (ko) Cf 트리를 활용한 범위 질의 기반의 데이터 클러스터링 장치 및 방법
Arseneau et al. STILT: Unifying spatial, temporal and textual search using a generalized multi-dimensional index
CN105373521B (zh) 一种基于Minwise Hash动态多阈值过滤计算文本相似度的方法
CN114064821A (zh) 基于语义识别的数据资源分类组织方法及系统
Lu et al. Dynamic Partition Forest: An Efficient and Distributed Indexing Scheme for Similarity Search based on Hashing
JP2001052024A (ja) 類似特徴量の検索方法及び装置及び類似特徴量の検索プログラムを格納した記憶媒体
CN111597212B (zh) 一种数据检索方法及装置
Belkasmi et al. 2: A Human-Centric Skyline Relaxation Approach
Inoue et al. Effects of Visual Concept-based Post-retrieval Clustering in ImageCLEFphoto 2008.

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210730

CF01 Termination of patent right due to non-payment of annual fee