【技术实现步骤摘要】
数据的追加写方法、装置、设备以及存储介质
[0001]本公开涉及计算机领域,具体涉及云存储
,尤其涉及数据的追加写方法、装置、设备以及存储介质。
技术介绍
[0002]目前,主流非易失性存储介质(SSD/HDD)追加写性能远高于随机写。因此,追加写的存储系统往往能够充分发挥硬件性能,很多存储系统都会采用追加写盘的方式提高系统的写入效率。但是,由于追加写改变了原有的数据位置,因此,需要维护一个逻辑地址到物理地址的映射关系,即索引信息。而索引信息的存储和维护方式,将严重影响系统的访问性能。
技术实现思路
[0003]本公开提供了一种数据的追加写方法、装置、设备以及存储介质。
[0004]根据本公开的第一方面,提供了一种数据的追加写方法,包括:获取待写入数据,将待写入数据写到磁盘;在内存中写入待写入数据的第一索引信息;响应于确定第二索引信息的数目大于第一预设阈值,将第二索引信息存储在存储硬件中,其中,第二索引信息中包括第一索引信息;在内存中写入与第二索引信息对应的第一标识信息。
[0005]根据本公开的第二方面,提供了一种数据的追加写装置,包括:第一获取模块,被配置成获取待写入数据,将待写入数据写到磁盘;第一写入模块,被配置成在内存中写入待写入数据的第一索引信息;存储模块,被配置成响应于确定第二索引信息的数目大于第一预设阈值,将第二索引信息存储在存储硬件中,其中,第二索引信息中包括第一索引信息;第二写入模块,被配置成在内存中写入与第二索引信息对应的第一标识信息。
[0006]根 ...
【技术保护点】
【技术特征摘要】
1.一种数据的追加写方法,包括:获取待写入数据,将所述待写入数据写到磁盘;在内存中写入所述待写入数据的第一索引信息;响应于确定第二索引信息的数目大于第一预设阈值,将所述第二索引信息存储在存储硬件中,其中,所述第二索引信息中包括所述第一索引信息;在所述内存中写入与所述第二索引信息对应的第一标识信息。2.根据权利要求1所述的方法,其中,所述响应于确定第二索引信息的数目大于第一预设阈值,将所述第二索引信息存储在存储硬件中,包括:响应于确定所述第二索引信息的数目大于所述第一预设阈值,将所述第二索引信息进行打包,得到索引集合,其中,所述第二索引信息为历史写入区域中逻辑地址相邻的至少一个索引信息;将所述索引集合存储在所述存储硬件中。3.根据权利要求2所述的方法,还包括:响应于确定所述第二索引信息的数目小于或等于所述第一预设阈值,结束所述待写入数据的写入过程。4.根据权利要求1
‑
3中任一项所述的方法,还包括:响应于接收到数据读取请求,获取所述数据读取请求中的逻辑地址;响应于在所述内存中获取到所述逻辑地址对应的第三索引信息,从所述磁盘中读取所述第三索引信息指向的数据。5.根据权利要求4所述的方法,还包括:响应于在所述内存中获取到所述逻辑地址对应的第二标识信息,从所述存储硬件中读取所述第二标识信息对应的多个索引信息;从所述多个索引信息中确定所述逻辑地址对应的目标索引信息;从所述磁盘中读取所述目标索引信息指向的数据。6.根据权利要求5所述的方法,还包括:响应于未在所述内存中获取到所述第三索引信息或所述第二标识信息,返回空数据。7.根据权利要求1
‑
6中任一项所述的方法,还包括:按照预设周期,将所述内存中的索引信息以检查点的形式写入所述存储硬件,其中,所述检查点用于在系统重启时,从所述存储硬件重新加载索引信息到内存的标记。8.根据权利要求1
‑
7中任一项所述的方法,还包括:将所述磁盘和/或所述存储硬件中的数据流进行分段,得到至少两个数据段;响应于确定所述至少两个数据段中的任一数据段中的空洞个数超出第二预设阈值,将该数据段中的数据和/或索引信息迁移到所述数据流的尾部,清空该数据段的占用空间。9.根据权利要求1
‑
8中任一项所述的方法,其中,所述存储硬件为Apache Pass AEP。10.一种数据的追加写装置,包括:第一获取模块,被配置成获取待写入数据,将所述待写入数据写到磁盘;第一写入模块,被配置成在所述内存中写入所述待写入数据的第一索引信息;存储模块,被配置成响应于确定第二索引信息的数目大于第一预设阈值,将所述第二索引信息存储在存储硬件中,其中,所述第二索引信息中包括所述第一索引信息;
第二写入模块,被配置成在所述内存中写入与所述第二索引信息对应的第一标识信息。11.根据权利要求10所述的装置,其中,所述存...
【专利技术属性】
技术研发人员:易正利,
申请(专利权)人:北京百度网讯科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。