掌桥专利:专业的专利平台
掌桥专利
首页

一种结合任务调度平台的计划派工单方法和系统

文献发布时间:2024-04-18 20:01:30


一种结合任务调度平台的计划派工单方法和系统

技术领域

本发明涉及任务调度平台技术领域,具体为一种结合任务调度平台的计划派工单方法和系统。

背景技术

派工单,即向指定的人或组派发工单。计划派工单,即按照预先定义的派单时间、派单的频率、派单的类型等信息有计划的向特定的工单处理人人或工单处理人员组派发工单。

现有技术中,目前常用计划派工单技术一般有定时任务轮询扫描和任务调度平台两种:

(1)定时任务轮询扫描

定时任务轮询扫描一般为:对某一类型的派工单计划,创建一个统一的定时任务,指定该定时任务扫描数据库的时间间隔,定时任务启动后,会按照指定的时间定时扫描数据库中待发送的派工单,并根据当前时间与计划任务中派工时间是否在同一时间段内,判断是否将该待工单派送给工单处理人:若在同一时间段内,则发送派工单;若不在同一时间段内(该任务已派发或不到计划发送的时间),则忽略该任务,并在下次扫描数据库中待发送任务时,再次根据上述描述进行发送判断。

此种方法实现简单,但鉴于机制是按照指定时间间隔扫描数据库中数据,每次轮询符合条件的才有可能发送派工单,因此会导致派工时间与计划派工时间不能完全一致,即实际的派工时间可能会落后或超前计划的派工时间。另外,此种方法一个定时任务只能用于同一种类的派工单,不够灵活。

(2)任务调度平台

任务调度平台即为:使用单服务或分布式的任务调度平台,后端服务通过向任务调度平台注册派工单的调度任务,并指定调度类型、运行模式等参数,即可通过任务调度平台定时执行该派工单计划。此种方式实现比较简单,并且一般任务调度平台针对多个后端服务都会提供轮询、随机等多种调度策略,并且支持调度过期策略、任务超时时间、失败最大重试次数等高级配置。但此种方式完全依赖于任务调度平台实现,通常适用于通用化的定时任务,针对计划派工单等在任务中包含特定字段(例如:工单标题、工单内容、工单处理人)的,只能修改源代码适配,否则无法很好的提供服务。

发明内容

本发明的目的在于提供一种结合任务调度平台的计划派工单方法和系统,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种结合任务调度平台的计划派工单方法,所述方法包括以下步骤:

通过前端页面配置计划派工单属性信息;

请求派工单服务的后端接口,后端接口组装参数;

调用任务调度平台提供的API接口,生成待调度任务;

任务调度平台在计划的时间触发派工单任务,生成派工单发送给工单的待处理人,从而实现计划派工单功能。

优选的,在工单前端页面选择完成后,会调用应用实例后端接口;后端接口收到请求后,生成入库的主键id,根据前端页面选择的计划任务频率类型、频率、发送时间、任务状态结合配置文件中的调度类型、执行器id、路由策略、调度过期策略、阻塞处理策略配置项组装调用任务调度平台的接口参数,根据前端页面配置的发送时间、频率参数组装成cron表达式,当做调度类型为cron时的参数;将主键id作为任务参数,放入接口参数bean的任务执行参数中。

优选的,任务调度平台触发任务后:

a)任务触发时,任务调度平台调用后端执行器,获取创建任务时的任务参数,并根据任务参数中的数据库主键获取派工单信息;

b)若派工单信息为空,则说明任务调度平台任务不存在,调用任务调度平台的更新任务接口,将任务状态更新为无效;

c)若派工单信息不为空,则需要判断工单的当期处理人是否为空且状态正常,若为空或状态不正常则该派工单无需派单,因为即使派单也无人处理,此时需要更新数据库和调度平台中的任务状态,都设为无效;

d)若派工单处理人不为空,则向该处理人派发工单,工单进入流转状态。

一种结合任务调度平台的计划派工单系统,所述系统由应用服务实例、任务调度平台、信息存储模块以及数据库组成;

应用服务实例,用于创建计划派工单和流转功能;

任务调度平台,调用后端执行器,获取创建任务时的任务参数,并根据任务参数中的数据库主键获取派工单信息;

信息存储模块,用于对数据库的操作;

数据库,用于保存系统的各种信息。

优选的,数据库包括工单、用户、系统配置表,信息存储模块包括用户信息和工单信息的增删改查。

优选的,创建计划派工单时,新增页面主要字段包括:开始时间、结束时间、频率类型、频率、派工单时间、工单处理人、工单标题、工单内容、启用停用,开始结束时间是规范该计划的执行的时间范围,即只有当前时间在开始结束时间段内,计划派工才起作用,否则不起作用;频率类型包括:季度、月、周、日、工作日;频率类型和频率属性有一定的关联关系,只有频率类型选择季度、月、周时频率属性才显示可选。

优选的,若频率类型选择季度,则频率可选择整年中的某一天作为开始时间,并且在当前选择时间的90天后,才会再次执行;

若频率类型选择月,则频率属性可选择月份中第1天到第31天中的某一天或某几天,表示在每月的这几天会触发计划派工定时任务;

若频率类型选择周,则频率可选择周一到周日的某一天或某几天,表示在每周的这几天会触发计划派工的定时任务;

若频率类型选择日,则频率属性不可选,表示每天都会执行该计划派工的定时任务;

若频率类型选择工作日,则频率属性不可选,表示每个工作日都会执行该计划派工。

与现有技术相比,本发明的有益效果是:

本发明提出的结合任务调度平台的计划派工单方法和系统,将任务调度平台和派工单服务项结合,通过前端页面配置计划派工单的发送频率、工单主题、工单内容、派工单调度类型(固定时间、cron表达式)等属性信息,请求派工单后端接口,后端接口组装参数后,调用任务调度平台提供的API接口,生成待调度任务;任务调度平台根据配置的频率、调度算法等配置信息,在计划的时间触发任务调用派工单服务暴露的派工单创建接口,派工单服务会生成派工单发送给工单的待处理人,从而实现计划派工单功能。此方法使用方式简单,代码侵入性小,可配置性高,灵活性好,在修改计划派工单配置时无需修改代码,并在修改配置保存后,可立刻生效,此方法降低了代码的冗余度、提升了开发效率,并且可根据任务调度平台的选型,提供派单任务失败通知、派单任务失败转移等功能。

附图说明

图1为本发明系统架构图;

图2为本发明创建任务流程图;

图3为本发明计划派工单定时任务流程图。

具体实施方式

为了使本发明的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本发明一部分实施例,而不是全部的实施例,仅仅用以解释本发明实施例,并不用于限定本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1至图3,本发明提供一种技术方案:一种结合任务调度平台的计划派工单方法和系统,系统结构图如附图1所示,主要包含应用服务实例、任务调度平台、信息存储模块、数据库等,其中数据库主要用于保存系统的各种信息,包括工单、用户、系统配置等表。信息存储模块主要用于对数据库的操作,包括用户信息、工单信息的增删改查等。

应用服务实例包括计划派工单的创建和流转功能,其创建计划派工单任务的流程图如附图2所示,其中在创建计划派工单时,

(1)新增页面主要字段包括:开始时间、结束时间、频率类型、频率、派工单时间、工单处理人、工单标题、工单内容、启用停用等。其中,开始结束时间是规范该计划的执行的时间范围,即只有当前时间在开始结束时间段内,该计划派工才起作用,否则不起作用。频率类型包括:季度、月、周、日、工作日。频率类型和频率属性有一定的关联关系,只有频率类型选择季度、月、周时频率属性才显示可选。

a)若频率类型选择季度,则频率可选择整年中的某一天作为开始时间,并且在当前选择时间的90天后,才会再次执行;

b)若频率类型选择月,则频率属性可选择月份中第1天到第31天中的某一天或某几天,表示在每月的这几天会触发计划派工定时任务;

c)若频率类型选择周,则频率可选择周一到周日的某一天或某几天,表示在每周的这几天会触发计划派工的定时任务;

d)若频率类型选择日,则频率属性不可选,表示每天都会执行该计划派工的定时任务。

e)若频率类型选择工作日,则频率属性不可选,表示每个工作日都会执行该计划派工。

频率和频率类型的选择不受开始结束时间的影响,但在实际的发送过程中时会判断当前时间是否在配置的开始结束时间内。

派工单时间是00:00:00到23:59:59的某一时刻,表示是在该时刻时派出工单。工单处理人、工单标题、工单内容是工单相关属性,描述了该工单的基本信息。启用停用属性确定了该条计划派工任务的状态是启用还是停用,该状态会同步到任务调度平台,与任务调度平台中对应的任务状态保持一致。

(2)在工单前端页面选择完成后,会调用应用实例后端接口;后端接口收到请求后,

a)生成入库的主键id,根据前端页面选择的计划任务频率类型、频率、发送时间、任务状态等结合配置文件中的调度类型、执行器id、路由策略、调度过期策略、阻塞处理策略等配置项组装调用任务调度平台的接口参数,其中会根据前端页面配置的发送时间、频率等参数组装成cron表达式,当做调度类型为cron时的参数;将主键id作为任务参数,放入接口参数bean的任务执行参数中。

b)调用任务平台的获取下次执行时间接口获取任务的下次执行时间,若下次执行时间不存在,则表示,该任务的配置有问题,直接报错返回错误信息,此步骤的目的是防止前端时间或发送频率等配置错误而不自知,导致计划派单任务一直无法进行;

c)若可以获取到任务的下次执行时间,则继续调用任务调度平台提供的创建任务接口,尝试创建任务,若创建不成功,则报错并返回错误信息;

d)若创建成功,则后端服务将接口调用返回的任务调度平台任务id,与派工单创建所需的其他参数一起存入数据库。

e)若入库成功,则返回成功信息

f)若入库不成功,则需要调用任务调度平台的删除接口将已新增的任务删除,报错并返回错误信息。

任务调度平台触发任务后,其流程图如附图3所示。

a)任务触发时,任务调度平台调用后端执行器,获取创建任务时的任务参数,并根据任务参数中的数据库主键获取派工单信息。

b)若派工单信息为空,则说明任务调度平台任务不存在,调用任务调度平台的更新任务接口,将任务状态更新为无效。

c)若派工单信息不为空,则需要判断工单的当期处理人是否为空且状态正常,若为空或状态不正常则该派工单无需派单,因为即使派单也无人处理,此时需要更新数据库和调度平台中的任务状态,都设为无效。

d)若派工单处理人不为空,则向该处理人派发工单,工单进入流转状态。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

相关技术
  • 图像处理方法和装置、电子设备、存储介质、程序产品
  • 图像处理方法和装置、电子设备、存储介质、程序产品
  • 目标检测方法和装置、电子设备、存储介质、程序产品
  • 行人再识别方法和装置、电子设备、存储介质、程序产品
  • 图像处理方法和装置、电子设备、存储介质、程序产品
  • 用例收集方法、装置、设备、介质及程序产品
  • 测试用例评估方法、装置、设备、存储介质和程序产品
技术分类

06120116560618