CN112084002A - 云环境下微服务系统的弹性伸缩方法、系统、介质及设备 - Google Patents
云环境下微服务系统的弹性伸缩方法、系统、介质及设备 Download PDFInfo
- Publication number
- CN112084002A CN112084002A CN202010768451.5A CN202010768451A CN112084002A CN 112084002 A CN112084002 A CN 112084002A CN 202010768451 A CN202010768451 A CN 202010768451A CN 112084002 A CN112084002 A CN 112084002A
- Authority
- CN
- China
- Prior art keywords
- micro
- task
- service
- service instance
- cloud environment
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种云环境下微服务系统的弹性伸缩方法、系统、介质及设备,所述弹性伸缩方法包括:监控所述云环境下微服务系统中每个微服务实例的工作属性信息;在所述微服务系统运行前及运行时,确定每种微服务实例的最优性价比容器类型;以任务的工作流和每种微服务实例的最佳性价比容器类型为基础,形成任务的调度方案;读取所述任务的调度方案,以从其中获取新增微服务实例的类型和数量,并将新增微服务实例部署在已租用或新增虚拟机上。本发明综合考虑任务调度算法和资源伸缩算法,通过任务调度算法精确确定需要扩展的资源数量,再通过资源伸缩算法进行成本最优化的伸缩方案求解,保证微服务系统性能,最小化云资源租用成本。
Description
技术领域
本发明属于软件技术领域,涉及一种伸缩方法和系统,特别是涉及一种云环境下微服务系统的弹性伸缩方法、系统、介质及设备。
背景技术
随着软件规模的扩大以及云计算等新技术的迅猛发展,软件开发者对软件架构的需求越来越高,快速变化的业务需求以及大规模软件的内部复杂性给软件的开发、运维、乃至软件的整个生命周期带来巨大的挑战。软件开发者希望利用云计算的弹性特点,开发灵活、高效的软件系统,但单体式架构等传统的软件开发架构却限制了软件的快速开发以及灵活伸缩。为此,微服务开发风格被提出并被成功应用到许多大规模商业软件系统。基于微服务的软件系统将高耦合的大规模软件拆分成一系列具有独立生命周期的、高内聚、低耦合的服务集合,从而降低软件的内部复杂性、提高了系统的可扩展性,并通过降低服务粒度的方式实现更灵活的伸缩。但微服务之间的独立性也带来了较大的性能损失,需要通过任务调度方法进行弥补。同时,容器化的部署方式以及众多微服务实例的自动伸缩也需要伸缩方法支撑。
目前,微服务系统的相关研究尚处于起步阶段,弹性伸缩的研究主要集中于云环境中的任务调度和自动伸缩。云环境中的任务调度侧重于如何在云环境中安排工作流中任务的执行,并利用云环境中即付即用的大量计算资源进行资源伸缩,实现性能和成本的权衡;但大部分研究局限于单个工作流的调度,忽略了多个工作流的同时调度以及持续的工作负载。云环境中的自动伸缩侧重于计算资源的管理,通过建模分析预测请求的响应时间并预测满足性能要求所需的资源量;但这种建模预估的方式不能准确地反映资源实际需求,且这些方法不涉及具体的任务调度方法,而调度方法也会影响资源需求量。此外,微服务的部署以容器为主,通常采用“一个微服务实例一个容器”的策略进行部署,这使得微服务的伸缩实际上是装载有服务实例的容器的伸缩,需要考虑容器和虚拟机的同时伸缩,以及容器到虚拟机的放置问题。
因此,如何提供一种云环境下微服务系统的弹性伸缩方法、系统、介质及设备,以解决现有技术无法准确地反映资源实际需求,且不涉及具体的任务调度方法,而调度方法也会影响资源需求量,且未考虑容器和虚拟机的同时伸缩,以及容器到虚拟机的放置问题等缺陷,实已成为本领域技术人员亟待解决的技术问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种云环境下微服务系统的弹性伸缩方法、系统、介质及设备,用于解决现有技术无法准确地反映资源实际需求,且不涉及具体的任务调度方法,而调度方法也会影响资源需求量,且未考虑容器和虚拟机的同时伸缩,以及容器到虚拟机的放置问题的问题。
为实现上述目的及其他相关目的,本发明一方面提供一种云环境下微服务系统的弹性伸缩方法,所述云环境下微服务系统包括微服务实例层和虚拟机层,每个微服务实例封装于一容器中,并部署于一虚拟机上;所述云环境下微服务系统的弹性伸缩方法包括:监控所述云环境下微服务系统中每个微服务实例的工作属性信息;在所述微服务系统运行前及运行时,确定每种微服务实例的最优性价比容器类型;以任务的工作流和每种微服务实例的最佳性价比容器类型为基础,形成任务的调度方案;读取所述任务的调度方案,以从其中获取新增微服务实例的类型和数量,并将新增微服务实例部署在已租用或新增虚拟机上。
于本发明的一实施例中,所述每个微服务实例的工作属性信息包括微服务实例的实际响应时间和/或工作流的端对端响应时间。
于本发明的一实施例中,所述监控所述云环境下微服务系统中每个微服务实例的工作属性信息的步骤还包括:根据工作流定义的截止时间,判断所述任务是否超时,若超时,存储延迟时间。
于本发明的一实施例中,在执行确定每种微服务实例的最优性价比容器类型的步骤之前,所述云环境下微服务系统的弹性伸缩方法还包括:计算每个微服务实例的平均执行时间、微服务实例之间的平均数据传输量和通信延迟。
于本发明的一实施例中,所述确定每种微服务实例的最优性价比容器类型的步骤包括:初始化所有类型的微服务实例对应的容器类型;计算当前的容器类型下工作流的期望完成时间;当所述期望完成时间大于工作流的截止时间,计算当第i种微服务实例对应的容器类型替换成资源量更多、价格更高的类型时的收益比。
于本发明的一实施例中,所述以任务的工作流和每种微服务实例的最优性价比容器类型为基础,形成任务的调度方案的步骤包括:提取每个微服务实例对应的最优性价比容器类型的运行速度,计算工作流中每个任务的排名,并以任务的排名为基础,计算每个任务的子截止时间;当一个调度周期中需要为多个工作流进行调度、且多个工作流之间存在微服务实例竞争时,通过添加统一的入口任务和出口任务,将多个工作流融合成单一工作流;计算所述工作流中每个就绪任务的期望完成时间;所述就绪任务为所有前驱任务已执行完成的任务;基于每个任务的子截止时间、每个就绪任务的期望完成时间和后续任务数,计算所述就绪任务的调度紧急程度,选取所述调度紧急程度的最小值对应的就绪任务,作为后续调度的对象;遍历所有可执行该任务的微服务实例,判断所述任务是否能够满足所述子截止时间;通过计算任务松弛度来判断所述任务是否能够满足所述子截止时间;当所述任务松弛度为非负数时,表示存在部分微服务实例可在所述子截止时间之前完成该任务,则计算调度所述任务至所述微服务实例上造成的成本增加量,将所述任务调度到最小的成本增加量对应的微服务实例;当所述任务松弛度为负数时,表示所有部分微服务实例不能满足所述子截止时间,则计算在所述子截止时间之前完成任务所需的最小微服务实例计算速度,以根据最小微服务实例计算速度,新建微服务实例;若新建微服务实例,遍历所述已租用虚拟机,选择其中装载有该微服务实例所需容器镜像的虚拟机,则选择其中虚拟机剩余资源量和容器所需资源量差值最小的虚拟机,并将新建微服务实例部署至该虚拟机上;返回所述计算所述工作流中每个就绪任务的期望完成时间的步骤。
于本发明的一实施例中,所述云环境下微服务系统的弹性伸缩方法还包括:当已租用虚拟机不足以部署所有新增微服务实例时,则租用新虚拟机用于部署剩余未部署的微服务实例;所述租用新虚拟机的类型、数量以及到虚拟机的映射方式通过预存的可变尺寸的装箱问题的方式求解。
本发明另一方面提供一种云环境下微服务系统的弹性伸缩系统,所述云环境下微服务系统包括微服务实例层和虚拟机层,每个微服务实例封装于一容器中,并部署于一虚拟机上;所述云环境下微服务系统的弹性伸缩系统包括:监控模块,用于监控所述云环境下微服务系统中每个微服务实例的工作属性信息;容器类型确定模块,用于在所述微服务系统运行前及运行时,确定每种微服务实例的最优性价比容器类型;调度方案形成模块,用于以任务的工作流和每种微服务实例的最佳性价比容器类型为基础,形成任务的调度方案;部署模块,用于读取所述任务的调度方案,以从其中获取新增微服务实例的类型和数量,并将新增微服务实例部署在已租用或新增虚拟机上。
本发明又一方面提供一种介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述云环境下微服务系统的弹性伸缩方法。
本发明最后一方面提供一种设备,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述设备执行所述云环境下微服务系统的弹性伸缩方法。
如上所述,本发明所述的云环境下微服务系统的弹性伸缩方法、系统、介质及设备,具有以下有益效果:
第一,本发明结合任务调度算法与资源伸缩算法,利用任务调度算法获取调度方案并精确计算出系统伸缩所需的资源量,在保证系统性能的同时降低了系统运行的成本。
第二,本发明针对云环境中以虚拟机为主的资源提供方式,提出了容器和虚拟机的组合伸缩问题,并利用VSBPP求解方法得到成本最优的虚拟机扩展和容器部署方案。
第三,本发明综合考虑工作流的整体结构,计算每种微服务的最优性价比容器类型,并以此为依据进行截止时间划分,提高了截止时间划分的可靠性,提升了算法的性能。
附图说明
图1显示为本发明的云环境下微服务系统的原理结构示意图。
图2A显示为本发明的云环境下微服务系统的弹性伸缩方法于一实施例中的流程示意图。
图2B显示为本发明的云环境下微服务系统的弹性伸缩方法中S22的流程示意图。
图2C显示为本发明的云环境下微服务系统的弹性伸缩方法中S23的流程示意图。
图3显示为本发明的云环境下微服务系统的弹性伸缩系统于一实施例中的原理结构示意图。
元件标号说明
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明所述云环境下微服务系统的弹性伸缩方法、系统、介质及设备的技术原理如下:
本发明包括最优性价比容器类型求解、基于任务紧急程度的异构工作流调度、基于VSBPP的容器虚拟机组合伸缩;其中,最优性价比容器类型求解以描述微服务系统结构的工作流为基础,从资源量最少的容器类型开始,依次为每种微服务替换容器类型,并计算容器类型替换造成的收益比,即性能提升量和价格上涨量的比值,选取收益比最高的微服务容器类型进行实际替换,重复此过程直到在某种容器类型方案下微服务系统的性能达到要求,这个容器类型方案即为最优性价比容器类型;基于任务紧急程度的异构工作流调度以描述用户请求结构的工作流以及最优性价比容器类型为基础,计算用户请求中每个任务的子截止时间、预期完成时间和待调度后继任务数量,以这三个值的比值作为任务的调度紧急程度,决定任务调度的先后顺序;按调度先后顺序依次对每个任务进行调度,判断任务在现有服务实例上是否能够满足子截止时间:如果满足,则计算任务在每个满足子截止时间的服务实例上造成的成本增加量,并选取其中成本增加量最小的服务实例进行任务分配;如果不满足,优先创建符合最优性价比容器类型的新容器,在其中部署服务实例并分配任务到该新服务实例上;基于VSBPP的容器虚拟机组合伸缩从调度算法得到的调度方案中得到新增容器的类型和数量,尝试在已租用虚拟机上进行部署,如果已租用虚拟机的资源量不足以部署所有新增容器,则租用一批新虚拟机用于部署剩余未部署容器,新租用虚拟机的类型、数量以及容器到虚拟机的映射方案通过VSBPP求解方法进行求解。本发明综合考虑任务调度算法和资源伸缩算法,通过任务调度算法精确确定需要扩展的资源数量,再通过资源伸缩算法进行成本最优化的伸缩方案求解,保证微服务系统性能,最小化云资源租用成本。
实施例一
本实施例提供一种云环境下微服务系统的弹性伸缩方法,所述云环境下微服务系统包括微服务实例层和虚拟机层,每个微服务实例封装于一容器中,并部署于一虚拟机上;所述云环境下微服务系统的弹性伸缩方法包括:
监控所述云环境下微服务系统中每个微服务实例的工作属性信息;
在所述微服务系统运行前及运行时,确定每种微服务实例的最优性价比容器类型;
以任务的工作流和每种微服务实例的最佳性价比容器类型为基础,形成任务的调度方案;
读取所述任务的调度方案,以从其中获取新增微服务实例的类型和数量,并将新增微服务实例部署在已租用或新增虚拟机上。
以下将结合图示对本实施例所提供的云环境下微服务系统的弹性伸缩方法进行详细描述。请参阅图1,显示为云环境下微服务系统的原理结构示意图。如图1所示,所述云环境下微服务系统1包括微服务实例层和虚拟机层,每个微服务实例被封装在一个容器中,并被部署到一虚拟机中。在本实施例中,所述微服务系统以工作流的形式表示,并通过有向无环图(Directed Acyclic Graph,DAG)进行描述,多个用户请求将被缓存在工作负载队列中,如图1中的工作流层所示。在某个时刻T,当用户请求进入系统时,会触发系统中某个功能的执行,该用户请求可以被该功能对应的工作流及DAG表示,DAG中的每个顶点表示请求中的一个任务,两个顶点之间的边表示任务之间的依赖关系。
请参阅图2A,显示为云环境下微服务系统的弹性伸缩方法于一实施例中的流程示意图。如图2A所示,所述云环境下微服务系统的弹性伸缩方法具体包括以下几个步骤:
S21,监控所述云环境下微服务系统中每个微服务实例的工作属性信息,并根据工作流定义的截止时间,判断所述任务(在本实施例中,所述任务)是否超时,若超时,存储延迟时间。在本实施例中,所述每个微服务实例的工作属性信息包括微服务实例的实际响应时间和/或工作流的端对端响应时间等等信息。将工作流定义的截止时间与微服务实例的实际响应时间相比较,以判断用户请求是否超时。
S22,在所述微服务系统运行前及运行时,确定每种微服务实例的最优性价比容器类型。在本实施例中,当微服务系统需要扩展某种微服务的服务实例数量时,优先选择对应的容器类型,保证性能和成本的最优化。在求解之前,通过S21监控的数据,求出每种类型微服务实例的平均执行时间(每种类型微服务实例的平均执行时间等于每种类型微服务实例多次执行的执行时间之和除以执行次数)以及微服务实例之间的平均数据传输量(微服务实例之间的平均数据传输量等于微服务实例之间多次传输数据所消耗的时间之和除以传输次数)和通信延迟,并在微服务系统运行时进行实时更新。
请参阅图2B,显示为S22的流程示意图。如图2B所示,所述S22具体包括以下步骤:
S221,初始化所有类型的微服务实例对应的容器类型。
S222,计算当前的容器类型下工作流的期望完成时间。
makespan=max{FTc} 公式(3)
其中,tp为任务tc的前驱任务,当前仅当tc的所有前驱任务完成时tc才可以执行。datap,c为任务tp和tc之间的平均数据传输量,b为网络带宽,TTp,c表示任务tp和tc之间的数据传输时间,即通信延迟;FTp表示tp的完成时间,ETc表示tc的平均执行时间。
S223,当所述期望完成时间大于工作流的截止时间,计算当第i种微服务实例对应的容器类型替换成资源量更多、价格更高的类型时的收益比。
其中,durationi为第i个容器的运行时长,interval为云服务提供商的收费时间单位,取值为云服务提供商提供的虚拟机收费单位时间,pricei为第i个容器的单位价格,单位价格随容器的资源量变化而变化。
所有微服务类型求收益比,得到集合{gaini}。其中makespanbefore、costbefore、makespanafter、costafter分别表示替换前与替换后的期望完成时间和容器总价格。选取其中最大收益比对应的i,将第i种微服务对应的容器类型进行实际替换,并返回步骤S222。
计算收益比gaini时,容器总价格cost取决于容器的单价和容器的运行时长。替换后容器的单价增加,但容器的运行时长降低,所以可能存在如下情况:
(1)替换后成本降低,则选取cost差值作为gaini;
(2)替换后成本不变,则选取makespan差值作为gaini。
如果期望完成时间满足工作流的截止时间,则算法停止,当前每种微服务对应的容器类型即为最优性价比容器类型。
S23,以任务的工作流和每种微服务实例的最佳性价比容器类型为基础,形成任务的调度方案。
请参阅图2C,显示为S23的流程示意图。如图2C所示,所述S23包括以下步骤:
S231,提取每个微服务实例对应的最优性价比容器类型的运行速度,计算工作流中每个任务的排名,并以任务的排名为基础,计算每个任务的子截止时间。
在本实施例中,根据公式(6)计算工作流中每个任务的排名rank。
其中,任务tj为任务ti的后继任务,ET* i为ti在最优性价比容器类型上的执行时间,TTi,j为ti与tj之间的数据传输时间。rank的物理含义为:在无任务排队时间的情况下,任务ti开始执行到整个工作流完成执行的期望时间。
根据其物理含义,以任务的rank为基础,计算每个任务的子截止时间,即每个任务被允许的最晚完成时间。如果一个任务不能在它的子截止时间之前执行完成,则可以认为这个任务所属的工作流将超时:
其中,subdeadlinei为任务ti的子截止时间,cpLength为工作流的关键路径长度,即整个工作流完成执行的期望时间,deadline为整个工作流的截止时间。
S232,当一个调度周期中需要为多个工作流进行调度、且多个工作流之间存在微服务实例竞争时,通过添加统一的入口任务和出口任务,即一个工作流中无前驱任务或者无后继任务的两类特殊任务,将多个工作流融合成单一工作流。
S233,计算所述工作流中每个就绪任务的期望完成时间;所述就绪任务为所有前驱任务已执行完成的任务。特别地,没有前驱任务的入口任务一定是每个工作流中最先执行的任务。期望完成时间的计算公式如下:
其中,XFT(tc)为就绪任务tc的期望完成时间,Ii,j表示第i种微服务的第j个微服务实例,EFT(tc,Ii,j)和ET(tc,Ii,j)分别表示任务tc在微服务实例Ii,j上的最早完成时间和执行时间,wc为任务tc的计算量,si,j为微服务实例Ii,j的处理速度,avail(Ii,j)为微服务实例Ii,j的可用时间,AFT(tp)为任务tp的实际完成时间。期望完成时间即为所有微服务实例中最早完成时间的最小值。需要注意的是,任务tc只有在其对应类型的微服务的服务实例上才可以执行。
S234,基于每个任务的子截止时间、每个就绪任务的期望完成时间和后续任务数,计算所述就绪任务的调度紧急程度,选取所述调度紧急程度的最小值对应的就绪任务,作为后续调度的对象。
在本实施例中,根据公式(11)计算所述就绪任务的调度紧急程度:
其中,hop(ti)为任务ti的待调度后续任务数,就绪任务的待调度后继任务数定义为从该任务到出口任务的最大路径长度。当调度紧急程度的值越小时,任务的期望完成时间越接近于子截止时间,后续等待调度的任务数量也越多,该任务也需要优先进行调度。
选取调度紧急程度值最小的就绪任务,作为后续调度的对象。
S235,对待调度任务,遍历所有可执行该任务的微服务实例,判断所述任务是否能够满足所述子截止时间;通过计算任务松弛度来判断所述任务是否能够满足所述子截止时间。
在本实施例中,根据公式(12)计算任务松弛度:
Laxity(tc,Ii,j)=subdeadlin ec-EFT(tc,Ii,j) 公式(12)
Laxity(tc,Ii,j)物理含义为:当任务tc被调度到实例Ii,j上时,其子截止时间和最早完成时间之间的差值。
当所述任务松弛度Laxity(tc,Ii,j)为非负数时,表示存在部分微服务实例可在所述子截止时间之前完成该任务,则计算调度所述任务至所述微服务实例上造成的成本增加量incrCosti,j,将所述任务调度到最小的成本增加量对应的微服务实例。
在本实施例中,成本增加量incrCosti,j的计算公式如下:
incrCosti,j=cost′-cost 公式(13)
其中,cost和cost’分别表示任务tc被调度到服务实例Ii,j之前和之后的成本,durationx为第x个虚拟机的租用时长,interval为云服务提供商的收费时间单位,pricex为第x个虚拟机的单位价格。
当所述任务松弛度为负数时,表示所有部分微服务实例满足所述子截止时间,则计算在所述子截止时间之前完成任务所需的最小微服务实例计算速度minSpeed,以根据最小微服务实例计算速度,则新建微服务实例。
在本实施例中,根据公式(15)计算在所述子截止时间之前完成任务所需的最小微服务实例计算速度minSpeed:
其中,IT(I* i,j)为一个新服务实例的创建时间,并按以下策略进行选择:
(1)当minSpeed大于可获取的虚拟机类型的最大处理速度,则根据公式(9)计算该任务在现有微服务实例上可以达到的最早完成时间,以及新建一个具有最大处理速度的服务实例并且任务在该实例上执行所能达到的最早完成时间(包括新服务实例的创建时间),取两种方案中最早完成时间更小的方案;
(2)当minSpeed小于该任务对应的微服务的最优性价比容器类型的处理速度,则新建一个最优性价比容器并部署微服务实例,将任务调度到该微服务实例;
(3)minSpeed处于可获取的虚拟机类型的最大处理速度与该任务对应的微服务的最优性价比容器类型的处理速度之间时,则新建一个处理速度稍大于minSpeed的容器并部署服务实例,将任务调度到该实例上。
S236,若新建微服务实例,遍历所述已租用虚拟机,选择其中装载有该微服务实例所需容器镜像的虚拟机,则选择其中虚拟机剩余资源量和容器所需资源量差值最小的虚拟机,并将新建微服务实例部署至该虚拟机上;同时,重新调整该任务的预期完成时间。如果已租用虚拟机中没有服务实例所需的容器镜像,则将该服务实例加入集合newIns中,由容器虚拟机组合伸缩模块进行部署(在本实施例中,被提前部署的新建服务实例不再参加容器虚拟机组合伸缩模块的部署)。返回S233,即返回所述计算所述工作流中每个就绪任务的期望完成时间的步骤。
S24,读取所述任务的调度方案,以从其中获取新增微服务实例的类型和数量,并将新增微服务实例部署在已租用或新增虚拟机上。
具体地,读取所述任务的调度方案,获取未部署的新服务实例集合newIns,从其中获取新增的服务实例以及其对应的容器类型,并根据容器所需的资源量进行升序排列。按照排序结果,依次新增服务实例部署到已租用虚拟机上,选择的依据是Best Fit原则,即选择虚拟机剩余资源量和容器所需资源量差值最小的虚拟机。
当已租用虚拟机不足以部署所有新增微服务实例时,则租用新虚拟机用于部署剩余未部署的微服务实例;所述租用新虚拟机的类型、数量以及到虚拟机的映射方式通过预存的可变尺寸的装箱问题(variable-sized bin pack problem,VSBPP)的方式求解。其中,新增的服务实例即为VSBPP中的物品,可租用的虚拟机类型即为不同容量的箱子。
在本实施例中,利用FFDLS算法、IFFD算法等VSBPP求解算法进行求解所述租用新虚拟机的类型、数量以及到虚拟机的映射方式。
具体地,VSBPP求解算法中的目标函数为新增虚拟机的租用费用最小。云环境中提供的虚拟机常根据租用的时间单位数量,如Amazon EC2的虚拟机以小时收费,未满一小时部分按一小时收费,所以租用费用计算公式如公式(16)所示:
其中,durationi为第i个虚拟机的租用时长,interval为云服务提供商的收费时间单位,pricei为第i个虚拟机的单位价格。
在获取到预存的可变尺寸的装箱问题的解后,对每个新租用虚拟机计算剩余资源量,即虚拟机所拥有的资源总量减去被服务实例占用的资源量,并按照该虚拟机上的新增服务实例的所需资源量占比,将剩余资源量按比例分配给新增服务实例。
本实施例所述云环境下微服务系统的弹性伸缩方法具有以下有益效果:
第一,本实施例结合任务调度算法与资源伸缩算法,利用任务调度算法获取调度方案并精确计算出系统伸缩所需的资源量,在保证系统性能的同时降低了系统运行的成本。
第二,本实施例针对云环境中以虚拟机为主的资源提供方式,提出了容器和虚拟机的组合伸缩问题,并利用VSBPP求解方法得到成本最优的虚拟机扩展和容器部署方案。
第三,本实施例综合考虑工作流的整体结构,计算每种微服务的最优性价比容器类型,并以此为依据进行截止时间划分,提高了截止时间划分的可靠性,提升了算法的性能。
本实施例还提供一种介质(亦称为计算机可读存储介质),其上存储有计算机程序,该计算机程序被处理器执行时实现上述云环境下微服务系统的弹性伸缩方法。
本领域普通技术人员可以理解计算机可读存储介质为:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例再提供一种云环境下微服务系统的弹性伸缩系统,所述云环境下微服务系统包括微服务实例层和虚拟机层,每个微服务实例封装于一容器中,并部署于一虚拟机上;所述云环境下微服务系统的弹性伸缩系统包括:
监控模块,用于监控所述云环境下微服务系统中每个微服务实例的工作属性信息;
容器类型确定模块,用于在所述微服务系统运行前及运行时,确定每种微服务实例的最优性价比容器类型;
调度方案形成模块,用于以任务的工作流和每种微服务实例的最佳性价比容器类型为基础,形成任务的调度方案;
部署模块,用于读取所述任务的调度方案,以从其中获取新增微服务实例的类型和数量,并将新增微服务实例部署在已租用或新增虚拟机上。
以下将结合图示对本实施例所提供的云环境下微服务系统的弹性伸缩系统进行详细描述。请参阅图3,显示为云环境下微服务系统的弹性伸缩系统于一实施例中的原理结构示意图。如图3所示,所述云环境下微服务系统的弹性伸缩系统3包括监控模块31、容器类型确定模块32、调度方案形成模块33及部署模块34。
所述监控模块31用于监控所述云环境下微服务系统中每个微服务实例的工作属性信息,并根据工作流定义的截止时间,判断所述任务(在本实施例中,所述任务)是否超时,若超时,存储延迟时间。在本实施例中,所述每个微服务实例的工作属性信息包括微服务实例的实际响应时间和/或工作流的端对端响应时间等信息。将工作流定义的截止时间与微服务实例的实际响应时间相比较,以判断用户请求是否超时。
与所述监控模块31耦合的所述容器类型确定模块32用于在所述微服务系统运行前及运行时,确定每种微服务实例的最优性价比容器类型。
在本实施例中,当微服务系统需要扩展某种微服务的服务实例数量时,优先选择对应的容器类型,保证性能和成本的最优化。所述容器类型确定模块32在求解之前,通过所述监控模块31监控的数据,求出每种类型微服务实例的平均执行时间(每种类型微服务实例的平均执行时间等于每种类型微服务实例多次执行的执行时间之和除以执行次数)以及微服务实例之间的平均数据传输量(微服务实例之间的平均数据传输量等于微服务实例之间多次传输数据所消耗的时间之和除以传输次数)和通信延迟,并在微服务系统运行时进行实时更新。
具体地,所述容器类型确定模块32用于初始化所有类型的微服务实例对应的容器类型;计算当前的容器类型下工作流的期望完成时间;当所述期望完成时间大于工作流的截止时间,分别计算当第i种微服务实例对应的容器类型替换成资源量更多、价格更高的类型时的收益比。如果期望完成时间满足工作流的截止时间,则所述容器类型确定模块32停止,当前每种微服务对应的容器类型即为最优性价比容器类型。
与所述监控模块31和所述容器类型确定模块32耦合的调度方案形成模块33用于以任务的工作流和每种微服务实例的最佳性价比容器类型为基础,形成任务的调度方案。
具体地,所述调度方案形成模块33用于提取每个微服务实例对应的最优性价比容器类型的运行速度,计算工作流中每个任务的排名,并以任务的排名为基础,计算每个任务的子截止时间;当一个调度周期中需要为多个工作流进行调度、且多个工作流之间存在微服务实例竞争时,通过添加统一的入口任务和出口任务,将多个工作流融合成单一工作流;计算所述工作流中每个就绪任务的期望完成时间;所述就绪任务为所有前驱任务已执行完成的任务;基于每个任务的子截止时间、每个就绪任务的期望完成时间和后续任务数,计算所述就绪任务的调度紧急程度,选取所述调度紧急程度的最小值对应的就绪任务,作为后续调度的对象;遍历所有可执行该任务的微服务实例,判断所述任务是否能够满足所述子截止时间;通过计算任务松弛度来判断所述任务是否能够满足所述子截止时间;当所述任务松弛度为非负数时,表示存在部分微服务实例可在所述子截止时间之前完成该任务,则计算调度所述任务至所述微服务实例上造成的成本增加量,将所述任务调度到最小的成本增加量对应的微服务实例;当所述任务松弛度为负数时,表示所有部分微服务实例满足所述子截止时间,则计算在所述子截止时间之前完成任务所需的最小微服务实例计算速度,以根据最小微服务实例计算速度,则新建微服务实例;若新建微服务实例,遍历所述已租用虚拟机,选择其中装载有该微服务实例所需容器镜像的虚拟机,则选择其中虚拟机剩余资源量和容器所需资源量差值最小的虚拟机,并将新建微服务实例部署至该虚拟机上;返回计算所述工作流中每个就绪任务的期望完成时间。
分别与所述容器类型确定模块32和调度方案形成模块33耦合的部署模块34用于读取所述任务的调度方案,以从其中获取新增微服务实例的类型和数量,并将新增微服务实例部署在已租用虚拟机上。当已租用虚拟机不足以部署所有新增微服务实例时,则租用新虚拟机用于部署剩余未部署的微服务实例;所述租用新虚拟机的类型、数量以及到虚拟机的映射方式通过预存的可变尺寸的装箱问题(variable-sized bin pack problem,VSBPP)的方式求解。其中,新增的服务实例即为VSBPP中的物品,可租用的虚拟机类型即为不同容量的箱子。
具体地,所述部署模块34利用FFDLS算法、IFFD算法等VSBPP求解算法进行求解所述租用新虚拟机的类型、数量以及到虚拟机的映射方式。在获取到预存的可变尺寸的装箱问题的解后,对每个新租用虚拟机计算剩余资源量,即虚拟机所拥有的资源总量减去被服务实例占用的资源量,并按照该虚拟机上的新增服务实例的所需资源量占比,将剩余资源量按比例分配给新增服务实例。
在本实施例中,所述云环境下微服务系统的弹性伸缩系统3中监控模块31、容器类型确定模块32、调度方案形成模块33及部署模块34中具体计算过程如云环境下微服务系统的弹性伸缩方法中所描述的一样,此处不再赘述。
需要说明的是,应理解以上系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如:x模块可以为单独设立的处理元件,也可以集成在上述系统的某一个芯片中实现。此外,x模块也可以以程序代码的形式存储于上述系统的存储器中,由上述系统的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),一个或多个微处理器(Digital Singnal Processor,简称DSP),一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。这些模块可以集成在一起,以片上系统(System-on-a-chip,简称SOC)的形式实现。
实施例二
本实施例提供一种设备,所述设备包括:处理器、存储器、收发器、通信接口或/和系统总线;存储器和通信接口通过系统总线与处理器和收发器连接并完成相互间的通信,存储器用于存储计算机程序,通信接口用于和其他设备进行通信,处理器和收发器用于运行计算机程序,使设备执行如上所述云环境下微服务系统的弹性伸缩方法的各个步骤。
上述提到的系统总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明所述的云环境下微服务系统的弹性伸缩方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
本发明还提供一种云环境下微服务系统的弹性伸缩系统,所述云环境下微服务系统的弹性伸缩系统可以实现本发明所述的云环境下微服务系统的弹性伸缩方法,但本发明所述的云环境下微服务系统的弹性伸缩方法的实现装置包括但不限于本实施例列举的云环境下微服务系统的弹性伸缩系统的结构,凡是根据本发明的原理所做的现有技术的结构变形和替换,都包括在本发明的保护范围内。
综上所述,本发明所述云环境下微服务系统的弹性伸缩方法、系统、介质及设备具有以下有益效果:
第一,本发明结合任务调度算法与资源伸缩算法,利用任务调度算法获取调度方案并精确计算出系统伸缩所需的资源量,在保证系统性能的同时降低了系统运行的成本。
第二,本发明针对云环境中以虚拟机为主的资源提供方式,提出了容器和虚拟机的组合伸缩问题,并利用VSBPP求解方法得到成本最优的虚拟机扩展和容器部署方案。
第三,本发明综合考虑工作流的整体结构,计算每种微服务的最优性价比容器类型,并以此为依据进行截止时间划分,提高了截止时间划分的可靠性,提升了算法的性能。本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种云环境下微服务系统的弹性伸缩方法,其特征在于,所述云环境下微服务系统包括微服务实例层和虚拟机层,每个微服务实例封装于一容器中,并部署于一虚拟机上;所述云环境下微服务系统的弹性伸缩方法包括:
监控所述云环境下微服务系统中每个微服务实例的工作属性信息;
在所述微服务系统运行前及运行时,确定每种微服务实例的最优性价比容器类型;
以任务的工作流和每种微服务实例的最佳性价比容器类型为基础,形成任务的调度方案;
读取所述任务的调度方案,以从其中获取新增微服务实例的类型和数量,并将新增微服务实例部署在已租用或新增虚拟机上。
2.根据权利要求1所述的云环境下微服务系统的弹性伸缩方法,其特征在于,所述每个微服务实例的工作属性信息包括微服务实例的实际响应时间和/或工作流的端对端响应时间。
3.根据权利要求2所述的云环境下微服务系统的弹性伸缩方法,其特征在于,所述监控所述云环境下微服务系统中每个微服务实例的工作属性信息的步骤还包括:根据工作流定义的截止时间,判断所述任务是否超时,若超时,存储延迟时间。
4.根据权利要求2所述的云环境下微服务系统的弹性伸缩方法,其特征在于,在执行确定每种微服务实例的最优性价比容器类型的步骤之前,所述云环境下微服务系统的弹性伸缩方法还包括:
计算每个微服务实例的平均执行时间、微服务实例之间的平均数据传输量和通信延迟。
5.根据权利要求2所述的云环境下微服务系统的弹性伸缩方法,其特征在于,所述确定每种微服务实例的最优性价比容器类型的步骤包括:
初始化所有类型的微服务实例对应的容器类型;
计算当前的容器类型下工作流的期望完成时间;
当所述期望完成时间大于工作流的截止时间,计算当第i种微服务实例对应的容器类型替换成资源量更多、价格更高的类型时的收益比。
6.根据权利要求5所述的云环境下微服务系统的弹性伸缩方法,其特征在于,所述以任务的工作流和为每种微服务实例的最优性价比容器类型基础,形成任务的调度方案的步骤包括:
提取每个微服务实例对应的最优性价比容器类型的运行速度,计算工作流中每个任务的排名,并以任务的排名为基础,计算每个任务的子截止时间;
当一个调度周期中需要为多个工作流进行调度、且多个工作流之间存在微服务实例竞争时,通过添加统一的入口任务和出口任务,将多个工作流融合成单一工作流;
计算所述工作流中每个就绪任务的期望完成时间;所述就绪任务为所有前驱任务已执行完成的任务;
基于每个任务的子截止时间、每个就绪任务的期望完成时间和后续任务数,计算所述就绪任务的调度紧急程度,选取所述调度紧急程度的最小值对应的就绪任务,作为后续调度的对象;
遍历所有可执行该任务的微服务实例,判断所述任务是否能够满足所述子截止时间;通过计算任务松弛度来判断所述任务是否能够满足所述子截止时间;
当所述任务松弛度为非负数时,表示存在部分微服务实例可在所述子截止时间之前完成该任务,则计算调度所述任务至所述微服务实例上造成的成本增加量,将所述任务调度到最小的成本增加量对应的微服务实例;
当所述任务松弛度为负数时,表示所有部分微服务实例不能满足所述子截止时间,则计算在所述子截止时间之前完成任务所需的最小微服务实例计算速度,以根据最小微服务实例计算速度,新建微服务实例;
若新建微服务实例,遍历所述已租用虚拟机,选择其中装载有该微服务实例所需容器镜像的虚拟机,则选择其中虚拟机剩余资源量和容器所需资源量差值最小的虚拟机,并将新建微服务实例部署至该虚拟机上;
返回所述计算所述工作流中每个就绪任务的期望完成时间的步骤。
7.根据权利要求6所述的云环境下微服务系统的弹性伸缩方法,其特征在于,所述云环境下微服务系统的弹性伸缩方法还包括:
当已租用虚拟机不足以部署所有新增微服务实例时,则租用新虚拟机用于部署剩余未部署的微服务实例;所述租用新虚拟机的类型、数量以及到虚拟机的映射方式通过预存的可变尺寸的装箱问题的方式求解。
8.一种云环境下微服务系统的弹性伸缩系统,其特征在于,所述云环境下微服务系统包括微服务实例层和虚拟机层,每个微服务实例封装于一容器中,并部署于一虚拟机上;所述云环境下微服务系统的弹性伸缩系统包括:
监控模块,用于监控所述云环境下微服务系统中每个微服务实例的工作属性信息;
容器类型确定模块,用于在所述微服务系统运行前及运行时,确定每种微服务实例的最优性价比容器类型;
调度方案形成模块,用于以任务的工作流和每种微服务实例的最佳性价比容器类型为基础,形成任务的调度方案;
部署模块,用于读取所述任务的调度方案,以从其中获取新增微服务实例的类型和数量,并将新增微服务实例部署在已租用或新增虚拟机上。
9.一种介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述云环境下微服务系统的弹性伸缩方法。
10.一种设备,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述设备执行如权利要求1至7中任一项所述云环境下微服务系统的弹性伸缩方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010768451.5A CN112084002B (zh) | 2020-08-03 | 2020-08-03 | 云环境下微服务系统的弹性伸缩方法、系统、介质及设备 |
PCT/CN2021/103502 WO2022028157A1 (zh) | 2020-08-03 | 2021-06-30 | 云环境下微服务系统的弹性伸缩方法、系统、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010768451.5A CN112084002B (zh) | 2020-08-03 | 2020-08-03 | 云环境下微服务系统的弹性伸缩方法、系统、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112084002A true CN112084002A (zh) | 2020-12-15 |
CN112084002B CN112084002B (zh) | 2022-09-02 |
Family
ID=73735927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010768451.5A Active CN112084002B (zh) | 2020-08-03 | 2020-08-03 | 云环境下微服务系统的弹性伸缩方法、系统、介质及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112084002B (zh) |
WO (1) | WO2022028157A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112698878A (zh) * | 2020-12-18 | 2021-04-23 | 浙江中控技术股份有限公司 | 基于算法微服务的计算方法及系统 |
WO2022028157A1 (zh) * | 2020-08-03 | 2022-02-10 | 同济大学 | 云环境下微服务系统的弹性伸缩方法、系统、介质及设备 |
WO2023246330A1 (zh) * | 2022-06-20 | 2023-12-28 | 华为云计算技术有限公司 | 资源调整方法、装置、计算设备集群及可读存储介质 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114708358B (zh) * | 2022-05-25 | 2022-09-02 | 腾讯科技(深圳)有限公司 | 对象处理方法、装置、设备及计算机可读存储介质 |
CN115412449B (zh) * | 2022-08-31 | 2024-02-27 | 西安交通大学 | 一种基于负载预测的容器动态伸缩方法及系统 |
CN115328667A (zh) * | 2022-10-18 | 2022-11-11 | 杭州比智科技有限公司 | 基于flink任务指标监控实现任务资源弹性伸缩系统及方法 |
CN116302404B (zh) * | 2023-02-16 | 2023-10-03 | 北京大学 | 面向资源解耦合数据中心的服务器无感知计算调度方法 |
CN116382923A (zh) * | 2023-06-01 | 2023-07-04 | 苏州浪潮智能科技有限公司 | 云主机弹性伸缩调度方法、装置、电子设备和存储介质 |
CN116627660A (zh) * | 2023-07-24 | 2023-08-22 | 湖北省楚天云有限公司 | 一种基于云数据中心的微服务资源配置方法 |
CN117349036B (zh) * | 2023-12-06 | 2024-04-05 | 湖北省楚天云有限公司 | 微服务实例部署方法、系统、设备及存储介质 |
CN118229028A (zh) * | 2024-05-13 | 2024-06-21 | 广州市物码信息科技有限公司 | 一种基于资源收益的智慧调度方法 |
CN118193175B (zh) * | 2024-05-17 | 2024-07-26 | 江西锦路科技开发有限公司 | 一种面向云际计算的异构工作流任务协同资源调度方法 |
CN118519752B (zh) * | 2024-07-19 | 2024-10-01 | 山东省计算中心(国家超级计算济南中心) | 基于深度强化学习的两阶段工作流调度方法和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775932A (zh) * | 2016-11-29 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 一种云计算系统中随机事件触发的实时工作流调度方法 |
CN107851264A (zh) * | 2015-07-29 | 2018-03-27 | 诺基亚技术有限公司 | 用于数据收集中预算分配的装置、方法以及计算机程序产品 |
CN109408200A (zh) * | 2018-11-12 | 2019-03-01 | 国网信息通信产业集团有限公司 | 一种基于资源请求特征的微服务资源管理方法及系统 |
CN109743199A (zh) * | 2018-12-25 | 2019-05-10 | 中国联合网络通信集团有限公司 | 基于微服务的容器化管理系统 |
US10466990B1 (en) * | 2018-01-29 | 2019-11-05 | Intuit Inc. | Method and system for auto stacking and launching base and extended patterns using an automatic launch and restack engine |
US20200019629A1 (en) * | 2018-07-10 | 2020-01-16 | EMC IP Holding Company LLC | Eventual consistency in a deduplicated cloud storage system |
US20200159557A1 (en) * | 2018-11-15 | 2020-05-21 | Netapp, Inc. | Methods and systems for providing cloud based micro-services |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180088935A1 (en) * | 2016-09-27 | 2018-03-29 | Ca, Inc. | Microservices application configuration based on runtime environment |
US10871995B2 (en) * | 2016-09-29 | 2020-12-22 | Amazon Technologies, Inc. | Managed container instances |
CN109901922B (zh) * | 2019-03-05 | 2021-06-18 | 北京工业大学 | 一种面向多层服务的容器云资源调度优化方法 |
CN112084002B (zh) * | 2020-08-03 | 2022-09-02 | 同济大学 | 云环境下微服务系统的弹性伸缩方法、系统、介质及设备 |
-
2020
- 2020-08-03 CN CN202010768451.5A patent/CN112084002B/zh active Active
-
2021
- 2021-06-30 WO PCT/CN2021/103502 patent/WO2022028157A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107851264A (zh) * | 2015-07-29 | 2018-03-27 | 诺基亚技术有限公司 | 用于数据收集中预算分配的装置、方法以及计算机程序产品 |
CN106775932A (zh) * | 2016-11-29 | 2017-05-31 | 中国人民解放军国防科学技术大学 | 一种云计算系统中随机事件触发的实时工作流调度方法 |
US10466990B1 (en) * | 2018-01-29 | 2019-11-05 | Intuit Inc. | Method and system for auto stacking and launching base and extended patterns using an automatic launch and restack engine |
US20200019629A1 (en) * | 2018-07-10 | 2020-01-16 | EMC IP Holding Company LLC | Eventual consistency in a deduplicated cloud storage system |
CN109408200A (zh) * | 2018-11-12 | 2019-03-01 | 国网信息通信产业集团有限公司 | 一种基于资源请求特征的微服务资源管理方法及系统 |
US20200159557A1 (en) * | 2018-11-15 | 2020-05-21 | Netapp, Inc. | Methods and systems for providing cloud based micro-services |
CN109743199A (zh) * | 2018-12-25 | 2019-05-10 | 中国联合网络通信集团有限公司 | 基于微服务的容器化管理系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022028157A1 (zh) * | 2020-08-03 | 2022-02-10 | 同济大学 | 云环境下微服务系统的弹性伸缩方法、系统、介质及设备 |
CN112698878A (zh) * | 2020-12-18 | 2021-04-23 | 浙江中控技术股份有限公司 | 基于算法微服务的计算方法及系统 |
WO2023246330A1 (zh) * | 2022-06-20 | 2023-12-28 | 华为云计算技术有限公司 | 资源调整方法、装置、计算设备集群及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022028157A1 (zh) | 2022-02-10 |
CN112084002B (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112084002B (zh) | 云环境下微服务系统的弹性伸缩方法、系统、介质及设备 | |
US10783472B2 (en) | Applying machine learning to dynamically scale computing resources to satisfy a service level agreement (SLA) | |
CN111768006B (zh) | 一种人工智能模型的训练方法、装置、设备及存储介质 | |
CN112416585B (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
US9141433B2 (en) | Automated cloud workload management in a map-reduce environment | |
US10999213B2 (en) | Providing high availability for a thin-provisioned container cluster | |
Zhu et al. | A cost-effective scheduling algorithm for scientific workflows in clouds | |
US11526382B2 (en) | Cascading job scheduling in guests | |
Yao et al. | Cutting your cloud computing cost for deadline-constrained batch jobs | |
CN111367644A (zh) | 一种面向异构融合系统的任务调度方法及装置 | |
CN114217966A (zh) | 基于资源调整的深度学习模型动态批处理调度方法和系统 | |
CN115033357A (zh) | 基于动态资源选择策略的微服务工作流调度方法及装置 | |
Saeedizade et al. | DDBWS: a dynamic deadline and budget-aware workflow scheduling algorithm in workflow-as-a-service environments | |
Maruf et al. | Extending resources for avoiding overloads of mixed‐criticality tasks in cyber‐physical systems | |
Monge et al. | Autoscaling Scientific Workflows on the Cloud by Combining On-demand and Spot Instances. | |
US20130212584A1 (en) | Method for distributed caching and scheduling for shared nothing computer frameworks | |
Chien et al. | Market-oriented multiple resource scheduling in grid computing environments | |
Arabnejad et al. | Budget constrained scheduling strategies for on-line workflow applications | |
CN110034963B (zh) | 一种应用集群自适应的弹性配置方法 | |
CN115564635A (zh) | 一种gpu资源调度方法、装置、电子设备及存储介质 | |
CN112988363B (zh) | 资源调度方法、装置、服务器和存储介质 | |
Chen et al. | Improving hadoop monetary efficiency in the cloud using spot instances | |
Taghavi et al. | A Cost-Efficient Workflow as a Service Broker Using On-demand and Spot Instances | |
CN112445569B (zh) | 部署方法、装置、电子设备及存储介质 | |
JP6753521B2 (ja) | 計算資源管理装置、計算資源管理方法、及びプログラム |
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 |