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

边缘用户分配模型构建方法、装置、设备及可读存储介质

2022-09-08 00:15:47 来源:中国专利 TAG:


1.本技术涉及边缘服务计算技术领域,特别涉及一种边缘用户分配模型构建方法、装置、设备及可读存储介质。


背景技术:

2.云服务器与终端用户之间的距离太远,有时会产生流量过载、网络拥堵等问题,其在可靠性及延迟方面还亟待提高,因此出现了边缘计算的概念。在边缘场景中,计算资源、存储资源等一般部署在许多密集分布的边缘服务器上,其通常在靠近网络边缘(用户或终端设备)的位置,因此可以为用户提供较低的网络延迟。其中,每个边缘服务器均有各自固定的资源容量,同时每个用户也有相应的资源需求,而不同边缘服务器的覆盖范围有重叠,从应用程序提供商的角度来看,希望增加可以被分配到边缘服务器的用户,进而给用户更好的体验,同时也希望降低租用边缘服务器的数量以节约成本。因此,如何获得更好的分配策略是一个值得关注的问题。
3.相关技术中,在传统的边缘用户分配方法中,一般将边缘用户分配问题建模为多维可变尺寸向量装箱问题,其是一种多目标组合优化问题,针对这类问题,通常有两种解决方法。第一种方法为使用字典序目标优化算法,该算法将优化目标按照重要程度排序,然后按顺序进行优化,且保证不恶化之前的目标,进而获得最优解,不过该方法在针对大规模的边缘服务器和用户时,存在耗时大的问题;第二种方法则是考虑动态服务质量的贪心方法、基于博弈论达到纳什均衡的方法以及优先分配已启动的最大容量服务器等启发式算法,启发式算法发的执行速度虽然较快,但是却无法捕获某一区域内的边缘服务器的特征,以致无法有效实现边缘用户的分配。


技术实现要素:

4.本技术提供一种边缘用户分配模型构建方法、装置、设备及可读存储介质,以解决相关技术中存在的边缘用户分配效率低和分配效果差的问题。
5.第一方面,提供了一种边缘用户分配模型构建方法,包括以下步骤:
6.获取边缘服务器数据集和边缘用户数据集,所述边缘服务器数据集包括各个边缘服务器的服务器信息,所述服务器信息包括服务器位置数据、资源容量数据和覆盖范围数据,所述边缘用户数据集包括各个边缘用户的用户信息,所述用户信息包括用户位置数据和资源需求数据;
7.构建边缘用户分配网络,所述边缘用户分配网络包括用户信息编码器、服务器信息编码器和边缘用户分配解码器,所述用户信息编码器用于对用户信息进行编码得到用户向量编码数据,所述服务器信息编码器用于对服务器信息进行编码得到服务器向量编码数据,所述边缘用户分配解码器用于根据用户向量编码数据和服务器向量编码数据之间的相似度确定边缘用户与边缘服务器之间的匹配概率,并根据匹配概率将边缘用户分配至对应的边缘服务器;
8.基于所述边缘服务器数据集和边缘用户数据集对边缘用户分配网络进行训练,得到边缘用户分配模型。
9.一些实施例中,所述用户信息编码器包括全连接层和多层自注意力机制编码层;
10.所述全连接层用于分别对各个边缘用户的用户信息进行投射,得到每个边缘用户的用户嵌入值;
11.所述多层自注意力机制编码层用于对所有边缘用户的用户嵌入值进行注意力查询、残差连接和投射处理,得到各个边缘用户的用户向量编码数据。
12.一些实施例中,所述服务器信息编码器包括全连接层,所述全连接层用于分别对各个边缘服务器的服务器信息进行投射,得到各个边缘服务器的服务器向量编码数据。
13.一些实施例中,所述边缘用户分配解码器包括瞥见机制层和指针机制层;
14.所述瞥见机制层用于根据第一边缘用户的用户向量编码数据和各个边缘服务器的服务器向量编码数据计算第一边缘用户与各个边缘服务器之间的第一相似度,根据第一相似度计算第一边缘用户与各个边缘服务器之间的权重,基于第一边缘用户与各个边缘服务器之间的权重以及各个边缘服务器的服务器向量编码数据计算得到第一边缘用户的上下文特征向量;
15.所述指针机制层用于根据第一边缘用户的上下文特征向量和各个边缘服务器的服务器向量编码数据计算第一边缘用户与各个边缘服务器之间的第二相似度,根据第二相似度计算第一边缘用户与各个边缘服务器之间的匹配概率,将第一边缘用户分配至匹配概率最大的第一边缘服务器上。
16.一些实施例中,所述边缘用户分配解码器还用于:
17.当第一边缘用户分配至匹配概率最大的第一边缘服务器后,将第一边缘服务器的资源容量数据与第一边缘用户的资源需求数据进行相减,并根据相减结果更新第一边缘服务器的服务器信息,得到第一边缘服务器新的服务器信息;
18.使服务器信息编码器对第一边缘服务器新的服务器信息进行投射,得到第一边缘服务器新的服务器向量编码数据;
19.根据第二边缘用户的用户向量编码数据、第一边缘服务器新的服务器向量编码数据以及其他边缘服务器的服务器向量编码数据完成第二边缘用户的分配。
20.一些实施例中,所述基于所述边缘服务器数据集和边缘用户数据集对边缘用户分配网络进行训练,得到边缘用户分配模型,包括:
21.当边缘用户分配解码器完成边缘用户数据集中所有边缘用户的分配,根据各个边缘用户的分配结果确定出边缘用户分配率和边缘服务器资源利用率;
22.基于边缘用户分配率和边缘服务器资源利用率对边缘用户分配网络进行梯度下降训练,以更新边缘用户分配网络的网络参数,得到边缘用户分配模型。
23.一些实施例中,在所述基于所述边缘服务器数据集和边缘用户数据集对边缘用户分配网络进行训练的步骤之前,还包括:
24.根据服务器位置数据、覆盖范围数据和用户位置数据将边缘用户数据集中位于所有边缘服务器的覆盖范围之外的边缘用户对应的用户信息剔除,得到新的边缘用户数据集;
25.基于所述新的边缘用户数据集执行基于所述边缘服务器数据集和边缘用户数据
集对边缘用户分配网络进行训练的步骤。
26.第二方面,提供了一种边缘用户分配模型构建装置,包括:
27.获取单元,其用于获取边缘服务器数据集和边缘用户数据集,所述边缘服务器数据集包括各个边缘服务器的服务器信息,所述服务器信息包括服务器位置数据、资源容量数据和覆盖范围数据,所述边缘用户数据集包括各个边缘用户的用户信息,所述用户信息包括用户位置数据和资源需求数据;
28.构建单元,其用于构建边缘用户分配网络,所述边缘用户分配网络包括用户信息编码器、服务器信息编码器和边缘用户分配解码器,所述用户信息编码器用于对用户信息进行编码得到用户向量编码数据,所述服务器信息编码器用于对服务器信息进行编码得到服务器向量编码数据,所述边缘用户分配解码器用于根据用户向量编码数据和服务器向量编码数据之间的相似度确定边缘用户与边缘服务器之间的匹配概率,并根据匹配概率将边缘用户分配至对应的边缘服务器;
29.训练单元,其用于基于所述边缘服务器数据集和边缘用户数据集对边缘用户分配网络进行训练,得到边缘用户分配模型。
30.第三方面,提供了一种边缘用户分配模型构建设备,包括:存储器和处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现前述的边缘用户分配模型构建方法。
31.第四方面,提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,当所述计算机程序被处理器执行时,以实现前述的边缘用户分配模型构建方法。
32.本技术提供的技术方案带来的有益效果包括:可有效提高边缘用户的分配效果和分配率并提高边缘服务器的资源利用率。
33.本技术提供了一种边缘用户分配模型构建方法、装置、设备及可读存储介质,包括获取边缘服务器数据集和边缘用户数据集,所述边缘服务器数据集包括各个边缘服务器的服务器信息,所述服务器信息包括服务器位置数据、资源容量数据和覆盖范围数据,所述边缘用户数据集包括各个边缘用户的用户信息,所述用户信息包括用户位置数据和资源需求数据;构建边缘用户分配网络,所述边缘用户分配网络包括用户信息编码器、服务器信息编码器和边缘用户分配解码器,所述用户信息编码器用于对用户信息进行编码得到用户向量编码数据,所述服务器信息编码器用于对服务器信息进行编码得到服务器向量编码数据,所述边缘用户分配解码器用于根据用户向量编码数据和服务器向量编码数据之间的相似度确定边缘用户与边缘服务器之间的匹配概率,并根据匹配概率将边缘用户分配至对应的边缘服务器;基于所述边缘服务器数据集和边缘用户数据集对边缘用户分配网络进行训练,得到边缘用户分配模型。通过本技术,能够将用户信息与服务器信息分别进行编码得到对应的向量编码数据,进而以向量上的相似性为依据,判断边缘用户和边缘服务器的匹配程度,从而在全局上为边缘用户分配最合适的边缘服务器,能够有效提高边缘用户的分配效果和分配率并提高边缘服务器的资源利用率。
附图说明
34.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于
本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1为本技术实施例提供的一种边缘用户分配模型构建方法的流程示意图;
36.图2为本技术实施例提供的边缘用户分配问题示意图;
37.图3为本技术实施例提供的用户信息编码器的结构示意图;
38.图4为本技术实施例提供的边缘用户分配解码器的结构示意图;
39.图5为本技术实施例提供的边缘用户分配网络的结构示意图;
40.图6为本技术实施例提供的一种边缘用户分配模型构建设备的结构示意图。
具体实施方式
41.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
42.本技术实施例提供了一种边缘用户分配模型构建方法、装置、设备及可读存储介质,其能解决相关技术中存在的边缘用户分配效率低和分配效果差的问题。
43.图1是本技术实施例提供的一种边缘用户分配模型构建方法,包括以下步骤:
44.步骤s10:获取边缘服务器数据集和边缘用户数据集,所述边缘服务器数据集包括各个边缘服务器的服务器信息,所述服务器信息包括服务器位置数据、资源容量数据和覆盖范围数据,所述边缘用户数据集包括各个边缘用户的用户信息,所述用户信息包括用户位置数据和资源需求数据;
45.进一步的,在所述基于所述边缘服务器数据集和边缘用户数据集对边缘用户分配网络进行训练的步骤之前,还包括:
46.根据服务器位置数据、覆盖范围数据和用户位置数据将边缘用户数据集中位于所有边缘服务器的覆盖范围之外的边缘用户对应的用户信息剔除,得到新的边缘用户数据集;
47.基于所述新的边缘用户数据集执行基于所述边缘服务器数据集和边缘用户数据集对边缘用户分配网络进行训练的步骤。
48.示范性的,本实施例中,可先根据真实的边缘服务器数据集生成大量边缘用户数据集:先将真实的边缘服务器数据集中的经纬度坐标系修改为直角坐标系,且该直角坐标系以百米为单位;然后在预设的给定区间内随机生成各个边缘服务器的覆盖范围;接着设定各个边缘服务器的资源容量的平均值和方差,并为边缘服务器生成多维资源容量,进而形成边缘服务器数据集,其包括服务器位置数据、资源容量数据和覆盖范围数据;最后可指定边缘用户数量,并生成各个边缘用户的用户位置信息和资源需求信息,进而生成边缘用户数据集,其包括用户位置数据和资源需求数据。优选的,可根据各个边缘服务器的覆盖范围剔除无法覆盖的边缘用户。
49.其中,以在一个公开的澳大利亚墨尔本中央商务区范围内6.2km2的区域的基站(即边缘服务器)位置信息为例,且该边缘服务器数据集包含125个边缘服务器及其服务器位置信息和816个边缘用户及其用户位置信息;由于深度强化学习需要大量数据,因此在该
边缘服务器位置的基础上,重新随机生成大量边缘用户,以使得神经网络学习更充分。
50.具体的,参见图2所示,将边缘服务器数据集中真实的125个边缘服务器的经纬度所形成的经纬度坐标系修改为直角坐标系,且该直接坐标系以百米为单位,其可使得数据的数量级统一;然后在预设的给定区间内(比如[1,1.5]百米区间内)随机生成各个边缘服务器(比如图2中的s1至s4)的覆盖范围,并设定边缘服务器的资源容量的平均值为35且方差为10,基于该平均值和方差可保证各个边缘服务器的资源容量的设定更为合理;接着为所有边缘服务器生成《cpu、内存、存储、带宽》四维资源容量,得到最终的每个边缘服务器的服务器信息,比如《3.435,5.743,1.2,37.8,31.6,37.5,29.3》,其中前三项(即3.435、5.743和1.2)分别指横坐标、纵坐标(横纵坐标即为边缘服务器的服务器位置信息)和覆盖范围(均以百米为单位),后四项(即37.8、31.6、37.5和29.3)为资源容量(即cpu、内存、存储和带宽,比如图2中s1下方的10、12、8、15);再指定边缘用户(比如图2中的u1至u8)数量为500,并生成100000组用于不同轮次的迭代训练,每次边缘用户数据集包括500条边缘用户的用户信息,比如用户信息可以为《3.21,2.74,2,3,3,4》,其中前两项(即3.21和2.74)为横纵坐标,后四项(即2、3、3和4)为资源需求量(即cpu、内存、存储、带宽的需求量,比如图2中u1下方的1、2、1、2);最后根据边缘服务器的覆盖范围剔除没有任何边缘服务器可以覆盖的边缘用户。
[0051]
步骤s20:构建边缘用户分配网络,所述边缘用户分配网络包括用户信息编码器、服务器信息编码器和边缘用户分配解码器,所述用户信息编码器用于对用户信息进行编码得到用户向量编码数据,所述服务器信息编码器用于对服务器信息进行编码得到服务器向量编码数据,所述边缘用户分配解码器用于根据用户向量编码数据和服务器向量编码数据之间的相似度确定边缘用户与边缘服务器之间的匹配概率,并根据匹配概率将边缘用户分配至对应的边缘服务器;
[0052]
示范性的,本实施例中,可利用多层自注意力机制构建用户信息编码器、利用全连接层构建服务器信息编码器以及利用基于注意力的瞥见机制和指针机制来构建边缘用户分配解码器,进而形成边缘用户分配网络。其中,用户信息编码器用于对用户信息进行编码得到用户向量编码数据;服务器信息编码器用于对服务器信息进行编码得到服务器向量编码数据;边缘用户分配解码器用于根据用户向量编码数据和服务器向量编码数据之间的相似度确定边缘用户与边缘服务器之间的匹配概率,并根据匹配概率将边缘用户分配至对应的边缘服务器。
[0053]
进一步的,所述用户信息编码器包括全连接层和多层自注意力机制编码层;
[0054]
所述全连接层用于分别对各个边缘用户的用户信息进行投射,得到每个边缘用户的用户嵌入值;
[0055]
所述多层自注意力机制编码层用于对所有边缘用户的用户嵌入值进行注意力查询、残差连接和投射处理,得到各个边缘用户的用户向量编码数据。
[0056]
示范性的,本实施例中,用户信息编码器通过使用多层自注意力机制对步骤s10中生成的用户信息进行编码。具体的,参见图3所示,首先使用全连接层对输入的边缘用户信息(比如图3中的x1至x4)进行用户嵌入投射,即从6维为转换为512维,得到每个边缘用户的用户嵌入值(即图3中的a1至a4);然后对嵌入后的用户信息进行自注意力机制编码,即n层的自注意力机制编码层中的注意力机制先对所有边缘用户的用户嵌入值进行注意力查询、残差连接和信息传递处理,得到各个边缘用户的中间用户向量编码数据(即至),再通过n
层的自注意力机制编码层中的前馈层对各个边缘用户的中间用户向量编码数据进行残差连接和投射处理,得到各个边缘用户最终的用户向量编码数据(即u1至u4)。
[0057]
其中,通过全连接层对边缘用户信息进行投射得到嵌入向量(即用户嵌入值),可采用如下公式:
[0058]
a=xau bu[0059]
式中,x为边缘用户的原始数据,au为全连接层的参数权重矩阵,bu为偏置值矩阵。
[0060]
进一步的,通过自注意力机制对边缘用户信息的嵌入向量进行编码,比如将用户ai编码为ui,可采用如下公式:
[0061]
qi=w
qai
[0062]
kj=w
kaj
[0063]
vj=wvaj[0064][0065][0066][0067][0068]
式中,qi表示第i个边缘用户对应的查询向量、kj、vj分别表示第j个边缘用户对应的键向量和值向量,ai表示第i个边缘用户的用户嵌入值,aj表示第j个边缘用户的用户嵌入值,w
*
表示全连接层的参数矩阵,比如wq表示全连接层计算查询向量q的参数矩阵,表示归一化系数,α
i,j
表示第i个边缘用户和第j个边缘用户的相似度,t表示转置,表示相似度归一化后的权重值,表示中间用户向量编码数据,tu表示边缘用户总数,ui表示最终的用户向量编码数据,a
t
为前馈层的参数权重矩阵,b为偏置值矩阵,其中,softmax为归一化函数,其公式可以为:
[0069][0070]
式中,zi为第i个节点的输出值,c为输出节点的个数(在此处即为边缘用户的个数)。
[0071]
进一步的,所述服务器信息编码器包括全连接层,所述全连接层用于分别对各个边缘服务器的服务器信息进行投射,得到各个边缘服务器的服务器向量编码数据。
[0072]
示范性的,本实施例中,服务器信息编码器通过全连接层对步骤s10中生成的服务器信息进行编码,即使用全连接层对输入的各个边缘服务器信息(比如y1至y4)进行投射,即从7维转换为512维,得到各个边缘服务器的服务器向量编码数据(即s1至s4)。其中,通过全连接层对边缘服务器的服务器信息进行编码,可采用如下公式:
[0073]
s=xas bs[0074]
式中,x为边缘服务器的原始数据,as为全连接层的参数权重矩阵,bs为偏置值矩阵。
[0075]
进一步的,所述边缘用户分配解码器包括瞥见机制层和指针机制层;
[0076]
所述瞥见机制层用于根据第一边缘用户的用户向量编码数据和各个边缘服务器的服务器向量编码数据计算第一边缘用户与各个边缘服务器之间的第一相似度,根据第一相似度计算第一边缘用户与各个边缘服务器之间的权重,基于第一边缘用户与各个边缘服务器之间的权重以及各个边缘服务器的服务器向量编码数据计算得到第一边缘用户的上下文特征向量;
[0077]
所述指针机制层用于根据第一边缘用户的上下文特征向量和各个边缘服务器的服务器向量编码数据计算第一边缘用户与各个边缘服务器之间的第二相似度,根据第二相似度计算第一边缘用户与各个边缘服务器之间的匹配概率,将第一边缘用户分配至匹配概率最大的第一边缘服务器上。
[0078]
示范性的,本实施例中,对于每一个边缘用户,边缘用户分配解码器通过瞥见机制和指针机制计算出每个边缘服务器与该边缘用户的匹配程度,从而选择最佳的边缘服务器。具体的,边缘用户分配解码器接收经过用户信息编码器编码的用户列表中的某一个边缘用户的用户向量编码数据和经过服务器信息编码器编码得到的所有边缘服务器的服务器向量编码数据,并通过瞥见机制得到该边缘用户的上下文特征向量,再通过指针机制计算得到该边缘用户分配到每个边缘服务器的概率。
[0079]
比如,参见图4所示,取出经过用户信息编码器编码的用户列表中的第一个边缘用户的用户向量编码数据(即图4中的u1)以及经过服务器信息编码器编码得到的所有边缘服务器的服务器向量编码数据(即图4中的s1至s4);其中,瞥见机制层对u1和s1至s4进行注意力查询和信息传递处理,即通过瞥见机制进行相似度计算得到每一个边缘服务器的权重,表明当前边缘用户和所有边缘服务器的相关系数,然后进行加权求和,并将结果作为当前边缘用户(即第一个边缘用户)的上下文特征向量(即u
1c
),同时将s1至s4复制/引用至指针机制层。
[0080]
指针机制层根据u
1c
和所有边缘服务器的服务器向量编码数据(即s1至s4)进行注意力查询和相似度计算,即可得到该边缘用户分配到每个边缘服务器的概率(即p1至p4,图4中的矩形高度的大小表示概率的大小)。其中,在训练过程中按概率采样边缘服务器,在预测过程中选概率最大的边缘服务器,即为该边缘用户分配到的边缘服务器。
[0081]
其中,使用瞥见机制得到边缘用户与每个边缘服务器的权重,可采用如下公式:
[0082]
qi=w
q1
ui[0083]kn
=w
k1
sn[0084]
vn=w
v1
sn[0085][0086]
[0087][0088]
式中,qi表示第i个参与当前分配的边缘用户对应的查询向量,kn、vn分别表示第n个边缘服务器对应的键向量和值向量,ui表示第i个参与当前分配的边缘用户的用户向量编码数据,w
*1
表示瞥见机制的全连接层的参数矩阵,sn表示第n个边缘服务器的服务器向量编码数据,α
i,n
表示第i个参与当前分配的边缘用户与第n个边缘服务器之间的相似系数,t表示转置,表示归一化系数,表示第i个参与当前分配的边缘用户分配到第n个边缘服务器的权重值,softmax为归一化函数,为第i个参与当前分配的边缘用户的上下文特征向量,ts表示边缘服务器的总数。
[0089]
进一步的,使用指针机制得到参与当前分配的边缘用户对于每个边缘服务器的分配概率,可采用如下公式:
[0090][0091]kn
=w
k2
sn[0092]
vn=w
v2
sn[0093][0094][0095]
式中,qi表示第i个参与当前分配的边缘用户的上下文特征向量对应的查询向量,kn、vn分别表示第n个边缘服务器对应的键向量和值向量,表示第i个参与当前分配的边缘用户的上下文特征向量,w
*2
表示指针机制的全连接层的参数矩阵,sn表示第n个边缘服务器的服务器向量编码数据,α
i,n
表示第i个参与当前分配的边缘用户与第n个边缘服务器之间的相似系数,t表示转置,表示归一化系数,表示第i个参与当前分配的边缘用户分配到第n个边缘服务器的概率,softmax为归一化函数。
[0096]
进一步的,所述边缘用户分配解码器还用于:
[0097]
当第一边缘用户分配至匹配概率最大的第一边缘服务器后,将第一边缘服务器的资源容量数据与第一边缘用户的资源需求数据进行相减,并根据相减结果更新第一边缘服务器的服务器信息,得到第一边缘服务器新的服务器信息;
[0098]
使服务器信息编码器对第一边缘服务器新的服务器信息进行投射,得到第一边缘服务器新的服务器向量编码数据;
[0099]
根据第二边缘用户的用户向量编码数据、第一边缘服务器新的服务器向量编码数据以及其他边缘服务器的服务器向量编码数据完成第二边缘用户的分配。
[0100]
示范性的,本实施例中,参见图5所示,在选择匹配概率最大的边缘服务器s3作为参与当前分配的边缘用户的分配对象后,将该匹配概率最大的边缘服务器s3的资源容量减去参与当前分配的边缘用户的资源需求,即为该匹配概率最大的边缘服务器的新的资源容量,然后再使用服务器信息编码器中的全连接层对该边缘服务器的服务器向量编码数据进
行更新;接着再从用户列表中取出下一个边缘用户,并为该边缘用户选择出匹配概率最大的边缘服务器,直到没有边缘用户需要分配边缘服务器。
[0101]
步骤s30:基于所述边缘服务器数据集和边缘用户数据集对边缘用户分配网络进行训练,得到边缘用户分配模型。
[0102]
进一步的,所述基于所述边缘服务器数据集和边缘用户数据集对边缘用户分配网络进行训练,得到边缘用户分配模型,包括:
[0103]
当边缘用户分配解码器完成边缘用户数据集中所有边缘用户的分配,根据各个边缘用户的分配结果确定出边缘用户分配率和边缘服务器资源利用率;
[0104]
基于边缘用户分配率和边缘服务器资源利用率对边缘用户分配网络进行梯度下降训练,以更新边缘用户分配网络的网络参数,得到边缘用户分配模型。
[0105]
示范性的,本实施例中,使用深度强化学习算法,用大量边缘服务器数据集和边缘用户数据集来训练边缘用户分配网络,并以边缘用户分配率和边缘服务器的资源利用率的加权和作为奖励进一步对神经网络进行训练,得到边缘用户分配模型,进而得到边缘用户分配策略;
[0106]
具体的,可使用reinforce算法作为深度强化学习算法,以边缘用户分配率和边缘服务器的资源利用率的加权和作为奖励,并以边缘用户分配解码器中每一步的贪心选择作为基线函数,对神经网络进行梯度下降训练。其中,使用reinforce算法,其梯度的计算可采用如下公式:
[0107]
r=ru βrs[0108]
l=-r
[0109]
j(θ|u,s)=e
π~pθ(
·
|u,s)
l(π|u,s)
[0110][0111]
式中,r表示本次分配的总奖励,ru表示可以分配到边缘服务器上的用户数占总用户数的比例(即边缘用户分配率),rs表示使用的边缘服务器资源量占开启的边缘服务器的总资源量的比例(即边缘服务器资源利用率),β为权重参数,l表示分配损失,j表示损失期望,θ表示神经网络参数,e表示期望,π表示策略,表示梯度,p
θ
表示参数为θ时,取到每一种分配策略的概率采样,b表示本轮训练中数据集的个数,b(ui,si)表示基线函数。
[0112]
本实施例对比了不同边缘用户数量、不同边缘服务器数量、不同边缘服务器资源量下,本实施例中的基于注意力机制和深度强化学习的边缘用户分配模型(am-drl)最终的表现结果与其他主流方法(比如随机方法(random)、贪心方法(greedy)、最大容量优先(most capacity first,mcf))在边缘服务器数量为65、用户数为500时的不同指标对比,参见表1所示,该指标包括边缘用户分配率、边缘服务器租用率、边缘服务器资源利用率。由1可知,本实施例中的am-drl模型的响应时间在可接受范围内,而其他指标效果明显优于对比的其他主流方法。
[0113]
表1不同方法下各指标的对比结果
[0114][0115]
由此可见,通过本技术实施例,能够将用户信息与服务器信息分别进行编码得到对应的向量编码数据,进而以向量上的相似性为依据,判断边缘用户和边缘服务器的匹配程度,从而在全局上为边缘用户分配最合适的边缘服务器,能够有效提高边缘用户的分配效果和分配率并提高边缘服务器的资源利用率;此外,还能减少边缘服务器开启的数量。
[0116]
本技术实施例还提供了一种边缘用户分配模型构建装置,包括:
[0117]
获取单元,其用于获取边缘服务器数据集和边缘用户数据集,所述边缘服务器数据集包括各个边缘服务器的服务器信息,所述服务器信息包括服务器位置数据、资源容量数据和覆盖范围数据,所述边缘用户数据集包括各个边缘用户的用户信息,所述用户信息包括用户位置数据和资源需求数据;
[0118]
构建单元,其用于构建边缘用户分配网络,所述边缘用户分配网络包括用户信息编码器、服务器信息编码器和边缘用户分配解码器,所述用户信息编码器用于对用户信息进行编码得到用户向量编码数据,所述服务器信息编码器用于对服务器信息进行编码得到服务器向量编码数据,所述边缘用户分配解码器用于根据用户向量编码数据和服务器向量编码数据之间的相似度确定边缘用户与边缘服务器之间的匹配概率,并根据匹配概率将边缘用户分配至对应的边缘服务器;
[0119]
训练单元,其用于基于所述边缘服务器数据集和边缘用户数据集对边缘用户分配网络进行训练,得到边缘用户分配模型。
[0120]
进一步的,所述用户信息编码器包括全连接层和多层自注意力机制编码层;
[0121]
所述全连接层用于分别对各个边缘用户的用户信息进行投射,得到每个边缘用户的用户嵌入值;
[0122]
所述多层自注意力机制编码层用于对所有边缘用户的用户嵌入值进行注意力查询、残差连接和投射处理,得到各个边缘用户的用户向量编码数据。
[0123]
进一步的,所述服务器信息编码器包括全连接层,所述全连接层用于分别对各个边缘服务器的服务器信息进行投射,得到各个边缘服务器的服务器向量编码数据。
[0124]
进一步的,所述边缘用户分配解码器包括瞥见机制层和指针机制层;
[0125]
所述瞥见机制层用于根据第一边缘用户的用户向量编码数据和各个边缘服务器的服务器向量编码数据计算第一边缘用户与各个边缘服务器之间的第一相似度,根据第一相似度计算第一边缘用户与各个边缘服务器之间的权重,基于第一边缘用户与各个边缘服务器之间的权重以及各个边缘服务器的服务器向量编码数据计算得到第一边缘用户的上下文特征向量;
[0126]
所述指针机制层用于根据第一边缘用户的上下文特征向量和各个边缘服务器的服务器向量编码数据计算第一边缘用户与各个边缘服务器之间的第二相似度,根据第二相
似度计算第一边缘用户与各个边缘服务器之间的匹配概率,将第一边缘用户分配至匹配概率最大的第一边缘服务器上。
[0127]
进一步的,所述边缘用户分配解码器还用于:
[0128]
当第一边缘用户分配至匹配概率最大的第一边缘服务器后,将第一边缘服务器的资源容量数据与第一边缘用户的资源需求数据进行相减,并根据相减结果更新第一边缘服务器的服务器信息,得到第一边缘服务器新的服务器信息;
[0129]
使服务器信息编码器对第一边缘服务器新的服务器信息进行投射,得到第一边缘服务器新的服务器向量编码数据;
[0130]
根据第二边缘用户的用户向量编码数据、第一边缘服务器新的服务器向量编码数据以及其他边缘服务器的服务器向量编码数据完成第二边缘用户的分配。
[0131]
进一步的,所述训练单元具体用于:
[0132]
当边缘用户分配解码器完成边缘用户数据集中所有边缘用户的分配,根据各个边缘用户的分配结果确定出边缘用户分配率和边缘服务器资源利用率;
[0133]
基于边缘用户分配率和边缘服务器资源利用率对边缘用户分配网络进行梯度下降训练,以更新边缘用户分配网络的网络参数,得到边缘用户分配模型。
[0134]
进一步的,所述获取单元还用于:
[0135]
根据服务器位置数据、覆盖范围数据和用户位置数据将边缘用户数据集中位于所有边缘服务器的覆盖范围之外的边缘用户对应的用户信息剔除,得到新的边缘用户数据集;
[0136]
使训练单元基于所述新的边缘用户数据集执行基于所述边缘服务器数据集和边缘用户数据集对边缘用户分配网络进行训练的步骤。
[0137]
需要说明的是,所属本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各单元的具体工作过程,可以参考前述边缘用户分配模型构建方法实施例中的对应过程,在此不再赘述。
[0138]
上述实施例提供的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图6所示的边缘用户分配模型构建设备上运行。
[0139]
本技术实施例还提供了一种边缘用户分配模型构建设备,包括:通过系统总线连接的存储器、处理器和网络接口,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现前述的边缘用户分配模型构建方法的全部步骤或部分步骤。
[0140]
其中,网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0141]
处理器可以是cpu,还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程逻辑门阵列(fieldprogrammable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件分立硬件组件等。通用处理器可以是微处理器,或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
[0142]
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如视频播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如视频数据、图像数据等)等。此外,存储器可以包括高速随存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)、至少一个磁盘存储器件、闪存器件或其他易失性固态存储器件。
[0143]
本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现前述的边缘用户分配模型构建方法的全部步骤或部分步骤。
[0144]
本技术实施例实现前述的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0145]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、服务器或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0146]
本技术是参照根据本技术实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0147]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0148]
以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一
致的最宽的范围。
再多了解一些

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

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

相关文献