CN112905338B - 计算资源自动分配方法及装置 - Google Patents

计算资源自动分配方法及装置 Download PDF

Info

Publication number
CN112905338B
CN112905338B CN202110169954.5A CN202110169954A CN112905338B CN 112905338 B CN112905338 B CN 112905338B CN 202110169954 A CN202110169954 A CN 202110169954A CN 112905338 B CN112905338 B CN 112905338B
Authority
CN
China
Prior art keywords
target
virtual machines
application
allocation
computing resource
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.)
Active
Application number
CN202110169954.5A
Other languages
English (en)
Other versions
CN112905338A (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110169954.5A priority Critical patent/CN112905338B/zh
Publication of CN112905338A publication Critical patent/CN112905338A/zh
Application granted granted Critical
Publication of CN112905338B publication Critical patent/CN112905338B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供一种计算资源自动分配方法及装置,可用于云计算技术领域,方法包括接收针对分布式系统的计算资源分配指令,计算资源分配指令用于指定目标应用信息、目标虚拟机数量、目标分配策略和目标可用域;根据目标应用信息确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识;基于目标分配策略和目标虚拟机数量,确定各个目标可用域各自对应的待新建虚拟机数量;应用计算资源组的唯一标识,在各个目标可用域中分别新建与各自对应的待新建虚拟机数量相同的虚拟机。本申请能够有针对性地实现对分布式系统中计算资源的分配,并能够有效满足应用服务器高可用的要求并降低应用服务器的应用成本。

Description

计算资源自动分配方法及装置
技术领域
本申请涉及数据处理技术领域,特别涉及云计算技术领域,具体涉及计算资源自动分配方法及装置。
背景技术
随着科技技术的飞速发展,人们对应用的高可用要求也变得越来越高,随着如云计算等分布式系统的发展,越来越多的应用都使用如基础设施即服务IAAS(Infrastructure as a Service)等服务模式提供的虚拟机来部署应用,而随着应用规模的变大,如何满足应用服务器高可用的要求也变得越来越重要。
现有的分配计算资源的通用方式,应用的虚拟机可以按照如云计算管理平台OPENSTACK等分布式计算管理工具提供的亲和性规则进行自动打散,能够在一个可用域范围尽可能内分散分布到不同的计算节点上,但由于虚拟机均设置在一个可用域范围内,由于物理上不隔离,因此一旦发生故障,则可能导致整个应用无法正常提供服务,进而无法满足高可用的要求。而若将机器分别部署到不同的可用域上,由于没有区分服务器类型,因此可能导致同一个应用类型的应用服务器部署到同一个可用域上,同样不满足应用高可用的要求。如果选择传统物理服务器部署,虽然不同的节点之间相互独立可以满足高可用要求,但是应用成本则会大大提高。也就是说,无论是现有的哪一种计算资源分配方式,均存在无法同时满足应用高可用性及低成本要求。
发明内容
针对现有技术中的问题,本申请提供一种计算资源自动分配方法及装置,能够有针对性地实现对分布式系统中计算资源的分配,并能够有效满足应用服务器高可用的要求并降低应用服务器的应用成本。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种计算资源自动分配方法,包括:
接收针对分布式系统的计算资源分配指令,其中,该计算资源分配指令用于指定目标应用信息、目标虚拟机数量、目标分配策略和目标可用域;
根据所述目标应用信息确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识;
基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量;
应用所述计算资源组的唯一标识,在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机。
进一步地,所述目标应用信息包括:应用及应用节点类型;
相对应的,所述根据所述目标应用信息确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识,包括:
生成所述应用及应用节点类型对应的哈希值,并将该哈希值作为所述应用及应用节点类型对应的唯一标识;
自所述分布式系统对应的各个可用域中是否包含有组名为所述唯一标识的计算资源组,若否,则创建组名为该唯一标识的计算资源组。
进一步地,所述目标分配策略包括:本次均分策略;
相对应的,所述基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量,包括:
应用所述本次均分策略,基于所述目标虚拟机数量和所述目标可用域的数量确定虚拟机平均台数;
将各个所述目标可用域各自对应的待新建虚拟机数量均设置为所述虚拟机平均台数。
进一步地,所述目标分配策略包括:存量均分策略;
相对应的,所述基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量,包括:
应用所述存量均分策略获取各个所述目标可用域各自对应的已存在虚拟机数量;
根据各个所述目标可用域各自对应的已存在虚拟机数量和所述目标虚拟机数量,确定虚拟机总数;
基于所述虚拟机总数和所述目标可用域的数量确定虚拟机平均台数;
将各个所述目标可用域各自对应的待新建虚拟机数量分别设置为所述虚拟机平均台数与对应的已存在虚拟机数量之间的差值。
进一步地,所述目标分配策略包括:指定可用域策略;
相对应的,所述基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量,包括:
应用所述指定可用域策略,将各个所述目标可用域对应的待新建虚拟机数量分别设置为所述目标虚拟机数量。
进一步地,所述应用所述计算资源组的唯一标识,在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机,包括:
以所述计算资源组的唯一标识调用预设的分布式计算服务接口,以在各个所述目标可用域中分别新建与对应的所述待新建虚拟机数量相同的虚拟机,其中,针对每个所述目标可用域,将新建的各个所述虚拟机分别分配至不同的计算节点上。
第二方面,本申请提供一种计算资源自动分配装置,包括:
指令接收模块,用于接收针对分布式系统的计算资源分配指令,其中,该计算资源分配指令用于指定目标应用信息、目标虚拟机数量、目标分配策略和目标可用域;
分组模块,用于根据所述目标应用信息确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识;
数量确定模块,用于基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量;
分配模块,用于应用所述计算资源组的唯一标识,在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机。
进一步地,所述目标应用信息包括:应用及应用节点类型;
相对应的,所述分组模块用于执行下述内容:
生成所述应用及应用节点类型对应的哈希值,并将该哈希值作为所述应用及应用节点类型对应的唯一标识;
自所述分布式系统对应的各个可用域中是否包含有组名为所述唯一标识的计算资源组,若否,则创建组名为该唯一标识的计算资源组。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述计算资源自动分配方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述计算资源自动分配方法。
由上述技术方案可知,本申请提供的一种计算资源自动分配方法及装置,方法通过接收针对分布式系统的计算资源分配指令,其中,该计算资源分配指令用于指定目标应用信息、目标虚拟机数量、目标分配策略和目标可用域;根据所述目标应用信息确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识;基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量;应用所述计算资源组的唯一标识,在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机,通过根据目标分配策略以对应的方式获取各个所述目标可用域各自对应的待新建虚拟机数量,能够有针对性地实现对分布式系统中计算资源的分配,并能够有效满足应用服务器高可用的要求并降低应用服务器的应用成本,能够有效提高计算资源分配的自动化程度及智能化程度,并能够有效提高计算资源分配过程的可靠性及有效性,进而能够有效提高分布式系统的运行可靠性及稳定性,降低分布式系统的运行及维护成本,并能够提高分布式系统的运维人员的用户体验。。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中的计算资源自动分配方法的第一种流程示意图。
图2是本申请实施例中的计算资源自动分配方法中第二种流程示意图。
图3是本申请实施例中的计算资源自动分配方法的第三种流程示意图。
图4是本申请实施例中的计算资源自动分配方法中的第四种流程示意图。
图5是本申请实施例中的计算资源自动分配方法中的第五种流程示意图。
图6是本申请实施例中的计算资源自动分配方法中的第六种流程示意图。
图7是本申请实施例中的计算资源自动分配装置的结构示意图。
图8是本申请应用实例中的基于openstack的计算资源自动分配系统的结构示意图。
图9是本申请应用实例中的应用定义装置的结构示意图。
图10是本申请应用实例中的分配策略定义装置的结构示意图。
图11是本申请应用实例中的策略解析执行装置的结构示意图。
图12是本申请应用实例中的应用计算资源自动分配系统实现的基于openstack的计算资源自动分配方法中的请求处理流程示意图。
图13是本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请公开的计算资源自动分配方法和装置可用于云计算技术领域,也可用于除云计算技术领域之外的任意领域,本申请公开的计算资源自动分配方法和装置的应用领域不做限定。
针对目前没有合理的方法解决传统金融行业应用入云后满足应用高可用的需求,无法同时满足应用高可用性及低成本要求等问题,本申请提供一种计算资源自动分配方法、计算资源自动分配装置、电子设备及计算机可读存储介质,通过接收针对分布式系统的计算资源分配指令,其中,该计算资源分配指令用于指定目标应用信息、目标虚拟机数量、目标分配策略和目标可用域;根据所述目标应用信息确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识;基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量;应用所述计算资源组的唯一标识,在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机,通过根据目标分配策略以对应的方式获取各个所述目标可用域各自对应的待新建虚拟机数量,能够有针对性地实现对分布式系统中计算资源的分配,并能够有效满足应用服务器高可用的要求并降低应用服务器的应用成本,能够有效提高计算资源分配的自动化程度及智能化程度,并能够有效提高计算资源分配过程的可靠性及有效性,进而能够有效提高分布式系统的运行可靠性及稳定性,降低分布式系统的运行及维护成本,并能够提高分布式系统的运维人员的用户体验。
在本申请的一个或多个实施例,云计算系统上的计算资源由物理隔离的多个可用域组成,各个可用域由很多的计算节点组成,每个计算节点为独立的服务器,可提供若干的CPU、内存资源,即下述的计算资源,分配的主要目的是,应用需要虚拟机部署应用的程序、数据库等服务,需要从云资源池中分配一定的计算资源给该应用以创建虚拟机,机器创建完后可提供给用户部署上述的服务。
基于上述内容,本申请还提供一种用于实现本申请一个或多个实施例中提供的计算资源自动分配方法的计算资源自动分配装置,该计算资源自动分配装置可以与客户端设备之间进行通信连接,所述计算资源自动分配装置可以接收客户端设备发送的计算资源自动分配指令,其中,该计算资源分配指令用于指定目标应用信息、目标虚拟机数量、目标分配策略和目标可用域;根据所述目标应用信息确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识;基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量;应用所述计算资源组的唯一标识,在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机,而后将在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机对应的新建结果发送至客户端设备。
在一种实际应用情形中,所述计算资源自动分配装置可以采用服务器实现;所述服务器可以与至少一个客户端设备之间通信连接。
可以理解的是,所述客户端设备可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在另一种实际应用情形中,前述的计算资源自动分配装置进行计算资源自动分配的部分可以在如上述内容的服务器中执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器,用于计算资源自动分配的具体处理。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
上述服务器与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
具体通过下述各个实施例及应用实例分别进行详细说明。
为了同时满足分布式系统中的应用高可用性及低成本要求,本申请提供一种计算资源自动分配方法的实施例,参见图1,所述计算资源自动分配方法具体包含有如下内容:
步骤100:接收针对分布式系统的计算资源分配指令,其中,该计算资源分配指令用于指定目标应用信息、目标虚拟机数量、目标分配策略和目标可用域。
可以理解的是,计算资源自动分配装置可以向用户提供目标应用信息、目标虚拟机数量、目标分配策略和目标可用域等选项,具体来说,可以预先定义应用和应用节点类型,以及定义应用与计算资源的关系;根据应用的部署架构,在应用下定义不同的应用节点类型,如数据服务节点,web服务节点,应用服务节点等,不同的应用节点,承载不同的业务,由用户根据自身部署需求选择不同的应用节点类型。计算资源自动分配装置还可以定义计算资源的分配策略,由用户根据资源的实际情况选择不同的分配策略,主要可分为本次均分策略和存量均分策略。而后在接收到计算资源分配指令后,解析用户选择的应用、应用节点类型和分配策略,得到应用可分配的资源范围,以根据用户选择的分配策略,执行相应的计算资源的分配规则。
步骤200:根据所述目标应用信息确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识。
步骤300:基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量。
在步骤300中,目标分配策略可以基于实际应用情形进行预先设置,具体可以设置为本次均分策略、存量均分策略和指定可用域策略;分布式系统默认选择存量均分策略,当该应用、应用节点的资源在存量资源域中的差额大于本次应用申请的资源数,则自动选择本次均分策略,在实际发放时,可由系统维护人员手工调整策略,当选择了存量均分策略时,在计算分配的数量时需要考虑存量已经在可用域中存在的资源;当选择了本次均分策略时,只需考虑本次申请的资源数量的分配;当用户选择指定可用域策略时,需要用户同时指定一个该应用配置的可用域。
步骤400:应用所述计算资源组的唯一标识,在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机。
在步骤400中,所述唯一标识是用于区分当前计算资源组与其他资源组的标识,具体可以根据预设编码规则进行设置。
在本申请的一个或多个实施例中,所述计算资源组具体可以为预设的弱反亲和性组,其中,反亲和性是指:当应用的采用多副本部署时,有必要采用反亲和性让各个应用实例打散分布在各个计算节点上。
从上述描述可知,本申请实施例提供的计算资源自动分配方法,通过根据目标分配策略以对应的方式获取各个所述目标可用域各自对应的待新建虚拟机数量,能够有针对性地实现对分布式系统中计算资源的分配,并能够有效满足应用服务器高可用的要求并降低应用服务器的应用成本,能够有效提高计算资源分配的自动化程度及智能化程度,并能够有效提高计算资源分配过程的可靠性及有效性,进而能够有效提高分布式系统的运行可靠性及稳定性,降低分布式系统的运行及维护成本,并能够提高分布式系统的运维人员的用户体验。
为了提供一种根据所述目标应用信息确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识的具体方式,在本申请提供的计算资源自动分配方法的一个实施例中,所述目标应用信息包括:应用及应用节点类型;参见图2,所述计算资源自动分配方法中的步骤200具体包含有如下内容:
步骤210:生成所述应用及应用节点类型对应的哈希值,并将该哈希值作为所述应用及应用节点类型对应的唯一标识。
步骤220:自所述分布式系统对应的各个可用域中是否包含有组名为所述唯一标识的计算资源组,若否,则创建组名为该唯一标识的计算资源组。
例如,可以根据解析得到的应用和应用节点类型,拼接后取哈希值,作为openstack的弱反亲和性组名,用以将该应用、应用节点类型的所有虚拟机归为一组,然后调用openstack接口判断每个可用域中该组名是否存在,不存在则创建一个弱反亲和性组,然后根据解析得到的目标分配策略,计算各资源域可分配的数量。
从上述描述可知,本申请实施例提供的计算资源自动分配方法,能够有效提高确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识的有效性及可靠性,进而能够进一步提高对分布式系统中计算资源的分配的有效性及可靠性。
为了提供一种基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量的一种具体方式,在本申请提供的计算资源自动分配方法的一个实施例中,所述目标分配策略包括:本次均分策略;参见图3,所述计算资源自动分配方法中的步骤300具体包含有如下内容:
步骤311:应用所述本次均分策略,基于所述目标虚拟机数量和所述目标可用域的数量确定虚拟机平均台数。
步骤312:将各个所述目标可用域各自对应的待新建虚拟机数量均设置为所述虚拟机平均台数。
具体来说,当策略为本次均分时,先根据策略解析单元31解析的计算资源可用域个数,申请的虚拟机台数,然后计算每个可用域可平均分配的台数,即平均台数=申请台数/可用域数。
从上述描述可知,本申请实施例提供的计算资源自动分配方法,能够根据本次均分策略有针对性地确定各个所述目标可用域各自对应的待新建虚拟机数量,且能够有效提高获取待新建虚拟机数量的过程的效率、有效性及可靠性,进而能够进一步提高对分布式系统中计算资源的分配的效率、有效性及可靠性。
为了提供一种基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量的另一种具体方式,在本申请提供的计算资源自动分配方法的一个实施例中,所述目标分配策略包括:存量均分策略;参见图4,所述计算资源自动分配方法中的步骤300还具体包含有如下内容:
步骤321:应用所述存量均分策略获取各个所述目标可用域各自对应的已存在虚拟机数量。
步骤322:根据各个所述目标可用域各自对应的已存在虚拟机数量和所述目标虚拟机数量,确定虚拟机总数。
步骤323:基于所述虚拟机总数和所述目标可用域的数量确定虚拟机平均台数。
步骤324:将各个所述目标可用域各自对应的待新建虚拟机数量分别设置为所述虚拟机平均台数与对应的已存在虚拟机数量之间的差值。
具体来说,当策略为存量均分时,根据解析的计算资源可用域,分别查询每个可用域在前述弱反亲和性组内的虚拟机数,与申请的虚拟机台数相加计算出虚拟机总数,计算需分配到每个可用域的虚拟机台数=虚拟机总数/可用域数,然后使用平均虚拟机台数减去前述每个可用域已经存在的虚拟机数,得到每个可用域需要新建的虚拟机数。
从上述描述可知,本申请实施例提供的计算资源自动分配方法,能够根据存量均分策略有针对性地确定各个所述目标可用域各自对应的待新建虚拟机数量,且能够有效提高获取待新建虚拟机数量的过程的效率、有效性及可靠性,进而能够进一步提高对分布式系统中计算资源的分配的效率、有效性及可靠性。
为了提供一种基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量的再一种具体方式,在本申请提供的计算资源自动分配方法的一个实施例中,所述目标分配策略包括:指定可用域策略;参见图5,所述计算资源自动分配方法中的步骤300还具体包含有如下内容:
步骤331:应用所述指定可用域策略,将各个所述目标可用域对应的待新建虚拟机数量分别设置为所述目标虚拟机数量。
从上述描述可知,本申请实施例提供的计算资源自动分配方法,能够根据指定可用域策略有针对性地确定被指定的目标可用域各自对应的待新建虚拟机数量,且能够有效提高获取待新建虚拟机数量的过程的智能化程度、有效性及可靠性,进而能够进一步提高对分布式系统中计算资源的分配的智能化程度、有效性及可靠性。
为了提供一种在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机的具体方式,在本申请提供的计算资源自动分配方法的一个实施例中,参见图6,所述计算资源自动分配方法中的步骤400具体包含有如下内容:
步骤410:以所述计算资源组的唯一标识调用预设的分布式计算服务接口,以在各个所述目标可用域中分别新建与对应的所述待新建虚拟机数量相同的虚拟机,其中,针对每个所述目标可用域,将新建的各个所述虚拟机分别分配至不同的计算节点上。
从上述描述可知,本申请实施例提供的计算资源自动分配方法,通过调用预设的分布式计算服务接口,能够有效提高在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机的可靠性及有效性,进而能够进一步提高对分布式系统中计算资源的分配的可靠性及有效性。
从软件层面来说,为了同时满足分布式系统中的应用高可用性及低成本要求,本申请提供一种用于执行所述计算资源自动分配方法中全部或部分内容的计算资源自动分配装置的实施例,参见图7,所述计算资源自动分配装置具体包含有如下内容:
指令接收模块10,用于接收针对分布式系统的计算资源分配指令,其中,该计算资源分配指令用于指定目标应用信息、目标虚拟机数量、目标分配策略和目标可用域。
可以理解的是,计算资源自动分配装置可以向用户提供目标应用信息、目标虚拟机数量、目标分配策略和目标可用域等选项,具体来说,可以预先定义应用和应用节点类型,以及定义应用与计算资源的关系;根据应用的部署架构,在应用下定义不同的应用节点类型,如数据服务节点,web服务节点,应用服务节点等,不同的应用节点,承载不同的业务,由用户根据自身部署需求选择不同的应用节点类型。计算资源自动分配装置还可以定义计算资源的分配策略,由用户根据资源的实际情况选择不同的分配策略,主要可分为本次均分策略和存量均分策略。而后在接收到计算资源分配指令后,解析用户选择的应用、应用节点类型和分配策略,得到应用可分配的资源范围,以根据用户选择的分配策略,执行相应的计算资源的分配规则。
分组模块20,用于根据所述目标应用信息确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识。
数量确定模块30,用于基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量。
在数量确定模块30中,目标分配策略可以基于实际应用情形进行预先设置,具体可以设置为本次均分策略、存量均分策略和指定可用域策略;分布式系统默认选择存量均分策略,当该应用、应用节点的资源在存量资源域中的差额大于本次应用申请的资源数,则自动选择本次均分策略,在实际发放时,可由系统维护人员手工调整策略,当选择了存量均分策略时,在计算分配的数量时需要考虑存量已经在可用域中存在的资源;当选择了本次均分策略时,只需考虑本次申请的资源数量的分配;当用户选择指定可用域策略时,需要用户同时指定一个该应用配置的可用域。
分配模块40,用于应用所述计算资源组的唯一标识,在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机。
在分配模块40中,所述唯一标识是用于区分当前计算资源组与其他资源组的标识,具体可以根据预设编码规则进行设置。
在本申请的一个或多个实施例中,所述计算资源组具体可以为预设的弱反亲和性组,其中,反亲和性是指:当应用的采用多副本部署时,有必要采用反亲和性让各个应用实例打散分布在各个计算节点上。
本申请提供的计算资源自动分配装置的实施例具体可以用于执行上述实施例中的计算资源自动分配方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
从上述描述可知,本申请实施例提供的计算资源自动分配装置,通过根据目标分配策略以对应的方式获取各个所述目标可用域各自对应的待新建虚拟机数量,能够有针对性地实现对分布式系统中计算资源的分配,并能够有效满足应用服务器高可用的要求并降低应用服务器的应用成本,能够有效提高计算资源分配的自动化程度及智能化程度,并能够有效提高计算资源分配过程的可靠性及有效性,进而能够有效提高分布式系统的运行可靠性及稳定性,降低分布式系统的运行及维护成本,并能够提高分布式系统的运维人员的用户体验。
为了提供一种根据所述目标应用信息确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识的具体方式,在本申请提供的计算资源自动分配装置的一个实施例中,所述目标应用信息包括:应用及应用节点类型;所述计算资源自动分配装置中的分组模块20具体用于执行下述内容:
步骤210:生成所述应用及应用节点类型对应的哈希值,并将该哈希值作为所述应用及应用节点类型对应的唯一标识。
步骤220:自所述分布式系统对应的各个可用域中是否包含有组名为所述唯一标识的计算资源组,若否,则创建组名为该唯一标识的计算资源组。
例如,可以根据解析得到的应用和应用节点类型,拼接后取哈希值,作为openstack的弱反亲和性组名,用以将该应用、应用节点类型的所有虚拟机归为一组,然后调用openstack接口判断每个可用域中该组名是否存在,不存在则创建一个弱反亲和性组,然后根据解析得到的目标分配策略,计算各资源域可分配的数量。
从上述描述可知,本申请实施例提供的计算资源自动分配装置,能够有效提高确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识的有效性及可靠性,进而能够进一步提高对分布式系统中计算资源的分配的有效性及可靠性。
为了提供一种基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量的一种具体方式,在本申请提供的计算资源自动分配装置的一个实施例中,所述目标分配策略包括:本次均分策略;所述计算资源自动分配装置中的数量确定模块30具体用于执行下述内容:
步骤311:应用所述本次均分策略,基于所述目标虚拟机数量和所述目标可用域的数量确定虚拟机平均台数。
步骤312:将各个所述目标可用域各自对应的待新建虚拟机数量均设置为所述虚拟机平均台数。
具体来说,当策略为本次均分时,先根据策略解析单元31解析的计算资源可用域个数,申请的虚拟机台数,然后计算每个可用域可平均分配的台数,即平均台数=申请台数/可用域数。
从上述描述可知,本申请实施例提供的计算资源自动分配装置,能够根据本次均分策略有针对性地确定各个所述目标可用域各自对应的待新建虚拟机数量,且能够有效提高获取待新建虚拟机数量的过程的效率、有效性及可靠性,进而能够进一步提高对分布式系统中计算资源的分配的效率、有效性及可靠性。
为了提供一种基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量的另一种具体方式,在本申请提供的计算资源自动分配装置的一个实施例中,所述目标分配策略包括:存量均分策略;所述计算资源自动分配装置中的数量确定模块30还具体用于执行下述内容:
步骤321:应用所述存量均分策略获取各个所述目标可用域各自对应的已存在虚拟机数量。
步骤322:根据各个所述目标可用域各自对应的已存在虚拟机数量和所述目标虚拟机数量,确定虚拟机总数。
步骤323:基于所述虚拟机总数和所述目标可用域的数量确定虚拟机平均台数。
步骤324:将各个所述目标可用域各自对应的待新建虚拟机数量分别设置为所述虚拟机平均台数与对应的已存在虚拟机数量之间的差值。
具体来说,当策略为存量均分时,根据解析的计算资源可用域,分别查询每个可用域在前述弱反亲和性组内的虚拟机数,与申请的虚拟机台数相加计算出虚拟机总数,计算需分配到每个可用域的虚拟机台数=虚拟机总数/可用域数,然后使用平均虚拟机台数减去前述每个可用域已经存在的虚拟机数,得到每个可用域需要新建的虚拟机数。
从上述描述可知,本申请实施例提供的计算资源自动分配装置,能够根据存量均分策略有针对性地确定各个所述目标可用域各自对应的待新建虚拟机数量,且能够有效提高获取待新建虚拟机数量的过程的效率、有效性及可靠性,进而能够进一步提高对分布式系统中计算资源的分配的效率、有效性及可靠性。
为了提供一种基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量的再一种具体方式,在本申请提供的计算资源自动分配装置的一个实施例中,所述目标分配策略包括:指定可用域策略;所述计算资源自动分配装置中的数量确定模块30还具体用于执行下述内容:
步骤331:应用所述指定可用域策略,将各个所述目标可用域对应的待新建虚拟机数量分别设置为所述目标虚拟机数量。
从上述描述可知,本申请实施例提供的计算资源自动分配装置,能够根据指定可用域策略有针对性地确定被指定的目标可用域各自对应的待新建虚拟机数量,且能够有效提高获取待新建虚拟机数量的过程的智能化程度、有效性及可靠性,进而能够进一步提高对分布式系统中计算资源的分配的智能化程度、有效性及可靠性。
为了提供一种在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机的具体方式,在本申请提供的计算资源自动分配装置的一个实施例中,所述计算资源自动分配装置中的分配模块40具体用于执行下述内容:
步骤410:以所述计算资源组的唯一标识调用预设的分布式计算服务接口,以在各个所述目标可用域中分别新建与对应的所述待新建虚拟机数量相同的虚拟机,其中,针对每个所述目标可用域,将新建的各个所述虚拟机分别分配至不同的计算节点上。
从上述描述可知,本申请实施例提供的计算资源自动分配装置,通过调用预设的分布式计算服务接口,能够有效提高在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机的可靠性及有效性,进而能够进一步提高对分布式系统中计算资源的分配的可靠性及有效性。
为了进一步说明本方案,本申请还提供一种应用计算资源自动分配系统实现的基于openstack的计算资源自动分配方法的具体应用实例,主要处理流程包括如下步骤:
1、用户选择应用定义装置定义的应用、应用节点类型。
2、用户选择分配策略定义装置定义的分配策略,支持本次均分策略、存量均分策略以及指定可用域策略。
3、策略解析执行装置解析应用节点类型、可分配的资源以及分配策略,执行计算资源的分配工作。
参见图8,本申请应用实例提出一种基于openstack的计算资源自动分配系统具体包含有如下内容:
应用定义装置1、分配策略定义装置2和策略解析执行装置3。
应用定义装置1:包含应用的定义和应用节点类型的定义,以及应用与计算资源的关系定义;根据应用的部署架构,在应用下定义不同的应用节点类型,如数据服务节点,web服务节点,应用服务节点等,不同的应用节点,承载不同的业务,由用户根据自身部署需求选择不同的应用节点类型。
分配策略定义装置2:用于定义计算资源的分配策略,由用户根据资源的实际情况选择不同的分配策略,主要可分为本次均分策略和存量均分策略。
策略解析执行装置3:解析用户选择的应用、应用节点类型和分配策略,得到应用可分配的资源范围,根据用户选择的分配策略,执行相应的计算资源的分配规则。
参见图9,应用定义装置1包括:节点类型定义单元11和应用资源配置单元12,其中:
应用节点类型定义单元11:主要用于定义应用及该应用的节点类型关系,根据应用和应用节点类型,可以确定一个计算资源分组,后续计算资源分配时根据该分组进行统筹分配。
应用资源配置单元12:应用资源配置单元主要是用于确定该应用可使用的计算资源的范围,后续计算资源分配时,必须限定在该配置指定的范围内。
参见图10,分配策略定义装置2包括:分配策略定义单元21,其中:
分配策略定义单元21:分配策略定义单元主要是定义系统支持的分配策略,主要包括基于存量均分的策略,本次均分的策略,以及指定可用域的策略。
分布式系统默认选择存量均分策略,当该应用、应用节点的资源在存量资源域中的差额大于本次应用申请的资源数,则自动选择本次均分策略,在实际发放时,可由系统维护人员手工调整策略,当选择了存量均分策略时,在计算分配的数量时需要考虑存量已经在可用域中存在的资源;当选择了本次均分策略时,只需考虑本次申请的资源数量的分配;当用户选择指定可用域策略时,需要用户同时指定一个该应用在应用资源配置单元12中配置的可用域。
举例:假设A应用配置了两个可用域(az1,az2),表示该应用可以使用这两个资源池中计算资源(其中az1中已有该应用web节点类型的虚拟机1台,az2中已有该应用web节点类型的虚拟机12台),当A应用在某项目中需要申请10台用于部署web的应用服务器,申请的信息包含:应用名称:A;节点类型:web;数量:10;项目名称:***,分配策略:默认的存量均分;等等参数。提交后,程序获取到az1可用域中已有A应用web节点类型的虚拟机数量为1,az2中已有A应用web节点类型的虚拟机数量为12,判断出本次申请的数量(10)小于两个资源池的差额(12-1=11),则自动修改分配策略为本次均分(指本次申请数平均分配到两个可用域中,即az1和az2分别提供5台虚拟机的资源),如系统维护人员认可该分配策略,则确认该申请信息,进行后续的策略解析及策略执行单元,如系统维护人员认为az2中空闲的资源不够,不能分配给该应用,则可修改成“指定可用域”(选择具体的可用域az1,则本次虚拟机发放所需的计算资源全部从az1中得到),也可以修改成“基于存量均分的策略”(因存量az1中已有1台,az2中已有12台,则本次新申请的10台虚拟机需与存量的数量一起计算,平均分配到az1和az2中,即新申请的10台虚拟机所需资源全部从az1中得到,分配后az1为11台,az2为12台,可以保证基于存量均分策略下的均衡)。
参见图11,策略解析执行装置3包括:策略解析单元31和策略执行单元32,其中:
策略解析单元31:策略解析单元主要解析用户指令,获取用户指定的应用、应用节点类型,用户申请的虚拟机数,用户确认后的分配策略,以及获取应用的计算资源可用域等参数
策略执行单元32:策略执行单元主要根据策略解析单元31解析的应用和应用节点类型,拼接后取哈希值,作为openstack的弱反亲和性组名,用以将该应用、应用节点类型的所有虚拟机归为一组,然后调用openstack接口判断每个可用域中该组名是否存在,不存在则创建一个弱反亲和性组,然后根据策略解析单元31解析的分配策略,计算各资源域可分配的数量,具体包含有如下三种情形:
1)当策略为本次均分时,先根据策略解析单元31解析的计算资源可用域个数,申请的虚拟机台数,然后计算每个可用域可平均分配的台数,即平均台数=申请台数/可用域数;
2)当策略为存量均分时,根据策略解析单元31解析的计算资源可用域,分别查询每个可用域在前述弱反亲和性组内的虚拟机数,与申请的虚拟机台数相加计算出虚拟机总数,计算需分配到每个可用域的虚拟机台数=虚拟机总数/可用域数,然后使用平均虚拟机台数减去前述每个可用域已经存在的虚拟机数,得到每个可用域需要新建的虚拟机数;
3)当策略为指定计算资源可用域时,则取出策略解析单元31解析的用户指定的计算资源可用域,需要新建的虚拟机数即为用户申请的虚拟机数;
上述计算后得到需要新建虚拟机的可用域与新建数量的列表,然后已前述弱反亲和性组名作为参数调用openstack接口执行新建虚拟机的操作,openstack则以弱反亲和性为规则(尽量分配到不同的计算节点上)在某一可用域中将虚拟机尽可能创建在不同的计算节点上。
参见图12,本申请应用实例提供的应用计算资源自动分配系统实现的基于openstack的计算资源自动分配方法中的请求处理流程如下:
步骤S101.系统开始启动。
步骤S102.用户根据应用定义装置进行应用、应用节点类型定义,以及应用可用域关系的配置。
步骤S103.定义不同的分配策略。
步骤S104.用户根据定义选择应用、应用节点类型、分配策略,申请虚拟机数等参数。
步骤S105.策略解析装置解析用户配置的信息,根据不同的分配策略,走到相应的策略执行单元。
步骤S106.根据本次均分策略执行相应的计算操作(具体计算过程见策略执行单元32)。
步骤S107.根据存量均分策略执行相应的计算操作。
步骤S108.根据指定可用域策略执行相应的计算操作。
步骤S109.根据前述策略执行结果,在指定的可用域上发放相应的资源。
从上述描述可知,本申请应用实例提供的应用计算资源自动分配系统实现的基于openstack的计算资源自动分配方法,根据应用、应用节点类型的分类,将计算资源的分配策略进行了两层划分,在应用层面,将应用根据不同节点类型进行了划分,保证相同类型的服务器可以分到同一个组中;在资源分配层面,对计算资源的分配也做了两层划分,第一层根据可用域维度进行资源分配打散,将同类型的虚拟机根据不同策略分配到物理隔离的可用域中,第二层根据计算节点维度,基于openstack的分配策略(弱反亲和性)对同一可用域中的同类型虚拟机尽可能打散到不同的计算节点上,极大满足了应用高可用的要求。
从硬件层面来说,为了同时满足分布式系统中的应用高可用性及低成本要求,本申请提供一种用于实现所述计算资源自动分配方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
图13为本申请实施例的电子设备9600的系统构成的示意框图。如图13所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图13是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在一实施例中,计算资源自动分配功能可以被集成到中央处理器中。其中,中央处理器可以被配置为进行如下控制:
步骤100:接收针对分布式系统的计算资源分配指令,其中,该计算资源分配指令用于指定目标应用信息、目标虚拟机数量、目标分配策略和目标可用域。
可以理解的是,计算资源自动分配装置可以向用户提供目标应用信息、目标虚拟机数量、目标分配策略和目标可用域等选项,具体来说,可以预先定义应用和应用节点类型,以及定义应用与计算资源的关系;根据应用的部署架构,在应用下定义不同的应用节点类型,如数据服务节点,web服务节点,应用服务节点等,不同的应用节点,承载不同的业务,由用户根据自身部署需求选择不同的应用节点类型。计算资源自动分配装置还可以定义计算资源的分配策略,由用户根据资源的实际情况选择不同的分配策略,主要可分为本次均分策略和存量均分策略。而后在接收到计算资源分配指令后,解析用户选择的应用、应用节点类型和分配策略,得到应用可分配的资源范围,以根据用户选择的分配策略,执行相应的计算资源的分配规则。
步骤200:根据所述目标应用信息确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识。
步骤300:基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量。
在步骤300中,目标分配策略可以基于实际应用情形进行预先设置,具体可以设置为本次均分策略、存量均分策略和指定可用域策略;分布式系统默认选择存量均分策略,当该应用、应用节点的资源在存量资源域中的差额大于本次应用申请的资源数,则自动选择本次均分策略,在实际发放时,可由系统维护人员手工调整策略,当选择了存量均分策略时,在计算分配的数量时需要考虑存量已经在可用域中存在的资源;当选择了本次均分策略时,只需考虑本次申请的资源数量的分配;当用户选择指定可用域策略时,需要用户同时指定一个该应用配置的可用域。
步骤400:应用所述计算资源组的唯一标识,在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机。
在步骤400中,所述唯一标识是用于区分当前计算资源组与其他资源组的标识,具体可以根据预设编码规则进行设置。
在本申请的一个或多个实施例中,所述计算资源组具体可以为预设的弱反亲和性组,其中,反亲和性是指:当应用的采用多副本部署时,有必要采用反亲和性让各个应用实例打散分布在各个计算节点上。
从上述描述可知,本申请实施例提供的电子设备,通过根据目标分配策略以对应的方式获取各个所述目标可用域各自对应的待新建虚拟机数量,能够有针对性地实现对分布式系统中计算资源的分配,并能够有效满足应用服务器高可用的要求并降低应用服务器的应用成本,能够有效提高计算资源分配的自动化程度及智能化程度,并能够有效提高计算资源分配过程的可靠性及有效性,进而能够有效提高分布式系统的运行可靠性及稳定性,降低分布式系统的运行及维护成本,并能够提高分布式系统的运维人员的用户体验。
在另一个实施方式中,计算资源自动分配装置可以与中央处理器9100分开配置,例如可以将计算资源自动分配装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现计算资源自动分配功能。
如图13所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图13中所示的所有部件;此外,电子设备9600还可以包括图13中没有示出的部件,可以参考现有技术。
如图13所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的计算资源自动分配方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的计算资源自动分配方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤100:接收针对分布式系统的计算资源分配指令,其中,该计算资源分配指令用于指定目标应用信息、目标虚拟机数量、目标分配策略和目标可用域。
可以理解的是,计算资源自动分配装置可以向用户提供目标应用信息、目标虚拟机数量、目标分配策略和目标可用域等选项,具体来说,可以预先定义应用和应用节点类型,以及定义应用与计算资源的关系;根据应用的部署架构,在应用下定义不同的应用节点类型,如数据服务节点,web服务节点,应用服务节点等,不同的应用节点,承载不同的业务,由用户根据自身部署需求选择不同的应用节点类型。计算资源自动分配装置还可以定义计算资源的分配策略,由用户根据资源的实际情况选择不同的分配策略,主要可分为本次均分策略和存量均分策略。而后在接收到计算资源分配指令后,解析用户选择的应用、应用节点类型和分配策略,得到应用可分配的资源范围,以根据用户选择的分配策略,执行相应的计算资源的分配规则。
步骤200:根据所述目标应用信息确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识。
步骤300:基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量。
在步骤300中,目标分配策略可以基于实际应用情形进行预先设置,具体可以设置为本次均分策略、存量均分策略和指定可用域策略;分布式系统默认选择存量均分策略,当该应用、应用节点的资源在存量资源域中的差额大于本次应用申请的资源数,则自动选择本次均分策略,在实际发放时,可由系统维护人员手工调整策略,当选择了存量均分策略时,在计算分配的数量时需要考虑存量已经在可用域中存在的资源;当选择了本次均分策略时,只需考虑本次申请的资源数量的分配;当用户选择指定可用域策略时,需要用户同时指定一个该应用配置的可用域。
步骤400:应用所述计算资源组的唯一标识,在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机。
在步骤400中,所述唯一标识是用于区分当前计算资源组与其他资源组的标识,具体可以根据预设编码规则进行设置。
在本申请的一个或多个实施例中,所述计算资源组具体可以为预设的弱反亲和性组,其中,反亲和性是指:当应用的采用多副本部署时,有必要采用反亲和性让各个应用实例打散分布在各个计算节点上。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过根据目标分配策略以对应的方式获取各个所述目标可用域各自对应的待新建虚拟机数量,能够有针对性地实现对分布式系统中计算资源的分配,并能够有效满足应用服务器高可用的要求并降低应用服务器的应用成本,能够有效提高计算资源分配的自动化程度及智能化程度,并能够有效提高计算资源分配过程的可靠性及有效性,进而能够有效提高分布式系统的运行可靠性及稳定性,降低分布式系统的运行及维护成本,并能够提高分布式系统的运维人员的用户体验。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种计算资源自动分配方法,其特征在于,包括:
接收针对分布式系统的计算资源分配指令,其中,该计算资源分配指令用于指定目标应用信息、目标虚拟机数量、目标分配策略和目标可用域;
根据所述目标应用信息确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识;
基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量;
应用所述计算资源组的唯一标识,在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机;
所述目标应用信息包括:应用及应用节点类型;
相对应的,所述根据所述目标应用信息确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识,包括:
生成所述应用及应用节点类型对应的哈希值,并将该哈希值作为所述应用及应用节点类型对应的唯一标识;
自所述分布式系统对应的各个可用域中是否包含有组名为所述唯一标识的计算资源组,若否,则创建组名为该唯一标识的计算资源组。
2.根据权利要求1所述的计算资源自动分配方法,其特征在于,所述目标分配策略包括:本次均分策略;
相对应的,所述基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量,包括:
应用所述本次均分策略,基于所述目标虚拟机数量和所述目标可用域的数量确定虚拟机平均台数;
将各个所述目标可用域各自对应的待新建虚拟机数量均设置为所述虚拟机平均台数。
3.根据权利要求1所述的计算资源自动分配方法,其特征在于,所述目标分配策略包括:存量均分策略;
相对应的,所述基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量,包括:
应用所述存量均分策略获取各个所述目标可用域各自对应的已存在虚拟机数量;
根据各个所述目标可用域各自对应的已存在虚拟机数量和所述目标虚拟机数量,确定虚拟机总数;
基于所述虚拟机总数和所述目标可用域的数量确定虚拟机平均台数;
将各个所述目标可用域各自对应的待新建虚拟机数量分别设置为所述虚拟机平均台数与对应的已存在虚拟机数量之间的差值。
4.根据权利要求1所述的计算资源自动分配方法,其特征在于,所述目标分配策略包括:指定可用域策略;
相对应的,所述基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量,包括:
应用所述指定可用域策略,将各个所述目标可用域对应的待新建虚拟机数量分别设置为所述目标虚拟机数量。
5.根据权利要求1所述的计算资源自动分配方法,其特征在于,所述应用所述计算资源组的唯一标识,在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机,包括:
以所述计算资源组的唯一标识调用预设的分布式计算服务接口,以在各个所述目标可用域中分别新建与对应的所述待新建虚拟机数量相同的虚拟机,其中,针对每个所述目标可用域,将新建的各个所述虚拟机分别分配至不同的计算节点上。
6.一种计算资源自动分配装置,其特征在于,包括:
指令接收模块,用于接收针对分布式系统的计算资源分配指令,其中,该计算资源分配指令用于指定目标应用信息、目标虚拟机数量、目标分配策略和目标可用域;
分组模块,用于根据所述目标应用信息确定用于将对应的应用及应用节点类型对应的全部虚拟机划分至同一计算资源组的唯一标识;
数量确定模块,用于基于所述目标分配策略和目标虚拟机数量,确定各个所述目标可用域各自对应的待新建虚拟机数量;
分配模块,用于应用所述计算资源组的唯一标识,在各个所述目标可用域中分别新建与各自对应的所述待新建虚拟机数量相同的虚拟机;
所述目标应用信息包括:应用及应用节点类型;
相对应的,所述分组模块用于执行下述内容:
生成所述应用及应用节点类型对应的哈希值,并将该哈希值作为所述应用及应用节点类型对应的唯一标识;
自所述分布式系统对应的各个可用域中是否包含有组名为所述唯一标识的计算资源组,若否,则创建组名为该唯一标识的计算资源组。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一项所述的计算资源自动分配方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5任一项所述的计算资源自动分配方法。
CN202110169954.5A 2021-02-05 2021-02-05 计算资源自动分配方法及装置 Active CN112905338B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110169954.5A CN112905338B (zh) 2021-02-05 2021-02-05 计算资源自动分配方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110169954.5A CN112905338B (zh) 2021-02-05 2021-02-05 计算资源自动分配方法及装置

Publications (2)

Publication Number Publication Date
CN112905338A CN112905338A (zh) 2021-06-04
CN112905338B true CN112905338B (zh) 2024-02-09

Family

ID=76123858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110169954.5A Active CN112905338B (zh) 2021-02-05 2021-02-05 计算资源自动分配方法及装置

Country Status (1)

Country Link
CN (1) CN112905338B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113283803B (zh) * 2021-06-17 2024-04-23 金蝶软件(中国)有限公司 一种物资需求计划的制定方法、相关装置及存储介质
CN114500540B (zh) * 2022-04-14 2022-08-02 阿里巴巴(中国)有限公司 一种云数据中心的数据传输方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106033373A (zh) * 2015-03-11 2016-10-19 苏宁云商集团股份有限公司 一种云计算平台中虚拟机资源调度方法和调度系统
CN108037978A (zh) * 2017-12-22 2018-05-15 天津津航计算技术研究所 一种基于虚拟化技术的计算资源管理方法
CN111078369A (zh) * 2019-12-27 2020-04-28 中国建设银行股份有限公司 一种云计算机下虚拟机分配方法、装置以及服务器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106033373A (zh) * 2015-03-11 2016-10-19 苏宁云商集团股份有限公司 一种云计算平台中虚拟机资源调度方法和调度系统
CN108037978A (zh) * 2017-12-22 2018-05-15 天津津航计算技术研究所 一种基于虚拟化技术的计算资源管理方法
CN111078369A (zh) * 2019-12-27 2020-04-28 中国建设银行股份有限公司 一种云计算机下虚拟机分配方法、装置以及服务器

Also Published As

Publication number Publication date
CN112905338A (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
CN105812171B (zh) 一种虚拟化的网络功能vnf控制方法和设备
CN110138862B (zh) 基于应用服务的业务处理方法、装置、网关设备及介质
CN111858054B (zh) 一种异构环境下基于边缘计算的资源调度系统及方法
CN112905338B (zh) 计算资源自动分配方法及装置
CN112445575B (zh) 多集群资源调度方法、装置及系统
CN106445473B (zh) 一种容器部署方法及装置
CN111274033B (zh) 一种资源部署方法、装置、服务器以及存储介质
CN112463535B (zh) 多集群异常处理方法及装置
CN111858050B (zh) 服务器集群混合部署方法、集群管理节点及相关系统
CN103517243A (zh) 紧急呼叫建立方法、网络设备及通信系统
CN111510493B (zh) 分布式数据传输方法及装置
WO2016095524A1 (zh) 资源分配方法及装置
CN110944067B (zh) 一种负载均衡方法和服务器
CN112995303B (zh) 跨集群调度方法及装置
CN114257532B (zh) 服务端状态探测方法及装置
CN108958933B (zh) 任务执行器的配置参数更新方法、装置及设备
CN113326025A (zh) 一种单一集群远程持续发布方法及装置
CN115550354A (zh) 一种数据处理方法、装置及计算机可读存储介质
CN113300866B (zh) 节点能力管控方法、设备、系统及存储介质
CN116456496B (zh) 资源调度的方法、存储介质及电子设备
US20220278944A1 (en) Method for allocating resources of a network infrastructure
CN112396511B (zh) 分布式风控变量数据处理方法、装置及系统
CN115412610A (zh) 故障场景下的流量调度方法及装置
CN113342520B (zh) 一种基于联邦实现的跨集群远程持续发布方法及系统
CN113268272B (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