CN108076090B - 数据处理方法和存储管理系统 - Google Patents

数据处理方法和存储管理系统 Download PDF

Info

Publication number
CN108076090B
CN108076090B CN201610998630.1A CN201610998630A CN108076090B CN 108076090 B CN108076090 B CN 108076090B CN 201610998630 A CN201610998630 A CN 201610998630A CN 108076090 B CN108076090 B CN 108076090B
Authority
CN
China
Prior art keywords
storage system
storage
log
request message
information
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
CN201610998630.1A
Other languages
English (en)
Other versions
CN108076090A (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 CN201610998630.1A priority Critical patent/CN108076090B/zh
Priority to PCT/CN2017/108198 priority patent/WO2018086466A1/zh
Publication of CN108076090A publication Critical patent/CN108076090A/zh
Application granted granted Critical
Publication of CN108076090B publication Critical patent/CN108076090B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

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

Abstract

本申请提供一种数据处理方法和存储管理系统。本申请的数据处理方法包括:第一存储网关客户端接收写数据请求消息,该写数据请求消息携带的信息包括第一数据、第一位置信息和第一存储系统的第一标识信息;第一存储网关客户端向第一文件路径信息指示的第一日志文件中写入第一写日志,该第一写日志包括第一数据和第一位置信息,第一日志文件存储于第二存储系统,第二存储系统与第一存储系统不是同一个存储系统。本申请提供的数据处理方法和存储管理系统能够提高存储管理系统的适用性,并提高存储系统的可复用性。

Description

数据处理方法和存储管理系统
技术领域
本申请涉及云存储领域,尤其涉及数据处理方法和存储管理系统。
背景技术
云存储网关(cloud storage gateway)是基于硬件或软件的设备,它作为本地应用和远程云存储间的桥梁提供服务。云存储网关的产品有时候也叫做云存储设备或云存储控制器。
云存储网关通常可以实现的功能包括:基于快照、备份、复制的数据保护,写出或读入缓存等。
传统的云存储网关需要绑定特定的存储系统,即传统的云存储网关的适配性较差。而且,与传统的云存储网关绑定个存储系统的可复用性较差。
发明内容
本申请提供一种数据处理方法和存储管理系统,能够提高云存储管理系统的适用性,和提高存储系统的可复用性。
第一方面,本申请提供了一种数据处理方法,包括:第一存储网关客户端接收写数据请求消息,所述写数据请求消息携带的信息包括第一数据、第一位置信息和第一存储系统的第一标识信息;所述第一存储网关客户端向第一文件路径信息指示的第一日志文件中写入第一写日志,所述第一写日志包括所述第一数据和所述第一位置信息,所述第一日志文件存储于第二存储系统,所述第二存储系统与所述第一存储系统不是同一个存储系统。
本申请的数据处理方法中,通过第一存储网关客户端和第一存储网关服务端,将第一数据存储至第一存储系统,而将第一存储系统中的第一数据对应的增量数据存储至另一个第二存储系统,一方面,不会破坏第一存储系统中的数据结构,也不会增加读取第一存储系统中的数据时使用的路径,即即使停止该云存储网关的服务,仍然可以正常使用第一存储系统;另一方面,将第一存储系统中的第一数据对应的增量数据与第一存储系统解耦,存储到第二存储系统,第一存储系统重新绑定到该云存储网关时,不需要进行格式化,即可以提高第一存储系统的复用性;另外,将第一存储系统中的第一数据对应的增量数据与第一存储系统解耦,存储到第二存储系统,可以使得快照、备份、复制等功能不再依赖于第一存储系统,提高云存储网关的适用性。
在一种可能的实现方式中,所述第一存储网关客户端向第一文件路径信息指示的第一日志文件中写入第一写日志之前,所述数据处理方法还包括:所述第一存储网关客户端根据所述写数据请求消息,向第一存储网关服务端发送第一文件路径请求消息,所述第一文件路径请求消息携带所述第一标识信息;所述第一存储网关服务端根据所述第一文件路径请求消息,请求所述第二存储系统创建所述第一日志文件,并向所述第二存储系统上存储的第一元数据集合中写入第一日志元数据信息,所述第一日志元数据信息包括第一指示信息,所述第一指示信息用于指示所述第一日志文件的所述第一文件路径信息与所述第一标识信息的对应关系;所述第一存储网关服务端向所述第一存储网关客户端发送所述第一文件路径信息。
在一种可能的实现方式中,所述第一日志元数据信息还包括第二指示信息,所述第二指示信息用于指示所述第一日志文件未复制到第三存储系统;所述数据处理方法还包括:所述第一存储网关服务端向所述第二存储系统发送第一日志文件请求消息,所述第一日志文件请求消息用于请求所述第二存储系统中,与所述第一标识信息对应的、且未复制到所述第三存储系统上的日志文件的文件路径信息;所述第一存储网关服务端接收所述第二存储系统根据所述第一日志文件请求消息和所述第一元数据集合发送的所述第一文件路径信息;所述第一存储网关服务端从所述第二存储系统中读取所述第一日志文件,并向所述第三存储系统复制所述第一日志文件。
在一种可能的实现方式中,所述数据处理方法还包括:所述第一存储网关服务端接收第二日志文件和第四存储系统的标识信息;所述第一存储网关服务端将所述第二日志文件写入第五存储系统;所述第一存储网关服务端向所述第五存储系统上的第二元数据集合中写入第二日志元数据信息,所述第二日志元数据信息包括第三指示信息,所述第三指示信息用于指示所述第四存储系统的标识信息与所述第二日志文件在所述第五存储系统上的第二文件路径信息的对应关系。
在一种可能的实现方式中,所述第二日志元数据信息还包括第四指示信息,所述第四指示信息用于指示所述第二日志文件未重放到所述第四存储系统;其中,所述数据处理方法还包括:所述第一存储网关服务端向所述第五存储系统发送第二日志文件请求消息,所述第二日志文件请求消息用于请求所述第五存储系统中还未重放到所述第四存储系统上的日志文件的文件路径信息;所述第一存储网关服务端接收所述第五存储系统根据所述第二日志文件请求消息和所述第二元数据集合发送的所述第二文件路径信息;所述第一存储网关服务端向第二存储网关客户端发送所述第二文件路径信息;所述第二存储网关客户端根据所述第二文件路径信息,从所述第五存储系统读取所述第二日志文件中的第二写日志,并将所述第二写日志中的第二数据,写入所述第四存储系统上的第二位置。
在一种可能的实现方式中,所述第一写日志中的所述第一数据未重放到所述第一存储系统上所述第一位置信息所指示的第一位置;其中,所述数据处理方法还包括:所述第一存储网关客户端将所述第一写日志中的所述第一数据,写入所述第一存储系统的所述第一位置。
在一种可能的实现方式中,所述第一日志元数据信息还包括第五指示信息,所述第五指示信息用于指示所述第一日志文件中的写日志未重放到所述第一存储系统;其中,所述第一存储网关客户端将所述第一写日志中的所述第一数据,写入所述第一存储系统的所述第一位置,包括:所述第一存储网关客户端向所述第一存储网关服务端发送第三日志文件请求消息,所述第三日志文件请求消息携带所述第一标识信息;所述第一存储网关服务端根据所述第三日志文件请求消息,向所述第二存储系统发送第四日志文件请求消息,所述第四日志文件请求消息用于请求所述第二存储系统中还未重放到所述第一存储系统上的日志文件的文件路径信息;所述第一存储网关服务端接收所述第二存储系统根据所述第四日志文件请求消息和所述第一元数据集合发送的所述第一文件路径信息;所述第一存储网关服务端向所述第一存储网关客户端发送所述第一文件路径信息;所述第一存储网关客户端根据所述第一文件路径信息,从所述第二存储系统读取所述第一日志文件中的所述第一写日志,并将所述第一写日志中的所述第一数据,写入所述第一存储系统上的所述第一位置。
在一种可能的实现方式中,所述第一存储网关客户端将所述第一写日志中的所述第一数据,写入所述第一存储系统上的所述第一位置之前,所述数据处理方法还包括:所述第一存储网关客户端接收读数据请求消息,所述读数据请求消息携带所述第一位置信息和所述第一标识信息;若所述第一存储网关客户端根据所述读数据请求消息,确定所述第一存储网关客户端上存在应写入所述第一存储系统中所述第一位置的所述第一数据,则发送所述第一存储网关客户端上存在的所述第一数据;若所述第一存储网关客户端根据所述读数据请求消息,确定所述第一存储网关客户端上不存在所述第一数据,则读取所述第一存储系统中所述第一位置上的所述第一数据。并发送所述第一数据。
在一种可能的实现方式中,所述第一存储网关客户端向第一文件路径信息指示的第一日志文件中写入第一写日志之前,所述数据处理方法还包括:所述第一存储网关客户端接收第一快照请求消息;所述第一存储网关客户端根据所述第一快照请求消息,向所述第一日志文件写入第一快照的标识日志;所述第一存储网关客户端向所述第一存储网关服务端发送快照元数据生成请求消息;所述第一存储网关服务端根据所述元数据生成请求消息,向所述第二存储系统的第三元数据集合中写入第一快照增量元数据信息,所述第一快照增量元数据信息包括所述第一快照的标识信息、第三位置信息和所述第一位置信息,所述第三位置信息用于指示所述第三位置;其中,所述第一存储网关客户端将所述第一写日志中的所述第一数据,写入所述第一存储系统上的所述第一位置之前,所述数据处理方法还包括:所述第一存储网关客户端读取所述第一存储存储中所述第一位置处的第三数据,将所述第三数据写到所述第二存储系统上的第三位置。
在一种可能的实现方式中,所述数据处理方法还包括:所述第一存储网关客户端接收第一备份请求消息,所述第一备份请求消息用于请求对所述第一存储系统进行第一备份;所述第一存储网关客户端向所述第一日志文件写入第二快照的标识日志;所述第一存储网关客户端向所述第一存储网关服务端发送备份元数据生成请求消息;所述第一存储网关服务端根据所述备份元数据生成请求消息,并向所述第二存储系统的第四元数据集合中写入所述第一存储系统的第一备份元数据信息,所述第一备份元数据信息包括所述第二快照的标识信息和所述第一备份的标识信息的对应关系,所述第四元数据集合包括所述第一存储系统的第二备份元数据信息,所述第二备份元数据信息包括第三快照的标识信息和第二备份的标识信息的对应关系,所述第一日志文件包括所述第三快照的标识日志;所述第一存储网关服务端读取所述第二存储系统上的第一日志文件中所述第二快照的标识日志至第三快照的标识日志之间所有日志;所述第一存储网关服务端向第三存储网关服务端发送所述所有日志。
在一种可能的实现方式中,所述数据处理方法还包括:所述第一存储网关客户端接收第一备份请求消息,所述第一备份请求消息用于请求对所述第一存储系统进行第一备份;所述第一存储网关客户端向所述第一日志文件写入第二快照的标识日志;所述第一存储网关客户端向所述第一存储网关服务端发送备份元数据生成请求消息;所述第一存储网关服务端根据所述备份元数据生成请求消息,并向所述第二存储系统的第四元数据集合中写入所述第一存储系统的第一备份元数据信息,所述第一备份元数据信息包括所述第二快照的标识信息和所述第一备份的标识信息的对应关系;所述第一存储网关服务端读取所述第二存储系统上所述第二快照的快照增量数据;所述第一存储网关服务端向第三存储网关服务端发送所述第二快照的快照增量数据。
在一种可能的实现方式中,所述第一存储网关客户端为仲裁集群管理的多个存储网关客户端中的一个,所述第一存储网关服务端为所述仲裁集群管理的多个存储网关服务端中的一个。
可选地,第一存储网关客户端可以包括iscsi target服务模块、IO截获模块、写日志模块、日志重放模块,上述数据处理方法中由第一存储网关客户端执行的步骤可以由第一存储网关客户端中相应的模块来执行。
第一存储网关服务端可以包括API层、日志管理模块、快照管理模块,和日志复制模块。上述数据处理方法中由第一存储网关服务端执行的步骤可以由第一存储网关服务端中相应的模块来执行。
第二方面,本申请提供了一种存储管理系统,包括第一计算设备,所述第一计算设备包括第一存储器、第一处理器和第一通信接口,所述第一存储器用于存储代码,所述第一处理器用于执行所述第一存储器存储的代码,所述第一通信接口用于与其他设备通信;当所述第一处理器执行所述第一存储器存储的代码时,所述第一处理器用于接收写数据请求消息,所述写数据请求消息携带的信息包括第一数据、第一位置信息和第一存储系统的第一标识信息;所述第一处理器还用于通过所述第一通信接口向第一文件路径信息指示的第一日志文件中写入第一写日志,所述第一写日志包括所述第一数据和所述第一位置信息,所述第一日志文件存储于第二存储系统,所述第二存储系统与所述第一存储系统不是同一个存储系统。
本申请的存储管理系统中,通过第一计算设备和第二计算设备,将第一数据存储至第一存储系统,而将第一存储系统中的第一数据对应的增量数据存储至另一个第二存储系统,一方面,不会破坏第一存储系统中的数据结构,也不会增加读取第一存储系统中的数据时使用的路径,即即使停止该存储管理系统的服务,仍然可以正常使用第一存储系统;另一方面,将第一存储系统中的第一数据对应的增量数据与第一存储系统解耦,存储到第二存储系统,第一存储系统重新绑定到该云存储网关时,不需要进行格式化,即可以提高第一存储系统的复用性;另外,将第一存储系统中的第一数据对应的增量数据与第一存储系统解耦,存储到第二存储系统,可以使得快照、备份、复制等功能不再依赖于第一存储系统,提高存储管理系统的适用性。
在一种可能的实现方式中,所述存储管理系统还包括第二计算设备,所述第二计算设备包括第二存储器、第二处理器和第二通信接口,所述第二存储器用于存储代码,所述第二处理器用于执行所述第二存储器存储的代码,所述第二通信接口用于与其他设备通信;其中,所述第一计算设备向第一文件路径信息指示的第一日志文件中写入第一写日志之前,所述第一处理器还用于根据所述写数据请求消息,通过所述第一通信接口,向所述第二计算设备发送第一文件路径请求消息,所述第一文件路径请求消息携带所述第一标识信息;所述第二处理器用于根据所述第二通信接口接收的所述第一文件路径请求消息,通过所述第二通信接口请求所述第二存储系统创建所述第一日志文件,并通过所述第二通信接口向所述第二存储系统上存储的第一元数据集合中写入第一日志元数据信息,所述第一日志元数据信息包括第一指示信息,所述第一指示信息用于指示所述第一日志文件的所述第一文件路径信息与所述第一标识信息的对应关系;所述第二处理器还用于通过所述第二通信接口向所述第一计算设备发送所述第一文件路径信息。
在一种可能的实现方式中,所述第一日志元数据信息还包括第二指示信息,所述第二指示信息用于指示所述第一日志文件未复制到第三存储系统;所述第二处理器还用于通过所述第二通信接口向所述第二存储系统发送第一日志文件请求消息,所述第一日志文件请求消息用于请求所述第二存储系统中,与所述第一标识信息对应的、且未复制到所述第三存储系统上的日志文件的文件路径信息;所述第二处理器还用于通过所述第二通信接口接收所述第二存储系统根据所述第一日志文件请求消息和所述第一元数据集合发送的所述第一文件路径信息;所述第二处理器还用于通过所述第二通信接口从所述第二存储系统中读取所述第一日志文件,并向所述第三存储系统复制所述第一日志文件。
在一种可能的实现方式中,所述第二处理器还用于通过所述第二通信接口接收第二日志文件和第四存储系统的标识信息;所述第二处理器还用于通过所述第二通信接口将所述第二日志文件写入第五存储系统;所述第二处理器还用于通过所述第二通信接口向所述第五存储系统上的第二元数据集合中写入第二日志元数据信息,所述第二日志元数据信息包括第三指示信息,所述第三指示信息用于指示所述第四存储系统的标识信息与所述第二日志文件在所述第五存储系统上的第二文件路径信息的对应关系。
在一种可能的实现方式中,所述第二日志元数据信息还包括第四指示信息,所述第四指示信息用于指示所述第二日志文件未重放到所述第四存储系统;所述第二处理器还用于通过所述第二通信接口向所述第五存储系统发送第二日志文件请求消息,所述第二日志文件请求消息用于请求所述第五存储系统中还未重放到所述第四存储系统上的日志文件的文件路径信息;所述第二处理器还用于通过所述第二通信接口接收所述第五存储系统根据所述第二日志文件请求消息和所述第二元数据集合发送的所述第二文件路径信息;所述第二处理器还用于通过所述第二通信接口向第一计算设备发送所述第二文件路径信息;所述第一处理器还用于根据所述第一通信接口接收的所述第二文件路径信息,从所述第五存储系统读取所述第二日志文件中的第二写日志,并将所述第二写日志中的第二数据,写入所述第四存储系统上的第二位置。
在一种可能的实现方式中,所述第一写日志中的所述第一数据未重放到所述第一存储系统上所述第一位置信息所指示的第一位置;所述第一处理器还用于通过所述第一通信接口,将所述第一写日志中的所述第一数据,写入所述第一存储系统的所述第一位置。
在一种可能的实现方式中,所述第一日志元数据信息还包括第五指示信息,所述第五指示信息用于指示所述第一日志文件中的写日志未重放到所述第一存储系统;其中,所述第一处理器用于通过所述第一通信接口向所述第二计算设备发送第三日志文件请求消息,所述第三日志文件请求消息携带所述第一标识信息;所述第二处理器还用于根据所述第二通信接口接收的所述第三日志文件请求消息,向所述第二存储系统发送第四日志文件请求消息,所述第四日志文件请求消息用于请求所述第二存储系统中还未重放到所述第一存储系统上的日志文件的文件路径信息;所述第二处理器还用于通过所述第二通信接口,接收所述第二存储系统根据所述第四日志文件请求消息和所述第一元数据集合发送的所述第一文件路径信息;所述第二处理器还用于通过所述第二通信接口,向所述第一计算设备发送所述第一文件路径信息;所述第一处理器还用于根据所述第一通信接口接收的所述第一文件路径信息,从所述第二存储系统读取所述第一日志文件中的所述第一写日志,并将所述第一写日志中的所述第一数据,写入所述第一存储系统上的所述第一位置。
在一种可能的实现方式中,所述第一计算设备向第一文件路径信息指示的第一日志文件中写入第一写日志之前,所述第一处理器还用于接收第一快照请求消息;所述第一处理器还用于根据所述第一快照请求消息,通过所述第一通信接口向所述第一日志文件写入第一快照的标识日志;所述第一处理器还用于通过所述第一通信接口向所述第二计算设备发送快照元数据生成请求消息;所述第二处理器还用于根据所述元数据生成请求消息,通过所述第二通信接口向所述第二存储系统的第三元数据集合中写入第一快照增量元数据信息,所述第一快照增量元数据信息包括所述第一快照的标识信息、第三位置信息和所述第一位置信息,所述第三位置信息用于指示所述第三位置;其中,所述第一计算设备将所述第一写日志中的所述第一数据,写入所述第一存储系统上的所述第一位置之前,所述第一处理器还用于通过所述第一通信接口,读取所述第一存储系统中所述第一位置处的第三数据,将所述第三数据写到所述第二存储系统上的第三位置。
在一种可能的实现方式中,所述第一处理器还用于接收读数据请求消息,所述读数据请求消息携带所述第一位置信息和所述第一标识信息;若所述第一处理器根据所述读数据请求消息,确定所述第一计算设备上存在应写入所述第一存储系统中所述第一位置的所述第一数据,则所述第一处理器还用于通过所述第一通信接口发送所述第一计算设备上存在的所述第一数据;若所述第一处理器根据所述读数据请求消息,确定所述第一计算设备上不存在所述第一数据,则所述第一处理器还用于读取所述第一存储系统中所述第一位置上的所述第一数据。并发送所述第一数据。
在一种可能的实现方式中,所述第一处理器还用于接收第一备份请求消息,所述第一备份请求消息用于请求对所述第一存储系统进行第一备份;所述第一处理器还用于通过所述第一通信接口向所述第一日志文件写入第二快照的标识日志;所述第一处理器还用于通过所述第一通信接口向所述第二计算设备发送备份元数据生成请求消息;所述第二处理器还用于根据所述第二通信接口接收的所述备份元数据生成请求消息,向所述第二存储系统的第四元数据集合中写入所述第一存储系统的第一备份元数据信息,所述第一备份元数据信息包括所述第二快照的标识信息和所述第一备份的标识信息的对应关系,所述第四元数据集合包括所述第一存储系统的第二备份元数据信息,所述第二备份元数据信息包括第三快照的标识信息和第二备份的标识信息的对应关系,所述第一日志文件包括所述第三快照的标识日志;所述第二处理器还用于通过所述第二通信接口读取所述第二存储系统上的第一日志文件中所述第二快照的标识日志至第三快照的标识日志之间所有日志;所述第二处理器还用于通过所述第二通信接口向第三计算设备发送所述所有日志。
在一种可能的实现方式中,所述第一处理器还用于接收第一备份请求消息,所述第一备份请求消息用于请求对所述第一存储系统进行第一备份;所述第一处理器还用于向所述第一日志文件写入第二快照的标识日志;所述第一处理器还用于通过所述第一通信接口向所述第二计算设备发送备份元数据生成请求消息;所述第二处理器还用于根据所述第二通信接口接收的所述备份元数据生成请求消息,向所述第二存储系统的第四元数据集合中写入所述第一存储系统的第一备份元数据信息,所述第一备份元数据信息包括所述第二快照的标识信息和所述第一备份的标识信息的对应关系;所述第二处理器还用于通过所述第二通信接口读取所述第二存储系统上所述第二快照的快照增量数据;所述第二处理器还用于向第三计算设备发送所述第二快照的快照增量数据。
在一种可能的实现方式中,所述第一计算设备为仲裁集群管理的多个计算设备中的一个,所述第二计算设备为所述仲裁集群管理的多个计算设备中的一个。
第三方面,本申请提供了一种存储管理系统,包括计算设备,所述计算设备包括存储器、处理器和通信接口,所述存储器用于存储代码,所述处理器用于执行所述存储器存储的代码,所述通信接口用于与其他设备通信;当所述处理器执行所述存储器中存储的代码时,所述处理器用于第一方面或第一方面中任一可能的实现方式所述的数据处理方法。
第四方面,本申请提供了一种计算机程序产品,该计算机程序产品包括指令,当该计算机程序产品被计算机执行时,该计算机执行第一方面或第一方面的任一实现方式所提供的数据处理方法中由第一存储网关客户端执行的部分。该计算机程序产品可以为一个软件安装包。
第五方面,本申请提供了一种计算机程序产品,该计算机程序产品包括指令,当该计算机程序产品被计算机执行时,该计算机执行第一方面或第一方面的任一实现方式所提供的数据处理方法中由第一存储网关服务端执行的部分。该计算机程序产品可以为一个软件安装包。
第六方面,本申请提供了一种计算机程序产品,该计算机程序产品包括指令,当该计算机程序产品被计算机执行时,该计算机执行第一方面或第一方面的任一实现方式所提供的数据处理方法。该计算机程序产品可以为一个软件安装包。
第七方面,本申请提供了一种计算机可读介质,所述计算机可读介质存储用于存储管理系统中的第一计算设备执行的程序代码,所述程序代码包括用于执行第一方面中或第一方面中任意一种可能的实现方式中的数据处理方法中,由第一存储网关客户端执行的指令。
第八方面,本申请提供了一种计算机可读介质,所述计算机可读介质存储用于存储管理系统中的第二计算设备执行的程序代码,所述程序代码包括用于执行第一方面中或第一方面中任意一种可能的实现方式中的数据处理方法中,由第一存储网关服务端执行的指令。
第九方面,本申请提供了一种计算机可读介质,所述计算机可读介质存储用于存储管理系统中的计算设备执行的程序代码,所述程序代码包括用于执行第一方面中或第一方面中任意一种可能的实现方式中的数据处理方法的指令。
附图说明
图1是应用本申请实施例的数据处理方法的系统的示意性架构图。
图2是图1所示的示意性架构图的示意性细化图。
图3是本申请实施例的数据处理方法的示意性流程图。
图4是本申请实施例的数据处理方法的示意性流程图。
图5是本申请实施例的数据处理方法的示意性流程图。
图6是本申请实施例的数据处理方法的示意性流程图。
图7是本申请实施例的数据处理方法的示意性流程图。
图8是本申请实施例的数据处理方法的示意性流程图。
图9是本申请实施例的存储管理系统的示意性框架图。
图10是本申请实施例的计算设备的示意性结构图。
图11是本申请实施例的存储管理系统的示意性框架图。
具体实施方式
图1所述的系统架构也可以统称为一个云端。该云端可以运行在任意运行商的任意云平台上。
其中,存储网关客户端110可以读取存储系统130中的数据和向存储系统130中写入数据;存储网关客户端110也可以读取存储系统140中的数据和向存储系统140中写入数据;存储网关客户端110可以与存储网关服务端120进行消息或信令的交互;存储网关服务端120也可以读取存储系统140中的数据和向存储系统140中写入数据。
其中,存储网关客户端110可以部署在客户虚拟机上,也可以部署在其他虚拟机或服务器上。存储网关客户端110北向可以提供小型计算机系统接口(internet smallcomputer system interface,iscsi)服务。
其中,存储网关客户端110和存储网关服务端120合起来可以称为云存储网关或存储管理系统。存储网关客户端110和存储网关服务端120可以部署在同一个虚拟机或服务器上,也可以分别部署在不同的虚拟机或服务器上。
其中,存储系统130与存储系统140不是同一个存储系统,也即存储系统130与存储系统140为互相隔离的两个存储系统,存储系统130管理的存储空间和存储系统140管理的存储空间之间独立。
存储系统130与存储系统140在物理上可以基于同一物理存储设备,也可以使用不同的物理存储设备。此处的物理存储设备可以由存储阵列构成。
存储系统130和存储系统140基于同一存储阵列的情况下,该存储阵列的存储控制器基于该存储阵列的存储介质构建互相隔离的存储系统130和存储系统140。例如,该存储阵列的存储介质的容量为1000GB,该存储阵列的存储控制器分配400GB容量给存储系统130以作为存储系统130管理的存储空间,分配600GB容量给存储系统140以作为存储系统140管理的存储空间。虽然存储系统130和存储系统140基于相同的存储阵列,但这两个存储系统分别管理的容量被存储控制器隔离。
存储系统130和存储系统140基于不同存储阵列的情况下,存储系统130和存储系统140分别由不同的存储阵列的存储控制器构建。
图1中所示的存储网关客户端110和存储网关服务端120可以分别包括多个模块。若存储网关客户端110和存储网关服务端120分别包括多个模块时,图1所示的系统结构图更为详细的示意性结构图如图2所示。
从图2可知,存储网关客户端110可以包括iscsi对象(target)服务模块111、输入输出(IN OUT,IO)截获模块112、写日志模块(journal writer)113、日志重放模块(journalreplayer)114和缓存115。
存储网关服务端120包括应用程序接口(Application Programming Interface,API)层121、日志管理模块(journal manager)122、快照管理模块(snapshot manager)123,和日志复制模块(journal replicator)124。
其中,iscsi target服务模块111可以用于提供相关的iscsi target服务。例如,iscsi target服务模块111可以是LINUX中的对象框架(target framework)或WINDOWS中的对象服务模块(target server)。
IO截获模块112可以用于截获存储系统130的读写IO,然后做IO分发处理。例如,IO截获模块可以是LINUX的TGT的定制iscsi target后端(backend),
写日志模块113可以与存储网关服务端120进行交互,获得日志文件在存储系统130中的存储地址,然后将IO截获模块112截获的IO写入存储系统130。
日志重放模块114可以与存储网关服务端120交互,获得当前存储系统130中未同步到存储系统140上的日志文件列表以及日志文件列表在存储系统130中的存储地址,然后读取存储系统130存储的日志文件中的内容,并逐条写入存储系统140。
缓存115用于存储存储网关客户端110上的还未写入存储系统140或存储系统130中的内容。
API层121用于提供快照、备份、复制等RPC接口。
日志管理模块122可以用于进行日志元数据的存储、日志数据的分配、回收和同步。
快照管理模块123用于提供快照管理服务,如快照元数据的存储、快照数据的分配、整理和回收。
日志复制模块124用于提供日志同步服务,具体负责将日志同步到另一个云端的存储网关服务端。
图3是本申请实施例的数据处理方法的示意性流程图。应理解,图3示出了数据处理方法的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图3中的各个操作的变形。
本申请实施例的数据处理方法由云存储网关执行,该云存储网关包括存储网关客户端和存储网关服务端。为了后续描述方面,将该存储网关客户端称为第一存储网关客户端,将该存储网关服务端称为第一存储网关服务端。
S210,第一存储网关客户端接收写数据请求消息,写数据请求消息携带的信息包括第一数据、第一位置信息和第一存储系统的第一标识信息。
其中,该第一存储网关客户端可以是图1中所示的存储网关客户端110。
具体而言,第一存储网关客户端可以接收用户端(也可称为客户虚拟机)发送的写数据请求消息,该写数据请求消息具体可以携带第一存储系统的第一标识信息、第一位置信息和第一数据。
写数据请求消息中携带第一存储系统的第一标识信息、第一位置信息和第一数据,表示用户端期望将第一数据写入第一标识信息所标识的第一存储系统中、第一位置信息所指示的第一位置。
其中,第一位置信息可以是第一位置在第一存储系统中的偏移位置信息。
其中,写数据请求消息可以是符合iscsi协议的消息。
S220,第一存储网关客户端向第一文件路径信息指示的第一日志文件中写入第一写日志,该第一写日志包括第一数据和第一位置信息,第一日志文件存储于第二存储系统,第二存储系统与第一存储系统不是同一个存储系统。
其中,第一存储网关客户端向第一文件路径信息指示的第一日志文件中写入第一写日志这一步骤,可以由第一存储网关客户端中的写日志模块来完成,即S220可以为:第一存储网关客户端的写日志模块向第一文件路径信息指示的第一日志文件中写入第一写日志。
其中,第一存储系统可以是图1中所示的存储系统130,第二存储系统可以是图1中所示的存储系统140。
具体而言,第一存储网关客户端根据第一文件路径信息的指示,向第二存储系统中该第一文件路径信息指示的第一日志文件中写入第一写日志,该第一写日志中记录的信息包括写数据请求消息中的第一数据和第一位置信息。此时,第一写日志中记录的则为第一存储系统中的增量数据。
可选地,若写数据请求消息中还携带第一数据的长度信息,则第一写日志中也可以还包括第一数据的长度信息。
本申请实施例中,应注意的是,用于存储第一日志文件的第二存储系统与用于存储第一数据的第一存储系统不是同一个系统。
本申请实施例中,通过云存储网关客户端,即云存储网关,将第一数据存储至第一存储系统,而将第一存储系统中的第一数据对应的增量数据存储至另一个第二存储系统,一方面,不会破坏第一存储系统中的数据结构,也不会增加读取第一存储系统中的数据时使用的路径,即即使停止该云存储网关的服务,仍然可以正常使用第一存储系统;另一方面,将第一存储系统中的第一数据对应的增量数据与第一存储系统和云平台解耦,存储到第二存储系统,第一存储系统重新绑定到该云存储网关时,不需要进行格式化,即可以提高第一存储系统的复用性;另外,将第一存储系统中的第一数据对应的增量数据与第一存储系统解耦,存储到第二存储系统,可以使得快照、备份、复制等功能不再依赖于第一存储系统,提高云存储网关的适用性。
可选地,该写数据请求消息可以携带第一数据的长度信息。此时,第一存储网关客户端向第一日志文件写入的第一写日志中还可以包括第一数据的该长度信息。
本申请实施例中,可选地,所述第一存储网关客户端向第一文件路径信息指示的第一日志文件中写入第一写日志之前,该数据数据处理方法还包括:
第一存储网关客户端根据写数据请求消息,向第一存储网关服务端发送第一文件路径请求消息,第一文件路径请求消息携带第一标识信息;
第一存储网关服务端根据第一文件路径请求消息,请求第二存储系统创建第一日志文件,并向第二存储系统上存储的第一元数据集合中写入第一日志元数据信息,第一日志元数据信息包括第一指示信息,第一指示信息用于指示第一日志文件的第一文件路径信息与第一标识信息的对应关系;
第一存储网关服务端向第一存储网关客户端发送第一文件路径信息。
其中,第一存储网关服务端可以是图1中所示的存储网关服务端120。
具体而言,本申请实施例的数据处理方法可以如图4所示。应理解,图4示出了数据处理方法的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图4中的各个操作的变形,或者不需要执行图4中所示的所有操作。
S310,第一存储网关客户端接收写数据请求消息,该写数据请求消息可以携带第一数据、第一位置信息和第一存储系统的第一标识信息。
其中,该写数据请求消息可以是符合iscsi协议的消息。
可选地,写数据请求消息还可以携带第一数据的长度信息。
S320,第一存储网关客户端根据该写数据请求消息,向第一存储网关服务端发送第一文件路径请求消息,第一文件路径请求消息携带写数据请求消息中的第一标识信息。
S330,第一存储网关服务端接收第一存储网关客户端发送的第一文件路径请求消息后,向第二存储系统的第一元数据集合中写入第一日志元数据信息,该第一日志元数据信息包括第一指示信息,该第一指示信息用于指示第一日志文件的第一文件路径信息与第一标识信息的对应关系。
其中,第一存储网管服务端还可以为第一日志元数据信息创建索引。
具体而言,可以由第一存储网关服务端的API层接收该第一文件路径请求消息,并反序列化该第一文件路径请求消息,然后由第一存储网关服务端的日志管理模块来向第二存储系统的第一元数据集合中写入第一日志元数据信息。
S340,第一存储网关服务端按照第一文件路径信息,请求第二存储系统的文件系统创建一个可写的第一日志文件。
也就是说,第一日志文件在第二存储系统中的路径为第一文件路径信息指示的文件路径。
可选地,第二存储系统的文件系统完成第一日志文件第一存储网关服务端的创建后,可以向第一存储网关服务端返回确认消息,告知第一存储网关服务端已创建第一日志文件。
S350,第一存储网关服务端确向第一存储网关客户端发送第一文件路径信息。
具体而言,第一存储网关服务端的日志管理模块接收第二存储系统发送的确认消息后,第一存储网关服务端的API层向第一存储网关客户端发送第一文件路径信息。
S360,第一存储网关客户端接收第一存储网关服务端发送的第一文件路径信息后,向第二存储系统中由第一文件路径信息指示的第一日志文件中写入第一写日志。
其中,写入的第一写日志的具体内容可以包括写数据请求消息中的第一数据,第一位置信息。
具体而言,第一写日志的具体内容用于记录将要把第一数据写入第一位置信息指示的第一存储系统中的第一位置。
其中,第一存储网关客户端向第一日志文件中写入第一写日志时,可以按照第一日志文件的文件格式来写入第一数据和第一位置信息。
可选地,若写数据请求消息中还携带了第一数据的长度信息,则写入的第一写日志的具体内容还可以包括第一数据的该长度信息。
可选地,第一存储网关客户端向第一日志文件写入第一写日志后,可以向用户端发送写数据请求消息的反馈消息。
图3所示的数据处理方法中,第一存储网关服务端向第二存储系统中的第一元数据集合中写入的第一日志元数据信息,还可以包括第一日志文件的状态信息。如该状态信息可以是开状态(open)。
然后,在S360中,第一存储网关客户端向第一日志文件中写入第一写日志时,若第一日志文件写满了,则第一存储网关客户端可以向第一存储网关服务端发送用于请求关闭(seal)第一日志文件的文件关闭请求消息。
第一存储网关服务端接收到该文件关闭请求消息后,可以关闭第一日志文件,并将第一元数据集合中的第一日志元数据信息中的状态信息更新为关闭状态。
具体而言,第一存储网关服务端接收到该文件关闭请求消息后,可以由第一存储网关服务端的API层解析该文件关闭请求消息。AIP层解析文件关闭请求消息后,第一存储网关服务端的日志管理模块关闭第一日志文件和更新第一日志元数据信息中的状态信息。
可选地,第一存储网关客户端与第一存储网关服务端之间可以维持一个租约。然后第一存储网关服务端的日志管理模块可以定时查看状态信息为开状态的日志文件,并检测打开的日志文件的第一存储网关客户端的租约是否有效。若租约有效,则保持其打开状态;否则关闭该日志文件。
第一存储网关客户端与第一存储网关服务端之间的这种租约方式,可以在第一存储网关客户端出现问题的情况下,防止其打开的日志文件一直处于打开状态。
可选地,本申请实施例的数据处理方法中,第一日志元数据信息还可以包括第二指示信息,该第二指示信息用于指示第一日志文件未复制到第三存储系统。此时,本申请实施例的数据处理方法还可以包括:
第一存储网关服务端接收复制请求消息,复制请求消息携带第一存储系统的第一标识信息;
第一存储网关服务端向第二存储系统发送第一日志文件请求消息,第一日志文件请求消息用于请求第二存储系统中、与第一标识信息对应的、且未复制到第三存储系统上的日志文件的文件路径信息;
第一存储网关服务端接收第二存储系统根据第一日志文件请求消息和第一元数据集合发送的第一文件路径信息;
第一存储网关服务端从第二存储系统中读取第一日志文件,并向第三存储系统复制第一日志文件。
具体而言,第一存储网关服务端的日志复制模块向第一存储网关服务端的日志管理模块发送请求消息,请求日志管理模块获取未复制的日志文件的文件路径信息。
若无未复制的日志文件,则日志复制模块进行空闲(idle)状态,定时向日志管理模块发送请求消息。
其中,第三存储系统与第一存储系统、第二存储系统均不是同一个存储系统。具体而言,第三存储系统可以是第一存储系统和第二存储系统所在的云存储系统之外的其他云储存系统中的存储系统。
其中,第一存储网关服务端可以对第一日志文件中的内容进行压缩去重处理,然后在向第三存储系统复制压缩去重后的日志文件。
具体而言,第一存储网关服务端的日志复制模块得到未复制的日志文件的文件路径信息后,从第二存储系统中读取未复制的日志文件。然后日志复制模块将日志文件中的内容压缩去重后,向另一个云端的存储网关服务端发送压缩去重后的日志文件,以便于另一个云端的存储网关服务端将接收到的日志文件写入第三存储系统。
异步地,该日志复制模块通过日志管理模块更新第二存储系统中的第一元数据集合,即更新第二存储系统中存储的与第一标识信息对应的、且未复制到第三存储系统上的日志文件列表。
可选地,本申请实施例的数据处理方法还可以包括:
第一存储网关服务端接收第二日志文件和第四存储系统的标识信息;
第一存储网关服务端将第二日志文件写入第五存储系统;
第一存储网关服务端向第五存储系统上的第二元数据集合中写入第二日志元数据信息,第二日志元数据信息包括第三指示信息,第三指示信息用于指示第四存储系统的标识信息与第二文件路径信息的对应关系,第二文件路径信息用于指示第二日志文件在第五存储系统上的位置。
其中,第四存储系统与第一存储系可以是同一个存储系统,第五存储系统与第二存储系统可以是同一个存储系统。
具体而言,第一存储网关服务端的API层接收携带请求复制到第五存储系统中的第二日志文件,以及存储第二日志文件中的数据的第四存储系统的标识信息的请求消息后,解析该请求消息,再将解析的结果传递给第一存储网关服务端上的日志复制模块。然后该日志复制模块向第五存储系统中写入第二日志文件。该日志复制模块写完第二日志文件后,关闭第二日志文件。
而且,第一存储网关服务端向第五存储系统写入第二日志文件后,可以通过第一存储网关服务端的日志管理模块向第五存储系统中的第二元数据集合中写入第二日志元数据信息,以记录第二日志文件在第五存储系统中的第二文件路径信息与第四存储系统的对应关系。其中,第二日志元数据信息即为第四存储系统上的数据的管理信息。
可选地,第五存储系统中的第二元数据集合中的第二日志元数据信息还可以包括第四指示信息,该第四指示信息用于指示第二日志文件未重放到第四存储系统,即第四指示信息用于指示第二日志文件中记录的增量数据还未存储到第四存储系统中。此时,该数据处理方法还可以包括:
第一存储网关服务端向第五存储系统发送第二日志文件请求消息,第二日志文件请求消息用于请求第五存储系统中还未重放到第四存储系统上的日志文件的文件路径信息;
第一存储网关服务端接收第五存储系统根据第二日志文件请求消息和第二元数据集合发送的第二文件路径信息;
第一存储网关服务端向第二存储网关客户端发送第二文件路径信息;
第二存储网关客户端根据第二文件路径信息,从第五存储系统读取第二日志文件中的第二写日志,并将第二写日志中的第二数据,写入第四存储系统上的第二位置。
由上述内容可知,本申请实施例的数据处理方法中,不同的云存储系统中可以采用对等结构,即采用相同的结构。更具体地说,不同的云存储系统中均可以包括本申请实施例的数据处理方法中的第一存储网关客户端、第一存储网关服务端、第一存储系统、第二存储系统、第三存储系统、第四存储系统和第五存储系统。然后具有这些对等结构的云存储系统之间相互存储的增量数据,即日志文件的格式可以保持一致,从而使得在容灾场景下,不仅可以支持远端到容灾端的容灾,也可以进行反方向的容灾。
其中,源端是指请求进行复制的存储网关服务端所在的云存储系统,目的端是指存储需要进行复制的日志文件的存储系统所在的云存储系统。
可选地,本申请实施例的数据处理方法中,第一写日志中的第一数据未重放到所述第一存储系统上所述第一位置信息所指示的第一位置。此时,该数据处理方法还可以包括:第一存储网关客户端将第一写日志中的第一数据,写入第一存储系统的所述第一位置。
也就是说,当第一存储网关客户端接收写数据请求消息,并将该写数据请求消息中的第一数据和第一位置信息写入第一写日志后,第一存储网关客户端还需要将第一写日志中的第一数据写入第一存储系统的第一位置。第一位置即为第一位置信息所指示的位置。
可选地,第一存储网关客户端也可以直接将写数据请求消息中的第一数据写入第一存储系统的第一位置。
可选地,第二存储系统中的第一元数据集合中的第一日志元数据信息还包括第五指示信息,所述第五指示信息用于指示所述第一日志文件中的写日志未重放到所述第一存储系统。此时,第一存储网关客户端将第一写日志中的第一数据,写入第一存储系统的第一位置,可以采用如图4所示的实现方式。
应理解,图5示出了第一存储网关客户端将第一写日志中的第一数据,写入第一存储系统的第一位置的步骤或操作,但这些步骤或操作仅是示例,本申请实施例还可以执行其他操作或者图5中的各个操作的变形,或者不需要执行图5中所示的所有操作。
S410,第一存储网关客户端向第一存储网关服务端发送第三日志文件请求消息,第三日志文件请求消息携带第一标识信息,用于请求第二存储系统中还未重放到第一存储系统上的日志文件的文件路径信息。
S420,第一存储网关服务端根据第三日志文件请求消息,向第二存储系统发送第四日志文件请求消息,第四日志文件请求消息用于请求第二存储系统中还未重放到第一存储系统上的日志文件的文件路径信息。
具体而言,可以是第一存储网关服务端的API层解析第三日志文件请求消息,然后第一存储网关服务端再向第二存储系统发送第四日志文件请求消息。
其中,第四日志文件请求消息可以携带第一存储系统的第一标识信息。
S430,第一存储网关服务端接收第二存储系统根据第四日志文件请求消息和第一元数据集合发送的第一文件路径信息。
第二存储系统接收到第一存储网关服务端发送的第四日志文件请求消息后,根据第一标识信息在第一元数据集合中查找得到第一日志元数据信息,该第一日志元数据信息中的第一指示信息指示用于记录第一存储系统的增量数据的第一日志文件在第二存储系统中文件路径为第一文件路径信息,该第一日志元数据信息中的第五指示信息指示所述第一日志文件中的写日志未重放到第一存储系统。
第一存储网关服务端接收第二存储系统发送的第一文件路径信息。
S440,第一存储网关服务端向第一存储网关客户端发送第一文件路径信息。
S450,第一存储网关客户端根据第一文件路径信息,从第二存储系统读取第一日志文件中的第一写日志。
S460,第一存储网关客户端将第一写日志中的第一数据,写入第一存储系统上的第一位置。
具体而言,第一存储网关服务端的API层解析第三日志文件请求消息,然后调用第一存储网关服务端的日志管理模块从第二存储系统获取未重放的日志文件的文件路径信息。
该日志管理模块获取未重放的日志文件的文件路径信息后,向该API层返回该文件路径信息,然后第一存储网关服务端向第一存储网关客户端的日志重放模块发送该文件路径信息。
可选地,当第一存储网关客户端将第一写日志中的第一数据写入第一存储系统的第一位置后,向第一存储网关服务端发送请求消息,请求第一存储网关服务端更新第二存储系统上的第一元数据集合中的第一日志元数据日志信息中的第五指示信息。
对应地,第一存储网关服务端接收第一存储网关客户端发送的请求消息,更新第二存储系统上的第一元数据集合中的第一日志元数据日志信息中的第五指示信息。更新后的第五指示信息用于指示第一日志文件中的写日志已重放到第一存储系统。
具体地,第一存储网关服务端的API层解析第一存储网关客户端发送的请求消息,调用第一存储网关服务端的日志管理模块更新第二存储系统中未重放的日志文件列表,即更新第一元数据集合中的第一日志元数据日志信息。
可选地,本申请实施例的数据处理方法中,还可以包括:
第一存储网关客户端接收读数据请求消息,该读数据请求消息携带第一位置信息和第一标识信息;
若第一存储网关客户端根据读数据请求消息,确定第一存储网关客户端上存在应写入第一存储系统中第一位置的第一数据,则发送第一存储网关客户端上存在的第一数据。
具体而言,第一存储网关客户端接收用户端发送的读取第一数据的读数据请求消息后,若第一存储网关客户端在其缓存上查找到应写入第一存储系统中第一位置的数据,则第一存储网关客户端直接将第一存储网关客户端的缓存中的该数据读取出来,并发送给用户端。
可选地,若第一存储网关客户端根据读数据请求消息,确定第一存储网关客户端上不存在第一数据,则读取第一存储系统中第一位置上的第一数据。并发送该第一数据。
具体而言,第一存储网关客户端接收用户端发送的读取第一数据的读数据请求消息后,若第一存储网关客户端在其缓存上查找不到应写入第一存储系统中第一位置的数据,则第一存储网关客户端读取第一存储系统中第一位置信息指示的第一位置上的数据,并发送给用户端。
可选地,本申请实施例的数据处理方法中,第一存储网关客户端可以提供控制命令接口,为第一存储系统提供增量快照功能。此时,第一存储网关客户端向第一文件路径信息指示的第一日志文件中写入第一写日志之前,该数据处理方法还可以包括:
第一存储网关客户端接收第一快照请求消息;
第一存储网关客户端根据第一快照请求消息,向第一日志文件写入第一快照的标识日志。
对应地,第一存储网关客户端将第一写日志中的第一数据,写入第一存储系统上的第一位置之前,还可以包括:
第一存储网关服务端读取第一存储存储中第一位置处的第三数据,将第三数据写到第二存储系统上的第三位置,并向第二存储系统的第三元数据集合中写入第一快照增量元数据信息,第一快照增量元数据信息包括第一快照的标识信息、第三位置信息和第一位置信息,第三位置信息用于指示第三位置。
具体而言,第一存储客户端接收第一快照请求消息后,由第一存储客户端的写日志模块向第一日志文件中写入第一快照的标识。
本申请实施例的数据处理方法中,从功能上看,该增量快照功能不依赖第一存储系统的特性,且独立存储快照增量,可通用适配多种异构的第一存储系统。从性能上看,该增量快照功能的时间基于重放功能异步拷贝快照增量数据,快照的产生可以做到“即时”,且不会影响第一存储系统的读写性能。
其中,快照增量数据可以由第一存储网关客户端的日志重放模块在重放第一日志文件中的日志时,采用写时复制(copy on write,COW)技术来生成。当日志重放模块重放到快照日志时,需要通知第一存储网关服务端管理快照的元数据,即第三元数据集合。
下面结合图6示例性介绍第一存储网关服务端管理快照的元数据的方法。图6中,逻辑地址表示第一存储系统中存储的数据的逻辑地址,物理地址表示实际存储逻辑地址指示的数据在第一存储系统中的物理地址或在第二存储系统中的物理地址,快照引用表示逻辑地址与物理地址对应的数据是哪个快照的增量数据。
假设第一日志文件包括如下日志:
第一快照,
写数据(地址偏移量:511M,长度:1M),
第二快照,
写数据(地址偏移量:256M,长度:1M),
假设第二存储系统上存储的快照的元数据包括如图6中的(a)所示的快照增量元数据信息。具体而言,1G的数据的物理存储地址为“第一存储系统:(0,1G)”,即1G的数据存储在第一存储系统中偏移量为0至偏移量为1G的物理地址中。
当第一存储网关客户端的日志重放模块重放第一日志文件中的日志“第一快照”时,若图6的(a)中快照引用值为“空”,则在“空”后添加引用值“第一快照”。此时,更新后的快照的元数据如图6中的(b)所示。
当第一存储网关客户端的日志重放模块重放第一日志文件中的日志“写数据(地址偏移量:511M,长度:1M)”时,将第一存储系统中物理位置偏移量为“511M”处长度为“1M”的数据读出,并写入第二存储系统中位置信息为“第二存储系统:URL1”物理地址处。同时,日志重放模块将日志“写数据(地址偏移量:511M,长度:1M)”对应的数据写入第一存储系统中位置信息为“511M”的物理地址处。然后更新快照的元数据。更新后的快照的元数据如图6中的(c)所示。
当第一存储网关客户端的日志重放模块重放第一日志文件中的日志“第二快照”时,在图6的(c)中快照引用值为“空”的表项中添加引用值“第二快照”。此时,更新后的快照的元数据如图6中的(d)所示。
当第一存储网关客户端的日志重放模块重放第一日志文件中的日志“写数据(地址偏移量:256M,长度:1M)”时,将第一存储系统中物理位置偏移量为“256M”处长度为“1M”的数据读出,并写入第二存储系统中位置信息为“第二存储系统:URL2”物理地址处。同时,日志重放模块将日志“写数据(地址偏移量:256M,长度:1M)”对应的数据写入第一存储系统中位置信息为“256M”的物理地址处。然后更新快照的元数据。更新后的快照的元数据如图6中的(e)所示。
当使用图6中的(e)所示进行快照恢复时,如恢复“第一快照”的快照数据时,只需找到图6的(e)中引用值为“第一快照”的项,然后根据这些项中的物理地址信息读取这些物理地址信息对应的物理地址中的数据。读取的数据即为“第一快照”的快照数据。具体而言,第一存储系统中地址偏移量为0、长度为256M的数据,第二存储系统中“URL2”指示的物理地址处的数据、第一存储系统中地址偏移量为257M、长度254M的数据、第二存储系统中“URL1”指示的物理地址处的数据,以及第一存储系统中地址偏移量为512M,长度为512M的数据,加起来即为快照标识为“第一快照”的快照数据。
可选地,本申请实施例的数据处理方法中,第一存储网关客户端和第一存储网关服务端还可以实现备份功能。此时,该数据处理方法还可以包括:
第一存储网关客户端接收第一备份请求消息,第一备份请求消息用于请求对第一存储系统进行第一备份;
第一存储网关客户端向第一日志文件写入第二快照的标识日志;
第一存储网关客户端向第一存储网关服务端发送备份元数据生成请求消息;
第一存储网关服务端根据备份元数据生成请求消息,向第二存储系统的第四元数据集合中写入第一存储系统的第一备份元数据信息,第一备份元数据信息包括第二快照的标识信息和第一备份的标识信息的对应关系,第四元数据集合包括第一存储系统的第二备份元数据信息,第二备份元数据信息包括第三快照的标识信息和第二备份的标识信息的对应关系,第一日志文件包括第三快照的标识日志;
第一存储网关服务端读取第二存储系统上的第一日志文件中第二快照的标识日志至第三快照的标识日志之间所有日志;
第一存储网关服务端向第三存储网关服务端发送所述所有日志。
其中,第三存储网关服务端可以为第一存储网关服务端所属的云存储系统(为了后续描述方便,可以称为源端)外的云存储系统(为了后续描述方便,可以称为目的端)中的存储网关服务端。
下面结合图7示例性介绍第一存储网关服务端通过复制的方式实现备份功能的具体流程。图7的(a)中,索引值为“1000”的日志“第一快照”是第一存储网关客服端接收第一备份请求消息时向日志文件中写入的日志,索引值为“1003”的日志时第一存储网关客户端接收第二备份请求消息时向日志文件中写入的日志。
图7的(b)中,“第一备份”与“第一快照”对应,状态为已备份;“第二备份”与“第二快照”对应,状态为未备份。
当第一存储网关服务端需要向第三存储网关服务端备份第二备份对应的日志时,第一存储网关服务端的日志复制模块根据图7的(b)可确定第二备份对应第二快照,第二备份之间的第一备份对应第一快照。然后第一存储网关服务端的日志复制模块将图7的(a)中第一快照至第二快照之间的所有日志读取出来,并发送给第三存储网关服务端。同时,第一存储网关服务端可以将图7的(b)中的第二备份的状态更新为已备份。
上述备份功能主要是基于日志文件的复制来实现的,可选地,本申请实施例的数据处理方法中,第一存储网关客户端和第一存储网关服务端实现备份功能时,还可以基于快照增量数据来实现,具体可以采取如下实现方式:
第一存储网关客户端接收第一备份请求消息,第一备份请求消息用于请求对第一存储系统进行第一备份;
第一存储网关客户端向第一日志文件写入第二快照的标识日志;
第一存储网关客户端向第一存储网关服务端发送备份元数据生成请求消息;
第一存储网关服务端根据备份元数据生成请求消息,向第二存储系统的第四元数据集合中写入第一存储系统的第一备份元数据信息,第一备份元数据信息包括第二快照的标识信息和第一备份的标识信息的对应关系;
第一存储网关服务端读取第二存储系统上的第二快照的快照增量数据;
第一存储网关服务端向第三存储网关服务端发送所述第二快照的快照增量数据。
具体而言,第一存储网关客户端接收第一备份请求消息后,可以由第一存储网关客户端的写日志模块向第一日志文件写入第二快照的标识日志,以及由第一存储网关客户端的写日志模块向第一存储网关服务端发送备份元数据生成请求消息。然后由第一存储网关服务端的快照管理模块根据备份请求消息,向第二存储系统的第四元数据集合中写入第一存储系统的第一备份元数据信息。第一存储网关服务端读取第二存储系统上的第二快照至第三快照之间的快照增量数据;
第一存储网关服务端向第三存储网关服务端发送所有所述快照增量数据。
下面结合图8示例性介绍第一存储网关服务端通过快照增量数据的方式实现备份功能的具体流程。图8的(a)中表示日志与日志的索引值的对应关系。图8(a)的生成方式可以参考图8(a)的生成方式,此处不再赘述。
图8的(b)表示备份标识与快照标识的对应关系。图8(b)的生成方式可以参考图7(b)的生成方式,此处不再赘述。
图8的(c)表示快照标识与增量数据的物理地址的对应关系。图8(c)的生成方式可参考图6的介绍,此处不再赘述。
当第一存储网关服务端需要向第三存储网关服务端第二备份对应的快照增量数据时,第一存储网关服务端先根据图8的(b)中的对应关系确定第二备份对应第二快照,第二备份前的第一备份对应第一快照。然后第一存储网关服务端根据图8(c)中的对应关系读取引用值为第一快照和第二快照的快照增量数据,并把该快照增量数据发送给第三存储网关服务端。
第一存储网关客户端和第一存储网关服务端基于快照增量数据来实现备份功能,不需要回退到最近的写日志,即不需要传输两个备份之间所有的写日志,可以仅传输该次备份对应的快照的快照增量数据即可,从而可以实现高效的跨云备份。
也就是说,如果第一存储网关客户端在第二快照的标识日志后对第一存储系统中的同一个位置写入了多次数据,第一存储网关服务端可以只向第二存储网关服务端发送最后一次写入数据时,从该位置处读出的快照增量数据。
而且源端与目的端可以采用对称结构,使得源端和目的端之间的数据增量的格式一致,从而可以使得在容灾场景下,不仅可以实现源端到目的端的备份,也可以实现目的端到源端的反方向备份。
可选地,本申请实施例中,可以引入仲裁集群。该仲裁集群用于在多个存储网关服务端之间分配负载,监控这多个存储网关服务端的状态,并可以采用一致性哈希算法动态地调整存储网关服务端之间关于负载的划分(即每个存储网关服务端服务哪些存储系统)。
其中上述实施例中的第一存储网关服务端可以是该仲裁集群管理的多个存储网关服务端中的任意一个。
仲裁集群可与存储网关客户端分离部署,也可与存储网关客户端合并部署。
仲裁集群间可以运行仲裁协议(如paxos协议),以维护仲裁结果(即存储系统到存储网关服务端)的一致性。
下面就存储网关客户端是否与客户虚拟机(即用户端)独立部署,介绍存储网关客户端和存储网关服务端的创卷和挂卷流程。该存储网关客户端可以是第一存储网关客户端,该存储网关服务端可以是第一存储网关服务端。
当存储网关客户端独立于客户虚拟部署时,存储网关客户端对客户虚拟机而言,作为iscsi服务端工作。仲裁集群需要维持卷(即存储系统)的标识信息与存储网关客户端及其存储网关客户端的路径和iscsi对象(target)的映射,以供卷控制器和客户虚拟机根据标识信息查找对应的iscsi对象。卷控制器通常作为存储网关客户端的适配器,并不作为存储网关服务端的部件。
存储网关客户端独立部署时,创卷流程如下。
卷控制器在收到创卷命令后,先调用API创建一个卷,并确定卷标识。该卷可以是上述实施例中的第一存储系统。
卷控制器向仲裁集群发送访问请求消息,请求仲裁集群查询卷标识所属的存储网关客户端的主机信息。
若仲裁集群查询确定卷与iscid对象的关系集合中存在该卷标识,则直接读取该卷标识对应的存储网关客户端的主机、该卷的路径和iscsi对象,并将这些信息返回给卷控制器。
若仲裁集群查询确定卷与iscid对象的关系集合中不存在该卷标识,且访问请求消息携带请求创建卷标识对应的相关内容的信息,则仲裁集群根据一致性哈希计算得出存储网关客户端,并由该存储网关客户端已有的路径信息递增一个盘符得到该卷对应的路径信息,同时根据“主机/端口/第二标识”拼接出新的iscsi对象,然后将卷标识、卷标识对应的存储网关客户端的主机、卷的路径和iscsi对象作为参数发送给存储网关客户端,指示存储网关客户端进行iscsi配置。
存储网关客户端根据参数中包括的卷的路径挂载卷,并配置iscsi对象服务,将该卷暴露为参数中包括的iscsi对象。
在存储网关客户端配置iscsi对象完成后,仲裁集群向卷与iscid对象的关系集合中写入表项“卷标识:{存储网关客户端,卷的路径,iscsi对象}”并向卷控制器返回该表项。
其中,仲裁集群可以与存储网关客户端间保持心跳,监控存储网关客户端的状态。当有新的存储网关客户端加入时,将其加入一致性哈希环的节点中;当有存储网关客户端退出时,将其移出一致性哈希环。当新增或删除节点时,根据哈希算法调整负载。调整负载由仲裁集群触发,步骤同上,此处不再赘述。
存储网关客户端独立部署时,挂卷流程为:卷控制器收到挂卷命令,挂载第二标识的块存储系统到客户虚拟机。
具体而言,卷控制器向仲裁集群发送访问请求消息,请求仲裁集群查询第二标识所属的存储网关客户端的主机信息。
若仲裁集群查询确定卷与iscid对象的关系集合中存在卷标识,则直接读取卷标识对应的存储网关客户端的主机、卷的路径和iscsi对象,并将这些信息返回给卷控制器。
然后卷控制器通知客户虚拟机挂载iscsi对象。具体而言,客户虚拟机通过iscsi向存储网关客户端挂载iscsi对象。
当存储网关客户端部署于客户虚拟机时,存储网关客户端的创卷和挂卷流程如下。
当存储网关客户端部署于客户虚拟机时,客户虚拟机本地只需保存卷与卷的路径和iscsi对象的映射即可。然后客户虚拟机直接访问本地iscsi服务端口即可挂卷,存储网关客户端即可开始监控已挂载卷的写请求消息和读请求消息。
当原客户虚拟机关机或故障时,如果将原来挂载在该虚拟机的卷重新挂载在新的客户虚拟机,则新的客户虚拟机上的存储网关客户端即开始监控新挂载的这些卷。
在引入仲裁集群后,存储网关客户端与存储网关服务端的交互方式可以采用如下方式。
客户虚拟机接收写请求消息。
客户虚拟机通过iscsi协议访问存储网关客户端的iscsi对象。
存储网关客户端查找内部映射,得到iscsi对象对应的卷标识。
仲裁集群对自身存储的卷与iscid对象的关系集合进行查询,若该卷标识存在于该关系集合中,则得到卷标识对应的存储网关服务端,将存储网关客户端反馈该存储网关服务端的信息。
若该卷标识不存在于该关系集合中,则仲裁集群可以进行一致性哈希计算,将该卷分配给某个存储网关客户端,并通知存储网关服务端为该卷开始服务。
存储网关服务端收到通知后,需要加载该卷相关的所有数据。存储网关服务端加载该卷相关的数据成功后,回复仲裁集群。
仲裁集群更新卷与iscid对象的关系集合,写入表项“卷标识:存储网关服务端”。
存储网关客户端接收到仲裁集群反馈的存储网关服务端的信息后,与该存储网关服务端交互,可以获取可写的日志文件和未重放的日志文件列表。
存储网关服务端根据仲裁集群分配给自身的卷负载列表,向其他云存储系统同步这些卷对应的日志。
其中,仲裁集群与存储网关服务端间可以保持心跳,监控存储网关服务端的状态。当有新的存储网关服务端加入时,将其加入一致性哈希环的节点中;当有存储网关服务端退出时,将其移出一致性哈希环。当新增或删除存储网关服务端节点时,根据哈希算法调整负载。调整负载由仲裁集群触发,具体步骤与上述仲裁集群查询卷与iscid对象的关系集合中不存在卷标识后的步骤类似,此处不再赘述。
图9是本申请实施例的存储管理系统的示意性框架图。图9所示的存储管理系统900包括第一计算设备910。可选地,存储管理系统900还可以包括第二计算设备920。
第一计算设备910和第二计算设备920的一种示例性结构如图10中的计算设备1000所示。
计算设备1000包括通过系统总线连接的存储器1010、处理器1020和通信接口1030。其中,存储器1010用于存储代码,处理器1020用于执行存储器1010存储的代码,通信接口1030用于在处理器1020的调用下与其他设备通信。
也就是说,第一计算设备910可以包括通过系统总线连接的存储器、处理器和通信接口。第二计算设备920可以包括通过系统总线连接的存储器、处理器和通信接口。
为了更好地区分第一计算设备910和第二计算设备920中的存储器、处理器和通信接口,可以将第一计算设备910中的存储器、处理器和通信接口分别称为第一存储器、第一处理器和第一通信接口,可以将第二计算设备920中的存储器、处理器和通信接口分别称为第二存储器、第二处理器和第二通信接口。第一计算设备910与第二计算设备920之间通过第一通信接口和第二通信接口通信。
其中,第一计算设备910的第一处理器在执行第一存储器中的代码时,具体用于实现图3所示的数据处理方法中的第一存储网关客户端;第二计算设备920的第二处理器在执行第二存储器中的代码时,具体用于实现图3所示的数据处理方法中的第一存储网关服务端。为了简洁,在此不再赘述。
图11是本申请另一实施例的存储管理系统的示意性框架图。图11所示的存储管理系统1100包括计算设备1110。
计算设备1110的一种示例性结构如图10中的计算设备1000所示。
也就是说,计算设备1110可以包括通过系统总线连接的存储器、处理器和通信接口。
其中,计算设备1110的处理器在执行计算设备1110的存储器中的代码时,具体用于实现图3所示的数据处理方法中的第一存储网关客户端和第一存储网关服务端。为了简洁,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (25)

1.一种数据处理方法,其特征在于,包括:
第一存储网关客户端接收写数据请求消息,所述写数据请求消息携带的信息包括第一数据、第一位置信息和第一存储系统的第一标识信息;
所述第一存储网关客户端向第一文件路径信息指示的第一日志文件中写入第一写日志,所述第一写日志包括所述第一数据和所述第一位置信息,所述第一日志文件存储于第二存储系统,所述第二存储系统与所述第一存储系统不是同一个存储系统;
所述第一写日志中的所述第一数据未重放到所述第一存储系统上所述第一位置信息所指示的第一位置。
2.根据权利要求1所述的数据处理方法,其特征在于,所述第一存储网关客户端向第一文件路径信息指示的第一日志文件中写入第一写日志之前,所述数据处理方法还包括:
所述第一存储网关客户端根据所述写数据请求消息,向第一存储网关服务端发送第一文件路径请求消息,所述第一文件路径请求消息携带所述第一标识信息;
所述第一存储网关服务端根据所述第一文件路径请求消息,请求所述第二存储系统创建所述第一日志文件,并向所述第二存储系统上存储的第一元数据集合中写入第一日志元数据信息,所述第一日志元数据信息包括第一指示信息,所述第一指示信息用于指示所述第一日志文件的所述第一文件路径信息与所述第一标识信息的对应关系;
所述第一存储网关服务端向所述第一存储网关客户端发送所述第一文件路径信息。
3.根据权利要求2所述的数据处理方法,其特征在于,所述第一日志元数据信息还包括第二指示信息,所述第二指示信息用于指示所述第一日志文件未复制到第三存储系统;
所述数据处理方法还包括:
所述第一存储网关服务端向所述第二存储系统发送第一日志文件请求消息,所述第一日志文件请求消息用于请求所述第二存储系统中,与所述第一标识信息对应的、且未复制到所述第三存储系统上的日志文件的文件路径信息;
所述第一存储网关服务端接收所述第二存储系统根据所述第一日志文件请求消息和所述第一元数据集合发送的所述第一文件路径信息;
所述第一存储网关服务端从所述第二存储系统中读取所述第一日志文件,并向所述第三存储系统复制所述第一日志文件。
4.根据权利要求2所述的数据处理方法,其特征在于,所述数据处理方法还包括:
所述第一存储网关服务端接收第二日志文件和第四存储系统的标识信息;
所述第一存储网关服务端将所述第二日志文件写入第五存储系统;
所述第一存储网关服务端向所述第五存储系统上的第二元数据集合中写入第二日志元数据信息,所述第二日志元数据信息包括第三指示信息,所述第三指示信息用于指示所述第四存储系统的标识信息与所述第二日志文件在所述第五存储系统上的第二文件路径信息的对应关系。
5.根据权利要求4所述的数据处理方法,其特征在于,所述第二日志元数据信息还包括第四指示信息,所述第四指示信息用于指示所述第二日志文件未重放到所述第四存储系统;
其中,所述数据处理方法还包括:
所述第一存储网关服务端向所述第五存储系统发送第二日志文件请求消息,所述第二日志文件请求消息用于请求所述第五存储系统中还未重放到所述第四存储系统上的日志文件的文件路径信息;
所述第一存储网关服务端接收所述第五存储系统根据所述第二日志文件请求消息和所述第二元数据集合发送的所述第二文件路径信息;
所述第一存储网关服务端向第一存储网关客户端发送所述第二文件路径信息;
所述第一存储网关客户端根据所述第二文件路径信息,从所述第五存储系统读取所述第二日志文件中的第二写日志,并将所述第二写日志中的第二数据,写入所述第四存储系统上的第二位置。
6.根据权利要求2至5中任一项所述的数据处理方法,其特征在于,所述数据处理方法还包括:
所述第一存储网关客户端将所述第一写日志中的所述第一数据,写入所述第一存储系统的所述第一位置。
7.根据权利要求6所述的数据处理方法,其特征在于,所述第一日志元数据信息还包括第五指示信息,所述第五指示信息用于指示所述第一日志文件中的写日志未重放到所述第一存储系统;
其中,所述第一存储网关客户端将所述第一写日志中的所述第一数据,写入所述第一存储系统的所述第一位置,包括:
所述第一存储网关客户端向所述第一存储网关服务端发送第三日志文件请求消息,所述第三日志文件请求消息携带所述第一标识信息;
所述第一存储网关服务端根据所述第三日志文件请求消息,向所述第二存储系统发送第四日志文件请求消息,所述第四日志文件请求消息用于请求所述第二存储系统中还未重放到所述第一存储系统上的日志文件的文件路径信息;
所述第一存储网关服务端接收所述第二存储系统根据所述第四日志文件请求消息和所述第一元数据集合发送的所述第一文件路径信息;
所述第一存储网关服务端向所述第一存储网关客户端发送所述第一文件路径信息;
所述第一存储网关客户端根据所述第一文件路径信息,从所述第二存储系统读取所述第一日志文件中的所述第一写日志,并将所述第一写日志中的所述第一数据,写入所述第一存储系统上的所述第一位置。
8.根据权利要求7所述的数据处理方法,其特征在于,所述第一存储网关客户端向第一文件路径信息指示的第一日志文件中写入第一写日志之前,所述数据处理方法还包括:
所述第一存储网关客户端接收第一快照请求消息;
所述第一存储网关客户端根据所述第一快照请求消息,向所述第一日志文件写入第一快照的标识日志;
所述第一存储网关客户端向所述第一存储网关服务端发送快照元数据生成请求消息;
所述第一存储网关服务端根据所述快照元数据生成请求消息,向所述第二存储系统的第三元数据集合中写入第一快照增量元数据信息,所述第一快照增量元数据信息包括第一快照的标识信息、第三位置信息和所述第一位置信息,所述第三位置信息用于指示所述第三位置;
其中,所述第一存储网关客户端将所述第一写日志中的所述第一数据,写入所述第一存储系统上的所述第一位置之前,所述数据处理方法还包括:
所述第一存储网关客户端读取所述第一存储系统中所述第一位置处的第三数据,将所述第三数据写到所述第二存储系统上的第三位置。
9.根据权利要求2至5中任一项所述的数据处理方法,其特征在于,所述数据处理方法还包括:
所述第一存储网关客户端接收读数据请求消息,所述读数据请求消息携带所述第一位置信息和所述第一标识信息;
若所述第一存储网关客户端根据所述读数据请求消息,确定所述第一存储网关客户端上存在应写入所述第一存储系统中所述第一位置的所述第一数据,则发送所述第一存储网关客户端上存在的所述第一数据;
若所述第一存储网关客户端根据所述读数据请求消息,确定所述第一存储网关客户端上不存在所述第一数据,则读取所述第一存储系统中所述第一位置上的所述第一数据,并发送所述第一数据。
10.根据权利要求2至5中任一项所述的数据处理方法,其特征在于,所述数据处理方法还包括:
所述第一存储网关客户端接收第一备份请求消息,所述第一备份请求消息用于请求对所述第一存储系统进行第一备份;
所述第一存储网关客户端向所述第一日志文件写入第二快照的标识日志;
所述第一存储网关客户端向所述第一存储网关服务端发送备份元数据生成请求消息;
所述第一存储网关服务端根据所述备份元数据生成请求消息,向所述第二存储系统的第四元数据集合中写入所述第一存储系统的第一备份元数据信息,所述第一备份元数据信息包括第二快照的标识信息和第一备份的标识信息的对应关系,所述第四元数据集合包括所述第一存储系统的第二备份元数据信息,所述第二备份元数据信息包括第三快照的标识信息和第二备份的标识信息的对应关系,所述第一日志文件包括第三快照的标识日志;
所述第一存储网关服务端读取所述第二存储系统上的第一日志文件中所述第二快照的标识日志至所述第三快照的标识日志之间所有日志;
所述第一存储网关服务端向第三存储网关服务端发送所述所有日志。
11.根据权利要求2至5中任一项所述的数据处理方法,其特征在于,所述数据处理方法还包括:
所述第一存储网关客户端接收第一备份请求消息,所述第一备份请求消息用于请求对所述第一存储系统进行第一备份;
所述第一存储网关客户端向所述第一日志文件写入第二快照的标识日志;
所述第一存储网关客户端向所述第一存储网关服务端发送备份元数据生成请求消息;
所述第一存储网关服务端根据所述备份元数据生成请求消息,向所述第二存储系统的第四元数据集合中写入所述第一存储系统的第一备份元数据信息,所述第一备份元数据信息包括第二快照的标识信息和第一备份的标识信息的对应关系;
所述第一存储网关服务端读取所述第二存储系统上所述第二快照的快照增量数据;
所述第一存储网关服务端向第三存储网关服务端发送所述第二快照的快照增量数据。
12.根据权利要求2至5中任一项所述的数据处理方法,其特征在于,所述第一存储网关客户端为仲裁集群管理的多个存储网关客户端中的一个,所述第一存储网关服务端为所述仲裁集群管理的多个存储网关服务端中的一个。
13.一种存储管理系统,其特征在于,包括第一计算设备,所述第一计算设备包括第一存储器、第一处理器和第一通信接口,所述第一存储器用于存储代码,所述第一处理器用于执行所述第一存储器存储的代码,所述第一通信接口用于与其他设备通信;
当所述第一处理器执行所述第一存储器存储的代码时,所述第一处理器用于接收写数据请求消息,所述写数据请求消息携带的信息包括第一数据、第一位置信息和第一存储系统的第一标识信息;
所述第一处理器还用于通过所述第一通信接口向第一文件路径信息指示的第一日志文件中写入第一写日志,所述第一写日志包括所述第一数据和所述第一位置信息,所述第一日志文件存储于第二存储系统,所述第二存储系统与所述第一存储系统不是同一个存储系统;
所述第一写日志中的所述第一数据未重放到所述第一存储系统上所述第一位置信息所指示的第一位置。
14.根据权利要求13所述的存储管理系统,其特征在于,所述存储管理系统还包括第二计算设备,所述第二计算设备包括第二存储器、第二处理器和第二通信接口,所述第二存储器用于存储代码,所述第二处理器用于执行所述第二存储器存储的代码,所述第二通信接口用于与其他设备通信;
其中,所述第一计算设备向第一文件路径信息指示的第一日志文件中写入第一写日志之前,所述第一处理器还用于根据所述写数据请求消息,通过所述第一通信接口,向所述第二计算设备发送第一文件路径请求消息,所述第一文件路径请求消息携带所述第一标识信息;
所述第二处理器用于根据所述第二通信接口接收的所述第一文件路径请求消息,通过所述第二通信接口请求所述第二存储系统创建所述第一日志文件,并通过所述第二通信接口向所述第二存储系统上存储的第一元数据集合中写入第一日志元数据信息,所述第一日志元数据信息包括第一指示信息,所述第一指示信息用于指示所述第一日志文件的所述第一文件路径信息与所述第一标识信息的对应关系;
所述第二处理器还用于通过所述第二通信接口向所述第一计算设备发送所述第一文件路径信息。
15.根据权利要求14所述的存储管理系统,其特征在于,所述第一日志元数据信息还包括第二指示信息,所述第二指示信息用于指示所述第一日志文件未复制到第三存储系统;
所述第二处理器还用于通过所述第二通信接口向所述第二存储系统发送第一日志文件请求消息,所述第一日志文件请求消息用于请求所述第二存储系统中,与所述第一标识信息对应的、且未复制到所述第三存储系统上的日志文件的文件路径信息;
所述第二处理器还用于通过所述第二通信接口接收所述第二存储系统根据所述第一日志文件请求消息和所述第一元数据集合发送的所述第一文件路径信息;
所述第二处理器还用于通过所述第二通信接口从所述第二存储系统中读取所述第一日志文件,并向所述第三存储系统复制所述第一日志文件。
16.根据权利要求14所述的存储管理系统,其特征在于,所述第二处理器还用于通过所述第二通信接口接收第二日志文件和第四存储系统的标识信息;
所述第二处理器还用于通过所述第二通信接口将所述第二日志文件写入第五存储系统;
所述第二处理器还用于通过所述第二通信接口向所述第五存储系统上的第二元数据集合中写入第二日志元数据信息,所述第二日志元数据信息包括第三指示信息,所述第三指示信息用于指示所述第四存储系统的标识信息与所述第二日志文件在所述第五存储系统上的第二文件路径信息的对应关系。
17.根据权利要求16所述的存储管理系统,其特征在于,所述第二日志元数据信息还包括第四指示信息,所述第四指示信息用于指示所述第二日志文件未重放到所述第四存储系统;
所述第二处理器还用于通过所述第二通信接口向所述第五存储系统发送第二日志文件请求消息,所述第二日志文件请求消息用于请求所述第五存储系统中还未重放到所述第四存储系统上的日志文件的文件路径信息;
所述第二处理器还用于通过所述第二通信接口接收所述第五存储系统根据所述第二日志文件请求消息和所述第二元数据集合发送的所述第二文件路径信息;
所述第二处理器还用于通过所述第二通信接口向第一计算设备发送所述第二文件路径信息;
所述第一处理器还用于根据所述第一通信接口接收的所述第二文件路径信息,从所述第五存储系统读取所述第二日志文件中的第二写日志,并将所述第二写日志中的第二数据,写入所述第四存储系统上的第二位置。
18.根据权利要求14至17中任一项所述的存储管理系统,其特征在于,所述第一处理器还用于通过所述第一通信接口,将所述第一写日志中的所述第一数据,写入所述第一存储系统的所述第一位置。
19.根据权利要求18所述的存储管理系统,其特征在于,所述第一日志元数据信息还包括第五指示信息,所述第五指示信息用于指示所述第一日志文件中的写日志未重放到所述第一存储系统;
其中,所述第一处理器用于通过所述第一通信接口向所述第二计算设备发送第三日志文件请求消息,所述第三日志文件请求消息携带所述第一标识信息;
所述第二处理器还用于根据所述第二通信接口接收的所述第三日志文件请求消息,向所述第二存储系统发送第四日志文件请求消息,所述第四日志文件请求消息用于请求所述第二存储系统中还未重放到所述第一存储系统上的日志文件的文件路径信息;
所述第二处理器还用于通过所述第二通信接口,接收所述第二存储系统根据所述第四日志文件请求消息和所述第一元数据集合发送的所述第一文件路径信息;
所述第二处理器还用于通过所述第二通信接口,向所述第一计算设备发送所述第一文件路径信息;
所述第一处理器还用于根据所述第一通信接口接收的所述第一文件路径信息,从所述第二存储系统读取所述第一日志文件中的所述第一写日志,并将所述第一写日志中的所述第一数据,写入所述第一存储系统上的所述第一位置。
20.根据权利要求19所述的存储管理系统,其特征在于,所述第一计算设备向第一文件路径信息指示的第一日志文件中写入第一写日志之前,所述第一处理器还用于接收第一快照请求消息;
所述第一处理器还用于根据所述第一快照请求消息,通过所述第一通信接口向所述第一日志文件写入第一快照的标识日志;
所述第一处理器还用于通过所述第一通信接口向所述第二计算设备发送快照元数据生成请求消息;
所述第二处理器还用于根据所述快照元数据生成请求消息,通过所述第二通信接口向所述第二存储系统的第三元数据集合中写入第一快照增量元数据信息,所述第一快照增量元数据信息包括第一快照的标识信息、第三位置信息和所述第一位置信息,所述第三位置信息用于指示所述第三位置;
其中,所述第一计算设备将所述第一写日志中的所述第一数据,写入所述第一存储系统上的所述第一位置之前,所述第一处理器还用于通过所述第一通信接口,读取所述第一存储系统中所述第一位置处的第三数据,将所述第三数据写到所述第二存储系统上的第三位置。
21.根据权利要求14至17中任一项所述的存储管理系统,其特征在于,所述第一处理器还用于接收读数据请求消息,所述读数据请求消息携带所述第一位置信息和所述第一标识信息;
若所述第一处理器根据所述读数据请求消息,确定所述第一计算设备上存在应写入所述第一存储系统中所述第一位置的所述第一数据,则所述第一处理器还用于通过所述第一通信接口发送所述第一计算设备上存在的所述第一数据;
若所述第一处理器根据所述读数据请求消息,确定所述第一计算设备上不存在所述第一数据,则所述第一处理器还用于读取所述第一存储系统中所述第一位置上的所述第一数据,并发送所述第一数据。
22.根据权利要求14至17中任一项所述的存储管理系统,其特征在于,所述第一处理器还用于接收第一备份请求消息,所述第一备份请求消息用于请求对所述第一存储系统进行第一备份;
所述第一处理器还用于通过所述第一通信接口向所述第一日志文件写入第二快照的标识日志;
所述第一处理器还用于通过所述第一通信接口向所述第二计算设备发送备份元数据生成请求消息;
所述第二处理器还用于根据所述第二通信接口接收的所述备份元数据生成请求消息,向所述第二存储系统的第四元数据集合中写入所述第一存储系统的第一备份元数据信息,所述第一备份元数据信息包括第二快照的标识信息和第一备份的标识信息的对应关系,所述第四元数据集合包括所述第一存储系统的第二备份元数据信息,所述第二备份元数据信息包括第三快照的标识信息和第二备份的标识信息的对应关系,所述第一日志文件包括第三快照的标识日志;
所述第二处理器还用于通过所述第二通信接口读取所述第二存储系统上的第一日志文件中所述第二快照的标识日志至所述第三快照的标识日志之间所有日志;
所述第二处理器还用于通过所述第二通信接口向第三计算设备发送所述所有日志。
23.根据权利要求14至17中任一项所述的存储管理系统,其特征在于,所述第一处理器还用于接收第一备份请求消息,所述第一备份请求消息用于请求对所述第一存储系统进行第一备份;
所述第一处理器还用于向所述第一日志文件写入第二快照的标识日志;
所述第一处理器还用于通过所述第一通信接口向所述第二计算设备发送备份元数据生成请求消息;
所述第二处理器还用于根据所述第二通信接口接收的所述备份元数据生成请求消息,向所述第二存储系统的第四元数据集合中写入所述第一存储系统的第一备份元数据信息,所述第一备份元数据信息包括第二快照的标识信息和第一备份的标识信息的对应关系;
所述第二处理器还用于通过所述第二通信接口读取所述第二存储系统上所述第二快照的快照增量数据;
所述第二处理器还用于向第三计算设备发送所述第二快照的快照增量数据。
24.根据权利要求14至17中任一项所述的存储管理系统,其特征在于,所述第一计算设备为仲裁集群管理的多个计算设备中的一个,所述第二计算设备为所述仲裁集群管理的多个计算设备中的一个。
25.一种存储管理系统,其特征在于,包括计算设备,所述计算设备包括存储器、处理器和通信接口,所述存储器用于存储代码,所述处理器用于执行所述存储器存储的代码,所述通信接口用于与其他设备通信;
当所述处理器执行所述存储器中存储的代码时,所述处理器用于执行权利要求1至权利要求12中任一项所述的数据处理方法。
CN201610998630.1A 2016-11-11 2016-11-11 数据处理方法和存储管理系统 Active CN108076090B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610998630.1A CN108076090B (zh) 2016-11-11 2016-11-11 数据处理方法和存储管理系统
PCT/CN2017/108198 WO2018086466A1 (zh) 2016-11-11 2017-10-28 数据处理方法和存储管理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610998630.1A CN108076090B (zh) 2016-11-11 2016-11-11 数据处理方法和存储管理系统

Publications (2)

Publication Number Publication Date
CN108076090A CN108076090A (zh) 2018-05-25
CN108076090B true CN108076090B (zh) 2021-05-18

Family

ID=62109439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610998630.1A Active CN108076090B (zh) 2016-11-11 2016-11-11 数据处理方法和存储管理系统

Country Status (2)

Country Link
CN (1) CN108076090B (zh)
WO (1) WO2018086466A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165117B (zh) * 2018-06-29 2022-05-31 华为技术有限公司 数据处理的方法和系统
CN109167724B (zh) * 2018-09-10 2021-09-17 四川虹微技术有限公司 一种api网关中实现数据预处理的方法
CN109284267A (zh) * 2018-09-26 2019-01-29 深圳壹账通智能科技有限公司 基于异常监控的日志管理方法及终端设备
CN109582644B (zh) * 2018-12-21 2023-04-07 深圳前海微众银行股份有限公司 文件存储方法、装置、设备及计算机可读存储介质
CN111510466B (zh) * 2019-01-30 2022-09-23 阿里巴巴集团控股有限公司 客户端的数据更新方法、装置、电子设备及可读介质
CN109933508B (zh) * 2019-03-25 2023-02-24 北京百度网讯科技有限公司 用于发送信息的方法和装置
CN110046132B (zh) * 2019-04-15 2022-04-22 苏州浪潮智能科技有限公司 一种元数据请求处理方法、装置、设备及可读存储介质
CN110489274A (zh) * 2019-07-11 2019-11-22 新华三大数据技术有限公司 数据备份方法、装置及交互系统
CN111371891B (zh) * 2020-03-03 2022-08-05 腾讯云计算(北京)有限责任公司 业务处理方法、装置、设备及存储介质
CN111654410B (zh) * 2020-04-28 2021-12-24 长沙证通云计算有限公司 网关请求监控方法、装置、设备及介质
CN111581175B (zh) * 2020-04-29 2023-11-17 上海爱数信息技术股份有限公司 一种文件存储网关系统及其数据迁移方法
CN116521058A (zh) * 2022-05-31 2023-08-01 杭州沃趣科技股份有限公司 一种更换磁盘的控制方法、装置、计算机设备及存储介质
CN115242817B (zh) * 2022-07-21 2023-10-24 阿里巴巴(中国)有限公司 数据访问处理方法、装置、设备和存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012186543A (ja) * 2011-03-03 2012-09-27 Ricoh Co Ltd 画像読取装置および画像読取装置の制御プログラム
US8706834B2 (en) * 2011-06-30 2014-04-22 Amazon Technologies, Inc. Methods and apparatus for remotely updating executing processes
US20140156812A1 (en) * 2012-12-05 2014-06-05 Fortinet, Inc. Customized configuration settings for a network appliance
CN103250382B (zh) * 2012-12-28 2017-04-26 华为技术有限公司 分流方法、设备和系统
CN103281400A (zh) * 2013-06-18 2013-09-04 清华大学 用于云存储网关的数据切分编码和恢复方法
WO2015010327A1 (zh) * 2013-07-26 2015-01-29 华为技术有限公司 数据发送方法、数据接收方法和存储设备
CN103559279A (zh) * 2013-11-07 2014-02-05 深信服网络科技(深圳)有限公司 云存储加速方法及装置
CN103607449A (zh) * 2013-11-18 2014-02-26 中国联合网络通信集团有限公司 企业内网物理机访问云存储虚拟机的方法、设备和系统
US9280678B2 (en) * 2013-12-02 2016-03-08 Fortinet, Inc. Secure cloud storage distribution and aggregation
CN104717254B (zh) * 2013-12-12 2019-01-08 华为技术有限公司 文件访问的方法和云网关
CN103645969B (zh) * 2013-12-13 2017-06-20 华为技术有限公司 数据复制方法及数据存储系统
CN103761053B (zh) * 2013-12-30 2017-08-25 华为技术有限公司 一种数据处理方法和装置

Also Published As

Publication number Publication date
WO2018086466A1 (zh) 2018-05-17
CN108076090A (zh) 2018-05-25

Similar Documents

Publication Publication Date Title
CN108076090B (zh) 数据处理方法和存储管理系统
US10782880B2 (en) Apparatus and method for providing storage for providing cloud services
US20230031079A1 (en) Resynchronization to a synchronous replication relationship
US20230086414A1 (en) Elastic, ephemeral in-line deduplication service
WO2018040591A1 (zh) 一种远程数据复制方法及系统
US9557925B1 (en) Thin replication
US8689047B2 (en) Virtual disk replication using log files
US10496487B1 (en) Storing snapshot changes with snapshots
US8819383B1 (en) Non-disruptive realignment of virtual data
EP3223165B1 (en) File processing method, system and server-clustered system for cloud storage
US9965306B1 (en) Snapshot replication
US9256605B1 (en) Reading and writing to an unexposed device
US11080237B2 (en) Stale data detection
US10740192B2 (en) Restoring NAS servers from the cloud
US9619172B1 (en) Method and system for managing changed block tracking and continuous data protection replication
US11797491B2 (en) Inofile management and access control list file handle parity
US20240184470A1 (en) Composite aggregate architecture
US11449260B2 (en) Persistent hole reservation
US20210365187A1 (en) Freeing and utilizing unused inodes
US11151162B2 (en) Timestamp consistency for synchronous replication
US10725967B1 (en) Continuous data protection snapshots
CN108540510B (zh) 一种云主机创建方法、装置及云服务系统
US10893106B1 (en) Global namespace in a cloud-based data storage system
US20230259529A1 (en) Timestamp consistency for synchronous replication
US10185758B1 (en) Direct to remote replication

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
TR01 Transfer of patent right

Effective date of registration: 20220210

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.

TR01 Transfer of patent right