CN116542413A - 基于时间坐标的任务处理方法、装置、设备及存储介质 - Google Patents
基于时间坐标的任务处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116542413A CN116542413A CN202310485031.XA CN202310485031A CN116542413A CN 116542413 A CN116542413 A CN 116542413A CN 202310485031 A CN202310485031 A CN 202310485031A CN 116542413 A CN116542413 A CN 116542413A
- Authority
- CN
- China
- Prior art keywords
- task
- tasks
- list
- time
- subset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003860 storage Methods 0.000 title claims abstract description 12
- 238000003672 processing method Methods 0.000 title claims description 16
- 238000000034 method Methods 0.000 claims abstract description 52
- 238000010276 construction Methods 0.000 claims abstract description 29
- 230000008569 process Effects 0.000 claims abstract description 21
- 238000012163 sequencing technique Methods 0.000 claims abstract description 4
- 238000004590 computer program Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种基于时间坐标的任务集构建方法、装置、设备及存储介质。其中方法包括:将所有任务按照起始时间的先后进行排序,构建第一任务列表;按照第一任务列表中每个任务的序号,构建初始任务集;对第一任务列表执行任务集构建算法,将第一任务列表中所有在时间上有冲突的任务进行合并,生成一个或多个第一任务并查集;根据第一任务并查集中的目标任务,从第一任务并查集中拆分任务子集;将任务子集中的任务按照优先级顺序处理,将属于不同任务子集的任务并行处理。采用本方法构建任务集,可以缩小任务冲突处理的范围,降低任务处理的复杂度,从而提高任务路径规划的效率,并且对任务路径规划过程中可能出现的任务变动具有很好的适应性。
Description
技术领域
本申请涉及路径规划领域,特别是涉及一种基于时间坐标的任务处理方法、装置、设备及存储介质。
背景技术
在运输任务的路径规划中,同时进行的任务之间可能存在冲突,比如多个任务对共同网络节点的占用,或者两个任务之间的运行规章限制等等。运输任务之间的冲突可能存在多种不同的表现形式,例如两个任务在运行路径中的某一时间点,对共同网络节点发生占用,或者两个任务之间的运行规章限制导致运行过程中发生冲突等等。通常在任务数量较少的情况下,任务路径之间的冲突可以很容易地排查,在任务发生冲突的时候,让某个任务优先运行,与其冲突的剩余任务原地等待,或者改道运行。但是当有大量的任务需要同时运输路线规划时,任务数量多且发生冲突的范围大,难以将各个运输任务之间的冲突进行方便快速的排查,任务处理的难度高。为了处理这类冲突,传统的方法是针对可能发生冲突的任务进行任务聚类,即构建任务集。任务集可以帮助缩小处理冲突的范围,将具有冲突的任务聚类集中处理,但是,如何有效合理的构建任务集是一个需要解决的问题。
发明内容
有鉴于此,本申请旨在提出基于时间坐标的任务处理方法、装置、设备及存储介质,以解决多个运输任务同时进行时,彼此存在冲突导致任务无法顺利进行的问题。
为达到上述目的,本申请的技术方案是这样实现的:
本申请实施例第一方面提供一种基于时间坐标的任务处理方法,所述方法包括:
将所有任务按照起始时间的先后进行排序,构建第一任务列表;
按照所述第一任务列表中每个任务的序号,构建初始任务集;所述每一个初始任务集中只包含一个任务;
对所述第一任务列表执行任务集构建算法,将所述第一任务列表中所有在时间上有冲突的任务进行合并,生成一个或多个第一任务并查集;所述第一任务并查集之间没有时间冲突;
根据所述第一任务并查集中的目标任务,从所述第一任务并查集中拆分任务子集;所述任务子集之间没有时间冲突;
将所述任务子集中的任务按照优先级顺序处理,将属于不同任务子集的任务并行处理。
可选地,将所述第一任务列表中所有在时间上有冲突的任务进行合并,生成一个或多个第一任务并查集,包括:
构建初始为空的第一任务集代表字典;
从所述第一任务列表中第一个任务开始,遍历列表中每一个任务,判断当前任务所在的初始任务集与上一个任务所在的任务集是否存在时间冲突,如果存在时间冲突,则将所述当前任务所在的任务集,与所述上一个任务所在的任务集合并形成并查集,将当前任务集加入所述第一任务字典中所述上一个任务所在的并查集中;如果不存在时间冲突,则将当前任务所在任务集作为一个单独的并查集,加入所述第一任务字典中;
遍历完所述第一任务列表中所有任务后,将当前的所述第一任务字典中存在的每一个并查集,作为第一任务并查集。
可选地,将所述当前任务所在的任务集,与所述上一个任务所在的任务集合并形成并查集,包括:
当所述当前任务所在的初始任务集的起始时间,小于所述上一个任务所在的任务集的结束时间时,将所述当前任务所在的初始任务集,与所述上一个任务所在的任务集合并形成并查集;
将所述并查集中,最晚的任务结束时间,作为所述并查集的结束时间。
可选地,根据所述第一任务并查集中的目标任务,从所述第一任务并查集中拆分任务子集,包括:
构建初始为空的第一子列表、初始为空的第二子列表、初始为空的第二任务列表,初始为空的第二任务集代表字典;
从所述第一任务并查集中第一个任务开始,遍历所述第一任务并查集中的所有任务,将每一个任务与所述目标任务的起始时间和结束时间进行比较,将结束时间小于所述目标任务起始时间的任务,加入所述第一子列表中;将所述第一子列表中的所有任务作为一个任务子集,加入所述第二任务集代表字典中;将起始时间大于所述目标任务结束时间的任务,加入所诉第二子列表中;将所述第二子列表中的所有任务作为一个任务子集,加入所述第二任务集代表字典中;
将与所述目标任务的运行时间发生冲突的任务,添加到所述第二任务列表中;将所述第二任务列表中的所有任务,作为一个任务子集,加入所述第二任务集代表字典中。
可选地,还包括:
对所述第二任务列表执行任务集构建算法,将所述第二任务列表中所有在时间上有冲突的任务进行合并,生成一个或多个第二任务并查集;
当所述第二任务并查集构建完成后,根据所述第二任务集代表字典中第二任务并查集的数量,拆分任务子集,如果所述第二任务集代表字典中第二任务并查集的数量大于或等于2,则根据所述第二任务并查集的数量,拆分任务子集;如果所述第二任务集代表字典中,第二任务并查集的数量小于2,则所述第二任务列表无法再继续拆分;
将拆分后的所述一个或多个第二任务并查集,代替所述第二任务列表中的所有任务形成的任务子集,加入所述第二任务集代表字典中。
可选地,所述目标任务为所述第一任务列表中当前优先级最高的任务,或所述第一任务列表中已经确定运行时间的任务。
可选地,当所述第一任务并查集中任务的运行时间发生改变时,重新构建第一任务并查集,并根据所述第一任务并查集,拆分对应的任务子集。
根据本申请实施例的第二方面,提供一种基于时间坐标的任务处理装置,用于实现本申请实施例的第一方面所提供的基于时间坐标的任务处理方法,所述装置包括:
第一任务列表构建模块,被配置为将所有任务按照起始时间的先后进行排序,构建第一任务列表;
初始任务集构建模块,被配置为按照所述第一任务列表中每个任务的序号,构建初始任务集;所述每一个初始任务集中只包含一个任务;
任务并查集构建模块,被配置为对所述第一任务列表执行任务集构建算法,将所述第一任务列表中所有在时间上有冲突的任务进行合并,生成一个或多个第一任务并查集;所述每一个第一任务并查集之间没有时间冲突;
任务子集拆分模块,被配置为根据所述第一任务并查集中的目标任务,从所述第一任务并查集中拆分任务子集;所述任务子集之间没有时间冲突;
任务输出模块,被配置为将所述任务子集中的任务,按照优先级顺序处理,将属于不同任务子集的任务并行处理。
根据本申请实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如本申请第一方面所述的方法中的步骤。
根据本申请实施例的第四方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如本申请第一方面所述的方法中的步骤。
采用本申请所提供的基于时间坐标的任务处理方法,将运行时间存在重叠的任务合并形成任务并查集,缩小任务冲突处理的范围,降低任务处理的复杂度,从而提高任务路径规划的效率;根据任务并查集中的一个或多个目标任务,将任务并查集拆分为多个任务子集,进一步缩小冲突处理的范围,提高任务路径规划的效率,并且,本申请的方法对任务路径规划过程中可能出现的任务变动具有很好的适应性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提出的基于时间坐标的任务处理方法的流程框图;
图2是本申请一实施例提出的基于时间坐标的任务处理装置的示意图;
图3是本申请一实施例提出的基于时间坐标的任务处理方法中合并任务集的流程图;
图4是本申请一实施例提出的基于时间坐标的任务处理方法中拆分任务子集的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本申请的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。常常在使用中以森林来表示。其主要操作包含查找(find)与合并两个部分。前者的目标是查找元素所在的集合,即根节点。后者“合并”操作(union)则是将两个元素所在的集合合并为一个集合。通常来说,合并之前,应先判断两个元素是否属于同一集合,这可用上面的“查找”操作实现。
本申请的方案提出一种基于时间坐标的任务处理方法。本申请方案采用将存在时间冲突的任务进行合并,构建任务并查集的方式,将存在时间冲突的运输任务通过任务并查集进行聚类,缩小任务冲突处理的范围,降低任务处理的复杂度,从而提高任务路径规划的效率。
需要明确的是,本申请方案中的任务并查集构建过程并非一次性,在对任务并查集的处理过程中,构建好的任务并查集可以拆分成多个任务子集,任务子集之间不存在时间冲突,因此多个任务子集可以并行处理,并且,拆分后的任务子集中如果出现新的目标任务(例如,该子集中某个任务的运行时间被固定),则可以对该任务子集继续拆分子集,通过这种方式进一步减小冲突处理的范围,提高任务路径规划的效率。本申请中的任务集可以在合并与拆分中灵活转换,对任务路径规划过程中可能出现的任务变动具有很好的适应性。
具体来说,本申请中多个任务需要合并的前提条件是各个任务在时间上存在交集,为了查找这些交集,首先将各个任务的运行时间段的起点和终点放入结构化数组,通过遍历数构化数组获取相交的时间片段。然后通过构建任务并查集将其归为一类任务集。在任务合并的过程中可以进行任务集的拆分,拆分任务集的核心在于,如果一个任务的方案已经确定,比如某任务的优先级最高,其运行时间已经固定,那么以该任务的起始时间和结束时间为界限,能够将任务集拆分为运行时间在前和运行时间在后的两个任务子集,后续可以分别对这两个任务子集中的冲突进行处理,同时两个任务子集之间不存在时间冲突,因此分别位于两个任务子集中的两个任务间不存在时间冲突,可以并行运行。需要注意的是,如果一个任务集的合并方案最终失败,那么其子任务集的方案也会随之失效。
下面将参考附图并结合实施例来详细说明本申请。
图1是基于时间坐标的任务处理方法的流程框图。
如图1所示,本申请实施例提供一种基于时间坐标的任务处理方法,所述方法包括:
S1:将所有任务按照起始时间的先后进行排序,构建第一任务列表;
S2:按照所述第一任务列表中每个任务的序号,构建初始任务集;所述每一个初始任务集中只包含一个任务。
本实施例中,初始任务集构建的过程为:
(1)将所有任务按照起始时间排序为列表S,列表中第i个元素记为S[i]=[a,b],其中a、b分别表示对应任务的起点与终点。
(2)按列表S的序号初始化任务集U[i]=i,即第i个任务的任务集代表为任务i。
本实施例中,将所有任务按照起始时间排序为任务列表S。任务列表S中,起始时间在先的任务排在前面,起始时间在后的任务排在后面,任务列表S中第i个元素记为S[i]=[a,b],其中a、b分别表示对应任务的起点与终点。按任务列表S中任务的序号初始化任务集U[i]=i,即将每一个任务都单独生成一个任务集,例如,第一个任务集中只有第一个任务本身,并且该任务集的代表就是第一个任务本身。
S3:对所述第一任务列表执行任务集构建算法,将所述第一任务列表中所有在时间上有冲突的任务进行合并,生成一个或多个第一任务并查集;所述第一任务并查集之间没有时间冲突。
S31:构建初始为空的第一任务集代表字典。
本实施例中,构建任务代表集字典,用于存储生成的任务并查集的任务集代表。任务代表集字典中每一个任务并查集都对应一个任务集代表,任务集代表为每个任务并查集内的第一个任务,通过任务代表集字典,可以方便地对当前任务并查集的数量,以及任务并查集中需要处理冲突的任务数量进行查看。
S32:从所述第一任务列表中第一个任务开始,遍历列表中每一个任务,判断当前任务所在的初始任务集与上一个任务所在的任务集是否存在时间冲突,如果存在时间冲突,则将所述当前任务所在的任务集,与所述上一个任务所在的任务集合并形成并查集,将当前任务集加入所述第一任务字典中所述上一个任务所在的并查集中;如果不存在时间冲突,则将当前任务所在任务集作为一个单独的并查集,加入所述第一任务字典中;
S321:当所述当前任务所在的初始任务集的起始时间,小于所述上一个任务所在的任务集的结束时间时,将所述当前任务所在的初始任务集,与所述上一个任务所在的任务集合并形成并查集;
S322:将所述并查集中,最晚的任务结束时间,作为所述并查集的结束时间。
图3为本实施例提出的基于时间坐标的任务处理方法中合并任务集的流程图。如图3所示,本实施例中,对列表S执行任务集构建算法R=task(S,U),该算法具体地,执行以下步骤:
(1)构建任务集代表字典R[0]=[0];
(2)从第一个任务开始遍历列表S,对于第i个任务,找到其前一个任务所在的任务集id=U.find(i-1),如果S[1].a≤S[id].b,则:
1)U.union(i,i-1);
2)S[id].b=max(S[i].b,S[id].b);
3)将i加入到R[id]中;
(3)若S[i].a>S[id].b,则R[i]=[i];
(4)返回R。
上述任务集构建算法R=task(S,U)通过查找任务列表S中的任务之间是否存在运行时间的重叠,从而将运行时间有重叠的任务集合并:遍历列表S,从列表S中第一个任务开始,查找第i个任务与前一个任务(即第i-1个任务)所在的任务集的运行时间是否存在时间冲突;
如果前一个任务所在的任务集的起始时间小于第i个任务的结束时间,这说明两个任务存在时间冲突,将两个任务所在的并查集合并,并以二者之中结束时间最晚的作为合并后的并查集的结束时间,由此,合并后的并查集的起始时间为第i个任务的起始时间,结束时间为前一个任务所在的任务集与第i个任务中最晚的结束时间;
如果第i个任务的起始时间大于前一个任务所在的任务集的结束时间,则表示前一个任务所在的任务集与第i个任务不存在时间冲突,不合并前一个任务所在的任务集与第i个任务。
S33:遍历完所述第一任务列表中所有任务后,将当前的所述第一任务字典中存在的并查集,作为所述第一任务列表对应的任务并查集。
本实施例中,在遍历完任务列表S后,列表中的所有任务都已经与之前的任务所在的任务集的运行时间做过比较,所有存在时间冲突的任务完成聚类,形成一个或多个任务并查集,任务并查集之间不存在时间冲突,此时存在于不同任务并查集中的两个任务无需考虑冲突,可以并行处理。
S4:根据所述第一任务并查集中的目标任务,从所述第一任务并查集中拆分任务子集;所述任务子集之间没有时间冲突。
本实施例中,在构建任务并查集时,可以对任务并查集进行拆分,一个任务并查集可以拆分为多个任务子集。任务并查集在拆分时,存在一个目标任务,基于目标任务拆分任务子集。目标任务可以是所有任务中优先级最高的任务,也可以是已经确定运行时间的任务,根据目标任务的起始时间和结束时间,可以对目标任务所在的任务并查集进行拆分。
S41:构建初始为空的第一子列表、初始为空的第二子列表、初始为空的第二任务列表,初始为空的第二任务集代表字典;
S42:从所述第一任务并查集中第一个任务开始,遍历所述第一任务并查集中的所有任务,将每一个任务与所述目标任务的起始时间和结束时间进行比较,将结束时间小于所述目标任务起始时间的任务,加入所述第一子列表中;将所述第一子列表中的所有任务作为一个任务子集,加入所述第二任务集代表字典中;将起始时间大于所述目标任务结束时间的任务,加入所诉第二子列表中;将所述第二子列表中的所有任务作为一个任务子集,加入所述第二任务集代表字典中;
S43:将与所述目标任务的运行时间发生冲突的任务,添加到所述第二任务列表中;将所述第二任务列表中的所有任务,作为一个任务子集,加入所述第二任务集代表字典中;
S44:对所述第二任务列表执行任务集构建算法,将所述第二任务列表中所有在时间上有冲突的任务进行合并,生成一个或多个第二任务并查集;
S45:当所述第二任务并查集构建完成后,根据所述第二任务集代表字典中第二任务并查集的数量,拆分任务子集,如果所述第二任务集代表字典中第二任务并查集的数量大于或等于2,则根据所述第二任务并查集的数量,拆分任务子集;如果所述第二任务集代表字典中,第二任务并查集的数量小于2,则所述第二任务列表无法再继续拆分;
S46:将拆分后的所述一个或多个第二任务并查集,代替所述第二任务列表中的所有任务形成的任务子集,加入所述第二任务集代表字典中。
本实施例中,假设任务集代表字典R中的某一个任务并查集U1,其任务集代表为任务i,对这个任务并查集进行拆分。将任务并查集U1中的所有任务添加到初始为空的任务列表S1中,即S1=R[i],假设任务列表S1中的任务r已经确定运行时间,将任务r作为目标任务,那么其起点与终点可表示为S1[r].a与S1[r].b。
图4为本实施例提出的基于时间坐标的任务处理方法中拆分任务子集的流程图。如图4所示,根据目标任务r,对任务列表S1进行拆分的步骤为:
(1)构建列表R_left、R_right、S2,构建初始为空的并查集U2;
(2)从第一个任务开始遍历任务列表S1,对于列表中的某个任务j,如果该任务不是目标任务r,则对任务j进行判断:
1)如果S[j].b<S[r].a,将j加入R_left;
2)如果S[j].a>S[r].b,将j加入R_right;
3)否则,将j加入S2并单独生成一个任务集,即U2[j]=j;
4)执行R2=task(S2,U2);如果R2中的任务数小于2,则任务集无法拆分;
5)将R_left加入到R2[0],将R_right加入到R2[-1];R2即为拆分的任务子集的集合。
本实施例中,根据目标任务r对任务列表S1拆分子集,遍历任务列表S1,将结束时间早于任务r的起始时间的任务,加入R_left列表,起始时间晚于任务r的结束时间的任务,加入R_right列表,R_left列表中的任务与R_right列表中的任务没有时间冲突,因此将R_left列表与R_right列表作为拆分得到的两个任务子集。
任务列表S1中所有与目标任务r产生时间冲突的任务加入列表S2中,并且将列表S2中的每个任务作为一个单独的任务并查集。由于此时列表S2中已经不存在目标任务r,因此需要对列表S2中的任务重新构建任务并查集,重新排查列表S2中任务彼此冲突的情况。对列表S2执行任务集构建算法R2=task(S2,U2),可以获得一个或多个任务并查集,由此完成对列表S2的拆分,这些任务并查集是列表S2的任务子集,同时也是任务列表S1的任务子集。
需要明确的是,将任务构建为任务并查集,可以将存在时间冲突的任务进行聚类,缩小任务冲突处理的范围,降低任务处理的复杂度,提高任务路径规划的效率,同时,将任务并查集拆分为任务子集,在任务子集中出现新的目标任务时,所述任务子集还可以继续拆分子集,如此,可以进一步缩小任务冲突处理的范围,逐步降低任务处理的复杂度,进一步提高任务路径规划的效率。
S5:将所述任务子集中的任务,按照优先级顺序处理,将属于不同任务子集的任务并行处理。
本实施例中,将任务并查集拆分为多个任务子集之后,后续在对所有集合中的任务冲突进行处理时,可以对不同的任务子集并行处理,对于某一任务子集中进行冲突处理时,按照该任务集中任务的优先级顺序进程冲突处理。任务的优先级可以按不同的维度进行划分,比如,通过任务在路径中运行时获得的收益大小来划分优先级,任务的收益与完成该任务所消耗的时间有关,任务完成时间越早,任务的收益越大。
S6:当所述第一任务并查集中任务的运行时间发生改变时,重新构建第一任务并查集,并根据所述第一任务并查集,拆分对应的任务子集。
需要明确的是,本实施例中拆分任务并查集获得任务子集的方案,是基于构建的任务并查集能够正常地进行冲突处理的情况下构建任务子集,如果任务集的合并方案失效,则所述子集的方案也随之失效。此时,需要根据当前的任务重新构建任务集的合并方案与任务子集的拆分方案。
基于同一发明构思,本申请一实施例提供一种基于时间坐标的任务处理装置100。
图2是本申请一实施例提出的基于时间坐标的任务处理装置的示意图。如图2所示,该装置包括:
第一任务列表构建模块101,被配置为将所有任务按照起始时间的先后进行排序,构建第一任务列表;
初始任务集构建模块102,被配置为按照所述第一任务列表中每个任务的序号,构建初始任务集;所述每一个初始任务集中只包含一个任务;
任务并查集构建模块103,被配置为对所述第一任务列表执行任务集构建算法,将所述第一任务列表中所有在时间上有冲突的任务进行合并,生成一个或多个第一任务并查集;所述第一任务并查集之间没有时间冲突;
任务子集拆分模块104,被配置为根据所述第一任务并查集中的目标任务,从所述第一任务并查集中拆分任务子集;所述任务子集之间没有时间冲突;
任务输出模块105,被配置为将所述任务子集中的任务,按照优先级顺序处理,将属于不同任务子集的任务并行处理。
可选地,所述任务并查集构建模块103,还包括:
字典构建子模块,被配置为构建初始为空的第一任务集代表字典;
任务集合并子模块,被配置为从所述第一任务列表中第一个任务开始,遍历列表中每一个任务,判断当前任务所在的初始任务集与上一个任务所在的并查集是否存在时间冲突,如果存在时间冲突,则将所述当前任务所在的并查集,与所述上一个任务所在的并查集合并,将当前任务并查集加入所述第一任务字典中所述上一个任务所在的并查集中;如果不存在时间冲突,则将当前任务所在并查集作为一个单独的并查集,加入所述第一任务字典中;
并查集输出子模块,被配置为遍历完所述第一任务列表中所有任务后,将当前的所述第一任务字典中存在的并查集,作为所述第一任务列表对应的任务并查集。
可选地,所述任务集合并子模块包括:
任务运行时间比对模块,被配置为当所述当前任务所在的初始任务集的起始时间,小于所述上一个任务所在的并查集的结束时间时,将所述当前任务所在的初始任务集,与所述上一个任务所在的并查集合并;
任务集时间更新模块,被配置为将所述合并后的并查集中,最晚的任务结束时间,作为所述合并后的并查集的结束时间。
可选地,所述任务子集拆分模块104包括:
初始构建子模块,被配置为构建初始为空的第一子列表、初始为空的第二子列表、初始为空的第二任务列表,初始为空的第二任务集代表字典;
子集分割模块,被配置为从所述第一任务并查集中第一个任务开始,遍历所述第一任务并查集中的所有任务,将每一个任务与所述目标任务的起始时间和结束时间进行比较,将结束时间小于所述目标任务起始时间的任务,加入所述第一子列表中;将所述第一子列表中的所有任务作为一个任务子集,加入所述第二任务集代表字典中;
目标子集生成子模块,被配置为将与所述目标任务的运行时间发生冲突的任务,添加到所述第二任务列表中;将所述第二任务列表中的所有任务,作为一个任务子集,加入所述第二任务集代表字典中。
可选地,所述任务子集拆分模块104还包括:
目标子集合并模块,被配置为对所述第二任务列表执行任务集构建算法,将所述第二任务列表中所有在时间上有冲突的任务进行合并,生成一个或多个第二任务并查集;
目标子集拆分模块,被配置为当所述第二任务并查集构建完成后,根据所述第二任务集代表字典中,第二任务并查集的数量,拆分任务子集,如果所述第二任务集代表字典中,第二任务并查集的数量大于或等于2,则根据所述第二任务并查集的数量,拆分任务子集;如果所述第二任务集代表字典中,第二任务并查集的数量小于2,则所述第二任务列表无法再继续拆分;
目标子集输出模块,被配置为将拆分后的所述一个或多个第二任务并查集,代替所述第二任务列表中的所有任务形成的任务子集,加入所述第二任务集代表字典中。
基于同一发明构思,本申请另一实施例提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的基于时间坐标的任务处理方法中的步骤。
基于同一发明构思,本申请另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的基于时间坐标的任务处理方法中的步骤。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和部件并不一定是本申请所必须的。
本领域内的技术人员应明白,本申请实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的基于时间坐标的任务处理方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种基于时间坐标的任务处理方法,其特征在于,包括:
将所有任务按照起始时间的先后进行排序,构建第一任务列表;
按照所述第一任务列表中每个任务的序号,构建初始任务集;所述每一个初始任务集中只包含一个任务;
对所述第一任务列表执行任务集构建算法,将所述第一任务列表中所有在时间上有冲突的任务进行合并,生成一个或多个第一任务并查集;所述第一任务并查集之间没有时间冲突;
根据所述第一任务并查集中的目标任务,从所述第一任务并查集中拆分任务子集;所述任务子集之间没有时间冲突;
将所述任务子集中的任务按照优先级顺序处理,将属于不同任务子集的任务并行处理。
2.根据权利要求1所述的基于时间坐标的任务处理方法,其特征在于,将所述第一任务列表中所有在时间上有冲突的任务进行合并,生成一个或多个第一任务并查集,包括:
构建初始为空的第一任务集代表字典;
从所述第一任务列表中第一个任务开始,遍历列表中每一个任务,判断当前任务所在的初始任务集与上一个任务所在的任务集是否存在时间冲突,如果存在时间冲突,则将所述当前任务所在的任务集,与所述上一个任务所在的任务集合并形成并查集,将当前任务集加入所述第一任务字典中所述上一个任务所在的并查集中;如果不存在时间冲突,则将当前任务所在任务集作为一个单独的并查集,加入所述第一任务字典中;
遍历完所述第一任务列表中所有任务后,将当前的所述第一任务字典中存在的每一个并查集,作为第一任务并查集。
3.根据权利要求2所述的基于时间坐标的任务处理方法,其特征在于,将所述当前任务所在的任务集,与所述上一个任务所在的任务集合并形成并查集,包括:
当所述当前任务所在的初始任务集的起始时间,小于所述上一个任务所在的任务集的结束时间时,将所述当前任务所在的初始任务集,与所述上一个任务所在的任务集合并形成并查集;
将所述并查集中,最晚的任务结束时间,作为所述并查集的结束时间。
4.根据权利要求1所述的基于时间坐标的任务处理方法,其特征在于,根据所述第一任务并查集中的目标任务,从所述第一任务并查集中拆分任务子集,包括:
构建初始为空的第一子列表、初始为空的第二子列表、初始为空的第二任务列表,初始为空的第二任务集代表字典;
从所述第一任务并查集中第一个任务开始,遍历所述第一任务并查集中的所有任务,将每一个任务与所述目标任务的起始时间和结束时间进行比较,将结束时间小于所述目标任务起始时间的任务,加入所述第一子列表中;将所述第一子列表中的所有任务作为一个任务子集,加入所述第二任务集代表字典中;将起始时间大于所述目标任务结束时间的任务,加入所诉第二子列表中;将所述第二子列表中的所有任务作为一个任务子集,加入所述第二任务集代表字典中;
将与所述目标任务的运行时间发生冲突的任务,添加到所述第二任务列表中;将所述第二任务列表中的所有任务,作为一个任务子集,加入所述第二任务集代表字典中。
5.根据权利要求4所述的基于时间坐标的任务处理方法,其特征在于,还包括:
对所述第二任务列表执行任务集构建算法,将所述第二任务列表中所有在时间上有冲突的任务进行合并,生成一个或多个第二任务并查集;
当所述第二任务并查集构建完成后,根据所述第二任务集代表字典中第二任务并查集的数量,拆分任务子集,如果所述第二任务集代表字典中第二任务并查集的数量大于或等于2,则根据所述第二任务并查集的数量,拆分任务子集;如果所述第二任务集代表字典中,第二任务并查集的数量小于2,则所述第二任务列表无法再继续拆分;
将拆分后的所述一个或多个第二任务并查集,代替所述第二任务列表中的所有任务形成的任务子集,加入所述第二任务集代表字典中。
6.根据权利要求1所述的基于时间坐标的任务处理方法,其特征在于,所述目标任务为所述第一任务列表中当前优先级最高的任务,或所述第一任务列表中已经确定运行时间的任务。
7.根据权利要求1所述的基于时间坐标的任务处理方法,其特征在于,当所述第一任务并查集中任务的运行时间发生改变时,重新构建第一任务并查集,并根据所述第一任务并查集,拆分对应的任务子集。
8.一种基于时间坐标的任务处理装置,其特征在于,包括:
第一任务列表构建模块,被配置为将所有任务按照起始时间的先后进行排序,构建第一任务列表;
初始任务集构建模块,被配置为按照所述第一任务列表中每个任务的序号,构建初始任务集;所述每一个初始任务集中只包含一个任务;
任务并查集构建模块,被配置为对所述第一任务列表执行任务集构建算法,将所述第一任务列表中所有在时间上有冲突的任务进行合并,生成一个或多个第一任务并查集;所述第一任务并查集之间没有时间冲突;
任务子集拆分模块,被配置为根据所述第一任务并查集中的目标任务,从所述第一任务并查集中拆分任务子集;所述任务子集之间没有时间冲突;
任务输出模块,被配置为将所述任务子集中的任务,按照优先级顺序处理,将属于不同任务子集的任务并行处理。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至7任一所述的方法中的步骤。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1至7任一所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310485031.XA CN116542413B (zh) | 2023-04-28 | 2023-04-28 | 基于时间坐标的任务处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310485031.XA CN116542413B (zh) | 2023-04-28 | 2023-04-28 | 基于时间坐标的任务处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116542413A true CN116542413A (zh) | 2023-08-04 |
CN116542413B CN116542413B (zh) | 2024-04-16 |
Family
ID=87442908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310485031.XA Active CN116542413B (zh) | 2023-04-28 | 2023-04-28 | 基于时间坐标的任务处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116542413B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070110094A1 (en) * | 2005-11-15 | 2007-05-17 | Sony Computer Entertainment Inc. | Task Allocation Method And Task Allocation Apparatus |
US20140189695A1 (en) * | 2012-12-28 | 2014-07-03 | Futurewei Technologies, Inc. | Methods for Packet Scheduling with Order in Software-Based Parallel Processing |
US20200033867A1 (en) * | 2018-07-24 | 2020-01-30 | Invia Robotics, Inc. | Spatiotemporal Robotic Navigation |
CN113031603A (zh) * | 2021-03-05 | 2021-06-25 | 湖南大学 | 一种基于任务优先级的多物流机器人协同路径规划方法 |
CN113537584A (zh) * | 2021-07-06 | 2021-10-22 | 和美(深圳)信息技术股份有限公司 | 巡检任务冲突处理方法、装置、电子设备及存储介质 |
CN114004441A (zh) * | 2021-09-10 | 2022-02-01 | 宁波诺丁汉大学 | 一种车辆调度方案并行化推演计算方法 |
US20220111979A1 (en) * | 2020-10-10 | 2022-04-14 | Xi'an University Of Architecture And Technology | Method for task planning of space information network based resource interchange |
CN114399228A (zh) * | 2022-02-09 | 2022-04-26 | 胜斗士(上海)科技技术发展有限公司 | 任务调度方法及装置、电子设备和介质 |
WO2022095358A1 (zh) * | 2020-11-06 | 2022-05-12 | 平安科技(深圳)有限公司 | 任务调度方法、装置、电子设备及可读存储介质 |
CN114895690A (zh) * | 2022-06-28 | 2022-08-12 | 济南大学 | 基于动态加权及热力图算法的机器人路径规划方法及系统 |
CN115098109A (zh) * | 2022-06-24 | 2022-09-23 | 南京邮电大学 | 一种基于有向图的代码仓库代码块级别冲突排序分组方法 |
CN115328113A (zh) * | 2022-05-23 | 2022-11-11 | 重庆邮电大学 | 基于改进时间窗算法的多物流机器人路径规划方法 |
CN115858213A (zh) * | 2022-11-28 | 2023-03-28 | 中国工商银行股份有限公司 | 任务排程检查方法、装置、计算机设备和存储介质 |
-
2023
- 2023-04-28 CN CN202310485031.XA patent/CN116542413B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070110094A1 (en) * | 2005-11-15 | 2007-05-17 | Sony Computer Entertainment Inc. | Task Allocation Method And Task Allocation Apparatus |
US20140189695A1 (en) * | 2012-12-28 | 2014-07-03 | Futurewei Technologies, Inc. | Methods for Packet Scheduling with Order in Software-Based Parallel Processing |
US20200033867A1 (en) * | 2018-07-24 | 2020-01-30 | Invia Robotics, Inc. | Spatiotemporal Robotic Navigation |
US20220111979A1 (en) * | 2020-10-10 | 2022-04-14 | Xi'an University Of Architecture And Technology | Method for task planning of space information network based resource interchange |
WO2022095358A1 (zh) * | 2020-11-06 | 2022-05-12 | 平安科技(深圳)有限公司 | 任务调度方法、装置、电子设备及可读存储介质 |
CN113031603A (zh) * | 2021-03-05 | 2021-06-25 | 湖南大学 | 一种基于任务优先级的多物流机器人协同路径规划方法 |
CN113537584A (zh) * | 2021-07-06 | 2021-10-22 | 和美(深圳)信息技术股份有限公司 | 巡检任务冲突处理方法、装置、电子设备及存储介质 |
CN114004441A (zh) * | 2021-09-10 | 2022-02-01 | 宁波诺丁汉大学 | 一种车辆调度方案并行化推演计算方法 |
CN114399228A (zh) * | 2022-02-09 | 2022-04-26 | 胜斗士(上海)科技技术发展有限公司 | 任务调度方法及装置、电子设备和介质 |
CN115328113A (zh) * | 2022-05-23 | 2022-11-11 | 重庆邮电大学 | 基于改进时间窗算法的多物流机器人路径规划方法 |
CN115098109A (zh) * | 2022-06-24 | 2022-09-23 | 南京邮电大学 | 一种基于有向图的代码仓库代码块级别冲突排序分组方法 |
CN114895690A (zh) * | 2022-06-28 | 2022-08-12 | 济南大学 | 基于动态加权及热力图算法的机器人路径规划方法及系统 |
CN115858213A (zh) * | 2022-11-28 | 2023-03-28 | 中国工商银行股份有限公司 | 任务排程检查方法、装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
吴群群;王兴起;: "基于时间自动机的符号状态拆分优化算法", 计算机工程与设计, no. 07 * |
邱涤珊;张利宁;祝江汉;李皓平;: "多星任务规划中的FFFS-DTMB与ADTPC-DTMB算法", 航空学报, no. 11 * |
Also Published As
Publication number | Publication date |
---|---|
CN116542413B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107239335B (zh) | 分布式系统的作业调度系统及方法 | |
Nannicini et al. | Rounding-based heuristics for nonconvex MINLPs | |
US8005770B2 (en) | Parallel generation of a bayesian network | |
Baddar et al. | Designing sorting networks: A new paradigm | |
US9934280B2 (en) | Join order restrictions | |
WO2015010509A1 (zh) | 一种基于一维线性空间实现Trie树的词典检索方法 | |
US10423616B2 (en) | Using local memory nodes of a multicore machine to process a search query | |
CN110648124B (zh) | 在区块链中并发执行交易的方法和装置 | |
JP2015169654A (ja) | コンピュータ実装されるk最短経路発見法 | |
CN110851616A (zh) | 一种基于领域子图的rdf知识图谱存储与管理方法 | |
Shen et al. | Many sequential iterative algorithms can be parallel and (nearly) work-efficient | |
Chu et al. | Hierarchical core decomposition in parallel: From construction to subgraph search | |
CN116542413B (zh) | 基于时间坐标的任务处理方法、装置、设备及存储介质 | |
CN115470236A (zh) | 一种多子图匹配方法、装置及设备 | |
CN113282593B (zh) | 层次查询方法及装置 | |
Jezequel et al. | Factored planning: From automata to Petri nets | |
CN114791985A (zh) | 域名匹配方法及装置、前缀树更新方法及装置 | |
Sasaki et al. | Language-aware indexing for conjunctive path queries | |
CN112768081A (zh) | 一种基于子图抽样及节点属性的共调控生物网络模体发现方法及装置 | |
Vo et al. | A dynamic bit-vector approach for efficiently mining inter-sequence patterns | |
CN109688014B (zh) | 关键字驱动的Web服务自动组合方法 | |
He et al. | A parallel algorithm for helix mapping between 3d and 1d protein structure using the length constraints | |
Delzanno et al. | Specification and validation of link reversal routing via graph transformations | |
US20240134932A1 (en) | Distributed matrix computation control method and apparatus supporting matrix fused operation | |
CN117648466A (zh) | 一种分布式子图匹配方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |