一种网络请求重试方法、装置及终端设备制造方法及图纸

技术编号:25091835 阅读:28 留言:0更新日期:2020-07-31 23:36
本申请提供了一种网络请求重试方法、装置及终端设备,适用于数据处理技术领域,该方法包括:检测应用程序发起的网络请求的响应状态;若响应失败,获取响应失败的网络请求对应的现场参数,并将响应失败的网络请求和对应的现场参数添加至重试请求队列;若请求响应成功,对重试请求队列中的网络请求进行优先级排序;从重试请求队列中取出优先级最高的网络请求及对应的现场参数,并基于提取出的现场参数,发起优先级最高的网络请求;若优先级最高的网络请求响应成功,返回执行从重试请求队列中取出优先级最高的网络请求及对应的现场参数的操作,直至重试请求队列被取空。本申请实施例可以极大地提升网络请求重试成功的几率。

【技术实现步骤摘要】
一种网络请求重试方法、装置及终端设备
本申请属于数据交互
,尤其涉及网络请求重试方法及终端设备。
技术介绍
网络请求是应用程序常见的前后端交互方式,在网络发生异常时,网络请求往往会响应失败。为了提高网络发生异常时网络请求成功的概率,需要预先制定好网络重试机制,即在网络请求响应失败之后进行网络请求重试的方案。现在的网络请求机制,都是在网络请求响应失败时直接重新尝试发起网络请求,直至网络请求响应成功或者重试的次数达到一定阈值才停止重试,但统计表明这样网络请求重试的成功率极低,且会严重影响用户对应用程序的正常使用。
技术实现思路
有鉴于此,本申请实施例提供了一种网络请求重试方法及终端设备,可以解决网络请求重试成功率低的问题。本申请实施例的第一方面提供了一种网络请求重试方法,包括:检测应用程序发起的网络请求的响应状态;若检测到网络请求响应失败,则获取响应失败的网络请求对应的现场参数,并将所述响应失败的网络请求和对应的现场参数添加至重试请求队列,其中,所述现场参数中包含网络请求的请求方式、请求地址和请求参数;若检测到网络请求响应成功,则对重试请求队列中的网络请求进行优先级排序,其中,所述重试请求队列为响应失败的网络请求组成的队列;从所述重试请求队列中取出优先级最高的网络请求及对应的现场参数,并基于提取出的现场参数,发起所述优先级最高的网络请求;若所述优先级最高的网络请求响应成功,返回执行所述从所述重试请求队列中取出优先级最高的网络请求及对应的现场参数的操作,直至所述重试请求队列被取空。在第一方面的第一种可能的实现方式中,第一方面还包括:若所述优先级最高的网络请求响应失败,将所述优先级最高的网络请求及对应的现场参数添加至所述重试请求队列,并返回执行所述检测应用程序中网络请求的响应状态的操作。在第一方面的第二种可能的实现方式中,第一方面还包括:若检测到对所述应用程序的当前显示界面的界面切换指令或者界面退出指令,查找当前显示界面内包含的所有应用程序功能;基于所述功能标识,从所述重试请求队列中筛选出所述应用程序功能对应的所有网络请求,并从所述重试请求队列中移除筛选出的网络请求。在第一种可能实现方式和第二种可能实现方式的基础上,在第一方面的第三种可能的实现方式中,所述对所述重试请求队列中的网络请求进行优先级排序,包括:获取所述应用程序的第一历史请求数据,以及所述第一历史请求数据中历史响应成功的网络请求的现场参数,其中,第一历史请求数据内包含所述应用程序历史发起过的网络请求以及每个网络请求的发起次数;基于所述第一历史请求数据中网络请求的发起次数,对所述重试请求队列中的网络请求进行优先级排序,得到所述重试请求队列中网络请求对应的第一优先级序列;基于所述历史响应成功的网络请求的现场参数,对所述重试请求队列中的网络请求进行优先级排序,得到所述重试请求队列中网络请求对应的第二优先级序列;对所述第一优先级序列和所述第二优先级序列中的优先级进行融合,得到所述重试请求队列中的各个网络请求的优先级。在第三种可能实现方式的基础上,在第一方面的第四种可能的实现方式中,所述第一历史请求数据中包含,当次启动所述应用程序之后所述应用程序的第二历史请求数据,以及在当次启动之前所述应用程序的第三历史请求数据,所述基于所述第一历史请求数据中网络请求的发起次数,对所述重试请求队列中的网络请求进行优先级排序,得到第一优先级序列,包括:从所述第二历史请求数据中筛选出所述重试请求队列中的各个网络请求的第一发起次数,并从所述第三历史请求数据中筛选出所述重试请求队列中的各个网络请求的第二发起次数;对所述重试请求队列中的各个网络请求的所述第一发起次数和所述第二发起次数进行权重计算,得到所述重试请求队列中的各个网络请求对应的权重分值,其中,所述第一发起次数对应的权重系数大于所述第二发起次数对应的权重系数;按照所述权重分值从高至低的顺序,对所述重试请求队列中的各个网络请求进行优先级排序,得到第一优先级序列。在第三种可能实现方式的基础上,在第一方面的第五种可能的实现方式中,所述基于所述历史响应成功的网络请求的现场参数,对所述重试请求队列中的网络请求进行优先级排序,得到第二优先级序列,包括:对所述重试请求队列中的网络请求和所述历史响应成功的网络请求进行现场参数匹配,并从所述历史响应成功的网络请求中筛选出与所述重试请求队列中的各个网络请求现场参数匹配度最高的网络请求,将筛选出的网络请求作为目标请求;从所述第一历史请求数据中筛选出各个所述目标请求的响应成功次数和第三发起次数,并按照所述响应成功次数占所述第三发起次数比例从高至低的顺序,对所述重试请求队列中的各个网络请求进行优先级排序,得到第二优先级序列。本申请实施例的第二方面提供了一种网络请求重试装置,包括:响应检测模块,用于检测应用程序发起的网络请求的响应状态;请求缓存模块,用于若检测到网络请求响应失败,则获取响应失败的网络请求对应的现场参数,并将所述响应失败的网络请求和对应的现场参数添加至重试请求队列,其中,所述现场参数中包含网络请求的请求方式、请求地址和请求参数;请求排序模块,用于若检测到网络请求响应成功,则对重试请求队列中的网络请求进行优先级排序,其中,所述重试请求队列为响应失败的网络请求组成的队列;请求重试模块,用于从所述重试请求队列中取出优先级最高的网络请求及对应的现场参数,并基于提取出的现场参数,发起所述优先级最高的网络请求;返回执行模块,用于若所述优先级最高的网络请求响应成功,返回执行所述从所述重试请求队列中取出优先级最高的网络请求及对应的现场参数的操作,直至所述重试请求队列被取空。本申请实施例的第三方面提供了一种终端设备,所述终端设备包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面中任一项所述网络请求重试方法的步骤。本申请实施例的第四方面提供了一种计算机可读存储介质,包括:存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述第一方面中任一项所述网络请求重试方法的步骤。本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述网络请求重试方法。本申请实施例与现有技术相比存在的有益效果是:在检测到有网络请求响应失败时,不直接进行网络请求的重试,而是对响应失败的网络请求缓存至重试请求队列,仅等到有网络请求响应成功时,才对重试请求队列中各个响应失败的网络请求进行排序和重试,由于响应成功意味着当前的网络是可用的,因此此时进行重试可以极大地提升重试成功的几率,同时对网络请求进行优先级排序重试,可以尽可能地提升每一次重试成功的概率,最后仅在提取出的实时优先级最高的网络请求响应成功时才继续对重试请求队列进行处理,进而保证了本申请实施本文档来自技高网...

【技术保护点】
1.一种网络请求重试方法,其特征在于,包括:/n检测应用程序发起的网络请求的响应状态;/n若检测到网络请求响应失败,则获取响应失败的网络请求对应的现场参数,并将所述响应失败的网络请求和对应的现场参数添加至重试请求队列,其中,所述现场参数中包含网络请求的请求方式、请求地址和请求参数;/n若检测到网络请求响应成功,则对重试请求队列中的网络请求进行优先级排序,其中,所述重试请求队列为响应失败的网络请求组成的队列;/n从所述重试请求队列中取出优先级最高的网络请求及对应的现场参数,并基于提取出的现场参数,发起所述优先级最高的网络请求;/n若所述优先级最高的网络请求响应成功,返回执行所述从所述重试请求队列中取出优先级最高的网络请求及对应的现场参数的操作,直至所述重试请求队列被取空。/n

【技术特征摘要】
1.一种网络请求重试方法,其特征在于,包括:
检测应用程序发起的网络请求的响应状态;
若检测到网络请求响应失败,则获取响应失败的网络请求对应的现场参数,并将所述响应失败的网络请求和对应的现场参数添加至重试请求队列,其中,所述现场参数中包含网络请求的请求方式、请求地址和请求参数;
若检测到网络请求响应成功,则对重试请求队列中的网络请求进行优先级排序,其中,所述重试请求队列为响应失败的网络请求组成的队列;
从所述重试请求队列中取出优先级最高的网络请求及对应的现场参数,并基于提取出的现场参数,发起所述优先级最高的网络请求;
若所述优先级最高的网络请求响应成功,返回执行所述从所述重试请求队列中取出优先级最高的网络请求及对应的现场参数的操作,直至所述重试请求队列被取空。


2.如权利要求1所述的网络请求重试方法,其特征在于,还包括:
若所述优先级最高的网络请求响应失败,将所述优先级最高的网络请求及对应的现场参数添加至所述重试请求队列,并返回执行所述检测应用程序中网络请求的响应状态的操作。


3.如权利要求1所述的网络请求重试方法,其特征在于,所述现场参数中还包含功能标识,所述功能标识用于标识网络请求对应的应用程序功能,所述网络请求重试方法,还包括:
若检测到对所述应用程序的当前显示界面的界面切换指令或者界面退出指令,查找当前显示界面内包含的所有应用程序功能;
基于所述功能标识,从所述重试请求队列中筛选出所述应用程序功能对应的所有网络请求,并从所述重试请求队列中移除筛选出的网络请求。


4.如权利要求1至3任意一项所述的网络请求重试方法,其特征在于,所述对所述重试请求队列中的网络请求进行优先级排序,包括:
获取所述应用程序的第一历史请求数据,以及所述第一历史请求数据中历史响应成功的网络请求的现场参数,其中,第一历史请求数据内包含所述应用程序历史发起过的网络请求以及每个网络请求的发起次数;
基于所述第一历史请求数据中网络请求的发起次数,对所述重试请求队列中的网络请求进行优先级排序,得到所述重试请求队列中网络请求对应的第一优先级序列;
基于所述历史响应成功的网络请求的现场参数,对所述重试请求队列中的网络请求进行优先级排序,得到所述重试请求队列中网络请求对应的第二优先级序列;
对所述第一优先级序列和所述第二优先级序列中的优先级进行融合,得到所述重试请求队列中的各个网络请求的优先级。


5.如权利要求4所述的网络请求重试方法,其特征在于,所述第一历史请求数据中包含,当次启动所述应用程序之后所述应用程序的第二历史请求数据,以及在当次启动之前所述应用程序的第三历史请求数据,所述基于所述第一历史请求数据中网络请求的发起次数,对所述重试请求队列中的网络请求进行优先级排序,得到第一优先级序列,包括:
从所述第二历史请求数据中筛选出所述重试请求队列中的各个网络请求的第一发起次数,并从所述第三历史请求数据中筛选出所述重试请求队列中的各个网络请求的第二发起次数;
对所述重试请求队列中的各个网络请求的所述第一发起次数和所述第二发起次数进行权重计算,得到所述重试请求队列中的各个网络请求对应的权重分值,其中...

【专利技术属性】
技术研发人员:许蛟
申请(专利权)人:平安国际智慧城市科技股份有限公司
类型:发明
国别省市:广东;44

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

1