一种资源池的分配方法和装置的制作方法

文档序号:7651351阅读:119来源:国知局
专利名称:一种资源池的分配方法和装置的制作方法
技术领域
本申请涉及计算机技术领域,特别是一种资源池的分配方法和装置。
背景技术
目前,在很多的系统设计中都引入了资源池技术,如线程池或数据库连接池等。通过在资源池中缓存资源,不仅可以快速地分配资源,还可以通过限制资源池的大小以保证系统整体上的资源不超过负荷能力。如图I为现有技术中为各种业务请求分配资源池的方法流程图。进一步地,将资源池进行逻辑拆分,并为每一种类别的业务请求分配一定大小的子资源池。例如,当为A类业务请求分配了子资源池I时,应用为A类的业务请求I向子资源池I发出请求分配资源的消息,如果子资源池I有满足业务请求I的资源可以分配,就将资源分配给业务请求1,以 便业务请求I根据分配的资源执行任务,并在任务执行完毕后,将分配的资源返回给子资源池I。如果子资源池I没有满足业务请求I的资源可以分配,则反馈无法分配资源的响应消息,以便应用为业务请求I建立请求分配资源的事件a,并将事件a放入到消息队列中进行等待。一旦子资源池I有剩余的资源,就会检查消息队列中是否有等待的事件,当在消息队列中检查到事件a,且剩余的资源满足事件a的请求时,为事件a对应的业务请求I分配资源,业务请求I执行完任务后,再将资源返回给子资源池I。这样,现有技术通过将资源池逻辑拆分为若干个子资源池,不仅可以在总量上控制资源不超过系统的容量,而且,由于不同的业务使用不同的子资源池,从而使不同的业务之间在资源使用上互不影响。但是,发明人在研究中发现,由于将资源池逻辑拆分为若干个子资源池,而不同的业务使用不同的子资源池,有时会出现一些子资源池中的资源竞争激烈,而与此同时,另一些子资源池中的资源长时间被闲置,导致资源池的总体利用率下降。

发明内容
为了解决上述技术问题,本申请实施例提供了一种资源池的分配方法和装置,以在保证业务之间在资源使用上互不影响的情况下,提高资源池的利用率。本申请实施例公开了如下技术方案—种资源池的分配方法,包括获得当前业务请求;判断所述当前业务请求的分配类型,其中,预先指定每个业务请求的分配类型,所述分配类型包括预留型、默认型或最大限制型;如果为预留型,从总资源池的公用资源和/或私用资源中为所述当前业务请求分配需求数量的资源,如果为默认型,从总资源池的公用资源中为所述当前业务请求分配需求数量的资源,如果为最大限制型,从总资源池的公用资源中为所述当前业务请求分配不超过最大阈值数量的资源,其中,从总资源池中预先为预留型的业务请求分配私用资源,总资源池中的剩余资源为公用资源。一种资源池分配的装置,包括获得模块,用于获得当前业务请求;判断模块,用于判断所述当前业务请求的类型,其中,预先指定每个业务请求的分配类型,所述分配类型包括预留型、默认型或最大限制型;分配模块,用于如果所述判断模块的判断结果为预留型,从总资源池的公用资源和/或私用资源中为所述当前业务请求分配需求数量的资源,如果为默认型,从总资源池的公用资源中为所述当前业务请求分配需求数量资源,如果为最大限制型,从总资源池的公用资源中为所述当前业务请求分配不超过最大阈值数量的资源,其中,从总资源池中预先为预留型的业务请求私用资源,总资源池中的剩余资源为公用资源。由上述实施例可以看出,与现有技术相比,本申请具有如下优点将总资源池虚拟拆分为私用资源和公用资源,保证了系统总资源的合理规划,同时由于根据业务请求的类型的不同,采用不同的资源分配方式,总资源池中的所有资源都被充分地利用,因此,不仅提高了资源利用率,另一方面也隔离不同类型的业务请求竞争状况,使不同的业务请求之间在资源使用上互不影响。



为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为现有技术中为业务请求分配资源池的方法示意图;图2为本申请一种资源池的分配方法的一个实施例的流程图;图3为本申请一种为业务请求分配资源池的方法示意图;图4为本申请一种资源池的分配装置一个实施例的结构图;图5为本申请一种获得模块的一个结构图;图6为本申请另一种分配模块的一个结构图。
具体实施例方式下面结合附图及实施例,对本申请实施例进行详细描述。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。实施例一请参阅图2,其为本申请一种资源池的分配方法的一个实施例的流程图,包括以下步骤步骤201 :获得当前业务请求;在本申请的技术方案中,当前业务请求既可以来源于应用,也可以来源于消息队列。无论来源于哪里,都通过本申请的资源池分配方法对当前业务请求分配资源。其中,如果来源于应用,应用向总资源池发送的资源分配请求消息就指示了一个或者多个业务请求;如果来源于在消息队列,消息队列中等待的事件就指示了一个或者多个业务请求。因此,所述获得当前业务请求包括接收应用发送的资源分配请求消息,其中,所述资源分配请求消息包含了待执行任务的业务请求的标识;和/或,当有剩余的资源时,检查消息队列中是否有等待的事件,如果有等待的事件,获取所述等待的事件,其中,所述等待的事件包含了待执行任务的业务请求的标识。例如,为了方便描述选取当前业务请求的过程,假设在应用侧有两个并发式的业务请求I和2,总资源池接收应用发送的资源分配请求消息,在该资源分配请求消息中包含了业务请求I和2及对应的标识,根据资源分配请求消息中的标识识别出当前业务请求(业务请求I和2)。当然,总资源池除了可以同时接收到应用发送的多个并发式的业务请求外,也可以逐一地接收应用所发送的单个业务请求。再例如,消息队列中保存有5个等待的事件,每个等待的事件包含了待执行任务的业务请求及对应的标识。当总资源池有剩余的资源时,检查消息队列中是否有等待的事件,如果有等待的事件,从消息队列中获取5个等待的事件,根据等待的事件中的标识识别出当前业务请求(业务请求1-5)。当然,总资源池除了可以同时从消息队列中获取多个并发式的业务请求外,也可以逐一地从消息队列中获取单个业务请求。步骤202 :判断所述当前业务请求的分配类型,其中,预先指定每个业务请求的分 配类型;无论当前业务请求来源于消息队列还是应用,优选的,如果获得了至少两个当前业务请求,可以通过多线程并发地判断所述当前业务请求的分配类型,以便通过多线程并发地为所述当前业务请求分配资源。当然,也可以利用一个线程来判断多个当前业务请求的分配类型,以及分配资源。当只用一个线程执行上述过程时,可以按照任意的顺序逐一地判断每个当前业务请求的分配类型以及分配资源,或者,当判断出每个当前业务请求的分配类型后,按照预先设定的分配类型的优先级来逐一地为每个当前业务请求分配资源。如,按照优先级预留型最高,默认型次之,最大限制型最小的原则,预先为预留型的当前业务请求分配资源,然后为默认型的当前业务请求分配资源,最后为最大限制型的当前业务请求分配资源。在预先指定分配类型时,可以以业务请求所属的业务类型为单位,来指定每个业务请求的分配类型。例如,按照业务类型,所有的业务请求被划分为A类业务请求、B类业务请求和C类业务请求,A、B和C分别代表三种不同的业务类型。具体例如,根据应用的需要,所述分配类型可以包括预留型、默认型或最大限制型。例如,可以指定A类业务请求的分配类型为预留型,B类业务请求的分配类型为默认型,C类业务请求的分配类型为最大限制型。其中,如果业务请求I和2都为A类业务请求,则业务请求I和2的分配类型就为预留型,如果业务请求3、4和5都为B类业务请求,则业务请求3、4和5的分配类型就为默认型,如果业务请求6为C类业务请求,则业务请求6的分配类型就为最大限制型。在为不同业务类型的业务请求指定分配类型时,按照业务类型的重要程度来指定分配类型。预留型的业务请求,其业务类型的重要程度大于默认型的业务请求,默认型的业务请求,其业务类型的重要程度大于最大限制型的业务请求。当然,在本申请的技术方案中,也可以以其它指标为单位,来指定每个业务请求的分配类型。本申请对分配类型的具体指定方式不进行限定。步骤203 :如果为预留型,从总资源池的公用资源和/或私用资源中为所述当前业务请求分配需求数量的资源,如果为默认型,从总资源池的公用资源中为所述当前业务分配需求数量的资源,如果为最大限制型,从总资源池的公用资源中为所述当前业务请求分配不超过最大阈值数量的资源,其中,从总资源池中预先为预留型的业务请求分配私用资源,总资源池中的剩余资源为公用资源。与现有技术中将总资源池逻辑划分为多个子资源池不同,在本申请的技术方案中,将总资源池进行虚拟分拆,即,从总资源池中预先为预留型的业务请求分配私用资源,总资源池中的剩余资源为公用资源。例如,假设总资源池的大小为100,并且,以业务请求所属的业务类型为单位指定了每个业务请求的分配类型,其中,A类业务请求和D类业务请求的分配类型为预留型,B类业务请求的分配类型为默认型,C类业务请求的分配类型为最大限制型。在对总资源池进行虚拟拆分时,可以从总资源池中为预留型的A类业务请求分配一个大小为10的私用资源,再为同样是预留型的D类业务请求分配一个大小为20的私用资源,总资源池中的剩余资源为100-10-20 = 70,则,总资源池中的公用资源为70。 需要说明的是,本申请的技术方案并不限定私用资源和公用资源的大小,可以根据具体应用的需要进行设置。另外,私用资源和公用资源的大小还可以根据具体应用的需要任意修改。当判断出当前业务请求的分配类型后,具体按照如下方式对当前业务请求分配资源如果当前业务请求为预留型,可以从总资源池的私用资源中或者公用资源中为当前业务请求分配资源,还可以从私用资源和公用资源中为当前业务请求分配资源。优选的,当从总资源的私用资源中或者公用资源中为当前业务请求分配资源时,所述从总资源的公用资源或私用资源中为所述当前业务请求分配需求数量的资源包括优先判断所述公共资源中的未分配资源是否满足所述当前业务请求的需求,如果是,优先从所述公用资源中为所述当前业务请求分配资源,否则,判断所述私用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,从私用资源中为所述当前业务请求分配资源。或者,优先判断所述私用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,优先从所述私用资源中为所述当前业务请求分配资源,否则,判断所述公用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,从所述公用资源中为所述当前业务请求分配资源。例如,以私用资源优先分配为例来说明,A类业务请求被指定为预留型,先后为A类业务请求中的业务请求I和2分配资源,业务请求I的需求资源量为6,业务请求2的需求资源量为5。总资源池中的私用资源大小为10,初始情况下,私用资源中的未分配资源即为10,当为业务请求I分配资源时,私用资源中的未分配资源满足当前业务请求(业务请求I)的需求,优先从私用资源中为业务请求I分配大小为6的资源,此时,私用资源中的未分配资源从10变为4,当为业务请求2分配资源时,私用资源中的未分配资源已经无法满足当前业务请求(业务请求2)的需求,继续判断公用资源中的未分配资源是否满足业务请求2的需求,如果满足,从公用资源中为业务请求2分配资源。另外,优选的,当从总资源的私用资源中和公用资源中为当前业务请求分配资源时,所述从总资源的公用资源和私用资源中为所述当前业务请求分配需求数量的资源包括优选判断所述公用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,优选从所述公用资源中为所述当前业务请求分配资源,否则,先将公用资源中的剩余资源分配给所述当前业务请求,再从所述私用资源中为所述当前业务请求分配资源需求中的剩余资源;或者,优选判断所述私用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,优先从所述私用资源中为所述当前业务请求分配资源,否则,先将私用资源中的剩余资源分配给所述当前业务请求,再从所述私用资源中为所述当前业务请求分配资源需求中的剩余资源。例如,仍旧以私用资源优先分配为例来说明,A类业务请求被指定为预留型,先后为A类业务请求中的业务请求I和2分配资源,业务请求I的需求资源量为6,业务请求2的需求资源量为5。总资源池中的私用资源大小为10,初始情况下,私用资源中的未分配资源即为10,当为业务请求I分配资源时,私用资源中的未分配资源满足当前业务请求(业务请求I)的需求,优先从私用资源中为业务请求I分配大小为6的资源,此时,私用资源中的未分配资源从10变为4,当为业务请求2分配资源时,私用资源中的未分配资源已经无法满 足当前业务请求(业务请求2)的需求,先将私用资源中的剩余资源(剩余资源为4)分配给业务请求2,此时,业务请求2还需求5-4 = I的资源,再从公用资源中为业务请求2分配资源需求中的剩余资源(资源需求中的剩余资源为I)。当然,如果私用资源和公用资源中的未分配资源都不满足当前业务请求的需求,则直接反馈无资源分配的响应。在本申请的技术方案中,只考虑总资源池中有资源可以分配的情况,而总资源池中无资源可以分配的情况不在本申请技术方案的考虑范围。如果当前业务请求为默认型,从总资源池的公用资源中为当前业务请求分配需求数量的资源。当然,如果总资源池的公用资源中无剩余资源可供分配,则直接反馈无资源分配的响应。在本申请的技术方案中,只考虑总资源池中有资源可以分配的情况,而总资源池中无资源可以分配的情况不在本申请技术方案的考虑范围。如果当前业务请求为最大限制型,与默认型不同,从总资源池的公用资源中为当前业务请求分配不超过最大阈值数量的资源。例如,如果最大限制型的业务请求需求的资源量为60,最大阈值数量为50,则只能为该业务请求分配数量为50的资源。需要说明的是,本申请的技术方案并不限定最大阈值数量的大小,可以根据具体应用的需要进行设置。另外,最大阈值数量的大小还可以根据具体应用的需要任意修改。由上述实施例可以看出,与现有技术相比,本申请具有如下优点将总资源池虚拟拆分为私用资源和公用资源,保证了系统总资源的合理规划,同时由于根据业务请求的类型的不同,采用不同的资源分配方式,总资源池中的所有资源都被充分地利用,因此,不仅提高了资源利用率,另一方面也隔离不同类型的业务请求竞争状况,使不同的业务请求之间在资源使用上互不影响。实施例二下面结合总资源池的分配场景,详细说明总资源池的分配方法。请参阅图3,其为本申请一种为业务请求分配资源池的方法示意图,包括以下步骤步骤301 :应用向总资源池发送资源分配请求消息;其中,在本申请的技术方案中,不将总资源池逻辑拆分为各个子资源池,应用向总资源池发送资源分配请求消息。在资源分配请求消息中包含有业务请求的标识。步骤302 :总资源池根据资源分配请求消息中业务请求的类型为资源分配请求消息所指示的业务请求分配资源;其中,总资源池根据资源分配请求消息中业务请求的类型为资源分配请求消息所指示的业务请求分配资源的方法详见实施例一中的分配过程,由于在实施例一中进行了详细地描述,故此处不再赘述。步骤303 :总资源池向应用返回资源分配响应消息;其中,如果总资源池中的资源满足业务请求的资源需求,在资源分配响应消息中指示了分配给业务请求的资源,如果总资源池中的资源不满 足业务请求的资源需求,在资源分配响应消息中指示无资源可分配。步骤304:如果有资源可分配,业务请求根据指示获得分配的资源,并利用资源执行任务;步骤305 :任务执行完毕后,业务请求将分配的资源返回给总资源池,结束流程;步骤306 :如果没有资源可分配,应用建立资源分配请求事件,将资源分配请求事件放入消息队列进行等待;步骤307 :总资源池检测是否自身是否有剩余的资源可分配,当有剩余的资源可分配时,检查消息队列中是否有等待的事件;步骤308 :返回检查结果;步骤309 :如果消息队列中有等待的事件,总资源池根据事件中业务请求的类型为事件中所指示的业务请求分配资源;其中,总资源池根据事件中业务请求的类型为事件中所指示的业务请求分配资源的方法详见实施例一中的分配过程,由于在实施例一中进行了详细地描述,故此处不再赘述。步骤310 :如果有资源可分配,总资源池将资源返回给应用;步骤311 :业务请求利用分配的资源执行任务;步骤312 :任务执行完毕后,业务请求将分配的资源返回给总资源池,结束流程;步骤313 :如果没有资源可分配,总资源池将事件重新放入消息队列中等待,重新返回步骤307。由上述实施例可以看出,与现有技术相比,本申请具有如下优点将总资源池虚拟拆分为私用资源和公用资源,保证了系统总资源的合理规划,同时由于根据业务请求的类型的不同,采用不同的资源分配方式,总资源池中的所有资源都被充分地利用,因此,不仅提高了资源利用率,另一方面也隔离不同类型的业务请求竞争状况,使不同的业务请求之间在资源使用上互不影响。实施例三与一种资源池分配方法相对应,本申请实施例还提供了一种资源池分配的装置。请参阅图4,其为本申请一种资源池的分配装置一个实施例的结构图。该装置包括获得模块401、判断模块402和分配模块403。获得模块401,用于获得当前业务请求;判断模块402,用于判断所述当前业务请求的类型,其中,预先指定每个业务请求的分配类型,所述分配类型包括预留型、默认型或最大限制型;分配模块403,用于如果所述判断模块的判断结果为预留型,从总资源池的公用资源和/或私用资源中为所述当前业务请求分配需求数量的资源,如果为默认型,从总资源池的公用资源中为所述当前业务请求分配需求数量资源,如果为最大限制型,从总资源池的公用资源中为所述当前业务请求分配不超过最大阈值数量的资源,其中,从总资源池中预先为预留型的业务请求私用资源,总资源池中的剩余资源为公用资源。优选的,请参阅图5,其为本申请中获得模块的一个结构图,如图5所示,获得模块401包括接收子模块4011和/或,获取子模块4012,接收子模块4011,用于接收应用发送的资源分配请求消息,其中,所述资源分配请求消息包含了待执行任务的业务请求的标识;获取子模块,用于当有剩余的资源时,检查消息队列中是否有等待的事件,如果有等待的事件,获取所述等待的事件,其中,所述等待的事件包含了待执行任务的业务请求的标识。优选的,判断模块402为并发判断子模块,用于如果获得至少两个当前业务请 求,通过多天线并发地判断所述当前业务请求的分配类型,以便通过多线程并发地为所述当前业务请求分配资源。另外,进一步优选的,请参阅图6,其为本申请一种分配模块的一个结构图,如图6所示,分配模块403包括第一优先分配子模块4031或者第二优先分配子模块4032,第一优先分配子模块4031,用于优先判断所述公用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,优先从所述公用资源中为所述当前业务请求分配资源,否则,判断所述私用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,从所述私用资源中为所述当前业务请求分配资源。或者,第二优先分配子模块4032,用于优先判断所述私用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,优先从所述私用资源中为所述当前业务请求分配资源,否则,判断所述公用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,从所述公用资源中为所述当前业务请求分配资源。除了图5所示的结构外,优选的,分配模块403还有另一种结构,分配模块403包括第二优先分配子模块,用于优先判断所述公用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,优先从所述公用资源中为所述当前业务请求分配资源,否则,先将公用资源中的剩余资源分配给所述当前业务请求,再从所述私用资源中为所述当前业务请求分配资源需求中的剩余资源;或者,第二优先分配子模块,用于优先判断所述私用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,优先从所述私用资源中为所述当前业务请求分配资源,否贝U,先将私用资源中的剩余资源分配给所述当前业务请求,再从所述私用资源中为所述当前业务请求分配资源需求中的剩余资源。由上述实施例可以看出,与现有技术相比,本申请具有如下优点将总资源池虚拟拆分为私用资源和公用资源,保证了系统总资源的合理规划,同时由于根据业务请求的类型的不同,采用不同的资源分配方式,总资源池中的所有资源都被充分地利用,因此,不仅提高了资源利用率,另一方面也隔离不同类型的业务请求竞争状况,使不同的业务请求之间在资源使用上互不影响。以上对本申请所提供的一种资源池的 分配方法和装置进行了详细介绍,本文中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,在不脱离本发明描述的原理前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种资源池的分配方法,其特征在于,包括 获得当前业务请求; 判断所述当前业务请求的分配类型,其中,预先指定每个业务请求的分配类型,所述分配类型包括预留型、默认型或最大限制型; 如果为预留型,从总资源池的公用资源和/或私用资源中为所述当前业务请求分配需求数量的资源,如果为默认型,从总资源池的公用资源中为所述当前业务请求分配需求数量的资源,如果为最大限制型,从总资源池的公用资源中为所述当前业务请求分配不超过最大阈值数量的资源,其中,从总资源池中预先为预留型的业务请求分配私用资源,总资源池中的剩余资源为公用资源。
2.根据权利要求I所述的方法,其特征在于,所述获得当前业务请求包括 接收应用发送的资源分配请求消息,其中,所述资源分配请求消息包含了待执行任务的业务请求的标识; 和/或, 当有剩余的资源时,检查消息队列中是否有等待的事件,如果有等待的事件,获取所述等待的事件,其中,所述等待的事件包含了待执行任务的业务请求的标识。
3.根据权利要求I所述的方法,其特征在于,所述判断当前业务请求的分配类型为 如果获得至少两个当前业务请求,通过多线程并发地判断所述当前业务请求的分配类型,以便通过多线程并发地为所述当前业务请求分配资源。
4.根据权利要求I所述的方法,其特征在于,所述从总资源池的公用资源或私用资源中为所述当前业务请求分配需求数量的资源包括 优先判断所述公用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,优先从所述公用资源中为所述当前业务请求分配资源,否则,判断所述私用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,从所述私用资源中为所述当前业务请求分配资源; 或者, 优先判断所述私用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,优先从所述私用资源中为所述当前业务请求分配资源,否则,判断所述公用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,从所述公用资源中为所述当前业务请求分配资源。
5.根据权利要求I所述的方法,其特征在于,所述从总资源池的公用资源和私用资源中为所述当前业务请求分配需求数量的资源包括 优先判断所述公用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,优先从所述公用资源中为所述当前业务请求分配资源,否则,先将公用资源中的剩余资源分配给所述当前业务请求,再从所述私用资源中为所述当前业务请求分配资源需求中的剩余资源; 或者, 优先判断所述私用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,优先从所述私用资源中为所述当前业务请求分配资源,否则,先将私用资源中的剩余资源分配给所述当前业务请求,再从所述私用资源中为所述当前业务请求分配资源需求中的剩余资源。
6.一种资源池分配的装置,其特征在于,包括 获得模块,用于获得当前业务请求; 判断模块,用于判断所述当前业务请求的类型,其中,预先指定每个业务请求的分配类型,所述分配类型包括预留型、默认型或最大限制型; 分配模块,用于如果所述判断模块的判断结果为预留型,从总资源池的公用资源和/或私用资源中为所述当前业务请求分配需求数量的资源,如果为默认型,从总资源池的公用资源中为所述当前业务请求分配需求数量资源,如果为最大限制型,从总资源池的公用资源中为所述当前业务请求分配不超过最大阈值数量的资源,其中,从总资源池中预先为预留型的业务请求私用资源,总资源池中的剩余资源为公用资源。
7.根据权利要求6所述的装置,其特征在于,所述获得模块包括 接收子模块,用于接收应用发送的资源分配请求消息,其中,所述资源分配请求消息包含了待执行任务的业务请求的标识; 和/或,获取子模块,用于当有剩余的资源时,检查消息队列中是否有等待的事件,如果有等待的事件,获取所述等待的事件,其中,所述等待的事件包含了待执行任务的业务请求的标识。
8.根据权利要求6所述的装置,其特征在于,所述判断模块为 并发判断子模块,用于如果获得至少两个当前业务请求,通过多天线并发地判断所述当前业务请求的分配类型,以便通过多线程并发地为所述当前业务请求分配资源。
9.根据权利要求6所述的装置,其特征在于,所述分配模块包括 第一优先分配子模块,用于优先判断所述公用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,优先从所述公用资源中为所述当前业务请求分配资源,否则,判断所述私用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,从所述私用资源中为所述当前业务请求分配资源; 或者, 第二优先分配子模块,用于优先判断所述私用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,优先从所述私用资源中为所述当前业务请求分配资源,否则,判断所述公用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,从所述公用资源中为所述当前业务请求分配资源。
10.根据权利要求6所述的装置,其特征在于,所述分配模块包括 第二优先分配子模块,用于优先判断所述公用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,优先从所述公用资源中为所述当前业务请求分配资源,否则,先将公用资源中的剩余资源分配给所述当前业务请求,再从所述私用资源中为所述当前业务请求分配资源需求中的剩余资源; 或者, 第二优先分配子模块,用于优先判断所述私用资源中的未分配资源是否满足所述当前业务请求的需求,如果是,优先从所述私用资源中为所述当前业务请求分配资源,否则,先将私用资源中的剩余资源分配给所述当前业务请求,再从所述私用资源中为所述当前业务请求分配资源需求中的剩余资源。
全文摘要
本申请实施例公开了一种资源池的分配方法和装置。其中,分配方法包括获得当前业务请求;判断所述当前业务请求的分配类型;如果为预留型,从总资源池的公用资源和/或私用资源中为所述当前业务请求分配需求数量的资源,如果为默认型,从总资源池的公用资源中为所述当前业务请求分配需求数量的资源,如果为最大限制型,从总资源池的公用资源中为所述当前业务请求分配不超过最大阈值数量的资源。根据本申请实施例,可以提高资源池的利用率。
文档编号H04W28/26GK102761469SQ20111010697
公开日2012年10月31日 申请日期2011年4月27日 优先权日2011年4月27日
发明者岑文初 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1