双机热备中的数据传输切换方法与流程

文档序号:16200492发布日期:2018-12-08 06:33阅读:849来源:国知局
双机热备中的数据传输切换方法与流程

本发明涉及数字信息传输切换方法,尤其涉及一种双机热备中的数据传输切换方法。

背景技术

《ip地址漂移的实现与原理》公开了一种双机热备数据传输的切换方法——ip地址漂移,即利用共享的“虚拟”ip地址,当本地进行节点切换与路由切换时,另一端的发送和接收端没有感觉到本地节点地址有变化,保证了通信的连续性,起到断点保护的功效。该方法不足之处是需要安装专用双机热备软件承担主备机的虚拟ip地址加载功能,以及发送报文的源地址和接收报文的目的地址转换功能,因此增加了费用和数据传输的复杂性。为了克服不足,有人采用将主备机加入组播,但是在应用层需要解决的问题比较多;有人采用由对端同时点播主备机方式传输数据,但传输带宽将成倍增加。现有主流技术为ip地址漂移,但该技术的局限性需要安装专用软件,对主备机的运行增加了不可靠的因素,且不易于跨平台使用。



技术实现要素:

本发明的目的是针对上述现有技术的不足,提供一种双机热备中的数据传输切换方法,本发明能解决双机热备中的数据传输的快速切换问题,主备切换时间可以控制在百毫秒级别。

为实现上述技术目的,本发明采取的技术方案为:双机热备中的数据传输切换方法,其特征在于包括以下步骤:

1)设置本端主机和本端备机共用同一个ip地址;本端主机和本端备接入同一台网络交换机且网口均为激活状态;本端主机和本端备机同时打开数据通信程序,数据通信程序采用tcp/ip方式以点播形式与远端服务器通信,本端主机和本端备机的数据通信程序配置一样;

2)将本端主机和本端备机接入的网络交换机接口划入不同的vlan内:本端主机的网络交换机接口划入vlanx,本端备机的网络交换机接口划入vlany;

3)先将本端主机接入的网络交换机接口划入临时vlan内,所述临时vlan设为vlanz,再将本端备机接入的网络交换机接口改为本端主机所在的vlanx内,使本端备机所连接的网络交换机接口所在的vlany更换成本端主机和远端服务器共同使用的vlanx;

4)当vlan切换完毕,本端主机发送arp应答包给远端服务器,通过arp应答包通知远端服务器:本端主机的ip地址对应的mac地址已变成了本端备机的mac地址;然后远端服务器发送报文进入本端备机所在的网络交换机接口vlanx。

2.进一步的,将所述步骤3)写成脚本在本端备机上自动运行。

本端主机与本端备机的ip地址设为一样,并接入同一台接口均为激活状态的网络交换机,这样可以避开使用虚拟ip,但这会导致ip地址冲突,下一步将解决该问题;为了避免在同一个广播域内发生ip地址冲突,将本端主机与本端备机接入的网络交换机接口划入不同的vlan(假设为本端主机接入vlanx,本端备机接入vlany)内;当切换本端备机时,通过直接更改网络交换机配置即可,先将本端主机接入的网络交换机接口划入临时vlan内(vlanz),再将本端备机接入的接口改为本端主机所在的vlanx内。在切换本端备机的同时从本端备机上更新远端服务器的arp表。当vlan接口切换完毕,远端服务器发送到本端服务器的报文就可以进入本端备机所在的接口。但由于远端服务器的arp表中记录的本端ip地址对应的mac地址仍是本端主机mac,所以需从本端发送一个arp应答包告诉远端服务器本端ip地址对应的mac已变成了本端备机的mac。

本发明能解决双机热备中的数据传输的快速切换问题,适用于远端和本端之间采用点播通信(tcp/ip),且网络传输带宽只允许远端点播1路数据至本端的情形。由于本端主机与本端备机的切换不用做ip地址漂移,报文的发送和接收不用做实地址和虚地址间的映射,切换时间只消耗在网络交换机命令的执行时间和arp应答包的发送时间(可以并行),所以本端主机与本端备机之间的切换时间可以控制在百毫秒级别。

附图说明

图1为本发明本端主机工作时,本端主机、本端备机及远端服务器接入网络交换机的接口的配置图;

图2为本发明本端备机工作时,本端主机、本端备机及远端服务器接入网络交换机的接口的配置图;

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

实施例1

如图1所示,本双机热备中的数据传输切换方法,包括以下步骤:

1)设置本端主机和本端备机共用同一个ip地址;本端主机和本端备接入同一台网络交换机且网口均为激活状态;本端主机和本端备机同时打开数据通信程序,数据通信程序采用tcp/ip方式以点播形式与远端服务器通信,本端主机和本端备机的数据通信程序配置一样;

2)将本端主机和本端备机接入的网络交换机接口划入不同的vlan内:本端主机的网络交换机接口划入vlanx,本端备机的网络交换机接口划入vlany;

3)先将本端主机接入的网络交换机接口划入临时vlan内,所述临时vlan设为vlanz,再将本端备机接入的网络交换机接口改为本端主机所在的vlanx内,使本端备机所连接的网络交换机接口所在的vlany更换成本端主机和远端服务器共同使用的vlanx;

4)当vlan切换完毕,本端主机发送arp应答包给远端服务器,通过arp应答包通知远端服务器:本端主机的ip地址对应的mac地址已变成了本端备机的mac地址;然后远端服务器发送报文进入本端备机所在的网络交换机接口vlanx。进一步的,将所述步骤3)写成脚本在本端备机上自动运行。

本实施例1中,本端配置2台服务器作为数据通信服务器,承担本端系统的数据汇集与分发功能。其中1台作为本端主机,1台作为本端备机。正常情况下,本端主机承担数据通信功能。当其出现故障时,由本端备机接管。具体过程如下:

本端主机和本端备机同时打开数据通信程序(各业务系统自带),通信程序采用tcp/ip方式以点播形式与远端服务器通信,本端主机和本端备机的通信程序配置一样。

本端主机和本端备机的ip地址设为一样,并接入同一台网络交换机且网口均为激活状态,这是本方案的关键之一,因为这可以避开使用虚拟ip,但这会导致ip地址冲突,下一步将解决该问题。

为了避免在同一个广播域内发生ip地址冲突,将本端主机和本端备机接入的网络交换机端口划入不同的vlan(假设为vlanx和vlany)内。

当切换本端备机时,通过直接更改网络交换机配置即可,先将本端主机接入的端口划入临时vlan内(vlanz),再将本端备机接入的端口改为本端主机所在的vlanx内。配置可以写成脚本在本端备机上自动运行。

当vlan切换完毕,远端服务器发送到本端服务器的报文就可以进入本端备机所在的端口。但由于远端服务器的arp表中记录的本端ip地址对应的mac地址仍是本端主机mac,所以需从本端发送一个arp应答包告诉远端服务器本端ip地址对应的mac已变成了本端备机的mac。

由于本端主机和本端备机不用做ip地址漂移,报文的发送和接收不用做实地址和虚地址间的映射,切换时间只消耗在交换机命令的执行时间和arp应答包的发送时间(可以并行),所以切换时间在百毫秒级别。

1.本端主机和本端备机均打开数据通信程序,采用tcp/ip方式以点播形式与远端服务器通信。

2.本端主机和本端备机的ip地址均设为4.44.156.249,并接入同一台网络交换机。

3.为了避免ip地址冲突,将本端主机和本端备机的接口划入不同的vlan(如图1中接口vlan11和接口vlan12),远端服务器始终接入接口vlan11。

4.当本端主机和本端备机切换时,先将本端主机所在接口切入临时接口vlan13,本端备机所在接口切入和远端服务器一致的接口vlan11即可。该配置可以通过编写脚本自动实现,脚本程序如下:

setsh=wscript.createobject(“wscript.shell”)

sh.run“telnet192.168.2.1{enter}”

wscript.sleep10

sh.sendkeys“sys{entre}”

wscript.sleep10

sh.sendkeys“vlan13{entre}”

wscript.sleep10

sh.sendkeys“portgig0/0/1{entre}”

wscript.sleep10

sh.sendkeys“vlan11{entre}”

wscript.sleep10

sh.sendkeys“portgig0/0/2{entre}”

由于远端服务器不受控,为了更新其arp表中记录的本端ip地址对应的mac地址,需从本端备机发送一个arp应答包告诉远端服务器本端ip地址对应的mac已变成了备机的mac,arp应答包的程序如下:

makearp(_arp,source_mac_addr,source_ip_addr,dest_ip_addr);

//构建arp应答包,source为本端备机,dest为远端服务器

pcap_sendpacket(pcap,&arp_,sizeof(arp_));

//发送arp包,wincap官网下载开发包。

本实施例1克服了现有技术中的缺点,提供了一种有效的、简单的、经济的主备机数据传输切换方法。根据背景技术章节中的描述,现有主流技术为ip地址漂移,但该技术的局限性需要安装专用软件,对主备机的运行增加了不可靠的因素,且不易于跨平台使用。本实施例1与该技术的区别就是简化了非业务软件在主备机上的部署,具体就是将双机热备软件中的切换功能进行剥离并重新设计,使得主备切换时不需要采用虚拟ip地址在主备机间漂移,同时为了确保数据切换的快速性,主备机仍然共用一个ip地址且均处于激活状态。整个切换功能由脚本实现。本实施例1将能解决双机热备中的数据传输的快速切换问题,适用于对端和本端之间采用点播通信(tcp/ip),且网络传输带宽只允许对端点播1路数据至本端。主备切换时间可以控制在百毫秒级别。其应用领域是一种数字信息传输过程中的故障应对措施。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

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