车载网关的通信方法、车载网关及智能车辆
本申请要求于2019年04月23日提交中国专利局、申请号为2019103285246、申请名称为“车载网关的通信方法、车载网关及智能车辆”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种车载网关的通信方法、车载网关及智能车辆。
背景技术
控制器局域网络(controller area network,CAN)协议是ISO国际标准化收录的串行通信协议,广泛应用在汽车技术领域,以实现汽车内部的车载设备之间的通信。其中,汽车内各车载设备均接入CAN总线从而构成汽车的车载网络,车载设备之间通过CAN总线进行基于CAN协议的通信数据的接收与发送。
现有技术中,随着通信技术以及汽车技术的不断发展,越来越多的车载设备都提供了连接互联网的功能,使得汽车从互联网获取更多的例如导航、远程系统升级等应用。而由于能够连接互联网的车载设备支持以太网协议,因此,汽车中需要设置用于通信协议转换的网关,从而通过网关将支持以太网协议的车载设备的通信数据转换为CAN协议后,将转换后的CAN协议的通信数据发送至CAN总线,或者通过网关将CAN协议的通信数据转换成以太网协议后,将转换后的以太网协议的通信数据发送至支持以太网协议的车载设备。
但是,对于现有的汽车,来自互联网的恶意数据可以通过可以连接互联网的车载设备进入CAN总线,从而对汽车的车载网络带来安全威胁,造成了车载网络的安全性能较差。
发明内容
本申请提供一种车载网关的通信方法、车载网关及智能车辆,以改善车载网络的安全性能。
本申请第一方面提供一种车载网关的通信方法,包括:
接收来自于第一车载设备的第一消息;其中,第一消息满足第一车载设备支持的第一通信协议,第一消息用于指示第二车载设备执行目标操作,第一消息中包括标识信息;
识别第一消息中的标识信息;
将第一消息中的标识信息与车载网关存储的预设标识信息进行匹配;
若匹配成功,发送第二消息,第二消息用于指示第二车载设备执行目标操作;其中,第二消息根据第一消息生成,第二消息满足第二车载设备支持的第二通信协议, 第一通信协议与第二通信协议不同。
其中,在本实施例提供的车载网关的通信方法中,通过汽车的车载网关中设置的预设标识信息,车载网关在将第一消息的标识信息与预设标识信息匹配成功时才发送第二消息,从而通过第二消息指示第二车载设备执行目标操作。而当第一消息的标识信息并不能与网关所存储的预设标识信息匹配时,车载网关不会发送第二信息来控制第二车载设备执行目标操作,从而减少了带来的车载网络的安全威胁,改善了汽车的车载网络的安全性能。
在本申请第一方面一种可能的实现方式中,第一车载设备为支持以太网协议的车载设备且第二车载设备为支持CAN协议的车载设备,则第一消息为以太网报文且第二消息为CAN报文。
其中,本实施例提供的车载网关的通信方法,当车载网关接收到的以太网报文中标识信息与预设标识信息不匹配,则说明该以太网报文可能是来自互联网的恶意数据,则车载网关对未匹配成功标识信息的以太网报文不会进行转换为CAN报文,也不会发送至CAN总线。从而通过车载网关对以太网报文的匹配,减少了来自车载网络外部的互联网的风险,使得恶意数据无法通过车载网关进入到CAN总线中,进而汽车的车载网络的安全性能
在本申请第一方面一种可能的实现方式中,第一车载设备为支持CAN协议的车载设备且第二车载设备为支持以太网协议的车载设备,则第一消息为CAN报文且第二消息为以太网报文。
其中,本实施例提供的车载网关的通信方法,同样当车载网关接收到的CAN报文中标识信息与预设标识信息不匹配时,则说明该CAN报文可能存在安全风险,则车载网关对未匹配成功标识信息的CAN报文也不会转换为以太网报文,从而通过车载网关对CAN报文的匹配,减少了CAN报文给以太网协议的车载设备的安全威胁,也提高了汽车的车载网络的安全性能。
在本申请第一方面一种可能的实现方式中,将第一消息中的标识信息与车载网关存储的预设标识信息进行匹配,包括:通过查找车载网关存储的预设标识信息中是否包括第一消息的标识信息,对第一消息的标识信息与车载网关存储的预设标识信息进行匹配;其中,车载网关存储至少一个预设标识信息。
在本申请第一方面一种可能的实现方式中,第一消息为以太网报文,第一消息的标识信息包括以下的一个或多个:以太网报文中的来源MAC地址、目的MAC地址和协议类型中的预定义标识位。
在本申请第一方面一种可能的实现方式中,第一消息为CAN报文,第一消息的标识信息包括:CAN报文中的CAN ID。
在本申请第一方面一种可能的实现方式中,若匹配成功,发送第二消息,具体为:车载网关内存储有映射关系,映射关系为预设标识信息和消息构建信息之间的映射关系;
若第一消息中的标识信息与车载网关存储的预设标识信息进行匹配成功;则根据匹配成功的预设标识信息获取相应的消息构建信息;通过消息构建信息,和第一消息生成第二消息。
其中,本实施例提供的车载网关的通信方法,车载网关在将第一消息的标识信息与预设标识信息匹配成功后确定第二消息时,能够查询提前存储的映射关系的方式得到第二消息,而非根据第一消息进行协议转换后才能得到第二消息。使得车载网关可以直接根据预设标识信息在第二映射关系中查找得到第二消息,由于查找映射关系的计算量小,因此提高了车载网关在进行协议转换时的速度,进而提高了车载网关的协议转换效率。
在本申请第一方面一种可能的实现方式中,第二消息为CAN报文,消息构建信息包括:CAN报文中的CAN ID。
在本申请第一方面一种可能的实现方式中,第二消息为以太网报文,消息构建信息包括以下的一个或多个:以太网报文的协议类型、以太网报文中的来源MAC地址和/或目的MAC地址中的预定义标识位。
本申请第二方面提供一种车载网关,包括:收发模块,用于接收来自于第一车载设备的第一消息;其中,第一消息满足第一车载设备支持的第一通信协议,第一消息用于指示第二车载设备执行目标操作,第一消息中包括标识信息;识别模块,用于识别第一消息中的标识信息;判断模块,用于,将第一消息中的标识信息与车载网关存储的预设标识信息进行匹配,判断车载网关存储的预设标识信息中是否存在与第一消息中的标识信息匹配的预设标识信息,当匹配成功,将匹配结果发送给消息构建模块;消息构建模块,用于根据判断模块发送的匹配结果生成第二消息,第二消息满足第二车载设备支持的第二通信协议,第一通信协议与第二通信协议不同;收发模块还用于,发送第二消息,第二消息用于指示第二车载设备执行目标操作。
在本申请第二方面一种可能的实现方式中,第一车载设备为支持CAN协议的车载设备且第二车载设备为支持以太网协议的车载设备,则第一消息为CAN报文且第二消息为以太网报文。
在本申请第二方面一种可能的实现方式中,第一车载设备为支持以太网协议的车载设备且第二车载设备为支持CAN协议的车载设备,则第一消息为以太网报文且第二消息为CAN报文。
在本申请第二方面一种可能的实现方式中,判断模块具体用于,通过查找车载网关存储的预设标识中是否包括第一消息的标识信息,对第一消息的标识信息与车载网关存储的预设标识信息进行匹配;其中,车载网关存储至少一个预设标识信息。
在本申请第二方面一种可能的实现方式中,第一消息为以太网报文,第一消息的标识信息包括以下的一个或多个:以太网报文中的来源MAC地址、目的MAC地址和协议类型中的预定义标识位。
在本申请第二方面一种可能的实现方式中,第一消息为CAN报文,第一消息的标识信息包括:CAN报文中的CAN ID。
在本申请第二方面一种可能的实现方式中,车载网关内存储有第一映射关系,第一映射关系为预设标识信息和消息构建信息之间的映射关系;消息构建模块具体用于,若第一消息中的标识信息与车载网关存储的预设标识信息进行匹配成功;则根据匹配成功的预设标识信息获取相应的消息构建信息;通过消息构建信息生成第二消息。
在本申请第二方面一种可能的实现方式中,第二消息为CAN报文,消息构建信息 包括:CAN报文中的CAN ID。
在本申请第二方面一种可能的实现方式中,第二消息为以太网报文,消息构建信息包括以下的一个或多个:以太网报文的协议类型、以太网报文中的来源MAC地址和目的MAC地址中的预定义标识位。
本申请第三方面提供一种车载网关,包括:第一通信接口,第二通信接口,处理器和存储器;所述第一通信接口用于从第一车载设备接收第一消息,并将所述第一消息发送给所述处理器;其中,第一消息满足第一车载设备支持的第一通信协议,第一消息用于指示第二车载设备执行目标操作,第一消息中包括标识信息;所述存储器中存储有指令,所述处理器调用并执行所述指令时,使得所述处理器在接收到所述第一消息后,识别所述第一消息中的标识信息,并将所述第一消息中的标识信息与车载网关存储的预设标识信息进行匹配;处理器还用于,若匹配成功,发送第二消息到第二通信接口;第二通信接口还用于发送第二消息,第二消息用于指示第二车载设备执行目标操作;其中,第二消息根据第一消息生成,第二消息满足第二车载设备支持的第二通信协议,第一通信协议与第二通信协议不同。
在本申请第三方面一种可能的实现方式中,第一车载设备为支持CAN协议的车载设备且第二车载设备为支持以太网协议的车载设备,则第一消息为CAN报文且第二消息为以太网报文。
在本申请第三方面一种可能的实现方式中,第一车载设备为支持以太网协议的车载设备且第二车载设备为支持CAN协议的车载设备,则第一消息为以太网报文且第二消息为CAN报文。
在本申请第三方面一种可能的实现方式中,处理器具体用于,通过查找车载网关存储的预设标识中是否包括第一消息的标识信息,对第一消息的标识信息与车载网关存储的预设标识信息进行匹配;其中,车载网关存储至少一个预设标识信息。
在本申请第三方面一种可能的实现方式中,若第一消息为以太网报文,第一消息的标识信息包括以下的一个或多个:以太网报文中的来源MAC地址、目的MAC地址和协议类型中的预定义标识位。
在本申请第三方面一种可能的实现方式中,若第一消息为CAN报文,第一消息的标识信息包括:CAN报文中的CAN ID。
在本申请第三方面一种可能的实现方式中,车载网关内存储有第一映射关系,第一映射关系为预设标识信息和消息构建信息之间的映射关系;处理器还用于,若第一消息中的标识信息与车载网关存储的预设标识信息进行匹配成功;则根据匹配成功的预设标识信息获取相应的消息构建信息;通过消息构建信息生成第二消息。
在本申请第三方面一种可能的实现方式中,若第二消息为CAN报文,消息构建信息包括:CAN报文中的CAN ID。
在本申请第三方面一种可能的实现方式中,若第二消息为以太网报文,消息构建信息包括以下的一个或多个:以太网报文的协议类型、以太网报文中的来源MAC地址和目的MAC地址中的预定义标识位。
本申请第四方面提供一种智能车辆,包括:第一车载设备、第二车载设备和车载网关;第一车载设备用于,向车载网关发送第一消息;其中,第一消息满足第一车载 设备支持的第一通信协议,第一消息用于指示第二车载设备执行目标操作;第一消息中包括标识信息;车载网关用于,接收来自于第一车载设备的第一消息,并识别第一消息中的标识信息;车载网关还用于,将第一消息中的标识信息与车载网关存储的预设标识信息进行匹配;若匹配成功,车载网关发送第二消息,第二消息用于指示第二车载设备执行目标操作;其中,第二消息根据第一消息生成,第二消息满足第二车载设备支持的第二通信协议,第一通信协议与第二通信协议不同。
在本申请第四方面一种可能的实现方式中,第一车载设备为支持CAN协议的车载设备且第二车载设备为支持以太网协议的车载设备,则第一消息为CAN报文且第二消息为以太网报文。
在本申请第四方面一种可能的实现方式中,第一车载设备为支持以太网协议的车载设备且第二车载设备为支持CAN协议的车载设备,则第一消息为以太网报文且第二消息为CAN报文。
在本申请第四方面一种可能的实现方式中,车载网关具体用于,通过查找网关存储的预设标识中是否包括第一消息的标识信息,对第一消息的标识信息与网关存储的预设标识信息进行匹配;其中,网关存储至少一个预设标识信息。
在本申请第四方面一种可能的实现方式中,若第一消息为以太网报文,第一消息的标识信息包括以下的一个或多个:以太网报文中的来源MAC地址、目的MAC地址和协议类型中的预定义标识位。
在本申请第四方面一种可能的实现方式中,若第一消息为CAN报文,第一消息的标识信息包括:CAN报文中的CAN ID。
在本申请第四方面一种可能的实现方式中,车载网关内存储有第一映射关系,第一映射关系为预设标识信息和消息构建信息之间的映射关系;
车载网关具体用于,若第一消息中的标识信息与车载网关存储的预设标识信息进行匹配成功,则根据匹配成功的预设标识信息获取相应的消息构建信息;通过消息构建信息,和第一消息生成第二消息。
在本申请第四方面一种可能的实现方式中,第二消息为CAN报文,消息构建信息包括:CAN报文中的CAN ID。
在本申请第四方面一种可能的实现方式中,第二消息为以太网报文,消息构建信息包括以下的一个或多个:以太网报文的协议类型、以太网报文中的来源MAC地址和目的MAC地址中的预定义标识位。
综上,本申请提供一种车载网关的通信方法、车载网关及智能车辆,其中,所述车载网关的通信方法包括:接收来自于第一车载设备的第一消息,识别第一消息中的标识信息,并将标识信息与车载网关存储的预设标识信息进行匹配,若匹配成功,车载网关发送第二消息,从而通过第二消息指示第二车载设备执行目标操作。而当第一消息的标识信息并不能与网关所存储的预设标识信息匹配时,车载网关不会发送第二信息来控制第二车载设备执行目标操作。本申请提供的车载网关的通信方法、车载网关及智能车辆,减少了带来的车载网络的安全威胁,改善了汽车的车载网络的安全性能。
附图说明
图1为本申请应用场景的结构示意图;
图2为本申请提供的车载网关的通信方法一实施例的网关结构示意图;
图3为本申请提供的车载网关的通信方法一实施例的网关结构示意图;
图4为本申请提供的车载网关的通信方法一实施例的流程示意图;
图5为本申请提供的车载网关的通信方法一实施例的流程示意图;
图6为以太网报文的报文结构示意图;
图7为CAN报文的报文结构示意图;
图8为本申请提供的车载网关的通信方法一实施例的流程示意图;
图9为本申请提供的车载网关一实施例的结构示意图;
图10为本申请提供的车载网关一实施例的结构示意图;
图11为本申请提供的智能车辆一实施例的结构示意图。
具体实施方式
图1为本申请应用场景的结构示意图,如图1所示,在目前的汽车技术领域,汽车10内部会携带种类繁多的车载设备11,并通过车载设备11实现不同的功能。例如,车载设备11可以是电子控制单元(electronic control unit,ECU)。而由于车载设备11的软件和硬件通常独立于汽车设置,为了方便统一对汽车10内的车载设备11进行管理,来自国际标准化组织(international organization for standardization,ISO)的国际标准ISO 11898:控制器局域网络(controller area network,CAN)协议技术得到了广泛应用。其中,CAN协议技术是目前车内通信的主要通信协议,CAN协议技术要求车载设备11均接入CAN总线中,并采用CAN协议进行通信,在如图1所示的示例中,车载设备A、B…X均支持CAN协议,并接入CAN总线中,从而构建得到包括CAN总线以及车载设备A、B…X的车载网络,通过该车载网络能够实现对汽车10内的车载设备11进行管理。可选地,在如图1所示的实施例的示例中,所述的CAN总线包括但不限于:汽车10的动力系统CAN总线、舒适系统CAN总线、车身系统CAN总线和信息娱乐系统CAN总线等。
同时,随着通信技术以及汽车技术的不断发展,越来越多能够连接互联网的车载设备11被汽车10的生产商或者汽车10的用户接入到汽车10内部的车载网络中,从而通过连接互联网的车载设备为汽车及其用户提供更多的例如导航、远程系统升级和自动驾驶等功能。而能够连接互联网的车载设备11需要支持以太网协议以接入互联网,如果支持以太网协议的车载设备11直接接入汽车内部的CAN总线中,无法与其他支持CAN协议的车载设备进行通信。因此,汽车10内部引入了交换器12和网关13,来实现支持以太网协议的车载设备11和支持CAN协议的车载设备11之间的通信。例如,在如图1所示的示例中,车载设备①、②…x支持以太网协议,车载设备A、B…X支持CAN协议,交换器12用于对支持以太网协议的数据进行报文交换的功能;使得车载设备①、②…x将以太网协议的通信数据通过交换器12发送至网关13后,网关13用于将以太网协议的通信数据转换为CAN协议的通信数据后发送至CAN总线,使得车载设备A、B…X中对应的车载设备能够通过CAN总线接收到CAN协议的通信数据;或者, 车载设备A、B…X可以将CAN协议的通信数据发送至网关13,网关13用于将CAN协议的通信数据转换为以太网协议的通信数据后发送至交换器12,使得交换器12将以太网协议的通信数据发送至车载设备①、②…x中对应的车载设备。可选地,本申请各实施例中所述的以太网包括:车用以太网技术,所述车用以太网技术基于传统以太网技术,所使用的以太网协议可以是车用以太网络硬件标准IEEE 802.3bw(又可称为IEEE 100BASE-TX或Broad R-Reach)。
但是,在如图1所示的汽车10中,由于车载设备①、②…x都可以连接互联网,而该些车载设备又通过交换器12和网关13与汽车的CAN总线连接,从而接入车载网络。这些能够连接互联网的车载设备①、②…x,同时会为车载网络外部来自互联网的恶意数据带来了入口。造成了一旦来自互联网的恶意数据通过车载设备①、②…x进入CAN总线,会对汽车的车载网络带来安全威胁,进而导致了现有的汽车的车载网络的安全性能较差。
因此,本申请为了在引入支持以太网协议的车载设备后,还能够保证车载网络的安全,提供一种车载网关的通信方法、车载网关及职智能车辆,在既能满足车载网关本身协议转换功能的基础上,还进一步通过车载网关减少了车载网络的安全威胁,从而改善汽车的车载网络的安全性能。
下面结合附图,对本申请提供的网关的通信方法进行说明。
具体地,本申请各实施例提供的车载网关的通信方法的执行主体,可以是如图2所示的网关交换器,或者,还可以是如图3所示的车载网关。本申请各实施例中,以执行主体为车载网关为例进行说明,而非对其进行限定。
其中,图2为本申请提供的车载网关的通信方法一实施例的网关结构示意图,在如图2所示的网关结构中,网关交换器21同时具有交换器功能和网关功能,网关交换器21可以连接汽车10内支持以太网协议的车载设备①、②…x,并连接至少一个CAN总线。则网关交换器21对车载设备①、②…x发送的以太网协议的通信数据通过交换器功能进行报文交换、以及通过网关功能协议转换后,将转换得到的CAN协议的通信数据发送至CAN总线上,使得CAN总线上对应的车载设备能够接收到该CAN协议的通信数据;或者,网关交换器21还可以接收并将CAN总线上CAN协议的通信数据通过网关功能进行协议转换、以及通过交换器功能进行报文交换后,将转换后的以太网协议的通信数据发送至对应的车载设备①、②…x。即,本申请各实施例提供的车载网关的通信方法,可以是图2中的网关交换器21在实现其网关功能时执行。
或者,图3为本申请提供的车载网关的通信方法一实施例的网关结构示意图,在如图3所示的网关结构中,交换器31连接汽车10内支持以太网协议的车载设备①、②…x,并连接至少一个车载网关32,每个车载网关32均连接交换器31,每个车载网关32各自连接一个CAN总线。则对于图中的任一车载网关32,当接收到交换器31发送的以太网协议的通信数据后,车载网关32将以太网协议的通信数据转换为CAN网协议的通信数据后发送至CAN总线上;或者,车载网关32将通过CAN总线接收的CNA网协议的通信数据转换为以太网协议的通信数据后发送至交换器31。即,本申请各实施例提供的车载网关的通信方法,还可以由图3中的车载网关执行。
下面以具体地实施例对本申请提供的技术方案进行详细说明。下面这几个具体的 实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
实施例一
图4为本申请提供的车载网关的通信方法一实施例的流程示意图,如图4所示,本实施例提供的网关的通信方法,用于消息在两个协议间的转换,具体可以是从以太网协议到CAN协议的转换,其中,第一车载设备可以是支持以太网协议的车载设备,第二车载设备可以是支持CAN协议的车载设备。该方法具体包括:
S101:车载网关接收来自于第一车载设备的第一消息。其中,第一消息满足第一车载设备支持的第一通信协议,第一消息用于指示第二车载设备执行目标操作,第一消息中包括标识信息。
具体地,本实施例所述的车载网关设置在第一车载设备和第二车载设备之间,用于在第一车载设备与第二车载设备支持的通信协议不同的情况下,对第一车载设备通过车载网关向第二车载设备通信发送的第一消息进行协议转换。其中,第一消息满足以太网通信协议,第一消息具体可以是以太网报文,该以太网报文用于指示第二车载设备执行目标操作。则在S101中当第一车载设备需要通过车载网关指示第二车载设备执行目标操作时,第一车载设备向车载网关发送以太网报文,则车载网关接收来自于第一车载设备的以太网报文。此处车载网关所接收到的第一消息,当车载网关是图2中的网关交换器时,第一消息是直接从车载设备发送到网关交换器,车载网关直接接收第一车载设备所发送的第一消息;而当车载网关是图3中的车载网关时,第一消息可以是第一车载设备经过交换器发送到车载网关,车载网关需要通过交换器接收该第一消息。本发明的实施例中对第一消息的接收是直接接收还是间接接收,在此不做限定。
本实施例中第一消息中还包括:标识信息。其中,所述标识信息用于车载网关确定第一消息所指示的第二车载设备执行的目标操作,所述标识信息可以是第一车载设备所发送的第一消息中所包括的信息,车载网关通过第一消息中的该信息能够确定第一消息所指示第二车载设备所执行的目标操作,例如:若第一消息为以太网报文,则第一消息的标识信息可以为以太网报文中以下的一项或多个:来源MAC地址、目的MAC地址和协议类型中的预定义标识为,则车载网关可以根据该以太网报文的目的MAC地址为1时确定该以太网报文用于指示第二车载设备执行开启空调的目标操作;或者,所述标识信息可以是第一车载设备专门加入到用于指示第二车载设备执行目标操作的第一消息中的信息,使得车载网关能够通过第一消息中所加入的信息确定第一消息所指示的第二车载设备执行的目标操作,例如:第一消息为以太网报文时,第一车载设备可以在以太网报文中特定的位置加入“1”,使得车载网关可以根据以太网报文中特定位置“1”确定该以太网报文用于指示第二车载设备执行开启空调的目标操作。
可选地,本实施例中所述的支持以太网协议的车载设备可以支持TSN以太网络,AVB以太网络和传统以太网络,支持CAN协议的车载设备可以支持CAN2.0A,CAN2.0B和CAN-FD协议。
可选地,本实施例中所述的支持以太网协议的设备包括:人机界面设备、诊断界面设备、TBox设备和ADAS控制器设备等,所述的支持CAN协议的设备包括:动力控制器、车身控制器、电源管理控制器和电源控制器等。
S102:车载网关根据S101中所获取的第一消息,识别第一消息中的标识信息。
随后,在S102中,车载网关识别S101中所获取的第一消息中所包括的标识信息。在一种可能的实现方式中,车载网关在接收到第一消息后,可以对第一消息进行解析,确定第一消息中的标识信息。例如,若第一消息以太网报文,且标识信息为CAN报文的来源MAC地址和目的MAC地址,则车载网关可以通过解析以太网报文中来源MAD地址和目的MAC地址所在数据位的数据确定该以太网报文的来源MAC地址和目的MAC地址。
S103:车载网关将S102中所识别的第一消息的标识信息,与车载网关存储的预设标识信息进行匹配。
随后,在S103中,车载网关将S102中所识别的第一消息的标识信息,与车载网关中所存储的预设标识信息进行匹配。其中,车载网关中存储有至少一个预设标识信息,每个预设标识信息均用于指示一种第一车载设备向车载网关所发送的第一消息所指示第二设备执行的目标操作。所述的匹配包括:判断第一消息的标识信息与车载网关中存储的预设标识信息是否相同,即,预设标识信息中是否包括所确定的第一消息的标识信息。
例如:车载网关中存储的预设标识信息包括:“1”和“2”,其中,“1”用于指示第一消息所指示第二设备执行的目标操作为“开启空调”;“2”用于指示第一消息所指示第二设备执行的目标操作为“开启收音机”。因此,若车载网关识别出第一消息的标识信息为“1”时,由于其存储的预设标识信息中包括“1”,则确定第一消息的标识信息匹配成功;而若车载网关识别出第一消息的标识信息为“0”时,由于其存储的预设标识信息中不包括“0”,则确定第一消息的标识信息匹配不成功。
S104:若匹配成功,则车载网关发送第二消息;其中,第二消息用于指示第二车载设备执行目标操作。
最终,当S103中车载网关将第一消息的标识信息与所存储的预设标识信息匹配成功,则在S104中车载网关发送第二消息,从而通过第二消息指示第二车载设备执行目标操作;而若S103中车载网关未能将第一消息的标识信息与预设标识信息匹配成功能,则车载网关不会通过S104发送第二消息,也即不会通过第二消息指示第二车载设备执行目标操作。其中,所述第二消息为车载网关根据第一消息生成,所述第二消息满足第二车载设备支持的第二通信协议,并且第一车载设备所支持的第一通信协议与第二车载设备所支持的第二通信协议不同。
具体地,在本实施例中,第一车载设备为支持以太网协议的车载设备、第二车载设备为支持CAN协议的车载设备,则第一消息支持以太网协议、第二消息支持CAN网通信协议,并且第一消息可以是以太网报文、第二消息可以是CAN报文。则在S104中,车载网关接收到以太网报文,并根据上述步骤确定CAN报文后,可以将CAN报文发送至CAN总线,由第二车载设备从CAN总线获取该CAN报文后,第二车载设备根据所获取的该CAN报文执行目标操作。此处车载网关发送第二消息,当车载网关是图2中的网关交换器时,车载网关在确定需要向第二车载设备发送的CAN报文后,将CAN报文发送到第二车载设备所在的CAN总线上;而当车载网关是图3中的车载网关时,车载网关可以直接将所确定的CAN报文发送至该车载网关所连接的CAN总线上。
因此,在本实施例提供的车载网关的通信方法中,在车载网关获取来自于第一车载设备的第一消息时,识别第一消息中的标识信息,并将标识信息与车载网关存储的预设标识信息进行匹配;并在匹配成功时,车载网关才发送第二消息,从而通过第二消息指示第二车载设备执行目标操作。因此,车载网关可以通过是否存储第一消息的标识信息,来对第一消息是否能够通过车载网关控制第二车载设备执行目标操作进行过滤。当车载网关允许第一消息通过车载网关控制第二车载设备执行目标操作时,可以存储该第一消息的标识信息作为预设标识信息,使得第一消息成功与预设标识信息匹配后,车载网关发送第二消息控制第二车载设备执行目标操作。而当车载网关不允许第一消息通过车载网关控制第二车载设备执行目标操作时,不在车载网关中存储该第一消息的标识信息,因此当第一消息的标识信息并不能与网关所存储的预设标识信息匹配时,车载网关不会发送第二信息来控制第二车载设备执行目标操作。
则当本实施例应用在如图1-3所示的车载网络场景中,当第一车载设备是支持以太网协议的车载设备、第二车载设备是支持CAN协议的车载设备时,汽车的生产商或者汽车的用户可以通过车载网关中存储的预设标识信息,使得车载网关在接收到的以太网报文后,只有在将以太网报文中的标识信息与预设标识信息匹配成功时,才会发送CAN报文至CAN总线以控制第二车载设备执行目标操作。因此,当车载网关接收到的以太网报文中标识信息与预设标识信息不匹配,则说明该以太网报文可能是来自互联网的恶意数据,例如恶意控制CAN总线上的第二车载设备执行目标操作,为了防止恶意数据进入车载网络的CAN总线,车载网关对未匹配成功标识信息的以太网报文不会进行转换为CAN报文,也不会发送至CAN总线。使得第一车载设备所发送的恶意的以太网报文无法通过车载网关转换为CAN报文并向CAN总线发送,也就使得车载网关即使收到了用于指示第二车载设备执行目标操作的以太网报文,也不会向第二车载设备发送CAN报文而使第二车载设备执行目标操作。从而通过车载网关的匹配,减少了来自车载网络外部的互联网的风险,使得恶意数据无法通过车载网关进入到CAN总线中,进而通过汽车的车载网关减少了车载网络的安全威胁,进而改善了汽车的车载网络的安全性能。
进一步地,在上述实施例的基础上,在本实施例S104一种可能的具体实现方式中,车载网关通过对第一消息进行协议转换的方式得到第二消息,其中,网关将采用第一通信协议的第一消息转换为采用第二通信协议的第二消息。对于车载网关进行协议转换的具体方法及原理可参照现有技术,本实施例对车载网关的协议转换方式并不进行限定,强调车载网关只有在S103中将第一消息的标识信息匹配成功的情况下,车载网关再进行第一消息到第二消息的协议转换,并发送协议转换后的第二消息。
或者,在本实施例S104另一种可能的实现方式中,为了提高车载网关的协议转换时的速度,从而提高车载网关的协议转换效率,车载网关中还存储有用于车载网关确定第二消息的映射关系,所述映射关系包括预设标识信息和消息构建信息之间的映射关系。则车载网关在通过S103将第一消息中的标识信息与车载网关存储的预设标识信息匹配成功后,根据匹配成功的预设标识信息,从所述映射关系中获取预设标识信息对应的消息构建信息,并能够根据消息构建信息和第一消息生成第二消息。可选地,车载网格以表格形式存储所述映射关系。
其中,所述消息构建信息包括所述车载网关能够通过第一消息所确定的第二消息,则本实施例所提供的车载网关可以通过映射关系,提前存储不同预设标识信息对应的消息构建消息。当网关根据第一消息的标识信息与预设标识信息匹配成功后,车载网关可以直接根据所匹配成功的标识信息在映射关系中查找得到的消息构建信息作为第二消息。并且,在本实施例中,车载网关在通过映射关系可以确定第一消息协议转换后的第二消息的情况下,可以不再对第一消息进行协议转换的操作,从而加快了车载网关将根据第一消息确定第二消息时的效率。
或者,所述消息构建信息包括所述第二消息中的部分信息,则本实施例中的车载网关在根据第一消息的标识信息与预设标识信息匹配成功后,车载网关根据所匹配成功能的标识信息在映射关系中查找得到第二消息中的部分消息构建信息。并随后根据第一消息和消息构建信息共同得到第二消息,从而在一定程度上也加快了车载网关将第一消息整体进行协议转换得到第二消息的速度及效率。
下面结合附图,对本实施例中车载网关根据映射关系确定第二消息的方式进行说明。
图5为本申请提供的车载网关的通信方法一实施例的流程示意图,如图5所示的示例中,以第一车载设备为支持以太网协议的车载设备、第二车载设备为支持CAN协议的车载设备为例,则第一消息为以太网报文、第二消息为CAN报文。车载网关中存储映射关系,映射关系中包括以太网报文的预设标识信息和CAN报文的消息构建信息的对应关系。
其中,在本实施例中,第一消息的标识信息为以太网报文中的以下一个或多个信息:来源MAC地址、目的MAC地址和协议类型中的预定义标识位,所述预定义标识位指以太网报文中MAC地址中的特定比特位。具体地,图6为以太网报文的报文结构示意图,如图6所示,由于以太网报文包括:前导码(preamble)、目标MAC地址(destination address)、来源MAC地址(source address)、虚拟网络标签(VLAN tag)、协议类型(ether type)、数据(data stream)和校验码(CRC)。则本实施例中将以太网报文中的目标MAC地址、来源MAC地址和/或协议类型中的预定义标识位作为第一消息的标识信息并进行后续的匹配。其中,来源MAC地址用于表示发送以太网报文的第一车载设备的MAC地址,目的MAC地址用于表示第二车载设备的MAC地址,协议类型用于指示以太网报文的协议类型,包括:AVB或TSN。例如:车载网关中存储的映射关系中包括:“来源MAC地址=D1-06-9B-45-98-69和目的MAC地址=00-00-5E-00-01-01”与“第一消息构建信息”的对应关系,其中,第一消息构建信息用于车载网关构建CAN报文。由于以太网报文中前导码的长度为8B、目标MAC地址的长度为8B以及来源MAC地址的长度为8B,因此,本实施例中车载网关可以在以太网报文中的9-16B的预定义标识位确定目标MAC地址,并从以太网报文中的17-24B的预定义标识位确定来源MAC地址。
则如图5所示,当车载网关通过交换器接收到来自于第一车载设备的以太网报文后,对以太网报文进行解析,并当解析该以太网报文的来源MAC地址=D1-06-9B-45-98-69且目的MAC地址为00-00-5E-00-01-01时,确定对以太网报文的标识信息匹配成功,并进一步根据映射关系确定第一消息构建信息。
可选地,若在图5所示的示例中,车载网关所存储的映射关系中的第一消息构建信息为预设的CAN报文,则车载网关根据映射关系确定CAN报文后,即可将CAN报文发送至CAN总线,由第二车载设备通过CAN总线获取该CAN报文并执行目标操作。
或者,在图5所示的示例中,车载网关所存储的映射关系中的第一消息构建信息为CAN报文中的部分信息,则车载网关确定第一消息构建信息后,还需要根据第一消息构建信息生成CAN报文。例如,图7为CAN报文的报文结构示意图,如图7所示,CAN报文包括:报文头(start of frame),报文标识符(CAN ID),远程传输要求(RTR)码,控制区,数据区(data),循环冗余校验(CRC),响应(ACK),报文结尾(end of frame)。则可选地,本实施例中第一消息构建信息可以是CAN报文中的报文头和数据区,因此车载网关在通过映射关系确定第一消息构建信息后,进一步根据第一消息构建信息生成CAN报文。并且由于第一消息构建信息中已经确定了CAN报文的报头和数据区,因此车载网关只需要根据第一消息确定CAN报文中的其他部分后即可确定CAN报文,从而节省了车载网关确定CAN报文中报头和数据区的时间。
进一步地,在如图5所示的实施例中,由于CAN报文中的标识符(CAN ID)在物理层的实现上也代表该报文传送的优先级。即,若车载网关同时接收到需要向CAN总线发送多个CAN报文,则车载网关优先向CAN总线发送CAN标识符数值小CAN报文。因此,本实施例的网关所存储的映射关系中第一消息构建信息中可以包括,CAN ID,使得车载网关确定的CAN报文具有预设的CAN ID来表示该CAN报文的优先级。例如:若第一消息是用于指示发动机进行紧急制动的以太网报文,需要车载网关优先发送至CAN总线,则当车载网关将该以太网报文的标识信息与预设标识信息匹配成功后,通过映射关系可以确定预设标识信息对应的消息构建信息中的CAN报文的CAN ID设置的较小,最终车载网关根据消息构建信息生成的CAN报文的优先级较高,能够优先发送至CAN总线。
需要说明的是,在如图5所示的示例中,以车载网关接收一个第一车载设备的以太网报文,并向CAN总线发送用于指示一个第二车载设备的CAN报文为例进行说明,而在实际车载网关应用中,一个以太网报文可能用于指示多个不同的第二车载设备执行各自的操作,则车载网关中的映射关系中,一个预设标识信息可以对应多个不同的消息构建信息,使其可以根据一个以太网报文确定多个CAN报文。例如:若车载网关接收到第一车载设备发送的以太网报文用于指示自动驾驶时,CAN总线上的转向模块执行转向的操作、同时减速模块执行减速的操作。则车载网关在接收到以太网报文,对以太网报文的标识信息与预设标识信息匹配成功之后,可以通过映射关系确定预设标识信息对应的转向消息构建信息、减速消息构建信息,并根据转向消息构建信息确定用于指示转向模块执行转向操作的第一CAN报文、根据减速消息构建信息确定用于指示减速模块执行减速操作的第二CAN报文。随后,车载网关将第一CAN报文和第二CAN报文发送至CAN总线,从而实现一个以太网报文指示两个车载设备各自通过CAN报文执行各自的操作。
综上,在本实施例提供的车载网关的通信方法中,车载网关在将以太网报文的标识信息与预设标识信息匹配成功后确定CAN报文时,能够查询提前存储的映射关系的方式得到CAN报文,而非根据以太网报文进行协议转换后才能得到CAN报文。使得车 载网关可以直接根据预设标识信息在第二映射关系中查找得到CAN报文,由于查找映射关系的计算量远小于协议转换时对以太网报文进行的数据处理,因此与现有的车载网关相比,极大地提高了车载网关在进行以太网报文到CAN报文的协议转换时的速度,进而提高了车载网关的协议转换效率。
实施例二
图4还可以为本申请提供的车载网关的通信方法另一实施例的流程示意图,具体可以是从CAN协议到以太网协议的转换,其中,第一车载设备可以是支持CAN协议的车载设备,第二车载设备可以是支持以太网协议的车载设备。该方法具体包括:
S101:车载网关接收来自于第一车载设备的第一消息。其中,第一消息满足第一车载设备支持的第一通信协议,第一消息用于指示第二车载设备执行目标操作,第一消息中包括标识信息。
具体地,本实施例所述的车载网关设置在第一车载设备和第二车载设备之间,用于在第一车载设备与第二车载设备支持的通信协议不同的情况下,对第一车载设备通过车载网关向第二车载设备通信发送的第一消息进行协议转换。其中,第一消息满足CAN通信协议,第一消息具体可以是CAN报文,该CAN报文用于指示第二车载设备执行目标操作。则在S101中当第一车载设备需要通过车载网关指示第二车载设备执行目标操作时,第一车载设备向车载网关发送CAN报文,则车载网关接收来自于第一车载设备的CAN报文。此处车载网关所接收到的第一消息,当车载网关是图2中的网关交换器时,第一消息是第一车载设备发送到CAN总线上,车载网关从第一车载设备对应的CAN总线上接收到第一消息;而当车载网关是图3中的车载网关时,第一消息可以是第一车载设备车载发送到CAN总线上,车载网关从其连接的CAN总线上接收到第一消息。
本实施例中第一消息中还包括:标识信息。其中,所述标识信息用于车载网关确定第一消息所指示的第二车载设备执行的目标操作,所述标识信息可以是第一车载设备所发送的第一消息中所包括的信息,车载网关通过第一消息中的该信息能够确定第一消息所指示第二车载设备所执行的目标操作,例如:若第一消息为支持CAN协议的通信数据即CAN报文,则标识信息可以为CAN报文中的CAN ID,车载网关可以根据该CAN ID为1时确定该CAN报文用于指示第二车载设备执行开启空调的目标操作;或者,所述标识信息可以是第一车载设备专门加入到用于指示第二车载设备执行目标操作的第一消息中的信息,使得车载网关能够通过第一消息中所加入的信息确定第一消息所指示的第二车载设备执行的目标操作,例如:第一消息为CAN报文时,第一车载设备可以在CAN报文中特定的位置加入“1”,车载网关可以根据CAN报文中特定位置“1”确定该CAN报文用于指示第二车载设备执行开启空调的目标操作。
可选地,本实施例中所述的支持以太网协议的车载设备可以支持TSN以太网络,AVB以太网络和传统以太网络,支持CAN协议的车载设备可以支持CAN2.0A,CAN2.0B和CAN-FD协议。
可选地,本实施例中所述的支持以太网协议的设备包括:人机界面设备、诊断界面设备、TBox设备和ADAS控制器设备等,所述的支持CAN协议的设备包括:动力控制器、车身控制器、电源管理控制器和电源控制器等。
S102:车载网关根据S101中所获取的第一消息,识别第一消息中的标识信息。
随后,在S102中,车载网关识别S101中所获取的第一消息中所包括的标识信息。在一种可能的实现方式中,车载网关在接收到第一消息后,可以对第一消息进行解析,确定第一消息中的标识信息。例如,若第一消息为CAN报文,且标识信息为CAN报文的CAN ID,则车载网关可以通过解析CAN报文数据中CAN ID所在数据位的数据确定该CAN报文的CAN ID;
S103:车载网关将S102中所识别的第一消息的标识信息,与车载网关存储的预设标识信息进行匹配。
随后,在S103中,车载网关将S102中所识别的第一消息的标识信息,与车载网关中所存储的预设标识信息进行匹配。其中,车载网关中存储有至少一个预设标识信息,每个预设标识信息均用于指示一种第一车载设备向车载网关所发送的第一消息所指示第二设备执行的目标操作。所述的匹配包括:判断第一消息的标识信息与车载网关中存储的预设标识信息是否相同,即,预设标识信息中是否包括所确定的第一消息的标识信息。
例如:车载网关中存储的预设标识信息包括:“1”和“2”,其中,“1”用于指示第一消息所指示第二设备执行的目标操作为“开启空调”;“2”用于指示第一消息所指示第二设备执行的目标操作为“开启收音机”。因此,若车载网关识别出第一消息的标识信息为“1”时,由于其存储的预设标识信息中包括“1”,则确定第一消息的标识信息匹配成功;而若车载网关识别出第一消息的标识信息为“0”时,由于其存储的预设标识信息中不包括“0”,则确定第一消息的标识信息匹配不成功。
S104:若匹配成功,则车载网关发送第二消息;其中,第二消息用于指示第二车载设备执行目标操作。
最终,当S103中车载网关将第一消息的标识信息与所存储的预设标识信息匹配成功,则在S104中车载网关发送第二消息,从而通过第二消息指示第二车载设备执行目标操作;而若S103中车载网关未能将第一消息的标识信息与预设标识信息匹配成功能,则车载网关不会通过S104发送第二消息,也即不会通过第二消息指示第二车载设备执行目标操作。其中,所述第二消息为车载网关根据第一消息生成,所述第二消息满足第二车载设备支持的第二通信协议,并且第一车载设备所支持的第一通信协议与第二车载设备所支持的第二通信协议不同。
具体地,在本实施例中,若第一车载设备为支持CAN协议的车载设备、第二车载设备为支持以太网协议的车载设备,则第一消息支持CAN协议、第二消息支持以太网协议,并且第一消息可以是CAN报文、第二消息可以是以太网报文。则在S104中,车载网关接收到CAN报文,并根据上述步骤确定以太网报文后,可以将以太网报文发送至交换器,由交换器根据以太网报文的目的MAC地址将以太网报文发送至对应的第二车载设备,最终使得第二车载设备根据接收到的以太网报文执行目标操作。此处车载网关发送第二消息,当车载网关是图2中的网关交换器时,车载网关确定需要向第二车载设备发送的以太网报文后,可以通过其交换功能直接将以太网报文发送至对应的第二车载设备;而当车载网关是图3中的车载网关时,车载网关确定需要向第二车载设备发送的以太网报文后,将以太网报文发送至交换器,由交换器将以太网报文发送 至对应的第二车载设备,本发明的实施例中对第二消息的发送是直接发送还是间接发送,在此不做限定。
因此,在本实施例提供的车载网关的通信方法中,在车载网关获取来自于第一车载设备的第一消息时,识别第一消息中的标识信息,并将标识信息与车载网关存储的预设标识信息进行匹配;并在匹配成功时,车载网关才发送第二消息,从而通过第二消息指示第二车载设备执行目标操作。因此,车载网关可以通过是否存储第一消息的标识信息,来对第一消息是否能够通过车载网关控制第二车载设备执行目标操作进行过滤。当车载网关允许第一消息通过车载网关控制第二车载设备执行目标操作时,可以存储该第一消息的标识信息作为预设标识信息,使得第一消息成功与预设标识信息匹配后,车载网关发送第二消息控制第二车载设备执行目标操作。而当车载网关不允许第一消息通过车载网关控制第二车载设备执行目标操作时,不在车载网关中存储该第一消息的标识信息,因此当第一消息的标识信息并不能与网关所存储的预设标识信息匹配时,车载网关不会发送第二信息来控制第二车载设备执行目标操作。
则当本实施例应用在如图1-3所示的车载网络场景中时,当第一车载设备是支持CAN协议的车载设备、第二车载设备是支持以太网协议的车载设备时,汽车的生产商或者汽车的用户可以通过车载网关中存储的预设标识信息,使得车载网关在接收到的CAN报文后,只有在将CAN报文中的标识信息与预设标识信息匹配成功时,才会发送以太网报文至第二车载设备,以控制第二车载设备执行目标操作。因此,当车载网关接收到的CAN报文中标识信息与预设标识信息不匹配,则说明该CAN报文可能是恶意数据或者该CAN报文可能涉及安全不适合向能够连接外部互联网的第二车载设备发送,则车载网关对未匹配成功标识信息的CAN报文不会进行转换为以太网报文,也不会发送至对应的第二车载设备。从而使得第一车载设备所发送的不被允许的CAN报文无法通过车载网关转换为以太网报文并向第二车载设备发送,也就使得车载网关即使收到了用于指示第二车载设备执行目标操作的CAN报文,也不会向第二车载设备发送以太网报文而使第二车载设备执行目标操作。从而通过车载网关的匹配,减少了恶意的CAN报文控制第二车载设备的风险,也能够减少CAN报文向外泄露的风险,进而通过汽车的车载网关减少了车载网络的安全威胁,进而改善了汽车的车载网络的安全性能。
进一步地,在上述实施例的基础上,在本实施例S104一种可能的具体实现方式中,车载网关通过对第一消息进行协议转换的方式得到第二消息,其中,网关将采用第一通信协议的第一消息转换为采用第二通信协议的第二消息。对于车载网关进行协议转换的具体方法及原理可参照现有技术,本实施例对车载网关的协议转换方式并不进行限定,强调车载网关只有在S103中将第一消息的标识信息匹配成功的情况下,车载网关再进行第一消息到第二消息的协议转换,并发送协议转换后的第二消息。
或者,在本实施例S104另一种可能的实现方式中,为了提高车载网关的协议转换时的速度,从而提高车载网关的协议转换效率,车载网关中还存储有用于车载网关确定第二消息的映射关系,所述映射关系包括预设标识信息和消息构建信息之间的映射关系。则车载网关在通过S103将第一消息中的标识信息与车载网关存储的预设标识信息匹配成功后,根据匹配成功的预设标识信息,从所述映射关系中获取预设标识信息对应的消息构建信息,并能够根据消息构建信息和第一消息生成第二消息。可选地, 车载网格以表格形式存储所述映射关系。
其中,所述消息构建信息包括所述车载网关能够通过第一消息所确定的第二消息,则本实施例所提供的车载网关可以通过映射关系,提前存储不同预设标识信息对应的消息构建消息。当网关根据第一消息的标识信息与预设标识信息匹配成功后,车载网关可以直接根据所匹配成功的标识信息在映射关系中查找得到的消息构建信息作为第二消息。并且,在本实施例中,车载网关在通过映射关系可以确定第一消息协议转换后的第二消息的情况下,可以不再对第一消息进行协议转换的操作,从而加快了车载网关将根据第一消息确定第二消息时的效率。
或者,所述消息构建信息包括所述第二消息中的部分信息,则本实施例中的车载网关在根据第一消息的标识信息与预设标识信息匹配成功后,车载网关根据所匹配成功能的标识信息在映射关系中查找得到第二消息中的部分消息构建信息。并随后根据第一消息和消息构建信息共同得到第二消息,从而在一定程度上也加快了车载网关将第一消息整体进行协议转换得到第二消息的速度及效率。
下面结合附图,对本实施例中车载网关根据映射关系确定第二消息的方式进行说明。
图8为本申请提供的车载网关的通信方法一实施例的流程示意图,如图8所示的示例中,以第一车载设备为支持CAN协议的车载设备、第二车载设备为支持以太网协议的车载设备为例,则第一消息为CAN报文、第二消息为以太网报文。车载网关中存储映射关系,映射关系中包括CAN报文的预设标识信息和以太网报文的消息构建信息的对应关系。
其中,在本实施例中,第一消息的标识信息为CAN报文中的CAN ID,其中,CAN ID用于对CAN总线上的CAN报文进行标识。具体地,参考图7中所示的CAN报文的报文结构,本实施例中可以将CAN报文中的报文标识符即CAN ID作为第一消息的标识信息并进行后续的匹配。例如,车载网关中存储的映射关系中包括“CAN ID=Ox100”与“第二消息构建信息”的对应关系,其中,第二构建信息用于车载网关构建以太网报文。
则如图8所示,当车载网关通过CAN总线接收到来自于第一车载设备发送的CAN报文后,对CAN报文进行解析,并当解析该CAN报文的CAN ID=Ox100时,确定对CAN报文的标识信息匹配成功,并进一步根据映射关系确定第二消息构建信息。
可选地,若在图8所示的示例中,车载网关所存储的映射关系中的第二消息构建信息为预设的以太网报文,则车载网关根据映射关系确定以太网报文后,即可将以太网报文发送至交换器,使得交换器将该以太网报文发送至对应的第二车载设备,最终第二车载设备根据接收到的以太网报文执行目标操作。
或者,在图8所示的示例中,车载网关所存储的映射关系中的第二消息构建信息为以太网报文中的部分信息,则车载网关确定第二消息构建信息后,还需要根据第二消息构建信息生成以太网报文。例如,参考如图6所示的以太网报文的报文格式,则可选地,本实施例中第二消息构建信息可以是以太网报文中的数据,因此车载网关在通过映射关系确定第二消息构建信息后,进一步跟进第二消息构建信息生成以太网报文,并且由于第二消息构建信息中已经确定了以太网报文中的数据,因此车载网关只需要根据第二消息构建信息确定以太网报文中其他部分后即可确定以太网报文,从而 节省了车载网关确定以太网报文中数据的时间。
进一步地,在如图8所示的实施例中,对于车载设备所确定的以太网报文,交换器在发送以太网报文时,可以根据以太网报文的具体协议表示来确定以太网报文的优先级,其中,对于实时性要求高且数据短的以太网报文,采用时间敏感网络
(time-sensitive network,TSN)以太网络协议表示;对于实时性高且数据较大的以太网报文,采用音视频桥(audio video bridging,AVB)以太网络协议表示;对于实时性要求不高的以太网报文,可以采用传统以太网络协议表示。则本实施例的网关所存储的映射关系中的第二消息构建信息中可以包括:以太网报文的协议类型。例如:若第一消息是用于反馈错误信息的CAN报文,由于需要优先发送至第二车载设备进行处理,则当车载网关将该CAN报文的标识信息与预设标识匹配成功后,通过映射关系确定预设标识信息对应的构建信息中的以太网报文的协议类型为TSN,最终车载网关根据消息构建信息所生成的以太网报文由于采用TSN协议类型而优先级较高,能够优先通过交换器发送至对应的以太网设备。
可选地,由于以太网报文的长度大于CAN报文的长度,则在如图8所示的示例中,车载网关可以在确定多个CAN报文都是需要向第二车载设备发送后,将CAN报文存入车载网关的缓冲区,并在缓冲区中的CAN报文数量大于预设阈值后,将缓冲区的CAN报文共同转换为同一则以太网报文并通过交换器发送至第二车载设备。
同样,在如图8所示的示例中,以车载网关接收一个第一车载设备的CAN报文,并向一个第二车载设备发送以太网报文为例进行说明,而在实际车载网关应用中,一个CAN报文可能用于指示多个不同的第二车载设备执行各自的操作,则车载网关中的映射关系中,一个预设标识信息可以对应多个不同的消息构建信息,使其可以根据一个CAN报文确定多个以太网报文。例如:若车载网关接收到第一车载设备发送的CAN报文用于向人机界面和导航模块同时上报错误信息,则车载网关在接收到该CAN报文后,对CAN报文的标识信息与预设标识信息匹配成功之后,可以通过映射关系确定预设标识信息对应的人机界面的消息构建信息、导航模块的消息构建信息,并根据人机界面的消息构建信息确定向人机界面发送的第一以太网报文、根据导航模块的消息构建信息确定向导航模块发送的第二以太网报文。随后,车载网关通过交换器将第一以太网报文发送至人机界面、并将第二以太网发送至导航模块,从而实现一个CAN报文指示两个车载设备通过各自的以太网报文执行各自的操作。
综上,本实施例提供的车载网关的通信方法中,车载网关在将CAN报文的标识信息与预设标识信息匹配成功后确定以太网报文时,能够查询提前存储的映射关系的方式得到以太网报文,而非根据CAN报文进行协议转换后才能得到以太网报文。使得车载网关可以直接根据预设标识信息在第二映射关系中查找得到以太网报文,由于查找映射关系的计算量远小于协议转换时对CAN报文进行的数据处理,因此与现有的车载网关相比,极大地提高了车载网关在进行CAN报文到以太网报文的协议转换时的速度,进而提高了车载网关的协议转换效率。
可以理解的是,由于对于不同的汽车内部的车载网络中,CAN报文的表示方式相同,因此对应的汽车外部以太网报文的表示方式也相同。则支持CAN协议的车载设备通过车载网关向支持以太网协议的车载设备发送以太网报文时,外部攻击者可以通过以太 网报文反向确定汽车内部CAN总线上数据的表示方式,造成了车载网络的安全性能较低。而在如图8所示的实施例中,车载网关通过映射关系确定以太网报文的方式确定向汽车外部发送的以太网报文,若不同的汽车采用不同的CAN总线上数据的表示方式,例如,汽车1使用CAN报文“1”来表示汽车故障,通过对应的消息构建信息确定的以太网报文为“ABC”、汽车2使用CAN报文“2”表示汽车故障,通过对应的消息构建信息确定的以太网报文同样为“ABC”。因此,即使两个汽车的CAN报文的数据表示方式不同,但是映射关系中所映射的消息构建信息相同,也还是能够确定相同的以太网报文。而外部攻击者即使获取了以太网报文“ABC”,在不确定映射关系的情况下,也无法通过以太网报文直接反向确定汽车内部CAN总线上数据的表示方式,从而进一步加强了车载网络CAN总线的安全性能。
需要说明的是,上述实施例一中图5所示的流程针对车载网关将以太网报文转换为CAN报文,实施例二中图8所示的流程针对车载网关将CAN报文转换为以太网报文,上述两个流程可以是两个不同的车载网关分别实现。或者,上述两个流程可以由同一个车载网关实现,例如可以由如图2所示的网关交换器或者如图3所示的车载网关,当接收到以太网报文时,执行如图5所示的流程,将以太网报文转换为CAN报文;当接收到CAN报文时,执行如图8所示的流程,将CAN报文转换为以太网报文。
上述实本申请提供的实施例中,从车载网关的角度对本申请提供的方法进行了介绍与说明,而为了实现上述本申请实施例提供的方法中的各功能,车载网关可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
图9为本申请提供的车载网关一实施例的结构示意图。如图9所示的车载网关可用于实现本申请前述各实施例中车载网关的功能。具体地,如图9所示的车载网关90包括:收发模块901,识别模块902,判断模块903和消息构建模块904。
其中,收发模块901用于,接收来自于第一车载设备的第一消息;其中,第一消息满足第一车载设备支持的第一通信协议,第一消息用于指示第二车载设备执行目标操作,第一消息中包括标识信息;识别模块902,用于识别第一消息中的标识信息;判断模块903还用于,将第一消息中的标识信息与车载网关存储的预设标识信息进行匹配,判断车载网关存储的预设标识信息中是否存在与第一消息中的标识信息匹配的预设标识信息,当匹配成功,将匹配结果发送给消息构建模块904;消息构建模块904用于,根据判断模块903发送的匹配结果生成第二消息,第二消息满足第二车载设备支持的第二通信协议,第一通信协议与第二通信协议不同;收发模块901还用于,发送第二消息,通过第二消息指示第二车载设备执行目标操作。
本实施例提供的车载网关可用于执行如图4所示实施例中的车载网关的通信方法,其中:
实施例一
当第一车载设备为支持以太网协议的车载设备且第二车载设备为支持CAN协议的车载设备时,则第一消息为以太网报文且第二消息为CAN报文。
收发模块901用于接收来自于第一车载设备的以太网报文。
识别模块902确定以太网报文中的标识信息,所述以太网报文的标识信息包括以下的一项或多项:以太网报文中的来源MAC地址、目的MAC地址和/或协议类型中的预定义标识位。
判断模块903用于将以太网报文中的标识信息与车载网关所存储的预设标识信息进行匹配,并在匹配成功时,将匹配结果发送给消息构建模块904。
消息构建模块904具体用于根据判断模块发送的匹配结果生成CAN报文,并将CAN报文发送至第二车载设备所在的CAN总线上,以使第二车载设备通过CAN总线接收到CAN报文后执行目标操作。
可选地,判断模块903在匹配成功时,可以将匹配成功的匹配结果发送给消息构建模块904,使得消息构建模块904根据匹配结果生成CAN报文;而当判断模块903匹配失败时,也可以将匹配失败的匹配结果发送给消息构建模块904,消息构建模块904根据匹配失败的匹配结果,不会执行生成CAN报文的操作。
可选地,在上述实施例中,判断模块903具体用于,通过查找车载网关存储的预设标识中是否包括第一消息的标识信息,对第一消息的标识信息与车载网关存储的预设标识信息进行匹配;其中,车载网关存储至少一个预设标识信息。
可选地,在上述实施例中,车载网关内存储有第一映射关系,第一映射关系为预设标识信息和消息构建信息之间的映射关系;消息构建模块904具体用于,若第一消息中的标识信息与车载网关存储的预设标识信息进行匹配成功;则根据匹配成功的预设标识信息获取相应的消息构建信息;通过消息构建信息生成第二消息。
可选地,在上述实施例中,若第一车载设备为支持以太网协议的车载设备且第二车载设备为支持CAN协议的车载设备,则消息构建信息包括:CAN报文中的CAN ID。即,消息构建模块904具体根据消息构建信息中的CAN ID生成CAN报文。
实施例二
当第一车载设备为支持CAN协议的车载设备且第二车载设备为支持以太网协议的车载设备,则第一消息为CAN报文且第二消息为以太网报文。
收发模块901用于接收来自于第一车载设备的CAN报文。
识别模块902确定CAN报文中的标识信息,所述CAN报文的标识信息包括:CAN报文中的CAN ID。
判断模块903用于将CAN报文中的标识信息与车载网关所存储的预设标识信息进行匹配,并在匹配成功时,将匹配结果发送给消息构建模块904。
消息构建模块904具体用于根据判断模块发送的匹配结果生成以太网报文,并将以太网报文发送至第二车载设备,或者通过交换器发送至第二车载设备,以使第二车载设备通过接收到的以太网报文执行目标操作。
可选地,判断模块903在匹配成功时,可以将匹配成功的匹配结果发送给消息构建模块904,使得消息构建模块904根据匹配结果生成以太网报文;而当判断模块903匹配失败时,也可以将匹配失败的匹配结果发送给消息构建模块904,消息构建模块904根据匹配失败的匹配结果,不会执行生成以太网报文的操作。
可选地,在上述实施例中,判断模块903具体用于,通过查找车载网关存储的预设标识中是否包括第一消息的标识信息,对第一消息的标识信息与车载网关存储的预 设标识信息进行匹配;其中,车载网关存储至少一个预设标识信息。
可选地,在上述实施例中,车载网关内存储有第一映射关系,第一映射关系为预设标识信息和消息构建信息之间的映射关系;消息构建模块904还用于,若第一消息中的标识信息与车载网关存储的预设标识信息进行匹配成功;则根据匹配成功的预设标识信息获取相应的消息构建信息;通过消息构建信息生成第二消息。
可选地,在上述实施例中,消息构建信息包括以下的一项或多项:以太网报文的协议类型、以太网报文中的来源MAC地址和目的MAC地址中的预定义标识位。
上述各实施例提供的车载网关可用于执行本申请前述实施例中的车载网关的通信方法,其实现方式与原理相同,不再赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
图10为本申请提供的车载网关一实施例的结构示意图,如图10所示的车载网关,可用于实现上述车载网关通信方法中车载网关的功能,该车载网关1000包括:第一通信接口1010、第二通信接口1011、处理器1020和存储器1030。其中,第一通信接口1010可以是收发器、电路、总线或者其他形式的接口,用于通过传输介质和其他设备通信;第二通信接口1011可以是收发器、电路、总线或者其他形式的接口,用于通过传输介质和其他设备通信。第一通信接口1010、第二通信接口1011、处理器1020和存储器1030之间耦合,本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。
本申请实施例中不限定上述第一通信接口1010、第二通信接口1011、处理器1020以及存储器1030之间的具体连接介质。本申请实施例在图10中以第一通信接口1010、第二通信接口1011、存储器1030以及处理器1020之间通过总线1040连接,总线在图10中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
示例性地,如图10所示的车载网关中,第一通信接口1010用于从第一车载设备接收第一消息,并将第一消息发送给处理器1020;其中,第一消息满足第一车载设备支持的第一通信协议,第一消息用于指示第二车载设备执行目标操作;存储器1030中存储有指令,当处理器1020调用并执行该指令时,使得处理器1020在接收到来自第一通信接口1010的第一消息后,识别第一消息中的标识信息,并将第一消息中的标识信息与车载网关存储的预设标识信息进行匹配,判断车载网关存储的预设标识信息中是否存在与第一消息中的标识信息匹配预设标识,并根据匹配结果生成第二消息;处理器1020还用于将第二消息发送到第二通信接口1011;第二通信接口1011还用于发送第二消息,第二消息用于指示第二车载设备执行目标操作。
可选地,如图10所示实施例中第一通信接口1010可以是车载网关1000用于与第一车载设备通信的接口、第二通信接口1011可以是车载网关1000用于与第二车载设备通信的接口。其中,第一通信接口1010和第二通信接口1011可以是车载网关1000 中的不同通信接口,或者,第一通信接口1010和第二通信接口1011可以是车载网关1000中相同的通信接口,本申请对此不作限定。
例如,若第一车载设备为支持CAN协议的车载设备且第二车载设备为支持以太网协议的车载设备,则第一消息为CAN报文且第二消息为以太网报文。则如图10所示的车载网关中,第一通信接口1010可以用于从CAN总线接收来自第一车载设备所发送的CAN报文,并将CAN报文发送至处理器1020。处理器1020在接收到来自第一通信接口1010的CAN报文后,识别CAN报文中的标识信息,并将CAN报文中的标识信息与车载网关存储的预设标识信息进行匹配,判断车载网关存储的预设标识信息中是否存在与CAN报文中的标识信息匹配预设标识,并根据匹配结果生成以太网报文,处理器1020还用于将以太网报文发送到第二通信接口1011;第二通信接口1011还用于向交换器发送以太网报文,使得交换器将以太网报文发送至对应的第二车载设备,其中,以太网报文用于指示第二车载设备执行目标操作。
又例如,若第一车载设备为支持以太网协议的车载设备且第二车载设备为支持CAN协议的车载设备,则第一消息为以太网报文且第二消息为CAN报文。则如图10所示的车载网关中,第一通信接口1010可以用于从交换器接收来自第一车载设备所发送的以太网报文,并将以太网报文发送至处理器1020。处理器1020在接收到来自第一通信接口1010的以太网报文后,识别以太网报文中的标识信息,并将以太网报文中的标识信息与车载网关存储的预设标识信息进行匹配,判断车载网关存储的预设标识信息中是否存在与以太网报文中的标识信息匹配预设标识,并根据匹配结果生成CAN报文,处理器1020还用于将CAN报文发送到第二通信接口1011;第二通信接口1011用于向CAN总线发送CAN报文,其中,CAN报文用于指示第二车载设备执行目标操作。
有关第一消息和第二消息的具体内容可参见方法示例中的详细描述,此处不做赘述。或者,示例性地,处理器1020还可以用于根据匹配成功的预设标识信息获取相应的消息构建信息,并通过消息构建信息生成第二消息,具体参见方法示例中的详细描述,此处不做赘述。
在本申请实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本申请实施例中,存储器可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
图11为本申请提供的智能车辆一实施例的结构示意图。如图11所示,本实施例提供的智能车辆110包括:第一车载设备1101、第二车载设备1103和如图9中任一 实施例所述的车载网关1102。其中,第一车载设备1101用于,向车载网关1102发送第一消息;其中,第一消息满足第一车载设备1101支持的第一通信协议,第一消息用于指示第二车载设备1103执行目标操作;第一消息中包括标识信息;车载网关1102用于,接收来自于第一车载设备1101的第一消息,并识别第一消息中的标识信息;车载网关1102还用于,将第一消息中的标识信息与车载网关1102存储的预设标识信息进行匹配;若匹配成功,车载网关1102发送第二消息,通过第二消息指示第二车载设备1103执行目标操作;其中,第二消息根据第一消息生成,第二消息满足第二车载设备1103支持的第二通信协议,第一通信协议与第二通信协议不同。具体参见方法示例中的详细描述,此处不做赘述。
可选地,在上述实施例中,第一车载设备1101为支持CAN协议的车载设备且第二车载设备1103为支持以太网协议的车载设备,则第一消息为CAN报文且第二消息为以太网报文。
则第一车载设备1101向车载网关1102发送以太网报文,其中,第一车载设备1101可以直接向车载网关1102发送以太网报文,或者通过交换器向车载网关1102发送以太网报文。车载网关1102接收到第一车载设备1101发送的以太网报文后,对以太网报文中的标识信息进行匹配,并在匹配成功时生成CAN报文。车载网关1102向第二车载设备1103所在的CAN总线发送所生成的CAN报文,使得第二车载设备1103从CAN总线接收到车载网关1102发送的CAN报文后,根据CAN报文执行目标操作。
可选地,在上述实施例中,车载网关1102具体用于,通过查找网关存储的预设标识中是否包括第一消息的标识信息,对第一消息的标识信息与网关存储的预设标识信息进行匹配;其中,车载网关存储至少一个预设标识信息。其中,所述标识信息包括以下的一项或多项:以太网报文中的来源MAC地址、目的MAC地址和/或协议类型中的预定义标识位。
可选地,在上述实施例中,车载网关1102内存储有第一映射关系,第一映射关系为预设标识信息和消息构建信息之间的映射关系;车载网关1102具体用于,若第一消息中的标识信息与车载网关1102存储的预设标识信息进行匹配成功,则根据匹配成功的预设标识信息获取相应的消息构建信息;通过消息构建信息,和第一消息生成第二消息。其中,消息构建信息包括CAN报文的CAN ID。
或者,第一车载设备1101为支持以太网协议的车载设备且第二车载设备1103为支持CAN协议的车载设备,则第一消息为以太网报文且第二消息为CAN报文。
则第一车载设备1101将CAN报文发送至CAN总线,车载网关1102通过CAN总线接收到第一车载设备1101发送的CAN报文后,对CAN报文中的标识信息进行匹配,并在匹配成功时生成以太网报文。车载网关1102向第二车载设备1103发送以太网报文,其中,车载网关可以直接向第二车载设备1103发送以太网报文,或者通过交换器向第二车载设备1103发送以太网报文,使得第二车载设备1103根据接收到的以太网报文执行目标操作。
可选地,在上述实施例中,车载网关1102具体用于,通过查找网关存储的预设标识中是否包括第一消息的标识信息,对第一消息的标识信息与网关存储的预设标识信息进行匹配;其中,车载网关存储至少一个预设标识信息。其中,所述标识信息包括: CAN报文的CAN ID。
可选地,在上述实施例中,车载网关1102内存储有第一映射关系,第一映射关系为预设标识信息和消息构建信息之间的映射关系;车载网关1102具体用于,若第一消息中的标识信息与车载网关1102存储的预设标识信息进行匹配成功,则根据匹配成功的预设标识信息获取相应的消息构建信息;通过消息构建信息,和第一消息生成第二消息。其中,消息构建信息包括以下的一项或多项:以太网报文的协议类型、以太网报文中的来源MAC地址和目的MAC地址中的预定义标识位。
本申请各实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,简称DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,简称DVD))、或者半导体介质(例如,SSD)等。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。