CN114666284B - 一种流量控制方法、装置、电子设备及可读存储介质 - Google Patents
一种流量控制方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN114666284B CN114666284B CN202210563387.6A CN202210563387A CN114666284B CN 114666284 B CN114666284 B CN 114666284B CN 202210563387 A CN202210563387 A CN 202210563387A CN 114666284 B CN114666284 B CN 114666284B
- Authority
- CN
- China
- Prior art keywords
- user
- bandwidth resources
- resource allocation
- different priorities
- allocation period
- 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
Images
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/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6265—Queue scheduling characterised by scheduling criteria for service slots or service orders past bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/828—Allocation of resources per group of connections, e.g. per group of users
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书实施例提供一种流量控制方法,应用于云服务端,包括:根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的带宽资源的数量,分别计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配带宽资源的第一数量;根据所述第一数量进一步计算与所述不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量;响应于所述当前资源分配周期内接收到的用户发起的针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。在上述过程中,可以实现带宽资源的动态调整,并对带宽资源进行合理分配,还可以实现精准流量控制,降低物理资源受限时的影响范围。
Description
技术领域
本说明书涉及云服务技术领域,尤其涉及一种流量控制方法、装置、电子设备及可读存储介质。
背景技术
目前,越来越多的用户选择使用云服务,将数据存储在云端,这样不仅可以解决用户的电子设备剩余存储空间不足的问题,还可以帮助用户在多个电子设备之间实现数据共享,同时还可以防止用户的数据意外丢失。
例如,通过NAS(Network Attached Storage,网络附属存储)服务器,可以同时为大量的用户提供云服务,供用户访问共享资源池的数据。
然而,云服务提供方在向用户售卖带宽资源时,通常会进行超卖,即售卖出的带宽资源的总和远大于实际的物理带宽资源。因此,当多个用户同时基于最大带宽资源进行访问时,服务端的物理带宽资源很可能就会达到性能瓶颈,从而导致性能下降,致使所有用户都无法正常访问,甚至出现瘫痪的情况。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种流量控制方法、装置、电子设备及可读存储介质,以解决相关技术中存在的问题。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书实施例的第一方面,提供一种流量控制方法,应用于云服务端,所述云服务端上存储了提供给不同优先级的用户访问的数据;其中,所述云服务端上的带宽资源周期性的分配给所述用户集合;所述方法包括:
响应于所述带宽资源的上一资源分配周期结束,根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的带宽资源的数量,分别计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配带宽资源的第一数量;
根据所述第一数量进一步计算与所述不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量;
响应于所述当前资源分配周期内接收到的用户发起的针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
根据本说明书实施例的第二方面,提供一种流量控制方法,应用于客户端,所述方法包括:
接收云服务端发送的与不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量;所述第二数量由所述云服务端根据当前资源分配周期内与所述不同优先级的用户集合对应的可分配带宽资源的第一数量计算得到;所述第一数量由所述云服务端响应于所述带宽资源的上一资源分配周期结束,根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的带宽资源的数量计算得到;其中,所述云服务端上存储了提供给不同优先级的用户访问的数据;所述云服务端上的带宽资源周期性的分配给所述用户集合;
响应于所述当前资源分配周期内用户发起针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
根据本说明书实施例的第三方面,提供一种流量控制装置,应用于云服务端,所述云服务端上存储了提供给不同优先级的用户访问的数据;其中,所述云服务端上的带宽资源周期性的分配给所述用户集合;所述装置包括:
第一计算模块,用于响应于所述带宽资源的上一资源分配周期结束,根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的带宽资源的数量,分别计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配带宽资源的第一数量;
第二计算模块,用于根据所述第一数量进一步计算与所述不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量;
第一控制模块,用于响应于所述当前资源分配周期内接收到的用户发起的针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
根据本说明书实施例的第四方面,提供一种流量控制装置,应用于客户端,所述装置包括:
接收模块,用于接收云服务端发送的与不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量;所述第二数量由所述云服务端根据当前资源分配周期内与所述不同优先级的用户集合对应的可分配带宽资源的第一数量计算得到;所述第一数量由所述云服务端响应于所述带宽资源的上一资源分配周期结束,根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的带宽资源的数量计算得到;其中,所述云服务端上存储了提供给不同优先级的用户访问的数据;所述云服务端上的带宽资源周期性的分配给所述用户集合;
第二控制模块,用于响应于所述当前资源分配周期内用户发起针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
根据本说明书实施例的第五方面,提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述方法。
根据本说明书实施例的第六方面,提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
本说明书的实施例提供的技术方案可以包括以下有益效果:
在上述过程中,通过为用户集合划分不同的优先级,并周期性的为访问数据的不同优先级的用户集合进行带宽资源的分配,可以根据上一资源分配周期内的分配情况,重新调整当前资源分配周期内为不同优先级的用户集合分配的带宽资源的第一数量;进一步的,可以通过根据第一数量进一步计算为每个优先级中的各个用户分配的带宽资源的第二数量,并在用户访问数据时,基于用户对应的第二数量进行访问控制。通过以上技术方案,一方面,可以实现对带宽资源的动态调整,并对带宽资源进行合理分配;另一方面,可以实现精准的流量控制,降低物理资源受限时的影响范围。
附图说明
图1为本说明书一示例性实施例提供的一种用户与云服务端进行交互的示意图;
图2为本说明书一示例性实施例提供的一种流量控制方法的流程图;
图3为本说明书一示例性实施例提供的一种云服务端针对访问请求进行访问控制的示意图;
图4为本说明书一示例性实施例提供的一种将用户的访问请求添加至QoS队列的示意图;
图5为本说明书一示例性实施例提供的一种用户通过客户端与云服务端进行交互的示意图;
图6为本说明书一示例性实施例提供的另一种流量控制方法的流程图;
图7为本说明书一示例性实施例提供的一种客户端针对访问请求进行访问控制的示意图;
图8是本说明书一示例性实施例提供的一种流量控制装置所在电子设备的结构示意图;
图9是本说明书一示例性实施例提供的一种流量控制装置的框图;
图10是本说明书一示例性实施例提供的又一种流量控制装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
云服务提供方在售卖带宽资源时,通常会将售卖的带宽资源分为尽力而为和必须保障两种形态,并通过配置不同的隔离策略给予这两类售卖资源不同的保障级别,从而确保当物理带宽资源受限时,仍然可以为部分用户提供稳定可靠的云服务。
例如,可以通过配置QoS(Quality of Service,服务质量)策略区分不同业务的流量,通过基于五元组匹配流分类规则来划分流量,并根据配置的限速规则保证关键业务流量的带宽,以提高网络的质量。
然而,虽然可以通过类似上述基于QoS策略将部分用户隔离等技术手段,将关键用户的受影响范围缩小,但在承接实时类的业务时,由于无法实时对策略进行调整,导致每个用户仍然无法避免受到其他用户的影响。
有鉴于此,本说明书提供一种周期性的动态分配策略,通过基于上一周期的分配情况,确定当前周期内为访问数据的不同优先级的用户集合分配的带宽资源,以及进一步为同一优先级的用户集合中的不同用户确定可分配的带宽资源,并实现精准的流量控制的技术方案。
请参见图1,图1为本说明书一示例性实施例提供的一种用户与云服务端进行交互的示意图。如图1所示,用户A1-用户An属于优先级为A的用户集合,用户B1-Bn属于优先级为B的用户集合,用户C1-用户Cn属于优先级为C的用户集合,并且不同优先级的用户集合都可以访问云服务端上存储的数据。
在实现时,云服务端上的带宽资源,可以周期性的分配给所述用户集合;
在一个例子中,在第一次分配带宽资源时,可以为图1中的三个用户集合预设不同的分配比例,并根据比例分配带宽资源。
然后,可以响应于所述带宽资源的上一资源分配周期结束,根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的带宽资源的数量,分别计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配带宽资源的第一数量;
例如,可以统计图1中的三个优先级的用户集合在上一资源分配周期内,所分配到的资源带宽的数量,然后根据统计到的结果,基于预设的计算公式,确定当前资源分配周期内,这三个优先级的用户集合分别对应的可分配带宽资源的数量。
接着,可以根据所述第一数量进一步计算与所述不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量;
例如,假设图1中优先级为A的用户集合对应的可分配带宽资源的数量的结果为10Gbps,可以进一步根据预设的算法计算出优先级为A的用户集合中的用户A1对应的可分配带宽资源的数量。图1中另外两个用户集合同理。
后续,可以响应于所述当前资源分配周期内接收到的用户发起的针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
例如,假设计算出的用户A1对应的可分配带宽资源的数量为1Gbps,那么在当前资源分配周期内接收到用户A1发起的针对数据的访问请求时,可以根据1GB/S作为流量的阈值速度,对访问请求进行访问控制。
在上述过程中,通过为用户集合划分不同的优先级,并周期性的为访问数据的不同优先级的用户集合进行带宽资源的分配,可以根据上一资源分配周期内的分配情况,重新调整当前资源分配周期内为不同优先级的用户集合分配的带宽资源的第一数量;进一步的,可以通过根据第一数量进一步计算为每个优先级中的各个用户分配的带宽资源的第二数量,并在用户访问数据时,基于用户对应的第二数量进行访问控制。通过以上技术方案,一方面,可以实现对带宽资源的动态调整,并对带宽资源进行合理分配;另一方面,可以实现精准的流量控制,降低物理资源受限时的影响范围。
下面结合附图对本说明书的流量控制方法进行详细说明。
请参见图2,图2为本说明书一示例性实施例提供的一种流量控制方法的流程图,应用于云服务端,所述云服务端上存储了提供给不同优先级的用户访问的数据;其中,所述云服务端上的带宽资源周期性的分配给所述用户集合。如图2所示,所述方法包括如下的执行步骤:
步骤201,响应于所述带宽资源的上一资源分配周期结束,根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的带宽资源的数量,分别计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配带宽资源的第一数量;
步骤202,根据所述第一数量进一步计算与所述不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量;
步骤203,响应于所述当前资源分配周期内接收到的用户发起的针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
上述不同优先级的用户集合中的各个用户在访问云服务端上存储的数据时,可以是进行读操作,也可以是进行写操作,本说明书中对此不做限定。
上述云服务端上的带宽资源,也就是带宽能力,指在固定的的时间可传输的资料数量,用来表示通信线路所能传送数据的能力,即单位时间内能够在线路上传送的数据量,常用的单位是bps(bit per second)。通俗来说,云服务端为用户分配的带宽资源,可以是用户的上传速率,也可以用户的下载速率,本说明书中对此不做限定。
需要说明的是,由于云服务端上的带宽资源,可以基于预设的资源分配周期,周期性的面向访问所述数据的所述不同优先级的用户集合进行分配,因此在初始化时,需要指定资源分配周期,以及为不同优先级的用户集合分配的带宽资源。
在示出的一种实施方式中,可以在初始化时,根据预设的所述不同优先级之间的比例,为所述不同优先级的用户集合分配所述带宽资源。
例如,如图1所示,在初始化时,可以预设为优先级为A的用户集合分配60%的带宽资源,为优先级为B的用户集合分配40%的带宽资源,而优先级为C的用户集合不分配带宽资源。假设云服务端上的总带宽资源为10Gbps,那么在初始化时,优先级为A的用户集合拥有6Gbps的带宽资源,优先级为B的用户集合拥有4 Gbps的带宽资源,优先级为C的用户集合拥有0 Gbps的带宽资源。
在本实施例中,可以响应于所述带宽资源的上一资源分配周期结束,根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的带宽资源的数量,分别计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配带宽资源的第一数量。
例如,在上一资源分配周期结束之后,可以获取上一资源分配周期内图1中不同优先级的用户集合所分配到的带宽资源的数量,然后根据上一资源分配周期内面向这三个优先级的用户集合分别分配的带宽资源的数量,计算出当前资源分配周期内,分别与优先级为A、B和C的用户集合对应的可分配带宽资源的数量。
在示出的一种实施方式中,所述优先级包括高优先级、中优先级和低优先级;
进一步的,可以统计上一资源分配周期内面向高优先级的用户集合分配的带宽资源的数量H1、面向中优先级的用户集合分配的带宽资源的数量M1、以及面向低优先级的用户集合分配的带宽资源的数量L1;
并且,通过以下公式计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配带宽资源的第一数量:
H2=MIN(H1,MAX(a*S,S-M1));
M2=MIN(M1,S-H2);
L2=S-H2-M2;
其中,H2、M2和L2是当前资源分配周期内,分别为高优先级、中优先级和低优先级的用户集合分配的带宽资源的数量;a为预设的数值。
在一个例子中,假设H1=7Gbps、M1=3.5Gbps、L1=1Gbps、S=10Gbps、a=0.6,那么通过上述公式可以得到:
H2=MIN(H1,MAX(a*S,S-M1))=MIN(6.5,MAX(6,6.5))=6.5Gbps;
M2=MIN(M1,S-H2)=MIN(3.5,3)=3Gbps;
L2=S-H2-M2=10-6.5-3=0.5Gbps。
在另一个例子中,假设H1=5.5Gbps、M1=4.5Gbps、L1=2Gbps、S=10Gbps、a=0.6,那么通过上述公式可以得到:
H2=MIN(H1,MAX(a*S,S-M1))= MIN(5.5,MAX(6,5.5))=5.5Gbps;
M2=MIN(M1,S-H2)= MIN(4.5,4.5)=4.5 Gbps;
L2=S-H2-M2=10-5.5-4.5=0Gbps。
值得说明的是,在上述两个例子中,由于预设的a为0.6,意味着为高优先级与中优先级用户集合分配的最大带宽资源的数量分别为6Gbps和4 Gbps。
因此,在上述过程中,当高优先级的带宽资源压力较大(H1>6Gbps)而中优先级的带宽资源压力较小(M1<4Gbps)时,高优先级的需要优先于低优先级的来抢占中优先级的剩余带宽资源;而当高优先级的带宽资源压力较小(H1<6Gbps),中优先级的带宽资源压力较大(M1>4Gbps)时,中优先级的需要优先于低优先级的来抢占高优先级的剩余带宽资源。
可以理解的是,当高优先级的和中优先级的带宽资源压力都较大时,需要占用低优先级的带宽资源;当高优先级的和中优先级的带宽资源压力都较小时,低优先级的才可以使用剩余带宽资源,推理过程同上,在此不做赘述。
另外,由于在分配上述带宽资源时,可以允许一定程度的增减,所以通过上述计算过程确定出的当前资源分配周期内分别为高优先级、中优先级和低优先级的用户集合分配的数量为理论值。因此,在计算下一个资源分配周期内与不同优先级的用户集合对应的可分配带宽资源的数量时,需要根据统计到的当前资源分配周期内最终分别为高优先级、中优先级和低优先级的用户集合分配的数量的实际值来计算。
在本实施例中,可以根据所述第一数量进一步计算与所述不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量。
例如,在图1中,可以根据与优先级为A的用户集合对应的可分配带宽资源的数量,通过计算为优先级为A的用户集合中的各个用户,即用户A1-用户An,确定每个用户对应的可分配带宽资源的数量。图1中其他两个优先级的用户集合同理,在此不做赘述。
在示出的一种实施方式中,可以针对不同优先级,分别执行以下过程:
确定当前优先级的用户集合中的各个用户占用的带宽资源;
计算所述各个用户占用的带宽资源,与所述当前优先级的用户集合占用的带宽资源的比值;
基于所述比值,以及所述第一数量,计算与所述各个用户对应的可分配带宽资源的第二数量。
举例来说,以高优先级为例,假设高优先级的用户集合中的用户甲占用的带宽资源为2Gbps,高优先级的用户集合占用的带宽资源为5Gbps,而当前资源分配周期内,高优先级的用户集合对应的可分配带宽资源为8Gbps。
那么通过执行上述计算过程,可以计算出上述比值为2/5=0.4,而用户甲对应的可分配带宽资源的第二数量为8*0.4=3.2Gbps,高优先级的用户集合中的其他用户的计算过程同理,在此不做赘述。
同样的,对于中优先级和低优先级,也是同样的计算过程,在此不做赘述。
可以理解的是,对于图1来说,通过上述计算过程可以计算出图1中每个用户对应的可分配带宽资源的数量。
需要说明的是,在计算各个用户占用的带宽资源,与当前优先级的用户集合占用的带宽资源的比值时,可以基于上一资源分配周期内的带宽资源的数量来计算,也可以基于最近N个资源分配周期统计的带宽资源的平均值来计算,本说明书中对此不做限定。
需要说明的是,上述云服务端可以通过分配令牌来控制用户对于带宽资源的使用权限,为用户分配的资源带宽的数量,也就是分配的令牌的数量,那么在计算可分配带宽资源的数量时,也就等于是计算可分配的令牌的数量。
举例来说,在计算当前资源分配周期内,与不同优先级的用户集合对应的可分配令牌的数量时,可以先统计上一资源分配周期内面向高优先级的用户集合分配的令牌的数量H3、面向中优先级的用户集合分配的令牌的数量M3、以及面向低优先级的用户集合分配的令牌的数量L3;
然后,通过以下公式计算当前资源分配周期内,与不同优先级的用户集合对应的可分配令牌的数量:
H4=MIN(H3,MAX(b*T,T-M3));
M4=MIN(M3,T-H4);
L4=T-H4-M4;
其中,H4、M4和L4是当前资源分配周期内,分别为高优先级、中优先级和低优先级的用户集合分配的令牌的数量;b为预设的数值。
继续举例,在根据上述高优先级、中优先级和低优先级的用户集合分配的令牌的数量,进一步计算与不同优先级的用户集合中的各个用户对应的可分配令牌的数量时,可以针对不同优先级,分别执行以下过程:
确定当前优先级的用户集合中的各个用户在通过所述令牌访问所述数据时所占用的带宽资源;
计算所述各个用户占用的带宽资源,与所述当前优先级的用户集合占用的带宽资源的比值;
基于所述比值,以及所述第一数量,计算与所述各个用户对应的可分配带宽资源的第二数量。
以高优先级的用户集合为例,假设高优先级的用户集合中的用户甲使用的令牌数量为200,通过计算得到用户甲通过这200个令牌访问数据时所占用的带宽资源为2Gbps,而高优先级的用户集合的各个用户累计占用的总带宽资源为5Gbps,并且当前资源分配周期内高优先级的用户集合对应的可分配带宽资源为8Gbps。那么通过执行上述计算过程,可以计算出上述比值为2/5=0.4,而用户甲对应的可分配带宽资源的第二数量为8*0.4=3.2Gbps。
在本实施例中,可以响应于所述当前资源分配周期内接收到的用户发起的针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
请参见图3,图3为本说明书一示例性实施例提供的一种云服务端针对访问请求进行访问控制的示意图,如图3所示,包括以下步骤:
步骤301,接收用户发起的针对数据的访问请求;
步骤302,确定当前资源分配周期内,与用户对应的可分配带宽资源的数量;
步骤303,判断与用户所在的用户集合对应的带宽资源的剩余量,是否小于该数量;
步骤304,如果否,则处理用户发起的访问请求;
步骤305,如果是,则触发流量控制,将用户的访问请求添加至服务端的QoS队列;
其中,对于不同优先级的用户集合,可以采用不同的QoS队列。
举例来说,假设用户所在用户集合对应的优先级为高优先级,当前资源周期内基于上述步骤202计算出的用户对应的可分配带宽资源的第二数量为3Gbps,而基于上述步骤201计算出的高优先级的用户集合对应的可分配带宽资源的第一数量为7Gbps,但现在仅剩余2Gbps供高优先级的用户集合使用。
继续举例,那么在执行步骤303时,可以判断出用户所在的用户集合对应的带宽资源的剩余量小于与用户对应的可分配带宽资源的数量,则执行步骤305,触发流量控制,将用户的访问请求添加至高优先级的用户集合对应的QoS队列。
步骤306,确定用户对应的队列等级;
上述云服务端可以根据预先为不同优先级的用户集合中的各个用户进一步划分出的高、中和低三个队列等级。
例如,可以为高优先级的用户集合中的各个用户进一步划分出的高、中和低三个队列等级,中优先级和低优先级同理。
步骤307,根据用户对应的队列等级,确定用户的访问请求在QoS队列中的排列顺序;
举例来说,假设在用户所在的用户集合对应的QoS队列中,预设的高、中和低三个队列等级对应的占比为6:3:1的比例,而用户对应的队列等级为高等级,那么根据用户对应的队列等级,可以将用户的访问请求添加至QoS队列中占比60%的那部分。
步骤308,QoS队列出队。
响应于上述云服务端重新分配了带宽资源,也就是释放了带宽资源,以供QoS队列中的访问请求进行分配,可以将带宽资源按照QoS队列中的排列顺序,依次为各个访问请求分配带宽资源,并基于分配的带宽资源对访问请求进行处理。
由于为高、中和低三个队列等级分配了不同的队列占比,因此在将带宽资源按照QoS队列中的排列顺序分配带宽资源时,也根据队列占比进行了分配,从而可以在出队时可以实现对不同队列等级的排序处理。
另外,除了为用户划分不同的队列等级,还可以设置用户白名单从而无需在队列中进行排序,直接将白名单的用户送入队列即可,也可以设置用户黑名单直接不讲黑名单的用户送入队列,本说明书中对此不做限定。
请参见图4,图4为本说明书一示例性实施例提供的一种将用户的访问请求添加至QoS队列的示意图。如图4所示,所述QoS队列中,高、中和低三个等级的队列在整个QoS队列中对应的占比为6:3:1的比例。
由前述步骤306可知,在将用户的访问请求添加至QoS队列时,可以根据用户对应的队列等级确定要添加到的队列。
例如,可以对于高级付费用户或者重要用户,可以将用户的访问请求添加至图4所示的高等级队列。而默认情况下,如果用户未划分队列等级,可以将用户的访问请求添加至图4所示的中等级队列。
值得说明的是,除了根据预先为用户划分的队列等级,还可以为用户的访问请求划分不同的等级,例如,对于不同类型的IO请求,可以划分出高级IO请求、中级IO请求和低级IO请求。
例如,当用户的访问请求对应的IO类型是前端IO时,根据图4可知,前端IO属于高级IO请求,则将用户的访问请求添加至图4所示的高等级队列。
由前述步骤307可知,在将用户的访问请求添加至QoS队列之后,还需要对访问请求进行排序,确定QoS队列中不同访问请求的排列顺序。
如图4所示,在QoS队列中前十个位置中,按预设的6:3:1的占比,分配了与高、中和低队列等级分别对应的位置,并为这十个位置设置了先后顺序,即高队列等级的位置为1、2、4、5、7和9,中队列等级的位置为3、6和10,低队列等级的位置为8。
由前述步骤308可知,图4中的QoS队列在出队时,按照位置1-10的顺序,依次将访问请求出队列,并为各个访问请求分配带宽资源,基于分配的带宽资源对访问请求进行处理。上述通过云服务端进行访问控制时,由于集群通常存在多个节点,为了流量控制的准确性,通常需要由中心节点统一搜集和分配集群的资源,并由中心节点进行流量控制的判断,然而在其他节点将队列发送至中心节点的过程中,将会增加路径,产生时延。
因此,可以由客户端侧进行访问控制的判断,从而降低时延。
在示出的一种实施方式中,可以将所述与不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量,发送至所述各个用户所在的客户端,以使所述客户端响应于所述当前资源分配周期内所述用户发起针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
举例来说,云服务端可以将不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量,分别发送至各个用户所在的客户端,然后客户端在当前资源分配周期内用户发起针对所述数据的访问请求时,根据云服务端发送的与用户对应的可分配带宽资源的第二数量,对用户的访问请求进行访问控制。
在上述过程中,通过为用户集合划分不同的优先级,并周期性的为访问数据的不同优先级的用户集合进行带宽资源的分配,可以根据上一资源分配周期内的分配情况,重新调整当前资源分配周期内为不同优先级的用户集合分配的带宽资源的第一数量;进一步的,可以通过根据第一数量进一步计算为每个优先级中的各个用户分配的带宽资源的第二数量,并在用户访问数据时,基于用户对应的第二数量进行访问控制。通过以上技术方案,一方面,可以实现对带宽资源的动态调整,并对带宽资源进行合理分配;另一方面,可以实现精准的流量控制,降低物理资源受限时的影响范围。
请参见图5,图5为本说明书一示例性实施例提供的一种用户通过客户端与云服务端进行交互的示意图。如图5所示,A、B和C分别用于表示不同的优先级,而不同的客户端可以向云服务端发送不同优先级的用户的访问请求。
例如,在图5中,用户A1、用户B1、用户B2、用户C1和用户C2可以通过客户端1发起针对数据的访问请求;用户A2、用户A3、用户B3、用户C3和用户C4可以通过客户端2发起针对数据的访问请求;用户A4、用户A5、用户B4、用户B3和用户C5可以通过客户端3发起针对数据的访问请求。
请参见图6,图6为本说明书一示例性实施例提供的另一种流量控制方法的流程图,应用于客户端,所述方法包括以下步骤:
步骤601,接收云服务端发送的与不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量;所述第二数量由所述云服务端根据当前资源分配周期内与所述不同优先级的用户集合对应的可分配带宽资源的第一数量计算得到;所述第一数量由所述云服务端响应于所述带宽资源的上一资源分配周期结束,根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的带宽资源的数量计算得到;其中,所述云服务端上存储了提供给不同优先级的用户访问的数据;所述云服务端上的带宽资源周期性的分配给所述用户集合;
步骤602,响应于所述当前资源分配周期内用户发起针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
关于上述步骤601中计算第一数量和第二数量的过程,本领域技术人员可以参照云服务端侧的记载,在此不做赘述。
举例来说,如图5所示,云服务端可以将与不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量发送至客户端1、客户端2和客户端3;以图5中的客户端1为例,假设云服务端优先级为A的用户集合中的用户A1对应的可分配带宽资源的数量M,发送至用户A1所使用的客户端1,然后客户端1响应于当前资源分配周期内用户A1发起针对数据的访问请求,可以根据与用户A1对应的可分配带宽资源的数量M,对用户A1的访问请求进行访问控制。
在示出的一种实施方式中,上述客户端在执行步骤602时,可以响应于所述当前资源分配周期内用户发起针对所述数据的访问请求,确定与所述用户对应的可分配带宽资源的第二数量;
判断与所述用户所在的用户集合对应的带宽资源的剩余量,是否小于所述第二数量;
如果是,触发流量控制,将所述用户的访问请求添加至QoS队列。
在示出的一种实施方式中,上述不同优先级的用户集合中的各个用户被进一步划分了高、中和低三个队列等级;
进一步的,上述客户端在执行步骤602时,可以将所述用户的访问请求添加至所述用户所在的用户集合对应的QoS队列,并根据所述用户对应的队列等级,确定所述用户的访问请求在所述QoS队列中的排列顺序。
在示出的一种实施方式中,上述客户端可以响应于所述云服务端重新分配所述带宽资源,将所述带宽资源按照上述QoS队列中的排列顺序,依次为各个访问请求分配带宽资源,并基于所述分配的带宽资源将所述访问请求发送至所述云服务端进行处理。
请参见图7,图7为本说明书一示例性实施例提供的一种客户端针对访问请求进行访问控制的示意图,如图7所示,包括以下步骤:
步骤701,接收云服务端发送的与不同优先级的用户集合中的各个用户对应的可分配带宽资源的数量;
步骤702,接收用户发起的针对数据的访问请求;
步骤703,确定当前资源分配周期内,与用户对应的可分配带宽资源的数量;
步骤704,判断与所述用户所在的用户集合对应的带宽资源的剩余量,是否小于该数量;
步骤705,如果否,则向云服务端发送用户发起的访问请求;
步骤706,如果是,则触发流量控制,将用户的访问请求添加至该客户端的QoS队列;
其中,对于客户端的不同优先级的用户集合,可以采用不同的QoS队列。
举例来说,假设用户所在用户集合对应的优先级为高优先级,当前资源周期内用户对应的可分配带宽资源的数量为3Gbps,而高优先级的用户集合对应的可分配带宽资源的第一数量为7Gbps,但现在仅剩余2 Gbps供高优先级的用户集合使用。
继续举例,那么在执行步骤704时,可以判断出用户所在的用户集合对应的带宽资源的剩余量小于与用户对应的可分配带宽资源的数量,则执行步骤706,触发流量控制,将用户的访问请求添加至高优先级的用户集合对应的QoS队列。
步骤707,确定用户对应的队列等级;
上述客户端可以根据预先为不同优先级的用户集合中的各个用户进一步划分出的高、中和低三个队列等级。
例如,可以为高优先级的用户集合中的各个用户进一步划分出的高、中和低三个队列等级,中优先级和低优先级同理。
步骤708,根据用户对应的队列等级,确定用户的访问请求在QoS队列中的排列顺序;
举例来说,假设在用户所在的用户集合对应的QoS队列中,预设的高、中和低三个队列等级对应的占比为6:3:1的比例,而用户对应的队列等级为高等级,那么根据用户对应的队列等级,可以将用户的访问请求添加至QoS队列中占比60%的那部分。
步骤709,QoS队列出队。
响应于上述云服务端重新分配了带宽资源,也就是释放了带宽资源,以供QoS队列中的访问请求进行分配,可以将带宽资源按照QoS队列中的排列顺序,依次为各个访问请求分配带宽资源,并基于分配的带宽资源将访问请求按顺序发送至云服务端。
由于为高、中和低三个队列等级分配了不同的队列占比,因此在将带宽资源按照QoS队列中的排列顺序分配带宽资源时,也根据队列占比进行了分配,从而可以在出队时可以实现对不同队列等级的排序处理。
另外,除了为用户划分不同的队列等级,还可以设置用户白名单从而无需在队列中进行排序,直接将白名单的用户送入队列即可,也可以设置用户黑名单直接不讲黑名单的用户送入队列,本说明书中对此不做限定。
关于上述步骤707-步骤709中QoS队列的详细过程,可以参见前述图4的描述,在此不做赘述。
在上述图7所示的过程中,通过客户端侧基于云服务端下发的与不同优先级的用户集合中的各个用户对应的可分配带宽资源的数量进行访问控制,实现客户端侧对访问请求的直接判断,无需再经过云服务端的中心节点进行判断,可以减少网络交互次数,降低时延,从而实现一套客户端本地判断,云服务端异步更新的流量控制逻辑。在上述过程中,通过为用户集合划分不同的优先级,并周期性的为访问数据的不同优先级的用户集合进行带宽资源的分配,可以根据上一资源分配周期内的分配情况,重新调整当前资源分配周期内为不同优先级的用户集合分配的带宽资源的第一数量;进一步的,可以通过根据第一数量进一步计算为每个优先级中的各个用户分配的带宽资源的第二数量,并在用户访问数据时,基于用户对应的第二数量进行访问控制。通过以上技术方案,一方面,可以实现对带宽资源的动态调整,并对带宽资源进行合理分配;另一方面,可以实现精准的流量控制,降低物理资源受限时的影响范围。
在本说明书的示例性实施例中,还提供了一种能够实现上述方法的设备。
图8是一示例性实施例提供的一种设备的示意结构图。请参考图8,在硬件层面,该设备包括处理器802、内部总线804、网络接口806、内存808以及非易失性存储器810,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器802从非易失性存储器810中读取对应的计算机程序到内存809中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图9,在一软件实施方式中,提供了一种流量控制装置900,应用于云服务端,所述云服务端上存储了提供给不同优先级的用户访问的数据;其中,所述云服务端上的带宽资源周期性的分配给所述用户集合;所述装置包括:
第一计算模块901,用于响应于所述带宽资源的上一资源分配周期结束,根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的带宽资源的数量,分别计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配带宽资源的第一数量;
第二计算模块902,用于根据所述第一数量进一步计算与所述不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量;
第一控制模块903,用于响应于所述当前资源分配周期内接收到的用户发起的针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
可选的,所述装置900还包括:
初始化模块904,用于在初始化时,根据预设的所述不同优先级之间的比例,为所述不同优先级的用户集合分配所述带宽资源。
可选的,所述优先级包括高优先级、中优先级和低优先级;
所述第一计算模块901,进一步:
统计上一资源分配周期内面向高优先级的用户集合分配的带宽资源的数量H1、面向中优先级的用户集合分配的带宽资源的数量M1、以及面向低优先级的用户集合分配的带宽资源的数量L1;
通过以下公式计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配带宽资源的第一数量:
H2=MIN(H1,MAX(a*S,S-M1));
M2=MIN(M1,S-H2);
L2=S-H2-M2;
其中,H2、M2和L2是当前资源分配周期内,分别为高优先级、中优先级和低优先级的用户集合分配的带宽资源的数量;a为预设的数值。
可选的,所述第二计算模块902,进一步:
针对不同优先级,分别执行以下过程:
确定当前优先级的用户集合中的各个用户占用的带宽资源;
计算所述各个用户占用的带宽资源,与所述当前优先级的用户集合占用的带宽资源的比值;
基于所述比值,以及所述第一数量,计算与所述各个用户对应的可分配带宽资源的第二数量。
可选的,所述数据由所述用户通过云服务端分配的令牌访问;
所述第一计算模块901,进一步:
根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的令牌的数量,分别计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配令牌的数量;
根据所述与不同优先级的用户集合对应的可分配令牌的数量与所述云服务端可分配令牌的总数量的比值,分别计算与所述不同优先级的用户集合对应的可分配带宽资源的第一数量。
可选的,所述第一控制模块903,进一步:
将所述与不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量,发送至所述各个用户所在的客户端,以使所述客户端响应于所述当前资源分配周期内所述用户发起针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
上述装置900中各个模块的功能和作用的实现过程具体详见上述应用于云服务端的流量控制方法中对应步骤的实现过程,相关之处参见方法实施方式的部分说明即可,在此不再赘述。
请参考图10,在一软件实施方式中,提供了另一种流量控制装置1000,应用于客户端,所述装置包括:
接收模块1001,用于接收云服务端发送的与不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量;所述第二数量由所述云服务端根据当前资源分配周期内与所述不同优先级的用户集合对应的可分配带宽资源的第一数量计算得到;所述第一数量由所述云服务端响应于所述带宽资源的上一资源分配周期结束,根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的带宽资源的数量计算得到;其中,所述云服务端上存储了提供给不同优先级的用户访问的数据;所述云服务端上的带宽资源周期性的分配给所述用户集合;
第二控制模块1002,用于响应于所述当前资源分配周期内用户发起针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
可选的,所述第二控制模块1002,进一步:
响应于所述当前资源分配周期内用户发起针对所述数据的访问请求,确定与所述用户对应的可分配带宽资源的第二数量;
判断与所述用户所在的用户集合对应的带宽资源的剩余量,是否小于所述第二数量;
如果是,触发流量控制,将所述用户的访问请求添加至QoS队列。
可选的,所述不同优先级的用户集合中的各个用户被进一步划分了高、中和低三个队列等级;
所述第二控制模块1002,进一步:
将所述用户的访问请求添加至所述用户所在的用户集合对应的QoS队列,并根据所述用户对应的队列等级,确定所述用户的访问请求在所述QoS队列中的排列顺序。
可选的,所述装置1000还包括:
分配模块1003,用于响应于所述云服务端重新分配所述带宽资源,将所述带宽资源按照上述QoS队列中的排列顺序,依次为各个访问请求分配带宽资源,并基于所述分配的带宽资源将所述访问请求发送至所述云服务端进行处理。
上述装置1000中各个模块的功能和作用的实现过程具体详见上述应用于客户端的流量控制方法中对应步骤的实现过程,相关之处参见方法实施方式的部分说明即可,在此不再赘述。
以上所描述的装置实施方式仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部单元或模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (13)
1.一种流量控制方法,应用于云服务端,所述云服务端上存储了提供给不同优先级的用户集合中的各个用户访问的数据;其中,所述云服务端上的带宽资源周期性的分配给所述用户集合;云服务提供方售卖给所述不同优先级的用户集合的带宽资源的总量,大于所述云服务端上的带宽资源的总量;所述优先级包括高优先级、中优先级和低优先级;所述方法包括:
响应于所述带宽资源的上一资源分配周期结束,根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的带宽资源的数量,分别计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配带宽资源的第一数量;
其中,计算上述第一数量的过程包括:
统计上一资源分配周期内面向高优先级的用户集合分配的带宽资源的数量H1、面向中优先级的用户集合分配的带宽资源的数量M1、以及面向低优先级的用户集合分配的带宽资源的数量L1;以及,通过以下公式计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配带宽资源的第一数量:
H2=MIN(H1,MAX(a*S,S-M1));
M2=MIN(M1,S-H2);
L2=S-H2-M2;
其中,H2、M2和L2是当前资源分配周期内,分别为高优先级、中优先级和低优先级的用户集合分配的带宽资源的数量;a为预设的数值;
根据所述第一数量进一步计算与所述不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量;
响应于所述当前资源分配周期内接收到的用户发起的针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
2.根据权利要求1所述的方法,所述方法还包括:
在初始化时,根据为所述不同优先级预设的比例,为所述不同优先级的用户集合分配所述带宽资源;其中,为高优先级预设的比例,大于为低优先级预设的比例。
3.根据权利要求1所述的方法,所述根据所述第一数量进一步计算与所述不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量,包括:
针对不同优先级,分别执行以下过程:
确定当前优先级的用户集合中的各个用户占用的带宽资源;
计算所述各个用户占用的带宽资源,与所述当前优先级的用户集合占用的带宽资源的比值;
基于所述比值,以及所述第一数量,计算与所述各个用户对应的可分配带宽资源的第二数量。
4.根据权利要求1所述的方法,所述数据由所述用户通过云服务端分配的令牌访问;
所述根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的带宽资源的数量,分别计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配带宽资源的第一数量,包括:
根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的令牌的数量,分别计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配令牌的数量;
根据所述与不同优先级的用户集合对应的可分配令牌的数量与所述云服务端可分配令牌的总数量的比值,分别计算与所述不同优先级的用户集合对应的可分配带宽资源的第一数量。
5.根据权利要求1所述的方法,所述响应于所述当前资源分配周期内接收到的用户发起的针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制,包括:
将所述与不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量,发送至所述各个用户所在的客户端,以使所述客户端响应于所述当前资源分配周期内所述用户发起针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
6.一种流量控制方法,应用于客户端,所述方法包括:
接收云服务端发送的与不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量;所述第二数量由所述云服务端根据当前资源分配周期内与所述不同优先级的用户集合对应的可分配带宽资源的第一数量计算得到;所述第一数量由所述云服务端响应于所述带宽资源的上一资源分配周期结束,根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的带宽资源的数量计算得到;其中,所述云服务端上存储了提供给不同优先级的用户集合中的各个用户访问的数据;所述云服务端上的带宽资源周期性的分配给所述用户集合;云服务提供方售卖给所述不同优先级的用户集合的带宽资源的总量,大于所述云服务端上的带宽资源的总量;所述优先级包括高优先级、中优先级和低优先级;
其中,计算上述第一数量的过程包括:
统计上一资源分配周期内面向高优先级的用户集合分配的带宽资源的数量H1、面向中优先级的用户集合分配的带宽资源的数量M1、以及面向低优先级的用户集合分配的带宽资源的数量L1;以及,通过以下公式计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配带宽资源的第一数量:
H2=MIN(H1,MAX(a*S,S-M1));
M2=MIN(M1,S-H2);
L2=S-H2-M2;
其中,H2、M2和L2是当前资源分配周期内,分别为高优先级、中优先级和低优先级的用户集合分配的带宽资源的数量;a为预设的数值;
响应于所述当前资源分配周期内用户发起针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
7.根据权利要求6所述的方法,所述响应于所述当前资源分配周期内用户发起针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制,包括:
响应于所述当前资源分配周期内用户发起针对所述数据的访问请求,确定与所述用户对应的可分配带宽资源的第二数量;
判断与所述用户所在的用户集合对应的带宽资源的剩余量,是否小于所述第二数量;
如果是,触发流量控制,将所述用户的访问请求添加至QoS队列。
8.根据权利要求7所述的方法,所述不同优先级的用户集合中的各个用户被进一步划分了高、中和低三个队列等级;
所述将所述用户的访问请求添加至QoS队列,包括:
将所述用户的访问请求添加至所述用户所在的用户集合对应的QoS队列,并根据所述用户对应的队列等级,确定所述用户的访问请求在所述QoS队列中的排列顺序。
9.根据权利要求8所述的方法,所述方法还包括:
响应于所述云服务端重新分配所述带宽资源,将所述带宽资源按照上述QoS队列中的排列顺序,依次为各个访问请求分配带宽资源,并基于所述分配的带宽资源将所述访问请求发送至所述云服务端进行处理。
10.一种流量控制装置,应用于云服务端,所述云服务端上存储了提供给不同优先级的用户集合中的各个用户访问的数据;其中,所述云服务端上的带宽资源周期性的分配给所述用户集合;云服务提供方售卖给所述不同优先级的用户集合的带宽资源的总量,大于所述云服务端上的带宽资源的总量;所述优先级包括高优先级、中优先级和低优先级;所述装置包括:
第一计算模块,用于响应于所述带宽资源的上一资源分配周期结束,根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的带宽资源的数量,分别计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配带宽资源的第一数量;
其中,计算上述第一数量的过程包括:
统计上一资源分配周期内面向高优先级的用户集合分配的带宽资源的数量H1、面向中优先级的用户集合分配的带宽资源的数量M1、以及面向低优先级的用户集合分配的带宽资源的数量L1;以及,通过以下公式计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配带宽资源的第一数量:
H2=MIN(H1,MAX(a*S,S-M1));
M2=MIN(M1,S-H2);
L2=S-H2-M2;
其中,H2、M2和L2是当前资源分配周期内,分别为高优先级、中优先级和低优先级的用户集合分配的带宽资源的数量;a为预设的数值;
第二计算模块,用于根据所述第一数量进一步计算与所述不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量;
第一控制模块,用于响应于所述当前资源分配周期内接收到的用户发起的针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
11.一种流量控制装置,应用于客户端,所述装置包括:
接收模块,用于接收云服务端发送的与不同优先级的用户集合中的各个用户对应的可分配带宽资源的第二数量;所述第二数量由所述云服务端根据当前资源分配周期内与所述不同优先级的用户集合对应的可分配带宽资源的第一数量计算得到;所述第一数量由所述云服务端响应于所述带宽资源的上一资源分配周期结束,根据所述上一资源分配周期内面向所述不同优先级的用户集合分配的带宽资源的数量计算得到;其中,所述云服务端上存储了提供给不同优先级的用户集合中的各个用户访问的数据;所述云服务端上的带宽资源周期性的分配给所述用户集合;云服务提供方售卖给所述不同优先级的用户集合的带宽资源的总量,大于所述云服务端上的带宽资源的总量;所述优先级包括高优先级、中优先级和低优先级;
其中,计算上述第一数量的过程包括:
统计上一资源分配周期内面向高优先级的用户集合分配的带宽资源的数量H1、面向中优先级的用户集合分配的带宽资源的数量M1、以及面向低优先级的用户集合分配的带宽资源的数量L1;以及,通过以下公式计算当前资源分配周期内,与所述不同优先级的用户集合对应的可分配带宽资源的第一数量:
H2=MIN(H1,MAX(a*S,S-M1));
M2=MIN(M1,S-H2);
L2=S-H2-M2;
其中,H2、M2和L2是当前资源分配周期内,分别为高优先级、中优先级和低优先级的用户集合分配的带宽资源的数量;a为预设的数值;
第二控制模块,用于响应于所述当前资源分配周期内用户发起针对所述数据的访问请求,基于与所述用户对应的可分配带宽资源的第二数量,针对所述访问请求进行访问控制。
12.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-9中任一项所述的方法。
13.一种机器可读存储介质,其上存储有机器可读指令,该指令被处理器执行时实现如权利要求1-9中任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210563387.6A CN114666284B (zh) | 2022-05-23 | 2022-05-23 | 一种流量控制方法、装置、电子设备及可读存储介质 |
PCT/CN2023/095622 WO2023226948A1 (zh) | 2022-05-23 | 2023-05-22 | 一种流量控制方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210563387.6A CN114666284B (zh) | 2022-05-23 | 2022-05-23 | 一种流量控制方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114666284A CN114666284A (zh) | 2022-06-24 |
CN114666284B true CN114666284B (zh) | 2022-11-15 |
Family
ID=82038071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210563387.6A Active CN114666284B (zh) | 2022-05-23 | 2022-05-23 | 一种流量控制方法、装置、电子设备及可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114666284B (zh) |
WO (1) | WO2023226948A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666284B (zh) * | 2022-05-23 | 2022-11-15 | 阿里巴巴(中国)有限公司 | 一种流量控制方法、装置、电子设备及可读存储介质 |
CN115378879A (zh) * | 2022-08-22 | 2022-11-22 | Oppo广东移动通信有限公司 | 数据控制方法及相关装置 |
CN116302406A (zh) * | 2023-02-10 | 2023-06-23 | 阿里巴巴(中国)有限公司 | 流量控制与数据复制方法、节点、系统及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101419579A (zh) * | 2008-12-10 | 2009-04-29 | 中国科学院计算技术研究所 | 一种在动态随机存储器上提供服务质量的装置和方法 |
CN109510715A (zh) * | 2017-09-14 | 2019-03-22 | 中国电信股份有限公司 | 带宽分配方法、装置、数据中心以及存储介质 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8095620B2 (en) * | 2002-06-13 | 2012-01-10 | Elbit Systems Land and C41-Tadiran Ltd. | System and method for dynamic allocation of a resource |
US8159953B2 (en) * | 2009-09-24 | 2012-04-17 | Alcatel Lucent | Method and apparatus for managing allocation of resources in a network |
CN102487515A (zh) * | 2010-12-03 | 2012-06-06 | 中国移动通信集团设计院有限公司 | 一种lte网络规划仿真方法及装置 |
US9807773B2 (en) * | 2013-08-19 | 2017-10-31 | Verizon Patent And Licensing Inc. | Tier-based admission control for user equipment |
US10616134B1 (en) * | 2015-03-18 | 2020-04-07 | Amazon Technologies, Inc. | Prioritizing resource hosts for resource placement |
US20170149690A1 (en) * | 2015-11-20 | 2017-05-25 | Dell Products L.P. | Resource Aware Classification System |
CN110213620B (zh) * | 2018-02-28 | 2021-10-19 | 阿里巴巴(中国)有限公司 | 带宽分配方法及装置 |
CN109189563B (zh) * | 2018-07-25 | 2020-01-24 | 腾讯科技(深圳)有限公司 | 资源调度方法、装置、计算设备及存储介质 |
CN111400022A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 一种资源调度方法、装置及电子设备 |
CN111488135A (zh) * | 2019-01-28 | 2020-08-04 | 珠海格力电器股份有限公司 | 高并发系统的限流方法、装置、存储介质及设备 |
US11805065B2 (en) * | 2019-02-27 | 2023-10-31 | Intel Corporation | Scalable traffic management using one or more processor cores for multiple levels of quality of service |
CN112887228B (zh) * | 2019-11-29 | 2024-02-02 | 阿里巴巴集团控股有限公司 | 云资源管理方法、装置、电子设备及计算机可读存储介质 |
CN113038609B (zh) * | 2019-12-25 | 2023-04-18 | 北京东土科技股份有限公司 | 一种基于通信需求的带宽资源分配方法、装置及设备 |
CN111352736A (zh) * | 2020-02-28 | 2020-06-30 | 中国平安人寿保险股份有限公司 | 大数据资源的调度方法、装置、服务器及存储介质 |
CN111629028B (zh) * | 2020-04-10 | 2022-02-25 | 清华大学 | 面向分布式多云存储的数据传输调度系统 |
CN114157673A (zh) * | 2021-11-30 | 2022-03-08 | 北京知道创宇信息技术股份有限公司 | Cdn系统节点管理方法、装置、存储介质及电子设备 |
CN114666284B (zh) * | 2022-05-23 | 2022-11-15 | 阿里巴巴(中国)有限公司 | 一种流量控制方法、装置、电子设备及可读存储介质 |
-
2022
- 2022-05-23 CN CN202210563387.6A patent/CN114666284B/zh active Active
-
2023
- 2023-05-22 WO PCT/CN2023/095622 patent/WO2023226948A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101419579A (zh) * | 2008-12-10 | 2009-04-29 | 中国科学院计算技术研究所 | 一种在动态随机存储器上提供服务质量的装置和方法 |
CN109510715A (zh) * | 2017-09-14 | 2019-03-22 | 中国电信股份有限公司 | 带宽分配方法、装置、数据中心以及存储介质 |
Non-Patent Citations (1)
Title |
---|
数据密集型应用中多优先级用户资源调度研究;崔云飞等;《计算机科学与探索》;20130717(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114666284A (zh) | 2022-06-24 |
WO2023226948A1 (zh) | 2023-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114666284B (zh) | 一种流量控制方法、装置、电子设备及可读存储介质 | |
US8504691B1 (en) | System and method for allocating resources for heterogeneous service requests | |
US9225668B2 (en) | Priority driven channel allocation for packet transferring | |
WO2020034819A1 (zh) | 分布式存储系统中服务质量保障方法、控制节点及系统 | |
US11977761B2 (en) | Predictive allocation of ephemeral containers for cloud computing services | |
RU2643666C2 (ru) | Способ и устройство для управления авторизацией виртуальной очереди вывода, а также компьютерный носитель информации | |
US20210075732A1 (en) | Software distributed, hardware aggregated hierarchical traffic management | |
US11784942B2 (en) | Dynamic allocation of edge network resources | |
US10951551B2 (en) | Queue management method and apparatus | |
US20200076742A1 (en) | Sending data using a plurality of credit pools at the receivers | |
US11221971B2 (en) | QoS-class based servicing of requests for a shared resource | |
CN112260962B (zh) | 一种带宽控制方法及装置 | |
CN109905331B (zh) | 队列调度方法及装置、通信设备、存储介质 | |
CN114143327A (zh) | 集群资源配额分配方法、装置及电子设备 | |
US10182019B2 (en) | Interconnected hardware infrastructure resource control | |
CN113906720B (zh) | 流量调度方法、设备及存储介质 | |
CN115766582A (zh) | 流量控制方法、装置和系统、介质和计算机设备 | |
EP1235393A2 (en) | Packet switch | |
CN114489463A (zh) | 动态调整存储卷qos的方法、装置及计算设备 | |
US7583678B1 (en) | Methods and apparatus for scheduling entities using a primary scheduling mechanism such as calendar scheduling filled in with entities from a secondary scheduling mechanism | |
CN114760327B (zh) | 云盘资源配置的调整方法及装置 | |
CN116800684B (zh) | Rdma网卡发送队列的性能隔离方法和rdma网卡 | |
KR100976678B1 (ko) | 데피싯 라운드 로빈 방식을 이용하여 패킷을 스케줄링하는 방법 | |
CN118170517A (zh) | 一种调度方法及装置 | |
CN118555254A (zh) | 基于dpu网卡的数据包调度方法、dpu网卡、电子设备和计算机存储介质 |
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 |