CN105939228B - 一种健康检测方法及装置 - Google Patents
一种健康检测方法及装置 Download PDFInfo
- Publication number
- CN105939228B CN105939228B CN201510535755.6A CN201510535755A CN105939228B CN 105939228 B CN105939228 B CN 105939228B CN 201510535755 A CN201510535755 A CN 201510535755A CN 105939228 B CN105939228 B CN 105939228B
- Authority
- CN
- China
- Prior art keywords
- service node
- node
- service
- health detection
- shared
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Landscapes
- Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种健康检测方法及装置,应用于网关设备上,所述网关设备对多台服务器进行健康检测,所述服务器上配置多个相同的服务节点,该方法包括:获取每一个服务节点的节点信息;按照节点信息对服务节点进行分类;从每一类服务节点中选择一个服务节点进行健康检测;将健康检测结果共享给同一类服务节点中的其它服务节点。通过本申请可降低网关设备和服务器的***资源消耗。
Description
技术领域
本申请涉及网络通信技术领域,尤其涉及一种健康检测方法及装置。
背景技术
应用交付网关设备主要负责服务器集群的管理,通过选定的负载均衡算法将用户的业务请求均衡地分配给业务服务器。但是,通过负载均衡算法选择的服务器可能由于种种原因无法处理用户的业务请求,导致用户的业务请求得不到响应,无法进行正常的业务处理。
为了解决上述问题,通常在应用交付网关设备上启用健康检测进程对服务器上的服务节点进行检测,以确保服务器正常运行。现有技术方案针对每一个服务节点建立对应的Socket(套接字)连接,通过Socket连接发起访问,并等待服务器的响应,从而得到服务器的健康状况。但是,在实际应用中,同一服务器可能配置多个相同的服务节点,如果针对每一个服务节点都进行健康检测将造成不必要的***资源浪费。
发明内容
有鉴于此,本申请提供一种健康检测方法及装置。
具体地,本申请是通过如下技术方案实现的:
本申请提供一种健康检测方法,应用于网关设备上,所述网关设备对多台服务器进行健康检测,所述服务器上配置多个相同的服务节点,该方法包括:
获取每一个服务节点的节点信息;
按照节点信息对服务节点进行分类;
从每一类服务节点中选择一个服务节点进行健康检测;
将健康检测结果共享给同一类服务节点中的其它服务节点。
本申请还提供一种健康检测装置,应用于网关设备上,所述网关设备对多台服务器进行健康检测,所述服务器上配置多个相同的服务节点,该装置包括:
获取单元,用于获取每一个服务节点的节点信息;
分类单元,用于按照节点信息对服务节点进行分类;
检测单元,用于从每一类服务节点中选择一个服务节点进行健康检测;
共享单元,用于将健康检测结果共享给同一类服务节点中的其它服务节点。
由以上描述可以看出,本申请通过对服务节点进行分类,从每一类服务节点中选择一个服务节点进行健康检测,将检测结果共享给同一分类中的其它服务节点,从而减少Socket连接的数量,降低***消耗,同时,也减轻了服务器端的性能压力。
附图说明
图1是服务器集群管理***示意图;
图2是本申请一示例性实施例示出的一种健康检测方法流程图;
图3是本申请一示例性实施例示出的一种健康检测装置所在设备的基础硬件结构示意图;
图4是本申请一示例性实施例示出的一种健康检测装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1所示为服务器集群管理***示意图。其中,PC为用户主机,用于访问服务器;GW为应用交付网关设备(以下简称网关设备),主要负责服务器集群的管理;Server1和Server2为服务器,每一台服务器上配置了多个相同的服务节点。例如,Server1上的服务节点1和服务节点2相同,端口号均为80,所属服务器IP地址为1.1.1.1。同理,Server 2上的服务节点3、服务节点4以及服务节点5相同。
在服务器集群管理***中,网关设备负责根据选定的负载均衡算法将用户的业务请求均衡地分配给服务器。为了保证分配的服务器可以正常运行,网关设备要对每一台服务器进行健康检测。
现有技术方案在进行健康检测时,由网关设备与每一个服务节点建立Socket连接,通过每一个Socket连接发起访问,得到对应的健康检测结果。但是,在图1所示的配置方法下,每一个服务器有多个相同的服务节点,如果对每一个服务节点都建立Socket连接进行健康检测,无疑将消耗大量的***资源。
针对上述问题,本申请实施例提出一种健康检测方法,该方法通过对服务节点进行分类,从每一类服务节点中选择一个服务节点进行健康检测,将检测结果共享给同一分类中的其它服务节点,从而减少Socket连接的数量,降低***消耗,同时,也减轻了服务器端的性能压力。
参见图2,为本申请健康检测方法的一个实施例流程图,该实施例对健康检测过程进行描述。
步骤201,获取每一个服务节点的节点信息。
网关设备预先为每一个服务节点配置对应的健康检测规则,例如,该健康检测规则可以为:采用TCP(Transmission Control Protocol,传输控制协议)方式进行检测。当然还有其他的检测方式,例如UDP(User Datagram Protocol,用户数据包协议)方式、SLP(Service Location Protocol,服务定位协议)方式等,可以根据实际需求,对不同的服务节点配置不同的健康检测规则。
在完成对所有服务节点的健康检测规则配置后,启动健康检测进程,获取每一个服务器节点的节点信息,该节点信息可以包括健康检测规则、服务节点所属服务器的IP地址以及端口号等。根据获取的服务节点的节点信息进行后续处理。
步骤202,按照节点信息对服务节点进行分类。
将具有相同节点信息的服务节点归为一类,具体为:
执行如下分类操作:顺序选择一个未标记的服务节点,将该未标记的服务节点标记为当前分类的执行节点。
执行如下共享节点标记操作:顺序选择下一个未标记的服务节点,判断该下一个未标记的服务节点是否与当前分类的执行节点的节点信息相同,若相同,则将该下一个未标记的服务节点标记为当前分类的共享节点。
判断是否所有未标记的服务节点均已执行共享节点标记操作,若否,则返回执行共享节点标记操作;若是,则完成对一类服务节点的分类。
判断是否还有未标记的服务节点;若有,则返回执行分类操作;若无,则完成所有服务节点的分类。
步骤203,从每一类服务节点中选择一个服务节点进行健康检测。
通过步骤202已将具有相同节点信息的服务节点归为一类,即将配置了相同健康检测规则、相同服务器IP地址以及相同端口号的服务节点归为一类,此时,选择其中任意一个服务节点进行健康监测,都可得到服务器的健康状况。在一种优选的实施方式中,网关设备选择归类后每一类服务节点中的执行节点进行健康监测。
步骤204,将健康检测结果共享给同一类服务节点中的其它服务节点。
通过步骤203获取到执行节点的健康检测结果后,将每一类服务节点中的执行节点的健康检测结果分别共享给同一类服务节点中的其它服务节点。在一种优选的实施方式中,网关设备将执行节点的健康检测结果共享给同一类服务节点中的共享节点。
由上述描述可以看出,本申请并不对每一个服务节点都进行健康检测,而是首先按照节点信息进行归类,再从属于同一分类的多个服务节点中选择一个服务节点进行健康检测,同一分类中的其它服务节点共享被检测的服务节点的检测结果。从而减少了网关设备与服务器之间用于健康检测的Socket连接数量,降低了网关设备和服务器的***资源消耗。
现仍以图1为例,详细介绍健康检测过程。
假设,网关设备GW分别为服务节点1~服务节点5配置健康检测规则,其中,服务节点1和服务节点2的健康检测规则为TCP检测;服务节点3、服务节点4以及服务节点5的健康检测规则为SLP检测。
网关设备GW启动健康检测进程,获取每一个服务节点的节点信息,如表1所示。
节点名称 | 健康检测规则 | IP地址 | 端口号 |
服务节点1 | TCP检测 | 1.1.1.1 | 80 |
服务节点2 | TCP检测 | 1.1.1.1 | 80 |
服务节点3 | SLP检测 | 2.2.2.2 | 8080 |
服务节点4 | SLP检测 | 2.2.2.2 | 8080 |
服务节点5 | SLP检测 | 2.2.2.2 | 8080 |
表1
网关设备对上述服务节点进行归类。首先,将服务节点1标记为执行节点,判断服务节点2是否与服务节点1的节点信息(健康检测规则、IP地址、端口号)相同,由表1可知,服务节点2与服务节点1的节点信息相同,因此,将服务节点2标记为共享节点。
顺序判断服务节点3是否与服务节点1的节点信息相同,由表1可知,服务节点3与服务节点1的节点信息不相同,因此,服务节点3不能作为服务节点1的共享节点,不属于同一类服务节点。同理,服务节点4、服务节点5均不是服务节点1的共享节点。
经过对上述服务节点的第一次分类后,服务节点1和服务节点2为同一类服务节点,且服务节点1为执行节点,服务节点2为共享节点。
开始第二次分类,从表1中顺序选择一个未标记的服务节点,即服务节点3,将服务节点3标记为当前分类的执行节点,选择下一个未标记的服务节点,即服务节点4,判断服务节点4是否与服务节点3的节点信息相同,由表1可知,服务节点4与服务节点3的节点信息相同,因此,将服务节点4标记为当前分类的共享节点。同理,将服务节点5标记为当前分类的共享节点。
在完成上述两次分类后,所有服务节点均已标记,其中,服务节点1和服务节点3为执行节点,网关设备仅与执行节点建立Socket连接,发送健康探测报文进行健康检测,如果服务器运行正常,将回应网关设备的探测,从而使网关设备确认服务器运行正常。
网关设备在获得执行节点的健康检测结果后,将健康检测结果共享给同一分类中的共享节点。例如,将服务节点1的健康检测结果共享给服务节点2,将服务节点3的健康检测结果共享给服务节点4和服务节点5。
与前述健康检测方法的实施例相对应,本申请还提供了健康检测装置的实施例。
本申请健康检测装置的实施例可以应用在网关设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器运行存储器中对应的计算机程序指令形成的。从硬件层面而言,如图3所示,为本申请健康检测装置所在设备的一种硬件结构图,除了图3所示的处理器、网络接口、以及存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图4,为本申请一个实施例中的健康检测装置的结构示意图。该健康检测装置包括获取单元401、分类单元402、检测单元403以及共享单元404,其中:
获取单元401,用于获取每一个服务节点的节点信息;
分类单元402,用于按照节点信息对服务节点进行分类;
检测单元403,用于从每一类服务节点中选择一个服务节点进行健康检测;
共享单元404,用于将健康检测结果共享给同一类服务节点中的其它服务节点。
进一步地,所述分类单元402,包括:
执行节点标记模块,用于顺序选择一个未标记的服务节点;将所述未标记的服务节点标记为当前分类的执行节点;
共享节点标记模块,用于顺序选择下一个未标记的服务节点;判断所述下一个未标记的服务节点是否与所述当前分类的执行节点的节点信息相同;若相同,则将所述下一个未标记的服务节点标记为所述当前分类的共享节点;
服务节点判断模块,用于判断是否所有未标记的服务节点均已执行共享节点标记操作,若否,则返回共享节点标记模块;若是,则完成对一类服务节点的分类;判断是否还有未标记的服务节点;若有,则返回执行节点标记模块;若无,则完成所有服务节点的分类。
进一步地,
所述检测单元403,具体用于选择每一类服务节点中的执行节点进行健康检测。
所述共享单元404,具体用于将所述执行节点的健康检测结果共享给同一类服务节点中的共享节点。
进一步地,
所述节点信息包括健康检测规则、服务节点所属服务器的IP地址以及端口号。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (6)
1.一种健康检测方法,应用于网关设备上,其特征在于,所述网关设备对多台服务器进行健康检测,所述服务器上配置多个相同的服务节点,该方法包括:
获取每一个服务节点的节点信息;
按照节点信息对服务节点进行分类;
从每一类服务节点中选择一个服务节点,按照预设健康检测规则对所述服务节点进行健康检测;
将健康检测结果共享给同一类服务节点中的其它服务节点;
其中,所述按照节点信息对服务节点进行分类,包括:
执行如下分类操作:顺序选择一个未标记的服务节点;将所述未标记的服务节点标记为当前分类的执行节点;
执行如下共享节点标记操作:顺序选择下一个未标记的服务节点;判断所述下一个未标记的服务节点是否与所述当前分类的执行节点的节点信息相同;若相同,则将所述下一个未标记的服务节点标记为所述当前分类的共享节点;
判断是否所有未标记的服务节点均已执行共享节点标记操作,若否,则返回执行共享节点标记操作;若是,则完成对一类服务节点的分类;
判断是否还有未标记的服务节点;若有,则返回执行分类操作;若无,则完成所有服务节点的分类。
2.如权利要求1所述的方法,其特征在于:
所述从每一类服务节点中选择一个服务节点进行健康检测,包括:
选择每一类服务节点中的执行节点进行健康检测;
所述将健康检测结果共享给同一类服务节点中的其它服务节点,包括:
将所述执行节点的健康检测结果共享给同一类服务节点中的共享节点。
3.如权利要求1或2任一所述的方法,其特征在于:
所述节点信息包括健康检测规则、服务节点所属服务器的IP地址以及端口号。
4.一种健康检测装置,应用于网关设备上,其特征在于,所述网关设备对多台服务器进行健康检测,所述服务器上配置多个相同的服务节点,该装置包括:
获取单元,用于获取每一个服务节点的节点信息;
分类单元,用于按照节点信息对服务节点进行分类;
检测单元,用于从每一类服务节点中选择一个服务节点,按照预设健康检测规则对所述服务节点进行健康检测;
共享单元,用于将健康检测结果共享给同一类服务节点中的其它服务节点;
其中,所述分类单元,包括:
执行节点标记模块,用于顺序选择一个未标记的服务节点;将所述未标记的服务节点标记为当前分类的执行节点;
共享节点标记模块,用于顺序选择下一个未标记的服务节点;判断所述下一个未标记的服务节点是否与所述当前分类的执行节点的节点信息相同;若相同,则将所述下一个未标记的服务节点标记为所述当前分类的共享节点;
服务节点判断模块,用于判断是否所有未标记的服务节点均已执行共享节点标记操作,若否,则返回共享节点标记模块;若是,则完成对一类服务节点的分类;判断是否还有未标记的服务节点;若有,则返回执行节点标记模块;若无,则完成所有服务节点的分类。
5.如权利要求4所述的装置,其特征在于:
所述检测单元,具体用于选择每一类服务节点中的执行节点进行健康检测;
所述共享单元,具体用于将所述执行节点的健康检测结果共享给同一类服务节点中的共享节点。
6.如权利要求4或5任一所述的装置,其特征在于:
所述节点信息包括健康检测规则、服务节点所属服务器的IP地址以及端口号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510535755.6A CN105939228B (zh) | 2015-08-27 | 2015-08-27 | 一种健康检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510535755.6A CN105939228B (zh) | 2015-08-27 | 2015-08-27 | 一种健康检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105939228A CN105939228A (zh) | 2016-09-14 |
CN105939228B true CN105939228B (zh) | 2019-02-19 |
Family
ID=57152826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510535755.6A Active CN105939228B (zh) | 2015-08-27 | 2015-08-27 | 一种健康检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105939228B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254542A (zh) * | 2016-09-27 | 2016-12-21 | 杭州迪普科技有限公司 | 一种访问流量控制的方法及装置 |
CN111835576B (zh) * | 2019-04-19 | 2022-03-04 | 厦门网宿有限公司 | 基于dpvs的后端服务器健康检测方法和服务器 |
CN111341445B (zh) * | 2020-02-05 | 2024-04-16 | 网宿科技股份有限公司 | 微服务调用链的健康检测方法和健康检测*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340327A (zh) * | 2008-08-21 | 2009-01-07 | 腾讯科技(深圳)有限公司 | 实现网络服务器负载均衡的方法、***和域名解析服务器 |
CN102088720A (zh) * | 2009-12-04 | 2011-06-08 | ***通信集团公司 | Ip多媒体子***网络中的网元监测方法、***和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7716367B1 (en) * | 2000-07-20 | 2010-05-11 | Akamai Technologies, Inc. | Network performance monitoring in a content delivery service |
-
2015
- 2015-08-27 CN CN201510535755.6A patent/CN105939228B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101340327A (zh) * | 2008-08-21 | 2009-01-07 | 腾讯科技(深圳)有限公司 | 实现网络服务器负载均衡的方法、***和域名解析服务器 |
CN102088720A (zh) * | 2009-12-04 | 2011-06-08 | ***通信集团公司 | Ip多媒体子***网络中的网元监测方法、***和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105939228A (zh) | 2016-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2849064B1 (en) | Method and apparatus for network virtualization | |
CN105024855B (zh) | 分布式集群管理***和方法 | |
US8806015B2 (en) | Workload-aware placement in private heterogeneous clouds | |
US7440415B2 (en) | Virtual network addresses | |
EP3596600B1 (en) | Systems and methods for compute node management protocols | |
CN108777640B (zh) | 一种服务器探测方法、装置、***及存储介质 | |
CN103051564B (zh) | 资源动态调配的方法和装置 | |
US20020129127A1 (en) | Apparatus and method for routing a transaction to a partitioned server | |
CN103945000B (zh) | 一种负载均衡方法及负载均衡器 | |
CN103414535B (zh) | 数据发送方法和数据接收方法及相关装置 | |
WO2015168312A1 (en) | Method and system for providing reference architecture pattern-based permissions management | |
CN105897827A (zh) | 服务器节点、局域网服务器集群及其实现方法 | |
CN108933829A (zh) | 一种负载均衡方法及装置 | |
CN105939228B (zh) | 一种健康检测方法及装置 | |
CN108989151B (zh) | 用于网络或应用性能管理的流量采集方法 | |
CN108600101A (zh) | 一种针对端到端时延性能优化的网络服务跨域编排方法 | |
GB2525469A (en) | Method and system for providing virtual asset management and verification | |
WO2016101780A1 (zh) | 一种虚拟化网络中业务部署的方法和装置 | |
CN106533973A (zh) | 分发业务消息的方法、设备和*** | |
CN114666335B (zh) | 一种基于数据分发服务dds的分布式***负载均衡装置 | |
CN113242299A (zh) | 多数据中心的容灾***、方法、计算机设备及介质 | |
CN104484219B (zh) | 虚拟化平台中下发策略的方法和装置 | |
CN105872082A (zh) | 基于容器集群负载均衡算法的细粒度资源响应*** | |
CN104363187A (zh) | 一种物联网网关资源响应方法和装置 | |
CN108270753A (zh) | 注销用户账号的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant after: Hangzhou Dipu Polytron Technologies Inc Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building Applicant before: Hangzhou Dipu Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |