CN112199228A - 一种请求超时处理方法、装置、终端及存储介质 - Google Patents

一种请求超时处理方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN112199228A
CN112199228A CN202011112848.5A CN202011112848A CN112199228A CN 112199228 A CN112199228 A CN 112199228A CN 202011112848 A CN202011112848 A CN 202011112848A CN 112199228 A CN112199228 A CN 112199228A
Authority
CN
China
Prior art keywords
processing
request
task
response
callback
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.)
Withdrawn
Application number
CN202011112848.5A
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202011112848.5A priority Critical patent/CN112199228A/zh
Publication of CN112199228A publication Critical patent/CN112199228A/zh
Withdrawn legal-status Critical Current

Links

Images

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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本发明公开一种请求超时处理方法、装置、终端及存储介质,接收到前端请求时,判断是否有相同请求的任务在处理;若没有,则建立任务信息,进行任务处理;若有,则保存请求响应,待对应相同请求任务处理完成后,向前端反馈处理结果。本发明可以减少重试请求产生的处理任务数量,降低重试请求的触发频率,降低重试对服务产生的额外负担,提升服务的有效任务处理密度。

Description

一种请求超时处理方法、装置、终端及存储介质
技术领域
本发明涉及请求处理领域,具体涉及一种请求超时处理方法、装置、终端及存储介质。
背景技术
后端业务处理前端请求的通常方式为同步处理,异步等待处理等方式,任务处理完成后,将处理结果返回给前端,针对每一次前端请求均会触发一次独立的后端处理任务,不区分请求是否由重试机制触发。当后端针对部分请求的处理出现缓慢时,会引发前端请求的超时重试机制,导致后端系统的负载进一步增加,产生雪崩效应,造成请求的更加缓慢。
发明内容
为解决上述问题,本发明提供一种请求超时处理方法、装置、终端及存储介质,减少重试请求引发的实际后端处理任务量,避免由于前端的不断重试再次对后端产生压力。
本发明的技术方案是:一种请求超时处理方法,包括以下步骤:
接收到前端请求时,判断是否有相同请求的任务在处理;
若没有,则建立任务信息,进行任务处理;
若有,则保存请求响应,待对应相同请求任务处理完成后,向前端反馈处理结果。
进一步地,建立任务信息时,还设置该任务信息的处理回调和响应回调;其中处理回调定义了任务处理的具体过程,响应回调定义了处理结果反馈到前端的具体过程;
所述任务处理具体为:执行处理回调进行任务处理;
所述保存请求响应具体为:更新对应请求的响应回调;
所述向前端反馈处理结果具体为:调用最后一次相同请求的响应回调向前端反馈处理结果。
进一步地,处理回调所定义的任务处理的具体过程包含将处理结果放入任务信息。
进一步地,向前端反馈处理结果后,释放对应任务信息。
本发明的技术方案还包括一种请求超时处理装置,包括,
请求接收处理模块:接收前端发送的请求,并判断是否有相同请求的任务在处理;
任务信息建立模块:建立任务信息;
处理控制模块:进行任务处理;
响应保存模块:当有相同请求任务在处理时,对新接收的请求保存请求响应;
响应控制模块:待请求任务处理完成后,向前端反馈处理结果。
进一步地,任务信息建立模块还设置该任务信息的处理回调和响应回调;其中处理回调定义了任务处理的具体过程,响应回调定义了处理结果反馈到前端的具体过程;
处理控制模块执行处理回调进行任务处理;
响应保存模块对新接收的请求保存请求响应是指更新对应请求的响应回调;
响应控制模块待请求处理完成后,调用最后一次相同请求的响应回调向前端反馈处理结果。
进一步地,处理回调所定义的任务处理的具体过程包含将处理结果放入任务信息。
进一步地,向前端反馈处理结果后,响应控制模块还释放对应任务信息。
本发明的技术方案还包括一种终端,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行上述任一项所述的方法。
本发明的技术方案还包括一种存储有计算机程序的计算机可读存储介质,该程序被处理器执行时实现如上述任一项所述的方法。
本发明提供的一种请求超时处理方法、装置、终端及存储介质,当后端任务处理时间过长,引起前端超时重试时,对重试机制产生的请求进行聚合,重试请求不触发新的处理任务。通过这种方式,可以减少重试请求产生的处理任务数量,降低重试请求的触发频率,降低重试对服务产生的额外负担,提升服务的有效任务处理密度。
附图说明
图1是本发明具体实施例一方法流程示意图;
图2是本发明具体实施例一一具体实现方式流程示意图;
图3是本发明具体实施例二结构示意框图。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
实施例一
如图1所示,本实施例提供一种请求超时处理方法,包括以下步骤:
S1,接收到前端请求时,判断是否有相同请求的任务在处理;
S2,若没有,则建立任务信息,进行任务处理;
S3,若有,则保存请求响应,待对应相同请求任务处理完成后,向前端反馈处理结果。
通过上述方法,当某请求处理时间较长时,重试机制产生的请求再次发送到后端时,由于后端已有相同请求在处理,后端针对新的请求(指重试机制产生的请求)只会保存请求响应,不会触发新的任务,在第一次的请求的任务处理完成后,再向前端反馈处理结果,需要说明的是,具体实施时,只针对最后一次请求进行反馈,即处理第一次请求任务,向最后一次请求反馈处理结果。
本实施例中,通过设置处理回调和响应回调控制任务处理和响应,即在建立任务信息时,还设置该任务信息的处理回调和响应回调;其中处理回调定义了任务处理的具体过程,响应回调定义了处理结果反馈到前端的具体过程。
步骤S2中,建立了任务信息后,即触发执行处理回调进行任务处理。另外,处理回调所定义的任务处理的具体过程包含将处理结果放入任务信息,即任务处理完成后,向任务信息中放入处理结果,以便向前端反馈。
本实施例设置响应回调,控制重试机制触发请求不建立新任务,而对重试机制触发请求进行聚合。即本实施例步骤S3中,保存请求响应具体是指更新对应请求的响应回调,每接收到一个重试机制触发的请求,更新一次对应请求的响应回调,而此时第一次请求的任务在继续处理,当第一次请求的任务处理完成后,即触发启动响应回调向前端反馈处理结果,所触发启动的响应回调已是任务处理完成前收到的最后一次重试机制触发请求的响应回调,即最终向最后第一请求反馈处理结果(其他请求可被视为已超时,不再进行响应回复)。整个过程中,只处理第一次请求的任务,之后请求不触发新的处理任务,并向最后一次请求反馈处理结果,减少重试请求产生的处理任务数量,降低重试请求的触发频率,降低重试对服务产生的额外负担,提升服务的有效任务处理密度。当然,若某次请求正常处理,未触发重试机制,请求任务处理完成后,即可调用该次请求的响应回调,针对该次请求向前端反馈处理结果。
本实施例中,向前端反馈处理结果后,释放对应任务信息,减少资源的占用。
为进一步理解本方案,以下结合上述步骤,基于本发明原理,提供一具体实现方式,如图2所示,包括以下步骤:
SS1,接收到前端请求时,判断是否有相同请求的任务在处理;
SS2,若没有相同请求的任务在处理,则建立任务信息,设置处理回调和响应回调;
SS3,触发启动处理回调,进行任务处理;
SS4,若有相同请求的任务在处理,则更新响应回调;
SS5,待第一次请求的任务处理完成后,触发启动对应响应回调,针对最后一次请求向前端反馈处理结果。
实施例二
如图3所示,结合实施例一,本实施例提供一种请求超时处理装置,包括以下功能模块。
请求接收处理模块101:接收前端发送的请求,并判断是否有相同请求的任务在处理;
任务信息建立模块102:建立任务信息;
处理控制模块103:进行任务处理;
响应保存模块104:当有相同请求任务在处理时,对新接收的请求保存请求响应;
响应控制模块105:待请求任务处理完成后,向前端反馈处理结果。
本实施例中,任务信息建立模块102还设置该任务信息的处理回调和响应回调;其中处理回调定义了任务处理的具体过程,响应回调定义了处理结果反馈到前端的具体过程。通过处理回调和响应回调控制任务处理和响应。
处理控制模块103通过执行处理回调进行任务处理;响应保存模块104对新接收的请求(指重试机制触发的请求)保存请求响应是指更新对应请求的响应回调;相应地,响应控制模块105待请求处理完成后,调用最后一次相同请求的响应回调向前端反馈处理结果。
本实施例中,处理回调所定义的任务处理的具体过程包含将处理结果放入任务信息,以便向前端反馈。
另外,向前端反馈处理结果后,响应控制模块105还释放对应任务信息,减少资源的占用。
该装置工作过程为:请求接收处理模块101接收前端请求,判断该请求的任务是否已经在执行,如果已经存在,则仅是触发响应保存模块104更新对应任务的响应回调;如果没有对应的任务,则触发任务信息建立模块102生成任务信息,设置处理回调及响应回调,进而唤醒处理控制模块103,由处理控制模块103启动处理回调执行具体的处理任务。处理回调处理完成后,会将处理结果更新到任务信息中,并唤醒响应控制模块105,由响应控制模块105调用响应回调,将处理结果反馈给前端。完成反馈后,响应控制器销毁对应的任务信息占用的资源。由于在任务处理过程中对收到的重复请求只会更新响应回调,不会触发新的任务处理,因此在任务处理完成后,只会对最后一个请求进行响应。
实施例三
本实施例提供一种终端,该终端包括处理器和存储器。
存储器用于存储处理器的执行指令。存储器可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器中的执行指令由处理器执行时,使得终端能够执行上述方法实施例中的部分或全部步骤。
处理器为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(IntegratedCircuit,简称IC) 组成,例如可以由单颗封装的IC 所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。
实施例四
本实施例提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:randomaccess memory,简称:RAM)等。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。

Claims (10)

1.一种请求超时处理方法,其特征在于,包括以下步骤:
接收到前端请求时,判断是否有相同请求的任务在处理;
若没有,则建立任务信息,进行任务处理;
若有,则保存请求响应,待对应相同请求任务处理完成后,向前端反馈处理结果。
2.根据权利要求1所述的请求超时处理方法,其特征在于,建立任务信息时,还设置该任务信息的处理回调和响应回调;其中处理回调定义了任务处理的具体过程,响应回调定义了处理结果反馈到前端的具体过程;
所述任务处理具体为:执行处理回调进行任务处理;
所述保存请求响应具体为:更新对应请求的响应回调;
所述向前端反馈处理结果具体为:调用最后一次相同请求的响应回调向前端反馈处理结果。
3.根据权利要求2所述的请求超时处理方法,其特征在于,处理回调所定义的任务处理的具体过程包含将处理结果放入任务信息。
4.根据权利要求1、2或3所述的请求超时处理方法,其特征在于,向前端反馈处理结果后,释放对应任务信息。
5.一种请求超时处理装置,其特征在于,包括,
请求接收处理模块:接收前端发送的请求,并判断是否有相同请求的任务在处理;
任务信息建立模块:建立任务信息;
处理控制模块:进行任务处理;
响应保存模块:当有相同请求任务在处理时,对新接收的请求保存请求响应;
响应控制模块:待请求任务处理完成后,向前端反馈处理结果。
6.根据权利要求5所述的请求超时处理装置,其特征在于,任务信息建立模块还设置该任务信息的处理回调和响应回调;其中处理回调定义了任务处理的具体过程,响应回调定义了处理结果反馈到前端的具体过程;
处理控制模块执行处理回调进行任务处理;
响应保存模块对新接收的请求保存请求响应是指更新对应请求的响应回调;
响应控制模块待请求处理完成后,调用最后一次相同请求的响应回调向前端反馈处理结果。
7.根据权利要求6所述的请求超时处理装置,其特征在于,处理回调所定义的任务处理的具体过程包含将处理结果放入任务信息。
8.根据权利要求5、6或7所述的请求超时处理装置,其特征在于,
向前端反馈处理结果后,响应控制模块还释放对应任务信息。
9.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-4任一项所述的方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-4任一项所述的方法。
CN202011112848.5A 2020-10-16 2020-10-16 一种请求超时处理方法、装置、终端及存储介质 Withdrawn CN112199228A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011112848.5A CN112199228A (zh) 2020-10-16 2020-10-16 一种请求超时处理方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011112848.5A CN112199228A (zh) 2020-10-16 2020-10-16 一种请求超时处理方法、装置、终端及存储介质

Publications (1)

Publication Number Publication Date
CN112199228A true CN112199228A (zh) 2021-01-08

Family

ID=74009298

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011112848.5A Withdrawn CN112199228A (zh) 2020-10-16 2020-10-16 一种请求超时处理方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN112199228A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506696A (zh) * 2021-01-22 2021-03-16 马瑞利汽车电子(广州)有限公司 一种防止模块间请求丢失的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112506696A (zh) * 2021-01-22 2021-03-16 马瑞利汽车电子(广州)有限公司 一种防止模块间请求丢失的方法

Similar Documents

Publication Publication Date Title
CN111666162A (zh) 分布式消息传输方法、装置、计算机设备及存储介质
CN111782360A (zh) 分布式任务调度方法及装置
CN110659131B (zh) 任务处理方法、电子装置、计算机设备及存储介质
CN110971591A (zh) 一种多进程访问可信应用的方法和系统
CN113157411A (zh) 一种基于Celery的可靠可配置任务系统及装置
CN112199228A (zh) 一种请求超时处理方法、装置、终端及存储介质
CN116450165A (zh) 一种快速搭建环境及部署程序的方法、系统、终端及存储介质
CN114780177B (zh) 事务执行方法及装置、存储介质及电子装置
CN110515553B (zh) 一种卷删除方法及设备
CN110543349B (zh) 一种应用启动加速方法、装置及计算机可读存储介质
US20090168092A1 (en) Job management and scheduling method for network system
CN110109747B (zh) 基于Apache Spark的数据交换方法及系统、服务器
CN112950370A (zh) 业务处理方法、装置、设备及存储介质
CN113342511A (zh) 一种分布式任务管理系统及方法
CN111611077A (zh) 任务参数处理方法、终端和存储介质
CN111708579A (zh) 一种操作系统设置恢复方法、装置、设备及存储介质
CN112084014A (zh) 一种数据处理方法、装置、设备及介质
CN111182136A (zh) 提醒任务的触发方法、系统、终端设备及存储介质
CN110704208A (zh) 多个系统的消息处理方法、服务器及存储介质
CN113672339B (zh) 提升Android开机效率的方法
CN110134502A (zh) 任务处理方法、装置、系统、计算机设备和存储介质
CN117994015B (zh) 银行作业批量调度的方法、装置、电子设备和存储介质
CN116541138A (zh) Ota升级中断方法、电子设备、车辆以及存储介质
CN115934516A (zh) 一种低代码平台的接口调试方法和装置
CN112347167A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20210108

WW01 Invention patent application withdrawn after publication