[go: up one dir, main page]

CN108268317A - 一种资源分配方法及装置 - Google Patents

一种资源分配方法及装置 Download PDF

Info

Publication number
CN108268317A
CN108268317A CN201611261831.XA CN201611261831A CN108268317A CN 108268317 A CN108268317 A CN 108268317A CN 201611261831 A CN201611261831 A CN 201611261831A CN 108268317 A CN108268317 A CN 108268317A
Authority
CN
China
Prior art keywords
resource
user
node
resources
leading
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.)
Granted
Application number
CN201611261831.XA
Other languages
English (en)
Other versions
CN108268317B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201611261831.XA priority Critical patent/CN108268317B/zh
Priority to PCT/CN2017/106096 priority patent/WO2018120991A1/zh
Priority to EP17887260.2A priority patent/EP3553656A4/en
Publication of CN108268317A publication Critical patent/CN108268317A/zh
Priority to US16/456,982 priority patent/US20190319895A1/en
Application granted granted Critical
Publication of CN108268317B publication Critical patent/CN108268317B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种资源调度方法及装置,用以解决现有技术中存在资源使用率低的问题。该方法包括:资源调度器确定第i个用户的主导份额,并确定第a个节点的主导空闲资源;然后从N个用户中选择主导份额最小的第一用户,并从所述第一用户的未分配资源的任务中选择第一任务;并根据M个节点的主导空闲资源,从所述M个节点中选择第一节点;其中,选择的第一节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同;最后所述资源调度器将选择的第一节点中的资源,调度给选择的所述第一用户,以使所述第一用户使用调度的资源来执行选择的所述第一任务。

Description

一种资源分配方法及装置
技术领域
本申请涉及信息技术领域,尤其涉及一种资源分配方法及装置。
背景技术
大规模数据的处理对计算机性能和计算资源的要求越来越高,为了高效处理大规模数据,各种分布式计算框架如hadoop、spark等,以及分布式资源统一管理与调度平台如mesos、yarn逐渐发展起来。
支持多用户公平且节点间负载均衡的资源分配是分布式计算框架以及分布式资源统一管理与调度平台的核心。
在支持用户公平的资源分配时,现有技术方案是采用主导资源公平(英文:Dominant Resource Fairness,简称:DRF)算法,该算法的主要思想是在多维度资源环境下,一个用户的资源分配应该由用户的主导份额(dominant share)决定,主导份额是在所有已经分配给用户的多种资源中,占据总资源的最大值,该最大值对应的资源为主导资源。DRF算法的主旨是试图最大化所有用户中最小的主导资源或尽可能使不同用户的主导资源相等。
DRF算法进行资源分配的具体步骤:
步骤1,计算当前已分配给第i个用户的每种资源的占用率(share),选择占用率中的最大值为第i个用户的主导份额si
其中,uij表示用户i对资源j的占用量,rj表示资源j的可分配资源总量,m表示资源总类型数。可分配资源总量即为接收到调度请求时,分布式系统中可分配给用户的资源总量。
步骤2,每次从拥有最低的主导份额的用户中选择一个任务,若系统中有足够的可用资源则为该选择的任务分配资源,启动该选择的任务执行。
步骤3,重复第一步和第二步,直到不存在可用资源或不存在需要执行的任务。
在支持节点间负载均衡的资源分配时,现有技术方案是基于任务个数实现节点间负载均衡。节点间负载均衡方案常用的包括三种方案:轮询方式、最小连接数方式以及随机方式。轮询方式是将多个任务,依次轮询分配到多个节点上。最小连接数方式是统计每个节点当前处理的任务数,每次为当前处理任务数最少的节点分配任务。随机方式是指采用一个随机数生成器,每次分配任务时,将随机数生成器生成的数据作为当前选择的节点号,并为节点号对应的节点进行任务分配。
综上,现有技术中提供的方案中,将用户公平和节点负载均衡两个维度分开考虑,忽略了用户公平与节点负载均衡之间的相关性,从而导致资源使用效率低。
发明内容
本申请提供一种资源调度方法及装置,用以解决现有技术中存在资源使用率低的问题。
第一方面,本申请提供了一种资源调度方法,所述方法用于为分布式系统的N个用户的任务分配资源,该方法包括:
所述资源调度器从所述N个用户中选择主导份额最小的第一用户,其中,所述主导份额为一个用户占用的资源的资源占用率的最大值,所述资源占用率为一项资源被所述用户占用的数量与所述资源的可分配资源总量的比值;所述N为大于1的正整数;
所述资源调度器从所述第一用户的未被分配资源的任务中选择第一任务;
所述资源调度器根据M个节点的主导空闲资源,从所述M个节点中选择第一节点,其中,所述第一节点的主导空闲资源与所述第一用户的主导份额对应的资源相同,所述主导空闲资源为一个节点中空闲比率最大的资源,所述空闲比率为一项资源的当前空闲资源量与所述资源的资源总量的比值,所述M为大于1的正整数;
所述资源调度器将所述第一节点中的资源,调度给所述第一用户,以使所述第一用户使用所述第一节点中的资源来执行所述第一任务。
资源调度器每次调度任务之前需要先确定第i个用户的主导份额以及确定第a个节点的主导空闲资源,具体的,可以通过如下方式实现:
资源调度器确定第i个用户的主导份额以及确定第a个节点的主导空闲资源。
其中,所述主导份额为m种资源对应的用户资源占用率中的最大值;第j种资源对应的用户资源占用率为当前已分配给所述第i个用户的第j种资源的资源量与第j种资源的可分配资源总量的比值;所述j取遍不大于m的所有正整数;m表示待调度资源的总类型数;i取遍所有不大于N的正整数;所述N表示用户总数。
其中,所述主导空闲资源为m种资源中对应的空闲比率最大的资源;第b种资源对应的空闲比率为所述第a个节点的第b种资源中的当前空闲资源量与第a个节点中的第b种资源的资源总量的比值,所述b取遍不大于m的所有正整数;所述a取遍不大于M的所有正整数,所述M表示待调度资源的节点总数。
所述资源调度器在确定第i个用户的主导份额以及确定第a个节点的主导空闲资源后,从所述N个用户中选择确定的主导份额最小的第一用户,并从所述第一用户的未分配资源的任务中选择第一任务;再根据M个节点的主导空闲资源,从所述M个节点中选择第一节点,其中,选择的第一节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同;在调度时,具体是将选择的第一节点中的资源,调度给选择的所述第一用户,以使所述第一用户使用调度的资源来执行选择的所述第一任务。由于主导份额少的用户的任务被优先分配资源,实现了用户之间的公平性,然后基于节点的主导空闲资源选择节点,并将选择的节点的资源分配给选择的用户。由于选择的节点的主导空闲资源与选择的用户的主导份额对应的资源相同,从而实现了不同类型的用户分配给不同类型的节点,进而实现了节点资源负载均衡,在一定程度上降低了资源共享干扰问题。
在一种可能的设计中,所述M个节点被划分为不同组,其中,同一组的节点的主导空闲资源相同。比如,将M个节点划分为CPU资源组,以及内存资源组。CPU资源组中包括的各个节点的主导空闲资源均为CPU资源,内存资源组中包括的各个节点的主导空闲资均为内存资源。从而所述从M个节点中选择第一节点时,可以通过如下方式实现:
所述资源调度器从所述不同组中选择一个组,其中,选择的组中包括的节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同;所述资源调度器根据选择的组包括的节点的主导空闲资源的空闲比率从选择的组包括的节点中选择第一节点。
通过上述设计,节点根据当前负载情况(用户主导份额)动态划分到不同组,用于接收不同类型的任务,实现了节点资源负载均衡,并且能够避免共享资源之间的干扰。
在一种可能的设计中,所述第一节点是主导空闲资源与所述第一用户的主导份额对应的资源相同的节点中主导空闲资源的空闲比率最大的节点。具体的,所述第一节点是所述M个节点中主导空闲资源的空闲比率最大的节点。即,在选择从M个节点中选择第一节点时,选择主导空闲资源的空闲比率最大的第一节点。
在一种可能的设计中,在主导空闲资源与选择的第一用户的主导份额对应的资源相同的节点为至少两个时,所述资源调度器根据M个节点的主导空闲资源,从所述M个节点中选择第一节点,具体可以通过如下方式实现:
所述资源调度器确定主导空闲资源与选择的第一用户的主导份额对应的资源相同的至少两个节点;所述资源调度器从所述至少两个节点中,选择第一用户主导占用率最大的节点,其中一个节点的第一用户主导占用率为所述第一用户占用所述节点的资源的用户占用率的最大值,一项资源的用户占用率为所述资源中所述用户占用的占用量与所述资源的可分配总量的比值。
所述资源调度器从所述至少两个节点中,选择第一节点时,先确定选择的所述第一用户对于所述至少两个节点中每个节点的用户主导占用率,具体可以通过如下方式实现:
所述资源调度器确定选择的所述第一用户对于所述至少两个节点中第c个节点的用户主导占用率;所述用户主导占用率为m种资源对应的用户占用率中的最大值;第d种资源对应的用户占用率为第c个节点中已分配给选择的所述用户的第d种资源的资源量与所述第c个节点中第d种资源的可分配资源总量的比值;所述第c个节点为所述至少两个节点中的任一个,所述d取遍不大于m的所有正整数;
所述资源调度器从所述至少两个节点中,选择对应所述第一用户的用户主导占用率最小的第一节点。
通过上述设计,在选择节点时,根据用户在每个节点的用户主导占用率,并且每次为用户任务选择用户主导占用率最小的节点,实现了用户在每个节点的资源负载均衡。
在一种可能的设计中,所述方法还可以包括:
在确定所有节点的主导空闲资源与选择的第一用户的主导份额对应的资源均不相同时,所述资源调度器从与所述第一用户的主导份额对应的资源不同的其它用户中选择主导份额最大的第二用户,并从所述第二用户的未分配资源的任务中选择第二任务;所述资源调度器从M个节点中选择主导空闲资源的空闲比率最大、且节点的主导空闲资源与选择的第二用户的主导份额对应的资源相同的第二节点;所述资源调度器将选择的第二节点中的资源,调度给选择的所述第二用户,以使所述第二用户使用调度的资源来执行选择的所述第二任务。
通过上述设计,针对用户没有与其匹配的节点时,针对其他的用户优先调度,在一定程度上能够降低强分配带来的资源共享干扰的问题。另外,在确定所有节点的主导空闲资源的空闲比率对应的资源与选择的第一用户的主导份额对应的资源均不相同时,所述资源调度器从与所述第一用户的主导份额对应的资源不同的其它用户中选择主导份额最大的第二用户来调度,能够保证不同类型的用户的任务被分配给不同的节点,从而保证了节点资源负载的均衡。
在一种可能的设计中,所述方法还可以包括:
所述资源调度器在确定第a个节点的主导空闲资源的空闲比率小于预设阈值时,则确定不对第a个节点进行资源调度。
通过上述设计,针对主导空闲资源的空闲比率小于预设阈值的节点不再进行资源调度,从而避免调度资源量不满足用户要求,占用资源调度器资源导致的资源浪费以及时间资源浪费的问题。
第二方面,本申请提供了一种资源调度装置,包括:
第一确定模块,用于确定第i个用户的主导份额以及确定第a个节点的主导空闲资源的空闲比率;所述主导份额为m种资源对应的用户资源占用率中的最大值;第j种资源对应的用户资源占用率为当前已分配给所述第i个用户的第j种资源的资源量与第j种资源的可分配资源总量的比值;所述j取遍不大于m的所有正整数;m表示待调度资源的总类型数;i取遍所有不大于N的正整数;所述N为大于1的正整数;所述主导空闲资源为m种资源中对应的空闲比率最大的资源;第b种资源对应的空闲比率为所述第a个节点的第b种资源中的当前空闲资源量与第a个节点中的第b种资源的资源总量的比值,所述b取遍不大于m的所有正整数;所述a取遍不大于M的所有正整数,所述M表示待调度资源的节点总数;
第一选择模块,用于从所述N个用户中选择所述第一确定模块确定的主导份额最小的第一用户,并从所述第一用户的未分配资源的任务中选择第一任务;
第二选择模块,用于根据所述第一确定模块确定的M个节点的主导空闲资源,从所述M个节点中选择第一节点;其中,选择的第一节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同;
调度模块,用于将所述第二选择模块选择的第一节点中的资源,调度给所述第一选择模块选择的所述第一用户,以使所述第一用户使用调度的资源来执行选择的所述第一任务。
在一种可能的设计中,所述M个节点被划分为不同组,其中,同一组的节点的主导空闲资源相同,所述第二选择模块,具体用于从不同组中选择一个组,其中,选择的组中包括的节点的主导空闲资源的空闲比率对应的资源与选择的第一用户的主导份额对应的资源相同;并根据选择的组包括的节点的主导空闲资源的空闲比率从选择的组包括的节点中选择第一节点。
在一种可能的设计中,所述第一节点时所述M个节点中主导空闲资源的空闲比率最大的节点。
在一种可能的设计中,还包括:
第二确定模块,用于确定主导空闲资源与选择的第一用户的主导份额对应的资源相同的至少两个节点;并
确定选择的所述第一用户对于所述至少两个节点中第c个节点的用户主导占用率;所述主用户主导占用率为m种资源对应的用户占用率中的最大值;第d种资源对应的用户占用率为第c个节点中已分配给选择的所述第一用户的第d种资源的资源量与所述第c个节点中第d种资源的可分配资源总量的比值;所述第c个节点为所述至少两个节点中的任一个,所述d取遍不大于m的所有正整数;
所述第二选择模块,具体用于从所述至少两个节点中选择所述第二确定模块确定的对应所述第一用户的用户主导占用率最小的第一节点。
在一种可能的设计中,所述第一选择模块,还用于在确定所有节点的主导空闲资源与选择的第一用户的主导份额对应的资源均不相同时,从与所述第一用户的主导份额对应的资源不同的其它用户中选择主导份额最大的第二用户,并从所述第二用户的未分配资源的任务中选择第二任务;
所述第二选择模块,还用于从M个节点中选择主导空闲资源的空闲比率最大、且节点的主导空闲资源与所述第一选择模块选择的第二用户的主导份额对应的资源相同的第二节点;
所述调度模块,还用于将所述第二选择模块选择的第二节点中的资源,调度给选择的所述第二用户,以使所述第二用户使用调度的资源来执行选择的所述第二任务。
在一种可能的设计中,所述调度模块,还用于在确定第a个节点的主导空闲资源的空闲比率小于预设阈值时,则确定不对第a个节点进行资源调度。
通过本申请提供的方案,资源调度器确定每个用户的主导份额以及每个节点的主导空闲资源的空闲比率,然后基于主导份额以及主导空闲资源的空闲比率将各个节点的资源分配到各个用户,同时考虑了用户之间的公平性以及节点之间的负载均衡,从而提高了资源利用率,在一定程度上降低了资源共享干扰问题。
第三方面,本申请提供了一种资源调度装置,该装置包括:
通信接口、存储器以及处理器,存储器用于存储处理器所需执行的程序代码。通信接口用于接收客户端发送的用户任务。处理器用于执行存储器所存储的程序代码,具体用于执行第一方面或第一方面的任一种设计所述的方法。
第四方面,本申请还提供了一种计算机可读存储介质,用于存储为执行上述第一方面、第一方面的任意一种设计的功能所用的计算机软件指令,其包含用于执行上述第一方面、第一方面的任意一种设计的方法所设计的程序。
附图说明
图1为本申请提供的一种资源调度方法流程图;
图2为本申请提供的另一种资源调度方法流程图;
图3为本申请提供的分布式系统架构示意图;
图4为本申请提供的节点资源量示意图;
图5为本申请提供的用户的任务所需资源量示意图;
图6为本申请提供的资源调度装置示意图;
图7为本申请提供的资源调度装置示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。
本申请提供一种资源分配方法及装置,用以解决现有技术中存在的资源使用效率较低的问题。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
本申请可以应用于分布式度系统。该分布式系统中包括多个提供可调度资源的节点以及执行资源调度的资源调度器以及包括多个用户。
资源,可以包括多种类型,比如:用于提供计算能力的计算资源、用于提供存储空间的存储资源、用于提供传输通道的网络资源等等。计算资源可以是中央处理单元(Central Processing Unit,简称CPU)资源、存储资源可以是内存资源。
本申请中所涉及的多个,是指两个或两个以上。
另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
本申请实施例中,资源调度器从分布式系统中的N个用户(该N个用户任务待分配资源)中选择主导份额最小的第一用户,其中,所述主导份额为一个用户占用的资源的资源占用率的最大值,所述资源占用率为一项资源被所述用户占用的数量与所述资源的可分配资源总量的比值;所述N为大于1的正整数;所述资源调度器从所述第一用户的未被分配资源的任务中选择第一任务;所述资源调度器根据M个节点的主导空闲资源,从所述M个节点中选择第一节点,其中,所述第一节点的主导空闲资源与所述第一用户的主导份额对应的资源相同,所述主导空闲资源为一个节点中空闲比率最大的资源,所述空闲比率为一项资源的当前空闲资源量与所述资源的资源总量的比值,所述M为大于1的正整数;所述资源调度器将所述第一节点中的资源,调度给所述第一用户,以使所述第一用户使用所述第一节点中的资源来执行所述第一任务。上述方案,实现了用户之间的公平性,基于主导空闲资源选择节点,并把选择的节点的资源分配给选择的用户。由于选择的节点的主导空闲资源与选择的用户的主导份额对应的资源相同,从而实现了不同类型的用户分配给不同类型的节点,进而实现了节点资源负载均衡,在一定程度上降低了资源共享干扰问题。
下面结合附图对本申请提供的资源调度方案进行具体说明。
参见图1,为本申请提供的资源调度方法流程图。本申请提供的资源调度方法用于为分布式系统中的N个用户的任务分配资源。该方法包括:
S101,资源调度器确定第i个用户的主导份额。
所述主导份额为m种资源对应的用户资源占用率中的最大值;第j种资源对应的用户资源占用率为当前已分配给所述第i个用户的第j种资源的资源量与第j种资源的可分配资源总量的比值;所述j取遍不大于m的所有正整数;m表示待调度资源的总类型数;i取遍所有不大于N的正整数;所述N为大于1的正整数。待调度资源的总类型数也就是当前需要调度给用户的资源的总类型数。
可选地,第i个用户的主导份额可以通过如下公式(1.1)确定:
其中,si表示第i个用户的主导份额;uij表示已分配给第i个用户的第j种资源的资源量,rj表示第j种资源的可分配资源总量,m表示待调度资源的总类型数。
可选地,在m种资源对应的用户资源占用率中的最大值对应的资源数量为至少两种时,可以将至少两种资源中的任意一种资源作为主导份额对应的资源。
S102,所述资源调度器确定第a个节点的主导空闲资源。
所述主导空闲资源为m种资源中对应的空闲比率最大的资源;第b种资源对应的空闲比率为所述第a个节点的第b种资源中的当前空闲资源量与第a个节点中的第b种资源的资源总量的比值,所述b取遍不大于m的所有正整数;所述a取遍不大于M的所有正整数,所述M表示待调度资源的节点总数。其中,如果分布式系统中包括多个节点,本次需要调度资源的节点数为多个节点中的M个。M为大于1的正整数。
可选地,所述第a个节点的主导空闲资源的空闲比率可以通过如下公式(1.2)确定:
其中,ha表示第a个节点的主导空闲资源的空闲比率;xaj表示节点a中第j种资源的空闲资源量,raj表示节点a中第j种资源的资源总量,m表示待调度资源的总类型数。
S103,所述资源调度器从所述N个用户中选择主导份额最小的第一用户,并从所述第一用户的未分配资源的任务中选择第一任务。
其中,如果主导份额最小的用户数为至少两个时,可以随机从至少两个用户中选择一个。还可以对至少两个用户的m种资源的用户资源占用率排序,选择排在第二的用户资源占用率对应的用户。在主导份额最小的用户数为至少两个的情况,本申请在选择用户上,不作具体限定。
S104,所述资源调度器根据M个节点的主导空闲资源,从所述M个节点中选择第一节点。其中,选择的第一节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同。
S105,所述资源调度器将选择的第一节点中的资源,调度给选择的所述第一用户,以使所述第一用户使用调度的资源来执行选择的所述第一任务。
通过本申请提供的方案,资源调度器确定每个用户的主导份额以及每个节点的主导空闲资源,然后基于主导份额以及主导空闲资源将各个节点的资源分配到各个用户,主导份额少的用户的任务被优先分配资源,实现了用户之间的公平性,然后基于主导空闲资源选择节点,并把选择的节点的资源分配给选择的用户。由于选择的节点的主导空闲资源与选择的用户的主导份额对应的资源相同,从而实现了不同类型的用户分配给不同类型的节点,进而实现了节点资源负载均衡,在一定程度上降低了资源共享干扰问题。
在一种可能的实现方式中,在基于主导空闲资源选择第一节点时,选择的第一节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同,并且选择的第一节点是所述M个节点中主导空闲资源的空闲比率最大的节点。当然,还可以从主导空闲资源与选择的第一用户的主导份额对应的资源相同的多个节点中随机或者以其他方式选择一个节点,本申请在此不作具体限定。
在一种可能的实现方式中,本申请中的所述M个节点可以被划分为不同组,其中,同一组的节点的主导空闲资源相同。在划分组时,可以在资源调度器在调度后,由每个节点确定自身所属的组,还可以由资源调度器划分。在每次调度完后,可以由资源调度器,将本次调度的节点划分到对应的组内。
具体的,所述资源调度器确定第a个节点的主导空闲资源的空闲比率之后,所述资源调度器根据每个节点的主导空闲资源的空闲比率将节点划分到不同组,从而在根据主导空闲资源从M个节点中第一节点时,根据分组情况来从M个节点中选择第一节点。具体的实现流程如图2所示。
参见图2所示,为本申请实施例提供的另一种资源调度方法流程图,该方法包括:
S201,资源调度器确定第i个用户的主导份额。具体确定方式可以参见图1所示的实施例中的步骤S101。
S202,所述资源调度器确定第a个节点的主导空闲资源的空闲比率。具体确定方式可以参见图1所示的实施例中的步骤S102。
S203,所述资源调度器基于上次调度的节点的主导空闲资源的空闲比率将上次调度的节点划分其归属的组中。
其中,所述M个节点被划分为不同组,划分到同一组的不同节点的主导空闲资源相同。比如,将M个节点划分为CPU资源组,以及内存资源组。CPU资源组中包括的各个节点的主导空闲资源均为CPU资源,内存资源组中包括的各个节点的主导空闲资源均为内存资源。
可选地,当节点的主导空闲资源的空闲比率对应的资源包括至少两种时,可以将至少两种资源的一种资源作为主导空闲资源。因此在分组时,可以将该节点划分到作为主导空闲资源的资源组,当然还可以将节点划分到至少两组。比如,节点1的资源包括cpu资源以及内存资源,且两种资源的空闲比率相同,因此两种均可以作为主导空闲资源,从而可以将节点1既划分到cpu资源组,也可以划分到内存资源组。
S204,所述资源调度器从所述N个用户中选择主导份额最小的第一用户,并从所述第一用户的未分配资源的任务中选择第一任务。
S205,所述资源调度器从所述不同组中选择一个组,其中,选择的组中包括的节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同。
S206,所述资源调度器根据选择的组包括的节点的主导空闲资源的空闲比率从选择的组包括的节点中选择第一节点。
具体的,在根据主导空闲资源的空闲比率选择第一节点时,可以选择主导空闲资源的空闲比率最大的第一节点。
S207,所述资源调度器将选择的第一节点中的资源,调度给选择的所述第一用户,以使所述第一用户使用调度的资源来执行选择的所述第一任务。
通过上述实现方式,节点根据当前负载情况(用户主导份额)动态划分到不同组,用于接收不同类型的任务,实现了节点资源负载均衡,并且能够避免共享资源之间的干扰。
在一种可能的设计中,所述资源调度器根据M个节点的主导空闲资源,从所述M个节点中选择第一节点时,可以通过如下方式实现:
第一种可能的实现方式:
A1,所述资源调度器确定主导空闲资源与选择的第一用户的主导份额对应的资源相同的至少两个节点。
A2,所述资源调度器确定选择的所述第一用户对于所述至少两个节点中第c个节点的用户主导占用率;所述用户主导占用率为m种资源对应的用户占用率中的最大值;第d种资源对应的用户占用率为第c个节点中已分配给选择的所述第一用户的第d种资源的资源量与所述第c个节点中第d种资源的可分配资源总量的比值;所述第c个节点为所述至少两个节点中的任一个,所述d取遍不大于m的所有正整数;
A3,所述资源调度器从所述至少两个节点中,选择对应所述第一用户的用户主导占用率最小的第一节点。
第二种可能的实现方式:
在第一种可能的实现方式中的所述至少两个节点可以为主导空闲资源的空闲比率最大的两个节点。其中至少两个节点的主导空闲资源的空闲比率相同也可以不同。从而,资源调度器可以通过如下方式选择第一节点。
B1,所述资源调度器确定主导空闲资源最大的至少两个节点,且所述至少两个节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同。
B2,所述资源调度器确定选择的所述第一用户对于所述至少两个节点中第c个节点的用户主导占用率。
B3,所述资源调度器从所述至少两个节点中,选择对应所述第一用户的用户主导占用率最小的第一节点。
第三种可能的实现方式:
所述至少两个节点可以为主导空闲资源的空闲比率最大的两个节点,并且所述至少两个节点中任意两个节点的主导空闲资源的空闲比率差值小于预设资源比率。从而,资源调度器可以通过如下方式选择第一节点。
C1,所述资源调度器确定主导空闲资源最大的至少两个节点,且所述至少两个节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同,所述至少两个节点中任意两个节点的主导空闲资源的空闲比率差值小于预设资源比率。
C2,所述资源调度器确定选择的所述第一用户对于所述至少两个节点中第c个节点的用户主导占用率。
C3,所述资源调度器从所述至少两个节点中,选择对应所述第一用户的用户主导占用率最小的第一节点。
可选地,第k个用户对应第c个节点的用户主导占用率可以通过如下公式(1.3)确定:
wkc表示第k个用户对于第c个节点的用户主导占用率;ukd表示第c个节点中当前已分配给第k个用户的第d种资源的资源量,rcd表示第c个节点中第d种资源的可分配资源总量。
通过上述实现方式,在选择节点时,根据用户在每个节点的用户主导占用率,并且每次为用户任务选择用户主导占用率最小的节点,实现了用户在每个节点的资源负载均衡。
在一种可能的实现方式中,资源调度器在确定第i个用户的主导份额后,可以根据每个用户的主导份额,将N个用户划分到不同资源类型对应的用户组。不同的用户组中包括的用户的主导份额对应的资源相同。从而在针对用户选择节点时,在多个节点对应的组中选择一个组,该选择的组对应的资源类型与用户所在的用户组对应的资源类型相同。然后在选择的组中选择主导空闲资源的空闲比率最大的节点来进行调度。
在一种可能的设计中,所述方法还可以包括:
在确定所有节点的主导空闲资源的空闲比率对应的资源与选择的第一用户的主导份额对应的资源均不相同时,所述资源调度器从与所述第一用户的主导份额对应的资源不同的其它用户中选择主导份额最大的第二用户,并从所述第二用户的未分配资源的任务中选择第二任务;
所述资源调度器从M个节点中选择主导空闲资源的空闲比率最大、且节点的主导空闲资源与选择的第二用户的主导份额对应的资源相同的第二节点;
所述资源调度器将选择的第二节点中的资源,调度给选择的所述第二用户,以使所述第二用户使用调度的资源来执行选择的所述第二任务。
通过上述实现方式,在确定所有节点的主导空闲资源的空闲比率对应的资源与选择的第一用户的主导份额对应的资源均不相同时,所述资源调度器从与所述第一用户的主导份额对应的资源不同的其它用户中选择主导份额最大的第二用户来调度,能够保证不同类型的用户的任务被分配给不同的节点,从而保证了节点资源负载的均衡。
在一种可能的设计中,所述方法还可以包括:所述资源调度器在确定第a个节点的主导空闲资源的空闲比率小于预设阈值时,则确定不对第a个节点进行资源调度。
通过上述实现方式,针对主导空闲资源的空闲比率小于预设阈值的节点不再进行资源调度,从而避免调度资源量不满足用户要求,占用资源调度器资源导致的资源浪费以及时间资源浪费的问题。
具体的,资源调度器在确定第a个节点的主导空闲资源的空闲比率小于预设阈值时,可以将该第a个节点划分到临界组,资源调度器在对节点资源进行调度时,不对临界组中包括的节点进行调度。
下面结合具体应用场景对本申请做具体说明。
如图3所示,为分布式系统架构示意图。分布式系统中包括节点簇、客户端(Client)、资源调度器。节点簇、客户端(Client)、资源调度器之间能够相互进行通信。
假设针对一个节点簇(cluster)包括的资源进行调度。本申请以cluster中包括的CPU资源以及内存(mem)资源为例进行说明。
该cluster中包含两个工作(worker)节点,worker1和worker2。其中worker1和worker2的总资源量均为:cpu资源量占20个、内存资源量占30吉字节(英文:GigaByte,简称:G)。
在资源调度器接收到客户端发送的用于调度用户任务的调度请求时,worker1的可分配cpu资源量为12.5个,worker1的可分配内存资源量为8.5G;worker2的可分配cpu资源量为7.5个,worker2的可分配内存资源量为11.5G,两个worker节点总的可分配资源总量为cpu资源量20个、内存资源量20G。如图4所示。
在资源调度器接收到调度请求时,待调度的用户包括用户A和用户B,用户A包含3个需要执行的任务(tasks),分别为{taskA1,<1,7>;taskA2,<2,2.5>;taskA3,<1,2>},用户B包括3个需要执行的任务,分别为{taskB1,<6,2>;taskB2,<4,1>;taskB3,<3,1>}。其中,task的资源表示格式为<cpu,内存>,CPU单位为个,内存的单位为G。如图5所示。
基于现有技术提供的方案,基于DRF的调度方法进行资源分配时,分配结果如表1所示。
表1
首次分配,针对用户A的taskA1,将按照节点顺序,将woker1的资源中用户A调度taskA1所需的资源分配给用户A,经过首次分配后,用户A的主导份额为7/20,而用户B的主导份额为0。参见表1第二行。
在第二分配时,针对用户B分配资源,将worker1的资源中用户B调度taskB1所需的资源分配给用户B,此时worker1中的剩余资源不够分配给用户B的,从而从worker2中用户B调度taskB1所需的资源分配给用户B,参见表1第三行。经过第二次分配后,用户A的主导份额为7/20,而用户B的主导份额为6/20。
在第三次分配时,针对用户B分配资源,将worker1的资源中用户B调度taskB2所需的资源分配给用户B,此时worker1中的剩余资源不够分配给用户B的,从而从worker2中用户B调度taskB2所需的资源分配给用户B,此时worker1中的剩余资源不够分配给用户B的,从而针对用户A分配资源,将worker1的资源中用户A调度taskA2所需的资源分配给用户A,此时worker1中的剩余资源不够分配给用户A的,从而从worker2中用户A调度taskA2所需的资源分配给用户B,此时worker2中的剩余资源也不够分配给用户A的,停止分配,参见表1中第四行和第五行。
从表1中可以看出,worker1的cpu资源利用率为((调度的CPU资源+原有被占用的CPU资源)/总CPU资源量)*100%=((1+7.5)/20)*100%=42.5%,worker1的内存资源利用率为((调度的内存资源量+原有被占用的内存资源量)/总内存资源量)*100%=((21.5+7)/30)*100%=95%,worker2的cpu资源利用率为((6+12.5)/20)*100%=92.5%,worker2的内存资源利用率为:((2+18.5)/30)*100%=68.3%。
总资源利用率为:
总的cpu资源利用率为:调度的worker1和worker2的总的cpu资源量/两个worker节点总的空闲cpu资源量*100%=((1+6)/20)*100%=35%,总的内存资源利用率为:调度的worker1和worker2的总的内存资源量/两个worker节点总的空闲内存资源量*100%=((7+2)/20)*100%=45%。
由上述结果可以看出DRF方法虽然保证了资源公平性,但未考虑节点资源负载均衡、用户业务在每个节点的资源负载均衡、同类型任务之间的共享资源干扰等问题,且忽略了用户公平性和节点资源负载均衡的相关性从而不能将资源使用效率调至最优或解决任务之间共享资源干扰等问题。
采用考虑负载均衡的调度方法(轮询或最小连接数)对上述任务进行资源调度的结果如下表2所示,根据表2中结果可以看出Work1剩下的资源为<11.5,1.5G>和Work2剩下的资源为<0.5,7>。用户A的taskA3,用户B的taskB2和taskB3无法分配,需等待其他任务执行完释放资源,使得资源利用率低,时间性能低。
表2
首次分配,针对用户A的taskA1,按照节点顺序,将woker1的资源中用户A调度taskA1所需的资源分配给用户A,经过首次分配后,cpu总分配为1/20,内存总分配为7/20。参见表2第二行。CPU总分配=分配给用户的CPU资源量/CPU总空闲资源量。经过首次分配后,worker1分配的task数为1,worker2分配的task数为0。
在第二分配时,按照用户顺序,针对用户B分配资源,将worker2的资源中用户B调度taskB1所需的资源分配给用户B,参见表2第三行。经过第二次分配后,cpu总分配为6/20,内存总分配为9/20。经过第二次分配后,worker1分配的task数为1,worker2分配的task数为1。
在第三次分配时,针对用户A分配资源,将worker1的资源中用户A调度taskA2所需的资源分配给用户A,此时worker1中的剩余资源不够分配给用户A的,从而从worker2中用户A调度taskA2所需的资源分配给用户A,此时worker1中的剩余资源也不够分配给用户A的,从而针对用户B分配资源,将worker1的资源中用户B调度taskB2所需的资源分配给用户B,此时worker1中的剩余资源不够分配给用户B的,从而从worker2中用户B调度taskB2所需的资源分配给用户B,此时worker2中的剩余资源也不够分配给用户B的,停止分配,参见表1中第四行和第五行。
从上述表2所示,可以看出,worker1的cpu资源利用率为((1+7.5)/20)*100%=42.5%,worker1的内存资源利用率为((21.5+7)/30)*100%=95%,worker2的cpu资源利用率((6+12.5)/20)*100%=92.5%,内存资源利用率为:((2+18.5)/30)*100%=68.3%。
总资源利用率为:
总的cpu资源利用率为:((1+6)/20)*100%=35%;
总的内存资源利用率为:((7+2)/20)*100%=45%。
由上述表2所示结果可以看出,基于负载均衡的调度方法虽然考虑了节点任务数的负载均衡,但未考虑任务所需资源差异较大的情况以及用户业务在每个节点的资源负载均衡、同类型任务之间的共享资源干扰等问题,且忽略了用户公平性和节点资源负载均衡的相关性从而不能将资源使用效率调至最优或解决任务之间共享资源干扰等问题。
通过本申请提供的方案进行资源调度,调度结果如表3所示。
在资源调度器进行资源调度之前,worker1的主导空闲资源的空闲比率为<12.5/20,8.5/30>,划分到cpu资源组,worker2的主导空闲资源的空闲比率为<7.5/20,11.5/30>,划分到内存资源组。
由于在资源调度器进行资源调度之前,并没有为用户A和用户B分配资源,因此,用户A和用户B的主导份额均为0。可以在用户A选择一个任务或者在用户B中选择一个任务调度。参见表3所示,为资源调度器基于本申请提供的方案调度后分配给用户A和用户B的资源情况。表3中以优先针对用户A的任务TaskA1进行调度为例进行说明。还可以优先针对用户B的TaskB1进行调度,本发明实施例在此不再具体说明。针对调度用户A包括的3个任务的顺序以及用户B包括的三个任务的顺序,可以基于任务存储的顺序执行。
表3
参见表3的第二行,在首次调度时,资源调度器随机或者按照用户排序选择了一个用户,这里选择的是用户A,选择用户A的taskA1,并随机选择一个节点woker2,然后将woker2的资源分配用户A执行taskA1所需要的资源。经过首次调度后,用户A的主导份额为7/20,当前,用户A对应为内存资源用户组;用户B的主导份额依然为0;用户A对应到woker1的主导空闲资源的空闲比率为NA,NA表示此次不考虑分配,用户A对应到worker2的用户占用率为<1/7.5,7/11.5>,用户B对应到woker1的用户占用率以及用户B对应到worker2的用户占用率均为NA。当前worker1的空闲比率为<12.5/20,8.5/30>,从而主导空闲资源的空闲比率为12.5/20,划分为cpu资源组,worker2的空闲比率为<6.5/20,4.5/30>,从而主导空闲资源的空闲比率为6.5/20,划分到cpu资源组。
在经过第一次调度后,主导份额最小的用户为用户B,因此从用户B的任务中选择一个taskB1,由于用户B的主导份额为0,因此可以将cpu资源组的节点的资源分配给taskB1,也可以将内存资源组的节点的资源分配taskB1。但是内存资源组没有节点,因此从CPU资源组分配。因此在第二次调度中,资源调度器选择主导空闲资源的空闲比率最大的worker1,并将worker1中的资源中用户A执行taskA1所需要的资源分配给用户A。经过第二次调度后,如表3中第三行所示,用户A的主导份额为7/20,当前,用户A对应为内存资源用户组;用户B的主导份额依然为6/20;用户A对应到woker1的用户占用率为NA,NA表示此次不考虑分配,用户A对应到worker2的用户占用率对比首次调度没有变化,依然为<1/7.5,7/11.5>,用户B对应到woker1的用户占用为<6/12.5,2/8.5>,以及用户B对应到worker2的用户占用率为NA。worker1的主导空闲资源的空闲比率为<6.5/20,6.5/30>,划分为cpu资源组,worker2的主导空闲资源的空闲比率没有变化,依然为<6.5/20,4.5/30>,依然属于cpu资源组。在本实施例中,在选择节点时,以选择主导空闲资源的空闲比率最大的节点为例进行说明。
经过第二次调度后,用户B的主导份额还是小于用户A的主导份额,因此从用户B中选择taskB2。用户B属于cpu资源用户组,因此资源调度器从cpu资源组中选择主导空闲资源的空闲比率最大的节点,确定为woker1与worker2相同,均为6.5/20,从而选择用户B对应的节点的用户主导占用率最小的节点,确定用户B对应worker1的用户主导占用率为6/12.5,用户B对应到worker2的主导空闲资源占用率为NA,由于worker2并未分配资源给用户B,因此确定用户B对应到worker2的实际的用户主导占用率为0。因此在第三次调度后,各个用户以及节点对应的变化的值,参见表3所示的第四行。本申请中,在选择节点时,如果主导空闲资源的空闲比率最大的节点包括两个或两个以上,从两个或两个以上的节点中选择用户主导占用率最小的节点。
经过第三次调度后,资源调度器确定用户A的主导份额为7/20,当前,用户A对应到内存资源用户组;用户B的主导份额为10/20;worker1的空闲比率为<6.5/20,6.5/30>,从而主导空闲资源的空闲比率为6.5/20,划分为cpu资源组,worker2的空闲比率为<2.5/20,3.5/30>,从而主导空闲资源的空闲比率为2.5/20,依然属于cpu资源组。在第四次调度时,资源调度器选择主导份额最小的用户A,用户A主导份额对应的资源为内存资源,需要从内存资源组中选择节点,由于内存资源组中没有节点,因此,资源调度器从与所述第一用户的主导份额对应的资源不同的其它用户中选择主导份额最大的用户B进行资源调度,选择用户B的TaskB3进行资源调度,然后从cpu资源组包括的节点中选择主导空闲资源的空闲比率最大、且节点的主导空闲资源与选择的用户B的主导份额对应的资源相同的worker1。所述资源调度器将选择的worker1中的资源,调度给选择的所述用户B,从而用户B使用调度的资源来执行TaskB3。因此在第四次调度后,各个用户以及节点对应的变化的值,参见表3所示的第五行。
经过第四次调度后,资源调度器确定用户A的主导份额为7/20,当前,用户A对应到内存资源用户组;用户B的主导份额为13/20;worker1的空闲比率为<3.5/20,5.5/30>,从而主导空闲资源的空闲比率为5.5/30,划分为内存资源组,worker2的空闲比率为<2.5/20,3.5/30>,从而主导空闲资源的空闲比率为2.5/20,依然属于cpu资源组。在第五次调度时,资源调度器选择主导份额最小的用户A,选择任务TaskA2,用户A主导份额对应的资源为内存资源,需要从内存资源组中选择节点,选择worker1。所述资源调度器将选择的worker1中的资源,调度给选择的所述用户A,从而用户A使用调度的资源来执行TaskA2。因此在第五次调度后,各个用户以及节点对应的变化的值,参见表3所示的第六行。
经过第五次调度后,资源调度器确定用户A的主导份额为9.5/20,当前,用户A对应到内存资源用户组;用户B的主导份额为13/20;worker1的空闲比率为<1.5/20,3/30>,从而主导空闲资源的空闲比率为3/30,划分为内存资源组,worker2的空闲比率为<2.5/20,3.5/30>,从而主导空闲资源的空闲比率为2.5/20,依然属于cpu资源组。在第六次调度时,资源调度器选择主导份额最小的用户A,选择任务TaskA3,用户A主导份额对应的资源为内存资源,需要从内存资源组中选择节点,选择worker1。所述资源调度器将选择的worker1中的资源,调度给选择的所述用户A,从而用户A使用调度的资源来执行TaskA3。因此在第六次调度后,各个用户以及节点对应的变化的值,参见表3所示的第六行。经过6次调度后,由于worker1的主导空闲资源的空闲比率小于预设阈值,本发明实施例中预设阈值设置为0.1,从而worker1被划分到临界组。后续不对worker1进行资源调度。
根据表3的分配情况可以看出:
1)、用户A和用户B的任务全部分配完,且用户A的主导份额为11.5/20,用户B的主导份额为13/20,用户A与用户B之间相差较小,从而实现了用户公平性;
2)、用户A对于worker1的用户主导占用率(内存资源)为4.5/8≈56.3%,对于worker2的用户主导占用率为7/11.5≈61%;用户B对于worker1的用户主导占用率(cpu资源)为9/12.5=72%,用户B对于worker2的用户主导占用率(cpu资源)为4/7.5≈53%;从上述数据可以确定本发明实施例提供的方案能够实现用户业务在节点之间的负载均衡。
3)、worker1的cpu利用率为:((本次调度的CPU资源+原有被占用的CPU资源)/总CPU资源量)*100%=(19.5/20)*100%=97.5%,worker1的内存的利用率为:((本次调度的内存资源量+原有被占用的内存资源量)/总内存资源量)*100%=(28.5/30)*100%=95%;worker2的cpu利用率为(17.5/20)*100%=87.5%,worker2的内存的利用率为:(26.5/30)*100%=88.3%;从上述数据可以确定本发明实施例提供的方案能够实现节点资源负载均衡。
4)解决了共享资源干扰问题,将cpu资源类型任务和内存资源类型任务被动态分配给不同的节点,从而在一定程度上解决了资源共享干扰的问题。
由于考虑了用户公平性和节点资源负载均衡的关系,节点资源利用率提升,cpu利用率达到80%,内存利用率达到85%,比基于DRF的调度方法和考虑负载均衡的调度方法分别提升了45%和58%。
基于与方法实施例同样的发明构思,本申请还提供了一种资源调度装置,所述装置用于为分布式系统的N个用户的任务分配资源,如图6所示,该装置包括:
第一确定模块501,用于确定第i个用户的主导份额以及确定第a个节点的主导空闲资源;所述主导份额为m种资源对应的用户资源占用率中的最大值;第j种资源对应的用户资源占用率为当前已分配给所述第i个用户的第j种资源的资源量与第j种资源的可分配资源总量的比值;所述j取遍不大于m的所有正整数;m表示待调度资源的总类型数;i取遍所有不大于N的正整数;所述N为大于1的正整数;所述主导空闲资源为m种资源对应的空闲比率中的最大值;第b种资源对应的空闲比率为所述第a个节点的第b种资源中的当前空闲资源量与第a个节点中的第b种资源的资源总量的比值,所述b取遍不大于m的所有正整数;所述a取遍不大于M的所有正整数,所述M表示待调度资源的节点总数;
第一选择模块502,用于从所述N个用户中选择所述第一确定模块501确定的主导份额最小的第一用户,并从所述第一用户的未分配资源的任务中选择第一任务;
第二选择模块503,用于根据所述第一确定模块501确定的M个节点的主导空闲资源,从所述M个节点中选择第一节点;其中,选择的第一节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同;
调度模块504,用于将所述第二选择模块503选择的第一节点中的资源,调度给所述第一选择模块502选择的所述第一用户,以使所述第一用户使用调度的资源来执行选择的所述第一任务。
在一种可能的设计中,所述M个节点被划分为不同组,其中,同一组的节点的主导空闲资源相同,所述第二选择模块503,具体用于从所述不同组中选择一个组,其中,选择的组中包括的节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同;从根据选择的组包括的节点的主导空闲资源的空闲比率从选择的组包括的节点中选择第一节点。
其中,所述第一节点可以是所述M个节点中主导空闲资源的空闲比率最大的节点。
在一种可能的设计中,第二确定模块505,在选择第一节点时,具体用于确定选择的所述第一用户对于所述至少两个节点中第c个节点的用户主导占用率;所述用户主导占用率为m种资源对应的用户占用率中的最大值;第d种资源对应的用户占用率为第c个节点中已分配给选择的所述第一用户的第d种资源的资源量与所述第c个节点中第d种资源的可分配资源总量的比值;第c个节点为所述至少两个节点中的任一个,所述d取遍不大于m的所有正整数;
所述第二选择模块503,具体用于从所述至少两个节点中选择所述第二确定模块505确定的对应所述第一用户的用户主导占用率最小的第一节点。
在一种可能的设计中,所述第一选择模块502,还用于在确定所有节点的主导空闲资源与选择的第一用户的主导份额对应的资源均不相同时,从与所述第一用户的主导份额对应的资源不同的其它用户中选择主导份额最大的第二用户,并从所述第二用户的未分配资源的任务中选择第二任务;
所述第二选择模块503,还用于从M个节点中选择主导空闲资源的空闲比率最大、且节点的主导空闲资源与所述第一选择模块502选择的第二用户的主导份额对应的资源相同的第二节点;
所述调度模块504,还用于将所述第二选择模块503选择的第二节点中的资源,调度给选择的所述第二用户,以使所述第二用户使用调度的资源来执行选择的所述第二任务。
在一种可能的设计中,所述调度模块504,还用于在确定第a个节点的主导空闲资源的空闲比率小于预设阈值时,则确定不对第a个节点进行资源调度。
通过本申请提供的方案,资源调度装置确定每个用户的主导份额以及每个节点的主导空闲资源的空闲比率,然后基于主导份额以及主导空闲资源的空闲比率将各个节点的资源分配到各个用户,同时考虑了用户之间的公平性以及节点之间的负载均衡,从而提高了资源利用率,在一定程度上降低了资源共享干扰问题。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
其中,集成的模块既可以采用硬件的形式实现时,如图7所示,资源调度器可以包括处理器602。上述模块对应的实体的硬件可以为处理器602。处理器602,可以是一个中央处理模块(英文:central processing unit,简称CPU),或者为数字处理模块等等。资源调度器还可以包括通信接口601,处理器602通过通信接口601接收用户任务以及资源列表,例如,图4以及图5所示。该装置还包括:存储器603,用于存储处理器602执行的程序。存储器603可以是非易失性存储器,比如硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD)等,还可以是易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM)。存储器603是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
处理器602用于执行存储器603存储的程序代码,具体用于执行图1或图2所示实施例所述的方法。可以参见图1或图2所示实施例所述的方法,本申请在此不再赘述。
本申请实施例中不限定上述通信接口601、处理器602以及存储器603之间的具体连接介质。本申请实施例在图7中以存储器603、处理器602以及通信接口601之间通过总线604连接,总线在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本发明实施例还提供了一种计算机可读存储介质,用于存储为执行上述处理器所需执行的计算机软件指令,其包含用于执行上述处理器所需执行的程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (12)

1.一种资源调度方法,其特征在于,所述方法用于为分布式系统的N个用户的任务分配资源,所述方法包括:
资源调度器确定第i个用户的主导份额;所述主导份额为m种资源对应的用户资源占用率中的最大值;第j种资源对应的用户资源占用率为当前已分配给所述第i个用户的第j种资源的资源量与第j种资源的可分配资源总量的比值;所述j取遍不大于m的所有正整数;m表示待调度资源的总类型数;i取遍所有不大于N的正整数;所述N为大于1的正整数;
所述资源调度器确定第a个节点的主导空闲资源,所述主导空闲资源为m种资源中对应的空闲比率最大的资源;第b种资源对应的空闲比率为所述第a个节点的第b种资源中的当前空闲资源量与第a个节点中的第b种资源的资源总量的比值,所述b取遍不大于m的所有正整数;所述a取遍不大于M的所有正整数,所述M表示待调度资源的节点总数;
所述资源调度器从所述N个用户中选择主导份额最小的第一用户,
并从所述第一用户的未分配资源的任务中选择第一任务;
所述资源调度器根据M个节点的主导空闲资源,从所述M个节点中选择第一节点,其中,选择的第一节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同;
所述资源调度器将选择的第一节点中的资源,调度给选择的所述第一用户,以使所述第一用户使用调度的资源来执行选择的所述第一任务。
2.如权利要求1所述的方法,其特征在于,所述M个节点被划分为不同组,其中,同一组的节点的主导空闲资源相同;
所述资源调度器从M个节点中选择第一节点,包括:
所述资源调度器从所述不同组中选择一个组,其中,选择的组中包括的节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同;
所述资源调度器根据选择的组包括的节点的主导空闲资源的空闲比率从选择的组包括的节点中选择第一节点。
3.如权利要求1或2所述的方法,其特征在于,所述第一节点是所述M个节点中主导空闲资源的空闲比率最大的节点。
4.如权利要求1至3任一项所述的方法,其特征在于,所述资源调度器根据M个节点的主导空闲资源,从所述M个节点中选择第一节点,包括:
所述资源调度器确定主导空闲资源与选择的第一用户的主导份额对应的资源相同的至少两个节点;
所述资源调度器确定选择的所述第一用户对于所述至少两个节点中第c个节点的用户主导占用率;所述用户主导占用率为m种资源对应的用户占用率中的最大值;第d种资源对应的用户占用率为第c个节点中已分配给选择的所述第一用户的第d种资源的资源量与所述第c个节点中第d种资源的可分配资源总量的比值;所述第c个节点为所述至少两个节点中的任一个,所述d取遍不大于m的所有正整数;
所述资源调度器从所述至少两个节点中,选择对应所述第一用户的用户主导占用率最小的第一节点。
5.如权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
在确定所有节点的主导空闲资源与选择的第一用户的主导份额对应的资源均不相同时,所述资源调度器从与所述第一用户的主导份额对应的资源不同的其它用户中选择主导份额最大的第二用户,并从所述第二用户的未分配资源的任务中选择第二任务;
所述资源调度器从M个节点中选择主导空闲资源的空闲比率最大、且节点的主导空闲资源与选择的第二用户的主导份额对应的资源相同的第二节点;
所述资源调度器将选择的第二节点中的资源,调度给选择的所述第二用户,以使所述第二用户使用调度的资源来执行选择的所述第二任务。
6.如权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
所述资源调度器在确定第a个节点的主导空闲资源的空闲比率小于预设阈值时,则确定不对第a个节点进行资源调度。
7.一种资源调度装置,其特征在于,所述装置用于为分布式系统的N个用户的任务分配资源,所述装置包括:
第一确定模块,用于确定第i个用户的主导份额以及确定第a个节点的主导空闲资源;所述主导份额为m种资源对应的用户资源占用率中的最大值;第j种资源对应的用户资源占用率为当前已分配给所述第i个用户的第j种资源的资源量与第j种资源的可分配资源总量的比值;所述j取遍不大于m的所有正整数;m表示待调度资源的总类型数;i取遍所有不大于N的正整数;所述N为大于1的正整数;所述主导空闲资源为m种资源中对应的空闲比率最大的资源;第b种资源对应的空闲比率为所述第a个节点的第b种资源中的当前空闲资源量与第a个节点中的第b种资源的资源总量的比值,所述b取遍不大于m的所有正整数;所述a取遍不大于M的所有正整数,所述M表示待调度资源的节点总数;
第一选择模块,用于从所述N个用户中选择所述第一确定模块确定的主导份额最小的第一用户,并从所述第一用户的未分配资源的任务中选择第一任务;
第二选择模块,用于根据所述第一确定模块确定的M个节点的主导空闲资源,从所述M个节点中选择第一节点;其中,选择的第一节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同;
调度模块,用于将所述第二选择模块选择的第一节点中的资源,调度给所述第一选择模块选择的所述第一用户,以使所述第一用户使用调度的资源来执行选择的所述第一任务。
8.如权利要求7所述的装置,其特征在于,所述M个节点被划分为不同组,其中,同一组的节点的主导空闲资源相同,所述第二选择模块,具体用于从所述不同组中选择一个组,其中,选择的组中包括的节点的主导空闲资源与选择的第一用户的主导份额对应的资源相同;并根据选择的组包括的节点的主导空闲资源的空闲比率从选择的组包括的节点中选择第一节点。
9.如权利要求7或8所述的装置,其特征在于,所述第一节点是所述M个节点中主导空闲资源的空闲比率最大的节点。
10.如权利要求7至9任一项所述的装置,其特征在于,还包括:
第二确定模块,用于确定主导空闲资源与选择的第一用户的主导份额对应的资源相同的至少两个节点;并
确定选择的所述第一用户对于所述至少两个节点中第c个节点的用户主导占用率;所述用户主导占用率为m种资源对应的用户占用率中的最大值;第d种资源对应的用户占用率为第c个节点中已分配给选择的所述第一用户的第d种资源的资源量与所述第c个节点中第d种资源的可分配资源总量的比值;所述第c个节点为所述至少两个节点中的任一个,所述d取遍不大于m的所有正整数;
所述第二选择模块,具体用于从所述至少两个节点中,选择所述第二确定模块确定的对应所述第一用户的用户主导占用率最小的第一节点。
11.如权利要求7至10任一项所述的装置,其特征在于,所述第一选择模块,还用于在确定所有节点的主导空闲资源与选择的第一用户的主导份额对应的资源均不相同时,从与所述第一用户的主导份额对应的资源不同的其它用户中选择主导份额最大的第二用户,并从所述第二用户的未分配资源的任务中选择第二任务;
所述第二选择模块,还用于从M个节点中选择主导空闲资源的空闲比率最大、且节点的主导空闲资源与所述第一选择模块选择的第二用户的主导份额对应的资源相同的第二节点;
所述调度模块,还用于将所述第二选择模块选择的第二节点中的资源,调度给选择的所述第二用户,以使所述第二用户使用调度的资源来执行选择的所述第二任务。
12.如权利要求7至11任一项所述的装置,其特征在于,所述调度模块,还用于在确定第a个节点的主导空闲资源的空闲比率小于预设阈值时,则确定不对第a个节点进行资源调度。
CN201611261831.XA 2016-12-30 2016-12-30 一种资源分配方法及装置 Active CN108268317B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201611261831.XA CN108268317B (zh) 2016-12-30 2016-12-30 一种资源分配方法及装置
PCT/CN2017/106096 WO2018120991A1 (zh) 2016-12-30 2017-10-13 一种资源调度方法及装置
EP17887260.2A EP3553656A4 (en) 2016-12-30 2017-10-13 RESOURCE PLANNING PROCESS AND DEVICE
US16/456,982 US20190319895A1 (en) 2016-12-30 2019-06-28 Resource Scheduling Method And Apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611261831.XA CN108268317B (zh) 2016-12-30 2016-12-30 一种资源分配方法及装置

Publications (2)

Publication Number Publication Date
CN108268317A true CN108268317A (zh) 2018-07-10
CN108268317B CN108268317B (zh) 2020-07-28

Family

ID=62707795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611261831.XA Active CN108268317B (zh) 2016-12-30 2016-12-30 一种资源分配方法及装置

Country Status (4)

Country Link
US (1) US20190319895A1 (zh)
EP (1) EP3553656A4 (zh)
CN (1) CN108268317B (zh)
WO (1) WO2018120991A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019453A (zh) * 2019-05-29 2020-12-01 潘仲光 资源重分配方法、设备及存储介质
CN113037800A (zh) * 2019-12-09 2021-06-25 华为技术有限公司 作业调度方法以及作业调度装置
CN113626161A (zh) * 2021-07-09 2021-11-09 中国科学院信息工程研究所 一种分布式多用户的数据调度方法及系统
CN114265676A (zh) * 2021-12-08 2022-04-01 中国联合网络通信集团有限公司 集群资源调度方法、装置、设备及介质
CN114911618A (zh) * 2022-05-12 2022-08-16 中国电信股份有限公司 异构资源分配方法、装置、电子设备及存储介质

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102394203B1 (ko) * 2017-07-07 2022-05-04 삼성전자주식회사 무선 통신 시스템에서 기지국 부하 분산을 위한 장치 및 방법
CN109697115B (zh) * 2017-10-20 2023-06-06 伊姆西Ip控股有限责任公司 用于调度应用的方法、装置以及计算机可读介质
CN111240841B (zh) * 2020-01-10 2023-09-05 支付宝(杭州)信息技术有限公司 用于执行新任务或处理资源撤回请求的方法和系统
CN111260322A (zh) * 2020-01-16 2020-06-09 襄阳航泰动力机器厂 一种离散型制造业工单排程改进方法
CN111445101B (zh) * 2020-05-15 2024-08-02 广联达科技股份有限公司 一种云计算资源调度的方法、系统和介质
US11687370B2 (en) * 2020-11-23 2023-06-27 International Business Machines Corporation Activity assignment based on resource and service availability
JP2022088762A (ja) * 2020-12-03 2022-06-15 富士通株式会社 情報処理装置およびジョブスケジューリング方法
CN114020470B (zh) * 2021-11-09 2024-04-26 抖音视界有限公司 资源分配方法、装置、可读介质及电子设备
CN114979282B (zh) * 2022-07-28 2023-01-20 北京金山云网络技术有限公司 任务调度方法、装置、存储介质以及电子设备
TWI833643B (zh) * 2023-05-05 2024-02-21 緯創資通股份有限公司 網路配置方法及其網路配置單元

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110185364A1 (en) * 2010-01-26 2011-07-28 Microsoft Corporation Efficient utilization of idle resources in a resource manager
CN103699445A (zh) * 2013-12-19 2014-04-02 北京奇艺世纪科技有限公司 一种任务调度方法、装置及系统
CN103729246A (zh) * 2013-12-31 2014-04-16 浪潮(北京)电子信息产业有限公司 一种任务调度方法和装置
CN104268018A (zh) * 2014-09-22 2015-01-07 浪潮(北京)电子信息产业有限公司 一种Hadoop集群中的作业调度方法和作业调度器
CN104881325A (zh) * 2015-05-05 2015-09-02 中国联合网络通信集团有限公司 一种资源调度方法和资源调度系统
CN105068874A (zh) * 2015-08-12 2015-11-18 国家电网公司 一种结合Docker技术的资源按需动态分配方法
CN105302650A (zh) * 2015-12-10 2016-02-03 云南大学 一种面向云计算环境下的动态多资源公平分配方法
CN105446816A (zh) * 2015-11-11 2016-03-30 华南理工大学 一种面向异构平台的能耗优化调度方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103369041B (zh) * 2013-07-09 2017-10-03 北京奇虎科技有限公司 基于云计算的资源分配方法及装置
WO2015127668A1 (en) * 2014-02-28 2015-09-03 Pivotal Software, Inc. Task centric resource scheduling framework
CN105872114A (zh) * 2016-06-22 2016-08-17 北京邮电大学 一种视频监控云平台资源调度方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110185364A1 (en) * 2010-01-26 2011-07-28 Microsoft Corporation Efficient utilization of idle resources in a resource manager
CN103699445A (zh) * 2013-12-19 2014-04-02 北京奇艺世纪科技有限公司 一种任务调度方法、装置及系统
CN103729246A (zh) * 2013-12-31 2014-04-16 浪潮(北京)电子信息产业有限公司 一种任务调度方法和装置
CN104268018A (zh) * 2014-09-22 2015-01-07 浪潮(北京)电子信息产业有限公司 一种Hadoop集群中的作业调度方法和作业调度器
CN104881325A (zh) * 2015-05-05 2015-09-02 中国联合网络通信集团有限公司 一种资源调度方法和资源调度系统
CN105068874A (zh) * 2015-08-12 2015-11-18 国家电网公司 一种结合Docker技术的资源按需动态分配方法
CN105446816A (zh) * 2015-11-11 2016-03-30 华南理工大学 一种面向异构平台的能耗优化调度方法
CN105302650A (zh) * 2015-12-10 2016-02-03 云南大学 一种面向云计算环境下的动态多资源公平分配方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019453A (zh) * 2019-05-29 2020-12-01 潘仲光 资源重分配方法、设备及存储介质
CN113037800A (zh) * 2019-12-09 2021-06-25 华为技术有限公司 作业调度方法以及作业调度装置
CN113037800B (zh) * 2019-12-09 2024-03-05 华为云计算技术有限公司 作业调度方法以及作业调度装置
CN113626161A (zh) * 2021-07-09 2021-11-09 中国科学院信息工程研究所 一种分布式多用户的数据调度方法及系统
CN113626161B (zh) * 2021-07-09 2023-12-22 中国科学院信息工程研究所 一种分布式多用户的数据调度方法及系统
CN114265676A (zh) * 2021-12-08 2022-04-01 中国联合网络通信集团有限公司 集群资源调度方法、装置、设备及介质
CN114911618A (zh) * 2022-05-12 2022-08-16 中国电信股份有限公司 异构资源分配方法、装置、电子设备及存储介质
CN114911618B (zh) * 2022-05-12 2024-04-26 中国电信股份有限公司 异构资源分配方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US20190319895A1 (en) 2019-10-17
CN108268317B (zh) 2020-07-28
EP3553656A1 (en) 2019-10-16
WO2018120991A1 (zh) 2018-07-05
EP3553656A4 (en) 2019-11-27

Similar Documents

Publication Publication Date Title
CN108268317B (zh) 一种资源分配方法及装置
CN107688492B (zh) 资源的控制方法、装置和集群资源管理系统
CN109936604B (zh) 一种资源调度方法、装置和系统
CN102387173B (zh) 一种MapReduce系统及其调度任务的方法和装置
CN109564528B (zh) 分布式计算中计算资源分配的系统和方法
EP3073374A1 (en) Thread creation method, service request processing method and related device
CN102426542B (zh) 数据中心资源管理系统及作业调度方法
JP2022539955A (ja) タスクスケジューリング方法及び装置
CN108123980B (zh) 一种资源调度方法及系统
CN110187960A (zh) 一种分布式资源调度方法及装置
CN114443263A (zh) 显存管理方法、装置、设备及系统
CN105718316A (zh) 一种作业调度的方法及装置
CN111488206A (zh) 一种深度学习任务调度方法、系统、终端及存储介质
US8924754B2 (en) Quality of service targets in multicore processors
Subramanian et al. An adaptive algorithm for dynamic priority based virtual machine scheduling in cloud
CN106775990A (zh) 请求调度方法和装置
CN104268018A (zh) 一种Hadoop集群中的作业调度方法和作业调度器
CN114489978A (zh) 资源调度方法、装置、设备及存储介质
Komarasamy et al. A novel approach for dynamic load balancing with effective bin packing and vm reconfiguration in cloud
CN110178119B (zh) 处理业务请求的方法、装置与存储系统
US20170344266A1 (en) Methods for dynamic resource reservation based on classified i/o requests and devices thereof
Shu-Jun et al. Optimization and research of hadoop platform based on fifo scheduler
CN114265676B (zh) 集群资源调度方法、装置、设备及介质
CN115934362A (zh) 面向深度学习的服务器无感知计算集群调度方法及产品
CN106775975B (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