当前位置: 首页 > 专利查询>东北大学专利>正文

基于双阈值的分布式Top-|K|查询方法技术

技术编号:10328154 阅读:158 留言:0更新日期:2014-08-14 14:23
本发明专利技术涉及基于双阈值的分布式Top-|K|查询方法。整个方案包括了三个阶段:双阈值计算阶段、候选集计算阶段、Top-|K|查询阶段。本发明专利技术涉及一种分布式网络环境中查询绝对值最大的前K项元素聚合值(聚合函数的计算结果,如所有元素值的和)的方法,具体是一种通过部分已知数据构建分布式系统中元素聚合值的正、负阈值,从而在有限次交互过程中实现对绝对值最大的前K项元素聚合值进行查询的方法,可以应用于互联网、物联网等分布式系统中元素聚合值的Top-|K|项查询。本发明专利技术能够大大节省数据传输量,降低查询时延。

【技术实现步骤摘要】
基于双阈值的分布式Top-|K|查询方法
本专利技术涉及一种分布式网络环境中查询绝对值最大的前K项元素聚合值(聚合函数的计算结果,如所有元素值的和)的方法,具体是一种通过部分已知数据构建分布式系统中元素聚合值的正、负阈值,从而在有限次交互过程中实现对绝对值最大的前K项元素聚合值进行查询的方法,可以应用于互联网、物联网等分布式系统中元素聚合值的Top-|K|项查询。
技术介绍
随着信息技术的不断发展,人们获取和处理数据的规模越来越大。在众多分布式应用中,如何实现快速高效地查询大规模数据集中的前|K|项数据具有重要的作用。分布式系统中需要处理的数据集分散在多个节点内,如图1所示。因此,获取同一元素的聚合值需要在多个节点间传递相应元素的信息。进而,查询绝对值最大的前K项元素聚合值需要在分布式系统中频繁传递大量的交互信息,从而造成带宽的消耗和查询的延时。目前,分布式系统中Top-|K|查询采用单阈值的方法,查询过程需要在管理节点和成员节点间进行多次信息交换,需要消耗大量的带宽并产生较长时间的延迟,同时无法提前确定需求交互的次数。其他的Top-K方法只适用于具有单调特性的聚合函数,无法实现对绝对值最大的前K项元素聚合值进行查询的需求。
技术实现思路
本专利技术的目的在于查询分布式系统中绝对值最大的前K项元素的聚合值,适用于具有两阶段单调特性的聚合函数。为实现上述目的,本专利技术采取了以下技术方案。整个方案包括了三个阶段:双阈值计算阶段、候选集计算阶段、Top-|K|查询阶段。方案中管理节点与成员节点之间的交互过程如图2所示。分布式系统由m个节点构成,其中包括一个管理节点和多个成员节点,每个节点中包含一个由若干对(索引,值)构成并按值降序排列的元素列表Lj={(i,vj(i)),i=1,…nj},其中nj为该节点中包含元素的个数。管理节点遵循与成员节点相同的元素选取规则。定义全部元素和部分元素和全部元素和上界全部元素和下界其中:上述公式中vj(i)已知表示第j个节点中索引为i的元素在当前元素选取范围内,对于成员节点来说,该元素的值已由成员节点发送至管理节点;对于管理节点来说,该元素的值符合当前元素选取规则(在双阈值计算阶段中元素属于前K个正元素与后K个负元素集合,在候选集计算阶段中元素值属于大于等于的正元素或小于等于的负元素集合,在Top-|K|查询阶段中元素索引属于候选集S)。因此,vj(i)可以直接用于计算元素i的部分元素和、全部元素和上界或全部元素和下界。与之相对应,vj(i)未知表示第j个节点中索引为i的元素不在当前元素选取范围内,对于成员节点来说,该元素的值没有从成员节点发送至管理节点;对于管理节点来说,该元素的值不符合当前元素选取规则。因此,vj(i)无法用于计算元素i的部分元素和、全部元素和上界或全部元素和下界,分别需要用0、正阈值或负阈值来代替。双阈值计算阶段包括以下具体步骤:1)成员节点向管理节点发送前K个正元素与后K个负元素集合;2)管理节点计算所有接收元素的部分和;3)管理节点计算前K个正元素和下界并赋值给4)管理节点计算后K个负元素和上界并赋值给5)管理节点计算正阈值与负阈值6)管理节点向所有成员节点发送正阈值与负阈值。候选集计算阶段包括以下具体步骤:7)成员节点向管理节点发送所有未发送过的大于等于的正元素或小于等于的负元素集合;8)管理节点计算所有接收元素的部分和;9)管理节点计算前K个正元素部分和的下界并赋值给10)管理节点计算后K个负元素部分和的上界并赋值给11)管理节点计算所有接收元素的全部和上界;12)管理节点计算所有接收元素的全部和下界;13)管理节点构建候选集S={全部和上界或全部和下界的元素索引};14)管理节点向所有成员节点发送候选集S。Top-|K|查询阶段包括以下具体步骤:15)成员节点向管理节点发送候选集S中所有未发送过的元素集合;16)管理节点计算候选集S中所有元素的全部和;17)管理节点选取候选集S中绝对值最大的前K个元素。附图说明图1分布式系统Top-|K|查询实例图2管理节点与成员节点交互过程具体实施方式本专利技术在实施时包括双阈值计算阶段、候选集计算阶段、Top-|K|查询阶段三个阶段。本实例中分布式系统由3个节点构成,即m=3,其中包括一个管理节点和两个成员节点,每个节点中包含的元素列表如图1所示。本实例中K取值2,即查询Top-|2|项元素。首先,执行双阈值计算阶段,按照以下具体步骤实施:1)成员节点1向管理节点发送前2个正元素集合{(3,10),(1,8)}与后2个负元素集合{(4,-5),(2,-10)},成员节点2向管理节点发送前2个正元素集合{(6,12),(1,8)}与后2个负元素集合{(2,-6),(3,-7)};2)管理节点计算所有接收元素的部分和。当前元素选取规则为元素属于前2个正元素与后2个负元素集合。对于索引为1的元素,管理节点中的(1,10)、成员节点1中的(1,8)、成员节点2中的(1,8)都符合当前元素选取规则,因此元素1的部分和P(1)=10+8+8=26。对于索引为3的元素,管理节点中的(3,3)不符合当前元素选取规则,因此用0代替其值,成员节点1中的(3,10)与成员节点2中的(3,-7)符合当前元素选取规则,因此元素3的部分和P(3)=0+10-7=3。其余元素的部分和计算方式与此类似,可以计算得到P(6)=12,P(4)=4,P(8)=-6,P(2)=-25;3)管理节点计算前2个正元素和P(1)=26与P(6)=12的下界,并令4)管理节点计算后2个负元素和P(8)=-6与P(2)=-25的上界,并令5)管理节点计算正阈值与负阈值6)管理节点向成员节点1与2发送正阈值4与负阈值-2。其次,执行候选集计算阶段,按照以下具体步骤实施:7)成员节点1向管理节点发送所有未发送过的大于等于正阈值4的正元素或小于等于负阈值-2的负元素集合{(8,-3)},成员节点2向管理节点发送所有未发送过的大于等于正阈值4的正元素或小于等于负阈值-2的负元素集合{(5,7)};8)管理节点计算所有接收元素的部分和。当前元素选取规则为元素值属于大于等于4的正元素或小于等于-2的负元素集合。对于索引为1的元素,管理节点中的(1,10)、成员节点1中的(1,8)、成员节点2中的(1,8)都符合当前元素选取规则,因此元素1的部分和P(1)=10+8+8=26。对于索引为6的元素,管理节点中的(6,-1)与成员节点1中的(6,-1)都不符合当前元素选取规则,因此用0代替其值,成员节点2中的(6,12)符合当前元素选取规则,因此元素6的部分和P(6)=0+0+12=12。其余元素的部分和计算方式与此类似,可以计算得到P(3)=3,P(4)=4,P(5)=7,P(9)=-2,P(8)=-9,P(2)=-25;9)管理节点计算前2个正元素部分和P(1)=26与P(6)=12的下界,并令10)管理节点计算后2个负元素部分和P(8)=-9与P(2)=-25的上界,并令11)管理节点计算所有接收元素的全部和上界。当前元素选取规则为元素值属于大于等于4的正元素或小于等于-2的负元素集合。对于索引为1的元素,管理节点中的(1,10)、成员节点1中的(1,8)、成员节点2中本文档来自技高网...
基于双阈值的分布式Top-|K|查询方法

【技术保护点】
基于双阈值的分布式Top‑|K|查询方法,其特征在于,整个方案包括了三个阶段:双阈值计算阶段、候选集计算阶段、Top‑|K|查询阶段;分布式系统由m个节点构成,其中包括一个管理节点和多个成员节点,每个节点中包含一个由若干对(索引,值)构成并按值降序排列的元素列表Lj={(i,vj(i)),i=1,…nj},其中nj为该节点中包含元素的个数;管理节点遵循与成员节点相同的元素选取规则;定义全部元素和V(i)=Σj=1mvj(i),]]>部分元素和P(i)=Σj=1mvj′(i),]]>全部元素和上界U(i)=Σj=1mv‾j(i),]]>全部元素和下界L(i)=Σj=1mv‾j(i),]]>其中:上述公式中vj(i)已知表示第j个节点中索引为i的元素在当前元素选取范围内,对于成员节点来说,该元素的值已由成员节点发送至管理节点;对于管理节点来说,该元素的值符合当前元素选取规则即在双阈值计算阶段中元素属于前K个正元素与后K个负元素集合,在候选集计算阶段中元素值属于大于等于的正元素或小于等于的负元素集合,在Top‑|K|查询阶段中元素索引属于候选集S;因此,vj(i)直接用于计算元素i的部分元素和、全部元素和上界或全部元素和下界;与之相对应,vj(i)未知表示第j个节点中索引为i的元素不在当前元素选取范围内,对于成员节点来说,该元素的值没有从成员节点发送至管理节点;对于管理节点来说,该元素的值不符合当前元素选取规则;因此,vj(i)无法用于计算元素i的部分元素和、全部元素和上界或全部元素和下界,分别需要用0、正阈值或负阈值来代替;双阈值计算阶段包括以下具体步骤:1)成员节点向管理节点发送前K个正元素与后K个负元素集合;2)管理节点计算所有接收元素的部分和;3)管理节点计算前K个正元素和下界并赋值给4)管理节点计算后K个负元素和上界并赋值给5)管理节点计算正阈值与负阈值6)管理节点向所有成员节点发送正阈值与负阈值候选集计算阶段包括以下具体步骤:7)成员节点向管理节点发送所有未发送过的大于等于的正元素或小于等于的负元素集合;8)管理节点计算所有接收元素的部分和;9)管理节点计算前K个正元素部分和的下界并赋值给10)管理节点计算后K个负元素部分和的上界并赋值给11)管理节点计算所有接收元素的全部和上界;12)管理节点计算所有接收元素的全部和下界;13)管理节点构建候选集S={全部和上界或全部和下界的元素索引};14)管理节点向所有成员节点发送候选集S;Top‑|K|查询阶段包括以下具体步骤:15)成员节点向管理节点发送候选集S中所有未发送过的元素集合;16)管理节点计算候选集S中所有元素的全部和;17)管理节点选取候选集S中绝对值最大的前K个元素。...

【技术特征摘要】
1.一种基于双阈值的分布式Top-|K|查询方法,其特征在于,整个方案包括了三个阶段:双阈值计算阶段、候选集计算阶段、Top-|K|查询阶段;分布式系统由m个节点构成,其中包括一个管理节点和多个成员节点,每个节点中包含一个由若干对(索引,值)构成并按值降序排列的元素列表Lj={(i,vj(i)),i=1,…nj},其中nj为该节点中包含元素的个数;管理节点遵循与成员节点相同的元素选取规则;定义全部元素和部分元素和全部元素和上界全部元素和下界其中:上述公式中vj(i)已知表示第j个节点中索引为i的元素在当前元素选取范围内,对于成员节点来说,该元素的值已由成员节点发送至管理节点;对于管理节点来说,该元素的值符合当前元素选取规则即在双阈值计算阶段中元素属于前K个正元素与后K个负元素集合,在候选集计算阶段中元素值属于大于等于的正元素或小于等于T的负元素集合,在Top-|K|查询阶段中元素索引属于候选集S;因此,vj(i)直接用于计算元素i的部分元素和、全部元素和上界或全部元素和下界;与之相对应,vj(i)未知表示第j个节点中索引为i的元素不在当前元素选取范围内,对于成员节点来说,该元素的值没有从成员节点发送至管理节点;对于管理节点来说,该元素的值不符...

【专利技术属性】
技术研发人员:李国瑞王颖
申请(专利权)人:东北大学
类型:发明
国别省市:辽宁;21

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

1