数据写入装置及方法_4

文档序号:9910610阅读:来源:国知局
确定模块1164b相同或相似的功能。
[0084]写入单元303,具有与写入模块1164c相同或相似的功能。
[0085]检测单元304,具有与检测模块1164d相同或相似的功能。
[0086]搬移单元305,具有与搬移模块1164e相同或相似的功能。
[0087]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0088]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种数据写入装置,其特征在于,用于键值存储系统,所述键值存储系统建立于叠瓦式磁记录SMR硬盘中,所述装置包括: 指令接收单元,用于接收写入指令,所述写入指令用于指示将键值数据对象写入所述SMR硬盘,所述SMR硬盘包含多个硬盘分区; 分区确定单元,用于在所述多个硬盘分区中确定第一目标分区; 写入单元,用于将所述键值数据对象切分成至少一个子数据对象,并将所述至少一个子数据对象顺序写入所述第一目标分区中的相邻磁轨。2.根据权利要求1所述的装置,其特征在于,在所述多个硬盘分区中确定第一目标分区时,所述分区确定单元,用于判断所述SMR硬盘中是否已存在与所述键值数据对象具有相同的对象标识的数据;若判断结果为所述SMR硬盘中已存在与所述键值数据对象具有相同的对象标识的数据,则将与所述键值数据对象具有相同的对象标识的数据所在的、剩余空间不小于所述键值数据对象的数据量的硬盘分区确定为所述第一目标分区。3.根据权利要求2所述的装置,其特征在于,在所述多个硬盘分区中确定第一目标分区时,所述分区确定单元,还用于若判断结果为所述SMR硬盘中不存在与所述键值数据对象具有相同的对象标识的数据,则将所述多个硬盘分区中一个剩余空间不小于所述键值数据对象的数据量的硬盘分区确定为所述第一目标分区。4.根据权利要求1所述的装置,其特征在于,所述键值数据对象包含的至少一个子数据对象各自对应所述键值数据对象的对象标识,所述装置还包括: 检测单元,用于在对所述SMR硬盘中的无效数据进行垃圾回收时,检测对应所述对象标识的各个有效的子数据对象是否存储于同一个硬盘分区; 所述分区确定单元,还用于若所述检测单元的检测结果为所述各个有效的子数据对象未存储于同一个硬盘分区,则在所述多个硬盘分区中确定第二目标分区; 搬移单元,用于将所述各个有效的子数据对象搬移到所述第二目标分区中的相邻磁轨。5.根据权利要求4所述的装置,其特征在于,在所述多个硬盘分区中确定第二目标分区时,所述分区确定单元,用于判断存储所述各个有效的子数据对象的硬盘分区中,是否存在满足预设条件的硬盘分区,所述预设条件为:所述硬盘分区的剩余空间不小于存储于所述硬盘分区之外的其它有效的子数据对象的数据量之和;若判断结果为存在满足所述预设条件的硬盘分区,则将所述满足所述预设条件的硬盘分区确定为所述第二目标分区。6.根据权利要求5所述的装置,其特征在于,在所述多个硬盘分区中确定第二目标分区时,所述分区确定单元,还用于若判断结果为不存在满足所述预设条件的硬盘分区,则将所述多个硬盘分区中一个剩余空间不小于所述各个有效的子数据对象的数据量之和的硬盘分区确定为所述第二目标分区。7.一种数据写入方法,其特征在于,用于键值存储系统,所述键值存储系统建立于叠瓦式磁记录SMR硬盘中,所述方法包括: 接收写入指令,所述写入指令用于指示将键值数据对象写入所述SMR硬盘,所述SMR硬盘包含多个硬盘分区; 在所述多个硬盘分区中确定第一目标分区; 将所述键值数据对象切分成至少一个子数据对象,并将所述至少一个子数据对象顺序写入所述第一目标分区中的相邻磁轨。8.根据权利要求7所述的方法,其特征在于,所述在所述多个硬盘分区中确定第一目标分区,包括: 判断所述SMR硬盘中是否已存在与所述键值数据对象具有相同的对象标识的数据; 若判断结果为所述SMR硬盘中已存在与所述键值数据对象具有相同的对象标识的数据,则将与所述键值数据对象具有相同的对象标识的数据所在的、剩余空间不小于所述键值数据对象的数据量的硬盘分区确定为所述第一目标分区。9.根据权利要求8所述的方法,其特征在于,所述在所述多个硬盘分区中确定第一目标分区,还包括: 若判断结果为所述SMR硬盘中不存在与所述键值数据对象具有相同的对象标识的数据,则将所述多个硬盘分区中一个剩余空间不小于所述键值数据对象的数据量的硬盘分区确定为所述第一目标分区。10.根据权利要求7所述的方法,其特征在于,所述键值数据对象包含的至少一个子数据对象各自对应所述键值数据对象的对象标识,所述方法还包括: 在对所述SMR硬盘中的无效数据进行垃圾回收时,检测对应所述对象标识的各个有效的子数据对象是否存储于同一个硬盘分区; 若检测结果为所述各个有效的子数据对象未存储于同一个硬盘分区,则在所述多个硬盘分区中确定第二目标分区; 将所述各个有效的子数据对象搬移到所述第二目标分区中的相邻磁轨。11.根据权利要求10所述的方法,其特征在于,所述在所述多个硬盘分区中确定第二目标分区,包括: 判断存储所述各个有效的子数据对象的硬盘分区中,是否存在满足预设条件的硬盘分区,所述预设条件为:所述硬盘分区的剩余空间不小于存储于所述硬盘分区之外的其它有效的子数据对象的数据量之和; 若判断结果为存在满足所述预设条件的硬盘分区,则将所述满足所述预设条件的硬盘分区确定为所述第二目标分区。12.根据权利要求11所述的方法,其特征在于,所述在所述多个硬盘分区中确定第二目标分区,还包括: 若判断结果为不存在满足所述预设条件的硬盘分区,则将所述多个硬盘分区中一个剩余空间不小于所述各个有效的子数据对象的数据量之和的硬盘分区确定为所述第二目标分区。
【专利摘要】本发明公开了一种数据写入方法,属于数据存储技术领域。用于键值存储系统,所述键值存储系统建立于叠瓦式磁记录SMR硬盘中,所述方法包括:接收写入指令,所述写入指令用于指示将键值数据对象写入所述SMR硬盘,所述SMR硬盘包含多个硬盘分区;在所述多个硬盘分区中确定第一目标分区;将所述键值数据对象切分成至少一个子数据对象,并将所述至少一个子数据对象顺序写入所述第一目标分区中的相邻磁轨,在后续删除该键值数据对象中的部分或者全部子数据对象时,形成的无效数据也会相对集中,不会在SMR硬盘上造成过多的空洞,缓解了SMR硬盘的碎片化程度,从而提高系统的垃圾回收效率。
【IPC分类】G06F3/06
【公开号】CN105677243
【申请号】CN201511031159
【发明人】薛贞文, 夏勇
【申请人】华为技术有限公司
【公开日】2016年6月15日
【申请日】2015年12月31日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1