通信协议栈复用方法、通信方法、计算机设备及介质技术

技术编号:34261714 阅读:28 留言:0更新日期:2022-07-24 13:59
本发明专利技术公开一种通信协议栈复用方法、通信方法、计算机设备及介质,该复用方法包括获取通信协议栈连接的总线数量和总线通信协议类型;根据总线数量和总线通信协议类型确定总线复用个数、至少一个复用层及进程程序架构,进程程序架构包括至少一个独立进程程序;根据总线复用个数确定通信协议栈各层的状态机数组;根据所述进程程序架构及所述状态机数组进行消息转发,其中,任意两个相邻层之间采用消息队列通信。本发明专利技术通过创建协议栈独立进程及协议栈各层的消息队列通信方式,实现通信协议栈各层,及协议栈与车载终端程序之间的解耦,提高程序的可靠性和复用率,支持多条总线同时通信。信。信。

Communication protocol stack multiplexing method, communication method, computer equipment and medium

【技术实现步骤摘要】
通信协议栈复用方法、通信方法、计算机设备及介质


[0001]本专利技术涉及数据通信
,尤其涉及一种通信协议栈复用方法、通信方法、计算机设备及介质。

技术介绍

[0002]随着人们对整车性能及指标的要求提升,车辆配置的电控单元(Electronic Control Unit,ECU)数量逐渐增多,为了保证车辆控制系统稳定性和可靠性,需要对ECU进行自动化测试。
[0003]在现有的ECU测试系统中,通常采用通信协议栈与车载终端程序耦合在一起,通过共用数据区进行数据交互,其存在以下问题:通信协议栈与车载终端程序耦合连接,导致协议栈二次开发代码复用率低,且车载终端程序中断,会影响通信协议栈程序的运行;通信协议栈各层之间的交互采用大量全局变量,数据生存周期长,函数封装和移植性低,各协议层之间的数据同步需要额外维护,在未进行通讯时,协议栈程序处于空转状态,内存占用率高。现有的通信协议栈无法实现多条总线同时通信。

技术实现思路

[0004]本专利技术提供一种通信协议栈复用方法、通信方法、计算机设备及介质,以通过创建独立进程及消息队列通信方式,实现通信协议栈各层,及协议栈与车载终端程序之间的解耦,提高程序的可靠性和复用率。
[0005]根据本专利技术的一方面,提供了一种通信协议栈复用方法,包括:
[0006]获取所述通信协议栈连接的总线数量和总线通信协议类型;
[0007]根据所述总线数量和所述总线通信协议类型确定总线复用个数、至少一个复用层及进程程序架构,所述进程程序架构包括至少一个独立进程程序;
[0008]根据所述总线复用个数确定所述通信协议栈各层的状态机数组;
[0009]根据所述进程程序架构及所述状态机数组进行消息转发;
[0010]其中,任意两个相邻层之间采用消息队列通信。
[0011]根据本专利技术的另一方面,提供了一种车载总线通信方法,基于上述通信协议栈复用方法实现,所述通信方法包括:判断所述通信协议栈是否接收到消息队列;若所述通信协议栈未接收到消息队列,则采用所述通信协议栈复用方法进行消息转发,其中,通信协议栈各层之间采用消息队列通信。
[0012]根据本专利技术的另一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述通信协议栈复用方法;或者,所述处理器执行所述程序时实现上述通信方法。
[0013]根据本专利技术的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述通信协议栈复用方法;或者,所述程序被处理器执行时实现上述通信方法。
[0014]本专利技术实施例的技术方案,通过获取通信协议栈连接的总线数量和总线通信协议类型,根据总线数量和总线通信协议类型确定总线复用个数、至少一个复用层及进程程序架构,进程程序架构包括至少一个独立进程程序;根据总线复用个数确定通信协议栈各层的状态机数组;根据所述进程程序架构及所述状态机数组进行消息转发;其中,任意两个相邻层之间采用消息队列通信,解决了现有的协议栈与终端程序耦合导致的复用率低、可靠性差、占用内存高的问题,通过创建协议栈独立进程及协议栈各层的消息队列通信方式,实现通信协议栈各层,及协议栈与车载终端程序之间的解耦,提高程序的可靠性和复用率,提高了协议栈复用时数据的同步性和可靠性,可实现同一协议栈支持多条总线同时通信。
[0015]应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0016]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1是本专利技术实施例一提供的一种通信协议栈复用方法的流程图;
[0018]图2是本专利技术实施例一提供的一种进程程序架构的示意图;
[0019]图3是本专利技术实施例一提供的另一种进程程序架构的示意图;
[0020]图4是本专利技术实施例二提供的一种车载总线通信方法的流程图;
[0021]图5是本专利技术实施例三提供的一种计算机设备的结构示意图。
具体实施方式
[0022]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0023]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0024]实施例一
[0025]图1是本专利技术实施例一提供的一种通信协议栈复用方法的流程图,本实施例可适用于多个ECU与车载终端采用复用通信协议栈进行通信的应用场景,其中,ECU通过总线接口与通信协议栈连接,车载终端与通信协议栈之间采用消息队列方式通信。该方法可以由
计算机设备来执行,该计算机设备可采用硬件和/或软件的形式实现上述复用方法。
[0026]如图1所示,该复用方法具体包括如下步骤:
[0027]步骤S1:获取通信协议栈连接的总线数量和总线通信协议类型。
[0028]其中,总线数量是与通信协议栈通信连接的车载控制模块的总线接口的数量;总线通信协议类型是车载控制模块与通信协议栈之间互联通信协议的类型。
[0029]典型地,总线通信协议类型包括CAN(Controller Area Network,控制器局域网络)总线通信协议、LIN(Local Interconnect Network,局域互连网络)总线通信协议和MOST(Media Oriented System Transport,面向媒体的系统传输)总线通信协议协议,CAN总线通信协议包括XCP(Universal Calibration Protocol)协议,又称通用标定协议;CCP(CAN Calibration Protocol)协议,又称CAN总线标定协议;UDS(Unified Diagnostic Services)协议,又称统一诊断服务协议。
[0030]步骤S2:根据总线数量本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通信协议栈复用方法,其特征在于,包括:获取所述通信协议栈连接的总线数量和总线通信协议类型;根据所述总线数量和所述总线通信协议类型确定总线复用个数、至少一个复用层及进程程序架构,所述进程程序架构包括至少一个独立进程程序;根据所述总线复用个数确定所述通信协议栈各层的状态机数组;根据所述进程程序架构及所述状态机数组进行消息转发;其中,任意两个相邻层之间采用消息队列通信。2.根据权利要求1所述的方法,其特征在于,根据所述总线数量和所述总线通信协议类型确定总线复用个数、至少一个复用层及进程程序架构,包括:对同一总线通信协议类型的总线进行聚类,根据聚类结果确定所述总线复用个数及所述复用层;根据所述总线复用个数和所述复用层确定所述进程程序架构。3.根据权利要求1所述的方法,其特征在于,所述进程程序架构设计为一个独立进程程序,其中,业务层、应用层、网络层、数据链路层及物理层为复用层;所述独立进程程序包括:并行运行的业务层线程程序、应用层线程程序、网络层线程程序、数据链路层线程程序及物理层线程程序;各层的线程程序的运行驱动方式为消息驱动。4.根据权利要求1所述的方法,其特征在于,所述进程程序架构设计为多个进程程序,多个进程程序包括至少一个协议栈独立进程程序和共用独立进程程序;其中,数据链路层为复用层,所述协议栈独立进程程序与所述共用独立进程程序之间采用消息队列通信,至少一个协议栈独立进程程序之间并行运行。5.根据权利要求1

4中任一项所述的方法,其特征在于,所述消息队列包括:目的地址类型字段...

【专利技术属性】
技术研发人员:周建豪孙彦森刘金栋张振京刘雨霞
申请(专利权)人:潍坊潍柴动力科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1