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

基于自适应负载分区的弹性缩放流处理方法及系统 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:中南大学

摘要:本发明公开了一种基于自适应负载分区的弹性缩放流处理方法,包括基于Flink原型构建流处理系统;构建DKG模型用于分配数据到下游算子实例并管理实例中的计算状态;构建指标收集器模型收集和存储流处理系统的性能指标数据;共享性能指标数据;构建判别器模型用于计算弹性缩放策略实施因子和负载分区策略实施因子;构建对应的弹性缩放策略和负载分区策略;构建重配置控制器模块将策略应用到流处理系统中完成基于自适应负载分区的弹性缩放流处理。本发明还公开了实现所述基于自适应负载分区的弹性缩放流处理方法的系统。本发明能够在均衡和倾斜的数据流上实现较低的端到端处理延迟和较高的吞吐量,而且可靠性高、实施效果好且科学合理。

主权项:1.一种基于自适应负载分区的弹性缩放流处理方法,包括如下步骤:S1.基于Flink原型,以现有技术构建流处理系统;S2.基于步骤S1构建的流处理系统,构建DKG模型用于将数据分配到下游算子实例,并管理实例中的计算状态;S3.构建指标收集器模型,用于收集和存储流处理系统的性能指标数据;S4.将步骤S3存储的性能指标数据共享;S5.构建判别器模型,用于计算弹性缩放策略实施因子和负载分区策略实施因子;具体包括如下步骤:采用如下步骤计算得到弹性缩放策略实施因子:从Samba共享文件系统中读取性能指标数据;判别器读取每一个性能指标文件,并将文件中算子实例的速率信息添加到任务的拓扑结构中;在将全部的性能指标数据依据算子进行整合之后,计算每个算子的真实输入速率和平均真实处理速率;并采用真实输入速率与真实处理速率的比值向上取整作为最优的算子并行度;比较最优的算子并行度和当前的算子并行度,并计算得到弹性缩放策略实施因子:若最优的算子并行度和当前的算子并行度之间的差异总数超过设定阈值,则将弹性缩放策略实施因子设定为第一设定值,表示需要执行弹性缩放策略;若最优的算子并行度和当前的算子并行度之间的差异总数未超过设定阈值,则将弹性缩放策略实施因子设定为第二设定值,表示不改变当前的算子并行度;采用如下步骤计算得到负载分区策略实施因子:从全部的性能指标数据中筛选出逻辑分区下游的算子性能指标数据,并读取全部算子实例的性能指标数据,然后将性能指标文件中的观测处理速率求倒数作为算子实例的观测处理时间;获取最大的观测处理时间和最小的观测处理时间,并计算两者之间的差值作为负载失衡状态下最大等待时间;使用排队论方法计算负载均衡状态下的排队时间:将每个算子的实例建模成为GIG1排队模型,采用公式估算每个算子实例的平均排队时间,其中Tqueue为估算得到的每个算子实例的平均排队时间,ρ为利用率,ca为到达时间变异系数,cs为服务时间变异系数,Rture-proc为算子实例所对应的真实处理率;计算得到每个算子的负载失衡状态下最大等待时间和负载均衡状态下平均排队时间的差值,用于表示由于负载失衡产生的额外等待时间;将每个算子的平均利用率乘以额外等待时间,作为最终的额外等待时间判定值;统计负载分区的时间,并乘以一个设定的系数,作为最终的负载分区时间判定值;最后,对额外等待时间判定值和负载分区时间判定值进行大小判定:若额外等待时间判定值大于负载分区时间判定值,则将负载分区策略实施因子设定为第三设定值,表示需要执行负载分区策略;若额外等待时间判定值小于或等于负载分区时间判定值,则将负载分区策略实施因子设定为第四设定值,表示不需要执行负载分区策略;S6.根据步骤S5得到的弹性缩放策略实施因子和负载分区策略实施因子,构建对应的弹性缩放策略和负载分区策略;所述的弹性缩放策略,具体为采用如下步骤构建弹性缩放策略:获取性能指标数据;读取表示处理任务的有向无环图,并使用邻接链表的形式存储;使用拓扑排序算法得到任务从源算子到汇算子的算子排序;将源算子设定的期望输出速率作为下游第一个算子的输入速率,并计算算子的并行度P为Rtrue-input为真实输入速率;Rtrue-proc为真实处理速率;计算得到真实输出率Rtrue-output为其中Noutput为算子实例的输出数据的数量,Tuseful为用于数据处理的有效时间,并将真实输出率作为下游算子的真实输入率;不断迭代以上计算过程,从拓扑结构的源算子到汇算子,逐个计算算子的并行度;所述的负载分区策略,具体为采用如下步骤构建负载分区策略:获取性能指标数据;创建一个固定长度的哈希映射存储不同输入数据的频数,且哈希映射仅存储可能的热数据;同时,创建一个数组存储不同通道发送的数据量;当输入一条数据时,判断该数据是否已经记录在哈希映射上:若数据已经记录在哈希映射上,则将数据对应的频数增加1;若数据未记录在哈希映射上且哈希映射没有达到容量上限,则将数据记录到哈希映射上,并记录数据对应的频数为1;若数据未记录在哈希映射上且哈希映射达到容量上限,则将哈希映射记录的数据中频数最低的数据替换为当前的数据,并记录数据对应的频数加1;每输入一次数据,更新输入数据的数量;当输入的数量达到设定值时,将哈希映射记录的所有数据所对应的频数均按设定的比例缩小;每一次频数更新时,采用如下步骤计算当前的热数据:计算哈希映射中所有数据占全部输入数据量的频率Fkey表示数据的频率,Nkey表示哈希映射中数据的数量,Ntotal表示全部输入数据量;利用设置的参数,通过算式计算热数据阈值,θhot表示热数据阈值,P表示并行度,θdef表示用户定义的用于调整热数据阈值的参数;比较哈希映射中数据频率和热数据阈值的大小:数据频率超过热数据阈值的数据认为是热数据;对输入的数据进行判断:若输入的数据为热数据,则选择所有输出通道中已经输出的数据量最少的通道作为选中的输出通道;若输入的数据非热数据,则选择已设定的两个通道中发送数据最少的通道作为选中的通道;选中通道后,更新通道发送的数据量;S7.构建重配置控制器模块,用于将步骤S6得到的策略应用到流处理系统中,从而完成基于自适应负载分区的弹性缩放流处理。

全文数据:

权利要求:

百度查询: 中南大学 基于自适应负载分区的弹性缩放流处理方法及系统

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