CN117056052A - 一种定时任务处理方法、装置、设备及其存储介质 - Google Patents

一种定时任务处理方法、装置、设备及其存储介质 Download PDF

Info

Publication number
CN117056052A
CN117056052A CN202311075547.3A CN202311075547A CN117056052A CN 117056052 A CN117056052 A CN 117056052A CN 202311075547 A CN202311075547 A CN 202311075547A CN 117056052 A CN117056052 A CN 117056052A
Authority
CN
China
Prior art keywords
task
service
processed
timing
component
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.)
Pending
Application number
CN202311075547.3A
Other languages
English (en)
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.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN202311075547.3A priority Critical patent/CN117056052A/zh
Publication of CN117056052A publication Critical patent/CN117056052A/zh
Pending legal-status Critical Current

Links

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
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例属于金融科技技术领域,应用于金融业务系统任务定时处理场景中,涉及一种定时任务处理方法、装置、设备及其存储介质,包括结合ETCD分布式存储系统能进行配置存储和任务发现、服务注册,创建基于ETCD的服务支持组件,又结合基于GRPC双向流式通信方式能够进行服务通信协议定义,再引入任务存储器、任务调度器和任务执行器构建基于GRPC的任务调度组件,综合所述服务支持组件和任务调度组件,构建定时任务框架,相较quartz框架,该定时任务框架的代码类只有100多个,更加轻量级,将所述定时任务框架以jar包形式封装,也便于重复使用,能够将其应用到不同金融业务系统,且更轻量级,减少金融业务系统服务器资源消耗。

Description

一种定时任务处理方法、装置、设备及其存储介质
技术领域
本申请涉及金融科技技术领域,应用于金融业务系统任务定时处理场景中,尤其涉及一种定时任务处理方法、装置、设备及其存储介质。
背景技术
随着金融行业的快速发展,金融公司涉及到的业务范围越来越宽泛,造成了任务处理量较大,常常采用定时任务方式,对系统业务进行维护处理,目前定时任务普遍使用到的quartz框架,虽然功能强大,但是quartz不是一个轻量级框架,涉及三百多个类,存在一定学习使用成本,quartz提供的动态关停定时任务以及修改定时任务的表达式操作方法比较复杂,通常为完成一个业务需求开发者需要额外开发配套辅助功能,quartz定时任务是硬代码程序,必须在代码中提前实现job的excute方法。
因此,在目前金融业务场景中,进行定时任务处理时,引入的定时任务框架所涉及代码类较多,缺乏轻量级框架,服务器资源消耗过多的问题。
发明内容
本申请实施例的目的在于提出一种定时任务处理方法、装置、设备及其存储介质,以解决现有技术在进行定时任务处理时,引入的定时任务框架所涉及代码类较多,缺乏轻量级框架,服务器资源消耗过多的问题。
为了解决上述技术问题,本申请实施例提供定时任务处理方法,采用了如下所述的技术方案:
一种定时任务处理方法,包括下述步骤:
通过预设的调试组件,获取定时任务执行时的定时配置参数,其中,所述定时配置参数指对原始定时配置参数进行新增、删除或者修改操作后的定时配置参数;
基于预设的服务支持组件,进行任务发现和任务服务接口注册,其中,所述预设的服务支持组件为基于ETCD的服务支持组件,所述任务服务接口为目标金融业务对应工作流中待处理任务分别对应的任务服务接口;
根据预设的任务调度组件、所述服务支持组件、所述定时配置参数和所述任务服务接口,对所述目标金融业务对应工作流中待处理任务进行定时处理,其中,所述预设的任务调度组件为基于GRPC的任务调度组件。
进一步的,在执行所述通过预设的调试组件,获取定时任务执行时的定时配置参数的步骤之前,所述方法还包括:
根据所述基于ETCD的服务支持组件和所述基于GRPC的任务调度组件,构建定时任务框架;
所述通过预设的调试组件,获取定时任务执行时的定时配置参数的步骤,具体包括:
通过所述调试组件提供的调试界面,获取由调试终端传输的定时配置参数,并将所述定时配置参数缓存到所述定时任务框架内,其中,所述定时任务框架中基于ETCD的服务支持组件具备数据缓存功能,所述调试组件为通过Spring Boot框架所创建的调试组件,所述定时配置参数包括默认的计时时区、上一任务完成到下一任务开始的时间间隔、上一任务开始到下一任务开始的时间间隔、任务执行中允许的延迟时间、时间单位。
进一步的,在执行所述基于预设的服务支持组件,进行任务发现和任务服务接口注册的步骤之前,所述方法还包括:
将所述定时任务框架引入到目标金融业务系统中,并进行初始化;
所述基于预设的服务支持组件,进行任务发现和任务服务接口注册的步骤,具体包括:
根据所述服务支持组件,对所述目标金融业务对应工作流中待处理任务进行任务发现,获取任务发现结果,其中,所述基于ETCD的服务支持组件具备任务发现、服务注册功能;
基于所述服务支持组件和所述任务发现结果,对所述待处理任务分别进行服务注册,获取服务注册结果;
根据所述服务注册结果,获取所述待处理任务分别对应的服务接口调用地址,并将所述服务接口调用地址缓存到所述服务支持组件内。
进一步的,所述根据预设的任务调度组件、所述服务支持组件、所述定时配置参数和所述任务服务接口,对所述目标金融业务对应工作流中待处理任务进行定时处理的步骤,具体包括:
从所述服务支持组件内获取缓存的定时配置参数和服务接口调用地址,并通过所述任务调度组件为所有服务接口设置通信协议;
获取所述任务调度组件中任务存储器内预先缓存的任务调度计划,其中,所述任务调度计划中包括所述工作流中所有待处理任务的执行先后顺序;
根据所述任务调度计划、所述定时配置参数内上一任务完成到下一任务开始的时间间隔、上一任务开始到下一任务开始的时间间隔、时间单位以及当前系统时间,采用所述任务调度组件中任务调度器对所述目标金融业务对应工作流中待处理任务进行调度处理,设置所述工作流中每一步待处理任务的执行时间;
根据所述任务调度组件中的任务执行器、所述服务接口调用地址、所述工作流中每一步待处理任务的执行时间和所述通信协议,从相应的任务服务接口中调用并执行所述工作流中每一步待处理任务。
进一步的,在执行所述设置所述工作流中每一步待处理任务的执行时间的步骤之后,所述方法还包括:
将所述工作流中每一步待处理任务的执行时间缓存到所述任务存储器中,并设置所有执行时间分别对应的查询标识;
根据预设的时间间隔和所述查询标识,获取所述工作流中当前待处理任务的执行时间;
所述根据所述任务调度组件中的任务执行器、所述服务接口调用地址、所述工作流中每一步待处理任务的执行时间和所述通信协议,从相应的任务服务接口中调用并执行所述工作流中每一步待处理任务的步骤,具体包括:
通过对比,识别所述当前待处理任务的执行时间与当前系统时间的关系;
若所述当前待处理任务的执行时间未超过当前系统时间,则所述当前待处理任务还不满足执行条件,暂时不执行所述当前待处理任务;
若所述当前待处理任务的执行时间等于或者超过当前系统时间,则所述当前待处理任务已满足执行条件,根据所述当前待处理任务对应的服务接口调用地址和所述通信协议,调用所述当前待处理任务,并根据所述任务执行器执行所述当前待处理任务。
进一步的,在执行所述根据预设的任务调度组件、所述服务支持组件、所述定时配置参数和所述任务服务接口,对所述目标金融业务对应工作流中待处理任务进行定时处理的步骤之后,所述方法还包括:
在所述任务调度组件内,采用异步执行方式,执行预先创建的监测线程;
根据所述监测线程,采用基于GRPC双向流式通信方式对进行定时处理的所述工作流中所有待处理任务对应的执行线程进行通信监测,并采用轮询方式获取所述执行线程的执行状态;
通过所述监测线程,将所述执行线程的执行状态返回到目标监测端。
为了解决上述技术问题,本申请实施例还提供定时任务处理装置,采用了如下所述的技术方案:
一种定时任务处理装置,包括:
定时配置参数获取模块,用于通过预设的调试组件,获取定时任务执行时的定时配置参数,其中,所述定时配置参数指对原始定时配置参数进行新增、删除或者修改操作后的定时配置参数;
任务发现与服务注册模块,用于基于预设的服务支持组件,进行任务发现和任务服务接口注册,其中,所述预设的服务支持组件为基于ETCD的服务支持组件,所述任务服务接口为目标金融业务对应工作流中待处理任务分别对应的任务服务接口;
定时任务处理模块,用于根据预设的任务调度组件、所述服务支持组件、所述定时配置参数和所述任务服务接口,对所述目标金融业务对应工作流中待处理任务进行定时处理,其中,所述预设的任务调度组件为基于GRPC的任务调度组件。
进一步的,还包括:
由基于ETCD的服务支持组件和基于GRPC的任务调度组件构成的定时任务创建模块,
其中,所述定时任务创建模块中基于ETCD的服务支持组件,用于进行任务发现和任务服务接口注册,还用于缓存所述定时配置参数和所述服务接口调用地址;
所述定时任务创建模块中基于GRPC的任务调度组件,用于缓存任务调度计划,还用于为所有服务接口设置通信协议,还用于对所述目标金融业务对应工作流中待处理任务进行调度处理,还用于创建所述执行线程和所述监测线程,还用于定时执行所述待处理任务。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述所述的定时任务处理方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上述所述的定时任务处理方法的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:
本申请实施例所述定时任务处理方法,通过预设的调试组件,获取定时任务执行时的定时配置参数;基于预设的服务支持组件,进行任务发现和任务服务接口注册,其中,所述预设的服务支持组件为基于ETCD的服务支持组件,所述任务服务接口为目标金融业务对应工作流中待处理任务分别对应的任务服务接口;根据预设的任务调度组件、所述服务支持组件、所述定时配置参数和所述任务服务接口,对所述目标金融业务对应工作流中待处理任务进行定时处理,其中,所述预设的任务调度组件为基于GRPC的任务调度组件,结合ETCD分布式存储系统能够进行配置存储和任务发现、服务注册,创建出基于ETCD的服务支持组件,又结合基于GRPC双向流式通信方式能够进行服务通信协议定义,再引入任务存储器、任务调度器和任务执行器构建出基于GRPC的任务调度组件,综合所述基于ETCD的服务支持组件和基于GRPC的任务调度组件,构建出定时任务框架,相较于quartz定时任务框架,该定时任务框架的代码类只有100多个,更加轻量级,将所述基于GRPC+ETCD的定时任务框架以jar包形式封装,也便于重复使用,能够将其应用到不同的金融业务系统,且更轻量级,减少金融业务系统服务器资源消耗。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的定时任务处理方法的一个实施例的流程图;
图3是图2所示步骤203的一个具体实施例的流程图;
图4是根据本申请的定时任务处理装置的一个实施例的结构示意图;
图5是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving PictureExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的定时任务处理方法一般由服务器/终端设备执行,相应地,定时任务处理装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的定时任务处理方法的一个实施例的流程图。所述的定时任务处理方法,包括以下步骤:
步骤201,通过预设的调试组件,获取定时任务执行时的定时配置参数,其中,所述定时配置参数指对原始定时配置参数进行新增、删除或者修改操作后的定时配置参数。
本实施例中,在执行所述通过预设的调试组件,获取定时任务执行时的定时配置参数的步骤之前,所述方法还包括:根据所述基于ETCD的服务支持组件和所述基于GRPC的任务调度组件,构建定时任务框架。
具体的,所述基于ETCD的服务支持组件,由基于go语言的ETCD分布式存储系统构成,其中,所述ETCD分布式存储系统能够进行配置存储和任务发现、服务注册,因此,可以将所述ETCD分布式存储系统作为服务支持组件,存储定时任务相关的定时配置参数、待处理任务发现和服务注册,而GRPC用于进行通信服务定义,GRPC通信协议支持基于标准的HTTP/2设计,支持双向流,基于GRPC的任务调度组件,由于GRPC双向流式通信方式支持结合客户端流式RPC和服务端流式RPC,可以传入多个对象,返回多个响应对象,在预先构建了任务存储器、任务调度器和任务执行器的情况下,可以采用GRPC双向流式通信方式,在进行定时任务执行时,异步引入监测线程,便于对定时任务处理结果进行监测。所述ETCD分布式存储系统能够进行配置存储和任务发现、服务注册,所述基于GRPC的任务调度组件能够进行服务通信协议定义,同时再引入任务存储器、任务调度器和任务执行器,创建出轻量级的定时任务框架,减少金融业务系统服务器资源的消耗。
本实施例中,所述通过预设的调试组件,获取定时任务执行时的定时配置参数的步骤,具体包括:通过所述调试组件提供的调试界面,获取由调试终端传输的定时配置参数,并将所述定时配置参数缓存到所述定时任务框架内,其中,所述定时任务框架中基于ETCD的服务支持组件具备数据缓存功能,所述调试组件为通过Spring Boot框架所创建的调试组件,所述定时配置参数包括默认的计时时区、上一任务完成到下一任务开始的时间间隔、上一任务开始到下一任务开始的时间间隔、任务执行中允许的延迟时间、时间单位。
步骤202,基于预设的服务支持组件,进行任务发现和任务服务接口注册,其中,所述预设的服务支持组件为基于ETCD的服务支持组件,所述任务服务接口为目标金融业务对应工作流中待处理任务分别对应的任务服务接口。
本实施例中,在执行所述基于预设的服务支持组件,进行任务发现和任务服务接口注册的步骤之前,所述方法还包括:将所述定时任务框架引入到目标金融业务系统中,并进行初始化。
具体的,所述目标金融业务系统包括保单创建业务系统、理赔计算业务系统、投保审核业务系统等。
本实施例中,所述基于预设的服务支持组件,进行任务发现和任务服务接口注册的步骤,具体包括:根据所述服务支持组件,对所述目标金融业务对应工作流中待处理任务进行任务发现,获取任务发现结果,其中,所述基于ETCD的服务支持组件具备任务发现、服务注册功能;基于所述服务支持组件和所述任务发现结果,对所述待处理任务分别进行服务注册,获取服务注册结果;根据所述服务注册结果,获取所述待处理任务分别对应的服务接口调用地址,并将所述服务接口调用地址缓存到所述服务支持组件内。
由于所述基于ETCD的服务支持组件具备任务发现、服务注册功能,可以根据所述基于ETCD的服务支持组件进行任务发现、服务注册,这样,服务端只需关注暴露定时任务接口供客户端进行调用。
步骤203,根据预设的任务调度组件、所述服务支持组件、所述定时配置参数和所述任务服务接口,对所述目标金融业务对应工作流中待处理任务进行定时处理,其中,所述预设的任务调度组件为基于GRPC的任务调度组件。
继续参考图3,图3是图2所示步骤203的一个具体实施例的流程图,包括:
步骤301,从所述服务支持组件内获取缓存的定时配置参数和服务接口调用地址,并通过所述任务调度组件为所有服务接口设置通信协议;
步骤302,获取所述任务调度组件中任务存储器内预先缓存的任务调度计划,其中,所述任务调度计划中包括所述工作流中所有待处理任务的执行先后顺序;
步骤303,根据所述任务调度计划、所述定时配置参数内上一任务完成到下一任务开始的时间间隔、上一任务开始到下一任务开始的时间间隔、时间单位以及当前系统时间,采用所述任务调度组件中任务调度器对所述目标金融业务对应工作流中待处理任务进行调度处理,设置所述工作流中每一步待处理任务的执行时间;
本实施例中,在执行所述设置所述工作流中每一步待处理任务的执行时间的步骤之后,所述方法还包括:将所述工作流中每一步待处理任务的执行时间缓存到所述任务存储器中,并设置所有执行时间分别对应的查询标识;根据预设的时间间隔和所述查询标识,获取所述工作流中当前待处理任务的执行时间。
步骤304,根据所述任务调度组件中的任务执行器、所述服务接口调用地址、所述工作流中每一步待处理任务的执行时间和所述通信协议,从相应的任务服务接口中调用并执行所述工作流中每一步待处理任务。
所述根据所述任务调度组件中的任务执行器、所述服务接口调用地址、所述工作流中每一步待处理任务的执行时间和所述通信协议,从相应的任务服务接口中调用并执行所述工作流中每一步待处理任务的步骤,具体包括:通过对比,识别所述当前待处理任务的执行时间与当前系统时间的关系;若所述当前待处理任务的执行时间未超过当前系统时间,则所述当前待处理任务还不满足执行条件,暂时不执行所述当前待处理任务;若所述当前待处理任务的执行时间等于或者超过当前系统时间,则所述当前待处理任务已满足执行条件,根据所述当前待处理任务对应的服务接口调用地址和所述通信协议,调用所述当前待处理任务,并根据所述任务执行器执行所述当前待处理任务。
本实施例中,在执行所述根据预设的任务调度组件、所述服务支持组件、所述定时配置参数和所述任务服务接口,对所述目标金融业务对应工作流中待处理任务进行定时处理的步骤之后,所述方法还包括:在所述任务调度组件内,采用异步执行方式,执行预先创建的监测线程;根据所述监测线程,采用基于GRPC双向流式通信方式对进行定时处理的所述工作流中所有待处理任务对应的执行线程进行通信监测,并采用轮询方式获取所述执行线程的执行状态;通过所述监测线程,将所述执行线程的执行状态返回到目标监测端。
本实施例,所述ETCD分布式存储系统能够进行配置存储和任务发现、服务注册,所述基于GRPC双向流式通信方式能够进行服务通信协议定义,同时再引入任务存储器、任务调度器和任务执行器构建出基于GRPC的任务调度组件,再根据创建出轻量级的定时任务框架,减少金融业务系统服务器资源的消耗。相较于quartz定时任务框架,该定时任务框架的代码类只有100多个,更加轻量级,将所述基于GRPC+ETCD的定时任务框架以jar包形式封装,也便于重复使用,能够将其应用到不同的金融业务系统,且更轻量级,减少金融业务系统服务器资源消耗。
本申请通过预设的调试组件,获取定时任务执行时的定时配置参数;基于预设的服务支持组件,进行任务发现和任务服务接口注册,其中,所述预设的服务支持组件为基于ETCD的服务支持组件,所述任务服务接口为目标金融业务对应工作流中待处理任务分别对应的任务服务接口;根据预设的任务调度组件、所述服务支持组件、所述定时配置参数和所述任务服务接口,对所述目标金融业务对应工作流中待处理任务进行定时处理,其中,所述预设的任务调度组件为基于GRPC的任务调度组件,结合ETCD分布式存储系统能够进行配置存储和任务发现、服务注册,创建出基于ETCD的服务支持组件,又结合基于GRPC双向流式通信方式能够进行服务通信协议定义,再引入任务存储器、任务调度器和任务执行器构建出基于GRPC的任务调度组件,综合所述基于ETCD的服务支持组件和基于GRPC的任务调度组件,构建出定时任务框架,相较于quartz定时任务框架,该定时任务框架的代码类只有100多个,更加轻量级,将所述基于GRPC+ETCD的定时任务框架以jar包形式封装,也便于重复使用,能够将其应用到不同的金融业务系统,且更轻量级,减少金融业务系统服务器资源消耗。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例中,通过结合ETCD分布式存储系统能进行配置存储和任务发现、服务注册,创建基于ETCD的服务支持组件,又结合基于GRPC双向流式通信方式能够进行服务通信协议定义,再引入任务存储器、任务调度器和任务执行器构建基于GRPC的任务调度组件,综合所述服务支持组件和任务调度组件,构建定时任务框架,相较quartz框架,该定时任务框架的代码类只有100多个,更加轻量级,将所述定时任务框架以jar包形式封装,也便于重复使用,能够将其应用到不同金融业务系统,且更轻量级,减少金融业务系统服务器资源消耗。
进一步参考图4,作为对上述图2所示方法的实现,本申请提供了定时任务处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例所述的定时任务处理装置400包括:定时配置参数获取模块401、任务发现与服务注册模块402和定时任务处理模块403。
其中:
定时配置参数获取模块401,用于通过预设的调试组件,获取定时任务执行时的定时配置参数,其中,所述定时配置参数指对原始定时配置参数进行新增、删除或者修改操作后的定时配置参数;
任务发现与服务注册模块402,用于基于预设的服务支持组件,进行任务发现和任务服务接口注册,其中,所述预设的服务支持组件为基于ETCD的服务支持组件,所述任务服务接口为目标金融业务对应工作流中待处理任务分别对应的任务服务接口;
定时任务处理模块403,用于根据预设的任务调度组件、所述服务支持组件、所述定时配置参数和所述任务服务接口,对所述目标金融业务对应工作流中待处理任务进行定时处理,其中,所述预设的任务调度组件为基于GRPC的任务调度组件。
在本申请的一些具体实施方式中,所述的定时任务处理装置400还包括:由基于ETCD的服务支持组件和基于GRPC的任务调度组件构成的定时任务创建模块,其中,所述定时任务创建模块中基于ETCD的服务支持组件,用于进行任务发现和任务服务接口注册,还用于缓存所述定时配置参数和所述服务接口调用地址;所述定时任务创建模块中基于GRPC的任务调度组件,用于缓存任务调度计划,还用于为所有服务接口设置通信协议,还用于对所述目标金融业务对应工作流中待处理任务进行调度处理,还用于创建所述执行线程和所述监测线程,还用于定时执行所述待处理任务。
本申请预设的调试组件,获取定时任务执行时的定时配置参数;基于预设的服务支持组件,进行任务发现和任务服务接口注册,其中,所述预设的服务支持组件为基于ETCD的服务支持组件,所述任务服务接口为目标金融业务对应工作流中待处理任务分别对应的任务服务接口;根据预设的任务调度组件、所述服务支持组件、所述定时配置参数和所述任务服务接口,对所述目标金融业务对应工作流中待处理任务进行定时处理,其中,所述预设的任务调度组件为基于GRPC的任务调度组件,结合ETCD分布式存储系统能够进行配置存储和任务发现、服务注册,创建出基于ETCD的服务支持组件,又结合基于GRPC双向流式通信方式能够进行服务通信协议定义,再引入任务存储器、任务调度器和任务执行器构建出基于GRPC的任务调度组件,综合所述基于ETCD的服务支持组件和基于GRPC的任务调度组件,构建出定时任务框架,相较于quartz定时任务框架,该定时任务框架的代码类只有100多个,更加轻量级,将所述基于GRPC+ETCD的定时任务框架以jar包形式封装,也便于重复使用,能够将其应用到不同的金融业务系统,且更轻量级,减少金融业务系统服务器资源消耗。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图5,图5为本实施例计算机设备基本结构框图。
所述计算机设备5包括通过系统总线相互通信连接存储器5a、处理器5b、网络接口5c。需要指出的是,图中仅示出了具有组件5a-5c的计算机设备5,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field -Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器5a至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器5a可以是所述计算机设备5的内部存储单元,例如该计算机设备5的硬盘或内存。在另一些实施例中,所述存储器5a也可以是所述计算机设备5的外部存储设备,例如该计算机设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器5a还可以既包括所述计算机设备5的内部存储单元也包括其外部存储设备。本实施例中,所述存储器5a通常用于存储安装于所述计算机设备5的操作系统和各类应用软件,例如一种定时任务处理方法的计算机可读指令等。此外,所述存储器5a还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器5b在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器5b通常用于控制所述计算机设备5的总体操作。本实施例中,所述处理器5b用于运行所述存储器5a中存储的计算机可读指令或者处理数据,例如运行所述定时任务处理方法的计算机可读指令。
所述网络接口5c可包括无线网络接口或有线网络接口,该网络接口5c通常用于在所述计算机设备5与其他电子设备之间建立通信连接。
本实施例提出的计算机设备,属于金融科技技术领域,应用于金融业务系统任务定时处理场景中。本申请通过预设的调试组件,获取定时任务执行时的定时配置参数;基于预设的服务支持组件,进行任务发现和任务服务接口注册,其中,所述预设的服务支持组件为基于ETCD的服务支持组件,所述任务服务接口为目标金融业务对应工作流中待处理任务分别对应的任务服务接口;根据预设的任务调度组件、所述服务支持组件、所述定时配置参数和所述任务服务接口,对所述目标金融业务对应工作流中待处理任务进行定时处理,其中,所述预设的任务调度组件为基于GRPC的任务调度组件,结合ETCD分布式存储系统能够进行配置存储和任务发现、服务注册,创建出基于ETCD的服务支持组件,又结合基于GRPC双向流式通信方式能够进行服务通信协议定义,再引入任务存储器、任务调度器和任务执行器构建出基于GRPC的任务调度组件,综合所述基于ETCD的服务支持组件和基于GRPC的任务调度组件,构建出定时任务框架,相较于quartz定时任务框架,该定时任务框架的代码类只有100多个,更加轻量级,将所述基于GRPC+ETCD的定时任务框架以jar包形式封装,也便于重复使用,能够将其应用到不同的金融业务系统,且更轻量级,减少金融业务系统服务器资源消耗。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被处理器执行,以使所述处理器执行如上述的定时任务处理方法的步骤。
本实施例提出的计算机可读存储介质,属于金融科技技术领域,应用于金融业务系统任务定时处理场景中。本申请通过预设的调试组件,获取定时任务执行时的定时配置参数;基于预设的服务支持组件,进行任务发现和任务服务接口注册,其中,所述预设的服务支持组件为基于ETCD的服务支持组件,所述任务服务接口为目标金融业务对应工作流中待处理任务分别对应的任务服务接口;根据预设的任务调度组件、所述服务支持组件、所述定时配置参数和所述任务服务接口,对所述目标金融业务对应工作流中待处理任务进行定时处理,其中,所述预设的任务调度组件为基于GRPC的任务调度组件,结合ETCD分布式存储系统能够进行配置存储和任务发现、服务注册,创建出基于ETCD的服务支持组件,又结合基于GRPC双向流式通信方式能够进行服务通信协议定义,再引入任务存储器、任务调度器和任务执行器构建出基于GRPC的任务调度组件,综合所述基于ETCD的服务支持组件和基于GRPC的任务调度组件,构建出定时任务框架,相较于quartz定时任务框架,该定时任务框架的代码类只有100多个,更加轻量级,将所述基于GRPC+ETCD的定时任务框架以jar包形式封装,也便于重复使用,能够将其应用到不同的金融业务系统,且更轻量级,减少金融业务系统服务器资源消耗。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (10)

1.一种定时任务处理方法,其特征在于,包括下述步骤:
通过预设的调试组件,获取定时任务执行时的定时配置参数,其中,所述定时配置参数指对原始定时配置参数进行新增、删除或者修改操作后的定时配置参数;
基于预设的服务支持组件,进行任务发现和任务服务接口注册,其中,所述预设的服务支持组件为基于ETCD的服务支持组件,所述任务服务接口为目标金融业务对应工作流中待处理任务分别对应的任务服务接口;
根据预设的任务调度组件、所述服务支持组件、所述定时配置参数和所述任务服务接口,对所述目标金融业务对应工作流中待处理任务进行定时处理,其中,所述预设的任务调度组件为基于GRPC的任务调度组件。
2.根据权利要求1所述的定时任务处理方法,其特征在于,在执行所述通过预设的调试组件,获取定时任务执行时的定时配置参数的步骤之前,所述方法还包括:
根据所述基于ETCD的服务支持组件和所述基于GRPC的任务调度组件,构建定时任务框架;
所述通过预设的调试组件,获取定时任务执行时的定时配置参数的步骤,具体包括:
通过所述调试组件提供的调试界面,获取由调试终端传输的定时配置参数,并将所述定时配置参数缓存到所述定时任务框架内,其中,所述定时任务框架中基于ETCD的服务支持组件具备数据缓存功能,所述调试组件为通过Spri ng Boot框架所创建的调试组件,所述定时配置参数包括默认的计时时区、上一任务完成到下一任务开始的时间间隔、上一任务开始到下一任务开始的时间间隔、任务执行中允许的延迟时间、时间单位。
3.根据权利要求2所述的定时任务处理方法,其特征在于,在执行所述基于预设的服务支持组件,进行任务发现和任务服务接口注册的步骤之前,所述方法还包括:
将所述定时任务框架引入到目标金融业务系统中,并进行初始化;
所述基于预设的服务支持组件,进行任务发现和任务服务接口注册的步骤,具体包括:
根据所述服务支持组件,对所述目标金融业务对应工作流中待处理任务进行任务发现,获取任务发现结果,其中,所述基于ETCD的服务支持组件具备任务发现、服务注册功能;
基于所述服务支持组件和所述任务发现结果,对所述待处理任务分别进行服务注册,获取服务注册结果;
根据所述服务注册结果,获取所述待处理任务分别对应的服务接口调用地址,并将所述服务接口调用地址缓存到所述服务支持组件内。
4.根据权利要求3所述的定时任务处理方法,其特征在于,所述根据预设的任务调度组件、所述服务支持组件、所述定时配置参数和所述任务服务接口,对所述目标金融业务对应工作流中待处理任务进行定时处理的步骤,具体包括:
从所述服务支持组件内获取缓存的定时配置参数和服务接口调用地址,并通过所述任务调度组件为所有服务接口设置通信协议;
获取所述任务调度组件中任务存储器内预先缓存的任务调度计划,其中,所述任务调度计划中包括所述工作流中所有待处理任务的执行先后顺序;
根据所述任务调度计划、所述定时配置参数内上一任务完成到下一任务开始的时间间隔、上一任务开始到下一任务开始的时间间隔、时间单位以及当前系统时间,采用所述任务调度组件中任务调度器对所述目标金融业务对应工作流中待处理任务进行调度处理,设置所述工作流中每一步待处理任务的执行时间;
根据所述任务调度组件中的任务执行器、所述服务接口调用地址、所述工作流中每一步待处理任务的执行时间和所述通信协议,从相应的任务服务接口中调用并执行所述工作流中每一步待处理任务。
5.根据权利要求4所述的定时任务处理方法,其特征在于,在执行所述设置所述工作流中每一步待处理任务的执行时间的步骤之后,所述方法还包括:
将所述工作流中每一步待处理任务的执行时间缓存到所述任务存储器中,并设置所有执行时间分别对应的查询标识;
根据预设的时间间隔和所述查询标识,获取所述工作流中当前待处理任务的执行时间;
所述根据所述任务调度组件中的任务执行器、所述服务接口调用地址、所述工作流中每一步待处理任务的执行时间和所述通信协议,从相应的任务服务接口中调用并执行所述工作流中每一步待处理任务的步骤,具体包括:
通过对比,识别所述当前待处理任务的执行时间与当前系统时间的关系;
若所述当前待处理任务的执行时间未超过当前系统时间,则所述当前待处理任务还不满足执行条件,暂时不执行所述当前待处理任务;
若所述当前待处理任务的执行时间等于或者超过当前系统时间,则所述当前待处理任务已满足执行条件,根据所述当前待处理任务对应的服务接口调用地址和所述通信协议,调用所述当前待处理任务,并根据所述任务执行器执行所述当前待处理任务。
6.根据权利要求1或4所述的定时任务处理方法,其特征在于,在执行所述根据预设的任务调度组件、所述服务支持组件、所述定时配置参数和所述任务服务接口,对所述目标金融业务对应工作流中待处理任务进行定时处理的步骤之后,所述方法还包括:
在所述任务调度组件内,采用异步执行方式,执行预先创建的监测线程;
根据所述监测线程,采用基于GRPC双向流式通信方式对进行定时处理的所述工作流中所有待处理任务对应的执行线程进行通信监测,并采用轮询方式获取所述执行线程的执行状态;
通过所述监测线程,将所述执行线程的执行状态返回到目标监测端。
7.一种定时任务处理装置,其特征在于,包括:
定时配置参数获取模块,用于通过预设的调试组件,获取定时任务执行时的定时配置参数,其中,所述定时配置参数指对原始定时配置参数进行新增、删除或者修改操作后的定时配置参数;
任务发现与服务注册模块,用于基于预设的服务支持组件,进行任务发现和任务服务接口注册,其中,所述预设的服务支持组件为基于ETCD的服务支持组件,所述任务服务接口为目标金融业务对应工作流中待处理任务分别对应的任务服务接口;
定时任务处理模块,用于根据预设的任务调度组件、所述服务支持组件、所述定时配置参数和所述任务服务接口,对所述目标金融业务对应工作流中待处理任务进行定时处理,其中,所述预设的任务调度组件为基于GRPC的任务调度组件。
8.根据权利要求7所述的定时任务处理装置,其特征在于,还包括:由基于ETCD的服务支持组件和基于GRPC的任务调度组件构成的定时任务创建模块,
其中,所述定时任务创建模块中基于ETCD的服务支持组件,用于进行任务发现和任务服务接口注册,还用于缓存所述定时配置参数和所述服务接口调用地址;
所述定时任务创建模块中基于GRPC的任务调度组件,用于缓存任务调度计划,还用于为所有服务接口设置通信协议,还用于对所述目标金融业务对应工作流中待处理任务进行调度处理,还用于创建所述执行线程和所述监测线程,还用于定时执行所述待处理任务。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至6中任一项所述的定时任务处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至6中任一项所述的定时任务处理方法的步骤。
CN202311075547.3A 2023-08-24 2023-08-24 一种定时任务处理方法、装置、设备及其存储介质 Pending CN117056052A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311075547.3A CN117056052A (zh) 2023-08-24 2023-08-24 一种定时任务处理方法、装置、设备及其存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311075547.3A CN117056052A (zh) 2023-08-24 2023-08-24 一种定时任务处理方法、装置、设备及其存储介质

Publications (1)

Publication Number Publication Date
CN117056052A true CN117056052A (zh) 2023-11-14

Family

ID=88660582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311075547.3A Pending CN117056052A (zh) 2023-08-24 2023-08-24 一种定时任务处理方法、装置、设备及其存储介质

Country Status (1)

Country Link
CN (1) CN117056052A (zh)

Similar Documents

Publication Publication Date Title
US11210109B2 (en) Method and system for loading resources
CN113254445B (zh) 实时数据存储方法、装置、计算机设备及存储介质
CN112416458A (zh) 基于ReactNative的预加载方法、装置、计算机设备及存储介质
CN115794437A (zh) 微服务的调用方法、装置、计算机设备及存储介质
CN117271121A (zh) 一种任务处理进度控制方法、装置、设备及其存储介质
CN116974927A (zh) 性能自动化测试方法、系统、计算机设备及存储介质
CN116661936A (zh) 页面数据的处理方法、装置、计算机设备及存储介质
CN111475388A (zh) 数据推送的测试方法、装置、计算机设备及存储介质
CN116483425A (zh) 微服务灰度发版方法、装置、设备及其存储介质
CN117056052A (zh) 一种定时任务处理方法、装置、设备及其存储介质
CN115203304A (zh) 一种基于定时轮询的批量数据导入方法及相关设备
CN117827320A (zh) 一种服务执行方法、装置、设备及其存储介质
CN117033249B (zh) 一种测试用例生成方法、装置、计算机设备及存储介质
CN118113376A (zh) 用于控制矿灯的应用程序启动方法及相关设备
CN117290019A (zh) 一种接口调用方法、装置、计算机设备和存储介质
CN117806738A (zh) 基于微链路模型的业务调度方法、装置、设备及存储介质
CN117112383A (zh) 基于人工智能的性能分析方法、装置、设备及存储介质
CN115237725A (zh) 任务智能调度方法、装置、计算机设备及存储介质
CN117828221A (zh) 一种基于埋点技术的页面事件统计方法及其相关设备
CN117853246A (zh) 保单处理方法、装置、计算机设备及存储介质
CN114238466A (zh) 一种消息推送方法、装置、计算机设备及存储介质
CN117271122A (zh) 基于cpu和gpu分离的任务处理方法、装置、设备及存储介质
CN115545641A (zh) 接口请求方法、装置、计算机设备及存储介质
CN117591190A (zh) 一种应用数据加载优化方法、装置、设备及其存储介质
CN114969482A (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