[发明专利]一种估算任务耗时并限制队列长度的方法在审
| 申请号: | 202210058095.7 | 申请日: | 2022-01-19 | 
| 公开(公告)号: | CN114489980A | 公开(公告)日: | 2022-05-13 | 
| 发明(设计)人: | 蒋烁淼;周逸灵 | 申请(专利权)人: | 上海驻云信息科技有限公司 | 
| 主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F16/2455 | 
| 代理公司: | 北京中索知识产权代理有限公司 11640 | 代理人: | 高海涛 | 
| 地址: | 201203 上海市浦东新区中*** | 国省代码: | 上海;31 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 估算 任务 耗时 限制 队列 长度 方法 | ||
本发明提供一种估算任务耗时并限制队列长度的方法,包括以下步骤:设置预期队列响应时间为T;当前队列压力为P;系统接收新的任务请求,以任务名加序列化后的任务参数为Key,从Redis中获取预期任务耗时C;若P+C≤T则任务正常入队;若P+C>T则以(P+C−T)/T的拒绝概率拒绝任务入队;若P+C>2T则100%拒绝入队;系统将任务正常或者拒绝入队情况返回并提示用户。本发明使得任务队列可动态调整排队任务数量,允许短任务大量排队,长任务少量排队,实现整个队列中排队的任务都能在一定预期时间内得到处理;超过服务器负担的任务拒绝入队并提示用户,避免用户长时间等待迟迟没有结果的问题。
技术领域
本发明涉及计算机程序设计技术领域,具体而言,涉及一种估算任务耗时并限制队列长度的方法。
背景技术
对于存在任务队列的系统,待处理的任务会进入队列等待执行,系统会不断从队列中获取任务并执行。但当任务队列中的任务过多,每个任务处理时间过慢时,会导致后进入队列的任务迟迟得不到处理,甚至会超过有意义的时限。
比如支持用户生成并下载数据统计报表的系统,如果一时间有过多用户请求生成报表,先发起请求的用户如果数据量大处理时间长,那么会导致后发起请求的用户无论数据量大小都需要长时间的等待。
在以往的处理方式中,常见的是直接以队列的最大排队任务数量为限制,当队列中等待的任务数量超过设定值时,新进的任务一律拒绝,来保护系统队列。
这种处理方式相对比较粗放:
如果队列中的任务都是短任务,即使任务数量很多也能在较短时间内处理完,但是新进的任务却被拒绝了;
如果队列中的任务都是长任务,即使任务数量很少也会造成长时间堵塞;
如果队列中的任务同时存在短任务与长任务,那么队列执行时长难以预期。
发明内容
鉴于此,本发明的目的在于针对存在任务队列的系统动态调整队列中任务数量,保证队列中已经入队的任务在一定预期时间范围内都能得到处理;避免单纯限制队列长度时,短任务无法大批排队或长任务过多,导致后方任务排队时间过长的问题。
本发明通过估算任务耗时的方法,判断任务是否允许入队,达到动态调整任务队列排队长度的效果,可同时避免短任务无法入队或长任务占据队列的问题。
本发明提供一种估算任务耗时并限制队列长度的方法,包括以下步骤:
a1、设置预期队列中所有任务全部执行完毕的总耗时(预期队列响应时间)为T;当前队列中所有任务全部执行完毕的总耗时(当前队列压力)为P,P的初始状态为0;
a2、系统接收新的任务请求,以任务名加序列化后的任务参数(任务名+序列化后的任务参数)为Key,从Redis数据库中获取预期任务耗时C;
若Redis中不存在任务(即首次执行任务),则预期任务耗时C设置为1000;
a3、基于P + C 与 T的大小关系,判断所述任务正常或者拒绝加入队列;
若P + C = T,表示本次所述任务加入队列后,队列依然可以在T时间内处理完所有任务,则所述任务正常加入队列;
若P + C>T,表示本次所述任务加入队列后,队列可能无法在T时间内处理完所有任务,那么需要根据当前队列压力P计算比例来随机拒绝任务,则所述任务按照(P + C−T)/ T的拒绝概率拒绝任务加入队列;
若 P + C>2T,则所述任务100%被拒绝加入队列,避免队列在拥堵时继续有新任务入队;
a4、系统将所述任务的正常或者拒绝进入队列情况返回,并提示用户。
进一步地,所述a4步骤之后还包括以下步骤:
记录本次所述任务执行实际耗时C2;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海驻云信息科技有限公司,未经上海驻云信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210058095.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种履带式洗地组件
- 下一篇:冷轧机油雾过滤器滤网无害化清洗方法





