CN117081996B - 基于服务端实时反馈和软阈值的流量控制方法及相关设备 - Google Patents
基于服务端实时反馈和软阈值的流量控制方法及相关设备 Download PDFInfo
- Publication number
- CN117081996B CN117081996B CN202311329061.8A CN202311329061A CN117081996B CN 117081996 B CN117081996 B CN 117081996B CN 202311329061 A CN202311329061 A CN 202311329061A CN 117081996 B CN117081996 B CN 117081996B
- Authority
- CN
- China
- Prior art keywords
- load
- flow
- characterization
- data
- characterization vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 239000013598 vector Substances 0.000 claims description 443
- 238000012512 characterization method Methods 0.000 claims description 358
- 230000010354 integration Effects 0.000 claims description 141
- 238000001514 detection method Methods 0.000 claims description 85
- 230000003993 interaction Effects 0.000 claims description 67
- 238000000605 extraction Methods 0.000 claims description 35
- 230000006835 compression Effects 0.000 claims description 33
- 238000007906 compression Methods 0.000 claims description 33
- 230000015654 memory Effects 0.000 claims description 29
- 230000008859 change Effects 0.000 claims description 20
- 238000012544 monitoring process Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 abstract description 8
- 230000000694 effects Effects 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种基于服务端实时反馈和软值的流量控制方法及相关设备,通过获取目标单位时间中的负载状态;基于负载状态确定更新软阈值;基于目标单位时间中维持的统计区间统计有效访问请求的数量;根据更新软阈值、有效访问请求的数量和上一轮负载系数,计算得到更新负载系数;将更新负载系数发送至各个访问请求端,以便各个访问请求端更新流量阈值。基于此,由服务端向访问请求端实时反馈自身流量状态,辅助访问请求端制定合理的访问流量,较大程度上避免因流量波动而产生错误响应。访问请求端通过设置自身的流量上限,结合服务端反馈的负载系数,实现流控***中不同访问请求端按自身优先级占有流量资源的效果。
Description
技术领域
本公开涉及流量控制领域,并且更具体地,涉及一种基于服务端实时反馈和软阈值的流量控制方法及相关设备。
背景技术
在现代计算机***中,流量控制是一种常见的,通过限制客户资源访问量,来限制***资源占用并增加***稳定型的设计。当提供服务的一方认为自身资源不足以提供更多的服务,或者访问一方的访问量达到设计的阈值时,提供服务的一方会采取措施阻止访问一方进一步的访问。
以网络领域为例,常见的策略之一是TCP的拥塞控制,采用AIMD的反馈控制算法,在服务访问发生阻塞时(通常体现为超时),访问一方的发送窗口呈现积式减少,快速降低访问频率;而如果之后的服务访问顺利进行,发送窗口会呈现线性的增长,逐步恢复访问流量。采用相同策略的多个访问者最终能在资源占用上达成均衡。网络领域另一种策略是在服务一方资源不足时,对超额的访问返回特定错误码(而非超时),该错误码体现了访问流量达到阈值的语意,并要求访问一方在一段时间后予以重试。例如HTTP服务可以返回429-Too Many Request响应,并携带一个Retry-After HTTP Header信息,提示用户当前请求在单位时间内超过了服务端的限制,并提示在一定时间后进行重试。
但是在流量控制领域,没有一种策略能对所有场景都非常有效,例如上述的常见策略,对于多个访问者同时访问的场景,无法有效体现访问者的权重,且访问过程里需要频繁触发错误才能让策略生效,错误产生的重试会造成额外的开销。
发明内容
有鉴于此,本申请实施例至少提供一种基于服务端实时反馈和软阈值的流量控制方法及相关设备。
根据本公开实施例的一个方面,提供了一种基于服务端实时反馈和软阈值的流量控制方法,应用于服务端,所述方法包括:
获取目标单位时间中的负载状态;
基于所述负载状态确定更新软阈值,所述更新软阈值用于表征服务端对外服务的建议流量;
基于所述目标单位时间中维持的统计区间统计有效访问请求的数量,所述有效访问请求为所述目标单位时间中排除访问重试干扰后,余下的访问请求;
根据所述更新软阈值、所述有效访问请求的数量和上一轮负载系数,计算得到更新负载系数;
将所述更新负载系数发送至各个访问请求端,以便所述各个访问请求端基于所述更新负载系数调整对应访问请求端的初始流量阈值,得到更新流量阈值。
根据本公开实施例的一个示例,其中,所述基于所述目标单位时间中维持的统计区间统计有效请求数量,包括:
获取所述目标单位时间中接收到的所有访问请求;
基于事先确定的请求字段特征值,在所述目标单位时间中对所述所有访问请求进行去重计数,得到所述有效访问请求的数量;
所述根据所述更新软阈值、所述有效访问请求的数量和上一轮负载系数,计算得到更新负载系数,包括:
计算所述更新软阈值与所述上一轮负载系数的第一乘积;
获取所述第一乘积与所述有效访问请求的数量的第一比值,将所述第一比值作为所述更新负载系数。
根据本公开实施例的一个示例,其中,各个访问请求端基于所述更新负载系数调整对应访问请求端的初始流量阈值,得到更新流量阈值,包括:
针对每一所述访问请求端,计算所述更新负载系数与所述访问请求端的初始流量阈值的乘积,得到更新流量阈值;
当所述更新流量阈值小于所述初始流量阈值时,将所述更新流量阈值作为最终更新流量阈值;
当所述更新流量阈值大于或等于所述初始流量阈值时,将所述初始流量阈值时作为最终更新流量阈值。
根据本公开实施例的一个示例,其中,所述方法还包括:
当访问请求端的数量和/或初始流量阈值发生变化时,获取变化对应的变化系数,所述变化系数为全局变化流量与所述更新负载系数的相乘结果;
计算所述更新软阈值与所述上一轮负载系数的第二乘积;
计算所述有效访问请求的数量与所述变化系数的和值;
计算所述第二乘积与所述和值的第二比值;
将所述第二比值确定为当前目标单位时间对应的更新负载系数。
根据本公开实施例的一个示例,其中,所述获取目标单位时间中的负载状态,包括:
获取服务端负载数据和所述服务端负载数据对应的网络流量数据;
从所述服务端负载数据中确定各个目标数据区段,所述各个目标数据区段是通过所述服务端负载数据中各个备选数据区段对应的负载状态推理可信系数从所述各个备选数据区段中筛选得到;
对所述各个目标数据区段进行表征向量抽取,得到各个目标数据区段表征向量,以及对所述网络流量数据进行流量趋势表征向量抽取,得到网络流量表征向量;
将所述网络流量表征向量分别与所述各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量;
分别将所述各个负载流量整合表征向量进行特征压缩投影,得到各个投影表征向量,以及将所述各个投影表征向量进行特征交互,得到目标整合表征向量;
通过所述目标整合表征向量进行负载状态检测,得到所述服务端负载数据和所述网络流量数据对应的负载状态。
根据本公开实施例的一个示例,其中,所述方法还包括:
将所述服务端负载数据和所述网络流量数据加载至负载状态检测网络;
所述负载状态检测网络从所述服务端负载数据中确定各个目标数据区段,对所述各个目标数据区段进行表征向量抽取,得到各个目标数据区段表征向量,以及对所述网络流量数据进行流量趋势表征向量抽取,得到网络流量表征向量,将所述网络流量表征向量分别与所述各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量,分别将所述各个负载流量整合表征向量进行特征压缩投影,得到各个投影表征向量,以及将所述各个投影表征向量进行特征交互,得到目标整合表征向量,通过所述目标整合表征向量进行负载状态检测,得到所述服务端负载数据和所述网络流量数据对应的负载状态;
其中,所述负载状态检测网络包括负载数据表征向量抽取模块、流量表征向量抽取模块、表征向量整合模块和分类检测模块;
所述将所述服务端负载数据和所述网络流量数据加载至负载状态检测网络,包括:
将所述服务端负载数据加载至所述负载数据表征向量抽取模块中确定各个目标数据区段,以及对所述各个目标数据区段进行表征向量抽取,得到各个目标数据区段表征向量;
将所述网络流量数据加载至所述流量表征向量抽取模块中进行流量趋势表征向量抽取,得到网络流量表征向量;
将所述各个目标数据区段表征向量和所述网络流量表征向量加载至所述表征向量整合模块中,将所述网络流量表征向量分别与所述各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量,分别将所述各个负载流量整合表征向量进行特征压缩投影,得到各个投影表征向量,以及将所述各个投影表征向量进行特征交互,得到目标整合表征向量;
将所述目标整合表征向量加载至分类检测模块进行负载状态检测,得到所述服务端负载数据和所述网络流量数据对应的负载状态。
根据本公开实施例的一个示例,其中,所述表征向量整合模块包括特征交互分支模块、投影分支模块和组合分支模块:
所述将所述各个目标数据区段表征向量和所述网络流量表征向量加载至所述表征向量整合模块中将所述网络流量表征向量分别与所述各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量,将所述各个负载流量整合表征向量分别进行特征压缩投影,得到各个投影表征向量,以及将所述各个投影表征向量进行特征交互,得到目标整合表征向量,包括:
将所述各个目标数据区段表征向量和所述网络流量表征向量加载至特征交互分支模块中将所述网络流量表征向量分别与所述各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量;
将所述各个负载流量整合表征向量加载至投影分支模块中分别进行特征压缩投影,得到各个投影表征向量;
将所述各个投影表征向量加载至组合分支模块中进行组合,得到目标整合表征向量。
根据本公开实施例的一个示例,其中,所述负载状态检测网络通过以下操作进行调试得到:
获取调试样本,所述调试样本包括负载数据样本、网络流量数据样本和样本负载状态指示信息;
将所述调试样本加载至基础负载状态检测网络中进行负载状态检测,得到输出的初始负载状态;
通过所述初始负载状态与所述样本负载状态指示信息进行误差确定,得到调试误差,通过所述调试误差调试优化所述基础负载状态检测网络,得到优化负载状态检测网络;
将所述优化负载状态检测网络作为所述基础负载状态检测网络进行迭代,在满足调试停止要求时停止调试,得到所述负载状态检测网络;
所述通过所述初始负载状态与所述样本负载状态指示信息进行误差确定,得到调试误差,包括:
通过所述初始负载状态获取对应的初始负载状态可信系数,基于事先部署的交叉熵误差函数对所述初始负载状态可信系数与所述样本负载状态指示信息进行误差确定,得到所述调试样本对应的误差值。
根据本公开实施例的一个示例,其中,所述获取服务端负载数据和所述服务端负载数据对应的网络流量数据,包括:
获取服务端负载监测集合和对应的网络流量数据集;
提取所述服务端负载监测集合中的核心负载数据,将所述核心负载数据作为所述服务端负载数据;
若所述核心负载数据包括多个,所述方法还包括:
从所述多个核心负载数据中确定所述多个核心负载数据分别对应的各个集合目标数据区段,以及对所述多个核心负载数据分别对应的各个集合目标数据区段进行表征向量抽取,得到所述多个核心负载数据分别对应的各个集合目标数据区段表征向量;
将所述网络流量表征向量分别与所述各个集合目标数据区段表征向量进行特征交互,得到各个集合整合表征向量;
通过所述各个集合整合表征向量进行投影,得到各个集合投影表征向量,将所述各个集合投影表征向量进行组合,得到目标集合整合表征向量;
通过所述目标集合整合表征向量进行集合负载状态检测,得到所述服务端负载监测集合和所述网络流量数据集对应的集合负载状态;
所述将所述网络流量表征向量分别与所述各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量,包括:将所述网络流量表征向量分别与所述各个目标数据区段表征向量进行衔尾组合,得到各个负载流量整合表征向量;
所述将所述各个负载流量整合表征向量分别进行特征压缩投影,得到各个投影表征向量,包括:分别将所述各个负载流量整合表征向量依据设定的维数进行全连接特征压缩投影,得到各设定维数的投影表征向量。
根据本公开实施例的另一方面,提供了一种服务端,包括:一个或多个处理器;以及一个或多个存储器,其中所述存储器中存储有计算机可读代码,所述计算机可读代码在由所述一个或多个处理器运行时,使得所述一个或多个处理器执行以上所述的方法。
本申请至少具有的有益效果:
本申请实施例提供的基于服务端实时反馈和软阈值的流量控制方法及相关设备,通过获取目标单位时间中的负载状态;基于负载状态确定更新软阈值,更新软阈值用于表征服务端对外服务的建议流量;基于目标单位时间中维持的统计区间统计有效访问请求的数量,有效访问请求为目标单位时间中排除访问重试干扰后,余下的访问请求;根据更新软阈值、有效访问请求的数量和上一轮负载系数,计算得到更新负载系数;将更新负载系数发送至各个访问请求端,以便各个访问请求端基于更新负载系数调整对应访问请求端的初始流量阈值,得到更新流量阈值。基于此,在本申请实施例的流量控制***中,由提供服务的服务端向访问服务的访问请求端实时反馈自身流量状态,辅助访问请求端制定合理的访问流量。服务端对访问流量设置软阈值,根据软阈值反馈自身流量状态,较大程度上避免因流量波动而产生错误响应。访问请求端通过设置自身的流量上限,结合服务端反馈的负载系数,实现流控***中不同访问请求端按自身优先级占有流量资源的效果。
进一步地,在获取目标单位时间中的负载状态时,通过获取服务端负载数据和服务端负载数据对应的网络流量数据,从服务端负载数据中确定各个目标数据区段,对各个目标数据区段进行表征向量抽取,得到各个目标数据区段表征向量,以及对网络流量数据进行流量趋势表征向量抽取,得到网络流量表征向量;将网络流量表征向量分别与各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量;分别将各个负载流量整合表征向量进行特征压缩投影,得到各个投影表征向量,以及将各个投影表征向量进行特征交互,得到目标整合表征向量;通过目标整合表征向量进行负载状态检测,得到服务端负载数据和网络流量数据对应的负载状态,也就是基于提取到目标数据区段表征向量,从而和网络流量表征向量进行深度地特征交互,使得目标整合表征向量的评估信息更加完善,使得负载状态的获取更加可靠准确。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请的技术方案。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开实施例的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1为本申请实施例提供的应用场景的示意图。
图2为本申请实施例提供的一种基于服务端实时反馈和软阈值的流量控制方法的实现流程示意图。
图3为本申请实施例提供的获取有效访问请求的数量的示意图。
图4为访问请求端调整流量阈值前后的效果示意图。
图5为本申请实施例提供的一种流量控制装置的组成结构示意图。
图6为本申请实施例提供的一种计算机设备的硬件实体示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和实施例对本申请的技术方案进一步详细阐述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。所涉及的术语“第一/第二/第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一/第二/第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请的目的,不是旨在限制本申请。
本申请实施例提供的基于服务端实时反馈和软阈值的流量控制方法,可以应用于如图1所示的应用环境中。其中,访问请求端102通过网络与服务端104进行通信。数据存储***可以存储服务端104需要处理的数据。数据存储***可以集成在服务端104上,也可以放在云上或其他网络服务器上。其中,服务端负载数据和网络流量数据可存储在访问请求端102的本地存储中,也可存储至数据存储***或者与服务端104关联的云端存储中,当需要进行流量控制时,服务端104可从访问请求端102本地存储、或数据存储***、或云端存储中,获取服务端负载数据和网络流量数据。其中,访问请求端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。服务端104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
请参照图2,本申请实施例供的基于服务端实时反馈和软阈值的流量控制方法应用于服务端104,具体包括以下步骤:
步骤S10,获取目标单位时间中的负载状态。
负载状态为服务端在目标单位时间内所承受的工作量或资源利用情况,反映了服务端当前的运行状况和资源利用程度,例如根据需要进行等级划分,如一级负载状态、二级负载状态、三级负载状态等,可以理解,设立的等级的数量根据实际需要设定。对于负载状态的获取,可采用人工智能技术介入,以实时高效进行负载状态监测,具体过程将在后续内容进行详细说明。
步骤S20,基于负载状态确定更新软阈值,更新软阈值用于表征服务端对外服务的建议流量。
根据不同的负载状态,也就是服务端自身的流量状况,定期更新一个软阈值M,这个软阈值代表服务端设计上对外提供服务的建议流量,并非服务端可以提供服务的最大流量。服务端还有一个硬阈值N,代表服务端可以提供服务的最大流量,当服务端接收的流量达到硬阈值,将会向访问请求端返回请求过多的错误。N不会暴露给请求服务的一方。硬阈值N相比M应当有一定的余量。软阈值M的更新方式不做限定,可以参照现有技术,例如根据经验值与负载状态的匹配策略,直接获取对应于当前负载状态的软阈值,或者根据一定的算法或策略动态调整软阈值。
步骤S30,基于目标单位时间中维持的统计区间统计有效访问请求的数量,有效访问请求为目标单位时间中排除访问重试干扰后,余下的访问请求。
为了计算有效的负载系数A,服务端需要统计上一个单位时间内的有效的访问请求次数。有效的访问是指在单位时间内排除了访问请求端重试干扰之后,包括因为超过硬阈值N而返回错误的请求在内的全部请求。具体地,可以参照图3,服务端获取目标单位时间中接收到的所有访问请求;然后基于事先确定的请求字段特征值,在目标单位时间中对所有访问请求进行去重计数,得到有效访问请求的数量S。维持的统计区间即目标单位时间中对应的需要统计的访问请求数据区间。
步骤S40,根据更新软阈值、有效访问请求的数量和上一轮负载系数,计算得到更新负载系数。
负载系数的作用是发送给访问请求端,便于访问请求端基于负载系数调节自身流量上线的系数。上一轮负载系数为上一个目标单位时间中生成的负载系数,更新负载系数为目标单位时间中需要计算得到的新的负载系数,在计算更新负载系数时,具体地,服务端计算更新软阈值与上一轮负载系数的第一乘积;获取第一乘积与有效访问请求的数量的第一比值,将第一比值作为更新负载系数。具体可以参照以下公式:
其中,为更新负载系数;M为更新软阈值;/>为上一轮负载系数;S为有效访问请求的数量。
服务端返回给访问请求端的响应请求都会携带服务端当前记录中的负载系数,何时重新计算和更新系数A,由服务端策略决定,例如每个单位时间。从节约资源和稳定性角度考虑,服务端可以在流量平稳时,隔一段时间才更新系数A。
步骤S50,将更新负载系数发送至各个访问请求端,以便各个访问请求端基于更新负载系数调整对应访问请求端的初始流量阈值,得到更新流量阈值。
具体地,针对每一访问请求端,在获取到更新负载系数后,计算更新负载系数与访问请求端的初始流量阈值(即当前被设定的流量上限)的乘积,得到更新流量阈值;当更新流量阈值小于初始流量阈值时,将更新流量阈值作为最终更新流量阈值;当更新流量阈值大于或等于初始流量阈值时,将初始流量阈值时作为最终更新流量阈值。每个访问请求端自身初始设置了流量上限P,该上限与预期该访问请求端在全局的优先级有关,实际运行时,流量阈值会动态调整为L。L由访问请求端在自身认为适宜时,使用从服务端获得的系数A(Anew)与P计算得出,但是L的大小不会超过P,即:
由于系数A会作用于***内所有的访问请求端,按公式可知,不同访问请求端实际可用的流量上限的比值为:
该比值等于两个访问请求端流量上限的比值,即优先级之比。可知本申请实施例的调节后效果可以确保访问请求端实际流量占用,与其预设的优先级呈正比。调节的效果请参照图4。
本申请实施例提供的基于服务端实时反馈和软阈值的流量控制方法及相关设备,通过获取目标单位时间中的负载状态;基于负载状态确定更新软阈值,更新软阈值用于表征服务端对外服务的建议流量;基于目标单位时间中维持的统计区间统计有效访问请求的数量,有效访问请求为目标单位时间中排除访问重试干扰后,余下的访问请求;根据更新软阈值、有效访问请求的数量和上一轮负载系数,计算得到更新负载系数;将更新负载系数发送至各个访问请求端,以便各个访问请求端基于更新负载系数调整对应访问请求端的初始流量阈值,得到更新流量阈值。基于此,在本申请实施例的流量控制***中,由提供服务的服务端向访问服务的访问请求端实时反馈自身流量状态,辅助访问请求端制定合理的访问流量。服务端对访问流量设置软阈值,根据软阈值反馈自身流量状态,较大程度上避免因流量波动而产生错误响应。访问请求端通过设置自身的流量上限,结合服务端反馈的负载系数,实现流控***中不同访问请求端按自身优先级占有流量资源的效果。
进一步地,当***全局有访问请求端加入或退出,或者访问请求端的流量上限发生了调整时,也即访问请求端的数量和/或初始流量阈值发生变化时,会导致***发生小幅波动,此时也需要对负载系数进行更新,以适应变化。那么,本申请实施例还包括以下步骤:
S60,获取变化对应的变化系数,变化系数为全局变化流量与更新负载系数的相乘结果;计算更新软阈值与上一轮负载系数的第二乘积;计算有效访问请求的数量与变化系数的和值;计算第二乘积与和值的第二比值;将第二比值确定为当前目标单位时间对应的更新负载系数。
具体地,可以参考以下公式:
其中,X为变化系数,其他变量的含义请参前述说明,此处不赘述。
在新的负载系数反馈到所有访问请求端并被采纳之前,***中各个访问请求端可能仍然在使用旧的负载系数运行,这个阶段可能会发生服务端到达硬阈值N而返回对应错误。当访问请求端接收到这类错误,需要立刻检查系数A有无更新,如果存在更新要及时跟随系数调整。
假定***中有K个访问请求端,且流量处于稳定状态,则当下总流量为:
以加入新访问请求端为例,假定新***的访问请求端流量上限为,则此时***内总流量为:
相比合理流量M,超出部分为:
将上述结果代入第一个公式可见:
可知,新的负载系数能够在示例中流量变化的场景下,帮助***内流量维持在预期的软阈值M。同时,只要波动的部分X<N - M,即流量波动少于软阈M到硬阈值N的差额,流量波动就不会产生因流量到达阈值而错误的响应。
如步骤S10中介绍,本申请实施例还引入了人工智能技术对服务端的负载状态进行实时监测,以保证负载状态识别的高效准确。具体地,请参照图4,本申请实施例获取负载状态的过程可以包括以下步骤:
步骤S110,获取服务端负载数据和服务端负载数据对应的网络流量数据。
其中,服务端负载数据是指需要进行负载状态识别检测的数据,可以包含CPU使用率、内存利用率、网络带宽占用、进程数量等负载指标的实时数据,可以通过***监控工具(例如,Zabbix、Nagios、Prometheus等)可以实时收集,此外,服务端的操作***和应用程序也会生成日志文件,记录了各种***事件和负载信息,通过日志文件可以得到目标单位时间的负载数据。网络流量数据是服务端请求的频率、请求的大小、连接数、流量方向等数据,可以通过在网络设备上启用流量监测功能(例如流量镜像、端口镜像或SPAN),可以捕获进出网络设备的流量数据,这些设备可以是交换机、路由器或防火墙等网络设备,或者使用网络流量分析工具(例如Wireshark、tcpdump、tshark等),可以捕获和分析传输在本地网络接口上的网络流量。可以理解,以上服务端负载数据和服务端负载数据对应的网络流量数据是目标单位时间(即需要进行负载状态确定的时间周期)采集得到的。可以理解,对于服务端负载数据和网络流量数据中的离散数据,如协议类型可以进行独热编码,使之适用于分类变量。
步骤S120,从服务端负载数据中确定各个目标数据区段,各个目标数据区段是通过服务端负载数据中各个备选数据区段对应的负载状态推理可信系数从各个备选数据区段中筛选得到。
备选数据区段是服务端负载数据中需要进行过滤选取的数据区段,负载状态推理可信系数表示使用对应的备选数据区段推理得到负载状态时的置信系数,或者概率变量。目标数据区段为各个备选数据区段中负载状态推理可信系数位于较高可信度的区段,负载状态推理可信系数越大,推理获得的负载状态精度越高,负载状态推理可信系数越小,推理得到的负载状态精度越低。
在一种实施方式中,服务端从服务端负载数据中确定各个备选数据区段,比如基于一设定的移动控件,以设定的选取范围进行负载数据的尺取,得到各个备选数据区段;在其他实施方式中,服务端可以依据预设的区段拆分策略对服务端负载数据进行划分,得到各个备选数据区段;抑或,服务端采用神经网络模型从服务端负载数据确定各个备选数据区段。具体的划分方式和过程不做限定。在获得各个备选数据区段时,服务端获取到每个备选数据区段对应的负载状态推理可信系数,该负载状态推理可信系数可以通过备选数据区段的数据项结果进行计算得到,例如内存使用率。此外,可以基于神经网络于调试阶段通过负载数据样本的负载状态推理得分得到。比如,服务端可以基于各备选数据区段对应的负载状态推理可信系数在各个备选数据区段中确定事先设定数量的目标数据区段。
步骤S130,对各个目标数据区段进行表征向量抽取,得到各个目标数据区段表征向量,以及对网络流量数据进行流量趋势表征向量抽取,得到网络流量表征向量。
其中,目标数据区段表征向量是抽取得到的目标数据区段的表征数据负载状态的特征信息,该目标数据区段表征向量能够更好地表征服务端负载数据。网络流量表征向量是网络流量数据对应的表征流量负载的特征信息。例如,服务端对每个目标数据区段进行表征向量抽取,得到每个目标数据区段对应的目标数据区段表征向量,以及对网络流量数据进行流量趋势表征向量抽取,得到网络流量表征向量。具体地,可以基于深度学习神经网络(如卷积神经网络、循环经神经网络、变换器)对目标数据区段进行表征向量抽取,以及对网络流量数据进行流量趋势表征向量抽取。
步骤S140,将网络流量表征向量分别与各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量。
本申请实施例中,负载流量整合表征向量为网络流量表征向量与目标数据区段表征向量特征交互后得到的特征向量,其中,特征交互的过程为将网络流量表征向量分别与每个目标数据区段表征向量进行向量组合,也就是将网络流量表征向量与目标数据区段表征向量衔尾组合,即拼接向量。具体而言,服务端将网络流量表征向量与每个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量,负载流量整合表征向量的数量和目标数据区段表征向量的数量相同。
步骤S150,分别将各个负载流量整合表征向量进行特征压缩投影,得到各个投影表征向量,以及将各个投影表征向量进行特征交互,得到目标整合表征向量。
该步骤中,投影表征向量是维数压缩(即降维)后特征向量,其用于表征服务端负载数据和网络流量数据特征交互后语义,投影表征向量的数量和负载流量整合表征向量的数量相同。目标整合表征向量为将全部投影表征向量进行特征交互后的向量。因为进行特征交互后,获得的负载流量整合表征向量的维数因整合了两个表征向量的组元,其维数较高,基于环节计算消耗,提高运算效率的考虑,进行特征压缩投影,在维持数据特征语义的前提下压缩维数,服务端可以分别将每个负载流量整合表征向量进行特征压缩投影,得到各个投影表征向量,再将各个投影表征向量进行特征交互,得到目标整合表征向量。
步骤S160,通过目标整合表征向量进行负载状态检测,得到服务端负载数据和网络流量数据对应的负载状态。
负载状态用于表征服务端负载数据和网络流量数据共同对应的***流量负载状态。作为一种实施方式,服务端基于目标整合表征向量进行负载状态分类,得到当前对应于每一事先设定的负载状态的支持度(可以是概率变量或置信度),将最高的支持度对应的负载状态确定为服务端负载数据和网络流量数据对应的负载状态。
基于以上步骤S110~S160,通过获取服务端负载数据和服务端负载数据对应的网络流量数据,从服务端负载数据中确定各个目标数据区段,对各个目标数据区段进行表征向量抽取,得到各个目标数据区段表征向量,以及对网络流量数据进行流量趋势表征向量抽取,得到网络流量表征向量;将网络流量表征向量分别与各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量;分别将各个负载流量整合表征向量进行特征压缩投影,得到各个投影表征向量,以及将各个投影表征向量进行特征交互,得到目标整合表征向量;通过目标整合表征向量进行负载状态检测,得到服务端负载数据和网络流量数据对应的负载状态,即基于抽取到目标数据区段表征向量,从而和网络流量表征向量进行深度的特征交互,最后使得到的目标整合表征向量的评估信息更加完善,使得负载状态的获取更加可靠准确。
作为一种实施方式,本申请实施例提供的方法还可以包括:将服务端负载数据和网络流量数据加载至负载状态检测网络,负载状态检测网络从服务端负载数据中确定各个目标数据区段,对各个目标数据区段进行表征向量抽取,得到各个目标数据区段表征向量,以及对网络流量数据进行流量趋势表征向量抽取,得到网络流量表征向量,将网络流量表征向量分别与各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量,分别将各个负载流量整合表征向量进行特征压缩投影,得到各个投影表征向量,以及将各个投影表征向量进行特征交互,得到目标整合表征向量,通过目标整合表征向量进行负载状态检测,得到服务端负载数据和网络流量数据对应的负载状态。
首先,服务端调试好负载状态检测网络,再将负载状态检测网络进行应用,负载状态检测网络从服务端负载数据中确定各目标数据区段,对各目标数据区段进行表征向量抽取,得到各目标数据区段表征向量,以及对网络流量数据进行流量趋势表征向量抽取,得到网络流量表征向量,将网络流量表征向量分别与各目标数据区段表征向量进行特征交互,得到各负载流量整合表征向量,分别将各负载流量整合表征向量进行特征压缩投影,得到各投影表征向量,以及将各投影表征向量进行特征交互,得到目标整合表征向量,通过目标整合表征向量进行负载状态检测,得到服务端负载数据和网络流量数据对应的负载状态。
对于负载状态检测网络的网络结构,作为一种实施方式,负载状态检测网络包括负载数据表征向量抽取模块、流量表征向量抽取模块、表征向量整合模块和分类检测模块。则将服务端负载数据和网络流量数据加载至负载状态检测网络中,包括:
步骤S210,将服务端负载数据加载至负载数据表征向量抽取模块中确定各个目标数据区段,以及对各个目标数据区段进行表征向量抽取,得到各个目标数据区段表征向量。
其中,负载数据表征向量抽取模块为一个用于对目标数据区段进行表征向量抽取的神经网络,如包含卷积层和池化层的卷积神经网络。例如,服务端将服务端负载数据加载至负载数据表征向量抽取模块,负载数据表征向量抽取模块中包括有推荐区段网络以抽取得到服务端负载数据对应的各个备选数据区段,再在各个备选数据区段中选取得到各个目标数据区段,然后对每个目标数据区段进行表征向量抽取,得到各个目标数据区段表征向量。作为一种实施方式,服务端在确定目标数据区段时,先将服务端负载数据进行拆分,得到多个不同的数据区段,接着计算各数据区段的共性度量结果(即相似程度),通过各数据区段的共性度量结果将多个不同的数据区段进行聚类,得到聚类后的数据区段,将聚类后的数据区段确定为各目标数据区段表征向量。例如服务端计算数据区段与每一邻域的共性度量结果,将共性度量结果大于预设值的数据区段与数据区段进行聚类,得到聚类数据区段。例如,基于数据区段的频率特征(如数据包数量、数据包长度分布、协议分布和带宽利用率等)、网络拓扑特征、时间序列特征等计算数据区段之间的共性度量结果,或者直接计算数据区段的表征向量的向量距离,以确定数据区段的共性度量结果。
步骤S220,将网络流量数据加载至流量表征向量抽取模块中进行流量趋势表征向量抽取,得到网络流量表征向量。
流量表征向量抽取模块也可以是卷积神经网络,服务端在基于负载数据表征向量抽取模块进行表征向量抽取的同时,将网络流量数据加载至流量表征向量抽取模块中进行流量趋势表征向量抽取,得到流量表征向量抽取模块输出的网络流量表征向量。
步骤S230,将各个目标数据区段表征向量和网络流量表征向量加载至表征向量整合模块中将网络流量表征向量分别与各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量,分别将各个负载流量整合表征向量进行特征压缩投影,得到各个投影表征向量,以及将各个投影表征向量进行特征交互,得到目标整合表征向量。
表征向量整合模块为用于将目标数据区段表征向量和网络流量表征向量进行特征交互的神经网络。服务端将负载数据表征向量抽取模块输出的各个目标数据区段表征向量和流量表征向量抽取模块输出的网络流量表征向量同时加载至表征向量整合模块中进行整合表征向量交互,也就是将网络流量表征向量分别和各目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量,将各个负载流量整合表征向量分别进行特征压缩投影,得到各个投影表征向量,以及将各个投影表征向量进行特征交互,得到目标整合表征向量。
步骤S240,将目标整合表征向量加载至分类检测模块进行负载状态检测,得到服务端负载数据和网络流量数据对应的负载状态。
其中,分类检测模块为一个分类器,如Softmax、SVM。服务端将基于表征向量整合模块得到目标整合表征向量加载至分类检测模块进行负载状态检测,进行状态多分类检测,得到对应各个负载状态的支持度,将支持度最大的负载状态作为服务端负载数据和网络流量数据对应的负载状态。
以上通过负载数据表征向量抽取模块、流量表征向量抽取模块、表征向量整合模块和分类检测模块来完成对服务端负载数据和网络流量数据对应的负载状态的检测,使得负载状态的准确度得到提高。
作为一种实施方式,表征向量整合模块包括特征交互分支模块、投影分支模块和组合分支模块,则步骤S230,将各个目标数据区段表征向量和网络流量表征向量加载至表征向量整合模块中将网络流量表征向量分别与各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量,分别将各个负载流量整合表征向量进行特征压缩投影,得到各个投影表征向量,以及将各个投影表征向量进行特征交互,得到目标整合表征向量,具体可以包括:
步骤S231,将各个目标数据区段表征向量和网络流量表征向量加载至特征交互分支模块中将网络流量表征向量分别与各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量。
其中,特征交互分支模块为将网络流量表征向量和目标数据区段特征交互的神经网络。服务端将每个目标数据区段表征向量和网络流量表征向量加载至特征交互分支模块中,再通过特征交互分支模块将目标数据区段表征向量和网络流量表征向量进行衔尾组合,得到各个负载流量整合表征向量,例如,将目标数据区段表征向量作为在前向量,将网络流量表征向量作为在后向量进行衔尾组合,或者,将目标数据区段表征向量作为在后向量,将网络流量表征向量作为在前向量进行衔尾组合,得到负载流量整合表征向量。
作为一种实施方式,服务端将网络流量表征向量中的组元和目标数据区段表征向量中的组元进行组合,也就是在网络流量表征向量中的组元中确定第一个组元,确定为负载流量整合表征向量的第一个组元,然后在目标数据区段表征向量的组元中确定第一个组元,将其确定为负载流量整合表征向量的第二个组元,基于此思路循环全部的组元,得到负载流量整合表征向量,令获得的负载流量整合表征向量更准确。
作为一种实施方式,服务端可以将网络流量表征向量中与目标数据区段表征向量进行局部加权平均,得到处理后的负载流量整合表征向量,令获得的负载流量整合表征向量的表征效果更佳。
作为一种实施方式,服务端可以获取网络流量表征向量的流量聚焦影响系数(可以理解为对流量数据注意力的权值信息,用于表征流量数据在进行特征交互时的重要程度,可以采用注意力机制获取对应的影响系数)和每个目标数据区段表征向量对应的数据区段聚焦影响系数(可以理解为对数据区段注意力的权值信息,用于表征数据区段在进行特征交互时的重要程度,可以采用注意力机制获取对应的影响系数)。通过流量聚焦影响系数对网络流量表征向量进行加权,以及基于数据区段聚焦影响系数对目标数据区段表征向量进行加权,将加权结果进行组合,得到负载流量整合表征向量,如此提高负载流量整合表征向量的准确性。
步骤S232,将各个负载流量整合表征向量加载至投影分支模块中分别进行特征压缩投影,得到各个投影表征向量。
投影分支模块为进行特征压缩投影的神经网络,如FCN(Fully ConnectedNetwork,全连接网络)。服务端将每个负载流量整合表征向量加载至投影分支模块分别进行全连接特征压缩投影,得到各个投影表征向量。
步骤S233,将各个投影表征向量加载至组合分支模块中进行组合,得到目标整合表征向量。
组合分支模块为将投影表征向量进行衔尾组合的一个子网络。服务端可以逐一将每个投影表征向量加载至组合分支模块中进行衔尾组合,得到组合后的表征向量,即目标整合表征向量。
作为一种实施方式,负载状态检测网络通过以下操作进行调试得到:
步骤S310,获取调试样本,调试样本包括负载数据样本、网络流量数据样本和样本负载状态指示信息。
负载数据样本和网络流量数据样本是在调试时使用的样本,负载数据样本和网络流量数据样本都携带样本负载状态指示信息,样本负载状态指示信息即作为监督信息的标签。服务端可以在预设的样本库中获取负载数据样本、网络流量数据样本和对应的样本负载状态指示信息。
步骤S320,将调试样本加载至基础负载状态检测网络中进行负载状态检测,得到初始负载状态。
基础负载状态检测网络为完成初始化后的负载状态检测网络,初始负载状态为基于基础负载状态检测网络中的初始化参变量进行负载状态检测得到的负载状态。服务端基于神经网络构建基础负载状态检测网络,再基于调试样本对基础负载状态检测网络进行调优,也即将负载数据样本和网络流量数据样本加载至基础负载状态检测网络中进行负载状态检测,从负载数据样本中确定各初始目标数据区段,各初始目标数据区段是通过负载数据样本中,各初始备选数据区段对应的负载状态推理可信系数在各初始备选数据区段中筛选得到。接着,对各初始目标数据区段进行表征向量抽取,得到各初始目标数据区段表征向量,以及对网络流量数据样本进行流量趋势表征向量抽取,得到初始网络流量表征向量。之后,初始网络流量表征向量分别和各初始目标数据区段表征向量进行特征交互,得到各初始负载流量整合表征向量。再之后,将各个初始负载流量整合表征向量分别进行特征压缩投影,得到各初始投影表征向量,以及将各个初始投影表征向量进行特征交互,得到初始目标整合表征向量,最后,通过初始目标整合表征向量进行负载状态检测,得到初始负载状态。
步骤S330,通过初始负载状态与样本负载状态指示信息进行误差确定,得到调试误差,通过调试误差调试优化基础负载状态检测网络,得到优化负载状态检测网络。
调试误差代表调优过程获得的负载状态与样本负载状态指示信息的误差。服务端获取初始负载状态与负载数据样本和网络流量数据样本对应的样本负载状态指示信息的误差,再通过其基于梯度回传法以调试优化基础负载状态检测网络中的初始化参数,得到更新后的负载状态检测网络。
步骤S340,将优化负载状态检测网络作为基础负载状态检测网络进行迭代,在满足调试停止要求时停止调试,得到负载状态检测网络。调试停止要求可以是误差小于预设值、网络的可学习变量(如权重、偏置、学习率)达到最佳、网络调优次数达到预设次数等。如果没有满足调试停止要求,服务端将迭代后的负载状态检测网络又确定为基础负载状态检测网络,跳转至将调试样本加载至基础负载状态检测网络中进行负载状态检测,得到输出的初始负载状态的步骤,继续调优流程,在满足调试停止要求时停止调试,将满足调试停止要求的基础负载状态检测网络确定为负载状态检测网络。
作为一种实施方式,步骤S310,通过初始负载状态与样本负载状态指示信息进行误差确定,得到调试误差,具体包括:
通过初始负载状态获取初始负载状态可信系数,基于事先部署的交叉熵误差函数对初始负载状态可信系数与样本负载状态指示信息进行误差确定,得到调试样本对应的误差值。服务端获取基础负载状态检测网络输出的初始负载状态对应的初始负载状态可信系数,基于事先部署的交叉熵误差函数对初始负载状态可信系数与样本负载状态指示信息进行误差确定,得到调试样本对应的误差值。
通过以上网络调试步骤,基于调试样本对基础负载状态检测网络进行调优,以获得负载状态检测网络,将负载状态检测网络进行应用,保障了负载状态检测的效率。
作为一种实施方式,步骤S110,获取服务端负载数据和服务端负载数据对应的网络流量数据,可以包括:获取服务端负载监测集合和对应的网络流量数据集;提取服务端负载监测集合中的核心负载数据,将核心负载数据作为服务端负载数据。
服务端负载监测集合为收集的服务端所有负载数据的集合(如包含内存使用率、内存使用率、磁盘 I/O 响应时间、网络带宽利用率、进程数、网络连接数、磁盘空间利用率、请求队列长度等),服务端可以对集合进行负载状态检测,即服务端在数据库获取服务端负载监测集合和对应的网络流量数据集,接着提取服务端负载监测集合中的核心负载数据(如包含内存使用率、内存使用率、磁盘 I/O 响应时间、网络带宽利用率、进程数),将核心负载数据确定为服务端负载数据。
以上提取服务端负载监测集合中的核心负载数据,将核心负载数据确定为服务端负载数据,再进行负载状态检测,提高了集合负载状态检测的精度。
作为一种实施方式,核心负载数据包括多个,则方法还可以包括:
步骤S410,在多个核心负载数据中确定多个核心负载数据分别对应的各个集合目标数据区段,以及对多个核心负载数据分别对应的各个集合目标数据区段进行表征向量抽取,得到多个核心负载数据分别对应的各个集合目标数据区段表征向量。
服务端对每个核心负载数据进行目标数据区段提取,以确定每一核心负载数据对应的各集合目标数据区段,接着,抽取每一核心负载数据对应的各集合目标数据区段的特征信息,获得各集合目标数据区段表征向量。
步骤S420,将网络流量表征向量分别与各个集合目标数据区段表征向量进行特征交互,得到各个集合整合表征向量。
例如,服务端将网络流量表征向量与所有核心负载数据对应的集合目标数据区段表征向量进行特征交互,得到各个集合整合表征向量,该各个集合整合表征向量是不同的核心负载数据的集合目标数据区段表征向量与网络流量表征向量进行组合得到。
步骤S430,通过各个集合整合表征向量进行投影,得到各个集合投影表征向量,将各个集合投影表征向量进行组合,得到目标集合整合表征向量。
例如,服务端将每个集合整合表征向量进行全连接特征压缩投影,得到每个集合整合表征向量压缩后的表征向量,得到集合投影表征向量,将全部集合投影表征向量逐一进行衔尾组合,得到组合后的目标集合整合表征向量。
步骤S440,通过目标集合整合表征向量进行集合负载状态检测,得到服务端负载监测集合和网络流量数据集对应的集合负载状态。
例如,服务端通过目标集合整合表征向量进行集合负载状态检测,得到每个集合负载状态的置信度,筛选最大置信度对应的集合负载状态为服务端负载监测集合和网络流量数据集对应的集合负载状态。
作为一种实施方式,步骤140,将网络流量表征向量分别与各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量,具体可以包括:将网络流量表征向量分别与各个目标数据区段表征向量进行衔尾组合,得到各个负载流量整合表征向量。例如,服务端将网络流量表征向量作为前一个向量,将目标数据区段表征向量作为后一个向量,进行衔尾组合,得到各个负载流量整合表征向量,或者反之,令获得的负载流量整合表征向量具有更丰富的语义,负载流量整合表征向量的准确度更高。
作为一种实施方式,步骤150,分别将各个负载流量整合表征向量进行特征压缩投影,得到各个投影表征向量,可以包括:将各个负载流量整合表征向量依据设定的维数分别进行全连接特征压缩投影,得到各设定维数的投影表征向量。
例如,服务端事先设定一个维数,将各个负载流量整合表征向量依据设定的维数进行全连接特征压缩投影,将每个负载流量整合表征向量都进行投影到对应维数,获得投影表征向量,减少计算量,增加效率。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的标签处理方法的流量控制装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个流量控制装置实施例中的具体限定可以参见上文中对于标签处理方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种流量控制装置,包括:
负载状态获取模块510,用于获取目标单位时间中的负载状态;
软阈值更新模块520,用于基于所述负载状态确定更新软阈值,所述更新软阈值用于表征服务端对外服务的建议流量;
有效请求统计模块530,用于基于所述目标单位时间中维持的统计区间统计有效访问请求的数量,所述有效访问请求为所述目标单位时间中排除访问重试干扰后,余下的访问请求;
负载系数计算模块540,用于根据所述更新软阈值、所述有效访问请求的数量和上一轮负载系数,计算得到更新负载系数;
流量阈值调整模块550,用于将所述更新负载系数发送至各个访问请求端,以便所述各个访问请求端基于所述更新负载系数调整对应访问请求端的初始流量阈值,得到更新流量阈值。
上述标签处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种服务端,该服务端可以是服务器,其内部结构图可以如图6所示。该服务端包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过***总线连接,通信接口通过输入/输出接口连接到***总线。其中,该服务端的处理器用于提供计算和控制能力。该服务端的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该服务端的数据库用于存储包含服务端负载数据和网络流量数据等数据。该服务端的输入/输出接口用于处理器与外部设备之间交换信息。该服务端的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于服务端实时反馈和软阈值的流量控制方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务端的限定,具体的服务端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种服务端,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。需要说明的是,本申请所涉及的对象信息(包括但不限于对象的设备信息、对应的个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经对象授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (9)
1.一种基于服务端实时反馈和软阈值的流量控制方法,其特征在于,应用于服务端,所述方法包括:
获取目标单位时间中的负载状态,所述负载状态为服务端在目标单位时间内所承受的工作量或资源利用情况;
基于所述负载状态确定更新软阈值,所述更新软阈值用于表征服务端对外服务的建议流量;
基于所述目标单位时间中维持的统计区间统计有效访问请求的数量,所述有效访问请求为所述目标单位时间中排除访问重试干扰后,余下的访问请求;
根据所述更新软阈值、所述有效访问请求的数量和上一轮负载系数,计算得到更新负载系数,所述负载系数的作用是发送给访问请求端,便于访问请求端基于负载系数调节自身流量上线的系数,上一轮负载系数为上一个目标单位时间中生成的负载系数,更新负载系数为目标单位时间中需要计算得到的新的负载系数;
将所述更新负载系数发送至各个访问请求端,以便所述各个访问请求端基于所述更新负载系数调整对应访问请求端的初始流量阈值,得到更新流量阈值;
其中,所述根据所述更新软阈值、所述有效访问请求的数量和上一轮负载系数,计算得到更新负载系数,包括:
计算所述更新软阈值与所述上一轮负载系数的第一乘积;
获取所述第一乘积与所述有效访问请求的数量的第一比值,将所述第一比值作为所述更新负载系数;
各个访问请求端基于所述更新负载系数调整对应访问请求端的初始流量阈值,得到更新流量阈值,包括:
针对每一所述访问请求端,计算所述更新负载系数与所述访问请求端的初始流量阈值的乘积,得到更新流量阈值;
当所述更新流量阈值小于所述初始流量阈值时,将所述更新流量阈值作为最终更新流量阈值;
当所述更新流量阈值大于或等于所述初始流量阈值时,将所述初始流量阈值时作为最终更新流量阈值。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标单位时间中维持的统计区间统计有效请求数量,包括:
获取所述目标单位时间中接收到的所有访问请求;
基于事先确定的请求字段特征值,在所述目标单位时间中对所述所有访问请求进行去重计数,得到所述有效访问请求的数量。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
当访问请求端的数量和/或初始流量阈值发生变化时,获取变化对应的变化系数,所述变化系数为全局变化流量与所述更新负载系数的相乘结果;
计算所述更新软阈值与所述上一轮负载系数的第二乘积;
计算所述有效访问请求的数量与所述变化系数的和值;
计算所述第二乘积与所述和值的第二比值;
将所述第二比值确定为当前目标单位时间对应的更新负载系数。
4.根据权利要求1所述的方法,其特征在于,所述获取目标单位时间中的负载状态,包括:
获取服务端负载数据和所述服务端负载数据对应的网络流量数据;
从所述服务端负载数据中确定各个目标数据区段,所述各个目标数据区段是通过所述服务端负载数据中各个备选数据区段对应的负载状态推理可信系数从所述各个备选数据区段中筛选得到;
对所述各个目标数据区段进行表征向量抽取,得到各个目标数据区段表征向量,以及对所述网络流量数据进行流量趋势表征向量抽取,得到网络流量表征向量;
将所述网络流量表征向量分别与所述各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量;
分别将所述各个负载流量整合表征向量进行特征压缩投影,得到各个投影表征向量,以及将所述各个投影表征向量进行特征交互,得到目标整合表征向量;
通过所述目标整合表征向量进行负载状态检测,得到所述服务端负载数据和所述网络流量数据对应的负载状态。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将所述服务端负载数据和所述网络流量数据加载至负载状态检测网络;
所述负载状态检测网络从所述服务端负载数据中确定各个目标数据区段,对所述各个目标数据区段进行表征向量抽取,得到各个目标数据区段表征向量,以及对所述网络流量数据进行流量趋势表征向量抽取,得到网络流量表征向量,将所述网络流量表征向量分别与所述各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量,分别将所述各个负载流量整合表征向量进行特征压缩投影,得到各个投影表征向量,以及将所述各个投影表征向量进行特征交互,得到目标整合表征向量,通过所述目标整合表征向量进行负载状态检测,得到所述服务端负载数据和所述网络流量数据对应的负载状态;
其中,所述负载状态检测网络包括负载数据表征向量抽取模块、流量表征向量抽取模块、表征向量整合模块和分类检测模块;
所述将所述服务端负载数据和所述网络流量数据加载至负载状态检测网络,包括:
将所述服务端负载数据加载至所述负载数据表征向量抽取模块中确定各个目标数据区段,以及对所述各个目标数据区段进行表征向量抽取,得到各个目标数据区段表征向量;
将所述网络流量数据加载至所述流量表征向量抽取模块中进行流量趋势表征向量抽取,得到网络流量表征向量;
将所述各个目标数据区段表征向量和所述网络流量表征向量加载至所述表征向量整合模块中,将所述网络流量表征向量分别与所述各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量,分别将所述各个负载流量整合表征向量进行特征压缩投影,得到各个投影表征向量,以及将所述各个投影表征向量进行特征交互,得到目标整合表征向量;
将所述目标整合表征向量加载至分类检测模块进行负载状态检测,得到所述服务端负载数据和所述网络流量数据对应的负载状态。
6.根据权利要求5所述的方法,其特征在于,所述表征向量整合模块包括特征交互分支模块、投影分支模块和组合分支模块:
所述将所述各个目标数据区段表征向量和所述网络流量表征向量加载至所述表征向量整合模块中将所述网络流量表征向量分别与所述各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量,将所述各个负载流量整合表征向量分别进行特征压缩投影,得到各个投影表征向量,以及将所述各个投影表征向量进行特征交互,得到目标整合表征向量,包括:
将所述各个目标数据区段表征向量和所述网络流量表征向量加载至特征交互分支模块中将所述网络流量表征向量分别与所述各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量;
将所述各个负载流量整合表征向量加载至投影分支模块中分别进行特征压缩投影,得到各个投影表征向量;
将所述各个投影表征向量加载至组合分支模块中进行组合,得到目标整合表征向量。
7.根据权利要求5所述的方法,其特征在于,所述负载状态检测网络通过以下操作进行调试得到:
获取调试样本,所述调试样本包括负载数据样本、网络流量数据样本和样本负载状态指示信息;
将所述调试样本加载至基础负载状态检测网络中进行负载状态检测,得到输出的初始负载状态;
通过所述初始负载状态与所述样本负载状态指示信息进行误差确定,得到调试误差,通过所述调试误差调试优化所述基础负载状态检测网络,得到优化负载状态检测网络;
将所述优化负载状态检测网络作为所述基础负载状态检测网络进行迭代,在满足调试停止要求时停止调试,得到所述负载状态检测网络;
所述通过所述初始负载状态与所述样本负载状态指示信息进行误差确定,得到调试误差,包括:
通过所述初始负载状态获取对应的初始负载状态可信系数,基于事先部署的交叉熵误差函数对所述初始负载状态可信系数与所述样本负载状态指示信息进行误差确定,得到所述调试样本对应的误差值。
8.根据权利要求4所述的方法,其特征在于,所述获取服务端负载数据和所述服务端负载数据对应的网络流量数据,包括:
获取服务端负载监测集合和对应的网络流量数据集;
提取所述服务端负载监测集合中的核心负载数据,将所述核心负载数据作为所述服务端负载数据;
若所述核心负载数据包括多个,所述方法还包括:
从所述多个核心负载数据中确定所述多个核心负载数据分别对应的各个集合目标数据区段,以及对所述多个核心负载数据分别对应的各个集合目标数据区段进行表征向量抽取,得到所述多个核心负载数据分别对应的各个集合目标数据区段表征向量;
将所述网络流量表征向量分别与所述各个集合目标数据区段表征向量进行特征交互,得到各个集合整合表征向量;
通过所述各个集合整合表征向量进行投影,得到各个集合投影表征向量,将所述各个集合投影表征向量进行组合,得到目标集合整合表征向量;
通过所述目标集合整合表征向量进行集合负载状态检测,得到所述服务端负载监测集合和所述网络流量数据集对应的集合负载状态;
所述将所述网络流量表征向量分别与所述各个目标数据区段表征向量进行特征交互,得到各个负载流量整合表征向量,包括:将所述网络流量表征向量分别与所述各个目标数据区段表征向量进行衔尾组合,得到各个负载流量整合表征向量;
所述将所述各个负载流量整合表征向量分别进行特征压缩投影,得到各个投影表征向量,包括:分别将所述各个负载流量整合表征向量依据设定的维数进行全连接特征压缩投影,得到各设定维数的投影表征向量。
9.一种服务端,其特征在于,包括:一个或多个处理器;以及一个或多个存储器,其中所述存储器中存储有计算机可读代码,所述计算机可读代码在由所述一个或多个处理器运行时,使得所述一个或多个处理器执行如权利要求1~8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311329061.8A CN117081996B (zh) | 2023-10-16 | 2023-10-16 | 基于服务端实时反馈和软阈值的流量控制方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311329061.8A CN117081996B (zh) | 2023-10-16 | 2023-10-16 | 基于服务端实时反馈和软阈值的流量控制方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117081996A CN117081996A (zh) | 2023-11-17 |
CN117081996B true CN117081996B (zh) | 2024-01-05 |
Family
ID=88717457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311329061.8A Active CN117081996B (zh) | 2023-10-16 | 2023-10-16 | 基于服务端实时反馈和软阈值的流量控制方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117081996B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117714453B (zh) * | 2024-02-05 | 2024-04-26 | 济南千寻信息科技有限公司 | 一种基于物联网卡的智能设备管理方法及*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954279A (zh) * | 2014-03-28 | 2015-09-30 | 华为技术有限公司 | 一种传输控制方法、装置及*** |
CN105915646A (zh) * | 2016-06-20 | 2016-08-31 | 飞天诚信科技股份有限公司 | 一种分散服务器负载的方法及装置 |
CN106101010A (zh) * | 2016-08-15 | 2016-11-09 | 中国联合网络通信集团有限公司 | 基于端局云化的vBRAS流量负载均衡方法及装置 |
CN107835130A (zh) * | 2017-12-12 | 2018-03-23 | 中国联合网络通信集团有限公司 | 一种流量分配方法及装置 |
WO2018056883A1 (en) * | 2016-09-26 | 2018-03-29 | Scania Cv Ab | Method for load balancing between different bus segments connected to a gateway |
CN112996057A (zh) * | 2021-04-21 | 2021-06-18 | 深圳市乙辰科技股份有限公司 | 一种基于分布式无线网络的负载均衡方法及*** |
CN113535530A (zh) * | 2021-08-13 | 2021-10-22 | 广州虎牙科技有限公司 | 服务器负载的预测方法、装置、电子设备及存储介质 |
CN114745143A (zh) * | 2020-12-23 | 2022-07-12 | 息象(北京)科技发展有限公司 | 一种访问控制策略自动生成方法及装置 |
-
2023
- 2023-10-16 CN CN202311329061.8A patent/CN117081996B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104954279A (zh) * | 2014-03-28 | 2015-09-30 | 华为技术有限公司 | 一种传输控制方法、装置及*** |
CN105915646A (zh) * | 2016-06-20 | 2016-08-31 | 飞天诚信科技股份有限公司 | 一种分散服务器负载的方法及装置 |
CN106101010A (zh) * | 2016-08-15 | 2016-11-09 | 中国联合网络通信集团有限公司 | 基于端局云化的vBRAS流量负载均衡方法及装置 |
WO2018056883A1 (en) * | 2016-09-26 | 2018-03-29 | Scania Cv Ab | Method for load balancing between different bus segments connected to a gateway |
CN107835130A (zh) * | 2017-12-12 | 2018-03-23 | 中国联合网络通信集团有限公司 | 一种流量分配方法及装置 |
CN114745143A (zh) * | 2020-12-23 | 2022-07-12 | 息象(北京)科技发展有限公司 | 一种访问控制策略自动生成方法及装置 |
CN112996057A (zh) * | 2021-04-21 | 2021-06-18 | 深圳市乙辰科技股份有限公司 | 一种基于分布式无线网络的负载均衡方法及*** |
CN113535530A (zh) * | 2021-08-13 | 2021-10-22 | 广州虎牙科技有限公司 | 服务器负载的预测方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
云环境下数据流量异常行为网络负载均衡设计;杨杨等;计算机仿真;第33卷(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117081996A (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10027739B1 (en) | Performance-based content delivery | |
US9769248B1 (en) | Performance-based content delivery | |
CN117081996B (zh) | 基于服务端实时反馈和软阈值的流量控制方法及相关设备 | |
CN109710612B (zh) | 向量索引的召回方法、装置、电子设备和存储介质 | |
CN110708256B (zh) | Cdn调度方法、装置、网络设备及存储介质 | |
EP3832452A1 (en) | Log printing method and system, server | |
CN113379176B (zh) | 电信网络异常数据检测方法、装置、设备和可读存储介质 | |
CN113705981B (zh) | 一种基于大数据的异常监测的方法及装置 | |
CN112367384B (zh) | 基于Kafka集群的动态限速方法、装置以及计算机设备 | |
CN110944016A (zh) | DDoS攻击检测方法、装置、网络设备及存储介质 | |
US20230004776A1 (en) | Moderator for identifying deficient nodes in federated learning | |
CN109952743B (zh) | 用于低内存和低流量开销大流量对象检测的***和方法 | |
CN116346740A (zh) | 一种负载均衡方法及装置 | |
CN107943678B (zh) | 一种评价应用访问过程的方法及评价服务器 | |
CN108463813B (zh) | 一种进行数据处理的方法和装置 | |
CN115150159B (zh) | 一种流量检测方法、装置、设备及可读存储介质 | |
CN106686082B (zh) | 存储资源调整方法及管理节点 | |
CN106888237B (zh) | 一种数据调度方法及*** | |
CN109685101B (zh) | 一种多维数据自适应采集方法及*** | |
CN113676341B (zh) | 一种质差评估方法及相关设备 | |
CN114501131A (zh) | 一种视频分析方法、装置、存储介质及电子设备 | |
CN116074331A (zh) | 区块数据同步方法及相关产品 | |
CN109508433B (zh) | 基于匹配算法性能调整的负载波动应对方法和*** | |
CN115333917A (zh) | 一种cdn异常检测方法及装置 | |
CN114724069B (zh) | 一种视频设备型号确认方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |