一种资源分配方法及装置与流程

文档序号:11917922阅读:236来源:国知局
一种资源分配方法及装置与流程

本申请涉及计算机技术领域,尤其涉及一种资源分配方法及装置。



背景技术:

随着信息技术的发展,服务提供方(如:、网站、企业等)中通常会运行一定数量的业务,用以为用户提供多样化的服务。

目前,业务在投入运行时,相应的管理系统会针对各业务分配资源,以便业务能够正常运行。然而,服务提供商包含的资源的总量通常是有限的,已运行的业务可能占用大多数或全部的资源,此时,如果还有新的业务投入运行时,将导致管理系统没有过多的资源分配给新增的业务。

为了解决上述新增业务投入运行时缺乏资源的情况,现有技术中,管理系统通常会采用关停已运行业务的方式为新增业务提供资源,具体地:针对新增业务,关停业务级别低于新增业务的已运行业务,并将关停后的业务中的资源分配给新增业务。

但是,在其他已运行的业务中,可能存在较为富余的资源,采用现有技术中的分配方式,并不能充分利用资源,而且关停业务可能会导致服务提供方所提供的业务服务受到影响。



技术实现要素:

本申请实施例提供一种资源分配方法及装置,用以解决现有的资源分配方式导致资源的利用率较低的问题。

本申请实施例提供的一种资源分配方法,包括:

确定新增业务所需的资源量;

确定所有已运行业务分别对应的资源;

根据所述新增业务所需的资源量以及各已运行业务对应的资源,从各已运行业务对应的资源中调取资源,并分配给所述新增业务;

其中,针对任一已运行业务,从该已运行业务的资源中调取资源后,该已运行业务对应的资源量不低于该已运行业务对应的预设资源量阈值。

本申请实施例提供的一种资源分配装置,包括:

第一确定模块,用于确定新增业务所需的资源量;

第二确定模块,用于确定所有已运行业务分别对应的资源;

分配模块,用于根据所述新增业务所需的资源量以及各已运行业务对应的资源,从各已运行业务对应的资源中调取资源,并分配给所述新增业务;

其中,针对任一已运行业务,从该已运行业务的资源中调取资源后,该已运行业务对应的资源量不低于该已运行业务对应的预设资源量阈值。

本申请实施例提供一种资源分配方法及装置,通过本方法,当服务提供方中新增业务投入运行时,相应的管理系统会确定该新增业务所需的资源量,并在所有已运行业务中确定出各自对应的资源,已运行业务对应的资源往往存在一定的富余,故可以根据新增业务所需的资源以及各已运行业务的资源,从已运行业务对应的资源中调取资源分配给新增业务。与现有技术中不同的是,采用本申请中的分配方式,有效地利用了已运行业务中较为富余的资源,在将资源分配给新增业务使得该新增业务正常运行的同时,已运行业务仍能够正常运行,极大提升了对资源的利用率,此外,采用本申请中的分配方式还可以最大程度减少已运行业务的关停。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的资源分配过程;

图2为本申请实施例提供的资源分配装置结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

如图1所示,本申请实施例提供一种资源分配过程,具体包括以下步骤:

S101:确定新增业务所需的资源量。

正如前述,在实际应用场景下,服务提供方为了保证可以为用户提供多样化的服务,会在原有业务的基础上不断新增不同类型的业务(也即,新增业务)。新增业务在投入运行时,服务提供方将为新增业务分配资源,以便后续能够正常运行。在本申请实施例中,所述的资源可以是服务器、终端等设备的处理资源(如:内存使用量、中央处理器占用率等)、还可以是在管理系统中录入的人员信息等。这里并不构成对本申请的限定。

上述资源的多少将对新增业务运行时的稳定性和效率产生影响,所以,为了保证后续过程中新增业务可以顺利运行,在上述步骤中将确定出新增业务所需的资源的数量(即,资源量),以便在后续过程中为新增业务分配适量的资源。

S102:确定所有已运行业务分别对应的资源。

对于服务提供方而言,通常会运行有一定数量的业务(即,已运行业务),这些业务在投入运行时,也需要使用一定数量的资源,正如前述,在服务提供方内部,其拥有的资源的总量通常是有限的,已运行的业务可能会占用大多数或是全部的资源,为了能够针对新增业务分配相应数量的资源,就要确定出这 些已运行业务所占用的资源。

S103:根据所述新增业务所需的资源量以及各已运行业务对应的资源,从各已运行业务对应的资源中调取资源,并分配给所述新增业务。

其中,针对任一已运行业务,从该已运行业务的资源中调取资源后,该已运行业务对应的资源量不低于该已运行业务对应的预设资源量阈值。

不同的已运行业务在运行过程中所占用的资源的数量通常各不相同,在这些已运行业务所对应的资源中,若从中调取少量的资源,并不会影响已运行业务的正常运行,从而,也就可以从服务提供方内的已运行业务的资源中,调取出适量的资源分配给新增业务,以使得所述新增业务获得其所需资源量的资源,从而保证新增业务可以正常运行。

需要说明的是,对于已运行业务而言,从已运行业务中所调取的资源并不能过多,否则将影响已运行业务的正常运行,正如本步骤中所述,每一已运行业务通常都有各自对应的预设资源量阈值,预设的资源量阈值反映了每一已运行业务正常运行所需的资源量。故为了保证在进行资源的调取之后,已运行业务仍可正常运行,针对任一已运行业务,从该已运行业务的资源中调取资源后,该已运行业务对应的资源量不低于该已运行业务对应的预设资源量阈值。

上述的资源分配过程,具体可以由服务提供方内部具有集中管理、分配功能的系统实现,也即,该系统可从已运行业务对应的资源中调取资源,并为新增业务进行资源分配。其中,作为一种可能的方式,所述的系统可以由具有管理功能的服务器集群构成,当然,这里并不构成对本申请的限定。

通过上述步骤,当服务提供方中新增业务投入运行时,相应的管理系统会确定该新增业务所需的资源量,并在所有已运行业务中确定出各自对应的资源,已运行业务对应的资源往往存在一定的富余,故可以根据新增业务所需的资源以及各已运行业务的资源,从已运行业务对应的资源中调取资源分配给新增业务。与现有技术中不同的是,采用本申请中的分配方式,有效地利用了已运行业务中较为富余的资源,在将资源分配给新增业务使得该新增业务正常运行的 同时,已运行业务仍能够正常运行,极大提升了对资源的利用率,此外,采用本申请中的分配方式还可以最大程度减少已运行业务的关停。

在实际应用中,不同的已运行业务所对应的资源的数量之间通常具有一定的差异:某些已运行业务对应的资源较多,而某些则较少。对于拥有较多资源的已运行业务而言,若从中调取一定数量的资源,也并不会影响该已运行业务的正常运行,反之,对于拥有较少资源的已运行业务而言,从中调取资源可能会对该已运行业务的正常运行造成一定的影响。也就是说,在为新增业务分配资源的过程中,可以根据已运行业务所对应的资源的多少,来决定进行资源调取时所优先选择的已运行业务。

正是基于此,在本申请实施例中,从各已运行业务对应的资源中调取资源,具体包括:根据预设的各区间,分别确定各已运行业务对应的资源量所落入的区间,按照不同区间的优先级又高到底的顺序,依次针对每个区间,从资源量落入该区间的已运行业务的资源中,调取资源,直到所调取的资源总量不小于所述新增业务所需的资源量为止。

本申请实施例中所述的区间是根据资源量进行划分形成的不同分档,可以认为,通过划分区间的方式,可将各已运行业务所对应的资源的数量分成不同的档位。当然,所划分的区间的数量可以根据实际应用的需要进行调节,这里并不构成对本申请的限定。

在本申请实施例中的一种方式下,区间内的数值可表示资源量,也即,数值大的区间表示资源量多,其优先级也就越高;而数值小的区间也就表示资源量少,其优先级也就越低。所以,在进行资源调取时,将优先从数值大的区间对应的已运行业务的资源中,调取资源分配给新增业务。此时,如果分配给新增业务的资源的数量并未达到该新增业务所需的资源量,那么,就按照优先级顺序,从下一区间对应的已运行业务的资源中,调取资源分配给新增业务。以此类推,直到所调取的资源总量不小于所述新增业务所需的资源量为止。

在本申请实施例中的另一种方式下,区间内的数值还可表示资源富余量, 也即,区间的数值越大,表示资源富余量也就越多,相应地优先级也就越高;反之,资源富余量也就越少,其优先级也就越低。在该方式下,资源富余量的确定,可以根据每一已运行业务自身对应的资源量阈值而得到,如:某已运行业务的资源量阈值为10(表示该已运行业务正常运行时需要10个单位的资源),假设当前该已运行业务对应的资源的数量为15,显然,对于该已运行业务而言,其资源富余量为5。这里仅是一种示例,并不构成对本申请的限定。同样地,该方式下进行资源调取时的优先级顺序,与上一方式类似,故在此不再赘述。

考虑到实际应用中,每一区间内,往往对应着若干不同的已运行业务,而在实际应用中,不同的已运行业务的业务等级往往不同:某些业务较为重要,那么,其业务等级较高;而某些已运行业务的重要程度较低,相应地,其业务等级较低。所以,在进行资源调取的过程中,将优先从业务等级较低的已运行业务中调取资源,如果所调取的资源总量以达到新增业务所需的资源量,那么,就不再调取业务等级高的已运行业务。

因此,在本申请实施例中,具体而言,从资源量落入该区间的已运行业务的资源中,调取资源,具体包括:确定资源量落入该区间的每个已运行业务的业务等级,按照所述业务等级由低到高的顺序,从资源量落入该区间的各已运行业务对应的资源中,调取资源。

考虑到在实际应用时,新增业务往往也具有业务等级,那么,在资源调取的过程中,并不会从业务等级高于新增业务的已运行业务中调取资源,而只会从与新增业务的业务等级相匹配的已运行业务中调取资源,所以,作为本申请实施例中的一种方式,从资源量落入该区间的各已运行业务的资源中调取资源,具体包括:确定所述新增业务的业务等级,从资源量落入该区间内,且业务等级不高于所述新增业务的业务等级的各已运行业务的资源中调取资源。

针对上述内容,现以一具体应用实例进行详细说明:

在本实例中,假设服务提供方内的业务等级具体分为:高、中、低三种等级;

假设区间按照资源富余量的多少进行划分,按照数值大小的顺序,得到三种区间:Q1(资源富余量≥6)、Q2(6>资源富余量≥1)、Q3(资源富余量<1)。其中,区间Q1表示资源富余量较大,处于该区间内的已运行业务即使调取了一定数量的资源,也仍能够正常运行;区间Q2表示资源富余量较少,处于该区间内的已运行业务调取了一定数量的资源后,有可能对已运行业务的正常运行产生一定程度的影响;区间Q3表示资源富余量极少甚至可能缺乏资源(Q3中的数值可以为负值,表示缺乏资源的数量),处于该区间内的已运行业务的运行状态不稳定,若从这些已运行业务中再调取资源,便有可能导致业务不能运行。

同时,假设当前在服务提供方内一共运行有三个已运行业务Y1、Y2、Y3。这三个已运行业务已占用了服务提供方自身的全部资源,此时有一新增业务将投入运行,故服务提供方内的系统将从已运行业务中调取资源,为该新增业务分配资源,具体地:

服务提供方内的管理系统首先将确定新增业务所需的资源量(假设所需的资源量为10),以及该新增业务的业务等级(假设业务等级为:中)。

管理系统将确定出资源量所落入区间Q1~Q3的各已运行业务,显然,对于区间Q1而言,该区间对应的已运行业务的资源量较多,故将优先从区间Q1对应的已运行业务的资源中调取资源。

区间Q1内所对应的若干已运行业务具有不同的业务等级,假设具体如下表1所示:

表1

在表1中可见,在区间Q1内,包含了三个已运行业务:Y1、Y2以及Y3, 其中,已运行业务Y1的业务等级为:低,且当前的资源富余量为8;已运行业务Y2的业务等级为:中,且当前的资源富余量为7;已运行业务Y3的业务等级为:高,且当前的资源富余量为10。

正如前述,业务等级越高,那么,该业务也就越重要,为了保证业务等级高的已运行业务能够正常运行,所以,将优先从业务等级低的已运行业务中调取资源,并按照业务等级由低到高的顺序,分别调取不同业务等级的已运行业务的资源。所以,在对表1中所示的三个已运行业务的资源进行调取时,将遵循业务等级由低到高的顺序。也即,优先从已运行业务Y1中的资源进行调取。

具体来说,本实例中针对区间Q1中已运行业务的调取过程为:优先从已运行业务Y1的资源中,调取出2个资源,再从已运行业务Y2的资源中,调取1个资源。对于已运行业务Y3而言,由于其业务等级高于新增业务的业务等级,故并不会从已运行业务Y3的资源中调取资源。

当前时刻,新增业务获得的资源总量为3,并未达到其所需的资源量10,所以,仍将继续调取资源:继续从已运行业务Y1和Y2中的分别调取1个资源,分配给新增业务(此时分配给新增业务的资源总量为5)。这样一来,已运行业务Y1和Y2当前资源富余量均小于6,即小于区间Q1的最低限,所以,此时的已运行业务Y1和Y2的前资源富余量便降为Q2区间,如表2所示。

表2

针对表2中的已运行业务的状态,将优先从已运行业务Y1中调取资源(并保证在调取资源后,已运行业务Y1的资源量不超过区间Q2的最低限),也即,从已运行业务Y1中调取4个资源,分配给新增业务,此时,分配给新增业务的资源总量为9,仍未达到其所需的资源量10,因此,再从已运行业务Y2中 调取1个资源,分配给新增业务。

至此,新增业务所获得的资源总量为10,不低于其所需的资源量,那么,该新增业务将可以正常运行。并且,上述已运行业务Y1和Y2也可以保持运行。

上述实例仅是本申请中为了清楚描述资源分配过程的示例,在实际应用中,对资源的分配方式将不限于上述实例,例如:新增业务所需的资源量较大,经过上述的过程为该新增业务分配资源后,分配的资源总量认为达到新增业务所需的资源量,那么,可以将低业务级别、且处于区间Q3内的已运行业务关停,再将该已运行业务的所有资源分配给新增业务。可见,在实际应用中,可以根据实际应用的需要,调节资源分配的方式,上述内容并不构成对本申请的限定。

此外,在实际应用时,已运行业务所占用的资源以及新增业务所需的资源,可能有多种类别,一个业务如果能够正常运行,往往需要不同类别的资源的支持。以资源为人员信息为例:在这种情况下,不同类别的资源就可以是不同类别的人员信息(如:测试人员信息、开发人员信息,架构师信息等等)。

在任一业务中,对于不同类别的资源而言,每一类别的资源都有各自的资源量,因此,在本申请实施例中,上述步骤S101,确定新增业务所需的资源量,具体包括:确定新增业务所需的每一类资源的资源量。上述步骤S103,根据所述新增业务所需的资源量以及各已运行业务对应的资源,从各已运行业务对应的资源中调取资源,具体包括:针对所述新增业务所需的每一类资源,根据所述新增业务所需的该类资源的资源量,以及各已运行业务对应的资源,从各已运行业务对应的该类资源中调取资源。

针对任一已运行业务中的每一类资源,从该已运行业务对应的该类资源中调取资源后,该类资源量不低于该已运行业务对应的每一类资源的预设资源量阈值。

也就是说,已运行业务的每一类资源,都设有相应的资源量阈值,如果新增业务也需要该类资源,服务提供方会从该已运行业务中调取该类资源,并且, 经过调取后,已运行业务所剩余的该类资源的数量不低于预设的资源量阈值,若分配给新增业务的该类资源的总量为达到其所需资源量,那么,再从其他已运行业务中调取该类资源。

可见,通过上述步骤,采用本申请的分配方式还可以精确地为新增业务所需的不同类别的资源,调取到相匹配类别的资源。

综上所述,本申请的分配方法适用于各类业务所需资源的场景,也包括项目管理中心(Project Management Office,PMO)系统,在PMO系统中,不同业务项目所需的资源为人员信息,通过本申请中的分配方式,可以从已运行项目所占用的人员信息中,为新增项目分配不同类别的人员信息,在分配完成后,将以调配通知信息的方式,实现人员的调配。针对人员信息的分配过程与上述内容相类似,故在此不作过多赘述。

以上为本申请实施例提供的资源分配方法,基于同样的思路,本申请实施例还提供一种资源分配装置,如图2所示。所述装置包括:

第一确定模块201,用于确定新增业务所需的资源量。

第二确定模块202,用于确定所有已运行业务分别对应的资源。

分配模块203,用于根据所述新增业务所需的资源量以及各已运行业务对应的资源,从各已运行业务对应的资源中调取资源,并分配给所述新增业务。

其中,针对任一已运行业务,从该已运行业务的资源中调取资源后,该已运行业务对应的资源量不低于该已运行业务对应的预设资源量阈值。

所述分配模块203,具体用于根据预设的各区间,分别确定各已运行业务对应的资源量所落入的区间,按照不同区间的优先级由高到低的顺序,依次针对每个区间,从资源量落入该区间的已运行业务的资源中,调取资源,直到所调取的资源总量不小于所述新增业务所需的资源量为止。

所述分配模块203,具体用于确定资源量落入该区间的每个已运行业务的业务等级,按照所述业务等级由低到高的顺序,从资源量落入该区间的各已运行业务的资源中调取资源。

所述分配模块203,具体用于确定所述新增业务的业务等级,从资源量落入该区间内,且业务等级不高于所述新增业务的业务等级的各已运行业务的资源中调取资源。

所述第一确定模块201,具体用于确定新增业务所需的每一类资源的资源量;

所述分配模块203,具体用于针对所述新增业务所需的每一类资源,根据所述新增业务所需的该类资源的资源量,以及各已运行业务对应的资源,从各已运行业务对应的该类资源中调取资源。

其中,针对任一已运行业务中的每一类资源,从该已运行业务对应的该类资源中调取资源后,该类资源量不低于该已运行业务对应的每一类资源的预设资源量阈值。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1