一种k代表G-Skyline查询方法技术

技术编号:38464550 阅读:10 留言:0更新日期:2023-08-11 14:41
本发明专利技术公开了一种k代表G

【技术实现步骤摘要】
一种k代表G

Skyline查询方法


[0001]本专利技术涉及数据查询
,尤其涉及一种k代表G

Skyline查询方法。

技术介绍

[0002]Skyline(天际线)查询是一个典型的多目标优化的问题,其在数据库领域的多维数据查询具有很好的应用,Skyline一个经典的例子为,假设去Nassau海滩旅游,想找一个既便宜又靠近海滩的旅馆,一般情况下越靠近海滩的旅馆价格越高,所以不能返回一个最好的结果,只能返回一些用户可能感兴趣的旅馆,这些旅馆在价格和距离两个方面都不比其它旅馆差,即不被其他旅馆所支配,这些不被支配的旅馆就是Skyline;Skyline的一个重要变体为基于群组的Skyline,即G

Skyline,其旨在找出给定数据点集合中的最佳数据点组,在计算最佳数据点组的许多应用程序中非常重要。
[0003]然而,目前已有的k代表G

Skyline方法,均需要将给定数据集下Skyline点的所有gsize组合全部查询出来,再进行支配面积的计算,进而造成k代表G

Skyline查询方法存在计算代价大的问题。

技术实现思路

[0004]本专利技术提供一种k代表G

Skyline查询方法,以克服目前已有的k代表G

Skyline方法存在计算代价大的问题。
[0005]为了实现上述目的,本专利技术的技术方案是:
[0006]一种k代表G<br/>‑
Skyline查询方法,包括以下步骤:
[0007]步骤S1:对待查询整体数据集D进行预处理,获得有序的轮廓集SKY(D)={s1,s2,

,s
n
};其中s
n
表示第n个数据元组;
[0008]步骤S2:根据待查询整体数据集D内数据元组的支配关系构建支配关系图;所述支配关系图中包含所述有序的轮廓集SKY(D)={s1,s2,

,s
n
}内所有的数据元组与待查询整体数据集D内除有序的轮廓集SKY(D)={s1,s2,

,s
n
}外可能成为G

Skyline查询结果的数据元组;
[0009]步骤S3:基于替换策略与拓展策略对所述支配关系图中的有序的轮廓集SKY(D)={s1,s2,

,s
n
}进行处理构建支配次序图;
[0010]步骤S4:根据剪枝策略将所述支配次序图中不可能成为k代表G

Skyline查询结果的数据元组的集合进行剪枝;
[0011]步骤S5:选取剪枝后的所述支配次序图中前k个支配面积最大的数据元组的集合作为最终结果返回。
[0012]进一步的,步骤S1中所述获得有序的轮廓集SKY(D)={s1,s2,

,s
n
},具体为
[0013]步骤S1.1:采用BBS算法计算待查询整体数据集D中数据元组所在skyline layer层,获得轮廓集SKY(D);
[0014]所述待查询整体数据集D的skyline layer层的计算公式为
[0015][0016]其中,D表示待查询整体数据集;SL
i
表示第i层skyline layer;SL1表示第一层skyline layer;SKY(D)表示轮廓集;且layer;SKY(D)表示轮廓集;且表示j取从1至i

1各skyline layer层的数据元组并集;
[0017]步骤S1.2:计算所述轮廓集SKY(D)中各Skyline点的支配面积;计算公式为
[0018]DomSize(p)=(1

p[1])
×
(1

p[2])
×
...
×
(1

p[d])
[0019]其中,d表示给定数据维度;p表示数据元组,DomSize(p)表示p的支配面积;p[i]表示数据元组p在维度i上的属性值,且(1≤i≤d);
[0020]步骤S1.3:对所述轮廓集SKY(D)中的Skyline点按照支配面积值降序排序,得到有序的轮廓集SKY(D)={s1,s2,

,s
n
}。
[0021]进一步的,步骤S2中所述构建支配关系图,具体为
[0022]步骤S2.1:查询位于所述待查询整体数据集D前gsize层skyline layer内的数据元组并保留;所述gsize表示k代表G

Skyline查询中的数据元组的大小;
[0023]步骤S2.2:对位于所述待查询整体数据集D前gsize层skyline layer内的数据元组间进行支配关系的判定;
[0024]且将所述前gsize层skyline layer内被少于等于gsize

1个数据元组支配的数据元组进行保留;将所述前gsize层skyline layer内被多于gsize

1个数据元组支配的数据元组进行过滤;
[0025]数据元组间所述支配关系的判定方法为:给定所述待查询整体数据集D中两个d维数据元组p与q,且p,q∈D;
[0026]则若p支配q,即需满足以下条件:
[0027][0028][0029]其中,p[i]表示元组P在维度i上的属性值;q[i]表示元组q在维度i上的属性值;p[j]表示元组P在维度j上的属性值;q[j]表示元组q在维度j上的属性值;
[0030]步骤2.3:根据保留的各数据元组所处的skyline layer与所述数据元组得支配关系构建支配关系图。
[0031]进一步的,步骤S3中所述构建支配次序图,具体为
[0032]步骤S3.1:取出有序的轮廓集SKY(D)={s1,s2,

,s
n
}内支配面积最大的元组集合{s1},并以{s1}作为支配次序图的根节点;
[0033]步骤S3.2:给定所述有序的轮廓集SKY(D)={s1,s2,

,s
n
}中任意l个数据元组组成的有序集合l

SetD(s
i
);
[0034]所述有序集合l

SetD(s
i
)内各数据元组按照支配面积降序排列,且有序集合l

SetD(s
i
)中支配面积最小的数据元组定义为s
i

[0035]步骤3.3:对所述支配次序图中的根节点{s1}执行替换策略,生成替换集合作为根节点的右孩子;
[0036]所述替换策略具体为:将所述有序集合l
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种k代表G

Skyline查询方法,其特征在于,包括以下步骤:步骤S1:对待查询整体数据集D进行预处理,获得有序的轮廓集SKY(D)={s1,s2,

,s
n
};其中s
n
表示第n个数据元组;步骤S2:根据待查询整体数据集D内数据元组的支配关系构建支配关系图;所述支配关系图中包含所述有序的轮廓集SKY(D)={s1,s2,

,s
n
}内所有的数据元组与待查询整体数据集D内除有序的轮廓集SKY(D)={s1,s2,

,s
n
}外可能成为G

Skyline查询结果的数据元组;步骤S3:基于替换策略与拓展策略对所述支配关系图中的有序的轮廓集SKY(D)={s1,s2,

,s
n
}进行处理构建支配次序图;步骤S4:根据剪枝策略将所述支配次序图中不可能成为k代表G

Skyline查询结果的数据元组的集合进行剪枝;步骤S5:选取剪枝后的所述支配次序图中前k个支配面积最大的数据元组的集合作为最终结果返回。2.根据权利要求1所述的一种k代表G

Skyline查询方法,其特征在于,步骤S1中所述获得有序的轮廓集SKY(D)={s1,s2,

,s
n
},具体为步骤S1.1:采用BBS算法计算待查询整体数据集D中数据元组所在skylinelayer层,获得轮廓集SKY(D);所述待查询整体数据集D的skylinelayer层的计算公式为SL1=SKY(D)其中,D表示待查询整体数据集;SL
i
表示第i层skylinelayer;SL1表示第一层skylinelayer;SKY(D)表示轮廓集;且表示j取从1至i

1各skylinelayer层的数据元组并集;步骤S1.2:计算所述轮廓集SKY(D)中各Skyline点的支配面积;计算公式为DomSize(p)=(1

p[1])
×
(1

p[2])
×
...
×
(1

p[d])其中,d表示给定数据维度;p表示数据元组,DomSize(p)表示p的支配面积;p[i]表示元组p在维度i上的属性值,且(1≤i≤d);步骤S1.3:对所述轮廓集SKY(D)中的Skyline点按照支配面积值降序排序,得到有序的轮廓集SKY(D)={s1,s2,

,s
n
}。3.根据权利要求1所述的一种k代表G

Skyline查询方法,其特征在于,步骤S2中所述构建支配关系图,具体为步骤S2.1:查询位于所述待查询整体数据集D前gsize层skylinelayer内的数据元组并保留;所述gsize表示k代表G

Skyline查询中的数据元组的大小;步骤S2.2:对位于所述位于所述待查询整体数据集D前gsize层skyline layer内的数据元组间进行支配关系的判定;且将所述前gsize层skylinelayer内被少于等于gsize

1个数据元组支配的数据元组进行保留;将所述前gsize层skylinelayer内被多于gsize

1个数据元组支配的数据元组进行过滤;数据元组间所述支配关系的判定方法为:给定所述位于所述待查询整体数据集D中两
个d维数据元组p与q,且p,q∈D;则若p支配q,即p<q,需满足以下条件:则若p支配q,即p<q,需满足以下条件:其中,p[i]表示元组P在维度i上的属性值;q[i]表示元组q在维度i上的属性值;p[j]表示元组P在维度j上的属性值;q[j]表示元组q在维度j上的属性值;步骤2.3:根据保留的各数据元组所处的skylinelayer与所述数据元组的支配关系构建支配关系图。4.根据权利要求1所述的一种k代表G

Skyline查询方法,其特征在于,步骤S3中所述构建支配次序图,具体为步骤S3.1:取出有序的轮廓集SKY(D)={s1,s2,

,s
n
}内支配面积最大的元组集合{s1},并以{s1}作为支配次序图的根节点;步骤S3.2:给定所述有序的轮廓集SKY(D)={s1,s2,

,s
n
}中任意l个数据元组组成的有序集合l

SetD(s
i
);所述有序集合l

SetD(s
i
)内各数据元组按照支配面积降序排列,且有序集合l

SetD(s
i
)中支配面积最小的数据元组定义为s
i
;步骤3.3:对所述支配次序图中的根节点{s1}执行替换策略,生成替换集合作为根节点的右孩子;所述替换策略具体为:将所述有序集合l

SetD(s
i
)中支配面积最小的数据元组s
i
替换为第一更新数据元组s
i+1
,得到新集合l

SetD(s
i
)∪{s
i+1
}

{s
i
};所述新集合l

SetD(s
i
)∪{s
i+1
}

{s
i
}表示l

SetD(s
i
)的替换集合,所述替换集合表示为repSet(l

SetD(s
i
));步骤3.4:对所述支配次序图中的根节点{s1}执行拓展策略,生成拓展集合作为根节点的左孩子;所述拓展策略具体为:向所述l

SetD(s
i
)中添加所述第一更新数据元组s
i+1
,获得得到大小为l+1的新集合l

SetD(s
i
)∪{s
i+1
};所述新集合l

SetD(s
i
)∪{s
i+1
}表示l

SetD(s
i
)的拓展集合,所述拓展集合表示为expSet(l

SetD(s
i
));且当所述拓展集合的大小等于gsize时停止继续扩展,直接基于所述替换策略获得替换集合作为右孩子。5.根据权利要求...

【专利技术属性】
技术研发人员:白梅张鑫王习特马茜
申请(专利权)人:大连海事大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1