System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉数据存储,特别涉及一种基于位图的追加写场景下磁盘管理方法。
技术介绍
1、对于网络中的海量数据,通常会通过磁盘进行储存,当前,随机写系统对于大量随机写入操作只能提供有限的iops,无法满足高性能系统的存储系统性能需要;而rocksdb等追加写数据库主要局限于kv数据库等领域,不适合应用至存储系统,在读数据和垃圾回收方面不能快速筛选数据,存在数据筛选假阳性的问题,因此需要设计一种基于位图的追加写场景下磁盘管理方法,来解决这一问题。
技术实现思路
1、本专利技术的目的在于提供一种基于位图的追加写场景下磁盘管理方法,以解决上述
技术介绍
中提出的问题。
2、为实现上述目的,本专利技术提供如下技术方案:一种基于位图的追加写场景下磁盘管理方法,所述管理方法包括以下几个步骤:
3、第一步,进行数据准备,在memtable中临时缓存写入磁盘的数据,所述memtable包括data block、bitmap block和footer;
4、第二步,进行数据处理,记录所有操作对数据的修改,所有真正的修改过程必须发生在写入wal后,当系统崩溃或出现意外错误时,使用wal恢复丢失的数据;
5、第三步,进行数据保存,经过整理的memtable数据,达到一定量之后进行整理成为sstable存入磁盘;
6、第四步,接收读数据请求,接收到上级文件系统发来的读数据请求,按照逻辑地址计算地址所属块号,首先根据块号查询缓存,若查询到则直接返回数据;若
7、第五步,接收写数据请求,接收到上级文件系统发来的写数据请求,按照逻辑地址计算地址所属块号,首先根据块号将信息记录到wal,之后查询memtable的bitmap block的对应bit,若该bit为1,则直接将数据写入到memtable中,若该bit为0,则先将其置1,将计数器自增1,再将数据写入到memtable中,当计数器达到table的存储上限时,将memtable整理打包成sstable存入磁盘,并同时在内存中开辟新的memtable;
8、第六步,垃圾回收,将存入磁盘的sstable从上至下进行合并,使用位运算快捷筛选数据。
9、优选的,所述data block按key顺序存储value数据,所述bitmap block保存了key的bitmap信息,所述bitmap block包含data block中每个value的key,所述footer记录了bitmap block和data block在sstable内的索引信息。
10、优选的,所述bitmap block保存在sstable内。
11、优选的,所述第二步中的wall包括日志记录、提交记录、检测点和日志刷新;
12、所述日志记录在执行实际的数据修改操作之前,将操作记录到日志中;
13、所述提交记录在事务完成并准备提交时,在日志中记录一个提交记录,表示该事务已经成功完成,且对应的数据修改操作可以应用到实际的数据库中;
14、所述检测点用于保存当前数据库或文件系统状态的位置;
15、所述日志刷新确保数据的持久性,将日志缓冲区中的内容刷新到硬盘中。
16、优选的,所述key用于在sstable中进行查找和访问;所述value是与每个key关联的数据,可以是任意格式的信息。
17、优选的,所述第三步中的sstable包括文件偏移量、数据压缩和索引;
18、所述文件偏移量用于快速定位和读取sstable文件数据;
19、所述数据压缩用于sstable文件的数据压缩。
20、优选的,所述索引用于加速查找sstable文件中的数据。
21、优选的,所述第六步中的垃圾回收按照lsm-tree运行逻辑,当存入磁盘的sstable达到一定量后,将sstable从上至下进行合并。
22、优选的,所述垃圾回收包括标记阶段、清除阶段和压缩阶段;
23、所述标记阶段的垃圾回收器会从根对象开始遍历整个对象图,并标记所有可达的对象,这些可达对象被认为是活动对象,而未标记的对象则被视为垃圾;
24、所述清除阶段是垃圾回收器扫描堆内存中的所有对象,并清理掉未被标记的垃圾对象。
25、优选的,所述压缩阶段是活动对象被移动到内存的一端,用于为连续的内存块提供更大的可用空间。
26、本专利技术的技术效果和优点:
27、本专利技术利用bitmap block直接明确指示某一数据块是否存在与此sstable中,这一功能在读过程中可以帮助系统准确定位数据,免去索引直接定位数据在sstable中的准确位置,减少搜索过程或过滤器假阳导致的额外读操作,大幅减少耗时,在写过程中可以便捷统计写入的数据量和重复情况,在垃圾回收过程中可以使用位运算快捷筛选数据,加快速度,减少保留数据量,节省磁盘空间。
本文档来自技高网...【技术保护点】
1.一种基于位图的追加写场景下磁盘管理方法,其特征在于,所述管理方法包括以下几个步骤:
2.根据权利要求1所述的一种基于位图的追加写场景下磁盘管理方法,其特征在于,所述Data Block按Key顺序存储Value数据,所述BitMap Block保存了Key的BitMap信息,所述BitMap Block包含Data Block中每个value的Key,所述Footer记录了BitMap Block和DataBlock在SSTable内的索引信息。
3.根据权利要求2所述的一种基于位图的追加写场景下磁盘管理方法,其特征在于,所述BitMap Block保存在SSTable内。
4.根据权利要求1所述的一种基于位图的追加写场景下磁盘管理方法,其特征在于,所述第二步中的wall包括日志记录、提交记录、检测点和日志刷新;
5.根据权利要求2所述的一种基于位图的追加写场景下磁盘管理方法,其特征在于,所述Key用于在SSTable中进行查找和访问;所述Value是与每个Key关联的数据,可以是任意格式的信息。
6.根据权利要求1
7.根据权利要求6所述的一种基于位图的追加写场景下磁盘管理方法,其特征在于,所述索引用于加速查找SSTable文件中的数据。
8.根据权利要求1所述的一种基于位图的追加写场景下磁盘管理方法,其特征在于,所述第六步中的垃圾回收按照LSM-Tree运行逻辑,当存入磁盘的SSTable达到一定量后,将SSTable从上至下进行合并。
9.根据权利要求8所述的一种基于位图的追加写场景下磁盘管理方法,其特征在于,所述垃圾回收包括标记阶段、清除阶段和压缩阶段;
10.根据权利要求9所述的一种基于位图的追加写场景下磁盘管理方法,其特征在于,所述压缩阶段是活动对象被移动到内存的一端,用于为连续的内存块提供更大的可用空间。
...【技术特征摘要】
1.一种基于位图的追加写场景下磁盘管理方法,其特征在于,所述管理方法包括以下几个步骤:
2.根据权利要求1所述的一种基于位图的追加写场景下磁盘管理方法,其特征在于,所述data block按key顺序存储value数据,所述bitmap block保存了key的bitmap信息,所述bitmap block包含data block中每个value的key,所述footer记录了bitmap block和datablock在sstable内的索引信息。
3.根据权利要求2所述的一种基于位图的追加写场景下磁盘管理方法,其特征在于,所述bitmap block保存在sstable内。
4.根据权利要求1所述的一种基于位图的追加写场景下磁盘管理方法,其特征在于,所述第二步中的wall包括日志记录、提交记录、检测点和日志刷新;
5.根据权利要求2所述的一种基于位图的追加写场景下磁盘管理方法,其特征在于,所述key用于在sstable中进行...
【专利技术属性】
技术研发人员:寇宇宸,王小威,吴锜,高源,郎祎,倪思杰,
申请(专利权)人:天翼云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。