CN111736983A - 一种面向任务和资源感知的微服务部署方法 - Google Patents

一种面向任务和资源感知的微服务部署方法 Download PDF

Info

Publication number
CN111736983A
CN111736983A CN202010447034.0A CN202010447034A CN111736983A CN 111736983 A CN111736983 A CN 111736983A CN 202010447034 A CN202010447034 A CN 202010447034A CN 111736983 A CN111736983 A CN 111736983A
Authority
CN
China
Prior art keywords
micro
service
task
resource
subnet
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.)
Granted
Application number
CN202010447034.0A
Other languages
English (en)
Other versions
CN111736983B (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.)
Nanjing University
Original Assignee
Nanjing 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 Nanjing University filed Critical Nanjing University
Priority to CN202010447034.0A priority Critical patent/CN111736983B/zh
Publication of CN111736983A publication Critical patent/CN111736983A/zh
Application granted granted Critical
Publication of CN111736983B publication Critical patent/CN111736983B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种面向任务和资源感知的微服务部署方法,包括以下步骤:建立临机任务的任务流程,选择已有微服务流程中若干微服务和任务流程中的活动节点间建立委托关系,得到集群节点的任务感知能力;根据任务感知能力进行微服务的部署,若一个集群节点的资源满足部署一个完整的微服务流程,则将微服务流程完整的部署到一个集群节点上;否则按照基于委托关系的微服务为核心的最长关键路径顺次部署微服务流程中的前后微服务;剩余未部署的微服务在不考虑委托关系的情况下进行部署。本发明有效的保证微服务流程能够聚集在一个物理节点,提升了系统运行时为协作完成临机任务流程的各微服务之间的通信效率。

Description

一种面向任务和资源感知的微服务部署方法
技术领域
本发明属于节点任务部署技术领域,具体涉及一种面向任务和资源感知的微服务部署方法。
背景技术
在需要集成已有若干已建立的微服务流程,去处理临机发生的任务,以及部署由各微服务流程集成构成的一个大的系统时,由于不同软件供应商独立开发的微服务系统一般都各自独立部署,当出现微服务集群节点资源受限时,同系统的微服务被任意拆分到不同节点部署,破坏了原系统的完整性,降低了集成微服务系统运行时内部微服务之间的通信效率,并且不会考虑部署后协同完成任务的微服务之间的通信效率。
传统的部署技术无法适应微服务集群节点资源受限的情况,具体来说是微服务系统的部署没有从任务感知和资源感知两个方面实现有效的自动化部署,使得本属于一个任务的微服务不能部署在资源指标满足的同一个服务节点上,因此,在此基础上研究微服务面向任务和资源感知的部署成为迫切需要解决的问题。
发明内容
本发明针对现有技术中的不足,提供一种面向任务和资源感知的微服务部署方法,能够将微服务以任务为单元的组织形式高效、灵活地部署到不同资源条件的集群节点上,有效的保证微服务流程能够聚集在一个物理节点,完成通过委托关系建立的任务-微服务功能。
为实现上述目的,本发明采用以下技术方案:
一种面向任务和资源感知的微服务部署方法,包括以下步骤:
建立临机任务的任务流程,选择已有微服务流程中若干微服务和任务流程中的活动节点间建立委托关系,得到集群节点的任务感知能力,所述任务感知能力包括微服务集群系统节点的资源感知能力和委托关系;
根据任务感知能力进行微服务的部署,若一个集群节点的资源满足部署一个完整的微服务流程,则将微服务流程完整的部署到一个集群节点上;若一个集群节点的资源不满足部署一个完整的微服务流程,则根据任务感知原则,按照基于委托关系的微服务为核心的最长关键路径顺次部署微服务流程中的前后微服务;
剩余未部署的微服务在不考虑委托关系的情况下进行部署。
为优化上述技术方案,采取的具体措施还包括:
进一步地,上述建立临机任务的任务流程,选择已有微服务流程中若干微服务和任务流程中的活动节点间建立委托关系包括以下步骤:
构建基于任务-微服务委托关系的具有任务感知能力的分层过程模型;
建立分层过程模型中描述临机任务流程的系统网模型;
建立分层过程模型中描述多个微服务流程的子网模型;
在所述系统网模型和所述子网模型之间建立任务-微服务委托关系。
进一步地,上述根据任务感知能力进行微服务的部署,若一个集群节点的资源满足部署一个完整的微服务流程,则将微服务流程完整的部署到一个集群节点上具体包括以下步骤:
分别计算微服务集群节点和子网模型的资源指标,并将资源指标由大致小排序;
尝试将资源指标最大的子网模型部署到资源指标最大的微服务集群节点,若部署成功,生成对应的部署策略并继续尝试下一个子网模型;若部署失败,创建队列1、队列2和队列3,将部署失败的子网模型放入队列1中。
进一步地,上述分别计算微服务集群节点和子网模型的资源指标,并将资源指标由大致小排序包括以下步骤:
定义资源指标,所述资源指标用于描述子网模型对内存和CPU资源的占用情况以及微服务集群节点的内存和CPU资源的剩余情况,所述子网模型的资源指标计算公式为:
Figure RE-GDA0002648884190000021
所述微服务集群节点的资源指标计算公式为:
Figure RE-GDA0002648884190000022
其中,
Figure RE-GDA0002648884190000023
为该子网模型要消耗的CPU资源与所有微服务集群节点的可用CPU单位总和的比值;
Figure RE-GDA0002648884190000024
为所有子网模型的CPU单位总值与所有微服务集群节点的CPU单位总和的比值,即此次部署任务中CPU资源的重要程度;
Figure RE-GDA0002648884190000025
为子网模型要消耗的内存资源与所有微服务集群节点的可用内存的比值;
Figure RE-GDA0002648884190000026
为所有子网模型的内存与所有微服务集群节点的内存总和的比值,即此次部署任务中内存资源的重要程度;
Figure RE-GDA0002648884190000027
为微服务集群节点可用的CPU资源与所有微服务集群节点的可用CPU单位总和的比值;
Figure RE-GDA0002648884190000028
表示该微服务集群节点可用的内存资源与所有微服务集群节点的可用内存总和的比值。
进一步地,上述根据任务感知能力进行微服务的部署,若一个集群节点的资源不满足部署一个完整的微服务流程,则根据任务感知原则,按照基于委托关系的微服务为核心的最长关键路径顺次部署微服务流程中的前后微服务包括以下步骤:
通过微服务路径算法找出一个子网模型中包含具有委托关系的微服务最多的链路并标记为关键路径,计算关键链路能否部署在微服务集群节点上;
若能够部署则生成部署策略,分析子网模型剩余结构,若子网模型剩余结构中还包含具有委托关系的微服务,则将子网模型剩余结构放入队列2中,否则将子网模型剩余结构放入队列3中;
通过面向任务的微服务广度优先遍历算法处理队列2中的子网模型剩余结构,将具有同组委托关系的微服务部署在同一台微服务集群节点上,若能够部署则生成部署策略,否则将子网模型剩余结构放入队列3中。
进一步地,上述计算关键链路能否部署在微服务集群节点上包括以下步骤:
将具有委托关系的微服务赋予大于零的权重,将不具有委托关系的微服务权重置零;
比较子网模型中各链路的权重,然后按照权重由大到小将链路排序;
尝试将将权重最大的链路部署在同一台微服务集群节点上,若能够部署,记部署成功的链路为关键链路,若不能部署,将找到这条链路中具有委托关系的微服务的权重置零,递归寻找下一条关键路径。
进一步地,上述面向任务的微服务广度优先遍历算法处理的子网模型为有向图结构,广度遍历方向为前后双向均同时延伸一个微服务,每次延伸均尝试部署微服务,直到找到能部署的最大子网模型后停止。
进一步地,上述剩余未部署的微服务在不考虑委托关系的情况下进行部署包括以下步骤:
重新计算剩余未部署的子网模型和微服务集群节点队列中的物理机的资源指标并分别按照资源指标由大到小排序;
尝试将队列3中资源指标最大的子网模型部署到资源指标最大的微服务集群节点上,若能够部署则生成部署策略,否则返回无法部署结果。
本发明的有益效果是:
本发明提供的一种面向任务和资源感知的微服务部署方法通过建立临机任务的任务流程,选择已有微服务流程上若干微服务与任务流程上的活动任务节点间建立一种委托关系,进而根据委托关系将微服务高效、灵活地部署到微服务集群节点上,有效的保证微服务流程能够聚集在一个物理节点,提升了系统运行时为协作完成临机任务流程的各微服务之间的通信效率。
附图说明
图1为本发明的方法流程示意图。
图2是本发明的面向任务和资源感知的微服务部署算法流程示意图。
图3为本发明的任务执行过程示意图。
图4为本发明的分层过程模型结构示意图。
图5为本发明的实时情报系统关键路径示意图。
图6为本发明的最终部署结果示意图。
具体实施方式
现在结合附图1—6对本发明作进一步详细的说明。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
如图1所示,在本发明的其中一个实施例中,提供一种面向任务和资源感知的微服务部署方法,所述方法可以应用于微服务集群节点中,其解决的核心问题是:如何集成已有若干已建立的微服务流程,去处理临机发生的任务,并能够依据微服务集群系统的当前节点资源状态来部署该任务的微服务,从而建立任务和资源感知的微服务部署方法。在治安系统需要搜寻失踪人员或犯罪人员时,通常需要收集各个区域的实时监控数据,这些数据包括监控的中的人脸信息、人员全身图像信息和干扰信息(如周边环境)。对于人员密集的图像,需要经过图像处理机制,提取传递的图像特征,从而根据图像特征在搜索引擎中进行查询,查询数据汇总到信息汇集系统。最后,这些数据图像和人员身份信息会一并传递给人员搜寻系统,进行人工或智能的综合分析以及结果输出。
在本发明的其中一个实施例中,一种面向任务和资源感知的微服务部署方法,包括以下步骤:
步骤1:建立临机任务的任务流程,选择已有微服务流程中若干微服务和任务流程中的活动节点间建立委托关系,得到集群节点的任务感知能力,所述任务感知能力包括微服务集群系统节点的资源感知能力和委托关系;
在本实施例中,建立临机任务的任务流程,选择已有微服务流程中若干微服务和任务流程中的活动节点间建立委托关系包括以下步骤:
构建基于任务-微服务委托关系的具有任务感知能力的分层过程模型;
建立分层过程模型中描述临机任务流程的系统网模型;
建立分层过程模型中描述多个微服务流程的子网模型;
在所述系统网模型和所述子网模型之间建立任务-微服务委托关系。
在本发明的其中一个实施例中,确定包含集成约束的集成系统的系统执行过程(系统网模型)和各子系统的行为执行过程(子网模型),在集成系统执行过程的关键任务和各子系统行为执行过程之间根据集成约束条件建立委托关系,生成分层过程模型。
首先确定集成系统执行过程,如图3所示,由四个任务活动——信息采集、信息处理、综合分析和输出结果构成的任务执行过程,其中信息处理、综合分析为关键活动。
其中三个子系统的行为执行过程分别包括以下时序步骤:
实时监控系统:1.区域监控服务。2.区域监控信息处理服务。3.监控信息区域
图像智能AI系统:1.图像采集。2.确定训练集规模。3.进行算法识别,算法识别有两种方式,分别是:深度学习算法识别和普通机器学习算法识别。4.图像情报处理。
信息汇聚系统:1.信息汇聚查询。2.多库分解查询代理。3.分别进行宾馆入住人员库、网咖用户库和民宿入住人员库的查询。4、查询信息综合。
接着确定各子系统行为执行过程,该系统由实时监控系统、图像智能AI系统、信息汇聚系统构成。人员搜寻系统首先进行信息采集过程;然后进行信息处理过程,过程中首先分别将1号区域监控服务b和2号区域监控服务b的信息发送给实时监控系统处理,然后获取的所有信息还会发送给图像智能AI系统进行深度算法识别;再接下来进行情报汇集过程,过程中情报分析系统将1号区域监控信息处理服务和2号区域监控信息处理服务信息汇集,将信息汇聚后存入信息汇集系统以便查询;最后进行结果判别并输出的过程。在集成系统执行过程的关键活动和各子系统行为执行过程之间根据集成约束条件建立委托关系。由四个活动信息采集、信息处理、综合分析、输出结果所组成的任务链过程用系统网表示,底层执行系统中 3个过程系统(实时监控系统、图像智能AI系统、信息汇聚系统)的构件行为用子网表示,在系统网和子网之间建立了协同集(用虚线箭头表示),表示任务链执行过程的关键任务和各子系统行为执行过程之间根据集成约束条件建立的委托关系的形式化表示,建立分层过程模型,如图4所示。
步骤2:根据任务感知能力进行微服务的部署,若一个集群节点的资源满足部署一个完整的微服务流程,则将微服务流程完整的部署到一个集群节点上;若一个集群节点的资源不满足部署一个完整的微服务流程,则根据任务感知原则,按照基于委托关系的微服务为核心的最长关键路径顺次部署微服务流程中的前后微服务;
如图2所示,在本实施例中,根据任务感知能力进行微服务的部署,若一个集群节点的资源满足部署一个完整的微服务流程,则将微服务流程完整的部署到一个集群节点上具体包括以下步骤:
定义资源指标,所述资源指标用于描述子网模型对内存和CPU资源的占用情况以及微服务集群节点的内存和CPU资源的剩余情况,分别计算微服务集群节点和子网模型的资源指标,
子网模型的资源指标计算公式为:
Figure RE-GDA0002648884190000061
微服务集群节点的资源指标计算公式为:
Figure RE-GDA0002648884190000062
其中,
Figure RE-GDA0002648884190000063
为该子网模型要消耗的CPU资源与所有微服务集群节点的可用CPU单位总和的比值;
Figure RE-GDA0002648884190000064
为所有子网模型的CPU单位总值与所有微服务集群节点的CPU单位总和的比值,即此次部署任务中CPU资源的重要程度;
Figure RE-GDA0002648884190000065
为子网模型要消耗的内存资源与所有微服务集群节点的可用内存的比值;
Figure RE-GDA0002648884190000066
为所有子网模型的内存与所有微服务集群节点的内存总和的比值,即此次部署任务中内存资源的重要程度;
Figure RE-GDA0002648884190000067
为微服务集群节点可用的CPU资源与所有微服务集群节点的可用CPU单位总和的比值;
Figure RE-GDA0002648884190000068
表示该微服务集群节点可用的内存资源与所有微服务集群节点的可用内存总和的比值。并将资源指标由大致小排序;
尝试将资源指标最大的子网模型部署到资源指标最大的微服务集群节点,若部署成功,生成对应的部署策略并继续尝试下一个子网模型;若部署失败,创建队列1、队列2和队列3,将部署失败的子网模型放入队列1中。
根据任务感知能力进行微服务的部署,若一个集群节点的资源不满足部署一个完整的微服务流程,则根据任务感知原则,按照基于委托关系的微服务为核心的最长关键路径顺次部署微服务流程中的前后微服务包括以下步骤:
通过微服务路径算法找出一个子网模型中包含具有委托关系的微服务最多的链路并标记为关键路径,计算关键链路能否部署在微服务集群节点上,计算步骤为:
将具有委托关系的微服务赋予大于零的权重,将不具有委托关系的微服务权重置零;
比较子网模型中各链路的权重,然后按照权重由大到小将链路排序;
尝试将将权重最大的链路部署在同一台微服务集群节点上,若能够部署,记部署成功的链路为关键链路,若不能部署,将找到这条链路中具有委托关系的微服务的权重置零,递归寻找下一条关键路径。
若能够部署则生成部署策略,分析子网模型剩余结构,若子网模型剩余结构中还包含具有委托关系的微服务,则将子网模型剩余结构放入队列2中,否则将子网模型剩余结构放入队列3中;
通过面向任务的微服务广度优先遍历算法处理队列2中的子网模型剩余结构,将具有同组委托关系的微服务部署在同一台微服务集群节点上,面向任务的微服务广度优先遍历算法处理的子网模型为有向图结构,广度遍历方向为前后双向均同时延伸一个微服务,每次延伸均尝试部署微服务,直到找到能部署的最大子网模型后停止。
若能够部署则生成部署策略,否则将子网模型剩余结构放入队列3中。
在本发明的其中一个实施例中,模拟了在实际部署场景下,上述微服务系统部署到服务器集群的过程。表格1列出了已有服务器资源,表格2列出微服务所需资源:
Figure RE-GDA0002648884190000071
表格1
Figure RE-GDA0002648884190000072
Figure RE-GDA0002648884190000081
表格2
利用部署算法判断三个微服务子网能否完整存入某个服务器中。经过计算资源与资源指标(实时监控系统资源指标:0.575;图像智能AI系统资源指标:0.398;信息汇集系统资源指标:0.267),由大到小排序进行处理。实时情报系统无法被完整部署在一台服务器,进入队列1。图像智能AI微服务子网消耗CPU资源为2750milicpu,消耗RAM资源为1664M,优先被完整部署在服务器1中,部署之后,服务器1所剩资源为:1250millicpu,2336M。信息汇集微服务子网消耗CPU资源为2250milicpu,消耗RAM资源为1152M,可被完整部署在服务器3中,部署之后,服务器3所剩资源为:450milicpu、2248M。
接下来,找出实时情报微服务子网中包含具有委托关系的微服务数量最多的路径,为关键路径,判断能否部署。发现满足条件的路径有两条,如图5,顺序进行计算资源并尝试部署(图中每个齿轮表示一个微服务,标红微服务表示属于情报处理任务委托下的微服务,标蓝微服务表示属于综合分析任务委托下的微服务)。第一条微服务链消耗CPU资源为 2200milicpu,消耗RAM资源为896M,仍无法被部署到一台服务器上。第二条同上无法部署。将实时监控系统放入队列2中。
以1号区域监控服务b为起点,进行面向任务的微服务广度优先遍历,已部署在服务器 1的深度学习算法识别与1号区域监控服务b属于同一组委托关系,尝试部署在同一台服务器上。部署之后,服务器1所剩资源为:250millicpu,1824M。
以2号区域监控服务b为起点,进行面向任务的微服务广度优先遍历,因为已部署在服务器1的深度学习算法识别、1号区域监控服务b与2号区域监控服务b属于同一组委托关系,尝试部署在同一台服务器上。经计算202旅团情报服务只能单独被部署在服务器1上。部署之后,服务器1所剩资源为:0millicpu,1696M。然后,以1号区域监控信息处理服务为起点,进行面向任务的微服务广度优先遍历,因为与已部署在服务器3的查询信息综合属于同一组委托关系,尝试部署在同一台服务器上。经计算1号区域监控信息处理服务只能单独被部署在服务器3上。部署之后,服务器3所剩资源为:0millicpu,2120M。
步骤3:最后剩余的不具有委托关系的微服务,重新计算剩余未部署的子网模型和微服务集群节点队列中的物理机的资源指标并分别按照资源指标由大到小排序;
尝试将队列3中资源指标最大的子网模型部署到资源指标最大的微服务集群节点上,若能够部署则生成部署策略,否则返回无法部署结果。部署结果为图6所示。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (8)

1.一种面向任务和资源感知的微服务部署方法,其特征在于,包括以下步骤:
建立临机任务的任务流程,选择已有微服务流程中若干微服务和任务流程中的活动节点间建立委托关系,得到集群节点的任务感知能力,所述任务感知能力包括微服务集群系统节点的资源感知能力和委托关系;
根据任务感知能力进行微服务的部署,若一个集群节点的资源满足部署一个完整的微服务流程,则将微服务流程完整的部署到一个集群节点上;若一个集群节点的资源不满足部署一个完整的微服务流程,则根据任务感知原则,按照基于委托关系的微服务为核心的最长关键路径顺次部署微服务流程中的前后微服务;
剩余未部署的微服务在不考虑委托关系的情况下进行部署。
2.根据权利要求1所述的面向任务和资源感知的微服务部署方法,其特征在于,所述建立临机任务的任务流程,选择已有微服务流程中若干微服务和任务流程中的活动节点间建立委托关系包括以下步骤:
构建基于任务-微服务委托关系的具有任务感知能力的分层过程模型;
建立分层过程模型中描述临机任务流程的系统网模型;
建立分层过程模型中描述多个微服务流程的子网模型;
在所述系统网模型和所述子网模型之间建立任务-微服务委托关系。
3.根据权利要求2所述的面向任务和资源感知的微服务部署方法,其特征在于,所述根据任务感知能力进行微服务的部署,若一个集群节点的资源满足部署一个完整的微服务流程,则将微服务流程完整的部署到一个集群节点上具体包括以下步骤:
分别计算微服务集群节点和子网模型的资源指标,并将资源指标由大致小排序;
尝试将资源指标最大的子网模型部署到资源指标最大的微服务集群节点,若部署成功,生成对应的部署策略并继续尝试下一个子网模型;若部署失败,创建队列1、队列2和队列3,将部署失败的子网模型放入队列1中。
4.根据权利要求3所述的面向任务和资源感知的微服务部署方法,其特征在于,所述分别计算微服务集群节点和子网模型的资源指标,并将资源指标由大致小排序包括以下步骤:
定义资源指标,所述资源指标用于描述子网模型对内存和CPU资源的占用情况以及微服务集群节点的内存和CPU资源的剩余情况,所述子网模型的资源指标计算公式为:
Figure FDA0002506258030000021
所述微服务集群节点的资源指标计算公式为:
Figure FDA0002506258030000022
其中,
Figure FDA0002506258030000023
为该子网模型要消耗的CPU资源与所有微服务集群节点的可用CPU单位总和的比值;
Figure FDA0002506258030000024
为所有子网模型的CPU单位总值与所有微服务集群节点的CPU单位总和的比值,即此次部署任务中CPU资源的重要程度;
Figure FDA0002506258030000025
为子网模型要消耗的内存资源与所有微服务集群节点的可用内存的比值;
Figure FDA0002506258030000026
为所有子网模型的内存与所有微服务集群节点的内存总和的比值,即此次部署任务中内存资源的重要程度;
Figure FDA0002506258030000027
为微服务集群节点可用的CPU资源与所有微服务集群节点的可用CPU单位总和的比值;
Figure FDA0002506258030000028
表示该微服务集群节点可用的内存资源与所有微服务集群节点的可用内存总和的比值。
5.根据权利要求2所述的面向任务和资源感知的微服务部署方法,其特征在于,所述根据任务感知能力进行微服务的部署,若一个集群节点的资源不满足部署一个完整的微服务流程,则根据任务感知原则,按照基于委托关系的微服务为核心的最长关键路径顺次部署微服务流程中的前后微服务包括以下步骤:
通过微服务路径算法找出一个子网模型中包含具有委托关系的微服务最多的链路并标记为关键路径,计算关键链路能否部署在微服务集群节点上;
若能够部署则生成部署策略,分析子网模型剩余结构,若子网模型剩余结构中还包含具有委托关系的微服务,则将子网模型剩余结构放入队列2中,否则将子网模型剩余结构放入队列3中;
通过面向任务的微服务广度优先遍历算法处理队列2中的子网模型剩余结构,将具有同组委托关系的微服务部署在同一台微服务集群节点上,若能够部署则生成部署策略,否则将子网模型剩余结构放入队列3中。
6.根据权利要求5所述的面向任务和资源感知的微服务部署方法,其特征在于,所述计算关键链路能否部署在微服务集群节点上包括以下步骤:
将具有委托关系的微服务赋予大于零的权重,将不具有委托关系的微服务权重置零;
比较子网模型中各链路的权重,然后按照权重由大到小将链路排序;
尝试将将权重最大的链路部署在同一台微服务集群节点上,若能够部署,记部署成功的链路为关键链路,若不能部署,将找到这条链路中具有委托关系的微服务的权重置零,递归寻找下一条关键路径。
7.根据权利要求5所述的面向任务和资源感知的微服务部署方法,其特征在于,所述面向任务的微服务广度优先遍历算法处理的子网模型为有向图结构,广度遍历方向为前后双向均同时延伸一个微服务,每次延伸均尝试部署微服务,直到找到能部署的最大子网模型后停止。
8.根据权利要求5所述的面向任务和资源感知的微服务部署方法,其特征在于,所述剩余未部署的微服务在不考虑委托关系的情况下进行部署包括以下步骤:
重新计算剩余未部署的子网模型和微服务集群节点队列中的物理机的资源指标并分别按照资源指标由大到小排序;
尝试将队列3中资源指标最大的子网模型部署到资源指标最大的微服务集群节点上,若能够部署则生成部署策略,否则返回无法部署结果。
CN202010447034.0A 2020-05-25 2020-05-25 一种面向任务和资源感知的微服务部署方法 Active CN111736983B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010447034.0A CN111736983B (zh) 2020-05-25 2020-05-25 一种面向任务和资源感知的微服务部署方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010447034.0A CN111736983B (zh) 2020-05-25 2020-05-25 一种面向任务和资源感知的微服务部署方法

Publications (2)

Publication Number Publication Date
CN111736983A true CN111736983A (zh) 2020-10-02
CN111736983B CN111736983B (zh) 2023-12-26

Family

ID=72647731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010447034.0A Active CN111736983B (zh) 2020-05-25 2020-05-25 一种面向任务和资源感知的微服务部署方法

Country Status (1)

Country Link
CN (1) CN111736983B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268251A (zh) * 2021-05-25 2021-08-17 中国联合网络通信集团有限公司 微服务的部署方法及其设备、计算机存储介质
CN114995900A (zh) * 2022-05-23 2022-09-02 中国联合网络通信集团有限公司 多个微服务模块的部署方法、装置及计算机可读存储介质
CN117349036A (zh) * 2023-12-06 2024-01-05 湖北省楚天云有限公司 微服务实例部署方法、系统、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180027080A1 (en) * 2016-07-22 2018-01-25 Cisco Technology, Inc. Scaling service discovery in a micro-service environment
CN107870845A (zh) * 2017-10-19 2018-04-03 北京工业大数据创新中心有限公司 面向微服务架构应用的管理方法及系统
CN108595180A (zh) * 2018-03-14 2018-09-28 广东能龙教育股份有限公司 一种基于依赖链的微服务自动部署方法
US20180349121A1 (en) * 2017-05-30 2018-12-06 International Business Machines Corporation Dynamic deployment of an application based on micro-services
CN110633186A (zh) * 2019-08-16 2019-12-31 南方电网科学研究院有限责任公司 用于电力计量微服务架构的日志监控系统及实现方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180027080A1 (en) * 2016-07-22 2018-01-25 Cisco Technology, Inc. Scaling service discovery in a micro-service environment
US20180349121A1 (en) * 2017-05-30 2018-12-06 International Business Machines Corporation Dynamic deployment of an application based on micro-services
CN107870845A (zh) * 2017-10-19 2018-04-03 北京工业大数据创新中心有限公司 面向微服务架构应用的管理方法及系统
CN108595180A (zh) * 2018-03-14 2018-09-28 广东能龙教育股份有限公司 一种基于依赖链的微服务自动部署方法
CN110633186A (zh) * 2019-08-16 2019-12-31 南方电网科学研究院有限责任公司 用于电力计量微服务架构的日志监控系统及实现方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
YUHAO GONG等: ""Parallelized Mobility-Aware Complex Event Processing"", 《:2017 IEEE INTERNATIONAL CONFERENCE ON WEB SERVICES (ICWS)》 *
毛润菲;: "微服务系统的可靠性分析及关键问题", 电子技术与软件工程, no. 14 *
王敬林等: ""基于微服务架构的铁路企业年金信息系统研究与实现"", 《铁路计算机应用》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268251A (zh) * 2021-05-25 2021-08-17 中国联合网络通信集团有限公司 微服务的部署方法及其设备、计算机存储介质
CN114995900A (zh) * 2022-05-23 2022-09-02 中国联合网络通信集团有限公司 多个微服务模块的部署方法、装置及计算机可读存储介质
CN114995900B (zh) * 2022-05-23 2024-05-14 中国联合网络通信集团有限公司 多个微服务模块的部署方法、装置及计算机可读存储介质
CN117349036A (zh) * 2023-12-06 2024-01-05 湖北省楚天云有限公司 微服务实例部署方法、系统、设备及存储介质
CN117349036B (zh) * 2023-12-06 2024-04-05 湖北省楚天云有限公司 微服务实例部署方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN111736983B (zh) 2023-12-26

Similar Documents

Publication Publication Date Title
CN111736983A (zh) 一种面向任务和资源感知的微服务部署方法
Coscia et al. Network backboning with noisy data
Takaffoli et al. Community evolution mining in dynamic social networks
Alvarez-Hamelin et al. K-core decomposition of internet graphs: hierarchies, self-similarity and measurement biases
CN103346912B (zh) 告警相关性分析的方法、装置及系统
CN108737182A (zh) 系统异常的处理方法及系统
CN109753848B (zh) 执行人脸识别处理的方法、装置和系统
CN108009497A (zh) 图像识别监控方法、系统、计算设备以及可读存储介质
CN111614769A (zh) 一种深度学习技术的行为智能分析引擎系统及控制方法
Gopsill et al. Automatic generation of design structure matrices through the evolution of product models
CN109743286A (zh) 一种基于图卷积神经网络的ip类型标记方法及设备
CN106296315A (zh) 基于用户用电数据的情境感知系统
CN111930526A (zh) 负载预测方法、装置、计算机设备和存储介质
CN104281488B (zh) 服务器引擎的实现方法和系统
CN101651567B (zh) 一种可用性风险扩散评估方法
CN112001443A (zh) 网络行为数据的监控方法、装置、存储介质及电子设备
CN108429747A (zh) 一种大规模Web服务器信息采集方法
CN117221087A (zh) 告警根因定位方法、装置及介质
JP2006025434A (ja) 大容量障害相関システム及び方法
CN101764754A (zh) 基于dpi和dfi的业务识别系统中的样本获取方法
CN110188127A (zh) 一种基于cbr的车联网网络安全应急响应系统及方法
Porter et al. TESS: Automated performance evaluation of self-healing and self-adaptive distributed software systems
CN116304252A (zh) 一种基于图结构聚类的通信网络防诈骗方法
CN107205028A (zh) 一种服务分类方法及装置
CN106888237A (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