数据传输方法及装置与流程

文档序号:12182596阅读:285来源:国知局
数据传输方法及装置与流程

本发明涉及通信领域,具体而言,涉及数据传输方法及装置。



背景技术:

在目前的网际协议(Internet Protocol,简称为IP)网络中,流量(即数据)都是以封装在IP报文头的数据包的格式在网络中传输。为了保障流量传输的可靠性,所有运营商网络和企业网络中,基本上都部署了主备链路保护。通过主备链路的保护,基本可以保证流量的可靠传输。但是,当运营商和企业有主备割接需求或测试主备切换时,会发生数据丢包。相关技术中,如果是通过拔光纤割接切换主备,光纤在物理层面上断开切换是无法保证流量不丢包的。在网络的流量割接到备链路上时,大多数运营商和企业都希望上下行流量都不丢包。

针对相关技术中链路切换过程中会产生数据丢包的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明提供了数据传输方法及装置,以解决相关技术中链路切换过程中会产生数据丢包的问题。

根据本发明的一个方面,提供了一种数据传输方法,包括:确定第一预定时间内未从第一链路上接收到第一网元发送的第一数据,其中,所述第一链路还用于向所述第一网元发送第二数据;利用第二链路发送所述第二数据;在利用所述第二链路发送所述第二数据后,停止利用所述第一链路发送所述第二数据。

可选地,停止利用所述第一链路发送所述第二数据包括:关闭所述第一链路的用于发送所述第二数据的激光器。

可选地,在确定第一预定时间内未从所述第一链路上接收到所述第一网元发送的所述第一数据之后,还包括:关闭所述第一链路的用于接收所述第一数据的激光器。

根据本发明的另一个方面,还提供了一种数据传输方法,包括:在利用第一链路向第二网元发送第一数据时,确定需要利用第二链路向所述第二网元发送所述第一数据;利用所述第二链路向所述第二网元发送所述第一数据;在利用所述第二链路发送所述第一数据后,停止利用所述第一链路发送所述第一数据。

可选地,停止利用所述第一链路发送所述第一数据包括:关闭所述第一链路的用于 发送所述第一数据的激光器。

可选地,所述第一链路还用于接收所述第二网元发送的第二数据,在利用所述第二链路向所述第二网元发送所述第一数据之后,还包括:确定第二预定时间内未从所述第一链路上接收到所述第二网元发送的所述第二数据;停止利用所述第一链路接收所述第二网元发送的所述第二数据。

可选地,停止利用所述第一链路接收所述第二网元发送的所述第二数据包括:关闭所述第一链路的用于接收所述第二数据的激光器。

根据本发明的一个方面,还提供了一种数据传输装置,包括:第一确定模块,用于确定第一预定时间内未从第一链路上接收到第一网元发送的第一数据,其中,所述第一链路还用于向所述第一网元发送第二数据;第一发送模块,用于利用第二链路发送所述第二数据;第一停止模块,用于在利用所述第二链路发送所述第二数据后,停止利用所述第一链路发送所述第二数据。

可选地,所述第一停止模块包括:第一关闭单元,用于关闭所述第一链路的用于发送所述第二数据的激光器。

可选地,所述装置还包括:关闭模块,用于在确定第一预定时间内未从所述第一链路上接收到所述第一网元发送的所述第一数据之后,关闭所述第一链路的用于接收所述第一数据的激光器。

根据本发明的一个方面,还提供了一种数据传输装置,包括:第二确定模块,用于在利用第一链路向第二网元发送第一数据时,确定需要利用第二链路向所述第二网元发送所述第一数据;第二发送模块,用于利用所述第二链路向所述第二网元发送所述第一数据;第二停止模块,用于在利用所述第二链路发送所述第一数据后,停止利用所述第一链路发送所述第一数据。

可选地,所述第二停止模块包括:第二关闭单元,用于关闭所述第一链路的用于发送所述第一数据的激光器。

可选地,所述装置还包括:第三确定模块,用于在利用所述第二链路向所述第二网元发送所述第一数据之后,确定第二预定时间内未从所述第一链路上接收到所述第二网元发送的第二数据,其中,所述第一链路还用于接收所述第二网元发送的所述第二数据;第三停止模块,用于停止利用所述第一链路接收所述第二网元发送的所述第二数据。

可选地,所述第三停止模块包括:第三关闭单元,用于关闭所述第一链路的用于接收所述第二数据的激光器。

通过本发明,采用确定第一预定时间内未从第一链路上接收到第一网元发送的第一数据,其中,所述第一链路还用于向所述第一网元发送第二数据;利用第二链路发送所述第二数据;在利用所述第二链路发送所述第二数据后,停止利用所述第一链路发送所 述第二数据的方法,通过第二链路发送第二数据之前,确定在第一预定时间内未从第一链路上接收到第一数据,进而停止利用第一链路发送第二数据,可以保证在利用第二链路发送数据之前,第一链路上的数据被不丢包的接收,解决了相关技术中链路切换过程中会产生数据丢包的问题,进而达到了主备链路切换过程中数据完整传输的技术效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的数据传输方法的流程图一;

图2是根据本发明实施例的数据传输方法的流程图二;

图3是根据本发明实施例的数据传输装置的结构框图一;

图4是根据本发明实施例数据传输装置中第一停止模块36的结构框图;

图5是根据本发明实施例的数据传输装置的可选结构框图一;

图6是根据本发明实施例的数据传输装置的结构框图二;

图7是根据本发明实施例的数据传输装置中第二停止模块66的结构框图;

图8是根据本发明实施例的数据传输装置的可选结构框图二;

图9是根据本发明实施例的数据传输装置中第三停止模块84的结构框图;

图10是根据本发明实施例的主备链路保护场景图;

图11是根据本发明实施例的本端发光由主链路切换到备链路的方法的流程图;

图12是根据本发明实施例的对端发光由主链路切换到备链路的方法的流程图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种数据传输方法,图1是根据本发明实施例的数据传输方法的流程图一,如图1所示,该流程包括如下步骤:

步骤S102,确定第一预定时间内未从第一链路上接收到第一网元发送的第一数据,其中,第一链路还用于向第一网元发送第二数据;

步骤S104,利用第二链路发送第二数据;

步骤S106,在利用第二链路发送第二数据后,停止利用第一链路发送第二数据。

通过上述步骤,确定第一预定时间内未从第一链路上接收到第一网元发送的第一数据,其中,第一链路还用于向第一网元发送第二数据,即说明了在第一链路上检测不到第一网元发送的第一数据,第一链路可能存在问题,需要采用其他的链路与第一网元进行数据传输,此时需要切换链路,因此,可以利用替换链路,即第二链路发送第二数据;在利用第二链路发送第二数据后,停止利用第一链路发送第二数据,可以保证在链路切换完成后,在第一链路上发送的数据被接收完毕后,再关闭第一链路上的数据发送。从而解决了相关技术中链路切换过程中会产生数据丢包的问题,进而达到了主备链路切换过程中数据完整传输的技术效果。在本实施例中,第一链路可以为主用链路,第二链路为备用链路,也可以是第一链路为备用链路,第二链路为主用链路。如果存在不止一条备用链路,第一链路和第二链路也可以都为备用链路。

在一个可选实施例中,步骤S106中停止利用第一链路发送第二数据可以包括:关闭第一链路的用于发送第二数据的激光器。在本可选实施例中,利用激光器进行数据的发送,可以为关闭激光器的发光功能(即,激光器可以同时具备收光功能和发光功能),也可以为关闭相应的发光激光器(即,激光器为仅具备收光功能的激光器,或者为仅具备发光功能的激光器)。

在一个可选的实施例中,步骤S102之后,上述数据传输方法还可以包括:关闭第一链路的用于接收第一数据的激光器。在确定第一预定时间内未从第一链路上接收到第一网元发送的第一数据,可以得到在第一预定时间内第一网元未利用第一链路进行数据发送,从而将第一链路的用于接收数据的激光器关闭,可以保障在第一链路上发送的数据已经被全部接收,不会产生数据丢包。在本可选实施例中,利用激光器进行数据的接收,可以为关闭激光器的收光功能,也可以为关闭相应的收光激光器。

本发明实施例中还提供了一种数据传输方法,图2是根据本发明实施例的数据传输方法的流程图二,如图2所示,该方法包括:

步骤S202,在利用第一链路向第二网元发送第一数据时,确定需要利用第二链路向第二网元发送第一数据;

步骤S204,利用第二链路向第二网元发送第一数据;

步骤S206,在利用第二链路发送第一数据后,停止利用第一链路发送第一数据。

通过上述步骤,在利用第一链路向第二网元发送第一数据时,确定需要利用第二链路向第二网元发送第一数据,即说明了确定进行链路切换,原来利用第一链路发送第一数据,现在利用第二链路发送第一数据;利用第二链路向第二网元发送第一数据,即说明了链路切换成功;在利用第二链路发送第一数据后,停止利用第一链路发送第一数据, 即说明了在链路切换完成后,再停止第一链路的第一数据的发送,保证第一链路上的数据发送在切换过程中不受影响,解决了相关技术中链路切换过程中会产生数据丢包的问题,进而达到了主备链路切换过程中数据完整传输的技术效果。在本实施例中,第一链路可以为主用链路,第二链路为备用链路,也可以是第一链路为备用链路,第二链路为主用链路。如果存在不止一条备用链路,第一链路和第二链路也可以都为备用链路。

在一个可选实施例中,步骤S206中停止利用第一链路发送第一数据可以包括:关闭第一链路的用于发送第一数据的激光器。在本可选实施例中,利用激光器进行数据的发送,可以为关闭激光器的发光功能,也可以为关闭相应的发光激光器。

在一个可选实施例中,第一链路还用于接收第二网元发送的第二数据,在步骤S204之后,上述数据发送方法还可以包括:确定第二预定时间内未从第一链路上接收到第二网元发送的第二数据;停止利用第一链路接收第二网元发送的第二数据。在本可选实施例中,在第二预定时间内未从第一链路上接收到第二数据,即说明第一链路上的数据已经全部接收完毕,可以保证第一链路上的数据全部接收完毕,不会丢包。

在一个可选实施例中,上述可选实施例中停止利用第一链路接收第二网元发送的第二数据可以包括:关闭第一链路的用于接收第二数据的激光器。在本可选实施例中,利用激光器进行数据的接收,可以为关闭激光器的收光功能,也可以为关闭相应的收光激光器。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

在本实施例中还提供了数据传输装置,本实施例中数据传输装置用于实现上述实施例及可选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图3是根据本发明实施例的数据传输装置的结构框图一,如图3所示,该装置包括第一确定模块32、第一发送模块34和第一停止模块36,下面对该装置进行说明。

第一确定模块32,用于确定第一预定时间内未从第一链路上接收到第一网元发送的第一数据,其中,第一链路还用于向第一网元发送第二数据;第一发送模块34,连接于上述第一确定模块32,用于利用第二链路发送第二数据;第一停止模块36,连接于上述第一发送模块34,用于在利用第二链路发送第二数据后,停止利用第一链路发送第二数据。

图4是根据本发明实施例数据传输装置中第一停止模块36的结构框图,如图4所示,第一停止模块36包括:第一关闭单元42,下面对第一停止模块26进行说明。

第一关闭单元42,用于关闭第一链路的用于发送第二数据的激光器。

图5是根据本发明实施例的数据传输装置的可选结构框图一,如图5所示,该装置除包括图3所示的所有模块外,还包括关闭模块52,下面对该装置进行说明。

关闭模块52,连接于上述第一确定模块32,用于在确定第一预定时间内未从所述第一链路上接收到所述第一网元发送的所述第一数据之后,关闭第一链路的用于接收第一数据的激光器。

本发明实施例还提供了一种数据传输装置,图6是根据本发明实施例的数据传输装置的结构框图二,如图6所示,该装置包括:第二确定模块62、第二发送模块64和第二停止模块66,下面对该装置进行说明。

第二确定模块62,用于在利用第一链路向第二网元发送第一数据时,确定需要利用第二链路向第二网元发送第一数据;第二发送模块64,连接至上述第二确定模块62,用于利用第二链路向第二网元发送第一数据;第二停止模块66,连接至上述第二发送模块64,用于在利用第二链路发送第一数据后,停止利用第一链路发送第一数据。

图7是根据本发明实施例的数据传输装置中第二停止模块66的结构框图,如图7所示,第二停止模块66包括:第二关闭单元72,下面对该装置进行说明。

第二关闭单元72,用于关闭第一链路的用于发送第一数据的激光器。

图8是根据本发明实施例的数据传输装置的可选结构框图二,如图8所示,该装置除包括图6所示的所有模块外,还包括第三确定模块82和第三停止模块84,下面对该装置进行说明。

第三确定模块82,连接于上述第二发送模块64,用于在利用所述第二链路向所述第二网元发送所述第一数据之后,确定第二预定时间内未从第一链路上接收到第二网元发送的第二数据,其中,第一链路还用于接收第二网元发送的第二数据;第三停止模块84,连接于上述第三确定模块82,用于停止利用第一链路接收第二网元发送的第二数据。

图9是根据本发明实施例的数据传输装置中第三停止模块84的结构框图,如图9所示,第三停止模块84包括第三关闭单元92,下面对该第三停止模块84进行说明。

第三关闭单元92,用于关闭第一链路的用于接收第二数据的激光器。

下面以上述第一链路为主链路,第二链路为备链路为例,对本发明进行说明:

本发明实施例采用的技术方案大体如下:

1、shutdown流量主链路(即上述实施例中的第一链路)端口时,通过延迟关闭激 光器发光,而流量仍从主链路发出去,在这段延迟时间内通过shutdown命令触发主备切换,让流量切换到备链路(即上述实施例中的第二链路)后,再将本端(即上述实施例中第一网元)激光器发光关闭,从而保证本端上行(即从本端到对端,从第一网元到第二网元)流量零丢包,其中,上述本端(即第一网元)可以是路由器,也可以是交换机。备链路激光器的收光及发光在进行主备链路切换时始终保持打开状态,从而保证主备链路切换过程中不影响数据发送和接收。

2、shutdown流量主链路端口后,待本端激光器发光关闭后,对端(即上述实施例中的第二网元)收不到光后,先延迟通知对端激光器发光关闭,保证对端下行流量仍能够从主链路上发出来,在这段延迟时间内通知主备切换,让流量切换到备链路后,再将激光器发光关闭,从而保证对端下行流量零丢包,其中,上述对端(即第二网元)可以是路由器,也可以是交换机。从而实现了双向(上行和下行)流量不丢包。

图10是根据本发明实施例的主备链路保护场景图,如图10所示,双向流量通过两台交换机或路由器,两台路由器(也可以是两台交换机)之间通过两对光纤链接(每对光纤分别对应于上述的第一链路和第二链路),每对光纤有两根光纤,一根发,一根收,在物理层激光器通过本地发光纤把光从本端发到对端,而对端也是通过激光器把光从本地发光光纤发到对端,对端收到流量后再转发出去。

图11是根据本发明实施例的本端发光由主链路切换到备链路的方法的流程图,如图11所示,该方法包括以下步骤:

步骤S1102,当shutdown本端主链路时,在交换机或路由器上通过延迟下发shutdown命令给物理端口,让端口的激光器发光和收光都暂缓关闭,此时在交换机或路由器内部将流量的路由或者出接口切换到备链路的出口,将流量引到备链路上来,从而实现上行流量不丢包;

步骤S1104,在流量引到备链路上后,才将激光器发光关闭,同时主链路的收光仍保持收光状态,不让端口的收关闭,保证可以从对端收到流量;

步骤S1106,在预定时间内对端都没有收到光后,对端激光器收光关闭。

在实际操作过程中,由于本端激光器发光端与对端激光器收光端是通过一根光纤连接的,所以,在本端激光器发光关闭后,对端激光器能够检测到光纤链路中没有光,从而可以关闭对端激光器收光。

图12是根据本发明实施例的对端发光由主链路切换到备链路的方法的流程图,如图12所示,该方法包括如下步骤:

步骤S1202,当本端激光器发光关闭,对端不再收到光后,对端也延迟关闭激光器发光,于是下行流量仍然可以从主链路发到本端来,同时通知交换机或路由器进行主备切换;

步骤S1204,当流量完全切换到备链路后再关闭对端激光器发光;

步骤S1206,关闭本端激光器收光;

通过步骤S1202至步骤S1206就保证了下行流量也实现了零丢包。

在图11和图12所示的步骤进行完后,双向激光器都关闭,接着将两边端口完全关闭(down)掉。

采用本发明实施例中步骤S1102至步骤S1106及步骤S1202至步骤S1206所述的方法,不仅能实现shutdown本端端口的上行流量不丢包,也可以实现对端的下行流量也不丢包。

上述实施例中图11和图12给出了两大应用场景的通用实施方式,即交换机和路由器两种场景,而交换机和路由器的主备链路之间的保护又可分为聚合组主备,路由主备,隧道热备份(hot-standby,简称为HSB)等场景的保护。下面结合附图对技术方案的实施作进一步的详细描述。

场景1:

硬件模块部分包括:两台交换机,交换机之间用两对光纤连接,配置聚合组进行主备保护,如图10所示。

流程部分的处理步骤如下:

如图11所示,交换机上配好聚合组形成主备关系,确认流量从主链路上走后,shutdown本端链路端口,延迟关闭本端激光器发光,聚合组主链路状态仍保持为主,让流量仍从主发出去,而交换机内部则通过软件进行聚合组切换,切换完成后,也就是原来聚合组的备变为主后,再让流量再从备链路发出去,从而做到上行流量不丢包,最后再关闭本端激光器发光和对端激光器收光。下行不丢包的做法如图12所示,当对端激光器收光关闭后,延迟关闭对端激光器发光,让流量仍从主链路发出去,而在交换机内部通知聚合组进行主备切换,当原来的备链路变为新的主链路后,再让流量切换过来,从而保证下行流量也不丢包。最后关闭对端激光器发光和本端激光器收光,让两边端口都down掉。

场景2:

硬件模块部分包括:两台路由器,路由器之间用两对光纤连接,配置路由主备进行主备保护,如图10所示。

流程部分的处理步骤如下:

如图11所示,路由器上配好路由形成主备关系,确认流量从主链路上走后,shutdown 本端链路端口,延迟关闭本端激光器发光,路由主链路状态仍保持为主,让流量仍从主发出去,而路由器内部则通过软件进行路由主备切换,切换完成后,也就是原来路由的备变为主后,再让流量再从备链路发出去,从而做到上行流量不丢包,最后再关闭本端激光器发光和对端激光器收光。下行不丢包的做法如图12所示,当对端激光器收光关闭后,延迟关闭对端激光器发光,让流量仍从主链路发出去,而在路由器内部通知路由进行主备切换,当原来的备链路变为新的主链路后,再让流量切换过来,从而保证下行流量也不丢包。最后关闭对端激光器发光和本端激光器收光,让两边端口都down掉。

场景3:

硬件模块部分包括:两台路由器,路由器之间用两对光纤连接,配置隧道HSB进行主备保护,如图10所示。

流程部分的处理步骤如下:

如图11所示,路由器上配好隧道HSB形成主备关系,确认流量从主链路上走后,shutdown本端链路端口,延迟关闭本端激光器发光,隧道HSB主链路状态仍保持为主,让流量仍从主发出去,而路由器内部则通过软件进行隧道HSB切换,切换完成后,也就是原来隧道HSB的备链路变为主链路后,再让流量再从备链路发出去,从而做到上行流量不丢包,最后再关闭本端激光器发光和对端激光器收光。下行不丢包的做法如图12所示,当对端激光器收光关闭后,延迟关闭对端激光器发光,让流量仍从主链路发出去,而在路由器内部通知聚合组进行主备切换,当原来的备链路变为新的主链路后,再让流量切换过来,从而保证下行流量也不丢包。最后关闭对端激光器发光和本端激光器收光,让两边端口都down掉。

本实施例在不同场景中详细的主备链路切换流程,采用本实施例中的在主备链路切换完成后再关闭本端或者对端激光器发光的方法,可以保证原主链路中的流量不丢包的达到对端或者本端,实现了主备链路切换过程中的流量不丢包。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

S1,确定第一预定时间内未从第一链路上接收到第一网元发送的第一数据,其中,第一链路还用于向第一网元发送第二数据;

S2,利用第二链路发送第二数据;

S3,在利用第二链路发送第二数据后,停止利用第一链路发送第二数据。

可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:

S1,在利用第一链路向第二网元发送第一数据时,确定需要利用第二链路向第二网元发送第一数据;

S2,利用第二链路向第二网元发送第一数据;

S3,在利用第二链路发送第一数据后,停止利用第一链路发送第一数据。

可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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