一种智能视频监控系统离线任务调度方法及装置的制造方法

文档序号:10654346阅读:488来源:国知局
一种智能视频监控系统离线任务调度方法及装置的制造方法
【专利摘要】本发明实施例公开了一种智能视频监控系统离线任务调度方法及装置,应用于视频监控系统中的服务器,所述视频监控系统还包含多个用于处理智能视频监控系统离线任务的处理器,预先建立针对所述处理器的处理能力模型;所述方法包括:接收智能视频监控系统离线任务请求,所述任务请求中包含至少一个待处理任务;计算每一待处理任务的加权时间长度;根据所述处理能力模型,计算每个处理器处理自身当前待处理所有任务所需的时间;根据所述加权时间长度以及所述时间,将所述任务请求中的待处理任务调度给处理器。利用本发明实施例,可以使处理器负载均衡。
【专利说明】
-种智能视频监控系统离线任务调度方法及装置
技术领域
[0001] 本发明设及智能视频监控系统离线任务技术领域,特别设及一种智能视频监控系 统离线任务调度方法及装置。
【背景技术】
[0002] 在面对大量的监控视频时,传统的离线视频处理系统,虽然使用了智能视频分析 (IVA)技术,由于单机计算能力的限制,通常无法满足在客户要求的时间内完成监控视频处 理任务,为此我们引入了分布式处理技术。在分布式计算中,任务管理、任务调度和资源管 理是系统的=大基本功能,其中任务调度是影响系统性能优劣的重要方面。任务调度是操 作系统的重要组成部分,而对于实时操作系统,任务调度直接影响其实时性能。任务调度算 法可分为事件:驱动调度算法,根据事件的先后W及任务的优先级安排任务的执行;时钟驱 动调度算法,一般用于周期任务。
[0003] 传统的分布式任务调度方法有Min-Min、Max-Min等。Min-Min调度算法的思想是尽 可能把每一个任务分配给最早可用且执行最快的处理器。Min-Min算法是基于最小完成时 间的,且在每一次映射中考虑的是全部未分配的任务由于每次都是把任务分配给执行最快 的处理器,运样很容易造成资源负载的严重不均衡,资源无法得到充分利用。
[0004] 传统的分布式任务调度方法大多是知识确定性算法,要求对系统资源和用户任务 有一个全局的确定的知识。由于智能视频处理任务的运行时间事先无法获知,并且智能视 频分析服务器(IVU)的处理能力随着时间的变化而变化,可见,传统分布式的任务调度方法 在运用于智能视频监控系统时,容易造成处理器集群负载不均衡、资源利用不充分,无法满 足现在的智能监控视频处理任务需求。

【发明内容】

[0005] 本发明实施例的目的在于提供一种智能视频监控系统离线任务调度方法及装置, W使处理器负载均衡。
[0006] 为达到上述目的,本发明实施例公开了一种智能视频监控系统离线任务调度方 法,应用于智能视频监控系统中的服务器,所述智能视频监控系统还包含多个用于处理智 能视频监控系统离线任务的处理器,预先建立针对所述处理器的处理能力模型,方法包括:
[0007] 接收智能视频监控系统离线任务请求,所述任务请求中包含至少一个待处理任 务;
[0008] 计算每一待处理任务的加权时间长度;
[0009] 根据所述处理能力模型,计算每个处理器处理自身当前待处理所有任务所需的时 间;
[0010] 根据所述加权时间长度W及所述时间,将所述任务请求中的待处理任务调度给处 理器。
[0011] 较佳的,所述处理能力模型为:
[0012]
[OOU]其中,所述Li为处理器i当前待处理的一个任务的加权时间长度,所述Vlast为预先 记录的处理器i的最新计算速度,所述5为处理器i处理能力的变化趋势,所述t为处理器i处 理该任务所需时间。
[0014] 较佳的,所述根据所述加权时间长度W及所述时间,将所述任务请求中的待处理 任务调度给处理器,包括:
[0015] 针对每个处理器,判断处理自身当前待处理所有任务所需时间是否不大于预设第 一阔值;
[0016] 如果是,将最大的加权时间长度对应的待处理任务,调度给所需时间最小的处理 器。
[0017] 较佳的,所述根据所述加权时间长度W及所述时间,将所述任务请求中的待处理 任务调度给处理器,还包括:
[0018] 在每个处理器处理自身当前待处理所有任务所需时间大于所述预设第一阔值的 情况下,计算最大所需时间与最小所需时间的差值;
[0019] 判断所述差值是否大于预设第二阔值;
[0020] 如果是,将与所述差值最接近的加权时间长度对应的任务,调度给最小所需时间 对应的处理器。
[0021 ]较佳的,所述加权时间长度为:
[0022]
[0023] 其中,所述化为每一待处理任务的加权时间长度,所述n为每一个所述任务包含的 数据块的个数,所述以为第i个所述数据块的时间长度,所述以=9。**,1£[1,11],所述9。为 第i个数据块对应的质量划分权值,所述t为所述数据块的终止时间与起始时间之差。
[0024] 为达到上述目的,本发明还公开了一种智能视频监控系统离线任务调度装置,应 用于智能视频监控系统中的服务器,所述智能视频监控系统还包含多个用于处理智能视频 监控系统离线任务的处理器,预先建立针对所述处理器的处理能力模型,装置包括:
[0025] 接收模块,用于接收智能视频监控系统离线任务请求,所述任务请求中包含至少 一个待处理任务;
[0026] 第一计算模块,用于计算每一待处理任务的加权时间长度;
[0027] 第二计算模块,用于根据所述处理能力模型,计算每个处理器处理自身当前待处 理所有任务所需的时间;
[0028] 调度模块,用于根据所述加权时间长度W及所述时间,将所述任务请求中的待处 理任务调度给处理器。
[0029] 较佳的,所述处理能力模型为:
[0030]
[0031] 其中,所述Jl,为处理器i当前待处理的一个任务的加权时间长度,所述Vlast为预先 记录的处理器i的最新计算速度,所述a为处理器i处理能力的变化趋势,所述t为处理器i 处理该任务所需时间。
[0032] 较佳的,所述调度模块,包括:
[0033] 第一判断单元,用于针对每个处理器,判断处理自身当前待处理所有任务所需时 间是否不大于预设第一阔值;
[0034] 第一调度单元,用于在所述第一判断单元判断结果为是的情况下,将最大的加权 时间长度对应的待处理任务,调度给所需时间最小的处理器。
[0035] 较佳的,所述调度模块,还包括:
[0036] 计算单元,用于在每个处理器处理自身当前待处理所有任务所需时间大于所述预 设第一阔值的情况下,计算最大所需时间与最小所需时间的差值;
[0037] 第二判断单元,用于判断所述差值是否大于预设第二阔值;
[0038] 第二调度单元,用于在所述第二判断单元判断结果为是的情况下,将与所述差值 最接近的加权时间长度对应的任务,调度给最小所需时间对应的处理器。
[0039] 巧住的.所沐加权时间长度为:
[0040]
[0041] 其中,所述化为每一待处理任务的加权时间长度,所述n为每一个所述任务包含的 数据块的个数,所述以为第i个所述数据块的时间长度,所述以=9。**,1£[1,11],所述9。为 第i个数据块对应的质量划分权值,所述t为所述数据块的终止时间与起始时间之差。
[0042] 由上述的技术方案可见,本发明实施例提供的一种智能视频监控系统离线任务调 度方法及装置,接收智能视频监控系统离线任务请求,所述任务请求中包含至少一个待处 理任务;计算每一待处理任务的加权时间长度;根据所述处理能力模型,计算每个处理器处 理自身当前待处理所有任务所需的时间;根据所述加权时间长度W及所述时间,将所述任 务请求中的待处理任务调度给处理器。
[0043] 可见,预先建立针对所述处理器的处理能力模型,根据所述模型进行任务调度,可 W使得处理器负载平衡,充分利用处理器资源,高效地处理任务,充分发挥分布式计算的优 势。
[0044] 当然,实施本发明的任一产品或方法必不一定需要同时达到W上所述的所有优 点。
【附图说明】
[0045] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W 根据运些附图获得其他的附图。
[0046] 图1为本发明实施例提供的一种智能视频监控系统离线任务调度方法的流程示意 图;
[0047] 图2为本发明实施例提供的一种智能视频监控系统离线任务调度装置的结构示意 图。
【具体实施方式】
[0048] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0049] 本发明实施例公开了一种智能视频监控系统离线任务调度方法及装置,W下分别 进行详细说明。
[0050] 需要说明的是,本发明实施例优选适用于智能视频监控系统中的服务器,在实际 应用中,智能视频监控系统还包含多个用于处理智能视频监控系统离线任务的处理器,预 先建立针对处理器的处理能力模型。
[0051 ]参见图1,图1为本发明实施例提供的一种智能视频监控系统离线任务调度方法的 流程示意图,包括如下步骤:
[0052] SlOl,接收智能视频监控系统离线任务请求,所述任务请求中包含至少一个待处 理任务;
[0053] 其中,待处理任务为待处理的智能视频监控系统离线任务。
[0054] 其中,服务器可W为:智能视频处理算法调度服务器,处理器可W为:智能视频分 析服务器(IVU),任务请求可W为:智能视频监控系统离线任务和用户的处理请求。
[0055] 在一个具体实现方式中,用户提交一部智能监控视频和处理请求。根据用户的处 理请求,将智能视频划分为若干个数据块例如,为避免IVU之间的通信,将多个相关的数据 块组成一个智能视频监控系统离线任务,例如将视频划分为39个数据块,从视频开头至结 尾,依次相邻的3个数据块组成一个任务,共13个任务。服务器接收任务请求,任务请求中包 含13个待处理的智能视频监控系统离线任务。
[0056] S102,计算每一待处理任务的加权时间长度;
[0057] 其中,每一待处理任务的加权时间长度为:
[0化引
[0059] 其中Jl为每一待处理任务的加权时间长度,n为每一个待处理任务包含的数据块 的个数,L功第i个数据块的加权时间长度,Li = qm*t,i E [ 1,n ],Qm为第i个数据块对应的质 量划分初始权值,t为数据块的终止时间与起始时间之差。在实际应用中,可W根据用户的 处理请求,将智能监控视频进行质量划分,进而得到每个数据块的质量划分初始权值。
[0060] S103,根据所述处理能力模型,计算每个处理器处理自身当前待处理所有任务所 需的时间;
[0061] 其中,针对处理器的处理能力模型为:
[0062]
[0063] 其中,心1为处理器i当前待处理的一个任务的加权时间长度,Vlast为预先记录的处 理器i的最新计算速度,S为处理器i处理能力的变化趋势,t为处理器i处理该任务所需时 间。
[0064] 在实际应用中,根据预先建立的处理能力模型,可W计算出处理器i处理自身当前 待处理所有任务中每一个任务所需的时间,进而得到处理器i处理自身当前待处理所有任 务所需的时间。
[0065] 其中,预先建立针对处理器的处理能力模型的过程可W为:
[0066] 在首次接收用户提交的智能视频监控系统离线任务处理请求后,计算每个待处理 任务的加权时间长度,按照大小顺序,将每一个任务加入到任务队列中,在实际应用中,任 务队列可有可无,具体W实现能够建立处理能力模型为准;
[0067] 服务器将任务队列中前ri*T个任务调度给T个处理器处理,每处理完一个智能视频 监控系统离线任务,处理器将实际处理时间反馈给服务器,其中,n为正偶整数阔值,控制首 次调度任务的数量,可根据待处理任务的总数自行设置,例如:将前9个任务调度给3个处理 器A、B和C处理,每个处理器包含3个任务;
[0068] 根据任务的加权时间长度和处理所需的实际处理时间,建立n元一次方程组,方程 组为:
[0069]
[0070]
[0071]
[0072] 其中,Tn为处理器处理第n个任务所需的实际处理时间,tnn是第n个任务中的第n个 数据块的起止时间差。
[0073] n元一次方程组的解为:
[0074]
[00对 Cl点、Cn-r是n元一次方程组的基础解系,r = ;r(D);
[0076] 计算出每个视频质量划分qm的精确权值,并为每个qm设置一个集合用来保存每次 计算的结果,并将集合中数据的平均值作为qm的精确权值;
[0077] 计算每个处理器的处理速度V,将处理器最新=次的处理速度放入集合M中,其中, ¥ =化/1',所述1={¥1:1,¥12,¥13},1:1、12、13表示计算所述处理速度时所处的时刻,1'为处理器 处理一个任务所需的实际处理时间;
[0078] 根据集合M,计算每一个处理器的处理加速度a,作为处理器处理能力的变化趋势;
[0079] 根据任务的加权时间长度、处理器的处理速度和处理加速度,建立针对每一个处 理器的处理能力模型。
[0080] S104,根据所述加权时间长度W及所述时间,将所述任务请求中的待处理任务调 度给处理器。
[0081] 具体的,根据所述加权时间长度W及所述时间,将所述任务请求中的待处理任务 调度给处理器,可W针对每个处理器,判断处理自身当前待处理所有任务所需时间是否不 大于预设第一阔值;如果是,如果服务器中还有未调度给处理器的待处理任务,将最大的加 权时间长度对应的待处理任务,调度给所需时间最小处理器。
[0082] 具体的,在实际应用中,在每个处理器处理自身当前待处理所有任务所需时间大 于预设第一阔值的情况下,还可W计算最大所需时间与最小所需时间的差值;判断该差值 是否大于预设第二阔值;如果是,如果服务器中还有未调度给处理器的待处理任务,将与该 差值最接近的加权时间长度对应的任务,调度给最小所需时间对应的处理器。
[0083] 示例性的,在一个具体实现方式中,视频监控系统包含3个用于处理视频任务的处 理器A、B、C,对应的处理所有任务所需时间分别为10s、15s、18s,预设第一阔值为13s,预设 第二阔值为6s。服务器中还有未调度的待处理任务1、2、3和4,对应的加权时间长度分别为 12s、7.5s、9s和10s。针对处理器A所需时间不大于预设第一阔值,则服务器将加权时间长度 最大的任务1调度给处理器A处理;针对处理器B所需时间大于预设第一阔值,计算最大所需 时间18s与最小所需时间IOs之差为8s,该差值大于预设第二阔值,服务器中还有未调度的 待处理任务2、3和4,可知待处理任务2的加权时间长度7.5s最接近差值8s,则服务器将未调 度的待处理任务2调度给处理器B处理;针对处理器C所需时间大于预设第一阔值,计算最大 任务时间18s与最小任务时间IOs之差为8s,该差值大于预设第二阔值,服务器中还有未调 度的待处理任务3和4,对应的加权时间长度分别为9s和10s,可知待处理任务3的加权时间 长度最接近差值,则服务器将未调度的待处理任务3调度给处理器C处理。继续执行下一轮 调度,直到服务器中没有未调度的待处理任务。
[0084] 可见,预先建立针对处理器的处理能力模型,根据处理能力模型进行任务调度,可 W使得处理器负载平衡,充分利用处理器资源,高效地处理任务,充分发挥分布式计算的优 势。
[0085] 参见图2,图2为本发明实施例提供的一种智能视频监控系统离线任务调度装置的 结构示意图,该任务调度装置应用于智能视频监控系统中的服务器,所述智能视频监控系 统还包含多个用于处理智能视频监控系统离线任务的处理器,预先建立针对所述处理器的 处理能力模型,与图1所示的流程相对应,该任务调度装置可W包括接收模块201、第一计算 模块202、第二计算模块203、调度模块204。
[0086] 其中,接收模块201,用于接收智能视频监控系统离线任务请求,所述任务请求中 包含至少一个待处理任务.
[0087] 第一计算模块202,用于计算每一待处理任务的加权时间长度;
[0088] 第二计算模块203,用于根据所述处理能力模型,计算每个处理器处理自身当前待 处理所有任务所需的时间;
[0089] 调度模块204,用于根据所述加权时间长度W及所述时间,将所述任务请求中的待 处理任务调度给处理器。
[0090] 具体的,所述处理能力模型为:
[0091]
[0092] 其中,Jti为处理器i当前待处理的一个任务的加权时间长度,Vlast为预先记录的处 理器i的最新计算速度,5为处理器i处理能力的变化趋势,t为处理器i处理该任务所需时 间。
[0093] 具体的,所述调度模块,可W包括:第一判断单元和第一调度单元(图中未示出);
[0094] 第一判断单元,用于针对每个处理器,判断处理自身当前待处理所有任务所需时 间是否不大于预设第一阔值;
[0095] 第一调度单元,用于在所述第一判断单元判断结果为是的情况下,将最大的加权 时间长度对应的待处理任务,调度给所需时间最小的处理器。
[0096] 具体的,所述调度模块,还可W包括:计算单元、第二判断单元和第二调度单元(图 中未示出);
[0097] 计算单元,用于在每个处理器处理自身当前待处理所有任务所需时间大于所述预 设第一阔值的情况下,计算最大所需时间与最小所需时间的差值;
[0098] 第二判断单元,用于判断所述差值是否大于预设第二阔值;
[0099] 第二调度单元,用于在所述第二判断单元判断结果为是的情况下,将与所述差值 最接近的加权时间长度对应的任务,调度给最小所需时间对应的处理器。
[0100] 具体的,所述加权时间长度为:
[0101]
[0102] 其中,所述化为所述n为每一个所述任务包含的数据块的个数,所述k为第i个所述 数据块的时间长度,所述以=9。**,1£[1,11],所述9。为第1个数据块对应的质量划分权值, 所述t为所述数据块的终止时间与起始时间之差。
[0103] 可见,预先建立针对所述处理器的处理能力模型,根据所述模型进行任务调度,可 W使得处理器负载平衡,充分利用处理器资源,高效地处理任务,充分发挥分布式计算的优 势。
[0104] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实 体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示运些实体或操作之间存 在任何运种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意在涵盖 非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要 素,而且还包括没有明确列出的其他要素,或者是还包括为运种过程、方法、物品或者设备 所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除在 包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0105] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部 分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实 施例而言,由于其基本相似于方法实施例,所W描述的比较简单,相关之处参见方法实施例 的部分说明即可。
[0106] 本领域普通技术人员可W理解实现上述方法实施方式中的全部或部分步骤是可 W通过程序来指令相关的硬件来完成,所述的程序可W存储于计算机可读取存储介质中, 运里所称得的存储介质,如:R0M/RAM、磁碟、光盘等。
[0107] W上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围 内。
【主权项】
1. 一种智能视频监控系统离线任务调度方法,应用于智能视频监控系统中的服务器, 其特征在于,所述智能视频监控系统还包含多个用于处理智能视频监控系统离线任务的处 理器,预先建立针对所述处理器的处理能力模型;所述方法包括: 接收智能视频监控系统离线任务请求,所述任务请求中包含至少一个待处理任务; 计算每一待处理任务的加权时间长度; 根据所述处理能力模型,计算每个处理器处理自身当前待处理所有任务所需的时间; 根据所述加权时间长度以及所述时间,将所述任务请求中的待处理任务调度给处理 器。2. 根据权利要求1所述的方法,其特征在于,所述处理能力模型为:其中,JkS处理器i当前待处理的一个任务的加权时间长度,Vlast为预先记录的处理器 i的最新计算速度,瓦为处理器i处理能力的变化趋势,t为处理器i处理该任务所需时间。3. 根据权利要求1所述的方法,其特征在于,所述根据所述加权时间长度以及所述时 间,将所述任务请求中的待处理任务调度给处理器,包括: 针对每个处理器,判断处理自身当前待处理所有任务所需时间是否不大于预设第一阈 值; 如果是,将最大的加权时间长度对应的待处理任务,调度给所需时间最小的处理器。4. 根据权利要求3所述的方法,其特征在于,所述根据所述加权时间长度以及所述时 间,将所述任务请求中的待处理任务调度给处理器,还包括: 在每个处理器处理自身当前待处理所有任务所需时间大于所述预设第一阈值的情况 下,计算最大所需时间与最小所需时间的差值; 判断所述差值是否大于预设第二阈值; 如果是,将与所述差值最接近的加权时间长度对应的任务,调度给最小所需时间对应 的处理器。5. 根据权利要求1所述的方法,其特征在于,所述加权时间长度为:其中,所述Jl为每一待处理任务的加权时间长度,所述η为每一个所述任务包含的数据 块的个数,所述L1为第i个所述数据块的时间长度,所述L1 = Ci^t, ie[l,n],所述qm为第i个 数据块对应的质量划分权值,所述t为所述数据块的终止时间与起始时间之差。6. -种智能视频监控系统离线任务调度装置,应用于智能视频监控系统中的服务器, 其特征在于,所述智能视频监控系统还包含多个用于处理智能视频监控系统离线任务的处 理器,预先建立针对所述处理器的处理能力模型;所述装置包括: 接收模块,用于接收智能视频监控系统离线任务请求,所述任务请求中包含至少一个 待处理任务; 第一计算模块,用于计算每一待处理任务的加权时间长度; 第二计算模块,用于根据所述处理能力模型,计算每个处理器处理自身当前待处理所 有任务所需的时间; 调度模块,用于根据所述加权时间长度以及所述时间,将所述任务请求中的待处理任 务调度给处理器。7. 根据权利要求6所述的装置,其特征在于,所述处理能力模型为: 其中,\为处理器i当前i、」,八η.」,^ h/^C,V last为预先记录的处理器 i的最新计算速度A为处理器i处理能力的变化趋势,t为处理器i处理该任务所需时间。8. 根据权利要求6所述的装置,其特征在于,所述调度模块,包括: 第一判断单元,用于针对每个处理器,判断处理自身当前待处理所有任务所需时间是 否不大于预设第一阈值; 第一调度单元,用于在所述第一判断单元判断结果为是的情况下,将最大的加权时间 长度对应的待处理任务,调度给所需时间最小的处理器。9. 根据权利要求8所述的装置,其特征在于,所述调度模块,还包括: 计算单元,用于在每个处理器处理自身当前待处理所有任务所需时间大于所述预设第 一阈值的情况下,计算最大所需时间与最小所需时间的差值; 第二判断单元,用于判断所述差值是否大于预设第二阈值; 第二调度单元,用于在所述第二判断单元判断结果为是的情况下,将与所述差值最接 近的加权时间长度对应的任务,调度给最小所需时间对应的处理器。10. 根据权利要求6所述的装置,其特征在于,所述加权时间长度为:其中,所述Jl为每一待处理任务的加权时间长度,所述η为每一个所述任务包含的数据 块的个数,所述L1为第i个所述数据块的时间长度,所述L1 = Ci^t, ie[l,n],所述qm为第i个 数据块对应的质量划分权值,所述t为所述数据块的终止时间与起始时间之差。
【文档编号】G06F9/50GK106020988SQ201610391312
【公开日】2016年10月12日
【申请日】2016年6月3日
【发明人】张海涛, 马华东, 李文生, 许彬, 严瑾
【申请人】北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1