本发明涉及数据优化,尤其涉及一种基于边缘计算的容器放置优化方法、系统、终端及存储介质。
背景技术:
1、随着互联网应用的快速增长,核心网络面临着越来越大的压力。边缘计算通过利用部署在核心网络边缘的各种集群来解决这一问题。在边缘计算场景中,容器已成为跨越各种计算环境进行服务开发的有力工具,容器的特点是轻量级、独立、可执行、具有层结构的图像,它包含了托管服务的所有基本组件。要在边缘集群上运行容器,就必须在本地存储容器镜像不可或缺的层;或者如果本地没有存储这些层,就必须从基于云的远程容器镜像注册中心进行下载;而容器放置是容器化边缘集群中的一个重要研究课题,且基于镜像粒度级别的容器放置已被广泛探索,因此,基于层粒度级别的容器放置被广泛研究。
2、目前,现有的技术只关注基于层的容器放置,却忽略了现实中会产生额外的系统成本,在层共享的推动下,共享共同层的容器会被放置在特定的边缘集群上,导致与这些容器相对应的请求过多被调度到这个特定的边缘集群上,而过量激增的传入请求需要集群唤醒服务器,以提供更多资源来承载请求,导致较大的唤醒延迟;还可能导致将请求调度到远程边缘集群或能效比低的边缘集群,从而带来更高的通信延迟或高能耗;且依赖于离线层的容器放置策略,假定了对未来请求模式的预先了解,从而无法适应在线边缘环境的动态特性和不可预测特性。
3、因此,现有技术还有待于改进和发展。
技术实现思路
1、本发明的主要目的在于提供一种基于边缘计算的容器放置优化方法、系统及终端,旨在解决现有技术中存在与容器相对应的请求过多被调度到特定的边缘集群上,导致较大的唤醒延迟,还可能导致将请求调度到远程边缘集群或能效比低的边缘集群,从而带来更高的通信延迟或高能耗;且依赖于离线层的容器放置策略,无法适应在线边缘环境的动态特性的问题。
2、为实现上述目的,本发明提供一种基于边缘计算的容器放置优化方法,所述基于边缘计算的容器放置优化方法包括如下步骤:
3、获取用户的服务请求,根据所述服务请求进行边缘集群调度,得到目标边缘集群,并根据所述目标边缘集群对所述服务请求进行成本分析,得到成本分析结果;
4、获取所述成本分析结果的成本信息,对所述成本信息进行分解处理,得到多个凸问题,并对所有所述凸问题进行求解处理,得到多个分数解;
5、对所有所述分数解进行上下迭代处理,得到目标解,根据所述目标解对所述目标边缘集群的容器放置方案进行优化,得到目标容器放置方案,并根据所述目标容器放置方案处理所述服务请求。
6、可选地,所述的基于边缘计算的容器放置优化方法,其中,所述获取用户的服务请求,根据所述服务请求进行边缘集群调度,得到目标边缘集群,并根据所述目标边缘集群对所述服务请求进行成本分析,得到成本分析结果,具体包括:
7、获取用户的服务请求,根据所述服务请求的类型进行边缘集群调度,得到目标边缘集群,并确定所述目标边缘集群的容器镜像;
8、获取所述目标边缘集群的容器镜像层信息,根据所述容器镜像的所需镜像层判断所述容器镜像层信息是否满足镜像要求;
9、若所述容器镜像层信息包括所述容器镜像的所需镜像层,则判定所述容器镜像层信息满足镜像要求,并根据所述服务请求的数量和所述目标边缘集群的调度请求数对所述服务请求进行成本分析,得到成本分析结果。
10、可选地,所述的基于边缘计算的容器放置优化方法,其中,所述根据所述容器镜像的所需镜像层判断所述容器镜像层信息是否满足镜像要求,之后还包括:
11、若所述容器镜像层信息不包括所述容器镜像的所需镜像层,则判定所述容器镜像层信息不满足镜像要求,并生成容器镜像层获取指令;
12、将所述容器镜像层获取指令发送至容器镜像注册中心,接收所述容器镜像注册中心发送的目标容器镜像层,其中,所述目标容器镜像层是所述容器镜像注册中心根据所述容器镜像层获取指令进行下载处理得到。
13、可选地,所述的基于边缘计算的容器放置优化方法,其中,所述获取所述成本分析结果的成本信息,对所述成本信息进行分解处理,得到多个凸问题,并对所有所述凸问题进行求解处理,得到多个分数解,具体包括:
14、获取所述成本分析结果的成本信息,并根据相对熵函数对所述成本信息进行替换处理,得到正则化问题,其中,所述成本信息包括存储成本、请求调度成本、服务器能耗成本、容器放置成本和服务器唤醒成本;
15、对所述正则化问题进行分解处理,得到多个凸问题,并根据凸优化算法对所有所述凸问题进行求解处理,得到多个分数解。
16、可选地,所述的基于边缘计算的容器放置优化方法,其中,所述凸问题的表达式为:
17、
18、其中,为凸问题,n'为目标边缘集群,n为边缘集群,为边缘集群组,i为用户的服务请求,为容器镜像,为抵达边缘集群的服务请求被调度到目标边缘集群的通信成本,为在时隙t期间到边缘达集群,并被调度到目标边缘集群的服务请求的数量,l为镜像层,为镜像层的集合,为镜像层的大小,为在时隙t期间边缘集群存储镜像层的情况,cn为边缘集群中服务器的能耗,zn(t)为在时隙t期间边缘集群上激活的服务器数量,为镜像层下载到边缘集群的延迟,ηx和ηz均为常数,ε和ε'均为正常数,为在时隙t-1期间边缘集群存储镜像层的情况,dn为边缘集群的服务器唤醒延迟,zn(t-1)为在时隙t-1期间边缘集群上激活的服务器数量。
19、可选地,所述的基于边缘计算的容器放置优化方法,其中,所述对所有所述分数解进行上下迭代处理,得到目标解,根据所述目标解对所述目标边缘集群的容器放置方案进行优化,得到目标容器放置方案,并根据所述目标容器放置方案处理所述服务请求,具体包括:
20、构建二分图,获取所述二分图中的浮点数的边界值,根据所述浮点数的边界值对所述二分图进行划分,得到对应的子图,并通过深度优先搜索对所述子图的环路进行搜索处理,得到目标环路;
21、将所述目标环路进行切分处理,得到预设数量的匹配数据,根据所述匹配数据设置所有所述分数解中任意两个分数解的取整概率,并根据所述取整概率对所有所述分数解进行取整处理,得到取整结果,其中,所述分数的取整方式包括向上取整和向下取整;
22、根据所述取整结果的所有整数解得到目标解,根据所述目标解对所述目标边缘集群的容器放置方案进行优化,得到目标容器放置方案,并根据所述目标容器放置方案处理所述服务请求。
23、可选地,所述的基于边缘计算的容器放置优化方法,其中,所述根据所述取整概率对所有所述分数解进行取整处理,得到取整结果,之后还包括:
24、当剩余一个分数解未进行取整处理时,根据所述向上取整对所述分数解进行取整处理,得到对应的整数解。
25、可选地,所述的基于边缘计算的容器放置优化方法,其中,所述的基于边缘计算的容器放置优化系统包括:
26、成本分析模块,用于获取用户的服务请求,根据所述服务请求进行边缘集群调度,得到目标边缘集群,并根据所述目标边缘集群对所述服务请求进行成本分析,得到成本分析结果;
27、成本信息求解模块,用于获取所述成本分析结果的成本信息,对所述成本信息进行分解处理,得到多个凸问题,并对所有所述凸问题进行求解处理,得到多个分数解;
28、容器放置优化模块,用于对所有所述分数解进行上下迭代处理,得到目标解,根据所述目标解对所述目标边缘集群的容器放置方案进行优化,得到目标容器放置方案,并根据所述目标容器放置方案处理所述服务请求。
29、此外,为实现上述目的,本发明还提供一种终端,其中,所述终端包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于边缘计算的容器放置优化程序,所述基于边缘计算的容器放置优化程序被所述处理器执行时实现如上所述的基于边缘计算的容器放置优化方法的步骤。
30、此外,为实现上述目的,本发明还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有基于边缘计算的容器放置优化程序,所述基于边缘计算的容器放置优化程序被处理器执行时实现如上所述的基于边缘计算的容器放置优化方法的步骤。
31、本发明中,获取用户的服务请求,根据所述服务请求进行边缘集群调度,得到目标边缘集群,并根据所述目标边缘集群对所述服务请求进行成本分析,得到成本分析结果;获取所述成本分析结果的成本信息,对所述成本信息进行分解处理,得到多个凸问题,并对所有所述凸问题进行求解处理,得到多个分数解;对所有所述分数解进行上下迭代处理,得到目标解,根据所述目标解对所述目标边缘集群的容器放置方案进行优化,得到目标容器放置方案,并根据所述目标容器放置方案处理所述服务请求。本发明从层的粒度进行调度,考虑了请求调度、存储、容器放置、服务器能耗和服务器唤醒成本等多方面因素的综合影响,解决了单因素考虑角度导致的成本过高问题,从而降低了系统的整体成本;还基于正则化的方法分解了与时间相关的容器放置和服务器唤醒成本,通过逐步舍入过程可输出满足各种系统约束条件的可行解决方案,避免重复舍入尝试和大量计算开销。