[发明专利]一种基于频繁模式树二维特征的负载均衡方法在审
申请号: | 201910264138.5 | 申请日: | 2019-04-03 |
公开(公告)号: | CN109992610A | 公开(公告)日: | 2019-07-09 |
发明(设计)人: | 赵义健;黄芳;杜春修;阿里阿米尔;张予琛 | 申请(专利权)人: | 中南大学 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/242;G06F16/27;G06F9/50 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 410083 湖南*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 频繁模式 二维特征 计算量 预估 负载均衡 估算 负载均衡效果 大规模并行 传统算法 计算节点 计算平台 计算效率 结果使用 可扩展性 深度特征 数据分配 综合考虑 挖掘 并行性 有效地 并行 分组 | ||
1.一种基于频繁模式树二维特征的负载均衡方法,其特征在于:包括两部分,第一部分为基于频繁模式树二维特征(深度,宽度)对一项集中每一项在分配到计算节点时可能存在的计算量进行预估,第二部分是对预估的结果使用基于贪心策略的分组方法进行负载均衡分组;
第一部分具体步骤为:
步骤11:项的并行计数统计:输入数据集DB后,进行并行的一项集计数,计数完成后获取所有项的一项集计数,记为<key=an,value=count>,其中an为DB中出现的项,count为项an出现的次数。
步骤12:获取频繁一项集F-list:设置项的最小支持度为δ(0<δ<1),遍历计算每一项是否满足an.count>=DB.count*δ,an.count为项an的出现次数,DB.count为数据集DB中事务的数目;若满足则将项an加入到频繁一项集f-list中,将所有的项遍历完成得到完整的频繁一项集f-list,然后将f-list中的项根据出现次数从大到小进行排序,形成排序后的频繁一项集F-list。
步骤13:基于频繁模式树深度的F-list中项可能存在的计算量估算:计算节点的计算量一部分就体现在不同项an在频繁模式树中路径的位置,而这一位置可以由项an在F-list列表中所处的位置所决定。所以,F-list中每一项an的位置可以作为项an所在分组后所在频繁模式树中的深度计算量估算。其结果记为deep={(an,l)|n=1,2,3…,n},l为项an在F-list中的位置。
步骤14:基于频繁模式树宽度的F-list中项可能存在的计算量估算:在集群中的计算节点上如果频繁模式树的宽度过大,一方面会造成在构建频繁模式树时所能够使用的前缀树较少,另一方面会造成频繁模式树中频繁项的路径数目增加。这样也会导致计算节点中计算量的增加。估算步骤如下:
步骤14.1:前缀事务记录获取:对于每一条排序完的事务记录Ti={a0,a1,…,aj},从右向左遍历该条事务记录,在事务记录中获取每个元素aj之前的子事务记录,组成一个键值对,记为<key=aj,vlaue=a0,a1,…,aj>。
步骤14.2:宽度估算:在获取了所有的前缀事务记录后,将所有的重复的记录进行合并,并将所有key值相同的键值对组合起来统计其出现次数,每个key值对应的value值次数可以近似的作为项an分组后所在频繁模式树中的深度估算。其结果记为width={(an,m)|n=1,2,3…,n},m为以项an为key值的合并重复value值后出现的次数。
步骤15:基于频繁模式树二维特征的F-list中项可能存在的计算量估算:在获取了F-list中的每一项的深度和宽度的预估之后,根据这些信息可以对F-list中项可能存在的计算量进行一个整体的预估,项an得到的计算量估算结果记为的计算方法为:
式中width(an)表示项an的宽度估算,deep(an)表示项an的深度估算,这个公式综合考虑了项an在分组完成后其所构成频繁模式树的横向和纵向维度,因此,当项an分配到某个计算节点中时可以近似估算出项an所对应的计算量。
第二部分的步骤为:
步骤21:获取一项估算集W-list:在对F-list中的项an计算量估算完成后,记为<key=an,value=weight>,weight为项an对应的估算计算量,加入一项估算集W-list中,在F-list中所有项估算完成后将W-list中所有项按weight值从大到小进行排序得到一项估算集W-list。
步骤22:基于贪心策略对W-list中的项进行分组:在给定所需要划分的组数Q后,理想状态下的分组是每组的计算量估算等于计算量估算的和与分组的商,即平均计算量Avg。在分组的过程中我们可以尽量使得每个分组的计算量Wn都接近平均计算量Avg,即最优的目标函数为公式如下:
min∑(Wn-Avg)
直接求解上式的最优解复杂度较高,采用贪心策略可以获取局部最优解,局部最优解的组合就可以近似的代替全局最优解,具体步骤如下:
步骤22.1:根据计算集群中计算节点的个数确定所需要的分组数目Q。
步骤22.2:计算出当前新的平均估算量Avg,从左向右遍历W-list中未分组的项,遍历过程中将项的估算量进行累加,直到累加值sum大于当前平均估算量Avg时停止遍历,将这部分遍历的项作为一个分组加入分组结果集G-list中。
步骤22.3:分组数目Q-1,判断Q是否大于1,如果大于则重复步骤2.2,否则直接将剩下未分组的项作为一个分组后分组结束。
步骤23:根据分组结果对数据集DB进行划分:将原有数据集划分成一系列数据集,划分好的数据集在不同的计算节点上构建局部频繁模式树进行频繁模式的挖掘,步骤如下:
步骤23.1:数据准备:获取按照F-list排序完成的事务数据集T-list和W-list的分组结果G-list。
步骤23.2:数据集划分:从右向左遍历T-list中的每条事务记录Ti中的每个元素aj,查看aj在分组中对应的组号gid,然后将Ti中元素aj去除继续遍历,如果元素ak对应的分组号之前出现过,就直接将元素ak从事务记录Ti中删除后继续遍历下一个元素。直到事务记录Ti遍历完,然后将key相同的事务记录组合在一起记为(T-list)gid。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中南大学,未经中南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910264138.5/1.html,转载请声明来源钻瓜专利网。