基于人工神经网络的软件老化状态检测开题报告

 2022-08-21 22:45:47

全文总字数:4460字

1. 研究目的与意义(文献综述)

1.1研究目的及意义

随着现代信息社会的快速发展,计算机技术的应用已经触及到社会的每一个角落,计算机系统的应用也愈加广泛。然而,随着人们对软件服务性能要求越来越高,软件的设计也变得越来越复杂。软件服务长时间不间断的工作,不可避免地会出现很多问题。软件老化就是可能会出现的一种现象,主要表现为软件在长时间运行过程中出现系统性能衰退、服务质量下降、运行速度降低、甚至宕机的情况。软件老化发生的主要原因是资源的耗尽、内存泄露、存储空间碎片化以及错误的积累。

在一些重要系统中,如军事国防、金融系统、医疗服务系统等应用中,系统失效有硬件和软件两方面的因素。硬件方面,各种电子元件、电路、通信线路都有可能出现失效,通常情况下,合格的硬件系统可以运行很长的时间。然而随着时间的增加,物理器件会逐渐老化,逐渐表现出一些故障,最终可能导致系统完全失效。软件方面,则主要是由于日益复杂的计算业务为软件的设计、开发、测试和运维带来了许多不确定性,无论是从零开始设计的软件,或者是基于现有代码进行的二次开发,庞大的代码和复杂的逻辑都为软件的开发和维护人员带来了不小的挑战,即便是经过充分的测试,并且已经投入使用的软件,也有很大可能存在未知的漏洞。现在随着计算机硬件制作技术的提高,硬件问题带来的系统失效比例一直在降低,而软件失效引起的系统失效则一直在增加。2019年3月,阿里云宕机故障,就是因为软件老化,部分硬盘无法访问,凡是会读写故障盘的系统软件或服务程序都会受到影响。

通过检测软件老化的状态,来减少软件老化带来的损失,在软件失效前采取防范措施,是有必要的。

1.2国内外研究现状

软件老化的概念由 Huang 等人在 ATT 实验室于自 1995年提出以来,许多国内外学者致力于对软件老化检测的研究。检测软件老化的方法是在软件运行的实际过程中,监测反应系统运行状态的各项性能参数如资源消耗值,动态地进行软件老化速度、时间、可能性等的计算评估。然而采集到的性能参数种类繁多,人工难以处理,而且参数并不能完全指示软件老化,因此需要利用系统模型分析方法,找出软件老化的度量指标;与检测软件故障不同,软件老化的表现形式如系统性能衰退等是缓慢的,且因其该表现的

原因多种多样,检测方法应该能够正确分析出系统的老化状态并进行老化报告。因此,研究合适的软件老化检测方法来判断系统是否处于老化状态是一个关键问题。

目前研究软件老化检测的方法有很多。Gard第一次提出了基于测量的方法来估测软件老化情况,其主要内容是通过对某些容易产生老化而导致低效或停机现象的系统资源进行监视,其参数如:内存使用情况、交换区使用情况、CPU 占用率、空闲通信通道等,然后用统计学模型SNMP估算和验证软件老化的情况,根据不同的策略决定是否以及何时采取软件再生措施。基于预测的方法通过监视系统参数并对参数建模,动态预测软件系统的老化程度,然后再确定合适的再生时间。Li等提出了一种基于时间序列的测量系统资源消耗的方法,首先从Apache Web服务器中收集资源消耗和系统参数的日志数据,用时间序列分析方法构建软件老化和资源消耗之间的关系模型,然后用线性回归的方法分析数据,很好地验证软件老化现象的存在。其他方法如蚁群神经网络模型,用蚁群算法对BP(back propagation)神经网络的初始权值进行优化以预测软件性能衰退;基于BP神经网络和马尔科夫模型结合的方法对服务器关键资源进行预测;基于粗糙小波网络的应用服务器老化预测模型采用信息熵约简方法化简系统性能参数以确定粗糙小波网络的输入变量,采用自适应遗传算法对网络结构和参数进行优化对监测到的系统资源消耗的性能参数进行分析。

上述方法都是基于原始系统性能参数的软件老化检测方法,它们把整个系统当作黑盒进行建模,是一种粗粒度的建模,没有考虑负载对软件运行时性能参数的值的影响。针对传统的用于软件老化检测的方法忽略外部负载对老化的影响而易产生老化误报的问题,本文提出了一种基于人工神经网络的软件老化状态检测方法,能够有效地检测软件老化并显著减少软件老化错误报告率。

2. 研究的基本内容与方案

本设计拟通过对apache服务器的监测采集训练数据和测试数据,借助matlab神经网络工具箱,设计出bp神经网络,并将其应用到软件老化预测中。首先在linux系统上搭建appache服务器,在windows系统上搭建jmeter,模拟对服务器页面进行访问。本文对两个参数进行重新配置:max-clients和maxrequestperchild. maxclients参数设置服务器能够同时连接的客户数。maxrequestperchild参数设置子进程可以处理的请求数目,在子进程处理完最大数目请求时,父进程会自动销毁子进程,重新产生一个新的子进程处理请求,这样在一定程度上避免了内存泄漏,对于软件抗衰有一定的作用。为了加速软件老化,所以取消服务器自身的抗衰策略。将maxclients设置为最大值256,maxrequestperchild设置为0,子进程将永远不会被销毁,可以处理任意多个请求。本文采集数据有4个特征向量,分别是发送速率,吞吐量,每秒接收的数据量,平均响应时间。其中,平均响应时间长短最能体现软件老化的特征,如果软件的平均响应时间是用户不能接收的,就可以任务软件处于老化状态。

bp神经网络是一个多层前馈神经网络,训练方式是训练误差逐渐下降,每次迭代后训练的网络更加优秀,收敛速度更快。每一次迭代运算相对于上一次迭代运算训练误差减少,测试集的预测权值增加,最后按照权值大小合并每次迭代运算bp神经网络的输出,使得预测精度相比单个bp神经网络更高。基于adaboost算法的bp神经网络预测流程如图1,基于adaboost算法的bp神经网络预测步骤如图2.

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

3. 研究计划与安排

(1)第1-3周:查阅相关文献资料,明确研究内容,了解研究所需理论基础。确定方案,完成开题报告。

(2)第4-5周:熟悉掌握基本理论,完成英文文献的翻译,熟悉matlab或者python环境。

(3)第6-9周:编程实现各算法,并进行仿真调试。

(4)第10-12周:针对具体的实验数据,完成软件老化状态的检测与识别。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

4. 参考文献(12篇以上)

[1]闫永权,郭平.软件老化与抗衰的研究综述[J].武汉大学学报(工学版)

[2]苏莉,齐勇,金玲玲, 等.基于非线性多参数模型的软件老化检测[J].计算机科学,2015,40(1)

[3]闫永权,郭平.使用混合模型预测Web服务器中的资源消耗[J].计算机科学,2016,43(10)

[4] 梁佩. 基于WEB技术的软件老化趋势预测研究[D].哈尔滨工程大学,2013.

[5] 云菲. 基于测量的软件老化趋势预测[D].哈尔滨工程大学,2012.

[6] 陈小勇. 基于蚁群神经网络的软件老化趋势预测[D].哈尔滨工程大学,2011.

[7] 王子禁,严家兴,黄珊,苏韦伟.基于堆叠稀疏自编码深度神经网络的软件老化识别[J].高校实验室工作研究,2018(03):48-51.

[8] 渊岚.基于AdaBoost算法的BP神经网络在软件老化测试中的应用[J].软件导刊,2016,15(10):136-138.DOI:10.11907/rjdk.161726.

[9] 范新媛,施侃,徐国治.网络服务器软件老化现象的测试与分析[J].数据采集与处理,2004,19(2):231-234.DOI:10.3969/j.issn.1004-9037.2004.02.024.

[10] 赵剑锋. 网络服务器软件老化问题的神经网络建模与分析[A]. 中国自动化学会控制理论专业委员会.第二十四届中国控制会议论文集(下册)[C].中国自动化学会控制理论专业委员会:中国自动化学会控制理论专业委员会,2005:4.

[11] K.J. Cassidy, K.C. Gross, A. MalekpourAdvanced pattern recognition for detectionof complex software aging in online transaction processing servers,2010International Conference on Dependable Systems and Networks, IEEE, 2001L Street, NW. Suite 700 Washington, DC 20036-4910, USA (2010),pp. 478-482

[12]J. Zheng, H. Okamura, L. Li, T. DohiA comprehensiveevaluation of software rejuvenation policies for transaction systems withMarkovian arrivals.IEEE Trans Rel, 66 (4) (2017),pp. 1157-1177

[13]H. Okamura, J. Zheng, T. DohiA statistical frameworkon software aging modeling with continuous-time hidden Markovmodel.Proceedings of the 36th International Symposium Rel Dist Systems(SRDS)(2017), pp. 114-123

[14]H. Eto, T. DohiDetermining the optimal software rejuvenationschedule via semi-Markov decision process,ComputSci, 2 (6) (2006), pp. 528-535

[15] Fast Software Rejuvenation of Virtual Machine Monitors[J] .Kourai, Kenichi, Chiba, Shigeru.IEEE Transactions on Dependable and SecureComputing. 2011 (6)

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。