[发明专利]任务处理前等待时间的确定方法及装置在审
申请号: | 202111216576.8 | 申请日: | 2021-10-19 |
公开(公告)号: | CN113886187A | 公开(公告)日: | 2022-01-04 |
发明(设计)人: | 林明明 | 申请(专利权)人: | 北京达佳互联信息技术有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F9/48 |
代理公司: | 北京铭硕知识产权代理有限公司 11286 | 代理人: | 王艳茹;苏银虹 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 处理 等待时间 确定 方法 装置 | ||
本公开关于一种任务处理前等待时间的确定方法及装置。任务处理前等待时间的确定方法包括:确定任务列表中的预定任务的优先级;确定预定任务的优先级在服务器中所属的当前优先级分支,其中,服务器中以树状数组的形式存储任务列表对应的所有优先级;获取服务器中与当前优先级分支属于同一父节点的预定优先级分支上的最大优先级,其中,预定优先级分支上除父节点的优先级以外的所有节点的优先级均小于当前优先级分支上节点的优先级;通过将预定优先级分支上的最大优先级的节点对应的任务数求和,获取任务列表中处理顺序在预定任务之前的任务总数;基于任务总数,确定预定任务处理前的等待时间。
技术领域
本公开涉及实时任务处理领域,尤其涉及一种任务处理前等待时间的确定方法及装置。
背景技术
在实时任务处理系统中,常常对大量待执行的任务设置若干个优先级,在按优先级执行的过程中,需要实时获取某个任务的等待时间(即还需要等待多久才能开始执行)。一般来说,每个任务的执行时间约为1分钟,因此需要知道优先级排在该任务的优先级前面的任务总数,才能求出对应的等待时间。
目前,以任务列表的方式存储每个优先级对应的任务的数量,但是由于任务的数量会随时变化,如新增一个优先级为6的任务时,那么,排在6后面的每个优先级,其前面所有优先级的任务总数,也即前缀和s[6],s[7],s[8],...,s[n]都需要重新计算;同理,当删除一个优先级为6的任务,也需要重新计算s[x](6=x=n)的所有元素,上述算法复杂度是线性的,也就是线性级别的时间复杂度O(n),因为n=10000,可见相关技术中获取前缀和的方式是个比较耗时的操作,无法应用到生产环境中。
发明内容
本公开提供一种任务处理前等待时间的确定方法及装置,以至少解决相关技术中获取前缀和的方式时间成本大的问题。
根据本公开实施例的第一方面,提供一种任务处理前等待时间的确定方法,包括:确定任务列表中的预定任务的优先级;确定预定任务的优先级在服务器中所属的当前优先级分支,其中,服务器中以树状数组的形式存储任务列表对应的所有优先级;获取服务器中与当前优先级分支属于同一父节点的预定优先级分支上的最大优先级,其中,预定优先级分支上除父节点的优先级以外的所有节点的优先级均小于当前优先级分支上节点的优先级;通过将预定优先级分支上的最大优先级的节点对应的任务数求和,获取任务列表中处理顺序在预定任务之前的任务总数;基于任务总数,确定预定任务处理前的等待时间。
可选地,在获取任务列表中处理顺序在预定任务之前的任务总数之后,还包括:确定预定任务的优先级对应的任务的数量变化预定个数;获取当前优先级分支上大于预定任务的优先级的目标优先级;将预定任务的优先级和目标优先级中每个优先级的节点对应的任务数替换为对应的预定值,其中,对应的预定值是基于预定任务的优先级和目标优先级的节点对应的任务数分别和预定个数得到的。
可选地,在服务器为Redis服务器的情况下,获取服务器中与当前优先级分支属于同一父节点的预定优先级分支上的最大优先级之后,还包括:在Redis服务器中每个最大优先级对应的比特位处,获取最大优先级的节点对应的任务数。
可选地,在Redis服务器中每个最大优先级对应的比特位处,获取最大优先级的节点对应的任务数,包括:通过bitmap的BITFIELD命令,在Redis服务器中每个最大优先级对应的比特位处,获取最大优先级的节点对应的任务数。
可选地,在服务器为Redis服务器的情况下,将预定任务的优先级和目标优先级中每个优先级的节点对应的任务数替换为对应的预定值,包括:在Redis服务器中预定任务的优先级和目标优先级中每个优先级对应的比特位处的任务数替换为对应的预定值。
可选地,在Redis服务器中预定任务的优先级和目标优先级中每个优先级对应的比特位处的任务数替换为对应的预定值,包括:通过bitmap的INCRBY命令,在Redis服务器中预定任务的优先级和目标优先级中每个优先级对应的比特位处的任务数替换为对应的预定值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京达佳互联信息技术有限公司,未经北京达佳互联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111216576.8/2.html,转载请声明来源钻瓜专利网。