基于工业以太网的数据传输系统、方法和通信设备与流程

文档序号:15466098发布日期:2018-09-18 19:21阅读:217来源:国知局

本申请涉及通信技术领域,特别是涉及一种基于工业以太网的数据传输系统、方法和通信设备。



背景技术:

随着通信技术的不断发展,通过以太网构建冗余网络在工业场景中的应用越来越广泛。而针对工业应用以太网的通信要求更高,以满足工业应用的需求。现有的工业以太网大都采用传统的冗余网络,需要交换机之间通过链路首尾相连组成冗余环网。这种网络的数据传输方式支持数据重发和添加链路冗余。当某一链路发生故障时,数据重发需要数据重新传输,传输延迟比较大。添加链路冗余则需要重新计算数据传输路径,并重新传输数据。

然而,传统的数据传输方式在链路发生故障时,路径更新这段时间内无法正常通信,数据可能会延时或者丢失,进而导致数据传输的可靠性较低。因此,如何有效提高数据传输的可靠性成为目前需要解决的技术问题。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够有效提高数据传输的可靠性的基于工业以太网的数据传输系统、方法和通信设备。

一种基于工业以太网的数据传输系统,所述系统包括:

发送终端,用于获取数据包;通过发送终端的第一端口按照以太网链路向接收终端正向发送所述数据包,同时通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端向所述接收终端发送所述数据包;

中间终端,用于接收发送终端发送的数据包;将所述数据包转发至所述以太网链路上的相邻中间终端和/或接收终端;

接收终端,用于接收发送终端和/或与所述接收终端相邻的中间终端发送的数据包,当所述发送端和所述接收端之间的链路发生故障时,接收通过所述发送终端的第二端口按照逆向以太网链路经过至少一个中间终端发送的数据包。

在其中一个实施例中,所述数据包携带标签,所述接收终端还用于对所述数据包的标签进行解析,利用解析后的标签对所述数据包进行验证,判断是否接收到重复的数据包;当接收到两个重复的数据包时,将先接收到的数据进行处理,并将后接收到的数据删除。

在其中一个实施例中,所述数据包的标签包括地址标识和序列码,所述中间终端还用于对所述数据包的标签中的地址标识进行验证,当所述地址标识与所述中间终端的地址标识不匹配时,将所述数据包转发至所述以太网链路上的相邻中间终端和/或接收终端;所述接收终端还用于根据所述数据包的标签解析出所述数据包的地址标识和序列码;当所述数据包的地址标识与接收终端的地址标识相匹配时,将所述序列码存储至缓存列表;判断缓存列表中是否存在相同的序列码,当所述缓存列表中不存在相同的序列码时,对所述数据包中的数据进行处理;当所述缓存列表中存在相同的序列码时,删除所述序列码对应的数据包。

一种基于工业以太网的数据传输方法,所述方法包括:

发送终端获取数据包;

通过发送终端的第一端口按照以太网链路向接收终端正向发送所述数据包;

同时通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过所述中间终端将所述数据包转发至所述接收终端;

当所述发送端和所述接收端之间的链路发生故障时,通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过所述中间终端将所述数据包转发至所述接收终端。

在其中一个实施例中,所述方法还包括:

对所述数据包添加对应的标签;

根据所述标签对所述数据包添加序列码;

所述序列码用于接收终端对接收到的数据包进行验证,当验证未通过时,对所述数据包进行去重处理。

一种基于工业以太网的数据传输方法,所述方法包括:

接收终端接收通过发送终端的第一端口按照以太网链路向接收终端正向发送的数据包;

接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过所述中间终端转发的数据包;

当所述发送端和所述接收端之间的链路发生故障时,接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过所述中间终端转发的数据包。

在其中一个实施例中,所述数据包携带了标签,所述方法还包括:

对所述数据包的标签进行解析;

利用解析后的标签对所述数据包进行验证;

当验证未通过时,对所述数据包进行去重处理。

在其中一个实施例中,所述利用解析后的标签对所述数据包进行验证的步骤包括:

根据所述数据包的标签解析出所述数据包的地址标识和序列码;

当所述数据包的地址标识与接收终端的地址标识相匹配时,将所述序列码存储至缓存列表;

判断缓存列表中是否存在相同的序列码,当所述缓存列表中不存在相同的序列码时,对所述数据包中的数据进行处理;

当所述缓存列表中存在相同的序列码时,删除所述序列码对应的数据包。

一种通信设备,包括存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:发送终端获取数据包;通过发送终端的第一端口按照以太网链路向接收终端正向发送所述数据包;同时通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过所述中间终端将所述数据包转发至所述接收终端;当所述发送端和所述接收端之间的链路发生故障时,继续执行所述通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,所述中间终端将所述数据包转发至所述接收终端的步骤。

一种通信设备,包括存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:接收终端接收通过发送终端的第一端口按照以太网链路向接收终端正向发送的数据包;接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端发送的数据包;当所述发送端和所述接收端之间的链路发生故障时,接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端发送的数据包。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:发送终端获取数据包;通过发送终端的第一端口按照以太网链路向接收终端正向发送所述数据包;同时通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过所述中间终端将所述数据包转发至所述接收终端;当所述发送端和所述接收端之间的链路发生故障时,继续执行所述通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,所述中间终端将所述数据包转发至所述接收终端的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:接收终端接收通过发送终端的第一端口按照以太网链路向接收终端正向发送的数据包;接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端发送的数据包;当所述发送端和所述接收端之间的链路发生故障时,接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端发送的数据包。

上述基于工业以太网的数据传输系统、方法和通信设备,发送终端获取数据包后,通过发送终端的第一端口按照以太网链路向接收终端正向发送数据包,同时通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端向接收终端转发数据包。接收终端接收发送终端和/或与接收终端相邻的中间终端发送的数据包,当发送终端和接收终端之间的链路发生故障时,接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端发送的数据包。由此即使当发送终端和接收终端之间的链路发生故障后,接收终端也能够快速有效地接收到发送终端发送的数据,从而能够有效提高数据传输的可靠性。

附图说明

图1为一个实施例中基于工业以太网的数据传输方法的应用环境图;

图2为一个实施例中传统工业以太网中数据传输系统的结构框图;

图3为一个实施例中基于工业以太网的数据传输系统的结构框图;

图4为一个实施例中基于工业以太网的数据传输方法的流程示意图;

图5为另一个实施例中基于工业以太网的数据传输方法的流程示意图;

图6为一个实施例中通信设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的基于工业以太网的数据传输系统,可以应用于如图1所示的应用环境中。发送终端102与接收终端104以及中间终端106通过并行的两条链路连接组成双链路冗余环网。其中,发送终端102、接收终端104和中间终端106可以但不限于是各种打印设备、电机设备、控制器设备等具有交换机功能的网络型工业设备。发送终端102获取数据包后,通过发送终端102的第一端口按照以太网链路向接收终端104正向发送数据包,同时通过发送终端102的第二端口按照逆向以太网链路经过至少一个中间终端106向接收终端104发送数据包。由此发送终端102能够通过双向端口将数据发送至接收终端104。接收终端104接收发送终端102和/或与接收终端104相邻的中间终端106发送的数据包,当发送终端102和接收终端104之间的链路发生故障时,接收通过发送终端102的第二端口按照逆向以太网链路经过至少一个中间终端106发送的数据包。由此即使当发送终端102和接收终端104之间的链路发生故障后,接收终端104也能够快速实时地接收到发送终端102发送的数据,从而能够有效提高数据传输的可靠性。

在工业应用中,各种终端设备系统通过工业网络构建成工业以太网。对于工业网络而言,需要数据之间的通信更加快速、实时以及可靠,以适应工业领域的各种需求。而传统的工业以太网连接方式如图2所示,传统的工业以太网冗余网络中必须具备交换机和控制中心设备,常规工业以太网的交换机之间有多条路径可以传输数据,但采用的机制是只沿一个方向传输数据。控制中心设备监测到数据出错时,才校验网络拓扑的连接状况。当发现通信链路发送故障的时候,启动另外一条健全的通信链路,转换到这条新的通信链路进行数据传输。转换新的通信链路这整个过程必然需要时间。在这段时间内会导致数据无法进行正常通信,进而导致数据传输延时或者丢失,很显然通过这种传统传输方式,数据传输的可靠性较低。而本申请中的方案,直接通过具有交换机功能的网络型工业设备就能够组建工业以太网,不需要交换机和控制中心设备。且网络型工业设备在传输数据时是同时双向进行传输,即使当其中某一条链路发生故障后数据也能够及时有效地传输至接收终端。因此,本申请的方案不仅能够有效地提高数据传输的可靠性,还能够有效减少运维成本和资源利用。

在一个实施例中,如图3所示,提供了一种基于工业以太网的数据传输系统,包括发送终端302,接收终端304和中间终端306,其中:

发送终端302,用于获取数据包,通过发送终端的第一端口按照以太网链路向接收终端正向发送数据包,同时通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端向接收终端发送数据包。

中间终端306,用于接收发送终端发送的数据包,将数据包转发至以太网链路上的相邻中间终端和/或接收终端。

接收终端304,用于接收发送终端和/或与接收终端相邻的中间终端发送的数据包,当发送终端和接收终端之间的链路发生故障时,接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端发送的数据包。

工业以太网是以太网、TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议)等商用计算机通信领域的主流技术直接应用于工业控制现场设备间的通信,并在此基础上建立的应用于工业现场设备间通信的开放网络通信平台,适用于办公领域以及生产和过程自动化领域。发送终端与中间终端以及接收终端通过并行的两条链路连接组成双链路冗余环网。其中,每个终端都具有交换机功能,每个终端包括第一端口和第二端口,相邻两个终端的第一端口和第二端口通过以太网建立连接形成双向链路。发送终端可以通过冗余环网向对应的接收终端双向发送数据。进一步地,多个终端还可以通过以太网建立多条双向链路,多个终端还可以同时双向传输数据。其中,发送终端为冗余环网中需要将数据发送出去的其中一个终端,对应接收数据的目标设备为接收终端,在冗余环网中发送终端与接收终端之间的都为中间终端。其中,中间终端可以有多个,发送终端、中间终端和接收终端可以是相同的终端设备,也可以是不同的终端设备。

发送终端获取待传输的数据包,待传输的数据包可以是发送终端本身的数据包,也可以是其他设备发送的数据包。发送终端获取数据包后,通过发送终端的第一端口按照以太网链路向接收终端正向发送数据包,同时通过第二端口按照逆向的以太网链路经过至少一个中间终端向接收终端发送数据包。

例如,如图3中所示,发送终端可以将数据包按照“发送终端→接收终端”正向进行传输,直接将数据包发送至接收终端。发送终端同时还可以按照“发送终端→中间终端B→中间终端A→接收终端”逆向进行传输,将数据包发送至中间终端B后,由中间终端B转发至中间终端A,再由中间终端A将数据包转发给接收终端。由此发送终端能够通过双向传输有效地将数据包传输出去,接收终端也能够实时有效地接收到发送终端发送的数据包。

中间终端接收到发送终端发送的数据包后,对该数据包传输的目标地址标识进行验证。具体地,数据包中可以包括地址标识。例如,地址标识可以为MAC地址(Media Access Control,硬件地址)。中间终端通过验证该数据包的地址标识是否与中间终端自身的地址标识相匹配。当数据包的地址标识与中间终端的地址标识不相匹配时,验证通过,则将该数据包按照原始方向转发至以太网链路上的相邻中间终端和/或接收终端。

在另一个实施例中,基于工业以太网的数据传输系统还可以没有中间终端。当该系统中只有发送终端和接收终端时,发送终端获取数据包后,仍然通过发送终端的第一端口按照以太网链路向接收终端正向发送数据包,同时通过第二端口按照逆向的以太网链路向接收终端发送数据包。当发送终端和接收终端之间的其中一条链路发生故障时,发送终端仍然可以通过第二端口按照逆向的以太网链路向接收终端发送数据包。因此,即使发送终端和接收终端之间有链路发生故障后,接收终端也能够实时有效地接收到发送终端传输的数据包,进而有效地保证了数据传输的可靠性。

接收终端可以直接接收发送终端通过第一端口按照以太网链路正向发送的数据包,还可以接收发送终端通过第二端口按照逆向的以太网链路经过至少一个中间终端,由中间终端转发的数据包。当发送终端和接收终端之间的链路发生故障时,接收终端仍然可以接收到发送终端通过第二端口按照逆向的以太网链路经过至少一个中间终端,由中间终端转发的数据包。

例如,如图3中所示,在以太网链路正常的情况下,接收终端可以接收到发送终端按照“发送终端→接收终端”正向传输的数据包和发送终端按照“发送终端→中间终端B→中间终端A→接收终端”逆向传输的数据包。假如当发送终端和接收终端之间的链路发生故障时,接收终端仍然能够实时接收到发送终端按照“发送终端→中间终端B→中间终端A→接收终端”逆向传输的数据包。因此,即使发送终端和接收终端之间的链路发生故障后,接收终端也能够快速有效地接收到发送终端传输的数据包,从而有效地保证了数据传输的可靠性。

本实施例中,发送终端获取数据包后,通过发送终端的第一端口按照以太网链路向接收终端正向发送数据包,同时通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端向接收终端发送数据包。由此发送终端能够通过双向端口将数据发送至接收终端。中间终端接收发送终端发送的数据包后,将数据包转发至以太网链路上的相邻中间终端和/或接收终端。接收终端接收发送终端和/或与接收终端相邻的中间终端发送的数据包,当发送终端和接收终端之间的链路发生故障时,接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端发送的数据包。由此即使当发送终端和接收终端之间的链路发生故障后,接收终端也能够快速有效地接收到发送终端传输的数据,从而能够有效提高数据传输的可靠性。

在一个实施例中,数据包携带有标签,接收终端还用于对数据包的标签进行解析,利用解析后的标签对数据包进行验证,当验证未通过时,对所述数据包进行去重处理。

发送终端获取待传输的数据包后,对数据包添加标签。发送终端获取数据包后,通过发送终端的第一端口按照以太网链路向接收终端正向发送数据包,同时通过第二端口按照逆向的以太网链路经过至少一个中间终端向接收终端发送数据包。接收终端接收到数据包后,对数据包中携带的标签进行解析,并对解析后的标签进行重复性验证。当接收终端未接收到重复的标签时,表明接收终端只接收到一份该数据包,则表示验证通过,并对接收到的数据包进行下一步处理。进一步地,当接收终端接收到重复的标签时,表明接收终端接收到了两份重复的数据包,则表示验证未通过。因此需要将在后接收到的数据进行去重处理。具体地,接收终端可以直接将在后接收到的数据包丢弃。接收终端通过对接收到数据进行验证和去重处理,不仅有效地保证数据传输的可靠性,还有效地减少了接收终端的存储空间。

在一个实施例中,数据包的标签包括地址标识和序列码,中间终端还用于对数据包的标签中的地址标识进行验证,当地址标识与中间终端的地址标识不匹配时,将数据包转发至以太网链路上的相邻中间终端和/或接收终端;接收终端还用于根据数据包的标签解析出数据包的地址标识和序列码;当数据包的地址标识与接收终端的地址标识相匹配时,将序列码存储至缓存列表;判断缓存列表中是否有相同的序列码,当缓存列表中不存在相同的序列码时,对数据包中的数据进行处理;当缓存列表中存在相同的序列码时,删除序列码对应的数据包。

以太网链路上的发送终端、接收终端以及中间终端都有各自的地址标识。例如,地址标识可以为每个终端的MAC地址。发送终端获取待传输的数据包后,对数据包添加标签。其中,该数据包的标签包括与目标接收终端相对应的地址标识,用于识别数据包传输的接收终端。数据包的标签还包括序列码,用于接收终端接收到该数据包后,验证是否收到重复的数据包。进一步地,发送终端通过第一端口按照以太网链路向接收终端正向发送数据包,同时通过第二端口按照逆向的以太网链路经过至少一个中间终端向接收终端发送数据包。

中间终端接收到该数据包后,对数据包的标签进行解析。解析出地址标识后,对该地址表示进行验证,验证数据包标签中的地址标识是否与中间终端自身的地址标识相匹配。当数据包标签中的地址标识与中间终端自身的地址标识不匹配时,表示该数据包的传输终点不是该中间终端。因此中间终端就将该数据包按照原始传输方向转发出去,转发给以太网链路上相邻的下一个中间终端或者接收终端。当下一个中间终端接收到该数据包时,仍然对数据包中的地址标识进行验证,当数据包标签中的地址标识与该中间终端自身的地址标识不匹配时,继续将将该数据包按照原始传输方向转发出去,直到传输至接收终端。

进一步地,接收终端接收到该数据包后,对数据包的标签进行解析。由此能够解析出数据包的地址标识和序列码。接收终端首先判断该数据包的地址标识与接收终端自身的地址标识是否相匹配。当数据包的地址标识与接收终端的地址标识相匹配时,则表示接收终端为该数据包的传输终点。同时接收终端将该数据包的序列码存储至缓存列表中,并判断缓存列表中是否存在相同的序列码。当缓存列表中不存在相同的序列码时,表示接收终端在此之前没有接收过该数据包,接收终端就立即对该数据包中的数据进行处理。进一步地,当缓存列表中已经存在相同的序列码时,表示接收终端在此之前已经接收过该数据包了,接收终端则删除序列码对应的数据包。接收终端通过对接收到的重复数据包进行去重处理,有效地减少了接收终端的存储空间,从而有效地保证数据传输的可靠性。

在一个实施例中,如图4所示,提供了一种基于工业以太网的数据传输方法,包括以下步骤:

步骤402,发送终端获取数据包。

步骤404,通过发送终端的第一端口按照以太网链路向接收终端正向发送数据包。

步骤406,同时通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端将数据包转发至接收终端。

步骤408,当发送终端和接收终端之间的链路发生故障时,通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端将数据包转发至接收终端。

发送终端获取待传输的数据包,待传输的数据包可以是发送终端本身的数据包,也可以是其他设备发送的数据包。发送终端获取数据包后,通过发送终端的第一端口按照以太网链路向接收终端正向发送数据包,同时通过第二端口按照逆向的以太网链路经过至少一个中间终端,通过中间终端将数据包转发至接收终端。

例如,如图3中所示,发送终端可以将数据包按照“发送终端→接收终端”正向进行传输,直接将数据包发送至接收终端。发送终端同时还可以按照“发送终端→中间终端B→中间终端A→接收终端”逆向进行传输,将数据包发送至中间终端B后,由中间终端B转发至中间终端A,再通过中间终端A将数据包转发给接收终端。由此发送终端能够通过双向传输有效地将数据包传输出去,接收终端也能够实时有效地接收到发送终端发送的数据包。

进一步地,中间终端接收到发送终端发送的数据包后,对该数据包的指定地址标识进行验证。中间终端通过验证该数据包的指定地址标识是否是中间终端的地址标识。当数据包的的指定地址标识不是该中间终端的地址标识时,验证通过,则将该数据包按照原始方向转发至以太网链路上的相邻中间终端和/或接收终端。

进一步地,接收终端可以直接接收发送终端通过第一端口按照以太网链路正向发送的数据包,还可以接收发送终端通过第二端口按照逆向的以太网链路经过至少一个中间终端,由中间终端转发的数据包。当发送终端和接收终端之间的链路发生故障时,接收终端仍然可以接收到发送终端通过第二端口按照逆向的以太网链路经过至少一个中间终端,由中间终端转发的数据包。

例如,如图3中所示,在以太网链路正常的情况下,接收终端可以接收到发送终端按照“发送终端→接收终端”正向传输的数据包和发送终端按照“发送终端→中间终端B→中间终端A→接收终端”逆向传输的数据包。假如当发送终端和接收终端之间的链路发生故障时,接收终端仍然能够实时接收到发送终端按照“发送终端→中间终端B→中间终端A→接收终端”逆向传输的数据包。因此,即使发送终端和接收终端之间的链路发生故障后,接收终端也能够快速有效地接收到发送终端传输的数据包,从而有效地保证了数据传输的可靠性。

本实施例中,发送终端获取数据包后,通过发送终端的第一端口按照以太网链路向接收终端正向发送数据包。同时通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端将数据包转发至接收终端。由此发送终端能够同时将数据包进行双向传输,有效地提高了数据传输的可靠性。当发送终端和接收终端之间的链路发生故障时,继续执行通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端将数据包转发至接收终端的步骤。因此,即使当发送终端和接收终端之间的链路发生故障时,接收终端也能够实时有效地接收到发送终端传输的数据,从而有效地保证了数据传输的可靠性。

在一个实施例中,该方法还包括:对数据包添加对应的标签;根据标签对数据包添加序列码;该序列码用于接收终端对接收到的数据包进行验证,当验证未通过时,对数据包进行去重处理。

发送终端获取待传输的数据包后,对数据包添加对应的标签,并根据标签对数据包添加序列码。其中,序列码可以是按照预设方式生成的,且每个数据包对应的序列码不同。发送终端对数据包添加序列码后,就通过发送终端的第一端口按照以太网链路向接收终端正向发送数据包,同时通过第二端口按照逆向的以太网链路经过至少一个中间终端,通过中间终端向接收终端转发该数据包。

接收终端接收到数据包后,对数据包中携带的标签进行解析,解析出该数据包对应的序列码。序列码用于接收终端对接收到的数据包进行验证,当验证未通过时,对数据包进行去重处理。具体地,接收终端将该数据包的序列码存储至缓存列表中,并判断缓存列表中是否存在相同的序列码。当缓存列表中不存在相同的序列码时,表示接收终端在此之前没有接收过该数据包,接收终端就立即对该数据包中的数据进行处理。进一步地,当缓存列表中已经存在相同的序列码时,表示接收终端在此之前已经接收过该数据包了,接收终端则删除序列码对应的数据包。接收终端通过对接收到的重复数据包进行去重处理,有效地减少了接收终端的存储空间,从而有效地保证数据传输的可靠性。

在一个实施例中,如图5所示,提供了一种基于工业以太网的数据传输方法,包括以下步骤:

步骤502,接收终端接收通过发送终端的第一端口按照以太网链路向接收终端正向发送的数据包。

步骤504,接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端转发的数据包。

步骤506,当发送端和所述接收端之间的链路发生故障时,接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端转发的数据包。

发送终端获取待传输的数据包后,通过发送终端的第一端口按照以太网链路向接收终端正向发送数据包,同时通过第二端口按照逆向的以太网链路经过至少一个中间终端,通过中间终端将数据包转发至接收终端。

进一步地,中间终端接收到发送终端发送的数据包后,对该数据包的指定地址标识进行验证。中间终端通过验证该数据包的指定地址标识是否是中间终端的地点标识。当数据包的的指定地址标识不是该中间终端的地址标识时,验证通过,则将该数据包按照原始方向转发至以太网链路上的相邻中间终端和/或接收终端。

接收终端可以直接接收发送终端通过第一端口按照以太网链路正向发送的数据包,还可以接收发送终端通过第二端口按照逆向的以太网链路经过至少一个中间终端,由中间终端转发的数据包。当发送终端和接收终端之间的链路发生故障时,接收终端仍然可以接收到发送终端通过第二端口按照逆向的以太网链路经过至少一个中间终端,由中间终端转发的数据包。

例如,如图3中所示,在以太网链路正常的情况下,接收终端可以接收到发送终端按照“发送终端→接收终端”正向传输的数据包和发送终端按照“发送终端→中间终端B→中间终端A→接收终端”逆向传输的数据包。假如当发送终端和接收终端之间的链路发生故障时,接收终端仍然能够实时接收到发送终端按照“发送终端→中间终端B→中间终端A→接收终端”逆向传输的数据包。因此,即使发送终端和接收终端之间的链路发生故障后,接收终端也能够快速有效地接收到发送终端传输的数据包,从而有效地保证了数据传输的可靠性。

本实施例中,接收终端接收通过发送终端的第一端口按照以太网链路向接收终端正向发送的数据包,并接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端转发的数据包。由此使得接收终端能够实时有效地接收到发送终端通过双向传输的数据。当发送端和所述接收端之间的链路发生故障时,接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端转发的数据包。因此,即使当发送终端和接收终端之间的链路发生故障时,接收终端也能够实时有效地接收到发送终端传输的数据,从而有效地保证了数据传输的可靠性。

在一个实施例中,该方法还包括:对数据包的标签进行解析;利用解析后的标签对数据包进行验证;当验证未通过时,对数据包进行去重处理。

发送终端获取待传输的数据包后,对数据包添加标签。发送终端获取数据包后,通过发送终端的第一端口按照以太网链路向接收终端正向发送数据包,同时通过第二端口按照逆向的以太网链路经过至少一个中间终端向接收终端发送数据包。接收终端接收到数据包后,对数据包中携带的标签进行解析,并对解析后的标签进行重复性验证。当接收终端未接收到重复的标签时,表明接收终端只接收到一份该数据包,则表示验证通过,并对接收到的数据包进行下一步处理。进一步地,当接收终端接收到重复的标签时,表明接收终端接收到了两份重复的数据包,则表示验证未通过。因此需要将在后接收到的数据进行去重处理。具体地,接收终端可以直接将在后接收到的数据包丢弃。接收终端通过对接收到数据进行验证和去重处理,不仅有效地保证数据传输的可靠性,还有效地减少了接收终端的存储空间。

在一个实施例中,利用解析后的标签对数据包进行验证的步骤包括:根据数据包的标签解析出数据包的地址标识和序列码;当数据包的地址标识与接收终端的地址标识相匹配时,将序列码存储至缓存列表。判断缓存列表中是否存在相同的序列码,当缓存列表中不存在相同的序列码时,对数据包中的数据进行处理;当缓存列表中存在相同的序列码时,删除序列码对应的数据包。

发送终端获取待传输的数据包后,对数据包添加标签。其中,该数据包的标签包括与目标接收终端相对应的地址标识,用于识别数据包传输的接收终端。数据包的标签还包括序列码,用于接收终端接收到该数据包后,验证是否收到重复的数据包。进一步地,发送终端通过第一端口按照以太网链路向接收终端正向发送数据包,同时通过第二端口按照逆向的以太网链路经过至少一个中间终端向接收终端发送数据包。

接收终端接收到该数据包后,通过对数据包的标签进行解析。由此能够解析出数据包的地址标识和序列码。接收终端首先判断该数据包的地址标识与接收终端自身的地址标识是否相匹配。当数据包的地址标识与接收终端的地址标识相匹配时,则表示接收终端为该数据包的传输终点。同时接收终端将该数据包的序列码存储至缓存列表中,并判断缓存列表中是否存在相同的序列码。当缓存列表中不存在相同的序列码时,表示接收终端在此之前没有接收过该数据包,接收终端就立即对该数据包中的数据进行处理。进一步地,当缓存列表中已经存在相同的序列码时,表示接收终端在此之前已经接收过该数据包了,接收终端则删除序列码对应的数据包。接收终端通过对接收到的重复数据包进行去重处理,有效地减少了接收终端的存储空间,从而有效地保证数据传输的可靠性。

应该理解的是,虽然图4-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图4-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,提供了一种通信设备,该通信设备可以是终端,其内部结构图可以如图6所示。该通信设备包括通过系统总线连接的处理器、存储器、网络接口。其中,该通信设备的处理器用于提供计算和控制能力。该通信设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该通信设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于工业以太网的数据传输方法。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的通信设备的限定,具体的通信设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种通信设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

发送终端获取数据包;

通过发送终端的第一端口按照以太网链路向接收终端正向发送数据包;

同时通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端将数据包转发至接收终端;

当发送终端和接收终端之间的链路发生故障时,继续执行通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端将数据包转发至接收终端的步骤。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:对数据包添加对应的标签;根据标签对数据包添加序列码;该序列码用于接收终端对接收到的数据包进行验证,当验证未通过时,对数据包进行去重处理。

在一个实施例中,提供了一种通信设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

接收终端接收通过发送终端的第一端口按照以太网链路向接收终端正向发送的数据包;

接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端转发的数据包;

当发送端和所述接收端之间的链路发生故障时,接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端转发的数据包。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:对数据包的标签进行解析;利用解析后的标签对数据包进行验证;当验证未通过时,对数据包进行去重处理。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据数据包的标签解析出数据包的地址标识和序列码;当数据包的地址标识与接收终端的地址标识相匹配时,将序列码存储至缓存列表。判断缓存列表中是否存在相同的序列码,当缓存列表中不存在相同的序列码时,对数据包中的数据进行处理;当缓存列表中存在相同的序列码时,删除序列码对应的数据包。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

发送终端获取数据包;

通过发送终端的第一端口按照以太网链路向接收终端正向发送数据包;

同时通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端将数据包转发至接收终端;

当发送终端和接收终端之间的链路发生故障时,继续执行通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端将数据包转发至接收终端的步骤。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对数据包添加对应的标签;根据标签对数据包添加序列码;该序列码用于接收终端对接收到的数据包进行验证,当验证未通过时,对数据包进行去重处理。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

接收终端接收通过发送终端的第一端口按照以太网链路向接收终端正向发送的数据包;

接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端转发的数据包;

当发送端和所述接收端之间的链路发生故障时,接收通过发送终端的第二端口按照逆向以太网链路经过至少一个中间终端,通过中间终端转发的数据包。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对数据包的标签进行解析;利用解析后的标签对数据包进行验证;当验证未通过时,对数据包进行去重处理。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据数据包的标签解析出数据包的地址标识和序列码;当数据包的地址标识与接收终端的地址标识相匹配时,将序列码存储至缓存列表。判断缓存列表中是否存在相同的序列码,当缓存列表中不存在相同的序列码时,对数据包中的数据进行处理;当缓存列表中存在相同的序列码时,删除序列码对应的数据包。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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