Data processing method, system, server, storage medium and program product
By proxying data requests from upper-level storage applications by basic storage products, the problem of users needing to manage multiple storage products domain names is solved, efficient data operations and transparent storage layout upgrades are achieved, and user experience and the integrity of upper-level storage applications are improved.
Patent Information
- Application Number
- CN202510495723.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-21
- Publication Date
- 2025-07-22
- Estimated Expiration
- 2045-04-21
AI Technical Summary
In the combination of existing basic storage products and upper-layer storage applications, users need to manage the domain names and certificates of the two storage products, resulting in high management costs and the upgrade of storage layout is opaque to users, affecting the integrity of upper-layer storage applications.
Through the basic storage product, the data requests of the upper-layer storage application are proxyed, hiding the implementation details of the upper-layer storage application. Users only need to manage a domain name and certificate. The basic storage product is responsible for forwarding and processing of data requests, simplifying the data operation process.
It reduces the user's management cost of domain names, improves data operation efficiency, and makes the storage layout upgrade unaware of users, supporting the integrity and upgrade of upper-level storage applications.
Smart Images

Figure CN120017716B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data storage, and in particular, to a data processing method, system, server, storage medium, and program product. Background Art
[0002] With the development of cloud computing and storage technologies, a variety of storage products based on Infrastructure as a Service (IaaS), referred to as basic storage products, have emerged. These basic storage products can be systems or services for storing user data, and users can save, modify, and read their own data through the basic storage products. For example, typical basic storage products include Object Storage Service (OSS), file storage systems, etc.
[0003] The storage gateway of traditional basic storage products only accepts the Application Programming Interface (API) defined by this storage product. For example, for OSS, users must access through the OSS API, and other requests that do not conform to the OSS API format will be rejected by OSS.
[0004] When upper-layer products based on PaaS (Platform-as-a-Service) / SaaS (Software-as-a-Service) build higher-layer storage applications based on basic storage products (such as OSS), an additional set of their own storage gateways needs to be built, and the API of the upper-layer storage application is defined to provide services to users. However, because the underlying storage is implemented based on basic storage products (such as OSS), the API of the upper-layer storage application and the API of the basic storage product (such as OSS) will be exposed to users at the same time, and users will also perceive two storage products at the same time. They need to manage the domain names, single-domain certificates, etc. of the two storage products simultaneously, resulting in high user management costs. Since the underlying storage details of the storage application layer are exposed to users, it is not conducive to the integrity of the upper-layer storage application and the future upgrade of the storage layout. Summary of the Invention
[0005] This application provides a data processing method, system, server, storage medium, and program product to solve the problems that the details of the underlying basic storage products are exposed to users of upper-layer storage applications, resulting in high user management costs, and it is not conducive to the integrity of the upper-layer storage application and the future upgrade of the storage layout.
[0006] In a first aspect, this application provides a data processing method, which is applied to a basic storage product. The method includes:
[0007] The receiving - end device receives a data request from an upper - layer storage application, where the data request includes request meta - information;
[0008] Forward the request meta - information to the upper - layer storage application and receive a first processing result of the upper - layer storage application for the request meta - information;
[0009] Determine a second processing result for the data request according to the first processing result of the upper - layer storage application for the request meta - information, and return the second processing result to the end - side device.
[0010] In a second aspect, the present application provides a data processing method applied to an object storage service. The method includes:
[0011] The receiving - end device receives a data request from a network disk and photo album service, where the data request includes request meta - information;
[0012] Forward the request meta - information to the network disk and photo album service and receive a first processing result of the network disk and photo album service for the request meta - information;
[0013] Determine a second processing result for the data request according to the first processing result of the network disk and photo album service for the request meta - information, and return the second processing result to the end - side device.
[0014] In a third aspect, the present application provides a server, including: at least one processor; and a memory communicatively connected to the at least one processor; wherein, the memory stores instructions executable by the at least one processor, and when the instructions are executed by the at least one processor, the server is enabled to execute the method provided in any of the foregoing aspects.
[0015] In a fourth aspect, the present application provides a computer - readable storage medium, in which computer - executable instructions are stored, and when a processor executes the computer - executable instructions, the method provided in any of the foregoing aspects is implemented.
[0016] In a fifth aspect, the present application provides a computer program product, including a computer program, and when the computer program is executed by a processor, the method provided in any of the foregoing aspects is implemented.
[0017] In a sixth aspect, the present application provides a data processing system, including: a basic storage product and an upper - layer storage application built based on the basic storage product;
[0018] The basic storage product is configured to: receive a data request from an end - side device for the upper - layer storage application and forward the request meta - information in the data request to the upper - layer storage application;
[0019] The upper-layer storage application is used to: in response to receiving the request meta-information, process the request meta-information to obtain a first processing result, and return the first processing result to the basic storage product;
[0020] The basic storage product is further used to: determine a second processing result for the data request according to the first processing result returned by the upper-layer storage application, and return the second processing result to the end-side device.
[0021] The data processing method, system, server, storage medium and program product provided by this application. This method receives a data request for the upper-layer storage application through the basic storage product, forwards the request meta-information in the data request to the upper-layer storage application, receives the first processing result of the upper-layer storage application for the request meta-information, determines the second processing result for the data request according to the first processing result of the upper-layer storage application for the request meta-information, and returns the second processing result to the end-side device. By using the basic storage product to proxy the data request for the upper-layer storage application, there is no need to additionally add a storage gateway for the upper-layer storage application. Only the basic storage product is exposed to the user, and the service implementation details after the basic storage product are invisible to the user. The upgrade of the storage layout for the upper-layer storage application is imperceptible to the user, which is beneficial to the integrity of the upper-layer storage application and the future upgrade of the storage layout; moreover, the user can complete operations such as data upload and download by sending a data request to the basic storage product once. The user only needs to manage one domain name and one single-domain name certificate, which not only reduces the user's management cost for domain names, but also improves the efficiency of data operations. Description of the Drawings
[0022] The drawings here are incorporated into the specification and form a part of this specification, showing embodiments consistent with this application, and are used together with the specification to explain the principles of this application.
[0023] Figure 1 It is an architecture diagram of a traditional upper-layer storage application based on a basic storage product provided by this application;
[0024] Figure 2 It is a framework diagram of a traditional data upload process of an upper-layer storage application provided by this application;
[0025] Figure 3 It is a framework diagram of a traditional data download process of an upper-layer storage application provided by this application;
[0026] Figure 4 It is an architecture diagram of the data processing system provided by this application;
[0027] Figure 5Flowchart of a data processing method provided by an exemplary embodiment of the present application;
[0028] Figure 6 Flowchart of a data uploading method provided by an exemplary embodiment of the present application;
[0029] Figure 7 Interaction flowchart of a data uploading method provided by an exemplary embodiment of the present application;
[0030] Figure 8 Flow framework diagram of a data uploading method provided by an exemplary embodiment of the present application;
[0031] Figure 9 Flowchart of a data downloading method provided by an exemplary embodiment of the present application;
[0032] Figure 10 Interaction flowchart of a data downloading method provided by an exemplary embodiment of the present application;
[0033] Figure 11 Flow framework diagram of a data downloading method provided by an exemplary embodiment of the present application;
[0034] Figure 12 Flowchart of a data processing method provided by another exemplary embodiment of the present application;
[0035] Figure 13 Schematic diagram of the structure of a server provided by an embodiment of the present application.
[0036] Through the above-mentioned drawings, specific embodiments of the present application have been shown, and more detailed descriptions will be provided hereinafter. These drawings and textual descriptions are not intended to limit the scope of the concept of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. Detailed implementation manners
[0037] Here, the exemplary embodiments will be described in detail, and the examples are shown in the drawings. When the following description refers to the drawings, unless otherwise indicated, the same numerals in different drawings represent the same or similar elements. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with the present application. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0038] It should be noted that the user information involved in this application (including but not limited to user device information, user attribute information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) are all information and data that have been authorized by the user or fully authorized by all parties. Moreover, the collection, use, and processing of relevant data need to comply with relevant laws, regulations, and standards, and corresponding operation entrances are provided for users to choose to authorize or reject.
[0039] First, the nouns involved in this application are explained as follows:
[0040] Storage product: A system or service used to store user data. Users can save, modify, and read their own data through the storage product.
[0041] Basic storage product: Refers to the storage product at the IaaS layer. Typical basic storage products include object storage OSS, file storage, etc.
[0042] Storage gateway: That is, the front-end machine of the storage product, also known as the storage product gateway. It is a component implemented by the storage product to handle requests from users, and then persists the data from users by calling internal subsystems (such as key-value storage, etc.).
[0043] Storage application: Refers to the storage product at the PaaS / SaaS layer. These storage applications provide users with richer storage capabilities. Storage applications usually build on the storage product at the IaaS layer (such as object storage). Typical storage applications include the network disk and photo service (Drive and Photo Service, abbreviated as PDS). In this embodiment, in order to distinguish from the storage product at the IaaS layer, the storage application at the PaaS / SaaS layer is called the upper-layer storage application, and the storage product at the IaaS layer is called the basic storage product.
[0044] Figure 1 It is an architecture diagram of a traditional upper-layer storage application based on a basic storage product. As Figure 1 shown, the basic storage product has its own storage gateway (such as the storage gateway 1 shown in the figure). The storage gateway 1 of the basic storage product defines the API of the basic storage product to provide services for users. Users need to access the basic storage product through this API. For example, for OSS, users must access through the OSS API, and other requests that do not conform to the OSS API format will be rejected by OSS.
[0045] As Figure 1As shown, the upper-layer storage application built on the basis of the basic storage product needs to additionally set up a set of its own storage gateways (such as the storage gateway 2 shown in the figure). The storage gateway 2 of the upper-layer storage application defines the API of the upper-layer storage application and provides services for users. To implement the functions of the upper-layer storage application, it is necessary to expose the API of the upper-layer storage application to the users of the upper-layer storage application, and at the same time, it is also necessary to expose the API of the basic storage product to them.
[0046] Exemplarily, taking the typical upper-layer storage application of the network disk and photo album service PDS as an example, the network disk and photo album service PDS is an open platform provided for customers for enterprise and personal data management, content recognition and collaboration. Its underlying layer depends on the basic storage product OSS to store the file data of users, and the PDS side manages the metadata of the network disk. To implement the functions of the upper-layer storage application, the OSS API and the PDS API are provided to users.
[0047] In this way, users will simultaneously perceive the two storage products of the basic storage product and the upper-layer storage application, and need to manage the domain names, single-domain certificates, etc. of these two storage products at the same time, resulting in high user management costs. Since the underlying storage details of the storage application layer are exposed to users, it is not conducive to the integrity of the upper-layer storage application and the future upgrade of the storage layout.
[0048] Figure 2 This is the framework diagram of the data upload process of the traditional upper-layer storage application provided in this embodiment. As Figure 2 shown, the data upload process of the upper-layer storage application is as follows:
[0049] 1) The user (through the used end-side device) sends a data upload request to the upper-layer storage application (the storage gateway 2 thereof) by calling the API of the upper-layer storage application (such as the API for creating a file in PDS shown in the figure: CreateFile). The upper-layer storage application (through the storage gateway 2) returns the target storage address of the data object to be uploaded to the user.
[0050] 2) The user (end-side device) accesses the basic storage product based on the API of the basic storage product (such as the API for writing a data object to OSS shown in the figure: PutObject), and stores the data object to be uploaded in the storage space corresponding to the target storage address.
[0051] 3) The user (end-side device) sends a message indicating the completion of data upload to the upper-layer storage application (the storage gateway 2 thereof) by calling the API of the upper-layer storage application (such as the API for completing / ending data upload in PDS shown in the figure: CompleteFile), so as to maintain the data consistency of the upper-layer storage application. The upper-layer storage application ends the operation of this data upload.
[0052] Exemplarily, taking the online disk and photo album service PDS built based on OSS as the upper-layer storage application, when a user needs to upload a file, the user will first call the CreateFile API of PDS to create a file, and CreateFile will return the OSS storage address of the file data to be uploaded. After obtaining the OSS storage address of the file to be uploaded, the user then accesses OSS (by calling the PutObject API of OSS) to store the file data to be uploaded on OSS. After the file data upload is completed, the user needs to call the CompleteFile API of PDS again to inform PDS that the file has been uploaded, so as to maintain data consistency. PSD will close this data upload operation.
[0053] Figure 3 This is a framework diagram of the data download process of the traditional upper-layer storage application provided in this embodiment. As Figure 3 shown, the data download process of the upper-layer storage application is as follows:
[0054] 1) The user (client device) sends a data download request to the storage gateway 2 of the upper-layer storage application according to the API of the upper-layer storage application (for example, the API for the PDS in the figure to obtain the file download address: GetDownloadUrl, and this API will return an OSS download link). The storage gateway 2 of the upper-layer storage application returns the storage address of the data object to be downloaded (such as the OSS download link) to the user.
[0055] 2) The user (client device) accesses the underlying storage product based on the API of the underlying storage product (for example, the API for OSS to read data objects in the figure: GetObject), and downloads the corresponding data object from the underlying storage product according to the storage address of the data object to be downloaded.
[0056] Exemplarily, taking the online disk and photo album service PDS built based on OSS as the upper-layer storage application, when a user needs to download a file, the user will first call the GetDownloadUrl API of PDS to obtain the file download address, and this API will return an OSS download link. After obtaining this OSS download link, the user then accesses OSS to download the file data.
[0057] In summary, based on Figure 1 the architecture for implementing the upper-layer storage application shown, the user (client device), the upper-layer storage application (such as PDS), and the underlying storage product (such as OSS) are in a triangular mode. The APIs of the upper-layer storage application and the underlying storage product it depends on are both exposed to the user, which exposes the underlying storage details of the storage application layer to the user, and is not conducive to the integrity of the upper-layer storage application and the future upgrade of the storage layout.
[0058] In addition, users will also perceive two storage products, namely the upper-layer storage application and the underlying storage product it depends on, and need to manage the domain names, single-domain certificates, etc. of these two storage products simultaneously, resulting in high user management costs. At the same time, it also causes the upper-layer storage application to be unable to provide the ability to generate static Uniform Resource Locators (URLs). In the data upload process of the upper-layer storage application, users need to perform three-stage operations (as shown in Figure 2 ), and in the data download process, users need to perform two-stage operations (as shown in Figure 3 ), making the data upload and download processes complex and inefficient.
[0059] To address the above technical problems, the present application provides a data processing system. As shown in Figure 4 , the data system includes a basic storage product and an upper-layer storage application built on the basic storage product. Among them, the basic storage product supports the upper-layer storage application to register its own API on the basic storage product, enabling the basic storage product to proxy data requests for the upper-layer storage application.
[0060] Specifically, the basic storage product can receive data requests from the end-side device (user) for the upper-layer storage application, parse the request meta-information and data stream (which may or may not exist) included in the data request, and forward the request meta-information in the data request to the upper-layer storage application. Here, the request meta-information of the data request refers to the information in the data request other than the data stream to be processed, including various parameters in the request, such as the operation type, file length, data storage location, etc. The request meta-information included in different types of data requests may be different, and can be specifically designed and adjusted according to the application requirements of the upper-layer storage application, and no specific limitation is made here. The data stream in the data request refers to the data that needs to be stored on the basic storage product.
[0061] The upper-layer storage application is responsible for processing the request meta-information to obtain a first processing result after receiving the request meta-information, and returning the first processing result to the basic storage product. In practical applications, the upper-layer storage application performs different processing for different data requests, which is the same as the processing performed by the upper-layer storage application for corresponding data requests in the traditional architecture shown in Figure 1 , and will not be elaborated here.
[0062] The basic storage product receives the first processing result returned by the upper-layer storage application, generates a second processing result for the data request according to the first processing result of the upper-layer storage application for the request meta-information, and returns the second processing result to the end-side device.
[0063] In the embodiments of the present application, the second processing result is the processing result to be returned to the user who issues the data request, that is, the final processing result of the data request. For a data request for data operations on the metadata of the upper-layer storage application (without involving data changes on the basic storage product), the first processing result obtained by the upper-layer storage application in processing the data request is the final processing result to be returned to the user. Further, the basic storage product uses the first processing result returned by the upper-layer storage application as the second processing result and returns the second processing result to the terminal device. Among them, metadata refers to data defined by the upper-layer storage application for describing the attributes, organizational structure, and relationships of the data stored in the basic storage product, which helps to better manage the data stored in the basic storage product. For example, target data, folder data, etc. in the upper-layer storage application support functions such as indicating storage locations, historical data, resource search, and file records.
[0064] For requests for data upload or data download (both involving data changes on the basic storage product) of the upper-layer storage application, since the upper-layer storage application depends on the basic storage product, the data upload of the upper-layer storage application actually needs to upload data to the basic storage product, and the data download of the upper-layer storage application actually needs to download data from the basic storage product. The upper-layer storage application processes the request metadata of the data upload or data download data request to obtain a first processing result, which includes the target storage address for uploading data to the basic storage product or the actual storage address of the data to be downloaded on the basic storage product. Further, the basic storage product uploads data according to the target storage address for uploading data to the basic storage product and generates a second processing result for the data upload request according to the result of the data upload; or, the basic storage product downloads data according to the data to be downloaded and generates a second processing result for the data download request according to the result of the data download. Further, the second processing result is returned to the terminal device.
[0065] It should be noted that for the data formats of the processing results of different data requests, they can be designed and adjusted according to the application requirements of the upper-layer storage application, and no specific limitations are made here. Exemplarily, for a data download request for PDS, the data download result obtained by OSS in data download may not conform to the response specification of PDS for the data download request, and the data download result needs to be converted into a second processing result that conforms to the response specification of PDS for the data download request and then returned to the terminal device. If the processing of the data request fails, the error information generated by OSS also needs to be first converted into error information that conforms to the corresponding specification of PDS and then returned to the terminal device.
[0066] Such as Figure 4The architecture of the upper-layer storage application shown extends the capabilities of the basic storage product, enabling the basic storage product to support the APIs of other upper-layer storage applications. It changes from the traditional triangular mode to a single-point mode (or called a series mode), and the basic storage product provides services to users uniformly. It changes the execution process of the upper-layer storage application API. When a data request for the upper-layer storage application reaches the basic storage product, the basic storage product forwards the request meta-information in the data request to the specific upper-layer storage application. The upper-layer storage application processes the request meta-information, such as processing the metadata of the upper-layer storage application. If the upload or download of specific data is required, the upper-layer storage application returns the real data storage address to the basic storage product. The basic storage product realizes the upload or download of data according to the real data storage address and then returns the final result to the user.
[0067] Since the architecture of the upper-layer storage application changes from the traditional triangular mode to a series mode, the implementation details of the upper-layer storage application are hidden from users, and users no longer need to access two different storage products, namely the basic storage product and the upper-layer storage application. When the upper-layer storage application changes the underlying storage details, such as changing the data layout or developing a deduplication function, the user's API calls can be compatible and unaffected. Based on the triangular mode architecture, data upload requires three calls (as shown in Figure 2 ), and data download requires two calls (as shown in Figure 3 ). In this solution, for data upload and download based on the series model architecture shown in Figure 4 , users only need one call each, which simplifies the user data upload and download process.
[0068] Because users only need to make a single call to access the only basic storage product, they only need one domain name and only one single-domain name certificate, and the management is simpler. Since the upper-layer storage application supports completing data download with a single request, it can also have the ability to sign and download data with static resource descriptors (such as static URLs, static URIs (Uniform Resource Identifiers), etc.).
[0069] In addition, the upper-layer storage application built based on the basic storage product and the basic storage product can be deployed in the same region. And the user's end-side device and the basic storage product can be in different regions. This solution only has one cross-region call (cross-region between the user and the basic storage product), and subsequent calls between the basic storage product and the upper-layer storage application usually occur within the same region, so the access latency can be reduced.
[0070] In addition, one of the difficulties in ensuring the security of storage products is the anti-attack and traffic cleaning of the storage gateway. The implementation is very complex and consumes a large amount of bandwidth. Therefore, the construction of the storage gateway is very challenging for upper-layer storage applications. The solution of this application does not require additional construction of a storage gateway for upper-layer storage applications, but integrates its functions into the basic storage product, saving various costs for the construction of the storage gateway.
[0071] In the embodiments of this application, the basic storage product is used to proxy data requests for upper-layer storage applications. There is no need to additionally add a storage gateway for upper-layer storage applications. Only the basic storage product is exposed to users, and the subsequent service implementation details are invisible to users. The upgrade of the storage layout for upper-layer storage applications is imperceptible to users, which is beneficial to the integrity of upper-layer storage applications and the subsequent upgrade of the storage layout. Moreover, users can complete operations such as data upload and download by sending a data request to the storage gateway of the basic storage product only once. Users only need to manage one domain name and one single-domain name certificate, which not only reduces the management cost of domain names for users, but also improves the efficiency of data operations.
[0072] The technical solution of this application and how this application's technical solution solves the above technical problems will be described in detail below with specific embodiments. These specific embodiments below can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of this application will be described below with reference to the accompanying drawings.
[0073] Figure 5 It is a flowchart of a data processing method provided for an exemplary embodiment of this application. The execution subject of this embodiment is Figure 4 the basic storage product in the architecture shown, specifically, it can be the storage gateway of the basic storage product. As Figure 5 shown, the specific steps of this method are as follows:
[0074] Step S501: Receive a data request from the end-side device for the upper-layer storage application.
[0075] Among them, the end-side device refers to the electronic device used by the user on which the client of the upper-layer storage application runs, specifically, it can be various terminal devices, which are not specifically limited here.
[0076] The data request for the upper-layer storage application refers to the request made by the user to the upper-layer storage application for various data operations during the process of using the services provided by the upper-layer storage application, including but not limited to: data upload, data download, directory management, directory migration, network disk management, folder management. The data request includes request meta-information, and the data upload request also includes the data stream to be stored in the basic storage application, such as the target data to be uploaded.
[0077] In this embodiment, the APIs of the upper-layer storage application are registered on the underlying storage product on which the upper-layer storage application depends, expanding the capabilities of the underlying storage product, enabling the underlying storage product to proxy the data requests of the upper-layer storage application, and forwarding the request meta-information of the data requests to the upper-layer storage application, without the need to build a separate storage gateway for the upper-layer storage application.
[0078] Exemplarily, taking the underlying storage product as OSS and the upper-layer storage application as the cloud disk and photo album service PDS built on OSS as an example, by defining the APIs of the upper-layer storage application on the storage gateway of OSS, the capabilities of the OSS storage gateway are expanded, enabling the OSS storage gateway to proxy the requests of PDS and forward the requests to PDS.
[0079] Since the underlying storage product can proxy the data requests of the upper-layer storage application, that is, the upper-layer storage application and the underlying storage application share a storage gateway, the upper-layer storage application can support the ability of static resource descriptors (such as static URLs). In an optional embodiment, for static resources with high access frequencies (such as files, pictures, etc.), at least one static URL corresponding to the data resource can be provided to the user. This static URL points to the storage path of the corresponding data resource on the storage product (which can be the upper-layer storage application or the underlying storage product). The user can achieve fast download of the data resource through this static URL, improving the efficiency of data download.
[0080] Specifically, the user can send a data download request to the underlying storage product through the end-side device according to the static URL. This data download request is used to download the second target data belonging to the upper-layer storage application. The second target data belongs to the upper-layer storage application, that is, the upper-layer storage application manages the second target data, but the second target data is actually stored on the underlying storage product. The underlying storage product receives the data download request sent by the end-side device according to the static URL, parses out the storage path of the data resource to be downloaded, obtains the data resource according to the storage path of the data resource, and returns the data resource to the end-side device.
[0081] In addition, the static URL can also include a digital signature for ensuring data security. The underlying storage product can verify the digital signature. The underlying storage product has the ability to implement data access based on the static URL, and the specific implementation principle is the same as that of the existing static URL, which will not be elaborated here.
[0082] Step S502: Forward the request meta-information in the data request to the upper-layer storage application and receive the first processing result of the upper-layer storage application for the request meta-information.
[0083] In this step, the basic storage product parses the data request received for the upper-layer storage application, obtains the request meta-information in the data request, and forwards the request meta-information to the upper-layer storage application, enabling the upper-layer storage application to process the request meta-information and obtain a processing result. In this embodiment, the processing result of the upper-layer storage application for the request meta-information is referred to as the first processing result.
[0084] In practical applications, one or more upper-layer storage applications can be built based on a basic storage product. The basic storage product can proxy the requests of these upper-layer storage applications simultaneously. Optionally, the data request for the upper-layer storage application may contain information about the upper-layer storage application, such as information that can uniquely identify an upper-layer storage application, like a domain name, URL, etc. The basic storage product can obtain the information of the upper-layer storage application by parsing the data request, determine the access address of the upper-layer storage application to be accessed according to the information of the upper-layer storage application, and forward the request meta-information in the data request to the upper-layer storage application according to the access address of the upper-layer storage application. Optionally, the data request for the upper-layer storage application may contain the access address of the upper-layer storage application to be accessed. The basic storage product can obtain the access address of the upper-layer storage application by parsing the data request and forward the request meta-information of the data request to the upper-layer storage application according to the access address of the upper-layer storage application.
[0085] Optionally, for a data request for which the information of the upper-layer storage application cannot be obtained, that is, a data request whose corresponding upper-layer storage application cannot be identified, the basic storage product processes the data request as a data request for the basic storage product.
[0086] It should be noted that in this embodiment, the processing flow of the request meta-information of various data requests by the upper-layer storage application remains unchanged, and can be specifically designed and adjusted according to the requirements and implementation logic of the upper-layer storage application, which is not specifically limited here.
[0087] Step S503: Determine the second processing result for the data request according to the first processing result of the upper-layer storage application for the request meta-information, and return the second processing result to the terminal device.
[0088] In this embodiment, the processing result of the upper-layer storage application for the request meta-information is referred to as the first processing result. For data requests of different data operation types, the upper-layer storage application processes the corresponding data requests based on the request meta-information of the data requests and obtains the first processing result. For data requests of different data operation types, the processing performed by the upper-layer storage application and the obtained first processing result are different.
[0089] Exemplarily, for a data upload request, it includes the first target data to be uploaded and request meta-information (denoted as the first request meta-information). The upper-layer storage application processes the first request meta-information of the data upload request, that is, based on the first request meta-information, it realizes the processing of the data upload request, and can obtain the target storage address where the data is uploaded to the basic storage product. The first processing result may include the target storage address of the data to be uploaded on the basic storage product. The upper-layer storage application returns the first processing result (including the target storage address) to the basic storage product.
[0090] Further, the basic storage product receives the first processing result returned by the upper-layer storage application, and stores the data to be uploaded into the storage space corresponding to the target storage address on the basic storage product, then the data upload can be completed, and the data upload result can be obtained. According to the data upload result, a response result of the data upload request that meets the requirements of the upper-layer storage application is generated as the second processing result. The basic storage product returns the second processing result (including the data upload result) to the terminal device.
[0091] Exemplarily, for a data download request, it includes the data download address of the data to be downloaded on the basic storage product, that is, the second request meta-information. The upper-layer storage application processes the second request meta-information of the data download request, and can obtain the data download address of the data to be downloaded on the basic storage product. The first processing result includes the data download address of the data to be downloaded on the basic storage product. The upper-layer storage application returns the first processing result (including the data download address) to the basic storage product.
[0092] Further, the basic storage product receives the first processing result returned by the upper-layer storage application, and downloads the data from the basic storage product according to the data download address, obtains the data download result, and generates a response result of the data download request that meets the requirements of the upper-layer storage application as the second processing result. The basic storage product returns the second processing result (including the data obtained by the data download) to the terminal device.
[0093] Exemplarily, for a processing request for the metadata of the upper-layer storage application, such as directory migration, folder management, etc., such processing requests only contain request meta-information (denoted as the third request meta-information) and do not contain data streams. The upper-layer storage application processes the third request meta-information (i.e., the metadata processing request), and can obtain the processing result of the metadata. For example, the target migration is successful / failed, etc. The first processing result includes the processing result of the metadata. In this case, there is no need to access the data of the basic storage product, and the first processing result is the final processing result of the request, that is, the processing result returned to the user who issued the request. The basic storage product takes the first processing result returned by the upper-layer storage application (i.e., the processing result of the metadata) as the second processing result and returns the second processing result to the terminal device.
[0094] In the solution of this embodiment, the basic storage product receives a data request for the upper-layer storage application, forwards the request meta-information in the data request to the upper-layer storage application, receives the first processing result of the upper-layer storage application for the request meta-information, determines the second processing result of the data request according to the first processing result of the upper-layer storage application for the request meta-information, and returns the second processing result to the terminal device. By using the basic storage product to proxy the data request for the upper-layer storage application, there is no need to additionally add a storage gateway for the upper-layer storage application. Only the basic storage product is exposed to the user, and the service implementation details after the basic storage product are invisible to the user. The upgrade of the storage layout of the upper-layer storage application is imperceptible to the user, which is beneficial to the integrity of the upper-layer storage application and the future upgrade of the storage layout. Moreover, the user can complete operations such as data upload and download by sending a data request to the basic storage product once. The user only needs to manage one domain name and one single-domain name certificate, which not only reduces the user's management cost of domain names but also improves the efficiency of data operations.
[0095] Figure 6 It is a flowchart of the data upload method provided by an exemplary embodiment of this application. In this embodiment, the basic storage product is used to proxy the request of the upper-layer storage application to implement data upload. As Figure 6 shown, the specific steps of this method are as follows:
[0096] Step S601: Receive a data upload request from the terminal device for the upper-layer storage application. The data upload request includes first request meta-information and first target data to be uploaded.
[0097] Among them, the first request meta-information includes data other than the first target data carried in the data upload request. The basic storage product forwards the first request meta-information to the upper-layer storage application.
[0098] For example, the first request meta-information in the data upload request for PDS may include the upload location and data length of the first target data (such as a file) in the PDS network disk. PDS can convert the upload location in the PDS network disk into the actual storage location in the basic storage product, that is, the target storage address of the first target data on the basic storage product.
[0099] For the implementation principle of this step, refer to the relevant content of the foregoing step S501, and no specific limitation is made here.
[0100] Step S602: Forward the first request meta-information in the data upload request to the upper-layer storage application.
[0101] In this step, the basic storage product parses the data upload request and can obtain the first request meta-information and the first target data to be uploaded.
[0102] For a data upload request, after the upper-layer storage application receives the first request meta-information of the data upload request, it processes the first request meta-information, and the target storage address of the first target data to be uploaded on the basic storage product can be obtained. The first processing result may include the target storage address of the first target data on the basic storage product. The upper-layer storage application returns the first processing result to the basic storage product.
[0103] Step S603: Receive the first processing result of the upper-layer storage application for the first request meta-information, where the first processing result includes the target storage address of the first target data on the basic storage product.
[0104] Step S604: According to the target storage address of the first target data on the basic storage product, write the first target data into the storage space corresponding to the target storage address to obtain a data upload result.
[0105] In this step, the basic storage product writes the first target data into the storage space corresponding to the target storage address on the basic storage product, and the upload of the first target data can be completed to obtain a data upload result, including whether the data upload is successful or not.
[0106] Step S605: Generate a second processing result according to the data upload result and return the second processing result to the terminal device.
[0107] In this step, the basic storage product generates a response result of the data upload request that meets the requirements of the upper-layer storage application according to the data upload result as the second processing result. The basic storage product returns the second processing result (including the data upload result) to the terminal device.
[0108] Exemplarily, the data format of the response result of the data upload request can be configured on the basic storage product. The basic storage product can encapsulate the first processing result according to the data format of the response result of the data upload request to obtain a second processing result that meets the requirements of the upper-layer storage application. Among them, the data format of the response result of the data upload request can be specifically configured and adjusted according to the needs of the data download function of the upper-layer storage application, and no specific limitation is made here.
[0109] Figure 7 This is the interaction flow chart of the data upload method provided by the embodiment of the present application. As Figure 7 shown, the interaction flow of data upload is as follows:
[0110] Step S701: The basic storage product receives a data upload request from the terminal device to the upper-layer storage application, and the data upload request includes the first request meta-information and the first target data to be uploaded.
[0111] Step S702: The basic storage product forwards the first request meta-information to the upper-layer storage application.
[0112] Step S703: The upper-layer storage application processes the first request meta-information to obtain a first processing result, where the first processing result includes the target storage address of the first target data to be uploaded on the basic storage product.
[0113] Step S704: The upper-layer storage application returns the first processing result to the basic storage product.
[0114] Step S705: The basic storage product writes the first target data into the storage space corresponding to the target storage address to obtain a data upload result, and generates a second processing result for the data upload request according to the data upload result.
[0115] Step S706: The basic storage product returns the second processing result to the end-side device.
[0116] It should be noted that for the implementation principles of each step in this embodiment, refer to the relevant content of the corresponding Figure 6 embodiment described above, which will not be elaborated here.
[0117] Exemplarily, Figure 8 the following is the flow framework diagram of data upload provided in this embodiment. Taking the basic storage product as OSS and the upper-layer storage application as the network disk and album service PDS built based on OSS as an example, as Figure 8 shown, the data upload process based on the Figure 4 architecture shown is as follows:
[0118] 1. The user (through the used end-side device) sends a data upload request to OSS by calling the API of the upper-layer storage application (for example, the API used by PDS to upload files: PutFile).
[0119] 2. OSS forwards the first request meta-information in the data upload request to the upper-layer storage application.
[0120] 3. The upper-layer storage application returns the first processing result to OSS, including the target storage address of the first target data to be uploaded.
[0121] 4. OSS calls the subsystem of OSS (such as the API used by OSS to upload data objects: PutObject) to write the first target data into the physical space corresponding to the target storage address on OSS.
[0122] In addition, after the data upload is completed, OSS can also return a response result for the data upload request containing the data upload result to the user.
[0123] In the solution of this embodiment, the basic storage product receives a data upload request for the upper-layer storage application, forwards the first request meta-information in the data upload request to the upper-layer storage application, and receives the first processing result of the upper-layer storage application for the first request meta-information, including the target storage address of the first target data to be uploaded on the basic storage product; according to the first processing result, write the first target data into the storage space corresponding to the target storage address to obtain a data upload result; generate a second processing result for the data upload request (i.e., the response result for the data upload request) according to the data upload result. By using the basic storage product to proxy the data upload request for the upper-layer storage application, only one domain name and a storage gateway of the basic storage product are exposed to the user, and the service implementation details after the storage gateway are invisible to the user. Therefore, in terms of user experience, the data upload operation can be completed by sending a data request to the basic storage product once, and the user only needs to manage one domain name and a single-domain name certificate, which not only reduces the user's management cost of domain names, simplifies the user operation, but also improves the data upload efficiency.
[0124] Figure 9 It is a flowchart of the data download method provided by an exemplary embodiment of this application. As Figure 9 shown, the specific steps of this method are as follows:
[0125] Step S901: The receiving end-side device receives a data download request for the upper-layer storage application, and the data download request includes second request meta-information.
[0126] Among them, the second request meta-information includes the data carried in the data download request. The basic storage product forwards the second request meta-information to the upper-layer storage application.
[0127] For the implementation principle of this step, refer to the relevant content of the foregoing step S501, and no specific limitation is made here.
[0128] Step S902: Forward the second request meta-information in the data download request to the upper-layer storage application.
[0129] Step S903: Receive the first processing result of the upper-layer storage application for the second request meta-information, and the first processing result includes the data download address of the second target data to be downloaded on the basic storage product.
[0130] For a data download request, the upper-layer storage application processes the second request meta-information in the data download request, that is, processes the data download request, and can obtain a first processing result. The first processing result includes the data download address of the second target data to be downloaded on the basic storage product. The upper-layer storage application returns the first processing result to the basic storage product. Among them, the upper-layer storage application determines the actual storage address of the second target data to be downloaded on the basic storage product according to the second request meta-information and combines the metadata stored in the upper-layer storage application, and then can obtain the data download address of the second target data on the basic storage product. The specific implementation manner of the upper-layer storage application for processing the data download request can be defined and configured in the upper-layer storage application, and will not be specifically limited here.
[0131] In this step, the basic storage product receives the first processing result of the second request meta-information returned by the upper-layer storage application.
[0132] Step S904: Obtain the second target data according to the data download address in the first processing result.
[0133] In this step, the basic storage product downloads data from the basic storage product according to the data download address in the first processing result, generates the second target data according to the data download result, and generates a second processing result for the data download request according to the second target data.
[0134] In an example scenario, the basic storage product can use the data download result as the second target data. In subsequent steps, the basic storage product generates a second processing result for the data download request according to the data download result.
[0135] In another example scenario, the data structure of the second target data requested by the user may be different from the data actually stored in the basic storage product for these data, and they are not necessarily one-to-one. For example, the files in PDS are actually stored as one or more OSS objects in the basic storage product.
[0136] The first processing result of the second request meta-information in the data download request by the upper-layer storage application includes, in addition to the data download address (i.e., the actual storage address) of the second target data on the basic storage product, the conversion rule between the second target data and the data actually stored in the basic storage product. After the basic storage product downloads the downloaded data based on the data download address, it converts the downloaded data into the second target data according to the conversion rule. The upper-layer storage application has flexible data layout capabilities and can adjust the data format according to the data conversion rule.
[0137] For example, when a user requests to download a file from the PDS, the file is actually stored as one or more OSS objects in the underlying storage product. The PDS returns the actual storage addresses of these OSS objects (i.e., data download links) and the conversion rules between the OSS counterparts and the file to the OSS. The OSS reads the OSS objects according to the actual storage addresses and converts the OSS objects into files, and thus the file that the user wants to download can be obtained.
[0138] Step S905: Generate a second processing result of the data download request based on the second target data, and return the second processing result to the terminal device.
[0139] In this step, the underlying storage product generates a response result of the data download request that meets the requirements of the upper-layer storage application based on the second target data, and uses it as the second processing result. The underlying storage product returns the second processing result (including the second target data) to the terminal device.
[0140] Exemplarily, the data format of the response result of the data download request can be configured on the underlying storage product. The underlying storage product can encapsulate the second target data according to the data format of the response result of the data download request to obtain the second processing result that meets the requirements of the upper-layer storage application. Among them, the data format of the response result of the data download request can be specifically configured and adjusted according to the needs of the data download function of the upper-layer storage application, and no specific limitation is made here.
[0141] Figure 10 This is the interaction flowchart of the data download method provided by the embodiments of this application. As Figure 10 shown, the interaction process of data download is as follows:
[0142] Step S1001: The underlying storage product receives a data download request from the terminal device for the upper-layer storage application. The data download request includes second request meta-information.
[0143] Step S1002: The underlying storage product forwards the second request meta-information to the upper-layer storage application.
[0144] Step S1003: The upper-layer storage application processes the second request meta-information to obtain a first processing result. The first processing result includes the data download address and the data conversion rule of the second target data to be downloaded on the underlying storage product.
[0145] Step S1004: The upper-layer storage application returns the first processing result to the underlying storage product.
[0146] Step S1005: The underlying storage product downloads data according to the data download address, converts the downloaded data into the second target data according to the data conversion rule, and generates a second processing result based on the second target data.
[0147] Step S1006: The basic storage product returns a second processing result to the terminal device.
[0148] It should be noted that for the implementation principles of each step in this embodiment, refer to the relevant content of the corresponding embodiment described above. Figure 9 Details are not described herein again.
[0149] Exemplarily, Figure 11 FIG. is a flowchart framework of data download provided in this embodiment. Taking the basic storage product as OSS and the upper-layer storage application as the network disk and photo album service PDS built based on OSS as an example, as Figure 11 shown, the data download process based on the architecture shown in Figure 4 is as follows:
[0150] 1. The user (through the used terminal device) sends a data download request to OSS by calling the API of the upper-layer storage application (for example, the API used by PDS to download files: GetFile).
[0151] 2. OSS forwards the second request meta-information in the data download request to the upper-layer storage application.
[0152] 3. The upper-layer storage application returns the data download address and data conversion rule of the second target data to be downloaded to OSS.
[0153] 4. OSS calls the subsystem of OSS (such as the API used by OSS to download data objects: GetObject), downloads data from OSS according to the data download address, and converts the downloaded data into the second target data.
[0154] In addition, after the data download is completed, OSS can also return to the user a response result of the data download request containing the second target data.
[0155] In the solution of this embodiment, the basic storage product receives a data download request for the upper-layer storage application, forwards the second request meta-information in the data download request to the upper-layer storage application, and receives the first processing result of the upper-layer storage application for the second request meta-information, including the data download address and data conversion rule of the second target data to be downloaded. Download data from the basic storage product and convert the downloaded data into the second target data to obtain a data download result. By using the basic storage product to proxy the data download request for the upper-layer storage application, only one domain name and one basic storage product are exposed to the user, and the service implementation details after the basic storage product are invisible to the user. Therefore, in terms of user experience, the data download operation can be completed by sending a data request to the basic storage product once, and the user only needs to manage one domain name and one single-domain name certificate, which not only reduces the user's management cost of domain names, simplifies the user's operation, but also improves the efficiency of data download.
[0156] Figure 12 It is a flowchart of a data processing method provided for another exemplary embodiment of this application. In this embodiment, taking the basic storage product as OSS and the upper-layer storage application as the network disk and photo album service PDS built based on OSS as an example, as Figure 12 shown, the data processing process is as follows:
[0157] Step S1201: The receiving end-side device receives a data request for the network disk and photo album service, and the data request includes request meta-information.
[0158] Among them, the data request for the network disk and photo album service PDS includes but is not limited to data upload, data download, directory management, directory migration, network disk management, and folder management.
[0159] In the network disk and photo album service PDS, users can perform data operations such as picture upload, picture download, network disk target management, and photo album folder management. Specifically, it can be designed and adjusted according to the actual application requirements of PDS, and no specific limitation is made here. For different data operations, PDS can define corresponding APIs. The APIs provided by PDS can be defined and described on OSS, so that OSS can proxy the requests of PDS.
[0160] For the implementation principle of this step, refer to the relevant content of the foregoing step S501, which will not be elaborated here.
[0161] Step S1202: Forward the request meta-information to the network disk and photo album service, and receive the first processing result of the network disk and photo album service for the request meta-information.
[0162] For the implementation principle of this step, refer to the relevant content of the foregoing step S502, which will not be elaborated here.
[0163] Step S1203: Determine the second processing result of the data request based on the first processing result of the request meta-information by the network disk and photo album service, and return the second processing result to the terminal device.
[0164] For the implementation principle of this step, refer to the relevant content of the aforementioned step S503, which will not be elaborated here.
[0165] In an example scenario, the data request is a data upload request. OSS forwards the first request meta-information in the data upload request to PDS and receives the first processing result of PDS for the first request meta-information. The first processing result includes the target storage address of the first target data to be uploaded on OSS.
[0166] Further, OSS writes the first target data to the storage space corresponding to the target storage address according to the target storage address of the first target data in the first processing result, and obtains the data upload result. OSS generates the second processing result for the data upload request based on the data upload result, and returns the second processing result to the terminal device.
[0167] In an example scenario, the data request is a data download request. OSS forwards the second request meta-information in the data download request to PDS and receives the first processing result of PDS for the second request meta-information. The first processing result includes the data download address and the data conversion rule.
[0168] Further, OSS downloads the data from the storage space corresponding to the data download address on OSS according to the data download address in the first processing result, and converts the downloaded data into the second target data according to the data conversion rule. OSS generates the second processing result for the data download request based on the second target data, and returns the second processing result to the terminal device.
[0169] In an example scenario, for a processing request for the metadata of PDS, such as directory migration, folder management, etc., PDS processes the metadata processing request (i.e., the request meta-information) and can obtain the processing result of the metadata. For example, the target migration is successful / failed, etc. The first processing result includes the processing result of the metadata. In this case, there is no need to access the data on OSS, and the first processing result is the final processing result of the request, that is, the processing result returned to the user who issued the request. OSS takes the first processing result returned by PDS (i.e., the processing result of the metadata) as the second processing result and returns the second processing result to the terminal device.
[0170] In the solution of this embodiment, the OSS receives a data request for the PDS, forwards the request meta-information in the data request to the PDS, receives the first processing result of the PDS for the request meta-information, determines the second processing result of the data request according to the first processing result of the PDS for the request meta-information, and returns the second processing result to the terminal device. By using the OSS to proxy the data request for the PDS, there is no need to additionally add a storage gateway for the PDS. Only the storage gateway of the OSS is exposed to the user, and the service implementation details after the storage gateway are invisible to the user. The upgrade of the storage layout of the PDS is imperceptible to the user, which is beneficial to the integrity of the PDS and the future upgrade of the storage layout. Moreover, the user can complete operations such as data upload and download by sending a single data request to the OSS. The user only needs to manage one domain name and one single-domain certificate, which not only reduces the user's management cost of the domain name but also improves the efficiency of data operations.
[0171] Figure 13 The figure is a schematic structural diagram of a server provided by an embodiment of the present application. As Figure 13 shown, the server includes: a memory 1301 and a processor 1302. The memory 1301 is used to store computer execution instructions and can be configured to store various other data to support operations on the server. The processor 1302 is communicatively connected to the memory 1301 and is used to execute the computer execution instructions stored in the memory 1301 to implement the technical solutions provided by any of the above method embodiments. Its specific functions and achievable technical effects are similar and will not be elaborated here.
[0172] Optionally, as Figure 13 shown, the server further includes: other components such as a firewall 1303, a load balancer 1304, a communication component 1305, and a power supply component 1306. Figure 13 Only some components are schematically shown, which does not mean that the server only includes Figure 13 the components shown. Figure 13 Only a cloud server deployed in the cloud is taken as an example for exemplary illustration here. The server can also be deployed locally, and no specific limitation is made here in this embodiment.
[0173] An embodiment of the present application further provides a computer-readable storage medium. Computer execution instructions are stored in the computer-readable storage medium. When the processor executes the computer execution instructions, the method of any of the foregoing embodiments is implemented. The specific functions and achievable technical effects will not be elaborated here.
[0174] The embodiments of the present application also provide a computer program product, including a computer program which, when executed by a processor, implements the method of any of the foregoing embodiments. The computer program is stored in a readable storage medium. At least one processor of the server of the basic storage product can read the computer program from the readable storage medium, and the execution of the computer program by at least one processor causes the server to execute the technical solutions provided in any of the foregoing method embodiments. The specific functions and achievable technical effects are not elaborated herein.
[0175] The embodiments of the present application provide a chip, including: a processing module and a communication interface. The processing module can execute the technical solutions of the basic storage product in the foregoing method embodiments. Optionally, the chip further includes a storage module (such as a memory). The storage module is used to store instructions, and the processing module is used to execute the instructions stored in the storage module, and the execution of the instructions stored in the storage module causes the processing module to execute the technical solutions provided in any of the foregoing method embodiments.
[0176] The integrated modules implemented in the form of software function modules as described above can be stored in a computer-readable storage medium. The above software function modules are stored in a storage medium and include several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor to execute some steps of the methods of the various embodiments of the present application.
[0177] It should be understood that the foregoing processor may be a central processing unit (CPU), a graphics processing unit (GPU), or other general-purpose processors, a digital signal processor (DSP), an application specific integrated circuit (ASIC), etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in combination with the application can be directly implemented by the execution of the hardware processor, or can be implemented by the combination of the hardware and software modules in at least one processor.
[0178] The memory may include high-speed random access memory (RAM), and may also include non-volatile storage, such as at least one disk memory, and may also be a USB flash drive, a mobile hard disk, a read-only memory, a magnetic disk, or an optical disc, etc.
[0179] The foregoing memory may be an object storage (Object Storage Service, OSS).
[0180] The above-mentioned memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as Static Random Access Memory (SRAM), Electrically Erasable Programmable Read Only Memory (EEPROM), Erasable Programmable Read Only Memory (EPROM), Programmable Read Only Memory (PROM), Read Only Memory (ROM), magnetic memory, flash memory, magnetic disk or optical disc.
[0181] The above-mentioned communication component is configured to facilitate communication between the device where the communication component is located and other devices in a wired or wireless manner. The device where the communication component is located can access a wireless network based on a communication standard, such as a mobile hotspot (WiFi), a second-generation mobile communication system (2G), a third-generation mobile communication system (3G), a fourth-generation mobile communication system (4G) / Long Term Evolution (LTE), a fifth-generation mobile communication system (5G), etc., or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component further includes a Near Field Communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on Radio Frequency Identification (RFID) technology, infrared technology, Ultra Wide Band (UWB) technology, Bluetooth technology, and other technologies.
[0182] The above-mentioned power supply component provides power for various components of the device where the power supply component is located. The power supply component can include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device where the power supply component is located.
[0183] The above storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The storage medium can be any available medium accessible by a general-purpose or special-purpose computer.
[0184] An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an application-specific integrated circuit. Of course, the processor and the storage medium can also exist as discrete components in an electronic device or a master device.
[0185] It should be noted that in this article, the terms "including", "comprising" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "including a..." does not exclude the existence of additional identical elements in the process, method, article or device including that element.
[0186] The order of the above embodiments of the present application is only for description and does not represent the superiority or inferiority of the embodiments. In addition, in some of the processes described in the above embodiments and the accompanying drawings, there are multiple operations that appear in a specific order, but it should be clearly understood that these operations can be executed not in the order in which they appear in this article or in parallel, and are only used to distinguish different operations. The serial numbers themselves do not represent any order of execution. In addition, these processes can include more or fewer operations, and these operations can be executed in sequence or in parallel. It should be noted that the descriptions such as "first" and "second" in this article are used to distinguish different messages, devices, modules, etc., and do not represent a sequence, nor do they limit that "first" and "second" are of different types. The meaning of "a plurality" is two or more, unless otherwise specifically defined.
[0187] Through the description of the above embodiments, those skilled in the art can clearly understand that the above method of the embodiment can be implemented by means of software plus a necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases, the former is a better implementation. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions for causing a terminal device (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods of the various embodiments of the present application.
[0188] After considering the specification and practicing the invention disclosed herein, those skilled in the art will readily conceive of other embodiments of the present application. The present application is intended to cover any variations, uses, or adaptations of the present application, which follow the general principles of the present application and include known common general knowledge or conventional technical means in the technical field not disclosed in the present application.
[0189] The above are only the preferred embodiments of the present application, and do not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made by using the specification and drawings of the present application, or directly or indirectly applied in other related technical fields, shall be equally included in the patent protection scope of the present application.
Claims
1. A data processing method, characterized in that, Applied to a basic storage product, the basic storage product acting as an agent for at least one upper-layer storage application built based on the basic storage product, and the basic storage product proxying data requests for the at least one upper-layer storage application, the method includes: Receiving a data request from a terminal device for an upper-layer storage application, the data request including request meta-information; Forwarding the request meta-information to the upper-layer storage application and receiving a first processing result of the upper-layer storage application for the request meta-information; Determining a second processing result for the data request according to the first processing result of the upper-layer storage application for the request meta-information, and returning the second processing result to the terminal device.
2. The method according to claim 1, characterized in that, The data request is a data upload request, the data upload request including first request meta-information and first target data to be uploaded, and the forwarding the request meta-information to the upper-layer storage application and receiving a first processing result of the upper-layer storage application for the request meta-information includes: Forwarding the first request meta-information to the upper-layer storage application and receiving a first processing result of the upper-layer storage application for the first request meta-information, the first processing result including a target storage address of the first target data on the basic storage product.
3. The method according to claim 2, characterized in that, The determining a second processing result for the data request according to the first processing result of the upper-layer storage application for the request meta-information includes: Writing the first target data to a storage space corresponding to the target storage address according to the target storage address of the first target data on the basic storage product to obtain a data upload result; Generating a second processing result for the data request according to the data upload result.
4. The method according to claim 1, characterized in that The data request is a data download request, the data download request including second request meta-information, and the forwarding the request meta-information to the upper-layer storage application and receiving a first processing result of the upper-layer storage application for the request meta-information includes: Forwarding the second request meta-information to the upper-layer storage application and receiving a first processing result of the upper-layer storage application for the second request meta-information, the first processing result including a data download address of second target data to be downloaded on the basic storage product.
5. The method according to claim 4, characterized in that The determining a second processing result for the data request according to the first processing result of the upper-layer storage application for the request meta-information includes: Obtaining the second target data according to the data download address in the first processing result; Generating a second processing result for the data download request according to the second target data.
6. The method according to claim 1, characterized in that The data request is a processing request for metadata of the upper-layer storage application, the processing request including third request meta-information, and the forwarding the request meta-information to the upper-layer storage application and receiving a first processing result of the upper-layer storage application for the request meta-information includes: Forwarding the third request meta-information to the upper-layer storage application and receiving a first processing result of the upper-layer storage application for processing the third request meta-information, the first processing result including a processing result for the metadata.
7. The method according to claim 6, characterized in that, Determining a second processing result for the data request according to the first processing result of the request meta-information by the upper-layer storage application includes: Using the first processing result as the second processing result.
8. The method according to any one of claims 1-7, characterized in that, Forwarding the request meta-information to the upper-layer storage application includes: Determining the access address of the upper-layer storage application according to the data request; Forwarding the request meta-information to the upper-layer storage application according to the access address of the upper-layer storage application.
9. The method according to any one of claims 1-7, characterized in that, It further includes: Providing the end-side device with static resource descriptors corresponding to at least one data resource; Receiving a data download request sent by the end-side device according to the static resource descriptor, where the data download request is used to download second target data belonging to the upper-layer storage application.
10. A data processing method, characterized in that, Applied to an object storage service, the object storage service acts as an agent for a network disk and album service built based on the object storage service, and the object storage service agents data requests for the network disk and album service. The method includes: Receiving a data request from an end-side device for a network disk and album service, where the data request includes request meta-information; Forwarding the request meta-information to the network disk and album service and receiving a first processing result of the request meta-information by the network disk and album service; Determining a second processing result for the data request according to the first processing result of the request meta-information by the network disk and album service, and returning the second processing result to the end-side device.
11. The method according to claim 10, wherein When the data request is a data upload request, the data upload request includes first request meta-information and first target data to be uploaded. Forwarding the request meta-information to the network disk and album service and receiving a first processing result of the request meta-information by the network disk and album service includes: Forwarding the first request meta-information to the network disk and album service and receiving a first processing result of the first request meta-information by the network disk and album service, where the first processing result includes the target storage address of the first target data on the object storage service; Determining a second processing result for the data request according to the first processing result of the request meta-information by the network disk and album service includes: Writing the first target data to the storage space corresponding to the target storage address according to the target storage address of the first target data on the object storage service to obtain a data upload result; Generating a second processing result for the data upload request according to the data upload result.
12. The method according to claim 11, wherein When the data request is a data download request, the data download request includes second request meta-information. Forwarding the request meta-information to the network disk and album service and receiving a first processing result of the request meta-information by the network disk and album service includes: Forwarding the second request meta-information to the network disk and album service and receiving a first processing result of the second request meta-information by the network disk and album service, where the first processing result includes the data download address of the second target data to be downloaded on the object storage service. Determining a second processing result for the data request according to the first processing result of the request meta-information based on the network disk and album service includes: Reading second target data from a corresponding storage space according to the data download address of the second target data on the object storage service; Generating a second processing result of the data download request according to the second target data.
13. A server, characterized in that, Including: At least one processor; And A memory communicatively connected to the at least one processor; Wherein, the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to cause the server to execute the method according to any one of claims 1-12.
14. A computer-readable storage medium, characterized in that, Computer-executable instructions are stored in the computer-readable storage medium, and when the processor executes the computer-executable instructions, the method according to any one of claims 1-12 is implemented.
15. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, the method according to any one of claims 1-12 is implemented.
16. A data processing system, characterized in that, Including: A basic storage product and an upper-layer storage application built based on the basic storage product. The basic storage product acts as an agent for at least one upper-layer storage application built based on the basic storage product, and the basic storage product proxies data requests for the at least one upper-layer storage application; The basic storage product is configured to: receive a data request from an end-side device for the upper-layer storage application, and forward the request meta-information in the data request to the upper-layer storage application; The upper-layer storage application is configured to: in response to receiving the request meta-information, process the request meta-information to obtain a first processing result, and return the first processing result to the basic storage product; The basic storage product is further configured to: determine a second processing result for the data request according to the first processing result returned by the upper-layer storage application, and return the second processing result to the end-side device.
Citation Information
Patent Citations
Data management method and storage system
CN116319842A