本技术涉及通信管理,特别是涉及一种通信消息转换处理方法、装置、计算机设备和存储介质。
背景技术:
1、在自动驾驶行业中,因为存在许多的算法进程模块的通信需求,以及功能组件的管理需求,因此将各个进程和组件之间的通信,一般采用publish-subscribe(发布订阅)的机制进行通信,以及功能组件的统一接口封装,放置到通信中间件中,则是一个比较高效和标准的做法,类似的通信中间件比如ros、ros2、cyberrt、iceoryx、ecal等。
2、通信中间件具有普适性,体现在通信中间件屏蔽了底层操作系统的复杂性,不必为程序在不同系统软件上的移植而重复工作。通信中间件带给应用系统的,不只是开发的简便、开发周期的缩短,也减少了系统的维护、运行和管理的工作量,还减少了计算机总体费用的投入。
3、然而通信中间件存在的缺陷有:因为现在普遍的通信中间件都是由各自的算法公司的算法单元,使用直接使用开源通信中间件,或二次开发的通信中间件,或者自研的通信中间件的方式进行研发工作,与各自的算法模块耦合度较高,因此当涉及多方算法公司的算法单元联合实现例如自动驾驶行泊一体的方案时,会出现各自通信接口不同,通信方式不同,以及各自内部算法生成的信息传递不通畅等问题,此时如果要求其中一方算法公司的算法单元完全按照另一方要求进行中间件的调用修改,可能涉及的修改内容包括算法模块的通信调用方式、异常处理相关接口、功能测试、性能测试等工作,需要对被修改的一方有较大的成本投入。
技术实现思路
1、基于此,提供一种通信消息转换处理方法、装置、计算机设备和存储介质,来实现多方算法公司的算法单元实现同一个功能时避免出现各自通信接口不同、通信方式不同以及各自内部算法不同导致生成的信息传递不通畅,能够减少通信中间件算法转换成本。
2、一方面,提供一种通信消息转换处理方法,所述方法包括:
3、获取实现目标系统功能的所有算法单元的通信中间件,每一算法单元的通信中间件具有一种通信算法;
4、对应每一个算法单元的通信中间件设置一个多核异构的计算单元,在每一多核异构的计算单元中针对通信中间件设置发布节点和订阅节点,所述发布节点用于按照其所属算法单元的通信中间件的通信算法发送消息,所述订阅节点用于按照其所属算法单元的通信中间件的通信算法接收消息;
5、当两个算法单元的多核异构的计算单元进行通信时,在其中一个算法单元的多核异构的计算单元中设置通信中间件桥,所述通信中间件桥用于将发布节点所发送的消息对应的通信算法转换为接收消息的订阅节点对应的通信算法。
6、在其中一个实施例中,所述当两个算法单元的多核异构的计算单元进行通信时,在其中一个算法单元的多核异构的计算单元中设置通信中间件桥,所述通信中间件桥用于将发布节点所发送的消息对应的通信算法转换为接收消息的订阅节点对应的通信算法步骤包括:
7、响应于第一算法单元与第二算法单元通过发送消息进行通信时,在第二算法单元对应的多核异构的计算单元中设置通信中间件桥;
8、获取第一算法单元的多核异构的计算单元的通信中间件的通信算法作为第一通信算法,获取第二算法单元的多核异构的计算单元的通信中间件的通信算法作为第二通信算法;
9、响应于第一算法单元的发布节点向第二算法单元的订阅节点发送消息时,在所述通信中间件桥接收到第一算法单元的发布节点发送的消息后,将第一通信算法对应的消息转换为第二通信算法对应的消息,并将转换后的消息发送至第二算法单元的订阅节点;
10、响应于第二算法单元的发布节点向第一算法单元的订阅节点发送消息时,在所述通信中间件桥接收到第二算法单元的发布节点发送的消息后,将第二通信算法对应的消息转换为第一通信算法对应的消息,并将转换后的消息发送至第一算法单元的订阅节点。
11、在其中一个实施例中,所述响应于第一算法单元与第二算法单元通过发送消息进行通信时,在第二算法单元对应的多核异构的计算单元中设置通信中间件桥步骤之后还包括:
12、在所述第一算法单元的多核异构的计算单元中设置第一跨芯片消息传输进程,在所述第二算法单元的多核异构的计算单元中设置第二跨芯片消息传输进程;
13、响应于第一算法单元的发布节点向第二算法单元的订阅节点发送消息时,所述第一算法单元的发布节点将发送的消息通过所述第一跨芯片消息传输进程发送至所述第二跨芯片消息传输进程,所述第二跨芯片消息传输进程将收到的第一算法单元的发布节点发送的消息传输进程,所述第一跨芯片消息传输进程将收到的消息传输至所述第一算法单元的订阅节点中。
14、在其中一个实施例中,所述通信中间件桥用于将发布节点所发送的消息对应的通信算法转换为接收消息的订阅节点对应的通信算法步骤包括:
15、响应于第一算法单元的发布节点向第二算法单元的订阅节点发送消息时,所述通信中间件桥通过数据转换、深拷贝或浅拷贝的方式将第一通信算法对应的消息转换为第二通信算法对应的消息;
16、响应于第二算法单元的发布节点向第一算法单元的订阅节点发送消息时,所述通信中间件桥通过数据转换、深拷贝或浅拷贝的方式将第二通信算法对应的消息转换为第一通信算法对应的消息。
17、在其中一个实施例中,所述方法还包括:
18、设置微控制单元(microcontroller unit,mcu)中包括消息接收总节点、第一算法单元模块、第二算法单元模块,并设置所述消息接收总节点连接至所述第一跨芯片消息传输进程及所述第二跨芯片消息传输进程,所述第一算法单元模块和所述第二算法单元模块连接至所述消息接收总节点;
19、所述消息接收总节点实时监测获取所述第一跨芯片消息传输进程及所述第二跨芯片消息传输进程中传输的消息并解析消息的发送地址信息,根据消息的发送地址信息将对应传输的消息存储在所述第一算法单元模块或所述第二算法单元模块中。
20、在其中一个实施例中,所述消息接收总节点实时监测获取所述第一跨芯片消息传输进程及所述第二跨芯片消息传输进程中传输的消息并解析消息的发送地址信息,根据消息的发送地址信息将对应传输的消息存储在所述第一算法单元模块或所述第二算法单元模块中步骤包括:
21、所述消息接收总节点实时监测获取所述第一跨芯片消息传输进程及所述第二跨芯片消息传输进程中传输的消息并解析消息的发送地址信息;
22、响应于消息的发送地址信息为第一算法单元的多核异构的计算单元的服务地址时,将对应传输的消息存储在所述第一算法单元模块中;
23、响应于消息的发送地址信息为第二算法单元的多核异构的计算单元的服务地址时,将对应传输的消息存储在所述第二算法单元模块中。
24、在其中一个实施例中,所述消息接收总节点实时监测获取所述第一跨芯片消息传输进程及所述第二跨芯片消息传输进程中传输的消息并解析消息的发送地址信息步骤包括:
25、所述消息接收总节点实时监测所述第一跨芯片消息传输进程与所述第二跨芯片消息传输进程之间消息的传输方向;
26、响应于消息从所述第一跨芯片消息传输进程发送至所述第二跨芯片消息时,所述消息接收总节点从所述第一跨芯片消息传输进程中获取传输的消息,并获取所述第一跨芯片消息传输进程所在第一算法单元的多核异构的计算单元的服务地址;
27、响应于消息从所述第二跨芯片消息传输进程发送至所述第一跨芯片消息时,所述消息接收总节点从所述第二跨芯片消息传输进程中获取传输的消息,并获取所述第二跨芯片消息传输进程所在第二算法单元的多核异构的计算单元的服务地址。
28、另一方面,提供了一种通信消息转换管理装置,所述装置包括:
29、通信中间件信息获取模块,用于获取实现目标系统功能的所有算法单元的通信中间件,每一算法单元的通信中间件具有一种通信算法;
30、信息发布订阅机制模块,用于对应每一个算法单元的通信中间件设置一个多核异构的计算单元,在每一多核异构的计算单元中针对通信中间件设置发布节点和订阅节点,所述发布节点用于按照其所属算法单元的通信中间件的通信算法发送消息,所述订阅节点用于按照其所属算法单元的通信中间件的通信算法接收消息;
31、通信算法转换模块,用于当两个算法单元的多核异构的计算单元进行通信时,在其中一个算法单元的多核异构的计算单元中设置通信中间件桥,所述通信中间件桥用于将发布节点所发送的消息对应的通信算法转换为接收消息的订阅节点对应的通信算法。
32、再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
33、获取实现目标系统功能的所有算法单元的通信中间件,每一算法单元的通信中间件具有一种通信算法;
34、对应每一个算法单元的通信中间件设置一个多核异构的计算单元,在每一多核异构的计算单元中针对通信中间件设置发布节点和订阅节点,所述发布节点用于按照其所属算法单元的通信中间件的通信算法发送消息,所述订阅节点用于按照其所属算法单元的通信中间件的通信算法接收消息;
35、当两个算法单元的多核异构的计算单元进行通信时,在其中一个算法单元的多核异构的计算单元中设置通信中间件桥,所述通信中间件桥用于将发布节点所发送的消息对应的通信算法转换为接收消息的订阅节点对应的通信算法。
36、又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
37、获取实现目标系统功能的所有算法单元的通信中间件,每一算法单元的通信中间件具有一种通信算法;
38、对应每一个算法单元的通信中间件设置一个多核异构的计算单元,在每一多核异构的计算单元中针对通信中间件设置发布节点和订阅节点,所述发布节点用于按照其所属算法单元的通信中间件的通信算法发送消息,所述订阅节点用于按照其所属算法单元的通信中间件的通信算法接收消息;
39、当两个算法单元的多核异构的计算单元进行通信时,在其中一个算法单元的多核异构的计算单元中设置通信中间件桥,所述通信中间件桥用于将发布节点所发送的消息对应的通信算法转换为接收消息的订阅节点对应的通信算法。
40、上述通信消息转换处理方法、装置、计算机设备和存储介质,基于不同算法公司的算法单元的通信中间件的通信算法不同,针对通信中间件设置发布节点和订阅节点实现发布订阅机制进行通信,设置通信中间件桥实现不同算法公司的算法单元的通信算法自动转换,无需担心各自通信接口不同、通信方式不同以及各自内部算法不同导致的信息传递不通畅,能通过自动转换通信算法的方式减少通信中间件算法转换成本,提升信息传递效率。