本发明涉及车辆相关,特别是一种车载多内核通信方法、装置、电子设备及存储介质。
背景技术:
1、在当前的主流商用汽车开发系统架构(autosar)平台,例如autosar cp平台上,控制器域网(controller area network,can)通信的跨核支持更多的还是依赖于软件模块(software component,swc)的代理机制来实现。具体的方案如图1所示:
2、当位于内核2’的应用21’需要访问控制器域网时,由于控制器域网的通信协议(can protocol)3’只部署在内核1’,因此应用21’的软件模块22’将数据写到运行时环境(run-time environment,rte)的共享内层4’,由位于内核1’的应用11’的软件模块代理12’从共享内层4’中取出数据,转发到控制器域网3’。
3、因此,现有的车载多内核的控制器域网通信采用代理机制,需要频繁使用跨核通信,严重降低性能。并且当前的方案通信协议等通信资源需要大量部署在同一个核上会导致核的资源不能均衡利用,进而压缩应用的空间。
技术实现思路
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、本发明在多个内核分别设置一控制器域网通道,通过控制器域网通道收发控制器域网数据,并通过判断控制器域网数据的目的控制器域网通道,将控制器域网数据发送至合适的控制器域网通道发送,因此部分控制器域网数据可以由本内核设置的控制器域网通道发送,而部分控制器域网数据由其他内核设置的控制器域网通道发送,从而避免将所有的控制器域网数据集中到单个内核部署的控制器域网发送,减少核间通信,避免降低性能,提高核间资源均衡。
1.一种车载多内核通信方法,其特征在于,应用于内核,每一所述内核设置有控制器域网通道,所述方法包括:
2.根据权利要求1所述的车载多内核通信方法,其特征在于,每一所述内核设置的控制器域网通道为车辆的控制器域网的一部分。
3.根据权利要求1所述的车载多内核通信方法,其特征在于:
4.根据权利要求3所述的车载多内核通信方法,其特征在于,所述调用路由线程根据待发送控制器域网数据所包括的目的通信地址,判断所述待发送控制器域网数据的目的控制器域网通道,将所述待发送控制器域网数据发送到目的控制器域网通道,具体包括:
5.根据权利要求3所述的车载多内核通信方法,其特征在于,所述调用所述路由线程根据待发送控制器域网数据所包括的目的通信地址,判断所述待发送控制器域网数据的目的控制器域网通道,将所述待发送控制器域网数据发送到目的控制器域网通道,具体包括:
6.根据权利要求5所述的车载多内核通信方法,其特征在于,所述将所述待发送控制器域网数据转发到设置在其他内核的控制器域网通道,具体包括:
7.根据权利要求6所述的车载多内核通信方法,其特征在于,所述接收所述控制器域网数据接收事件所指示的控制器域网数据,具体包括:
8.一种车载多内核通信装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种存储介质,其特征在于,所述存储介质存储计算机指令,当计算机执行所述计算机指令时,用于执行如权利要求1至8任一项所述的车载多内核通信方法的所有步骤。