CN111324280B - 基于Raid5的数据写入方法和装置 - Google Patents
基于Raid5的数据写入方法和装置 Download PDFInfo
- Publication number
- CN111324280B CN111324280B CN201811526645.3A CN201811526645A CN111324280B CN 111324280 B CN111324280 B CN 111324280B CN 201811526645 A CN201811526645 A CN 201811526645A CN 111324280 B CN111324280 B CN 111324280B
- Authority
- CN
- China
- Prior art keywords
- data
- raid5
- written
- writing
- full
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/1052—Bypassing or disabling error detection or correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于Raid5的数据写入方法和装置,其中的方法包括:接收待写入数据;在Raid5全速写模式下将所述待写入数据写入Raid5;所述Raid5全速写模式用于指示在关闭所述Raid5的校验功能的前提下进行数据写入的模式;其中,关闭所述Raid5的校验功能,用于表示在有数据写入所述Raid5时禁止计算校验信息。从而避免在数据写入过程中对磁盘数据的回读校验操作,减少对磁盘带宽和CPU运算空间的占用,有效提高数据写入效率。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种基于Raid5的数据写入方法和装置。
背景技术
目前基于Raid5的数据写入方法主要有rmw(read-modify-writ,读-修改-写)方式和rcw(read-reconstruct-write,读-重建-写)方式的写入方法。无论采用哪种写入方式,目前基于Raid5的数据写入方法在实现对一个数据块的写入过程中,在写入所述数据块之前,都必须先计算出新的奇偶校验信息,之后才能进行数据的写入操作。所以,目前基于Raid5的数据写入方法在数据写入过程中必须进行校验信息的计算,避免不了对磁盘数据进行回读校验的操作,由此不仅占用写入过程中的磁盘带宽和CPU的运算空间,而且导致数据写入耗时较长。
发明内容
有鉴于此,本发明提供一种基于Raid5的数据写入方法和装置。
本发明的第一方面提供一种基于Raid5的数据写入方法,该方法包括:
接收待写入数据;在Raid5全速写模式下将所述待写入数据写入Raid5;所述Raid5全速写模式用于指示在关闭所述Raid5的校验功能的前提下进行数据写入的模式;其中,关闭所述Raid5的校验功能,用于表示在有数据写入所述Raid5时禁止计算校验信息。
本发明的第二方面提供一种基于Raid5的数据写入装置,该装置包括:
接收模块,用于接收待写入数据;
写入模块,用于在Raid5全速写模式下将所述待写入数据写入Raid5;所述Raid5全速写模式用于指示在关闭所述Raid5的校验功能的前提下进行数据写入的模式;其中,关闭所述Raid5的校验功能,用于表示在有数据写入所述Raid5时禁止计算校验信息。
相比于现有技术,本发明实施例包括以下有益技术效果:
通过在Raid5的数据写入过程中,提供一种Raid5全速写模式,并在该模式下直接将数据写入到磁盘中,不进行校验信息的计算;从而实现在有大量数据需要快速写入到Raid5的磁盘时,暂时放弃Raid5校验同步功能,去获取数据快速落盘的带宽,从而避免在数据写入过程中对磁盘数据的回读校验操作,减少对磁盘带宽和CPU运算空间的占用,有效提高数据写入效率。
附图说明
图1是本发明根据一示例性实施例示出的一种基于Raid5的数据写入方法的流程图;
图2是本发明根据一示例性实施例示出的一种将待写入数据写入所述Raid5的步骤流程图;
图3是本发明根据一示例性实施例示出的一种基于Raid5的数据写入方法的流程图;
图4是本发明基于图3所示的实施例示出的一种基于Raid5的数据写入方法的流程图;
图5是本发明基于图4所示的实施例示出的一种基于Raid5的数据写入方法的流程图;
图6是本发明根据一示例性实施例示出的一种基于Raid5的数据写入装置的结构框图;
图7是本发明根据一示例性实施例示出的基于Raid5的数据写入装置所在电子设备的一种硬件结构图。
具体实施方式
这里将详细对示例性实施例进行说明,其示例表示在附图中,下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。并且,以下示例性实施例中所描述的实施方式并不限制本发明,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本发明的保护范围内。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应该限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释为“在……时”或“当……时”或“响应于确定”。
为了使本发明更清楚简洁,以下对本发明所提及的一些技术术语进行解释:
Raid5,是一种兼顾存储性能、数据安全和存储成本的存储解决方案。Raid5可以理解为是Raid0和Raid1的折中方案,其具有和Raid0相近似的数据读取数据,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行数据写入的速度稍慢。但由于多个数据对应一个校验信息,Raid5的磁盘空间利用率要高于Raid1,存储成本相对较低。在Raid5存储方案中,数据是以数据块为单位分布到各个磁盘上,不对数据进行备份,而是把数据和与其对应的校验信息存储到组成Raid5的各个磁盘上。其中,校验信息和相对应的数据分别存储在不同的磁盘上,所以,当Raid5的一个磁盘数据损坏后,可以利用剩下的其它数据和相应的校验信息去恢复被损坏的数据。
由于目前基于Raid5的数据写入方法在数据写入过程中都必须进行校验信息的计算,避免不了对磁盘数据进行回读校验的操作,由此不仅占用写入过程中的磁盘带宽和CPU的运算空间,而且还导致数据写入耗时较长。故为解决上述技术问题,本发明实施例提供了一种基于Raid5的数据写入方法、装置、电子设备和计算机可读存储介质。
如图1所示,图1是本发明根据一示例性实施例示出的一种基于Raid5的数据写入方法的流程图,本发明实施例提供的一种基于Raid5的数据写入方法可以包括:
S011,接收待写入数据;
S012,在Raid5全速写模式下将所述待写入数据写入Raid5;所述Raid5全速写模式用于指示在关闭所述Raid5的校验功能的前提下进行数据写入的模式;其中,关闭所述Raid5的校验功能,用于表示在有数据写入所述Raid5时禁止计算校验信息。
在本发明实施例中,所述基于Raid5的数据写入方法可以应用于终端设备的Raid5控制器中,所述终端设备可以是计算机、或具有多个磁盘的其他设备,本发明实施例对此不限定。
所述Raid5的全速写模式是本发明实施例自定义的一种数据写入模式,用于表示相对于传统技术中的Raid5写入模式,具有更高的数据写入速度的一种新的Raid5写入模式。
其中,所述Raid5的全速写模式可以以默认开启的方式置于所述终端设备中,可以理解为:只要有待写入数据需要写入到Raid5中,终端设备都以Raid5全速写模式将所述待写入数据写入到Raid5中。例如,对于需要存储大量数据的监控设备或视频设备,可以默认以所述Raid5的全速写模式将待写入数据写入到Raid5中。当然,在其他实施例中,所述Raid5的全速写模式还可以通过依据用户输入的指令实现开启或关闭,也可以通过应用本发明实施例的所述方法的设备根据当前待写入数据的数据量的大小来确定开启或关闭。
在一实施例中,当依据用户输入的指令开启所述Raid5的全速写模式时,所述基于Raid5的数据写入方法还可以包括:
S0011,收到数据写入请求时,展示用于设置当前数据写入模式的用户界面;所述数据写入模式包括正常写入模式和Raid5全速写模式,所述正常写入模式为传统技术中的Raid5写入模式;所述用户界面配置有用于触发Raid5全速写模式开启或关闭的第一控件;所述第一控件包括开启状态和关闭状态;
S0012,收到用户触发处于关闭状态的第一控件所产生的指令时,开启Raid5全速写模式。
基于此,当依据用户输入的指令关闭所述Raid5的全速写模式时,所述基于Raid5的数据写入方法还可以包括:
S0013,收到用户触发处于开启状态的第一控件所产生的指令时,关闭Raid5全速写模式。
可以理解为,第一控件处于开启状态时,Raid5全速写模式开启;第一控件处于关闭状态时,Raid5全速写模式关闭,此时的数据写入模式为正常写入模式。
除了上述通过控件触发的方式实现用户对Raid5全速写模式的开启或关闭之外,还可以通过语音控制的方式实现用户对Raid5全速写模式的开启或关闭,基于此,在另一实施例中,所述基于Raid5的数据写入方法还可以包括:
S0021,收到数据写入请求时,播放用于设置当前数据写入模式的提示语音;
S0022,接收响应于所述提示语音的语音输入信息,并对所述语音输入信息进行识别,得到开启或关闭Raid5全速写模式的指令。
可选地,所述提示语音的内容可以为:“请问是否开启Raid5全速写模式”。基于此,所述语音输入信息可以为“是”或“否”。这么一来,当识别到所述语音输入信息为“是”时,开启Raid5全速写模式;当识别到所述语音输入信息为“否”时,关闭或保持关闭Raid5全速写模式,此时的数据写入模式为正常写入模式。
当通过应用本发明实施例的所述方法的设备根据当前待写入数据的数据量的大小确定开启或关闭时,可以通过预设一数据量阈值,基于此,在检测到当前待写入数据的数据量大于或等于所述数据量阈值时,可以触发Raid5全速写模式开启指令,以开启Raid5全速写模式。反之,在检测到当前待写入数据的数据量小于所述数据量阈值时,可以触发Raid5全速写模式关闭指令,以关闭Raid5全速写模式。
在接收到待写入数据之后,可以在默认开启Raid5的全速写模式的情况下,直接将待写入数据写入Raid5,或者,可以在接收到Raid5全速写模式开启指令之后,依据所述Raid5全速写模式开启指令开启Raid5的全速写模式。此时,在数据写入Raid5的过程中时,所述Raid5的校验功能被关闭,禁止对所述数据的校验信息进行计算,并直接将数据写入所述Raid5,从而实现数据的快速落盘。
本实施例中,由于数据是以数据块为单位存储到Raid5的各磁盘中,故在将数据写入到Raid5的各磁盘之前,可以根据Raid5的各磁盘当前的存储情况和当前所需存储的数据的大小,计算得到当前所需存储的数据的各个数据块所对应的存盘地址,从而实现对各数据块的存盘地址的分配。其中,各数据块的存盘地址的计算过程可参见相关技术,在此不进行赘述。
在Raid5下,各数据块的存盘地址所对应的磁盘是互不相同的。例如,假设一个条带包括数据块d0、数据块d1和数据块d2;组成Raid5的磁盘有C盘、D盘、E盘和F盘。那么,为数据块d0、d1和d2分配的存盘地址可以为:在C盘取出一个存盘地址,分配给数据块d0;在D盘取出一个存盘地址,分配给数据块d1;在E盘取出一个存盘地址,分配给数据块d2。也就是说,可以从上述4个磁盘的任意3个磁盘中,取出未存储有数据的存盘地址,用于存储对应的数据块中的数据。
以下,举一例子简单说明一下本发明实施例基于Raid5的数据写入方法的应用过程:
当需要写入数据时,可以默认开启Raid5全速写模式;或者,用户可以依需选择是否开启Raid5全速写模式,例如,用户可以在对数据的安全性要求不高时开启Raid5全速写模式,也可以在对数据的安全性要求较高但对数据写入速度要求更高时开启Raid5全速写模式。其中,用户可以通过点击第一控件或语音输入Raid5全速写模式开启指令的方式实现开启Raid5全速写模式,具体可见前述相关内容,在此不赘述。在Raid5全速写模式下,禁止计算所需写入的数据的校验信息,并为组成当前所需写入的数据的各数据块分配一一对应的存盘地址,随后将各数据块存储到对应的存盘地址即可。所以,在此过程中,不需进行校验信息的计算。
由此,相对于现有技术,本发明实施例通过在Raid5的数据写入过程中,提供一种Raid5全速写模式,并在该模式下直接将数据写入到磁盘中,不进行校验信息的计算;从而实现在有大量数据需要快速写入到磁盘时,暂时放弃Raid5校验同步功能,去获取数据快速落盘的带宽,由此避免在数据写入过程中对磁盘数据的回读校验操作,减少对磁盘带宽和CPU运算空间的占用,有效提高数据写入效率。
上述中,虽然所需写入到Raid5的数据一般由若干数据块组成,但在一些情况下,所述数据所包含的部分数据块中可能不存在需要写入的数据,例如,当某些数据块的数据已经被写入过或某些数据块所对应的磁盘的存储空间已经被占满时,不应当对满足上述要求的数据块进行写入操作。对于这种情况,可以理解为,所述数据的部分数据块中并未存储有待写入数据。这么一来,其实没必要为不存在待写入数据的数据块分配存盘地址。基于此,为进一步减少数据处理量,以进一步提高数据写入速率,在一实施例中,如图2所示,图2是本发明根据一示例性实施例示出的一种将待写入数据写入所述Raid5的步骤流程图;所述步骤S012中,将待写入数据写入所述Raid5的步骤可以包括:
S021,判断组成待写入数据的若干数据块中是否存在待写入数据块;所述待写入数据块用于表示数据块中包含待写入所述Raid5的数据;
S022,为所述待写入数据块分配所述Raid5的磁盘中的存盘地址;其中,不同待写入数据块的存盘地址所对应的磁盘不同;
S023,将待写入数据块写入对应的存盘地址。
其中,可以根据各数据块中所记载的内容来判断所述若干数据块中是否存在待写入数据,例如,可以用指定标识值来表示数据块不存在待写入数据的这一情况,那么,在将所述待写入数据分割成若干数据块的过程中,可以在不存在待写入所述Raid5的数据的数据块中写入所述指定标识值。由此,在判断组成待写入数据的若干数据块中是否存在待写入数据块的过程中,如果检测到数据块记载有所述指定标识值,则认为该数据块不包含待写入所述Raid5的数据;如果检测到数据块未记载有所述指定标识值,则认为该数据块包含待写入所述Raid5的数据,该数据块为待写入数据块。其中,所述指定标识值可以用十六进制表示,也可以用其他类型的文字表示,本发明实施例对此不进行限定。
由此,本发明实施例通过在为若干数据块分配存盘地址之前,先从所述若干数据块中筛选出待写入数据块,以剔除掉不存在待写入所述Raid5的数据的数据块,从而只需为待写入数据块分配存盘地址和进行写入操作,相对于对所有数据块分配存盘地址和进行写入操作的方式,能够减少对存盘地址分配量和数据处理量,有利于进一步提高数据写入速率。
为避免在所述全速写模式下因数据同步影响数据写入速度,以进一步提高在所述全速写模式下的数据写入效率,在一实施例中,基于前述任一实施例的基础上,如图3所示,图3是本发明根据一示例性实施例示出的一种基于Raid5的数据写入方法的流程图,所述方法还可以包括:
S031,在所述全速写模式下,关闭所述Raid5的数据同步功能,以在数据写入所述Raid5时禁止写入的数据在所述Raid5的各磁盘中进行同步。
可以理解为,在收到Raid5全速写模式开启指令时,依据所述Raid5全速写模式开启指令开启Raid5全速写模式,并关闭所述Raid5的校验功能和数据同步功能,以禁止数据写入所述Raid5时进行校验信息的计算和进行数据同步。
由此,本发明实施例通过在Raid5全速写模式下的数据写入过程中,进一步关闭Raid5的数据同步功能,能进一步减少Raid5进行数据同步时对磁盘带宽和CPU内存的占用量,从而有利于进一步提高数据写入效率。
为了在全速写模式关闭之后,为数据同步提供依据,基于前述任一实施例的基础上,在一实施例中,如图4所示,图4是本发明基于图3所示的实施例示出的一种基于Raid5的数据写入方法的流程图,在全速写模式下,将数据写入所述Raid5之后,所述方法还可以包括:
S041,将写入的所述数据对应的bitmap状态置为未同步状态,以指示所述数据还未在所述Raid5的各磁盘中进行同步。
上述中,所述bitmap状态可以用一指定的数值来表示,如用0x0000表示bitmap状态为未同步状态,用0x0001表示bitmap状态为已同步状态。其中,0x0000和0x0001只是为了举例说明可以通过不同的数值来表示不同的bitmap状态,在实际应用中不一定是这两个数值,还可以用其他数值或其他方式来表示bitmap状态,或可以直接用相关技术中对应的方式来表示bitmap状态。
可选的,所述bitmap状态可以由设备另外记录,并与其对应的数据关联。
基于此,为在全速写模式关闭之后提高数据使用安全性和保证数据的可恢复性,基于图4所示的实施例的基础上,在一实施例中,如图5所示,图5是本发明基于图4所示的实施例示出的一种基于Raid5的数据写入方法的流程图,所述方法还可以包括:
S051,完成所述待写入数据的写入之后,开启所述Raid5的校验功能和数据同步功能,以关闭Raid5全速写模式;
S052,在开启所述Raid5的校验功能和数据同步功能的前提下,计算bitmap状态为未同步状态的数据的校验信息;
S053,将计算得到的校验信息写入Raid5,以实现数据在所述Raid5的各磁盘中进行同步,并将对应的bitmap状态置为同步状态。
由此,在完成数据的写入之后,终端可以自行开启所述Raid5的校验功能和数据同步功能,以关闭Raid5全速写模式。
在其他实施例中,在完成所述待写入数据的写入之后、在所述待写入数据的写入过程中、或在未写入所述待写入数据之前,用户可以依需确定是否触发Raid5全速写模式关闭指令,由此可以在接收到Raid5全速写模式关闭指令时,才开启所述Raid5的校验功能和数据同步功能,从而关闭Raid5全速写模式。
在Raid5全速写模式关闭之后,可以检测已经写入所述Raid5的数据是否已经进行同步。在检测已经写入所述Raid5的数据是否已经进行同步的过程中,可以依据所述数据所关联的bitmap状态去确定所述数据是否已经被同步。
当检测到所述bitmap状态为未同步状态的数据时,表示该数据未进行同步。此时,可以通过相关技术的校验信息的计算方式计算所述数据的校验信息,并将计算所得的校验信息写入到该数据的校验信息在Raid5中的存盘地址,从而即可完成所述数据在Raid5的对应磁盘中的数据同步。此时,可以将所述数据对应的bitmap状态置为同步状态,以避免发生重复计算所述数据的校验信息的操作。
这么一来,在后续如果某一数据块发生数据损坏时,就可以根据该数据块所对应的数据的其它数据块和校验信息恢复损坏的数据。其中,对受损数据的恢复过程可参见相关技术,在此不赘述。
由此,本发明实施例通过在Raid5全速写模式下将数据写入到所述Raid5的各磁盘中之后,还将所述数据的bitmap状态置为未同步状态,以指示所述数据还未在所述Raid5的各磁盘中进行同步。从而使得在Raid5全速写模式被关闭后,可以根据bitmap状态的情况来确定是否需要更新所述数据的校验信息,以完成数据同步。由此在完成数据同步之后,如果所述数据的某一数据发生损坏时,可以基于所述数据的其它数据和所述校验信息恢复已被损坏的数据,从而提高数据使用安全性和保证数据的可恢复性。
与前述方法实施例对应,本发明实施例还提供一种基于Raid5的数据写入装置,如图6所示,图6是本发明根据一示例性实施例示出的一种基于Raid5的数据写入装置的结构框图。所述基于Raid5的数据写入装置600可以应用于终端设备的Raid5控制器中,所述终端设备可以是计算机、或具有多个磁盘的其他设备,本发明实施例对此不限定。所述装置600包括:
接收模块601,用于接收待写入数据;
写入模块602,用于在Raid5全速写模式下将所述待写入数据写入Raid5;所述Raid5全速写模式用于指示在关闭所述Raid5的校验功能的前提下进行数据写入的模式;其中,关闭所述Raid5的校验功能,用于表示在有数据写入所述Raid5时禁止计算校验信息。
在一实施例中,所述装置还可以包括:
开启模块,用于接收Raid5全速写模式开启指令,依据所述Raid5全速写模式开启指令开启Raid5的全速写模式。在一实施例中,所述装置还可以包括:
关闭模块,用于在所述全速写模式下,关闭所述Raid5的数据同步功能,以在数据写入所述Raid5时禁止写入的数据在所述Raid5的各磁盘中进行同步。
在一实施例中,所述装置还可以包括:
设置模块,用于在将数据写入Raid5后,将写入的所述数据对应的bitmap状态置为未同步状态,以指示所述数据还未在所述Raid5的各磁盘中进行同步。
在一实施例中,所述装置还可以包括:
第一处理模块,用于在完成所述待写入数据的写入之后,开启所述Raid5的校验功能和数据同步功能,以关闭Raid5全速写模式;
计算模块,用于在开启所述Raid5的校验功能和数据同步功能的前提下,计算bitmap状态为未同步状态的数据的校验信息;
同步模块,用于将计算得到的校验信息写入Raid5,以实现数据在所述Raid5的各磁盘中进行同步,并将对应的bitmap状态置为同步状态。
在另一实施例中,所述装置还可以基于其他方式实现Raid5全速写模式的关闭,基于此,可以将上一装置实施例中的第一处理模块替换为第二处理模块,也即,所述装置可以包括:
第二处理模块,用于接收Raid5全速写模式关闭指令,依据所述Raid5全速写模式关闭指令开启所述Raid5的校验功能和数据同步功能,以关闭Raid5全速写模式;
计算模块,用于在开启所述Raid5的校验功能和数据同步功能的前提下,计算bitmap状态为未同步状态的数据的校验信息;
同步模块,用于将计算得到的校验信息写入Raid5,以实现数据在所述Raid5的各磁盘中进行同步,并将对应的bitmap状态置为同步状态。在一实施例中,所述写入模块602包括:
判断单元,用于判断组成待写入数据的若干数据块中是否存在待写入数据块;所述待写入数据块用于表示数据块中包含待写入所述Raid5的数据;
分配单元,用于为所述待写入数据块分配所述Raid5的磁盘中的存盘地址;其中,不同待写入数据块的存盘地址所对应的磁盘不同;
写入单元,用于将待写入数据块写入对应的存盘地址。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。
与前述方法实施例对应,本发明实施例还提供了一种电子设备,所述电子设备包括:
Raid5控制器;
存储器,用于存储可由所述Raid5控制器执行的计算机程序;
其中,所述Raid5控制器执行所述程序时实现前述任一方法实施例中的所述基于Raid5的数据写入方法的步骤。
本发明实施例所提供的基于Raid5的数据写入装置的实施例可以应用在所述电子设备上。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的Raid5控制器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,图7是本发明根据一示例性实施例示出的基于Raid5的数据写入装置所在电子设备的一种硬件结构图,除了图7所示的Raid5控制器、Raid5磁盘阵列、网络接口、内存、以及非易失存储器之外,上述装置实施例中基于Raid5的数据写入装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
与前述方法实施例对应,本发明实施例还提供一种机器可读存储介质,其上存储有程序,所述程序被Raid5控制器执行时实现前述任一方法实施例中的基于Raid5的数据写入方法。
本发明实施例可采用在一个或多个包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。所述机器可读存储介质可以包括:永久性或非永久性的可移动或非可移动媒体。所述机器可读存储介质的信息存储功能可以由任何可以实现的方法或技术实现。所述信息可以是计算机可读指令、数据结构、程序的模型或其它数据。
另外,所述机器可读存储介质包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其它类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其它内存技术的记忆体、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其它光学存储器、磁盒式磁带、磁带磁盘存储或其它磁性存储设备或可用于存储可被计算设备访问的信息的其它非传输介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (6)
1.一种基于Raid5的数据写入方法,其特征在于,该方法包括:
接收待写入数据;
在Raid5全速写模式下将所述待写入数据写入Raid5;所述Raid5全速写模式用于指示在关闭所述Raid5的校验功能的前提下进行数据写入的模式;其中,关闭所述Raid5的校验功能,用于表示在有数据写入所述Raid5时禁止计算校验信息;
在所述全速写模式下,关闭所述Raid5的数据同步功能,以在数据写入所述Raid5时禁止写入的数据在所述Raid5的各磁盘中进行同步;
在将数据写入所述Raid5后,将写入的所述数据对应的bitmap状态置为未同步状态,以指示所述数据还未在所述Raid5的各磁盘中进行同步;
完成所述待写入数据的写入或者接收Raid5全速写模式关闭指令之后,开启所述Raid5的校验功能和数据同步功能,以关闭Raid5全速写模式;
在开启所述Raid5的校验功能和数据同步功能的前提下,计算bitmap状态为未同步状态的数据的校验信息;
将计算得到的校验信息写入Raid5,以实现数据在所述Raid5的各磁盘中进行同步,并将对应的bitmap状态置为同步状态。
2.根据权利要求1所述的方法,其特征在于,在Raid5全速写模式下将所述待写入数据写入Raid5之前,该方法还包括:
接收Raid5全速写模式开启指令,依据所述Raid5全速写模式开启指令开启Raid5的全速写模式。
3.根据权利要求1所述的方法,其特征在于,将待写入数据写入Raid5,包括:
判断组成待写入数据的若干数据块中是否存在待写入数据块;所述待写入数据块用于表示数据块中包含待写入所述Raid5的数据;
为所述待写入数据块分配所述Raid5的磁盘中的存盘地址;其中,不同待写入数据块的存盘地址所对应的磁盘不同;
将待写入数据块写入对应的存盘地址。
4.一种基于Raid5的数据写入装置,其特征在于,该装置包括:
接收模块,用于接收待写入数据;
写入模块,用于在Raid5全速写模式下将所述待写入数据写入Raid5;所述Raid5全速写模式用于指示在关闭所述Raid5的校验功能的前提下进行数据写入的模式;其中,关闭所述Raid5的校验功能,用于表示在有数据写入所述Raid5时禁止计算校验信息;
关闭模块,用于在所述全速写模式下,关闭所述Raid5的数据同步功能,以在数据写入所述Raid5时禁止写入的数据在所述Raid5的各磁盘中进行同步;
处理模块,用于在完成所述待写入数据的写入或者接收Raid5全速写模式关闭指令之后,开启所述Raid5的校验功能和数据同步功能,以关闭Raid5全速写模式;
计算模块,用于在开启所述Raid5的校验功能和数据同步功能的前提下,计算bitmap状态为未同步状态的数据的校验信息;
同步模块,用于将计算得到的校验信息写入Raid5,以实现数据在所述Raid5的各磁盘中进行同步,并将对应的bitmap状态置为同步状态。
5.根据权利要求4所述的装置,其特征在于,该装置还包括:
开启模块,用于接收Raid5全速写模式开启指令,依据所述Raid5全速写模式开启指令开启Raid5的全速写模式。
6.根据权利要求4所述的装置,其特征在于,所述写入模块包括:
判断单元,用于判断组成待写入数据的若干数据块中是否存在待写入数据块;所述待写入数据块用于表示数据块中包含待写入所述Raid5的数据;
分配单元,用于为所述待写入数据块分配所述Raid5的磁盘中的存盘地址;其中,不同待写入数据块的存盘地址所对应的磁盘不同;
写入单元,用于将待写入数据块写入对应的存盘地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811526645.3A CN111324280B (zh) | 2018-12-13 | 2018-12-13 | 基于Raid5的数据写入方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811526645.3A CN111324280B (zh) | 2018-12-13 | 2018-12-13 | 基于Raid5的数据写入方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111324280A CN111324280A (zh) | 2020-06-23 |
CN111324280B true CN111324280B (zh) | 2023-03-28 |
Family
ID=71164946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811526645.3A Active CN111324280B (zh) | 2018-12-13 | 2018-12-13 | 基于Raid5的数据写入方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111324280B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184079A (zh) * | 2011-04-29 | 2011-09-14 | 华中科技大学 | 一种raid5级别磁盘阵列的写性能优化方法 |
CN108255429A (zh) * | 2018-01-10 | 2018-07-06 | 郑州云海信息技术有限公司 | 一种写操作控制方法、系统、装置及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7730257B2 (en) * | 2004-12-16 | 2010-06-01 | Broadcom Corporation | Method and computer program product to increase I/O write performance in a redundant array |
US10552403B2 (en) * | 2015-05-21 | 2020-02-04 | Vmware, Inc. | Using checksums to reduce the write latency of logging |
-
2018
- 2018-12-13 CN CN201811526645.3A patent/CN111324280B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102184079A (zh) * | 2011-04-29 | 2011-09-14 | 华中科技大学 | 一种raid5级别磁盘阵列的写性能优化方法 |
CN108255429A (zh) * | 2018-01-10 | 2018-07-06 | 郑州云海信息技术有限公司 | 一种写操作控制方法、系统、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111324280A (zh) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140059277A1 (en) | Storage for adaptively determining a processing technique with respect to a host request based on partition data and operating method for the storage device | |
US20100306466A1 (en) | Method for improving disk availability and disk array controller | |
CN108874688B (zh) | 一种报文数据缓存方法及装置 | |
US20100318760A1 (en) | Memory controller, nonvolatile storage device, and nonvolatile storage system | |
CN107544755B (zh) | 一种数据读写的控制方法和装置 | |
CN106201652B (zh) | 一种数据处理方法及虚拟机 | |
CN108037894B (zh) | 一种磁盘空间管理方法及装置 | |
CN109710456B (zh) | 一种数据恢复方法及装置 | |
US20180210784A1 (en) | Metadata Recovery Method and Apparatus | |
CN101763433B (zh) | 一种数据存储系统及方法 | |
CN108491290B (zh) | 一种数据写入方法及装置 | |
CN116501259A (zh) | 磁盘组双活同步方法、装置、计算机设备及存储介质 | |
KR102366512B1 (ko) | 논리 블록 어드레싱 범위 충돌 크롤러 | |
CN113377278A (zh) | 固态硬盘、垃圾回收及控制方法、设备、系统及存储介质 | |
CN103164172B (zh) | 数据流存储方法及装置 | |
CN109375868B (zh) | 一种数据存储方法、调度装置、系统、设备及存储介质 | |
CN105095352B (zh) | 应用于分布式系统的数据处理方法及装置 | |
US20100174880A1 (en) | Method for fast format of a fully allocated volume when copied from a space efficient volume | |
CN111324280B (zh) | 基于Raid5的数据写入方法和装置 | |
CN110019086A (zh) | 基于分布式文件系统的多副本读取方法、设备及存储介质 | |
CN111435285B (zh) | 存储卷写数据方法、装置、电子设备及机器可读存储介质 | |
US9880926B1 (en) | Log structured reserved zone for a data storage device | |
CN103514097A (zh) | 基于Nand Flash的数据写入方法 | |
JP5661313B2 (ja) | 記憶装置 | |
CN112148220A (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 |