System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,特别涉及基于令牌桶的文件系统数据流控方法、装置、设备及介质。
技术介绍
1、目前,云存储常常涉及到多个客户端对同一个存储集群的服务器资源的使用,这种存储集群的服务器资源是有限的。
2、当某一个客户端使用压力偏高时,会对其他客户端的使用产生负面的影响,由此产生的资源争抢和资源占用会影响客户端的使用性能和用户体验。长时间处于过高的压力负载会缩减服务器、磁盘的使用寿命,从而增加存储集群在后期出现问题的概率。
3、因此,需要一种方式对网络中传输流量的控制和管理,从而减少因网络波动产生的网络阻塞等问题,同时,在降低网络压力的同时,也能使得服务器压力可以初步控制,从而延长服务器的工作寿命。
技术实现思路
1、本专利技术实施例提供了基于令牌桶的文件系统数据流控方法、装置、设备及介质,以实现对网络中传输流量的控制和管理。
2、根据本专利技术的一方面,提供了一种基于令牌桶的文件系统数据流控方法,包括:
3、声明令牌桶算法,所述令牌桶算法包括:声明令牌桶结构、声明获取令牌接口和声明添加令牌接口;
4、定义流控逻辑,所述流控逻辑包括:至少两个令牌桶结构的组合、定义添加令牌桶接口、定义获取令牌失败回调函数、添加从缓存中获取令牌和定义清除令牌桶接口;
5、读写操作添加iops流控和吞吐量流控逻辑。
6、可选的,所述声明令牌桶结构,包括:添加令牌总数、令牌锁、可用令牌数量、添加令牌周期、令牌桶容量和等待
7、所述声明获取令牌接口,包括:调用令牌桶算法的获取令牌函数,客户端请求获取令牌,若获取令牌成功,执行后续的业务逻辑;否则,执行令牌桶算法获取令牌失败的逻辑;
8、所述声明添加令牌接口,包括:创建线程定期向令牌桶中添加可用令牌数量,其中,所述添加可用令牌数量和所述时间间隔在令牌桶的属性中定义。
9、可选的,所述至少两个令牌桶结构的组合,包括:声明一个数据结构,包含流控锁,令牌桶队列,令牌桶标识和令牌桶缓存令牌;
10、所述流控锁为对令牌桶操作的独占锁,在添加令牌桶,获取令牌桶令牌时上锁;
11、所述令牌桶队列为至少两个令牌桶结构的列表,通过令牌桶标识查找对应令牌桶;
12、所述令牌桶标识为令牌桶队列的索引;
13、所述令牌桶缓存令牌为各令牌桶中缓存的令牌,所述缓存的令牌为上一次未成功执行的操作对应的缓存令牌数量。
14、可选的,所述定义添加令牌桶接口,包括:在客户端挂载时,根据令牌桶标识和配置项,生成对应的令牌桶并添加到令牌桶队列中;
15、所述定义清除令牌桶接口,包括:在客户端卸载时,逐步清除已有的令牌桶和线程,读写iops令牌桶和吞吐量令牌桶,执行添加令牌对应线程。
16、可选的,所述定义获取令牌失败回调函数,包括:
17、当令牌获取不全或失败时,待下一次添加令牌时,调用回调函数执行后续业务逻辑;
18、在所述回调函数中,将请求获取的令牌数添加到缓存中,等待下次执行时从缓存中获取令牌。
19、可选的,所述添加从缓存中获取令牌,包括:当令牌数小于令牌桶缓存令牌时,减少令牌桶缓存令牌以继续执行。
20、可选的,所述读写操作添加iops流控和吞吐量流控逻辑,包括:
21、每次操作尝试从iops获取1令牌,若获取失败,则等待一个添加令牌周期之后再次尝试获取令牌;
22、每次操作尝试从iops获取读写数据量的令牌,若获取失败,则等待一个添加令牌周期之后再次尝试获取令牌。
23、根据本专利技术的另一方面,提供了一种基于令牌桶的文件系统数据流控装置,包括:
24、声明单元,用于声明令牌桶算法,所述令牌桶算法包括:声明令牌桶结构、声明获取令牌接口和声明添加令牌接口;
25、定义单元,用于定义流控逻辑,所述流控逻辑包括:至少两个令牌桶结构的组合、定义添加令牌桶接口、定义获取令牌失败回调函数、添加从缓存中获取令牌和定义清除令牌桶接口;
26、添加单元,用于读写操作添加iops流控和吞吐量流控逻辑。
27、根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:
28、至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的基于令牌桶的文件系统数据流控方法。
29、根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的基于令牌桶的文件系统数据流控。
30、本专利技术实施例的方案包括:声明令牌桶算法,所述令牌桶算法包括:声明令牌桶结构、声明获取令牌接口和声明添加令牌接口;定义流控逻辑,所述流控逻辑包括:至少两个令牌桶结构的组合、定义添加令牌桶接口、定义获取令牌失败回调函数、添加从缓存中获取令牌和定义清除令牌桶接口;读写操作添加iops流控和吞吐量流控逻辑。本专利技术实施例的方案在客户端通过令牌桶算法,对文件系统读写等数据操作执行流量限制,减少客户端的使用压力,防止资源争抢和资源占用影响客户端的使用性能和用户体验,此外,减小客户端的使用压力可以避免长时间处于过高的压力负载缩减服务器、磁盘的使用寿命的问题。
31、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
本文档来自技高网...【技术保护点】
1.基于令牌桶的文件系统数据流控方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求1所述的方法,其特征在于,所述至少两个令牌桶结构的组合,包括:声明一个数据结构,包含流控锁,令牌桶队列,令牌桶标识和令牌桶缓存令牌;
4.根据权利要求1所述的方法,其特征在于,
5.根据权利要求1所述的方法,其特征在于,所述定义获取令牌失败回调函数,包括:
6.根据权利要求1所述的方法,其特征在于,所述添加从缓存中获取令牌,包括:当令牌数小于令牌桶缓存令牌时,减少令牌桶缓存令牌以继续执行。
7.根据权利要求1所述的方法,其特征在于,所述读写操作添加IOPS流控和吞吐量流控逻辑,包括:
8.基于令牌桶的文件系统数据流控装置,其特征在于,包括:
9.电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1
10.计算机可读介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的基于令牌桶的文件系统数据流控方法。
...【技术特征摘要】
1.基于令牌桶的文件系统数据流控方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求1所述的方法,其特征在于,所述至少两个令牌桶结构的组合,包括:声明一个数据结构,包含流控锁,令牌桶队列,令牌桶标识和令牌桶缓存令牌;
4.根据权利要求1所述的方法,其特征在于,
5.根据权利要求1所述的方法,其特征在于,所述定义获取令牌失败回调函数,包括:
6.根据权利要求1所述的方法,其特征在于,所述添加从缓存中获取令牌,包括:当令牌数小于令牌桶缓存令牌时,减少令牌桶缓存令牌以继续执行。
7.根据权利要求1所述的方法,其...
【专利技术属性】
技术研发人员:陈淯龙,王新雨,蒋方文,王腾飞,李超,
申请(专利权)人:浪潮云信息技术股份公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。