1. Technical Field
Embodiments of the present disclosure relate to cloud computing systems and methods, and particularly to a cloud computing device and method for storing data files in one or more cloud servers.
2. Description of Related Art
Cloud computing systems provide computation, software application, data access, and storage services that do not require end-user knowledge of the physical location and configuration of the cloud computing systems. Data files can be stored in cloud storage devices at different remote locations which are accessed from various terminal devices. The data files stored in the different cloud storage devices are accessible by the terminal devices when the terminal devices are connected to a network such as the Internet. However, transmission of data files may hog network resources of the cloud computing system, so as to limit the usefulness of cloud computing services of the cloud computing system. Therefore, there is room for improvement within the cloud computing system.
The present disclosure, including the accompanying drawings, is illustrated by way of examples and not by way of limitation. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean “at least one.”
In the present disclosure, the word “module,” as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a program language. In one embodiment, the program language may be Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an EPROM. The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of non-transitory computer-readable medium or other storage system. Some non-limiting examples of a non-transitory computer-readable medium include CDs, DVDs, flash memory, and hard disk drives.
In one embodiment, each of the cloud servers 3 may be a file server or a data storage system that stores data files, that are uploaded or downloaded from the terminal device 2, and applications that can be shared with the terminal device 2. The terminal device 2 can upload the data files to the cloud servers 3 and download data files from the cloud servers 3 when the terminal device 2 connects to the cloud servers 3 to share cloud computing services. In the embodiment, each of the data files may be a text file, an image file, or a multimedia data file including audio data and video data.
The cloud computing device 1 may include a storage device 11 and at least one processor 12. In one embodiment, the storage device 11 may be an internal storage system, such as a random access memory (RAM) for temporary storage of information, and/or a read only memory (ROM) for permanent storage of information. The storage device 11 may also be an external storage system, such as an external hard disk, a storage card, or a data storage medium. The at least one processor 12 is a central processing unit (CPU) or microprocessor that performs various functions of the cloud computing device 1.
In one embodiment, the cloud file storing system 10 includes a file list generating module 101, a file division module 102, a file uploading module 103, an information obtaining module 104, and a file downloading module 105. The modules 101-105 may comprise computerized instructions in the form of one or more programs that are stored in the storage device 11 and executed by the at least one processor 12. A description of each module is given in the following paragraphs.
In step S21, the file list generating module 101 receives one or more data files from the terminal device 2, and determines a file storing mode of each of the data files. In one embodiment, the file storing mode of a data file defines how to divide the data file into data blocks, and defines how many data blocks can be stored in each of the cloud servers 3. Referring to
In step S22, the file list generating module 101 generates a file information list of the data files according to the file storing modes. In the embodiment, the file information list includes a file name of each of the data files, information on data blocks of each of the data files, and a storing location of each of the data blocks that needs to be stored in the cloud servers 3.
In step S23, the file division module 102 searches one or more cloud servers 3 according to the file information list, and creates a data transmission channel between the cloud computing device 1 and each of the searched cloud servers 3. For example, if the data file named File_1 needs to be stored in three cloud servers 3, the file division module 102 may search the cloud servers 3 such as Server_1, Server_2 and Server_3 according to the file storing location, and respectively creates a data transmission channel between the cloud computing device 1 and the cloud servers 3 named Server_1, Server_2 and Server_3.
In step S24, the file division module 102 divides each of the data files into a plurality of data blocks according to the file information list. Referring to
In step S25, the file uploading module 103 uploads each of the data blocks to the cloud servers 3 according to the file storing location of each of the data blocks stored in the file information list. Referring to
In step S26, the file uploading module 103 determines whether all the data blocks of the data files have been successfully uploaded to the cloud servers 3. If all the data blocks of the data files have been uploaded to the cloud servers 3, step S27 is implemented. Otherwise, if any data block of the data files have not been uploaded to the cloud servers 3, the process goes back to step S25.
In step S27, the file uploading module 103 sends a successful message indicating that the data files have been stored in the cloud servers 3 successfully, and stores the file information list in the storage device 11 of the cloud computing device 1.
In step S31, the information obtaining module 104 receives a file downloading command from the terminal device 1 for downloading a data file from the cloud servers 3. For example, if a user wants to download a data file named as File_1, the user needs to input the file name File_1 as the file downloading command from the terminal device 1.
In step S32, the information obtaining module 104 checks the file information list to determine whether the data file exists in the cloud servers 3. If the data file exists in the cloud servers 3, step S34 is implemented. Otherwise, if the data file does not exist in the cloud servers 3, step S33 is implemented.
In step S33, the information obtaining module 104 generates a failure message indicating that the data file does not exist in the cloud servers 3, and sends the failure message to the terminal device 1 for informing the user that no data file is found in the cloud servers 3.
In step S34, the information obtaining module 104 obtains a file storing location of each of the data blocks from the file information list stored in storage device 11 of the cloud computing device 1. As shown in
In step S35, the file downloading module 105 downloads each data block of the data file from the cloud servers 3 according to the file storing location of each data block stored in the file information list. For example, the data block DB_11 is downloaded from the cloud server 3 named Server_1, the data block DB_12 is downloaded from the cloud server 3 named Server_2, and the data block DB_1n is downloaded from the cloud server 3 named Server_n.
In step S36, the file downloading module 105 determines whether all the data blocks of the data file have been downloaded from the cloud servers 3. If all the data blocks of the data file have been downloaded from the cloud servers 3, step S37 is implemented. Otherwise, if any data block of the data file have not been downloaded from the cloud servers 3, the process goes back to step S35.
In step S37, the file downloading module 105 combines all the downloaded data blocks to generate a complete data file. In the embodiment, the file downloading module 105 generates the complete data file named File_1 by combining all the data blocks (i.e., DB_11, DB_12, DB_13, . . . , and DB_1n) downloaded from the cloud servers 3.
In step S38, the file downloading module 105 sends the complete data file to the terminal device 2 through the network, so that the user can use the data file (e.g., File_1) through the terminal device 2.
Although certain disclosed embodiments of the present disclosure have been specifically described, the present disclosure is not to be construed as being limited thereto. Various changes or modifications may be made to the present disclosure without departing from the scope and spirit of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
2012102848764 | Aug 2012 | CN | national |