雾环境下基于Markov Chain的容错策略选择方法
技术领域
本发明属于机器学习与分布式计算领域,提供了一种雾环境下基于Markov Chain的容错策略选择方法。
背景技术
近些年来,随着人们对服务延迟的容忍不断降低,思科(Cisco)在2011年提出了雾计算技术,以降低即时服务延迟。雾计算作为一种新型的计算模式,以其低延迟和高可扩展性等优点迅速成为学术界和工业界的研究热点。其中,如何制定容错策略以提高雾计算技术的可靠性成为现在很多学者的重要研究课题。现有的雾计算技术主要服务于对延迟敏感的新型网络应用如物联网、智慧交通、智能电网、虚拟/增强现实、无人驾驶等。其中,雾节点主要部署在靠近传感器终端的位置,其通过独立或者协同工作以及时处理传感器产生的数据等以降低服务延迟和节约网络资源。
关于雾计算环境下的系统建模和容错策略的研究很少,下面主要从云计算环境等分布式环境下系统建模和容错策略两个方面进行讨论。
(1)系统建模
系统建模涉及描述系统组件和组件之间的相互关系,下面主要介绍两种常用的建模工具。
1)Markov Chain
文献提出一种基于Semi-Markov的模型以分析云服务的可靠性,该模型中云系统的状态转移过程属于特殊的Markov过程,即云系统状态转移的时间非指数分布。文献利用Markov Chain和排队论结合以建模分析云环境下托管在同一物理机上的多个虚拟机状态转移过程,该模型对云系统内物理机和虚拟机故障造成的状态转移分类讨论。文献提出在指定QoS(Quality of Service)的目标下,利用Markov Chain建模以分析物理机上虚拟机的迁移过程,进而检测物理机的负载情况。文献提出在IaaS(Infrastructure as aService)云中,组件故障非常常见,可能导致违反云服务的SLA(Service LevelAgreement),因此设计多个交互的基于Markov Chain的子模型量化IaaS云的可用性,以降低分析IaaS云可用性的时间和复杂度,该模型适合大型云计算系统而且子模型之间的交互存在误差。文献提出由于自动化供应机制的复杂性和云环境的动态变化导致云的质量建模和分析较为复杂,因此提出一种基于Markov Chain的IaaS云的服务质量评价方法,该方法主要用于大规模的云计算设施的建模分析。文献设计基于Hidden Markov Model(隐马尔可夫)的系统模型优化分布式系统中存在的数据规模大和数据备份的频率设置难的问题,该模型主要用于优化分布式系统的数据存储。文献提出基于Hidden Markov Model(隐马尔可夫)的预测资源管理框架(PRMF),该方法主要用于优化分布式系统的资源管理。
2)Petri Net
Petri Net的代数分析技术可以刻画系统结构,建立系统状态间的线性关系,同时Petri Net的图分析技术可以展现系统的运行机制和分析系统的动态行为。现有的基于Petri Net对云计算等系统的建模应用主要包括对其能耗建模和性能分析与验证。
上述两种建模工具均可以对系统进行建模以便分析系统的状态。第二种建模工具基于Petri Net建模存在模型容易变得很庞大,不能反映时间方面的内容的局限。第一种建模工具基于Markov Chain建模能够刻画雾系统状态转移时间和空间方面的内容,因此,可以利用Markov Chain的特性对雾系统进行建模分析,然而,现有的基于Markov Chain的系统建模方法主要针对云计算等分布式系统,同时,考虑的场景往往包括多个物理机节点和多个虚拟机节点故障对系统状态造成的影响,由于现有的雾计算的应用环境与以往的分布式系统应用有较大差别,具体表现为应用环境多为新型应用,例如智慧城市、智能家居等,雾节点间相互独立且分布性强。
容错策略是促进服务可靠性的重要途径之一,因此制定合适的容错策略十分必要。很多学者一直致力于研究制定合适的容错策略以促进服务质量。现有的容错策略主要分为两种:基于预处理的容错策略和基于故障发生后的容错策略。主要针对第一种情况进行分析,基于预处理的容错策略即在系统内组件出现故障前通过预处理技术以降低故障对服务的影响,是提高服务可靠性的重要途径之一。现有的基于预处理的容错策略主要分为两种:(1)备份技术:通过对数据或进程等备份以促进服务的可靠性;(2)故障预测技术:通过分析系统内的组件属性和行为等预测故障发生的概率,在故障发生之前采取数据迁移等技术以降低故障对服务的不利影响。上述两种基于预处理的容错策略对促进服务可靠性均有一定作用,但是,由于雾节点所处理的即时任务往往相对于云节点等其它分布式系统简单,且存储、计算和通信能力较云节点弱,重要的数据和进程需要保存到云端,任务数据和进程的多次备份会造成存储空间和带宽资源的浪费,同时,雾系统还存在状态变迁的复杂性和可靠性动态变化的问题。
发明内容
本发明实施例提供了一种雾环境下基于Markov Chain的容错策略选择方法,利用Markov Chain分析雾系统中雾节点出现故障的概率,然后采用代价最小的容错策略,提高雾计算可靠性的目的。
本发明是这样实现的,一种雾环境下基于Markov Chain的容错策略选择方法,所述方法具体包括如下步骤:
S1、对于有N个雾节点的雾系统,预测雾系统中有i个雾节点故障的稳态概率πi,i依次取值0,1,2,…N;
S2、检测πi是否大于预设值,若检测结果为是,则输出综合代价最低的容错策略,综合代价是基于容错策略的价格及时间来评价
进一步的,稳态概率πi的获取方法具体如下:
S11、采用Markov Chain刻画单个雾节点的状态转移过程;
S12、状态转移只与对应雾节点的最近状态相关,假设状态转移时间服从指数分布,使用连续时间的Markov Chain对雾系统的状态转移进行建模;
S13、通过Chapman-Kolmogorov方程分析雾系统的稳态概率。
进一步的,稳态概率πi的计算公式具体如下:
其中,雾节点的寿命L服从指数分布一,λ为指数分布一的参数,雾节点失效后的修复时间服从指数分布二,μ为指数分布二的参数,n为内部变量,其取值范围为[0,N]。
进一步的,容错策略的价格计算公式具体如下:
其中,m为容错策略中的节点数,m的取值与雾系统中的故障雾节点数相同,pk为容错策略中第k个节点的单价。
进一步的,容错策略Cj的时间的计算公式具体如下:
其中,表示容错策略Cj内节点组合中性能最差的节点的处理速度,单位是MIPS,M表示需要处理的指令数,单位是MI,FT表示容错集合。
进一步的,容错策略Cj的代价函数表示如下:
其中,α,β表示权重值,其中α+β=1,0≤α≤1,0≤β≤1,分别表示为容错集合FT中价格的最大值和最小值,分别表示容错集合FT中时间的最大值和最小值,maxV、minV分别表示容错集合FT中性能最优和最差的雾节点处理速度,minVn表示当前容错策略Cj中性能最差的节点的处理速度。
本发明提供的雾环境下基于Markov Chain的容错策略选择方法具有如下有益效果:
1.首先基于Markov Chain分析单个雾节点的状态转移过程,在此基础上基于Markov Chain建模分析雾系统内多个雾节点的状态转移,提高雾系统建模的准确性,
2.基于雾系统的稳态概率选取代价低的容错策略,兼顾容错策略的时间和成本,提高雾计算可靠性的目的。
附图说明
图1为本发明实施例提供的雾环境下基于Markov Chain的容错策略选择方法流程图;
图2为本发明实施例提供的雾系统状态转移示意图;
图3为本发明实施例提供的动态设置参数后的雾节点可靠度图;
图4为本发明实施例提供的动态设置参数后的雾节点修复时间的分布函数图;
图5为本发明实施例提供的雾系统内雾节点全部正常工作的稳态概率图;
图6为本发明实施例提供的参数λ=μ=0.5的情况下,雾系统的不同稳定状态的概率;
图7为本发明实施例提供的参数λ=0.5,μ=1的情况下,雾系统的不同稳定状态的概率;
图8为本发明实施例提供的参数λ=1,μ=0.5的情况下,雾系统的不同稳定状态的概率;
图9为本发明实施例提供的不同权重情况下,不同雾系统容错策略的代价函数值最小值;
图10为本发明实施例提供的代价函数设置不同权重的情况下,代价函数值最低时对应的容错策略价格;
图11描述的为代价函数设置不同权重的情况下,代价函数值最低的时候对应的容错策略时间。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
因此本发明提出一种雾环境下基于Markov Chain的容错策略选择方法:采用动态分布参数对单个雾节点的实时可靠性进行分析;由于状态转移只与最近的状态相关,同时根据下文假设,状态转移时间服从指数分布,使用连续时间的Markov Chain对雾系统的状态转移进行建模,通过Chapman-Kolmogorov方程分析雾系统稳定状态的概率;基于雾系统稳定状态的概率设计低代价的容错策略选择算法。
图1为本发明实施例提供的雾环境下基于Markov Chain的容错策略选择方法流程图,该方法具体包括如下步骤:
S1、对于有N个雾节点的雾系统,预测雾系统中有i个雾节点故障的稳态概率πi,i依次取值0,1,2,…N;
在本发明实施例中,步骤S1具体包括如下步骤:
S11、采用Markov Chain刻画单个雾节点的状态转移过程;
一个Markov Chain模型可表示为一个三元组:G=(S,P,X),其中,S是系统所有可达的状态所组成的状态集,称为系统的状态空间,其可以是有限的、可列的集合或任意非空集;P是系统的状态转移概率矩阵,对于给定时间t的情况下,任意的两个状态si,sj∈S,Psisj(t)被称为系统从状态si转移到状态sj的转移概率函数,Psisj(t)∈P,其性质如式(1)和(2)所示:
式(1)表示状态转移函数Psisj(t)的值大于等于0。
式(2)中,u,v分别是表示时间间隔,状态sk表示状态si和状态sj的中间状态,式(2)描述的是对于任意的si∈S,对其状态空间S内所有的可达状态sj有转移概率Psisj(t)的值的和为1,同时,也说明了状态sk和状态si、sj之间的状态转移关系。
假设雾系统中雾节点的寿命L服从参数为λ的指数分布,密度函数如式(4)所示:
则雾节点的可靠度Pe如式(5)所示:
雾节点失效后的修复时间服从参数为μ指数分布,如式(6)所示:
R{Y≤t}=1-e-ut,(t≥0,u>0) (6)
雾节点的状态分为正常和失效两种,其中用状态0表示雾节点正常工作,用状态1表示雾节点因故障无法工作,则雾节点的状态空间如式(7)所示:
E={0,1} (7)
令
分析可知,X(t)是一个连续时间t≥0、有限状态空间为E={0,1}的Markov过程。由于指数分布无记忆性,雾节点在t时刻之后的状态由X(t)决定,与时刻t之前状态无关。假设雾节点工作了T(T≥0)时间后当前的状态为正常即0,而且下一时刻即T+Δt时雾节点的状态仍正常即0,则状态转移概率P00(Δt)如式(8)所示:
因此,结合式(2-8)可得雾节点对应的状态转移矩阵,如式(9)所示:
S12、状态转移只与对应雾节点的最近状态相关,假设状态转移时间服从指数分布,使用连续时间的Markov Chain对雾系统的状态转移进行建模;
假设雾系统由N个相互独立的雾节点组成,每个雾节点的寿命密度函数均为式(4)所示,失效后修复时间均为式(6)所示。令
X(t)=i,(t时刻有i个故障的雾节点,0≤i≤N)。
S={0,1,2,...,N},为雾系统所有可达状态集,该状态集表示雾系统一共有N+1种状态,其中,当雾系统的状态值为0时,表示该雾系统没有因故障而失效的雾节点,即无节点全部正常工作;当雾系统的状态值为N时,表示该雾系统因故障而失效的雾节点数目为N,即全部的雾节点因故障而失效,导致雾系统无法工作;综上所述,当雾系统的状态为si,即此时雾系统中有i个故障的雾节点。
假如某一时刻t雾系统的状态为si即得雾系统当前故障的雾节点数为i,则下一时刻t+Δt雾系统内故障的雾节点数目可能多一个,少一个或保持不变,因此其对应的状态转移概率函数分为上述3种情况,由Markov Chain性质知,这三种的状态转移函数之和1。假如下一时刻t+Δt的故障雾节点数目多一个,说明当前时刻t雾系统中剩下的正常雾节点N-i中有一个出现故障,由式(4.6)知单个雾节点由正常状态转到故障状态的概率为λΔt,同时雾节点间相互独立,每一个都有会出现故障的可能性,因此多故障一个雾节点的转移概率为(N-i)λΔt;相反,少一个故障雾节点的情况分析类似,转移概率为iμΔt;而雾系统内雾节点数目保持不变的转移概率为这三种情况的概率之和1减去以上两种情况,因此,其对应的状态转移函数Psisj(Δt),如式(10)所示:
由式(10)可知在Δt时间内雾系统状态转移的Markov过程,如图2所示。
S13、通过Chapman-Kolmogorov方程分析雾系统稳定状态的概率由Chapman-Kolmogorov方程结合式(2)、(10)得如式(11)所示:
解式(11)可知:
其中,πi表示雾系统中i个雾节点故障的稳态概率,n为内部变量,其取值范围为[0,N]。
S2、检测πi是否大于预设值(THRESHOLD),若检测结果为是,则输出综合代价最低的容错策略,本发明中的综合代价是基于容错策略的价格及时间来评价。
容错策略Cj:表示使用雾节点集Cj代替因故障而无法正常工作的雾节点集Ti,雾节点集Cj中的节点数量与雾系统中的故障雾节点数相等。
在本发发明实施例中,假定N的取值为7,若π3大于预设值,则输出综合代价最低的容错策略Cj,雾节点集Cj中的节点数为3,若π5大于预设值,则输出综合代价最低的容错策略Cj,雾节点集Cj中的节点数为5。
假设雾节点集Ti故障,选择容错策略Cj所需要付出的价格记为如式(13)所示:
式(4)中,FT表示容错集合,表示容错策略Cj的价格,是容错策略Cj内所有节点的价格之和,m为容错策略Cj中的节点数,m的取值与雾系统中的故障雾节点数相同,pk容错策略Cj中第k个节点的单价。
假设雾节集Ti故障选择容错策略Cj的时间记为如式(14)所示:
其中,表示容错策略Cj内雾节点组合中性能最差的雾节点的处理速度,单位是MIPS,M表示需要处理的指令数,单位是MI。
容错策略Cj的代价函数UCj表示在容错策略Cj下时间和价格的综合代价,如式(15)所示:
α,β表示权重值,其中α+β=1,0≤α≤1,0≤β≤1,分别表示为容错集合FT中价格的最大值和最小值,分别表示容错集合FT中时间的最大值和最小值,maxV、minV分别表示容错集合FT中性能最优和最差的雾节点处理速度,minVn表示当前容错策略Cj中性能最差的节点的处理速度。式(15)表示当前容错策略的时间和价格的综合代价,即计算当前的策略与容错集合中价格最优和时间最优策略的差值,当前容错策略Cj越接近两者最优时综合代价值最低,因此,设计式(15)为容错策略的选择标准。
为了提高雾计算服务的可靠性,容错策略的选择非常重要。如果容错策略价格高,则容错时间会相应缩短,但是价格高会造容错成本高,反之,如果容错策略成本低,可能造成容错时间增加,因此,容错策略应该兼顾时间和成本。本发明提出基于Markov Chain容错策略的选择算法。该算法首先构建容错集合FT,然后通过Markov Chain预测系统状态转移的过程以计算稳态概率,利用其不同的容错策略有着不同的综合代价值以选取代价低的容错策略。因此,设计基于Markov Chain的容错策略选择算法代价低的容错策略。
基于Markov Chain的容错策略选择算法,如算法1所示
算法1先分析雾系统各个状态的稳态概率(见1-2行),然后考虑雾系统故障发生的概率,如果雾系统以高概率进入异常状态,则为雾系统选择综合代价低的容错策略,具体为计算不同容错策略的综合代价,以代价值为参考依据,选取代价最低的容错策略(见5-10行)。
本发明提供的雾环境下基于Markov Chain的容错策略选择方法具有如下有益效果:
1.首先基于Markov Chain分析单个雾节点的状态转移过程,在此基础上基于Markov Chain建模分析雾系统内多个雾节点的状态转移,提高雾系统建模的准确性,
2.基于雾系统的稳态概率选取代价低的容错策略,兼顾容错策略的时间和成本,提高雾计算可靠性的目的。
本发明是在MyEclipse平台上,实验环境包括:(1)硬件:Intel core i7,2.50GHz,4G内存;(2)操作系统:Windows 10;(3)编程语言:Java。
一)算法1相关参数如表1所示:
表1算法参数列表
参数 |
描述 |
λ(雾节点寿命的参数) |
0.5,1,1.5 |
μ(雾节点修复的参数) |
0.5,1,1.5 |
α |
0,0.5,1 |
β |
0,0.5,1 |
M(指令数,单位:MI) |
1500 |
雾系统内雾节点的总数 |
4,5,6,10 |
二)雾节点的参数如表2所示:
表2容错策略中替换雾节点的参数表
价格单位:thousand dollars,处理能力单位:MIPS;
三)实验数据分析
1)雾节点的可靠度,见式(5),图3描述的是动态设置参数后的雾节点的可靠度图,可以看出随着时间的增加,雾节点可靠度的值逐渐降低,同时,参数的值越大相对来说雾节点可靠度越低,因此,通过分析可知,参数λ的值和时间与雾节点的可靠度成反比。
2)雾节点修复时间的分布函数,见式(6),图4描述的是动态设置参数后的雾节点修复时间的分布函数图,可以看出随着时间的增加,分布函数的值逐渐增加,同时,参数的值越大相对来说分布函数的值越大,因此,雾节点的修复时间与参数μ的值和时间成正比。
3)不同分布参数下雾系统的稳态概率,见式(12),图5描述的是雾系统内雾节点全部正常工作的稳态概率,图5中,横坐标1、2、3对应的参数值的分别为λ,μ=0.5;λ=0.5,μ=1;λ=1,μ=0.5,其描述的是4种不同雾节点总数对应的雾系统稳态π0概率图,从图中可以看出,一方面雾系统内雾节点总数越少其对应的雾系统稳态π0的值越大,相反,雾节点总数越多其对应的雾系统稳态π0的值越小,这说明雾系统内雾节点总数越多越容易出现故障雾节点;另一方面,雾节点寿命参数的λ和修复参数μ的值对雾系统的稳态概率影响较大,当λ和μ取值相同均为0.5时,稳态概率相差较小;当λ=0.5,μ=1时,不同雾系统稳态概率π0的值相差较大,而且值相对另两种情况大;当λ=1,μ=0.5时,不同雾系统稳态概率π0的值相差较小。
4)不同雾系统的稳态概率,见式(12),如图6-8所示,图6描述的参数λ=μ=0.5的情况下,不同雾系统的不同稳定状态的概率,分析可知,雾系统内雾节点故障的个数的稳态概率一开始随着故障节点数目的增加而增加,当雾节点故障的数目为雾系统内节点总数的一半时随着故障节点数目的增加而减少。
图7描述的参数λ=0.5,μ=1的情况下,不同雾系统的不同稳定状态的概率,分析可知,雾系统内雾节点故障的个数的稳态概率一开始随着故障节点数目的增加而增加,当雾节点故障的数目为不到雾系统内节点总数的一半时随着故障节点数目的增加而减少。
图8描述的参数λ=1,μ=0.5的情况下,不同雾系统的不同稳定状态的概率,分析可知,雾系统内雾节点故障的个数的稳态概率一开始随着故障节点数目的增加而增加,当雾节点故障的数目为大于雾系统内节点总数的一半时随着故障节点数目的增加而减少。
因此,综合图6-8分析可知,不同的分布参数对雾系统的稳态概率影响较大,相同之处是虽然雾系统内雾节点总数不同,但是雾节点全部故障或全部正常工作的概率相对较低,不同之处是雾系统稳态概率的最大值所对应雾系统稳定状态不同。
5)容错策略的代价图,见式(15),如图9-11所示,图9描述的设置不同权重的情况下,不同雾系统容错策略的代价函数值最小值,横坐标a,b,c分别表示当雾系统分布参数取值为λ=μ=0.5,稳态概率的阈值为0.3的情况下所可以选择容错策略代价的最小值,当α=β=0.5表示容错策略的选择综合考虑容错策略的价格和时间;当α=1,β=0表示容错策略的选择侧重考虑容错策略的价格;当α=0,β=1表示容错策略的选择侧重考虑时间。
图10描述的为代价函数设置不同权重的情况下,代价函数值最低时对应的容错策略价格;分析可知,当α=1,β=0表示容错策略的选择侧重考虑价格,此时容错策略的价格最低;当α=0,β=1表示容错策略的选择侧重考虑时间,此时容错策略的价格最高;当α=0.5,β=0.5表示容错策略综合考虑时间和价格,此时容错策略的价格处于前两者之间;当参数的值随机时,此时容错策略的价格处于价格最高值和最低值间波动。
图11描述的为代价函数设置不同权重的情况下,代价函数值最低的时候对应的容错策略时间;分析可知,当α=1,β=0表示容错策略侧重考虑价格,此时容错策略的时间最长;当α=0,β=1表示容错策略侧重考虑时间,此时容错策略的时间最短;当α=0.5,β=0.5表示容错策略综合考虑时间和价格,此时容错策略的时间处于前两者之间;当参数的值随机时,此时容错策略的时间处于价格最高值和最低值间波动。
从图3-图11实验结果分析可知,本文提出的模型由于进行了参数动态化设置,以及设计了雾故障节点的状态转移模型和容错策略,增加了决策者考虑容错策略分析的理论依据,并且可以根据其对成本或是时间的偏好,动态选择所需容错策略。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。