CN111881023B - 一种基于多模型对比的软件老化预测方法及装置 - Google Patents

一种基于多模型对比的软件老化预测方法及装置 Download PDF

Info

Publication number
CN111881023B
CN111881023B CN202010664912.4A CN202010664912A CN111881023B CN 111881023 B CN111881023 B CN 111881023B CN 202010664912 A CN202010664912 A CN 202010664912A CN 111881023 B CN111881023 B CN 111881023B
Authority
CN
China
Prior art keywords
aging
prediction
prediction model
model
aging prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010664912.4A
Other languages
English (en)
Other versions
CN111881023A (zh
Inventor
向剑文
贾凯
李滴萌
赵冬冬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University of Technology WUT
Original Assignee
Wuhan University of Technology WUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University of Technology WUT filed Critical Wuhan University of Technology WUT
Priority to CN202010664912.4A priority Critical patent/CN111881023B/zh
Publication of CN111881023A publication Critical patent/CN111881023A/zh
Application granted granted Critical
Publication of CN111881023B publication Critical patent/CN111881023B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于多模型对比的软件老化预测方法及装置,属于软件老化领域,从目标软件***收集老化指标,将其处理成时间序列数据作为模型的预输入;针对老化数据规模,设计包括机器学习和神经网络的老化预测模型,计算各模型的预测误差,选定误差最小的模型作为候选模型;计算该模型与其他模型间是否存在显著性差异,如果差异性明显,选定该模型为最终的老化预测模型。本发明解决了单个模型预测结果可能会影响决策制定的问题,用户可以根据老化数据特征和预测误差自动地选择适合的模型,避免了主动性的维护措施或早或晚地执行,降低对软件可靠性的影响。可以扩展更多的模型,针对不同的老化数据规模可以选择最优的预测模型帮助***运维。

Description

一种基于多模型对比的软件老化预测方法及装置
技术领域
本发明属于软件老化领域,更具体地,涉及一种基于多模型对比的软件老化预测方法及装置。
背景技术
针对各种***软件,如Linux操作***、Apache服务器、中间件、J2EE应用服务器、物联网环境下的软件***以及各种移动设备,在长时间运行过程中,由于错误的累积和资源的消耗而导致的性能下降并最终崩溃,这种现象被称之为软件老化。软件老化预测作为软件重生的一种主动性维护技术得到了广泛使用。该预测方式可以基于***的当前或过去状态来推断和预测未来状态。通过使用诸如机器学习或时间序列方法之类的技术,估计下一状态的***资源使用情况。此预测模式可估计***资源耗尽的时间,并在***显示老化趋势之前合理地做出决策。
然而,传统的基于机器学习的方法往往很少考虑在软件老化过程中代表性参数值所隐藏的时序信息,且单一模型可能对不同数据特征(线性或非线性)预测能力有所差别,从而导致预测精度较低。因此,在软件老化预测的研究中,需同时考虑老化数据特征和高精度的预测需求。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提出了一种基于多模型对比的软件老化预测方法及装置,解决了单个模型预测结果可能会影响决策制定的问题,可以根据老化数据特征和预测误差自动地选择适合的模型,避免了主动性的维护措施或早或晚地执行,降低对软件可靠性的影响。
为实现上述目的,按照本发明的一个方面,提供了一种基于多模型对比的软件老化预测方法,包括:
S1:从目标软件***收集老化指标原始数据;
S2:将所述老化指标原始数据处理成时间序列数据,组成数据集;
S3:针对老化数据规模,设计若干种老化预测模型,将所述数据集作为各所述老化预测模型的输入;
S4:计算每个所述老化预测模型的预测误差,选定预测误差最小和拟合效果最好的老化预测模型作为候选的老化预测模型;
S5:计算所述候选的老化预测模型与其他剩余的老化预测模型之间是否存在显著性差异,如果差异性明显,那么选定所述候选的老化预测模型为最终的老化预测模型,以由所述最终的老化预测模型对所述目标软件***进行老化预测。
优选地,步骤S2包括:
根据所述老化指标原始数据的采样周期将所述老化指标原始数据处理成按时间索引的时间序列数据,组成数据集。
优选地,所述老化预测模型包括若干种机器学习和神经网络的老化预测模型。
优选地,步骤S4包括:
重复使用各所述老化预测模型进行多次预测,分别取每个所述老化预测模型的各预测结果的预测误差的均值作为对应老化预测模型最终的预测误差;
选定最终的预测误差最小及预测结果与真实观测值拟合效果最好的老化预测模型作为候选的老化预测模型。
优选地,步骤S5包括:
使用非参数检验中的秩和检验计算所述候选的老化预测模型与其他剩余的老化预测模型之间是否存在显著性差异;
若所述候选的老化预测模型与其他剩余的老化预测模型之间均存在显著性差异,那么选定所述候选的老化预测模型为最终的老化预测模型,以由所述最终的老化预测模型对所述目标软件***进行老化预测;
若存在所述候选的老化预测模型与其他剩余的某个老化预测模型之间的差异不明显,则将继续选定所述候选的老化预测模型与该差异不明显的老化预测模型中的若干次实验下的某次预测误差最小的预测模型作为最终的老化预测模型。
按照本发明的另一方面,提供了一种基于多模型对比的软件老化预测装置,包括:数据采集模块、预测模块和验证模块;
所述数据采集模块,用于从目标软件***收集老化指标原始数据,并将所述老化指标原始数据处理成时间序列数据,组成数据集;
所述预测模块,用于针对老化数据规模,设计若干种老化预测模型,将所述数据集作为各所述老化预测模型的输入,并计算每个所述老化预测模型的预测误差,选定预测误差最小和拟合效果最好的老化预测模型作为候选的老化预测模型;
所述验证模块,用于计算所述候选的老化预测模型与其他剩余的老化预测模型之间是否存在显著性差异,如果差异性明显,那么选定所述候选的老化预测模型为最终的老化预测模型,以由所述最终的老化预测模型对所述目标软件***进行老化预测。
优选地,所述数据采集模块,用于从目标软件***收集老化指标原始数据,并根据所述老化指标原始数据的采样周期将所述老化指标原始数据处理成按时间索引的时间序列数据,组成数据集。
优选地,所述老化预测模型包括若干种机器学习和神经网络的老化预测模型。
优选地,所述预测模块,用于针对老化数据规模,设计若干种老化预测模型,将所述数据集作为各所述老化预测模型的输入,重复使用各所述老化预测模型进行多次预测,分别取每个所述老化预测模型的各预测结果的预测误差的均值作为对应老化预测模型最终的预测误差,并选定最终的预测误差最小及预测结果与真实观测值拟合效果最好的老化预测模型作为候选的老化预测模型。
优选地,所述验证模块,用于使用非参数检验中的秩和检验计算所述候选的老化预测模型与其他剩余的老化预测模型之间是否存在显著性差异;若所述候选的老化预测模型与其他剩余的老化预测模型之间均存在显著性差异,那么选定所述候选的老化预测模型为最终的老化预测模型,以由所述最终的老化预测模型对所述目标软件***进行老化预测;若存在所述候选的老化预测模型与其他剩余的某个老化预测模型之间的差异不明显,则将继续选定所述候选的老化预测模型与该差异不明显的老化预测模型中的若干次实验下的某次预测误差最小的预测模型作为最终的老化预测模型。
按照本发明的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
针对老化数据规模通常较小,数据特征往往存在线性和非线性模式以及老化数据所隐藏的时间依赖信息,选择合适的模型进行捕获数据特征提高预测精度非常重要。本发明结合不同模型的优点,设计了一种多模型对比的软件老化预测方法。本发明考虑了老化数据的时间依赖信息,从而构建了一组机器学习和神经网络方法框架,该框架可以根据每种方法的预测结果自适应地选取最优预测模型,解决了单一模型预测精度无法达到总是最优的缺点。高精度的预测需求有助于用户进行合理地决策制定,安排软件重生最佳的时间点,降低***由于软件老化而导致的性能下降或崩溃的问题,缓解由软件老化带来的影响,提高***的可靠性。
附图说明
图1是本发明实施例提供的一种基于多模型对比的软件老化预测方法的流程示意图;
图2是本发明实施例提供的另一种基于多模型对比的软件老化预测方法的流程示意图;
图3是本发明实施例提供的一种数据采集流程图;
图4是本发明实施例提供的一种模型训练的流程图;
图5是本发明实施例提供的一种适用于老化预测的GRU结构图;
图6是本发明实施例提供的一种老化数据的线性和非线性模式及拟合效果示例图,其中,(a)为线性模式的真实值与预测值的拟合效果,(b)为非线性模式的真实值与预测值的拟合效果;
图7是本发明实施例提供的一种基于多模型对比的软件老化预测装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例一
本发明的一种基于多模型对比的软件老化预测方法包括三个部分:数据采集过程、预测过程和验证过程;
数据采集过程从目标***收集老化指标数据,组成具有时间索引的数据集;
预测过程包含了一系列的机器学习和神经网络模型,根据数据集中数据的数据特征和预测误差结果选定候选模型;
验证过程使用非参数检验方法对候选模型和其他模型进行检验,确定最终的老化预测模型。
如图1所示是本发明实施例提供的一种基于多模型对比的软件老化预测方法的流程示意图,包括以下步骤:
S1:收集目标软件***的老化指标原始数据;
如图2所示,本发明的初衷是为了用户可以根据当前的***资源消耗情况预测下一时间的***状态,该预测方式可以获得最佳的软件恢复时间,降低***由于老化导致失效的风险。但由于老化预测往往涉及到数据采集和预处理1,组成数据集2,选择预测模型3,选定候选模型4和获取最优预测模型5等问题,因此在本发明实施例中,采取多模型对比的方式,可以根据最优预测结果选定最终的预测模型。
进一步地,步骤S1中的老化数据收集可以根据不同***进行定制,常用的老化指标有CPU和内存等,可以设计合适的脚本语言,查看***日志获取。
如图3所示为数据采集流程图。该流程图作为示例只针对安卓操作***,也可以设计脚本语言拓展到其他***,如Linux,Apache服务器等***的数据采集。首先安卓***的老化指标分为***级老化指标101和应用级老化指标102。然后执行步骤1011收集可用物理内存和执行步骤1012收集CPU使用等***级别的老化指标;然后可以执行步骤1021和步骤1022,分别收集应用级别的老化指标,得到应用堆内存和响应时间原始数据。可以根据需求设计不同的老化指标收集方案,如安卓***可以采用“cat/proc/meminfo”收集***内存信息,也可以使用“dumpsys meminfo package name”收集应用堆内存信息,其他***老化指标收集过程与之类似。以上步骤执行完毕,得到老化原始数据。
S2:将老化指标原始数据处理成时间序列数据组成数据集作为预测模型的预输入;
进一步地,步骤S2将步骤S1收集到的老化指标按时间序列处理,在预定义的采样周期里,将老化特征值按时间顺序索引,组成数据集作为预测模型的预输入。
如图4所示为预测模型训练流程图。步骤S1收集的老化指标原始数据如果想作为预测模型的输入,需要对老化指标原始数据预处理。因为老化指标原始数据包含有多列,则每一列表示一个性能指标。有些性能指标的数据特征可能呈现出上升的趋势,而有些数据特征可能呈现出下降的趋势。因此需要保留与老化现象最相关的指标作为老化数据。执行步骤201,从原始数据筛选出可用物理内存和CPU使用率等老化指标,根据其采样周期将该老化数据处理成按时间索引的时间序列数据。因此,数据间存在一种时间依赖关系,***当前状态的行为将会影响下一状态的走势。执行步骤202,归一化的目的是为了让预处理的时间序列数据被限定在一定的范围内,从而消除奇异样本数据导致的不良影响。使用数据归一化操作,主要有两个好处:一是可以提升预测模型的收敛速度,二是可以提升预测模型的精度。执行步骤203,分割归一化后的时间序列数据得到训练集和测试集,作为一种优选实施方式,其中,训练集和测试集划分比例为2:1。然后执行步骤2031和2032,将分割好的训练集和测试集整理成预测模型的输入形式。以上步骤执行完毕,得到预测模型的预输入。
S3:多预测模型的构建;
进一步地,步骤S3设计了若干种包括机器学习和神经网络的老化预测模型,可以根据老化数据特征自行选择合适的模型预测老化问题。
进一步地,步骤S3中模型的选择考虑了不同预测模型对数据特征的适应性,相同的模型可能对不同数据特征(线性或非线性)预测能力有所差别,单一模型可能导致预测精度下降。因此,构建多种预测模型,集成了一组自动化的老化预测模型,至少包括:支持向量回归(Support Vector Regression,SVR),多层感知机(Multilayer Perceptron,MLP),循环神经网络(Recurrent Neural Network,RNN),长短期记忆网络(Long Short TermMemory,LSTM),门控循环单元(Gated Recurrent Unit,GRU)。
图4~图6为本发明实施例的模型训练流程图和适用于时间序列预测的GRU结构图以及老化数据真实观测值及拟合效果示例图。多模型对比的预测方法优势在于,可以根据老化数据特征自适应地选择预测精度最高,适合于当前的数据规模和趋势的预测模型。此外,本发明在模型选定时考虑了模型间的对比,如机器学习和神经网络方法在预测时哪一种更具有优势,再比如神经网络方法和循环神经网络方法在预测时哪一种更有优势以及同样具有时间记忆功能的循环神经网络GRU和LSTM哪一种预测性能最佳。
如图5所示,以本发明实施例选用的GRU模型为例,其内部结构计算方法如下:
更新门计算过程:
zt=σ(Wz·[ht-1,xt]) (1)
重置门计算过程:
rt=σ(Wr·[ht-1,xt]) (2)
输出计算过程:
Figure BDA0002579981020000081
Figure BDA0002579981020000082
其中,t表示时刻,h表示记忆信息,x表示新的输入,z表示以前的信息是否需要更新,r表示以前的信息是否需要重置。
如图6所示为老化数据真实观测值及拟合效果示例图,其中,(a)为线性模式的真实值与预测值的拟合效果,(b)为非线性模式的真实值与预测值的拟合效果。真实观测数据来源于云服务环境下的虚拟机(VMs)CPU使用情况,数据特征呈现出线性和非线性模式。此外,除了真实观测值外,也显示了拟合效果图。该拟合效果图由GRU模型预测得到,其中,黑色实线为真实观测值,线条“--+”表示为拟合效果。从图6中可以看到,基于GRU预测模型的拟合效果非常好。特别地,在非线性模式下,***CPU资源消耗呈现上升的趋势,但此时数据波动比较大。因此,如果使用单一模型预测该模式下的资源消耗,由于单个模型预测能力有限,可能忽略了时序数据间隐藏的时间依赖信息,存在预测误差较大的情况,从而错过最佳的软件恢复时间,影响用户决策的制定。
执行步骤301,最终包含机器学习和神经网络的若干种预测技术被选择。以上步骤执行完毕,多模型对比的预测框架构造完成。
S4:选定候选模型:将步骤S2的老化数据集输入到步骤S3中构建好的预测模型,计算每个模型的预测误差,选定误差最小和拟合效果最好的模型作为候选的老化预测模型;
如图4所示为模型训练的流程图。在以上三个步骤完成后,可以执行后续步骤挑选最佳的预测模型。在输出预测结果之前,由于数据预处理时为了使预测模型快速收敛而使用了数据归一化操作。在步骤401,执行数据反归一化操作,将输入预测模型的输入数据和由预测模型得到的预测结果均执行反归一化操作,得到原始的时间序列数据及其预测结果的时间序列数据,在本发明实施例中,预测模型通过采取历史数据预测下一步数据的方式,得到预测结果。然后执行步骤402和步骤403,以上两个步骤从直观的数值结果和拟合效果上,得到每个预测模型的最终的预测误差结果。数值结果对比中,采取了多个误差观测指标,如平均绝对误差(Mean Absolute Error,MAE)、均方根误差(Root Mean Square Error,RMSE)和平均绝对百分误差(Mean Absolute Percentage Error,MAPE)。由于神经网络本质的随机性,步骤402被重复执行多次(如本发明实施例中的30次),然后求均值得到最终的预测误差结果。然后执行步骤4021和步骤4031和步骤404,通过对比多个模型的预测结果及预测结果与真实观测值的拟合效果图,从而确定候选的预测模型。
S5:确定最终的老化预测模型:计算候选的老化预测模型与其他剩余的老化预测模型之间是否存在显著性差异,如果差异性明显,那么选定候选的老化预测模型为最终的老化预测模型,以由最终的老化预测模型对目标软件***进行老化预测。
进一步地,步骤S5包括:
使用非参数检验中的秩和检验计算候选的老化预测模型与其他剩余的老化预测模型之间是否存在显著性差异;
若候选的老化预测模型与其他剩余的老化预测模型之间均存在显著性差异,即候选的老化预测模型与其他剩余的老化预测模型之间计算的p值均小于预设值,说明差异性明显,那么选定候选的老化预测模型为最终的老化预测模型,以由最终的老化预测模型对目标软件***进行老化预测,获得最佳的重生时间点,帮助用户做出合理的决策。
其中,在本发明实施例中,预设值优选为0.05。
图4为模型训练的流程图。步骤S5作为多模型对比的老化预测方法的最后一步,该步骤引入了非参数检验中的秩和检验方法,用于验证候选模型与其他模型就预测结果上是否有差异。它不依赖于总体分布的具体形式,易于理解和计算。如果计算的p值小于0.05,则被认为两组模型间存在显著性的差异。根据步骤402和步骤404得到的每个模型的预测误差以及候选模型后,执行步骤501,用候选模型和其余模型的预测误差做非参数检验中的秩和检验。然后执行步骤502,根据统计的p值验证候选模型是否为最优模型,得出统计结论,从而最终的老化预测模型被确定。
在本发明实施例中,如果秩和检验差异性不明显,即存在候选的老化预测模型与其他剩余的某个老化预测模型之间的差异不明显,两种预测模型间统计的p值大于0.05,那么将继续选定这两个预测模型中的若干次(如30次)实验下的某次预测误差最小的预测模型作为最终的预测模型,比如候选模型与剩余模型中的A模型之间差异不明显,则分别对候选模型和A模型进行若干次实验,分别选出候选模型和A模型在这若干次实验中的最小预测误差,再比较候选模型和A模型各自的最小预测误差的大小,将最小预测误差偏小时对应的预测模型作为最终的预测模型。对差异不明显的两个模型均进行上述操作,选出最终的老化预测模型。
本发明可以适用于不同***的软件老化预测,除了本发明示例介绍的安卓和VMs的性能指标老化预测外,可以针对更多的复杂***如Apache服务器,并通过计算机进行快速分析。本发明考虑了不同的老化数据特征,因此最终的预测精度高和鲁棒性较好。
使用本发明,用户能够根据预测结果判断当前的***状态是否需要执行软件恢复操作。
本发明针对遭受老化影响的软件,设计了一种多模型对比的预测性维护技术。它解决了单个模型预测结果可能会影响决策制定的问题,可以根据老化数据特征和预测误差自动地选择适合的模型,避免了主动性的维护措施或早或晚地执行,降低对软件可靠性的影响。此外,可以扩展更多的模型,针对不同的老化数据规模可以选择最优的预测模型帮助***运维。
实施例二
如图7所示是本发明实施例提供的一种装置结构示意图,包括:数据采集模块701、预测模块702和验证模块703;
数据采集模块701,用于从目标软件***收集老化指标原始数据,并将老化指标原始数据处理成时间序列数据,组成数据集;
预测模块702,用于针对老化数据规模,设计若干种老化预测模型,将数据集作为各老化预测模型的输入,并计算每个老化预测模型的预测误差,选定预测误差最小和拟合效果最好的老化预测模型作为候选的老化预测模型;
验证模块703,用于计算候选的老化预测模型与其他剩余的老化预测模型之间是否存在显著性差异,如果差异性明显,那么选定候选的老化预测模型为最终的老化预测模型,以由最终的老化预测模型对目标软件***进行老化预测。
进一步地,上述数据采集模块701,用于从目标软件***收集老化指标原始数据,并根据老化指标原始数据的采样周期将老化指标原始数据处理成按时间索引的时间序列数据,组成数据集。
进一步地,老化预测模型包括若干种机器学习和神经网络的老化预测模型。
进一步地,上述预测模块702,用于针对老化数据规模,设计若干种老化预测模型,将数据集作为各老化预测模型的输入,重复使用各老化预测模型进行多次预测,分别取每个老化预测模型的各预测结果的预测误差的均值作为对应老化预测模型最终的预测误差,并选定最终的预测误差最小及预测结果与真实观测值拟合效果最好的老化预测模型作为候选的老化预测模型。
进一步地,上述验证模块703,用于使用非参数检验中的秩和检验计算候选的老化预测模型与其他剩余的老化预测模型之间是否存在显著性差异;若候选的老化预测模型与其他剩余的老化预测模型之间均存在显著性差异,那么选定候选的老化预测模型为最终的老化预测模型,以由最终的老化预测模型对目标软件***进行老化预测;若存在候选的老化预测模型与其他剩余的某个老化预测模型之间的差异不明显,则将继续选定候选的老化预测模型与该差异不明显的老化预测模型中的若干次实验下的某次预测误差最小的预测模型作为最终的老化预测模型。
其中,各模块的具体实施方式可以参考方法实施例的描述,本发明实施例不做复述。
本发明针对遭受老化影响的软件,设计了一种多模型对比的预测性维护技术。它解决了单个模型预测结果可能会影响决策制定的问题,用户可以根据老化数据特征和预测误差自动地选择适合的模型,避免了主动性的维护措施或早或晚地执行,降低对软件可靠性的影响。此外,这个想法可以扩展更多的模型,针对不同的老化数据规模可以选择最优的预测模型帮助***运维。
实施例三
本申请还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现方法实施例中的基于多模型对比的软件老化预测方法。
需要指出,根据实施的需要,可将本申请中描述的各个步骤/部件拆分为更多步骤/部件,也可将两个或多个步骤/部件或者步骤/部件的部分操作组合成新的步骤/部件,以实现本发明的目的。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于多模型对比的软件老化预测方法,其特征在于,包括:
S1:从目标软件***收集老化指标原始数据;
S2:将所述老化指标原始数据处理成时间序列数据,组成数据集;
S3:针对老化数据规模,设计若干种老化预测模型,将所述数据集作为各所述老化预测模型的输入;
S4:计算每个所述老化预测模型的预测误差,选定预测误差最小和拟合效果最好的老化预测模型作为候选的老化预测模型;
S5:计算所述候选的老化预测模型与其他剩余的老化预测模型之间是否存在显著性差异,如果差异性明显,那么选定所述候选的老化预测模型为最终的老化预测模型,以由所述最终的老化预测模型对所述目标软件***进行老化预测;
步骤S5包括:
使用非参数检验中的秩和检验计算所述候选的老化预测模型与其他剩余的老化预测模型之间是否存在显著性差异;
若所述候选的老化预测模型与其他剩余的老化预测模型之间均存在显著性差异,那么选定所述候选的老化预测模型为最终的老化预测模型,以由所述最终的老化预测模型对所述目标软件***进行老化预测;
若存在所述候选的老化预测模型与其他剩余的某个老化预测模型之间的差异不明显,则将继续选定所述候选的老化预测模型与该差异不明显的老化预测模型中的若干次实验下的某次预测误差最小的预测模型作为最终的老化预测模型。
2.根据权利要求1所述的方法,其特征在于,步骤S2包括:
根据所述老化指标原始数据的采样周期将所述老化指标原始数据处理成按时间索引的时间序列数据,组成数据集。
3.根据权利要求1或2所述的方法,其特征在于,所述老化预测模型包括若干种机器学习和神经网络的老化预测模型。
4.根据权利要求3所述的方法,其特征在于,步骤S4包括:
重复使用各所述老化预测模型进行多次预测,分别取每个所述老化预测模型的各预测结果的预测误差的均值作为对应老化预测模型最终的预测误差;
选定最终的预测误差最小及预测结果与真实观测值拟合效果最好的老化预测模型作为候选的老化预测模型。
5.一种基于多模型对比的软件老化预测装置,其特征在于,包括:数据采集模块、预测模块和验证模块;
所述数据采集模块,用于从目标软件***收集老化指标原始数据,并将所述老化指标原始数据处理成时间序列数据,组成数据集;
所述预测模块,用于针对老化数据规模,设计若干种老化预测模型,将所述数据集作为各所述老化预测模型的输入,并计算每个所述老化预测模型的预测误差,选定预测误差最小和拟合效果最好的老化预测模型作为候选的老化预测模型;
所述验证模块,用于计算所述候选的老化预测模型与其他剩余的老化预测模型之间是否存在显著性差异,如果差异性明显,那么选定所述候选的老化预测模型为最终的老化预测模型,以由所述最终的老化预测模型对所述目标软件***进行老化预测;
所述验证模块,用于使用非参数检验中的秩和检验计算所述候选的老化预测模型与其他剩余的老化预测模型之间是否存在显著性差异;若所述候选的老化预测模型与其他剩余的老化预测模型之间均存在显著性差异,那么选定所述候选的老化预测模型为最终的老化预测模型,以由所述最终的老化预测模型对所述目标软件***进行老化预测;若存在所述候选的老化预测模型与其他剩余的某个老化预测模型之间的差异不明显,则将继续选定所述候选的老化预测模型与该差异不明显的老化预测模型中的若干次实验下的某次预测误差最小的预测模型作为最终的老化预测模型。
6.根据权利要求5所述的装置,其特征在于,所述数据采集模块,用于从目标软件***收集老化指标原始数据,并根据所述老化指标原始数据的采样周期将所述老化指标原始数据处理成按时间索引的时间序列数据,组成数据集。
7.根据权利要求5或6所述的装置,其特征在于,所述预测模块,用于针对老化数据规模,设计若干种老化预测模型,将所述数据集作为各所述老化预测模型的输入,重复使用各所述老化预测模型进行多次预测,分别取每个所述老化预测模型的各预测结果的预测误差的均值作为对应老化预测模型最终的预测误差,并选定最终的预测误差最小及预测结果与真实观测值拟合效果最好的老化预测模型作为候选的老化预测模型。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任一项所述方法的步骤。
CN202010664912.4A 2020-07-10 2020-07-10 一种基于多模型对比的软件老化预测方法及装置 Active CN111881023B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010664912.4A CN111881023B (zh) 2020-07-10 2020-07-10 一种基于多模型对比的软件老化预测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010664912.4A CN111881023B (zh) 2020-07-10 2020-07-10 一种基于多模型对比的软件老化预测方法及装置

Publications (2)

Publication Number Publication Date
CN111881023A CN111881023A (zh) 2020-11-03
CN111881023B true CN111881023B (zh) 2022-05-06

Family

ID=73151181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010664912.4A Active CN111881023B (zh) 2020-07-10 2020-07-10 一种基于多模型对比的软件老化预测方法及装置

Country Status (1)

Country Link
CN (1) CN111881023B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112433927A (zh) * 2020-11-30 2021-03-02 西安理工大学 基于时间序列聚类和lstm的云服务器老化预测方法
CN112463640B (zh) * 2020-12-15 2022-06-03 武汉理工大学 一种基于联合概率域适应的跨项目软件老化缺陷预测方法
CN112527670B (zh) * 2020-12-18 2022-06-03 武汉理工大学 一种基于Active Learning的项目内软件老化缺陷预测方法
CN113242226A (zh) * 2021-05-05 2021-08-10 航天云网云制造科技(浙江)有限公司 一种基于大数据的网络安全态势智能预测方法
WO2024020960A1 (zh) * 2022-07-28 2024-02-01 西门子股份公司 预测断路器的剩余使用寿命的方法、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015022890A1 (ja) * 2013-08-12 2015-02-19 日本電気株式会社 ソフトウェアエージングテストシステム、ソフトウェアエージングテスト方法及びソフトウェアエージングテスト用プログラム
CN109408386A (zh) * 2018-10-18 2019-03-01 中国电子科技集团公司第二十八研究所 一种软件老化流式监测***及其监测方法
CN109522143A (zh) * 2018-11-10 2019-03-26 武汉理工大学 基于安卓***的移动设备老化重生方法
CN111274111A (zh) * 2020-01-20 2020-06-12 西安交通大学 一种用于微服务老化的预测与抗衰方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10438135B2 (en) * 2016-04-12 2019-10-08 Hirevue, Inc. Performance model adverse impact correction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015022890A1 (ja) * 2013-08-12 2015-02-19 日本電気株式会社 ソフトウェアエージングテストシステム、ソフトウェアエージングテスト方法及びソフトウェアエージングテスト用プログラム
CN109408386A (zh) * 2018-10-18 2019-03-01 中国电子科技集团公司第二十八研究所 一种软件老化流式监测***及其监测方法
CN109522143A (zh) * 2018-11-10 2019-03-26 武汉理工大学 基于安卓***的移动设备老化重生方法
CN111274111A (zh) * 2020-01-20 2020-06-12 西安交通大学 一种用于微服务老化的预测与抗衰方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
A Rejuvenation Strategy in Android;jianwen xiang等;《https://ieeexplore.ieee.org/abstract/document/8109295》;20171116;全文第1-7页 *
Lifetime Extension of Software;jianwen xiang;《https://ieeexplore.ieee.org/abstract/document/7707343》;20161026;全文第1-12页 *
Using Machine Learning for Software Aging;jianwen xiang;《https://ieeexplore.ieee.org/abstract/document/8377553》;20180611;全文第1-6页 *
使用混合模型预测Web服务器中的资源消耗;闫永权等;《计算机科学》;20161015(第10期);第52-57页 *
基于非线性多参数模型的软件老化检测;苏莉等;《计算机科学》;20130115(第01期);第167-171+176页 *
安卓***软件老化预测方法研究;霍守玉;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190730;第I138-372页 *

Also Published As

Publication number Publication date
CN111881023A (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
CN111881023B (zh) 一种基于多模型对比的软件老化预测方法及装置
CN111667010A (zh) 基于人工智能的样本评估方法、装置、设备及存储介质
CN113837596B (zh) 一种故障确定方法、装置、电子设备及存储介质
CN111639798A (zh) 智能的预测模型选择方法及装置
CN102110013A (zh) 用于有效生成处理器体系结构模型的方法和设备
CN108897673B (zh) ***容量评估方法与装置
CN112905435B (zh) 基于大数据的工作量评估方法、装置、设备及存储介质
CN110602207A (zh) 基于离网预测推送信息的方法、装置、服务器和存储介质
CN113537614A (zh) 电网工程造价预测模型的构建方法、***、设备及介质
CN110704614B (zh) 对应用中的用户群类型进行预测的信息处理方法及装置
CN111783883A (zh) 一种异常数据的检测方法及装置
CN115994093A (zh) 测试用例推荐方法和装置
CN115017819A (zh) 一种基于混合模型的发动机剩余使用寿命预测方法及装置
CN112395167A (zh) 一种作业故障预测方法、装置及电子设备
CN114138634A (zh) 测试用例的选取方法、装置、计算机设备和存储介质
CN111679924A (zh) 构件化软件***可靠性仿真方法、装置及电子设备
CN110991641A (zh) 一种油藏类型分析方法、装置及电子设备
CN116610484B (zh) 一种模型训练方法、故障预测方法、***、设备以及介质
CN117556331B (zh) 基于ai增强的空压机维护决策方法及***
CN114265527B (zh) 一种预测鼠标点击位置的方法、装置、介质及电子设备
CN117951529B (zh) 用于硬盘数据故障预测的样本获取方法、装置、设备
CN116737554B (zh) 一种基于大数据的智能分析处理***及方法
CN112115036A (zh) 集群容量预测方法及装置
CN117931453A (zh) 基于云平台负载预测的云平台功能调整方法、装置及设备
CN116795710A (zh) 实时***的性能评估方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant