CN110347502A - 云主机服务器的负载均衡调度方法、装置及电子设备 - Google Patents
云主机服务器的负载均衡调度方法、装置及电子设备 Download PDFInfo
- Publication number
- CN110347502A CN110347502A CN201910547523.0A CN201910547523A CN110347502A CN 110347502 A CN110347502 A CN 110347502A CN 201910547523 A CN201910547523 A CN 201910547523A CN 110347502 A CN110347502 A CN 110347502A
- Authority
- CN
- China
- Prior art keywords
- cloud host
- server
- available
- target
- available server
- 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
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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- 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/503—Resource availability
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种云主机服务器的负载均衡调度方法、装置及电子设备,属于云计算领域。该方法包括:接收云主机创建请求;查找可用服务器;计算每个所述可用服务器内的当前云主机的数量,所述当前云主机包括既有云主机和创建进程中的云主机;根据每个所述可用服务器内的当前云主机的数量,确定目标可用服务器;在所述目标可用服务器中创建云主机。通过该方法,可以防止在云环境中,由于物理服务器的负载不均衡引起的雪崩现象。
Description
技术领域
本申请属于云计算领域,具体涉及一种云主机服务器的负载均衡调度方法、装置及电子设备。
背景技术
现有技术中,云平台基于物理服务器搭建,可由云管理平台(cloud managementplatform)对其进行管理,用户可根据需求在云平台上创建云主机。创建云主机的请求数量的增加将导致物理服务器负载的增加。云管理平台在创建云主机时由于不清楚各服务器的当前负载情况,可能会将云主机创建请求分配给原本负载就较大的服务器,这样就导致部分服务器的负载过大(甚至“雪崩”),而其他服务器的负载较小(甚至空闲),从而导致服务器的负载出现不均衡的情况。
发明内容
有鉴于此,本申请的目的在于提供一种云主机服务器的负载均衡调度方法、装置及电子设备,防止在云环境中,由于云主机服务器的负载的不均衡引起的“雪崩”现象。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供了一种云主机服务器的负载均衡调度方法,用于管理云主机创建请求,所述方法包括:所述方法包括:接收云主机创建请求;查找可用服务器;计算每个所述可用服务器内的当前云主机的数量,所述当前云主机包括既有云主机和创建进程中的云主机;根据每个所述可用服务器内的当前云主机的数量,确定目标可用服务器;在所述目标可用服务器中创建云主机。由于云管理平台在确定创建云主机的目标可用服务器时,结合了每个可用服务器内的云主机的数量分布情况,因此,可以合理地从多个可用服务器中选择出一个目标可用服务器,实现了可用服务器的负载均衡调度,避免产生雪崩的情况。
结合第一方面实施例,在一种可能的实施方式中,根据每个所述可用服务器内的当前云主机的数量,确定目标可用服务器,包括:判断每个所述可用服务器内的当前云主机的数量是否均低于第一阈值;在为是时,采用随机分配算法确定所述目标可用服务器;在为否时,采用最小分配算法确定所述目标可用服务器。由于在确定目标可用服务器时,不是采用单一的某种特定的算法,因此,避免所有用户创建云主机时都选择同一种算法造成雪崩。
结合第一方面实施例,在一种可能的实施方式中,在根据每个所述可用服务器内的当前云主机的数量,确定目标可用服务器之后,所述方法还包括:将所述目标可用服务器内的当前云主机的数量与所述目标可用服务器内当前获取到的云主机创建请求的数量的一半进行求和,得到第一和值;将所述目标可用服务器内的当前云主机的数量更新为所述第一和值。即在每分配一次目标可用服务器后,都会主动对目标可用服务器记录的当前云主机的数量进行修正,而不需要等待整个云管理平台进行数据更新时再被动更新。
结合第一方面实施例,在一种可能的实施方式中,查找可用服务器,包括:根据所述云主机创建请求,确定创建区域;在所述创建区域中查找所述可用服务器。即为查找可用服务器确定出一个大范围,而不是盲目去查找所有可用服务器。
结合第一方面实施例,在一种可能的实施方式中,所述创建区域包括多个可用区,在所述创建区域中查找所述可用服务器,包括:从所述多个可用区中确定目标可用区;在所述目标可用区内查找所述可用服务器。即在大范围的前提下,再确定出一个小范围,然后再小范围内查找可用服务器,而不是盲目去查找所有可用服务器。
结合第一方面实施例,在一种可能的实施方式中,从所述多个可用区中确定目标可用区,包括:计算每个所述可用区内的当前云主机的数量;根据每个所述可用区内的当前云主机的数量,确定目标可用区。云管理平台在确定目标可用区时,结合了每个可用区范围内的云主机的数量分布情况,因此,可以合理地从多个可用区中选择出一个目标可用区,实现了可用服务器的负载均衡调度。
结合第一方面实施例,在一种可能的实施方式中,根据每个所述可用区内的当前云主机的数量,确定目标可用区,包括:判断每个所述可用区内的当前云主机的数量是否均低于第二阈值;在为是时,采用随机分配算法确定所述目标可用区;在为否时,采用最小分配算法确定所述目标可用区。由于在确定目标可用区时,不是采用单一的某种特定的算法,因此,避免所有用户创建云主机时都选择同一种算法造成雪崩。
结合第一方面实施例,在一种可能的实施方式中,在根据每个所述可用区内的当前云主机的数量,确定目标可用区之后,所述方法还包括:将所述目标可用区内的当前云主机的数量与所述目标可用区内当前获取到的云主机创建请求的数量的一半进行求和,得到第二和值;将所述目标可用区内的当前云主机的数量更新为所述第二和值。即在每分配一次目标可用区后,都会主动对目标可用区范围内记录的当前云主机的数量进行修正,而不需要等待整个云管理平台进行数据更新时再被动更新。
第二方面,本申请实施例提供了一种云主机服务器的负载均衡调度装置,所述装置包括:接收模块、查找模块、计算模块、确定模块以及创建模块。接收模块,用于接收云主机创建请求;查找模块,用于查找可用服务器;计算模块,用于计算每个所述可用服务器内的当前云主机的数量,所述当前云主机包括既有云主机和创建进程中的云主机;确定模块,用于根据每个所述可用服务器内的当前云主机的数量,确定目标可用服务器;创建模块,用于在所述目标可用服务器中创建云主机。
结合第二方面实施例,在一种可能的实施方式中,所述确定模块,用于判断每个所述可用服务器内的当前云主机的数量是否均低于第一阈值;在为是时,采用随机分配算法确定所述目标可用服务器;在为否时,采用最小分配算法确定所述目标可用服务器。
结合第二方面实施例,在一种可能的实施方式中,所述装置还可以包括运算模块以及更新模块,所述运算模块用于将所述目标可用服务器内的当前云主机的数量与所述目标可用服务器内当前获取到的云主机创建请求的数量的一半进行求和,得到第一和值;所述更新模块,用于将所述目标可用服务器内的当前云主机的数量更新为所述第一和值。
结合第二方面实施例,在一种可能的实施方式中,所述查找模块,用于根据所述云主机创建请求,确定创建区域;在所述创建区域中查找所述可用服务器。
结合第二方面实施例,在一种可能的实施方式中,所述创建区域包括多个可用区,所述查找模块,用于从所述多个可用区中确定目标可用区;在所述目标可用区内查找所述可用服务器。
结合第二方面实施例,在一种可能的实施方式中,所述查找模块,用于计算每个所述可用区内的当前云主机的数量;根据每个所述可用区内的当前云主机的数量,确定目标可用区。
结合第二方面实施例,在一种可能的实施方式中,所述确定模块,还用于判断每个所述可用区内的当前云主机的数量是否均低于第二阈值;在为是时,采用随机分配算法确定所述目标可用区;在为否时,采用最小分配算法确定所述目标可用区。
结合第二方面实施例,在一种可能的实施方式中,所述运算模块,还用于将所述目标可用区内的当前云主机的数量与所述目标可用区内当前获取到的云主机创建请求的数量的一半进行求和,得到第二和值;所述更新模块,还用于将所述目标可用区内的当前云主机的数量更新为所述第二和值。
第三方面,本申请实施例还提供了一种电子设备包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
第四方面,本申请实施例还提供了一种非易失性计算机可读取存储介质(以下简称计算机可读取存储介质),其上存储有计算机程序,所述计算机程序被计算机运行时执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出了本申请第一实施例提供的一种云主机服务器的负载均衡调度方法的流程图之一。
图2示出了本申请第一实施例提供的一种云主机服务器的负载均衡调度方法的流程图之二。
图3示出了本申请第二实施例提供的一种云主机服务器的负载均衡调度方法的流程图。
图4示出了本申请第三实施例提供的一种云主机服务器的负载均衡调度装置的结构框图。
图5示出了本申请第四实施例提供的一种云主机服务器的负载均衡调度装置的结构框图。
图6示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
此外,针对现有技术中出现的在云管理平台上创建云主机所存在的缺陷(即在云环境中由于物理服务器的负载的不均衡引起的“雪崩”现象)均是申请人在经过实践并仔细研究后得出的结果,因此,上述缺陷的发现过程以及在下文中本申请实施例针对上述缺陷所提出的解决方案,都应该是申请人在本申请过程中对本申请做出的贡献。
为了解决上述问题,本申请实施例提供了一种云主机服务器的负载均衡调度方法、装置、电子设备及可读存储介质,防止在云环境中由于物理服务器的负载的不均衡引起的“雪崩”现象。该技术可采用相应的软件、硬件以及软硬结合的方式实现。以下对本申请实施例进行详细介绍。
第一实施例
请参阅图1,本申请第一实施例提供了一种应用于云管理平台的云主机服务器的负载均衡调度方法。云管理平台(例如CMP平台)可以同时对多种云环境(例如公有云、私有云、裸机组服务集群、VMware、阿里云等)进行管理。
下面将结合图1对第一实施例对应的方法所包含的步骤进行说明。
步骤S110:接收云主机创建请求。
当用户需要创建云主机时,物理服务器可以根据用户的操作,生成云主机创建请求。云管理平台在接收云主机创建请求后,可以对请求进行响应,以便进行后续操作,例如,显示一个云环境以及该云环境下所包括的多个数据中心,以便后续可以查找可用的数据中心,即可用服务器。
其中,云环境可以根据云主机创建请求来指定,例如用户需要在私有云环境中创建云主机,那么用户发起的云主机创建请求中可以指定云环境为私有云。
步骤S120:查找可用服务器。
值得指出的是,于本申请实施例以及后续实施例中,可用服务器指可以用于创建云主机的数据中心。云管理平台可以在其管理的所有数据中心中进行查找,查找可用于创建云主机的数据中心。
步骤S130:计算每个所述可用服务器内的当前云主机的数量,所述当前云主机包括既有云主机和创建进程中的云主机。
由于具备多个可用服务器,每个可用服务器彼此独立,且都具备创建云主机的能力,因此,在每个可用服务器内的当前云主机数量不同。此处对每个可用服务器内的当前云主机的数量进行计算,便于后续根据每个可用服务器内的当前云主机的数量来合理确定一个目标可用服务器来创建云主机。
值得指出的是,可用服务器内的当前云主机包括既有云主机和创建进程中的云主机。
步骤S140:根据每个所述可用服务器内的当前云主机的数量,确定目标可用服务器。
当确定目标可用服务器时,作为一种可选的实施方式,可以直接将当前云主机数量最少的可用服务器确定为目标可用服务器,避免选择其他计算压力较大的可用服务器作为目标可用服务器时造成雪崩。
作为另一种可选的实施方式,请参看图2,步骤S140可以包括以下步骤。
步骤S141:判断每个可用服务器内的当前云主机的数量是否均低于第一阈值。
其中,当某个可用服务器内的当前云主机的数量低于第一阈值时,该可用服务器的计算压力较小,可以用于创建云主机并为所创建的云主机提供相应的计算能力。当某个可用服务器内的当前云主机的数量大于或者等于第一阈值时,该可用服务器的计算压力较大,若继续在该可用服务器创建云主机,可能使得该可用服务器的负载过大,导致整个可用服务器集群的负载不均衡,甚至导致雪崩。
步骤S142:在为是时,采用随机分配算法确定所述目标可用服务器。
当云管理平台所管理的每个可用服务器内的当前云主机的数量均低于第一阈值时,表征每个可用服务器的计算压力都较小。此时,云管理平台运行数据中心管理进程,从所有可用服务器中随机选择一个可用服务器确定为目标可用服务器,以便后续使用目标可用服务器来创建本次云主机创建请求所对应的云主机。
步骤S143:在为否时,采用最小分配算法确定所述目标可用服务器。
具体地,当某个可用服务器内的当前云主机的数量大于或者等于第一阈值时,若继续选择该可用服务器来创建云主机,将导致该可用服务器的数据计算压力较大。与此同时,云主机的数量小于第一阈值的可用服务器可能处于数据计算压力较小,甚至空闲的状态。此时,为了实现负载均衡的目的,云管理平台可以运行数据中心管理进程,选择已创建云主机最少的可用服务器作为目标可用服务器,以便后续使用目标可用服务器来创建云主机,防止出现雪崩的情况。
在本实施方式中,由于在确定目标可用服务器时,不是采用单一的某种特定的算法,因此,避免所有用户创建云主机时都选择同一种算法造成雪崩。
当然,在分配完相应的目标可用服务器后,随时会有新的云主机创建请求产生。此时,由于目标可用服务器内的当前云主机的数量还没有来得及更新,可能会导致某个可用服务器在一段时间内被不断地确定为目标可用服务器,从而产生雪崩现象。
为了解决上述问题,作为一种可选的实施方式,在确定出目标可用服务器之后,还可以将目标可用服务器内当前所记录的云主机的数量(A)与目标可用服务器内当前获取到的云主机创建请求的数量(B)的一半进行求和,得到第一和值(A+B/2);然后将目标可用服务器内的当前云主机的数量更新为第一和值。即在每分配一次目标可用服务器后,都会主动对目标可用服务器记录的当前云主机的数量进行修正,而不需要等待整个云管理平台进行数据更新时再被动更新。那么在第N+1次统计可用服务器内的当前云主机的数量时,第N次请求中即将创建的云主机的数量也被考虑在内,使得第N+1次云管理平台所获取到的当前云主机的数量分布情况是最及时、最完整的,从而防止同一个可用服务器被重复、不合理地选择为目标可用服务器,避免出现雪崩。
可选的,数据中心管理进程可以按照间隔时间,定期向云管理平台上报实时的云主机的数量。可选的,间隔时间的选择可以根据数据中心所能够承受的运算压力来进行权衡。例如,间隔时间可以是3-5秒之间。
步骤S150:在所述目标可用服务器中创建云主机。
在确定目标可用服务器后,目标可用服务器可以接收来自用户配置的云主机创建数据,其中,云主机创建数据可以包括,但不限于:网络数据、配网规则、系统数据等。
目标可用服务器可以根据云主机创建数据,创建相应的云主机。其中,可用服务器创建云主机的详细过程均为现有技术,此处不再进行赘述。
值得指出的是,本申请实施例中的云管理平台、可用服务器均可以设置为动态扩容状态。
由于云管理平台、可用服务器均设置为动态扩容状态,从而可以更好的适应用户的需求,可以应对大量的云主机创建请求。
本申请第一实施例提供一种云主机服务器的负载均衡调度方法,云管理平台在确定创建云主机的目标可用服务器时,结合了每个可用服务器内的云主机的数量分布情况,因此,可以合理地从多个可用服务器中选择出一个目标可用服务器,实现了可用服务器的负载均衡调度,避免产生雪崩的情况。
第二实施例
请参看图3,本申请第二实施例提供一种云主机服务器的负载均衡调度方法,该方法包括:
步骤S210:接收云主机创建请求。
当用户需要创建云主机时,物理服务器可以根据用户的操作,生成云主机创建请求。云管理平台在接收云主机创建请求后,可以对请求进行响应,以便进行后续操作。例如,显示一个云环境以及该云环境下所包括的多个数据中心,以便后续可以查找可用的数据中心,即可用服务器。
其中,云环境可以根据云主机创建请求来指定,例如用户需要在私有云环境中创建云主机,那么用户发起的云主机创建请求中可以指定云环境为私有云。
步骤S221:根据所述云主机创建请求,确定创建区域。
可选的,针对每个云环境,可以从逻辑上进行划分,从而对外显示为云环境层级下的多个区域。例如针对公有云,按照逻辑划分之后可以包括华东区域、华北区域、华南区域等。在每个区域范围内,都存在多个数据中心。
于本实施了中,在发起云主机创建请求时,用户可以根据实际需求,触发区域选择指令,从而确定创建区域。
云管理平台接收到区域选择指令后,选择出与区域选择指令对应的区域,从而得到创建区域。例如,用户需要在公有云的华北区域内创建一个云主机,那么用户可以通过点击公有云下的华北区域所对应的图标,从而触发区域选择指令。相应的,云管理平台根据区域选择指令,运行区域管理进程,将公有云所包括的华北区域确定为创建区域。
步骤S222:在所述创建区域中查找所述可用服务器。
在确定创建区域后,云管理平台可以将查找可用服务器的范围缩小到属于创建区域范畴内的数据中心,即云管理平台在创建区域所对应的范围内查找可用服务器。例如,在公有云环境下存在华东区域、华北区域、华南区域,用户选定的创建区域为华北区域,那么云管理平台后续将会在华北区域所对应的多个数据中心中进行查找,而不会在华东区域或者华南区域所对应的数据中心中进行查找。
可选的,针对每个区域,可以包括多个可用区,例如包括可用区1,可用区2,可用区3,……。其中,在每个可用区范围内,都存在多个数据中心。
可选的,若创建区域包括多个可用区,当执行在创建区域中查找可用服务器这个步骤时,可以先从创建区域所包括的多个可用区中确定目标可用区,然后在目标可用区内查找可用服务器。相应的,用户可以根据实际需求,触发目标可用区选择指令,从而确定目标可用区。
云管理平台接收到目标可用区选择指令后,选择出与目标可用区选择指令对应的目标可用区,从而得到目标可用区。例如,用户需要在公有云的华北区域的可用区1内创建一个云主机,那么用户可以通过点击公有云下的华北区域下的可用区1所对应的图标,从而触发目标可用区选择指令。相应的,云管理平台根据目标可用区选择指令,运行可用区管理进程,将公有云所包括的华北区域所包括的可用区1确定为目标可用区。
从创建区域所包括的多个可用区中确定目标可用区时,可以先计算创建区域所包括的每个可用区内的当前云主机的数量,然后根据创建区域所包括的每个可用区内的当前云主机的数量,确定目标可用区。
作为一种可选的实施方式,可以直接将创建区域内当前云主机数量最少的可用区确定为目标可用服务器。
作为另一种可选的实施方式,可以判断创建区域所包括的每个所述可用区内的当前云主机的数量是否均低于第二阈值;在为是时,采用随机分配算法确定目标可用区;在为否时,采用最小分配算法确定目标可用区。
其中,当某个可用区范围内的当前云主机的数量低于第二阈值时,该可用区的计算压力较小,可以用于创建云主机并为所创建的云主机提供相应的计算能力。当某个可用区范围内的当前云主机的数量大于或者等于第二阈值时,该可用区的计算压力较大,若继续在该可用区范围内创建云主机,可能使得该可用区范围内的负载过大,导致整个可用区集群的负载不均衡,甚至导致雪崩。
当云管理平台所管理的每个可用区范围内的当前云主机的数量均低于第二阈值时,表征每个可用区的计算压力都较小。此时,云管理平台运行可用区管理进程,从所有可用区中随机选择一个可用区确定为目标可用区,以便后续使用目标可用区范围内的可用服务器来创建本次云主机创建请求所对应的云主机。当某个可用区范围内的当前云主机的数量大于或者等于第二阈值时,若继续选择该可用区范围内的可用服务器来创建云主机,将导致该可用区的数据计算压力较大。与此同时,云主机的数量小于第二阈值的可用区可能处于数据计算压力较小,甚至空闲的状态。此时,为了实现负载均衡的目的,云管理平台可以运行可用区管理进程,选择在该范围内已创建云主机最少的可用区作为目标可用区,以便后续使用目标可用区范围内的可用服务器来创建云主机,防止出现雪崩的情况。
在这种实施方式中,由于在确定目标可用区时,不是采用单一的某种特定的算法,因此,避免所有用户创建云主机时都选择同一种算法造成雪崩。
其中,值得指出的是,第一阈值小于第二阈值。
在确定目标可用区后,云管理平台可以将查找可用服务器的范围缩小到属于目标可用区范畴内的数据中心,即云管理平台在目标可用区所对应的范围内查找可用服务器。例如,在用户所选定的创建区域下存在可用区1、可用区2、可用区3,用户选定的目标可用区为可用区1,那么云管理平台后续将会在创建区域下的可用区1所对应的多个数据中心中进行查找,而不会在创建区域下的可用区2或者创建区域下的可用区3所对应的数据中心中进行查找。
当然,在分配完相应的目标可用区后,随时会有新的云主机创建请求产生。此时,由于目标可用区范围内的当前云主机的数量还没有来得及更新,可能会导致某个可用区在一段时间内被不断地确定为目标可用区,从而产生雪崩现象。
为了解决上述问题,作为一种可选的实施方式,在确定出目标可用区之后,还可以将目标可用区范围内当前所记录的云主机的数量(C)与目标可用区内当前获取到的云主机创建请求的数量(D)的一半进行求和,得到第二和值(C+D/2);然后将目标可用区范围内的当前云主机的数量更新为第二和值。即在每分配一次目标可用区后,都会主动对目标可用区范围内记录的当前云主机的数量进行修正,而不需要等待整个云管理平台进行数据更新时再被动更新。那么在第N+1次统计可用区范围内的当前云主机的数量时,第N次请求中即将创建的云主机的数量也被考虑在内,使得第N+1次云管理平台所获取到的当前云主机的数量分布情况是最及时、最完整的,从而防止同一个可用区被重复、不合理地选择为目标可用区,避免出现雪崩。
可选的,可用区管理进程可以按照间隔时间,定期向云管理平台上报实时的云主机的数量。可选的,间隔时间的选择可以根据可用区所能够承受的运算压力来进行权衡。例如,间隔时间可以是3-5秒之间。
步骤S230:计算每个所述可用服务器内的当前云主机的数量,所述当前云主机包括既有云主机和创建进程中的云主机。
步骤S240:根据每个所述可用服务器内的当前云主机的数量,确定目标可用服务器。
步骤S250:在所述目标可用服务器中创建云主机。
可选的,上述云管理平台、区域、可用区以及数据中心均可设置为处于动态扩容状态。
由于云管理平台、区域、可用区以及数据中心均设置为动态扩容状态,从而可以更好的适应用户的需求,可以应对大量的云主机创建请求。
于本实施中,步骤S210以及步骤S230-S250中的内容与第一实施例中的对应内容相似,其详细介绍可以参看第一实施例中的对应内容,此处不再赘述。
本申请第二实施例提供一种云主机服务器的负载均衡调度方法,云管理平台在确定目标可用区时,结合了每个可用区范围内的云主机的数量分布情况,因此,可以合理地从多个可用区中选择出一个目标可用区,实现了可用服务器的负载均衡调度;在确定创建云主机的目标可用服务器时,结合了每个可用服务器内的云主机的数量分布情况,因此,可以合理地从多个可用服务器中选择出一个目标可用服务器,进一步实现了可用服务器的负载均衡调度,避免产生雪崩的情况。同时,本申请可以针对不同的层级(即,本申请的区域,可用区,数据中心),做到不同范围的负载均衡,从而可以应用部署在同一台电子设备上,充分利用多核CPU(Central Processing Unit,中央处理器)的强大处理能力,不会产生资源的浪费。
第三实施例
此外,如图4所示,本申请实施例还提供一种云主机服务器的负载均衡调度装置400,用于管理云主机创建请求。在一种可选的实施方式中,云主机服务器的负载均衡调度装置400可以包括:接收模块410、查找模块420、计算模块430、确定模块440以及创建模块450。
接收模块410,用于接收云主机创建请求;
查找模块420,用于查找可用服务器;
计算模块430,用于计算每个所述可用服务器内的当前云主机的数量,所述当前云主机包括既有云主机和创建进程中的云主机;
确定模块440,用于根据每个所述可用服务器内的当前云主机的数量,确定目标可用服务器;
创建模块450,用于在所述目标可用服务器中创建云主机。
可选的,在一种实施方式中,所述确定模块440,用于判断每个所述可用服务器内的当前云主机的数量是否均低于第一阈值;在为是时,采用随机分配算法确定所述目标可用服务器;在为否时,采用最小分配算法确定所述目标可用服务器。
可选的,在一种实施方式中,所述装置还可以包括运算模块以及更新模块,所述运算模块用于将所述目标可用服务器内的当前云主机的数量与所述目标可用服务器内当前获取到的云主机创建请求的数量的一半进行求和,得到第一和值;所述更新模块,用于将所述目标可用服务器内的当前云主机的数量更新为所述第一和值。
本申请实施例所提供的云主机服务器的负载均衡调度装置400,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
第四实施例
此外,如图5所示,本申请实施例还提供一种云主机服务器的负载均衡调度装置500,用于管理云主机创建请求。在一种可选的实施方式中,云主机服务器的负载均衡调度装置500可以包括:接收模块510、查找模块520、计算模块530、确定模块540以及创建模块550。
接收模块510,用于接收云主机创建请求;
查找模块520,用于查找可用服务器;
计算模块530,用于计算每个所述可用服务器内的当前云主机的数量,所述当前云主机包括既有云主机和创建进程中的云主机;
确定模块540,用于根据每个所述可用服务器内的当前云主机的数量,确定目标可用服务器;
创建模块550,用于在所述目标可用服务器中创建云主机。
相较于第三实施例中所对应的功能模块,本实施例主要的区别在于:
在一种实施方式中,所述查找模块520,用于根据所述云主机创建请求,确定创建区域;在所述创建区域中查找所述可用服务器。
可选的,在一种实施方式中,所述创建区域包括多个可用区,所述查找模块520,用于从所述多个可用区中确定目标可用区;在所述目标可用区内查找所述可用服务器。
可选的,在一种实施方式中,所述查找模块520,用于计算每个所述可用区内的当前云主机的数量;根据每个所述可用区内的当前云主机的数量,确定目标可用区。
可选的,在一种实施方式中,所述确定模块540,还用于判断每个所述可用区内的当前云主机的数量是否均低于第二阈值;在为是时,采用随机分配算法确定所述目标可用区;在为否时,采用最小分配算法确定所述目标可用区。
可选的,在一种实施方式中,所述运算模块,还用于将所述目标可用区内的当前云主机的数量与所述目标可用区内当前获取到的云主机创建请求的数量的一半进行求和,得到第二和值;所述更新模块,还用于将所述目标可用区内的当前云主机的数量更新为所述第二和值。
本申请实施例所提供的云主机服务器的负载均衡调度装置500,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
此外,本申请实施例还提供一种计算机可读取存储介质,该计算机可读取存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述的云主机服务器的负载均衡调度方法所包含的步骤。
此外,本发明实施例还提供一种电子设备,包括处理器以及与所述处理器连接的存储器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备执行如上述的云主机服务器的负载均衡调度方法所包含的步骤。
可选的,请参看图6,图6提供一种用于实现本申请上述云主机服务器的负载均衡调度方法以及上述云主机服务器的负载均衡调度装置的电子设备100。在电子设备100上可以运行云管理平台,以便用户可以基于云管理平台管理云主机创建请求。
可选的,电子设备100可以包括但不限于服务器、服务器集群等设备。其中,服务器可以包括但不限于网络服务器、云端服务器等。
其中,电子设备100可以包括:处理器110、存储器120、显示屏130。
应当注意,图6所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,电子设备100也可以具有其他组件和结构。例如,在一些情况下,电子设备100还可以包括输入设备。输入设备可以与处理器110连接,且输入设备可以在用户进行输入时,生成与用户的输入操作对应的输入指令,并传递给处理器110。
处理器110、存储器120、显示屏130以及其他可能出现于电子设备100的组件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,处理器110、存储器120、显示屏130以及其他可能出现的组件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
存储器120用于存储程序,例如存储有前文出现的云主机服务器的负载均衡调度方法对应的程序或者前文出现的云主机服务器的负载均衡调度装置400。可选的,当存储器120内存储有云主机服务器的负载均衡调度装置400时,云主机服务器的负载均衡调度装置400包括至少一个可以以软件或固件(firmware)的形式存储于存储器120中的软件功能模块。
可选的,云主机服务器的负载均衡调度装置400所包括软件功能模块也可以固化在电子设备100的操作系统(operating system,OS)中。
处理器110用于执行存储器120中存储的可执行模块,例如云主机服务器的负载均衡调度装置包括的软件功能模块或计算机程序。当处理器110在接收到执行指令后,可以执行计算机程序,例如执行:接收云主机创建请求,查找可用服务器,计算每个所述可用服务器内的当前云主机的数量,所述当前云主机包括既有云主机和创建进程中的云主机,根据每个所述可用服务器内的当前云主机的数量,确定目标可用服务器,在所述目标可用服务器中创建云主机。
当然,本申请实施例任一实施例所揭示的方法都可以应用于处理器110中,或者由处理器110实现。
综上所述,本发明实施例提出的云主机服务器的负载均衡调度方法、装置及电子设备,该方法包括:接收云主机创建请求,查找可用服务器,计算每个所述可用服务器内的当前云主机的数量,所述当前云主机包括既有云主机和创建进程中的云主机,根据每个所述可用服务器内的当前云主机的数量,确定目标可用服务器,在所述目标可用服务器中创建云主机。由于云管理平台在确定创建云主机的目标可用服务器时,结合了每个可用服务器内的云主机的数量分布情况,因此,可以合理地从多个可用服务器中选择出一个目标可用服务器,实现了可用服务器的负载均衡调度,避免产生雪崩的情况。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (11)
1.一种云主机服务器的负载均衡调度方法,其特征在于,所述方法包括:
接收云主机创建请求;
查找可用服务器;
计算每个所述可用服务器内的当前云主机的数量,所述当前云主机包括既有云主机和创建进程中的云主机;
根据每个所述可用服务器内的当前云主机的数量,确定目标可用服务器;
在所述目标可用服务器中创建云主机。
2.根据权利要求1所述的方法,其特征在于,根据每个所述可用服务器内的当前云主机的数量,确定目标可用服务器,包括:
判断每个所述可用服务器内的当前云主机的数量是否均低于第一阈值;
在为是时,采用随机分配算法确定所述目标可用服务器;
在为否时,采用最小分配算法确定所述目标可用服务器。
3.根据权利要求1所述的方法,其特征在于,在根据每个所述可用服务器内的当前云主机的数量,确定目标可用服务器之后,所述方法还包括:
将所述目标可用服务器内的当前云主机的数量与所述目标可用服务器内当前获取到的云主机创建请求的数量的一半进行求和,得到第一和值;
将所述目标可用服务器内的当前云主机的数量更新为所述第一和值。
4.根据权利要求1-3中任一项所述的方法,其特征在于,查找可用服务器,包括:
根据所述云主机创建请求,确定创建区域;
在所述创建区域中查找所述可用服务器。
5.根据权利要求4所述的方法,其特征在于,所述创建区域包括多个可用区,在所述创建区域中查找所述可用服务器,包括:
从所述多个可用区中确定目标可用区;
在所述目标可用区内查找所述可用服务器。
6.根据权利要求5所述的方法,其特征在于,从所述多个可用区中确定目标可用区,包括:
计算每个所述可用区内的当前云主机的数量;
根据每个所述可用区内的当前云主机的数量,确定目标可用区。
7.根据权利要求6所述的方法,其特征在于,根据每个所述可用区内的当前云主机的数量,确定目标可用区,包括:
判断每个所述可用区内的当前云主机的数量是否均低于第二阈值;
在为是时,采用随机分配算法确定所述目标可用区;
在为否时,采用最小分配算法确定所述目标可用区。
8.根据权利要求6所述的方法,其特征在于,在根据每个所述可用区内的当前云主机的数量,确定目标可用区之后,所述方法还包括:
将所述目标可用区内的当前云主机的数量与所述目标可用区内当前获取到的云主机创建请求的数量的一半进行求和,得到第二和值;
将所述目标可用区内的当前云主机的数量更新为所述第二和值。
9.一种云主机服务器的负载均衡调度装置,其特征在于,所述装置包括:
接收模块,用于接收云主机创建请求;
查找模块,用于查找可用服务器;
计算模块,用于计算每个所述可用服务器内的当前云主机的数量,所述当前云主机包括既有云主机和创建进程中的云主机;
确定模块,用于根据每个所述可用服务器内的当前云主机的数量,确定目标可用服务器;
创建模块,用于在所述目标可用服务器中创建云主机。
10.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器连接;
所述存储器用于存储程序;
所述处理器调用存储于所述存储器中的程序,以执行如权利要求1-8中任一项所述的方法。
11.一种计算机可读取存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被计算机运行时执行如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910547523.0A CN110347502A (zh) | 2019-06-21 | 2019-06-21 | 云主机服务器的负载均衡调度方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910547523.0A CN110347502A (zh) | 2019-06-21 | 2019-06-21 | 云主机服务器的负载均衡调度方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110347502A true CN110347502A (zh) | 2019-10-18 |
Family
ID=68182821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910547523.0A Pending CN110347502A (zh) | 2019-06-21 | 2019-06-21 | 云主机服务器的负载均衡调度方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110347502A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110764911A (zh) * | 2019-10-23 | 2020-02-07 | 北京百度网讯科技有限公司 | 基于订单的资源调度方法、装置和控制系统 |
CN110912934A (zh) * | 2019-12-17 | 2020-03-24 | 杭州安恒信息技术股份有限公司 | 一种云安全产品开通控制系统、方法、设备、介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102104600A (zh) * | 2011-01-11 | 2011-06-22 | 广州懒游网络技术有限公司 | 分布插件式游戏服务器平台及其协同工作方法 |
CN102984144A (zh) * | 2012-11-22 | 2013-03-20 | 福州博远无线网络科技有限公司 | 一种手机游戏撮合竞技比赛的自由撮合方法 |
CN105824708A (zh) * | 2016-05-10 | 2016-08-03 | 广东睿江云计算股份有限公司 | 云主机系统中的cpu调度方法及装置 |
CN106201847A (zh) * | 2016-06-30 | 2016-12-07 | 重庆大学 | 考虑云平台主机性能衰减的任务分配方法、装置和系统 |
CN107231264A (zh) * | 2017-07-25 | 2017-10-03 | 北京百度网讯科技有限公司 | 用于管理云服务器的容量的方法和装置 |
CN108874508A (zh) * | 2018-06-27 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种云计算虚拟服务器系统负载均衡调度方法 |
CN109173245A (zh) * | 2018-08-24 | 2019-01-11 | 苏州玩友时代科技股份有限公司 | 一种游戏房间服的负载均衡方法 |
CN109684074A (zh) * | 2018-11-12 | 2019-04-26 | 平安科技(深圳)有限公司 | 物理机资源分配方法及终端设备 |
-
2019
- 2019-06-21 CN CN201910547523.0A patent/CN110347502A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102104600A (zh) * | 2011-01-11 | 2011-06-22 | 广州懒游网络技术有限公司 | 分布插件式游戏服务器平台及其协同工作方法 |
CN102984144A (zh) * | 2012-11-22 | 2013-03-20 | 福州博远无线网络科技有限公司 | 一种手机游戏撮合竞技比赛的自由撮合方法 |
CN105824708A (zh) * | 2016-05-10 | 2016-08-03 | 广东睿江云计算股份有限公司 | 云主机系统中的cpu调度方法及装置 |
CN106201847A (zh) * | 2016-06-30 | 2016-12-07 | 重庆大学 | 考虑云平台主机性能衰减的任务分配方法、装置和系统 |
CN107231264A (zh) * | 2017-07-25 | 2017-10-03 | 北京百度网讯科技有限公司 | 用于管理云服务器的容量的方法和装置 |
CN108874508A (zh) * | 2018-06-27 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种云计算虚拟服务器系统负载均衡调度方法 |
CN109173245A (zh) * | 2018-08-24 | 2019-01-11 | 苏州玩友时代科技股份有限公司 | 一种游戏房间服的负载均衡方法 |
CN109684074A (zh) * | 2018-11-12 | 2019-04-26 | 平安科技(深圳)有限公司 | 物理机资源分配方法及终端设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110764911A (zh) * | 2019-10-23 | 2020-02-07 | 北京百度网讯科技有限公司 | 基于订单的资源调度方法、装置和控制系统 |
CN110912934A (zh) * | 2019-12-17 | 2020-03-24 | 杭州安恒信息技术股份有限公司 | 一种云安全产品开通控制系统、方法、设备、介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11429449B2 (en) | Method for fast scheduling for balanced resource allocation in distributed and collaborative container platform environment | |
CN107548549B (zh) | 分布式计算环境中的资源平衡 | |
CN111966500B (zh) | 资源调度方法、装置、电子设备及存储介质 | |
CN109684074B (zh) | 物理机资源分配方法及终端设备 | |
CN107734052B (zh) | 面向组件依赖的负载均衡容器调度方法 | |
US8424059B2 (en) | Calculating multi-tenancy resource requirements and automated tenant dynamic placement in a multi-tenant shared environment | |
CN109783237A (zh) | 一种资源配置方法及装置 | |
CN105094997B (zh) | 一种云计算主机节点间物理内存共享方法和系统 | |
CN111078369B (zh) | 一种云计算机下虚拟机分配方法、装置以及服务器 | |
JP2008158628A (ja) | 運用実績評価装置、運用実績評価方法、およびプログラム | |
CN111966453B (zh) | 一种负载均衡方法、系统、设备及存储介质 | |
CN104679594B (zh) | 一种中间件分布式计算方法 | |
CN113110938A (zh) | 一种资源分配方法、装置、计算机设备及存储介质 | |
US20200236169A1 (en) | Cloud platform or cloud provider selection | |
CN111309440B (zh) | 一种多类型gpu的管理调度的方法和设备 | |
US11593177B2 (en) | Cost-savings using ephemeral hosts in infrastructure as a service environments based on health score | |
CN115134371A (zh) | 包含边缘网络算力资源的调度方法、系统、设备及介质 | |
US20210406053A1 (en) | Rightsizing virtual machine deployments in a cloud computing environment | |
CN106095483A (zh) | 服务的自动化部署方法及装置 | |
CN110162397A (zh) | 资源分配方法、装置及系统 | |
CN107943423A (zh) | 云系统中存储资源的管理方法和计算机可读存储介质 | |
CN110347502A (zh) | 云主机服务器的负载均衡调度方法、装置及电子设备 | |
CN114844791A (zh) | 基于大数据的云服务自动管理分配方法、系统及存储介质 | |
Garg et al. | Optimal virtual machine scheduling in virtualized cloud environment using VIKOR method | |
CN116756282A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191018 |
|
RJ01 | Rejection of invention patent application after publication |