一种多通道主备链路快速切换方法和系统与流程

文档序号:18639170发布日期:2019-09-11 22:45阅读:1557来源:国知局
一种多通道主备链路快速切换方法和系统与流程

本发明涉及网络技术领域,尤其涉及一种多通道主备链路快速切换方法和系统。



背景技术:

系统之间数据通信过程中,往往由于网络原因或者其它不可控因素,造成数据通信中断,数据丢失。对于数据安全性、时效性要求较高的应用,数据传输中断、数据丢失是不允许的。为了有效控制这种不安全因素的发生,通常采用多链路主备方式,进行预防控制。但是在主备链路的选取以及切换过程中,存在备用链路选取不到或者选取的备用链路不是最佳的备用链路,选取备用链路的方法复杂,主备链路切换时间长、过程复杂等问题,因此,为解决上述问题,本发明提供一种简单、高效的多通道主备链路快速切换方法和系统。



技术实现要素:

有鉴于此,本发明提出了一种简单、高效的多通道主备链路快速切换方法和系统。

本发明的技术方案是这样实现的:一方面,本发明提供了一种多通道主备链路快速切换方法,包括以下步骤:

s1、将各条链路的链路名称、链路状态和链路级别存储在全局变量map集合中,其中,链路状态包括断开状态、活动中状态和通信中状态,各链路的初始链路状态为断开状态;

s2、各条链路进行tcp请求连接到通信端,连接建立成功的链路进入主备链路选取阶段,并将链路状态更改为活动中状态,进行下一步;连接建立失败的链路重复s2直到连接建立成功;

s3、轮询取出全局变量map集合中所有的链路,选取s2中链路状态为活动中状态且链路级别最高的链路为主链路;

s4、主链路自身读取到链路状态为通信中状态时,开始与对端通信;当主链路在通信过程中出现异常时,其链路状态更改为断开状态,并将该链路信息从全局变量map集合中删除,从剩余的链路状态为活动中状态的链路中选取链路级别最高的链路为备用链路;

s5、重复步骤s2-s4,选用链路状态为活动中状态且链路级别最高的链路为主链路。

在以上技术方案的基础上,优选的,s1中链路级别分为1-15级,最高级别为1,最低级别为15。

进一步优选的,s3中轮询时间为5s。

进一步优选的,s3还包括以下步骤:

s301、当全局变量map集合中存在链路状态为通信中状态的链路时且级别最高,以该链路为主链路;

s302、当全局变量map集合中没有链路状态为通信中状态的链路时,选取s2中链路状态为活动中状态且链路级别最高的链路为主链路。

进一步优选的,s4还包括以下步骤:

s401、主链路自身读取到链路状态为通信中状态时,开始与对端通信,其它链路状态不变且保持与对端的心跳;

s402、当心跳应答超时,说明该链路断开,其链路状态变为断开状态,并且重复s2步骤。

进一步优选的,s401中其它链路保持与对端的心跳的时间为大于或等于20s;

s402中心跳应答超时的标准为应答时间超过15s。

进一步优选的,s402中链路断开的时间不超过50s。

另一方面,一种多通道主备链路快速切换系统,包括主备链路监控模块、配置策略模块、存储器和多条链路;

配置策略模块配置各条链路的级别和状态;

主备链路监控模块实时监控各条链路的链路状态,根据各链路状态和级别选取主链路;

存储器存储各条链路的名称、级别和状态,以及主备链路监控模块选取的结果。

进一步优选的,链路状态包括断开状态、活动中状态和通信中状态,各链路的初始链路状态为断开状态;

链路级别分为1-15级,最高级别为1,最低级别为15。

进一步优选的,主备链路监控模块选取各链路状态为活动中且链路级别最高的链路为主链路。

本发明的一种多通道主备链路快速切换方法和系统相对于现有技术具有以下有益效果:

(1)为每条链路设置唯一不可变的链路级别,并且实时监测各链路的状态,选出链路状态为活动中并且链路级别最高的链路最高的链路为主链路,简化了主备链路的选取规则;

(2)配置至少一条除主要链路外的有效备用链路,当主要链路通信中断,本模块快速启用备用链路进行传输,且保证数据传输的连续性;当主链路恢复正常,备用链路自动退出主链路级别恢复备用状态。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一种多通道主备链路快速切换方法的流程图;

图2为本发明一种多通道主备链路快速切换方法中s3的进一步步骤;

图3为本发明一种多通道主备链路快速切换方法中s4的进一步步骤;

图4为本发明一种多通道主备链路快速切换系统的结构图。

具体实施方式

下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。

实施例一、

如图1所示,本发明的一种多通道主备链路快速切换方法,包括以下步骤:

s1、将各条链路的链路名称、链路状态和链路级别存储在全局变量map集合中,其中,链路状态包括断开状态、活动中状态和通信中状态,各链路的初始链路状态为断开状态;

其中,s1中链路级别分为1-15级,最高级别为1,最低级别为15,链路的级别是有人为配置,每条链路只有唯一的一个级别,并且不会改变。

s2、各条链路进行tcp请求连接到通信端,连接建立成功的链路进入主备链路选取阶段,并将链路状态更改为活动中状态,进行下一步;连接建立失败的链路重复s2直到连接建立成功;

其中,tcp的连接建立过程又称为tcp三次握手。首先发送方主机向接收方主机发起一个建立连接的同步(syn)请求;接收方主机在收到这个请求后向送方主机回复一个同步/确认(syn/ack)应答;发送方主机收到此包后再向接收方主机发送一个确认(ack),此时tcp连接成功建立。

s3、轮询取出全局变量map集合中所有的链路,选取s2中链路状态为活动中状态且链路级别最高的链路为主链路;

其中,轮询时间为5s,即每隔5s轮询一次。

如图2所示,在这一步骤中还包括以下步骤:

s301、当全局变量map集合中存在链路状态为通信中状态的链路时且级别最高,以该链路为主链路;

s302、当全局变量map集合中没有链路状态为通信中状态的链路时,选取s2中链路状态为活动中状态且链路级别最高的链路为主链路。

s4、主链路自身读取到链路状态为通信中状态时,开始与对端通信;当主链路在通信过程中出现异常时,其链路状态更改为断开状态,并将该链路信息从全局变量map集合中删除,从剩余的链路状态为活动中状态的链路中选取链路级别最高的链路为备用链路;其中,删除的主链路重复步骤s2,当主链路与通信端连接建立成功时,将主链路的信息重新写入全局变量map集合中;

如图3所示,这一步骤中还包括以下步骤:

s401、主链路自身读取到链路状态为通信中状态时,开始与对端通信,其它链路状态不变且保持与对端的心跳;

s402、当心跳应答超时,说明该链路断开,其链路状态变为断开状态,并且重复s2步骤。

其中,s401中其它链路保持与对端的心跳的时间为大于或等于20s,s402中心跳应答超时的标准为应答时间超过15s,当与对端的心跳的时间为大于或等于20s或者对端应答时间超过15s,则说明该链路断开,并且本实施例中还要求链路断开时间不能超过50s。

s5、重复步骤s2-s4,选用链路状态为活动中状态且链路级别最高的链路为主链路。

设置步骤s5主要是因为每条链路的状态都在改变,在通信时需要选取链路状态为活动中状态且链路级别最高的链路为主链路,因此,需要循环监测各链路的实时状态信息。通过步骤s5可以在不同时刻选取出当前时间中链路状态为活动中状态且链路级别最高的链路。

实施例二、

在实施例一的基础上,本实施例提供一种多通道主备链路快速切换系统,包括主备链路监控模块、配置策略模块、存储器和多条链路。

其中,配置策略模块配置各条链路的级别和状态。在本实施例中,链路状态包括断开状态、活动中状态和通信中状态,各链路的初始链路状态为断开状态;链路级别分为1-15级,最高级别为1,最低级别为15,链路的级别是有人为配置,每条链路只有唯一的一个级别,并且不会改变。

在本实施例中,设置有至少两条链路,主要是为了当主要链路通信中断,可以快速启用备用链路进行传输,且保证数据传输的连续性;当主链路恢复正常,备用链路自动退出主链路级别恢复备用状态。

主备链路监控模块实时监控各条链路的链路状态,根据各链路状态和级别选取主链路。各链路在初始状态时,均是断开状态,各条链路需要进行tcp请求连接到通信端,连接建立成功的链路进入主备链路选取阶段,并将链路状态更改为活动中状态;连接建立失败的链路重复进行tcp请求直到连接建立成功,主备链路监控模块只选取链路状态为活动中状态并且链路级别最高的链路为主链路。

存储器存储各条链路的名称、级别和状态,以及主备链路监控模块选取的结果。如图4所示,当应用程序a将数据传输到本实施例的多通道主备链路快速切换系统中,各链路接收,存储器存储各链路当前的级别和状态,主备链路监控模块实时监控各链路的状态,根据各链路状态和级别选取主链路,并将选取的结果存储在存储器中,各链路根据主备链路监控模块选取出的主链路进行通信,实现对端的通信。

以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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