请求任务处理中队列超时的处理方法、存储介质技术

技术编号:26170337 阅读:20 留言:0更新日期:2020-10-31 13:37
本发明专利技术提供请求任务处理中队列超时的处理方法、存储介质,方法包括:设置各类型接口对应的超时时间;获取系统接口的响应时间阈值;依据一请求任务进出队列的时间点,获取耗时时间;若所述耗时时间大于所述响应时间阈值,且所述耗时时间大于所述一请求任务对应接口的超时时间,则放弃所述一请求任务。本发明专利技术能够及时清除过期无效任务,节省宝贵的资源,提高接口响应效率;缓存中的存储方式有助于提高查询效率,也更有利于管理;另外,还具有实施简便易行、成本低和效果显著等特点。

【技术实现步骤摘要】
请求任务处理中队列超时的处理方法、存储介质
本专利技术涉及请求任务处理领域,具体涉及请求任务处理中队列超时的处理方法、存储介质。
技术介绍
移动互联网蓬勃发展的今天,发展出来了各种各样的系统应用,系统之间有着各种数据交互。数据交互的方式多种多样,有通过接口进行数据访问、直接通过数据库进行交互访问、通过MQ进行消息通信,或者其他方式。现在经常使用http协议或者RPC等方式调用接口进行数据交互,这是现在互联网场景中最常见的方式。使用这种方式能够快速进行多系统的数据交互,提高效率。但是,由于现在网络条件复杂,或者对方系统不稳定等各种因素的影响,使用这种接口调用方式存在超时的问题。有此时此刻网络不好导致超时、有对方系统慢响应导致超时,有自身的超时时间设置过短但是接口处理时间较长导致超时等等多种原因。所以,大多数的数据请求接口都会设置一个超时时间,客户端会设置接口的超时时间,服务端中前置的反向代理服务器,(比如nginx等)也会设置一个接口请求超时时间,超过时间的将直接返回超时响应码。现在的服务端处理请求任务时,为了实现高并发、高吞吐,都会在服务端设置一个缓存队列,当服务端所有线程都有任务在执行中,继续请求进来的任务会添加至缓存队列中,待有空余线程时,再次从缓存队列中读取任务,并进行业务数据调用与返回。可是,在实际场景中,由于反向代理服务器中设置超时时间较短,在高并发场景下,很多请求会写入到缓存队列中,当有空余线程去执行缓存队列中的任务时,实际已经超过反向代理服务器设置的超时时间了,此时,反向代理已经向客户端返回了超时的异常情况,但是,空余线程还是会去执行该任务,实际该任务已经是无效的,可丢弃的,无需再次执行的。此场景下,将会导致资源的浪费,更严重的场景下,缓存队列中的任务均为过期任务,而空闲线程将会一直处理这种无效任务,最终导致旧有请求任务以及新的请求任务均超时,进而导致整个应用系统不可用。因此,有必要提供一种能够解决上述问题的请求任务处理中队列超时的处理方法、存储介质。
技术实现思路
本专利技术所要解决的技术问题是:提供请求任务处理中队列超时的处理方法、存储介质,能够节省资源,提高接口响应效率。为了解决上述技术问题,本专利技术采用的技术方案为:请求任务处理中队列超时的处理方法,包括:设置各类型接口对应的超时时间;获取系统接口的响应时间阈值;依据一请求任务进出队列的时间点,获取耗时时间;若所述耗时时间大于所述响应时间阈值,且所述耗时时间大于所述一请求任务对应接口的超时时间,则放弃所述一请求任务。本专利技术提供的另一个技术方案为:一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能够实现上述请求任务处理中队列超时的处理方法所包含的步骤。本专利技术的有益效果在于:依据请求任务在队列中的耗时,将其分别与系统接口的平均处理时间阈值(即响应时间阈值)和任务所请求接口的类型对应的超时时间进行比较,若均未超过,才继续处理该请求任务,否则直接放弃该请求任务。据此,可以及时地过滤掉实际上已经过期无效的任务,避免浪费资源和时间地去执行,更能避免无效任务过多而严重拖延新请求任务的执行,最终出现新的请求任务也不断过期的现象发生。本专利技术能够及时清除过期无效任务,节省宝贵的资源,提高接口响应效率。附图说明图1为本专利技术一实施例一种请求任务处理中队列超时的处理方法的流程示意图。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。本专利技术最关键的构思在于:将请求任务在队列中的耗时分别与系统接口的平均处理时间阈值和任务所请求接口的类型对应的超时时间进行比较,若均超过,则直接放弃该请求任务。请参照图1,本专利技术提供请求任务处理中队列超时的处理方法,包括:设置各类型接口对应的超时时间;获取系统接口的响应时间阈值;依据一请求任务进出队列的时间点,获取耗时时间;若所述耗时时间大于所述响应时间阈值,且所述耗时时间大于所述一请求任务对应接口的超时时间,则放弃所述一请求任务。从上述描述可知,本专利技术的有益效果在于:可以及时地过滤掉实际上已经过期无效的任务,避免浪费资源和时间地去执行,更能避免无效任务过多而严重拖延新请求任务的执行,最终出现新的请求任务也不断过期的现象发生。本专利技术能够及时清除过期无效任务,节省宝贵的资源,提高接口响应效率。进一步地,所述设置各类型接口对应的超时时间,包括:以各接口的相对路径地址为key,对应超时时间为value的数据结构形式设置各类型接口对应的超时时间至缓存。由上述描述可知,以字典形式将各接口的相对路径地址与超时时间进行关联存储,能提高查询效率,也更有利于管理。进一步地,所述获取系统接口的响应时间阈值,包括:对各类型接口分别进行压测,获取系统接口的响应时间阈值;以所述系统接口为key,对应的响应时间阈值为value的数据结构形式存储系统接口与响应时间阈值的关联关系存储至缓存。由上述描述可知,通过压测方法能够相对准确地获取系统接口的平均响应时间,将其以字典形式存储在缓存中,便于查询和管理。进一步地,所述依据一请求任务进出队列的时间点,获取耗时时间,包括:添加一请求任务至缓存队列时,记录进入缓存队列的时间点和所述一请求任务所请求接口的相对路径;所述一请求任务出缓存队列时,记录移出缓存队列的时间点;依据所述进入缓存队列的时间点和所述移出缓存队列的时间点,计算得到所述一请求任务在缓存队列中的消耗时间。由上述描述可知,通过记录进出队列的时间,计算得到请求任务在队列中所耗时间,并将其与任务请求接口的相对路径进行关联,能够在后续比较过程中依据相对路径快速且准确地调取比较对象,提高分析效率,同时保证正确率。进一步地,所述若所述耗时时间大于所述响应时间阈值,且所述耗时时间大于所述一请求任务对应接口的超时时间,则放弃所述一请求任务,包括:判断所述耗时时间是否大于所述响应时间阈值;若否,则处理所述请求任务;若是,则访问缓存,依据所述一请求任务所请求接口的相对路径获取对应的超时时间;判断所述耗时时间是否大于所获取的超时时间,若是,则放弃所述一请求任务;若否,则处理所述请求任务。由上述描述可知,因为响应时间阈值一般小于接口的超时时间,因此,先将请求任务在队列的耗时与系统接口的响应时间阈值进行比较,若小于,则必然也小于接口类型对应的超时时间,则继续处理请求任务;若大于,则继续判断是否也大于超时时间,若依然大于,则可以确认该任务已经过期无效。据此,可以提高判断效率。本专利技术提供的另一个技术方案为:一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能够实现下述请求任务处理中队列超时的处理方法所包含的步骤:设置各类型接口对应的超时时间;获取系统接口的响应时间阈值;依据一本文档来自技高网
...

【技术保护点】
1.请求任务处理中队列超时的处理方法,其特征在于,包括:/n设置各类型接口对应的超时时间;/n获取系统接口的响应时间阈值;/n依据一请求任务进出队列的时间点,获取耗时时间;/n若所述耗时时间大于所述响应时间阈值,且所述耗时时间大于所述一请求任务对应接口的超时时间,则放弃所述一请求任务。/n

【技术特征摘要】
1.请求任务处理中队列超时的处理方法,其特征在于,包括:
设置各类型接口对应的超时时间;
获取系统接口的响应时间阈值;
依据一请求任务进出队列的时间点,获取耗时时间;
若所述耗时时间大于所述响应时间阈值,且所述耗时时间大于所述一请求任务对应接口的超时时间,则放弃所述一请求任务。


2.如权利要求1所述请求任务处理中队列超时的处理方法,其特征在于,所述设置各类型接口对应的超时时间,包括:
以各接口的相对路径地址为key,对应超时时间为value的数据结构形式设置各类型接口对应的超时时间至缓存。


3.如权利要求1所述请求任务处理中队列超时的处理方法,其特征在于,所述获取系统接口的响应时间阈值,包括:
对各类型接口分别进行压测,获取系统接口的响应时间阈值;
以所述系统接口为key,对应的响应时间阈值为value的数据结构形式存储系统接口与响应时间阈值的关联关系存储至缓存。


4.如权利要求1所述请求任务处理中队列超时的处理方法,其特征在于,所述依据一请求任务进出队...

【专利技术属性】
技术研发人员:刘德建林伟郭玉湖陈宏
申请(专利权)人:福建天泉教育科技有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1