一种检测方法及服务器的制造方法

文档序号:6540089阅读:157来源:国知局
一种检测方法及服务器的制造方法
【专利摘要】本发明实施例公开了一种检测方法及服务器,包括:获取本端当前时间周期内特定时间段的第一被占用值,所述第一被占用值表示资源的被占用率;将所述第一被占用值与预先获取的第二被占用值进行比较,所述第二被占用值为历史时间周期内的所述特定时间段的资源被占用率;当所述第一被占用值与所述第二被占用值的差值超过第一预设阈值时,则确定所述本端出现故障,并对所述故障进行修复。采用本发明,不仅可以检测出服务器当前的负载情况,还可以检测出服务器是否存在故障,检测方法实用性强。
【专利说明】—种检测方法及服务器
【技术领域】
[0001]本发明涉及电子【技术领域】,尤其涉及一种检测方法及服务器。
【背景技术】
[0002]随着电子技术的发展,服务器的功能越来越强大,可以连接的应用程序数量逐步增加,可以负载的业务也越来越多样化,但是服务器所能接收的负载是有限的。因为服务器内的资源被占有率只能在指定范围内,例如服务器的内存与CPU的被占用率超过指定范围时,服务器反映很慢,严重者会发生故障,所以服务器等的资源被占用率成为一个重要的研究方向。通常,现有的监控服务器的资源被占用率的方法为,在某段时间内,利用监控软件监控服务器的资源被占用率,当服务器的资源被占用率超过某个阀值时,则会产生报警。但在实际应用中,资源被占用率的变化,可能预示着服务器已经存在某些故障。比如说,如果某个服务器存在内存泄漏,则会不断消耗更多的内存,如果不及时处理,物理内存最终会被其全部消耗,从而导致系统崩溃,用户服务突然中断。现有的通过监控软件监控服务器资源被占用率的方法,只能检测当前资源被占用率过大,负载过重,并不能分析出当前服务器的运行状况,不能检测出服务器是否出现故障等。所以现有的监控服务器资源被占用率的方法实用性不强。

【发明内容】

[0003]本发明实施例提供一种检测方法及服务器,不仅可以检测出服务器当前的负载情况,还可以检测出服务器是否存在故障,检测方法实用性强。
[0004]本发明实施例提供了一种检测方法,包括:
[0005]获取本端当前时间周期内特定时间段的第一被占用值,所述第一被占用值表示资源被占用率;
[0006]将所述第一被占用值与预先获取的第二被占用值进行比较,所述第二被占用值为历史时间周期内的所述特定时间段的资源被占用率;
[0007]当所述第一被占用值与所述第二被占用值的差值超过第一预设阈值时,则确定所述本端出现故障,并对所述故障进行修复。
[0008]相应地,本发明实施例还提供了一种服务器,包括:
[0009]第一获取模块,用于获取本端当前时间周期内特定时间段的第一被占用值,所述第一被占用值表示资源的被占用率;
[0010]比较模块,用于将所述第一被占用值与预先获取的第二被占用值进行比较,所述第二被占用值为历史时间周期内的所述特定时间段的资源被占用率;
[0011]第一确定模块,用于当所述第一被占用值与所述第二被占用值的差值超过第一预设阈值时,则确定所述本端出现故障,并对所述故障进行修复。
[0012]本发明实施例中,根据当前时间周期内特定时间段资源的被占用率与历史时间周期内特定时间段的资源被占用率的比较结果确定本端服务器是否存在故障,这种检测方法不仅可以检测出服务器当前的负载情况,还可以检测出服务器是否存在故障,检测方法实用性强。
【专利附图】

【附图说明】
[0013]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014]图1是本发明实施例提供的一种检测方法的流程示意图;
[0015]图2是本发明实施例提供的另一种检测方法的流程示意图;
[0016]图3是本发明实施例提供的又一种检测方法的流程示意图;
[0017]图4是本发明实施例提供的一种服务器的结构示意图;
[0018]图5是本发明实施例提供的另一种服务器的结构示意图。
【具体实施方式】
[0019]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0020]本发明实施例所述的资源可以是服务器的内存,可以是服务器的CPU,也可以是服务器的内存和CPU,被占用值可以指资源的使用率,例如若资源为服务器的内存,则被占用值指服务器的内存使用率,若资源为服务器的CPU,则被占用值指服务器的CPU使用率,若资源为服务器的内存和CPU,则被占用值指服务器的内存和CPU的使用率。
[0021]请参照图1,是本发明实施例提供的一种检测方法的流程示意图;如图1所述,本实施例所述的一种检测方法包括步骤:
[0022]S100,获取本端当前时间周期内特定时间段的第一被占用值,所述第一被占用值表示资源被占用率;
[0023]具体实施例中,时间周期可以为一天、半天或者两天,在时间周期内,由于本端服务器连接的应用程序的不同,可以分为高峰期和空闲期,在高峰期连接的应用程序多,则资源被占用率比较高,在空闲期,连接的应用程序比较少,则资源被占用率比较低,时间周期内的特定时间段可以为高峰期中的一个时间段,也可以为空闲期中的一个时间段,这里以每天早上10点到12点为高峰期进行举例说明,时间周期为一天,则在当前一天早上10点到12点时间段内获取第一被占用值,第一被占用值为资源被占用率,资源被占用率可以为内存使用率,可以为CPU使用率,也可以为内存和CPU使用率,需要说明的是,第一被占用值可以为在当前时间周期内特定时间段内所采集的资源被占用率的平均值,也可以为在当前时间周期内特定时间段内所采集的资源被占用率的峰值。
[0024]S101,将所述第一被占用值与预先获取的第二被占用值进行比较,所述第二被占用值为历史时间周期内的所述特定时间段的资源被占用率;
[0025]具体实施例中,时间周期可以为一天、半天或者两天,在时间周期内,由于本端服务器连接的应用程序的不同,可以分为高峰期和空闲期,在高峰期连接的应用程序多,则资源被占用率比较高,在空闲期,连接的应用程序比较少,则资源被占用率比较低,时间周期内的特定时间段可以为高峰期中的一个时间段,也可以为空闲期中的一个时间段,历史时间周期为当前时间周期之前的时间周期,需要说明的是,这里的历史时间周期的时长需要与当前时间周期的时长相同,且历史时间周期内的特定时间段与当前时间周期内的特定时间段相同,例如当前时间周期特定时间段为当前一天早上10点到12点高峰期,则历史时间周期内特定时间段可以为当前一天之前的每天早上10点到12点高峰期,预先获取的历史时间周期内特定时间段的第二被占用值可以为多个历史时间周期内的第二被占用值,第二被占用值可以为在历史时间周期内特定时间段内所采集的资源被占用率的平均值,也可以为在历史时间周期内特定时间段内所采集的资源被占用率的峰值,但是第二被占用值需要与第一被占用值统一,若为平均值则都为平均值,若为峰值则都为峰值。
[0026]S102,当所述第一被占用值与所述第二被占用值的差值超过第一预设阈值时,则确定所述本端出现故障,并对所述故障进行修复。
[0027]具体实施例中,将所获取的第一被占用值与第二被占用值作差,并将所得到的差值与第一预设阈值进行比较,根据比较结果确定本端是否存在故障,需要说明的是,若所获取的第二被占用值为一个历史时间周期内的特定时间段的资源被占用率,则直接将第一被占用值与第二占用值进行作差,并将差值与第一预设阈值进行比较,如果差值超过第一预设阈值则表明本端服务器存在故障,可能是内存泄露,不断消耗更多的内存,需要及时处理。若所获取的第二被占用值为多个历史时间周期内特定时间段的资源被占用率,则需要将当前时间周期内特定时间段内的第一被占用值与所有历史时间周期内特定时间段的第二被占用值进行作差,当前时间周期内特定时间段的第一被占用值与多个历史时间周期内的第一被占用值的差值都超过第一预设阈值,则表明本端出现故障,进一步的,对所存在的故障进行修复。
[0028]本发明实施例中,根据当前时间周期内特定时间段资源的被占用率与历史时间周期内特定时间段的资源被占用率的比较结果确定本端服务器是否存在故障,这种检测方法不仅可以检测出服务器当前的负载情况,还可以检测出服务器是否存在故障,检测方法实用性强。
[0029]请参照图2,是本发明实施例提供的另一种检测方法的流程示意图;如图2所述,本实施例所述的一种检测方法包括步骤:
[0030]S200,获取所述本端至少一个历史时间周期的第二被占用值,所述历史时间周期的第二被占用值为该历史时间周期内所述特定时间段的至少一个被占用值的平均值;
[0031]具体实施例中,被占用值为所采集的时间点对应的资源被占用率,资源可以是服务器的内存,可以是服务器的CPU,也可以是服务器的内存和CPU,被占用值可以指资源的使用率,例如若资源为服务器的内存,则被占用值指服务器的内存使用率,若资源为服务器的CPU,则被占用值指服务器的CPU使用率,若资源为服务器的内存和CPU,则被占用值指服务器的内存和CPU的使用率。获取至少一个历史时间周期的第二被占用值,一个历史时间周期对应一个第二被占用值,具体的,获取一个历史时间周期内的第二被占用值的方法为,首先获取一个历史时间周期内多个被占用值,进一步的,获取一个历史时间周期内多个被占用值的方法可以是按照一定的预设周期采集一个历史时间周期内服务器的资源被占用率,例如可以以5分钟为周期采集10点到12点内的被占用值,一个采集时间点对应一个被占用值,然后计算第二被占用值,第二被占用值为一个历史时间周期内特定时间段所采集的多个被占用值的平均值,获取多个历史时间周期的第二被占用值中,每一个历史时间周期的第二被占用值的获取方法相同,需要说明的是,每一个历史时间周期的特定时间段相同。
[0032]S201,获取本端当前时间周期内特定时间段的至少一个被占用值;
[0033]具体实施例中,被占用值为所采集的时间点对应的资源被占用率,资源可以是服务器的内存,可以是服务器的CPU,也可以是服务器的内存和CPU,被占用值可以指资源的使用率,例如若资源为服务器的内存,则被占用值指服务器的内存使用率,若资源为服务器的CPU,则被占用值指服务器的CPU使用率,若资源为服务器的内存和CPU,则被占用值指服务器的内存和CPU的使用率。具体的获取当前时间周期内特定时间段的多个被占用值的方法为,按照一定的预设周期采集当前时间周期内服务器的资源被占用率,需要说明的是,该预设周期需要与历史时间周期内采集被占用值的预设周期相同,且当前时间周期的特定时间段也与历史时间周期的特定时间段相同,例如可以以5分钟为周期采集当天10点到12点内的被占用值,一个采集时间点对应一个被占用值。
[0034]S202,计算所述至少一个被占用值的平均值,并将所述平均值作为当前时间周期内特定时间段的第一被占用值。
[0035]具体实施例中,将所采集获取的一个当前时间周期内的多个被占用值进行平均计算,具体的计算方法为,例如,当前时间周期内所采集的多个被占用值分别为R1,R2,R3,R4,R5,R6,则将所获取的多个被占用值进行平均计算为R= (Rl+R2+R3+R4+R5+R6)/6,则R即为当前时间周期内特定时间段的第一被占用值。
[0036]S203,将所述第一被占用值与所述至少一个历史时间周期的第二被占用值进行比较;
[0037]将当前时间周期内特定时间段的第一被占用值与每一个历史时间周期的特定时间段的第二被占用值进行比较,需要说明的是,一个历史时间周期对应一个第二被占用值,所以当有多个历史时间周期时,则有多个第二被占用值,比较的次数与历史周期的数量相同。
[0038]S204,根据比较结果确定异常第二被占用值的数量,所述异常第二被占用值为所述至少一个历史时间周期的第二被占用值中与所述第一被占用值的差值超过第一预设阈值的第二被占用值;
[0039]具体实施例中,异常第二被占用值的确定方式为,当当前时间周期内特定时间段的第一被占用值与历史时间周期内特定时间段的第二被占用值的比较差值大于第一预设阈值时,则将相应的第二被占用值确定为异常第二被占用值,最后统计确定为异常第二被占用值的数量,需要说明的是,第一预设阈值可以由用户确定。
[0040]S205,当所述异常第二被占用值的数量大于或者等于第二预设阈值时,则确定所述本端出现故障。
[0041]具体实施例中,统计异常第二被占用值的数量,当异常第二被占用值的数量大于或者等于第二预设阈值时,则确定本端出现故障,需要说明的是,这种确定本端出现故障的方法比较精确,只有当达到一定数量的第二被占用值比第一被占用值差值大时,才确定本端出现故障,当出现故障时,则第一被占用值会比大多数的第二被占用值大,出现了异常波动,则确定本端出现故障,若只是比很少的一部分第二被占用值大,则可能是第二被占用值为不正常数据,第一被占用值是属于正常数据。
[0042]本发明实施例中,根据当前时间周期内特定时间段资源的被占用率与历史时间周期内特定时间段的资源被占用率的比较结果确定本端服务器是否存在故障,这种检测方法不仅可以检测出服务器当前的负载情况,还可以检测出服务器是否存在故障,检测方法实用性强。
[0043]请参照图3,是本发明实施例提供的又一种检测方法的流程示意图;如图3所述,本实施例所述的一种检测方法包括步骤:
[0044]S300,获取本端当前时间周期内特定时间段的第一被占用值,所述第一被占用值表示资源的被占用率;
[0045]具体实施例中,本发明实施例步骤S300,请参照图1所示的实施例步骤S100,在此不进行赘述。
[0046]S301,将所述第一被占用值与预先获取的第二被占用值进行比较,所述第二被占用值为历史时间周期内的所述特定时间段的资源被占用率;
[0047]具体实施例中,本发明实施例步骤S301,请参照图1所示的实施例步骤S101,在此不进行赘述。
[0048]S302,当所述第一被占用值与所述第二被占用值的差值超过第一预设阈值时,则确定所述本端出现故障。
[0049]具体实施例中,本发明实施例步骤S302,请参照图1所示的实施例步骤S102,在此不进行赘述。
[0050]S303,获取当前时间周期内特定时间段所述本端所运行的服务的至少一个占用信息,所述占用信息包括所述服务占用所述资源的占用率和所述服务连接的应用程序的数量;
[0051]具体实施例中,当确定本端服务器存在故障时,则需要进一步分析本端服务器所运行的服务中具体是哪一个服务出现了故障,具体的确定服务器中哪一个服务存在故障的方法为,获取所运行的服务的占用信息,需要说明的是,本端服务器所运行的服务可以为多个服务,所以当获取服务的占用信息时,需要获取每一个服务的占用信息,且每一个服务占用信息的获取方法相同,对于一个服务来说,按照一定的预设时间周期采集当前时间周期内特定时间段的占用信息,例如可以以2分钟为预设时间周期获取当前一天10点到12点的服务占用信息,需要说明的是,这里的预设时间周期与获取第一占用信息时的时间周期可以不同,也可以相同。进一步的,占用信息包括所采集的时间点所对应的资源的占用率和服务连接的应用程序的数量。
[0052]S304,若所述至少一个占用信息满足预设告警规则,则确定所述服务存在故障,并将存在故障的所述服务确定为本端所出现的故障。。
[0053]具体实施例中,若所采集获取的某个服务的多个占用信息满足预设的告警规则时,则确定该服务存在故障,并将存在故障的服务确定为本端所出现的故障,即是将本端所出现的故障进行进一步的具体到本端所运行的服务。需要说明的是,预设的告警规则为以下规则中的至少一种,规则1,当,至少一个占用信息中的服务连接的应用程序的数量相同时,至少一个占用信息中的服务占用资源的占用率递增;规则2,当,至少一个占用信息中的服务连接的应用程序的数量增加,至少一个占用信息中的服务占用资源的占用率以大于第三预设阈值递增,第三阈值与所述增加的应用程序的数量对应;例如增加的应用程序数量为5,第三预设阈值与5个应用程序数量对应为内存增加5%,若增加的占有率大于5%则确定该服务出现故障。规则3,当,至少一个占用信息中的服务连接的应用程序的数量减少,至少一个占用信息中的服务占用资源的占用率以小于第四预设阈值递减,第四阈值与减少的应用程序的数量对应,例如,减少的应用程序数量为5,第四预设阈值与5个应用程序数量对应为内存减少5%,若减少的内存占有率小于5%,则确定该服务出现故障。当所采集的至少一个占用信息中服务连接的客户数量不是一直递增或者递减,则可以从至少一个占用信息中提取出有该变化规律的占用信息,然后将提取的占用信息进行比较。
[0054]S305,通知负载均衡服务器备份所述本端的会话数据,并不再将会话调度至本端;
[0055]具体实施例中,进一步的,需要对本端所出现的故障进行修复,具体的修复过程可以是,从出现故障的服务占用信息中,确定出现故障的异常等级,并根据异常等级进行修复,如果为严重故障,通知负载均衡服务器备份本端的会话数据,并不再将会话调度到此服务器;提高此服务器的监控等级(加大获取数据的频率、增加获取的信息量)。如果为一般故障,则查询负载均衡服务器此时是否为使用高峰期,如果是,标示服务器状态为警告状态,提高此服务器的监控等级(加大获取数据的频率、增加获取的信息量);通知负载均衡服务器,只有其它服务器都满负载时,才调度会话到此服务器,等到空闲期时,通知负载均衡服务器备份所述本端的会话数据,并不再将会话调度至本端。如果负载均衡器此时不是高峰期,则通知负载均衡服务器备份会话数据,并不再将会话调度到此服务器;提高此服务器的监控等级(加大获取数据的频率、增加获取的信息量)。
[0056]S306,待本端处理完当前会话数据后,执行本端所出现的故障对应的自动修复程序对本端所出现的故障进行修复;
[0057]具体实施例中,当本端处理完当前会话数据(负载均衡服务器中显示连接到此服务器的连接减为0),则获取本端所出现故障对应的自动修复程序对本端所出现的故障进行修复,具体的修复方法中,内存方面,修复主要指内存整理,主要用来清理内存碎片,而其它的自动修复方法包括执行服务自带的修复补丁、重启程序、重启服务器等;CPU方面,修复方法主要是执行服务自带的修复补丁、重启程序、重启服务器等。需要说明的是,如果测试到服务器在没有处理完当前会话数据就宕机,则通知负载均衡服务器将备份的会话数据切换至正常运行的服务器,执行自动修复程序对故障服务器进行修复;如果修复不成功,则通知管理员手动修复。
[0058]S307,并在本端修复成功后,通知负载均衡服务器本端恢复正常,可将会话调度至本端。
[0059]具体实施例中,本端修复完成后,通知负载均衡服务器此服务器恢复正常,可调度会话至此服务器。
[0060]本发明实施例中,根据当前时间周期内特定时间段资源的被占用率与历史时间周期内特定时间段的资源被占用率的比较结果确定本端服务器是否存在故障,这种检测方法不仅可以检测出服务器当前的负载情况,还可以检测出服务器是否存在故障,检测方法实用性强。
[0061]下面阐述本发明实施例提供的一种服务器的具体实现。
[0062]请参照图4,为本发明实施例提供的一种服务器的结构示意图。如图4所示,本实施例所述的一种服务器包括:第一获取模块100、比较模块101和第一确定模块102。
[0063]第一获取模块100,用于获取本端当前时间周期内特定时间段的第一被占用值,所述第一被占用值表示资源的被占用率;
[0064]具体实施例中,时间周期可以为一天、半天或者两天,在时间周期内,由于本端服务器连接的应用程序的不同,可以分为高峰期和空闲期,在高峰期连接的应用程序多,则资源被占用率比较高,在空闲期,连接的应用程序比较少,则资源被占用率比较低,时间周期内的特定时间段可以为高峰期中的一个时间段,也可以为空闲期中的一个时间段,这里以每天早上10点到12点为高峰期进行举例说明,时间周期为一天,则第一获取模块100在当前一天早上10点到12点时间段内获取第一被占用值,第一被占用值为资源被占用率,资源被占用率可以为内存使用率,可以为CPU使用率,也可以为内存和CPU使用率,需要说明的是,第一被占用值可以为在当前时间周期内特定时间段内所采集的资源被占用率的平均值,也可以为在当前时间周期内特定时间段内所采集的资源被占用率的峰值。
[0065]比较模块101,用于将所述第一被占用值与预先获取的第二被占用值进行比较,所述第二被占用值为历史时间周期内的所述特定时间段的资源被占用率;
[0066]具体实施例中,时间周期可以为一天、半天或者两天,在时间周期内,由于本端服务器连接的应用程序的不同,可以分为高峰期和空闲期,在高峰期连接的应用程序多,则资源被占用率比较高,在空闲期,连接的应用程序比较少,则资源被占用率比较低,时间周期内的特定时间段可以为高峰期中的一个时间段,也可以为空闲期中的一个时间段,历史时间周期为当前时间周期之前的时间周期,需要说明的是,这里的历史时间周期的时长需要与当前时间周期的时长相同,且历史时间周期内的特定时间段与当前时间周期内的特定时间段相同,例如当前时间周期特定时间段为当前一天早上10点到12点高峰期,则历史时间周期内特定时间段可以为当前一天之前的每天早上10点到12点高峰期,预先获取的历史时间周期内特定时间段的第二被占用值可以为多个历史时间周期内的第二被占用值,第二被占用值可以为在历史时间周期内特定时间段内所采集的资源被占用率的平均值,也可以为在历史时间周期内特定时间段内所采集的资源被占用率的峰值,但是第二被占用值需要与第一被占用值统一,若为平均值则都为平均值,若为峰值则都为峰值。比较模块101将第一被占用值与预先获取的第二被占用值进行比较。
[0067]第一确定模块102,用于当所述第一被占用值与所述第二被占用值的差值超过第一预设阈值时,则确定所述本端出现故障,并对所述故障进行修复。
[0068]具体实施例中,第一确定模块102将所获取的第一被占用值与第二被占用值作差,并将所得到的差值与第一预设阈值进行比较,根据比较结果确定本端是否存在故障,需要说明的是,若所获取的第二被占用值为一个历史时间周期内的特定时间段的资源被占用率,则直接将第一被占用值与第二占用值进行作差,并将差值与第一预设阈值进行比较,如果差值超过第一预设阈值则表明本端服务器存在故障,可能是内存泄露,不断消耗更多的内存,需要及时处理。若所获取的第二被占用值为多个历史时间周期内特定时间段的资源被占用率,则需要将当前时间周期内特定时间段内的第一被占用值与所有历史时间周期内特定时间段的第二被占用值进行作差,当前时间周期内特定时间段的第一被占用值与多个历史时间周期内的第一被占用值的差值都超过第一预设阈值,则表明本端出现故障,进一步的,第一确定模块102对所存在的故障进行修复。
[0069]本发明实施例中,根据当前时间周期内特定时间段资源的被占用率与历史时间周期内特定时间段的资源被占用率的比较结果确定本端服务器是否存在故障,这种检测方法不仅可以检测出服务器当前的负载情况,还可以检测出服务器是否存在故障,检测方法实用性强。
[0070]请参照图5,为本发明实施例提供的另一种服务器的结构示意图。如图5所示,本实施例所述的另一种服务器包括:第一获取模块100、比较模块101、第一确定模块102、第二获取模块103、第三获取模块104和第二确定模块105 ;进一步的,第一获取模块100包括获取单元1000和计算单元1001,第一确定模块包括第一确定单元1020、第二确定单元1021和修复单元1022。其中,第一获取模块100、比较模块101和第一确定模块102请参照图4的描述,在此不再赘述。
[0071]获取单元1000,用于获取本端当前时间周期内特定时间段的至少一个被占用值;
[0072]具体实施例中,被占用值为所采集的时间点对应的资源被占用率,资源可以是服务器的内存,可以是服务器的CPU,也可以是服务器的内存和CPU,被占用值可以指资源的使用率,例如若资源为服务器的内存,则被占用值指服务器的内存使用率,若资源为服务器的CPU,则被占用值指服务器的CPU使用率,若资源为服务器的内存和CPU,则被占用值指服务器的内存和CPU的使用率。具体的获取单元1000获取当前时间周期内特定时间段的多个被占用值的方法为,按照一定的预设周期采集当前时间周期内服务器的资源被占用率,需要说明的是,该预设周期需要与历史时间周期内采集被占用值的预设周期相同,且当前时间周期的特定时间段也与历史时间周期的特定时间段相同,例如获取单元1000可以以5分钟为周期采集当天10点到12点内的被占用值,一个采集时间点对应一个被占用值。
[0073]计算单元1001,用于计算所述至少一个被占用值的平均值,并将所述平均值作为当前时间周期内特定时间段的第一被占用值。
[0074]具体实施例中,计算单元1001将所采集获取的一个当前时间周期内的多个被占用值进行平均计算,具体的计算方法为,例如,当前时间周期内所采集的多个被占用值分别为Rl,R2,R3,R4,R5,R6,则将所获取的多个被占用值进行平均计算为R=(R1+R2+R3+R4+R5+R6) /6,则R即为当前时间周期内特定时间段的第一被占用值。
[0075]第二获取模块103,用于获取所述本端至少一个历史时间周期的第二被占用值,所述历史时间周期的第二被占用值为该历史时间周期内所述特定时间段的至少一个被占用值的平均值;
[0076]具体实施例中,被占用值为所采集的时间点对应的资源被占用率,资源可以是服务器的内存,可以是服务器的CPU,也可以是服务器的内存和CPU,被占用值可以指资源的使用率,例如若资源为服务器的内存,则被占用值指服务器的内存使用率,若资源为服务器的CPU,则被占用值指服务器的CPU使用率,若资源为服务器的内存和CPU,则被占用值指服务器的内存和CPU的使用率。第二获取模块103获取至少一个历史时间周期的第二被占用值,一个历史时间周期对应一个第二被占用值,具体的,第二获取模块103获取一个历史时间周期内的第二被占用值的方法为,首先获取一个历史时间周期内多个被占用值,进一步的,获取一个历史时间周期内多个被占用值的方法可以是按照一定的预设周期采集一个历史时间周期内服务器的资源被占用率,例如可以以5分钟为周期采集10点到12点内的被占用值,一个采集时间点对应一个被占用值,然后计算第二被占用值,第二被占用值为一个历史时间周期内特定时间段所采集的多个被占用值的平均值,第二获取模块103获取多个历史时间周期的第二被占用值中,每一个历史时间周期的第二被占用值的获取方法相同,需要说明的是,每一个历史时间周期的特定时间段相同。
[0077]比较模块101将计算单元1001所计算出的第一被占用值与第二获取模块103所获取的第二被占用值进行比较。具体的比较方法,请参照图4中比较模块101的描述。然后将比较结果输入至第一确定模块102。
[0078]本发明实施例提供的一种第一确定模块102包括第一确定单元1020、第二确定单元1021和修复单元1022。
[0079]第一确定单元1020,用于根据比较结果确定异常第二被占用值的数量,所述异常第二被占用值为所述至少一个历史时间周期的第二被占用值中与所述第一被占用值的差值超过第一预设阈值的第二被占用值;
[0080]具体实施例中,异常第二被占用值的确定方式为,当当前时间周期内特定时间段的第一被占用值与历史时间周期内特定时间段的第二被占用值的比较差值大于第一预设阈值时,第一确定单兀1020则将相应的第二被占用值确定为异常第二被占用值,第一确定单元1020最后统计确定为异常第二被占用值的数量,需要说明的是,第一预设阈值可以由用户确定。
[0081]第二确定单元1021,用于当所述异常第二被占用值的数量大于或者等于第二预设阈值时,则确定所述本端出现故障。
[0082]具体实施例中,第二确定单元1021统计异常第二被占用值的数量,当异常第二被占用值的数量大于或者等于第二预设阈值时,则确定本端出现故障,需要说明的是,这种确定本端出现故障的方法比较精确,只有当达到一定数量的第二被占用值比第一被占用值差值大时,才确定本端出现故障,当出现故障时,则第一被占用值会比大多数的第二被占用值大,出现了异常波动,则确定本端出现故障,若只是比很少的一部分第二被占用值大,则可能是第二被占用值为不正常数据,第一被占用值是属于正常数据。
[0083]进一步的,为了确定本端出现故障的具体服务,可以由第三获取模块104和第二确定模块105进行具体判断。
[0084]第三获取模块104,用于获取当前时间周期内特定时间段所述本端所运行的服务的至少一个占用信息,所述占用信息包括所述服务占用所述资源的占用率和所述服务连接的应用程序的数量;
[0085]具体实施例中,当确定本端服务器存在故障时,则需要进一步分析本端服务器所运行的服务中具体是哪一个服务出现了故障,具体的确定服务器中哪一个服务存在故障的方法为,第三获取模块104获取所运行的服务的占用信息,需要说明的是,本端服务器所运行的服务可以为多个服务,所以当获取服务的占用信息时,第三获取模块104需要获取每一个服务的占用信息,且每一个服务占用信息的获取方法相同,对于一个服务来说,按照一定的预设时间周期采集当前时间周期内特定时间段的占用信息,例如可以以2分钟为预设时间周期获取当前一天10点到12点的服务占用信息,需要说明的是,这里的预设时间周期与获取第一占用信息时的时间周期可以不同,也可以相同。进一步的,占用信息包括所采集的时间点所对应的资源的占用率和服务连接的应用程序的数量。
[0086]第二确定模块105,用于若所述至少一个占用信息满足预设告警规则,则确定所述服务存在故障,并将存在故障的所述服务确定为本端所出现的故障。
[0087]具体实施例中,若所采集获取的某个服务的多个占用信息满足预设的告警规则时,则第二确定模块105确定该服务存在故障,并将存在故障的服务确定为本端所出现的故障,即是将本端所出现的故障进行进一步的具体到本端所运行的服务。需要说明的是,预设的告警规则为以下规则中的至少一种,规则1,当,至少一个占用信息中的服务连接的应用程序的数量相同时,至少一个占用信息中的服务占用资源的占用率递增;规则2,当,至少一个占用信息中的服务连接的应用程序的数量增加,至少一个占用信息中的服务占用资源的占用率以大于第三预设阈值递增,第三阈值与所述增加的应用程序的数量对应;例如增加的应用程序数量为5,第三预设阈值与5个应用程序数量对应为内存增加5%,若增加的占有率大于5%则确定该服务出现故障。规则3,当,至少一个占用信息中的服务连接的应用程序的数量减少,至少一个占用信息中的服务占用资源的占用率以小于第四预设阈值递减,第四阈值与减少的应用程序的数量对应,例如,减少的应用程序数量为5,第四预设阈值与5个应用程序数量对应为内存减少5%,若减少的内存占有率小于5%,则确定该服务出现故障。当所采集的至少一个占用信息中服务连接的客户数量不是一直递增或者递减,则可以从至少一个占用信息中提取出有该变化规律的占用信息,然后将提取的占用信息进行比较。
[0088]进一步的,第一确定模块102需要对本端所出现的故障进行修复,具体的修复过程可以是由修复单元1022完成。修复单元1022,具体用于通知负载均衡服务器备份所述本端的会话数据,并不再将会话调度至本端;
[0089]待本端处理完当前会话数据后,执行本端所出现的故障对应的自动修复程序对本端所出现的故障进行修复;
[0090]并在本端修复成功后,通知负载均衡服务器本端恢复正常,可将会话调度至本端。
[0091]具体实施例中,需要对本端所出现的故障进行修复,具体的修复过程可以是,修复单元1022从出现故障的服务占用信息中,确定出现故障的异常等级,并根据异常等级进行修复,如果为严重故障,通知负载均衡服务器备份本端的会话数据,并不再将会话调度到此服务器;提高此服务器的监控等级(加大获取数据的频率、增加获取的信息量)。如果为一般故障,则查询负载均衡服务器此时是否为使用高峰期,如果是,标示服务器状态为警告状态,提高此服务器的监控等级(加大获取数据的频率、增加获取的信息量);通知负载均衡服务器,只有其它服务器都满负载时,才调度会话到此服务器,等到空闲期时,通知负载均衡服务器备份所述本端的会话数据,并不再将会话调度至本端。如果负载均衡器此时不是高峰期,则通知负载均衡服务器备份会话数据,并不再将会话调度到此服务器;提高此服务器的监控等级(加大获取数据的频率、增加获取的信息量)。当本端处理完当前会话数据(负载均衡服务器中显示连接到此服务器的连接减为0),则获取本端所出现故障对应的自动修复程序对本端所出现的故障进行修复,具体的修复方法中,内存方面,修复主要指内存整理,主要用来清理内存碎片,而其它的自动修复方法包括执行服务自带的修复补丁、重启程序、重启服务器等;(PU方面,修复方法主要是执行服务自带的修复补丁、重启程序、重启服务器等。需要说明的是,如果测试到服务器在没有处理完当前会话数据就宕机,则通知负载均衡服务器将备份的会话数据切换至正常运行的服务器,执行自动修复程序对故障服务器进行修复;如果修复不成功,则通知管理员手动修复。
[0092]本端修复完成后,修复单元1022通知负载均衡服务器此服务器恢复正常,可调度会话至此服务器。
[0093]本发明实施例中,根据当前时间周期内特定时间段资源的被占用率与历史时间周期内特定时间段的资源被占用率的比较结果确定本端服务器是否存在故障,这种检测方法不仅可以检测出服务器当前的负载情况,还可以检测出服务器是否存在故障,检测方法实用性强。
[0094]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0095]本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
[0096]本发明实施例终端中的模块或单元可以根据实际需要进行合并、划分和删减。
[0097]本发明实施例的微控制器等部件,可以以通用集成电路(如中央处理器CPU),或以专用集成电路(ASIC)来实现。
[0098]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【权利要求】
1.一种检测方法,其特征在于,所述方法包括: 获取本端当前时间周期内特定时间段的第一被占用值,所述第一被占用值表示资源被占用率; 将所述第一被占用值与预先获取的第二被占用值进行比较,所述第二被占用值为历史时间周期内所述特定时间段的资源被占用率; 当所述第一被占用值与所述第二被占用值的差值超过第一预设阈值时,则确定所述本端出现故障,并对所述故障进行修复。
2.如权利要求1所述的方法,其特征在于,所述获取本端当前时间周期内特定时间段的第一被占用值包括: 获取本端当前时间周期内特定时间段的至少一个被占用值; 计算所述至少一个被占用值的平均值,并将所述平均值作为当前时间周期内特定时间段的第一被占用值。
3.如权利要求2所述的方法,其特征在于,所述获取本端当前时间周期内特定时间段的第一被占用值之前,还包括: 获取所述本端至少一个历史时间周期的第二被占用值,所述历史时间周期的第二被占用值为该历史时间周期内所述特定时间段的至少一个被占用值的平均值; 所述将所述第一被占用 值与预先获取的第二被占用值进行比较,包括: 将所述第一被占用值与所述至少一个历史时间周期的第二被占用值进行比较; 所述当所述第一被占用值与所述第二被占用值的差值超过第一预设阈值时,则确定所述本端出现故障,包括: 根据比较结果确定异常第二被占用值的数量,所述异常第二被占用值为所述至少一个历史时间周期的第二被占用值中与所述第一被占用值的差值超过第一预设阈值的第二被占用值; 当所述异常第二被占用值的数量大于或者等于第二预设阈值时,则确定所述本端出现故障。
4.如权利要求1-3中任一项所述的方法,其特征在于,当确定所述本端出现故障之后,所述对所述故障进行修复之前,所述方法还包括: 获取当前时间周期内特定时间段所述本端所运行的服务的至少一个占用信息,所述占用信息包括所述服务占用所述资源的占用率和所述服务连接的应用程序的数量; 若所述至少一个占用信息满足预设告警规则,则确定所述服务存在故障,并将存在故障的所述服务确定为本端所出现的故障。
5.如权利要求4所述的方法,其特征在于,所述预设告警规则包括以下规则中的至少一种: 当所述至少一个占用信息中的所述服务连接的应用程序的数量相同时,所述至少一个占用信息中的所述服务占用所述资源的占用率递增; 当所述至少一个占用信息中的所述服务连接的应用程序的数量增加,所述至少一个占用信息中的所述服务占用所述资源的占用率以大于第三预设阈值递增,所述第三阈值与所述增加的应用程序的数量对应; 当所述至少一个占用信息中的所述服务连接的应用程序的数量减少,所述至少一个占用信息中的所述服务占用所述资源的占用率以小于第四预设阈值递减,所述第四阈值与所述减少的应用程序的数量对应。
6.如权利要求4所述的方法,其特征在于,所述对所述故障进行修复,包括: 通知负载均衡服务器备份所述本端的会话数据,并不再将会话调度至本端; 待本端处理完当前会话数据后,执行本端所出现的故障对应的自动修复程序对本端所出现的故障进行修复; 并在本端修复成功后,通知负载均衡服务器本端恢复正常,可将会话调度至本端。
7.一种服务器,其特征在于,所述服务器包括: 第一获取模块,用于获取本端当前时间周期内特定时间段的第一被占用值,所述第一被占用值表示资源的被占用率; 比较模块,用于将所述第一被占用值与预先获取的第二被占用值进行比较,所述第二被占用值为历史时间周期内的所述特定时间段的资源被占用率; 第一确定模块,用于当所述第一被占用值与所述第二被占用值的差值超过第一预设阈值时,则确定所述本端出现故障,并对所述故障进行修复。
8.如权利要求7所述的服务器,其特征在于,所述第一获取模块包括: 获取单元,用于获取本端当前时间周期内特定时间段的至少一个被占用值; 计算单元,用于计算所述至少一个被占用值的平均值,并将所述平均值作为当前时间周期内特定时间段的第一被占用值。
9.如权利要求8所述的服务器,其特征在于,所述服务器还包括: 第二获取模块,用于获取所述本端至少一个历史时间周期的第二被占用值,所述历史时间周期的第二被占用值为该历史时间周期内所述特定时间段的至少一个被占用值的平均值; 所述比较模块具体用于将所述第一被占用值与所述至少一个历史时间周期的第二被占用值进行比较; 所述第一确定模块包括: 第一确定单元,用于根据比较结果确定异常第二被占用值的数量,所述异常第二被占用值为所述至少一个历史时间周期的第二被占用值中与所述第一被占用值的差值超过第一预设阈值的第二被占用值; 第二确定单元,用于当所述异常第二被占用值的数量大于或者等于第二预设阈值时,则确定所述本端出现故障; 修复单元,用于对所述故障进行修复。
10.如权利要求7至9任一项所述服务器,其特征在于,所述服务器还包括: 第三获取模块,用于获取当前时间周期内特定时间段所述本端所运行的服务的至少一个占用信息,所述占用信息包括所述服务占用所述资源的占用率和所述服务连接的应用程序的数量; 第二确定模块,用于若所述至少一个占用信息满足预设告警规则,则确定所述服务存在故障,并将存在故障的所述服务确定为本端所出现的故障。
11.如权利要求10所述的服务器,其特征在于,所述预设告警规则包括以下规则中的至少一种:当所述至少一个占用信息中的所述服务连接的应用程序的数量相同时,所述至少一个占用信息中的所述服务占用所述资源的占用率递增; 当所述至少一个占用信息中的所述服务连接的应用程序的数量增加,所述至少一个占用信息中的所述服务占用所述资源的占用率以大于第三预设阈值递增,所述第三阈值与所述增加的应用程序的数量对应; 当所述至少一个占用信息中的所述服务连接的应用程序的数量减少,所述至少一个占用信息中的所述服务占用所述资源的占用率以小于第四预设阈值递减,所述第四阈值与所述减少的应用程序的数量对应。
12.如权利要求10所述的服务器,其特征在于,所述修复单元具体用于, 通知负载均衡服务器备份所述本端的会话数据,并不再将会话调度至本端; 待本端处理完当前会话数据后,执行本端所出现的故障对应的自动修复程序对本端所出现的故障进行修复; 并在本端修复成功后,通知负载均 衡服务器本端恢复正常,可将会话调度至本端。
【文档编号】G06F11/34GK103902437SQ201410087840
【公开日】2014年7月2日 申请日期:2014年3月11日 优先权日:2014年3月11日
【发明者】夏浪 申请人:深圳市同洲电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1