本公开涉及计算机,具体涉及一种算法调度方法、装置、电子设备及存储介质。
背景技术:
1、有些应用在实现自身核心功能的时候,需要调用到相应的算法模块。比如无感拍摄应用的核心功能是使用摄像头拍摄现实场景照片,然后将现实场景照片和配套的传感器数据传送给算法模块,算法模块从现实场景照片中提取兴趣点位的相关信息。但目前存在的问题是:算法的调度为深度定制化,不论是算法数量、执行流程、执行线程等,都与应用侧深度耦合,后续算法需要改变调度细节(比如串行改成串行和并行,部署新的算法等),都需要应用侧进行多处修改。由于算法调度的本地代码固定,无法做到分场景执行不同算法,且算法与应用交互接口规格的扩展性不好,算法需要修改接口参数(如应用和算法的参数传递、数据入库和数据上报等),都需要应用侧配合修改。
2、因此,需要提出一种应用和算法解耦合的方案,使得算法的修改更加灵活。
技术实现思路
1、本公开实施例提供一种算法调度方法、装置、电子设备及存储介质。
2、第一方面,本公开实施例中提供了一种算法调度方法,其中,包括:
3、获取配置文件;所述配置文件中包括算法模块的调度信息;
4、基于所述调度信息,从匹配文件中获取所述算法模块的注册信息;
5、启动用于调用所述算法模块的执行线程,并由所述执行线程基于所述调度信息以及所述注册信息调用执行所述算法模块。
6、第二方面,本发明实施例中提供了一种算法调度装置,其中,包括:
7、第一获取模块,被配置为获取配置文件;所述配置文件中包括算法模块的调度信息;
8、第二获取模块,被配置为基于所述调度信息,从匹配文件中获取所述算法模块的注册信息;
9、执行模块,被配置为启动用于调用所述算法模块的执行线程,并由所述执行线程基于所述调度信息以及所述注册信息调用执行所述算法模块。
10、所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
11、在一个可能的设计中,上述装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持上述装置执行上述对应方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。上述装置还可以包括通信接口,用于上述装置与其他设备或通信网络通信。
12、第三方面,本公开实施例提供了一种电子设备,包括存储器、处理器以及存储在存储器上的计算机程序,其中,所述处理器执行所述计算机程序以实现上述任一方面所述的方法。
13、第四方面,本公开实施例提供了一种计算机可读存储介质,用于存储上述任一装置所用的计算机指令,该计算机指令被处理器执行时用于实现上述任一方面所述的方法。
14、第五方面,本公开实施例提供了一种计算机程序产品,其包含计算机指令,该计算机指令被处理器执行时用于实现上述任一方面所述的方法。
15、本公开实施例提供的技术方案可以包括以下有益效果:
16、本公开实施例,为了解耦应用侧和算法侧,预先配置了配置文件,并生成了匹配文件。配置文件中配置了实现应用侧中相应计算能力的算法模块的调度信息,而匹配文件中则生成了算法侧所实现的全部或者部分算法模块的注册信息。通过配置文件可以配置应用侧所需要调度执行的算法模块的调度信息,基于该调度信息中算法模块的标识从匹配文件获取相应的注册信息,进而再于该调度信息和该注册信息调度执行配置文件中配置的所有算法模块,并实现应用侧的相应计算能力。本公开实施例,通过在配置文件中预先配置算法模块的调度信息,在匹配文件中预先生成算法模块的注册信息,允许应用侧和算法侧独立实现以及更新代码部分,在算法模块需要改动、删减或者增加时,只需修改配置文件和匹配文件,无需应用侧和算法侧的相关人员之间进行协调修改代码,节省了人力成本。
17、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
1.一种算法调度方法,其中,包括:
2.根据权利要求1所述的方法,其中,启动用于调用所述算法模块的执行线程,并由所述执行线程基于所述调度信息以及所述注册信息调用执行所述算法模块,包括:
3.根据权利要求2所述的方法,其中,所述调度信息包括所述算法模块与所述算法模块所依赖的上游算法模块的依赖关系;所述算法模块和所述上游算法模块的输入数据、执行状态和执行结果均存储在共享空间队列中;由所述执行线程基于所述调度信息,加载所述算法模块在执行过程中所需要的输入数据,包括:
4.根据权利要求2或3所述的方法,其中,所述输出执行结果,包括:
5.根据权利要求2或3所述的方法,其中,在所述执行线程的设定执行节点还设置有性能监控锚点;所述方法还包括:
6.根据权利要求1-3任一项所述的方法,其中,所述方法还包括:
7.根据权利要求1-3任一项所述的方法,其中,所述方法还包括:
8.一种算法调度装置,其中,包括:
9.一种电子设备,其中,包括存储器、处理器以及存储在存储器上的计算机程序,其中,所述处理器执行所述计算机程序以实现权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其中,该计算机指令被处理器执行时实现权利要求1-7任一项所述的方法。
