一种制造技术

技术编号:39668580 阅读:7 留言:0更新日期:2023-12-11 18:33
本发明专利技术公开了一种

【技术实现步骤摘要】
一种Windows Server系统NLB环境下服务可用性的检测方法


[0001]本专利技术属于互联网
,特别是涉及一种
Windows Server
系统
NLB
环境下服务可用性的检测方法


技术介绍

[0002]在大型服务器架构下,客户端会通过网络接入到服务器热备集群,进行数据交互;
NLB
集群主机通过对外统一的虚拟
IP
地址来提供服务,
NLB
技术架构,高可用检测方法存在以下缺陷:
[0003]1.
检测集群主机是否发生故障或脱机时间不及时,最快
10
秒才能产生切换;
[0004]2.
对服务器端口的检测不够灵活,仅支持检测集群主机是否发生故障或脱机,无法准确判断在
NLB
主机上的应用,在端口存在而服务不可用的故障情况;
[0005]具体的:
[0006]在配置为热备模式的
NLB
集群中,正常情况下只会有一台服务器提供服务,当此主机出现宕机或主机上的服务程序出现故障退出时,
NLB
技术会自动检测到此种情景,从而把可用节点切换到备用
NLB
主机上

[0007]但如果主节点主机未宕机,只是其上部署的服务程序自身缺陷产生逻辑错误,或其他问题导致服务不能正常提供所需的功能,此时服务程序对外端口并未正常关闭,
NLB
技术无法判断端口对应的服务是否能够正常工作,导致无法及时触发热备服务器切换,从而造成服务异常,无法保证服务器集群的高可用状态


技术实现思路

[0008]本专利技术的目的在于提供一种
Windows Server
系统
NLB
环境下服务可用性的检测方法,不再只依赖于
Windows
操作系统
NLB
特性的内部检测机制,解决在某台
NLB
主机完全宕机或主机上面运行的服务程序崩溃时,才能触发
NLB
故障切换功能的问题

[0009]为解决上述技术问题,本专利技术是通过以下技术方案实现的:
[0010]本专利技术为一种
Windows Server
系统
NLB
环境下服务可用性的检测方法,包括以下步骤:
[0011]步骤
101
:检测程序循环向被检测
NLB
节点主机的被检测端口发送心跳包;
[0012]步骤
102
:被检测
NLB
节点主机上的程序在接收到检测程序发出的心跳包时,返回的心跳响应包作为通讯状态的判断依据;
[0013]步骤
103
:若判断出被检测端口状态为不可用或者心跳报文连续多次通讯失败,则触发
NLB
节点切换机制

[0014]进一步地,所述步骤
102
中,检测程序与被检测
NLB
节点主机上的程序通过心跳包进行交互,当被检测
NLB
节点主机上的程序接收到检测程序发出的心跳包时,立即回复对应的心跳响应包;作为检测程序判断自己存活的依据

灵活检测
NLB
主机上部署的服务端口状态

[0015]进一步地,所述步骤
103
中:
[0016]若检测程序不能成功的向被检测
NLB
节点主机的被检测端口发送心跳包,则判断为被检测端口状态为不可用;
[0017]若检测程序不能连续

成功的接收到被检测
NLB
节点主机的被检测端口返回的心跳响应包,则判断为心跳报文连续多次通讯失败

[0018]进一步地,所述检测程序在每个心跳检测周期内向被检测
NLB
节点主机的被检测端口发出若干个心跳检测包,并判断一个心跳检测周期时间内,是否成功接收到被检测
NLB
节点主机的被检测端口的全部心跳响应包,若一个心跳检测周期内存在连续多次未返回的心跳响应包,则判断被检测
NLB
节点主机为不可用状态

不再只依赖于
Windows
操作系统
NLB
特性的内部检测机制,在某台
NLB
主机完全宕机或主机上面运行的服务程序崩溃时,才能触发
NLB
故障切换功能

[0019]进一步地,
NLB
节点主机切换机制为:
[0020]检测程序调用
Windows
操作系统提供的
NLB
节点切换功能,将不可用的
NLB
节点主机切换至备用节点主机,此时备用节点主机变更为当下使用的
NLB
主活动节点主机

[0021]进一步地,所述备用节点主机为预设节点主机

[0022]进一步地,触发
NLB
节点主机切换机制时,将不可用的
NLB
节点主机设置为下线不可用状态

[0023]进一步地,触发
NLB
节点主机切换机制,完成备用节点主机切换后,重复步骤
101

103
进行下一个心跳检测周期的检测

在服务器部署了提供低延时服务的应用程序时,能够及时检测服务状态,在服务不可用时,可主动切换到备用主机,使
NLB
主机上的服务能够及时提供高可用服务,避免长时间故障而造成损失

[0024]进一步地,所述节点主机为
NLB
集群中的服务器,每一所述节点主机都运行服务器应用程序的单独副本

[0025]本专利技术具有以下有益效果:
[0026]本专利技术通过向
NLB
集群主机上部署的服务所提供的端口发送心跳数据,根据被检测程序端口的状态和是否正常返回心跳包响应,来判断
NLB
主机或主机上的服务程序工作是否正常;同时,能够实时感知
NLB
集群主机的工作状态,在检测程序判断到主节点主机状态异常时,切换已预设的备用节点主机为活动主节点,从而保证了
NLB
集群中服务器可以正常对外提供服务,提高了
NLB
集群的可用性,使得网络服务能够在
NLB
集群主机节点出现故障时快速切换至备用主机节点响应新的网络请求,减少了
NLB
集群在热备主节点切换时的服务中断时间

[0027]当然,实施本专利技术的任一产品并不一定需要同时达到以上所述的所有优点

附图说明
[0028]为了更清楚本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种
Windows Server
系统
NLB
环境下服务可用性的检测方法,其特征在于,包括以下步骤:步骤
101
:检测程序循环向被检测
NLB
节点主机的被检测端口发送心跳包;步骤
102
:被检测
NLB
节点主机上的程序在接收到检测程序发出的心跳包时,返回的心跳响应包作为通讯状态的判断依据;步骤
103
:若判断出被检测端口状态为不可用或者心跳报文连续多次通讯失败,则触发
NLB
节点切换机制
。2.
根据权利要求1所述的一种
Windows Server
系统
NLB
环境下服务可用性的检测方法,其特征在于,所述步骤
102
中,检测程序与被检测
NLB
节点主机上的程序通过心跳包进行交互,当被检测
NLB
节点主机上的程序接收到检测程序发出的心跳包时,立即回复对应的心跳响应包
。3.
根据权利要求1所述的一种
Windows Server
系统
NLB
环境下服务可用性的检测方法,其特征在于,所述步骤
103
中:若检测程序不能成功的向被检测
NLB
节点主机的被检测端口发送心跳包,则判断为被检测端口状态为不可用;若检测程序不能连续

成功的接收到被检测
NLB
节点主机的被检测端口返回的心跳响应包,则判断为心跳报文连续多次通讯失败
。4.
根据权利要求3所述的一种
Windows Server
系统
NLB
环境下服务可用性的检测方法,其特征在于,所述检测程序在每个心跳检测周期内向被检测
NLB
节点主机的被检测端口发出若干个心跳检测包,并判断一个心跳检测周期时间内,是否成功接收到被检测

【专利技术属性】
技术研发人员:翟晓刚
申请(专利权)人:深圳联友科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1