System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据合并方法、装置、电子设备及存储介质制造方法及图纸_技高网

一种数据合并方法、装置、电子设备及存储介质制造方法及图纸

技术编号:40338882 阅读:5 留言:0更新日期:2024-02-09 14:27
本发明专利技术实施例公开了一种数据合并方法、装置、电子设备及存储介质,包括:从多层sst文件存储区域中确定当前待合并层存储区域;当前待合并层存储区域存储sst文件;根据预设文件合并参数遍历当前待合并层存储区域,得到当前待合并层存储区域的多个待合并sst文件;将各待合并sst文件sst进行合并,得到合并sst文件。本发明专利技术实施例的技术方案能够解决现有sst文件数据合并时需要消耗大量资源并牺牲大量性能,以及合并处理的灵活性较低等问题,能够降低sst文件数据合并时消耗的资源和占用的性能,提高sst文件数据的合并效率和合并处理的灵活性。

【技术实现步骤摘要】

本专利技术实施例涉及数据处理,尤其涉及一种数据合并方法、装置、电子设备及存储介质


技术介绍

1、分布式对象存储系统的数据分为block数据和元数据,block数据即存储的对象内容数据,分布在多个节点上,并被元数据管理。元数据是描述对象的数据,包括对象的名称、大小、位置以及时间等信息。

2、分布式对象存储系统会使用元数据数据库对元数据进行存储和索引,市面上常见的数据存储为lsm(log structured-merge tree日志结构合并树)类存储引擎为facebook(互联网公司名称)开发的一个嵌入式kv存储引擎rocks db(存储引擎名称)。但是在rocksdb存储的元信息其实是key-value(键值对)的键值对,通常分布式对象存储系统需要有对数据的ttl(time to live生存时间)功能,会需要存储一个以写入时间戳为key(主键)的列族(以下称为time_index列族(以写入时间戳为键的列族)),用于反查存储对象进行过期。

3、但是由于rocks db的合并操作是在ln层中选择合适的sst(sorted string table排序字符串表)文件,然后再从ln+1层中选择有重叠的sst文件进行合并,然后再将合并后的sst文件放入ln+1层。而对于time index列族的文件,它们的键是连续递增的,因此不会与ln+1层中的sst文件有重叠。因此sst文件之间并不会相互合并,在长时间持续运行后会导致sst文件数急剧上升,最终会达到系统的文件数上限。

4、虽然rocks db提供了手动合并的接口,可以在适当的时候对sst文件进行合并。但是,由于rocks db的工作原理,并不能直接对非连续的sst文件进行合并。因此对于较大的sst文件,在合并时会消耗大量时间,导致程序性能下降。由此可见,目前对sst文件进行合并的方式,需要消耗大量内存资源以及牺牲大量性能,同时文件合并处理的灵活性也较低。


技术实现思路

1、本专利技术实施例提供一种数据合并方法、装置、电子设备及存储介质,能够降低sst文件数据合并时消耗的资源和占用的性能,提高sst文件数据的合并效率和合并处理的灵活性。

2、根据本专利技术的一方面,提供了一种数据合并方法,包括:

3、从多层sst文件存储区域中确定当前待合并层存储区域;其中,当前待合并层存储区域存储排序字符串表sst文件;

4、根据预设文件合并参数遍历当前待合并层存储区域,得到当前待合并层存储区域的多个待合并sst文件;

5、将各待合并sst文件进行合并,得到合并sst文件。

6、根据本专利技术的另一方面,一种数据合并装置,包括:

7、待合并层存储区域确定模块,用于从多层sst文件存储区域中确定当前待合并层存储区域;其中,当前待合并层存储区域存储排序字符串表sst文件;

8、待合并sst文件确定模块,用于根据预设文件合并参数遍历当前待合并层存储区域,得到当前待合并层存储区域的多个待合并sst文件;

9、sst文件合并模块,用于将各待合并sst文件进行合并,得到合并sst文件。

10、根据本专利技术的另一方面,提供了一种电子设备,电子设备包括:

11、至少一个处理器;以及

12、与至少一个处理器通信连接的存储器;其中,

13、存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本专利技术任一实施例的数据合并方法。

14、根据本专利技术的另一方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现本专利技术任一实施例的数据合并方法。

15、本专利技术实施例通过从多层sst文件存储区域中确定当前待合并层存储区域后,根据预设文件合并参数对当前待合并层的存储区域进行遍历,得到多个满足合并条件的待合并sst文件,然后将多个满足合并条件的待合并sst文件进行合并,解决现有sst文件数据合并时需要消耗大量资源并牺牲大量性能,以及合并处理的灵活性较低等问题,能够降低sst文件数据合并时消耗的资源和占用的性能,提高sst文件数据的合并效率和合并处理的灵活性。

16、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。

本文档来自技高网...

【技术保护点】

1.一种数据合并方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述根据预设文件合并参数遍历所述当前待合并层存储区域,得到所述当前待合并层存储区域的多个待合并sst文件,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述预设文件合并参数从所述当前待合并层存储区域的首个sst文件开始遍历,得到所述待合并sst文件,包括:

4.根据权利要求3所述的方法,其特征在于,还包括:

5.根据权利要求3所述的方法,其特征在于,还包括:

6.根据权利要求5所述的方法,其特征在于,所述根据各组分割待合并sst文件的文件数量确定所述待合并sst文件,包括:

7.根据权利要求5所述的方法,其特征在于,所述确定文件分割数量,包括:

8.根据权利要求1所述的方法,其特征在于,在所述确定当前待合并层存储区域之前,还包括:

9.一种数据合并装置,其特征在于,包括:

10.一种电子设备,其特征在于,所述电子设备包括:

11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-8中任一所述的数据合并方法。

...

【技术特征摘要】

1.一种数据合并方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述根据预设文件合并参数遍历所述当前待合并层存储区域,得到所述当前待合并层存储区域的多个待合并sst文件,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述预设文件合并参数从所述当前待合并层存储区域的首个sst文件开始遍历,得到所述待合并sst文件,包括:

4.根据权利要求3所述的方法,其特征在于,还包括:

5.根据权利要求3所述的方法,其特征在于,还包括:

6.根据权利要求5所述的方法,其特征...

【专利技术属性】
技术研发人员:孟曦东
申请(专利权)人:北京博睿宏远数据科技股份有限公司
类型:发明
国别省市:

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

1