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

文档序号:9690809阅读:550来源:国知局
一种icmp请求报文保活控制方法及系统的制作方法
【技术领域】
[0001]本发明涉及ICMP通信技术领域,特别是涉及一种ICMP请求报文保活控制方法及系统。
【背景技术】
[0002]目前,随着计算机技术以及信息网络技术的飞速发展,互联网越来越贴近人们的日常生活,它给人们工作和生活带来的便利也越来越多。
[0003]在互联网带来诸多便利的同时,互联网的数据量在井喷式增长,在某些特定用途的应用中,比如在提供数据访问服务、数据筛选过滤等服务的服务器中,需要分布式的集群服务器来处理大并发的数据,通常会使用导流设备将流量分流到集群服务器中不同的服务器,这样既可以实现负载均衡又可以进行流量分类。但是,在上述分流处理过程中,当某个服务器中用来提供服务的应用程序出现问题时,如果导流设备没有察觉,导流设备仍然会将数据传递给该服务器,这时,由于该服务器中用来提供服务的应用程序已经出现问题,就会出现数据并没有被实际处理的现象,进而导致部分服务无法响应的问题。

【发明内容】

[0004]有鉴于此,本发明提供了一种ICMP请求报文保活控制方法及系统,以解决现有技术中当服务器中用来提供服务的应用程序出现问题时,部分服务无法响应的问题。
[0005]为解决上述技术问题,本发明提供一种ICMP请求报文保活控制方法,包括:
[0006]当服务器中应用程序正常工作时,接收所述应用程序通过调用保活接口发送的启动指令;
[0007]依据所述启动指令,启动内核定时器并开始计时;
[0008]当所述内核定时器的计时超过预设时间,且在所述计时内所述保活接口未被所述应用程序调用时,则停止应答ICMP请求报文。
[0009]上述方法中,优选的,还包括:
[0010]当所述应用程序正常工作时,接收导流设备发送的ICMP请求报文,并向所述导流设备反馈ICMP应答报文。
[0011]上述方法中,优选的,还包括:
[0012]当所述应用程序正常工作时,接收所述应用程序通过调用所述保活接口发送的关闭指令,并关闭所述内核定时器并停止计时。
[0013]上述方法中,优选的,还包括:
[0014]当所述应用程序正常工作时,接收所述应用程序通过调用所述保活接口发送的延时指令,并在所述预设时间上顺延预设延时时间。
[0015]本发明还提供了一种ICMP请求报文保活控制系统,包括:
[0016]指令接收单元,用于服务器中应用程序正常工作时,接收所述应用程序通过调用保活接口发送的启动指令;
[0017]计时启动单元,用于依据所述启动指令,启动内核定时器并开始计时;
[0018]应答停止单元,用于当所述内核定时器的计时超过预设时间,且在所述计时内所述保活接口未被所述应用程序调用时,则停止应答ICMP请求报文。
[0019]上述系统中,优选的,还包括:
[0020]应答单元,用于当所述应用程序正常工作时,接收导流设备发送的ICMP请求报文,并向所述导流设备反馈ICMP应答报文。
[0021]上述系统中,优选的,还包括:
[0022]关闭单元,用于当所述应用程序正常工作时,接收所述应用程序通过调用所述保活接口发送的关闭指令,并关闭所述内核定时器并停止计时。
[0023]上述系统中,优选的,还包括:
[0024]延时单元,用于当所述应用程序正常工作时,接收所述应用程序通过调用所述保活接口发送的延时指令,并在所述预设时间上顺延预设延时时间。
[0025]以上本发明提供的一种ICMP请求报文保活控制方法及系统中,在服务器中,用户空间的应用程序通过调用保活接口与内核空间的ICMP请求报文保活控制系统进行通信。当应用程序正常工作时,应用程序会定时定期调用保活接口向ICMP请求报文保活控制系统发送启动指令,ICMP请求报文保活控制系统在接收到启动指令后启动内核定时器并开始计时;当所述内核定时器的计时超过预设时间,且在所述计时内所述保活接口未被所述应用程序调用时,认为应用程序出现故障不能正常地响应导流设备分流过来的数据服务,则停止应答ICMP请求报文,当导流设备无法收到该服务器的ICMP协议的应答报文时就不将流量传递给该服务器,从而解决了现有技术中当服务器中用来提供服务的应用程序出现问题时,部分服务无法响应的问题。
【附图说明】
[0026]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0027]图1为本发明实施例提供的一种ICMP请求报文保活控制方法的流程图;
[0028]图2为本发明实施例提供的一种ICMP请求报文保活控制系统的结构框图示意图。
【具体实施方式】
[0029]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0030]本发明的核心是提供一种ICMP请求报文保活控制方法及系统,以解决现有技术中当服务器中用来提供服务的应用程序出现问题时,部分服务无法响应的问题。
[0031]为了使本技术领域的人员更好地理解本发明方案,下面结合附图和【具体实施方式】对本发明作进一步的详细说明。
[0032]参考图1,图1示出了本发明实施例提供的一种ICMP请求报文保活控制方法的流程图,该方法具体可以包括如下步骤:
[0033]步骤S100、当服务器中应用程序正常工作时,接收应用程序通过调用保活接口发送的启动指令。
[0034]本发明实施例所提供的ICMP请求报文保活控制方法的执行主体为ICMP请求报文保活控制系统,具体实施中,该系统承载于服务器中,导流设备通过发送ICMP请求报文进行保活,根据是否收到来自服务器相应的应答报文来判断是否将流量导入对应的服务器。
[0035]在实际应用中,服务器中用户空间的应用程序通过调用保活接口与内核空间的ICMP请求报文保活控制系统进行通信。只要应用程序处于正常工作状态,其会根据具体需要向ICMP请求报文保活控制系统发送启动指令,该系统在接收到启动指令后会执行步骤S101,即启动内核定时器并开始计时。其中,保活接口为通用的编程函数接口。
[0036]另外,应用程序也可以根据具体需要向系统发送延时指令和关闭指令,其中,延时指令用于在情况需要延时的时候对用来判断计时是否超时的预设时间进行延时,以避免由于正常的处理延时使得应用程序无法在预设时间内对保活接口进行调用,而认为应用程序出现故障的错误判断;关闭指令用于关闭内核定时器,一旦内核定时器关闭了,也就意味着ICMP请求报文保活控制系统失效,本发明实施例提供这一功能,以便本领域技术人员根据实际情况进行使用。
[0037]步骤S101、依据启动指令,启动内核定时器并开始计时。
[0038]本发明的方法是在用户空间的应用程序调用该保活接口传递参数,参数设定包括ipv4或ipv6协议标识和初始化或关闭或延时操作,然后,动态库通过添加的系统调用号陷入到内核空间去执行。在内核空间中会根据用户空间传递进来的参数进行相关的操作。当应用程序正常工作时,该系统接收应用程序通过调用保活接口发送的延时指令,并在预设时间上顺延预设延时时间。当应用程序正常工作时,接收应用程序通过调用保活接口发送的关闭指令,并关闭内核定
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1