掌桥专利:专业的专利平台
掌桥专利
首页

基于车辆总线与以太网通信冗余的数据处理方法及装置

文献发布时间:2024-04-18 20:01:23


基于车辆总线与以太网通信冗余的数据处理方法及装置

技术领域

本发明涉及机车网络控制技术领域,具体而言,涉及一种基于车辆总线与以太网通信冗余的数据处理方法及装置。

背景技术

当前机车网络通信多采用多功能车辆总线(MVB)与以太网完全冗余设计模式。在整车控制网络(TCMS)中,网络控制模块(EGWM)与输入输出单元(CIO、MIO)、司机显示单元(DDU)以及其他牵引控制单元(TCU)、事件记录单元(EDRM)等均采用多功能车辆总线与以太网冗余连接,即任意时刻在多功能车辆总线与以太网中传送的数据均保持一致,在任一网络通信线路故障时,可进行通信线路自动切换。

目前多功能车辆总线与以太网同时通信时,多功能车辆总线与以太网均单独处理,未进行统一规范化。即多功能车辆总线调用多功能车辆总线数据处理函数,根据端口、偏移信息进行数据解析或者数据发送。以太网数据交换时,每次获取以太网通信中同一地址下的所有数据,存放至一个数组中,因此该数组包含的数据与多功能车辆总线多个端口数据对应,而在数据解析时,需按多个端口地址累加计算数据的偏移,因此容易造成数据解析错误。同时在多功能车辆总线与以太网数据解析时,同时获取多功能车辆总线与以太网数据后,然后再进行解析,执行效率较低。

发明内容

有鉴于此,本发明的目的在于提供一种基于车辆总线与以太网通信冗余的数据处理方法及装置,能够提高数据解析的执行效率。有效避免了由于以太网数据交换时每次接收发送的数组较大而出现的解析错误。

第一方面,本发明提供了一种基于车辆总线与以太网通信冗余的数据处理方法,该方法包括:

确定以太网的映射端口并建立以太网的映射端口与车辆总线的端口之间的映射数据;

基于所述映射数据生成端口宏索引;

通过所述端口宏索引调用所述以太网的通信数据或所述车辆总线的总线数据。

其中,所述确定以太网的映射端口,包括:

基于所述车辆总线的端口建立与所述车辆总线的端口一一对应的映射端口。

其中,所述基于所述映射数据生成端口宏索引,包括:

采用结构体数组的方式将所述以太网的映射端口与所述车辆总线的端口进行存储得到端口宏索引。

其中,所述通过所述端口宏索引调用所述以太网的通信数据或所述车辆总线的总线数据,包括:

在所述以太网对应的网络信号置信度大于所述车辆总线对应的网络信号置信度,通过所述端口宏索引调用所述以太网的通信数据;

在所述以太网对应的网络信号置信度小于或等于所述车辆总线对应的网络信号置信度,通过所述端口宏索引调用所述车辆总线的总线数据。

第二方面,本发明提供了一种基于车辆总线与以太网通信冗余的数据处理装置,该装置包括:

映射单元,用于确定以太网的映射端口并建立以太网的映射端口与车辆总线的端口之间的映射数据;

索引单元,用于基于所述映射数据生成端口宏索引;

调用单元,用于通过所述端口宏索引调用所述以太网的通信数据或所述车辆总线的总线数据。

其中,所述映射单元包括:

映射模块,用于基于所述车辆总线的端口建立与所述车辆总线的端口一一对应的映射端口。

其中,所述索引单元包括:

索引模块,用于采用结构体数组的方式将所述以太网的映射端口与所述车辆总线的端口进行存储得到端口宏索引。

其中,所述调用单元包括:

第一调用模块,用于在所述以太网对应的网络信号置信度大于所述车辆总线对应的网络信号置信度,通过所述端口宏索引调用所述以太网的通信数据;

第二调用模块,用于在所述以太网对应的网络信号置信度小于或等于所述车辆总线对应的网络信号置信度,通过所述端口宏索引调用所述车辆总线的总线数据。

第三方面,本发明提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线;其中,

处理器、通信接口和存储器通过通信总线完成相互间的通信;

处理器用于调用存储器中的计算机指令,以执行上述的基于车辆总线与以太网通信冗余的数据处理方法的步骤。

第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令被执行时使所述计算机执行上述的基于车辆总线与以太网通信冗余的数据处理方法的步骤。

本发明提出的基于车辆总线与以太网通信冗余的数据处理方法及装置,通过确定以太网的映射端口并建立以太网的映射端口与车辆总线的端口之间的映射数据;基于所述映射数据生成端口宏索引;通过所述端口宏索引调用所述以太网的通信数据或所述车辆总线的总线数据。能够提高数据解析的执行效率。有效避免了由于以太网数据交换时每次接收发送的数组较大而出现的解析错误。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明提供的一种基于车辆总线与以太网通信冗余的数据处理方法的流程示意图。

图2为本发明提供的一种基于车辆总线与以太网通信冗余的数据处理方法中以太网与MVB总线的数据映射关系示意图。

图3为本发明提供的一种基于车辆总线与以太网通信冗余的数据处理方法中端口映射与宏索引的对应关系示意图。

图4为本发明提供的一种基于车辆总线与以太网通信冗余的数据处理装置的结构示意图。

图5为本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种基于车辆总线与以太网通信冗余的数据处理方法,适用于机车网络控制系统中,在车辆总线(车辆总线是一种主要用于但也并非专用于对有互操作性和互换性要求的互连设备之间的串行数据通信总线)与以太网同时存在的条件下,从车辆总线以太网传递过来的数据,并根据车辆总线协议完成数据解析和应用。本实施例中,以车辆总线为MVB(Multifunction Vehicle Bus,多功能车辆总线)总线为例进行说明。

参见图1所示,基于车辆总线与以太网通信冗余的数据处理方法,具体包含有如下内容:

S101:确定以太网的映射端口并建立以太网的映射端口与车辆总线的端口之间的映射数据;

机车网络控制系统采用MVB总线和以太网的双传输冗余设计MVB总线与以太网中传输的数据完全保持一致,以太网通信协议均与MVB总线通信保持一致。

在本步骤中,基于车辆总线(MVB总线)的端口建立与车辆总线(MVB总线)的端口一一对应的以太网的映射端口。

MVB总线通信采用端口形式进行定义,端口根据其配置的字码(F_CODE)值决定存储区域大小。本实施例中,端口采用32个字节(即字码F_CODE值为4),一个端口号对应一个32字节的存储区域。在数据接收和发送时,只需知道当前数据变量的所在的端口号与其在32字节位置中偏移(字节变量采用字节偏移、位变量需采用字节偏移与在该字节中的位偏移)便可访问该变量值。

例如:MVB总线通信采用的通信函数示例如下:

get_uchar(int port_num,int ofs_byte)//字节获取函数,port_num为端口号,ofs_byte为变量在32字节中的偏移位置。

put_uchar(int port_num,int ofs_byte,unsigned char value)//字节写入函数,port_num为端口号,ofs_byte为变量在32字节中的偏移位置,value为需写入的数值。其中,int和unsigned均为数组的类型。

以太网通信数据的接收与发送采用char型数组,并且一帧包含多个端口数据,为防止以太网数据解析繁琐产生错误,如图2所示,建立以太网的映射端口与车辆总线的端口之间的映射数据;则可保证以太网数据接收与发送方式与MVB总线相同,只需进行函数重载,则用以太网交换数据的函数只需与MVB总线通信方式传递的端口号不同,其他偏移等参数则完全一样,也有效防止以太网数据获取与MVB总线不一致而导致错误,为后续MVB总线与以太网数据同步处理的一致性做好预处理。

以太网数据交换示例如下:

get_uchar(char*rdp_port,int ofs_byte)//字节获取函数,rdp_port为端口映射指针,ofs_byte为变量在32字节中的偏移位置;

put_uchar(char*rdp_port,int ofs_byte,unsigned char value)//字节写入函数,rdp_port为端口映射指针,ofs_byte为变量在32字节中的偏移位置,value为需写入的数值。

从上述描述可知,将以太网数据映射MVB总线端口模式,采用函数重载实现以太网数据收发,因此所有的数据收发均可保证与MVB总线方式保持一致,即只通过端口号和取值偏移便可访问或写入该值。因为MVB与以太网完全一致,即参考MVB总线通信协议就可实现数据交换,无需对以太网数据进行单独处理,避免以太网数据接收后,数据解析错误。

S102:基于所述映射数据生成端口宏索引;

在本步骤中,采用结构体数组的方式将所述以太网的映射端口与所述车辆总线的端口进行存储得到端口宏索引。

为进一步优化MVB总线与以太网数据交换,在通信冗余时根据网络信号优先信号进行数据选择,对MVB总线与以太网接收函数进一步封装,将以太网映射端口与MVB总线端口用结构体数组存储,并采用宏定义为MVB总线与以太网的映射端口建立唯一的端口宏索引,如图3所示,传递端口信息参数则只传递其宏索引,不必考虑当前的通信方式,无需同时调用MVB总线与以太网数据交换函数,仅需调用封装后函数自动进行数据冗余筛选,使函数调用更加简便。

例如:端口索引配置数组结构信息:

配置宏索引的数据交换函数示例:

getUchar(int index,int ofs_byte,intcommType)//字节获取函数,index端口索引序号,ofs_byte为变量在32字节中的偏移位置,commType为通信冗余筛选信号(MVB or以太网)。

putUchar(int index,int ofs_byte,unsigned char value,intcommType)//字节写入函数,index端口索引序号,ofs_byte为变量在32字节中的偏移位置,commType为通信冗余筛选信号(MVB or以太网)。

从上述描述可知,将以太网映射端口与MVB总线端口建立唯一索引,则访问端口时只需通过端口索引,便可以访问以太网映射端口与MVB总线端口,因此在数据交换函数中,只需传递端口索引号,调用最后封装的函数一次,无需关注具体的通信方式。

S103:通过所述端口宏索引调用所述以太网的通信数据或所述车辆总线的总线数据。

在本步骤中,用端口宏索引将MVB端口与以太网映射端口一一对应,即一个端口宏索引对应一个MVB端口与一个以太网映射端口,因此在数据收发函数中getUchar函数调用时只需传递端口宏索引,在此函数内部调用重载函数get_uchar分别获取来自MVB与以太网的数据,然后根据当前commType参数传递的当前通信选择方式或者当前通信信赖方式获取返回值,即可完成数据的交换。

当前通信选择方式或者当前通信信赖方式是在通信冗余时根据网络信号优先信号进行数据选择的。在以太网对应的网络信号置信度大于车辆总线对应的网络信号置信度,通过端口宏索引调用以太网的通信数据;在以太网对应的网络信号置信度小于或等于车辆总线对应的网络信号置信度,通过端口宏索引调用车辆总线的总线数据。

从上述描述可知,在MVB总线与以太网通信同时存在时,可将以太网数据自动参照MVB总线数据协议进行解析并使用。建立以太网数据与MVB数据的一一映射关系,并将端口信息索引化,采用宏索引和每个端口一一对应。则在调用函数获取解析数据时,不需关注当前获取的是MVB还是以太网信息,由程序完成自动筛选。

从上述描述可知,本发明实施例提供的基于车辆总线与以太网通信冗余的数据处理方法,将以太网与MVB总线通信进行归一化处理,在进行数据交换时,无需关心所需解析或者发送的数据在以太网接收数组中的具体偏置,只需参考MVB总线协议,保持与MVB总线通信一致。同时在函数内部自动完成当前所信赖的通信方式的筛选,即当前是信赖MVB总线还是以太网数据,与之前所设计的接收同时接收MVB总线与以太网数据,然后再进行数据筛选的方法相比较,具备更高的执行效率。同时也有效避免了由于以太网数据交换时每次接收发送的数组较大而出现的解析错误。

本发明实施例提供一种能够实现所述基于车辆总线与以太网通信冗余的数据处理方法中全部内容的基于车辆总线与以太网通信冗余的数据处理装置的具体实施方式,参见图4,所述基于车辆总线与以太网通信冗余的数据处理装置具体包括如下内容:

映射单元10,用于确定以太网的映射端口并建立以太网的映射端口与车辆总线的端口之间的映射数据;

索引单元20,用于基于所述映射数据生成端口宏索引;

调用单元30,用于通过所述端口宏索引调用所述以太网的通信数据或所述车辆总线的总线数据。

进一步的,所述映射单元包括:

映射模块,用于基于所述车辆总线的端口建立与所述车辆总线的端口一一对应的映射端口。

进一步的,所述索引单元包括:

索引模块,用于采用结构体数组的方式将所述以太网的映射端口与所述车辆总线的端口进行存储得到端口宏索引。

进一步的,所述调用单元包括:

第一调用模块,用于在所述以太网对应的网络信号置信度大于所述车辆总线对应的网络信号置信度,通过所述端口宏索引调用所述以太网的通信数据;

第二调用模块,用于在所述以太网对应的网络信号置信度小于或等于所述车辆总线对应的网络信号置信度,通过所述端口宏索引调用所述车辆总线的总线数据。

本发明提供的基于车辆总线与以太网通信冗余的数据处理装置的实施例具体可以用于执行上述实施例中的基于车辆总线与以太网通信冗余的数据处理方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。

从上述描述可知,本发明实施例提供的基于车辆总线与以太网通信冗余的数据处理装置,通过确定以太网的映射端口并建立以太网的映射端口与车辆总线的端口之间的映射数据;基于所述映射数据生成端口宏索引;通过所述端口宏索引调用所述以太网的通信数据或所述车辆总线的总线数据。能够提高数据解析的执行效率。有效避免了由于以太网数据交换时每次接收发送的数组较大而出现的解析错误。

本发明实施例提供一种用于实现所述基于车辆总线与以太网通信冗余的数据处理方法实施例中的全部或部分内容的电子设备的实施例,参见图5,所述电子设备具体包含有如下内容:

处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的计算机指令,以执行如下方法:

确定以太网的映射端口并建立以太网的映射端口与车辆总线的端口之间的映射数据;

基于所述映射数据生成端口宏索引;

通过所述端口宏索引调用所述以太网的通信数据或所述车辆总线的总线数据。

本发明实施例提供一种用于实现所述基于车辆总线与以太网通信冗余的数据处理方法实施例中的全部或部分内容的计算机可读存储介质,所述计算机可读存储介质上存储有计算机指令,所述计算机指令被执行时使所述计算机执行上述实施例中的基于车辆总线与以太网通信冗余的数据处理方法的全部步骤,例如,所述处理器执行所述计算机指令时实现下述步骤:

确定以太网的映射端口并建立以太网的映射端口与车辆总线的端口之间的映射数据;

基于所述映射数据生成端口宏索引;

通过所述端口宏索引调用所述以太网的通信数据或所述车辆总线的总线数据。

虽然本发明提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。

在本发明所提供的实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的。例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置(系统)实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 一种基于模板化数据库视图的数据校验方法及系统
  • 一种智能变电站配置文件合法性校验方法
  • 一种招投标文件模板域的校验规则及校验工具
  • 一种生成文件校验信息的方法、文件校验方法及设备
技术分类

06120116548867