一种算法调度系统、方法及装置与流程

文档序号:21361570发布日期:2020-07-04 04:35阅读:334来源:国知局
一种算法调度系统、方法及装置与流程

本发明涉及计算机技术领域,具体涉及一种算法调度系统、方法及装置。



背景技术:

随着人工智能技术的发展,智能分析算法越来越受人们青睐。在实际使用中,越来越多的需求需要通过不同算法来完成,甚至需多个算法厂家的多种算法配合,算法厂家往往擅长特定算法,但行业应用常需要不同的算法相结合来实现一个整体的方案,但是,由于不同算法厂商中算法本质不同,现有的算法运行平台不能够根据用户的需求整合对应种类以及数量的算法资源,给用户的使用造成困扰。



技术实现要素:

因此,本发明要解决的技术问题在于克服现有的算法运行平台不能够根据用户的需求整合对应种类以及数量的算法资源的缺陷,从而提供一种算法调度系统、方法及装置。

根据第一方面,本发明实施例公开了一种算法调度系统,包括:任务下发平台、算法推理平台,其中:所述任务下发平台,用于根据待处理数据,生成不同类型以及不同数量的任务,并下发;所述算法推理平台,包括:判断单元,用于根据所述任务判断任务资源与算子资源是否匹配,所述算子资源用以表征所述算法推理平台当前存在的算子资源,包括算子种类以及算子数量;所述算子用以表征所述算法中部分指令;算子调度器202,用于当任务资源与所述算子资源不匹配时,根据所述任务,在算法仓库中调度相应种类的算子和/或相应数量的算子;任务调度器,用于将所述任务资源与所述算子资源相匹配;处理单元,用于根据所述算子资源处理所述任务,生成任务处理结果。

结合第一方面,在第一方面第一实施方式中,所述算子调度器202,具体用于:根据所述任务,在所述算法仓库中调度相应种类的算法;根据所述相应种类算法,构建与所述任务相对应种类和/或相应数量的算子;和/或,根据所述任务,注册与所述任务对应的算法并测试所述算法,若所述算法测试通过,根据所述算法构建与所述任务对应的算子。

结合第一方面第一实施方式,在第一方面第二实施方式中,所述任务调度器包括:划分子模块,用于根据预设标准将所述任务划分为不同类型和/或不同数量的子任务;匹配子模块,用于将所述不同类型和/或不同数量的子任务与所述算子资源匹配。

结合第一方面,在第一方面第三实施方式中,所述算法推理平台,还包括:第一接口,用于接收所述任务下发平台生成的任务。

结合第一方面,在第一方面第五实施方式中,该系统还包括:数据存储库,用于存储所述任务下发平台以及所述算法推理平台生成的数据信息;所述数据存储库包括:第二接口,用于接收所述算法推理平台生成的任务处理结果。

根据第二方面,本发明实施例公开了一种算法调度方法,包括:接收任务下发平台生成的任务;根据所述任务判断任务资源是否与算子资源匹配;当任务资源与算子资源不匹配时,根据所述任务,在算法仓库中调度相应种类的算子和/或相应数量的算子;将所述任务资源与所述算子资源相匹配;根据所述算子资源处理所述任务,生成任务处理结果。

结合第二方面,在第二方面第一实施方式中,所述在算法仓库中调度相应种类的算子和/或相应数量的算子,具体包括:根据所述任务,在所述算法仓库中调度相应种类的算法;根据所述相应种类算法,构建与所述任务相对应种类和/或相应数量的算子;和/或,根据所述任务,注册与所述任务对应的算法并测试所述算法,若所述算法测试通过,根据所述算法构建与所述任务对应的算子。

结合第二方面第一实施方式,在第二方面第二实施方式中,所述将所述任务资源与所述算子相匹配,具体包括:根据预设标准将所述任务划分为不同类型和/或不同数量的子任务;将所述不同类型和/或不同数量的子任务与所述算子资源匹配。

结合第二方面第二实施方式,在第二方面第三实施方式中,该方法还包括:存储所述任务下发平台以及所述算法推理平台生成的数据信息。

根据第三方面,本发明实施例公开了一种算法调度装置,包括:接收模块,用于接收任务下发平台生成的任务;判断模块,用于根据所述任务判断任务资源是否与算子资源匹配;调度模块,用于当任务资源与算子资源不匹配时,根据所述任务,在算法仓库中调度相应种类的算子和/或相应数量的算子;匹配模块,用于将所述任务资源与所述算子资源相匹配;处理模块,用于根据所述算子资源处理所述任务,生成任务处理结果。

根据第四方面,本发明实施例公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第二方面或第二方面任一实施方式所述的算法调度方法的步骤。

本发明技术方案,具有如下优点:

1.本发明实施例提供的一种算法调度系统、方法及装置,其中,该系统包括:任务下发平台、算法推理平台,通过任务下发平台确定所要处理的任务类型及数量,通过算法推理平台匹配相应的任务与算子资源,具体地,任务下发平台,用于根据待处理数据,生成不同类型以及不同数量的任务,并下发;算法推理平台,包括:判断单元,用于根据任务判断任务资源与算子资源是否匹配,算子资源用以表征算法推理平台当前存在的算子资源,包括算子种类以及算子数量;算子用以表征算法中部分指令;算子调度器202,用于当任务资源与算子资源不匹配时,根据任务,在算法仓库中调度相应种类的算子和/或相应数量的算子;任务调度器,用于将任务资源与算子资源相匹配;处理单元,用于根据算子资源处理任务,生成任务处理结果。通过实施本发明,解决了现有的算法运行平台不能够根据用户的需求整合对应种类以及数量的算法资源,给用户的使用造成困扰的问题,可以快速且准确的调度多家厂商间的算法,并统一管理,能够快速构建算法服务能力,灵活选择和运行相应的算法,实现了人工智能化业务应用。

2.本发明提供的一种算法运行平台,其中包括:通过判断模块,判断现有的算子资源是否能够满足处理当前任务的需求,当可以满足时,任务调度器开始将部分子任务与相应的算子结合,生成处理结果;当不满足当前需求时,通过算子调度器202,在算法仓库中匹配相应种类或者相应数量的算子,还可以根据任务需求注册自研算法,通过测试后即可入驻算法推理平台,算子调度器202在算法仓库中调度相应种类以及相应数量的算法,根据上述算法构建相应的算子,算子是算法中部分指令,通过实施本发明,可以为算法运行提供集群扩展的分布式任务调度,支持自研和生态、机器学习和深度学习、在线和离线算法;还可以支撑统计、动态及优化的集群算力资源调度,支持多种异构设备如gpu、tpu、人工智能芯片;实现了算法的横向扩展,支持多副本算法同时运行,应对大数据量处理,并且支持算法健康状态自动回复;减少了算法模型与业务系统的耦合,使得业务系统独立于数据和算法,应用更加灵活,能够更大程度促进生态系统建设。

附图说明

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

图1为本发明实施例1中一种算法调度系统的一个具体示例的结构框图;

图2为本发明实施例1中一种算法调度系统中任务调度器的结构框图;

图3为本发明实施例1中一种算法调度系统中第一接口的一个具体示例的结构框图;

图4为本发明实施例1中一种算法调度系统中数据存储库的一个具体示例的结构框图;

图5为本发明实施例1中一种算法调度系统中另一个具体示例的结构框图;

图6为本发明实施例1中一种算法调度系统结合上下游产品的结构框图;

图7为本发明实施例2中一种算法调度方法中一个具体示例的流程框图;

图8为本发明实施例3中一种算法调度装置的结构框图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

实施例1

本发明实施例提供一种算法调度系统,应用于处理大量任务或者处理需多种算法配合才能完成的任务的具体应用场景中,如图1所示,包括:任务下发平台10、算法推理平台20,其中:

任务下发平台10,用于根据待处理数据,生成不同类型以及不同数量的任务,并下发;在本实施例中,任务下发平台10也可以是任务产生平台,根据平台内存储或者产生的数据,以及相应地用户的需求,生成任务;具体的,任务下发平台10可以是视频平台,根据待处理数据、图片、视频文件、视频流,通过选择处理任务的类型,进而生成对应的任务,例如,任务可以是通过图像采集算法,查阅多个监控摄像头在目标时间段内的视频数据,通过分析算法,分别判断多段视频数据中是否出现明显异常情况。

示例性地,任务下发平台10也可以是交通协管平台,根据购票用户的数据信息,生成为多个用户售票以及安检的任务。

算法推理平台20,包括:

判断单元201,用于根据任务判断任务资源与算子资源是否匹配,算子资源用以表征算法推理平台20当前存在的算子资源,包括算子种类以及算子数量;算子用以表征算法中部分指令;在本实施例中,根据任务下发平台10下发的任务,获取上述任务中的信息,任务中包括所要处理的事项信息,以及完成上述事项需要的算子类型和/或算子数量信息;判断任务资源与算子资源是否匹配的过程,可以是判断当前算法推理平台20已经载入的算子资源是否能够处理全部任务的过程。

示例性地,算子资源可以是算法运行平台当前已经载入的算子类型信息以及算子数量信息,算子是一整个算法中的部分指令或者操作。

算子调度器202,用于当任务资源与算子资源不匹配时,根据任务,在算法仓库中调度相应种类的算子和/或相应数量的算子;在本实施例中,在当前算法推理平台20已经载入的算子资源无法处理全部任务的情况下,也就是任务资源与算子资源不匹配时,算子调度器202会根据具体的情况调度相应的算子资源,具体的,不匹配的情况可以是:需要a算法中的算子处理任务中的第一子任务,需要b算法中的算子处理任务中的第二子任务,当前的算子资源只有a算法,此时,判断模块判断出当前的任务资源与算子资源不匹配时,需调度b算法,此时,算子调度器202可以根据任务当中的需要b算法的提示信息,在算法仓库中调用对应的b算法。当成功调用之后,根据a算法、b算法以及任务,生成对应的第一算子以及第二算子。

示例性地,第一算子与第二算子可以有先后次序关系,例如,先购票,再上车;也可以没有先后次序关系,例如,图片采集算子与音频采集算子。

任务调度器203,用于将任务资源与算子资源相匹配;在本实施例中,任务调度器203的功能可以是将任务资源与算子资源一一对应匹配,具体地,将第一算子与第一子任务打包,将第二算子与第二子任务打包;例如,将售票算子与购票子任务打包,将安检算子与安检子任务打包。

处理单元204,用于根据算子资源处理任务,生成任务处理结果。在本实施例中,根据打包后的第一算子与第一子任务,生成第一处理结果,根据打包后的第二算子与第二子任务,生成第二处理结果;具体地,可以是,根据售票算子,处理购票子任务,购票子任务完成;根据安检算法,处理安检子任务,安检子任务完成。

本发明实施例提供的一种算法调度系统,该系统包括:任务下发平台、算法推理平台,通过任务下发平台确定所要处理的任务类型及数量,通过算法推理平台匹配相应的任务与算子资源,具体地,任务下发平台,用于根据待处理数据,生成不同类型以及不同数量的任务,并下发;算法推理平台,包括:判断单元,用于根据任务判断任务资源与算子资源是否匹配,算子资源用以表征算法推理平台当前存在的算子资源,包括算子种类以及算子数量;算子用以表征算法中部分指令;算子调度器,用于当任务资源与算子资源不匹配时,根据任务,在算法仓库中调度相应种类的算子和/或相应数量的算子;任务调度器,用于将任务资源与算子资源相匹配;处理单元,用于根据算子资源处理任务,生成任务处理结果。通过实施本发明,解决了现有的算法运行平台不能够根据用户的需求整合对应种类以及数量的算法资源,给用户的使用造成困扰的问题,可以快速且准确的调度多家厂商间的算法,并统一管理,能够快速构建算法服务能力,灵活选择和运行相应的算法,实现了人工智能化业务应用。

作为本申请一个可选的实施例,算子调度器202,具体用于:

步骤11:根据任务,在算法仓库中调度相应种类的算法;根据相应种类算法,构建与任务相对应种类和/或相应数量的算子;和/或,

步骤12:根据任务,注册与任务对应的算法并测试算法,若算法测试通过,根据算法构建与任务对应的算子。

示例性地,任务资源与算子资源不匹配的情况可以是:当前算子类型与任务资源不匹配,也可以是当前算子数量与任务资源不匹配,还可以是当前算子类型、算子数量与任务资源均不匹配;当当前算子数量不匹配时,算子调度器202可以根据任务,在算法仓库中获得对应数量的算法,在根据获取到的算法数量,构建/生成对应数量的算子;当当前算子类型不匹配时,算子调度器202可以根据任务,在算法仓库中获得对应类型的算法,在根据获取到的算法类型,构建/生成对应类型的算子;当算法仓库中没有对应类型的算法时,可以根据所述任务,注册自研算法,通过测试后,算子调度器202就可以调度使用。

示例性地,注册算法的步骤可以是提交镜像、提交镜像试运行相关数据、提交算法服务相关文档、镜像注册、算法启动、算法测试,具体地首先,根据上述任务资源获得所要注册的算法信息,将其保存为镜像,并提交至算法推理平台20的算法仓库;将镜像试运行的相关数据提交至算法推理平台20的算法仓库,其中包括:算法关键数据的存储路径、算法启动指令、算法运行参数、算法配置文件路径、配置文件注释;将算法处理任务时,需接收的数据,例如,视频、图片、输出算法的处理结果,提交至算法推理平台20;系统根据上述所提交的数据进行镜像的注册;系统根据镜像启动各项参数,利用任务添加接口启动算法,利用k8s提供的详情查询功能以及算法提供的log映射确定该算法的运行结果;系统根据算法的运行结果,判断是否将自研算法注册至算法仓库以及算法推理平台20。

作为本申请一个可选的实施例,如图2所示,任务调度器203包括:

划分子模块2031,用于根据预设标准将任务划分为不同类型和/或不同数量的子任务;在本实施例中,将任务下发平台10下发的任务,根据预设规则划分为多个子任务,具体地,可以是,将旅客乘车任务划分成售票子任务、安检子任务、检票子任务;也可以是将一百名旅客的购票任务,按照十人一组的标准,划分成十个售票子任务。

匹配子模块2032,用于将不同类型和/或不同数量的子任务与算子资源匹配,在本实施例中,可以是将多个子任务与对应的算子相匹配,具体地,可以是,将售票子任务与售票算子打包匹配,安检子任务与安检算子打包匹配,检票子任务与检票算子打包匹配。

本发明实施例所提供的算法调度系统,通过将任务划分成不同类型以及不同数量的子任务,并将上述子任务与对应的算子相匹配,提高了处理任务的效率。

示例性地,如图3所示,算法推理平台20还包括:第一接口205,用于接收任务下发平台10生成的任务。在本实施例中,该接口可以配置无线通信模块,从而接收任务下发平台10生成的任务信息,该接口也可以配置任意可以接收信息的模块与装置,本发明对此不作任何限定,本领域技术人员可以根据实际需求具体确定。

作为本申请一个可选的一个实施例,如图4所示,该系统还包括:数据存储库30,用于存储任务下发平台10以及算法推理平台20生成的数据信息;数据存储库30包括:第二接口301,用于接收算法推理平台20生成的任务处理结果;存储库302,用于存储初始数据以及任务下发平台10、算法推理平台20生成的数据信息。具体的,算法输出结果存储到数据存储库30,可以直接输入至任务管理平台,重新用于数据标注和算法训练。

以下结合一具体实施例,描述该算法调度系统的具体功能及实施方式:如图5所示,任务下发平台,可以是视频平台,整合数据后将各视频流推送至算法推理平台的对外接口,算法推理平台根据所接收到的数据,创建算子模板,service模块将任务需求推送至各副本,副本也就是处理算子与任务的容器,service模块会将http请求下发至被管理的算法模块中,具体地,可以是a算法模块、b算法模块、c算法模块;算法将处理结果直接存入数据存储库,可以是视图库,至此完成上层任务的分配以及处理。

具体地,算法推理平台接收到任务需求清单,算法推理平台根据任务需求,创建对应的算子模板,根据算子资源的使用情况,动态的计算副本数以及生成对应数量的算子;算子开始执行预设操作,将处理结果存入视图库中,可以维护各副本正在执行的任务集,如果发现异常,可以重新执行任务集下发过程,进行多次处理,直至任务完成且无异常情况发生。

以下结合一具体实施例,描述该算法推理平台与上下游产品的交互,如图6所示,算法推理平台可以是ai算法推理平台,ai算法推理平台在业务层面,将数据资源与算法资源连通,将资源平台、视图库、算法生产训练以及算法应用打通,将自研算法和生态算法融合。城市视频资源平台将任务下发到ai算法推理平台后,推理平台对算子进行统一调度、对算力资源进行统一分配,算法训练后模型/dlstore算法镜像封装后对业务数据进行运行输出,算法输出结果反馈到标注任务管理平台,重新用于数据标注和算法训练。

实施例2

本发明实施例提供一种算法调度方法,如图7所示,包括:

步骤s21:接收任务下发平台10生成的任务;详细实施内容可参见上述系统实施例中第一接口205的相关描述。

步骤s22:根据任务判断任务资源是否与算子资源匹配;详细实施内容可参见上述系统实施例中判断单元201的相关描述。

步骤s23:当任务资源与算子资源不匹配时,根据任务,在算法仓库中调度相应种类的算子和/或相应数量的算子;详细实施内容可参见上述系统实施例中算子调度器202的相关描述。

步骤s24:将任务资源与算子资源相匹配;详细实施内容可参见上述系统实施例中任务调度器203的相关描述。

步骤s25:根据算子资源处理任务,生成任务处理结果。详细实施内容可参见上述系统实施例中处理单元204的相关描述。

本发明实施例提供的一种算法调度方法,包括:接收任务下发平台下发的任务信息,并根据任务判断任务资源与算子资源是否匹配,算子资源用以表征算法推理平台当前存在的算子资源,包括算子种类以及算子数量;算子用以表征算法中部分指令;当任务资源与算子资源不匹配时,根据任务,在算法仓库中调度相应种类的算子和/或相应数量的算子;根据算子资源处理任务,生成任务处理结果。通过实施本发明,解决了现有的算法运行平台不能够根据用户的需求整合对应种类以及数量的算法资源,给用户的使用造成困扰的问题,可以快速且准确的调度多家厂商间的算法,并统一管理,能够快速构建算法服务能力,灵活选择和运行相应的算法,实现了人工智能化业务应用。

实施例3

本发明实施例提供一种算法调度装置,如图8所示,包括:

接收模块,用于接收任务下发平台10生成的任务;详细实施内容可参见上述系统实施例中第一接口205的相关描述。

判断模块,用于根据任务判断任务资源是否与算子资源匹配;详细实施内容可参见上述系统实施例中判断单元201的相关描述。

调度模块,用于当任务资源与算子资源不匹配时,根据任务,在算法仓库中调度相应种类的算子和/或相应数量的算子;详细实施内容可参见上述系统实施例中算子调度器202的相关描述。

匹配模块,用于将任务资源与算子资源相匹配;详细实施内容可参见上述系统实施例中任务调度器203的相关描述。

处理模块,用于根据算子资源处理任务,生成任务处理结果。详细实施内容可参见上述系统实施例中处理单元204的相关描述。

本发明实施例提供的一种算法调度装置,包括:通过接收模块,接收任务下发平台下发的任务信息,并通过判断模块根据任务判断任务资源与算子资源是否匹配,算子资源用以表征算法推理平台当前存在的算子资源,包括算子种类以及算子数量;算子用以表征算法中部分指令;当任务资源与算子资源不匹配时,根据任务,通过调度模块在算法仓库中调度相应种类的算子和/或相应数量的算子;通过处理模块,根据算子资源处理任务,生成任务处理结果。通过实施本发明,解决了现有的算法运行平台不能够根据用户的需求整合对应种类以及数量的算法资源,给用户的使用造成困扰的问题,可以快速且准确的调度多家厂商间的算法,并统一管理,能够快速构建算法服务能力,灵活选择和运行相应的算法,实现了人工智能化业务应用。

实施例4

本发明实施例还提供了一种非暂态计算机可读介质,非暂态计算机可读存储介质存储计算机指令,计算机指令用于使计算机执行如上述实施例中任意一项描述的算法调度方法,其中,存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存储记忆体(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;存储介质还可以包括上述种类的存储器的组合。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1