CN114020479A - 一种服务资源配置方法、计算设备及存储介质 - Google Patents
一种服务资源配置方法、计算设备及存储介质 Download PDFInfo
- Publication number
- CN114020479A CN114020479A CN202210007821.2A CN202210007821A CN114020479A CN 114020479 A CN114020479 A CN 114020479A CN 202210007821 A CN202210007821 A CN 202210007821A CN 114020479 A CN114020479 A CN 114020479A
- Authority
- CN
- China
- Prior art keywords
- service
- resource
- resource quota
- service module
- quota
- 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
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
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
技术领域
本发明涉及云计算领域,特别涉及一种服务资源配置方法、计算设备及存储介质。
背景技术
云计算领域近年来迅速发展,云计算是指IT基础设施的交付和使用模式,即通过网络以按需、易扩展的方式获取所需资源。广义上则指服务的交付和使用模式,通过网络以按需、易扩展的方式获取所需服务。提供资源的网络被形象地比喻成“云”,其计算能力通常是由分布式的大规模集群和虚拟化技术提供的。根据云计算提供服务资源的类型将其划分为三大类:基础设施即服务(Infrastructure-as-a-Service,IaaS)、平台即服务(Platform-as-a-Service,Paas)和软件即服务(Software-as-a-Service,SaaS)。
其中,第三代PaaS在Docker火爆之后,利用Docker的特性构建出许多PaaS,比如Kubernetes。这些PaaS更加灵活,更加适应企业,逐渐成为PaaS的主力。这类容器集群管理系统在进行搭建时,对系统中节点资源的分配会设置一个定值的配额。而这种设置方式,首先资源配额和集群所占有资源没有关联,集群资源增加,资源配额将不会改变,这样将可能导致集群资源的浪费。其次,一个用户可能会需要更多的资源,但如果资源配额无法弹性改变,将会影响正常提供服务。
为此,需要一种新的服务资源配置方法。
发明内容
为此,本发明提供一种服务资源配置方法,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种服务资源配置方法,适于在计算设备中执行,计算设备中构建有一个或多个适于提供服务的服务模块,方法包括步骤:获取服务模块的第一资源配额和资源使用额度,第一资源配额为服务模块当前所分配服务资源的额度;根据资源配额和使用额度确定是否修改服务模块的第一资源配额;若确定修改第一资源配额,则根据第一资源配额生成第二资源配额;向服务模块分配第二资源配额的服务资源,以便服务模块使用第二资源配额的服务资源继续提供服务。
可选地,在根据本发明的方法中,服务模块配置有扩容阈值,根据资源配额和使用额度确定是否修改服务模块的第一资源配额包括步骤:根据资源配额和使用额度计算服务模块的资源使用率;判断资源使用率是否大于扩容阈值;若资源使用率大于扩容阈值,则确定修改第一资源配额。
可选地,在根据本发明的方法中,服务模块还配置有扩容方式,根据第一资源配额生成第二资源配额包括步骤:确定服务模块的扩容方式;若服务模块的扩容方式为线性扩容,则根据第一资源配额与线性扩容的扩容粒度生成第二资源配额。
可选地,在根据本发明的方法中,还包括步骤:若服务模块的扩容方式为比例扩容,则根据第一资源配额与比例扩容的扩容比例生成第二资源配额。
可选地,在根据本发明的方法中,服务模块还配置有最大资源配额,方法还包括步骤:判断计算得到的第二资源配额是否大于最大资源配额;若大于,则将最大资源配额确定为第二资源配额。
可选地,在根据本发明的方法中,服务模块还配置有缩容阈值,根据资源配额和使用额度确定是否修改服务模块的第一资源配额还包括步骤:判断资源使用率是否小于缩容阈值;若资源使用率小于缩容阈值,则确定修改第一资源配额。
可选地,在根据本发明的方法中,服务模块还配置有缩容方式,根据第一资源配额生成第二资源配额还包括步骤:确定服务模块的缩容方式;若服务模块的缩容方式为线性缩容,则根据第一资源配额与线性缩容的缩容粒度生成第二资源配额。
可选地,在根据本发明的方法中,还包括步骤:若服务模块的缩容方式为比例缩容,则根据第一资源配额和比例缩容的缩容比例生成第二资源配额。
可选地,在根据本发明的方法中,服务模块还配置有最小资源配额,方法还包括步骤:判断计算得到的第二资源配额是否小于最小资源配额;若小于,则将最小资源配额确定为第二资源配额。
可选地,在根据本发明的方法中,计算设备还包括资源池,存储有未向服务模块分配的服务资源,向服务模块分配第二资源配额的服务资源包括步骤:若第二资源配额大于第一资源配额,则根据第一资源配额和第二资源配额确定服务模块所需的增量资源;判断资源池中的服务资源是否大于服务模块所需的增量资源;若大于,则从资源池中取出服务资源分配给服务模块。
可选地,在根据本发明的方法中,服务模块还配置有优先级,方法还包括步骤:若资源池中的服务资源小于服务模块所需的增量资源,则确定计算设备中是否包括优先级小于服务模块的其他服务模块;若计算设备中包括优先级小于服务模块的其他服务模块,则从其他服务模块中抽取服务资源分配到服务模块,并从资源池中取出服务模块所需的服务资源分配给服务模块。
可选地,在根据本发明的方法中,服务模块还配置有分配间隔时间,方法还包括步骤:确定服务模块上一次资源配额的修改时间;根据当前时间和服务模块上一次资源配额的修改时间计算配额修改间隔;判断配额修改时间是否大于分配间隔时间;若大于,则将服务资源分配给服务模块。
可选地,在根据本发明的方法中,方法还包括步骤:若第二资源配额小于第一资源配额,判断配额修改时间是否大于分配间隔时间;若大于,则从服务模块回收服务资源到资源池中。
根据本发明的另一方面,提供了一种计算设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行根据本发明的一种服务资源配置方法的任一方法的指令。
根据本发明的还有一个方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当由计算设备执行时,使得计算设备执行根据本发明的一种服务资源配置方法中的任一方法。
本发明中的服务资源方法,适于在计算设备中执行,计算设备中构建有一个或多个适于提供服务的服务模块。首先获取服务模块的第一资源配额和资源使用额度,第一资源配额为所述服务模块当前所分配服务资源的额度,根据资源配额和使用额度确定是否修改服务模块的第一资源配额。若确定修改第一资源配额,则根据第一资源配额生成第二资源配额,从而动态的调整服务模块的资源配额,并向服务模块分配第二资源配额的服务资源,以便服务模块根据服务资源继续提供服务。避免服务模块一直使用固定配额的服务资源,导致服务模块出现服务资源不够用或者服务资源浪费的情况,提高服务模块提供服务的过程中对服务资源的使用效率。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个示范性实施例的服务器集群的示意图;
图2示出了根据本发明一个示范性实施例的计算设备200的结构框图;
图3示出了根据本发明一个示范性实施例的服务资源配置方法300的流程示意图;
图4示出了根据本发明一个示范性实施例的从其他服务模块抽取服务资源进行扩容的示意图;
图5示出了根据本发明一个示范性实施例的对服务模块进行服务资源扩容的示意图;
图6示出了根据本发明一个示范性实施例的对服务模块进行服务资源缩容的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个示范性实施例的客户端与服务器通信连接的示意图。如图1所示,服务器140与客户端110~130通信连接。图1所示的服务器140与多个客户端110~130的连接方式仅为示例性的,本发明对服务器140所连接的客户端的数量和连接方式不做限制。
服务器140与客户端110~130可共同组建成为服务器集群。根据本发明的一个实施例,服务器140与客户端110~130可共同组建为容器集群管理系统Kubernetes。Kubernetes构建在Docker技术之上,为容器化的应用提供资源调度、部署运行、服务发现、扩容缩容等一整套功能,本质上可看作是基于容器技术的Micro-PaaS平台,即第三代PaaS的代表性项目。
Kubernetes属于主从分布式架构,节点在角色上分为主节点(Master)和从节点(Node)。如图1所示的服务器140作为主节点,客户端110~130作为从节点。服务器120是容器集群管理系统的控制节点,调度管理整个系统。客户端110~130(Node)运行并管理容器。客户端110~130作为Kubernetes的运行节点,用来分配给容器进行绑定,通常指一台物理设备,需要网络连接并进行统一管理形成集群。
客户端110~130均运行有一个或多个服务模块。以客户端110为例,客户端110中运行有服务模块111~服务模块113。图1所示的客户端110所包括的服务模块的数量仅为示例性的,本发明对客户端110具体在实施过程中所构建的服务模块的数量不做限制。
客户端110中的每个服务模块适于运行一个服务实例,提供一项服务。具体的服务模块111~113可实现为Kubernetes服务器集群的pod。服务模块111~113为Kubernetes服务器集群的部署单元及原子运行单元,即一个应用程序的单一示例,并可包括共享资源的一个或多个应用容器。
客户端110的所有服务资源构成客户端110的资源池,资源池包括但不限于处理器(CPU)资源和内存资源等。客户端110向在客户端110中运行的每个服务模块分配服务资源,以便服务模块根据所分配的服务资源提供服务。服务模块111~113之间构建有服务资源的隔离,使用不同的服务资源以便提供不同的服务。根据本发明的一个实施例,可以按照不同的命名空间构建服务资源的隔离,每个服务模块在一个命名空间的范围内运行,以便不同用户在不同的服务模块使用不同的命名空间。
客户端110中还包括控制模块114,由控制模块114获取服务模块111~113的第一资源配额和资源使用额度,第一资源配额为所述服务模块当前所分配服务资源的额度。根据资源配额和使用额度确定是否修改服务模块的第一资源配额,若确定修述第一资源配额,则根据第一资源配额生成第二资源配额;最后向服务模块分配第二资源配额的服务资源,以便服务模块根据服务资源继续提供服务。控制模块114能够实现通过动态的调整服务模块111~113的资源配额,能够提高服务模块提供服务的过程中对服务资源的使用效率。根据本发明的一个实施例,控制模块114具体可实现为控制器,由服务器140的master的kube-controller-manager组件提供,本发明对控制器的种类不做限制。
图1中的服务器140和客户端110~130可实现为图2中所示的计算设备200。图2示出了根据本发明一个示范性实施例的计算设备200的结构框图。如图2所示,在基本配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(µP)、微控制器(µC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个程序222以及程序数据228。在一些实施方式中,程序222可以布置为在操作系统上由一个或者多个处理器204利用程序数据228执行根据本发明的方法300的指令223。
计算设备200还可以包括储存接口总线234。储存接口总线234实现了从储存设备232(例如,可移除储存器236和不可移除储存器238)经由总线/接口控制器230到基本配置202的通信。操作系统220、程序222以及数据224的至少一部分可以存储在可移除储存器236和/或不可移除储存器238上,并且在计算设备200上电或者要执行程序222时,经由储存接口总线234而加载到系统存储器206中,并由一个或者多个处理器204来执行。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外围接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为以便经由一个或者多个通信端口264与一个或者多个其他计算设备200通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备200中,程序222包括服务资源配置方法300的多条程序指令,这些程序指令可以指示处理器204执行本发明的计算设备200中运行的服务资源配置方法300中的部分步骤,以便计算设备200中的各部分通过执行本发明的服务资源配置方法300来实现对服务资源进行配置。
计算设备200可以实现为服务器,例如文件服务器、数据库、服务器、应用程序服务器等,这些电子设备可以是诸如个人数字助理(PDA)、无线网络浏览设备、应用专用设备、或者可以包括上面任何功能的混合设备。可以实现为包括桌面计算机和笔记本计算机配置的个人计算机,也在一些实施例中,计算设备200被配置为执行服务资源配置方法300。
在现有技术中,服务器140与客户端110~140在组建服务器集群时,客户端110~140中所构建的服务模块,在运行周期中使用固定的服务资源。当服务模块的需求增长,就会导致服务模块出现服务资源不够用的情况;当服务模块执行任务较小,不能充分利用所分配的服务资源时,就会出现服务资源浪费的情况。通过本发明的服务资源配置方法能够实现通过动态的调整服务模块的资源配额,能够提高服务模块提供服务的过程中对服务资源的使用效率。
图3示出了根据本发明一个示范性实施例的服务资源配置方法300的流程示意图。本发明方法300适于在计算设备中执行,具体地可实现在客户端110中执行,以客户端110中的服务模块111对方法300进行说明。客户端110中构建有多个服务模块。构建每个服务模块时,可通过配置服务模块的初始资源配额,根据初始资源配额构建服务模块。服务模块即使用所配置的初始资源配额提供服务。
如图3所示,服务资源配置方法300始于步骤S310,获取服务模块111的第一资源配额和资源使用额度,第一资源配额为服务模块111当前所分配服务资源的额度。资源使用额度为服务模块111当前所使用的服务资源的额度,具体包括处理器和内存等使用的额度。
随后,执行步骤S320,根据资源配额和使用额度确定是否修改服务模块111的第一资源配额。当服务模块111还未进行过资源配额的修改时,构建服务模块111的初始资源配额即为服务模块111的第一资源配额。
判断是否修改服务模块111的第一资源配额时,根据资源配额和使用额度计算所述服务模块111的资源使用率,随后判断资源使用率是否大于扩容阈值。服务模块111配置有扩容阈值,扩容阈值规定了服务模块111的资源使用率在达到某个值时,表示服务模块111的服务资源即将不够用,需要进行扩容。根据本发明的一个实施例,扩容阈值可预设为0.8,本发明对扩容阈值的具体数额不做限制,可根据实际运行需要设置扩容阈值。若资源使用率大于扩容阈值,则确定修改第一资源配额。并且,扩容阈值还包括内存扩容阈值和处理器扩容阈值,服务模块的任一项服务资源的资源使用率达到相应的扩容阈值,均会触发对这项服务资源的扩容操作。
随后,执行步骤S330,若确定修改第一资源配额,则根据第一资源配额生成第二资源配额。服务模块111在构建时还配置有扩容方式,扩容方式包括线性扩容和比例扩容。若服务模块111的服务资源即将不够用,需要进行扩容,则首先需要确定服务模块111的扩容方式。若服务模块111的扩容方式为线性扩容,则根据所述第一资源配额与线性扩容的扩容粒度生成第二资源配额。
线性扩容是指每次为服务模块111的服务资源进行扩容时,按照扩容粒度增加服务模块111的服务资源。扩容粒度为服务资源每次增加的服务资源量,包括处理器扩容粒度和内存扩容粒度。本发明对扩容粒度的大小不作限制,可设置扩容粒度为1个CPU和1GB内存。
若所述服务模块111的扩容方式为比例扩容,则根据第一资源配额与比例扩容的扩容比例生成第二资源配额。比例扩容是指每次为服务模块111的服务资源进行扩容时,按照扩容比例增加服务模块111的服务资源。扩容比例为第二资源配额相对第一资源配额的比例。扩容比例包括内存扩容比例和处理器扩容比例。本发明对扩容比例的大小不做限制,可设置扩容比例为110%,即每次在第一资源配额的基础上增加10%的服务资源,包括内存和处理器均增加10%。
在构建服务模块111设置扩容比例时,扩容比例需要符合预设范围,需要不小于1。内存最小扩容比例为100%,处理器最小扩容比例也为100%。
根据本发明的一个实施例,可设置扩容粒度和扩容比例,关闭服务模块111的扩容功能。将扩容粒度和扩容比例设置为0,则服务模块111最多只能使用初始配置额度,不能对服务资源进行扩容,方便对执行某些任务的服务模块111进行服务资源容量管理。
服务模块111还在构建时配置有最大资源配额,最大资源配额规定了服务模块111所能使用的最大服务资源的额度。在计算得到第二资源配额后,还判断计算得到的第二资源配额是否大于最大资源配额,若大于,则将最大资源配额确定为第二资源配额,以便控制服务模块111的服务资源的扩容,避免影响其他服务模块111的所能够扩容的额度。
随后,执行步骤S350,向服务模块111分配第二资源配额的服务资源,以便服务模块111根据服务资源继续提供服务。向服务模块111分配第二资源配额的服务资源时,若第二资源配额大于所述第一资源配额,则判断服务模块111的资源不够用,需要根据第一资源配额和第二资源配额确定所述服务模块111所需的增量资源。增量资源为此次服务模块111进行服务资源的扩容所需要的服务资源。增量资源的计算方式为第二资源配额减第一资源配额。
计算设备中的资源池包括计算设备中目前所能够分配的服务资源,包括但不限于处理器(CPU)资源和内存资源等。资源池中的服务资源的总量是不断变化的,在未构建服务模块时,资源池的服务资源是计算机的硬件和软件所提供的所有计算资源,即资源总量。在构建服务模块时,资源池的服务资源抽取掉构建所有服务模块的初始资源配额的总和,为资源总量减构建每个服务模块所耗费的初始资源配额。资源池的服务资源在为资源模块扩容和缩容的过程中不断变换。
因此,判断资源池中的服务资源是否大于服务模块111所需的增量资源,是否有足够多的服务资源分配给服务模块111。若大于,则从资源池中取出服务资源分配给服务模块111。
图4示出了根据本发明一个示范性实施例的从其他服务模块抽取服务资源进行扩容的示意图。如图4所示,在构建服务模块111时,还构建服务模块111的优先级,高优先级代表优先得到服务资源分配。若资源池中的服务资源大于服务模块111所需的增量资源,则直接从资源池中抽取服务资源对服务模块111进行扩容。若资源池中的服务资源小于服务模块111所需的增量资源,则确定计算设备中是否包括优先级小于服务模块111的其他服务模块。若计算设备中包括优先级小于服务模块111的其他服务模块,则对其他服务模块进行缩容,从其他服务模块中抽取服务资源分配到服务模块111,并从资源池中取出服务模块111所需的服务资源分配给服务模块111。
具体的,在从其他低优先级的服务模块抽取服务资源时,如112或113,可设置抽取策略,包括补足抽取和优先抽取。补足抽取为:将资源池中的服务资源全部分配给服务模块111后,服务模块111此次所需增量资源不足的部分,从其他服务模块中进行抽取,用以保证其他服务模块的正常运行。优先抽取为直接从其他服务模块抽取服务模块111此次所需的全部增量资源,保证资源池保存一定的服务资源,以便后续分配给其他服务模块。在从其他低优先级的服务模块抽取服务资源时,还有计算对低优先级的服务模块抽取服务资源后,低优先级的服务模块所分配的服务资源,不能小于低优先级服务模块所配置的最小资源配额。以低优先级服务模块所配置的最小资源配额为限度从中抽取服务资源。
在从其他低优先级的服务模块抽取服务资源,将所收取的服务资源分配给要扩容的服务模块111时,先将所抽取的服务资源返回到资源池中,再从资源池中分配这些服务资源到服务模块111中。
在对服务模块111的服务资源进行扩容,向其分配服务资源时,确定服务模块111上一次资源配额的修改时间,根据当前时间和服务模块111上一次资源配额的修改时间计算配额修改间隔。配额修改间隔的计算方式为当前时间减上一次资源配额的修改时间,表示距离上一次修改资源配额的间隔。
服务模块111在构建时还配置有分配间隔时间,分配间隔时间规定了修改资源配额的最小间隔时间,每次修改资源配额时,距离上一次修改需要大于分配间隔时间,以便避免频繁修改资源配额。本发明对分配间隔时间的大小不做限制,根据本发明的一个实施例,分配间隔时间可设置为2分钟。
随后判断配额修改时间是否大于分配间隔时间,若大于,则将服务资源分配给所述服务模块111。
分配间隔时间的设置,有利于节约计算机计算资源,以及在服务模块出现运行异常,占用服务资源迅速增加时,避免异常运行的服务模块迅速吃掉资源池中的所有资源。分配间隔时间的具体设置方式可通过记录服务模块两次修改资源配额的时间间隔,设置一个大于该时间间隔的分配间隔时间,以便减缓服务模块扩容和缩容的速度,降低其修改服务资源配额的频率。
图5示出了根据本发明一个示范性实施例的对服务模块进行服务资源扩容的示意图。如图5所示,以服务模块111为例,获取服务模块111的第一资源配额和资源使用额度,随后计算服务模块111的资源使用率。扩容阈值预设为80%,判断资源使用率是否达到80%,若未达到,则不对服务模块111进行扩容。若达到,则计算第二资源配额。计算第二资源配额时根据扩容方式计算第二资源配额。随后判断计算得到的第二资源配额是否达到最大资源配额,若达到,则使用最大资源配额作为第二资源配额。随后,还判断资源池中的服务资源是否大于服务模块111所需的增量资源,若小于,则从其他优先级低的服务模块中调取服务资源到需要扩容的服务模块111中。最后判断配额修改时间是否大于所述分配间隔时间,若大于,则将服务资源分配给服务模块111。
根据本发明的一个实施例,所述服务模块111构建时还配置有缩容阈值。在步骤S320中,判断是否修改服务模块111的第一资源配额时,还判断资源使用率是否小于缩容阈值。缩容阈值规定了服务模块111的资源使用率在未达到某个值时,表示服务模块111的服务资源过剩,需要进行缩容。根据本发明的一个实施例,缩容阈值可预设为0.6。若资源使用率小于缩容阈值,则确定修改第一资源配额。
确定修改第一资源配额,则根据第一资源配额生成第二资源配额。服务模块111在构建时还配置有缩容方式,缩容方式包括线性缩容和比例缩容。若服务模块111的服务资源过剩,需要进行缩容,则首先需要确定服务模块111的缩容方式。若服务模块111的扩容方式为线性缩容,则根据第一资源配额与线性缩容的缩容粒度生成第二资源配额。
线性缩容是指每次为服务模块111的服务资源进行缩容时,按照缩容粒度减少服务模块111的服务资源。缩容粒度为服务资源每次减少的服务资源量,包括处理器缩容粒度和内存缩容粒度。本发明对缩容粒度的大小不作限制,可设置缩容粒度为1个CPU和1GB内存。
若服务模块111的缩容方式为比例缩容,则根据第一资源配额与比例缩容的缩容比例生成第二资源配额。比例缩容是指每次为服务模块111的服务资源进行缩容时,按照缩容比例减少服务模块111的服务资源。缩容比例为第二资源配额相对第一资源配额的比例。缩容比例包括内存缩容比例和处理器缩容比例。本发明对缩容比例的大小不做限制,可设置缩容比例为90%,即每次在第一资源配额的基础上减少10%的服务资源,包括内存和处理器均减少10%。
服务模块111还在构建时配置有最小资源配额,最小资源配额规定了服务模块111需要使用的最小服务资源的额度。在计算得到第二资源配额后,还判断计算得到的第二资源配额是否小于最小资源配额,若小于,则将最小资源配额确定为第二资源配额,以便控制服务模块111的服务资源的缩容,避免影响服务模块111的正常运行。
随后,执行步骤S350时,若所述第二资源配额小于所述第一资源配额,则判断服务模块111的服务资源过程,需要从服务模块111中回收服务资源,在回收服务资源时,判断配额修改时间是否大于所述分配间隔时间,若大于,则从服务模块111回收服务资源到资源池中,以便降低服务模块111缩容的频率,避免服务模块111频繁缩容。回收的服务资源的数量为第一资源配额减第二资源配额。
图6示出了根据本发明一个示范性实施例的对服务模块进行服务资源缩容的示意图。如图6所示,以服务模块111为例,获取服务模块111的第一资源配额和资源使用额度,随后计算服务模块111的资源使用率。缩容阈值预设为60%,判断资源使用率是否达到60%,若未达到,则不对服务模块111进行缩容。若达到,则计算第二资源配额。计算第二资源配额时根据缩容方式计算第二资源配额。随后判断计算得到的第二资源配额是否小于最小资源配额,若小于,则使用最小资源配额作为第二资源配额。随后,还判断判断配额修改时间是否大于分配间隔时间,若大于,则从服务模块111回收服务资源到资源池中。
本发明中的服务资源方法,适于在计算设备中执行,计算设备中构建有一个或多个适于提供服务的服务模块。首先获取服务模块的第一资源配额和资源使用额度,第一资源配额为所述服务模块当前所分配服务资源的额度,根据资源配额和使用额度确定是否修改服务模块的第一资源配额。若确定修改第一资源配额,则根据第一资源配额生成第二资源配额,从而动态的调整服务模块的资源配额,并向服务模块分配第二资源配额的服务资源,以便服务模块根据服务资源继续提供服务。避免服务模块一直使用固定配额的服务资源,导致服务模块出现服务资源不够用或者服务资源浪费的情况,提高服务模块提供服务的过程中对服务资源的使用效率。
本发明中的服务器集群构建方法,适于在客户端中执行,客户端与服务器通信连接,客户端中包括第一架构参数的处理器,并存储有根据第一架构参数所构建的第一安装文件。本发明通过获取服务器的处理器的第二架构参数,根据第二架构参数生成配置文件,根据第二架构参数修改第一安装文件得到第二安装文件,从而能够使客户端在处理器架构与服务器不同的情况下,安装根据第二架构参数的第二安装文件,构建形式上与服务器相同架构参数的服务环境。并且通过本发明的方法,客户端能够加入不同架构处理器的服务器集群,在服务器进行注册,作为服务器集群的一个服务节点,从而解决了一个服务器集群在多种架构机器上部署和拓展的技术问题。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组间可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组间组合成一个模块或单元或组间,以及此外可以把它们分成多个子模块或子单元或子组间。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的设备停机状态的判断方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种服务资源配置方法,适于在计算设备中执行,所述计算设备中构建有一个或多个适于提供服务的服务模块,所述方法包括步骤:
获取所述服务模块的第一资源配额和资源使用额度,所述第一资源配额为所述服务模块当前所分配服务资源的额度;
根据所述资源配额和使用额度确定是否修改所述服务模块的第一资源配额;
若确定修改所述第一资源配额,则根据所述第一资源配额生成第二资源配额;
向所述服务模块分配第二资源配额的服务资源,以便所述服务模块使用第二资源配额的服务资源继续提供服务。
2.如权利要求1所述的方法,其中,所述服务模块配置有扩容阈值,所述根据所述资源配额和使用额度确定是否修改所述服务模块的第一资源配额包括步骤:
根据所述资源配额和使用额度计算所述服务模块的资源使用率;
判断所述资源使用率是否大于所述扩容阈值;
若所述资源使用率大于所述扩容阈值,则确定修改所述第一资源配额。
3.如权利要求2所述的方法,其中,所述服务模块还配置有扩容方式,所述根据所述第一资源配额生成第二资源配额包括步骤:
确定所述服务模块的扩容方式;
若所述服务模块的扩容方式为线性扩容,则根据所述第一资源配额与线性扩容的扩容粒度生成第二资源配额。
4.如权利要求3所述的方法,其中,所述方法还包括步骤:
若所述服务模块的扩容方式为比例扩容,则根据所述第一资源配额与比例扩容的扩容比例生成第二资源配额。
5.如权利要求4所述的方法,其中,所述服务模块还配置有最大资源配额,所述方法还包括步骤:
判断计算得到的第二资源配额是否大于所述最大资源配额;
若大于,则将所述最大资源配额确定为第二资源配额。
6.如权利要求1-5中任一项所述的方法,其中,所述服务模块还配置有缩容阈值,所述根据所述资源配额和使用额度确定是否修改所述服务模块的第一资源配额还包括步骤:
判断所述资源使用率是否小于所述缩容阈值;
若所述资源使用率小于所述缩容阈值,则确定修改所述第一资源配额。
7.如权利要求6所述的方法,其中,所述服务模块还配置有缩容方式,所述根据所述第一资源配额生成第二资源配额还包括步骤:
确定所述服务模块的缩容方式;
若所述服务模块的缩容方式为线性缩容,则根据所述第一资源配额与线性缩容的缩容粒度生成第二资源配额。
8.如权利要求7所述的方法,其中,所述方法还包括步骤:
若所述服务模块的缩容方式为比例缩容,则根据所述第一资源配额和比例缩容的缩容比例生成第二资源配额。
9.一种计算设备,包括:
一个或多个处理器;
存储器;以及
一个或多个装置,所述一个或多个装置包括用于执行根据权利要求1至8所述的方法中的任一方法的指令。
10.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由计算设备执行时,使得所述计算设备执行根据权利要求1至8所述的方法中的任一方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210007821.2A CN114020479A (zh) | 2022-01-06 | 2022-01-06 | 一种服务资源配置方法、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210007821.2A CN114020479A (zh) | 2022-01-06 | 2022-01-06 | 一种服务资源配置方法、计算设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114020479A true CN114020479A (zh) | 2022-02-08 |
Family
ID=80069760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210007821.2A Pending CN114020479A (zh) | 2022-01-06 | 2022-01-06 | 一种服务资源配置方法、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020479A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090288084A1 (en) * | 2008-05-02 | 2009-11-19 | Skytap | Multitenant hosted virtual machine infrastructure |
US20140032760A1 (en) * | 2008-12-19 | 2014-01-30 | Gary B. Cohen | System and method for allocating online storage to computer users |
CN104079503A (zh) * | 2013-03-27 | 2014-10-01 | 华为技术有限公司 | 一种资源分配方法及装置 |
US20160080402A1 (en) * | 2014-09-12 | 2016-03-17 | Level 3 Communications, Llc | Dynamic configuration of settings in response to ddos attack |
CN109144727A (zh) * | 2018-08-21 | 2019-01-04 | 郑州云海信息技术有限公司 | 云数据系统中资源的管理方法和装置 |
CN110597623A (zh) * | 2019-08-13 | 2019-12-20 | 平安普惠企业管理有限公司 | 容器资源分配方法、装置、计算机设备和存储介质 |
CN110852559A (zh) * | 2019-09-24 | 2020-02-28 | 京东数字科技控股有限公司 | 资源的分配方法和装置、存储介质、电子装置 |
CN111399986A (zh) * | 2020-03-24 | 2020-07-10 | 中国建设银行股份有限公司 | Pod资源配额配置方法及装置 |
CN113886063A (zh) * | 2021-08-30 | 2022-01-04 | 苏州浪潮智能科技有限公司 | 一种资源分配方法、系统、设备以及介质 |
-
2022
- 2022-01-06 CN CN202210007821.2A patent/CN114020479A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090288084A1 (en) * | 2008-05-02 | 2009-11-19 | Skytap | Multitenant hosted virtual machine infrastructure |
US20140032760A1 (en) * | 2008-12-19 | 2014-01-30 | Gary B. Cohen | System and method for allocating online storage to computer users |
CN104079503A (zh) * | 2013-03-27 | 2014-10-01 | 华为技术有限公司 | 一种资源分配方法及装置 |
US20160080402A1 (en) * | 2014-09-12 | 2016-03-17 | Level 3 Communications, Llc | Dynamic configuration of settings in response to ddos attack |
CN109144727A (zh) * | 2018-08-21 | 2019-01-04 | 郑州云海信息技术有限公司 | 云数据系统中资源的管理方法和装置 |
CN110597623A (zh) * | 2019-08-13 | 2019-12-20 | 平安普惠企业管理有限公司 | 容器资源分配方法、装置、计算机设备和存储介质 |
CN110852559A (zh) * | 2019-09-24 | 2020-02-28 | 京东数字科技控股有限公司 | 资源的分配方法和装置、存储介质、电子装置 |
CN111399986A (zh) * | 2020-03-24 | 2020-07-10 | 中国建设银行股份有限公司 | Pod资源配额配置方法及装置 |
CN113886063A (zh) * | 2021-08-30 | 2022-01-04 | 苏州浪潮智能科技有限公司 | 一种资源分配方法、系统、设备以及介质 |
Non-Patent Citations (6)
Title |
---|
(美)RICHARD C.LEINECKER等: "《COM+技术大全》", 31 August 2001, 机械工业出版社 * |
CHAO YU ET AL: "SMGuard: A Flexible and Fine-Grained Resource Management Framework for GPUs", 《 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》 * |
王春凯等: "应对倾斜数据流在线连接方法", 《软件学报》 * |
艾德才等: "《全国计算机等级考试三级教程 数据库技术》", 31 May 2005, 中国铁道出版社 * |
谢文舟等: "基于Kubernetes负载特征的资源预测模型研究", 《网络安全技术与应用》 * |
陈锐锐: "基于容器的云资源弹性策略的研究与实现", 《中国知网优秀硕士学位论文全文数据库电子期刊》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhao et al. | A new energy-aware task scheduling method for data-intensive applications in the cloud | |
US11010313B2 (en) | Method, apparatus, and system for an architecture for machine learning acceleration | |
Ma et al. | A novel dynamic task scheduling algorithm based on improved genetic algorithm in cloud computing | |
CN108023958B (zh) | 一种基于云平台资源监视的资源调度系统 | |
CN103761146A (zh) | 一种MapReduce动态设定slots数量的方法 | |
CN106656525B (zh) | 一种数据广播系统、数据广播方法及设备 | |
US10528115B2 (en) | Obtaining smoother power profile and improved peak-time throughput in datacenters | |
CN113342475B (zh) | 一种服务器集群构建方法、计算设备及存储介质 | |
Fernández-Cerero et al. | Energy policies for data-center monolithic schedulers | |
CN114710563A (zh) | 一种集群节能方法及装置 | |
CN115934362B (zh) | 面向深度学习的服务器无感知计算集群调度方法及产品 | |
CN110633152A (zh) | 用于实现业务集群水平伸缩的方法和装置 | |
WO2023071576A1 (zh) | 容器集群构建方法及系统 | |
CN113918352B (zh) | 一种服务资源配置方法、计算设备及存储介质 | |
CN110825212B (zh) | 节能调度方法及装置、计算机可存储介质 | |
Wu et al. | ABP scheduler: Speeding up service spread in docker swarm | |
CN110308991B (zh) | 一种基于随机任务的数据中心节能优化方法及系统 | |
Yadav et al. | An energy preserving and fault tolerant task scheduler in cloud computing | |
CN114020479A (zh) | 一种服务资源配置方法、计算设备及存储介质 | |
US8607245B2 (en) | Dynamic processor-set management | |
WO2021262332A1 (en) | Rightsizing virtual machine deployments in a cloud computing environment | |
Kiselev et al. | An energy-efficient scheduling algorithm for shared facility supercomputer centers | |
CN111143055A (zh) | 虚拟云主机预分配方法、装置、可读存储介质与电子设备 | |
CN107193362B (zh) | 一种增强云计算环境节能装置 | |
US12026536B2 (en) | Rightsizing virtual machine deployments in a cloud computing environment |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220208 |