控制车辆数据请求的方法技术

技术编号:39735890 阅读:4 留言:0更新日期:2023-12-17 23:37
本申请涉及一种控制车辆数据请求的方法

【技术实现步骤摘要】
控制车辆数据请求的方法、装置、设备和存储介质


[0001]本申请涉及数据限流
,特别是涉及一种控制车辆数据请求的方法

装置

设备和存储介质


技术介绍

[0002]众所周知,互联网流量对微服务系统的稳定性影响非常大,在流量过大的情况下可能会导致例如网络连接变慢

资源突然繁忙

暂时不可用或者服务脱机等情况发生

且随着互联网技术的快速发展,使用应用软件

微信小程序以及浏览器的用户越来越多,互联网流量呈现指数式增长,进而使得大多数互联网公司的微服务系统需要承受的压力也越来越大

比如用户在某一段时间内,用户请求量急剧增多,微服务系统往往承受不住,出现宕机奔溃的情况,且再次启动时需要短时间内处理多个客户端的数据请求,由于受限于微服务系统负荷,有可能导致部分请求响应缓慢,数据处理效率较低的问题出现

即在请求高并发访问下,若微服务系统被占用资源持续增加,直致
CPU
资源耗尽,整个微服务系统对外将不可用,在集群环境下那就是雪崩

[0003]在传统的实现方式中,为了面对突发用户请求量的情况,以保证微服务系统的可用性,一般可以通过限流的方式来保护我们微服务系统不被突发流量击垮

例如,在车辆服务中,由于调用终端
TSP、VHR
以及
OTA
均可以向车辆服务器发起查询车辆数据的请求,可能同一时间内发起的数据请求量会非常大,而现有的限流方式一般是针对某个调用终端的某个接口进行限流

[0004]然而,采用对某个调用终端的某个接口进行限流的方式,粒度太细,需要对每个接口的限流大小进行设置,不仅前期设置工作量巨大,后期如果要重新调整,维护工作量也巨大,且限流的大小是通过技术人员的直觉和过往经验进行设置,同时,限流采用的策略也太过局限,无法进行动态调整


技术实现思路

[0005]基于此,本申请提供了一种控制车辆数据请求的方法

装置

设备和存储介质,通过将获取的各调用终端发起的查询车辆数据请求进行统计,实现对车辆服务器的整体限流且限流的大小是通过计算得到的,同时,各调用终端采用的是对应预设动态控制策略对查询车辆数据请求进行控制,进而达到防止车辆服务器出现宕机甚至雪崩的情况,以保护车辆服务器的稳定运行的效果

[0006]第一方面,提供一种控制车辆数据请求的方法,该方法包括:
[0007]获取各调用终端发起的查询车辆数据请求,以及查看计数器对各调用终端发起的查询车辆数据请求的统计数据,其中,统计数据包括开始处理数据请求时间

在开始处理数据请求时间后的一秒内接收的总请求查询量;
[0008]将在开始处理数据请求时间后的一秒内接收的总请求查询量与预设最大计算吞吐量进行比较;
[0009]若在开始处理数据请求时间后的一秒内接收的总请求查询量大于预设最大计算吞吐量,则通知各调用终端根据对应预设动态控制策略对查询车辆数据请求进行控制,以及更新计数器的统计数据

[0010]根据本申请实施例中一种可实现的方式,统计数据还包括当前已处理完成的总请求量以及当前已接收的总请求量,该方法还包括:
[0011]若在开始处理数据请求时间后的一秒内接收的总请求查询量小于或等于预设最大计算吞吐量,则将当前已接收的总请求量和当前已处理完成的总请求量做差值运算,得到当前正在处理的总请求量;
[0012]将当前正在处理的总请求量与预设最大计算吞吐量进行比较;
[0013]在当前正在处理的总请求量小于或等于预设最大计算吞吐量时,对查询车辆数据请求进行正常处理,以及更新计数器的统计数据

[0014]根据本申请实施例中一种可实现的方式,该方法还包括:
[0015]在当前正在处理的总请求量大于预设最大计算吞吐量时,通知各调用终端根据预设动态控制策略对对应查询车辆数据请求进行控制,以及更新计数器的统计数据

[0016]根据本申请实施例中一种可实现的方式,预设最大计算吞吐量的计算方法包括:
[0017]查询初始内存使用率和初始
CPU
使用率,其中,初始内存使用率和初始
CPU
使用率是车辆服务器在未处理任意一个调用终端发起的查询车辆数据请求时的内存使用率和
CPU
使用率;
[0018]查询处理内存使用率和处理
CPU
使用率,其中,处理内存使用率和处理
CPU
使用率是车辆服务器在预设时间内处理各调用终端发起的查询车辆数据请求时的内存使用率和
CPU
使用率;
[0019]统计各调用终端在预设时间内发起的查询车辆数据请求的总请求调用量;
[0020]根据初始内存使用率

初始
CPU
使用率

处理内存使用率

处理
CPU
使用率以及总请求调用量计算预设最大计算吞吐量

[0021]根据本申请实施例中一种可实现的方式,根据初始内存使用率

初始
CPU
使用率

处理内存使用率

处理
CPU
使用率以及总请求调用量计算预设最大计算吞吐量,包括:
[0022]根据初始内存使用率

处理内存使用率

预设最大可用内存使用率以及总请求调用量,计算得到在预设时间内的第一可处理查询数据请求量;
[0023]根据初始
CPU
使用率

处理
CPU
使用率

预设最大可用
CPU
使用率以及总请求调用量,计算得到在预设时间内的第二可处理查询数据请求量;
[0024]选取第一可处理查询数据请求量和第二可处理查询数据请求量中的最小值作为预设最大计算吞吐量

[0025]根据本申请实施例中一种可实现的方式,预设动态控制策略包括按照时间成正比方式进行动态控制的策略和按照指数增长方式进行动态控制的策略,则通知各调用终端根据对应预设动态控制策略对查询车辆数据请求进行控制,包括:
[0026]在预设动态控制策略为按照时间成正比方式进行动态控制的策略时,将预设时间成正比公式

预设控制时间总长

预设初始调整量以及预设最大计算吞吐量通知各调用终端,以指示各调用终端按照时间成正比方式进行动态控制的策略对发起的查询车辆数据请求进行动态控制;
[0027]在预设动态控制策略为按照指数增长方式进行动态控制的策略时,将预设指数增长公式...

【技术保护点】

【技术特征摘要】
1.
一种控制车辆数据请求的方法,其特征在于,所述方法包括:获取各调用终端发起的查询车辆数据请求,以及查看计数器对各所述调用终端发起的查询车辆数据请求的统计数据,其中,所述统计数据包括开始处理数据请求时间

在开始处理数据请求时间后的一秒内接收的总请求查询量;将所述在开始处理数据请求时间后的一秒内接收的总请求查询量与预设最大计算吞吐量进行比较;若所述在开始处理数据请求时间后的一秒内接收的总请求查询量大于所述预设最大计算吞吐量,则通知各所述调用终端根据对应预设动态控制策略对所述查询车辆数据请求进行控制,以及更新所述计数器的统计数据
。2.
根据权利要求1所述的方法,其特征在于,所述统计数据还包括当前已处理完成的总请求量以及当前已接收的总请求量,所述方法还包括:若所述在开始处理数据请求时间后的一秒内接收的总请求查询量小于或等于所述预设最大计算吞吐量,则将所述当前已接收的总请求量和所述当前已处理完成的总请求量做差值运算,得到当前正在处理的总请求量;将所述当前正在处理的总请求量与所述预设最大计算吞吐量进行比较;在所述当前正在处理的总请求量小于或等于所述预设最大计算吞吐量时,对所述查询车辆数据请求进行正常处理,以及更新所述计数器的统计数据
。3.
根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述当前正在处理的总请求量大于所述预设最大计算吞吐量时,通知各所述调用终端根据预设动态控制策略对对应所述查询车辆数据请求进行控制,以及更新所述计数器的统计数据
。4.
根据权利要求1‑3任意一项所述的方法,其特征在于,所述预设最大计算吞吐量的计算方法包括:查询初始内存使用率和初始
CPU
使用率,其中,所述初始内存使用率和初始
CPU
使用率是车辆服务器在未处理任意一个调用终端发起的查询车辆数据请求时的内存使用率和
CPU
使用率;查询处理内存使用率和处理
CPU
使用率,其中,所述处理内存使用率和处理
CPU
使用率是车辆服务器在预设时间内处理各所述调用终端发起的查询车辆数据请求时的内存使用率和
CPU
使用率;统计各所述调用终端在所述预设时间内发起的查询车辆数据请求的总请求调用量;根据所述初始内存使用率

初始
CPU
使用率

处理内存使用率

处理
CPU
使用率以及总请求调用量计算所述预设最大计算吞吐量
。5.
根据权利要求4所述的方法,其特征在于,所述根据所述初始内存使用率

初始
CPU
使用率

处理内存使用率

处理
CPU
使用率以及总请求调用量计算所述预设最大计算吞吐量,包括:根据所述初始内存使用率

所述处理内存使用率

预设最大可用内存使用率以及所述总请求调用量,计算得到在所述预设时间内的第一可处理查询数据请求量;根据所述初始
CPU
使用率

所述处理
CPU
使用率

预设最大可用
CPU
使用率以及所述总请求调用量,计算得到在所述预设时间内的第二可处理查询数据请求量;

【专利技术属性】
技术研发人员:魏建军叶松林
申请(专利权)人:重庆赛力斯新能源汽车设计院有限公司
类型:发明
国别省市:

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

1