一种面向边缘智能网关的资源分配方法及设备

文档序号:31466186发布日期:2022-09-09 21:19阅读:104来源:国知局
一种面向边缘智能网关的资源分配方法及设备

1.本发明涉及边缘计算、容器技术和微服务架构,具体涉及一种面向边缘智能网关的资源分配方法及设备。


背景技术:

2.边缘计算是指在靠近物或数据源头的网络边缘侧,融合网络、计算、存储、应用核心能力的开放平台,就近提供边缘智能服务,满足行业数字化在敏捷联接、实时业务、数据优化、应用智能、安全与隐私保护等方面的关键需求。在万物互联的趋势下,边缘数据迎来了爆发性增长,这既是挑战也是机遇。边缘计算的明显优势包括:1)边缘计算可以实时或更快的进行数据处理和分析,让数据处理更靠近源,而不是外部数据中心或者云,可以缩短延迟时间。2)在成本预算上可以大大减轻经费预算。企业在本地设备上的数据管理解决方案所花费的成本大大低于云和数据中心网络;3)减少网络流量。随着物联网设备数量的增加,数据生成继续以创纪录的速度增长。结果,网络带宽变得更加有限,压倒了云,导致更大的数据瓶颈;4)提高应用程序效率。通过降低延迟级别,应用程序可以更高效、更快速地运行;5)个性化:通过边缘计算,可以持续学习,根据个人的需求调整模型,带来个性化互动体验;6)安全和隐私保护。网络边缘数据涉及个人隐私,传统的云计算模式需要将这些隐私数据上传至云计算中心,这将增加泄露用户隐私数据的风险。在边缘计算中,身份认证协议的研究应借鉴现有方案的优势之处,同时结合边缘计算中分布式、移动性等特点,加强统一认证、跨域认证和切换认证技术的研究,以保障用户在不同信任域和异构网络环境下的数据和隐私安全。
3.容器技术是一种计算机科学中的操作系统虚拟化技术,相比于传统的操作系统,容器允许在资源隔离的过程中,运行应用程序及其依赖项。作为轻量的操作系统级别的虚拟化技术,可以将运行应用程序所需的所有必要组建打包为单个镜像,该镜像可以重复使用,且不会影响到容器外的任何进程。docker作为新一代容器技术的代表,以提供标准化的运行时环境为目标,主要优点包括:1)轻量,在一台机器上运行的多个docker容器可以共享这台机器的操作系统内核;它们能够迅速启动,只需占用很少的计算和内存资源。镜像是通过文件系统层进行构造的,并共享一些公共文件。这样就能尽量降低磁盘用量,并能更快地下载镜像;2)标准,docker容器基于开放式标准,能够在所有主流linux版本、microsoft windows以及包括vm、裸机服务器和云在内的任何基础设施上运行;3)安全,docker赋予应用的隔离性不仅限于彼此隔离,还独立于底层的基础设施。docker默认提供最强的隔离,因此应用出现问题,也只是单个容器的问题,而不会波及到整台机器。
4.微服务架构是将单个应用程序开发为一组小型服务的方法,每个应用程序运行在自己的进程中,并通过轻量级的通讯机制进行通信,通常是基于http资源的api。这些服务是围绕业务功能构建的,并可以通过全自动部署机制独立部署。这些服务应该尽可能少的采用集中式管理,并根据所需,使用不同的编程语言和数据存储。微服务技术具有异构更容易,新技术应用更自由,架构与组织架构相互促进相互优化,更好的建设和锻炼团队,扩展
容易,部署简单(更新和回滚),高重用性,高弹性,替换陈旧组件更容易等优点。
5.近年来,部分网省公司开展了变电站二次设备远程运维和状态监测方面的探索和实践工作,一定程度上实现了变电站自动化设备的远程运维,但仍然存在着一些问题,包括自动化设备运维信息采集不充分,定制化系统开发导致的难以扩展业务功能以及数据站应用水平不足智能化程度不高。因此有必要开展变电站自动化设备调试运维新技术的研究,在运维检修的管理及业务中引入边缘计算、虚拟化等互联网新技术,构建应用便捷扩展、功能灵活部署、平台开放共享的变电站自动化设备运维检修系统,实现自动化设备异构运维信息的充分采集及边缘就地处理,解决故障难以精准定位、业务功能扩展不灵活、智能化程度不高等问题,创新自动化设备运维业务云边协同新模式,满足变电站无人值守、调试运维效率提升的需求,强化变电站自动化设备可观测、可分析、可控制的能力。


技术实现要素:

6.本发明的目的在于综合运用边缘计算、容器和微服务三种技术,提供一种面向边缘智能网关的资源分配方法,通过对业务功能app获取资源方式的灵活管控,保证部署于智能网关的各项app的长期稳定运行,同时达到提高资源利用率以及降低网络时延的效果。
7.为实现上述发明目的,本发明第一方面提供了一种面向边缘智能网关的资源分配方法,其包括步骤:
8.s1、建立系统模型,所述的系统模型包括资源分配模型和可用性分析模型;
9.s2、根据系统模型,使用集中式解决方案将资源分配问题转换为优化问题;
10.s3、使用分布式解决方案对优化问题进行计算并输出分配方案。
11.进一步地,所述步骤s1包括:
12.s11、建立资源分配模型:设网关拥有的en集合和app集合分别为ms和ns,en集合的数量和app集合的数量分别为m和n,每个enj拥有cj个计算单元;令x
i,j
代表enj分配给appi的计算单元,分配给appi的资源分配向量为xi=(x
i,1
,x
i,2
,x
i,3
,

,x
i,m
);令pj代表enj的价格,对于整个系统而言,定义en价格向量p=(p1,p2,

,pj,

,pm);令ui(xi,p)代表为appi的可用性函数,由其所占用的资源分配向量xi和价格向量p决定;
13.网关所拥有的n个app受到的每个en所拥有计算资源的限制可以表达为以下约束:
14.s12、建立可用性分析模型:将appi能够从已获取的资源处产生的收益表示为ui(xi),在后续的模型中,该数值作为输入项,计算出具体的资源分配方案;将appi能从enj的一个计算单元中获取收益定义为a
i,j
,推出:
[0015][0016]
在实际生产环境中,用户每次发出请求和收到回复的时间包括三部分:用户和边缘智能网关之间的往返时延边缘智能网关和边缘计算节点en之间的往返网络时延以及在en的处理时延在绝大多数情况下都非常小,对其忽略不计;将appi所能容忍的最大时延定义为得:
[0017]
[0018]
基于m/g/1排队模型对en的处理时延进行分析,假设工作负载都被均匀地分配到各计算单元上,enj为appi服务时的处理时间通过以下公式进行计算:
[0019][0020]
上式中,μ
i,j
代表enj中单个计算单元为处理appi的占用比例,λ
i,j
表示appi向enj发出请求的速率,为保证队列的稳定性,需要保证
[0021]
根据约束条件所得到的结果:
[0022][0023]
上式中,ri表示每次成功响应appi的收益,通过设定最大可容忍时延并确认资源分配方案计算出x
i,j

i,j
和对应值后,即可通过该公式计算出每个appi从已获取计算资源处所实现的可用性。
[0024]
进一步地,所述步骤s11中,对于网关中使用的docker部署的所有app而言,它们所需要达到的目标是在预算限制条件下,最大化其可用性,整体而言,必须满足以下两个条件:
[0025]
1)根据平衡后的价格向量1)根据平衡后的价格向量是appi的最佳资源配置:
[0026][0027]
2)所有的资源均被完全利用:
[0028][0029]
进一步地,所述步骤s2的具体内容如下:
[0030]
将系统模型中的ui(xi)使用∑
jai,j
x
i,j
表示,其中
[0031][0032]
当p代表价格向量时,a
i,j
/pj定义为appi通过花费代价1占用enj获取到的收益;而对于部署于网关处的每个app而言,都有能让自己收益最高的en,用mbb表示某个app在当前en集合中,所能获取的最高收益率:
[0033][0034]
每个app的需求集合di(p)包括所有能给它提供mbb的en,用公式表达为:为了让自身的收益最高,每个app都会尝试投入所有的预算在给定价格条件下去自己的di(p)中的en处消费,并保证清空预算;使用χ表示资源分配矩阵,转换为凸函数优化问题:
[0035][0036]
约束条件包括:
[0037][0038]
根据kkt条件,资源的最佳分配还需要满足以下条件:
[0039][0040]
进一步地,所述步骤s3中,智能网关将同时应用双重分解法和按比例动态调控策略获取资源分配方案,并根据最终的总收益决定具体的资源分配方案。
[0041]
更进一步地,所述的双重分解法将凸函数优化问题等价转换为:
[0042][0043]
每个app需要计算的子问题为:
[0044][0045]
再进一步地,利用带有ces函数的方程进行双重分解,具体解决方案包括:
[0046]
61)初始化参数,包括首个en的价格p(0)=p0、步长α(0)和容忍值γ,循环迭代次数t=0;
[0047]
62)边缘智能网关进行广播,将p(t)的价格告知所有已部署于当前网关处的app;
[0048]
63)每个app通过以下公式计算出在迭代次数为t时的对所有已知en的最佳需求量x
i,j
(t),并且将其发送给智能网关,其中ρ为ces函数中近似于1但严格小于1的参数;
[0049][0050]
64)边缘智能网关对价格向量进行更新:
[0051]
[0052]
65)当或迭代的次数t过大时,输出最终的平衡价格向量p
*
和最佳规划x
*

[0053]
进一步地,按比例动态调控策略的内容如下:在每次的迭代中每个app会根据上一次迭代情况中获取的总可用性来按比例更新自己对每个en的竞价,即:
[0054][0055]
一个en的价格等价为所有app对它的竞价之和,即pj(t)=∑
ibi,j
(t);
[0056]
在每轮迭代中,appi需要执行以下算法更新自身的竞价向量并输出给边缘智能网关:
[0057]
71)将所有en按照a
i,j
/b
i,j
进行降序排列,输出一个排序后的数组:
[0058]
li={i1,i2,

,im}
[0059]
72)找到最大的满足以下不等式的k:
[0060][0061]
73)令满足l>k的满足1l≤k的:
[0062][0063]
上式中,表示当前的appi对ik号en的收益率,表示当前的appi上一轮迭代中对ik号en的竞价,表示此次迭代中当前app对i
l
号en的最终竞价,网关在收到本轮所有竞价情况后将价格向量广播至部署于docker容器中的app以便于进行下一轮的迭代;当价格向量在迭代后的变化足够小时,迭代过程结束,并输出最后结果价格向量、资源分配情况以及每个app获得收益。
[0064]
本发明具有的有益效果如下:本发明将边缘计算、容器技术和微服务架构相结合,通过对业务功能app获取资源方式的灵活管控,保证部署于智能网关的各项app的长期稳定运行,同时达到提高资源利用率以及降低网络时延的效果。
附图说明
[0065]
图1是本发明实施例提供的资源分配方案规划流程图;
[0066]
图2是本发明实施例提供的业务功能app化及灵活管控技术实施方案框架图;
[0067]
图3是本发明实施例提供的使用边缘智能网关情况下端与端之间的交互图。
具体实施方式
[0068]
下面结合附图和实施例对本发明做进一步的详细说明,但应当理解,以下具体实施例的描述仅是为了使本领域技术人员更清楚地理解技术方案,而不是对本发明的限定。
[0069]
参照图1,本发明提出的一种面向边缘智能网关的资源分配方法,包括以下步骤:
[0070]
步骤s1,建立系统模型,包括资源分配模型和可用性分析模型。
[0071]
s1-1、建立资源分配模型:对于边缘智能网关而言,使用docker部署于网关处的所有业务功能app通过网关所拥有的计算节点(en)进行实际的计算服务。本发明假定每个计算节点所能提供的计算能力是固定的,不会随着时间发生变化,每项app负责独立的业务功能。如图2所示,若干app以及其依赖文件通过docker进行部署,同时由部署在边缘智能网关处的app管理微服务进行统一管理。该微服务负责为已部署的app自动化分配具体的计算单元和内存等资源,同时监控各项服务的运行状态,保障服务的稳定性并实现资源的集中式管理。
[0072]
针对资源分配模型,假设网关拥有的en集合和app集合分别为ms和ns,en的数量和app的数量分别为m和n,每个特定的enj拥有cj个计算单元。即使当一个en包含了多种类型的计算单元(例如gpu和cpu),也可以将该en划分为若干个群组,每个只拥有单个种类的en,在这种情况下,每个群组仍可分别看作单独的en。
[0073]
该模型的目标为提高资源利用率,能够体现资源利用率的标准包括两方面,一是网关分配给每个app的计算资源数量,二是app所能产生的总收益。为了避免资源的滥用以及提高利用效率,占用en中任意数量的计算单元都需要app花费相应的代价,每个app都需要根据优先级和需求量设定自身所拥有的经费。当en为第三方公司提供时,其占用代价即可设定为其具体价格相关的函数,若en为系统内提供,则可根据每个en所拥有的计算单元数量抽象出对应的价格函数。
[0074]
令x
i,j
代表enj分配给appi的计算单元数,分配给appi的资源分配向量为xi=(x
i,1
,x
i,2
,x
i,3
,

,x
i,m
)。将bi定义为提供给appi消费的最大资源限制。
[0075]
令pj代表enj的价格,对于整个系统而言,就可以定义en价格向量p=(p1,p2,

,pm)。
[0076]
令ui(xi,p)代表为appi的可用性函数,由其所占用的总计算单元数xi和资源总开销p决定。
[0077]
网关所拥有的n个app受到的每个en所拥有计算资源的限制可以表达为以下约束:
[0078]
为了简化表达和后续的各个等式,对每个en拥有的cj个计算单元进行标准化操作,令并且等比例放大每个en对应的其他参数,包括价格,资源分配等。标准化后的上述的总计算资源限制条件可转化为:
[0079]
对于网关中使用的docker部署的所有app而言,它们所需要达到的目标是在预算限制条件下,最大化其可用性,整体而言,必须满足以下两个条件:
[0080]
1.根据平衡后的价格向量1.根据平衡后的价格向量是appi的最佳资源配置:
[0081][0082]
2.所有的资源均被完全利用:
[0083]
[0084]
以上两个条件分别能够使每个app获取到对应的资源以最大化自身的可用性,以及每个en最大化自身的可用性。在这两个条件的同时作用之下,所有的app都为了争取最大化的利益而竞争,在这背后实际上是价格起到了调控的作用。
[0085]
s1-2、建立可用性分析模型:
[0086]
将appi能够从已获取的资源处产生的收益表示为ui(xi),在后续的模型中,该数值作为输入项,来计算出具体的资源分配方案。
[0087]
将appi能从enj的一个计算单元中获取收益定义为a
i,j
,可以推出:
[0088][0089]
接下来举例说明在实际生产环境中如何计算该输入项,通常而言,边缘计算提供的服务仅对时延敏感,例如变电站内使用物联网传感器实现的远程监测和故障定位等功能。为了简化说明,假设传输带宽足够大且请求数据量小,因此忽略传输时延,只考虑传播时延和处理时延。
[0090]
在实际生产环境中,用户每次发出请求和收到回复的时间包括了三部分,用户和边缘智能网关之间的往返时延和边缘智能网关和边缘计算节点en之间的往返网络时延以及在en的处理时延在绝大多数情况下都非常小,本例中对其忽略不计。将appi所能容忍的最大时延定义为可得:
[0091][0092]
可直接看出的结论为,enj能处理最大请求数量如果
[0093]
使用m/g/1排队模型来各个en的处理时延来进行建模,假设工作负载都被均匀地分配到了各计算单元上。enj为了appi计算的平均响应时间可以表达为:
[0094][0095]
上式中的μ
i,j
代表enj中单个计算单元为处理appi的占用比例,λ
i,j
表示appi向enj发出请求的速率。为了保证队列的稳定性,需要保证
[0096]
根据约束条件所得到的结果:
[0097][0098]
该公式中的ri表示每次成功响应appi的收益,包括该值在内,四个值均可以通过测量获得,以此计算出每个appi从已获取计算资源处所实现的可用性。
[0099]
步骤s2,根据系统模型,使用集中式解决方案将资源分配问题转换为优化问题。
[0100]
为了更好地对模型进行分析,将系统模型中的ui(xi)使用∑
jai,j
x
i,j
来表示,其中
[0101]
[0102]
当p代表价格向量时,a
i,j
/pj可以定义为appi通过花费代价1占用enj获取到的收益(可用性)。而对于部署于网关处的每个app而言,它们都有能让自己收益最高的en,用英文缩写mbb来表示某个app在当前en集合中,所能获取的最高收益率:
[0103][0104]
每个app的需求集合di(p)中应该包括了所有能给它提供mbb的en,用公式表达为:为了让自身的可用性最高,每个app都会尝试投入所有的预算在给定价格条件下去自己的di(p)中的en处消费,并保证清空预算。可以转换为凸函数优化问题:
[0105][0106]
约束条件包括:
[0107][0108]
根据kkt条件,资源的最佳分配还需要满足以下条件:
[0109][0110]
步骤s3,使用分布式解决方案对优化问题进行计算并输出分配方案。
[0111]
由于应对现实中可能出现的复杂状况,本实施例提供两种算法进行优化问题的求解,智能网关将同时应用两种算法获取资源分配方案,并根据最终的总收益决定具体的资源分配方案。如图3所示,边缘智能网处作为客户端的app通过发布和订阅功能进行获取价格向量和更新资源分配情况。
[0112]
s3-1、双重分解法
[0113]
凸函数优化问题可等价地表示为:
[0114][0115]
利用拉格朗日乘子法,将约束转换为:
[0116][0117]
因此,每个app需要计算的子问题为:
[0118][0119]
利用带有ces函数的方程进行双重分解,具体解决方案包括:
[0120]
(i)初始化参数,包括:首个en的价格p(0)=p0,相对小的步长α(0)和容忍值γ,循环迭代次数t=0。
[0121]
(ii)边缘智能网关进行广播,将p(t)的价格告知所有已部署于当前网关处的app。
[0122]
(iii)每个app通过以下公式计算出在迭代次数为t时的对所有已知en的最佳需求量x
i,j
(t),并且将其发送给智能网关。其中ρ为ces函数中近似于1但严格小于1的参数。
[0123][0124]
(iv)边缘智能网关对价格向量进行更新:
[0125][0126]
(v)当或迭代的次数t过大时,输出最终的平衡价格向量p
*
和最佳规划x
*

[0127]
s3-2、按比例动态调控策略
[0128]
在每次的迭代中,每个app会根据上一次迭代情况中获取的总可用性来按比例更新自己对每个en的竞价。即:
[0129][0130]
由于对所有的en的容量进行了归一化操作,一个en的价格可以等价为所有app对它的竞价之和,即pj(t)=∑
ibi,j
(t)。
[0131]
在每轮迭代中,每个app需要执行以下算法来更新自身的竞价向量并输出给边缘智能网关:
[0132]
(i)将所有en按照a
i,j
/b
i,j
进行降序排列,输出一个排序后的数组:
[0133]
li={i1,i2,

,im}
[0134]
(ii)找到最大的满足以下不等式的k:
[0135][0136]
(iii)令满足l>k的满足1≤l≤k的:
[0137][0138]
上式中,表示当前的appi对ik号en的收益率,表示当前的appi上一轮迭代中对ik号en的竞价,表示此次迭代中当前app对i
l
号en的最终竞价,网关会将收到的所有竞价向量广播至部署于docker容器中的app以便于进行下一轮的迭代。当价格向量在迭代后的变化足够小时,迭代过程结束,并输出最后结果价格向量,资源分配情况以及每个app获得收益。
[0139]
基于与方法实施例相同的技术构思,根据本发明的另一实施例,提供一种计算机设备,所述设备包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现方法实施例中的各步骤。
[0140]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0141]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0142]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0143]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0144]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何
修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1