掌桥专利:专业的专利平台
掌桥专利
首页

一种保障应用软件安全可靠运行的方法和装置

文献发布时间:2024-01-17 01:27:33


一种保障应用软件安全可靠运行的方法和装置

技术领域

本发明涉及软件技术领域,尤其涉及一种保障应用软件安全可靠运行的方法和装置。

背景技术

在当今信息技术时代,软件在各个领域的应用越来越广泛。软件的安全稳定运行已成为软件开发者和用户关注的主要问题。但由于软硬件系统的复杂性,往往难以保证软件的长期稳定运行。各种资源耗尽、过载、软件运行异常等问题都会导致系统崩溃、数据丢失等严重后果,严重影响各行业的正常工作和发展。

为了保证软件的稳定运行,人们提出了多种方法,包括软件测试、调试和监控等。传统方法往往依赖于人工监控干预,不仅效率低下,而且容易出现人为错误。因此,近年来提出了各种自动化监控和调整方法来解决这些问题。

比如通过基于静态配置的固定资源分配方式,资源分配通常基于静态配置,这意味着资源是根据一组预定的规则或阈值分配的。可能会设置一个或多个规则,如果某个应用程序的资源使用率超过某个阈值,则为其分配更多资源,或者如果该应用程序的内存使用率达到某个水平,则分配更多内存。这些规则通常是预先设置的,不会根据不断变化的条件进行动态调整。如果检测到任何问题,他们将对资源分配进行必要的调整或执行维护以解决问题。可见,这种方式既费时、成本高又容易出错,因为IT专业人员必须不断监控和调整系统资源以保持一切顺利运行,这对于不断变化和增长的系统来说尤其成问题。此外,它无法解决由于硬件异常而产生的问题,这些问题会影响软件性能和稳定性。人工监控维护容易出现人为错误,即使是最有经验的IT专业人员也可能会忽视最终可能导致更严重问题的小问题。

另外,现有技术还出现了许多使用虚拟化和基于规则监控及调整的方式来保证软件可靠运行的方案。虚拟化是一种允许多个虚拟机运行在单个物理机上的技术,每个虚拟机都运行自己的操作系统和应用程序,这些操作系统和应用程序在同一主机上相互隔离,通过创建运行软件的虚拟机并将它们与底层硬件隔离开来,再设置用于监控和调整分配给软件的系统和硬件资源的规则,使软件在固定的资源及规则下运行。这些规则基于特定的阈值或条件,例如CPU使用率、内存使用率或网络带宽。如果应用程序的使用超过这些阈值或条件,系统将调整分配的资源。虚拟化会对系统性能产生负面影响,因为创建和管理虚拟机会产生额外的开销,虚拟化会增加系统负担,从而影响整体性能。设置和管理虚拟化环境可能很复杂,需要一定水平的专业知识,这可能会导致招聘和培训IT专业人员的成本增加。虚拟化可能不适用于所有类型的硬件,某些硬件可能不支持虚拟化,或者可能没有足够的资源来运行多个虚拟机,因此虚拟化并不适合所有应用程序或场景。

可见,现有的保障软件安全可靠运行的方法并不总是有效,因为它们依赖于人工干预,而且可能既费时又费钱。此外,它们无法解决由于硬件异常而产生的问题。

发明内容

有鉴于此,本发明提供一种保障应用软件安全可靠运行的方法和装置,以解决上述提及的至少一个问题。

为了实现上述目的,本发明采用以下方案:

根据本发明的第一方面,提供一种保障应用软件安全可靠运行的方法,所述方法包括:获取应用软件运行过程中的系统级指标数据以及应用程序级指标数据;对所述系统级指标数据以及所述应用程序级指标数据进行数据预处理获得预处理数据;从所述预处理数据中提取用于识别系统和应用软件性能及资源利用率的特征数据;将提取的所述特征数据、系统和应用软件的运行状态数据作为软件性能预测模型的输入;基于所述软件性能预测模型的输出来动态调整资源分配以保障应用软件的安全可靠运行。

作为本发明的一个实施例,上述方法中系统级指标数据包括:CPU使用率、内存使用率、网络使用率和磁盘I/O,所述应用程序级指标数据包括:应用程序响应时间、错误率和事务吞吐量。

作为本发明的一个实施例,上述方法中数据预处理包括:使用移动平均计算,计算数据点窗口的平均值来平滑数据以减少数据中的噪声并突出显示趋势;使用指数移动平均算法对最近的数据点赋予权重来为数据中的近期趋势赋予决策权重。

作为本发明的一个实施例,上述方法中从所述预处理数据中提取用于识别系统和应用软件性能及资源利用率的特征数据包括:对所述预处理数据进行均值、标准差和方差计算来获得统计特征,所述统计特征用于捕获数据随时间的分布和变化;从所述预处理数据中计算出功率谱密度和傅里叶系数来获得频域特征,所述频域特征用于表征原始数据中携带的有关系统、硬件和软件在运行过程中发生变化的周期特性和频率特性;从所述预处理数据中计算出自相关和互相关数据来获得时域特征,所述时域特征用于识别系统资源、硬件负载和软件性能之间的因果关系以及可能发生的滞后效应;对所述预处理数据进行小波变换计算来获得变换特征,所述变换特征用于识别多尺度下的运行状态及异常。

作为本发明的一个实施例,上述方法中软件性能预测模型是基于历史特征数据、系统和应用软件的历史运行状态数据,利用随机森林算法训练而成的机器学习模型。

作为本发明的一个实施例,上述方法中基于所述软件性能预测模型的输出来动态调整资源分配以保障应用软件的安全可靠运行包括:基于所述软件性能预测模型输出的预测资源使用量和所述系统级指标数据中的当前资源使用量来分配系统资源,分配公式如下:分配量=(预测资源使用量-当前资源使用量)/可用资源总量。

根据本发明的第二方面,一种保障应用软件安全可靠运行的装置,所述装置包括:指标数据获取单元,用于获取应用软件运行过程中的系统级指标数据以及应用程序级指标数据;预处理单元,用于对所述系统级指标数据以及所述应用程序级指标数据进行数据预处理获得预处理数据;特征提取单元,用于从所述预处理数据中提取用于识别系统和应用软件性能及资源利用率的特征数据;输入单元,用于将提取的所述特征数据、系统和应用软件的运行状态数据作为软件性能预测模型的输入;动态调整单元,用于基于所述软件性能预测模型的输出来动态调整资源分配以保障应用软件的安全可靠运行。

作为本发明的一个实施例,上述装置中系统级指标数据包括:CPU使用率、内存使用率、网络使用率和磁盘I/O,所述应用程序级指标数据包括:应用程序响应时间、错误率和事务吞吐量。

作为本发明的一个实施例,上述装置中预处理单元包括:移动平均计算模块,用于使用移动平均计算,计算数据点窗口的平均值来平滑数据以减少数据中的噪声并突出显示趋势;指数引动平均计算模块,用于使用指数移动平均算法对最近的数据点赋予权重来为数据中的近期趋势赋予决策权重。

作为本发明的一个实施例,上述装置中特征提取单元包括:统计特征提取模块,用于对所述预处理数据进行均值、标准差和方差计算来获得统计特征,所述统计特征用于捕获数据随时间的分布和变化;频域特征提取模块,用于从所述预处理数据中计算出功率谱密度和傅里叶系数来获得频域特征,所述频域特征用于表征原始数据中携带的有关系统、硬件和软件在运行过程中发生变化的周期特性和频率特性;时域特征提取模块,用于从所述预处理数据中计算出自相关和互相关数据来获得时域特征,所述时域特征用于识别系统资源、硬件负载和软件性能之间的因果关系以及可能发生的滞后效应;变换特征提取模块,用于对所述预处理数据进行小波变换计算来获得变换特征,所述变换特征用于识别多尺度下的运行状态及异常。

作为本发明的一个实施例,上述装置中软件性能预测模型是基于历史特征数据、系统和应用软件的历史运行状态数据,利用随机森林算法训练而成的机器学习模型。

作为本发明的一个实施例,上述装置中动态调整单元具体用于:基于所述软件性能预测模型输出的预测资源使用量和所述系统级指标数据中的当前资源使用量来分配系统资源,分配公式如下:分配量=(预测资源使用量-当前资源使用量)/可用资源总量。

根据本发明的第三方面,提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,处理器执行所述计算机程序时实现上述方法的步骤。

根据本发明的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

根据本发明的第五方面,提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述方法的步骤。

由上述技术方案可知,本发明提供的保障应用软件安全可靠运行的方法和装置,可以在特定应用软件运行时监控计算机系统和硬件的状态,并在软件运行时灵活调整分配给软件运行的系统和硬件资源,从而能够保证计算机系统中指定应用软件的长期稳定运行。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1是本申请实施例提供的一种保障应用软件安全可靠运行的方法流程示意图;

图2是本申请实施例提供的指标数据的预处理方法流程示意图;

图3是本申请实施例提供的特征数据提取的流程示意图;

图4是本申请实施例提供的一种保障应用软件安全可靠运行的装置的结构示意图;

图5是本申请实施例提供的预处理单元的结构示意图;

图6是本申请实施例提供的特征提取单元的结构示意图;

图7是本申请实施例提供的电子设备的系统构成示意框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。

如图1所示为本申请实施例提供的一种保障应用软件安全可靠运行的方法流程示意图,本方法包括如下步骤:

步骤S101:获取应用软件运行过程中的系统级指标数据以及应用程序级指标数据。

本实施例中的系统级指标数据是指应用软件所运行环境,即运行系统的指标数据,而应用程序级指标数据则是指应用软件在运行时其自身的指标数据。

优选的,本实施例中的系统级指标数据包括但不限于以下指标:CPU使用率、内存使用率、网络使用率和磁盘I/O。

上述各种系统级指标数据可以通过下述计算公式及算法来进行提取:

(1)CPU使用率

CPU使用率=100*(1-(idle_time/total_time));

其中idle_time是CPU空闲的时间,total_time是经过的总时间。

(2)内存使用率

内存使用率=100*(1-(free_memory/total_memory));

其中free_memory是可用的空闲内存量,total_memory是安装的内存总量。

(3)网络使用率(网络流量)

网络流量=(bytes_sent+bytes_received)/time_elapsed;

其中bytes_sent和bytes_received分别是通过网络发送和接收的数据量,time_elapsed是自上次测量以来经过的时间。

(4)磁盘I/O

磁盘I/O=(read_bytes+write_bytes)/time_elapsed;

其中read_bytes和write_bytes分别是读取和写入磁盘的数据量,time_elapsed是自上次测量以来经过的时间。

进一步优选的,本实施例中的应用程序级指标数据包括但不限于以下指标:应用程序响应时间、错误率和事务吞吐量。

可见,上述系统级指标提供有关计算机系统的整体性能和资源使用情况的信息,可以使用固定间隔时间比如每秒或每分钟收集系统级指标,以捕获系统性能的动态变化。同时可以通过检测应用程序代码运行时由特定事件触发的行为或用户交互所产生的系统事件,来提取有关特定应用程序性能和行为的上述应用程序级指标数据。

步骤S102:对所述系统级指标数据以及所述应用程序级指标数据进行数据预处理获得预处理数据。本步骤的预处理是为了使上述步骤S101所收集到的指标数据可以减少噪声影响并突出显示趋势。

优选的,如图2所示,本步骤具体可以包括如下子步骤:

步骤S1021:使用移动平均计算,计算数据点窗口的平均值来平滑数据以减少数据中的噪声并突出显示趋势。

移动平均法是一种简单平滑预测技术,其可以根据时间序列资料、逐项推移,依次计算包含一定项数的序时平均值,以反映数据的长期趋势。因此,当时间序列的数值由于受周期变动和随机波动的影响,起伏较大,不易显示出事件的发展趋势时,使用移动平均法可以消除这些因素的影响,显示出事件的发展方向与趋势(即趋势线),然后可以依趋势线分析预测序列的长期趋势。在本实施例中,这对于将获取的指数数据用于后续的性能预测具有很大的帮助。

步骤S1022:使用指数移动平均算法对最近的数据点赋予权重来为数据中的近期趋势赋予决策权重。

指数移动平均算法,可以对数据点分别给予不同的权数,按不同权数求得移动平均值,并以最后的移动平均值为基础,确定预测值。采用指数移动平均算法,是因为越近的数据点对预测值有较大影响,它更能反映近期变化的趋势。所以,对于越近的给予较大权数值,对于越远的数据点则相应给予较小的权数值,以不同的权数值调节各数据点对预测值所起的作用,使预测值能够更近似地反映未来的发展趋势。

由上述可知,本申请先通过移动移动平均计算减少减少数据中的噪声并突出显示趋势,再利用指数移动平均算法对最近的数据点赋予权重来为近期趋势赋予决策权重,从而使得收集的指标数据可以更好地在后续步骤中被用来进行应用软件的性能预测。

上述步骤S101和步骤S102完成数据收集的工作,本申请的数据收集部分涉及收集不同的度量和事件集,这些度量和事件可以提供指定软件和硬件资源的操作状态的综合视图。收集的指标数据作为后续分析和预测过程的基础,最终实现能够主动管理系统并防止应用软件潜在的故障或性能下降。

步骤S103:从所述预处理数据中提取用于识别系统和应用软件性能及资源利用率的特征数据。

本申请的特征提取部分涉及从上述数据收集部分收集的数据中提取有意义的特征数据,这些特征数据可以作为后续分析和预测过程的输入。特征提取过程涉及选择原始数据并将其转换为一组能描述软件和硬件资源运行状态的特定数据,这些具有状态的特定数据将作为用于识别和预测软件故障或性能下降的重要依据。

优选的,如图3所示,本步骤可以包括如下子步骤:

步骤S1031:对所述预处理数据进行均值、标准差和方差计算来获得统计特征,所述统计特征用于捕获数据随时间的分布和变化。

通过捕获上述统计特征,可以在后续性能预测模型中用于检测系统、硬件及软件的异常行为,并识别数据中的趋势。

在本申请中可以通过下述公式来获得上述统计特征:

均值:frac{1}{n}\sum_{i=1}^n x_i;

标准偏差:sqrt{\frac{1}{n-1}\sum_{i=1}^n(x_i-\bar{x})^2};

方差:frac{1}{n-1}\sum_{i=1}^n(x_i-\bar{x})^2。

步骤S1032:从所述预处理数据中计算出功率谱密度和傅里叶系数来获得频域特征,所述频域特征用于表征原始数据中携带的有关系统、硬件和软件在运行过程中发生变化的周期特性和频率特性。在本实施例中,这些频域特征可以用于检测系统、硬件及软件中有关周期性或与频率相关的异常。

在本申请中可以通过下述公式来获得上述频域特征:

功率谱密度:S(f)=lim_{T\to\infty}frac{1}{T}\left|\int_{-T/2}^{T/2}x(t)e^{-2\pi i f t}dt\right|^2;

傅立叶系数:c_k=frac{1}{T}\int_0^T x(t)e^{-2\pi i k t/T}dt。

步骤S1033:从所述预处理数据中计算出自相关和互相关数据来获得时域特征,所述时域特征用于识别系统资源、硬件负载和软件性能之间的因果关系以及可能发生的滞后效应。

在本申请中可以通过下述公式来获得上述时域特征:

自相关:r(k)=frac{sum_{t=k+1}^n(x_t-bar{x})(x_{t-k}-bar{x})}{sum_{t=1}^n(x_t-bar{x})^2};

互相关:r(k)=frac{sum_{t=k+1}^n(x_t-bar{x})(y_{t-k}-bar{y})}{sqrt{sum_{t=1}^n(x_t-bar{x})^2}sqrt{sum_{t=1}^n(y_t-bar{y})^2}}。

步骤S1034:对所述预处理数据进行小波变换计算来获得变换特征,所述变换特征用于识别多尺度下的运行状态及异常。小波变换计算包括连续小波变换和离散小波变换,其可以将采集的原始数据分解成不同的频带和时间尺度,并从每个频带和尺度中提取特征,捕获数据的频率和时间特征,进而识别多尺度下的运行状态及异常。

在本申请中可以通过下述公式来获得上述变换特征:

连续小波变换:CWT_{a,b}=int_{-infty}^infty x(t)

frac{1}{sqrt{a}}psi^*left(frac{t-b}{a}R)dt;

离散小波变换:DWT_{j,k}=sum_{n=0}^{2^j-1}h_n x_{2^j k+n}。

步骤S104:将提取的所述特征数据、系统和应用软件的运行状态数据作为软件性能预测模型的输入。

本实施例的软件性能预测模型可以用于预测受监控软件可能出现的故障或性能下降,其可以是基于历史特征数据、系统和应用软件的历史运行状态数据,利用随机森林算法训练而成的机器学习模型。随机森林算法是本发明中用于训练机器学习模型的主要算法。它是一种基于决策树的集成学习算法,可以构建多个决策树并将它们组合起来进行预测。每棵树都在数据的随机子集和特征的随机子集上进行训练,以避免过度拟合。模型的训练过程包括将收集到的历史特征数据拆以及历史运行状态数据为训练集和验证集,并在验证集上对训练的模型进行评估验证。

在本发明中使用有监督的机器学习算法随机森林算法来训练一个分类模型,该模型可以区分软件和计算机系统的正常和异常运行情况,经过训练的机器学习模型将用于预测和决策过程,以确定软件和计算机系统是否运行正常或异常。

步骤S105:基于所述软件性能预测模型的输出来动态调整资源分配以保障应用软件的安全可靠运行。

本发明的预测和资源分配部分负责预测被监视软件中的潜在故障或性能下降并相应地分配系统资源。利用上述步骤中的软件性能预测模型,根据系统的当前状态和受监控应用软件的行为进行实时预测,从判断受监控应用软件可能出现的故障或性能下降。

当预测到可能的故障或性能下降时,本申请可以自动发出警告并相应地分配系统和硬件资源给受监控应用软件。

资源的分配过程涉及动态调整系统和硬件资源的分配,以保证软件的稳定运行。资源的分配过程由定义的触发条件、暂停或停用软件策略以及调整资源分配阈值的策略自动进行。

本步骤的预测和资源分配部分具体来说可以分为资源监控、失败预测、资源调整这三个部分:

(1)资源监控

资源监控进程可以持续监控被监控软件使用的系统资源,如CPU、内存、硬盘、网络带宽等,并且可以收集和处理监控数据以生成每个软件的实时资源使用统计信息。然后可以使用资源统计信息来确定系统资源是否得到有效使用以及是否存在需要解决的瓶颈。

(2)失败预测

故障预测过程即使用上述软件性能预测模型来预测被监控软件的潜在故障或性能下降。软件性能预测模型的输入数据是在特征提取部分提取的特征数据。模型的输出是一个概率值,表示在不久的将来发生故障的可能性。

在本发明中还可以使用线性回归来对实时监控的历史数据进行预测,根据获取系统资源、硬件负载和软件运行状态在一段时间内的历史数据,对未来1小时或一天的运行状况进行预测,本发明中使用了以下线性回归算法对历史数据进行预测:

Y=a+bX

其中Y是因变量(例如CPU使用率),X是自变量(例如时间),a是截距,b是斜率。线性回归算法根据历史数据计算截距和斜率值,然后来预测未来某个时间可能会发生的故障或性能下降。

(3)资源调整

如果故障概率超过预先定义的阈值,则会自动触发资源调整并发出警报以通知系统管理员。警报将以计算机桌面上的弹出窗口、电子邮件或文本消息等任何其他合适的通知形式发出。然后系统管理员可以采取适当的措施来防止或减轻故障。

自动资源调整过程基于在故障预测过程中做出的预测和在资源监视过程中收集的资源使用统计数据为依据,来调整系统分配给被监视的软件各项资源。如果预测到故障,则资源分配过程可以为软件分配更多资源以防止故障发生。另一方面,如果资源使用统计表明系统资源被过度使用,则资源分配过程可以减少分配给软件的资源以提高系统的整体性能。

优选的,本步骤可以基于所述软件性能预测模型输出的预测资源使用量和所述系统级指标数据中的当前资源使用量来分配系统资源,分配公式如下:

分配量=(预测资源使用量-当前资源使用量)/可用资源总量。

上述分配公式可以用于平衡资源使用并确保系统以最佳方式运行。

由上述可知,本发明提供的保障应用软件安全可靠运行的方法,可以在特定应用软件运行时监控计算机系统和硬件的状态,并在软件运行时灵活调整分配给软件运行的系统和硬件资源,从而能够保证计算机系统中指定应用软件的长期稳定运行。并进而可以带来如下有益效果:

提高系统可靠性:本发明为计算机系统提供实时监控机制,收集和分析与系统性能和软件运行相关的数据。通过自动检测和预测可能发生的故障或性能下降,本发明可以提前采取相应的措施来防止系统崩溃,提高系统可靠性,减少停机时间。

提高系统效率:本发明可以平衡系统和硬件资源的分配,优化资源配置,防止资源耗尽。本发明通过更有效地分配资源,可以提高系统资源的利用效率,提高系统的整体性能。

降低维护成本:本发明可以自动检测和诊断系统故障,识别问题原因,提前采取相应措施,防止系统崩溃,减少人工干预和维护成本。这可以显著减少系统管理员的工作量,降低维护成本。

增强用户体验:本发明通过保证计算机系统中指定软件的稳定运行,减少软件崩溃的发生,提高系统的稳定性,增强用户体验。这对于需要不间断运行的关键应用程序或系统尤为重要。

提高系统安全性:本发明可以实时检测异常软件行为,分析问题原因,并采取相应措施,防范潜在的安全风险。通过监控软件应用程序的行为,本发明可以防止软件因资源耗尽出现异常、数据丢失、系统资源耗尽宕机、硬件及网络超负荷威胁等,从而提高整体系统的安全性。

如图4所示为本申请实施例提供的一种保障应用软件安全可靠运行的装置的结构示意图,该装置包括:指标数据获取单元410、预处理单元420、特征提取单元430、输入单元440和动态调整单元450,它们之间依次相连。

指标数据获取单元410用于获取应用软件运行过程中的系统级指标数据以及应用程序级指标数据。

预处理单元420用于对所述系统级指标数据以及所述应用程序级指标数据进行数据预处理获得预处理数据。

特征提取单元430用于从所述预处理数据中提取用于识别系统和应用软件性能及资源利用率的特征数据。

输入单元440用于将提取的所述特征数据、系统和应用软件的运行状态数据作为软件性能预测模型的输入。

动态调整单元450用于基于所述软件性能预测模型的输出来动态调整资源分配以保障应用软件的安全可靠运行。

优选的,上述系统级指标数据包括:CPU使用率、内存使用率、网络使用率和磁盘I/O,所述应用程序级指标数据包括:应用程序响应时间、错误率和事务吞吐量。

优选的,如图5所示,上述预处理单元420进一步可以包括:

移动平均计算模块421,用于使用移动平均计算,计算数据点窗口的平均值来平滑数据以减少数据中的噪声并突出显示趋势。

指数引动平均计算模块422,用于使用指数移动平均算法对最近的数据点赋予权重来为数据中的近期趋势赋予决策权重。

优选的,如图6所示,上述特征提取单元430进一步可以包括:

统计特征提取模块431,用于对所述预处理数据进行均值、标准差和方差计算来获得统计特征,所述统计特征用于捕获数据随时间的分布和变化;

频域特征提取模块432,用于从所述预处理数据中计算出功率谱密度和傅里叶系数来获得频域特征,所述频域特征用于表征原始数据中携带的有关系统、硬件和软件在运行过程中发生变化的周期特性和频率特性;

时域特征提取模块433,用于从所述预处理数据中计算出自相关和互相关数据来获得时域特征,所述时域特征用于识别系统资源、硬件负载和软件性能之间的因果关系以及可能发生的滞后效应;

变换特征提取模块434,用于对所述预处理数据进行小波变换计算来获得变换特征,所述变换特征用于识别多尺度下的运行状态及异常。

优选的,上述软件性能预测模型是基于历史特征数据、系统和应用软件的历史运行状态数据,利用随机森林算法训练而成的机器学习模型。

优选的,上述动态调整单元450具体用于:

基于所述软件性能预测模型输出的预测资源使用量和所述系统级指标数据中的当前资源使用量来分配系统资源,分配公式如下:

分配量=(预测资源使用量-当前资源使用量)/可用资源总量。

由上述可知,本发明提供的保障应用软件安全可靠运行的装置,可以在特定应用软件运行时监控计算机系统和硬件的状态,并在软件运行时灵活调整分配给软件运行的系统和硬件资源,从而能够保证计算机系统中指定应用软件的长期稳定运行。

本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述方法。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有执行上述方法的计算机程序。

如图7所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理器130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图7中所示的所有部件;此外,电子设备600还可以包括图7中没有示出的部件,可以参考现有技术。

如图7所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。

其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。

输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。

该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。

存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。

通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。

基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种柔性空气室跳汰机气囊安全可靠性试验装置与方法
  • 一种安全可靠的远程自停自复式计量装置及其控制方法
  • 一种应用软件安装和/或运行方法、装置、电子设备及存储介质
  • 一种控制多个安全应用软件的运行的装置和方法
技术分类

06120116227255