[0001]
本发明涉及仓储物流领域,具体而言,涉及一种动态指派车辆回工作站的方法、装置、设备及存储介质。
背景技术:[0002]
在物流仓储技术中,在包裹分拣过程中,一个车辆(如智能搬运机器人)倾倒完包裹后可以有多个工作站去向。目前通常使用工作站计数的方法来均衡各个供包站的供包效率,即根据工作站目前的排队车辆数量,来指派车辆,但是,这样分配的工作站可能距离车辆较远,且车辆在回工作站的过程中,可能会有新的车辆到达目标工作站,忽略了车辆回工作站途中的距离和交通情况,仅解决工作站和车辆的预先匹配的公平性,依靠预先分配导致车辆回工作站缺少灵活性,最终导致分拣效率不高。
[0003]
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现要素:[0004]
本发明提供一种动态指派车辆回工作站的方法、装置、设备及存储介质,能够提高车辆回站速率,实现工作站的平衡,提高分拣效率。
[0005]
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
[0006]
根据本发明的一方面,提供一种动态指派车辆回工作站的方法,其特征在于,包括:步骤a),分别计算待分配车辆的预分配层级下各工作区内所有车辆的数量;步骤b),选择所述数量最小的所述工作区作为目标工作区;步骤c),从所述目标工作区中选择一个工作站作为目标工作站;步骤d),将所述目标工作站通知给所述待分配车辆;步骤e),确定所述预分配层级是否为最低层级;以及步骤h),当所述预分配层级不是最低层级时,将包含所述目标工作站的所述预分配层级的下一层级作为所述待分配车辆新的预分配层级,重新执行步骤a)~e)。。
[0007]
根据本发明的一实施方式,在步骤c)之后,所述方法还包括:确定所述待分配车辆当前位置与所述目标工作站之间的最短路径,并将所述最短路径通知给所述待分配车辆。
[0008]
根据本发明的一实施方式,所述工作站根据二叉树算法被划分为至少一个层级。
[0009]
根据本发明的一实施方式,所述最低层级为所述二叉树的叶子节点。
[0010]
根据本发明的一实施方式,所述待分配车辆的预分配层级下各工作区内所有车辆的数量包括:所述工作区内已有车辆的数量与待回所述工作区车辆的数量之和。
[0011]
根据本发明的一实施方式,所述待分配车辆初始的预分配层级为最高层级。
[0012]
根据本发明的一实施方式,步骤c)包括:选择所述目标工作区中距离所述待分配车辆最近的工作站作为所述目标工作站。
[0013]
根据本发明的另一方面,提供一种动态指派车辆回工作站的装置,其特征在于,包
括:数量计算模块,用于分别计算待分配车辆的预分配层级下各工作区内所有车辆的数量;工作区确定模块,用于选择所述数量最小的所述工作区作为目标工作区;工作站确定模块,用于从所述目标工作区中选择一个工作站作为目标工作站;车辆通知模块,用于将所述目标工作站通知给所述待分配车辆;层级确定模块,用于确定所述预分配层级是否为最低层级;以及层级分配模块,当所述预分配层级不是最低层级时,将包含所述目标工作站的所述预分配层级的下一层级作为所述待分配车辆新的预分配层级,通过所述数量计算模块、所述工作区确定模块、所述工作站确定模块、所述车辆通知模块以及所述层级确定模块,重新为所述待分配车辆分配工作站。
[0014]
根据本发明的再一方面,提供一种计算机设备,包括:存储器、处理器及存储在存储器中并可在处理器中运行的可执行指令,处理器执行可执行指令时实现如上述任意一种方法。
[0015]
根据本发明的再一方面,提供一种计算机可读存储介质,其上存储有计算机可执行指令,可执行指令被处理器执行时实现如上述任意一种方法。
[0016]
本发明提供的动态指派车辆回工作站的方法,将工作站按照不同层级划分为多个工作区,通过在车辆回站过程中,动态计算各工作区内的排队车辆数量,选择排队车辆数量最小的工作区作为目标工作区,在目标工作区中选择一个工作站作为目标工作站通知给待回站的车辆,并在车辆返回该目标工作站的过程中不断根据各工作区排队车辆的数量,修正目标工作站。此外,在一些实施例中,在目标工作站中选择目标工作站时,进一步考虑与车辆的距离,确保车辆能尽快返回工作站。该方法通过对工作站按层级分区,在车辆回工作站的途中不断动态选择目标工作站,能够提高车辆回工作站的效率及灵活性,实现工作站之间的平衡,提高分拣效率。
[0017]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
[0018]
通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。
[0019]
图1是根据一示例示出的一种动态指派车辆回工作站的方法的应用场景示意图。
[0020]
图2是根据一示例性实施方式示出的一种动态指派车辆回工作站的方法的流程图。
[0021]
图3是根据一示例示出的一种用二叉树表示层级关系的示意图。
[0022]
图4是根据一示例性实施方式示出的另一种动态指派车辆回工作站的方法的流程图。
[0023]
图5是根据一示例性实施方式示出的动态指派车辆回工作站的装置的框图。
[0024]
图6是根据一示例性实施方式示出的一种计算机系统的结构示意图。
具体实施方式
[0025]
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加
全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
[0026]
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。
[0027]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0028]
图1是根据一示例示出的一种动态指派车辆回工作站的方法的应用场景示意图。如图1所示,应用场景包括:服务器1、待分配车辆2及工作站3。其中,服务器1和待分配车辆2之间可以通信,服务器1可以将目标工作站信息发送到待分配车辆2,待分配车辆2可以接收目标工作站信息并执行。工作站3例如为仓库中的各个供包站,即提供包裹的站点。需要说明的是,为了简化示意图,图中以一辆待分配车辆2及4个工作站3为例,但本发明不以此为限。本领域技术人员可以理解的是,在实际应用中会有多辆待分配车辆2及多个工作站3。此外,其中服务器1以单台服务器为例,但也可以是分布式集群服务器。
[0029]
图2是根据一示例性实施方式示出的一种动态指派车辆回工作站的方法的流程图。如图2所示的动态指派车辆回工作站的方法10例如可以应用于图1中所示的服务器1中。动态指派车辆回工作站的方法10包括:
[0030]
在步骤s102中,分别计算待分配车辆的预分配层级下各工作区内所有车辆的数量。
[0031]
工作站例如可以根据二叉树算法被划分为至少一个层级。
[0032]
图3是根据一示例示出的一种二叉树表示层级关系的示意图。如图3所示,以8个工作站为例,按照如图3所示的二叉树结构进行分组,对相邻工作站逐层汇聚成更高一级的分组,其中,
①
表示最高层级,
②
表示第二层级,
③
表示第三层级,
④
表示最低层级。
[0033]
首先,计算最高层级下的2个工作区中所有车辆的数量。在一些实施例中,待分配车辆的预分配层级下各工作区内所有车辆的数量包括:工作区内已有车辆的数量与待回工作区车辆的数量之和。其中待回工作区车辆例如可以为当前以该工作区作为目标工作区的车辆。
[0034]
在一些实施例中,待分配车辆初始的预分配层级为最高层级,如图3中所示的最高层级
①
。
[0035]
在步骤s104中,选择数量最小的工作区作为目标工作区。
[0036]
通过比较各工作区内所有车辆的数量大小,选择其中数量最小的工作区作为目标工作区。
[0037]
仍以图3为例,如果包含工作站1、工作站2、工作站3、工作站4的工作区所含所有车辆的数量最少,那么选择该工作区为目标工作区。
[0038]
在步骤s106中,从目标工作区中选择一个工作站作为目标工作站。
[0039]
在一些实施例中,从目标工作区中选择一个工作站作为目标工作站包括:选择目标工作区中距离待分配车辆最近的工作站作为目标工作站。
[0040]
仍以图3为例,如果选择的目标工作区是包含工作站1、工作站2、工作站3、工作站4的工作区,通过比较发现,此时工作站2离待分配车辆最近,那么将工作站2作为目标工作站。
[0041]
在步骤s108中,将目标工作站通知给待分配车辆。
[0042]
待分配车辆收到目标工作站的信息后,可以自动计算与目标工作站之间的最短路径规划,并根据该路径规划,向该目标工作站移动。在移动的过程中,如果收到新的目标工作站的信息,则重新规划路线,向新的目标工作站移动。这样可以在待分配车辆移动过程中,逐步优化目标工作站的选择,节省时间,提升效率。
[0043]
在步骤s110中,确定预分配层级是否为最低层级,如果预分配层级是最低层级,则结束;如果预分配层级不是最低层级,则进入步骤s112。
[0044]
在一些实施例中,最低层级为二叉树的叶子节点,如图3中的层级
④
。
[0045]
在动态对各层级工作区进行计算的过程中,例如可以通过深度优先遍历下探搜索,直到搜索到二叉树的叶子节点。
[0046]
在步骤s112中,将包含目标工作站的预分配层级的下一层级作为待分配车辆新的预分配层级。
[0047]
仍以图3所示的层级划分为例,如果当前层级为
①
,则下一层级为
②
;如果当前层级为
②
,则下一层级为
③
;如果当前层级为
③
,则下一层级为
④
。
[0048]
执行完步骤s112后,进入步骤s102,直到预分配层级为最低层级。
[0049]
本发明提供的动态指派车辆回工作站的方法,将工作站按照不同层级划分为多个工作区,通过在车辆回站过程中,动态计算各工作区内的排队车辆数量,选择排队车辆数量最小的工作区作为目标工作区,在目标工作区中选择一个工作站作为目标工作站通知给待回站的车辆,并在车辆返回该目标工作站的过程中不断根据各工作区排队车辆的数量,修正目标工作站。此外,在一些实施例中,在目标工作站中选择目标工作站时,进一步考虑与车辆的距离,确保车辆能尽快返回工作站。该方法通过对工作站按层级分区,在车辆回工作站的途中不断动态选择目标工作站,能够提高车辆回工作站的效率及灵活性,实现工作站之间的平衡,提高分拣效率。
[0050]
应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施方式。
[0051]
图4是根据一示例性实施方式示出的另一种动态指派车辆回工作站的方法的流程图。如图4所示的动态指派车辆回工作站的方法20例如可以应用于图1中所示的服务器1中。在如图2所示的方法10的步骤s106之后,图4所示的方法20还进一步包括以下步骤:
[0052]
在步骤s202中,确定待分配车辆当前位置与目标工作站之间的最短路径,并将最短路径通知给待分配车辆。
[0053]
在确定目标工作站之后,服务器1可以根据待分配车辆的当前位置和目标工作站的位置,以及待分配车辆和目标工作站之间的交通情况,自动确定待分配车辆当前位置与
目标工作站之间的最短路径,并将该最短路径发送给待分配车辆。
[0054]
待分配车辆收到最短路径的信息后,便按照该最短路径移动,在移动的过程中,如果收到新的最短路径的信息,则按照新的最短路径移动。这样可以在待分配车辆移动过程中,逐步优化最短路径的选择,节省时间,提升效率。
[0055]
此外,服务器1也可以如上述方法10中的步骤s108,同时将最短路径信息及目标工作站同时告知待分配车辆。
[0056]
执行完步骤s202后,进入步骤s110,确定预分配层级是否为最低层级。
[0057]
方法20与方法10中相同的步骤在此不再赘述。
[0058]
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由cpu执行的计算机程序。在该计算机程序被cpu执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
[0059]
此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0060]
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
[0061]
图5是根据一示例性实施方式示出的动态指派车辆回工作站的装置的框图。如图5所示的动态指派车辆回工作站的装置例如可以应用于上述动态指派车辆回工作站的方法中。
[0062]
参考图5,动态指派车辆回工作站的装置50包括:数量计算模块502、工作区确定模块504、工作站确定模块506、车辆通知模块508、层级确定模块510及层级分配模块512。
[0063]
其中,数量计算模块502用于分别计算待分配车辆的预分配层级下各工作区内所有车辆的数量。
[0064]
工作区确定模块504用于选择数量最小的工作区作为目标工作区。
[0065]
工作站确定模块506用于从目标工作区中选择一个工作站作为目标工作站。
[0066]
车辆通知模块508用于将目标工作站通知给待分配车辆。
[0067]
层级确定模块510用于确定预分配层级是否为最低层级。
[0068]
层级分配模块512用于当预分配层级不是最低层级时,将包含目标工作站的预分配层级的下一层级作为待分配车辆新的预分配层级,通过数量计算模块502、工作区确定模块504、工作站确定模块506、车辆通知模块508以及层级确定模块510,重新为待分配车辆分配工作站。
[0069]
在一些实施例中,装置50还包括路径确定模块,用于确定待分配车辆当前位置与目标工作站之间的最短路径,并将最短路径通知给待分配车辆。
[0070]
在一些实施例中,工作站根据二叉树算法被划分为至少一个层级。
[0071]
在一些实施例中,最低层级为二叉树的叶子节点。
[0072]
在一些实施例中,待分配车辆的预分配层级下各工作区内所有车辆的数量包括:工作区内已有车辆的数量与待回工作区车辆的数量之和。
[0073]
在一些实施例中,待分配车辆初始的预分配层级为最高层级。
[0074]
在一些实施例中,工作站确定模块506用于选择目标工作区中距离待分配车辆最近的工作站作为目标工作站。
[0075]
本发明提供的动态指派车辆回工作站的装置,将工作站按照不同层级划分为多个工作区,通过在车辆回站过程中,动态计算各工作区内的排队车辆数量,选择排队车辆数量最小的工作区作为目标工作区,在目标工作区中选择一个工作站作为目标工作站通知给待回站的车辆,并在车辆返回该目标工作站的过程中不断根据各工作区排队车辆的数量,修正目标工作站。此外,在一些实施例中,在目标工作站中选择目标工作站时,进一步考虑与车辆的距离,确保车辆能尽快返回工作站。该装置通过对工作站按层级分区,在车辆回工作站的途中不断动态选择目标工作站,能够提高车辆回工作站的效率及灵活性,实现工作站之间的平衡,提高分拣效率。
[0076]
需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0077]
图6是根据一示例性实施方式示出的一种计算机系统的结构示意图。需要说明的是,图6示出的计算机系统仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0078]
如图6所示,计算机系统800包括中央处理单元(cpu)801,其可以根据存储在只读存储器(rom)802中的程序或者从存储部分808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。在ram 803中,还存储有系统800操作所需的各种程序和数据。cpu 801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
[0079]
以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
[0080]
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(cpu)801执行时,执行本发明的系统中限定的上述功能。
[0081]
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便
携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0082]
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0083]
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。
[0084]
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
[0085]
步骤a),分别计算待分配车辆的预分配层级下各工作区内所有车辆的数量;
[0086]
步骤b),选择数量最小的工作区作为目标工作区;
[0087]
步骤c),从目标工作区中选择一个工作站作为目标工作站;
[0088]
步骤d),将目标工作站通知给待分配车辆;
[0089]
步骤e),确定预分配层级是否为最低层级;以及
[0090]
步骤h),当预分配层级不是最低层级时,将包含目标工作站的预分配层级的下一层级作为待分配车辆新的预分配层级,重新执行步骤a)~e)。
[0091]
以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。