任务的安排方法、装置、设备及存储介质
文献发布时间:2024-04-18 19:58:21
技术领域
本申请涉及任务的安排技术领域,特别地涉及一种任务的安排方法、装置、设备及存储介质。
背景技术
大部分人的工作时间和休息时间都是确定的,有一个较稳定的作息表,呈现出一定的规律性。人们会提前对借助APP或纸笔对自己即将要完成的任务做简单的规划。但这种规划只能提前一两天进行,无法进行长期精确规划,另外在在工作和生产的的过程中,人们总是会被那些不重要但是紧急的工作打扰,优先处理这类工作,导致重要但不紧急的工作随着时间的推移逐渐转化为重要且紧急的工作,一旦这种转化事件发生,就需要立即停下手中的工作来处理这些转化事件,即工作安排顺序不合理。
发明内容
针对上述问题,本申请提供一种任务的安排方法、装置、设备及存储介质,能够按照任务的任务等级和紧急程度对用户空闲时间进行安排,提高完成任务的顺序合理性。
本申请实施例提供一种任务的安排方法,包括:
获取用户的预设时间段内的空闲时间及所述用户的任务的任务信息,所述任务信息至少包括:任务等级、截止日期、任务完成所需时间;
基于所述任务等级将所述任务分为任务队列,其中,每个任务队列中的任务等级相同;
基于各个任务队列中任务的截止日期确定各个任务队列中各个任务的权重;
基于各个任务队列中各个任务的权重对各个任务进行排序得到优先级队列;
基于各个优先级队列中各个任务的任务完成所需时间对所述空闲时间进行分配。
在一些实施例中,所述优先级队列包括最高优先级队列,所述优先级队列中权重越大排序越靠前,所述基于各个优先级队列中各个任务的任务完成所需时间对所述空闲时间进行分配,包括:
确定所述最高优先级队列中截止日期在所述空闲时间内的任务的任务完成所需总时间;
将空闲时间中任务完成所需总时间分配给所述最高优先级队列。
在一些实施例中,所述方法还包括:
将所述空闲时间减去任务完成所需总时间得到剩余时间;
将剩余时间按比列分配给除所述最高优先级队列之外的其他优先级队列,其中,所述其他优先级队列包括:第一优先级队列和第二优先级队列,其中,第一优先级队列的分配时间大于第二优先级队列的分配时间,所述第一优先级队列中任务的任务等级大于第二优先级队列中任务的任务等级。
在一些实施例中,所述方法还包括:
取所述第一优先级队列中的第一队头任务;
确定所述第一队头任务的截止日期是否在所述第一优先级队列的分配时间内;
在所述第一队头任务的截止日期在所述第一优先级队列的分配时间内的情况下,判断所述第一优先级队列是否有空余时间;
在所述第一优先级队列有空余时间的情况下,确定所述第一队头任务的任务完成所需时间是否小于第一优先级队列的空余时间;
在所述第一队头任务的任务完成所需时间小于第一优先级队列的空余时间的情况下,为所述第一队头任务从所述第一优先级队列的空余时间中分配所述一队头任务的任务完成所需时间;
更新第一优先级队列的空余时间和所述第一优先级队列的队头任务为第二队头任务,其中,所述第一队头任务的权重高于所述第二队头任务的权重,所述第一队头任务和第二队头任务在所述第一优先级队列中相邻。
在一些实施例中,所述方法还包括:
在所述第一队头任务的截止日期不在第一优先级队列的分配时间内的情况下,取所述第二优先级队列中的第三队头任务;
确定所述第三队头任务的截止日期是否在第二优先级队列的分配时间内;
在所述第三队头任务的截止日期在所述第二优先级队列的分配时间内的情况下,判断所述第二优先级队列是否有空余时间;
在所述第二优先级队列有空余时间的情况下,确定所述第三队头任务的任务完成所需时间是否小于第二优先级队列的空余时间;
在所述第三队头任务的任务完成所需时间小于第二优先级队列的空余时间的情况下,为所述第三队头任务从所述第二优先级队列的空余时间中分配所述第三队头任务的任务完成所需时间;
更新第二优先级队列的空余时间和所述第二优先级队列的队头任务为第四队头任务,其中,所述第四队头任务的权重高于所述第三队头任务的权重,所述第四队头任务和第三队头任务在所述第二优先级队列中相邻。
在一些实施例中,所述任务信息还包括:任务是否可分解,所述方法还包括:
在所述第一队头任务的任务完成所需时间大于第一优先级队列的空余时间的情况下,确定所述第一队头任务是否能够拆解;
在所述第一队头任务不能拆解的情况下,将所述第一优先级队列的空余时间分配给第二优先级队列;
在所述第一队头任务能够拆解的情况下,将所述第一队头任务拆解为第一任务和第二任务,并将第一优先级队列的空余时间分配给所述第一任务,并计算第二任务所需时间,并将第二任务放入所述第一优先级队列的队头。
在一些实施例中,所述方法还包括:
获取用户的历史工作时间数据;
将所述历史工作时间数据输入至SARIMA模型,确定所述用户的在预设时间段的空闲时间。
在一些实施例中,所述方法还包括:
获取历史时间数据;
基于所述历史时间数据确定自相关函数和偏自相关函数;
基于所述自相关函数和偏自相关函数确定非季节性ARIMA模型的阶数和季节性ARIMA模型的阶数,得到非季节性ARIMA模型和季节性ARIMA模型;
基于非季节性MA模型和季节性ARIMA模型生成初始SARIMA模型;
对所述初始SARIMA模型进行验证,在验证通过的情况下,确定SARIMA模型。
本申请实施例提供一种任务的安排装置,包括:
获取模块,用于获取用户的预设时间段内的空闲时间及所述用户的任务的任务信息,所述任务信息至少包括:任务等级、截止日期、任务完成所需时间;
划分模块,用于基于所述任务等级将所述任务分为任务队列,其中,每个任务队列中的任务等级相同;
确定模块,用于基于各个任务队列中任务的截止日期确定各个任务队列中各个任务的权重;
排序模块,用于基于各个任务队列中各个任务的权重对各个任务进行排序得到优先级队列;
分配模块,用于基于各个优先级队列中各个任务的任务完成所需时间对所述空闲时间进行分配。
本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,该计算机程序被所述处理器执行时,执行如上述任意一项所述任务的安排方法。
本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储的计算机程序,能够被一个或多个处理器执行,能够用来实现上述所述任务的安排方法。
本申请提供的一种任务的安排方法、装置、设备及存储介质,通过获取用户的预设时间段内的空闲时间及所述用户的任务的任务信息,所述任务信息至少包括:任务等级、截止日期、任务完成所需时间;基于所述任务等级将所述任务分为任务队列,其中,每个任务队列中的任务等级相同;基于各个任务队列中任务的截止日期确定各个任务队列中各个任务的权重;基于各个任务队列中各个任务的权重对各个任务进行排序得到优先级队列;基于各个优先级队列中各个任务的任务完成所需时间对所述空闲时间进行分配,能够按照任务的任务等级和紧急程度对用户空闲时间进行安排,提高完成任务的顺序合理性。
附图说明
在下文中将基于实施例并参考附图来对本申请进行更详细的描述。
图1为本申请实施例提供的一种任务的安排方法的实现流程示意图;
图2为本申请实施例提供的一种建立优先级队列的流程示意图;
图3为本申请实施例提供的一种空闲时间任务安排的实现流程示意图;
图4为本申请实施例提供的电子设备的组成结构示意图。
在附图中,相同的部件使用相同的附图标记,附图并未按照实际的比例绘制。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
如果申请文件中出现“第一第二第三”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一第二第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一第二第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
基于相关技术中存在的问题,本申请实施例提供一种任务的安排方法,所述方法应用于电子设备,所述电子设备可以是计算机、移动终端等,所述计算机可以是服务器,所述移动终端可以包括手机、平板电脑等,在一些实施例中,电子设备可以计算机的控制器。本申请实施例提供的任务的安排方法所实现的功能可以通过电子设备的处理器调用程序代码来实现,其中,程序代码可以保存在计算机存储介质中。
本申请实施例提供一种任务的安排方法,图1为本申请实施例提供的一种任务的安排方法的实现流程示意图,如图1所示,包括:
步骤S101,获取用户的预设时间段内的空闲时间及所述用户的任务的任务信息,所述任务信息至少包括:任务等级、截止日期、任务完成所需时间。
本申请实施例中,所述预设时间段可以进行配置,示例性地,预设时间段可以是一个月、一个星期等。
本申请实施例中,所述任务可以是工作任务、生活中的事务等。
本申请实施例中,所述任务等级可以包括:多个等级,等级可以表征重要且紧急、重要但不紧急、不重要但紧急、不重要且不紧急等。
本申请实施例中,所述预设时间段的空闲时间可以是基于用户的历史时间数据确定的。所述任务及任务的任务信息可以是用户通过输入设备输入的。
步骤S102,基于所述任务等级将所述任务分为任务队列,其中,每个任务队列中的任务等级相同。
本申请实施例中,每个任务队列对应一个任务等级。
本申请实施例中,任务队列可以包括:重要且紧急(QUEUE_A)、重要但不紧急(QUEUE_B)、不重要但紧急(QUEUE_C)、不重要且不紧急(QUEUE_D)四个队列。
本申请实施例中,所述重要且紧急的任务则放入重要且紧急的任务队列。
步骤S103,基于各个任务队列中任务的截止日期确定各个任务队列中各个任务的权重。
本申请实施例中,截止日期越近则紧急程度越高,则任务的权重越大。任务的权重越大,则紧急程度越高。
步骤S104,基于各个任务队列中各个任务的权重对各个任务进行排序得到优先级队列。
本申请实施例中,可以对基于各个任务的权重进行降序排列,从而得到优先级队列。
承接上面的示例,形成重要且紧急(PRIORITY_QUEUE_A)、重要但不紧急(PRIORITY_QUEUE_B)、不重要但紧急(PRIORITY_QUEUE_C)、不重要且不紧急(PRIORITY_QUEUE_D)四个带权重的优先级队列。
步骤S105,基于各个优先级队列中各个任务的任务完成所需时间对所述空闲时间进行分配。
本申请实施例中,优先级队列中优先级最高的任务最重要且紧急,则可以多分配时间,而其他优先级队列可以分配少一些时间。
本申请提供的一种任务的安排方法,通过获取用户的预设时间段内的空闲时间及所述用户的任务的任务信息,所述任务信息至少包括:任务等级、截止日期、任务完成所需时间;基于所述任务等级将所述任务分为任务队列,其中,每个任务队列中的任务等级相同;基于各个任务队列中任务的截止日期确定各个任务队列中各个任务的权重;基于各个任务队列中各个任务的权重对各个任务进行排序得到优先级队列;基于各个优先级队列中各个任务的任务完成所需时间对所述空闲时间进行分配,能够按照任务的任务等级和紧急程度对用户空闲时间进行安排,提高完成任务的顺序合理性。
在一些实施例中,述优先级队列包括最高优先级队列,所述优先级队列中权重越大排序越靠前,步骤S105可以通过以下步骤实现:
步骤S1051,确定所述最高优先级队列中截止日期在所述空闲时间内的任务的任务完成所需总时间。
本申请实施例中,可以将最高优先级队列中截止日期在所述空闲时间内的所有任务的任务完成所需时间进行相加,得到任务完成所需总时间。
步骤S1052,将空闲时间中任务完成所需总时间分配给所述最高优先级队列。
本申请实施例提供的方法,通过优先安排重要且紧急的任务的时间,从而使得任务安排更合理。
在一些实施例中,在步骤S1052之后,所述方法还包括:
步骤S1053,将所述空闲时间减去任务完成所需总时间得到剩余时间。
步骤S1054,将剩余时间按比列分配给除所述最高优先级队列之外的其他优先级队列,其中,所述其他优先级队列包括:第一优先级队列和第二优先级队列,其中,第一优先级队列的分配时间大于第二优先级队列的分配时间,所述第一优先级队列中任务的任务等级大于第二优先级队列中任务的任务等级。
本申请实施例中,比例可以进行配置,示例性地,可以根据四象限时间管理理论来分配比列。
示例性地,将剩余时间按照84%、15%、1%的比例分为三份,三份时间分别对应重要但不紧急(PRIORITY_QUEUE_B)、不重要但紧急(PRIORITY_QUEUE_C)、不重要且不紧急(PRIORITY_QUEUE_D)。
在一些实施例中,所述方法还包括:
步骤S1055,取所述第一优先级队列中的第一队头任务。
本申请实施例中,所述第一优先级队列可以是除最高优先级队列之外的人一个一个队列。
步骤S1056,确定所述第一队头任务的截止日期是否在所述第一优先级队列的分配时间内。
本申请实施例中,如果第一队头任务的截止日期不在所述第一优先级队列的分配时间内,则说明该任务不是到期任务。
步骤S1057,在所述第一队头任务的截止日期在所述第一优先级队列的分配时间内的情况下,判断所述第一优先级队列是否有空余时间。
本申请实施例中,如果第一队头任务的截止日期在所述第一优先级队列的分配时间内,则该任务为空闲时间内的到期任务。
可以判断第一优先级队列的空余时间是否大于0。
步骤S1058,在所述第一优先级队列有空余时间的情况下,确定所述第一队头任务的任务完成所需时间是否小于第一优先级队列的空余时间。
本申请实施例中,如果过空余时间大于0,则表明第一优先级队列有空余时间。
步骤S1059,在所述第一队头任务的任务完成所需时间小于第一优先级队列的空余时间的情况下,为所述第一队头任务从所述第一优先级队列的空余时间中分配所述一队头任务的任务完成所需时间。
步骤S1060,更新第一优先级队列的空余时间和所述第一优先级队列的队头任务为第二队头任务,其中,所述第一队头任务的权重高于所述第二队头任务的权重,所述第一队头任务和第二队头任务在所述第一优先级队列中相邻。
本申请实施例中,然后继续为新的队头任务分配时间。
在一些实施例中,在步骤S1056之后,所述方法还包括:
步骤S1061,在所述第一队头任务的截止日期不在第一优先级队列的分配时间内的情况下,取所述第二优先级队列中的第三队头任务。
本申请实施例中,如果第一队头任务的截止日期不在第一优先级队列的分配时间内,则第一队头任务之后的所有任务的截止日期都不在分配时间内。则可以进行下一个优先级队列的时间分配。
步骤S1062,确定所述第三队头任务的截止日期是否在第二优先级队列的分配时间内。
步骤S1063,在所述第三队头任务的截止日期在所述第二优先级队列的分配时间内的情况下,判断所述第二优先级队列是否有空余时间;
步骤S1064,在所述第二优先级队列有空余时间的情况下,确定所述第三队头任务的任务完成所需时间是否小于第二优先级队列的空余时间;
步骤S1065,在所述第三队头任务的任务完成所需时间小于第二优先级队列的空余时间的情况下,为所述第三队头任务从所述第二优先级队列的空余时间中分配所述第三队头任务的任务完成所需时间;
步骤S1066,更新第二优先级队列的空余时间和所述第二优先级队列的队头任务为第四队头任务,其中,所述第四队头任务的权重高于所述第三队头任务的权重,所述第四队头任务和第三队头任务在所述第二优先级队列中相邻。
在一些实施例中,在步骤S1058之后,所述方法还包括:
步骤S1067,在所述第一队头任务的任务完成所需时间大于第一优先级队列的空余时间的情况下,确定所述第一队头任务是否能够拆解;
步骤S1068,在所述第一队头任务不能拆解的情况下,将所述第一优先级队列的空余时间分配给第二优先级队列。
步骤S1069,在所述第一队头任务能够拆解的情况下,将所述第一队头任务拆解为第一任务和第二任务,并将第一优先级队列的空余时间分配给所述第一任务,并计算第二任务所需时间,并将第二任务放入所述第一优先级队列的队头。
本申请实施例提供的方法,通过对用户空闲时间的任务进行提前的安排,避免用户因为因为一些不重要但紧急的工作而忽视了重要但不紧急的工作,导致这些工作变为重要且紧急的工作,且可以提前对任务进行安排,提高工作和完成任务的顺序合理性、提高工作效率。
在一些实施例中,在步骤S101之前,所述方法还包括:
步骤S1011,获取用户的历史工作时间数据;
步骤S1012,将所述历史工作时间数据输入至SARIMA模型,确定所述用户的在预设时间段的空闲时间。
本申请实施例中,可以获取历史时间数据;基于所述历史时间数据确定自相关函数和偏自相关函数;基于所述自相关函数和偏自相关函数确定非季节性ARIMA模型的阶数和季节性ARIMA模型的阶数,得到非季节性ARIMA模型和季节性ARIMA模型;基于非季节性MA模型和季节性ARIMA模型生成初始SARIMA模型;对所述初始SARIMA模型进行验证,在验证通过的情况下,确定SARIMA模型。
本申请实施例中,自相关函数ACF是时间序列和其滞后版本之间的相关性。它测量了一个时间序列与它自己的滞后版本之间的相关性。如果自相关系数在滞后k处为正,则表示在该滞后期后,时间序列的值有向正的趋势。如果自相关系数在滞后k处为负,则表示在该滞后期后,时间序列的值有向负的趋势。如果自相关系数在滞后k处为0,则表示在该滞后期后,时间序列的值没有任何趋势。
自相关函数ACF是一个时间序列和它本身的滞后版本之间的偏相关性。它测量了一个时间序列在滞后k期之后与它自己的滞后版本之间的相关性,消除了其他滞后版本的影响。
偏自相关函数PACF系数决定p值,用于描述的是在给定中间观测值的条件下,时间序列观测值预期过去的观测值之间的线性相关性。
本申请实施例中,可以观察自相关函数(ACF)和偏自相关函数(PACF)来确定非季节性ARIMA模型的阶数,包括自回归阶数p、差分阶数d和移动平均阶数q。
本申请实施例中,可以观察自相关函数(ACF)和偏自相关函数(PACF)来确定季节性ARIMA模型的阶数,包括季节性自回归阶数P、季节性差分阶数D和季节性移动平均阶数Q。
本申请实施例中,可以将非季节性ARIMA模型和季节性ARIMA模型组合起来,形成SARIMA模型。其中,ARIMA模型可以表示为:
ARIMA(p,d,q)×(P,D,Q)S;
其中,P:周期性自回归阶数,D:周期性差分阶数,Q:周期性移动平均阶数,S:周期性时间间隔,p:趋势自回归模型数据滞后项,即AR项,d:趋势差分阶数,q:趋势移动平均模型滞后项,即MA项。
其中,AR项可以通过自回归模型AR获得,自回归模型描述当前值与历史值之间的关系,用变量自身的历史时间数据对自身进行预测,自回归模型可以表示为:
其中,y
MA项可以通过移动平均模型(MA)获得,移动平均模型关注的是自回归模型中的误差项的累加,移动平均法能有效地消除预测中的随机波动。移动平均模型可以表示为:
本申请实施例中,可以通过AIC对初始SARIMA模型进行验证,在验证通过的情况下,确定SARIMA模型。
本申请实施例中,AIC是衡量统计模型拟合优良性的一种标准,它建立在熵的概念上,提供了权衡估计模型复杂度和拟合数据优良性的标准。
AIC=2k-2In(L),
k是模型中未知参数个数,L是模型中极大似然函数值似然函数。
基于前述的各个实施例,本申请实施例再提供一种任务的安排方法,所述方法包括,用户添加工作任务,建立任务优先级队列,对预测的空闲时间段对用户的任务进行合理安排。
本申请实施例中,图2为本申请实施例提供的一种建立优先级队列的流程示意图,如图2所示,建立优先级队列可以通过以下步骤实现:
步骤S201,输入任务的初始等级、截止日期、预计完成时间、任务是否可拆解等任务信息。
步骤S202,生成四个任务权重队列。
本申请实施例中,用户可以根据需求添加工作任务,并填写任务的初始等级(重要且紧急、重要但不紧急、不重要但紧急、不重要且不紧急)、截止日期、预计完成所需时间、任务是否可分解等任务信息。根据任务的重要程度将任务分别放入重要且紧急(QUEUE_A)、重要但不紧急(QUEUE_B)、不重要但紧急(QUEUE_C)、不重要且不紧急(QUEUE_D)四个队列中。再根据四个队列中的截止日期进行紧急程度区分,截止日期越靠前,任务权重越大,任务紧急程度越高。完成任务输入后,形成重要且紧急(PRIORITY_QUEUE_A)、重要但不紧急(PRIORITY_QUEUE_B)、不重要但紧急(PRIORITY_QUEUE_C)、不重要且不紧急(PRIORITY_QUEUE_D)四个带权重的优先级队列。
本申请实施例中,图3为本申请实施例提供的一种空闲时间任务安排的实现流程示意图,如图3所示,对预测的空闲时间段对用户的任务进行合理安排可以通过以下步骤实现:
步骤S11,获取预测得到的用户空闲时间段T
步骤S12,获取优先级队列PRIORITY_QUEUE_A的到期任务所需时间T
步骤S13,计算可安排的空余时间T
步骤S14,将可安排的空余时间T
步骤S15,分别取优先队列PRIORITY_QUEUE_B、PRIORITY_QUEUE_C、PRIORITY_QUEUE_D的队头元素,转步骤S16;
步骤S16,判断该队头任务是否为到期任务;
若是到期任务,转步骤S17;
若不是到期任务,转步骤S18;
步骤S17,判断队列是否有可安排的空余时间;
若T
若T
步骤S18,以最高权重将当前任务放回对应优先级队列队头,转步骤S112;
步骤S19,计算队头到期任务所需的时间T
步骤S110,计算队列空余时间T
步骤S111,计算队列可安排时间T
步骤S112,取优先队列B的队头任务,转步骤S115;
步骤S113,取优先队列C的队头任务,转步骤S115;
步骤S114,取优先队列D的队头任务,转步骤S115;
步骤S115,判断队列空余时间T
若T
若T
步骤S116,判断队头任务需要时间T
若T
若T
步骤S117,判断该任务是否可以拆解;
若可拆解,转步骤S123;
若不可拆解,若该任务为B队列任务,则转步骤S118,若该任务为C队列任务,转步骤S119;
步骤S118,将B队列可安排剩余时间加到C队列可安排空余时间上,B队列空余时间置零,转步骤S18;
步骤S119,将C队列可安排剩余时间加到D队列可安排空余时间上,C队列空余时间置零,转步骤S18;
步骤S120,D队列空余时间置零,转步骤S18;
步骤S121,空余时间不足,转步骤S124;
步骤S122,计算队列空余时间T
步骤S123,计算队列队头任务所需剩余完成时间
T
步骤S124,结束。
本申请实施例提供的方法,使用SARIMA模型对用户的空闲时间进行预测,对于预测空闲的时间段,基于“四象限”时间管理理论及其建议时间分配,对用户空闲时间段的任务进行提前的安排,避免用户因为因为一些不重要但紧急的工作而忽视了重要但不紧急的工作,导致这些工作变为重要且紧急的工作,且可以提前对任务进行安排。
基于前述的实施例,本申请实施例提供一种任务的安排装置,该装置包括的各模块、以及各模块包括的各单元,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU,Central ProcessingUnit)、微处理器(MPU,Microprocessor Unit)、数字信号处理器(DSP,Digital SignalProcessing)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等。
本申请实施例提供一种任务的安排装置,包括:
获取模块,用于获取用户的预设时间段内的空闲时间及所述用户的任务的任务信息,所述任务信息至少包括:任务等级、截止日期、任务完成所需时间;
划分模块,用于基于所述任务等级将所述任务分为任务队列,其中,每个任务队列中的任务等级相同;
确定模块,用于基于各个任务队列中任务的截止日期确定各个任务队列中各个任务的权重;
排序模块,用于基于各个任务队列中各个任务的权重对各个任务进行排序得到优先级队列;
分配模块,用于基于各个优先级队列中各个任务的任务完成所需时间对所述空闲时间进行分配。
在一些实施例中,所述优先级队列包括最高优先级队列,所述优先级队列中权重越大排序越靠前,所述基于各个优先级队列中各个任务的任务完成所需时间对所述空闲时间进行分配,包括:
确定所述最高优先级队列中截止日期在所述空闲时间内的任务的任务完成所需总时间;
将空闲时间中任务完成所需总时间分配给所述最高优先级队列。
在一些实施例中,分配模块还用于:
将所述空闲时间减去任务完成所需总时间得到剩余时间;
将剩余时间按比列分配给除所述最高优先级队列之外的其他优先级队列,其中,所述其他优先级队列包括:第一优先级队列和第二优先级队列,其中,第一优先级队列的分配时间大于第二优先级队列的分配时间,所述第一优先级队列中任务的任务等级大于第二优先级队列中任务的任务等级。
在一些实施例中,分配模块还用于:
取所述第一优先级队列中的第一队头任务;
确定所述第一队头任务的截止日期是否在所述第一优先级队列的分配时间内;
在所述第一队头任务的截止日期在所述第一优先级队列的分配时间内的情况下,判断所述第一优先级队列是否有空余时间;
在所述第一优先级队列有空余时间的情况下,确定所述第一队头任务的任务完成所需时间是否小于第一优先级队列的空余时间;
在所述第一队头任务的任务完成所需时间小于第一优先级队列的空余时间的情况下,为所述第一队头任务从所述第一优先级队列的空余时间中分配所述一队头任务的任务完成所需时间;
更新第一优先级队列的空余时间和所述第一优先级队列的队头任务为第二队头任务,其中,所述第一队头任务的权重高于所述第二队头任务的权重,所述第一队头任务和第二队头任务在所述第一优先级队列中相邻。
在一些实施例中,分配模块还用于:
在所述第一队头任务的截止日期不在第一优先级队列的分配时间内的情况下,取所述第二优先级队列中的第三队头任务;
确定所述第三队头任务的截止日期是否在第二优先级队列的分配时间内;
在所述第三队头任务的截止日期在所述第二优先级队列的分配时间内的情况下,判断所述第二优先级队列是否有空余时间;
在所述第二优先级队列有空余时间的情况下,确定所述第三队头任务的任务完成所需时间是否小于第二优先级队列的空余时间;
在所述第三队头任务的任务完成所需时间小于第二优先级队列的空余时间的情况下,为所述第三队头任务从所述第二优先级队列的空余时间中分配所述第三队头任务的任务完成所需时间;
更新第二优先级队列的空余时间和所述第二优先级队列的队头任务为第四队头任务,其中,所述第四队头任务的权重高于所述第三队头任务的权重,所述第四队头任务和第三队头任务在所述第二优先级队列中相邻。
在一些实施例中,所述任务信息还包括:任务是否可分解,分配模块还用于:
在所述第一队头任务的任务完成所需时间大于第一优先级队列的空余时间的情况下,确定所述第一队头任务是否能够拆解;
在所述第一队头任务不能拆解的情况下,将所述第一优先级队列的空余时间分配给第二优先级队列;
在所述第一队头任务能够拆解的情况下,将所述第一队头任务拆解为第一任务和第二任务,并将第一优先级队列的空余时间分配给所述第一任务,并计算第二任务所需时间,并将第二任务放入所述第一优先级队列的队头。
在一些实施例中,任务的安排装置还用于:
获取用户的历史工作时间数据;
将所述历史工作时间数据输入至SARIMA模型,确定所述用户的在预设时间段的空闲时间。
在一些实施例中,任务的安排装置还用于:
获取历史时间数据;
基于所述历史时间数据确定自相关函数和偏自相关函数;
基于所述自相关函数和偏自相关函数确定非季节性ARIMA模型的阶数和季节性ARIMA模型的阶数,得到非季节性ARIMA模型和季节性ARIMA模型;
基于非季节性MA模型和季节性ARIMA模型生成初始SARIMA模型;
对所述初始SARIMA模型进行验证,在验证通过的情况下,确定SARIMA模型。
本申请实施例提供一种电子设备;图4为本申请实施例提供的电子设备的组成结构示意图,如图4所示,所述电子设备500包括:一个处理器501、至少一个通信总线502、用户接口503、至少一个外部通信接口504、存储器505。其中,通信总线502配置为实现这些组件之间的连接通信。其中,用户接口503可以包括控制屏,外部通信接口504可以包括标准的有线接口和无线接口。所述处理器501配置为执行存储器中存储的任务的安排方法的程序,以实现以上述实施例提供的任务的安排方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所控制或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元控制的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台控制器执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
- 任务执行方法、装置、电子设备及计算机可读存储介质
- 一种自动分配任务的方法、装置、电子设备以及存储介质
- 任务处理方法、装置、电子设备及计算机可读存储介质
- 定时任务执行时间推荐方法、装置、设备和存储介质
- 一种任务调度方法、装置、设备和存储介质
- 任务安排方法、装置、电子设备及存储介质
- 一种检修任务安排方法、装置、设备及存储介质