[发明专利]一种双机互备中检测对外服务网络异常的方法无效
申请号: | 201010605116.X | 申请日: | 2010-12-25 |
公开(公告)号: | CN102014029A | 公开(公告)日: | 2011-04-13 |
发明(设计)人: | 刘晓建;廖湘科;吴庆波;戴华东;颜跃进;董攀;易晓东 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/56;H04L12/24 |
代理公司: | 湖南省国防科学技术工业办公室专利中心 43102 | 代理人: | 冯青 |
地址: | 410073 *** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 双机 互备中 检测 对外 服务 网络 异常 方法 | ||
技术领域
本发明主要涉及到高可用服务器领域,特指一种在双机互备系统中检测服务器对外服务网络是否发生故障的方法。
背景技术
在很多高可用应用中,要求服务器系统在出错的情况下仍能持续不断的对外提供服务。双机互备是最常见的保证服务不间断的手段。在双机互备系统中,两台计算机都通过同一交换机与外部网络连接,两台计算机之间也通过直连线连接。两台计算机之间的直连线仅用作传输它们之间的心跳信息,两台计算机与交换机之间的连接既可用于对外提供服务,也可用于传输心跳信息,后一种传输心跳的方法被称作公网心跳。
在双机互备中,一台物理计算机处于active角色,另外一台处于standby角色。处于active角色的计算机具有对外提供服务所使用的网络地址,并对外提供服务;在active计算机内部运行服务监测任务,该任务定期检测本机上服务的可用性,当其发现本机上服务不再正常时,通过心跳信息通知standby计算机进行服务器切换。处于standby角色的计算机监测active计算机的心跳信息来获得active计算机的健康状况,当standby计算机发现active计算机不能对外正常提供服务时,它启动服务器的角色切换过程。一般的服务器角色切换过程为:standby计算机接管对外提供服务的网络地址,对外提供服务,并通知原来处于active角色的计算机不再使用对外提供服务的网络地址。服务器切换完成后即可对原来处于active角色的计算机进行修复。
active计算机的网络故障是导致active计算机服务不可用的一个重要原因。当前主要通过监测active计算机的网线是否正常来判断active计算机是否出现了网络故障。但当active计算机的对外服务网卡硬件本身出现故障,如不能收发报文,或者网络路由出现问题时,active计算机虽然网线正常连接,却不能提供对外服务。由于从本机访问本机上的服务时并不通过物理网卡,故当网卡故障时,本机上的服务监测任务仍然可以正常访问本机提供的服务,从而无法发现网卡故障。IP Bonding技术通过测试参考计算机的网络可达性来判断本机的某网卡是否出现了故障,但这种方式要求必须物理设置一个参考计算机,这又为系统引入了新的不可靠因素。在有些实现中,可以将active计算机与standby计算机之间的共享存储作为参考计算机使用,但这种方式要求active计算机必须使用对外服务网卡来访问共享存储,而很多应用场景都不能满足此要求。
发明内容
本发明要解决的问题就在于:针对现有技术存在的技术问题,为双机互备的高可用服务器系统提供一种检测active计算机对外服务网络故障的方法。
为解决上述技术问题,本发明提出的解决方案为:一种基于网卡报文流量的计算机网络故障检测方法为:active计算机的网络监测模块周期性查询本机对外服务网卡的收发报文数量;网络监测模块根据每个周期内对外服务网卡的收发报文数量更新历史统计信息;若网络监测模块发现本周期内收发网络报文数量显著低于历史同期情况或管理员预期值,则判定active计算机的对外服务网络连接存在问题。
当两台计算机之间使用公网心跳时,若网络监测模块发现本周期内收发网络报文数量显著低于历史同期值或管理员预期值,且active计算机可以正常接收到standby计算机的公网心跳信息,则报告双机互备系统对外网络连接故障;若网络监测模块发现本周期内收发网络报文数量显著低于历史同期值或管理员预期值,且接收不到来自standby计算机的公网心跳信息,则报告active计算机的对外服务网络连接异常。
网络监测模块的流程如下:
步骤1:系统初始化
当网络监测模块开始运行时,其初始化工作为:将active计算机对外服务网卡当前收发网络报文总数记入cur_cnt变量。
步骤2:主循环,执行如下步骤:
(2.1)将cur_cnt变量赋值给prev_cnt变量;
(2.2)等待T时间;
当存在公网心跳时,需要保证等待时间T一定大于公网心跳的时间周期;
(2.3)将active计算机对外服务网卡当前收发网络报文总数记入cur_cnt变量;
(2.4)令变量cur_flux为cur_cnt与prev_cnt之间的差值;
(2.5)若cur_flux不大于最低报文收发流量,且可接收到对方的公网心跳,则通过直连心跳线报告本机网络故障,之后转到步骤2,否则继续执行;
最低报文收发流量为双机互备系统不对外提供服务时,本机发现在T时间内的报文收发流量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010605116.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于甲醇转化制丙烯的催化剂的制备方法及其应用
- 下一篇:输液自动报警装置