买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】微批流处理系统中的数据分区方法、装置、设备和介质_港珠澳大桥管理局;浙江大学_202210339704.6 

申请/专利权人:港珠澳大桥管理局;浙江大学

申请日:2022-04-01

公开(公告)日:2024-04-12

公开(公告)号:CN114780541B

主分类号:G06F16/22

分类号:G06F16/22

优先权:

专利状态码:有效-授权

法律状态:2024.04.12#授权;2022.08.09#实质审查的生效;2022.07.22#公开

摘要:本申请涉及数据流实时处理技术领域,提供了一种微批流处理系统中的数据分区方法、装置、计算机设备、存储介质和计算机程序产品。本申请通过频率感知缓冲技术来使得批分区前准备工作所需时间最小化,遍历平衡二叉树可以得到一个键及其频率相关信息的有序列表,减少了处理阶段的排序时间,在批分区阶段通过将问题抽象为经典装箱问题,限制了键的碎片化程度,使得数据块之间的基数差异最小化,并保持各数据块大小相等,实现了对数据分区的负载平衡,在处理阶段把问题抽象为可变容量装箱问题,使用最差适应算法来分配键簇,保证了任务间的负载平衡,可以在不增加延迟的情况下大幅提高数据处理吞吐量。

主权项:1.一种微批流处理系统中的数据分区方法,其特征在于,所述方法包括:获取数据流元组;基于哈希表和平衡二叉搜索树维护所述数据流元组;其中,所述哈希表存储所述数据流元组的键、指向所述键对应的元组列表的第一指针及所述键的频率计数;所述键的频率计数还保存至所述平衡二叉搜索树;所述哈希表中每一个键均拥有指向所述平衡二叉搜索树中相应频率计数节点的第二指针;遍历所述平衡二叉搜索树,生成有序列表;其中,所述有序列表包含所述键、所述键的频率计数及所述键对应的元组列表;基于预设分区条件,将所述有序列表中的数据流元组按批分区;其中,每个分区为一个数据块,每个数据块中存储有键是否被分割的信息;所有共享相同键值的数据流元组被建模为一个单项,所述预设分区条件包括:限制单项的拆分次数、最小化数据块中不同单项的数目和维持各数据块的容量相等;其中,将批分区问题定义为可拆分项目的平衡装箱问题,给定拥有N个不同项的集合:k1,k2…,kN,每项大小为Sn,其中1≤n≤N,给定B={b1,b2,…,bB}个箱子,每个箱子容量为C,可拆分项的平衡装箱问题为将各项在同时满足以下条件的情况下分配到不同箱中:1对于任意bj,j∈[1,B],都有箱内的元组数等于箱的容量C;2对于任意bj,j∈[1,B],都有箱内不同项的个数大于等于NB;3对于任意项,要求被分割次数尽可能少;装箱时,将频率counti大于数据块大小与数据块基数之比的键对应的数据流元组拆分为两项,其中一项的数据流元组大小等于数据块大小与数据块基数之比,将其放入数据块中,另一项放入一个新的列表中;将排序列表中剩余键按蛇形排列分配给数据块,再按最佳适应算法将新的列表中的键分配给数据块;通过Map任务基于最差适应算法利用所述数据块中的所述键是否被分割的信息将键簇分配至Reduce阶段的buckets中处理;其中,所述Map阶段的输出为由键值组成的簇,每个键簇拥有相同键的所有数据值;bucket的容量根据键簇的数量与所述buckets的数量的比值确定;其中,Map任务利用键被分割的信息将键簇分配到Reduce阶段的buckets中处理;其中,Map阶段的输出为由键值对组成的簇,每个键簇拥有相同键的所有数据值,键簇Ck被表示为Ck={k,vi|vi∈k},vi为键k所对应的数据值;当由给定Map阶段输出的K个键簇需要分配到r个Reducebuckets中,Map任务的输出为I={Ck|k∈K},设置bucket的容量为处理阶段的分区问题简化为装箱问题,将键簇看作是项,Reducebuckets为箱;给定拥有M个项的集合,A个箱子a1,a2,…,aA,每个箱子容量为Ci,可变容量平衡装箱问题即在满足以下条件的情况下将项分配到不同箱a1,a2,…,aA中:1对于任意aj,j∈[1,A],都有箱内的元组数小于箱的容量Cj;2对于任意aj,j∈[1,A],都有箱内不同项的个数大于等于M。

全文数据:

权利要求:

百度查询: 港珠澳大桥管理局;浙江大学 微批流处理系统中的数据分区方法、装置、设备和介质

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。