本发明涉及数据处理,尤其涉及一种数据写入方法、装置、电子设备以及存储介质。
背景技术:
1、全闪存阵列是由固态存储介质构成的独立的存储阵列或设备,全闪存阵列多采用row(redirect on write,重定向写)的写入方式,物理空间地址与逻辑地址不再相关,但是逻辑地址到数据指纹hash具有映射关系、数据指纹hash到物理空间地址具有映射关系。在进行i/o(input/output,输入/输出)写命令处理时,需要对逻辑地址到数据指纹hash的映射关系和数据指纹hash到物理空间地址的映射关系进行更新。
2、当全闪存阵列中同时处理多个i/o写命令时,多个i/o写命令之间互相竞争数据指纹hash到物理空间地址的映射关系表,在写入失败后,需要对映射关系表执行回退操作,执行回退操作的线程也与其他i/o写入线程竞争数据指纹hash到物理空间地址的映射关系表,极大地降低了系统的i/o写性能。
技术实现思路
1、本发明提供了一种数据写入方法、装置、电子设备以及存储介质,以实现避免多个数据写入线程之间竞争元数据资源,提高系统的数据写入性能。
2、第一方面,本发明实施例提供了一种数据写入方法,该方法包括:
3、根据待写入数据确定至少两个待写入子数据,并根据各待写入子数据的物理空间块索引号信息,确定与各待写入子数据相对应的数据写入线程标识;
4、通过与目标数据写入线程标识相对应的目标指纹结点块管理单元标识,确定当前目标指纹结点块管理单元标识下的至少一个指纹结点块,根据所述指纹结点块确定目标空闲指纹结点;
5、将所述目标待写入子数据通过与所述目标数据写入线程标识对应的数据写入线程写入至所述目标空闲指纹结点。
6、第二方面,本发明实施例还提供了一种数据写入装置,该装置包括:
7、数据写入线程标识确定模块,用于根据待写入数据确定至少两个待写入子数据,并根据各待写入子数据的物理空间块索引号信息,确定与各待写入子数据相对应的数据写入线程标识;
8、目标空闲指纹结点确定模块,用于通过与目标数据写入线程标识相对应的目标指纹结点块管理单元标识,确定当前目标指纹结点块管理单元标识下的至少一个指纹结点块,根据所述指纹结点块确定目标空闲指纹结点;
9、数据写入模块,用于将所述目标待写入子数据通过与所述目标数据写入线程标识对应的数据写入线程写入至所述目标空闲指纹结点。
10、第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例中任一所述的数据写入方法。
11、第四方面,本发明实施例还提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明实施例中任一所述的数据写入方法。
12、本发明实施例的技术方案,通过将待写入数据拆分为待写入子数据,并分别确定各待写入子数据的物理空间索引号,并根据各待写入子数据的物理空间索引号,确定与各待写入子数据匹配的数据写入线程,通过与目标待写入子数据匹配的目标数据写入线程,确定目标指纹结点块管理单元、目标空闲指纹结点块以及目标空闲指纹结点,将目标待写入子数据写入至目标空闲指纹结点。解决了现有技术中多个数据写入线程同时进行数据写入时,均需要更新数据指纹hash到物理空间地址的映射关系表而导致的竞争映射关系表的问题,避免了同时进行数据写入的多个数据写入线程之间对元数据资源的竞争,提高了系统的数据写入性能。
13、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
1.一种数据写入方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,数据写入线程标识与指纹结点块管理单元标识一一对应;
3.根据权利要求1所述的方法,其特征在于,据各待写入子数据的物理空间块索引号信息,确定与各待写入子数据相对应的数据写入线程标识,包括:
4.根据权利要求2所述的方法,其特征在于,所述指纹结点块管理单元包括指纹结点块位图表和空闲指纹结点块指示参数;
5.根据权利要求4所述的方法,其特征在于,通过与目标数据写入线程标识相对应的目标指纹结点块管理单元标识,确定当前目标指纹结点块管理单元标识下的至少一个指纹结点块,包括:
6.根据权利要求4所述的方法,其特征在于,在确定与目标数据写入线程标识相对应的目标指纹结点块管理单元标识之后,还包括:
7.根据权利要求1所述的方法,其特征在于,将所述目标待写入子数据通过与所述目标数据写入线程标识对应的数据写入线程写入至所述目标空闲指纹结点,包括:
8.一种数据写入装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一所述的数据写入方法。
10.一种存储计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的数据写入方法。
