Summary of the invention
For solving prior art Problems existing, the invention provides and a kind ofly realize the cloud storage system of load balancing and the load-balancing method for cloud storage system, making it possible to the performance improving the system that cloud stores preferably.
According to an aspect of the present invention, provide a kind of cloud storage system realizing load balancing, comprise load monitoring service unit, multiple cloud storage site, described multiple cloud storage site comprises the first cloud storage site and the second cloud storage site, wherein:
Described load monitoring service unit is used for when detecting that the load of described first cloud storage site exceedes load threshold, application request is transmitted to described second cloud storage site;
Described second cloud storage site comprises multiple Service Access Point, multiple metadata location management service unit, at least one meta data server and data file management subsystem, wherein:
The Service Access Point selected from multiple Service Access Point is for sending to the metadata location management service unit that in described multiple metadata location management service unit, load is lighter by the described application request received;
The lighter metadata location management service unit of described load is used for determining according to described application request and applying corresponding metadata location information, and obtains corresponding metadata according to determined metadata location information from corresponding meta data server;
Selected Service Access Point is used for obtained metadata and described application request to send to described data file management subsystem so that described data file management subsystem performs corresponding operation according to described application request.
In an alternative embodiment, described application request comprises read request or the write request of application, and described data file management subsystem, comprising:
Multiple storage server, for storing data files, wherein data file manages in the mode that object stores and a data file has at least one object;
Load balancing administrative unit, for monitoring in described multiple storage server the loading condition of each, and monitor the first storage server in multiple storage server write heavier loads time, sending object migration instruction, or, monitor described first storage server read heavier loads time, send copy set up instruction; And,
Data migration unit, for moving in the lighter storage server of load according to described object migration instruction by the partial objects of the data file in the first storage server; Or, according to described copy set up to be designated as in described first storage server read access frequently data file in the storage server that load is lighter, set up multiple read-only copy.
In an alternative embodiment, described data file management subsystem also comprises: store balanced management unit, for monitoring in described multiple storage server the space utilization rate of each, when the space utilization rate monitoring the second storage server exceedes space utilization rate threshold value, select the time period that described second storage server service load is lighter, indicate described data migration unit that the partial objects of the data file of described two storage servers is moved to the less storage server of space utilization rate.
In an alternative embodiment, the storage server of described data file management subsystem comprises: buffer unit, SSD/SAS disk and SATA disk, wherein: hot spots data file is stored in described buffer unit; And ordinary hot point data file is stored in described SSD or SAS disk; And non-hot spot data file is stored in described SATA disk.
According to another aspect of the present invention, additionally provide a kind of load-balancing method for cloud storage system, described cloud storage system comprises load monitoring service unit and multiple cloud storage site, wherein, described multiple cloud storage site comprises the first cloud storage site and the second cloud storage site, described second cloud storage site comprises multiple Service Access Point, multiple metadata location management service unit, at least one meta data server and data file management subsystem, and described load-balancing method comprises:
Application request, when detecting that the load of described first cloud storage site exceedes load threshold, is transmitted to described second cloud storage site by described load monitoring service unit;
Described second cloud storage site selects a Service Access Point from multiple Service Access Point, and the described application request received is sent to selected Service Access Point;
Application request is sent to the metadata location management service unit that in multiple metadata location management service unit, load is lighter by selected Service Access Point;
The lighter metadata location management service unit of described load is determined according to described application request and applies corresponding metadata location information, then obtains corresponding metadata according to determined metadata location information from corresponding meta data server;
Obtained metadata and described application request are sent to described data file management subsystem so that described data file management subsystem performs corresponding operation according to described application request by selected Service Access Point.
In an alternative embodiment, described application request comprises read request or the write request of application, described data file management subsystem comprises multiple storage server storing data file, and wherein data file manages in the mode that object stores and a data file has at least one object.Described load-balancing method also comprises: each loading condition in the described multiple storage server of described data file management subsystem monitoring, when monitor the first storage server write heavier loads time, the partial objects of the partial document data in described first storage server is moved in the lighter storage server of load; And/or, when monitor described first storage server read heavier loads time, for read access in described first storage server frequently data file in the storage server that load is lighter, set up multiple read-only copy with the read request of response application.
In an alternative embodiment, described load-balancing method also comprises: described data file management subsystem to monitor in described multiple storage server each space utilization rate, when the space utilization rate monitoring the second storage server exceedes space utilization rate threshold value, select the time period that described second storage server service load is lighter, the partial objects of the partial document data of described second memory is moved to the less storage server of space utilization rate.
In an alternative embodiment, described cloud storage system takes global name space to manage to data file, and described metadata store location management service unit, when each document creation, distributes a global space name for each data file and identifies ID.
In an alternative embodiment, described second cloud storage site is the cloud storage site that in described multiple cloud storage site, load is lighter.
In an alternative embodiment, hot spots data file is stored in the buffer unit of storage server by described data file management subsystem; Ordinary hot point data file is stored in SSD or the SAS disk of storage server; And non-hot spot data file is stored in the SATA disk of storage server.
The present invention, by carrying out equilibrium treatment to the load of cloud storage system at least two levels, makes it possible to the performance improving cloud storage system preferably.
Embodiment
Below in conjunction with accompanying drawing, the present invention is described in detail further.
Fig. 1 is the structural representation of the cloud storage system realizing load balancing according to an embodiment of the invention.As shown in Figure 1, the cloud storage system realizing load balancing of the embodiment of the present invention, comprises load monitoring service unit 10 and multiple cloud storage site.In order to the object that the present invention is described clearly, in Fig. 1, schematically show the first cloud storage site 22 and the second cloud storage site 24 and other cloud storage site.Application request, for when detecting that the load of described first cloud storage site 22 exceedes load threshold, is transmitted to described second cloud storage site 24 by load monitoring service unit 10.It should be noted that, in embodiments of the present invention, the arbitrary cloud storage site in multiple cloud storage site can be the first cloud storage site and the second cloud storage site.In an alternative embodiment, the second cloud storage site can be the cloud storage site that in multiple cloud storage site, load is lighter, the cloud storage site that such as load is the lightest.
In an alternative embodiment, load monitoring service unit 10 can be the independently load monitoring server in cloud storage system, or, can be the unit be arranged in cloud storage site 22.
Second cloud storage site, after receiving application request, provides service by the application request of data file copy to user of this locality; Or, after the first cloud storage site copies to the second cloud storage site, provide service by data file by proprietary network.
In embodiment of the present invention, cloud storage system can adopt the mode to data file carries out global name space to manage, and multiple like this cloud storage site can identify same data file easily.Such as, cloud storage site, when each data file creates, for each data file distributes a global space name mark ID, is performed by the metadata store location management service unit in cloud storage site usually.
Fig. 2 is the structural representation of the cloud storage site in the cloud storage system shown in Fig. 1.The embodiment of the cloud storage site shown in Fig. 2 can be the arbitrary cloud storage site in multiple cloud storage site.For convenience of explanation, be described for the second cloud storage site.As shown in Figure 2, the second cloud storage site is configured with multiple Service Access Point 241.In an alternative embodiment, cloud storage site can be configure different Service Access Points according to the type of application service.
Second cloud storage site 24 also comprises multiple metadata location management service unit 243, at least one meta data server 245 and data file management subsystem 247.
Second cloud storage site selects a Service Access Point after receiving application request from multiple Service Access Point 241 (as 241A and 241B), such as Service Access Point 241A.Then, Service Access Point A is used for the application request received to send to the metadata location management service unit that in multiple metadata location management service unit 243 (as 243A, 243B ... 243N), load is lighter, such as metadata location management service unit 243A.In an alternative embodiment, Service Access Point 241A can be the metadata location management service unit selecting load lighter by load balancing module.
The lighter metadata location management service unit 243A of load is used for determining according to described application request and applying corresponding metadata location information, and obtains corresponding metadata according to determined metadata location information from corresponding meta data server.
Second cloud storage site of the embodiment of the present invention visits the metadata corresponding with application request by multiple Service Access Point, can make to be dispersed in different access points to the access of metadata, thus can improve the service ability of overall metadata.Then, select the lighter metadata location management service unit of load obtain and apply corresponding metadata location information, which further increases the metadata access ability of cloud storage site.By metadata location management service unit and meta data server secondary mode, the request of hundred million rank metadata can be processed.
Then, selected Service Access Point is used for obtained metadata and described application request to send to described data file management subsystem so that described data file management subsystem performs corresponding operation according to described application request.Such as, application request, after receiving application request, according to the type of application request, can be transmitted to corresponding metadata or Data Management Unit by Service Access Point, perform corresponding operation by metadata or data processing unit, after completing, return to the device sending application request.
In embodiment of the present invention, application request can comprise read request or the write request of application.
Fig. 3 is the structural representation of the data file management subsystem in the cloud storage site shown in Fig. 2.As shown in Figure 3, data file management subsystem comprises: multiple storage server 302 (as 302A, 302B ..., 302N), for storing data files, wherein data file manages in the mode that object stores and a data file has at least one object.In one embodiment, object generates when data file establishment or write operation, large bric-a-brac.For individual data file, may be made up of multiple object.In an alternative embodiment, form this data file all objects can integrated distribution in certain partition holding of the storage cluster be made up of multiple storage server
As shown in Figure 3, data file management subsystem also comprises load balancing administrative unit 304, for monitoring in described multiple storage server the loading condition of each.Load balancing administrative unit 304 be further used for such as monitor the first storage server 302A in multiple storage server write heavier loads time, sending object migration instruction.Load balancing administrative unit 304 also for such as monitor described first storage server 302A read heavier loads time, send copy set up instruction.Data file management subsystem also comprises data migration unit 306, for moving in the lighter storage server of load according to object migration instruction by the partial objects of the data file in the first storage server 302A; Or, according to described copy set up to be designated as in the first storage server 302A read access frequently data file in the storage server that load is lighter, set up multiple read-only copy, so that the read request of response application.
In the further embodiment of the present invention, the mode that described data file management subsystem can adopt classification to store improves calling data file.Such as, storage server can adopt system cache---SSD disk (Solid State Disk, solid state hard disc)/SAS disk (Serial AttachedSCSI Disk, Serial Attached SCSI (SAS) disk)---the mode that SATA disk (Serial ATA Disk, serial ports ATA disk) three grades mixing stores improves the performance of data file management subsystem.Such as, main memory capacity is provided by SATA disk, and each storage server configures a small amount of SSD disk or SAS disk, and the system cache of minute quantity.During storage, hot spots data file can be stored in system cache (buffer unit namely in storage server); Ordinary hot point data file can be stored in described SSD or SAS disk; And non-hot spot data file can be stored in described SATA disk.Hot spots data file, ordinary hot point data file and non-hot spot data file can be determined according to presetting focus judgment rule (requesting threshold of such as user).Data file management subsystem can adjust the memory location of data file at any time according to the focus statistics of data file.In embodiments of the present invention, system cache can use as the buffer memory of disk system.
In optional embodiment of the present invention, described data file management subsystem can also comprise storage balanced management unit.The file size produced due to application is uneven, therefore may there is larger difference in the space utilization rate of each storage server, in order to solve the difference in this memory space utilance, storing balanced management unit can the space utilization rate of each storage server of periodic monitoring.
Store balanced management unit 308, for monitoring in described multiple storage server the space utilization rate of each.Such as, when the space utilization rate monitoring the second storage server 302B exceedes space utilization rate threshold value, select the time period that the second storage server 302B service load is lighter, the partial objects of the data file of the second storage server 302B is moved to the less storage server of space utilization rate by designation data migration units.
The scheme that the cloud storage system of the embodiment of the present invention is combined by multi-stage equalization techniques, between sites, the Equalization Design of the aspect such as serving access node, Metadata Service and storage, data file service and storage, make the various access load of the Intra-site that not only can process single region and the unbalanced of memory load, but also the access load balancing of cross-region can be carried out.By the cloud storage system realizing load balancing of the embodiment of the present invention, the resource being distributed in each region website in whole cloud storage system can be made to be used appropriately.
Fig. 4 is according to an embodiment of the invention for the schematic flow sheet of the load-balancing method of cloud storage system.Load monitoring service unit and multiple cloud storage site is comprised according to the cloud storage system of the embodiment of the present invention.Described multiple cloud storage site comprises the first cloud storage site and the second cloud storage site, and described second cloud storage site comprises multiple Service Access Point, multiple metadata location management service unit, at least one meta data server and data file management subsystem.As shown in Figure 4, the load-balancing method of the embodiment of the present invention comprises:
S401, application request, when detecting that the load of the first cloud storage site exceedes load threshold, is transmitted to the second cloud storage site by load monitoring service unit;
S402, the second cloud storage site selects a Service Access Point from multiple Service Access Point, and the application request received is sent to selected Service Access Point;
S403, application request is sent to the metadata location management service unit that in multiple metadata location management service unit, load is lighter by selected Service Access Point;
S404, the lighter metadata location management service unit of described load is determined according to application request and applies corresponding metadata location information, then obtains corresponding metadata according to determined metadata location information from corresponding meta data server;
S405, obtained metadata and described application request are sent to described data file management subsystem so that described data file management subsystem performs corresponding operation according to described application request by selected Service Access Point.
In an alternative embodiment, described application request comprises read request or the write request of application.In an alternative embodiment, cloud storage system takes global name space to manage to data file, and described metadata store location management service unit, when data file creates, distributes a global space name for each data file and identifies ID.In an alternative embodiment, described second cloud storage site is the cloud storage site that in described multiple cloud storage site, load is lighter.
In an alternative embodiment, described file managemnent subsystem comprises multiple storage server storing data file, and wherein data file manages in the mode that object stores and a data file has at least one object.Described load-balancing method can also comprise: each loading condition in the described multiple storage server of described data file management subsystem monitoring, when monitor the first storage server write heavier loads time, the partial objects of the partial document data in described first storage server is moved in the lighter storage server of load; And/or, when monitor described first storage server read heavier loads time, for read access in described first storage server frequently data file in the storage server that load is lighter, set up multiple read-only copy with the read request of response application.
In an alternative embodiment, described load-balancing method can also comprise: described data file management subsystem to monitor in described multiple storage server each space utilization rate, when the space utilization rate monitoring the second storage server exceedes space utilization rate threshold value, select the time period that described second storage server service load is lighter, the partial objects of the partial document data of described second memory is moved to the less storage server of space utilization rate.
In an alternative embodiment, hot spots data file is stored in the buffer unit of storage server by described data file management subsystem; Ordinary hot point data file is stored in SSD or the SAS disk of storage server; And non-hot spot data file is stored in the SATA disk of storage server.
Specific descriptions about the load-balancing method for cloud storage system can describe with further reference to the part realizing the cloud storage system of load balancing of the embodiment of the present invention, do not repeat them here.
Any specific computer, virtual system or miscellaneous equipment is not limited at this algorithm provided and realization.According to description above, the structure constructed required by this type systematic is apparent.In addition, the present invention is not also for any certain programmed language.It should be understood that and various programming language can be utilized to realize content of the present invention described here, and the description done language-specific is above to disclose preferred forms of the present invention.
Those skilled in the art are appreciated that and adaptively can change the module in the equipment in embodiment and they are arranged in one or more equipment different from this embodiment.Module in embodiment or unit or assembly can be combined into a module or unit or parts, and multiple submodule or subelement or subassembly can be put them in addition.Except at least some in such feature and/or process or unit be mutually repel except, any combination can be adopted to combine all processes of all features disclosed in this specification (comprising adjoint claim, summary and accompanying drawing) and so disclosed any method or equipment or unit.Unless expressly stated otherwise, each feature disclosed in this specification (comprising adjoint claim, summary and accompanying drawing) can by providing identical, alternative features that is equivalent or similar object replaces.
In addition, although describe a large amount of details of the embodiment of the present invention in the specification of the application, but can understand, the embodiment of the present invention is not could must implement in all detail situations.In some instances, be not shown specifically known method, structure and technology, so that be expressly understood inventive concept of the present invention.
The foregoing is only preferred embodiment of the present invention, not in order to limit the present invention, within the spirit and principles in the present invention all, any amendment done, equivalent replacement, improvement etc., all should be included within protection scope of the present invention.