本发明提供一种服务器集群稳态可用度马氏建模方法,属于维修保障技术领域。
背景技术:
随着互联网技术的持续发展,用户越来越强调快速、准确的服务体验,也必然要求信息提供商能够24小时全年不间断的提供服务。有统计数据报告显示:美国企业每年因为计算机系统故障所造成的经济损失接近40亿美元,由此导致的信誉下降更是无法估量的损失。为了避免出现非计划的业务中断并提供更好的服务体验,服务商往往在重要的数据处理中心通过组建服务器集群(多机热备)来达到高可靠、不间断的服务能力。
服务器集群的可用性主要受软件和硬件的影响。有数据显示硬件故障数占到服务器集群总故障数的20%以上。硬件的性能和维护将对服务器集群可用性产生十分重要的影响。从硬件角度出发,本发明调研国内外确定服务器集群可用度的方法主要有:可靠性框图、故障树、petri网、markov过程等。但上述方法往往没有考虑服务器故障后,进行维修时备件对集群系统可用性产生的影响。备件供应是保障活动中的关键,备件供应主要通过影响故障件的维修周转时间来影响服务器集群的使用情况。故在计算服务器集群稳态可用度时,有必要将备件供应保障考虑在内。因此准确计算其稳态可用度对服务器集群的设计、运行和管理均具有显著的理论意义和实用价值。
针对这一问题,本发明考虑备件对集群系统中可用服务器数量影响,使用三个典型参数来确定集群系统的状态空间,联合各关键部件的连续时间马尔可夫链(ctmc),综合形成表示服务器集群系统状态转移情况的ctmc族模型,从而计算服务器集群系统的稳态可用度。
技术实现要素:
(1)本发明的目的
为了提供高效、可靠的信息服务水平,需要提高服务器集群的可靠度以及可用度。服务商通常一方面增加冗余服务器的数量,另一方面配备相应的备件,由此造成服务器集群的规模趋于越来越庞大。如何更加准确的计算服务器集群可用度也为一个难题。针对上述问题,本发明的目的是提供一种服务器集群稳态可用度马氏建模方法,它提出了一种利用马尔可夫过程计算服务器集群稳态可用度的方法。本发明具有广泛的通用性,适用于计算长期连续工作的服务器集群稳态可用度。
(2)技术方案
本发明所涉及的服务器集群由若干个相同的服务器组成,形成多机热备模式。当服务器集群执行任务时,各服务器之间相互独立地开展工作。假设服务器的关键部件之间是串联结构,只要一个关键部件发生故障,服务器便停止运行;各关键部件的故障时间和维修时间相互独立且服从指数分布;忽略故障件的更换时间;备件库存结构为单一基地模型;修理级别修理能力无限且维修都是成功的,除备件外,其它维修资源均供应充足。
当服务器的故障时间和修理时间分布都服从指数分布时,只要适当定义状态,这样的系统就可以使用马尔可夫过程来描述。根据经典的库存平衡公式可知,通过备件的库存量可以计算备件短缺数。在本发明中,当服务器中任意一个关键部件出现备件短缺时,服务器便处于失效状态。因此针对服务器集群而言,使用马尔可夫建模的粒度可细化到关键部件层次。通过关键部件的状态变化间接反映可用服务器数量的变化,然后使用各备件的期望短缺数之和来计算服务器集群稳态可用度。
基于上述条件,本发明提出的一种服务器集群稳态可用度马氏建模方法,其步骤如下:
步骤1、根据服务器集群的架构特点,确定服务器集群的相关参数;
步骤2、选择描述部件状态的参数,定义部件的各种状态;
步骤3、确定部件各状态之间的转移率,构建部件的连续时间马尔可夫链(即continuoustimemarkovchain,ctmc);
步骤4、计算部件的转移率矩阵;
步骤5、通过求解特定的非齐次线性方程组,计算部件的各状态稳态概率;
步骤6、计算部件的期望备件短缺数;
步骤7、将每类部件分别执行步骤2~步骤6,联合各类部件的ctmc,构建服务器集群的ctmc族模型,计算服务器集群的期望备件短缺数;
步骤8、计算服务器集群的稳态可用度。
其中,在步骤1中所述的“确定服务器集群的相关参数”,是指需要确定服务器集群中包含的服务器个数n,服务器的关键部件种类数l,各类部件的故障率、维修率以及单服务器安装数;典型的服务器集群架构如图1所示。
其中,在步骤2~步骤7中所述的“部件”是指具体的第i类关键部件,“i”可以取自1,2,…,l中的任意一个数,即i∈{1,2,…,l}。
其中,在步骤2中所述的“选择描述部件状态的参数”,是指使用三个参数:受部件i影响的可用服务器数oi,部件i的库存量gi,备件短缺个数boi,从而确定部件的状态空间;在初始时刻,部件i的库存量si。
其中,在步骤2中所述的“定义部件的各种状态”,是指针对部件i的各种状态,具体定义方法如下:
状态0:(n,si,0),表示n个可用服务器数,si个库存数,0个备件短缺数;
状态1:(n,si-1,0),表示n个可用服务器数,si-1个库存数,0个备件短缺数;
状态si:(n,0,0),表示n个可用服务器数,0个库存数,0个备件短缺数;
状态si+1:(n-1,0,1),表示n-1个可用服务器数,0个库存数,1个备件短缺数;
状态si+k:(n-k,0,k),表示n-k个可用服务器数,0个库存数,k个备件短缺数;
状态si+n:(0,0,n),0个可用服务器数,0个库存数,n个备件短缺数;
故部件i有ei=si+n+1个状态,状态的编号分别为0,1,2,…,si+n。
其中,在步骤3中所述的“确定部件各状态之间的转移率”,是指根据部件i各状态之间的关系,确定部件i的马尔可夫过程转移率;λi和μi分别表示部件i的故障率和修复率;
当部件i的备件充足时:如果一个部件i出现故障,将使用备件更换故障的部件,此时备件数量减1,可用的服务器数仍为n,部件i从状态(n,si-q,0)转移到相邻状态(n,si-q-1,0),转移率为nziλi;当1个部件i被修复后运回备件库中,部件i的备件数增加1,部件i从状态(n,si-q-1,0)转移到相邻状态(n,si-q,0),转移率为(q+1)μi;其中,0≤q≤si-1;
当部件i的备件出现短缺时:如果一个部件i出现故障,将造成一个服务器暂停运行,即造成可用服务器数oi减少1,备件短缺数boi增加1,部件i将从状态(n-k,0,k)转移到状态(n-k-1,0,k+1),转移率为(n-k)ziλi;当一个故障的部件i被修复后,能够使得一个服务器恢复正常运行,即可用服务器数oi将增加1,备件短缺数boi减少1,部件i将从状态(n-k-1,0,k+1)转移到状态(n-k,0,k),转移率为(si+k+1)μi;其中,1≤k≤n-1;
状态(n,0,0)和状态(n-1,0,1)是连接备件i是否出现短缺的两个状态;分析可知当部件i处于状态(n,0,0)时,如果发生故障,可用服务器数oi将减少1,备件短缺数boi从0变为1,从状态(n,0,0)转移到状态(n-1,0,1)的转移率为nziλi;当部件i处于状态(n-1,0,1)时,如果一个故障的部件i被修复,将使得可用服务器数oi增加1,备件短缺数boi由1变为0,从状态(n-1,0,1)转移到状态(n,0,0)的转移率为(si+1)μi;
部件i的初始状态为(n,si,0),转移率矩阵记为
{xi(t)=(oi(t),gi(t),boi(t));t≥0},它描述了部件i状态转移过程,相应的状态转移图如附图2所示,部件i各状态之间的转移率如表1所示;
表1部件i的状态转移率
其中,在步骤4中所述的“计算部件的转移率矩阵”,需根据步骤3建立的连续时间马尔可夫链{xi(t)=(oi(t),gi(t),boi(t));t≥0}来确定部件i的转移率矩阵,如下所示:
其中,在步骤5中所述的“计算部件的各状态稳态概率”,其计算方法如下:部件i各状态的稳态概率矩阵记为πi,
这里,ai表示部件i的转移率矩阵;0表示1×ei维的零矩阵;πi,j表示部件i处于状态j的稳态概率,0≤j≤si+n;
求解非齐次线性方程组后,可得状态p(1≤p≤si+1)的稳态概率为:
状态si+h(2≤h≤n)的稳态概率为:
由于
其中,在步骤6中所述的“计算部件的期望备件短缺数”,其计算方法如下:求解出部件i的各状态稳态概率后,部件i的期望备件短缺数可由以下公式来计算:
这里,ebo(si)是指稳定状态下部件i的期望备件短缺数;bi是指部件i的备件短缺数向量;bi,m是bi中的元素,指部件i处于状态m时的备件短缺数。bi的具体形式如下:
其中,在步骤7中所述的“将每类部件分别执行步骤2到步骤6,联合各类部件的ctmc,构建服务器集群的ctmc族模型”,是指逐一建立部件的连续时间马尔可夫链(ctmc){xi(t)=(oi(t),gi(t),boi(t));t≥0}i=1,2,…,l,并且根据各类部件故障及维修是相互独立的关系,可以建立一个综合的服务器集群ctmc族{x(t)={x1(t),…,xi(t),…,xl(t)},t≥0}模型。
其中,在步骤7中所述的“计算服务器集群的期望备件短缺数”,其计算方法如下:在稳定状态下,服务器集群的eboq等价于因各类备件短缺而造成不可用服务器数的期望值之和,因此eboq的计算公式如下:
其中,在步骤8中所述的“计算服务器集群的稳态可用度”,其计算方法如下:总服务器数n与稳定状态下服务器集群的eboq相减,得到可用服务器数的期望值;而服务器集群的稳态可用度aq等价于可用服务器数期望值占总服务器数n的百分比;因此服务器集群aq的计算公式如下所示:
通过以上步骤,在考虑备件的情况下,首先建立各类部件的ctmc模型,然后根据部件之间发生故障及维修是相互独立的关系,联合各类部件的ctmc建立服务器集群的ctmc族模型;随后根据ctmc族模型计算服务器集群的期望备件短缺数,利用服务器集群期望备件短缺数与稳态可用度之间的关系,计算服务器集群稳态可用度。这种建模方法能够有效减少马尔可夫过程中的状态数量,从而降低计算服务器集群稳态可用度的难度,为服务器集群的设计、改进提供有价值的参考信息。
(3)优点和功效
本方法给出了一种考虑备件影响的服务器集群稳态可用度马氏建模方法,其优点是:
①本发明考虑不同备件的库存和短缺数量对服务器集群可用度的影响,能为服务器及服务器集群的备件制定方案提供指导意见。
②本发明以服务器集群的架构特点为基础,构建了满足库存平衡关系的部件ctmc,并根据部件间的故障逻辑关系建立了服务器集群ctmc族模型。相对以往利用马尔可夫过程分析服务器集群可用度的模型而言,这种建模方法能够有效降低服务器集群ctmc建模空间维数。
③本发明提出了基于ctmc族的服务器集群稳态可用度建模方法,为应用ctmc方法计算服务器集群可用度指标提供了一种新的技术途径。
附图说明
图1是典型的服务器集群架构。
图2是部件i的马尔可夫状态转移图。
图3本发明所述建模方法流程图。
图4是部件1的马尔可夫状态转移图。
图中符号说明如下:
n是指集群系统中包含的服务器数量;
l是指部件的种类数;
zi表示部件i的单服务器安装数;
λi是指部件i的故障率;
μi是指部件i的维修率;
πi是指部件i的各状态稳态概率向量;
πi,j是指部件i处于状态j的稳态概率;
bi是指部件i的备件短缺数向量;
bi,m是指部件i处于状态m时的备件短缺数;
ei是指部件i的状态数;
ai表示部件i的状态转移率矩阵;
ebo(si)是指部件i的期望备件短缺数;
eboq是指服务器集群的期望备件短缺数;
aq是指服务器集群稳态可用度;
ctmc是指连续时间马尔可夫链(continuoustimemarkovchain);
xi(t)是指部件i的连续时间马尔可夫链;
x(t)是指服务器集群ctmc族;
oi是指受部件i影响的可用服务器数;
gi是指部件i的库存量;
boi是指部件i的备件短缺个数;
si是指部件i的初始库存量;
oi(t)是指在部件i的连续时间马尔可夫链中的可用服务器的数量;
gi(t)是指在部件i的连续时间马尔可夫链中的可用备件的数量;
boi(t)是指在部件i的连续时间马尔可夫链中的备件短缺的数量;
具体实施方式
下面结合实例对本发明的具体实施方式作进一步的详细说明。通常情况下,复杂的服务器可以通过等效、合并等方式转化为串联结构的系统。以下示例中涉及的服务器集群包含10个同型服务器,形成多机热备模式。每个服务器由8类关键部件串联组成。设定各类关键部件的故障时间和维修时间分别服从指数分布。
本发明是一种服务器集群稳态可用度马氏建模方法,具体实施流程见图3所示,实际实施步骤如下:
步骤1收集服务器集群的相关信息。根据服务器集群的架构特点可以确定n=10,l=8,具体用到的部件信息如下表2所示。
表2部件相关参数
步骤2针对第1种部件,选择三个参数:可用服务器个数o1、初始库存数s1、期望备件短缺数bo1来表示部件1的状态转移。初始状态时,o1=10、s1=1、bo1=0。此时部件1一共有12种状态,分别为:①状态0:(10,1,0)、②状态1:(10,0,0)、③状态2:(9,0,1)、④状态3:(8,0,2)、⑤状态4:(7,0,3)、⑥状态5:(6,0,4)、⑦状态6:(5,0,5)、⑧状态7:(4,0,6)、⑨状态8:(3,0,7)、⑩状态9:(2,0,8)、
步骤3确定部件1的转移率,构建部件1的连续时间马尔可夫链。本案例中部件1的初始备件数为1,经过计算部件1各状态之间的转移率如下表所示:
表2部件1的状态转移率
转移率矩阵记为
步骤4计算部件1的转移率矩阵。在步骤3的基础上,结合表1中的数据可以得到部件1的状态转移率矩阵如下所示:
步骤5计算部件1的各状态稳态概率。根据步骤4得到的状态转移率矩阵,通过计算如下的公式:
计算得到部件1的各状态稳态概率为:
π1=[0.99844565,0.00155314,0.00000121,0,0,0,0,0,0,0,0,0]
步骤6计算部件1的期望备件短缺数。把π1带入下式计算期望备件短缺数:
其中b1=[0,0,1,2,3,4,5,6,7,8,9,10]t,
计算得到部件1的期望备件短缺数为:ebo(s1)=0.00000121。
步骤7对其余的部件2到部件8,重复步骤2到步骤6,建立服务器集群的ctmc族模型如下:{x(t)={x1(t),…,xi(t),…,x8(t)},t≥0}。随后计算出其余部件的期望备件短缺数如下:
ebo(s2)=0.00000167
ebo(s3)=0.00000425
ebo(s4)=0.00000555
ebo(s5)=0.00000354
ebo(s6)=0.00001625
ebo(s7)=0.00003183
ebo(s8)=0.00000019
步骤8计算服务器集群的稳态可用度。通过对各个部件期望备件短缺数求和,得到服务器集群的期望备件短缺数eboq:
根据服务器集群期望备件短缺数与稳态可用度之间的函数关系,服务器集群的稳态可用度aq可由下式计算: