CN117472627A - 任务重试管理系统、方法、装置、电子设备及存储介质 - Google Patents

任务重试管理系统、方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117472627A
CN117472627A CN202311416605.4A CN202311416605A CN117472627A CN 117472627 A CN117472627 A CN 117472627A CN 202311416605 A CN202311416605 A CN 202311416605A CN 117472627 A CN117472627 A CN 117472627A
Authority
CN
China
Prior art keywords
task
retried
information
client
parameter information
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
CN202311416605.4A
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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202311416605.4A priority Critical patent/CN117472627A/zh
Publication of CN117472627A publication Critical patent/CN117472627A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本申请实施例提供的一种任务重试管理系统、方法、装置、电子设备及存储介质,应用于信息技术领域。客户端生成待重试任务的基础信息并发送给服务端;服务端在满足重试条件时,按照任务分组中待重试任务的序号信息依次向客户端发送待重试任务的执行指令;客户端执行对应的任务并将执行结果发送给服务端。应用本申请实施例的系统,通过客户端将包含可重试任务的分组信息和序号信息的基础信息发送给服务端,服务端通过在满足重试条件时,按照任务分组中任务的序号信息依次向客户端发送待重试执行指令,从而可以实现根据待重试任务的分组信息和序号信息,对待重试任务的调度,自动化的执行待重试任务,提高业务系统的运行效率。

Description

任务重试管理系统、方法、装置、电子设备及存储介质
技术领域
本申请涉及信息技术领域,特别是涉及一种任务重试管理系统、方法、装置、电子设备及存储介质。
背景技术
在互联网技术中,一套业务系统的运行往往包含着许多个任务的执行,当任务执行失败时,有些问题是可以通过重试解决的。然而,在相关技术中对该执行失败的任务进行重试时,是在本地内存中进行循环重试,当重试次数达到最大次数时停止,然而通常一个业务系统的运行是依赖于多个任务的执行,且多个任务之间存在依赖关系,在进行重试时需要人工的选择待重试任务执行顺序或定制开发重试任务系统,从而造成重试任务的操作繁琐,导致业务系统运行效率不高。
发明内容
本申请实施例的目的在于提供一种任务重试管理系统、方法、装置、电子设备及存储介质,以解决业务系统运行效率不高的技术问题。具体技术方案如下:
在本申请实施的第一方面,首先提供了一种任务重试管理系统,所述任务重试管理系统包括:服务端与客户端;
所述客户端用于在可重试任务异常的情况下,确定该可重试任务为待重试任务,生成所述待重试任务的基础信息,并发送给所述服务端,其中,所述基础信息包括所述待重试任务的分组信息和序号信息,所述分组信息表示所述待重试任务所属的任务分组,所述序号信息表示所述待重试任务在任务分组中的执行顺序;
所述服务端用于保存所述客户端发送的所述待重试任务的基础信息;在满足重试条件时,按照所述任务分组中待重试任务的序号信息,依次向所述客户端发送待重试任务的执行指令,以使所述客户端依据所述执行指令对所述待重试任务进行重试;
所述客户端还用于在接收到所述执行指令后,执行所述执行指令对应的待重试任务,并将执行结果发送给所述服务端。
在一种可能的实施方式中,所述服务端还用于:
接收所述执行结果,并在当前序号对应的待重试任务执行失败时,向客户端发送停止指令,以使客户端停止对序号数值大于当前序号的待重试任务进行重试,并记录重试失败次数;若所述重试失败次数达到预设重试次数阈值,终止所述任务分组中待重试任务的重试并进行报警。
在一种可能的实施方式中,所述基础信息还包括所述待重试任务的参数信息,
所述客户端还用于通过软件开发工具包SDK对可进行重试的任务进行标记,得到可重试任务;
所述客户端具体用于在可重试任务异常的情况下,确定该可重试任务为待重试任务,判断是否获取到所述待重试任务的分组信息;
若是,则按照所述待重试任务在任务分组中的执行顺序,生成所述待重试任务的序号信息,并将所述待重试任务的参数信息进行序列化,生成序列化的参数信息并发送至所述服务端;
若否,则创建所述可待重试任务的分组信息和序号信息,并将所述待重试任务的参数信息进行序列化,生成序列化的参数信息发送至所述服务端;
所述服务端还用于保存所述客户端发送的所述序列化的参数信息,其中,所述执行指令中包括序列化的参数信息;
所述客户端还用于,对所述序列化的参数信息进行反序列化获得所述待重试任务的参数信息;根据所述参数信息,确定所述执行指令对应的待重试任务。
在一种可能的实施方式中,所述基础信息还包括回调地址和系统名称,
所述服务端具体用于根据所述回调地址,和/或所述系统名称,确定目标回调接口;通过所述目标回调接口,向所述客户端发送包括所述序列化的参数信息的执行指令;
所述客户端,具体用于通过目标回调接口接收执行指令,获取所述执行指令中的所述序列化的参数信息;对所述序列化的参数信息进行反序列化,获取所述待重试任务的参数信息并根据所述参数信息确定待重试任务;执行所述待重试任务并将所述执行结果通过所述目标回调接口发送给所述服务端;
所述服务端,还用于接收所述目标回调接口发送的所述执行结果。
在本申请实施例的第二方面,提供一种任务重试管理方法,所述方法应用于服务端,所述方法包括:
保存客户端发送的待重试任务的基础信息;其中,所述基础信息包括可待重试任务的分组信息和序号信息,所述分组信息表示所述待重试任务所属的任务分组,所述序号信息表示所述待重试任务在任务分组中的执行顺序;
在满足重试条件时按照所述任务分组中待重试任务的序号信息,依次向所述客户端发送待重试任务的执行指令,以使所述客户端依据所述执行指令对所述待重试任务进行重试。
在一种可能的实施方式中,所述方法还包括:
在向所述客户端发送待重试任务的执行指令后,接收客户端发送的执行结果;
当前序号对应的待重试任务执行失败时,向客户端发送停止指令,以使客户端停止对序号数值大于当前序号的待重试任务进行重试,并记录重试失败次数。
在一种可能的实施方式中,,所述方法还包括:
若所述重试失败次数达到预设重试次数阈值,终止所述任务分组中待重试任务的重试并进行报警。
在一种可能的实施方式中,所述基础信息还包括所述待重试任务的参数信息,
所述方法还包括:
保存所述客户端发送的序列化的参数信息,其中,所述参数消息为唯一表征待重试任务的信息;所述执行指令中包括序列化的参数信息,以使所述客户端根据所述参数信息确定所述执行指令对应的待重试任务。
在一种可能的实施方式中,所述基础信息包括回调地址和系统名称,
所述向所述客户端发送任务的执行指令的步骤包括:
根据所述回调地址,和/或所述系统名称,确定目标回调接口;
通过所述目标回调接口,向所述客户端发送包括所述序列化的参数信息的执行指令。
在一种可能的实施方式中,所述方法还包括:
根据各所述待重试任务的基础信息,确定各任务分组中的待重试任务;
并行下发各任务分组的执行指令,其中,不同任务分组中待重试任务的执行指令并行下发,同一任务分组中的待重试任务的执行指令,按照序号信息依次下发。
在本申请实施例的第三方面,提供一种任务重试管理方法,所述方法应用于客户端,所述方法包括:
在可重试任务异常的情况下,确定该可重试任务为待重试任务,生成所述待重试任务的基础信息,并发送给服务端,其中,所述基础信息包括所述待重试任务的分组信息和序号信息,所述分组信息表示所述待重试任务所属的任务分组,所述序号信息表示所述待重试任务在任务分组中的执行顺序;
在接收到服务端发送的所述执行指令后,执行所述执行指令对应的待重试任务,并将执行结果发送给所述服务端。
在一种可能的实施方式中,所述基础信息还包括所述待重试任务的参数信息,所述方法还包括:
通过软件开发工具包SDK对可进行重试的任务进行标记,得到可重试任务;
所述在可重试任务异常的情况下,确定该可重试任务为待重试任务,生成所述待重试任务的基础信息,并发送给服务端,包括:
判断是否获取到所述待重试任务的分组信息;
若是,则按照所述待重试任务在任务分组中的执行顺序,生成所述待重试任务的序号信息,并将所述待重试任务的参数信息进行序列化,生成序列化的参数信息并发送至所述服务端;
若否,则创建所述待重试任务的分组信息和序号信息,并将所述待重试任务的参数信息进行序列化,生成序列化的参数信息并发送至所述服务端;
所述执行指令中包括序列化的参数信息,所述方法还包括:
对所述序列化的参数信息进行反序列化获得所述待重试任务的参数信息;
根据所述参数信息,确定所述执行指令对应的待重试任务。
在一种可能的实施方式中,所述基础信息还包括回调地址和系统名称,所述在接收到所述执行指令后,执行所述执行指令对应的待重试任务,并将执行结果发送给所述服务端,包括:
通过目标回调接口接收执行指令,获取所述执行指令中的所述序列化的参数信息;其中,所述目标回调接口根据所述回调地址,和/或所述系统名称确定;
对所述序列化的参数信息进行反序列化,获取所述待重试任务的参数信息;
根据所述待重试任务的参数信息确定待重试任务;
执行所述待重试任务并将所述执行结果通过所述目标回调接口发送给所述服务端。
在本申请实施例的第四方面,提供一种任务重试管理装置,所述装置应用于服务端,所述装置包括:
基础信息保存模块,用于保存客户端发送的待重试任务的基础信息;其中,所述基础信息包括待重试任务的分组信息和序号信息,所述分组信息表示所述待重试任务所属的任务分组,所述序号信息表示所述待重试任务在任务分组中的执行顺序;
执行指令发送模块,用于在满足重试条件时按照所述任务分组中待重试任务的序号信息,依次向所述客户端发送待重试任务的执行指令,以使所述客户端依据所述执行指令对所述待重试任务进行重试。
在一种可能的实施方式中,所述装置还包括:
执行结果接收模块,用于在向所述客户端发送待重试任务的执行指令后,接收客户端发送的执行结果;
重试记录模块,用于在当前序号对应的待重试任务执行失败时,向客户端发送停止指令,以使客户端停止对序号数值大于当前序号的待重试任务进行重试,并记录重试失败次数。
在一种可能的实施方式中,所述装置还包括:
报警模块,用于若所述重试失败次数达到预设重试次数阈值,终止所述任务分组中待重试任务的重试并进行报警。
在一种可能的实施方式中,所述基础信息还包括所述待重试任务的参数信息,
所述装置还包括:
序列化参数信息保存模块,用于保存所述客户端发送的序列化的参数信息,其中,所述参数消息为唯一表征待重试任务的信息;所述执行指令中包括序列化的参数信息,以使所述客户端根据所述参数信息确定所述执行指令对应的待重试任务。
在一种可能的实施方式中,所述基础信息包括回调地址和系统名称,
所述执行指令发送模块,包括:
目标回调接口确定子模块,具体用于根据所述回调地址,和/或所述系统名称,确定目标回调接口;
执行指令发送子模块,具体用于通过所述目标回调接口,向所述客户端发送包括所述序列化的参数信息的执行指令。
在一种可能的实施方式中,所述装置还包括:
任务分组确定模块,用于根据各所述待重试任务的基础信息,确定各任务分组中的待重试任务;
执行指令下发模块,用于并行下发各任务分组的执行指令,其中,不同任务分组中待重试任务的执行指令并行下发,同一任务分组中的待重试任务的执行指令,按照序号信息依次下发。
在本申请实施例的第五方面,提供一种任务重试管理装置,所述装置应用于客户端,所述装置包括:
基础信息发送模块,用于在可重试任务异常的情况下,确定该可重试任务为待重试任务,生成所述待重试任务的基础信息,并发送给服务端,其中,所述基础信息包括所述待重试任务的分组信息和序号信息,所述分组信息表示所述待重试任务所属的任务分组,所述序号信息表示所述待重试任务在任务分组中的执行顺序;
任务执行模块,用于在接收到服务端发送的所述执行指令后,执行所述执行指令对应的待重试任务,并将执行结果发送给所述服务端。
在一种可能的实施方式中,所述基础信息还包括所述待重试任务的参数信息,所述参数消息为唯一表征待重试任务的信息;所述装置还包括:
任务标记模块,用于通过软件开发工具包SDK对可进行重试的任务进行标记,得到可重试任务;
所述基础信息发送模块,包括:
分组信息获取子模块,具体用于判断是否获取到所述待重试任务的分组信息;
序列化第一子模块,具体用于若是,则按照所述待重试任务在任务分组中的执行顺序,生成所述待重试任务的序号信息,并将所述待重试任务的参数信息进行序列化,生成序列化的参数信息并发送至所述服务端;
序列化第二子模块,具体用于若否,则创建所述待重试任务的分组信息和序号信息,并将所述待重试任务的参数信息进行序列化,生成序列化的参数信息并发送至所述服务端;
所述装置还包括:
反序列化模块,用于对所述序列化的参数信息进行反序列化获得所述待重试任务的参数信息;
任务确定模块,用于根据所述参数信息,确定所述执行指令对应的待重试任务。
在一种可能的实施方式中,所述基础信息还包括回调地址和系统名称,任务执行模块,包括:
执行指令接收子模块,具体用于通过目标回调接口接收执行指令,获取所述执行指令中的所述序列化的参数信息;其中,所述目标回调接口根据所述回调地址,和/或所述系统名称确定;
参数信息获取子模块,具体用于对所述序列化的参数信息进行反序列化,获取所述待重试任务的参数信息;
可重试任务确定子模块,具体用于根据所述待重试任务的参数信息确定待重试任务;
执行结果发送子模块,具体用于执行所述待重试任务并将所述执行结果通过所述目标回调接口发送给所述服务端。
在本申请实施例的第六方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现应用于服务端的任一所述的任务重试管理方法步骤。
在本申请实施例的第七方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现应用于客户端的任一所述的任务重试管理方法步骤。
在本申请实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的任务管理方法。
在本申请实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的任务管理方法。
本申请实施例提供的一种任务重试管理系统、方法、装置、电子设备及存储介质,通过客户端将包含待重试任务的分组信息和序号信息的基础信息发送给服务端,服务端通过在满足重试条件时,按照所述任务分组中任务的序号信息,依次向所述客户端发送待重试任务的执行指令,从而可以实现根据待重试任务的分组信息和序号信息,实现对待重试任务的调度,自动化的执行待重试任务,提高业务系统的运行效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的任务重试管理系统的一种结构示意图;
图2为本申请实施例提供的现有技术中的任务重试的一种流程图;
图3为本申请实施例提供的应用于服务端的任务重试管理方法的一种流程图;
图4为本申请实施例提供的应用于服务端的任务重试管理方法的另一种流程图;
图5为本申请实施例提供的应用于客户端的任务重试管理方法的一种流程图;
图6为本申请实施例提供的应用于客户端的任务重试管理方法的另一种流程图;
图7为本申请实施例提供的应用于服务端的任务重试管理装置的一种结构示意图;
图8为本申请实施例提供的应用于客户端的任务重试管理装置的一种结构示意图;
图9为本申请实施例提供的应用于服务端的电子设备的一种结构示意图;
图10为本申请实施例提供的应用于客户端的电子设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
在本申请实施的第一方面,首先提供了一种任务重试管理系统,任务重试管理系统包括如图1所示:服务端101与客户端102;
客户端102用于在可重试任务异常的情况下,确定该可重试任务为待重试任务,生成待重试任务的基础信息,并发送给服务端,其中,基础信息包括待重试任务的分组信息和序号信息,分组信息表示待重试任务所属的任务分组,序号信息表示待重试任务在任务分组中的执行顺序。
在实际应用中,系统在正常运转时,针对一些重要的任务执行的时候可能会存在意外问题会导致任务失败,而为了确保整个流程的完整性,需要对失败的任务进行重试,例如,需要进行状态通知的任务,需要进行短信发送的任务,需要进行文件保存的任务等,此类任务都可以是可重试任务,当可重试任务出现异常时,则需要对该任务进行重试,此时,将该可重试任务确定为待重试任务。
其中,分组信息可以有多种表达方式,例如可以是数字组成的分组号、也可以是文字或字母组成的分组名称等。一个任务链为一个分组,在该任务链中有多个可待重试任务,每个待重试任务的分组信息一致,但序号信息不同,每个待重试任务的序号信息与其对应的分组信息相关联。一个例子中,在A任务链中有a,b,c三个待重试任务,其中,A任务链的分组信息为1,a,b,c三个待重试任务的序号信息分别是0101,0102,0103。
在实际应用中,待重试任务的基础信息不止包括分组信息和序号信息,还可以包括系统名称信息、任务名称信息、任务状态信息、上下文信息、最大重试次数信息、回调地址信息、创建人信息、备注信息等任务基础数据。其中,系统名称信息表示待重试任务所属的业务系统的名称;任务名称信息表示待重试任务的名称,任务状态信息表示待重试任务的运行状态;例如可以是待处理、处理成功、处理失败、停止处理等状态;上下文信息表示待重试任务的重要信息数据或全部信息数据,包括待重试任务的方法名称、方法参数、路径等信息数据;最大重试次数信息表示待重试任务进行重试的最大次数;回调地址信息表示对待重试任务进行回调的地址信息;创建人信息表示创建待重试任务的技术人员信息;备注信息表示对待重试任务进行的一些备注信息,例如,表示执行待重试任务的注意事项。
服务端101用于保存客户端发送的待重试任务的基础信息;在满足重试条件时,按照任务分组中待重试任务的序号信息,依次向客户端发送待重试任务的执行指令,以使客户端依据执行指令对待重试任务进行重试。
在保存基础信息时,可以提供的通用任务保存API(Application ProgrammingInterface,应用程序编程接口)接口保存到服务端中。其中,向该API接口输入的参数是待重试任务的基础信息,例如系统名称、分组信息、序号信息、上下文信息、最大重试次数等任务基础数据。
其中,重试条件可以根据实际业务需求确定,例如,可以是在识别到重试指令后向客户端发送待重试任务的执行指令,也可以是在识别到待重试任务异常的情况下,向客户端发送任务的执行指令,具体可以参考下述实施例。
按照任务分组中任务的序号信息,依次向客户端发送待重试任务的执行指令,可以是按照待重试任务的序号信息,由小到大依次发送执行指令,当序号较小的待重试任务重试成功后,再发送序号较大的可待重试任务的执行指令。
客户端102还用于在接收到执行指令后,执行执行指令对应的待重试任务,并将执行结果发送给服务端。
客户端可以对应具体的业务系统,例如,负责短信发送业务、负责文件保存业务、负责状态通知业务等。其中,执行结果包括任务的执行状态,例如,重试成功或重试失败,以使服务端判断待重试任务是否重试成功。
在相关技术中,本领域技术人员在进行任务重试操作是按照如图2所示方法进行重试,先进行任务A处理,并判断任务A是否重试成功,若是,则更新任务A状态为处理成功,继续进行任务B处理,若否,则直接返回等待下次任务重试条件触发;同样在进行任务B处理时,若重试成功,则进行下一项任务处理或结束任务;若重试失败则返回进行任务重试直至到达重试最大次数。在到达重试最大次数后,人工进行重试记录操作,以便进行错误分析等。
而应用本申请实施例的系统,可以通过客户端将包含待重试任务的分组信息和序号信息的基础信息发送给服务端,服务端通过在满足重试条件时,按照任务分组中待重试任务的序号信息,依次向客户端发送待重试任务的执行指令,从而可以实现根据待重试任务的分组信息和序号信息,实现对待重试任务的调度,自动化的执行待重试任务,提高业务系统的运行效率。
而在一种可能的实施方式中,本申请实施例中的服务端还用于:
接收执行结果,并在当前序号对应的待重试任务执行失败时,向客户端发送停止指令,以使客户端停止对序号数值大于当前序号的待重试任务进行重试,并记录重试失败次数;若重试失败次数达到预设重试次数阈值,终止任务分组中待重试任务的重试并进行报警。
在对重试失败进行记录时,可以记录多项数据,例如,关联任务ID(Identitydocument,身份标识号)、重试状态、重试时间、耗时、备注。其中,关联任务ID表示与待重试任务相关联的任务的ID;重试状态表示待重试任务重试成功或失败;重试时间表示待重试任务执行的时间;耗时表示待重试任务执行过程所需的时间,备注可以是待重试任务执行成功或失败的原因。
其中,预设重试次数阈值为最大重试失败次数,在待重试任务失败时,则进行重试失败记录,获得一条重试任务记录数据,若重试任务记录数据的数量等于重试失败次数,则终止所有任务重试,并进行报警。
一个例子中,服务端可以每间隔一定时间发送执行指令,例如,每间隔5分钟发送待重试任务的执行指令。假设共有待重试任务1、待重试任务2、待重试任务3待执行,每间隔5分钟发送针对待重试任务1的执行指令,客户端在接收到执行指令后执行待重试任务1并将执行结果返还给服务端,在执行结果表示待重试任务1重试成功时,则发送针对待重试任务2的执行指令,以此类推;若执行结果表示待重试任务1重试失败,则停止本轮重试,不再发送针对待重试任务2和待重试任务3的执行指令并针对本次待重试任务1重试失败进行记录,等待下一个5分钟继续发送针对待重试任务1的执行指令。
应用本申请实施例的系统,可以在每次待重试任务执行失败时进行记录,从而在重试失败次数到达预设重试次数阈值时,直接获取到每次重试失败时的记录数据,避免再次进行人工记录等操作,且有利于对任务进行追溯,从而提高待重试任务的重试效率,进而提高业务系统的运行速率。
在一种可能的实施方式中,基础信息还包括待重试任务的参数信息,
其中,待重试任务的参数信息可以包括待重试任务的路径信息、方法参数等重要信息数据,以便于根据待重试任务的参数信息确定具体的待重试任务,通常情况下,待重试任务信息包含在待重试任务的上下文信息中,上下文信息不仅包括待重试任务的参数信息,还可以包括与待重试任务的基础信息、待重试任务与其他任务的相关信息等,通过获取待重试任务的上下文信息获取到待重试任务的参数信息。
客户端还用于通过软件开发工具包SDK对可进行重试的任务进行标记,得到可重试任务。
在实际应用中,确定可重试任务可以是人工进行确定,也可以是客户端通过预先训练的方法进行确定。在确定可重试任务后,客户端使用SDK(Software Development Kit,软件开发工具包)对可重试任务进行标记。
客户端具体用于在可重试任务异常的情况下,确定该可重试任务为待重试任务,判断是否获取到待重试任务的分组信息;
若是,则按照待重试任务在任务分组中的执行顺序,生成待重试任务的序号信息,并将待重试任务的参数信息进行序列化,生成序列化的参数信息并发送至服务端;
若否,则创建待重试任务的分组信息和序号信息,并将待重试任务的参数信息进行序列化,生成序列化的参数信息并发送至服务端。
其中,SDK在标识某个可重试任务任务为待重试任务后,被标记的待重试任务处理失败后会自动创建任务分组信息。在可重试任务异常的情况下,若获取到预先创建的分组信息,则依照该任务分组中的待重试任务的顺序,将该任务分组中最后一个待重试任务的序号信息进行自增,作为该待重试任务的序号信息。
一个例子中,获取到待重试任务d的分组信息为任务链1,在任务链1中,分别有待重试任务a、待重试任务b、待重试任务c,各自对应的序号信息为0101、0102、0103,则在将待重试任务d加入任务链1后,其序号信息为0104。
服务端还用于保存客户端发送的序列化的参数信息,其中,执行指令中包括序列化的参数信息;
客户端还用于,对序列化的参数信息进行反序列化获得待重试任务的参数信息;根据参数信息,确定执行指令对应的待重试任务。
应用本申请实施例的系统,可以通过SDK对可重试任务进行标记,从而自动生成待重试任务的分组信息,使得服务端能够根据待重试任务的分组信息和序号信息,按照顺序进行任务调度,避免人工的进行任务执行指令的下发,从而提高任务重试的效率,增加了业务系统的运行速率。此外,将待重试任务的信息进行序列化保存,可以有利于数据传递和存储,减少数据丢失的可能性,从而避免任务丢失,提供任务数据持久化的能力。
在一种可能的实施方式中,基础信息还包括回调地址和系统名称,
服务端具体用于根据回调地址,和/或系统名称,确定目标回调接口;通过目标回调接口,向客户端发送包括序列化的参数信息的执行指令。
在实际应用中,SDK会为客户端开放统一的重试回调接口,其输入参数包括待重试任务的上下文信息、待重试任务来源IP(Internet Protoco,网际协议)、任务名称等信息。其中,待重试任务来源IP表示待重试任务对应的客户端中的业务系统的IP地址,任务名称为待重试任务的名称。
其中,客户端中存在多个业务系统,每个业务系统都有各自对应的系统名称和回调接口。服务端在发送执行指令时可以通过系统名称或者回调地址远程请求客户端的目标回调接口,也可以同时通过系统名称和回调地址远程请求客户端的目标回调接口,然后通过目标回调接口返回执行结果。
一个例子中,接口A对应的业务系统的系统名称为“短信发送”,该接口的回调地址为http://www.xxxx.com/0001,接口B对应的业务系统的系统名称为“文件保存”,该接口的回调地址为http://www.xxxx.com/0002。以接口A为例,在确认目标回调接口时,既可以通过系统名称“短信发送”确认接口A为目标回调接口,也可以通过回调地址“http://www.xxxx.com/0001”确认接口A为目标回调接口,还可以同时通过系统名称“短信发送”和回调地址“http://www.xxxx.com/0001”确认接口A为目标回调接口。
客户端,具体用于通过目标回调接口接收执行指令,获取执行指令中的序列化的参数信息;对序列化的参数信息进行反序列化,获取待重试任务的参数信息并根据参数信息确定待重试任务;执行待重试任务并将执行结果通过目标回调接口发送给服务端;
服务端,还用于接收目标回调接口发送的执行结果。
其中,目标回调接口的执行逻辑是先对序列化的参数信息进行反序列化,获得待重试任务的参数信息,确定具体的待重试任务,然后通过代理的方式执行待重试任务的具体逻辑,并将执行结果返回至服务端。
应用本申请实施例的系统,可以通过目标回调接口,代理执行待重试任务,从而回调的方式代理执行各待重试任务,相较于针对待重试任务定制开发重试任务系统,本申请实施例的系统可以减少制作成本,适用性更广。
在本申请实施例的第二方面,提供一种任务重试管理方法,该方法应用于服务端,包括如图3所示步骤:
步骤S301:保存客户端发送的待重试任务的基础信息;其中,基础信息包括待重试任务的分组信息和序号信息,分组信息表示待重试任务所属的任务分组,序号信息表示待重试任务在任务分组中的执行顺序。
步骤S302:在满足重试条件时按照任务分组中待重试任务的序号信息,依次向客户端发送待重试任务的执行指令,以使客户端依据执行指令对待重试任务进行重试。
应用本申请实施例的方法,通过客户端将包含待重试任务的分组信息和序号信息的基础信息发送给服务端,服务端通过在满足重试条件时,按照任务分组中任务的序号信息,依次向客户端发送任务的执行指令,从而可以实现根据可执行任务的分组信息和序号信息,实现对待重试任务的调度,自动化的执行待重试任务,提高业务系统的运行效率。
在一种可能的实施方式中,本申请实施例的方法还包括以下步骤:
步骤一:在向客户端发送待重试任务的执行指令后,接收客户端发送的执行结果。
步骤二:当前序号对应的待重试任务执行失败时,向客户端发送停止指令,以使客户端停止对序号数值大于当前序号的待重试任务进行重试,并记录重试失败次数。
在一种可能的实施方式中,本申请实施例的方法还包括以下步骤:
若重试失败次数达到预设重试次数阈值,终止任务分组中待重试任务的重试并进行报警。
应用本申请实施例的方法,可以在每次待重试任务执行失败时进行记录,从而在重试失败次数到达预设重试次数阈值时,直接获取到每次重试失败时的记录数据,避免再次进行人工记录等操作,且有利于对任务进行追溯,从而提高待重试任务的重试效率,进而提高业务系统的运行速率。
在一种可能的实施方式中,基础信息还包括待重试任务的参数信息,则本申请实施例的方法还可以包括以下步骤:
保存客户端发送的序列化的参数信息,其中,参数消息为唯一表征待重试任务的信息;执行指令中包括序列化的参数信息,以使客户端根据参数信息确定执行指令对应的待重试任务。
应用本申请实施例的方法,可以将待重试任务的信息进行序列化保存,可以有利于数据传递和存储,减少数据丢失的可能性,从而避免任务丢失,提供任务数据持久化的能力。
在一种可能的实施方式中,基础信息包括回调地址和系统名称,则步骤S302中向客户端发送任务的执行指令的步骤可以包括以下步骤:
步骤1:根据回调地址,和/或系统名称,确定目标回调接口。
步骤2:通过目标回调接口,向客户端发送包括序列化的参数信息的执行指令。
应用本申请实施例的方法,可以通过目标回调接口,客户端进行代理执行待重试任务,从而回调的方式代理执行各待重试任务,相较于针对待重试任务定制开发重试任务系统,本申请实施例的方法可以减少制作成本,适用性更广。
在一种可能的实施方式中,本申请实施例的方法还包括以下步骤:
步骤Ⅰ:根据各待重试任务的基础信息,确定各任务分组中的待重试任务。
步骤Ⅱ:并行下发各任务分组的执行指令,其中,不同任务分组中待重试任务的执行指令并行下发,同一任务分组中的待重试任务的执行指令,按照序号信息依次下发。
在实际应用中,各任务分组之间的待重试任务执行时互不影响,因此可以并行对各个任务分组执行待重试任务执行指令的下发。例如,可以获取各待重试任务的基础信息,通过基础信息中的分组信息,确认处于同一任务分组的待重试任务,对各任务分组中的待重试任务并行下发执行指令。
一个例子中,有任务分组A和任务分组B,任务分组A中有待重试任务a1、a2和a3,任务分组B中有待重试任务b1、b2和b3,任务分组A和任务分组B之间互不影响,服务端可以并行下发执行待重试任务a1的执行指令和执行有待重试任务b1的执行指令。在任务分组A中,服务端按照序号信息,依次下发有待重试任务a1、a2和a3的执行指令,同理,在任务分组B中,服务端按照序号信息,依次下发有待重试任务b1、b2和b3的执行指令。
应用本申请实施例的方法,可以对不同任务分组并行下发待重试任务的执行指令,实现多个任务分组同时执行待重试任务,从而提高待重试任务的重试效率,进而提高业务系统的运行速率。
以下一个例子,用以具体说明本申请实施例的方法,如图4所示,其中,任务平台为服务端,业务系统为客户端:
首先,服务端定时扫描待处理的任务,例如,每间隔5分钟扫描待处理的任务,其中,待处理的任务为待重试任务。获取待重试任务的分组信息和序号信息,针对每一个任务分组,对待重试任务按序号回调,其中,每个任务分组彼此之间互不影响,可按顺序进行也可同时进行。在任务回调时,可以远程调用客户端中的统一任务回调接口,其中,统一任务回调接口为目标回调接口,目标回调接口代理调用执行任务具体执行逻辑,并将结果返还给服务端。
服务端在获取执行结果后,判断待重试任务是否重试成功,即回调处理是否成功,若是,则对该待重试任务进行更新任务状态,并判断该待重试任务所在分组内的分组任务是否执行完成,若是,则结束整个重试任务,若否,则回调下一个待重试任务。若回调处理失败,则判断重试次数是否达到最大重试次数,若是,则停止执行任务,更新任务状态失败并报警通知,以便进行人工干预;若否,则进行重试记录,增加一条重试记录并等待下次重试。
应用本申请实施例的方法,通过在满足重试条件时,按照任务分组中任务的序号信息,依次向客户端发送任务的执行指令,从而可以实现根据可执行任务的分组信息和序号信息,实现对待重试任务的调度,自动化的执行待重试任务,提高业务系统的运行效率。
在本申请实施例的第三方面,提供一种任务重试管理方法,该方法应用于客户端,包括如图5所示步骤:
步骤S501:在可重试任务异常的情况下,确定该可重试任务为待重试任务,生成待重试任务的基础信息,并发送给服务端,其中,基础信息包括待重试任务的分组信息和序号信息,分组信息表示待重试任务所属的任务分组,序号信息表示待重试任务在任务分组中的执行顺序。
步骤S502:在接收到服务端发送的执行指令后,执行执行指令对应的待重试任务,并将执行结果发送给服务端。
应用本申请实施例的方法,通过客户端将包含待重试任务的分组信息和序号信息的基础信息发送给服务端,服务端通过在满足重试条件时,按照任务分组中任务的序号信息,依次向客户端发送任务的执行指令,从而客户端根据执行指令可以实现根据可执行任务的分组信息和序号信息,实现对待重试任务的调度,自动化的执行待重试任务,提高业务系统的运行效率。
在一种可能的实施方式中,基础信息还包括待重试任务的参数信息,参数消息为唯一表征待重试任务的信息;则本申请实施例的方法还可以包括以下步骤:
步骤A:通过软件开发工具包SDK对可进行重试的任务进行标记,得到可重试任务。
步骤S501可以包括以下步骤:
步骤B:判断是否获取到待重试任务的分组信息。
若是,则执行步骤C:按照待重试任务在任务分组中的执行顺序,生成待重试任务的序号信息,并将待重试任务的参数信息进行序列化,生成序列化的参数信息并发送至服务端。
若否,则执行步骤D:创建待重试任务的分组信息和序号信息,并将待重试任务的参数信息进行序列化,生成序列化的参数信息并发送至服务端。
相应地,执行指令中包括序列化的参数信息,本申请实施例的方法还包括以下步骤:
步骤E:对序列化的参数信息进行反序列化获得执行指令中包括序列化的参数信息,的参数信息。
步骤F:根据参数信息,确定执行指令对应的待重试任务。
以下一个例子,用以具体说明本申请实施例的方法,如图6所示,当客户端中的业务系统执行到被标记为可重试的方法,即待重试任务时,判断该待重试任务是否存在重试分组,即是否获取到待重试任务的分组信息,若是,则对该任务分组里最后一个待重试任务的序号进行自增,即分组任务序号自增,确定该待重试任务的序号信息。若否,则执行该待重试任务,即执行方法逻辑,并判断是否执行成功,若是则结束任务,若否,则初始化重试分组信息到上下文,即创建该待重试任务的分组信息和序号信息。在获取到待重试任务的分组信息和序号信息后,将任务上下文序列化,并发送给服务端中的任务平台进行任务保存,以便于后续通过上下文信息获取到待重试任务的参数信息,并根据参数信息进行远程调用确定待重试任务。
应用本申请实施例的方法,可以通过SDK对可重试任务进行标记,从而自动生成待重试任务的分组信息,使得服务端能够根据待重试任务的分组信息和序号信息,按照顺序进行任务调度,避免人工的进行任务执行指令的下发,从而提高任务重试的效率,增加了业务系统的运行速率。此外,将待重试任务的信息进行序列化发送给服务端进行保存,可以有利于数据传递和存储,减少数据丢失的可能性,从而避免任务丢失,提供任务数据持久化的能力。
在一种可能的实施方式中,基础信息还包括回调地址和系统名称,则步骤S502可以包括以下步骤:
步骤a:通过目标回调接口接收执行指令,获取执行指令中的序列化的参数信息;其中,目标回调接口根据回调地址,和/或系统名称确定。
步骤b:对序列化的参数信息进行反序列化,获取待重试任务的参数信息。
步骤c:根据待重试任务的参数信息确定待重试任务。
步骤d:执行待重试任务并将执行结果通过目标回调接口发送给服务端。
应用本申请实施例的方法,可以通过目标回调接口,代理执行待重试任务,从而回调的方式代理执行各待重试任务,相较于针对待重试任务定制开发重试任务系统,本申请实施例的方法可以减少制作成本,适用性更广。
在本申请实施例的第四方面,提供一种任务重试管理装置,该装置应用于服务端,包括如图7所示结构:
基础信息保存模块701,用于保存客户端发送的待重试任务的基础信息;其中,基础信息包括待重试任务的分组信息和序号信息,分组信息表示待重试任务所属的任务分组,序号信息表示待重试任务在任务分组中的执行顺序。
执行指令发送模块702,用于在满足重试条件时按照任务分组中待重试任务的序号信息,依次向客户端发送待重试任务的执行指令,以使客户端依据执行指令对待重试任务进行重试。
应用本申请实施例的装置,通过客户端将包含待重试任务的分组信息和序号信息的基础信息发送给服务端,服务端通过在满足重试条件时,按照任务分组中任务的序号信息,依次向客户端发送任务的执行指令,从而可以实现根据可执行任务的分组信息和序号信息,实现对待重试任务的调度,自动化的执行待重试任务,提高业务系统的运行效率。
在一种可能的实施方式中,该装置还包括:
执行结果接收模块,用于在向客户端发送待重试任务的执行指令后,接收客户端发送的执行结果。
重试记录模块,用于在当前序号对应的待重试任务执行失败时,向客户端发送停止指令,以使客户端停止对序号数值大于当前序号的待重试任务进行重试,并记录重试失败次数。
在一种可能的实施方式中,该装置还包括:
报警模块,用于若重试失败次数达到预设重试次数阈值,终止任务分组中任务的待重试重试并进行报警。
应用本申请实施例的装置,可以在每次待重试任务执行失败时进行记录,从而在重试失败次数到达预设重试次数阈值时,直接获取到每次重试失败时的记录数据,避免再次进行人工记录等操作,且有利于对任务进行追溯,从而提高待重试任务的重试效率,进而提高业务系统的运行速率。
在一种可能的实施方式中,基础信息还包括待重试任务的参数信息,
则该装置还包括:
序列化参数信息保存模块,用于保存客户端发送的序列化的参数信息,其中,参数消息为唯一表征待重试任务的信息;执行指令中包括序列化的参数信息,以使客户端根据参数信息确定执行指令对应的待重试任务。
应用本申请实施例的装置,可以将待重试任务的信息进行序列化保存,可以有利于数据传递和存储,减少数据丢失的可能性,从而避免任务丢失,提供任务数据持久化的能力。
在一种可能的实施方式中,基础信息包括回调地址和系统名称,
执行指令发送模块,包括:
目标回调接口确定子模块,具体用于根据回调地址,和/或系统名称,确定目标回调接口;
执行指令发送子模块,具体用于通过目标回调接口,向客户端发送包括序列化的参数信息的执行指令。
应用本申请实施例的装置,可以通过目标回调接口,客户端进行代理执行待重试任务,从而回调的方式代理执行各待重试任务,相较于针对待重试任务定制开发重试任务系统,本申请实施例的方法可以减少制作成本,适用性更广。
在一种可能的实施方式中,该装置还包括:
任务分组确定模块,用于根据各待重试任务的基础信息,确定各任务分组中的待重试任务;
执行指令下发模块,用于并行下发各任务分组的执行指令,其中,不同任务分组中待重试任务的执行指令并行下发,同一任务分组中的待重试任务的执行指令,按照序号信息依次下发。
应用本申请实施例的装置,可以对不同任务分组并行下发待重试任务的执行指令,实现多个任务分组同时执行待重试任务,从而提高待重试任务的重试效率,进而提高业务系统的运行速率。
在本申请实施例的第五方面,提供一种任务重试管理装置,该装置应用于客户端,包括如图8所示结构:
基础信息发送模块801,用于在可重试任务异常的情况下,确定该可重试任务为待重试任务,生成待重试任务的基础信息,并发送给服务端,其中,基础信息包括待重试任务的分组信息和序号信息,分组信息表示待重试任务所属的任务分组,序号信息表示待重试任务在任务分组中的执行顺序。
任务执行模块802,用于在接收到服务端发送的执行指令后,执行执行指令对应的待重试任务,并将执行结果发送给服务端。
应用本申请实施例的装置,通过客户端将包含待重试任务的分组信息和序号信息的基础信息发送给服务端,服务端通过在满足重试条件时,按照任务分组中任务的序号信息,依次向客户端发送任务的执行指令,从而客户端根据执行指令可以实现根据可执行任务的分组信息和序号信息,实现对待重试任务的调度,自动化的执行待重试任务,提高业务系统的运行效率。
在一种可能的实施方式中,基础信息还包括待重试任务的参数信息,参数消息为唯一表征待重试任务的信息;该装置还包括:
任务标记模块,用于通过软件开发工具包SDK对可进行重试的任务进行标记,得到可重试任务。
基础信息发送模块,包括:
分组信息获取子模块,具体用于判断是否获取到待重试任务的分组信息。
序列化第一子模块,具体用于若是,则按照待重试任务在任务分组中的执行顺序,生成待重试任务的序号信息,并将待重试任务的参数信息进行序列化,生成序列化的参数信息并发送至服务端。
序列化第二子模块,具体用于若否,则创建待重试任务的分组信息和序号信息,并将待重试任务的参数信息进行序列化,生成序列化的参数信息并发送至服务端。
该装置还包括:
反序列化模块,用于对序列化的参数信息进行反序列化获得待重试任务的参数信息。
任务确定模块,用于根据参数信息,确定执行指令对应的待重试任务。
应用本申请实施例的装置,可以通过SDK对可重试任务进行标记,从而自动生成待重试任务的分组信息,使得服务端能够根据待重试任务的分组信息和序号信息,按照顺序进行任务调度,避免人工的进行任务执行指令的下发,从而提高任务重试的效率,增加了业务系统的运行速率。此外,将待重试任务的信息进行序列化发送给服务端进行保存,可以有利于数据传递和存储,减少数据丢失的可能性,从而避免任务丢失,提供任务数据持久化的能力。
在一种可能的实施方式中,基础信息还包括回调地址和系统名称,则任务执行模块,包括:
执行指令接收子模块,具体用于通过目标回调接口接收执行指令,获取执行指令中的序列化的参数信息;其中,目标回调接口根据回调地址,和/或系统名称确定。
参数信息获取子模块,具体用于对序列化的参数信息进行反序列化,获取待重试任务的参数信息。
待重试任务确定子模块,具体用于根据待重试任务的参数信息确定待重试任务。
执行结果发送子模块,具体用于执行待重试任务并将执行结果通过目标回调接口发送给服务端。
应用本申请实施例的装置,可以通过目标回调接口,代理执行待重试任务,从而回调的方式代理执行各待重试任务,相较于针对待重试任务定制开发重试任务系统,本申请实施例的方法可以减少制作成本,适用性更广。
本申请实施例还提供了一种电子设备,应用于服务端,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:
保存客户端发送的待重试任务的基础信息;其中,基础信息包括待重试任务的分组信息和序号信息,分组信息表示待重试任务所属的任务分组,序号信息表示待重试任务在任务分组中的执行顺序;
在满足重试条件时按照任务分组中待重试任务的序号信息,依次向客户端发送待重试任务的执行指令,以使客户端依据执行指令对待重试任务进行重试。
本申请实施例还提供了一种电子设备,应用于客户端,如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现如下步骤:
在可重试任务异常的情况下,确定该可重试任务为待重试任务,生成待重试任务的基础信息,并发送给服务端,其中,基础信息包括待重试任务的分组信息和序号信息,分组信息表示待重试任务所属的任务分组,序号信息表示待重试任务在任务分组中的执行顺序;
在接收到服务端发送的执行指令后,执行执行指令对应的待重试任务。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中任一所述的任务重试管理方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的任务重试管理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法、装置、电子设备及存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (17)

1.一种任务重试管理系统,其特征在于,所述任务重试管理系统包括:
服务端与客户端;
所述客户端用于在可重试任务异常的情况下,确定该可重试任务为待重试任务,生成所述待重试任务的基础信息,并发送给所述服务端,其中,所述基础信息包括所述待重试任务的分组信息和序号信息,所述分组信息表示所述待重试任务所属的任务分组,所述序号信息表示所述待重试任务在任务分组中的执行顺序;
所述服务端用于保存所述客户端发送的所述待重试任务的基础信息;在满足重试条件时,按照所述任务分组中待重试任务的序号信息,依次向所述客户端发送待重试任务的执行指令,以使所述客户端依据所述执行指令对所述待重试任务进行重试;
所述客户端还用于在接收到所述执行指令后,执行所述执行指令对应的待重试任务,并将执行结果发送给所述服务端。
2.根据权利要求1所述的系统,其特征在于,所述服务端还用于:
接收所述执行结果,并在当前序号对应的待重试任务执行失败时,向客户端发送停止指令,以使客户端停止对序号数值大于当前序号的待重试任务进行重试,并记录重试失败次数;若所述重试失败次数达到预设重试次数阈值,终止所述任务分组中待重试任务的重试并进行报警。
3.根据权利要求1所述的系统,其特征在于,所述基础信息还包括所述待重试任务的参数信息,
所述客户端还用于通过软件开发工具包SDK对可进行重试的任务进行标记,得到可重试任务;
所述客户端具体用于在可重试任务异常的情况下,确定该可重试任务为待重试任务,判断是否获取到所述待重试任务的分组信息;
若是,则按照所述待重试任务在任务分组中的执行顺序,生成所述待重试任务的序号信息,并将所述待重试任务的参数信息进行序列化,生成序列化的参数信息并发送至所述服务端;
若否,则创建所述待重试任务的分组信息和序号信息,并将所述待重试任务的参数信息进行序列化,生成序列化的参数信息并发送至所述服务端;
所述服务端还用于保存所述客户端发送的所述序列化的参数信息,其中,所述执行指令中包括序列化的参数信息;
所述客户端还用于,对所述序列化的参数信息进行反序列化获得所述待重试任务的参数信息;根据所述参数信息,确定所述执行指令对应的待重试任务。
4.根据权利要求3所述的系统,其特征在于,所述基础信息还包括回调地址和系统名称,
所述服务端具体用于根据所述回调地址,和/或所述系统名称,确定目标回调接口;通过所述目标回调接口,向所述客户端发送包括所述序列化的参数信息的执行指令;
所述客户端,具体用于通过目标回调接口接收执行指令,获取所述执行指令中的所述序列化的参数信息;对所述序列化的参数信息进行反序列化,获取所述待重试任务的参数信息并根据所述参数信息确定待重试任务;执行所述待重试任务并将所述执行结果通过所述目标回调接口发送给所述服务端;
所述服务端,还用于接收所述目标回调接口发送的所述执行结果。
5.一种任务重试管理方法,其特征在于,所述方法应用于服务端,所述方法包括:
保存客户端发送的待重试任务的基础信息;其中,所述基础信息包括待重试任务的分组信息和序号信息,所述分组信息表示所述待重试任务所属的任务分组,所述序号信息表示所述待重试任务在任务分组中的执行顺序;
在满足重试条件时按照所述任务分组中待重试任务的序号信息,依次向所述客户端发送待重试任务的执行指令,以使所述客户端依据所述执行指令对所述待重试任务进行重试。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在向所述客户端发送待重试任务的执行指令后,接收客户端发送的执行结果;
当前序号对应的待重试任务执行失败时,向客户端发送停止指令,以使客户端停止对序号数值大于当前序号的待重试任务进行重试,并记录重试失败次数。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述重试失败次数达到预设重试次数阈值,终止所述任务分组中待重试任务的重试并进行报警。
8.根据权利要求5所述的方法,其特征在于,所述基础信息还包括所述待重试任务的参数信息,
所述方法还包括:
保存所述客户端发送的序列化的参数信息,其中,所述参数消息为唯一表征待重试任务的信息;所述执行指令中包括序列化的参数信息,以使所述客户端根据所述参数信息确定所述执行指令对应的待重试任务。
9.根据权利要求8所述的方法,其特征在于,所述基础信息包括回调地址和系统名称,
所述向所述客户端发送任务的执行指令的步骤包括:
根据所述回调地址,和/或所述系统名称,确定目标回调接口;
通过所述目标回调接口,向所述客户端发送包括所述序列化的参数信息的执行指令。
10.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据各所述待重试任务的基础信息,确定各任务分组中的待重试任务;
并行下发各任务分组的执行指令,其中,不同任务分组中待重试任务的执行指令并行下发,同一任务分组中的待重试任务的执行指令,按照序号信息依次下发。
11.一种任务重试管理方法,其特征在于,所述方法应用于客户端,所述方法包括:
在可重试任务异常的情况下,确定该可重试任务为待重试任务,生成所述待重试任务的基础信息,并发送给服务端,其中,所述基础信息包括所述待重试任务的分组信息和序号信息,所述分组信息表示所述待重试任务所属的任务分组,所述序号信息表示所述待重试任务在任务分组中的执行顺序;
在接收到服务端发送的所述执行指令后,执行所述执行指令对应的待重试任务。
12.根据权利要求11所述的方法,其特征在于,所述基础信息还包括所述待重试任务的参数信息,所述参数消息为唯一表征待重试任务的信息;所述方法还包括:
通过软件开发工具包SDK对可进行重试的任务进行标记,得到可重试任务;
所述在可重试任务异常的情况下,确定该可重试任务为待重试任务,生成所述待重试任务的基础信息,并发送给服务端,包括:
判断是否获取到所述待重试任务的分组信息;
若是,则按照所述待重试任务在任务分组中的执行顺序,生成所述待重试任务的序号信息,并将所述待重试任务的参数信息进行序列化,生成序列化的参数信息并发送至所述服务端;
若否,则创建所述待重试任务的分组信息和序号信息,并将所述待重试任务的参数信息进行序列化,生成序列化的参数信息并发送至所述服务端;
所述执行指令中包括序列化的参数信息,所述方法还包括:
对所述序列化的参数信息进行反序列化获得所述待重试任务的参数信息;
根据所述参数信息,确定所述执行指令对应的待重试任务。
13.根据权利要求12所述的方法,其特征在于,所述基础信息还包括回调地址和系统名称,所述在接收到所述执行指令后,执行所述执行指令对应的待重试任务,并将执行结果发送给所述服务端,包括:
通过目标回调接口接收执行指令,获取所述执行指令中的所述序列化的参数信息;其中,所述目标回调接口根据所述回调地址,和/或所述系统名称确定;
对所述序列化的参数信息进行反序列化,获取所述待重试任务的参数信息;
根据所述待重试任务的参数信息确定待重试任务;
执行所述待重试任务并将所述执行结果通过所述目标回调接口发送给所述服务端。
14.一种任务重试管理装置,其特征在于,所述装置应用于服务端,所述装置包括:
基础信息保存模块,用于保存客户端发送的待重试任务的基础信息;其中,所述基础信息包括待重试任务的分组信息和序号信息,所述分组信息表示所述待重试任务所属的任务分组,所述序号信息表示所述待重试任务在任务分组中的执行顺序;
执行指令发送模块,用于在满足重试条件时按照所述任务分组中待重试任务的序号信息,依次向所述客户端发送待重试任务的执行指令,以使所述客户端依据所述执行指令对所述待重试任务进行重试。
15.一种任务重试管理装置,其特征在于,所述装置应用于客户端,所述装置包括:
基础信息发送模块,用于在可重试任务异常的情况下,确定该可重试任务为待重试任务,生成所述待重试任务的基础信息,并发送给服务端,其中,所述基础信息包括所述待重试任务的分组信息和序号信息,所述分组信息表示所述待重试任务所属的任务分组,所述序号信息表示所述待重试任务在任务分组中的执行顺序;
任务执行模块,用于在接收到服务端发送的所述执行指令后,执行所述执行指令对应的待重试任务。
16.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求5-13任一所述的方法步骤。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求5-13任一所述的方法步骤。
CN202311416605.4A 2023-10-30 2023-10-30 任务重试管理系统、方法、装置、电子设备及存储介质 Pending CN117472627A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311416605.4A CN117472627A (zh) 2023-10-30 2023-10-30 任务重试管理系统、方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311416605.4A CN117472627A (zh) 2023-10-30 2023-10-30 任务重试管理系统、方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117472627A true CN117472627A (zh) 2024-01-30

Family

ID=89628622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311416605.4A Pending CN117472627A (zh) 2023-10-30 2023-10-30 任务重试管理系统、方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117472627A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117707831A (zh) * 2024-02-05 2024-03-15 云账户技术(天津)有限公司 一种前端接口错误的报警方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117707831A (zh) * 2024-02-05 2024-03-15 云账户技术(天津)有限公司 一种前端接口错误的报警方法和装置
CN117707831B (zh) * 2024-02-05 2024-04-09 云账户技术(天津)有限公司 一种前端接口错误的报警方法和装置

Similar Documents

Publication Publication Date Title
US7937624B2 (en) Method for handling a detected error in a script-based application
CN107016480B (zh) 任务调度方法、装置及系统
CN107241315B (zh) 银行网关接口的接入方法、装置及计算机可读存储介质
CN112099935B (zh) 一种任务处理方法及装置
US8914335B2 (en) Provisioning method and system
CN117472627A (zh) 任务重试管理系统、方法、装置、电子设备及存储介质
CN111371898B (zh) 一种消息监听方法、装置、设备及存储介质
CN112256701A (zh) 一种动态埋点数据采集系统及其使用方法
WO2016116013A1 (zh) 软件升级方法和系统
CN110995522B (zh) 一种信息处理方法及装置
US8103905B2 (en) Detecting and recovering from process failures
CN110730197B (zh) 一种服务发现方法和系统
CN113379501A (zh) 消息推送方法、装置、电子设备及存储介质
CN115866017B (zh) 消息处理方法、装置、通信设备及存储介质
CN112506590A (zh) 接口调用方法、装置及电子设备
CN109995863B (zh) 一种动态资源下载方法、装置、电子设备及存储介质
CN109375946B (zh) 一种管理节点包管理器的组件包的方法及系统
US12120086B2 (en) Service discovery and renaming
CN111240760A (zh) 基于注册中心的应用发布方法、系统、存储介质及设备
CN115037653B (zh) 业务流量监控方法、装置、电子设备和存储介质
CN112131185B (zh) 一种超融合分布式存储节点内服务高可用方法及装置
CN112579325B (zh) 一种业务对象的处理方法、装置、电子设备和存储介质
CN113961330A (zh) 分布式定时任务执行方法、装置、设备和计算机可读介质
CN114610413A (zh) 基于Java的同异步任务的执行方法、装置、设备及存储介质
CN113704355A (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