一种资源调度方法及装置与流程

文档序号:22390212发布日期:2020-09-29 17:55阅读:106来源:国知局
一种资源调度方法及装置与流程

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



背景技术:

项目的进行需要资源的支撑。支撑项目资源既可以是自然资源,也可以是人力资源、财力资源等社会资源,还可以是计算机的存储资源、带宽资源或中央处理器的运算资源等虚拟资源。无论对于何种资源,执行项目的主体能够提供的资源总量是有限的。例如,对于数据处理类型的项目,项目能够利用的运算资源收到计算机的中央处理器的限制。

当执行项目的主体同时执行多个项目时,对资源进行合理的调度是保证项目顺利进行的重要条件。目前,在多个项目进行资源调度时,可以采用按项目的资源需求量进行调度或按预设的资源配额进行调度。但是,现有的资源调度方法只考虑到了项目主体内部的资源调度,无法满足一些特殊的应用场景。



技术实现要素:

有鉴于此,本申请实施例提供了一种资源调度方法及装置,旨在基于项目主体的历史行为信息为项目主体调度合理的资源。

一种资源调度方法,所述方法包括:

获取项目主体的标识和最大资源量,所述项目主体为执行多个项目的主体,所述最大资源量表示剩余可调度的资源量;

根据所述项目主体标识获取所述项目主体的历史行为信息,所述历史行为信息包括所述项目主体历史对所述项目的处理策略;

根据所述项目主体的历史行为信息预测所述项目主体的调度策略;

根据所述调度策略向所述项目主体调度资源。

可选地,所述获取项目主体的标识和最大资源量包括:

获取所述项目主体执行的多个项目中每个项目的相关信息,所述项目的相关信息包括所述项目的完成时间和资源使用量,所述完成时间为所述项目主体完成所述项目的最早时间,所述资源使用量为所述项目主体执行所述项目使用的资源量;

选择所述完成时间小于时间阈值的项目作为结算项目,根据所述结算项目的资源使用量之和确定所述最大资源量。

可选地,所述根据所述项目主体的历史行为信息预测所述项目主体的调度策略包括:

获取所述项目主体的待处理项目对应的资源需求量;

根据所述项目主体的历史行为信息确定所述项目主体的剩余资源量;

当所述待处理项目的资源需求量大于所述剩余资源量时,选择允许调度策略作为所述项目主体的调度策略。

可选地,所述根据所述项目主体的历史行为信息预测所述项目主体的处理策略还包括:

当所述资源需求量小于所述剩余资源量时,将所述项目主体的历史行为数据输入策略判断模型,得到所述项目主体的调度策略;

其中,所述策略判断模型是通过对多个项目主体的历史行为数据和调度策略作进行训练得到的。

可选地,所述处理策略还包括跳过调度策略,所述根据所述调度策略向所述项目主体调度资源包括:

获取所述待处理项目的资源需求量;

当所述调度策略为所述允许调度策略时,根据所述最大资源量对所述项目主体进行资源调度;

当所述调度策略为所述跳过调度策略时,不对所述项目主体进行资源调度。

一种资源调度装置,所述装置包括:

第一获取模块,用于获取项目主体的标识和最大资源量,所述项目主体为执行多个项目的主体,所述最大资源量表示剩余可调度的资源量;

行为获取模块,用于根据所述项目主体标识获取所述项目主体的历史行为信息,所述历史行为信息包括所述项目主体历史对所述项目的处理策略;

策略确定模块,用于根据所述项目主体的历史行为信息预测所述项目主体的调度策略;

调度模块,用于根据所述调度策略向所述项目主体调度资源。

可选地,第一资源获取模块包括:

第二获取模块,用于获取所述项目主体执行的多个项目中每个项目的相关信息,所述项目的相关信息包括所述项目的完成时间和资源使用量,所述完成时间为所述项目主体完成所述项目的最早时间,所述资源使用量为所述项目主体执行所述项目使用的资源量;

资源计算模块,用于选择所述完成时间小于时间阈值的项目作为结算项目,根据所述结算项目的资源使用量之和确定所述最大资源量。

可选地,所述策略确定模块包括:

需求确定模块,用于获取所述项目主体的待处理项目对应的资源需求量;

剩余确定模块,用于根据所述项目主体的历史行为信息确定所述项目主体的剩余资源量;

策略选择模块,用于当所述待处理项目的资源需求量大于所述剩余资源量时,选择允许调度策略作为所述项目主体的调度策略。

可选地,所述策略确定模块还包括:

模型判断模块,用于当所述资源需求量小于所述剩余资源量时,将所述项目主体的历史行为数据输入策略判断模型,得到所述项目主体的调度策略;其中,所述策略判断模型是通过对多个项目主体的历史行为数据和调度策略作进行训练得到的。

可选地,所述调度模块具体用于:

确定模块,获取所述待处理项目的资源需求量;

当所述调度策略为所述允许调度策略时,根据所述最大资源量对所述项目主体进行资源调度;

当所述调度策略为所述跳过调度策略时,不对所述项目主体进行资源调度。

本申请实施例提供了一种资源调度方法及装置,可以先获取执行项目的项目主体的标识和盈余资源量,然后根据项目主体标识获取项目主体的历史行为信息,接着可以根据项目主体的历史行为信息预测所述项目主体的调度策略,从而根据所述调度策略向项目主体调度相应地资源。这样一来,可以根据历史行为数据对项目主体对待处理项目的处理方法进行预测,并根据预测结果判断是否需要向项目主体调度额外的资源。如此,可以在待处理项目开始前,提前为项目主体调度相应的资源,以便项目主体及时对项目进行处理。

附图说明

为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的分屏显示方法的方法流程图;

图2为本申请实施例提供的分屏显示方法的一种应用场景示意图;

图3为本申请实施例提供的分屏显示装置的一种结构示意图;

图4为本申请实施例提供的分屏显示装置的一种结构示意图;

图5为本申请实施例提供的分屏显示装置的一种结构示意图。

具体实施方式

在执行主体执行某些项目时,不可避免地会使用到一些外界的资源。例如公司运转需要调用员工的人力资源,应用程序可以调用处理器的计算资源执行某些任务。在执行主体同时执行多个项目时,执行主体可以对多个项目进行资源调度。

当多个项目主体共用一个资源池时,多个项目主体能够调用的资源之和是有限的。项目主体可以主动从资源池中获取执行项目所需的资源。但是,由于缺少统一的调度方法,不同项目主体获取的资源不同,可能导致资源的分配不均。例如,假设项目主体a和项目主体b共用资源池且项目主体b不执行项目,那么项目主体a可以从资源池中调度全部的资源。当时,当项目主体b需要执行新的项目时,项目主体b无法获取足够的资源。

另外,现有的资源调度方法大多根据项目的需求对资源进行调度,即在项目开始执行后,根据执行项目所需的资源向项目调度相应地资源。并不能在项目开始前对资源进行调度。

为了给出在能够对项目主体进行调度的资源调度方案,本申请提供了一种资源调度方法及装置。以下将从计算机软件的角度对本申请优选实施例进行说明。在本申请实施例中,资源可以为计算机的内存资源或运算资源,项目主体可以为应用程序,项目可以为应用程序的线程。当然,在一些其他的实现方式中,资源也可以是现金资源、人力资源或自然资源等。

参见图1,图1为本申请实施例提供的资源调度方法的方法流程图,包括:

s101:获取项目主体的标识和最大资源量。

在本申请实施例中,计算机包括多个项目主体。每个项目主体可以同时执行多个项目。例如,计算机可以同时运行多个应用程序,每个应用程序可以执行多个进程。那么,在项目主体进行资源调度前,计算机可以先获取项目主体的标识和最大资源量。

其中,项目主体的标识可以为项目主体的数字id或身份id等用于表示项目主体身份信息的字符串或数字集合。最大资源量表示计算机剩余的资源量,即可调度的资源量的最大值。

在本申请实施例中,除了计算机剩余的资源量外,最大资源量还可以包括即将完成的项目消耗的资源。具体地,网络设备可以先获取多个项目主体中每个项目主体执行的多个项目中每个项目对应的相关信息。项目的相关信息可以包括项目的完成时间和资源需求量。其中,项目的完成时间可以是项目被项目主体完成的最早时间,例如可以是线程结束的时间。资源使用量可以是项目主体执行项目使用的资源量,例如可以是线程使用的内存资源或运算资源。

在获取到项目的相关信息后,计算机可以确定结算项目并根据结算项目的资源使用量之和确定最大资源量。具体地,计算机可以将完成时间小于时间阈值的项目作为结算项目,对结算项目的资源使用量进行求和,并将求和得到的结果与剩余的资源量再次求和,从而确定可分配的最大资源量。如此,不但可以对剩余的可调度的资源进行调度,还可以预测未来短期内可使用的资源,从而实现资源的提前规划和调度。

s102:根据所述项目主体的标识获取所述项目主体的历史行为信息

在本申请实施例中,计算机可以记录项目主体每次对项目进行处理时采用的策略。那么,在获取项目主体的标识后,计算机可以根据项目主体的标识获取项目主体的历史行为信息。其中,项目主体的历史行为信息可以包括项目主体历史对项目的处理策略,即处理之前的项目是项目主体采用的处理策略。

在本申请实施例中,处理策略可以是项目主体在对项目进行处理时采用的处理方法,例如可以包括即时处理策略、延迟处理策略和延长处理策略。其中,即时处理策略表示项目主体立即对项目进行处理,延迟处理策略则表示项目主体在经过时延后在对项目进行处理,延长处理策略则表示项目主体在项目到期后生成与前一个项目一致的新项目,并对新项目进行处理。

s103:根据所述项目主体的历史行为信息预测所述项目主体的调度策略。

在获取到项目主体的历史行为信息后,计算机可以根据项目主体的历史行为信息对项目主体的调度策略进行预测。其中,所述项目主体的调度策略表示计算机对项目主体本身的调度策略,例如可以是向项目主体调度一定量的资源。

在一些可能的实现方式中,计算机可以先获取该项目主体的待处理项目对应的需求资源量,并根据项目主体的历史行为信息确定项目主体当前的剩余资源量。其中,待处理项目对应的需求资源量为项目主体执行该待处理项目需要的资源量,剩余资源量表示该项目主体当前未使用的资源量。接着,计算机可以比较资源需求量和剩余资源量的大小。当资源需求量大于剩余资源量时,则说明该项目主体当前被分配的资源无法满足待处理项目的需求,即项目主体无法对待处理项目进行处理。那么,计算机可以选择允许调度策略作为项目主体的调度策略,以便对项目主体进行资源调度。如此,可以判断项目主体当前的资源能够满足处理待处理项目的需求,从而在项目主体的资源相对缺乏时及时向项目主体进行资源调度。

当资源需求量小于剩余资源量时,说明项目主体剩余的资源量可以满足处理待处理项目的需求,那么计算机可以不对项目主体进行调度,也可以将项目主体的历史行为数据输入策略判断模型,通过模型判断确定项目的处理策略。在本申请实施例中,策略判断模型是通过对多个项目主体的历史行为数据和调度策略作进行训练得到的。例如,技术人员可以先对项目进行分类,然后获取多个项目主体处理各个类别的项目时采用的处理策略,再获取项目主体在处理不同项目时对应的调度策略。接着将项目类型、处理策略和调度策略的对应关系作为训练集对预先建立的模型进行训练,从而得到策略判断模型。其中,策略判断模型可以是基于遗传算法的神经网络模型。如此,将项目主体的历史行为数据输入策略判断模型,可以根据项目主体的历史行为数据对项目主体所需的资源量进行预测,从而得到项目主体的调度策略。

s104:根据所述调度策略向所述项目主体调度资源。

在确定项目主体的调度策略后,计算机可以根据调度策略对资源进行调度,从而确保项目主体获得所需的资源。另外,由于资源总量有限,向项目主体调度的资源量小于所述最大资源量。

在本申请实施例中,计算机可以先获取待处理项目的资源需求量,在根据调度策略向项目主体进行资源调度。具体地,当调度策略为允许调度策略时,计算机可以向项目主体调度最大资源量的资源。当调度策略为跳过调度策略时,计算机可以不对项目主体进行资源调度。当然,在本申请实施例中,调度策略还可以包括部分调度策略,计算机可以根据部分调度策略向项目主体调度任意量的资源。

本实施例提供了一种资源调度方法,可以先获取执行项目的项目主体的标识和盈余资源量,然后根据项目主体标识获取项目主体的历史行为信息,接着可以根据项目主体的历史行为信息预测所述项目主体的调度策略,从而根据所述调度策略向项目主体调度相应地资源。这样一来,可以根据历史行为数据对项目主体对待处理项目的处理方法进行预测,并根据预测结果判断是否需要向项目主体调度额外的资源。如此,可以在待处理项目开始前,提前为项目主体调度相应的资源,以便项目主体及时对项目进行处理。

以上为本申请实施例提供资源调度方法的一些具体实现方式,基于此,本申请还提供了对应的装置。下面将从功能模块化的角度对本申请实施例提供的上述装置进行介绍。

参见图2所示的资源调度装置的结构示意图,该装置200包括:

第一获取模块210,用于获取项目主体的标识和最大资源量,所述项目主体为执行多个项目的主体,所述最大资源量表示剩余可调度的资源量。

行为获取模块220,用于根据所述项目主体标识获取所述项目主体的历史行为信息,所述历史行为信息包括所述项目主体历史对所述项目的处理策略。

策略确定模块230,用于根据所述项目主体的历史行为信息预测所述项目主体的调度策略。

调度模块240,用于根据所述调度策略向所述项目主体调度资源。

本实施例提供了一种资源调度装置,可以先获取执行项目的项目主体的标识和盈余资源量,然后根据项目主体标识获取项目主体的历史行为信息,接着可以根据项目主体的历史行为信息预测所述项目主体的调度策略,从而根据所述调度策略向项目主体调度相应地资源。这样一来,可以根据历史行为数据对项目主体对待处理项目的处理方法进行预测,并根据预测结果判断是否需要向项目主体调度额外的资源。如此,可以在待处理项目开始前,提前为项目主体调度相应的资源,以便项目主体及时对项目进行处理。

可选地,参见图3,在图2所示装置的基础上,所述第一获取模块210包括:

第二获取模块211,用于获取所述项目主体执行的多个项目中每个项目的相关信息,所述项目的相关信息包括所述项目的完成时间和资源使用量,所述完成时间为所述项目主体完成所述项目的最早时间,所述资源使用量为所述项目主体执行所述项目使用的资源量。

资源计算模块212,用于选择所述完成时间小于时间阈值的项目作为结算项目,根据所述结算项目的资源使用量之和确定所述最大资源量。

如此,不但可以对剩余的可调度的资源进行调度,还可以预测未来短期内可使用的资源,从而实现资源的提前规划和调度。

可选地,参见图5,在图2所示装置的基础上,所述策略确定模块230包括:

需求确定模块231,用于获取所述项目主体的待处理项目对应的资源需求量。

剩余确定模块232,用于根据所述项目主体的历史行为信息确定所述项目主体的剩余资源量。

策略选择模块233,用于当所述待处理项目的资源需求量大于所述剩余资源量时,选择允许调度策略作为所述项目主体的调度策略。

如此,可以判断项目主体当前的资源能够满足处理待处理项目的需求,从而在项目主体的资源相对缺乏时及时向项目主体进行资源调度。

可选地,在一些可能的实现方式中,所述策略选择模块230还用于:

当所述资源需求量小于所述剩余资源量时,将所述项目主体的历史行为数据输入策略判断模型,得到所述项目主体的调度策略;其中,所述策略判断模型是通过对多个项目主体的历史行为数据和调度策略作进行训练得到的。

如此,将项目主体的历史行为数据输入策略判断模型,可以根据项目主体的历史行为数据对项目主体所需的资源量进行预测,从而得到项目主体的调度策略。

可选地,在一些可能的实现方式中,所述调度模块240具体用于:

确定模块,获取所述待处理项目的资源需求量。

当所述调度策略为所述允许调度策略时,根据所述最大资源量对所述项目主体进行资源调度。

当所述调度策略为所述跳过调度策略时,不对所述项目主体进行资源调度。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-onlymemory,rom)/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本申请示例性的实施方式,并非用于限定本申请的保护范围。

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