本发明专利技术公开了一种用于键值存储系统的数据写入装置,键值存储系统建立于叠瓦式磁记录SMR硬盘中,包括:指令接收单元,用于接收写入指令,写入指令用于指示将键值数据对象写入SMR硬盘,SMR硬盘包含多个硬盘分区和一保护区,保护区存储一固件;判断单元,用于判断键值数据对象欲写入位置是否位于保护区,若欲写入位置位于保护区,取消将该键值数据写入SMR硬盘,若欲写入位置位于硬盘分区,判断键值数据对象在SMR硬盘中对应的第一目标分区;写入单元,用于将键值数据对象切分成至少一个子数据对象,并将至少一个子数据对象顺序写入第一目标分区中的相邻磁轨。本发明专利技术提供一种防写机制,防止固件被不当改写。同时缓解硬盘碎片化程度,提高系统垃圾回收效率。
【技术实现步骤摘要】
本专利技术涉及一种数据存储
,特别涉及一种用于键值存储系统的数据写入装置及方法。
技术介绍
随着硬盘技术的发展,叠瓦式磁记录(SMR)技术已成为一种提高磁盘存储密度的技术,其在写入新的磁道时会覆盖一部分的已有磁道,这样已有磁道就会变窄,从而提高了数据存储密度。但与此同时,限制了数据只能顺序写入,对于随机读写只能先读入数据、修改,然后再整块顺序写入。那些希望保存住的信息也会被覆盖住,无法保护。并且删除数据时也是针对整块键值数据对象进行操作,而在SMR硬盘中,同一个键值数据对象的子数据对象可能分散在多个硬盘分区,或者同一个硬盘分区上不连续的物理区域,因此,删除键值数据对象会在SMR硬盘上造成多个空洞,使得硬盘碎片化严重,影响存储系统垃圾回收率。
技术实现思路
为解决存储数据易被覆盖无法保护和磁盘碎片化严重、数据存储不集中而影响垃圾回收率的问题,本专利技术提供了一种用于键值存储系统的数据写入装置及方法。根据本专利技术的一个方面,提供了一种用于键值存储系统的数据写入装置,键值存储系统建立于叠瓦式磁记录SMR硬盘中,包括:指令接收单元,用于接收写入指令,写入指令用于指示将键值数据对象写入SMR硬盘,SMR硬盘包含多个硬盘分区和一保护区,保护区存储一固件;判断单元,用于判断键值数据对象欲写入位置是否位于保护区,若欲写入位置位于保护区,取消将该键值数据写入SMR硬盘,若欲写入位置位于硬盘分区,判断多个硬盘分区中剩余空间不小于键值数据对象的数据量的硬盘分区,并将其中一个剩余空间不小于键值数据对象的数据量的硬盘分区确定为键值数据对象在SMR硬盘中对应的第一目标分区键值数据对象在SMR硬盘中对应的第一目标分区;写入单元,用于将键值数据对象切分成至少一个子数据对象,并将至少一个子数据对象顺序写入第一目标分区中的相邻磁轨。本专利技术中的数据写入装置提供一种防写机制,以防止固件被不当改写。同时,通过接收用于指示将键值数据对象写入SMR硬盘的写入指令,在SMR多个硬盘分区中确定第一目标分区,并在确定的该第一目标分区中写入该键值数据对象包含的至少一个子数据对象,在后续删除该键值数据时,形成的无效数据也会相对集中,不会造成过多的空洞,缓解硬盘碎片化程度,提高系统的垃圾回收效率。在一些实施方式中,多个硬盘分区中确定第一目标分区时,判断单元判断SMR硬盘中是否已存在与键值数据对象具有相同的对象标识的数据:若判断结果为SMR硬盘中已存在与键值数据对象具有相同的对象标识的数据,则将与键值数据对象具有相同的对象标识的数据所在的、剩余空间不小于键值数据对象的数据量的硬盘分区确定为第一目标分区。若判断结果为SMR硬盘中不存在与键值数据对象具有相同的对象标识的数据,则将多个硬盘分区中一个剩余空间不小于键值数据对象的数据量的硬盘分区确定为第一目标分区。由此,对键值数据对象进行写入时,可以优先将该键值数据对象写入到其它对应相同的对象标识的子数据对象所在的硬盘分区中,从而使对应相同的对象标识的数据更加集中,进一步缓解了删除数据时,SMR硬盘的碎片化程度。在一些实施方式中,用于键值存储系统的数据写入装置还包括搬移单元,键值数据对象包含的至少一个子数据对象各自对应键值数据对象的对象标识,判断单元还用于在对SMR硬盘中的无效数据进行垃圾回收时,判断对应对象标识的各个有效的子数据对象是否存储于同一个硬盘分区,无效数据是后续删除键值数据对象中的部分或全部子数据对象时形成的;若判断单元的判断结果为各个有效的子数据对象未存储于同一个硬盘分区,则在多个硬盘分区中确定第二目标分区;搬移单元用于将各个有效的子数据对象搬移到第二目标分区中的相邻磁轨。由此,在统一进行垃圾回收时,可以将有效数据搬移到一起,使键值数据对象的子数据对象保持集中存储的状态,进一步缓解SMR硬盘的碎片化程度,提高垃圾回收效率。并且,直接采用判断单元对SMR硬盘中的无效数据进行垃圾回收,简化了装置,进一步提高了垃圾回收效率。在一些实施方式中,在多个硬盘分区中确定第二目标分区时,判断单元,用于判断存储各个有效的子数据对象的硬盘分区中,是否存在满足预设条件的硬盘分区,预设条件为:硬盘分区的剩余空间不小于存储于硬盘分区之外的其它有效的子数据对象的数据量之和;若判断结果为存在满足预设条件的硬盘分区,则将满足预设条件的硬盘分区确定为第二目标分区;若判断结果为不存在满足预设条件的硬盘分区,则将多个硬盘分区中一个剩余空间不小于各个有效的子数据对象的数据量之和的硬盘分区确定为第二目标分区。由此,若存在满足预设条件的硬盘分区,优先将对应同一对象标识的各个有效的子数据对象搬移到已经存储有部分对应该对象标识的有效子数据对象的硬盘分区中,减少数据搬移量。根据本专利技术的另一个方面,提供了一种用于上述的用于键值存储系统的数据写入装置的数据写入方法,包括如下步骤:S1:接收写入指令,写入指令用于指示将键值数据对象写入SMR硬盘,SMR硬盘包含多个硬盘分区和一保护区,保护区存储一固件;S2:判断键值数据对象欲写入位置是否位于保护区,若欲写入位置位于保护区,取消将该键值数据写入SMR硬盘,若欲写入位置位于硬盘分区,判断多个硬盘分区中剩余空间不小于键值数据对象的数据量的硬盘分区,并将其中一个剩余空间不小于键值数据对象的数据量的硬盘分区确定为键值数据对象在SMR硬盘中对应的第一目标分区;S3:将键值数据对象切分成至少一个子数据对象,并将至少一个子数据对象顺序写入第一目标分区中的相邻磁轨。本专利技术的数据写入方法可以防止固件被不当改写。同时,通过接收用于指示将键值数据对象写入SMR硬盘的写入指令,在SMR多个硬盘分区中确定第一目标分区,并在确定的该第一目标分区中写入该键值数据对象包含的至少一个子数据对象,在后续删除该键值数据时,形成的无效数据也会相对集中,不会造成过多的空洞,缓解硬盘碎片化程度,提高系统的垃圾回收效率。在一些实施方式中,在多个硬盘分区中确定第一目标分区时,判断SMR硬盘中是否已存在与键值数据对象具有相同的对象标识的数据:若判断结果为SMR硬盘中已存在与键值数据对象具有相同的对象标识的数据,则将述键值数据对象具有相同的对象标识的数据所在的、剩余空间不小于键值数据对象的数据量的硬盘分区确定为第一目标分区;若判断结果为SMR硬盘中不存在与键值数据对象具有相同的对象标识的数据,则将多个硬盘分区中一个剩余空间不小于键值数据对象的数据量的硬盘分区确定为第一目标分区。由此,对键值数据对象进行写入时,可以优先将该键值数据对象写入到其它对应相同的对象标识的子数据对象所在的硬盘分区中,从而使对应相同的对象标识的数据更加集中,进一步缓解了删除数据时,SMR硬盘的碎片化程度。在一些实施方式中,键值数据对象包含的至少一个子数据对象各自对应键值数据对象的对象标识,方法还包括:S4:在对SMR硬盘中的无效数据进行垃圾回收时,判断对应对象标识的各个有效的子数据对象是否存储于同一个硬盘分区,无效数据是后续删除键值数据对象中的部分或全部子数据对象时形成的;若判断结果为各个有效的子数据对象未存储于同一个硬盘分区,则在多个硬盘分区中确定第二目标分区;将各个有效的子数据对象搬移到第二目标分区中的相邻磁轨。由此,在统一进行垃圾回收时,可以将有效数据搬移到一起,使键值数据对象的本文档来自技高网...
【技术保护点】
一种用于键值存储系统的数据写入装置,所述键值存储系统建立于叠瓦式磁记录SMR硬盘中,其特征在于,所述数据写入装置包括:指令接收单元,用于接收写入指令,所述写入指令用于指示将键值数据对象写入所述SMR硬盘,所述SMR硬盘包含多个硬盘分区和一保护区,所述保护区存储一固件;判断单元,用于判断键值数据对象欲写入位置是否位于所述保护区,若所述欲写入位置位于所述保护区,取消将该键值数据写入所述SMR硬盘;若所述欲写入位置位于所述硬盘分区,判断多个硬盘分区中剩余空间不小于键值数据对象的数据量的硬盘分区,并将其中一个剩余空间不小于键值数据对象的数据量的硬盘分区确定为所述键值数据对象在SMR硬盘中对应的第一目标分区;写入单元,用于将键值数据对象切分成至少一个子数据对象,并将至少一个子数据对象顺序写入所述第一目标分区中的相邻磁轨。
【技术特征摘要】
1.一种用于键值存储系统的数据写入装置,所述键值存储系统建立于叠瓦式磁记录SMR硬盘中,其特征在于,所述数据写入装置包括:指令接收单元,用于接收写入指令,所述写入指令用于指示将键值数据对象写入所述SMR硬盘,所述SMR硬盘包含多个硬盘分区和一保护区,所述保护区存储一固件;判断单元,用于判断键值数据对象欲写入位置是否位于所述保护区,若所述欲写入位置位于所述保护区,取消将该键值数据写入所述SMR硬盘;若所述欲写入位置位于所述硬盘分区,判断多个硬盘分区中剩余空间不小于键值数据对象的数据量的硬盘分区,并将其中一个剩余空间不小于键值数据对象的数据量的硬盘分区确定为所述键值数据对象在SMR硬盘中对应的第一目标分区;写入单元,用于将键值数据对象切分成至少一个子数据对象,并将至少一个子数据对象顺序写入所述第一目标分区中的相邻磁轨。2.根据权利要求1所述的用于键值存储系统的数据写入装置,其特征在于,在所述多个硬盘分区中确定第一目标分区时,所述判断单元判断所述SMR硬盘中是否已存在与所述键值数据对象具有相同的对象标识的数据:若判断结果为所述SMR硬盘中已存在与所述键值数据对象具有相同的对象标识的数据,则将与所述键值数据对象具有相同的对象标识的数据所在的、剩余空间不小于所述键值数据对象的数据量的硬盘分区确定为所述第一目标分区;若所述SMR硬盘中不存在与所述键值数据对象具有相同的对象标识的数据,则将所述多个硬盘分区中一个剩余空间不小于所述键值数据对象的数据量的硬盘分区确定为所述第一目标分区。3.根据权利要求1所述的用于键值存储系统的数据写入装置,其特征在于,还包括搬移单元;所述键值数据对象包含的至少一个子数据对象各自对应所述键值数据对象的对象标识,所述判断单元还用于在对所述SMR硬盘中的无效数据进行垃圾回收时,判断对应所述对象标识的各个有效的子数据对象是否存储于同一个硬盘分区,所述无效数据是后续删除所述键值数据对象中的部分或全部子数据对象时形成的;若所述判断单元的判断结果为所述各个有效的子数据对象未存储于同一个硬盘分区,则在所述多个硬盘分区中确定第二目标分区;所述搬移单元,用于将所述各个有效的子数据对象搬移到所述第二目标分区中的相邻磁轨。4.根据权利要求3所述的用于键值存储系统的数据写入装置,其特征在于,在所述多个硬盘分区中确定第二目标分区时,所述判断单元,用于判断存储所述各个有效的子数据对象的硬盘分区中,是否存在满足预设条件的硬盘分区,所述预设条件为:所述硬盘分区的剩余空间不小于存储于所述硬盘分区之外的其它有效的子数据对象的数据量之和;若判断结果为存在满足所述预设条件的硬盘分区,则将所述满足所述预设条件的硬盘分区确定为所述第二目标分区;若判断结果为不存在满足所述预设条件的硬盘分区,则将所述多个硬盘分区中一个剩余空间...
【专利技术属性】
技术研发人员:曹蕊,
申请(专利权)人:曹蕊,
类型:发明
国别省市:河北;13
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。