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

面向边缘计算的服务调度系统及其调度方法

2022-06-29 15:28:53 来源:中国专利 TAG:


1.本发明涉及无线通信技术领域,具体涉及一种面向边缘计算的服务调度系统及其调度方法。


背景技术:

2.随着物联网技术在众多领域的快速发展,各类终端设备的数量和数据处理任务的需求急剧增长,边缘计算应运而生,通过在靠近设备或数据源的网络边缘部署小型的服务器,边缘计算得以为就近用户提供高带宽、低延迟、高效率的计算服务,与此同时,现如今设计高效且可伸缩的边缘应用程序更加倾向于基于微服务架构。通过将复杂的应用程序分解为几个逻辑上相关但功能上独立的微服务,提高了系统整体上的灵活性和重用性。在基于容器技术的帮助下,这些基于微服务的应用程序可以很容易的部署在边缘服务器上。kubernetes是目前比较主流的容器编排工具,其中的scheduler组件提供了一种高效且规范化的容器调度方式,但由于kubernetes scheduler在整体设计上是面向资源充足的云计算场景,并不适用在资源受限且分布分散的边缘集群节点中执行服务调度,对于微服务间的逻辑相关性,需要考虑节点间的网络状态以降低服务的跨节点通信时延;同时,由于服务资源需求异构,需要考虑节点多类型资源的分配方案,以提高节点资源的利用效率;最后,由于服务启动前首先需要进行镜像下载,也需要考虑节点镜像下载的时间,以降低服务的部署时延。以上涉及的多个指标不仅优化维度不一致,而且指标间也会相互关联影响,所以需要一种权衡比较的策略来进行调度的综合决策。
3.基于现有技术存在的上述技术问题,本发明提出一种面向边缘计算的服务调度系统及其调度方法。


技术实现要素:

4.为解决现有技术存在的如上述技术问题,本发明提供一种面向边缘计算的服务调度系统及其调度方法。
5.一方面,本发明提供一种面向边缘计算的服务调度系统,包括:
6.资源监控模块,用于服务调度所需资源指标的收集与整合;
7.服务信息感知模块,在云端对边缘端已部署的服务信息以及镜像层信息进行存储并感知更新,为服务调度模块提供边缘集群全局的服务状态信息;
8.服务调度模块,用于执行调度请求的决策,服务与节点的绑定以及服务在节点上的启动、状态维护。
9.另一方面,本发明提供一种面向边缘计算的服务调度系统的调度方法,包括:
10.步骤1,资源监控模块实时收集每个节点上监控服务的上报信息,并封装为图结构的算网模型;服务信息感知模块初始化获取各节点已部署的服务信息以及镜像层缓存信息,然后实时监听服务调度模块,进行服务信息自更新;
11.步骤2,用户发起的服务部署请求被服务调度模块接收、解析,缓存在等待队列中
等待调度;
12.步骤3,服务调度模块中的调度器从等待队列中取出队头请求,开始执行调度决策流程;
13.步骤4,调度器遍历边缘集群节点,基于部署请求的资源需求以及节点剩余资源信息,过滤不符合条件的节点;
14.步骤5,调度器对预选过滤后的节点执行默认优选算法、传输时延感知优选算法、资源相似度优选算法、镜像层感知优选算法,得到各算法对节点的打分结果;
15.步骤6,获取各优选函数算法的打分结果,执行部署节点的均衡决策,对于多组不同维度的优选函数值,基于topsis算法进行聚合排序,选取排序最为靠前的节点作为调度节点,将调度结果通知服务信息感知模块,以更新全局服务、镜像层缓存信息;
16.步骤7,服务调度模块根据决策结果通知该节点的kubelet组件,kubelet根据服务请求信息进行镜像的下载,服务启动,端口暴露,并最终负责维护服务的运行。
17.进一步地,步骤1包括:
18.步骤1.1,资源监控模块定时拉取各节点计算资源、网络资源监控信息,生成基于图结构的算网模型,并对外暴露模型获取接口;
19.步骤1.2,服务信息感知模块初始化时获取各节点服务部署信息,包括服务类型、服务副本数、镜像层缓存,同时,监听服务调度模块,获取服务调度结果,更新全局服务信息。
20.进一步地,步骤5包括:
21.步骤5.1,服务调度模块执行默认优选算法,包括最少请求优选函数算法以及平衡资源分配优选函数算法;
22.步骤5.2,服务调度模块执行传输时延感知优选函数算法,考虑待部署服务的前驱、后继关联服务,以及各节点上关联服务的部署信息,根据节点间网络拓扑状态,进行服务平均调用时延求解,将服务平均调用时延作为节点传输时延感知优选函数算法的打分结果;
23.步骤5.3,服务调度模块执行资源相似度优选函数算法,基于待调度服务请求资源信息以及节点剩余资源信息,计算服务与节点的资源相似度值,将资源相似度值作为节点资源相似度优选函数算法的打分结果;
24.步骤5.4,服务调度模块执行镜像层缓存优选函数,在服务启动过程中,包含镜像下载和镜像运行两个阶段,其中,在镜像下载阶段,依据镜像分层共享的特性,选择合适节点降低服务部署时延,根据边缘集群节点的网络拓扑信息以及各个节点镜像层缓存的状态来估计理想情况下下载镜像所需的时延,将镜像下载时延作为镜像层缓存优选函数的打分结果。
25.进一步地,步骤6包括:
26.步骤6.1,将打分结果正向化处理,将其转化为极大型指标数据;
27.步骤6.2,将处理后数据构造为矩阵格式,对每一列属性进行向量规范化,即每一列元素都除以当前列向量的范数;
28.步骤6.3,确定最优及最劣方案,其中最优方案为每列元素的最大值,最劣方案为每列元素最小值;
29.步骤6.4,计算各评价对象与最优方案、最劣方案的接近程度;
30.步骤6.5,计算各评价对象与最优方案的贴近程度;
31.步骤6.6,根据贴近程度值进行排序,返回最高值对应的节点。
32.与现有技术相比,本发明的优越效果在于:
33.本发明所述的面向边缘计算的服务调度系统及其调度方法,云端通过对边缘节点的资源信息和服务部署信息进行集中式采集与实时更新,并对外提供数据接口,实现了对于边缘分布式节点状态的一致性感知,在云端中央调度器设计上,基于kubernetes scheduler进行扩展,主要增加对于边缘场景下服务的跨节点通信时延、节点资源利用均衡度以及服务部署时延三种因素的考量,并结合topsis算法实现了多准则权衡下的服务调度决策;实现了在边缘场景下对于节点资源利用效率,服务启动时延和服务间调用时延的优化,具有较强的可操作性和实用价值。
附图说明
34.图1是本发明实施例中面向边缘计算的服务调度系统的结构示意图;
35.图2是本发明实施例中服务调度模块执行流程示意图;
36.图3是本发明实施例中面向边缘计算的服务调度方法的流程示意图;
37.图4是本发明实施例中步骤5的流程示意图;
38.图5是本发明实施例中步骤6的流程示意图。
具体实施方式
39.为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述,需要说明的是,在不冲突的情况下,本技术的实施例及实施例中的特征可以相互组合。
40.实施例
41.如图1-2所示,所述面向边缘计算的服务调度系统,包含资源监控模块、服务信息感知模块、服务调度模块,其中:
42.资源监控模块,由计算资源监控服务、网络资源监控服务以及云端算网模型信息服务两部分组成;计算资源监控服务和网络监控服务部署在每个边缘节点上,分别负责节点计算资源(包含但不限于cpu使用情况、内存使用情况以及磁盘io使用情况等)和网络资源(节点间的数据传输速率)的实时收集与上报。云端算法模型信息模块负责对边缘节点资源监控信息和网络监控信息进行整合并对外提供统一的数据访问接口,根据边缘端节点的网络连接情况,云端算网模型信息模块构造基于图的网络拓扑模型;
43.服务信息感知模块负责提供全局的先验服务部署信息,包括服务的副本数目、服务的部署节点以及每个节点缓存的镜像层信息,多个相同类型属性标签的服务定义为同一服务的多个副本,这些副本具有相同的任务执行能力,对于相同类型的服务来说,需要依赖相同的镜像,同时,每个镜像也具有固定且已知的镜像层结构,其中镜像层用唯一id标识,信息感知模块中用二元组《id,size》表示每个镜像层以及其占用的存储空间大小,对于服务请求部署操作,信息感知模块通过监听调度模块的方式,实时获取调度结果,进行相关数据的更新;对于服务取消部署操作,信息感知模块定时获取边缘集群中服务的部署信息,将
缓存信息与当前集群服务部署状态进行比对更新,最终,数据按照一定的格式以接口的方式对外提供服务;
44.服务调度模块包含调度器以及每个节点上部署的kubelet组件,负责服务部署请求的决策以及服务绑定、运行维护;调度器基于kubernetes scheduler进行扩展,针对边缘场景下服务部署的三个优化指标:1.服务跨节点调用时延,2.边缘节点多类型资源利用均衡度,3.服务冷启动时延,提出了三个优选函数算法,协同边缘节点信息监控模块以及节点服务信息感知模块,对各个节点执行打分操作,根据打分结果进行节点调度方案的多准则权衡决策,并通知kubelet在该节点上部署服务。
45.如图3至图5所示,所述面向边缘计算的服务调度方法,具体包括以下步骤:
46.步骤1、在面向边缘计算的服务调度系统中,包含一个云端服务器以及一个由若干边缘智能网关构成的边缘集群,云端服务器负责边缘集群的节点管理以及服务编排,面向边缘计算的服务调度系统主要作用于服务编排中的服务调度阶段,云端服务器部署资源监控模块、服务信息感知模块、服务调度模块,边缘智能网关上部署计算资源监控服务和网络监控服务以及kubelet,资源监控模块实时收集每个节点上部署监控服务的上报信息,并封装为图结构的算网模型;服务信息感知模块初始化获取各节点已部署的服务信息以及镜像层缓存信息,然后实时监听调度模块,进行服务信息自更新;
47.具体地,步骤1包括:
48.步骤1.1,资源监控模块定时拉取各节点计算资源、网络资源监控信息,生成基于图结构的算网模型,并对外暴露模型获取接口;
49.步骤1.2,服务信息感知模块初始化时获取各节点服务部署信息,包括服务类型、服务副本数、镜像层缓存等,同时,监听调度器模块,获取服务调度结果,全局服务信息进行自更新;
50.步骤2、调度器模块采取串行调度模式,用户发起的服务部署请求首先会被调度模块接收、解析,缓存在等待队列中等待调度;
51.步骤3、取出等待队列队头请求,开始执行调度流程;
52.步骤4、遍历节点集合,基于部署请求资源需求以及节点剩余资源信息,过滤不符合条件的节点;
53.步骤5、对预选过滤后的节点执行默认优选算法、传输时延感知优选算法、资源相似度优选算法、镜像层感知优选算法,获取各算法对节点的打分结果;
54.步骤6、获取优选阶段各优选函数算法的打分结果,执行部署节点的均衡决策,对于多组不同维度的优选函数值,基于topsis算法进行聚合排序,选取排序最为靠前的节点作为调度节点,将调度结果通知服务信息感知模块,以更新全局服务、镜像层缓存信息;
55.步骤7、调度模块会根据决策结果通知该节点的kubelet组件,kubelet根据服务信息进行镜像的下载,服务启动,端口暴露,并最终负责维护服务的运行。
56.具体地,步骤5包括:
57.步骤5.1、执行kubernetes scheduler默认优选算法对节点进行打分,在本实施例中,只选择了默认算法中的最少请求和平衡资源分配两种优选函数算法,打分依据分别为节点的资源剩余情况和节点资源利用率均衡度,返回每个节点对于部署服务优先级的打分结果,另外,还可以根据业务需求选择其他k8s提供的优选算法;
58.步骤5.2、执行传输时延感知优选函数算法,考虑服务间的依赖调用关系,以及跨节点交互带来的数据传输时延,对节点进行优先级打分,减少服务调用带来的数据传输时延消耗,首先解析服务部署请求,获取待部署服务的关联服务信息,然后访问服务信息感知模块,获取关联服务在各个节点的部署情况,最后根据资源监控模块中的节点间网络拓扑信息进行服务平均调用时延求解,求解公式为:
59.t
averages,n
=∑
i∈s(input)
p
i,s
*t
transi,s

j∈s(output)
p
s,j
*t
transs,j

60.其中,t
averages,n
表示服务s部署在节点n上前驱后继服务调用链的平均数据传输时延,s(input)表示前驱服务集合,s(output)表示后继服务集合,p
i,s
、p
s,j
分别表示服务i访问服务s的概率以及服务s访问服务j的概率,t
transi,s
、t
transs,j
分别表示服务i访问服务s的数据传输时延以及服务s访问服务j的数据传输时延;
61.由于没有考虑实际运行时节点的可用网络带宽,所以本实施例中,只是个近似计算求解,但对于优先级函数来说,实际网络下载速度做出合理的估计太复杂,并且因为先验信息比较少而且需要快速执行,所以在进行节点优先级打分时选择近似计算值,根据每个节点估计计算的服务调用时延,返回节点的优先级结果;
62.步骤5.3、执行资源相似度优选函数算法,由于待部署服务具有多种类型的资源需求,获取服务部署资源需求以及节点资源剩余信息,用皮尔森系数进行相关度计算,服务请求资源与节点剩余资源的相关度计算公式为:
[0063][0064]
其中,分别表示服务部署请求中cpu、内存、磁盘io资源的需求情况;分别表示服务部署请求中cpu、内存、磁盘io资源的需求情况;分别表示节点中cpu、内存、磁盘io资源的剩余情况;μ
x
、μy分别表示数组x和数组y的平均值,n表示两个数组的长度,根据服务请求资源与节点剩余资源间相似度的求解结果,返回各个节点部署服务的优先级结果;
[0065]
步骤5.4、执行镜像层缓存优选函数算法,根据边缘集群节点的网络拓扑信息以及各个节点镜像层缓存的状态来估计理想情况下下载镜像所需的时延,将镜像下载时延作为节点打分依据,降低服务在节点的部署时延,获取节点镜像层缓存信息以及节点镜像下载速率,计算服务s部署在节点n上的镜像下载时延,具体公式为:
[0066][0067]
其中d
uniques,n
表示服务s镜像与节点n缓存镜像非共享的镜像层集合,r
n,c
表示节点n到镜像仓库的镜像下载速率,根据下载时延进行节点优先级打分。
[0068]
在步骤5.3中,当进行节点资源分配时,在不综合考虑各种资源的剩余情况,会导致节点各类型资源利用不均衡,节点其他资源被浪费,需要考虑服务请求资源与节点剩余资源间的相关度,相关度越大,说明节点更适合部署服务。
[0069]
步骤6、获取优选阶段各优选函数算法的打分结果,执行部署节点的均衡决策,对于多组不同维度的优选函数值,基于topsis算法进行聚合排序,选取排序最为靠前的节点作为调度节点,将调度结果通知服务信息感知模块,以更新全局服务、镜像层缓存信息。
[0070]
具体的,步骤6包括:
[0071]
步骤6.1,将多优选函数打分结果正向化处理,将其转化为极大型指标数据,对于打分结果中的极小型指标,转化公式为x

=m-x,其中m为指标结果的最大值,x表示原始数据,x

表示正向化处理后的值;
[0072]
步骤6.2,将处理后数据构造为矩阵格式,然后对每一列属性进行向量规范化,即每一列元素都除以当前列向量的范数,即其中x
i,j
为原始数据,z
i,j
为向量归一化后数据;
[0073]
步骤6.3,确定最优及最劣方案,其中最优方案z

为每列元素的最大值,最劣方案z-为每列元素最小值;
[0074]
步骤6.4,计算各评价对象与最优方案z

、最劣方案z-的接近程度,的接近程度,表示与最优方案接近程度,表示与最劣方案接近程度,其中ω
i,j
为第j个属性的权重,z
i,j
表示步骤6.2中得到的归一化后数据。
[0075]
步骤6.5,根据步骤6.4中的得到的d
i
、d
i-,计算各评价对象与最优方案的相对接近度
[0076]
步骤6.6,根据相对接近度值进行排序,返回最高值对应的节点。
[0077]
本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书界定。
再多了解一些

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

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

相关文献