一种任务最优调度方法及系统与流程

文档序号:30217055发布日期:2022-05-31 18:01阅读:145来源:国知局
一种任务最优调度方法及系统与流程

1.本发明涉及工业自动化检测技术领域,特别是涉及一种任务最优调度方法及系统。


背景技术:

2.随着工业化进程的不断推进,复杂度高、信息量大、响应速度快成为了在任务调度过程中越来越现实的情况和急需解决的问题。与此同时,基于网络的分布式信息系统在各个领域都得到了广泛的应用,在整个社会生活中亦正发挥着日益突出的作用。对于复杂系统中调度方案的计算方法也多种多样。然而随着高性能技术应用需求的迅猛发展,传统的分布式运算,仅单纯地把所有的计算机组合起来共同解决一个大型的应用问题,已经不再能够很好地满足人们的需求(如面对突发状况需要进行计划调整的情况)。cn201410334495.1提出了一种可动态调整的任务调度系统和调度方法,其主要解决了能够支持业务任务调度计划的动态调整;能够支持不同应用系统之间的业务任务存在关联;能够降低业务系统间的耦合性;能够提高业务系统任务调度的扩展性。但该方法依然没有解决当途径目标区域的过程中,中间路段或者目标区域出现故障,如何进行任务重新调度的问题。且未对最佳路径的规划方式给出实施方法。


技术实现要素:

3.本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种任务最优调度方法及系统。
4.为了实现本发明的上述目的,本发明提供了一种任务最优调度方法,其包括以下步骤:
5.s1、获取目标任务位置信息、目标任务起止时间;
6.s2、比对单元调取调配数据库信息,所述调配数据库信息包括工作单元名称、工作单元状态标志、工作单元位置信息,所述工作单元状态标志有忙和闲两种状态,所述工作单元状态标志为忙的不予调取;查询数据库通过所述本地查询接口连接,所述查询数据库中包含故障位置信息、故障起止时间;
7.s3、将步骤s1中目标位置信息与步骤s2中故障位置信息进行比较,筛选出距离工作单位位置信息最近的正常工作单元,将正常工作单元信息通过调度单元生成委派信息并传递至输出单元;
8.s4、将s3中所述正常工作单元所对应的工作单元状态标志置为忙,同时将所述正常工作单元位置信息同步为其对应的任务位置信息。
9.该技术方案能根据工作单元的实时情况,结合目的地当前情况,其工作路径是否包含故障区域等进行综合选择,获取在目标任务起止时间段,距离任务位置最近的工作单元,提高工作效率。
10.在本发明的另一种优选实施方式中,生成故障单元的故障辐射区域函数:
[0011][0012]
其中,p为方向序号,dp为故障单元在p方向的最远辐射距离,rect【】为距离窗函数,t
p
为故障单元在p方向的可执行时间,t

为正常工作单元的标准执行时间,δt为故障单元在p方向的误差时间。
[0013]
该方案将故障区域的边界进行量化,根据具体情况量化出故障区域的范围。
[0014]
在本发明的另一种优选实施方式中,
[0015]
根据故障辐射区域函数,获得故障辐射区域;
[0016]
获得故障辐射区域中的正常工作单元;
[0017]
对所述正常工作单元的工作需求数量进行聚类排序,筛选工作需求数量没有超出阈值的最近的正常工作单元作为最终的工作单元。
[0018]
该方式的有益效果是当有工作单元临时出现故障时,根据其故障范围计算出离其最近的正常工作单元,进行工作的持续稳定,同时根据工作单元的工作任务总量以及与任务位置对其的需求优先级进行排序(例如聚类方式),从而选取最适合的方案。
[0019]
在本发明的另一种优选实施方式中,所述步骤s3比较过程中,若所述目标位置信息与所述故障位置信息相同则返回无可选方案结果至输出单元。
[0020]
该方式的有益效果是先进入无解结果的判断流程,节省判断时间。
[0021]
在本发明的另一种优选实施方式中,所述调配数据库信息中还包括初始化位置信息,所述比对单元中还有定位模块,所述定位模块计算出工作单元到所述目标单元位置信息所途经的最近区域信息,生成路径规划方案,若所述区域信息中心包含所述故障位置信息,则放弃该方案,选择故障位置相邻区域重新计算。
[0022]
该优选方式可以进行当某工作单元距离目标任务位置最近距离由于故障区域阻碍需要重新选择路线,给出次级选择,将其与其他工作单元的路线进行比较,能更全面的进行方案的全面比对,而不会因为由于该工作单元的最佳路径因为有故障区域就将其放弃而选择其他工作单元作为备选。
[0023]
在本发明的另一种优选实施方式中,进行了路径规划,获取最优路径消耗时长t,选取最优路径消耗时长t最短的方案为委派信息;
[0024]
所述调配数据库信息中还包括至少一条非空闲时段记录,所述非空闲时段记录至少包括开始时间节点和结束时间节点,在所述工作单元状态标志为闲的时候,所述非空闲时段记录的值为空,在所述工作单元状态标志为忙或故障,若最优路径消耗时长t结合其开始时间节点、结束时间节点,与所述任务起止时间不重合的予以调取进行备选;在步骤s4中,在将所述正常工作单元位置信息同步为其对应的任务位置信息时,同时生成所对应的非空闲时段记录,即所述开始时间和结束时间,数据库系统定期清理所述非闲时段记录,当记录中所述结束时间小于当前系统时钟时间,则将该条记录清理删除。
[0025]
该方式有益效果为对任务目标进行了路径规划分析,明确了最优路径的选择依据,既避免了由于仅仅当前工作单元标志为忙而实际与任务起止时间不冲突而造成漏选的问题,并且考虑了从起点到目标任务点的路途时间损耗,避免了由于路途耽搁引起工作时间内无法到达工作区域的冲突。
[0026]
本发明的另一优选方式中,进行路径规划,获取最优路径消耗时长的计算方法具体为:
[0027]
m1、创建4个表open1、close1、open2和close2,其中open1和open2分别保存正向搜索和逆向搜索中所有待拓展点及所有待拓展点之间的平均速率;close1和close2分别保存正向搜索和逆向搜索中永久标记的节点,设置判断变量t用于判断进行正向还是逆向搜索;
[0028]
m2、将起点放入open1表中,清空close1表;将终点放入open2表中,并将close2表置为空,初始化t=0;
[0029]
m3、如果t=0,执行步骤m4;如果t=1,执行步骤m9;
[0030]
m4、遍历open1表,查找代价估计函数f(k)的最小值点,如果结果为空,则无路径;否则将其作为当前点,并移入close1表中,如果当前点为终点,则执行步骤m14;否则,执行步骤m5;
[0031]
正向搜索的评估函数为:
[0032]
f(k)=g(k)+h(k)
[0033]
其中k指当前搜索的节点f(k)是从起点经过节点k到达目标节点的总成本,g(k)表示从起点开始经过已生成的最优路径到节点k的成本,h(k)是从节点k到目标节点获得的最优路径估计成本,
[0034]
g(k)=|x
s-xk|+|y
s-yk|
[0035]
h(k)=|x
e-xk|+|y
e-yk|
[0036]
其中xs是起点的横坐标,ys是起点的纵坐标,xk是节点k的横坐标,yk是节点k的纵坐标,xe是目标节点的横坐标,ye是目标节点的纵坐标;
[0037]
反向搜索的评估函数为:
[0038]
f’(k)=g’(k)+h’(k)
[0039]
其中k指当前搜索的节点f’(k)是从目标节点经过节点k到达起点的总成本,g’(k)表示从目标节点开始经过已生成的最优路径到节点k的成本,h’(k)是从节点k到目标节点获得的最优路径估计成本,
[0040]
g’(k)=|x
e-xk|+|y
e-yk|
[0041]h′
(k)=|x
s-xk|+|y
s-yk|
[0042]
其中xs是起点的横坐标,ys是起点的纵坐标,xk是节点k的横坐标,yk是节点k的纵坐标,xe是目标节点的横坐标,ye是目标节点的纵坐标;
[0043]
m5、如果当前点在close2中,则更新通过相遇点的最优路径距离,如果其小于或等于经过未相遇点的最优路径距离下界,则执行步骤m14;否则,执行步骤m8,如果当前点不在close2中,执行步骤m6;
[0044]
m6、对于当前节点每一个相邻节点,更新其估价函数值、最优路径值和父节点;
[0045]
m7、如果当前点在open2中,则更新通过相遇点的最优路径的最优距离,如果其小于或等于经过未相遇点的最优路径距离下界,则执行步骤m14;否则,执行步骤m8;
[0046]
m8、令t=1,返回步骤m3;
[0047]
m9、遍历open2表,查找f(n)的最小值点,如果结果为空,则无路径;否则将其作为当前点,并将其移入close2表中,如果当前点为开始点,则执行步骤m14;否则,执行步骤m10;
[0048]
m10、如果当前点在close1中,则更新通过相遇点的最优路径的最优距离,如果其小于或等于经过未相遇点的最优路径距离下界,则执行步骤m14;否则,执行步骤m13,如果当前点不在close2中,则执行步骤m11;
[0049]
m11、对于当前节点每一个相邻节点,更新其估价函数值、最优路径值和父节点;
[0050]
m12、如果当前点在open1中,则更新通过相遇点的最优路径距离,如果其小于或等于经过未相遇点的最优路径距离下界,则执行步骤m14;否则,执行步骤m13。
[0051]
m13、令t=0,返回步骤m3;
[0052]
m14、输出最优路径和最优路径消耗时长,即分别从节点k向起始节点和目标节点回溯每个节点的父节点,然后进行拼接所产生的路径即为最短路径,最优路径消耗时长为:
[0053][0054]
t为最优路径消耗时长,vi为正向搜索过程中在close1和close2表中顺序相邻两节点之间的速率,di为正向搜索过程中在close1和close2表中顺序相邻两节点之间的距离。该实施方式给出了路径规划及最优路径消耗时长的具体实现方法,且该方法通过双向搜索节点,节省了计算时间。
[0055]
本发明还公布了一种最优任务调度系统,包括输入单元、输入接口、输出单元、调配数据库、比对单元、调度接口、本地查询接口、网络查询接口、查询数据库、调度单元;所述输入单元接收目标位置信息、目标任务起止时间,所述调配数据库包括工作单元名称、工作单元状态标志、工作单元位置信息,所述查询数据库通过所述本地查询接口连接,所述查询数据库中包含故障位置信息、故障等待时间;系统运行时,所述输入单元所述比对单元通过所述网络查询接口向所述查询数据库调取数据,同时通过所述本地查询接口向所述调度数据库调取数据,筛选出距离工作单位位置信息最近的工作单元,将工作单元信息通过调度单元生成委派信息发送至所述输出单元。该系统为上述调度方法的具体实现方式。
[0056]
在本发明的另一种优选实施方式中,所述比对单元中还有定位模块,所述定位模块计算出工作单元到所述目标单元位置信息所途经的区域信息。该方式可以为计算故障区域范围进行准确定位,并能为要排除故障区域,选取次优方案时提供具体实现方式。
[0057]
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0058]
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0059]
图1是本发明一种任务最优调度方法总体框架流程图;
[0060]
图2是本发明一种任务最优调度系统主体架构图。
具体实施方式
[0061]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附
图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0062]
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0063]
实施例一、如图2所示,一种任务最优调度系统,该任务调度系统包括输入单元、输入接口、输出单元、调配数据库、比对单元、调度接口、本地查询接口、网络查询接口、查询数据库、调度单元;所述输入单元接收目标位置信息、目标任务起止时间,所述调配数据库包括工作单元名称、工作单元状态标志、工作单元位置信息,比对单元中还有定位模块,所述定位模块计算出工作单元到所述目标单元位置信息所途经的区域信息;所述查询数据库通过所述本地查询接口连接,所述查询数据库中包含故障位置信息、故障等待时间;系统运行时,所述输入单元所述比对单元通过所述网络查询接口向所述查询数据库调取数据,同时通过所述本地查询接口向所述调度数据库调取数据,筛选出距离工作单位位置信息最近的工作单元,将工作单元信息通过调度单元生成委派信息发送至所述输出单元。
[0064]
其具体工作方式如图1所示,一种任务最优调度方法,其特征在于,其包括以下步骤:
[0065]
s1、通过输入接口获取目标任务位置信息、目标任务起止时间,在本实施例中,可人工输入目标任务位置的行政区域名称,目标任务的开始和结束时间;
[0066]
s2、比对单元调取调配数据库信息,所述调配数据库信息包括工作单元名称、工作单元状态标志、工作单元位置信息,所述工作单元状态标志有忙和闲两种状态,所述工作单元状态标志为忙的不予调取。一种特殊情况为,所述调配数据库信息中还包括繁忙时段,在步骤s2中若所述工作单元状态标志为忙,但所述繁忙时段与所述任务起止时间不重合的予以调取。调配数据库信息中还包括至少一条非空闲时段记录,所述非空闲时段记录至少包括开始时间节点和结束时间节点,在所述工作单元状态标志为闲的时候,所述非空闲时段记录的值为空,在所述工作单元状态标志为忙或故障,若最优路径消耗时长t结合其开始时间节点、结束时间节点,与所述任务起止时间不重合的予以调取进行备选,例如工作单元状态标志为忙,且开始时间节点为2022年2月20日9:00;结束时间节点为9:30;时长t为20分钟,任务起止时间为2022年2月20日9:40-2022年2月21日13点40,则不冲突可以调取。在本实施例中,工作单元可以为工作人员,工作单元位置信息为所处地点。
[0067]
所述查询数据库通过所述本地查询接口连接,所述查询数据库中包含故障位置信息、故障起止时间,本实施例中,故障位置可以为疫情中高风险区域,故障起止时间可以为疫情开始和截止时间,所述查询数据库为疫情查询平台,在s2步骤中,通过查询接口访问该平台调取最新疫情区域信息以及疫情起始时间,若截止时间尚未公布,可以预置为无穷大的日期;
[0068]
s3、将步骤s1中目标位置信息与步骤s2中故障位置信息进行比较,筛选出距离工作单位位置信息最近的正常工作单元,将正常工作单元信息通过调度单元生成委派信息并传递至输出单元,在本实施例中,所述委派信息包括工作人员姓名、目标任务起止时间。
[0069]
该技术方案能根据工作单元的实时情况,结合目的地当前情况,其工作路径是否包含故障区域等进行综合选择,获取在目标任务起止时间段,距离任务位置最近的工作单
元。若所述目标位置信息与所述故障位置信息相同则返回无可选方案结果至输出单元。
[0070]
s4、将s3中所述正常工作单元所对应的工作单元状态标志置为忙,同时将所述正常工作单元位置信息同步为其对应的任务位置信息,同时生成所对应的非空闲时段记录,即所述开始时间和结束时间,数据库系统定期清理所述非闲时段记录,当记录中所述结束时间小于当前系统时钟时间,则将该条记录清理删除。
[0071]
此外,所述调配数据库信息中还包括初始化位置信息,在本实施例中的所述初始化位置信息可以为预置的详细行政区域划分,所述比对单元中还有定位模块,所述定位模块计算出工作单元到所述目标单元位置信息所途经的最近区域信息,生成路径规划方案,若所述区域信息中心包含所述故障位置信息,即若规划出的路线需经过故障区域,则放弃该方案,选择故障位置相邻区域重新计算,直到选择出当前工作单元最优方案,然后再与其他工作单元的最优方案进行比较。该优选方式可以进行当某工作单元距离目标任务位置最近距离由于故障区域阻碍需要重新选择路线,给出次优选级选择,将其与其他工作单元的路线进行比较,能更全面的进行方案的全面比对,而不会因为由于该工作单元的最佳路径因为有故障区域就将其放弃而选择其他工作单元作为备选。例如,当前工作单元需要去往的任务位置,其最短路径会经过某故障区域(如疫情中高风险地区),则选择未被列入故障区域的相邻区域进行路径规划,并与其他的备选工作单元逐一比对距离长短,选择最短路径作为最优路径并通过输出接口进行信息传递。
[0072]
实施例二、在本发明的另一实施方式中,其系统构成方式与前一实施例一致,工作单元可为机器人,其主要调度方法与前一实施例s1-s4步骤基本一致,且该工作单元出现故障时其定位需要更加精确,有条件情况下需要就近进行相邻正常工作单元的替换以完成任务,在步骤s2中故障单元的故障辐射区域函数:
[0073][0074]
其中,p为方向序号,dp为故障单元在p方向的最远辐射距离,rect【】为距离窗函数,t
p
为故障单元在p方向的可执行时间,t

为正常工作单元的标准执行时间,δt为故障单元在p方向的误差时间。该方案将故障区域的边界进行量化,根据具体情况量化出故障区域的范围。
[0075]
根据故障辐射区域函数,获得故障辐射区域;
[0076]
获得故障辐射区域中的正常工作单元;该方式有利于迅速找到在工作单元出现故障时,迅速在故障区域找到接替的工作单元以便继续工作的完成。
[0077]
对所述正常工作单元的工作需求数量进行聚类排序,在本实施例中,可以采取单滑动窗口的均值偏移聚类,具体为:
[0078]
1.以在二维空间中的一组点为例,从一个以点随机选择的点c(每个点为某一工作需求)为中心的圆形滑窗开始,以半径r为内核。均值偏移是一种爬山算法(hill climbing algorithm),它需要在每个步骤中反复地将这个内核移动到一个更高的密度区域,直到收敛。
[0079]
2.在每一次迭代中,滑动窗口会移向密度较高的区域,将中心点移动到窗口内的点的平均值。滑动窗口中的密度与它内部的点的数量成比例。自然地,通过移向窗口中点的平均值,它将逐渐向更高的点密度方向移动。
[0080]
3.继续根据均值移动滑动窗口,直到没有方向移动可以容纳内核中的更多点。
[0081]
4.步骤1到3的过程是用许多滑动窗口完成的,直到所有的点都位于一个窗口内。当多个滑动窗口重叠的时候,包含最多点的窗口会被保留。然后,数据点根据它们所在的滑动窗口聚类。
[0082]
以故障单元所处的地方作为目标节点位置,正常工作单元位置作为起点位置获取从最优路径消耗时长,计算方法具体为:
[0083]
m1、创建4个表open1、close1、open2和close2,其中open1和open2分别保存正向搜索和逆向搜索中所有待拓展点及所有待拓展点之间的平均速率;close1和close2分别保存正向搜索和逆向搜索中永久标记的节点,设置判断变量t用于判断进行正向还是逆向搜索;
[0084]
m2、将起点放入open1表中,清空close1表;将终点放入open2表中,并将close2表置为空,初始化t=0;
[0085]
m3、如果t=0,执行步骤m4;如果t=1,执行步骤m9;
[0086]
m4、遍历open1表,查找代价估计函数f(k)的最小值点,如果结果为空,则无路径;否则将其作为当前点,并移入close1表中,如果当前点为终点,则执行步骤m14;否则,执行步骤m5;
[0087]
正向搜索的评估函数为:
[0088]
f(k)=g(k)+h(k)
[0089]
其中k指当前搜索的节点f(k)是从起点经过节点k到达目标节点的总成本,g(k)表示从起点开始经过已生成的最优路径到节点k的成本,h(k)是从节点k到目标节点获得的最优路径估计成本,
[0090]
g(k)=|x
s-xk|+|y
s-yk|
[0091]
h(k)=|x
e-xk|+|y
e-yk|
[0092]
其中xs是起点的横坐标,ys是起点的纵坐标,xk是节点k的横坐标,yk是节点k的纵坐标,xe是目标节点的横坐标,ye是目标节点的纵坐标;
[0093]
反向搜索的评估函数为:
[0094]
f’(k)=g’(k)+h

(k)
[0095]
其中k指当前搜索的节点f’(k)是从目标节点经过节点k到达起点的总成本,g

(k)表示从目标节点开始经过已生成的最优路径到节点k的成本,h

(k)是从节点k到目标节点获得的最优路径估计成本,
[0096]g′
(k)=|x
e-xk|+|y
e-yk|
[0097]h′
(k)=|x
s-xk|+|y
s-yk|
[0098]
其中xs是起点的横坐标,ys是起点的纵坐标,xk是节点k的横坐标,yk是节点k的纵坐标,xe是目标节点的横坐标,ye是目标节点的纵坐标;
[0099]
m5、如果当前点在close2中,则更新通过相遇点的最优路径距离,如果其小于或等于经过未相遇点的最优路径距离下界,则执行步骤m14;否则,执行步骤m8,如果当前点不在close2中,执行步骤m6;
[0100]
m6、对于当前节点每一个相邻节点,更新其估价函数值、最优路径值和父节点;
[0101]
m7、如果当前点在open2中,则更新通过相遇点的最优路径的最优距离,如果其小于或等于经过未相遇点的最优路径距离下界,则执行步骤m14;否则,执行步骤m8;
[0102]
m8、令t=1,返回步骤m3;
[0103]
m9、遍历open2表,查找f(n)的最小值点,如果结果为空,则无路径;否则将其作为当前点,并将其移入close2表中,如果当前点为开始点,则执行步骤m14;否则,执行步骤m10;
[0104]
m10、如果当前点在close1中,则更新通过相遇点的最优路径的最优距离,如果其小于或等于经过未相遇点的最优路径距离下界,则执行步骤m14;否则,执行步骤m13,如果当前点不在close2中,则执行步骤m11;
[0105]
m11、对于当前节点每一个相邻节点,更新其估价函数值、最优路径值和父节点;
[0106]
m12、如果当前点在open1中,则更新通过相遇点的最优路径距离,如果其小于或等于经过未相遇点的最优路径距离下界,则执行步骤m14;否则,执行步骤m13。
[0107]
m13、令t=0,返回步骤m3;
[0108]
m14、输出最优路径,即分别从节点k向起始节点和目标节点回溯每个节点的父节点,然后进行拼接所产生的路径即为最短路径,最优路径消耗时长为:
[0109][0110]
t为最优路径消耗时长,vi为正向搜索过程中在close1和close2表中顺序相邻两节点之间的速率,di为正向搜索过程中在close1和close2表中顺序相邻两节点之间的距离。
[0111]
此计算方式也可以应用到实施例一的最优路径选择中计算最优路径消耗时长。
[0112]
筛选工作需求数量没有超出阈值的最近的正常工作单元作为最终的工作单元。该方式的有益效果是根据工作单元的工作任务总量以及与任务位置对其的需求优先级(如根据任务需求的习惯)进行排序,从而选取最适合的方案。
[0113]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0114]
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1