当前位置: 首页 > 专利查询>南京大学专利>正文

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

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

【技术实现步骤摘要】
一种面向任务和资源感知的微服务部署方法
本专利技术属于节点任务部署
,具体涉及一种面向任务和资源感知的微服务部署方法。
技术介绍
在需要集成已有若干已建立的微服务流程,去处理临机发生的任务,以及部署由各微服务流程集成构成的一个大的系统时,由于不同软件供应商独立开发的微服务系统一般都各自独立部署,当出现微服务集群节点资源受限时,同系统的微服务被任意拆分到不同节点部署,破坏了原系统的完整性,降低了集成微服务系统运行时内部微服务之间的通信效率,并且不会考虑部署后协同完成任务的微服务之间的通信效率。传统的部署技术无法适应微服务集群节点资源受限的情况,具体来说是微服务系统的部署没有从任务感知和资源感知两个方面实现有效的自动化部署,使得本属于一个任务的微服务不能部署在资源指标满足的同一个服务节点上,因此,在此基础上研究微服务面向任务和资源感知的部署成为迫切需要解决的问题。
技术实现思路
本专利技术针对现有技术中的不足,提供一种面向任务和资源感知的微服务部署方法,能够将微服务以任务为单元的组织形式高效、灵活地部署到不同资源条件的集群节点上,有效的保证微服务流程能够聚集在一个物理节点,完成通过委托关系建立的任务-微服务功能。为实现上述目的,本专利技术采用以下技术方案:一种面向任务和资源感知的微服务部署方法,包括以下步骤:建立临机任务的任务流程,选择已有微服务流程中若干微服务和任务流程中的活动节点间建立委托关系,得到集群节点的任务感知能力,所述任务感知能力包括微服务集群系统节点的资源感知能力和委托关系;根据任务感知能力进行微服务的部署,若一个集群节点的资源满足部署一个完整的微服务流程,则将微服务流程完整的部署到一个集群节点上;若一个集群节点的资源不满足部署一个完整的微服务流程,则根据任务感知原则,按照基于委托关系的微服务为核心的最长关键路径顺次部署微服务流程中的前后微服务;剩余未部署的微服务在不考虑委托关系的情况下进行部署。为优化上述技术方案,采取的具体措施还包括:进一步地,上述建立临机任务的任务流程,选择已有微服务流程中若干微服务和任务流程中的活动节点间建立委托关系包括以下步骤:构建基于任务-微服务委托关系的具有任务感知能力的分层过程模型;建立分层过程模型中描述临机任务流程的系统网模型;建立分层过程模型中描述多个微服务流程的子网模型;在所述系统网模型和所述子网模型之间建立任务-微服务委托关系。进一步地,上述根据任务感知能力进行微服务的部署,若一个集群节点的资源满足部署一个完整的微服务流程,则将微服务流程完整的部署到一个集群节点上具体包括以下步骤:分别计算微服务集群节点和子网模型的资源指标,并将资源指标由大致小排序;尝试将资源指标最大的子网模型部署到资源指标最大的微服务集群节点,若部署成功,生成对应的部署策略并继续尝试下一个子网模型;若部署失败,创建队列1、队列2和队列3,将部署失败的子网模型放入队列1中。进一步地,上述分别计算微服务集群节点和子网模型的资源指标,并将资源指标由大致小排序包括以下步骤:定义资源指标,所述资源指标用于描述子网模型对内存和CPU资源的占用情况以及微服务集群节点的内存和CPU资源的剩余情况,所述子网模型的资源指标计算公式为:所述微服务集群节点的资源指标计算公式为:其中,为该子网模型要消耗的CPU资源与所有微服务集群节点的可用CPU单位总和的比值;为所有子网模型的CPU单位总值与所有微服务集群节点的CPU单位总和的比值,即此次部署任务中CPU资源的重要程度;为子网模型要消耗的内存资源与所有微服务集群节点的可用内存的比值;为所有子网模型的内存与所有微服务集群节点的内存总和的比值,即此次部署任务中内存资源的重要程度;为微服务集群节点可用的CPU资源与所有微服务集群节点的可用CPU单位总和的比值;表示该微服务集群节点可用的内存资源与所有微服务集群节点的可用内存总和的比值。进一步地,上述根据任务感知能力进行微服务的部署,若一个集群节点的资源不满足部署一个完整的微服务流程,则根据任务感知原则,按照基于委托关系的微服务为核心的最长关键路径顺次部署微服务流程中的前后微服务包括以下步骤:通过微服务路径算法找出一个子网模型中包含具有委托关系的微服务最多的链路并标记为关键路径,计算关键链路能否部署在微服务集群节点上;若能够部署则生成部署策略,分析子网模型剩余结构,若子网模型剩余结构中还包含具有委托关系的微服务,则将子网模型剩余结构放入队列2中,否则将子网模型剩余结构放入队列3中;通过面向任务的微服务广度优先遍历算法处理队列2中的子网模型剩余结构,将具有同组委托关系的微服务部署在同一台微服务集群节点上,若能够部署则生成部署策略,否则将子网模型剩余结构放入队列3中。进一步地,上述计算关键链路能否部署在微服务集群节点上包括以下步骤:将具有委托关系的微服务赋予大于零的权重,将不具有委托关系的微服务权重置零;比较子网模型中各链路的权重,然后按照权重由大到小将链路排序;尝试将将权重最大的链路部署在同一台微服务集群节点上,若能够部署,记部署成功的链路为关键链路,若不能部署,将找到这条链路中具有委托关系的微服务的权重置零,递归寻找下一条关键路径。进一步地,上述面向任务的微服务广度优先遍历算法处理的子网模型为有向图结构,广度遍历方向为前后双向均同时延伸一个微服务,每次延伸均尝试部署微服务,直到找到能部署的最大子网模型后停止。进一步地,上述剩余未部署的微服务在不考虑委托关系的情况下进行部署包括以下步骤:重新计算剩余未部署的子网模型和微服务集群节点队列中的物理机的资源指标并分别按照资源指标由大到小排序;尝试将队列3中资源指标最大的子网模型部署到资源指标最大的微服务集群节点上,若能够部署则生成部署策略,否则返回无法部署结果。本专利技术的有益效果是:本专利技术提供的一种面向任务和资源感知的微服务部署方法通过建立临机任务的任务流程,选择已有微服务流程上若干微服务与任务流程上的活动任务节点间建立一种委托关系,进而根据委托关系将微服务高效、灵活地部署到微服务集群节点上,有效的保证微服务流程能够聚集在一个物理节点,提升了系统运行时为协作完成临机任务流程的各微服务之间的通信效率。附图说明图1为本专利技术的方法流程示意图。图2是本专利技术的面向任务和资源感知的微服务部署算法流程示意图。图3为本专利技术的任务执行过程示意图。图4为本专利技术的分层过程模型结构示意图。图5为本专利技术的实时情报系统关键路径示意图。图6为本专利技术的最终部署结果示意图。具体实施方式现在结合附图1—6对本专利技术作进一步详细的说明。需要注意的是,专利技术中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本专利技术可实施的范围,其相对关本文档来自技高网...

【技术保护点】
1.一种面向任务和资源感知的微服务部署方法,其特征在于,包括以下步骤:/n建立临机任务的任务流程,选择已有微服务流程中若干微服务和任务流程中的活动节点间建立委托关系,得到集群节点的任务感知能力,所述任务感知能力包括微服务集群系统节点的资源感知能力和委托关系;/n根据任务感知能力进行微服务的部署,若一个集群节点的资源满足部署一个完整的微服务流程,则将微服务流程完整的部署到一个集群节点上;若一个集群节点的资源不满足部署一个完整的微服务流程,则根据任务感知原则,按照基于委托关系的微服务为核心的最长关键路径顺次部署微服务流程中的前后微服务;/n剩余未部署的微服务在不考虑委托关系的情况下进行部署。/n

【技术特征摘要】
1.一种面向任务和资源感知的微服务部署方法,其特征在于,包括以下步骤:
建立临机任务的任务流程,选择已有微服务流程中若干微服务和任务流程中的活动节点间建立委托关系,得到集群节点的任务感知能力,所述任务感知能力包括微服务集群系统节点的资源感知能力和委托关系;
根据任务感知能力进行微服务的部署,若一个集群节点的资源满足部署一个完整的微服务流程,则将微服务流程完整的部署到一个集群节点上;若一个集群节点的资源不满足部署一个完整的微服务流程,则根据任务感知原则,按照基于委托关系的微服务为核心的最长关键路径顺次部署微服务流程中的前后微服务;
剩余未部署的微服务在不考虑委托关系的情况下进行部署。


2.根据权利要求1所述的面向任务和资源感知的微服务部署方法,其特征在于,所述建立临机任务的任务流程,选择已有微服务流程中若干微服务和任务流程中的活动节点间建立委托关系包括以下步骤:
构建基于任务-微服务委托关系的具有任务感知能力的分层过程模型;
建立分层过程模型中描述临机任务流程的系统网模型;
建立分层过程模型中描述多个微服务流程的子网模型;
在所述系统网模型和所述子网模型之间建立任务-微服务委托关系。


3.根据权利要求2所述的面向任务和资源感知的微服务部署方法,其特征在于,所述根据任务感知能力进行微服务的部署,若一个集群节点的资源满足部署一个完整的微服务流程,则将微服务流程完整的部署到一个集群节点上具体包括以下步骤:
分别计算微服务集群节点和子网模型的资源指标,并将资源指标由大致小排序;
尝试将资源指标最大的子网模型部署到资源指标最大的微服务集群节点,若部署成功,生成对应的部署策略并继续尝试下一个子网模型;若部署失败,创建队列1、队列2和队列3,将部署失败的子网模型放入队列1中。


4.根据权利要求3所述的面向任务和资源感知的微服务部署方法,其特征在于,所述分别计算微服务集群节点和子网模型的资源指标,并将资源指标由大致小排序包括以下步骤:
定义资源指标,所述资源指标用于描述子网模型对内存和CPU资源的占用情况以及微服务集群节点的内存和CPU资源的剩余情况,所述子网模型的资源指标计算公式为:



所述微服务集群节点的资源指标计算公式为:



其中,为该子网模型要消耗的CPU资源与所有微服务集群节点的可用CPU单位总和的比值;为所有子网模型的CPU单位总值与所有微服务集群节点的CPU单位总和的比值,即此次部署任务中CPU资源的重要程度;为子网模型要消耗的内存...

【专利技术属性】
技术研发人员:胡昊尹泽然匡胤鑫匡宏宇夏伯承
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1