[发明专利]一种面向实时流计算的动态逐级反压方法有效
申请号: | 201710140963.5 | 申请日: | 2017-03-10 |
公开(公告)号: | CN107040476B | 公开(公告)日: | 2020-05-05 |
发明(设计)人: | 陆佳炜;陈烘;马俊;肖刚;张元鸣;高飞;李杰;卢成炳 | 申请(专利权)人: | 浙江工业大学 |
主分类号: | H04L12/803 | 分类号: | H04L12/803;H04L12/24;G06F9/52 |
代理公司: | 杭州斯可睿专利事务所有限公司 33241 | 代理人: | 王利强 |
地址: | 310014 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 实时 计算 动态 逐级 方法 | ||
1.一种面向实时流计算的动态逐级反压方法,其特征在于:包括以下步骤:
步骤(1)遍历当前需要进行反压的任务Task集合Ti;
步骤(2)若Ti为空,则结束,否则Ti取出下一个Taski并将其从Ti中移除;
步骤(3)判断Taski是否处于过载,若是进行步骤(4),否则进行步骤(9);
步骤(4)获取Taski的上游节点集合U;
步骤(5)判断U是否为空,若为空则返回步骤(2),否则U取出下一个Ui并将其从U中移除,并进行步骤(6);
步骤(6)判断Ui节点是否正在进行反压,若是返回步骤(5),否则进行步骤(7)~(8);
步骤(7)Ui节点的发射速度降为当前的V’,V’为系统预设的反压梯值;若Ui是第一次反压,则记录Ui的初始速度originV,并保存到Ui本地;
步骤(8)Ui节点将自身反压状态设置为True,返回步骤(5);
步骤(9)判断Taski是否负载过轻且持续sentivity,若是则进行步骤(10),否则进行步骤(2),sentivity为系统预设的敏感度值;
步骤(10)获取Taski的上游节点集合U;
步骤(11)若U为空,返回步骤(2),否则U取出下一个节点Ui并将其从U中移除;
步骤(12)判断Ui节点是否处于反压状态,若反压状态为True,则进行步骤(13),否则返回步骤(11);
步骤(13)Ui节点的发射速度降为当前的1/V’;
步骤(14)判断Ui是否恢复到最初始的速度originV,若是则进行步骤(15),否则进行步骤(11);
步骤(15)Ui节点将自身反压状态设置为False,返回步骤(11);
所述步骤(7)的过程如下:
7.1)将反压信号和Ui的taskid发送到send-queue队列,taskid是节点的唯一标识;
7.2)znode-create-handler线程获得send-queue的反压信号和taskid,根据消息内容在Zookeeper的/taskmessage目录下创建文件节点;
7.3)znode-delete-handler线程监听/taskmessage目录的文件节点,从文件节点内容读取反压信号和taskis并发送到trigger-queue队列,然后将该文件节点删除;
7.4)Ui订阅到trigger-queue,获取并删除与自身taskid相同的反压信号;
7.5)Ui节点的发射速度降为当前的V’,V’为系统预设的反压梯值;若是Ui第一次反压,则记录Ui的初始速度originV,并保存到Ui本地;
所述步骤(13)的过程如下:
13.1)将取消反压信号和Ui的taskid发送到send-queue队列;
13.1)znode-create-handler线程获得send-queue的取消反压信号和taskid,根据消息内容在Zookeeper的/taskmessage目录下创建文件节点;
13.2)znode-delete-handler线程监听/taskmessage目录的文件节点,从文件节点内容读取反压信号和taskis并发送到trigger-queue队列,然后将该文件节点删除;
13.3)Ui订阅到trigger-queue,获取并删除与自身taskid相同的取消反压信号;
13.4)Ui节点的发射速度降为当前的1/V’。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710140963.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种通用的高气密性纱窗系统
- 下一篇:一种折叠窗帘