用于AI模型服务的用户级并发请求限流方法、系统、设备及介质与流程

摘要: 本发明属于人工智能,具体涉及用于ai模型服务的用户级并发请求限流方法、系统、设备及介质。背景技术:1、随着人工智能技术的快速发展,ai模型服务(如大语言模型、计...
用于AI模型服务的用户级并发请求限流方法、系统、设备及介质与流程

本发明属于人工智能,具体涉及用于ai模型服务的用户级并发请求限流方法、系统、设备及介质。

背景技术:

1、随着人工智能技术的快速发展,ai模型服务(如大语言模型、计算机视觉模型等)的应用场景日益广泛,用户请求规模持续增长。在实际服务部署中,单个用户的高并发请求可能导致ai模型服务资源耗尽,出现响应延迟、服务崩溃等问题,进而影响其他用户的服务体验。因此,对ai模型服务进行限流是保障服务稳定性的关键手段。限流是指为了保障服务稳定性,防止负载过大导致服务崩溃,而采取的限制用户访问流量的一种保护措施。

2、常用的限流方案多基于nginx原生模块实现,例如:通过limit_req_module实现按请求速率的限流(如每秒固定请求数),通过limit_conn_module实现按并发连接数的限流。但是,现有技术至少存在这样的缺陷:

3、1、粒度不精准:limit_req_module仅能控制整体请求速率,无法区分用户维度;limit_conn_module统计的是tcp连接数,而http/1.1及以上版本支持连接复用,单个连接可承载多个请求,导致无法准确反映用户的实际并发请求数。

4、2、计数逻辑缺陷:现有方案无法精准统计“正在处理的请求数”,仅能对请求入口进行拦截,无法关联请求的全生命周期,例如请求处理完成、客户端中断、服务超时等场景,易出现计数残留导致的误限流或漏限流。

5、3、分布式适应性差:多节点部署场景下,原生nginx的本地存储无法实现全局计数同步,导致同一用户在不同节点的请求无法统一限流,限流策略失效。

6、4、灵活性不足:难以针对不同用户(如普通用户、付费用户)设置差异化限流阈值,且无法动态调整阈值以适应服务负载变化。

技术实现思路

1、有鉴于此,一方面,一些实施例公开了一种用于ai模型服务的用户级并发请求限流方法,包括步骤:

2、s1、环境初始化,初始化全局默认限流阈值;

3、s2、请求接入ai模型服务,对用户标识进行合法性校验;

4、s3、进行限流阈值匹配,确定用户的限流阈值;

5、s4、对用户的当前处理请求进行计数,判断是否超越限流阈值;

6、s5、对于通过限流判断的用户请求,由ai模型服务执行业务逻辑;

7、s6、请求生命周期计数维护。

8、进一步,一些实施例公开的用于ai模型服务的用户级并发请求限流方法,还包括步骤:

9、s7、阈值动态调整。

10、一些实施例公开的用于ai模型服务的用户级并发请求限流方法,步骤s1具体包括:

11、部署openresty服务,通过lua_sgared_dict命令配置lua共享字典my_shared_dict,用于存储已授权用户的并发请求计数和用户限流阈值配置;初始化全局默认限流阈值。

12、一些实施例公开的用于ai模型服务的用户级并发请求限流方法,步骤s2具体包括:

13、openresty接收用户发起的ai模型服务请求;

14、从ai模型服务请求中提取唯一用户标识;对用户标识进行合法性校验,若缺失或非法则返回400错误响应。

15、一些实施例公开的用于ai模型服务的用户级并发请求限流方法,步骤s3具体包括:

16、从共享字典my_shared_dict中查询当前用户的自定义限流阈值,作为用户的当前限流阈值;

17、若不存在自定义限流阈值,则匹配全局默认阈值,作为用户的当前限流阈值。

18、一些实施例公开的用于ai模型服务的用户级并发请求限流方法,步骤s4具体包括:

19、从计数存储中获取用户的当前正在处理请求数;

20、若当前正在处理请求数≥限流阈值,则返回429错误响应,拒绝请求;

21、若当前正在处理请求数<限流阈值,则在my_shared_dict中将用户的请求计数+1,并注册请求中断回调函数。

22、一些实施例公开的用于ai模型服务的用户级并发请求限流方法,步骤s5具体包括:

23、将通过限流判断的用户请求,根据相应的地址反向代理至对应的ai模型服务节点,由ai模型服务执行具体的业务逻辑。

24、一些实施例公开的用于ai模型服务的用户级并发请求限流方法,步骤s6具体包括:

25、在请求处理完成、超时或客户端主动中断请求时,通过原子操作将该用户的请求计数-1;若计数递减后≤0,则删除该用户的计数记录以释放存储资源。

26、另一方面,一些实施例公开了用于ai模型服务的用户级并发请求限流系统,用于实现用于ai模型服务的用户级并发请求限流方法,包括:

27、初始化模块,配置为进行环境初始化,初始化全局默认限流阈值;

28、校验模块,配置为请求接入ai模型服务,对用户标识进行合法性校验;

29、限流匹配模块,配置为进行限流阈值匹配,确定用户的限流阈值;

30、计数模块,配置为对用于的当前处理请求进行计数,判断是否超越限流阈值;

31、请求执行模块,配置为对于通过限流判断的用户请求,由ai模型服务执行业务逻辑;

32、计数维护模块,配置为请求生命周期计数维护。

33、再一方面,一些实施例公开了一种电子设备,包括:

34、处理器;

35、存储器;存储器存储有计算机程序,计算机程序被处理器执行时,实现用于ai模型服务的用户级并发请求限流方法。

36、又一方面,一些实施例公开了一种计算机可读存储介质,存储有计算机指令,计算机指令被处理器执行时,实现用于ai模型服务的用户级并发请求限流方法。

37、本发明实施例公开的用于ai模型服务的用户级并发请求限流方法,至少具有下述有益技术效果:

38、限流粒度精准:基于用户唯一标识实现维度化限流,可精准控制单个用户的并发请求数,避免因个别用户过载影响整体服务;

39、计数逻辑可靠:覆盖请求全生命周期的计数管理,通过中断回调、超时处理等机制确保计数增减成对执行,彻底解决计数残留问题;原子操作保障多进程/多节点场景下的计数准确性;

40、分布式兼容:通过redis等分布式缓存实现全局计数同步,支持多节点部署,满足大规模ai服务集群的限流需求;

41、策略灵活可控:支持用户差异化阈值配置及动态调整,可根据用户等级如免费/付费、服务负载动态优化限流策略,提升服务资源利用率;

42、性能优异:基于openresty的事件驱动架构,lua脚本执行效率高,共享字典/redis操作响应时间≤1ms,支持10万级并发请求处理,不影响ai服务的响应性能。

1.用于ai模型服务的用户级并发请求限流方法,其特征在于,包括步骤:

2.根据权利要求1所述的用于ai模型服务的用户级并发请求限流方法,其特征在于,步骤s1具体包括:

3.根据权利要求2所述的用于ai模型服务的用户级并发请求限流方法,其特征在于,步骤s2具体包括:

4.根据权利要求3所述的用于ai模型服务的用户级并发请求限流方法,其特征在于,步骤s3具体包括:

5.根据权利要求4所述的用于ai模型服务的用户级并发请求限流方法,其特征在于,步骤s4具体包括:

6.根据权利要求5所述的用于ai模型服务的用户级并发请求限流方法,其特征在于,步骤s5具体包括:

7.根据权利要求6所述的用于ai模型服务的用户级并发请求限流方法,其特征在于,步骤s6具体包括:

8.用于ai模型服务的用户级并发请求限流系统,用于实现权利要求1~7任一项所述的用于ai模型服务的用户级并发请求限流方法,其特征在于,包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,存储有计算机指令,所述计算机指令被处理器执行时,实现权利要求1~7任一项所述的用于ai模型服务的用户级并发请求限流方法。