CN107957903A - 异步任务调度方法、服务器及存储介质 - Google Patents

异步任务调度方法、服务器及存储介质 Download PDF

Info

Publication number
CN107957903A
CN107957903A CN201711114514.XA CN201711114514A CN107957903A CN 107957903 A CN107957903 A CN 107957903A CN 201711114514 A CN201711114514 A CN 201711114514A CN 107957903 A CN107957903 A CN 107957903A
Authority
CN
China
Prior art keywords
task
asynchronous
waiting
processing
asynchronous task
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.)
Granted
Application number
CN201711114514.XA
Other languages
English (en)
Other versions
CN107957903B (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.)
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 CN201711114514.XA priority Critical patent/CN107957903B/zh
Publication of CN107957903A publication Critical patent/CN107957903A/zh
Application granted granted Critical
Publication of CN107957903B publication Critical patent/CN107957903B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了异步任务调度方法、服务器及存储介质中,异步任务调度方法使用开源异步任务调度工具搭建异步调度框架,在异步调度框架的配置文件中配置异步任务所需的各项配置参数;进行异步任务处理时,从待处理任务表中抓取预设量的任务并处理;将处理成功的任务转移至成功表,失败的任务转移至失败表,需重试的任务退回至待处理任务表;在待处理任务表中设置批次号对待处理任务进行隔离,多台服务器根据批次号分别抓取对应的待处理任务;进行多线程处理时,为异步任务配置一线程池,将一批次抓取的多个待处理任务分给线程池中不同的线程处理,并输出处理结果。通过隔离可防止同一任务被多台服务器重复处理,使用线程池提升了单个服务器处理能力。

Description

异步任务调度方法、服务器及存储介质
技术领域
本发明涉及计算机技术领域,具体涉及异步任务调度方法、服务器及存储介质。
背景技术
Java程序常用的开源异步任务调度工具主要是Quartz,有集群和非集群两种运行模式。
集群模式是指同一时刻只会有一台服务器在启动任务调度,以防止不同服务器不会因为抢任务导致冲突。缺点是在待处理任务数据量大的情况下会出现处理不过来,即使增加服务器也无法处理。
非集群模式是指多台服务器并行调度,效率是集群模式的n倍,n为服务器数量。缺点是服务器抢任务会导致一个任务在不同服务器上运行多次。另外若异步任务数量巨大,也会处理不过来,除非添加大量服务器,资源利用率无法进一步提升。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供一种异步任务调度方法、服务器及存储介质,可使每台服务器的处理效率至少能提升10倍(和线程池大小有关,根据不同实际场景可配置不同的线程池大小),还能保证各应用服务器不会抓取到相同的任务。
为了达到上述目的,本发明采取了以下技术方案:
一种异步任务调度方法,其包括如下步骤:
使用开源异步任务调度工具搭建异步调度框架,在所述异步调度框架的配置文件中配置异步任务所需的各项配置参数;
进行异步任务处理时,从待处理任务表中抓取预设量的任务并处理;将处理成功的任务转移至成功表,失败的任务转移至失败表,需重试的任务退回至待处理任务表;
在待处理任务表中设置批次号对待处理任务进行隔离,多台服务器根据批次号分别抓取对应的待处理任务;
进行多线程处理时,为异步任务配置一线程池,将一批次抓取的多个待处理任务分给线程池中不同的线程进行处理,并输出处理结果。
在所述的异步任务调度方法中,所述配置参数用于表示异步任务的处理方式,包括:
是否需要失败重试,重试次数,每次抓取待处理任务的数量,是否需要使用多线程,任务调度频率的大小和线程池的大小。
在所述的异步任务调度方法中,在所述异步调度框架的配置文件中配置异步任务所需的各项配置参数的步骤中,配置异步任务的每次抓取待处理任务的数量时,通过定时调度程序来定时读取配置文件并更新到程序中。
在所述的异步任务调度方法中,所述进行异步任务处理时,从待处理任务表中抓取预设量的任务并处理;将处理成功的任务转移至成功表,失败的任务转移至失败表,需重试的任务退回至待处理任务表的步骤包括:
进行异步任务处理时,从待处理任务表中抓取预设量的任务至处理表中并进行处理;
若处理成功则将该任务转移至成功表,若处理失败则根据配置参数判断是否需要重试;
若不需要重试,则转移该任务至失败表中;若需要重试,则将该任务退回至待处理任务表、并将该任务的重试次数加1,返回进行异步任务处理时的步骤。
在所述的异步任务调度方法中,所述在待处理任务表中设置批次号对待处理任务进行隔离,多台服务器根据批次号分别抓取对应的待处理任务的步骤包括:
在待处理任务表中增加批次号的字段;
抓取待处理任务前,生成一个递增且唯一的数字作为批次号;
将批次号填充到待处理任务表的本次需要抓取的记录项中;
多台服务器查询待处理任务表,根据批次号来筛选对应的待处理任务并抓取。
在所述的异步任务调度方法中,所述在待处理任务表中增加批次号的字段的步骤之后,还包括:
在产生待处理异步任务之前,将批次号的字段默认为空。
在所述的异步任务调度方法中,在所述进行多线程处理时,为异步任务配置一线程池,将一批次抓取的多个待处理任务分给线程池中不同的线程进行处理,并输出处理结果的步骤中,还包括:
在单个任务处理逻辑中设置日志ID,不同线程的日志用ID区分。
在所述的异步任务调度方法中,在所述进行多线程处理时,为异步任务配置一线程池,将一批次抓取的多个待处理任务分给线程池中不同的线程进行处理,并输出处理结果的步骤之后,还包括:
检测任一线程处理完所有任务后,自动废弃该线程。
一种异步任务调度的应用服务器,其包括:处理器、存储器、通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如上任意一项所述的异步任务调度方法中的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任意一项所述的异步任务调度方法中的步骤。
相较于现有技术,本发明提供的异步任务调度方法、服务器及存储介质中,所述异步任务调度方法通过使用开源异步任务调度工具搭建异步调度框架,在所述异步调度框架的配置文件中配置异步任务所需的各项配置参数;之后进行异步任务处理时,从待处理任务表中抓取预设量的任务并处理;将处理成功的任务转移至成功表,失败的任务转移至失败表,需重试的任务退回至待处理任务表;在待处理任务表中设置批次号对待处理任务进行隔离,多台服务器根据批次号分别抓取对应的待处理任务;进行多线程处理时,为异步任务配置一线程池,将一批次抓取的多个待处理任务分给线程池中不同的线程进行处理,并输出处理结果;在抓取待处理任务时做隔离可防止同一任务被多台服务器重复处理,使用线程池来进行多线程处理、提升了单个服务器处理能力,从而使每台服务器的处理效率至少能提升10倍(和线程池大小有关,根据不同实际场景可配置不同的线程池大小)。
附图说明
图1为本发明提供的异步任务调度方法的流程图;
图2为本发明提供的异步任务调度方法中步骤S20的流程图;
图3为本发明提供的异步任务调度方法中步骤S30的流程图;
图4为本发明提供的异步任务调度的应用服务器的较佳实施例的运行环境示意图;
图5为本发明安装异步任务调度的应用服务器的较佳实施例的功能模块图。
具体实施方式
鉴于现有技术中服务器任务处理效率低,一个任务在不同服务器上运行多次的缺点,本发明的目的在于提供一种异步任务调度方法、服务器及存储介质,通过在抓取待处理任务时做隔离可防止同一任务被多台服务器重复处理,使用线程池来进行多线程处理、提升了单个服务器处理能力,从而使每台服务器的处理效率至少能提升10倍。
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
请参阅图1,其为本发明提供的异步任务调度方法的流程图。如图1所示,所述异步任务调度方法包括以下步骤:
S10、使用开源异步任务调度工具搭建异步调度框架,在所述异步调度框架的配置文件中配置异步任务所需的各项配置参数。
本实施例中,基于现有的开源技术,使用开源异步任务调度工具Quartz的非集群模式来搭建异步调度框架,能支持配置不同种类、不同调度频率的异步任务。
在本实施例中,不同的异步任务可在配置文件中配置所述配置参数。所述配置参数用于表示异步任务的处理方式,包括:是否需要失败重试(若需要还需设置重试次数),每次抓取待处理任务的数量,是否需要使用多线程,任务调度频率的大小,线程池的大小等。以配置车险自动承保异步任务为例,配置参数可配置为:需要失败后重试,重试次数为3,每批次抓取待处理任务的数量为100条,使用多线程并行处理,任务调度频率为每10秒一次,线程池的大小为100。
进一步的,在配置异步任务的每次抓取待处理任务的数量时,可通过普通的定时调度程序来定时读取配置文件并更新到程序中。这样若修改某个异步任务的每次抓取待处理任务的数量为0,即可控制该异步任务不运行,无需重启服务器就能结束该异步任务的处理、并进入其他异步任务的处理。
S20、进行异步任务处理时,从待处理任务表中抓取预设量的任务并处理;将处理成功的任务转移至成功表,失败的任务转移至失败表,需重试的任务退回至待处理任务表。
在进行异步任务处理时,将处理成功的任务转移至成功表;失败则根据是否重试,重试次数来进行重试。请同时参阅图2,其为本发明提供的异步任务调度方法中步骤S20的流程图。
如图2所示,所述步骤S20包括:
S21、进行异步任务处理时,从待处理任务表中抓取预设量的任务至处理表中并进行处理;
抓取的预设量由配置文件中每次抓取待处理任务的数量设定。将任务从待处理任务表转移到处理中表,随后进行逻辑处理。
S22、若处理成功则将该任务转移至成功表,若处理失败则根据配置参数判断是否需要重试。
若任务处理成功,则将该任务从处理中表转移到成功表。若失败,则根据配置参数中的是否需要失败重试和重试次数的配置值来进行判断。
S23、若不需要重试,则转移该任务至失败表中;若需要重试,则将该任务退回至待处理任务表、并将该任务的重试次数加1,返回步骤S21。
在该任务的配置为不需要失败重试或没有配置重试次数时,转移至失败表中以便后续进行人工处理(如运营监控到有失败的任务则发邮件给相关人员分析原因后再进一步处理)。若配置为需要失败重试,则将该任务退回至待处理任务表并将该任务的重试次数的字段加1,等下一次任务调度时再从新开始处理,成功则转移到成功表,失败则继续重新处理、直至实际的重试次数使用完。若此时该任务仍失败,则转到失败表进行人工处理。例如,车险自动承保异步任务中重试次数为3,每次处理后若失败则重试次数加1,直至实际的重试失败次数大于3就转到失败表。
S30、在待处理任务表中设置批次号对待处理任务进行隔离,多台服务器根据批次号分别抓取对应的待处理任务。多台服务器抓取待处理任务时需进行隔离,抓取任务前先生成批次号并填写至记录项中,用批次号来筛选待处理任务以避免各应用服务器(即服务器)抓取到相同的任务。同时请参阅图3,其为本发明提供的异步任务调度方法中步骤S30的流程图。
如图3所示,所述步骤S30包括:
S31、在待处理任务表中增加批次号的字段。在产生待处理异步任务之前,将批次号的字段默认为空。
S32、抓取待处理任务前,生成一个递增且唯一的数字作为批次号。具体可调用数据库的Sequence来生成该批次号。
S33、将批次号填充到待处理任务表的本次需要抓取的记录项中。被抓取后处理异常(如应用服务器重启)的、或没法继续处理的任务,在记录项中记录批次号不为空但超过一定时间未处理。
S34、多台服务器查询待处理任务表,根据批次号来筛选对应的待处理任务并抓取。这样一台服务器抓取一个批次号的待处理任务,即可保证各应用服务器不会抓取到相同批次号的任务,所抓取的任务就不会重复。
S40、进行多线程处理时,为异步任务配置一线程池,将一批次抓取的多个待处理任务分给线程池中不同的线程进行处理,并输出处理结果。在具体实施时,还可在单个任务处理逻辑中设置日志ID,不同线程的日志可用ID区分,方便查日志以明确哪个线程处理了哪个任务。该线程处理完所有任务后自动废弃,以减少系统CPU的占用,加快处理速度。下次处理多线程时再配置新的线程。车险自动承保异步任务采用上述方案进行改造后,平均等待处理时间由300秒降低为5秒。
请继续参阅图4,图4为一个实施例中计算机设备的内部结构示意图。该计算机设备可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。参照图4,该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该计算机设备的非易失性存储介质可存储操作系统和计算机可读程序,该计算机可读程序被执行时,可使得处理器执行一种异步任务调度的方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该内存储器为计算机可读程序的运行提供环境。计算机设备的网络接口用于进行网络通信,如抓取任务等。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明还提供一种异步任务调度的应用服务器,其包括处理器10、存储器20及显示器30。图4仅示出了异步任务调度的应用服务器的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器20在一些实施例中可以是所述异步任务调度的应用服务器的各组件的内部存储单元,例如应用服务器的硬盘或内存。所述存储器20在另一些实施例中也可以是所述异步任务调度的应用服务器的各组件的外部存储设备,例如异步任务调度的应用服务器的各组件上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述异步任务调度的应用服务器的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述异步任务调度的应用服务器的应用软件及各类数据,例如所述安装异步任务调度的应用服务器的程序代码等。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有异步任务调度程序40,该异步任务调度程序40可被处理器10所执行,从而实现本申请各实施例的异步任务调度方法。
所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述在配置文件中配置异步任务所需的各项配置参数的方法等。
所述显示器30在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器30用于显示在所述异步任务调度中处理的信息。所述异步任务调度的应用服务器的部件10-30通过系统总线相互通信。
在一实施例中,当处理器10执行所述存储器20中异步任务调度程序40时实现以下步骤:
使用开源异步任务调度工具搭建异步调度框架,在所述异步调度框架的配置文件中配置异步任务所需的各项配置参数;
进行异步任务处理时,从待处理任务表中抓取预设量的任务并处理;将处理成功的任务转移至成功表,失败的任务转移至失败表,需重试的任务退回至待处理任务表;
在待处理任务表中设置批次号对待处理任务进行隔离,多台服务器根据批次号分别抓取对应的待处理任务;
进行多线程处理时,为异步任务配置一线程池,将一批次抓取的多个待处理任务分给线程池中不同的线程处理,并输出处理结果。
进一步的,在所述的异步任务调度的应用服务器中,所述配置参数用于表示异步任务的处理方式,包括:
是否需要失败重试,重试次数,每次抓取待处理任务的数量,是否需要使用多线程,任务调度频率的大小和线程池的大小。
在所述异步调度框架的配置文件中配置异步任务所需的各项配置参数的步骤中,配置异步任务的每次抓取待处理任务的数量时,通过定时调度程序来定时读取配置文件并更新到程序中。
所述进行异步任务处理时,从待处理任务表中抓取预设量的任务并处理;将处理成功的任务转移至成功表,失败的任务转移至失败表,需重试的任务退回至待处理任务表的步骤包括:
进行异步任务处理时,从待处理任务表中抓取预设量的任务至处理表中并进行处理;
若处理成功则将该任务转移至成功表,若处理失败则根据配置参数判断是否需要重试;
若不需要重试,则转移该任务至失败表中;若需要重试,则将该任务退回至待处理任务表、并将该任务的重试次数加1,返回进行异步任务处理时的步骤。
所述在待处理任务表中设置批次号对待处理任务进行隔离,多台服务器根据批次号分别抓取对应的待处理任务的步骤包括:
在待处理任务表中增加批次号的字段;
抓取待处理任务前,生成一个递增且唯一的数字作为批次号;
将批次号填充到待处理任务表的本次需要抓取的记录项中;
多台服务器查询待处理任务表,根据批次号来筛选对应的待处理任务并抓取。
所述在待处理任务表中增加批次号的字段的步骤之后,还包括:
在产生待处理异步任务之前,批次号的字段默认为空。
在所述进行多线程处理时,为异步任务配置一线程池,将一批次抓取的多个待处理任务分给线程池中不同的线程处理,并输出处理结果的步骤中,还包括:
在单个任务处理逻辑中设置日志ID,不同线程的日志用ID区分。
在所述进行多线程处理时,为异步任务配置一线程池,将一批次抓取的多个待处理任务分给线程池中不同的线程进行处理,并输出处理结果的步骤之后,还包括:
检测任一线程处理完所有任务后,自动废弃该线程。
请参阅图5,其为本发明安装异步任务调度程序的应用服务器的较佳实施例的功能模块图。在本实施例中,安装异步任务调度程序可以被分割成一个或多个模块,所述一个或者多个模块被存储于所述存储器中,并由一个或多个处理器(本实施例为所述处理器)所执行,以完成本发明。例如,在图5中,安装异步任务调度程序的应用服务器可以被分割成配置模块31、分表模块32、隔离模块33和多线程处理模块34。本发明所称的模块是指能够完成特定功能的一系列计算机程序段,比程序更适合于描述所述异步任务调度程序在所述异步任务调度的应用服务器中的执行过程。以下描述将具体介绍所述模块31-34的功能。
配置模块31,用于使用开源异步任务调度工具搭建异步调度框架,在所述异步调度框架的配置文件中配置异步任务所需的各项配置参数。
分表模块32,用于进行异步任务处理时,从待处理任务表中抓取预设量的任务并处理;将处理成功的任务转移至成功表,失败的任务转移至失败表,需重试的任务退回至待处理任务表。
隔离模块33,用于在待处理任务表中设置批次号对待处理任务进行隔离,多台服务器根据批次号分别抓取对应的待处理任务。
多线程处理模块34,用于进行多线程处理时,为异步任务配置一线程池,将一批次抓取的多个待处理任务分给线程池中不同的线程处理,并输出处理结果。
所述分表模块32包括抓取单元、判断单元和处理单元,其中:
所述抓取单元,用于进行异步任务处理时,从待处理任务表中抓取预设量的任务至处理表中并进行处理。
所述判断单元,用于处理成功则将该任务转移至成功表,若处理失败则根据配置参数判断是否需要重试。
所述处理单元,用于不需要重试时,转移该任务至失败表中;若需要重试,则将该任务退回至待处理任务表、并将该任务的重试次数加1,返回进行异步任务处理时的步骤。
所述隔离模块33包括批次号单元、填充单元和筛选单元,其中:
所述批次号单元,用于在待处理任务表中增加批次号的字段;抓取待处理任务前,生成一个递增且唯一的数字作为批次号。
所述填充单元,用于将批次号填充到待处理任务表的本次需要抓取的记录项中。
所述筛选单元,用于在多台服务器查询待处理任务表时,根据批次号来筛选对应的待处理任务并抓取。
进一步地,所述批次号单元还用于,在产生待处理异步任务之前,将批次号的字段默认为空。
进一步地,所述多线程处理模块34还用于,在单个任务处理逻辑中设置日志ID,不同线程的日志用ID区分。
进一步地,所述多线程处理模块34还用于,检测任一线程处理完所有任务后,自动废弃该线程。
综上所述,本发明提供的异步任务调度方法、服务器及存储介质中,所述异步任务调度方法通过使用开源异步任务调度工具搭建异步调度框架,在所述异步调度框架的配置文件中配置异步任务所需的各项配置参数;之后进行异步任务处理时,从待处理任务表中抓取预设量的任务并处理;将处理成功的任务转移至成功表,失败的任务转移至失败表,需重试的任务退回至待处理任务表;在待处理任务表中设置批次号对待处理任务进行隔离,多台服务器根据批次号分别抓取对应的待处理任务;进行多线程处理时,为异步任务配置一线程池,将一批次抓取的多个待处理任务分给线程池中不同的线程进行处理,并输出处理结果。在抓取待处理任务时做隔离可防止同一任务被多台服务器重复处理,使用线程池来进行多线程处理、提升了单个服务器处理能力,从而使每台服务器的处理效率至少能提升10倍。能充分利用单台服务器资源,还可以通过增加服务器做到水平扩展。
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述程序可存储于一计算机可读取的存储介质中,该程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、光盘等。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (10)

1.一种异步任务调度方法,其特征在于,包括如下步骤:
使用开源异步任务调度工具搭建异步调度框架,在所述异步调度框架的配置文件中配置异步任务所需的各项配置参数;
进行异步任务处理时,从待处理任务表中抓取预设量的任务并处理;将处理成功的任务转移至成功表,失败的任务转移至失败表,需重试的任务退回至待处理任务表;
在待处理任务表中设置批次号对待处理任务进行隔离,多台服务器根据批次号分别抓取对应的待处理任务;
进行多线程处理时,为异步任务配置一线程池,将一批次抓取的多个待处理任务分给线程池中不同的线程进行处理,并输出处理结果。
2.根据权利要求1所述的异步任务调度方法,其特征在于,所述配置参数用于表示异步任务的处理方式,包括:
是否需要失败重试,重试次数,每次抓取待处理任务的数量,是否需要使用多线程,任务调度频率的大小和线程池的大小。
3.根据权利要求2所述的异步任务调度方法,其特征在于,在所述异步调度框架的配置文件中配置异步任务所需的各项配置参数的步骤中,配置异步任务的每次抓取待处理任务的数量时,通过定时调度程序来定时读取配置文件并更新到程序中。
4.根据权利要求1述的异步任务调度方法,其特征在于,所述进行异步任务处理时,从待处理任务表中抓取预设量的任务并处理;将处理成功的任务转移至成功表,失败的任务转移至失败表,需重试的任务退回至待处理任务表的步骤包括:
进行异步任务处理时,从待处理任务表中抓取预设量的任务至处理表中并进行处理;
若处理成功则将该任务转移至成功表,若处理失败则根据配置参数判断是否需要重试;
若不需要重试,则转移该任务至失败表中;若需要重试,则将该任务退回至待处理任务表、并将该任务的重试次数加1,返回进行异步任务处理时的步骤。
5.根据权利要求1所述的异步任务调度方法,其特征在于,所述在待处理任务表中设置批次号对待处理任务进行隔离,多台服务器根据批次号分别抓取对应的待处理任务的步骤包括:
在待处理任务表中增加批次号的字段;
抓取待处理任务前,生成一个递增且唯一的数字作为批次号;
将批次号填充到待处理任务表的本次需要抓取的记录项中;
多台服务器查询待处理任务表,根据批次号来筛选对应的待处理任务并抓取。
6.根据权利要求5所述的异步任务调度方法,其特征在于,所述在待处理任务表中增加批次号的字段的步骤之后,还包括:
在产生待处理异步任务之前,将批次号的字段默认为空。
7.根据权利要求1所述的异步任务调度方法,其特征在于,在所述进行多线程处理时,为异步任务配置一线程池,将一批次抓取的多个待处理任务分给线程池中不同的线程进行处理,并输出处理结果的步骤中,还包括:
在单个任务处理逻辑中设置日志ID,不同线程的日志用ID区分。
8.根据权利要求1所述的异步任务调度方法,其特征在于,在所述进行多线程处理时,为异步任务配置一线程池,将一批次抓取的多个待处理任务分给线程池中不同的线程进行处理,并输出处理结果的步骤之后,还包括:
检测任一线程处理完所有任务后,自动废弃该线程。
9.一种异步任务调度的应用服务器,其特征在于,包括:处理器、存储器、通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如权利要求1-8任意一项所述的异步任务调度方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1~8任意一项所述的异步任务调度方法中的步骤。
CN201711114514.XA 2017-11-13 2017-11-13 异步任务调度方法、服务器及存储介质 Active CN107957903B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711114514.XA CN107957903B (zh) 2017-11-13 2017-11-13 异步任务调度方法、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711114514.XA CN107957903B (zh) 2017-11-13 2017-11-13 异步任务调度方法、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN107957903A true CN107957903A (zh) 2018-04-24
CN107957903B CN107957903B (zh) 2020-11-10

Family

ID=61963588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711114514.XA Active CN107957903B (zh) 2017-11-13 2017-11-13 异步任务调度方法、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN107957903B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804214A (zh) * 2018-05-24 2018-11-13 阿里巴巴集团控股有限公司 一种异步任务的调度方法、装置以及电子设备
CN109309712A (zh) * 2018-09-07 2019-02-05 平安科技(深圳)有限公司 基于接口异步调用的数据传输方法、服务器及存储介质
CN109598603A (zh) * 2018-10-26 2019-04-09 阿里巴巴集团控股有限公司 一种开户任务处理方法及开户服务系统
CN109901920A (zh) * 2019-01-18 2019-06-18 中国平安财产保险股份有限公司 任务调度方法及装置、电子终端
CN110008041A (zh) * 2019-03-27 2019-07-12 北京奇艺世纪科技有限公司 一种消息处理方法及装置
CN110049350A (zh) * 2019-04-15 2019-07-23 深圳壹账通智能科技有限公司 视频转码处理方法、装置、计算机设备和存储介质
CN110096416A (zh) * 2019-03-13 2019-08-06 中国平安人寿保险股份有限公司 异常报警方法、装置、计算机装置及可读存储介质
CN110263048A (zh) * 2019-05-05 2019-09-20 平安科技(深圳)有限公司 大批量数据处理方法、装置、计算机设备及存储介质
CN110377406A (zh) * 2019-06-17 2019-10-25 平安银行股份有限公司 一种任务调度方法、装置、存储介质和服务器节点
CN110442440A (zh) * 2019-08-05 2019-11-12 中国工商银行股份有限公司 一种异步任务处理方法及装置
CN110688206A (zh) * 2019-09-05 2020-01-14 平安科技(深圳)有限公司 定时任务调度方法、装置、计算机设备及存储介质
CN110879707A (zh) * 2018-09-06 2020-03-13 迈普通信技术股份有限公司 编译任务执行方法及装置
CN110908821A (zh) * 2019-11-08 2020-03-24 腾讯音乐娱乐科技(深圳)有限公司 任务失败管理的方法、装置、设备和存储介质
CN110990134A (zh) * 2019-11-21 2020-04-10 深圳前海环融联易信息科技服务有限公司 一种智能任务调度的方法、装置、计算机设备及存储介质
CN111274038A (zh) * 2020-01-22 2020-06-12 恩亿科(北京)数据科技有限公司 数据处理方法和装置、电子设备及计算机可读存储介质
CN111459754A (zh) * 2020-03-26 2020-07-28 平安普惠企业管理有限公司 异常任务的处理方法、装置、介质及电子设备
CN112988352A (zh) * 2021-03-10 2021-06-18 中国建设银行股份有限公司 一种用于切换扫描模式的方法和装置
CN113022133A (zh) * 2021-02-01 2021-06-25 广州广合科技股份有限公司 喷印机效率提升方法、电子设备及存储介质
CN114757595A (zh) * 2022-06-15 2022-07-15 中邮消费金融有限公司 一种基于自定义调度策略的电话销售任务调度方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201115466A (en) * 2009-10-22 2011-05-01 Zuo-Song Hong Method of executing two-way asynchronous transmission and multi-task scheduling
US20120304177A1 (en) * 2010-03-01 2012-11-29 International Business Machines Corporation Programmatically determining an execution mode for a request dispatch utilizing historic metrics
CN102455933B (zh) * 2010-10-22 2014-01-15 深圳市科陆电子科技股份有限公司 一种通过线程管理提高多任务处理效率的方法
CN104166590A (zh) * 2013-05-20 2014-11-26 阿里巴巴集团控股有限公司 一种实现任务调度的方法及系统
CN104536819A (zh) * 2014-12-29 2015-04-22 同程网络科技股份有限公司 基于web服务的任务调度方法
CN104598563A (zh) * 2015-01-08 2015-05-06 北京京东尚科信息技术有限公司 高并发数据存储方法及装置
US20150205634A1 (en) * 2014-01-17 2015-07-23 Red Hat, Inc. Resilient Scheduling of Broker Jobs for Asynchronous Tasks in a Multi-Tenant Platform-as-a-Service (PaaS) System
CN106126354A (zh) * 2016-06-21 2016-11-16 中国建设银行股份有限公司 一种异步批量处理方法及系统
CN106598705A (zh) * 2015-10-15 2017-04-26 阿里巴巴集团控股有限公司 一种异步任务的调度方法、装置、系统以及电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201115466A (en) * 2009-10-22 2011-05-01 Zuo-Song Hong Method of executing two-way asynchronous transmission and multi-task scheduling
US20120304177A1 (en) * 2010-03-01 2012-11-29 International Business Machines Corporation Programmatically determining an execution mode for a request dispatch utilizing historic metrics
CN102455933B (zh) * 2010-10-22 2014-01-15 深圳市科陆电子科技股份有限公司 一种通过线程管理提高多任务处理效率的方法
CN104166590A (zh) * 2013-05-20 2014-11-26 阿里巴巴集团控股有限公司 一种实现任务调度的方法及系统
US20150205634A1 (en) * 2014-01-17 2015-07-23 Red Hat, Inc. Resilient Scheduling of Broker Jobs for Asynchronous Tasks in a Multi-Tenant Platform-as-a-Service (PaaS) System
CN104536819A (zh) * 2014-12-29 2015-04-22 同程网络科技股份有限公司 基于web服务的任务调度方法
CN104598563A (zh) * 2015-01-08 2015-05-06 北京京东尚科信息技术有限公司 高并发数据存储方法及装置
CN106598705A (zh) * 2015-10-15 2017-04-26 阿里巴巴集团控股有限公司 一种异步任务的调度方法、装置、系统以及电子设备
CN106126354A (zh) * 2016-06-21 2016-11-16 中国建设银行股份有限公司 一种异步批量处理方法及系统

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108804214A (zh) * 2018-05-24 2018-11-13 阿里巴巴集团控股有限公司 一种异步任务的调度方法、装置以及电子设备
CN108804214B (zh) * 2018-05-24 2022-04-12 创新先进技术有限公司 一种异步任务的调度方法、装置以及电子设备
CN110879707A (zh) * 2018-09-06 2020-03-13 迈普通信技术股份有限公司 编译任务执行方法及装置
CN110879707B (zh) * 2018-09-06 2022-10-14 迈普通信技术股份有限公司 编译任务执行方法及装置
CN109309712A (zh) * 2018-09-07 2019-02-05 平安科技(深圳)有限公司 基于接口异步调用的数据传输方法、服务器及存储介质
CN109309712B (zh) * 2018-09-07 2022-06-17 平安科技(深圳)有限公司 基于接口异步调用的数据传输方法、服务器及存储介质
CN109598603B (zh) * 2018-10-26 2023-07-25 创新先进技术有限公司 一种开户任务处理方法及开户服务系统
CN109598603A (zh) * 2018-10-26 2019-04-09 阿里巴巴集团控股有限公司 一种开户任务处理方法及开户服务系统
CN109901920A (zh) * 2019-01-18 2019-06-18 中国平安财产保险股份有限公司 任务调度方法及装置、电子终端
CN110096416A (zh) * 2019-03-13 2019-08-06 中国平安人寿保险股份有限公司 异常报警方法、装置、计算机装置及可读存储介质
CN110008041A (zh) * 2019-03-27 2019-07-12 北京奇艺世纪科技有限公司 一种消息处理方法及装置
CN110008041B (zh) * 2019-03-27 2021-03-19 北京奇艺世纪科技有限公司 一种消息处理方法及装置
CN110049350A (zh) * 2019-04-15 2019-07-23 深圳壹账通智能科技有限公司 视频转码处理方法、装置、计算机设备和存储介质
CN110049350B (zh) * 2019-04-15 2022-10-11 深圳壹账通智能科技有限公司 视频转码处理方法、装置、计算机设备和存储介质
CN110263048B (zh) * 2019-05-05 2024-05-10 平安科技(深圳)有限公司 大批量数据处理方法、装置、计算机设备及存储介质
CN110263048A (zh) * 2019-05-05 2019-09-20 平安科技(深圳)有限公司 大批量数据处理方法、装置、计算机设备及存储介质
CN110377406A (zh) * 2019-06-17 2019-10-25 平安银行股份有限公司 一种任务调度方法、装置、存储介质和服务器节点
CN110442440A (zh) * 2019-08-05 2019-11-12 中国工商银行股份有限公司 一种异步任务处理方法及装置
CN110688206A (zh) * 2019-09-05 2020-01-14 平安科技(深圳)有限公司 定时任务调度方法、装置、计算机设备及存储介质
CN110908821A (zh) * 2019-11-08 2020-03-24 腾讯音乐娱乐科技(深圳)有限公司 任务失败管理的方法、装置、设备和存储介质
CN110908821B (zh) * 2019-11-08 2024-01-02 腾讯音乐娱乐科技(深圳)有限公司 任务失败管理的方法、装置、设备和存储介质
CN110990134A (zh) * 2019-11-21 2020-04-10 深圳前海环融联易信息科技服务有限公司 一种智能任务调度的方法、装置、计算机设备及存储介质
CN110990134B (zh) * 2019-11-21 2023-12-26 深圳前海环融联易信息科技服务有限公司 一种智能任务调度的方法、装置、计算机设备及存储介质
CN111274038A (zh) * 2020-01-22 2020-06-12 恩亿科(北京)数据科技有限公司 数据处理方法和装置、电子设备及计算机可读存储介质
CN111459754B (zh) * 2020-03-26 2022-09-27 平安普惠企业管理有限公司 异常任务的处理方法、装置、介质及电子设备
CN111459754A (zh) * 2020-03-26 2020-07-28 平安普惠企业管理有限公司 异常任务的处理方法、装置、介质及电子设备
CN113022133A (zh) * 2021-02-01 2021-06-25 广州广合科技股份有限公司 喷印机效率提升方法、电子设备及存储介质
CN112988352A (zh) * 2021-03-10 2021-06-18 中国建设银行股份有限公司 一种用于切换扫描模式的方法和装置
CN114757595A (zh) * 2022-06-15 2022-07-15 中邮消费金融有限公司 一种基于自定义调度策略的电话销售任务调度方法及系统

Also Published As

Publication number Publication date
CN107957903B (zh) 2020-11-10

Similar Documents

Publication Publication Date Title
CN107957903A (zh) 异步任务调度方法、服务器及存储介质
CN109558234A (zh) 一种定时任务调度方法和装置
CN108762931A (zh) 基于分布式调度系统的任务调度方法、服务器及存储介质
CN106528275A (zh) 数据任务的处理方法及任务调度器
CN107665234A (zh) 业务处理方法、装置、服务器和存储介质
CN108376100A (zh) 基于安全的容器调度
CN102567063B (zh) 一种自动安装软件的方法及装置
CN111367679A (zh) 人工智能算力资源复用方法及装置
CN107943577A (zh) 用于调度任务的方法和装置
CN106649057A (zh) 一种服务器压力测试的方法及装置
CN103927338A (zh) 日志信息入库处理方法和装置
CN105630588A (zh) 一种分布式作业调度方法和系统
CN110532074A (zh) 一种多租户模式SaaS服务集群环境的任务调度方法及系统
CN108958881A (zh) 数据处理方法、装置及计算机可读存储介质
CN109471711A (zh) 一种任务处理的方法及装置
CN109408286A (zh) 数据处理方法、装置、系统、计算机可读存储介质
CN104615487A (zh) 并行任务优化系统和方法
CN111694640B (zh) 数据处理方法、装置、电子设备及存储介质
WO2020253045A1 (zh) 配置化的数据转发异常补处理方法、装置及可读存储介质
CN110262878A (zh) 定时任务处理方法、装置、设备及计算机可读存储介质
CN110069217A (zh) 一种数据存储方法及装置
CN109710263A (zh) 代码的编译方法、装置、存储介质及电子设备
CN109710679A (zh) 数据抽取方法及装置
CN117076096A (zh) 任务流程的执行方法、装置、计算机可读介质及电子设备
CN103077081B (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
GR01 Patent grant
GR01 Patent grant