CN114265664A - 边缘应用部署方法、装置、设备及存储介质 - Google Patents
边缘应用部署方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114265664A CN114265664A CN202111423720.5A CN202111423720A CN114265664A CN 114265664 A CN114265664 A CN 114265664A CN 202111423720 A CN202111423720 A CN 202111423720A CN 114265664 A CN114265664 A CN 114265664A
- Authority
- CN
- China
- Prior art keywords
- docker
- edge
- layers
- program
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 104
- 238000009434 installation Methods 0.000 claims abstract description 80
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000005540 biological transmission Effects 0.000 claims description 51
- 238000005457 optimization Methods 0.000 claims description 22
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004816 latex Substances 0.000 description 1
- 229920000126 latex Polymers 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请提供一种边缘应用部署方法、装置、设备及存储介质。包括接收多个边缘服务器发送的程序镜像获取请求;根据程序镜像获取请求,将目标应用对应的程序或安装包进行分层镜像化处理,得到多个Docker镜像层;对多个Docker镜像层进行分配后分别发送至多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层,以使多个边缘服务器中的每个边缘服务器从主服务器和/或其他边缘服务器获得其他的Docker镜像层得到多个Docker镜像层,并将多个Docker镜像层合并成一个镜像化程序或镜像化安装包,并运行镜像化程序或安装镜像化安装包,以完成对目标应用的部署。本申请的方法,提高了应用部署的效率。
Description
技术领域
本申请涉及通信技术,尤其涉及一种边缘应用部署方法、装置、设备及存储介质。
背景技术
随着物联网技术的不断发展,应用程序的运行方式正在发生变化,物联网对应用程序的响应时间提出了更高的要求。
目前,边缘计算作为一种新兴的计算模式,计算发生在数据收集和分析的位置附近,通过将计算服务放置在比云计算更靠近计算任务产生位置的边缘服务器上,可以让应用程序更快的做出响应,目前边缘计算可以基于Docker应用容器引擎实现。
但是,现有程序部署方法在向边缘服务器部署应用程序时,如果遇到网络中断的情况则需要进行数据的重传,存在着效率差的问题。
发明内容
本申请提供一种边缘应用部署方法、装置、设备及存储介质,用以解决网络中断的情况下向边缘服务器部署应用程序效率差的问题。
第一方面,本申请提供一种边缘应用部署方法,应用于主服务器,包括:接收多个边缘服务器发送的针对目标应用的程序镜像获取请求;根据程序镜像获取请求,将目标应用对应的程序或安装包进行分层镜像化处理,以得到多个Docker镜像层;对多个Docker镜像层进行分配后分别发送至多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层,以使多个边缘服务器中的每个边缘服务器从主服务器和/或其他边缘服务器获得其他的Docker镜像层得到多个Docker镜像层,并将多个Docker镜像层合并成一个镜像化程序或镜像化安装包,并运行镜像化程序或安装镜像化安装包,以完成对目标应用的部署。
在一种可能的实现方式中,对多个Docker镜像层进行分配后分别发送至多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层,以使多个边缘服务器中的每个边缘服务器从主服务器和/或其他边缘服务器获得其他的Docker镜像层得到多个Docker镜像层,包括:将多个Docker镜像层采用比特流BitTorrent协议分配后分别发送至多个边缘服务器中不同的边缘服务器,其中每个边缘服务器中存储至少一个Docker镜像层;将下载信息发送至多个边缘服务器,以使多个边缘服务器中的每个边缘服务器根据下载信息向主服务器和/或其他边缘服务器发送下载请求以获取其他的Docker镜像层,得到多个Docker镜像层,其中下载信息是根据程序镜像获取请求确定的,下载信息包括主服务器以及各边缘服务器对应的地址信息。
在一种可能的实现方式中,接收多个边缘服务器发送的针对目标应用的程序镜像获取请求之前,还包括:若确定有至少一个边缘服务器处于运行状态,则将已有的Docker镜像层发送至至少一个边缘服务器。
在一种可能的实现方式中,根据程序镜像获取请求,将目标应用对应的程序或安装包进行分层镜像化处理,以得到多个Docker镜像层之后,还包括:采用inotify-tools工具监控部署状态,以在确定得到多个Docker镜像层后删除对应的程序或安装包。
在一种可能的实现方式中,将目标应用对应的程序或安装包进行分层镜像化处理,以得到多个Docker镜像层之后,还包括:获取程序镜像获取请求对应的常规镜像,并计算常规镜像的内存占用量,其中常规镜像为不分层的镜像;计算多个Docker镜像层的内存占用量,并根据多个Docker镜像层的内存占用量与常规镜像的内存占用量,确定镜像优化结果;将镜像优化结果发送至客户端,以将镜像优化结果显示输出。
在一种可能的实现方式中,将目标应用对应的程序或安装包进行分层镜像化处理,以得到多个Docker镜像层之后,还包括:记录开始将多个Docker镜像层分配后发送至多个边缘服务器的第一时刻;接收多个边缘服务器中任一个边缘服务器发送的完成获得多个Docker镜像层的第二时刻;根据第一时刻以及第二时刻,确定第一镜像传输时间;使用传统镜像分发方法再次将多个Docker镜像层分配发送至多个边缘服务器,并记录使用传统镜像分发方法开始发送的第三时刻以及发送完成的第四时刻;根据第三时刻以及第四时刻,确定第二镜像传输时间;根据第一镜像传输时间和第二镜像传输时间,确定传输能力数据;将传输能力数据发送至客户端,以进行显示输出。
第二方面,本申请提供一种边缘应用部署方法,应用于边缘服务器,包括:向主服务器发送针对目标应用的程序镜像获取请求,以使主服务器根据程序镜像获取请求,将目标应用的对应的程序或安装包分层镜像化得到多个Docker镜像层,并将多个Docker镜像层进行分配后分别发送至多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层;从主服务器和/或其他边缘服务器获得其他的Docker镜像层,以得到多个Docker镜像层;将多个Docker镜像层合并成一个镜像化程序或镜像化安装包,并运行镜像化程序或安装镜像化安装包,以完成对目标应用的部署。
在一种可能的实现方式中,向主服务器发送针对目标应用的程序镜像获取请求,以使主服务器根据程序镜像获取请求,将目标应用的对应的程序或安装包分层镜像化得到多个Docker镜像层,并将多个Docker镜像层进行分配后分别发送至多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层,包括:向主服务器发送针对目标应用的程序镜像获取请求,以使主服务器将多个Docker镜像层采用比特流BitTorrent协议分配后分别发送至多个边缘服务器中不同的边缘服务器,其中每个边缘服务器中存储至少一个Docker镜像层,并将下载信息发送至多个边缘服务器,其中下载信息是根据程序镜像获取请求确定的,下载信息包括主服务器以及各边缘服务器对应的地址信息;相应地,从主服务器和/或其他边缘服务器获得其他的Docker镜像层,以得到多个Docker镜像层,包括:根据下载信息向主服务器和/或其他边缘服务器发送下载请求以获取其他的Docker镜像层,得到多个Docker镜像层,其中下载信息中包括主服务器以及各边缘服务器对应的地址信息。
在一种可能的实现方式中,向主服务器发送程序镜像获取请求之前,还包括:若边缘服务器处于运行状态,则接收主服务器发送的已有的Docker镜像层。
在一种可能的实现方式中,在向主服务器发送针对目标应用的程序镜像获取请求之前,还包括:第一边缘服务器接收主服务器发送的预设镜像,并将预设镜像发送至第二边缘服务器;第一边缘服务器使用流量控制工具限制第一边缘服务器的传输速度;第三边缘服务器和第四边缘服务器从第一边缘服务器和第二边缘服务器获取预设镜像;若第三边缘服务器和第四边缘服务器可以从第一边缘服务器和第二边缘服务器获取预设镜像,则确定单点网络不稳情况下可进行镜像传输。
第三方面,本申请提供一种边缘应用部署装置,应用于主服务器,包括:请求接收模块,用于接收多个边缘服务器发送的针对目标应用的程序镜像获取请求;镜像层获取模块,用于根据程序镜像获取请求,将目标应用对应的程序或安装包进行分层镜像化处理,以得到多个Docker镜像层;镜像层发送模块,用于对多个Docker镜像层进行分配后分别发送至多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层,以使多个边缘服务器中的每个边缘服务器从主服务器和/或其他边缘服务器获得其他的Docker镜像层得到多个Docker镜像层,并将多个Docker镜像层合并成一个镜像化程序或镜像化安装包,并运行镜像化程序或安装镜像化安装包,以完成对目标应用的部署。
第四方面,本申请提供一种边缘应用部署装置,应用于边缘服务器,包括:请求发送模块,用于向主服务器发送针对目标应用的程序镜像获取请求,以使主服务器根据程序镜像获取请求,将目标应用的对应的程序或安装包分层镜像化得到多个Docker镜像层,并将多个Docker镜像层进行分配后分别发送至多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层;镜像层获得模块,用于从主服务器和/或其他边缘服务器获得其他的Docker镜像层,以得到多个Docker镜像层;处理模块,用于将多个Docker镜像层合并成一个镜像化程序或镜像化安装包,并运行镜像化程序或安装镜像化安装包,以完成对目标应用的部署。
第五方面,本申请提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现如上述第一方面的边缘应用部署方法。
第六方面,本申请提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现如上述第二方面的边缘应用部署方法。
第七方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述第一方面的边缘应用部署方法。
第八方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述第二方面的边缘应用部署方法。
本申请提供的边缘应用部署方法、装置、设备及存储介质,通过接收多个边缘服务器发送的针对目标应用的程序镜像获取请求,并根据程序镜像获取请求,将目标应用对应的程序或安装包进行分层镜像化处理,得到多个Docker镜像层,将多个Docker镜像层分别发送至不同的边缘服务器,以使每个边缘服务器可以从主服务器和/或其他边缘服务器获得其他的Docker镜像层得到多个Docker镜像层,再将多个Docker镜像层合并成一个镜像化程序或镜像化安装包,最后进行镜像化程序的运行或镜像化安装包的安装,实现在部署边缘应用时主服务器或部分边缘服务器网络中断的情况下,不需要进行数据的重传或只需要重传部分数据的效果,达到了提高效率的目的。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的应用场景示意图;
图2为本申请实施例提供的边缘应用部署方法的流程示意图一;
图3为本申请实施例提供的一种镜像优化结果的图表示意图;
图4为本申请实施例提供的传输能力数据示意图;
图5为本申请实施例提供的边缘应用部署方法的流程示意图二;
图6为本申请实施例提供的边缘应用部署方法的交互流程示意图;
图7为本申请实施例提供的一种边缘应用部署装置示意图一;
图8为本申请实施例提供的一种边缘应用部署装置示意图二;
图9为本申请实施例提供的一种边缘应用部署装置示意图三;
图10为本申请实施例提供的一种边缘应用部署装置示意图四;
图11为本申请实施例提供的一种电子设备示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
随着物联网技术在日常生活中起到更多的作用,人们对于日常生活服务也提出了更快的网络服务响应速度的要求。
边缘计算技术使大量的计算发生在更靠近数据收集和分析的位置附近,使得获得计算结果的速度更快。目前边缘计算可以基于Openstack和Kubernetes等资源管理和调度平台实现,也可以使用Docker容器实现,Docker容器相对于Openstack和Kubernetes等资源管理和调度平台占用内存更小。但是现有的基于Docker容器的应用部署方法在网络中断的情况则需要进行数据的重传,存在着效率差的问题。
为了解决上述效率差的问题,本申请提出一种边缘应用部署方法,在边缘服务器向主服务器发送针对目标应用的程序镜像获取请求之后,主服务器通过接收边缘服务器发送的针对目标应用的程序镜像获取请求,对目标应用对应的程序或安装包进行分层镜像化处理,得到多个Docker镜像层,并把得到的多个Docker镜像层分配后分别发送到边缘服务器进行存储,让每个边缘服务器中存储有至少一个Docker镜像层,然后每个边缘服务器都可以从主服务器和/或其他边缘服务器获得其他的Docker镜像层得到上述多个Docker镜像层,并将多个Docker镜像层合并成一个镜像化程序或镜像化安装包,并运行镜像化程序或安装镜像化安装包,以完成对目标应用的部署。
本申请实施例提供的边缘应用部署方法应用于主服务器向边缘服务器进行应用部署的场景下。
图1为本申请实施例提供的应用场景示意图。如图1所示,该场景中,包括主服务器101以及多个边缘服务器(102、103、104、105)。其中,多个边缘服务器(102、103、104、105)可以是与主服务器101分离的,也可以是与主服务器同在一个实体服务器中的虚拟化服务器,若多个边缘服务器(102、103、104、105)是与主服务器101分离的,那么主服务器101与多个边缘服务器(102、103、104、105)之间通信连接。
在具体实现过程中,主服务器101,用于接收边缘服务器发送的针对目标应用的程序镜像获取请求,目标应用对应的程序或安装包进行分层镜像化处理得到多个Docker镜像层,以及将多个Docker镜像层向多个边缘服务器(102、103、104、105)分配后分别发送。
多个边缘服务器(102、103、104、105),用于接收上述多个Docker镜像层,其中每个边缘服务器在得到多个Docker镜像层中至少一层后,还从主服务器101和/或其他边缘服务器获取其他的Docker镜像层,直至获得上述多个Docker镜像层,并将多个Docker镜像层合并成一个镜像化程序或镜像化安装包,运行镜像化程序或安装镜像化安装包。上述边缘服务器(102、103、104、105)均具有GPU(graphics processing unit,图形处理器)和FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)的边缘节点加速器,且边缘服务器(102、103、104、105)中都具有Docker容器引擎,Docker容器引擎是基于私有Docker注册表的。
可以理解的是,本申请实施例示意的结构并不构成对边缘应用部署方法的具体限定。在本申请另一些可行的实施方式中,上述架构可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置,具体可根据实际应用场景确定,在此不做限制。图1所示的部件可以以硬件,软件,或软件与硬件的组合实现。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的边缘应用部署方法的流程示意图一。本申请实施例的执行主体可以是图1中的主服务器101。如图2所示,该方法包括:
S201:接收多个边缘服务器发送的针对目标应用的程序镜像获取请求。
在本步骤中,针对目标应用的程序镜像获取请求可以包括一种下载请求。
目标应用具体例如:Ubuntu、latex、Hadoop、Redis、MySQL和MariDB,本申请对应用的具体内容不作限制。
S202:根据程序镜像获取请求,将目标应用对应的程序或安装包进行分层镜像化处理,以得到多个Docker镜像层。
在本步骤中,多个Docker镜像层属于同一个只读层列表,也即多个Docker镜像层都是只读的,这些层表示程序或安装包不同的镜像部分,彼此堆叠可以对应的还原程序或安装包的镜像,Docker镜像层的构建和修改等都可以由Dockerfile完成。由本申请对Docker镜像层的层数不作限制,若希望使程序初次启动时有更快的启动速度,可以选择较少的层数。分层镜像化可以是先将目标应用对应的程序或安装包镜像化后进行分层处理,也可以是先对目标应用对应的程序或安装包分层处理再进行镜像化。
具体的,分层方法可以包括使用Dedupe技术进行分层。
S203:对多个Docker镜像层进行分配后分别发送至多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层,以使多个边缘服务器中的每个边缘服务器从主服务器和/或其他边缘服务器获得其他的Docker镜像层得到多个Docker镜像层,并将多个Docker镜像层合并成一个镜像化程序或镜像化安装包,并运行镜像化程序或安装镜像化安装包,以完成对目标应用的部署。
在本步骤中,对多个Docker镜像层进行分配可以是将每一个Docker镜像层分配给至少一个边缘服务器,发送则是按照分配结果进行发送,以保证所有Docker镜像层都会发送到边缘服务器。
例如,此时Docker镜像层共四层,若此时边缘服务器共3个,则可以将四层Docker镜像层中的三层分别发送至3个边缘服务器,再将最后一层Docker镜像层随机发送至3个边缘服务器中的1个。其中最后一层Docker镜像层的发送方法,还可以是分别检测三个边缘服务器的网络速度,将最后一层Docker镜像层发送至网络速度最快的边缘服务器。
从上述实施例的描述可知,本申请实施例提供的方法,通过接收多个边缘服务器发送的针对目标应用的程序镜像获取请求,并根据程序镜像获取请求,将目标应用对应的程序或安装包进行分层镜像化处理,得到多个Docker镜像层,将多个Docker镜像层分别发送至不同的边缘服务器,以使每个边缘服务器可以从主服务器和/或其他边缘服务器获得其他的Docker镜像层得到多个Docker镜像层,再将多个Docker镜像层合并成一个镜像化程序或镜像化安装包,最后进行镜像化程序的运行或镜像化安装包的安装,实现在部署边缘应用时主服务器或部分边缘服务器网络中断的情况下,不需要进行数据的重传或只需要重传部分数据的效果,达到了提高效率的目的。
在一种可能的实现方式中,在上述步骤S203中,对多个Docker镜像层进行分配后分别发送至多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层,以使多个边缘服务器中的每个边缘服务器从主服务器和/或其他边缘服务器获得其他的Docker镜像层得到多个Docker镜像层,具体包括:
S2031:将多个Docker镜像层采用比特流BitTorrent协议分配后分别发送至多个边缘服务器中不同的边缘服务器,其中每个边缘服务器中存储至少一个Docker镜像层。
在本步骤中,比特流BitTorrent协议是架构于TCP/IP协议(TransmissionControl Protocol/Internet Protocol,传输控制协议/网际协议)之上的一个P2P(peer-to-peer,伙伴对伙伴)文件传输协议,处于TCP/IP结构的应用层,依靠CDN(ContentDelivery Network,内容分发网络)机制。BitTorrent协议本身也包含了很多具体的内容协议和扩展协议。
S2032:将下载信息发送至多个边缘服务器,以使多个边缘服务器中的每个边缘服务器根据下载信息向主服务器和/或其他边缘服务器发送下载请求以获取其他的Docker镜像层,得到多个Docker镜像层,其中下载信息是根据程序镜像获取请求确定的,下载信息包括主服务器以及各边缘服务器对应的地址信息。
在本步骤中,下载信息可以是根据针对目标应用的程序镜像获取请求实时更新的。
具体例如,主服务器接收到边缘服务器A发送的程序镜像获取请求,此时将边缘服务器A属于上述多个边缘服务器,随后将边缘服务器A的地址信息加入下载信息中,并将多个边缘服务器的对应的下载信息发送至多个边缘服务器,使上述多个边缘服务器获得当前正在下载程序镜像的多个边缘服务器的地址信息。
从上述实施例的描述可知,本申请实施例使用比特流BitTorrent协议将多个Docker镜像层分配后分别发送至多个边缘服务器存储,实现了效率的提升。
在一种可能的实现方式中,在上述步骤S201中接收多个边缘服务器发送的针对目标应用的程序镜像获取请求之前,具体还包括:若确定有至少一个边缘服务器处于运行状态,则将已有的Docker镜像层发送至至少一个边缘服务器。
其中,确定有至少一个边缘服务器处于运行状态,可以是确定至少一个边缘服务器的Docker容器正在运行。将已有的Docker镜像层发送至至少一个边缘服务器,可以是使用传统的镜像分发方法,也可以是使用比特流BitTorrent协议将已有的Docker镜像层发送至至少一个边缘服务器。
从上述实施例的描述可知,本申请实施例通过在接收程序镜像获取请求之前,就将已有的Docker镜像层发送至正在运行的边缘服务器,免去了接收程序镜像获取请求之后再进行Docker镜像层分发的过程,减少了边缘应用部署的时间。
在一种可能的实现方式中,在上述步骤S202根据程序镜像获取请求,将目标应用对应的程序或安装包进行分层镜像化处理,以得到多个Docker镜像层之后,具体还包括:采用inotify-tools工具监控部署状态,以在确定得到多个Docker镜像层后删除对应的程序或安装包。
其中,采用inotify-tools工具监控部署状态即采用inotify-tools工具监控主服务器中的文件变动状况,在有新的多个Docker镜像层生成时,inotify-tools工具会将对应的程序或安装包进行删除。
从上述实施例的描述可知,通过监控服务器的文件状态,并在新增多个Docker镜像层后删除对应的程序或安装包,实现了减少生成镜像文件时带来的冗余文件的效果,降低了内存的占用量。
在一种可能的实现方式中,在上述步骤S202将目标应用对应的程序或安装包进行分层镜像化处理,以得到多个Docker镜像层之后,还包括:
S301:获取程序镜像获取请求对应的常规镜像,并计算常规镜像的内存占用量,其中常规镜像为不分层的镜像。
在本步骤中,常规镜像可以是使用传统的镜像产生方法得到的镜像,也可以是从网络上下载的镜像。
具体的,传统的镜像产生方法例如Docker原生的镜像产生方法,从网络上下载可以是从Docker Hub存储库中提取。
S302:计算多个Docker镜像层的内存占用量,并根据多个Docker镜像层的内存占用量与常规镜像的内存占用量,确定镜像优化结果。
在本步骤中,计算多个Docker镜像层的内存占用量,可以是将每个Docker镜像层的内存占用量相加,得到多个Docker镜像层的内存总占用量,将内存总占用量确定为多个Docker镜像层的内存占用量。镜像优化结果可以是表格、图表以及文字描述中的一种或多种,本申请对镜像优化结果的具体形式不作限制。
图3为本申请实施例提供的一种镜像优化结果的图表示意图。如图3所示,黑色柱表示传统的镜像产生方法得到的镜像的内存占用量,白色柱表示本申请得到的多个Docker镜像层的内存占用量。
S303:将镜像优化结果发送至客户端,以将镜像优化结果显示输出。
其中,主服务器与客户端可以是通信连接的,客户端应具备显示功能。
从上述实施例的描述可知,通过得到多个Docker镜像层之后,获取常规镜像,并比较常规镜像的内存占用量和本申请得到的多个Docker镜像层的内存占用量,得到镜像优化结果,镜像优化结果可以直观表现本申请得到的镜像内存占用量是否小于常规镜像的内存占用量。
在一种可能的实现方式中,在上述步骤S202将目标应用对应的程序或安装包进行分层镜像化处理,以得到多个Docker镜像层之后,还包括:
S401:记录开始将多个Docker镜像层分配后发送至多个边缘服务器的第一时刻。
在本步骤中,第一时刻可以是开始发送多个Docker镜像层的时刻,它可以结合服务器当前时间确定。
S402:接收多个边缘服务器中任一个边缘服务器发送的完成获得多个Docker镜像层的第二时刻。
在本步骤中,第二时刻代表多个Docker镜像层中的所有层已经传输完成的时刻。
S403:根据第一时刻以及第二时刻,确定第一镜像传输时间。
在本步骤中,第一镜像传输时间即第二时刻和第一时刻的差值。
S404:使用传统镜像分发方法再次将多个Docker镜像层分配发送至多个边缘服务器,并记录使用传统镜像分发方法开始发送的第三时刻以及发送完成的第四时刻。
在本步骤中,第四时刻的获得方式与步骤S402中第二时刻的获得方式类似,在这里不再赘述。传统镜像分发方法例如Docker原生的镜像分发方法。
S405:根据第三时刻以及第四时刻,确定第二镜像传输时间。
在本步骤中,第二镜像传输时间即第四时刻与第三时刻的时间差。
S406:根据第一镜像传输时间和第二镜像传输时间,确定传输能力数据。
在本步骤中,传输能力数据可以是时间或时间的倒数,它的表现形式可以是表格、图表以及文字描述中的一种或多种。
S407:将传输能力数据发送至客户端,以进行显示输出。
本步骤具体过程与上述步骤S303具体过程相似,在这里不在赘述。
在一种可能的实现方式中,上述步骤S401至步骤S405可以在不同节点数情况下多次进行,得到多个第一镜像传输时间和第二镜像传输时间,并确定相应的传输能力数据,图4为本申请实施例提供的传输能力数据示意图。如图4所示,图中实线为本申请所提供的方法得到的节点数与时间曲线,虚线为传统镜像分发方法得到的节点数与时间曲线。
从上述实施例的描述可知,本申请实施例通过记录本申请方法以及传统镜像分发方法从发送镜像到完成镜像发送的时间,可以确定传输能力数据,并通过将传输能力数据发送至客户端,可以实现传输能力数据的可视化输出,便于比较本申请提供的方法与传统镜像分发方法分发镜像的效率。
图5为本申请实施例提供的边缘应用部署方法的流程示意图二。本申请实施例的执行主体可以是图1中的任一个边缘服务器,如图5所示,本实施例的方法可以应用在边缘服务器中,该边缘应用部署方法包括:
S501:向主服务器发送针对目标应用的程序镜像获取请求,以使主服务器根据程序镜像获取请求,将目标应用的对应的程序或安装包分层镜像化得到多个Docker镜像层,并将多个Docker镜像层进行分配后分别发送至多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层。
S502:从主服务器和/或其他边缘服务器获得其他的Docker镜像层,以得到多个Docker镜像层。
在本步骤中,每个边缘服务器都可以识别接收到的Docker镜像层是多个Docker镜像层中的哪一部分,从而从主服务器和/或其他边缘服务器获得其他的Docker镜像层,相应的每个边缘服务器还可以向其他边缘服务器发送自己当前已有的Docker镜像层。
S503:将多个Docker镜像层合并成一个镜像化程序或镜像化安装包,并运行镜像化程序或安装镜像化安装包,以完成对目标应用的部署。
在本步骤中,将多个Docker镜像层合并可以是将多个Docker镜像层彼此堆叠。
本申请中的Docker镜像可以是基于BusyBox软件和alpine操作系统的。
从上述实施例的描述可知,本申请实施例通过向主服务器发送程序镜像获取请求得到至少一个Docker镜像层,再从其他边缘服务器获得其他Docker镜像层,最后将得到的多个Docker镜像层合并为一个镜像化的程序或安装包,以进行程序的运行或安装,实现边缘应用的部署。由于Docker镜像基于BusyBox软件和alpine操作系统,相较基于传统系统占用内存更小,同时由于可以从其他边缘服务器获取镜像,所以在主服务器和/或部分边缘服务器网络中断情况下依然可以获得多个Docker镜像层,提高了边缘服务器应用部署效率。
在一种可能的实现方式中,上述步骤S501中向主服务器发送针对目标应用的程序镜像获取请求,以使主服务器根据程序镜像获取请求,将目标应用的对应的程序或安装包分层镜像化得到多个Docker镜像层,并将多个Docker镜像层进行分配后分别发送至多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层,具体包括:向主服务器发送针对目标应用的程序镜像获取请求,以使主服务器将多个Docker镜像层采用比特流BitTorrent协议分配后分别发送至多个边缘服务器中不同的边缘服务器,其中每个边缘服务器中存储至少一个Docker镜像层,并将下载信息发送至多个边缘服务器,其中下载信息是根据程序镜像获取请求确定的,下载信息包括主服务器以及各边缘服务器对应的地址信息。
相应地,上述步骤S502中从主服务器和/或其他边缘服务器获得其他的Docker镜像层,以得到多个Docker镜像层,具体包括:根据下载信息向主服务器和/或其他边缘服务器发送下载请求以获取其他的Docker镜像层,得到多个Docker镜像层,其中下载信息中包括主服务器以及各边缘服务器对应的地址信息。
在一种可能的实现方式中,向主服务器发送程序镜像获取请求之前,具体还包括:若边缘服务器处于运行状态,则接收主服务器发送的已有的Docker镜像层。
在一种可能的实现方式中,在向主服务器发送针对目标应用的程序镜像获取请求之前,具体还包括:
S601:第一边缘服务器接收主服务器发送的预设镜像,并将预设镜像发送至第二边缘服务器。
在本步骤中,预设镜像可以是主服务器预先从Docker hub存储库中提取的,也可以是以一个预设程序或预设安装包镜像化得到的。
S602:第一边缘服务器使用流量控制工具限制第一边缘服务器的传输速度。
在本步骤中,流量控制工具可以是Linux系统自带的TC(Traffic Control,流量控制)模块。
S603:第三边缘服务器和第四边缘服务器从第一边缘服务器和第二边缘服务器获取预设镜像。
在本步骤中,获取预设镜像的方法可以是使用本申请上述实施例中提供的非传统镜像分发方法获得预设镜像。
S604:若第三边缘服务器和第四边缘服务器可以从第一边缘服务器和第二边缘服务器获取预设镜像,则确定单点网络不稳情况下可进行镜像传输。
在本步骤中,单点网络不稳情况是通过上述步骤S602限制第一边缘服务器实现的。
在一种可能的实现方式中,上述实施例中的第一边缘服务器、第二边缘服务器、第三边缘服务器以及第四边缘服务器均采用Linux操作系统、ARM-64处理器、128G内存、2T硬盘和1000mbps以太网。本实施例中,Docker版本是18.03,kubernetes版本是1.15。第一边缘服务器接收主服务器发送的预设镜像,并将预设镜像发送至第二边缘服务器,随后第一边缘服务器使用TC模块限制自身的传输速度为1Mbps。随后第三边缘服务器和第四边缘服务器从第一边缘服务器和第二边缘服务器获取预设镜像,如果第三边缘服务器和第四边缘服务器可以从第一边缘服务器和第二边缘服务器获取预设镜像,就可以说明单点网络不稳情况下,即第一服务器网络不稳定情况下,可进行镜像传输。
从上述实施例的描述可知,本申请实施例通过先让第一边缘服务器和第二边缘服务器获得预设镜像,随后使用流量控制工具实现模拟第一边缘服务器网络不稳定情况,再用第三边缘服务器和第四边缘服务器从第一边缘服务器和第二边缘服务器获得预设镜像,若可以获得预设镜像,则说明单点网络不稳情况下可进行镜像传输。
图6为本申请实施例提供的边缘应用部署方法的交互流程示意图。本实施例对主服务器和边缘服务器的交互过程进行描述,如图6所示,该方法包括:
S701:边缘服务器向主服务器发送针对目标应用的程序镜像获取请求。
S702:主服务器根据程序镜像获取请求,将目标应用的对应的程序或安装包分层镜像化得到多个Docker镜像层。
S703:主服务器将多个Docker镜像层进行分配后分别发送至多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层。
S704:边缘服务器从主服务器和/或其他边缘服务器获得其他的Docker镜像层,以得到多个Docker镜像层。
S705:边缘服务器将多个Docker镜像层合并成一个镜像化程序或镜像化安装包,并运行镜像化程序或安装镜像化安装包,以完成对目标应用的部署。
图7为本申请实施例提供的一种边缘应用部署装置示意图一。如图7所示,该边缘应用部署装置700,包括:请求接收模块701、镜像层获取模块702以及镜像层发送模块703。
请求接收模块701,用于接收多个边缘服务器发送的针对目标应用的程序镜像获取请求.
镜像层获取模块702,用于根据程序镜像获取请求,将目标应用对应的程序或安装包进行分层镜像化处理,以得到多个Docker镜像层。
镜像层发送模块703,用于对多个Docker镜像层进行分配后分别发送至多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层,以使多个边缘服务器中的每个边缘服务器从主服务器和/或其他边缘服务器获得其他的Docker镜像层得到多个Docker镜像层,并将多个Docker镜像层合并成一个镜像化程序或镜像化安装包,并运行镜像化程序或安装镜像化安装包,以完成对目标应用的部署。
在一种可能的实现方式中,上述镜像层发送模块703,具体用于将多个Docker镜像层采用比特流BitTorrent协议分配后分别发送至多个边缘服务器中不同的边缘服务器,其中每个边缘服务器中存储至少一个Docker镜像层。将下载信息发送至多个边缘服务器,以使多个边缘服务器中的每个边缘服务器根据下载信息向主服务器和/或其他边缘服务器发送下载请求以获取其他的Docker镜像层,得到多个Docker镜像层,其中下载信息是根据程序镜像获取请求确定的,下载信息包括主服务器以及各边缘服务器对应的地址信息。
图8为本申请实施例提供的一种边缘应用部署装置示意图二。如图8所示,边缘应用部署装置700,还包括预发送模块704。
预发送模块704,用于若确定有至少一个边缘服务器处于运行状态,则将已有的Docker镜像层发送至至少一个边缘服务器。
继续参考图8。如图8所示,边缘应用部署装置700,还包括文件删除模块705。
文件删除模块705,用于采用inotify-tools工具监控部署状态,以在确定得到多个Docker镜像层后删除对应的程序或安装包。
继续参考图8。如图8所示,边缘应用部署装置700,还包括占用量获取模块706、优化结果确定模块707以及优化结果输出模块708。
占用量获取模块706,用于获取程序镜像获取请求对应的常规镜像,并计算常规镜像的内存占用量,其中常规镜像为不分层的镜像。
优化结果确定模块707,用于计算多个Docker镜像层的内存占用量,并根据多个Docker镜像层的内存占用量与常规镜像的内存占用量,确定镜像优化结果。
优化结果输出模块708,用于将镜像优化结果发送至客户端,以将镜像优化结果显示输出。
继续参考图8。如图8所示,边缘应用部署装置700,还包括:第一时刻记录模块709、第二时刻记录模块710、第一传输时间确定模块711、第三时刻记录模块712、第二传输时间确定模块713、传输能力数据确定模块714以及显示输出模块715。
第一时刻记录模块709,用于记录开始将多个Docker镜像层分配后发送至多个边缘服务器的第一时刻;
第二时刻记录模块710,用于接收多个边缘服务器中任一个边缘服务器发送的完成获得多个Docker镜像层的第二时刻;
第一传输时间确定模块711,用于根据第一时刻以及第二时刻,确定第一镜像传输时间;
第三时刻记录模块712,用于使用传统镜像分发方法再次将多个Docker镜像层分配发送至多个边缘服务器,并记录使用传统镜像分发方法开始发送的第三时刻以及发送完成的第四时刻;
第二传输时间确定模块713,用于根据第三时刻以及第四时刻,确定第二镜像传输时间;
传输能力数据确定模块714,用于根据第一镜像传输时间和第二镜像传输时间,确定传输能力数据;
显示输出模块715,用于将传输能力数据发送至客户端,以进行显示输出。
图9为本申请实施例提供的一种边缘应用部署装置示意图三。如图9所示,该边缘应用部署装置900,包括:请求发送模块901、镜像层获得模块902以及处理模块903。
请求发送模块901,用于向主服务器发送针对目标应用的程序镜像获取请求,以使主服务器根据程序镜像获取请求,将目标应用的对应的程序或安装包分层镜像化得到多个Docker镜像层,并将多个Docker镜像层进行分配后分别发送至多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层。
镜像层获得模块902,用于从主服务器和/或其他边缘服务器获得其他的Docker镜像层,以得到多个Docker镜像层。
处理模块903,用于将多个Docker镜像层合并成一个镜像化程序或镜像化安装包,并运行镜像化程序或安装镜像化安装包,以完成对目标应用的部署。
在一种可能的实现方式中,请求发送模块901,具体用于,向主服务器发送针对目标应用的程序镜像获取请求,以使主服务器将多个Docker镜像层采用比特流BitTorrent协议分配后分别发送至多个边缘服务器中不同的边缘服务器,其中每个边缘服务器中存储至少一个Docker镜像层,并将下载信息发送至多个边缘服务器,其中下载信息是根据程序镜像获取请求确定的,下载信息包括主服务器以及各边缘服务器对应的地址信息。根据下载信息向主服务器和/或其他边缘服务器发送下载请求以获取其他的Docker镜像层,得到多个Docker镜像层,其中下载信息中包括主服务器以及各边缘服务器对应的地址信息。
图10为本申请实施例提供的一种边缘应用部署装置示意图四。如图10所示,该边缘应用部署装置900,还包括:镜像层接收模块904。
镜像层接收模块904,用于若边缘服务器处于运行状态,则接收主服务器发送的已有的Docker镜像层。
继续参考图10。如图10所示,该边缘应用部署装置900,还包括:镜像转发模块905、限速模块906、预设镜像获取模块907以及判断模块908。
镜像转发模块905,用于第一边缘服务器接收主服务器发送的预设镜像,并将预设镜像发送至第二边缘服务器。
限速模块906,用于第一边缘服务器使用流量控制工具限制第一边缘服务器的传输速度。
预设镜像获取模块907,用于第三边缘服务器和第四边缘服务器从第一边缘服务器和第二边缘服务器获取预设镜像。
判断模块908,用于若第三边缘服务器和第四边缘服务器可以从第一边缘服务器和第二边缘服务器获取预设镜像,则确定单点网络不稳情况下可进行镜像传输。
图11为本申请实施例提供的一种电子设备示意图,如图11所示,电子设备1100,包括:处理器1101,以及与处理器通信连接的存储器1102。存储器1102存储计算机执行指令。处理器1101执行存储器1102存储的计算机执行指令,以实现如上述任一实施例的边缘应用部署方法。处理器1101与存储器1102之间可以由总线连接。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如上述任一实施例中的边缘应用部署方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时,实现如上的边缘应用部署方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (16)
1.一种边缘应用部署方法,其特征在于,应用于主服务器,包括:
接收多个边缘服务器发送的针对目标应用的程序镜像获取请求;
根据所述程序镜像获取请求,将所述目标应用对应的程序或安装包进行分层镜像化处理,以得到多个Docker镜像层;
对所述多个Docker镜像层进行分配后分别发送至所述多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层,以使所述多个边缘服务器中的每个边缘服务器从所述主服务器和/或其他边缘服务器获得其他的Docker镜像层得到所述多个Docker镜像层,并将所述多个Docker镜像层合并成一个镜像化程序或镜像化安装包,并运行所述镜像化程序或安装所述镜像化安装包,以完成对所述目标应用的部署。
2.根据权利要求1所述的方法,其特征在于,所述对所述多个Docker镜像层进行分配后分别发送至所述多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层,以使所述多个边缘服务器中的每个边缘服务器从所述主服务器和/或其他边缘服务器获得其他的Docker镜像层得到所述多个Docker镜像层,包括:
将所述多个Docker镜像层采用比特流BitTorrent协议分配后分别发送至所述多个边缘服务器中不同的边缘服务器,其中每个边缘服务器中存储至少一个Docker镜像层;
将下载信息发送至所述多个边缘服务器,以使所述多个边缘服务器中的每个边缘服务器根据所述下载信息向所述主服务器和/或其他边缘服务器发送下载请求以获取其他的Docker镜像层,得到多个Docker镜像层,其中所述下载信息是根据所述程序镜像获取请求确定的,所述下载信息包括主服务器以及各边缘服务器对应的地址信息。
3.根据权利要求1所述的方法,其特征在于,所述接收多个边缘服务器发送的针对目标应用的程序镜像获取请求之前,还包括:
若确定有至少一个边缘服务器处于运行状态,则将已有的Docker镜像层发送至所述至少一个边缘服务器。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述程序镜像获取请求,将所述目标应用对应的程序或安装包进行分层镜像化处理,以得到多个Docker镜像层之后,还包括:
采用inotify-tools工具监控部署状态,以在确定得到所述多个Docker镜像层后删除对应的程序或安装包。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述将所述目标应用对应的程序或安装包进行分层镜像化处理,以得到多个Docker镜像层之后,还包括:
获取所述程序镜像获取请求对应的常规镜像,并计算所述常规镜像的内存占用量,其中所述常规镜像为不分层的镜像;
计算所述多个Docker镜像层的内存占用量,并根据所述多个Docker镜像层的内存占用量与所述常规镜像的内存占用量,确定镜像优化结果;
将所述镜像优化结果发送至客户端,以将镜像优化结果显示输出。
6.根据权利要求1至3任一项所述的方法,其特征在于,所述将所述目标应用对应的程序或安装包进行分层镜像化处理,以得到多个Docker镜像层之后,还包括:
记录开始将所述多个Docker镜像层分配后发送至所述多个边缘服务器的第一时刻;
接收所述多个边缘服务器中任一个边缘服务器发送的完成获得所述多个Docker镜像层的第二时刻;
根据所述第一时刻以及第二时刻,确定第一镜像传输时间;
使用传统镜像分发方法再次将所述多个Docker镜像层分配发送至所述多个边缘服务器,并记录使用传统镜像分发方法开始发送的第三时刻以及发送完成的第四时刻;
根据所述第三时刻以及第四时刻,确定第二镜像传输时间;
根据所述第一镜像传输时间和所述第二镜像传输时间,确定传输能力数据;
将所述传输能力数据发送至客户端,以进行显示输出。
7.一种边缘应用部署方法,其特征在于,应用于边缘服务器,包括:
向主服务器发送针对目标应用的程序镜像获取请求,以使所述主服务器根据所述程序镜像获取请求,将所述目标应用的对应的程序或安装包分层镜像化得到多个Docker镜像层,并将所述多个Docker镜像层进行分配后分别发送至多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层;
从所述主服务器和/或其他边缘服务器获得其他的Docker镜像层,以得到所述多个Docker镜像层;
将所述多个Docker镜像层合并成一个镜像化程序或镜像化安装包,并运行所述镜像化程序或安装所述镜像化安装包,以完成对所述目标应用的部署。
8.根据权利要求7所述的方法,其特征在于,所述向主服务器发送针对目标应用的程序镜像获取请求,以使所述主服务器根据所述程序镜像获取请求,将所述目标应用的对应的程序或安装包分层镜像化得到多个Docker镜像层,并将所述多个Docker镜像层进行分配后分别发送至所述多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层,包括:
向主服务器发送针对目标应用的程序镜像获取请求,以使所述主服务器将所述多个Docker镜像层采用比特流BitTorrent协议分配后分别发送至所述多个边缘服务器中不同的边缘服务器,其中每个边缘服务器中存储至少一个Docker镜像层,并将下载信息发送至所述多个边缘服务器,其中所述下载信息是根据所述程序镜像获取请求确定的,所述下载信息包括主服务器以及各边缘服务器对应的地址信息;
相应地,从所述主服务器和/或其他边缘服务器获得其他的Docker镜像层,以得到所述多个Docker镜像层,包括:
根据所述下载信息向所述主服务器和/或其他边缘服务器发送下载请求以获取其他的Docker镜像层,得到多个Docker镜像层,其中所述下载信息中包括主服务器以及各边缘服务器对应的地址信息。
9.根据权利要求7或8所述的方法,其特征在于,所述向主服务器发送程序镜像获取请求之前,还包括:
若所述边缘服务器处于运行状态,则接收所述主服务器发送的已有的Docker镜像层。
10.根据权利要求7或8任一项所述的方法,其特征在于,在所述向主服务器发送针对目标应用的程序镜像获取请求之前,还包括:
第一边缘服务器接收所述主服务器发送的预设镜像,并将所述预设镜像发送至第二边缘服务器;
第一边缘服务器使用流量控制工具限制所述第一边缘服务器的传输速度;
第三边缘服务器和第四边缘服务器从所述第一边缘服务器和所述第二边缘服务器获取所述预设镜像;
若所述第三边缘服务器和所述第四边缘服务器可以从所述第一边缘服务器和所述第二边缘服务器获取所述预设镜像,则确定单点网络不稳情况下可进行镜像传输。
11.一种边缘应用部署装置,其特征在于,应用于主服务器,包括:
请求接收模块,用于接收多个边缘服务器发送的针对目标应用的程序镜像获取请求;
镜像层获取模块,用于根据所述程序镜像获取请求,将所述目标应用对应的程序或安装包进行分层镜像化处理,以得到多个Docker镜像层;
镜像层发送模块,用于对所述多个Docker镜像层进行分配后分别发送至所述多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层,以使所述多个边缘服务器中的每个边缘服务器从所述主服务器和/或其他边缘服务器获得其他的Docker镜像层得到所述多个Docker镜像层,并将所述多个Docker镜像层合并成一个镜像化程序或镜像化安装包,并运行所述镜像化程序或安装所述镜像化安装包,以完成对所述目标应用的部署。
12.一种边缘应用部署装置,其特征在于,应用于边缘服务器,包括:
请求发送模块,用于向主服务器发送针对目标应用的程序镜像获取请求,以使所述主服务器根据所述程序镜像获取请求,将所述目标应用的对应的程序或安装包分层镜像化得到多个Docker镜像层,并将所述多个Docker镜像层进行分配后分别发送至多个边缘服务器存储,其中每个边缘服务器中存储有至少一个Docker镜像层;
镜像层获得模块,用于从所述主服务器和/或其他边缘服务器获得其他的Docker镜像层,以得到所述多个Docker镜像层;
处理模块,用于将所述多个Docker镜像层合并成一个镜像化程序或镜像化安装包,并运行所述镜像化程序或安装所述镜像化安装包,以完成对所述目标应用的部署。
13.一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至6中任一项所述的边缘应用部署方法。
14.一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求7至10中任一项所述的边缘应用部署方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至6中任一项所述的边缘应用部署方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求7至10中任一项所述的边缘应用部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111423720.5A CN114265664A (zh) | 2021-11-26 | 2021-11-26 | 边缘应用部署方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111423720.5A CN114265664A (zh) | 2021-11-26 | 2021-11-26 | 边缘应用部署方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114265664A true CN114265664A (zh) | 2022-04-01 |
Family
ID=80825641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111423720.5A Pending CN114265664A (zh) | 2021-11-26 | 2021-11-26 | 边缘应用部署方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114265664A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500539A (zh) * | 2022-04-14 | 2022-05-13 | 浙江大云物联科技有限公司 | 智慧路灯系统中边缘应用部署方法、装置及可读存储介质 |
-
2021
- 2021-11-26 CN CN202111423720.5A patent/CN114265664A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500539A (zh) * | 2022-04-14 | 2022-05-13 | 浙江大云物联科技有限公司 | 智慧路灯系统中边缘应用部署方法、装置及可读存储介质 |
CN114500539B (zh) * | 2022-04-14 | 2022-08-16 | 浙江大云物联科技有限公司 | 智慧路灯系统中边缘应用部署方法、装置及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10754575B2 (en) | Storage system with replication process utilizing simulated target responses | |
US11157457B2 (en) | File management in thin provisioning storage environments | |
US11093148B1 (en) | Accelerated volumes | |
EP3554010A1 (en) | Method and system for use in constructing content delivery network platform on heterogeneous resources | |
TW201423425A (zh) | 資料分塊儲存至分散式伺服器的系統及方法 | |
CN113535648A (zh) | 一种基于ipfs的分布式云存储方法、设备及存储介质 | |
CN110198330B (zh) | 镜像下载方法和装置 | |
US20170153909A1 (en) | Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine | |
CN112698838B (zh) | 多云容器部署系统及其容器部署方法 | |
WO2016162797A1 (en) | Provisioning data to distributed computing systems | |
CN108234551A (zh) | 一种数据处理方法及装置 | |
KR101371202B1 (ko) | 멀티 메타데이터 서버 구조를 갖는 분산 파일 시스템 및 이를 이용한 데이터 처리 방법 | |
CN114265664A (zh) | 边缘应用部署方法、装置、设备及存储介质 | |
US10931750B1 (en) | Selection from dedicated source volume pool for accelerated creation of block data volumes | |
CN111225003A (zh) | 一种nfs节点配置方法和装置 | |
US11099767B2 (en) | Storage system with throughput-based timing of synchronous replication recovery | |
US10956442B1 (en) | Dedicated source volume pool for accelerated creation of block data volumes from object data snapshots | |
US11706320B2 (en) | Scalable leader-based total order broadcast protocol for distributed computing systems | |
CN112751717B (zh) | 一种业务流量的管理系统以及方法 | |
CN114726909A (zh) | 云服务迁移信息处理方法、装置、设备、介质及产品 | |
CN114500546A (zh) | 基于负载均衡集群的通信消息发送方法、装置及设备 | |
CN107967165A (zh) | 基于lvm的虚拟机离线迁移方法 | |
CN115373831A (zh) | 数据处理方法、装置以及计算机可读存储介质 | |
CN112653539A (zh) | 一种待存储数据的存储方法、装置以及设备 | |
CN110784775A (zh) | 一种视频分片缓存方法、装置及视频点播系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |