发明内容
本发明提供的网络系统中心跳信息的调整方法和系统,要解决的技术问题是如何在不增加网络负担的前提下实现节点故障的检测。
为解决上述技术问题,本发明提供了如下技术方案:
一种网络系统中心跳信息的调整方法,包括:
在获取当前调整周期内心跳间隔信息的过程中,对精确量进行模糊化处理,得到当前调整周期内的心跳间隔的模糊量;
如果当前调整周期内心跳间隔的模糊量与上一个调整周期内心跳间隔的模糊量不同,则对系统所使用的心跳间隔进行调整。
优选的,所述方法还具有如下特点:所述当前调整周期内的心跳间隔的模糊量是通过如下方式得到的,包括:
获取当前调整周期内网络负载的精确量和/或主机负载的精确量;
根据预先设置的网络负载的隶属度函数和/或主机负载的隶属度函数,确定所述网络负载的精确量对应的模糊量和/或所述主机负载的精确量对应的模糊量;
根据预先设置的网络负载和/或主机负载到心跳间隔的模糊推理规则,推理得到当前调整周期内网络负载的模糊量和/或主机负载的模糊量所对应的心跳间隔的模糊量。
优选的,所述方法还具有如下特点:所述方法还包括:
根据预先设置的网络负载和/或主机负载到心跳超时的模糊推理规则,确定当前调整周期内网络负载的模糊量和/或主机负载的模糊量所对应的心跳超时的模糊量;
如果当前调整周期内心跳超时的模糊量与上一个调整周期内心跳超时的模糊量不同,则对所述系统所使用的心跳超时进行调整。
优选的,所述方法还具有如下特点:所述当前调整周期内的心跳间隔的模糊量是通过如下方式得到的,包括:
获取当前调整周期内的心跳间隔的精确量;
对得到的心跳间隔的精确量进行模糊化处理,得到当前调整周期内心跳间隔的模糊量。
优选的,所述方法还具有如下特点:所述对系统所使用的心跳间隔进行调整包括:
根据预先设置的心跳间隔的隶属度函数,对所述当前调整周期内心跳间隔的模糊量进行反模糊化处理,得到当前调整周期内心跳间隔的精确量;
采用所述当前调整周期内心跳间隔的精确量对系统所使用的心跳间隔进行调整。
一种网络系统中心跳信息的调整系统,包括:
获取装置,用于在获取当前调整周期内心跳间隔信息的过程中,对精确量进行模糊化处理,得到当前调整周期内的心跳间隔的模糊量;
第一调整装置,用于在当前调整周期内心跳间隔的模糊量与上一个调整周期内心跳间隔的模糊量不同时,对系统所使用的心跳间隔进行调整。
优选的,所述系统还具有如下特点:所述获取装置包括:
第一获取模块,用于获取当前调整周期内网络负载的精确量和/或主机负载的精确量;
确定模块,用于根据预先设置的网络负载的隶属度函数和/或主机负载的隶属度函数,确定所述网络负载的精确量对应的模糊量和/或所述主机负载的精确量对应的模糊量;
推理模块,用于根据预先设置的网络负载和/或主机负载到心跳间隔的模糊推理规则,推理得到当前调整周期内网络负载的模糊量和/或主机负载的模糊量所对应的心跳间隔的模糊量。
优选的,所述系统还具有如下特点:所述系统还包括:
确定装置,用于根据预先设置的网络负载和/或主机负载到心跳超时的模糊推理规则,确定当前调整周期内网络负载的模糊量和/或主机负载的模糊量所对应的心跳超时的模糊量;
第二调整装置,用于当前调整周期内心跳超时的模糊量与上一个调整周期内心跳超时的模糊量不同,则对所述系统所使用的心跳超时进行调整。
优选的,所述系统还具有如下特点:所述获取装置包括:
第二获取模块,用于获取当前调整周期内的心跳间隔的精确量;
处理模块,用于对得到的心跳间隔的精确量进行模糊化处理,得到当前调整周期内心跳间隔的模糊量。
优选的,所述系统还具有如下特点:所述第一调整装置包括:
反模糊化模块,用于根据预先设置的心跳间隔的隶属度函数,对所述当前调整周期内心跳间隔的模糊量进行反模糊化处理,得到当前调整周期内心跳间隔的精确量;
调整模块,用于采用所述当前调整周期内心跳间隔的精确量对系统所使用的心跳间隔进行调整。
与现有技术相比,通过判断所述当前调整周期内心跳间隔的模糊量与上一个调整周期内心跳间隔的模糊量是否相同,来确定心跳间隔的精确量的调动范围是否很大,如果不同,则表示心跳间隔的精确量的调动范围比较大,就需要进行心跳间隔的调整,相反,如果相同,则表示心跳间隔的精确量的调动范围比较小,由于只在两个模糊量不同时才对心跳间隔进行调整,所说义有效地减少了心跳间隔的模糊量的调整频率,从而减少了在调整心跳间隔过程的信息交互,降低了网络的负担,同时又能有效的进行网络故障的检测。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步的详细描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为本发明提供的一种网络系统中心跳信息的调整方法实施例的流程示意图。图1所示方法实施例包括:
步骤101、在获取当前调整周期内心跳间隔信息的过程中,对精确量进行模糊化处理,得到当前调整周期内的心跳间隔的模糊量;
步骤102、如果当前调整周期内心跳间隔的模糊量与上一个调整周期内心跳间隔的模糊量不同,则对系统所使用的心跳间隔进行调整。
与现有技术相比,通过判断所述当前调整周期内心跳间隔的模糊量与上一个调整周期内心跳间隔的模糊量是否相同,来确定心跳间隔的精确量的调动范围是否很大,如果不同,则表示心跳间隔的精确量的调动范围比较大,就需要进行心跳间隔的调整,相反,如果相同,则表示心跳间隔的精确量的调动范围比较小,由于只在两个模糊量不同时才对心跳间隔进行调整,所说义有效地减少了心跳间隔的模糊量的调整频率,从而减少了在调整心跳间隔过程的信息交互,降低了网络的负担,同时又能有效的进行网络故障的检测。
下面对本发明提供的方法实施例作进一步说明:
首先需要介绍的是,本发明在对精确值进行模糊处理得到模拟量的方法以及根据模糊量进行反模糊处理得到精确量的方法。
1、模糊化
将精确的输入量转化为模糊量F有两种方法:
(1)将精确量转换为标准论域上的模糊单点集。精确量x经对应关系G转换为标准论域x上的基本元素,则该元素的模糊单点集F为
uF(u)=1 if u=G(x)
uF(u)=0 if u≠G(x)
(2)将精确量转换为标准论域上的模糊子集。
精确量经对应关系转换为标准论域上的基本元素,在该元素上具有最大隶属度的模糊子集,即为该精确量对应的模糊子集。
2、模糊推理
最基本的模糊推理形式为:
前提1 IF A THEN B
前提2 IF A′
结论THEN B′
其中,A、A′为论域U上的模糊子集,B、B′为论域V上的模糊子集。前提1称为模糊蕴涵关系,记为A→B。在实际应用中,一般先针对各条规则进行推理,然后将各个推理结果总合而得到最终推理结果。
3、精确化
推理得到的模糊子集要转换为精确值,以得到最终控制量输出y。目前常用两种精确化方法:
(1)最大隶属度法。在推理得到的模糊子集中,选取隶属度最大的标准论域元素的平均值作为精确化结果。
(2)重心法。将推理得到的模糊子集的隶属函数与横坐标所围面积的重心所对应的标准论域元素作为精确化结果。
在得到推理结果精确值之后,还应按对应关系,得到最终控制量输出y。
下面以一应用实例对本发明提供的方法实施例作进一步说明:
图2为本发明提供的在网络系统中心跳信息的调整方法应用实施例的流程示意图。图2所示方法应用实例包括:
步骤201、获取当前调整周期内网络负载信息的精确量和主机负载的精确量;
其中调整周期是用来触发重新评估一下网络的心跳间隔的模糊量的时间,其大小可以由人工设置,也可以软件进行自动配置。
其中网络负载的精确量可以是对网络数据延时以及传输带宽使用率等信息评估得到的;主机负载的精确量可以是对CPU利用率、内存使用率以及响应延时等信息评估得到的。
步骤202、根据预先设置的网络负载的隶属度函数和主机负载的隶属度函数,确定所述网络负载的精确量对应的模糊量和所述主机负载的精确量对应的模糊量;
图3为本发明应用实例中网络负载的隶属度函数图。图2所示函数显示了网络负载信息的精确量与模糊量的对应关系,通过该隶属度函数,可以反映了精确论域与模糊论域的对应关系,其中x轴为网络负载的精确值,y轴为该网络负载的隶属度,其中Z、S、M和B表示为网络负载的模糊量。
图4是本发明应用实例中主机负载的隶属度函数图。图3所示函数显示了网络负载信息的精确量与模糊量的对应关系,通过该隶属度函数,可以反映了精确论域与模糊论域的对应关系,其中x轴为主机负载的精确值,y轴为该主机负载的隶属度,其中Z、S、M和B表示为主机负载的模糊量。
以图3和图4所示隶属度函数为例,如果当前调整周期内网络负载的精确量和主机负载的精确量依次为1.5和25%,则经过模糊处理后,能够得到当前调整周期内网络负载的模糊量为S,主机负载的模糊量为M。
步骤203、根据预先设置的网络负载和主机负载到心跳间隔的模糊推理规则,确定当前调整周期内网络负载的模糊量和主机负载的模糊量所对应的心跳间隔的模糊量。
表1为本发明应用实例中网络负载和主机负载到心跳间隔的模糊推理规则表,该规则表反映了网络负载、主机负载和心跳间隔的对应关系。根据此表,可以根据网络负载和主机负载的模糊量推理出心跳间隔的模糊量。
表1
如上表所示,表格第一行表示的是主机负载的模糊量,表格第一列表示的是网络负载的模糊量。通过行和列的信息唯一确定一个心跳间隔的模糊量,其中与上例类似,表1中的Z、S、M和B均表示心跳间隔的模糊量,且大小依次增加。
以表1为例,如果当前调整周期内网络负载的模糊量为S,主机负载的模糊量为M,则当前调整周期内心跳间隔的模糊量为S。
步骤204、判断当前调整周期内心跳间隔的模糊量的取值范围与上一个调整周期内心跳间隔的模糊量的取值范围是否相同;
如果相同,则流程结束,否则,执行步骤205。
步骤205、对系统所使用的心跳间隔进行调整。
具体的,可以根据预先设置的该模糊量对应的一个精确量对心跳间隔进行调整,也可以根据当前调整周期内心跳间隔的模糊量,结合上文所提供的反模糊化对心跳间隔的模糊量进行反模糊化处理得到心跳间隔的精确量,再采用该心跳间隔的精确量进行调整。
本发明应用实例优选的,根据预先设置的心跳间隔的隶属度函数,对所述心跳间隔的模糊量进行反模糊化处理,得到心跳间隔的精确量;
采用所述心跳间隔的精确量对系统所使用的心跳间隔进行调整。
图5为本发明应用实施例中心跳间隔的隶属度函数图,图4所示函数反映了心跳间隔的模糊量与精确心跳间隔的精确量的关系,通过该图可以将心跳间隔的模糊值转换为精确量,也即进行反模糊化。
当然,可选的,在心跳间隔发生调整时,还可以对心跳超时进行修改,与现有技术不同的是,本应用实例所使用的心跳超时值是通过如下方式确定的:
步骤A1、根据预先设置的网络负载和主机负载到心跳超时的模糊推理规则,确定当前调整周期内网络负载的模糊量和主机负载的模糊量所对应的心跳超时的模糊量;
表2为本发明应用实例中网络负载和主机负载到心跳超时的模糊推理规则表,该规则表反映了网络负载、主机负载和心跳超时的对应关系。根据此表,可以根据网络负载和主机负载的模糊量推理出心跳超时的模糊量。
表2
如上表所示,表格第一行表示的是主机负载的模糊量,表格第一列表示的是网络负载的模糊量。通过行和列的信息唯一确定一个心跳超时的模糊量,其中与上例类似,表1中的Z、S、M和B均表示心跳超时的模糊量,且大小依次增加。
举例来说,如果当前调整周期内网络负载的模糊量为S,主机负载的模糊量为M,则当前调整周期内心跳超时的模糊量为S。
步骤A2、如果当前调整周期内心跳超时的模糊量与上一个调整周期内心跳超时的模糊量不同,则对所述系统所使用的心跳超时进行调整。
如果当前调整周期内心跳超时的模糊量与上一个调整周期内心跳超时的模糊量不同,表示只有心跳超时的调整幅度很大,才能符合当前系统的负载情况,所以为了能够的自适应系统的负载情况,需要发起心跳超时的调整。相反,如果相同,表示只要进行微小的调整,就能符合当前系统的负载情况,因此无需发起心跳超时的调整,从而减少了在调整心跳超时过程的信息交互,降低了网络的负担,同时又能有效的进行网络故障的检测。
具体的,可以根据预先设置的该模糊量对应的一个精确量对心跳超时进行调整,也可以根据当前调整周期内心跳超时的模糊量,结合上文所提供的反模糊化对心跳间隔的模糊量进行反模糊化处理得到心跳超时的精确量,再采用该心跳超时的精确量进行调整。
本发明应用实例优选的,根据预先设置的心跳超时的隶属度函数,对所述心跳超时的模糊量进行反模糊化处理,得到心跳超时的精确量;
采用所述心跳超时的精确量对系统所使用的心跳超时进行调整。
图6为本发明应用实施例中心跳超时的隶属度函数图,图5所示函数反映了心跳超时的模糊量与心跳间隔的精确量的关系,通过该图可以将心跳超时的模糊值转换为精确量,也即进行反模糊化。
需要说明的是,本方法应用实施例所能使用的需隶属度函数并不限于此,本领域技术人员可以根据实际配置其他隶属度函数。当然,也可以采用其他方法实现模糊量与精确量之间的互相转换。
另外,本应用实例是以主机负载和网络负载这个两个参数来确定心跳间隔的,在实际应用中,也可以使用其中一个参数来确定心跳间隔,与上述应用实例不同的是,所使用的模糊推理规则是一对一的关系。
举例来说,如果使用的参数是主机负载,则对应的用于获取心跳间隔的模糊量的模糊推理规则表如表3所示,相应的,用于获取心跳超时的模糊量的模糊推理规则表如表4所示:
表3
表4
由上可以看出,通过对网络和主机负载进行模糊化处理,使得网络和主机负载的变化有了一定的鲁棒性,使得心跳间隔和心跳超时不会随着网络和主机负载做过于激烈的变化,以至于增加网络和主机的负载,因而在及时发现节点故障的前提下,又合理的使用主机资源和网络带宽。
此处需要说明的是,获取当前调整周期内心跳间隔的模糊量的方式并不限于次,也可以采用如下方式进行调整:
获取当前调整周期内的心跳间隔的精确量;
对得到的心跳间隔的精确量进行模糊化处理,得到当前调整周期内心跳间隔的模糊量。
图7为本发明提供的一种网络系统中心跳信息的调整系统实施例的结构示意图。图7所示系统实施例包括:
获取装置701,用于在获取当前调整周期内心跳间隔信息的过程中,对精确量进行模糊化处理,得到当前调整周期内的心跳间隔的模糊量;
第一调整装置702,用于在当前调整周期内心跳间隔的模糊量与上一个调整周期内心跳间隔的模糊量不同时,对系统所使用的心跳间隔进行调整。
图8为图7所示系统实施例中获取装置701的结构示意图。图8所示述获取装置701包括:
第一获取模块801,用于获取当前调整周期内网络负载的精确量和/或主机负载的精确量;
确定模块802,与所述第一获取模块801相连,用于根据预先设置的网络负载的隶属度函数和/或主机负载的隶属度函数,确定所述网络负载的精确量对应的模糊量和/或所述主机负载的精确量对应的模糊量;
推理模块803,与所述确定模块802相连,用于根据预先设置的网络负载和/或主机负载到心跳间隔的模糊推理规则,推理得到当前调整周期内网络负载的模糊量和/或主机负载的模糊量所对应的心跳间隔的模糊量。
图9为图8所示系统实施例的另一结构示意图。图9所示系统实施例还包括:
确定装置901,与所述确定模块802相连,用于根据预先设置的网络负载和/或主机负载到心跳超时的模糊推理规则,确定当前调整周期内网络负载的模糊量和/或主机负载的模糊量所对应的心跳超时的模糊量;
第二调整装置902,与所述确定装置901相连,用于当前调整周期内心跳超时的模糊量与上一个调整周期内心跳超时的模糊量不同,则对所述系统所使用的心跳超时进行调整。
图10为图7所示系统实施例中获取装置701的结构示意图。图10所示获取装置701包括:
第二获取模块1001,用于获取当前调整周期内的心跳间隔的精确量;
模糊化模块1002,用于对得到的心跳间隔的精确量进行模糊化处理,得到当前调整周期内心跳间隔的模糊量。
图11为图7所示系统实施例中第一调整装置702的结构示意图。图11所示第一调整装置702包括:
反模糊化模块1101,用于根据预先设置的心跳间隔的隶属度函数,对所述当前调整周期内心跳间隔的模糊量进行反模糊化处理,得到当前调整周期内心跳间隔的精确量;
调整模块1102,用于采用所述当前调整周期内心跳间隔的精确量对系统所使用的心跳间隔进行调整。
与现有技术相比,通过判断所述当前调整周期内心跳间隔的模糊量与上一个调整周期内心跳间隔的模糊量是否相同,来确定心跳间隔的精确量的调动范围是否很大,如果不同,则表示心跳间隔的精确量的调动范围比较大,就需要进行心跳间隔的调整,相反,如果相同,则表示心跳间隔的精确量的调动范围比较小,由于只在两个模糊量不同时才对心跳间隔进行调整,所说义有效地减少了心跳间隔的模糊量的调整频率,从而减少了在调整心跳间隔过程的信息交互,降低了网络的负担,同时又能有效的进行网络故障的检测。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
上述实施例中的各装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的各装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。