CN105450466B - 一种icmp请求报文保活控制方法及系统 - Google Patents

一种icmp请求报文保活控制方法及系统 Download PDF

Info

Publication number
CN105450466B
CN105450466B CN201510763359.9A CN201510763359A CN105450466B CN 105450466 B CN105450466 B CN 105450466B CN 201510763359 A CN201510763359 A CN 201510763359A CN 105450466 B CN105450466 B CN 105450466B
Authority
CN
China
Prior art keywords
application program
keep
timing
alive
request messages
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
Application number
CN201510763359.9A
Other languages
English (en)
Other versions
CN105450466A (zh
Inventor
王栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201510763359.9A priority Critical patent/CN105450466B/zh
Publication of CN105450466A publication Critical patent/CN105450466A/zh
Application granted granted Critical
Publication of CN105450466B publication Critical patent/CN105450466B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开了一种ICMP请求报文保活控制方法及系统,该方法包括:当服务器中应用程序正常工作时,接收应用程序通过调用保活接口发送的启动指令;依据启动指令,启动内核定时器并开始计时;当内核定时器的计时超过预设时间,且在计时内保活接口未被应用程序调用时,认为应用程序出现故障不能正常地响应导流设备分流过来的数据服务,则停止应答ICMP请求报文,当导流设备无法收到该服务器的ICMP协议的应答报文时就不将流量传递给该服务器,从而解决了现有技术中当服务器中用来提供服务的应用程序出现问题时,部分服务无法响应的问题。

Description

一种ICMP请求报文保活控制方法及系统
技术领域
本发明涉及ICMP通信技术领域,特别是涉及一种ICMP请求报文保活控制方法及系统。
背景技术
目前,随着计算机技术以及信息网络技术的飞速发展,互联网越来越贴近人们的日常生活,它给人们工作和生活带来的便利也越来越多。
在互联网带来诸多便利的同时,互联网的数据量在井喷式增长,在某些特定用途的应用中,比如在提供数据访问服务、数据筛选过滤等服务的服务器中,需要分布式的集群服务器来处理大并发的数据,通常会使用导流设备将流量分流到集群服务器中不同的服务器,这样既可以实现负载均衡又可以进行流量分类。但是,在上述分流处理过程中,当某个服务器中用来提供服务的应用程序出现问题时,如果导流设备没有察觉,导流设备仍然会将数据传递给该服务器,这时,由于该服务器中用来提供服务的应用程序已经出现问题,就会出现数据并没有被实际处理的现象,进而导致部分服务无法响应的问题。
发明内容
有鉴于此,本发明提供了一种ICMP请求报文保活控制方法及系统,以解决现有技术中当服务器中用来提供服务的应用程序出现问题时,部分服务无法响应的问题。
为解决上述技术问题,本发明提供一种ICMP请求报文保活控制方法,包括:
当服务器中应用程序正常工作时,接收所述应用程序定时定期周期通过调用保活接口发送的启动指令;
依据所述启动指令,启动内核定时器并开始计时;
当所述内核定时器的计时超过预设时间,且在所述计时内所述保活接口未被所述应用程序调用时,则停止应答导流设备发送的ICMP请求报文。
上述方法中,优选的,还包括:
当所述应用程序正常工作时,接收导流设备发送的ICMP请求报文,并向所述导流设备反馈ICMP应答报文。
上述方法中,优选的,还包括:
当所述应用程序正常工作时,接收所述应用程序通过调用所述保活接口发送的关闭指令,并关闭所述内核定时器并停止计时。
上述方法中,优选的,还包括:
当所述应用程序正常工作时,接收所述应用程序通过调用所述保活接口发送的延时指令,并在所述预设时间上顺延预设延时时间。
本发明还提供了一种ICMP请求报文保活控制系统,包括:
指令接收单元,用于服务器中应用程序正常工作时,接收所述应用程序定时定期周期通过调用保活接口发送的启动指令;
计时启动单元,用于依据所述启动指令,启动内核定时器并开始计时;
应答停止单元,用于当所述内核定时器的计时超过预设时间,且在所述计时内所述保活接口未被所述应用程序调用时,则停止应答导流设备发送的ICMP请求报文。
上述系统中,优选的,还包括:
应答单元,用于当所述应用程序正常工作时,接收导流设备发送的ICMP请求报文,并向所述导流设备反馈ICMP应答报文。
上述系统中,优选的,还包括:
关闭单元,用于当所述应用程序正常工作时,接收所述应用程序通过调用所述保活接口发送的关闭指令,并关闭所述内核定时器并停止计时。
上述系统中,优选的,还包括:
延时单元,用于当所述应用程序正常工作时,接收所述应用程序通过调用所述保活接口发送的延时指令,并在所述预设时间上顺延预设延时时间。
以上本发明提供的一种ICMP请求报文保活控制方法及系统中,在服务器中,用户空间的应用程序通过调用保活接口与内核空间的ICMP请求报文保活控制系统进行通信。当应用程序正常工作时,应用程序会定时定期调用保活接口向ICMP请求报文保活控制系统发送启动指令,ICMP请求报文保活控制系统在接收到启动指令后启动内核定时器并开始计时;当所述内核定时器的计时超过预设时间,且在所述计时内所述保活接口未被所述应用程序调用时,认为应用程序出现故障不能正常地响应导流设备分流过来的数据服务,则停止应答ICMP请求报文,当导流设备无法收到该服务器的ICMP协议的应答报文时就不将流量传递给该服务器,从而解决了现有技术中当服务器中用来提供服务的应用程序出现问题时,部分服务无法响应的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种ICMP请求报文保活控制方法的流程图;
图2为本发明实施例提供的一种ICMP请求报文保活控制系统的结构框图示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的核心是提供一种ICMP请求报文保活控制方法及系统,以解决现有技术中当服务器中用来提供服务的应用程序出现问题时,部分服务无法响应的问题。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
参考图1,图1示出了本发明实施例提供的一种ICMP请求报文保活控制方法的流程图,该方法具体可以包括如下步骤:
步骤S100、当服务器中应用程序正常工作时,接收应用程序定时定期周期通过调用保活接口发送的启动指令。
本发明实施例所提供的ICMP请求报文保活控制方法的执行主体为ICMP请求报文保活控制系统,具体实施中,该系统承载于服务器中,导流设备通过发送ICMP请求报文进行保活,根据是否收到来自服务器相应的应答报文来判断是否将流量导入对应的服务器。
在实际应用中,服务器中用户空间的应用程序通过调用保活接口与内核空间的ICMP请求报文保活控制系统进行通信。只要应用程序处于正常工作状态,其会根据具体需要向ICMP请求报文保活控制系统发送启动指令,该系统在接收到启动指令后会执行步骤S101,即启动内核定时器并开始计时。其中,保活接口为通用的编程函数接口。
另外,应用程序也可以根据具体需要向系统发送延时指令和关闭指令,其中,延时指令用于在情况需要延时的时候对用来判断计时是否超时的预设时间进行延时,以避免由于正常的处理延时使得应用程序无法在预设时间内对保活接口进行调用,而认为应用程序出现故障的错误判断;关闭指令用于关闭内核定时器,一旦内核定时器关闭了,也就意味着ICMP请求报文保活控制系统失效,本发明实施例提供这一功能,以便本领域技术人员根据实际情况进行使用。
步骤S101、依据启动指令,启动内核定时器并开始计时。
本发明的方法是在用户空间的应用程序调用该保活接口传递参数,参数设定包括ipv4或ipv6协议标识和初始化或关闭或延时操作,然后,动态库通过添加的系统调用号陷入到内核空间去执行。在内核空间中会根据用户空间传递进来的参数进行相关的操作。当应用程序正常工作时,该系统接收应用程序通过调用保活接口发送的延时指令,并在预设时间上顺延预设延时时间。当应用程序正常工作时,接收应用程序通过调用保活接口发送的关闭指令,并关闭内核定时器并停止计时。
步骤S102、当内核定时器的计时超过预设时间,且在计时内保活接口未被应用程序调用时,则停止应答导流设备发送的ICMP请求报文。
当内核定时器的计时超过预设时间,且在计时内保活接口未被应用程序调用时,认为应用程序出现故障不能正常地响应导流设备分流过来的数据服务,则停止应答ICMP请求报文,当导流设备无法收到该服务器的ICMP协议的应答报文时就不将流量传递给该服务器,从而解决了现有技术中当服务器中用来提供服务的应用程序出现问题时,部分服务无法响应的问题。
另外,在上述步骤的实现过程中,将ICMP协议保活超时处理和接口调用延时分离,使得应用软件在提供服务的过程中出现崩溃等异常情况时,由于应用软件无法继续通过编程接口延长内核定时器的超时时间,内核定时器超时处理函数就会禁止应答ICMP协议请求,那么导流设备收不到该服务器的应答就不会将数据流量导入该服务器,从而避免了应用服务被中断的情况。同时,由于增加了ICMP协议的禁止应答请求报文的功能,所以也支持ipv6协议的ICMP的保活功能。同时,由服务器的内核系统与应用软件的互动来通知导流设备该应用软件的状态,无需应用软件本身再与导流设备互动,无需应用软件自己构造网络保活数据包,所以使用本发明能够做到简单方便的与上游网络设备进行保活。
在内核定时器开始计时至计时超过预设时间之前,如果应用程序调用过保活接口(向该系统发送过启动指令或者延时指令),认为应用程序没有出现故障,此时,当该系统接收到导流设备发送的ICMP请求报文时,由于应用程序没有出现故障,其可以正常地响应服务,所以该系统可以向导流设备反馈ICMP应答报文,以告知导流设备服务器中用于提供服务的应用程序能够正常提供服务,基于此,导流设备才会向服务器分流,以此保证分流至服务器的数据能够得到正常响应。
对于上述本发明所提供的技术方案在实际应用中的具体实施过程,首先修改linux内核源码,添加系统调用号,然后添加与该系统调用号对应的系统调用,以此实现该系统调用在内核空间的具体实现。其中,分配一个内核版本没有使用的系统调用号,避免与内核系统已经使用的系统调用产生冲突。同时,该添加的系统调用号和系统调用的具体实现绑定,然后实现内核定时器的超时处理操作。同时,在内核源码中添加禁止应答ICMP协议的请求报文的变量,修改内核网络协议栈的代码,当禁止应答ICMP协议请求报文的变量生效时禁止回复ICMP的请求报文,然后编程生成新的linux内核,将编译生成的新内核替换掉系统原有的linux内核。用户空间编译生成该编程接口的动态库和头文件,然后将动态库和头文件放入系统响应的位置,在应用程序服务软件中调用该编程接口,同时在编译该应用软件时指定连接上述系统编程接口的动态库,然后运行该应用软件即可。
基于上述本发明实施例提供的ICMP请求报文保活控制方法,本发明实施例还提供了一种ICMP请求报文保活控制系统,参考图2,该系统200可以包括如下内容:
指令接收单元201,用于服务器中应用程序正常工作时,接收应用程序定时定期周期通过调用保活接口发送的启动指令;
计时启动单元202,用于依据启动指令,启动内核定时器并开始计时;
应答停止单元203,用于当内核定时器的计时超过预设时间,且在计时内保活接口未被应用程序调用时,则停止应答导流设备发送的ICMP请求报文。
本发明中,上述系统200还可以包括应答单元,用于当应用程序正常工作时,接收导流设备发送的ICMP请求报文,并向导流设备反馈ICMP应答报文。
本发明中,上述系统200还可以包括关闭单元,用于当应用程序正常工作时,接收应用程序通过调用保活接口发送的关闭指令,并关闭内核定时器并停止计时。
本发明中,上述系统200还可以包括延时单元,用于当应用程序正常工作时,接收应用程序通过调用保活接口发送的延时指令,并在预设时间上顺延预设延时时间。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种ICMP请求报文保活控制方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (8)

1.一种ICMP请求报文保活控制方法,其特征在于,包括:
当服务器中应用程序正常工作时,接收所述应用程序定时定期周期通过调用保活接口发送的启动指令;
依据所述启动指令,启动内核定时器并开始计时;
当所述内核定时器的计时超过预设时间,且在所述计时内所述保活接口未被所述应用程序调用时,则停止应答导流设备发送的ICMP请求报文。
2.如权利要求1所述的方法,其特征在于,还包括:
当所述应用程序正常工作时,接收导流设备发送的ICMP请求报文,并向所述导流设备反馈ICMP应答报文。
3.如权利要求1或2所述的方法,其特征在于,还包括:
当所述应用程序正常工作时,接收所述应用程序通过调用所述保活接口发送的关闭指令,并关闭所述内核定时器并停止计时。
4.如权利要求3所述的方法,其特征在于,还包括:
当所述应用程序正常工作时,接收所述应用程序通过调用所述保活接口发送的延时指令,并在所述预设时间上顺延预设延时时间。
5.一种ICMP请求报文保活控制系统,其特征在于,包括:
指令接收单元,用于服务器中应用程序正常工作时,接收所述应用程序定时定期周期通过调用保活接口发送的启动指令;
计时启动单元,用于依据所述启动指令,启动内核定时器并开始计时;
应答停止单元,用于当所述内核定时器的计时超过预设时间,且在所述计时内所述保活接口未被所述应用程序调用时,则停止应答导流设备发送的ICMP请求报文。
6.如权利要求5所述的系统,其特征在于,还包括:
应答单元,用于当所述应用程序正常工作时,接收导流设备发送的ICMP请求报文,并向所述导流设备反馈ICMP应答报文。
7.如权利要求5或6所述的系统,其特征在于,还包括:
关闭单元,用于当所述应用程序正常工作时,接收所述应用程序通过调用所述保活接口发送的关闭指令,并关闭所述内核定时器并停止计时。
8.如权利要求7所述的系统,其特征在于,还包括:
延时单元,用于当所述应用程序正常工作时,接收所述应用程序通过调用所述保活接口发送的延时指令,并在所述预设时间上顺延预设延时时间。
CN201510763359.9A 2015-11-10 2015-11-10 一种icmp请求报文保活控制方法及系统 Active CN105450466B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510763359.9A CN105450466B (zh) 2015-11-10 2015-11-10 一种icmp请求报文保活控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510763359.9A CN105450466B (zh) 2015-11-10 2015-11-10 一种icmp请求报文保活控制方法及系统

Publications (2)

Publication Number Publication Date
CN105450466A CN105450466A (zh) 2016-03-30
CN105450466B true CN105450466B (zh) 2018-11-02

Family

ID=55560270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510763359.9A Active CN105450466B (zh) 2015-11-10 2015-11-10 一种icmp请求报文保活控制方法及系统

Country Status (1)

Country Link
CN (1) CN105450466B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107819599B (zh) * 2016-09-13 2022-09-30 中兴通讯股份有限公司 报文处理方法及装置
CN106708617B (zh) * 2016-12-23 2019-12-03 武汉斗鱼网络科技有限公司 一种基于Service的应用进程保活系统及保活方法
CN114629968B (zh) * 2022-03-03 2024-05-28 南京国电南自电网自动化有限公司 一种继电保护装置的通信保活系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477801A (zh) * 2002-08-19 2004-02-25 上海贝尔有限公司 一种用于通信系统的基于自陷保护与调试装置
WO2005003974A2 (en) * 2003-06-30 2005-01-13 Thomson Licensing Network equipment and a method for monitoring the start up of a such an equipment
CN1592225A (zh) * 2003-08-27 2005-03-09 国际商业机器公司 用于在群集中进行故障解决的方法和系统
CN1791031A (zh) * 2004-12-14 2006-06-21 华为技术有限公司 媒体网关监测媒体网关控制器状态的实现方法
CN101242417A (zh) * 2008-03-03 2008-08-13 中兴通讯股份有限公司 一种接入用户的ip保活方法及接入服务器
CN104636212A (zh) * 2014-12-29 2015-05-20 漳州科能电器有限公司 一种嵌入式操作系统看门狗实现方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1477801A (zh) * 2002-08-19 2004-02-25 上海贝尔有限公司 一种用于通信系统的基于自陷保护与调试装置
WO2005003974A2 (en) * 2003-06-30 2005-01-13 Thomson Licensing Network equipment and a method for monitoring the start up of a such an equipment
CN1592225A (zh) * 2003-08-27 2005-03-09 国际商业机器公司 用于在群集中进行故障解决的方法和系统
CN1791031A (zh) * 2004-12-14 2006-06-21 华为技术有限公司 媒体网关监测媒体网关控制器状态的实现方法
CN101242417A (zh) * 2008-03-03 2008-08-13 中兴通讯股份有限公司 一种接入用户的ip保活方法及接入服务器
CN104636212A (zh) * 2014-12-29 2015-05-20 漳州科能电器有限公司 一种嵌入式操作系统看门狗实现方法

Also Published As

Publication number Publication date
CN105450466A (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
US7177952B1 (en) Method and system for switching between two network access technologies without interrupting active network applications
CN103312528B (zh) 一种心跳消息发送方法及用户终端
CN110633442A (zh) 一种推送方法、装置及电子设备
CN105450466B (zh) 一种icmp请求报文保活控制方法及系统
WO2015154350A1 (zh) 上网流量分享处理方法、装置及终端
CN106031287B (zh) 一种随机接入的方法、终端及基站
CN110808873B (zh) 一种检测链路故障的方法及装置
CN106101171B (zh) 服务器连接方法及装置
CN102571996A (zh) Ip地址分配方法、装置以及网络系统
CN106954270A (zh) 无线资源控制流程监测方法和设备
CN108307512A (zh) 一种连接态的恢复方法及装置
CN103200093A (zh) 一种提高多vrrp备份组的处理性能的方法和装置
CN108243222A (zh) 服务器网络架构方法及装置
CN105228238A (zh) 一种周期性保活传输方法、设备及系统
CN106470436A (zh) 一种确定非激活定时器时长的方法及网络侧设备
CN104079398B (zh) 一种数据通信方法、装置及系统
EP2380334B1 (en) Systems and methods for changing the address of an interface
CN109257435B (zh) 基于消息中间件的多实例多子系统应用的通信系统
EP3195528B1 (en) Application control interworking in network
US20190036793A1 (en) Network service implementation method, service controller, and communications system
CN108306744A (zh) 计费会话管理方法和设备
CN103973588A (zh) 数据业务加速方法及装置
JP2017142716A (ja) 処理制御プログラム、処理制御装置及び処理制御方法
CN102710470B (zh) 一种m2m通信方法及处理设备
CN107729158A (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
GR01 Patent grant
GR01 Patent grant