CN104486438B - 分布式存储***的容灾方法及装置 - Google Patents

分布式存储***的容灾方法及装置 Download PDF

Info

Publication number
CN104486438B
CN104486438B CN201410810750.5A CN201410810750A CN104486438B CN 104486438 B CN104486438 B CN 104486438B CN 201410810750 A CN201410810750 A CN 201410810750A CN 104486438 B CN104486438 B CN 104486438B
Authority
CN
China
Prior art keywords
storage server
data
storage
website
storage medium
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410810750.5A
Other languages
English (en)
Other versions
CN104486438A (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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410810750.5A priority Critical patent/CN104486438B/zh
Publication of CN104486438A publication Critical patent/CN104486438A/zh
Application granted granted Critical
Publication of CN104486438B publication Critical patent/CN104486438B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种分布式存储***的容灾方法及装置。通过所述第一存储服务器将所述第一待存储数据的备份数据发送至第二存储服务器进行存储;所述第二存储服务器为所述第一存储介质所在的存储服务器;其中,所述第一存储服务器属于生产站点,所述第二存储服务器属于容灾站点;或者,所述第一存储服务器属于容灾站点,所述第二存储服务器属于生产站点;实现将同一数据及其备份数据分别存储在不同站点的存储服务器中;使得当一站点故障时,另一站点上保存了故障站点所存储数据的备份数据,确保了分布式存储***中所存储数据的安全可靠。

Description

分布式存储***的容灾方法及装置
技术领域
本发明涉及信息技术,尤其涉及一种分布式存储***的容灾方法及装置。
背景技术
分布式存储***广泛应用于交互式网络电视、视频监控、搜索等需要用到海量存储的领域。
分布式存储***通常由机柜(rack)组成,每个rack内放置有多个机框(chassis),每个chassis放置有作为存储节点的存储服务器。现有技术中,为确保数据存储的安全性,通常会采用一定的数据存储策略对分布式存储***中同一数据进行备份存储;例如,分布式存储***在进行数据存储时,将同一数据及其备份数据存储在同一rack的不同存储节点中。这样,当一个chassis放置的存储服务器故障时,可以通过访问其他chassis放置的存储服务器存储的数据副本。
但是,现有技术中,当分布式存储***出现问题时,如何确保分布式存储***中所存储数据的安全可靠是一个迫切需要解决的问题。
发明内容
本发明提供一种分布式存储***的容灾方法及装置,用以确保分布式存储***中所存储数据的安全可靠。
第一方面,本发明提供一种分布式存储***的容灾方法,所述分布式存储***包括生产站点和容灾站点,所述生产站点包括多个存储服务器,所述容灾站点包括多个存储服务器,存储服务器包括至少一个存储介质,存储介质承载至少一个分区,所述方法包括:
第一存储服务器根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;其中,所述数据安全分布信息,包括:主分区与备分区的对应关系及分区与存储介质的对应关系;所述第一主分区为所述第一存储服务器中存储第一待存储数据的分区;
所述第一存储服务器将所述第一待存储数据的备份数据发送至第二存储服务器进行存储;所述第二存储服务器为所述第一存储介质所在的存储服务器;
其中,所述第一存储服务器属于生产站点,所述第二存储服务器属于容灾站点;或者,所述第一存储服务器属于容灾站点,所述第二存储服务器属于生产站点。
结合第一方面,在第一方面的第一种可能实现的方式中,所述第一存储服务器将所述第一待存储数据的备份数据发送至第二存储服务器进行存储之后,还包括:
所述第一存储服务器生成数据写入请求;所述数据写入请求包括第二待存储数据;
所述第一存储服务器根据负载均衡算法,确定存储所述第二待存储数据的分区为第二主分区;
所述第一存储服务器根据所述数据安全分布信息,确定与所述第二主分区对应的存储介质为第二存储介质;
所述第一存储服务器将所述第二待存储数据发送至第三存储服务器,以使所述第三存储服务器将所述第二待存储数据存储至所述第二主分区,并将所述第二待存储数据的备份数据发送至第四存储服务器进行存储;所述第三存储服务器为所述第二存储介质所在的存储服务器;
其中,所述第三存储服务器属于生产站点,所述第四存储服务器属于容灾站点;或者,所述第三存储服务器属于容灾站点,所述第四存储服务器属于生产站点。
结合第一方面的第一种可能实现的方式,在第一方面的第二种可能实现的方式中,所述第一存储服务器将所述第二待存储数据发送至第三存储服务器之后,还包括:
所述第一存储服务器接收所述第三存储服务器发送的数据写入响应;所述数据写入响应,用于指示所述第三存储服务器及所述第四存储服务器已将所述第二待存储数据成功存储。
结合第一方面、第一方面的第一种至第二种任一种可能实现的方式,在第一方面的第三种可能实现的方式中,所述第一存储服务器根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质之前,还包括:
所述第一存储服务器接收管理服务器发送的所述数据安全分布信息;
其中,所述管理服务器为管理所述生产站点下各存储服务器的服务器;或者,所述管理服务器为管理所述容灾站点下各存储服务器的服务器。
结合第一方面的第三种可能实现的方式,在第一方面的第四种可能实现的方式中,所述第一存储服务器根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质之前,还包括:
所述第一存储服务器接收第七存储服务器发送的第一版本信息及所述第一待存储数据;所述第一版本信息用于指示所述第七存储服务器中的数据安全分布信息的版本;
所述第一存储服务器确定所述第一版本信息与第二版本信息是否匹配;所述第二版本信息用于指示所述第一存储服务器中的数据安全分布信息的版本;
若是,则所述第一存储服务器将所述第一待存储数据存储至所述第一主分区,并执行根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质的步骤;
否则,当所述第一版本信息与所述第二版本信息中,所述第一版本信息为较新的版本信息时,所述第一存储服务器向所述管理服务器发送数据安全分布信息请求,以获得最新的数据安全分布信息,并在获得最新的数据安全分布信息之后,将所述第一待存储数据存储至所述第一主分区,并执行根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质的步骤;
当所述第一版本信息与所述第二版本信息中,所述第二版本信息为较新的版本信息时,所述第一存储服务器向所述第七存储服务器返回失败响应,以使所述第七存储服务器向所述管理服务器请求最新的数据安全分布信息,并在获取到最新的数据安全分布信息后,重新确定存储所述第一待存储数据的存储介质;所述失败响应用于指示所述第七存储服务器需要获取最新的数据安全分布信息。
结合第一方面、第一方面的第一种至第二种任一种可能实现的方式,在第一方面的第五种可能实现的方式中,所述第一存储服务器根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质之前,还包括:
所述第一存储服务器根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息。
结合第一方面的第五种可能实现的方式,在第一方面的第六种可能实现的方式中,所述第一存储服务器根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息之后,还包括:
所述第一存储服务器将所述数据安全分布信息发送至其他存储服务器,以使所述其他存储服务器根据所述数据安全分布信息对数据进行存储。
结合第一方面的第五种至第六种任一种可能实现的方式,在第一方面的第七种可能实现的方式中,所述第一存储服务器根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质之前,还包括:
所述第一存储服务器接收第七存储服务器发送的第一版本信息及所述第一待存储数据;所述第一版本信息用于指示所述第七存储服务器中的数据安全分布信息的版本;
所述第一存储服务器确定所述第一版本信息与第二版本信息是否匹配;所述第二版本信息用于指示所述第一存储服务器中的数据安全分布信息的版本;
若是,则所述第一存储服务器将所述第一待存储数据存储至所述第一主分区,并执行根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质的步骤;
否则,所述第一存储服务器向所述第七存储服务器返回失败响应,以使所述第七存储服务器向所述第一存储服务器请求最新的数据安全分布信息,并在获取到最新的数据安全分布信息后,重新确定存储所述第一待存储数据的存储介质;所述失败响应用于指示所述第七存储服务器需要获取最新的数据安全分布信息。
结合第一方面的第五种至第七种任一种可能实现的方式,在第一方面的第八种可能实现的方式中,所述第一存储服务器根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息,包括:
当第三存储介质故障时,所述第一存储服务器将原数据安全分布信息中第一分区对应的存储介质更新为第四存储介质,以生成新的数据安全分布信息;
其中,所述第一分区为所述第三存储介质对应的分区;所述第三存储介质与所述第四存储介质所在的存储服务器为同一站点下的存储服务器。
结合第一方面的第八种可能实现的方式,在第一方面的第九种可能实现的方式中,所述第一存储服务器生成新的数据安全分布信息之后,还包括:
所述第一存储服务器生成第一数据重构请求;所述第一数据重构请求包括:第五存储服务器需要存储的第一待重构数据;
所述第一存储服务器将所述第一数据重构请求发送至所述第五存储服务器,以使所述第五存储服务器将所述第一待重构数据存储至所述第四存储介质中;
其中,所述第一待重构数据属于所述第三存储介质上所保存的数据;所述第五存储服务器为所述第四存储介质所在的存储服务器。
结合第一方面的第五种至第七种任一种可能实现的方式,在第一方面的第十种可能实现的方式中,所述第一存储服务器根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息,包括:
当第一站点故障时,所述第一存储服务器将原数据安全分布信息中N个分区分别对应的存储介质进行更新,以生成新的数据安全分布信息;
其中,所述N个分区为所述第一站点中各存储服务器的存储介质分别所对应的分区,更新后的N个分区分别对应的存储介质所在的存储服务器及所述第一存储服务器属于第二站点;
若所述第一站点为生产站点,则第二站点为容灾站点;若所述第一站点为容灾站点,则所述第二站点为生产站点。
结合第一方面的第十种可能实现的方式,在第一方面的第十一种可能实现的方式中,若所述第二站点由多个机柜组成,每个机柜上放置至少一个存储服务器,则所述新的数据安全分布信息中主分区对应的存储介质所在的存储服务器与备份区对应的存储介质所在的存储服务器分别位于不同的机柜。
结合第一方面的第十种可能实现的方式,在第一方面的第十二种可能实现的方式中,若所述第二站点由一个机柜组成,每个机柜上放置多个存储服务器,则所述新的数据安全分布信息中主分区对应的存储介质所在的存储服务器与备分区对应的存储介质所在的存储服务器为不同的存储服务器。
结合第一方面的第十种至第十二种任一种可能实现的方式,在第一方面的第十三种可能实现的方式中,所述第一存储服务器生成新的数据安全分布信息之后,还包括:
所述第一存储服务器生成第二数据重构请求;所述第二数据重构请求包括:第六存储服务器需要存储的第二待重构数据;
所述第一存储服务器将所述第二数据重构请求发送至所述第六存储服务器,以使所述第六存储服务器将所述第二待重构数据存储至第五存储介质;
其中,所述第二待重构数据属于所述第一站点中的存储介质上所保存的数据;所述第六存储服务器为第二站点下的存储服务器;所述第五存储介质属于所述M个存储介质中的存储介质。
第二方面,本发明提供一种分布式存储***的容灾装置,所述分布式存储***包括生产站点和容灾站点,所述生产站点包括多个存储服务器,所述容灾站点包括多个存储服务器,存储服务器包括至少一个存储介质,存储介质承载至少一个分区,所述装置为第一存储服务器,所述装置包括:
确定模块,用于根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;其中,所述数据安全分布信息,包括:主分区与备分区的对应关系及分区与存储介质的对应关系;所述第一主分区为所述第一存储服务器中存储第一待存储数据的分区;
发送模块,用于将所述第一待存储数据的备份数据发送至第二存储服务器进行存储;所述第二存储服务器为所述第一存储介质所在的存储服务器;
其中,所述第一存储服务器属于生产站点,所述第二存储服务器属于容灾站点;或者,所述第一存储服务器属于容灾站点,所述第二存储服务器属于生产站点。
结合第二方面,在第二方面的第一种可能实现的方式中,还包括:
生成模块,用于生成数据写入请求;所述数据写入请求包括第二待存储数据;
所述确定模块,还用于根据负载均衡算法,确定存储所述第二待存储数据的分区为第二主分区;根据所述数据安全分布信息,确定与所述第二主分区对应的存储介质为第二存储介质;
所述发送模块,还用于将所述第二待存储数据发送至第三存储服务器,以使所述第三存储服务器将所述第二待存储数据存储至所述第二主分区,并将所述第二待存储数据的备份数据发送至第四存储服务器进行存储;所述第三存储服务器为所述第二存储介质所在的存储服务器;
其中,所述第三存储服务器属于生产站点,所述第四存储服务器属于容灾站点;或者,所述第三存储服务器属于容灾站点,所述第四存储服务器属于生产站点。
结合第二方面的第一种可能实现的方式,在第二方面的第二种可能实现的方式中,还包括:
接收模块,用于接收所述第三存储服务器发送的所述数据写入响应;所述数据写入响应,用于指示所述第三存储服务器及所述第四存储服务器已将所述第二待存储数据成功存储。
结合第二方面、第二方面的第一种至第二种任一种可能实现的方式,在第二方面的第三种可能实现的方式中,所述接收模块,还用于:接收管理服务器发送的数据安全分布信息;
其中,所述管理服务器为管理所述生产站点下各存储服务器的服务器;或者,所述管理服务器为管理所述容灾站点下各存储服务器的服务器。
结合第二方面的第三种可能实现的方式,在第二方面的第四种可能实现的方式中,所述接收模块,还用于:接收第七存储服务器发送的第一版本信息及所述第一待存储数据;所述第一版本信息用于指示所述第七存储服务器中的数据安全分布信息的版本;
所述确定模块,具体用于:
确定所述第一版本信息与第二版本信息是否匹配;所述第二版本信息用于指示所述第一存储服务器中的数据安全分布信息的版本;
若是,则将所述第一待存储数据存储至所述第一主分区,并根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;
否则,当所述第一版本信息与所述第二版本信息中,所述第一版本信息为较新的版本信息时,向所述管理服务器发送数据安全分布信息请求,以获得最新的数据安全分布信息,并在获得最新的数据安全分布信息之后,将所述第一待存储数据存储至所述第一主分区,并根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;
当所述第一版本信息与所述第二版本信息中,所述第二版本信息为较新的版本信息时,向所述第七存储服务器返回失败响应,以使所述第七存储服务器向所述管理服务器请求最新的数据安全分布信息,并在获取到最新的数据安全分布信息后,重新确定存储所述第一待存储数据的存储介质;所述失败响应用于指示所述第七存储服务器需要获取最新的数据安全分布信息。
结合第二方面、第二方面的第一种至第二种任一种可能实现的方式,在第二方面的第五种可能实现的方式中,所述确定模块,还用于根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息。
结合第二方面的第五种可能实现的方式,在第二方面的第六种可能实现的方式中,所述发送模块,还用于:
将所述数据安全分布信息发送至其他存储服务器,以使所述其他存储服务器根据所述数据安全分布信息对数据进行存储。
结合第二方面的第五种至第六种任一种可能实现的方式,在第二方面的第七种可能实现的方式中,所述接收模块,还用于:接收第七存储服务器发送的第一版本信息及所述第一待存储数据;所述第一版本信息用于指示所述第七存储服务器中的数据安全分布信息的版本;
所述确定模块,具体用于:确定所述第一版本信息与第二版本信息是否匹配;所述第二版本信息用于指示所述第一存储服务器中的数据安全分布信息的版本;
若是,则将所述第一待存储数据存储至所述第一主分区,并根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;
否则,向所述第七存储服务器返回失败响应,以使所述第七存储服务器向所述第一存储服务器请求最新的数据安全分布信息,并在获取到最新的数据安全分布信息后,重新确定存储所述第一待存储数据的存储介质;所述失败响应用于指示所述第七存储服务器需要获取最新的数据安全分布信息。
结合第二方面的第五种至第七种任一种可能实现的方式,在第二方面的第八种可能实现的方式中,所述确定模块,具体用于:
当第三存储介质故障时,将原数据安全分布信息中第一分区对应的存储介质更新为第四存储介质,以生成新的数据安全分布信息;
其中,所述第一分区为所述第三存储介质对应的分区;所述第三存储介质与所述第四存储介质所在的存储服务器为同一站点下的存储服务器。
结合第二方面的第八种可能实现的方式,在第二方面的第九种可能实现的方式中,所述生成模块,还用于:生成第一数据重构请求;所述第一数据重构请求包括:第五存储服务器需要存储的第一待重构数据;
所述发送模块,还用于:将所述第一数据重构请求发送至所述第五存储服务器,以使所述第五存储服务器将所述第一待重构数据存储至所述第四存储介质中;
其中,所述第一待重构数据属于所述第三存储介质上所保存的数据;所述第五存储服务器为所述第四存储介质所在的存储服务器。
结合第二方面的第五种至第七种任一种可能实现的方式,在第二方面的第十种可能实现的方式中,所述确定模块,具体用于:
当第一站点故障时,将原数据安全分布信息中N个分区分别对应的存储介质进行更新,以生成新的数据安全分布信息;
其中,所述N个分区为所述第一站点中各存储服务器的存储介质分别所对应的分区,更新后的N个分区分别对应的存储介质所在的存储服务器及所述第一存储服务器属于第二站点;
若所述第一站点为生产站点,则第二站点为容灾站点;若所述第一站点为容灾站点,则所述第二站点为生产站点。
结合第二方面的第十种可能实现的方式,在第二方面的第十一种可能实现的方式中,若所述第二站点由多个机柜组成,每个机柜上放置至少一个存储服务器,则所述新的数据安全分布信息中主分区对应的存储介质所在的存储服务器与备份区对应的存储介质所在的存储服务器分别位于不同的机柜。
结合第二方面的第十种可能实现的方式,在第二方面的第十二种可能实现的方式中,所述第二站点由一个机柜组成,每个机柜上放置多个存储服务器则,所述新的数据安全分布信息中主分区对应的存储介质所在的存储服务器与备分区对应的存储介质所在的存储服务器为不同的存储服务器。
结合第二方面的第十种至第十二种任一种可能实现的方式,在第二方面的第十三种可能实现的方式中,所述生成模块,还用于:生成第二数据重构请求;所述第二数据重构请求包括:第六存储服务器需要存储的第二待重构数据;
所述发送模块,还用于:将所述第二数据重构请求发送至所述第六存储服务器,以使所述第六存储服务器将所述第二待重构数据存储至第五存储介质;
其中,所述第二待重构数据属于所述第一站点中的存储介质上所保存的数据;所述第六存储服务器为第二站点下的存储服务器;所述第五存储介质属于所述M个存储介质中的存储介质。
本发明提供一种分布式存储***的容灾方法及装置,通过所述第一存储服务器将所述第一待存储数据的备份数据发送至第二存储服务器进行存储;所述第二存储服务器为所述第一存储介质所在的存储服务器;其中,所述第一存储服务器属于生产站点,所述第二存储服务器属于容灾站点;或者,所述第一存储服务器属于容灾站点,所述第二存储服务器属于生产站点;实现了将同一数据及其备份数据分别存储在不同站点(也即,生产站点和容灾站点)的存储服务器中;使得当一站点故障时,另一站点上保存了故障站点所存储数据的备份数据,确保了分布式存储***中所存储数据的安全可靠。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明分布式存储***的结构示意图;
图2为本发明分布式存储***的容灾方法实施例一的流程图;
图3为本发明分布式存储***的容灾方法实施例二的流程图;
图4为本发明正常状态时的存储示意图;
图5为本发明存储介质故障时的存储示意图;
图6为本发明站点故障时的存储示意图;
图7为本发明站点故障恢复时的存储示意图;
图8为本发明分布式存储***的容灾装置实施例一的结构示意图;
图9为本发明分布式存储***的容灾装置实施例二的结构示意图;
图10为本发明分布式存储***的容灾装置实施例五的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明分布式存储***的结构示意图,图1所示的***中包括生产站点11和容灾站点12;生产站点11包括3个存储服务器13,容灾站点12包括3个存储服务器13,一个存储服务器13包括两个存储介质14,且一个存储介质14承载至少一个分区。
需要说明的是,图1仅为举例;本领域技术人员应该明确任何生产站点包括多个存储服务器、容灾站点包括多个存储服务器、存储服务器包括至少一个存储介质、存储介质承载至少一个分区的分布式存储***都为本发明分布式存储***。
图2为本发明分布式存储***的容灾方法实施例一的流程图,如图2所示,本实施例的方法可以包括:
步骤201、第一存储服务器根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;其中,所述数据安全分布信息,包括:主分区与备分区的对应关系及分区与存储介质的对应关系;所述第一主分区为所述第一存储服务器中存储第一待存储数据的分区;
其中,所述分区包括主分区与备分区。
例如,主分区与备份区的对应关系可以为:主分区A对应备份区A’,主分区B对应备份区B’,主分区C对应备分区C’;分区与存储介质的对应关系可以为:存储介质1承载主分区A和主分区B;存储介质2承载主分区C和备份区A’;存储介质3承载备份区B’和备份区C’。
其中,存储介质可以为软盘、光盘、硬盘、U盘等。
步骤202、所述第一存储服务器将所述第一待存储数据的备份数据发送至第二存储服务器进行存储;所述第二存储服务器为所述第一存储介质所在的存储服务器。
其中,所述第一存储服务器属于生产站点,所述第二存储服务器属于容灾站点;或者,所述第一存储服务器属于容灾站点,所述第二存储服务器属于生产站点。
现有技术中,为确保数据存储的安全性,通常会采用一定的数据存储策略对分布式存储***中同一数据进行备份存储;例如,分布式存储***在进行数据存储时,将同一数据及其备份数据存储在同一rack的不同存储节点中。本发明中,所述第一存储服务器将所述第一待存储数据的备份数据发送至第二存储服务器进行存储;所述第二存储服务器为所述第一存储介质所在的存储服务器;其中,所述第一存储服务器属于生产站点,所述第二存储服务器属于容灾站点;或者,所述第一存储服务器属于容灾站点,所述第二存储服务器属于生产站点。
现有技术中,通过采用一定的数据存储策略对分布式存储***中同一数据进行备份存储,可以在一定程度上保证数据的安全性;但是现有技术的分布式存储***并没有对存储服务器进行区分(也即,所有的存储服务器都属于一个站点),因此在进行备份存储时仅是将数据及其备份存储在同一站点的不同存储服务器;因此,当分布式存储***出现问题(例如,站点故障)时,如何确保分布式存储***中所存储数据的安全可靠是一个迫切需要解决的问题。通过本发明中所述第一存储服务器将所述第一待存储数据的备份数据发送至第二存储服务器进行存储;所述第二存储服务器为所述第一存储介质所在的存储服务器;其中,所述第一存储服务器属于生产站点,所述第二存储服务器属于容灾站点;或者,所述第一存储服务器属于容灾站点,所述第二存储服务器属于生产站点;实现了将同一数据及其备份数据分别存储在不同站点(也即,生产站点和容灾站点)的存储服务器中;使得当一站点故障时,另一站点上保存了故障站点所存储数据的备份数据,确保了分布式存储***中所存储数据的安全可靠。
本实施例,通过所述第一存储服务器将所述第一待存储数据的备份数据发送至第二存储服务器进行存储;所述第二存储服务器为所述第一存储介质所在的存储服务器;其中,所述第一存储服务器属于生产站点,所述第二存储服务器属于容灾站点;或者,所述第一存储服务器属于容灾站点,所述第二存储服务器属于生产站点;实现了将同一数据及其备份数据分别存储在不同站点(也即,生产站点和容灾站点)的存储服务器中;使得当一站点故障时,另一站点上保存了故障站点所存储数据的备份数据,确保了分布式存储***中所存储数据的安全可靠。
图3为本发明分布式存储***的容灾方法实施例二的流程图,如图3所示,步骤202之后可以包括:
步骤301、所述第一存储服务器生成数据写入请求;所述数据写入请求包括第二待存储数据;
可选的,所述第一存储服务器的上层应用(APP,Application)生成数据写入请求。
步骤302、所述第一存储服务器根据负载均衡算法,确定存储所述第二待存储数据的分区为第二主分区;
可选的,所述负载均衡算法可以为分布式哈希算法。
步骤303、所述第一存储服务器根据所述数据安全分布信息,确定与所述第二主分区对应的存储介质为第二存储介质;
步骤304、所述第一存储服务器将所述第二待存储数据发送至第三存储服务器,以使所述第三存储服务器将所述第二待存储数据存储至所述第二主分区,并将所述第二待存储数据的备份数据发送至第四存储服务器进行存储;所述第三存储服务器为所述第二存储介质所在的存储服务器。
其中,所述第三存储服务器属于生产站点,所述第四存储服务器属于容灾站点;或者,所述第三存储服务器属于容灾站点,所述第四存储服务器属于生产站点。
可选的,步骤302之前还可以包括:将所述第二待存储数据切分K个数据块;相应的,步骤302具体为:根据负载均衡算法,确定各数据块分别对应的主分区。
本实施例中,当第一存储服务器需要存储第二待存储数据时,所述第一存储服务器能够根据负载均衡算法确定存储所述第二待存储数据的分区为第二主分区;根据数据安全分别信息确定所述第二主分区对应的存储介质为第二存储介质;并将所述第二待存储数据发送至所述第二存储介质所属的第三存储服务器,以使所述第三存储服务器将所述第二待存储数据存储至所述第二主分区;所述第三存储服务器将所述第二待存储数据的备份数据发送至与所述第三存储服务器属于不同站点的第四存储服务器;实现了将同一数据及其备份数据分别存储在不同站点(也即,生产站点和容灾站点)的存储服务器中;使得当一站点故障时,另一站点上保存了故障站点所存储数据的备份数据,确保了分布式存储***中所存储数据的安全可靠。
需要说明的是,第三存储服务器确定第二主分区对应的备分区为第二备分区,及第二备分区对应的存储介质为第二存储介质的方法与实施例一中步骤201相同,只是执行主体由第一存储服务器变为第三存储服务器。
可选的,步骤304之后还可以包括:所述第一存储服务器接收所述第三存储服务器发送的数据写入响应;所述数据写入响应,用于指示所述第三存储服务器及所述第四存储服务器已将所述第二待存储数据成功存储。通过第三存储服务器确定第三存储服务器及第四存储服务器都已将第二待存储数据成功存储后,再向第一存储服务器返回写入成功的数据写入响应;使得在存储待存储数据时能够确保必定成功存储了该待存储数据及该待存储数据的备份数据。
可选的,步骤201之前还可以包括:所述第一存储服务器获取所述数据安全分布信息。
可选的,所述第一存储服务器获取所述数据安全分布信息,包括:
所述第一存储服务器接收管理服务器发送的所述数据安全分布信息;或者,所述第一存储服务器根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息。
情况1若第一存储服务器接收管理服务器发送的数据安全分布信息,则:
可选的,步骤201之前,还可以包括:
所述第一存储服务器接收第七存储服务器发送的第一版本信息及所述第一待存储数据;所述第一版本信息用于指示所述第七存储服务器中的数据安全分布信息的版本;
所述第一存储服务器确定所述第一版本信息与第二版本信息是否匹配;所述第二版本信息用于指示所述第一存储服务器中的数据安全分布信息的版本;
若是,则所述第一存储服务器将所述第一待存储数据存储至所述第一主分区,并执行步骤201;
否则,当所述第一版本信息与所述第二版本信息中,所述第一版本信息为较新的版本信息时,所述第一存储服务器向所述管理服务器发送数据安全分布信息请求,以获得最新的数据安全分布信息,并在获得最新的数据安全分布信息之后,将所述第一待存储数据存储至所述第一主分区,并执行步骤201;
当所述第一版本信息与所述第二版本信息中,所述第二版本信息为较新的版本信息时,所述第一存储服务器向所述第七存储服务器返回失败响应,以使所述第七存储服务器向所述管理服务器请求最新的数据安全分布信息,并在获取到最新的数据安全分布信息后,重新确定存储所述第一待存储数据的存储介质;所述失败响应用于指示所述第七存储服务器需要获取最新的数据安全分布信息。
情况2若第一存储服务器根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息,则:
可选的,步骤201之前,还可以包括:
所述第一存储服务器接收第七存储服务器发送的第一版本信息及所述第一待存储数据;所述第一版本信息用于指示所述第七存储服务器中的数据安全分布信息的版本;
所述第一存储服务器确定所述第一版本信息与第二版本信息是否匹配;所述第二版本信息用于指示所述第一存储服务器中的数据安全分布信息的版本;
若是,则所述第一存储服务器将所述第一待存储数据存储至所述第一主分区,并执行步骤201;
否则,所述第一存储服务器向所述第七存储服务器返回失败响应,以使所述第七存储服务器向所述第一存储服务器请求最新的数据安全分布信息,并在获取到最新的数据安全分布信息后,重新确定存储所述第一待存储数据的存储介质;所述失败响应用于指示所述第七存储服务器需要获取最新的数据安全分布信息。
本实施例中,通过第一存储服务器确定所述第一版本信息与第二版本信息是否匹配,并在版本信息匹配后再进行将所述第一待存储数据存储至所述第一主分区,并执行根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质的步骤;确保各存储服务器中的数据安全分布信息都为最新的数据安全分布信息。
其中,所述管理服务器为管理所述生产站点下各存储服务器的服务器;或者,所述管理服务器为管理所述容灾站点下各存储服务器的服务器。
其中,所述状态信息包括故障、正常等。
可选的,各存储服务器(生产站点及容灾站点下的所有存储服务器)所包括的存储介质可以通过向第一存储服务器发送心跳信号的方式,使得第一存储服务器能够根据心跳信号确定各存储介质的状态信息。
例如,若2分钟内没有收到存储介质1发送的心跳信号,则可以确定存储介质1故障;若2分钟内收到了存储介质2发送的心跳信号,则可以确定存储介质2正常。
可选的,当所述第一存储服务器根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息之后,还可以包括:所述第一存储服务器将所述数据安全分布信息发送至其他存储服务器,以使所述其他存储服务器根据所述数据安全分布信息对数据进行存储。
例如,若生产站点包括存储服务器A、存储服务器B、存储服务器C;容灾站点包括存储服务D、存储服务器E、存储服务器F,存储服务器A生成数据安全分布信息;则:存储服务器A生成了数据安全分布信息之后,存储服务器A需要将数据安全分布信息发送至存储服务器B~F。这样,当存储服务器B需要存储数据1时,存储服务器B在确定存储数据1的主分区1之后,能够根据数据安全分布信息确定主分区1对应的存储介质1,并将数据1发送至存储介质1所属的存储服务器i(i可以为A~F中任一个存储服务器);存储服务器i收到数据1时将数据1存储至主分区1,并根据数据安全分布信息确定主分区1对应的备分区1,及备份区1对应的存储介质2,将数据1的备份数据发送至存储介质2所属的存储服务器。
分布式存储***的容灾方法实施例三
可选的,在本发明分布式存储***的容灾方法实施例二的基础上,所述第一存储服务器根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息,包括:
当第三存储介质故障时,所述第一存储服务器将原数据安全分布信息中第一分区对应的存储介质更新为第四存储介质,以生成新的数据安全分布信息;其中,所述第一分区为所述第三存储介质对应的分区;所述第三存储介质与所述第四存储介质所在的存储服务器为同一站点下的存储服务器。
例如,假设生产站点包括存储服务器1和存储服务器2;存储服务器1包括存储介质1、存储介质2,存储服务器2包括存储介质3;原数据安全分布信息中:存储介质1承载主分区1和备分区1;存储介质2承载主分区2和主分区3;存储介质3承载备份区2和备份区3。则当存储介质1故障时,可以将主分区1对应的存储介质更新为存储介质2,将备分区1对应的存储介质更新为存储介质3;则新的数据安全分布信息可以为:存储介质2承载主分区1、主分区2和主分区3;存储介质3承载备分区1、备份区2和备份区3。
本实施例中,通过当第三存储介质故障时,所述第一存储服务器将原数据安全分布信息中第一分区对应的存储介质更新为第四存储介质,以生成新的数据安全分布信息;其中,所述第一分区为所述第三存储介质对应的分区;所述第三存储介质与所述第四存储介质所在的存储服务器为同一站点下的存储服务器;使得当一存储服务器的存储介质故障时,新的数据安全分布信息中主分区对应的存储介质所属的存储服务器,与备分区对应的存储介质所属的存储服务器还是为不同站点下的存储服务器;使得存储服务器根据新的数据安全分布信息存储数据时,能够确保同一数据及其备份数据分别存储在不同站点的存储服务器中;使得当一站点故障时,另一站点上保存了故障站点所存储数据的备份数据,确保了分布式存储***中所存储数据的安全可靠。
可选的,所述第一存储服务器生成新的数据安全分布信息之后,还包括:
所述第一存储服务器生成第一数据重构请求;所述第一数据重构请求包括:第五存储服务器需要存储的第一待重构数据;
所述第一存储服务器将所述第一数据重构请求发送至所述第五存储服务器,以使所述第五存储服务器将所述第一待重构数据存储至所述第四存储介质中;
其中,所述第一待重构数据属于所述第三存储介质上所保存的数据;所述第五存储服务器为所述第四存储介质所在的存储服务器。
例如,一存储服务器将待存储数据切分为1M大小的数据块,假设切分后的数据块为1、2、3、4;并按照图4(图4为本发明正常状态时的存储示意图)的方式将各数据块分别存储在各存储服务器;
图5为本发明存储介质故障时的存储示意图;如图5所示,当站点1、机柜1-1的存储服务器1故障(也就是说,存储服务器1的存储介质都故障)时,从站点2、机柜1-1的存储服务器1获取故障的存储服务器所保存的数据块1和数据块5;并将获取到的数据块1存储至站点1、机柜1-1的存储服务器n,将获取到的数据块5存储至站点1、机柜1-n的存储服务器1。
本实施例中,通过所述第一存储服务器将所述第一数据重构请求发送至所述第五存储服务器,以使所述第五存储服务器将所述第一待重构数据存储至所述第四存储介质中;其中,所述第一待重构数据属于所述第三存储介质上所保存的数据;所述第五存储服务器为所述第四存储介质所在的存储服务器;使得当一存储服务器的存储介质故障时,能够将故障存储介质中所存储的数据复制到其他存储介质(该存储服务器的存储介质或者与该存储服务器属于同一站点的其他存储服务器的存储介质)中;从而进一步增加了分布式存储***中数据的安全性及可靠性。
分布式存储***的容灾方法实施例四
可选的,在本发明分布式存储***的容灾方法实施例二的基础上,所述第一存储服务器根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息,包括:
当第一站点故障时,所述第一存储服务器将原数据安全分布信息中N个分区分别对应的存储介质进行更新,以生成新的数据安全分布信息;其中,所述N个分区为所述第一站点中各存储服务器的存储介质分别所对应的分区,更新后的N个分区分别对应的存储介质所在的存储服务器及所述第一存储服务器属于第二站点;若所述第一站点为生产站点,则第二站点为容灾站点;若所述第一站点为容灾站点,则所述第二站点为生产站点。
可选的,若所述第二站点由多个机柜组成,每个机柜上放置至少一个存储服务器,则所述新的数据安全分布信息中主分区对应的存储介质所在的存储服务器与备份区对应的存储介质所在的存储服务器分别位于不同的机柜。
可选的,若所述第二站点由一个机柜组成,每个机柜上放置多个存储服务器,则所述新的数据安全分布信息中主分区对应的存储介质所在的存储服务器与备分区对应的存储介质所在的存储服务器为不同的存储服务器。
可选的,生产站点及容灾站点下的各存储服务器可以通过向第一存储服务器发送心跳信号的方式,以使第一存储服务器能够获得各存储服务器的状态信息;
例如,若站点1包括存储服务器1、存储服务器2,站点2包括存储服务器3、存储服务器4;若5分钟内存储服务器1(也即,第一存储服务器)没有收到来自存储服务器3和存储服务器4的心跳信息,则存储服务器1可以确定站点2故障。
本实施例中,通过当第一站点故障时,所述第一存储服务器将原数据安全分布信息中N个分区分别对应的存储介质进行更新,以生成新的数据安全分布信息;其中,所述N个分区为所述第一站点中各存储服务器的存储介质分别所对应的分区,更新后的N个分区分别对应的存储介质所在的存储服务器及所述第一存储服务器属于第二站点;使得当一站点故障时,新的数据安全分布信息中主分区对应的存储介质所属的存储服务器,与备分区对应的存储介质所属的存储服务器变更为同一站点下的存储服务器;使得存储服务器根据新的数据安全分布信息存储数据时,能够确保即使一站点故障时对于每一个数据还是有一个对应的备份数据;从而进一步增加了分布式存储***中数据的安全性及可靠性。
可选的,所述第一存储服务器生成新的数据安全分布信息之后,还包括:
所述第一存储服务器生成第二数据重构请求;所述第二数据重构请求包括:第六存储服务器需要存储的第二待重构数据;
所述第一存储服务器将所述第二数据重构请求发送至所述第六存储服务器,以使所述第六存储服务器将所述第二待重构数据存储至第五存储介质;
其中,所述第二待重构数据属于所述第一站点中的存储介质上所保存的数据;所述第六存储服务器为第二站点下的存储服务器;所述第五存储介质属于所述M个存储介质中的存储介质。
图6为本发明站点故障时的存储示意图;如图6所示,当站点1故障时,从站点2获取站点1所保存的数据块1~数据块8;并将获取到的数据块1~数据块8分别存储至站点2的存储服务器。此时,对于分布式***中的所有数据块,站点2中都保存了两份。
图7为本发明站点故障恢复时的存储示意图;如图7所示,当站点1故障恢复时,可以将站点2所保存的两份数据中的一份同步至站点1,并将站点2中的一份数据删除,使得两个站点分别保存了一份数据。
本实施例中,通过所述第一存储服务器将所述第二数据重构请求发送至所述第六存储服务器,以使所述第六存储服务器将所述第二待重构数据存储至第五存储介质;其中,所述第二待重构数据属于所述第一站点中的存储介质上所保存的数据;所述第六存储服务器为第二站点下的存储服务器;所述第五存储介质属于所述M个存储介质中的存储介质;使得当一站点故障时,能够将故障站点的存储介质中所存储的数据复制到另一站点的存储介质中;从而进一步增加了分布式存储***中数据的安全性及可靠性。
图8为本发明分布式存储***的容灾装置实施例一的结构示意图,所述分布式存储***包括生产站点和容灾站点,生产站点包括多个存储服务器,容灾站点包括多个存储服务器,存储服务器包括至少一个存储介质,存储介质承载至少一个分区,所述装置为第一存储服务器;如图8所示,本实施例的装置可以包括:确定模块801和发送模块802。其中,确定模块801,用于根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;其中,所述数据安全分布信息,包括:主分区与备分区的对应关系及分区与存储介质的对应关系;所述第一主分区为所述第一存储服务器中存储第一待存储数据的分区;发送模块802,用于将所述第一待存储数据的备份数据发送至第二存储服务器进行存储;所述第二存储服务器为所述第一存储介质所在的存储服务器;
其中,所述第一存储服务器属于生产站点,所述第二存储服务器属于容灾站点;或者,所述第一存储服务器属于容灾站点,所述第二存储服务器属于生产站点。
本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本发明分布式存储***的容灾装置实施例二的结构示意图,如图9所示,本实施例的装置在图8所示基站结构的基础上,进一步地,还可以包括:生成模块803。其中,生成模块803,用于生成数据写入请求;所述数据写入请求包括第二待存储数据;确定模块801,还用于根据负载均衡算法,确定存储所述第二待存储数据的分区为第二主分区;根据所述数据安全分布信息,确定与所述第二主分区对应的存储介质为第二存储介质;发送模块802,还用于将所述第二待存储数据发送至第三存储服务器,以使所述第三存储服务器将所述第二待存储数据存储至所述第二主分区,并将所述第二待存储数据的备份数据发送至第四存储服务器进行存储;所述第三存储服务器为所述第二存储介质所在的存储服务器;
其中,所述第三存储服务器属于生产站点,所述第四存储服务器属于容灾站点;或者,所述第三存储服务器属于容灾站点,所述第四存储服务器属于生产站点。
可选的,所述装置还可以包括:接收模块804,用于接收所述第三存储服务器发送的数据写入响应;所述数据写入响应,用于指示所述第三存储服务器及所述第四存储服务器已将所述第二待存储数据成功存储。
可选的,接收模块804,还可以用于:接收管理服务器发送的数据安全分布信息;或者,确定模块801,还可以用于根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息。
情况1若接收模块804还用于接收管理服务器发送的数据安全分布信息,则:
可选的,接收模块804,还用于:接收第七存储服务器发送的第一版本信息及所述第一待存储数据;所述第一版本信息用于指示所述第七存储服务器中的数据安全分布信息的版本;
相应的,确定模块801,具体用于:
确定所述第一版本信息与第二版本信息是否匹配;所述第二版本信息用于指示所述第一存储服务器中的数据安全分布信息的版本;
若是,则将所述第一待存储数据存储至所述第一主分区,并根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;
否则,当所述第一版本信息与所述第二版本信息中,所述第一版本信息为较新的版本信息时,向所述管理服务器发送数据安全分布信息请求,以获得最新的数据安全分布信息,并在获得最新的数据安全分布信息之后,将所述第一待存储数据存储至所述第一主分区,并根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;
当所述第一版本信息与所述第二版本信息中,所述第二版本信息为较新的版本信息时,向所述第七存储服务器返回失败响应,以使所述第七存储服务器向所述管理服务器请求最新的数据安全分布信息,并在获取到最新的数据安全分布信息后,重新确定存储所述第一待存储数据的存储介质;所述失败响应用于指示所述第七存储服务器需要获取最新的数据安全分布信息。
情况2若确定模块801还用于根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息,则:
可选的,接收模块804,还用于:接收第七存储服务器发送的第一版本信息及所述第一待存储数据;所述第一版本信息用于指示所述第七存储服务器中的数据安全分布信息的版本;
相应的,确定模块801,具体用于:
确定所述第一版本信息与第二版本信息是否匹配;所述第二版本信息用于指示所述第一存储服务器中的数据安全分布信息的版本;
若是,则将所述第一待存储数据存储至所述第一主分区,并根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;
否则,向所述第七存储服务器返回失败响应,以使所述第七存储服务器向所述第一存储服务器请求最新的数据安全分布信息,并在获取到最新的数据安全分布信息后,重新确定存储所述第一待存储数据的存储介质;所述失败响应用于指示所述第七存储服务器需要获取最新的数据安全分布信息。
其中,所述管理服务器为管理所述生产站点下各存储服务器的服务器;或者,所述管理服务器为管理所述容灾站点下各存储服务器的服务器。
进一步可选的,当确定模块801用于生成所述数据安全分布信息时,发送模块802,还用于:将所述数据安全分布信息发送至其他存储服务器,以使所述其他存储服务器根据所述数据安全分布信息对数据进行存储。
本实施例的装置,可以用于执行图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
分布式存储***的容灾装置实施例三
可选的,在本发明分布式存储***的容灾装置实施例二的基础上,确定模块801,具体用于:
当第三存储介质故障时,将原数据安全分布信息中第一分区对应的存储介质更新为第四存储介质,以生成新的数据安全分布信息;
其中,所述第一分区为所述第三存储介质对应的分区;所述第三存储介质与所述第四存储介质所在的存储服务器为同一站点下的存储服务器。
可选的,生成模块803,还可以用于:生成第一数据重构请求;所述第一数据重构请求包括:第五存储服务器需要存储的第一待重构数据;
相应的,发送模块802,还可以用于:将所述第一数据重构请求发送至所述第五存储服务器,以使所述第五存储服务器将所述第一待重构数据存储至所述第四存储介质中;
其中,所述第一待重构数据属于所述第三存储介质上所保存的数据;所述第五存储服务器为所述第四存储介质所在的存储服务器。
本实施例的装置,可以用于执行分布式存储***的容灾方法实施例三的技术方案,其实现原理和技术效果类似,此处不再赘述。
分布式存储***的容灾装置实施例四
可选的,在本发明分布式存储***的容灾装置实施例二的基础上,确定模块801,具体用于:
当第一站点故障时,将原数据安全分布信息中N个分区分别对应的存储介质进行更新,以生成新的数据安全分布信息;
其中,所述N个分区为所述第一站点中各存储服务器的存储介质分别所对应的分区,更新后的N个分区分别对应的存储介质所在的存储服务器及所述第一存储服务器属于第二站点;
若所述第一站点为生产站点,则第二站点为容灾站点;若所述第一站点为容灾站点,则所述第二站点为生产站点。
可选的,若所述第二站点由多个机柜组成,每个机柜上放置至少一个存储服务器,则所述新的数据安全分布信息中主分区对应的存储介质所在的存储服务器与备份区对应的存储介质所在的存储服务器分别位于不同的机柜。
可选的,若所述第二站点由一个机柜组成,每个机柜上放置多个存储服务器,则所述新的数据安全分布信息中主分区对应的存储介质所在的存储服务器与备分区对应的存储介质所在的存储服务器为不同的存储服务器。
可选的,生成模块803,还可以用于:生成第二数据重构请求;所述第二数据重构请求包括:第六存储服务器需要存储的第二待重构数据;
相应的,发送模块802,还可以用于:将所述第二数据重构请求发送至所述第六存储服务器,以使所述第六存储服务器将所述第二待重构数据存储至第五存储介质;
其中,所述第二待重构数据属于所述第一站点中的存储介质上所保存的数据;所述第六存储服务器为第二站点下的存储服务器;所述第五存储介质属于所述M个存储介质中的存储介质。
本实施例的装置,可以用于执行分布式存储***的容灾方法实施例四的技术方案,其实现原理和技术效果类似,此处不再赘述。
图10为本发明分布式存储***的容灾装置实施例五的结构示意图,所述分布式存储***包括生产站点和容灾站点,生产站点包括多个存储服务器,容灾站点包括多个存储服务器,存储服务器包括至少一个存储介质,存储介质承载至少一个分区,所述装置为第一存储服务器;如图10所示,本实施例的装置可以包括:处理器1001和发送器1002。其中,处理器1001,用于根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;其中,所述数据安全分布信息,包括:主分区与备分区的对应关系及分区与存储介质的对应关系;所述第一主分区为所述第一存储服务器中存储第一待存储数据的分区;发送器1002,用于将所述第一待存储数据的备份数据发送至第二存储服务器进行存储;所述第二存储服务器为所述第一存储介质所在的存储服务器;
其中,所述第一存储服务器属于生产站点,所述第二存储服务器属于容灾站点;或者,所述第一存储服务器属于容灾站点,所述第二存储服务器属于生产站点。
可选的,处理器1001,还用于生成数据写入请求;所述数据写入请求包括第二待存储数据;根据负载均衡算法,确定存储所述第二待存储数据的分区为第二主分区;根据所述数据安全分布信息,确定与所述第二主分区对应的存储介质为第二存储介质;发送器1002,还用于将所述第二待存储数据发送至第三存储服务器,以使所述第三存储服务器将所述第二待存储数据存储至所述第二主分区,并将所述第二待存储数据的备份数据发送至第四存储服务器进行存储;所述第三存储服务器为所述第二存储介质所在的存储服务器;
其中,所述第三存储服务器属于生产站点,所述第四存储服务器属于容灾站点;或者,所述第三存储服务器属于容灾站点,所述第四存储服务器属于生产站点。
可选的,所述装置还可以包括:接收器1003,用于接收所述第三存储服务器发送的数据写入响应;所述数据写入响应,用于指示所述第三存储服务器及所述第四存储服务器已将所述第二待存储数据成功存储。
可选的,接收器1003,还可以用于:接收管理服务器发送的数据安全分布信息;或者,处理器1001,还可以用于:根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息。
情况1若接收器1003,还用于:接收管理服务器发送的数据安全分布信息,则:
可选的,接收器1003,还用于:接收第七存储服务器发送的第一版本信息及所述第一待存储数据;所述第一版本信息用于指示所述第七存储服务器中的数据安全分布信息的版本;
相应的,处理器1001,具体用于:
确定所述第一版本信息与第二版本信息是否匹配;所述第二版本信息用于指示所述第一存储服务器中的数据安全分布信息的版本;
若是,则将所述第一待存储数据存储至所述第一主分区,并根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;
否则,当所述第一版本信息与所述第二版本信息中,所述第一版本信息为较新的版本信息时,向所述管理服务器发送数据安全分布信息请求,以获得最新的数据安全分布信息,并在获得最新的数据安全分布信息之后,将所述第一待存储数据存储至所述第一主分区,并根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;
当所述第一版本信息与所述第二版本信息中,所述第二版本信息为较新的版本信息时,向所述第七存储服务器返回失败响应,以使所述第七存储服务器向所述管理服务器请求最新的数据安全分布信息,并在获取到最新的数据安全分布信息后,重新确定存储所述第一待存储数据的存储介质;所述失败响应用于指示所述第七存储服务器需要获取最新的数据安全分布信息。
情况2若处理器1001还用于根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息,则:
可选的,接收器1003,还用于:接收第七存储服务器发送的第一版本信息及所述第一待存储数据;所述第一版本信息用于指示所述第七存储服务器中的数据安全分布信息的版本;
相应的,处理器1001,具体用于:
确定所述第一版本信息与第二版本信息是否匹配;所述第二版本信息用于指示所述第一存储服务器中的数据安全分布信息的版本;
若是,则将所述第一待存储数据存储至所述第一主分区,并根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;
否则,向所述第七存储服务器返回失败响应,以使所述第七存储服务器向所述第一存储服务器请求最新的数据安全分布信息,并在获取到最新的数据安全分布信息后,重新确定存储所述第一待存储数据的存储介质;所述失败响应用于指示所述第七存储服务器需要获取最新的数据安全分布信息。
其中,所述管理服务器为管理所述生产站点下各存储服务器的服务器;或者,所述管理服务器为管理所述容灾站点下各存储服务器的服务器。
进一步可选的,当处理器1001还用于生成所述数据安全分布信息时,发送器1002,还用于:将所述数据安全分布信息发送至其他存储服务器,以使所述其他存储服务器根据所述数据安全分布信息对数据进行存储。
本实施例的装置,可以用于执行图2或图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
分布式存储***的容灾装置实施例六
可选的,在本发明分布式存储***的容灾装置实施例五的基础上,处理器1001,具体用于:当第三存储介质故障时,将原数据安全分布信息中第一分区对应的存储介质更新为第四存储介质,以生成新的数据安全分布信息;
其中,所述第一分区为所述第三存储介质对应的分区;所述第三存储介质与所述第四存储介质所在的存储服务器为同一站点下的存储服务器。
可选的,处理器1001,还可以用于:生成第一数据重构请求;所述第一数据重构请求包括:第五存储服务器需要存储的第一待重构数据;
相应的,发送器1002,还可以用于:将所述第一数据重构请求发送至所述第五存储服务器,以使所述第五存储服务器将所述第一待重构数据存储至所述第四存储介质中;
其中,所述第一待重构数据属于所述第三存储介质上所保存的数据;所述第五存储服务器为所述第四存储介质所在的存储服务器。
本实施例的装置,可以用于执行分布式存储***的容灾方法实施例三的技术方案,其实现原理和技术效果类似,此处不再赘述。
分布式存储***的容灾装置实施例七
可选的,在本发明分布式存储***的容灾装置实施例五的基础上,处理器1001,具体用于:
当第一站点故障时,将原数据安全分布信息中N个分区分别对应的存储介质进行更新,以生成新的数据安全分布信息;
其中,所述N个分区为所述第一站点中各存储服务器的存储介质分别所对应的分区,更新后的N个分区分别对应的存储介质所在的存储服务器及所述第一存储服务器属于第二站点;
若所述第一站点为生产站点,则第二站点为容灾站点;若所述第一站点为容灾站点,则所述第二站点为生产站点。
可选的,若所述第二站点由多个机柜组成,每个机柜上放置至少一个存储服务器,则所述新的数据安全分布信息中主分区对应的存储介质所在的存储服务器与备份区对应的存储介质所在的存储服务器分别位于不同的机柜。
可选的,若所述第二站点由一个机柜组成,每个机柜上放置多个存储服务器,则所述新的数据安全分布信息中主分区对应的存储介质所在的存储服务器与备分区对应的存储介质所在的存储服务器为不同的存储服务器。
可选的,处理器1001,还可以用于:生成第二数据重构请求;所述第二数据重构请求包括:第六存储服务器需要存储的第二待重构数据;
相应的,发送器1002,还可以用于:将所述第二数据重构请求发送至所述第六存储服务器,以使所述第六存储服务器将所述第二待重构数据存储至第五存储介质;
其中,所述第二待重构数据属于所述第一站点中的存储介质上所保存的数据;所述第六存储服务器为第二站点下的存储服务器;所述第五存储介质属于所述M个存储介质中的存储介质。
本实施例的装置,可以用于执行分布式存储***的容灾方法实施例四的技术方案,其实现原理和技术效果类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (28)

1.一种分布式存储***的容灾方法,其特征在于,所述分布式存储***包括生产站点和容灾站点,所述生产站点包括多个存储服务器,所述容灾站点包括多个存储服务器,存储服务器包括至少一个存储介质,存储介质承载至少一个分区,所述方法包括:
第一存储服务器根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;其中,所述数据安全分布信息包括:主分区与备分区的对应关系及分区与存储介质的对应关系;所述第一主分区为所述第一存储服务器中存储第一待存储数据的分区;
所述第一存储服务器将所述第一待存储数据的备份数据发送至第二存储服务器进行存储;所述第二存储服务器为所述第一存储介质所在的存储服务器;
其中,所述第一存储服务器属于生产站点,所述第二存储服务器属于容灾站点;或者,所述第一存储服务器属于容灾站点,所述第二存储服务器属于生产站点;
所述第一存储服务器根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质之前,还包括:
所述第一存储服务器接收第七存储服务器发送的第一版本信息及所述第一待存储数据;所述第一版本信息用于指示所述第七存储服务器中的数据安全分布信息的版本;
所述第一存储服务器确定所述第一版本信息与第二版本信息是否匹配;所述第二版本信息用于指示所述第一存储服务器中的数据安全分布信息的版本;
若是,则所述第一存储服务器将所述第一待存储数据存储至所述第一主分区,并执行根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质的步骤;
否则,当所述第一版本信息与所述第二版本信息中,所述第一版本信息为较新的版本信息时,所述第一存储服务器向管理服务器发送数据安全分布信息请求,以获得最新的数据安全分布信息,并在获得最新的数据安全分布信息之后,将所述第一待存储数据存储至所述第一主分区,并执行根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质的步骤;
当所述第一版本信息与所述第二版本信息中,所述第二版本信息为较新的版本信息时,所述第一存储服务器向所述第七存储服务器返回失败响应,以使所述第七存储服务器向所述管理服务器请求最新的数据安全分布信息,并在获取到最新的数据安全分布信息后,重新确定存储所述第一待存储数据的存储介质;所述失败响应用于指示所述第七存储服务器需要获取最新的数据安全分布信息;
其中,所述管理服务器为管理所述生产站点下各存储服务器的服务器;或者,所述管理服务器为管理所述容灾站点下各存储服务器的服务器。
2.根据权利要求1所述的方法,其特征在于,所述第一存储服务器将所述第一待存储数据的备份数据发送至第二存储服务器进行存储之后,还包括:
所述第一存储服务器生成数据写入请求;所述数据写入请求包括第二待存储数据;
所述第一存储服务器根据负载均衡算法,确定存储所述第二待存储数据的分区为第二主分区;
所述第一存储服务器根据所述数据安全分布信息,确定与所述第二主分区对应的存储介质为第二存储介质;
所述第一存储服务器将所述第二待存储数据发送至第三存储服务器,以使所述第三存储服务器将所述第二待存储数据存储至所述第二主分区,并将所述第二待存储数据的备份数据发送至第四存储服务器进行存储;所述第三存储服务器为所述第二存储介质所在的存储服务器;
其中,所述第三存储服务器属于生产站点,所述第四存储服务器属于容灾站点;或者,所述第三存储服务器属于容灾站点,所述第四存储服务器属于生产站点。
3.根据权利要求2所述的方法,其特征在于,所述第一存储服务器将所述第二待存储数据发送至第三存储服务器之后,还包括:
所述第一存储服务器接收所述第三存储服务器发送的数据写入响应;所述数据写入响应,用于指示所述第三存储服务器及所述第四存储服务器已将所述第二待存储数据成功存储。
4.一种分布式存储***的容灾方法,其特征在于,所述分布式存储***包括生产站点和容灾站点,所述生产站点包括多个存储服务器,所述容灾站点包括多个存储服务器,存储服务器包括至少一个存储介质,存储介质承载至少一个分区,所述方法包括:
第一存储服务器根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;其中,所述数据安全分布信息包括:主分区与备分区的对应关系及分区与存储介质的对应关系;所述第一主分区为所述第一存储服务器中存储第一待存储数据的分区;
所述第一存储服务器将所述第一待存储数据的备份数据发送至第二存储服务器进行存储;所述第二存储服务器为所述第一存储介质所在的存储服务器;
其中,所述第一存储服务器属于生产站点,所述第二存储服务器属于容灾站点;或者,所述第一存储服务器属于容灾站点,所述第二存储服务器属于生产站点;
所述第一存储服务器根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质之前,还包括:
所述第一存储服务器接收第七存储服务器发送的第一版本信息及所述第一待存储数据;所述第一版本信息用于指示所述第七存储服务器中的数据安全分布信息的版本;
所述第一存储服务器确定所述第一版本信息与第二版本信息是否匹配;所述第二版本信息用于指示所述第一存储服务器中的数据安全分布信息的版本;
若是,则所述第一存储服务器将所述第一待存储数据存储至所述第一主分区,并执行根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质的步骤;
否则,所述第一存储服务器向所述第七存储服务器返回失败响应,以使所述第七存储服务器向管理服务器请求最新的数据安全分布信息,并在获取到最新的数据安全分布信息后,重新确定存储所述第一待存储数据的存储介质;所述失败响应用于指示所述第七存储服务器需要获取最新的数据安全分布信息;
其中,所述管理服务器为管理所述生产站点下各存储服务器的服务器;或者,所述管理服务器为管理所述容灾站点下各存储服务器的服务器;
所述第一存储服务器根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质之前,还包括:
所述第一存储服务器根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息。
5.根据权利要求4所述的方法,其特征在于,所述第一存储服务器将所述第一待存储数据的备份数据发送至第二存储服务器进行存储之后,还包括:
所述第一存储服务器生成数据写入请求;所述数据写入请求包括第二待存储数据;
所述第一存储服务器根据负载均衡算法,确定存储所述第二待存储数据的分区为第二主分区;
所述第一存储服务器根据所述数据安全分布信息,确定与所述第二主分区对应的存储介质为第二存储介质;
所述第一存储服务器将所述第二待存储数据发送至第三存储服务器,以使所述第三存储服务器将所述第二待存储数据存储至所述第二主分区,并将所述第二待存储数据的备份数据发送至第四存储服务器进行存储;所述第三存储服务器为所述第二存储介质所在的存储服务器;
其中,所述第三存储服务器属于生产站点,所述第四存储服务器属于容灾站点;或者,所述第三存储服务器属于容灾站点,所述第四存储服务器属于生产站点。
6.根据权利要求4所述的方法,其特征在于,所述第一存储服务器将第二待存储数据发送至第三存储服务器之后,还包括:
所述第一存储服务器接收所述第三存储服务器发送的数据写入响应;所述数据写入响应,用于指示所述第三存储服务器及第四存储服务器已将所述第二待存储数据成功存储。
7.根据权利要求4所述的方法,其特征在于,所述第一存储服务器根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息之后,还包括:
所述第一存储服务器将所述数据安全分布信息发送至其他存储服务器,以使所述其他存储服务器根据所述数据安全分布信息对数据进行存储。
8.根据权利要求7所述的方法,其特征在于,所述第一存储服务器根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息,包括:
当第三存储介质故障时,所述第一存储服务器将原数据安全分布信息中第一分区对应的存储介质更新为第四存储介质,以生成新的数据安全分布信息;
其中,所述第一分区为所述第三存储介质对应的分区;所述第三存储介质与所述第四存储介质所在的存储服务器为同一站点下的存储服务器。
9.根据权利要求8所述的方法,其特征在于,所述第一存储服务器生成新的数据安全分布信息之后,还包括:
所述第一存储服务器生成第一数据重构请求;所述第一数据重构请求包括:第五存储服务器需要存储的第一待重构数据;
所述第一存储服务器将所述第一数据重构请求发送至所述第五存储服务器,以使所述第五存储服务器将所述第一待重构数据存储至所述第四存储介质中;
其中,所述第一待重构数据属于所述第三存储介质上所保存的数据;所述第五存储服务器为所述第四存储介质所在的存储服务器。
10.根据权利要求8所述的方法,其特征在于,所述第一存储服务器根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息,包括:
当第一站点故障时,所述第一存储服务器将原数据安全分布信息中N个分区分别对应的存储介质进行更新,以生成新的数据安全分布信息;
其中,所述N个分区为所述第一站点中各存储服务器的存储介质分别所对应的分区,更新后的N个分区分别对应的存储介质所在的存储服务器及所述第一存储服务器属于第二站点;
若所述第一站点为生产站点,则第二站点为容灾站点;若所述第一站点为容灾站点,则所述第二站点为生产站点。
11.根据权利要求10所述的方法,其特征在于,若所述第二站点由多个机柜组成,每个机柜上放置至少一个存储服务器,则所述新的数据安全分布信息中主分区对应的存储介质所在的存储服务器与备份区对应的存储介质所在的存储服务器分别位于不同的机柜。
12.根据权利要求10所述的方法,其特征在于,若所述第二站点由一个机柜组成,每个机柜上放置多个存储服务器,则所述新的数据安全分布信息中主分区对应的存储介质所在的存储服务器与备分区对应的存储介质所在的存储服务器为不同的存储服务器。
13.根据权利要求11或12所述的方法,其特征在于,所述第一存储服务器生成新的数据安全分布信息之后,还包括:
所述第一存储服务器生成第二数据重构请求;所述第二数据重构请求包括:第六存储服务器需要存储的第二待重构数据;
所述第一存储服务器将所述第二数据重构请求发送至所述第六存储服务器,以使所述第六存储服务器将所述第二待重构数据存储至第五存储介质;
其中,所述第二待重构数据属于所述第一站点中的存储介质上所保存的数据;所述第六存储服务器为第二站点下的存储服务器;所述第五存储介质属于M个存储介质中的存储介质。
14.一种分布式存储***的容灾装置,其特征在于,所述分布式存储***包括生产站点和容灾站点,所述生产站点包括多个存储服务器,所述容灾站点包括多个存储服务器,存储服务器包括至少一个存储介质,存储介质承载至少一个分区,所述装置为第一存储服务器,所述装置包括:
确定模块,用于根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;其中,所述数据安全分布信息包括:主分区与备分区的对应关系及分区与存储介质的对应关系;所述第一主分区为所述第一存储服务器中存储第一待存储数据的分区;
发送模块,用于将所述第一待存储数据的备份数据发送至第二存储服务器进行存储;所述第二存储服务器为所述第一存储介质所在的存储服务器;
其中,所述第一存储服务器属于生产站点,所述第二存储服务器属于容灾站点;或者,所述第一存储服务器属于容灾站点,所述第二存储服务器属于生产站点;
所述装置还包括:接收模块,用于:
接收第七存储服务器发送的第一版本信息及所述第一待存储数据;所述第一版本信息用于指示所述第七存储服务器中的数据安全分布信息的版本;
所述确定模块,具体用于:
确定所述第一版本信息与第二版本信息是否匹配;所述第二版本信息用于指示所述第一存储服务器中的数据安全分布信息的版本;
若是,则将所述第一待存储数据存储至所述第一主分区,并根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;
否则,当所述第一版本信息与所述第二版本信息中,所述第一版本信息为较新的版本信息时,向管理服务器发送数据安全分布信息请求,以获得最新的数据安全分布信息,并在获得最新的数据安全分布信息之后,将所述第一待存储数据存储至所述第一主分区,并根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;
当所述第一版本信息与所述第二版本信息中,所述第二版本信息为较新的版本信息时,向所述第七存储服务器返回失败响应,以使所述第七存储服务器向管理服务器请求最新的数据安全分布信息,并在获取到最新的数据安全分布信息后,重新确定存储所述第一待存储数据的存储介质;所述失败响应用于指示所述第七存储服务器需要获取最新的数据安全分布信息;
其中,所述管理服务器为管理所述生产站点下各存储服务器的服务器;或者,所述管理服务器为管理所述容灾站点下各存储服务器的服务器。
15.根据权利要求14所述的装置,其特征在于,还包括:
生成模块,用于生成数据写入请求;所述数据写入请求包括第二待存储数据;
所述确定模块,还用于根据负载均衡算法,确定存储所述第二待存储数据的分区为第二主分区;根据所述数据安全分布信息,确定与所述第二主分区对应的存储介质为第二存储介质;
所述发送模块,还用于将所述第二待存储数据发送至第三存储服务器,以使所述第三存储服务器将所述第二待存储数据存储至所述第二主分区,并将所述第二待存储数据的备份数据发送至第四存储服务器进行存储;所述第三存储服务器为所述第二存储介质所在的存储服务器;
其中,所述第三存储服务器属于生产站点,所述第四存储服务器属于容灾站点;或者,所述第三存储服务器属于容灾站点,所述第四存储服务器属于生产站点。
16.根据权利要求15所述的装置,其特征在于,
所述接收模块,用于接收所述第三存储服务器发送的所述数据写入响应;所述数据写入响应,用于指示所述第三存储服务器及所述第四存储服务器已将所述第二待存储数据成功存储。
17.根据权利要求14或15所述的装置,其特征在于,所述接收模块,还用于:接收管理服务器发送的数据安全分布信息。
18.根据权利要求15或16所述的装置,其特征在于,所述生成模块,还用于:生成第二数据重构请求;所述第二数据重构请求包括:第六存储服务器需要存储的第二待重构数据;
所述发送模块,还用于:将所述第二数据重构请求发送至所述第六存储服务器,以使所述第六存储服务器将所述第二待重构数据存储至第五存储介质;
其中,所述第二待重构数据属于第一站点中的存储介质上所保存的数据;所述第六存储服务器为第二站点下的存储服务器;所述第五存储介质属于M个存储介质中的存储介质。
19.一种分布式存储***的容灾装置,其特征在于,所述分布式存储***包括生产站点和容灾站点,所述生产站点包括多个存储服务器,所述容灾站点包括多个存储服务器,存储服务器包括至少一个存储介质,存储介质承载至少一个分区,所述装置为第一存储服务器,所述装置包括:
确定模块,用于根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;其中,所述数据安全分布信息包括:主分区与备分区的对应关系及分区与存储介质的对应关系;所述第一主分区为所述第一存储服务器中存储第一待存储数据的分区;
发送模块,用于将所述第一待存储数据的备份数据发送至第二存储服务器进行存储;所述第二存储服务器为所述第一存储介质所在的存储服务器;
其中,所述第一存储服务器属于生产站点,所述第二存储服务器属于容灾站点;或者,所述第一存储服务器属于容灾站点,所述第二存储服务器属于生产站点;
所述装置还包括:接收模块,用于:
接收第七存储服务器发送的第一版本信息及所述第一待存储数据;所述第一版本信息用于指示所述第七存储服务器中的数据安全分布信息的版本;
所述确定模块,具体用于:
确定所述第一版本信息与第二版本信息是否匹配;所述第二版本信息用于指示所述第一存储服务器中的数据安全分布信息的版本;
若是,则将所述第一待存储数据存储至所述第一主分区,并根据数据安全分布信息,确定与第一主分区对应的备分区为第一备分区以及与所述第一备分区对应的存储介质为第一存储介质;
否则,向所述第七存储服务器返回失败响应,以使所述第七存储服务器向管理服务器请求最新的数据安全分布信息,并在获取到最新的数据安全分布信息后,重新确定存储所述第一待存储数据的存储介质;所述失败响应用于指示所述第七存储服务器需要获取最新的数据安全分布信息;
其中,所述管理服务器为管理所述生产站点下各存储服务器的服务器;或者,所述管理服务器为管理所述容灾站点下各存储服务器的服务器;
所述确定模块,还用于根据生产站点及容灾站点中各存储服务器的存储介质的状态信息,生成所述数据安全分布信息。
20.根据权利要求19所述的装置,其特征在于,还包括:
生成模块,用于生成数据写入请求;所述数据写入请求包括第二待存储数据;
所述确定模块,还用于根据负载均衡算法,确定存储所述第二待存储数据的分区为第二主分区;根据所述数据安全分布信息,确定与所述第二主分区对应的存储介质为第二存储介质;
所述发送模块,还用于将所述第二待存储数据发送至第三存储服务器,以使所述第三存储服务器将所述第二待存储数据存储至所述第二主分区,并将所述第二待存储数据的备份数据发送至第四存储服务器进行存储;所述第三存储服务器为所述第二存储介质所在的存储服务器;
其中,所述第三存储服务器属于生产站点,所述第四存储服务器属于容灾站点;或者,所述第三存储服务器属于容灾站点,所述第四存储服务器属于生产站点。
21.根据权利要求19所述的装置,其特征在于,
所述接收模块,用于接收第三存储服务器发送的所述数据写入响应;所述数据写入响应,用于指示所述第三存储服务器及第四存储服务器已将第二待存储数据成功存储。
22.根据权利要求19所述的装置,其特征在于,所述发送模块,还用于:
将所述数据安全分布信息发送至其他存储服务器,以使所述其他存储服务器根据所述数据安全分布信息对数据进行存储。
23.根据权利要求22所述的装置,其特征在于,所述确定模块,具体用于:
当第三存储介质故障时,将原数据安全分布信息中第一分区对应的存储介质更新为第四存储介质,以生成新的数据安全分布信息;
其中,所述第一分区为所述第三存储介质对应的分区;所述第三存储介质与所述第四存储介质所在的存储服务器为同一站点下的存储服务器。
24.根据权利要求23所述的装置,其特征在于,所述生成模块,还用于:生成第一数据重构请求;所述第一数据重构请求包括:第五存储服务器需要存储的第一待重构数据;
所述发送模块,还用于:将所述第一数据重构请求发送至所述第五存储服务器,以使所述第五存储服务器将所述第一待重构数据存储至所述第四存储介质中;
其中,所述第一待重构数据属于所述第三存储介质上所保存的数据;所述第五存储服务器为所述第四存储介质所在的存储服务器。
25.根据权利要求22所述的装置,其特征在于,所述确定模块,具体用于:
当第一站点故障时,将原数据安全分布信息中N个分区分别对应的存储介质进行更新,以生成新的数据安全分布信息;
其中,所述N个分区为所述第一站点中各存储服务器的存储介质分别所对应的分区,更新后的N个分区分别对应的存储介质所在的存储服务器及所述第一存储服务器属于第二站点;
若所述第一站点为生产站点,则第二站点为容灾站点;若所述第一站点为容灾站点,则所述第二站点为生产站点。
26.根据权利要求25所述的装置,其特征在于,若所述第二站点由多个机柜组成,每个机柜上放置至少一个存储服务器,则所述新的数据安全分布信息中主分区对应的存储介质所在的存储服务器与备份区对应的存储介质所在的存储服务器分别位于不同的机柜。
27.根据权利要求25所述的装置,其特征在于,若所述第二站点由一个机柜组成,每个机柜上放置多个存储服务器,则所述新的数据安全分布信息中主分区对应的存储介质所在的存储服务器与备分区对应的存储介质所在的存储服务器为不同的存储服务器。
28.根据权利要求26或27所述的装置,其特征在于,所述生成模块,还用于:生成第二数据重构请求;所述第二数据重构请求包括:第六存储服务器需要存储的第二待重构数据;
所述发送模块,还用于:将所述第二数据重构请求发送至所述第六存储服务器,以使所述第六存储服务器将所述第二待重构数据存储至第五存储介质;
其中,所述第二待重构数据属于所述第一站点中的存储介质上所保存的数据;所述第六存储服务器为第二站点下的存储服务器;所述第五存储介质属于M个存储介质中的存储介质。
CN201410810750.5A 2014-12-22 2014-12-22 分布式存储***的容灾方法及装置 Active CN104486438B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410810750.5A CN104486438B (zh) 2014-12-22 2014-12-22 分布式存储***的容灾方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410810750.5A CN104486438B (zh) 2014-12-22 2014-12-22 分布式存储***的容灾方法及装置

Publications (2)

Publication Number Publication Date
CN104486438A CN104486438A (zh) 2015-04-01
CN104486438B true CN104486438B (zh) 2019-02-19

Family

ID=52760942

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410810750.5A Active CN104486438B (zh) 2014-12-22 2014-12-22 分布式存储***的容灾方法及装置

Country Status (1)

Country Link
CN (1) CN104486438B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341366A (zh) * 2015-07-06 2017-01-18 中兴通讯股份有限公司 一种多密钥服务器备份的方法及设备、密钥服务器
CN106502822A (zh) * 2015-09-08 2017-03-15 中兴通讯股份有限公司 数据读写方法及装置
CN106020975B (zh) * 2016-05-13 2020-01-21 华为技术有限公司 数据操作方法、装置和***
CN106648966A (zh) * 2016-10-14 2017-05-10 郑州云海信息技术有限公司 一种存储服务器元数据备份方法及***
CN106775449A (zh) * 2016-11-16 2017-05-31 无锡港湾网络科技有限公司 防灾***数据分布式存储方法
CN110351581B (zh) * 2019-07-08 2022-02-18 北京字节跳动网络技术有限公司 一种数据请求处理方法、装置、终端设备及存储介质
CN110597673B (zh) * 2019-09-25 2021-04-30 腾讯科技(深圳)有限公司 存储***的容灾方法、装置、设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546782A (zh) * 2011-12-28 2012-07-04 北京奇虎科技有限公司 一种分布式***及其数据操作方法
CN102694863A (zh) * 2012-05-30 2012-09-26 电子科技大学 基于负载调整和***容错的分布式存储***的实现方法
CN103403666A (zh) * 2012-12-21 2013-11-20 华为技术有限公司 分布式存储控制方法、装置及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120191657A1 (en) * 2011-01-17 2012-07-26 Nathan Daniel Weinstein Data backup, storage and management system and methodology

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546782A (zh) * 2011-12-28 2012-07-04 北京奇虎科技有限公司 一种分布式***及其数据操作方法
CN102694863A (zh) * 2012-05-30 2012-09-26 电子科技大学 基于负载调整和***容错的分布式存储***的实现方法
CN103403666A (zh) * 2012-12-21 2013-11-20 华为技术有限公司 分布式存储控制方法、装置及***

Also Published As

Publication number Publication date
CN104486438A (zh) 2015-04-01

Similar Documents

Publication Publication Date Title
CN104486438B (zh) 分布式存储***的容灾方法及装置
CN106662983B (zh) 分布式存储***中的数据重建的方法、装置和***
US9965364B2 (en) Fault tolerant listener registration in the presence of node crashes in a data grid
CN106407040B (zh) 一种远程数据复制方法及***
US10114580B1 (en) Data backup management on distributed storage systems
CN106062717B (zh) 一种分布式存储复制***和方法
EP2919130A1 (en) Method and system for synchronizing distributed database
JP2019036353A (ja) 索引更新パイプライン
CN108958984B (zh) 基于ceph的双活同步在线热备方法
JP2016524750A5 (zh)
WO2014060881A1 (en) Consistency group management
CN109491609B (zh) 一种缓存数据处理方法、装置、设备及可读存储介质
CN103530200A (zh) 一种服务器热备份***和方法
CN110348826A (zh) 异地多活容灾方法、***、设备及可读存储介质
CN115562911B (zh) 虚拟机数据备份方法及装置、***、电子设备、存储介质
CN111966467A (zh) 基于kubernetes容器平台灾备的方法及装置
CN108762982B (zh) 一种数据库恢复方法、装置及***
CN105550230B (zh) 分布式存储***节点故障的侦测方法和装置
CN102025758B (zh) 分布式***中数据副本的恢复方法、装置和***
CN105893176B (zh) 一种网络存储***的管理方法和装置
JP2023505879A (ja) 分散型データベースシステム及びデータ災害バックアップ訓練方法
CN110209526A (zh) 一种存储层同步***、及存储介质
CN103516734A (zh) 数据处理方法、设备和***
US9830263B1 (en) Cache consistency
CN116389233B (zh) 容器云管理平台主备切换***、方法、装置和计算机设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220216

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.