欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2017101409635
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 电通信技术
更新日期:2023-12-11
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

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’。