一种数据冗余备份方法、装置、设备及介质与流程

文档序号:20161491发布日期:2020-03-24 21:04阅读:473来源:国知局
一种数据冗余备份方法、装置、设备及介质与流程

本发明涉及网络技术领域,尤其涉及一种数据冗余备份方法、装置、设备及介质。



背景技术:

随着经济全球化进程的加快,全球集装箱运输发展迅速,世界各地主要集装箱码头均面临吞吐量急剧增长的压力。而自动引导车(automatedguidedvehicle,agv)因其具有无人驾驶、自动导航、定位精确、路径优化以安全避障等智能化特征,已经逐渐成为自动化码头的主要运输工具。

agv由于定位精度高、行驶速度快、转向灵活,需要地面中央控制中心实时读取agv的运行状态,及时读取小车的故障和报警信息,并针对不同的状况控制agv小车的具体动作。因此,需要agv与中央控制中心的通信具有很高的可靠性和实时性,可以说高可靠性和实时性是对agv系统在港口安全准确运行的最基本保障。

由于agv没有固定运动轨迹,因此小车与控制中心的通讯通常采用无线通讯的方式,因此对无线通信网络的稳定性、鲁棒性要求极高,但无线网络通信本身具有不可避免的不稳定性,并且港口多变的环境因素也会对无线信号的衰减产生严重影响,为保证通讯可靠,通信系统必须有冗余备份方案。现有技术中,为保证agv与控制中心的通信的可靠性,采用双网独立链路冗余备份方案,港口码头布置a、b两类基站,这两类基站相互独立,互不影响,每类基站又分别包含若干个基站,分布于码头各个位置,保证agv小车在码头任何地方都可以连接上。agv小车上的车载设备包括各种传感器和plc设备,这些设备的数据通过以太网接口连接到车载工业以太网交换机上,同时agv车上用于连接地面无线基站的两台远端站也通过以太网端口也连接到车载工业以太网交换机上,车载工业以太网交换机作为车载设备的网关角色,与远端站连接的端口就是车内业务的上行端口。两台远端站也分a/b两个类型,a类型的远端站连接a类型主基站,b类型的远端站连接b类型主基站,保证可以同时接入a、b的不同基站。如图1所示,每台远端站连接两幅车载天线,安装在agv小车四角,可保障小车在载有集装箱的情况下,无论如何转弯,始终至少有一副天线不被遮挡,可以在基站的信号覆盖范围内。

如图2所示,地面核心交换机1端口和车载工业以太网交换机的1端口通过a链路(包括a远端、a类基站、a类基站汇聚交换机)进行通信,2端口和车载工业以太网交换机的2端口通过b链路包括(b远端、b类基站、b类基站汇聚交换机)进行通信,a链路和b链路互为冗余备份,通常1端口作为主通信端口,是活动链路(也可称之为主链路),用于收发业务流量,2端口是备份冗余通信端口,是非活动链路(也可称之为备用链路),该链路为了防止报文环路阻塞,不收发业务流量。当主链路故障时,切换端口以启用备用链路。现有技术为了快速检测链路是否故障并且快速倒换,采用ccmping进行检测以及8031协议进行倒换,ccm机制ping最快频率可以达到3.3ms,从而可以保证10ms左右就可以检测到链路故障,当检测到故障后,由8031协议进行链路切换,将主链路阻塞,将备用链路激活。然而当ccmping检测的报文频率达到3.3ms时,虽然可以在10ms以内检测,但是检测报文大量占用无线业务链路的带宽,造成带宽浪费,倘若减慢ccmping的频率,那么就会造成链路故障检测延时较大,另外8031协议切换主链路以及备用链路也有一定的延时,当信号不稳定时容易造成链路来回切换,进而产生链路震荡。这些都导致了avg与地面控制中心通信的不稳定性以及高延迟性,影响了agv的运行效率。



技术实现要素:

本发明提供一种数据冗余备份方法、装置、设备及介质,用以解决现有技术中的冗余备份方法不稳定、延时高、占用宽度资源过多,进而影响运行效率的技术问题。

第一方面,本发明实施例提供一种数据冗余备份方法,应用于车载工业以太网交换机下连设备与地面核心交换机下连设备之间的报文交互,其中车载工业以太网交换机上的第n个冗余端口与地面核心交换机上的第n个冗余端口经第n条链路连接,n大于1;

将其中的一交换机作为发送端,另一交换机作为接收端,该方法由发送端执行,包括:

对待发送报文进行复制,得到多个冗余端口对应的复制报文,其中待发送报文为发送端下连设备发往接收端下连设备的报文;

为复制报文添加用于使接收端删除重复报文的标识字段,其中标识字段包括用于标识待发送报文的发送顺序的流顺序号和用于标识报文源地址的地址标识;

通过多个冗余端口同时发送对应的复制报文。

在一种可能实施的方式中,本发明实施例提供的方法中,对待发送报文进行复制,得到多个冗余端口对应的复制报文之前,包括:

确定待发送报文符合预设的报文冗余规则。

在一种可能实施的方式中,本发明实施例提供的方法中,方法还包括:

若待发送报文不符合预设的报文冗余规则,则任选一个冗余端口,并通过冗余端口发送报文。

在一种可能实施的方式中,本发明实施例提供的方法中,发送端为车载工业以太网交换机,接收端为地面核心交换机时,确定待发送报文是否符合预设的报文冗余规则,包括:

若待发送报文的目的mac地址属于预划分的第一类地面核心交换机下连设备的mac地址,则确定待发送报文符合预设的报文冗余规则,否则确定待发送报文不符合预设的报文冗余规则。

在一种可能实施的方式中,本发明实施例提供的方法中,发送端为地面核心交换机,接收端为车载工业以太网交换机时,确定待发送报文是否符合预设的报文冗余规则,包括:

若待发送报文的源mac地址属于预划分的第一类地面核心交换机下连设备的mac地址,则确定待发送报文符合预设的报文冗余规则,否则确定待发送报文不符合预设的报文冗余规则。

在一种可能实施的方式中,本发明实施例提供的方法中,该方法还包括:

基于待发送报文的源mac地址,获取源mac地址所对应的端口号;

根据预先为地面核心交换机下连设备侧各端口配置的类型属性,确定端口号的端口类型,其中端口类型包括控制类端口和管理类端口;

若端口号的端口类型是控制类端口,则确定报文的源mac地址属于预划分的第一类的地面核心交换机下连设备的mac地址,若端口号的端口类型是管理类端口,则确定报文的源mac地址属于预划分的第二类的地面核心交换机下连设备的mac地址。

第二方面,本发明实施例提供一种数据冗余备份方法,应用于车载工业以太网交换机与地面核心交换机之间的报文交互,其中车载工业以太网交换机上的第n个冗余端口与地面核心交换机上的第n个冗余端口经第n条链路连接,n大于1;

将其中的一交换机作为发送端,另一交换机作为接收端,该方法由接收端执行,包括:

接收发送端经冗余端口发送的报文;

基于报文的标识字段和预先设置的报文信息,在确定报文为重复报文后删除报文,其中标识字段包括用于标识待发送报文的发送顺序的流顺序号和用于标识报文源地址的地址标识。

在一种可能实施的方式中,本发明实施例提供的方法中,通过下列方式判断报文是否为重复报文:

预先设置的报文信息中存储有已接收报文的地址标识、流顺序号和已接收报文接收时间;

若报文的标识字段中的地址标识和流顺序号与报文信息中存储的地址标识和流顺序号相同,且报文的接收时间与报文信息中存储的接收时间的时间间隔在老化时长内,则确定报文为重复报文。

在一种可能实施的方式中,本发明实施例提供的方法中,流顺序号在一个循环内递增,老化时长是基于接收报文的延时时长和流顺序号的循环时间确定的。

在一种可能实施的方式中,本发明实施例提供的方法中,方法还包括:

若确定报文不是重复报文,且报文携带有所述标识字段,则在报文信息中存储报文的地址标识和流顺序号和接收时间,并删除报文的标识字段。

第三方面,本发明实施例提供一种数据冗余备份装置,包括:

复制单元,用于对待发送报文进行复制,得到多个冗余端口对应的复制报文,其中待发送报文为发送端下连设备发往接收端下连设备的报文;

处理单元,用于为复制报文添加用于使接收端删除重复报文的标识字段,其中标识字段包括用于标识待发送报文的发送顺序的流顺序号和用于标识报文源地址的地址标识;

发送单元,用于通过多个冗余端口同时发送对应的复制报文。

在一种可能实施的方式中,本发明实施例提供的装置中,装置还包括:确定单元,用于在对待发送报文进行复制,得到多个冗余端口对应的复制报文之前,确定待发送报文符合预设的报文冗余规则。

在一种可能实施的方式中,本发明实施例提供的装置中,确定单元还用于:

若待发送报文不符合预设的报文冗余规则,则任选一个冗余端口,并通过冗余端口发送报文。

在一种可能实施的方式中,本发明实施例提供的装置中,确定单元在发送端为车载工业以太网交换机,接收端为地面核心交换机时,具体用于:

若待发送报文的目的mac地址属于预划分的第一类地面核心交换机下连设备的mac地址,则确定待发送报文符合预设的报文冗余规则,否则确定待发送报文不符合预设的报文冗余规则。

在一种可能实施的方式中,本发明实施例提供的装置中,确定单元在发送端为地面核心交换机,接收端为车载工业以太网交换机时,具体用于:

若待发送报文的源mac地址属于预划分的第一类地面核心交换机下连设备的mac地址,则确定待发送报文符合预设的报文冗余规则,否则确定待发送报文不符合预设的报文冗余规则。

在一种可能实施的方式中,本发明实施例提供的装置中,确定单元还用于:

基于待发送报文的源mac地址,获取源mac地址所对应的端口号;

根据预先为地面核心交换机下连设备侧各端口配置的类型属性,确定端口号的端口类型,其中端口类型包括控制类端口和管理类端口;

若端口号的端口类型是控制类端口,则确定报文的源mac地址属于预划分的第一类的地面核心交换机下连设备的mac地址,若端口号的端口类型是管理类端口,则确定报文的源mac地址属于预划分的第二类的地面核心交换机下连设备的mac地址。

第四方面,本发明实施例提供一种数据冗余备份装置,包括:

接收单元,用于接收发送端经冗余端口发送的报文;

处理单元,用于基于报文的标识字段和预先设置的报文信息,在确定报文为重复报文后删除报文,其中标识字段包括用于标识待发送报文的发送顺序的流顺序号和用于标识报文源地址的地址标识。

在一种可能实施的方式中,本发明实施例提供的装置中,处理单元通过下列方式判断报文是否为重复报文:

预先设置的报文信息中存储有已接收报文的地址标识、流顺序号和已接收报文接收时间;

若报文的标识字段中的地址标识和流顺序号与报文信息中存储的地址标识和流顺序号相同,且报文的接收时间与报文信息中存储的接收时间的时间间隔在老化时长内,则确定报文为重复报文。

在一种可能实施的方式中,本发明实施例提供的装置中,流顺序号在一个循环内递增,老化时长是基于接收报文的延时时长和流顺序号的循环时间确定的。

在一种可能实施的方式中,本发明实施例提供的装置中,处理单元还用于:

若确定报文不是重复报文,且报文携带有标识字段,则在报文信息中存储报文的地址标识和流顺序号和接收时间,并删除报文的标识字段。

在一种可能实施的方式中,本发明实施例提供的装置中,处理单元由switch芯片实现。

第五方面,本发明实施例提供一种电子设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如本发明实施例第一方面或第二方面所提供的方法。

第六方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如本发明实施例第一方面或第二方面所提供的方法。

利用本发明提供的数据冗余备份方法、装置、设备及介质,具有以下有益效果:对待发送报文复制多份并添加标识字段,并通过多个冗余端口同时发送对应的复制报文,接收到报文后基于报文的标识字段和报文信息,删除重复报文。使得接收报文的可靠性增加,同时接收报文的时延也会大幅降低。

附图说明

图1为背景技术提供的agv小车远端站、车载天线及以太网交换机连接关系示意图;

图2为背景技术提供的agv通讯系统结构示意图;

图3为本发明实施例提供的一种数据冗余备份方法的流程示意图;

图4为本发明实施例提供的另一数据冗余备份方法的流程示意图;

图5为本发明实施例提供的一种数据冗余备份方法的具体流程示意图;

图6为本发明实施例提供的另一数据冗余备份方法的具体流程示意图;

图7为本发明实施例提供的再一数据冗余备份方法的具体流程示意图;

图8为本发明实施例提供的一种数据冗余备份装置的结构示意图;

图9为本发明实施例提供的另一数据冗余备份装置的结构示意图;

图10为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

下面对文中出现的一些词语进行解释:

本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

下面结合附图和实施例对本发明提供的数据冗余备份方法、装置、设备及介质进行更详细地说明。

本发明实施例提供一种数据冗余备份方法,如图3所示,包括:

步骤301,对待发送报文进行复制,得到多个冗余端口对应的复制报文。

具体实施时,将符合报文冗余规则的待发送报文进行复制,得到与多个冗余端口对应的复制报文。若待发送报文不符合预设的报文冗余规则,则任选一个冗余端口,并通过该冗余端口发送报文。

需要说明的是,报文冗余规则可以根据实际使用规则自行设置,如对于重要性和可靠性要求较高的第一类报文(例如控制报文),选择冗余发送,而对于可靠性、实时性要求不高的第二类报文(例如管理报文),可以只在一个冗余端口发送转发,当然也可以设置部分报文在部分冗余端口发送,本发明实施例对具体设置规则不做限定。

步骤302,为复制报文添加用于使接收端删除重复报文的标识字段。

具体实施时,为复制的报文添加使接收端删除重复报文的标识字段,其中标识字段包括用于标识待发送报文的发送顺序的流顺序号和用于标识报文源地址的地址标识。

优选的,流顺序号按照不同的源地址进行分配,每从下连设备接收到同一个源地址的报文则流顺序号加1。对来自下连设备的待发送报文进行复制后得到的所有复制报文的流顺序号均相同。

步骤303,通过多个冗余端口同时发送对应的复制报文。

具体实施时,将经冗余备份的报文通过对应的多个冗余端口发送,将不经冗余备份的报文通过任一冗余端口发送。

本发明实施例提供一种数据冗余备份方法,如图4所示,包括:

步骤401,接收冗余端口发送的报文。

具体实施时,接收冗余端口发送的复制报文和冗余端口发送的不经过冗余备份的原始报文。

步骤402,基于报文的标识字段和预先设置的报文信息,在确定报文为重复报文后删除报文。

具体实施时,通过下列方式判断报文是否为重复报文:

预先设置的报文信息中存储有已接收报文的地址标识、流顺序号和已接收报文接收时间,若报文的标识字段中的地址标识和流顺序号与报文信息中存储的地址标识和流顺序号相同,且报文的接收时间与报文信息中存储的接收时间的时间间隔在老化时长内,则确定报文为重复报文。

优选的,流顺序号在一个循环内递增,老化时长是基于接收报文的延时时长和流顺序号的循环时间确定的。

另外,若确定报文不是重复报文,则在报文信息中存储报文的地址标识和流顺序号和接收时间,并删除报文的标识字段。

下面结合图5、图6,以二层以太网协议下车载工业以太网交换机与地面核心交换机均具有两个冗余端口为例,结合如图2所示agv通讯系统结构示意图,分别对本发明实施例提供的数据冗余备份方法的全冗余和部分冗余的具体过程进行详细说明。

实施例一

如图5所示,本发明实施例提供的一种数据冗余备份具体过程,可以包括如下步骤:

步骤501,车载设备生成发往地面控制中心设备的报文,发送给车载以太网交换机。

步骤502,车载以太网交换机对车载设备发送的所述报文复制,并发送至本交换机的两个冗余端口。

步骤503,车载以太网交换机为复制报文添加用于使地面核心交换机删除重复报文的标识字段。

具体实施时,报文从冗余端口发出前,在报文尾部添加标识字段,标识字段包括协议标识、用于区分冗余端口的lanid(例如第一冗余端口为lan_a,第二冗余端口为lan_b)以及流顺序号sequencenumber,sequencenumber按照不同的源mac地址进行分配,接收到同一个源mac地址的报文则sequencenumber加1,同一个mac地址的sequencenumber是一个循环变化的值(例如0-65535)。

步骤504,车载以太网交换机通过冗余端口发送报文。

步骤505,a/b远端无线设备(也即远端站)接收报文,将报文发送至对应的a/b基站。

需要说明的是,若经两个冗余端口发送的报文均被正常接收,则这两份报文除了标识字段的lanid的标识以及报文的循环冗余校验(cyclicredundancycheck,crc)之外几乎一致。a/b远端无线设备正常情况下都能连接到相应的a/b类型基站,并将报文回传给a/b类型的某个基站。

步骤506,a/b基站将报文回传至汇聚交换机设备后转发至地面核心交换机。

具体实施时,汇聚交换机为普通的二层交换机设备,根据普通的二层以太网协议进行转发。由于基站之间业务报文不需要通信,只需要地面和车载设备进行通信,因此汇聚交换机的下行口之间进行端口隔离,汇聚交换机收到基站回传的报文后,都会直接转发到上行端口,进而报文到达地面核心交换机。

步骤507,地面核心交换机确定报文是否重复,若报文为重复报文,则执行步骤508,若报文为正常报文,则执行步骤509。

具体实施时,在正常无线信号稳定的情况下,两份复制报文均能被接收,在地面核心交换机的冗余端口从连接a/b基站汇聚交换机收到报文后,首先对报文进行源mac以及sequencenumber的学习,若是表项中没有相同源mac以及sequencenumber条目,则判断该报文是正常报文,并对该报文进行mac地址学习,形成二层mac地址转发表项条目。并且设定一个老化时间,当老化时长内,又收到了该源mac地址以及sequencenumber的报文,则判断新收到的报文是重复帧,不进行mac地址学习,若老化时长外,又收到了该源mac以及sequencenumber的报文,则判断新收到的报文为正常报文,重新进行mac地址学习。

需要说明的是,在本实施例中,同一个mac地址的sequencenumber是一个循环变化的值(例如0-65535),车载以太网交换机每发出一个源mac地址为该mac地址的报文,则sequencenumber增1,直至增加至最大值(说明一点,对一个车载设备发送的一个报文复制后得到的复制报文算一个报文,sequencenumber相同),其后若再发出源mac地址为该mac地址的报文,sequencenumber值又变回最小值,之后再依次增1,依次类推。老化时长的设置应保证小于sequencenumber的循环变化周期。优选的,该老化时长大于a链路和b链路中的最大网络延迟时间,该延迟时间可通过现有的任意一种链路延迟测量算法测量得到,本发明实施例对此不做限定。

步骤508,地面核心交换机删除重复报文。

当经过上述507步骤判断报文是重复报文,那么该报文需要直接丢弃,避免二次处理。

步骤509,地面核心交换机将报文下发给对应的地面控制中心设备,其中若报文携带有标识字段则删除该标识字段。

当经过上述507步骤判断是正常报文,则按照以太网二层协议进行转发,在转发前对携带有标识字段的报文删除掉其中的标识字段,恢复为原始的以太网报文。

从地面控制中心到车载设备反方向数据流亦然。也是同样在地面核心交换机进行报文复制和添加标识字段,在车载工业以太网交换机进行重复报文检测丢弃以及去掉标识字段,此处不再赘述。

实施例二

本实施例以上述实施例一为基础,对实施例一加以改进。区别于实施例一中地面核心交换机与车载工业以太网交换机两侧设备间交互的所有报文都是通过两条链路传输,本实施例中将报文分类分情形进行单链路或双链路传输,以在尽可能保证高可靠性传输的前提下充分利用链路带宽资源快速有效地传输报文。

该方法中,对于重要性和可靠性要求较高的第一类报文(例如控制报文),选择在a和b链路同时发送,而对于可靠性、实时性要求不高的第二类报文(例如管理报文),可以只在a或者b链路上转发。也就是说,地面核心交换机和车载工业以太网交换机在负责地面控制中心设备与车载设备之间报文的交互时,在处理第一类报文时是作为一种双链接设备,使处理的该类报文同时通过a链路以及b链路与对端的地面控制中心设备或者车载设备进行通信,而在处理第二类报文时是作为一种单链接设备,使处理的该类报文只通过a链路或者b链路与对端的地面控制中心设备或者车载设备进行通信。

(1)以下以任一车载设备向任一地面控制中心设备发送报文为例,详细介绍本实施例提供的技术方案。

如图6所示,本发明实施例提供的另一种数据冗余备份具体过程,可以包括如下步骤:

步骤600,地面核心交换机将下连的属于预划分的第一类的地面控制中心设备的mac地址经基站汇聚交换机、基站、远端站向车载工业以太网交换机发送。

在本实施例中,地面核心交换机下连的地面控制中心设备可以是一个或多个。优选的,地面核心交换机可预先通过现有的mac地址学习机制学习到下挂的地面控制中心设备的mac地址,识别mac地址是属于预划分的第一类的地面控制中心设备的mac地址,还是属于预划分的第二类的地面控制中心设备的mac地址。在本实施例中,可预先将地面核心交换机下挂的各地面控制中心设备划分为两类设备,例如第一类和第二类依次为控制类设备和管理类设备,相应的mac地址识别过程可以为,通过mac地址学习结果获取mac地址所对应的端口号;根据预先为地面控制中心侧各端口配置的类型属性,判断该端口号的端口类型;若端口类型是控制类端口,则确定mac地址属于预划分的第一类的地面控制中心设备的mac地址,若端口类型是管理类端口,则确定mac地址属于预划分的第二类的地面控制中心设备的mac地址。并在mac地址识别完成后,将属于第一类的地面控制中心设备的mac地址通过网络告知链路对端侧的车载工业以太网交换机,而对于第二类的mac地址则不执行告知操作。例如,地面核心交换机采用预设的协议报文学习的方式向车载工业以太网交换机汇报自己下连的属于第一类的设备,经基站汇聚交换机、基站、远端站向车载工业以太网交换机发送,在发送过程中同时采用a和b链路传输。

步骤601,车载设备产生发往地面控制中心设备的报文后,通过以太网端口将报文发送到车载工业以太网交换机。

步骤602,车载工业以太网交换机根据报文的目的mac地址选择冗余端口,并将报文发送至选择的单冗余端口或复制两份后分别发送至选择的双冗余端口。

具体实施时,车载以太网交换机接收到所述发往地面控制中心设备的报文后,如果报文的目的mac地址属于地面核心交换机预先发送的属于预划分的第一类的地面控制中心设备的mac地址,则确定该报文的出端口是双冗余端口,否则确定该报文的出端口是单冗余端口。当出端口是单冗余端口时,直接将报文转发到对应的冗余端口,当出端口是双冗余端口时,车载工业以太网交换机对报文进行复制,分别转发至两个冗余端口。

需要说明的是,在本发明各实施例中,对报文进行复制后,有多少个冗余端口,就有多少份复制报文。并且,当出端口是单冗余端口时,可以按照负载均衡机制实时确定报文转发对应的单冗余端口,或者也可按照根据冗余端口连接链路的丢包率、传输速率等性能指标的好坏所确定的两冗余端口的优先级,选择其中优先级高的冗余端口作为报文转发对应的单冗余端口,具体选择方式本发明实施例不做限定。

步骤603,车载工业以太网交换机为复制报文添加用于使地面核心交换机删除重复报文的标识字段。

具体实施时,复制报文从冗余端口发出前,在报文尾部添加标识字段,标识字段包括协议标识、用于区分冗余端口的lanid(例如第一冗余端口为lan_a,第二冗余端口为lan_b)以及流顺序号sequencenumber,sequencenumber按照不同的源mac地址进行分配,接收到同一个源mac地址的报文则sequencenumber加1,同一个mac地址的sequencenumber是一个循环变化的值(例如0-65535)。若确定报文的出端口是单冗余端口,则该冗余端口直接发出报文。

步骤604,车载工业以太网交换机通过冗余端口发送报文。

步骤605,a/b远端无线设备接收报文,将报文发送至对应的a/b基站。

需要说明的是,若经两个冗余端口发送的报文均被正常接收,则这两份报文除了标识字段的lanid的标识以及报文的循环冗余校验(cyclicredundancycheck,crc)之外几乎一致。a/b远端无线设备正常情况下都能连接到相应的a/b类型基站,并将报文回传给a/b类型的某个基站。

而车载工业以太网交换机从单个冗余端口发出的报文并没有被复制,与单个冗余端口连接的a或b远端无线设备收到这份报文后,将该报文回传给a或b类型的某个基站。

步骤606,a/b基站将报文回传至汇聚交换机设备后转发至地面核心交换机。

a/b类型的基站收到报文后将报文回传给与之相连的基站汇聚交换机设备。汇聚交换机为普通的二层交换机设备,根据普通的二层以太网协议进行转发。由于基站之间业务报文不需要通信,只需要地面和车载设备进行通信,因此汇聚交换机的下行口之间进行端口隔离,汇聚交换机收到基站回传的报文后,都会直接转发到上行端口,进而报文到达地面核心交换机。

步骤607,地面核心交换机确定报文是否重复,若报文为重复报文,则执行步骤608,若报文为正常报文,则执行步骤609。

若解析出报文携带标识字段值,则首先对报文进行源mac以及sequencenumber的学习,若是表项中没有相同源mac以及sequencenumber条目,则判断该报文是正常报文,并对该报文进行mac地址学习,形成二层mac地址转发表项条目。并且设定一个老化时间,当老化时长内,又收到了该源mac地址以及sequencenumber的报文,则判断新收到的报文是重复报文,不进行mac地址学习,若老化时长外,又收到了该源mac以及sequencenumber的报文,则判断新收到的报文为正常报文,重新进行mac地址学习。

若解析出报文未携带标识字段,则判断该报文是正常报文。

步骤608,地面核心交换机删除重复报文。

当经过上述607步骤判断报文是重复报文,那么该报文需要直接丢弃,避免二次处理。

步骤609,地面核心交换机将报文下发给对应的地面控制中心设备,其中若报文携带有标识字段则删除该标识字段。

当经过上述607步骤判断是正常报文,则按照以太网二层协议进行转发,在转发前对携带有标识字段的报文删除掉其中的标识字段,恢复为原始的以太网报文。

(2)以下以任一地面控制中心设备向任一车载设备发送报文为例,详细介绍本实施例提供的技术方案。

如图7所示,本发明实施例提供的另一种数据冗余备份具体过程,可以包括如下步骤:

步骤701,地面控制中心设备产生发往车载设备的报文后,通过以太网端口将报文发送到地面核心交换机。

步骤702,地面核心交换机根据该报文的源mac地址选择冗余端口,并将报文发送至选择的单冗余端口或复制两份后分别发送至选择的双冗余端口。

具体实施时,地面核心交换机接收到发往车载设备的报文后,如果报文的源mac地址属于预划分的第一类的地面控制中心设备的mac地址,则确定该报文的出端口是双冗余端口,否则确定该报文的出端口是单冗余端口。当出端口是单冗余端口时,直接将报文转发到对应的冗余端口;当出端口是双冗余端口时,地面核心交换机对报文进行复制,分别转发至两个冗余端口。

步骤703,地面核心交换机为复制报文添加用于使地面核心交换机删除重复报文的标识字段。

步骤704,地面核心交换机通过冗余端口发送报文。

步骤705,a/b基站汇聚交换机接收到来自地面核心交换机的报文后,将报文转发给对应的a/b基站。

步骤706,a/b基站经对应的a/b远端无线设备,将报文发送至车载工业以太网交换机。

步骤707,车载工业以太网交换机确定报文是否重复,若报文为重复报文,则执行步骤708,若报文为正常报文,则执行步骤709。

其中,判断报文是否为重复报文的实现,与上述步骤607中判断报文是否为重复报文的实现相同,在此不再赘述。

步骤708,车载工业以太网交换机删除重复报文。

步骤709,车载工业以太网交换机将报文下发给对应的车载设备,其中若报文携带有标识字段则删除该标识字段。

实施例三

本实施例以上述实施例二为基础,针对如下组网场景对以太网交换机(车载工业以太网交换机和地面核心交换机)处理报文的操作具体优化:以太网交换机同时连接有图2未示出的多个其它设备,以太网交换机还负责多个其它设备间报文转发,以及,其它设备与车载设备或地面控制中心设备报文转发。

(1)下面以车载工业以太网交换机对车载设备与地面控制中心设备间交互报文的处理转发过程为例作详细阐述,具体如下。

①收到从冗余端口进来的报文

若判断该报文为重复报文,则删除该报文;否则,执行如下a步骤和b步骤。

a.对该报文进行mac地址学习,学习过程中确定要添加相应的二层mac地址转发表项时:

若该报文的源mac地址匹配为地面核心交换机预先发送的属于预划分的第一类的地面控制中心设备的mac地址,则添加如下表项:mac地址为报文的源mac地址、vlan为专属虚拟vlan、出端口为一条二层组播表项的index(二层组播表项记录有两个冗余端口标识),为该表项关联san标志位,并置0;

否则,添加如下表项:mac地址为报文的源mac地址、vlan为专属虚拟vlan、出端口为接收报文的冗余端口,为该表项关联san标志位,并置1;

b.基于该报文的目的mac地址和专属虚拟vlan,从二层mac地址转发表项中查找对应的出端口,在查找出该出端口为普通的车载设备侧业务端口后,若通过出口acl规则匹配出该报文中携带有标识字段则在删除标识字段后转发到出端口发送出去,若匹配出该报文中不包含标识字段则直接转发到出端口发送出去。

②收到从车载设备侧普通业务端口进来的报文

a.若该报文为广播报文,则不再查询二层mac地址转发表项,直接为该报文添加专属虚拟vlan;

对该报文的源mac地址进行mac地址学习,学习过程中确定要添加该报文的源mac地址相应的二层mac地址转发表项时,添加如下表项:mac地址为报文的源mac地址、vlan为专属虚拟vlan、出端口为接收报文的普通业务端口;

将该报文在专属虚拟vlan中洪泛,以使配置了专属虚拟vlan的两个冗余端口收到该报文后,将外层专属虚拟vlan剥掉恢复为车载工业以太网交换机刚收到时的原始报文后添加标识字段发送出去;

b.若该报文为单播报文,则对该报文的源mac地址进行mac地址学习,学习过程中确定要添加相应的二层mac地址转发表项时,添加如下表项:mac地址为报文的源mac地址、vlan为专属虚拟vlan、出端口为接收报文的普通业务端口;

基于该报文的目的mac地址和专属虚拟vlan,从二层mac地址转发表项中查找对应的出端口;

当查找出的出端口所在表项关联的san置0时确定表项中的出端口为表项关联的二层组播表项的index,按照该index得到二层组播表项中记录的两个冗余端口标识,并将该报文复制到两个冗余端口;当查找出的出端口所在表项关联的san置1时直接将该报文转发至该表项记录的出端口;当从二层mac地址转发表项中查找失败时,可将该报文按照广播报文的处理方式处理;

当报文从冗余端口发出时,若确定报文的源mac地址所对应的表项关联的san为0时,则剥掉专属虚拟vlan后,在报文尾部添加标识字段,否则将报文直接发送出去。

优选的,还可以预先为车载工业以太网交换机配置端口的属性,该属性配置包括:为所有涉及车载设备与地面控制中心通信的端口配置专属虚拟vlan,配置端口为是冗余端口或普通业务端口,如果是冗余端口则需配置属性是冗余端口的lanid(lan_a/lan_b)。用于在发送报文时,添加标识字段。

(2)下面以地面核心交换机对车载设备与地面控制中心设备间交互报文的处理转发过程为例作详细阐述,具体的如下。

①收到从冗余端口进来的报文

若判断该报文为重复报文,则删除该报文;否则,执行如下a步骤和b步骤。

a.对该报文进行mac地址学习,学习过程中确定要添加相应的二层mac地址转发表项时:

若该报文的目的mac地址匹配为地面核心交换机预先发送的属于预划分的第一类的地面控制中心设备的mac地址,则添加如下表项:mac地址为该报文的源mac地址、vlan为专属虚拟vlan、出端口为一条二层组播表项的index(二层组播表项记录有两个冗余端口标识)以及源mac地址匹配标识值为有效值,为该表项关联san标志位,并置0;

否则,添加如下表项:mac地址为报文的源mac地址、vlan为专属虚拟vlan、出端口为接收报文的冗余端口以及源mac地址匹配标识值为无效值,为该表项关联san标志位,并置1;

b.基于该报文的目的mac地址和专属虚拟vlan,从二层mac地址转发表项中查找对应的出端口,在查找出该出端口为普通的地面控制中心设备侧业务端口后,若通过出口acl规则匹配出该报文中携带有标识字段则在删除标识字段后转发到出端口发送出去,若匹配出该报文中不包含标识字段则直接转发到出端口发送出去。

②收到从地面控制中心设备侧普通业务端口进来的报文

a.若该报文为广播报文,则不再查询二层mac地址转发表项,直接为该报文添加专属虚拟vlan;

对该报文的源mac地址进行mac地址学习,学习过程中确定要添加该报文的源mac地址相应的二层mac地址转发表项时,添加如下表项:mac地址为报文的源mac地址、vlan为专属虚拟vlan、出端口为接收报文的普通业务端口以及源mac地址匹配标识值为无效值;

将该报文在专属虚拟vlan中洪泛,以使配置了专属虚拟vlan的两个冗余端口收到该报文后,将外层专属虚拟vlan剥掉恢复为地面核心交换机刚收到时的原始报文后添加标识字段发送出去;

b.若该报文为单播报文,则对该报文的源mac地址进行mac地址学习,学习过程中确定要添加相应的二层mac地址转发表项时,添加如下表项:mac地址为报文的源mac地址、vlan为专属虚拟vlan、出端口为接收报文的普通业务端口以及源mac地址匹配标识值为无效值;

基于该报文的目的mac地址和专属虚拟vlan,从二层mac地址转发表项中查找对应的出端口;说明一点,当查找到对应的二层mac地址转发表项(表项的mac地址和vlan分别为该报文的目的mac地址和专属虚拟vlan)时,如果该转发表项中源mac地址匹配标识值为有效值(例如为1)时,则提取该报文的源mac地址与地面核心交换机预先发送的属于预划分的第一类的地面控制中心设备的mac地址进行匹配,若匹配成功,则确定该转发表项中的端口为查找出的对应出端口,若匹配失败,则确定该转发表项中的端口并非查找出的对应出端口;

当查找出的出端口所在表项关联的san置0时确定表项中的出端口为表项关联的二层组播表项的index,按照该index得到二层组播表项中记录的两个冗余端口标识,并将该报文复制到两个冗余端口;当查找出的出端口所在表项关联的san置1时直接将该报文转发至该表项记录的出端口;当从二层mac地址转发表项中查找失败时,可将该报文按照广播报文的处理方式处理;

当报文从冗余端口发出时,若确定报文的源mac地址所对应的表项关联的san为0时,则剥掉专属虚拟vlan后,在报文尾部添加标识字段,否则将报文直接发送出去。

优选的,还可以预先为地面核心交换机配置端口的属性,该属性配置包括:为所有涉及车载设备与地面控制中心设备通信的端口配置专属虚拟vlan,配置端口为是冗余端口或普通业务端口,如果是冗余端口则需配置属性是冗余端口的lanid(lan_a/lan_b)。用于在发送报文时,添加标识字段。

如图8所示,基于数据冗余备份方法同样的发明构思,本发明还提供一种数据冗余备份装置,包括:

复制单元801,用于对待发送报文进行复制,得到多个冗余端口对应的复制报文,其中待发送报文为发送端下连设备发往接收端下连设备的报文;

处理单元802,用于为复制报文添加用于使接收端删除重复报文的标识字段,其中标识字段包括用于标识待发送报文的发送顺序的流顺序号和用于标识报文源地址的地址标识;

发送单元803,用于通过多个冗余端口同时发送对应的复制报文。

在一种可能实施的方式中,本发明实施例提供的装置中,装置还包括:确定单元,用于在对待发送报文进行复制,得到多个冗余端口对应的复制报文之前,确定待发送报文符合预设的报文冗余规则。

在一种可能实施的方式中,本发明实施例提供的装置中,确定单元还用于:

若待发送报文不符合预设的报文冗余规则,则任选一个冗余端口,并通过冗余端口发送报文。

在一种可能实施的方式中,本发明实施例提供的装置中,确定单元在发送端为车载工业以太网交换机,接收端为地面核心交换机时,具体用于:

若待发送报文的目的mac地址属于预划分的第一类地面核心交换机下连设备的mac地址,则确定待发送报文符合预设的报文冗余规则,否则确定待发送报文不符合预设的报文冗余规则。

在一种可能实施的方式中,本发明实施例提供的装置中,确定单元在发送端为地面核心交换机,接收端为车载工业以太网交换机时,具体用于:

若待发送报文的源mac地址属于预划分的第一类地面核心交换机下连设备的mac地址,则确定待发送报文符合预设的报文冗余规则,否则确定待发送报文不符合预设的报文冗余规则。

在一种可能实施的方式中,本发明实施例提供的装置中,确定单元还用于:

基于待发送报文的源mac地址,获取源mac地址所对应的端口号;

根据预先为地面核心交换机下连设备侧各端口配置的类型属性,确定端口号的端口类型,其中端口类型包括控制类端口和管理类端口;

若端口号的端口类型是控制类端口,则确定待发送报文的源mac地址属于预划分的第一类的地面核心交换机下连设备的mac地址,若端口号的端口类型是管理类端口,则确定待发送报文的源mac地址属于预划分的第二类的地面核心交换机下连设备的mac地址。

如图9所示,基于数据冗余备份方法同样的发明构思,本发明还提供一种数据冗余备份装置,包括:

接收单元901,用于接收发送端经冗余端口发送的报文;

处理单元902,用于基于报文的标识字段和预先设置的报文信息,在确定报文为重复报文后删除报文,其中标识字段包括用于标识待发送报文的发送顺序的流顺序号和用于标识报文源地址的地址标识。

在一种可能实施的方式中,本发明实施例提供的装置中,处理单元902通过下列方式判断报文是否为重复报文:

预先设置的报文信息中存储有已接收报文的地址标识、流顺序号和已接收报文接收时间;

若报文的标识字段中的地址标识和流顺序号与报文信息中存储的地址标识和流顺序号相同,且报文的接收时间与报文信息中存储的接收时间的时间间隔在老化时长内,则确定报文为重复报文。

在一种可能实施的方式中,本发明实施例提供的装置中,流顺序号在一个循环内递增,老化时长是基于接收报文的延时时长和流顺序号的循环时间确定的。

在一种可能实施的方式中,本发明实施例提供的装置中,处理单元902还用于:

若确定报文不是重复报文,且所述报文携带有所述标识字段,则在报文信息中存储报文的地址标识和流顺序号和接收时间,并删除所述报文的标识字段。

在一种可能实施的方式中,本发明实施例提供的装置中,处理单元902由switch芯片实现。

另外,对于地面核心交换机,若其不能够提供支持全冗余或部分冗余的数据冗余备份功能,则可以在地面核心交换机和a/b类基站汇聚交换机之间放置一个冗余代理设备,由该冗余代理设备代理地面核心交换机实现该功能。并且,对于支持全冗余或部分冗余的数据冗余备份功能的车载以太网交换机和地面核心交换机,均可完全基于switch(交换)芯片实现该功能,无需再另加fpga芯片,这样可以降低成本,降低开发维护工作量,减少设备pcb板的空间大小,减小了交换机的尺寸,对于车载工业以太网交换机来说,尤为重要。switch芯片对于报文的识别、学习、复制、转发均可基于传统的设备功能实现,以某款博通芯片举例,该芯片除传统switch功能外仅需增加支持对上述标识字段的识别、添加以及删除以及冗余复制报文检测丢弃等即可。

另外,结合图3-图9描述的本发明实施例的数据冗余备份方法和装置可以由电子设备来实现。图10示出了本发明实施例提供的电子设备的硬件结构示意图。

电子设备可以包括处理器1001以及存储有计算机程序指令的存储器1002。

具体地,上述处理器1001可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。

存储器1002可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器1002可包括硬盘驱动器(harddiskdrive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器1002可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器1002可在数据处理装置的内部或外部。在特定实施例中,存储器1002是非易失性固态存储器。在特定实施例中,存储器1002包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。

处理器1001通过读取并执行存储器1002中存储的计算机程序指令,以实现上述实施例中的任意一种数据冗余备份方法。

在一个示例中,电子设备还可包括通信接口1003和总线1010。其中,如图10所示,处理器1001、存储器1002、通信接口1003通过总线1010连接并完成相互间的通信。

通信接口1003,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。

总线1010包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线1010可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。

该电子设备可以基于接收到的报文,执行本发明实施例中的数据冗余备份方法,从而实现结合图3-图9描述的数据冗余备份方法和装置。

另外,结合上述实施例中的电子设备,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据冗余备份方法。

利用本发明提供的数据冗余备份方法、装置、设备及介质,具有以下有益效果:基于报文的匹配信息,从多个已创建的业务流会话中查找报文对应的业务流会话,基于报文对应的业务流会话的会话信息,在确定报文符合快速处理要求后,经网络协议栈的快速处理模块直接对报文进行处理。本发明通过使用和设置会话信息,实现了根据会话信息进行快速处理,提高处理器的业务处理速度。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1