CN107168788B - 分布式系统中资源的调度方法以及装置 - Google Patents
分布式系统中资源的调度方法以及装置 Download PDFInfo
- Publication number
- CN107168788B CN107168788B CN201610128461.6A CN201610128461A CN107168788B CN 107168788 B CN107168788 B CN 107168788B CN 201610128461 A CN201610128461 A CN 201610128461A CN 107168788 B CN107168788 B CN 107168788B
- Authority
- CN
- China
- Prior art keywords
- resource
- identification
- sequence
- identifier
- application request
- 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
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
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5013—Request control
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
本申请公开了一种分布式系统中资源的调度方法,包括:接收作业方申请资源的申请请求,所述申请请求中包含申请所述资源的相应资源标识;提取所述申请请求中包含的所述资源标识;分析提取出的所述资源标识,并与预先建立的资源标识‑标识序列映射关系进行比对,获得所述申请请求对应的待筛选标识序列;利用筛选算法,从所述待筛选标识序列中筛选出与分析后的所述资源标识匹配的标识序列;将筛选出的所述标识序列与预先建立的标识序列‑资源映射关系进行比对,确定所述申请请求对应的资源;将所述申请请求对应的资源分配给所述作业方。基于该方法进行资源调度时,根据所述申请请求中包含的资源标识分配相应的资源,资源调度的灵活性更强。
Description
技术领域
本申请涉及分布式系统技术领域,具体涉及一种分布式系统中资源的调度方法。本申请同时涉及一种分布式系统中资源的调度装置、另一种分布式系统中资源的调度方法以及装置。
背景技术
随着计算机技术和网络技术的不断发展,分布式系统架构的应用越来越广泛。在分布式系统中,用户发起的作业请求往往不能直接获得实现对象,需要经过多个中间服务构件对用户的作业请求进行协同处理,并最终成功执行作业。分布式系统中通常存在三个角色:资源调度器(Resource Manager)、作业方和机器节点(Machine Node)。在分布式系统中,资源调度器(Resource Manager)用于协调、分配分布式系统中可用资源;作业方包括作业管理器(Job Master)以及下属的作业节点(Job Worker),其中,作业管理器(JobMaster)用于控制自身下属的所有作业节点(Job Worker),负责代表所有作业节点(JobWorker)向资源调度器(Resource Manager)申请作业资源,以及向机器节点(MachineNode)发送作业程序;作业节点(Job Worker)用于执行具体的作业程序,只与作业管理器(Job Master)之间进行通信;机器节点(Machine Node)代表机器负责监管作业程序的执行。
在分布式系统中,通常存在成千上万台机器,这些机器很有可能是异构的,例如,有些机器的操作系统是Linux,有些机器的操作系统是Windows;有些机器的内核版本是1.9,有些机器的内核版本是2.0;有些机器的磁盘类型是SSD,有些机器的磁盘类型是SATA等等。对于用户作业而言,有些用户作业对机器的配置并不敏感,可以在任何配置的机器上执行;但是也有一些用户作业依赖于特定配置的机器,例如,有的用户作业必须在操作系统是Windows的机器上执行,有的用户作业对磁盘I/O性能要求很高,必须在磁盘类型是SSD的机器上执行。
目前,现有技术提供的分布式系统中资源的调度方法,对于资源调度器(ResourceManager)来说,无法对机器集群中的机器进行区分,在资源调度器(Resource Manager)看来,机器集群中的所有机器都是同构的,当用户作业请求申请机器集群中的某一类的机器资源时,由于资源调度器(Resource Manager)无法区分机器集群中的机器,因此无法针对机器集群中的某一类的机器向用户作业分配资源,导致用户作业执行失败,功能较为单一;由此可知,一旦机器集群中存在异构机器,即使只有几十台很少的异构机器,也必须另外组建一个独立的机器集群;以此类推,如果有多类异构的机器,则需要相应的组建多个独立的机器集群,不仅用户作业在提交资源申请的时候会需要手动选择集群,而且多个集群的管理也是问题,存在一定的缺陷。
发明内容
本申请提供一种分布式系统中资源的调度方法,以解决现有技术的存在的功能单一和存在缺陷的问题。
本申请同时涉及一种分布式系统中资源的调度装置、另一种分布式系统中资源的调度方法以及装置。
本申请提供一种分布式系统中资源的调度方法,包括:
接收作业方申请资源的申请请求,所述申请请求中包含申请所述资源的相应资源标识;
提取所述申请请求中包含的所述资源标识;
分析提取出的所述资源标识,并与预先建立的资源标识-标识序列映射关系进行比对,获得所述申请请求对应的待筛选标识序列;
利用筛选算法,从所述待筛选标识序列中筛选出与分析后的所述资源标识匹配的标识序列;
将筛选出的所述标识序列与预先建立的标识序列-资源映射关系进行比对,确定所述申请请求对应的资源;
将所述申请请求对应的资源分配给所述作业方。
可选的,所述资源,包括:
机器集群中的机器资源。
可选的,所述资源标识,包括:
所述机器的标识字段、所述标识字段的运算符和所述标识字段对应的标识值。
可选的,所述机器的标识字段,包括:
操作系统、操作系统内核版本、磁盘类型和/或磁盘数量。
可选的,所述资源标识-标识序列映射关系,包括:
所述标识字段对应的各个标识值、与包含所述标识值的各个标识序列之间的对应关系。
可选的,所述标识序列,包括:
所述标识字段对应的各个标识值按照预设组合顺序的组合。
可选的,所述分析提取出的所述资源标识,采用下述方式:
按照所述标识字段拆分所述资源标识中包含的各个标识字段、运算符和对应的标识值;
分析得出满足拆分后各个标识字段、运算符和对应的标识值组合的所述标识字段对应的标识值。
可选的,所述并与预先建立的资源标识-标识序列映射关系进行比对,获得所述申请请求对应的待筛选标识序列,采用下述方式:
根据分析获得的各个所述标识字段对应的标识值,在所述资源标识-标识序列映射关系中分别查找包含各个所述标识字段对应的标识值的标识序列的集合,作为所述标识字段各自的待筛选标识序列;
所述申请请求对应的待筛选标识序列,由所述标识字段各自的待筛选标识序列组成。
可选的,所述筛选算法,包括:
针对所述标识字段各自的待筛选标识序列中的标识序列去重,并按照从小到大的排序顺序进行排序;
分别读取排序之后所述标识字段各自的待筛选标识序列中最小的标识序列,组成最小堆;
利用pop指令推出所述最小堆的根节点的标识序列,并将该标识序列的出现次数加1;
按顺序读取推出的该标识序列所属待筛选标识序列中的下一位标识序列,并将读取的标识序列利用push指令压入所述最小堆;
重复所述利用pop指令推出所述最小堆的根节点的标识序列,并将该标识序列的出现次数加1步骤,和所述按顺序读取推出的该标识序列所属待筛选标识序列中的下一位标识序列,并将读取的标识序列利用push指令压入所述最小堆步骤,直至至少一个所述标识字段各自的待筛选标识序列中的标识序列读取完毕。
可选的,所述与分析后的所述资源标识匹配的标识序列,包括:
所述出现次数与所述资源标识中标识字段的数目相等的标识序列。
可选的,所述标识序列-资源映射关系,包括:
所述标识序列与所述机器集群中机器之间的对应关系。
可选的,所述将筛选出的所述标识序列与预先建立的标识序列-资源映射关系进行比对,确定所述申请请求对应的资源,采用下述方式:
在所述标识序列-资源映射关系中查找、与分析后的所述资源标识匹配的标识序列对应的机器,作为所述申请请求对应的机器。
可选的,所述资源标识中还包括:优先分配标识;
其中,所述优先分配标识包括:高优先分配标识和低优先分配标识。
可选的,若所述资源标识字段中包含所述高优先分配标识,相应的,所述将筛选出的所述标识序列与预先建立的标识序列-资源映射关系进行比对,确定所述申请请求对应的资源步骤执行之后,且所述将所述申请请求对应的资源分配给所述作业方步骤执行之前,执行下述步骤:
判断所述申请请求对应机器上的资源是否能够满足所述作业方申请的所述资源;
若是,执行所述将所述申请请求对应的资源分配给所述作业方步骤;
若否,将所述申请请求插入该申请请求对应机器的任务队列中,并返回所述判断所述申请请求对应机器上的资源是否能够满足所述作业方申请的所述资源步骤。
可选的,若所述资源标识字段中包括所述低优先分配标识,相应的,所述将筛选出的所述标识序列与预先建立的标识序列-资源映射关系进行比对,确定所述申请请求对应的资源步骤执行之后,且所述将所述申请请求对应的资源分配给所述作业方步骤执行之前,执行下述步骤:
判断所述申请请求对应机器上的资源是否能够满足所述作业方申请的所述资源;
若是,执行所述将所述申请请求对应的资源分配给所述作业方步骤;
若否,将所述机器集群中、所述申请请求对应机器之外的其他机器上的资源分配给所述作业方。
可选的,所述操作系统对应的标识值包括:
Windows和Linux。
可选的,所述磁盘类型对应的标识值包括:
SATA和SSD。
可选的,所述运算符,包括:
等于、大于、小于、不等于、大于等于和小于等于。
本申请还提供一种分布式系统中资源的调度装置,包括:
申请请求接收单元,用于接收作业方申请资源的申请请求,所述申请请求中包含申请所述资源的相应资源标识;
资源标识提取单元,用于提取所述申请请求中包含的所述资源标识;
待筛选标识序列获取单元,用于分析提取出的所述资源标识,并与预先建立的资源标识-标识序列映射关系进行比对,获得所述申请请求对应的待筛选标识序列;
标识序列获取单元,用于利用筛选算法,从所述待筛选标识序列中筛选出与分析后的所述资源标识匹配的标识序列;
资源获取单元,用于将筛选出的所述标识序列与预先建立的标识序列-资源映射关系进行比对,确定所述申请请求对应的资源;
资源分配单元,用于将所述申请请求对应的资源分配给所述作业方。
可选的,所述资源,包括:
机器集群中的机器资源。
可选的,所述资源标识,包括:
所述机器的标识字段、所述标识字段的运算符和所述标识字段对应的标识值。
可选的,所述待筛选标识序列获取单元,包括下述子单元:
拆分子单元,用于按照所述标识字段拆分所述资源标识中包含的各个标识字段、运算符和对应的标识值;
标识值获取子单元,用于分析得出满足拆分后各个标识字段、运算符和对应的标识值组合的所述标识字段对应的标识值。
可选的,所述资源标识中还包括:优先分配标识;
其中,所述优先分配标识包括:高优先分配标识和低优先分配标识。
可选的,所述分布式系统中资源的调度装置,包括:
第一判断单元,用于判断所述申请请求对应机器上的资源是否能够满足所述作业方申请的所述资源;
若是,进入所述资源分配单元;
若否,进入排队等待子单元和所述第一判断单元;
所述排队等待子单元,用于将所述申请请求插入该申请请求对应机器的任务队列中。
可选的,所述分布式系统中资源的调度装置,包括:
第二判断单元,用于判断所述申请请求对应机器上的资源是否能够满足所述作业方申请的所述资源;
若是,进入所述资源分配单元;
若否,进入优先分配子单元;
所述优先分配子单元,用于将所述机器集群中、所述申请请求对应机器之外的其他机器上的资源分配给所述作业方。
本申请另外提供一种分布式系统中资源的调度方法,包括:
向资源调度方发送申请资源的申请请求,所述申请请求中包含申请所述资源的相应资源标识;
获取所述资源调度方筛选获得与所述申请请求匹配的资源;
根据获取的所述资源,将作业节点分配到所述资源的资源节点执行作业程序。
可选的,所述资源,包括:
机器集群中的机器资源。
可选的,所述资源标识,包括:
所述机器的标识字段、所述标识字段的运算符和所述标识字段对应的标识值。
本申请另外提供一种分布式系统中资源的调度装置,包括:
申请请求发送单元,用于向资源调度方发送申请资源的申请请求,所述申请请求中包含申请所述资源的相应资源标识;
资源获取单元,用于获取所述资源调度方筛选获得的与所述申请请求匹配的资源;
作业节点分配单元,用于根据获取的所述资源,将作业节点分配到所述资源的资源节点执行作业程序。
与现有技术相比,本申请具有以下优点:
本申请提供的分布式系统中资源的调度方法,包括:接收作业方申请资源的申请请求,所述申请请求中包含申请所述资源的相应资源标识;提取所述申请请求中包含的所述资源标识;分析提取出的所述资源标识,并与预先建立的资源标识-标识序列映射关系进行比对,获得所述申请请求对应的待筛选标识序列;利用筛选算法,从所述待筛选标识序列中筛选出与分析后的所述资源标识匹配的标识序列;将筛选出的所述标识序列与预先建立的标识序列-资源映射关系进行比对,确定所述申请请求对应的资源;将所述申请请求对应的资源分配给所述作业方。
所述分布式系统中资源的调度方法,从接收的所述作业方发送的申请请求中提取其中包含的资源标识,通过对提取的所述资源标识进行分析,并与预先建立的资源标识-标识序列映射关系进行比对,获得所述申请请求对应的待筛选标识序列,通过筛选算法,从所述待筛选标识序列中筛选出与所述申请请求中包含的所述资源标识匹配的标识序列,通过与预先建立的标识序列-资源映射关系进行比对,获得与所述申请请求申请的资源相一致的资源,分配给所述作业方,基于该方法进行资源调度时,按照所述申请请求中包含的资源标识分配相应的资源,使分配的资源满足所述作业方申请的资源,资源调度的灵活性更强。
附图说明
附图1是本申请提供的一种分布式系统中资源的调度方法实施例的处理流程图;
附图2是本申请提供的一种最小堆的示意图;
附图3是本申请提供的另一种最小堆的示意图;
附图4是本申请提供的一种分布式系统中资源的调度装置实施例的示意图;
附图5是本申请提供的另一种分布式系统中资源的调度方法实施例的处理流程图;
附图6是本申请提供的另一种分布式系统中资源的调度装置实施例的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请提供一种分布式系统中资源的调度方法,本申请还提供一种分布式系统中资源的调度装置、另一种分布式系统中资源的调度方法以及装置。以下分别结合本申请提供的实施例的附图逐一进行详细说明,并且对方法的各个步骤进行说明。
本申请提供的一种分布式系统中资源的调度方法实施例如下:
参照附图1至附图3,附图1示出了本申请提供的一种分布式系统中资源的调度方法实施例的处理流程图,附图2是本申请提供的一种最小堆的示意图,附图3是本申请提供的另一种最小堆的示意图。此外,所述分布式系统中资源的调度方法实施例的各个步骤之间的关系,请根据附图1确定。
步骤S101,接收作业方申请资源的申请请求。
本申请实施例提供的分布式系统,包括资源调度方、作业方和资源节点。所述资源调度方,包括分布式系统中协调和分配资源的角色,例如,分布式系统中的资源调度器(Resource Manager)。所述作业方,包括分布式系统中用于申请作业资源和执行作业的角色,例如,分布式系统中的作业管理器(Job Master),以及作业管理器(Job Master)下属的作业节点(Job Worker)。所述资源节点,包括分布式系统中管理作业执行的角色,例如,分布式系统中的机器节点(Machine Node)。
在分布式系统中,通常存在海量的资源,例如,分布式系统的机器集群中成千上万的机器,对于如此多的机器,这些机器之间很可能存在某些差异,即这些机器是异构的,比如机器的操作系统、内核或者磁盘类型存在差异,现有的资源调度方法认为机器集群中所有的机器都是同构的,无法区分机器集群中存在差异的机器。在这种情况下,基于分布式系统中的资源调度方,采用本申请提供的分布式系统中资源的调度方法,针对分布式系统中的资源设置相应的资源标识,资源调度方通过资源标识区分不同种类的资源,从而针对申请不同种类资源的申请请求,调度与不同种类资源的申请请求相匹配的资源。
本申请实施例所述的作业方,包括分布式系统中用于申请作业资源和执行作业的角色,例如,分布式系统中的作业管理器(Job Master)和作业节点(Job Worker)。
所述资源,包括分布式系统中可以使用的对象,以及向用户提供服务的对象,例如,分布式系统的机器集群中的机器资源。
所述申请请求,是指所述作业方在收到用户提交的作业之后,向所述资源调度方申请资源时发出的消息请求,例如,分布式系统中的作业管理器(Job Master)向资源调度器(Resource Manager)申请机器时发出的申请请求。所述消息请求中包含申请所述资源的相应资源标识。
所述资源标识,用于标识分布式系统中不同种类的资源,每一种资源标识有各自对应的资源标识,通过所述资源标识可区分不同种类的资源。对于所述资源调度方来说,所有资源标识相同的资源,都认为是同一类资源,是同构的。
本申请实施例所述的资源标识,包括:分布式系统机器集群中用于标识所述机器的标识字段,以及所述标识字段的运算符和所述标识字段对应的标识值。
所述机器的标识字段,包括:操作系统、操作系统内核版本、磁盘类型和/或磁盘数量。
例如,机器A的操作系统是Windows,操作系统内核版本是1.9,磁盘类型是SATA,磁盘数量为8,机器A的操作系统标识字段对应的标识值为Windows,机器A的操作系统内核版本标识字段对应的标识值为1.9,机器A的磁盘类型标识字段对应的标识值为SATA,机器A的磁盘数量标识字段对应的标识值为8。
对于所述标识字段,每一个标识字段可以对应一个或者多个标识值,例如,所述操作系统对应的标识值有两个:Windows和Linux,所述操作系统内核版本对应的标识值有三个:1.9、2.0和2.1,所述磁盘类型对应的标识值有两个:SATA和SSD,所述磁盘数量对应的标识值有三个:8、9和10。
需要说明的是,对于所述机器集群中的任意一台机器,该机器的每一个标识字段,只能对应一个标识值,例如,该机器的操作系统可以是Windows,也可以是Linux,但不能即是Windows,又是Linux;或者,该机器的磁盘类型可以是SATA,也可以是SSD,但不能即是SATA,又是SSD。
所述运算符,包括:等于、大于、小于、不等于、大于等于和小于等于。
本实施例中,所述作业方向所述资源调度方申请资源时,以所述资源标识组合的方式向所述资源调度方申请资源,即:以所述标识字段、所述标识字段的运算符和所述标识字段对应的标识值组合的方式,向所述资源调度方申请资源。相应的,所述申请请求中,包含所述标识字段、所述标识字段的运算符和所述标识字段对应的标识值的组合。例如,所述作业管理器(Job Master)向所述资源调度器(Resource Manager)发送的申请请求中,包含的资源标识为:“操作系统为Windows、操作系统内核版本大于等于1.9和磁盘类型不等于SSD”,则通过该申请请求申请的机器具有如下特征:操作系统为Windows、操作系统内核版本大于等于1.9且磁盘类型不等于SSD。
具体实施时,在所述资源调度方接收所述作业方申请资源的申请请求之前,所述作业方已经接收到用户提交的作业,所述申请请求,正是指所述作业方针对用户提交的作业向所述资源调度方提交的申请请求。本实施例中,接收所述作业方申请资源的申请请求,具体是指接收所述作业方的作业管理器(Job Master)发送的申请请求,接收到所述申请请求之后,执行下述步骤S102,提取所述申请请求中包含的所述资源标识。
步骤S102,提取所述申请请求中包含的所述资源标识。
如上所述,上述步骤S101接收所述作业方申请资源的申请请求,本步骤中,提取所述申请请求中包含的所述资源标识。如上所述,所述申请请求中包含所述标识字段、所述标识字段的运算符和所述标识字段对应的标识值的组合,相应的,本步骤中,提取所述申请中包含的所述标识字段、所述标识字段的运算符和所述标识字段对应的标识值的组合。例如,提取所述申请请求中包含的“操作系统为Windows、操作系统内核版本大于等于1.9和磁盘类型不等于SSD”的资源标识组合。
步骤S103,分析提取出的所述资源标识,并与预先建立的资源标识-标识序列映射关系进行比对,获得所述申请请求对应的待筛选标识序列。
所述资源标识-标识序列映射关系,包括:所述标识字段对应的各个标识值、与包含所述标识值的各个标识序列之间的对应关系。
所述标识序列,包括:所述标识字段对应的各个标识值按照预设组合顺序的组合。
例如,机器A的操作系统为Windows,操作系统内核版本为1.9,磁盘类型为SSD,则机器A的操作系统标识字段对应的标识值Windows、操作系统内核版本标识字段对应的标识值1.9以及磁盘类型标识字段对应的标识值SSD,按照“操作系统标识字段-操作系统内核版本标识字段-磁盘类型标识字段”的组合顺序组合为“Windows-1.9-SSD”。
本实施例中,针对所述标识字段对应的各个标识值,分别设置对应的简码,(为叙述方便,下文采用简码来表述所述标识字段对应的标识值,与所述所述标识字段对应的标识值具有相同含义),所述标识字段对应的标识值与简码的对应关系如下表:
与之相类似的,下文所述标识序列采用简码的组合来表述,与所述标识序列采用所述标识字段的标识值的组合具有相同含义,例如,上述机器A的标识字段对应的标识值的组合为“Windows-1.9-SSD”,则根据上表,该机器的简码序列为“A1B1C2”,即该机器的标识序列为“A1B1C2”。
需要说明的是,由于所述资源标识-标识序列映射关系是根据分布式系统的机器集群中机器的标识序列建立的,因此,所述资源标识-标识序列映射关系中的标识序列,是根据机器集群中机器的种类确定的,并不限于上表,例如,所述机器集群中机器的种类较多时,有很大可能包含所述标识字段中、每一个标识字段分别对应的每一个标识值的简码的所有组合。
本申请实施例所述资源标识-标识序列映射关系,是指所述机器的标识字段、与包含所述标识字段的机器集群中机器的标识序列的对应关系,例如,所述标识字段与所述标识序列的对应关系如下表:
如上所述,所述资源标识-标识序列映射关系中的标识序列,是根据机器集群中的机器确定的,因此,所述标识字段与所述标识序列的对应关系,并不限于上表,根据所述标识字段与所述标识序列的对应关系,根据机器集群中的机器确定。
本步骤中,首先分析上述步骤S102提取的所述申请请求中包含所述作业方向所述资源调度方申请资源的所述资源标识的组合,即所述申请请求中包含的所述标识字段、所述标识字段的运算符和所述标识字段对应的标识值的组合,具体实现如下:
按照所述标识字段拆分所述资源标识中包含的各个标识字段、运算符和对应的标识值;
分析得出满足拆分后各个标识字段、运算符和对应的标识值组合的所述标识字段对应的标识值。
例如,所述申请请求中包含的资源标识组合为:“Windows-大于等于1.9-不等于SSD”,按照标识字段依次拆分为:
操作系统标识字段对应的标识值为“Windows”;
操作系统内核版本对应的标识值为“1.9”,运算符为“大于等于”;
磁盘类型对应的标识值为“SSD”,运算符为“不等于”;
通过分析之后,得出满足操作系统标识字段对应的标识值为“Windows”,满足操作系统内核版本对应的标识值为“1.9、2.0和2.1”,满足磁盘类型对应的标识值为“SATA”。
在上述分析的基础上,根据分析获得的各个所述标识字段对应的标识值,在所述资源标识-标识序列映射关系中分别查找包含各个所述标识字段对应的标识值的标识序列的集合,作为所述标识字段各自的待筛选标识序列;
所述申请请求对应的待筛选标识序列,由所述标识字段各自的待筛选标识序列组成。
例如,上述分析获得的满足操作系统标识字段对应的标识值为“Windows”,满足操作系统内核版本对应的标识值为“1.9、2.0和2.1”,满足磁盘类型对应的标识值为“SATA”;
结合所述标识字段与所述标识序列的对应关系表,查找到包含标识值“Windows”的标识序列的集合为:“A1B1C1、A1B1C2、A1B2C2”,则所述操作系统标识字段对应的待筛选标识序列为“A1B1C1、A1B1C2、A1B2C2”;
查找到包含标识值“1.9、2.0或者2.1”的标识序列的集合为:“A1B1C1、A1B1C2、A2B1C1、A1B2C2、A2B2C2”,则所述操作系统内核版本标识字段对应的待筛选标识序列为“A1B1C1、A1B1C2、A2B1C1、A1B2C2、A2B2C2”;
查找到包含标识值“SATA”的标识序列的集合为:“A1B1C1、A2B1C1”,则所述磁盘类型标识字段对应的待筛选标识序列为“A1B1C1、A2B1C1”。
所述申请请求对应的待筛选标识序列为:“A1B1C1、A1B1C2、A1B2C2、A1B1C1、A1B1C2、A2B1C1、A1B2C2、A2B2C2、A1B1C1、A2B1C1”。
步骤S104,利用筛选算法,从所述待筛选标识序列中筛选出与分析后的所述资源标识匹配的标识序列。
本申请实施例所述筛选算法具体实现如下:
1)针对所述标识字段各自的待筛选标识序列中的标识序列去重,并按照从小到大的排序顺序进行排序;
例如,上述三个待筛选标识序列中,所述标识字段对应的标识值按照“A1<A2<B1<B2<B3<C1<C2”的规则确定大小关系,并且根据所述规则确定的标识序列的大小关系,按照从小到大的排序顺序对所述待筛选标识序列进行排序,所述操作系统标识字段对应的待筛选标识序列,按照从小到大的排序顺序排序之后为“A1B1C1、A1B1C2、A1B2C1”;
所述操作系统内核版本标识字段对应的待筛选标识序列,按照从小到大的排序顺序排序之后为“A1B1C1、A1B1C2、A1B2C2、A2B1C1、A2B2C2”;
所述磁盘类型标识字段对应的待筛选标识序列,按照从小到大的排序顺序排序之后为“A1B1C1、A2B1C1”。
2)分别读取排序之后所述标识字段各自的待筛选标识序列中最小的标识序列,组成最小堆;
例如,读取所述操作系统标识字段对应的待筛选标识序列“A1B1C1、A1B1C2、A1B2C1”中位于首位的标识序列“A1B1C1”,读取所述操作系统内核版本标识字段对应的待筛选标识序列“A1B1C1、A1B1C2、A1B2C2、A2B1C1、A2B2C2”中位于首位的标识序列“A1B1C1”,读取所述磁盘类型标识字段对应的待筛选标识序列“A1B1C1、A2B1C1”中位于首位的标识序列“A1B1C1”,即分别读取各个所述标识字段的待筛选标识序列中最小的标识序列,组成的最小堆如附图2所示。
3)利用pop指令推出所述最小堆的根节点的标识序列,并将该标识序列的出现次数加1;
例如,所述标识序列的出现次数预设为0,利用pop指令推出所述最小堆中的根节点的标识序列“A1B1C1”,该标识序列的出现次数加1之后变为1,如附图3所示。
需要说明的是,推出的标识序列“A1B1C1”所属待筛选标识序列为所述操作系统标识字段对应的待筛选标识序列。
4)按顺序读取推出的该标识序列所属待筛选标识序列中的下一位标识序列,并将读取的标识序列利用push指令压入所述最小堆;
例如,上述推出的标识序列“A1B1C1”所属待筛选标识序列为所述操作系统标识字段对应的待筛选标识序列,该待筛选标识序列中,已读取的标识序列为“A1B1C1”,从未读取的标识序列“A1B1C20、A1B2C2”中依次读取标识序列,即读取最小的标识序列“A1B1C2”,并将标识序列“A1B1C2”利用push指令压入所述最小堆;
附图2所示的最小堆中,由于左侧子节点的标识序列“A1B1C1”小于利用push指令压入的标识序列“A1B1C2”,因此,标识序列“A1B1C1”被置于最小堆的堆顶(即根节点),标识序列“A1B1C20”被置于最小堆左侧的子节点,如附图3中的第一个最小堆所示。
5)重复上述步骤3)和步骤4),直至至少一个所述标识字段各自的待筛选标识序列中的标识序列读取完毕。
本申请实施例中,当任意一个标识字段的待筛选标识序列中的标识序列读取完毕之后,结束执行上述步骤3)和步骤4)的循环,因为剩余未读取的待筛选标识序列中的标识序列的出现次数必然小于所述标识字段的个数。
例如:
A、在上述步骤3)和上述步骤4)的基础上,继续执行上述步骤3)和步骤4)的第一个循环具体实现如下:
如附图3中的第一个最小堆中,利用pop指令推出所述最小堆中的根节点的标识序列“A1B1C1”,标识序列“A1B1C1”的出现次数加1后变为2;
推出的标识序列“A1B1C1”所属待筛选标识序列为所述操作系统内核版本标识字段对应的待筛选标识序列,依次读取所述操作系统内核版本标识字段对应的待筛选标识序列中的标识序列“A1B1C20”,并利用push指令压入所述最小堆;
如附图3中的第一个最小堆中,由于右侧子节点的标识序列“A1B1C1”小于利用push指令压入的标识序列“A1B1C2”,因此,标识序列“A1B1C1”被置于最小堆的堆顶(即根节点),标识序列“A1B1C2”被置于最小堆右侧的子节点,如附图3中的第二个最小堆所示。
B、在执行上述步骤3)和步骤4)的第一个循环的基础上,执行上述步骤3)和步骤4)的第二个循环具体实现如下:
如附图3中的第二个最小堆所示,利用pop指令推出所述最小堆中的根节点的标识序列“A1B1C1”,标识序列“A1B1C1”的出现次数加1后变为3;
推出的标识序列“A1B1C1”所属待筛选标识序列为所述磁盘类型标识字段对应的待筛选标识序列,读取所述磁盘类型标识字段对应的待筛选标识序列中的标识序列“A2B1C1”,并利用push指令压入所述最小堆;
如附图3中的第二个最小堆中,由于位于最小堆左侧子节点的标识序列“A1B1C2”小于利用push指令压入的标识序列“A2B1C1”,因此,标识序列“A1B1C2”被置于最小堆的堆顶(即根节点),标识序列“A2B1C1”被置于最小堆左侧的子节点,如附图3中的第三个最小堆所示。
同时,由于所述磁盘类型标识字段对应的待筛选标识序列中的所有标识序列均被读取,满足上述结束执行上述步骤3)和步骤4)的循环的条件,因此结束执行上述步骤3)和步骤4)的循环。
除此之外,还可以设置其他结束执行上述步骤3)和步骤4)的循环的条件,比如在所有的标识字段的待筛选标识序列中的标识序列读取完毕之后,结束执行上述步骤3)和步骤4)的循环,在此不做限定。
本申请实施例中,所述与分析后的所述资源标识匹配的标识序列,是指出现次数与所述资源标识中标识字段的数目相等的标识序列。
如上所述,在所述筛选算法中,所述标识字段的待筛选标识序列经过去重排序,因此,出现次数与所述资源标识中标识字段的数目相等,意味着在所述资源标识中的每一个标识字段的待筛选标识序列中都存在,只有满足这个条件的标识序列对应的机器,才符合所述申请请求申请的机器。
例如,上述筛选算法中,标识序列“A1B1C1”的出现次数为3,所述资源标识中标识字段的数目也为3,二者相等,因此,标识序列“A1B1C1”可以作为与分析后的所述资源标识匹配的标识序列。
如上所述,所述申请请求中包含的资源标识组合为“Windows-大于等于1.9-不等于SSD”,满足操作系统标识字段对应的标识值为“Windows”,满足操作系统内核版本对应的标识值为“1.9、2.0和2.1”,满足磁盘类型对应的标识值为“SATA”;上述筛选算法筛选出的所述标识序列“A1B1C1”,对应的操作系统标识字段的标识值是“Windows”,对应的操作系统内核版本标识字段的标识值是“1.9”,对应的磁盘类型标识字段的标识值是“SATA”,因此,上述筛选算法筛选出的所述标识序列“A1B1C1”是满足所述申请请求的,并且与分析后的所述资源标识匹配。
步骤S105,将筛选出的所述标识序列与预先建立的标识序列-资源映射关系进行比对,确定所述申请请求对应的资源。
上述步骤S104中,利用所述筛选算法筛选出与分析后的所述资源标识匹配的标识序列,本步骤中,根据所述预先建立的标识序列-资源映射关系,确定上述筛选出的所述标识序列对应的所述机器集群中的机器。
所述标识序列-资源映射关系,包括:所述标识序列与所述机器集群中机器的对应关系。
本申请实施例中,所述标识序列与所述机器集群中机器的对应关系如下表:
标识序列 | 机器 |
A<sub>1</sub>B<sub>1</sub>C<sub>1</sub> | 机器1、机器2 |
A<sub>1</sub>B<sub>1</sub>C<sub>2</sub> | 机器3、机器4 |
A<sub>1</sub>B<sub>2</sub>C<sub>1</sub> | 机器5、机器6 |
A<sub>1</sub>B<sub>2</sub>C<sub>1</sub> | 机器7、机器8 |
A<sub>2</sub>B<sub>2</sub>C<sub>2</sub> | 机器9、机器10 |
根据上表,确定筛选出的所述标识序列对应的机器,作为分配给所述作业方的机器。例如,上述筛选出的标识序列“A1B1C1”对应的所述机器集群中的机器1和机器2,作为分配给所述作业方的机器。
在具体实施时,所述资源标识中除了包含分布式系统机器集群中用于标识所述机器的标识字段、所述标识字段的运算符和所述标识字段对应的标识值之外,所述资源标识中还包括优先分配标识。
所述优先分配标识,用于区分针对所述资源标识分配资源时的优先级,本实施例中,所述优先分配标识包括:高优先分配标识和低优先分配标识。
步骤S106,将所述申请请求对应的资源分配给所述作业方。
上述步骤S105确定所述申请请求对应的所述机器集群中的机器,本步骤中,在所述申请请求对应的所述机器集群中的机器上,给所述作业方分配资源。
此外,在具体实施时,对于一些用户作业而言,必须在满足一定条件的机器上执行,表明这些用户作业对机器配置是有要求的,同时也表明这些用户作业对所述申请请求的态度是强制性的,如果上述满足一定条件的机器上没有可用的资源,这些用户作业宁可排队等待,即将这些用户作业的申请请求插入满足一定条件的机器的任务队列中,等待上述满足一定条件的机器空闲时执行,这些用户作业在满足一定条件的机器上执行时,遇到的系统问题会比较少,从而降低了分布式系统出现故障的概率。
本实施例中,若检测到所述资源标识字段中包含所述高优先分配标识,则上述步骤S105执行之后,本步骤执行之前,则执行下述步骤:
判断所述申请请求对应机器上的资源是否能够满足所述作业方申请的所述资源;
若是,则执行本步骤,将所述申请请求对应的资源分配给所述作业方即可;
若否,将所述申请请求插入该申请请求对应机器的任务队列中,并返回所述判断所述申请请求对应机器上的资源是否能够满足所述作业方申请的所述资源步骤。
与上述对机器配置有强制要求的用户作业向对应,还有一些用户作业,这些用户要求尽量在满足一定条件的机器上执行,在满足一定条件的机器上执行时,用户作业会执行的更快,遇到的系统问题会比较少;但是,当满足一定条件的机器上没有资源分配给这些用户作业时,这些用户作业也可以在不能满足一定条件的机器上执行,希望所述资源调度器(Resource Manager)能够为这些用户作业分配不满足一定条件的机器资源,能够降低这些用户排队等待的概率,提升分布式系统的性能。
本实施例中,若检测到所述资源标识字段中包含所述低优先分配标识,则上述步骤S105执行之后,本步骤执行之前,则执行下述步骤:
判断所述申请请求对应机器上的资源是否能够满足所述作业方申请的所述资源;
若是,则执行本步骤,将所述申请请求对应的资源分配给所述作业方即可;
若否,将所述机器集群中、所述申请请求对应机器之外的其他机器上的资源分配给所述作业方。
综上所述,所述分布式系统中资源的调度方法,从接收的所述作业方发送的申请请求中提取其中包含的资源标识,通过对提取的所述资源标识进行分析,并与预先建立的资源标识-标识序列映射关系进行比对,获得所述申请请求对应的待筛选标识序列,通过筛选算法,从所述待筛选标识序列中筛选出与所述申请请求中包含的所述资源标识匹配的标识序列,通过与预先建立的标识序列-资源映射关系进行比对,获得与所述申请请求申请的资源相一致的资源,分配给所述作业方,基于该方法进行资源调度时,按照所述申请请求中包含的资源标识分配相应的资源,使分配的资源满足所述作业方申请的资源,资源调度的灵活性更强。
此外,所述分布式系统中资源的调度方法,所述资源调度器(Resource Manager)能够识别分布式系统的机器集群中机器的标识字段,并且可通过所述标识字段对所述机器集群中的机器进行维护管理,提升了分布式系统的安全性;同时,基于该方法进行资源调度时,所述资源调度器(Resource Manager)可支持所述作业方以所述资源标识中包含的所述标识字段、所述标识字段的运算符和所述标识字段对应的标识值组合的方式发送申请资源的所述申请请求,还能根据所述标识字段的运算符进行分析运算,功能更加多样化。此外,所述资源标识中包含的优先分配标识,通过高优先分配标识和低优先分配标识区分不同等级的用户作业,降低了分布式系统出现故障的概率,提升分布式系统的性能。
本申请提供的一种分布式系统中资源的调度装置实施例如下:
在上述的实施例中,提供了一种分布式系统中资源的调度方法,与之相对应的,本申请还提供了一种分布式系统中资源的调度装置,下面结合附图进行说明。
参照附图4,其示出了本申请提供的一种分布式系统中资源的调度装置实施例的示意图。
由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本申请提供一种分布式系统中资源的调度装置,包括:
申请请求接收单元401,用于接收作业方申请资源的申请请求,所述申请请求中包含申请所述资源的相应资源标识;
资源标识提取单元402,用于提取所述申请请求中包含的所述资源标识;
待筛选标识序列获取单元403,用于分析提取出的所述资源标识,并与预先建立的资源标识-标识序列映射关系进行比对,获得所述申请请求对应的待筛选标识序列;
标识序列获取单元404,用于利用筛选算法,从所述待筛选标识序列中筛选出与分析后的所述资源标识匹配的标识序列;
资源获取单元405,用于将筛选出的所述标识序列与预先建立的标识序列-资源映射关系进行比对,确定所述申请请求对应的资源;
资源分配单元406,用于将所述申请请求对应的资源分配给所述作业方。
可选的,所述资源,包括:
机器集群中的机器资源。
可选的,所述资源标识,包括:
所述机器的标识字段、所述标识字段的运算符和所述标识字段对应的标识值。
可选的,所述机器的标识字段,包括:
操作系统、操作系统内核版本、磁盘类型和/或磁盘数量。
可选的,所述资源标识-标识序列映射关系,包括:
所述标识字段对应的各个标识值、与包含所述标识值的各个标识序列之间的对应关系。
可选的,所述标识序列,包括:
所述标识字段对应的各个标识值按照预设组合顺序的组合。
可选的,所述待筛选标识序列获取单元403,包括下述子单元:
拆分子单元,用于按照所述标识字段拆分所述资源标识中包含的各个标识字段、运算符和对应的标识值;
标识值获取子单元,用于分析得出满足拆分后各个标识字段、运算符和对应的标识值组合的所述标识字段对应的标识值。
可选的,所述待筛选标识序列获取单元403,还包括下述子单元:
待筛选标识序列获取子单元,用于根据分析获得的各个所述标识字段对应的标识值,在所述资源标识-标识序列映射关系中分别查找包含各个所述标识字段对应的标识值的标识序列的集合,作为所述标识字段各自的待筛选标识序列;
所述申请请求对应的待筛选标识序列,由所述标识字段各自的待筛选标识序列组成。
可选的,所述筛选算法,包括:
排序子单元,用于针对所述标识字段各自的待筛选标识序列中的标识序列去重,并按照从小到大的排序顺序进行排序;
最小堆形成子单元,用于分别读取排序之后所述标识字段各自的待筛选标识序列中最小的标识序列,组成最小堆;
标识序列推出子单元,用于利用pop指令推出所述最小堆的根节点的标识序列,并将该标识序列的出现次数加1;
标识序列压入子单元,用于按顺序读取推出的该标识序列所属待筛选标识序列中的下一位标识序列,并将读取的标识序列利用push指令压入所述最小堆;
循环执行子单元,用于执行所述标识序列推出子单元和所述标识序列压入子单元,直至至少一个所述标识字段各自的待筛选标识序列中的标识序列读取完毕。
可选的,所述与分析后的所述资源标识匹配的标识序列,包括:
所述出现次数与所述资源标识中标识字段的数目相等的标识序列。
可选的,所述标识序列-资源映射关系,包括:
所述标识序列与所述机器集群中机器之间的对应关系。
可选的,所述资源获取单元405,包括:
机器查找子单元,用于在所述标识序列-资源映射关系中查找、与分析后的所述资源标识匹配的标识序列对应的机器,作为所述申请请求对应的机器。
可选的,所述资源标识中还包括:优先分配标识;
其中,所述优先分配标识包括:高优先分配标识和低优先分配标识。
可选的,所述分布式系统中资源的调度装置,包括:
第一判断单元,用于判断所述申请请求对应机器上的资源是否能够满足所述作业方申请的所述资源;
若是,进入所述资源分配单元;
若否,进入排队等待子单元和所述第一判断单元;
所述排队等待子单元,用于将所述申请请求插入该申请请求对应机器的任务队列中。
可选的,所述分布式系统中资源的调度装置,包括:
第二判断单元,用于判断所述申请请求对应机器上的资源是否能够满足所述作业方申请的所述资源;
若是,进入所述资源分配单元;
若否,进入优先分配子单元;
所述优先分配子单元,用于将所述机器集群中、所述申请请求对应机器之外的其他机器上的资源分配给所述作业方。
可选的,所述操作系统对应的标识值包括:
Windows和Linux。
可选的,所述磁盘类型对应的标识值包括:
SATA和SSD。
可选的,所述运算符,包括:
等于、大于、小于、不等于、大于等于和小于等于。
本申请提供的另一种分布式系统中资源的调度方法实施例如下:
在上述的实施例中,提供了一种分布式系统中资源的调度方法,基于分布式系统中的资源调度方实现,与之相对应的,本申请还提供另一种分布式系统中资源的调度方法,基于分布式系统中的作业方实现,下面结合附图进行说明。
参照附图5,其示出了本申请提供的另一种分布式系统中资源的调度方法处理流程图。
由于本实施例与上述分布式系统中资源的调度方法实施例相对应,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。下述描述的实施例仅仅是示意性的。
本申请提供一种分布式系统中资源的调度方法,包括:
步骤S501,向资源调度方发送申请资源的申请请求,所述申请请求中包含申请所述资源的相应资源标识;
步骤S502,获取所述资源调度方筛选获得的与所述申请请求匹配的资源;
步骤S503,根据获取的所述资源,将作业节点分配到所述资源的资源节点执行作业程序。
可选的,所述资源,包括:
机器集群中的机器资源。
可选的,所述资源标识,包括:
所述机器的标识字段、所述标识字段的运算符和所述标识字段对应的标识值。
可选的,所述机器的标识字段,包括:
操作系统、操作系统内核版本、磁盘类型和/或磁盘数量。
可选的,所述资源标识中还包括:优先分配标识;
其中,所述优先分配标识包括:高优先分配标识和低优先分配标识。
可选的,所述操作系统对应的标识值包括:
Windows和Linux。
可选的,所述磁盘类型对应的标识值包括:
SATA和SSD。
可选的,所述运算符,包括:
等于、大于、小于、不等于、大于等于和小于等于。
本申请提供的另一种分布式系统中资源的调度装置实施例如下:
在上述的实施例中,提供另一种分布式系统中资源的调度方法,与之相对应的,本申请还提供另一种分布式系统中资源的调度装置,下面结合附图进行说明。
参照附图6,其示出了本申请提供的另一种分布式系统中资源的调度装置实施例的示意图。
由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关的部分请参见上述提供的方法实施例的对应说明即可。下述描述的装置实施例仅仅是示意性的。
本申请提供另一种分布式系统中资源的调度装置,包括:
申请请求发送单元601,用于向资源调度方发送申请资源的申请请求,所述申请请求中包含申请所述资源的相应资源标识;
资源获取单元602,用于获取所述资源调度方筛选获得的与所述申请请求匹配的资源;
作业节点分配单元603,用于根据获取的所述资源,将作业节点分配到所述资源的资源节点执行作业程序。
可选的,所述资源,包括:
机器集群中的机器资源。
可选的,所述资源标识,包括:
所述机器的标识字段、所述标识字段的运算符和所述标识字段对应的标识值。
可选的,所述机器的标识字段,包括:
操作系统、操作系统内核版本、磁盘类型和/或磁盘数量。
可选的,所述资源标识中还包括:优先分配标识;
其中,所述优先分配标识包括:高优先分配标识和低优先分配标识。
可选的,所述操作系统对应的标识值包括:
Windows和Linux。
可选的,所述磁盘类型对应的标识值包括:
SATA和SSD。
可选的,所述运算符,包括:
等于、大于、小于、不等于、大于等于和小于等于。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (29)
1.一种分布式系统中资源的调度方法,其特征在于,包括:
接收作业方申请资源的申请请求,所述申请请求中包含申请所述资源的相应资源标识;
提取所述申请请求中包含的所述资源标识;
分析提取出的所述资源标识,并与预先建立的资源标识-标识序列映射关系进行比对,获得所述申请请求对应的待筛选标识序列;
利用筛选算法,从所述待筛选标识序列中筛选出与分析后的所述资源标识匹配的标识序列;
将筛选出的所述标识序列与预先建立的标识序列-资源映射关系进行比对,确定所述申请请求对应的资源;
将所述申请请求对应的资源分配给所述作业方。
2.根据权利要求1所述的分布式系统中资源的调度方法,其特征在于,所述资源,包括:
机器集群中的机器资源。
3.根据权利要求2所述的分布式系统中资源的调度方法,其特征在于,所述资源标识,包括:
所述机器的标识字段、所述标识字段的运算符和所述标识字段对应的标识值。
4.根据权利要求3所述的分布式系统中资源的调度方法,其特征在于,所述机器的标识字段,包括:
操作系统、操作系统内核版本、磁盘类型和/或磁盘数量。
5.根据权利要求3所述的分布式系统中资源的调度方法,其特征在于,所述资源标识-标识序列映射关系,包括:
所述标识字段对应的各个标识值、与包含所述标识值的各个标识序列之间的对应关系。
6.根据权利要求5所述的分布式系统中资源的调度方法,其特征在于,所述标识序列,包括:
所述标识字段对应的各个标识值按照预设组合顺序的组合。
7.根据权利要求3所述的分布式系统中资源的调度方法,其特征在于,所述分析提取出的所述资源标识,采用下述方式:
按照所述标识字段拆分所述资源标识中包含的各个标识字段、运算符和对应的标识值;
分析得出满足拆分后各个标识字段、运算符和对应的标识值组合的所述标识字段对应的标识值。
8.根据权利要求7所述的分布式系统中资源的调度方法,其特征在于,所述并与预先建立的资源标识-标识序列映射关系进行比对,获得所述申请请求对应的待筛选标识序列,采用下述方式:
根据分析获得的各个所述标识字段对应的标识值,在所述资源标识-标识序列映射关系中分别查找包含各个所述标识字段对应的标识值的标识序列的集合,作为所述标识字段各自的待筛选标识序列;
所述申请请求对应的待筛选标识序列,由所述标识字段各自的待筛选标识序列组成。
9.根据权利要求8所述的分布式系统中资源的调度方法,其特征在于,所述筛选算法,包括:
针对所述标识字段各自的待筛选标识序列中的标识序列去重,并按照从小到大的排序顺序进行排序;
分别读取排序之后所述标识字段各自的待筛选标识序列中最小的标识序列,组成最小堆;
利用pop指令推出所述最小堆的根节点的标识序列,并将该标识序列的出现次数加1;
按顺序读取推出的该标识序列所属待筛选标识序列中的下一位标识序列,并将读取的标识序列利用push指令压入所述最小堆;
重复所述利用pop指令推出所述最小堆的根节点的标识序列,并将该标识序列的出现次数加1步骤,和所述按顺序读取推出的该标识序列所属待筛选标识序列中的下一位标识序列,并将读取的标识序列利用push指令压入所述最小堆步骤,直至至少一个所述标识字段各自的待筛选标识序列中的标识序列读取完毕。
10.根据权利要求9所述的分布式系统中资源的调度方法,其特征在于,所述与分析后的所述资源标识匹配的标识序列,包括:
所述出现次数与所述资源标识中标识字段的数目相等的标识序列。
11.根据权利要求10所述的分布式系统中资源的调度方法,其特征在于,所述标识序列-资源映射关系,包括:
所述标识序列与所述机器集群中机器之间的对应关系。
12.根据权利要求11所述的分布式系统中资源的调度方法,其特征在于,所述将筛选出的所述标识序列与预先建立的标识序列-资源映射关系进行比对,确定所述申请请求对应的资源,采用下述方式:
在所述标识序列-资源映射关系中查找、与分析后的所述资源标识匹配的标识序列对应的机器,作为所述申请请求对应的机器。
13.根据权利要求3所述的分布式系统中资源的调度方法,其特征在于,所述资源标识中还包括:优先分配标识;
其中,所述优先分配标识包括:高优先分配标识和低优先分配标识。
14.根据权利要求13所述的分布式系统中资源的调度方法,其特征在于,若所述资源标识中包含所述高优先分配标识,相应的,所述将筛选出的所述标识序列与预先建立的标识序列-资源映射关系进行比对,确定所述申请请求对应的资源步骤执行之后,且所述将所述申请请求对应的资源分配给所述作业方步骤执行之前,执行下述步骤:
判断所述申请请求对应机器上的资源是否能够满足所述作业方申请的所述资源;
若是,执行所述将所述申请请求对应的资源分配给所述作业方步骤;
若否,将所述申请请求插入该申请请求对应机器的任务队列中,并返回所述判断所述申请请求对应机器上的资源是否能够满足所述作业方申请的所述资源步骤。
15.根据权利要求13所述的分布式系统中资源的调度方法,其特征在于,若所述资源标识中包括所述低优先分配标识,相应的,所述将筛选出的所述标识序列与预先建立的标识序列-资源映射关系进行比对,确定所述申请请求对应的资源步骤执行之后,且所述将所述申请请求对应的资源分配给所述作业方步骤执行之前,执行下述步骤:
判断所述申请请求对应机器上的资源是否能够满足所述作业方申请的所述资源;
若是,执行所述将所述申请请求对应的资源分配给所述作业方步骤;
若否,将所述机器集群中、所述申请请求对应机器之外的其他机器上的资源分配给所述作业方。
16.根据权利要求4所述的分布式系统中资源的调度方法,其特征在于,所述操作系统对应的标识值包括:
Windows和Linux。
17.根据权利要求4所述的分布式系统中资源的调度方法,其特征在于,所述磁盘类型对应的标识值包括:
SATA和SSD。
18.根据权利要求3所述的分布式系统中资源的调度方法,其特征在于,所述运算符,包括:
等于、大于、小于、不等于、大于等于和小于等于。
19.一种分布式系统中资源的调度装置,其特征在于,包括:
申请请求接收单元,用于接收作业方申请资源的申请请求,所述申请请求中包含申请所述资源的相应资源标识;
资源标识提取单元,用于提取所述申请请求中包含的所述资源标识;
待筛选标识序列获取单元,用于分析提取出的所述资源标识,并与预先建立的资源标识-标识序列映射关系进行比对,获得所述申请请求对应的待筛选标识序列;
标识序列获取单元,用于利用筛选算法,从所述待筛选标识序列中筛选出与分析后的所述资源标识匹配的标识序列;
资源获取单元,用于将筛选出的所述标识序列与预先建立的标识序列-资源映射关系进行比对,确定所述申请请求对应的资源;
资源分配单元,用于将所述申请请求对应的资源分配给所述作业方。
20.根据权利要求19所述的分布式系统中资源的调度装置,其特征在于,所述资源,包括:
机器集群中的机器资源。
21.根据权利要求20所述的分布式系统中资源的调度装置,其特征在于,所述资源标识,包括:
所述机器的标识字段、所述标识字段的运算符和所述标识字段对应的标识值。
22.根据权利要求21所述的分布式系统中资源的调度装置,其特征在于,所述待筛选标识序列获取单元,包括下述子单元:
拆分子单元,用于按照所述标识字段拆分所述资源标识中包含的各个标识字段、运算符和对应的标识值;
标识值获取子单元,用于分析得出满足拆分后各个标识字段、运算符和对应的标识值组合的所述标识字段对应的标识值。
23.根据权利要求21所述的分布式系统中资源的调度装置,其特征在于,所述资源标识中还包括:优先分配标识;
其中,所述优先分配标识包括:高优先分配标识和低优先分配标识。
24.根据权利要求23所述的分布式系统中资源的调度装置,其特征在于,包括:
第一判断单元,用于判断所述申请请求对应机器上的资源是否能够满足所述作业方申请的所述资源;
若是,进入所述资源分配单元;
若否,进入排队等待子单元和所述第一判断单元;
所述排队等待子单元,用于将所述申请请求插入该申请请求对应机器的任务队列中。
25.根据权利要求23所述的分布式系统中资源的调度装置,其特征在于,包括:
第二判断单元,用于判断所述申请请求对应机器上的资源是否能够满足所述作业方申请的所述资源;
若是,进入所述资源分配单元;
若否,进入优先分配子单元;
所述优先分配子单元,用于将所述机器集群中、所述申请请求对应机器之外的其他机器上的资源分配给所述作业方。
26.一种分布式系统中资源的调度方法,其特征在于,包括:
向资源调度方发送申请资源的申请请求,所述申请请求中包含申请所述资源的相应资源标识;
获取所述资源调度方筛选获得与所述申请请求匹配的资源;其中所述资源调度方筛选获得与所述申请请求匹配的资源包括:所述资源调度方提取所述申请请求中包含的所述资源标识;分析提取出的所述资源标识,并与预先建立的资源标识-标识序列映射关系进行比对,获得所述申请请求对应的待筛选标识序列;利用筛选算法,从所述待筛选标识序列中筛选出与分析后的所述资源标识匹配的标识序列;将筛选出的所述标识序列与预先建立的标识序列-资源映射关系进行比对,确定所述申请请求对应的资源;
根据获取的所述资源,将作业节点分配到所述资源的资源节点执行作业程序。
27.根据权利要求26所述的分布式系统中资源的调度方法,其特征在于,所述资源,包括:
机器集群中的机器资源。
28.根据权利要求27所述的分布式系统中资源的调度方法,其特征在于,所述资源标识,包括:
所述机器的标识字段、所述标识字段的运算符和所述标识字段对应的标识值。
29.一种分布式系统中资源的调度装置,其特征在于,包括:
申请请求发送单元,用于向资源调度方发送申请资源的申请请求,所述申请请求中包含申请所述资源的相应资源标识;
资源获取单元,用于获取所述资源调度方筛选获得的与所述申请请求匹配的资源;其中所述资源调度方筛选获得与所述申请请求匹配的资源包括:所述资源调度方提取所述申请请求中包含的所述资源标识;分析提取出的所述资源标识,并与预先建立的资源标识-标识序列映射关系进行比对,获得所述申请请求对应的待筛选标识序列;利用筛选算法,从所述待筛选标识序列中筛选出与分析后的所述资源标识匹配的标识序列;将筛选出的所述标识序列与预先建立的标识序列-资源映射关系进行比对,确定所述申请请求对应的资源;
作业节点分配单元,用于根据获取的所述资源,将作业节点分配到所述资源的资源节点执行作业程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610128461.6A CN107168788B (zh) | 2016-03-07 | 2016-03-07 | 分布式系统中资源的调度方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610128461.6A CN107168788B (zh) | 2016-03-07 | 2016-03-07 | 分布式系统中资源的调度方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107168788A CN107168788A (zh) | 2017-09-15 |
CN107168788B true CN107168788B (zh) | 2021-01-08 |
Family
ID=59849503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610128461.6A Active CN107168788B (zh) | 2016-03-07 | 2016-03-07 | 分布式系统中资源的调度方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107168788B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111866169B (zh) * | 2018-01-23 | 2023-08-18 | 创新先进技术有限公司 | 一种服务更新方法及装置、系统 |
CN109922316A (zh) * | 2019-03-04 | 2019-06-21 | 北京旷视科技有限公司 | 媒体资源调度及媒体资源管理方法、装置和电子设备 |
CN111240836A (zh) * | 2020-01-06 | 2020-06-05 | 北京百度网讯科技有限公司 | 算力资源管理方法、装置、电子设备及存储介质 |
CN111274012B (zh) * | 2020-01-16 | 2022-07-12 | 珠海格力电器股份有限公司 | 服务调度方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0732650A2 (en) * | 1995-03-16 | 1996-09-18 | Matsushita Electric Industrial Co., Ltd. | Resource assigning apparatus |
CN101398768A (zh) * | 2008-10-28 | 2009-04-01 | 北京航空航天大学 | 一种分布式虚拟机监视器系统的构建方法 |
CN102958166A (zh) * | 2011-08-29 | 2013-03-06 | 华为技术有限公司 | 一种资源分配方法及资源管理平台 |
CN103294515A (zh) * | 2013-06-28 | 2013-09-11 | 北京小米科技有限责任公司 | 一种获取应用程序的方法、装置和系统 |
CN104881322A (zh) * | 2015-05-18 | 2015-09-02 | 中国科学院计算技术研究所 | 一种基于装箱模型的集群资源调度方法及装置 |
-
2016
- 2016-03-07 CN CN201610128461.6A patent/CN107168788B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0732650A2 (en) * | 1995-03-16 | 1996-09-18 | Matsushita Electric Industrial Co., Ltd. | Resource assigning apparatus |
CN101398768A (zh) * | 2008-10-28 | 2009-04-01 | 北京航空航天大学 | 一种分布式虚拟机监视器系统的构建方法 |
CN102958166A (zh) * | 2011-08-29 | 2013-03-06 | 华为技术有限公司 | 一种资源分配方法及资源管理平台 |
CN103294515A (zh) * | 2013-06-28 | 2013-09-11 | 北京小米科技有限责任公司 | 一种获取应用程序的方法、装置和系统 |
CN104881322A (zh) * | 2015-05-18 | 2015-09-02 | 中国科学院计算技术研究所 | 一种基于装箱模型的集群资源调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107168788A (zh) | 2017-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11036553B2 (en) | Preempting or traversing allocated resource applications based on job priority and resource demand information | |
CN109684065B (zh) | 一种资源调度方法、装置及系统 | |
CN112346829B (zh) | 一种用于任务调度的方法及设备 | |
CN107168788B (zh) | 分布式系统中资源的调度方法以及装置 | |
WO2016078008A1 (zh) | 调度数据流任务的方法和装置 | |
WO2019153973A1 (zh) | 事件驱动方法及装置 | |
CN112667376A (zh) | 任务调度处理方法、装置、计算机设备及存储介质 | |
TW201629759A (zh) | 一種cpu資源分配的方法、裝置及電子設備 | |
CN107168777B (zh) | 分布式系统中资源的调度方法以及装置 | |
CN106775948B (zh) | 一种基于优先级的云任务调度方法及装置 | |
EP3208709B1 (en) | Batch processing method and device for system invocation commands | |
CN114168302A (zh) | 任务调度方法、装置、设备及存储介质 | |
US20180113748A1 (en) | Automated configuration of virtual infrastructure | |
CN106569892B (zh) | 资源调度方法与设备 | |
WO2016061935A1 (zh) | 一种资源调度方法、装置及计算机存储介质 | |
CN112148468A (zh) | 一种资源调度方法、装置、电子设备及存储介质 | |
EP3018581B1 (en) | Data staging management system | |
CN111600771B (zh) | 网络资源探测系统、方法 | |
CN112988361A (zh) | 集群任务分配方法、装置和计算机可读介质 | |
CN106571935B (zh) | 一种资源调度的方法与设备 | |
CN116881003A (zh) | 资源分配方法、装置、服务设备及存储介质 | |
KR101556541B1 (ko) | 고부하 경로 기반의 복합 이벤트 처리 장치 및 그 방법 | |
CN108920278B (zh) | 资源分配方法及装置 | |
CN111352710B (zh) | 进程管理方法及装置、计算设备、存储介质 | |
KR101403095B1 (ko) | 그래프 채색 알고리즘을 이용한 태스크 지향적 서비스의 분산 코디네이션 방법 및 그 시스템 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230601 Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province Patentee after: Aliyun Computing Co.,Ltd. Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK Patentee before: ALIBABA GROUP HOLDING Ltd. |