Linux系统内实现进程间高速数据传输的方法、装置、处理器及其计算机可读存储介质与流程

文档序号:37642417发布日期:2024-04-18 18:05阅读:26来源:国知局
Linux系统内实现进程间高速数据传输的方法、装置、处理器及其计算机可读存储介质与流程

本发明涉及汽车电子控制,尤其涉及高速数据传输领域,具体是指一种linux系统内实现进程间高速数据传输的方法、装置、处理器及其计算机可读存储介质。


背景技术:

1、近几年,随着汽车行业的蓬勃发展,汽车的功能越来越丰富,随之而来的是仪表等系统需要处理的整车数据量越来越大。在基于linux操作系统的控制器中,d-bus总线传输为linux系统官方推荐的进程间通讯总线。

2、dbus提供了一种低延时,低开销,高可用性的进程间通信方式,其以消息作为驱动,采用二进制的协议,实现一对一及多对多的对等通信,避免通信的序列化(编码过程)过程。dbus进程通信的核心是提供了一个后台中转守护进程,需要通信的进程首先连接到dbus守护进程,在想要发送消息时,其先发送到守护进程,再通过dbus守护进程转到目标进程中。同时此种方法限制了的d-bus不适合传输大量的数据。d-bus的一个调用-返回消息需要10次消息拷贝,4次消息验证,4次上下文切换。

3、在汽车智能化电子化之前,整车can数据量内容可控,数据量较小,因此基于d-bus安全可靠特性,在汽车仪表系统中,多采用d-bus做数据通讯,确保了数据的准确性。但是在汽车智能化、电动化的今天,汽车功能越来越复杂,整车数据量越来越高,需要处理传输的数据量也在不断增加,在此种情况下,如何平衡数据的准确性和传输的高效性则是当前面临的困难。

4、如图1所示,基于dbus的高可靠性通讯原理(多次校验),在dbus通讯时,当一包数据量低于20byte时,耗时5ms,当数据量在20~80byte时,耗时12ms,基于此特性,我们对汽车的数据传输进程做了优化。


技术实现思路

1、本发明的目的是克服了上述现有技术的缺点,提供了一种linux系统内实现进程间高速数据传输的方法、装置、处理器及其计算机可读存储介质。

2、为了实现上述目的,本发明的该linux系统内实现进程间高速数据传输的方法、装置、处理器及其计算机可读存储介质如下:

3、该linux系统内实现进程间高速数据传输的方法,其主要特点是,所述的方法包括以下步骤:

4、(1)收集can总线数据,并通过can解析进程进行can信号解析处理;

5、(2)对经过解析处理后得到的can信号发送至d-bus数据发送端进行d-bus数据传输;

6、(3)由系统的业务处理进程接收所述的can信号,并进行相应的业务处理。

7、较佳地,所述的步骤(1)包括:所述的can解析进程对接收到的can总线数据进行逻辑解析和过滤处理,其中,所述的逻辑解析具体为:

8、根据当前接收到的can总线数据的can id,将该can总线数据拆分为数个can信号,以此完成can数据解析。

9、较佳地,所述的步骤(2)具体为:

10、将经过逻辑解析处理后的数个can信号同步发送至所述的d-bus数据发送端,待满足预设数据量后以供后续进行d-bus数据传输。

11、较佳地,所述的步骤(2)之前还包括:平衡检测与峰值整合处理,具体为:

12、当所述的can解析进程监控到在一定周期内,can总线上发生变化的can总线数据超过预设个数时,则触发峰值整合处理过程。

13、较佳地,所述的预设个数为:当can总线上发生变化的can总线数据超过15个canid时,则触发峰值整合处理过程。

14、较佳地,所述的峰值整合处理过程具体为:

15、当检测到当前can总线数据的数量到达峰值标准后,收集待通过所述的d-bus数据发送端进行传输的数据,并将该部分数据按照预设的周期频率进行d-bus数据传输。

16、较佳地,所述的预设的周期频率为:以20ms周期的频率进行d-bus数据传输。

17、较佳地,所述的步骤(3)具体为:

18、所述的业务处理进程接收经过数据整合后的can总线数据,并对d-bus总线上的数据进行异步处理,从而减少dbus总线上数据的发送频率,以此降低内存占用率。

19、该linux系统内实现进程间高速数据传输的装置,其主要特点是,所述的装置包括:

20、处理器,被配置成执行计算机可执行指令;

21、存储器,存储一个或多个计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述所述的linux系统内实现进程间高速数据传输的方法的步骤。

22、该linux系统内实现进程间高速数据传输的处理器,其主要特点是,所述的处理器被配置成执行计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现上述所述的linux系统内实现进程间高速数据传输的方法的步骤。

23、该计算机可读存储介质,其主要特点是,其上存储有计算机程序,所述的计算机程序可被处理器执行以实现上述所述的linux系统内实现进程间高速数据传输的方法的步骤。

24、采用了本发明的该linux系统内实现进程间高速数据传输的方法、装置、处理器及其计算机可读存储介质,可以动态检测当前can总线上的变化的数据量,以及可以依据待通过d-bus传输数据量的大小,选择实时传输(高频)或者周期传输(大的数据包),可以确保在软件架构、通讯协议不变的前提下实现大数据传输,同时满足应用对数据的准确性、时效性的要求。



技术特征:

1.一种linux系统内实现进程间高速数据传输的方法,其特征在于,所述的方法包括以下步骤:

2.根据权利要求1所述的linux系统内实现进程间高速数据传输的方法,其特征在于,所述的步骤(1)包括:所述的can解析进程对接收到的can总线数据进行逻辑解析和过滤处理,其中,所述的逻辑解析具体为:

3.根据权利要求2所述的linux系统内实现进程间高速数据传输的方法,其特征在于,所述的步骤(2)具体为:

4.根据权利要求2所述的linux系统内实现进程间高速数据传输的方法,其特征在于,所述的步骤(2)之前还包括:平衡检测与峰值整合处理,具体为:

5.根据权利要求4所述的linux系统内实现进程间高速数据传输的方法,其特征在于,所述的预设个数为:当can总线上发生变化的can总线数据超过15个can id时,则触发峰值整合处理过程。

6.根据权利要求4所述的linux系统内实现进程间高速数据传输的方法,其特征在于,所述的峰值整合处理过程具体为:

7.根据权利要求6所述的linux系统内实现进程间高速数据传输的方法,其特征在于,所述的预设的周期频率为:以20ms周期的频率进行d-bus数据传输。

8.根据权利要求6所述的linux系统内实现进程间高速数据传输的方法,其特征在于,所述的步骤(3)具体为:

9.一种linux系统内实现进程间高速数据传输的装置,其特征在于,所述的装置包括:

10.一种linux系统内实现进程间高速数据传输的处理器,其特征在于,所述的处理器被配置成执行计算机可执行指令,所述的计算机可执行指令被所述的处理器执行时,实现权利要求1~8中任一项所述的linux系统内实现进程间高速数据传输的方法的步骤。

11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述的计算机程序可被处理器执行以实现权利要求1~8中任一项所述的linux系统内实现进程间高速数据传输的方法的步骤。


技术总结
本发明涉及一种Linux系统内实现进程间高速数据传输的方法,其中,所述的方法包括以下步骤:(1)收集CAN总线数据,并通过CAN解析进程进行CAN信号解析处理;(2)对经过解析处理后得到的CAN信号发送至D‑Bus数据发送端进行D‑Bus数据传输;(3)由系统的业务处理进程接收所述的CAN信号,并进行相应的业务处理。本发明还涉及一种相应的装置、处理器及其计算机可读存储介质。采用了本发明的该Linux系统内实现进程间高速数据传输的方法、装置、处理器及其计算机可读存储介质,通过在指定时长的周期内,将整合过滤后的数据通过DBus总线传输给逻辑进程,大幅度的降低DBus上的消息量,有效的降低内存过高的问题,提升系统的性能与稳定性。

技术研发人员:高东,李辛翠
受保护的技术使用者:东风电子科技股份有限公司
技术研发日:
技术公布日:2024/4/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1