【技术实现步骤摘要】
一种数据下刷方法、装置、设备及可读存储介质
本申请涉及全闪存储
,更具体地说,涉及一种数据下刷方法、装置、设备及计算机可读存储介质。
技术介绍
全闪存储具有高性能、灵活等特点,是存储发展的一个重要方向,其一般采用追加写方式写入数据,即向同一个逻辑地址写入数据时每次都在一个新地方,旧数据不会被覆盖,而是通过垃圾回收进行处理。全闪存储在处理IO输出的过程中,由于采用了追加写并凑满条带下刷的方式进行实现,因此,需要设置一个等待时间,以便汇总足够多的数据来凑满条带,同时为了避免长时间无法凑满条带,还需增加一个超时时间以在长时间无法凑满条带时也可以完成数据的下刷。目前,对于重删率比较高的场景,由于下发的大量IO数据可能存在具有相同指纹值的IO数据,因此,对于具有相同指纹值的IO数据就需要待第一个IO数据真正完整下刷写盘之后才能依次处理其余与其指纹值相同且在排队的IO数据,以避免重复记录指纹值(即实现重删)或IO数据未真正写盘便返回等问题。但是,由于第一个IO数据在下刷写盘的过程中,新接收到的与其指纹值相同的IO数据均在排 ...
【技术保护点】
1.一种数据下刷方法,其特征在于,包括:/n接收IO并计算所述IO的指纹值,判断元数据中是否存在与所述IO的指纹值相同的指纹值;/n若不存在相同的指纹值,则判断是否存在与所述IO的指纹值相同且正在执行写盘的IO,若是,则将接收到的所述IO存放在所述正在执行写盘的IO的指纹值对应的链表中;/n当所述链表中的IO数量达到预设值时,根据所述链表中的IO数量对所述正在执行写盘的IO对应的原设定超时时间进行调整,以得到调整后超时时间;其中,所述调整后超时时间短于所述原设定超时时间,且IO数量多的链表对应的正在执行写盘的IO的调整后超时时间小于IO数量少的链表对应的正在执行写盘的IO的 ...
【技术特征摘要】 【专利技术属性】
1.一种数据下刷方法,其特征在于,包括:
接收IO并计算所述IO的指纹值,判断元数据中是否存在与所述IO的指纹值相同的指纹值;
若不存在相同的指纹值,则判断是否存在与所述IO的指纹值相同且正在执行写盘的IO,若是,则将接收到的所述IO存放在所述正在执行写盘的IO的指纹值对应的链表中;
当所述链表中的IO数量达到预设值时,根据所述链表中的IO数量对所述正在执行写盘的IO对应的原设定超时时间进行调整,以得到调整后超时时间;其中,所述调整后超时时间短于所述原设定超时时间,且IO数量多的链表对应的正在执行写盘的IO的调整后超时时间小于IO数量少的链表对应的正在执行写盘的IO的调整后超时时间;
判断所述正在执行写盘的IO等待下刷的时间是否达到对应的所述调整后超时时间,若达到,则对所述正在执行写盘的IO进行下刷。
2.根据权利要求1所述的数据下刷方法,其特征在于,当所述链表中的IO数量大于预设值时,根据所述链表中的IO数量对所述正在执行写盘的IO对应的原设定超时时间进行调整,包括:
根据所述链表中的IO数量为所述正在执行写盘的IO设置优先级;其中,IO数量多的链表对应的正在执行写盘的IO的优先级高于IO数量少的链表对应的正在执行写盘的IO的优先级;
判断所述正在执行写盘的IO的优先级是否达到第一阈值,若是,则根据所述正在执行写盘的IO的优先级对所述正在执行写盘的IO对应的原设定超时时间进行调整;其中,所述第一阈值与所述预设值相对应。
3.根据权利要求2所述的数据下刷方法,其特征在于,在判断所述正在执行写盘的IO等待下刷的时间是否达到对应的所述调整后超时时间之前,还包括:
判断所述正在执行写盘的IO的优先级是否达到第二阈值,若是,则对所述正在执行写盘的IO进行下刷;其中,所述第二阈值大于所述第一阈值。
4.根据权利要求3所述的数据下刷方法,其特征在于,判断所述正在执行写盘的IO的优先级是否达到第二阈值,包括:
判断所述正在执行写盘的IO所在条带中是否存在优先级大于所述第一阈值的IO,若是,则确定所述正在执行写盘的IO达到所述第二阈值。
技术研发人员:刘志勇,
申请(专利权)人:北京浪潮数据技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。