[发明专利]一种面向实时流计算的无感知拓扑替换方法有效
申请号: | 201710145598.7 | 申请日: | 2017-03-13 |
公开(公告)号: | CN107092649B | 公开(公告)日: | 2021-04-06 |
发明(设计)人: | 陆佳炜;陈烘;马俊;肖刚;张元鸣;高飞;李杰;卢成炳 | 申请(专利权)人: | 浙江工业大学 |
主分类号: | G06F16/901 | 分类号: | G06F16/901 |
代理公司: | 杭州斯可睿专利事务所有限公司 33241 | 代理人: | 王利强 |
地址: | 310014 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 实时 计算 感知 拓扑 替换 方法 | ||
1.一种面向实时流计算的无感知拓扑替换方法,其特征在于:包括以下步骤:
步骤(1)初始化一个头尾相连的环形队列ringBuffer,其长度设置为length;
步骤(2)获取当前时间窗口内拓扑中数据计算失败的数量failNum;
步骤(3)遍历ringBuffer队列,对于ringBuffer中的每一个元素ringBuffer(i),E(M)=E(M)+ringBuffer(i);其中E(M)初始值为0,代表ringBuffer所有时间窗口内数据计算失败数量的均值;
步骤(4)E(M)=E(M)/A;其中A指的是当前ringBuffer中有效的TW个数;
步骤(5)遍历ringBuffer队列,对于ringBuffer中的每一个元素ringBuffer(i),S2=S2+(ringBuffer(k)-E(M))2*Wt(i),其中S2为加权离散率,Wt(i)为系统预设的时间窗口权值,取值为[0.5,1];
步骤(6)S2=S2/A;
步骤(7)判断S2值是否大于C,若是则进行步骤(8),否则结束,无需进行拓扑替换,C为系统预设的离散率阈值;
步骤(8)判断failNum是否大于E(M),若大于则进行步骤(9),否则进行步骤(10);
步骤(9)对当前的拓扑进行扩容替换,其过程如下:
9.1)获取当前拓扑的并发度currentParallelism;
9.2)在实时计算系统中复制一个当前拓扑的副本newTopology,将其并发度设置为currentParallelism*2,进行步骤(11);
步骤(10)对当前拓扑进行缩容替换,其过程如下:
10.1)获取当前拓扑的并发度currentParallelism;
10.2)实时计算系统中复制一个当前拓扑的副本newTopology,将其并发度设置为currentParallelism/2,进行步骤(11);
步骤(11)对当前Topology中的Task索引进行重新计算;
步骤(12)初始化newTopology,按照索引分配Task所在的Worker Node,等待原Topology数据处理完成之后再开始执行,此时新到达的数据会流入newTopology;
所述步骤(1)中,所述环形队列ringBuffer是一个循环使用的无限队列,ringBuffer中的每一个元素是一个时间窗口TW,时间窗口的长度记为TWL,TW数据收集完成指的是该时间窗口成功收集到时间窗口长度内数据计算失败的数量,数据收集完成的TW也称为有效TW,由此得出ringBuffer记录的时间窗口的长度为length*TWL,ringBuffer会随时间变化无限地向后推移,它记录的时间区间是[当前时间-length*TWL,当前时间]。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710145598.7/1.html,转载请声明来源钻瓜专利网。