CN107609161A - 一种数据写入、读取方法和系统 - Google Patents

一种数据写入、读取方法和系统 Download PDF

Info

Publication number
CN107609161A
CN107609161A CN201710884095.1A CN201710884095A CN107609161A CN 107609161 A CN107609161 A CN 107609161A CN 201710884095 A CN201710884095 A CN 201710884095A CN 107609161 A CN107609161 A CN 107609161A
Authority
CN
China
Prior art keywords
version number
data
object version
existing object
data block
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.)
Pending
Application number
CN201710884095.1A
Other languages
English (en)
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.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information 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 Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN201710884095.1A priority Critical patent/CN107609161A/zh
Publication of CN107609161A publication Critical patent/CN107609161A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Read Only Memory (AREA)

Abstract

本发明例公开了一种数据写入、读取方法和系统,属于分布式文件系统领域。该方法包括:步骤1:对待写入存储节点的数据段进行编码,得到与所述数据段对应的多个数据块。步骤2:将多个所述数据块写入所述数据段对应的当前对象版本号后保存至存储节点。本发明通过将数据段编码成多个数据块,将当前对象版本号写入至多个数据块中以实现数据写入的技术方案,避免了占用更多存储空间和避免了写入率偏低的技术问题,实现了准确快速写入数据的技术效果。

Description

一种数据写入、读取方法和系统
技术领域
本发明涉及分布式文件系统技术领域,特别涉及一种数据写入方法和系统以及一种数据读取方法和系统。
背景技术
随着计算机技术领域的不断发展,计算机的应用已深入人们的日常生活。在现有技术中,在数据写入和读取的过程中,通过记录的每个数据段的版本号对相应的数据进行写入和读取。
在实现本发明的过程中,发明人发现至少存在如下问题:
1.不仅记录保存对象的版本号,而且对对象中的每个数据段的版本号都进行记录、保存,从而增加了记录数据版本号占用的存储空间;
2.存在存储节点盲目的选择默认最高数据块版本号的数据块进行更新写入;
3.存储节点存储的数据与需要写入的数据并不一定准确和一致。
发明内容
为实现上述目的,根据本发明的一个方面,本发明实施例提供了一种数据写入方法,该方法包括:步骤1:对待写入存储节点的数据段进行编码,得到与所述数据段对应的多个数据块。步骤2:将多个所述数据块写入所述数据段对应的当前对象版本号后保存至存储节点。
通过本发明实施例提供的技术方案,一方面,避免了现有技术中无数据版本号造成读取数据不一致的技术问题,实现了数据写入时准确性和一致性的技术效果;避免了现有技术中不仅记录保存当前对象的版本号,而且对当前对象中的每个数据段的版本号都进行记录、保存,从而增加了记录数据版本号占用的存储空间。
进一步地,所述方法还包括:步骤3:检验所述存储节点存储的每个所述数据块是否被写入所述当前对象版本号。步骤4:当检验结果为否时,则将已写入所述当前对象版本号的所述数据块的数量与预先设置的阈值进行比较。步骤5:若所述数量小于所述阈值,则返回步骤1。
通过本发明实施例提供的技术方案,避免了数据未写入成功,以确保数据写入成功的真实性和可靠性。
进一步地,所述方法还包括:步骤6:判断所述数据段对应的多个所述数据块的所述当前对象版本号是否一致。步骤7:若否,则确定多个所述数据块的所述当前对象版本号中的最大版本号,并将所述最大版本号写入非最大版本号对应的所述数据块后保存至所述存储节点。
通过本发明实施例提供的技术方案,根据最大版本号进行写入,以确保版本的一致性,且避免了重复写入。
进一步地,所述方法还包括:步骤8:遍历所述存储节点,获取每个所述数据块的对象版本号。步骤9:判断每个所述对象版本号是否为有效对象版本号。步骤10:若否,则确定有效对象版本号中的最大有效对象版本号,并在所述最大有效对象版本号对应的所述数据块的基础上写入目标对象版本号后保存至存储节点。其中,写入的目标对象版本号为高于多个所述数据块的当前对象版本号中最大版本号的对象版本号。
通过本发明实施例提供的技术方案,避免了盲目的选择默认根据最高对象版本号的数据块进行写入,从而保证数据的准确性和一致性。
根据本发明的另一方面,本发明提供了与上述方法相对应的一种数据写入系统,该系统包括:编码模块,用于对待写入存储节点的多个数据段进行编码,得到与每个所述数据段对应的多个数据块。写入模块:用于将多个所述数据块写入所述数据段对应的当前对象版本号后保存至所述存储节点。
进一步地,所述系统还包括:检验模块:用于检验所述存储节点存储的每个所述数据块是否被写入所述当前对象版本号。比较模块:用于当检验结果为否时,则将已写入所述当前对象版本号的所述数据块的数量与预先设置的阈值进行比较。返回模块:用于若所述数量小于所述阈值,则返回步骤1。
进一步地,所述系统还包括:第一判断模块:用于判断所述数据段对应的多个所述数据块的所述当前对象版本号是否一致。第一确定模块:用于当判断结果为否时,则确定多个所述数据块的所述当前对象版本号中的最大版本号,并将所述最大版本号写入非最大版本号对应的所述数据块后保存至所述存储节点。
进一步地,所述系统还包括:遍历模块:用于遍历所述存储节点,获取每个所述数据块的对象版本号。第二判断模块:用于判断每个所述对象版本号是否为有效对象版本号。第二确定模块:用于当判断模块的结果为否时,则确定有效对象版本号中的最大有效对象版本号,并在所述最大有效对象版本号对应的所述数据块的基础上写入目标对象版本号后保存至存储节点。其中,写入的目标对象版本号为高于多个所述数据块的当前对象版本号中最大版本号的对象版本号。
根据本发明的另一方面,本发明还提供了一种数据读取方法,该方法包括:步骤1:获取需要读取携带当前对象版本号的数据块。步骤2:对所述数据块进行解码,得到携带所述当前对象版本号的数据段并进行读取。
进一步地,步骤1之后包括:步骤11:检验每个所述数据块的读取结果是否为携带所述当前对象版本号。步骤12:当检验结果为否时,则将读取的携带所述当前对象版本号的所述数据块的数量与预先设置的阈值进行比较。步骤13:若所述数量大于所述阈值,则进入步骤2。
进一步地,所述方法还包括:步骤14:若所述数量小于所述阈值,则读取携带对象版本号的所述数据块,其中,所述对象版本号对应的版本低于所述当前对象版本号对应的版本。
进一步地,步骤1之后包括:步骤15:判断读取的多个所述数据块携带的所述当前对象版本号是否一致。步骤16:若否,则确定读取的多个所述数据块的所述当前对象版本号中的最大版本号,并根据所述最大版本号进行读取。
根据本发明的另一方面,本发明还提供了与上述数据读取方法对应的一种数据读取系统,该系统包括:获取模块:用于获取需要读取的携带当前对象版本号的数据块。解码模块:用于对所述数据块进行解码,得到携带所述当前对象版本号的数据段。读取模块:用于读取所述数据段。
进一步地,检验模块:用于检验每个所述数据块的读取结果是否为携带所述当前对象版本号。比较模块:用于当检验结果为否时,则将读取的携带所述当前对象版本号的所述数据块的数量与预先设置的阈值进行比较。所述读取模块还用于:若所述数量大于所述阈值,则通过解码模块对多个所述数据块进行解码,得到多个数据段,通过读取模块对所述数据段进行读取。
进一步地,所述读取模块还用于:若所述数量小于所述阈值,则读取携带对象版本号的所述数据块,其中,所述对象版本号对应的版本低于所述当前对象版本号对应的版本。
进一步地,判断模块:用于判断读取的多个所述数据块携带的所述当前对象版本号是否一致。所述读取模块还用于:当判断模块为否时,则确定读取的多个所述数据块的所述当前对象版本号中的最大版本号,并根据所述最大版本号进行读取。
本发明实施例的有益效果在于,由于采用了将数据段编码成多个数据块,将当前对象版本号写入至多个数据块中以实现数据写入的技术方案,避免了现有技术中不仅记录保存对象的版本号,而且对对象中的每个数据段的版本号都进行记录、保存,从而增加了记录数据版本号占用的存储空间的技术问题,实现了节约存储空间的技术效果。
附图说明
图1是本发明实施例提供的一种数据写入方法的流程示意图;
图2是本发明另一实施例提供的一种数据写入方法的流程示意图;
图3是本发明另一实施例提供的一种数据写入方法的流程示意图;
图4是本发明另一实施例提供的一种数据写入方法的流程示意图;
图5是本发明实施例提供的一种数据写入系统的结构示意图;
图6是本发明另一实施例提供的一种数据写入系统的结构示意图;
图7是本发明另一实施例提供的一种数据写入系统的结构示意图;
图8是本发明另一实施例提供的一种数据写入系统的结构示意图;
图9是本发明实施例提供的一种数据读取方法的流程示意图;
图10是本发明另一实施例提供的一种数据读取方法的流程示意图;
图11是本发明另一实施例提供的一种数据读取方法的流程示意图;
图12是本发明另一实施例提供的一种数据读取方法的流程示意图;
图13是本发明实施例提供的一种数据读取系统的结构示意图;
图14是本发明另一实施例提供的一种数据读取系统的结构示意图;
图15是本发明另一实施例提供的一种数据读取系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
请参阅图1,图1是本发明实施例提供的一种数据写入方法的流程示意图。
如图1所示,本实施例提供了一种数据写入方法,该方法包括:步骤1:对待写入存储节点的数据段进行编码,得到与数据段对应的多个数据块。步骤2:将多个数据块写入数据段对应的当前对象版本号后保存至存储节点。
在现有技术中,直接记录数据段的版本号,通过现有技术中的这种方式,不仅需要记录保存数据当前对象版本号,而且需要记录保存当前数据中的每个数据段的版本号,从而增加了存储空间,导致写入效率偏低。数据段会携带需要写入时的当前对象版本号,将该版本号在写入数据的同时一并写入至数据段中。本发明通过先对数据段进行编码,数据段编码后形成多个数据块,在写入数据的同时,将数据段对应的当前对象版本号写入数据块所在的存储节点上,并将数据块在存储节点进行保存的技术方案,避免了上述现有技术中增大存储空间、写入率偏低的技术问题,实现了准确快速写入数据的技术效果。
请参阅图2,图2是本发明另一实施例提供的一种数据写入方法的流程示意图。
如图2所示,该方法还包括:步骤3:检验存储节点存储的每个数据块是否被写入当前对象版本号。步骤4:当检验结果为否时,则将已写入当前对象版本号的数据块的数量与预先设置的阈值进行比较。步骤5:若数量小于阈值,则返回步骤1。
可以理解的是,在数据写入过程中,可能会出现部分写入成功,部分写入失败的情况。在本实施例中,通过检验存储节点存储的每个数据块是否被写入当前对象版本号确定数据是否写入成功。如果检验结果为是,则说明数据被成功写入。当检验结果为否时,例如,将一个数据段编码后形成了5个数据块,将该数据段分别存储在5个存储节点,即,共有5个数据块,有3个数据块已经被写入当前对象版本号。则将已经写入当前对象版本号的数据块的数量3与预先设置的阈值进行比较,设此时的阈值为4,即将3与4进行比较。明显地,3小于4,则说明数据写入失败,重新返回步骤1,进行重新写入。需要说明的是,如果在重新写入的次数达到一定阈值时,或者,在写入失败后重新写入的时间达到一定阈值时,就直接放弃写入,而不会无止境的进入重新写入的死循环。通过本实施例提供的技术方案,可进一步确定数据是否成功写入,确保数据成功写入的真实性和可靠性。
请参阅图3,图3是本发明另一实施例提供的一种数据写入方法的流程示意图。
如图3所示,该方法还包括:步骤6:判断所述数据段对应的多个数据块的当前对象版本号是否一致。步骤7:若否,则确定多个数据块的当前对象版本号中的最大版本号,并将最大版本号写入非最大版本号对应的数据块后保存至存储节点。
在本实施例中,是对数据进一步写入的技术方案,可以理解为是对当数据需要更新时对数据的写入。可以理解的是,在数据写入过程中或者数据已经完成写入后,数据会因为某些原因造成缺失。在本实施例中,通过判断数据段对应的多个数据块的当前对象版本号是否一致,从而确定写入的数据是否完整,是否缺失。如果通过判断,得知数据段对应的多个数据块的当前对象版本号完全一致,则说明数据块都完成了相同当前对象版本号对应的数据的写入。如果通过判断,得知数据段对应的多个数据块的当前对象版本号并不一致,例如,数据块1的版本号为01,数据块2的版本号为02。则说明数据块1并没有被写入02版本号对应的数据,以至于数据块1中的数据并不完整,有缺失。当出现此种情况时,则先确定多个数据块的当前对象版本号中的最大版本号。比如,总共有5个数据块,5个数据块的当前对象版本号分别为:01版本,02版本,03版本,01版本,01版本,那么直接将最大版本号,即03版本号对应的数据写入其它四个非03版本号对应的数据块中。通过本实施例提供的技术方案,可及时的对数据进行更新写入,以进一步确保版本的一致性,也即确保相应版本号对应的数据的准确性和一致性。
请参阅图4,图4是本发明另一实施例提供的一种数据写入方法的流程示意图。
如图4所示,该方法还包括:步骤8:遍历存储节点,获取每个数据块的对象版本号。步骤9:判断每个对象版本号是否为有效对象版本号。步骤10:若否,则确定有效对象版本号中的最大有效对象版本号,并在最大有效对象版本号对应的数据块的基础上写入目标对象版本号后保存至存储节点,其中,写入的目标对象版本号为高于多个所述数据块的当前对象版本号中最大版本号的对象版本号。
为避免储存节点盲目的选择默认最高对象版本号对应的数据块进行更新写入的操作,提出了本实施例中的技术方案。在遍历存储节点后,得到每个数据块的对象版本号。例如,数据块1最初被写入的版本号为01对应的数据,之后又相继被写入版本号02和版本号03对应的数据,那么,数据块1的对象版本号为03。需要理解的是,虽然此时数据块1的对象版本号03,但可能存在数据块1中对象版本号03对应的数据已经被损坏的情况,而数据块1中对象版本号02和对象版本号01对应的数据并没有被损坏,则,此时数据块1的有效对象版本号就是指对象版本号02和对象版本号01。如果判断的结果为是,也就是说每个对象版本号01、02和03都是有效对象版本号,那么直接在对象版本号03的基础上进行写入更新即可。若如上述例中所述,数据块1中对象版本号03对应的数据已经被损坏,则确定有效对象版本号中的最大有效对象版本号。如,虽然数据块1中的对象版本号03对应的数据已经被损坏,但是对象版本号02对应的数据和对象版本号01对应的数据并没有损坏。那么,此时确定的最大有效对象版本号为02,则直接将需要写入的目标版本号对应的数据在最大有效对象版本号02对应的数据块的基础上进行写入,在写入完成后保存至存储节点。优选地,当对象版本号03对应的数据出现损坏的情形,直接在对象版本号为02的基础上进行写入。可以理解的是,虽然是在最大有效对象版本号02对应的数据块的基础上进行写入的操作,但写入后的对象版本号为04。
请参阅图5,图5是本发明实施例提供的一种数据写入系统的结构示意图。
根据本发明的另一方面,本发明提供了与上述写入方法相对应的一种数据写入系统。该系统包括:编码模块,用于对待写入存储节点的多个数据段进行编码,得到与每个数据段对应的多个数据块。写入模块:用于将多个数据块写入数据段对应的当前对象版本号后保存至存储节点。
请参阅图6,图6是本发明另一实施例提供的一种数据写入系统的结构示意图。
如图6所示,该系统还包括:检验模块:用于检验存储节点存储的每个数据块是否被写入当前对象版本号。比较模块:用于当检验结果为否时,则将已写入当前对象版本号的数据块的数量与预先设置的阈值进行比较。返回模块:用于若数量小于阈值,则返回步骤1。
请参阅图7,图7是本发明另一实施例提供的一种数据写入系统的结构示意图。
如图7所示,该系统还包括:第一判断模块:用于判断数据段对应的多个数据块的当前对象版本号是否一致。第一确定模块:用于当判断结果为否时,则确定多个数据块的当前对象版本号中的最大版本号,并将最大版本号写入非最大版本号对应的数据块后保存至存储节点。
请参阅图8,图8是本发明另一实施例提供的一种数据写入系统的结构示意图。
如图8所示,该系统还包括:遍历模块:用于遍历存储节点,获取每个数据块的对象版本号。第二判断模块:用于判断每个对象版本号是否为有效对象版本号。第二确定模块:用于当判断模块的结果为否时,则确定有效对象版本号中的最大有效对象版本号,并在最大有效对象版本号对应的数据块的基础上写入目标对象版本号后保存至存储节点。其中,写入的目标对象版本号为高于多个数据块的当前对象版本号中最大版本号的对象版本号。
根据本发明的另一方面,本发明还提供了一种数据读取的方法。
请参阅图9,图9是本发明实施例提供的一种数据读取方法的流程示意图。
如图9所示,该方法包括:步骤1:获取需要读取的携带当前对象版本号的数据块。步骤2:对数据块进行解码,得到携带当前对象版本号的数据段并进行读取。
在本实施例中,在得知需要读取的数据段后,获取该数据段所携带的当前对象版本号。还需要对携带当前对象版本号的多个数据块进行解码,以得到多个数据段,而此时数据段携带需要读取的数据的当前对象版本号。对携带当前对象版本号的数据段进行读取即可。通过本实施例提供的技术方案,由于是对所有数据段进行的读取,从而实现了数据的读取时的完整性,以实现读取数据的准确性。且根绝携带的当前对象版本号进行读取,能达到需要读取数据和被读取数据的一致性。
请参阅图10,图10是本发明另一实施例提供的一种数据读取方法的流程示意图。
如图10所示,步骤1之后还包括:步骤11:检验每个数据块的读取结果是否为携带当前对象版本号。步骤12:当检验结果为否时,则将读取的携带当前对象版本号的数据块的数量与预先设置的阈值进行比较。步骤13:若数量大于阈值,则进入步骤2。
为了进一步确保数据读取的准确性。在本实施例中,对读取每个数据块的结果是否为携带当前对象版本号进行判断。例如,当前对象版本号为05,那么判断每个数据块的携带的当前对象版本号是否都为05,如果是,则将当前对象版本号为05的数据块进行解码成数据段,通过读取数据段实现对数据的读取。如果读取结果显示,某些数据块携带的当前版本号为02,则需要将当前版本号为05的数据块的数量进行统计,如果统计结果显示当前版本为05的数据块的数量为5个,而预先设置的阈值为4,则直接读取数据块,并将数据块进行解码成数据段,通过读取数据段即可实现对数据的读取。
请参阅图11,图11是本发明另一实施例提供的一种数据读取方法的流程示意图。
如图11所示,在上述实施例的基础上,该方法还包括:步骤14:数量小于阈值,则读取携带对象版本号的数据块,其中,对象版本号对应的版本低于当前对象版本号对应的版本。
在本实施例中,如果统计结果显示读取的数据块携带的当前对象版本号05的数量为3个,明显小于预先设置的阈值4,那么需要对当前对象版本号05进行降级读取,即,可以读取当前对象版本号为04的数据块对应的解码后的数据段,也可以读取当前对象版本号为02的数据块对应的解码后的数据段,优选的,可以通过将当前对象版本号为04的数据块的数量进行统计,而后与阈值进行比较,而后确定是否读取。本实施例中,通过降级读取的技术方案,以实现数据的完整读取。
请参阅图12,图12是本发明另一实施例提供的一种数据读取方法的流程示意图。
如图12所示,步骤1之后包括:步骤15:判断读取的多个数据块携带的当前对象版本号是否一致。步骤16:若否,则确定读取的多个数据块的当前对象版本号中的最大版本号,并根据最大版本号进行读取。
在本实施例中,例如,判断3个数据块携带的当前对象版本号是否都03,如果判断结果为是,则直接读取数据块对应的解码后的数据段即可。如果3个数据块携带的当前对象版本号分别为02、02和03,此时,最大版本号为03,即根据最大版本号03对应的数据块进行解码,对解码后的数据段进行读取即可实现数据的读取。通过本实施例中的技术方案,以确保读取数据时读取的为最新版本的数据。
根据本发明的另一方面,本发明提供了上述读取方法相对应的一种数据读取系统。
请参阅图13,图13是本发明实施例提供的一种数据读取系统的结构示意图。
如图13所示,该系统包括:获取模块:用于获取需要读取的携带当前对象版本号的数据块。解码模块:用于对所述数据块进行解码,得到携带当前对象版本号的数据段。读取模块:用于读取数据段。
请参阅图14,图14是本发明另一实施例提供的一种数据读取系统的结构示意图。
如图14所示,检验模块:用于检验每个数据块块的读取结果是否为携带当前对象版本号。比较模块:用于当检验结果为否时,则将读取的携带当前对象版本号的数据块的数量与预先设置的阈值进行比较。读取模块还用于:若数量大于阈值,则读取多个数据块,并将数据块进行解码形成数据段,对数据段进行读取。
更具体地,读取模块还用于:若数量小于阈值,则读取携带对象版本号的数据块,其中,对象版本号对应的版本低于当前对象版本号对应的版本。
请参阅图15,图15是本发明另一实施例提供的一种数据读取系统的结构示意图。
如图15所示,判断模块:用于判断读取的多个数据块携带的当前对象版本号是否一致。读取模块还用于:当判断结果为否时,则确定读取的多个数据块的当前对象版本号中的最大版本号,并根据最大版本号进行读取。
通过上述实施例提供的技术方案,实现了数据写入/读取的准确性和一致性,并节约了存储空间,加快了数据写入/读取的效率。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (10)

1.一种数据写入方法,其特征在于,该方法包括:
步骤1:对待写入存储节点的数据段进行编码,得到与所述数据段对应的多个数据块;
步骤2:将多个所述数据块写入所述数据段对应的当前对象版本号后保存至所述存储节点。
2.根据权利要求1所述的一种数据写入方法,其特征在于,所述方法还包括:
步骤3:检验所述存储节点存储的每个所述数据块是否被写入所述当前对象版本号;
步骤4:当检验结果为否时,则将已写入所述当前对象版本号的所述数据块的数量与预先设置的阈值进行比较;
步骤5:若所述数量小于所述阈值,则返回步骤1。
3.根据权利要求1或2所述的一种数据写入方法,其特征在于,所述方法还包括:
步骤6:判断所述数据段对应的多个所述数据块的所述当前对象版本号是否一致;
步骤7:若否,则确定多个所述数据块的所述当前对象版本号中的最大版本号,并将所述最大版本号写入非最大版本号对应的所述数据块后保存至所述存储节点。
4.根据权利要求1或2所述的一种数据写入方法,其特征在于,所述方法还包括:
步骤8:遍历所述存储节点,获取每个所述数据块的对象版本号;
步骤9:判断每个所述对象版本号是否为有效对象版本号;
步骤10:若否,则确定有效对象版本号中的最大有效对象版本号,并在所述最大有效对象版本号对应的所述数据块的基础上写入目标对象版本号后保存至存储节点,其中,写入的目标对象版本号为高于多个所述数据块的所述当前对象版本号中最大版本号的对象版本号。
5.一种数据写入系统,其特征在于,所述系统包括:
编码模块,用于对待写入存储节点的数据段进行编码,得到与所述数据段对应的多个数据块;
写入模块:用于将多个所述数据块写入所述数据段对应的当前对象版本号后保存至所述存储节点。
6.一种数据读取方法,其特征在于,所述方法包括:
步骤1:获取需要读取携带当前对象版本号的数据块;
步骤2:对所述数据块进行解码,得到携带所述当前对象版本号的数据段并进行读取。
7.根据权利要求6所述的一种数据读取方法,其特征在于,步骤1之后包括:
步骤11:检验每个所述数据块的读取结果是否为携带所述当前对象版本号;
步骤12:当检验结果为否时,则将读取的携带所述当前对象版本号的所述数据块的数量与预先设置的阈值进行比较;
步骤13:若所述数量大于所述阈值,则进入步骤2。
8.根据权利要求7所述的一种数据读取方法,其特征在于,所述方法还包括:
步骤14:若所述数量小于所述阈值,则读取携带对象版本号的所述数据块,其中,所述对象版本号对应的版本低于所述当前对象版本号对应的版本。
9.根据权利要求6所述的一种数据读取方法,其特征在于,步骤1之后包括:
步骤15:判断读取的多个所述数据块携带的所述当前对象版本号是否一致;
步骤16:若否,则确定读取的多个所述数据块的所述当前对象版本号中的最大版本号,并根据所述最大版本号进行读取。
10.一种数据读取系统,其特征在于,所述系统包括:
获取模块:用于获取需要读取的携带当前对象版本号的数据块;
解码模块:用于对所述数据块进行解码,得到携带所述当前对象版本号的数据段;
读取模块:用于读取所述数据段。
CN201710884095.1A 2017-09-26 2017-09-26 一种数据写入、读取方法和系统 Pending CN107609161A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710884095.1A CN107609161A (zh) 2017-09-26 2017-09-26 一种数据写入、读取方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710884095.1A CN107609161A (zh) 2017-09-26 2017-09-26 一种数据写入、读取方法和系统

Publications (1)

Publication Number Publication Date
CN107609161A true CN107609161A (zh) 2018-01-19

Family

ID=61057636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710884095.1A Pending CN107609161A (zh) 2017-09-26 2017-09-26 一种数据写入、读取方法和系统

Country Status (1)

Country Link
CN (1) CN107609161A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558086A (zh) * 2018-12-03 2019-04-02 浪潮电子信息产业股份有限公司 一种数据读取方法、系统及相关组件
CN111008518A (zh) * 2019-12-10 2020-04-14 重庆忽米网络科技有限公司 一种动摩行业标识解析数据更新方法及系统
CN111538921A (zh) * 2020-04-27 2020-08-14 咪咕文化科技有限公司 展示方法与电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101446976A (zh) * 2008-12-26 2009-06-03 中兴通讯股份有限公司 一种分布式文件系统中的文件存储方法
CN104932953A (zh) * 2015-06-04 2015-09-23 华为技术有限公司 一种数据分发方法、数据存储方法、相关装置以及系统
CN105095013A (zh) * 2015-06-04 2015-11-25 华为技术有限公司 数据存储方法、恢复方法、相关装置以及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101446976A (zh) * 2008-12-26 2009-06-03 中兴通讯股份有限公司 一种分布式文件系统中的文件存储方法
CN104932953A (zh) * 2015-06-04 2015-09-23 华为技术有限公司 一种数据分发方法、数据存储方法、相关装置以及系统
CN105095013A (zh) * 2015-06-04 2015-11-25 华为技术有限公司 数据存储方法、恢复方法、相关装置以及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558086A (zh) * 2018-12-03 2019-04-02 浪潮电子信息产业股份有限公司 一种数据读取方法、系统及相关组件
CN109558086B (zh) * 2018-12-03 2019-10-18 浪潮电子信息产业股份有限公司 一种数据读取方法、系统及相关组件
CN111008518A (zh) * 2019-12-10 2020-04-14 重庆忽米网络科技有限公司 一种动摩行业标识解析数据更新方法及系统
CN111008518B (zh) * 2019-12-10 2023-06-20 重庆忽米网络科技有限公司 一种动摩行业标识解析数据更新方法及系统
CN111538921A (zh) * 2020-04-27 2020-08-14 咪咕文化科技有限公司 展示方法与电子设备
CN111538921B (zh) * 2020-04-27 2023-09-19 咪咕文化科技有限公司 展示方法与电子设备

Similar Documents

Publication Publication Date Title
TWI410979B (zh) 快閃記憶體控制器、其錯誤更正碼控制器及其方法和系統
CN101079322B (zh) 多位存储装置和存储系统
CN107609161A (zh) 一种数据写入、读取方法和系统
US20150155058A1 (en) Error correction code unit, self-test method and associated controller applied to flash memory device for generating soft information
TWI446350B (zh) 用來減少無法更正的錯誤之方法以及記憶裝置及其控制器
US9348694B1 (en) Detecting and managing bad columns
KR20090097673A (ko) 연판정 값에 기반하여 메모리에 저장된 데이터를 검출하는장치
CN106445726A (zh) 一种分布式纠删码存储系统的数据修复方法
CN104220991A (zh) 用于允许数据在nand闪存上的有效存储的架构
US7257668B2 (en) Method and system for enhancing the endurance of memory cells
CN107544749A (zh) 数据储存媒体的损坏数据行的筛选方法
US20120066436A1 (en) Method for performing data shaping, and associated memory device and controller thereof
CN111309544A (zh) 一种读参考电压受多维因子影响的预测建模及施加方法
US20170185328A1 (en) Nand flash storage error mitigation systems and methods
US20110296082A1 (en) Method for Improving Service Life of Flash
CN102880554A (zh) 提高闪存芯片存储效率的方法、闪存存储系统及其控制器
CN104809031A (zh) 操作存储器的方法及存储器装置
CN112181710B (zh) 一种基于比特翻转的固态盘数据存储方法和装置
CN105336379B (zh) 一种信息处理方法及固态存储器
US10338984B2 (en) Storage control apparatus, storage apparatus, and storage control method
CN101752011B (zh) 一种用于多通道非易失固态存储设备的数据存储方法
CN104572336B (zh) 一种闪存错误检测方法及装置
CN114627959A (zh) 闪存检测方法、闪存检测装置、设备及介质
US11361221B2 (en) Method of training artificial intelligence to estimate lifetime of storage device
CN107544759A (zh) 一种磁盘阵列io分配系统及方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180119

RJ01 Rejection of invention patent application after publication