CN112887349A - Method and device for distributing files - Google Patents

Method and device for distributing files Download PDF

Info

Publication number
CN112887349A
CN112887349A CN201911202079.5A CN201911202079A CN112887349A CN 112887349 A CN112887349 A CN 112887349A CN 201911202079 A CN201911202079 A CN 201911202079A CN 112887349 A CN112887349 A CN 112887349A
Authority
CN
China
Prior art keywords
file
cost
stored
files
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911202079.5A
Other languages
Chinese (zh)
Other versions
CN112887349B (en
Inventor
杨涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201911202079.5A priority Critical patent/CN112887349B/en
Publication of CN112887349A publication Critical patent/CN112887349A/en
Application granted granted Critical
Publication of CN112887349B publication Critical patent/CN112887349B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The embodiment of the disclosure discloses a method and a device for distributing files. The method comprises the following steps: acquiring cost data of the stored files; the cost data comprises the following data in the storage data volume and the preset time from the current time: request quantity and flow; based on the cost data of the stored file, calculating the following cost of the stored file: current cost, target distribution cost, and migration cost; and determining the stored file as the file needing to be migrated in response to the current cost, the target distribution cost and the migration cost meeting the judgment condition of the file needing to be migrated. The method can accurately and effectively determine the files to be migrated, and improves the efficiency of distributing the files according to the cost subsequently.

Description

Method and device for distributing files
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to the field of image recognition technologies, and in particular, to a method and an apparatus for distributing files.
Background
In recent years, with the development of object storage services of public cloud technology, file distribution becomes easier, and only object storage services provided by cloud service manufacturers such as AWS, GCE, Azure, arry, and Baidu need to be accessed, so that file distribution can be conveniently performed over the whole network.
The traditional file distribution generally only selects the object storage service of a single cloud service provider, the pricing mode of the cloud service provider is not linear, the storage strategy and the pricing strategy of different cloud service providers are different, and how to distribute files of the same size with the minimum cost becomes a main problem in the industry.
The existing scheme for optimizing the file distribution cost is to calculate the expected cost by combining pricing formulas of a plurality of storage modes provided by each cloud service provider according to the scale and distribution performance requirements of files, and to select the most appropriate cloud service provider as a sole service provider by integrating other factors (reliability, functional integrity) and the like.
Disclosure of Invention
The embodiment of the disclosure provides a method and a device for distributing files.
In a first aspect, an embodiment of the present disclosure provides a method for distributing a file, including: acquiring cost data of the stored files; the cost data comprises the following data in the storage data volume and the preset time from the current time: request quantity and flow; based on the cost data of the stored file, calculating the following cost of the stored file: current cost, target distribution cost, and migration cost; and determining the stored file as the file needing to be migrated in response to the current cost, the target distribution cost and the migration cost meeting the judgment condition of the file needing to be migrated.
In some embodiments, calculating the current cost of the stored file comprises: and calculating the cost of the stored file in the current back-end storage and the current storage strategy according to the cost data of the stored file to obtain the current cost of the stored file.
In some embodiments, calculating the target distribution cost for the stored file based on the cost data for the stored file comprises: and determining the minimum value of the cost of the stored files in different backend storages and different storage strategies as the target distribution cost of the stored files according to the cost data of the stored files.
In some embodiments, calculating the migration cost of the stored file based on the cost data of the stored file comprises: if the stored files are stored in the same back end before and after the migration, and only the storage strategy of the stored files is adjusted, the migration cost of the stored files is 0; and if the stored files are stored in different back-end storage before and after migration, taking the sum of the file migration flow cost calculated based on the storage data volume of the stored files and the cost of the system resources consumed by migration as the migration cost.
In some embodiments, in response to the current cost, the target distribution cost, and the migration cost meeting the determination condition of the file to be migrated, determining the stored file as the file to be migrated includes: calculating the sum of the current cost and the migration cost; and if the ratio of the sum to the target distribution cost is greater than a preset value, determining the file to be the file needing to be migrated.
In some embodiments, the method of distributing files further comprises: marking files needing to be migrated; and/or migrating the files needing to be migrated by adopting a target back-end storage and target storage strategy corresponding to the target distribution cost.
In some embodiments, the method of distributing files further comprises: the method for distributing the files is triggered and executed by adopting a timing task.
In some embodiments, the method of distributing files further comprises: receiving a file uploading request; acquiring the storage data volume and the uploading file ID of the file from a request header of a file uploading request; selecting the back-end storage with the lowest storage cost as the initial back-end storage; uploading the file indicated by the uploading file ID to the initial back-end storage, and storing the mapping relation between the uploading file ID and the storage position of the initial back-end storage into a database.
In some embodiments, the method of distributing files further comprises: receiving a file downloading request; acquiring a downloading file ID from a request header of a file downloading request; determining a redirection URL from the cache according to the ID of the downloaded file; redirecting the file download request to a redirection URL; and sending the redirection URL to the client so as to realize that the client downloads the file corresponding to the download file ID based on the redirection URL.
In some embodiments, determining the redirect URL from the cache based on the download file ID comprises: inquiring whether the latest URL exists in the cache or not according to the ID of the downloaded file; if the query result is that the latest URL exists, taking the queried latest URL as a redirection URL; if the query result shows that the latest URL does not exist, the uploading file ID matched with the downloading file ID is queried from the mapping relation stored in the database, the temporary downloading URL is obtained from the API (application program interface) stored at the back end corresponding to the queried uploading file ID based on the storage position of the back end corresponding to the queried uploading file ID, the obtained temporary downloading URL is stored in a cache, the expiration time of the temporary downloading URL stored in the cache is set to be preset time, and the process of jumping to the execution and querying whether the latest URL exists in the cache according to the downloading file ID is carried out.
In a second aspect, an embodiment of the present disclosure provides an apparatus for distributing files, including: a cost data acquisition unit configured to acquire cost data of the stored file; the cost data comprises the following data in the storage data volume and the preset time from the current time: request quantity and flow; a storage cost calculation unit configured to calculate the following cost of the stored file based on the cost data of the stored file: current cost, target distribution cost, and migration cost; and the migration file determining unit is configured to determine the stored file as the file needing to be migrated in response to the current cost, the target distribution cost and the migration cost meeting the judgment condition of the file needing to be migrated.
In some embodiments, the storage cost calculation unit is further configured to: and calculating the cost of the stored file in the current back-end storage and the current storage strategy according to the cost data of the stored file to obtain the current cost of the stored file.
In some embodiments, the storage cost calculation unit is further configured to: and determining the minimum value of the cost of the stored files in different backend storages and different storage strategies as the target distribution cost of the stored files according to the cost data of the stored files.
In some embodiments, the storage cost calculation unit is further configured to: if the stored files are stored in the same back end before and after the migration, and only the storage strategy of the stored files is adjusted, the migration cost of the stored files is 0; and if the stored files are stored in different back-end storage before and after migration, taking the sum of the file migration flow cost calculated based on the storage data volume of the stored files and the cost of the system resources consumed by migration as the migration cost.
In some embodiments, the migration file determination unit is further configured to: calculating the sum of the current cost and the migration cost; and if the ratio of the sum to the target distribution cost is greater than a preset value, determining the file to be the file needing to be migrated.
In some embodiments, the means for distributing the file further comprises: a migration file marking unit configured to mark a file to be migrated; and/or a migration file migration unit configured to migrate the file to be migrated by using the target backend storage and the target storage policy corresponding to the target distribution cost.
In some embodiments, the means for distributing the file further comprises: and the timing task trigger unit is configured to trigger the device for distributing the file to run according to any item.
In some embodiments, the means for distributing the file further comprises: an upload request receiving unit configured to receive a file upload request; a request data acquisition unit configured to acquire a storage data amount and an upload file ID of a file from a request header of a file upload request; a back-end storage selection unit configured to select a back-end storage with the lowest storage cost as an initial back-end storage; and the mapping relation saving unit is configured to upload the file indicated by the upload file ID to the initial back-end storage and save the mapping relation between the upload file ID and the storage position of the initial back-end storage into the database.
In some embodiments, the means for distributing the file further comprises: a download request receiving unit configured to receive a file download request; a file ID acquisition unit configured to acquire a download file ID from a request header of the file download request; a URL determining unit configured to determine a redirect URL from the cache based on the download file ID; a URL redirection unit configured to redirect the file download request to a redirection URL; and the URL sending unit is configured to send the redirection URL to the client so as to realize that the client downloads the file corresponding to the download file ID based on the redirection URL.
In some embodiments, the URL determination unit is further configured to: inquiring whether the latest URL exists in the cache or not according to the ID of the downloaded file; if the query result is that the latest URL exists, taking the queried latest URL as a redirection URL; if the query result shows that the latest URL does not exist, the uploading file ID matched with the downloading file ID is queried from the mapping relation stored in the database, the temporary downloading URL is obtained from the API (application program interface) stored at the back end corresponding to the queried uploading file ID based on the storage position of the back end corresponding to the queried uploading file ID, the obtained temporary downloading URL is stored in a cache, the expiration time of the temporary downloading URL stored in the cache is set to be preset time, and the process of jumping to the execution and querying whether the latest URL exists in the cache according to the downloading file ID is carried out.
In a third aspect, an embodiment of the present disclosure provides an electronic device/terminal/server, including: one or more processors; storage means for storing one or more programs; when executed by one or more processors, cause the one or more processors to implement a method of distributing files as described in any above.
In a fourth aspect, the embodiments of the present disclosure provide a computer-readable medium, on which a computer program is stored, which when executed by a processor, implements the method for distributing files as described in any one of the above.
According to the method and the device for distributing the files, cost data of the stored files are obtained firstly; the cost data comprises the following data in the storage data volume and the preset time from the current time: request quantity and flow; then, based on the cost data of the stored file, the following costs of the stored file are calculated: current cost, target distribution cost, and migration cost; and finally, determining the stored file as the file needing to be migrated in response to the fact that the current cost, the target distribution cost and the migration cost meet the judgment condition of the file needing to be migrated. In the process, the current cost, the target distribution cost and the migration cost of the stored files can be dynamically determined according to the access condition of the files within the preset time from the current time, and the files needing to be migrated are determined in response to the fact that the costs meet the judgment condition of the files needing to be migrated, so that the files needing to be migrated are accurately and effectively determined, and the efficiency of distributing the files according to the cost subsequently is improved.
Drawings
Other features, objects, and advantages of the disclosure will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, with reference to the accompanying drawings in which:
FIG. 1 is an exemplary system architecture diagram in which the present disclosure may be applied;
FIG. 2 is a schematic flow chart diagram illustrating one embodiment of a method for distributing files in accordance with an embodiment of the present disclosure;
FIG. 3 is an exemplary application scenario of a method of distributing files according to an embodiment of the present disclosure;
FIG. 4 is a schematic flow chart diagram illustrating one embodiment of a method for uploading files, in accordance with an embodiment of the present disclosure;
FIG. 5 is a schematic flow chart diagram illustrating one embodiment of a method for downloading a file in accordance with the present disclosure;
FIG. 6 is an application scenario of one embodiment of a method of downloading a file of a method of distributing files according to an embodiment of the present disclosure;
FIG. 7 is an exemplary block diagram of one embodiment of an apparatus for distributing files of the present disclosure;
FIG. 8 is a schematic block diagram of a computer system suitable for use with a server embodying embodiments of the present disclosure.
Detailed Description
The present disclosure is described in further detail below with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant invention and not restrictive of the invention. It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings.
It should be noted that, in the present disclosure, the embodiments and features of the embodiments may be combined with each other without conflict. The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Fig. 1 illustrates an exemplary system architecture 100 to which embodiments of the disclosed method or apparatus for distributing files may be applied.
As shown in fig. 1, the system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. The network 104 serves as a medium for providing communication links between the terminal devices 101, 102, 103 and the server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The user may use the terminal devices 101, 102, 103 to interact with the server 105 via the network 104 to receive or send messages or the like. The terminal devices 101, 102, 103 may have various communication client applications installed thereon, such as a browser application, a shopping application, a search application, an instant messaging tool, a mailbox client, social platform software, and the like.
The terminal apparatuses 101, 102, and 103 may be hardware or software. When the terminal devices 101, 102, 103 are hardware, they may be various electronic devices that support browser applications, including but not limited to tablet computers, laptop portable computers, desktop computers, and the like. When the terminal apparatuses 101, 102, 103 are software, they can be installed in the electronic apparatuses listed above. It may be implemented, for example, as multiple software or software modules to provide distributed services, or as a single software or software module. And is not particularly limited herein.
The server 105 may be a server providing various services, such as a background server providing support for browser applications running on the terminal devices 101, 102, 103. The background server can analyze and process the received data such as the request and feed back the processing result to the terminal equipment.
The server may be hardware or software. When the server is hardware, it may be implemented as a distributed server cluster formed by multiple servers, or may be implemented as a single server. When the server is software, it may be implemented as multiple pieces of software or software modules, for example, to provide distributed services, or as a single piece of software or software module. And is not particularly limited herein.
In practice, the method for distributing files provided by the embodiments of the present disclosure may be executed by the terminal devices 101, 102, 103 and/or the servers 105, 106, and the apparatus for distributing files may also be disposed in the terminal devices 101, 102, 103 and/or the servers 105, 106.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
With continued reference to fig. 2, fig. 2 illustrates a flow 200 of one embodiment of a method of distributing files according to the present disclosure. The method for distributing the files comprises the following steps:
step 201, obtaining cost data of the stored file.
In the present embodiment, an execution subject (e.g., a terminal or a server shown in fig. 1) of the method of distributing files may acquire cost data that has been stored to files stored in the backend. The cost data refers to data used for calculating a storage cost of a file. For example, the cost data may include the following data for the amount of stored data, within a preset time from the current time: request quantity and traffic.
Wherein the storage data amount is used for indicating the size of the file; the following data within a preset time duration from the current time: the requested quantity and flow rate refer to the requested quantity and flow rate of each file in the last preset time duration (for example, 3 days, 1 week, 2 weeks, etc., which is not limited in this application) obtained through a statistical interface stored in each backend.
Based on the cost data of the stored file, step 202, the following costs of the stored file are calculated: current cost, target distribution cost, and migration cost.
In this embodiment, the execution subject may calculate a storage cost, a traffic cost, and a request cost of the stored file according to the cost data of the stored file, and use the sum of the storage cost, the traffic cost, and the request cost as the cost of the stored file.
Specifically, the unit of the storage cost of the stored file is M-ary/GB (M >0), meaning the charge of 1GB of the file per billing period. The storage cost varies with the amount of storage, which is a dynamic formula. Taking a certain cloud price as an example, in the total storage capacity of 5GB, the storage cost is 0 yuan/GB, after exceeding, the storage cost is 0.2 yuan/GB, and after exceeding 1TB, the storage cost is 0.15 yuan/GB.
The unit of the traffic cost of the stored file is N-grams/GB (N >0), meaning the charging of 1GB of download traffic.
The request cost of a stored file is in units of P-grams/time (P >0), meaning the charge per request (e.g., GET/POST/PUT/DELETE).
Then, the cost of the stored file is the storage cost × preset time length (storage days) + the traffic cost × traffic from the current preset time length + the request cost × the number of requests from the current preset time length.
When calculating the current cost of the stored file, the executing body may calculate the cost of the stored file according to the storage data volume of the stored file, the requested number and the flow rate within the latest preset time period by using the cost pricing corresponding to the current back-end storage and the current storage policy, so as to obtain the current cost of the stored file.
When calculating the target distribution cost of the stored files, the execution main body may calculate, for each file, the cost of each file in different backend storage and storage policies according to the current storage data amount, the number of requests and the flow within the latest preset time period, to obtain a candidate distribution cost, and determine the minimum value of the candidate distribution cost as the target distribution cost of the stored files.
When the execution main body calculates the migration cost of the stored file, if the stored file is stored in the same back-end storage before and after migration and only the storage strategy of the stored file is adjusted, the migration cost of the stored file is 0; and if the stored files are stored in different back-end storage before and after migration, taking the sum of the file migration flow cost calculated based on the storage data volume of the stored files and the cost of the system resources consumed by migration as the migration cost.
When the file migration traffic cost is calculated based on the storage data volume of the stored file, the download traffic cost and the upload traffic cost need to be calculated according to the size of the file, and the sum of the download traffic cost and the upload traffic cost is taken as the file migration traffic cost.
When the cost of the system resources consumed by migration is calculated based on the stored data volume of the stored file, the cost can be determined according to the estimated migration time (including the estimated migration time stored at the back end of the migration side and the estimated migration time stored at the back end of the migration side) and the unit time price of the machine (including the back end storage of the migration side and the back end storage of the migration side) where the current migration is located.
In the above embodiments, the backend storage refers to an object storage service provided by an object storage service provider, and provides an access method for an Application Program Interface (API) and a Software Development Kit (SDK). The storage policy means that the same backend storage generally provides multiple storage policies, and Service Level Agreements (SLAs) and costs of different storage policies are different. As generally divided into standard storage and low frequency storage (e.g., cold storage or archival storage), low frequency storage is less costly on low demand large files, while standard storage is less costly on high demand small files.
Step 203, in response to that the current cost, the target distribution cost and the migration cost meet the determination conditions of the file to be migrated, determining the stored file as the file to be migrated.
In this embodiment, the determination condition of the file to be migrated may be set by a person skilled in the art according to an operation experience or an operation scenario, or may be determined according to a statistical result of historical migration data, which is not limited in this application. In one specific example, when the sum of the target distribution cost and the migration cost of the stored file is less than the current distribution cost, the stored file may be determined to be a file that needs to be migrated.
In some optional implementations of this embodiment, in response to that the current cost, the target distribution cost, and the migration cost meet the determination condition of the file to be migrated, determining the stored file as the file to be migrated may include: calculating the sum of the current cost and the migration cost; and if the ratio of the sum to the target distribution cost is greater than a preset value, determining the stored file as the file needing to be migrated.
In this implementation manner, the preset value may be set according to the operation experience of a person skilled in the art and the need of an operation scenario, or may be determined according to the statistical result of the historical migration data, which is not limited in this application. In a specific example, if the ratio of the sum of the current cost and the migration cost to the target distribution cost is greater than 110%, the current migration is considered to meet the cost requirement, and the stored file is determined to be the file to be migrated.
In optional step 204, files that need to be migrated are marked.
In this embodiment, after determining the file to be migrated, the file to be migrated may be marked, so that the marked file to be migrated is called in subsequent data processing or the marked file to be migrated is migrated.
In optional step 205, the file to be migrated is migrated using the target backend storage and target storage policy corresponding to the target distribution cost.
In this embodiment, after determining the files that need to be migrated, an API (application program interface) or an SDK (software development kit) of each backend storage may be called to migrate the files that need to be migrated. The target backend storage and the target storage policy herein correspond to the target distribution cost, i.e. to the minimum cost obtained based on the different backend storage and the different storage policies. Therefore, the files to be migrated are migrated by adopting the target back-end storage and target storage strategies corresponding to the target distribution cost, and the files can be placed in the optimal storage mode. For example, frequently accessed files are placed in standard storage, and files that are not accessed by a person for a long time are placed in cold storage or archival storage.
In some optional implementations of this embodiment, the method for distributing files further includes: the method for distributing the files is triggered and executed by adopting a timing task.
In this implementation manner, when the method for distributing files is triggered and executed by the timing task, the triggering time of the timing task should be performed when the stored file providing service is idle, so as to avoid affecting the stored file providing service. In one particular example, at every other day night 12: 00-3 in the next morning: 00 automatically triggers the execution of the above method for distributing files.
The method for distributing files according to the embodiment of the disclosure can determine the current cost, the target distribution cost and the migration cost of the stored files according to the storage data volume, the request quantity and the flow of the stored files which are changed, and determine the stored files as the files to be migrated in response to the fact that the current cost, the target distribution cost and the migration cost meet the determination conditions of the files to be migrated, so that the cost pricing of different cloud service providers is fully utilized, the files to be migrated are determined at regular time, and a decision basis is provided for switching to a file distribution scheme with the optimal global cost in time.
An exemplary application scenario of the method of distributing files of the present disclosure is described below in conjunction with fig. 3.
As shown in fig. 3, fig. 3 illustrates one exemplary application scenario of a method of distributing files according to the present disclosure.
As shown in fig. 3, a method 300 of distributing files operates in an electronic device 320 and may include:
first, cost data 302 of a stored file 301 is acquired; the cost data includes the storage data volume 303 and the following data within a preset time from the current time: number of requests 304 and traffic 305;
then, based on the cost data 302 of the stored file, the following costs of the stored file are calculated: current cost 306, target distribution cost 307, and migration cost 308;
finally, in response to the current cost 306, the target distribution cost 307, and the migration cost 308 meeting the determination condition 309 for the file requiring migration, the stored file 301 is determined to be the file requiring migration 310.
It should be understood that the application scenario of the method for distributing files shown in fig. 3 is only an exemplary description of the method for distributing files, and does not represent a limitation to the method. For example, the steps shown in fig. 3 above may be implemented in further detail. Other steps for assessing risk may be further added to the above-described fig. 3.
With further reference to fig. 4, fig. 4 shows a schematic flow chart of one embodiment of a method of uploading a file in a method of distributing files according to the present disclosure.
As shown in fig. 4, a method 400 for uploading a file in a method for distributing a file according to this embodiment may include the following steps:
step 401, a file uploading request is received.
In the present embodiment, an execution subject (e.g., a terminal or a server shown in fig. 1) of the method of distributing a file may receive a file upload request. The request header of the file upload request carries the storage data amount and the upload file ID of the file.
Step 402, obtaining the storage data volume and the uploading file ID of the file from the request head of the file uploading request.
In this embodiment, the execution body may obtain the storage data amount and the upload file ID of the file from the request header of the file upload request.
And step 403, selecting the backend storage with the lowest storage cost as the initial backend storage.
In this embodiment, when the execution main body uploads the file, since future access conditions of the file cannot be expected, the storage policy may select the standard storage, and select the backend storage with the lowest storage cost for storage.
Step 404, uploading the file indicated by the uploaded file ID to the initial backend storage, and storing the mapping relationship between the uploaded file ID and the storage location of the initial backend storage in the database.
In this embodiment, in order to download or migrate a stored file subsequently, the storage location of the file needs to be recorded, so that the mapping relationship between the uploaded file ID and the storage location stored in the initial backend can be saved in the database for subsequent invocation.
The method for distributing files in the embodiment of fig. 4 of the present disclosure refines the method for uploading files on the basis of the method for distributing files shown in fig. 2, and improves the efficiency of confirming the storage location of a file when the file is subsequently migrated or downloaded by saving the mapping relationship between the ID of the uploaded file and the storage location stored at the initial back end in the database.
With further reference to fig. 5, fig. 5 shows a schematic flow chart of one embodiment of a method of downloading a file in a method of distributing files according to the present disclosure.
Step 501, a file download request is received.
In the present embodiment, an execution subject (e.g., a terminal or a server shown in fig. 1) of the method of distributing a file may receive a file download request from a browser or an application of a user terminal. The request header of the file download request may carry a download file ID.
Step 502, obtaining the ID of the downloaded file from the request header of the file downloading request.
In this embodiment, the execution body may obtain the download file ID from the request header of the file download request.
Step 503, according to the downloaded file ID, determining the redirection URL from the cache.
In this embodiment, it may be queried from the cache whether the latest URL exists according to the download file ID. And if the query result is that the latest URL exists, taking the queried latest URL as a redirection URL. If the query result shows that the latest URL does not exist, querying an uploading file ID matched with the downloading file ID from a mapping relation stored in a database, acquiring a temporary downloading URL from an API (application program interface) stored in the back end corresponding to the queried uploading file ID based on a storage position stored in the back end corresponding to the queried uploading file ID, storing the acquired temporary downloading URL into a cache, setting the expiration time of the temporary downloading URL stored in the cache to be preset time (for example, t is 30s), and jumping to the execution step to query whether the latest URL exists in the cache according to the downloading file ID.
Step 504, redirect the file download request to the redirect URL.
In this embodiment, after determining the redirect URL from the cache, the file download request may be redirected to the redirect URL via HTTP 302.
And 505, sending the redirection URL to the client to realize that the client downloads the file corresponding to the download file ID based on the redirection URL.
In this embodiment, the execution main body sends a redirect URL to the client, the client sends a download request to the redirect URL after receiving the redirect URL, and then the back end stores and sends a file corresponding to the download file ID, so that the client successfully completes the download.
In the method for distributing files in the embodiment of fig. 5 of the present disclosure, on the basis of the method for distributing files shown in fig. 2 and 4, the method for downloading files is refined, and the storage location of the file can be followed up in time by determining the redirection URL from the cache, thereby improving the accuracy and efficiency of confirming the storage location of the file and downloading the file.
As an example of fig. 5, fig. 6 provides an application scenario of an embodiment of a method of downloading a file among the methods of distributing a file as shown in fig. 5.
As shown in fig. 6, the execution subject of the method of distributing files is realized by a file distribution system 610 provided in a terminal or a server. When downloading a file, the file distribution system 610 interacts with the user side 620, the cache 630, the database 640, and the backend storage 650 respectively, and the specific steps are as follows:
in step 601, the user end 620 sends a file downloading request to the file distribution system 610 through a browser or an application, and then executes step 602;
in step 602, the file distribution system 610 queries whether the latest URL exists in the cache according to the downloaded file ID in the request header of the file download request, and if the query result is that the latest URL does not exist, then step 603 is executed; if the query result is that the latest URL exists, taking the queried latest URL as a redirection URL, and jumping to an execution step 606;
in step 603, the file distribution system 610 queries the uploaded file ID matching the downloaded file ID from the mapping relationship stored in the database, and queries the storage location of the backend storage corresponding to the uploaded file ID, and then executes step 604;
in step 604, the file distribution system 610 sends a request for obtaining the temporary download URL to the queried API of the backend storage 650 corresponding to the uploaded file ID, obtains the returned temporary download URL, and then executes step 605;
in step 605, the file distribution system 610 stores the obtained temporary download URL in a cache, sets the expiration time of the temporary download URL stored in the cache as a preset time, and skips to perform step 602;
in step 606, send redirect URL to client 620;
in step 607, the client 620 sends the file download request to the redirect URL, and then executes step 608;
in step 608, the back-end storage 650 transmits a file corresponding to the download request to the client 620 in response to the download request.
As an implementation of the methods shown in the above figures, the embodiment of the present disclosure provides an embodiment of an apparatus for distributing files, where the embodiment of the apparatus corresponds to the embodiment of the methods shown in fig. 2 to fig. 6, and the apparatus may be specifically applied to an apparatus including an issuing end and a service end.
As shown in fig. 7, the apparatus 700 for distributing a file of the present embodiment may include: a cost data acquisition unit 710 configured to acquire cost data of the stored file; the cost data comprises the following data in the storage data volume and the preset time from the current time: request quantity and flow; a storage cost calculation unit 720 configured to calculate the following cost of the stored file based on the cost data of the stored file: current cost, target distribution cost, and migration cost; and a migration file determination unit 730 configured to determine the stored file as the file to be migrated in response to the current cost, the target distribution cost, and the migration cost meeting the determination condition of the file to be migrated.
In some optional implementations of the present embodiment, the storage cost calculation unit 720 is further configured to: and calculating the cost of the stored file in the current back-end storage and the current storage strategy according to the cost data of the stored file to obtain the current cost of the stored file.
In some optional implementations of the present embodiment, the storage cost calculation unit 720 is further configured to: and determining the minimum value of the cost of the stored files in different backend storages and different storage strategies as the target distribution cost of the stored files according to the cost data of the stored files.
In some optional implementations of the present embodiment, the storage cost calculation unit 720 is further configured to: if the stored files are stored in the same back end before and after the migration, and only the storage strategy of the stored files is adjusted, the migration cost of the stored files is 0; and if the stored files are stored in different back-end storage before and after migration, taking the sum of the file migration flow cost calculated based on the storage data volume of the stored files and the cost of the system resources consumed by migration as the migration cost.
In some optional implementations of the present embodiment, the migration file determining unit 730 is further configured to: calculating the sum of the current cost and the migration cost; and if the ratio of the sum to the target distribution cost is greater than a preset value, determining the file to be the file needing to be migrated.
In some optional implementations of this embodiment, the means for distributing the file further includes: a migration file marking unit 740 configured to mark a file to be migrated; and/or the migration file migration unit 750 is configured to migrate the file to be migrated by using the target backend storage and the target storage policy corresponding to the target distribution cost.
In some optional implementations of this embodiment, the means for distributing the file further includes: a timed task triggering unit 760 configured to trigger the running of the apparatus for distributing files of any one of claims 1 to 6 with a timed task.
In some optional implementations of this embodiment, the means for distributing files further includes (not shown in the figure): an upload request receiving unit configured to receive a file upload request; a request data acquisition unit configured to acquire a storage data amount and an upload file ID of a file from a request header of a file upload request; a back-end storage selection unit configured to select a back-end storage with the lowest storage cost as an initial back-end storage; and the mapping relation saving unit is configured to upload the file indicated by the upload file ID to the initial back-end storage and save the mapping relation between the upload file ID and the storage position of the initial back-end storage into the database.
In some optional implementations of this embodiment, the means for distributing files further includes (not shown in the figure): a download request receiving unit configured to receive a file download request; a file ID acquisition unit configured to acquire a download file ID from a request header of the file download request; a URL determining unit configured to determine a redirect URL from the cache based on the download file ID; a URL redirection unit configured to redirect the file download request to a redirection URL; and the URL sending unit is configured to send the redirection URL to the client so as to realize that the client downloads the file corresponding to the download file ID based on the redirection URL.
In some optional implementations of this embodiment, the URL determination unit is further configured to: inquiring whether the latest URL exists in the cache or not according to the ID of the downloaded file; if the query result is that the latest URL exists, taking the queried latest URL as a redirection URL; if the query result shows that the latest URL does not exist, the uploading file ID matched with the downloading file ID is queried from the mapping relation stored in the database, the temporary downloading URL is obtained from the API (application program interface) stored at the back end corresponding to the queried uploading file ID based on the storage position of the back end corresponding to the queried uploading file ID, the obtained temporary downloading URL is stored in a cache, the expiration time of the temporary downloading URL stored in the cache is set to be preset time, and the process of jumping to the execution and querying whether the latest URL exists in the cache according to the downloading file ID is carried out.
It should be understood that the various elements recited in the apparatus 700 correspond to various steps recited in the methods described with reference to fig. 2-5. Thus, the operations and features described above for the method are equally applicable to the apparatus 700 and the various units included therein, and are not described in detail here.
Referring now to fig. 8, a schematic diagram of an electronic device (e.g., a server or terminal device of fig. 1) 800 suitable for use in implementing embodiments of the present disclosure is shown. Terminal devices in embodiments of the present disclosure may include, but are not limited to, devices such as notebook computers, desktop computers, and the like. The terminal device/server shown in fig. 8 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 8, an electronic device 800 may include a processing means (e.g., central processing unit, graphics processor, etc.) 801 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)802 or a program loaded from a storage means 808 into a Random Access Memory (RAM) 803. In the RAM803, various programs and data necessary for the operation of the electronic apparatus 800 are also stored. The processing apparatus 801, the ROM 802, and the RAM803 are connected to each other by a bus 804. An input/output (I/O) interface 805 is also connected to bus 804.
Generally, the following devices may be connected to the I/O interface 805: input devices 806 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 807 including, for example, a Liquid Crystal Display (LCD), speakers, vibrators, and the like; storage 808 including, for example, magnetic tape, hard disk, etc.; and a communication device 809. The communication means 809 may allow the electronic device 800 to communicate wirelessly or by wire with other devices to exchange data. While fig. 8 illustrates an electronic device 800 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided. Each block shown in fig. 8 may represent one device or may represent multiple devices as desired.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network through the communication means 809, or installed from the storage means 808, or installed from the ROM 802. The computer program, when executed by the processing apparatus 801, performs the above-described functions defined in the methods of the embodiments of the present disclosure. It should be noted that the computer readable medium described in the embodiments of the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In embodiments of the disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In embodiments of the present disclosure, however, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device. The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: acquiring cost data of the stored files; the cost data comprises the following data in the storage data volume and the preset time from the current time: request quantity and flow; based on the cost data of the stored file, calculating the following cost of the stored file: current cost, target distribution cost, and migration cost; and determining the stored file as the file needing to be migrated in response to the current cost, the target distribution cost and the migration cost meeting the judgment condition of the file needing to be migrated.
Computer program code for carrying out operations for embodiments of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. The described units may also be provided in a processor, and may be described as: a processor includes a cost data acquisition unit, a storage cost calculation unit, and a migration file determination unit. The names of these units do not in some cases constitute a limitation on the units themselves, and for example, the cost data acquisition unit may also be described as a "unit that acquires cost data of a stored file".
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is possible without departing from the inventive concept as defined above. For example, the above features and (but not limited to) the features disclosed in this disclosure having similar functions are replaced with each other to form the technical solution.

Claims (22)

1. A method of distributing files, comprising:
acquiring cost data of the stored files; the cost data comprises the following data in the storage data volume and the preset time from the current time: request quantity and flow;
based on the cost data of the stored file, calculating the following cost of the stored file: current cost, target distribution cost, and migration cost;
and determining the stored files as the files needing to be migrated in response to the current cost, the target distribution cost and the migration cost meeting the judgment condition of the files needing to be migrated.
2. The method of distributing files of claim 1, wherein calculating the current cost of the stored files comprises:
and calculating the cost of the stored file in the current back-end storage and the current storage strategy according to the cost data of the stored file to obtain the current cost of the stored file.
3. The method of distributing files of claim 1, wherein calculating a target distribution cost for a stored file based on cost data for the stored file comprises:
and determining the minimum value of the cost of the stored files in different backend storages and different storage strategies as the target distribution cost of the stored files according to the cost data of the stored files.
4. The method of distributing files of claim 1, wherein calculating a migration cost of a stored file based on cost data of the stored file comprises:
if the stored files are stored in the same back end before and after the migration, and only the storage strategy of the stored files is adjusted, the migration cost of the stored files is 0;
and if the stored files are stored in different back-end storage before and after migration, taking the sum of the file migration flow cost calculated based on the storage data volume of the stored files and the cost of the system resources consumed by migration as the migration cost.
5. The method of distributing files according to claim 1, wherein determining the stored file as the file requiring migration in response to the current cost, the target distribution cost, and the migration cost meeting a determination condition for the file requiring migration comprises:
calculating a sum of the current cost and the migration cost;
and if the ratio of the sum to the target distribution cost is greater than a preset value, determining the file to be the file needing to be migrated.
6. The method of distributing files of claim 1, wherein the method of distributing files further comprises:
marking the file to be migrated; and/or
And migrating the file to be migrated by adopting a target back-end storage and target storage strategy corresponding to the target distribution cost.
7. The method of distributing files of any of claims 1-6, wherein the method of distributing files further comprises:
executing the method for distributing files according to any one of claims 1 to 6 by adopting a timing task trigger.
8. The method of distributing files of claim 1, wherein the method of distributing files further comprises:
receiving a file uploading request;
acquiring the storage data volume and the uploading file ID of the file from the request header of the file uploading request;
selecting the back-end storage with the lowest storage cost as the initial back-end storage;
uploading the file indicated by the uploading file ID to the initial back-end storage, and storing the mapping relation between the uploading file ID and the storage position of the initial back-end storage into a database.
9. The method of distributing files of any of claims 1 or 8, wherein the method further comprises:
receiving a file downloading request;
acquiring a downloading file ID from a request header of a file downloading request;
according to the ID of the download file, determining a redirection URL from a cache;
redirecting the file download request to the redirection URL;
and sending the redirection URL to the client so as to realize that the client downloads the file corresponding to the download file ID based on the redirection URL.
10. The method of distributing files of claim 9, wherein said determining a redirect URL from a cache based on said download file ID comprises:
inquiring whether the latest URL exists in a cache according to the ID of the download file;
if the query result is that the latest URL exists, taking the queried latest URL as a redirection URL;
if the query result shows that the latest URL does not exist, querying an uploading file ID matched with the downloading file ID from a mapping relation stored in a database, acquiring a temporary downloading URL from an API (application program interface) stored at the back end corresponding to the queried uploading file ID based on a storage position stored at the back end corresponding to the queried uploading file ID, storing the acquired temporary downloading URL into a cache, setting the expiration time of the temporary downloading URL stored in the cache as preset time, and jumping to the execution of the process of querying whether the latest URL exists in the cache according to the downloading file ID.
11. An apparatus for distributing files, comprising:
a cost data acquisition unit configured to acquire cost data of the stored file; the cost data comprises the following data in the storage data volume and the preset time from the current time: request quantity and flow;
a storage cost calculation unit configured to calculate the following cost of the stored file based on the cost data of the stored file: current cost, target distribution cost, and migration cost;
a migration file determination unit configured to determine the stored file as a file to be migrated in response to the current cost, the target distribution cost, and the migration cost meeting a determination condition of the file to be migrated.
12. The apparatus for distributing files of claim 11, wherein the storage cost calculation unit is further configured to:
and calculating the cost of the stored file in the current back-end storage and the current storage strategy according to the cost data of the stored file to obtain the current cost of the stored file.
13. The apparatus for distributing files of claim 11, wherein the storage cost calculation unit is further configured to:
and determining the minimum value of the cost of the stored files in different backend storages and different storage strategies as the target distribution cost of the stored files according to the cost data of the stored files.
14. The apparatus for distributing files of claim 11, wherein the storage cost calculation unit is further configured to:
if the stored files are stored in the same back end before and after the migration, and only the storage strategy of the stored files is adjusted, the migration cost of the stored files is 0;
and if the stored files are stored in different back-end storage before and after migration, taking the sum of the file migration flow cost calculated based on the storage data volume of the stored files and the cost of the system resources consumed by migration as the migration cost.
15. The apparatus for distributing files according to claim 11, wherein the migration file determining unit is further configured to:
calculating a sum of the current cost and the migration cost;
and if the ratio of the sum to the target distribution cost is greater than a preset value, determining the file to be the file needing to be migrated.
16. The apparatus for distributing files of claim 11, wherein the apparatus for distributing files further comprises:
a migration file marking unit configured to mark the file to be migrated; and/or
And the migration file migration unit is configured to migrate the file to be migrated by adopting a target back-end storage and target storage strategy corresponding to the target distribution cost.
17. The apparatus for distributing files of any one of claims 11-16, wherein the apparatus for distributing files further comprises:
a timed task trigger unit configured to use a timed task trigger to run the means for distributing files according to any one of claims 1 to 6.
18. The apparatus for distributing files of claim 11, wherein the apparatus for distributing files further comprises:
an upload request receiving unit configured to receive a file upload request;
a request data acquisition unit configured to acquire a storage data amount and an upload file ID of a file from a request header of the file upload request;
a back-end storage selection unit configured to select a back-end storage with the lowest storage cost as an initial back-end storage;
a mapping relation saving unit configured to upload the file indicated by the upload file ID to the initial backend storage, and save a mapping relation between the upload file ID and a storage location of the initial backend storage in a database.
19. The apparatus for distributing files according to any one of claims 11 or 18, wherein the apparatus further comprises:
a download request receiving unit configured to receive a file download request;
a file ID acquisition unit configured to acquire a download file ID from a request header of the file download request;
a URL determining unit configured to determine a redirect URL from a cache according to the download file ID;
a URL redirection unit configured to redirect the file download request to the redirection URL;
and the URL sending unit is configured to send the redirection URL to the client so as to realize that the client downloads the file corresponding to the download file ID based on the redirection URL.
20. The apparatus for distributing files of claim 19, wherein the URL determination unit is further configured to:
inquiring whether the latest URL exists in a cache according to the ID of the download file;
if the query result is that the latest URL exists, taking the queried latest URL as a redirection URL;
if the query result shows that the latest URL does not exist, querying an uploading file ID matched with the downloading file ID from a mapping relation stored in a database, acquiring a temporary downloading URL from an API (application program interface) stored at the back end corresponding to the queried uploading file ID based on a storage position stored at the back end corresponding to the queried uploading file ID, storing the acquired temporary downloading URL into a cache, setting the expiration time of the temporary downloading URL stored in the cache as preset time, and jumping to the execution of the process of querying whether the latest URL exists in the cache according to the downloading file ID.
21. An electronic device/terminal/server comprising:
one or more processors;
storage means for storing one or more programs;
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-10.
22. A computer-readable medium, on which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1-10.
CN201911202079.5A 2019-11-29 2019-11-29 Method and device for distributing files Active CN112887349B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911202079.5A CN112887349B (en) 2019-11-29 2019-11-29 Method and device for distributing files

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911202079.5A CN112887349B (en) 2019-11-29 2019-11-29 Method and device for distributing files

Publications (2)

Publication Number Publication Date
CN112887349A true CN112887349A (en) 2021-06-01
CN112887349B CN112887349B (en) 2023-05-12

Family

ID=76038654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911202079.5A Active CN112887349B (en) 2019-11-29 2019-11-29 Method and device for distributing files

Country Status (1)

Country Link
CN (1) CN112887349B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11991247B1 (en) 2023-03-09 2024-05-21 Ricoh Company, Ltd. Automation of granular object storage service cost and/or usage determination

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291450A (en) * 2011-08-08 2011-12-21 浪潮电子信息产业股份有限公司 Data online hierarchical storage method in cluster storage system
US20130325906A1 (en) * 2012-05-28 2013-12-05 International Business Machines Corporation Placing a database
CN104376094A (en) * 2014-11-24 2015-02-25 浪潮电子信息产业股份有限公司 File hierarchical storage method and system considering access randomness
CN106953893A (en) * 2017-02-15 2017-07-14 北京百度网讯科技有限公司 Data Migration between cloud storage system
CN107483627A (en) * 2017-09-12 2017-12-15 网宿科技股份有限公司 A kind of file distributing, method for down loading, Distributor, client and system
CN108984307A (en) * 2018-07-19 2018-12-11 中国联合网络通信集团有限公司 Calculating task moving method and calculating task transference apparatus
CN110413590A (en) * 2019-07-24 2019-11-05 北京百度网讯科技有限公司 Data migration method, device, equipment and medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291450A (en) * 2011-08-08 2011-12-21 浪潮电子信息产业股份有限公司 Data online hierarchical storage method in cluster storage system
US20130325906A1 (en) * 2012-05-28 2013-12-05 International Business Machines Corporation Placing a database
CN104376094A (en) * 2014-11-24 2015-02-25 浪潮电子信息产业股份有限公司 File hierarchical storage method and system considering access randomness
CN106953893A (en) * 2017-02-15 2017-07-14 北京百度网讯科技有限公司 Data Migration between cloud storage system
CN107483627A (en) * 2017-09-12 2017-12-15 网宿科技股份有限公司 A kind of file distributing, method for down loading, Distributor, client and system
CN108984307A (en) * 2018-07-19 2018-12-11 中国联合网络通信集团有限公司 Calculating task moving method and calculating task transference apparatus
CN110413590A (en) * 2019-07-24 2019-11-05 北京百度网讯科技有限公司 Data migration method, device, equipment and medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11991247B1 (en) 2023-03-09 2024-05-21 Ricoh Company, Ltd. Automation of granular object storage service cost and/or usage determination

Also Published As

Publication number Publication date
CN112887349B (en) 2023-05-12

Similar Documents

Publication Publication Date Title
US11016749B1 (en) Architecture for incremental deployment
US11146502B2 (en) Method and apparatus for allocating resource
US10069705B2 (en) Data usage profiles for users and applications
KR102294326B1 (en) Prefetching application data for periods of disconnectivity
CN109600447B (en) Method, device and system for processing data
US20140172929A1 (en) Adaptive data striping and replication across multiple storage clouds for high availability and performance
US8984162B1 (en) Optimizing performance for routing operations
US9229740B1 (en) Cache-assisted upload proxy
US20180267979A1 (en) Managing data storage using storage policy specifications
US9906608B2 (en) Intelligent adaptation of mobile applications based on constraints and contexts
CN107634854B (en) Service data processing method and device
CN115469813A (en) Data processing method and device, storage medium and electronic device
CN105187514A (en) Management method for cloud application and system thereof
CN112887349B (en) Method and device for distributing files
CN113364887A (en) File downloading method based on FTP, proxy server and system
CN110347656B (en) Method and device for managing requests in file storage system
CN113220705A (en) Slow query identification method and device
US10764788B2 (en) Managing bandwidth in mobile telecommunications networks
JP5626937B1 (en) Resource providing apparatus, resource providing method, and resource providing system
CN113779412B (en) Message touch method, node and system based on blockchain network
CN109816450A (en) A kind of content promotion method and device
US10567524B2 (en) Dynamic cognitive optimization of web applications
US9727655B2 (en) Searching system, method and P2P device for P2P device community
CN112883009B (en) Method and device for processing data
CN115037729B (en) Data aggregation method, device, electronic equipment and computer readable medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant