CN108647083B - 任务执行方法、装置、系统、电子设备及计算机可读介质 - Google Patents

任务执行方法、装置、系统、电子设备及计算机可读介质 Download PDF

Info

Publication number
CN108647083B
CN108647083B CN201810404983.3A CN201810404983A CN108647083B CN 108647083 B CN108647083 B CN 108647083B CN 201810404983 A CN201810404983 A CN 201810404983A CN 108647083 B CN108647083 B CN 108647083B
Authority
CN
China
Prior art keywords
task
scheduling
scheduling task
execution
service cluster
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810404983.3A
Other languages
English (en)
Other versions
CN108647083A (zh
Inventor
邹绍飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JD Digital Technology Holdings Co Ltd
Jingdong Technology Holding Co Ltd
Original Assignee
JD Digital Technology Holdings Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JD Digital Technology Holdings Co Ltd filed Critical JD Digital Technology Holdings Co Ltd
Priority to CN201810404983.3A priority Critical patent/CN108647083B/zh
Publication of CN108647083A publication Critical patent/CN108647083A/zh
Application granted granted Critical
Publication of CN108647083B publication Critical patent/CN108647083B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及一种任务执行方法、装置、系统、电子设备及计算机可读介质。涉及计算机信息处理领域,该方法包括:根据用户指令生成调度任务,所述调度任务包括定时任务;将所述调度任务储存至指定数据库;以及服务集群由所述指定数据库读取所述调度任务并执行,所述服务集群为任务日程管理系统集群。本公开涉及的任务执行方法、装置、系统、电子设备及计算机可读介质,能够解决现有技术中存在的调度任务与业务执行强依赖性问题,大大提升工作效率。

Description

任务执行方法、装置、系统、电子设备及计算机可读介质
技术领域
本公开涉及计算机信息处理领域,具体而言,涉及一种任务执行方法、装置、系统、电子设备及计算机可读介质。
背景技术
批处理任务是指在计算机上无须人工干预而执行系列程序的作业,其无须人工交互,所有的输入数据预先设置于程序或命令行参数中。现有技术中,通过Batch(批处理)系统来实现上述功能。
Spring Batch是一种批处理服务框架,在Batch系统中,都会集成Quartz(开源的作业调度)框架用以定时调度工作,每一个调度任务都会和业务耦合在一起。这种方式会使代码耦合在一起,耦合度高,造成逻辑不清晰,项目代码臃肿,如果有代码改动相应的影响范围就大,维护困难。而且在现有技术中,不能通过可视化的方式动态维护任务的执行,比如暂停、立即执行以及监控任务执行情况。
另外,在现有技术中,任务的执行是通过结合Spring scheduled或者Quartz来实现定时调度的,在用户需要修改任务的执行时间时,需要先修改配置文件然后重启服务,任务的执行时间策略无法动态修改调整,无法实现即时生效。Batch系统异常或迭代更新时,会影响所有业务的执行计划。这种部署方式,在多机部署情况下会有重复执行的问题。
因此,需要一种新的任务执行方法、装置、系统、电子设备及计算机可读介质。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开提供一种任务执行方法、装置、系统、电子设备及计算机可读介质,能够解决现有技术中存在的问题,大大提升工作效率。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种任务执行方法,该方法包括:根据用户指令生成调度任务,所述调度任务包括定时任务;将所述调度任务储存至指定数据库;以及服务集群由所述指定数据库读取所述调度任务并执行,所述服务集群为任务日程管理系统集群。
在本公开的一种示例性实施例中,根据用户指令生成调度任务包括:通过预定网页接收用户指令并生成调度任务。
在本公开的一种示例性实施例中,根据用户指令生成调度任务还包括:根据用户指令动态配置已有的调度任务。
在本公开的一种示例性实施例中,所述预定网页通过分层工作框架与持久层框架框架建立。
在本公开的一种示例性实施例中,服务集群由所述指定数据库读取所述调度任务并执行包括:所述服务集群由所述指定数据库读取所述调度任务;以及所述服务集群根据计划任务表达式定时和/或延时执行所述调度任务。
在本公开的一种示例性实施例中,服务集群由所述指定数据库读取所述调度任务并执行,所述服务集群为任务日程管理系统集群包括:通过竞争机制,确定所述服务集群中的多个实例之一做为执行实例;通过所述执行实例执行所述调度任务。
在本公开的一种示例性实施例中,通过所述执行实例执行所述调度任务包括:所述执行实例通过所述调度任务中的任务参数确定任务请求地址;以及所述执行实例通过连接池请求相关接口。
在本公开的一种示例性实施例中,所述执行实例通过连接池请求相关接口包括:所述执行实例通过HttpClient连接池请求相关接口。
在本公开的一种示例性实施例中,所述服务集群基于数据库引擎与高可用策略协调多个实例。
在本公开的一种示例性实施例中,还包括:所述服务集群将所述调度任务的执行结果储存至指定数据库。
根据本公开的一方面,提出一种任务执行装置,该装置包括:指令模块,用于根据用户指令生成调度任务,所述调度任务包括定时任务;储存模块,用于将所述调度任务储存至指定数据库;以及执行模块,用于服务集群由所述指定数据库读取所述调度任务并执行,所述服务集群为任务日程管理系统集群。
根据本公开的一方面,提出一种任务执行系统,该系统包括:客户端,用于根据用户指令生成调度任务,所述调度任务包括定时任务;数据库端用于储存所述调度任务;以及服务集群用于由所述数据库端读取所述调度任务并执行,所述服务集群为任务日程管理系统集群。
根据本公开的一方面,提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上文的方法。
根据本公开的一方面,提出一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现如上文中的方法。
根据本公开的任务执行方法、装置、系统、电子设备及计算机可读介质,能够解决现有技术中存在的问题,大大提升工作效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种任务执行方法及装置的系统框图。
图2是根据一示例性实施例示出的一种任务执行方法的流程图。
图3是根据另一示例性实施例示出的一种任务执行方法的示意图。
图4是根据一示例性实施例示出的一种任务执行装置的框图。
图5是根据另一示例性实施例示出的一种任务执行系统的框图。
图6是根据一示例性实施例示出的一种电子设备的框图。
图7是根据一示例性实施例示出一种计算机可读存储介质示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
本申请的发明人发现,现有技术中的定时任务系统集成Quartz框架,调度任务与业务执行在代码上产生了强依赖,业务系统将包含Quartz框架的jar包打包出来供批处理业务使用。现有技术中的定时任务系统要修改时间表达式的话需要修改代码配置然后再重新发布应用。现有技术中的定时任务系统由不同开发语言(C、Python、JAVA)服务组成,RPC方式需要考虑不同语言的兼容性及通讯协议。
基于以上的技术问题,本申请的发明人提出了任务执行方法,将调度任务系统作为独立的系统来执行任务,提供了自主运维管理后台。使得用户能通过页面来配置、修改和管理定时任务。用户能管理任务执行的生命周期,从每次任务执行开始一直到任务执行结束都有记录,用户能看到每次任务执行的开始和结束时间以及能看到执行成功或者失败,还会为用户保留过去的执行记录,用户可以查看定时任务历史执行记录。本申请的任务执行方法具体描述如下:
图1是根据一示例性实施例示出的一种任务执行方法及装置的系统框图。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是一个实体的服务器,还可例如为多个服务器组成,多个服务器分别执行不同用户提交的任务的不同的部分以对用户实现完整的任务处理功能。
终端设备101、102、103可以根据用户指令生成调度任务,所述调度任务包括定时任务;服务器105中的部分服务器可以储存所述调度任务;服务器105中的部分服务器还可例如构成集群,该服务集群由所述数据库端读取所述调度任务并执行,所述服务集群为任务日程管理系统集群。
需要说明的是,本公开实施例所提供的任务执行方法可以由服务器105执行和终端设备101、102、103共同执行。相应地,任务执行装置可以设置于服务器105与终端设备101、102、103中。
图2是根据一示例性实施例示出的一种任务执行方法的流程图。速度数据处理方法20至少包括步骤S202至S206。
如图2所示,在S202中,根据用户指令生成调度任务,所述调度任务包括定时任务。可例如,通过预定网页接收用户指令并生成调度任务。预定的网页端在本实施例中,可例如为调度系统的控制台Web端。
在一个实施例中,所述预定网页通过分层工作框架与持久层框架框架建立。调度系统控制台Web端采用SpringMVC+Spring+Mybatis框架结构。
其中,Spring框架是由于软件开发的复杂性而创建的,Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。
其中,SpringMVC是一种很流行的框架,通过把Model,View,Controller分离,把较为复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合,SpringMVC是一种实现分层工作的方法的框架。
其中,MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架,MyBatis的主要设计目的就是开发者在执行SQL语句时,输入输出的数据管理更加方便,方便地写出SQL和方便地获取SQL的执行结果。
在一个实施例中,根据用户指令生成调度任务还包括:根据用户指令动态配置已有的调度任务。在本申请中调度任务可例如包括各种类型的任务,用户登录后,可以通过调用数据库查询已有调度任务,用户登录后,可以通过调用数据库查询假期例外配置、定时任务执行日志。根据定时任务需求,用户可以创建全新的调度任务、假期例外或修改已有的调度任务、假期例外,结果保存在数据库。
在S204中,将所述调度任务储存至指定数据库。所述数据库可例如采用MySQL系统实现。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
在一个实施例中,用户在Web后台操作创建调度任务、暂停调度任务、恢复调度任务、立即执行调度任务时,会调用服务集群的Scheduler接口完成操作,并同步数据库调度任务状态。
在S206中,服务集群由所述指定数据库读取所述调度任务并执行,所述服务集群为任务日程管理系统集群。服务集群可例如作为调度系统的agent(服务代理)端。所述服务集群由所述指定数据库读取所述调度任务;以及所述服务集群根据计划任务表达式定时和/或延时执行所述调度任务。
在一个实施例中,所述服务集群为Quartz集群,Quartz是OpenSymphony开源组织在任务调度领域的一个开源项目,完全基于Java实现。其中,Quartz任务调度的核心元素为:Scheduler(任务调度器)、Trigger(触发器)、Job(任务)。其中trigger和job是任务调度的元数据,scheduler是实际执行调度的控制器。
在一个实施例中,服务集群由所述指定数据库读取所述调度任务并执行,所述服务集群为任务日程管理系统集群包括:通过竞争机制,确定所述服务集群中的多个实例之一做为执行实例;通过所述执行实例执行所述调度任务。每个待运行任务,需要集群中每个Quartz实例通过数据库行级锁,竞争运行权。获得运行权的唯一Quartz实例运行具体任务。通过创建任务时配置的参数、请求地址。通过HttpClient请求相关接口,其他服务需要配置Http网关。
在一个实施例中,通过所述执行实例执行所述调度任务包括:所述执行实例通过所述调度任务中的任务参数确定任务请求地址;以及所述执行实例通过连接池请求相关接口。
在一个实施例中,所述服务集群基于数据库引擎与高可用策略协调多个实例。其中,数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。其中,本申请中的高可用架构至少具备以下特征:主从切换:当其中一台机器的服务宕机后,对于服务调用者来说,能够迅速的切换到其他可用服务,从服务升级为主服务,这种切换速度应当控制在秒级别。负载均衡:当服务的请求量比较高的时候,一台服务不能满足需求,这时候需要多台机器提供同样的服务,将所有请求分发到不同机器上。
根据本公开的任务执行方法,通过设立单独的协调系统统一管理与管理调度任务,并通过预定储存位储存调度任务,使得执行任务的服务集群系统能够读取并执行任务的方式,能够解决现有技术中存在的问题,大大提升工作效率。
应清楚地理解,本公开描述了如何形成和使用特定示例,但本公开的原理不限于这些示例的任何细节。相反,基于本公开公开的内容的教导,这些原理能够应用于许多其它实施例。
在一个实施例中,还包括:所述服务集群将所述调度任务的执行结果储存至指定数据库。任务运行完成后,记录任务的请求参数和响应结果存入数据库,可通过WEB后台查询。请求失败时,还可例如触发报警机制,对配置任务的人员发送邮件及短信。
在一个实施例中,所述执行实例通过连接池请求相关接口包括:所述执行实例通过HttpClient连接池请求相关接口。连接池技术作为创建和管理连接的缓冲池技术,目前已广泛用于诸如数据库连接等长连接的维护和管理中,能够有效减少系统的响应时间,节省服务器资源开销。其优势主要有两个:其一是减少创建连接的资源开销,其二是资源的访问控制。
连接池管理的对象是长连接,所谓长连接是指客户端与服务器端一旦建立连接以后,可以进行多次数据传输而不需重新建立连接,而短连接则每次数据传输都需要客户端和服务器端建立一次连接。长连接的优势在于省去了每次数据传输连接建立的时间开销,能够大幅度提高数据传输的速度。HTTP协议的传输层协议是TCP协议,TCP连接的建立和释放分别需要进行3次握手和4次握手,频繁的建立连接即增加了时间开销,同时频繁的创建和销毁Socket同样是对服务器端资源的浪费。所以在本申请的一个实施例中,所述执行实例任务执行使用HttpClient连接池技术。
图3是根据另一示例性实施例示出的一种任务执行方法的示意图。如图3所示,用户可例如在管理平台中进行调度任务的设定。并将调度任务储存到指定的数据库中,在调度任务中的时间到达的时候,服务集群中的实例执行调度任务。
根据本公开的任务执行方法,解决了现有技术中定时任务系统中很多问题,比如:
现有技术中定时任务系统集成Quartz框架,调度任务与业务执行在代码上产生了强依赖,业务系统将包含Quartz框架的jar包打包出来供批处理业务使用。而通过本申请中的任务执行方法,现有技术中定时任务系统无任何调度相关代码的侵入。
现有技术中定时任务系统修改时间表达式的话需要修改代码配置再重新发布应用,而本申请中的任务执行方法,提供了统一的运维管理后台,用户只需要在页面上修改时间表达式即可,不需要重新发布跑定时任务的业务应用。
现有技术中定时任务系统由不同开发语言(C、Python、JAVA)服务组成,RPC方式需要考虑不同语言的兼容性及通讯协议。而本申请中的任务执行方法,可例如使用REST接口方式,REST更为轻量化,调度服务和业务服务的依赖只是依靠一纸契约,不存在代码级别的强依赖。在分布式环境下,REST方式的服务依赖要比RPC方式的依赖更为灵活。
本申请中的任务执行方法中的业务系统只专注于业务处理就可以了,这样比较清晰,也十分易维护。解耦调度系统与业务系统之后可分开部署,通过界面配置来调整修改任务执行时间或者请求地址等参数,无需要重启服务,即可立时生效。任务的具体执行节点可动态调整,避免单机故障无法执行以及多机导致的重复执行问题。该调度系统是分布式部署(系统部署在多台独立的机器),多个任务可以同时执行不会产生同一个任务被执行多次的问题,支持配置任务失败重试功能;同时还可以管理任务的生命周期(例如对任务的创建、修改、删除);维护任务的执行情况(例如暂停/恢复任务或立即执行任务);实时查看调度任务的执行情况(例如实时查看运行中的任务),并且可以返回执行结果分析报告。
根据本公开的任务执行方法,把以前耦合在一块的代码分解开来,逻辑清晰,项目代码简单易维护,符合低耦合的软件开发理念,后期维护简单。调度系统可在界面进行操作任务相关信息,当执行的时间策略调整改变之后,无需重启服务可即时生效。通过配置具体请求地址,可指定具体的任务执行节点,避免任务的重复执行。通过获取任务执行结果日志并在界面进行展示,且任务失败时可发送短信或者邮件进行报警设置以及时处理问题,配置重试次数来进行任务的重试执行。
本领域技术人员可以理解实现上述实施例的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本公开提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图4是根据一示例性实施例示出的一种任务执行装置的框图。任务执行装置40包括:指令模块402,储存模块404,以及执行模块406。
指令模块402用于根据用户指令生成调度任务,所述调度任务包括定时任务。
储存模块404用于将所述调度任务储存至指定数据库。
执行模块406用于服务集群由所述指定数据库读取所述调度任务并执行,所述服务集群为任务日程管理系统集群。
根据本公开的任务执行装置,通过设立单独的协调系统统一管理与管理调度任务,并通过预定储存位储存调度任务,使得执行任务的服务集群系统能够读取并执行任务的方式,能够解决现有技术中存在的问题,大大提升工作效率。
图5是根据另一示例性实施例示出的一种任务执行系统的框图。任务执行系统50包括:客户端502,数据库端504,以及服务集群506,任务执行系统50还可例如包括:业务系统508。
客户端502用于根据用户指令生成调度任务,所述调度任务包括定时任务。可例如,用户登录调度系统控制台Web服务端进行任务的建立,还可例如建立“调度任务”、“假期例外”、“请求日志”等任务。Web服务端可例如采用SpringMVC+Spring+Mybatis框架结构。
数据库端504用于储存所述调度任务。任务数据储存在数据库中,数据库可例如采用MySQL数据库。
服务集群506用于由所述数据库端读取所述调度任务并执行,所述服务集群为任务日程管理系统集群。可例如,调度系统agent端采用Quartz集群框架开发,基于数据库引擎及High-Available的策略自动协调每个节点的Quartz,当任一节点的Quartz非正常关闭或出错时,另几个节点的Quartz会自动启动;调度任务采用持久化数据库方式保存,防止宕机后失效。任务执行使用HttpClient连接池技术。
业务系统508用于执行具体任务。
通过调度系统控制台Web端,可动态配置任务的执行时间策略(即规定业务系统什么时间执行,在操作界面手动输入配置,时间策略cron表达式)、业务接口URL,即时生效;
根据业务需求配置指定假期例外功能,通过调度系统控制台Web端配置指定日期,持久化到数据库,调度任务添加例外日期,自动跳过例外日期任务。
任务执行失败时,会返回执行报告,通过执行报告上面的返回结果可以显示出执行失败的问题(有的可能写参数错误,有的可能是数据库错误),有效帮助修正参数。
执行失败可以配置失败重试功能:通过实现HttpClient框架HtppRequestRetryHandler接口,捕获各类请求异常(服务无响应、SSL握手异常、连接中断、未知主机、连接超时)。当异常请求次数,未达到配置重试次数阈值,进行重新请求。也可以发送报警邮件或短信提示业务人员及时发现及解决问题。
任务执行完毕后,保存执行结果至数据库,通过任务名称或时间范围查询业务系统的任务执行结果,包含请求状态码、返回值。方便业务系统(被调用方),查询历史任务请求结果数据。
在本公开的任务执行方法中,日期例外的功能,可以解决假期无人值守时,暂停业务处理或自动执行可能带来的异常。
在本公开的任务执行方法中,配置失败重试功能,可以有效的降低人工介入的成本。
图6是根据一示例性实施例示出的一种电子设备的框图。
下面参照图6来描述根据本公开的这种实施方式的电子设备200。图6显示的电子设备200仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备200以通用计算设备的形式表现。电子设备200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元210执行,使得所述处理单元210执行本说明书上述电子处方流转处理方法部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元210可以执行如图2中所示的步骤。
所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(ROM)2203。
所述存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备200也可以与一个或多个外部设备300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备200交互的设备通信,和/或与使得该电子设备200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口250进行。并且,电子设备200还可以通过网络适配器260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器260可以通过总线230与电子设备200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本公开实施方式的上述方法。
图7示意性示出本公开示例性实施例中一种计算机可读存储介质示意图。
参考图7所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品400,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该计算机可读介质实现如下功能:根据用户指令生成调度任务,所述调度任务包括定时任务;将所述调度任务储存至指定数据库;以及服务集群由所述指定数据库读取所述调度任务并执行,所述服务集群为任务日程管理系统集群。
本领域技术人员可以理解上述各模块可以按照实施例的描述分布于装置中,也可以进行相应变化唯一不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施例的方法。
以上具体地示出和描述了本公开的示例性实施例。应可理解的是,本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
此外,本说明书说明书附图所示出的结构、比例、大小等,均仅用以配合说明书所公开的内容,以供本领域技术人员了解与阅读,并非用以限定本公开可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本公开所能产生的技术效果及所能实现的目的下,均应仍落在本公开所公开的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“第一”、“第二”及“一”等的用语,也仅为便于叙述的明了,而非用以限定本公开可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当也视为本公开可实施的范畴。

Claims (12)

1.一种任务执行方法,其特征在于,包括:
根据用户指令生成调度任务,所述调度任务包括定时任务;
将所述调度任务储存至指定数据库;以及
服务集群由所述指定数据库读取所述调度任务并执行,所述服务集群为任务日程管理系统集群;
所述服务集群基于数据库引擎与高可用策略协调多个实例;
所述服务集群将所述调度任务的执行结果储存至所述指定数据库,其中,所述执行结果包括所述调度任务的请求参数和响应结果。
2.如权利要求1所述的方法,其特征在于,根据用户指令生成调度任务包括:
通过预定网页接收用户指令并生成调度任务。
3.如权利要求1所述的方法,其特征在于,根据用户指令生成调度任务还包括:
根据用户指令动态配置已有的调度任务。
4.如权利要求2所述的方法,其特征在于,所述预定网页通过分层工作框架与持久层框架框架建立。
5.如权利要求1所述的方法,其特征在于,服务集群由所述指定数据库读取所述调度任务并执行包括:
所述服务集群由所述指定数据库读取所述调度任务;以及
所述服务集群根据计划任务表达式定时和/或延时执行所述调度任务。
6.如权利要求1所述的方法,其特征在于,服务集群由所述指定数据库读取所述调度任务并执行,所述服务集群为任务日程管理系统集群包括:
通过竞争机制,确定所述服务集群中的多个实例之一做为执行实例;
通过所述执行实例执行所述调度任务。
7.如权利要求6所述的方法,其特征在于,通过所述执行实例执行所述调度任务包括:
所述执行实例通过所述调度任务中的任务参数确定任务请求地址;以及
所述执行实例通过连接池请求相关接口。
8.如权利要求7所述的方法,其特征在于,所述执行实例通过连接池请求相关接口包括:
所述执行实例通过HttpClient连接池请求相关接口。
9.一种任务执行装置,其特征在于,包括:
指令模块,用于根据用户指令生成调度任务,所述调度任务包括定时任务;
储存模块,用于将所述调度任务储存至指定数据库;以及
执行模块,用于服务集群由所述指定数据库读取所述调度任务并执行,所述服务集群为任务日程管理系统集群;
所述服务集群基于数据库引擎与高可用策略协调多个实例;
所述服务集群将所述调度任务的执行结果储存至所述指定数据库,其中,所述执行结果包括所述调度任务的请求参数和响应结果。
10.一种任务执行系统,其特征在于,包括:
客户端,用于根据用户指令生成调度任务,所述调度任务包括定时任务;
数据库端用于储存所述调度任务;以及
服务集群用于由所述数据库端读取所述调度任务并执行,所述服务集群为任务日程管理系统集群;
所述服务集群基于数据库引擎与高可用策略协调多个实例;
所述服务集群将所述调度任务的执行结果储存至所述指定数据库,其中,所述执行结果包括所述调度任务的请求参数和响应结果。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
CN201810404983.3A 2018-04-28 2018-04-28 任务执行方法、装置、系统、电子设备及计算机可读介质 Active CN108647083B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810404983.3A CN108647083B (zh) 2018-04-28 2018-04-28 任务执行方法、装置、系统、电子设备及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810404983.3A CN108647083B (zh) 2018-04-28 2018-04-28 任务执行方法、装置、系统、电子设备及计算机可读介质

Publications (2)

Publication Number Publication Date
CN108647083A CN108647083A (zh) 2018-10-12
CN108647083B true CN108647083B (zh) 2020-03-31

Family

ID=63748374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810404983.3A Active CN108647083B (zh) 2018-04-28 2018-04-28 任务执行方法、装置、系统、电子设备及计算机可读介质

Country Status (1)

Country Link
CN (1) CN108647083B (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109584060A (zh) * 2018-10-15 2019-04-05 平安科技(深圳)有限公司 定时交易任务的处理方法、装置及计算机设备及存储介质
CN109597681B (zh) * 2018-10-22 2024-05-07 平安科技(深圳)有限公司 云端控制方法、装置、计算机设备及存储介质
CN109598603B (zh) * 2018-10-26 2023-07-25 创新先进技术有限公司 一种开户任务处理方法及开户服务系统
CN109840143A (zh) * 2018-12-21 2019-06-04 北京城市网邻信息技术有限公司 一种功能任务的控制方法、装置、电子设备及存储介质
CN110083455B (zh) * 2019-05-07 2022-07-12 网易(杭州)网络有限公司 图计算处理方法、装置、介质及电子设备
CN110399207A (zh) * 2019-06-29 2019-11-01 苏州浪潮智能科技有限公司 分布式存储系统中定时任务处理方法、系统及存储介质
CN110351366B (zh) * 2019-07-12 2022-07-01 西安雷迪信息技术有限公司 一种互联网应用的服务调度系统和方法及存储介质
CN111782351A (zh) * 2019-07-18 2020-10-16 北京京东尚科信息技术有限公司 一种分布式任务调度的方法和装置
CN110389961A (zh) * 2019-07-26 2019-10-29 苏州浪潮智能科技有限公司 定时任务处理方法、装置、设备及计算机可读存储介质
CN112307114A (zh) * 2019-07-31 2021-02-02 北京中关村科金技术有限公司 一种数据交换方法、装置以及存储介质
CN110471752A (zh) * 2019-08-07 2019-11-19 网易(杭州)网络有限公司 任务执行方法、装置、电子设备以及计算机可读存储介质
CN110780937B (zh) * 2019-09-16 2023-12-08 腾讯大地通途(北京)科技有限公司 任务发布方法、装置、计算机可读存储介质及设备
CN111078525A (zh) * 2019-10-11 2020-04-28 中国平安财产保险股份有限公司 调节系统运行时间的方法、装置、计算机设备及存储介质
CN110764881A (zh) * 2019-10-23 2020-02-07 中国工商银行股份有限公司 分布式系统后台重试方法及装置
CN110928732A (zh) * 2019-11-05 2020-03-27 北京字节跳动网络技术有限公司 服务器集群性能采样分析方法、装置及电子设备
CN110851516B (zh) * 2019-11-07 2022-04-19 中国银行股份有限公司 主机运控系统及方法
CN110941502B (zh) * 2019-12-16 2023-06-23 广州市百果园信息技术有限公司 消息处理方法、装置、存储介质及设备
CN111104212A (zh) * 2019-12-18 2020-05-05 秒针信息技术有限公司 一种调度任务执行方法、装置、电子设备及存储介质
CN111190732A (zh) * 2019-12-27 2020-05-22 成都欧珀通信科技有限公司 定时任务处理系统及方法、存储介质和电子设备
CN111400086B (zh) * 2020-02-18 2022-05-06 上海交通大学 虚拟机容错的实现方法和系统
CN111367554A (zh) * 2020-03-05 2020-07-03 中国邮政储蓄银行股份有限公司 任务的处理系统和方法
CN111679898A (zh) * 2020-06-08 2020-09-18 中国银行股份有限公司 定时任务的调度方法、装置、计算机设备及可读存储介质
CN112231177A (zh) * 2020-10-19 2021-01-15 北京金山云网络技术有限公司 任务执行方法、装置和电子设备
CN112416563B (zh) * 2020-12-28 2021-12-17 中科院计算技术研究所大数据研究院 一种分布式动态定时任务调度方法
CN112817720A (zh) * 2021-01-30 2021-05-18 北京奇保信安科技有限公司 一种可视化工作流调度方法、装置及电子设备
CN113282398A (zh) * 2021-06-29 2021-08-20 杭州洋驼网络科技有限公司 轻量级任务触发系统及业务生态系统
CN114696888B (zh) * 2022-04-25 2022-10-21 北京航天驭星科技有限公司 卫星测运控系统的端口任务处理方法、装置、设备及介质
CN116339717B (zh) * 2023-05-30 2023-08-25 北京拓普丰联信息科技股份有限公司 一种数据执行方法、装置、设备和介质
CN117193990B (zh) * 2023-11-08 2024-02-23 建信金融科技有限责任公司 http接口的调度管理方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126332A (zh) * 2016-06-27 2016-11-16 北京京东尚科信息技术有限公司 分布式定时任务调度系统及方法
CN107704315A (zh) * 2017-03-31 2018-02-16 广东网金控股股份有限公司 一种基于Quartz的定时任务调度服务框架及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126332A (zh) * 2016-06-27 2016-11-16 北京京东尚科信息技术有限公司 分布式定时任务调度系统及方法
CN107704315A (zh) * 2017-03-31 2018-02-16 广东网金控股股份有限公司 一种基于Quartz的定时任务调度服务框架及方法

Also Published As

Publication number Publication date
CN108647083A (zh) 2018-10-12

Similar Documents

Publication Publication Date Title
CN108647083B (zh) 任务执行方法、装置、系统、电子设备及计算机可读介质
US20210117895A1 (en) Systems and Methods for Cross-Platform Scheduling and Workload Automation
US8762929B2 (en) System and method for exclusion of inconsistent objects from lifecycle management processes
US9003356B2 (en) Business process change controller
US10613853B2 (en) Updating software components through online stores
EP3543866A1 (en) Resource-efficient record processing in unified automation platforms for robotic process automation
EP3617884B1 (en) Adapter extension for inbound messages from robotic automation platforms to unified automation platform
CA3032515C (en) Flow engine for building automated flows within a cloud based developmental platform
US20140123114A1 (en) Framework for integration and execution standardization (fiesta)
EP3510750B1 (en) System for enabling cloud access to legacy application
KR20210129584A (ko) 동적으로 할당된 클라우드 작업자 관리 시스템 및 그의 방법
US20160283285A1 (en) Synchronizing control and output of computing tasks
CN117076096A (zh) 任务流程的执行方法、装置、计算机可读介质及电子设备
CN113837870B (zh) 金融风险数据审批方法及装置
US11656932B2 (en) Predictive batch job failure detection and remediation
US8554798B2 (en) Asynchronous state engine with plug-ins for flexible application development
US10397072B2 (en) Systems, devices, and methods for incident management interactions
CN112988705B (zh) 一种可用于企业级生产的数据中台构建方法
CN104484226A (zh) MapReduce作业处理系统、服务器及处理方法
CN114244894A (zh) 停复机业务处理方法、系统、计算机存储介质和电子设备
US10853131B2 (en) Dataflow life cycles
CN112241332A (zh) 一种接口补偿的方法和装置
CN109933459A (zh) 一种多任务的执行方法和装置
WO2018134680A1 (en) System and method for integrating disparate computer systems and applications
CN109587224B (zh) 数据处理方法、装置、电子设备及计算机可读介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Room 221, 2nd floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone, 100176

Applicant after: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

Address before: Room 221, 2nd floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone, 100176

Applicant before: BEIJING JINGDONG FINANCIAL TECHNOLOGY HOLDING Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Patentee after: Jingdong Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Patentee before: Jingdong Digital Technology Holding Co.,Ltd.

CP01 Change in the name or title of a patent holder
CP03 Change of name, title or address

Address after: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Daxing District, Beijing, 100176

Patentee after: Jingdong Digital Technology Holding Co.,Ltd.

Address before: Room 221, 2 / F, block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone, 100176

Patentee before: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

CP03 Change of name, title or address