针对两层软件老化现象的基于维护费用的全局优化方法

文档序号:8223417阅读:220来源:国知局
针对两层软件老化现象的基于维护费用的全局优化方法
【技术领域】
[0001] 本发明属于软件性能测试领域,尤其涉及能够最小化维护费用的,针对两层软件 老化现象的基于维护费用的全局优化方法。
【背景技术】
[0002] 软件老化现象是软件长时间运行时,由于计算机资源的消耗而造成软件性能逐渐 下降的现象。这种现象可能造成的后果是严重的,它不仅影响普通服务器软件的运行,并 且可能对要求高可靠性的关键领域,如商业、金融、科技和军事等领域中使用的软件造成影 响,在安全性要求极高的软件环境中,软件老化现象甚至可能造成人员伤害甚至名誉损失。 针对这种现象,学者提出了一种称作"软件再生(Software Rejuvenation) "的方法,也就是 通过定期地重新启动服务器软件或者整个计算机系统,重新初始化服务器的内部状态,释 放可能造成老化的被占用系统资源,使得软件的状态和性能得到恢复,从而避免或减少老 化造成的严重性能下降甚至软件系统宕机造成的损失。在软件再生方法的应用当中,再生 时间间隔的确定是一个非常重要的问题,若再生时间间隔选择过长,则可能不能避免软件 老化现象造成的危害,若再生时间间隔选择过短,则主动再生行为本身为软件系统带来的 开销就可能过大,造成软件实际使用效率的降低。通常,软件再生时间间隔会选择一个适当 短于软件预期寿命的值,因此,对软件寿命的预测和估计一直是软件老化领域相关研究中 的一个焦点。为了估计软件寿命的概率分布,可以对实际软件系统进行充分地抽象,利用马 尔科夫模型、半马尔科夫模型、随机回报网、随机Petri网等数学模型对系统进行建模,从 而抽象出软件寿命的特征;也可以研究真实的软件系统,利用各种性能参数的检测手段设 计实验,从真实的实验中采集系统性能参数的各种变化数据,然后利用统计方法或者人工 智能算法等,描述并且预测软件的寿命。然而,对真实软件系统进行测试存在一大障碍,通 常情况下服务器软件都被设计成连续不间断地运行提供服务,即使存在老化现象,软件的 寿命也很长,也就难以通过实验获得软件失效时间的样本。针对这种现象,学者提出了一种 称为"加速老化测试(ADT) "和"加速寿命测试(ALT) "技术,也就是利用加速寿命测试理论, 通过耗时较短的加速寿命测试得到加速情况下软件的寿命数据,计算非加速情况下软件的 真实寿命。
[0003] 随着系统软件及其运行环境的复杂性不断提高,系统软件的老化不单纯仅仅由应 用层或操作系统层造成的,任何一层的老化都会造成整个运行服务的崩溃,而传统的测试 方法都只受限于一层。本发明构建两层软件老化分析模型,计算系统老化阈值水平,利用传 统工业领域中广泛应用的加速寿命测试理论,部署和实施针对两层软件老化现象的加速寿 命测试实验,调整监测器监测内存变化的时间间隔,计算在每一个监测器监测时间间隔下 非加速软件的真实寿命及其他参数,得到正常情况下系统软件可用性的概率分布。
[0004] 不少专家学者对软件老化进行了研究,譬如Yun-Fei Jia等人[2008]研究web服 务器中的老化现象,他们用一台Apache服务器和多个客户端搭建了一个实验平台,运行多 组实验,收集在每组实验中服务器上系统资源使用量的相关信息,他们观察到软件老化过 程是非线性的和混乱的;Cotroneo等人[2010]研究了 Linux内核代码,分析了工作负载参 数,通过高亮显示与老化趋势有关联的子系统,为软件老化的潜在来源提供了证明。但是他 们很少针对两层软件的老化进行研究,然而整个系统的可用性不仅仅只涉及到应用层(操 作系统层)的可用性,它与上述两者都有密切的关系,任何一层软件的失效都会导致系统 是不可用的。

【发明内容】

[0005] 本发明的目的是提供一种能够最小化维护费用的,针对两层软件老化现象的基于 维护费用的全局优化方法。
[0006] 本发明是通过以下技术方案实现的:
[0007] 针对两层软件老化现象的基于维护费用的全局优化方法,其特征在于,包括以下 几个步骤:
[0008] 步骤一:记录应用层在初始健康状态时可利用内存At()tal和操作系统层在初始健 康状态时可利用内存〇 total,监测器监测应用层在时间间隔(t? (i-1),t*i]内消耗的内 存Xi和操作系统层在时间间隔(T ? (i-1),T ? i]内消耗的内存Yi,其中T为监测时间 间隔,i为监测总次数;
[0009] 步骤二:基于更新过程构建两层软件老化分析模型:
【主权项】
1.针对两层软件老化现象的基于维护费用的全局优化方法,其特征在于,包括以下几 个步骤: 步骤一:记录应用层在初始健康状态时可利用内存Attrtal和操作系统层在初始健康状 态时可利用内存Ottrtal,监测器监测应用层在时间间隔(τ · (i-1),τ *i]内消耗的内存Xi 和操作系统层在时间间隔(τ · (i-1),τ *i]内消耗的内存Yi,其中τ为监测时间间隔, i为监测总次数; 步骤二:基于更新过程构建两层软件老化分析模型:
其中,A(k · τ )为监测器第k次监测时应用层中可用的内存,0(k · τ )为监测器第k 次监测时操作系统层中可用的内存; 步骤三:根据两层软件老化分析模型,得到操作系统层的警戒阈值〇^的最佳值、操作 系统层的疲劳阈值Obl?的最佳值,和应用层的警戒阈值A 的最佳值; 操作系统层的警戒阈值Ored的最佳值为:
其中,cL/为操作系统层的警戒阈值Ora!的最佳值,在时间(K+1) · τ之前操作系统崩 溃的概率α为:
操作系统层的疲劳阈值Oblm的最佳值为:
其中,为操作系统层的疲劳阈值Oblm的最佳值,
应用层的警戒阈值Ared的最佳值为:
其中,尤/为应用层的警戒阈值Aral的最佳值,在时间(Κ+1) · τ之前应用层崩溃的概 率为:
其中,E(X)为\期望值,E⑴为Y湖望值,c %和c 分别是操作系统每一次再生和被 动重启的费用,Λ和Λ'分别为操作系统再生和被动重启的时间,Ε(Λ)和Ε(Λ')分别是 Λ和Λ'的期望值,cAjPCta分别是应用层每一次再生和被动重启的费用,δ和δ'分别 为应用层再生和被动重启的时间,Ε( δ)和Ε( δ')分别是δ和δ'的期望值。 步骤四:根据操作系统层的警戒阈值Ored的最佳值、操作系统层的疲劳阈值Oblm的最佳 值,和应用层的警戒阈值Aral的最佳值,得到两层软件系统可用性最大值。
2.根据权利要求1所述的针对两层软件老化现象的基于维护费用的全局优化方法,其 特征在于:所述的得到两层软件系统可用性最大值的方法,包括以下几个步骤, 1) 对应用层和操作系统层的状态进行划分,当AMd<A(t)彡Attrtal时,应用层处于安全 状态;当0 < A(t)彡Aral时,应用层处于警戒状态;当A(t) = 0时,应用层处于耗尽状态; 当0blue< 0(t)彡Ottrtal时,操作系统层处于安全状态;当0Μ(1< 0(t)彡Oblue时,操作系统 层处于疲劳状态;当〇 < 〇(t) < 0^时,操作系统层处于警戒状态;当0(t) = 0时,操作系 统层处于耗尽状态; 2) 求得当应用层处于警戒状态或耗尽状态,并且操作系统层处于疲劳状态的概率pM, 以及此时两层软件系统的可用性4为 :
当操作系统层处于警戒状态的概率Pffi,以及此时两层软件系统的可用性4为: Pn9= (1-p m) (1-α )
当操作系统层到达耗尽状态的概率Ρ?,以及此时两层软件系统的可用性^为: P03= (1-Ρ 0?) α
其中,tAM= :β · δ'+α-β) δ是维护一次应用层的平均时间, 3)求取两层软件系统的可用性最大值为: Availability = p01 · Ajp02 · A2+ρ03 · Α3。
【专利摘要】本发明公开了针对两层软件老化现象的基于维护费用的全局优化方法。包括以下步骤:监测器监测应用层在时间间隔(τ·(i-1),τ·i]内消耗的内存Xi和操作系统层在时间间隔(τ·(i-1),τ·i]内消耗的内存Yi;基于更新过程构建两层软件老化分析模型;根据两层软件老化分析模型,得到操作系统层的警戒阈值的最佳值、操作系统层的疲劳阈值的最佳值,和应用层的警戒阈值的最佳值;得到两层软件系统可用性最大值。本发明提出了针对两层软件的再生策略方法,能够有效提高整体的可用性。
【IPC分类】G06F11-36
【公开号】CN104536894
【申请号】CN201510009756
【发明人】赵靖, 王延斌, 刘耀莉, 宁高容, 蔡开元
【申请人】哈尔滨工程大学
【公开日】2015年4月22日
【申请日】2015年1月9日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1