CN114461401A - 资源调度方法方法、装置、电子设备及存储介质 - Google Patents

资源调度方法方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114461401A
CN114461401A CN202210139406.2A CN202210139406A CN114461401A CN 114461401 A CN114461401 A CN 114461401A CN 202210139406 A CN202210139406 A CN 202210139406A CN 114461401 A CN114461401 A CN 114461401A
Authority
CN
China
Prior art keywords
target
devices
rule
determining
machine room
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
Application number
CN202210139406.2A
Other languages
English (en)
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.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information Technology Co Ltd
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 Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN202210139406.2A priority Critical patent/CN114461401A/zh
Publication of CN114461401A publication Critical patent/CN114461401A/zh
Pending legal-status Critical Current

Links

Images

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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本公开提供了一种资源调度方法方法、装置、电子设备及存储介质,该方法包括:获取集群架构规则、部署规则和多个设备的位置信息;以及根据集群架构规则、部署规则和位置信息,从多个设备中确定至少一个目标设备,以便使用至少一个目标设备。

Description

资源调度方法方法、装置、电子设备及存储介质
技术领域
本公开涉及互联网技术领域,更具体地,涉及一种资源调度方法方法、装置、电子设备、计算机可读存储介质以及计算机程序产品。
背景技术
对于数据库运维管理平台,需要由管理人员根据使用需求,从众多服务器中选择合适的服务器,并手动输入服务器的IP地址,来分配服务器,实现资源调度。
发明内容
本公开提供了一种资源调度方法方法、装置、电子设备、计算机可读存储介质以及计算机程序产品。
本公开的一个方面提供了一种资源调度方法,包括:获取集群架构规则、部署规则和多个设备的位置信息;以及根据上述集群架构规则、上述部署规则和上述位置信息,从上述多个设备中确定至少一个目标设备,以便使用上述至少一个目标设备。
根据本公开的实施例,该方法还包括:根据预筛选规则,从上述多个设备中选择多个备选设备;其中,上述预筛选规则包括目标模式和目标配置信息;上述根据上述集群架构规则、上述部署规则和上述位置信息,从上述多个设备中确定至少一个目标设备,包括:根据上述集群架构规则、上述部署规则和上述位置信息,从上述多个备选设备中确定上述至少一个目标设备。
根据本公开的实施例,上述根据预筛选规则,从上述多个设备中选择多个备选设备,包括以下中的至少一个:响应于确定目标模式为共享设备,从上述多个设备中选择处于空闲状态和处于共享状态的多个备选设备;响应于确定目标模式为独享设备,从上述多个设备中选择处于空闲状态的多个备选设备;以及响应于接收到的目标配置信息,从上述多个设备中选择当前配置信息满足上述目标配置信息的多个备选设备;上述目标配置信息包括当前CPU可用量、当前内存可用量和当前磁盘可用量中的至少一个。
根据本公开的实施例,该方法还包括:响应于确定设备的目标类型为Kubernetes,确定至少一个目标设备;上述根据上述集群架构规则、上述部署规则和上述位置信息,从上述多个设备中确定至少一个目标设备包括:响应于确定目标类型为物理机或虚拟机,根据上述集群架构规则、上述部署规则和上述位置信息,从上述多个设备中确定至少一个目标设备。
根据本公开的实施例,该方法还包括:生成上述至少一个目标设备中每一目标设备的未使用端口号和虚拟IP地址。
根据本公开的实施例,上述位置信息包括设备所在的地理区域信息和设备所在的机房信息;上述部署规则包括针对目标设备所在地理区域和所在机房的预定要求;上述集群架构规则包括针对目标设备数量的预定要求。
根据本公开的实施例,上述根据上述集群架构规则、上述部署规则和上述位置信息,从上述多个设备中确定至少一个目标设备,包括以下中的至少一个:在上述部署规则为单机房的情况下,从同一个机房中选择上述至少一个目标设备;在上述部署规则为同区域双机房的情况下,从第一机房中选择第一数量个目标设备,从第二机房中选择第二数量个目标设备,将上述第一数量个目标设备和上述第二数量个目标设备确定为上述至少一个目标设备;其中,上述第一机房与上述第二机房位于同一区域;以及在上述部署规则为两地三中心的情况下,从第一区域中的一个机房中确定第三数量个目标设备,从上述第一区域中的另一个机房中确定第四数量个目标设备,从第二区域中确定第五数量个目标设备,将上述第三数量个目标设备、上述第四数量个目标设备和上述第五数量个目标设备确定为上述至少一个目标设备。
本公开的另一个方面提供了一种资源调度装置,包括获取模块和第一确定模块。获取模块用于获取集群架构规则、部署规则和多个设备的位置信息。第一确定模块用于根据上述集群架构规则、上述部署规则和上述位置信息,从上述多个设备中确定至少一个目标设备,以便使用上述至少一个目标设备。
本公开的另一方面提供了一种电子设备,包括一个或多个处理器,还包括用于存储一个或多个程序的存储器;其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现实现本公开实施例上述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,上述指令在被执行时用于实现本公开实施例上述的方法。
本公开的另一方面提供了一种计算机程序产品,上述计算机程序产品包括计算机可执行指令,上述指令在被执行时用于实现本公开实施例上述的方法。
根据本公开的实施例,由于根据集群架构规则、部署规则和位置信息,从多个设备中确定至少一个目标设备,因此可以为对集群架构和部署规则有特殊需求的集群分配合适的设备,提高设备分配效果。此外,还通过自动化的方式来分配设备,相比于人工分配的方式,提高了分配效率。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了可以应用本公开的资源调度方法和装置的示例性系统架构;
图2示意性示出了根据本公开实施例的资源调度方法的流程图;
图3示意性示出了根据本公开实施例的资源调度方法的原理图;
图4示意性示出了根据本公开实施例的资源调度装置的框图;以及
图5示意性示出了根据本公开实施例的适于实现资源调度方法和装置的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在一种技术中,需要管理人员手动输入服务器的IP地址,来分配服务器,实现资源调度过程。但是实际应用中,部分集群对服务器有特殊需求。例如,金融行业对数据库服务器的稳定和安全要求极高,通常采用一些具有容灾能力的部署方式。管理人员对具有特殊需求的集群处理能力较弱,存在资源分配效率低和分配效果差的问题。
本公开的实施例提供了一种资源调度方法,该方法包括:获取集群架构规则、部署规则和多个设备的位置信息;以及根据集群架构规则、部署规则和位置信息,从多个设备中确定至少一个目标设备,以便使用至少一个目标设备。
图1示意性示出了可以应用本公开的资源调度方法和装置的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的资源调度方法一般可以由服务器105执行。相应地,本公开实施例所提供的资源调度装置一般可以设置于服务器105中。本公开实施例所提供的资源调度方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的资源调度装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。或者,本公开实施例所提供的资源调度方法也可以由终端设备101、102、或103执行,或者也可以由不同于终端设备101、102、或103的其他终端设备执行。相应地,本公开实施例所提供的资源调度装置也可以设置于终端设备101、102、或103中,或设置于不同于终端设备101、102、或103的其他终端设备中。
例如,待分配的多个设备的信息(例如IP地址)可以存储在终端设备101、102、或103中的任意一个(例如,终端设备101,但不限于此)之中,或者存储在外部存储设备上并可以导入到终端设备101中。然后,终端设备101可以在本地执行本公开实施例所提供的资源调度方法,或者将待分配的多个设备的信息发送到其他终端设备、服务器、或服务器集群,并由接收该待分配的多个设备的信息的其他终端设备、服务器、或服务器集群来执行本公开实施例所提供的资源调度方法。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的资源调度方法的流程图。
如图2所示,该方法包括操作S210~操作S220。
在操作S210,获取集群架构规则、部署规则和多个设备的位置信息。
需要说明的是,设备可以为服务器,例如用于存储和处理数据的数据库服务器,设备也可以为各种类型的终端设备。集群包括多个设备,集群可以为MySQL(一种关系型数据库管理系统)集群。
位置信息可以包括设备所在的地理区域,地理区域可以包括省区域、市区域、区县区域等。位置信息也可以包括设备所在的机房信息。此外,同一个设备的位置信息也可以包括多个维度,例如,一个设备位于A省份B城市的C机房中,则该设备的位置信息可以包括A省份信息、B城市信息和C机房信息。位置信息可以预先存储在数据库中,并在确定目标设备时调用位置信息。
集群架构规则可以包括设备的主从关系,例如一主一从(即两个能够处理相同业务的设备,其中一个设备为主设备,另一个设备为从设备)、一主两从(例如三个能够处理相同业务的设备,第一个设备为主设备,第二个设备为从设备,第三个设备为备用设备)、一主三从等。
部署规则可以包括对设备所在位置的预定规则。在一种示例中,部署规则可以包括单机房部署,即至少一个设备需要位于同一个机房中,例如主设备和至少一个从设备位于同一个机房中。在另一种示例中,部署规则可以包括双机房部署,即至少两个设备中,一部分设备位于一个机房,另一个设备位于另一个机房中。在另一种示例中,部署规则可以包括三机房部署,即多个设备需要分布在三个不同的机房中。
在操作S220,根据集群架构规则、部署规则和位置信息,从多个设备中确定至少一个目标设备,以便使用至少一个目标设备。
需要说明的是,确定出的至少一个目标设备的位置信息满足部署规则,并且至少一个目标设备的数量满足集群架构规则。
此外,集群架构规则可以仅要求较少数量的目标设备,而多个设备中可以有较多数量满足要求的目标设备。因此,确定出的至少一个目标服务器,可以包括满足要求的全部目标设备,也可以仅包括满足要求的一部分目标设备。例如,用户指定需要选择3个目标设备,多个设备中有10个满足用户的要求设备,则确定出的目标设备可以包括10个满足用户的要求设备,也可以从满足用户要求的10个设备中选择3个作为目标设备。
根据本公开的实施例,资源调度方法可以用于数据库领域的资源调度分配。该方法采用自动化的方式来分配设备,相比于人工分配的方式,提高了分配效率。此外,由于根据集群架构规则、部署规则和位置信息,从多个设备中确定至少一个目标设备,因此可以为对集群架构和部署规则有特殊需求的集群分配合适的设备,提高设备分配效果。
根据本公开另一实施例,该资源调度方法还可以包括以下操作:根据预筛选规则,从多个设备中选择多个备选设备;预筛选规则包括目标模式和目标配置信息。相应地,上述操作S220可以包括以下操作:根据集群架构规则、部署规则和位置信息,从多个备选设备中确定至少一个目标设备。
需要说明的是,设备的当前状态可以包括空闲状态和非空闲状态。空闲状态的设备表示未被分配任务,其在分配任务后的状态会转变为非空闲状态,非空闲状态的设备可以为独享设备,也可以为共享设备。
目标模式可以包括独享模式和共享模式。独享模式的设备表示该设备仅供一个用户群体使用,一个用户群体可以包括一个人,也可以包括一个部门的员工,或者包括一家公司的员工等。共享模式的设备表示同一个设备可以分配给不同的用户群体使用。
目标配置信息表示设备所配备的性能,可以包括当前CPU可用量、当前内存可用量和当前磁盘可用量中的至少一个。
对于当前CPU可用量,可以将CPU最大可用量减去CPU已分配量,再减去CPU需求量得到的差值,作为当前CPU可用量的值。
对于当前内存可用量,可以将内存最大可用量减去内存已分配量,再减去内存需求量得到的差值,作为当前内存可用量的值。此外,考虑到实际应用中,最大可用量为理论值,有内存被占用而出现内存实际剩余量低于内存最大可用量的风险。因此,也可以通过程序采集内存实际剩余量,然后将内存实际剩余量减去内存已分配量,再减去内存需求量得到的差值,作为当前内存可用量的值。
对于当前磁盘可用量,可以将磁盘最大可用量减去磁盘已分配量,再减去磁盘需求量得到的差值,作为当前磁盘可用量的值。也可以通过程序采集磁盘实际剩余量,然后将磁盘实际剩余量减去磁盘已分配量,再减去磁盘需求量得到的差值,作为当前磁盘可用量的值。
本公开实施例中,考虑到一些情况下,用户对目标设备的目标模式和目标配置信息有要求。例如,用户要求目标设备为独享模式的设备,或者用户要求目标设备为4颗CPU和8G内存的设备。而多个设备中,一部分设备不满足用户要求。因为,可以先根据目标模式和/或目标配置信息进行预筛选操作,得到数量较少的多个备选服务器,然后再从备选服务器中选择目标服务器,达到提高从多个设备中选择目标设备的效率的效果。
在一种示例中,根据预筛选规则,从多个设备中选择多个备选设备的操作,可以包括以下操作:响应于确定目标模式为共享设备,从多个设备中选择处于空闲状态和处于共享状态的多个备选设备。
在一种示例中,根据预筛选规则,从多个设备中选择多个备选设备的操作,可以包括以下操作:响应于确定目标模式为独享设备,从多个设备中选择处于空闲状态的多个备选设备。
在一种示例中,根据预筛选规则,从多个设备中选择多个备选设备的操作,可以包括以下操作:响应于接收到的目标配置信息,从多个设备中选择当前配置信息满足目标配置信息的多个备选设备。目标配置信息包括当前CPU可用量、当前内存可用量和当前磁盘可用量中的至少一个。
根据本公开另一实施例,该资源调度方法还可以包括以下操作:响应于确定设备的目标类型为Kubernetes,确定至少一个目标设备。相应地,上述操作S220可以包括以下操作:响应于确定目标类型为物理机或虚拟机,根据集群架构规则、部署规则和位置信息,从多个设备中确定至少一个目标设备。
需要说明的是,对于设备的目标类型为Kubernetes的情况,可以利用调度器(Kubernetes Scheduler)监听API(应用程序接口)服务器,来实现确定目标设备的效果。对于目标类型为物理机或虚拟机的情况,可以根据集群架构规则、部署规则和位置信息确定目标设备。
本公开实施例提供的方法适用于Kubernetes、物理机和虚拟机,能够对不同目标类型的设备进行分配。
根据本公开另一实施例,该资源调度方法还可以包括以下操作:生成至少一个目标设备中每一目标设备的未使用端口号和虚拟IP地址。
需要说明的是,考虑到有些目标设备为共享设备,共享设备上的端口号被使用后,无法再次分配给其他用户使用。因此,可以生成每一目标设备的未使用端口号,并将未使用端口号分配给新的用户,以使用户能够正常使用目标设备。例如,目标设备上的3306端口和3307端口已被使用,则可以将该目标设备的3308端口分配给用户。
虚拟IP也称VIP。每个设备具有一个IP,此外,每个设备还可以配置虚拟IP,且虚拟IP可以修改。虚拟IP用于切换处理任务的设备。例如,两台设备(主设备和从设备)中,正常情况下由主设备处理任务,当主设备出现异常时,可以将从设备虚拟IP切换为主设备的虚拟IP,从而使从设备替代主设备处理任务。采用该种方式,在主设备出现异常时,与主设备的连接的其他终端设备无需主动调整,仍可正常使用。
根据本公开另一实施例,位置信息包括设备所在的地理区域信息和设备所在的机房信息,地理区域信息可以省区域、市区域、区县区域等。部署规则包括针对目标设备所在地理区域和所在机房的预定要求。集群架构规则包括针对目标设备数量的预定要求,例如,集群架构规则为一主三从,则该集群架构规则要求目标设备的数量为4个。
根据本公开另一实施例,上述操作S220可以包括以下操作:在部署规则为单机房的情况下,从同一个机房中选择至少一个目标设备。
需要说明的是,单机房的部署规则适用于任意一种集群架构规则,即单机房中可以部署任意数量个设备。例如,单机房中部署一个主设备,或者部署两个设备(一主一从),或者部署三个设备(-主两从)。
在一种示例中,在用户指定目标机房的情况下,可以从目标机房中选择目标服务器。如果需要预定数量个目标设备,而目标机房中满足要求的设备数量多于预定数量,则可以从满足要求的多个设备中,随机选择预定数量的设备。
在另一种示例中,在用户未指定目标机房的情况下,可以将多个服务器涉及的机房进行排序,然后从当前机房中选择目标服务器,如果当前机房中的服务器数量无法满足集群架构规则,例如集群架构规则为一主一从,而当前机房中仅有一台满足要求的服务器。则根据机房的排序将下一个机房确定为当前机房。重复上述操作,直至选出目标服务器。
根据本公开另一实施例,上述操作S220可以包括以下操作:在部署规则为同区域双机房的情况下,从第一机房中选择第一数量个目标设备,从第二机房中选择第二数量个目标设备,将第一数量个目标设备和第二数量个目标设备确定为至少一个目标设备。第一机房与第二机房位于同一区域。
需要说明的是,同区域双机房的部署规则适用于目标设备的数量为至少两个的情况。同区域双机房表示多个目标设备分布在两个不同的机房中,且两个机房位于同一区域。例如至少两个目标服务器位于同一城市的两个机房中。
在一种示例中,在用户指定两个目标机房的情况下,可以从两个目标机房中分别选择目标服务器。选择的具体方式可以参考部署规则为单机房且已指定目标机房的方案。
在另一种示例中,在用户指定一个目标机房的情况下,可以从已指定的目标机房中选择第一数量个目标服务器。将与该目标机房位于同一区域的其他机房确定为备选机房,然后从一个备选机房中选择第二数量个目标服务器。从一个备选机房中选择第二数量个目标服务器具体方式,可以参考部署规则为单机房且已指定目标机房的方案。
在另一种示例中,在用户未指定目标机房的情况下,首先确定地理位置区域,然后可以参考部署规则为单机房且已指定目标机房的方案,从确定的地理位置区域中的一个机房中选择第一数量个目标服务器。然后将地理位置区域中除该机房之外的剩余机房,确定为备选机房,并从备选机房中选择第二数量个目标服务器,选择方式可以参考部署规则为单机房且已指定目标机房的方案。
根据本公开另一实施例,上述操作S220可以包括以下操作:在部署规则为两地三中心的情况下,从第一区域中的一个机房中确定第三数量个目标设备,从第一区域中的另一个机房中确定第四数量个目标设备,从第二区域中确定第五数量个目标设备,将第三数量个目标设备、第四数量个目标设备和第五数量个目标设备确定为至少一个目标设备。
需要说明的是,两地三中心的部署规则适用于目标设备的数量为至少三个的情况。两地三中心表示主设备和从设备位于同一区域的两个机房中,备用设备位于另一区域的一个机房中。
在一种示例中,在用户指定三个目标机房的情况下,可以从三个目标机房中分别选择目标服务器。选择的具体方式可以参考部署规则为单机房且已指定目标机房的方案。
在另一种示例中,在用户指定主设备或从设备所在的目标机房的情况下,可以从指定的目标机房中选择主设备,然后从同区域的其他机房中选择从设备。然后从另一区域的一个机房中选择备用设备。
在另一种示例中,在用户指定备用设备所在的目标机房的情况下,可以从目标机房中选择备用设备。然后将拥有两个以上的机房确定为目标区域,并从目标区域的两个机房中分别选择主设备和从设备。
在另一种示例中,在用户未指定目标机房的情况下,可以先将拥有两个以上的机房确定为目标区域,从目标区域的两个机房中选择主设备和从设备。然后从目标区域之外的其他区域中选择备用设备。
图3示意性示出了根据本公开实施例的资源调度方法的原理图。
首先通过操作S301判断目标资源类型。在目标资源类型为Kubernetes的情况下,执行操作302,利用调度器确定目标设备,得到多个目标设备。在目标资源类型为物理机或虚拟机的情况下,执行操作S303,判断目标模式信息。
在操作S303之后,对于共享设备,执行操作S304,从多个设备中选择空闲设备或共享设备,得到第一数量个备选设备。对于独享设备,执行操作S305,从多个设备中选择空闲设备,得到第一数量个备选设备。
然后执行操作S306,根据目标配置信息选择设备。例如根据当前CPU可用量、当前内存可用量和当前磁盘可用量,从第一数量个备选设备中选出第二数量个备选设备。
然后执行操作S307,获取设备的位置信息、部署规则和集群架构规则。通过操作S308判断部署规则是否为单机房,通过操作S310判断部署规则是否为同区域双机房。对于单机房,通过操作S309确定目标服务器。对于同区域双机房,通过操作S311确定目标服务器。对于两地三中心,通过操作S312确定目标服务器。
在操作S309、操作S311和操作S312之后,可以得到多个目标设备。然后执行操作S313,生成多个目标设备中每个目标设备的未使用端口号和虚拟IP。
图4示意性示出了根据本公开实施例的资源调度装置的框图。
如图4所示,资源调度装置400可以包括获取模块410和第一确定模块420。获取模块410用于获取集群架构规则、部署规则和多个设备的位置信息。第一确定模块420用于根据集群架构规则、部署规则和位置信息,从多个设备中确定至少一个目标设备,以便使用至少一个目标设备。
根据本公开的实施例,上述资源调度装置400还包括预筛选模块,其用于根据预筛选规则,从多个设备中选择多个备选设备,预筛选规则包括目标模式和目标配置信息。第一确定模块420用于根据集群架构规则、部署规则和位置信息,从多个备选设备中确定至少一个目标设备。
根据本公开的实施例,预筛选模块包括第二预筛选子模块、第一预筛选子模块和第三预筛选子模块中的至少一个。第一预筛选子模块用于响应于确定目标模式为共享设备,从多个设备中选择处于空闲状态和处于共享状态的多个备选设备。第二预筛选子模块用于响应于确定目标模式为独享设备,从多个设备中选择处于空闲状态的多个备选设备。第三预筛选子模块用于响应于接收到的目标配置信息,从多个设备中选择当前配置信息满足目标配置信息的多个备选设备;目标配置信息包括当前CPU可用量、当前内存可用量和当前磁盘可用量中的至少一个。
根据本公开的实施例,上述资源调度装置400还包括第二确定模块,其用于在确定设备的目标类型为Kubernetes的情况下,确定至少一个目标设备。第一确定模块420用于在确定目标类型为物理机或虚拟机的情况下,根据集群架构规则、部署规则和位置信息,从多个设备中确定至少一个目标设备。
根据本公开的实施例,上述资源调度装置400还包括信息生成模块,其用于生成至少一个目标设备中每一目标设备的未使用端口号和虚拟IP地址。
根据本公开的实施例,位置信息包括设备所在的地理区域信息和设备所在的机房信息。部署规则包括针对目标设备所在地理区域和所在机房的预定要求。集群架构规则包括针对目标设备数量的预定要求。
根据本公开的实施例,第一确定模块420包括第一确定子模块、第二确定子模块、第三确定子模块中的至少一个。第一确定子模块用于在部署规则为单机房的情况下,从同一个机房中选择至少一个目标设备。第二确定子模块用于在部署规则为同区域双机房的情况下,从第一机房中选择第一数量个目标设备,从第二机房中选择第二数量个目标设备,将第一数量个目标设备和第二数量个目标设备确定为至少一个目标设备;其中,第一机房与第二机房位于同一区域。第三确定子模块用于在部署规则为两地三中心的情况下,从第一区域中的一个机房中确定第三数量个目标设备,从第一区域中的另一个机房中确定第四数量个目标设备,从第二区域中确定第五数量个目标设备,将第三数量个目标设备、第四数量个目标设备和第五数量个目标设备确定为至少一个目标设备。
需要说明的是,本公开装置部分的实施例与本公开方法部分的实施例对应相同或类似,本公开在此不再赘述。
根据本公开的实施例的模块、子模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,获取模块410和第一确定模块420中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,获取模块410和第一确定模块420中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,获取模块410和第一确定模块420中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图5示意性示出了根据本公开实施例的适于实现资源调度方法和装置的电子设备的框图。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,根据本公开实施例的电子设备500包括处理器501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。处理器501例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器501还可以包括用于缓存用途的板载存储器。处理器501可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 503中,存储有电子设备500操作所需的各种程序和数据。处理器501、ROM502以及RAM 503通过总线504彼此相连。处理器501通过执行ROM 502和/或RAM 503中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 502和RAM 503以外的一个或多个存储器中。处理器501也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备500还可以包括输入/输出(I/O)接口505,输入/输出(I/O)接口505也连接至总线504。系统500还可以包括连接至I/O接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被处理器501执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 502和/或RAM 503和/或ROM 502和RAM 503以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (11)

1.一种资源调度方法,包括:
获取集群架构规则、部署规则和多个设备的位置信息;以及
根据所述集群架构规则、所述部署规则和所述位置信息,从所述多个设备中确定至少一个目标设备,以便使用所述至少一个目标设备。
2.根据权利要求1所述的方法,还包括:
根据预筛选规则,从所述多个设备中选择多个备选设备;其中,所述预筛选规则包括目标模式和目标配置信息;
所述根据所述集群架构规则、所述部署规则和所述位置信息,从所述多个设备中确定至少一个目标设备,包括:
根据所述集群架构规则、所述部署规则和所述位置信息,从所述多个备选设备中确定所述至少一个目标设备。
3.根据权利要求2所述的方法,其中,所述根据预筛选规则,从所述多个设备中选择多个备选设备,包括以下中的至少一个:
响应于确定目标模式为共享设备,从所述多个设备中选择处于空闲状态和处于共享状态的多个备选设备;
响应于确定目标模式为独享设备,从所述多个设备中选择处于空闲状态的多个备选设备;
响应于接收到的目标配置信息,从所述多个设备中选择当前配置信息满足所述目标配置信息的多个备选设备;其中,所述目标配置信息包括当前CPU可用量、当前内存可用量和当前磁盘可用量中的至少一个。
4.根据权利要求1所述的方法,还包括:
响应于确定设备的目标类型为Kubernetes,确定至少一个目标设备;
所述根据所述集群架构规则、所述部署规则和所述位置信息,从所述多个设备中确定至少一个目标设备包括:
响应于确定目标类型为物理机或虚拟机,根据所述集群架构规则、所述部署规则和所述位置信息,从所述多个设备中确定至少一个目标设备。
5.根据权利要求1所述的方法,还包括:
生成所述至少一个目标设备中每一目标设备的未使用端口号和虚拟IP地址。
6.根据权利要求1至5中任意一项所述的方法,其中,
所述位置信息包括设备所在的地理区域信息和设备所在的机房信息;
所述部署规则包括针对目标设备所在地理区域和所在机房的预定要求;
所述集群架构规则包括针对目标设备数量的预定要求。
7.根据权利要求1所述的方法,其中,所述根据所述集群架构规则、所述部署规则和所述位置信息,从所述多个设备中确定至少一个目标设备,包括以下中的至少一个:
在所述部署规则为单机房的情况下,从同一个机房中选择所述至少一个目标设备;
在所述部署规则为同区域双机房的情况下,从第一机房中选择第一数量个目标设备,从第二机房中选择第二数量个目标设备,将所述第一数量个目标设备和所述第二数量个目标设备确定为所述至少一个目标设备;其中,所述第一机房与所述第二机房位于同一区域;
在所述部署规则为两地三中心的情况下,从第一区域中的一个机房中确定第三数量个目标设备,从所述第一区域中的另一个机房中确定第四数量个目标设备,从第二区域中确定第五数量个目标设备,将所述第三数量个目标设备、所述第四数量个目标设备和所述第五数量个目标设备确定为所述至少一个目标设备。
8.一种资源调度装置,包括:
获取模块,用于获取集群架构规则、部署规则和多个设备的位置信息;以及
第一确定模块,用于根据所述集群架构规则、所述部署规则和所述位置信息,从所述多个设备中确定至少一个目标设备,以便使用所述至少一个目标设备。
9.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至7中任一项所述的方法。
11.一种计算机程序产品,包括计算机可执行指令,所述指令在被执行时用于实现权利要求1至7中任一项所述的方法。
CN202210139406.2A 2022-02-14 2022-02-14 资源调度方法方法、装置、电子设备及存储介质 Pending CN114461401A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210139406.2A CN114461401A (zh) 2022-02-14 2022-02-14 资源调度方法方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210139406.2A CN114461401A (zh) 2022-02-14 2022-02-14 资源调度方法方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114461401A true CN114461401A (zh) 2022-05-10

Family

ID=81414099

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210139406.2A Pending CN114461401A (zh) 2022-02-14 2022-02-14 资源调度方法方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114461401A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117519964A (zh) * 2023-10-17 2024-02-06 本原数据(北京)信息技术有限公司 数据库资源管理方法和系统、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117519964A (zh) * 2023-10-17 2024-02-06 本原数据(北京)信息技术有限公司 数据库资源管理方法和系统、电子设备及存储介质
CN117519964B (zh) * 2023-10-17 2024-06-18 本原数据(北京)信息技术有限公司 数据库资源管理方法和系统、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US9906589B2 (en) Shared management service
US8112659B2 (en) Reducing recovery time for business organizations in case of disasters
KR20220011063A (ko) 서버 리소스 할당 방법, 장치, 전자 기기 및 저장 매체
CN109408205B (zh) 基于hadoop集群的任务调度方法和装置
CN107534570A (zh) 虚拟化网络功能监控
CN108718327B (zh) 一种许可证资源调度方法及系统
CN109960575B (zh) 一种计算能力共享方法、系统及相关设备
CN106713028A (zh) 业务降级方法、装置和分布式任务调度系统
CN106293945A (zh) 一种跨虚拟机的资源感知方法及系统
JP2012027656A (ja) ディザスタリカバリシステムのための管理装置、方法及びプログラム
US20180088999A1 (en) Method, device, and system
CN115658311A (zh) 一种资源的调度方法、装置、设备和介质
CN114461401A (zh) 资源调度方法方法、装置、电子设备及存储介质
CN109582439B (zh) Dcn部署方法、装置、设备及计算机可读存储介质
CN110912967A (zh) 一种服务节点调度方法、装置、设备及存储介质
CN114116173A (zh) 动态调整任务分配的方法、装置和系统
CN112882895A (zh) 健康检查方法、装置、计算机系统及可读存储介质
CN109558152A (zh) 系统灰度发布时流量切换方法、装置、介质及电子设备
CN114924888A (zh) 资源配置方法、数据处理方法、装置、设备和存储介质
US20170286181A1 (en) Deployment and execution of sensing and computational tasks in a network of computing devices
CN111506340B (zh) 业务规则信息处理方法、装置及系统
CN110033145B (zh) 财务共享作业分单方法及装置、设备和存储介质
CN116501383B (zh) 微服务的分配方法、装置、电子设备及可读存储介质
CN118018552B (zh) 基于中间件的集群服务部署方法、装置和计算机设备
CN117675932B (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