购物系统的在线可靠性预测和提高方法

文档序号:9217632阅读:931来源:国知局
购物系统的在线可靠性预测和提高方法
【技术领域】
[0001] 本发明涉及一种购物系统的在线可靠性预测和提高方法,对实时运行的购物系统 进tx提如的可靠性预测以及提供提尚可靠性的方法,从而保证系统能够提尚尚质量、尚可 靠的服务。
【背景技术】
[0002] 软件可靠性是衡量软件质量的重要指标。目前已有很多关于软件可靠性预测的研 宄,但是这些研宄大部分是关于静态可靠性的研宄,使用的数据来自测试阶段的静态数据。 由于没有考虑软件的运行环境和动态行为,因此所预测的可靠性已无法反应系统的真正的 可靠性;其次,静态的可靠性无法反应系统运行时的可靠性,因此也无法在系统可靠性不高 的时候来对系统进行重配置以提高可靠性。有人提出了将静态可靠性模型和动态分析结合 来评估系统在运行阶段的可靠性变化趋势;也有人提出了通过结合包括系统执行环境在内 的许多信息源来预测系统实时可靠性,同时通过重新分配执行组件以及改变组件的复制数 来提高系统的可靠性。
[0003] 但是这些方法具有如下一些不足之处:(1)无法根据运行的数据预测从当前状态 开始接下来的某一个时间段的可靠性;(2)当可靠性降低时,无法对影响可靠性降低的组 件进行定位。

【发明内容】

[0004] 本发明的目的在于针对现有技术的不足,提供一种购物系统的在线可靠性预测和 提高方法。
[0005] 本发明的目的是通过以下技术方案来实现的:一种购物系统的在线可靠性预测和 提高方法,包括如下步骤:
[0006] (1)收集系统实时运行数据:通过配置系统的日志文件来收集系统实时运行数 据,对于java应用程序的购物系统,通过配置log4j来获得系统的运行日志;
[0007] (2)根据收集到的实时运行数据,确定进行失效数据预测的时间序列分析模型,即 自回归积分滑动平均模型(ARIMA),该模型的形式为ARIMA(p,d,q),其中p,q分别表示自回 归项和移动平均项,d表示时间序列成为平稳时所做的差分次数;根据样本数据确定模型 中的参数;
[0008] (3)失效数据的预测:确定预测模型之后,根据当前和过去的数据预测系统在未 来一段时间内的失效数据;具体包括如下步骤:
[0009] (3. 1)失效数据的平稳化处理:当失效数据序列{YpY2,…,Yt}不平稳时,通过逐 次差分,直到获得新的平稳序列{XpX2,…,Xt_d},其中所进行的差分次数即为d的值;然后 再将平稳序列%,&,…,Xt_d}零均值化处理Z,-不-1;
[0010] (3. 2)模型确定:利用最小二乘估计法、极大似然估计法对ARMA(p,q)的自回归系 数,滑动平均系数进行估计;再利用AIC准则进行模型定阶,有着最小AIC值的模型即为最 优模型;最后判断此模型的残差序列是否为白噪声,若是则通过检验,得出软件可靠性预测 模型,否则,重新计算;
[0011](3. 3)失效数据预测:根据所得模型预测{Xt'},然后还原为失效数据{Yt}的预测 结果;
[0012] (4)系统可靠性预测:根据预测的失效数据和基于组件的可靠性计算模型,计算 系统在未来一段时间的可靠性;所述基于组件的可靠性模型具体如下:
[0013] 端口 :端口p是一个多元组(M,t,c),M在端口p中是一个方法的有限集,t表示 提供或需求的端口类型,c表示同步或异步的通信类型;
[0014] 组件:组件Com是一个多元组(Pp,Pr,G,W),匕是提供端口的有限集,Pr是需求端 口的有限集,G是有限子组件集,『smxUwtCAUCA表示非自反关系的端口关系,且TP =PpUP屮U。ePpC.PjPC.P^分别表示子组件C提供和需求的端口集;
[0015] 使用端口活动描述组件的动态行为,其基本活动被认为是两个端口之间的信息交 换;
[0016] 端口的可靠性预测:当一个端口的方法被调用时,认为这个端口被访问一次表 示端口p在一段时间间隔[0,T]内被访问的次数;预测过程中一个失效数据表示一次错误, 心表示预测过程中错误的次数;假设端口P有操作pP2,则在时间T端口p的可靠性定 义为
[0017] 系统的可靠性预测:系统在执行一段时间后的可靠性定义 为:
,其中rUrD是轨迹tri的可靠性,f(tri)是轨迹tri的发生频率;
[0018] (5)故障组件的定位:如果预测的可靠性低于预期值时,则需寻找引起系统可靠 性降低的组件,这里利用频谱定位和极大似然估计方法来定位故障组件;假设系统由M个 组件组成,记为Cj(je{1,……,M}),可能有E个错误组件;诊断报告D=〈…,dk,…〉 为有序的可能的多个错误的组件候选集,dk按照错误的可能性排列;
[0019] 建立频谱矩阵:频谱矩阵表示系统动态行为中所包含的组件的标记;系统每执行 一次,经过了的组件记为1,否则为0 ;假设共执行了N次,频谱矩阵表示为一个N*M的矩阵A;考虑了所经组件的次数,故矩阵元素表示组件Cj在第i次执行时是否经过此组件及 经过的次数;执行的结果存储在向量e中,表示每次执行完后,若运行通过,则记为〇,运行 失败记为1 ;
[0020] 候选集生成:使用最小命中集算法来计算诊断候选集,基于频谱的错误定位技术 (SFL)能很好地按照组件故障可能性预测故障排行;SFL输入频谱矩阵(A,e),产生有序的 组件错误可能性排行;组件以相似系数计算排名,即排名最高的组件往往是错误的;具体 相似系数的定义为:
[0022] 其中,
[0023] nn(j) = | {ie {1,2, ...,N}laAO八ef1} |
[0024] ni〇(j)= |{iG {1,2, ...,N} |aiJ>0 八 ei= 0}
[0025]n01 (j)= |{iG{1,2, ...,N} | 已。_= 0 八e!=1} |
[0026] 候选集排序:使用贝叶斯规则来计算候选集的概率;根据候选集dk的所有观测 值,每个候选集dk的概率描述了实际系统的错误情况;由贝叶斯规则得出,在所观测到的观 测值下候选集dk的后验概率的计算公式为:
[0028]令已(j)=p表示组件(^_错误的先验概率,假设组件错误是独立的,则候选集dk的 先验概率为:
[0030]Pjobs)是为正规化因子,无需计算;因每次执行是独立的,故
[0032]其中Pr(obSi|dk)的定义如下:
[0034]其中:
[0036]其中hjG [0, 1]表示组件j正常工作的概率;
[0037]因此,Pr(obs|dk)是关于4的表达式,通过最大似然估计法可以得到h」的估计值, 实际上就是求解如下极值问题:arg 其中,G={hjG[0, 1] :j= 1,2,…,M};
[0038] (6)系统重新配置:对于故障组件,可以替换该组件或者在系统中增加与故障组 件功能相同的正常组件,通过计算两个方法所能获得的可靠性选取可靠性提高最大的方 法。
[0039] 进一步地,所述步骤(2)中,ARIMA(p,d,q)模型的确立使用Eviews统计分析软件 来完成,具体包括如下过程:时间序列数据的平稳化处理、模型参数估计。
[0040] 进一步地,所述步骤(5)中,故障组件的定位包括:根据各个组件在每次测试中经 过的次数构建频谱矩阵,根据频谱矩阵产生故障组件的候选集,利用极大似然估计确定候 选集的后验概率,数值最大的即为选择的故障组件集合。
[0041] 本发明的有益效果是:本发明方法通过时间序列分析模型ARIMA来对系统未来某 一时间段内的失效数据进行实时预测,并预测系统的可靠性,以此来克服现有技术中的不 足点1 ;当预测的可靠性低于预期值时,首先定位引起系统可靠性降低的组件,然后有两种 重新配置系统的方法:替换故障组件和增加与之功能相同的组件,通过判断所产生的效果 来选择可靠性提高最大的方法来对系统进行重新配置,以此来克服现有技术中的不足点2。
【附图说明】
[0042] 图1面向服务的系统可靠性预测和提高方法的技术流程图;
[0043] 图2添加新组件的部分在线购物系统SCA。
【具体实施方式】
[0044] 下面结合附图对本发明作更进一步的说明。
[0045] 本发明提出的购物系统的在线可靠性预测和提高方法一方面能够预测实时运行 的系统在未来某一个时间的可靠性,同时能够通过故障组件的定位有针对性的对系统进行 重新配置,从而来提高系统的可靠性。下面对该过程进行具体说明:
[0046] (1)实时动态数据的收集:首先,通过分析系统的功能性能等特点,确定需记录实 时数值的合理的变量,例如具有时间要求的系统可以选择响应时间、具有数量要求的系统 可
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1