CN108932274A - 一种基于角色组合的最优组查询方法 - Google Patents
一种基于角色组合的最优组查询方法 Download PDFInfo
- Publication number
- CN108932274A CN108932274A CN201710395866.0A CN201710395866A CN108932274A CN 108932274 A CN108932274 A CN 108932274A CN 201710395866 A CN201710395866 A CN 201710395866A CN 108932274 A CN108932274 A CN 108932274A
- Authority
- CN
- China
- Prior art keywords
- role
- candidate
- combinations
- group objects
- tuple
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000013138 pruning Methods 0.000 claims abstract description 24
- 239000013598 vector Substances 0.000 claims abstract description 20
- 238000010276 construction Methods 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 150000001875 compounds Chemical class 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于角色组合的最优组查询方法,属于计算机数据库管理系统中偏好查询技术领域。本发明致力于从数据全集中选出n(n>1)个元组组成最优组对象。本发明首先提出了新的组对象量化模型角色组合。其中角色组合由n个角色构成;角色以包含不同属性权重的向量表示,等价于Top‑k查询中的效用函数。其次在角色组合的基础之上,先对数据全集进行输入剪枝,每一角色只保留n个候选元组;之后组合内角色依次选定一个元组构成候选组对象,查询借助角色组合对候选组合进行评分,遍历所有组合后返回评分最高的组合。组对象的评分等于组内成员在对应角色下评分之和。本发明广泛适用于查询最优对象为包含多个个体的组对象的应用场景,如任务分配、球队创建等。
Description
技术领域
本发明公开了一种基于角色组合的最优组查询方法,具体涉及从数据库中选择n(n>1)个元组组成最优组合的查询方法,属于计算机数据库管理系统中偏好查询技术领域。
背景技术
随着移动互联网、物联网等技术的发展,数据的产生来源更多,数据的产生速度更快,针对特定查询,其候选对象的数据量更大。面向规模更大的数据,如何依据用户查询条件,从候选数据中更快更准确的查询到结果显得愈加重要。更快更准的获取到用户希望的数据,可以提升用户对系统的体验感,对系统提升用户粘性至关重要,十分值得深入研究
偏好查询[1]是数据库领域的研究热点之一,组查询是偏好查询的新的分支之一。组查询致力于协助用户从数据集中选择组合对象而非单个对象,现有专利发明中只存在基于Top-k 或Skyline的查询处理方法,但这些方法只能返回单个对象,无法适用于组查询。针对组查询,近年来数据库学术领域做出的一些突破,组合查询算法最核心的任务是设定组合优劣判定的标准。Zhang等[2]提供了一种”logic+SQL”框架,本质上是对结果设定阈值,所有未达到阈值条件的候选集合均被剔除出最终结果集;Li等[3]将每个候选组合通过聚合函数聚合为一个向量,之后求出所有候选向量中的Skyline结果集,其中聚合函数给定了三类:求和(SUM)、最小值 (MIN)、最大值(MAX)。Im等[4]组合是对文献[3]的纵向扩展,其优劣判定标准通文献[5]的一样,不过聚合函数只用了求和(SUM)一类,除此之外给出了一些优化准则,提升了算法求解结果集的效率;Liu等[5]分析了[3-4]中存在用户最满意的候选组合可能不在最终的查询结果集中,首次提出了组支配的概念G-Skyline,基于组支配进行组优劣的判断并返回最终的查询结果集。
虽然现有[2-5]可用于解决组查询问题,但这些处理算法均存在查询结果集规模不可控的缺陷。文献[2]基于SQL语句,只能设定一些简单的比较固定的阈值条件,其查询结果集规模不可控;已有学者的研究在数据维度高数据量大的情况下,结果集规模不可控[6],然而文献[3-5] 均基于Skyline算子,则这些算法均存在结果集规模不可控的缺陷。
上文中提到的专利申请情况如下:
[1]一种面向任意段数据的Top-k查询方法(申请日期:2012-07-24,授权号:CN102799681 B)
[2]基于双阈值的分布式Top-|K|查询方法(申请日期:2014-04-28,授权号:CN103984707 B)
[3]一种基于云计算环境的分布并行Skyline查询方法(申请日期:2011-10-25,授权号:CN 102314521 B)
上文中提到的文献来源于如下的期刊:
[1]Kieβling W.Foundations of Preferences in Database Systems.[C].VLDB2002,Proceedings of,International Conference on Very Large Data Bases,August20-23,2002,Hong Kong,China. 2002:311-322.
[2]Morimoto Y,Siddique M A.Skyline sets query and its extension tospatio-temporal databases[C].Databases in Networked Information Systems,International Workshop,Dnis 2010, Aizu-Wakamatsu,Japan,March 29-31,2010.Proceedings.2010:317-329.
[3]Li C,Zhang N,Hassan N,et al.On Skyline Groups[J].IEEE Transactionson Knowledge& Data Engineering,2014,26(4):942-956.
[4]Im H,Park S.Group skyline computation.[J].Information Sciences,2012,188(4):151-169.
[5]Liu J,Xiong L,Pei J,et al.Finding Pareto optimal groups:group-based skyline[J]. Proceedings of the VLDB Endowment,2015,8(13):2086-2097.
[6]Chaudhuri S,Dalvi N,Kaushik R.Robust Cardinality and CostEstimation for Skyline Operator[C].International Conference on DataEngineering.2006:64.
发明内容
本发明为解决的技术问题:
本发明的目的是提出一种基于角色组合的最优组查询方法,以解决从数据集中选择n(n>1) 个元组组成最优组合对象的问题。基于已有组查询算法无法有效控制结果集规模的现状,本发明首先基于用户输入的权重向量建立角色组合,可保证最终只返回最优组对象;之后查询方法对数据集进行输入剪枝和查询空间剪枝,提升了查询性能。
本发明为解决其技术问题采用如下技术方案:
一种基于角色组合的最优组查询方法,包括如下步骤:
步骤一、首先角色组合确定,查询方法接收用户输入的n(n>1)个权重向量,将每一个向量记为一个角色rolei,n个角色共同构成角色组合Roles(role1,role2,…,ro/en);
角色组合模型构建,首先依次接收用户输入的n个权重向量,每一个向量记为一个角色,等价于Top-k查询中的效用函数。每个向量包括对元组不同维度的权重,且权重均在[0,1]区间内。角色组合共包含n个角色,角色组合确定后,角色在组合内的位置将固定不变。相同的 n个角色,但按照不同的顺序组合生成的角色组合是不同的。
步骤二、输入剪枝,使用角色组合中角色对所有候选元组评分,其中rolei代表第i个角色,pi代表任意一个元组,每一个角色只保留n个候选元组;
输入剪枝时,查询依次选择角色组合中的角色,使用典型的TA算法返回评分最高的n个候选元组。输入剪枝后每一个角色均有n个候选元组,且这n个元组按照评分由高到底有序排列;同时不同角色的候选元组可能出现相同元组,即存在一个元组同时是不同角色的候选元组的情况。
输入剪枝可将原始数据集元组个数压缩为n2个,且不影响最终查询结果的正确性。基于反证法可知,若Group(p1,p2,…,pn)为数据全集上最优组对象,其中pi指第i个角色rolei对应的元组,且pi不是rolei的n个候选元组之一。则必然存在一个pi’是rolei的n个候选元组之一,但不在Group内,利用pi’代替pi组成新的组对象Group’(p1,p2,…pi’,…,pn)在角色组合的评估下必然优于Group,这与Group为数据全集上的最优组对象矛盾。则Group中任一元组pi必然属于rolei的n个候选元组之一。
步骤三、候选组对象产生,角色组合共n个角色,每一个角色有n个候选元组,查询方法依次为每一个角色选择一个元组,共选出n个元组构成一个候选组对象,递归实现共产生 n!个候选组对象;
步骤四、查询空间剪枝,筛选n!个候选组对象,若组对象中存在一个元组出现m(m>1) 次,则直接将该元组从候选组对象集中删除;
查询空间剪枝时,查询获取的最优组对象指由n个不同的元组组成,而在步骤三候选组对象产生时只是简单的组合,未进行判定,故对任意一个候选组对象,若内部出现重复元组,则直接淘汰。
步骤五、最优组对象确定,对所有候选组对象进行评分,返回评分最高的组对象,其中给定角色组合Roles(role1,role2,…,rolen),针对任一组对象Group(p1,p2,…,pn)其在Roles下的评分为其中pi为角色rolei在步骤二后得到的n个候选元组之一。
本发明采用以上技术方案与现有技术相比,具有以下有益效果:
(1)本发明利用用户输入的n(n>1)个权重向量建立角色组合模型,可对任意候选组对象进行评分,基于组评分首次实现组查询结果集规模可控。
(2)本发明利用在n个角色分别保留其最优的n个元组的前提下,最优组对象必然存在且不为空的性质,在输入剪枝时将元组数压缩至n2。查询方法有效避免了在原始数据集上直接生成所有可能的组对象,提升了查询性能。
(3)本发明利用查询最优对象由不同元组组成的组合对象,首次提出在最终评估最优结果前对候选组对象进行合理性校验,在查询空间剪枝时删除所有组合内出现重复元组的组对象,提升了查询性能。
附图说明
图1是本发明的总查询处理流程图。总流程分为输入层、预处理层、数据处理层和结果确认层四个部分,其中数据处理层又细分为输入剪枝、候选组对象构建、查询空间剪枝三个子模块。
图2是本发明的总体框架图。框架图分为控制层和数据层两个部分,其中控制层包括查询方法的输入剪枝、候选组对象构建、查询空间剪枝、最优组对象确定这些操作,数据层展示数据从磁盘到中间结果到最终最优组对象。
图3是角色组合的示例图。主要用于表示查询方法中角色组合的存储结构,图中角色组合由3个角色构成,每个角色包括角色ID和权重向量两部分表示。
图4是输入剪枝阶段示例图。主要用于表示选定角色1后,查询方法从原始数据集中选择n(n=3)个角色1的候选元组的过程,其中每个候选元组不仅包括原始元组ID及属性值,还包括该元组在角色1下的评分。
图5是组对象的示例图。主要用于表示组对象的存储结构,图中组对象角色1选定元组 1,角色2选定元组2,角色3选定元组10,组对象ID为1,组评分为21.9。
具体实施方式
以下结合附图和实施例对本发明的技术方案做进一步详细说明:
对于直接从包含N个元组的数据集中选择n(n>1)个元组组成最优组合的组查询,其候选结果集规模为远高于获取最优元组的N,其中即使两个组合由相同的元组组成,但元组的先后顺序不一致也认为是两个不同的组合。现有针对组查询的技术方案,均是对Skyline查询的扩展且存在结果集规模不可控的缺陷。当用户发起组查询后,查询结果往往上千上万,这使得用户查询的体验感较差,无法有效支持用户决策。鉴于现有组合查询方法无法有效控制结果集规模,本发明提出一种基于角色组合的最优组查询方法,本方法可返回且仅返回数据全集上的最优组合。查询方法的总体框架图如附图2所示。
下面通过说明书附图对各实施例对本发明进行说明。
1)实施例一
本发明的实例一介绍了一种基于角色组合的最优组查询方法,具体步骤流程如图1所示,包括:
A、接收用户输入的n(n>1)个权重向量;
B、角色组合构建,将每一个向量加上ID记为一个角色roleID,n个角色共同构成角色组合Roles(role1,role2,…,rolen),其中ID从1开始,依次递增1;
C、输入剪枝,选定一个无候选元组的角色,利用Top-k查询中典型的TA算法选出n个在该角色下评分最高的元组作为其候选元组;
D、判断是否仍有角色其候选结果集为空,若是,转C
E、候选组对象构建,当前角色组合中有n个角色,每个角色有n个候选元组;每个角色选定一个候选元组,以n个角色选出的n个元组构成候选组对象;利用常用的排列组合算法求出所有的候选组对象;
F、查询空间剪枝,遍历所有候选组对象,若一个组对象中出现重复元组,则直接淘汰该组对象;
G、最优组对象确定,对所有候选组对象进行评分,返回评分最高的组对象,其中任一组对象Group(p1,p2,…,pn)其在角色组合Roles(role1,role2,…,rolen)下的评分为其中pi为角色rolei在步骤C后得到的n个候选元组之一。
2)实施例二
本发明的实施例二如图3、4、5所示,展示了从原始数据集10个元组中选出3个元组组成最优组对象的查询场景,具体步骤如下所示:
A、接收用户输入的3个权重向量;
B、依次为每个向量添加ID并记为一个角色,3个角色共同构成本次查询的角色组合,如附图3所示;
C、选定无候选元组的角色role1,利用TA算法计算10个元组的评分,返回评分最高的 3个元组,如附图4所示,role1的3个候选元组分别为p1,p2,p3,其中pi指ID为i的元组;
D、分别针对role2和role3重复C中操作,求出role2的3个候选元组ID分别为p1,p2,p3; role3的3个候选元组ID分别为p10,p9,p8;;
E、role1、role2、role3依次从其候选元组中选出一个元组构成候选组合,利用递归算法遍历所有可能,共产生3*3*3=27个候选组对象;
F、遍历27个候选组合,若组合内出现重复元素则删除,如组对象{p1,p1,p10}即被淘汰;查询空间剪枝后仍剩下3*2*3=18个候选组对象;
G、每个组对象的组评分为3个角色评分之和,遍历18个候选对象,返回组评分最高的组对象,最优组对象如图5所示,即role1选择p1,role2选择p2,role3选择p10。
Claims (3)
1.一种基于角色组合的最优组查询方法,其特征包括如下步骤:
步骤一、首先角色组合确定,查询方法接收用户输入的n(n>1)个权重向量,将每一个向量记为一个角色rolei,n个角色共同构成角色组合Roles(role1,role2,...,rolen);
步骤二、输入剪枝,使用角色组合中角色对所有候选元组评分score(rolei,pj)=roleigpj,其中rolei代表第i个角色,pj代表任意一个元组,每一个角色只保留n个候选元组;
步骤三、候选组对象产生,角色组合共n个角色,每一个角色有n个候选元组,查询方法依次为每一个角色选择一个元组,共选出n个元组构成一个候选组对象,递归实现共产生n!个候选组对象;
步骤四、查询空间剪枝,筛选n!个候选组对象,若组对象中存在一个元组出现m(m>1)次,则直接将该组对象从候选组对象集中删除;
步骤五、最优组对象确定,对所有候选组对象进行评分,返回评分最高的组对象,其中给定角色组合Roles(role1,role2,...,rolen),针对任一组对象Group(p1,p2,...,pn)其在Roles下的评分为其中pi为角色rolei在步骤二后得到的n个候选元组之一。
2.如权利要求1的一种基于角色组合的最优组查询方法,其特征在于,在确定角色组合时,还包括:
首先依次接收用户输入的n个权重向量,每一个向量记为一个角色,等价于Top-k查询中的效用函数。每个向量包含对元组不同维度的权重,且权重均在[0,1]区间内。角色组合共包含n个角色,角色组合确定后,角色在组合内的位置将固定不变。相同的n个角色,但按照不同的顺序组合成的角色组合是不同的。
3.如权利要求1所述的一种基于角色组合的最优组查询方法,其特征在于,在输入剪枝时,还包括:
查询依次选择角色组合中的角色,使用Top-k查询方法中典型的TA算法返回评分最高的n个候选元组。输入剪枝后每一个角色均有n个候选元组,且这n个元组按照评分由高到低有序排列;同时不同角色的候选元组可能出现相同元组,即存在一个元组同时是不同角色的候选元组的情况;最后原始数据集经过输入剪枝后元组个数减至n2个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710395866.0A CN108932274A (zh) | 2017-05-25 | 2017-05-25 | 一种基于角色组合的最优组查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710395866.0A CN108932274A (zh) | 2017-05-25 | 2017-05-25 | 一种基于角色组合的最优组查询方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108932274A true CN108932274A (zh) | 2018-12-04 |
Family
ID=64448365
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710395866.0A Pending CN108932274A (zh) | 2017-05-25 | 2017-05-25 | 一种基于角色组合的最优组查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108932274A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569141A (zh) * | 2021-07-19 | 2021-10-29 | 华中科技大学 | 一种不完整数据的Top-K查询方法和系统 |
CN118013086A (zh) * | 2024-04-10 | 2024-05-10 | 哈尔滨工业大学(威海) | 一种k代表G-Skyline查询方法 |
-
2017
- 2017-05-25 CN CN201710395866.0A patent/CN108932274A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113569141A (zh) * | 2021-07-19 | 2021-10-29 | 华中科技大学 | 一种不完整数据的Top-K查询方法和系统 |
CN118013086A (zh) * | 2024-04-10 | 2024-05-10 | 哈尔滨工业大学(威海) | 一种k代表G-Skyline查询方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023005133A1 (zh) | 联邦学习建模优化方法、设备、可读存储介质及程序产品 | |
Bröcheler et al. | Cosi: Cloud oriented subgraph identification in massive social networks | |
US20160092527A1 (en) | Data processing apparatus and data mapping method thereof | |
US7814091B2 (en) | Multi-tiered query processing techniques for minus and intersect operators | |
Zhou et al. | A method of two-dimensional Otsu image threshold segmentation based on improved firefly algorithm | |
CN110059264B (zh) | 基于知识图谱的地点检索方法、设备及计算机存储介质 | |
US20240202237A1 (en) | Matching Audio Fingerprints | |
US20190317938A1 (en) | Method, program, and system for automatic discovery of relationship between fields in environment where different types of data sources coexist | |
Chen et al. | MapReduce skyline query processing with a new angular partitioning approach | |
EP2746964A2 (en) | Automatic tuning of database queries | |
CN105760469A (zh) | 云计算环境下基于倒排lsh的高维近似图象检索方法 | |
CN109086376B (zh) | 基于sparql查询语言的多查询方法和装置 | |
CN106897373B (zh) | 一种基于PostgreSQL和众包的不完整数据查询处理方法 | |
WO2020211466A1 (zh) | 一种非冗余基因集聚类方法、系统及电子设备 | |
CN108932274A (zh) | 一种基于角色组合的最优组查询方法 | |
CN105550332A (zh) | 一种基于双层索引结构的起源图查询方法 | |
CN110321377B (zh) | 一种多源异构数据真值确定方法及装置 | |
Gao et al. | Heterogeneous graph neural architecture search | |
WO2016112618A1 (zh) | 一种基于距离的求解二维空间中代表性节点集的算法 | |
CN105320700A (zh) | 一种数据库动态查询表单的生成方法 | |
CN112162986B (zh) | 一种并行top-k范围skyline查询方法和系统 | |
CN108614889B (zh) | 基于混合高斯模型的移动对象连续k近邻查询方法及系统 | |
CN107562872B (zh) | 基于sql的度量空间数据相似度查询方法及装置 | |
CN115455057A (zh) | 数据库连接操作的执行方法、存储介质与计算机设备 | |
Zheng et al. | User preference-based data partitioning top-k skyline query processing algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181204 |