一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种网络请求的自适应限流方法、装置、设备及介质与流程

2021-11-24 19:05:00 来源:中国专利 TAG:


1.本发明实施例涉及金融技术领域,尤其涉及一种网络请求的自适应限流方法、装置、设备及介质。


背景技术:

2.互联网金融行业需要对接各种金融机构,但是由于各金融机构能力参差不齐,需要互联网金融企业有很好的业务流量控制能力,保证对接不同技术能力的金融机构都不影响业务使用,网络金融限流应运而生。
3.但是在实际的应用场景中,在互联网金融行业与金融机构对接过程中会产生各种各样复杂的突发情况。相关技术中的限流方案各有优势,但是提供的方案模式较为固定,并没有针对各种突发情况的应对策略。当有突发情况发生时,只能依靠人力去解决,对金融机构造成了很大的流量负担,严重影响了金融业务的处理效率,增加了人力成本。


技术实现要素:

4.本发明实施例提供一种网络请求的自适应限流方法、装置、设备及介质,可以实现网络的自适应流量限制,可以应对各种突发状况,可以提高金融行业与金融机构之间的对接效率,可以节约人力成本。
5.第一方面,本发明实施例提供了一种网络请求的自适应限流方法,所述方法由请求服务器执行,所述请求服务器与目标服务器连接,用于向所述目标服务器发送网络请求;所述方法包括:
6.从请求队列中获取网络请求,并发送至所述目标服务器;
7.收集在第一预设时段内所述网络请求的响应信息,以及,收集在第二预设时段内所述网络请求的响应信息;其中,所述响应信息包括平均耗时、网络请求过期数量比率以及接口错误数量比率中的至少一个维度;
8.统计所述网络请求的响应信息在所述第二预设时段内相对于所述第一预设时段内的增长率;
9.若所述响应信息的增长率满足预设约束条件,则基于所述响应信息的增长率进行自适应限流。
10.第二方面,本发明实施例还提供了一种网络请求的自适应限流装置,配置于目标服务器,该装置包括:网络请求获取模块,用于从请求队列中获取网络请求,并发送至所述目标服务器;
11.响应信息收集模块,用于收集在第一预设时段内所述网络请求的响应信息,以及,收集在第二预设时段内所述网络请求的响应信息;其中,所述响应信息包括平均耗时、网络请求过期数量比率以及接口错误数量比率中的至少一个维度;
12.增长率统计模块,用于统计所述网络请求的响应信息在所述第二预设时段内相对于所述第一预设时段内的增长率;
13.自适应限流模块,用于若所述响应信息的增长率满足预设约束条件,则基于所述响应信息的增长率进行自适应限流。
14.第三方面,本发明实施例还提供了一种电子设备,该设备包括:
15.一个或多个处理器;
16.存储装置,用于存储一个或多个程序,
17.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例中任一项所述的网络请求的自适应限流方法。
18.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一项所述的网络请求的自适应限流方法。
19.本发明实施例提供的技术方案,通过从请求队列中获取网络请求,并发送至目标服务器;收集在第一预设时段内网络请求的响应信息,以及,收集在第二预设时段内网络请求的响应信息;其中,响应信息包括平均耗时、网络请求过期数量比率以及接口错误数量比率中的至少一个维度;统计网络请求的响应信息在第二预设时段内相对于第一预设时段内的增长率;若响应信息的增长率满足预设约束条件,则基于响应信息的增长率进行自适应限流。通过执行本发明实施例提供的技术方案,可以实现网络的自适应流量限制,可以应对各种突发状况,可以提高金融行业与金融机构之间的对接效率,可以节约人力成本。
附图说明
20.图1是本发明实施例提供的一种网络请求的自适应限流方法的流程图;
21.图2是本发明实施例提供的另一种网络请求的自适应限流方法的流程图;
22.图3是本发明实施例提供的又一种网络请求的自适应限流方法的流程图;
23.图4是本发明实施例提供的一种网络请求的自适应限流装置结构示意图;
24.图5是本发明实施例提供的一种电子设备结构示意图。
具体实施方式
25.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
26.在本方案的一个应用场景中,当上游系统,例如用户,向请求服务器发送请求(例如生成资产请求或者借贷请求)时,请求服务器首先将各个请求按照一定顺序存放在请求队列中。然后,从请求队列中顺序调取一定数量的请求并发送至下游系统(例如金融机构)的目标服务器。如果目标服务器正常工作,则很快处理完成请求并向请求服务器做出响应。如果目标服务器负载过大或者发生异常,则会向请求服务器反馈异常信息或者产生访问超时、访问接口错误等问题。此时,如果请求服务器仍然以固定速度或数量向目标服务器发送请求,会导致金融机构的目标服务器崩溃,使得业务处理接口出现问题,对于需要频繁处理金融业务的金融行业来说造成的后果不堪设想。
27.图1是本发明实施例提供的网络请求的自适应限流方法的流程图,所述方法可以由网络请求的自适应限流装置来执行,所述装置可以由软件和/或硬件的方式实现,所述装
置可以配置在服务器等电子设备中。所述方法应用于金融行业通过互联网访问金融机构的场景中。如图1所示,本发明实施例提供的技术方案具体包括:
28.s110:从请求队列中获取网络请求,并发送至所述目标服务器。
29.其中,请求队列可以是存放上游系统发送的网络请求的异步队列。网络请求可以是上游系统通过互联网发送的访问请求。每个网络请求中携带请求时间戳,本方案可以按照时间戳对网络请求进行评分,例如最新到达的网络请求分数最高,优先级也就越高,可以按优先级从高到低将网络请求在请求队列中进行排列。本方案可以从请求队列中顺序获取一定数量的网络请求,并将获取的网络请求发送到目标服务器,以使目标服务器响应网络请求,完成对应的金融业务,例如放款业务。
30.s120:收集在第一预设时段内所述网络请求的响应信息,以及,收集在第二预设时段内所述网络请求的响应信息。
31.其中,所述响应信息包括平均耗时、网络请求过期数量比率以及接口错误数量比率中的至少一个维度。
32.具体的,第一预设时段可以是5min,第一预设时段也可以是10min,第一预设时段可以根据实际需要进行设置。第二预设时段可以是5min,第二预设时段也可以是10min,第二预设时段可以根据实际需要进行设置。第一预设时段的时间长度与第二预设时段的时间长度可以相同,第一预设时段的时间长度与第二预设时段的时间长度也可以不同,第一预设时段的时间长度优选为与第二预设时段的时间长度相同。将网络请求发送至目标服务器之后,目标服务器可以根据对网络请求的处理结果产生响应信息,并将该响应信息反馈给请求服务器。本方案可以收集在第一预设时段内网络请求的响应信息,并且,本方案可以收集在第二预设时段内网络请求的响应信息。响应信息可以是网络请求访问目标服务器时产生的平均耗时,响应信息可以是网络请求访问目标服务器时访问接口错误数量所占比率,响应信息还可以是网络请求访问目标服务器时过期消息数所占比率,响应信息还可以是其他信息。例如,某网络请求查询几次目标服务器返回的结果都是正在处理中,则认为该请求为过期消息。
33.s130:统计所述网络请求的响应信息在所述第二预设时段内相对于所述第一预设时段内的增长率。
34.其中,本方案可以根据收集到的第一预设时段内网络请求的响应信息以及第二预设时段内网络请求的响应信息,统计网络请求的响应信息在第二预设时段内相对于第一预设时段内的增长率。例如如果响应信息为平均耗时,本方案可以统计网络请求的平均访问耗时在第二预设时段内相对于第一预设时段内的增长率。如果响应信息为访问接口错误数量比率,本方案可以统计网络请求的访问接口错误数量比率在第二预设时段内相对于第一预设时段内的增长率。如果响应信息为过期消息数量比率,本方案可以统计网络请求的过期消息数量比率在第二预设时段内相对于第一预设时段内的增长率。响应信息也可以为平均耗时、访问接口错误数量比率以及网络请求过期消息数量比率中的至少两个。
35.s140:若所述响应信息的增长率满足预设约束条件,则基于所述响应信息的增长率进行自适应限流。
36.具体的,预设约束条件可以是0.01,预设约束条件也可以是0.1,预设约束条件可以根据实际需要进行设置。如果响应信息的增长率满足预设约束条件,本方案基于响应信
息的增长率进行自适应限流,以限制访问目标服务器的并发网络请求的数量,降低目标服务器的流量负载,给目标服务器提供缓冲时间。其中,自适应限流的方式可以借助令牌桶算法,控制令牌产生速度或者控制并行下发的令牌数目,也可以是采用其他方式进行自适应限流。
37.在本实施例中,可选的,在基于所述响应信息的增长率进行自适应限流之后,所述方法还包括:基于第一预设时段内以及第二预设时段内各所述网络请求的访问耗时信息、访问请求过期信息以及访问接口错误信息中的至少一个维度更新所述请求队列。
38.具体的,本方案可以统计第一预设时间段内以及第二预设时间段内各网络请求的访问耗时、各网络请求的访问接口错误数量以及各网络请求是否为过期消息。可以根据各网络请求的访问耗时、各网络请求的访问接口错误数量以及各网络请求是否为过期消息中的至少一个维度更新各网络请求在请求队列中的分数,即优先级。将访问耗时过长、过期的请求以及访问接口错误数过多的网络请求的优先级降低,将刚到达的网络请求的优先级提高。
39.由此,通过基于第一预设时段内以及第二预设时段内各网络请求的访问耗时信息、访问请求过期信息以及访问接口错误信息中的至少一个维度更新请求队列。可以实现灵活地对网络请求进行调度,可以提高下游系统的业务处理效率,避免下游系统出现死锁,可以实现对网络资源的有效利用。
40.本发明实施例提供的技术方案,通过从请求队列中获取网络请求,并发送至目标服务器;收集在第一预设时段内网络请求的响应信息,以及,收集在第二预设时段内网络请求的响应信息;其中,响应信息包括平均耗时、网络请求过期数量比率以及接口错误数量比率中的至少一个维度;统计网络请求的响应信息在第二预设时段内相对于第一预设时段内的增长率;若响应信息的增长率满足预设约束条件,则基于响应信息的增长率进行自适应限流。通过执行本发明实施例提供的技术方案,可以实现网络的自适应流量限制,可以应对各种突发状况,可以提高金融行业与金融机构之间的对接效率,可以节约人力成本。
41.图2是本发明实施例提供的网络请求的自适应限流方法的流程图,本实施例在上述实施例的基础上进行优化。如图2所示,本发明实施例中的网络请求的自适应限流方法可以包括:
42.s210:从所述请求队列中获取网络请求,并发送至令牌桶。
43.具体的,本方案可以从请求队列中获取一定数量的网络请求,并将网络请求发送至令牌桶,以使网络请求获取令牌桶中的令牌,从而可以向目标服务器发送网络请求。
44.在一个可行的实施方式中,可选的,从请求队列中获取网络请求之前,所述方法还包括:接收至少一个网络请求,并根据各所述网络请求的请求时间戳将各所述网络请求存放至所述请求队列。
45.其中,本方案可以接收至少一个网络请求,并根据网络请求中携带的请求时间戳,将请求时间戳在最后的网络请求分数设置为最高,即刚到达的网络请求分数设置为最高。分数高对应的优先级也高,将各网络请求按分数从高到低的顺序存放至请求队列,将各网络请求按优先级从高到低进行排列。或者,本方案也可以将刚刚到达的网络请求向后排列,例如推后10s再处理,而优先处理10s之前的网络请求,这样,优先发送的都是以当前时间戳为界,10s之前的网络请求。可以根据实际需要对网络请求进行排列。
46.由此,通过接收至少一个网络请求,并根据各网络请求的请求时间戳将各网络请求存放至请求队列,可以实现对网络请求进行灵活地调度,可以提高下游系统的业务处理效率,可以实现对网络资源的有效利用。
47.s220:从所述令牌桶中获取所述网络请求的令牌,并基于所述令牌将所述网络请求发送至所述目标服务器。
48.其中,如果令牌桶中有足够的令牌,本方案可以从令牌桶中获取网络请求对应的所需数量的令牌,并基于令牌将网络请求发送至目标服务器,以使目标服务器响应网络请求。如果令牌桶中的令牌数量不能满足网络请求的需求,则网络请求无法拿到令牌,无法将网络请求发送至目标服务器,向上游系统反馈错误信息。
49.s230:收集在第一预设时段内所述网络请求的响应信息,以及,收集在第二预设时段内所述网络请求的响应信息。
50.s240:统计所述网络请求的响应信息在所述第二预设时段内相对于所述第一预设时段内的增长率。
51.s250:若所述响应信息的增长率满足预设约束条件,则基于所述响应信息的增长率调整令牌桶的令牌并行下发数量和/或调整令牌的生成速度。
52.具体的,如果响应信息的增长率满足预设约束条件,本方案可以基于响应信息的增长率调整令牌桶的令牌并行下发数量和/或调整令牌的生成速度。令牌并行下发数量表征请求服务器向目标服务器同时发送网络请求的数量。令牌并行下发数量可以是2,令牌并行下发数量也可以是3,令牌并行下发数量可以根据实际需要进行设置。令牌的生成速度表征单位时间内落入令牌桶中的令牌数量,令牌的生成速度可以是5个每秒,令牌的生成速度也可以是10个每秒,令牌的生成速度可以根据实际需要进行设置。
53.在另一个可行的实施方式中,可选的,若所述响应信息的增长率满足预设约束条件,则基于所述响应信息的增长率调整令牌桶的令牌并行下发数量和/或调整令牌的生成速度,包括:若所述平均耗时的增长率大于第一预设值,则基于所述平均耗时的增长率调整令牌桶的令牌并行下发数量和/或调整令牌的生成速度。
54.示例性的,第一预设值可以是0.1,第一预设值也可以是0.01,第一预设值可以根据实际需要进行设置。假如第一预设时间段与第二预设时间段都是五分钟,第一预设值设为0.1,在第二预设时间段内所有请求的平均耗时为10s,而在第一预设时间段内所有请求的平均耗时为5s,那么第二预设时间段内平均耗时相对第一预设时间段内的平均耗时的增长率为1,远远大于0.1,则可以根据平均耗时的增长率1调整令牌并行下发数量和/或调整令牌的生成速度。例如,可以控制令牌桶并行下发令牌的数量减少1,或者控制令牌生成速度降低20%。其中,令牌并行下发数量、令牌的生成速度可以根据实际需要进行设置。
55.由此,通过若平均耗时的增长率大于第一预设值,则基于平均耗时的增长率调整令牌桶的令牌并行下发数量和/或调整令牌的生成速度。可以实现根据网络请求平均耗时的增长率进行自适应限流,可以降低下游系统的流量负担,保证下游系统的稳定性,可以提高上游系统与下游系统之间的对接效率。
56.在又一个可行的实施方式中,可选的,若所述响应信息的增长率满足预设约束条件,则基于所述响应信息的增长率调整令牌桶的令牌并行下发数量和/或调整令牌的生成速度,包括:若所述网络请求过期数量比率的增长率大于第二预设值,则基于所述网络请求
过期数量比率的增长率调整令牌桶的令牌并行下发数量和/或调整令牌的生成速度。
57.示例性的,第二预设值可以是0.1,第二预设值也可以是0.01,第二预设值可以根据实际需要进行设置。对于一个网络请求来说,如果多次向下游系统进行请求时接收到下游系统的响应结果都是正在处理中,则认为该网络请求过期。或者,如果一个网络请求的访问耗时超过预设时间,则认为该网络请求过期。例如预设时间可以是3天,或者预设时间可以是1天,预设时间可以根据实际需要进行设置。网络请求过期数量比率可以是在一段时间内过期网络请求在所有网络请求中所占的比率。假如第一预设时间段与第二预设时间段都是五分钟,第二预设值设为0.1,在第二预设时间段内网络请求过期数量所占比率为30%,而在第一预设时间段内网络请求过期数量所占比率为20%,那么第二预设时间段内网络请求过期数量比率的增长率为0.5,远远大于0.1,则可以根据网络请求过期数量比率的增长率0.5调整令牌并行下发数量和/或调整令牌的生成速度。例如,可以控制令牌桶并行下发令牌的数量减少1,或者控制令牌生成速度降低20%。其中,令牌并行下发数量、令牌的生成速度可以根据实际需要进行设置。
58.由此,通过若所述网络请求过期数量比率的增长率大于第二预设值,则基于所述网络请求过期数量比率的增长率调整令牌桶的令牌并行下发数量和/或调整令牌的生成速度。可以实现根据网络请求过期数量比率的增长率进行自适应限流,可以降低下游系统的流量负担,保证下游系统的稳定性,可以提高上游系统与下游系统之间的对接效率。
59.在本实施例中,可选的,若所述响应信息的增长率满足预设约束条件,则基于所述响应信息的增长率调整令牌桶的令牌并行下发数量和/或调整令牌的生成速度,包括:若所述接口错误数量比率的增长率大于第三预设值,则基于所述接口错误数量比率的增长率调整令牌桶的令牌并行下发数量和/或调整令牌的生成速度。
60.示例性的,第三预设值可以是0.1,第三预设值也可以是0.15,第三预设值可以根据实际需要进行设置。如果下游系统突发异常,则当请求服务器向目标服务器发送网络请求时,会接收到访问接口出现错误之类的信息。接口错误数量比率可以是在一段时间段内出现错误的接口数量与总接口数量的比率。假如第一预设时间段与第二预设时间段都是五分钟,第三预设值设为0.1,在第二预设时间段内接口错误数量比率为40%,而在第一预设时间段内接口错误数量比率为20%,那么第二预设时间段内接口错误数量比率相对第一预设时间段内接口错误数量比率增长率为1,远远大于0.1,则可以根据接口错误数量比率增长率为1调整令牌并行下发数量和/或调整令牌的生成速度。例如,可以控制令牌桶并行下发令牌的数量减少1,或者控制令牌生成速度降低20%。其中,令牌并行下发数量、令牌的生成速度可以根据实际需要进行设置。
61.由此,通过若接口错误数量比率的增长率大于第三预设值,则基于接口错误数量比率的增长率调整令牌桶的令牌并行下发数量和/或调整令牌的生成速度。可以实现根据接口错误数量比率的增长率进行自适应限流,可以降低下游系统的流量负担,保证下游系统的稳定性,可以提高上游系统与下游系统之间的对接效率。
62.本发明实施例提供的技术方案,通过从请求队列中获取网络请求,并发送至令牌桶,从令牌桶中获取网络请求的令牌,并基于令牌将网络请求发送至目标服务器,收集在第一预设时段内网络请求的响应信息,以及,收集在第二预设时段内网络请求的响应信息,统计网络请求的响应信息在第二预设时段内相对于第一预设时段内的增长率,若响应信息的
增长率满足预设约束条件,则基于各响应信息的增长率调整令牌桶的令牌并行下发数量和/或调整令牌的生成速度。通过执行本方案,可以实现网络的自适应流量限制,可以应对各种突发状况,可以保证下游系统的稳定性,可以提高金融行业与金融机构之间的对接效率,可以节约人力成本。
63.互联网金融行业需要对接各种各样的金融机构,但是各个金融机构能力参差不齐,对于互联网过来的流量不能承接,因此,需要互联网金融企业要做好业务流量控制能力。保证对接不同技术能力的金融机构都不影响业务使用。
64.相关技术中的限流方案主要是漏桶算法和令牌桶算法,但是这些算法都不能够做到根据业务实际处理情况进行自适应限流。
65.为了更清楚的表述本发明的技术方案,图3是本发明实施例提供的网络请求的自适应限流方法的流程图,如图3所示,本发明实施例提供的技术方案可以包括如下步骤:
66.步骤1、异步限流。
67.首先根据实际业务情况构建异步请求队列,互联网实时过来的请求先放到异步请求队列中。其中,每个请求对应一个订单编号,即assetid。通过redis的zset来实现异步请求队列的构建,根据zset的score分数排列过来的网络请求。然后通过调度算法捞取zset里面预设数量的网络请求并发送至目标服务器,在发送网络请求的时候使用令牌桶算法,向下游系统(银行、信托、保险等)并行发送一定数量的网络请求,保证给下游系统一个缓冲,即下游系统可以接受的流量值。但是仅仅通过异步限流会需要人工不断去调配令牌桶的令牌,生成速度有比较大的人工成本,特别是在人工休息时间很难保证及时性。通过异步流量控制,保证流量洪峰不会打垮下游系统,做到很好消峰。
68.步骤2、自适应限流。
69.根据业务维度,由于采用异步的方式,网络请求存到队列,队列就会存在消息积压。mq作为消息队列,如果有网络请求过来,就从过期的消息数、请求耗时以及接口错误数三个维度进行记录,将记录结果发送给dynamiclimitermetricmqlistener。dynamiclimitermetricmqlistener统计第一预设时间段内(例如按照5分钟为一个统计窗口)以及第二预设时间段内(例如按照5分钟为一个统计窗口)网络请求的响应信息,如果在第二预设时间段内响应信息的增长率相对第一预设时间段满足预设约束条件,然后返回来调整令牌参数:例如,根据相邻的两个5分钟过期消息比率统计的增长率来调节令牌参数。根据相邻的两个5分钟调用下游系统的耗时累加,然后计算平均耗时的增长率来调节令牌参数。根据相邻的两个5分钟调用下游接口的错误数比率的增长率来令牌参数。其中,令牌参数包括令牌的产生速度和令牌的并行下发数量,即并发阈值。通过三个维度根据实际的业务情况不断调整限流的阈值,从而达到自适应限流的效果。同时,还可以根据mq中对各网络请求对过期的消息数、请求耗时以及接口错误数三个维度的记录结果重新给网络请求打分,并更新请求队列
70.自适应限流根据实际业务情况调整异步限流中的令牌桶生成算法,从而达到调整令牌桶的生成速率来控制流量的效果。如果下游系统处理能力强可以生成速度快,如果下游系统能力差,可以减缓生成速度保护下游系统。根据实际业务进行动态流控,保护下游机构的系统。
71.本发明实施例提供的技术方案,根据业务的具体情况进行动态的流量控制,适配
目前互联网金融业务,并解决互联网金融业务对接外部或内部放款业务系统的时候的流量控制问题。保证下游系统的稳定性,并保证保护下游系统,支撑互联网金融等业务。
72.图4是本发明实施例提供的网络请求的自适应限流装置结构示意图,所述装置可以配置在服务器等电子设备中,如图4所示,所述装置包括:
73.网络请求获取模块410,用于从请求队列中获取网络请求,并发送至所述目标服务器;
74.响应信息收集模块420,用于收集在第一预设时段内所述网络请求的响应信息,以及,收集在第二预设时段内所述网络请求的响应信息;其中,所述响应信息包括平均耗时、网络请求过期数量比率以及接口错误数量比率中的至少一个维度;
75.增长率统计模块430,用于统计所述网络请求的响应信息在所述第二预设时段内相对于所述第一预设时段内的增长率;
76.自适应限流模块440,用于若所述响应信息的增长率满足预设约束条件,则基于所述响应信息的增长率进行自适应限流。
77.可选的,网络请求获取模块410,具体用于:从所述请求队列中获取网络请求,并发送至令牌桶;从所述令牌桶中获取所述网络请求的令牌,并基于所述令牌将所述网络请求发送至所述目标服务器;相应的,自适应限流模块440,具体用于:基于所述响应信息的增长率调整令牌桶的令牌并行下发数量和/或调整令牌的生成速度。
78.可选的,所述装置还包括网络请求存放模块,用于从请求队列中获取网络请求之前,接收至少一个网络请求,并根据各所述网络请求的请求时间戳将各所述网络请求存放至所述请求队列。
79.可选的,所述装置还包括请求队列更新模块,用于在基于所述响应信息的增长率进行自适应限流之后,基于第一预设时段内以及第二预设时段内各所述网络请求的访问耗时信息、访问请求过期信息以及访问接口错误信息中的至少一个维度更新所述请求队列。
80.可选的,自适应限流模块440,具体用于:若所述平均耗时的增长率大于第一预设值,则基于所述平均耗时的增长率调整令牌桶的令牌并行下发数量和/或调整令牌的生成速度。
81.可选的,自适应限流模块440,具体用于:若所述网络请求过期数量比率的增长率大于第二预设值,则基于所述网络请求过期数量比率的增长率调整令牌桶的令牌并行下发数量和/或调整令牌的生成速度。
82.可选的,自适应限流模块440,具体用于:若所述接口错误数量比率的增长率大于第三预设值,则基于所述接口错误数量比率的增长率调整令牌桶的令牌并行下发数量和/或调整令牌的生成速度。
83.上述实施例所提供的装置可以执行本发明任意实施例所提供的网络请求的自适应限流方法,具备执行方法相应的功能模块和有益效果。
84.图5是本发明实施例提供的一种电子设备结构示意图,如图5所示,该设备包括:
85.一个或多个处理器510,图5中以一个处理器510为例;
86.存储器520;
87.所述设备还可以包括:输入装置530和输出装置540。
88.所述设备中的处理器510、存储器520、输入装置530和输出装置540可以通过总线
或者其他方式连接,图5中以通过总线连接为例。
89.存储器520作为一种非暂态计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种网络请求的自适应限流方法对应的程序指令/模块。处理器510通过运行存储在存储器520中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例的一种网络请求的自适应限流方法,即:
90.从请求队列中获取网络请求,并发送至所述目标服务器;
91.收集在第一预设时段内所述网络请求的响应信息,以及,收集在第二预设时段内所述网络请求的响应信息;其中,所述响应信息包括平均耗时、网络请求过期数量比率以及接口错误数量比率中的至少一个维度;
92.统计所述网络请求的响应信息在所述第二预设时段内相对于所述第一预设时段内的增长率;
93.若所述响应信息的增长率满足预设约束条件,则基于所述响应信息的增长率进行自适应限流。
94.存储器520可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非暂态性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态性固态存储器件。在一些实施例中,存储器520可选包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
95.输入装置530可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏等显示设备。
96.本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的一种网络请求的自适应限流方法,也即:
97.从请求队列中获取网络请求,并发送至所述目标服务器;
98.收集在第一预设时段内所述网络请求的响应信息,以及,收集在第二预设时段内所述网络请求的响应信息;其中,所述响应信息包括平均耗时、网络请求过期数量比率以及接口错误数量比率中的至少一个维度;
99.统计所述网络请求的响应信息在所述第二预设时段内相对于所述第一预设时段内的增长率;
100.若所述响应信息的增长率满足预设约束条件,则基于所述响应信息的增长率进行自适应限流。
101.可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、
或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
102.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
103.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。
104.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
105.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献