一种任务派发方法、装置、电子设备和存储介质与流程

文档序号:26595414发布日期:2021-09-10 22:16阅读:91来源:国知局
一种任务派发方法、装置、电子设备和存储介质与流程

1.本技术涉及无人驾驶技术领域,具体涉及一种任务派发方法、装置、电子设备和存储介质。


背景技术:

2.港口在实现自动化水平运输过程中,需要无人车完成不同类型的作业任务。
3.目前来说,多个作业任务的派发通常依照先来先服务的原则执行,即基于作业任务的生成时间来确定作用任务的派发次序,以确保生成时间早的作业任务可先于生成时间晚的作业任务执行。在实际应用中,当面对突发任务或紧急任务时,若仍依照先来先服务原则派发作业任务,则会导致无人车的运力分配不合理。


技术实现要素:

4.本技术实施例的目的在于提供一种任务派发方法、装置、电子设备和存储介质,可解决无人车的运力分配不合理的问题。
5.第一方面,本技术实施例提供了一种任务派发方法,包括:
6.获取作业任务的紧急度信息和时间信息;
7.根据所述紧急度信息和所述时间信息,获取优先值信息;
8.根据所述优先值信息,对多个作业任务进行排序,以获取作业任务队列;
9.根据所述作业任务队列,对所述多个作业任务进行派发。
10.第二方面,本技术实施例提供了一种任务派发装置,包括:
11.第一获取模块,用于获取作业任务的紧急度信息和时间信息;
12.第二获取模块,用于根据所述紧急度信息和所述时间信息,获取优先值信息;
13.排序模块,用于根据所述优先值信息,对多个作业任务进行排序,以获取作业任务队列;
14.派发模块,用于根据所述作业任务队列,对所述多个作业任务进行派发。
15.第三方面,本技术实施例提供了一种电子设备,所述电子设备包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的任务派发方法的步骤。
16.第四方面,本技术实施例提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序包括程序指令,该程序指令被处理器执行时实现如第一方面所述的任务派发方法的步骤。
17.上述技术方案具有如下优点或有益效果:
18.本技术实施例提供的任务派发方法,通过获取并应用作业任务的紧急度信息和时间信息的方式,可优化多个作业任务的派发逻辑,使无人车的运力得到合理分配。
附图说明
19.图1是本技术实施例提供的一种任务派发方法的流程示意图;
20.图2是本技术实施例提供的一种自动化运输系统的结构示意图;
21.图3是本技术实施例提供的一种任务派发装置的结构示意图;
22.图4是本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
23.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本技术保护的范围。
24.请参见图1,图1是本技术实施例提供的一种任务派发方法的流程示意图。如图1所示,该任务派发方法包括以下步骤:
25.步骤101、获取作业任务的紧急度信息和时间信息。
26.步骤102、根据所述紧急度信息和所述时间信息,获取优先值信息。
27.步骤103、根据所述优先值信息,对多个作业任务进行排序,以获取作业任务队列。
28.步骤104、根据所述作业任务队列,对所述多个作业任务进行派发。
29.其中,所述紧急度信息的获取方式可以为:
30.预先定义一任务紧急度表,所述任务紧急度表包括多组关联数据,所述关联数据包括任务类型和对应所述任务类型的紧急度信息;
31.获取目标作业任务的任务类型,并根据所述目标作业任务的任务类型对所述任务紧急度表进行查询,以获得关联所述目标作业任务的任务类型的紧急度信息。
32.需要说明的是,所述紧急度信息用于说明所述作业类型的任务优先级,例如,通过1至10来有序区分所述作业类型的不同任务优先级,可设定任务优先级为1的作业类型的优先程度最高,任务优先级为10的作业类型的优先程度最低。在应用中,可基于实际需求对所述任务优先级的等级划分方式和数目作适应性调整,本技术实施例对此并不加以限定。
33.至于所述任务类型,则可以为装船任务、卸船任务、堆场倒箱任务、取消任务、暂停任务等,本技术实施例对所述任务类型的具体类别和数目也不加以限定。
34.相较于以往的派发方法(基于先来先服务原则)来说,本技术所提供的任务派发方法,通过所述紧急度信息和所述时间信息的设定,能对多个作业任务进行合理排序,可在保证无人车正常执行港口运输任务的同时,使无人车具备及时响应港口运输过程中的突发任务或紧急任务的能力,令无人车的运力得到合理分配。
35.可选的,所述根据所述紧急度信息和所述时间信息,获取优先值信息的步骤,包括:
36.根据所述紧急度信息,获取优先值头部信息;
37.根据所述时间信息,获取优先值尾部信息;
38.拼接所述优先值头部信息和所述优先值尾部信息,获取所述优先值信息。
39.其中,所述时间信息为所述作业任务的生成时间。
40.上述方式可通过公式表示为:
41.f(n)=g(n)+h(t);
42.式中,所述f(n)为所述作业任务的优先值信息,所述g(n)为所述作业任务的优先值头部信息,所述h(t)为所述作业任务对应的优先值尾部信息,所述n为所述作业任务的任务类型,所述t为所述作业任务的生成时间。
43.通过上述方式,可对所述多个作业任务进行合理排序;以第一作业任务和第二作业任务为例(第一作业任务和第二作业任务为所述多个作业任务中的不同作业任务),先对第一作业任务的优先值头部信息和第二作业任务的优先值头部信息进行比较(即比较第一作业任务和第二作业任务的任务优先级);
44.若第一作业任务的任务优先级高于第二作业任务的任务优先级,则设定第一作业任务的执行次序在第二作业任务的执行次序之前;
45.若第一作业任务的任务优先级小于第二作业任务的任务优先级,则设定第一作业任务的执行次序在第二作业任务的执行次序之后;
46.若第一作业任务的任务优先级和第二作业任务的任务优先级相同,再对第一作业任务的优先值尾部信息和第二作业任务的优先值尾部信息进行比较(即比较第一作业任务和第二作业任务的生成时间),若第一作业任务的生成时间早于第二作业任务的生成时间,则设定第一作业任务的执行次序在第二作业任务的执行次序之前,若第一作业任务的生成时间晚于第二作业任务的生成时间,则设定第一作业任务的执行次序在第二作业任务的执行次序之后。
47.在实际应用中,可将优先值头部信息以整数形式表示,将优先值尾部信息以小数形式表示,举例来说,以数字1至10来表示不同任务类型的任务优先级,并设定其优先级与数字的大小呈反比,即任务优先级为1的作业类型的优先程度最高,任务优先级为10的作业类型的优先程度最低,同时将所述作业任务的生成时间以unix时间戳的形式进行表示,且在获取所述优先值信息之前,将所述unix时间戳转换成相对应的小数;
48.此时,拼接所述优先值头部信息和所述优先值尾部信息的过程为,对优先值头部信息所对应整数和优先值尾部信息所对应小数的求和运算过程,若仍以第一作业任务和第二作业任务为例,则在第一作业任务的优先值信息小于第二作业任务的优先值信息的情况下(即第一作业任务的优先级高于第二作业任务的优先级),设定第一作业任务的执行次序在第二作业任务的执行次序之前;在第一作业任务的优先值信息大于第二作业任务的优先值信息的情况下(即第一作业任务的优先级低于第二作业任务的优先级),设定第一作业任务的执行次序在第二作业任务的执行次序之后。
49.相较于分别比较所述优先值头部信息和所述优先值尾部信息的方式来说,通过上述方式,可简化第一作业任务的优先值信息和第二作业任务的优先值信息的比较过程,使所述多个作业任务的排序效率得到提高。
50.需要说明的是,在实际应用中,可将所述作业任务的生成时间设定为所述紧急度信息的查表时间,即对所述任务紧急度表的查询时间为所述作业任务的生成时间。
51.可选的,根据所述作业任务队列,对所述多个作业任务进行派发的步骤,包括:
52.根据所述作业任务队列,获得队首作业任务,并对所述队首作业任务进行派发;
53.在派发所述队首作业任务之后,在所述作业任务队列插入新的作业任务,且所述新的作业任务的优先值信息高于所述队首作业任务的优先值信息的情况下,对所述新的作
业任务进行派发,以使所述新的作业任务替换所述队首作业任务。
54.其中,所述队首作业任务即位于所述作业任务队列的队首的作业任务。
55.在根据所述作业任务队列,获得队首作业任务,并对所述队首作业任务进行派发以后,即在无人车执行所述队首作业任务的过程中,判断所述作业任务队列是否插入了新的作业任务;
56.在所述作业任务队列未插入新的作业任务的情况下,不进行其他作业任务的派发,直至所述队首作业任务完成以后,再根据所述作业任务队列(移除了所述队首作业任务),获得新的队首作业任务,并将所述新的队首作业任务派发给无人车。
57.举例来说,若所述作业任务队列的作业任务排序依次为第一作业任务、第二作业任务和第三作业任务时(第一作业任务的优先级高于第二作业任务的优先级,第二作业任务的优先级高于第三作业任务的优先级),所述第一作业任务即为所述队首作业任务,在所述第一作业任务派发至无人车,且作业任务队列未插入新的作业任务的情况下,所述第二作业任务将作为新的队首作业任务存在,当无人车执行完所述第一作业任务以后,才会将新的队首作业任务(此处即为第二作业任务)派发至无人车,以此来保证所述作业任务队列的多个作业任务能被无人车有序执行。
58.在所述作业任务队列插入了新的作业任务,但所述新的作业任务的优先级低于所述队首作业任务的优先级的情况下,也不进行其他作业任务的派发,直至所述队首作业任务完成以后,再根据所述作业任务队列(移除了所述队首作业任务,且插入了新的作业任务),获得新的队首作业任务,并将所述新的队首作业任务派发给无人车。
59.举例来说,假定所述作业任务队列的作业任务排序依次为第四作业任务和第五作业任务时(第四作业任务的优先级高于第三作业任务的优先级),所述第四作业任务即为队首作业任务,若在无人车执行第四作业任务的过程中,所述作业任务队列插入了第六作业任务(即所述新的作业任务),但第六作业任务的优先级低于第四作业任务的优先级,则第四作业任务的执行过程将不受打断,只有在第四作业任务执行完成以后,才会根据新的作业任务队列(即第五作业任务和第六作业任务),获得新的队首作业任务,并将所述新的队首作业派发给无人车。
60.在所述作业任务队列插入了新的作业任务,且所述新的作业任务的优先级高于所述队首作业任务的优先级的情况下,将会通过派发所述新的作业任务的方式,来替换所述队首作业任务,以使无人车快速响应港口运输过程中出现的突发任务或紧急任务。
61.举例来说,假定所述作业任务队列的作业任务排序依次为第七作业任务和第八作业任务(第七作业任务的优先级高于第八作业任务的优先级),所述第七作业任务即为队首作业任务,若在无人车执行第七作业任务的过程中,所述作业任务队列插入了第九作业任务(即所述新的作业任务),且第九作业任务的优先级高于第七作业任务的优先级,则第七作业任务的执行过程将被打断,此时会将第九作业任务派发至无人车,以使无人车停止第七作业任务的执行,转去执行第九作业任务。
62.在实际应用中,高优先级的作业任务包括但不限于取消任务和暂停任务;
63.若所述第九作业任务为取消任务,则所述第七作业任务将被无人车取消,在第九作业任务执行完成后,无人车将会执行第八作业任务(即直接跳过第七作业任务);
64.若所述第九作业任务为暂停任务,则所述第七作业任务将被无人车中断执行,并
进行停车操作,操作人员后续可通过派发取消任务的方式,来使无人车继续执行之前未完成的第七作业任务。
65.可选的,所述根据所述优先值信息,对多个作业任务进行排序,以获取作业任务队列的步骤,包括:
66.根据堆排序算法处理所述优先值信息,对所述多个作业任务进行排序,以获取所述作业任务队列。
67.相较于其他排序算法来说,例如冒泡排序算法、快速排序算法、以及希尔排序算法等,堆排序算法的处理效率更高(堆排序算法插入一个任务的时间复杂度为o(logn),而其它排序算法一般时间复杂度为o(n)),这能提高所述多个作业任务的排序效率,并使无人车对突发任务或紧急任务的相应速率得到进一步提升。
68.一般来说,如图2所示,港口的自动化运输系统包括港口作业服务器、人机交互模块、车辆管理模块以及自动化运输工具;
69.其中,港口作业服务器具体用于,根据预设指令,向所述车辆管理模块自动传输装船、卸船、堆场倒箱、取消、暂停等作业任务;
70.人机交互模块具体用于,接收操作人员输入的控制指令,并根据所述控制指令,向所述车辆管理模块手动传输自动充电、暂停等作业任务;
71.车辆管理模块具体用于,接收港口作业服务器和人机交互模块所分别传输的多个作业任务,并根据所述任务派发方法对所述多个作业任务进行排序,以获取作业任务队列,而后基于所述作业任务队列向自动化运输工具有序派发作业任务;
72.自动化运输工具具体用于,接收并执行车辆管理模块所派发的作业任务。
73.在实际应用中,所述自动化运输工具可以为自动集卡、自动导引车和无人跨运车等。
74.请参照图3,图3是本技术实施例提供的一种任务派发装置,所述装置包括:
75.第一获取模块201,用于获取作业任务的紧急度信息和时间信息;
76.第二获取模块202,用于根据所述紧急度信息和所述时间信息,获取优先值信息;
77.排序模块203,用于根据所述优先值信息,对多个作业任务进行排序,以获取作业任务队列;
78.派发模块204,用于根据所述作业任务队列,对所述多个作业任务进行派发。
79.可选的,所述第二获取模块202用于:
80.根据所述紧急度信息,获取优先值头部信息;
81.根据所述时间信息,获取优先值尾部信息;
82.拼接所述优先值头部信息和所述优先值尾部信息,获取所述优先值信息。
83.可选的,所述派发模块204用于:
84.根据所述作业任务队列,获得队首作业任务,并对所述队首作业任务进行派发;
85.在派发所述队首作业任务之后,在所述作业任务队列插入新的作业任务,且所述新的作业任务的优先值信息高于所述队首作业任务的优先值信息的情况下,对所述新的作业任务进行派发,以使所述新的作业任务替换所述队首作业任务。
86.可选的,所述排序模块203用于:
87.根据堆排序算法处理所述优先值信息,对所述多个作业任务进行排序,以获取所
述作业任务队列。
88.需要说明的是,本技术实施例中的任务派发装置可以是装置,也可以是电子设备中的部件、集成电路或芯片。
89.请参见图4,图4是本技术实施例提供的一种电子设备的结构图,如图4所示,电子设备300包括:存储器301、处理器302及存储在所述存储器301上并可在所述处理器302上运行的程序或者指令,所述程序或者指令被所述处理器302执行时实现上述任务派发方法中的步骤。
90.本技术实施例还提供的一种可读介质,其可以采用一个或多个计算机可读的介质的任意组合。该可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
91.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
92.可读存储介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
93.可以以一种或多种程序设计语言或其组合来编写用于执行本技术操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
94.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质(如rom或ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
95.上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员
在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1