CN108572793A - 数据写入和数据恢复方法、装置、电子设备及存储介质 - Google Patents

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

Info

Publication number
CN108572793A
CN108572793A CN201710970919.7A CN201710970919A CN108572793A CN 108572793 A CN108572793 A CN 108572793A CN 201710970919 A CN201710970919 A CN 201710970919A CN 108572793 A CN108572793 A CN 108572793A
Authority
CN
China
Prior art keywords
data
data copy
written
storage server
copy
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.)
Granted
Application number
CN201710970919.7A
Other languages
English (en)
Other versions
CN108572793B (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud 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 Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201710970919.7A priority Critical patent/CN108572793B/zh
Publication of CN108572793A publication Critical patent/CN108572793A/zh
Application granted granted Critical
Publication of CN108572793B publication Critical patent/CN108572793B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种数据写入和数据恢复方法、装置、电子设备及存储介质,方法包括:接收客户端发送的针对目标数据的写入请求;将写入请求发送给目标数据的所有数据副本对应的存储服务器;若存在无法被写入成功的所述目标数据的离线数据副本,确定除所述离线数据副本对应的第一存储服务器之外的用于存储所述目标数据的其他数据副本的其他存储服务器;在接收到所有所述其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本写入成功的响应消息后,向所述客户端返回所述目标数据写入成功的消息。应用本发明实施例提供的方案,减少了用户的等待时间,提高了用户体验。

Description

数据写入和数据恢复方法、装置、电子设备及存储介质
技术领域
本发明涉及分布式存储技术领域,特别是涉及一种数据写入和数据恢复方法、装置、电子设备及存储介质。
背景技术
随着网络技术的发展,为了方便使用,用户选择将数据集中存储到存储系统中。但是,随着网络上的数据量越来越大,用于集中存储数据的存储服务器的性能无法满足需求,而且一旦该服务器出现故障,用户则无法对该服务器上存储的目标数据进行写入操作,一般情况下,写入操作为创建或者修改操作。为了解决集中存储大规模数据对服务器性能要求过高的问题,以及数据存储的可靠性问题,存储系统通常采用分布式存储系统。
分布式存储系统是将目标数据切分成多个子目标数据,并将多个子目标数据分别存储在不同的存储服务器上,当用户需要对目标数据进行写入操作时,原来由一台服务器提供的服务现在由多台服务器提供,实现了服务负荷的分担,降低了目标数据存储对存储服务器性能的要求;另外,当多台存储服务器中的一台服务器发生故障,会导致故障存储服务器上存储的子目标数据不能被执行写入操作,而不会导致所有子目标数据不能被写入。虽然分布式存储技术解决了集中存储大规模的目标数据的对服务器性能要求过高的问题,并且提高了目标数据存储的可靠性问题,但是被存储的子目标数据只有一份。当其中一台存储服务器发生故障导致该存储服务器上的子目标数据发生了损坏时,由于数据只有一份,会导致该存储服务器存储的子目标数据无法恢复,因此分布式存储技术仍然存在数据存储可靠性的技术问题。
鉴于此,目前采用强一致性数据冗余技术用于进一步提高分布式数据存储的可靠性。强一致性数据冗余技术是指将同样的目标数据在不同的存储服务器上分别存储多份,常见的是存储三份,这三份数据完全一样,因此,这三份数据均被称为目标数据的数据副本。当用户需要对存储的目标数据进行写入操作时,只有在所有的数据副本都写入成功的情况下,存储系统才会认定该写入操作执行成功。一般来说,所有数据副本中越多的数据副本被写入成功,目标数据的存储可靠性越高。
但是现有技术采用的是强一致性写入逻辑:需要在目标数据的所有的数据副本都被写入成功的情况下,存储系统才会认定该写入操作执行成功。如果有一个数据副本的存储服务器发生了故障导致该数据副本离线,也就是不能被写入时,该写入操作就会被挂起,直到该数据副本被恢复后,并被写入成功后,才会向用户返回写入成功的消息。通常情况下,用户等待的时间通常达到数十秒甚至分钟级别,这将导致用户体验较差。
发明内容
本发明实施例的目的在于提供一种数据写入和数据恢复方法、装置、电子设备及存储介质,以实现提高用户体验的目的。具体技术方案如下:
第一方面,为达到上述目的,本发明实施例提供了一种数据写入方法,应用于分布式存储系统中的网关设备,方法包括:
接收客户端发送的针对目标数据的写入请求;
将写入请求发送给目标数据的所有数据副本对应的存储服务器;
若存在无法被写入成功的目标数据的离线数据副本,确定除离线数据副本对应的第一存储服务器之外的用于存储目标数据的其他数据副本的其他存储服务器,其中,第一存储服务器为存储离线数据副本的存储服务器;
在接收到所有其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本写入成功的响应消息的情况后,向客户端返回目标数据写入成功的消息。
可选的,在本发明实施例的一种具体实施方式中,在确定除离线数据副本对应的第一存储服务器之外的用于存储目标数据的其他数据副本的其他存储服务器之前,方法还包括:
获取用于存储被恢复的离线数据副本的第二存储服务器的标识信息;
根据标识信息,将离线数据副本的写入请求发送给第二存储服务器;
接收第二存储服务器发送的,目标数据的存储可靠性降低的消息;
在接收到所有其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本写入成功的响应消息后,向客户端返回目标数据写入成功的消息,包括:
在接收到目标数据的存储可靠性降低的消息,且接收到所有其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本写入成功的响应消息后,向客户端返回写入成功的消息。
可选的,在本发明实施例的一种具体实施方式中,方法还包括:
接收被恢复的目标数据的离线数据副本被写入成功后,对应的响应消息,其中,响应消息是由存储目标数据的被恢复的离线数据副本的存储服务器发送的。
可选的,在本发明实施例的一种具体实施方式中,若不存在无法被写入成功的目标数据的离线数据副本,方法还包括:
接收所有数据副本对应的存储服务器发送的,数据副本被写入成功的响应消息;
根据响应消息,向客户端返回写入成功的消息。
可选的,在本发明实施例的一种具体实施方式中,方法还包括:
读取响应消息对应的存储服务器中存储的数据副本,并将数据副本发送给第二存储服务器,以使第二存储服务器根据数据副本进行数据恢复。
可选的,在本发明实施例的一种具体实施方式中,方法还包括:
接收被恢复的离线数据副本被写入成功后,对应的响应消息,其中,响应消息是由第二存储服务器发送的。
可选的,在本发明实施例的一种具体实施方式中,方法还包括:
接收所有数据副本对应的存储服务器发送的,数据副本被写入成功的响应消息;
根据响应消息,向客户端返回写入成功的消息。
可选的,在本发明实施例的一种具体实施方式中,在接收客户端发送的针对目标数据的写入请求之前,方法还包括:
在用户登录客户端时,针对客户端对应的每一目标数据,判断目标数据的所有数据副本是否一致;
若不是所有数据副本一致,修复目标数据的数据副本。
可选的,在本发明实施例的一种具体实施方式中,方法还包括:
根据预设周期,针对客户端对应的每一目标数据,判断目标数据的所有数据副本是否一致;
若不是所有数据副本一致,修复目标数据的数据副本。
第二方面,为达到上述目的,本发明实施例还提供了一种数据写入方法,应用于分布式存储系统中的存储服务器,方法包括:
接收恢复离线数据副本的指令;
根据指令恢复离线数据副本;
接收网关设备发送的写入请求;
在离线数据副本未被恢复完成的情况下,向网关设备发送目标数据的存储可靠性降低的消息,并挂起写入请求。
可选的,在本发明实施例的一种具体实施方式中,方法还包括:
在离线数据副本被恢复完成的情况下,根据写入请求对被恢复的离线数据副本进行写入;
在写入完成后,向网关设备发送数据副本被写入成功的响应消息。
第三方面,本发明实施例还提供了一种数据恢复方法,应用于分布式存储系统中的存储服务器,方法包括:
接收恢复离线数据副本的指令;
根据指令,接收网关设备发送的与离线数据副本对应的数据;
根据与离线数据副本对应的数据,恢复离线数据副本。
第四方面,为达到上述目的,本发明实施例还提供了一种数据写入装置,应用于分布式存储系统中的网关设备,装置包括:第一接收模块、第一发送模块、确定模块和返回模块,其中,
第一接收模块,用于接收客户端发送的针对目标数据的写入请求;
第一发送模块,用于将写入请求发送给目标数据的所有数据副本对应的存储服务器;
确定模块,用于若存在无法被写入成功的目标数据的离线数据副本,确定除离线数据副本对应的第一存储服务器之外的用于存储目标数据的其他数据副本的其他存储服务器;
返回模块,用于在接收到所有其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本写入成功的响应消息后,向客户端返回目标数据写入成功的消息。
可选的,在本发明实施例的一种具体实施方式中,装置还包括:获取模块、第二接收模块,其中,
获取模块,用于获取用于存储被恢复的离线数据副本的第二存储服务器的标识信息;
第一发送模块,用于根据标识信息,将离线数据副本的写入请求发送给第二存储服务器;
第二接收模块,用于接收第二存储服务器发送的,目标数据的存储可靠性降低的消息;
返回模块,还用于在接收到目标数据的存储可靠性降低的消息,且接收到所有其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本写入成功的响应消息后,向客户端返回写入成功的消息。
可选的,在本发明实施例的一种具体实施方式中,装置还包括:第三接收模块,第三接收模块,用于接收被恢复的目标数据的离线数据副本被写入成功后,对应的响应消息,其中,响应消息是由存储目标数据的被恢复的离线数据副本的存储服务器发送的。
可选的,在本发明实施例的一种具体实施方式中,装置还包括第三接收模块,第三接收模块,用于接收所有数据副本对应的存储服务器发送的,数据副本被写入成功的响应消息;
返回模块,还用于根据第三接收模块接收的响应消息,向客户端返回写入成功的消息。
可选的,在本发明实施例的一种具体实施方式中,方法包括读取模块,用于读取响应消息对应的存储服务器中存储的数据副本,并将数据副本发送给第二存储服务器,以使第二存储服务器根据数据副本进行数据恢复。
可选的,在本发明实施例的一种具体实施方式中,装置还包括第三接收模块,用于接收被恢复的离线数据副本被写入成功后,对应的响应消息,其中,响应消息是由第二存储服务器发送的。
可选的,在本发明实施例的一种具体实施方式中,装置还包括:第三接收模块,用于接收所有数据副本对应的存储服务器发送的,数据副本被写入成功的响应消息;
返回模块,还用于根据响应消息,向客户端返回写入成功的消息。
可选的,在本发明实施例的一种具体实施方式中,装置还包括:判断模块和修复模块,其中,
判断模块,用于在用户登录客户端时,针对客户端对应的每一目标数据,判断目标数据的所有数据副本是否一致;
修复模块,用于若不是所有数据副本一致时,修复目标数据的数据副本。
可选的,在本发明实施例的一种具体实施方式中,装置还包括:判断模块和修复模块,其中,
判断模块,用于根据预设周期,针对客户端对应的每一目标数据,判断目标数据的所有数据副本是否一致;
修复模块,用于若不是所有数据副本一致时,修复目标数据的数据副本。
第五方面,为达到上述目的,本发明实施例还提供了一种数据写入装置,应用于分布式存储系统中的存储服务器,装置包括:第四接收模块、第一恢复模块、第五接收模块和第二发送模块,其中,
第四接收模块,用于接收恢复离线数据副本的指令;
第一恢复模块,用于根据指令恢复离线数据副本;
第五接收模块,用于接收网关设备发送的写入请求;
第二发送模块,用于在离线数据副本未被恢复完成的情况下,向网关设备发送目标数据的存储可靠性降低的消息,并挂起写入请求。
可选的,在本发明实施例的一种具体实施方式中,装置还包括:写入模块,用于在离线数据副本被恢复完成的情况下,根据写入请求对被恢复的离线数据副本进行写入;
第二发送模块,用于在写入模块写入完成后,向网关设备发送数据副本被写入成功的响应消息。
第六方面,本发明实施例还提供了一种数据恢复装置,应用于分布式存储系统中的存储服务器,装置包括:第六接收模块、第七接收模块和第二恢复模块,其中,
第六接收模块,用于接收恢复离线数据副本的指令;
第七接收模块,用于根据指令,接收网关设备发送的与离线数据副本对应的数据;
第二恢复模块,用于根据与离线数据副本对应的数据,恢复离线数据副本。
本发明实施例还提供了一种电子设备,包括处理器和存储器,其中
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一方法的步骤。
第七方面,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述第一方面的方法的步骤。
第八方面,本发明实施例还提供了一种电子设备,包括处理器和存储器,其中
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求上述第一方面的方法的步骤。
第九方面,本发明实施例还提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面的方法的步骤。
第十方面,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述第二方面的方法的步骤。
第十一方面,本发明实施例还提供了一种电子设备,包括处理器和存储器,其中
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第二方面的方法的步骤。
第十二方面,本发明实施例还提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面的方法的步骤。
第十三方面,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述第三方面的方法的步骤。
第十四方面,本发明实施例还提供了一种电子设备,包括处理器和存储器,其中
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第三方面的方法的步骤。
第十五方面,本发明实施例还提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第三方面的方法的步骤。
应用本发明实施例提供的方案,网关在接收除离线数据副本之外的在线数据副本中的两个或者两个以上被写入成功的响应消息后,就向用户返回写入成功的消息,相对于现有技术中必须在所有数据副本都被写入成功的情况下才向用户返回写入成功的消息,避免了用户等待对离线数据副本进行恢复并写入的时间,提高了用户体验。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的应用场景示意图;
图2为本发明实施例提供的第一种数据写入方法的流程示意图;
图3为本发明实施例提供的第二种数据写入方法的流程示意图;
图4为本发明实施例提供的第三种数据写入方法的流程示意图;
图5为本发明实施例提供的第四种数据写入方法的流程示意图;
图6为本发明实施例提供的第五种数据写入方法的流程示意图;
图7为本发明实施例提供的第十种数据写入方法的流程示意图;
图8为本发明实施例提供的第十一种数据写入方法的流程示意图;
图9为本发明实施例提供的一种数据恢复方法的流程示意图;
图10为本发明实施例提供的第一种数据写入装置的结构示意图;
图11为本发明实施例提供的第二种数据写入装置的结构示意图
图12为本发明实施例提供的第三种数据写入装置的结构示意图
图13为本发明实施例提供的第五种数据写入装置的结构示意图
图14为本发明实施例提供的第八种数据写入装置的结构示意图
图15为本发明实施例提供的第十种数据写入装置的结构示意图
图16为本发明实施例提供的第十一种数据写入装置的结构示意图
图17为本发明实施例提供的一种数据恢复装置的结构示意图;
图18为本发明实施例提供的第一种电子设备的结构示意图;
图19为本发明实施例提供的第二种电子设备的结构示意图;
图20为本发明实施例提供的第三种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为解决现有技术中存在的用户体验较差的技术问题,本发明实施例提供了一种数据写入和数据恢复方法、装置、电子设备及存储介质。本发明实施例可以应用在分布式存储系统,下面就本发明实施例在分布式存储中的应用进行介绍。
分布式存储系统包括多个存储服务器和一个网关,多个存储服务器中的部分存储服务器作为备用的存储服务器。图1为本发明实施例的应用场景示意图,如图1所示,存储服务器11存储有目标数据A的数据副本A-1、存储服务器12存储有目标数据A的数据副本A-2、存储服务器13存储有目标数据A的数据副本A-3;存储服务器14为备用的存储服务器。存储服务器11、存储服务器12、存储服务器13以及存储服务器14分别与网关20通信连接。用户使用客户端进行操作,操作的内容为对目标数据A进行写入。客户端将写入请求发送给网关20,网关20接收到写入请求后将该写入请求发送给存储服务器11、存储服务器12、存储服务器13。在实际应用中,有的存储数据副本的存储服务器可能会发生故障,导致该数据副本就处于离线状态,发生故障的存储服务器就无法对其存储的数据副本进行写入。例如,当存储服务器13发生故障时,数据副本A-3则处于离线状态,存储服务器13就无法对其存储的数据副本A-3进行写入。对于网关20来说,目前不知道哪台存储服务器发生了故障,因此,网关20需要确定出需要接收些存储服务器返回的写入成功的响应消息,由于数据副本A-3处于离线状态,因此,需要接收存储服务器11和存储服务器12发送的写入成功的响应消息。当数据副本A-1被写入成功后,存储服务器11会向网关20发送写入成功的响应消息;当数据副本A-2被写入成功后,存储服务器12会向网关20发送写入成功的响应消息。网关20接收了到存储服务器11和存储服务器12发送的响应消息;由于除离线数据副本A-3以外的所有的数据副本,如数据副本A-1和数据副本A-2均被写入成功,网关20向客户端返回写入成功的消息。
在现有技术中,网关20在收到所有的数据副本都被写入成功的消息后,才会向客户端返回写入成功的消息。如果要对数据副本A-3进行写入,需要先将数据副本A-3恢复到存储服务器14上,然后对存储服务器14中的被恢复的数据副本进行写入。因此,网关20会等待数据副本A-3被恢复到存储服务器,并被写入成功后,才会向客户端返回写入成功的消息,此时用户也需要等待上述过程的完成,因此,现有技术会导致用户等待的时间较长。
而应用本发明实施例提供的上述技术方案,网关在接收除离线数据副本之外的在线数据副本被写入成功的响应消息后,就向用户返回写入成功的消息,相对于现有技术,避免了用户等待对离线数据副本进行恢复并写入的时间,提高了用户体验。
下面首先就本发明实施例提供的一种数据写入方法进行介绍,需要说明的是,本发明实施例提供的一种数据写入方法优选适用于分布式存储系统中的网关设备。分布式存储系统,是将数据的多个副本分别存储在多台独立的设备上。通常情况下,分布式存储系统包括多个存储服务器和一个网关设备,其中,多个存储服务器中的一部分用于存储数据副本,另外一部分作为备用服务器。一般来说,会将一个文件的三个数据副本分别存储到三台存储服务器上。
分布式存储系统可以为同时采用EC(erasure coding,纠删码技术)和采用多副本两种不同的冗余方式的分布式存储系统;还可以为其他满足“数据同一时间只会被一个客户端读取或者写入”的分布式存储系统。数据同一时间只会被一个客户端读写,是指分布式存储系统中存储的每一目标数据,不能同时被两个或者两个以上的客户端进行读取或者写入。
传统的存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。应用分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
图2为本发明实施例提供的第一种数据写入方法的流程示意图,如图2所示,该方法包括:
S201:接收客户端发送的针对目标数据的写入请求。
如图1所示,存储服务器11存储有目标数据A的数据副本A-1、存储服务器12存储有目标数据A的数据副本A-2、存储服务器13存储有目标数据A的数据副本A-3;存储服务器14为存储服务器。存储服务器11、存储服务器12、存储服务器13以及存储服务器14分别与网关20通信连接。当用户需要对目标数据A进行写入时,用户使用客户端向网关20发送写入请求,以对数据A的三个数据副本A-1、A-2、A-3进行写入操作。网关20接收到用户使用的客户端发送的针对数据A的写入请求,该写入操作可以包括删除、增加、减少、合并等。
可以理解的是,数据副本A-1、数据副本A-2、数据副本A-3为完全一样的数据副本,且存储服务器为存储数据副本的服务器。
需要说明的是,当用户登录客户端时,存储系统会将该客户端挂载到某台主机上。存储系统感知到客户端被挂载到主机上时,该存储系统会向用户展示以一个虚拟的磁盘,该虚拟磁盘是为了方便用户使用而创建的,该虚拟磁盘不具有存储功能,仅仅作为所有数据副本的具象显示。例如,可以采用文件夹的方式显示出来,还可以树形结构图的形式进行显示。存储系统向用户展示的虚拟磁盘中包含多个目标数据,所有的目标数据也是存储系统为了方便用户使用,由存储系统在用户使用的客户端上虚拟显示出来的。每一个目标数据都对应有多个数据副本。对于该系统来说,目标文件是以多个完全一样的数据副本,分别存储在多个存储服务器上的形态存储的。通常情况下,每一目标数据的数据副本的数量可以为三个、五个以及更多个。
在实际应用中,通常会将存储目标数据的数据副本的各个存储服务器置于不同的机架上,以避免机架故障导致多个存储服务器不能提供服务的情况。
S202:将写入请求发送给目标数据的所有数据副本对应的存储服务器。
网关20将接收的发送自客户端的写入请求分别发送给数据A的数据副本A-1对应的存储服务器11、数据副本A-2对应的存储服务器12、数据副本A-3对应的存储服务器13。
S203:若存在无法被写入成功的目标数据的离线数据副本,确定除离线数据副本对应的第一存储服务器之外的、用于存储目标数据的其他数据副本的存储服务器,其中,第一存储服务器为存储离线数据副本的存储服务器。
在实际应用中,上述存储服务器中的部分存储服务器可能会发生故障,导致该数据副本就处于离线状态,发生故障的存储服务器就无法对其应存储的数据副本进行写入。通常情况下,将发生故障的存储服务器称为第一存储服务器,未发生故障的可以被称为其他存储服务器。例如,存储服务器13发生故障,数据副本A-3则处于离线状态,存储服务器13就无法对其存储的数据副本A-3进行写入。
对于网关20来说,目前不知道哪台存储服务器发生了故障,因此,网关20要先确定出哪些存储服务器可以对其自身存储的数据副本进行写入。
当存储服务器不能对其存储的数据副本进行写入时,就可以认为该存储服务器应存储的数据副本为离线数据副本,存储离线数据副本的存储服务器即为第一存储服务器。在实际应用中,可以将用于存储目标数据的其他数据副本的其他存储服务器称为在线存储服务器。
S204:在接收到所有其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本被写入成功的响应消息后,向客户端返回目标数据写入成功的消息。
示例性的,存储服务器11在接收到网关20发送的写入请求后,对数据副本A-1进行写入,当数据副本A-1被写入成功后,存储服务器11会向网关20发送写入成功的响应消息。存储服务器12在接收到网关20发送的写入请求后,对数据副本A-2进行写入,当数据副本A-2被写入成功后,存储服务器12会向网关20发送写入成功的响应消息。由于数据副本A-3处于离线状态,网关20接收不到存储服务器13发送的数据副本A-3被写入成功的响应消息。因此,网关20只能接收到存储服务器11和存储服务器12发送的写入成功的响应消息。
当网关20接收到了存储服务器11发送的数据副本被写入成功的响应消息;且接收到了存储服务器12发送的数据副本被写入成功的响应消息后,说明针对文件A的所有数据副本中除离线数据副本之外的所有数据副本中的两个被写入成功,满足所有其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本写入成功的响应消息的条件,因此,网关20向客户端返回文件A被写入成功的消息。
在现有技术中,网关20在收到所有的数据副本(数据副本A-1、数据副本A-2、数据副本A-3)都被写入成功的消息后,才会向客户端返回写入成功的消息。由于数据副本A-3为离线数据副本,存储服务器13无法对该数据副本进行写入。因此,如果要对数据副本A-3进行写入,需要先将数据副本A-3恢复到存储服务器上,例如,恢复到存储服务器14上,再由存储服务器14对恢复后的数据副本A-3进行写入。当存储服务器14对恢复后的数据副本A-3写入成功后,存储服务器14会向网关20发送数据副本写入成功的响应消息。因此,网关20会等待数据副本A-3被恢复到存储服务器,并被写入成功后,才会向客户端返回写入成功的消息。在该过程中,用户也需要等待上述数据副本的恢复以及写入过程的完成,因此,现有技术会导致用户等待的时间较长。
需要说明的是,技术术语“两个或两个以上的存储服务器”是指,可以是用于存储目标数据的其他数据副本的其他存储服务器中的两个至全部数量中的任一数量。例如,其他存储服务器有4个,两个或两个以上是指,可以为2个、还可以为3个,还可以为4个,本发明实施例在此并不对其作出限定。
应用本发明图2所示实施例提供的方案,网关在接收除离线数据副本之外的在线数据副本中的两个或者两个以上被写入成功的响应消息后,就向用户返回写入成功的消息,相对于现有技术中必须在所有数据副本都被写入成功的情况下才向用户返回写入成功的消息,避免了用户等待对离线数据副本进行恢复并写入的时间,提高了用户体验。
另外,应用本发明图2所示实施例提供的方案,避免了用户等待对离线数据副本进行恢复并写入的时间,缩短了分布式存储系统完成每一客户端发送的写入请求的时间,进而可以提高分布式存储系统的IO(Input/Output)。
本发明实施例还提供了第二种数据写入方法。
图3为本发明实施例提供的第二种数据写入方法的流程示意图,如图3所示,本发明3所示实施例在本发明图2所示实施例的S203步骤之前增加了以下步骤:
S205:获取用于存储被恢复的离线数据副本的第二存储服务器的标识信息。
示例性的,虽然在S104步骤中并未对被恢复的数据副本A-3进行写入,但是为了保证数据副本A-1、A-2、A-3的一致性,还是需要对存储服务器14中存储的数据副本A-3进行写入。
用于存储被恢复的数据副本的存储服务器14可以为网关指定的备用的存储服务器;还可以是存储系统或者其他设备,如设备管理器指定的存储服务器;还可以是存储服务器13根据预设规则或者预设约定选择的、用于存储除目标数据之外的其他数据的数据副本的存储服务器。
当用于存储被恢复的数据副本的存储服务器为网关20指定的存储服务器时,网关可以从自身获取备用该存储服务器的标识信息,并将恢复离线数据副本的指令发送给该备用的存储服务器,例如,可以发送给存储服务器14。
当用于存储被恢复的数据副本的存储服务器,例如,存储服务器14,是存储系统或者其他设备指定的存储服务器时,存储系统或者其他设备会将该指定信息发送给存储服务器14。另外,还可以由存储系统或者其他设备将存储服务器14的标识信息发送给网关,或者由网关向存储系统或者其他设备主动获取,再由网关再将恢复离线数据副本的指令发送给该备用的存储服务器。
当存储服务器14为存储服务器13根据预设规则或者预设约定选择的存储服务器时,网关20获取用于存储被恢复的数据副本的存储服务器的标识信息,获取标识信息的方式,可以从存储服务器13获取;也可以向所有的存储服务器和存储服务器发出询问指令,询问哪一台存储服务器用于存储目标数据A的被恢复的数据副本,用于存储被恢复的数据副本接收到网关20的询问指令后,将自身的标识信息发送给网关20;还可以由存储服务器14主动向网关发送自身的标识信息。
网关20获取用于存储被恢复的数据副本的存储服务器的标识信息,获取的存储服务器的标识信息为14。
S206:根据标识信息,将离线数据副本的写入请求发送给第二存储服务器。
网关20根据获取的存储服务器的标识信息,将从客户端接收的写入请求发送给存储服务器14,以使存储服务器14对其存储的数据副本A-3进行写入,其中,存储服务器14即为第二存储服务器。
在实际应用中,离线数据副本的写入请求可以为网关20接收自客户端的针对目标数据A的写入请求。可以理解的是,数据副本A-3作为目标数据A的数据副本,因此,数据副本A-3与目标数据A的内容都是一致的。当存储服务器14接收到网关20发送的针对目标数据A的写入请求后,存储服务器14会将该写入请求识别为针对离线数据副本A-3的写入请求,进而对自身存储的数据副本A-3进行写入操作。例如,网关20接收的写入请求为“对目标数据A进行写入操作”,网关20将该写入请求发送给存储服务器14,存储服务器接收到该写入请求后,查找自身存储的数据,找到目标数据A的数据副本A-3,由于对目标数据A进行写入操作实际上就是对目标数据A的各个数据副本进行写入操作,因此,存储服务器14对数据副本A-3进行写入操作。
在实际应用中,离线数据副本的写入请求还可以是网关20根据接收自客户端的写入请求重新生成的,针对离线数据副本A-3的写入请求。例如,网关20根据接收的写入请求“对目标数据A进行写入操作”,将该写入请求发送给目标数据A对应的存储服务器11、存储服务器12和存储服务器13。此时由于存储服务器13发生了故障,需要将存储服务器13中存储的数据副本A-3恢复到存储服务器14上。此时,存储服务器11和存储服务器12都收到了写入请求“对目标数据A进行写入操作”。网关20可以根据写入请求“对目标数据A进行写入操作”生成另一个写入请求“对数据副本A-3进行写入操作”或者“对目标数据A进行写入操作”,再将该写入请求发送给存储服务器14。
可以理解的是,第二存储服务器可以为未存储任何数据副本的存储服务器,也可以是已经存储有数据的存储服务器。
S207:接收第二存储服务器发送的,目标数据的存储可靠性降低的消息。
存储服务器14在接收到网关20发送的写入请求后,判断数据副本A-3是否被恢复完成。若数据副本A-3未被恢复完成,存储服务器14挂起接收的写入请求,并向网关20发送针对数据A的存储可靠性降低的消息;网关20接收到数据A的存储可靠性降低的消息,在这一过程中,存储服务器14持续进行数据副本A-3的恢复工作。当数据副本A-3被恢复完成后,存储服务器14再根据接收的写入请求对恢复完成的数据副本A-3进行写入操作。若数据副本A-3被恢复完成,存储服务器14可以根据接收的写入请求,对被恢复的数据副本A-3进行写入操作,在写入成功后,向网关20发送数据副本被写入成功的消息,应用本发明前述实施例,可以提高向客户端返回写入成功的消息时,目标数据的存储可靠性。在实际应用中,存储服务器14还可以无需进行判断数据副本A-3是否被恢复完成,就向网关20发送目标数据的存储可靠性降低的消息。
可以理解的是,在数据存储中,尤其是分布式数据存储中,目标数据A的一致的数据副本越多,目标数据A的存储可靠性越高。例如,目标数据A具有三个数据副本,当三个数据副本时时都保持一致,当需要读取目标数据时,需要读取到三个数据副本均完全一致才可以认定读取成功;在针对目标数据A进行写入时也要遵循此逻辑。针对目标数据A的此种存储逻辑为强一致性逻辑,此种存储逻辑下,目标数据A的存储可靠性较高。当目标数据A的三个数据副本中仅有两个数据副本是一致的,当需要读取目标数据时,需要读取到二个数据副本均完全一致就可以认定读取成功;在针对目标数据A进行写入时也要遵循此逻辑。针对目标数据A的此种存储逻辑为最终一致性逻辑,此种存储逻辑下,目标数据A的存储可靠性低于强一致性逻辑的存储可靠性。前述的数据副本的一致,是指所有数据副本完全一样,例如,所有数据副本的内容完全一致、所有数据副本的版本号一致或者所有数据副本被写入的次数一致等。另外,可靠性可以理解为针对目标数据A不发生读取错误、存储错误的概率。
另外,还可以将目标数据的存储可靠性降低称为目标数据发生了降级,而离线数据副本可以被称为降级副本。
S204可以为S204A:在接收到目标数据的存储可靠性降低的消息,且接收到所有其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本写入成功的响应消息后,向客户端返回写入成功的消息。
示例性的,网关20在接收到存储服务器14发送的目标数据A存储可靠性降低的消息后,判断是否接收到用于存储数据A的数据副本的存储服务器中,除存储服务器13之外的所有存储服务器中的两个或者两个以上的存储服务器发送的数据副本被写入成功的响应消息,即判断是否接收到存储服务器11和存储服务器12发送的数据副本被写入成功的响应消息。
若接收到存储服务器11和存储服务器12发送的数据副本被写入成功的响应消息,网关20向客户端返回针对数据A的写入成功的消息;
在实际应用中,若网关20未接收的存储服务器11和/或存储服务器12发送的数据副本被写入成功的响应消息,网关20等待存储服务器11和存储服务器12发送数据副本被写入成功的响应消息;并在接收到存储服务器11和存储服务器12发送的数据副本被写入成功的响应消息时,向客户端返回针对数据A的写入成功的消息。
需要说明的是,技术术语“两个或两个以上的存储服务器”是指,可以是用于存储目标数据的其他数据副本的其他存储服务器中的两个至全部数量中的任一数量。例如,其他存储服务器有4个:存储服务器11、存储服务器12、存储服务器14、存储服务器15。两个或两个以上是指,上述存储服务器中的任意2个、任意3个或者全部4个。
应用本发明图3所示实施例,将针对目标数据的写入请求发送给第二存储服务器,第二存储服务器在接收到写入请求后,向网关返回目标数据的存储可靠性降低的消息,可以触发网关向客户端返回写入成功的消息。另外,可以使第二存储服务器对被恢复的离线数据副本进行写入,保证了数据副本的一致性。
本发明实施例还提供了第三种数据写入方法。
图4为本发明实施例提供的第三种数据写入方法的流程示意图,如图4所示,本发明图4所示实施例在本发明图2所示实施例的基础上增加了步骤S208:接收被恢复的目标数据的离线数据副本被写入成功后,对应的响应消息,其中,响应消息是由存储目标数据的被恢复的离线数据副本的存储服务器发送的。
示例性的,第一存储服务器,也就是存储服务器13,其中存储的目标数据的数据副本A-3为离线数据副本,因此需要将数据副本A-3恢复到备用的存储服务器14上,存储服务器14可以向网关20获取针对目标数据(数据A)的写入请求,并根据获取的写入请求对被恢复的数据副本A-3进行写入操作。
示例性的,网关20还可以主动获取用于存储被恢复的数据副本A-3的存储服务器14的标识信息,网关20再根据获取的存储服务器14的标识信息将针对数据副本A-3的写入请求发送给存储服务器14。存储服务器14再根据该写入请求对恢复完成后的数据副本A-3进行写入操作。
应用本发明图4所示实施例,使第二存储服务器对恢复后的离线数据副本进行写入操作,可以使恢复后的目标数据的离线数据副本与其他在线的数据副本都被写入,进而保证了目标数据的各个数据副本的一致性,进而提高了目标数据的存储可靠性。
本发明实施例还提供了第四种数据写入方法。
图5为本发明实施例提供的第四种数据写入方法的流程示意图,如图4所示,本发明图5所示实施例在本发明图2所示实施例的基础上,且在若不存在无法被写入成功的目标数据的离线数据副本的情况下,增加了步骤S209和S2010,其中,
S209:接收所有数据副本对应的存储服务器发送的,数据副本被写入成功的响应消息。
当不存在无法被写入成功的离线数据副本的情况时,即数据副本A-1、数据副本A-2、数据副本A-3均为在线数据副本。
网关20将接收自客户端的写入请求发送给上述三个数据副本对应的存储服务器时,存储服务器11、存储服务器12、存储服务器13均可以对各自存储的数据副本进行写入。当存储服务器11对数据副本A-1写入成功后,会向网关20返回数据副本被写入成功的响应消息,类似的,当存储服务器12对数据副本A-2写入成功后,会向网关20返回数据副本被写入成功的响应消息,当存储服务器13对数据副本A-3写入成功后,会向网关20返回数据副本被写入成功的响应消息。
网关20就可以接收到目标数据A的各个数据副本都被写入成功的响应消息。
S2010:根据响应消息,向客户端返回写入成功的消息。
网关20根据接收到目标数据A的各个数据副本都被写入成功的响应消息,判断是否接收到目标数据A的所有的数据副本都被写入成功的响应消息,当判断的结果为是时,向客户端返回目标数据A被写入成功的消息;当判断结果为否时,网关20等待并继续接收响应消息。
在实际应用中,由于网络抖动、或者存储服务器性能不一致的原因导致网关不能及时接收到某些写入成功的响应消息,这种情况也是存在的。
应用本发明图5所示实施例,在不存在离线数据副本的情况下,可以使目标数据的所有数据副本均被写入,保证了所有数据副本的一致性,进而保证了目标数据的存储的可靠性。
本发明实施例还提供了第五种数据写入方法。
图6为本发明实施例提供的第五种数据写入方法的流程示意图,如图6所示,本发明图6所示实施例在本发明图1所示实施例的基础上,增加了步骤S2011:读取响应消息对应的存储服务器中存储的数据副本,并将该数据副本发送给第二存储服务器,以使第二存储服务器根据该数据副本进行数据恢复。
示例性的,第二存储服务器为用于存储被恢复的离线数据副本A-3的服务器,在本发明实施例中,第二存储服务器为存储服务器14。
网关20会在确定出除第一存储服务器之外的、用于存储在线数据副本的存储服务器11、存储服务器12时,也就相当于确定出了离线数据副本A-3。在实际应用中,网关20接收到存储服务器14发送的目标数据A的可靠性降低的消息。然后,网关20会标记数据副本A-3发生了降级,并将数据副本A-3,或者数据副本A-3的标识信息加入到本地的待恢复队列中,以用于数据副本A-3的恢复。由于网关20同时承担对数据副本的写入任务和数据副本恢复的任务,因此,网关20能够协调对数据副本的写入任务和数据副本恢复的任务之间的操作顺序。网关20可以先对在线数据副本进行写入,在写入成功后再恢复出离线数据副本。然后网关20从存储服务器11或存储服务器12中读取被写入后的数据副本A-1或被写入后的数据副本A-2,然后将读取的数据副本发送给第二存储服务器。第二存储服务器根据接收的数据副本恢复出被写入后的数据副本A-3。
在现有技术中,当存储服务器14需要恢复出数据副本A-3时。采用的方法为:存储服务器14从存储服务器11或存储服务器12中读取一份数据副本,然后根据读取的数据副本恢复出数据副本A-3。但是,在存储服务器14进行数据副本的恢复的过程中,存储服务器11可能正在对其存储的数据副本A-1进行写入,和/或存储服务器12可能正在对其存储的数据副本A-2进行写入。因此,存储服务器恢复出来的数据副本可能是未被写入的数据副本A-3、也能是被写入了一部分的数据副本A-3、还有可能是被写入成功后的数据副本A-3。因此,应用现有技术进行数据副本的恢复,被恢复出来的数据副本至少有以上三种可能,进而会导致目标数据A的数据副本出现不一致的情况。
应用本发明图6所示实施例,利用网关进行数据副本的恢复时,网关可以协调数据副本的恢复和数据副本的写入,根据被写入成功后的数据副本恢复出第二存储服务器中的数据副本,避免了因为数据副本的恢复导致的数据副本的不一致的情况。
另外,网关20还可以从存储服务器11或存储服务器12中读取未被写入的数据副本A-1或未被写入的数据副本A-2,然后将读取的数据副本发送给第二存储服务器。第二存储服务器根据接收的数据副本恢复出数据副本A-3。最后,网关20再将写入请求发送给存储服务器14,以使存储服务器14针对被恢复的数据副本A-3进行写入操作。
可以理解的是,为了避免数据副本出现不一致的情况,网关从存储服务器11读取未被写入的数据副本A-1的过程应该在存储服务器11在对数据副本A-1进行写入操作之前完成。类似的,网关从存储服务器12读取未被写入的数据副本A-2的过程应该在存储服务器12在对数据副本A-2进行写入的操作之前完成。
应用本发明上述实施例,无需等待在线数据副本被写入成功后,就可以进行离线数据副本的恢复,避免了第二存储服务器等待数据副本恢复的时间。
本发明实施例还提供了第六种数据写入方法,本发明实施例提供的第六种数据写入方法,在本发明图6所示实施例的基础上增加了S2012(图中未示出):接收被恢复的离线数据副本被写入成功后,对应的响应消息,其中,响应消息是由第二存储服务器发送的。
第二存储服务器,即存储服务器14会在被恢复的离线数据副本A-3被写入成功后,将数据副本被写入成功的响应消息发送给网关20。网关20接收存储服务器14发送的数据副本被写入成功的响应消息。
应用本发明实施例提供的第六种数据写入的方法,可以使被恢复的离线数据副本也被写入。
本发明实施例还提供了第七种数据写入方法,本发明实施例提供的第六种数据写入方法,在本发明图6所示实施例的基础上增加了S2013和S2014:
S2013(图中未示出):接收所有数据副本对应的存储服务器发送的,数据副本被写入成功的响应消息。
在离线数据副本A-3被写入成功后,存储服务器14可以对数据副本A-3进行写入。此时,对于网关20来说,不存在无法被写入成功的离线数据副本,即存储有目标数据A的数据副本的各个存储服务器,都能对各自存储的数据副本进行写入。各个数据副本对自身存储的数据副本写入成功后,会向网关20发送数据副本写入成功的响应消息。网关20接收存储有数据副本的各个存储服务器发送的响应消息。
S2014(图中未示出):根据响应消息,向客户端返回写入成功的消息。
如果在网关20向客户端返回目标数据A被写入成功的消息之前,数据副本A-3被恢复完成,此时,相对于网关20来说,不存在无法被写入的数据副本。此时为了保证目标数据A的各个数据副本的数据一致性,网关20要接收到目标数据A的所有数据副本都被写入成功的响应消息,在这种情况下,网关20向客户端返回写入成功的消息。
另外,如果在网关20向客户端返回目标数据A被写入成功的消息之前,数据副本A-3未被恢复完成,网关20仅需判断是否接收到所有其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本写入成功的响应消息,如果是,网关20即可向客户端返回数据副本被写入成功的响应消息。当数据副本A-3被恢复完成后,网关20判断是否接收到目标数据A的所有数据副本被写入成功的响应消息,如果是,在本步骤之前已经向客户端返回了写入成功的情况下,网关20不再向客户端返回写入成功的消息。如果网关20再次向客户端返回写入成功的消息,可以以使客户端收到目标数据A的所有数据副本,包括离线数据副本都被写入成功,当然,客户端可以不向用户展示第二次收到的写入成功的消息。
应用本发明实施例提供的第七种数据写入的方法,可以对目标数据的所有数据副本,包括被恢复的离线数据副本进行写入,保证了目标数据的所有数据副本的一致性,进而保证了目标数据的存储的可靠性。
本发明实施例还提供了第八种数据写入方法,本发明实施例提供的第六种数据写入方法,在本发明图6所示实施例的基础上,在S201步骤之前增加了S2015步骤和S2016步骤,其中,
S2015(图中未示出):在用户登录客户端时,针对该客户端对应的每一目标数据,判断目标数据的所有数据副本是否一致,若不是所有数据副本一致,执行S2016步骤。
当用户使用用户账号登录客户端时,客户端会访问网关以获取目标数据的信息,进而触发了网关20。网关20会标记该客户端是本次登录的初次访问,或者本用户账号的初次访问。然后,网关20会扫描该客户端对应的每一目标数据的各个数据副本,当某一目标数据的数据副本发生不一致时,网关20对该目标数据的不一致的数据副本进行修复。
网关20扫描该客户端的每一目标数据的各个数据副本时,可以采用异步扫描和/或同步扫描的方式扫描各个数据副本中的内容,进而获得各个数据副本的一致性信息。通常情况下,还可以扫描其他能够表征数据副本一致性的信息,如数据副本的版本号、数据副本被写入的最晚的时刻等。一般来说,异步扫描可以为,按照一定的排序进行数据副本的扫描、或者分时段进行数据副本的扫描;同步扫描可以为,同时进行各个数据副本的扫描。
网关20对不一致的数据副本进行一致性对比的方式可以为:可以将各个数据副本的中被写入的时刻最晚的数据副本作为目标数据副本,然后将该目标数据的其他数据副本修复成与该目标数据副本一致的数据副本。通常情况下,存储系统会存储有各个数据副本每一次被写入时产生的写入日志,存储系统可以从写入日志中获取各个数据副本最后一次被写入时对应的时刻。一般来说,被写入的时刻与当前时刻越接近,说明该数据副本作为目标数据副本越合理。
还可以将版本号最新的数据副本作为目标数据副本,然后将该目标数据的其他数据副本修复成与该目标数据副本一致的数据副本。通常情况下,如果随着数据副本每一次被修改,其版本号越来越小,则该版本号最小的数据副本为该目标数据的最新的数据副本;如果随着数据副本每一次被修改,其版本号越来越大,则该版本号最大的数据副本为该目标数据的目标数据副本。
还可以将被恢复次数最少的数据副本作为目标数据副本,然后将该目标数据的其他数据副本修复成与该目标数据副本一致的数据副本。
还可以将保持一致的数量最多的数据副本作为目标数据副本,然后将该目标数据的其他数据副本修复成与该目标数据副本一致的数据副本。本发明实施例在此并不对数据副本的一致性比对的方式进行限定。
例如,针对目标数据B,网关20扫描目标数据B的三个数据副本的内容时,如果数据副本B-1的版本号为V.2.14、数据副本B-2的版本号为V.2.10、数据副本B-3的版本号为V.2.18,则说明,目标数据B的三个数据副本不一致。
S2016(图中未示出):修复该目标数据的数据副本。
在具体的修复过程中,可以由网关读取目标数据副本,然后将目标数据副本发送给除存储有目标数据副本之外的存储服务器,以使该存储服务器将自身存储的数据副本替换为目标数据副本。还可以由网关发出修复指令,使除存储有目标数据副本之外的存储服务器,从存储目标数据副本的存储服务器中读取目标数据副本,然后将自身存储的数据副本替换为目标数据副本。本发明实施例在此并不对数据副本的修复过程进行限定。
示例性的,网关20将数据副本B-3作为目标数据副本,然后网关20从存储数据副本B-3的存储服务器中读取据副本B-3,再将据副本B-3发送给存储数据副本B-1的存储服务器,以使该存储服务器将数据副本B-1替换为数据副本B-3。类似的,将据副本B-3发送给存储数据副本B-2的存储服务器,以使该存储服务器将数据副本B-2替换为数据副本B-3。
应用本发明实施例提供的第八种数据写入的方法,可以在用户登录客户端时,对不一致的数据副本进行修复,可以提高目标数据的存储可靠性。另外,各个存储服务器对其自身存储的数据副本的写入速度可能不一致,当在数据副本被写入过程中存储系统发生了宕机,会导致数据副本的不一致的情况的发生,在用户登录客户端时,对不一致的数据副本进行修复,可以提高目标数据的存储可靠性。
本发明实施例还提供了第九种数据写入方法,本发明实施例提供的第六种数据写入方法,在本发明图6所示实施例的基础上增加了S2017和S2018,其中,
S2017(图中未示出):根据预设周期,针对该客户端对应的每一目标数据,判断目标数据的所有数据副本是否一致,若不是所有数据副本一致,执行S2018步骤。
网关20可以根据预设周期,例如,每隔12小时,对客户端对应的每一目标数据进行扫描,当某一目标数据的数据副本发生不一致时,网关20对该目标数据的不一致的数据副本进行修复。
例如,针对目标数据B,网关20扫描目标数据B的三个数据副本的内容时,如果数据副本B-1的版本号为V.2.14、数据副本B-2的版本号为V.2.10、数据副本B-3的版本号为V.2.18,则说明,目标数据B的三个数据副本不一致。
预设周期可以由用户设置,也可以由存储系统默认设置。
S2018(图中未示出):修复该目标数据的数据副本。
示例性的,网关20将数据副本B-3作为目标数据副本,然后网关20从存储数据副本B-3的存储服务器中读取据副本B-3,再将据副本B-3发送给存储数据副本B-1的存储服务器,以使该存储服务器将数据副本B-1替换为数据副本B-3。类似的,将据副本B-3发送给存储数据副本B-2的存储服务器,以使该存储服务器将数据副本B-2替换为数据副本B-3。
如果目标数据A长期不被访问,且目标数据A的三个数据副本中有一个数据副本存在不一致的情况,如果不对该数据副本进行修复,则会导致目标数据A长期处于存储可靠性较低的程度。如果,目标数据A的另外两个一致的数据副本中的一个或者两个对应的存储服务器发生故障,会进一步降低目标数据A的存储可靠性,或者导致目标数据A发生损坏。
应用本发明实施例提供的第九种数据写入的方法,可以周期性的对不一致的数据副本进行修复,避免了目标数据长期不被访问而导致的数据副本不一致的情况的出现,进而可以提高目标数据的存储可靠性。
为解决现有技术问题,本发明实施例还提供了第十种数据写入方法。
需要说明的是,本发明实施例提供的一种数据写入方法优选适用于分布式存储系统中的存储服务器。
图7为本发明实施例提供的第十种数据写入方法的流程示意图,如图7所示,该方法包括:
S701:接收恢复离线数据副本的指令。
示例性的,例如,用于存储被恢复的数据副本的存储服务器为存储服务器14,网关20根据获取的用于存储被恢复的数据副本的存储服务器的标识信息,向存储服务器14发送恢复离线数据副本的指令。存储服务器14接收网关20发送的恢复离线数据副本A-3的指令。
该指令可以为网关发送的;还可以是存储系统或者其他设备,如设备管理器发送的;还可以是存储服务器13发送的。
S702:根据指令恢复离线数据副本。
存储服务器14接收指令时,还会接收网关20发送的被写入成功后的数据副本A-1或者被写入成功后的数据副本A-2的内容。存储服务器14根据恢复恢复离线数据副本A-3的指令后,将存储服务器发送的数据副本A-1或者被写入成功后的数据副本A-2的内容存储到自身。
由于分布式存储系统具有“一个数据同一时间只能被一个客户端读写”的特点,因此,在当前的写入指令未被存储在线数据副本执行前,不能对目标数据的在线数据副本进行写入。当多个写入指令同时执行时,在线数据副本可能会不一致,存储服务器14无法获取准确的数据副本,进而会导致存储服务器14无法恢复出数据副本A-3。基于此特点,应用本发明实施例对离线数据副本进行恢复,不会导致上述情况。
S703:接收网关设备发送的写入请求。
网关20可以在向存储服务器14发出恢复离线数据副本的指令的同时,向存储服务器14发送针对目标数据A的写入请求;也可以在向存储服务器14发出恢复离线数据副本的指令之后,再向存储服务器14发送针对目标数据A的写入请求。
S704:在离线数据副本未被恢复完成的情况下,向网关设备发送目标数据的存储可靠性降低的消息,并挂起写入请求。
示例性的,如果此时存储服务器14还未完成离线数据副本的恢复,存储服务器14会挂起该写入请求,向网关20发送目标数据A的存储可靠性降低的消息。存储服务器14挂起该写入请求的目的是,暂停执行该写入请求,并在离线数据副本A-3被恢复完成后,根据该写入请求,对被恢复完成的离线数据副本A-3进行写入。
当存储服务器14从网关接收未被写入的数据副本A-1或者未被写入的数据副本A-2时,将接收的数据副本存储到自身。例如,存户的数据副本为A-1。还要再根据网关20发送过来的写入请求,对存储的数据副本A-1进行写入,在该数据副本被写入成功后,将被写入成功的数据副本A-1的标识信息该为被恢复的离线数据副本的标识信息A-3。
可以理解的是,存储服务器14向网关20发送目标数据A的存储可靠性降低的消息的目的是,网关20可以无需等待存储服务器14向网关20发送被恢复的数据副本A-3被写入成功的响应消息,即可向客户端返回写入成功的消息。存储可靠性降低意味着可以仅对目标数据的部分数据副本写入成功。
应用本发明图7所示实施例提供的方法,在离线数据副本未被恢复完成时,用于存储被恢复的离线数据副本的存储服务器向网关发送目标数据的存储可靠性降低的消息,可以触发网关向客户端返回写入成功的消息。
本发明实施例还提供了第十一种数据写入方法。
图8为本发明实施例提供的第十一种数据写入方法的流程示意图,如图8所示,该方法在本发明实施例在本发明图7所示实施例的基础上增加了步骤S705和S706,其中,
S705:在离线数据副本被恢复完成的情况下,根据写入请求对被恢复的离线数据副本进行写入。
示例性的,存储服务器14在离线数据副本A-3被恢复完成的后,根据在S703步骤中接收的写入请求,对被恢复的离线数据副本A-3进行写入。
S706:在写入完成后,向网关设备发送该数据副本被写入成功的响应消息。
存储服务器14在对被恢复的离线数据副本A-3写入成功后,向网关20发送该数据副本被写入成功的响应消息。
应用本发明图8所示实施例,在离线数据副本被恢复完成后,对被恢复的离线数据副本进行写入,可以使目标数据的所有数据副本都被写入,保证了目标数据的所有数据副本的一致性,进而提高了目标数据的存储可靠性。
目前,现有技术中对于离线数据副本的恢复方法为:用于存储被恢复的离线数据副本的存储服务器,根据目标数据的标识信息从用于存储在线数据副本的存储服务器中获取数据,并根据获得的数据进行离线数据副本的恢复。
但是,用于存储被恢复的离线数据副本的存储服务器进行数据副本的恢复时,如果存储在线数据副本的存储服务器正在对其存储的数据副本进行写入的情况下,由于此时在线数据副本还未写入完成,恢复出来的数据为被写入了一部分但未被写入完成的数据副本,会导致恢复出来的数据与写入后的数据副本不一致。
例如,当存储服务器14需要恢复出数据副本A-3时。采用的方法为:存储服务器14从存储服务器11或存储服务器12中读取一份数据副本,然后根据读取的数据副本恢复出数据副本A-3。但是,在存储服务器14进行数据副本的恢复的过程中,存储服务器11可能正在对其存储的数据副本A-1进行写入,和/或存储服务器12可能正在对其存储的数据副本A-2进行写入。因此,存储服务器恢复出来的数据副本可能是未被写入的数据副本A-3、也能是被写入了一部分的数据副本A-3、还有可能是被写入成功后的数据副本A-3。因此,应用现有技术进行数据副本的恢复,被恢复出来的数据副本至少有以上三种可能,进而会导致目标数据A的数据副本出现不一致的情况。
为解决上述现有技术存在的技术问题,本发明实施例还提供了一种数据恢复方法。
需要说明的是,本发明提供的一种数据恢复方法优选适用于存储系统中的存储服务器上。
图9为本发明实施例提供的一种数据恢复方法的流程示意图,如图9所示,本发明图9所示实施例提供的方法,可以包括:
S901:接收恢复离线数据副本的指令。
例如,存储服务器14接收网关20发送的恢复离线数据副本的指令。接收恢复离线数据副本的指令的存储服务器通常为,用于存储被恢复的离线数据副本的存储服务器,例如,可以是备用的存储服务器14。
用于存储被恢复的数据副本的存储服务器14可以为网关指定的备用的存储服务器;还可以是存储系统或者其他设备,如设备管理器指定的存储服务器;还可以是存储服务器13根据预设规则或者预设约定选择的、用于存储除目标数据之外的其他数据的数据副本的存储服务器。
当用于存储被恢复的数据副本的存储服务器为,网关20指定的存储服务器时,网关可以从自身获取备用该存储服务器的标识信息,并将恢复离线数据副本的指令发送给该备用的存储服务器,例如,可以发送给存储服务器14。
当用于存储被恢复的数据副本的存储服务器,例如,存储服务器14,是存储系统或者其他设备指定的存储服务器时,存储系统或者其他设备会将恢复离线数据副本的指令发送给存储服务器14。另外,还可以由存储系统或者其他设备将存储服务器14的标识信息发送给网关,或者由网关向存储系统或者其他设备主动获取,再由网关20将恢复离线数据副本的指令发送给该备用的存储服务器。
当用于存储被恢复的数据副本的存储服务器为存储服务器13根据预设规则或者预设约定选择的存储服务器时,网关20需要获取存储服务器14的标识信息。网关20再根据获取的存储服务器14的标识信息将恢复离线数据副本的指令发送给存储服务器14。
可以由存储服务器13将恢复离线数据副本的指令发送给存储服务器14;还可以由存储服务器13将恢复离线数据副本的指令发送给存储服务器14;还可以由设备管理器将恢复离线数据副本的指令发送给存储服务器14。
S902:根据指令,接收网关设备发送的与离线数据副本对应的数据。
示例性的,存储服务器14在S901步骤中接收到了恢复离线数据副本的指令。
存储服务器14接收网关设备发送过来的写入成功后的数据副本A-1、或者写入成功后的数据副本A-2。在实际应用中,存储服务器14还可以从网关接收未被写入的数据副本A-1或者未被写入的数据副本A-2。
S903:根据与离线数据副本对应的数据,恢复离线数据副本。
示例性的,当存储服务器14接收的是数据副本为写入成功后的数据副本A-1、或者写入成功后的数据副本A-2。存储服务器14将接收的数据副本存储到自身中,并将该数据副本的标识信息修改为离线数据副本的标识信息A-3。
应用本发明图9所示实施例,利用网关进行数据副本的恢复时,网关将被写入成功后的数据副本发送给,用于存储被恢复的离线数据副本的存储服务器。相对于现有技术中,由用于存储被恢复的离线数据副本的存储服务器向在线数据副本所在的存储服务器读取数据副本,避免了因为数据副本正在被写入,导致的恢复出的数据副本不一致的情况的发生。
与本发明图2所示实施例相对应,本发明实施例还提供了第一种数据写入装置。
图10为本发明实施例提供的第一种数据写入装置的结构示意图,如图10所示,该装置包括:第一接收模块1001、第一发送模块1002、确定模块1003和返回模块1004,其中,
第一接收模块1001,用于接收客户端发送的针对目标数据的写入请求。
第一发送模块1002,用于将写入请求发送给目标数据的所有数据副本对应的存储服务器。
确定模块1003,用于若存在无法被写入成功的目标数据的离线数据副本,确定除离线数据副本对应的第一存储服务器之外的用于存储目标数据的其他数据副本的其他存储服务器。
返回模块1004,用于在接收到所有其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本被写入成功的响应消息后,向客户端返回目标数据写入成功的消息。
应用本发明图10所示实施例提供的方案,网关在接收除离线数据副本之外的在线数据副本中的两个或者两个以上被写入成功的响应消息后,就向用户返回写入成功的消息,相对于现有技术中必须在所有数据副本都被写入成功的情况下才向用户返回写入成功的消息,避免了用户等待对离线数据副本进行恢复并写入的时间,提高了用户体验。
与本发明图3所示实施例相对应,本发明实施例还提供了第二种数据写入装置。
图11为本发明实施例提供的第二种数据写入装置的结构示意图,如图11所示,本发明图11所示实施例在本发明图10所示实施例的基础上,增加了获取模块1005、第二接收模块1006,其中,
获取模块1005,用于获取用于存储被恢复的离线数据副本的第二存储服务器的标识信息。
第一发送模块1002,用于根据标识信息,将离线数据副本的写入请求发送给第二存储服务器。
第二接收模块1006,用于接收第二存储服务器发送的,目标数据的存储可靠性降低的消息。
返回模块1004,还用于在接收到目标数据的存储可靠性降低的消息,且接收到所有其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本写入成功的响应消息后,向客户端返回写入成功的消息。
应用本发明图11所示实施例,将针对目标数据的写入请求发送给第二存储服务器,第二存储服务器在接收到写入请求后,向网关返回目标数据的存储可靠性降低的消息,可以触发网关向客户端返回写入成功的消息。另外,可以使第二存储服务器对被恢复的离线数据副本进行写入,保证了数据副本的一致性。
与本发明图4所示实施例相对应,本发明还提供了第三种数据写入装置。
图12为本发明实施例提供的第三种数据写入装置的结构示意图,如图12所示,该装置在本发明图10所示实施例的基础上增加了1007:第三接收模块1007,用于接收被恢复的目标数据的离线数据副本被写入成功后,对应的响应消息,其中,响应消息是由存储目标数据的被恢复的离线数据副本的存储服务器发送的。
应用本发明图12所示实施例提供的第三种写入装置,使第二存储服务器对恢复后的目标数据的离线数据副本进行写入操作,可以使恢复后的离线数据副本与其他在线的数据副本都被写入,进而保证了目标数据的各个数据副本的一致性,进而提高了目标数据的存储可靠性。
与本发明图5所示实施例相对应,本发明还提供了第四种数据写入装置。该装置在本发明图10所示实施例的基础上,增加了第三接收模块1007,第三接收模块1007,用于在不存在无法被写入成功的离线数据副本的情况下,接收所有数据副本对应的存储服务器发送的,数据副本被写入成功的响应消息。
具体的,返回模块1004,还用于根据第三接收模块接收的响应消息,向客户端返回写入成功的消息。
应用本发明实施例提供的第四种数据写入装置,在不存在离线数据副本的情况下,可以使目标数据的所有数据副本均被写入,保证了所有数据副本的一致性,进而保证了目标数据的存储的可靠性。
与本发明图6所示实施例相对应,本发明还提供了第五种数据写入装置。
图13为本发明实施例提供的第五种数据写入装置的结构示意图,如图13所示,本发明图13所示实施例,在本发明图10所示实施例的基础上,增加了读取模块1008,用于读取响应消息对应的存储服务器中存储的数据副本,并将数据副本发送给第二存储服务器,以使第二存储服务器根据数据副本进行数据恢复。
应用本发明图13所示实施例,利用网关进行数据副本的恢复时,网关可以协调数据副本的恢复和数据副本的写入,根据被写入成功后的数据副本恢复出第二存储服务器中的数据副本,避免了因为数据副本的恢复导致的数据副本的不一致的情况。
与本发明实施例提供的第六种数据写入方法相对应,本发明实施例还提供了第六种数据写入装置,该装置在本发明图10所示实施例的基础上增加了第三接收模块1007,用于接收被恢复的离线数据副本被写入成功后,对应的响应消息,其中,响应消息是由第二存储服务器发送的。
应用本发明实施例提供的第六种数据写入装置,可以使被恢复的离线数据副本也被写入。
与本发明实施例提供的第七种数据写入方法相对应,本发明实施例还提供了第七种数据写入装置,该装置在本发明图10所示实施例的基础上增加了第三接收模块1007,用于接收所有数据副本对应的存储服务器发送的,数据副本被写入成功的响应消息。
返回模块1004,还用于根据响应消息,向客户端返回写入成功的消息。
应用本发明实施例提供的第七种数据写入装置,可以对目标数据的所有数据副本,包括被恢复的离线数据副本进行写入,保证了目标数据的所有数据副本的一致性,进而保证了目标数据的存储的可靠性。
与本发明实施例提供的第八种数据写入方法相对应,本发明实施例还提供了第八种数据写入装置。
图14为本发明实施例提供的第八种数据写入装置的结构示意图,如图14所示,本发明图14所示实施例在本发明图10所示实施例的基础上增加了:判断模块1009和修复模块1010,其中,
判断模块1009,用于在用户登录客户端时,针对客户端对应的每一目标数据,判断目标数据的所有数据副本是否一致。
修复模块1010,用于在判断模块1009的判断结果为不是所有数据副本一致时,修复该目标数据的数据副本。
应用本发明图14所示实施例提供第八种数据写入装置,可以在用户登录客户端时,对不一致的数据副本进行修复,可以提高目标数据的存储可靠性。另外,各个存储服务器对其自身存储的数据副本的写入速度可能不一致,当在数据副本被写入过程中存储系统发生了宕机,会导致数据副本的不一致的情况的发生,在用户登录客户端时,对不一致的数据副本进行修复,可以提高目标数据的存储可靠性。
与本发明实施例提供的第九种数据写入方法相对应,本发明实施例还提供了第九种数据写入装置。该装置在本发明图10所示实施例的基础上增加了:判断模块1009和修复模块1010,其中,
判断模块1009,用于根据预设周期,针对客户端对应的每一目标数据,判断目标数据的所有数据副本是否一致。
修复模块1010,用于在判断模块1009的判断结果为不是所有数据副本一致时,修复该目标数据的数据副本。
应用本发明上述实施例提供的第九种数据写入装置,可以周期性的对不一致的数据副本进行修复,避免了目标数据长期不被访问而导致的数据副本不一致的情况的出现,进而可以提高目标数据的存储可靠性。
与本发明实施例提供的第十种数据写入方法相对应,本发明实施例还提供了第十种数据写入装置。
图15为本发明实施例提供的第十种数据写入装置的结构示意图,如图15所示,该装置包括:第四接收模块1501、第一恢复模块1502、第五接收模块1503和第二发送模块1504,其中,
第四接收模块1501,用于接收恢复离线数据副本的指令。
第一恢复模块1502,用于根据指令恢复离线数据副本。
第五接收模块1503,用于接收网关设备发送的写入请求。
第二发送模块1504,用于在离线数据副本未被恢复完成的情况下,向网关设备发送目标数据的存储可靠性降低的消息,并挂起写入请求。
应用本发明图15所示实施例提供的第十种写入装置,在离线数据副本未被恢复完成时,用于存储被恢复的离线数据副本的存储服务器向网关发送目标数据的存储可靠性降低的消息,可以触发网关向客户端返回写入成功的消息。
与本发明图8所示实施例相对应,本发明实施例还提供了第十一种数据写入装置。
图16为本发明实施例提供的第十一种数据写入装置的结构示意图,如图16所示,本发明图16所示实施例在本发明图15所示实施例的基础上增加了写入模块1505,用于在离线数据副本被恢复完成的情况下,根据写入请求对被恢复的离线数据副本进行写入。
第二发送模块1504,用于在写入模块写入完成后,向网关设备发送该数据副本被写入成功的响应消息。
应用本发明图16所示实施例提供的第十一种写入装置,在离线数据副本被恢复完成后,对被恢复的离线数据副本进行写入,可以使目标数据的所有数据副本都被写入,保证了目标数据的所有数据副本的一致性,进而提高了目标数据的存储可靠性。
与本发明图9所示实施例相对应,本发明还提供了一种数据恢复装置。
需要说明的是,本发明提供的一种数据恢复装置优选适用于存储系统中的存储服务器上。
图17为本发明实施例提供的一种数据恢复装置的结构示意图,如图17所示,该装置包括:第六接收模块1701、第七接收模块1702和第二恢复模块1703,其中,
第六接收模块1701,用于接收恢复离线数据副本的指令。
第七接收模块1702,用于根据指令,接收网关设备发送的与离线数据副本对应的数据。
第二恢复模块1703,用于根据与离线数据副本对应的数据,恢复离线数据副本。
应用本发明图17所示实施例,利用网关进行数据副本的恢复时,网关将被写入成功后的数据副本发送给,用于存储被恢复的离线数据副本的存储服务器。相对于现有技术中,由用于存储被恢复的离线数据副本的存储服务器向在线数据副本所在的存储服务器读取数据副本,避免了因为数据副本正在被写入,导致的恢复出的数据副本不一致的情况的发生。
与本发明图2所示实施例相对应,本发明实施例还提供了一种电子设备。需要说明的是,该电子设备优选适用于分布式存储系统中的网关。
图18为本发明实施例提供的第一种电子设备的结构示意图,如图18所示,该电子设备包括处理器1801和存储器1802,其中,
存储器1802,用于存放计算机程序。
处理器1801,用于执行存储器上所存放的程序时,实现以下步骤:
接收客户端发送的针对目标数据的写入请求;
将写入请求发送给目标数据的所有数据副本对应的存储服务器;
若存在无法被写入成功的离线数据副本,确定出除第一存储服务器之外的、用于存储在线数据副本的存储服务器,其中,第一存储服务器为存储离线数据副本的存储服务器;
在接收到除第一存储服务器之外的存储服务器发送的,数据副本被写入成功的响应消息的情况下,向客户端返回写入成功的消息。
应用本发明图18所示实施例提供的电子设备,网关在接收除离线数据副本之外的在线数据副本中的两个或者两个以上被写入成功的响应消息后,就向用户返回写入成功的消息,相对于现有技术中必须在所有数据副本都被写入成功的情况下才向用户返回写入成功的消息,避免了用户等待对离线数据副本进行恢复并写入的时间,提高了用户体验。
为了解决现有技术问题,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收客户端发送的针对目标数据的写入请求;
将写入请求发送给目标数据的所有数据副本对应的存储服务器;
若存在无法被写入成功的离线数据副本,确定出除第一存储服务器之外的、用于存储在线数据副本的存储服务器,其中,第一存储服务器为存储离线数据副本的存储服务器;
在接收到除第一存储服务器之外的存储服务器发送的,数据副本被写入成功的响应消息的情况下,向客户端返回写入成功的消息。
本发明实施例还提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行以下步骤:
接收客户端发送的针对目标数据的写入请求;
将写入请求发送给目标数据的所有数据副本对应的存储服务器;
若存在无法被写入成功的离线数据副本,确定出除第一存储服务器之外的、用于存储在线数据副本的存储服务器,其中,第一存储服务器为存储离线数据副本的存储服务器;
在接收到除第一存储服务器之外的存储服务器发送的,数据副本被写入成功的响应消息的情况下,向客户端返回写入成功的消息。
与本发明图7所示实施例相对应,本发明实施例还提供了一种电子设备。需要说明的是,该电子设备优选适用于分布式存储系统中的存储服务器。
图19为本发明实施例提供的第二种电子设备的结构示意图如,图19所示,该电子设备包括处理器1901和存储器1902,其中,
存储器1902,用于存放计算机程序。
处理器1901,用于执行存储器上所存放的程序时,实现以下步骤:
接收恢复离线数据副本的指令;
根据指令恢复离线数据副本;
接收网关设备发送的写入请求;
在离线数据副本未被恢复完成的情况下,向网关设备发送目标数据的存储可靠性降低的消息,并挂起写入请求。
应用本发明图19所示实施例提供的电子设备,在离线数据副本未被恢复完成时,用于存储被恢复的离线数据副本的存储服务器向网关发送目标数据的存储可靠性降低的消息,可以触发网关向客户端返回写入成功的消息。
为了解决现有技术问题,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收恢复离线数据副本的指令;
根据指令恢复离线数据副本;
接收网关设备发送的写入请求;
在离线数据副本未被恢复完成的情况下,向网关设备发送目标数据的存储可靠性降低的消息,并挂起写入请求。
本发明实施例还提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行以下步骤:
接收恢复离线数据副本的指令;
根据指令恢复离线数据副本;
接收网关设备发送的写入请求;
在离线数据副本未被恢复完成的情况下,向网关设备发送目标数据的存储可靠性降低的消息,并挂起写入请求。
与本发明图9所示实施例相对应,本发明实施例还提供了一种电子设备。需要说明的是,该电子设备优选适用于分布式存储系统中的存储服务器。
图20为本发明实施例提供的第三种电子设备的结构示意图,如图10所示,该电子设备包括处理器2001和存储器2002,其中,
存储器2002,用于存放计算机程序;
处理器2001,用于执行存储器上所存放的程序时,实现以下步骤:
接收恢复离线数据副本的指令;
根据指令,接收网关设备发送的与离线数据副本对应的数据;
根据与离线数据副本对应的数据,恢复离线数据副本。
应用本发明图9所示实施例提供的电子设备,利用网关进行数据副本的恢复时,网关将被写入成功后的数据副本发送给,用于存储被恢复的离线数据副本的存储服务器。相对于现有技术中,由用于存储被恢复的离线数据副本的存储服务器向在线数据副本所在的存储服务器读取数据副本,避免了因为数据副本正在被写入,导致的恢复出的数据副本不一致的情况的发生。
为了解决现有技术问题,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收恢复离线数据副本的指令;
根据指令,接收网关设备发送的与离线数据副本对应的数据;
根据与离线数据副本对应的数据,恢复离线数据副本。
本发明实施例还提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行以下步骤:
接收恢复离线数据副本的指令;
根据指令,接收网关设备发送的与离线数据副本对应的数据;
根据与离线数据副本对应的数据,恢复离线数据副本。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读介质、计算机程序实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (30)

1.一种数据写入方法,其特征在于,应用于分布式存储系统中的网关设备,所述方法包括:
接收客户端发送的针对目标数据的写入请求;
将所述写入请求发送给所述目标数据的所有数据副本对应的存储服务器;
若存在无法被写入成功的所述目标数据的离线数据副本,确定除所述离线数据副本对应的第一存储服务器之外的用于存储所述目标数据的其他数据副本的其他存储服务器;
在接收到所有所述其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本写入成功的响应消息后,向所述客户端返回所述目标数据写入成功的消息。
2.根据权利要求1所述的方法,其特征在于,在确定除所述离线数据副本对应的第一存储服务器之外的用于存储所述目标数据的其他数据副本的其他存储服务器之前,所述方法还包括:
获取用于存储被恢复的离线数据副本的第二存储服务器的标识信息;
根据所述标识信息,将所述离线数据副本的写入请求发送给所述第二存储服务器;
接收所述第二存储服务器发送的,所述目标数据的存储可靠性降低的消息;
所述在接收到所有所述其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本写入成功的响应消息后,向所述客户端返回所述目标数据写入成功的消息,包括:
在接收到所述目标数据的存储可靠性降低的消息,且接收到所有所述其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本写入成功的响应消息后,向所述客户端返回写入成功的消息。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收被恢复的所述目标数据的离线数据副本被写入成功后,对应的响应消息,其中,所述响应消息是由存储所述目标数据的被恢复的离线数据副本的存储服务器发送的。
4.根据权利要求1所述的方法,其特征在于,若不存在无法被写入成功的所述目标数据的离线数据副本,所述方法还包括:
接收所述所有数据副本对应的存储服务器发送的,数据副本被写入成功的响应消息;
根据所述响应消息,向所述客户端返回写入成功的消息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
读取所述响应消息对应的存储服务器中存储的数据副本,并将所述数据副本发送给所述第二存储服务器,以使所述第二存储服务器根据所述数据副本进行数据恢复。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收被恢复的所述离线数据副本被写入成功后,对应的响应消息,其中,所述响应消息是由所述第二存储服务器发送的。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收所述所有数据副本对应的存储服务器发送的,数据副本被写入成功的响应消息;
根据所述响应消息,向所述客户端返回写入成功的消息。
8.据权利要求5所述的方法,其特征在于,在接收客户端发送的针对目标数据的写入请求之前,所述方法还包括:
在用户登录客户端时,针对所述客户端对应的每一目标数据,判断所述目标数据的所有数据副本是否一致;
若不是所述所有数据副本一致,修复所述目标数据的数据副本。
9.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据预设周期,针对所述客户端对应的每一目标数据,判断所述目标数据的所有数据副本是否一致;
若不是所述所有数据副本一致,修复所述目标数据的数据副本。
10.一种数据写入方法,其特征在于,应用于分布式存储系统中的存储服务器,所述方法包括:
接收恢复离线数据副本的指令;
根据所述指令恢复所述离线数据副本;
接收网关设备发送的写入请求;
在所述离线数据副本未被恢复完成的情况下,向所述网关设备发送所述目标数据的存储可靠性降低的消息,并挂起所述写入请求。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
在所述离线数据副本被恢复完成的情况下,根据所述写入请求对被恢复的所述离线数据副本进行写入;
在写入完成后,向所述网关设备发送所述数据副本被写入成功的响应消息。
12.一种数据恢复方法,其特征在于,应用于分布式存储系统中的存储服务器,所述方法包括:
接收恢复离线数据副本的指令;
根据所述指令,接收网关设备发送的与所述离线数据副本对应的数据;
根据所述与所述离线数据副本对应的数据,恢复所述离线数据副本。
13.一种数据写入装置,其特征在于,应用于分布式存储系统中的网关设备,所述装置包括:第一接收模块、第一发送模块、确定模块和返回模块,其中,
所述第一接收模块,用于接收客户端发送的针对目标数据的写入请求;
所述第一发送模块,用于将所述写入请求发送给所述目标数据的所有数据副本对应的存储服务器;
所述确定模块,用于若存在无法被写入成功的所述目标数据的离线数据副本,确定除所述离线数据副本对应的第一存储服务器之外的用于存储所述目标数据的其他数据副本的其他存储服务器;
所述返回模块,用于在接收到所有所述其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本写入成功的响应消息后,向所述客户端返回所述目标数据写入成功的消息。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:获取模块、第二接收模块,其中,
所述获取模块,用于获取用于存储被恢复的离线数据副本的第二存储服务器的标识信息;
所述第一发送模块,用于根据所述标识信息,将所述离线数据副本的写入请求发送给所述第二存储服务器;
所述第二接收模块,用于接收所述第二存储服务器发送的,所述目标数据的存储可靠性降低的消息;
所述返回模块,还用于在接收到所述目标数据的存储可靠性降低的消息,且接收到所有所述其他存储服务器中的两个或两个以上的存储服务器反馈的对应的数据副本写入成功的响应消息后,向所述客户端返回写入成功的消息。
15.根据权利要求13或14所述的装置,其特征在于,所述装置还包括:第三接收模块,所述第三接收模块,用于接收被恢复的所述目标数据的离线数据副本被写入成功后,对应的响应消息,其中,所述响应消息是由存储所述目标数据的被恢复的离线数据副本的存储服务器发送的。
16.根据权利要求13所述的装置,其特征在于,所述装置还包括第三接收模块,所述第三接收模块,用于在不存在无法被写入成功的所述目标数据的离线数据副本的情况下,接收所述所有数据副本对应的存储服务器发送的,数据副本被写入成功的响应消息;
所述返回模块,还用于根据所述第三接收模块接收的所述响应消息,向所述客户端返回写入成功的消息。
17.根据权利要求13所述的装置,其特征在于,所述方法包括读取模块,用于读取所述响应消息对应的存储服务器中存储的数据副本,并将所述数据副本发送给所述第二存储服务器,以使所述第二存储服务器根据所述数据副本进行数据恢复。
18.根据权利要求17所述的装置,其特征在于,所述装置还包括第三接收模块,用于接收被恢复的所述离线数据副本被写入成功后,对应的响应消息,其中,所述响应消息是由所述第二存储服务器发送的。
19.根据权利要求17所述的装置,其特征在于,所述装置还包括:第三接收模块,用于接收所述所有数据副本对应的存储服务器发送的,数据副本被写入成功的响应消息;
所述返回模块,还用于根据所述响应消息,向所述客户端返回写入成功的消息。
20.据权利要求17所述的装置,其特征在于,所述装置还包括:判断模块和修复模块,其中,
所述判断模块,用于在用户登录客户端时,针对所述客户端对应的每一目标数据,判断所述目标数据的所有数据副本是否一致;
所述修复模块,用于在若不是所述所有数据副本一致时,修复所述目标数据的数据副本。
21.根据权利要求17所述的装置,其特征在于,所述装置还包括:判断模块和修复模块,其中,
所述判断模块,用于根据预设周期,针对所述客户端对应的每一目标数据,判断所述目标数据的所有数据副本是否一致;
所述修复模块,用于在不是所述所有数据副本一致时,修复所述目标数据的数据副本。
22.一种数据写入装置,其特征在于,应用于分布式存储系统中的存储服务器,所述装置包括:第四接收模块、第一恢复模块、第五接收模块和第二发送模块,其中,
所述第四接收模块,用于接收恢复离线数据副本的指令;
所述第一恢复模块,用于根据所述指令恢复所述离线数据副本;
所述第五接收模块,用于接收网关设备发送的写入请求;
所述第二发送模块,用于在所述离线数据副本未被恢复完成的情况下,向所述网关设备发送所述目标数据的存储可靠性降低的消息,并挂起所述写入请求。
23.根据权利要求22所述的装置,其特征在于,所述装置还包括:写入模块,用于在所述离线数据副本被恢复完成的情况下,根据所述写入请求对被恢复的所述离线数据副本进行写入;
所述第二发送模块,用于在所述写入模块写入完成后,向所述网关设备发送所述数据副本被写入成功的响应消息。
24.一种数据恢复装置,其特征在于,应用于分布式存储系统中的存储服务器,所述装置包括:第六接收模块、第七接收模块和第二恢复模块,其中,所述第六接收模块,用于接收恢复离线数据副本的指令;
所述第七接收模块,用于根据所述指令,接收网关设备发送的与所述离线数据副本对应的数据;
所述第二恢复模块,用于根据所述与所述离线数据副本对应的数据,恢复所述离线数据副本。
25.一种电子设备,其特征在于,包括处理器和存储器,其中,
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-9任一所述的方法步骤。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-9任一所述的方法步骤。
27.一种电子设备,其特征在于,包括处理器和存储器,其中,
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求10-11任一所述的方法步骤。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求10-11任一所述的方法步骤。
29.一种电子设备,其特征在于,包括处理器和存储器,其中,
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求12所述的方法步骤。
30.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求12所述的方法步骤。
CN201710970919.7A 2017-10-18 2017-10-18 数据写入和数据恢复方法、装置、电子设备及存储介质 Active CN108572793B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710970919.7A CN108572793B (zh) 2017-10-18 2017-10-18 数据写入和数据恢复方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710970919.7A CN108572793B (zh) 2017-10-18 2017-10-18 数据写入和数据恢复方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN108572793A true CN108572793A (zh) 2018-09-25
CN108572793B CN108572793B (zh) 2021-09-10

Family

ID=63576403

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710970919.7A Active CN108572793B (zh) 2017-10-18 2017-10-18 数据写入和数据恢复方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN108572793B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284073A (zh) * 2018-09-30 2019-01-29 北京金山云网络技术有限公司 数据存储方法、装置、系统、服务器、控制节点及介质
CN109992219A (zh) * 2019-04-11 2019-07-09 深信服科技股份有限公司 分布式存储方法、装置、设备及计算机可读存储介质
CN110196884A (zh) * 2019-05-31 2019-09-03 北京大米科技有限公司 基于分布式数据库的数据写入方法、存储介质和电子设备
CN111625402A (zh) * 2020-05-28 2020-09-04 北京金山云网络技术有限公司 数据恢复方法、装置、电子设备及计算机可读存储介质
CN112148528A (zh) * 2020-09-14 2020-12-29 北京同邦卓益科技有限公司 一种实现自动容错的方法和装置
CN112711376A (zh) * 2019-10-25 2021-04-27 北京金山云网络技术有限公司 对象存储系统中对象主副本文件的确定方法及装置
CN112965660A (zh) * 2021-02-09 2021-06-15 山东英信计算机技术有限公司 一种双存储池信息反馈的方法、系统、设备及介质
CN113190177A (zh) * 2021-05-12 2021-07-30 西安雷风电子科技有限公司 数据存储方法、终端设备、服务器及系统
CN113282246A (zh) * 2021-06-15 2021-08-20 杭州海康威视数字技术股份有限公司 数据处理方法及装置
CN114489464A (zh) * 2020-10-27 2022-05-13 北京金山云网络技术有限公司 数据写入方法、装置和电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254116A1 (en) * 2011-03-31 2012-10-04 Microsoft Corporation Distributed File System
US20160026673A1 (en) * 2014-07-25 2016-01-28 Linkedin Corporation Ensuring consistency of derived data in a distributed storage system
US20160034191A1 (en) * 2014-08-01 2016-02-04 Kabushiki Kaisha Toshiba Grid oriented distributed parallel computing platform
CN105468302A (zh) * 2015-11-23 2016-04-06 华为技术有限公司 一种处理数据的方法、装置及系统
CN105516230A (zh) * 2014-10-15 2016-04-20 深圳市腾讯计算机系统有限公司 一种数据处理方法及装置
CN105577776A (zh) * 2015-12-17 2016-05-11 上海爱数信息技术股份有限公司 基于数据仲裁者副本的分布式存储系统及方法
CN105915391A (zh) * 2016-06-08 2016-08-31 国电南瑞科技股份有限公司 基于单阶段提交并具备自恢复功能的分布式键值存储方法
CN106662983A (zh) * 2015-12-31 2017-05-10 华为技术有限公司 分布式存储系统中的数据重建的方法、装置和系统
CN106776142A (zh) * 2016-12-23 2017-05-31 深圳市深信服电子科技有限公司 一种数据存储方法以及数据存储装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120254116A1 (en) * 2011-03-31 2012-10-04 Microsoft Corporation Distributed File System
US20160026673A1 (en) * 2014-07-25 2016-01-28 Linkedin Corporation Ensuring consistency of derived data in a distributed storage system
US20160034191A1 (en) * 2014-08-01 2016-02-04 Kabushiki Kaisha Toshiba Grid oriented distributed parallel computing platform
CN105516230A (zh) * 2014-10-15 2016-04-20 深圳市腾讯计算机系统有限公司 一种数据处理方法及装置
CN105468302A (zh) * 2015-11-23 2016-04-06 华为技术有限公司 一种处理数据的方法、装置及系统
CN105577776A (zh) * 2015-12-17 2016-05-11 上海爱数信息技术股份有限公司 基于数据仲裁者副本的分布式存储系统及方法
CN106662983A (zh) * 2015-12-31 2017-05-10 华为技术有限公司 分布式存储系统中的数据重建的方法、装置和系统
CN105915391A (zh) * 2016-06-08 2016-08-31 国电南瑞科技股份有限公司 基于单阶段提交并具备自恢复功能的分布式键值存储方法
CN106776142A (zh) * 2016-12-23 2017-05-31 深圳市深信服电子科技有限公司 一种数据存储方法以及数据存储装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
熊庭刚、卢正鼎、张家宏、马中: "基于Quorum系统的分布式访问控制框架研究", 《计算机科学》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284073A (zh) * 2018-09-30 2019-01-29 北京金山云网络技术有限公司 数据存储方法、装置、系统、服务器、控制节点及介质
CN109284073B (zh) * 2018-09-30 2020-03-06 北京金山云网络技术有限公司 数据存储方法、装置、系统、服务器、控制节点及介质
US11385830B2 (en) 2018-09-30 2022-07-12 Beijing Kingsoft Cloud Network Technology Co., Ltd. Data storage method, apparatus and system, and server, control node and medium
CN109992219A (zh) * 2019-04-11 2019-07-09 深信服科技股份有限公司 分布式存储方法、装置、设备及计算机可读存储介质
CN110196884A (zh) * 2019-05-31 2019-09-03 北京大米科技有限公司 基于分布式数据库的数据写入方法、存储介质和电子设备
CN110196884B (zh) * 2019-05-31 2022-04-29 北京大米科技有限公司 基于分布式数据库的数据写入方法、存储介质和电子设备
CN112711376A (zh) * 2019-10-25 2021-04-27 北京金山云网络技术有限公司 对象存储系统中对象主副本文件的确定方法及装置
CN111625402A (zh) * 2020-05-28 2020-09-04 北京金山云网络技术有限公司 数据恢复方法、装置、电子设备及计算机可读存储介质
CN112148528A (zh) * 2020-09-14 2020-12-29 北京同邦卓益科技有限公司 一种实现自动容错的方法和装置
CN114489464A (zh) * 2020-10-27 2022-05-13 北京金山云网络技术有限公司 数据写入方法、装置和电子设备
CN112965660A (zh) * 2021-02-09 2021-06-15 山东英信计算机技术有限公司 一种双存储池信息反馈的方法、系统、设备及介质
CN112965660B (zh) * 2021-02-09 2023-08-08 山东英信计算机技术有限公司 一种双存储池信息反馈的方法、系统、设备及介质
CN113190177A (zh) * 2021-05-12 2021-07-30 西安雷风电子科技有限公司 数据存储方法、终端设备、服务器及系统
CN113282246A (zh) * 2021-06-15 2021-08-20 杭州海康威视数字技术股份有限公司 数据处理方法及装置

Also Published As

Publication number Publication date
CN108572793B (zh) 2021-09-10

Similar Documents

Publication Publication Date Title
CN108572793A (zh) 数据写入和数据恢复方法、装置、电子设备及存储介质
CN104052576B (zh) 一种云存储下基于纠错码的数据恢复方法
CN103942252B (zh) 一种恢复数据的方法及系统
CN109327539A (zh) 一种分布式块存储系统及其数据路由方法
CN105468302B (zh) 一种处理数据的方法、装置及系统
CN106685743A (zh) 区块链集群处理系统和方法
CN110807064B (zh) Rac分布式数据库集群系统中的数据恢复装置
CN106201338A (zh) 数据存储方法及装置
CN104598168B (zh) 一种数据恢复方法及对象存储设备
CN102833281B (zh) 一种分布式自增计数的实现方法、装置及系统
CN106843749A (zh) 写入请求处理方法、装置及设备
US20210320977A1 (en) Method and apparatus for implementing data consistency, server, and terminal
CN109587331A (zh) 云手机故障自动修复的方法与系统
CN109491609A (zh) 一种缓存数据处理方法、装置、设备及可读存储介质
CN103856511B (zh) 数据包上传方法、客户端、节点、信息服务器及系统
CN108206839A (zh) 一种基于多数派数据存储方法、装置及系统
CN106874142A (zh) 一种实时数据容错处理方法及系统
CN105573872B (zh) 数据存储系统的硬盘维护方法和装置
CN110244904A (zh) 一种数据存储系统、方法及装置
CN104407806B (zh) 独立磁盘冗余阵列组硬盘信息的修改方法和装置
CN109117086A (zh) 存储设备数据位置的处理方法、装置、设备及存储介质
CN107168642B (zh) 一种数据存储方法及系统
CN107864209A (zh) 数据写入的方法、装置及服务器
CN109672544A (zh) 一种数据处理方法、装置及分布式存储系统
CN106776107B (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