WO2013177968A1 - 文件存储系统、装置及文件存取方法 - Google Patents

文件存储系统、装置及文件存取方法 Download PDF

Info

Publication number
WO2013177968A1
WO2013177968A1 PCT/CN2013/072812 CN2013072812W WO2013177968A1 WO 2013177968 A1 WO2013177968 A1 WO 2013177968A1 CN 2013072812 W CN2013072812 W CN 2013072812W WO 2013177968 A1 WO2013177968 A1 WO 2013177968A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
storage
public cloud
storage system
cloud storage
Prior art date
Application number
PCT/CN2013/072812
Other languages
English (en)
French (fr)
Inventor
赵凯
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2013177968A1 publication Critical patent/WO2013177968A1/zh
Priority to US14/340,290 priority Critical patent/US9405757B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • 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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications

Definitions

  • the present invention relates to storage technologies, and more particularly to a file storage system, apparatus, and file access method. Background technique
  • the cloud storage service is a cloud computing model that uses storage space as a resource. It enables users to access the storage space on demand, and no longer has to worry about the storage space of information technology (IT) equipment.
  • IT information technology
  • Private cloud storage is built on the enterprise's own infrastructure and is only open to internal users. Therefore, enterprises can gain control of the storage system and reuse the existing storage resources of the enterprise to a certain extent.
  • Private cloud storage is a complex system of multiple components, including networks, storage devices, servers, application software, public access interfaces, and client programs. Each part is based on a storage device and provides data storage and service access services through application software.
  • the enterprise needs to have enough storage devices and sites for virtualization, and build a network connecting the storage devices, and then deploy the running infrastructure layer, management layer and application interface layer in sequence. Individual templates. It can be seen that the construction of the private cloud storage system is more complicated and difficult to implement.
  • Embodiments of the present invention provide a file storage system, a device, and a file access method, which are used to reduce the complexity of constructing a file storage system and improve the achievability of a file storage system.
  • An embodiment of the present invention provides a file storage system, including: a storage management device and an adapter;
  • the storage management device is configured to receive an operation instruction sent by the user interface device, if the operation instruction is a storage instruction for storing a first file, where the storage instruction includes an identifier of the first file, from a plurality of public clouds Determining, in the storage system, a first public cloud storage system for storing the first file, sending a storage call command to a first adapter corresponding to the first public cloud storage system, so that the first adapter The first file is stored in the first public cloud storage system, and receives a first storage location sent by the first adapter, and saves the identifier of the first file and the first storage location in a file location table.
  • the file location table stores a correspondence between the identifier of the file and the storage location of the file; if the operation instruction is read a read command of the second file, where the read command includes an identifier of the second file, and determining storage according to the identifier of the second file and the identifier of the file in the file location table and the storage location correspondence of the file a second storage location corresponding to the second file, and sending, according to the second storage location, a read call command to a second adapter corresponding to the second storage location, so that the second adapter is configured according to the second adapter
  • the second storage location acquires the second file from the second public cloud storage system, receives the second file sent by the second adapter, and sends the second file to the user interface device;
  • the adapter is configured to receive an operation instruction sent by the storage management device; if the operation instruction is a storage call command, storing the first file to the first public cloud storage system, and receiving the first public cloud storage system Returning the first file to a first storage location on the first public cloud storage system, wherein the storage instruction includes an identifier of a first file; and transmitting the first storage location to the storage management device So that the storage management device saves the correspondence between the identifier of the first file and the first storage location in the file location table; if the operation command is a read call command, according to the second storage location Second public cloud storage system Obtaining a second file, and sending the second file to the storage management device, where the readout call command is an identifier of the second file according to the storage management device and a file in the file location table The identifier of the file and the storage location of the file are determined, and the second storage location is determined to be sent.
  • the file storage system further comprising: a user interface device, configured to receive a storage instruction for storing the first file input by the instruction input device, and send the storage instruction to the storage management device, so that the storage management device And performing a storage operation on the first file according to the storage instruction, where the storage instruction includes an identifier of the first file; or receiving a read instruction of reading a second file input by the instruction input device, And the read command is sent to the storage management device, so that the storage management device performs a read operation on the second file, and receives the second file returned by the storage management device, where the read command includes The identifier of the second file.
  • An instruction receiving management unit configured to receive an operation instruction sent by the user interface device, and a storage management unit, configured to: if the operation instruction is a storage instruction for storing the first file, the storage instruction includes an identifier of the first file; Determining, by the plurality of public cloud storage systems, a first public cloud storage system for storing the first file, and sending a storage call command to the first adapter corresponding to the first public cloud storage system, so that the first The adapter stores the first file to the first public cloud storage system, and receives a first storage location sent by the first adapter, and saves the identifier of the first file and the first file in a file location table Corresponding relationship of a storage location, wherein the first storage location is sent by the first public cloud storage system to the first adapter, and the first storage location is that the first file is in the first public a storage location on the cloud storage system, where the file location table stores a correspondence between the identifier of the file and the storage location of the file;
  • a read management unit configured to: if the operation instruction is a read instruction for reading a second file, where the read instruction includes an identifier of the second file, according to the identifier of the second file and the file Corresponding relationship between the identifier of the file in the location table and the storage location of the file, determining to store the second storage location corresponding to the second file, and according to the second storage location, to the second adapter corresponding to the second storage location Sending a read call command, so that the second adapter acquires the second file from the second public cloud storage system according to the second storage location, receives the second file sent by the second adapter, and The second file is sent to the user interface device.
  • the storage management device further comprising: a status monitoring management unit, configured to periodically send a status monitoring command to each adapter, so that each of the adapters obtains current operating state data of the corresponding public cloud storage system;
  • the current running state data of the respective public cloud storage systems that are sent by the adapters, and the running states of the public cloud storage systems are monitored according to current operating state data of the public cloud storage systems.
  • the storage management device further includes: a status test management unit, configured to send a status test command to each adapter, so that each of the adapters stores the preset test file in a corresponding public cloud storage system; a storage location of the test files sent by each adapter on respective corresponding public cloud storage systems; a time when the status test command is sent to the respective adapters and a storage location where the respective adapters are returned to receive the test files The current running state data of each public cloud storage system is calculated.
  • a status test management unit configured to send a status test command to each adapter, so that each of the adapters stores the preset test file in a corresponding public cloud storage system
  • a storage location of the test files sent by each adapter on respective corresponding public cloud storage systems a time when the status test command is sent to the respective adapters and a storage location where the respective adapters are returned to receive the test files
  • the current running state data of each public cloud storage system is calculated.
  • the storage management device further includes: a reliability processing unit, configured to determine a public cloud that does not meet the reliability requirement according to the running state historical data and the current running state data of each public cloud storage system in the plurality of public cloud storage systems The storage system and the public cloud storage system satisfying the reliability requirements migrate the files stored on the public cloud storage system that do not meet the reliability requirements to one or more of the public cloud storage systems that meet the reliability requirements.
  • a reliability processing unit configured to determine a public cloud that does not meet the reliability requirement according to the running state historical data and the current running state data of each public cloud storage system in the plurality of public cloud storage systems.
  • a further aspect of the embodiments of the present invention provides an adapter, including:
  • a receiving unit configured to receive an operation instruction sent by the storage management device
  • a storage processing unit configured to: when the operation instruction is a storage call command, store the first file to the first public cloud storage system, and receive the first file returned by the first public cloud storage system in the first a first storage location on the public cloud storage system, wherein the storage call command includes an identifier of the first file, and the first storage location is sent to the storage management device to cause the storage management device to be in the file Saving a correspondence between the identifier of the first file and the first storage location in the location table;
  • a read processing unit configured to: if the operation instruction is a read call command, acquire a second file from the second public cloud storage system according to the second storage location, and send the second file to the storage management device
  • the readout command is that the storage management device determines the second storage location according to the identifier of the second file and the identifier of the file in the file location table and the storage location correspondence relationship of the file. Sent.
  • the adapter further includes: a state monitoring processing unit, configured to periodically receive a state monitoring command sent by the storage management device; and invoke a corresponding public according to the state monitoring command
  • the user interface of the cloud storage system is used to obtain the current running state data of the public cloud storage system, and the current running state data of the corresponding public cloud storage system is sent to the storage management.
  • a device configured to enable the storage management device to monitor an operating state of the public cloud storage system corresponding to the adapter according to the current running state data.
  • the adapter further includes: a state test processing unit, configured to receive a state test command sent by the storage management device; and store, according to the state test command, a preset test file to a corresponding public cloud storage system, and Receiving a storage location of the test file returned by the public cloud storage system; sending a storage location of the test file to the storage management device, so that the storage management device according to a time when the state test command is sent After receiving the returned storage location of the test file, the current running state data of the public cloud storage system corresponding to the adapter is obtained.
  • a state test processing unit configured to receive a state test command sent by the storage management device; and store, according to the state test command, a preset test file to a corresponding public cloud storage system, and Receiving a storage location of the test file returned by the public cloud storage system; sending a storage location of the test file to the storage management device, so that the storage management device according to a time when the state test command is sent After receiving the returned storage location of the test file, the current running state data
  • a further aspect of the embodiments of the present invention provides a file access method, including:
  • the storage management device receives an operation instruction sent by the user interface device
  • the storage instruction is a storage instruction for storing a first file
  • the storage instruction includes an identifier of the first file
  • the storage management device determines, from a plurality of public cloud storage systems, for storing the first file a first public cloud storage system, configured to send a storage call command to a first adapter corresponding to the first public cloud storage system, so that the first adapter stores the first file to the first public cloud storage system And receiving the first storage location sent by the first adapter, and storing, in the file location table, a correspondence between the identifier of the first file and the first storage location, where the first storage location is The first public cloud storage system is sent to the first adapter, where the first storage location is a storage location of the first file on the first public cloud storage system, and the file location table stores a file. Correspondence between the identifier and the storage location of the file;
  • the operation instruction is a read instruction for reading a second file
  • the read instruction includes an identifier of the second file
  • the storage management device is configured according to the identifier of the second file and the file location table.
  • the storage management device is configured according to the identifier of the second file and the file location table.
  • the storage management device is from a plurality of public cloud storage systems
  • Determining the first public cloud storage system for storing the first file includes: the storage management device determining a current status from the plurality of public cloud storage systems according to current operating state data of the plurality of public cloud storage systems The public cloud storage system with the best running state is used as the first public cloud storage system; the current running state data includes a current response speed of the public cloud storage system and/or a currently available storage space of the public cloud storage system.
  • the file access method before the sending, by the first adapter corresponding to the first public cloud storage system, the first storage call command to store the call command, the method further includes: encrypting and dividing the first file And / or redundant processing.
  • the second file has a redundant backup
  • the redundant backup of the second file is stored in one or more public cloud storage systems
  • the storage management device is configured according to the second file. Determining, in association with the identifier of the file in the file location table and the storage location of the file, determining to store the second storage location corresponding to the second file, the method includes: the storage management device according to the identifier and the location of the second file Determining, by the identifier of the file in the file location table and the storage location of the file, determining all public cloud storage systems storing redundant backups of the second file or the second file, and according to all public cloud storage systems The current running state data, determining that the public cloud storage system with the best running state is the second public cloud storage system, and obtaining the redundant backup of the second file or the second file in the second public cloud storage system
  • the upper storage location is the second storage location.
  • the file access method as described above further comprising: the storage management device periodically sending a status monitoring command to each adapter, so that the respective adapters acquire current operating state data of the corresponding public cloud storage system;
  • the current running status data of the respective public cloud storage systems sent by the respective adapters is received, and the running status of each public cloud storage system is monitored according to current operating state data of each public cloud storage system.
  • the file access method as described above further comprising: the storage management device transmitting a status test command to each of the adapters, so that the respective adapters store the preset test files to respective corresponding public cloud storage systems;
  • the file access method as described above further comprising: determining, by the storage management device, the public cloud storage that does not meet the reliability requirement according to the running state historical data and the current running state data of each public cloud storage system in the plurality of public cloud storage systems The system and the public cloud storage system satisfying the reliability requirements migrate the files stored on the public cloud storage system that do not meet the reliability requirements to one or more of the public cloud storage systems that meet the reliability requirements.
  • a further aspect of the embodiments of the present invention provides a file access method, including:
  • the adapter receives an operation instruction sent by the storage management device
  • the adapter stores the first file to the first public cloud storage system, and receives the first file returned by the first public cloud storage system in the first public cloud storage.
  • a first storage location on the system wherein the storage call command includes an identification of the first file, and the first storage location is sent to the storage management device to cause the storage management device to save in a file location table Corresponding relationship between the identifier of the first file and the first storage location;
  • the adapter acquires a second file from the second public cloud storage system according to the second storage location, and sends the second file to the storage management device, where The readout command is sent by the storage management device after determining the second storage location according to the identifier of the second file and the identifier of the file in the file location table and the storage location correspondence of the file.
  • the adapter sends the current running state data of the corresponding public cloud storage system to the storage management device, so that the storage management device monitors the public cloud storage system corresponding to the adapter according to the current running state data. Operating status.
  • the file storage system, the storage management device, and the adapter provided by the embodiments of the present invention construct a file storage including a storage management device and an adapter by using an existing heterogeneous public cloud storage system and using the existing heterogeneous public cloud storage system as a storage device.
  • the storage management device only needs to determine the public cloud storage system that stores the file or determine the storage location of the file, and the adapter implements the conversion function with the public cloud storage system interface function, so that multiple heterogeneous public cloud storage systems are used as the storage device. It is possible to implement a file storage system built with a heterogeneous public cloud storage system as a storage device.
  • the file storage system of the embodiment of the present invention does not need to invest in fixed assets such as storage devices and network devices, does not require site construction, and does not need to perform infrastructure equipment such as storage devices. Maintenance, therefore, greatly reduces the complexity of building a file storage system and improves the usability of the file storage system.
  • the file access method provided by the embodiment of the present invention is implemented based on the file storage system provided by the embodiment of the present invention. Since the file storage system of the embodiment of the present invention has low construction complexity, the file access is reduced to a certain extent. Complexity helps improve file access efficiency. BRIEF DESCRIPTION OF THE DRAWINGS In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, a brief description of the drawings used in the embodiments or the prior art description will be briefly described below. The drawings are some embodiments of the present invention, and those skilled in the art can obtain other drawings based on these drawings without any inventive labor.
  • FIG. 1 is a schematic structural diagram of a file storage system according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of a file storage system according to another embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of a storage management apparatus according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of a storage management apparatus according to another embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of an adapter according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of an adapter according to another embodiment of the present invention
  • FIG. FIG. 7 is a flowchart of a file access method according to an embodiment of the present invention
  • FIG. 8 is a flowchart of a file access method according to another embodiment of the present invention.
  • FIG. 1 is a schematic structural diagram of a file storage system according to an embodiment of the present invention.
  • the file storage system of this embodiment includes: a storage management device 20 and an adapter 30.
  • the storage management device 20 is configured to receive an operation instruction sent by the user interface device, and if the operation instruction is a storage instruction for storing the first file, where the storage instruction includes the identifier of the first file, from the plurality of public cloud storage systems Determining, by the first public cloud storage system for storing the first file, sending a storage invocation command to the first adapter corresponding to the first public cloud storage system, so that the first adapter stores the first file to the first public cloud storage system And receiving the first storage location sent by the first adapter, and storing, in the file location table, a correspondence between the identifier of the first file and the first storage location, where the first storage location is sent by the first public cloud storage system An adapter, the first storage location is a storage location of the first file on the first public cloud storage system, and the file location table stores a correspondence between the identifier of the file and a storage location of the file; if the operation instruction is a read a read command of the second file, where the read command includes an identifier of the second file
  • the foregoing storage instruction may include other information such as an identifier of the user and a size of the first file, in addition to the identifier of the first file.
  • the above read command may include the identifier of the user in addition to the identifier of the second file.
  • the user's identity can be a username, a user's account, and the like.
  • the identifier of the first file may be the name of the first file, the global unique identifier (Globally Unique) Identifier, GUID), Uniform/Universal Resource Locator (URL), but not limited to this.
  • the identifier of the second file may be the name, GUID, URL of the second file, and is not limited thereto.
  • the file storage system of the present embodiment uses the public cloud storage system based on the prior art as a basic device to manage, virtualize, monitor, and maintain physical storage devices and networks in the public cloud storage system.
  • the storage management device 20 of the embodiment does not need to have a grid computing, a distributed system management, a storage system closely related to the infrastructure, and invokes a corresponding adapter to perform a storage operation, and stores the file after the storage is completed.
  • the storage relationship between the storage location of the file and the identifier of the file is determined.
  • the storage location of the file is determined when the file is obtained, and the corresponding adapter is called to perform the acquisition operation.
  • the storage management subsystem of the embodiment has the functions of being simple and easy to implement. The advantage is that the construction complexity of the file storage system of the embodiment is reduced.
  • the adapter 30 is connected to the storage management device 20 and the public cloud storage system, and configured to receive an operation instruction sent by the storage management device 20; if the operation instruction is a storage call command, store the first file to the first public cloud storage system.
  • the cloud storage system acquires the second file, and sends the second file to the storage management device 20, wherein the read call command is the storage management device 20 according to the identifier of the second file and the identifier of the file in the file location table and the storage location of the file. The corresponding relationship is determined after the second storage location is determined.
  • the file storage system of this embodiment may include at least one adapter 30 (only one is shown in the drawing), and each adapter 30 corresponds to a public cloud storage system. Specifically, the adapter 30 performs storage of the first file or reading of the second file by calling the user interface inside the file storage system of the embodiment and the user interface provided by the public cloud storage system.
  • the adapter 30 in this embodiment also has a user interface provided to the file storage system of the embodiment.
  • the function of converting with the user interface provided by the public cloud storage system that is, converting the user interface inside the file storage system of the embodiment to the used
  • the user interface supported by the public cloud storage system, and then the converted user interface is called to complete the reading operation on the file.
  • the conversion mainly includes conversion of a protocol used by the user interface and conversion of a data format used by the user interface.
  • the interfaces of each public cloud storage system are user interfaces.
  • the user interface herein refers to an interface provided by the file storage system or the public cloud storage system of the embodiment to the user to enable the user to complete file storage or read operations.
  • the adapter 30 of this embodiment may be an S3 adapter, a network disk adapter, or a Cloud Data Management Interface (CDMI) adapter.
  • CDMI Cloud Data Management Interface
  • the file storage system interacts with heterogeneous public cloud storage systems provided by different providers through different adapters 30, and uses the storage capabilities provided by different public cloud storage systems.
  • the adapter 30 implements a unified file operation interface, which shields the difference caused by the user interfaces of different public cloud storage systems, and facilitates the unified scheduling of the storage management device 20 between different public cloud storage systems. .
  • the basic storage capacity of the file storage system of the embodiment is established on the existing public cloud storage system, and does not need to directly deal with the storage device and the storage network.
  • the user does not need to purchase the storage device and build the network.
  • Running and maintaining your own storage infrastructure you only need to use adapters to handle access to different public cloud storage systems.
  • the construction process is relatively simple, and it does not directly deal with storage devices and storage networks, which can save a lot of system construction costs and operations. The cost of maintenance.
  • FIG. 2 is a schematic structural diagram of a file storage system according to another embodiment of the present invention. This embodiment is implemented based on the embodiment shown in Fig. 1. As shown in FIG. 2, the system of the present embodiment includes a user interface device 10 in addition to the storage management device 20 and the adapter 30.
  • the user interface device 10 is connected to the storage management device 20, and configured to receive a storage instruction for storing the first file input by the instruction input device, and send the storage instruction to the storage management device 20, so that the storage management device 20 pairs the first storage command.
  • the file performs a storage operation, and the storage instruction includes an identifier of the first file; or receives a read instruction for reading the second file input by the instruction input device, and sends the read command to the storage management device 20 to cause the storage management device 20 to
  • the second file performs a read operation and receives a second file returned by the storage management device 20, the read command including an identification of the second file.
  • the user interface device 10 of the present embodiment mainly provides an interface for the instruction input device, and may be, for example, a client, a user interface, or various application programming interfaces (APIs).
  • the command input device may be a user terminal setting Equipment, such as personal computers, mobile phones, tablets, thin clients, etc., but not limited to this.
  • the user inputs a storage instruction or a reading instruction to the user interface device 10 through an interface of an instruction input device or an input device or the like.
  • the user interface device 10 of this embodiment may be implemented on one device or on multiple devices, depending on application requirements.
  • each device within the enterprise can function as the user interface device 10 to facilitate file reading operations.
  • the storage management device 20 of the present embodiment can be deployed on one device or on multiple devices.
  • the storage management device 20 of the present embodiment can be implemented by one device or by multiple devices.
  • the adapter 30 of this embodiment can be deployed on one device or on multiple devices.
  • the user interface device 10, the storage management device 20, and the adapter 30 in this embodiment may be deployed on the same device or on multiple devices.
  • the user interface device 10, the storage management device 20, and the adapter 30 in this embodiment may be the same device or different devices.
  • FIG. 3 is a schematic structural diagram of a storage management apparatus according to an embodiment of the present invention. As shown in FIG. 3, the apparatus of this embodiment includes: an instruction reception management unit 21, a storage management unit 22, and a read management unit 23.
  • the instruction receiving management unit 21 is configured to receive an operation instruction sent by the user interface device.
  • the user interface device may receive the storage instruction for storing the first file input by the instruction input device, and send the storage instruction to the instruction receiving management unit 21 of the storage management device; or the user interface device may receive the input input by the instruction input device.
  • the read command of the second file is fetched, and the read command is sent to the command reception management unit 21 of the storage management device.
  • the operation instruction received by the instruction reception management unit 21 may be a store instruction or a read instruction.
  • the user interface device is mainly used to provide an interface for the instruction input device, for example, may be a client, a user interface or various APLs.
  • the command input device may be a user's terminal device, such as a personal computer, a mobile phone, a tablet computer, a thin client. But etc., but not limited to this.
  • the storage management unit 22 is connected to the instruction receiving management unit 21, and is configured to: if the operation instruction received by the instruction receiving management unit 21 is a storage instruction for storing the first file, the storage instruction includes an identifier of the first file; from a plurality of public cloud storage Determining the first public for storing the first file in the system a cloud storage system, sending a storage call command to a first adapter corresponding to the first public cloud storage system, so that the first adapter stores the first file to the first public cloud storage system, and receives the first sent by the first adapter Storing a location, and storing, in the file location table, a correspondence between the identifier of the first file and the first storage location, where the first storage location is sent by the first public cloud storage system to the first adapter, where the first storage location is the first The storage location of the file on the first public cloud storage system, and the file location table stores the correspondence between the identifier of the file and the storage location of the file.
  • the foregoing storage instruction may include other information such as an identifier of the user and a size of the first file, in addition to the identifier of the first file.
  • the user's identification can be a username, a user's account, and the like.
  • the identifier of the first file may be the name, GUID or URL of the first file, but is not limited thereto.
  • the storage management unit saves the identifier of the first file and the size of the first file and the identifier of the user, in addition to saving the correspondence between the identifier of the first file and the storage location of the first file into the file location table. Correspondence between information.
  • the read management unit 23 is connected to the instruction receiving management unit 21, and is configured to: if the operation instruction received by the instruction receiving management unit 21 is a read instruction for reading the second file, the read instruction includes the identifier of the second file, according to Determining, by the identifier of the second file, the identifier of the file in the file location table and the storage location of the file, determining to store the second storage location corresponding to the second file, and according to the second storage location, to the second corresponding to the second storage location
  • the adapter sends a read call command to cause the second adapter to acquire the second file from the second public cloud storage system according to the second storage location, receive the second file sent by the second adapter, and send the second file to the user interface device.
  • the foregoing read command may include an identifier of the user, in addition to the identifier of the second file.
  • the user's identity can be a username, a user's account, and the like.
  • the identifier of the second file may be the name, GUID or URL of the second file, but is not limited thereto.
  • the storage management unit 22 or the read management unit 23 may authenticate the user according to the identifier of the user before performing the operation of storing or reading the file, so as to improve the reliability of the file. Or security.
  • the authentication process may be specifically: after receiving the operation instruction sent by the user interface device, the instruction receiving management unit 21 sends an authentication request to the storage management unit 22 or the read management unit 23, where the authentication request includes the identifier and file of the user.
  • the storage management unit 22 or the reading management unit 23 authenticates the user based on the identification of the user and the identification of the file, and returns an authentication result to the instruction reception management unit 21.
  • the process of authenticating the user according to the identifier of the user and the identifier of the file by the storage management unit 22 or the read management unit 23 is mainly to determine whether the user has the right to perform corresponding operations (such as reading or storing) on the file. Limit.
  • the instruction reception management unit 21 transmits the above operation instruction to the storage management unit 22 or the read management unit 23.
  • the process of authenticating the user is beneficial to improving the reliability and security of the file stored in the file storage system; if the user needs to read the second file, The above process of authenticating the user is beneficial to ensure the security of the file stored in the file storage system.
  • the storage management device of the embodiment does not need to have functions such as grid computing, distributed system management, cluster management, etc. closely related to the infrastructure, and only needs to determine the public cloud for storing the file to be stored when the file is stored.
  • the storage system, the corresponding adapter is called to perform a storage operation, and the corresponding relationship between the storage location of the storage file and the identifier of the file after the file is completed is stored, and the storage location of the file is determined when the file is obtained, and the corresponding adapter is called to perform the acquisition operation, and has the function Simple, easy to implement advantages.
  • the file storage system is constructed by using the storage management device provided in this embodiment, the construction complexity is low and easy to implement.
  • the storage management unit 22 sends a storage call command to the first adapter corresponding to the first public cloud storage system, so that the first adapter stores the first file to the first public cloud storage.
  • the first file can be safely processed according to a preset technical means for improving the security and reliability of the file.
  • the technical means or security processing operations include, but are not limited to: encrypting, blocking, and redundant processing the first file.
  • the following is an example of the security processing operation of the first file by the storage management unit 22.
  • the storage management unit 22 may encrypt the first file using an encryption algorithm provided by the above technical means. Encrypting the first file and then storing it is beneficial to improve the security of the first file.
  • the storage management unit 22 first encrypts the first file by using the encryption algorithm provided by the above technical means, and then the blocking policy provided according to the above technical means will be
  • the encrypted first file is divided into blocks to form a plurality of block files.
  • the blocking strategy mainly includes dividing the first file according to the size of the first file, dividing the first file into pieces, and the size of each block.
  • each chunk file will be stored as a separate file.
  • Such different block files may be stored on different public cloud storage systems.
  • a block file on a public cloud storage system is stolen, it is not recognized because it is only part of the first file, which is beneficial to improve the security of the first file; if a public cloud storage system is damaged or The damaged file causes the file stored on it to be lost, and only a part of the first file is damaged without causing the entire first file to be damaged, which is advantageous for improving the reliability of the first file.
  • the present embodiment allows the storage and reading operations for each of the divided files to be performed in parallel by dividing the first file into a plurality of divided files, which is advantageous in improving the efficiency of operating the first file as a whole.
  • each public cloud storage system generally has a certain limit on the size of the storage file. Therefore, the storage management unit 22 performs block processing on the first file to meet the requirement of the storage file size of the public cloud storage system.
  • the upper limit of the size of the file allowed by the first public cloud storage system is 100M
  • the size of the first file is 2G
  • the first file is divided into blocks
  • the block file is not more than 100M.
  • the storage management unit 22 needs to allocate the identifier of the chunk file for each chunk file, so that each chunk file can be separately stored, and the storage management unit 22 also And storing a correspondence between the identifier of each of the block files and the identifier of the first file, and a correspondence between each of the block files and the respective storage location, so that the user performs the first file according to the identifier of the first file later. Reading.
  • the storage management unit 22 may perform redundancy backup on the first file according to the number of redundant backups provided by the foregoing technical means, and the first file and the first file may be used. Redundant backups are stored as separate files. At the same time, the storage management unit 22 needs to store the correspondence between each redundant backup of the first file and the first file, and needs to store each redundant backup of the first file and the corresponding relationship between the first file and the respective storage location. .
  • the storage management unit 22 may block the first file according to the blocking policy provided by the foregoing technical means to form a blocking file, and then according to the above
  • the number of redundant backups provided by the technical means is redundantly backed up for each chunk file.
  • Each redundant backup of each chunk file will be stored as a separate file.
  • the storage management unit 22 can perform redundancy backup by dividing the first file and then performing redundancy backup in units of blocks, thereby further improving the redundancy efficiency and further improving the text. The safety and reliability of the pieces.
  • a 100MB file is 300% redundant overall, and will occupy 300MB of storage space, and the storage location is up to 3; and 100MB files are divided into 2 blocks of 50MB size, 300% redundancy.
  • its storage location can be up to six. The probability of failure of the three storage locations in which all of the six storage locations are stored is less than the probability that the three storage locations are completely invalid, and the reliability is greatly increased.
  • the storage management unit 22 performs the blocking and/or redundancy backup processing on the first file, the process in which the storage management unit 22 selects the first public cloud storage system for the first file actually stores the management unit 22 as the first file.
  • the foregoing predetermined technical means may be stored in a storage space of the storage management device, and the storage management unit 22 may be directly obtained from a storage space of the storage management device, or the storage management unit 22 may also be from another storage system. Get on.
  • FIG. 4 is a schematic structural diagram of a storage management apparatus according to another embodiment of the present invention. This embodiment is implemented based on the embodiment shown in FIG. As shown in FIG. 4, the apparatus of this embodiment includes, in addition to the instruction reception management unit 21, the storage management unit 22, and the read management unit 23, a status monitoring management unit 24.
  • the status monitoring management unit 24 is configured to periodically send a status monitoring command to each adapter, so that each adapter acquires current running status data of the corresponding public cloud storage system; and receives the current running of the corresponding public cloud storage system sent by each adapter. Status data, and monitor the running status of each public cloud storage system according to the current running status data of each public cloud storage system.
  • the status monitoring management unit 24 also stores current running status data of each public cloud storage system.
  • the running status data of each public cloud storage system is a major basis for measuring the running status and trend of each public cloud storage system and pre-discovering abnormal phenomena.
  • the running status of the public cloud storage system mainly refers to the response speed of the public cloud storage system, and the response speed includes the speed of storing the file and/or the speed of acquiring the file.
  • the running trend of the public cloud storage system mainly refers to the change trend of the response speed of the public cloud storage system. For example, the transmission speed of the storage file is changed from 200k/s to 100k/s, which indicates that the running trend is getting worse.
  • the operational status data of the public cloud storage system may include the public cloud storage system in addition to the response speed of the public cloud storage system. Available storage space, etc.
  • different public cloud storage systems provide different user interfaces.
  • Some public cloud storage systems provide a user interface for obtaining operational status data.
  • the state monitoring management unit 24 sends the status monitoring command to the corresponding adapter by timing, so that the adapter directly calls these user interfaces to obtain and return the current running state data of the public cloud storage system, and the state monitoring management unit 24 saves and uses the adapter to return.
  • the current operational status data of the public cloud storage system is Generally, different public cloud storage systems provide different user interfaces.
  • the state monitoring management unit 24 may convert or calculate current operating state data of the public cloud storage system returned by the adapter to form a unified indicator format, and then save and use.
  • the conversion or calculation mainly refers to the format conversion of the operation status data, the conversion of the unit, and the like.
  • the running status data given by different public cloud storage systems is different. Take the response speed as an example. Some public cloud storage systems give the number of bytes that can be transmitted per second. Some public cloud storage systems give The value of the capability in each bar is a conversion relationship between the capability value and the number of bytes that can be transmitted per second. Therefore, the state monitoring management unit 24 of the present embodiment manages various public cloud storages in a unified manner.
  • the operating state data of the system needs to be converted or calculated. This method of directly acquiring the running status data of the public cloud storage system and the storage space information corresponding to the user is called an objective monitoring mode.
  • the storage management device in this embodiment uses a heterogeneous public cloud storage system as a basic storage resource to store or read files on the public cloud storage system. Therefore, the service quality of each public cloud storage system directly determines the storage. The reliability of the management device to store or read files. Therefore, the storage management state of the embodiment monitors the running status of each public cloud storage system through the state monitoring management unit 24, so as to timely discover the abnormal function of the public cloud storage system, which is beneficial to ensure the reliability of file storage or reading.
  • the storage management apparatus of this embodiment further includes: a status test management unit 25.
  • the status test management unit 25 is configured to send a status test command to each adapter, so that each adapter stores the preset test files to the corresponding public cloud storage system; and receives the test files sent by the respective adapters in their respective public cloud storages.
  • the storage location on the system based on the time when the status test command is sent to each adapter and the time when the storage location of each test adapter is returned, the current operational status data of each public cloud storage system is calculated.
  • the state test management unit 25 calculates the current operation of each public cloud storage system. After the row status data, the current running status data of each public cloud storage system is stored.
  • the status test management unit 25 transmits a status test command to each adapter.
  • Each adapter stores a preset test file to the corresponding public cloud storage system according to the status test command, and receives a storage location of the test file returned by the public cloud storage system after completing the storage of the test file, and then the test file is The storage location is sent to the status test management unit 25.
  • the state test management unit 25 receives the storage location of the test file returned by each adapter, and calculates and acquires each public cloud storage system according to the time when the state test command is sent to each adapter and the time when the storage location of the test file returned by the plurality of adapters is received. Current operational status data.
  • the status test management unit 25 may record the time when the status test command is sent to each adapter at the beginning of the test, and when the storage location of the test file returned by each adapter is received, the time is recorded again, and the status test management unit 25 passes
  • the key metrics such as response time and response speed of each public cloud storage system can be calculated at the time of two recordings. The difference between the two times recorded is the response time.
  • the response file can be obtained by dividing the size of the test file by the response time. Since this embodiment is described by taking the storage test as an example, the response speed is the storage speed.
  • the user interface for external access to its operational status data may not be provided, or only the user interface for externally obtaining its partial operational status data may be provided, which is insufficient for the storage management of this embodiment.
  • the device monitors the operational status data required for its operational status.
  • the storage management device of the present embodiment simulates the use of the public cloud storage system by the user through the state test management unit 25, and obtains the running state data of each public cloud storage system by storing the actual execution status of the test file to the public cloud storage system, and further
  • the purpose of monitoring the running state of the public cloud storage system is to solve the problem of monitoring a public interface that does not provide a user interface for externally acquiring its running state data or providing a public cloud storage system with insufficient user interface. This way of obtaining the operational status data of the public cloud storage system through testing is called subjective monitoring.
  • the maximum storage space rented by the user on the public cloud storage system and the currently used storage space are also important for measuring the performance of the public cloud storage system. index. Specifically, if the storage space used by the user on the public cloud storage system reaches the maximum storage space rented by the user, the management device does not publicize the public storage system even if the operating state of the public cloud storage system is better or better. The cloud storage system is assigned to the user. Therefore, the storage management device can use similar acquisition public ownership The current running state data of the cloud storage system acquires the storage space information corresponding to the user. Based on the above, the storage management apparatus of this embodiment further includes: a reliability processing unit 26.
  • the reliability processing unit 26 is configured to determine a public cloud storage system that does not meet the reliability requirement and a publicity that meets the reliability requirement according to the running state historical data and the current running state data of each public cloud storage system in the plurality of public cloud storage systems.
  • a cloud storage system migrates files stored on a public cloud storage system that does not meet the reliability requirements to one or more public cloud storage systems that meet reliability requirements.
  • the reliability processing unit 26 is connected to the state monitoring management unit 24 and the state test management unit 25, and is configured to acquire current running state data and running state history of each public cloud storage system from the state monitoring management unit 24 or the state testing management unit 25. data.
  • the reliability processing unit 26 may determine, according to current operating state data of each public cloud storage system on the state monitoring management unit 24 or the state test management unit 25, each public cloud storage system. Whether the current running state data exceeds a preset state threshold range; determining a public cloud storage system that exceeds the state threshold range and a public cloud storage system that does not exceed the state threshold range, and then obtaining from the state monitoring management unit 24 or the state test management unit 25 When the status of the public cloud storage system exceeds the threshold of the state range, the public cloud storage system that exceeds the threshold is determined to be a public cloud storage system whose reliability does not meet the reliability requirements.
  • the reliability processing unit 26 determines that the current storage speed of the public cloud storage system exceeds a preset storage speed threshold range (eg, greater than the storage speed upper limit or less than the storage speed).
  • the lower limit the storage speed of the public cloud storage system in a period of time (that is, the historical storage speed) is obtained, and the storage speed of the public cloud storage system during the period is determined to be stable according to the obtained storage speed, if During the period of time, the storage speed of the public cloud storage system is gradually reduced or gradually increased, and the public cloud storage system whose reliability does not meet the reliability requirement is determined; in addition, if the public cloud storage system is located here If the storage speed in the segment time fluctuates greatly, it can also be determined as a public cloud storage system whose reliability does not meet the reliability requirements.
  • the reliability processing unit 26 determines whether the current running state data of each public cloud storage system exceeds a preset state threshold range, and determines whether an abnormality occurs in an operating state trend of each public cloud storage system according to a preset determining rule. .
  • a public cloud storage system matches a certain judgment rule, the public cloud storage system can be considered as a reliability that does not meet the reliability requirements.
  • the determining rule includes one or more data in the running state data as a judgment basis, and has a certain duration length. For example: "Storage rate ⁇ 10Kpbs and the ratio of available storage space ⁇ 50%, and lasts for 5 sample cycles".
  • the public cloud storage system satisfies the rule, it can be determined that it is a public cloud whose reliability does not meet the reliability requirements.
  • Storage System For example, if the operation of a public cloud storage system matches the rule, the public cloud storage system can be determined to be a public cloud storage system whose reliability does not meet the reliability requirement.
  • the files stored on the public cloud storage system are migrated to the public cloud storage system whose reliability meets the reliability requirements.
  • the file migration refers to a process of copying a file or a block file on a public cloud storage system that does not meet the reliability requirement to other public cloud storage systems that meet the reliability requirements.
  • files or chunked files are often redundant, files or chunked files can be obtained from public cloud storage systems that do not meet reliability requirements. If there is no redundancy in the file or chunk file, the reliability processing unit 26 may attempt to obtain the file or chunk file from the public cloud storage system that has been marked as not meeting the reliability requirements; then store the file or chunk file On other public cloud storage systems that meet reliability requirements.
  • the reliability processing unit 26 may also update the reliability status of each public cloud storage system. For example, when the public cloud storage system changes from satisfying the reliability requirement to not meeting the reliability requirement, the reliability status of the public cloud storage system is updated to be unreliable, and vice versa, the status is updated to be reliable.
  • the storage management device of the embodiment not only monitors the running status of each public cloud storage system, but also performs early warning and data migration processing on each public cloud storage system according to the monitoring result of the running status of each public cloud storage system. , further improve the security and reliability of documents.
  • the storage management unit 22 may use current state data of each public cloud storage system obtained by the state monitoring management unit 24 or the state test management unit 25 from multiple public cloud storage systems.
  • a first public cloud storage system for storing the first file is determined.
  • the storage management unit 22 is connected to the state monitoring management unit 24 and the state test management unit 25. Specifically, the storage management unit 22 determines the current running state from the plurality of public cloud storage systems according to the current running state data of each public cloud storage system.
  • the public cloud storage system is the first public cloud storage system.
  • the optimal operating state is based on current operating data.
  • the current running state data is the current response speed
  • the public cloud storage system with the fastest current response speed is considered to be the public cloud storage system with the best running state.
  • the current running state data includes both the current response speed and the currently available storage space
  • the public cloud storage system with the fastest current response speed and the largest available storage space is considered to be the best running public cloud storage system.
  • the manner of determining the current running state of the public cloud storage system according to the current running state data of the public cloud storage system is not limited to the above example, and may be defined according to the actual application.
  • the read management unit 23 may also determine to store the second file according to the current running state history data of each public cloud storage system obtained by the state monitoring management unit 24 or the state test management unit 25. Corresponding second storage location.
  • the read management unit 23 is connected to the status monitoring management unit 24 and the status test management unit 25.
  • FIG. 5 is a schematic structural diagram of an adapter according to an embodiment of the present invention. As shown in Fig. 5, the adapter of this embodiment includes: a receiving unit 31, a storage processing unit 32, and a reading processing unit 33.
  • the receiving unit 31 is connected to the storage management device and configured to receive an operation instruction sent by the storage management device.
  • the storage processing unit 32 is connected to the receiving unit 31 and the storage management device, and configured to store the first file to the first public cloud storage system to receive the first public cloud if the operation instruction received by the receiving unit 31 is a storage call command.
  • the first file returned by the storage system is in a first storage location on the first public cloud storage system, wherein the storage call command includes an identifier of the first file, and the first storage location is sent to the storage management device, so that the storage management device is
  • the file location table stores the correspondence between the identifier of the first file and the first storage location.
  • the storage call command is sent by the storage management device after determining the first public cloud storage system for storing the first file.
  • the store call command carries an identification of the first file to inform the storage processing unit 32 which file to store.
  • the storage management device determines the first public cloud storage system from the plurality of public cloud storage systems after receiving the storage instruction sent by the user interface device.
  • the storage instruction includes an identifier of the first file. After receiving the first storage location returned by the storage processing unit 32, the storage management device stores the correspondence between the identifier of the first file and the first storage location in the file location table.
  • the reading processing unit 33 is connected to the storage management device of the receiving unit 31 for receiving the receipt
  • the operation instruction received by the element 31 is a read call command
  • the second file is acquired from the second public cloud storage system according to the second storage location, and the second file is sent to the storage management device, wherein the read call command is stored
  • the management device sends the second storage location after determining the second storage location according to the identifier of the second file and the identifier of the file in the file location table and the storage location correspondence of the file.
  • the storage management device may obtain the identifier of the second file from the read command, and then according to the identifier of the second file and the identifier and file of the file in the file location table.
  • the storage location correspondence determines the second storage location.
  • the adapter of the embodiment cooperates with the storage management device provided in the foregoing embodiment, and can complete the conversion between the user interface provided by the file storage system and the user interface of the public cloud storage system, and provides a unified connection to the storage management device.
  • the file operation interface shields the differences caused by the user interfaces of different public cloud storage systems.
  • the access of the public cloud storage system can be handled by the adapter of the embodiment, and the existing public cloud storage system is used as a basic storage device, which is advantageous for simplifying the implementation and functions of the storage management device, and is relatively simple to construct.
  • the low-cost file storage system provides the conditions.
  • FIG. 6 is a schematic structural diagram of an adapter according to another embodiment of the present invention. This embodiment is implemented based on the embodiment shown in FIG. As shown in FIG. 6, the adapter of this embodiment includes, in addition to the receiving unit 31, the storage processing unit 32, and the reading processing unit 33, a state monitoring processing unit 34.
  • the status monitoring processing unit 34 is configured to be connected to the storage management device, and configured to periodically receive the status monitoring command sent by the storage management device, and invoke the user interface provided by the corresponding public cloud storage system for obtaining the running status data according to the status monitoring command.
  • the current running state data of the public cloud storage system is sent to the storage management device, so that the storage management device monitors the running state of the public cloud storage system corresponding to the adapter according to the current running state data. .
  • the state monitoring processing unit 24 by cooperating with the storage management device, obtains the current running state data of the corresponding public cloud storage system and returns to the storage management by calling the user interface provided by the public cloud storage system according to the state monitoring command sent by the storage management device.
  • the device enables the storage management device to monitor the running status of the public cloud storage system, which is beneficial to the reliability and security of the storage management device for storing or reading files based on the public cloud storage system.
  • the adapter of this embodiment further includes: a state test processing unit 35.
  • the state test processing unit 35 is connected to the storage management device, and configured to receive a state test command sent by the storage management device, and store the preset test file in the corresponding public cloud storage system according to the state test command, and receive the public cloud storage system. Returning the storage location of the test file; sending the storage location of the test file to the storage management device, so that the storage management device calculates the corresponding adapter according to the time of sending the test command and the time of receiving the returned test file storage location The current operational status data of the public cloud storage system.
  • the state test processing unit 25 cooperates with the storage management device to simulate the use of the public cloud storage system by the test file according to the state test command sent by the storage management device, so that the storage management device can obtain the current running state data of the public cloud storage system.
  • the running status of the public cloud storage system can be monitored, which is beneficial to improving the reliability and security of the file storage or reading of the storage management device based on the public cloud storage system.
  • the foregoing embodiments of the present invention have the following beneficial effects: 1. Using the public cloud storage system and the cloud computing technology as the basic storage device, there is no need to directly deal with the storage device and the storage network, and only need to use the adapter to process different public clouds. The access and monitoring of the storage system is based on the adapter. The storage management device only needs to implement the management of file storage and reading to construct a file storage system. The construction process is simple, easy to implement, and the implementation cost is low. Reliability guarantee provided by the cloud storage system, through the coordination and scheduling of multiple public cloud storage systems, a file storage system based on heterogeneous public cloud is constructed, and the constructed file storage system is more reliable; 3.
  • the storage system is not based on a private cloud storage system.
  • the storage management device does not need to have the ability to manage, virtualize, and maintain storage devices and networks. It only needs to store storage operations in the storage row and store the files after the files are stored. , file name, username, etc.
  • the corresponding relationship when the file is obtained, the storage location of the file is determined, and the corresponding adapter is called to perform the acquisition operation, so as to ensure the maximum reuse of the file management capability and the business capability when the system is upgraded; 4.
  • the following embodiments of the present invention illustrate the flow of the file storage operation performed by the file storage system provided by the embodiment of the present invention from the perspective of the storage management device 20 and the adapter 30, respectively.
  • FIG. 7 is a flowchart of a file access method according to an embodiment of the present invention. As shown in FIG. 7, the method in this embodiment includes: Step 701: The storage management device receives an operation instruction sent by the user interface device.
  • Step 702 The storage management device determines the type of the operation instruction. If the operation instruction is a storage instruction for storing the first file, step 703 is performed; if the operation instruction is a read instruction for reading the second file, step 704 is performed.
  • the storage instruction includes an identifier of the first file.
  • the identifier of the first file may be the name of the first file, a GUID or a URL, and the like.
  • the foregoing storage instruction may further include: information of the user, the size of the first file, and the like.
  • the user's identification may be a user name, a user's account number, etc., which can uniquely identify the user.
  • the read command includes an identifier of the second file.
  • the identifier of the second file may also be the name of the second file, a GUID or a URL, and the like.
  • the foregoing read command may further include information such as a user identifier.
  • Step 703 The storage management device determines, from the plurality of public cloud storage systems, a first public cloud storage system for storing the first file, and sends a storage call command to the first adapter corresponding to the first public cloud storage system, so that the first An adapter stores the first file to the first public cloud storage system, and receives the first storage location sent by the first adapter, and saves the correspondence between the identifier of the first file and the first storage location in the file location table, and ends the file. Storage operation.
  • the first storage location is sent by the first public cloud storage system to the first adapter, and the first adapter is sent to the storage management device.
  • the first storage location is a storage location of the first file on the first public cloud storage system.
  • the above file location table stores the correspondence between the identifier of the file and the storage location of the file.
  • the storage management device saves the correspondence between the identifier of the first file and the first storage location, so as to determine the storage location of the first file when the first file is read.
  • Step 704 The storage management device determines, according to the identifier of the second file, the identifier of the file in the file location table, and the storage location correspondence relationship of the file, the second storage location corresponding to the second file, and according to the second storage location,
  • the second adapter corresponding to the storage location sends a read call command, so that the second adapter acquires the second file from the second public cloud storage system according to the second storage location, and receives the second file sent by the second adapter, and the second file
  • the file is sent to the user interface device to end the file read operation.
  • the process of determining, by the storage management device, the first public cloud storage system for storing the first file from the multiple public cloud storage systems includes: the storage management device according to current operating state data of the multiple public cloud storage systems,
  • the public cloud storage system with the best running state is determined as the first public cloud storage system among the plurality of public cloud storage systems.
  • the current running status data of the public cloud storage system includes the current response speed of the public cloud storage system and/or the currently available storage space of the public cloud storage system.
  • the storage management device may specifically determine that the public cloud storage system with the fastest response speed is the public cloud storage system with the best running state.
  • the storage management device may specifically determine that the public cloud storage system with the largest available storage space is the public cloud storage system with the best running state.
  • the storage management device may specifically determine that the public cloud storage system with the fastest response speed and the largest available storage space is the public cloud storage system with the best running state.
  • the first file may be encrypted, partitioned, and/or redundantly processed.
  • the storage management device identifies and files according to the identifier of the second file and the file in the file location table.
  • the process of determining the storage location corresponding to the second storage location may include: the storage management device determining, according to the identifier of the second file and the correspondence between the identifier of the file in the file location table and the storage location of the file, All the public cloud storage systems that store the redundant backup of the second file or the second file, and determine the current public cloud storage system with the best running state according to the current running state data of all the public cloud storage systems.
  • the public cloud storage system acquires a storage location of the redundant backup of the second file or the second file on the second public cloud storage system as the second storage location.
  • the implementation manner of determining the current public cloud storage system with the best running state as the second public cloud storage system according to the current running state data of all the public cloud storage systems is determined by determining the public cloud storage with the best running state.
  • the system is a method in an embodiment of a first public cloud storage system.
  • the file access method of the embodiment further includes an operation of the storage management device to acquire current running state data of each public cloud storage system and monitor an operating state of each public cloud storage system based on the acquired current running state data.
  • An implementation of the operation specifically includes:
  • the storage management device periodically sends status monitoring commands to the respective adapters to enable the respective adapters to obtain current operating state data of the respective public cloud storage systems.
  • Each adapter invokes a user interface provided by the corresponding public cloud storage system for externally acquiring its running state data, and obtains current running state data of the corresponding public cloud storage system.
  • the storage management device receives the current running state data of the corresponding public cloud storage system sent by each adapter, and according to the current running state data of each public cloud storage system. Monitor the running status of each public cloud storage system.
  • the storage management device sends a status test command to each adapter to cause each adapter to store the preset test files to their respective public cloud storage systems.
  • the storage management device receives the storage locations of the test files sent by the respective adapters on their respective public cloud storage systems.
  • the storage management device calculates the current operational status data of each public cloud storage system based on the time when the status test command is sent to each adapter and the time at which each adapter returns the storage location of the test file.
  • the storage management device can monitor the running status of each public cloud storage system according to the calculated current running state data of each public cloud storage system.
  • the difference between the two times recorded is the response time, and the response speed can be obtained by dividing the size of the test message by the response time. Since the embodiment is described by taking the storage test as an example, the response speed is specifically the storage speed.
  • Reliability The operation of migrating files.
  • An implementation manner of the operation includes: the storage management device determines, according to the running state historical data and the current running state data of each public cloud storage system in the plurality of public cloud storage systems, the public cloud storage system that does not meet the reliability requirement and is reliable.
  • the file access method provided in this embodiment is implemented based on the file storage system and the storage management device provided by the embodiment of the present invention.
  • the description in the file storage system or the storage management device refer to the description in the file storage system or the storage management device, because the file in this embodiment
  • the storage system has low complexity of construction, so the complexity of file access is reduced to a certain extent, the efficiency of file access is improved, and the cost of file access is reduced.
  • FIG. 8 is a flowchart of a file access method according to another embodiment of the present invention. As shown in FIG. 8, the method in this embodiment includes:
  • Step 801 The adapter receives an operation instruction sent by the storage management device.
  • Step 802 The adapter determines the type of the operation instruction, if the operation instruction is a storage call command, executing step 803; if the operation instruction is a read call command, executing step Step 804.
  • Step 803 The adapter stores the first file to the first public cloud storage system, and receives the first storage location of the first file returned by the first public cloud storage system on the first public cloud storage system, and the first storage location Sending to the storage management device, so that the storage management device saves the correspondence between the identifier of the first file and the first storage location in the file location table, and ends the file storage operation.
  • the storage call command is sent by the storage management device after determining the first public cloud storage system from the plurality of public cloud storage systems according to the storage instruction.
  • the storage instruction is sent by the user subsystem to indicate that the first file is stored, and the storage instruction includes an identifier of the first file.
  • the storage call command also includes an identifier of the first file, which is used to tell the adapter which file to store.
  • the storage management device stores a correspondence between the identifier of the first file and the first storage location, so as to determine a storage location of the first file when the first file is read.
  • Step 804 The adapter acquires the second file from the second public cloud storage system according to the second storage location, and sends the second file to the storage management device to end the file reading operation.
  • the read command is sent by the storage management device according to the identifier of the second file and the identifier of the file in the file location table and the storage location of the file, and the second storage location is determined.
  • the operation data of each public cloud storage system is obtained and provided to the storage management device. The operation specifically includes:
  • the adapter periodically receives a status monitoring command sent by the storage management device.
  • the adapter invokes the user interface provided by the public cloud storage system corresponding to the adapter to obtain the running state data, and obtains the current running state data of the corresponding public cloud storage system.
  • the adapter sends the acquired current running state data of the corresponding public cloud storage system to the storage management device, so that the storage management device monitors the running state of the public cloud storage system corresponding to the adapter according to the obtained current running state data.
  • the file access method of the embodiment further includes the adapter emulating the operation of storing the file on the public cloud storage system according to the state test command of the storage management device, so that the storage management device acquires the current running state of the public cloud storage system corresponding to the adapter.
  • the operation of the data Specifically include:
  • the adapter receives a status test command sent by the storage management device.
  • the adapter stores the preset test file to the public cloud storage system corresponding to the adapter according to the status test command, and receives the storage location of the test file returned by the corresponding public cloud storage system.
  • the adapter sends the storage location of the test file returned by the public cloud storage system to the storage management device, so that the storage management device sends the status test command to the adapter according to the time and the storage location of the test file returned by the adapter. Calculate the current running status data of the public cloud storage system corresponding to the adapter.
  • the file access method provided in this embodiment is implemented based on the file storage system, the storage management device, and the adapter provided by the embodiment of the present invention.
  • the file storage system of the embodiment is constructed.
  • the complexity is low, so the complexity of file access is reduced to a certain extent, the efficiency of file access is improved, and the cost of file access is reduced.
  • the aforementioned program can be stored in a computer readable storage medium.
  • the program when executed, performs the steps including the above-described method embodiments; and the foregoing storage medium includes: a medium that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供一种文件存储系统、装置及文件存取方法。其中,系统包括:存储管理装置和适配器;存储管理装置用于接收用户接口装置发送的操作指令,根据操作指令向适配器发送调度命令;适配器根据调用命令控制公有云存储系统对文件进行存储或读取操作并返回操作结果。本发明技术方案基于现有的公有云存储和云计算技术实现、具有构建复杂度较低,易于实现的优点。

Description

文件存储系统、 装置及文件存取方法 本申请要求于 2012年 5月 28 日提交中国专利局、 申请号为
201210168019. 8 , 发明名称为 "文件存储系统、 装置及文件存取方法" 的 中国专利申请的优先权, 其全部内容通过引用结合在本申请中。
技术领域
本发明涉及存储技术, 尤其涉及一种文件存储系统、 装置及文件存取 方法。 背景技术
"云计算" 自诞生以后, 越来越多的服务提供商推出了云计算服务, 越来越多的用户使用了云计算服务, 并享受了云计算带来的核心价值: 低 成本的构建业务。
云存储服务, 是将存储空间作为资源的一种云计算模式, 它能够实现 用户对存储空间的按需取用, 再也不用去担心信息技术 (Information Technology, IT )设备的存储空间枯竭问题。 云存储服务的大量出现, 也使 得构建低成本的文件存储系统成为可能。
直接在共有云存储服务提供的能力上构建文件存储系统, 是最简洁的 方案。 但对于企业而言, 最关心的问题是数据资产的安全可靠。 但事实证 明, 各个云存储服务实际的表现都未达到用户期望的标准。 因此, 私有云 存储是目前应用云存储技术构建文件存储系统的主流方案。
私有云存储构建在企业自有的基础设施之上, 并只对企业内部用户开 放, 因此企业可获取存储系统的控制权, 并能一定限度的重用企业已有的 存储资源。 私有云存储是一个由网络、 存储设备、 服务器、 应用软件、 公 用访问接口和客户端程序等多个部分组成的复杂系统。 各部分以存储设备 为核心, 通过应用软件对外提供数据存储和业务访问服务。 构建上述私有 云存储系统, 需要企业拥有足够的、 可进行虚拟化的存储设备及场地, 并 且搭建连接各个存储设备的网络, 然后在此基础上依次部署运行基础设施 层、 管理层和应用接口层的各个模板。 由此可见, 私有云存储系统的构建 比较复杂, 实现比较困难。 发明内容 本发明实施例提供一种文件存储系统、 装置及文件存取方法, 用以降 低构建文件存储系统的复杂度, 提高文件存储系统的可实现性。
本发明实施例一方面提供一种文件存储系统, 包括: 存储管理装置和 适配器;
所述存储管理装置, 用于接收用户接口装置发送的操作指令, 如果所 述操作指令为存储第一文件的存储指令, 所述存储指令包括所述第一文件 的标识, 则从多个公有云存储系统中确定用于存储所述第一文件的第一公 有云存储系统, 向与所述第一公有云存储系统对应的第一适配器发送存储 调用命令, 以使所述第一适配器将所述第一文件存储到所述第一公有云存 储系统, 并接收所述第一适配器发送的第一存储位置, 并在文件位置表中 保存所述第一文件的标识和所述第一存储位置的对应关系, 其中, 所述第 一存储位置由所述第一公有云存储系统发送给所述第一适配器, 所述第一 存储位置为所述第一文件在所述第一公有云存储系统上的存储位置, 所述 文件位置表中保存了文件的标识和文件的存储位置的对应关系; 如果所述 操作指令为读取第二文件的读取指令, 所述读取指令包括所述第二文件的 标识, 则根据所述第二文件的标识和所述文件位置表中文件的标识和文件 的存储位置对应关系, 确定存储所述第二文件对应的第二存储位置, 并根 据所述第二存储位置, 向与所述第二存储位置对应的第二适配器发送读出 调用命令, 以使所述第二适配器根据所述第二存储位置从第二公有云存储 系统获取所述第二文件, 接收所述第二适配器发送的所述第二文件, 并将 所述第二文件发送给所述用户接口装置;
所述适配器, 用于接收所述存储管理装置发送的操作指令; 如果所述 操作指令为存储调用命令, 则将第一文件存储到第一公有云存储系统, 接 收所述第一公有云存储系统返回的所述第一文件在所述第一公有云存储系 统上的第一存储位置, 其中所述存储指令包括第一文件的标识; 并将所述 第一存储位置发送给所述存储管理装置, 以使所述存储管理装置在文件位 置表中保存所述第一文件的标识和所述第一存储位置的对应关系; 如果所 述操作指令为读出调用命令, 则根据第二存储位置从第二公有云存储系统 获取第二文件, 并将所述第二文件发送给所述存储管理装置, 其中, 所述 读出调用命令是所述存储管理装置根据所述第二文件的标识和所述文件位 置表中文件的标识和文件的存储位置对应关系, 确定出所述第二存储位置 后发送的。
如上所述文件存储系统, 还包括: 用户接口装置, 用于接收指令输入 设备输入的存储第一文件的存储指令, 将所述存储指令发送给所述存储管 理装置, 以使所述存储管理装置根据所述存储指令对所述第一文件进行存 储操作, 所述存储指令包括所述第一文件的标识; 或者接收所述指令输入 设备输入的读取第二文件的读取指令, 将所述读取指令发送给所述存储管 理装置, 以使所述存储管理装置对所述第二文件进行读取操作, 并接收所 述存储管理装置返回的所述第二文件, 所述读取指令包括所述第二文件的 标识。
本发明实施例另一方面提供一种存储管理装置, 包括:
指令接收管理单元, 用于接收用户接口装置发送的操作指令; 存储管理单元, 用于如果所述操作指令为存储第一文件的存储指令, 所述存储指令包括所述第一文件的标识; 从多个公有云存储系统中确定用 于存储所述第一文件的第一公有云存储系统, 向与所述第一公有云存储系 统对应的第一适配器发送存储调用命令, 以使所述第一适配器将所述第一 文件存储到所述第一公有云存储系统, 并接收所述第一适配器发送的第一 存储位置, 并在文件位置表中保存所述第一文件的标识和所述第一存储位 置的对应关系, 其中, 所述第一存储位置由所述第一公有云存储系统发送 给所述第一适配器, 所述第一存储位置为所述第一文件在所述第一公有云 存储系统上的存储位置, 所述文件位置表中保存了文件的标识和文件的存 储位置的对应关系;
读取管理单元, 用于如果所述操作指令为读取第二文件的读取指令, 所述读取指令包括所述第二文件的标识, 则根据所述第二文件的标识和所 述文件位置表中文件的标识和文件的存储位置对应关系, 确定存储所述第 二文件对应的第二存储位置, 并根据所述第二存储位置, 向与所述第二存 储位置对应的第二适配器发送读出调用命令, 以使所述第二适配器根据所 述第二存储位置从第二公有云存储系统获取所述第二文件, 接收所述第二 适配器发送的所述第二文件, 并将所述第二文件发送给所述用户接口装置。 如上所述存储管理装置, 还包括: 状态监测管理单元, 用于定时向各 个适配器发送状态监测命令, 以使所述各个适配器获取各自对应的公有云 存储系统的当前运行状态数据; 接收所述各个适配器发送的各自对应的公 有云存储系统的当前运行状态数据, 并根据所述各个公有云存储系统的当 前运行状态数据, 监控所述各个所述公有云存储系统的运行状态。
如上所述存储管理装置, 还包括: 状态测试管理单元, 用于向各个适 配器发送状态测试命令, 以使所述各个适配器将预设的测试文件存储到各 自对应的公有云存储系统; 接收所述各个适配器发送的所述测试文件在各 自对应的公有云存储系统上的存储位置; 根据向所述各个适配器发送所述 状态测试命令的时间和接收到所述各个适配器返回所述测试文件的存储位 置的时间, 计算得到所述各个公有云存储系统的当前运行状态数据。
如上所述存储管理装置, 还包括: 可靠性处理单元, 用于根据多个公 有云存储系统中各个公有云存储系统的运行状态历史数据和当前运行状态 数据, 确定不满足可靠性要求的公有云存储系统和满足可靠性要求的公有 云存储系统, 将所述不满足可靠性要求的公有云存储系统上存储的文件迁 移到一个或多个所述满足可靠性要求的公有云存储系统上。
本发明实施例又一方面提供一种适配器, 包括:
接收单元, 用于接收存储管理装置发送的操作指令;
存储处理单元, 用于如果所述操作指令为存储调用命令, 则将第一文 件存储到第一公有云存储系统, 接收所述第一公有云存储系统返回的所述 第一文件在所述第一公有云存储系统上的第一存储位置, 其中所述存储调 用命令包括第一文件的标识, 并将所述第一存储位置发送给所述存储管理 装置, 以使所述存储管理装置在文件位置表中保存所述第一文件的标识和 所述第一存储位置的对应关系;
读取处理单元, 用于如果所述操作指令为读出调用命令, 则根据第二 存储位置从第二公有云存储系统获取第二文件, 并将所述第二文件发送给 所述存储管理装置, 其中, 所述读出调用命令是所述存储管理装置根据所 述第二文件的标识和所述文件位置表中文件的标识和文件的存储位置对应 关系, 确定出所述第二存储位置后发送的。
如上所述适配器, 还包括: 状态监测处理单元, 用于定时接收所述存 储管理装置发送的状态监测命令; 根据所述状态监测命令, 调用对应的公 有云存储系统提供的供获取运行状态数据使用的用户接口, 获取所述公有 云存储系统的当前运行状态数据; 并将所述对应的公有云存储系统的当前 运行状态数据发送给所述存储管理装置, 以使所述存储管理装置根据所述 当前运行状态数据监控所述适配器对应的公有云存储系统的运行状态。
如上所述适配器, 还包括: 状态测试处理单元, 用于接收所述存储管 理装置发送的状态测试命令; 根据所述状态测试命令, 将预设的测试文件 存储到对应的公有云存储系统, 并接收所述公有云存储系统返回的所述测 试文件的存储位置; 将所述测试文件的存储位置发送给所述存储管理装置, 以使所述存储管理装置根据发送所述状态测试命令的时间和接收到返回的 所述测试文件的存储位置的时间, 计算获得所述适配器对应的公有云存储 系统的当前运行状态数据。
本发明实施例又一方面提供一种文件存取方法, 包括:
存储管理装置接收用户接口装置发送的操作指令;
如果所述操作指令为存储第一文件的存储指令, 所述存储指令包括所 述第一文件的标识; 所述存储管理装置从多个公有云存储系统中确定用于 存储所述第一文件的第一公有云存储系统, 向与所述第一公有云存储系统 对应的第一适配器发送存储调用命令, 以使所述第一适配器将所述第一文 件存储到所述第一公有云存储系统, 并接收所述第一适配器发送的第一存 储位置, 并在文件位置表中保存所述第一文件的标识和所述第一存储位置 的对应关系, 其中, 所述第一存储位置由所述第一公有云存储系统发送给 所述第一适配器, 所述第一存储位置为所述第一文件在所述第一公有云存 储系统上的存储位置, 所述文件位置表中保存了文件的标识和文件的存储 位置的对应关系;
如果所述操作指令为读取第二文件的读取指令, 所述读取指令包括所 述第二文件的标识, 所述存储管理装置根据所述第二文件的标识和所述文 件位置表中文件的标识和文件的存储位置对应关系, 确定存储所述第二文 件对应的第二存储位置, 并根据所述第二存储位置, 向与所述第二存储位 置对应的第二适配器发送读出调用命令, 以使所述第二适配器根据所述第 二存储位置从第二公有云存储系统获取所述第二文件, 接收所述第二适配 器发送的所述第二文件, 并将所述第二文件发送给所述用户接口装置。
如上所述文件存取方法, 所述存储管理装置从多个公有云存储系统中 确定用于存储所述第一文件的第一公有云存储系统包括: 所述存储管理装 置根据所述多个公有云存储系统的当前运行状态数据, 从所述多个公有云 存储系统中确定当前运行状态最佳的公有云存储系统作为所述第一公有云 存储系统; 所述当前运行状态数据包括公有云存储系统的当前响应速度和 / 或公有云存储系统的当前可用存储空间。
如上所述文件存取方法, 所述向与所述第一公有云存储系统对应的第 一适配器发送第一存储调用命令存储调用命令之前, 还包括: 对所述第一 文件进行加密、 分块和 /或冗余处理。
如上所述文件存取方法, 所述第二文件有冗余备份, 并且所述第二文 件的冗余备份存储在一个以上的公有云存储系统, 所述存储管理装置根据 所述第二文件的标识和所述文件位置表中文件的标识和文件的存储位置对 应关系, 确定存储所述第二文件对应的第二存储位置, 包括: 所述存储管 理装置根据所述第二文件的标识和所述文件位置表中文件的标识和文件的 存储位置对应关系, 确定所有存储有所述第二文件或所述第二文件的冗余 备份的公有云存储系统, 并根据所述所有公有云存储系统的当前运行状态 数据, 确定当前运行状态最佳的公有云存储系统为第二公有云存储系统, 获取所述第二文件或所述第二文件的冗余备份在所述第二公有云存储系统 上的存储位置作为所述第二存储位置。
如上所述文件存取方法, 还包括: 所述存储管理装置定时向各个适配 器发送状态监测命令, 以使所述各个适配器获取各自对应的公有云存储系 统的当前运行状态数据;
接收所述各个适配器发送的各自对应的公有云存储系统的当前运行状 态数据, 并根据所述各个公有云存储系统的当前运行状态数据, 监控所述 各个公有云存储系统的运行状态。
如上所述文件存取方法, 还包括: 所述存储管理装置向各个适配器发 送状态测试命令, 以使所述各个适配器将预设的测试文件存储到各自对应 的公有云存储系统;
接收所述各个适配器发送的所述测试文件在各自对应的公有云存储系 统上的存储位置;
根据向所述各个适配器发送所述状态测试命令的时间和接收到所述各 个适配器返回所述测试文件的存储位置的时间, 计算得到所述各个公有云 存储系统的当前运行状态数据。
如上所述文件存取方法, 还包括: 所述存储管理装置根据多个公有云 存储系统中各个公有云存储系统的运行状态历史数据和当前运行状态数 据, 确定不满足可靠性要求的公有云存储系统和满足可靠性要求的公有云 存储系统, 将所述不满足可靠性要求的公有云存储系统上存储的文件迁移 到一个或多个所述满足可靠性要求的公有云存储系统上。
本发明实施例又一方面提供一种文件存取方法, 包括:
适配器接收存储管理装置发送的操作指令;
如果所述操作指令为存储调用命令, 所述适配器将第一文件存储到第 一公有云存储系统, 接收所述第一公有云存储系统返回的所述第一文件在 所述第一公有云存储系统上的第一存储位置, 其中所述存储调用命令包括 第一文件的标识, 并将所述第一存储位置发送给所述存储管理装置, 以使 所述存储管理装置在文件位置表中保存所述第一文件的标识和所述第一存 储位置的对应关系;
如果所述操作指令为读出调用命令, 所述适配器根据第二存储位置从 第二公有云存储系统获取第二文件, 并将所述第二文件发送给所述存储管 理装置, 其中, 所述读出调用命令是所述存储管理装置根据所述第二文件 的标识和所述文件位置表中文件的标识和文件的存储位置对应关系, 确定 出所述第二存储位置后发送的。
如上所述文件存取方法, 还包括: 所述适配器定时接收所述存储管理 装置发送的状态监测命令;
根据所述状态监测命令, 调用所述适配器对应的公有云存储系统提供 的供获取运行状态数据使用的用户接口, 获取所述公有云存储系统的当前 运行状态数据;
所述适配器将所述对应的公有云存储系统的当前运行状态数据发送给 所述存储管理装置, 以使所述存储管理装置根据所述当前运行状态数据监 控所述适配器对应的公有云存储系统的运行状态。
如上所述文件存取方法, 还包括: 所述适配器接收所述存储管理装置 发送的状态测试命令;
根据所述状态测试命令, 将预设的测试文件存储到所述适配器对应的 公有云存储系统, 并接收所述公有云存储系统返回的所述测试文件的存储 位置;
将所述测试文件的存储位置发送给所述存储管理装置, 以使所述存储 管理装置根据向所述适配器发送所述状态测试命令的时间和接收到所述适 配器返回的所述测试文件的存储位置的时间, 计算获得所述适配器对应的 公有云存储系统的当前运行状态数据。
本发明实施例提供的文件存储系统、 存储管理装置及适配器, 通过利 用现有异构公有云存储系统, 以现有异构公有云存储系统为存储设备, 构 建包括存储管理装置和适配器的文件存储系统; 存储管理装置只需确定存 储文件的公有云存储系统或确定出文件的存储位置, 而适配器实现与公有 云存储系统接口功能的转换, 使得使用多个异构公有云存储系统作为存储 设备成为了可能, 实现了以异构公有云存储系统为存储设备构建的文件存 储系统。 与现有技术中的私有云存储系统相比, 本发明实施例的文件存储 系统不需要进行存储设备、 网络设备等固定资产的投资, 不需要场地建设, 也不需要对存储设备等基础设备进行维护, 因此, 极大地降低了构建文件 存储系统的复杂度, 提高文件存储系统的可实现性。
本发明实施例提供的文件存取方法, 基于本发明实施例提供的文件存 储系统实现, 由于本发明实施例的文件存储系统的构建复杂度较低, 所以 在一定程度上降低了文件存取的复杂度, 有利于提高文件的存取效率。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对 实施例或现有技术描述中所需要使用的附图作一简单地介绍, 显而易见地, 下面描述中的附图是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。
图 1为本发明一实施例提供的文件存储系统的结构示意图;
图 2为本发明另一实施例提供的文件存储系统的结构示意图; 图 3为本发明一实施例提供的存储管理装置的结构示意图;
图 4为本发明另一实施例提供的存储管理装置的结构示意图; 图 5为本发明一实施例提供的适配器的结构示意图;
图 6为本发明另一实施例提供的适配器的结构示意图; 图 7为本发明一实施例提供的文件存取方法的流程图; 图 8为本发明另一实施例提供的文件存取方法的流程图。 具体实施方式 为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本 发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描 述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提 下所获得的所有其他实施例, 都属于本发明保护的范围。
图 1为本发明一实施例提供的文件存储系统的结构示意图。 如图 1所 示, 本实施例的文件存储系统包括: 存储管理装置 20和适配器 30。
存储管理装置 20 , 用于接收用户接口装置发送的操作指令, 如果所述 操作指令为存储第一文件的存储指令, 所述存储指令包括第一文件的标识, 则从多个公有云存储系统中确定用于存储第一文件的第一公有云存储系 统, 向与第一公有云存储系统对应的第一适配器发送存储调用命令, 以使 第一适配器将第一文件存储到第一公有云存储系统, 并接收第一适配器发 送的第一存储位置, 并在文件位置表中保存第一文件的标识和第一存储位 置的对应关系, 其中, 第一存储位置由第一公有云存储系统发送给第一适 配器, 第一存储位置为第一文件在第一公有云存储系统上的存储位置, 文 件位置表中保存了文件的标识和文件的存储位置的对应关系; 如果所述操 作指令为读取第二文件的读取指令, 所述读取指令包括第二文件的标识, 则根据第二文件的标识和文件位置表中文件的标识和文件的存储位置对应 关系, 确定存储第二文件对应的第二存储位置, 并根据第二存储位置, 向 与第二存储位置对应的第二适配器发送读出调用命令, 以使第二适配器根 据第二存储位置从第二公有云存储系统获取第二文件, 接收第二适配器发 送的第二文件, 并将第二文件发送给用户接口装置。
可选的, 上述存储指令除了包括第一文件的标识, 还可以包括用户的 标识以及第一文件的大小等其他信息。 上述读取指令除了包括第二文件的 标识, 还可以包括用户的标识。 用户的标识可以是用户名、 用户的账号等。 第一文件的标识可以是第一文件的名称、 全局唯一标识 (Globally Unique Identifier, GUID )、 统一资源定位符 ( Uniform/Universal Resource Locator, URL ) ,但不限于此。第二文件的标识可以是第二文件的名称、 GUID、 URL, 也不限于此。
由上述可见, 本实施例的文件存储系统以基于现有技术中的公有云存 储系统作为基础设备, 对公有云存储系统中的物理存储设备和网络的管理、 虚拟化、 监控、 维护等操作均有公有云存储系统进行, 本实施例的存储管 理装置 20不需要具有与基础设施紧密相关的网格计算、 分布式系统管理、 储系统, 调用相应的适配器执行存储操作, 在文件完成存储之后存储文件 的存储位置与文件的标识的对应关系, 在获取文件时确定文件的存储位置 以及调用相应适配器执行获取操作即可, 由此可见, 本实施例的存储管理 子系统具有功能简单、 易于实现的优点, 有利于降低本实施例的文件存储 系统的构建复杂度。
适配器 30, 与存储管理装置 20和公有云存储系统连接, 用于接收存储 管理装置 20发送的操作指令; 如果所述操作指令为存储调用命令, 则将第 一文件存储到第一公有云存储系统, 接收第一公有云存储系统返回的第一 文件在第一公有云存储系统上的第一存储位置, 其中所述存储调用命令包 括第一文件的标识; 并将第一存储位置发送给存储管理装置 20 , 以使存储 管理装置 20在文件位置表中保存第一文件的标识和第一存储位置的对应关 系; 如果所述操作指令为读出调用命令, 则根据第二存储位置从第二公有 云存储系统获取第二文件, 并将第二文件发送给存储管理装置 20, 其中, 读出调用命令是存储管理装置 20根据第二文件的标识和文件位置表中文件 的标识和文件的存储位置对应关系, 确定出第二存储位置后发送的。
本实施例的文件存储系统可以包括至少一个适配器 30 (附图中仅示出 1个) , 每个适配器 30分别对应一个公有云存储系统。 具体的, 适配器 30 主要通过调用本实施例的文件存储系统内部的用户接口以及公有云存储系 统提供的用户接口完成对第一文件的存储或对第二文件的读取。 但是, 由 于本实施例的文件存储系统与公有云存储系统使用的协议可能不同, 所支 持的数据格式也可能不同, 因此本实施例中的适配器 30还具有对本实施例 文件存储系统提供的用户接口与公有云存储系统提供的用户接口进行转换 的功能, 即将本实施例的文件存储系统内部的用户接口, 转换为所使用的 公有云存储系统所支持的用户接口, 然后调用转换后的用户接口完成对文 件的读取操作。 所述转换主要包括用户接口所使用协议的转换和用户接口 所使用的数据格式的转换。 其中, 各个公有云存储系统的接口都是用户接 口。 这里的用户接口是指本实施例文件存储系统或公有云存储系统提供给 用户使用户能够完成文件存储或读取操作的接口。
举例说明, 本实施例的适配器 30可以是 S3适配器、 网盘适配器或云 数据管理接口 (Cloud Data Management Interface, CDMI )适配器等。
在本实施例中, 文件存储系统通过不同的适配器 30与不同提供商提供 的异构的公有云存储系统进行交互, 使用不同公有云存储系统提供的存储 能力。 对存储管理装置 20而言, 适配器 30实现了统一的文件操作接口, 屏蔽了不同公有云存储系统的用户接口带来的差异性, 便于存储管理装置 20在不同公有云存储系统之间进行统一调度。
由上述可见, 本实施例的文件存储系统的基础存储能力建立在现有的 公有云存储系统之上, 不需要直接与存储设备和存储网络打交道, 例如不 需要用户自己购置存储设备、 搭建网络、 运行并维护自己的存储基础设施, 只需使用适配器处理不同公有云存储系统的接入即可, 构建过程相对简单, 而且不直接与存储设备和存储网络打交道, 可以大量节省系统构建的成本 和运行维护的成本。
图 2为本发明另一实施例提供的文件存储系统的结构示意图。 本实施 例基于图 1所示实施例实现。 如图 2所示, 本实施例的系统除了包括存储 管理装置 20和适配器 30之外, 还包括用户接口装置 10。
用户接口装置 10, 与存储管理装置 20连接, 用于接收指令输入设备输 入的存储第一文件的存储指令, 将存储指令发送给存储管理装置 20, 以使 存储管理装置 20根据存储指令对第一文件进行存储操作, 存储指令包括第 一文件的标识; 或者接收指令输入设备输入的读取第二文件的读取指令, 将读取指令发送给存储管理装置 20 ,以使存储管理装置 20对第二文件进行 读取操作, 并接收存储管理装置 20返回的第二文件, 读取指令包括第二文 件的标识。
在此说明, 本实施例的用户接口装置 10主要是为指令输入设备提供接 口, 例如可以是客户端、 用户界面或各种应用程序编程接口 ( Application Programming Interface, API ) 。 其中, 指令输入设备可以是用户的终端设 备, 例如个人计算机、 手机、 平板电脑, 瘦客户端等, 但不限于此。 具体 的, 用户通过指令输入设备的界面或输入装置等向用户接口装置 10输入存 储指令或读取指令。
可选的, 本实施例的用户接口装置 10可以在一台设备上实现, 也可以 在多台设备上实现, 具体视应用需求而定。 例如, 如果文件存储系统是面 向一个企业的, 则该企业内部的各设备上均可以作为用户接口装置 10 , 以 方便进行文件的读取操作。
在此说明, 本实施例的存储管理装置 20可以部署在一台设备上, 也可 以部署在多台设备上。 换句话说, 本实施例的存储管理装置 20可由一台设 备实现, 也可以由多台设备联合实现。
另外, 本实施例的适配器 30可以部署在一台设备上, 也可以部署在多 台设备上。
再者, 本实施例中的用户接口装置 10、 存储管理装置 20和适配器 30 可以部署在同一设备上, 也可以部署在多台设备上。 换句话说, 本实施例 中的用户接口装置 10、 存储管理装置 20和适配器 30可以是同一设备, 也 可以是不同的设备。
图 3为本发明一实施例提供的存储管理装置的结构示意图。 如图 3所 示, 本实施例的装置包括: 指令接收管理单元 21、 存储管理单元 22和读取 管理单元 23。
其中, 指令接收管理单元 21 , 用于接收用户接口装置发送的操作指令。 可选的, 用户接口装置可以接收指令输入设备输入的存储第一文件的 存储指令, 将存储指令发送给存储管理装置的指令接收管理单元 21 ; 或者, 用户接口装置可以接收指令输入设备输入的读取第二文件的读取指令, 将 读取指令发送给存储管理装置的指令接收管理单元 21。 基于此, 指令接收 管理单元 21接收到的操作指令可以是存储指令或读取指令。 其中, 用户接 口装置主要用于为指令输入设备提供接口, 例如可以是客户端、 用户界面 或各种 APL其中,指令输入设备可以是用户的终端设备,例如个人计算机、 手机、 平板电脑, 瘦客户端等, 但不限于此。
存储管理单元 22, 与指令接收管理单元 21连接, 用于如果指令接收管 理单元 21接收到的操作指令为存储第一文件的存储指令, 存储指令包括第 一文件的标识; 从多个公有云存储系统中确定用于存储第一文件的第一公 有云存储系统, 向与第一公有云存储系统对应的第一适配器发送存储调用 命令, 以使第一适配器将第一文件存储到第一公有云存储系统, 并接收第 一适配器发送的第一存储位置, 并在文件位置表中保存第一文件的标识和 第一存储位置的对应关系, 其中, 第一存储位置由第一公有云存储系统发 送给第一适配器, 第一存储位置为第一文件在第一公有云存储系统上的存 储位置, 文件位置表中保存了文件的标识和文件的存储位置的对应关系。
可选的, 上述存储指令除了包括第一文件的标识, 还可以包括用户的 标识以及第一文件的大小等其他信息。 用户的标识可以是用户名、 用户的 账号等。 第一文件的标识可以是第一文件的名称、 GUID或 URL, 但不限 于此。 相应的, 存储管理单元除了将第一文件的标识和第一文件的存储位 置的对应关系保存到文件位置表中之外, 还可以保存第一文件的标识与第 一文件的大小、 用户的标识等信息之间的对应关系。
读取管理单元 23 , 与指令接收管理单元 21连接, 用于如果指令接收管 理单元 21接收到的操作指令为读取第二文件的读取指令, 读取指令包括第 二文件的标识, 则根据第二文件的标识和文件位置表中文件的标识和文件 的存储位置对应关系, 确定存储第二文件对应的第二存储位置, 并根据第 二存储位置, 向与第二存储位置对应的第二适配器发送读出调用命令, 以 使第二适配器根据第二存储位置从第二公有云存储系统获取第二文件, 接 收第二适配器发送的第二文件, 并将第二文件发送给用户接口装置。
可选的, 上述读取指令除了包括第二文件的标识, 还可以包括用户的 标识。 用户的标识可以是用户名、 用户的账号等。 第二文件的标识可以是 第二文件的名称、 GUID或 URL, 但不限于此。
在本实施例的一个可选实施方式中, 存储管理单元 22或读取管理单元 23在执行存储或读取文件的操作之前, 可以根据用户的标识对用户进行鉴 权, 以提高文件的可靠性或安全性。 该鉴权过程具体可以是: 指令接收管 理单元 21接收到用户接口装置发送的操作指令后, 向存储管理单元 22或 读取管理单元 23发送鉴权请求,该鉴权请求包括用户的标识和文件的标识; 存储管理单元 22或读取管理单元 23根据用户的标识和文件的标识对用户 进行鉴权, 并向指令接收管理单元 21返回鉴权结果。 其中, 存储管理单元 22或读取管理单元 23根据用户的标识和文件的标识对用户进行鉴权的过程 主要是判断用户是否具有对该文件进行相应操作 (例如读取或存储) 的权 限。 当鉴权结果为通过时, 指令接收管理单元 21向存储管理单元 22或读 取管理单元 23发送上述操作指令。
具体来说, 如果用户需要存储第一文件, 则通过上述对用户进行鉴权 的过程有利于提高文件存储系统所存储的文件的可靠性和安全性; 如果用 户需要读取第二文件, 则通过上述对用户进行鉴权的过程有利于保证文件 存储系统所存储的文件的安全性。
由上述可见, 本实施例的存储管理装置不需要具有与基础设施紧密相 关的网格计算、 分布式系统管理、 集群管理等功能, 只需在存储文件时确 定用于存储待存储文件的公有云存储系统, 调用相应的适配器执行存储操 作, 在文件完成存储之后存储文件的存储位置与文件的标识的对应关系, 在获取文件时确定文件的存储位置以及调用相应适配器执行获取操作即 可, 具有功能简单、 易于实现的优点。 进一步, 如果使用本实施例提供的 存储管理装置构建文件存储系统, 构建复杂度较低, 易于实现。
在本实施例的一个可选实施方式中, 存储管理单元 22向与第一公有云 存储系统对应的第一适配器发送存储调用命令, 以使第一适配器将第一文 件存储到第一公有云存储系统之前, 可以根据预先设定的用于提高文件的 安全性和可靠性的技术手段对第一文件进行安全处理操作。 所述技术手段 或安全处理操作包括但不限于: 对第一文件进行加密、 分块和冗余处理。 下面举例说明, 存储管理单元 22对第一文件的安全处理操作。
例如, 如果技术手段是对第一文件进行加密, 则存储管理单元 22可以 使用上述技术手段提供的加密算法对第一文件进行加密。 对第一文件进行 加密后再进行存储, 有利于提高第一文件的安全性。
又例如, 如果技术手段是对第一文件进行加密和分块处理, 则存储管 理单元 22首先使用上述技术手段提供的加密算法对第一文件进行加密, 然 后根据上述技术手段提供的分块策略将加密后的第一文件进行分块, 形成 多个分块文件。 所述分块策略主要包括依据第一文件的大小对第一文件进 行分块, 将第一文件分为多少块、 每块的大小等信息。 当第一文件被分为 多个分块文件后, 每个分块文件都将被作为独立的文件进行存储。 这样不 同的分块文件可能会被存储到不同的公有云存储系统上。 如果某个公有云 存储系统上的分块文件被盗窃, 由于盗取的只是第一文件的一部分所以无 法识别, 有利于提高第一文件的安全性; 如果某个公有云存储系统损坏或 被破坏造成其上存储的文件丟失, 也只能造成第一文件的一部分被损坏而 不会使整个第一文件被损坏, 有利于提高第一文件的可靠性。
另一方面, 本实施方式通过将第一文件分为多个分块文件, 允许并行 对各分块文件进行存储和读取操作, 从整体上来看有利于提高对第一文件 进行操作的效率。
再一方面, 通常每个公有云存储系统对存储文件的大小都是有一定限 制的, 因此, 存储管理单元 22对第一文件进行分块处理可以满足公有云存 储系统对存储文件大小的限制需求。 例如, 第一公有云存储系统所允许文 件的大小的上限为 100M, 而第一文件的大小为 2G, 则通过对第一文件进 行分块,分为大小不超过 100M的分块文件,则可以满足第一公有云存储系 统对文件大小的限制需求, 实现对第一文件的成功存储。
在此说明, 在对第一文件进行分块后, 存储管理单元 22需要为每个分 块文件分配分块文件的标识, 便于对每个分块文件进行单独存储, 同时存 储管理单元 22也会存储每个分块文件的标识和第一文件的标识之间的对应 关系、 以及每个分块文件与各自存储位置的对应关系等, 以便于用户在后 期根据第一文件的标识进行第一文件的读取。
再例如, 如果技术手段是对第一文件进行冗余备份, 则存储管理单元 22 可以根据上述技术手段提供的冗余备份的数量对第一文件进行冗余备 份, 将第一文件和第一文件的冗余备份均作为独立文件进行存储。 同时, 存储管理单元 22需要存储第一文件的每个冗余备份与第一文件之间的对应 关系, 并需要存储第一文件的每个冗余备份以及第一文件与各自存储位置 的对应关系。
本实施例方式通过对第一文件进行冗余备份, 同时存储第一文件和第 一文件的多个冗余备份, 有利于防止某个公有云存储系统发生故障造成该 第一文件的丟失, 同样可以提高文件的安全性和可靠性。
再例如, 如果技术手段是对第一文件进行分块和冗余处理, 则存储管 理单元 22可以根据上述技术手段提供的分块策略对第一文件进行分块, 形 成分块文件, 然后根据上述技术手段提供的冗余备份的数量对每个分块文 件进行冗余备份。 其中, 每个分块文件的每个冗余备份都将被作为一个独 立的文件进行存储。 存储管理单元 22通过对第一文件进行分块, 然后以分 块为单位进行冗余备份, 可以更加细粒度的控制冗余效率, 进一步提高文 件的安全性和可靠性。 例如, 100MB大小的文件整体进行 300%的冗余, 将 占用 300MB的存储空间, 而且存储位置最多是 3个; 而将 100MB大小的 文件分块为 50MB大小的 2个块,在 300%冗余度下,虽然其也将占用 300MB 的总存储空间,但其存储位置最多可以是 6个。 6个存储位置中保存有文件 全部数据的三个存储位置失效的概率比 3 个存储位置完全无效的概率小得 多, 可靠性大增。
如果存储管理单元 22对第一文件进行了分块和 /或冗余备份处理,则存 储管理单元 22为第一文件选择第一公有云存储系统的过程实际上存储管理 单元 22 为第一文件的每个分块文件和 /或每个冗余备份分别选择公有云存 储系统的过程。
可选的, 上述预先设定的技术手段可以存储在存储管理装置的存储空 间上, 则存储管理单元 22可以直接从存储管理装置的存储空间中获取, 或 者存储管理单元 22也可以从其他存储系统上获取。
图 4为本发明另一实施例提供的存储管理装置的结构示意图。 本实施 例基于图 3所示实施例实现。 如图 4所示, 本实施例的装置除了包括指令 接收管理单元 21、 存储管理单元 22和读取管理单元 23之外, 还包括: 状 态监测管理单元 24。
状态监测管理单元 24, 用于定时向各个适配器发送状态监测命令, 以 使各个适配器获取各自对应的公有云存储系统的当前运行状态数据; 接收 各个适配器发送的各自对应的公有云存储系统的当前运行状态数据, 并根 据各个公有云存储系统的当前运行状态数据, 监控各个公有云存储系统的 运行状态。
其中, 状态监测管理单元 24还会存储各个公有云存储系统的当前运行 状态数据。
通常, 各个公有云存储系统的运行状态数据是衡量各公有云存储系统 的运行状态和趋势, 预先发现运行异常现象的主要依据。 其中, 公有云存 储系统的运行状态主要是指公有云存储系统的响应速度, 该响应速度包括 存储文件的速度和 /或获取文件的速度。 公有云存储系统的运行趋势主要是 指公有云存储系统的响应速度的变换趋势, 例如存储文件的传输速度由 200k/s变为 100k/s, 则说明运行趋势越来越差。公有云存储系统的运行状态 数据除了公有云存储系统的响应速度之外, 还可以包括公有云存储系统的 可用存储空间等。
通常, 不同公有云存储系统提供的用户接口是不同的。 有些公有云存 储系统提供了供获取运行状态数据使用的用户接口。 基于此, 状态监测管 理单元 24通过定时向相应的适配器发送状态监测命令, 使适配器直接调用 这些用户接口获取并返回公有云存储系统的当前运行状态数据, 状态监测 管理单元 24 保存并使用适配器返回的公有云存储系统的当前运行状态数 据。
在本实施例的一个可选实施方式中, 状态监测管理单元 24可以对适配 器返回的公有云存储系统的当前运行状态数据进行转换或者计算, 形成统 一的指标格式, 然后进行保存和使用。 其中, 转换或计算主要是指对运行 状态数据进行格式的转换、 单位的换算等。 通常, 不同公有云存储系统给 出的运行状态数据是不一样的, 以响应速度为例, 有些公有云存储系统给 出的是每秒钟所能传输的字节数, 有些公有云存储系统给出的是每条中的 能力值, 该能力值与每秒钟所能传输的字节数之间有一个换算关系, 因此, 本实施例的状态监测管理单元 24为了统一管理各种公有云存储系统的运行 状态数据需要对运行状态数据进行转换或计算。 这种直接获取公有云存储 系统的运行状态数据以及用户对应的存储空间信息的监控方式, 称为客观 监控方式。
由于本实施例的存储管理装置是以异构的公有云存储系统作为基本的 存储资源, 在公有云存储系统上进行文件的存储或读取, 因此各公有云存 储系统的服务质量直接决定了存储管理装置存储或读取文件的可靠性。 因 此, 本实施例的存储管理状态通过状态监测管理单元 24监控各个公有云存 储系统的运行状态, 以便及时发现公有云存储系统的异常的功能, 有利于 保证文件存储或读取的可靠性。
进一步, 本实施例的存储管理装置还包括: 状态测试管理单元 25。 状态测试管理单元 25 , 用于向各个适配器发送状态测试命令, 以使各 个适配器将预设的测试文件存储到各自对应的公有云存储系统; 接收各个 适配器发送的测试文件在各自对应的公有云存储系统上的存储位置; 根据 向各个适配器发送状态测试命令的时间和接收到各个适配器返回测试文件 的存储位置的时间, 计算得到各个公有云存储系统的当前运行状态数据。
其中, 状态测试管理单元 25在计算得到各个公有云存储系统的当前运 行状态数据之后, 会存储各个公有云存储系统的当前运行状态数据。
具体的, 状态测试管理单元 25向各个适配器发送状态测试命令。 各个 适配器分别根据状态测试命令, 向对应的公有云存储系统存储预设的测试 文件, 并接收所述公有云存储系统在完成测试文件的存储后返回的测试文 件的存储位置, 然后将测试文件的存储位置发送给状态测试管理单元 25。 状态测试管理单元 25接收各个适配器返回的测试文件的存储位置, 并根据 向各个适配器发送状态测试命令的时间和接收到多个适配器返回的测试文 件的存储位置的时间, 计算获取各个公有云存储系统的当前运行状态数据。
更为具体的, 状态测试管理单元 25可以在测试开始即向各个适配器发 送状态测试命令时记录时间, 在接收到各个适配器返回的测试文件的存储 位置时, 再次记录时间, 状态测试管理单元 25通过两次记录的时间就可以 计算出各公有云存储系统的响应时间、 响应速度等关键指标。 其中, 记录 的两个时间之差即为响应时间, 用测试文件的大小除以响应时间即可得到 响应速度。 由于该实施例是以存储测试 4艮文为例说明的, 故响应速度为存 储速度。
对于一些公有云存储系统而言, 可能未提供供外部获取其运行状态数 据使用的用户接口, 或者仅提供了供外部获取其部分运行状态数据使用的 用户接口, 不足以满足本实施例的存储管理装置监控其运行状态所需的运 行状态数据。 而本实施例的存储管理装置通过状态测试管理单元 25模拟用 户对公有云存储系统的使用, 通过向公有云存储系统存储测试文件的实际 执行情况来获取各公有云存储系统的运行状态数据, 进而实现对公有云存 储系统的运行状态的监控目的, 解决了对未提供供外部获取其运行状态数 据使用的用户接口或提供用户接口不足的公有云存储系统进行监控的问 题。 这种通过测试获取公有云存储系统的运行状态数据的方式, 称为主观 监控方式。
在此说明, 除了运行状态数据之外, 用户在公有云存储系统上租用的 最大存储空间以及当前已使用的存储空间 (简称为用户对应的存储空间信 息)也是衡量公有云存储系统的性能的重要指标。 具体说, 如果用户在该 公有云存储系统上使用的存储空间达到该用户租用的最大存储空间, 则即 使该公有云存储系统的运行状态较佳或最佳, 管理管理装置也不会将该公 有云存储系统分配给该用户。 因此, 存储管理装置可以釆用类似获取公有 云存储系统的当前运行状态数据的方式, 获取用户对应的存储空间信息。 基于上述, 本实施例的存储管理装置还包括: 可靠性处理单元 26。 可靠性处理单元 26, 用于根据多个公有云存储系统中各个公有云存储 系统的运行状态历史数据和当前运行状态数据, 确定不满足可靠性要求的 公有云存储系统和满足可靠性要求的公有云存储系统, 将不满足可靠性要 求的公有云存储系统上存储的文件迁移到一个或多个满足可靠性要求的公 有云存储系统上。 其中, 可靠性处理单元 26与状态监测管理单元 24和状 态测试管理单元 25连接, 用于从状态监测管理单元 24或状态测试管理单 元 25获取各公有云存储系统的当前运行状态数据和运行状态历史数据。
在本实施例的一个可选实施方式中, 可靠性处理单元 26可以根据状态 监测管理单元 24或状态测试管理单元 25上各个公有云存储系统的当前运 行状态数据, 判断每个公有云存储系统的当前运行状态数据是否超出预设 的状态门限范围; 确定超出状态门限范围的公有云存储系统和未超出状态 门限范围的公有云存储系统, 然后从状态监测管理单元 24或状态测试管理 单元 25上获取超出状态范围门限的公有云存储系统的运行状态历史数据, 势发生异常时, 确定超出状态门限范围的公有云存储系统为可靠性不满足 可靠性要求的公有云存储系统。 举例说明, 假设运行状态数据为公有云存 储系统的存储速度, 则当可靠性处理单元 26判断公有云存储系统的当前存 储速度超出预设的存储速度门限范围 (例如大于存储速度上限或者小于存 储速度下限) 时, 获取该公有云存储系统在一段时间内的存储速度(即历 史存储速度) , 根据获取的存储速度判断该公有云存储系统在这段时间内 的存储速度的趋势是否平稳, 如果根据该段时间内的存储速度判断出该公 有云存储系统的存储速度逐渐降低或逐渐增大, 则确定为可靠性不满足可 靠性要求的公有云存储系统; 另外, 如果该公有云存储系统在这段时间内 的存储速度发生了较大波动, 则也可以确定为可靠性不满足可靠性要求的 公有云存储系统。
可选的, 可靠性处理单元 26判断各公有云存储系统的当前运行状态数 据是否超出预设的状态门限范围以及判断各公有云存储系统的运行状态趋 势是否发生异常可以根据预设的判断规则进行。 当公有云存储系统匹配某 个判断规则时, 可以认为该公有云存储系统为可靠性不满足可靠性要求的 公有云存储系统。 所述判断规则包括运行状态数据中的一个或者多个数据 作为判断依据, 且具有一定的持续时间长度。 例如: "存储速率 <10Kpbs 并且可用存储空间的比例 <50%, 并且持续 5个釆样周期" , 如果公有云存 储系统满足该规则, 则可以判定其为可靠性不满足可靠性要求的公有云存 储系统。 又例如: "连续 3 次出现用户接口调用失效" , 如果对某个公有 云存储系统的操作匹配该规则, 则可以判定该公有云存储系统为可靠性不 满足可靠性要求的公有云存储系统。
当确定某个公有云存储系统为可靠性不满足可靠性要求的公有云存储 系统后, 将其上存储的文件迁移到可靠性满足可靠性要求的公有云存储系 统上。
在此说明, 所述文件迁移是指将某个不满足可靠性要求的公有云存储 系统上的文件或分块文件复制到其他满足可靠性要求的公有云存储系统上 的过程。 可选的, 由于文件或分块文件往往存在冗余, 因此文件或分块文 件可从不满足可靠性要求的公有云存储系统之外获取。 如果文件或分块文 件不存在冗余, 则可靠性处理单元 26可以尝试从已标记为不满足可靠性要 求的公有云存储系统上获取文件或分块文件; 然后将这些文件或分块文件 存储在其他满足可靠性要求的公有云存储系统上。
在本实施例的一个可选实施方式中, 可靠性处理单元 26还可以更新各 公有云存储系统的可靠性状态。 例如, 当公有云存储系统由满足可靠性要 求变为不满足可靠性要求时, 更新该公有云存储系统的可靠性状态为不可 靠, 反之, 更新其状态为可靠。
本实施例的存储管理装置除了对各个公有云存储系统的运行状态进行 监控以外, 还可以根据对各公有云存储系统的运行状态的监控结果, 对各 公有云存储系统进行预警和数据迁移等处理, 进一步提高文件的安全性和 可靠性。
在本实施例的一个可选实施方式中, 存储管理单元 22可以根据状态监 测管理单元 24或状态测试管理单元 25获得的各公有云存储系统的当前运 行状态数据, 从多个公有云存储系统中确定用于存储第一文件的第一公有 云存储系统。 可选的, 存储管理单元 22与状态监测管理单元 24和状态测 试管理单元 25连接。 具体的, 存储管理单元 22根据每个公有云存储系统 的当前运行状态数据, 从多个公有云存储系统中确定当前运行状态最佳的 公有云存储系统作为第一公有云存储系统。 所述运行状态最佳是指以当前 运行状况数据为依据的。 例如, 如果当前运行状态数据为当前响应速度, 则如果公有云存储系统的当前响应速度较快, 则当前响应速度最快的公有 云存储系统被认为是运行状态最佳的公有云存储系统。 又例如, 如果当前 运行状态数据同时包括当前响应速度和当前可用存储空间, 则当前响应速 度最快且其当前可用存储空间也最大的公有云存储系统被认为是运行状态 最佳的公有云存储系统。 其中, 根据公有云存储系统的当前运行状态数据 确定公有云存储系统的当前运行状态的方式并不限于上述举例, 可以根据 实际应用适应性定义。
在本实施例的一个可选实施方式中, 读取管理单元 23也可以根据状态 监测管理单元 24或状态测试管理单元 25获得的各公有云存储系统的当前 运行状态历史数据, 确定存储第二文件对应的第二存储位置。 可选的, 读 取管理单元 23与状态监测管理单元 24和状态测试管理单元 25连接。
图 5为本发明一实施例提供的适配器的结构示意图。 如图 5所示, 本 实施例的适配器包括: 接收单元 31、 存储处理单元 32和读取处理单元 33。
接收单元 31 , 与存储管理装置连接, 用于接收存储管理装置发送的操 作指令。
存储处理单元 32, 与接收单元 31和存储管理装置连接, 用于如果接收 单元 31接收到的操作指令为存储调用命令, 则将第一文件存储到第一公有 云存储系统, 接收第一公有云存储系统返回的第一文件在第一公有云存储 系统上的第一存储位置, 其中存储调用命令包括第一文件的标识, 并将第 一存储位置发送给存储管理装置, 以使存储管理装置在文件位置表中保存 第一文件的标识和第一存储位置的对应关系。
其中, 存储调用命令是存储管理装置在确定出用于存储第一文件的第 一公有云存储系统后发送的。 该存储调用命令携带第一文件的标识, 用以 告知存储处理单元 32需要存储的是哪个文件。 可选的, 存储管理装置可在 接收到用户接口装置发送的存储指令后, 从多个公有云存储系统中确定第 一公有云存储系统。 其中, 存储指令包括第一文件的标识。 存储管理装置 接收到存储处理单元 32返回的第一存储位置后, 将第一文件的标识和第一 存储位置的对应关系存储到文件位置表中。
读取处理单元 33 , 与接收单元 31存储管理装置连接, 用于如果接收单 元 31接收到的操作指令为读出调用命令, 则根据第二存储位置从第二公有 云存储系统获取第二文件, 并将第二文件发送给存储管理装置, 其中, 读 出调用命令是存储管理装置根据第二文件的标识和文件位置表中文件的标 识和文件的存储位置对应关系, 确定出第二存储位置后发送的。
可选的, 存储管理装置可在接收到用户接口装置发送的读取指令之后 , 从读取指令中获取第二文件的标识, 然后根据第二文件的标识和文件位置 表中文件的标识和文件的存储位置对应关系, 确定出第二存储位置。
在此说明, 本实施例的适配器与上述实施例提供的存储管理装置相配 合, 可以完成文件存储系统提供的用户接口与公有云存储系统的用户接口 之间的转换, 向存储管理装置提供统一的文件操作接口, 屏蔽了不同公有 云存储系统的用户接口带来的差异性。
由上述可见, 通过本实施例的适配器可以处理不同公有云存储系统的 接入, 为以现有的公有云存储系统为基本存储设备, 有利于简化存储管理 装置的实现和功能, 为构建相对简单、 成本低的文件存储系统提供了条件。
图 6为本发明另一实施例提供的适配器的结构示意图。 本实施例基于 图 5所示实施例实现。 如图 6所示, 本实施例的适配器除了包括接收单元 31、 存储处理单元 32和读取处理单元 33之外, 还包括: 状态监测处理单 元 34。
状态监测处理单元 34 , 与存储管理装置连接, 用于定时接收存储管理 装置发送的状态监测命令; 根据状态监测命令, 调用对应的公有云存储系 统提供的供获取运行状态数据使用的用户接口, 获取公有云存储系统的当 前运行状态数据; 并将对应的公有云存储系统的当前运行状态数据发送给 存储管理装置, 以使存储管理装置根据当前运行状态数据监控适配器对应 的公有云存储系统的运行状态。
上述状态监测处理单元 24通过与存储管理装置相配合, 根据存储管理 装置发送的状态监测命令, 通过调用公有云存储系统提供的用户接口获取 对应公有云存储系统的当前运行状态数据并返回给存储管理装置, 使得存 储管理装置可以监控公有云存储系统的运行状态, 有利于存储管理装置以 公有云存储系统为基础存储设备进行文件的存储或读取的可靠性和安全 性。
进一步, 本实施例的适配器还包括: 状态测试处理单元 35。 状态测试处理单元 35 , 与存储管理装置连接, 用于接收存储管理装置 发送的状态测试命令; 根据状态测试命令, 将预设的测试文件存储到对应 的公有云存储系统, 并接收公有云存储系统返回的测试文件的存储位置; 将测试文件的存储位置发送给存储管理装置, 以使存储管理装置根据发送 状态测试命令的时间和接收到返回的测试文件的存储位置的时间, 计算获 得适配器对应的公有云存储系统的当前运行状态数据。
上述状态测试处理单元 25与存储管理装置相配合, 根据存储管理装置 发送的状态测试命令, 通过测试文件模拟对公有云存储系统的使用, 使得 存储管理装置可以获取公有云存储系统的当前运行状态数据, 进而可以监 控公有云存储系统的运行状态, 有利于提高存储管理装置以公有云存储系 统为基础存储设备进行文件的存储或读取的可靠性和安全性。
综上所述, 本发明上述实施例具有以下有益效果: 1、 利用公有云存储 系统和云计算技术作为基础存储设备, 不需要直接与存储设备和存储网络 打交道, 只需使用适配器处理不同公有云存储系统的接入和监控并基于适 配器, 存储管理装置只需实现对文件存储和读取的管理即可构建出文件存 储系统, 构建过程简单, 易于实现, 且实现成本较低; 2、 利用公有云存储 系统提供的可靠性保障, 通过跨多个公有云存储系统的协调和调度, 构建 出基于异构公有云的文件存储系统,该构建出的文件存储系统更加可靠; 3、 由于基于公有云存储系统而不是基于私有云存储系统, 存储管理装置不需 要具备对存储设备和网络的管理、 虚拟化、 维护等能力, 只需具备在存储 行存储操作, 在文件完成存储之后存储文件的存储位置、 文件名、 用户名 等信息的对应关系, 在获取文件时确定文件的存储位置以及调用相应适配 器执行获取操作等能力, 保证系统升级时, 针对文件的管理能力和业务能 力最大限度的重用; 4、 让用户聚焦于文件存储业务本身, 并充分利用云计 算技术带来的益处, 不需要理解云计算技术的实现细节就能管理并维护文 件存储系统。
本发明以下实施例分别从存储管理装置 20和适配器 30的角度, 说明 本发明实施例提供的文件存储系统进行文件读取操作的流程。
图 7为本发明一实施例提供的文件存取方法的流程图。 如图 7所示, 本实施例的方法包括: 步骤 701、 存储管理装置接收用户接口装置发送的操作指令。
步骤 702、存储管理装置判断上述操作指令的类型, 如果上述操作指令 为存储第一文件的存储指令,执行步骤 703; 如果上述操作指令为读取第二 文件的读取指令, 则执行步骤 704。
其中, 上述存储指令包括第一文件的标识。 第一文件的标识可以是第 一文件的名称、 GUID或 URL等。 可选的, 上述存储指令还可以包括: 用 户的标识、 第一文件的大小等信息。 用户的标识可以是用户名、 用户的账 号等可以唯一标识用户的信息。
其中, 上述读取指令包括第二文件的标识。 第二文件的标识也可以是 第二文件的名称、 GUID或 URL等。 可选的, 上述读取指令还可以包括用 户的标识等信息。
步骤 703、存储管理装置从多个公有云存储系统中确定用于存储第一文 件的第一公有云存储系统, 向与第一公有云存储系统对应的第一适配器发 送存储调用命令, 以使第一适配器将第一文件存储到第一公有云存储系统 , 并接收第一适配器发送的第一存储位置, 并在文件位置表中保存第一文件 的标识和第一存储位置的对应关系, 结束文件存储操作。
其中, 第一存储位置由第一公有云存储系统发送给第一适配器, 第一 适配器再发送给存储管理装置。 第一存储位置为第一文件在第一公有云存 储系统上的存储位置。 上述文件位置表中保存了文件的标识和文件的存储 位置的对应关系。 其中, 存储管理装置保存第一文件的标识和第一存储位 置的对应关系, 以便于在读取第一文件时确定出第一文件的存储位置。
步骤 704、存储管理装置根据第二文件的标识和文件位置表中文件的标 识和文件的存储位置对应关系, 确定第二文件对应的第二存储位置, 并根 据第二存储位置, 向与第二存储位置对应的第二适配器发送读出调用命令, 以使第二适配器根据第二存储位置从第二公有云存储系统获取第二文件, 并接收第二适配器发送的第二文件, 并将第二文件发送给用户接口装置, 结束文件读取操作。
可选的, 存储管理装置从多个公有云存储系统中确定用于存储第一文 件的第一公有云存储系统的过程包括: 存储管理装置根据多个公有云存储 系统的当前运行状态数据, 从多个公有云存储系统中确定当前运行状态最 佳的公有云存储系统作为第一公有云存储系统。 其中, 公有云存储系统的当前运行状态数据包括公有云存储系统的当 前响应速度和 /或公有云存储系统的当前可用存储空间。 举例说明, 存储管 理装置具体可以确定当前响应速度最快的公有云存储系统为当前运行状态 最佳的公有云存储系统。 或者, 存储管理装置具体可以确定当前可用存储 空间最大的公有云存储系统为当前运行状态最佳的公有云存储系统。 或者, 存储管理装置具体可以确定当前响应速度最快且当前可用存储空间最大的 公有云存储系统为当前运行状态最佳的公有云存储系统。
可选的, 存储管理装置向与第一公有云存储系统对应的第一适配器发 送存储调用命令之前, 可以对第一文件进行加密、 分块和 /或冗余处理。
基于上述, 当第二文件有冗余备份, 并且第二文件的冗余备份存储在 一个以上的公有云存储系统时, 存储管理装置根据第二文件的标识和文件 位置表中文件的标识和文件的存储位置的对应关系, 确定存储第二文件对 应的第二存储位置的过程可以包括: 存储管理装置根据第二文件的标识和 文件位置表中文件的标识和文件的存储位置的对应关系, 确定所有存储有 第二文件或第二文件的冗余备份的公有云存储系统, 并根据确定出的所有 公有云存储系统的当前运行状态数据, 确定当前运行状态最佳的公有云存 储系统为第二公有云存储系统, 获取第二文件或第二文件的冗余备份在第 二公有云存储系统上的存储位置作为第二存储位置。
其中, 根据确定出的所有公有云存储系统的当前运行状态数据, 确定 当前运行状态最佳的公有云存储系统为第二公有云存储系统的实施方式可 参见前面确定运行状态最佳的公有云存储系统为第一公有云存储系统的实 施方式中的方法。
进一步, 本实施例的文件存取方法还包括存储管理装置获取各公有云 存储系统的当前运行状态数据并基于获取的当前运行状态数据监测各公有 云存储系统的运行状态的操作。 该操作的一种实施方式具体包括:
首先, 存储管理装置定时向各个适配器发送状态监测命令, 以使各个 适配器获取各自对应的公有云存储系统的当前运行状态数据。 其中, 每个 适配器调用各自对应的公有云存储系统提供的供外部获取其运行状态数据 使用的用户接口, 获取各自对应的公有云存储系统的当前运行状态数据。
然后, 存储管理装置接收各个适配器发送的各自对应的公有云存储系 统的当前运行状态数据, 并根据各个公有云存储系统的当前运行状态数据 监控各个公有云存储系统的运行状态。
上述操作的另一种实施方式包括:
首先, 存储管理装置向各个适配器发送状态测试命令, 以使各个适配 器将预设的测试文件存储到各自对应的公有云存储系统。
然后, 存储管理装置接收各个适配器发送的测试文件在各自对应的公 有云存储系统上的存储位置。
接着, 存储管理装置根据向各个适配器发送状态测试命令的时间和接 收到各个适配器返回测试文件的存储位置的时间, 计算得到各个公有云存 储系统的当前运行状态数据。 可选的, 存储管理装置可以根据计算得到的 各个公有云存储系统的当前运行状态数据, 监控各个公有云存储系统的运 行状态。
其中, 记录的两个时间之差即为响应时间, 用测试报文的大小除以响 应时间即可得到响应速度。 由于该实施例是以存储测试 ^艮文为例说明的, 故响应速度具体为存储速度。 可靠性对文件进行迁移的操作。 该操作的一种实施方式包括: 存储管理装 置根据多个公有云存储系统中各个公有云存储系统的运行状态历史数据和 当前运行状态数据, 确定不满足可靠性要求的公有云存储系统和满足可靠 性要求的公有云存储系统, 将不满足可靠性要求的公有云存储系统上存储 的文件迁移到一个或多个满足可靠性要求的公有云存储系统上。
上述操作的详细流程可参见前述各实施例中的相应描述, 在此不再赘 述。 本实施例提供的文件存取方法, 基于本发明实施例提供的文件存储系 统和存储管理装置实现, 其详细流程可参见文件存储系统或存储管理装置 实施例中的描述, 由于本实施例的文件存储系统构建复杂度较低, 所以在 一定程度上降低了文件存取的复杂度, 提高了文件存取的效率, 有利于降 低文件存取的成本。
图 8为本发明另一实施例提供的文件存取方法的流程图。 如图 8所示, 本实施例的方法包括:
步骤 801、 适配器接收存储管理装置发送的操作指令。
步骤 802、适配器判断上述操作指令的类型, 如果上述操作指令为存储 调用命令, 则执行步骤 803 ; 如果上述操作指令为读出调用命令, 则执行步 骤 804。
步骤 803、适配器将第一文件存储到第一公有云存储系统, 并接收第一 公有云存储系统返回的第一文件在第一公有云存储系统上的第一存储位 置, 并将第一存储位置发送给存储管理装置, 以使存储管理装置在文件位 置表中保存第一文件的标识和第一存储位置的对应关系, 结束文件存储操 作。
其中, 存储调用命令是存储管理装置根据存储指令, 从多个公有云存 储系统中确定出第一公有云存储系统后发送的。 上述存储指令是用户子系 统发送的用于指示存储第一文件, 该存储指令包括第一文件的标识。 其中, 上述存储调用命令也包括第一文件的标识, 用于告知适配器需要存储的是 哪个文件。
其中, 存储管理装置存储第一文件的标识和第一存储位置的对应关系, 以便于在读取第一文件时确定第一文件的存储位置。
步骤 804、适配器根据第二存储位置从第二公有云存储系统获取第二文 件, 并将第二文件发送给存储管理装置, 结束文件读取操作。
其中, 读出调用命令是存储管理装置根据第二文件的标识和文件位置 表中文件的标识和文件的存储位置对应关系, 确定出第二存储位置后发送 的。 令, 获取各公有云存储系统的当前运行状态数据并提供给存储管理装置的 操作。 该操作具体包括:
首先, 适配器定时接收存储管理装置发送的状态监测命令。
然后, 适配器根据状态监测命令, 调用适配器对应的公有云存储系统 提供的供获取其运行状态数据使用的用户接口, 获取所对应的公有云存储 系统的当前运行状态数据。
接着, 适配器将获取的所对应的公有云存储系统的当前运行状态数据 发送给存储管理装置, 以使存储管理装置根据获取的当前运行状态数据监 控适配器对应的公有云存储系统的运行状态。
进一步, 本实施例的文件存取方法还包括适配器根据存储管理装置的 状态测试命令, 模拟在公有云存储系统上存储文件的操作, 使存储管理装 置获取适配器对应的公有云存储系统的当前运行状态数据的操作。 该操作 具体包括:
首先, 适配器接收存储管理装置发送的状态测试命令。
然后, 适配器根据状态测试命令, 将预设的测试文件存储到适配器对 应的公有云存储系统, 并接收所对应的公有云存储系统返回的测试文件的 存储位置。
接着, 适配器将所述公有云存储系统返回的测试文件的存储位置发送 给存储管理装置, 以使存储管理装置根据向适配器发送状态测试命令的时 间和接收到适配器返回的测试文件的存储位置的时间, 计算得出适配器对 应的公有云存储系统的当前运行状态数据。
上述操作的详细流程可参见前述各实施例中的相应描述, 在此不再赘 述。
本实施例提供的文件存取方法, 基于本发明实施例提供的文件存储系 统、 存储管理装置以及适配器实现, 其详细流程可参见上述各实施例中的 描述, 由于本实施例的文件存储系统构建复杂度较低, 所以在一定程度上 降低了文件存取的复杂度, 提高了文件存取的效率, 有利于降低文件存取 的成本。
本领域普通技术人员可以理解: 实现上述各方法实施例的全部或部分 步骤可以通过程序指令相关的硬件来完成。 前述的程序可以存储于一计算 机可读取存储介质中。 该程序在执行时, 执行包括上述各方法实施例的步 骤; 而前述的存储介质包括: ROM、 RAM, 磁碟或者光盘等各种可以存储 程序代码的介质。
最后应说明的是: 以上各实施例仅用以说明本发明的技术方案, 而非 对其限制; 尽管参照前述各实施例对本发明进行了详细的说明, 本领域的 普通技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案进 行修改, 或者对其中部分或者全部技术特征进行等同替换; 而这些修改或 者替换, 并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims

权利要求
1、 一种文件存储系统, 其特征在于, 包括: 存储管理装置和适配器; 所述存储管理装置, 用于接收用户接口装置发送的操作指令, 如果所 述操作指令为存储第一文件的存储指令, 所述存储指令包括所述第一文件 的标识, 则从多个公有云存储系统中确定用于存储所述第一文件的第一公 有云存储系统, 向与所述第一公有云存储系统对应的第一适配器发送存储 调用命令, 以使所述第一适配器将所述第一文件存储到所述第一公有云存 储系统, 并接收所述第一适配器发送的第一存储位置, 并在文件位置表中 保存所述第一文件的标识和所述第一存储位置的对应关系, 其中, 所述第 一存储位置由所述第一公有云存储系统发送给所述第一适配器, 所述第一 存储位置为所述第一文件在所述第一公有云存储系统上的存储位置, 所述 文件位置表中保存了文件的标识和文件的存储位置的对应关系; 如果所述 操作指令为读取第二文件的读取指令, 所述读取指令包括所述第二文件的 标识, 则根据所述第二文件的标识和所述文件位置表中文件的标识和文件 的存储位置对应关系, 确定存储所述第二文件对应的第二存储位置, 并根 据所述第二存储位置, 向与所述第二存储位置对应的第二适配器发送读出 调用命令, 以使所述第二适配器根据所述第二存储位置从第二公有云存储 系统获取所述第二文件, 接收所述第二适配器发送的所述第二文件, 并将 所述第二文件发送给所述用户接口装置;
所述适配器, 用于接收所述存储管理装置发送的操作指令; 如果所述 操作指令为存储调用命令, 则将第一文件存储到第一公有云存储系统, 接 收所述第一公有云存储系统返回的所述第一文件在所述第一公有云存储系 统上的第一存储位置, 其中所述存储调用命令包括第一文件的标识; 并将 所述第一存储位置发送给所述存储管理装置, 以使所述存储管理装置在文 件位置表中保存所述第一文件的标识和所述第一存储位置的对应关系; 如 果所述操作指令为读出调用命令, 则根据第二存储位置从第二公有云存储 系统获取第二文件, 并将所述第二文件发送给所述存储管理装置, 其中, 所述读出调用命令是所述存储管理装置根据所述第二文件的标识和所述文 件位置表中文件的标识和文件的存储位置对应关系, 确定出所述第二存储 位置后发送的。
2、 根据权利要求 1所述的文件存储系统, 其特征在于, 还包括: 用户 接口装置, 用于接收指令输入设备输入的存储第一文件的存储指令, 将所 述存储指令发送给所述存储管理装置, 以使所述存储管理装置根据所述存 储指令对所述第一文件进行存储操作, 所述存储指令包括所述第一文件的 标识; 或者接收所述指令输入设备输入的读取第二文件的读取指令, 将所 述读取指令发送给所述存储管理装置, 以使所述存储管理装置对所述第二 文件进行读取操作, 并接收所述存储管理装置返回的所述第二文件, 所述 读取指令包括所述第二文件的标识。
3、 一种存储管理装置, 其特征在于, 包括:
指令接收管理单元, 用于接收用户接口装置发送的操作指令; 存储管理单元, 用于如果所述操作指令为存储第一文件的存储指令, 所述存储指令包括所述第一文件的标识; 从多个公有云存储系统中确定用 于存储所述第一文件的第一公有云存储系统, 向与所述第一公有云存储系 统对应的第一适配器发送存储调用命令, 以使所述第一适配器将所述第一 文件存储到所述第一公有云存储系统, 并接收所述第一适配器发送的第一 存储位置, 并在文件位置表中保存所述第一文件的标识和所述第一存储位 置的对应关系, 其中, 所述第一存储位置由所述第一公有云存储系统发送 给所述第一适配器, 所述第一存储位置为所述第一文件在所述第一公有云 存储系统上的存储位置, 所述文件位置表中保存了文件的标识和文件的存 储位置的对应关系;
读取管理单元, 用于如果所述操作指令为读取第二文件的读取指令, 所述读取指令包括所述第二文件的标识, 则根据所述第二文件的标识和所 述文件位置表中文件的标识和文件的存储位置对应关系, 确定存储所述第 二文件对应的第二存储位置, 并根据所述第二存储位置, 向与所述第二存 储位置对应的第二适配器发送读出调用命令, 以使所述第二适配器根据所 述第二存储位置从第二公有云存储系统获取所述第二文件, 接收所述第二 适配器发送的所述第二文件, 并将所述第二文件发送给所述用户接口装置。
4、 根据权利要求 3所述的存储管理装置, 其特征在于, 还包括: 状态 监测管理单元, 用于定时向各个适配器发送状态监测命令, 以使所述各个 适配器获取各自对应的公有云存储系统的当前运行状态数据; 接收所述各 个适配器发送的各自对应的公有云存储系统的当前运行状态数据, 并根据 所述各个公有云存储系统的当前运行状态数据, 监控所述各个公有云存储 系统的运行 态。
5、 根据权利要求 3所述的存储管理装置, 其特征在于, 还包括: 状态 测试管理单元, 用于向各个适配器发送状态测试命令, 以使所述各个适配 器将预设的测试文件存储到各自对应的公有云存储系统; 接收所述各个适 配器发送的所述测试文件在各自对应的公有云存储系统上的存储位置; 根 据向所述各个适配器发送所述状态测试命令的时间和接收到所述各个适配 器返回所述测试文件的存储位置的时间, 计算得到所述各个公有云存储系 统的当前运行状态数据。
6、 根据权利要求 4或 5所述的存储管理装置, 其特征在于, 还包括: 可靠性处理单元, 用于根据多个公有云存储系统中各个公有云存储系统的 运行状态历史数据和当前运行状态数据, 确定不满足可靠性要求的公有云 存储系统和满足可靠性要求的公有云存储系统, 将所述不满足可靠性要求 的公有云存储系统上存储的文件迁移到一个或多个所述满足可靠性要求的 公有云存储系统上。
7、 一种适配器, 其特征在于, 包括:
接收单元, 用于接收存储管理装置发送的操作指令;
存储处理单元, 用于如果所述操作指令为存储调用命令, 则将第一文 件存储到第一公有云存储系统, 接收所述第一公有云存储系统返回的所述 第一文件在所述第一公有云存储系统上的第一存储位置, 其中所述存储调 用命令包括第一文件的标识, 并将所述第一存储位置发送给所述存储管理 装置, 以使所述存储管理装置在文件位置表中保存所述第一文件的标识和 所述第一存储位置的对应关系;
读取处理单元, 用于如果所述操作指令为读出调用命令, 则根据第二 存储位置从第二公有云存储系统获取第二文件, 并将所述第二文件发送给 所述存储管理装置, 其中, 所述读出调用命令是所述存储管理装置根据所 述第二文件的标识和所述文件位置表中文件的标识和文件的存储位置对应 关系, 确定出所述第二存储位置后发送的。
8、 根据权利要求 7所述的适配器, 其特征在于, 还包括: 状态监测处 理单元, 用于定时接收所述存储管理装置发送的状态监测命令; 根据所述 状态监测命令, 调用对应的公有云存储系统提供的供获取运行状态数据使 用的用户接口, 获取所述公有云存储系统的当前运行状态数据; 并将所述 对应的公有云存储系统的当前运行状态数据发送给所述存储管理装置, 以 使所述存储管理装置根据所述当前运行状态数据监控所述适配器对应的公 有云存储系统的运行状态。
9、 根据权利要求 7所述的适配器, 其特征在于, 还包括: 状态测试处 理单元, 用于接收所述存储管理装置发送的状态测试命令; 根据所述状态 测试命令, 将预设的测试文件存储到对应的公有云存储系统, 并接收所述 公有云存储系统返回的所述测试文件的存储位置; 将所述测试文件的存储 位置发送给所述存储管理装置, 以使所述存储管理装置根据发送所述状态 测试命令的时间和接收到返回的所述测试文件的存储位置的时间, 计算获 得所述适配器对应的公有云存储系统的当前运行状态数据。
10、 一种文件存取方法, 其特征在于, 包括:
存储管理装置接收用户接口装置发送的操作指令;
如果所述操作指令为存储第一文件的存储指令, 所述存储指令包括所 述第一文件的标识; 所述存储管理装置从多个公有云存储系统中确定用于 存储所述第一文件的第一公有云存储系统, 向与所述第一公有云存储系统 对应的第一适配器发送存储调用命令, 以使所述第一适配器将所述第一文 件存储到所述第一公有云存储系统, 并接收所述第一适配器发送的第一存 储位置, 并在文件位置表中保存所述第一文件的标识和所述第一存储位置 的对应关系, 其中, 所述第一存储位置由所述第一公有云存储系统发送给 所述第一适配器, 所述第一存储位置为所述第一文件在所述第一公有云存 储系统上的存储位置, 所述文件位置表中保存了文件的标识和文件的存储 位置的对应关系;
如果所述操作指令为读取第二文件的读取指令, 所述读取指令包括所 述第二文件的标识, 所述存储管理装置根据所述第二文件的标识和所述文 件位置表中文件的标识和文件的存储位置对应关系, 确定存储所述第二文 件对应的第二存储位置, 并根据所述第二存储位置, 向与所述第二存储位 置对应的第二适配器发送读出调用命令, 以使所述第二适配器根据所述第 二存储位置从第二公有云存储系统获取所述第二文件, 接收所述第二适配 器发送的所述第二文件, 并将所述第二文件发送给所述用户接口装置。
11、 根据权利要求 10所述的文件存取方法, 其特征在于, 所述存储管 理装置从多个公有云存储系统中确定用于存储所述第一文件的第一公有云 存储系统包括:
所述存储管理装置根据所述多个公有云存储系统的当前运行状态数 据, 从所述多个公有云存储系统中确定当前运行状态最佳的公有云存储系 统作为所述第一公有云存储系统; 所述当前运行状态数据包括公有云存储 系统的当前响应速度和 /或公有云存储系统的当前可用存储空间。
12、 根据权利要求 10所述的文件存取方法, 其特征在于, 所述向与所 述第一公有云存储系统对应的第一适配器发送存储调用命令之前, 还包括: 对所述第一文件进行加密、 分块和 /或冗余处理。
13、 根据权利要求 12所述的文件存取方法, 其特征在于, 所述第二文 件有冗余备份, 并且所述第二文件的冗余备份存储在一个以上的公有云存 储系统, 所述存储管理装置根据所述第二文件的标识和所述文件位置表中 文件的标识和文件的存储位置对应关系, 确定存储所述第二文件对应的第 二存储位置, 包括:
所述存储管理装置根据所述第二文件的标识和所述文件位置表中文件 的标识和文件的存储位置对应关系, 确定所有存储有所述第二文件或所述 第二文件的冗余备份的公有云存储系统, 并根据所述所有公有云存储系统 的当前运行状态数据, 确定当前运行状态最佳的公有云存储系统为第二公 有云存储系统, 获取所述第二文件或所述第二文件的冗余备份在所述第二 公有云存储系统上的存储位置作为所述第二存储位置。
14、根据权利要求 10-13任一项所述的文件存取方法, 其特征在于, 还 包括:
所述存储管理装置定时向各个适配器发送状态监测命令, 以使所述各 个适配器获取各自对应的公有云存储系统的当前运行状态数据;
接收所述各个适配器发送的各自对应的公有云存储系统的当前运行状 态数据, 并根据所述各个公有云存储系统的当前运行状态数据, 监控所述 各个公有云存储系统的运行状态。
15、根据权利要求 10-13任一项所述的文件存取方法, 其特征在于, 还 包括:
所述存储管理装置向各个适配器发送状态测试命令, 以使所述各个适 配器将预设的测试文件存储到各自对应的公有云存储系统; 接收所述各个适配器发送的所述测试文件在各自对应的公有云存储系 统上的存储位置;
根据向所述各个适配器发送所述状态测试命令的时间和接收到所述各 个适配器返回所述测试文件的存储位置的时间, 计算得到所述各个公有云 存储系统的当前运行状态数据。
16、 根据权利要求 14或 15所述的文件存取方法, 其特征在于, 还包 括:
所述存储管理装置根据多个公有云存储系统中各个公有云存储系统的 运行状态历史数据和当前运行状态数据, 确定不满足可靠性要求的公有云 存储系统和满足可靠性要求的公有云存储系统, 将所述不满足可靠性要求 的公有云存储系统上存储的文件迁移到一个或多个所述满足可靠性要求的 公有云存储系统上。
17、 一种文件存取方法, 其特征在于, 包括:
适配器接收存储管理装置发送的操作指令;
如果所述操作指令为存储调用命令, 所述适配器将第一文件存储到第 一公有云存储系统, 接收所述第一公有云存储系统返回的所述第一文件在 所述第一公有云存储系统上的第一存储位置, 其中所述存储调用命令包括 第一文件的标识, 并将所述第一存储位置发送给所述存储管理装置, 以使 所述存储管理装置在文件位置表中保存所述第一文件的标识和所述第一存 储位置的对应关系;
如果所述操作指令为读出调用命令, 所述适配器根据第二存储位置从 第二公有云存储系统获取第二文件, 并将所述第二文件发送给所述存储管 理装置, 其中, 所述读出调用命令是所述存储管理装置根据所述第二文件 的标识和所述文件位置表中文件的标识和文件的存储位置对应关系, 确定 出所述第二存储位置后发送的。
18、 根据权利要求 17所述的文件存取方法, 其特征在于, 还包括: 所述适配器定时接收所述存储管理装置发送的状态监测命令; 根据所述状态监测命令, 调用所述适配器对应的公有云存储系统提供 的供获取运行状态数据使用的用户接口, 获取所述公有云存储系统的当前 运行状态数据; 所述适配器将所述对应的公有云存储系统的当前运行状态数据发送给 所述存储管理装置, 以使所述存储管理装置根据所述当前运行状态数据监 控所述适配器对应的公有云存储系统的运行状态。
19、 根据权利要求 17所述的文件存取方法, 其特征在于, 还包括: 所述适配器接收所述存储管理装置发送的状态测试命令;
根据所述状态测试命令, 将预设的测试文件存储到所述适配器对应的 公有云存储系统, 并接收所述公有云存储系统返回的所述测试文件的存储 位置;
将所述测试文件的存储位置发送给所述存储管理装置, 以使所述存储 管理装置根据向所述适配器发送所述状态测试命令的时间和接收到所述适 配器返回的所述测试文件的存储位置的时间, 计算获得所述适配器对应的 公有云存储系统的当前运行状态数据。
PCT/CN2013/072812 2012-05-28 2013-03-18 文件存储系统、装置及文件存取方法 WO2013177968A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/340,290 US9405757B2 (en) 2012-05-28 2014-07-24 File storage system, apparatus, and file access method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2012101680198A CN102750324A (zh) 2012-05-28 2012-05-28 文件存储系统、装置及文件存取方法
CN201210168019.8 2012-05-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/340,290 Continuation US9405757B2 (en) 2012-05-28 2014-07-24 File storage system, apparatus, and file access method

Publications (1)

Publication Number Publication Date
WO2013177968A1 true WO2013177968A1 (zh) 2013-12-05

Family

ID=47030509

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/072812 WO2013177968A1 (zh) 2012-05-28 2013-03-18 文件存储系统、装置及文件存取方法

Country Status (3)

Country Link
US (1) US9405757B2 (zh)
CN (1) CN102750324A (zh)
WO (1) WO2013177968A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750324A (zh) * 2012-05-28 2012-10-24 华为技术有限公司 文件存储系统、装置及文件存取方法
CN103220272A (zh) * 2013-03-02 2013-07-24 苏州阔地网络科技有限公司 一种文件隐藏处理的方法及系统
CN103207973B (zh) * 2013-03-02 2015-09-30 阔地教育科技有限公司 一种文件隐形加密存储方法及系统
CN103259780B (zh) * 2013-03-02 2015-09-30 阔地教育科技有限公司 一种加密数据存储的方法及系统
CN103220209B (zh) * 2013-03-02 2015-09-30 阔地教育科技有限公司 一种数据隐藏存储的方法及系统
CN103218567B (zh) * 2013-03-02 2015-12-23 阔地教育科技有限公司 一种隐藏数据存储的方法及系统
CN103259779B (zh) * 2013-03-02 2015-09-30 阔地教育科技有限公司 一种文件隐形处理的方法及系统
JP5853996B2 (ja) * 2013-06-10 2016-02-09 コニカミノルタ株式会社 情報システム、情報機器およびコンピュータプログラム
CN103440303A (zh) * 2013-08-21 2013-12-11 曙光信息产业股份有限公司 一种异构云存储系统及其数据处理方法
CN104753702B (zh) * 2013-12-27 2018-11-20 华为技术有限公司 一种集群系统中的集群处理方法、装置及系统
US9501488B1 (en) * 2013-12-30 2016-11-22 EMC IP Holding Company LLC Data migration using parallel log-structured file system middleware to overcome archive file system limitations
WO2016048295A1 (en) * 2014-09-24 2016-03-31 Hewlett Packard Enterprise Development Lp Assigning a document to partial membership in communities
CN106161516A (zh) * 2015-03-31 2016-11-23 西门子公司 用于存储数据的方法、装置以及系统
CN105049530B (zh) * 2015-08-24 2018-05-25 用友网络科技股份有限公司 多种分布式缓存系统的自适配装置和方法
US9588799B1 (en) * 2015-09-29 2017-03-07 Amazon Technologies, Inc. Managing test services in a distributed production service environment
CN106027325B (zh) * 2016-05-10 2018-11-06 华中科技大学 一种网盘应用程序编程接口的测量方法和系统
CN108052286A (zh) * 2017-12-12 2018-05-18 郑州云海信息技术有限公司 一种管理异构存储设备的方法、装置及设备
CN110069210B (zh) * 2018-01-23 2021-09-28 杭州海康威视系统技术有限公司 一种存储系统、存储资源的分配方法及装置
CN108667917B (zh) * 2018-04-24 2021-12-07 厦门集微科技有限公司 一种实现数据存储的方法、装置、计算机存储介质及终端
CN108536554A (zh) * 2018-04-26 2018-09-14 威海海洋职业学院 一种数据文件的备份方法
CN108777718B (zh) * 2018-06-22 2021-03-23 创新先进技术有限公司 一种业务系统通过客户端访问读多写少系统的方法和装置
US11423046B2 (en) * 2019-05-28 2022-08-23 Jpmorgan Chase Bank, N.A. Mechanism for replication and population of a data subset in Hadoop from a private network to a public cloud instance
CN110554930B (zh) * 2019-07-25 2022-05-20 重庆小雨点小额贷款有限公司 一种数据存储方法及相关设备
CN110990339B (zh) * 2019-10-15 2023-09-19 平安科技(深圳)有限公司 分布式存储的文件读写方法、装置、平台及可读存储介质
CN112486926A (zh) * 2020-12-15 2021-03-12 平安国际智慧城市科技股份有限公司 适用于多个文件存储系统的适配器、方法、系统及设备
CN117221151B (zh) * 2023-09-12 2024-08-13 北京城建智控科技股份有限公司 云计算存储的可视化管理装置及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883103A (zh) * 2009-04-15 2010-11-10 埃森哲环球服务有限公司 云数据中心内Web服务器群架构的客户端侧扩展的方法和系统
CN102143215A (zh) * 2011-01-20 2011-08-03 中国人民解放军理工大学 一种基于网络的pb级云存储系统及其处理方法
CN102307221A (zh) * 2011-03-25 2012-01-04 国云科技股份有限公司 一种云存储系统及其实现方法
CN102460393A (zh) * 2009-05-01 2012-05-16 思杰系统有限公司 用于在虚拟存储资源之间建立云桥的系统和方法
CN102750324A (zh) * 2012-05-28 2012-10-24 华为技术有限公司 文件存储系统、装置及文件存取方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100337218C (zh) * 2005-02-23 2007-09-12 北京邦诺存储科技有限公司 网络存储系统中的数据管理方法及其构建的网络存储系统
CN101576854A (zh) * 2009-04-03 2009-11-11 成都市华为赛门铁克科技有限公司 文件访问的方法、装置及系统
US20100333116A1 (en) 2009-06-30 2010-12-30 Anand Prahlad Cloud gateway system for managing data storage to cloud storage sites
CN101763418A (zh) 2009-12-16 2010-06-30 中兴通讯股份有限公司 一种访问文件资源方法及装置
CN101888405B (zh) 2010-06-07 2013-03-06 北京高森明晨信息科技有限公司 一种云计算的文件系统和数据处理方法
CN102143228A (zh) 2011-03-30 2011-08-03 浪潮(北京)电子信息产业有限公司 一种云存储系统、云客户端及实现存储区域网络服务的方法
CN102907062B (zh) * 2011-05-26 2016-06-22 华为技术有限公司 获取云服务的方法和终端、云输入方法和设备、云服务卡及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883103A (zh) * 2009-04-15 2010-11-10 埃森哲环球服务有限公司 云数据中心内Web服务器群架构的客户端侧扩展的方法和系统
CN102460393A (zh) * 2009-05-01 2012-05-16 思杰系统有限公司 用于在虚拟存储资源之间建立云桥的系统和方法
CN102143215A (zh) * 2011-01-20 2011-08-03 中国人民解放军理工大学 一种基于网络的pb级云存储系统及其处理方法
CN102307221A (zh) * 2011-03-25 2012-01-04 国云科技股份有限公司 一种云存储系统及其实现方法
CN102750324A (zh) * 2012-05-28 2012-10-24 华为技术有限公司 文件存储系统、装置及文件存取方法

Also Published As

Publication number Publication date
US20140365537A1 (en) 2014-12-11
CN102750324A (zh) 2012-10-24
US9405757B2 (en) 2016-08-02

Similar Documents

Publication Publication Date Title
WO2013177968A1 (zh) 文件存储系统、装置及文件存取方法
US10613788B2 (en) Data migration between cloud storage systems
US10776174B2 (en) Managing hosted resources across different virtualization platforms
JP5710779B2 (ja) 非同期仮想マシン複製
US10073747B2 (en) Reducing recovery time in disaster recovery/replication setup with multitier backend storage
US9350682B1 (en) Compute instance migrations across availability zones of a provider network
US9047443B2 (en) Data federation system and method for sociality storage service in cloud computing
US10331695B1 (en) Replication coordination service for data transfers between distributed databases
US10623186B1 (en) Authenticated encryption with multiple contexts
US20150106504A1 (en) Secure cloud management agent
US20120191969A1 (en) System and method for netbackup data decryption in a high latency low bandwidth environment
WO2014022604A1 (en) Trusted execution environment virtual machine cloning
US9898474B1 (en) Object sharding in a host-side processing device for distributed storage
CN103718164A (zh) 虚拟计算机和服务
US10346618B1 (en) Data encryption for virtual workspaces
US9888338B2 (en) Cloud based emergency wireless link
WO2013102341A1 (zh) 对应用数据进行处理的方法和计算节点
WO2016146011A1 (zh) 一种创建虚拟非易失性存储介质的方法、系统及管理系统
Akter et al. Performance analysis of personal cloud storage services for mobile multimedia health record management
WO2015106656A1 (zh) 一种跨数据中心的数据同步方法
US9749278B1 (en) Persistent connections for email web applications
CN113312656A (zh) 数据轮转方法、装置、设备及系统
CN111158938A (zh) 一种基于qkd的服务器与浏览器客户端之间的通信方法
US11849037B1 (en) Cross-region replication of secrets
CN112613049B (zh) 基于区块链的统一云存储系统及实现数据保全的方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13796687

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13796687

Country of ref document: EP

Kind code of ref document: A1