一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种资源调度方法和装置与流程

2022-08-11 07:56:53 来源:中国专利 TAG:


1.本技术涉及计算机领域,特别是涉及一种资源调度方法和装置。


背景技术:

2.根据我国监管部门对金融业的监管要求,银行各系统需要向各类监管机构主动报送业务数据,其中将业务数据按照要求报送给监管机构所搭建的系统称为监管报送系统。
3.由于统计报表种类繁多、统计规则变化频发、监管机构对报送数据质量要求不断提升等问题,金融机构通常会通过搭建统一的平台实现数据统筹、报表处理、数据报送等功能。其中,监管报送业务与常见的web业务不同,不是7
×
24小时服务,而往往是将数据处理加工之后,根据监管机构下达的时间窗口,周期性进行监管数据的报送,例如,报送频率包括日报、周报、月报、季度报、年报等。
4.目前,在平台不进行数据报送时,监管报送业务所在的服务器集群会处于待机状态,超长的待机时间,使得资源消耗巨大。


技术实现要素:

5.有鉴于此,本技术提供了一种资源调度方法和装置,用于缩短监管报送业务所需服务器集群的待机时间,减少资源消耗,其技术方案如下:
6.一种资源调度方法,包括:
7.若监管报送业务不为新建业务,则获取第一服务器集群在针对监管报送业务上报数据时的历史运维数据;
8.根据历史运维数据对监管报送业务未来需要的cpu资源和内存资源进行预测,得到监管报送业务对应的cpu资源预测值和内存资源预测值;
9.基于监管报送业务的重要程度为监管报送业务分配数据库资源,并基于监管报送业务对应的cpu资源预测值和内存资源预测值以及第一服务器集群中每个服务器的cpu总资源、cpu已消耗资源、内存总资源和内存已消耗资源,为监管报送业务分配cpu资源和内存资源,得到资源分配结果;
10.根据资源分配结果,确定第一服务器集群的启停时间。
11.可选的,还包括:
12.若监管报送业务为新建业务,则获取监管报送业务所需的服务器个数和报送窗口时长;
13.根据服务器个数,确定监管报送业务对应的第二服务器集群;
14.根据报送窗口时长,确定第二服务器集群的启停时间。
15.可选的,根据历史运维数据对监管报送业务未来需要的cpu资源和内存资源进行预测,包括:
16.确定历史运维数据的数据量;
17.若历史运维数据的数据量小于预设阈值,则基于支持向量回归算法和历史运维数
据,对监管报送业务未来需要的cpu资源和内存资源进行预测;
18.若历史运维数据的数据量大于或等于预设阈值,则基于rnn循环神经网络和历史运维数据,对监管报送业务未来需要的cpu资源和内存资源进行预测。
19.可选的,基于监管报送业务对应的cpu资源预测值和内存资源预测值以及第一服务器集群中每个服务器的cpu总资源、cpu已消耗资源、内存总资源和内存已消耗资源,为监管报送业务分配cpu资源和内存资源,包括:
20.根据第一服务器集群中每个服务器的cpu总资源和cpu已消耗资源,确定第一服务器集群中每个服务器的cpu剩余资源,并根据第一服务器集群中每个服务器的内存总资源和内存已消耗资源,确定第一服务器集群中每个服务器的内存剩余资源;
21.根据第一服务器集群中每个服务器的cpu剩余资源和监管报送业务包含的每个报送业务对应的cpu资源预测值,从第一服务器集群中确定监管报送业务包含的每个报送业务对应的服务器,作为目标服务器;
22.对于每个目标服务器,若该目标服务器的内存剩余资源大于或等于该服务器对应的所有报送业务所对应的内存资源预测值之和,则将该目标服务器分配给对应的报送业务。
23.可选的,根据第一服务器集群中每个服务器的cpu剩余资源和监管报送业务包含的每个报送业务对应的cpu资源预测值,从第一服务器集群中确定监管报送业务包含的每个报送业务对应的服务器,包括:
24.从监管报送业务包含的报送业务中确定第一目标报送业务,第一目标报送业务为未确定对应服务器的报送业务中对应的cpu资源预测值最小的报送业务;
25.从第一服务器集群中,cpu剩余资源满足第一目标报送业务对应的cpu资源预测值的服务器中,确定第一目标报送业务对应的服务器;
26.根据第一目标报送业务对应的cpu资源预测值更新,对应第一目标报送业务对应的服务器的cpu剩余资源;
27.判断监管报送业务中是否还有未确定对应服务器的报送业务,若是,则返回执行从监管报送业务包含的报送业务中确定第一目标报送业务,直至监管报送业务包含的报送业务均已确定对应服务器。
28.可选的,从第一服务器集群中,cpu剩余资源满足第一目标报送业务对应的cpu资源预测值的服务器中,确定第一目标报送业务对应的服务器,包括:
29.将第一服务器集群按照cpu剩余资源的升序顺序进行排序,得到第一排序后的第一服务器集群;
30.将第一排序后的第一服务器集群中,首个cpu剩余资源满足第一目标报送业务对应的cpu资源预测值的服务器,作为第一目标报送业务对应的服务器。
31.可选的,还包括:
32.对于每个目标服务器,若该目标服务器的内存剩余资源小于该目标服务器对应的所有报送业务所对应的内存资源预测值之和,则从该目标服务器对应的所有报送业务中逐个取出报送业务,直至该服务器的内存剩余资源大于或等于该服务器对应的所有报送业务所对应的内存资源预测值之和,以得到由从各目标服务器中取出的报送业务组成的报送业务集;
33.根据报送业务集中报送业务对应的cpu资源预测值和内存资源预测值,更新第一服务器集群中每个服务器的cpu剩余资源和内存剩余资源;
34.在更新后,根据第一服务器集群中每个服务器的cpu剩余资源和内存剩余资源,以及报送业务集中报送业务对应的cpu资源预测值和内存资源预测值,为报送业务集中的报送业务分配服务器。
35.可选的,根据第一服务器集群中每个服务器的cpu剩余资源和内存剩余资源,以及报送业务集中报送业务对应的cpu资源预测值和内存资源预测值,为报送业务集中的报送业务分配服务器,包括:
36.从报送业务集中确定第二目标报送业务,第二目标报送业务为报送业务集中未分配服务器的报送业务中对应的内存资源预测值最小的报送业务;
37.从第一服务器集群中,内存剩余资源满足第二目标报送业务对应的内存资源预测值,且,cpu剩余资源满足第二目标报送业务对应的cpu资源预测值的服务器中,为第二目标报送业务分配服务器;
38.根据第二目标报送业务对应的内存资源预测值,对为第二目标报送业务分配的服务器的内存剩余资源进行更新;
39.判断报送业务集中是否还有未分配服务器的报送业务,若是,则返回执行从报送业务集中确定第二目标报送业务,直至报送业务集包含的报送业务均已分配服务器。
40.可选的,从第一服务器集群中,内存剩余资源满足第二目标报送业务对应的内存资源预测值,且,cpu剩余资源满足第二目标报送业务对应的cpu资源预测值的服务器中,为第二目标报送业务分配服务器,包括:
41.将第一服务器集群按照内存剩余资源的升序顺序进行排序,得到第二排序后的第一服务器集群;
42.将第二排序后的第一服务器集群中,首个cpu剩余资源满足第二目标报送业务对应的cpu资源预测值,且,内存剩余资源满足第二目标报送业务对应的内存资源预测值的服务器,作为为第二目标报送业务分配的服务器。
43.一种资源调度装置,包括:数据收集模块、数据预测模块、资源分配模块和启停时间确定模块;
44.数据收集模块,用于若监管报送业务不为新建业务,则获取第一服务器集群在针对监管报送业务上报数据时的历史运维数据;
45.数据预测模块,用于根据历史运维数据对监管报送业务未来需要的cpu资源和内存资源进行预测,得到监管报送业务对应的cpu资源预测值和内存资源预测值;
46.资源分配模块,用于基于监管报送业务的重要程度为监管报送业务分配数据库资源,并基于监管报送业务对应的cpu资源预测值和内存资源预测值以及第一服务器集群中每个服务器的cpu总资源、cpu已消耗资源、内存总资源和内存已消耗资源,为监管报送业务分配cpu资源和内存资源,得到资源分配结果;
47.启停时间确定模块,用于根据资源分配结果,确定第一服务器集群的启停时间。
48.经由上述的技术方案可知,本技术提供的资源调度方法,若监管报送业务为新建业务,则获取第一服务器集群在针对监管报送业务上报数据时的历史运维数据,然后根据历史运维数据对监管报送业务未来需要的cpu资源和内存资源进行预测,得到监管报送业
务对应的cpu资源预测值和内存资源预测值,接着基于监管报送业务的重要程度为监管报送业务分配数据库资源,并基于监管报送业务对应的cpu资源预测值和内存资源预测值以及第一服务器集群中每个服务器的cpu总资源、cpu已消耗资源、内存总资源和内存已消耗资源,为监管报送业务分配cpu资源和内存资源,得到资源分配结果,最后根据资源分配结果,确定第一服务器集群的启停时间。由此可见,本技术能够确定出第一服务器集群的启停时间,使得第一服务器集群不会长期处于待机状态,缩短了第一服务器集群的待机时间,减少了资源消耗。
附图说明
49.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
50.图1为本技术实施例提供的一种资源调度方法的流程示意图;
51.图2为本技术实施例提供的一种资源调度装置的结构示意图;
52.图3为本技术实施例提供的一种资源调度设备的硬件结构框图。
具体实施方式
53.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
54.本技术提供了一种资源调度方法,接下来通过下述实施例对本技术提供的资源调度方法进行详细介绍。
55.请参阅图1,示出了本技术实施例提供的资源调度方法的流程示意图,该资源调度方法可以包括:
56.步骤s101、若监管报送业务不为新建业务,则获取第一服务器集群在针对监管报送业务上报数据时的历史运维数据。
57.可以理解的是,对于目前已经存在的监管报送业务,已经可以通过第一服务器集群运行报送业务,并将运行时产生的业务数据上报给监管机构,基于此,本步骤可以获取到第一服务器集群在针对监管报送业务上报数据时的历史运维数据。这里,第一服务器集群是指非新建的监管报送业务所需的服务器组成的服务器集群。
58.例如,为了保证监管报送业务的服务质量(quality of service,qos),可以人工试运行报送业务一段时间,以获取人工试运行期间的历史运维数据。
59.可选的,在本步骤中,历史运维数据可以包括第一服务器集群的种类、个数、报送业务量和资源使用量。当然,历史运维数据也可以为其他,本技术对此不进行限定。
60.可选的,在保证服务可靠性、安全性以及业务的可持续性的基础上,本步骤可以在第一服务器集群中的每个服务器上部署运维监控工具,以通过运维监控工具对服务器进行监控,以将按照秒级或分钟级监控到的历史运维数据记录下来;可选的,还可以对运维监控
工具记录的历史运维数据进行预处理,以得到本步骤中的历史运维数据。
61.步骤s102、根据历史运维数据对监管报送业务未来需要的cpu资源和内存资源进行预测,得到监管报送业务对应的cpu资源预测值和内存资源预测值。
62.考虑到在实际的资源使用情况中,cpu资源需求量和内存资源需求量往往为非线性的时间序列数据,可以使用现代的时间序列预测算法,基于历史运维数据对监管报送业务未来需要的cpu资源和内存资源进行预测。
63.这里,现代的时间序列预测算法涉及到机器学习、深度学习等算法,例如,该现代的时间序列预测算法可以基于循环神经网络rnn和长短期记忆ltsm神经网络进行预测,该种预测方式可以以较高算法复杂度换取预测的精度;该现代的时间序列预测算法还可以基于支持向量回归通过核函数将非线性数据映射到多维空间,以此进行预测;此外,该现代的时间序列预测算法还可以基于极端梯度提升树和随机森林等增强学习算法结合其他的机器学习算法进行预测,等等。
64.对于不同的场景中,训练集的量级、资源的大小,模型建立的时间要求等方面的不同,基于此,可选的,本步骤可以采用双模式预测方案对cpu资源和内存资源进行预测,其中,模式一通过支持向量回归算法(svr)进行资源需求量预测,具备低复杂度和良好的非线性时间序列数据预测精度,模式二通过rnn循环神经网络进行资源需求量预测,具备高复杂度和较好的非线性时间序列数据预测精度。
65.例如,可选的,对于平稳运行的旧系统,可收集的数据集大,监管报送业务需求稳定,此时可以采用模式二进行预测,获得高精度的预测模型;而对于新建的监管报送业务系统,监管报送业务的需求不稳定,存在需求的增删,可收集处理的数据集小,此时可以选择模式一进行预测,也即,本步骤可以首先确定历史运维数据的数据量,若历史运维数据的数据量小于预设阈值,则基于支持向量回归算法和历史运维数据,对监管报送业务未来需要的cpu资源和内存资源进行预测,若历史运维数据的数据量大于或等于预设阈值,则基于rnn循环神经网络和历史运维数据,对监管报送业务未来需要的cpu资源和内存资源进行预测。
66.需要说明的是,监管报送业务包括至少一个报送数据,本步骤得到的监管报送业务对应的cpu资源预测值和内存资源预测值是指,监管报送业务包含的每个报送业务对应的cpu资源预测值和内存资源预测值。
67.另外,可选的,本步骤还可以根据历史运维数据对监管报送业务未来的报送业务量进行预测。
68.步骤s103、基于监管报送业务的重要程度为监管报送业务分配数据库资源,并基于监管报送业务对应的cpu资源预测值和内存资源预测值以及第一服务器集群中每个服务器的cpu总资源、cpu已消耗资源、内存总资源和内存已消耗资源,为监管报送业务分配cpu资源和内存资源,得到资源分配结果。
69.本步骤可以为监管报送业务分配资源。可选的,监管报送业务涉及到数据处理和数据报送,基于此,本步骤为监管报送业务分配的资源可以包括数据库资源、cpu资源和内存资源。这里,考虑到监管报送业务和服务器映射关系的切换,可以以天为频率,进行数据库资源、cpu资源和内存资源的分配。
70.其中,数据库资源的分配方法为:根据监管报送业务的重要程度为监管报送业务
分配数据库资源。这里,监管报送业务的重要程度为人为设置的值,可以以此作为权重,根据权重大小依次分配数据库资源。
71.cpu资源和内存资源的分配方法为:基于监管报送业务对应的cpu资源预测值和内存资源预测值以及第一服务器集群中每个服务器的cpu总资源、cpu已消耗资源、内存总资源和内存已消耗资源,为监管报送业务分配cpu资源和内存资源。
72.上述数据库资源、cpu资源和内存资源均可以定义为平台共享资源,即监管报送业务包含的各报送业务共享数据库资源、cpu资源和内存资源。
73.可选的,本步骤还可以为监管报送业务分配网络资源,考虑到监管的业务数据的安全性,在上报时可以采用vpn、专线、金融专网来实现,那么,本技术可以在系统上线之前,和监管机构协商完成网络资源的分配,为固定分配资源,因此为独占资源。
74.步骤s104、根据资源分配结果,确定第一服务器集群的启停时间。
75.本步骤中的资源分配结果是指数据库资源、cpu资源和内存资源的分配结果,根据该分配结果,即可以确定出第一服务器集群的启停时间(即开启和关闭时间),从而可以根据确定的启停时间,在需要对业务数据进行处理和报送时,开启第一服务器集群中的相应服务器,在不需要对业务数据进行处理和报送时,关闭第一服务器集群中的相应服务器。
76.本技术提供的资源调度方法,若监管报送业务为新建业务,则获取第一服务器集群在针对监管报送业务上报数据时的历史运维数据,然后根据历史运维数据对监管报送业务未来需要的cpu资源和内存资源进行预测,得到监管报送业务对应的cpu资源预测值和内存资源预测值,接着基于监管报送业务的重要程度为监管报送业务分配数据库资源,并基于监管报送业务对应的cpu资源预测值和内存资源预测值以及第一服务器集群中每个服务器的cpu总资源、cpu已消耗资源、内存总资源和内存已消耗资源,为监管报送业务分配cpu资源和内存资源,得到资源分配结果,最后根据资源分配结果,确定第一服务器集群的启停时间。由此可见,本技术能够确定出第一服务器集群的启停时间,使得第一服务器集群不会长期处于待机状态,缩短了第一服务器集群的待机时间,减少了资源消耗。
77.同时,在不对业务数据进行处理和报送时,第一服务器集群的相应服务器可以处于关机状态,节省了运维成本;并且,本技术会对监管报送业务进行资源分配,提高了资源利用率,相比于现有技术,本技术提供资源分配方案使得,对于相同数量的监管报送数据,本技术所需的服务器个数可能小于现有技术所需的服务器个数,进一步节省了运维成本;此外,本技术可以根据历史运维数据,对未来的cpu资源和内存资源需求量进行预测,从而可以提前获知异常的资源需求,做到提前发现,提前预防。
78.前述实施例是针对监管报送业务不为新建业务的场景下,如何确定监管报送业务所需的第一服务器集群的启停时间的方案,可以理解的是,可能存在一些新建的监管报送业务,由于无法获取新建的监管报送业务对应的历史运维数据,从而无法进行资源预测,因此无法采用前述实施例确定服务器启停时间。
79.为此,提出了本实施例,以通过本实施例确定新建的监管报送业务所需服务器集群的启停时间。为了与上述第一服务器集群进行区分,本实施例将新建的业务数据所需的服务器集群称为第二服务器集群,也即,第二服务器集群是指新建的监管报送业务所需的服务器组成的服务器集群。
80.本实施例确定第二服务器集群的启停时间的过程可以包括:若监管报送业务为新
建业务,则获取监管报送业务所需的服务器个数和报送窗口时长,根据服务器个数,确定监管报送业务对应的第二服务器集群,并根据报送窗口时长,确定第二服务器集群的启停时间。
81.具体来说,对于新建的监管报送业务,可以由人工根据经验值确定监管报送业务所需的服务器个数和报送窗口时长,从而本实施例可以提供人工补录的接口,以通过该接口获取人工补录的服务器个数和报送窗口时长,根据该服务器个数,就可以确定出监管报送业务对应的第二服务器集群,值得注意的是,对于新建业务,由于采用了人工补录服务器个数和报送窗口的方式,为了与非新建的监管报送业务区分,可以采用独占服务器的方式进行资源分配,也即,为新建业务单独分配第二服务器集群(该第二服务器集群和第一服务器集群为不同的服务器集群,两者之间没有交集)。
82.当确定出第二服务器集群后,即可以根据报送窗口时长,确定出第二服务器集群的启停时间(即开启和关闭时间)。
83.在一可选实施例中,在本实施例的基础上,考虑到监管报送业务不为新建业务时,若监管报送业务为小样本量的报送业务,则上述步骤s101获取的历史运维数据的数据量可能很小,此时即使采用支持向量回归算法进行cpu资源和内存资源预测,可能预测值也会不准确,基于此,对于小样本量的报送业务,也可以采用本实施例提供的方法确定服务器启停时间。
84.综上,对于新建业务和/或小样本量的报送业务,可以采用本实施例提供的方法确定服务器启停时间。将本实施例作为前述实施例的补充,使得本技术可以覆盖任何报送业务,实用性更好。
85.本技术的一个实施例,对步骤s103中的“基于监管报送业务对应的cpu资源预测值和内存资源预测值以及第一服务器集群中每个服务器的cpu总资源、cpu已消耗资源、内存总资源和内存已消耗资源,为监管报送业务分配cpu资源和内存资源”的过程进行详细介绍。
86.对于cpu和内存资源的分配,可以理解为二维装箱问题、np-hard问题,本实施例设计两阶段最佳适应递减算法,进行cpu和内存资源的分配。
87.其中,第一阶段为根据第一服务器集群中每个服务器的cpu使用情况使用最佳适应递减算法,初步确定监管报送业务包含的每个报送业务和第一服务器集群的对应关系;在本实施例中,第一个阶段分配结束时,第一服务器集群中每个服务器可能对应一个或多个报送业务。
88.由于第一阶段是基于服务器的cpu资源进行分配,未考虑服务器的内存资源,那么就可能出现服务器的cpu资源满足对应报送业务的需求,而内存资源不满足对应报送业务的需求的情况,此时可以通过第二阶段对内存资源不满足的部分报送业务进行补偿分配,以使得服务器的cpu资源和内存资源同时满足对应报送业务的需求;当然,如果第一阶段分配结束时,服务器的内存资源满足对应报送业务的需求,则无需再进行第二阶段。
89.具体来说,“基于监管报送业务对应的cpu资源预测值和内存资源预测值以及第一服务器集群中每个服务器的cpu总资源、cpu已消耗资源、内存总资源和内存已消耗资源,为监管报送业务分配cpu资源和内存资源”的过程至少可以包括以下步骤s1~s3:
90.步骤s1、根据第一服务器集群中每个服务器的cpu总资源和cpu已消耗资源,确定
第一服务器集群中每个服务器的cpu剩余资源,并根据第一服务器集群中每个服务器的内存总资源和内存已消耗资源,确定第一服务器集群中每个服务器的内存剩余资源。
91.可选的,对于第一服务器集群中的每个服务器,可以计算该服务器的cpu总资源的80%与cpu已消耗资源的差值,将计算出的差值作为该服务器的cpu剩余资源;同理,可以计算该服务器的内存总资源的80%与内存已消耗资源的差值,将计算出的差值作为该服务器的内存剩余资源。
92.需要说明的是,对于cpu资源和内存资源来说,上述“80%”均为示例,除此之外,还可以为其他数据,具体可以根据实际情况确定,本技术对此不进行限定。
93.步骤s2、根据第一服务器集群中每个服务器的cpu剩余资源和监管报送业务包含的每个报送业务对应的cpu资源预测值,从第一服务器集群中确定监管报送业务包含的每个报送业务对应的服务器,作为目标服务器。
94.例如,假设监管报送业务包括报送业务1~10,若经由本步骤的确定过程使得,报送业务1~4对应服务器1,报送业务5~7对应服务器2,报送业务8对应服务器3,报送业务9和10对应服务器4,则服务器1~4均为目标服务器。
95.在一可选实施例中,该过程可以包括以下步骤s21~s24:
96.步骤s21、从监管报送业务包含的报送业务中确定第一目标报送业务,第一目标报送业务为未确定对应服务器的报送业务中对应的cpu资源预测值最小的报送业务。
97.步骤s21~s24用于为监管报送业务包含的每个报送业务确定对应的服务器,由于步骤s21~s24无法执行一次便为监管报送业务包含的所有报送业务均确定对应的服务器,那么需要多次执行步骤s21~s24。对于每次执行步骤s21时,均需要从监管报送业务包含的未确定对应服务器的报送业务中,选择cpu资源预测值最小(记为y
min,c
)的报送业务,作为第一目标报送业务。
98.步骤s22、从第一服务器集群中,cpu剩余资源满足第一目标报送业务对应的cpu资源预测值的服务器中,确定第一目标报送业务对应的服务器。
99.应当理解,一服务器的cpu剩余资源满足第一目标报送业务对应的cpu资源预测值,即一服务器的cpu剩余资源大于或等于第一目标报送业务对应的cpu资源预测值,才可能会将第一目标报送业务分配给该服务器。基于此,在一可选实施例中,本步骤的过程可以包括:从第一服务器集群中,确定cpu剩余资源满足第一目标报送业务对应的cpu资源预测值的服务器,从确定出的服务器中选择一个服务器作为第一目标报送业务对应的服务器。例如,本步骤可以从确定出的服务器中选择cpu剩余资源最小的服务器,作为第一目标报送业务对应的服务器。
100.在另一可选实施例中,本步骤的过程还可以包括:将第一服务器集群按照cpu剩余资源的升序顺序进行排序,得到第一排序后的第一服务器集群;将第一排序后的第一服务器集群中,首个cpu剩余资源满足第一目标报送业务对应的cpu资源预测值y
min,c
的服务器,作为第一目标报送业务对应的服务器。
101.步骤s23、根据第一目标报送业务对应的cpu资源预测值,更新第一目标报送业务对应的服务器的cpu剩余资源。
102.具体来说,本步骤可以将更新前第一目标报送业务对应的服务器的cpu剩余资源与第一目标报送业务对应的cpu资源预测值的差值,作为更新后第一目标报送业务对应的
服务器的cpu剩余资源。
103.步骤s24、判断监管报送业务中是否还有未确定对应服务器的报送业务,若是,则返回执行从监管报送业务包含的报送业务中确定第一目标报送业务,直至监管报送业务包含的报送业务均已确定对应服务器。
104.步骤s3、对于每个目标服务器,若该目标服务器的内存剩余资源大于或等于该服务器对应的所有报送业务所对应的内存资源预测值之和,则将该目标服务器分配给对应的报送业务。
105.经由上述步骤s21~s24的确定过程,每个目标服务器对应一个或多个报送业务,例如,目标服务器1对应报送业务1~4,目标服务器2对应报送业务5~7,目标服务器3对应报送业务8,目标服务器4对应报送业务9和10。
106.那么,对于每个目标服务器,需要判断该目标服务器的内存剩余资源是否满足该目标服务器对应的报送业务所对应的内存资源预测值,即需要判断该目标服务器的内存剩余资源是否大于或等于该服务器对应的所有报送业务所对应的内存资源预测值之和,若是,说明该目标服务器的cpu资源和内存资源均满足对应报送业务的需求,此时可以将目标服务器分配给对应的报送业务。
107.例如,对于上述目标服务器1,若目标服务器1的内存剩余资源大于或等于报送业务1~4对应的内存资源预测值之和,则可以将目标服务器1分配给报送业务1~4。
108.在一可选实施例中,在步骤s2之后,还可能包括以下步骤s4~s6:
109.步骤s4、对于每个目标服务器,若该目标服务器的内存剩余资源小于该目标服务器对应的所有报送业务所对应的内存资源预测值之和,则从该目标服务器对应的所有报送业务中逐个取出报送业务,直至该服务器的内存剩余资源大于或等于该服务器对应的所有报送业务所对应的内存资源预测值之和,以得到由从各目标服务器中取出的报送业务组成的报送业务集。
110.举例说明本步骤:假设目标服务器1对应报送业务1~4,若目标服务器1的内存剩余资源小于报送业务1~4对应的内存资源预测值之和,则取出一个报送业务,例如取出报送业务1,然后再判断目标服务器1的内存剩余资源是否大于或等于报送业务2~4对应的内存资源预测值之和,若是,则对下一个目标服务器执行该过程;若否,则再取出一个报送业务,例如取出报送业务2,然后再判断目标服务器1的内存剩余资源是否大于或等于报送业务3~4对应的内存资源预测值之和,若是,则对下一个目标服务器执行该过程;若否,则再取出一个报送业务,以此类推,直至目标服务器1的内存剩余资源大于或等于目标服务器1对应的所有报送业务所对应的内存资源预测值之和。
111.经由本步骤的操作,可以从各目标服务器中取出报送业务,并由从各目标服务器中取出的报送业务组成报送业务集。
112.可选的,本步骤在每次取出报送业务时,可以随机取出报送业务,也可以将目标服务器对应的报送业务中,cpu资源预测值最小的报送业务取出。
113.步骤s5、根据报送业务集中报送业务对应的cpu资源预测值和内存资源预测值,更新第一服务器集群中每个服务器的cpu剩余资源和内存剩余资源。
114.具体来说,本步骤是根据报送业务集中报送业务对应的cpu资源预测值和内存资源预测值,更新各目标服务器的cpu剩余资源和内存剩余资源。
115.步骤s6、在更新后,根据第一服务器集群中每个服务器的cpu剩余资源和内存剩余资源,以及报送业务集中报送业务对应的cpu资源预测值和内存资源预测值,为报送业务集中的报送业务分配服务器。
116.可选的,本步骤可以采用改进最佳适应递减算法进行cpu资源和内存资源的分配。具体来说,本步骤可以包括以下步骤s61~s64:
117.步骤s61、从报送业务集中确定第二目标报送业务,第二目标报送业务为报送业务集中未分配服务器的报送业务中对应的内存资源预测值最小的报送业务。
118.步骤s61~s64用于为报送业务集包含的每个报送业务分配服务器,由于步骤s61~s64无法执行一次便为报送业务集包含的所有报送业务均分配服务器,那么需要多次执行步骤s61~s64。对于每次执行步骤s61时,均需要从报送业务集包含的未分配服务器的报送业务中,选择内存资源预测值最小(记为y
min,m
)的报送业务,作为第二目标报送业务。
119.步骤s62、从第一服务器集群中,内存剩余资源满足第二目标报送业务对应的内存资源预测值,且,cpu剩余资源满足第二目标报送业务对应的cpu资源预测值的服务器中,为第二目标报送业务分配服务器。
120.应当理解,一服务器的cpu剩余资源满足第二目标报送业务对应的cpu资源预测值,且,内存剩余资源满足第二目标报送业务对应的内存资源预测值,即一服务器的cpu剩余资源大于或等于第二目标报送业务对应的cpu资源预测值,且,内存剩余资源大于或等于第二目标报送业务对应的内存资源预测值,才可以将第二目标报送业务分配给该服务器。基于此,在一可选实施例中,本步骤的过程可以包括:从第一服务器集群中,确定内存剩余资源满足第二目标报送业务对应的内存资源预测值,且,cpu剩余资源满足第二目标报送业务对应的cpu资源预测值的服务器,从确定出的服务器中选择一个服务器作为第二目标报送业务对应的服务器。例如,本步骤可以从确定出的服务器中选择内存剩余资源最小或者cpu剩余资源最小的服务器,作为第二目标报送业务对应的服务器。
121.在另一可选实施例中,本步骤的过程还可以包括:将第一服务器集群按照内存剩余资源的升序顺序进行排序,得到第二排序后的第一服务器集群;将第二排序后的第一服务器集群中,首个cpu剩余资源满足第二目标报送业务对应的cpu资源预测值,且,内存剩余资源满足第二目标报送业务对应的内存资源预测值y
min,m
的服务器,作为为第二目标报送业务分配的服务器。
122.步骤s63、根据第二目标报送业务对应的内存资源预测值,对为第二目标报送业务分配的服务器的内存剩余资源进行更新。
123.步骤s64、判断报送业务集中是否还有未分配服务器的报送业务,若是,则返回执行从报送业务集中确定第二目标报送业务,直至报送业务集包含的报送业务均已分配服务器。
124.与此同时,对于每个目标服务器,本实施例还会将该目标服务器对应的报送业务中未取出的报送业务分配给该目标服务器,由此完成整个分配过程。
125.本技术实施例还提供了一种资源调度装置,下面对本技术实施例提供的资源调度装置进行描述,下文描述的资源调度装置与上文描述的资源调度方法可相互对应参照。
126.请参阅图2,示出了本技术实施例提供的资源调度装置的结构示意图,如图2所示,该资源调度装置可以包括:数据收集模块201、数据预测模块202、资源分配模块203和启停
时间确定模块204。
127.数据收集模块201,用于若监管报送业务不为新建业务,则获取第一服务器集群在针对监管报送业务上报数据时的历史运维数据。
128.数据预测模块202,用于根据历史运维数据对监管报送业务未来需要的cpu资源和内存资源进行预测,得到监管报送业务对应的cpu资源预测值和内存资源预测值。
129.资源分配模块203,用于基于监管报送业务的重要程度为监管报送业务分配数据库资源,并基于监管报送业务对应的cpu资源预测值和内存资源预测值以及第一服务器集群中每个服务器的cpu总资源、cpu已消耗资源、内存总资源和内存已消耗资源,为监管报送业务分配cpu资源和内存资源,得到资源分配结果。
130.启停时间确定模块204,用于根据资源分配结果,确定第一服务器集群的启停时间。
131.本技术提供的资源调度装置,若监管报送业务为新建业务,则获取第一服务器集群在针对监管报送业务上报数据时的历史运维数据,然后根据历史运维数据对监管报送业务未来需要的cpu资源和内存资源进行预测,得到监管报送业务对应的cpu资源预测值和内存资源预测值,接着基于监管报送业务的重要程度为监管报送业务分配数据库资源,并基于监管报送业务对应的cpu资源预测值和内存资源预测值以及第一服务器集群中每个服务器的cpu总资源、cpu已消耗资源、内存总资源和内存已消耗资源,为监管报送业务分配cpu资源和内存资源,得到资源分配结果,最后根据资源分配结果,确定第一服务器集群的启停时间。本技术能够确定出第一服务器集群的启停时间,使得第一服务器集群不会长期处于待机状态,缩短了第一服务器集群的待机时间,减少了资源消耗。
132.在一种可能的实现方式中,本技术提供的资源调度装置还可以包括:人工需求资源补录模块。
133.该人工需求资源补录模块,具体可以用于若监管报送业务为新建业务,则获取监管报送业务所需的服务器个数和报送窗口时长,根据服务器个数,确定监管报送业务对应的第二服务器集群,根据报送窗口时长,确定第二服务器集群的启停时间。
134.在一种可能的实现方式中,数据预测模块202具体可以用于确定历史运维数据的数据量,若历史运维数据的数据量小于预设阈值,则基于支持向量回归算法和历史运维数据,对监管报送业务未来需要的cpu资源和内存资源进行预测,若历史运维数据的数据量大于或等于预设阈值,则基于rnn循环神经网络和历史运维数据,对监管报送业务未来需要的cpu资源和内存资源进行预测。
135.在一种可能的实现方式中,上述资源分配模块203在基于监管报送业务对应的cpu资源预测值和内存资源预测值以及第一服务器集群中每个服务器的cpu总资源、cpu已消耗资源、内存总资源和内存已消耗资源,为监管报送业务分配cpu资源和内存资源时,可以包括:剩余资源确定模块、目标服务器确定模块和第一分配模块。
136.其中,剩余资源确定模块,用于根据第一服务器集群中每个服务器的cpu总资源和cpu已消耗资源,确定第一服务器集群中每个服务器的cpu剩余资源,并根据第一服务器集群中每个服务器的内存总资源和内存已消耗资源,确定第一服务器集群中每个服务器的内存剩余资源。
137.目标服务器确定模块,用于根据第一服务器集群中每个服务器的cpu剩余资源和
监管报送业务包含的每个报送业务对应的cpu资源预测值,从第一服务器集群中确定监管报送业务包含的每个报送业务对应的服务器,作为目标服务器。
138.第一分配模块,用于对于每个目标服务器,若该目标服务器的内存剩余资源大于或等于该服务器对应的所有报送业务所对应的内存资源预测值之和,则将该目标服务器分配给对应的报送业务。
139.在一种可能的实现方式中,上述目标服务器确定模块可以包括:第一目标报送业务确定模块、服务器对应模块、第一更新模块和第一判断模块;
140.其中,第一目标报送业务确定模块,用于从监管报送业务包含的报送业务中确定第一目标报送业务,第一目标报送业务为未确定对应服务器的报送业务中对应的cpu资源预测值最小的报送业务。
141.服务器对应模块,用于从第一服务器集群中,cpu剩余资源满足第一目标报送业务对应的cpu资源预测值的服务器中,确定第一目标报送业务对应的服务器。
142.第一更新模块,用于根据第一目标报送业务对应的cpu资源预测值更新,对应第一目标报送业务对应的服务器的cpu剩余资源;
143.第一判断模块,用于判断监管报送业务中是否还有未确定对应服务器的报送业务,若是,则返回执行第一目标报送业务确定模块,直至监管报送业务包含的报送业务均已确定对应服务器。
144.在一种可能的实现方式中,上述服务器对应模块可以包括:第一排序模块和cpu剩余资源参考模块。
145.其中,第一排序模块,用于将第一服务器集群按照cpu剩余资源的升序顺序进行排序,得到第一排序后的第一服务器集群;
146.cpu剩余资源参考模块,用于将第一排序后的第一服务器集群中,首个cpu剩余资源满足第一目标报送业务对应的cpu资源预测值的服务器,作为第一目标报送业务对应的服务器。
147.在一种可能的实现方式中,本技术提供的资源调度装置还可以包括:报送业务集确定模块、第二更新模块和第二分配模块。
148.其中,报送业务集确定模块,用于对于每个目标服务器,若该目标服务器的内存剩余资源小于该目标服务器对应的所有报送业务所对应的内存资源预测值之和,则从该目标服务器对应的所有报送业务中逐个取出报送业务,直至该服务器的内存剩余资源大于或等于该服务器对应的所有报送业务所对应的内存资源预测值之和,以得到由从各目标服务器中取出的报送业务组成的报送业务集。
149.第二更新模块,用于根据报送业务集中报送业务对应的cpu资源预测值和内存资源预测值,更新第一服务器集群中每个服务器的cpu剩余资源和内存剩余资源。
150.第二分配模块,用于在更新后,根据第一服务器集群中每个服务器的cpu剩余资源和内存剩余资源,以及报送业务集中报送业务对应的cpu资源预测值和内存资源预测值,为报送业务集中的报送业务分配服务器。
151.在一种可能的实现方式中,上述第二分配模块可以包括:第二目标报送业务确定模块、服务器分配模块、第三更新模块和第二判断模块。
152.其中,第二目标报送业务确定模块,用于从报送业务集中确定第二目标报送业务,
第二目标报送业务为报送业务集中未分配服务器的报送业务中对应的内存资源预测值最小的报送业务。
153.服务器分配模块,用于从第一服务器集群中,内存剩余资源满足第二目标报送业务对应的内存资源预测值,且,cpu剩余资源满足第二目标报送业务对应的cpu资源预测值的服务器中,为第二目标报送业务分配服务器。
154.第三更新模块,用于根据第二目标报送业务对应的内存资源预测值,对为第二目标报送业务分配的服务器的内存剩余资源进行更新。
155.第二判断模块,用于判断报送业务集中是否还有未分配服务器的报送业务,若是,则返回执行从报送业务集中确定第二目标报送业务,直至报送业务集包含的报送业务均已分配服务器。
156.在一种可能的实现方式中,服务器分配模块可以包括:第二排序模块和内存剩余资源参考模块。
157.其中第二排序模块,用于将第一服务器集群按照内存剩余资源的升序顺序进行排序,得到第二排序后的第一服务器集群。
158.内存剩余资源参考模块,用于将第二排序后的第一服务器集群中,首个cpu剩余资源满足第二目标报送业务对应的cpu资源预测值,且,内存剩余资源满足第二目标报送业务对应的内存资源预测值的服务器,作为为第二目标报送业务分配的服务器。
159.本技术实施例还提供了一种资源调度设备。可选的,图3示出了资源调度设备的硬件结构框图,参照图3,该资源调度设备的硬件结构可以包括:至少一个处理器301,至少一个通信接口302,至少一个存储器303和至少一个通信总线304;
160.在本技术实施例中,处理器301、通信接口302、存储器303、通信总线304的数量为至少一个,且处理器301、通信接口302、存储器303通过通信总线304完成相互间的通信;
161.处理器301可能是一个中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
162.存储器303可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
163.其中,存储器303存储有程序,处理器301可调用存储器303存储的程序,所述程序用于:
164.若监管报送业务不为新建业务,则获取第一服务器集群在针对监管报送业务上报数据时的历史运维数据;
165.根据历史运维数据对监管报送业务未来需要的cpu资源和内存资源进行预测,得到监管报送业务对应的cpu资源预测值和内存资源预测值;
166.基于监管报送业务的重要程度为监管报送业务分配数据库资源,并基于监管报送业务对应的cpu资源预测值和内存资源预测值以及第一服务器集群中每个服务器的cpu总资源、cpu已消耗资源、内存总资源和内存已消耗资源,为监管报送业务分配cpu资源和内存资源,得到资源分配结果;
167.根据资源分配结果,确定第一服务器集群的启停时间。
168.可选的,所述程序的细化功能和扩展功能可参照上文描述。
169.本技术实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述资源调度方法。
170.可选的,所述程序的细化功能和扩展功能可参照上文描述。
171.最后,还需要说明的是,在本文中,诸如和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
172.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
173.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献