CN112835626A - 流水线配置方法、装置、可读存储介质和电子设备 - Google Patents

流水线配置方法、装置、可读存储介质和电子设备 Download PDF

Info

Publication number
CN112835626A
CN112835626A CN201911158581.0A CN201911158581A CN112835626A CN 112835626 A CN112835626 A CN 112835626A CN 201911158581 A CN201911158581 A CN 201911158581A CN 112835626 A CN112835626 A CN 112835626A
Authority
CN
China
Prior art keywords
task
information
determining
processor
algorithm
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
Application number
CN201911158581.0A
Other languages
English (en)
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.)
Beijing Lynxi Technology Co Ltd
Original Assignee
Beijing Lynxi 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 Beijing Lynxi Technology Co Ltd filed Critical Beijing Lynxi Technology Co Ltd
Priority to CN201911158581.0A priority Critical patent/CN112835626A/zh
Publication of CN112835626A publication Critical patent/CN112835626A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Processing (AREA)

Abstract

公开了一种流水线配置方法、装置、可读存储介质和电子设备,本公开通过服务器解析待执行任务,以确定包含至少一个场景信息的属性信息,并根据可用算法和资源确定各场景信息对应的流水线配置规则,再根据各流水线配置规则来配置处理所述待执行任务的流水线。本公开可以通过服务器自动解析待执行任务,以及配置与所述待执行任务对应的流水线,对于不同场景的任务针对性的配置流水线,提高任务的执行效率。

Description

流水线配置方法、装置、可读存储介质和电子设备
技术领域
本公开涉及计算机技术领域,尤其涉及一种流水线配置方法、装置、可读存储介质和电子设备。
背景技术
在处理较为复杂的任务时,例如涉及深度学习领域的任务,为提高处理的效率和速度,以及节省服务器的内存,通常服务器会采用流水线的方式把各个所需的功能或算法作为流水线的处理环节串在一起,得到用于完成应用处理待执行任务的流水线。相关技术中,应用于任务处理的流水线具有灵活性差,针对性不强等缺点。
发明内容
有鉴于此,本公开实施例提供一种流水线配置方法、装置、可读存储介质和电子设备,以实现对于不同场景的任务针对性的配置流水线,提高任务的执行效率。
第一方面,本公开实施例公开了一种流水线配置方法,所述方法包括:
确定待执行任务;
解析所述待执行任务得到任务类型和属性信息,所述属性信息中包括至少一个场景信息;
根据所述任务类型确定算法集合和可用资源信息,所述可用资源信息包括可用的至少一个处理器信息和可用的内存信息;
根据算法集合和可用资源信息确定所述各场景信息对应的流水线配置规则,所述流水线配置规则包括算法、各算法之间的连接关系以及对应的资源;
根据所述各流水线配置规则配置用于处理所述待执行任务的流水线。
进一步地,所述处理器信息中包括处理器类型和处理器数量,其中,所述处理器类型包括中央处理器和图形处理器。
进一步地,所述根据算法集合和可用资源信息确定所述各场景信息对应的流水线配置规则包括:
在所述算法集合中确定与所述各场景信息对应的算法以及所述各算法之间的连接关系;
根据所述可用资源信息分别为所述各算法分配对应的可用资源。
进一步地,所述根据所述可用资源信息分别为所述各算法分配对应的可用资源包括:
分别为所述各算法分配对应的内存;
分别确定所述各算法对应的处理器信息。
进一步地,所述分别确定所述各算法对应的处理器信息包括:
分别确定处理所述各算法的参考处理器类型;
响应于所述可用资源中包括参考处理器类型,确定所述参考处理器类型为所述算法对应的处理器类型。
进一步地,所述根据算法集合和可用资源信息确定所述各场景信息对应的流水线配置规则包括:
确定所述各场景信息对应的处理器信息;
根据所述算法集合以及所述场景信息对应的处理器信息,确定所述场景信息对应的算法和各算法之间的连接关系;
分别为所述各算法分配对应的内存。
进一步地,所述确定所述各场景信息对应的处理器信息包括:
根据所述各场景信息内容确定对应的参考处理器类型;
响应于所述可用资源中包括参考处理器类型,确定所述参考处理器类型为所述算法对应的处理器类型。
进一步地,所述根据所述各流水线配置规则配置用于处理所述待执行任务的流水线包括:
响应于所述流水线配置规则只有一种,根据所述流水线配置规则配置用于处理所述待执行任务的流水线。
进一步地,所述根据所述各流水线配置规则配置用于处理所述待执行任务的流水线包括:
响应于所述流水线配置规则大于一种,根据所述各流水线配置规则对应的场景信息在待执行任务中出现的顺序确定流水线顺序;
根据所述各流水线配置规则配置对应的子流水线;
根据所述流水线顺序连接所述各子流水线得到用于处理所述待执行任务的流水线。
进一步地,包括多个所述任务类型,
其中,根据所述任务类型确定算法集合和可用资源信息,包括:
分别确定各任务类型对应的算法集合和可用资源信息;
其中,根据算法集合和可用资源信息确定所述各场景信息对应的流水线配置规则,包括:
根据各任务类型对应的算法集合和可用资源信息,分别确定各场景信息对应的流水线配置规则。
第二方面,本公开实施例公开了一种流水线配置装置,所述装置包括:
任务获取模块,用于确定待执行任务;
特征提取模块,用于解析所述待执行任务得到任务类型和属性信息,所述属性信息中包括至少一个场景信息;
资源确定模块,根据所述任务类型确定算法集合和可用资源信息,所述可用资源信息包括可用的至少一个处理器信息和可用的内存信息;
规则确定模块,用于根据算法集合和可用资源信息确定所述各场景信息对应的流水线配置规则,所述流水线配置规则包括算法、各算法之间的连接关系以及对应的资源;
流水线配置模块,用于根据所述各流水线配置规则配置用于处理所述待执行任务的流水线。
第三方面,本公开实施例公开了一种计算机可读存储介质,用于存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如第一方面中任一项所述的方法。
第四方面,本公开实施例公开了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如第一方面中任一项所述的方法。
本公开通过服务器解析待执行任务,以确定包含至少一个场景信息的属性信息,并根据可用算法和资源确定各场景信息对应的流水线配置规则,再根据各流水线配置规则来配置处理所述待执行任务的流水线。本公开可以通过服务器自动解析待执行任务,以及配置与所述待执行任务对应的流水线,对于不同场景的任务针对性的配置流水线,提高任务的执行效率。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1为本公开实施例的流水线配置方法的流程图;
图2为本公开实施例的流水线配置方法的服务器结构示意图;
图3为本公开实施例的一种流水线的示意图;
图4为本公开实施例的流水线配置装置的示意图;
图5为本公开实施例的电子设备的示意图。
具体实施方式
以下基于实施例对本公开进行描述,但是本公开并不仅仅限于这些实施例。在下文对本公开的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本公开。为了避免混淆本公开的实质,公知的方法、过程、流程并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则整个申请文件中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本公开的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本公开的描述中,除非另有说明,“多个”的含义是两个或两个以上。
图1为本公开实施例的流水线配置方法的流程图,如图1所示,所述流水线配置方法包括:
步骤S100、确定待执行任务。
其中,所述待执行任务由服务器确定,所述确定待执行任务的方式可以是由服务器通过预设的应用程序接口接收外部终端或其他设备发送的待执行任务。所述待执行任务例如可以是视频、音频、文本、图片、代码等格式的文件。
步骤S200、解析所述待执行任务得到任务类型和至少一个属性信息。
其中,所述服务器在接收到待执行任务后,解析所述待执行任务以确定所述待执行任务的类型,所述任务类型例如可以是语音识别任务、人脸识别任务、车牌识别任务等。服务器预先设定所述任务类型和服务器解析待执行任务的结果之间的对应关系。以所述服务器接收到的待执行任务为视频,所述预设的对应关系为“人脸图像-人脸识别”,“汽车图像-车牌识别”,“公路场景-车牌识别”,“楼道场景-人脸识别”为例进行说明,所述服务器通过识别所述视频中包含的信息确定所述待执行任务的任务类型。当所述视频的内容包括人脸图像,或视频内的场景为楼道内场景,即根据预设的对应关系确定所述待执行任务的类型为人脸识别任务;当所述视频的内容中包含多个汽车,或视频内的场景为公路场景,则根据预设的对应关系确定所述待执行任务的任务类型为车牌识别任务。
在一些可选的实施例中,在服务器解析待执行任务,可能得到不同内容或不同场景,例如,服务器解析视频,得到视频内容包括人脸图像和汽车图像,可以先对视频中不同场景或内容的区域进行划分,再分别根据划分后得到区域中的内容确定对应的任务类型。即将一个待执行任务根据不同区域划分成不同任务类型的子任务,可以并行处理所述各子任务,即并行地根据所述各子任务的任务类型,分别确定用于处理各子任务的算法集合和可用资源信息,再根据各子任务对应的算法集合和可用资源信息确定所述各子任务中的各场景信息对应的流水线配置规则,最后根据各子任务对应的流水线配置规则配置对应的流水线并行处理所述各子任务。这样,当解析待执行任务,确定存在多个任务类型时,可以分别配置对应于各任务类型的流水线,并行处理多个流水线,能够提高执行效率。
进一步地,当解析所述待执行任务未得到需要处理的对象时,则无需进行后续配置流水线以及应用流水线的操作,起到节省算力和功耗的目的。
所述服务器还可以解析待执行任务的内容,根据待执行任务的内容确定所述待执行任务的属性信息,所述属性信息中包括至少一个场景信息。所述场景信息用于表征所述视频此时的场景特征,例如可以为夜间场景、日间场景、高速运动场景、低速运动场景、固定区域的偶尔运动场景、空旷场景等。除此之外,所述属性信息中还包括其他用于表征所述待执行任务特征的信息。例如,当所述待执行任务的任务类型为人脸识别时,所述属性信息中还包括所述服务器通过解析所述待执行任务确定的人脸数量、视频时间、视频格式等属性信息。
步骤S300、根据所述任务类型确定算法集合和可用资源信息。
其中,所述算法集合中包括至少一种算法,所述可用资源信息包括可用的至少一个处理器信息和可用的内存信息。所述服务器在根据步骤S200确定所述待执行任务的任务类型后,在算法池中确定所述服务器当前可用的,且与所述任务类型对应的算法,得到用于处理所述待执行任务的算法集合。其中,所述各算法可以将所述待执行任务或上一算法的输出作为输入,处理后转换为对应的输出,以实现对所述待执行任务的文件解析、内容识别、内容比较、格式转换等处理。所述可用的处理器信息包括处理器类型和处理器数量,所述处理器数量为服务器当前可用的处理器数量,所述处理器类型包括中央处理器和图形处理器。其中,所述中央处理器优先处理任务复杂程度高、并行性低、用于调度的任务,所述图形处理器优先处理计算量大、并行性高的任务。所述可用的内存为服务器内目前未被占用且可分配给各算法的内存,用于为所述各算法处理待执行任务过程中产生的数据提供缓存空间。
步骤S400、根据算法集合和可用资源信息确定所述各场景信息对应的流水线配置规则。
在本实施例的一个可选的实现方式中,所述流水线配置规则包括算法、各算法之间的连接关系以及对应的资源。因此,所述确定各场景信息对应的流水线配置规则可以包括:
步骤S410、在所述算法集合中确定与所述各场景信息对应的算法以及所述各算法之间的连接关系。
其中,所述各场景信息和算法的对应关系,以及所述各算法之间的连接关系可分别由服务器预先设定的算法对应规则和算法顺序规则确定。所述算法对应规则用于表征所述各场景信息和各可用算法之间的对应关系,例如可以为场景信息A对应{算法a、算法b、算法c}。当服务器解析待执行任务得到的任务类型为人脸识别任务,得到的属性信息中包含场景信息为夜间场景时,所述夜间场景对应的算法包括:补光算法、视频解码算法、人脸特征提取算法、人脸检测算法、特征对比算法。所述算法顺序规则用于表征所述各算法的执行顺序,例如,可以设定所述算法执行顺序依次为算法a、算法b、算法c。仍以服务器解析待执行任务得到的任务类型为人脸识别任务,得到的属性信息中包含场景信息为夜间场景为例进行说明,所述算法执行顺序为依次执行视频解码算法、补光算法、人脸检测算法、人脸特征提取算法、特征对比算法。
步骤S420、根据所述可用资源信息分别为所述各算法分配对应的可用资源。
举例来说,所述可用资源根据所述可用资源信息确定并分配,所述可用资源信息包括可用的处理器信息和可用的内存信息,因此在本实施例中,所述分配对应资源的过程可以包括:
步骤S421、分别为所述各算法分配对应的内存。
举例来说,服务器可以根据所述步骤S410确定的算法,以及属性信息中包括的所述待执行任务的文件大小预测各算法在处理所述待执行任务的过程中产生的临时数据大小。再根据预测的临时数据大小以及可用资源信息中的可用内存信息为所述各算法分配合理的内存,以防止为某些算法分配的内存过小,或某些算法占用过多内存。
步骤S422、分别为所述各算法分配对应的处理器信息。
其中,所述处理器信息包括处理所述各算法的处理器类型和处理器数量,所述处理器的类型可以包括中央处理器和图形处理器。因所述各处理器的性能不同,所以可以为不同的算法分配不同的处理器,从而保证流水线运行过程中具有较高的处理效率,并提高服务器的资源利用率。
在本实施例中,所述分别为所述各算法分配对应的处理器信息包括:
步骤S423、分别确定处理所述各算法的参考处理器类型。
其中,所述处理各算法的参考处理器类型可以根据所述属性信息确定。进一步地,所述服务器还可以确定各算法需要的所述参考处理器数量。所述参考处理器的类型可以根据所述算法的计算量以及所述待执行任务的数量确定。以人脸识别为例进行说明,在处理人脸识别任务时需要确定视频中的人脸图像,以及对比所述人脸图像是否为预存的标准人脸图像。对于包含多个人脸的视频,在解析视频,识别视频中人脸图像并统计数量时可以使用中央处理器进行处理;在对不同人脸进行特征提取,以及对比所述检测到的各人脸图像和标准人脸图像时可以通过图形处理器并行处理所述各人脸图像。可选的,可以根据所述待执行任务中人脸图像的数量确定处理器数量。
步骤S424、响应于所述可用资源中包括参考处理器类型,确定所述参考处理器类型为所述算法对应的处理器类型。
举例来说,对于步骤S421中确定的各算法对应的参考处理器类型,当服务器在所述步骤S300中确定的可用资源中包括所述参考处理器类型时,确定所述参考处理器类型为所述算法对应的处理器类型。例如当所述算法对应的参考处理器类型为图形处理器,所述服务器的可用资源中包括可用的处理器类型为中央处理器和图形处理器时,即确定所述算法对应的处理器类型为图形处理器。
步骤S425、响应于所述可用资源中不包括参考处理器类型,在可用资源中确定一个处理器类型为所述算法对应的处理器类型。
举例来说,对于步骤S421中确定的各算法对应的参考处理器类型,当服务器在所述步骤S300中确定的可用资源中的可用处理器类型不包括所述参考处理器类型,或者可用资源中的参考处理器数量少于属性信息中指定的处理器数量时,在可用资源中确定一个处理器类型为所述算法对应的处理器类型,并确定对应的处理器数量。例如当所述算法对应的参考处理器为图形处理器,所述服务器可用资源中包含的处理器为中央处理器时,即确定所述算法对应的处理器为中央处理器。
通过所述实施方式可以先确定所述各场景信息对应的算法,再进一步确定所述各算法的执行顺序,并根据所述各算法的特性针对性的为各算法分配对应的处理器和内存资源,可以提高最终得到的流水线的工作效率。
在本实施例的另一个可选的实施方式中,所述确定算法、各算法之间的连接关系以及对应的资源还可以包括:
步骤S410’、确定所述各场景信息对应的处理器信息。
其中,所述确定处理器信息的过程可以包括:
步骤S411’、根据所述各场景信息的内容确定对应的参考处理器类型。
其中,所述服务器可以预先设定各场景信息与处理器类型的对应关系,例如对于密集场景,因需要处理的内容数量过多,选择图形处理器;对于空旷场景,因需要处理的内容数量少,选择中央处理器。举例来说,服务器解析所述待执行任务获得的任务类型为车牌识别,得到的属性信息中包括空旷场景和密集场景两种场景信息时,对于空旷场景,即待处理对象数量较少的场景可以确定对应的参考处理器为中央处理器,对于密集场景,即待处理对象数量较多的场景可以确定对应的参考处理器为图形处理器。可选的,还可以通过所述场景信息对应的所述属性信息内容确定所述参考处理器数量。
步骤S412’、响应于所述可用资源中包括参考处理器类型,确定所述参考处理器类型为所述算法对应的处理器类型。
举例来说,对于步骤S411’中确定的各算法对应的参考处理器类型,当服务器在所述步骤S300中确定的可用资源中包括所述参考处理器类型时,确定所述参考处理器类型为所述算法对应的处理器类型。例如当所述算法对应的参考处理器类型为图形处理器,所述服务器的可用资源中包括可用的处理器类型为中央处理器和图形处理器时,即确定所述算法对应的处理器类型为图形处理器。
步骤S413’、响应于所述可用资源中不包括参考处理器类型,在可用资源中确定一个处理器类型为所述算法对应的处理器类型。
举例来说,对于步骤S411’中确定的各算法对应的参考处理器类型,当服务器在所述步骤S300中确定的可用资源中的可用处理器类型不包括所述参考处理器类型,或者可用资源中的参考处理器数量少于属性信息中指定的处理器数量时,在可用资源中确定一个处理器类型为所述算法对应的处理器类型,并确定对应的处理器数量。例如当所述算法对应的参考处理器为图形处理器,所述服务器可用资源中包含的处理器为中央处理器时,即确定所述算法对应的处理器为中央处理器。
步骤S420’、根据所述算法集合以及所述场景信息对应的处理器信息,确定所述场景信息对应的算法和各算法之间的连接关系。
在一种可能的实现方式中,可以从算法集合中确定由该场景信息对应处理器处理的目标算法,可以根据算法对应规则,从目标算法中确定与该场景信息对应的算法。并可以根据算法顺序规则确定所述各算法之间的连接关系。
举例来说,所述服务器预先设定所述各处理器类型对应的算法,例如,部分算法由图形处理器处理,部分算法由中央处理器处理。当确定与场景信息对应的处理器为图形处理器时,服务器可以从算法集合中确定与图形处理器对应的目标算法,服务器可以根据预先设定的算法对应规则,在上述目标算法中确定与场景信息对应的算法,并根据算法顺序规则确定所述各算法之间的连接关系。
步骤S430’、分别为所述各算法分配对应的内存。
举例来说,服务器可以根据所述步骤S420’确定的算法,以及所述待执行任务的文件大小预测各算法在处理所述待执行任务的过程中产生的临时数据大小。再根据预测的临时数据大小以及可用资源信息中的可用内存信息为所述各算法分配合理的内存,以防止为某些算法分配的内存过小,或某些算法占用过多内存。
通过所述实施方式可以先确定所述场景信息确定对应的处理器,再进一步确定与各处理器对应的算法,以及所述算法的处理顺序,最终根据所述各算法的特性针对性的为各算法分配对应的资源,可以减少在确定算法、以及选择处理器过程中的计算量,提高处理配置流水线的效率。
步骤S500、根据所述各流水线配置规则配置用于处理所述待执行任务的流水线。
举例来说,服务器根据步骤S400确定各场景信息对应的流水线配置规则配置对应的流水线,所述流水线用于处理所述待执行任务。
其中,当所述待执行任务确定的属性信息中仅包括一种场景信息时,根据所述场景信息对应的流水线配置规则配置流水线,得到用于处理所述待执行任务的流水线。当所述待执行任务确定的属性信息中包括多种场景信息时,即所述待执行任务为多个场景信息对应的任务拼接得到的任务,根据所述各流水线配置规则对应的场景信息在待执行任务中出现的顺序确定流水线顺序。根据所述各流水线配置规则配置对应的子流水线,根据所述流水线顺序连接所述各子流水线得到用于处理所述待执行任务的流水线。
可选的,在处理包含多个场景信息的待执行任务时,还可以不对所述各子流水线进行拼接,将所述待执行任务根据场景进行划分,通过各子流水线并行处理对应的场景。
所述方法通过服务器解析待执行任务,以确定包含至少一个场景信息的属性信息,并根据可用算法和资源确定各场景信息对应的流水线配置规则,再根据各流水线配置规则来配置处理所述待执行任务的流水线。本公开可以通过服务器自动解析待执行任务,以及配置与所述待执行任务对应的流水线,对于不同场景的任务针对性的配置流水线,提高任务的执行效率。
图2为本公开实施例的流水线配置方法的服务器结构示意图,如图2所示,所述流水线配置方法通过服务器20实现,其中,所述服务器20中包括任务配置模块、流水线策略构建模块和流水线管理器。
其中,在应用所述服务器20来配置用于人脸识别的流水线时,通过所述任务配置模块接收、解析待执行任务,即解析视频、图片等待执行任务的内容,确定所述待执行任务为人脸识别任务。再基于所述人脸识别任务进一步确定所述待执行任务对应的属性信息,例如所述待进行人脸识别的视频长度、视频中人脸数量和至少一个场景信息。
所述服务器20的流水线策略构建模块在所述任务配置模块确定的所述待执行任务的任务类型和包括至少一个场景信息的属性信息后,确定与所述各场景信息对应的流水线配置规则,即所述各场景信息对应的算法、算法之间的连接关系以及对应的可用资源。例如,当确定所述待执行任务的任务类型为人脸识别任务,确定的所述属性信息中包含的内容为{日间场景、人数<30人、停留时间长、需要人脸属性}时,服务器可以根据所述日间场景确定对应的流水线配置规则为{"workers":["WorkerDecoder","WorkerDetectFace","WorkerFaceFeature","WorkerComparisonVideo","WorkerSaveImage","WorkerFaceAttributes"],"connections":[{"WorkerDecoder":"WorkerDetectFace"},{"WorkerDetectFace":"WorkerFaceFeature"},{"WorkerDetectFace":"WorkerSaveImage"},{"WorkerFaceFeature":"WorkerFaceAttributes"},{"WorkerFaceAttributes":"WorkerComparisonVideo"}]}。其中,配置流水线的流水线配置规则为:配置的算法包括:解码算法WorkerDecoder,人脸检测算法WorkerDetectFace,人脸特征提取算法WorkerFaceFeature,视频对比算法WorkerComparisonVideo,图像存储算法WorkerSaveImage以及人脸属性提取算法WorkerFaceAttributes。各算法之间的连接关系包括:解码算法连接人脸检测算法,人脸检测算法连接图像存储算法,图像存储算法连接人脸特征提取算法,人脸特征提取算法连接人脸属性提取算法,人脸属性提取算法连接属性对比算法。其中。人脸检测算法把检测到的人脸数据传递给图像存储算法进行存储,图像存储算法将存储的图像传递给人脸特征提取算法对来自人脸检测算法的人脸数据进行人脸特征提取,并把提取到的人脸特征传递给人脸属性提取算法进行处理。再通过属性对比算法将人脸属性提取算法提取的属性进行对比。
所述服务器20的流水线管理器在所述流水线策略构建模块确定所述各场景信息对应的流水线配置规则后,通过所述流水线管理器根据所述流水线配置规则从所述算法库和资源池中获取对应的算法和资源来配置用于处理所述待执行任务的流水线。其中,当所述场景信息为一种时,确定所述场景信息对应的流水线配置规则配置的流水线为用于处理所述待执行任务的流水线。当所述场景信息为多种时,确定所述各场景信息对应的流水线配置规则配置的流水线为子流水线,将所述各子流水线按顺序拼接后得到用于处理所述待执行任务的流水线。可选的,在处理包含多个场景信息的待执行任务时,还可以不对所述各子流水线进行拼接,将所述待执行任务根据场景进行划分,通过各子流水线并行处理对应的场景。
图3为本公开实施例的一种流水线的示意图,如图3所示,所述流水线通过图2中服务器20的流水线管理器确定,包括按如下顺序执行的算法:获取视频流算法30、视频解码流算法31、人脸检测算法32、特征提取算法33、特征对比算法34、输出结果算法35。
其中,所述服务器在确定用于处理待执行的人脸识别任务的流水线后,先通过所述获取视频流算法30确定待执行的视频数据,通过所述视频解码流算法31对所视频数据进行解码得到视频内容,通过所述人脸检测算法32确定所述视频内容中的人脸图像,通过所述特征提取算法33提取所述人脸图像的特征信息,再通过所述特征对比算法34将所述提取到的特征信息与服务器中预存的特征信息进行对比得到对比结果,根据所述对比结果得到所述人脸识别任务的执行结果,最终通过输出结果算法35将所述执行结果输出。
图4为本发明实施例的流水线配置装置的示意图,如图4所示,所述流水线配置装置包括任务获取模块40、特征提取模块4、资源确定模块42、规则确定模块43和流水线配置模块44。
其中,所述任务获取模块40用于确定待执行任务。所述特征提取模块41用于解析所述待执行任务得到任务类型和属性信息,所述属性信息包括至少一个场景信息。所述资源确定模块42根据所述任务类型确定算法集合和可用资源信息,所述可用资源信息包括可用的至少一个处理器信息和可用的内存信息。所述规则确定模块43用于根据算法集合和可用资源信息确定所述各场景信息对应的流水线配置规则,所述流水线配置规则包括算法、各算法之间的连接关系以及对应的资源。所述流水线配置模块44用于根据所述各流水线配置规则配置用于处理所述待执行任务的流水线。
进一步地,所述处理器信息中包括处理器类型和处理器数量,其中,所述处理器类型包括中央处理器和图形处理器。
进一步地,所述规则确定模块包括:
第一资源确定子模块,用于在所述算法集合中确定与所述各场景信息对应的算法以及所述各算法之间的连接关系;
第二资源确定子模块,用于根据所述可用资源信息分别为所述各算法分配对应的可用资源。
进一步地,所述第二资源确定子模块包括:
第一内存确定单元,用于分别为所述各算法分配对应的内存;
第一处理器确定单元,用于分别确定所述各算法对应的处理器信息。
进一步地,所述第一处理器确定单元包括:
第一处理器确定子单元,用于分别确定处理所述各算法的参考处理器类型;
第二处理器确定子单元,用于响应于所述可用资源中包括参考处理器类型,确定所述参考处理器类型为所述算法对应的处理器类型。
进一步地,所述规则确定模块包括:
第二处理器确定子模块,用于确定所述各场景信息对应的处理器信息;
第二算法确定子模块,用于根据所述算法集合以及所述场景信息对应的处理器信息,确定所述场景信息对应的算法和各算法之间的连接关系;
内存确定子模块,用于分别为所述各算法分配对应的内存。
进一步地,所述第二处理器确定子模块包括:
第二处理器确定单元,用于根据所述各属性信息内容确定对应的参考处理器类型;
第三处理器确定单元,用于响应于所述可用资源中包括参考处理器类型,确定所述参考处理器类型为所述算法对应的处理器类型。
进一步地,所述流水线配置模块包括:
第一流水线配置子模块,用于响应于所述流水线配置规则只有一种,根据所述流水线配置规则配置用于处理所述待执行任务的流水线。
进一步地,所述流水线配置模块包括:
流水线顺序确定子模块,用于响应于所述流水线配置规则大于一种,根据所述各流水线配置规则对应的场景信息在待执行任务中出现的顺序确定流水线顺序;
第二流水线配置子模块,用于根据所述各流水线配置规则配置对应的子流水线;
第三流水线配置子模块,用于根据所述流水线顺序连接所述各子流水线得到用于处理所述待执行任务的流水线。
所述装置可以通过服务器解析待执行任务,以确定待执行任务的属性信息,并根据属性信息确定对应的算法和资源,以生成流水线配置规则来配置处理所述待执行任务的流水线。因此,所述流水线配置装置可以通过服务器自动生成与所述待执行任务对应的流水线,对于不同的任务针对性的配置流水线,提高任务的执行效率。
图5为本公开实施例的电子设备的示意图,如图5所示,在本实施例中,所述电子设备可以为服务器或终端等,所述终端例如可以是手机、电脑、平板电脑等智能设备。如图所示,所述电子设备包括:至少一个处理器51;与至少一个处理器通信连接的存储器50;以及与存储介质通信连接的通信组件52,所述通信组件52在处理器的控制下接收和发送数据;其中,存储器50存储有可被至少一个处理器51执行的指令,指令被至少一个处理器51执行以实现本公开实施例所述的流水线配置方法。
其中,所述存储器50作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器51通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述流水线配置方法。
存储器50可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器50可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器50可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器50中,当被一个或者多个处理器51执行时,执行上述任意方法实施例中的流水线配置方法。
上述产品可执行本申请实施例所公开的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所公开的方法。
本公开还涉及一种计算机可读存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本公开的优选实施例,并不用于限制本公开,对于本领域技术人员而言,本公开可以有各种改动和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (10)

1.一种流水线配置方法,其特征在于,所述方法包括:
确定待执行任务;
解析所述待执行任务得到任务类型和属性信息,所述属性信息中包括至少一个场景信息;
根据所述任务类型确定算法集合和可用资源信息,所述可用资源信息包括可用的至少一个处理器信息和可用的内存信息;
根据算法集合和可用资源信息确定所述各场景信息对应的流水线配置规则,所述流水线配置规则包括算法、各算法之间的连接关系以及对应的资源;
根据所述各流水线配置规则配置用于处理所述待执行任务的流水线。
2.根据权利要求1所述的方法,其特征在于,所述处理器信息中包括处理器类型和处理器数量,其中,所述处理器类型包括中央处理器和图形处理器。
3.根据权利要求1或2所述的方法,其特征在于,所述根据算法集合和可用资源信息确定所述各场景信息对应的流水线配置规则包括:
在所述算法集合中确定与所述各场景信息对应的算法以及所述各算法之间的连接关系;
根据所述可用资源信息分别为所述各算法分配对应的可用资源。
4.根据权利要求1或2所述的方法,其特征在于,所述根据算法集合和可用资源信息确定所述各场景信息对应的流水线配置规则包括:
确定所述各场景信息对应的处理器信息;
根据所述算法集合以及所述场景信息对应的处理器信息,确定所述场景信息对应的算法和各算法之间的连接关系;
分别为所述各算法分配对应的内存。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述根据所述各流水线配置规则配置用于处理所述待执行任务的流水线包括:
响应于所述流水线配置规则只有一种,根据所述流水线配置规则配置用于处理所述待执行任务的流水线。
6.根据权利要求1-4中任一项所述的方法,其特征在于,所述根据所述各流水线配置规则配置用于处理所述待执行任务的流水线包括:
响应于所述流水线配置规则大于一种,根据所述各流水线配置规则对应的场景信息在待执行任务中出现的顺序确定流水线顺序;
根据所述各流水线配置规则配置对应的子流水线;
根据所述流水线顺序连接所述各子流水线得到用于处理所述待执行任务的流水线。
7.根据权利要求1所述的方法,其特征在于,包括多个所述任务类型,
其中,根据所述任务类型确定算法集合和可用资源信息,包括:
分别确定各任务类型对应的算法集合和可用资源信息;
其中,根据算法集合和可用资源信息确定所述各场景信息对应的流水线配置规则,包括:
根据各任务类型对应的算法集合和可用资源信息,分别确定各场景信息对应的流水线配置规则。
8.一种流水线配置装置,其特征在于,所述装置包括:
任务获取模块,用于确定待执行任务;
特征提取模块,用于解析所述待执行任务得到任务类型和属性信息,所述属性信息中包括至少一个场景信息;
资源确定模块,根据所述任务类型确定算法集合和可用资源信息,所述可用资源信息包括可用的至少一个处理器信息和可用的内存信息;
规则确定模块,用于根据算法集合和可用资源信息确定所述各场景信息对应的流水线配置规则,所述流水线配置规则包括算法、各算法之间的连接关系以及对应的资源;
流水线配置模块,用于根据所述各流水线配置规则配置用于处理所述待执行任务的流水线。
9.一种计算机可读存储介质,用于存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-7中任一项所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如权利要求1-7中任一项所述的方法。
CN201911158581.0A 2019-11-22 2019-11-22 流水线配置方法、装置、可读存储介质和电子设备 Pending CN112835626A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911158581.0A CN112835626A (zh) 2019-11-22 2019-11-22 流水线配置方法、装置、可读存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911158581.0A CN112835626A (zh) 2019-11-22 2019-11-22 流水线配置方法、装置、可读存储介质和电子设备

Publications (1)

Publication Number Publication Date
CN112835626A true CN112835626A (zh) 2021-05-25

Family

ID=75922631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911158581.0A Pending CN112835626A (zh) 2019-11-22 2019-11-22 流水线配置方法、装置、可读存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN112835626A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114461309A (zh) * 2022-01-27 2022-05-10 联信弘方(北京)科技股份有限公司 指令自动编排及自动下发方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160085399A1 (en) * 2014-09-19 2016-03-24 Impetus Technologies, Inc. Real Time Streaming Analytics Platform
CN109032769A (zh) * 2017-06-08 2018-12-18 中国移动通信集团浙江有限公司 一种基于容器的持续集成ci任务处理方法及装置
CN109886859A (zh) * 2019-01-30 2019-06-14 上海赜睿信息科技有限公司 数据处理方法、系统、电子设备和计算机可读存储介质
US20190303207A1 (en) * 2018-03-27 2019-10-03 Oracle Financial Services Software Limited Computerized control of execution pipelines
CN112835625A (zh) * 2019-11-22 2021-05-25 北京灵汐科技有限公司 流水线配置方法、装置、可读存储介质和电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160085399A1 (en) * 2014-09-19 2016-03-24 Impetus Technologies, Inc. Real Time Streaming Analytics Platform
CN109032769A (zh) * 2017-06-08 2018-12-18 中国移动通信集团浙江有限公司 一种基于容器的持续集成ci任务处理方法及装置
US20190303207A1 (en) * 2018-03-27 2019-10-03 Oracle Financial Services Software Limited Computerized control of execution pipelines
CN109886859A (zh) * 2019-01-30 2019-06-14 上海赜睿信息科技有限公司 数据处理方法、系统、电子设备和计算机可读存储介质
CN112835625A (zh) * 2019-11-22 2021-05-25 北京灵汐科技有限公司 流水线配置方法、装置、可读存储介质和电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
宋汉广;: "基于软件流水线的并行多源视频处理", 电视技术, no. 06, 17 June 2017 (2017-06-17) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114461309A (zh) * 2022-01-27 2022-05-10 联信弘方(北京)科技股份有限公司 指令自动编排及自动下发方法

Similar Documents

Publication Publication Date Title
CN109769115B (zh) 一种优化智能视频分析性能的方法、装置和设备
CN107992366B (zh) 对多个目标对象进行检测和跟踪的方法、系统和电子设备
CN110187958B (zh) 一种任务处理方法、装置、系统、设备及存储介质
US20240111549A1 (en) Method and apparatus for constructing android running environment
WO2021248423A1 (zh) 人工智能资源的调度方法、装置、存储介质和芯片
CN114416352A (zh) 算力资源分配方法、装置、电子设备及储存介质
CN112925737B (zh) Pci异构系统数据融合方法、系统、设备及存储介质
CN109697121B (zh) 用于向应用分配处理资源的方法、设备和计算机可读介质
CN112181657A (zh) 视频处理方法、装置、电子设备及存储介质
CN112835626A (zh) 流水线配置方法、装置、可读存储介质和电子设备
CN104156694A (zh) 一种用于识别图像中的目标对象的方法与设备
CN111813529B (zh) 数据处理方法、装置、电子设备及存储介质
CN116456496B (zh) 资源调度的方法、存储介质及电子设备
CN113806594A (zh) 基于决策树的业务数据处理方法、装置、设备及存储介质
CN111813541A (zh) 一种任务调度方法、装置、介质和设备
CN112835625A (zh) 流水线配置方法、装置、可读存储介质和电子设备
CN114449346B (zh) 视频处理方法、装置、设备以及存储介质
CN115830362A (zh) 图像处理方法、装置、设备、介质及产品
CN112132120B (zh) 用于视频结构化的方法及装置
CN110083357B (zh) 界面构建方法、装置、服务器及存储介质
CN109886234B (zh) 目标检测方法、装置、系统、电子设备、存储介质
CN113992493A (zh) 视频处理方法、系统、设备及存储介质
KR20220071544A (ko) 대용량 데이터 배치 처리를 위한 영상 데이터 처리 시스템 및 방법과 이를 위한 컴퓨터 프로그램
CN113515649B (zh) 数据的结构化方法、系统、装置、设备和存储介质
CN114924877B (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