System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其属于文件存储,特别涉及一种文件存储网关优化缓存刷脏数据的方法、系统、电子设备及存储介质。
技术介绍
1、高速缓存,是用户态基于内存对io操作进行加速的技术。在存储系统中,高速缓存在大规模数据处理、低延迟、高并发访问方面虽有效缓解了后端存储的访问压力,但其刷盘机制在应对复杂i/o模型时暴露出性能瓶颈。
2、传统刷盘策略,如定时刷盘、写满刷盘等,往往无法有效应对复杂多变的io模式,刷盘效率降低,脏数据堆积。其中,所谓的脏数据是指在内存中被修改但尚未写回磁盘的数据。小io模型由于其数据量小、频率高,容易导致系统资源的频繁调用,从而降低系统性能。而大io模型数据量大,但处理不当也可能导致系统资源的长时间占用,造成性能瓶颈。
3、因此,如何提供一种文件存储网关优化缓存刷脏数据的方法、系统、电子设备及存储介质成为本领域亟需解决的技术难题。
技术实现思路
1、本专利技术的目的是提供一种文件存储网关优化缓存刷脏数据的方法、系统、电子设备及存储介质。
2、根据本专利技术的第一方面,提供了一种文件存储网关优化缓存刷脏数据,包括,
3、根据所述脏数据io的模型和大小,应用平衡二叉树数据将无序的随机脏数据io模型产生的脏数据io转换为有序的脏数据io;
4、将脏数据io拷贝到内存块中,用索引值当排序的键值,顺序插入自平衡的二叉树搜索中,将无序的随机io模型产生的脏数据io转换为有序的脏数据io;
5、步骤s3、根
6、在所述步骤s3中,所述按照预设的分类阈值,将脏数据io分为小io类和大io类两个类别,具体:
7、当所述脏数据io的大小在1b~256k之间,识别为小io;所述脏数据io的大小大于256k的识别为大io;
8、聚合阈值在2m~16m之间;
9、拆分阈值在1m~8m之间。
10、步骤s4、根据查询内存块和磁盘的使用率,调整分类阈值、聚合阈值和拆分阈值;
11、根据本专利技术第一方面的方法,在所述步骤s1中,所述方法还包括:
12、根据脏数据io的偏移量计算出内存块的起始索引,根据脏数据io的大小计算出需要的内存块个数和结束索引。
13、根据本专利技术第一方面的方法,在所述步骤s2中,所述根据所述io的模型和大小,应用平衡二叉树数据将无序的随机io模型产生的脏数据io转换为有序的脏数据io包括:
14、将脏数据io拷贝到内存块中,用索引值当排序的键值,顺序插入自平衡的二叉树搜索中,将无序的随机io模型产生的脏数据io转换为有序的脏数据io。
15、根据本专利技术第一方面的方法,在所述步骤s3中,所述根据所述类别,应用聚合阈值和拆分阈值将所述脏数据io进行聚合或拆分包括:
16、如果所述脏数据io是小io类,使用聚合阈值将脏数据io聚合,分发给flush线程;如果所述脏数据io是大io类,使用拆分阈值将脏数据io拆分,分发给flush线程。
17、本专利技术第二方面公开了一种文件存储网关优化缓存刷脏数据系统,所述系统包括:
18、第一处理模块,被配置为,动态监测高速缓存中的脏数据io操作,识别脏数据io的模型和大小;
19、第二处理模块,被配置为,根据所述脏数据io的模型和大小,应用平衡二叉树数据将无序的随机脏数据io模型产生的脏数据io转换为有序的脏数据io;
20、将脏数据io拷贝到内存块中,用索引值当排序的键值,顺序插入自平衡的二叉树搜索中,将无序的随机io模型产生的脏数据io转换为有序的脏数据io;
21、第三处理模块,被配置为,根据获得的有序的脏数据io的大小顺序,,按照预设的分类阈值,将脏数据io分为小io类和大io类两个类别;根据所述类别,应用聚合阈值和拆分阈值将所述脏数据io进行聚合或拆分,并分发给flush线程;
22、所述按照预设的分类阈值,将脏数据io分为小io类和大io类两个类别,具体:
23、当所述脏数据io的大小在1b~256k之间,识别为小io;所述脏数据io的大小大于256k的识别为大io;
24、所述聚合阈值在2m~16m之间;
25、所述拆分阈值在1m~8m之间。
26、第四处理模块,被配置为,根据查询内存块和磁盘的使用率,调整分类阈值、聚合阈值和拆分阈值;
27、根据本专利技术第二方面的系统,所述第一处理模块具体被配置为:
28、根据脏数据io的偏移量计算出内存块的起始索引,根据脏数据io的大小计算出需要的内存块个数和结束索引。
29、根据本专利技术第二方面的系统,所述第二处理模块具体被配置为,所述根据所述io的模型和大小,应用平衡二叉树数据将无序的随机io模型产生的脏数据io转换为有序的脏数据io包括:
30、将脏数据io拷贝到内存块中,用索引值当排序的键值,顺序插入自平衡的二叉树搜索中,将无序的随机io模型产生的脏数据io转换为有序的脏数据io。
31、根据本专利技术第二方面的系统,所述第三处理模块具体被配置为,所述根据所述类别,应用聚合阈值和拆分阈值将所述脏数据io进行聚合或拆分包括:
32、如果所述脏数据io是小io类,使用聚合阈值将脏数据io聚合,分发给flush线程;如果所述脏数据io是大io类,使用拆分阈值将脏数据io拆分,分发给flush线程。
33、本专利技术第三方面公开了一种电子设备。电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时,实现本公开第一方面中任一项的一种文件存储网关优化缓存刷脏数据方法中的步骤。
34、第五方面,本申请示出了一种计算机程序产品,当所述计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述任一方面所述的方法。
35、本申请提供的技术方案可以包括以下有益效果:
36、本申请提供的文件存储网关优化缓存刷脏数据方案中,当脏数据的io为小io操作时采用聚合刷盘策略,且通过缓冲区收集一定数量的小io操作后再进行刷盘,能够减少磁盘i/o次数,从而提高刷盘效率。当脏数据的io为大io操作时则采取分割切片并发刷盘策略,可以充分利用磁盘的并发读写能力,提升大io操作的处理速度。本申请最大的优点是可以自适应地进行刷盘阈值的调整:通过结合高速缓存资源使用和磁盘使用率,可以动态调整小io合并刷盘的阈值以及大io并发刷盘的并发度,从而实现刷盘策略的自适应优化。
本文档来自技高网...【技术保护点】
1.一种文件存储网关优化缓存刷脏数据方法,其特征在于,包括:
2.根据权利要求1所述的文件存储网关优化缓存刷脏数据方法,其特征在于,在所述步骤S1中,所述方法还包括:
3.根据权利要求2所述的文件存储网关优化缓存刷脏数据方法,其特征在于,在所述步骤S3中,所述按照预设的分类阈值,将脏数据IO分为小IO类和大IO类两个类别,具体:
4.根据权利要求1所述的文件存储网关优化缓存刷脏数据方法,其特征在于,在所述步骤S3中,所述根据所述类别,应用聚合阈值和拆分阈值将所述脏数据IO进行聚合或拆分包括:
5.一种文件存储网关优化缓存刷脏数据系统,其特征在于,所述系统包括:
6.根据权利要求5所述的文件存储网关优化缓存刷脏数据系统,其特征在于,所述第一处理模块具体被配置为:
7.根据权利要求6所述的文件存储网关优化缓存刷脏数据系统,其特征在于,所述第二处理模块具体被配置为,当所述脏数据IO的大小在1B~256K之间,识别为小IO;所述脏数据IO的大小大于256K的识别为大IO。
8.根据权利要求5所述的文件存储
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至4中任一项所述的一种文件存储网关优化缓存刷脏数据方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1至4中任一项所述的一种文件存储网关优化缓存刷脏数据方法中的步骤。
...【技术特征摘要】
1.一种文件存储网关优化缓存刷脏数据方法,其特征在于,包括:
2.根据权利要求1所述的文件存储网关优化缓存刷脏数据方法,其特征在于,在所述步骤s1中,所述方法还包括:
3.根据权利要求2所述的文件存储网关优化缓存刷脏数据方法,其特征在于,在所述步骤s3中,所述按照预设的分类阈值,将脏数据io分为小io类和大io类两个类别,具体:
4.根据权利要求1所述的文件存储网关优化缓存刷脏数据方法,其特征在于,在所述步骤s3中,所述根据所述类别,应用聚合阈值和拆分阈值将所述脏数据io进行聚合或拆分包括:
5.一种文件存储网关优化缓存刷脏数据系统,其特征在于,所述系统包括:
6.根据权利要求5所述的文件存储网关优化缓存刷脏数据系统,其特征在于,所述第一处理模块具体被配置为:
7.根据权利要求6所述的文件存储网关优...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。