CN113905273B - 任务执行方法和设备 - Google Patents

任务执行方法和设备 Download PDF

Info

Publication number
CN113905273B
CN113905273B CN202111152736.7A CN202111152736A CN113905273B CN 113905273 B CN113905273 B CN 113905273B CN 202111152736 A CN202111152736 A CN 202111152736A CN 113905273 B CN113905273 B CN 113905273B
Authority
CN
China
Prior art keywords
decoding
thread
data
threads
pool
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.)
Active
Application number
CN202111152736.7A
Other languages
English (en)
Other versions
CN113905273A (zh
Inventor
王彪
王凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Power Tensors Intelligent Technology Co Ltd
Original Assignee
Shanghai Power Tensors Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Power Tensors Intelligent Technology Co Ltd filed Critical Shanghai Power Tensors Intelligent Technology Co Ltd
Priority to CN202111152736.7A priority Critical patent/CN113905273B/zh
Publication of CN113905273A publication Critical patent/CN113905273A/zh
Application granted granted Critical
Publication of CN113905273B publication Critical patent/CN113905273B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开实施例提供一种任务执行方法和设备,其中方法包括:通过解码线程池中的至少一个解码线程对待处理的任务数据进行解码处理,得到线程解码数据;将所述线程解码数据输入网络运行线程池,通过所述网络运行线程池中的多个网络运行线程对所述线程解码数据进行处理,得到结果数据;其中,所述多个网络运行线程中至少包括两个并行运行的网络运行线程。本公开实施例提高了硬件计算资源的利用率,降低了任务处理的耗时。

Description

任务执行方法和设备
技术领域
本公开涉及机器学习技术,具体涉及一种任务执行方法和设备。
背景技术
近几年,深度学习技术的发展非常迅速,随着理论的不断成熟,应用越来越广泛,人脸识别、车牌识别、商品识别和自动驾驶等多种业务,都可以通过神经网络来处理,将神经网络用于处理某种具体的任务,即神经网络任务,比如可以是通过运行神经网络进行人脸识别这样的人脸识别任务,也可以是通过运行神经网络来进行车牌识别这样的车牌识别任务。深度学习技术的突破极大地推动了计算机视觉领域的发展,新的应用领域也在不断拓展。
但是神经网络任务在实际执行时,运行的参数量较为庞大,需要强大的算力来支撑,学界和工程应用领域都提出了不同的方案,以期尽可能的使神经网络任务执行的更为快速,这样才能使得车牌识别任务、人脸识别任务等业务加快处理。但是,相关技术中发现,神经网络任务在实际执行时的效率仍然较低,影响了业务的处理速度。
发明内容
有鉴于此,本公开实施例至少提供一种任务执行方法和设备,以提高任务的运行效率。
第一方面,提供一种任务执行方法,所述方法包括:
通过解码线程池中的至少一个解码线程对待处理的任务数据进行解码处理,得到线程解码数据;
将所述线程解码数据输入网络运行线程池,通过所述网络运行线程池中的多个网络运行线程对所述线程解码数据进行处理,得到结果数据;
其中,所述多个网络运行线程中至少包括两个并行运行的网络运行线程。
在一些实施例中,所述将所述线程解码数据输入网络运行线程池,包括:分别获取所述解码线程池中的多个解码线程解码得到的线程解码数据;将所述多个解码线程对应的线程解码数据组成解码数据组,将所述解码线程组输入所述网络运行线程池中的网络运行线程。
在一些实施例中,所述通过解码线程池中的至少一个解码线程对待处理的任务数据进行解码处理,得到线程解码数据,包括:通过解码线程池中的多个解码线程对多路视频流进行解码处理,得到所述多路视频流中包括的图像帧;所述将所述各个解码线程对应的线程解码数据组成解码数据组,包括:将所述多路视频流中包括的图像帧组成解码数据组。
在一些实施例中,所述通过解码线程池中的多个解码线程对多路视频流进行解码处理,包括:分别通过不同的解码线程对不同路的视频流进行解码处理,所述不同路的视频流的路数与所述解码线程的线程数量相同。
在一些实施例中,所述分别获取所述解码线程池中的各个解码线程解码得到的线程解码数据,将所述各个解码线程对应的线程解码数据组成解码数据组,包括:响应于到达预定的输送周期,将已获取到的多个解码线程的线程解码数据组成所述解码数据组;或者,响应于获取到所述解码线程池中预设解码线程的线程解码数据,将已获取到的预设解码线程的线程解码数据组成解码数据组。
在一些实施例中,所述分别获取所述解码线程池中的多个解码线程解码得到的线程解码数据,包括:通过队列管理线程分别获取所述多个解码线程解码得到的线程解码数据,并将所述线程解码数据输入至所述解码线程对应的数据队列;所述将所述多个解码线程对应的线程解码数据组成解码数据组,包括:通过所述队列管理线程从所述多个解码线程分别对应的数据队列中,获取对应同一个任务的多个解码线程的线程解码数据组成所述解码数据组。
在一些实施例中,所述将所述多个解码线程对应的线程解码数据组成解码数据组,包括:生成K个所述解码数据组,所述K大于或等于所述网络运行线程池中的网络运行线程的数量,且每个所述解码数据组中包括多个解码线程得到的线程解码数据;所述将所述解码数据组输入所述网络运行线程池中的网络运行线程,包括:将所述K个所述解码数据组分别输入所述网络运行线程池中的对应网络运行线程,每个解码数据组对应一个网络运行线程。
在一些实施例中,所述通过解码线程池中的至少一个解码线程对待处理的任务数据进行解码处理,得到线程解码数据,包括:通过所述解码线程池中的解码线程对所述待处理的任务数据进行解码处理,将得到的线程解码数据存储至所述解码线程对应的缓存池;响应于所述缓存池的容量超过容量阈值,控制所述解码线程停止对所述任务数据进行解码。
第二方面,提供一种任务执行设备,所述设备包括:处理器、硬件解码单元和数据运算单元;
所述处理器,用于运行解码线程池中的至少一个解码线程,并通过所述解码线程调用所述硬件解码单元进行解码处理;还用于将所述线程解码数据输入运行的网络运行线程池,并通过所述网络运行线程池中的多个网络运行线程调用所述数据运算单元进行处理;其中,所述多个网络运行线程中至少包括两个并行运行的网络运行线程;
所述硬件解码单元,用于对所述待处理的任务数据进行所述解码处理,得到线程解码数据;
所述数据运算单元,用于对所述线程解码数据进行处理,得到结果数据。
在一些实施例中,所述处理器,还用于运行队列管理线程,并通过所述队列管理线程分别获取所述解码线程池中的多个解码线程解码得到的线程解码数据;将所述多个解码线程对应的线程解码数据组成解码数据组,将所述解码线程组输入所述网络运行线程池中的网络运行线程。
在一些实施例中,所述处理器,用于通过解码线程池中的多个解码线程调用所述硬件解码单元,对多路视频流进行解码处理,得到所述多路视频流中包括的图像帧;还用于通过所述队列管理线程将所述多路视频流中包括的图像帧组成解码数据组。
在一些实施例中,所述处理器,在用于通过所述队列管理线程分别获取所述解码线程池中的多个解码线程解码得到的线程解码数据,将所述多个解码线程对应的线程解码数据组成解码数据组时,包括:响应于到达预定的输送周期,所述队列管理线程将已获取到的多个解码线程的线程解码数据组成所述解码数据组;或者,响应于获取到所述解码线程池中预设解码线程的线程解码数据,所述队列管理线程将已获取到的预设解码线程的线程解码数据组成解码数据组。
在一些实施例中,所述处理器,在用于通过所述队列管理线程分别获取所述解码线程池中的多个解码线程解码得到的线程解码数据,将所述多个解码线程对应的线程解码数据组成解码数据组时,包括:通过所述队列管理线程分别获取所述多个解码线程解码得到的线程解码数据,并将所述线程解码数据输入至所述解码线程对应的数据队列;通过所述队列管理线程从所述多个解码线程分别对应的数据队列中,获取所述多个解码线程的线程解码数据组成所述解码数据组。
在一些实施例中,所述处理器,在用于通过所述队列管理线程将所述多个解码线程对应的线程解码数据组成解码数据组时,包括:生成K个所述解码数据组,所述K大于或等于所述网络运行线程池中的网络运行线程的数量,且每个所述解码数据组中包括多个解码线程得到的线程解码数据;所述将所述解码数据组输入所述网络运行线程池中的网络运行线程,包括:将所述K个所述解码数据组分别输入所述网络运行线程池中的对应网络运行线程,每个解码数据组对应一个网络运行线程。
在一些实施例中,所述处理器,在用于运行解码线程池中的至少一个解码线程,并通过所述解码线程调用所述硬件解码单元进行解码处理时,包括:通过所述解码线程池中的解码线程调用所述硬件解码单元对所述待处理的任务数据进行解码处理,将得到的线程解码数据存储至所述解码线程对应的缓存池;响应于所述缓存池的容量超过容量阈值,控制所述解码线程停止对所述任务数据进行解码。
本公开实施例提供的任务执行方法和设备,通过在网络运行和解码端都采用了线程池模式,并且在网络运行线程池中存在能够并行的多个网络运行线程,使得提高了硬件计算资源的利用率,降低了任务处理的耗时。
附图说明
为了更清楚地说明本公开一个或多个实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开至少一个实施例提供的一种任务执行方法的流程示意图;
图2示出了本公开至少一个实施例提供的任务执行原理的示意图;
图3示出了本公开至少一个实施例提供的另一种任务执行方法的示意图;
图4示出了对应图3的任务执行原理的示意图;
图5示出了本公开至少一个实施例提供的一种任务执行设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开一个或多个实施例中的技术方案,下面将结合本公开一个或多个实施例中的附图,对本公开一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
本公开实施例提供了一种任务执行方法,该方法可以用于执行各种任务,包括但不限于神经网络任务。其中,所述的神经网络任务可以是通过神经网络进行处理的任务。例如,一种神经网络任务可以是通过训练好的神经网络进行人脸识别,以得到人脸识别的识别结果;又例如,另一种神经网络任务可以是通过训练好的神经网络进行车牌识别,输出识别到的车牌号码。如下的方法实施例描述中,以神经网络任务的执行为例进行描述,但可以理解的是,该方法也能够适应于其他类型任务的执行,同样能够提升任务的执行效率。
上述的神经网络任务可以运行在任务执行设备上,例如,该任务执行设备可以是SOC(System on Chip,片上系统)、GPU(graphics processing unit,图形处理器)、CPU(central processing unit,中央处理器)等设备。通过这些任务执行设备上的计算单元执行神经网络任务的计算处理。发明人在实践中发现,在使用任务执行设备执行神经网络任务时,任务的执行效率有待进一步提高。
本公开实施例提供的任务执行方法,可以提高任务执行设备上的硬件计算单元的利用率,从而提高任务的执行效率,降低任务执行的耗时。图1示出了本公开至少一个实施例提供的一种任务执行方法的流程示意图,图2示意了本公开实施例的任务执行原理的示意图。该方法的执行主体可以是任务执行设备,例如SOC等,即可以在任务执行设备上执行本公开实施例的任务执行方法。
请结合图1和图2所示,该方法可以包括如下处理:
在步骤100中,通过解码线程池中的至少一个解码线程对待处理的任务数据进行解码处理,得到线程解码数据。
例如,所述的待处理的任务数据可以是图像,或者也可以是视频流。本实施例不限制任务数据的具体数据格式。
请结合参见图2所示,可以通过解码线程池21对上述待处理的任务数据进行解码处理。该解码线程池21中可以包括多个解码线程,比如,解码线程1,解码线程2,解码线程3,解码线程M等,M是自然数。图2示意了包括数量多于3个解码线程的解码线程池,实际实施中,解码线程池中的解码线程的数量还可以是一个、两个或三个。
示例性的,对于接收到的待处理的任务数据,可以由解码线程池中选择确定一个对该任务数据进行解码处理的解码线程。在同一时刻,解码线程池中的正在运行的解码线程可以是至少一个,比如,可以同时有三个解码线程都在进行任务数据的解码处理,以加快数据解码的处理速度。
本实施例可以将解码线程对任务数据解码后得到的数据称为线程解码数据。例如,若任务数据是一路视频流,通过解码线程对该视频流进行解码处理后,可以得到解码后的该视频流中包括的各个图像帧,这些解码得到的图像帧就可以称为线程解码数据。
解码线程池中的各个解码线程可以并行的进行任务数据的解码,各自都会得到对应的线程解码数据。例如,解码线程1对一路视频流进行解码,得到该路视频流对应的线程解码数据;解码线程2对另一路视频流进行解码,得到该另一路视频流对应的线程解码数据。
在一个例子中,线程解码数据可以存放在解码线程对应的缓存池中。例如,解码线程1可以将对任务数据解码得到的线程解码数据存储在该解码线程1对应的缓存池中,解码线程2可以将对任务数据解码得到的线程解码数据存储在该解码线程2对应的缓存池中。如果缓存池中的容量超过容量阈值,表明缓存池满了,则可以暂停解码线程对任务数据的解码,直至缓存池不满时继续解码。
在步骤102中,将线程解码数据输入网络运行线程池,通过所述网络运行线程池中的多个网络运行线程对所述线程解码数据进行处理,得到结果数据;其中,所述多个网络运行线程中至少包括两个并行运行的网络运行线程。
请继续结合参见图2所示,解码线程池21中输出的线程解码数据可以输入网络运行线程池22。该网络运行线程池22中可以包括多个网络运行线程,例如,网络运行线程1,网络运行线程2,网络运行线程3……网络运行线程N等,N是自然数。图2示意了包括数量多于3个网络运行线程的网络运行线程池,实际实施中,网络运行线程池中的网络运行线程池的数量还可以是两个或三个。
在一个示例中,每一个网络运行线程可以用于执行至少一个神经网络任务。例如,网络运行线程2可以是用于运行进行车牌识别的神经网络,以通过该神经网络对输入的车牌图像进行识别,输出识别到的车牌数字,该车牌数字即为网络运行线程2输出的结果数据。又例如,网络运行线程3可以是用于运行进行自动驾驶的驾驶员疲劳检测的神经网络,以通过该神经网络对输入的驾驶员脸部图像进行识别,识别出驾驶员的疲劳检测结果,该疲劳检测结果即为网络运行线程3输出的结果数据。再例如,同一个网络运行线程还可以负责运行串行处理的至少两个神经网络。
本例子中,网络运行线程池22中的多个网络运行线程,可以至少包括两个并行运行的网络运行线程。即,池中的这些网络运行线程之间的运行关系可以是具有先后依赖关系的串行,也可以是并行,至少存在两个神经网络任务可以并行执行。比如,网络运行线程1和网络运行线程2之间可以是串行,线程解码数据可以先输入网络运行线程1,再将网络运行线程1输出的结果数据作为网络运行线程2的输入。又比如,网络运行线程1至网络运行线程N间都可以并行运行。再比如,网络运行线程2可以与网络运行线程1串行,并且网络运行线程2可以与其他网络运行线程并行。
其中,上述的至少包括两个并行运行的网络运行线程,所述并行的网络运行线程可以是共用相同的硬件处理资源,那么,这些网络运行线程都在运行,就可以保持所述共用的硬件处理资源处于处理状态,比如,其中的第一网络运行线程在利用该硬件处理资源计算数据,第二网络运行线程正在预处理准备任务数据,当第一网络运行线程计算数据结束后,可以接着处理第二网络运行线程准备好的任务数据,尽可能的避免硬件处理资源处于空闲。
在一个例子中,解码线程池中的各个线程解码数据向网络运行线程池中输入时,可以有多种输入方式。比如,解码线程1输出的线程解码数据可以对应输入到网络运行线程1,解码线程2输出的线程解码数据可以对应输入到网络运行线程2,即一对一输入的方式。又比如,其中一个解码线程输出的线程解码数据都可以输入到多个网络运行线程,例如,解码线程1输出的线程解码数据可以输入至网络运行线程1和网络运行线程2中。
需要说明的是,解码线程输出的线程解码数据对应输入至网络运行线程池中的哪个网络运行线程,可以根据预先设置的对应关系来确定。举例来说:执行本公开实施例的任务执行方法的任务执行设备可以接收配置文件,该配置文件中可以预先设置了视频流与神经网络的对应关系,比如,可以预设视频流L1要做人脸识别任务,对应需要将对该视频流L1的线程解码数据输入至神经网络M1处理。而假设视频流L1是由解码线程1负责解码,神经网络M1由网络运行线程2运行,那么根据对应关系即可确定该解码线程1输出的线程解码数据就要对应输入至网络运行线程2中处理。
通过采用上述的线程池的方式,可以提高硬件计算资源的利用率。比如,网络运行线程池中可以包括并行运行的多个网络运行线程,这些线程就可以充分利用计算资源,提高硬件计算资源的利用率。同理,解码线程池中的多个解码线程可以同时对多路任务数据进行解码处理,提高硬件解码资源的利用率。
本实施例的任务执行方法,通过在网络运行和解码端都采用了线程池模式,并且在网络运行线程池中存在能够并行的多个网络运行线程,使得提高了硬件计算资源的利用率,降低了任务处理的耗时。
图3示出了本公开至少一个实施例提供的另一种任务执行方法的流程示意图,图4示意了对应图3的任务执行原理的示意。
请参见图4所示,在图2的基础上,还增加了队列管理线程23。该队列管理线程23的作用是,可以分别获取解码线程池21中的多个解码线程得到的线程解码数据,并将获得的多个线程解码数据组成解码数据组。队列管理线程23可以将所述解码线程组中的数据输入网络运行线程池22中的对应网络运行线程。
具体的,队列管理线程23可以定期轮询解码线程池21中的各个解码线程,若解码线程对应的缓存池中已经有解码得到的线程解码数据,则拉取到该解码线程对应的数据队列中。其中,可以为每个解码线程设置一个对应的数据队列,该数据队列用于存放解码线程解码得到的线程解码数据,队列的长度可以自主设置,并且,该数据队列可以是一个先进先出的队列,即先存放入队列的数据可以优先输出至后续的网络运行线程。
例如,若解码线程1已经对一路视频流解码得到了其中的图像帧p1,队列管理线程23可以将图像帧p1放置在对应解码线程1的数据队列231中。同理,队列管理线程23可以继续判断解码线程2对应的缓存池中是否存在已经解码得到的图像帧,若尚没有解码的图像帧,可以继续判断解码线程3是否已经解码得到线程解码数据,若解码线程2对应的缓存池中已经存在解码得到的图像帧p2,则队列管理线程23可以将图像帧p2放置在对应解码线程2的数据队列232中。以此类推,队列管理线程23可以这样循环的从各个解码线程拉取已经解码得到的图像帧,并放到对应的数据队列中。
请继续参见图4,队列管理线程23可以定期生成一个解码数据组,比如输送周期t可以是10秒,那就每10秒生成一个解码数据组,该解码数据组中可以包括多个解码线程输出的线程解码数据,该多个解码线程可以是解码线程池中的至少部分解码线程。该解码数据组可以作为网络运行线程池中对应的至少一个网络运行线程的输入。
其中,上述的解码数据组所包括的多个解码线程输出的线程解码数据,可以是属于同一任务的线程解码数据。比如,其中包括解码线程1、解码线程2和解码线程3输出的线程解码数据,这三个解码线程处理的视频流都是要做车牌识别任务的,即由这三个解码线程输出的线程解码数据组成的解码数据组都是要进行车牌识别任务的数据。那么可以将该解码数据组的数据都输入至网络运行池中的网络运行线程2,该网络运行线程2负责运行车牌识别的神经网络。
在实际实施中,可以将解码线程池的各个解码线程输出的线程解码数据,从中选择属于同一任务的线程解码数据组成解码数据组,并将该解码数据组输入至网络运行线程池中对应处理该任务的网络运行线程中。比如,假设解码线程池中共有10个解码线程,可能出现的情况是,从中选择了3个解码线程的线程解码数据组成一个解码数据组,该解码数据组的数据都是将进行人脸识别的数据,可以输入至网络运行线程1,该网络运行线程1运行人脸识别网络。从中选择了5个解码线程的线程解码数据组成另一个解码数据组,该另一个解码数据组的数据都是将进行车牌识别的数据,可以输入至网络运行线程2和网络运行线程3,该网络运行线程2和3都是进行车牌识别的线程。
如下以解码线程1至M处理的数据对应同一个任务为例:队列管理线程23可以分别从各个解码线程对应的数据队列中取出一个图像帧,可以按照先进先出的原则从数据队列中取图像帧。比如,从数据队列231中取出一个图像帧p1,该图像帧p1是解码线程1解码得到的。从数据队列232中取出一个图像帧p2,该图像帧p2是解码线程2解码得到的。以此类推,还获取到图像帧p3、p4直至pM。到达输送周期时,将这些图像帧p1、p2直至pM组成一个解码数据组,并将该解码数据组作为网络运行线程的输入。在将解码数据组输入网络运行线程时,是将该解码数据组的所有图像帧都输入对应处理该任务的网络运行线程。
若到达上述的输送周期时,存在尚未获取到线程解码数据的解码线程,可以将已获取到的多个解码线程的线程解码数据组成所述解码数据组。比如,在一个例子中,假设解码线程池中总共有10个解码线程,但是其中有两个解码线程正处于空闲状态,没有待解码处理的视频流,那么,队列管理线程在循环的获取各个解码线程的线程解码数据时,就会存在这两个空闲的解码线程并没有对应的线程解码数据。如果到达了输送周期,队列管理线程就将已经获取到的剩余的8个解码线程的线程解码数据组成解码数据组即可。或者,在另一个例子中,解码线程池中的10个解码线程都处于工作状态,但是解码的速度不一致,有的解码线程速度较快,有的解码线程速度较慢,这也可能造成输送周期到达时,队列管理线程没有获取到部分解码线程对应的线程解码数据,那就将已经获取到的各个解码线程的线程解码数据组成解码数据组即可。
在又一个例子中,队列管理线程并不一定是按照预定的输送周期去向网络运行线程输入解码数据组,而是可以只要获取到解码线程池中预设解码线程的线程解码数据,就可以将这些已获取到的预设解码线程的线程解码数据组成解码数据组,输入网络运行线程。所述的预设解码线程可以是对应同一任务的至少部分解码线程。例如,解码线程1、解码线程2和解码线程3输出的线程解码数据是属于同一任务的,所述的解码线程1、解码线程2和解码线程3可以作为预设解码线程,当获取到这些预设解码线程的线程解码数据后,可以组成解码数据组,将其输入网络运行线程。
在一个示例中,以解码线程1至解码线程M负责处理的数据都属于同一任务为例,队列管理线程获取到解码线程1解码得到的图像帧p1、解码线程2解码得到的图像帧p2、直至解码线程M解码得到的图像帧pM,获取到这些所有的解码线程对应的线程解码数据,就可以直接作为一个解码数据组,输入到网络运行线程中。而上述的输送周期,可以作为是最大等待时长,即如果队列管理线程暂时还没有获取到其中部分解码线程对应的线程解码数据,可以继续等待,等待期间可以继续去各个解码线程处获取,最多等待至到达输送周期。
以上描述了图4示意的原理,在此基础上,如图3所示,图3示例的另一种神经网络任务的执行方法可以包括如下处理:
在步骤300中,通过解码线程池中的多个解码线程对多路视频流进行解码处理,得到所述多路视频流中包括的图像帧。
本步骤中,解码线程池中的多个解码线程可以是对多路视频流进行解码。
在一个例子中,例如,可以是多个解码线程对同一路视频流进行解码,比如,解码线程1和解码线程2都是对一路视频流S1进行解码处理,相当于一路视频流可以分成两路,由两个线程来共同解码;又比如,解码线程3和解码线程4可以是对另一路视频流S2进行解码处理。
在另一个例子中,可以分别通过不同的解码线程对不同路的视频流进行解码处理,所述不同路的视频流的路数与解码线程的线程数量相同。即若解码线程池中有M个解码线程,那么总共有M路视频流,一个解码线程负责其中一路视频流的解码。
请结合图4,本实施例的描述中,以解码线程1至解码线程M分别负责不同路的视频流的解码为例,解码后得到的视频流中包括的图像帧可以分别存储在各个解码线程对应的缓存池中。
在步骤302中,分别获取所述解码线程池中的多个解码线程解码得到的线程解码数据,并将所述多路视频流中包括的图像帧组成解码数据组。
本步骤中,可以由图4中的队列管理线程23负责从多个解码线程对应的缓存池中获取线程解码数据。例如,解码线程1解码得到的图像帧p1存放在数据队列231中,由解码线程2对应的缓存池中获取解码得到的图像帧p2存放在数据队列232中,以此类推。
如图4所示,队列管理线程23可以将图像帧p1、图像帧p2直至图像帧pM组成一个解码数据组,如上所述的,这些解码数据组中的各个图像帧分别属于不同路的视频流。此外,前面也已提到,若到达了输送周期,仍有部分解码线程的图像帧未获取到,可以将已经获取到的各个图像帧组成解码数据组。
在步骤304中,将所述解码线程组输入所述网络运行线程池中的网络运行线程,通过所述网络运行线程池中的多个网络运行线程对所述线程解码数据进行处理,得到结果数据。
本步骤中,队列管理线程可以将准备好的解码数据组输入到对应的网络运行线程。例如,可以将图像帧p1至图像帧pM都输入至网络运行线程1,也可以将图像帧p1至图像帧pM都输入至网络运行线程2。
在一个例子中,队列管理线程所管理的对应于解码线程的数据队列的长度可以大于或等于网络运行线程的数量。比如,请结合图4的示意,数据队列231中可以总共存放数量为k个的图像帧p1,该k可以大于或等于网络运行线程池中的线程数量N,例如,若N是8,则k可以是9。如此设置的考虑是,数据队列的长度尽可能的长一些,可以尽快的生成数量较多的解码数据组,并将这些解码数据组尽快的输送到各个网络运行线程,当k大于或等于N时,能够使得尽快的生成K个解码数据组,所述K的数量大于或等于所述网络运行线程池中的网络运行线程的数量,这些K个解码数据组的数量能够满足所有网络运行线程的需求,从而提高硬件资源的利用率。
举例来说:假设网络运行线程池22中的N个网络运行线程都是可以并行运行的,那么队列管理线程可以按照前述的方式,分别获取到各个解码线程解码得到的图像帧,并将这些图像帧组成解码数据组。假设共生成了N个解码数据组,这些N个解码数据组分别输入到各个网络运行线程中,每个解码数据组输入到对应的一个网络运行线程。那么,这些N个网络运行线程就可以并行处理。
本实施例的任务执行方法,一方面,通过在网络运行和解码端都采用了线程池模式,并且在网络运行线程池中存在能够并行的多个网络运行线程,使得提高了硬件计算资源的利用率,降低了任务处理的耗时;另一方面,该实施例中采用了准备解码数据组的方式,该方式可以将包括多路视频流的图像帧的解码数据组同时输入到网络运行线程,就能够使得网络运行线程尽快的得到这多路视频流的图像帧的结果数据,加快了神经网络任务的数据源的获取效率和任务处理速度。
为了实现本公开任一实施例的任务执行方法,图5示出了本公开至少一个实施例提供的一种任务执行设备的结构示意图,如图5所示,该设备可以包括:处理器51、硬件解码单元52和数据运算单元53。
所述处理器51,用于运行解码线程池中的至少一个解码线程,并通过所述解码线程调用所述硬件解码单元进行解码处理;还用于将所述线程解码数据输入运行的网络运行线程池,并通过所述网络运行线程池中的多个网络运行线程调用所述数据运算单元进行处理;其中,所述多个网络运行线程中至少包括两个并行运行的网络运行线程。
所述硬件解码单元52,用于对所述待处理的任务数据进行所述解码处理,得到线程解码数据。
所述数据运算单元53,用于对所述线程解码数据进行处理,得到结果数据。
在一些实施例中,处理器51,还用于运行队列管理线程,并通过所述队列管理线程分别获取所述解码线程池中的多个解码线程解码得到的线程解码数据;将所述多个解码线程对应的线程解码数据组成解码数据组,将所述解码线程组输入所述网络运行线程池中的网络运行线程。
在一些实施例中,处理器51,用于通过解码线程池中的多个解码线程调用所述硬件解码单元,对多路视频流进行解码处理,得到所述多路视频流中包括的图像帧;还用于通过所述队列管理线程将所述多路视频流中包括的图像帧组成解码数据组。
在一些实施例中,处理器51,在用于通过所述队列管理线程分别获取所述解码线程池中的多个解码线程解码得到的线程解码数据,将所述多个解码线程对应的线程解码数据组成解码数据组时,包括:响应于到达预定的输送周期,所述队列管理线程将已获取到的多个解码线程的线程解码数据组成所述解码数据组;或者,响应于获取到所述解码线程池中预设解码线程的线程解码数据,所述队列管理线程将已获取到的预设解码线程的线程解码数据组成解码数据组。
在一些实施例中,所述处理器51,在用于通过所述队列管理线程分别获取所述解码线程池中的多个解码线程解码得到的线程解码数据,将所述多个解码线程对应的线程解码数据组成解码数据组时,包括:通过所述队列管理线程分别获取所述多个解码线程解码得到的线程解码数据,并将所述线程解码数据输入至所述解码线程对应的数据队列;通过所述队列管理线程从所述多个解码线程分别对应的数据队列中,获取所述多个解码线程的线程解码数据组成所述解码数据组。
在一些实施例中,所述处理器51,在用于通过所述队列管理线程将所述多个解码线程对应的线程解码数据组成解码数据组时,包括:生成K个所述解码数据组,所述K大于或等于所述网络运行线程池中的网络运行线程的数量,且每个所述解码数据组中包括多个解码线程得到的线程解码数据;所述将所述解码数据组输入所述网络运行线程池中的网络运行线程,包括:将所述K个所述解码数据组分别输入所述网络运行线程池中的对应网络运行线程,每个解码数据组对应一个网络运行线程。
在一些实施例中,处理器51,在用于运行解码线程池中的至少一个解码线程,并通过所述解码线程调用所述硬件解码单元进行解码处理时,包括:通过所述解码线程池中的解码线程调用所述硬件解码单元对所述待处理的任务数据进行解码处理,将得到的线程解码数据存储至所述解码线程对应的缓存池;响应于所述缓存池的容量超过容量阈值,控制所述解码线程停止对所述任务数据进行解码。
在一些实施例中,上述设备可以用于执行上文所述的对应任意方法,为了简洁,这里不再赘述。
本公开实施例还提供了一种电子设备,所述设备包括存储器、处理器,所述存储器用于存储计算机可读指令,所述处理器用于调用所述计算机指令,实现本说明书任一实施例的任务执行方法。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本说明书任一实施例的任务执行方法。
本领域技术人员应明白,本公开一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本公开一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本公开一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
其中,本公开实施例所述的“和/或”表示至少具有两者中的其中一个,例如,“多和/或B”包括三种方案:多、B、以及“多和B”。
本公开中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于任务执行设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本公开特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的行为或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本公开中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本公开中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本公开中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
本公开中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPG多(现场可编程门阵列)或多SIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PD多)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本公开包含许多具体实施细节,但是这些不应被解释为限制任何公开的范围或所要求保护的范围,而是主要用于描述特定公开的具体实施例的特征。本公开内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本公开一个或多个实施例的较佳实施例而已,并不用以限制本公开一个或多个实施例,凡在本公开一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开一个或多个实施例保护的范围之内。

Claims (12)

1.一种任务执行方法,其特征在于,所述方法包括:
通过解码线程池中的至少一个解码线程对待处理的任务数据进行解码处理,得到线程解码数据;
将所述线程解码数据输入网络运行线程池,通过所述网络运行线程池中的多个网络运行线程对所述线程解码数据进行处理,得到结果数据;
所述将所述线程解码数据输入网络运行线程池,包括:分别获取所述解码线程池中的多个解码线程解码得到的线程解码数据;从所述多个解码线程对应的线程解码数据中,选择属于同一任务的线程解码数据组成解码数据组,将所述解码线程组输入所述网络运行线程池中的网络运行线程;所输入的网络运行线程用于处理所述同一任务;
所述分别获取所述解码线程池中的多个解码线程解码得到的线程解码数据,包括:通过队列管理线程分别获取所述多个解码线程解码得到的线程解码数据,并将所述线程解码数据输入至所述解码线程对应的数据队列;
所述从所述多个解码线程对应的线程解码数据中,选择属于同一任务的线程解码数据组成解码数据组,包括:通过所述队列管理线程从所述多个解码线程分别对应的数据队列中,获取对应同一个任务的多个解码线程的线程解码数据组成所述解码数据组;
其中,所述多个网络运行线程中至少包括两个并行运行的网络运行线程。
2.根据权利要求1所述的方法,其特征在于,
所述通过解码线程池中的至少一个解码线程对待处理的任务数据进行解码处理,得到线程解码数据,包括:
通过解码线程池中的多个解码线程对多路视频流进行解码处理,得到所述多路视频流中包括的图像帧;
所述解码数据组的组成方式,包括:
将所述多路视频流中包括的图像帧组成解码数据组。
3.根据权利要求2所述的方法,其特征在于,所述通过解码线程池中的多个解码线程对多路视频流进行解码处理,包括:
分别通过不同的解码线程对不同路的视频流进行解码处理,所述不同路的视频流的路数与所述解码线程的线程数量相同。
4.根据权利要求1所述的方法,其特征在于,所述解码数据组的组成方式,包括:
响应于到达预定的输送周期,将已获取到的多个解码线程的线程解码数据组成所述解码数据组;或者,
响应于获取到所述解码线程池中预设解码线程的线程解码数据,将已获取到的预设解码线程的线程解码数据组成解码数据组。
5.根据权利要求1所述的方法,其特征在于,所述解码数据组的组成方式,包括:
生成K个所述解码数据组,所述K大于或等于所述网络运行线程池中的网络运行线程的数量,且每个所述解码数据组中包括多个解码线程得到的线程解码数据;
所述将所述解码数据组输入所述网络运行线程池中的网络运行线程,包括:
将所述K个所述解码数据组分别输入所述网络运行线程池中的对应网络运行线程,每个解码数据组对应一个网络运行线程。
6.根据权利要求1所述的方法,其特征在于,所述通过解码线程池中的至少一个解码线程对待处理的任务数据进行解码处理,得到线程解码数据,包括:
通过所述解码线程池中的解码线程对所述待处理的任务数据进行解码处理,将得到的线程解码数据存储至所述解码线程对应的缓存池;
响应于所述缓存池的容量超过容量阈值,控制所述解码线程停止对所述任务数据进行解码。
7.一种任务执行设备,其特征在于,所述设备包括:处理器、硬件解码单元和数据运算单元;
所述处理器,用于运行解码线程池中的至少一个解码线程,并通过所述解码线程调用所述硬件解码单元进行解码处理;还用于将线程解码数据输入运行的网络运行线程池,并通过所述网络运行线程池中的多个网络运行线程调用所述数据运算单元进行处理;其中,所述多个网络运行线程中至少包括两个并行运行的网络运行线程;所述将所述线程解码数据输入网络运行线程池,包括:分别获取所述解码线程池中的多个解码线程解码得到的线程解码数据;从所述多个解码线程对应的线程解码数据中,选择属于同一任务的线程解码数据组成解码数据组,将所述解码线程组输入所述网络运行线程池中的网络运行线程;所输入的网络运行线程用于处理所述同一任务;
所述处理器,用于:通过队列管理线程分别获取所述多个解码线程解码得到的线程解码数据,并将所述线程解码数据输入至所述解码线程对应的数据队列;通过所述队列管理线程从所述多个解码线程分别对应的数据队列中,获取所述多个解码线程的线程解码数据组成所述解码数据组;
所述硬件解码单元,用于对待处理的任务数据进行所述解码处理,得到线程解码数据;
所述数据运算单元,用于对所述线程解码数据进行处理,得到结果数据。
8.根据权利要求7所述的设备,其特征在于,
所述处理器,还用于运行队列管理线程,并通过所述队列管理线程分别获取所述解码线程池中的多个解码线程解码得到的线程解码数据;将所述多个解码线程对应的线程解码数据组成解码数据组,将所述解码线程组输入所述网络运行线程池中的网络运行线程。
9.根据权利要求8所述的设备,其特征在于,
所述处理器,用于通过解码线程池中的多个解码线程调用所述硬件解码单元,对多路视频流进行解码处理,得到所述多路视频流中包括的图像帧;还用于通过所述队列管理线程将所述多路视频流中包括的图像帧组成解码数据组。
10.根据权利要求8所述的设备,其特征在于,
所述处理器,用于:
响应于到达预定的输送周期,所述队列管理线程将已获取到的多个解码线程的线程解码数据组成所述解码数据组;或者,
响应于获取到所述解码线程池中预设解码线程的线程解码数据,所述队列管理线程将已获取到的预设解码线程的线程解码数据组成解码数据组。
11.根据权利要求8所述的设备,其特征在于,
所述处理器,在用于通过所述队列管理线程将所述多个解码线程对应的线程解码数据组成解码数据组时,包括:
生成K个所述解码数据组,所述K大于或等于所述网络运行线程池中的网络运行线程的数量,且每个所述解码数据组中包括多个解码线程得到的线程解码数据;
所述将所述解码数据组输入所述网络运行线程池中的网络运行线程,包括:
将所述K个所述解码数据组分别输入所述网络运行线程池中的对应网络运行线程,每个解码数据组对应一个网络运行线程。
12.根据权利要求7所述的设备,其特征在于,
所述处理器,在用于运行解码线程池中的至少一个解码线程,并通过所述解码线程调用所述硬件解码单元进行解码处理时,包括:通过所述解码线程池中的解码线程调用所述硬件解码单元对所述待处理的任务数据进行解码处理,将得到的线程解码数据存储至所述解码线程对应的缓存池;响应于所述缓存池的容量超过容量阈值,控制所述解码线程停止对所述任务数据进行解码。
CN202111152736.7A 2021-09-29 2021-09-29 任务执行方法和设备 Active CN113905273B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111152736.7A CN113905273B (zh) 2021-09-29 2021-09-29 任务执行方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111152736.7A CN113905273B (zh) 2021-09-29 2021-09-29 任务执行方法和设备

Publications (2)

Publication Number Publication Date
CN113905273A CN113905273A (zh) 2022-01-07
CN113905273B true CN113905273B (zh) 2024-05-17

Family

ID=79189344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111152736.7A Active CN113905273B (zh) 2021-09-29 2021-09-29 任务执行方法和设备

Country Status (1)

Country Link
CN (1) CN113905273B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657111A (zh) * 2013-11-20 2015-05-27 方正信息产业控股有限公司 一种并行计算方法和装置
CN107450971A (zh) * 2017-06-29 2017-12-08 北京五八信息技术有限公司 任务处理方法及装置
CN109409513A (zh) * 2018-10-10 2019-03-01 广州市百果园信息技术有限公司 一种基于神经网络的任务处理方法及相关设备
CN109710400A (zh) * 2018-12-17 2019-05-03 平安普惠企业管理有限公司 线程资源分组的方法及装置
CN109886407A (zh) * 2019-02-27 2019-06-14 上海商汤智能科技有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN110381322A (zh) * 2019-07-15 2019-10-25 腾讯科技(深圳)有限公司 视频流解码方法、装置、终端设备及存储介质
CN110851246A (zh) * 2019-09-30 2020-02-28 天阳宏业科技股份有限公司 一种批量任务处理方法、装置、系统及存储介质
CN111176806A (zh) * 2019-12-05 2020-05-19 中国银联股份有限公司 一种业务处理方法、装置及计算机可读存储介质
CN111614758A (zh) * 2020-05-20 2020-09-01 浩云科技股份有限公司 一种码流转发方法、装置、可读存储介质及计算设备
CN111694647A (zh) * 2020-06-08 2020-09-22 北京百度网讯科技有限公司 用于自动驾驶车辆的任务调度方法、设备及存储介质
CN112163468A (zh) * 2020-09-11 2021-01-01 浙江大华技术股份有限公司 基于多线程的图像处理方法及装置
CN112181657A (zh) * 2020-09-30 2021-01-05 京东方科技集团股份有限公司 视频处理方法、装置、电子设备及存储介质
CN113076181A (zh) * 2021-03-04 2021-07-06 山东英信计算机技术有限公司 一种数据处理流程优化方法、系统及存储介质
CN113221706A (zh) * 2021-04-30 2021-08-06 西安聚全网络科技有限公司 基于多进程的多路视频流的ai分析方法及系统

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657111A (zh) * 2013-11-20 2015-05-27 方正信息产业控股有限公司 一种并行计算方法和装置
CN107450971A (zh) * 2017-06-29 2017-12-08 北京五八信息技术有限公司 任务处理方法及装置
CN109409513A (zh) * 2018-10-10 2019-03-01 广州市百果园信息技术有限公司 一种基于神经网络的任务处理方法及相关设备
CN109710400A (zh) * 2018-12-17 2019-05-03 平安普惠企业管理有限公司 线程资源分组的方法及装置
CN109886407A (zh) * 2019-02-27 2019-06-14 上海商汤智能科技有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN110381322A (zh) * 2019-07-15 2019-10-25 腾讯科技(深圳)有限公司 视频流解码方法、装置、终端设备及存储介质
CN110851246A (zh) * 2019-09-30 2020-02-28 天阳宏业科技股份有限公司 一种批量任务处理方法、装置、系统及存储介质
CN111176806A (zh) * 2019-12-05 2020-05-19 中国银联股份有限公司 一种业务处理方法、装置及计算机可读存储介质
CN111614758A (zh) * 2020-05-20 2020-09-01 浩云科技股份有限公司 一种码流转发方法、装置、可读存储介质及计算设备
CN111694647A (zh) * 2020-06-08 2020-09-22 北京百度网讯科技有限公司 用于自动驾驶车辆的任务调度方法、设备及存储介质
CN112163468A (zh) * 2020-09-11 2021-01-01 浙江大华技术股份有限公司 基于多线程的图像处理方法及装置
CN112181657A (zh) * 2020-09-30 2021-01-05 京东方科技集团股份有限公司 视频处理方法、装置、电子设备及存储介质
CN113076181A (zh) * 2021-03-04 2021-07-06 山东英信计算机技术有限公司 一种数据处理流程优化方法、系统及存储介质
CN113221706A (zh) * 2021-04-30 2021-08-06 西安聚全网络科技有限公司 基于多进程的多路视频流的ai分析方法及系统

Also Published As

Publication number Publication date
CN113905273A (zh) 2022-01-07

Similar Documents

Publication Publication Date Title
CN105511954B (zh) 一种报文处理方法及装置
US10599488B2 (en) Multi-purpose events for notification and sequence control in multi-core processor systems
CN109343997A (zh) 卡顿检测方法、装置、终端及存储介质
US10241799B2 (en) Out-of-order command execution with sliding windows to maintain completion statuses
KR101079001B1 (ko) 스레드 및 스레드 종속성 관리 방법 및 장치
CN107852413A (zh) 用于将网络分组处理卸载到gpu的技术
US9710876B2 (en) Graph-based application programming interface architectures with equivalency classes for enhanced image processing parallelism
US20140281417A1 (en) Systems, methods, and computer program products providing a data unit sequencing queue
CN103365729A (zh) 一种基于任务类型的动态MapReduce 调度方法及系统
US20170097854A1 (en) Task placement for related tasks in a cluster based multi-core system
US20170160929A1 (en) In-order execution of commands received via a networking fabric
US8832412B2 (en) Scalable processing unit
US20170090979A1 (en) Technologies for integrated thread scheduling
CN111752971A (zh) 基于任务并行处理数据流的方法、装置、设备及存储介质
CN113905273B (zh) 任务执行方法和设备
CN104572298A (zh) 视频云平台的资源调度方法及装置
CN117170886A (zh) 一种面向大连接视频分析的连续学习资源调度方法及装置
US10826982B2 (en) Packet processing architecture and method therefor
CN110704206B (zh) 一种实时计算方法、计算机存储介质及电子设备
CN115391053B (zh) 基于cpu和gpu混合计算的在线服务方法及装置
CN110825342B (zh) 存储调度器件和用于处理信息的系统、方法及装置
US9959143B1 (en) Actor and thread message dispatching
CN111274049A (zh) 一种基于异构并行加速的高效多路视频分析方法
CN110764710A (zh) 低延迟高iops的数据访问方法与存储系统
CN102026106B (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
GR01 Patent grant
GR01 Patent grant