通信方法、设备及存储介质与流程

文档序号:30336017发布日期:2022-06-08 06:51阅读:71来源:国知局
通信方法、设备及存储介质与流程

1.本技术涉及通信技术领域,特别涉及一种通信方法、设备及存储介质。


背景技术:

2.随着车辆智能化的程度越来越高,车辆内部各系统之间的通信越加重要。
3.现有技术中,车辆的多ecu(电子控制单元,electronic control unit)之间的通信策略通常在车辆出厂时被固化在不可进行写操作的存储区中,使得各ecu之间通过车用总线以固定的通信策略传输通信报文,以实现多ecu通信。比如,空调ecu以固定时间间隔不断地向车用总线发送固定的通信报文,该通信报文携带空调模式、空调风速等空调状态信息的目标数据,然后仪表ecu通过车用总线接收空调ecu发送的通信报文,根据通信报文中的目标数据显示空调的状态信息。
4.但是在多ecu之间的通信策略固化,发送ecu以固定的通信策略向接收ecu发送通信报文的情况下,可能存在接收ecu在某段时间或场景是不需要获取发送ecu发送的通信报文的问题,导致车用总线传输了大量的无效通信报文,车用总线负载率较高,另外由于车用总线的带宽有限,因此大量的通信报文还会造成传输拥堵,延迟率较高。


技术实现要素:

5.本技术提供了一种通信方法、系统、车辆及存储介质,可以减少车用总线上传输的无效的通信报文,降低车用总线的负载率和延迟率。所述技术方案如下:
6.第一方面,提供了一种通信方法,所述方法应用于第一ecu,所述方法包括:
7.向第二ecu发送数据订阅请求,所述数据订阅请求携带向所述第二ecu请求的目标数据的通信策略;
8.接收所述第二ecu根据所述通信策略发送的通信响应报文,所述通信响应报文携带所述目标数据;
9.从所述通信响应报文中获取所述目标数据。
10.作为一个示例,所述接收所述第二ecu根据所述通信策略发送的通信响应报文之前,所述方法还包括:
11.接收所述第二ecu发送的订阅成功响应报文,所述订阅成功响应报文携带数据发送格式,所述订阅成功响应报文用于指示所述目标数据订阅成功,所述数据发送格式指示所述第二ecu向所述第一ecu发送所述目标数据的格式,所述数据发送格式包括所述目标数据的数据标识在所述通信响应报文中的位置、所述目标数据在所述通信响应报文中的位置、占用位数和进制类型中的一种或多种;
12.所述从所述通信响应报文中获取所述目标数据,包括:
13.根据所述数据发送格式,从所述通信响应报文中解析出所述目标数据。
14.作为一个示例,所述数据订阅请求包括用于指示数据订阅的标识。
15.第二方面,提供了另一种通信方法,所述方法应用于第二ecu,所述方法包括:
16.接收第一ecu发送的数据订阅请求,所述数据订阅请求携带所述第一ecu请求的目标数据的通信策略;
17.根据所述通信策略向所述第一ecu发送通信响应报文,所述通信响应报文携带所述目标数据。
18.作为一个示例,通信策略包括所述目标数据的数据标识;
19.所述根据所述通信策略向所述第一ecu发送通信响应报文之前,所述方法还包括:
20.根据所述目标数据的数据标识,确定所述第二ecu支持发送的数据中是否存在所述目标数据;
21.若确定所述第二ecu支持发送的数据中存在所述目标数据,则向所述第一ecu发送订阅成功响应报文,所述订阅成功响应报文用于指示所述目标数据订阅成功;
22.若确定所述第二ecu支持发送的数据中不存在所述目标数据,则向所述第一ecu发送订阅失败响应报文,所述订阅失败响应报文用于指示所述目标数据订阅失败。
23.作为一个示例,所述通信策略还包括请求的所述目标数据的发送次数、发送时间间隔、开始发送条件和结束发送条件中的一种或多种。
24.作为一个示例,所述根据所述通信策略向所述第一ecu发送通信响应报文,包括:
25.根据所述通信策略和预设的数据发送格式向所述第一ecu发送所述通信响应报文,所述数据发送格式包括请求的所述目标数据的数据标识在所述通信响应报文中的位置、所述目标数据在所述通信响应报文中的位置、占用位数和进制类型中的一种或多种。
26.第三方面,提供了再一种通信方法,所述方法应用于终端设备,所述终端设备至少包括第一ecu和第二ecu,所述第一ecu和所述第二ecu通信连接,所述方法包括:
27.所述第一ecu向所述第二ecu发送数据订阅请求,所述数据订阅请求携带所述第一ecu向所述第二ecu请求的目标数据的通信策略;
28.所述第二ecu接收所述第一ecu发送的所述数据订阅请求;
29.所述第二ecu根据所述通信策略向所述第一ecu发送通信响应报文,所述通信响应报文携带所述目标数据;
30.所述第一ecu接收所述第二ecu发送的所述通信响应报文,从所述通信响应报文中获取所述目标数据。
31.第四方面,提供了一种计算机设备,所述计算机设备至少包括第一ecu和第二ecu,所述第一ecu和所述第二ecu分别包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述第一ecu对应的计算机程序被对应的处理器执行时实现上述的第一方面提供的通信方法的步骤,所述第二ecu对应的计算机程序被对应的处理器执行时实现上述的第二方面提供的通信方法的步骤。
32.第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的第一方面、第二方面或第三方面提供的通信方法的步骤。
33.可以理解的是,上述第二方面、第三方面、第四方面、第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
34.本技术实施例提供的技术方案带来的有益效果是:
35.本技术实施例中,第一ecu先向第二ecu发送数据订阅请求,数据订阅请求携带向
第二ecu请求的目标数据的通信策略,然后接收第二ecu根据通信策略发送的携带目标数据的通信响应报文,从通信响应报文中获取目标数据。如此,一个ecu(发送ecu)可以在需要时向另一个ecu(接收ecu)发送数据订阅请求,从而接收ecu根据发送ecu主动发送的数据订阅请求携带的通信策略,向发送ecu发送携带实际所需的目标数据的通信响应报文,可以避免接收ecu以出厂固化的通信策略向发送ecu发送的目标数据可能不是发送ecu需要的问题,减少了车用总线传输的无效通信响应报文,降低了车用总线的负载率和延迟率。
附图说明
36.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
37.图1是本技术实施例提供的一种多ecu系统的结构框图;
38.图2是本技术实施例提供的一种通信方法的流程图;
39.图3是本技术实施例提供的另一种通信方法的流程图;
40.图4是本技术实施例提供的再一种通信方法的流程图;
41.图5为本技术实施例提供的一种ecu的结构示意图。
具体实施方式
42.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
43.应当理解的是,本技术提及的“多个”是指两个或两个以上。在本技术的描述中,除非另有说明,“/”表示或的意思,比如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,比如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,为了便于清楚描述本技术的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
44.在对本技术实施例进行详细地解释说明之前,先对本技术实施例的应用场景予以说明。
45.随着技术的发展,车辆的智能化成为车辆技术发展的重要方向之一。车辆的智能化包括自动化或网络化等,可以使车辆具有数据处理的能力,从而实现智能驾驶或车联网等。其中,车辆内部各系统之间的通信是实现车辆智能化的基础。通常,车辆内部各系统由独立的电子控制单元(electronic control unit,ecu)进行控制,因此车辆内部的各系统又称为多ecu系统,各系统之间的通信又称为多ecu通信(各ecu之间的通信)。
46.作为一个示例,ecu用于对对应的系统进行控制,发送与对应系统相关的信号(数据)。比如,车辆内部可以包括控制发动机系统的发动机ecu、控制空调系统的空调ecu或控制仪表系统的仪表ecu等。发动机ecu用于对车辆的发动机进行控制,发送与发动机相关的信号。空调ecu用于对车辆的空调进行控制,发送与空调相关的信号。仪表ecu用于对车辆的
仪表进行控制,发送与仪表相关的信号。
47.其中,与发动机相关的信号可以包括发动机转速、氧传感器电压、油轨压力值或发动机燃料消耗率等信号,与空调相关的信号可以包括空调模式、空调风速或空调功率等信号,与仪表相关的信号可以包括仪表显示参数的单位(公制或英制)、显示语言(中英文等)、机油保养里程或保养天数等信号。
48.需要说明的是,本技术实施例只是作为一个示例,并不作为对车辆内部系统的限制。比如,车辆内部还可以包括车灯系统,用于对车辆的车灯进行控制,发送与车灯相关的信号,与车灯相关的信号可以包括刹车灯、转向灯等信号。
49.现有技术中,各ecu中存储有被固化的通信策略,该通信策略在车辆出厂后不可被更改。多ecu之间可以根据通信策略传输携带目标数据(目标信号)的通信报文,从而实现各ecu之间通信。比如,ecu可以根据固定的通信策略通过车用总线向其它ecu发送通信报文,或者根据固定的通信策略从车用总线上接收其它ecu发送的通信报文,从而实现与其它ecu的通信。
50.但是,现有技术中多ecu之间的通信策略固化,可能会存在车用总线负载率较高,车用总线上的数据传输的延迟率较高的问题。
51.比如,在一定时间段内空调的相关信号没有发生变化的情况下,空调ecu仍然根据通信策略,以固定时间间隔不间断地通过车用总线发送固定的携带空调相关信号(目标数据)的通信报文,仪表ecu在该一定时间段内从车用总线上接收到携带相同的空调相关信号的通信报文,使得车用总线在该一定时间段内传输了大量的无效的通信报文,车用总线的负载率较高。另外,由于车用总线的带宽有限,因此大量的无效的通信报文还会造成传输拥堵,使得数据传输的延迟率较高。
52.基于此,为解决由于通信策略固化造成的车用总线的负载率和延迟率较高的问题,本技术实施例提出了一种通信方法,可以减少车用总线上传输的无效的通信响应报文,从而降低车用总线的负载率和延迟率。
53.下面对本技术实施例提供的多ecu系统进行详细地解释说明。
54.请参考图1,图1是本技术实施例提供的一种多ecu系统的结构框图。
55.其中,多ecu系统包括多个ecu。比如,如图1所示,多ecu系统包括第一ecu10和第二ecu20。
56.其中,多ecu系统可以应用于终端设备中,即终端设备可以包括多个ecu,比如包括图1示出的第一ecu10和第二ecu20。
57.其中,第一ecu10和第二ecu20连接,第一ecu10与第二ecu20可以进行通信。比如,第一ecu10和第二ecu20可以通过有线或无线连接。
58.其中,第一ecu10用于向第二ecu20发送数据订阅请求,数据订阅请求携带向第二ecu请求的目标数据的通信策略。第一ecu10还用于接收第二ecu20根据通信策略发送的通信响应报文,从通信响应报文中获取目标数据,通信响应报文携带目标数据。
59.其中,第二ecu20用于接收第一ecu10发送的数据订阅请求,数据订阅请求携带第一ecu10请求的目标数据的通信策略。第二ecu20还用于根据通信策略向第一ecu10发送通信响应报文,通信响应报文携带目标数据。
60.另外,第一ecu10可以向第二ecu20发送数据订阅请求,数据订阅请求携带第一
ecu10向第二ecu20请求的目标数据的通信策略。第二ecu20接收第一ecu10发送的数据订阅请求,根据通信策略向第一ecu10发送通信响应报文,通信响应报文携带目标数据。之后第一ecu10接收第二ecu20发送的通信响应报文,从通信响应报文中获取目标数据。
61.作为一个示例,通信策略可以存储于第一ecu10的可读写的存储区内。由于通信策略存储于可进行读写的存储区内,因此通信策略可根据实际需求灵活地修改。比如,通信策略可以在车辆出厂前或出厂后写入存储区内,也可以根据实际需求更改通信策略,能够满足不同的实际需求,灵活性和可适用性较高。
62.此外,第一ecu10和第二ecu20均可以发送或接收数据订阅请求,发送或接收通信响应报文。本技术实施例仅是以第一ecu10发送数据订阅请求和接收通信响应报文,第二ecu20接收数据订阅请求和发送通信响应报文为例进行说明,并不作为限定。其中,第一ecu10也可以称为发送ecu,指示发送数据订阅请求,第二ecu20可以称为接收ecu,指示接收数据订阅请求。
63.如此第一ecu10可以在需要时向第二ecu20发送数据订阅请求,以请求第二ecu20根据数据订阅请求携带的通信策略向第一ecu10发送通信响应报文,从而第二ecu20根据第一ecu10主动发送的数据订阅请求携带的通信策略,向第一ecu10发送实际所需的目标数据,可以避免第二ecu20以出厂固化的通信策略向第一ecu10发送的目标数据可能不是第一ecu10需要的问题,减少了车用总线传输的无效通信响应报文,降低了车用总线的负载率和延迟率。
64.作为一个示例,如图1所示,多ecu系统可以应用于终端设备中,终端设备可以为车辆,第一ecu10和第二ecu20可以为车辆内部各系统中的任两个系统对应的ecu,第一ecu10和第二ecu20可以通过车用总线连接,通过车用总线进行通信。
65.比如,第一ecu10为车辆内部仪表系统的仪表ecu,第二ecu20为车辆内部空调系统的空调ecu。仪表ecu可以通过车用总线向空调ecu发送携带目标数据(与空调相关的信号)的数据订阅请求,空调ecu接收该数据订阅请求,再根据该数据订阅请求通过车用总线向仪表ecu发送通信响应报文,之后仪表ecu接收车用总线上传输的空调ecu发送的通信响应报文,从通信响应报文中获取目标数据(与空调相关的信号)。如此,通过第一ecu10主动发送的数据订阅请求,以及第二ecu20对接收的数据订阅请求的响应,实现第一ecu10和第二ecu20之间的通信,即本技术实施例通过发送订阅请求和接收订阅请求的通信机制实现通信。
66.另外,多ecu系统还可以包括更多的ecu。比如,如图1所示,多ecu系统还包括第三ecu30,第一ecu10、第二ecu20可以分别与第三ecu30连接,第一ecu10、第二ecu20可以分别与第三ecu30进行通信。当然,图1仅作为示例,并不作为对ecu系统的限定。比如,第三ecu30仅与第一ecu10连接,而无法与第二ecu20连接(通信),当然第三ecu30也可以仅与第二ecu20连接(通信),而无法与第一ecu10连接(通信)。
67.作为一个示例,第三ecu30可以为发动机ecu或刹车ecu等,本技术实施例对此不做限定。
68.作为一个示例,多ecu系统中的任一个ecu可以为任一具有运算、控制和存储功能的设备,本技术实施例对ecu不做限定。比如,车辆内部各系统中的任一个系统对应的ecu可以称为“行车电脑”或“车载电脑”等,ecu可以为专用微型计算机设备或专用嵌入式设备等,
用于对对应的系统进行控制。
69.作为一个示例,多ecu系统可以为其它设备中的多ecu系统,本技术实施例对比不做限定。
70.接下来,对本技术实施例提供的通信方法予以说明。
71.请参考图2,图2是本技术实施例提供的一种通信方法的流程图,该方法可以应用于第一ecu,比如应用于上述图1所示的多ecu系统中的第一ecu。如图2所示,该方法包括如下步骤:
72.步骤201,第一ecu向第二ecu发送数据订阅请求,数据订阅请求携带向第二ecu请求的目标数据的通信策略。
73.其中,通信策略可以包括至少一种参数。比如通信策略包括向第二ecu请求的目标数据的数据标识,数据标识用于唯一标识数据,数据标识可以为数据名称或数据id(identity document,身份证标识号)等。
74.当然,通信策略也可以包括多个数据标识,以便第一ecu一次获取多个数据且,该多个数据应均为同一个ecu支持发送的数据。
75.另外,通信策略还可以包括请求的目标数据的发送次数、发送时间间隔、开始发送条件和结束发送条件中的一种或多种。
76.作为一个示例,通信策略可以存储于第一ecu的可读写的存储区内。由于通信策略存储于ecu的可读写的存储区内,因此通信策略可根据实际需求修改,灵活性和可适用性较高。
77.比如,通信策略所包括的向第二ecu请求的目标数据的数据标识、请求的目标数据的发送次数、发送时间间隔、开始发送条件和结束发送条件均可更改。另外,为满足不同实际需要,通信策略还可以包括更多或更少的参数,本技术实施例对通信策略不做限定。
78.作为一个示例,每个ecu内存储有预先设置的与其它ecu通信的通信策略。第一ecu可以在满足预设条件时,获取与第二ecu通信的通信策略,向第二ecu发送携带与第二ecu通信的通信策略的数据订阅请求。
79.比如,第一ecu为仪表ecu,第二ecu为空调ecu。仪表ecu可以在其上电后,获取与空调ecu通信的通信策略,向空调ecu发送数据订阅请求,数据订阅请求携带与空调ecu通信的通信策略。其中,车辆开启后仪表ecu即可上电。
80.当然,每个ecu内可以存储多个通信策略,多个通信策略可以为与不同ecu通信的通信策略,也可以为与同一个ecu通信的不同策略。比如,在不同的情况下,第一ecu与同一个ecu通信的通信策略不同。
81.作为一个示例,车辆包括tbox(telematics box,车载智能终端)系统,用于对车辆进行监测,第一ecu可以为tbox系统对应的tbox-ecu。对不同车辆,tbox系统对应的tbox-ecu从仪表ecu中获取的目标数据(信号)可能不同,即进行监测的参数不同。比如,对于私人车辆,tbox-ecu需要对机油保养里程或保养天数进行监控,因此需要从仪表ecu中获取机油保养里程或保养天数等数据,用来确定车辆是否需要保养。对于出租车辆,可以由公司统一管理保养,因此出租车的tbox-ecu不需要对机油保养里程或保养天数进行监控,即不需要从仪表ecu中获取机油保养里程或保养天数等数据。由于不同车辆的tbox-ecu从仪表ecu中获取的数据不同,因此与仪表ecu通信的通信策略不同,本技术实施例提供的通信方法中,
可以根据不同的车辆对通信策略进行相应的修改,满足不同实际需要,灵活性和可适用性较高。
82.其中,第一ecu与第二ecu可以通过无线或有线连接。比如,第一ecu和第二ecu为车辆中的ecu,第一ecu和第二ecu通过车用总线连接,车用总线为第一ecu和第二ecu实现通信的数据传输通道。比如,第一ecu通过车用总线向第二ecu发送数据订阅请求。
83.作为一个示例,数据订阅请求可以以报文的形式在数据传输通道(比如车用总线)中传输。
84.其中,数据订阅请求可以包括用于指示数据订阅的标识。比如,数据订阅请求包括用于指示类型的类型标识,类型标识可以为数据订阅的标识、取消订阅的标识、通信响应的标识、订阅失败响应的标识或订阅成功响应的标识等。数据订阅的标识可以标识数据订阅请求,取消订阅的标识可以标识取消订阅请求,通信响应的标识可以标识通信响应报文,订阅失败响应的标识可以标识订阅失败响应报文,订阅成功响应的标识可以标识订阅成功响应报文。
85.其中,类型标识可以为类型名称或类型id等。
86.比如,第一ecu向第二ecu发送的数据订阅请求中包括类型标识,类型标识为数据订阅的标识。如此,第二ecu在接收到第一ecu发送的数据订阅请求后,可以根据数据订阅的标识确定接收到的数据为数据订阅请求。
87.其中,数据订阅请求还可以包括至少一个接收ecu标识,接收ecu标识用于指示接收数据订阅请求的ecu,接收ecu标识可以为接收ecu名称或接收ecu的id等。
88.需要说明的是,根据接收ecu标识,可以使第二ecu在接收第一ecu发送的数据订阅请求之后,根据接收ecu标识,确定是否解析数据订阅请求。根据数据订阅请求包括的用于指示数据订阅的标识(类型标识),可以使第二ecu确定接收到的数据为数据订阅请求报文。
89.步骤202,第一ecu接收第二ecu根据通信策略发送的通信响应报文。
90.其中,通信响应报文携带目标数据。
91.作为一个示例,通信响应报文可以包括用于指示通信响应的标识。比如,通信响应报文包括类型标识,类型标识为通信响应的标识。第一ecu根据通信响应报文中的类型标识,确定接收到的数据为通信响应报文。
92.其中,第一ecu通过有线或无线接收第二ecu发送的通信响应报文。比如,第一ecu通过车用总线接收第二ecu发送的通信响应报文。
93.作为一个示例,第一ecu与第二ecu的数据传输通道(比如车用总线)中可能传输有多个不同ecu或相同ecu发送的多个通信响应报文。这种情况下,第一ecu数据传输通道中获取通信响应报文时,应从多个通信响应报文中选择其它ecu向第一ecu发送的通信响应报文。
94.比如,通信响应报文包括至少一个接收ecu标识。第一ecu可以在接收第二ecu发送的通信响应报文之后,根据通信响应报文中的接收ecu标识确定是否解析通信响应报文(是否执行步骤203,是否从通信响应报文中获取目标数据)。
95.具体地,第一ecu可以在接收第二ecu发送的通信响应报文之后,确定通信响应报文中的接收ecu标识是否包括第一ecu标识。若确定接收ecu标识中包括第一ecu标识,则确定该通信响应报文是其它ecu发送给自身的数据,解析该通信响应报文(执行步骤203,从通
信响应报文中获取目标数据)。若确定接收ecu标识中不包括第一ecu标识,则确定该通信响应报文不是其它ecu发送给自身的数据,不解析该通信响应报文,或者丢弃该通信响应报文。
96.作为一个示例,通信响应报文包括的接收ecu标识可以为多个,这种情况下,第二ecu可以通过同一个通信响应报文(报文)同时向多个ecu发送目标数据,多个ecu均可以接收该通信响应报文,从而减少第二ecu发送的通信响应报文(报文),降低负载率和延迟率。
97.作为一个示例,第一ecu在接收第二ecu根据通信策略发送的通信响应报文之前,还可以接收第二ecu发送的订阅成功响应报文。
98.其中,订阅成功响应报文携带数据发送格式,订阅成功响应报文用于指示目标数据订阅成功,数据发送格式指示第二ecu向第一ecu发送目标数据的格式,数据发送格式包括目标数据的数据标识在通信响应报文中的位置、目标数据在通信响应报文中的位置、占用位数和进制类型中的一种或多种。
99.如此,第一ecu可以根据订阅成功响应报文携带的数据发送格式,从通信响应报文中获取目标数据。
100.其中,订阅成功响应报文可以包括指示订阅成功响应的标识。比如,订阅成功响应报文包括用于指示类型的类型标识,类型标识为订阅成功响应的标识。如此,第一ecu可以在接收到第二ecu发送的订阅成功响应报文之后,可以根据类型标识确定接收到的数据为订阅成功响应报文,从而确定与第二ecu通信成功,并在接收到第二ecu发送的通信响应报文之后,根据订阅成功响应报文中的数据发送格式从通信响应报文中获取目标数据。
101.需要说明的是,第一ecu接收第二ecu发送的携带数据发送格式的订阅成功响应报文,是在第一ecu和第二ecu之间确定通信响应报文中目标数据的数据发送格式,从而第二ecu可以根据该数据发送格式向第一ecu发送携带目标数据的通信响应报文,第一ecu可以根据该数据发送格式从通信响应报文中获取目标数据,如此可以实现第一ecu和第二ecu之间的通信。
102.作为一个示例,第一ecu还可以接收第二ecu发送的订阅失败响应报文,根据订阅失败响应报文确定目标数据订阅失败,即确定与第二ecu通信失败。这种情况下,第一ecu可以发出报警信息,以通知相关人员对通信策略进行修改,实现与第二ecu的通信,获取目标数据。
103.其中,订阅失败响应报文包括至少一个接收ecu标识和用于指示订阅失败响应的标识。比如,订阅失败响应报文包括接收ecu标识和类型标识,接收ecu标识中包括第一ecu标识,类型标识为订阅失败响应的标识。如此,第一ecu可以在接收到第二ecu发送的订阅失败响应报文之后,根据接收ecu标识中的第一ecu标识确定解析订阅失败响应报文,比如根据类型标识确定接收到的数据为订阅失败响应报文,从而确定与第二ecu通信失败。
104.需要说明的是,由于通信策略是第一ecu根据实际需要主动向第二ecu发送的数据订阅请求携带的策略,因此第二ecu根据接收到的通信策略向第一ecu发送的通信响应报文中的目标数据是第一ecu实际所需的数据。
105.步骤203,第一ecu从通信响应报文中获取目标数据。
106.比如,第一ecu可以根据之前接收到的数据发送格式,从通信响应报文中解析出目标数据。
107.比如,第一ecu为仪表ecu,第二ecu为空调ecu,第一ecu需要获取第二ecu中的第一数据,第一数据是与空调相关的数据。第一ecu可以对从通信响应报文中解析出的第一数据进行相关信息显示等处理。
108.作为一个示例,第一ecu还可以向第二ecu发送携带目标数据的取消订阅请求,取消订阅请求用于指示第二ecu停止向第一ecu发送目标数据。如此,第二ecu可以在接收第一ecu发送的取消订阅请求后,停止向第一ecu发送携带目标数据的通信响应报文,从而第一ecu和第二ecu停止通信。
109.其中,取消订阅请求可以以报文的形式在数据传输通道(比如车用总线)中传输。
110.取消订阅请求可以包括用于指示数据订阅的标识。比如,数据订阅请求包括用于指示类型的类型标识,类型标识可以为取消订阅的标识。如此,第二ecu再接收到第一ecu发送的取消订阅请求后,可以根据取消订阅的标识确定接收到的数据为取消订阅请求。
111.取消订阅请求还可以包括至少一个接收ecu标识,接收ecu标识用于指示接收取消订阅请求的ecu。
112.需要说明的是,本技术实施例仅以第一ecu发送数据订阅请求为例进行说明,即仅以第一ecu执行步骤201-步骤203为例进行说明,并不作为执行步骤201-步骤203的ecu的限定。比如,执行步骤201-步骤203的ecu可以为上述图1示出的第二ecu或第三ecu等,本技术实施例对此不做限定。
113.本技术实施例中,第一ecu先向第二ecu发送数据订阅请求,数据订阅请求携带向第二ecu请求的目标数据的通信策略,然后接收第二ecu根据通信策略发送的携带目标数据的通信响应报文,从通信响应报文中获取目标数据。如此,一个ecu(发送ecu)可以在需要时向另一个ecu(接收ecu)发送数据订阅请求,从而接收ecu根据发送ecu主动发送的数据订阅请求携带的通信策略,向发送ecu发送携带实际所需的目标数据的通信响应报文,可以避免接收ecu以出厂固化的通信策略向发送ecu发送的目标数据可能不是发送ecu需要的问题,减少了车用总线传输的无效通信响应报文,降低了车用总线的负载率和延迟率。
114.请参考图3,图3是本技术实施例提供的另一种通信方法的流程图,该方法可以应用于第二ecu,比如应用于上述图1所示的多ecu系统中的第二ecu。如图3所示,该方法包括如下步骤:
115.步骤301,第二ecu接收第一ecu发送的数据订阅请求,数据订阅请求携带第一ecu请求的目标数据的通信策略。
116.其中,通信策略可以包括第一ecu请求的目标数据的数据标识,数据标识用于唯一标识数据,数据标识可以为数据名称或数据id(identity document,身份证标识号)等。
117.其中,通信策略还可以包括请求的目标数据的发送次数、发送时间间隔、开始发送条件和结束发送条件中的一种或多种。
118.比如,第二ecu通过有线或无线接收第一ecu发送的数据订阅请求。比如,车用总线中传输有第一ecu发送的数据订阅请求,第二ecu可以从车用总线中获取该数据订阅请求。
119.作为一个示例,第一ecu和第二ecu之间的数据传输通道(比如车用总线)中可能传输有不同ecu或相同ecu发送的多个数据订阅请求。这种情况下,第二ecu从数据传输通道中获取数据订阅请求之后,先确定是否对该数据订阅请求进行解析。
120.比如,第一ecu向第二ecu发送的数据订阅请求可以包括接收ecu标识。第二ecu在
接收到数据订阅请求之后,先确定数据订阅请求中的接收ecu标识是否包括第二ecu标识。第二ecu若确定接收ecu标识中包括第二ecu标识,则确定该数据订阅请求是其它ecu发送给自身的请求,解析第一ecu发送的数据订阅请求。第二ecu若确定接收ecu标识中不包括第二ecu标识,则确定该数据订阅请求不是其它ecu发送给自身的请求,不解析第一ecu发送的数据订阅请求,丢弃数据订阅请求。
121.另外,数据订阅请求还可以包括类型标识,类型标识为数据订阅的标识。第二ecu解析第一ecu发送的数据订阅请求可以包括解析数据订阅请求中的类型标识,确定接收到的数据为数据订阅请求。
122.作为一个示例,数据订阅请求中的接收ecu标识包括第二ecu标识,比如第二ecu标识为0x16,类型标识为数据订阅的标识,比如为0x0fff。则第二ecu可以在接收第一ecu发送的数据订阅请求之后,根据接收ecu标识确定接收到的数据是其它ecu发送给自身的数据,根据类型标识确定接收的数据是数据订阅请求。
123.此外,第二ecu解析第一ecu发送的数据订阅请求还可以包括解析数据订阅请求携带的通信策略。比如,解析通信策略中的第一ecu请求的目标数据、以及目标数据的发送次数、发送时间间隔、开始发送条件或结束发送条件,从而第二ecu可以根据解析的第一ecu请求的目标数据、以及目标数据的发送次数、发送时间间隔、开始发送条件或结束发送条件等向第一ecu发送通信响应报文。
124.需要说明是,在车辆开启后,即使ecu对应的系统没有开启,ecu也可以获取与其它ecu的通信策略,向其它ecu发送数据订阅请求,或者接收其它ecu发生的数据订阅请求。比如,第一ecu为仪表ecu,第二ecu为空调ecu。仪表ecu可以在车辆开启后,获取与空调ecu通信的通信策略,向空调ecu发送数据订阅请求,而空调ecu也可以接收仪表ecu发送的数据订阅请求。这种情况下,可能存在空调ecu对应的空调系统没有开启的情况,虽然空调系统没有开启,但是空调ecu也可以接收仪表ecu向其发送的数据订阅请求。由于数据订阅请求携带通信策略,因此空调ecu可以在空调系统开启后根据之前接收到的通信策略向仪表ecu发送通信响应报文。
125.步骤302,第二ecu根据通信策略向第一ecu发送通信响应报文,通信响应报文携带目标数据。
126.其中,第二ecu可以通过有线或无线向第一ecu发送通信响应报文。比如,第二ecu可以通过车用总线向第一ecu发送通信响应报文。
127.其中,通信响应报文可以包括类型标识或至少一个接收ecu标识,类型标识为通信响应的标识,至少一个接收ecu标识中包括第一ecu标识,如此第一ecu可以在接收第二ecu发送的通信响应报文之后,可以根据至少一个接收ecu标识中的第一ecu标识,确定解析接收到的通信响应报文,比如根据类型标识确定接收到的数据为通信响应报文,或者根据预先接收到的数据发送格式从通信响应报文中解析出目标数据。
128.另外,第二ecu可以根据通信策略包括的第一ecu请求的目标数据的发送次数、发送时间间隔、开始发送条件或结束发送条件向第一ecu发送包括目标数据的通信响应报文。
129.比如,第二ecu在满足开始发送条件时,根据发送次数和发送时间间隔向第一ecu发送包括目标数据的通信响应报文,在满足结束发送条件时,停止向第一ecu发送包括目标数据的通信响应报文。
130.此外,第二ecu也可以在接收到第一ecu发送的取消订阅请求后,停止向第一ecu发送通信响应报文。比如,第二ecu接收到第一ecu发送的取消订阅请求,向第一ecu发送停止通信响应数据,停止通信响应数据用于指示第二ecu停止向第一ecu发送通信响应报文。第一ecu接收第二ecu发送的停止通信响应数据。如此第一ecu和第二ecu停止通信。
131.其中,取消订阅请求包括至少一个接收ecu标识或类型标识,接收ecu标识中包括第一ecu标识。第二ecu可以在接收到取消订阅请求后,根据接收ecu标识中包括的第一ecu标识,确定解析取消订阅请求,比如根据类型标识确定接收到的数据为取消订阅请求。
132.其中,第二ecu向第一ecu发送的通信响应报文具有一定的数据发送格式,数据发送格式用于指示第二ecu向第一ecu发送目标数据的格式,数据发送格式包括第一ecu请求的目标数据的数据标识在通信响应报文中的位置、目标数据在通信响应报文中的位置、占用位数和进制类型中的一种或多种。
133.因此,第二ecu根据通信策略向第一ecu发送通信响应报文时,还应确定发送通信响应报文的预设的数据发送格式,以根据通信策略和预设的数据发送格式向第一ecu发送通信响应报文。
134.其中,目标数据的数据标识在通信响应报文中的位置可以为数据标识在通信响应报文中的起始位置和/或终止位置等。目标数据在通信响应报文中的进制类型是指目标数据在通信响应报文中的进制数表示,比如为目标数据在通信响应报文中用二进制、十六进制等表示,以便第二ecu可以根据进制类型解析出目标数据的信号值。
135.作为一个示例,第二ecu在根据通信策略向第一ecu发送通信响应报文之前,还应向第一ecu发送数据发送格式,以便第一ecu在接收到第二ecu发送的通信响应报文之后,根据数据发送格式从通信响应报文中获取(解析出)目标数据。
136.比如,第一ecu向第二ecu发送订阅成功响应报文,订阅成功响应指示目标数据订阅成功,订阅成功响应可以携带数据发送格式。
137.需要说明的是,第二ecu向第一ecu发送的携带数据发送格式的订阅成功响应报文,是在第一ecu和第二ecu之间确定通信响应报文中目标数据的数据发送格式,从而第二ecu可以根据该数据发送格式向第一ecu发送携带目标数据的通信响应报文,第一ecu可以根据该数据发送格式从通信响应报文中获取目标数据,如此可以实现第一ecu和第二ecu之间的通信。
138.作为一个示例,第二ecu也可以根据通信策略和预设的数据发送格式生成数据发送策略,根据数据发送策略向第一ecu发送通信响应报文。
139.其中,数据发送策略包括向第二ecu请求的目标数据的数据标识在通信响应报文中的位置、目标数据在通信响应报文中的位置、占用位数和进制类型、以及通信响应报文的发送次数、发送时间间隔、开始发送条件和结束发送条件中的一种或多种。
140.如此,第二ecu可以根据目标数据的数据标识在通信响应报文中的位置、目标数据在通信响应报文中的位置、占用位数和进制类型确定发送通信响应报文的格式,根据发送次数、发送时间间隔、开始发送条件或结束发送条件发送通信响应报文。
141.其中,第二ecu在生成数据发送策略后,可以直接根据数据发送策略自动发送通信响应报文。比如,在车辆第一次开启时,第一ecu向第二ecu发送携带通信策略的数据订阅请求。第二ecu接收数据订阅请求,生成并保存数据发送策略,根据数据发送策略向第一ecu发
送通信响应报文。在车辆下次开启时,若第一ecu中的通信策略没有被更改,则第一ecu不再向第二ecu发送携带通信策略的数据订阅请求,第二ecu也不需要在接收到数据订阅请求后向第一ecu发送通信响应报文,而是直接根据存储的数据发送策略自动向第一ecu发送通信响应报文,如此可以减少第一ecu向第二ecu发送数据订阅请求的次数,从而减少车用总线上传输的数据(报文),降低车用总线的负载率和延迟率。另外,第二ecu也可以及时根据数据发送策略向第一ecu发送通信响应报文,提高通信效率。
142.作为一个示例,每个ecu支持发送的数据可以包括多个,且ecu支持发送的多个数据是与对应系统相关的数据(信号)。这种情况下,第二ecu根据通信策略向第一ecu发送通信响应报文之前,还应确定第一ecu请求的目标数据是否为第二ecu支持发送的数据。
143.比如,通信策略包括请求的目标数据的数据标识,第二ecu可以根据目标数据的数据标识确定第一ecu请求的数据是否为第二ecu支持发送的数据。具体地,第二ecu根据通信策略向第一ecu发送通信响应报文之前,还可以包括以下步骤:
144.步骤1)根据目标数据的数据标识,确定第二ecu支持发送的数据中是否存在目标数据。
145.其中,第二ecu支持发送的数据具有对应的数据标识,第二ecu可以根据第二ecu支持发送的数据标识,确定目标数据是否为第二ecu支持发送的数据。
146.比如,第二ecu中预先存储有第二ecu支持发送的数据标识列表,第二ecu在接收到数据订阅请求之后,可以确定数据标识列表中是否存在目标数据的数据标识。若数据标识列表中存在目标数据的数据标识,则确定第二ecu支持发送的数据中存在目标数据。若数据标识列表中不存在目标数据的数据标识,则确定第二ecu支持发送的数据中不存在目标数据。
147.步骤2)若确定第二ecu支持发送的数据中存在目标数据,则向第一ecu发送订阅成功响应报文。
148.其中,订阅成功响应报文用于指示目标数据订阅成功。
149.其中,订阅成功响应报文包括指示订阅成功响应的标识。比如,订阅成功响应报文包括用于指示类型的类型标识,类型标识为订阅成功响应的标识。如此,第一ecu可以在接收到第二ecu发送的订阅成功响应报文之后,根据类型标识确定接收到的数据为订阅成功响应报文,从而确定与第二ecu通信成功。
150.其中,订阅成功响应报文可以携带数据发送格式,数据发送格式指示第二ecu向第一ecu发送目标数据的格式,以便第一ecu接收第二ecu发送的通信响应报文之后,可以根据数据发送格式从通信响应报文中解析出目标数据。
151.需要说明的是,第二ecu向第一ecu发送的携带数据发送格式的订阅成功响应报文,是在第一ecu和第二ecu之间确定通信响应报文中目标数据的数据发送格式,从而第二ecu可以根据该数据发送格式向第一ecu发送携带目标数据的通信响应报文,第一ecu可以根据该数据发送格式从通信响应报文中获取目标数据,如此可以实现第一ecu和第二ecu之间的通信。
152.步骤3)若确定第二ecu支持的数据中不存在目标数据,则向第一ecu发送订阅失败响应报文。
153.其中,订阅失败响应报文用于指示目标数据订阅失败。
154.其中,订阅失败响应报文包括至少一个接收ecu标识和用于指示订阅失败响应的标识。比如,订阅失败响应报文包括接收ecu标识和类型标识,接收ecu标识中包括第一ecu标识,类型标识为订阅失败响应的标识。如此,第一ecu可以在接收到第二ecu发送的订阅失败响应报文之后,根据接收ecu标识中第一ecu标识确定解析订阅失败响应报文,比如,根据根据类型标识确定接收到的数据为订阅失败响应报文,从而确定与第二ecu通信失败。
155.需要说明的是,本技术实施例仅以第二ecu接收数据订阅请求为例进行说明,即仅以第二ecu执行步骤301-步骤302为例进行说明,并不作为执行步骤301-步骤302的ecu的限定。比如,执行步骤301-步骤302的ecu可以为上述图1示出的第一ecu或第三ecu等,本技术实施例对此不做限定。
156.本技术实施例中,第二ecu先接收第一ecu发送的数据订阅请求,数据订阅请求携带第一ecu请求的目标数据的通信策略,然后根据通信策略向第一ecu发送携带目标数据通信响应报文。如此,接收ecu(第二ecu)根据发送ecu(第一ecu)主动发送的数据订阅请求携带的通信策略,向发送ecu发送实际所需的目标数据,从而避免接收ecu以出厂固化的通信策略向发送ecu发送的目标数据可能不是发送ecu需要的问题,减少了车用总线传输的无效通信响应报文,降低了车用总线的负载率和延迟率。
157.请参考图4,图4是本技术实施例提供的再一种通信方法的流程图,该方法可以应用于终端设备,终端设备包括上述图1所示的多ecu系统,终端设备(多ecu系统)至少包括第一ecu和第二ecu,第一ecu和第二ecu连接。如图4所示,该方法包括如下步骤:
158.步骤401,第一ecu向第二ecu发送数据订阅请求,数据订阅请求携带第一ecu向第二ecu请求的目标数据的通信策略。
159.其中,第一ecu与第二ecu可以通过有线或无线的方式连接,第一ecu可以通过有线或无线向第二ecu发送数据订阅请求。比如,第一ecu与第二ecu通过车辆总线连接,第一ecu可以通过车辆总线连接向第二ecu发送数据订阅请求。
160.其中,数据订阅请求可以包括用于指示数据订阅的标识。
161.比如,数据订阅请求包括用于指示类型的类型标识,类型标识为数据订阅的标识,如此第二ecu在接收到第一ecu发送的数据订阅请求后,可以根据数据订阅的标识确定接收到的数据为数据订阅请求。
162.其中,数据订阅请求还可以包括至少一个接收ecu标识。比如,至少一个接收ecu标识中包括第一ecu标识。
163.其中,通信策略可以包括向第二ecu请求的目标数据的数据标识、目标数据的发送次数、发送时间间隔、开始发送条件和结束发送条件中的一种或多种。
164.作为一个示例,第一ecu为仪表ecu,第二ecu为空调ecu,仪表ecu需要获取空调ecu中的第一数据。仪表ecu可以向空调ecu发送数据订阅请求,数据订阅请求携带第一数据的通信策略。
165.其中,数据订阅请求中可以包括类型标识或至少一个接收ecu标识,类型标识为数据订阅的标识,至少一个接收ecu标识中包括空调ecu标识。
166.其中,通信策略包括仪表ecu向空调ecu请求的第一数据的数据标识、第一数据的发送次数、发送时间间隔、开始发送条件和结束发送条件中的一种或多种。
167.步骤402,第二ecu接收第一ecu发送的数据订阅请求。
168.其中,第二ecu在接收到数据订阅请求之后,可以根据数据订阅请求中包括的至少一个接收ecu标识,确定是否解析该数据订阅请求。
169.比如,第一ecu为仪表ecu,第二ecu为空调ecu,仪表ecu需要获取空调ecu中的第一数据。空调ecu在接收到仪表ecu发送的数据订阅请求之后,可以根据数据订阅请求中的至少一个接收ecu标识确定是否解析该数据订阅请求。若至少一个接收ecu标识中包括空调ecu标识,则解析该数据订阅请求。若至少一个接收ecu标识中不包括空调ecu标识,则解析该数据订阅请求,丢弃该数据订阅请求。
170.其中,解析该数据订阅请求可以包括空调ecu根据数据订阅请求中的类型标识,确定接收到的数据为数据订阅请求,或者包括从数据订阅请求中解析出通信策略,即解析出通信策略中的仪表ecu向空调ecu请求的第一数据的数据标识、第一数据的发送次数、发送时间间隔、开始发送条件或结束发送条件等。
171.步骤403,第二ecu根据通信策略向第一ecu发送通信响应报文。
172.其中,通信响应报文携带目标数据。
173.其中,通信响应报文可以包括类型标识或至少一个接收ecu标识,类型标识为通信响应的标识。
174.比如,第二ecu可以根据通信策略中的第一ecu向第二ecu请求的目标数据的发送次数、发送时间间隔、开始发送条件或结束发送条件向第一ecu发送包括目标数据的通信响应报文。
175.作为一个示例,第一ecu为仪表ecu,第二ecu为空调ecu,仪表ecu需要获取空调ecu中的第一数据。仪表ecu向空调ecu发送的数据订阅请求的通信策略中包括第一数据的数据标识、发送次数和开始发送条件。第一数据为空调风速信号,发送次数为1次,开始发送条件为空调开启、空调关闭或空调风速信号的信号值发生变化。如此,空调ecu在接收到数据订阅请求之后,可以在满足空调开启、空调关闭或空调风速信号的信号值发生变化的条件时,向仪表ecu发送1次包括空调风速信号的通信响应报文。在其它情况下,不向仪表ecu发送包括空调风速信号的通信响应报文。如此,可以有效减少空调ecu向仪表ecu发送的通信响应报文,从而减少车用总线上传输的通信响应报文,降低车用总线的负载率和延迟率。
176.由于通信策略存储于仪表ecu的可读写的存储区内,因此可以将仪表ecu中存储的与空调ecu进行通信的通信策略修改为包括第一数据的数据标识、第二数据的数据标识、发送次数、开始发送条件和结束发送条件,如此可以满足不同环境,增加灵活性和可适用性。当然,根据实际需要也可以将通信策略更改为其它,本技术实施例对此不做限定。
177.另外,由于通信策略是仪表ecu根据实际需要主动向空调ecu发送的数据订阅请求携带的策略,因此空调ecu根据接收到的通信策略向仪表ecu发送的通信响应报文中的第一数据是仪表ecu实际所需的数据。
178.作为一个示例,通信响应报文携带的目标数据具有一定的格式,因此第二ecu可以根据通信策略和预设的数据发送格式向第一ecu发送通信响应报文。数据发送格式包括第一ecu请求的目标数据的数据标识在通信响应报文中的位置、目标数据在通信响应报文中的位置、占用位数和进制类型中的一种或多种。
179.作为一个示例,第二ecu在向第一ecu发送通信响应报文之前,还可以向第一ecu发送数据发送格式,以在第一ecu和第二ecu之间确定通信响应报文中目标数据的数据发送格
式,从而第一ecu可以根据该数据发送格式从通信响应报文中获取目标数据,如此可以实现第一ecu和第二ecu之间的通信。
180.作为一个示例,每个ecu支持发送的数据可以包括多个,且ecu支持发送的多个数据是与对应系统相关的数据(信号)。这种情况下,第二ecu在根据通信策略向第一ecu发送携带目标数据的通信响应报文之前,还可以确定第一ecu请求的目标数据是否为第二ecu支持发送的数据。
181.比如,第二ecu根据目标数据的数据标识,先确定第二ecu支持发送的数据中是否存在目标数据。若确定第二ecu支持发送的数据中存在目标数据,则向第一ecu发送订阅成功响应报文。若确定第二ecu支持的数据中不存在目标数据,则向第一ecu发送订阅失败响应报文。
182.其中,订阅成功响应报文用于指示目标数据订阅成功,订阅失败响应报文用于指示目标数据订阅失败。
183.其中,订阅成功响应报文还可以携带数据发送格式。
184.比如,第一ecu为仪表ecu,第二ecu为空调ecu,第一ecu需要获取第二ecu中的第一数据,空调ecu支持发送的数据是与空调相关的数据,比如,空调ecu支持发送的数据包括空调模式、空调风速或空调功率等数据(信号)。空调ecu在向仪表ecu发送通信响应报文之前,还可以确定第一数据是否为空调ecu支持发送的数据。若第一数据不是空调ecu支持发送的数据,则向仪表ecu发送订阅成功响应报文,否则,向仪表ecu发送订阅失败响应报文。
185.步骤404,第一ecu接收第二ecu发送的通信响应报文,从通信响应报文中获取目标数据。
186.其中,本技术实施例提供的通信方法是通过发送订阅请求和接收订阅请求的通信机制实现通信,即通过订阅机制实现通信。该发送订阅请求是ecu主动向其它ecu发送的获取其实际所需的目标数据的请求,因此其它ecu发送的通信响应报文中的目标数据数据是该ecu实际所需的数据,即该ecu可以接收到其它ecu发送的包括实际所需的目标数据的通信响应报文。
187.其中,第一ecu可以确定通信响应报文中的至少一个接收ecu标识中是否包括第一ecu标识。若至少一个接收ecu标识中包括第一ecu标识,则解析通信响应报文。若至少一个接收ecu标识中不包括第一ecu标识,则不解析通信响应报文,或者丢弃该通信响应报文。
188.其中,解析通信响应报文可以包括根据通信响应报文中的类型标识,确定接收到的数据为通信响应报文,或者包括从通信响应中获取目标数据。
189.其中,第一ecu可以根据预先接收到的数据发送格式从通信响应报文中解析出目标数据。
190.比如,第一ecu为仪表ecu,第二ecu为空调ecu,第一ecu需要获取第二ecu中的第一数据,第一数据是与空调相关的数据。仪表ecu可以根据预先接收到的订阅成功响应报文中的数据发送格式从通信响应报文中解析出第一数据,根据第一数据进行相关信息显示等处理。比如,数据发送格式中的进制类型为十六进制,目标数据在通信响应报文中表示为0x0203,则第一ecu从通信响应报文中解析出的目标数据的值为2*256+3=515。
191.其中,上述步骤401-步骤404的解释说明可以参考上述实施例2的步骤201-步骤203,以及上述实施例3的步骤301-步骤302,这里不再赘述。
192.本技术实施例中,第一ecu向第二ecu发送数据订阅请求,数据订阅请求携带第一ecu向第二ecu请求的目标数据的通信策略。然后,第二ecu接收第一ecu发送的数据订阅请求,根据通信策略向第一ecu发送携带目标数据的通信响应报文。之后,第一ecu接收第二ecu发送的通信响应报文,从通信响应报文中获取目标数据。如此,多ecu系统中一个ecu(发送ecu)可以在需要时向另一个ecu(接收ecu)发送数据订阅请求,以请求接收ecu根据数据订阅请求携带的通信策略向发送ecu发送携带目标数据的通信响应报文,从而接收ecu向发送ecu发送的通信响应报文中的目标数据是发送ecu实际所需的数据,可以避免接收ecu以出厂固化的通信策略向发送ecu发送的目标数据可能不是发送ecu需要的问题,减少了车用总线传输的无效通信响应报文,降低了车用总线的负载率和延迟率。
193.本技术实施例还提供了一种计算机设备,计算机设备至少包括第一ecu和第二ecu,第一ecu和第二ecu分别包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,第一ecu对应的计算机程序被对应的处理器执行时实现如上述实施例2中的任一项所述的方法,第二ecu对应的计算机程序被对应的处理器执行时实现上述实施例3中的任一项所述的方法。
194.其中,上述实施例1提供的多ecu系统可以应用于计算机设备中,计算机设备可以为上述实施例4中的终端设备。在具体实现中,计算机设备可以为车辆等至少包括第一ecu和第二ecu的设备,本技术实施例对计算机设备不做限定。
195.请参考图5,图5为本技术实施例提供的一种ecu的结构示意图。如图5所示,ecu包括:处理器501、存储器502以及存储在存储器502中并可在处理器501上运行的计算机程序503,处理器501执行计算机程序503时实现上述实施例2、实施例3和实施例4中的步骤。
196.ecu可以是一个专用微型计算机设备或专用嵌入式设备等。本领域技术人员可以理解,图5仅仅是ecu的举例,并不构成对ecu的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,比如还可以包括输入输出设备、网络接入设备等。
197.处理器501可以是中央处理单元(central processing unit,cpu),处理器th0还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者也可以是任何常规的处理器。
198.存储器502在一些实施例中可以是ecu的内部存储单元,比如ecu的硬盘或内存。存储器502在另一些实施例中也可以是ecu的外部存储设备,比如ecu上配备的插接式硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)、多媒体卡(multimedia card,mmc)等。进一步地,存储器502还可以既包括ecu的内部存储单元也包括外部存储设备。存储器502用于存储操作系统、应用程序、引导装载程序(boot loader)、数据以及其他程序等。存储器502还可以用于暂时地存储已经输出或者将要输出的数据。
199.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。实现上述实施例2、实施例3和实施例4中的步骤。
200.本技术实施例提供了一种计算机程序产品,当其在计算机上运行时,使得计算机
执行上述各个方法实施例中的步骤。
201.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述方法实施例中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,该计算机程序包括计算机程序代码,该计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。该计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、rom(read-only memory,只读存储器)、ram(random access memory,随机存取存储器)、cd-rom(compact disc read-only memory,只读光盘)、磁带、软盘和光数据存储设备等。本技术提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
202.应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。该计算机指令可以存储在上述计算机可读存储介质中。
203.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
204.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
205.在本技术所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
206.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
207.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1