资源调度方法、装置以及系统与流程

未命名 08-15 阅读:155 评论:0


1.本说明书实施例涉及仓储技术领域,特别涉及资源调度方法、装置以及系统。


背景技术:

2.目前,在仓储物流系统中,为了能够确保在仓储区域中有序的完成物流相关工作,通常会将仓储区域按照不同功能划分为多个区域,如按照收货、存储、拣选、分拣等功能可以将仓储区域划分为收货区、存储区、拣选区、分拣区等。或者也可以针对同一种功能,也划分出多个区域,从而达到并行作业提高作业效率的目的。其中,每个区域的作业都需要对应的生产资源来完成,如自动化仓场景下的agv(automated guided vehicle,自动导向车)、无人叉车、穿梭车等设备。由于每个区域下的任务量在生产过程中是会动态变化的,在生产开始前安排好的每个区域的生产资源无法动态实时匹配该区域的任务量,可能会导致任务量多的区域生产进度落后,而任务量少的区域生产资源闲置,从而导致整体仓储区域作业效率低下。因此亟需一种有效的方案以解决上述问题。


技术实现要素:

3.有鉴于此,本说明书实施例提供了一种资源调度方法。本说明书一个或者多个实施例同时涉及一种资源调度装置,一种资源调度系统,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
4.根据本说明书实施例的第一方面,提供了一种资源调度方法,包括:获取仓储区域中的子区域分别对应的资源负载信息和历史资源负载信息;根据所述资源负载信息和所述历史资源负载信息,确定所述仓储区域中的子区域分别对应的资源负载变化信息;根据所述资源负载信息和所述资源负载变化信息计算所述仓储区域的全局负载损失值,并利用所述仓储区域的全局资源负载信息和所述全局负载损失值,计算所述仓储区域中的子区域分别对应的待调度资源量;确定所述待调度资源量对应的资源调度类型,根据所述资源调度类型和所述待调度资源量创建所述仓储区域对应的资源调度任务并执行。
5.根据本说明书实施例的第二方面,提供了一种资源调度装置,包括:获取模块,被配置为获取仓储区域中的子区域分别对应的资源负载信息和历史资源负载信息;确定模块,被配置为根据所述资源负载信息和所述历史资源负载信息,确定所述仓储区域中的子区域分别对应的资源负载变化信息;计算模块,被配置为根据所述资源负载信息和所述资源负载变化信息计算所述仓储区域的全局负载损失值,并利用所述仓储区域的全局资源负载信息和所述全局负载损失值,计算所述仓储区域中的子区域分别对应的待调度资源量;创建模块,被配置为确定所述待调度资源量对应的资源调度类型,根据所述资源
调度类型和所述待调度资源量创建所述仓储区域对应的资源调度任务并执行。
6.根据本说明书实施例的第三方面,提供了一种资源调度系统,包括:调度决策模块和任务生成模块;所述调度决策模块和所述任务生成模块用于存储资源调度可执行指令,所述调度决策模块和所述任务生成模块在执行资源调度可执行指令时实现上述资源调度方法的步骤。
7.根据本说明书实施例的第四方面,提供了一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令时实现上述资源调度方法的步骤。
8.根据本说明书实施例的第五方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述资源调度方法的步骤。
9.本说明书提供的资源调度方法,为了能够提高仓储区域的资源利用率,提高作业效率,可以先获取仓储区域中每个子区域对应的资源负载信息和历史资源负载信息,实现将资源负载信息与历史资源负载信息进行比对,确定每个子区域对应的资源负载变化信息,从而方便分析出每个子区域的资源量和任务量的活动区间。此后,为了能够平衡仓储区域对应的全部可用资源,提高作业效率,可以根据每个区域的资源负载信息和资源负载变化信息,计算出仓储区域对应的全局负载损失值,同时加载仓储区域对应的全局资源负载信息;在此基础上,即可结合仓储区域对应的全局负载损失值和全局资源负载信息,计算出每个子区域对应的待调度资源量,以提升仓储区域的全部资源平均利用率;最后,结合每个子区域的待调度资源量及其对应的资源调度类型,可以创建出仓储区域的资源调度任务,实现通过执行资源调度任务进行资源负载均衡,使得资源调度更加平滑,且达到提升仓储区域的全部资源平均利用率的目的,并且资源调度可动态完成,不受限时间,从而有效提高仓储区域的整体作业效率。
附图说明
10.图1是本说明书一个实施例提供的一种资源调度方法的示意图;图2是本说明书一个实施例提供的一种资源调度方法的流程图;图3是本说明书一个实施例提供的一种资源调度方法的处理过程流程图;图4是本说明书一个实施例提供的一种资源调度装置的结构示意图;图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
11.在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
12.在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地
表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
13.应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
14.在本说明书中,提供了一种资源调度方法,本说明书同时涉及一种资源调度装置,一种资源调度系统,一种计算设备,一种计算机可读存储介质以及一种计算机程序,在下面的实施例中逐一进行详细说明。
15.参见图1所示的示意图,本说明书提供的资源调度方法,为了能够提高仓储区域的资源利用率,提高作业效率,可以先获取仓储区域中每个子区域对应的资源负载信息和历史资源负载信息,实现将资源负载信息与历史资源负载信息进行比对,确定每个子区域对应的资源负载变化信息,从而方便分析出每个子区域的资源量和任务量的活动区间。此后,为了能够平衡仓储区域对应的全部可用资源,提高作业效率,可以根据每个区域的资源负载信息和资源负载变化信息,计算出仓储区域对应的全局负载损失值,同时加载仓储区域对应的全局资源负载信息;在此基础上,即可结合仓储区域对应的全局负载损失值和全局资源负载信息,计算出每个子区域对应的待调度资源量,以提升仓储区域的全部资源平均利用率;最后,结合每个子区域的待调度资源量及其对应的资源调度类型,可以创建出仓储区域的资源调度任务,实现通过执行调度任务进行资源负载均衡,使得资源调度更加平滑,且达到提升仓储区域的全部资源平均利用率的目的,并且资源调度可动态完成,不受限时间,从而有效提高仓储区域的整体作业效率。
16.图2示出了根据本说明书一个实施例提供的一种资源调度方法的流程图,具体包括以下步骤。
17.步骤s202,获取仓储区域中的子区域分别对应的资源负载信息和历史资源负载信息。
18.本实施例提供的资源调度方法可以应用于仓储场景中的任意类型资源的调度处理,该类型资源包括但不限于agv机器人、无人叉车、穿梭车、载具移动机器人、容器装卸机器人、货位容器、可移动载具等,该资源可以是仓储场景下任意可以进行调配的生产资源,本实施例在此不作任何限定。
19.具体的,仓储区域具体是指包含一个或多个处理不同作业任务的区域的仓库,其所包含的子区域包括但不限于一个或多个收货区域、一个或多个拣选区域、一个或多个存储区域、一个或多个分拣区域等。实际应用中,仓储区域所包含的区域数量以及作业任务类型可以根据实际需求分配,本实施例在此不作任何限定。相应的,资源负载信息具体是指仓储区域中每个子区域的待作业任务数量相较于可用资源数量的负载概率信息,用于描述每个子区域在当前资源调度周期中某种类型的资源负载情况。相应的,历史资源负载信息即为当前资源调度周期的上一资源调度周期中某种类型的资源负载情况。
20.实际应用中,为了能够在作业分配后,可以动态完成资源分配,实现在任意时间点都可以合理均衡某种类型资源,从而提高仓储区域的整体作业效率,可以由定时触发模块
在达到指定时间间隔后,触发调度决策模块开始进行资源调度处理;且在调度决策模块被触发后,可以从参数配置模块处读取仓储区域内每个区域中生产资源的上下限,以及从资源监控模块获取仓储区域中的每个区域内各类型生产资源的可用数量,从任务统计模块读取仓储区域中每个区域内各类型生产资源所对应的待完成任务数。然后,调度决策模块再从数据缓存模块读取上次调度计算获得的负载损失数据,在此基础上,即可进行资源调度处理,实现根据资源调度结果确定仓储区域中每个子区域各类型生产资源需要增加或减少的数量,并将该数据信息发送给任务生成模块,同时还需要将本次调度过程中计算得到的负载损失数据需要更新保存到数据缓存模块,以用于下次使用。而任务生成模块可以根据上游计算得到的每个子区域各类型生产资源需要增加或减少的数量,以及任务缓存模块中已缓存但未完成的调度任务,生成新的生成资源调度任务,从而可以驱动生产资源在仓储区域间根据实时任务负载情况进行动态调配,同时将本次生成的调度任务更新到任务缓存模块,用于下次调度计算使用。
21.需要说明的是,由于仓储区域关联的生产资源类型可能有多重,并且每种类型资源所对应的作业任务可能并不相同,因此为了能够实现资源调度时可以确保资源调度更准确,且能够平衡仓储区域的资源使用,针对每种类型的资源需要单独完成调度处理,任意一种类型资源的调度处理均可参见本实施例中相同或相应的描述,本实施例在此不作过多赘述。
22.进一步的,为了能够针对任意类型的资源都可以进行动态资源调度,可以通过触发资源调度请求实现;也就是说,触发资源调度请求后,会遍历一种当前阶段还未进行资源调度的资源,并针对此类型资源进行资源调度处理;本实施例中,具体实现方式如下:响应于针对仓储区域提交的资源调度请求,在所述仓储区域对应的至少一种资源类型中确定目标资源类型;获取所述仓储区域中的子区域,分别对应所述目标资源类型的资源负载信息和历史资源负载信息。
23.具体的,资源调度请求具体是指触发仓储区域中的某种类型资源调度需求时提交的请求,该请求中携带有资源类型,能够明确当前资源调度周期需要进行资源平衡处理的生产资源;其中,资源类型包括但不限于无人叉车资源、穿梭车资源、载具移动机器人资源、容器装卸机器人资源、货位容器资源、可移动载具资源等。
24.基于此,在接收到针对仓储区域提交的资源调度请求后,可以通过解析请求在仓储区域对应的至少一种资源类型中确定目标资源类型;此时可以获取仓储区域中每个子区域对应目标资源类型的资源负载信息和历史资源负载信息,以方便后续对目标资源类型对应的生产资源进行调度。
25.本实施例以对一种类型的生产资源调度过程进行描述,其他类型及多种类型资源调度过程均可参见本实施例中相同或相应的描述,本实施例在此不作过多赘述。
26.综上,通过针对资源调度请求指定的资源类型进行资源负载信息和历史资源负载信息的读取,可以确保在当前资源调度周期中准确的生成目标资源类型的资源调度任务,从而实现在仓储区域中以最平衡的方式对该类型资源进行平均分配,从而提高仓储区域的整体作业效率。
27.更进一步的,由于仓储区域中的每个区域所具有的资源数量和任务数量不同,因此每个区域在当前资源调度周期中的资源负载信息和历史资源负载信息需要实时确认;本
实施例中,所述仓储区域中的任意一个子区域对应的资源负载信息和历史资源负载信息的确定,包括:获取目标子区域在当前资源调度周期中的区域可用资源信息和区域待作业任务信息;根据所述区域可用资源信息和所述区域待作业任务信息,确定所述目标子区域对应的资源负载信息;获取所述当前资源调度周期的上一资源调度周期对应的资源负载信息,作为所述目标子区域对应的历史资源负载信息。
28.具体的,目标子区域具体是指仓储区域中需要进行历史资源负载信息和资源负载信息确定的子区域,即仓储区域中的任意一个子区域。相应的,区域可用资源信息具体是指目标子区域中对应目标资源类型的生产资源还可以使用的资源数量;相应的,区域待作业任务信息具体是指目标子区域中对应目标资源类型的生产资源还需要执行的作业任务数量。
29.基于此,针对任意一个子区域,为了能够确定子区域对应的资源负载情况,可以先获取目标子区域在当前资源调度周期中的区域可用资源信息和区域待作业任务信息;在此基础上,可以根据区域可用资源信息和区域待作业任务信息,计算目标子区域对应的资源负载信息;同时,为了能够融入区域资源变化的影响,还可以获取当前资源调度周期的上一资源调度周期对应的资源负载信息,作为目标子区域对应的历史资源负载信息,以方便后续结合每个子区域对应的资源负载信息和历史资源负载信息完成资源调度处理。
30.也就是说,对于仓储区域中的每个子区域,可以分别读取每个子区域对应目标资源类型的区域可用资源数,以及该类型资源对应的区域待作业任务数,通过计算区域待作业任务数与区域可用资源数的比值,即可得到每个子区域对应目标资源类型的平均负载值,即资源负载信息;同时,还将确定上一个资源调度周期对应的平均负载值,即历史资源负载信息,以方便后续使用。
31.举例说明,m仓库包含区域1、区域2和区域3,其三个区域均使用a类型资源、b类型资源、c类型资源等资源。当触发需要在当前周期进行a类型资源的调度请求时,可以先获取每个区域对应的a类型资源的可用资源数以及a类型资源的待作业任务数;确定区域1具有a类型资源的可用资源数为a1,待作业任务数为b1;确定区域2具有a类型资源的可用资源数为a2,待作业任务数为b2;确定区域3具有a类型资源的可用资源数为a3,待作业任务数为b3;通过计算每个区域中可用资源数和待作业任务数的比值,得到区域1对应a类型资源的平均负载为f11,区域2对应a类型资源的平均负载为f12,区域3对应a类型资源的平均负载为f13。同时再加载区域1-3在上一个周期中计算获得平均负载,确定区域1对应a类型的历史平均负载为f21,确定区域2对应a类型的历史平均负载为f22,确定区域3对应a类型的历史平均负载为f23,以方便后续结合当前周期的平均负载和上一周期的平均负载进行a类型资源的调度处理。
32.综上,通过结合每个子区域对应的区域可用资源信息和区域待作业任务信息进行资源负载信息的计算,可以更直观反馈每个子区域的资源负载情况,从而方便在资源调度时,确保调度更准确,从而提供每个区域的作业效率。
33.步骤s204,根据所述资源负载信息和所述历史资源负载信息,确定所述仓储区域中的子区域分别对应的资源负载变化信息。
34.具体的,在上述得到每个子区域对应的资源负载信息和历史资源负载信息后,进
一步的,考虑到每个子区域的资源负载变化能够体现每个子区域资源负载变好还是变差,进而能够分析出在当前资源调度周期中将对其进行何种的资源调度,因此,可以结合每个子区域对应的资源负载信息和历史资源负载信息,确定仓储区域中每个子区域分别对应的资源负载变化信息。其中,资源负载变化信息具体是指表征子区域从上一资源调度周期到当前资源调度周期其对应的资源负载情况的变化趋势,用于体现子区域资源负载变好还是变差。
35.沿用上例,在得到区域1对应a类型资源的平均负载为f11和历史平均负载f21,区域2对应a类型资源的平均负载为f12和历史平均负载f22,区域3对应a类型资源的平均负载为f13和历史平均负载f23的基础上,可以将每个区域的平均负载与历史平均负载进行作差,从而得到区域1对应a类型资源的平均负载变化趋势g1= f11
‑ꢀ
f21;区域2对应a类型资源的平均负载变化趋势g2= f12
‑ꢀ
f22;区域3对应a类型资源的平均负载变化趋势g3= f13
‑ꢀ
f23,实现后续可以结合该变化趋势进行a类型资源的调度处理。
36.步骤s206,根据所述资源负载信息和所述资源负载变化信息计算所述仓储区域的全局负载损失值,并利用所述仓储区域的全局资源负载信息和所述全局负载损失值,计算所述仓储区域中的子区域分别对应的待调度资源量。
37.具体的,在上述得到每个子区域的资源负载信息和资源负载变化信息后,进一步的,由于资源调度需要在仓储区域涉及到的全部子区域之间完成,同时为了能够提高仓储区域整体的作业效率,因此在进行资源分配时,需要从全局角度出发。即需要先根据每个子区域的资源负载信息和资源负载变化信息,整合并计算出仓储区域的全局负载损失值;在此基础上,可以再结合仓储区域的全局资源负载信息和全局负载损失值,计算在仓储区域的整体负载损失达到最小时,每个子区域所对应的待调度资源量,实现后续按照该待调度资源量进行资源调度,即可达到负载均衡的目的。
38.其中,全局负载损失值具体是指从仓储区域的整体基础上出发确定的目标资源类型对应的生产资源的损失情况,用于体现仓储区域整体的资源负载变化。相应的,全局资源负载信息具体是指仓储区域的总作业任务数量相较于总可用资源数量的负载比例信息,用于描述仓储区域整体在当前资源调度周期中某种类型的资源负载情况。相应的,待调度资源量具体是指子区域在仓储区域的整体负载损失达到最小时,所对应的待调度资源量,其包括需要增加的资源数量,或者需要减少的资源数量。
39.进一步的,为了能够准确体现仓储区域对应的全局负载损失值,需要整合全部子区域的资源负载信息和资源负载变化信息完成;本实施例中,具体实现方式如下:读取预设的配置参数,并在所述配置参数中提取第一损失系数和第二损失系数;根据所述第一损失系数和所述仓储区域中的子区域分别对应的资源负载信息,计算所述仓储区域中的子区域分别对应区域资源负载值;根据所述第二损失系数和所述仓储区域中的子区域分别对应的资源负载变化信息,计算所述仓储区域中的子区域分别对应区域负载变化值;基于所述仓储区域中的子区域分别对应的区域资源负载值和区域负载变化值,确定所述仓储区域中的子区域分别对应的区域负载损失值,并根据所述区域负载损失值计算所述仓储区域的全局负载损失值。
40.具体的,配置参数具体是指整合第一损失系数和第二损失系数的参数,其可以按照实际需求根据负载信息和负载变化信息的影响权重进行设定,本实施例在此不作任何限
定。相应的,区域资源负载值具体是指结合子区域对应的资源负载信息和第一损失系数计算得到的数值。区域负载变化值具体是指结合子区域对应的资源负载变化信息和第二损失系数计算得到的数值。相应的,区域负载损失值具体是指整合全部子区域对应的区域资源负载值和区域负载变化值得到的数值,用于表征仓储区域整体负载均衡损失。
41.基于此,在进行全局负载损失值计算时,为能够从仓储区域整体体现生产资源的负载均衡损失,可以先读取预设的配置参数,并在配置参数中提取第一损失系数和第二损失系数;此时可以根据第一损失系数和仓储区域中每个子区域对应的资源负载信息,计算仓储区域中每个子区域对应区域资源负载值;同时根据第二损失系数和仓储区域中每个子区域对应的资源负载变化信息,计算仓储区域中每个子区域对应区域负载变化值;在此基础上,可以基于仓储区域中每个子区域对应的区域资源负载值和区域负载变化值,计算出仓储区域中的子区域分别对应的区域负载损失值,并以此根据区域负载损失值计算仓储区域的全局负载损失值即可。
42.也就是说,在读取到第一损失系数和第二损失系数后,对于仓储区域中的每个子区域,可以在当前待作业任务数以及可用资源数的基础上,计算每个子区域的区域负载均衡损失,计算时,可以通过计算第一损失系数与资源负载信息的乘积,以及第二损失系数与资源负载变化信息的乘积后,将乘积结果进行求和,从而得到子区域对应的区域负载损失值,即区域负载均衡损失;此后,再将仓储区域中每个区域的区域负载损失值进行平方和计算,记得将计算结果作为仓储区域的全局负载损失值。
43.综上,通过以仓储区域中每个子区域对应的区域负载变化值为基础,进行全局负载损失值的计算,可以确保全局负载损失值能够更准确的反应仓储区域整体的资源负载情况,从而实现后续可以以此为基础准确的计算出每个子区域应该对应的待调度资源量。
44.更进一步的,在计算待调度资源量时,考虑到每个子区域在当前资源调度周期中所处理的任务数量以及缺少或多余的资源数量不同,因此需要采用优化算法计算优选解的方式确定,本实施例中,具体实现方式如下:获取所述仓储区域对应的全局可用资源信息和全局待作业任务信息;根据所述全局可用资源信息和所述全局待作业任务信息,计算所述仓储区域对应的全局资源负载信息;利用预设的优化算法对所述全局资源负载信息和所述全局负载损失值进行计算,根据计算结果确定所述仓储区域中的子区域分别对应的待调度资源量。
45.具体的,全局可用资源信息具体是指仓储区域中当前指定类型的生产资源可用总量。相应的,全局待作业任务信息具体是指各类型生产资源对应的待作业任务总量。相应的,预设的优化算法具体是指在设定全局负载损失值最小时,能够求解每个子区域应该配置的优选资源数,以及通过调度增加或减少的生产资源数,比如该优化算法可以选择遗传算法,其中,遗传算法为一种通过模拟自然进化过程搜索优解的方法。该算法通过数学的方式,利用计算机仿真运算,将问题的求解过程转换成类似生物进化中的染色体基因的交叉、变异等过程。
46.基于此,在进行仓储区域中每个子区域分别对应的待调度资源量的计算时,可以先获取仓储区域对应的全局可用资源信息和全局待作业任务信息;实现根据全局可用资源信息和全局待作业任务信息,计算仓储区域对应的全局资源负载信息;此时再利用预设的优化算法对全局资源负载信息和全局负载损失值进行计算,即可根据计算结果确定仓储区
域中的子区域分别对应的待调度资源量。
47.综上,通过采用优化算法在设定条件下进行求解的方式进行每个子区域的待调度资源量的计算,可以有效的提高资源调度效率。
48.在此基础上,由于不同的子区域可能存在需求或释放资源的情况,因此针对不同情况需要创建不同的待调度资源量,以用于在创建任务并执行时,可以确保合理利用资源;本实施例中,所述仓储区域中的任意一个子区域对应的待调度资源量的确定,包括:根据计算结果确定目标子区域对应的基准资源信息;按照所述基准资源信息,确定所述目标子区域在当前资源调度周期中的需求资源量或冗余资源量;将所述需求资源量或冗余资源量作为所述目标子区域对应的待调度资源量。
49.具体的,基准资源信息具体是指在仓储区域的全局可用资源数量设定情况下,应该分配给每个子区域的资源数量。相应的,需求资源量具体是指目标子区域所需要的资源数量,冗余资源量具体是指目标子区域所应减少的资源数量。
50.基于此,针对任意一个目标子区域,可以在计算完成后,确定目标子区域对应的基准资源信息;此后可以按照基准资源信息,确定目标子区域在当前资源调度周期中的需求资源量或冗余资源量;将需求资源量或冗余资源量作为目标子区域对应的待调度资源量即可。
51.也就是说,需要读取到仓储区域所有区域下,当前指定类型的可用资源总量,以及各类型生产资源对应的待作业任务总数,通过计算待作业任务总数与可用资源总量的比值,可以得到仓储区域的全局资源负载信息,即指定类型的生产资源的优选平均负载值。在此基础上,可以使用遗传算法,计算得到仓储区域整体负载均衡损失达到最小时,各个子区域下应该配置的资源数,以及需要通过调度增加或减少的资源数,以方便后续创建资源调度任务,而实现资源重分配。
52.沿用上例,在得到区域1、2、3分别对应a类型资源的平均负载和平均负载变化趋势后,可以先获取m仓库在当前周期对应a类型资源的可用资源总数,以及各类型资源对应的待作业任务总数,通过计算待作业任务总数与可用资源总数的比值,得到m仓库的平均负载f。
53.进一步的,首先获取损失系数n1和损失系数n2;其次,针对区域1,可以通过计算损失系数n1与平均负载f11的乘积,以及损失系数n2与平均负载变化趋势g1的乘积,再对乘积结果进行求和,得到区域1在待作业任务数b1以及可用资源数a1的前提下,区域负载均衡损失h1= n1* f11+ n2* g1;针对区域2,可以通过计算损失系数n1与平均负载f12的乘积,以及损失系数n2与平均负载变化趋势g2的乘积,再对乘积结果进行求和,得到区域2在待作业任务数b2以及可用资源数a2的前提下,区域负载均衡损失h2= n1* f12+ n2* g2;针对区域3,可以通过计算损失系数n1与平均负载f13的乘积,以及损失系数n2与平均负载变化趋势g3的乘积,再对乘积结果进行求和,得到区域3在待作业任务数b3以及可用资源数a3的前提下,区域负载均衡损失h3= n1* f13+ n2* g3。再次,可以对每个区域对应的区域负载均衡损失进行平方和计算,从而得到m仓库对应的整体负载均衡损失l。
54.更进一步的,使用遗传算法,计算m仓库对应的整体负载均衡损失达到最小时,每个区域所对应的应该配置a类型资源的数量,以及每个区域增加或减少的a类型资源的数量。根据计算结果确定区域1应该配置a类型资源的资源数量为x1,且需要增加a类型资源的
资源数量为y1;区域2应该配置a类型资源的资源数量为x2,且需要增加a类型资源的资源数量为y2;区域3应该配置a类型资源的资源数量为x3,且需要减少a类型资源的资源数量为y3,实现后续可以以此为基础进行调度任务的创建,实现在区域之间合理调配a类型资源。
55.综上,通过精准计算每个子区域对应的待调度资源量,可以实现后续针对调度类型、资源类型和调度量创建更合理的资源调度任务,实现可以在仓储区域包含的各个子区域之间合理调配资源,从而整体提升仓储区域的作业效率。
56.步骤s208,确定所述待调度资源量对应的资源调度类型,根据所述资源调度类型和所述待调度资源量创建所述仓储区域对应的资源调度任务并执行。
57.具体的,在上述确定每个子区域对应的待调度资源量后,为了能够在创建调度任务时,可以明确每个区域需要增加的资源量,以及每个区域需要减少的资源量,可以先确定待调度资源量对应的资源调度类型,实现根据类型可以划分需求区域和供给区域,并结合当前已完成但未执行的资源调度任务,即可实现根据资源调度类型和待调度资源量创建仓储区域对应的资源调度任务,并在后续通过执行资源调度任务,即可达到对仓储区域中的可用资源负载均衡,从而实现资源被充分利用的同时,不会影响其他作业中断。
58.其中,资源调度类型具体是指根据待调度资源量确定的需求资源调度类型和供给资源调度类型,用于明确每个子区域的资源需求或减少情况。相应的,资源调度任务具体是指用于对目标类型的资源进行调度处理的任务,用于明确每个区域中的资源应该减少或增加多少,以及资源应该由哪个子区域提供或分配给哪个子区域。
59.进一步的,在创建资源调度任务时,为了能够达到仓储区域对应的可用资源负载均衡,可以结合需求区域以及供给区域建立匹配关系,以根据匹配关系进行区域资源之间的互补,并以此建立资源调度任务即可实现资源负载均衡;本实施例中,具体实现方式如下:确定所述仓储区域中的子区域分别对应的待调度资源量的资源调度类型;选择资源调度类型为资源供给类型的子区域组成资源供给集合,以及选择资源调度类型为资源需求类型的子区域组成资源需求集合;建立所述资源供给集合中的供给区域元素,与所述资源需求集合中的需求区域元素之间的区域匹配关系;根据区域匹配关系的建立结果创建所述仓储区域对应的资源调度任务并执行。
60.具体的,资源供给集合具体是指由提供可用资源的子区域组成的集合;供给区域元素即为该集合中提供可用资源的子区域。相应的,资源需求集合具体是指由需要可用资源的子区域组成的集合;需求区域元素即为该集合中需要可用资源的子区域。区域匹配关系用于匹配需求区域和供给区域,比如分拣区需要n个搬运机器人,收货区多余m个搬运机器人,则分拣区和收货区具有匹配关系。需要说明的是,优选情况下n=m,不等于时,则可以匹配n-m最小值的两个子区域建立匹配关系。
61.基于此,在得到每个子区域对应的待调度资源类型后,为了能够精准完成资源调度,可以确定仓储区域中的子区域分别对应的待调度资源量的资源调度类型;实现选择资源调度类型为资源供给类型的子区域组成资源供给集合,以及选择资源调度类型为资源需求类型的子区域组成资源需求集合;此后,通过建立资源供给集合中的供给区域元素,与资源需求集合中的需求区域元素之间的区域匹配关系;实现将供给区域和需求区域进行匹配,从而实现根据区域匹配关系的建立结果可以创建仓储区域对应的资源调度任务,以实
现通过执行任务准确完成目标资源类型的资源重分配。
62.也就是说,在通过上述处理过程得到仓储区域中的每个子区域对应的待调度资源量后,对于需要减少生产资源的子区域,可以选取相应数量的资源,形成一个资源供给集合。同理,对于需要增加资源的区域,每个可增加的资源对应一个需求,形成一个资源需求集合。在两个集合的基础上,可以寻找优选匹配关系,从而根据匹配关系建立资源调度任务。
63.综合,通过采用区域匹配的方式进行需求区域和供给区域的匹配,可以快速确定具有互补关系的两个区域,并以此创建资源调度任务可以快速实现资源调度,从而达到仓储区域的资源负载均衡的目的。
64.更进一步的,在创建资源调度任务时,实则是结合资源类型、需求资源和供给资源完成三元组的构建,并以此为基础可以准确生成资源调度任务;本实施例中,具体实现方式如下:根据区域匹配关系构建任务三元组;基于所述任务三元组中包含的可用资源类型、供给区域信息和需求区域信息,创建所述仓储区域对应的资源调度任务;将所述资源调度任务写入资源调度任务集合,并依次执行所述资源调度任务集合中包含的资源调度任务。
65.具体的,任务三元组具体是指由可用资源类型、供给区域信息和需求区域信息组成的数据结构,可用资源类型为当前资源调度周期需要调度的目标资源类型;供给区域信息具体是指提供该类型资源的区域,需求区域信息具体是指需要该类型资源的区域。相应的,资源调度任务集合具体是指缓存资源调度任务的集合,用于后续进行资源调度处理。
66.实际应用中,在执行资源调度任务时,如果资源类型为机器人等可移动设备,则可以直接按照任务中的供给区域信息和需求区域信息确定机器人出发地和目的地,之后选择当前时刻可用的机器人下发行驶路线和作业任务,驱动机器人从供给区域移动到需求区域进行作业即可。如果资源类型为操作人员,则可以向操作人员终端发送调度信息,使得操作人员在阅读调度信息后确定新的作业任务,以及作业地点,从而实现从供给区域移动到需求区域进行作业。
67.基于此,在建立匹配关系后,可以根据区域匹配关系构建任务三元组;此时即可基于任务三元组中包含的可用资源类型、供给区域信息和需求区域信息,创建仓储区域对应的资源调度任务;在任务创建完成后,可以将资源调度任务写入资源调度任务集合,实现后续通过依次执行资源调度任务集合中包含的资源调度任务,完成资源调度处理。
68.实际应用中,在建立匹配关系时,为了能够快速且精准的实现匹配,可以采用匈牙利算法进行匹配关系的查找,其中,匈牙利算法是一种在多项式时间内求解任务分配问题的组合优化算法。也就是说,采用该算法可以实现以最小调度任务执行时间为目标,求解资源供给集合中每个元素到资源需求集合中每个元素的一对一匹配问题,从而得到三元组《资源类型,供给区域,需求区域》,并将其写入集合方便后续生成待调度任务。
69.此外,考虑到上一资源调度周期中生成的资源调度任务可能还未被执行,此时再生成新的任务后,可能会出现任务重叠,或者实时状态更新不及时的问题;而为了能够达到实时动态调度资源的目的,可以在进行任务写入集合前,进行任务比对处理;本实施例中,具体实现方式如下:
将所述资源调度任务放入候选任务集合,以及获取历史资源调度任务集合;对所述候选任务集合和所述历史资源调度任务集合进行任务比对,根据任务比对结果在所述历史资源调度任务集合中取消互补资源调度任务;将取消所述互补资源调度任务的历史资源调度任务集合,作为所述资源调度任务集合。
70.具体的,候选任务集合具体是指在确定资源调度任务集合前临时放置资源调度任务的集合,目的是与历史资源调度任务集合进行比对,剔除不需要的资源调度任务。相应的,互补资源调度任务具体是指需要被删除的资源调度任务,其与当前得到的候选任务集合中的某个调度候选任务具有互补关系。相应的,历史资源调度任务集合具体是指当前资源调度周期之前已生成但未执行的资源调度任务组成的集合。
71.基于此,在得到资源调度任务后,可以将资源调度任务放入候选任务集合,以及获取历史资源调度任务集合;通过对候选任务集合和历史资源调度任务集合进行任务比对,即可根据任务比对结果在历史资源调度任务集合中取消互补资源调度任务;此后再将取消互补资源调度任务的历史资源调度任务集合,作为资源调度任务集合,用于后续使用即可。
72.也就是说,在得到三元组后,可以将每个三元组作为一个待生成的资源调度任务,并组成候选任务集合。之后可以当前资源调度周期之前关联目标类型资源的,已生成但未执行的资源调度任务组成的历史资源调度任务集合,此后通过遍历候选任务集合,对于其中的每个任务,若存在提供区域恰好为历史资源调度任务集合中某个任务的需求区域,且需求区域恰好为该历史资源调度任务集合中任务的提供区域,则可以将历史资源调度任务集合中未完成的该任务取消。否则,即可将当前遍历候选任务集合中的待生成任务写入到资源调度任务集合,而该资源调度任务集合实则即为取消互补任务后的历史资源调度任务集合。最后通过遍历该集合中新加入的元素,即可根据三元组中的可用资源类型、供给区域信息和需求区域信息依次生成资源调度任务,并写入集合待执行即可。
73.沿用上例,在得到区域1、2、3分别对应的资源类型及资源需求和供给数量信息后,可以选择需要减少a类型资源的区域组成资源供给集合,资源供给集合包括区域3,同理选择需要增加a类型资源的区域组成资源需求集合,资源供给集合包括区域1和2。
74.进一步的,可以选择以最小调度任务执行时间为目标,利用匈牙利算法求解资源供给集合中的区域1和区域2到资源需求集合中区域3的匹配关系,得到三元组分别为《资源类型a,提供区域3,需求区域1》,《资源类型a,提供区域3,需求区域2》,并将每个三元组对应一个待生成的资源调度任务,组成集合1。
75.更进一步的,读取当前资源调度周期前已经生成但未完成的a类型资源对应的集合2,通过遍历集合1,确定提供区域3恰好为集合2中s任务的需求区域,同时,需求区域2恰好为集合2中s任务的提供区域,则此时可以在集合2中取消未完成的s任务,并在遍历完成后,将集合1中的待生成任务放入集合3。
76.最后,通过遍历集合3中的元素,得到三元组《资源类型a,提供区域3,需求区域1》,并根据资源类型、提供区域和供给区域创建出a类型资源调度任务,任务内容为在区域3中选择x1个a类型资源调度到区域1进行作业。
77.本说明书提供的资源调度方法,为了能够提高仓储区域的资源利用率,提高作业效率,可以先获取仓储区域中每个子区域对应的资源负载信息和历史资源负载信息,实现将资源负载信息与历史资源负载信息进行比对,确定每个子区域对应的资源负载变化信
息,从而方便分析出每个子区域的资源量和任务量的活动区间。此后,为了能够平衡仓储区域对应的全部可用资源,提高作业效率,可以根据每个区域的资源负载信息和资源负载变化信息,计算出仓储区域对应的全局负载损失值,同时加载仓储区域对应的全局资源负载信息;在此基础上,即可结合仓储区域对应的全局负载损失值和全局资源负载信息,计算出每个子区域对应的待调度资源量,以提升仓储区域的全部资源平均利用率;最后,结合每个子区域的待调度资源量及其对应的资源调度类型,可以创建出仓储区域的资源调度任务,实现通过执行调度任务进行资源负载均衡,使得资源调度更加平滑,且达到提升仓储区域的全部资源平均利用率的目的,并且资源调度可动态完成,不受限时间,从而有效提高仓储区域的整体作业效率。
78.下述结合附图3,以本说明书提供的资源调度方法在搬运机器人资源场景中的应用为例,对所述资源调度方法进行进一步说明。其中,图3示出了本说明书一个实施例提供的一种资源调度方法的处理过程流程图,具体包括以下步骤。
79.步骤s302,响应于针对仓储区域提交的资源调度请求,在仓储区域对应的至少一种资源类型中确定目标资源类型。
80.步骤s304,获取仓储区域中的子区域,分别对应目标资源类型的资源负载信息和历史资源负载信息。
81.其中,仓储区域中的任意一个子区域对应的资源负载信息和历史资源负载信息的确定,包括:获取目标子区域在当前资源调度周期中的区域可用资源信息和区域待作业任务信息;根据区域可用资源信息和区域待作业任务信息,确定目标子区域对应的资源负载信息;获取当前资源调度周期的上一资源调度周期对应的资源负载信息,作为目标子区域对应的历史资源负载信息。
82.步骤s306,根据资源负载信息和历史资源负载信息,确定仓储区域中的子区域分别对应的资源负载变化信息。
83.步骤s308,读取预设的配置参数,并在配置参数中提取第一损失系数和第二损失系数。
84.步骤s310,根据第一损失系数和仓储区域中的子区域分别对应的资源负载信息,计算仓储区域中的子区域分别对应区域资源负载值。
85.步骤s312,根据第二损失系数和仓储区域中的子区域分别对应的资源负载变化信息,计算仓储区域中的子区域分别对应区域负载变化值。
86.步骤s314,基于仓储区域中的子区域分别对应的区域资源负载值和区域负载变化值,确定仓储区域中的子区域分别对应的区域负载损失值,并根据区域负载损失值计算仓储区域的全局负载损失值。
87.步骤s316,获取仓储区域对应的全局可用资源信息和全局待作业任务信息。
88.步骤s318,根据全局可用资源信息和全局待作业任务信息,计算仓储区域对应的全局资源负载信息。
89.步骤s320,利用预设的优化算法对全局资源负载信息和全局负载损失值进行计算,根据计算结果确定仓储区域中的子区域分别对应的待调度资源量。
90.其中,仓储区域中的任意一个子区域对应的待调度资源量的确定,包括:根据计算结果确定目标子区域对应的基准资源信息;按照基准资源信息,确定目标子区域在当前资
源调度周期中的需求资源量或冗余资源量;将需求资源量或冗余资源量作为目标子区域对应的待调度资源量。
91.步骤s322,确定仓储区域中的子区域分别对应的待调度资源量的资源调度类型。
92.步骤s324,选择资源调度类型为资源供给类型的子区域组成资源供给集合,以及选择资源调度类型为资源需求类型的子区域组成资源需求集合。
93.步骤s326,建立资源供给集合中的供给区域元素,与资源需求集合中的需求区域元素之间的区域匹配关系。
94.步骤s328,根据区域匹配关系构建任务三元组,基于任务三元组中包含的可用资源类型、供给区域信息和需求区域信息,创建仓储区域对应的资源调度任务。
95.步骤s330,将资源调度任务放入候选任务集合,以及获取历史资源调度任务集合。
96.步骤s332,对候选任务集合和历史资源调度任务集合进行任务比对,根据任务比对结果在历史资源调度任务集合中取消互补资源调度任务。
97.步骤s334,将取消互补资源调度任务的历史资源调度任务集合,作为资源调度任务集合。
98.步骤s336,将资源调度任务写入资源调度任务集合,并依次执行资源调度任务集合中包含的资源调度任务。
99.本说明书提供的资源调度方法,为了能够提高仓储区域的资源利用率,提高作业效率,可以先获取仓储区域中每个子区域对应的资源负载信息和历史资源负载信息,实现将资源负载信息与历史资源负载信息进行比对,确定每个子区域对应的资源负载变化信息,从而方便分析出每个子区域的资源量和任务量的活动区间。此后,为了能够平衡仓储区域对应的全部可用资源,提高作业效率,可以根据每个区域的资源负载信息和资源负载变化信息,计算出仓储区域对应的全局负载损失值,同时加载仓储区域对应的全局资源负载信息;在此基础上,即可结合仓储区域对应的全局负载损失值和全局资源负载信息,计算出每个子区域对应的待调度资源量,以提升仓储区域的全部资源平均利用率;最后,结合每个子区域的待调度资源量及其对应的资源调度类型,可以创建出仓储区域的资源调度任务,实现通过执行调度任务进行资源负载均衡,使得资源调度更加平滑,且达到提升仓储区域的全部资源平均利用率的目的,并且资源调度可动态完成,不受限时间,从而有效提高仓储区域的整体作业效率。
100.与上述方法实施例相对应,本说明书还提供了资源调度装置实施例,图4示出了本说明书一个实施例提供的一种资源调度装置的结构示意图。如图4所示,该装置包括:获取模块402,被配置为获取仓储区域中的子区域分别对应的资源负载信息和历史资源负载信息;确定模块404,被配置为根据所述资源负载信息和所述历史资源负载信息,确定所述仓储区域中的子区域分别对应的资源负载变化信息;计算模块406,被配置为根据所述资源负载信息和所述资源负载变化信息计算所述仓储区域的全局负载损失值,并利用所述仓储区域的全局资源负载信息和所述全局负载损失值,计算所述仓储区域中的子区域分别对应的待调度资源量;创建模块408,被配置为确定所述待调度资源量对应的资源调度类型,根据所述资源调度类型和所述待调度资源量创建所述仓储区域对应的资源调度任务并执行。
101.一个可选的实施例中,所述获取模块402进一步被配置为:响应于针对仓储区域提交的资源调度请求,在所述仓储区域对应的至少一种资源类型中确定目标资源类型;获取所述仓储区域中的子区域,分别对应所述目标资源类型的资源负载信息和历史资源负载信息。
102.一个可选的实施例中,所述仓储区域中的任意一个子区域对应的资源负载信息和历史资源负载信息的确定,包括:获取目标子区域在当前资源调度周期中的区域可用资源信息和区域待作业任务信息;根据所述区域可用资源信息和所述区域待作业任务信息,确定所述目标子区域对应的资源负载信息;获取所述当前资源调度周期的上一资源调度周期对应的资源负载信息,作为所述目标子区域对应的历史资源负载信息。
103.一个可选的实施例中,所述计算模块406进一步被配置为:读取预设的配置参数,并在所述配置参数中提取第一损失系数和第二损失系数;根据所述第一损失系数和所述仓储区域中的子区域分别对应的资源负载信息,计算所述仓储区域中的子区域分别对应区域资源负载值;根据所述第二损失系数和所述仓储区域中的子区域分别对应的资源负载变化信息,计算所述仓储区域中的子区域分别对应区域负载变化值;基于所述仓储区域中的子区域分别对应的区域资源负载值和区域负载变化值,确定所述仓储区域中的子区域分别对应的区域负载损失值,并根据所述区域负载损失值计算所述仓储区域的全局负载损失值。
104.一个可选的实施例中,所述计算模块406进一步被配置为:获取所述仓储区域对应的全局可用资源信息和全局待作业任务信息;根据所述全局可用资源信息和所述全局待作业任务信息,计算所述仓储区域对应的全局资源负载信息;利用预设的优化算法对所述全局资源负载信息和所述全局负载损失值进行计算,根据计算结果确定所述仓储区域中的子区域分别对应的待调度资源量。
105.一个可选的实施例中,所述仓储区域中的任意一个子区域对应的待调度资源量的确定,包括:根据计算结果确定目标子区域对应的基准资源信息;按照所述基准资源信息,确定所述目标子区域在当前资源调度周期中的需求资源量或冗余资源量;将所述需求资源量或冗余资源量作为所述目标子区域对应的待调度资源量。
106.一个可选的实施例中,所述创建模块408进一步被配置为:确定所述仓储区域中的子区域分别对应的待调度资源量的资源调度类型;选择资源调度类型为资源供给类型的子区域组成资源供给集合,以及选择资源调度类型为资源需求类型的子区域组成资源需求集合;建立所述资源供给集合中的供给区域元素,与所述资源需求集合中的需求区域元素之间的区域匹配关系;根据区域匹配关系的建立结果创建所述仓储区域对应的资源调度任务并执行。
107.一个可选的实施例中,所述创建模块408进一步被配置为:根据区域匹配关系构建任务三元组;基于所述任务三元组中包含的可用资源类型、供给区域信息和需求区域信息,创建所述仓储区域对应的资源调度任务;将所述资源调度任务写入资源调度任务集合,并依次执行所述资源调度任务集合中包含的资源调度任务。
108.一个可选的实施例中,所述创建模块408进一步被配置为:将所述资源调度任务放入候选任务集合,以及获取历史资源调度任务集合;对所述候选任务集合和所述历史资源调度任务集合进行任务比对,根据任务比对结果在所述历史资源调度任务集合中取消互补资源调度任务;将取消所述互补资源调度任务的历史资源调度任务集合,作为所述资源调度任务集合。
109.本说明书提供的资源调度装置,为了能够提高仓储区域的资源利用率,提高作业效率,可以先获取仓储区域中每个子区域对应的资源负载信息和历史资源负载信息,实现将资源负载信息与历史资源负载信息进行比对,确定每个子区域对应的资源负载变化信息,从而方便分析出每个子区域的资源量和任务量的活动区间。此后,为了能够平衡仓储区域对应的全部可用资源,提高作业效率,可以根据每个区域的资源负载信息和资源负载变化信息,计算出仓储区域对应的全局负载损失值,同时加载仓储区域对应的全局资源负载信息;在此基础上,即可结合仓储区域对应的全局负载损失值和全局资源负载信息,计算出每个子区域对应的待调度资源量,以提升仓储区域的全部资源平均利用率;最后,结合每个子区域的待调度资源量及其对应的资源调度类型,可以创建出仓储区域的资源调度任务,实现通过执行调度任务进行资源负载均衡,使得资源调度更加平滑,且达到提升仓储区域的全部资源平均利用率的目的,并且资源调度可动态完成,不受限时间,从而有效提高仓储区域的整体作业效率。
110.上述为本实施例的一种资源调度装置的示意性方案。需要说明的是,该资源调度装置的技术方案与上述的资源调度方法的技术方案属于同一构思,资源调度装置的技术方案未详细描述的细节内容,均可以参见上述资源调度方法的技术方案的描述。
111.与上述方法实施例相对应,本说明书还提供了资源调度系统实施例,资源调度系统包括调度决策模块和任务生成模块;其中,所述调度决策模块和所述任务生成模块用于存储资源调度可执行指令,所述调度决策模块和所述任务生成模块在执行资源调度可执行指令时实现上述资源调度方法的步骤。
112.一个可选的实施例中,所述资源调度系统还包括参数配置模块、定时触发模块、任务统计模块、资源监控模块、数据缓存模块和任务缓存模块;所述参数配置模块用于采集所述仓储区域中的子区域分别对应的资源界限信息,并反馈至所述调度决策模块;所述定时触发模块用于设定资源调度时间,且在达到所述资源调度时间的情况下,向所述调度决策模块发送资源调度请求;所述任务统计模块用于向所述调度决策模块发送所述仓储区域中的子区域分别对应的区域待作业任务信息;所述资源监控模块用于向所述调度决策模块发送所述仓储区域中的子区域分别对应的区域可用资源信息;所述数据缓存模块用于存储资源调度周期关联的资源负载信息;所述任务缓存模块用于存储资源调度周期关联的资源调度任务。
113.上述为本实施例的一种资源调度系统的示意性方案。需要说明的是,该资源调度系统的技术方案与上述的资源调度方法的技术方案属于同一构思,资源调度系统的技术方案未详细描述的细节内容,均可以参见上述资源调度方法的技术方案的描述。
114.图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
115.计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(pstn,public switched telephone network)、局域网(lan,local area network)、广域网(wan,wide area network)、个域网(pan,personal area network)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic,network interface controller))中的一个或多个,诸如ieee802.11无线局域网(wlan,wireless local area network)无线接口、全球微波互联接入(wi-max,worldwide interoperability for microwave access)接口、以太网接口、通用串行总线(usb,universal serial bus)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc,near field communication)接口,等等。
116.在本技术的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
117.计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或个人计算机(pc,personal computer)的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
118.其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述资源调度方法的步骤。
119.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的资源调度方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述资源调度方法的技术方案的描述。
120.本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述资源调度方法的步骤。
121.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的资源调度方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述资源调度方法的技术方案的描述。
122.本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述资源调度方法的步骤。
123.上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的资源调度方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述资源调度方法的技术方案的描述。
124.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
125.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据专利实践的要求进行适当的增减,例如在某些地区,根据专利实践,计算机可读介质不包括电载波信号和电信信号。
126.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
127.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
128.以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

技术特征:
1.一种资源调度方法,包括:获取仓储区域中的子区域分别对应的资源负载信息和历史资源负载信息;根据所述资源负载信息和所述历史资源负载信息,确定所述仓储区域中的子区域分别对应的资源负载变化信息;根据所述资源负载信息和所述资源负载变化信息计算所述仓储区域的全局负载损失值,并利用所述仓储区域的全局资源负载信息和所述全局负载损失值,计算所述仓储区域中的子区域分别对应的待调度资源量;确定所述待调度资源量对应的资源调度类型,根据所述资源调度类型和所述待调度资源量创建所述仓储区域对应的资源调度任务并执行。2.根据权利要求1所述的方法,所述获取仓储区域中的子区域分别对应的资源负载信息和历史资源负载信息,包括:响应于针对仓储区域提交的资源调度请求,在所述仓储区域对应的至少一种资源类型中确定目标资源类型;获取所述仓储区域中的子区域,分别对应所述目标资源类型的资源负载信息和历史资源负载信息。3.根据权利要求2所述的方法,所述仓储区域中的任意一个子区域对应的资源负载信息和历史资源负载信息的确定,包括:获取目标子区域在当前资源调度周期中的区域可用资源信息和区域待作业任务信息;根据所述区域可用资源信息和所述区域待作业任务信息,确定所述目标子区域对应的资源负载信息;获取所述当前资源调度周期的上一资源调度周期对应的资源负载信息,作为所述目标子区域对应的历史资源负载信息。4.根据权利要求1所述的方法,所述根据所述资源负载信息和所述资源负载变化信息计算所述仓储区域的全局负载损失值,包括:读取预设的配置参数,并在所述配置参数中提取第一损失系数和第二损失系数;根据所述第一损失系数和所述仓储区域中的子区域分别对应的资源负载信息,计算所述仓储区域中的子区域分别对应区域资源负载值;根据所述第二损失系数和所述仓储区域中的子区域分别对应的资源负载变化信息,计算所述仓储区域中的子区域分别对应区域负载变化值;基于所述仓储区域中的子区域分别对应的区域资源负载值和区域负载变化值,确定所述仓储区域中的子区域分别对应的区域负载损失值,并根据所述区域负载损失值计算所述仓储区域的全局负载损失值。5.根据权利要求1所述的方法,所述利用所述仓储区域的全局资源负载信息和所述全局负载损失值,计算所述仓储区域中的子区域分别对应的待调度资源量,包括:获取所述仓储区域对应的全局可用资源信息和全局待作业任务信息;根据所述全局可用资源信息和所述全局待作业任务信息,计算所述仓储区域对应的全局资源负载信息;利用预设的优化算法对所述全局资源负载信息和所述全局负载损失值进行计算,根据计算结果确定所述仓储区域中的子区域分别对应的待调度资源量。
6.根据权利要求5所述的方法,所述仓储区域中的任意一个子区域对应的待调度资源量的确定,包括:根据计算结果确定目标子区域对应的基准资源信息;按照所述基准资源信息,确定所述目标子区域在当前资源调度周期中的需求资源量或冗余资源量;将所述需求资源量或冗余资源量作为所述目标子区域对应的待调度资源量。7.根据权利要求1所述的方法,所述确定所述待调度资源量对应的资源调度类型,根据所述资源调度类型和所述待调度资源量创建所述仓储区域对应的资源调度任务并执行,包括:确定所述仓储区域中的子区域分别对应的待调度资源量的资源调度类型;选择资源调度类型为资源供给类型的子区域组成资源供给集合,以及选择资源调度类型为资源需求类型的子区域组成资源需求集合;建立所述资源供给集合中的供给区域元素,与所述资源需求集合中的需求区域元素之间的区域匹配关系;根据区域匹配关系的建立结果创建所述仓储区域对应的资源调度任务并执行。8.根据权利要求7所述的方法,所述根据区域匹配关系的建立结果创建所述仓储区域对应的资源调度任务并执行,包括:根据区域匹配关系构建任务三元组;基于所述任务三元组中包含的可用资源类型、供给区域信息和需求区域信息,创建所述仓储区域对应的资源调度任务;将所述资源调度任务写入资源调度任务集合,并依次执行所述资源调度任务集合中包含的资源调度任务。9.根据权利要求8所述的方法,所述将所述资源调度任务写入资源调度任务集合步骤执行之前,还包括:将所述资源调度任务放入候选任务集合,以及获取历史资源调度任务集合;对所述候选任务集合和所述历史资源调度任务集合进行任务比对,根据任务比对结果在所述历史资源调度任务集合中取消互补资源调度任务;将取消所述互补资源调度任务的历史资源调度任务集合,作为所述资源调度任务集合。10.一种资源调度装置,包括:获取模块,被配置为获取仓储区域中的子区域分别对应的资源负载信息和历史资源负载信息;确定模块,被配置为根据所述资源负载信息和所述历史资源负载信息,确定所述仓储区域中的子区域分别对应的资源负载变化信息;计算模块,被配置为根据所述资源负载信息和所述资源负载变化信息计算所述仓储区域的全局负载损失值,并利用所述仓储区域的全局资源负载信息和所述全局负载损失值,计算所述仓储区域中的子区域分别对应的待调度资源量;创建模块,被配置为确定所述待调度资源量对应的资源调度类型,根据所述资源调度类型和所述待调度资源量创建所述仓储区域对应的资源调度任务并执行。
11.一种资源调度系统,包括:调度决策模块和任务生成模块;所述调度决策模块和所述任务生成模块用于存储资源调度可执行指令,所述调度决策模块和所述任务生成模块在执行资源调度可执行指令时实现权利要求1至9任意一项所述方法的步骤。12.根据权利要求11所述的系统,所述资源调度系统还包括参数配置模块、定时触发模块、任务统计模块、资源监控模块、数据缓存模块和任务缓存模块;所述参数配置模块用于采集所述仓储区域中的子区域分别对应的资源界限信息,并反馈至所述调度决策模块;所述定时触发模块用于设定资源调度时间,且在达到所述资源调度时间的情况下,向所述调度决策模块发送资源调度请求;所述任务统计模块用于向所述调度决策模块发送所述仓储区域中的子区域分别对应的区域待作业任务信息;所述资源监控模块用于向所述调度决策模块发送所述仓储区域中的子区域分别对应的区域可用资源信息;所述数据缓存模块用于存储资源调度周期关联的资源负载信息;所述任务缓存模块用于存储资源调度周期关联的资源调度任务。13.一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至9任意一项所述方法的步骤。14.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至9任意一项所述方法的步骤。

技术总结
本说明书实施例提供资源调度方法、装置以及系统,其中所述资源调度方法包括:获取仓储区域中的子区域分别对应的资源负载信息和历史资源负载信息;根据所述资源负载信息和所述历史资源负载信息,确定所述仓储区域中的子区域分别对应的资源负载变化信息;根据所述资源负载信息和所述资源负载变化信息计算所述仓储区域的全局负载损失值,并利用所述仓储区域的全局资源负载信息和所述全局负载损失值,计算所述仓储区域中的子区域分别对应的待调度资源量;确定所述待调度资源量对应的资源调度类型,根据所述资源调度类型和所述待调度资源量创建所述仓储区域对应的资源调度任务并执行。行。行。


技术研发人员:张冀 陈滔滔 李柳熙 王子豪 丁宏伟 李洪波
受保护的技术使用者:浙江菜鸟供应链管理有限公司
技术研发日:2023.07.11
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐