CN115150473A - 一种资源调度方法、装置及存储介质 - Google Patents
一种资源调度方法、装置及存储介质 Download PDFInfo
- Publication number
- CN115150473A CN115150473A CN202210635704.0A CN202210635704A CN115150473A CN 115150473 A CN115150473 A CN 115150473A CN 202210635704 A CN202210635704 A CN 202210635704A CN 115150473 A CN115150473 A CN 115150473A
- Authority
- CN
- China
- Prior art keywords
- analysis task
- task
- image analysis
- video
- speed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种资源调度方法、装置及存储介质,涉及数据处理领域,用以提高资源分配效率。方法包括:接收目标任务执行情况的反馈数据;其中,目标任务包括图像分析任务,反馈数据包括图像分析任务等待队列数据;当图像分析任务等待队列数据满足第一预设条件时,根据图像分析任务等待队列数据计算需要增加的计算资源;如果剩余资源小于需要增加的计算资源,则降低待分析图像的采集速度;当图像分析任务等待队列数据不满足第一预设条件且等待队列中的待分析图像的数量小于第一阈值时,则提升待分析图像的采集速度,或者,根据图像分析任务等待队列数据计算需要减少的计算资源;减少图像分析任务的计算资源。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种资源调度方法、装置及存储介质。
背景技术
目前市面上大多数成熟人工智能设备在对场景中的任务进行资源分配时,一般采取人工配置方法,人工配置不能准备把握资源使用的精确度,有时会分配太多,有时会分配不足导致需要多次分配,因此传统方法浪费人力的同时资源分配效率不高。
发明内容
本申请提供了一种资源调度方法、装置及存储介质,用于提高资源分配效率。
为实现上述技术目的,本申请采用如下技术方案:
第一方面,本申请实施例提供了一种资源调度方法,方法包括:接收目标任务执行情况的反馈数据;其中,目标任务包括图像分析任务,反馈数据包括图像分析任务等待队列数据;当图像分析任务等待队列数据满足第一预设条件时,根据图像分析任务等待队列数据计算需要增加的计算资源;如果剩余资源小于需要增加的计算资源,则降低待分析图像的采集速度;当图像分析任务等待队列数据不满足第一预设条件且等待队列中的待分析图像的数量小于第一阈值时,则提升待分析图像的采集速度,或者,根据图像分析任务等待队列数据计算需要减少的计算资源;减少图像分析任务的计算资源。
可以理解的是,当目标任务包括图像分析任务时,可以依据图像分析任务等待队列中待处理图像的数量,分析图像分析任务的计算资源情况,如果需要增加计算资源但后端设备剩余计算资源不够,为缓解资源不足的压力,可以降低待分析图像的采集速度;如果为图像分析任务分配的计算资源充足时,为提高资源利用率,可以提升待分析图像的采集速度,或者,将减少图像分析任务的计算资源避免资源浪费。该方法能够依据图像分析任务的资源实际使用情况,实现智能降低或提升图像采集速度,并对资源进行弹性调度,减少人工干预次数,避免浪费人力,提高资源分配效率。
在一种可能的实现方式中,如果剩余资源大于或等于需要增加的计算资源,则向图像分析任务分配需要增加的计算资源;或者,如果剩余资源小于需要增加的计算资源,则将剩余计算资源全部分配给图像分析任务。
可以理解的是,根据剩余资源的大小和需要增加资源的大小,来决定如何为图像分析任务增加计算资源,做到按需分配计算资源,使得资源分配更加合理。
在另一种可能的实现方式中,反馈数据还包括预先为图像分析任务分配的计算资源异常或不存在、预先为图像分析任务分配的计算资源的过载使用次数等于第三阈值和图像分析任务延时分析次数等于第四阈值中的至少一种时,该方法还包括:为图像分析任务分配预设数量的计算资源。
可以理解的是,当反馈数据中包含上述情况时,说明图像分析任务分配的计算资源可能存在不够的情况,因此,为缓解系统压力,后端设备为图像分析任务分配预设数量的计算资源,避免因资源不足影响的图像分析任务效率。
在另一种可能的实现方式中,反馈数据还包括图像分析任务的平均分析速度,当图像分析任务的平均分析速度满足第二预设条件时,方法还包括:提升待分析图像的采集速度。
可以理解的是,当图像分析任务的平均分析速度满足第二预设条件时,说明可能存在资源浪费情况,为避免资源浪费,可以提高待分析图像采集速度来提升图像分析任务的平均分析速度。
在另一种可能的实现方式中,上述目标任务还包括视频分析任务时,方法还包括:针对多个待处理视频分析任务中的任一视频分析任务,根据预先分配的视频流取流路数、以及已经执行任务的视频流取流路数,计算剩余视频流取流路数;当视频分析任务为非实时视频分析任务,且非实时视频分析任务具有预设的分析倍速时,根据分析倍速,以及剩余视频流取流路数,为视频分析任务分配取流路数。
可以理解的是,根据剩余视频取流路数,为视频分析任务分配取流路数,有效利用剩余资源,使得视频分析任务不会影响当前已经执行的任务的前提下,得以同步执行。
在另一种可能的实现方式中,根据分析倍速,以及剩余视频流取流路数,为视频分析任务分配取流路数,包括:当剩余视频流取流路数不能满足分析倍速所需的取流路数时,根据剩余视频流取流路数,确定非实时视频任务的最大实际分析倍速;根据剩余视频流取流路数、以及最大实际分析倍速,为视频分析任务分配取流路数。
可以理解的是,该实现方式能够基于剩余取流路数和最大实际分析倍速,为视频分析任务分配取流路数,实现智能限流,完成资源利用率最大化。
第二方面,本申请提供一种资源调度装置。该资源调度装置包括应用于第一方面或第一方面中任一种可能的设计方式的方法的各个模块。
第三方面,本申请提供一种资源调度装置,包括存储器和处理器。存储器和处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括计算机指令。当处理器执行该计算机指令时,使得该资源调度装置执行如第一方面及其任一种可能的设计方式的方法。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令。其中,当计算机指令在资源调度装置上运行时,使得该资源调度装置执行如第一方面及其任一种可能的设计方式的方法。
第五方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机指令。其中,当计算机指令在资源调度装置上运行时,使得该资源调度装置执行如第一方面及其任一种可能的设计方式的方法。
本申请中第二方面到第五方面及其各种实现方式的具体描述,可以参考第一方面及其各种实现方式中的详细描述;并且,第二方面到第五方面及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式中的有益效果分析,此处不再赘述。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种资源调度方法所涉及的实施环境示意图;
图2本申请实施例提供的一种资源调度方法应用于场景中的流程图;
图3为本申请实施例提供的一种资源调度方法的流程图;
图4为本申请实施例提供的另一种资源调度方法的流程图;
图5为本申请实施例提供的另一种资源调度方法的流程图;
图6为本申请实施例提供的一种资源调度方法的具体实施例示意图;
图7为本申请实施例提供的一种资源调度方法的界面图;
图8为本申请实施例提供的另一种资源调度方法的流程图;
图9为本申请实施例提供的一个示例的具体实施例图;
图10为本申请实施例提供的另一种资源调度方法的具体实施例示意图;
图11为本申请实施例提供的一种资源调度装置的结构示意图;
图12为本申请实施例提供的另一种资源调度装置的结构示意图。
具体实施方式
以下,术语“第一”、“第二”和“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”或“第三”等的特征可以明示或者隐含地包括一个或者更多个该特征。
目前市面上大多数成熟人工智能设备在对场景中的任务进行资源分配时,一般采取人工配置方法,人工配置不能准备把握资源使用的精确度,有时会分配太多,有时会分配不足导致需要多次分配,因此传统方法浪费人力的同时资源分配效率不高。
基于此,本申请实施例提供了一种资源调度方法,该方法基于目标任务执行情况的反馈数据,自适应的对目标任务执行速度进行调节以及对资源进行弹性调度。当反馈的数据中包含图像分析任务等待队列数据满足第一预设条件时,计算图像分析任务需要增加的计算资源,如果后端设备剩余计算资源小于该图像分析任务需要的计算资源时,可以降低待分析图像的采集速度;当图像分析任务等待队列数据不满足第一预设条件等待队列中的待分析图像的数量小于第一阈值时,可以基于优先设置的功能提升待分析图像的采集速度,或者,将图像分析任务多余的计算资源释放。可以理解的是,降低待分析图像的采集速度,是为了降低等待队列中的待分析图像的数量,以此缓解图像分析任务资源不足的压力;而提升待分析图像的采集速度是为了提高资源利用率,如果没有设置该功能,则为图像分析任务减少该部分计算资源,避免资源浪费。该方法中,后端设备可以根据实际资源使用情况调节图像采集速度,并能够弹性调度资源,减少人工干预的次数,避免浪费人力,提高资源分配效率。
下面将结合附图对本申请实施例的实施方式进行详细描述。
如图1所示,为可适用于本申请实施例的一种资源调度方法的实施环境示意图。如图1所示,包含至少一个后端设备120和与每个后端设备120连接的一个或多个前端设备110,后端设备120通过有线网络或无线网络等任一种可能的连接方式,连接前端设备110。
前端设备110可以是用于采集图像的设备,也可以是用于采集视频的设备,例如,前端设备110可以是抓拍机。后端设备120用于接收前端设备110发送的图像或视频并根据目标任务(如人脸识别任务、行为分析任务等)进行相关处理。
示例性的,每个前端设备110可以是普通摄像头,也可以是含有图像处理功能的智能网络摄像头,例如:网络摄像机(IP Camera)/网络视频录像机(Network VideoRecorder)。
示例性的,后端设备120可以是终端,如手机、平板电脑、桌面型、膝上型、笔记本电脑、上网本等,也可以是服务器。服务器可以是单一服务器或服务器组。该服务器组可以是集中式或分布式的(例如,服务器可以是分布式系统)。在一些实施例中,服务器可以是本地的或远程的。在一些实施例中,服务器可以提前安装好资源调度软件,加载初始化场景和算法;服务器也可以通过人工根据现场情况配置场景信息和算法。本申请实施例对该后端设备的具体形态不作特殊限制,可以根据具体的场景选择不同的后端设备。
可选的,后端设备120包括输入设备130和/或输出设备140。
输入设备130用于工作人员向后端设备120输入信息,例如,进行目标点位选择和场景选择等。输入设备130可以包括键盘、鼠标等。
输出设备140用于输出不同任务的执行结果,例如,输出前端设备110采集的图像或视频,或者播放警报。在一个示例中,输出设备140可以包括显示屏,用于显示所有可视化信息。在另一个示例中,输出设备140可以包括语音输出设备。
可以理解的是,前端设备110与后端设备120可以独立设置,该情况下,每个后端设备120可以管辖至少一个前端设备110。后端设备120可以与“输入设备130和/或输出设备140”集成在一起,也可以独立设置。
图1中所示的各种设备(如,前端设备110、后端设备120、输入设备130和输出设备140)的数目仅仅是示意性的,本申请实施例对每种设备的数目不作限制。
为了方便理解,以下对本申请实施例提出的方法以场景为例说明,以下先对本申请实施例中涉及的场景相关术语进行简单介绍:
1)、场景
前端设备的拍摄方向被称为预置点,每个前端设备拥有一个或者多个预置点,每个预置点可以绘制一个或者多个不同的区域,针对每个区域根据用户的需求分析不同事物(例如,人脸识别,行为分析和/或车辆识别等),以实现某种功能(例如,人脸识别功能,行为分析功能和/或车辆识别功能),构成一个应用场景。该应用场景可以称为该前端设备上的场景。
用于实现一个场景对应的功能的算法,为该场景对应的算法。一个场景可以对应一个或多个算法。
2)、场景治理
场景治理,是点位(即前端设备)与算法的绑定过程,即点位与算法之间建立对应关系的过程。每个点位可以关联一个或多个算法。治理的场景存放到场景库中,可以在系统中共享复用。
3)、场景库
场景库可以用于存储系统出厂默认的场景和动态治理的场景,并且能够提供按需查询场景,以达到共享场景的作用。
如图2所示,为本申请实施例提供的一种资源调度方法应用于场景中的流程图。该方法可以应用于上述场景中的前端设备和/或后端设备。在上述场景中应用本申请实施例提供的一种资源调度方法,基于场景确定目标任务关联的资源调度方法的具体步骤为:步骤1-步骤3:
步骤1:后端设备从多个点位与多个算法的对应关系中,确定目标点位对应的目标算法。
步骤2:后端设备基于目标场景,生成目标任务;其中,目标场景是目标点位针对的场景,目标任务是:采用目标算法,对待分析数据进行分析,以实现目标场景对应的功能;其中,待分析数据是目标点位采集的视频数据或图像数据。
目标点位是从多个点位中选择出任意一个或多个点位。示例性的,目标点位可以由人工通过后端设备进行选择确定。
基于上文中的描述可知,多个点位与多个算法的对应关系,可以存储在场景库中。该情况下,步骤1可以包括:从场景库中获取多个点位与多个算法的对应关系,并从多个点位与多个算法的对应关系中,确定目标点位对应的目标算法。
目标任务可以包含图像分析任务和/或视频分析任务。例如,目标任务可以是:采用人脸识别算法对目标点位采集的视频数据或图像数据进行分析,以实现人脸识别场景对应的功能(即人脸识别功能)。
图像分析任务,是对图像进行数据分析的任务,例如:人脸识别任务是图像分析任务,人脸识别任务中需要对人脸图像进行分析。
视频分析任务,是对视频流数据进行分析的任务,例如:车辆监控任务是视频分析任务,车辆监控任务中需要对车辆行驶视频进行分析。
目标算法是用于实现目标场景对应的功能所使用的算法。每个目标点位关联一个或多个目标算法,一个或多个目标算法独立或共同完成目标任务。例如:目标点位A采集的图像/视频用于人脸识别,则目标点位A关联用于实现人脸识别功能所需的算法,如人脸检测算法和人脸识别算法。又例如:目标点位B采集的图像/视频用于行为识别,则目标点位B关联用于实现行为识别功能所需的算法,如行为分析算法。
步骤3:后端设备确定目标任务关联的资源调度方法。
资源调度方法可以是系统预定义好的一种或多种方法。
可选的,当目标任务包含视频分析任务时,确定资源调度方法包括针对视频分析任务的资源调度方法;视频分析任务,是指待分析数据是视频数据的任务。例如,行为识别任务是一种视频分析任务。
可选的,当目标任务包含对图像分析任务时,确定资源调度方法包括针对图像分析任务的资源调度方法;图像分析任务,是指待分析数据是图像数据的任务。例如,人脸识别任务是一种图像分析任务。
可选的,后端设备基于目标任务关联的资源调度方法将目标任务下发到前端设备或后端设备中执行。
下文对本申请实施例提供的资源调度方法进行说明:
本申请实施例提供的资源调度方法可以应用于后端设备。本申请实施例提供的资源调度方法的执行主体还可以为资源调度系统装置。该资源调度系统装置可以为后端设备,或者为该后端设备安装的具有资源调度功能的应用程序(application,APP),又或者为该后端设备中的图形处理器(graphics processing unit,GPU),又或者为该后端设备中的用于执行资源调度方法的控制模块。下文中均以本申请实施例提供的方法是后端设备为例进行说明。
如图3所示,为本申请实施例提供的一种资源调度方法流程图,该方法可以包括S101-S105。
S101:后端设备接收目标任务执行情况的反馈数据。
其中,目标任务包括图像分析任务,反馈数据包括图像分析任务等待队列数据。
等待队列数据中包括等待队列中的待分析图像的数量。
当图像分析任务等待队列数据满足第一预设条件时,执行S102。
当图像分析任务等待队列数据不满足第一预设条件且等待队列中的待分析图像的数量小于第一阈值时,执行S105。
S102:后端设备根据图像分析任务等待队列数据计算需要增加的计算资源。
可选的,第一预设条件包括等待队列中的待分析图像的数量大于或等于第一阈值的次数大于等于第二阈值。
等待队列中存储的是待分析图像。若待分析图像的数量大于等于第一阈值的次数大于或等于第二阈值时,说明为图像分析任务分配的计算资源不够用,需要增加计算资源。例如,等待队列预定义中的待分析图像的数量为100,第一阈值为90,第二阈值为3,3次统计的待分析图像数量分别为98、99和100,则增加为图像分析任务分配的计算资源。
计算资源可以用芯片数量表征,计算需要增加的计算资源的方法包括:
示例的,计算方法可以包括:C1=ceil((T1-T2)/(A-A*L2))。其中,C1为图片任务需要增加的芯片数量,T1为等待队列中待分析图像数量,T2为第一阈值,A为1个芯片的算力,L2是芯片损耗的历史平均值(即平均损耗率)。
其中,用于实现同一种功能的芯片算力可以是不相同的,例如针对人脸建模的P4芯片的算力A是100(张/秒),T4芯片的算力A是170(张/秒)等。
在一个示例中,只要(T1-T2)/(A-A*L2)的值为正数,则代表需要增加计算资源,使用ceil的原因只要有需要就优先增加计算资源,一般情况下一次只增加一张芯片,只有在资源非常紧张的情况下C1的值才会大于1。
如果剩余资源小于图像分析任务需要增加的计算资源,则执行S103;
如果剩余资源大于或等于图像分析任务需要增加的计算资源,则执行S104;
其中,剩余资源可以是后端设备当前剩余的计算资源。
S103:后端设备降低待分析图像的采集速度。
如果后端设备没有剩余资源或者有剩余资源且剩余资源小于图像分析任务需要的计算资源,则降低待分析图像的采集速度。
可选的,如果有剩余资源且剩余资源小于图像分析任务需要增加的计算资源,则将剩余计算资源全部分配给图像分析任务,并降低待分析图像的采集速度。
由于剩余资源小于图像分析任务需要的计算资源,因此,可以通过降低待分析图像的采集速度以减少等待队列中的待分析图像的数量,从而缓解剩余资源不足的压力。
示例的,每次降低速度可以设置为固定值(例如,每次降低速度10%),当等待队列中的待分析图像的数量等于第一阈值时,停止降低待分析图像的采集速度。
执行完S103后,本流程结束。
S104:后端设备向图像分析任务分配需要增加的计算资源。
当剩余资源大于或等于需要增加的计算资源时,说明剩余资源充足,可以实现对图像分析任务按需分配资源,提高资源利用率。
执行完S104后,本流程结束。
S105:后端设备提升待分析图像的采集速度。
或者,根据图像分析任务等待队列数据计算需要减少的计算资源;减少图像分析任务的计算资源。
后端设备可以对待分析图像的采集速度预先进行设置,如果设置优先提升图像采集速度,则后端设备提升待分析图像的采集速度;否则,后端设备根据图像分析任务等待队列数据计算需要减少的计算资源。
当等待队列中的待分析图像的数量小于第一阈值时,说明后端设备为图像分析任务分配的资源有剩余,此时可以优先提升待分析图像的采集速度,来提高资源利用率。
执行完S105后,本流程结束。
在一个示例中,根据在后端设备中设置的优先提升待分析图像的采集速度功能,来提升待分析图像的采集速度,每次提升速度可以设置为固定值(例如,每次提升速度10%);当等待队列中的待分析图像的数量等于第一阈值时,停止提升待分析图像的采集速度,此时可以释放提速后的剩余资源,以实现减少为图像分析任务分配的计算资源。若没有设置优先提升待分析图像的采集速度功能,则直接收缩计算资源以实现减少为图像分析任务分配的计算资源。
在另一种实现方式中,当后端设备中没有开启提升待分析图像的采集速度功能,此时,可以减小为图像分析任务分配的计算资源。
在一个示例中,减少的计算资源的计算方法可以为:C2=floor((S2-S1-S2*L2)/(A*60)),其中,C2为图片任务可以减少的芯片数量,S1为图像分析任务的实际平均分析速度,S2为图像分析任务分配的计算资源初始可以达到的理论分析速度,L2是计算性能平均损耗率,在资源使用过程中,随着时间推移,理论分析速度会随着计算芯片损耗而逐步降低,因此S2-S2*L2为减去平均损耗速度后的理论分析速度。A为图像分析任务所需芯片的算力。采用floor取整的原因是对于收缩资源(减少资源)要慎重,允许系统有富余的资源。
如图4所示,为本申请实施例提供的另一种资源调度方法流程图,当目标任务包括图像分析任务时,该方法可以包括S201-S202。
S201:后端设备接收目标任务执行情况的反馈数据。其中,目标任务包括图像分析任务,反馈数据包括以下数据1-数据3中的至少一种:
数据1、预先为图像分析任务分配的计算资源异常或不存在。
预先为图像分析任务分配的计算资源,可以是计算芯片,也可以是计算引擎,即计算芯片或计算引擎异常或不存在。
数据2、预先为图像分析任务分配的计算资源的过载使用次数等于第三阈值。
预先为图像分析任务分配的计算资源过载,指执行图像分析任务实际使用的计算资源大于或等于预先为图像分析任务分配的计算资源*a,其中,0<a<1。例如:预先为图像分析任务分配的计算资源为m,a=90%,则当图像分析任务实际使用的计算资源大于或等于90%*m时,确定预先为图像分析任务分配的计算资源过载。
图像分析任务实际使用的计算资源是动态变化的,例如,可能随着后端设备获取待分析图像的速度而动态变化。在一个示例中,当预先为图像分析任务分配的计算资源从不过载到过载时,记为一次过载。
数据3、图像分析任务延时分析次数等于第四阈值。
当预先为图像分析任务分配的计算资源不足时,图像分析任务的分析过程会产生延时。如上文所述,图像分析任务实际使用的计算资源是动态变化的,因此,可能存在图像分析任务的分析过程在某一时刻产生延时,而在另一时刻不存在延时。例如,当图像分析任务的分析过程由不存在延时到存在延时,记为一次延时。
本申请实施例对后端设备通过获取哪个/哪些信息来确定图像分析任务的分析过程是否延时,不进行限定。在一个示例中,在分析图像分析任务的过程中,后端设备等待队列中的待分析图像等待处理的时间超过预设时间一次,则认为延时一次,该预设时间可以人工调整。例如,进入等待队列中的待分析图像在等待队列中等待了2秒还未被分析,此时可以认为图像分析任务延时分析1次,其中2秒可以由人工设置为其他数值。
第三阈值和第四阈值均为通过后端设备预定义的值,后端设备可以基于实际需求设置第三阈值和第四阈值的大小。示例性的,第三阈值和第四阈值的取值分别可以设置为3。也可以由人工通过后端设备修改。
S202:后端设备为图像分析任务分配预设数量的计算资源。
可选的,当出现上述S201三种数据情况中的任意一种时,为图像分析任务分配预设数量个芯片的计算资源。当出现不止一种情况时,分配的芯片数量可以叠加。
当后端设备生成一个图像分析任务时,会为该图像分析任务预先分配计算资源。在传统技术中,如果预先分配的计算资源不足,则人工为该图像分析任务继续分配计算资源。在本申请实施例中,可以由后端设备自动为该图像分析任务分配计算资源。
如图5所示,为本申请实施例提供的另一种资源调度方法流程图,当目标任务包括图像分析任务时,该方法可以包括S301-S302。
S301:后端设备接收目标任务执行情况的反馈数据。其中,目标任务包括图像分析任务,反馈数据包括图像分析任务的平均分析速度。
当图像分析任务的平均分析速度满足第二预设条件时,执行S302,否则,不做资源调度。
可选的,第二预设条件可以包括图像分析任务的平均分析速度小于减去平均损耗速度的理论分析速度。
S302:后端设备提升待分析图像的采集速度。
当资源分配给后端设备进行图像分析后有一个理论分析速度,在资源使用过程中,随着时间推移,理论分析速度会随着计算芯片损耗而逐步降低,因此当图像分析任务的平均分析速度比减去平均损耗速度的理论分析速度小时,说明当前图像分析的实际数量比理论数量少,可能存在资源浪费情况,为避免资源浪费,可以提高待分析图像采集速度来提升图像分析任务的平均分析速度。
示例性的,图像分析任务的实际平均分析速度为S1张/分,图像分析任务分配的计算资源初始可以达到的初始理论分析速度为S2张/分,L2是计算性能平均损耗率,则图像分析任务的平均分析速度和理论分析速度之间的关系可以由Y=S1+S2*L2-S2计算。
当Y>=0时,C1=0;当Y<0时,C1=-1。
示例性的,若S1=15000张/分,S2=20000张/分,L2=0.2,Y=15000+20000*0.2-20000=-1000,说明为图像分析任务分配的资源多于图像分析任务真实需求资源,可以提高图像采集速度来提升图像分析任务的平均分析速度,可选的,当图像采集速度提升到不能再提速为止,则考虑减少为图像分析任务分配的计算资源。
若S1=16000张/分,S2=20000张/分,L2=0.2,则Y=16000+20000*0.2-20000=0,不做资源调整。
若S1=18000张/分,S2=20000张/分,L2=0.2,Y=18000+20000*0.2-20000=2000,这种情况说明这一分钟,可能资源比较空闲,系统的网络IO很好或者系统的性能比较好,但不一定是常态,这个时候可以知道的是当前分析的图像分析任务数是很大的,但是不能保证下一分钟,数据还是这样,所以当Y大于0时C1=0,不做资源增加的考虑,资源的伸缩还是考虑反馈数据包含其他数据的情况。
后端接收到的反馈数据可能包含S101-S105、S201-S202和S301-S302中一种或多种情况,当反馈数据中包含多种情况,且多种情况中有些需要增加计算资源,有些需要减少计算资源时,优先考虑增加计算资源的情况,不对减少资源的情况进行考虑;如果没有需要增加计算资源的情况,再考虑减少资源的情况。本申请实施例多反馈数据中包含的种类情况不做限定,多种情况都存在时,可以并发执行。
如图6所示,为S101-S105、S201-S202和S301-S302几种情况结合的一个示例。示例的,后端设备周期性执行图6所示的方法。
该后端设备包含数据统计模块和资源调度服务模块,统计模块用于统计反馈数据中包含的数据信息,并向资源调度服务模块发送该反馈数据。资源调度服务模块用于根据统计模块发送的数据执行资源调度功能。
该方法可以包括以下步骤:
步骤400,统计模块启动执行数据反馈,步骤404、402、403、405和407并发执行。
统计模块启动执行数据反馈,向资源调度服务模块发送反馈数据中包含的数据信息。
步骤401,统计模块统计当前每个周期(如每分钟)分析的图片的数量(即图片任务的平均分析速度),保存到数据库,在下一次启动数据反馈时反馈本次统计的信息。
步骤402,统计模块统计为图像任务分配的计算资源异常或者不存在的信息,在下一次启动数据反馈时反馈本次统计的信息。
步骤403,统计模块判断为图像分析任务分配的计算资源的过载使用次数等于第三阈值(如3次),若是则往步骤404执行,若否则结束。
步骤404,统计模块统计为图像分析任务分配的计算资源的过载使用次数等于第三阈值(如3次)的信息,在下一次启动数据反馈时反馈本次统计的信息,将过载使用次数统计清零。
步骤405,统计模块判断图像分析任务是否延时分析次数等于第四阈值(如3次)(对应S201的3)次执行,若是则往步骤405执行,若否则结束。
步骤406,统计模块统计图像分析任务延时分析次数为第四阈值(如3次)次的信息,在下一次启动数据反馈时反馈此次统计的信息,将延时次数统计清零。
步骤407,统计模块统计等待队列中待分析图像的数量T1个,判断T1是否大于后端设备预定义的等待队列阈值(第一阈值)T2,若是则往步骤408执行,若否则结束。
步骤408,统计模块统计等待队列T1>T2出现第二阈值(如3)次的信息,在下一次启动数据反馈时反馈本次统计的信息,将统计次数清零。
步骤409,资源调度服务模块获取到反馈数据中包含的数据信息后,开启资源调度分析,一个周期内不再响应同一个算法的反馈信息,避免效果延迟造成资源重复伸缩。
步骤410,资源调度服务模块计算图像分析任务平均分析速度为S1张/分,当前算法使用芯片的理论分析速度S2张/分,待分析的数量为T1个,等待队列阈值为T2个,所需芯片的算力为A张/秒,
当前计算性能损耗率L1=(S2-S1)/S2,L2是计算性能平均损耗率。
具体的计算方式为:
(1)当图像分析任务分配的计算资源的过载使用3次、图像分析任务延时分析3次或图像分析任务分配的计算资源异常或不存在触发伸缩的时候,直接增加1张GPU卡,C1=1。
(2)当等待队列T1>T2出现3次触发的伸缩,需要申请的芯片数C1=ceil((T1-T2)/(A-A*L2))。
(3)计算Y=S1+S2*L2-S2,当Y>0时,C1=0;当Y<0时,C1=-1;当Y=0时C1=0。
步骤411,资源调度服务模块判断C1值的大小,正数则往步骤412执行,负数则往步骤418执行,零则往步骤417执行。
在一个示例中,当C1为正数,说明需要为图像分析任务增加计算资源;当C1为负数,说明当前图像分析任务的计算资源充足,考虑是否可以提高图像采集速度来提高当前图像分析任务的平均处理速度,如果不能提高图像采集速度,则可以考虑减少图像分析任务的计算资源;当C1为零,说明当前图像分析任务的计算资源够用,不需要增加或减少,此时不做任何计算资源变动。
步骤412,资源调度服务模块判断是否有剩余的计算资源,是则往步骤414执行,反之则往步骤413执行。
步骤413,资源调度服务模块通知图像采集设备降低待分析图像的采集速度。
这样,有助于减少等待队列中的待分析图像的数量。
步骤414,资源调度服务模块判断剩余的计算资源是否充足,是则往步骤416执行,反之则往步骤415执行。
步骤415,资源调度服务模块当剩余资源小于图像分析任务需要的计算资源时,则将剩余计算资源全部分配给图像分析任务,并降低待分析图像的采集速度。
步骤416,资源调度服务模块当剩余资源大于或等于图像分析任务需要的计算资源时资源充足的时候,向图像分析任务分配需要的计算资源。
步骤417,资源调度服务模块完成资源分配,结束流程。
步骤418,资源调度服务模块计算需要释放的计算资源,C2=floor((S2-S1-S2*L2)/(A*60)),其中L2是计算性能平均损耗率,当C2为0时直接结束本次流程。
步骤419,资源调度服务模块判断是否开启提升待分析图像的采集速度功能,来提升待分析图像的采集速度,是则往步骤420执行,反之则往步骤421执行。
步骤420,资源调度服务模块通知图像采集设备提升待分析图像的采集速度,每次提升10%,当等待队列中的待分析图像的数量等于第一阈值时,停止提升待分析图像的采集速度,此时可以释放提速后的剩余资源以实现减少为图像分析任务分配的计算资源。
步骤421,资源调度服务模块根据C2的值直接释放计算资源实现减少为图像分析任务分配的计算资源。
在一个示例中,如图7所示,显示了后端设备中资源调度服务模块的功能界面图,在后端设备选择了需要处理的图片任务有3个分别为人脸分析,人体分析,车辆分析。这三个图片任务使用的算法分别为人脸分析,人体分析,车辆分析算法。其中,通过后端设备对人脸分析和车辆分析开启了收缩资源时图像采集提速功能,人体分析未开启收缩资源时图像采集提速功能。从计算资源增减记录可以看出3个任务在不同时间所使用的芯片数量变化情况。
当目标任务包含图像分析任务时,后端设备在完成前后端调度后,继续对后端计算资源进行合理分配。后端设备根据图像分析任务中计算资源具体使用情况,来决定是否增加计算资源或者减少计算资源。当为图像分析任务分配的计算资源的多次过载使用,或出现计算资源异常,或多次出现图像分析任务延时,则直接分配固定额度的计算资源;当等待队列中待分析图像的数量多次超过等待队列阈值,则可以根据实际需要,为图像分析任务增加计算资源;当等待队列中待分析图像的数量少于等待队列阈值,可以优先提升图像采集速度,若无需提升图像采集速度,则可以释放资源。该方法由后端设备自动分配资源,任务完成后自动释放资源,可以真正做到“按需分配和释放”,提高资源的利用率。
如图8所示,为本申请实施例提供的另一种资源调度方法流程图。当目标任务包含视频分析任务时,后端设备资源调度方法可以包括S501-S502。
S501:后端设备针对多个待处理视频分析任务中的任一视频分析任务,根据预先分配的视频流取流路数、以及已经执行任务的视频流取流路数,计算剩余视频流取流路数。
待处理视频分析任务,是指等待处理的任务,即还未开始处理的视频分析任务。在一个示例中,待处理视频分析任务以队列方式存储,并等待被执行。
取流路数,是图像采集设备能够支持的输出到某一客户端的视频数据的数量,一路视频信号就相当于是1个摄像机的信号。一路就是一个画面(也就是一个摄像头)。在本申请实施例中,取流路数可以是指前端设备发送给后端设备的视频数据的路数。
为视频分析任务分配取流路数,可以理解为:为视频分析任务分配计算资源的一种具体实现方式。例如:每张计算芯片可以分析两路视频数据,则为视频分析任务分配取流路数即为视频分析任务分配对应数量的计算芯片。
预先分配的视频流取流路数,即当目标任务中包含视频分析任务时,预先为视频分析任务分配的总的取流路数。
已经执行任务的视频流取流路数,即正在执行的视频分析任务中视频流所占用的取流路数。
剩余视频流取流路数的计算方法包括,预先分配的视频流取流路数减去已经执行任务的视频流取流路数。例如,后端设备为视频分析任务总计分配了100路取流路数,当前分配给已经执行的视频流的取流路数是60路,该情况下,剩余取流路数为40路。
任一视频分析任务是多个待处理视频分析任务中的一个任务,不同的任务有不同的优先级,当多个待处理视频分析任务中含有优先级高的任务,则优先选择优先级高的任务;当多个待处理视频分析任务中没有优先级高的任务,则依据视频分析任务进入队列中时间的先后进行处理。
在计算资源有限的情况下,优先为实时视频分析任务分配计算资源,由于通常相比非实时视频分析任务,实时视频分析任务的重要程度较高,因此,优先为实时视频分析任务分配资源,有助于资源合理利用,优先完成最需要完成的任务。
S502:当视频分析任务为非实时视频分析任务,且非实时视频分析任务具有预设的分析倍速时,后端设备根据分析倍速,以及剩余视频流取流路数,为视频分析任务分配取流路数。
当剩余视频流取流路数不能满足分析倍速所需的取流路数时,根据剩余视频流取流路数,确定非实时视频分析任务的最大实际分析倍速;根据剩余视频流取流路数、以及最大实际分析倍速,为视频分析任务分配取流路数。
视频分析任务可以分为:实时视频分析任务和非实时视频分析任务。非实时视频分析任务可以包括历史视频分析任务和离线视频分析任务。其中,实时视频分析任务、历史视频分析任务和离线视频分析任务分别是对实时视频、历史视频和离线视频进行分析的任务。实时视频是由前端设备实时拍摄的视频。历史视频和离线视频均是非实时视频,是在后端设备存储资源中存储的一段历史视频流文件,两者区别在于,历史视频采集时间与实时视频采集时间间隔较小,一般为几天内的视频,可以找到历史视频对应采集的前端设备,而离线视频采集时间与实时视频采集时间间隔较大,且无法找到离线视频对应采集的前端设备。
预设的分析倍速是针对非实时视频分析任务分配的取流路数而言,当为非实时视频分析任务开启倍速分析功能时,则增加预设的分析倍速对应数量的取流路数,例如,一个非实时视频分析任务分配了一路取流路数进行分析,当预设的分析倍速设置为10倍时,则将原本由该一路取流路数处理的非实时视频数据拆分为10份,分别由10路取流路数进行处理。
一个非实时任务(如历史视频分析任务和离线视频分析任务)是否开启倍速分析功能可以是基于用户需求确定的,例如,后端设备可以在用户的指示下确定是否开启倍速分析功能。
对于开启倍速分析功能的非实时视频分析任务而言,当剩余计算资源充足时,后端设备可以基于预设分析倍速,为该非实时视频分析任务分配取流路数。当剩余计算资源不足时,后端设备可以根据剩余计算资源的大小,确定该非实时视频分析任务的最大实际分析倍速,基于最大实际分析倍速,为该非实时视频分析任务分配取流路数。
如图9所示,后端设备为视频分析任务分配了100路取流路数,预先分配给实时视频流20路,历史视频流10路,离线视频流10路,因此当前剩余的取流路数是60路。该情况下,当该历史视频分析任务预先开启了10倍加速分析,也就是说,该历史视频分析任务的预设的分析倍速是10倍速。对历史视频分析任务分配10路取流路数进行分析,若开启10倍速后,则将历史视频分析任务10路取流路数中每路视频数据分别拆分为10份,通过100路取流路数进行分析。由于系统当前剩余的取流路数(即60路)小于该历史视频分析任务的期望取流路数(即100路),即剩余计算资源不足,此时,该历史视频分析任务的视频流的最大实际分析倍速为7倍速,取流路数为70路,即7倍速。因此,根据剩余取流路数60路,最大实际分析倍速为7倍速,此时历史视频任务中的视频流可以分配到的取流路数为70路。即将历史视频分析任务的视频流预先分配的10路取流路数中每路视频流分别拆分为7份,通过70路取流路数进行分析。
本申请实施例提供的视频分析任务资源分配方法,在计算资源有限的情况下,根据最大实际分析倍速,以及剩余视频流取流路数,为视频分析任务分配取流路数,该方法能够在不影响其他视频任务的前提下,对当前视频分析任务进行限流使任务能够正常执行,而不用等待其他任务完成,有助于资源合理利用。
如图10所示,为视频分析任务资源调度的一个示例。示例的,后端设备可以周期性(如每隔10秒)执行图10所示的方法,也可以在接收到视频分析任务请求的情况下,执行图10所示的方法。
该方法可以包括以下步骤:
步骤601,获取后端设备中为的视频分析任务预先分配的视频流取流路数A。
步骤606,获取后端设备中已经执行任务的视频流取流路数B。
步骤603,基于步骤601中的预先分配的视频流取流路数和步骤602中已经执行任务的视频流取流路数,得到剩余视频流取流路数C(C=A-B)(即针对视频分析任务的可用取流路数)。
步骤604,从待执行视频分析任务队列中取出优先级最高的任务,将该任务标记为当前任务。
其中,待执行视频分析任务队列中用于缓存等待处理的视任务的信息(如待处理视频分析任务的标识,待处理任务的类型如实时视频分析任务或非实时视频分析任务)。在待执行任务队列中,实时视频分析任务的优先级高于非实时视频分析任务的优先级。
步骤605,判断剩余视频流取流路数是否够用于执行当前任务,若是则执行步骤609,若否,则执行步骤606。
具体的,判断剩余视频流取流路数是否大于等于当前任务的取流路数。若是,说明剩余取流路数够用于执行当前任务。若否,说明剩余取流路数不够用于执行当前任务。
本申请实施例对当前任务的取流路数的取值不进行限定,例如,可以是用户指定的,或者可以是预定义的。
步骤606,判断当前任务是否为实时视频分析任务,若是则结束,若否则执行步骤607。
步骤607,判断是否对当前任务开启倍速分析,若是则步骤608,若否则结束。
步骤608,根据剩余视频流取流路数计算能够为当前任务提供的最大实际分析倍速。
步骤609,执行当前任务。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术目标应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术目标可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例还提供一种资源调度装置。如图11所示,为本申请实施例提供的一种资源调度装置200的结构示意图。
其中资源调度装置200包括:接收模块210,用于接收目标任务执行情况的反馈数据;其中,目标任务包括图像分析任务,反馈数据包括图像分析任务等待队列数据;计算模块220,用于当图像分析任务等待队列数据满足第一预设条件时,根据图像分析任务等待队列数据计算需要增加的计算资源;速度调节模块230,用于如果剩余资源小于需要增加的计算资源,则降低待分析图像的采集速度;当图像分析任务等待队列数据不满足第一预设条件且等待队列中的待分析图像的数量小于第一阈值时,则提升待分析图像的采集速度,或者,计算模块220还用于,根据图像分析任务等待队列数据计算需要减少的计算资源;减少图像分析任务的计算资源。该装置中,资源调度装置中接收模块210、计算模块220、速度调节模块230和分配模块240的功能等同于说明书中资源调度服务模块。该装置还包括统计模块250,用于统计反馈数据包括图像分析任务等待队列数据。
可选的,装置还包括:分配模块240;分配模块240用于,如果剩余资源大于或等于需要增加的计算资源,则向图像分析任务分配需要增加的计算资源;或者,如果剩余资源小于需要增加的计算资源时,将剩余计算资源全部分配给图像分析任务。
可选的,反馈数据还包括预先为图像分析任务分配的计算资源异常或不存在、预先为图像分析任务分配的计算资源的过载使用次数等于第三阈值和图像分析任务延时分析次数等于第四阈值中的至少一种时,分配模块240还用于:为图像分析任务分配预设数量的计算资源。
可选的,反馈数据还包括图像分析任务的平均分析速度,当图像分析任务的平均分析速度满足第二预设条件时,速度调节模块230还用于,提升待分析图像的采集速度。
可选的,目标任务还包括视频分析任务,计算模块220还用于:针对多个待处理视频分析任务中的任一视频分析任务,根据预先分配的视频流取流路数、以及已经执行任务的视频流取流路数,计算剩余视频流取流路数。
可选的,分配模块240还用于,当视频分析任务为非实时视频分析任务,且非实时视频分析任务具有预设的分析倍速时,根据分析倍速,以及剩余视频流取流路数,为视频分析任务分配取流路数。
可选的,分配模块240还用于,当剩余视频流取流路数不能满足分析倍速所需的取流路数时,根据剩余视频流取流路数,确定非实时视频任务的最大实际分析倍速;根据剩余视频流取流路数、以及最大实际分析倍速,为视频分析任务分配取流路数。
当然,本申请实施例提供的资源调度装置200包括但不限于上述模块。
图12是本申请实施例提供的另一种资源调度装置300的结构示意图。如图12所示,该资源调度装置300包括处理器301、存储器302和网络接口303。
其中,处理器301包括一个或多个CPU。该CPU可以为单核CPU(single-CPU)或多核CPU(multi-CPU)。
存储器302包括但不限于是RAM、ROM、EPROM、快闪存储器、或光存储器等。
可选地,处理器301通过读取存储器302中保存的指令实现本申请实施例提供的资源调度方法,或者,处理器301通过内部存储的指令实现本申请实施例提供的资源调度方法。在处理器301通过读取存储器302中保存的指令实现上述实施例中的方法的情况下,存储器302中保存实现本申请实施例提供的资源调度方法的指令。
网络接口303是有线接口(端口),例如FDDI、GE接口。或者,网络接口303是无线接口。应理解,网络接口303包括多个物理端口,网络接口303用于获取图像或视频等。
可选地,资源调度装置还包括总线304,上述处理器301、存储器302、网络接口303通常通过总线304相互连接,或采用其他方式相互连接。
在实际实现时,资源调度装置200、接收模块210、计算模块220、速度调节模块230及分配模块240可以由处理器调用存储器中的计算机程序代码来实现。其具体的执行过程可参考上述方法部分的描述,这里不再赘述。
本申请另一实施例还提供一种资源调度装置,包括存储器和处理器。存储器和处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括计算机指令。其中,当处理器执行该计算机指令时,使得该资源调度装置执行上述方法实施例所示的方法的各个步骤。
本申请另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当计算机指令在资源调度装置上运行时,使得资源调度装置执行上述方法实施例所示的方法流程中资源调度装置执行的各个步骤。
本申请另一实施例还提供一种芯片系统,该芯片系统应用于资源调度装置。该芯片系统包括一个或多个接口电路,以及一个或多个处理器。接口电路和处理器通过线路互联。接口电路用于从资源调度装置的存储器接收信号,并向处理器发送信号,信号包括存储器中存储的计算机指令。当资源调度装置处理器执行计算机指令时,资源调度装置执行上述方法实施例所示的方法流程中资源调度装置执行的各个步骤。
在本申请另一实施例中还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在资源调度装置上运行时,使得资源调度装置执行上述方法实施例所示的方法流程中资源调度装置执行的各个步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上所述,仅为本申请的具体实施方式。熟悉本技术领域的技术人员根据本申请提供的具体实施方式,可想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种资源调度方法,其特征在于,所述方法包括:
接收目标任务执行情况的反馈数据;其中,所述目标任务包括图像分析任务,所述反馈数据包括图像分析任务等待队列数据;
当所述图像分析任务等待队列数据满足第一预设条件时,根据所述图像分析任务等待队列数据计算需要增加的计算资源;
如果剩余资源小于所述需要增加的计算资源,则降低待分析图像的采集速度;
当所述图像分析任务等待队列数据不满足所述第一预设条件且所述等待队列中的待分析图像的数量小于第一阈值时,则提升所述待分析图像的采集速度,或者,根据所述图像分析任务等待队列数据计算需要减少的计算资源;减少所述图像分析任务的计算资源。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述剩余资源大于或等于所述需要增加的计算资源,则向所述图像分析任务分配所述需要增加的计算资源;
或者,如果剩余资源小于所述需要增加的计算资源,则将所述剩余计算资源全部分配给所述图像分析任务。
3.根据权利要求1所述的方法,其特征在于,所述反馈数据还包括预先为图像分析任务分配的计算资源异常或不存在、预先为图像分析任务分配的计算资源的过载使用次数等于第三阈值和图像分析任务延时分析次数等于第四阈值中的至少一种时,所述方法还包括:
为所述图像分析任务分配预设数量的计算资源。
4.根据权利要求1所述的方法,其特征在于,所述反馈数据还包括图像分析任务的平均分析速度,当所述图像分析任务的平均分析速度满足第二预设条件时,所述方法还包括:
提升所述待分析图像的采集速度。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述目标任务还包括视频分析任务,所述方法还包括:
针对多个待处理视频分析任务中的任一视频分析任务,根据预先分配的视频流取流路数、以及已经执行任务的视频流取流路数,计算剩余视频流取流路数;
当所述视频分析任务为非实时视频分析任务,且所述非实时视频分析任务具有预设的分析倍速时,根据所述分析倍速,以及所述剩余视频流取流路数,为所述视频分析任务分配取流路数。
6.根据权利要求5所述的方法,其特征在于,所述根据所述分析倍速,以及所述剩余视频流取流路数,为所述视频分析任务分配取流路数,包括:
当所述剩余视频流取流路数不能满足所述分析倍速所需的取流路数时,根据所述剩余视频流取流路数,确定所述非实时视频任务的最大实际分析倍速;
根据所述剩余视频流取流路数、以及所述最大实际分析倍速,为所述视频分析任务分配取流路数。
7.一种资源调度装置,其特征在于,所述装置包括:
接收模块,用于接收目标任务执行情况的反馈数据;其中,所述目标任务包括图像分析任务,所述反馈数据包括图像分析任务等待队列数据;
计算模块,用于当所述图像分析任务等待队列数据满足第一预设条件时,根据所述图像分析任务等待队列数据计算需要增加的计算资源;
速度调节模块,用于如果剩余资源小于所述需要增加的计算资源,则降低待分析图像的采集速度;当所述图像分析任务等待队列数据不满足所述第一预设条件且所述等待队列中的待分析图像的数量小于第一阈值时,则提升所述待分析图像的采集速度,或者,所述计算模块还用于,根据所述图像分析任务等待队列数据计算需要减少的计算资源;减少所述图像分析任务的计算资源。
8.根据权利要求7所述的装置,其特征在于,
所述装置还包括:分配模块;
所述分配模块用于,如果所述剩余资源大于或等于所述需要增加的计算资源,则向所述图像分析任务分配所述需要增加的计算资源;或者,如果剩余资源小于所述需要增加的计算资源,则将所述剩余计算资源全部分配给所述图像分析任务;
所述反馈数据还包括预先为图像分析任务分配的计算资源异常或不存在、预先为图像分析任务分配的计算资源的过载使用次数等于第三阈值和图像分析任务延时分析次数等于第四阈值中的至少一种时,所述分配模块还用于:为所述图像分析任务分配预设数量的计算资源;
所述反馈数据还包括图像分析任务的平均分析速度,当所述图像分析任务的平均分析速度满足第二预设条件时,所述速度调节模块还用于,提升所述待分析图像的采集速度;
所述目标任务还包括视频分析任务,所述计算模块还用于:针对多个待处理视频分析任务中的任一视频分析任务,根据预先分配的视频流取流路数、以及已经执行任务的视频流取流路数,计算剩余视频流取流路数;
所述分配模块还用于,当所述视频分析任务为非实时视频分析任务,且所述非实时视频分析任务具有预设的分析倍速时,根据所述分析倍速,以及所述剩余视频流取流路数,为所述视频分析任务分配取流路数;当所述剩余视频流取流路数不能满足所述分析倍速所需的取流路数时,根据所述剩余视频流取流路数,确定所述非实时视频任务的最大实际分析倍速;根据所述剩余视频流取流路数、以及所述最大实际分析倍速,为所述视频分析任务分配取流路数。
9.一种资源调度装置,其特征在于,包括存储器和处理器;所述存储器和所述处理器耦合;所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;其中,当所述处理器执行所述计算机指令时,使得所述资源调度装置执行如权利要求1-6中任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令;其中,当所述计算机指令在资源调度装置上运行时,使得所述资源调度装置执行如权利要求1-6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210635704.0A CN115150473A (zh) | 2022-06-06 | 2022-06-06 | 一种资源调度方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210635704.0A CN115150473A (zh) | 2022-06-06 | 2022-06-06 | 一种资源调度方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115150473A true CN115150473A (zh) | 2022-10-04 |
Family
ID=83407059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210635704.0A Pending CN115150473A (zh) | 2022-06-06 | 2022-06-06 | 一种资源调度方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115150473A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115358914A (zh) * | 2022-10-20 | 2022-11-18 | 深圳市壹倍科技有限公司 | 用于视觉检测的数据处理方法、装置、计算机设备及介质 |
CN116863408A (zh) * | 2023-09-04 | 2023-10-10 | 成都智慧城市信息技术有限公司 | 基于监控摄像头ai算法的并行加速和动态调度实现方法 |
CN117170886A (zh) * | 2023-11-03 | 2023-12-05 | 北京邮电大学 | 一种面向大连接视频分析的连续学习资源调度方法及装置 |
-
2022
- 2022-06-06 CN CN202210635704.0A patent/CN115150473A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115358914A (zh) * | 2022-10-20 | 2022-11-18 | 深圳市壹倍科技有限公司 | 用于视觉检测的数据处理方法、装置、计算机设备及介质 |
CN115358914B (zh) * | 2022-10-20 | 2023-01-20 | 深圳市壹倍科技有限公司 | 用于视觉检测的数据处理方法、装置、计算机设备及介质 |
CN116863408A (zh) * | 2023-09-04 | 2023-10-10 | 成都智慧城市信息技术有限公司 | 基于监控摄像头ai算法的并行加速和动态调度实现方法 |
CN116863408B (zh) * | 2023-09-04 | 2023-11-21 | 成都智慧城市信息技术有限公司 | 基于监控摄像头ai算法的并行加速和动态调度实现方法 |
CN117170886A (zh) * | 2023-11-03 | 2023-12-05 | 北京邮电大学 | 一种面向大连接视频分析的连续学习资源调度方法及装置 |
CN117170886B (zh) * | 2023-11-03 | 2024-02-02 | 北京邮电大学 | 一种面向大连接视频分析的连续学习资源调度方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115150473A (zh) | 一种资源调度方法、装置及存储介质 | |
US11362961B2 (en) | Service processing method and system and device | |
Li et al. | Cost-efficient and robust on-demand video transcoding using heterogeneous cloud services | |
US10298969B2 (en) | Architecture and method for high performance on demand video transcoding | |
EP2863306B1 (en) | Predictive auto scaling engine | |
WO2016145919A1 (zh) | 一种视频分析任务的调度方法及系统 | |
CN107426274B (zh) | 基于时序的业务应用及监控分析调度的方法和系统 | |
WO2013069191A1 (ja) | 解析処理システム | |
CN112817753A (zh) | 任务的处理方法及装置、存储介质、电子装置 | |
CN110545258B (zh) | 流媒体服务器资源配置方法、装置和服务器 | |
CN110008050B (zh) | 用于处理信息的方法和装置 | |
CN112132022B (zh) | 人脸抓拍架构及其人脸抓拍方法、装置、设备及存储介质 | |
CN111290841A (zh) | 任务调度方法、装置、计算设备及存储介质 | |
US9363199B1 (en) | Bandwidth management for data services operating on a local network | |
WO2021073054A1 (zh) | 数据处理的方法、装置、设备和存储介质 | |
KR20190030589A (ko) | 오프로딩 시스템을 통해 무인 비행체의 영상을 분석하기 위한 방법 및 장치 | |
CN110049350B (zh) | 视频转码处理方法、装置、计算机设备和存储介质 | |
CN112214299A (zh) | 多核处理器及其任务调度方法和装置 | |
CN115941907A (zh) | 一种rtp数据包发送方法、系统、电子设备及存储介质 | |
CN111093099A (zh) | 一种流媒体服务调度方法、装置及系统 | |
WO2022062799A1 (zh) | 数据传输方法及相关装置 | |
CN111654673B (zh) | 视频封面的更新方法、装置及存储介质 | |
CN111160283A (zh) | 一种数据接入方法、装置、设备和介质 | |
US9467661B2 (en) | Method of operating camera, camera, and surveillance system having the same | |
CN112817732A (zh) | 一种适应云边协同多数据中心场景下的流数据处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |