欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种视频流在线分析任务调度方法和计算机设备独创技术31776字

一种视频流在线分析任务调度方法和计算机设备

2021-03-20 01:55:44

一种视频流在线分析任务调度方法和计算机设备

  技术领域

  本申请涉及视频流在线分析技术领域,尤其涉及一种视频流在线分析任务调度方法和计算机设备。

  背景技术

  深度学习是模拟人脑神经系统而建立的数学网络模型,这个模型的最大特点是,需要大量数据样本来训练,并且训练形成的模型包括视频分析中的目标检测模型也需要运行在图形处理器(Graphics Processing Unit,简称为GPU)上以提升性能。

  随着视频监控与基于深度学习算法的视频分析的广泛应用,GPU在很多系统建设中需求快速增加,也带来了很大的资金压力。如何更加充分地利用GPU资源成为一个亟待解决的问题。

  发明内容

  为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种视频流在线分析任务调度方法和计算机设备。

  第一方面,本申请提供了一种视频流在线分析任务调度方法,包括:通过多个GPU执行视频流在线分析的第一任务和第二任务;其中,第一任务对应于一路视频流,第一任务包括多个服务等级,服务等级与分析帧率成正比;第一任务按照其服务等级对应的分析帧率产生一种子任务,第一任务具有子任务相对截止期;第二任务包括多种所述子任务,且所述第二任务具有指定截止期;每种子任务对应于一种算法与模型,每个GPU按照其预设利用率上限U上限运行一种算法与模型来执行一种子任务,多个GPU运行多种算法与模型来执行多种子任务。

  在某些实施例中,上述方法还包括:接收第一任务和/或第二任务;将接收的第一任务和/或第二任务放入接收的任务队列;根据第一任务和/或第二任务的优先级调度接收的任务队列;将接收的任务队列中第一任务和/或第二任务的子任务放入对应的GPU的执行的任务队列;其中,每个GPU按照子任务所属的第一任务或第二任务的优先级调度其执行的任务队列中的子任务。

  在某些实施例中,上述方法还包括:在执行子任务的过程中,监测每个GPU的已用利用率U已用,并根据GPU的U已用和GPU的U上限确定GPU的剩余利用率U剩余;以及在接收到第一视频分析请求时,根据第一视频分析请求生成第一任务;对于生成的第一任务,根据生成的第一任务初始的服务等级估计其估计GPU利用率U估计;根据生成的第一任务的U估计、执行生成的第一任务的GPU的U剩余和第一任务的优先级,调整一个或多个第一任务的服务等级,以接收生成的第一任务;以及,如果接收生成的第一任务,将生成的第一任务放入接收的任务队列。

  在某些实施例中,上述方法还包括:在接收到接收第二视频分析请求时,根据第二视频分析请求生成第二任务;判断与生成的第二任务包含的多个子任务相关的GPU是否能够在所述指定截止期内执行生成的第二任务;如果否,根据第一任务的优先级,调整一个或多个第一任务的服务等级,以在生成的第二任务的指定截止期内执行生成的第二任务;以及,如果接收生成的第二任务,将生成的第二任务放入接收的任务队列。

  在某些实施例中,GPU的U上限为第一预设利用率和第二预设利用率之和;其中,第一预设利用率被配置为执行第一任务,第二预设利用率被配置为执行第二任务;其中,判断与生成的第二任务包含的多个子任务相关的GPU是否能够在所述指定截止期内执行生成的第二任务,包括:判断与生成的第二任务包含的多个子任务相关的GPU的第二预设利用率,是否能够在指定截止期内执行生成的第二任务。

  在某些实施例中,根据生成的第一任务的U估计、执行生成的第一任务的GPU的U剩余和第一任务的优先级,调整一个或多个第一任务的服务等级,以接收生成的第一任务,包括:如果生成的第一任务的U估计小于或等于执行生成的第一任务的GPU的U剩余,接收生成的第一任务;如果生成的第一任务的U估计大于执行生成的第一任务的GPU的U剩余,逐渐降低生成的第一任务的服务等级,直到生成的第一任务的U估计小于或等于执行生成的第一任务的GPU的U剩余,或者生成的第一任务的服务等级降低到其最低服务等级;以及如果生成的第一任务的服务等级降低到其最低服务等级,根据第一任务的优先级,降低一个或多个正在执行的第一任务的服务等级,以接收生成的第一任务。

  在某些实施例中,如果生成的第一任务的U估计小于或等于执行生成的第一任务的GPU的U剩余,接收生成的第一任务;以及,如果生成的第一任务的U估计大于执行生成的第一任务的GPU的U剩余,降低正在执行的第一任务中比生成的第一任务的服务等级低的一个或多个第一任务的服务等级,以接收生成的第一任务。

  在某些实施例中,第一任务的优先级,与第一任务对应的视频流的优先级、关键程度或价值成正比;或者第一任务的子任务相对截止期越短,则第一任务的优先级越高;或者第一任务的子任务相对截止期越短,且视频流的优先级、关键程度或价值越高,则第一任务的优先级越高;或者第二任务的优先级,与第二任务对应的多个视频流中优先级、关键程度或价值最高的视频流对应。

  在某些实施例中,上述方法还包括:在执行子任务的过程中,监测至少部分GPU执行子任务的平均截止期错失率;以及如果GPU的平均截止期错失率大于预设错失率,降低该GPU的U上限;和/或,监测至少部分第一任务和/或第二任务的服务质量,服务质量包括:实际分析帧率、分析实际帧间隔的均方差,以及相对截止期错失率;以及如果所述服务质量低于预设条件,根据第一任务和/或第二任务的优先级,降低一个或多个第一任务的服务等级。

  在某些实施例中,第一任务的不同服务等级对应相同的子任务相对截止期。

  第二方面,本申请提供了一种计算机设备,该计算机设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;该计算机程序被处理器执行时实现视频流在线分析任务调度方法的步骤。

  本申请实施例提供的上述技术方案,通过多个GPU执行视频流在线分析的第一任务和第二任务;其中,第一任务对应于一路视频流,第一任务包括多个服务等级,服务等级与分析帧率成正比;第一任务按照其服务等级对应的分析帧率产生一种子任务,第一任务具有子任务相对截止期;第二任务包括多种所述子任务,且所述第二任务具有指定截止期;每种子任务对应于一种算法与模型,每个GPU按照其预设利用率上限U上限运行一种算法与模型来执行一种子任务,多个GPU运行多种算法与模型来执行多种子任务。由此,避免了任务调度中切换GPU,减少了GPU切换对任务调度的影响,从而提高任务调度效率。

  附图说明

  此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

  为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

  图1为本申请实施例提供的视频流在线分析任务调度系统一种实施例方式的示意图;

  图2为本申请实施例提供的视频流在线分析任务调度方法一种实施方式的流程图;

  图3为本申请实施例提供的第一任务调度方法一种实施方式的流程图;

  图4为本申请实施例提供的第二任务调度方法一种实施方式的流程图;以及

  图5为本申请实施例提供的计算机设备一种实施方式的硬件示意图。

  具体实施方式

  应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

  在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

  在本文中,技术术语“GPU”并不限定于硬件意义的GPU,本文中GPU可以是硬件意义的GPU,或者多个硬件意义的GPU虚化成的GPU(例如,一种算法与模型由多个硬件意义的GPU运行,这多个硬件意义的GPU虚拟成一个GPU),或者硬件意义的GPU虚拟成多个GPU(例如,硬件意义的GPU运行多种算法与模型,按照算法与模型将GPU虚拟成多个GPU)。

  图1为本申请实施例提供的视频流在线分析任务调度系统一种实施例方式的示意图,如图1所示,有m个GPU(在图1中标记为GPU-1至GPU-m)。GPU-1至GPU-m中每个GPU运行一种算法与模型,m个GPU运行m种算法与模型。每个GPU有一个执行的任务队列(简称为EQ)。视频流在线分析任务包括多种子任务,每种子任务对应于一种GPU运行的算法与模型。在本申请实施例中,在GPU上运行一种的算法与模型,任务调度中,每种任务由执行其对应算法的GPU处理,避免了任务调度中切换GPU,减少了GPU切换对任务调度的影响,从而提高任务调度效率。

  在某些实施例中,接收第一任务和/或第二任务;将接收的第一任务和/或第二任务放入接收的任务队列(简称为AQ);根据第一任务和/或第二任务的优先级调度接收的任务队列;将接收的任务队列中第一任务和/或第二任务的子任务放入对应的GPU的执行的任务队列(EQ)。在某些实施例中,每个GPU按照子任务所属的第一任务或第二任务的优先级调度其执行的任务队列中的子任务。

  本申请实施例中,视频在线分析包括第一任务,可实现对一路视频流的持续分析,例如持续对一路视频流进行人脸检测等。其中,每个第一任务可对应于一路视频流,每路视频流可包括一个或多个第一任务,例如,对视频流进行人脸检测和/或火情检测等。每个第一任务对应于一种算法与模型,每个第一任务按照其服务等级对应的分析帧率(例如10~30帧/秒)产生子任务。每个第一任务包括多个服务等级,服务等级与分析帧率成正比。服务等级越高,分析帧率越大。每个第一任务具有子任务相对截止期,即,第一任务产生的每个子任务最好在产生后一定时间内执行。第一任务的每个子任务,应当争取在该第一任务的子任务相对截止期内执行完成。

  在某些实施例中,第一任务的不同服务等级对应相同的子任务相对截止期,由此在调整第一任务的服务等级时不对GPU执行的任务队列产生影响。可选地,第一任务的子任务相对截止期可为预设值,该预设值可为最低服务等级对应的分析帧间隔,但不限于此。

  在本申请实施例中,作为示例性说明,第一任务表示为Ti,每个Ti具有N(N≥1)个服务等级,表示为Ti,j(0≤j≤N-1),j为服务等级序号;Ti的不同服务等级的实例Ti,j对应的分析帧率不同,也就在单位时间内有不同的累计执行时间Ci,j。分析帧率越高,单位时间内累计执行时间越长,服务等级序号j越大,服务等级越低;单位时间内累计执行时间Ci,j>Ci,j+1。在某些实施例中,Ti的不同服务等级的实例Ti,j具有相同的相对截止期Di,优选地,相对截止期Di可以按照最低服务等级对应的帧间隔或者设置的帧间隔来定义。

  在本申请实施例中,视频在线分析可包括第二任务,用于分析一路或多路视频流的一帧或多帧图像。第二任务包括多个子任务,每个子任务对应于一种算法与模型。对于第二任务的多个子任务,多个GPU执行多个子任务,在第二任务的指定截止期内完成第二任务的所有子任务。第二任务具有指定截止期,即第二任务包含的子任务最好在指定的时间点之前完成。

  在某些实施例中,第二任务可为同一帧图像由多种算法与模型同步执行,或者多帧图像由一种算法与模型串行执行,但不限于此。例如,识别一帧图像中未佩戴安全帽的人,并进一步进行人脸识别;从多路视频中的多帧图像中检测出摩托车等类似的任务。

  本申请实施例中,n路视频流标记为V:<V1,V2,…,Vn>,其中每一路视频Vi具有一个指定的优先级或者关键程度或者价值指标Hi,表明这一路视频的重要程度或者在线分析一帧所产生的价值。在某些实施例中,视频流在线分析任务调度系统至少对这n路视频流进行在线分析。

  在某些实施例中,参考图1所示,视频流在线分析任务调度系统包括接收的任务队列(AQ)和执行的任务队列(EQ)。第一任务以及第二任务在接收的任务队列中被调度,第一任务及第二任务对应的子任务在执行的任务队列中被调度。执行完成的任务放入完成的任务队列(CQ)暂存,供其他系统获取任务执行结果。

  在某些实施例中,按照价值最高最优先(Highest Value First,简称为HVF)调度接收的任务队列。例如,按照视频流的优先级或者关键程度或者价值指标Hi,确定任务(第一任务和/或第二任务)的优先级Pi,例如任务的优先级Pi表示为Pi=Hi,其中,Hi的取值越大,视频流的优先级或者关键程度或者价值指标越高,相应的Pi的取值越大,任务的优先级越高,但不限于此。如果一个任务(第一任务和/或第二任务)涉及多路视频流,以其中的最高Hi作为任务的优先级。

  在某些实施例中,按照截止期最早最优先(Earliest Deadline First,简称为EDF)调度接收的任务队列。例如,按照任务(第一任务和/或第二任务)的截止期排序,截止期最早(Di的取值越小)的任务优先级最高,作为示例,优先级Pi表示为Pi=1/Di,其中,Pi的取值越大,优先级越高。

  在某些实施例中,按照关键性-截止期优先(Criticalness-Deadline First,简称为CDF)调度接收的任务队列。例如,任务的优先级按照(关键性或者价值÷相对截止期)进行分配,假设任务Ti的相对截止期采用Di表示,任务的优先级Pi可表示为Pi=Hi/Di,其中,Pi的取值越大,任务的优先级越高;Hi的取值越大,视频流的优先级或者关键程度或者价值指标越高;截止期最早,Di的取值越小。由此综合考虑任务的截止期与关键性,提高系统的综合性能。

  在某些实施例中,按照接收的任务队列中的任务优先级组织执行的任务队列。可选地,执行的任务队列的长度不超过相应的GPU在单位时间(例如,1秒钟或者2秒钟或5秒钟)内的处理能力。(按照任务优先级组织)。

  在本申请实施例中,每个GPU按照其预设利用率上限U上限运行算法与模型来执行子任务。U上限可以大于1,也可以小于1。多个GPU可设置相同U上限,也可以设置不同的U上限,本申请实施例对此不做限定。

  在某些实施例中,为了保证第二任务到来时有一定的GPU能力用来执行任务,按照一定比例分配GPU的利用率U上限,第一预设利用率(表示为Up)用于执行第一任务,第二预设利用率(表示为UA)用于执行第二任务,U上限=UA+UP。

  参考图1所示,视频流在线分析任务调度系统包括:任务接收模块10、任务调度模块20、负荷监视模块30、服务质量(QoS)监视模块40,以及准入控制模块50。

  任务接收模块10,用于接收视频分析请求,并根据视频分析请求生成任务,提交到接收的任务队列(AQ)。

  任务调度模块20,用于按照实时任务调度方法调度接收的任务队列(AQ)中的任务,生成可由GPU执行的子任务,放入相应的执行的任务队列(EQ),以由GPU执行子任务。

  负荷监视模块30,用于监视GPU上的负荷,把相关参数传给任务调度模块20,以便优化任务调度与准入控制策略。在某些实施例中,负荷监视模块30,监测GPU处理子任务的平均执行时间,特别是针对第一任务,通过一段时间计算其处理每一帧的平均执行时间ei,由此估计GPU的已用利用率U已用。在初始化阶段,以第一任务的分析帧率估计GPU的已用利用率U已用。

  QoS监视模块40,用于监视视频分析任务的服务质量,并把相关参数传给任务调度模块20,以便优化任务调度与准入控制策略。在某些实施例中,QoS监视模块40监测第一任务的服务质量包括:实际分析帧率、实际帧间隔的均方差,以及相对截止期错失率。

  任务调度模块20,还用于根据负荷监视模块30与QoS监视模块40反馈的数据调整任务调度相关的参数,控制准入控制模块50控制任务接收。执行完成的任务放入完成的任务队列(CQ)暂存,供其他系统获取任务执行结果。

  准入控制模块50,用于通过准入控制机制控制流入系统的工作负载。在某些实施例中,当一个新任务到达,准入控制模块50决定这个任务是否能够被接收。对于第一任务,控制接收任务能够提供的服务等级,对于第二任务,如果超过系统负荷,降低一部分第一任务的服务等级。

  在某些实施例中,对于每个GPU,QoS监视模块40监测所有在该GPU上执行的子任务的平均截止期错失率,即在单位时间内错失截止的任务比例。此外,QoS监视模块40检测第一任务的服务质量,针对每个第一任务,确定任务Ti的服务质量Qi(t)包括Qi(t)=<fi(t),σi(t),mi(t)>,分别是实际分析帧率(即实际执行时单位时间内的帧率)fi(t)、实际帧间隔的均方差σi(t),以及截止期错失率mi(t)。

  下面对视频流在线分析任务调度方法进行描述。

  图2为本申请实施例提供的视频流在线分析任务调度方法一种实施方式的流程图,如图2所示,该方法包括步骤S202至步骤S206。

  步骤S202,通过多个GPU执行视频流在线分析的第一任务和/或第二任务。

  其中,每个第一任务对应于一路视频流,每路视频流包括一个或多个第一任务,每个第一任务对应于一种算法与模型,每个第一任务按照其服务等级对应的分析帧率产生子任务,每个第一任务具有子任务相对截止期,每个GPU按照其预设利用率上限U上限运行算法与模型来执行子任务,每个第一任务包括多个服务等级,服务等级与分析帧率成正比。

  在执行子任务的过程中,执行步骤S204和/或步骤S206。

  步骤S204,监测至少部分GPU执行子任务的平均截止期错失率,如果GPU的平均截止期错失率大于预设错失率,降低该GPU的U上限。

  上述步骤S204中,平均截止期错失率为在单位时间内错失截止的任务比例。如果平均截止期错失率,超过或者低于用户设定的预期错失率,则需要相应地调整U上限。

  步骤S206,监测至少部分第一任务和/或第二任务的服务质量,如果该服务质量低于预设条件,根据第一任务和/或第二任务的优先级,降低一个或多个第一任务的服务等级。

  其中,步骤S206中,服务质量包括:实际分析帧率、分析实际帧间隔的均方差,以及相对截止期错失率。

  图3为本申请实施例提供的第一任务调度方法一种实施方式的流程图,如图3所示,该方法包括步骤S302至步骤S306。

  步骤S302,在执行子任务的过程中,监测每个GPU的已用利用率U已用,并根据GPU的U已用和GPU的U上限确定GPU的剩余利用率U剩余。

  步骤S304,在接收到第一视频分析请求时,根据第一视频分析请求生成第一任务。

  步骤S306,对于生成的第一任务,根据生成的第一任务的估计GPU利用率U估计、执行生成的第一任务的GPU的U剩余和第一任务的优先级,调整一个或多个第一任务的服务等级,以接收生成的第一任务。

  在某些实施例中,对于生成的第一任务,上述步骤S306中,如果生成的第一任务的估计GPU利用率U估计小于或等于执行生成的第一任务的GPU的U剩余,接收生成的第一任务。如果生成的第一任务的U估计大于执行生成的第一任务的GPU的U剩余,逐渐降低生成的第一任务的服务等级,直到生成的第一任务的U估计小于或等于执行生成的第一任务的GPU的U剩余,或者生成的第一任务的服务等级降低到其最低服务等级。如果生成的第一任务的服务等级降低到其最低服务等级,根据第一任务的优先级,降低一个或多个正在执行的第一任务的服务等级,以接收生成的第一任务。

  在某些实施例中,对于生成的第一任务,上述步骤S306中,如果生成的第一任务的估计GPU利用率U估计小于或等于执行生成的第一任务的GPU的U剩余,接收生成的第一任务。如果生成的第一任务的U估计大于执行生成的第一任务的GPU的U剩余,根据第一任务的优先级,降低正在执行的第一任务中比生成的第一任务的服务等级低的一个或多个第一任务的服务等级,以接收生成的第一任务。

  在某些实施例中,第一任务的优先级与视频流的优先级、关键程度或价值成正比。在一些实施例中,第一任务的优先级与其子任务相对截止期成反比,相对截止期越早优先级越高。在一些实施例中,第一任务的优先级与其子任务相对截止期成正比,且与视频流的优先级、关键程度或价值成反比。

  图4为本申请实施例提供的第二任务调度方法一种实施方式的流程图,如图4所示,该方法包括步骤S402至步骤S408。

  步骤S402,在接收到接收第二视频分析请求时,根据第二视频分析请求生成第二任务。

  其中,第二视频分析请求用于请求分析一路或多路视频流的一帧或多帧图像,第二任务包括多个子任务,且第二任务具有指定截止期,每个子任务对应于一种算法与模型,每个GPU按照其U预设运行算法与模型来执行子任务。

  步骤S404,判断与第二任务包含的多个子任务相关的GPU是否能够在指定截止期内执行生成的第二任务;如果否,进入步骤S406;如果是,进入步骤S408,接收第二任务。

  步骤S406,根据第一任务的优先级,调整一个或多个第一任务的服务等级,以在第二任务的指定截止期内执行第二任务。

  步骤S408,接收第二任务。

  在某些实施例中,GPU的预设利用率为第一预设利用率和第二预设利用率之和;其中,第一预设利用率被配置为执行第一任务,第二预设利用率被配置为执行第二任务。上述步骤S404中,判断与第二任务包含的多个子任务相关的GPU的第二预设利用率,是否能够在指定截止期内执行第二任务。

  下面以一个示例对第一任务的调度进行说明。

  作为一个示例性说明,假设当前系统中第一任务的估计GPU利用率为Up(t),如果任务Ti的服务等级Ti,j满足Up(t)+Ui,j≤Up,则Ti能够以服务等级Ti,j被接收,其中Up表示分配给第一任务的GPU利用率(第一预设利用率)。如果任务Ti以服务等级j不能够被接受,通过调整接收的任务的服务等级来改变任务所要求的GPU利用率。例如,如果改变任务Ti的服务等级从Ti,j到Ti,k,则所要求的GPU利用率相应地调整Ui,j-Ui,k,其中Ui,j与Ui,k分别表示Ti,j和Ti,k所要求的GPU利用率(U估计)。如果Ti以最低的服务等级仍不能满足准入控制需求,则调整正在执行的第一任务的服务级别。

  假设任务Ti运行在处理器Gk上,对于所有在处理器Gk上运行的任务构成的任务集从优先级最低的任务开始,计算每个任务降低1个服务等级节省GPU利用率(GPU的执行时间),如果超过任务Ti的最低服务等级要求,则接纳任务Ti,其中,任务的服务等级最多降低到允许的最低服务等级。如果遍历任务集一遍后仍然不能满足,重复上述计算每个任务降低1个服务等级节省GPU利用率,直到满足任务Ti的最低服务等级要求。如果任务集中所有任务已经降低到最低服务等级依然无法满足任务Ti的要求,则拒绝任务Ti。

  在另一些示例中,把低于任务Ti优先级的任务,从低到高逐步调整到最低服务等级,直到满足任务Ti的要求;如果所有低优先级的任务都降级之后依然不能满足要求,可以:1)继续依次降级相关任务的服务等级,直到满足要求,或者最终无法满足;2)拒绝该任务Ti。

  对于第二任务,准入控制以最大可能地接收任务为目标。由于非定期任务可能涉及多个算法与模型多个GPU,假设第二任务Ti需要使用的GPU处理表示为集合其估计利用率表示为一个集合:

  

  针对集合中每一项,当前的估计GPU利用率则可以接收该任务;如果则针对相关的第一任务按照优先级从低到高降低服务等级,直到满足需要,或者最终无法满足拒绝第二任务。降低第一任务的服务等级,可参见接收第一任务时降低第一任务的服务等级的方法,在此不再赘述。(利用率估计执行时间/截止期)

  在某些示例中,任务的估计GPU利用率确定方法如下。针对每个GPU,第一任务的估计GPU利用率Up(t)=∑Ci,j/W,其中,Ci,j为服务等级为j时第一任务Ti的累计执行时间,W是单位时间或者采样窗口。针对任务队列中的第二任务涉及到的每个GPU,第二任务的估计GPU利用率当任务到达或者离开时,其中Di表示子任务相对截止期,Ci表示子任务估计的执行时间。

  本申请实施例还提供了一种计算机设备。图5为本申请实施例提供的计算机设备一种实施方式的硬件结构示意图,如图5所示,本申请实施例的计算机设备50包括:至少包括但不限于:可通过系统总线相互通信连接的存储器51和处理器52。需要指出的是,图5仅示出了具有组件51-52的计算机设备50,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

  本实施例中,存储器51(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器51可以是计算机设备50的内部存储单元,例如计算机设备50的硬盘或内存。在另一些实施例中,存储器51也可以是计算机设备50的外部存储设备,例如该计算机设备50上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器51还可以既包括计算机设备50的内部存储单元也包括其外部存储设备。本实施例中,存储器51通常用于存储安装于计算机设备50的操作系统和各类软件。此外,存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。

  处理器52在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制计算机设备50的总体操作。本实施例中,处理器52用于运行存储器51中存储的程序代码或者处理数据,例如视频流在线分析任务调度方法。

  本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储视频流在线分析任务调度的程序代码,被处理器执行时实现视频流在线分析任务调度方法。

  需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

  上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

  通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例的方法。

  上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本申请的保护之内。

《一种视频流在线分析任务调度方法和计算机设备.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)