本技术涉及计算机,尤其涉及一种算法包加载方法、装置、设备及介质。
背景技术:
1、随着建设智慧城市的发展方向,充分发挥智能在人们生活中的应用,城市管理类的算法不断涌现,已经从20年的几十种激增到几百种。比如:垃圾桶满溢,乱堆物料,暴力抛物,老鼠检测,非法广告牌检测,占用应急车道,交通灯故障检测,老人跌倒等。
技术实现思路
1、本技术实施例提供了一种算法包加载方法、装置、设备及介质,用以提高算法包加载速度,从而提高算法分析任务的工作效率,满足更多业务的实时需求。
2、本技术实施例提供的一种算法包加载方法,包括:
3、获取用户通过业务平台下发的待执行的算法分析任务;其中,所述算法分析任务用于采用预设事件检测算法进行事件检测;
4、从预先设置有算法包缓存优先级的存储介质中,按照所述优先级从高到低的顺序,查询所述算法分析任务对应的算法包,以及加载并运行查询到的所述算法分析任务对应的算法包,所述算法包中包括所述算法分析任务对应的事件检测算法;其中,所述优先级越高的存储介质中,缓存的算法包的使用频次越高,算法包的加载速度越快。
5、本技术实施例当获取了用户通过业务平台下发的待执行的算法分析任务时,从预先设置有算法包缓存优先级的存储介质中,按照所述优先级从高到低的顺序,查询所述算法分析任务对应的算法包,以及加载并运行查询到的所述算法分析任务对应的算法包,其中,所述优先级越高的存储介质中,缓存的算法包的使用频次越高,算法包的加载速度越快,从而可以依据算法包的使用频次,从不同加载速度的存储介质中获取相应的算法包,使得使用频次越高的算法包,越可以从加载速度更快的存储介质中获取,从而提高了常用算法包的加载速度,提高了算法分析任务的工作效率,满足了更多业务的实时需求。
6、在一些实施例中,所述存储介质包括:
7、本地服务器上的存储介质,和与本地服务器建立连接的另一服务器上的存储介质;
8、其中,本地服务器上的存储介质的算法包缓存优先级,高于所述另一服务器上的存储介质的算法包缓存优先级。
9、在一些实施例中,所述本地服务器上的存储介质包括:
10、预先设置有算法包缓存第一优先级的分析卡的显存;
11、预先设置有算法包缓存第二优先级的本地服务器内存;
12、预先设置有算法包缓存第三优先级的本地服务器磁盘;
13、所述另一服务器上的存储介质包括:
14、预先设置有算法包缓存第四优先级的算法仓库;
15、其中,所述优先级按照从高到低的顺序,分别为:第一优先级、第二优先级、第三优先级、第四优先级。
16、在一些实施例中,从预先设置有算法包缓存优先级的存储介质中,按照所述优先级从高到低的顺序,查询所述算法分析任务对应的算法包,以及加载并运行查询到的所述算法分析任务对应的算法包,包括:
17、按照所述第一优先级、第二优先级、第三优先级、第四优先级的顺序,依次从相应的存储介质中查询所述算法分析任务对应的算法包;
18、当从所述分析卡的显存中查询到所述算法分析任务对应的算法包时,直接从所述显存中加载并运行所述算法分析任务对应的算法包;
19、当从所述分析卡的显存之外的存储介质中查询到所述算法分析任务对应的算法包时,将所述算法分析任务对应的算法包,从所述分析卡的显存之外的存储介质中加载到所述分析卡的显存中,然后运行加载在所述分析卡的显存中的所述算法分析任务对应的算法包。
20、在一些实施例中,所述当从所述分析卡的显存之外的存储介质中查询到所述算法分析任务对应的算法包时,将所述算法分析任务对应的算法包,从所述分析卡的显存之外的存储介质中加载到所述分析卡的显存中,包括:
21、当从所述本地服务器磁盘中查询到所述算法分析任务对应的算法包时,从所述本地服务器磁盘中获取所述算法分析任务对应的算法包,并拷贝到所述本地服务器内存中,再从所述本地服务器内存中获取所述算法分析任务对应的算法包,并加载到所述分析卡的显存中。
22、在一些实施例中,所述当从所述分析卡的显存之外的存储介质中查询到所述算法分析任务对应的算法包时,将所述算法分析任务对应的算法包,从所述分析卡的显存之外的存储介质中加载到所述分析卡的显存中,包括:
23、当从所述算法仓库中查询到所述算法分析任务对应的算法包时,从所述算法仓库下载所述算法分析任务对应的算法包到所述本地服务器磁盘中,然后从所述本地服务器磁盘中获取所述算法分析任务对应的算法包,并拷贝到所述本地服务器内存中,再从所述本地服务器内存中获取所述算法分析任务对应的算法包,并加载到所述分析卡的显存中。
24、在一些实施例中,所述方法还包括:
25、按照所述优先级从高到低的顺序,根据所述算法分析任务对应的算法包的使用频次,重新缓存所述算法分析任务对应的算法包到存储介质中。
26、在一些实施例中,按照所述优先级从高到低的顺序,根据所述算法分析任务对应的算法包的使用频次,重新缓存所述算法分析任务对应的算法包到存储介质中,包括:
27、通过第一参数、第二参数、第三参数,确定所述算法分析任务对应的算法包的使用频次;其中,所述第一参数,是通过需要加载所述算法包的算法分析任务的个数确定的;所述第二参数,是通过所述算法包的单日运行时长总和确定的;所述第三参数,是通过所述算法包在所述分析卡的显存中加载启动的速度确定的;
28、当所述使用频次大于预设第一阈值时,将所述算法分析任务对应的算法包缓存到所述分析卡的显存中;
29、当所述使用频次在所述第一阈值与预设第二阈值之间时,将所述算法分析任务对应的算法包缓存到所述本地服务器内存中;
30、当所述使用频次在所述第二阈值与预设第三阈值之间时,将所述算法分析任务对应的算法包缓存到所述本地服务器磁盘中;
31、当所述使用频次小于所述第三阈值时,将所述算法分析任务对应的算法包缓存到所述算法仓库中。
32、本技术实施例提供的一种算法包加载装置,包括:
33、第一单元,用于获取用户通过业务平台下发的待执行的算法分析任务;其中,所述算法分析任务用于采用预设事件检测算法进行事件检测;
34、第二单元,用于从预先设置有算法包缓存优先级的存储介质中,按照所述优先级从高到低的顺序,查询所述算法分析任务对应的算法包,以及加载并运行查询到的所述算法分析任务对应的算法包,所述算法包中包括所述算法分析任务对应的事件检测算法;其中,所述优先级越高的存储介质中,缓存的算法包的使用频次越高,算法包的加载速度越快。
35、本技术另一实施例提供了一种电子设备,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一种方法。
36、本技术另一实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一种方法。