数据拥塞控制方法、装置、存储介质及计算机设备与流程

未命名 10-08 阅读:126 评论:0


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.图1为本技术实施例提供的数据拥塞控制方法的流程示意图;
43.图2为本技术实施例提供的计算拥塞指数的流程示意图;
44.图3为本技术实施例提供的确定数据接收总量和总连接数的流程示意图;
45.图4为本技术实施例提供的向各个数据桶分配客户端地址的流程示意图;
46.图5为本技术实施例提供的数据拥塞控制装置的结构示意图;
47.图6为本技术实施例提供的计算机设备的内部结构示意图;。
具体实施方式
48.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
49.本技术提供了一种数据拥塞控制方法。下述实施例以该方法应用于计算机设备为
例进行说明,可以理解,计算机设备可以是各种具备数据处理功能的设备,可以但不限于单个服务器、服务器集群、个人笔记本电脑、台式电脑等。如图1所示,本技术的数据拥塞控制方法可包括如下步骤:
50.s101:计算预设时间段内文件存储系统的拥塞指数。
51.本步骤中,拥塞指数用于反映文件存储系统在预设时间段内负载情况的一种指标,预设时间段的时间长度可以根据实际情况选择,本技术对此不做具体限制,例如可以是1分钟,也可以是2分钟。一般而言,预设时间段的时间长度较短,从而可以实时计算拥塞指数,快速获知文件存储系统的负载情况。
52.进一步地,可以根据拥塞指数的类型选择相应的计算方式,示例如,拥塞指数的类型可以是队列长度指数,队列长度指数是用于衡量文件存储系统中等待处理的请求队列长度,则相应的计算方式可以是统计预设时间段内请求队列的平均长度,以得到拥塞指数。示例如,拥塞指数的类型还可以是文件访问频率指数,文件访问频率指数用于衡量文件在存储系统中的访问频率,则计算方式可以是统计预设时间段内每个文件的访问次数,并根据访问次数与系统处理能力的比值,以得到拥塞指数。
53.可以理解的是,根据拥塞指数确定文件存储系统的负载情况,可以先确定一个拥塞阈值,当拥塞指数超过该拥塞阈值时,表明文件存储系统存在拥塞情况,当拥塞指数未超过该拥塞阈值时,表明文件存储系统未出现拥塞情况,从而可以快速获知文件存储系统的负载情况,以采取相应的措施确保文件存储系统的正常运行。
54.s102:当所述拥塞指数高于预设阈值时,触发流量控制,并确定当前流量控制对应的控制轮次。
55.本步骤中,预设阈值用于与拥塞指数比较,从而确定文件存储系统的拥塞情况,预设阈值的确定可以根据实际情况,本技术对此不做具体限制。当拥塞指数高于预设阈值时,表明文件存储系统发生拥塞,需要进行流量控制,以确保文件存储系统的正常运行,以及确保客户端上传数据的时效性。
56.进一步地,在触发流量控制机制的时候,需要确定当前流量控制对应的控制轮次,确定当前流量控制对应的控制轮次的方式可以是每次进行流量控制时,在日志中记录相关信息,包括时间戳和流量控制的触发条件,通过分析日志,可以确定当前流量控制的控制轮次。也可以是使用一个计数器来记录流量控制的次数,每次进行流量控制时,增加计数器的值,根据计数器的值确定当前流量控制的控制轮次。还可以是在流量控制过程中,为每一次流量控制设置一个状态标记,可以使用数字、布尔值或其他标识符来表示,每次进行流量控制时,更新状态标记的值,使其反映当前流量控制的控制次数。
57.s103:在已建立的各个数据桶中,选择与所述控制轮次对应的目标数据桶,所述数据桶中存储有已分配的各个客户端地址,每个所述客户端地址对应的客户端与所述文件存储系统连接。
58.本步骤中,在已建立的各个数据桶中,选择与控制轮次对应的目标数据桶。选择的方式可以是给每个数据桶赋予唯一的序号,且各个数据桶的序号是连续的,根据每个数据桶的序号和控制轮次,依次选择每个数据桶作为目标数据桶,每次选择时,将顺序前进一个位置,循环遍历各个数据桶,例如有100个数据桶,分别为每个数据桶赋予1至100的序号,若控制轮次为第10次,则选择序号为10的数据桶作为目标数据桶,若控制轮次为101次,则选
择序号为1的数据桶作为目标数据桶。目标数据桶选择的方式也可以是为每个数据桶分配一个权重,根据权重随机选择目标数据桶,权重越高的数据桶被选择的概率越大。还可以是根据实时监测和评估各个数据桶的性能指标,动态选择目标数据桶,性能指标可以是带宽利用率和处理能力等。其中,数据桶是指用于存储数据的数据结构。
59.进一步地,数据桶中存储有已分配的各个客户端地址,每个客户端地址对应的客户端与文件存储系统连接。向各个数据桶分配客户端地址的方式可以是随机分配;也可以是按照客户端地址对应的客户端连接到文件存储系统的时间顺序,依次将客户端地址分配到每个数据桶,每次分配时,将轮询顺序前进一个位置,循环遍历所有的数据桶;还可以是根据实时监测和评估客户端地址对应的客户端的特征、文件存储系统负载情况和数据桶的状态,动态决定将客户端地址分配到哪个数据桶。
60.可以理解的是,当检测到有新的客户端连接文件存储系统时,则获取该客户端的客户端地址,并将该地址分配到数据桶中。其中,若客户端下线后重新连接文件存储系统,则以该客户端的客户端地址原有的数据库存储该客户端的客户端地址,不对该客户端的客户端地址重新分配数据桶。客户端地址可以是ip(internet protocol,互联网协议)地址,也可以是mac(media access control,局域网)地址,还可以是域名。客户端地址的获取方式根据客户端地址的类型选择,例如可以是通过接口获取ip地址,也可以是通过网络设备的物理地址获取到mac地址。
61.s104:对所述目标数据桶中各个所述客户端地址对应的客户端进行流量控制。
62.本步骤中,当确定目标数据桶之后,对目标数据桶中各个客户端地址对应的客户端进行流量控制。其中,流量控制方式可以根据实际情况选择,例如可以是通过设置带宽限制,限制网络流量的速率,也可以是使用负载均衡器或流量管理设备对流量进行聚合和分流,还可以是采用基于队列的算法,通过维护队列来控制流量,可以设定队列的最大长度,当队列已满时,新到达的数据包将被丢弃或延迟处理。
63.上述实施例中,所述数据拥塞控制方法包括:计算预设时间段内文件存储系统的拥塞指数;当所述拥塞指数高于预设阈值时,触发流量控制,并确定当前流量控制对应的控制轮次;在已建立的各个数据桶中,选择与所述控制轮次对应的目标数据桶,所述数据桶中存储有已分配的各个客户端地址,每个所述客户端地址对应的客户端与所述文件存储系统连接;对所述目标数据桶中各个所述客户端地址对应的客户端进行流量控制。通过监测文件存储系统在预设时间段内的拥塞指数,可以及时评估系统的负载情况;当拥塞指数高于预设阈值时,即触发流量控制机制,可以减轻系统压力,保证系统的正常运行;将客户端地址分配到各个数据桶中,可以避免同一数据桶上的客户端集中上传数据,从而防止大并发情况下对文件存储系统造成太大压力;对所述目标数据桶中各个所述客户端地址对应的客户端进行流量控制,可以实现客户端数据的均衡上传,在一定程度上避免有的客户端上传数据过多而其他客户端上传数据较少的情况,并且服务端仅需要对目标桶中的客户端进行流量控制,而不需要对所有客户端进行控制,进一步可以减小服务端的压力。如此,即可在多个客户端并发上传文件到同一个文件存储系统时,提高数据上传的时效性。
64.如图2所示,在一个实施例中,所述计算预设时间段内文件存储系统的拥塞指数的步骤,包括:
65.s201:确定在所述预设时间段内所述文件存储系统的数据接收总量,以及所连接
客户端的总连接数;
66.s202:计算所述数据接收总量与所述预设时间段的比值,确定所述预设时间段对应的数据写入速度;
67.s203:计算所述数据写入速度与所述总连接数的乘积,以得到所述拥塞指数。
68.具体而言,确定在预设时间段内文件存储系统的数据接收总量,以及所连接客户端的总连接数,可以是通过监控工具或日志记录获取预设时间段内数据接收的总量,以及统计预设时间段内所连接客户端的总连接数。示例如,文件存储系统是分布式文件系统,可以通过监控指标获取数据接收总量,由于每个客户端连接都会在日志或监控数据中有对应的记录,可以根据系统的日志记录或连接管理模块的统计信息获取总连接数。示例如,文件存储系统是云存储服务,可以通过管理控制台、api或sdk获取数据接收总量,可以从访问请求的日志记录或监控指标中,获取总连接数。
69.进一步地,计算数据接收总量与预设时间段的比值,可以确定预设时间段对应的数据写入速度,其中,数据接收总量可以采用字节数表示,可以根据实际情况为数据写入速度选择合适的单位,例如mb/s或gb/s。计算数据写入速度与总连接数的乘积,可以得到拥塞指数,从而根据拥塞指数确定文件存储系统当前的拥塞情况。
70.可以理解的是,当数据写入速度较慢时,可能会导致数据堆积和延迟增加,当总连接数较多时,可能会导致系统资源分配紧张,将数据写入速度和总连接数进行乘积运算,得到拥塞指数,可以综合考虑数据写入速度和总连接数两个影响因素。采用预设时间段内的数据接收总量和总连接数进行计算,可以平滑数据波动。
71.如图3所示,在一个实施例中,所述确定在所述预设时间段内所述文件存储系统的数据接收总量,以及所连接客户端的总连接数的步骤,包括:
72.s301:确定拥塞时间窗口,所述拥塞时间窗口的窗口长度为所述预设时间段的时间长度;
73.s302:在所述拥塞时间窗口内,遍历并保存所述文件存储系统在每个单位时间的数据接收量和所连接客户端的连接数;
74.s303:将所述拥塞时间窗口中保存的每个所述单位时间的数据接收量进行累加,得到所述数据接收总量;
75.s304:将所述拥塞时间窗口中保存的每个所述单位时间的连接数进行累加,得到所述总连接数。
76.具体而言,在确定拥塞时间窗口之前,可以将预设时间段的时间长度确定为拥塞时间窗口的窗口长度,从而创建拥塞时间窗口。将拥塞时间窗口划分为多个单位时间片段,对于每个单位时间片段,获取文件存储系统在该单位时间片段内的数据接收量和所连接客户端的连接数,将每个单位时间片段的数据接收量和连接数保存起来,可以采用数据、列表或其他数据结构进行存储。将拥塞时间窗口中保存的每个单位时间片段的数据接收量进行累加,得到数据接收总量。将拥塞时间窗口中保存的每个单位时间片段的连接数进行累加,得到总连接数。
77.进一步地,拥塞时间窗口可以为滑动窗口,以上一拥塞时间窗口的结束位置为当前拥塞时间窗口的起始位置,按时序向前滑动,从而可以实时监测文件存储系统的拥塞情况。
78.示例如,假设拥塞时间窗口为1分钟,则可以将拥塞时间窗口均等分为60格,每一格代表1秒钟,每一格保存对应秒的数据接收量和连接数。当1分钟结束后,下一分钟的数据连接数和数据接收量按秒覆盖原来的数据。
79.可以理解的是,通过遍历和保存每个单位时间的数据接收量和连接数,可以实时监测文件存储系统的拥塞情况;计算数据接收总量和总连接数可以提供对文件存储系统在拥塞时间窗口内的整体性能的评估;通过累加数据接收总量和总连接数,可以获得在拥塞时间窗口内系统的工作负载情况。
80.如图4所示,在一个实施例中,向各个所述数据桶分配客户端地址的过程,包括:
81.s401:对于接入系统的每个所述客户端,计算该客户端对应客户端地址的哈希值;
82.s402:根据各个所述数据桶的总数量,对所述哈希值进行取模运算,得到所述哈希值的取模结果;
83.s403:根据所述取模结果,将该客户端对应的客户端地址存储到对应的数据桶内。
84.具体而言,对于接入系统的每个客户端,根据该客户端的客户端地址,使用哈希函数将客户端地址映射为固定长度的哈希值。将计算得到的哈希值与数据桶的总数量进行取模运算,取余结果范围为0到数据桶总数量减一,创建一个数据桶列表,索引从0到数据桶总数量减一。根据取模结果,将客户端地址存储到对应的数据桶中。
85.示例如,若数据桶总数量为10,则取模结果的范围为0到9,对客户端地址进行哈希运算后,得到哈希值为198,则使用取模运算,得到取模结果为8,将该客户端地址存储到第8号数据桶中。
86.其中,哈希函数可以根据实际情况选择,例如可以是md5(message digest algorithm 5,消息摘要算法5),也可以是sha-1(secure hash algorithm 1,安全散列算法1)。可以采用数组、链表或散列表等数据结构表示和管理每个数据桶。
87.可以理解的是,根据客户端地址的哈希值将客户端分配到对应的数据桶中。这样可以有效地管理和存储客户端相关的数据,并提高系统的查询效率和负载均衡性能。
88.在一个实施例中,所述对所述目标数据桶中各个所述客户端地址对应的客户端进行流量控制的步骤,包括:
89.对于每个所述客户端,确定该客户端是否正在上传数据,若是,则不对该客户端进行流量限制,否则,限制该客户端上传新的数据。
90.具体而言,对于每个客户端,可以采用状态变量来表示该客户端当前的上传状态。通过监控客户端的数据传输情况,实时更新客户端的状态变量,根据客户端状态变量的值进行相应的流量控制操作。若客户端的状态为正在上传数据,则不对该客户端进行流量限制,若客户端的状态为未上传数据,则对该客户端进行流量限制,限制该客户端上传新的数据。其中,可以采用布尔值或枚举类型作为状态变量,可以通过网络流量控制或收集传输日志来检测客户端是否正在上传数据。
91.可以理解的是,对于正在上传数据的客户端,不进行流量限制,可以确保其上传过程不受限制,并充分利用网络带宽,从而提高上传数据的效率,保证上传数据的时效性,对于未在上传数据的客户端,通过限制其上传新的数据,可以实现对网络资源的公平分配。进一步避免某些客户端长时间占用大量的上传带宽,导致其他客户端无法正常传输数据,保障整体的网络服务质量。
92.在一个实施例中,所述方法还包括:
93.若当前流量控制过程结束,则进入流量控制等待期;
94.当所述流量控制等待期结束时,开始计算下一预设时间段内所述文件存储系统的拥塞指数。
95.具体而言,当流量控制过程达到预设的条件或达到指定时间时,可以判断流量控制过程结束。一旦确认流量控制过程结束,可以开始流量控制等待期。在量控制等待期内,不再进行流量限制,等待下一预设时间段的到来。当流量控制等待期结束时,可以通过计算文件存储系统的拥塞指数来评估系统的拥塞程度。
96.可以理解的是,流量控制等待期可以为文件存储系统提供时间处理之前累积的数据和请求量,从而降低系统出现拥塞的可能性,能够平衡并减轻文件存储系统的负载。
97.在一个实施例中,所述方法还包括:
98.根据所述拥塞指数与所述预设阈值的差值,确定各个所述客户端的等待重试时间,并基于所述等待重试时间,生成拥塞信号;其中,所述客户端等待重试时间小于所述流量控制等待期;
99.将所述拥塞信号发送至所述目标数据桶中各个所述客户端地址对应的客户端,以提示客户端用户根据所述拥塞信号等待重新上传数据。
100.具体而言,根据所述拥塞指数与预设阈值之间的差值,可以评估当前系统的拥塞程度。若差值较大,则表示系统拥塞程度较轻;若差值较小,则表示系统拥塞较重。根据拥塞指数与预设阈值的差值,可以确定各个客户端的等待重试时间。通常情况下,若拥塞程度越重,则等待重试时间越长;若拥塞程度越轻,则等待重试时间越短。基于等待重试时间,生成拥塞信号。拥塞信号可以使用标识或特定的消息表示,以告知客户端需要等待重新上传数据。拥塞信号可以包括用于表示服务器繁忙,暂时无法响应的状态码503,还可以包括用于提示客户端需要等待多长时间后重试的等待时间。
101.进一步地,可以通过网络协议或其他通信方式,将生成的拥塞信号发送至目标数据桶中各个客户端地址对应的客户端,以提示客户端用户根据拥塞信号等待重新上传数据。其中,客户端等待重试时间小于流量控制等待期,以确保在控制流量的等待期结束后,客户端可以尽快进行重新上传数据的操作。
102.可以理解的是,通过设置等待重试时间,可以避免客户端之间的冲突,减少上传失败的情况,从而提高数据上传的成功率。客户端在收到拥塞信号后会根据等待重试时间暂时停止上传数据,避免加剧系统拥塞,并减少上传失败和冲突的可能性。
103.下面对本技术实施例提供的数据拥塞控制装置进行描述,下文描述的数据拥塞控制装置与上文描述的数据拥塞控制方法可相互对应参照。如图5所示,本技术提供了一种数据拥塞控制装置,所述装置包括:
104.拥塞指数计算模块501,用于计算预设时间段内文件存储系统的拥塞指数;
105.流量控制触发模块502,用于当所述拥塞指数高于预设阈值时,触发流量控制,并确定当前流量控制对应的控制轮次;
106.目标数据桶选择模块503,用于在已建立的各个数据桶中,选择与所述控制轮次对应的目标数据桶,所述数据桶中存储有已分配的各个客户端地址,每个所述客户端地址对应的客户端与所述文件存储系统连接;
107.客户端流量控制模块504,用于对所述目标数据桶中各个所述客户端地址对应的客户端进行流量控制。
108.在一个实施例中,所述拥塞指数计算模块501包括:
109.总数确定子模块,用于确定在所述预设时间段内所述文件存储系统的数据接收总量,以及所连接客户端的总连接数;
110.数据写入速度确定子模块,用于计算所述数据接收总量与所述预设时间段的比值,确定所述预设时间段对应的数据写入速度;
111.拥塞指数确定子模块,用于计算所述数据写入速度与所述总连接数的乘积,以得到所述拥塞指数。
112.在一个实施例中,所述总数确定子模块包括:
113.拥塞时间窗口确定单元,用于确定拥塞时间窗口,所述拥塞时间窗口的窗口长度为所述预设时间段的时间长度;
114.数量保存单元,用于在所述拥塞时间窗口内,遍历并保存所述文件存储系统在每个单位时间的数据接收量和所连接客户端的连接数;
115.数据接收总量确定单元,用于将所述拥塞时间窗口中保存的每个所述单位时间的数据接收量进行累加,得到所述数据接收总量;
116.总连接数确定单元,用于将所述拥塞时间窗口中保存的每个所述单位时间的连接数进行累加,得到所述总连接数。
117.在一个实施例中,所述目标数据桶选择模块503包括:
118.哈希值计算子模块,用于对于接入系统的每个所述客户端,计算该客户端对应客户端地址的哈希值;
119.取模结果获取子模块,用于根据各个所述数据桶的总数量,对所述哈希值进行取模运算,得到所述哈希值的取模结果;
120.客户端地址分配子模块,用于根据所述取模结果,将该客户端对应的客户端地址存储到对应的数据桶内。
121.在一个实施例中,所述客户端流量控制模块504包括:
122.客户端流量控制子模块,用于对于每个所述客户端,确定该客户端是否正在上传数据,若是,则不对该客户端进行流量限制,否则,限制该客户端上传新的数据。
123.在一个实施例中,所述装置还包括:
124.流量控制等待期进入模块,用于若当前流量控制过程结束,则进入流量控制等待期;
125.拥塞指数计算子模块,用于当所述流量控制等待期结束时,开始计算下一预设时间段内所述文件存储系统的拥塞指数。
126.在一个实施例中,所述装置还包括:
127.拥塞信号生成模块,用于根据所述拥塞指数与所述预设阈值的差值,确定各个所述客户端的等待重试时间,并基于所述等待重试时间,生成拥塞信号;其中,所述客户端等待重试时间小于所述流量控制等待期;
128.拥塞信号发送模块,用于将所述拥塞信号发送至所述目标数据桶中各个所述客户端地址对应的客户端,以提示客户端用户根据所述拥塞信号等待重新上传数据。
129.在一个实施例中,本技术还提供了一种存储介质,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述数据拥塞控制方法的步骤。
130.在一个实施例中,本技术还提供了一种计算机设备,所述计算机设备中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如上述实施例中任一项所述数据拥塞控制方法的步骤。
131.示意性地,如图6所示,图6为本技术实施例提供的一种计算机设备的内部结构示意图,该计算机设备600可以被提供为一服务器。参照图6,计算机设备600包括处理组件602,其进一步包括一个或多个处理器,以及由存储器601所代表的存储器资源,用于存储可由处理组件602的执行的指令,例如应用程序。存储器601中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件602被配置为执行指令,以执行上述任意实施例的数据拥塞控制方法。
132.计算机设备600还可以包括一个电源组件603被配置为执行计算机设备600的电源管理,一个有线或无线网络接口604被配置为将计算机设备600连接到网络,和一个输入输出(i/o)接口605。计算机设备600可以操作基于存储在存储器601的操作系统,例如windows server tm、mac os xtm、unix tm、linux tm、free bsdtm或类似。
133.本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
134.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本文中,“一”、“一个”、“所述”、“该”和“其”也可以包括复数形式,除非上下文清楚指出另外的方式。多个是指至少两个的情况,如2个、3个、5个或8个等。“和/或”包括相关所列项目的任何及所有组合。
135.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
136.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种数据拥塞控制方法,其特征在于,所述方法包括:计算预设时间段内文件存储系统的拥塞指数;当所述拥塞指数高于预设阈值时,触发流量控制,并确定当前流量控制对应的控制轮次;在已建立的各个数据桶中,选择与所述控制轮次对应的目标数据桶,所述数据桶中存储有已分配的各个客户端地址,每个所述客户端地址对应的客户端与所述文件存储系统连接;对所述目标数据桶中各个所述客户端地址对应的客户端进行流量控制。2.根据权利要求1所述的数据拥塞控制方法,其特征在于,所述计算预设时间段内文件存储系统的拥塞指数的步骤,包括:确定在所述预设时间段内所述文件存储系统的数据接收总量,以及所连接客户端的总连接数;计算所述数据接收总量与所述预设时间段的比值,确定所述预设时间段对应的数据写入速度;计算所述数据写入速度与所述总连接数的乘积,以得到所述拥塞指数。3.根据权利要求2所述的数据拥塞控制方法,其特征在于,所述确定在所述预设时间段内所述文件存储系统的数据接收总量,以及所连接客户端的总连接数的步骤,包括:确定拥塞时间窗口,所述拥塞时间窗口的窗口长度为所述预设时间段的时间长度;在所述拥塞时间窗口内,遍历并保存所述文件存储系统在每个单位时间的数据接收量和所连接客户端的连接数;将所述拥塞时间窗口中保存的每个所述单位时间的数据接收量进行累加,得到所述数据接收总量;将所述拥塞时间窗口中保存的每个所述单位时间的连接数进行累加,得到所述总连接数。4.根据权利要求1所述的数据拥塞控制方法,其特征在于,向各个所述数据桶分配客户端地址的过程,包括:对于接入系统的每个所述客户端,计算该客户端对应客户端地址的哈希值;根据各个所述数据桶的总数量,对所述哈希值进行取模运算,得到所述哈希值的取模结果;根据所述取模结果,将该客户端对应的客户端地址存储到对应的数据桶内。5.根据权利要求1所述的数据拥塞控制方法,其特征在于,所述对所述目标数据桶中各个所述客户端地址对应的客户端进行流量控制的步骤,包括:对于每个所述客户端,确定该客户端是否正在上传数据,若是,则不对该客户端进行流量限制,否则,限制该客户端上传新的数据。6.根据权利要求1至5任一项所述的数据拥塞控制方法,其特征在于,所述方法还包括:若当前流量控制过程结束,则进入流量控制等待期;当所述流量控制等待期结束时,开始计算下一预设时间段内所述文件存储系统的拥塞指数。7.根据权利要求6所述的数据拥塞控制方法,其特征在于,所述方法还包括:
根据所述拥塞指数与所述预设阈值的差值,确定各个所述客户端的等待重试时间,并基于所述等待重试时间,生成拥塞信号;其中,所述客户端等待重试时间小于所述流量控制等待期;将所述拥塞信号发送至所述目标数据桶中各个所述客户端地址对应的客户端,以提示客户端用户根据所述拥塞信号等待重新上传数据。8.一种数据拥塞控制装置,其特征在于,所述装置包括:拥塞指数计算模块,用于计算预设时间段内文件存储系统的拥塞指数;流量控制触发模块,用于当所述拥塞指数高于预设阈值时,触发流量控制,并确定当前流量控制对应的控制轮次;目标数据桶选择模块,用于在已建立的各个数据桶中,选择与所述控制轮次对应的目标数据桶,所述数据桶中存储有已分配的各个客户端地址,每个所述客户端地址对应的客户端与所述文件存储系统连接;客户端流量控制模块,用于对所述目标数据桶中各个所述客户端地址对应的客户端进行流量控制。9.一种存储介质,其特征在于:所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述数据拥塞控制方法的步骤。10.一种计算机设备,其特征在于,包括:一个或多个处理器,以及存储器;所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如权利要求1至7中任一项所述数据拥塞控制方法的步骤。

技术总结
本申请提供的数据拥塞控制方法、装置、存储介质及计算机设备,所述方法包括:计算预设时间段内文件存储系统的拥塞指数;当所述拥塞指数高于预设阈值时,触发流量控制,并确定当前流量控制对应的控制轮次;在已建立的各个数据桶中,选择与所述控制轮次对应的目标数据桶,所述数据桶中存储有已分配的各个客户端地址,每个所述客户端地址对应的客户端与所述文件存储系统连接;对所述目标数据桶中各个所述客户端地址对应的客户端进行流量控制。如此,即可在多个客户端并发上传文件到同一个文件存储系统时,保证数据上传的时效性。保证数据上传的时效性。保证数据上传的时效性。


技术研发人员:孙子文
受保护的技术使用者:广州文远知行科技有限公司
技术研发日:2023.07.31
技术公布日:2023/10/5
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐