CN115269108A - 一种数据处理方法、装置及设备 - Google Patents
一种数据处理方法、装置及设备 Download PDFInfo
- Publication number
- CN115269108A CN115269108A CN202110483138.1A CN202110483138A CN115269108A CN 115269108 A CN115269108 A CN 115269108A CN 202110483138 A CN202110483138 A CN 202110483138A CN 115269108 A CN115269108 A CN 115269108A
- Authority
- CN
- China
- Prior art keywords
- data
- data sequence
- value
- sequence
- values
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000005070 sampling Methods 0.000 claims abstract description 143
- 230000002159 abnormal effect Effects 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 102
- 238000012545 processing Methods 0.000 claims description 61
- 230000005856 abnormality Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 230000000875 corresponding effect Effects 0.000 claims 10
- 230000002596 correlated effect Effects 0.000 claims 4
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 230000007774 longterm Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 12
- 238000012937 correction Methods 0.000 description 12
- 238000013213 extrapolation Methods 0.000 description 10
- 230000003442 weekly effect Effects 0.000 description 10
- 238000013461 design Methods 0.000 description 9
- 238000005457 optimization Methods 0.000 description 9
- 238000009499 grossing Methods 0.000 description 7
- 230000001502 supplementing effect Effects 0.000 description 7
- 230000008602 contraction Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000005311 autocorrelation function Methods 0.000 description 4
- 238000013480 data collection Methods 0.000 description 4
- 239000000047 product Substances 0.000 description 4
- 238000005096 rolling process Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000010219 correlation analysis Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000002068 genetic effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种数据处理方法、装置及设备,在申请中,获取第一数据序列,该第一数据序列包括目标对象即被采样对象在第一时间段内多个时刻指定运行参数的采样值;判断所述第一数据序列是否存在异常,如果存在异常,则使用参考数据序列对第一数据序列进行修正;其中,参考数据序列包括目标对象在第一时间段内的多个时刻的运行参数的第一预测值,或,参考数据序列包括目标对象的关联对象在第二时间段内不同时刻的运行参数的关联值,由于参考数据序列所包含的运行参数的第一预测值或关联值更接近其真实值,由此根据参考数据序列对第一数据序列进行修正后,提高修正后的第一数据序列的准确率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置及设备。
背景技术
虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟机供应方可以将虚拟机分配或租赁到各租户,其中每个虚拟机实例可以作为一台独立的主机执行租户产生的各种任务。
为了提高虚拟机资源的利用率,降低租赁成本,可以利用弹性伸缩技术,在多个租户之间共享虚拟机的方式实现。当业务需求小于固有分配或租赁的虚拟机数量时,可以将部分空闲的虚拟机放回共享虚拟机资源池中,当业务需求大于固有分配或租赁的虚拟机数量时,可以向共享虚拟机资源池申请额外的虚拟机。
为了保证虚拟机资源和任务之间的供需平衡,可通过预测未来一段时间内的任务数量的方式来提前调度虚拟机资源。然而由于采样时延导致采集到的数据存在缺漏数据,使得预测模型的输出结果准确率大幅降低,不仅不能辅助调度系统对虚拟机资源进行弹性扩缩容,还会恶化弹性伸缩的结果,给系统安全带来巨大挑战。
发明内容
本申请提供一种数据处理方法、装置及设备,用于实现基于数据处理后的数据进行预测时,能够提高预测准确率。
第一方面,本申请实施例提供一种数据处理方法,该方法包括:获取第一数据序列,第一数据序列包括目标对象在第一时间段内多个时刻的指定运行参数的采样值;判断第一数据序列是否存在异常,如果存在异常,则使用参考数据序列对第一数据序列进行修正;其中,参考数据序列包括目标对象在第一时间段内的多个时刻的运行参数的第一预测值或,参考数据序列包括目标对象的关联对象在第二时间段内不同时刻的运行参数的关联值;关联对象在第二时间段内不同时刻的运行参数的关联值与目标对象在第一时间段内不同时刻运行参数的采样值的关联度不低于第一预设阈值。
按照第一方面提供的方法,获取第一数据序列,该第一数据序列包括目标对象即被采样对象在第一时间段内多个时刻指定运行参数的采样值。判断所述第一数据序列是否存在异常,如果存在异常,则使用参考数据序列对第一数据序列进行修正;其中,参考数据序列包括第一时间段内的多个时刻的指定运行参数的预测值或目标对象的关联对象在第三时间段内不同时刻指定运行参数的关联值,由于参考数据序列所表示指定运行参数的预测值或关联值更接近真实值,由此根据参考数据序列对第一数据序列进行修正后,提高修正后的第一数据序列的准确率。
在一种可能的实现方式中,参考数据序列是基于第二数据序列对第一时间段内多个时刻的运行参数的值进行预测得到的;其中,第二数据序列包括目标对象在第三时间段内多个时刻的运行参数的采样值;或,或第二数据序列包括关联对象在第一时间段内多个时刻的运行参数的采样值;第三时间段位于第一时间段之前,第三时间段的长度大于第一时间段的长度。
上述方法,由于参考数据序列是基于目标对象的运行参数的采样值预测得到的,或,根据目标对象的关联对象在第一时间段内多个时刻的运行参数的采样值,因此该参考数据序列内的值更接近于真实值。
在一种可能的实现方式中,在判断第一数据序列是否存在异常时,可以是判断第一数据序列是否缺漏数据,如果是,则确定第一数据序列存在异常;否则,确定第一数据序列不存在异常;或者,可以判断第一数据序列是否缺漏数据,且判断第一数据序列是否存在错误数据,如果缺漏数据或存在错误数据,确定第一数据序列存在异常;若不缺漏数据且不存在错误数据,确定第一数据序列不存在异常。
上述方法,检测第一数据序列中的错误数据,以及检测第一数据序列是否缺漏数据,并根据检测结果使用参考数据序列进行修正,可以使修正后的第一数据序列更加准确。
在一种可能的实现方式中,判断第一数据序列所包含的采样值的数量是否为预设数量,如果是,则确定第一数据序列不缺漏数据,否则,确定第一数据序列缺漏数据;或判断第一数据序列是否包括指定时刻的采样值,若不包括,则确定第一数据序列缺漏数据,否则,确定第一数据序列中缺漏数据;
在一种可能的实现方式中,判断第一数据序列所包含的每个采样值的值是否超过第二预设阈值范围,如果超过,则确定采样值为错误数据;否则,确定采样值不是错误数据。
在一种可能的实现方式中,第一数据序列内的多个采样值按照时间顺序排列;参考数据序列内的多个第一预测值按照时间顺序排列,或参考数据序列内的多个关联值按照时间顺序排列;
使用参考数据序列对第一数据序列进行修正,包括:若第一数据序列缺漏数据;针对第一数据序列所缺漏的任一采样值,将参考数据序列中与缺漏的采样值对应位置的第一预测值添加至第一数据序列中缺漏的采样值的位置;或将参考数据序列中与缺漏的采样值对应位置的关联值添加至第一数据序列中缺漏的采样值的位置;或,若第一数据序列错误数据;针对第一数据序列中存在的任一错误数据,将参考数据序列中与错误数据对应位置的第一预测值写入第一数据序列中错误数据的位置,或将参考数据序列中与错误采样值对应位置的关联值添加至第一数据序列中错误数据的位置;或使用错误数据在第二预设阈值范围中相邻的边界值替换第一数据序列中错误数据。
在一种可能的实现方式中,关联值为关联对象在第二时间段内不同时刻的运行参数的第二预测值,或为关联对象在第二时间段内不同时刻的运行参数的采样值。
在一种可能的实现方式中,运行参数可以为下列中的一项或多项:目标对象中运行任务的数量、目标对象中排队任务的数量、目标对象的硬件资源利用率;其中,硬件资源包括处理器资源和/或和/或存储资源和/或带宽资源等。
在一种可能的实现方式中,目标对象为计算设备、或目标对象为仅包括相同规格的虚拟机的资源池、或目标对象为包括不同规格的虚拟机的资源池。
上述方法,若目标对象为包括相同规格的虚拟机的资源池,则可以针对具体的虚拟机的规格进行的预测和精细化调度,进一步提高系统性能。
在一种可能的实现方式中,使用参考数据序列对第一数据序列进行修正之后,还包括:基于修正后的第一数据序列预测未来一段时间内不同时刻的运行参数的第三预测值;判断任一第三预测值是否超过第三预设阈值,若超过,则确定第三预测值对应的时刻为热点时刻,并进行热点告警。
第二方面,本申请实施例提供一种数据处理方法,该方法包括:确定目标对象集合的多个子集,每个子集包括同一规格的多个对象;分别获取每个子集的第一数据序列,每个第一数据序列包括子集在第一时间段内的多个时刻的指定运行参数的值;基于每个第一数据序列对子集未来一段时间的运行参数的值进行预测。
按照第二方面提供的方法,可以实现不同规格虚拟机的预测和精细化调度,进一步提高系统性能。
第三方面,本申请实施例还提供了一种数据处理装置,该数据处理装置具有实现上述第一方面的方法实例中行为的功能,有益效果可以参见第一方面的描述此处不再赘述,或具有实现上述第二方面的方法实例中行为的功能,有益效果可以参见第二方面的描述此处不再赘述。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述数据处理装置的结构中包括获取模块、处理模块;可选的,还包括预测模块、调度模块,这些模块可以执行上述第一方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
在另一个可能的设计中,所述数据处理装置的结构中包括确定模块、获取模块、预测模块;这些模块可以执行上述第二方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第五方面,本申请还提供了一种数据处理设备,所述计算设备包括处理器和存储器,还可以包括通信接口,所述处理器执行所述存储器中的程序指令执行上述第一方面或第一方面任一可能的实现方式提供的方法,或执行上述第二方面或第二方面任一可能的实现方式提供的方法。所述存储器与所述处理器耦合,其保存确定数据处理过程中必要的程序指令和数据。所述通信接口,用于与其他设备进行通信,如接收读数据请求,或发送用户数据。
第六方面,本申请提供了一种计算设备系统,该计算设备系统包括至少一个计算设备。每个计算设备包括存储器和处理器。至少一个计算设备的处理器用于访问所述存储器中的代码以执行第一方面或第一方面的任意一种可能的实现方式提供的方法,或执行第二方面或第二方面的任意一种可能的实现方式提供的方法。
第七方面,本申请提供了一种计算机可读存储介质,所述计算书可读存储介质被计算设备执行时,所述计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法,执行前述第二方面或第二方面的任意可能的实现方式中提供的方法。该存储介质中存储了程序。该存储介质包括但不限于易失性存储器,例如随机访问存储器,非易失性存储器,例如快闪存储器、硬盘(hard disk drive,HDD)、固态硬盘(solid state drive,SSD)。
第八方面,本申请提供了一种计算设备程序产品,所述计算设备程序产品包括计算机指令,在被计算设备执行时,所述计算设备执行前述第一方面或第一方面的任意可能的实现方式中提供的方法,执行前述第二方面或第二方面的任意可能的实现方式中提供的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面或第一方面的任意可能的实现方式中提供的方法的情况下,或在需要使用前述第二方面或第二方面的任意可能的实现方式中提供的方法的情况下,在需要使用前述第三方面或第三方面的任意可能的实现方式中提供的方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。
第九方面,本申请还提供一种计算机芯片,所述芯片与存储器相连,所述芯片用于读取并执行所述存储器中存储的软件程序,执行上述第一方面以及第一方面的各个可能的实现方式中所述的方法,执行上述第二方面以及第二方面的各个可能的实现方式中所述的方法。
附图说明
图1A为本申请提供的一种虚拟机资源池的架构示意图;
图1B为虚拟机弹性伸缩技术的应用场景示意图;
图2为一种系统架构图示意图;
图3为本申请实施例提供的一种系统架构示意图;
图4A~图4C为本申请实施例提供的多种预测模型的比对示意图;
图5为本申请实施例提供的一种数据处理方法所对应的流程示意图;
图6为本申请实施例提供的一种预测方法的流程示意图;
图7为本申请实施例提供的预测模型的滚动修正场景示意图;
图8为本申请实施例提供的一种调度方法的流程示意图;
图9A为本申请实施例提供的一种多规格虚拟机资源池的应用场景示意图;
图9B为本申请实施例提供的另一种数据处理方法所对应的流程示意图;
图10为本申请实施例提供的一种数据处理装置的结构示意图;
图11为本申请实施例提供的另一种数据处理装置的结构示意图;
图12为本申请实施例提供的第三种数据处理装置的结构示意图。
具体实施方式
首先对本申请实施例中的部分技术用语进行解释说明。
1,虚拟机,是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。在实际应用中,一台物理服务器可以通过虚拟化技术虚拟出多台虚拟机。
2,算力,用于衡量处理单元的计算能力,示例性地,算力可以是通过计算耗时来表征。不同的计算单元执行同一计算操作的算力可以是不同的,应理解的是,当求解相同的计算任务时,处理单元的计算耗时越小,则算力越强。
3,本申请中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围,也不表示先后顺序。
4,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请数据处理方法适用于多种存在供需关系的应用场景中;例如,可以应用于计算设备,或由多个计算设备组成的计算节点集群中,计算设备包括一个或多个计算单元,每个计算单元可以用于提供算力,以执行需要对数据进行计算、处理等的任务。计算设备获取任务的途径有多种,例如该任务可以是用户通过主机发送给计算设备的,又例如,可以是用户直接发送给计算设备的,再例如,计算节点集群中的中心节点在接收到用户发送的请求如数据查询请求后,生成的任务,后续中心节点生成的任务会被分配至一个或多个计算节点,等等。
在上述场景中,资源供应方为计算设备,资源供应方供应的资源为计算单元的算力,资源需求方为产生任务的一方。应理解,如果需求大于供应,就会造成任务排队、阻塞的情况,任务长时间得不到执行。为了实现供需平衡,可以通过挖掘负载(如任务数量)在连续时间维度上的变化特征来预测未来一段时间的任务数量,提前为该任务调度对应的计算资源,减少任务排队数量。
示例性地,任务预测的流程包括:采集计算设备在一段时间内的历史数据(如不同时刻的任务数量)序列,对采集的历史数据序列进行处理,如计算设备可以采用本申请实施例提供的数据处理方法,对采集的历史数据进行检测,当检测到历史数据存在异常时,可以通过参考数据序列对历史数据序列进行处理,如补全、纠正,随后将处理后的历史数据序列发送至预测算法模块进行预测,最后,根据预测结果进行调度。本申请通过优化数据处理环节,使得处理后的历史数据序列中的数据更接近真实数据,提高了预测结果的准确性。
又例如,可以应用于数据交互场景中,在数据交互场景中,资源供应方为提供网络带宽能力的一方,资源需求方为有数据发送需求的一方。在该场景中,资源供应方可以采用本申请提供的数据处理方法,采用一段时间内不同时刻所发送的数据量,并对采集到的数据进行检测,在检测到存在异常时,可以通过参考数据序列对采集到的数据进行处理,使得处理后的数据更接近于真实值。
上述计算设备可以是物理机,也可以是虚拟机,也可以是容器等,如下以虚拟机为例对本申请技术方案进行具体介绍。
下面以数据存储场景中所适用的系统架构为例进行说明,如图1A所示,为本申请实施例提供的一种系统架构示意图,如图1A所示,为本申请实施例提供的一种系统架构示意图,该系统包括服务器集群。服务器集群包括一个或多个服务器110(图1A中示出了三个服务器110,但本申请不限于两个服务器110),各个服务器110之间可以相互通信。服务器110可以是一种既具有计算能力又具有存储能力的设备,如服务器、台式计算机等。
在硬件上,如图1A所示,服务器110至少包括处理器112、内存113、网卡114和硬盘105。处理器112、内存113、网卡114和硬盘105之间通过总线连接。其中,处理器112和内存113用于提供计算资源。具体地,处理器112是一个中央处理器(central processing unit,CPU),用于对数据进行计算或处理。图1A中仅示出了一个CPU 112,在实际应用中,CPU112的数量往往有多个,其中,一个CPU 112又具有一个或多个CPU核。本实施例不对CPU的数量,以及CPU核的数量进行限定。内存113的作用以及类型与内存124的作用以及类型相同,具体可以参见前述说明此处不再赘述。硬盘105用于提供存储资源,例如存储数据。它可以是磁盘或者其他类型的存储介质,例如固态硬盘或者叠瓦式磁记录硬盘等。网卡114用于与其他服务器110通信。
在软件上,每台服务器110上具有操作系统。在服务器110上可以创建虚拟机107,虚拟机107所需的计算资源来源于服务器110本地的处理器112和内存113,而虚拟机107所需的存储资源既可以来源于服务器110本地的硬盘105,也可以来自其他服务器110中的硬盘105。此外,虚拟机107中可运行各种应用程序,用户可通过虚拟机107中的应用程序触发读/写数据请求。
多个服务器110上的虚拟机107可以组成一个大的虚拟机资源池,或者,每台服务器110上虚拟机107可以组成一个较小的虚拟机资源池。虚拟机资源池中的虚拟机107可以租赁给一个或多个用户使用,用于完成用户自身产生的或用户接收到的任务。
参见图1B,图1B为弹性伸缩技术的系统架构示意图。示例性地,图1B中的大的虚拟机资源池可以被分为三个池,如图1B所示,包括公共虚拟机资源池100、虚拟机资源池101、虚拟机资源池102;其中,每个虚拟机资源池包括多个虚拟机实例,给定虚拟机资源池101内的虚拟机为租户1的专属虚拟机,虚拟机资源池102内的虚拟机为租户2的专属虚拟机。公共虚拟机资源池100内的虚拟机可以被多个租户共享。例如,在租户1的专属虚拟机的数量小于业务需求的数量时,可以暂时从公共虚拟机资源池100中借用公共虚拟机。当租户的专属虚拟机空闲时,也可以被投放到公共虚拟机资源池100中,以此可以在节省租赁成本的基础上,提高虚拟机的利用率。
为了实时匹配虚拟机资源数量和任务需求数量,目前存在的一种解决方案为,通过挖掘负荷(任务数量)在连续时间维度上的变化特征,预测未来一段时间内的任务数量。参见图2,图2为该解决方案的系统架构示意图。该系统包括数据采集系统20、预测系统21和调度系统22。其中,数据采集系统20用于采集对象在一段连续时间内的历史数据。示例性地,以某虚拟机资源池(例如虚拟机资源池101或虚拟机资源102)为对象为例,数据采集系统20可以采集该虚拟机资源池101在一段连续历史时间内不同时刻的任务数量,并将采集到的数据发送至预测系统21,预测系统21基于历史数据预测未来一段时间不同时刻的任务数量。调度系统22可以根据预测系统21的输出结果(即预测结果)提前调度虚拟机,如从公共资源池100申请部分虚拟机至该虚拟机资源池101,或将虚拟机资源池101内的虚拟机贡献到公共虚拟机资源池100,在保障虚拟机资源池101内业务需求和虚拟机数量的匹配,从而提高资源的利用率。
准确的任务预测可令资源供应方提前对虚拟机资源池进行优化配置,提升虚拟机资源池的稳定运行能力,提高资源利用率,并降低任务排队数量。然而在实际应用中,由于数据采集系统20在采集历史数据时可能存在较长的时延,或由于采集系统或通信系统故障导致存在一定数量的错数据,此时预测系统21的输入不再是真实运行情况,使得预测系统21的输出结果准确率大幅降低,不仅不能辅助调度系统22对虚拟机资源进行弹性扩缩容,还会恶化弹性伸缩的结果,给系统安全带来巨大挑战。
鉴于此,本申请实施例提供了一种数据处理方法,该方法可以对采集到的数据序列(记为第一数据序列)进行检测,当检测第一数据序列存在异常时,可以利用参考数据序列对该第一数据序列中的数据进行处理,如该第一数据序列存在缺漏数据时,可以使用参考数据序列对缺漏数据进行补全,使得处理后的第一数据中的数据更接近实际数据,从而提高预测的准确率。
结合具体的附图和实施例提供本申请技术方案。
参见图3为本申请实施例的系统架构示意图,该系统包括数据采集单元30、数据处理单元31、预测单元32、调度单元33。
数据采集单元30,可以是一个物理机,例如数据服务器,也可以虚拟机,数据采集单元30,用于存储每个虚拟机实例发送的数据,包括该虚拟机在一段时间内的针对于一个或多个运行参数的历史数据记录;或者,也可以是虚拟机资源池中的管理节点在收集了该资源池中的所有虚拟机的数据后一起发送给数据采集单元30。
具体的,在一个可实施的方式中,数据采集单元30,用于采集指定对象,如某虚拟机资源池在一段时间内指定运行参数的历史数据序列,该历史数据序列包括该虚拟机不同时刻的指定运行参数的历史数据,例如,该历史数据可以是该虚拟机资源池内在不同时刻的任务数量,如时刻A该虚拟机资源池内的所有虚拟机接收到的任务数量的总和,为该虚拟机资源池在时刻A的任务数量;并将采集到的历史数据序列输入至数据处理单元31。为便于说明,下文将该一段历史时间称为采样时间窗口,将采集到的历史数据称为采样数据。其中,采样时间窗口由预测模型的参数确定。
数据处理单元31,用于接收数据采集单元30发送的采样数据,并对采样数据进行检测,当检测到采样数据异常时,对采样数据进行处理。示例性地,可以用于检测采样数据中是否存在由于采样时延导致的缺漏数据,若存在,则基于历史数据对缺漏数据进行补齐,令补齐后的数据更接近于实际数据。如下列举几种缺漏数据的补齐方式。
补齐方式一:利用其他预测模型的输出结果进行补齐。
首先对本申请实施例所应用的预测模型进行介绍。
本申请实施例提供了多种预测模型,可以包括但不限于,短期预测模型、中期预测模型和长期预测模型。其中,每个预测模型的参数包括采样时间窗口、采样间隔、预测时间窗口、预测频率等。其中,采样时间窗口是每一次采样的时间长度,即为上文中的数据采集单元30进行一次采样时对应的一段历史时间段的长度,数据采样单元30在采样时间窗口内采集历史数据(也称采样数据)。采样间隔是指在采样时间窗口内采样数据之间的时间间隔。预测频率,是指预测模型执行预测的频率。预测时间窗口为输出结果对应的一段未来时间段的长度;为便于说明,在下文中,将短期预测模型的采样数据称为短期采样数据,将中期预测模型的采样数据称为中期采样数据,将长期预测模型的采样数据称为长期采样数据。
应理解,短期、中期、长期三种预测模型是相对的。示例性地,按照采样时间窗口的长度可以排序为:短期预测模型﹤中期预测模型﹤长期预测模型;按照预测时间窗口的长度可以排序为:短期预测模型﹤中期预测模型﹤长期预测模型;按照采样间隔可以排序为:短期预测模型﹤中期预测模型﹤长期预测模型;按照预测频率可以排序为:短期预测模型>中期预测模型>长期预测模型。
举例来说,短期预测模型可以是实时预测模型,中期预测模型可以是日预测模型,长期预测模型可以是周预测模型。参见图4A所示,实时预测模型的采样时间窗口可以是1小时,预测时间窗口可以是5分钟,预测频率可以是1次/5分钟;日预测模型的采样时间窗口可以是24小时,预测时间窗口可以是1小时,预测频率可以是1次/30分钟或小时1次/1小时等。周预测模型的采样时间窗口可以是7天,预测时间窗口可以是1天,预测频率可以是1次/12小时或1次/1天等。当然,上述数值仅为便于理解所提供的示例,本申请实施例对各预测模型的参数的值不做限定。例如采样时间窗口的长度可以是预设的任何长度,例如,30分钟、4小时、8小时、10小时等,同理,本申请实施例对各预测模型的参数不做限定。
需要说明的是,(1)图4A所示的预测模型仅为举例,其中,短期预测模型、中期预测模型和长期预测模型的预测时刻可以是同一时刻也可以不是同一时刻,本申请实施例对此不做限定。(2)上述预测模型仅为举例,实际上同一种类型的模型适用于不同预测场景,例如,长期预测模型还可以是月预测模型、年预测模型等。应理解的是,随着预测时间跨度的增加,预测结果用于指导虚拟机调度的参考价值也随之降低。相对而言,从预测结果的准确率来说,各模型可以排序为:短期预测模型>中期预测模型>长期预测模型,准确率越高对于指导虚拟机资源进行实时调度的参考价值也越高。在实际应用中,通常使用短期预测模型的预测结果进行实时调度。下文以图2或图3中预测模型为短期预测模型为例进行介绍。(3)应理解的是,各预测模型的采样时间窗口的长度不变,但是该窗口可以随着时间而向前滚动,针对短期预测模型的采样数据还可以被处理后输入至中期预测模型、长期预测模型进行滚动修正,以提高其预测准确率,从而改善预测精度,下文将会进行介绍。
具体的,在本申请实施例中,数据采集单元30用于按照短期预测模型的采样时间窗口获取采样数据,并将采样数据输入至数据处理单元31。示例性地,如果该数据处理单元31检测到该采样数据存在缺漏数据时,可以使用中期预测模型或长期预测模型的预测结果来补齐该缺漏数据。应理解的是,由于中期预测模型的预测结果相对长期预测模型的预测结果更加准确,因此,参考中期预测模型的预测结果来补齐短期预测模型的采样数据应更加准确。下文中,将以利用中期预测模型的预测结果进行缺漏数据补齐的方式进行介绍。
举例来说,参见图4B所示,其中,以图4B的(a)为例,在t1时刻,中期预测模型基于第二时间段内负载的历史数据进行预测,得到第一时间段的负载的预测值,该历史数据为该负载的实际值或真实值,如下将中期预测模型确定的第一时间段内按照时间顺序排列的多个负载预测值称为参考数据序列;在t2时刻,数据采集单元30采集第一时间段内负载的历史数据,将采集到的第一时间段内的历史数据称为第一数据序列,数据处理单元31可以采用本申请提供的数据处理方法对第一数据序列进行检测,并在检测到第一数据序列存在异常如缺漏数据时,可以使用参考数据序列中与缺漏数据对应位置的负载预测值对缺漏数据进行补齐。由于参考数据序列中的负载预测值更接近于负载的真实值,当采用上述方法后,可以解决因采样延迟造成的采样数据不准确的问题,从而提高了预测的准确性。
值得注意的是,中期预测时间窗口与短期采样时间窗口的长度可以是相同的,如图4B的(a)所示,也可以是不同的,如图4B的(b)至4B的(c)所示。需要说明的是,图4B的(b)至4B的(c)并未展示中期预测时间窗口与短期采样时间窗口的长度不同的所有情况,两个时间窗口可以是不完全重叠的,也可以是两个窗口的任一边界未对齐的,还可以是两个窗口的两个边界均未对齐的,等等,本申请实施例对此不做限定。
其中,对于两个时间窗口有部分交集的情况,如图4B的(c)所示,这种情况下,可以采用中期预测时间窗口中与短期采样时间窗口有交集的部分负载预测值对第一数据序列进行部分补齐,其余部分可以采用其他的参考数据序列进行补齐,或者采用补0或补相邻值的方式进行补齐,本申请对此也不做限定。
更具体的,参考数据序列中的负载预测值与第一数据序列中的负载预测值的数量以及对应时刻可能不同,参见图4C。如图4C的(a)所示,参考数据序列包括中期预测时间窗口内按照时间顺序排列的多个负载预测值;第一数据序列包括按照第一时间段内按照时间顺序排列的多个负载的采样值;参考数据序列中的负载预测值的数量与第一数据序列中负载采样值的数量相同,参考数据序列内负载预测值与第一数据序列内的负载的采样值一一对应,一一对应的两个值对应的时刻也相同。在该情况下,如果由于采样延迟导致第一数据序列存在缺漏数据,可以使用参考数据序列中与该缺漏数据相同位置或者说相同时刻的负载预测值进行补齐。例如,未采集到t3时刻的负载的值(故图4C的(a)中以虚线表示),可以使用参考数据序列中t3处的负载预测值进行补全。
又例如,如图4C的(b)所示,参考数据序列中的负载预测值的数量与第一数据序列中的负载的采样值的数量不同,每个值对应的时刻也不同。在该情况下,如果由于采样延迟导致第一数据序列存在缺漏数据,可以使用参考数据序列中与该缺漏数据所在位置或者说所在时刻相邻的负载预测值进行补齐。例如未采集到t3时刻的负载的值(故图4C的(b)中以虚线表示),则可以使用参考数据序列中t4处的负载预测值进行补全。
通过该设计,补齐后的数据更接近于实际的运行数据,从而可以有效提高预测结果的准确率。
补齐方式二:利用趋势外推法进行补齐。
趋势外推法又称趋势延伸法,该方法是根据预测变量的历史时间序列揭示出的规律对趋势进行外推,以确定预测值的一种预测方法。趋势外推法通常适用于呈渐进式发展规律的预测对象,而不适用于呈阶跃式发展规律的预测对象。一般情况下,趋势外推的部分能够用一个合适的函数曲线进行拟合。
示例性地,趋势外推法的模型包括但不限于:AR模型(auto regression model)、MA模型(moving average model)、自回归平均移动模型(autoregressive movingaverage,ARMA)或差分整合自回归移动平均模型(autoregressive integrated movingaverage,ARIMA)等。
补齐方式三:利用互相关分析进行补齐。
示例性地,可以利用与被预测的对象相关性较强的关联对象的预测结果进行补齐。例如,被预测的对象和关联对象均为资源池,不同资源池之间的预测结果的相关关系可以用互相关函数(Cross-correlation Function,CCF)进行定量计算:
其中,{xa,t}表示资源池a在不同时刻的任务预测时间序列(即不同时刻的预测结果)。rij(p)是资源池i和资源池j预测任务数量之间在延迟步长为p时的CCF值;μi及μj分别是时间序列{xi,t}及{xj,t-p}的均值,σi及σj分别是时间序列{xi,t}及{xj,t-p}的标准差。CCF数值的大小反映不同资源池之间的预测结果的相互关联程度,当某一资源池存在较长时间尺度的缺漏数据时可以通过CCF补全。
举例来说,软件产品(或者项目)从开发到交付通常涉及多个,例如编译构建、代码检查、单元检测、环境部署、软件测试等,将每个环节串联起来便可以编排成一套完整的工作流程。上述各个环节,需要使用大量的虚拟机来完成相应的任务。若某一产品的编译构建、代码检查、单元测试、环境部署、软件测试等环节中的某一环节的采样数据存在缺漏数据时,可以根据该环节的虚拟机资源池与其他环节的虚拟机资源池之间的延迟步长p以及相应的CCF值,对缺漏数据进行补全。
上文介绍了几种数据补齐方式仅为举例,本申请实施例还可以采用其他补齐方式,例如,根据关联对象在关联时间段内负载的真实值进行补齐,该关联对象的关联时间段的确定方式可以是通过上述互相关分析确定的也可以通过其他方式确定,本申请实施例对此不做限定。上述补齐方式可以单独使用,也可以集成使用,例如,根据缺漏数据的数量可以选用不同的补齐方式,下文会进行介绍。在实际应用中,数据处理单元31除了用于数据补齐之外,还可以用于错误数据纠正,下文会对此进行详细介绍,此处不做重复说明。当采样数据处理完成后,数据处理单元31还将处理后的采样数据发送至预测单元32。
预测单元32,用于根据采样数据进行预测,得到预测结果;并将预测结果输入至调度单元33。
调度单元33,用于根据预测结果进行虚拟机资源的调度。应理解的是,任务数量和虚拟机需求量两者之间存在函数关系,换而言之,可以根据任务数量计算得到虚拟机的需求量,从而指导虚拟机的调度。
参见图5,图5为本申请实施例提供的数据处理方法的完整流程图示意图,该方法可以应用于图3所示的系统架构中,由图3中的数据处理单元31实现,该方法包括如下步骤:
步骤501,获取目标对象在第一时间段内指定运行参数的采样数据序列(或称为第一数据序列)。
以短期预测模型为例,当到达采样时刻,采集预测时刻之前采样时间窗口内不同时刻该指定运行参数的历史数据。应理解的是,这里的采样数据可以按照指定预测模型的采样间隔、采样时间窗口长度等参数进行采集。其中,采样时刻可以在待预测时刻之前,在最后一个历史数据所在时刻之后。
步骤502,判断采集到的采样数据是否存在缺漏数据,如果是,则执行步骤503,否则,执行步骤506。
示例性地,若采样数据的数量未达到预设数量,则确定采样数据存在缺漏数据,例如,根据预测模型的参数可以确定采样数据的预设数量,例如,采样时间窗口的长度为1小时,采样间隔为1分钟,则采样数据的预设数量应为60个,若采样数据的数量不足60个,则确定采样数据中存在缺漏数据。再示例性地,还可以根据采样数据的时间信息进行判断,例如,在3:00这一时刻顺序采集到2:00-2:59(以2:00为起始时刻,2:59为终止时刻)每一分钟记录的任务数量,若到达预测时刻未采集到2:59这一时刻的任务数量记录,则确定该采样数据存在缺漏数据。
步骤503,判断缺漏数据的数量是否超过预设阈值(如下将预设阈值称为第一预设阈值),若超过,则执行步骤504,否则,执行步骤505。
可以用缺少的采样数据的数量来衡量采样时延的程度,例如,给定当缺漏数据的数量未超过第一预设阈值时,其为较短期延尺度的时延,其缺漏数据可以称为短期缺漏数据;反之,当缺漏数据的数量超过第一预设阈值时,其为较长时延尺度的时延,其缺漏数据可以称为长时缺漏数据。再示例性地,还可以用时延时间来衡量采样时延的程度,例如,若在3:00这一时刻采集到的采样数据处于2:00-2:45这一时间区间,则时延时间为14分钟。又例如,若在3:00这一时刻采集到的采样数据处于2:00-2:55这一时间区间,则时延时间为4分钟。
由于不同预测模型适用于不同的场景,在本申请实施例中,对于短期缺漏数据,可以使用上述补齐方式二(趋势外推法)等方式补齐;对于长时缺漏数据,可以使用补齐方式一或补齐方式三进行补齐。通过上述设计,可以针对性的采用不同补齐方法进行补齐,以此提高补齐后的采样数据的准确性。如下结合步骤504和步骤505进行具体介绍。
步骤504,使用趋势外推法对短期缺漏数据进行补齐。
举例来说,结合上文示例,假设数据采集单元在3:00时刻要采集到2:00-2:59这段时间内的60个采样数据,给定第一预设阈值为5,若在3:00这一时刻采集到2:00-2:55这段时间内的56个采样数据,即漏数据的个数为60-56=4,在该情况下,由于漏数据个数4小于第一预设阈值5,可以使用趋势外推法进行补齐。示例性地,一种简单的趋势外推方法为,使用2:55时刻的采样数据来补齐2:56、2:57、2:58和2:59这四个时刻的采样数据。
需要说明的是,(1)上述第一预设阈值是以样本数据为粒度为例示出的,如果以采样时延的角度来设置,该第一预设阈值还可以是用于表征时延程度的时间长度,例如,该第一预设阈值可以是3分钟、5分钟等。(2)上述趋势外推的实施方式仅为举例。(3)短期缺漏数据也可以其他补齐方式进行补齐,但相对来说,趋势外推的方式补齐的数据跳变程度低,更加准确。
步骤505,对长时缺漏数据进行补齐。
示例性地,可以使用上文介绍的补齐方式一或补齐方式二进行补齐,具体请参见上文介绍,此次不再赘述。
需要说明的是,步骤504和步骤505仅为举例,本申请实施例也可以不区分采样时延程度,而采用统一的补齐方式,例如,不论短期缺漏数据或是长时缺漏数据,均使用补齐方式一进行补齐,本申请实施例对此不做限定。
步骤506,检测该第一数据序列中的采样数据是否存在错误数据,如果是,则执行步骤507;否则,执行步骤508。
在一种实施方式中,可以采用异常检测算法来检测,示例性地,异常检测算法包括统计概率模型、线性模型、基于相似度指标的模型等。
举例来说,利用统计概率模型进行异常检测的流程可以包括:获取该指定对象的历史数据记录,示例性地,该历史数据记录用于记录该指定对象对应的任务数量范围。具体的,任务数量范围包括历史任务数量最大值和历史任务数量最小值。
示例性地,若某采样数据在任务数量范围之外,即超过了边界值(历史最大值或历史最小值),则确定该采样数据为错误数据。例如,历史任务数量最大值为100,若某采样数据大于100,则该采样数据为错误数据。又例如,历史任务数量最小值为10,若采样数据小于10,则该采样数据为错误数据。
再示例性地,还可以边界值为起点设置溢出区间,若某采样数据超出了边界值对应的溢出区间,则确定该采样数据为错误数据,例如,历史任务数量最大值为100,溢出区间为100—110,若某采样数据大于110,则该采样数据为错误数据。又例如,历史任务数量最小值为10,溢出区间为0—10,若采样数据小于0,则该采样数据为错误数据。
步骤507,对错误数据进行修正。
如下介绍几种对错误数据进行修正的方式。
修正方式一:采用自相关分析对异常数据进行修正。
示例性地,资源池i任务数量的自相关函数(Auto-correlation Function,ACF)的计算方法为:
式中,ri(p)是资源池i在不同延迟步长下的ACF值,μi与σi是{xi,t}的均值与标准差。例如,在某一产品的特定交付环节,所需要的虚拟机资源存在周期性的峰谷变,则可以根据该环节的延迟步长p以及相应的ACF值,对错误的数据进行修正。
修正方式二:使用相邻边界值/相邻采样数据对异常数据进行修正。
在一种可实施的方式中,可以使用该错误数据相邻的边界值或相邻的采样数据进行修正,示例性地,以相邻的边界值进行修正时,例如,该错误数据为10000,其相邻的边界值为历史任务数量最大值(假设为100),则可以使用100替代10000。若该错误数据为-10,其相邻的边界值为历史任务数量最小值(假设为0),则可以使用0替代-10。
步骤508,输出处理(修正补齐)后的短期采样数据。
上文介绍了得到处理后的短期采样数据的方法流程,通过上述设计,可以修正因采样时延导致的缺漏数据以及采集到的错误数据,使得处理后的采样数据更加接近于实际的历史数据,准确率更高,以提高预测准确率。
如下对基于处理后的短期采样数据进行预测的流程进行介绍。
参见图6,图6为本申请实施例提供的预测系统的处理流程示意图。该方法可以应用于图3所示的系统中,由预测单元32实现,如图6所示,该流程可以包括如下步骤:
步骤600,获取处理后的短期采样数据。
步骤601a,将处理后的短期采样数据输入至短期预测模型中。
步骤602a,当到达预测时刻,短期预测模型进行预测,得到预测结果。
步骤601b,对处理后的短期采样数据进行日预测模型对应的平滑处理,确定日采样数据。
这里按照预测模型划分,将短期预测模型的采样数据称为短期采样数据,将日预测模型的采样数据称为日采样数据,将周预测模型的采样数据称为周采样数据。如前所述,不同预测模型的采样间隔是不同的,例如,短期采样数据中相邻采样数据之间的间隔为1分钟,再示例性地,日采样数据中相邻采样数据之间的间隔可以是5分钟、10分钟、15分钟等,周采样数据中相邻采样数据之间的间隔可以是30分钟、45分钟等,当然这些数值仅为举例,本申请实施例对此不做限定。
这里日预测模型对应的平滑处理为,基于一个时间分片内的连续多个短期采样数据得到一个日采样数据。示例性地,可以将该多个短期采样数据的平均值作为一个日采样数据。再示例性地,还可以将该多个短期采样数据中的最大值作为一个日采样数据。
举例来说,给定日预测模型的采样间隔为1个/5分钟,假设该处理后的短期采样数据对应于2:00—2:59这一采样时间窗口,则可以以5分钟为粒度,对该采样时间窗口进行划分,以得到多个时间分片,例如,2:00-2:04为一个时间分片,2:05-2:09为下一个时间分片等。后续,基于每个时间分片内的多个短期采样数据来确定一个日采样数据。例如,短期采样数据序列包括数据A(2:00时刻的样本数据)、数据B(2:01时刻的样本数据)、数据C(2:02时刻的样本数据)、数据D(2:03时刻的样本数据)、数据E(2:04时刻的样本数据);则该日采样数据可以是数据A、数据B、数据C、数据D和数据E的平均值,或该日采样数据可以是数据A、数据B、数据C、数据D和数据E的最大值。应理解的是,这里是以确定一个日采样数据为例进行说明的,在步骤601b中可以确定多个日采样数据,每个日采样数据的确定方式可以参见上述流程,此处不做赘述。另外,对于同一个采样窗口内不同时间分片的平滑处理方法应相同,即如果取平均值则都取平均值,如果取最大值则都取最大值。
步骤602b,将日采样数据输入至日预测模型。
应理解的是,各预测模型的采样时间窗口的长度不变,但是该窗口可以随着时间而向前滚动,当达到下一个预测时刻时,则再循环执行上述流程。同理,短期预测模型和长期预测模型的采样时间窗口也采用相同流程。示例性地,请结合图7理解,图7为中期预测模型进行滚动修正的场景示意图。在图7中,假设日采样时间窗口为24h,日预测时间窗口为1h,其中,日预测时刻2为日预测时刻1的下一个日预测时刻,日采样时间窗口1为日采样时间窗口2的上一个日采样时间窗口,日预测时间窗口1为日预测时间窗口2的上一个日预测时间窗口。
这里基于纠正后的实时采样数据得到的日采样数据可能是一个日采样窗口内的部分数据,在执行步骤602b之前,可能重复执行了多次步骤601b。
在一种实施方式中,本申请可以缓存该日预测模型在上一个日采样窗口内的日采样数据,在到达下一个预测时刻,则不需要再进行数据采集,可以使用缓存的上一个日采样窗口内的日采样数据和平滑处理后的日采样数据作为一个新的日采样窗口内的日采样数据。在另一种实施方式中,还可以在日预测时刻执行日数据采集,即按照日采样间隔直接采集历史数据。并结合采集到的历史数据和平滑处理后的日采样数据得到一个新的日采样窗口内的日采样数据。
在上述设计中,由于平滑处理后的日采样数据是基于修正后的短期采样数据确定的,因此,平滑处理后的日采样数据出现错误的概率也相对较低,即基于该修正后的短期采样数据得到的日采样数据的准确性也比较高。
步骤603b,当到达日预测时刻,日预测模型执行预测,得到预测结果。
通过上述设计,可以实现日预测模型的滚动修正,提高日预测模型的预测结果的准确性。
步骤601c,将处理后的短期采样数据进行周预测模型对应的平滑处理,确定周采样数据。
步骤602b,将周采样数据输入至周预测模型。
步骤603c,当到达周预测时刻,周预测模型执行预测,得到周预测数据。
类似的,步骤601c-步骤603c的具体执行步骤可以参见对步骤601b-步骤603b的介绍,此次不再赘述。
步骤604,基于各预测数据判断未来时刻是否存在热点时刻,若存在,则进行热点预警。
这里的热点时刻是指未来可能存在超负荷的时刻。示例性地,若某时刻的预测的任务数量超过一个给定的阈值(如下将该给阈值称为第二预设阈值),则确定该时刻为热点时刻。
需要说明的是,上述用于预测任务数量的预测模型仅为举例,本申请实施例中的预测模型可以包括但不限于:用于预测任务数量的模型、用于预测虚拟机需求量的模型、用于预测任务排队数量的模型、用于预测硬件资源(例如CPU或内存)利用率的模型等。对应的,数据采集单元30采集的历史数据可以是一段历史时间内不同时刻的:任务数量、或虚拟机使用数量、任务排队数量、CPU利用率、内存利用率等。当然,上述所列举的预测模型及其对应的采样数据仅为举例,任何可以被挖掘出特征的参数均可以通过训练模型的方式进行预测,本申请实施例对此不做限定。
相应的,如果预测数据为虚拟机使用数量,则确定热点时刻的过程还可以是:判断某时刻预测的虚拟机使用数量是否超过一个给定的阈值(为便于区分,将该给阈值称为第三预设阈值),若超过,则确定该时刻为热点时刻。
类似的,如果预测数据为任务排队数量,则确定热点时刻的过程还可以是:判断某时刻的预测的任务排队数量是否超过一个给定的阈值(为便于区分,该给阈值称为第四预设阈值),若超过,则确定该时刻为热点时刻。
同理,如果预测数据为硬件资源利用率,则确定热点时刻的过程还可以是:判断某时刻的预测的硬件资源利用率是否超过一个给定的阈值(为便于区分,将该给阈值称为第五预设阈值),若超过,则确定该时刻为热点时刻。
上述各预测模型输出的预测结果以及热点预警均可以用于实现虚拟机资源的精细化调度,以提升资源的利用率或降低资源的碎片率等。其中,周预测数据可以用于编制周发版计划,由于时间跨度较大,这里以实时预测结果和日预测结果为例对调度流程进行介绍。
参见图8,图8为本申请实施例提供的精细化调度的方法流程示意图。如图8所示,该方法包括如下步骤:
步骤801:日预测模型执行预测,输出日预测结果,基于该日预测结果进行日前预调度。
目前,虚拟机资源调度通常处理为带约束的装箱问题,该问题的优化目标为最小化箱子的使用数量。解决方案按箱子维度可以分成两类:第一类是一维装箱,即仅考虑CPU或内存单一类别资源的利用率,该问题可以使用首次适应降序(First Fit Decreasing,FFD)等算法进行求解;第二类为多维装箱,即同时考虑CPU、内存、存储等多类资源的利用率,该问题可以使用维度感知的启发式算法进行求解,即将每个虚拟机资源需求用一个多维向量表示,根据向量中不同维度的权重进行装箱。优化问题的求解可以采用遗传算法(Genetic Algorithm)、粒子群优化算法(Particle Swarm Optimization Algorithm)、蚁群优化算法(Ant Colony Optimization Algorithm)等启发式算法。
示例性地,日前预调度的优化目标可以是提升虚拟机使用数量的利用率并降低资源碎片率,此处的利用率可通过计算指定资源池内运行任务的虚拟机的数量除以该资源池内所有虚拟机的数量得到。
在一种实施方式中,不同的任务可以具有不同的优先级,本申请实施例在进行调度时,可以根据任务的优先级顺序,优先为优先级高的任务分配虚拟机资源,以此保障重点产品或项目具有足够数量的虚拟机资源。
步骤802:基于日预测结果判断是否存在热点时刻,如果有则进行热点预警,并根据热点预警结果进行热点迁移。
示例性地,热点迁移的优化目标可以是最小化最大排队任务数量等。
步骤803:短期预测模型执行预测,输出实时预测结果,基于实时预测结果进行实时调度。
示例性地,实时调度的优化目标可以是提升硬件资源的利用率,这个利用率是指资源池中各单台虚拟机的利用率平均值。
上述方法是以供需平衡的角度来进行虚拟机资源的调度。
在如图9A所示的跨产品线公共资源池中,虚拟机资源规格种类繁多,不同产品线在不同交付环节上所需要的虚拟机资源规格可能存在显著差异。如果给任务分配不相匹配规格的虚拟机资源,可能导致虚拟机资源在分配后产生CPU、内存或硬盘碎片率较高的问题,并且如果规格不匹配时还会增加重新分配资源的时间,使得虚拟机任务排队任务数量飙升。
基于此,本申请实施例还提供了另一种数据处理方法,以实现更精细的调度。参见图9B,图9B为本申请实施例提供的该数据处理方法的流程示意图。如图9B所示,该流程包括:
步骤901,确定目标对象集合的多个子集,每个子集包括同一规格的多个对象。
例如,确定虚拟机资源池的多个子集,每个子集包括同一规格的多个虚拟机;在实际应用中,同一资源池中的虚拟机可能具有不同的规格,此处规格是指软件和/或硬件上的规格,例如规格参数包括但不限于处理单元(类型、算力等等)、内存容量、存储容量、所安装的应用程序等等。
步骤902,分别获取每个子集的第一数据序列,每个第一数据序列包括该子集在第一时间段内的多个时刻的指定运行参数的值。
示例性地,分别获取每个子集在第一时间段内的历史数据,得到多个第一数据序列,每个所述第一数据序列包括按照时间顺序排列的所述子集在所述第一时间段内的多个时刻的负载值;
步骤903,基于每个第一数据序列对各子集未来一段时间的运行参数的值进行预测。
示例性地,基于每个第一数据序列所包含多个时刻的负载值对子集未来一段时间的负载值进行预测。
举例来说,在上文图5所示的实施例中,在对某资源池未来一段时间内的运行参数的值进行预测时,数据采集单元30可以标识不同规格的虚拟机,并按照各自规格采集虚拟机的历史数据,例如,假设资源池内的虚拟机规格包括A、B、C,以其中一个规格为例,在进行采样时,可以采集短期采样窗口中需求为规格A虚拟机在一段时间内的历史任务数量,并将采集到的历史任务数量输入至短期预测模型,得到未来一段时间内的需求为规格A的虚拟机的任务数量,以此实现对规格为A的虚拟机的精细化调度。同理,对于需求为规格B的虚拟机的任务数量以及需求为规格C的虚拟机的任务数量的预测均如此,此处不做赘述。
需要说明的是,(1)对于规格为A的虚拟机的精细化调度与上述基于不区分规格的虚拟机的预测结果进行调度的方法是相同的,不同之处在于,要调度的虚拟机是指定规格的虚拟机,具体请参见上述流程,此处不做赘述。(2)对于同一虚拟机资源池,若该资源池中包括不同规格的虚拟机时,在采集某一个规格的虚拟机的历史数据时,可选的,还需要对记录的该资源池的历史数据按照虚拟机规格进行分类统计。
通过上述设计,可以实现不同规格虚拟机的预测和精细化调度,进一步提高系统性能。
基于与方法实施例同一发明构思,本申请实施例还提供了一种数据处理装置,该数据处理装置用于执行上述图5所示的方法实施例中执行主体执行的方法。如图10所示,数据处理装置1000包括获取模块1001、处理模块1002;可选的,还可以包括预测模块1003、调度模块1004,由于预测模块1003、调度模块1004为可选的模块,因此,图10中以虚线框展示。具体地,在数据处理装置1000中,各模块之间通过通信通路建立连接。
获取模块1001,用于获取第一数据序列,第一数据序列包括目标对象在第一时间段内多个时刻的指定运行参数的采样值;
处理模块1002,用于判断第一数据序列是否存在异常,如果存在异常,则使用参考数据序列对第一数据序列进行修正;其中,参考数据序列包括目标对象在第一时间段内的多个时刻的运行参数的第一预测值或,参考数据序列包括目标对象的关联对象在第二时间段内不同时刻的运行参数的关联值;关联对象在第二时间段内不同时刻的运行参数的关联值与目标对象在第一时间段内不同时刻运行参数的采样值的关联度不低于第一预设阈值。
作为一种可能的实施方式,参考数据序列是基于第二数据序列对第一时间段内多个时刻的运行参数的值进行预测得到的;其中,第二数据序列包括目标对象在第三时间段内多个时刻的运行参数的采样值;或第二数据序列包括关联对象在第一时间段内多个时刻的运行参数的采样值;第三时间段位于第一时间段之前。
作为一种可能的实施方式,处理模块1002,具体用于判断第一数据序列是否缺漏数据,如果是,则确定第一数据序列存在异常;否则,确定第一数据序列不存在异常;或,用于判断第一数据序列是否缺漏数据,且判断第一数据序列是否存在错误数据,如果缺漏数据或存在错误数据,确定第一数据序列存在异常;若不缺漏数据且不存在错误数据,确定第一数据序列不存在异常。
作为一种可能的实施方式,处理模块1002,具体用于判断第一数据序列所包含的采样值的数量是否为预设数量,如果是,则确定第一数据序列不缺漏数据,否则,确定第一数据序列缺漏数据;或判断第一数据序列是否包括指定时刻的采样值,若不包括,则确定第一数据序列缺漏数据,否则,确定第一数据序列中缺漏数据;或,具体用于判断第一数据序列所包含的每个采样值的值是否超过第二预设阈值范围,如果超过,则确定采样值为错误数据;否则,确定采样值不是错误数据。
作为一种可能的实施方式,第一数据序列内的多个采样值按照时间顺序排列;参考数据序列内的多个第一预测值按照时间顺序排列,或参考数据序列内的多个关联值按照时间顺序排列;
处理模块1002,具体用于针对第一数据序列所缺漏的任一采样值,将参考数据序列中与缺漏的采样值对应位置的第一预测值添加至第一数据序列中缺漏的采样值的位置;或将参考数据序列中与缺漏的采样值对应位置的关联值添加至第一数据序列中缺漏的采样值的位置;或用于针对第一数据序列中存在的任一错误数据,将参考数据序列中与错误数据对应位置的第一预测值写入第一数据序列中错误数据的位置,或将参考数据序列中与错误采样值对应位置的关联值添加至第一数据序列中错误数据的位置;或使用错误数据在第二预设阈值范围中相邻的边界值替换第一数据序列中错误数据。
作为一种可能的实施方式,关联值为关联对象在第二时间段内不同时刻的运行参数的第二预测值,或为关联对象在第二时间段内不同时刻的运行参数的采样值。
作为一种可能的实施方式,运行参数可以为下列中的一项或多项:目标对象中运行任务的数量、目标对象中排队任务的数量、目标对象的硬件资源利用率;其中,硬件资源包括处理器资源和/或和/或存储资源和/或带宽资源等。
作为一种可能的实施方式,目标对象为计算设备、或目标对象为仅包括相同规格的虚拟机的资源池、或目标对象为包括不同规格的虚拟机的资源池。
作为一种可能的实施方式,预测模块1003,用于基于修正后的第一数据序列预测未来一段时间内不同时刻的运行参数的第三预测值;
处理模块1002,用于判断任一第三预测值是否超过第三预设阈值,若超过,则确定第三预测值对应的时刻为热点时刻,并进行热点告警。
作为一种可能的实施方式,调度模块1004用于,基于第三预测值对所述目标对象进行资源调度。
基于与方法实施例同一发明构思,本申请实施例还提供了一种数据处理装置,该数据处理装置用于执行上述图9B所示的方法实施例中执行主体执行的方法。如图11所示,数据处理装置1100包括确定模块1101、获取模块110、预测模块1103。具体地,在数据处理装置1100中,各模块之间通过通信通路建立连接。
确定模块1101,用于确定目标对象集合的多个子集,每个子集包括同一规格的多个对象;
获取模块1102,用于分别获取每个子集的第一数据序列,每个所述第一数据序列包括所述子集在所述第一时间段内的多个时刻的指定运行参数的值;
预测模块1103,用于基于每个所述第一数据序列对所述子集未来一段时间的运行参数的值进行预测。
与上述构思相同,如图12所示,本申请提供一种数据处理设备1200,该设备1200可用于执行如图5、图6、图8或图9B所示的方法中执行主体执行的步骤。
装置1200可包括处理器1201和存储器1202。进一步的,该装置还可包括通信接口1204,该通信接口可为收发器,或者该通信接口可为网卡。进一步的,该装置1200还可包括总线系统1203。
其中,处理器1201、存储器1202和通信接口1204可通过总线系统1203相连,该存储器1202可用存储指令,该处理器1201可用于执行该存储器1202存储的指令,以控制通信接口1204接收或发送信号。
其中,存储器1202可以集成在处理器1201中,也可以是与处理器1201不同的物理实体。
作为一种实现方式,通信接口1204的功能可以考虑通过收发电路或收发的专用芯片实现。处理器1201可以考虑通过专用处理芯片、处理电路、处理器或通用芯片实现。
作为另一种实现方式,可以考虑使用计算机的方式,来实现本申请图5、图6、图8或图9B所示的实施例中的执行主体的功能。即将实现处理器1201和通信接口1204功能的程序代码存储在存储器1202中,通用处理器可通过执行存储器中的代码来实现处理器1201和通信接口1204的功能。
该装置1200所涉及的与本申请提供的技术方案相关的概念、解释和详细说明以及其他步骤,可参见前述方法或其它实施例中关于这些内容的描述,此处不作赘述。
在本申请的一示例中,所述装置1200可用于执行上述图5、图6、图8或图9B所示流程中,执行主体的步骤。比如,从多个所述主队列中确定目标主队列;获取所述目标主队列对应的一个或多个从队列的长度;根据所述一个或多个从队列的长度将所述目标主队列中的任务的数据包调度至所述一个或多个从队列中的一个或多个从队列。
关于处理器1201和通信接口1204的介绍,可参见上述图5、图6、图8·或图9B所示流程的介绍,在此不再赘述。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。
Claims (22)
1.一种数据处理方法,其特征在于,包括:
获取第一数据序列,所述第一数据序列包括目标对象在第一时间段内多个时刻的指定运行参数的采样值;
判断所述第一数据序列是否存在异常,如果存在异常,则使用参考数据序列对所述第一数据序列进行修正;其中,所述参考数据序列包括所述目标对象在所述第一时间段内的多个时刻的所述运行参数的第一预测值或,所述参考数据序列包括所述目标对象的关联对象在第二时间段内不同时刻的所述运行参数的关联值;所述关联对象在第二时间段内不同时刻的所述运行参数的关联值与所述目标对象在所述第一时间段内不同时刻所述运行参数的采样值的关联度不低于第一预设阈值。
2.如权利要求1所述的方法,其特征在于,所述参考数据序列是基于第二数据序列对所述第一时间段内多个时刻的运行参数的值进行预测得到的;其中,所述第二数据序列包括所述目标对象在所述第三时间段内多个时刻的所述运行参数的采样值;或所述第二数据序列包括所述关联对象在所述第一时间段内多个时刻的所述运行参数的采样值;第三时间段位于所述第一时间段之前。
3.如权利要求1或2所述的方法,其特征在于,判断所述第一数据序列是否存在异常,包括:
判断所述第一数据序列是否缺漏数据,如果是,则确定所述第一数据序列存在异常;否则,确定所述第一数据序列不存在异常;或,
判断所述第一数据序列是否缺漏数据,且判断所述第一数据序列是否存在错误数据,如果缺漏数据或存在错误数据,确定所述第一数据序列存在异常;若不缺漏数据且不存在错误数据,确定所述第一数据序列不存在异常。
4.如权利要求3所述的方法,其特征在于,判断所述第一数据序列是否缺漏数据,包括:
判断所述第一数据序列所包含的所述采样值的数量是否为预设数量,如果是,则确定所述第一数据序列不缺漏数据,否则,确定所述第一数据序列缺漏数据;或判断所述第一数据序列是否包括指定时刻的采样值,若不包括,则确定所述第一数据序列缺漏数据,否则,确定所述第一数据序列中缺漏数据;
判断所述第一数据序列是否存在错误数据,包括:
判断所述第一数据序列所包含的每个所述采样值的值是否超过第二预设阈值范围,如果超过,则确定所述采样值为错误数据;否则,确定所述采样值不是错误数据。
5.如权利要求4所述的方法,其特征在于,所述第一数据序列内的多个所述采样值按照时间顺序排列;所述参考数据序列内的多个所述第一预测值按照时间顺序排列,或所述参考数据序列内的多个所述关联值按照时间顺序排列;
所述使用参考数据序列对所述第一数据序列进行修正,包括:
若所述第一数据序列缺漏数据;针对所述第一数据序列所缺漏的任一采样值,将所述参考数据序列中与所述缺漏的采样值对应位置的所述第一预测值添加至所述第一数据序列中所述缺漏的采样值的位置;或将所述参考数据序列中与所述缺漏的采样值对应位置的所述关联值添加至所述第一数据序列中所述缺漏的采样值的位置;
若所述第一数据序列错误数据;针对所述第一数据序列中存在的任一错误数据,将所述参考数据序列中与所述错误数据对应位置的所述第一预测值写入所述第一数据序列中所述错误数据的位置,或将所述参考数据序列中与所述错误采样值对应位置的所述关联值添加至所述第一数据序列中所述错误数据的位置;或使用所述错误数据在所述第二预设阈值范围中相邻的边界值替换所述第一数据序列中所述错误数据。
6.如权利要求1-5任一项所述的方法,其特征在于,所述关联值为所述关联对象在所述第二时间段内不同时刻的所述运行参数的第二预测值,或为所述关联对象在所述第二时间段内不同时刻的所述运行参数的采样值。
7.如权利要求1-6任一项所述的方法,其特征在于,所述运行参数可以为下列中的一项或多项:所述目标对象中运行任务的数量、所述目标对象中排队任务的数量、所述目标对象的硬件资源利用率;其中,所述硬件资源包括处理器资源和/或和/或存储资源和/或带宽资源等。
8.如权利要求1-7任一项所述的方法,其特征在于,所述目标对象为计算设备、或所述目标对象为仅包括相同规格的虚拟机的资源池、或所述目标对象为包括不同规格的虚拟机的资源池。
9.如权利要求1-8任一项所述的方法,其特征在于,所述使用参考数据序列对所述第一数据序列进行修正之后,还包括:
基于修正后的第一数据序列预测未来一段时间内不同时刻的所述运行参数的第三预测值;
判断任一所述第三预测值是否超过第三预设阈值,若超过,则确定所述第三预测值对应的时刻为热点时刻,并进行热点告警。
10.一种数据处理方法,其特征在于,包括:
确定目标对象集合的多个子集,每个子集包括同一规格的多个对象;
分别获取每个子集的第一数据序列,每个所述第一数据序列包括所述子集在所述第一时间段内的多个时刻的指定运行参数的值;
基于每个所述第一数据序列对所述子集未来一段时间的运行参数的值进行预测。
11.一种缓存管理装置,其特征在于,所述装置包括:
获取模块,用于获取第一数据序列,所述第一数据序列包括目标对象在第一时间段内多个时刻的指定运行参数的采样值;
处理模块,用于判断所述第一数据序列是否存在异常,如果存在异常,则使用参考数据序列对所述第一数据序列进行修正;其中,所述参考数据序列包括所述目标对象在所述第一时间段内的多个时刻的所述运行参数的第一预测值或,所述参考数据序列包括所述目标对象的关联对象在第二时间段内不同时刻的所述运行参数的关联值;所述关联对象在第二时间段内不同时刻的所述运行参数的关联值与所述目标对象在所述第一时间段内不同时刻所述运行参数的采样值的关联度不低于第一预设阈值。
12.如权利要求11所述的装置,其特征在于,所述参考数据序列是基于第二数据序列对所述第一时间段内多个时刻的运行参数的值进行预测得到的;其中,所述第二数据序列包括所述目标对象在所述第三时间段内多个时刻的所述运行参数的采样值;或所述第二数据序列包括所述关联对象在所述第一时间段内多个时刻的所述运行参数的采样值;第三时间段位于所述第一时间段之前。
13.如权利要求11或12所述的装置,其特征在于,所述处理模块,具体用于判断所述第一数据序列是否缺漏数据,如果是,则确定所述第一数据序列存在异常;否则,确定所述第一数据序列不存在异常;或,
用于判断所述第一数据序列是否缺漏数据,且判断所述第一数据序列是否存在错误数据,如果缺漏数据或存在错误数据,确定所述第一数据序列存在异常;若不缺漏数据且不存在错误数据,确定所述第一数据序列不存在异常。
14.如权利要求13所述的装置,其特征在于,所述处理模块,具体用于判断所述第一数据序列所包含的所述采样值的数量是否为预设数量,如果是,则确定所述第一数据序列不缺漏数据,否则,确定所述第一数据序列缺漏数据;或判断所述第一数据序列是否包括指定时刻的采样值,若不包括,则确定所述第一数据序列缺漏数据,否则,确定所述第一数据序列中缺漏数据;
所述处理模块,具体用于判断所述第一数据序列所包含的每个所述采样值的值是否超过第二预设阈值范围,如果超过,则确定所述采样值为错误数据;否则,确定所述采样值不是错误数据。
15.如权利要求14所述的装置,其特征在于,所述第一数据序列内的多个所述采样值按照时间顺序排列;所述参考数据序列内的多个所述第一预测值按照时间顺序排列,或所述参考数据序列内的多个所述关联值按照时间顺序排列;
所述处理模块,具体用于针对所述第一数据序列所缺漏的任一采样值,将所述参考数据序列中与所述缺漏的采样值对应位置的所述第一预测值添加至所述第一数据序列中所述缺漏的采样值的位置;或将所述参考数据序列中与所述缺漏的采样值对应位置的所述关联值添加至所述第一数据序列中所述缺漏的采样值的位置;或
所述处理模块,具体用于针对所述第一数据序列中存在的任一错误数据,将所述参考数据序列中与所述错误数据对应位置的所述第一预测值写入所述第一数据序列中所述错误数据的位置,或将所述参考数据序列中与所述错误采样值对应位置的所述关联值添加至所述第一数据序列中所述错误数据的位置;或使用所述错误数据在所述第二预设阈值范围中相邻的边界值替换所述第一数据序列中所述错误数据。
16.如权利要求11-15任一项所述的装置,其特征在于,所述关联值为所述关联对象在所述第二时间段内不同时刻的所述运行参数的第二预测值,或为所述关联对象在所述第二时间段内不同时刻的所述运行参数的采样值。
17.如权利要求11-16任一项所述的装置,其特征在于,所述运行参数可以为下列中的一项或多项:所述目标对象中运行任务的数量、所述目标对象中排队任务的数量、所述目标对象的硬件资源利用率;其中,所述硬件资源包括处理器资源和/或和/或存储资源和/或带宽资源等。
18.如权利要求11-17任一项所述的装置,其特征在于,所述目标对象为计算设备、或所述目标对象为仅包括相同规格的虚拟机的资源池、或所述目标对象为包括不同规格的虚拟机的资源池。
19.如权利要求11-18任一项所述的装置,其特征在于,所述装置还包括预测模块;
所述预测模块,用于基于修正后的第一数据序列预测未来一段时间内不同时刻的所述运行参数的第三预测值;
所述处理模块,用于判断任一所述第三预测值是否超过第三预设阈值,若超过,则确定所述第三预测值对应的时刻为热点时刻,并进行热点告警。
20.一种缓存管理装置,其特征在于,所述装置包括:
确定模块,用于确定目标对象集合的多个子集,每个子集包括同一规格的多个对象;
获取模块,分别获取每个子集的第一数据序列,每个所述第一数据序列包括所述子集在所述第一时间段内的多个时刻的指定运行参数的值;
预测模块,用于基于每个所述第一数据序列对所述子集未来一段时间的运行参数的值进行预测。
21.一种数据处理设备,其特征在于,所述计算设备包括处理器和存储器;
所述存储器,用于存储计算机程序指令;
所述处理器执行调用所述存储器中的计算机程序指令执行如权利要求1至9中任一项所述的方法,或执行如权利要求10所述的方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质被计算设备执行时,所述计算设备执行上述权利要求1至9中任一项所述的方法,或执行上述权利要求10所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110483138.1A CN115269108A (zh) | 2021-04-30 | 2021-04-30 | 一种数据处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110483138.1A CN115269108A (zh) | 2021-04-30 | 2021-04-30 | 一种数据处理方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115269108A true CN115269108A (zh) | 2022-11-01 |
Family
ID=83744665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110483138.1A Pending CN115269108A (zh) | 2021-04-30 | 2021-04-30 | 一种数据处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115269108A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115933787A (zh) * | 2023-03-14 | 2023-04-07 | 西安英图克环境科技有限公司 | 基于室内环境监测的室内多末端智能控制系统 |
CN116661988A (zh) * | 2022-12-29 | 2023-08-29 | 荣耀终端有限公司 | 内存的规整方法、电子设备及可读存储介质 |
CN116777305A (zh) * | 2023-08-18 | 2023-09-19 | 河北思极科技有限公司 | 电力数据质量提升方法、装置、电子设备及存储介质 |
CN117391125A (zh) * | 2023-12-08 | 2024-01-12 | 成都星幔长庚科技有限公司 | 一种基于神经网络的数据处理方法及系统 |
-
2021
- 2021-04-30 CN CN202110483138.1A patent/CN115269108A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116661988A (zh) * | 2022-12-29 | 2023-08-29 | 荣耀终端有限公司 | 内存的规整方法、电子设备及可读存储介质 |
CN115933787A (zh) * | 2023-03-14 | 2023-04-07 | 西安英图克环境科技有限公司 | 基于室内环境监测的室内多末端智能控制系统 |
CN116777305A (zh) * | 2023-08-18 | 2023-09-19 | 河北思极科技有限公司 | 电力数据质量提升方法、装置、电子设备及存储介质 |
CN116777305B (zh) * | 2023-08-18 | 2023-11-10 | 河北思极科技有限公司 | 电力数据质量提升方法、装置、电子设备及存储介质 |
CN117391125A (zh) * | 2023-12-08 | 2024-01-12 | 成都星幔长庚科技有限公司 | 一种基于神经网络的数据处理方法及系统 |
CN117391125B (zh) * | 2023-12-08 | 2024-03-01 | 成都星幔长庚科技有限公司 | 一种基于神经网络的数据处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109803004B (zh) | 区块链智能合约管理方法与装置、电子设备、存储介质 | |
CN115269108A (zh) | 一种数据处理方法、装置及设备 | |
US9430288B2 (en) | Job scheduling based on historical job data | |
US9875135B2 (en) | Utility-optimized scheduling of time-sensitive tasks in a resource-constrained environment | |
US9767006B2 (en) | Deploying trace objectives using cost analyses | |
CN110806954B (zh) | 评估云主机资源的方法、装置、设备及存储介质 | |
EP2956858B1 (en) | Periodicity optimization in an automated tracing system | |
US9632836B2 (en) | Scheduling applications in a clustered computer system | |
CN102541460B (zh) | 一种多磁盘场景下的磁盘管理方法和设备 | |
US10255114B2 (en) | Abnormality detection apparatus, control method, and program | |
JP2015537309A (ja) | 分散コンピューティングシステムのための電力の最適化 | |
US11972301B2 (en) | Allocating computing resources for deferrable virtual machines | |
US20110246596A1 (en) | Load-aware method of optimizing command execution in a cloud environment | |
US8832839B2 (en) | Assessing system performance impact of security attacks | |
WO2020172852A1 (en) | Computing resource scheduling method, scheduler, internet of things system, and computer readable medium | |
CN115543577B (zh) | 基于协变量的Kubernetes资源调度优化方法、存储介质及设备 | |
CN111897706A (zh) | 服务器性能预测方法、装置、计算机系统和介质 | |
CN109992408B (zh) | 一种资源分配方法、装置、电子设备和存储介质 | |
US20110191094A1 (en) | System and method to evaluate and size relative system performance | |
CN116089477B (zh) | 分布式训练方法及系统 | |
CN116701191A (zh) | 量化回测的优化方法、装置、设备、存储介质及程序产品 | |
CN115168042A (zh) | 监控集群的管理方法及装置、计算机存储介质、电子设备 | |
CN111506422B (zh) | 事件分析方法及系统 | |
CN113850428A (zh) | 作业调度的预测处理方法、装置和电子设备 | |
Kannan | Enabling fairness in cloud computing infrastructures |
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 |