Patent Description:
Cloud storage is a cloud computing system whose core is data storage and management. To put it simply, cloud storage means that a resource required to be stored is uploaded to cloud for access by people in need. A user can connect, by using any apparatus that can be connected to a network, to cloud anytime and anywhere, so as to conveniently access data. Currently, mobile phone manufacturers have launched their own cloud storage solutions for storing key information, such as a photograph or a video shot by a mobile phone, or user information.

In the prior art, after backing up a local original picture (for example, a photograph) to cloud, a mobile phone usually locally caches only a thumbnail of the original picture. When a user requests to browse an original picture, the mobile phone sends a request to the cloud to request to download the original high-definition picture. A size of an original picture is <NUM> MB to <NUM> MB; and a size of a thumbnail of the original picture is <NUM> KB to <NUM> KB, which is about <NUM>/<NUM> of the original picture. Therefore, a mobile phone caches only a thumbnail, and does not cache an original picture, and excessively little storage space of a mobile phone is occupied. Generally, an original picture in a cloud is associated with a thumbnail in a local mobile phone only by using a file name. Therefore, the cloud searches for the stored original picture by using the file name.

However, when a user moves the local thumbnail to a different storage location or changes the file name of the local thumbnail, the thumbnail in the local mobile phone is not associated with the original picture in the cloud, and consequently, the user cannot obtain the high-definition picture of the original picture in the cloud.

<CIT> relates to generating prefetching profiles for prefetching data in a cloud based file system. <CIT> relates to method, device and terminal device for picture management. Document <CIT> represents relevant prior art.

To resolve a main technical problem, the present invention provides a cloud file transmission method, a terminal, and a cloud server, so that a corresponding file can be accurately obtained from cloud without being limited by an operation, for example, when a user changes a name of the file or moves an icon of the file to a different location. Therefore, terminal use experience of the user can be greatly improved. According to a first aspect, the present invention provides a cloud file transmission method, including: receiving a request for obtaining a file, where the request includes a file identifier of the file; obtaining saved first information by using the file identifier and an established first association relationship between the file identifier and the first information, where the first information is generated by performing calculation on raw data of the file, and the raw data is data that can distinguish the file from another file; sending the first information to cloud, so that the cloud finds a saved file according to the first information and an established second association relationship between the file and the first information; and receiving the file sent by the cloud.

In a first possible implementation manner of the first aspect, before the step of receiving a request for obtaining a file, the method includes: performing calculation on the raw data of the file to generate the first information; and sending the file that carries the first information to the cloud, so that the cloud saves the file and establishes the second association relationship between the file and the first information.

In a second possible implementation manner of the first aspect, before the step of receiving a request for obtaining a file, the method includes: sending the file to the cloud; and receiving the first information sent by the cloud and establishing the first association relationship between the file identifier and the first information, where the first information is generated by the cloud by performing calculation on the raw data of the file.

In a third possible implementation manner of the first aspect, the file identifier is a file name of the file.

In a fourth possible implementation manner of the first aspect, the first information is a check result generated by performing calculation on the raw data of the file by using a check algorithm.

In a fifth possible implementation manner of the first aspect, the first information is a message digest result generated by performing calculation on the raw data of the file by using a message digest algorithm.

In a sixth possible implementation manner of the first aspect, the file is a picture in a Joint Photographic Experts Group JPEG format; and before the step of receiving a request for obtaining a file, the method includes: converting the picture into a thumbnail, and using a file name of the thumbnail as a file name of the picture; performing calculation on raw data of the picture to generate the first information; saving the file name of the picture and the first information in an image file format EXIF table of the thumbnail; and sending the picture that carries the file name of the picture and the first information to the cloud, so that the cloud saves the picture and establishes a third association relationship between the picture, the file name of the picture, and the first information.

According to a second aspect, the present invention provides a cloud file transmission method, including: receiving first information sent by a terminal, where the first information is generated by performing calculation on raw data of the file, and the raw data is raw data that can distinguish the file from another file; searching for a saved file according to the first information and an established second association relationship between the file and the first information; and sending the found file to the terminal.

In a first possible implementation manner of the second aspect, before the step of receiving first information sent by a terminal, the method includes: receiving the file that is sent by the terminal and that carries the first information, so that the cloud saves the file and establishes the second association relationship between the file and the first information.

In a second possible implementation manner of the second aspect, before the step of receiving first information sent by a terminal, the method includes: receiving the file sent by the terminal; performing calculation on the raw data of the file to generate the first information; and sending the first information to the terminal, so that the terminal establishes a first association relationship between a file identifier of the file and the first information.

In a third possible implementation manner of the second aspect, the file identifier is a file name of the file.

In a fourth possible implementation manner of the second aspect, the first information is a check result generated by performing calculation on the raw data of the file by using a check algorithm.

In a fifth possible implementation manner of the second aspect, the first information is a message digest result generated by performing calculation on the raw data of the file by using a message digest algorithm.

In a sixth possible implementation manner of the second aspect, the file is a picture in a Joint Photographic Experts Group JPEG format; and before the step of receiving first information sent by a terminal, the method includes: receiving the picture sent by the terminal; converting the picture into a thumbnail, and using a file name of the thumbnail as a file name of the picture; performing calculation on raw data of the picture to generate the first information; saving the file name of the picture and the first information in an EXIF table of the thumbnail; and sending the thumbnail to the terminal, so that the terminal establishes a third association relationship between the picture, the file name of the picture, and the first information.

According to a third aspect, the present invention provides a terminal, where the terminal includes a first receiving module, an obtaining module, a first sending module, and a second receiving module, where: the first receiving module is configured to receive a request for obtaining a file, where the request includes a file identifier of the file; the obtaining module is configured to obtain saved first information by using the file identifier and an established first association relationship between the file identifier and the first information, where the first information is generated by performing calculation on raw data of the file, and the raw data is data that can distinguish the file from another file; the first sending module is configured to send the first information to cloud, so that the cloud finds a saved file according to the first information and an established second association relationship between the file and the first information; and the second receiving module is configured to receive the file sent by the cloud.

In a first possible implementation manner of the third aspect, the terminal further includes a first generation module and a second sending module, where: the first generation module is configured to perform calculation on the raw data of the file to generate the first information; and the second sending module is configured to send the file that carries the first information to the cloud, so that the cloud saves the file and establishes the second association relationship between the file and the first information.

In a second possible implementation manner of the third aspect, the terminal further includes a third sending module and a third receiving module, where: the third sending module is configured to send the file to the cloud; and the third receiving module is configured to receive the first information sent by the cloud and establish the first association relationship between the file identifier and the first information, where the first information is generated by the cloud by performing calculation on the raw data of the file.

In a third possible implementation manner of the third aspect, the file identifier is a file name of the file.

In a fourth possible implementation manner of the third aspect, the first information is a check result generated by performing calculation on the raw data of the file by using a check algorithm.

In a fifth possible implementation manner of the third aspect, the first information is a message digest result generated by performing calculation on the raw data of the file by using a message digest algorithm.

In a sixth possible implementation manner of the third aspect, the file is a picture in a Joint Photographic Experts Group JPEG format; and the terminal further includes a conversion module, a second generation module, a storage module, and a fourth sending module, where: the conversion module is configured to convert the picture into a thumbnail, and use a file name of the thumbnail as a file name of the picture; the second generation module is configured to perform calculation on raw data of the picture to generate the first information; the storage module is configured to store the file name of the picture and the first information in an image file format EXIF table of the thumbnail; and the fourth sending module is configured to send the picture that carries the file name of the picture and the first information to the cloud, so that the cloud saves the picture and establishes a third association relationship between the picture, the file name of the picture, and the first information.

According to a fourth aspect, the present invention provides a cloud server, where the server includes a first receiving module, a search module, and a first sending module, where: the first receiving module is configured to receive first information sent by a terminal, where the first information is generated by performing calculation on raw data of the file, and the raw data is data that can distinguish the file from another file; the search module is configured to search for a saved file according to the first information and an established second association relationship between the file and the first information; and the first sending module is configured to send the found file to the terminal.

In a first possible implementation manner of the fourth aspect, the server further includes a second receiving module, where the second receiving module is configured to receive the file that is sent by the terminal and that carries the first information, so that the cloud saves the file and establishes the second association relationship between the file and the first information.

In a second possible implementation manner of the fourth aspect, the server further includes a third receiving module, a first generation module, and a second sending module, where: the third receiving module is configured to receive the file sent by the terminal; the first generation module is configured to perform calculation on the raw data of the file to generate the first information; and the second sending module is configured to send the first information to the terminal, so that the terminal establishes a first association relationship between a file identifier of the file and the first information.

In a third possible implementation manner of the fourth aspect, the file identifier is a file name of the file.

In a fourth possible implementation manner of the fourth aspect, the first information is a check result generated by performing calculation on the raw data of the file by using a check algorithm.

In a fifth possible implementation manner of the fourth aspect, the first information is a message digest result generated by performing calculation on the raw data of the file by using a message digest algorithm.

In a sixth possible implementation manner of the fourth aspect, the file is a picture in a Joint Photographic Experts Group JPEG format; and the server further includes a fourth receiving module, a conversion module, a second generation module, a storage module, and a third sending module, where: the fourth receiving module is configured to receive the file sent by the terminal; the conversion module is configured to convert the picture into a thumbnail, and use a file name of the thumbnail as a file name of the picture; the second generation module is configured to perform calculation on raw data of the picture to generate the first information; the storage module is configured to store the file name of the picture and the first information in an EXIF table of the thumbnail; and the third sending module is configured to send the thumbnail to the terminal, so that the terminal establishes a third association relationship between the picture, the file name of the picture, and the first information.

According to a fifth aspect, the present invention provides a terminal, where the terminal includes a processor, a memory coupled to the processor, a receiver, and a transmitter, where the receiver is configured to receive a request for obtaining a file, where the request includes a file identifier of the file; the memory is configured to store an established first association relationship between the file identifier and the first information, and store the first information; the processor is configured to invoke the memory, and obtain saved first information by using the file identifier and the established first association relationship that is between the file identifier and the first information and that is stored in the memory, where the first information is generated by performing calculation on raw data of the file, and the raw data is data that can distinguish the file from another file; the transmitter is configured to send, under control of the processor, the first information to cloud, so that the cloud finds a saved file according to the first information and an established second association relationship between the file and the first information; and the receiver is configured to receive, under control of the processor, the file sent by the cloud, and store the file in the memory.

According to a sixth aspect, the present invention provides a cloud server, where the server includes a processor, a memory coupled to the processor, a receiver, and a transmitter, where: the memory is configured to store first information, store an established second association relationship between a file and the first information, and store the file; the receiver is configured to receive, under control of the processor, the first information sent by a terminal, where the first information is generated by performing calculation on raw data of the file, and the raw data is data that can distinguish the file from another file; the processor is configured to invoke the memory, and search for, according to the first information and the established second association relationship that is between the file and the first information and that is stored in the memory, the file stored in the memory; and the transmitter is configured to send, under control of the processor, the found file to the terminal.

A beneficial effect of the present invention is: Different from the prior art, in the present invention, a request for obtaining a file is received, where the request includes a file identifier of the file; saved first information is obtained by using the file identifier and an established first association relationship between the file identifier and the first information; the first information is sent to a cloud; and then the file sent by the cloud is received. The first information is generated by performing calculation on raw data of the file, and the raw data is data that can distinguish the file from another file. Therefore, in this manner, a user can accurately obtain a corresponding file from cloud without being limited by an operation, for example, when a user changes a name of the file or moves an icon of the file to a different location. Further, terminal use experience of a user can be greatly improved.

In the following, the present invention is described in detail with reference to the accompanying drawings and implementation manners.

Referring to <FIG> is a flowchart of an implementation manner of a cloud file transmission method according to the present invention. This flowchart is a flowchart executed from a perspective of a terminal. An application scenario of the method is: because of limited storage space, a terminal usually uploads a file (especially a file that occupies large space, such as a picture) to cloud for saving; when requesting to obtain a file, a user downloads a corresponding file from the cloud to the terminal. In the present invention, a new association relationship is established, so as to accurately obtain a corresponding file, even if a user performs an operation such as changing a name of the file or moving an icon of the file to a different location. The method specifically includes the following steps.

Step S101: Receive a request for obtaining a file, where the request includes a file identifier of the file.

A file identifier is used to identify a file, and there is a corresponding association relationship between the file identifier and the file. A user can send, in many manners, a request for obtaining a file, for example: a user taps an icon of the file, or a user sends a request by entering a name of the file, or a user enters an incomplete character to search, and then taps a corresponding search result. In these manners, the icon, the name of the file, a character, and the like are all file identifiers. After a terminal receives these requests of the user, a request for obtaining a file is received.

Step S102: Obtain saved first information by using the file identifier and an established first association relationship between the file identifier and the first information, where the first information is generated by performing calculation on raw data of the file, and the raw data is data that can distinguish the file from another file.

Raw data of a file is inherent data in the file, and can distinguish the file from another file, such as a creation date or time of the file, a file type (an office document, a picture, a video, audio, user information, a PDF document, or the like), a file size, and characteristic content of the file. If the file is a picture, raw data may further include various photographing conditions, such as a photographing aperture, a shutter, white balance, light sensitivity ISO, and a focal length, and a brand, a model, and a color code that are of a camera used for photographing, and a sound recorded during photographing. When a file is created in the terminal, the raw data is inherent and unique data that is distinguished from raw data of another file.

An expression form of the data is binary data. First information may be generated by performing calculation on the data (that is, binary data). Because raw data is inherent and unique data that is distinguished from raw data of another file, first information has a corresponding feature, that is, same first information is obtained by performing calculation on same raw data, and different first information is obtained by performing calculation on different raw data. Therefore, if the first information is the same, it can be considered that this file is a file required by a user; or if the first information is different, it can be considered that this file is not a file required by a user. First information of a file remains unchanged even if a user performs an operation such as changing a name of the file or moving an icon of the file to a different location. Therefore, a corresponding file can be accurately determined according to the first information.

First information is information used to search for a file, and a first association relationship between a file identifier and first information is pre-established. After a request for obtaining a file by a user is received, saved first information may be obtained by using the file identifier and the established first association relationship between the file identifier and the first information.

Step S103: Send the first information to cloud, so that the cloud finds a saved file according to the first information and an established second association relationship between the file and the first information.

The cloud saves the file, and further stores the established second association relationship between the file and the first information. The first information is sent to the cloud, so that after receiving the first information, the cloud may find the saved file according to the established second association relationship between the file and the first information.

Step S104: Receive the file sent by the cloud.

In this implementation manner of the present invention, a request for obtaining a file is received, where the request includes a file identifier of the file; saved first information is obtained by using the file identifier and an established first association relationship between the file identifier and the first information; the first information is sent to a cloud; and then the file sent by the cloud is received. The first information is generated by performing calculation on raw data of the file, and the raw data is data that can distinguish the file from another file. Therefore, in this manner, a user can accurately obtain a corresponding file from cloud without being limited by an operation, for example, when a user changes a name of the file or moves an icon of the file to a different location. Further, terminal use experience of a user can be greatly improved.

In the present invention, before start of a process in <FIG>, a process in which calculation is performed on raw data of a file to generate first information may be executed in a terminal, or may be executed in a cloud. Detailed processes are separately described.

For a process in which calculation is performed on raw data of a file to generate first information and that is executed in a terminal, refer to <FIG>. Before step S101, the method includes:.

For a process in which calculation is performed on raw data of a file to generate first information and that is executed in a cloud, refer to <FIG>. From a perspective of a terminal, before step S101, the method includes:.

The first information is a check result generated by performing calculation on the raw data of the file by using a check algorithm. The check algorithm includes but is not limited to a cyclic redundancy algorithm, a hash algorithm, and a parity algorithm.

When code is entered into a computer or another device as data, an input error may easily occur. To reduce an input error, coding experts invent various check and error detection methods, and set check codes according to these methods. Code (for example, organization code) with a check code includes two parts: a master code and a check code. The master code represents a number of a coded object; and the check code is a number that is appended to the master code and that is used to check accuracy of the master code in an input process. Each master code can have only one check code, and the check code is obtained according to a specified mathematical relationship. Therefore, in this application, the raw data of the file is entered as the master code, and a check code (a check result) may be obtained according to a specified mathematical relationship. Each master code has only one check code, and there is only one check result of the raw data of the file, so that an association relationship between a file and a check result can be formed.

The first information is a message digest result generated by performing calculation on the raw data of the file by using a message digest algorithm. The message digest algorithm includes but is not limited to an MD5 algorithm and an SHA-<NUM> algorithm. A main feature of the message digest algorithm is that a key is not required in an encryption process, and encrypted data cannot be decrypted. A same ciphertext can be obtained only by using a same message digest algorithm after same cleartext data is entered. Therefore, message digest results obtained by performing calculation on raw data of same files by using a message digest algorithm are the same, so that an association relationship between a file and a message digest result can be formed.

The file identifier is a file name of the file.

When the file identifier is a file name of the file, the terminal may further send the file name of the file to the cloud. When the cloud searches for the file, a preliminary search may be performed by using the file name, and then comparison is further performed by using first information (such as a check result and a message digest result), so as to ensure that a found file is a corresponding file required by a user.

It can be learned from data of user research that, currently, consumers have a requirement for classifying different photographs by themselves. Therefore, a file name is generally assigned to a file, and a feature that a file identifier is a file name of a file can meet the foregoing requirement of the user, so as to improve user experience.

The file is a picture in a Joint Photographic Experts Group JPEG format.

In this case, referring to <FIG>, before step S101, the method includes:
Step S401: Convert a picture into a thumbnail, and use a file name of the thumbnail as a file name of the picture; and perform calculation on raw data of the picture to generate first information.

The first information may be generated by performing calculation on the raw data of the picture by using a check algorithm or a message digest algorithm.

Step S402: Store the file name of the picture and the first information in an image file format EXIF table of the thumbnail. For the EXIF table of the thumbnail, refer to Table <NUM>.

Step S403: Send a picture that carries the file name of the picture and the first information to cloud, so that the cloud saves the picture and establishes a third association relationship between the picture, the file name of the picture, and the first information.

After receiving a request for obtaining the file, the terminal first extracts the file name and a check result of the file in the EXIF table of the thumbnail, and sends the file name and the check result (first information) to the cloud, so that the cloud finds the file according to the file name and the check result. The cloud first performs preliminary search by using the file name, and then further performs comparison by using the check result, so as to ensure that a found picture is a file corresponding to a thumbnail.

Referring to <FIG> is a flowchart of still yet another implementation manner of a cloud file transmission method according to the present invention. This flowchart corresponds to a flowchart of <FIG>, and is a flowchart executed from a perspective of a cloud. The method specifically includes the following steps.

Step S501: Receive first information sent by a terminal, where the first information is generated by performing calculation on raw data of a file, and the raw data is data that can distinguish the file from another file.

Raw data of a file is inherent data in the file, and can be used to distinguish the file from another file, such as a creation date or time of a file, a file type (such as an office document, a picture, and a PDF document), a file size, and file characteristic content. If the file is a picture, raw data may further include various photographing conditions, such as a photographing aperture, a shutter, white balance, light sensitivity ISO, and a focal length, and a brand, a model, and a color code that are of a camera used for photographing, and a sound recorded during photographing. When a file is created in the terminal, the raw data is inherent and unique data that is distinguished from raw data of another file.

An expression form of the raw data is binary data. First information may be generated by performing calculation on the raw data (that is, binary data). Because raw data is inherent and unique data that is distinguished from raw data of another file, first information has a corresponding feature, that is, same first information is obtained by performing calculation on same raw data, and different first information is obtained by performing calculation on different raw data. Therefore, if the first information is the same, it can be considered that this file is a file required by a user; or if the first information is different, it can be considered that this file is not a file required by a user. First information of a file remains unchanged even if a user performs an operation such as changing a name of the file or moving an icon of the file to a different location. Therefore, a corresponding file can be accurately determined according to the first information.

Step S502: Search for a saved file according to the first information and an established second association relationship between the file and the first information. A second association relationship between a file and first information is pre-established. After the first information sent by the terminal is received, the file may be found by using the first information and the established second association relationship between the file and the first information.

Step S503: Send the found file to the terminal.

In this implementation manner of the present invention, first information is generated by performing calculation on raw data of a file, and the raw data is data that can distinguish the file from another file. Therefore, in this manner, a cloud can accurately find a corresponding file without being limited by an operation, for example, when a user changes a name of the file or moves an icon of the file to a different location. Further, terminal use experience of a user can be greatly improved.

For a process in which calculation is performed on raw data of a file to generate first information and that is executed in a terminal, refer to <FIG>. From a perspective of a cloud, before step S501, the method includes:.

The process in which calculation is performed on raw data of a file to generate first information is executed in the terminal. Therefore, the terminal sends the file that carries the first information to the cloud in advance. After receiving the file, the cloud saves the file and establishes the second association relationship between the file and the first information.

For a process in which calculation is performed on raw data of a file to generate first information and that is executed in a cloud, refer to <FIG>. From a perspective of the cloud, before step S501, the method includes:.

The first information is a check result generated by performing calculation on the raw data of the file by using a check algorithm. The check algorithm includes but is not limited to a cyclic redundancy algorithm, a hash algorithm, and a parity algorithm. When code is entered into a computer or another device as data, an input error may easily occur. To reduce an input error, coding experts invent various check and error detection methods, and set check codes according to these methods. Code (for example, organization code) with a check code includes two parts: a master code and a check code. The master code represents a number of a coded object; and the check code is a number that is appended to the master code and that is used to check accuracy of the master code in an input process. Each master code can have only one check code, and the check code is obtained according to a specified mathematical relationship. Therefore, in this application, the raw data of the file is entered as the master code, and a check code (a check result) may be obtained according to a specified mathematical relationship. Each master code has only one check code, and there is only one check result of the raw data of the file, so that an association relationship between a file and a check result can be formed. The file has a file identifier in the terminal, and further, an association relationship between the file identifier and the check result is formed.

When the file identifier is a file name of the file, the terminal may further send the file name to the cloud. When the cloud searches for the file, a preliminary search may be performed by using the file name, and then comparison is further performed by using first information (such as a check result and a message digest result), so as to ensure that a found file is a corresponding file required by a user.

In this case, referring to <FIG>, before step S501, the method includes:.

Step S803: Store the file name of the picture and the first information in an EXIF table of the thumbnail.

Step S804: Send the thumbnail to the terminal, so that the terminal establishes a third association relationship between the picture, the file name of the picture, and first information.

Referring to <FIG> is a schematic structural diagram of an implementation manner of a terminal according to the present invention. The steps in <FIG> may be executed by the terminal. For detailed description, refer to related text description in the foregoing method process. The terminal includes a first receiving module <NUM>, an obtaining module <NUM>, a first sending module <NUM>, and a second receiving module <NUM>.

The first receiving module <NUM> is configured to receive a request for obtaining a file, where the request includes a file identifier of the file.

The obtaining module <NUM> is configured to obtain saved first information by using the file identifier and an established first association relationship between the file identifier and the first information, where the first information is generated by performing calculation on raw data of the file, and the raw data is data that can distinguish the file from another file.

The first sending module <NUM> is configured to send the first information to cloud, so that the cloud finds a saved file according to the first information and an established second association relationship between the file and the first information.

The second receiving module <NUM> is configured to receive the file sent by the cloud.

Referring to <FIG>, the terminal further includes a first generation module <NUM> and a second sending module <NUM>.

The first generation module <NUM> is configured to perform calculation on the raw data of the file to generate the first information.

The second sending module <NUM> is configured to send the file that carries the first information to the cloud, so that the cloud saves the file and establishes the second association relationship between the file and the first information.

Referring to <FIG>, the terminal further includes a third sending module <NUM> and a third receiving module <NUM>.

The third sending module <NUM> is configured to send the file to the cloud.

The third receiving module <NUM> is configured to receive the first information sent by the cloud and establish the first association relationship between the file identifier and the first information, where the first information is generated by the cloud by performing calculation on the raw data of the file.

The first information is a check result generated by performing calculation on the raw data of the file by using a check algorithm.

The first information is a message digest result generated by performing calculation on the raw data of the file by using a message digest algorithm.

Referring to <FIG>, the terminal further includes a conversion module <NUM>, a second generation module <NUM>, a storage module <NUM>, and a fourth sending module <NUM>.

The conversion module <NUM> is configured to convert the picture into a thumbnail, and use a file name of the thumbnail as a file name of the picture.

The second generation module <NUM> is configured to perform calculation on raw data of the picture to generate the first information.

The storage module <NUM> is configured to store the file name of the picture and the first information in an image file format EXIF table of the thumbnail.

The fourth sending module <NUM> is configured to send the picture that carries the file name of the picture and the first information to the cloud, so that the cloud saves the picture and establishes a third association relationship between the picture, the file name of the picture, and the first information.

Referring to <FIG> is a schematic structural diagram of an implementation manner of a cloud server according to the present invention. The steps in <FIG> may be executed by the server. For detailed description, refer to related text description in the foregoing method process. The server includes a first receiving module <NUM>, a search module <NUM>, and a first sending module <NUM>.

The first receiving module <NUM> is configured to receive first information sent by a terminal, where the first information is generated by performing calculation on raw data of the file, and the raw data is data that can distinguish the file from another file. The search module <NUM> is configured to search for a saved file according to the first information and an established second association relationship between the file and the first information.

The first sending module <NUM> is configured to send the found file to the terminal.

Referring to <FIG>, the server further includes a second receiving module <NUM> and a storage module <NUM>.

The second receiving module <NUM> is configured to receive the file that is sent by the terminal and that carries the first information.

The storage module <NUM> is configured to store the file and establish the second association relationship between the file and the first information.

Referring to <FIG>, the server further includes a third receiving module <NUM>, a first generation module <NUM>, and a second sending module <NUM>.

The third receiving module <NUM> is configured to receive the file sent by the terminal. The first generation module <NUM> is configured to perform calculation on the raw data of the file to generate the first information.

The second sending module <NUM> is configured to send the first information to the terminal, so that the terminal establishes a first association relationship between a file identifier of the file and the first information.

Referring to <FIG>, the server further includes a fourth receiving module <NUM>, a conversion module <NUM>, a second generation module <NUM>, a storage module <NUM>, and a third sending module <NUM>.

The fourth receiving module <NUM> is configured to receive the file sent by the terminal. The conversion module <NUM> is configured to convert the picture into a thumbnail, and use a file name of the thumbnail as a file name of the picture.

The storage module <NUM> is configured to store the file name of the picture and the first information in an EXIF table of the thumbnail.

The third sending module <NUM> is configured to send the thumbnail to the terminal, so that the terminal establishes a third association relationship between the picture, the file name of the picture, and the first information.

Referring to <FIG> is a schematic structural diagram of an entity apparatus of an implementation manner of a terminal according to the present invention. The steps in <FIG> may be executed by the terminal in this implementation manner. For detailed description, refer to related text description in the foregoing method process.

The terminal includes a processor <NUM>, a memory <NUM> coupled to the processor <NUM>, a receiver <NUM>, and a transmitter <NUM>.

The receiver <NUM> is configured to receive a request for obtaining a file, where the request includes a file identifier of the file.

The memory <NUM> is configured to store an established first association relationship between the file identifier and the first information, and store the first information.

The processor <NUM> is configured to invoke the memory <NUM>, and obtain saved first information by using the file identifier and the established first association relationship that is between the file identifier and the first information and that is stored in the memory <NUM>, where the first information is generated by performing calculation on raw data of the file, and the raw data is data that can distinguish the file from another file.

The transmitter <NUM> is configured to send, under control of the processor <NUM>, the first information to cloud, so that the cloud finds a saved file according to the first information and an established second association relationship between the file and the first information.

The receiver <NUM> is configured to receive, under control of the processor <NUM>, the file sent by the cloud, and store the file in the memory.

Referring to <FIG> is a schematic structural diagram of an entity apparatus of an implementation manner of a cloud server according to the present invention. The steps in <FIG> may be executed by a terminal in this implementation manner. For detailed description, refer to related text description in the foregoing method process.

The server includes a processor <NUM>, a memory <NUM> coupled to the processor <NUM>, a receiver <NUM>, and a transmitter <NUM>.

The memory <NUM> is configured to store first information, store an established second association relationship between a file and the first information, and store the file.

The receiver <NUM> is configured to receive, under control of a processor, the first information sent by a terminal, where the first information is generated by performing calculation on raw data of the file, and the raw data is raw data that can distinguish the file from another file.

The processor <NUM> is configured to invoke the memory <NUM>, and search for, according to the first information and the established second association relationship that is between the file and the first information and that is stored in the memory <NUM>, the file stored in the memory <NUM>.

The transmitter <NUM> is configured to send, under control of the processor <NUM>, the found file to the terminal.

In the several embodiments provided in the present invention, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the module or unit division is merely logical function division and may be other division in actual implementation.

In addition, function units in the embodiments of the present invention may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.

When the integrated unit is implemented in the form of a software function unit and sold or used as an independent product, the integrated unit may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of the present invention essentially, or the part contributing to the prior art, or all or a part of the technical solutions may be implemented in the form of a software product. The software product is stored in a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) or a processor (processor) to perform all or a part of the steps of the methods described in the embodiments of the present invention. The foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk, or an optical disc.

Claim 1:
A cloud file transmission method in a cloud computing system, the cloud computing system comprising a cloud server and a terminal, wherein the method comprises:
receiving (S <NUM>), by the terminal, a request for obtaining a file, wherein the request comprises a file identifier of the file;
obtaining (S102) , by the terminal, first information by using the file identifier and an established first association relationship between the file identifier and the first information;
sending (S103) , by the terminal, the first information to a cloud server, whereby the cloud server finds a saved file according to the first information and an established second association relationship between the file and the first information; and
receiving (S104), by the terminal, the file sent by the cloud server;
wherein the method further comprises:
receiving (S501), by the cloud server, the first information sent by the terminal;
searching (S502), by the cloud server, for a saved file according to the first information and an established second association relationship between the file and the first information; and
sending (S503), by the cloud server, the found file to the terminal;
wherein the first information is a check result generated by performing calculation on the raw data of the file by using a check algorithm, or wherein, the first information is a message digest result generated by performing calculation on the raw data of the file by using a message digest algorithm;
wherein the file identifier is a file name of the file; and
wherein the first information is generated by performing calculation on raw data of the file, and the raw data is data that can distinguish the file from another file; and wherein the first information is specifically a check result generated by performing calculation on the raw data of the file by using a check algorithm, or wherein, the first information is a message digest result generated by performing calculation on the raw data of the file by using a message digest algorithm.