任务调度方法及系统、任务系统技术方案

技术编号:23287800 阅读:19 留言:0更新日期:2020-02-08 17:56
本发明专利技术公开了一种任务调度方法及系统、任务系统,其中任务调度方法包括:响应于客户服务器中第一应用程序发送的任务构建请求,构建任务并保存任务信息;所述第二应用程序位于所述任务调度系统之外;在任务调度过程中确定所述任务达到执行时间情况下,从所述任务信息中提取第二应用程序的应用程序接口;通过所述应用程序接口向所述第二应用程序发送任务执行请求,以使位于所述任务调度系统之外的第二应用程序执行所述任务。本发明专利技术可以实现任务调度系统中的任务调度过程与任务执行过程解耦分离。从而使得任务调度系统的任务调度更加通用化,满足不同业务系统的调度需求。

Task scheduling method and system, task system

【技术实现步骤摘要】
任务调度方法及系统、任务系统
本专利技术涉及互联网
,尤其涉及一种任务调度方法及系统、任务系统。
技术介绍
Hangfire是一个开源的任务调度系统,其可以调度立即运行、延迟执行和周期执行的任务。Hangfire主要包括应用程序接口(restAPIs)、数据库(JobStorage)和服务端(HangfireServer)。其中,业务系统通过Hangfire的应用程序接口向Hangfire注入任务,Hangfire将任务序列化存储到数据库中。Hangfire的服务端存储有用于执行任务的应用程序,服务端从数据库扫描任务并进行任务调度,当一任务达到执行时间时利用应用程序来执行任务。目前,Hangfire的服务端中任务调度过程和任务执行过程均在服务端的程序中执行,也即Hangfire中任务调度过程和任务执行过程聚合在一起,这导致任务调度系统不够通用化。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的任务调度方法及系统、任务系统。为了解决上述问题,提供下述技术特征:一种任务调度方法,应用于任务调度系统,所述任务调度方法包括:响应于客户服务器中第一应用程序发送的任务构建请求,构建任务并保存任务信息;在任务调度过程中确定所述任务达到执行时间情况下,从所述任务信息中提取第二应用程序的应用程序接口;通过所述应用程序接口向所述第二应用程序发送任务执行请求,以使位于所述任务调度系统之外的第二应用程序执行所述任务。可选的,所述第二应用程序集成于所述客户服务器中。可选的,所述构建任务并保存任务信息包括:在所述任务调度系统的数据库服务器提供的已有数据表中构建任务;在任务调度系统的数据库服务器提供的已有数据表之外的扩展数据表中保存任务信息;所述已有数据表中任务与所述扩展数据表中任务信息具有关联关系。可选的,所述任务包括任务类别标识和任务标识;所述任务信息包括:所述第一应用程序的应用程序标识、所述任务标识和用于执行任务的执行参数信息;所述第二应用程序的应用程序接口位于所述执行参数信息中;其中,所述已有数据表中任务与所述扩展数据表中任务信息通过相同的任务标识建立关联关系。可选的,所述执行参数信息还包括:请求所述第二应用程序的应用程序接口的方式;向第二应用程序发送任务执行请求中请求头需传入的参数;向第二应用程序发送任务执行请求中请求体需传入的信息;返回函数,用于在第二应用程序发送反馈结果后,回调第一应用程序的应用程序接口,通知第一应用程序反馈结果。可选的,所述在任务调度过程中确定所述任务达到执行时间情况下,从所述任务信息中提取第二应用程序的应用程序接口,包括:在所述已有数据表中扫描任务,将达到执行时间的任务添加到任务执行队列中;从所述任务执行队列中获取任务,通过任务与任务信息的关联关系确定与任务对应的任务信息;从所述任务信息中提取所述第二应用程序的应用程序接口。可选的,在通过所述应用程序接口向所述第二应用程序发送任务执行请求之后,还包括:接收所述第二应用程序发送的反馈结果;利用所述返回函数向所述第一应用程序发送所述反馈结果。一种处理器,包括:所述处理器,用于执行如权利要求所述任务调度方法。一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行,实现所述任务调度方法的各步骤。一种任务调度系统,包括:接口服务器,用于提供客户服务器调用任务调度系统的应用程序接口;数据库服务器,用于响应于客户服务器中第一应用程序通过应用程序接口发送的任务构建请求,构建任务并保存任务信息;调度服务器,用于在任务调度过程中确定所述任务达到执行时间情况下,从所述任务信息中提取第二应用程序的应用程序接口;通过所述应用程序接口向所述第二应用程序发送任务执行请求,以使位于所述任务调度系统之外的第二应用程序执行所述任务。借由上述技术方案,本专利技术提出由任务调度系统继续来执行任务调度过程,由位于任务调度系统之外应用程序(权利要求中的第二应用程序)来执行任务,从而使得任务调度系统中的任务调度过程与任务执行过程解耦分离。由于任务调度系统仅用于任务调度过程,使得任务调度系统的职责更加单一,仅作为一个任务触发器,只负责按需(立即、延迟,周期)触发任务,这使得任务调度系统的任务调度更加通用化,满足不同业务系统的调度需求。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1a-1c示出了任务系统的结构示意图;图2示出了任务调度系统的流程图;图3示出了任务调度装置的流程图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。参见图1a,本申请提供了任务系统实施例一。任务系统包括:多个客户服务器100、任务调度系统200和执行服务器300;其中执行服务器300设置有与多个任务一一对应的多个应用程序。参见图1b,本申请提供了任务系统的实施例二。任务系统包括:多个客户服务器100、任务调度系统200和多个执行服务器300;其中,每个执行服务器300设置有一个任务对应的应用程序。参见图1c,本申请提供了任务系统的实施例三。任务系统包括多个客户服务器100和任务调度系统200。其中,每个客户服务器100中设置与任务对应的应用程序。在图1a-图1c中任务调度系统200包括接口服务器201,与接口服务器201相连的数据库服务器202和与数据库服务器202相连的一个或多个调度服务器203。为了将任务调度系统200中任务调度过程与任务执行过程解耦分离,本申请不再在任务调度系统200的调度服务器中设置应用程序,而是在任务调度系统之外设置用于执行任务的应用程序。参见图1a和图1b在执行服务器300中设置应用程序,参见图1c在客户服务器100中设置应用程序。在图1a-图1c的实施例中,可以由任务调度系统200来执行任务调度,由任务调度系统200之外的应用程序来执行任务,从而将任务调度中的任务调度与任务解耦分离。本专利技术使得任务调度系统的职责更加单一,仅作为一个任务触发本文档来自技高网...

【技术保护点】
1.一种任务调度方法,其特征在于,应用于任务调度系统,所述任务调度方法包括:/n响应于客户服务器中第一应用程序发送的任务构建请求,构建任务并保存任务信息;/n在任务调度过程中确定所述任务达到执行时间情况下,从所述任务信息中提取第二应用程序的应用程序接口;/n通过所述应用程序接口向所述第二应用程序发送任务执行请求,以使位于所述任务调度系统之外的第二应用程序执行所述任务。/n

【技术特征摘要】
1.一种任务调度方法,其特征在于,应用于任务调度系统,所述任务调度方法包括:
响应于客户服务器中第一应用程序发送的任务构建请求,构建任务并保存任务信息;
在任务调度过程中确定所述任务达到执行时间情况下,从所述任务信息中提取第二应用程序的应用程序接口;
通过所述应用程序接口向所述第二应用程序发送任务执行请求,以使位于所述任务调度系统之外的第二应用程序执行所述任务。


2.如权利要求1所述的方法,其特征在于,所述第二应用程序集成于所述客户服务器中。


3.如权利要求1所述的方法,其特征在于,所述构建任务并保存任务信息包括:
在所述任务调度系统的数据库服务器提供的已有数据表中构建任务;
在任务调度系统的数据库服务器提供的已有数据表之外的扩展数据表中保存任务信息;
所述已有数据表中任务与所述扩展数据表中任务信息具有关联关系。


4.如权利要求3所述的方法,其特征在于,
所述任务包括任务类别标识和任务标识;
所述任务信息包括:所述第一应用程序的应用程序标识、所述任务标识和用于执行任务的执行参数信息;所述第二应用程序的应用程序接口位于所述执行参数信息中;
其中,所述已有数据表中任务与所述扩展数据表中任务信息通过相同的任务标识建立关联关系。


5.如权利要求4所述的方法,其特征在于,所述执行参数信息还包括:
请求所述第二应用程序的应用程序接口的方式;
向第二应用程序发送任务执行请求中请求头需传入的参数;
向第二应用程序发送任务执行请求中请求体需传入的信息;
返回函数,用于在第二应用程序发送反馈结果后...

【专利技术属性】
技术研发人员:段秋华
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京;11

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

1