【技术实现步骤摘要】
一种serverless架构中服务调度器的放置方法及装置
[0001]本专利技术属于边缘计算和网络通信技术索领域,具体涉及一种
serverless
架构中服务调度器的放置方法及装置
。
技术介绍
[0002]Serverless
计算是近几年新出现的计算范式,是云计算形态的进一步发展
。Serverless
计算是指在构建和运行应用时无需管理服务器等基础设施的计算架构,它描述了以单个函数作为服务的细粒度的部署模型,在该模型中,应用被拆解为一个或多个细粒度的函数后被上传到一个平台,然后根据当前服务的请求来执行
、
扩展和计费
。Serverless
计算并不意味着不再使用服务器来承载和运行代码,而是指不再需要花费时间和资源在服务器配置
、
维护
、
更新
、
扩展和容量规划上,所有这些任务和功能都由
Serverless
平台处理
。
[0003]Serverless
架构实现了服务器资源和应用的分离,使得对用户而言,服务器资源变得透明
。
随着
IoT
设备的不断增加以及多样性计算场景的出现,边缘计算技术也随之出现并满足
IoT
实时计算的需求,边缘计算的发展使用户数据能及时地在边缘被处理,节约了带宽资源的消耗,减少了服务的响应时间,提高了系统的实时性
。
在
Serverles ...
【技术保护点】
【技术特征摘要】
1.
一种
serverless
架构中服务调度器的放置方法,其特征在于,包括以下步骤:步骤
S1
,构建系统,其中,系统由节点
(
记作:
Node)、
客户端
(
记作:
Client)
和一个调度计算机
(
记作:
ScheduleComputer)
组成;
Node
中运行服务函数
(
记作:
Func)
;节点上选择运行服务调度器后成为服务调度节点
(
记作:
LoadNode)
;
ScheduleComputer
内有两个列表用于分别记录
Node
和
Client
的信息
(
分别记作
Tab
‑
N
和
Tab
‑
C)
;步骤
S2
,初始化所述步骤
S1
中构建的系统;步骤
S3
,计算
Node
间的距离信息,并使
ScheduleComputer
接收所述距离信息后记录在
Tab
‑
N
中;步骤
S4
,基于每一个
Node
上运行着多种
Func
,将所有
Node
自身运行的
Func
的信息发送给
ScheduleComputer
,通过
ScheduleComputer
再将此信息转发给其他所有节点,都进行记录,让节点与
ScheduleComputer
获得所有节点上运行的服务信息;步骤
S5
,通过
ScheduleComputer
接收
client
发送的入网请求,获取到所有
Node
的网络地址,向所有
Node
发送网络信息,将延迟作为到
Node
的距离,
ScheduleComputer
记录距离信息;步骤
S6
,通过
client
向距离最近的服务调度节点发送服务请求,服务调度节点转发请求到最近的运行该服务的节点上,并将此次请求信息发送给
ScheduleComputer
记录,以获取一段时间中所有服务调度节点和节点接收的
client
请求信息;步骤
S7
,记
Node
的集合记作
N
,
Client
的集合记作
C
,
Func
的集合记作
F
,调度节点的集合记作
L
;
ScheduleComputer
每间隔两小时进行一轮服务调度计算迭代;具体如下:当一个
Client(
记作
Client
‑
3)
最近的
Node(
记作
Node
‑
4)
不是
LoadNode
时,
Client
‑3向
Node
‑4发送预申请数据包
Msg_11
;
Node
‑4记录所有向自己发送
Msg_11
的
Client
到
Node
‑
Tab
‑
C
中,并将
Node
‑
Tab
‑
C
发送给
ScheduleComputer
进行记录;在
Node
集合
N
中依次选中
Node
,记作
Node n
;当
Node n
不是服务调度节点时:记
Node n
接收到发送预申请数据包的
Client
的集合为
alloc(n)
;记
dst(n,c)
为
Node n
到
Client c
的距离;记
req(c,f)
为
Client c
向
Func f
的请求数;记
alloc(n)
中所有
Client
请求
Func f
份额占比为记
alloc(n)
中所有
Client
到
Node n
的加权平均距离为记
replist
n,f
为
Node n
到所有
Func f
所在
Node
的距离升序列表,
|replist
n,f
|
为
replist
n,f
中的元素个数,取
replist
n,f
中的前
|replist
n,f
|
·
reqpct(n,f)(
向下取整
)
个元素得到新的集合
repdst(n,f)
;记
|repdest(n,f)|
为
repdest(n,f)
中元素个数;记
Node n
至
Func f
的平均距离为记
Node n
的预期性能为的预期性能为记调度器性能与请求份额的二元组
lbperf
f
=
{(perf(l,f),reqpct(l,f))|l∈L}
;通过二元组对当前调度器性能取加权中位数
(Weighted Median,WM)
得到
curperf(f)
=
WM(lbperf
f
)
;记在
Node n
上放置服务调度器后系统调度
Func f
的预期性能为
perfadd(n,f)
=
perf(n,f)reqpct(n,f)+[1
‑
reqpct(n,f)]curperf(f)
;记
记在
Node n
放置负载调度器后
Func f
相对当前性能的变化率为记在
Node n
上放置服务调度器后系统整体负载调度性能变化率为当
totalrateadd(n)>0
时,
ScheduleComputer
向
Node n
发送指令
Msg_12
,
Node n
接收
Msg_12
后启用服务调度器,
Node n
成为
LoadNode
,结束本轮迭代;当
totalrateadd(n)≤0
时,继续选取下一个
Node
进行迭代过程;当
Node n
是
LoadNode
时
(
记作
LoadNode l)
:记当前调度性能
curperfsub(f)
=
∑
l∈L
perf(l,f)reqpct(l,f)
;记移除当前服务调度器后新的
LoadNode
集合为
L
′
,移除
l
后系统对
Func f
的预期调度性能记作
perfsub(l,f)
=
∑
l
′
∈L
′
perf(l
′
,f)reqpct(l
′
,f)
,调整调度器后对
Func f
相对当前性能的变化率为系统整体负载调度性能变化率为当
totalratesub(l)>0
时,
ScheduleComputer
向
LoadNode l
发送指令
Msg_13
,
LoadNode l
接收
Msg_13
后关闭调度器,结束本轮迭代;当
totalratesub(l)≤0
时选取下一个
Node
继续进行迭代过程;迭代中调度状态发生变化的
Node
将变化信息
Msg_14
发送给
ScheduleComputer
,
ScheduleComputer
接收
Msg_14
后对
Tab
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。