基于服务端实时反馈和软值的流量控制方法及相关设备与流程

文档序号:36097492发布日期:2023-11-21 01:25阅读:38来源:国知局
基于服务端实时反馈和软值的流量控制方法及相关设备与流程

本公开涉及流量控制领域,并且更具体地,涉及一种基于服务端实时反馈和软值的流量控制方法及相关设备。


背景技术:

1、在现代计算机系统中,流量控制是一种常见的,通过限制客户资源访问量,来限制系统资源占用并增加系统稳定型的设计。当提供服务的一方认为自身资源不足以提供更多的服务,或者访问一方的访问量达到设计的阈值时,提供服务的一方会采取措施阻止访问一方进一步的访问。

2、以网络领域为例,常见的策略之一是tcp的拥塞控制,采用aimd的反馈控制算法,在服务访问发生阻塞时(通常体现为超时),访问一方的发送窗口呈现积式减少,快速降低访问频率;而如果之后的服务访问顺利进行,发送窗口会呈现线性的增长,逐步恢复访问流量。采用相同策略的多个访问者最终能在资源占用上达成均衡。网络领域另一种策略是在服务一方资源不足时,对超额的访问返回特定错误码(而非超时),该错误码体现了访问流量达到阈值的语意,并要求访问一方在一段时间后予以重试。例如http服务可以返回429-too many request响应,并携带一个retry-after http header信息,提示用户当前请求在单位时间内超过了服务端的限制,并提示在一定时间后进行重试。

3、但是在流量控制领域,没有一种策略能对所有场景都非常有效,例如上述的常见策略,对于多个访问者同时访问的场景,无法有效体现访问者的权重,且访问过程里需要频繁触发错误才能让策略生效,错误产生的重试会造成额外的开销。


技术实现思路

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、根据本公开实施例的一个示例,其中,所述方法还包括:

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、将所述网络流量表征向量分别与所述各个集合目标数据区段表征向量进行特征交互,得到各个集合整合表征向量;

58、通过所述各个集合整合表征向量进行投影,得到各个集合投影表征向量,将所述各个集合投影表征向量进行组合,得到目标集合整合表征向量;

59、通过所述目标集合整合表征向量进行集合负载状态检测,得到所述服务端负载监测集合和所述网络流量数据集对应的集合负载状态;

60、所述将所述网络流量表征向量分别与所述各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量,包括:将所述网络流量表征向量分别与所述各个目标数据区段表征向量进行衔尾组合,得到各个负载流量整合表征向量;

61、所述将所述各个负载流量整合表征向量分别进行特征压缩投影,得到各个投影表征向量,包括:分别将所述各个负载流量整合表征向量依据设定的维数进行全连接特征压缩投影,得到各设定维数的投影表征向量。

62、根据本公开实施例的另一方面,提供了一种服务端,包括:一个或多个处理器;以及一个或多个存储器,其中所述存储器中存储有计算机可读代码,所述计算机可读代码在由所述一个或多个处理器运行时,使得所述一个或多个处理器执行以上所述的方法。

63、本技术至少具有的有益效果:

64、本技术实施例提供的基于服务端实时反馈和软值的流量控制方法及相关设备,通过获取目标单位时间中的负载状态;基于负载状态确定更新软阈值,更新软阈值用于表征服务端对外服务的建议流量;基于目标单位时间中维持的统计区间统计有效访问请求的数量,有效访问请求为目标单位时间中排除访问重试干扰后,余下的访问请求;根据更新软阈值、有效访问请求的数量和上一轮负载系数,计算得到更新负载系数;将更新负载系数发送至各个访问请求端,以便各个访问请求端基于更新负载系数调整对应访问请求端的初始流量阈值,得到更新流量阈值。基于此,在本技术实施例的流量控制系统中,由提供服务的服务端向访问服务的访问请求端实时反馈自身流量状态,辅助访问请求端制定合理的访问流量。服务端对访问流量设置软阈值,根据软阈值反馈自身流量状态,较大程度上避免因流量波动而产生错误响应。访问请求端通过设置自身的流量上限,结合服务端反馈的负载系数,实现流控系统中不同访问请求端按自身优先级占有流量资源的效果。

65、进一步地,在获取目标单位时间中的负载状态时,通过获取服务端负载数据和服务端负载数据对应的网络流量数据,从服务端负载数据中确定各个目标数据区段,对各个目标数据区段进行表征向量抽取,得到各个目标数据区段表征向量,以及对网络流量数据进行流量趋势表征向量抽取,得到网络流量表征向量;将网络流量表征向量分别与各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量;分别将各个负载流量整合表征向量进行特征压缩投影,得到各个投影表征向量,以及将各个投影表征向量进行特征交互,得到目标整合表征向量;通过目标整合表征向量进行负载状态检测,得到服务端负载数据和网络流量数据对应的负载状态,也就是基于提取到目标数据区段表征向量,从而和网络流量表征向量进行深度地特征交互,使得目标整合表征向量的评估信息更加完善,使得负载状态的获取更加可靠准确。

66、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本技术的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1