CN112463040B - 一种数据写入方法、装置、电子设备及存储介质 - Google Patents

一种数据写入方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112463040B
CN112463040B CN202011293569.3A CN202011293569A CN112463040B CN 112463040 B CN112463040 B CN 112463040B CN 202011293569 A CN202011293569 A CN 202011293569A CN 112463040 B CN112463040 B CN 112463040B
Authority
CN
China
Prior art keywords
data
block
new
writing
original
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011293569.3A
Other languages
English (en)
Other versions
CN112463040A (zh
Inventor
岳斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202011293569.3A priority Critical patent/CN112463040B/zh
Publication of CN112463040A publication Critical patent/CN112463040A/zh
Application granted granted Critical
Publication of CN112463040B publication Critical patent/CN112463040B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices

Abstract

本申请公开了一种数据写入方法,应用于RAID5系统,包括:接收数据写入指令,并根据所述数据写入指令确定目标条带;确定所述目标条带中的第一数据块和第二数据块;根据所述第一数据块中的原始数据和所述校验块中的原始校验值计算临时变量;在所述第一数据块中写入所述数据写入指令对应的新数据,根据所述第一数据块中的新数据和所述临时变量计算新校验值并将所述新校验值写入所述校验块。本申请能够降低存储系统放大写系数,提高数据写入效率。本申请还公开了一种数据写入装置、一种电子设备及一种存储介质,具有以上有益效果。

Description

一种数据写入方法、装置、电子设备及存储介质
技术领域
本申请涉及数据存储技术领域,特别涉及一种数据写入方法、装置、一种电子设备及一种存储介质。
背景技术
在数据存储领域,系统处理数据的效率是影响系统整机性能的关键因素。在整个数据处理流程中,硬盘的读写操作非常耗时,但是在处理用户数据时不可避免的存在写放大情况,即访盘数据量会大于实际用户写入数据量,从而增加系统处理时间。
因此,如何降低存储系统放大写系数,提高数据写入效率是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种数据写入方法、装置、一种电子设备及一种存储介质,能够降低存储系统放大写系数,提高数据写入效率。
为解决上述技术问题,本申请提供一种数据写入方法,应用于RAID5系统,该数据写入方法包括:
接收数据写入指令,并根据所述数据写入指令确定目标条带;其中,所述目标条带包括数据块和校验块;
确定所述目标条带中的第一数据块和第二数据块;其中,所述第一数据块为用于写入所述数据写入指令对应的新数据的数据块,所述第二数据块为所述目标条带中除所述第一数据块之外的其他数据块;
根据所述第一数据块中的原始数据和所述校验块中的原始校验值计算临时变量;其中,所述临时变量为所有所述第二数据块中的原始数据的异或计算结果;
在所述第一数据块中写入所述数据写入指令对应的新数据,根据所述第一数据块中的新数据和所述临时变量计算新校验值并将所述新校验值写入所述校验块。
可选的,在将所述校验值写入所述校验块之后,还包括:
根据所述数据写入指令对应的新数据、所述第一数据块对应的原始数据、所述校验块对应的原始校验值、所述校验块中的新校验值计算写放大系数,并将所述写放大系数显示至用户界面。
可选的,根据所述第一数据块中的原始数据和所述校验块中的原始校验值计算临时变量,包括:
将所有所述第一数据块中的原始数据和所述校验块中的原始校验值进行异或计算得到异或计算结果,并将所述异或计算结果作为所述临时变量;其中,所述原始校验值由所有所述第一数据块和所有所述第二数据块中的原始数据进行异或计算得到。
可选的,根据所述第一数据块中的新数据和所述临时变量计算新校验值,包括:
将所有所述第一数据块中的新数据和所述临时变量进行异或计算得到所述新校验值。
可选的,将所述新校验值写入所述校验块包括:
删除所述校验块中的原始校验值,并将所述新校验值写入所述校验块。
可选的,确定所述目标条带中的第一数据块和第二数据块,包括:
确定所述数据写入指令对应的新数据大小;
按照数据块编号从小到大的顺序在所述目标条带中选取N个数据块作为所述第一数据块;其中,所有所述数据块的数据容量总和大于或等于所述新数据大小;
将所述目标条带中除了所述第一数据块之外的其他数据块作为所述第二数据块。
可选的,在根据所述第一数据块中的原始数据和所述校验块中的原始校验值计算临时变量之后,还包括:
将所述临时变量存储至目标文件夹;
若用于写入下一条数据写入指令对应的新数据的数据块为所有所述第一数据块,则从所述目标文件夹中读取所述临时变量,并利用所述临时变量更新所述校验块中的校验值。
本申请还提供了一种数据写入装置,应用于RAID5系统,该装置包括:
条带确定模块,用于接收数据写入指令,并根据所述数据写入指令确定目标条带;其中,所述目标条带包括数据块和校验块;
数据块确定模块,用于确定所述目标条带中的第一数据块和第二数据块;其中,所述第一数据块为用于写入所述数据写入指令对应的新数据的数据块,所述第二数据块为所述目标条带中除所述第一数据块之外的其他数据块;
临时变量计算模块,用于根据所述第一数据块中的原始数据和所述校验块中的原始校验值计算临时变量;其中,所述临时变量为所有所述第二数据块中的原始数据的异或计算结果;
数据写入模块,用于在所述第一数据块中写入所述数据写入指令对应的新数据,根据所述第一数据块中的新数据和所述临时变量计算新校验值并将所述新校验值写入所述校验块。
本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述数据写入方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述数据写入方法执行的步骤。
本申请提供了一种数据写入方法,包括:接收数据写入指令,并根据所述数据写入指令确定目标条带;其中,所述目标条带包括数据块和校验块;确定所述目标条带中的第一数据块和第二数据块;其中,所述第一数据块为用于写入所述数据写入指令对应的新数据的数据块,所述第二数据块为所述目标条带中除所述第一数据块之外的其他数据块;根据所述第一数据块中的原始数据和所述校验块中的原始校验值计算临时变量;其中,所述临时变量为所有所述第二数据块中的原始数据的异或计算结果;在所述第一数据块中写入所述数据写入指令对应的新数据,根据所述第一数据块中的新数据和所述临时变量计算新校验值并将所述新校验值写入所述校验块。
本申请在接收到数据写入指令之后,确定需要写入数据的目标条带,并根据是否写入数据写入指令对应的新数据将目标条带中的数据块划分为第一数据块和第二数据块。由于校验块中的校验值为根据目标条带中所有数据块的数据进行异或计算得到,因此通过对校验值和所有第一数据块的原始数据进行抑或计算得到所有第二数据块中数据进行异或计算的结果,即得到临时变量。由于在将新数据写入第一数据块之后,需要读取第二数据块中的数据来计算新校验值,因此本申请将临时变量作为第二数据块中数据的异或计算结果与第一数据块中的新数据来计算新校验值,在上述过程中无需重复读取每一个第二数据块中的原始数据,降低了计算校验值过程所需要读取的数据量。可见,本申请能够降低存储系统放大写系数,提高数据写入效率。本申请同时还提供了一种数据写入装置、一种电子设备和一种存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种数据写入方法的流程图;
图2为本申请实施例所提供的一种数据写入装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种数据写入方法的流程图。
具体步骤可以包括:
S101:接收数据写入指令,并根据数据写入指令确定目标条带;
其中,本实施例可以应用于RAID5系统,RAID5系统可以接收客户端发送的数据写入指令,可以通过解析数据写入指令得到条带标识,进而将该条带标识对应的条带作为需要写入数据的目标条带。目标条带中可以包括数据块和校验块,数据块用于存储数据写入指令对应的数据(即,用于存放用户存储的实际数据),校验块用于存储所在条带内所有数据块的校验值。具体的,在RAID5系统内的条带中,可以将所有数据块的数据进行异或计算得到校验值,并将该校验值存储至校验块中。每次更新数据块中的数据时,校验块中的校验值需同时更新。
S102:确定目标条带中的第一数据块和第二数据块;
其中,在确定了目标条带之后,本步骤将目标条带中的数据块划分为第一数据块和第二数据块。具体的,上述第一数据块为用于写入所述数据写入指令对应的新数据的数据块,上述第二数据块为所述目标条带中除所述第一数据块之外的其他数据块。
作为一种可行的实施方式,本实施例可以根据数据写入指令对应的新数据大小选择第一数据块的数量。具体的,本实施例可以通过以下方式确定第一数据块和第二数据块:确定所述数据写入指令对应的新数据大小;按照数据块编号从小到大的顺序在所述目标条带中选取N个数据块作为所述第一数据块;其中,所有所述数据块的数据容量总和大于或等于所述新数据大小;将所述目标条带中除了所述第一数据块之外的其他数据块作为所述第二数据块。
S103:根据第一数据块中的原始数据和所述校验块中的原始校验值计算临时变量;
具体的,本实施例可以将所有所述第一数据块中的原始数据和所述校验块中的原始校验值进行异或计算得到异或计算结果,并将所述异或计算结果作为所述临时变量。
进一步的,校验块中的原始校验值可以由所有所述第一数据块和所有所述第二数据块中的原始数据进行异或计算得到。
请参见表1,表1中A、B、C、D、E、F、G、H为同一条带中的数据块,其中A和B为第一数据块,C~H为第二数据库,P为校验块,d1~d9为数据块中的原始数据,d1’和d2’为执行数据写入指令后数据块中的新数据,p1为原始校验值,p2为新校验值。
表1条带数据变化表
Figure BDA0002784554600000061
在表1所示的例子中p1的计算方式如下:
p1=d1⊕d2⊕d3⊕d4⊕d5⊕d6⊕d7⊕d8。
将上述等式两边同时异或d1⊕d2,可得以下等式:
(d1⊕d2)⊕p1=(d1⊕d2)⊕d1⊕d2⊕d3⊕d4⊕d5⊕d6⊕d7⊕d8。
其中,由于(d1⊕d2)⊕d1⊕d2=1,则上面等式可简化为:
(d1⊕d2)⊕p1=d3⊕d4⊕d5⊕d6⊕d7⊕d8。
进一步的,本实施例将所有第二数据块中原始数据的异或计算结果作为临时变量TMP,TMP=d3⊕d4⊕d5⊕d6⊕d7⊕d8=d1⊕d2⊕p1。
由此可见,本实施例可以通过对第一数据块和校验块中的数据进行异或计算得到所有第二数据块中原始数据的异或计算结果,无需逐个读取第二数据块中的数据。
S104:在第一数据块中写入数据写入指令对应的新数据,根据第一数据块中的新数据和临时变量计算新校验值并将新校验值写入校验块。
其中,本步骤建立在已经确定目标条带中所有第二数据块中原始数据的异或计算结果的基础上,可以通过执行数据写入指令将新数据写入第一数据块中,进而根据第一数据块中的新数据和临时变量计算新校验值并将新校验值写入校验块。继续以表1中的例子说明计算新校验值的过程,可以利用d1、d2和TMP进行异或计算得到p2。在相关技术中,通常在接收到数据写入指令后直接进行新数据的写入,并根据写入的新数据、未写入新数据的数据块中的原始数据进行异或计算得到新校验值,即读取d3、d4、d5、d6、d7和d8计算新校验值p2,即:p2=d1’⊕d2’⊕d3⊕d4⊕d5⊕d6⊕d7⊕d8,由此可见,本申请将所有所述第一数据块中的新数据和所述临时变量进行异或计算得到所述新校验值,本实施例提出使用RAID校验机制,通过减少计算校验值过程所需要读取的数据量,降低写放大,提高系统整体性能。
以表1中的例子说明本申请与相关方案的区别,在相关方案中未在写入新数据之前计算临时变量TMP,其写入数据d1’和d2’,读出数据为d3~d8,利用d1’和d2’以及d3~d8计算校验值p2;此时可以计算写放大系数为[(d1’+d2’)+(d3+d4+d5+d6+d7+d8)+p2]/(d1’+d2’)=(2+6+1)/2=4.5。而使用本申请的方案在写入新数据之前计算临时变量TMP,根据d1’、d2’和TMP计算p2,此时可以计算写放大系数为[(d1’+d2’)+(d1+d2+p1)p2]/(d1’+d2’)=(2+3+1)/2=3,可见本申请能够降低RAID5系统的写放大系数。
作为一种可行的实施方式,在将所述校验值写入所述校验块之后,还可以根据所述数据写入指令对应的新数据、所述第一数据块对应的原始数据、所述校验块对应的原始校验值、所述校验块中的新校验值计算写放大系数,并将所述写放大系数显示至用户界面。具体的,本实施例可以将实际写入数据量与用户写入数据量的比值作为写放大系数,实际写入数据量包括用户写入数据量、校验块中写入的校验值与用于计算校验值时读取的数据量的总和,用户写入数据量为数据写入指令对应的新数据的数据量。
本实施例可以采用Java语言完成描述,然后通过Java的C调用方法嵌入存储系统。通过本实施例所述方法,可减少系统的写放大,从而减少对盘的操作,提高系统整体性能。在接收到数据写入指令之后,确定需要写入数据的目标条带,并根据是否写入数据写入指令对应的新数据将目标条带中的数据块划分为第一数据块和第二数据块。由于校验块中的校验值为根据目标条带中所有数据块的数据进行异或计算得到,因此通过对校验值和所有第一数据块的原始数据进行抑或计算得到所有第二数据块中数据进行异或计算的结果,即得到临时变量。由于在将新数据写入第一数据块之后,需要读取第二数据块中的数据来计算新校验值,因此本实施例将临时变量作为第二数据块中数据的异或计算结果与第一数据块中的新数据来计算新校验值,在上述过程中无需重复读取每一个第二数据块中的原始数据,降低了计算校验值过程所需要读取的数据量。可见,本实施例通过软件栈的优化能够降低存储系统放大写系数,提高数据写入效率。
作为对于图1对应实施例的进一步介绍,S104中将所述新校验值写入校验块的过程可以包括以下步骤:删除所述校验块中的原始校验值,并将所述新校验值写入所述校验块。
作为对于图1对应实施例的进一步介绍,在根据所述第一数据块中的原始数据和所述校验块中的原始校验值计算临时变量之后,还可以将所述临时变量存储至目标文件夹;若用于写入下一条数据写入指令对应的新数据的数据块为所有所述第一数据块,则从所述目标文件夹中读取所述临时变量,并利用所述临时变量更新所述校验块中的校验值。继续以表1中的例子说明上述过程,可以将临时变量TMP存储至目标文件夹中,若接收的下一条数据写入指令仍为向A和B两个数据块内写入数据的指令,此时可以不用通过读取d1’、d2’和p2再次计算临时变量TMP,可以直接使用目标文件夹中的临时变量TMP,进一步降低了写放大系数。
请参见图2,图2为本申请实施例所提供的一种数据写入装置的结构示意图,该装置可以包括:
条带确定模块100,用于接收数据写入指令,并根据所述数据写入指令确定目标条带;其中,所述目标条带包括数据块和校验块;
数据块确定模块200,用于确定所述目标条带中的第一数据块和第二数据块;其中,所述第一数据块为用于写入所述数据写入指令对应的新数据的数据块,所述第二数据块为所述目标条带中除所述第一数据块之外的其他数据块;
临时变量计算模块300,用于根据所述第一数据块中的原始数据和所述校验块中的原始校验值计算临时变量;其中,所述临时变量为所有所述第二数据块中的原始数据的异或计算结果;
数据写入模块400,用于在所述第一数据块中写入所述数据写入指令对应的新数据,根据所述第一数据块中的新数据和所述临时变量计算新校验值并将所述新校验值写入所述校验块。
本实施例在接收到数据写入指令之后,确定需要写入数据的目标条带,并根据是否写入数据写入指令对应的新数据将目标条带中的数据块划分为第一数据块和第二数据块。由于校验块中的校验值为根据目标条带中所有数据块的数据进行异或计算得到,因此通过对校验值和所有第一数据块的原始数据进行抑或计算得到所有第二数据块中数据进行异或计算的结果,即得到临时变量。由于在将新数据写入第一数据块之后,需要读取第二数据块中的数据来计算新校验值,因此本实施例将临时变量作为第二数据块中数据的异或计算结果与第一数据块中的新数据来计算新校验值,在上述过程中无需重复读取每一个第二数据块中的原始数据,降低了计算校验值过程所需要读取的数据量。可见,本实施例能够降低存储系统放大写系数,提高数据写入效率。
进一步的,还包括:
写放大系数计算模块,用于在将所述校验值写入所述校验块之后,根据所述数据写入指令对应的新数据、所述第一数据块对应的原始数据、所述校验块对应的原始校验值、所述校验块中的新校验值计算写放大系数,并将所述写放大系数显示至用户界面。
进一步的,临时变量计算模块300用于将所有所述第一数据块中的原始数据和所述校验块中的原始校验值进行异或计算得到异或计算结果,并将所述异或计算结果作为所述临时变量;其中,所述原始校验值由所有所述第一数据块和所有所述第二数据块中的原始数据进行异或计算得到。
进一步的,数据写入模块400根据所述第一数据块中的新数据和所述临时变量计算新校验值的过程包括:将所有所述第一数据块中的新数据和所述临时变量进行异或计算得到所述新校验值。
进一步的,数据写入模块400将所述新校验值写入所述校验块的过程包括:删除所述校验块中的原始校验值,并将所述新校验值写入所述校验块。
进一步的,数据块确定模块200包括:
数据大小确定单元,用于确定所述数据写入指令对应的新数据大小;
第一数据块确定单元,用于按照数据块编号从小到大的顺序在所述目标条带中选取N个数据块作为所述第一数据块;其中,所有所述数据块的数据容量总和大于或等于所述新数据大小;
第二数据块确定单元,用于将所述目标条带中除了所述第一数据块之外的其他数据块作为所述第二数据块。
进一步的,还包括:
数据复用模块,用于在根据所述第一数据块中的原始数据和所述校验块中的原始校验值计算临时变量之后,将所述临时变量存储至目标文件夹;若用于写入下一条数据写入指令对应的新数据的数据块为所有所述第一数据块,则从所述目标文件夹中读取所述临时变量,并利用所述临时变量更新所述校验块中的校验值。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (8)

1.一种数据写入方法,其特征在于,应用于RAID5系统,包括:
接收数据写入指令,并根据所述数据写入指令确定目标条带;其中,所述目标条带包括数据块和校验块;
确定所述目标条带中的第一数据块和第二数据块;其中,所述第一数据块为用于写入所述数据写入指令对应的新数据的数据块,所述第二数据块为所述目标条带中除所述第一数据块之外的其他数据块;
根据所述第一数据块中的原始数据和所述校验块中的原始校验值计算临时变量;其中,所述临时变量为所有所述第二数据块中的原始数据的异或计算结果;
在所述第一数据块中写入所述数据写入指令对应的新数据,根据所述第一数据块中的新数据和所述临时变量计算新校验值并将所述新校验值写入所述校验块;
其中,根据所述第一数据块中的原始数据和所述校验块中的原始校验值计算临时变量,包括:将所有所述第一数据块中的原始数据和所述校验块中的原始校验值进行异或计算得到异或计算结果,并将所述异或计算结果作为所述临时变量;其中,所述原始校验值由所有所述第一数据块和所有所述第二数据块中的原始数据进行异或计算得到;
其中,根据所述第一数据块中的新数据和所述临时变量计算新校验值,包括:将所有所述第一数据块中的新数据和所述临时变量进行异或计算得到所述新校验值。
2.根据权利要求1所述数据写入方法,其特征在于,在将所述校验值写入所述校验块之后,还包括:
根据所述数据写入指令对应的新数据、所述第一数据块对应的原始数据、所述校验块对应的原始校验值、所述校验块中的新校验值计算写放大系数,并将所述写放大系数显示至用户界面。
3.根据权利要求1所述数据写入方法,其特征在于,将所述新校验值写入所述校验块包括:
删除所述校验块中的原始校验值,并将所述新校验值写入所述校验块。
4.根据权利要求1所述数据写入方法,其特征在于,确定所述目标条带中的第一数据块和第二数据块,包括:
确定所述数据写入指令对应的新数据大小;
按照数据块编号从小到大的顺序在所述目标条带中选取N个数据块作为所述第一数据块;其中,所有所述数据块的数据容量总和大于或等于所述新数据大小;
将所述目标条带中除了所述第一数据块之外的其他数据块作为所述第二数据块。
5.根据权利要求1至4任一项所述数据写入方法,其特征在于,在根据所述第一数据块中的原始数据和所述校验块中的原始校验值计算临时变量之后,还包括:
将所述临时变量存储至目标文件夹;
若用于写入下一条数据写入指令对应的新数据的数据块为所有所述第一数据块,则从所述目标文件夹中读取所述临时变量,并利用所述临时变量更新所述校验块中的校验值。
6.一种数据写入装置,其特征在于,应用于RAID5系统,包括:
条带确定模块,用于接收数据写入指令,并根据所述数据写入指令确定目标条带;其中,所述目标条带包括数据块和校验块;
数据块确定模块,用于确定所述目标条带中的第一数据块和第二数据块;其中,所述第一数据块为用于写入所述数据写入指令对应的新数据的数据块,所述第二数据块为所述目标条带中除所述第一数据块之外的其他数据块;
临时变量计算模块,用于根据所述第一数据块中的原始数据和所述校验块中的原始校验值计算临时变量;其中,所述临时变量为所有所述第二数据块中的原始数据的异或计算结果;
数据写入模块,用于在所述第一数据块中写入所述数据写入指令对应的新数据,根据所述第一数据块中的新数据和所述临时变量计算新校验值并将所述新校验值写入所述校验块;
其中,所述临时变量计算模块用于将所有所述第一数据块中的原始数据和所述校验块中的原始校验值进行异或计算得到异或计算结果,并将所述异或计算结果作为所述临时变量;其中,所述原始校验值由所有所述第一数据块和所有所述第二数据块中的原始数据进行异或计算得到;
其中,所述数据写入模块根据所述第一数据块中的新数据和所述临时变量计算新校验值的过程包括:将所有所述第一数据块中的新数据和所述临时变量进行异或计算得到所述新校验值。
7.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1至5任一项所述数据写入方法的步骤。
8.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至5任一项所述数据写入方法的步骤。
CN202011293569.3A 2020-11-18 2020-11-18 一种数据写入方法、装置、电子设备及存储介质 Active CN112463040B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011293569.3A CN112463040B (zh) 2020-11-18 2020-11-18 一种数据写入方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011293569.3A CN112463040B (zh) 2020-11-18 2020-11-18 一种数据写入方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112463040A CN112463040A (zh) 2021-03-09
CN112463040B true CN112463040B (zh) 2022-07-08

Family

ID=74837605

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011293569.3A Active CN112463040B (zh) 2020-11-18 2020-11-18 一种数据写入方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112463040B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110618895A (zh) * 2019-09-29 2019-12-27 北京天融信网络安全技术有限公司 一种基于纠删码的数据更新方法、装置和存储介质
CN111782439A (zh) * 2020-07-09 2020-10-16 河北工业大学 一种基于水平编码的双盘循环校验方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110618895A (zh) * 2019-09-29 2019-12-27 北京天融信网络安全技术有限公司 一种基于纠删码的数据更新方法、装置和存储介质
CN111782439A (zh) * 2020-07-09 2020-10-16 河北工业大学 一种基于水平编码的双盘循环校验方法

Also Published As

Publication number Publication date
CN112463040A (zh) 2021-03-09

Similar Documents

Publication Publication Date Title
CN109919311B (zh) 生成指令序列的方法、执行神经网络运算的方法和装置
CN109597647B (zh) 数据处理方法及设备
CN106874348B (zh) 文件存储和索引方法、装置及读取文件的方法
WO2014088903A1 (en) Method and apparatus for nearly optimal private convolution
JPH07168746A (ja) B樹木最適化のためのコンピュータ方法及び装置
CN106126486A (zh) 时间信息编码方法、编码值检索方法、解码方法与装置
CN112000627B (zh) 一种数据存储方法、系统、电子设备及存储介质
CN112579602A (zh) 多版本数据存储方法、装置、计算机设备及存储介质
CN112463040B (zh) 一种数据写入方法、装置、电子设备及存储介质
CN105677645A (zh) 一种数据表比对方法和装置
CN114048061A (zh) 校验块的生成方法及装置
US20230161555A1 (en) System and method performing floating-point operations
CN112947858B (zh) 一种raid 5校验值的更新方法、装置和介质
CN115862653A (zh) 音频去噪方法、装置、计算机设备和存储介质
CN114238044A (zh) 开源项目活跃度的计算方法、装置和计算机设备
CN115454983B (zh) 一种基于布隆过滤器的海量Hbase数据去重方法
US20080282020A1 (en) Determination of sampling characteristics based on available memory
CN112612415B (zh) 一种数据处理方法、装置、电子设备及存储介质
KR20230096659A (ko) ResNet을 지원하는 BNN 하드웨어 구조를 위한 데이터 처리 시스템 및 방법
WO2023199486A1 (ja) 情報処理プログラム、および情報処理方法
CN117974336A (zh) 一种大数据量场景下的数据处理方法、设备及介质
CN115099327A (zh) 客户分群方法及装置
CN117874541A (zh) 资源流量数据的生成方法、装置、计算机设备、存储介质
CN114969100A (zh) 一种数据提取方法及装置
CN117938696A (zh) 一种日志处理方法、读取方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant