CN103020234B - 一种面向同构对称发布及订阅系统的Top-k查询方法 - Google Patents
一种面向同构对称发布及订阅系统的Top-k查询方法 Download PDFInfo
- Publication number
- CN103020234B CN103020234B CN201210544907.5A CN201210544907A CN103020234B CN 103020234 B CN103020234 B CN 103020234B CN 201210544907 A CN201210544907 A CN 201210544907A CN 103020234 B CN103020234 B CN 103020234B
- Authority
- CN
- China
- Prior art keywords
- candidate
- coupling
- skyline
- heap
- ring
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于数据库管理技术领域,提供了一种面向同构对称发布及订阅系统的Top-k查询方法,针对结果是否可以打分进行排序,分别提出了基于高复杂度打分函数的面向匹配结果可以排序的Top-k查询算法和基于k-支配Skyline查询的面向匹配结果不可排序的Top-k查询算法,在订阅数量、打分函数复杂度、不同数据分布、选择度以及k值方面时间效率优势越明显,具有较高的学术价值及应用价值,解决了面向用户最优推荐的问题,对同构对称发布及订阅系统的环匹配海量候选结果进行了有效地处理,快速、高效地为用户推荐满意度最大化的匹配,实现了面向用户的最优推荐,具有较强的推广与应用价值。
Description
技术领域
本发明属于数据库管理技术领域,尤其涉及一种面向同构对称发布及订阅系统的Top-k查询方法。
背景技术
在同构对称发布/订阅(HSPub/Sub)应用中,匹配除了包括一对一交换以外,还包括发生在两个以上的订阅之间通过传递关系形成的环匹配。对发布订阅系统来说,可以成功交换的物品数目越多,系统和用户的收益更大。同两两匹配相比,环匹配可以实现让更多的用户参与,增大成功交换的概率。在大型的HSPub/Sub中,候选匹配极有可能是海量的,用户需要从海量候选匹配中选择出一些用户偏好的匹配。
发布/订阅系统是一种使分布式系统中的各个参与者,以发布/订阅的方式进行交互式通信的中间件系统。在发布/订阅系统中,信息的生产者和消费者所交互的信息称为事件。生产者将事件发送到发布/订阅系统的中间件系统;消费者则向发布/订阅系统的中间件系统发出一个订阅条件,来表示消费者对系统中感兴趣的事件,如果不再感兴趣,可以取消订阅;而发布/订阅系统的中间件系统则支持将生产者发布的事件及时、可靠地传送给所有对之感兴趣的消费者。信息的生产者称为发布者(Publisher),信息的消费者称为订阅者(Subscriber),发布者和订阅者都称作客户端。匹配算法或过滤算法负责高效地找到与给定的事件相匹配的所有的订阅;而路由算法则负责选择一条适当的路径,将一个事件从发布者传送给订阅者。
随着数据采集技术的提高和网络的迅猛发展,HsPub/Sub返回给用户的数据量越来越大甚至是海量的。如何从海量数据中筛选出满足用户查询条件的数据成为数据管理和信息检索的重点研究和探索对象。为避免最终返回海量查询结果,在大数据量的查询应用Top-k查询处理势在必行。
如果一个数据对象有多个属性,系统在数据对象存储时依据属性对象排序而且生成不同的属性列,在查询时,系统要把列表聚合起来以获取到数据对象全部属性分值并且排序完成。将分散在多个列表中的分值聚合形成全局分值并且查询出全局分值最优的k个对象的过程,就是Top-k查询过程。
Skyline查询问题也是一种传统的多目标优化问题。一个多维数据集的Skyline指的是该数据集上不被其它数据点所支配的点所组成的集合。Skyline查询返回一组在任意维度上都不被其它对象所控制的对象,支持用户在复杂的情况下进行决策,如多标准决策支持系统、用户偏好查询等。
2006年,Chee-YongChan等人提出基于SkylineFrequency的Top-kSkyline查询,只是查询一个点在不同子空间中成为Skyline点的次数,Top-k返回Skyline最频繁的k个点。为了计算出有点表性的Skyline点,Chee-YongChan等人提出了Distance-basedRepresentativeSkyline概念,很好地把与周围其他的Skyline点的距离考虑进来,也证明了这问题也是NP难问题。
2007年XueminLin等人提出了RepresentativeSkyline概念,并且证明在维数不低于3的空间中,RepresentativeSkyline查询是NP难问题。同时还提出了两种算法,分别是Greedy和FM-based。这两种算法都是从数据点集合中返回k个数据点,这k个数据点是控制非Skyline点点数量最大的k个点,也被认为是最具有代表性的Skyline点。RepresentativeSkyline在实践中有时候不具有代表性,尤其是数据分布有明显的块聚集性,这时返回的Skyline点就不能很好的代表每个块中全部点的信息。
实践证明,数据集中的对象越多,Skyline结果数据量也会相应增多,尤其是在高维数据环境下,这种情况的话对用户的决策支持中意义不大。本发明提出将Top-k引入到Skyline查询中,利用引入的评价准则,只返回最优的k个Skyline点给用户,来简化用户的筛选过程。
随着互联网络技术发展,同构对称发布/订阅系统的应用也越来越普及。由于在同构对称发布/订阅系统中,产生的候选环匹配结果集很大,特别是在大型的HSPub/Sub中,订阅的数量更大的话,候选匹配可能是海量的。大的数据量阻碍了用户对它的有效利用,显然如果仅仅是人为的去筛选用户偏好的数据,是相当低效而且不现实的。如何快速、高效的为用户推荐k个最优的候选环匹配是同构对称发布/订阅系统中研究的关键问题之一。在同构对称发布/订阅系统的不同应用中,有时匹配结果可以调用打分函数为其打分,依据分值排序求出前k个最优的。有时无法调用打分函数打分,不能对其排序,无法求出k个最优的。
通常为用户推荐前k个最优的候选匹配是通过找出所有候选匹配根据打分函数求出的分值排序,进而找出最优的k个候选匹配。然而当用户对订阅的候选匹配评价值很难通过打分函数量化时,上面这种方法就不能满足了。
发明内容
本发明提供了一种面向同构对称发布及订阅系统的Top-k查询方法,旨在解决在候选匹配结果可以调用打分函数对其打分时,基于堆的Top-k算法在处理海量数量中是经典算法,在每一次处理一个候选环匹配都调用一次打分函数,这样在打分函数复杂度较大时,算法的时间效率不理想的问题。
本发明的目的在于提供一种面向同构对称发布及订阅系统的Top-k查询方法,该Top-k查询方法包括以下步骤:
步骤1:如果用户对订阅的候选匹配评价值难以量化,则转入步骤2,否则转入步骤7通过打分函数来排序;
步骤2:获得当前用户订阅的候选匹配数量NumOfRing,如果候选匹配数量NumOfRing不大于需要求得的Skyline点数量count_temp初始值k,则返回所有候选环匹配,否则转入步骤3;
步骤3:将所有候选匹配被支配状态state设置为1,如果k_Skyline值小于订阅维度,并且当前需要的Skyline点数量大于0时,则转入步骤4,否则结束;
步骤4:如果所有候选环匹配扫描完毕,则转入步骤6,否则扫描下一个候选环匹配,如果被支配状态state为0,则继续再扫描下一个候选匹配,否则转入步骤5;
步骤5:调用GetKIndex函数,计算该候选环匹配最优的k_Skyline个属性值,通过单调打分函数func求出聚合分值,插入到存储索引的数据结构Ability中,再计算出该候选环匹配最差的k_Skyline个属性值,通过单调打分函数func求出聚合分值,插入到存储索引的数据结构Possibility中,再转入步骤4;
步骤6:对存储索引的数据结构Possibility和Ability分别进行降序排列,调用GetSkyline函数,按照存储索引的数据结构Possibility中的索引顺序选择候选环匹配数据集中的点进行处理;
步骤7:读取前k个候选环匹配,构成长度为k的堆H,并调整为小顶堆,计算每个候选环匹配与当前订阅在每一维上的交叉数据比例,初始化WorstValue二维数组,调整WorstValue每一列为小顶堆,保持每一列构成的长度为k的堆。
进一步,在步骤3中,当候选匹配状态state为l时,代表已经被其他候选环匹配支配,当候选匹配状态state为0时,代表没有;k_Skyline代表k-支配的k系数,初始值为2。
进一步,在步骤6中,对存储索引的数据结构Possibility和Ability分别进行降序排列,调用GetSkyline函数,按照存储索引的数据结构Possibility中的索引顺序选择候选环匹配数据集中的点进行处理时,对每个Si与按照Ability表中的索引顺序候选环匹配数据点Sj进行比较判断,若Si在计算过程中被其他候选环匹配k-支配,立即淘汰;
且Si状态更新为未被支配,即state为0若Si与Ability表中所有点比较后仍未被淘汰,则Si成为k-支配Skyline点,且Si状态更新为未被支配,即state为0,继续从Possibility表中取下一个候选环匹配数据点进行判断;
如果产生出k-支配Skyline数据点的数量不大于count_temp,则返回产生的k-支配skyline点,同时更新k_Skyline值和count_temp值,且继续调用GetSkyline函数进行查询,否则返回前count_temp个k-支配skyline点。
进一步,在步骤7中,读取前k个候选环匹配,构成长度为k的堆H,并调整为小顶堆,计算每个候选环匹配与当前订阅在每一维上的交叉数据比例,初始化WorstValue二维数组,调整WorstValue每一列为小顶堆,以保持每一列构成的长度为k的堆时,扫描当前订阅的第k之后的候选环匹配,调用GetValueHeap函数,将候选环匹配与当前订阅每一维的数据交叉比例保存在tempValue中;
如果tempValue每一维都比WorstValue对应列的堆顶小,则该候选环匹配被淘汰;否则,调用打分函数计算匹配分数,并且与堆H的堆顶对应的候选环匹配比较,如果大于堆顶候选匹配的匹配分数,取代堆顶的候选环匹配,同时更新WorstValue数组,调整WorstValue的每一列和堆H为小顶堆;
当前订阅的所有候选环匹配全部扫描完之后,返回堆H中的k个候选环匹配。
本发明提供的面向同构对称发布及订阅系统的Top-k查询方法,针对结果是否可以打分进行排序,分别提出了基于高复杂度打分函数的面向匹配结果可以排序的Top-k查询算法和基于k-支配Skyline查询的面向匹配结果不可排序的Top-k查询算法,在订阅数量、打分函数复杂度、不同数据分布、选择度以及k值方面时间效率优势越明显,具有较高的学术价值及应用价值,解决了面向用户最优推荐的问题,对同构对称发布及订阅系统的环匹配海量候选结果进行了有效地处理,快速、高效地为用户推荐满意度最大化的匹配,实现了面向用户的最优推荐,具有较强的推广与应用价值。
附图说明
图1是本发明实施例提供的面向同构对称发布及订阅系统的Top-k查询方法的实现流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定发明。
图1示出了本发明实施例提供的面向同构对称发布及订阅系统的Top-k查询方法的实现流程。
该Top-k查询方法包括以下步骤:
步骤S101:如果用户对订阅的候选匹配评价值难以量化,则转入步骤S102,否则转入步骤S107通过打分函数来排序;
步骤S102:获得当前用户订阅的候选匹配数量NumOfRing,如果候选匹配数量NumOfRing不大于需要求得的Skyline点数量count_temp初始值k,则返回所有候选环匹配,否则转入步骤S103;
步骤S103:将所有候选匹配被支配状态state设置为1,如果k_Skyline值小于订阅维度,并且当前需要的Skyline点数量大于0时,则转入步骤S104,否则结束;
步骤S104:如果所有候选环匹配扫描完毕,则转入步骤S106,否则扫描下一个候选环匹配,如果被支配状态state为0,则继续再扫描下一个候选匹配,否则转入步骤S105;
步骤S105:调用GetKIndex函数,计算该候选环匹配最优的k_Skyline个属性值,通过单调打分函数func求出聚合分值,插入到存储索引的数据结构Ability中,再计算出该候选环匹配最差的k_Skyline个属性值,通过单调打分函数func求出聚合分值,插入到存储索引的数据结构Possibility中,再转入步骤S104;
步骤S106:对存储索引的数据结构Possibility和Ability分别进行降序排列,调用GetSkyline函数,按照存储索引的数据结构Possibility中的索引顺序选择候选环匹配数据集中的点进行处理;
步骤S107:读取前k个候选环匹配,构成长度为k的堆H,并调整为小顶堆,计算每个候选环匹配与当前订阅在每一维上的交叉数据比例,初始化WorstValue二维数组,调整WorstValue每一列为小顶堆,保持每一列构成的长度为k的堆。
在本发明实施例中,在步骤S103中,当候选匹配状态state为1时,代表已经被其他候选环匹配支配,当候选匹配状态state为0时,代表没有;k_Skyline代表k-支配的k系数,初始值为2。
在本发明实施例中,在步骤S106中,对存储索引的数据结构Possibility和Ability分别进行降序排列,调用GetSkyline函数,按照存储索引的数据结构Possibility中的索引顺序选择候选环匹配数据集中的点进行处理时,对每个Si与按照Ability表中的索引顺序候选环匹配数据点Sj进行比较判断,若Si在计算过程中被其他候选环匹配k-支配,立即淘汰;
若Si与Ability表中所有点比较后仍未被淘汰,则Si成为k-支配Skyline点,继续从Possibility表中取下一个候选环匹配数据点进行判断;
如果产生出k-支配Skyline数据点的数量不大于count_temp,则返回产生的k-支配skyline点,同时更新k_Skyline值和count_temp值,否则返回前count_temp个k-支配skyline点。
在本发明实施例中,在步骤S107中,读取前k个候选环匹配,构成长度为k的堆H,并调整为小顶堆,计算每个候选环匹配与当前订阅在每一维上的交叉数据比例,初始化WorstValue二维数组,调整WorstValue每一列为小顶堆,以保持每一列构成的长度为k的堆时,扫描当前订阅的第k之后的候选环匹配,调用GetValueHeap函数,将候选环匹配与当前订阅每一维的数据交叉比例保存在tempValue中;
如果tempValue每一维都比WorstValue对应列的堆顶小,则该候选环匹配被淘汰;否则,调用打分函数计算匹配分数,并且与堆H的堆顶对应的候选环匹配比较,如果大于堆顶候选匹配的匹配分数,取代堆顶的候选环匹配,同时更新WorstValue数组,调整WorstValue的每一列和堆H为小顶堆;
当前订阅的所有候选环匹配全部扫描完之后,返回堆H中的k个候选环匹配。
下面结合附图及具体实施例对本发明的应用原理作进一步描述。
在候选匹配结果不能调用打分函数来打分的情况下,采用如下方案:算法设计的变量如下:
候选匹配个数——NumOfRing;存储索引的数据结构——Possibility和Ability;需要求得的Skyline点数量——count_temp(该值初始化为k);候选匹配状态——state(1代表已经被其他候选环匹配支配,0代表没有);k_Skyline代表k-支配的k系数(初始化为2)。
步骤S101:如果用户对订阅的候选匹配评价值难以量化,转步骤S102;否则,转步骤S107通过打分函数来排序;
步骤S102:获得当前用户订阅的候选匹配数量NumOfRing,如果数量不大于k值,返回所有候选环匹配,算法结束。否则,转步骤S103;
步骤S103:将所有候选匹配被支配状态state设置为1,即被支配状态,如果k_Skyline值小于订阅维度,并且当前需要的Skyline点数量大于0,转步骤S104;否则,算法终止;
步骤S104:如果所有候选环匹配扫描完毕,转步骤S106,否则扫描下一个候选环匹配,如果被支配状态state为0,继续再扫描下一个候选匹配,否则转步骤S105;
步骤S105:调用GetKIndex,计算该候选环匹配最优的k_Skyline个属性值,通过单调打分函数func求出聚合分值,插入到Ability结构中,再计算出该候选环匹配最差的k_Skyline个属性值,通过单调打分函数func求出聚合分值,插入到Possibility结构中,转步骤S104;
步骤S106:对Possibility和Ability分别进行降序排列,调用GetSkyline函数,按照Possibility中的索引顺序选择候选环匹配数据集中的点进行处理。对每个Si,将其与按照Ability表中的索引顺序候选环匹配数据点Sj进行比较判断,若Si在计算过程中被其他候选环匹配k-支配,立即淘汰;若Si与Ability表中所有点比较后仍未被淘汰,则Si成为k-支配Skyline点,且Si状态更新为未被支配,即state为0,继续从Possibility表中取下一个候选环匹配数据点进行判断。产生出k-支配Skyline数据点,如果数量不大于count_temp,返回产生的k-支配skyline点,同时更新k_Skyline和count_temp值,且继续调用GetSkyline函数进行查询;否则返回前count_temp个k-支配skyline点,算法结束。
步骤S107:本步为基于高复杂度打分函数的可排序Top-k查询。读取前k个候选环匹配,构成长度为k的堆H,并将其调整为小顶堆,然后计算每个候选环匹配与当前订阅在每一维上的交叉数据比例,初始化WorstValue二维数组,调整WorstValue每一列为小顶堆,以保持每一列构成的长度为k的堆,堆顶都是候选环匹配在该维上的最差值。扫描当前订阅的第k之后的候选环匹配,调用GetValueHeap函数,将候选环匹配与当前订阅每一维的数据交叉比例保存在tempValue中。如果tempValue每一维都比WorstValue对应列的堆顶小,则该候选环匹配被淘汰;否则,调用打分函数计算匹配分数,并且与堆H的堆顶对应的候选环匹配比较,如果大于堆顶候选匹配的匹配分数,取代堆顶的候选环匹配,同时更新WorstValue数组,调整WorstValue的每一列和堆H为小顶堆。当前订阅的所有候选环匹配全部扫描完之后,返回堆H中的k个候选环匹配,算法结束。
采用IBMxSeries3500服务器平台,配置如下:
CPU:IntelXeonEM64TQuadcoreE54052.0GHz;
内存:16GBytes;
硬盘:4TGBytes,7200rpm;
操作系统:CentOS5.2;
开发工具:GNUToolkits(GCC、G++、GDB)、Make、Vim等。
开发语言:标准C++语言。
本发明针对的是海量数据下不可排序进行k-支配Skyline查询的情况,在此仅举一个小的实例,方便了解方案执行流程。本实例中涉及的订阅维度为4,Top-k值为4,k_Skyline系数为3,如附图文档中的表1所示。
步骤S101:获得当前用户订阅的候选环匹配数量NumOfRing,为n,很明显n>4,即候选环匹配数量超过用户所需数量,即候选环匹配数超过当前需要的Skyline点的数量。
步骤S102:将n个候选环匹配的被支配状态state设置为1,如附图文档中表4所示,k_Skyline系数3小于订阅维度4。
步骤S103:扫描第一个候选环匹配,state为1,调用GetKIndex,计算该候选环匹配最优的3个属性值,并通过单调打分函数func求出聚合分值为36,插入到Ability结构,再计算出该候选环匹配最差的3个属性值,通过单调打分函数func求出聚合分值为6,插入到Possibility中。
步骤S104:按照步骤S103,继续扫描下一个候选环匹配,直到所有候选环匹配扫描完毕。
步骤S105:对Possibility表和Ability表分别进行降序排序,如附图文档中的表2、表3所示。调用GetSkyline函数,按照Possibility表中的索引顺序选择相应的候选环匹配数据集中的点进行处理。对Possibility索引的每个Si,将其与按照Ability索引的每个数据点Sj进行比较判断。若Si在计算过程中被某个Sj所k-支配,则立即淘汰Si;若Si在与Ability索引的每个数据点比较后仍未被淘汰,则Si成为k-支配Skyline点,其对应的state状态设置为0;继续从Possibility表中取下一个候选环匹配数据点进行判断,如此直到Possibility中的所有点都被处理过。处理完毕后,可以得出只有一个k-支配Skyline点,候选环匹配S4,支配其他所有候选环匹配。
步骤S106:求出的k-支配Skyline点数目小于4,更新count_temp的值(count_temp=Top-k-conun_temp)和k_Skyline值。此处少于4,则需要更新k_Skyline系数(加1),继续求出下一轮的k-支配Skyline点,直到求出的Skyline点数大于count_temp,并且输出前count_temp个查询结果。
本发明针对大的数据量所表现出的性能也是比较好的,为了全面地考察算法的性能,在服务器上进行了大量的有针对性的实验,分别测试了本发明算法和传统算法的响应时间和系统CPU响应时间。算法的查询响应时间决定了该算法的效率,而系统CPU时间则反映了整个系统的性能。本发明所涉及的实验默认参数以及参数的取值范围如下表1所示。
表1实验数据参数表
从订阅数量、维度、选择度等方面比较基于k-支配Skyline查询的面向匹配结果的不可排序的Top-k查询方法和传统Skyline查询方法的时间性能,结果证明基于k-支配Skyline查询的面向匹配结果不可以排序的Top-k查询算法的时间性能更好,而且查全率和查准率都在90%以上。
从打分函数复杂度、维度、选择度以及k值等方面对基于高复杂度打分函数的面向匹配结果可以排序的Top-k查询算法和基于堆的面向用户的Top-k算法进行比较,复杂度越高,基于高复杂度打分函数的面向匹配结果可以排序的Top-k查询算法的时间效率优势越明显。
本发明提出的面向匹配结果的topk查询,具有很高的学术价值,也有非常好的应用价值,解决了面向用户的最优推荐问题。不仅如此,本发明针对结果是否可以打分进行排序,分别提出了基于高复杂度打分函数的面向匹配结果可以排序的Top-k查询算法和基于k-支配Skyline查询的面向匹配结果不可排序的Top-k查询算法。
本发明实施例提供的面向同构对称发布及订阅系统的Top-k查询方法,针对结果是否可以打分进行排序,分别提出了基于高复杂度打分函数的面向匹配结果可以排序的Top-k查询算法和基于k-支配Skyline查询的面向匹配结果不可排序的Top-k查询算法,在订阅数量、打分函数复杂度、不同数据分布、选择度以及k值方面时间效率优势越明显,具有较高的学术价值及应用价值,解决了面向用户最优推荐的问题,对同构对称发布及订阅系统的环匹配海量候选结果进行了有效地处理,快速、高效地为用户推荐满意度最大化的匹配,实现了面向用户的最优推荐,具有较强的推广与应用价值。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种面向同构对称发布及订阅系统的Top-k查询方法,其特征在于,该Top-k查询方法包括以下步骤:
步骤1:如果用户对订阅的候选匹配评价值难以量化,则转入步骤2,否则转入步骤7通过打分函数来排序;
步骤2:获得当前用户订阅的候选匹配数量NumOfRing,如果候选匹配数量NumOfRing不大于需要求得的Skyline点数量count_temp初始值k,则返回所有候选环匹配,否则转入步骤3;
步骤3:将所有候选匹配被支配状态state设置为1,如果k_Skyline值小于订阅维度,并且当前需要的Skyline点数量大于0时,则转入步骤4,否则结束;
步骤4:如果所有候选环匹配扫描完毕,则转入步骤6,否则扫描下一个候选环匹配,如果被支配状态state为0,则继续再扫描下一个候选匹配,否则转入步骤5;
步骤5:调用GetKIndex函数,计算该候选环匹配最优的k_Skyline个属性值,通过单调打分函数func求出聚合分值,插入到存储索引的数据结构Ability中,再计算出该候选环匹配最差的k_Skyline个属性值,通过单调打分函数func求出聚合分值,插入到存储索引的数据结构Possibility中,再转入步骤4;
步骤6:对存储索引的数据结构Possibility和Ability分别进行降序排列,调用GetSkyline函数,按照存储索引的数据结构Possibility中的索引顺序选择候选环匹配数据集中的点进行处理;
步骤7:读取前k个候选环匹配,构成长度为k的堆H,并调整为小顶堆,计算每个候选环匹配与当前订阅在每一维上的交叉数据比例,初始化WorstValue二维数组,调整WorstValue每一列为小顶堆,保持每一列构成的长度为k的堆;
在步骤3中,当候选匹配状态state为1时,代表已经被其他候选环匹配支配,当候选匹配状态state为0时,代表没有;k_Skyline代表k-支配的k系数,初始值为2;
在步骤6中,对存储索引的数据结构Possibility和Ability分别进行降序排列,调用GetSkyline函数,按照存储索引的数据结构Possibility中的索引顺序选择候选环匹配数据集中的点进行处理时,对每个Si与按照Ability表中的索引顺序候选环匹配数据点Sj进行比较判断,若Si在计算过程中被其他候选环匹配k-支配,立即淘汰;
且Si状态更新为未被支配,即state为0若Si与Ability表中所有点比较后仍未被淘汰,则Si成为k-支配Skyline点,且Si状态更新为未被支配,即scate为0,继续从Possibility表中取下一个候选环匹配数据点进行判断;
如果产生出k-支配Skyline数据点的数量不大于count_temp,则返回产生的k-支配skyline点,同时更新k_Skyline值和count_temp值,且继续调用GetSkyline函数进行查询,否则返回前count_temp个k-支配skyline点;
在步骤7中,读取前k个候选环匹配,构成长度为k的堆H,并调整为小顶堆,计算每个候选环匹配与当前订阅在每一维上的交叉数据比例,初始化WorstValue二维数组,调整WorstValue每一列为小顶堆,以保持每一列构成的长度为k的堆时,扫描当前订阅的第k之后的候选环匹配,调用GetValueHeap函数,将候选环匹配与当前订阅每一维的数据交叉比例保存在tempValue中;
如果tempValue每一维都比WorstValue对应列的堆顶小,则该候选环匹配被淘汰;否则,调用打分函数计算匹配分数,并且与堆H的堆顶对应的候选环匹配比较,如果大于堆顶候选匹配的匹配分数,取代堆顶的候选环匹配,同时更新WostValue数组,调整WorstValue的每一列和堆H为小顶堆;
当前订阅的所有候选环匹配全部扫描完之后,返回堆H中的k个候选环匹配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210544907.5A CN103020234B (zh) | 2012-12-17 | 2012-12-17 | 一种面向同构对称发布及订阅系统的Top-k查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210544907.5A CN103020234B (zh) | 2012-12-17 | 2012-12-17 | 一种面向同构对称发布及订阅系统的Top-k查询方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103020234A CN103020234A (zh) | 2013-04-03 |
CN103020234B true CN103020234B (zh) | 2015-12-23 |
Family
ID=47968838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210544907.5A Expired - Fee Related CN103020234B (zh) | 2012-12-17 | 2012-12-17 | 一种面向同构对称发布及订阅系统的Top-k查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103020234B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573036B (zh) * | 2015-01-16 | 2018-07-27 | 深圳大学 | 一种基于距离的求解二维空间中代表性节点集的方法 |
CN118013086B (zh) * | 2024-04-10 | 2024-06-25 | 哈尔滨工业大学(威海) | 一种k代表G-Skyline查询方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1482558A (zh) * | 2002-07-26 | 2004-03-17 | �Ҵ���˾ | 启动与协作用户群体的双向电子交谈的方法和系统 |
US7136899B1 (en) * | 2000-12-11 | 2006-11-14 | Microsoft Corporation | Inverse query decisions using binary decision diagrams and sub-expression implications |
CN101035093A (zh) * | 2006-01-06 | 2007-09-12 | 国际商业机器公司 | 用于处理消息的方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7313554B2 (en) * | 2003-09-29 | 2007-12-25 | International Business Machines Corporation | System and method for indexing queries, rules and subscriptions |
US7756815B2 (en) * | 2004-08-03 | 2010-07-13 | International Business Machines Corporation | Apparatus and method of semantic-based publish-subscribe system |
US20100049693A1 (en) * | 2008-08-25 | 2010-02-25 | Alcatel-Lucent | System and method of cache based xml publish/subscribe |
-
2012
- 2012-12-17 CN CN201210544907.5A patent/CN103020234B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7136899B1 (en) * | 2000-12-11 | 2006-11-14 | Microsoft Corporation | Inverse query decisions using binary decision diagrams and sub-expression implications |
CN1482558A (zh) * | 2002-07-26 | 2004-03-17 | �Ҵ���˾ | 启动与协作用户群体的双向电子交谈的方法和系统 |
CN101035093A (zh) * | 2006-01-06 | 2007-09-12 | 国际商业机器公司 | 用于处理消息的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103020234A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Niu et al. | Neural personalized ranking for image recommendation | |
CN109447277B (zh) | 一种通用的机器学习超参黑盒优化方法及系统 | |
Skoutas et al. | Ranking and clustering web services using multicriteria dominance relationships | |
Li et al. | Using multidimensional clustering based collaborative filtering approach improving recommendation diversity | |
Xia et al. | Reciprocal recommendation system for online dating | |
KR101386777B1 (ko) | 데이터 푸싱 방법과 그 장치 | |
US9270767B2 (en) | Method and system for discovery of user unknown interests based on supplemental content | |
Zhu et al. | Distributed skyline retrieval with low bandwidth consumption | |
US7840568B2 (en) | Sorting media objects by similarity | |
CN106202331A (zh) | 分层次隐私保护的推荐系统及基于该推荐系统的作业方法 | |
Berkovsky et al. | Distributed collaborative filtering with domain specialization | |
KR20100109847A (ko) | 소셜 네트워크를 통한 사용자 신뢰도 평가 방법 및 이를 통한 컨텐츠 신뢰도 평가 시스템 및 방법 | |
CN107679239B (zh) | 一种基于用户行为的个性化社区推荐方法 | |
CN110245687B (zh) | 用户分类方法以及装置 | |
US11243957B2 (en) | Self-organizing maps for adaptive individualized user preference determination for recommendation systems | |
Lu et al. | HBGG: A hierarchical Bayesian geographical model for group recommendation | |
EP3067804B1 (en) | Data arrangement program, data arrangement method, and data arrangement apparatus | |
CN103020234B (zh) | 一种面向同构对称发布及订阅系统的Top-k查询方法 | |
Wang et al. | Combining user-based and item-based collaborative filtering techniques to improve recommendation diversity | |
Bao et al. | Georank: an efficient location-aware news feed ranking system | |
Sun et al. | Inferring private demographics of new users in recommender systems | |
CN106991122A (zh) | 一种基于粒子群算法的电影推荐方法 | |
KR101576358B1 (ko) | 온라인 분석 처리를 위한 그래프 큐브의 생성 방법 | |
Bartolini et al. | Flexible integration of multimedia sub-queries with qualitative preferences | |
Ma et al. | General collaborative filtering for Web service QoS prediction |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151223 Termination date: 20191217 |