一种调度任务的方法和系统技术方案

技术编号:30447789 阅读:21 留言:0更新日期:2021-10-24 18:41
本申请实施例公开了一种调度任务的方法和系统,包括以下步骤:获取至少一个任务;分别确定所述至少一个任务的优先级和复杂度,其中,所述优先级至少与优先级变量和提交时间相关;基于所述优先级和所述复杂度对所述至少一个任务进行调度,以既能保证队列有一定优先级控制,又能保证低优先级的队列不会无限制等待,提高用户体验。提高用户体验。提高用户体验。

【技术实现步骤摘要】
一种调度任务的方法和系统


[0001]本申请涉及软件系统领域,尤其涉及一种调度任务的方法和系统。

技术介绍

[0002]对于软件系统,随着用户、功能、请求的增加,往往会面临系统资源不够用的情况。针对一部分功能场景可以由同步模型转化为异步模型进行处理,以一定程度缓解软件系统的运行压力。但由于系统只能按一定的并发度处理任务,且异步队列一般根据场景时间先后排队进行处理,因此无法保障优先级较高或较低的任务得到及时调度。
[0003]因此,急需一种方式,在保障优先级较高的任务能够及时得到调度,且优先级较低的任务也能在优先级较高的任务执行的同时或等待一定时间后得到调度,以提升用户体验。

技术实现思路

[0004]本说明书实施例之一提供了一种调度任务的方法,包括以下步骤:获取至少一个任务;分别确定所述至少一个任务的优先级和复杂度,其中,所述优先级至少与优先级变量和提交时间相关;基于所述优先级和所述复杂度对所述至少一个任务进行调度。
[0005]进一步的,所述确定所述至少一个任务的优先级具体为,对每个任务:基于优先级变量类型的权重单位值、所述优先级变量的权重和所述提交时间的数学关系确定。
[0006]进一步的,所述数学关系具体为:将所有类型的优先级变量的权重单位值与优先级变量的权重相乘得到多个优先级变量的优先值;将所述多个优先值与所述提交时间相加得到任务的优先级。
[0007]进一步的,所述优先级变量类型至少包括用户类型和/或任务类型;所述用户类型的优先级变量包括至少一种用户;所述任务类型的优先级变量包括至少一种任务。
[0008]进一步的,所述基于优先级和复杂度对任务进行调度具体为:按所述至少一个任务的优先级次序将复杂度的和不大于系统可执行并发复杂度的任务调度为待执行任务。
[0009]进一步的,所述将任务调度为待执行任务具体为:将所述至少一个任务按优先级顺序放入排队队列中;当获取到新任务后对所述排队队列中的任务进行重排;将最后一次重排的排队队列中符合条件的任务导入执行队列。
[0010]进一步的,调度还包括,所述待执行任务为并行执行。
[0011]进一步的,所述调度为定时调度。
[0012]本说明书实施例之一还提供了一种调度任务的系统,包括任务获取模块、优先级确定模块、复杂度确定模块和任务调度模块;所述任务获取模块用于获取至少一个任务;所述优先级确定模块用于分别确定所述至少一个任务的优先级,其中,所述优先级至少与优先级变量和提交时间相关;所述复杂度确定模块用于分别确定所述至少一个任务的复杂度;所述任务调度模块用于基于所述优先级和所述复杂度对所述至少一个任务进行调度。
[0013]进一步的,所述任务调度模块包括排队队列和执行队列;所述排队队列用于存储
按优先级排序后的所述至少一个任务;所述执行队列用于存储待执行任务。
[0014]本申请通过多维度权重加权计算,实现精细化优先级控制,既能保证队列有一定优先级控制,又能保证低优先级的队列不会无限制等待,提高了用户体验。其中,多维度可以包括任务优先级和等待时间等。
附图说明
[0015]本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图的方式进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:图1是根据本申请一些实施例所示的调度任务的方法的示例性流程图;图2中(a)和(b)分别是根据本申请一些实施例所示的排队队列和执行队列的示例性示意图;图3是根据本申请一些实施例所示的调度任务的系统的示例性模块图。
具体实施方式
[0016]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
[0017]本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图的方式进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:图1是根据本申请一些实施例所示的调度任务的方法的示例性流程图,在一些实施例中,步骤100可以由处理设备执行。如图1所示,所述步骤100可以包括:步骤110,获取至少一个任务。
[0018]任务可以为用户提交的各种任务。在一些实施例中,可以为不同系统设置不同的任务,例如,在电商系统中可以设置下载订单列表任务T
A
,而在身份验证系统中可以设置加载身份信息任务,可以理解的,下载订单列表任务T
A
不同于加载身份信息任务。
[0019]处理设备可以基于各种常见的方法获取任务,包括但不限于,通过服务器获取用户发出的任务请求。
[0020]步骤120,分别确定所述至少一个任务的优先级和复杂度,其中,所述优先级至少与优先级变量和提交时间相关。
[0021]优先级可以在一定程度上表征系统处理任务的先后顺序,例如,可以基于优先级的大小确定系统处理任务的顺序。
[0022]在一些实施例中,优先级可以与优先级变量和提交时间相关,例如,处理设备可以基于优先级变量和提交时间确定任务的优先级。
[0023]优先级变量是指用于确定任务优先级的一个或多个特征。在一些实施例中,不同系统可以有不同类型的优先级变量,例如,电商系统中的任务的优先级变量可以包括任务
类型和用户类型等。在一些实施例中,每类优先级变量可以包括至少一种变量,例如,任务类型包括下载订单列表任务T
A
,下载发货单列表任务T
B
、下载商品列表任务T
C
、下载结算单列表任务T
D
等中的一种或多种。又例如,用户类型包括用户U1、用户U2、用户U3、用户U4等中的一种或多种。
[0024]优先级变量及其类型可以根据实际需求具体确定,例如,根据系统所处理任务的领域和特点等。
[0025]提交时间是指系统接收到任务的时间。在一些实施例中,时间可以由系统时钟表示,例如,一分钟可以被表示为60000、一分半钟可以被表示为90000,以此类推。系统可以通过各种可行的方式确定提交时间。
[0026]为了实现控制基于等待一定任务量执行数量,作为排队优先级,在一些实施例中,可以将任务执行数量作为系统时钟(每有一个任务提交执行,则系统时钟+1)。应用场景可以为医院就诊等待,网约车排队等待等。
[0027]在一些实施例中,处理设备可以基于优先级变量类型的权重单位值、所述优先级变量的权重和所述提交时间的数学关系确定任务的优先级。
[0028]权重单位值是指一个单位的权重所对应的优先级的值,在一些实施例中,权重单位值可以基于系统时间确定,例如,系统处理该类型任务的时长。权重单位值还可以通过其他各种可行的方式确本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种调度任务的方法,其特征在于,包括以下步骤:获取至少一个任务;分别确定所述至少一个任务的优先级和复杂度,其中,所述优先级至少与优先级变量和提交时间相关;基于所述优先级和所述复杂度对所述至少一个任务进行调度。2.根据权利要求1所述的调度任务的方法,其特征在于,所述确定所述至少一个任务的优先级具体为,对每个任务:基于优先级变量类型的权重单位值、所述优先级变量的权重和所述提交时间的数学关系确定。3.根据权利要求2所述的调度任务的方法,其特征在于,所述数学关系具体为:将所有类型的优先级变量的权重单位值与优先级变量的权重相乘得到多个优先级变量的优先值;将所述多个优先值与所述提交时间相加得到任务的优先级。4.根据权利要求2

3任一项所述的调度任务的方法,其特征在于,所述优先级变量类型至少包括用户类型和/或任务类型;所述用户类型的优先级变量包括至少一种用户;所述任务类型的优先级变量包括至少一种任务。5.根据权利要求1所述的调度任务的方法,其特征在于,所述基于优先级和复杂度对任务进行调度具体为:按所述至少一个任务的优先级次序将复杂度的和不大于系统可执行并发复杂度的任务调度为待执行...

【专利技术属性】
技术研发人员:袁海涛蒋敏
申请(专利权)人:中建电子商务有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1