本发明涉及智能巡检领域,尤其涉及基于grpc与优先消息队列的算法调度方法及装置。
背景技术:
1、在智能巡检平台或者智能识别预警系统中目标识别算法一般作为一个模块集成在系统中,算法和平台的通信受限于同一台服务器,无法根据生产环境的需要来进行分布式部署,新增算法或者删除算法需要重启平台组件来生效,极大的影响了生产环境使用的稳定性。针对目标识别任务的分发也无法做到根据优先级来处理,无法满足在特定使用场景中的使用要求。
2、一般情况下目标识别算法有两种部署方式,一种是作为单独的服务部署,使用tcp进行通信,一种是作为平台的模块组件集成在平台中,使用第一种方式部署可以实现算法和平台分开,减少耦合,但通信使用的是比较底层的tcp,需要实现上层的应用协议,对接比较困难;第二种方式部署和平台间通信使用系统接口,能高效快速完成对接,但集成在系统中,耦合度较高,无法对平台进行局部升级。
技术实现思路
1、针对上述技术问题,本发明提供了一种基于grpc与优先消息队列的算法调度方法及装置,可以提高平台和算法组件之间的通信效率。
2、本发明的第一方面,提供一种基于grpc与优先消息队列的算法调度方法,包括:接收mqtt信息并解析mqtt信息获取目标识别任务的目标识别类型;
3、若存在对应所述目标识别类型的目标识别算法组件,则将所述mqtt信息添加至优先消息队列;
4、基于grpc框架及优先消息队列新增对应所述目标识别算法组件的处理线程,基于所述处理线程调用目标识别算法组件执行目标识别算法。
5、在一种可选实施方式中,所述的基于grpc与优先消息队列的算法调度方法,还包括:若不存在对应所述目标识别类型的目标识别算法,则生成异常信息在一种可选实施方式中,所述接收mqtt信息并解析mqtt信息获取目标识别任务的目标识别类型,至少包括以下至少之一的目标识别类型:
6、安全帽识别、人员识别、仪表识别。
7、在一种可选实施方式中,所述基于grpc框架及优先消息队列新增对应所述目标识别算法组件的处理线程,包括:
8、根据所述优先消息队列获取接收的所述mqtt信息,基于grpc框架对所述目标识别算法组件进行热加载,并将所述目标识别算法组件分发至新的处理线程。
9、在一种可选实施方式中,基于grpc框架及优先消息队列新增对应所述目标识别算法组件的处理线程,还包括:根据所述优先消息队列中消息优先级获取接收基于优先级次序的所述mqtt信息,基于grpc框架对所述目标识别算法组件进行热加载。
10、本发明的第二方面,提供一种基于grpc与优先消息队列的算法调度装置,包括:解析模块,用于接收mqtt信息并解析mqtt信息获取目标识别任务的目标识别类型;
11、队列处理模块,用于若存在对应所述目标识别类型的目标识别算法组件,则将所述mqtt信息添加至优先消息队列;
12、调度模块,用于基于grpc框架及优先消息队列新增对应所述目标识别算法组件的处理线程,基于所述处理线程调用目标识别算法组件执行目标识别算法。
13、在一种可选实施方式中,所述结束模块,还用于若不存在对应所述目标识别类型的目标识别算法,则生成异常信息发送mqtt信息。
14、在一种可选实施方式中,所述调度模块,还用于根据所述优先消息队列中消息优先级获取接收基于优先级次序的所述mqtt信息,基于grpc框架对所述目标识别算法组件进行热加载,并将所述目标识别算法组件分发至新的处理线程。
15、本发明的第三方面,提供一种电子设备,包括:
16、至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如本发明实施例的第一方面所述的方法。
17、本发明的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机运行时,执行如本发明实施例的第一方面所述的方法。
18、本发用grpc作为调度服务和目标识别算法之间的通信不仅可以提高平台和算法组件之间的通信效率在对接过程中也非常简单,grpc屏蔽了数据传输和应用层协议的实现,开发者只需要聚焦发送的参数以及接收的参数即可,同时使用优先队列来对目标识别任务进行分发可以有效的解决在生产环境中使用时的紧急任务下发。
1.一种基于grpc与优先消息队列的算法调度方法,其特征在于,包括:
2.根据权利要求1所述的基于grpc与优先消息队列的算法调度方法,其特征在于,还包括:若不存在对应所述目标识别类型的目标识别算法,则生成异常信息发送mqtt信息。
3.根据权利要求1所述的基于grpc与优先消息队列的算法调度方法,其特征在于,所述接收mqtt信息并解析mqtt信息获取目标识别任务的目标识别类型,至少包括以下至少之一的目标识别类型:
4.根据权利要求1所述的基于grpc与优先消息队列的算法调度方法,其特征在于,所述基于grpc框架及优先消息队列新增对应所述目标识别算法组件的处理线程,包括:
5.根据权利要求4所述的基于grpc与优先消息队列的算法调度方法,其特征在于,基于grpc框架及优先消息队列新增对应所述目标识别算法组件的处理线程,还包括:根据所述优先消息队列中消息优先级获取接收基于优先级次序的所述mqtt信息,基于grpc框架对所述目标识别算法组件进行热加载。
6.一种基于grpc与优先消息队列的算法调度装置,其特征在于,包括:
7.根据权利要求6所述的基于grpc与优先消息队列的算法调度装置,其特征在于,还包括结束模块,用于若不存在对应所述目标识别类型的目标识别算法,则生成异常信息发送mqtt信息。
8.根据权利要求6所述的基于grpc与优先消息队列的算法调度装置,其特征在于,所述调度模块,还用于根据所述优先消息队列中消息优先级获取接收基于优先级次序的所述mqtt信息,基于grpc框架对所述目标识别算法组件进行热加载,并将所述目标识别算法组件分发至新的处理线程。
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被计算机运行时,执行如权利要求1至5中任一项所述的基于grpc与优先消息队列的算法调度方法。