一种基于隐马尔科夫模型的软件系统状态预测方法

文档序号:8380868阅读:224来源:国知局
一种基于隐马尔科夫模型的软件系统状态预测方法
【技术领域】
[0001] 本发明涉及计算机软件技术领域,具体地,涉及一种基于隐马尔科夫模型的软件 系统状态预测方法,主要应用于大型软件管理系统的运行状态预测。
【背景技术】
[0002] 随着计算机的普及和应用,各个企业对大型软件管理系统需求越来越高。各式各 样的软件管理系统成为各个企业安全、可靠和稳定运行的重要保障。因此,迫切要求提出以 评估软件系统运行状态为基础的系统评估和预测机制,提高其运行的可靠性,以保证软件 系统中各向功能的安全使用。但是软件状态预测方面,其理论与技术的发展仍然处在一个 初级的阶段。
[0003] 软件状态预测指通过历史信息以及软件系统当前状态信息,对于软件系统未来时 间可能出现的状态进行预测。准确的预测软件状态有助于运维人员及早发现和处理可能的 问题,防止功能降级,或者系统崩溃等。
[0004] 当前主流预测方法主要基于时间序列法,从以往系统状态序列中找到一定模式进 而推测未来系统状态,预测准确率低,且该方法并未发掘系统实际状态和系统观测参数之 间的联系。

【发明内容】

[0005] 本发明的目的就在于克服现有技术在软件运行状态预测中的缺点和不足,提供一 种基于隐马尔科夫模型的软件系统状态预测方法。该方法基于隐马尔科夫模型对系统实际 状态和系统观测参数之间关系进行建模,进而根据系统观测值对系统实际状态进行预测。
[0006] 本发明解决上述问题所采用的技术方案是: 一种基于隐马尔科夫模型的软件系统状态预测方法,包括以下步骤: 步骤1、构造训练样本集,采用K均值聚类算法将训练样本集中的样本聚为k簇; 步骤2、构造隐马尔科夫模型λ = [π,Α,Β],将步骤一中的k个簇作为模型的观测状 态,将系统状态作为隐藏状态;π为初始状态的概率分布,A为隐藏状态转移矩阵,B为隐藏 状态与观测状态关系矩阵; 步骤3、对隐马尔科夫模型进行训练,得到新的隐马尔科夫模型I; 步骤4、利用采集的系统观测值和新的隐马尔科夫模型1对系统实际状态进行预测。
[0007] 作为本发明的进一步改进,所述步骤2包括以下步骤: 步骤21、将步骤1中的k个簇作为隐马尔科夫模型的观测状态,观测状态个数为M,M =k ; 步骤22、系统状态由正常、注意、异常和危险四个状态构成,这四个状态作为隐马尔科 夫模型的隐藏状态,隐藏状态个数为N,N = 4。
[0008] 进一步,所述步骤3包括以下步骤: 步骤31、随机赋值初始化隐马尔科夫模型的参数,得到初始化的隐马尔科夫模型; 步骤32、选定一组已知的观测序列O = {〇1,〇2,…,〇τ},利用该观测序列和初始化的隐 马尔科夫模型和对隐马尔科夫模型进行重估,并对重估后的隐马尔科夫模型1进行反复迭 代重估,直至收敛,得到训练好的隐马尔科夫模型。
[0009] 进一步,步骤1包括以下步骤: 步骤11、从系统运行历史数据中采集T个时刻的软件运行状态参数,构造训练样本集 X,训练集合为{x(1),x(2),x(3),…,Χ(τ)}; 步骤12、采用K均值聚类算法将样本集中的所有样本聚为k类,具体包括以下步骤: (bl)随机选取k个聚类质心点:μ u μ2, . . .,yk; (b2)重复b21-b22直到收敛: (b21)对于每一个样本χω,q = 1,2,…,T,计算其应该属于的类:
【主权项】
1. 一种基于隐马尔科夫模型的软件系统状态预测方法,其特征在于,包括以下步骤: 步骤1、构造训练样本集,采用K均值聚类算法将训练样本集中的样本聚为k簇; 步骤2、构造隐马尔科夫模型A= [^Aj],将步骤一中的k个簇作为模型的观测状 态,将系统状态作为隐藏状态;Jr为初始状态的概率分布,A为隐藏状态转移矩阵,B为隐藏 状态与观测状态关系矩阵; 步骤3、对隐马尔科夫模型进行训练,得到新的隐马尔科夫模型I; 步骤4、利用采集的系统观测值和新的隐马尔科夫模型I对系统实际状态进行预测。
2. 根据权利要求1所述的一种基于隐马尔科夫模型的软件系统状态预测方法,其特征 在于,所述步骤2包括以下步骤: 步骤21、将步骤1中的k个簇作为隐马尔科夫模型的观测状态,观测状态个数为M,M=k; 步骤22、系统状态由正常、注意、异常和危险四个状态构成,这四个状态作为隐马尔科 夫模型的隐藏状态,隐藏状态个数为N,N= 4。
3. 根据权利要求1或2所述的一种基于隐马尔科夫模型的软件系统状态预测方法,其 特征在于,所述步骤3包括以下步骤: 步骤31、随机赋值初始化隐马尔科夫模型的参数,得到初始化的隐马尔科夫模型; 步骤32、选定一组已知的观测序列0 = {〇1,〇2,…,〇T},利用该观测序列和初始化的隐 马尔科夫模型和对隐马尔科夫模型进行重估,并对重估后的隐马尔科夫模型I进行反复迭 代重估,直至If)收敛,得到训练好的隐马尔科夫模型。
4. 根据权利要求3所述的一种基于隐马尔科夫模型的软件系统状态预测方法,其特征 在于,步骤1包括以下步骤: 步骤11、从系统运行历史数据中采集T个时刻的软件运行状态参数,构造训练样本集X,训练集合为{x(1),x(2),x(3),…,x(T)}; 步骤12、采用K均值聚类算法将样本集中的所有样本聚为k类,具体包括以下步骤: (bl)随机选取k个聚类质心点:yuy2, yk; (b2)重复b21-b22直到收敛: (b21)对于每一个样本x(q),
a=L2,…,T,计算其应该属于的类: c(q)表示每一个样本Xw应该属于的类,cw的取值范围为{1,…,k}; (b22)在步骤(b21)将所有样本分类完成后,对于每一个类,重新计算该类的质心:
5. 根据权利要求4所述的一种基于隐马尔科夫模型的软件系统状态预测方法,其特征 在于,步骤12中,将采用K均值聚类算法将样本集中的所有样本聚为8类。
6. 根据权利要求3所述的一种基于隐马尔科夫模型的软件系统状态预测方法,其特征 在于,步骤32包括以下步骤: 步骤321.选定一组已知的观测序列0 = {c^,〇2,…,oT}; 步骤322.设定4〇|1)收敛条件,收敛条件为|1〇4^<9|1》- 1〇8(?(<911))|<6,£ = 1(T3,P(0|r)为重估的隐马尔科夫模型中观察到观测序列〇的概率,P(〇|A)为当前的隐马 尔科夫模型中观察到观测序列〇的概率; 步骤323.利用观测序列0对当前隐马尔科夫模型参数进行重估,得到新的隐马尔科夫 丰旲型A; 步骤324.判断|r):是否收敛,是则将重估得到的最新隐马尔科夫模型I作为训练 好的隐马尔科夫模型,结束重估;否则,将重估得到的最新隐马尔科夫模型1作为当前隐马 尔科夫模型并跳转到步骤323。
7. 根据权利要求6所述的一种基于隐马尔科夫模型的软件系统状态预测方法,其特征 在于,所述步骤323包括以下步骤: 步骤3231 :计算在当前隐马尔科夫模型X和观测序列〇下,在时刻t时系统处于隐藏 状态Si、时刻t+1系统处于隐藏状态Sj的概率|t(i,j):
aij表示隐藏状态s,向隐藏状态s」转移的概率;b」(〇t+1)表示隐藏状态与观测状态关系 矩阵B中观测到观测序列0中的〇t+1状态时处于隐藏状态\的概率;at (i)为在时刻t,系 统处于隐藏状态Si,并且部分观测序列为〇1,〇2,…, 〇1的概率;0 t+1 (j)为在时刻t,系统处 在隐藏状态并且部分观测序列为〇t+1,〇t+2,…,%的概率; 步骤3232 :计算观测序列0中从隐藏状态^转移到隐藏状态^的期望次数:
步骤3233 :计算在时刻t观测序列0中从隐藏状态^出发的转换的期望次数:
步骤3234 :重估公式: (a) 重估隐藏状态初始状态的概率分布,将t= 1代入公式(5)得到t= 1时处在隐藏 状态Si的期望概率
(b) 重估隐藏状态转移矩阵:
(C)重估隐藏状杰与观测状杰关系矩阵: /=]
其=
Vf为观测状态取值; 通过步骤(a)-(C)得到新的隐马尔科夫模型无的新参数疋、f(/)、4。
8.根据权利要求6所述的一种基于隐马尔科夫模型的软件系统状态预测方法,其特征 在于,所述步骤324包括以下步骤: 步骤3241:计算当前隐马尔科夫模型X的参数下时间T范围内观测到观测状态序列 0 = {〇1,…,〇T}的概率P(0|入),其中〇dGV,此处d= 1,2,…,T;V为观察状态的集合:假 定观测到观测状态序列〇 = {c^,…,〇T}时对应的状态链为Q= {q:,q2,…,qT};贝1J:
其中,U/ =l,2,…,T)表示隐藏状态初始状态的概率分布jt中qd的初始概率, \(心)(d=U,…,D表示隐藏状态与观测状态关系矩阵B中观测到〇(1时处于隐藏状 态qd的概率,(d= 2,3,...,T)表示隐藏状态转移矩阵a中,从由状态转移到qd 的概率; 步骤3242 :计算新的隐马尔科夫模型I的新参数疋、/^X/';)、%下观测到状态序列0 ={〇1,…,〇T}的概率假定观测到观测状态序列〇= {〇1,…,〇T}时对应的状态链 为Q=la,,a。.…,aJ:贝丨丨:
其中,U/ =l, 2,...,r)表示新的隐马尔科夫模型疋下隐藏状态初始状态的概率 分布中qd的初始概率,(Jz1,2,…,表示新的隐马尔科夫模型无下隐藏状态与 观测状态关系矩阵B中观测到〇(1时处于隐藏状态(^的概率,idA(d= 2,3,...,r)表示 新的隐马尔科夫模型Z下隐藏状态转移矩阵A中,从由状态ciH转移到(^的概率; 步骤3243 :判断|l〇g(P(〇| 卜log(P(01〗))| < £'是否成立,若是结束迭代程序,得到 训练好的隐马尔科夫模型令A=无;否则,令;L=I,将新的隐马尔科夫模型Z作为当前 隐马尔科夫模型,回到步骤323进行循环。
【专利摘要】一种基于隐马尔科夫模型的软件系统状态预测方法,包括以下步骤:构造训练样本集,采用K均值聚类算法将训练样本集中的样本聚为k簇;构造隐马尔科夫模型λ=[π,A,B],将训练样本集中的k个簇作为模型的观测状态,将系统状态作为隐藏状态;对隐马尔科夫模型进行训练,得到新的隐马尔科夫模型;利用采集的系统观测值和新的隐马尔科夫模型对系统实际状态进行预测。本发明基于隐马尔科夫模型对系统实际状态和系统观测参数之间关系进行建模,进而根据系统观测值对系统实际状态进行预测,能够根据系统的观测值对系统软件状态进行准确的预测,有助于运维人员及早发现和处理可能的问题,防止功能降级,或者系统崩溃,预测准确率高。
【IPC分类】G06F11-36
【公开号】CN104699606
【申请号】CN201510099169
【发明人】常政威, 吴佳, 林奕欧, 江维, 谢晓娜, 陈亚军, 王电钢
【申请人】国网四川省电力公司电力科学研究院, 电子科技大学, 国家电网公司
【公开日】2015年6月10日
【申请日】2015年3月6日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1