数据存储方法及相关设备技术

技术编号:36166826 阅读:7 留言:0更新日期:2022-12-31 20:16
本申请公开了一种数据存储方法,包括根据数据存储请求确定目标数据;获取目标缓存节点,确定所述目标缓存节点中指定的目标缓存区域;对所述目标数据进行条带划分,获得各数据条带;响应于条带划分完成提示,将各所述数据条带写入所述目标缓存区域;反馈存储完成信号至所述数据存储请求的发起端。应用本申请所提供的技术方案,可以在数据存储过程中有效降低面向主机端的响应延迟,从而实现快速响应。本申请还公开了一种数据存储装置、设备及计算机可读存储介质,均具有上述有益效果。均具有上述有益效果。均具有上述有益效果。

【技术实现步骤摘要】
数据存储方法及相关设备


[0001]本申请涉及数据存储
,特别涉及一种数据存储方法以及相关设备。

技术介绍

[0002]在高速发展的现代社会,各行各业都需要安全高效的存储数据。RAID(Redundant Array of Independent Disks,独立磁盘组成的具有冗余性的阵列)技术是存储中的重要技术,主要使用条带、镜像和校验来保证数据安全性,并提高RAID阵列的I/O性能。其中,缓存作为RAID阵列的重要组件,可以极大的提高I/O性能,加速读写响应,存储系统只需将数据写入缓存,便立即向主机发送数据写成功信号,然后继续处理主机发起的其他I/O请求,数据写入缓存的速度远远大于写入物理磁盘的速度,而暂存在缓存中的I/O数据会被线程池中多个线程并发的写入RAID阵列中的各个磁盘中,因此极大的减少了I/O的响应延迟。
[0003]目前在存储领域,业界在软RAID存储技术基础上提出了硬RAID存储技术(即RAID卡),使用RAID卡技术,可以有效提高读写数据的I/O性能和数据安全性。在RAID卡的缓存写策略中有WB(Write Back,写回模式)写策略和WT(Write Through,写通模式)写策略,WB写策略相对于WT写策略具有更低的响应延迟,因为WB写策略将写数据和校验数据写入缓存后,立刻向主机发送数据写成功信号,而WT写策略只有写数据和校验数据全部写入RAID卡的物理磁盘后,才向主机发送数据写成功信号,因此WB写策略比WT写策略具有更高的I/O性能。
[0004]其中,业界在WB写策略的实现细节上是,在接收到写数据之后,先对写数据进行条带切分,并等待由各个切分后条带中的数据分块异或运算得出校验分块,在得出校验分块之后才将各个条带中的校验分块写入缓存,最后才响应主机,显然,这个等待过程会增加WB写策略的响应延迟。
[0005]因此,如何在数据存储过程中有效降低面向主机端的响应延迟,从而实现快速响应是本领域技术人员亟待解决的问题。

技术实现思路

[0006]本申请的目的是提供一种数据存储方法,该数据存储方法可以在数据存储过程中有效降低面向主机端的响应延迟,从而实现快速响应;本申请的另一目的是提供一种数据存储装置、设备及计算机可读存储介质,均具有上述有益效果。
[0007]第一方面,本申请提供了一种数据存储方法,所述方法包括:根据数据存储请求确定目标数据;获取目标缓存节点,确定所述目标缓存节点中指定的目标缓存区域;对所述目标数据进行条带划分,获得各数据条带;响应于条带划分完成提示,将各所述数据条带写入所述目标缓存区域;反馈存储完成信号至所述数据存储请求的发起端。
[0008]可选地,所述获取目标缓存节点,包括:
从全局空闲缓存节点链表中获取空闲缓存节点;将所述空闲缓存节点作为所述目标缓存节点;其中,所述数据存储请求的数量与所述目标缓存节点的数量相同。
[0009]可选地,所述确定所述目标缓存节点中指定的目标缓存区域,包括:对所述目标缓存节点进行字段解析,获得缓存区域字段;根据所述缓存区域字段的记录信息确定所述目标缓存区域。
[0010]可选地,所述目标缓存节点包括下刷状态字段、缓存区域字段、前指针字段、后指针字段;所述下刷状态字段用于记录缓存区的缓存下刷状态,所述缓存下刷状态包括缓存下刷已完成和缓存下刷未完成;所述缓存区域字段用于记录所述目标缓存区域在所述缓存区内的位置信息;所述前指针字段用于记录所述目标缓存节点在所述全局空闲缓存节点链表中的前一个缓存节点的节点信息;所述后指针字段用于记录所述目标缓存节点在所述全局空闲缓存节点链表中的后一个缓存节点的节点信息。
[0011]可选地,所述将各所述数据条带写入所述目标缓存区域之后,还包括:对于每一所述数据条带,根据所述数据条带中的各数据分块计算获得校验分块;将所述校验分块写入所述目标缓存区域内对应的数据条带中。
[0012]可选地,所述将所述校验分块写入所述目标缓存区域内对应的数据条带中之后,还包括:在全局校验表中获取空闲校验元素作为目标校验元素;在所述目标校验元素的条带校验字段中查找所述数据条带对应的校验状态位;将所述校验状态位更新为条带校验已完成。
[0013]可选地,所述目标校验元素包括全局校验状态字段、条带校验状态字段、指针字段;所述全局校验状态字段用于记录所述目标数据的全局校验状态,所述全局校验状态包括全局校验已完成和全局校验未完成;所述条带校验状态字段用于记录各所述数据条带的条带校验状态,所述条带校验状态包括条带校验已完成和条带校验未完成;所述指针字段用于记录所述目标校验元素在所述全局校验表中的下一个校验元素的元素信息。
[0014]可选地,所述方法还包括:当所述条带校验字段中所有校验状态位均为所述条带校验完成状态时,将所述全局校验状态字段更新为所述全局校验已完成。
[0015]可选地,所述将所述全局校验状态字段更新为所述全局校验已完成之后,还包括:对于所述缓存区中的每一所述数据条带,将所述数据条带中的各所述数据分块和所述校验分块下刷至物理磁盘。
[0016]可选地,所述下刷状态字段与位图元数据相关联,所述位图元数据用于记录各所述数据条带的条带下刷状态,所述条带下刷状态包括条带下刷已完成和条带下刷未完成;
相应地,所述将所述数据条带中的各所述数据分块和所述校验分块下刷至物理磁盘之后,还包括:在所述位图元数据中查找所述数据条带对应的下刷状态位;将所述下刷状态位更新为所述条带下刷已完成。
[0017]可选地,所述方法还包括:当所述位图元数据中所有所述下刷状态位均为所述条带下刷已完成时,将所述下刷状态字段更新为所述缓存下刷已完成。
[0018]可选地,所述方法还包括:当所述全局校验状态字段更新为所述全局校验已完成时,释放所述目标校验元素;当所述下刷状态字段更新为所述缓存下刷已完成时,释放所述目标缓存节点。
[0019]第二方面,本申请还公开了一种数据存储装置,所述装置包括:确定模块,用于根据数据存储请求确定目标数据;获取模块,用于获取目标缓存节点,确定所述目标缓存节点中指定的目标缓存区域;划分模块,用于对所述目标数据进行条带划分,获得各数据条带;写入模块,用于响应于条带划分完成提示,将各所述数据条带写入所述目标缓存区域;反馈模块,用于反馈存储完成信号至所述数据存储请求的发起端。
[0020]第三方面,本申请还公开了一种数据存储设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上所述的任一种数据存储方法的步骤。
[0021]第四方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的任一种数据存储方法的步骤。
[0022]应用本申请所提供的技术方案,在根据数据存储请求确定需要写入至存储系统的目标数据之后,可以先在目标缓存节点中确定该目标数据对应的目标缓存区域,并对目标数据进行条带划分,在此过程中,可以对条带本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法包括:根据数据存储请求确定目标数据;获取目标缓存节点,确定所述目标缓存节点中指定的目标缓存区域;对所述目标数据进行条带划分,获得各数据条带;响应于条带划分完成提示,将各所述数据条带写入所述目标缓存区域;反馈存储完成信号至所述数据存储请求的发起端。2.根据权利要求1所述的方法,其特征在于,所述获取目标缓存节点,包括:从全局空闲缓存节点链表中获取空闲缓存节点;将所述空闲缓存节点作为所述目标缓存节点;其中,所述数据存储请求的数量与所述目标缓存节点的数量相同。3.根据权利要求2所述的方法,其特征在于,所述确定所述目标缓存节点中指定的目标缓存区域,包括:对所述目标缓存节点进行字段解析,获得缓存区域字段;根据所述缓存区域字段的记录信息确定所述目标缓存区域。4.根据权利要求3所述的方法,其特征在于,所述目标缓存节点包括下刷状态字段、缓存区域字段、前指针字段、后指针字段;所述下刷状态字段用于记录缓存区的缓存下刷状态,所述缓存下刷状态包括缓存下刷已完成和缓存下刷未完成;所述缓存区域字段用于记录所述目标缓存区域在所述缓存区内的位置信息;所述前指针字段用于记录所述目标缓存节点在所述全局空闲缓存节点链表中的前一个缓存节点的节点信息;所述后指针字段用于记录所述目标缓存节点在所述全局空闲缓存节点链表中的后一个缓存节点的节点信息。5.根据权利要求4所述的方法,其特征在于,所述将各所述数据条带写入所述目标缓存区域之后,还包括:对于每一所述数据条带,根据所述数据条带中的各数据分块计算获得校验分块;将所述校验分块写入所述目标缓存区域内对应的数据条带中。6.根据权利要求5所述的方法,其特征在于,所述将所述校验分块写入所述目标缓存区域内对应的数据条带中之后,还包括:在全局校验表中获取空闲校验元素作为目标校验元素;在所述目标校验元素的条带校验字段中查找所述数据条带对应的校验状态位;将所述校验状态位更新为条带校验已完成。7.根据权利要求6所述的方法,其特征在于,所述目标校验元素包括全局校验状态字段、条带校验状态字段、指针字段;所述全局校验状态字段用于记录所述目标数据的全局校验状态,所述全局校验状态包括全局校验已完成和全局校验未完成;所述条带校验状态字段用于记录各所述数据条带的条带校验状态,所述...

【专利技术属性】
技术研发人员:李飞龙许永良孙明刚
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1