CN111124740A - 一种数据读取方法、装置、存储设备及机器可读存储介质 - Google Patents
一种数据读取方法、装置、存储设备及机器可读存储介质 Download PDFInfo
- Publication number
- CN111124740A CN111124740A CN201911266222.7A CN201911266222A CN111124740A CN 111124740 A CN111124740 A CN 111124740A CN 201911266222 A CN201911266222 A CN 201911266222A CN 111124740 A CN111124740 A CN 111124740A
- Authority
- CN
- China
- Prior art keywords
- sub
- storage
- data
- storage node
- original data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000008439 repair process Effects 0.000 claims abstract description 59
- 230000008569 process Effects 0.000 abstract description 24
- 230000001360 synchronised effect Effects 0.000 description 16
- 238000011084 recovery Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/1012—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 codes or arrangements adapted for a specific type of error
- G06F11/102—Error in check bits
-
- 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/1012—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 codes or arrangements adapted for a specific type of error
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据读取方法、装置、存储设备及机器可读存储介质,如果在从主存储节点的指定存储区域读取原始数据的过程中读取失败,则说明该指定存储区域可能发生了坏道,此时,通过从任一备存储节点读取数据,获取原始数据,将获取到的原始数据反馈给客户端,并将获取到的原始数据在指定存储区域进行覆盖写入操作,写入成功则完成了对坏道的修复。坏道修复的过程中,无需隔离出存在坏道的存储节点,同步进行向客户端反馈原始数据和对坏道进行修复的操作,避免了业务中断的发生,从而降低了坏道修复对分布式存储系统业务性能的影响。
Description
技术领域
本发明涉及存储技术领域,特别是涉及一种数据读取方法、装置、存储设备及机器可读存储介质。
背景技术
分布式存储系统包括多个存储节点,可以提供海量数据的存储服务。存储节点作为硬件存储设备,本身存在一定的故障率,存储节点故障会降低分布式存储系统的读写速率或者中断业务。目前,较为常见的故障包括坏道和坏盘。坏道分为物理坏道和逻辑坏道两种,物理坏道是指存储节点的物理结构出现损坏导致部分扇区的数据无法访问,通常是不可修复的;逻辑坏道是由存储节点内部软件异常或数据出现ECC(Error Correcting Code,错误检查和纠正)错误导致的,可以进行修复。
当前,对坏道进行修复,主要采用的方式是:对存在坏道的存储节点进行物理隔离,识别出该存储节点中的坏道,将该坏道中原本存储的数据在该坏道重新进行覆盖写入的操作,写入成功则说明该坏道修复完成。
由于对坏道进行修复时,需要将坏道的存储节点从系统中隔离出来,对该存储节点单独进行坏道修复,此过程中分布式存储系统无法对客户端的读取请求做出反馈,只有当坏道成功修复后,分布式存储系统才会对客户端的读取请求做出正常反馈,即在坏道修复的过程中分布式存储系统会出现业务中断的现象,影响分布式存储系统的业务性能。
发明内容
本发明实施例的目的在于提供一种数据读取方法、装置、存储设备及机器可读存储介质,以降低坏道修复对分布式存储系统业务性能的影响。具体技术方案如下:
第一方面,本发明实施例提供了一种数据读取方法,应用于分布式存储系统的主存储节点,该方法包括:
获取客户端发送的读取请求,其中,读取请求包括主存储节点中指定存储区域的第一标识信息;
根据第一标识信息,从指定存储区域读取原始数据;
若读取失败,则通过从任一备存储节点读取数据,获得原始数据;
将所获得的原始数据反馈给客户端,并将所获得的原始数据在指定存储区域进行覆盖写入操作,以修复指定存储区域的坏道。
可选的,任一备存储节点存储有原始数据的副本;通过从任一备存储节点读取数据,获得原始数据的步骤,包括:
向任一备存储节点发送获取请求,其中,获取请求包括该备存储节点中存储原始数据的副本的存储区域的第二标识信息,以使该备存储节点根据第二标识信息,从存储区域读取并向主存储节点反馈原始数据的副本;
接收该备存储节点反馈的原始数据的副本作为原始数据。
可选的,任一备存储节点存储有原始数据的校验码数据;通过从任一备存储节点读取数据,获得原始数据的步骤,包括:
向任一备存储节点发送获取请求,其中,获取请求包括该备存储节点中存储校验码数据的存储区域的第三标识信息,以使该备存储节点根据第三标识信息,从存储区域读取并向主存储节点反馈校验码数据;
接收该备存储节点反馈的校验码数据,并对校验码数据进行还原,得到原始数据。
可选的,在通过从任一备存储节点读取数据,获取原始数据的步骤之后,该方法还包括:
若从所有备存储节点都未读取到数据,则将指定存储区域划分为多个第一子存储块,并向各备存储节点发送划分指令,以使各备存储节点根据划分指令,将本地的存储区域划分为多个第二子存储块,各第一子存储块与各第二子存储块一一对应;
从各第一子存储块分别读取对原始数据划分后的各子数据;
针对任一第一子存储块,若未读取到子数据,则通过读取任一备存储节点中该第一子存储块对应的第二子存储块的数据,获得该子数据;
将获取到的原始数据反馈给客户端,并将获取到的原始数据在指定存储区域进行覆盖写入操作的步骤,包括:
将从第一子存储块读取的各子数据及从第二子存储块获得的各子数据反馈给客户端,并针对从第二子存储块获得的各子数据,在指定存储区域中存储该子数据的第一子存储块进行覆盖写入操作,以修复指定存储区域的坏道。
可选的,任一备存储节点存储有原始数据的副本;通过读取任一备存储节点中该第一子存储块对应的第二子存储块的数据,获得该子数据的步骤,包括:
向任一备存储节点发送获取请求,其中,获取请求包括该备存储节点中该第一子存储块对应的第二子存储块的第四标识信息,以使该备存储节点根据第四标识信息,从第二子存储块读取并向主存储节点反馈该子数据的副本;
接收该备存储节点反馈的子数据的副本作为该子数据。
可选的,任一备存储节点存储有原始数据的校验码数据;通过读取任一备存储节点中该第一子存储块对应的第二子存储块的数据,获得该子数据的步骤,包括:
向任一备存储节点发送获取请求,其中,获取请求包括该备存储节点中该第一子存储块对应的第二子存储块的第五标识信息,以使该备存储节点根据第五标识信息,从第二子存储块读取并向主存储节点反馈子校验码数据;
接收该备存储节点反馈的子校验码数据,并对子校验码数据进行还原,得到子数据。
第二方面,本发明实施例提供了一种数据读取装置,应用于分布式存储系统的主存储节点,该装置包括:
获取模块,用于获取客户端发送的读取请求,其中,读取请求包括主存储节点中指定存储区域的第一标识信息;
读取模块,用于根据第一标识信息,从指定存储区域读取原始数据;
获得模块,用于若读取失败,则通过从任一备存储节点读取数据,获得原始数据;
修复模块,用于将所获得的原始数据反馈给客户端,并将所获得的原始数据在指定存储区域进行覆盖写入操作,以修复指定存储区域的坏道。
可选的,任一备存储节点存储有原始数据的副本;获得模块,具体用于:
向任一备存储节点发送获取请求,其中,获取请求包括该备存储节点中存储原始数据的副本的存储区域的第二标识信息,以使该备存储节点根据第二标识信息,从存储区域读取并向主存储节点反馈原始数据的副本;
接收该备存储节点反馈的原始数据的副本作为原始数据。
可选的,任一备存储节点存储有原始数据的校验码数据;获得模块,具体用于:
向任一备存储节点发送获取请求,其中,获取请求包括该备存储节点中存储校验码数据的存储区域的第三标识信息,以使该备存储节点根据第三标识信息,从存储区域读取并向主存储节点反馈校验码数据;
接收该备存储节点反馈的校验码数据,并对校验码数据进行还原,得到原始数据。
可选的,该装置还包括:
划分模块,用于若从所有备存储节点都未读取到数据,则将指定存储区域划分为多个第一子存储块,并向各备存储节点发送划分指令,以使各备存储节点根据划分指令,将本地的存储区域划分为多个第二子存储块,各第一子存储块与各第二子存储块一一对应;
读取模块,还用于从各第一子存储块分别读取对原始数据划分后的各子数据;
获得模块,还用于针对任一第一子存储块,若未读取到子数据,则通过读取任一备存储节点中该第一子存储块对应的第二子存储块的数据,获得该子数据;
修复模块,具体用于:
将从第一子存储块读取的各子数据及从第二子存储块获得的各子数据反馈给客户端,并针对从第二子存储块获得的各子数据,在指定存储区域中存储该子数据的第一子存储块进行覆盖写入操作,以修复指定存储区域的坏道。
可选的,任一备存储节点存储有原始数据的副本;获得模块,具体用于:
向任一备存储节点发送获取请求,其中,获取请求包括该备存储节点中该第一子存储块对应的第二子存储块的第四标识信息,以使该备存储节点根据第四标识信息,从第二子存储块读取并向主存储节点反馈该子数据的副本;
接收该备存储节点反馈的子数据的副本作为该子数据。
可选的,任一备存储节点存储有原始数据的校验码数据;获得模块,具体用于:
向任一备存储节点发送获取请求,其中,获取请求包括该备存储节点中该第一子存储块对应的第二子存储块的第五标识信息,以使该备存储节点根据第五标识信息,从第二子存储块读取并向主存储节点反馈子校验码数据;
接收该备存储节点反馈的子校验码数据,并对子校验码数据进行还原,得到子数据。
第三方面,本发明实施例提供了一种存储设备,包括处理器和机器可读存储介质,其中,机器可读存储介质存储有能够被处理器执行的机器可执行指令;处理器被机器执行指令促使:实现本发明实施例第一方面所提供的数据读取方法。
第四方面,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,在被处理器调用和执行时,实现本发明实施例第一方面所提供的数据读取方法。
本发明实施例提供的一种数据读取方法、装置、存储设备及机器可读存储介质,主存储节点获取客户端发送的读取请求,根据读取请求携带的指定存储区域的第一标识信息,从本地的指定存储区域读取原始数据,若读取失败,则通过从任一备存储节点读取数据,获取原始数据,将获取到的原始数据反馈给客户端,并将获取到的原始数据在指定存储区域进行覆盖写入操作,以修复指定存储区域的坏道。如果在从主存储节点的指定存储区域读取原始数据的过程中读取失败,则说明该指定存储区域可能发生了坏道,此时,通过从任一备存储节点读取数据,获取原始数据,将获取到的原始数据反馈给客户端,并将获取到的原始数据在指定存储区域进行覆盖写入操作,写入成功则完成了对坏道的修复。坏道修复的过程中,无需隔离出存在坏道的存储节点,同步进行向客户端反馈原始数据和对坏道进行修复的操作,避免了业务中断的发生,从而降低了坏道修复对分布式存储系统业务性能的影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例的数据读取方法的流程示意图;
图2为本发明另一实施例的数据读取方法的流程示意图;
图3为本发明实施例的三副本坏道同步修复的流程示意图;
图4为本发明实施例的校验码坏道同步修复的流程示意图;
图5为本发明实施例的异步坏道修复的流程示意图;
图6为本发明实施例的数据读取装置的结构示意图;
图7为本发明实施例的存储设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了降低坏道修复对分布式存储系统业务性能的影响,本发明实施例提供了一种数据读取方法、装置、存储设备及机器可读存储介质。下面,首先对本发明实施例所提供的数据读取方法进行介绍。
本发明实施例所提供的数据读取方法的执行主体为分布式存储系统中出现坏道的主存储节点,主存储节点是分布式存储系统中接收客户端发起的读取请求、向客户端反馈数据的存储节点。实现本发明实施例所提供的数据读取方法的方式,可以为上述电子设备中的软件、电子电路、逻辑电路中的至少一种。
本发明实施例所提供的一种数据读取方法,如图1所示,可以包括如下步骤。
S101,获取客户端发送的读取请求,其中,读取请求包括主存储节点中指定存储区域的第一标识信息。
客户端下发读取请求到分布式存储系统,读取请求包括了分布式存储系统中主存储节点中指定存储区域的第一标识信息,也就是说客户端请求到分布式存储系统中的哪个存储节点的哪个存储区域进行数据读取,可以通过发送读取请求的方式发送给分布式存储系统,由主存储节点获取到该读取请求。
S102,根据第一标识信息,从指定存储区域读取原始数据。
在获取到读取请求后,根据读取请求携带的第一标识信息,直接到本地的指定存储区域读取原始数据。指定存储区域的第一标识信息通常可以由数据在主存储节点中存储的偏移量和长度确定。
S103,若读取失败,则通过从任一备存储节点读取数据,获得原始数据。
如果从主存储节点的指定存储区域读取原始数据失败,则说明主存储节点的指定存储区域可能存在坏道的情况,需要对其进行修复。分布式存储系统中设置有多个备存储节点,备存储节点存储有主存储节点的指定存储区域内存储的原始数据的副本或者该原始数据的校验码数据、哈系值等可以还原出该原始数据的数据,可以通过从任一个备存储节点读取数据的方式获得原始数据。
S104,将所获得的原始数据反馈给客户端,并将所获得的原始数据在指定存储区域进行覆盖写入操作,以修复指定存储区域的坏道。
在获得到原始数据后,将所获得的原始数据反馈给客户端,同时,将所获得的原始数据在指定存储区域进行覆盖写入操作,也就是在指定存储区域直接进行数据的写入操作,覆盖掉指定存储区域原本的数据,如果写入成功,指定存储区域的底层会回复一个写入成功的状态码,表示指定存储区域的坏道已修复。如果本次写入失败,则会再次尝试写入,如果在很长一段时间内连续写入失败,则会认为当前为物理坏道,无法进行修复,这种情况下可以通知技术人员对存储节点进行更换。
应用本发明实施例,主存储节点获取客户端发送的读取请求,根据读取请求携带的指定存储区域的第一标识信息,从本地的指定存储区域读取原始数据,若读取失败,则通过从任一备存储节点读取数据,获取原始数据,将获取到的原始数据反馈给客户端,并将获取到的原始数据在指定存储区域进行覆盖写入操作,以修复指定存储区域的坏道。如果在从主存储节点的指定存储区域读取原始数据的过程中读取失败,则说明该指定存储区域可能发生了坏道,此时,通过从任一备存储节点读取数据,获取原始数据,将获取到的原始数据反馈给客户端,并将获取到的原始数据在指定存储区域进行覆盖写入操作,写入成功则完成了对坏道的修复。坏道修复的过程中,无需隔离出存在坏道的存储节点,同步进行向客户端反馈原始数据和对坏道进行修复的操作,避免了业务中断的发生,从而降低了坏道修复对分布式存储系统业务性能的影响。
在发生坏道的情况下,本发明实施例所提供的方案可以同步进行向客户端反馈原始数据和对坏道进行修复的操作,将这种方式称为坏道同步修复,根据分布式存储系统的存储策略,坏道同步修复又分为副本坏道同步修复和校验码坏道同步修复。下面,分别对副本坏道同步修复和校验码坏道同步修复进行介绍。
在副本坏道同步修复的实施方式下,主存储节点存储的原始数据的副本会在多个备存储节点上备份存储。在该实施方式下,通过从任一备存储节点读取数据,获得原始数据的步骤,具体可以包括:向任一备存储节点发送获取请求,其中,获取请求包括该备存储节点中存储原始数据的副本的存储区域的第二标识信息,以使该备存储节点根据第二标识信息,从存储区域读取并向主存储节点反馈原始数据的副本;接收该备存储节点反馈的原始数据的副本作为该原始数据。
预先记录原始数据在主存储节点存储的位置和原始数据的副本在各备存储节点存储的位置(即存储区域的标识信息,通常以偏移量和数据长度表示),在从主存储节点的指定存储区域读取原始数据的过程中遇到坏道导致数据读取失败时,向任一备存储节点发送获取请求,用于通知该备存储节点到哪个存储区域读取数据,该备存储节点在读取出数据后,将读取的数据反馈回来,由于备存储节点存储的是原始数据的副本,则该备存储节点反馈回来的就是用于进行坏道修复的原始数据。为了实现方便,可以设定主存储节点存储原始数据的位置和备存储节点存储该原始数据的副本的位置是一致的(即具有相同的偏移量和数据长度),则在发送获取请求时,可以直接发送主存储节点中指定存储节点的标识信息。
在校验码坏道同步修复的实施方式下,对原始数据计算出校验码数据,并将校验码数据存储在备存储节点,即分布式存储系统中的存储节点分为两种类型,一种用于存储原始数据,另一种用于存储校验码数据。在该实施方式下,通过从任一备存储节点读取数据,获得原始数据的步骤,具体可以包括:向任一备存储节点发送获取请求,其中,获取请求包括该备存储节点中存储校验码数据的存储区域的第三标识信息,以使该备存储节点根据第三标识信息,从存储区域读取并向主存储节点反馈校验码数据;接收该备存储节点反馈的校验码数据,并对校验码数据进行还原,得到原始数据。
校验码数据为用于对一个数据进行校验、还原的数据,校验码数据与原始数据相对应,利用校验码数据可以还原出对应的原始数据,校验码数据可以为纠删码等。
预先记录原始数据在主存储节点存储的位置和该原始数据的校验码数据在各备存储节点存储的位置,在从主存储节点的指定存储区域读取原始数据的过程中遇到坏道导致数据读取失败时,向任一备存储节点发送获取请求,用于通知该备存储节点到哪个存储区域读取校验码数据,该备存储节点在读取出校验码数据后,将读取的校验码数据反馈回来,由主存储节点对校验码数据进行还原,得到用于进行坏道修复的原始数据。为了实现方便,可以设定主存储节点存储原始数据的位置和备存储节点存储该原始数据的校验码数据的位置是一致的(即具有相同的偏移量和数据长度),则在发送获取请求时,可以直接发送主存储节点中指定存储节点的标识信息。
在另一种实现方式中,原始数据和校验码数据可以平均存储在多个存储节点中,例如将原始数据拆分为两分,一份存储于存储节点1、另一份存储于存储节点2,相应的,校验码数据也拆分为两分,一份存储于存储节点3、另一份存储于存储节点4,当出现某一份数据读取失败时,则到相应的存储节点读取校验码数据,再进行数据还原、覆盖写入操作,从而实现对存储节点坏道的修复。
基于图1所示实施例,本发明实施例还提供了一种数据读取方法,如图2所示,该方法可以包括如下步骤:
S201,获取客户端发送的读取请求,其中,读取请求包括主存储节点中指定存储区域的第一标识信息。
S202,根据第一标识信息,从指定存储区域读取原始数据。
S203,若读取失败,则通过从任一备存储节点读取数据,获得原始数据。
S201至S203与图1所示实施例中的S101至S103相同,这里不再赘述。
S204,若从所有备存储节点都未读取到数据,则将指定存储区域划分为多个第一子存储块,并向各备存储节点发送划分指令,以使各备存储节点根据划分指令,将本地的存储区域划分为多个第二子存储块,各第一子存储块与各第二子存储块一一对应。
主存储节点在从备存储节点读取数据时,如果从所有备存储节点都没有读取到数据,则说明各备存储节点也可能出现了坏道的情况,此时需要进行坏道异步修复,即将主存储节点的指定存储区域和备存储节点相应的存储区域进行划分,具体的,将主存储节点的指定存储区域划分为多个第一子存储块,并向各备存储节点发送划分指令,划分指令携带有需要进行划分的存储区域的标识信息、各自存储块的大小等,各备存储节点在接收到划分指令后,根据划分指令,将本地用于存储原始数据的副本或者校验码数据的存储区域划分为多个第二子存储块,第二子存储块的数据和第一子存储块的数据相同,第二子存储块和第一子存储块一一对应。
S205,从各第一子存储块分别读取对原始数据划分后的各子数据。
S206,针对任一第一子存储块,若未读取到子数据,则通过读取任一备存储节点中该第一子存储块对应的第二子存储块的数据,获得该子数据。
对指定存储区域进行划分,也就对指定存储区域中存储的原始数据进行了划分,各第一子存储块中存储着对原始数据划分后的各子数据。从各第一子存储块分别读取各子数据,对于某一个第一子存储块,如果能够读取到子数据,则说明该第一子存储块是正常的,没有坏道的情况,如果不能读取到子数据,则说明该第一子存储块有坏道,需要对其进行修复。相应的,可以通过从任一备存储节点中该第一子存储块对应的第二子存储块读取数据的方式获得子数据。
S207,将从第一子存储块读取的各子数据及从第二子存储块获得的各子数据反馈给客户端,并针对从第二子存储块获得的各子数据,在指定存储区域中存储该子数据的第一子存储块进行覆盖写入操作,以修复指定存储区域的坏道。
在从第二子存储块获得到各子数据后,将从第一子存储块读取的各子数据和从第二子存储块获得的子数据一同反馈给客户端,同时,将从第二子存储块获得的子数据在对应的第一子存储块进行覆盖写入操作,覆盖掉该第一子存储块原本的子数据,如果写入成功,指定存储区域的底层会回复一个写入成功的状态码,表示该第一子存储块的坏道已修复。如果本次写入失败,则会再次尝试写入,如果在很长一段时间内连续写入失败,则会认为当前为物理坏道,无法进行修复,这种情况下可以通知技术人员对存储节点进行更换。
应用本发明实施例,应对了主存储节点、备存储节点可能都会发生坏道的情况,这种情况下,将主存储节点的指定存储区域和备存储节点对应的存储区域进行划分,按照每个子存储块进行数据读取、坏道修复,解决了因备存储节点坏道而导致主存储节点坏道无法修复的问题,提高了坏道修复的几率和修复效率。
图2所示的方案称为坏道异步修复,根据分布式存储系统的存储策略,坏道异步修复又分为副本坏道异步修复和校验码坏道异步修复。下面,分别对副本坏道异步修复和校验码坏道异步修复进行介绍。
在副本坏道异步修复的实施方式下,主存储节点存储的原始数据的副本会在多个备存储节点上备份存储,并且,主存储节点中存储原始数据的指定存储区域被划分为多个第一子存储块,备存储节点中存储该原始数据的副本的存储区域被划分为多个第二子存储块,各第一子存储块用于存储原始数据划分后的各子数据、各第二子存储块用于存储原始数据划分后的各子数据的副本,各第一子存储块与各第二子存储块一一对应。
在该实施方式下,通过读取任一备存储节点中该第一子存储块对应的第二子存储块的数据,获得该子数据的步骤,具体可以包括:向任一备存储节点发送获取请求,其中,获取请求包括该备存储节点中该第一子存储块对应的第二子存储块的第四标识信息,以使该备存储节点根据第四标识信息,从第二子存储块读取并向主存储节点反馈该子数据的副本;接收该备存储节点反馈的子数据的副本作为该子数据。
对主存储节点存储原始数据的指定存储区域和备存储节点存储该原始数据的副本的存储区域进行划分(一般按照最小单位的偏移长度进行划分),预先记录存储子数据的第一子存储块的位置和存储该子数据的副本的第二子存储块的位置(即第一子存储块和第二子存储块的标识信息,通常以偏移量和子数据长度表示),在从某一个第一子存储块读取子数据的过程中遇到坏道导致读取失败时,向任一备存储节点发送获取请求,用于通知该备存储节点到哪个第二子存储块读取子数据的副本,该备存储节点在读取出子数据的副本后,将读取的子数据的副本反馈回来,在获取到反馈回来的子数据的副本后,相应的在第一子存储块进行覆盖写入操作,只对一个子存储块进行坏道修复,能够提高修复效率。为了实现方便,可以设定存储子数据的第一子存储块的位置和存储该子数据的副本的第二子存储块的位置是一致的(即具有相同的偏移量和数据长度),则在发送获取请求时,可以直接发送第一子存储块的标识信息。
在校验码坏道异步修复的实施方式下,将原始数据计算出校验码数据,并将校验码数据存储在备存储节点,即分布式存储系统中的存储节点分为两种类型,一种用于存储原始数据,另一种用于存储校验码数据。并且,主存储节点中存储原始数据的指定存储区域被划分为多个第一子存储块,备存储节点中存储该原始数据的校验码数据的存储区域被划分为多个第二子存储块,各第一子存储块与各第二子存储块一一对应。
在该实施方式下,通过读取任一备存储节点中该第一子存储块对应的第二子存储块的数据,获得该子数据的,具体可以包括:向任一备存储节点发送获取请求,其中,获取请求包括该备存储节点中该第一子存储块对应的第二子存储块的第五标识信息,以使该备存储节点根据第五标识信息,从第二子存储块读取并向主存储节点反馈子校验码数据;接收该备存储节点反馈的子校验码数据,并对子校验码数据进行还原,得到子数据。
预先记录存储一份子数据的第一子存储块的位置、以及存储该子数据的子校验码数据的第二子存储块的位置,在从某一个第一子存储块读取子数据的过程中遇到坏道导致读取失败时,向任一备存储节点发送获取请求,用于通知该备存储节点到哪个第二子存储块读取子校验码数据,该备存储节点在读取出子校验码数据后,将读取的子校验码数据反馈回来,由主存储节点对子校验码数据进行还原,即得到了用于进行坏道修复的子数据,相应的在第一子存储块进行覆盖写入操作。为了实现方便,可以设定存储子数据的第一子存储块的位置和存储该子数据的子校验码数据的第二子存储块的位置是一致的(即具有相同的偏移量和数据长度),则在发送获取请求时,可以直接发送第一子存储块的标识信息。
为了便于理解,下面结合图1和图2所示实施例,以发生坏道的主存储节点为执行主体为例,对本发明实施例的数据读取与坏道修复的整个过程进行详细说明。
在副本坏道同步修复的方式下,副本存储策略即在分布式存储系统中,主存储节点存储原始数据、备存储节点存储原始数据的副本,每个存储节点中存储数据的位置是一致的,数据读取时优先在主存储节点上读取。在数据读取过程中遇到坏道导致数据读取失败时,首先进行数据恢复去备存储节点上读取原始数据的副本,数据读取成功后将此原始数据的副本在主存储节点本地进行覆盖写入,如果覆盖写入的操作成功(即接收到底层硬件回复的写入成功的状态码)则表示主存储节点的坏道被成功修复。如图3所示,为三副本坏道同步修复的流程示意图,主要包括如下步骤:
第一步,客户端下发读取请求到分布式存储系统,首先去存储节点1上读取数据,存储区域1表示读取的数据偏移和长度,其中的存储区域2表示存储节点1中的坏道区域。
第二步,因为存储节点1中存在坏道,会导致整个存储区域1的数据读取失败,此时,存储节点1会去存储节点2上读取副本。读取成功后,副本返回到存储节点1。
第三步,存储节点1将在存储节点2上读取的副本返回给客户端。
第四步,同步修复,存储节点1将读取到的副本在整个存储区域1进行覆盖写入。如果写入成功,存储节点1中坏道将会被修复。
在校验码坏道同步修复的方式下,校验码存储策略即在分布式存储系统中,将一份数据计算出校验码数据,然后将原始数据和校验码数据平均存储在多个存储节点中,存储节点分为数据盘和校验盘,数据盘中存储的是原始数据,校验盘存储的是校验码数据,数据盘和校验盘中数据存储的偏移量和长度是相同的。在数据读取过程中遇到坏道导致数据读取失败时,会去读取校验盘上的数据,然后进行数据还原,如果还原成功,将此数据重新写入该存储节点,再将多个数据盘的数据作为整体返回给客户端。如图4所示,为校验码坏道同步修复的流程示意图,其中,存储节点1和存储节点2为数据盘,存储节点3为校验盘,主要包括如下步骤:
第一步,客户端下发读取请求到分布式存储系统。首先去存储节点1和存储节点2上读取数据。
第二步,因为存储节点1中存在坏道,会导致从存储节点1读取数据失败,此时,存储节点1会去存储节点3上读取校验码数据。读取成功后,校验码数据返回到存储节点1。
第三步,存储节点1将接收到的校验码数据还原出原数据,并从存储节点2获取数据,将还原出来的数据和从存储节点2获取的数据返回给客户端。
第四步,同步修复,存储节点1将还原出的数据在整个存储区域1进行覆盖写入。如果写入成功,存储节点1中坏道将会被修复。
上述可以看出坏道同步修复要求分布式存储系统在读取数据遇到坏道时能够按照存储策略还原出或者从其他的存储节点上读取出完整数据,然后使用这个完整数据对坏道进行修复。在实际的分布式存储系统中,如果多个存储节点出现坏道,则可能导致数据无法还原或者无法从其他存储节点读取数据,这时就需要进行坏道异步修复。
在坏道异步修复的方式下,副本和校验码策略与同步修复转入异步修复流程一样,如图5所示,三个存储节点在存储区域都存在不同偏移地址和长度的坏道(图中阴影部分),这样会导致三个存储节点在一次读取整个存储区域的数据时失败,从而无法完成坏道修复,这个时候就需要将存储区域按照最小单位的偏移长度进行划分,相应的,数据也进行了划分,后续针对每个最小单位的子存储块进行数据读取或者数据还原,再进行相应的子存储块的坏道恢复。图5中虽然每个存储节点上都有坏道,但是每个坏道对应另外两个存储节点的区域时没有坏道的,因此在后续分块读取时再遇到坏道就可能完成坏道修复了。
相应于上述方法实施例,本发明实施例提供了一种数据读取装置,如图6所示,该装置可以包括:
获取模块610,用于获取客户端发送的读取请求,其中,读取请求包括主存储节点中指定存储区域的第一标识信息;
读取模块620,用于根据第一标识信息,从指定存储区域读取原始数据;
获得模块630,用于若读取失败,则通过从任一备存储节点读取数据,获得原始数据;
修复模块640,用于将所获得的原始数据反馈给客户端,并将所获得的原始数据在指定存储区域进行覆盖写入操作,以修复指定存储区域的坏道。
可选的,任一备存储节点存储有原始数据的副本;获得模块630,具体可以用于:
向任一备存储节点发送获取请求,其中,获取请求包括该备存储节点中存储原始数据的副本的存储区域的第二标识信息,以使该备存储节点根据第二标识信息,从存储区域读取并向主存储节点反馈原始数据的副本;
接收该备存储节点反馈的原始数据的副本作为原始数据。
可选的,任一备存储节点存储有原始数据的校验码数据;获得模块630,具体可以用于:
向任一备存储节点发送获取请求,其中,获取请求包括该备存储节点中存储校验码数据的存储区域的第三标识信息,以使该备存储节点根据第三标识信息,从存储区域读取并向主存储节点反馈校验码数据;
接收该备存储节点反馈的校验码数据,并对校验码数据进行还原,得到原始数据。
可选的,该装置还可以包括:
划分模块,用于若从所有备存储节点都未读取到数据,则将指定存储区域划分为多个第一子存储块,并向各备存储节点发送划分指令,以使各备存储节点根据划分指令,将本地的存储区域划分为多个第二子存储块,各第一子存储块与各第二子存储块一一对应;
读取模块,还可以用于从各第一子存储块分别读取对原始数据划分后的各子数据;
获得模块,还可以用于针对任一第一子存储块,若未读取到子数据,则通过读取任一备存储节点中该第一子存储块对应的第二子存储块的数据,获得该子数据;
修复模块640,具体可以用于:
将从第一子存储块读取的各子数据及从第二子存储块获得的各子数据反馈给客户端,并针对从第二子存储块获得的各子数据,在指定存储区域中存储该子数据的第一子存储块进行覆盖写入操作,以修复指定存储区域的坏道。
可选的,任一备存储节点存储有原始数据的副本;获得模块630,具体可以用于:
向任一备存储节点发送获取请求,其中,获取请求包括该备存储节点中该第一子存储块对应的第二子存储块的第四标识信息,以使该备存储节点根据第四标识信息,从第二子存储块读取并向主存储节点反馈该子数据的副本;
接收该备存储节点反馈的子数据的副本作为该子数据。
可选的,任一备存储节点存储有原始数据的校验码数据;获得模块630,具体可以用于:
向任一备存储节点发送获取请求,其中,获取请求包括该备存储节点中该第一子存储块对应的第二子存储块的第五标识信息,以使该备存储节点根据第五标识信息,从第二子存储块读取并向主存储节点反馈子校验码数据;
接收该备存储节点反馈的子校验码数据,并对子校验码数据进行还原,得到子数据。
应用本发明实施例,主存储节点获取客户端发送的读取请求,根据读取请求携带的指定存储区域的第一标识信息,从本地的指定存储区域读取原始数据,若读取失败,则通过从任一备存储节点读取数据,获取原始数据,将获取到的原始数据反馈给客户端,并将获取到的原始数据在指定存储区域进行覆盖写入操作,以修复指定存储区域的坏道。如果在从主存储节点的指定存储区域读取原始数据的过程中读取失败,则说明该指定存储区域可能发生了坏道,此时,通过从任一备存储节点读取数据,获取原始数据,将获取到的原始数据反馈给客户端,并将获取到的原始数据在指定存储区域进行覆盖写入操作,写入成功则完成了对坏道的修复。坏道修复的过程中,无需隔离出存在坏道的存储节点,同步进行向客户端反馈原始数据和对坏道进行修复的操作,避免了业务中断的发生,从而降低了坏道修复对分布式存储系统业务性能的影响。
本发明实施例还提供了一种存储设备,如图7所示,该存储设备包括处理器701和机器可读存储介质702,机器可读存储介质702存储有能够被处理器701执行的机器可执行指令,处理器被机器可执行指令促使:实现本发明实施例所提供的数据读取方法。
本发明实施例中,处理器701通过读取机器可读存储介质702中存储的机器可执行指令,被机器可执行指令促使能够实现:主存储节点获取客户端发送的读取请求,根据读取请求携带的指定存储区域的第一标识信息,从本地的指定存储区域读取原始数据,若读取失败,则通过从任一备存储节点读取数据,获取原始数据,将获取到的原始数据反馈给客户端,并将获取到的原始数据在指定存储区域进行覆盖写入操作,以修复指定存储区域的坏道。如果在从主存储节点的指定存储区域读取原始数据的过程中读取失败,则说明该指定存储区域可能发生了坏道,此时,通过从任一备存储节点读取数据,获取原始数据,将获取到的原始数据反馈给客户端,并将获取到的原始数据在指定存储区域进行覆盖写入操作,写入成功则完成了对坏道的修复。坏道修复的过程中,无需隔离出存在坏道的存储节点,同步进行向客户端反馈原始数据和对坏道进行修复的操作,避免了业务中断的发生,从而降低了坏道修复对分布式存储系统业务性能的影响。
上述机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processor,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
另外,本发明实施例提供了一种机器可读存储介质,该机器可读存储介质内存储有机器可执行指令,在被处理器调用和执行时,实现本申请实施例所提供的数据读取方法。
本实施例中,机器可读存储介质中存储的机器可执行指令在运行时能够实现:主存储节点获取客户端发送的读取请求,根据读取请求携带的指定存储区域的第一标识信息,从本地的指定存储区域读取原始数据,若读取失败,则通过从任一备存储节点读取数据,获取原始数据,将获取到的原始数据反馈给客户端,并将获取到的原始数据在指定存储区域进行覆盖写入操作,以修复指定存储区域的坏道。如果在从主存储节点的指定存储区域读取原始数据的过程中读取失败,则说明该指定存储区域可能发生了坏道,此时,通过从任一备存储节点读取数据,获取原始数据,将获取到的原始数据反馈给客户端,并将获取到的原始数据在指定存储区域进行覆盖写入操作,写入成功则完成了对坏道的修复。坏道修复的过程中,无需隔离出存在坏道的存储节点,同步进行向客户端反馈原始数据和对坏道进行修复的操作,避免了业务中断的发生,从而降低了坏道修复对分布式存储系统业务性能的影响。
对于存储设备以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、存储设备以及机器可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种数据读取方法,其特征在于,应用于分布式存储系统的主存储节点,所述方法包括:
获取客户端发送的读取请求,所述读取请求包括所述主存储节点中指定存储区域的第一标识信息;
根据所述第一标识信息,从所述指定存储区域读取原始数据;
若读取失败,则通过从任一备存储节点读取数据,获得所述原始数据;
将所获得的所述原始数据反馈给所述客户端,并将所获得的所述原始数据在所述指定存储区域进行覆盖写入操作,以修复所述指定存储区域的坏道。
2.根据权利要求1所述的方法,其特征在于,所述任一备存储节点存储有所述原始数据的副本;所述通过从任一备存储节点读取数据,获得所述原始数据,包括:
向任一备存储节点发送获取请求,所述获取请求包括所述任一备存储节点中存储所述原始数据的副本的存储区域的第二标识信息,以使所述任一备存储节点根据所述第二标识信息,从所述存储区域读取并向所述主存储节点反馈所述原始数据的副本;
接收所述任一备存储节点反馈的所述原始数据的副本作为所述原始数据。
3.根据权利要求1所述的方法,其特征在于,所述任一备存储节点存储有所述原始数据的校验码数据;所述通过从任一备存储节点读取数据,获得所述原始数据,包括:
向任一备存储节点发送获取请求,所述获取请求包括所述任一备存储节点中存储所述校验码数据的存储区域的第三标识信息,以使所述任一备存储节点根据所述第三标识信息,从所述存储区域读取并向所述主存储节点反馈所述校验码数据;
接收所述任一备存储节点反馈的所述校验码数据,并对所述校验码数据进行还原,得到所述原始数据。
4.根据权利要求1所述的方法,其特征在于,在所述通过从任一备存储节点读取数据,获取所述原始数据之后,所述方法还包括:
若从所有备存储节点都未读取到数据,则将所述指定存储区域划分为多个第一子存储块,并向各备存储节点发送划分指令,以使所述各备存储节点根据所述划分指令,将本地的存储区域划分为多个第二子存储块,各第一子存储块与各第二子存储块一一对应;
从所述各第一子存储块分别读取对所述原始数据划分后的各子数据;
针对任一第一子存储块,若未读取到子数据,则通过读取任一备存储节点中该第一子存储块对应的第二子存储块的数据,获得该子数据;
所述将获取到的所述原始数据反馈给所述客户端,并将获取到的所述原始数据在所述指定存储区域进行覆盖写入操作,包括:
将从所述第一子存储块读取的各子数据及从所述第二子存储块获得的各子数据反馈给所述客户端,并针对从所述第二子存储块获得的各子数据,在所述指定存储区域中存储该子数据的第一子存储块进行覆盖写入操作,以修复所述指定存储区域的坏道。
5.根据权利要求4所述的方法,其特征在于,所述任一备存储节点存储有所述原始数据的副本;所述通过读取任一备存储节点中该第一子存储块对应的第二子存储块的数据,获得该子数据,包括:
向任一备存储节点发送获取请求,所述获取请求包括所述任一备存储节点中该第一子存储块对应的第二子存储块的第四标识信息,以使所述任一备存储节点根据所述第四标识信息,从所述第二子存储块读取并向所述主存储节点反馈该子数据的副本;
接收所述任一备存储节点反馈的子数据的副本作为该子数据。
6.根据权利要求4所述的方法,其特征在于,所述任一备存储节点存储有所述原始数据的校验码数据;所述通过读取任一备存储节点中该第一子存储块对应的第二子存储块的数据,获得该子数据,包括:
向任一备存储节点发送获取请求,所述获取请求包括所述任一备存储节点中该第一子存储块对应的第二子存储块的第五标识信息,以使所述任一备存储节点根据所述第五标识信息,从所述第二子存储块读取并向所述主存储节点反馈子校验码数据;
接收所述任一备存储节点反馈的子校验码数据,并对所述子校验码数据进行还原,得到子数据。
7.一种数据读取装置,其特征在于,应用于分布式存储系统的主存储节点,所述装置包括:
获取模块,用于获取客户端发送的读取请求,所述读取请求包括所述主存储节点中指定存储区域的第一标识信息;
读取模块,用于根据所述第一标识信息,从所述指定存储区域读取原始数据;
获得模块,用于若读取失败,则通过从任一备存储节点读取数据,获得所述原始数据;
修复模块,用于将所获得的所述原始数据反馈给所述客户端,并将所获得的所述原始数据在所述指定存储区域进行覆盖写入操作,以修复所述指定存储区域的坏道。
8.根据权利要求7所述的装置,其特征在于,所述任一备存储节点存储有所述原始数据的副本;所述获得模块,具体用于:
向任一备存储节点发送获取请求,所述获取请求包括所述任一备存储节点中存储所述原始数据的副本的存储区域的第二标识信息,以使所述任一备存储节点根据所述第二标识信息,从所述存储区域读取并向所述主存储节点反馈所述原始数据的副本;
接收所述任一备存储节点反馈的所述原始数据的副本作为所述原始数据。
9.根据权利要求7所述的装置,其特征在于,所述任一备存储节点存储有所述原始数据的校验码数据;所述获得模块,具体用于:
向任一备存储节点发送获取请求,所述获取请求包括所述任一备存储节点中存储所述校验码数据的存储区域的第三标识信息,以使所述任一备存储节点根据所述第三标识信息,从所述存储区域读取并向所述主存储节点反馈所述校验码数据;
接收所述任一备存储节点反馈的所述校验码数据,并对所述校验码数据进行还原,得到所述原始数据。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
划分模块,用于若从所有备存储节点都未读取到数据,则将所述指定存储区域划分为多个第一子存储块,并向各备存储节点发送划分指令,以使所述各备存储节点根据所述划分指令,将本地的存储区域划分为多个第二子存储块,各第一子存储块与各第二子存储块一一对应;
所述读取模块,还用于从所述各第一子存储块分别读取对所述原始数据划分后的各子数据;
所述获得模块,还用于针对任一第一子存储块,若未读取到子数据,则通过读取任一备存储节点中该第一子存储块对应的第二子存储块的数据,获得该子数据;
所述修复模块,具体用于:
将从所述第一子存储块读取的各子数据及从所述第二子存储块获得的各子数据反馈给所述客户端,并针对从所述第二子存储块获得的各子数据,在所述指定存储区域中存储该子数据的第一子存储块进行覆盖写入操作,以修复所述指定存储区域的坏道。
11.根据权利要求10所述的装置,其特征在于,所述任一备存储节点存储有所述原始数据的副本;所述获得模块,具体用于:
向任一备存储节点发送获取请求,所述获取请求包括所述任一备存储节点中该第一子存储块对应的第二子存储块的第四标识信息,以使所述任一备存储节点根据所述第四标识信息,从所述第二子存储块读取并向所述主存储节点反馈该子数据的副本;
接收所述任一备存储节点反馈的子数据的副本作为该子数据。
12.根据权利要求10所述的装置,其特征在于,所述任一备存储节点存储有所述原始数据的校验码数据;所述获得模块,具体用于:
向任一备存储节点发送获取请求,所述获取请求包括所述任一备存储节点中该第一子存储块对应的第二子存储块的第五标识信息,以使所述任一备存储节点根据所述第五标识信息,从所述第二子存储块读取并向所述主存储节点反馈子校验码数据;
接收所述任一备存储节点反馈的子校验码数据,并对所述子校验码数据进行还原,得到子数据。
13.一种存储设备,其特征在于,包括处理器和机器可读存储介质,其中,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器被机器执行指令促使:实现权利要求1-6任一所述的方法。
14.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,在被处理器调用和执行时,实现权利要求1-6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911266222.7A CN111124740A (zh) | 2019-12-11 | 2019-12-11 | 一种数据读取方法、装置、存储设备及机器可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911266222.7A CN111124740A (zh) | 2019-12-11 | 2019-12-11 | 一种数据读取方法、装置、存储设备及机器可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111124740A true CN111124740A (zh) | 2020-05-08 |
Family
ID=70498573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911266222.7A Pending CN111124740A (zh) | 2019-12-11 | 2019-12-11 | 一种数据读取方法、装置、存储设备及机器可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111124740A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930550A (zh) * | 2020-08-18 | 2020-11-13 | 政采云有限公司 | 一种客户端修复方法、装置、设备及介质 |
CN113849352A (zh) * | 2021-09-27 | 2021-12-28 | 北京金山云网络技术有限公司 | 业务数据存储异常处理方法、装置及服务器 |
CN114489464A (zh) * | 2020-10-27 | 2022-05-13 | 北京金山云网络技术有限公司 | 数据写入方法、装置和电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103370692A (zh) * | 2012-11-21 | 2013-10-23 | 华为技术有限公司 | 一种修复数据的方法及装置 |
CN104639661A (zh) * | 2015-03-13 | 2015-05-20 | 华存数据信息技术有限公司 | 分布式存储系统及文件存储和读取方法 |
CN106201788A (zh) * | 2016-07-26 | 2016-12-07 | 乐视控股(北京)有限公司 | 用于分布式存储集群的副本修复方法及系统 |
CA3071925A1 (en) * | 2016-11-16 | 2018-05-24 | 10353744 Canada Ltd. | Erasure code-based partial write-in method and apparatus, storage medium and equipment |
US20180260146A1 (en) * | 2017-03-10 | 2018-09-13 | International Business Machines Corporation | Managing data storage by an asynchronous copy service |
US10191678B1 (en) * | 2017-04-27 | 2019-01-29 | EMC IP Holding Company LLC | System and method for data re-protection with erasure coding |
CN109783016A (zh) * | 2018-12-25 | 2019-05-21 | 西安交通大学 | 一种分布式存储系统中的弹性多维度冗余方法 |
-
2019
- 2019-12-11 CN CN201911266222.7A patent/CN111124740A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103370692A (zh) * | 2012-11-21 | 2013-10-23 | 华为技术有限公司 | 一种修复数据的方法及装置 |
CN104639661A (zh) * | 2015-03-13 | 2015-05-20 | 华存数据信息技术有限公司 | 分布式存储系统及文件存储和读取方法 |
CN106201788A (zh) * | 2016-07-26 | 2016-12-07 | 乐视控股(北京)有限公司 | 用于分布式存储集群的副本修复方法及系统 |
CA3071925A1 (en) * | 2016-11-16 | 2018-05-24 | 10353744 Canada Ltd. | Erasure code-based partial write-in method and apparatus, storage medium and equipment |
US20180260146A1 (en) * | 2017-03-10 | 2018-09-13 | International Business Machines Corporation | Managing data storage by an asynchronous copy service |
US10191678B1 (en) * | 2017-04-27 | 2019-01-29 | EMC IP Holding Company LLC | System and method for data re-protection with erasure coding |
CN109783016A (zh) * | 2018-12-25 | 2019-05-21 | 西安交通大学 | 一种分布式存储系统中的弹性多维度冗余方法 |
Non-Patent Citations (3)
Title |
---|
YUZHE LI ET AL: "RE-Store: Reliable and Efficient KV-Store with Erasure Coding and Replication", 《2019 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER)》 * |
刘冰星等: "一种网络编码分布式存储系统中的数据更新策略", 《小型微型计算机系统》 * |
汪先锋: "《生态环境大数据》", 31 October 2019, 中国环境出版社 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930550A (zh) * | 2020-08-18 | 2020-11-13 | 政采云有限公司 | 一种客户端修复方法、装置、设备及介质 |
CN114489464A (zh) * | 2020-10-27 | 2022-05-13 | 北京金山云网络技术有限公司 | 数据写入方法、装置和电子设备 |
CN113849352A (zh) * | 2021-09-27 | 2021-12-28 | 北京金山云网络技术有限公司 | 业务数据存储异常处理方法、装置及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2017228544B2 (en) | Nonvolatile media dirty region tracking | |
CN106776130B (zh) | 一种日志恢复方法、存储装置和存储节点 | |
US9430329B2 (en) | Data integrity management in a data storage device | |
US7640412B2 (en) | Techniques for improving the reliability of file systems | |
JP5466953B2 (ja) | バックアップ方法及びディスクアレイシステム | |
US6701455B1 (en) | Remote copy system with data integrity | |
EP2857971B1 (en) | Method and device for repairing error data | |
US10481988B2 (en) | System and method for consistency verification of replicated data in a recovery system | |
CN111124740A (zh) | 一种数据读取方法、装置、存储设备及机器可读存储介质 | |
WO2024113685A1 (zh) | 一种raid阵列的数据恢复方法及相关装置 | |
CN112214175A (zh) | 数据处理方法、装置、数据节点及存储介质 | |
US20040128582A1 (en) | Method and apparatus for dynamic bad disk sector recovery | |
CN117472292B (zh) | 独立磁盘冗余阵列的数据重构方法及存储系统、控制器 | |
JP4143040B2 (ja) | ディスクアレイ制御装置、同装置に適用されるデータ欠損検出時の処理方法及びプログラム | |
JP2001142650A (ja) | アレイディスク制御方法及び装置 | |
US20100169572A1 (en) | Data storage method, apparatus and system for interrupted write recovery | |
JP2018136735A (ja) | メモリ制御装置及びメモリ制御方法 | |
CN118152181A (zh) | 固态硬盘数据恢复方法、终端设备、电子设备及存储介质 | |
US20220374310A1 (en) | Write request completion notification in response to partial hardening of write data | |
US20180181467A1 (en) | Hard disk array and method for reconstructing thereof | |
US20220254435A1 (en) | Semiconductor storage device and error processing method for defective memory cell in the device | |
CN116601609A (zh) | 将数据存储在计算机存储中 | |
CN107122261B (zh) | 一种存储设备的数据读写方法及装置 | |
JP2000047832A (ja) | ディスクアレイ装置、及びそのデータ制御方法 | |
CN118708130B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200508 |