本公开涉及数据交互,尤其涉及一种请求异常的退避控制方法、装置、通信系统、介质和产品。
背景技术:
1、当客户端向服务端发送请求出现异常时,客户端需要采用一定的策略进行退避。在移动网络套餐流量限制、网络信号弱、网络信号不稳定等场景下,一般采用固定的重试时间、固定的重试次数进行请求重试。在其他的使用场景下,不考虑流量的使用情况不停地进行请求重试,达到指定次数后停止重试。然而,采用固定的重试时间进行重试会导致重试请求被服务端拒绝的问题,过多的重试次数会消耗大量的流量,使得消耗的流量超出预期。
技术实现思路
1、本公开要解决的技术问题是为了克服现有技术中当客户端向服务端发送请求出现异常时,采用固定的重试时间进行重试会导致重试请求被服务端拒绝,采用过多的重试次数会导致流量超出预期等缺陷,提供一种请求异常的退避控制方法、装置、通信系统、介质和产品。
2、本公开是通过下述技术方案来解决上述技术问题:
3、本公开提供一种请求异常的退避控制方法,所述退避控制方法应用于客户端,所述退避控制方法包括:
4、当向服务端发送请求出现异常时,基于预设时段对应的请求流量阈值和所述预设时段内每次发送请求的流量值,得到初始重试次数;
5、基于所述初始重试次数和当前时间,获取自所述当前时间开始预设时长内的目标重试次数;
6、基于所述目标重试次数和所述当前时间,得到目标重试时间间隔;
7、退避所述目标重试时间间隔后向所述服务端发送请求以进行重试。
8、较佳地,所述基于所述初始重试次数和当前时间,获取自所述当前时间开始预设时长内的目标重试次数的步骤包括:
9、基于所述当前时间,获取所述预设时段的剩余时长;
10、基于所述初始重试次数和所述剩余时长,以得到所述预设时长内的目标重试次数。
11、较佳地,所述基于所述初始重试次数和所述剩余时长,以得到所述预设时长内的目标重试次数的步骤包括:
12、基于所述初始重试次数和所述剩余时长,得到所述预设时长对应的中间重试次数;
13、基于所述中间重试次数和所述预设时长对应的第一重试次数阈值,得到所述目标重试次数。
14、较佳地,所述基于所述目标重试次数和所述当前时间,得到目标重试时间间隔的步骤包括:
15、基于所述目标重试次数,得到初始重试时间间隔;
16、基于所述当前时间,获取时间调节系数;
17、基于所述初始重试时间间隔和所述时间调节系数,得到所述目标重试时间间隔。
18、较佳地,所述基于所述初始重试次数和所述剩余时长,得到所述预设时长对应的中间重试次数的步骤包括:
19、将所述初始重试次数除以所述剩余时长得到的商作为所述预设时长对应的所述中间重试次数;
20、和/或,
21、所述基于所述中间重试次数和所述预设时长对应的第一重试次数阈值,得到所述目标重试次数的步骤包括:
22、选取所述中间重试次数和所述预设时长对应的所述第一重试次数阈值中的最小值,作为所述目标重试次数;
23、和/或,
24、所述基于所述初始重试时间间隔和所述时间调节系数,得到所述目标重试时间间隔的步骤包括:
25、将所述初始重试时间间隔和所述时间调节系数之和,作为所述目标重试时间间隔。
26、较佳地,所述基于所述目标重试次数,得到初始重试时间间隔的步骤包括:
27、判断所述目标重试次数是否大于第二重试次数阈值;
28、响应于所述目标重试次数大于所述第二重试次数阈值,基于所述目标重试次数和所述第二重试次数阈值,得到所述初始重试时间间隔;
29、响应于所述目标重试次数不大于所述第二重试次数阈值,将所述预设时长作为所述初始重试时间间隔;
30、和/或,
31、所述请求包括http(超文本传输协议)请求。
32、本公开还提供一种请求异常的退避控制装置,所述退避控制装置包括:
33、初始次数获取模块,用于当向服务端发送请求出现异常时,基于预设时段对应的请求流量阈值和所述预设时段内每次发送请求的流量值,得到初始重试次数;
34、目标次数获取模块,用于基于所述初始重试次数和当前时间,获取自所述当前时间开始预设时长内的目标重试次数;
35、目标时间获取模块,用于基于所述目标重试次数和所述当前时间,得到目标重试时间间隔;
36、退避控制模块,用于退避所述目标重试时间间隔后向所述服务端发送请求以进行重试。
37、较佳地,所述目标次数获取模块包括:
38、剩余时长获取单元,用于基于所述当前时间,获取所述预设时段的剩余时长;
39、目标次数获取单元,用于基于所述初始重试次数和所述剩余时长,以得到所述预设时长内的目标重试次数。
40、较佳地,所述目标次数获取单元包括:
41、中间次数获取子单元,用于基于所述初始重试次数和所述剩余时长,得到所述预设时长对应的中间重试次数;
42、目标次数获取子单元,用于基于所述中间重试次数和所述预设时长对应的第一重试次数阈值,得到所述目标重试次数。
43、较佳地,所述目标时间获取模块包括:
44、初始时间获取单元,用于基于所述目标重试次数,得到初始重试时间间隔;
45、调节系数获取单元,用于基于所述当前时间,获取时间调节系数;
46、目标时间获取单元,用于基于所述初始重试时间间隔和所述时间调节系数,得到所述目标重试时间间隔。
47、较佳地,所述中间次数获取子单元还用于将所述初始重试次数除以所述剩余时长得到的商作为所述预设时长对应的所述中间重试次数;
48、和/或,
49、所述目标次数获取子单元还用于选取所述中间重试次数和所述预设时长对应的所述第一重试次数阈值中的最小值,作为所述目标重试次数;
50、和/或,
51、所述目标时间获取单元还用于将所述初始重试时间间隔和所述时间调节系数之和,作为所述目标重试时间间隔。
52、较佳地,所述初始时间获取单元包括:
53、判断子单元,用于判断所述目标重试次数是否大于第二重试次数阈值;
54、第一响应子单元,用于响应于所述目标重试次数大于所述第二重试次数阈值,基于所述目标重试次数和所述第二重试次数阈值,得到所述初始重试时间间隔;
55、第二响应子单元,用于响应于所述目标重试次数不大于所述第二重试次数阈值,将所述预设时长作为所述初始重试时间间隔;
56、和/或,
57、所述请求包括http请求。
58、本公开还提供一种通信系统,所述通信系统包括客户端、服务端和如上述所述的请求异常的退避控制装置;
59、所述客户端包括cat1(第一终端通讯等级)模组;
60、所述服务端包括iot(internet of things,物联网)平台。
61、本公开还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的请求异常的退避控制方法。
62、本公开还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述所述的请求异常的退避控制方法。
63、在符合本领域常识的基础上,所述各优选条件,可任意组合,即得本公开各较佳实例。
64、本公开的积极进步效果在于:
65、本公开当客户端向服务端发送请求出现异常时,基于预设时段对应的预设请求流量和预设时段内每次发送请求的流量值以得到初始重试次数,基于初始重试次数和当前时间获取自当前时间开始预设时长内的目标重试次数,基于目标重试次数和当前时间以得到目标重试时间间隔,退避目标重试时间间隔后向服务端发送请求以进行重试,根据业务场景、运行状态动态调整重试次数和重试时间,采用了多等级延迟算法,减少了频繁多次请求导致http服务器拒绝请求的问题,可以在限制流量的场景下,避免了流量超过阈值的情况,保证了请求异常退避的合理性、可靠性和灵活性。
1.一种请求异常的退避控制方法,其特征在于,所述退避控制方法应用于客户端,所述退避控制方法包括:
2.如权利要求1所述的请求异常的退避控制方法,其特征在于,所述基于所述初始重试次数和当前时间,获取自所述当前时间开始预设时长内的目标重试次数的步骤包括:
3.如权利要求2所述的请求异常的退避控制方法,其特征在于,所述基于所述初始重试次数和所述剩余时长,以得到所述预设时长内的目标重试次数的步骤包括:
4.如权利要求3所述的请求异常的退避控制方法,其特征在于,所述基于所述目标重试次数和所述当前时间,得到目标重试时间间隔的步骤包括:
5.如权利要求4所述的请求异常的退避控制方法,其特征在于,所述基于所述初始重试次数和所述剩余时长,得到所述预设时长对应的中间重试次数的步骤包括:
6.如权利要求4所述的请求异常的退避控制方法,其特征在于,所述基于所述目标重试次数,得到初始重试时间间隔的步骤包括:
7.一种请求异常的退避控制装置,其特征在于,所述退避控制装置包括:
8.一种通信系统,其特征在于,所述通信系统包括客户端、服务端和如权利要求7所述的请求异常的退避控制装置;
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的请求异常的退避控制方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的请求异常的退避控制方法。
