System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机领域,尤其涉及一种降低磁盘i/o的方法、装置和电子设备。
技术介绍
1、当前,生产环境中部署的hashdata计算集群具有分片的概念,其中由segment负责分片,当配置的分片比较多的时候,相应的每个segment负责的分片也会变多。这个时候,在一次insert操作的时候,分片会产生很多小文件,能在生产环境发现很多1k左右的文件。在配置的分片越来越多时,对应的小文件也会越来越多,特别在高并发的时候,进行insert操作和select操作时磁盘i/o都比较高,影响性能。在实际生产环境中发现,segment缓存达到四百万个小文件,支持有两百个读写请求并发时,磁盘i/o基本打满。
技术实现思路
1、有鉴于此,本申请提出了一种降低磁盘i/o的方法,以解决上述
技术介绍
所体现的问题。
2、根据本申请的一方面,提供了一种降低磁盘i/o的方法,包括:
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、根据本申请的二方面,提供了一种降低磁盘i/o的装置,包括以下模块:
34、接收请求模块,用于接收写入请求;
35、处理模块,用于对所述写入请求对应的待处理文件进行处理,得到待写入文件;
36、写入数据模块,用于在内存中的预设文件块中写入所述写入请求对应的待写入数据;
37、元数据模块,用于所述待写入数据中包含所述待写入文件对应的元数据,所述元数据中包括所述待写入文件在所述文件块中的存储信息。
38、根据本申请的三方面,提出了一种电子设备,包括:
39、处理器;
40、用于存储处理器可执行指令的存储器;
41、其中,所述处理器被配置为执行所述可执行指令时实现上述所述的一种降低磁盘i/o的方法。
42、本申请的有益效果:
43、通过本专利技术,接收写入请求,对所述写入请求对应的待处理文件进行处理,得到待写入文件,在内存中的预设文件块中写入所述写入请求对应的待写入数据,所述待写入数据中包含所述待写入文件对应的元数据,所述元数据中包括所述待写入文件在所述文件块中的存储信息。基于文件合并能减少文件系统中的碎片化,从而节省存储空间,同时减少了磁盘寻址时间,从而提高文件的读取速度。
44、根据下面参考附图对示例性实施例的详细说明,本申请的其它特征及方面将变得清楚。
本文档来自技高网...【技术保护点】
1.一种降低磁盘I/O的方法,其特征在于,包括:
2.如权利要求1所述的一种降低磁盘I/O的方法,其特征在于,对所述写入请求对应的待处理文件进行处理,得到待写入文件,包括:
3.如权利要求1所述的一种降低磁盘I/O的方法,其特征在于,在内存中的预设文件块中写入所述写入请求对应的待写入数据,包括:
4.如权利要求1所述的一种降低磁盘I/O的方法,其特征在于,在内存中的预设文件块中写入所述写入请求对应的待写入数据,还包括:
5.如权利要求3-4任一项所述的一种降低磁盘I/O的方法,其特征在于,向内存申请新增预设文件块,包括:
6.如权利要求1所述的一种降低磁盘I/O的方法,其特征在于,还包括:
7.如权利要求6所述的一种降低磁盘I/O的方法,其特征在于,接收读取请求;
8.如权利要求6所述的一种降低磁盘I/O的方法,其特征在于,还包括:
9.一种降低磁盘I/O的装置,其特征在于,包括以下模块:
10.一种电子设备,其特征在于,包括:
【技术特征摘要】
1.一种降低磁盘i/o的方法,其特征在于,包括:
2.如权利要求1所述的一种降低磁盘i/o的方法,其特征在于,对所述写入请求对应的待处理文件进行处理,得到待写入文件,包括:
3.如权利要求1所述的一种降低磁盘i/o的方法,其特征在于,在内存中的预设文件块中写入所述写入请求对应的待写入数据,包括:
4.如权利要求1所述的一种降低磁盘i/o的方法,其特征在于,在内存中的预设文件块中写入所述写入请求对应的待写入数据,还包括:
5...
【专利技术属性】
技术研发人员:简丽荣,
申请(专利权)人:北京酷克数据科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。