利索能及
我要发布
收藏
专利号: 2016108302225
申请人: 杭州海康威视数字技术股份有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2025-11-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种实时任务调度方法,其特征在于,包括:

当接收到任务执行请求时,获取所述任务执行请求所携带的待处理的目标任务,并确定所述目标任务占用的内存大小;

存储所述目标任务至第一队列的第一数据区域中,其中,所述第一队列包括空闲的数据区域和/或已占用的数据区域,所述第一数据区域为区域大小与所述目标任务占用的内存大小相匹配的任一空闲的数据区域,所述已占用的数据区域为已存储有待处理的任务的数据区域;

监测所述第一队列中已占用的数据区域的区域大小是否满足预定区域大小,或者,监测所述第一队列中已占用的数据区域存储的任务类别是否满足预定任务类别;

当所述第一队列中已占用的数据区域的区域大小满足预定区域大小,或者,所述第一队列中已占用的数据区域存储的任务类别满足预定任务类别时,将所述第一队列中已占用的数据区域迁移至第二队列中;

执行所述第二队列中的数据区域所存储的任务;

当所述第二队列中存在所存储任务被执行完毕的数据区域时,将所存储任务被执行完毕的数据区域进行任务清除,将任务清除后得到的空闲的数据区域迁移至所述第一队列中。

2.根据权利要求1所述的方法,其特征在于,所述监测所述第一队列中已占用的数据区域的区域大小是否满足预定区域大小,包括:监测所述第一队列中已占用的数据区域的区域大小占所述第一队列中所有数据区域的区域大小的比例值是否大于预设值。

3.根据权利要求1或2所述的实时任务调度方法,其特征在于,所述第一队列中的各个数据区域的区域大小不大于32MB,且为2MB的倍数。

4.根据权利要求1或2所述的实时任务调度方法,其特征在于,还包括:当将所述目标任务存储至第一队列的第一数据区域中失败时,将所述第一数据区域对应的物理内存地址存储至第三队列,并锁定所述第一数据区域;

将所述目标任务存储至所述第一队列的第二数据区域中,其中,所述第二数据区域为所述第一队列中除所述第一数据以外的区域大小与所述目标任务占用的内存大小相匹配的任一空闲的数据区域。

5.根据权利要求1或2所述的实时任务调度方法,其特征在于,所述第一队列中的各个数据区域包括头部部分及内容部分,其中,所述头部部分用于存储任务的标识符及完成率,所述内容部分用于存储任务的任务信息。

6.根据权利要求5所述的实时任务调度方法,其特征在于,所述存储所述目标任务至第一队列的第一数据区域中,包括:存储所述目标任务的标识符至所述第一数据区域的头部部分;

设置所述目标任务的完成率为0%,并存储所述完成率至所述第一数据区域的头部部分;

存储所述目标任务的任务信息至所述第一数据区域的内容部分。

7.根据权利要求6所述的实时任务调度方法,其特征在于,还包括:在执行迁移至所述第二队列中的数据区域所存储的任务时,实时更新被执行任务所对应数据区域的头部部分中的完成率;

监测所述第二队列的数据区域的头部部分中的完成率是否为100%;

将所对应完成率为100%的数据区域确定为任务被执行完毕的数据区域。

8.一种实时任务调度装置,其特征在于,包括:

任务获取模块,用于当接收到任务执行请求时,获取所述任务执行请求所携带的待处理的目标任务,并确定所述目标任务占用的内存大小;

第一存储模块,用于存储所述目标任务至第一队列的第一数据区域中,其中,所述第一队列包括空闲的数据区域和/或已占用的数据区域,所述第一数据区域为区域大小与所述目标任务占用的内存大小相匹配的任一空闲的数据区域,所述已占用的数据区域为已存储有待处理的任务的数据区域;

第一监测模块,用于监测所述第一队列中已占用的数据区域的区域大小是否满足预定区域大小,或者,监测所述第一队列中已占用的数据区域存储的任务类别是否满足预定任务类别;

迁移模块,用于当所述第一队列中已占用的数据区域的区域大小满足预定区域大小,或者,所述第一队列中已占用的数据区域存储的任务类别满足预定任务类别时,将所述第一队列中已占用的数据区域迁移至第二队列中;

任务执行模块,用于执行所述第二队列中的数据区域所存储的任务;

任务清除模块,用于当所述第二队列中存在所存储任务被执行完毕的数据区域时,将所存储任务被执行完毕的数据区域进行任务清除,将任务清除后得到的空闲的数据区域迁移至所述第一队列中。

9.根据权利要求8所述的实时任务调度装置,其特征在于,所述第一队列监测模块具体用于:监测所述第一队列中已占用的数据区域的区域大小占所述第一队列中所有数据区域的区域大小的比例值是否大于预设值。

10.根据权利要求8或9所述的实时任务调度装置,其特征在于,所述第一队列中的各个数据区域的区域大小不大于32MB,且为2MB的倍数。

11.根据权利要求8或9所述的实时任务调度装置,其特征在于,还包括:第二存储模块,用于当将所述目标任务存储至第一队列的第一数据区域中失败时,将所述第一数据区域对应的物理内存地址存储至第三队列,并锁定所述第一数据区域;

第三存储模块,用于将所述目标任务存储至所述第一队列的第二数据区域中,其中,所述第二数据区域为所述第一队列中除所述第一数据以外的区域大小与所述目标任务占用的内存大小相匹配的任一空闲的数据区域。

12.根据权利要求8或9所述的实时任务调度装置,其特征在于,所述第一队列中的各个数据区域包括头部部分及内容部分,其中,所述头部部分用于存储任务的标识符及完成率,所述内容部分用于存储任务的任务信息。

13.根据权利要求12所述的实时任务调度装置,其特征在于,所述目标任务第一存储模块包括:第一存储子模块,用于存储所述目标任务的标识符至所述第一数据区域的头部部分;

第二存储子模块,用于设置所述目标任务的完成率为0%,并存储所述完成率至所述第一数据区域的头部部分;

第三存储子模块,用于存储所述目标任务的任务信息至所述第一数据区域的内容部分。

14.根据权利要求13所述的实时任务调度装置,其特征在于,还包括:更新模块,用于在执行迁移至所述第二队列中的数据区域所存储的任务时,实时更新被执行任务所对应数据区域的头部部分中的完成率;

第二监测模块,用于监测所述第二队列的数据区域的头部部分中的完成率是否为

100%;

确定模块,用于将所对应完成率为100%的数据区域确定为任务被执行完毕的数据区域。