一种边缘容器调度算法的制作方法

未命名 07-23 阅读:75 评论:0


1.本发明涉及设备运行监测装置技术领域,具体为一种边缘容器调度算法。


背景技术:

2.本章节中的说明只提供涉及本公开的背景信息而不构成现有技术。
3.基于容器的微服务正在对软件和云平台的开发产生革命性的影响。一个应用程序被分解为一组部署在大量服务器上的轻量级自主容器,而不是传统的单片应用程序,每个微服务都是单独开发和部署的,不会影响应用程序的生命周期,docker容器实际上是传统虚拟机(vm)的替代品,因为它具有高而快速的可仲缩性和很低的资源消耗,而kubernetes足一最初由谷歌开发的开源的容器管理平台,kubernetes通过管理容器化应用程序的完整生命周期,简化了可靠的、可伸缩的分布式系统的部署,尽管容器已经提供了高度的抽象,但是仍然需要对它们进行适当的管理,特别是在资源消耗、负载平衡和服务器分发方面,而月在容器上运行的微服务彼此之间是不能通信的,它们作为一一个独立的实体独立工作,kubernetes的发展就是为了让这些微服务更好的通信和交互,它可以在这些容器之间编排、管理形成条通信线路。
4.其中申请号为“cn114911605a”所公开的“一种基于多维资源约束回填的docker容器调度算法”也是日益成熟的技术,其“方法包括:按照资源占用比对已经启动但还未经集群调度的容器资源进行降序排序;按照处理器核心的处理能力对集群内的所有容器进行降序排序;将经排序的容器资源与集群内经排序的容器依次绑定;根据回填权重系数来对经绑定的容器资源进行优先级排序以构成资源优先队列,其中所述回填权重系数基于容器处理器核心数和任务指令长度;以及依次出队所述资源优先队列中的容器资源,若满足资源约束条件,则将所述容器资源回填到空闲容器中,若不满足资源约束条件,则将所述容器资源重新插入所述资源优先队列中的合适位置,重复执行直到所有资源回填完成。
5.在上述的技术方案中,还存在以下缺陷:
6.在上述边缘容器调度中,网络边缘调度算法较为简单,无法边缘容器调度算法进一步的调控,容器调度算法运行程序较为迟缓,边缘网络的应用受到影响。


技术实现要素:

7.针对现有技术的不足,本发明提供了供一种边缘容器调度算法,解决了背景技术中提出的问题。
8.为实现上述目的,本发明提供如下技术方案:一种边缘容器调度算法,包括数据结构建立、部署模块、容器桥接模块、容器负载平衡调度、容器负载服务和容器自动修复;
9.边缘容器调度扩展了cloudsim中原有的powerdatacenter类,说明了边缘设备的属性功能,定义了每个设备的内存,处理器,通信带宽容量,存储空间以及与其它边缘设备和终端的连接通信模式。定义了新的调度方法,功能为如何在云服务对象之间调度和部署边缘设备的资源,通过重写方法可以不断插入新的自定义调度策略;
10.扩展后的cloudsim为了后续边缘计算调度算法的仿真,将服务或者应用建模为有向图,图的每个顶点表示为应用服务的或者数据模块,图的边表示为各个子服务之间的通信和数据传输关系,进行边缘容器调度算法应用。
11.优选的,所述数据结构建立是一个链表,它控制整个服务或者应用程序的元组流向,可以用这个链表的属性来设置微服务之间的延迟,元组由传感器生成并发送到传感器所连接的网关,一旦元组到达边缘设备(网关),就会调用回调函数来处理传入的元组processtuplearrival,如果元组需要路由到另一个边缘设备,则立即发送它而不进行处理,否则,如果需要执行tuple的应用程序模块被放置在接收边缘设备上,则提交tuple执行,进行边缘数据的调度算法执行调整。
12.优选的,所述部署模块,容器技术将所需的应用程序打包成单地址、注册存储的组件,需要一个简单的单行命令来完成部署,构建镜像是一个渐进的过程,dockerfile是个用于构建容器的指令,在进行下载apacheweb的服务器镜像(ttpd),并使用dockerfile在其上安装组件,对边缘容器调度算法进行算法建立。
13.与现有技术相比,本发明的有益效果是:
14.本发明提供了一种边缘容器调度算法:
15.1、控制整个服务或者应用程序的元组流向,可以用这个链表的属性来设置微服务之间的延迟,元组由传感器生成并发送到传感器所连接的网关,一旦元组到达边缘设备(网关),就会调用回调函数来处理传入的元组processtuplearrival,元组需要路由到另一个边缘设备,则立即发送它而不进行处理,否则,如果需要执行tuple的应用程序模块被放置在接收边缘设备上,则提交tuple执行,进行边缘数据的调度算法执行调整。
附图说明
16.图1为本发明的流程示意图。
具体实施方式
17.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
18.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
19.在本发明的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
20.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“设置”应做广义理解,例如,可以是固定相连、设置,也可以是可拆卸连接、设置,或一体地连接、设置。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
21.如图1所示,本发明提出的一种边缘容器调度算法,包括数据结构建立、部署模块、容器桥接模块、容器负载平衡调度、容器负载服务和容器自动修复;
22.边缘容器调度扩展了cloudsim中原有的powerdatacenter类,说明了边缘设备的属性功能,定义了每个设备的内存,处理器,通信带宽容量,存储空间以及与其它边缘设备和终端的连接通信模式。定义了新的调度方法,功能为如何在云服务对象之间调度和部署边缘设备的资源,通过重写方法可以不断插入新的自定义调度策略;
23.扩展后的cloudsim为了后续边缘计算调度算法的仿真,将服务或者应用建模为有向图,图的每个顶点表示为应用服务的或者数据模块,图的边表示为各个子服务之间的通信和数据传输关系,进行边缘容器调度算法应用。
24.数据结构建立是一个链表,它控制整个服务或者应用程序的元组流向,可以用这个链表的属性来设置微服务之间的延迟,元组由传感器生成并发送到传感器所连接的网关,一旦元组到达边缘设备(网关),就会调用回调函数来处理传入的元组processtuplearrival。如果元组需要路由到另一个边缘设备,则立即发送它而不进行处理,否则,如果需要执行tuple的应用程序模块被放置在接收边缘设备上,则提交tuple执行,进行边缘数据的调度算法执行调整。
25.部署模块,容器技术将所需的应用程序打包成单地址、注册存储的组件,需要一个简单的单行命令来完成部署,构建镜像是一个渐进的过程,dockerfile是个用于构建容器的指令,在进行下载apacheweb的服务器镜像(ttpd),并使用dockerfile在其上安装组件,对边缘容器调度算法进行算法建立。
26.容器抽象操作模块,虚拟化整个物理机器的资源,所以打包的服务可以在几毫秒内启动,相比之下,vmware启动虚拟机则需要几分钟的时间,在ubuntu15上的web应用程序,如果把操作系统升级到了最新的ubuntu17,这个应用程序将不会运行,因为它依赖于ubuntu15中的可用库,使用docker镜像来运行这个应用程序,不但可以将ubuntu升级到最新版本,而且应用程序将继续在完全独立于操作系统当前库的情况下运行。
27.容器桥接,容器提供用于内部通信的专用环回接口,它与外部通信完全隔绝,docker还创建了一个名为docker0的桥接接口,负责将数据从容器传输到容器,docker0接口充当容器的路由器,可以用于不同容器和主机之间的内部通信,将流量从外部网络路由到内部网络进行算法计算。
28.容器负载平衡调度,自动对应用程序进行打包,并对容器进行调度,为了确保完全利用和节省未使用的资源,kubernetes在关键工作负载和最佳工作负载之间进行平衡。
29.容器负载服务:通过kubernetes进行算法联接网络和通信,且kubernetes会自动为容器分配ip地址,并为一组容器分配一个dns名称,可以在集群内实现负载均衡。
30.存储业务模块:使用kubernetes,可以挂载所选择的存储系统,可以选择本地存储,或者选择公共云提供商(如gcp或aws),或者使用共享的网络存储系统.(如nfs、iscsi等)。
31.容器自动修复:kubernetes可以自动重启在执行过程中失败的容器,杀死那些不响应的容器,但是,如果节点本身死亡,那么它将在其它可用节点上替换和重新调度那些失败的容器。
32.容器隐私和配置管理:kubernetes可以帮助用户部署和更新隐私以及应用程序。
33.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
34.上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。

技术特征:
1.一种边缘容器调度算法,包括数据结构建立、部署模块、容器桥接模块、容器负载平衡调度、容器负载服务和容器自动修复;边缘容器调度扩展了cloudsim中原有的powerdatacenter类,说明了边缘设备的属性功能,定义了每个设备的内存,处理器,通信带宽容量,存储空间以及与其它边缘设备和终端的连接通信模式。定义了新的调度方法,功能为如何在云服务对象之间调度和部署边缘设备的资源,通过重写方法可以不断插入新的自定义调度策略;扩展后的cloudsim为了后续边缘计算调度算法的仿真,将服务或者应用建模为有向图,图的每个顶点表示为应用服务的或者数据模块,图的边表示为各个子服务之间的通信和数据传输关系,进行边缘容器调度算法应用。2.根据权利要求1所述的一种边缘容器调度算法,其特征在于:所述数据结构建立是一个链表,它控制整个服务或者应用程序的元组流向,可以用这个链表的属性来设置微服务之间的延迟,元组由传感器生成并发送到传感器所连接的网关,一旦元组到达边缘设备(网关),就会调用回调函数来处理传入的元组processtuplearrival,如果元组需要路由到另一个边缘设备,则立即发送它而不进行处理,否则,如果需要执行tuple的应用程序模块被放置在接收边缘设备上,则提交tuple执行,进行边缘数据的调度算法执行调整。3.根据权利要求1所述的一种边缘容器调度算法,其特征在于:所述部署模块,容器技术将所需的应用程序打包成单地址、注册存储的组件,需要一个简单的单行命令来完成部署,构建镜像是一个渐进的过程,dockerfile是个用于构建容器的指令,在进行下载apache web的服务器镜像(ttpd),并使用dockerfile在其上安装组件,对边缘容器调度算法进行算法建立。4.根据权利要求1所述的一种边缘容器调度算法,其特征在于:所述容器抽象操作模块,虚拟化整个物理机器的资源,所以打包的服务可以在几毫秒内启动,相比之下,vmware启动虚拟机则需要几分钟的时间,在ubuntu15上的web应用程序,如果把操作系统升级到了最新的ubuntu 17,这个应用程序将不会运行,因为它依赖于ubuntu 15中的可用库,使用docker镜像来运行这个应用程序,不但可以将ubuntu升级到最新版本,而且应用程序将继续在完全独立于操作系统当前库的情况下运行。5.根据权利要求1所述的一种边缘容器调度算法,其特征在于:所述容器桥接,容器提供用于内部通信的专用环回接口,它与外部通信完全隔绝,docker还创建了一个名为docker0的桥接接口,负责将数据从容器传输到容器,docker0接口充当容器的路由器,可以用于不同容器和主机之间的内部通信,将流量从外部网络路由到内部网络进行算法计算。6.根据权利要求1所述的一种边缘容器调度算法,其特征在于:所述容器负载平衡调度,自动对应用程序进行打包,并对容器进行调度,为了确保完全利用和节省未使用的资源,kubernetes在关键工作负载和最佳工作负载之间进行平衡。7.根据权利要求1所述的一种边缘容器调度算法,其特征在于:所述容器负载服务:通过kubernetes进行算法联接网络和通信,且kubernetes会自动为容器分配ip地址,并为一组容器分配一个dns名称,可以在集群内实现负载均衡。8.根据权利要求7所述的一种边缘容器调度算法,其特征在于:所述存储业务模块:使用kubernetes,可以挂载所选择的存储系统,可以选择本地存储,或者选择公共云提供商(如gcp或aws),或者使用共享的网络存储系统.(如nfs、iscsi等)。
9.根据权利要求1所述的一种边缘容器调度算法,其特征在于:所述容器自动修复:kubernetes可以自动重启在执行过程中失败的容器,杀死那些不响应的的容器,但是,如果节点本身死亡,那么它将在其它可用节点上替换和重新调度那些失败的容器。10.根据权利要求1所述的一种边缘容器调度算法,其特征在于:所述容器隐私和配置管理:kubernetes可以帮助用户部署和更新隐私以及应用程序。

技术总结
本发明涉及边缘容器调度技术领域,尤其涉及一种边缘容器调度算法,包括数据结构建立、部署模块、容器桥接模块、容器负载平衡调度、容器负载服务和容器自动修复;边缘容器调度扩展了Cloudsim中原有的PowerDatacenter类,说明了边缘设备的属性功能,定义了每个设备的内存,处理器,通信带宽容量,存储空间以及与其它边缘设备和终端的连接通信模式。定义了新的调度方法,功能为如何在云服务对象之间调度和部署边缘设备的资源,通过重写方法可以不断插入新的自定义调度策略。新的自定义调度策略。新的自定义调度策略。


技术研发人员:沈寓实 吴东方 蒋林华 张大伟 李爱雄 刘星妍
受保护的技术使用者:飞诺门阵(北京)科技有限公司
技术研发日:2023.04.15
技术公布日:2023/7/21
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐