CN115052033B - 一种智能工厂基于资源共享的微服务有效容器化部署方法 - Google Patents

一种智能工厂基于资源共享的微服务有效容器化部署方法 Download PDF

Info

Publication number
CN115052033B
CN115052033B CN202210619201.4A CN202210619201A CN115052033B CN 115052033 B CN115052033 B CN 115052033B CN 202210619201 A CN202210619201 A CN 202210619201A CN 115052033 B CN115052033 B CN 115052033B
Authority
CN
China
Prior art keywords
micro
service
server
services
deployed
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.)
Active
Application number
CN202210619201.4A
Other languages
English (en)
Other versions
CN115052033A (zh
Inventor
刘宇翔
杨博
吴雨
郑忠斌
陈彩莲
关新平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202210619201.4A priority Critical patent/CN115052033B/zh
Publication of CN115052033A publication Critical patent/CN115052033A/zh
Application granted granted Critical
Publication of CN115052033B publication Critical patent/CN115052033B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种智能工厂基于资源共享的微服务有效容器化部署方法,涉及智能制造领域,本发明基于微服务的分层结构和微服务链建立***的镜像拉取延迟模型和通讯开销模型,将优化问题建模为整数二次规划问题并可以通过商业求解器进行求解。本发明通过基于资源共享的微服务部署方案,可以达到降低镜像拉取延迟和通讯开销从而提高微服务响应效率的目的。

Description

一种智能工厂基于资源共享的微服务有效容器化部署方法
技术领域
本发明涉及智能制造领域,尤其涉及一种智能工厂基于资源共享的微服务有效容器化部署方法。
背景技术
随着智能制造和柔性生产的高速发展,工业生产的灵活性大大增强。这就要求工业软件能够根据订单的变化迅速进行生产工序的重新分配与调整,对工业软件的灵活性、扩展性提出了更高的要求。传统的工业软件采用单体式服务架构,服务内部的高耦合性和高占用率使得整个***具有较高的复杂度,其扩展性、稳定性和容错性都难以满足智能制造的要求,因此基于微服务的工业软件架构被人们广泛关注。通过微服务架构,一个完整的服务可以按照业务和功能需求拆分成多个松散耦合的微服务,相互协作完成生产任务。不同微服务之间逻辑独立,具备高度的灵活性、可扩展性和容错性,可以很好地适应智能制造的要求,满足生产定制化的需要。
智能制造中存在大量计算密集型生产任务,为了满足计算密集型生产任务对实时性和服务效率的高要求,面向边缘计算的微服务平台正在兴起。边缘计算是一种新型计算范式,通过部署在设备近端的小型边缘服务器提供低延迟的计算服务,可以充分利用终端设备、边缘节点和云服务器的计算资源。目前,以Docker为代表的容器技术以及谷歌开发的容器编排工具Kubernetes正在成为边缘平台上微服务部署和维护的主流解决方案。通过容器编排工具,每一个微服务都可以被打包成一个Docker镜像,根据服务请求和部署策略部署到边缘服务器。
在微服务容器化部署的过程中,如何提高服务效率使得部署的微服务能够迅速启动、运行并得出计算结果是至关重要的问题。服务效率主要受两个方面影响,一是微服务的启动时间,太长的微服务启动时间会使服务响应的速度变得缓慢;二是微服务间的通讯开销,输入数据、计算结果的传输会导致传输时延从而影响服务效率。
微服务的启动时间主要取决于Docker镜像的拉取延迟。Docker镜像一般包括运行时工具、***工具和***依赖项,通过不同的镜像层存储在云中。在本地需要提供服务时,边缘服务器首先从云端拉取包含所有必需层的非本地容器镜像,并将其部署在边缘服务器上。由于网络带宽有限,因此镜像拉取会产生相应的下行链路延迟,延迟取决于拉取的镜像大小和链路带宽。一项针对微服务镜像的综合研究表明,带宽为100Mbps时,单个镜像的平均启动时间约为20.7秒,而平均镜像拉取延迟约为15.8秒,占平均启动时间的76.6%。镜像拉取延迟已经成为影响容器启动时间的不可忽视的因素,进而影响服务响应的效率。
另一方面,微服务的通讯开销则取决于微服务间的通讯数据量。由于生产的连续性,工业应用程序可能由多个部署在一台或多台边缘服务器上的微服务先后配合共同完成。例如,半导体制造的设备故障检测(Equipment Failure Detection,EFD)功能可以由六个输入输出相互连接的微服务进行实现,包括源数据访问、特征提取、基于k近邻(k-Nearest Neighbor,kNN)聚类的学习服务、XGBoost、支持向量机和结果聚合服务。这些微服务可以称为微服务链,位于同一条微服务链上的微服务之间会进行频繁的信息交互。例如,在设备故障检测中,获取的源数据需要传输到特征提取微服务进行数据处理、处理完成的特征向量文件需要发送到下一个微服务进行聚类。微服务之间的大量数据传输会导致高传输时延,进而影响服务响应效率。
优化服务效率的一个有效方法是资源共享。虽然微服务的功能各不相同,但是微服务之间也存在着共性。通过对共性资源的重复利用,可以提升微服务的响应效率与服务质量。
资源共享的一个策略是层共享。尽管生产设备(机械臂、AGV、摄像头等)多种多样,但是同类型的微服务可以基于相同的基础层进行实现。例如,故障检测、人脸识别、质量检测的微服务镜像都可以通过Python公共基础层进行实现;生产数据保存、查询相关的微服务镜像都可以通过MySQL公共基础层进行实现。Docker原生支持层的共享,若部署在同一台边缘服务器上的微服务使用了相同的基础层,那么在进行镜像拉取时该层只会拉取一次而不会重复拉取,该层可以被所有微服务共享。通过共享相同的基础层,可以有效减少镜像拉取的延迟,从而提升微服务的启动速度和服务响应效率。
资源共享的另一个策略是链共享。在微服务链中,相邻的两个微服务之间存在频繁的信息传递,若两个微服务部署于不同的边缘服务器,那么信息需要通过多跳传输;若两个微服务部署于同一台服务器,那么通过共享同一片内存地址,需传递的信息可以直接由下一个微服务进行访问,不需要进行数据的多跳传输,进而减少由于数据传输产生的延迟、丢包等问题。
在以上两种资源共享方案中,层共享会将不同微服务链上的同类型微服务部署在一起以便于重复利用相同的基础层,链共享则倾向于将同一条微服务链上的微服务部署在一起,通过共享内存减少数据传输。然而,由于边缘服务器的资源受限,微服务不可能都部署在同一台边缘服务器。
针对微服务间的资源共享问题,微服务的部署主要面临以下两个困难。1)如何对微服务镜像的分层结构进行建模从而准确描述出微服务镜像和容器层之间的关系。2)如何描述微服务的链式结构和微服务间的通讯数据量。3)如何同时考虑层共享和链共享建立优化问题,并基于相应的求解方法实现最佳的资源共享权衡,从而提高服务响应的效率。
因此,本领域的技术人员致力于开发一种最佳的微服务部署策略来进行层共享和链共享之间的权衡。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是如何提高生产过程中的服务响应速率。为实现上述目的,本发明提供了一种智能工厂基于资源共享的微服务有效容器化部署方法,其特征在于,基于微服务的分层结构和微服务链建立***的镜像拉取延迟模型和通讯开销模型,将优化问题构建为整数二次规划问题并通过商业求解器进行求解。
进一步地,所述方法包括以下步骤:
步骤1、***建模,针对智能制造***,进行详细的***建模以描述镜像层、所述微服务链与服务响应效率之间的关系;
步骤2、构建整数二次规划问题进行镜像拉取延迟和通讯开销的优化;
步骤3、使用求解器进行求解得出最优的部署策略;
步骤4、使用求得的部署策略进行微服务部署。
进一步地,所述步骤1还包括以下步骤:
步骤1.1、边缘服务器的建模;
步骤1.2、微服务镜像及镜像层的建模;
步骤1.3、数据传输和多跳模型的建模;
步骤1.4、所述微服务链的建模。
进一步地,所述步骤1.1中,智能制造***中包含
Figure BDA0003674459630000031
台所述边缘服务器,以及一台部署在远端的云服务器用于储存微服务镜像;每台所述边缘服务器上都有有限的计算、存储资源,可以部署一定数量的微服务;所述边缘服务器n的计算和存储资源分别表示为
Figure BDA0003674459630000032
Figure BDA0003674459630000033
所述云服务器和所述边缘服务器n之间的带宽是
Figure BDA0003674459630000034
进一步地,所述步骤1.2中,所有所述微服务镜像都存储在云服务器的微服务镜像注册表中,由所述边缘服务器根据部署的微服务进行拉取;每个完整的所述微服务镜像都由可共享的基础层和不可共享的层组成;将所有的层用L={1,2,···L}来表示,
Figure BDA0003674459630000035
表示第
Figure BDA0003674459630000036
层的大小;这样,每一个微服务都可以由
Figure BDA0003674459630000037
中的一层或多层组成,可以用Ekil∈{0,1}表示mski是否包含第l层。
进一步地,所述步骤1.3中,每台服务器会接收到不同的服务请求与数据,若此时服务器上部署有预期的微服务,服务请求就可以直接被处理,若服务器上没有部署预期的微服务,那么请求和数据就需要通过多跳传输到具有预期微服务的另一台边缘服务器;由于服务器之间地理位置不同,不同服务器之间通讯的多跳次数也存在差异,定义Dnn′为将请求或数据从服务器n传输到服务器n′的多跳次数,用一个矩阵D来表示所有服务器之间的多跳连接;
其中,
Figure BDA0003674459630000041
进一步地,所述步骤1.4中,将所述微服务链建模为有向加权无环图;每两个微服务mski和mskj之间都用交互权重
Figure BDA0003674459630000042
来表示两个微服务之间的通讯流量的大小;将交互图写为矩阵的形式,对于应用程序k,其交互矩阵定义为
Figure BDA0003674459630000043
其中,只有位于所述微服务链上的
Figure BDA0003674459630000044
有具体的数值,对于不位于所述微服务链上的
Figure BDA0003674459630000045
基于所述交互图,就可以进行通信开销的计算;如果一条所述微服务链上相邻的两个微服务部署在同一台所述边缘服务器上,由于它们可以共享硬件资源,需要交互的数据可以通过内存直接访问,不需要进行服务器之间的多跳数据传输;如果两个微服务部署在不同的服务器上,那么就需要通过服务器之间的通信链路进行多跳传输。
进一步地,所述步骤2还包括以下步骤:
步骤2.1、定义优化变量;为了表示微服务的部署,定义
Figure BDA0003674459630000046
表示mski的部署情况,
Figure BDA0003674459630000047
代表该微服务被部署在了所述边缘服务器n;由于微服务的分层结构,一旦一个微服务被部署在所述边缘服务器n,该所述微服务镜像所包含的所有层都需要存在于服务器n;用变量
Figure BDA0003674459630000048
来表示微服务层的下载情况,
Figure BDA0003674459630000049
表示第l层需被下载到所述边缘服务器n;
步骤2.2、构建目标函数
Figure BDA00036744596300000410
其中
Figure BDA00036744596300000411
S=[S1,…,SL]T
Figure BDA00036744596300000412
x=[(x1)T,…,(xK)T]T
Figure BDA00036744596300000413
Figure BDA00036744596300000414
⊙定义为两个矩阵的哈达玛积;Md为微服务的镜像拉取延迟,xTWx为微服务间的通讯开销,θ为权重因子,用于下载延迟和通信数据量之间的权衡;
步骤2.3、构建微服务部署约束Qx=b,该约束保证每个微服务只能被部署在一台服务器且必须被部署,其中
Figure BDA00036744596300000415
q=[1,1,...,1]1×N
Figure BDA0003674459630000051
步骤2.4、构建两个优化变量之间的约束;由于层共享的存在,如果在同一台服务器上部署的微服务可以共享相同的基础层,那么该基础层只需要下载一次;因此,
Figure BDA0003674459630000052
Figure BDA0003674459630000053
需要满足以下约束:
Figure BDA0003674459630000054
其中Z是一个大于1的任意大的常数,Y=[Y1,…,YN]T
Figure BDA0003674459630000055
其中
Figure BDA0003674459630000056
其第n位为1
Figure BDA0003674459630000057
其第l位为1
Figure BDA0003674459630000058
Eki=[Eki1,…,EkiL]T
步骤2.5、构建资源约束;所有所述微服务镜像层占用的存储空间不能超过服务器的最大存储,约束构建为
Fd≤CS,其中
Figure BDA0003674459630000059
S=[S1,…,SL]T
Figure BDA00036744596300000510
所有微服务请求的计算资源不能超过服务器的最大计算能力,约束构建为
Gx≤CC,其中G=[G1,…,GN]T
Figure BDA00036744596300000511
Figure BDA00036744596300000512
步骤2.6、构建变量约束,优化变量都为二元变量,约束构建为
Figure BDA00036744596300000513
进一步地,在步骤3中,经过所述步骤2得出优化问题的表达为
Figure BDA00036744596300000514
s.t.Qx=b
Figure BDA00036744596300000515
Fd≤CS
Gx≤CC
Figure BDA00036744596300000516
该问题为整数二次规划问题,直接输入到商用求解器Gurobi里求得数值解。
进一步地,在所述步骤4中,使用所述步骤3求得的x,d的数值解即为最优的平衡镜像拉取延迟与通讯开销的微服务部署策略,下一步,进行工程部署。
本发明具有以下技术效果:
1.本发明同时考虑了微服务镜像的分层结构和微服务间的链式结构,建立了最小化镜像拉取延迟和通讯开销的整数二次规划问题,从而可以得出最优的微服务部署方案以提高服务响应效率
2.相近的技术要么是使用迭代近似的算法,需要求解多次优化问题,要么是使用神经网络、强化学习之类的算法,结构复杂,本发明只需要获得***结构相关的参数,构建出参数矩阵求解一个整数二次规划问题即可得到部署方案,简单高效。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的一个较佳实施例的算法流程图。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的厚度。
如图1所示,为了优化生产过程中的服务响应效率,本发明尝试提出一种面向边缘计算场景的资源共享微服务部署方案。基于微服务的分层结构和微服务链建立***的镜像拉取延迟模型和通讯开销模型,通过模型重构将优化问题转化为整数二次规划问题并通过商业求解器进行求解。最终的微服务部署方案可以达到降低镜像拉取延迟和通讯开销从而提高微服务响应效率的目的。
面向边缘计算场景的资源共享微服务部署方案包括以下步骤:
步骤一:***建模,针对智能制造***,进行详细的***建模以描述镜像层、微服务链与服务响应效率之间的关系。主要包括如下步骤:
S1:边缘服务器的建模。智能制造***中包含
Figure BDA0003674459630000061
台边缘服务器,以及一台部署在远端的云服务器用于储存微服务镜像。每台边缘服务器上都有有限的计算、存储资源,可以部署一定数量的微服务。边缘服务器n的计算和存储资源分别表示为
Figure BDA0003674459630000062
Figure BDA0003674459630000063
云服务器和边缘服务器n之间的带宽是
Figure BDA0003674459630000064
S2:微服务镜像及镜像层的建模。所有微服务镜像都存储在云服务器的微服务镜像注册表中,由边缘服务器根据部署的微服务进行拉取。每个完整的微服务镜像都由一些可共享的基础层和一些不可共享的层组成。不同的层的大小是不同的,我们将所有的层用
Figure BDA0003674459630000071
来表示,
Figure BDA0003674459630000072
表示第
Figure BDA0003674459630000073
层的大小。这样,每一个微服务都可以由
Figure BDA0003674459630000074
中的一层或多层组成,可以用Ekil∈{0,1}表示mski是否包含第l层。
S3:数据传输和多跳模型的建模。每台服务器会接收到不同的服务请求与数据,若此时服务器上部署有预期的微服务,服务请求就可以直接被处理,若服务器上没有部署预期的微服务,那么请求和数据就需要通过多跳传输到具有预期微服务的另一台边缘服务器。由于服务器之间地理位置不同,不同服务器之间通讯的多跳次数也存在差异,我们定义Dnn′为将请求或数据从服务器n传输到服务器n′的多跳次数,该多跳次数可以通过这两台服务器之间的最短通讯路径得到。显然Dnn′=Dn′n,Dnn=0,我们可以用一个矩阵D来表示所有服务器之间的多跳连接。
Figure BDA0003674459630000075
S4:微服务链的建模。通常,微服务链可以被建模为有向无环图。然而,由于微服务之间存在通讯交互,为了更加清晰地表示出通讯数据对微服务部署的影响,可以将微服务链建模为有向加权无环图。每两个微服务mski和mskj之间都用交互权重
Figure BDA0003674459630000076
来表示两个微服务之间的通讯流量的大小。为了便于理解,交互图可以写为矩阵的形式,对于应用程序k,其交互矩阵定义为
Figure BDA0003674459630000077
其中,只有位于微服务链上的
Figure BDA0003674459630000078
有具体的数值,对于不位于微服务链上的
Figure BDA0003674459630000079
基于交互图,就可以进行通信开销的计算。如果一条微服务链上相邻的两个微服务部署在同一台边缘服务器上,由于它们可以共享硬件资源,需要交互的数据可以通过内存直接访问,不需要进行服务器之间的多跳数据传输。如果两个微服务部署在不同的服务器上,那么就需要通过服务器之间的通信链路进行多跳传输。
步骤二:构建整数二次规划问题进行镜像拉取延迟和通讯开销的优化。本发明针对步骤一中完成的***建模进行整数二次规划问题的构造并给出相应的约束条件。主要包括如下步骤:
S1:定义优化变量。为了表示微服务的部署,我们定义
Figure BDA00036744596300000710
表示mski的部署情况,
Figure BDA00036744596300000711
代表该微服务被部署在了边缘服务器n。由于微服务的分层结构,一旦一个微服务被部署在边缘服务器n,该微服务镜像所包含的所有层都需要存在于服务器n。我们用变量
Figure BDA00036744596300000712
来表示微服务层的下载情况,
Figure BDA00036744596300000713
表示第l层需被下载到边缘服务器n。
S2:构建目标函数
Figure BDA0003674459630000081
其中
Figure BDA0003674459630000082
S=[S1,…,SL]T
Figure BDA0003674459630000083
x=[(x1)T,…,(xK)T]T
Figure BDA0003674459630000084
Figure BDA0003674459630000085
⊙定义为两个矩阵的哈达玛积。Md为微服务的镜像拉取延迟,xTWx为微服务间的通讯开销,θ为权重因子,用于下载延迟和通信数据量之间的权衡。
S3:构建微服务部署约束Qx=b,该约束保证每个微服务只能被部署在一台服务器且必须被部署,其中
Figure BDA0003674459630000086
q=[1,1,...,1]1×N
Figure BDA0003674459630000087
S4:构建两个优化变量之间的约束。由于层共享的存在,如果在同一台服务器上部署的微服务可以共享相同的基础层,那么该基础层只需要下载一次。因此,
Figure BDA0003674459630000088
Figure BDA0003674459630000089
需要满足以下约束:
Figure BDA00036744596300000810
其中Z是一个大于1的任意大的常数,Y=[Y1,…,YN]T
Figure BDA00036744596300000811
其中
Figure BDA00036744596300000812
其第n位为1
Figure BDA00036744596300000813
其第l位为1
Figure BDA00036744596300000814
Eki=[Eki1,…,EkiL]T
S5:构建资源约束。所有微服务镜像层占用的存储空间不能超过服务器的最大存储,约束构建为
Fd≤CS,其中
Figure BDA00036744596300000815
S=[S1,…,SL]T
Figure BDA00036744596300000816
所有微服务请求的计算资源不能超过服务器的最大计算能力,约束构建为Gx≤CC,其中G=[G1,…,GN]T
Figure BDA00036744596300000817
Figure BDA0003674459630000091
S6:构建变量约束,优化变量都为二元变量,约束构建为
Figure BDA0003674459630000092
步骤三:使用求解器进行求解得出最优的部署策略。经过步骤二可以得出优化问题的表达为
Figure BDA0003674459630000093
s.t.Qx=b
Figure BDA0003674459630000094
Fd≤CS
Gx≤CC
Figure BDA0003674459630000095
该问题为整数二次规划问题,可以直接输入到商用求解器Gurobi里面得到数值解。
步骤四:使用求得的部署策略进行微服务部署。使用步骤三求得的x,d的数值解即为最优的平衡镜像拉取延迟与通讯开销的微服务部署策略,可以进行工程部署。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (2)

1.一种智能工厂基于资源共享的微服务有效容器化部署方法,其特征在于,基于微服务的分层结构和微服务链建立***的镜像拉取延迟模型和通讯开销模型,将优化问题建模为整数二次规划问题并通过商业求解器进行求解;
所述方法包括以下步骤:
步骤1、***建模,针对智能制造***,进行详细的***建模以描述镜像层、所述微服务链与服务响应效率之间的关系;
步骤2、构建整数二次规划问题进行镜像拉取延迟和通讯开销的优化;
步骤3、使用求解器进行求解得出最优的部署策略;
步骤4、使用求得的部署策略进行微服务部署;
其中,所述步骤1还包括以下步骤:
步骤1.1、边缘服务器的建模;
步骤1.2、微服务镜像及镜像层的建模;
步骤1.3、数据传输和多跳模型的建模;
步骤1.4、所述微服务链的建模;
所述步骤1.1中,智能制造***中包含
Figure FDA0004145423920000011
台所述边缘服务器,以及一台部署在远端的云服务器用于储存微服务镜像;每台所述边缘服务器上都有有限的计算、存储资源,部署一定数量的微服务;所述边缘服务器n的计算和存储资源分别表示为
Figure FDA0004145423920000012
Figure FDA0004145423920000014
所述云服务器和所述边缘服务器n之间的带宽是
Figure FDA0004145423920000013
所述步骤1.2中,所有所述微服务镜像都存储在云服务器的微服务镜像注册表中,由所述边缘服务器根据部署的微服务进行拉取;每个完整的所述微服务镜像都由可共享的基础层和不可共享的层组成;将所有的层用
Figure FDA0004145423920000015
来表示,
Figure FDA0004145423920000016
表示第l∈L层的大小;这样,每一个微服务都由
Figure FDA0004145423920000017
中的一层或多层组成,用Ekil∈{0,1}表示mski是否包含第l层;
所述步骤1.3中,每台服务器会接收到不同的服务请求与数据,若此时服务器上部署有预期的微服务,服务请求直接被处理,若服务器上没有部署预期的微服务,那么请求和数据就需要通过多跳传输到具有预期微服务的另一台边缘服务器;由于服务器之间地理位置不同,不同服务器之间通讯的多跳次数也存在差异,定义Dnn′为将请求或数据从服务器n传输到服务器n'的多跳次数,用一个矩阵D来表示所有服务器之间的多跳连接;
其中,
Figure FDA0004145423920000021
所述步骤1.4中,将所述微服务链建模为有向加权无环图;每两个微服务mski和mskj之间都用交互权重
Figure FDA0004145423920000022
来表示两个微服务之间的通讯流量的大小;将交互图写为矩阵的形式,对于应用程序k,其交互矩阵定义为
Figure FDA0004145423920000023
其中,只有位于所述微服务链上的
Figure FDA0004145423920000024
有具体的数值,对于不位于所述微服务链上的
Figure FDA0004145423920000025
基于所述交互图,进行通信开销的计算;如果一条所述微服务链上相邻的两个微服务部署在同一台所述边缘服务器上,由于它们共享硬件资源,需要交互的数据通过内存直接访问,不需要进行服务器之间的多跳数据传输;如果两个微服务部署在不同的服务器上,那么就需要通过服务器之间的通信链路进行多跳传输;
所述步骤2还包括以下步骤:
步骤2.1、定义优化变量;为了表示微服务的部署,定义
Figure FDA0004145423920000026
表示mski的部署情况,
Figure FDA0004145423920000027
代表该微服务被部署在了所述边缘服务器n;由于微服务的分层结构,一旦一个微服务被部署在所述边缘服务器n,该所述微服务镜像所包含的所有层都需要存在于服务器n;用变量
Figure FDA0004145423920000028
来表示微服务层的下载情况,
Figure FDA0004145423920000029
表示第l层需被下载到所述边缘服务器n;
步骤2.2、构建目标函数
Figure FDA00041454239200000210
其中
Figure FDA00041454239200000211
S=[S1,…,SL]T
Figure FDA00041454239200000212
x=[(x1)T,…,(xK)T]T
Figure FDA00041454239200000213
Figure FDA00041454239200000214
Figure FDA00041454239200000215
Figure FDA00041454239200000216
⊙定义为两个矩阵的哈达玛积;Md为微服务的镜像拉取延迟,xTWx为微服务间的通讯开销,θ为权重因子,用于下载延迟和通信数据量之间的权衡;
步骤2.3、构建微服务部署约束Qx=b,该约束保证每个微服务只能被部署在一台服务器且必须被部署,其中
Figure FDA00041454239200000217
Figure FDA0004145423920000031
步骤2.4、构建两个优化变量之间的约束;由于层共享的存在,如果在同一台服务器上部署的微服务共享相同的基础层,那么该基础层只需要下载一次;因此,
Figure FDA0004145423920000032
Figure FDA0004145423920000033
需要满足以下约束:
Figure FDA0004145423920000034
其中Z是一个大于1的任意大的常数,Y=[Y1,…,YN]T
Figure FDA0004145423920000035
其中
Figure FDA0004145423920000036
其第n位为1
Figure FDA0004145423920000037
其第l位为1
Figure FDA0004145423920000038
Eki=[Eki1,...,EkiL]T
步骤2.5、构建资源约束;所有所述微服务镜像层占用的存储空间不能超过服务器的最大存储,约束构建为
Fd≤CS,其中
Figure FDA0004145423920000039
S=[S1,…,SL]T
Figure FDA00041454239200000310
所有微服务请求的计算资源不能超过服务器的最大计算能力,约束构建为
Gx≤CC,其中G=[G1,…,GN]T
Figure FDA00041454239200000311
Figure FDA00041454239200000312
步骤2.6、构建变量约束,优化变量都为二元变量,约束构建为
Figure FDA00041454239200000313
在所述步骤3中,经过所述步骤2得出优化问题的表达为
Figure FDA00041454239200000314
s.t.Qx=b
Figure FDA00041454239200000315
Fd≤CS
Gx≤CC
Figure FDA00041454239200000316
该问题为整数二次规划问题,直接输入到商用求解器Gurobi里求得数值解。
2.如权利要求1所述的智能工厂基于资源共享的微服务有效容器化部署方法,其特征在于,在所述步骤4中,使用所述步骤3求得的x,d的数值解即为最优的平衡镜像拉取延迟与通讯开销的微服务部署策略,下一步,进行工程部署。
CN202210619201.4A 2022-06-01 2022-06-01 一种智能工厂基于资源共享的微服务有效容器化部署方法 Active CN115052033B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210619201.4A CN115052033B (zh) 2022-06-01 2022-06-01 一种智能工厂基于资源共享的微服务有效容器化部署方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210619201.4A CN115052033B (zh) 2022-06-01 2022-06-01 一种智能工厂基于资源共享的微服务有效容器化部署方法

Publications (2)

Publication Number Publication Date
CN115052033A CN115052033A (zh) 2022-09-13
CN115052033B true CN115052033B (zh) 2023-04-28

Family

ID=83159807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210619201.4A Active CN115052033B (zh) 2022-06-01 2022-06-01 一种智能工厂基于资源共享的微服务有效容器化部署方法

Country Status (1)

Country Link
CN (1) CN115052033B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024086344A1 (en) * 2022-10-20 2024-04-25 Fisher-Rosemount Systems, Inc. Compute fabric functionalities for a process control or automation system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388472A (zh) * 2018-03-01 2018-08-10 吉林大学 一种基于Docker集群的弹性任务调度***及方法
CN110058950A (zh) * 2019-04-17 2019-07-26 上海沄界信息科技有限公司 基于无服务器架构的分布式云计算方法及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10893100B2 (en) * 2015-03-12 2021-01-12 International Business Machines Corporation Providing agentless application performance monitoring (APM) to tenant applications by leveraging software-defined networking (SDN)
US11765225B2 (en) * 2019-03-18 2023-09-19 Reliance Jio Infocomm Limited Systems and methods for microservice execution load balancing in virtual distributed ledger networks
CN115623115B (zh) * 2020-03-31 2024-06-18 华为技术有限公司 一种跨设备创建应用快捷方式的方法、设备、***及存储介质
CN114338504B (zh) * 2022-03-15 2022-07-08 武汉烽火凯卓科技有限公司 一种基于网络边缘***的微服务部署和路由方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388472A (zh) * 2018-03-01 2018-08-10 吉林大学 一种基于Docker集群的弹性任务调度***及方法
CN110058950A (zh) * 2019-04-17 2019-07-26 上海沄界信息科技有限公司 基于无服务器架构的分布式云计算方法及设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Almiani Muder.Resilient Back Propagation Neural Network Security Model For Containerized Cloud Computing.《Simulation Modelling Practice and Theory 》.2022,全文. *
刘为 ; .微服务架构及相应云平台解析.科教导刊(下旬).2017,(01),全文. *
陆志刚 ; 徐继伟 ; 黄涛 ; .基于分片复用的多版本容器镜像加载方法.软件学报.2020,(06),全文. *

Also Published As

Publication number Publication date
CN115052033A (zh) 2022-09-13

Similar Documents

Publication Publication Date Title
CN115052033B (zh) 一种智能工厂基于资源共享的微服务有效容器化部署方法
Mouradian et al. Application component placement in NFV-based hybrid cloud/fog systems
CN105049353A (zh) 一种为业务配置路由路径的方法及控制器
CN111813539A (zh) 一种基于优先级与协作的边缘计算资源分配方法
CN113835899A (zh) 针对分布式图学习的数据融合方法及装置
Tran et al. Dependable control systems with Internet of Things
CN114465900B (zh) 基于联邦边缘学习的数据共享时延优化方法及装置
CN115713009A (zh) 一种基于卫星和地面站连接密度的动态聚合联邦学习方法
Henna et al. Distributed and collaborative high-speed inference deep learning for mobile edge with topological dependencies
Santos et al. Reinforcement learning for service function chain allocation in fog computing
CN117118497A (zh) 一种适用于星地一体化网络的控制器和网关联合部署方法
CN116367190A (zh) 一种面向6g移动网络的数字孪生功能虚拟化方法
CN114024894B (zh) 软件定义天地一体化网络中的动态传算方法及***
CN114710200B (zh) 一种基于强化学习的卫星网络资源编排方法及***
CN116582407A (zh) 一种基于深度强化学习的容器化微服务编排***及方法
CN112217652A (zh) 一种基于中心通信模式的网络拓扑装置及方法
Zhang et al. Accelerate deep learning in IoT: Human-interaction co-inference networking system for edge
CN114745386A (zh) 一种多用户边缘智能场景下的神经网络分割及卸载方法
CN113949666A (zh) 流量控制方法、装置、设备及***
CN112153147A (zh) 一种移动边缘环境中基于实体共享的链式服务实体的放置方法
CN110427197A (zh) 一种基于二叉树结构的镜像分发***及方法
CN114090306B (zh) 可插拔的区块链分层共识方法、***、设备及存储介质
CN113132435B (zh) 一种存储、业务网分离的分布式训练网络***及通信方法
Ananduta et al. Mitigating Communication Failures in Distributed MPC Schemes
CN117768906A (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
GR01 Patent grant
GR01 Patent grant