CN116185797A - 预测服务器资源饱和度的方法、装置及存储介质 - Google Patents
预测服务器资源饱和度的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN116185797A CN116185797A CN202310132447.3A CN202310132447A CN116185797A CN 116185797 A CN116185797 A CN 116185797A CN 202310132447 A CN202310132447 A CN 202310132447A CN 116185797 A CN116185797 A CN 116185797A
- Authority
- CN
- China
- Prior art keywords
- data
- model
- prediction
- parameters
- server
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种预测服务器资源饱和度的方法、装置及存储介质,该方法包括:S1,获取服务器资源在预定时间段内的资源使用数据,所述资源使用数据分成时序数据和非时序数据;S2,对所获取的所述资源使用数据进行预处理后,分别输入预先经过训练的第一预测模型、第二预测模型和第三预测模型进行预测;第一预测模型为xgboost模型;第二预测模型包括处理时序数据的Bi‑LSTM网络和处理非时序数据的CNN网络;第三预测模型基于CNN实现;S3,将三种预测模型的预测结果进行大多数投票,得到最终的预测结果。利用上述技术方案,可以较准确地判断服务器的资源需求。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种预测服务器资源饱和度的方法、装置及存储介质。
背景技术
面向企业用户(toB)的应用经常会出现的问题是每个企业使用的流量大小不一,从而无法仅根据开设的企业用户数来确定服务器资源是否已经达到饱和度、是否要进行扩容。运维工程师需要通过对系统运行的各项数据指标的采集、监控来查看系统的状态和服务的运行状态,并且需要及时对服务需要扩容和资源需求作出判断,以免影响到客户使用。当系统越来越庞大时,全部依靠人工来进行这些工作是不可能的。因此,为了把控企业服务器成本、合理利用现有服务器资源,需要一种不依赖于人工的、判断服务器资源饱和度的方法。
发明内容
本发明实施例提供了一种预测服务器资源饱和度的方法、装置及存储介质,以使用深度学习和机器学习来实现对服务器资源需求的预测。
为了实现上述目的,一方面,提供了一种预测服务器资源饱和度的方法,用于对基于面向企业应用的服务器资源的饱和度进行预测,包括:
S1,获取服务器资源在预定时间段内的资源使用数据,资源使用数据包括应用运行参数、服务器参数和业务参数中的一种或多种,资源使用数据分成时序数据和非时序数据;
S2,对所获取的资源使用数据进行预处理后,分别输入预先经过训练的第一预测模型、第二预测模型和第三预测模型,由三种预测模型分别根据资源使用数据进行预测;其中,第一预测模型为基于xgboost算法实现的xgboost模型;第二预测模型为基于Bi-LSTM网络和CNN网络实现的模型,其中,Bi-LSTM网络用于处理时序数据,CNN网络用于处理非时序数据;第三预测模型为仅基于CNN实现的模型;
S3,将三种预测模型分别得到的预测结果进行大多数投票,将总体上超过预定票数阈值的预测结果确定为最终的预测结果,最终的预测结果示出了服务器资源是否已经达到了饱和度。
优选地,所述的方法,其中,应用运行参数包括应用运行内存、应用运行线程数、并发数、连接池数和垃圾回收情况中的一种或多种;服务器参数包括服务器的内存负载、CPU负载和磁盘IO使用率中的一种或多种;业务参数包括对话数、访客数、页面访问次数、出入包和出入流量中的一种或多种。
优选地,所述的方法,其中,资源使用数据还包括异常故障参数、数据库参数和极限性能指标参数中的一种或多种;
其中,异常故障参数包括服务异常次数、业务异常次数、响应时间和子服务调用中的一种或多种;数据库参数包括数据库运行内存、事务数每秒TPS、每秒的输入输出量(IOPS,Input/Output Per Second)、死锁数和慢SQL数中的一种或多种;极限性能指标参数包括最大并发数、最大每秒查询率QPS、最大TPS、最大连接数和响应时间中的一种或多种。
优选地,所述的方法,其中,对所获取的资源使用数据进行预处理包括:
将所获得的资源使用数据通过归一化和填充整合成集群性数据;和,
对时序数据进行降维处理。
优选地,所述的方法,其中,对第一预测模型、第二预测模型和第三预测模型进行训练包括:
收集训练用数据,将训练用数据分成训练集、验证集和测试集;
对所收集的训练用数据进行预处理,包括:标准化处理,将训练用数据通过归一化和填充整合成集群性数据;针对所整合成的集群性数据中的时序数据,使用主要成分分析PCA法进行数据降维;使用通过历史数据和人为经验预先获得的数据对训练用数据进行交叉验证训练以实现数据增强;及对训练用数据进行标注,消除奇异数据;
将经过预处理后的训练集输入第一预测模型、第二预测模型和第三预测模型得到各模型的预测结果,并将得到的各模型的预测结果进行大多数投票,得到整体的预测结果后,对各模型进行调优,继续训练直至通过验证集。
优选地,所述的方法,其中,对第一预测模型、第二预测模型和第三预测模型进行训练还包括:
(1)针对第一预测模型:
设置xgboost模型参数,以预定的初始学习率开始对xgboost模型进行训练和调优,直到第一预测模型达到预定的正确率阈值;
(2)针对第二预测模型:
利用incepetion-v3模型作为特征提取器,对于时序数据,将144*256的向量输入进Bi-LSTM,对于非时序数据,直接将数据转为one-hot向量输入5层3*3的卷积核的CNN网络中,然后将由CNN网络和Bi-LSTM得到的输出向量,通过一个全连接层将两种不同的特征融合得到新的特征表示,并输入softmax层进行最终的分类预测;训练并调整模型参数,使得第二预测模型达到预定的正确率阈值;
(3)针对第三预测模型:
选择AlexNet为核心的CNN,其中,AlexNet的网络结构包括:1个输入层、5个卷积层、2个全连接层和1个输出层;训练并调整模型参数,使得第三预测模型的正确率达到预定的正确率阈值。
优选地,所述的方法,其中,还包括:将最终的预测结果发送到运维平台展示。
优选地,所述的方法,其中,当资源使用数据包括应用运行参数、服务器参数、业务参数、异常故障参数、数据库参数和极限性能指标参数时,与由异常故障参数、数据库参数和极限性能指标参数产生的结果相比,对由应用运行参数、服务器参数和业务参数产生的结果赋予更高的权重。
另一方面,提供了一种预测服务器资源饱和度的装置,其中,包括存储器和处理器,存储器存储有至少一段程序,至少一段程序由处理器执行如上文实现如上文任一所述的方法。
又一方面,提供了一种计算机可读存储介质,其中,存储介质中存储有至少一段程序,至少一段程序由处理器执行以实现如上文任一所述的方法。
上述技术方案具有如下技术效果:
本发明实施例的技术方案,通过针对多个维度的服务器资源使用数据,使用多个神经网络预测模型同时对相同的数据进行预测,并将各模型的预测结果进行大多数投票来获得最终的预测结果,这样综合考虑了资源使用数据的多维度特征,具有较高的预测准确率;有助于精准控制企业的服务器成本,保证服务的可用性,并减少因为资源问题而导致的服务故障。
附图说明
图1为本发明一实施例的预测服务器资源饱和度的方法的流程示意图;
图2为本发明一实施例的预测服务器资源饱和度的装置的结构示意图。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
现结合附图和具体实施方式对本发明进一步说明。
实施例一:
图1为本发明一实施例预测服务器资源饱和度的方法的流程示意图。如图1,该实施例的方法用于对基于面向企业(ToB)应用的服务器资源的饱和度进行预测,包括:
S1,获取服务器资源在预定时间段内的资源使用数据,资源使用数据包括应用运行参数、服务器参数和业务参数中的一种或多种,资源使用数据分成时序数据和非时序数据;
优选地,应用运行参数包括应用运行内存、应用运行线程数、并发数、连接池数和垃圾回收情况中的一种或多种;服务器参数包括服务器的内存负载、CPU负载和磁盘IO使用率中的一种或多种;业务参数包括对话数、访客数、页面访问次数、出入包和出入流量中的一种或多种;
S2,对所获取的资源使用数据进行预处理后,分别输入预先经过训练的第一预测模型、第二预测模型和第三预测模型,由三种预测模型分别根据资源使用数据进行预测;其中,第一预测模型为基于xgboost算法实现的xgboost模型;第二预测模型为基于Bi-LSTM网络和CNN网络实现的模型,其中,Bi-LSTM网络用于处理时序数据,CNN网络用于处理非时序数据;第三预测模型为仅基于CNN实现的模型;
该步骤中,具体地,第一预测模型是通过xgboost得到的回归结果,经过不断的调参得到一个模型;针对第二预测模型,时序数据采用Bi-LSTM进行训练,对于非时序数据采用了CNN进行训练,将Bi-LSTM和CNN训练得到的结果通过全连接层处理后输出该模型最后的结果;在第三预测模型中,是将所有数据都通过CNN网络架构进行训练,并得到的相应的模型结果;
该步骤中,对所获取的资源使用数据进行预处理包括:
将所获得的所述资源使用数据通过归一化和填充整合成集群性数据;和,
对时序数据进行降维处理。
S3,将三种预测模型分别得到的预测结果进行大多数投票,将总体上超过预定票数阈值的预测结果确定为最终的预测结果,最终的预测结果示出了服务器资源是否已经达到了饱和度。
具体实现中,例如,可以通过预先设置一个结果阈值来标示是否已经达到饱和度;如预测结果大于该结果阈值,则判定已经达到了饱和度;否则,判定为未达到饱和度。进一步地,如最终的预测结果示出了服务器资源已经达到了饱和度,针对上述服务器资源,可以采取停止开设用户或进行扩容的策略;如最终的预测结果示出了服务器资源尚未达到饱和度,则服务器资源可以继续开设使用服务器器资源的企业用户且服务器资源当前不需扩容。
在其它实现中,资源使用数据还可以包括异常故障参数、数据库参数和极限性能指标参数中的一种或多种;
其中,上述异常故障参数包括服务异常次数、业务异常次数、响应时间和子服务调用中的一种或多种;数据库参数包括数据库运行内存、事务数每秒TPS、每秒的输入输出量IOPS、死锁数和慢SQL数中的一种或多种;极限性能指标参数包括最大并发数、最大每秒查询率QPS、最大TPS、最大连接数和响应时间中的一种或多种。
实施例二:
在本发明该实施例的预测服务器资源饱和度的方法中,使用应用维度、服务器维度、业务维度、异常故障维度、数据库维度和极限性能指标维度这六个维度的数据来进行服务器资源饱和度的预测和对预测使用的神经网络模型的训练,将多个模型的结果进行大多数投票来得到最终的结果。本发明该实施例的方法可以做到对服务资源需求的预测,合理把控服务器资源和成本,符合本业务场景的需求。
下面对本发明另一实施例的预测服务器资源饱和度的方法的步骤进行描述。
1、统计收集相应服务器组的资源使用数据;收集的资源使用数据包括:出入包、出入流量、并发数、每秒查询率(QPS,Queries-per-second)、响应时间;服务器内存和服务器磁盘负载使用情况;近期出现的故障情况;与面向企业的应用相关的应用运行参数等。将获取的数据分为时序数据和非时序数据。保留原始数据。示例性地,收集数据的数据来源包括:zabbix、公有云监控数据、服务运行监控数据、promethus数据、influxdb数据等。优选地,应用维度的数据包括:tomcat应用运行内存、运行线程数、并发数、连接池数和垃圾回收GC情况;上述这些参数对于一个tomcat所承载的访问量息息相关。另外,从稳定性来看,服务与服务器出现的异常故障次数可以判定为服务器提供的服务是否稳定可靠。其中,属于服务器维度的服务器内存负载、服务器CPU负载和磁盘IO的使用情况决定了该服务器能够提供的资源。对于数据库维度,主要从TPS、QPS、运行内存、死锁数、慢sql数等来保证业务是否能够正常交互。业务维度的数据是服务器所提供服务的主要转化指标,示例性的内容可以参考下表1。其中,极限性能指标是通过性能压测得到的数据。极限性能指标可以实现对系统某项性能指标进行定量、对比测试,主要目的是检验系统性能与相关性能标准的符合程度。下表1是所收集的各维度的数据示例:
表1
2、收集数据之后,在将数据输入模型训练或预测之前先对数据进行预处理;其中数据预处理包括:(1)标准化处理;因为数据可能包括来自单台服务器和集群性服务器,处理的方式是将所有的数据通过归一化和填充将所有数据类型整合成集群性数据;具体地,对于单台服务器的数据,将其扩充成由三台服务器构成的集群数据,将该组数据除以三、并填充到其他虚构的两台服务器上。(2)数据降维;对于时序数据我们将数据通过主要成分分析PCA方法进行数据降维,以减少计算的复杂度。示例性地,可以按分钟粒度来降维,具体地,一天有1440个点,为了减少计算量,对这1440个点降维处理成144个点;这样可以最大程度地保持数据的特征。(3)数据增强;为了增加样本的鲁棒性,使用根据历史数据和人为经验构建新的数据集进行交叉验证训练。这里构建的新的数据集是为了增加数据集的鲁棒性;示例性地,可以增加一些负样本数据;其中,上述历史数据是监控系统所存储的数据,这部分历史数据大部分情况的是属于正常状态,所以样本的正负样本是比较不均衡的,在构建新的数据集中主要是增加了负样本数据;人为经验指的是人为根据服务器运行的状况做出的判定,例如有一台机器连续多天负载和内存90%以上,则可以认为这台服务器资源是有问题的;可以预先存储这些之前处理过的经验和复盘的记录用来作为人为经验。示例性地,在训练模型时,可以将训练用数据集按6:2:2分为训练集、验证集和测试集。当然,可以根据实际需求按其它的比例来划分训练集、验证集和测试集。(4)对数据进行标注,消除奇异数据,并且对于异常点数据予以抛弃。原始的训练数据中,由于每一维特征的来源以及度量单位不同,会造成特征值的分布范围差异很大,当计算不同样本之间的欧氏距离时,取值范围大的特征会起到主导作用,将各维度特征归一化到同一取值区间,并且消除不同特征之间的相关性,才能获得理想的结果。
3、多种模型;在本发明的实施例中,提供了三种预测模型方案来对数据进行预测处理。其中:
(1)通过xgboost算法实现的第一预测模型:其通过xgboost得到的回归结果,经过不断的调参得到一个xgboost模型,xgboost的优势在于训练快速,能够抓住重要特征,考虑了稀疏值和缺失值,xgboost是基于预排序方法的决策树算法。这种构建决策树的算法基本思想是:首先,对所有特征都按照特征的数值进行预排序;其次,在遍历分割点的时候用O(#data)的代价找到一个特征上的最好分割点;最后,在找到一个特征的最好分割点后,将数据分裂成左右子节点;这样能精确地找到分割点;
(2)采用Bi-LSTM+CNN模型架构的第二预测模型:在该模型中,时序数据采用Bi-LSTM来进行处理和训练,Bi-LSTM对于时序数据能够很好的捕捉到数据前后的依赖关系,对于监控数据来说这是一种很棒的模型;对于非时序数据,采用CNN网络进行处理和训练,CNN架构能够提取周期数据的特征,两者得到的结果由全连接层进行特征融合,再经softmax层分类后输出该模型最后的结果;时序数据往往可以以时间序列和周期性数据的形式展现;
(3)使用CNN实现的第三预测模型:将所有数据通过CNN网络进行处理得到预测结果;其中,CNN利用卷积核的能力,可以感受历史一段时间的情况,根据这历史一段时间的情况来做出预测。
利用这三个预测模型不同的优势,综合考虑三个预测模型的预测结果,通过大多数投票来得到最后的预测结果,可以提高预测的准确性。
4、模型训练
模型在实际应用之前如对服务器资源进行在线监控之前需要预先经过训练,达到预定的指标。具体地:可以在运行即跑完一次模型之后,评估模型并得到一个并不完美的baseline,即用于在后续训练中比对的基准模型,然后多次进行模型调优并且继续训练直至通过验证集。上述baseline是通过将数据输入上述三个模型进行处理,然后经过大多数投票后产生的baseline;模型评估以验证集的结果为主;在其它实现中,baseline也可以是在跑完预定次数后获得的。
具体的训练包括:
(1)训练xgboost模型
设置xgboost模型参数,以初始学习率为0.1开始对模型进行调优,包括警告训练和调优,最终得到一个达到预先设定的正确率阈值的模型,同时也得到了该数据中的重要特征;一示例中,通过训练可以得到一个正确率76.3%的模型。
(2)训练CNN+bi-LSTM模型
首先利用incepetion-v3模型作为特征提取器,对于时序数据模型输入为144*256的向量输入进Bi-LSTM,非时序数据直接将数据转为one-hot向量输入5层3*3的卷积核的CNN中,由CNN和Bi-LSTM得到的输出向量,通过一个全连接层将两种不同的特征融合得到新的特征表示,并输入softmax层进行最终的分类预测,最终得到一个准确率达到预定准确率阈值的模型。一示例中,可以获得准确率为81%的模型。
(3)CNN模型的训练
该例中,选择的是AlexNet为核心的CNN;AlexNet整体的网络结构包括:1个输入层、5个卷积层如C1、C2、C3、C4和C5、2个全连接层如FC6和FC7、及1个输出层。训练该模型,直到该模型的准确率达到预定的准确率阈值。一示例中,可以得到最终的正确率为73.2%的该模型。
(4)在训练过程中,还可以加入综合经验的考量;例如,输入的数据可以以应用维度和业务维度以及服务器维度数据为主,并对这几个维度产生的结果给予较高的权重。
(5)验证集验证,根据构造出的验证集数据,对模型进行验证。
5、模型输出
将三种模型得到的数据进行大多数投票,然后输出最终的预测结果。三种模型分别输出一个[144*1]的向量,各模型最终输出的数据大小是一致的;使用大多数投票的方法对预测的正确率有提升,最终是统筹三个模型的结果,这样可以减小误差。大多数投票意味着选择已经被大多数分类器预测过的类标签,也就是说,总体上超过了50%的票数。在一个示例中,大多数投票可以使得最终的模型正确率在89%,得到最终的结果是一个144*1维的向量,经过转换得到[0,1]区间的小数值;优选地,可以设置阈值为0.7,大于0.7的则意味着服务器资源已经达到饱和度,需要停止开设用户或者需要扩容。对于三种模型各自产生的结果,通过大多数投票进行汇总处理,得到一个新的结果标签;这里举个简单例子,比如第一种模型的结果是0.7,第二种的结果是0.6,第三种的结果是0.8,即这边大多数模型的结果大于或等于0.7,即最后的预测结果为大于0.7,如阈值被设为0.7,则最好的预测结果为已达到饱和度,需要扩容。
6、接入监控系统
将训练好的模型加载到线上监控系统中,可以定期例如每天在服务器的低峰期利用过去一天的数据进行服务器资源饱和度的预测,并将得到的结果发送到运维平台进行展示,例如可以将预测结果与相关的重点监控数据一起在web页面中进行展示。
实施例三:
本发明还提供了一种预测服务器资源饱和度的装置,如图2所示,该装置包括处理器201、存储器202、总线203、以及存储在所述存储器202中并可在所述处理器201上运行的计算机程序,处理器201包括一个或一个以上处理核心,存储器202通过总线203与处理器201相连,存储器202用于存储程序指令,所述处理器执行所述计算机程序时实现本发明实施例一的上述方法实施例中的步骤。
进一步地,作为一个可执行方案,所述预测服务器资源饱和度的装置可以是计算机单元,该计算机单元可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机单元可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述计算机单元的组成结构仅仅是计算机单元的示例,并不构成对计算机单元的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件。例如所述计算机单元还可以包括输入输出设备、网络接入设备、总线等,本发明实施例对此不做限定。
进一步地,作为一个可执行方案,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机单元的控制中心,利用各种接口和线路连接整个计算机单元的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机单元的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
实施例四:
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述方法的步骤。
所述计算机单元集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。
Claims (10)
1.一种预测服务器资源饱和度的方法,用于对基于面向企业应用的服务器资源的饱和度进行预测,其特征在于,包括:
S1,获取服务器资源在预定时间段内的资源使用数据,所述资源使用数据包括应用运行参数、服务器参数和业务参数中的一种或多种,所述资源使用数据分成时序数据和非时序数据;
S2,对所获取的所述资源使用数据进行预处理后,分别输入预先经过训练的第一预测模型、第二预测模型和第三预测模型,由所述三种预测模型分别根据所述资源使用数据进行预测;其中,所述第一预测模型为基于xgboost算法实现的xgboost模型;所述第二预测模型为基于Bi-LSTM网络和CNN网络实现的模型,其中,Bi-LSTM网络用于处理时序数据,所述CNN网络用于处理非时序数据;所述第三预测模型为仅基于CNN实现的模型;
S3,将所述三种预测模型分别得到的预测结果进行大多数投票,将总体上超过预定票数阈值的预测结果确定为最终的预测结果,所述最终的预测结果示出了服务器资源是否已经达到了饱和度。
2.根据权利要求1所述的方法,其特征在于,所述应用运行参数包括应用运行内存、应用运行线程数、并发数、连接池数和垃圾回收情况中的一种或多种;所述服务器参数包括服务器的内存负载、CPU负载和磁盘IO使用率中的一种或多种;所述业务参数包括对话数、访客数、页面访问次数、出入包和出入流量中的一种或多种。
3.根据权利要求1所述的方法,其特征在于,所述资源使用数据还包括异常故障参数、数据库参数和极限性能指标参数中的一种或多种;
其中,所述异常故障参数包括服务异常次数、业务异常次数、响应时间和子服务调用中的一种或多种;所述数据库参数包括数据库运行内存、事务数每秒TPS、每秒的输入输出量(IOPS,Input/Output Per Second)、死锁数和慢SQL数中的一种或多种;所述极限性能指标参数包括最大并发数、最大每秒查询率QPS、最大TPS、最大连接数和响应时间中的一种或多种。
4.根据权利要求1所述的方法,其特征在于,对所获取的所述资源使用数据进行预处理包括:
将所获得的所述资源使用数据通过归一化和填充整合成集群性数据;和,对时序数据进行降维处理。
5.根据权利要求1所述的方法,其特征在于,对所述第一预测模型、第二预测模型和第三预测模型进行训练包括:
收集训练用数据,将所述训练用数据分成训练集、验证集和测试集;
对所收集的训练用数据进行预处理,包括:标准化处理,将所述训练用数据通过归一化和填充整合成集群性数据;针对所整合成的所述集群性数据中的时序数据,使用主要成分分析PCA法进行数据降维;使用通过历史数据和人为经验预先获得的数据对所述训练用数据进行交叉验证训练以实现数据增强;及对所述训练用数据进行标注,消除奇异数据;
将经过预处理后的训练集输入所述第一预测模型、第二预测模型和第三预测模型得到各模型的预测结果,并将得到的各模型的预测结果进行大多数投票,得到整体的预测结果后,对各模型进行调优,继续训练直至通过验证集。
6.根据权利要求5所述的方法,其特征在于,对所述第一预测模型、第二预测模型和第三预测模型进行训练还包括:
(1)针对第一预测模型:
设置xgboost模型参数,以预定的初始学习率开始对xgboost模型进行训练和调优,直到所述第一预测模型达到预定的正确率阈值;
(2)针对第二预测模型:
利用incepetion-v3模型作为特征提取器,对于时序数据,将144*256的向量输入进Bi-LSTM,对于非时序数据,直接将数据转为one-hot向量输入5层3*3的卷积核的CNN网络中,然后将由CNN网络和Bi-LSTM得到的输出向量,通过一个全连接层将两种不同的特征融合得到新的特征表示,并输入softmax层进行最终的分类预测;训练并调整模型参数,使得所述第二预测模型达到预定的正确率阈值;
(3)针对第三预测模型:
选择AlexNet为核心的CNN,其中,所述AlexNet的网络结构包括:1个输入层、5个卷积层、2个全连接层和1个输出层;训练并调整模型参数,使得所述第三预测模型的正确率达到预定的正确率阈值。
7.根据权利要求1所述的方法,其特征在于,还包括:将所述最终的预测结果发送到运维平台展示。
8.根据权利要求3所述的方法,其特征在于,当所述资源使用数据包括应用运行参数、服务器参数、业务参数、异常故障参数、数据库参数和极限性能指标参数时,与由异常故障参数、数据库参数和极限性能指标参数产生的结果相比,对由应用运行参数、服务器参数和业务参数产生的结果赋予更高的权重。
9.一种预测服务器资源饱和度的装置,其特征在于,包括存储器和处理器,所述存储器存储有至少一段程序,所述至少一段程序由处理器执行以实现如权利要求1至8任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器执行以实现如权利要求1至8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310132447.3A CN116185797A (zh) | 2023-02-17 | 2023-02-17 | 预测服务器资源饱和度的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310132447.3A CN116185797A (zh) | 2023-02-17 | 2023-02-17 | 预测服务器资源饱和度的方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116185797A true CN116185797A (zh) | 2023-05-30 |
Family
ID=86432338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310132447.3A Pending CN116185797A (zh) | 2023-02-17 | 2023-02-17 | 预测服务器资源饱和度的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116185797A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117077586A (zh) * | 2023-10-16 | 2023-11-17 | 北京汤谷软件技术有限公司 | 一种电路设计的寄存器传输级资源预测方法、装置及设备 |
-
2023
- 2023-02-17 CN CN202310132447.3A patent/CN116185797A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117077586A (zh) * | 2023-10-16 | 2023-11-17 | 北京汤谷软件技术有限公司 | 一种电路设计的寄存器传输级资源预测方法、装置及设备 |
CN117077586B (zh) * | 2023-10-16 | 2024-01-19 | 北京汤谷软件技术有限公司 | 一种电路设计的寄存器传输级资源预测方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110070461B (zh) | 一种电力信息系统健康度评估方法及其评估系统 | |
CN106940679A (zh) | 数据处理方法及装置 | |
US10410137B2 (en) | Method and system for analyzing accesses to a data storage type and recommending a change of storage type | |
WO2021004324A1 (zh) | 资源数据的处理方法、装置、计算机设备和存储介质 | |
CN111381970B (zh) | 集群任务的资源分配方法及装置、计算机装置及存储介质 | |
CN116185797A (zh) | 预测服务器资源饱和度的方法、装置及存储介质 | |
CN112711757A (zh) | 一种基于大数据平台的数据安全集中管控方法及系统 | |
WO2023115856A1 (zh) | 一种任务异常告警方法及装置 | |
CN108268351B (zh) | 一种进程运行状态精确监控方法及系统 | |
CN111339052A (zh) | 一种非结构化日志数据处理方法及装置 | |
CN114610234B (zh) | 一种存储系统参数推荐方法及相关装置 | |
CN114358910A (zh) | 异常财务数据处理方法、装置、设备及存储介质 | |
CN111654853B (zh) | 一种基于用户信息的数据分析方法 | |
CN113157814B (zh) | 关系数据库下查询驱动的智能工作负载分析方法 | |
CN114840402A (zh) | 一种云主机故障预测方法、装置及介质 | |
CN114595216A (zh) | 数据校验方法、装置、存储介质及电子设备 | |
CN113703974A (zh) | 一种预测服务器容量的方法及装置 | |
CN114610590A (zh) | 作业运行时长确定方法、装置、设备及存储介质 | |
CN110990810B (zh) | 一种用户操作数据处理方法、装置、设备及存储介质 | |
CN114371884A (zh) | Flink计算任务的处理方法、装置、设备和存储介质 | |
CN113220551A (zh) | 指标趋势预测及预警方法、装置、电子设备及存储介质 | |
CN111988412A (zh) | 一种多租户服务资源需求智能预测系统及方法 | |
CN111475380A (zh) | 一种日志分析方法和装置 | |
CN109978038A (zh) | 一种集群异常判定方法及装置 | |
CN115640335B (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 |