获取资源分配模型的方法、资源分配方法及对应装置与流程

文档序号:31677042发布日期:2022-09-28 02:36阅读:137来源:国知局
获取资源分配模型的方法、资源分配方法及对应装置与流程

1.本说明书一个或多个实施例涉及计算机应用技术领域,尤其涉及人工智能技术领域中的一种获取资源分配模型的方法、资源分配方法及对应装置。


背景技术:

2.随着互联网的日益普及和用户数量的不断提升,应用系统访问量的爆炸式增长和访问的不确定性对应用服务的稳定性、伸缩性和可靠性带来了严峻的挑战。而大量的应用服务运行于各种计算资源上,这些计算资源通常以服务器集群的形式存在。而这些计算资源是需要付出较高成本的,因此在实际环境中,如何对各种应用服务进行合理的资源分配成为亟待解决的问题。


技术实现要素:

3.本说明书一个或多个实施例描述了一种获取资源分配模型的方法、资源分配方法及对应装置,用以实现针对应用服务的合理资源分配。
4.根据第一方面,提供了一种建立资源分配模型的方法,包括:
5.从一个以上的应用服务的历史数据中获取训练数据,各训练数据包括应用服务在各历史时刻的流量特征数据和计算资源实际使用状况;
6.采用元强化学习机制建立资源分配模型,所述资源分配模型从所述流量特征数据和所述计算资源的实际使用状况中学习在各时刻对应用服务采用的资源分配调整策略,以使得按照所述资源分配调整策略调整计算资源后所述一个以上的应用服务在各时刻的计算资源使用状况与预期使用状况之间的差异小于预定值。
7.在一个实施例中,所述流量特征数据包括远程过程调用prc数据、消息msg数据和流量traffic数据中的至少一种。
8.在另一个实施例中,所述采用元强化学习机制建立资源分配模型包括:
9.利用所述训练数据训练包括元学习子模型和强化学习子模型的资源分配模型;
10.其中,所述元学习子模型用以利用所述应用服务在各历史时刻的流量特征数据,得到所述应用服务的任务向量表示,并利用所述流量特征数据和所述任务向量表示预测所述应用服务在各时刻的计算资源使用状况,所述元学习子模型的训练目标为最小化预测结果与训练数据中对应的计算资源实际使用状况之间的差异;
11.强化学习子模型用以将训练得到的所述元学习子模型作为环境,与所述元学习子模型进行交互,采用强化学习机制预测对所述应用服务在各时刻采用的资源分配调整策略,以使得按照所述资源分配调整策略调整计算资源后所述应用服务在各时刻的计算资源使用状况与预期使用状况之间的差异最小化。
12.在一个实施例中,所述元学习子模型包括:编码网络和解码网络;
13.所述编码网络用以利用输入的应用服务i在时刻tj的流量特征数据,得到所述应用服务i在时刻tj的任务向量表示;
14.所述解码网络用以利用所述应用服务i在时刻tj的任务向量表示以及流量特征数据,预测所述应用服务i在时刻tj的计算资源使用状况。
15.在另一个实施例中,所述编码网络进一步用以利用所述训练数据所包含的流量特征数据对所述应用服务i在时刻tj的流量特征数据进行注意力机制的处理,得到所述应用服务i在时刻tj的流量特征向量表示;
16.所述解码网络在预测所述应用服务i在时刻tj的计算资源使用状况时,进一步利用所述应用服务i在时刻tj的流量特征向量表示。
17.在一个实施例中,与所述元学习子模型进行交互,采用强化学习机制预测对所述应用服务在各时刻采用的资源分配调整策略包括:
18.所述强化学习子模型作为智能体,将应用服务在各时刻的流量特征数据和计算资源使用状况作为状态,将利用所述状态和所述应用服务的任务向量表示预测得到的在各时刻对应用服务采用的资源分配调整策略作为动作,所述智能体与训练得到的元学习子模型交互以进行强化学习,所述强化学习过程中利用按照所述资源分配调整策略调整计算资源后应用服务的计算资源使用状况与预期使用状况之间的差异得到奖励。
19.根据第二方面,提供了一种资源分配方法,包括:
20.获取应用服务在时刻t的流量特征数据;
21.将所述流量特征数据输入资源分配模型,获取所述资源分配模型输出的在所述时刻t对所述应用服务采用的资源分配调整策略;
22.依据所述资源分配调整策略调整为所述应用服务分配的计算资源;
23.其中,所述资源分配模型采用如上所述的方法预先建立。
24.在一个实施例中,所述获取应用服务在时刻t的流量特征数据包括:
25.从上游流量预测模块获取所述应用服务在时刻t的流量特征数据,所述上游流量预测模块利用所述应用服务在时刻t-1的流量特征数据、采用的资源分配调整策略以及任务向量表示预测得到所述应用服务在时刻t的流量特征数据。
26.在另一个实施例中,所述资源分配模型包括元学习子模型和强化学习子模型;
27.所述元学习子模型利用所述应用服务在时刻t的流量特征数据,得到所述应用服务的任务向量表示;
28.所述强化学习子模型利用所述流量特征数据和所述任务向量表示,预测在所述时刻t对所述应用服务采用的资源分配调整策略。
29.根据第三方面,提供了一种建立资源分配模型的装置,包括:
30.数据获取单元,被配置为从一个以上的应用服务的历史数据中获取训练数据,各训练数据包括应用服务在各历史时刻的流量特征数据和计算资源实际使用状况;
31.模型建立单元,被配置为采用元强化学习机制建立资源分配模型,所述资源分配模型从所述流量特征数据和所述计算资源的实际使用状况中学习在各时刻对应用服务采用的资源分配调整策略,以使得按照所述资源分配调整策略调整计算资源后所述一个以上的应用服务在各时刻的计算资源使用状况与预期使用状况之间的差异小于预定值。
32.在一个实施例中,所述流量特征数据包括远程过程调用prc数据、消息msg数据和流量traffic数据中的至少一种。
33.在另一个实施例中,所述模型建立单元,具体被配置为利用所述训练数据训练包
括元学习子模型和强化学习子模型的资源分配模型;
34.其中,所述元学习子模型用以利用所述应用服务在各时刻的流量特征数据,得到所述应用服务的任务向量表示,并利用所述流量特征数据和所述任务向量表示预测所述应用服务在各时刻的计算资源使用状况,所述元学习子模型的训练目标为最小化预测结果与训练数据中对应的计算资源实际使用状况之间的差异;
35.强化学习子模型用以将训练得到的所述元学习子模型作为环境,与所述元学习子模型进行交互,采用强化学习机制预测对所述应用服务在各时刻采用的资源分配调整策略,以最小化调整策略后所述应用服务在各时刻的计算资源使用状况与预期使用状况之间的差异。
36.在一个实施例中,所述元学习子模型包括:编码网络和解码网络;
37.所述编码网络用以利用输入的应用服务i在时刻tj的流量特征数据,得到所述应用服务i在时刻tj的任务向量表示;
38.所述解码网络用以利用所述应用服务i在时刻tj的任务向量表示以及流量特征数据,预测所述应用服务i在时刻tj的计算资源使用状况。
39.在另一个实施例中,所述编码网络进一步用以利用所述训练数据所包含的流量特征数据对所述应用服务i在时刻tj的流量特征数据进行注意力机制的处理,得到所述应用服务i在时刻tj的流量特征向量表示;
40.所述解码网络在预测所述应用服务i在时刻tj的计算资源使用状况时,进一步利用所述应用服务i在时刻tj的流量特征向量表示。
41.在一个实施例中,所述强化学习子模型作为智能体,将应用服务在各时刻的流量特征数据和计算资源使用状况作为状态,将利用状态和应用服务的任务向量表示预测得到的在各时刻对应用服务采用的资源分配调整策略作为动作,所述智能体与训练得到的元学习子模型交互以进行强化学习,所述强化学习过程中利用调整策略后应用服务的计算资源使用状况与预期使用状况之间的差异得到奖励。
42.根据第四方面,提供了一种资源分配装置,包括:
43.数据获取单元,被配置为获取应用服务在时刻t的流量特征数据;
44.策略获取单元,被配置为将所述流量特征数据输入资源分配模型,获取所述资源分配模型输出的在所述时刻t对所述应用服务采用的资源分配调整策略;
45.资源分配单元,被配置为依据所述资源分配调整策略调整为所述应用服务分配的计算资源;
46.其中,所述资源分配模型采用如上所述的装置预先建立。
47.在一个实施例中,所述数据获取单元,具体被配置为从上游流量预测模块获取所述应用服务在时刻t的流量特征数据,所述上游流量预测模块利用所述应用服务在时刻t-1的流量特征数据、采用的资源分配调整策略以及任务向量表示预测得到所述应用服务在时刻t的流量特征数据。
48.在另一个实施例中,所述资源分配模型包括元学习子模型和强化学习子模型;
49.所述元学习子模型用以利用所述应用服务在时刻t的流量特征数据,得到所述应用服务的任务向量表示;
50.所述强化学习子模型用以利用所述流量特征数据和所述任务向量表示,预测在所
述时刻t对所述应用服务采用的资源分配调整策略。
51.根据第五方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
52.由以上可以看出,本说明书实施例提供的方法和装置中,资源分配模型是采用元强化学习的方式,从一个以上的应用服务在各时刻的流量特征数据和计算资源的实际使用状况中学习对应用服务采用内的资源分配调整策略,从而实现针对应用服务的合理资源分配。
附图说明
53.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
54.图1示出了根据一个实施例的建立资源分配模型的方法流程图;
55.图2示出了根据一个实施例的资源分配模型的示意性结构图;
56.图3示出了根据一个实施例的元学习子模型的示意性结构图;
57.图4示出了根据一个实施例的强化学习子模型的交互示意图;
58.图5示出了根据一个实施例的资源分配方法流程图;
59.图6示出了根据一个实施例的建立资源分配模型的装置示意性框图;
60.图7示出根据一个实施例的资源分配装置的示意性框图。
具体实施方式
61.下面结合附图,对本说明书提供的方案进行描述。
62.在传统的资源分配方式中,主要包括以下三种方式:
63.第一种方式是固定资源分配模式,即根据应用服务的流量峰值预估需要的计算资源量,然后为该应用服务分配固定的计算资源以能够应付流量峰值。
64.然而,应用服务的流量峰值通常持续的时间较短,那就意味着其他较长时间均会造成计算资源的空闲,因此这种方式会造成大量计算资源的浪费。
65.第二种方式是基于简单的阈值进行资源分配,即预先设置流量指标的阈值,利用应用服务的流量满足阈值的情况来分配计算资源。例如,当流量指标大于第一阈值且小于第二阈值时,为其分配的计算资源增加30%。流量指标大于第二阈值时,将为其分配的计算资源增加50%。其中第二阈值大于第一阈值。
66.然而,实际的应用环境是非常复杂的,每个应用服务往往是异质性的,很难通过简单的阈值来描述资源分配和应用流量之间的映射关系。这就造成资源分配的准确率低,且不能够适应应用服务流量的快速变化。
67.第三种方式是针对每一个应用服务建立资源分配模型,然而,应用服务的数量往往是众多的,且计算资源的性质也是各种各样的,例如存在各种服务器集群,不同应用服务在不同计算资源上的运行状况也是不同的。那么就需要针对每一个应用服务和计算资源的组合来建立资源分配模型。显然工作量是巨大的,在线上部署数量如此巨大的模型也带来
了巨大的存储压力。
68.而本说明书的技术构思在于,采用元强化学习机制来建立资源分配模型,使得资源分配模型从一个以上的应用服务在各时刻的流量特征数据和计算资源的实际使用状况中学习对应用服务采用的资源分配调整策略。
69.下面描述以上构思的具体实现方式。图1示出了根据一个实施例的建立资源分配模型的方法流程图。可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。如图1所示,该方法包括:
70.步骤101,从一个以上的应用服务的历史数据中获取训练数据,各训练数据包括应用服务在各历史时刻的流量特征数据和计算资源的实际使用状况。
71.步骤103,采用元强化学习机制建立资源分配模型,资源分配模型从流量特征数据和计算资源的实际使用状况中学习在各时刻对于应用服务采用的资源分配调整策略,以使得按照所述资源分配调整策略调整计算资源后,上述一个以上应用服务在各时刻的计算资源的使用状况与预期使用状况之间的差异小于预定值。
72.在图1所示的方法中,资源分配模型是采用元强化学习的方式,从一个以上的应用服务在各历史时刻的流量特征数据和计算资源的实际使用状况中学习对应用服务采用的资源分配调整策略,从而实现针对应用服务的合理资源分配。
73.并且,上述方法是针对所有应用服务建立统一的资源分配模型,无需针对各应用服务分别建立模型,降低了模型的存储和维护成本。
74.下面结合实施例描述图1所示的各个步骤的执行方式。首先对步骤101即“从一个以上的应用服务的历史数据中获取训练数据”进行详细描述。
75.本公开实施例中采用的是应用服务的历史数据来得到训练数据的,其中所使用的历史数据包括应用服务在各历史时刻的流量特征数据和计算资源实际使用状况。
76.应用服务在实际场景下是运行于具体的计算资源上的,以服务器集群为例,应用服务是运行于具体的服务器集群的。应用服务的流量大小、使用的服务器集群的性质、应用服务的性质往往都能够影响应用服务对服务器集群的使用情况。例如,应用服务的流量较大,那么相对就需要占用更多的服务器集群资源。再例如,服务器集群的计算能力较强,则相比较较弱计算能力的服务器集群,应用服务就可能占用较少的服务器集群资源。再例如,应用服务的服务类型如果不需要较大的计算量,则对服务器集群资源的占用相对也较少。而上述应用服务的流量大小、使用的服务器集群的性质、应用服务的性质等通常在应用服务的流量特征数据中能够得以体现。
77.在本公开实施例中,应用服务的流量特征数据可以包括诸如prc(remote procedure call,远程过程调用)数据、msg(消息)数据、traffic(流量)数据等。其中,prc数据主要包括了应用服务对计算资源的远程调用信息,其可以体现出应用服务信息、计算资源信息(例如使用的服务器集群的信息)等。msg数据主要包括应用服务的消息内容,其可以体现出应用服务的服务类型信息。traffic数据可以体现出应用服务的流量大小,具体可以采用诸如traffic_bytin字段和traffic_pktin字段中的数据等。这些流量特征数据是可以在实际场景中收集并统计得到的。例如,按照分钟为单位进行时刻的划分,那么应用服务在时刻t的流量特征数据可以通过收集并统计该应用服务在该时刻t前后共一分钟之内的上述字段包含的数据而得到。
78.除此之外,在本步骤中还会获取应用服务在各历史时刻的计算资源的实际使用状况,该实际使用状况可以采用诸如资源占用率等,即应用服务实际占用的资源与分配给该应用服务的资源的比率。
79.下面结合实施例对上述步骤103即“采用元强化学习机制建立资源分配模型”进行详细描述。
80.如图2中所示,本公开实施例中建立的资源分配模型的结构主要分为两部分:元学习子模型和强化学习子模型。从整体来看,训练数据中应用服务在各历史时刻的流量特征数据(图中表示为x)输入元学习子模型,元学习子模型输出两个结果:第一个结果是应用服务的任务向量表示(图中表示为z),第二个结果是对应用服务在各时刻的计算资源使用状况的预测结果(图中表示为)。强化学习子模型会利用应用服务在各时刻的任务向量表示以及流量特征数据来预测在各时刻对应用服务采用的计算资源的分配调整策略(图中表示为a)。
81.上述元学习子模型的第二个输出结果主要用于元学习子模型的训练过程(该部分图2中未示出),以及对应用服务下一时刻的流量特征数据的预测。具体将在后续实施例中详述。
82.训练资源分配模型的过程分为两部分:首先利用训练数据训练元学习子模型,然后强化子模型进一步利用训练得到的元学习子模型进行强化学习。下面分别对这两部分进行详细描述。
83.元学习子模型用以利用应用服务在各时刻的流量特征数据,得到应用服务的任务向量表示,并利用应用服务的流量特征数据和任务向量表示预测应用服务在各时刻的计算资源使用状况。在本说明书一个实施例中,上述的差异小于预定值可以是最小化该差异。此时,该元学习子模型的训练目标可以为最小化预测结果与训练数据中对应的资源实际使用状况的差异。
84.图3为本公开实施例提供的元学习子模型的结构示意图,如图3中所示,该元学习子模型主要包括两部分:编码网络和解码网络。
85.在训练时可以随机从训练数据中选择样本输入元学习子模型进行训练。假设其中一个样本表示为(x,y),其中,x表示应用服务i在时刻tj的流量特征数据,y表示应用服务i在时刻tj的计算资源实际使用状况。
86.x输入编码网络,编码网络可以由神经网络构成,本公开实施例中采用mlp(muti-layer perception,多层感知器)作为编码网络的主要网络构成,除了mlp之外也可以采用其他神经网络诸如cnn(convolutional neural network,卷积神经网络)、lstm(long short-term memory network,长短时记忆网络)等。编码网络主要用以利用输入的应用服务i在时刻tj的流量特征数据x,得到应用服务i在时刻tj的任务向量表示,表示为z。
87.任务向量表示(task embedding),是应用服务运行于计算资源的一种向量表示。可以看做编码网络将应用服务在计算资源上运行这一任务映射到任务空间上的一个点,那么所有应用服务与计算资源的组合都可以映射到任务空间上。例如,应用服务1在服务器集群1上运行、应用服务1在服务器集群2上运行、应用服务2在服务器集群1上运行、应用服务2在服务器集群2上运行等任务均分别映射到任务空间上的不同点。采用任务向量表示来分别表示这些点,任务向量表示就是task embedding(嵌入)。通过编码网络将原本高维度的
任务信息(即应用服务运行于计算资源的信息)压缩到低维度的任务向量表示。在任务空间中,性质相似的任务(即性质相似的应用服务和计算资源)的task embedding之间的距离也是相近的,从而使得模型具有更强的泛化能力。
88.如果应用服务的信息不变并且使用的计算资源的信息不变,那么应用服务的任务向量表示可以与时刻不相关,即该应用服务在各时刻的任务向量表示是相同的。但若应用服务的信息发生变化或者计算资源的信息会发生变化,那么应用服务的任务向量表示就与时刻相关。
89.编码网络以利用应用服务i在时刻tj的任务向量表示z以及流量特征数据x,预测应用服务i在时刻tj的计算资源使用状况编码网络可以由神经网络构成,本公开实施例中采用mlp作为编码网络的主要网络构成,除了mlp之外也可以采用其他神经网络诸如cnn、lstm等。
90.更进一步地,编码网络中还可以由神经网络(图3中以mlp为例)和注意力网络这一处理分支利用训练数据所包含的流量特征数据(可以理解为训练数据中所有的流量特征数据集合,表示为x)对应用服务i在时刻tj的流量特征数据x进行注意力(attention)机制的处理,得到应用服务i在时刻tj的流量特征向量表示,表示为t。
91.这种情况下,编码网络在预测应用服务i在时刻tj的计算资源使用状况时,除了利用应用服务i在时刻tj的任务向量表示z以及流量特征数据x之外,进一步利用应用服务i在时刻tj的流量特征向量表示t。
92.元学习子模型的训练过程中,采用的训练目标就是最小化与样本中对应的y之间的差异,也就是说,不断调整元学习子模型的参数以使得元学习子模型的目标输出为y。具体可以利用上述训练目标构建损失函数loss,每一轮迭代中利用损失函数的取值采用诸如梯度下降法等方式对元学习子模型的参数进行更新,直至满足预设的训练停止条件即训练得到元学习子模型。其中训练停止条件可以是诸如损失函数小于或等于预设的阈值、迭代次数达到预设的次数阈值等。
93.在训练得到元学习子模型后,由强化学习子模型采用强化学习机制与元学习子模型进行交互,预测对应用服务在各时刻采用的资源分配调整策略。
94.强化学习(reinforcement learning)又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。
95.在本公开实施例中,如图4中所示,强化学习子模型作为智能体,将训练得到的上述元学习子模型作为环境,将应用服务在各时刻的流量特征数据x和计算资源使用状况作为状态(表示为s),将利用状态s和应用服务的任务向量表示z预测得到的在各时刻对应用服务采用的资源分配调整策略作为动作(表示为a)。智能体与训练得到的元学习子模型交互以进行强化学习,在强化学习过程中,利用按照所述资源分配调整策略调整计算资源后应用服务的计算资源使用状况与预期使用状况之间的差异得到奖励(表示为r)。
96.在上述过程中,强化学习子模型首先依据应用服务i在时刻tj的状态(包括流量特征数据和计算资源使用状况)和元学习子模型产生的任务向量表示,预测在时刻tj对应用服务i采用的资源分配调整策略。依据该资源分配调整策略对应用服务i被分配的计算资源
进行调整后,得到下一时刻t
j+1
的流量特征数据和计算资源使用状况。该流量特征数据输入元学习子模型后,能够得到应用服务i在时刻t
j+1
的任务向量表示以及计算资源使用状况。该流量特征数据和计算资源使用状况再被作为状态连同任务向量表示提供给强化学习子模型。强化学习子模型利用获取到的计算资源使用状况和预期使用状况之间的差异得到奖励。根据该奖励以及新的状态,再尝试生成资源分配调整策略。依据该资源分配调整策略对应用服务i被分配的计算资源进行调整。以此类推。在上述过程中,根据每轮得到的奖励来调整产生新的动作。其中,奖励是根据应用的计算资源使用状况和预期使用状况之间的差异得到的,差异越大说明产生的动作越差,奖励越小,差异越小说明产生的动作越优,奖励越大。
97.可以看出,强化学习子模型实际上是采用“试错”的方式,不断依据状态和奖励调整产生的动作,以使得最终生成的动作即资源分配调整策略能够让应用服务对计算资源的使用状况符合预期使用状况。上述的预期使用状况可以根据具体的应用服务进行设置,可以人为设置,也可以根据实验值、经验值等进行设置。例如,期望应用服务的计算资源占用率维持在40%左右。
98.在强化学习的过程中,通常会采用价值函数(value function)来描述某时刻的状态s能获得的未来回报(即奖励)的期望。在本公开实施例所描述的上述强化学习过程中,价值函数主要由状态s和任务向量表示z决定,因此表示为v(s,z)。由贝尔曼方程(bellman equation)可以得到如下公式:
99.v(s,z)=r(s,a,z)+γv(g(s,π(a|s,z),z))
ꢀꢀꢀ
(1)
100.其中,v()表示价值函数,其主要由强化学习子模型所采用的网络结构所决定,例如强化学习子模型采用mlp时,上述价值函数由mlp的映射机制决定。r()表示奖励,r(s,a,z)表示s、a、z条件下所产生的奖励。
101.g()表示对应用服务在下一时刻状态的预测,该预测是基于当前时刻的s,a和z进行的。具体来讲g()的输出也由两部分组成:第一部分为对应用服务分配的计算资源发生变动后的流量特征数据。例如当计算资源缩减为当前的50%,则应用服务的流量可能会增加到当前流量的两倍。第二部分为对应用服务分配的计算资源发生变动后新的计算资源使用状况(例如资源利用率)。该部分可由元学习子模型的得到。此时元学习子模型的输入为发生变动后的流量特征数据。
102.当前时刻的a是基于当前时刻的s和z预测得到的,对a的预测函数表示为π()。
103.强化学习子模型的学习过程实际上就是求解bellman equation的过程,通过不断地试错和调整,最终找到产生a的最优策略。该过程的具体算法是目前已有的算法,在此不做详述。
104.在强化学习子模型的强化学习结束后,就得到了包括元学习子模型和强化学习子模型的资源分配模型。该资源分配模型为所有应用服务所共享的统一模型,基于该资源分配模型所产生的资源分配方法可以如图5中所示,包括以下步骤:
105.在501中,获取应用服务在时刻t的流量特征数据。
106.理想情况下,应用服务在时刻t的流量特征数据是实时收集并统计得到的。但在很多情况下,应用服务在时刻t的流量特征数据是无法实时获取到的,例如若时刻t的流量特征数据是时刻t前后共一分钟的流量特征数据统计得到的,则无法实时获取。这种情况下,
通常可以从上游流量预测模块获取应用服务在时刻t的流量特征数据。
107.作为其中一种可实现的方式,上游流量预测模块可以利用应用服务在上一时刻即(t-1)的流量特征数据、在上一时刻(t-1)采用的资源分配调整策略以及在上一时刻(t-1)的任务向量表示,预测得到应用服务在时刻t的流量特征数据。也可以采用其他方式实现流量特征数据的预测,在本公开实施例中不做详述,在此直接利用该流量特征数据的预测结果。
108.在503中,将该流量特征数据输入资源分配模型,获取资源分配模型输出的在时刻t对该应用服务采用的资源分配调整策略。
109.资源分配模型的结构如图2中所示,元学习子模型利用流量特征数据生成应用服务在该时刻t的任务特征向量。强化学习子模型利用流量特征数据和任务特征向量生成在时刻t对该应用服务采用的资源分配调整策略。
110.其中在实际资源分配的过程中,资源分配模型仅用到了元学习子模型中的编码网络,编码网络利用应用服务在时刻t的流量特征数据,得到该应用服务在时刻t的任务向量表示。
111.在505中,依据资源分配调整策略调整为该应用服务分配的计算资源。
112.其中,资源分配调整策略可以包括增加、减少或保持不变为该应用服务分配的计算资源,以及增加或减少的程度。该程度可以是绝对值,也可以实现相对值。
113.例如,在时刻t对该应用服务采用的资源分配调整策略为将应用服务占用的计算资源增加20%,那么依据该策略增加为应用服务分配的计算资源使得该应用服务在时刻t占用的计算资源增加20%。
114.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
115.根据另一方面的实施例,提供了一种建立资源分配模型的装置。图6示出根据一个实施例的建立资源分配模型的装置示意性框图。可以理解,该装置可以通过任何具有计算、处理能力的装置、设备、平台和设备集群来实现。如图6所示,该装置600包括:数据获取单元601和模型建立单元602,其中各组成单元的主要功能如下:
116.数据获取单元601,被配置为从一个以上的应用服务的历史数据中获取训练数据,各训练数据包括应用服务在各历史时刻的流量特征数据和计算资源实际使用状况。
117.模型建立单元602,被配置为采用元强化学习机制建立资源分配模型,资源分配模型从流量特征数据和计算资源的实际使用状况中学习在各时刻对于应用服务采用的资源分配调整策略,以使得按照所述资源分配调整策略调整计算资源后一个以上的应用服务在各时刻的计算资源使用状况与预期使用状况之间的差异小于预定值。
118.其中,流量特征数据可以包括prc数据、msg数据和traffic数据中的至少一种。
119.作为其中一种实现方式,模型建立单元602,具体被配置为利用训练数据训练包括元学习子模型和强化学习子模型的资源分配模型。
120.其中,元学习子模型用以利用应用服务在各历史时刻的流量特征数据,得到应用
服务的任务向量表示,并利用流量特征数据和任务向量表示预测应用服务在各时刻的计算资源使用状况,元学习子模型的训练目标为最小化预测结果与训练数据中对应的计算资源实际使用状况的差异。
121.强化学习子模型用以将训练得到的元学习子模型作为环境,与元学习子模型进行交互,采用强化学习机制预测对应用服务在各时刻采用的资源分配调整策略,以使得按照所述资源分配调整策略调整计算资源后应用服务在各时刻的计算资源使用状况与预期使用状况之间的差异最小化。
122.其中,元学习子模型可以具体包括:编码网络和解码网络。
123.编码网络用以利用输入的应用服务i在时刻tj的流量特征数据,得到应用服务i在时刻tj的任务向量表示。
124.解码网络用以利用应用服务i在时刻tj的任务向量表示以及流量特征数据,预测应用服务i在时刻tj的计算资源使用状况。
125.作为一种优选的实施方式,编码网络可以进一步用以利用训练数据所包含的流量特征数据对应用服务i在时刻tj的流量特征数据进行注意力机制的处理,得到应用服务i在时刻tj的流量特征向量表示。
126.解码网络在预测应用服务i在时刻tj的计算资源使用状况时,进一步利用应用服务i在时刻tj的流量特征向量表示。
127.作为一种可实现的方式,强化学习子模型作为智能体,将应用服务在各时刻的流量特征数据和计算资源使用状况作为状态,将利用状态和应用服务的任务向量表示预测得到的在各时刻对应用服务采用的资源分配调整策略作为动作,智能体与训练得到的元学习子模型交互以进行强化学习,在强化学习过程中,利用按照所述资源分配调整策略调整计算资源后应用服务的计算资源使用状况与预期使用状况之间的差异得到奖励。
128.图7示出根据一个实施例的资源分配装置的示意性框图。可以理解,该装置可以通过任何具有计算、处理能力的装置、设备、平台和设备集群来实现。如图7所示,该装置700包括:数据获取单元701、策略获取单元702和资源分配单元703。其中各组成单元的主要功能如下:
129.数据获取单元701,被配置为获取应用服务在时刻t的流量特征数据。
130.策略获取单元702,被配置为将流量特征数据输入资源分配模型,获取资源分配模型输出的在时刻t对应用服务采用的资源分配调整策略。
131.资源分配单元703,被配置为依据资源分配调整策略调整为应用服务分配的计算资源。
132.作为一种可实现的方式,数据获取单元701可以被配置为从上游流量预测模块获取应用服务在时刻t的流量特征数据,上游流量预测模块利用应用服务在时刻t-1的流量特征数据、采用的资源分配调整策略以及任务向量表示预测得到应用服务在时刻t的流量特征数据。
133.其中,资源分配模型包括元学习子模型和强化学习子模型。
134.元学习子模型用以利用应用服务在时刻t的流量特征数据,得到应用服务的任务向量表示。
135.强化学习子模型用以利用流量特征数据和任务向量表示,预测在时刻t对应用服
务采用的资源分配调整策略。
136.根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图1或图5所描述的方法。
137.根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图1或图5所述的方法。
138.随着时间、技术的发展,计算机可读存储介质含义越来越广泛,计算机程序的传播途径不再受限于有形介质,还可以直接从网络下载等。可以采用一个或多个计算机可读存储介质的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本说明书中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
139.上述的处理器可包括一个或多个单核处理器或多核处理器。处理器可包括任何一般用途处理器或专用处理器(如图像处理器、应用处理器基带处理器等)的组合。
140.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
141.本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
142.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1