System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种分布式块存储小文件聚合索引管理方法技术_技高网

一种分布式块存储小文件聚合索引管理方法技术

技术编号:41395351 阅读:3 留言:0更新日期:2024-05-20 19:18
本发明专利技术公开了一种分布式块存储小文件聚合索引管理方法,包括将小文件聚合后索引信息的原始数据划分虚拟组,计算虚拟组的关键词;将小文件的索引信息作为子索引信息,划分入对应的虚拟组;计算子索引的相对地址空间偏移并在虚拟组内排序,存入数据库;计算目标小文件的关键词,检索满足的虚拟组;在检索出的虚拟组中,比对筛选子索引;将目标小文件拆分得到子文件;根据子文件对应读取上述子索引的聚合后空间地址,将索引检索结果组合以从存储底层读取文件。本发明专利技术通过将小文件聚合后索引信息的原始结构化数据分成数个虚拟组的形式,可将数据库中索引信息降低一个甚至数个数量级;通过对索引信息检索的优化,可实现非结构化索引的快速查询。

【技术实现步骤摘要】

本专利技术涉及分布式存储,具体涉及一种分布式块存储小文件聚合索引管理方法


技术介绍

1、分布式存储可提供分布式块存储、分布式对象存储、分布式文件存储三种存储接口,其中对象存储和文件存储多用于存储非结构化数据,而分布式块存储多用于存储结构化数据。对象/文件存储的非结构化数据在存储层可使用文件名识别,而块存储的结构化数据不再包含原始文件名信息,而是文件空间/文件大小等信息。可参考附图3所示。

2、分布式存储底层持久化存储介质多使用机械盘,受机械盘物理结构限制,小文件随机读写性能往往差强人意,而大文件读写性能能满足要求。为提升存储系统小文件读写性能,通常将小文件聚合成大文件后集中下刷至底层持久化存储。

3、对象存储和文件存储小文件聚合通常将小文件追加写成一个大文件后下刷至底层持久化存储,小文件和大文件间可通过文件名建立索引关系用于文件读取。对象/文件存储小文件聚合原理可参考附图4所示。

4、块存储因其非结构化数据特点,在小文件聚合时无法直接建立原始文件和聚合文件间的简单索引,需将原始数据块的空间地址和聚合后数据块的空间地址进行关联整合成索引信息。因数据地址空间的连续性,理论上基于空间地址的索引信息条目近乎无限而使索引信息的存储成为一个难点。且海量索引信息数据还造成索引信息检索时效率低,使从聚合文件中读取原始小文件变得极其困难。此外因空间地址的连续性,在索引检索时无法通过关键字快速定位,而往往需要对比空间地址段,这也造成索引信息检索困难。

5、因此,亟需一种分布式块存储小文件聚合索引管理方法,来解决分布式块存储小文件聚合索引信息条目多,存储不便和索引信息检索效率低的问题。


技术实现思路

1、本专利技术针对现有技术中的不足,提供一种分布式块存储小文件聚合索引管理方法,以解决分布式块存储小文件聚合索引信息条目多,存储不便和索引信息检索效率低的问题。

2、为实现上述目的,本专利技术采用以下技术方案:

3、一种分布式块存储小文件聚合索引管理方法,其特征在于,包括如下步骤:

4、将小文件聚合后索引信息的原始数据基于原始空间地址按预设的固定空间大小划分虚拟组,根据原始空间地址和固定空间大小计算出每组虚拟组的关键词;将各个小文件的索引信息作为子索引信息,各个子索引根据关键词划分入对应的虚拟组;计算各个子索引的相对地址空间偏移,根据各个子索引的相对地址空间偏移的大小进行各个虚拟组内的排序,之后存入数据库中;

5、计算出目标小文件的关键词,遍历数据库,检索满足关键词的虚拟组;在检索出的虚拟组中,根据原始空间地址和原始文件大小的比对,筛选所有满足条件的子索引,并记录;根据记录的子索引,将目标小文件进行拆分,得到拆分后的子文件;根据拆分后的各个子文件的原始空间地址,对应读取上述满足条件的子索引中的聚合后空间地址,将索引检索结果组合成目标小文件的聚合后空间地址/文件大小,以从存储底层读取文件。

6、为优化上述技术方案,采取的具体措施还包括:

7、进一步地,所述将小文件聚合后索引信息的原始数据基于原始空间地址按预设的固定空间大小划分虚拟组,包括:预设固定空间大小作为分割单元seg_size,将小文件聚合后索引信息的原始数据,根据该原始数据中的原始空间地址按照预设的分割单元,分割成数个虚拟组。

8、进一步地,所述根据原始空间地址和固定空间大小计算出每组虚拟组的关键词,包括:根据原始空间地址offset和固定空间大小seg_size,将原始空间地址offset整除固定空间大小seg_size,则关键词key=offset/seg_size,以对应计算出每组虚拟组的关键词key。

9、进一步地,所述计算各个子索引的相对地址空间偏移,包括:计算各个子索引的原始空间地址offset整除固定空间大小seg_size之后的余数,所得的余数对应为各个子索引的相对地址空间偏移。

10、进一步地,所述存入数据库中,包括:将虚拟组以key/value形式存入数据库中,其中key为关键词,value为子索引。

11、进一步地,所述在检索出的虚拟组中,根据原始空间地址和原始文件大小的比对,筛选所有满足条件的子索引,并记录,包括:在检索出的虚拟组中,通过二分法查找出第一个原始空间地址大于目标小文件的原始空间地址的子索引,并记录;对比目标小文件与上述所得子索引的原始文件大小,如目标小文件的原始文件大小小于子索引的原始文件大小,则保留记录该子索引,如目标小文件大于子索引的原始文件大小,则将位于该子索引的原始文件大小与其前后的各一个子索引的原始文件大小进行累加,并将累加结果与目标小文件的原始文件大小进行对比,如目标小文件仍大于子索引的原始文件大小,则继续向后累加若干个子索引的原始文件大小,直至目标小文件小于子索引的原始文件大小,此时,保留所有满足条件的子索引,并记录。

12、进一步地,所述根据所记录子索引,将目标小文件进行拆分,得到拆分后的子文件,包括:根据所记录子索引的数量、各个子索引的原始空间地址和原始文件大小,对应将目标小文件根据原始空间地址和文件大小进行拆分,得到拆分后的子文件。

13、进一步地,所述根据记录的子索引,将目标小文件进行拆分,得到拆分后的子文件;其中,子文件与记录的子索引的数量一致。

14、进一步地,一种计算机可读存储介质,存储有计算机程序,其特征在于:所述计算机程序使计算机执行如上述的一种分布式块存储小文件聚合索引管理方法。

15、进一步地,一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时,实现如上述的一种分布式块存储小文件聚合索引管理方法。

16、本专利技术的有益效果是:

17、本专利技术通过将小文件聚合后索引信息的原始结构化数据分成数个虚拟组的形式,可将数据库中索引信息降低一个甚至数个数量级,极大提升了索引信息存储与检索效率;通过对索引信息检索的优化,可实现非结构化索引的快速查询,索引查询效率从原 o(n)提升至 o(log n),进而极大降低聚合文件读取时延。

本文档来自技高网...

【技术保护点】

1.一种分布式块存储小文件聚合索引管理方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种分布式块存储小文件聚合索引管理方法,其特征在于,所述将小文件聚合后索引信息的原始数据基于原始空间地址按预设的固定空间大小划分虚拟组,包括:预设固定空间大小作为分割单元SEG_SIZE,将小文件聚合后索引信息的原始数据,根据该原始数据中的原始空间地址按照预设的分割单元,分割成数个虚拟组。

3.根据权利要求1所述的一种分布式块存储小文件聚合索引管理方法,其特征在于,所述根据原始空间地址和固定空间大小计算出每组虚拟组的关键词,包括:根据原始空间地址OFFSET和固定空间大小SEG_SIZE,将原始空间地址OFFSET整除固定空间大小SEG_SIZE,则关键词KEY=OFFSET/SEG_SIZE,以对应计算出每组虚拟组的关键词KEY。

4.根据权利要求3所述的一种分布式块存储小文件聚合索引管理方法,其特征在于,所述计算各个子索引的相对地址空间偏移,包括:计算各个子索引的原始空间地址OFFSET整除固定空间大小SEG_SIZE之后的余数,所得的余数对应为各个子索引的相对地址空间偏移。

5.根据权利要求1所述的一种分布式块存储小文件聚合索引管理方法,其特征在于,所述存入数据库中,包括:将虚拟组以KEY/VALUE形式存入数据库中,其中KEY为关键词,VALUE为子索引。

6.根据权利要求1所述的一种分布式块存储小文件聚合索引管理方法,其特征在于,所述在检索出的虚拟组中,根据原始空间地址和原始文件大小的比对,筛选所有满足条件的子索引,并记录,包括:在检索出的虚拟组中,通过二分法查找出第一个原始空间地址大于目标小文件的原始空间地址的子索引,并记录;对比目标小文件与上述所得子索引的原始文件大小,如目标小文件的原始文件大小小于子索引的原始文件大小,则保留记录该子索引,如目标小文件大于子索引的原始文件大小,则将位于该子索引的原始文件大小与其前后的各一个子索引的原始文件大小进行累加,并将累加结果与目标小文件的原始文件大小进行对比,如目标小文件仍大于子索引的原始文件大小,则继续向后累加若干个子索引的原始文件大小,直至目标小文件小于子索引的原始文件大小,此时,保留所有满足条件的子索引,并记录。

7.根据权利要求1所述的一种分布式块存储小文件聚合索引管理方法,其特征在于,所述根据所记录子索引,将目标小文件进行拆分,得到拆分后的子文件,包括:根据所记录子索引的数量、各个子索引的原始空间地址和原始文件大小,对应将目标小文件根据原始空间地址和文件大小进行拆分,得到拆分后的子文件。

8.根据权利要求1所述的一种分布式块存储小文件聚合索引管理方法,其特征在于:所述根据记录的子索引,将目标小文件进行拆分,得到拆分后的子文件;其中,子文件与记录的子索引的数量一致。

9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序使计算机执行如权利要求1-8任一项所述的一种分布式块存储小文件聚合索引管理方法。

10.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时,实现如权利要求1-8任一项所述的一种分布式块存储小文件聚合索引管理方法。

...

【技术特征摘要】

1.一种分布式块存储小文件聚合索引管理方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的一种分布式块存储小文件聚合索引管理方法,其特征在于,所述将小文件聚合后索引信息的原始数据基于原始空间地址按预设的固定空间大小划分虚拟组,包括:预设固定空间大小作为分割单元seg_size,将小文件聚合后索引信息的原始数据,根据该原始数据中的原始空间地址按照预设的分割单元,分割成数个虚拟组。

3.根据权利要求1所述的一种分布式块存储小文件聚合索引管理方法,其特征在于,所述根据原始空间地址和固定空间大小计算出每组虚拟组的关键词,包括:根据原始空间地址offset和固定空间大小seg_size,将原始空间地址offset整除固定空间大小seg_size,则关键词key=offset/seg_size,以对应计算出每组虚拟组的关键词key。

4.根据权利要求3所述的一种分布式块存储小文件聚合索引管理方法,其特征在于,所述计算各个子索引的相对地址空间偏移,包括:计算各个子索引的原始空间地址offset整除固定空间大小seg_size之后的余数,所得的余数对应为各个子索引的相对地址空间偏移。

5.根据权利要求1所述的一种分布式块存储小文件聚合索引管理方法,其特征在于,所述存入数据库中,包括:将虚拟组以key/value形式存入数据库中,其中key为关键词,value为子索引。

6.根据权利要求1所述的一种分布式块存储小文件聚合索引管理方法,其特征在于,所述在检索出的虚拟组中,根据原始空间地址和原始文件大小的比对,筛选所有满足条件的子索引,并记录,包括...

【专利技术属性】
技术研发人员:李佳徐刘伟锋李博奇牛鹏举吴伟
申请(专利权)人:中电信数智科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1