Storage method, device and equipment for mirror image files
By setting up storage resources locally on distributed cloud nodes, the data leakage and slow transmission speed caused by unified storage of mirror files in the global warehouse are solved, and higher storage security and transmission efficiency are achieved.
Patent Information
- Application Number
- CN202410263988.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-07
- Publication Date
- 2025-06-27
- Estimated Expiration
- 2044-03-07
AI Technical Summary
The image files of distributed cloud nodes are stored in the global warehouse of the central cloud node, and there are problems such as data leakage and slow public network transmission speed.
Set up local storage resources locally on distributed cloud nodes so that the image files are stored locally, rather than uploading them all to the global repository. Determine the most suitable storage resources through mirroring metadata, give priority to local storage resources, and use global repositories only when local resources are insufficient.
It reduces the risk of data leakage caused by public network transmission and shared warehouses, and improves the storage security and transmission speed of mirror files.
Smart Images

Figure CN118862192B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present application relate to the field of cloud technology, and in particular, to a method, apparatus, and device for storing image files. Background Art
[0002] Distributed cloud nodes are an extension of the capabilities of central cloud nodes, aiming to provide ubiquitous cloud computing services to meet local access requirements such as data security and low latency. To reduce the deployment cost of a single cloud node, a large number of capabilities of distributed cloud nodes are shared by connecting to the central cloud node through the public network. In the related art, all image files created by distributed cloud nodes are uniformly stored in the global repository of the central cloud node.
[0003] However, the image file may contain sensitive information such as the customer's own business data, code, and secret keys, posing a risk of data leakage. Summary of the Invention
[0004] Embodiments of the present application provide a method, apparatus, and device for storing image files. The technical solutions provided by the embodiments of the present application are as follows.
[0005] According to one aspect of the embodiments of the present application, a method for storing an image file is provided. The method is executed by a central cloud node, and the central cloud node is used to manage image files of at least one distributed cloud node. The method includes:
[0006] In response to an operation command for a first distributed cloud node among the at least one distributed cloud node, obtain mirror metadata corresponding to the first distributed cloud node. The mirror metadata includes relevant information required for storing the image file, and the image file is used to store the business data of the first distributed cloud node;
[0007] Based on the mirror metadata, determine a first storage resource from multiple storage resources. The multiple storage resources include the local storage resources of the first distributed cloud node and the storage resources of the central cloud node;
[0008] Based on the mirror metadata and the first storage resource, send a first control instruction to the first distributed cloud node. The first control instruction is used to instruct the first distributed cloud node to store the image file in the first storage resource.
[0009] According to one aspect of the embodiments of the present application, a method for storing an image file is provided. The method is executed by a first distributed cloud node, and the method includes:
[0010] Receive a first control instruction sent by the central cloud node, where the first control instruction is used to instruct the first distributed cloud node to store an image file in a first storage resource. The first control instruction is sent based on image metadata and the first storage resource. The image metadata includes relevant information required to store the image file, and the image file is used to store the service data of the first distributed cloud node. The central cloud node is used to manage the image files of at least one distributed cloud node. The first storage location is determined by the central cloud node from multiple storage resources based on the image metadata. The multiple storage resources include the local storage resources of the first distributed cloud node and the storage resources of the central cloud node;
[0011] Store the image file in the first storage resource.
[0012] According to one aspect of the embodiments of the present application, a storage system for image files is provided. The system includes a central cloud node and at least one distributed cloud node;
[0013] The central cloud node is configured to, in response to an operation command for a first distributed cloud node among the at least one distributed cloud node, obtain the image metadata corresponding to the first distributed cloud node. The image metadata includes relevant information required to store an image file, and the image file is used to store the service data of the first distributed cloud node; determine a first storage resource from multiple storage resources based on the image metadata. The multiple storage resources include the local storage resources of the first distributed cloud node and the storage resources of the central cloud node; send the first control instruction to the first distributed cloud node based on the image metadata and the first storage resource. The first control instruction is used to instruct the first distributed cloud node to store the image file in the first storage resource;
[0014] The first distributed cloud node is configured to receive the first control instruction sent by the central cloud node. The first control instruction is used to instruct the first distributed cloud node to store an image file in a first storage resource; store the image file in the first storage resource.
[0015] According to one aspect of the embodiments of the present application, a storage device for image files is provided. The device includes:
[0016] An acquisition module, configured to, in response to an operation command for a first distributed cloud node among at least one distributed cloud node, obtain the image metadata corresponding to the first distributed cloud node. The image metadata includes relevant information required to store an image file, and the image file is used to store the service data of the first distributed cloud node;
[0017] A determination module, configured to determine a first storage resource from multiple storage resources based on the mirror metadata, where the multiple storage resources include the local storage resource of the first distributed cloud node and the storage resource of the central cloud node;
[0018] A sending module, configured to send a first control instruction to the first distributed cloud node based on the mirror metadata and the first storage resource, where the first control instruction is used to instruct the first distributed cloud node to store the mirror file in the first storage resource.
[0019] According to one aspect of the embodiments of the present application, a storage device for mirror files is provided. The device includes:
[0020] A receiving module, configured to receive a first control instruction sent by a central cloud node, where the first control instruction is used to instruct a first distributed cloud node to store a mirror file in a first storage resource. The first control instruction is sent based on mirror metadata and the first storage resource. The mirror metadata includes relevant information required to store the mirror file. The mirror file is used to store the service data of the first distributed cloud node. The central cloud node is used to manage the mirror files of at least one distributed cloud node. The first storage location is determined by the central cloud node from multiple storage resources based on the mirror metadata. The multiple storage resources include the local storage resource of the first distributed cloud node and the storage resource of the central cloud node;
[0021] A storage module, configured to store the mirror file in the first storage resource.
[0022] According to one aspect of the embodiments of the present application, a computer device is provided. The computer device includes a processor and a memory. A computer program is stored in the memory. The processor is configured to execute the computer program to implement the above-mentioned storage method for mirror files.
[0023] According to one aspect of the embodiments of the present application, a computer-readable storage medium is provided. A computer program is stored in the computer-readable storage medium. The computer program is loaded and executed by a processor to implement the above-mentioned storage method for mirror files.
[0024] According to one aspect of the embodiments of the present application, a computer program product is provided. The computer program product includes a computer program. The computer program is loaded and executed by a processor to implement the above-mentioned storage method for mirror files.
[0025] The technical solutions provided by the embodiments of the present application can bring the following beneficial effects:
[0026] By locally setting local storage resources on a distributed cloud node, the image files of the distributed cloud node can be stored locally on the distributed cloud node without being fully uploaded to the global repository, reducing the risk of data leakage caused by public network transmission and shared repositories. Description of the Drawings
[0027] Figure 1 is a schematic diagram of the implementation environment of the solution provided by an embodiment of the present application;
[0028] Figure 2 is a flowchart of the storage method of the image file provided by an embodiment of the present application;
[0029] Figure 3 is a flowchart of the storage method of the image file provided by another embodiment of the present application;
[0030] Figure 4 is a schematic diagram of the distributed cloud node provided by an embodiment of the present application;
[0031] Figure 5 is a flowchart of the storage method of the image file provided by another embodiment of the present application;
[0032] Figure 6 is a block diagram of the storage device of the image file provided by an embodiment of the present application;
[0033] Figure 7 is a block diagram of the storage device of the image file provided by another embodiment of the present application;
[0034] Figure 8 is a block diagram of the structure of the computer device provided by an embodiment of the present application. Detailed Embodiments
[0035] To make the objectives, technical solutions, and advantages of the present application clearer, the following will further describe the embodiments of the present application in detail with reference to the accompanying drawings.
[0036] Cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and networks within a wide area network or local area network to achieve data computing, storage, processing, and sharing.
[0037] Cloud technology is the general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model. It can form a resource pool, be used on demand, and is flexible and convenient. Cloud computing technology will become an important support. The back-end services of the technical network system require a large amount of computing and storage resources, such as video websites, picture websites, and more portal websites. With the highly developed and applied Internet industry, in the future, each item may have its own identification mark and needs to be transmitted to the back-end system for logical processing. Data at different levels will be processed separately, and various industry data requires the support of a powerful system background, which can only be achieved through cloud computing.
[0038] Cloud storage is a new concept extended and developed from the concept of cloud computing. A distributed cloud storage system (hereinafter referred to as the storage system) refers to a storage system that combines a large number of different types of storage devices (storage devices are also called storage nodes) in the network through functions such as cluster applications, grid technology, and distributed storage file systems, and works together through application software or application interfaces to jointly provide data storage and business access functions to the outside world.
[0039] Currently, the storage method of the storage system is as follows: Create a logical volume. When creating a logical volume, physical storage space is allocated for each logical volume. This physical storage space may be composed of disks of a certain storage device or several storage devices. The client stores data on a certain logical volume, that is, stores the data on the file system. The file system divides the data into many parts, and each part is an object. The object not only contains data but also additional information such as data identification (ID, ID entity). The file system writes each object into the physical storage space of the logical volume respectively, and the file system will record the storage location information of each object. Thus, when the client requests to access the data, the file system can enable the client to access the data according to the storage location information of each object.
[0040] The process of the storage system allocating physical storage space for a logical volume is specifically as follows: According to the capacity estimation of the objects stored in the logical volume (this estimation often has a large margin relative to the actual capacity of the objects to be stored) and the group of redundant arrays of independent disks (RAID, Redundant Array of Independent Disk), the physical storage space is pre-divided into stripes, and a logical volume can be understood as a stripe, thereby allocating physical storage space for the logical volume.
[0041] Please refer to Figure 1, which shows a schematic diagram of the solution implementation environment provided by an embodiment of the present application. The solution implementation environment can be implemented as a system architecture for storing mirror files. The solution implementation environment may include: a central cloud node 100, a distributed cloud node 200, and a global repository 300.
[0042] The central cloud node 100 is configured to, in response to an operation command for a first distributed cloud node 201 among at least one distributed cloud node 200, obtain mirror metadata, where the mirror metadata includes relevant information required for storing mirror files, and the mirror files are used to store the business data of the first distributed cloud node 201; determine a first storage resource from multiple storage resources based on the mirror metadata, where the multiple storage resources include the local storage resource 201a of the first distributed cloud node 201 and the storage resource of the central cloud node (global repository 300); and send a first control instruction to the first distributed cloud node 201 based on the mirror metadata and the first storage resource, where the first control instruction is used to instruct the first distributed cloud node 201 to store the mirror file in the first storage resource.
[0043] In some embodiments, the central cloud node 100 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. The central cloud node 100 may be the background server of the above-mentioned first distributed cloud node, and is used to provide background services for the clients of the first distributed cloud node.
[0044] In some embodiments, the central cloud node is used to manage the mirror files of at least one distributed cloud node. In some embodiments, the central cloud node is responsible for managing the life cycle of the mirror files corresponding to at least one distributed cloud node respectively. The life cycle refers to the process of the mirror file from creation to deletion, and this process may include operations such as addition, deletion, and query of the mirror file. The central cloud node provides an interface to implement the above functions externally. The central cloud node has a built-in database to save mirror metadata such as the identification information of the mirror file, the chunks of the mirror file, and the storage paths of each chunk. When the central cloud node is working, it receives the operation commands of users externally, queries the mirror metadata from the database according to the identification information of the mirror file in the operation commands, and finally encapsulates the mirror metadata and the operation commands into control instructions, and sends them to the distributed cloud node through a VPN (Virtual Private Network) for execution by the distributed cloud node.
[0045] The first distributed cloud node 201 is used to receive the first control instruction sent by the central cloud node 100. The first control instruction is used to instruct the first distributed cloud node 201 to store the mirror file in the first storage resource; store the mirror file in the first storage resource.
[0046] In some embodiments, the first distributed cloud node 201 is responsible for running user services. During daily work, according to the control instruction issued by the central cloud node 100, the mirror file is stored in the first storage resource. In the related art, the first distributed cloud node stores the mirror file in the global repository 300 or remotely downloads it from the global repository 300 according to the control instruction issued by the central cloud node 100. Since the global repository 300 is deployed on the central cloud node 100, the upload and download of the mirror file need to be completed by means of VPN public network transmission. On the one hand, the mirror file is strongly associated with the user service, and the mirror file may contain sensitive information such as data, code, and secret keys. There is a risk of information leakage in public network transmission; on the other hand, the public network bandwidth resources are limited, the stability is poor, and the transmission speed of the mirror file is slow, which seriously affects the use experience of cloud services.
[0047] In some embodiments, the first distributed cloud node 201 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services. In some embodiments, the local storage resources of the first distributed cloud node 201 include at least one of the following: local storage pool, local storage gateway. In some embodiments, the local storage pool is a physical storage resource deployed for the first distributed cloud node, and the local storage gateway is a virtual storage resource deployed on the first distributed cloud node. In some embodiments, the local storage pool may be a single server or server cluster added outside the server cluster of the distributed cloud node 201. In some embodiments, the local storage gateway may be a virtual machine running on the distributed cloud node 201.
[0048] The global repository 300 is a storage resource deployed on the central cloud node.
[0049] In some embodiments, the global repository 300 is deployed on the central cloud node 100 and is responsible for storing the mirror files of all distributed cloud nodes 200 and the central cloud node 100. The global repository 300 provides external interfaces for uploading and downloading mirror files, facilitating the read and write operations of mirror files by cloud nodes (including the central cloud node 100 and distributed cloud nodes 200). The global repository 300 has the advantages of infinite space and high data availability, and is shared by all cloud nodes (including the central cloud node 100 and distributed cloud nodes 200), and the marginal cost can be ignored. However, the method of the global repository 300 storing all cloud node mirror files uniformly has insufficient data isolation and cannot meet business scenarios with high requirements for data security.
[0050] In addition to the storage scenario of mirror files, the technical solutions provided by the embodiments of the present application can also be applied to scenarios that require the storage of mirror files, such as game scenarios, VR, AR, XR (Extended Reality), social networking, etc. The embodiments of the present application can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, intelligent transportation, assisted driving, etc.
[0051] Distributed cloud nodes are an extension of the capabilities of central cloud nodes, aiming to provide ubiquitous cloud computing services to meet local access requirements such as data security and low latency. The ability to be used at any location and the flexible application scenarios determine the characteristics of distributed cloud nodes being small-sized, customizable, and low-cost. To reduce the deployment cost of a single cloud node, a large number of capabilities of distributed cloud nodes are shared by linking to the central cloud node through the public network. The use of mirror files by cloud servers is one of them. Currently, all mirror files created by distributed cloud nodes are uniformly stored in the global warehouse of the central cloud node. This unified storage method has increasingly obvious drawbacks as the distributed cloud nodes are used. On the one hand, the mirror files may contain sensitive information such as the customer's own business data, code, and secret keys. To create a new mirror file, it needs to be transmitted through the public network, which poses risks such as traffic hijacking and information leakage. The global warehouse uses the same storage resource pool to store all mirror files, and the isolation between each mirror file is insufficient, further increasing the risk of file leakage. On the other hand, within the distributed cloud node, whether it is the upload or download operation of the mirror file, it needs to be completed by means of VPN public network transmission. Compared with the private network, the public network transmission has many drawbacks. One is the cost limitation. The public network bandwidth is not high, the transmission speed is slow and unstable, resulting in a decline in the cloud service experience. The second is that each transmission consumes public network traffic, and as the user usage frequency increases, the traffic cost remains high.
[0052] Please refer to Figure 2 , which shows a flowchart of a method for storing mirror files provided by an embodiment of the present application. This method is executed by a central cloud node, and the central cloud node is used to manage the mirror files of at least one distributed cloud node. This method includes at least one of the following steps 210 to 230.
[0053] In step 210, in response to an operation command for a first distributed cloud node among at least one distributed cloud node, the central cloud node obtains the mirror metadata corresponding to the first distributed cloud node. The mirror metadata includes relevant information required for storing the mirror file, and the mirror file is used to store the business data of the first distributed cloud node.
[0054] In some embodiments, the central cloud node is responsible for managing the image files corresponding to at least one distributed cloud node respectively. In some embodiments, the central cloud node is responsible for managing the life cycle of the image files. The life cycle refers to the birth, growth, decline, and death of an object. In the scenario of the embodiments of the present application, the life cycle of the image file includes the process from the creation of the image file to the removal of the image file. Exemplarily, the life cycle of the image file includes operations on the image file such as creation, storage, download, backup, and removal.
[0055] In some embodiments, the first distributed cloud node may be any one of the above at least one distributed cloud node. In some embodiments, the operation command includes the identification information of the first distributed cloud node. In some embodiments, the operation command is generated based on the user's operation on the first distributed cloud node. In some embodiments, the operation command further includes the operation type of the image file. In some embodiments, the operation type of the image file includes at least one of the following: creation, storage, removal, backup, and download. In the embodiments of the present application, the creation is taken as an example for illustration.
[0056] In some embodiments, the image metadata includes at least one of the following: local repository information, data security level, bandwidth information, and identification information of the image file.
[0057] In some embodiments, the local repository information is used to characterize the local storage resources of the first distributed cloud node, where the local storage resources include at least one of the following: local storage pool, local storage gateway. The local storage pool is the physical storage resource deployed for the first distributed cloud node, and the local storage gateway is the virtual storage resource deployed on the first distributed cloud node. In some embodiments, the local storage pool may be a single server or a server cluster added outside the server cluster of the distributed cloud node. In some embodiments, the local storage gateway may be a virtual machine running on the distributed cloud node.
[0058] In some embodiments, the data security level is used to characterize the privacy degree of the image file. In some embodiments, the data security level can be divided into high level and low level. If the data security level of the image file is low level, then the image file can be stored in the global repository; if the data security level of the image file is low level, then the image file cannot be stored in the global repository. In some embodiments, the data security level may include multiple levels, and the multiple levels are sorted according to the privacy degree of the image file. Exemplarily, the data security levels from low to high include the following levels: A, S, SS, SSS.
[0059] In some embodiments, the bandwidth information is used to characterize the transmission bandwidth between the first distributed cloud node and the global repository, and the global repository is a storage resource deployed on the central cloud node. In some embodiments, the greater the transmission bandwidth, the faster the data transmission speed.
[0060] In some embodiments, the mirror metadata further includes the operation type of the mirror file.
[0061] In some embodiments, the mirror file is used to store the service data of the first distributed cloud node. In some embodiments, a mirror file may store the data generated by one service or the data generated by multiple services, and this application does not limit this.
[0062] Step 220, the central cloud node determines a first storage resource from multiple storage resources based on the mirror metadata, and the multiple storage resources include the local storage resources of the first distributed cloud node and the storage resources of the central cloud node.
[0063] In some embodiments, the multiple storage resources include: a local storage pool, a local storage gateway, and a global repository. In some embodiments, the capacity of the global repository can be considered infinite.
[0064] In some embodiments, the local storage pool and the central cloud node global repository use the same system architecture and are deployed on the first distributed cloud node in the form of a physical machine. In some embodiments, multiple physical machines jointly form a complete storage pool system. In a distributed cloud scenario, the starting threshold for resource deployment can be reduced by reducing the number of physical machines. Exemplarily, by reducing the number of physical machines to 3, the starting threshold for resource deployment is reduced, supporting a minimum of 100TB. In some embodiments, the above physical machine refers to a server. The local storage pool integrates functions such as access control, disaster recovery management, capacity management, and replica management internally, and has advantages such as high availability, large capacity, and easy management, and is suitable for most distributed cloud nodes.
[0065] In some embodiments, the local storage gateway does not require additional physical devices and is deployed on the physical machine of the distributed cloud node in the form of a virtual machine, sharing physical resources with the user cloud service. A file server is deployed inside the local storage gateway to receive the mirror file and store it on its own disk. In some embodiments, the local storage gateway improves resource utilization by trimming unnecessary monitoring and management functions. Exemplarily, the local storage gateway supports a minimum elastic start of 0.5T, greatly reducing the starting scale of the mirror repository deployment, and is suitable for cloud nodes with relatively strict cost requirements.
[0066] In some embodiments, the global repository is deployed on the central cloud node and is responsible for storing the image files of all distributed cloud nodes and the central cloud node. The global repository provides external interfaces for file upload and download, facilitating the read and write operations of image files by cloud nodes. The global repository has the advantages of infinite space and high data availability, and is shared by all cloud nodes, with negligible marginal cost. However, the method of uniformly storing the image files of all cloud nodes in the global repository has insufficient data isolation and cannot meet the business scenarios with high requirements for data security.
[0067] Step 230, the central cloud node sends a first control instruction to the first distributed cloud node based on the image metadata and the first storage resource, and the first control instruction is used to instruct the first distributed cloud node to store the image file in the first storage resource.
[0068] In some embodiments, the first control instruction includes the first storage resource and the image metadata.
[0069] In some embodiments, the embodiments of the present application can also be applied to other operations of image files. Exemplarily, the central cloud node sends a third control instruction to the first distributed cloud node based on the image metadata and the operation type of the image file, and the third control instruction is used to instruct the first distributed cloud node to operate on the image file. Exemplarily, the operation type of the image file is download. At this time, the third control instruction includes the operation type of the image file and the storage resource of the image file. After receiving the third control instruction, the distributed cloud node downloads the image file based on the storage resource of the image file.
[0070] The technical solution provided by the embodiments of the present application enables the image files of distributed cloud nodes to be stored locally on the distributed cloud nodes by setting local storage resources locally, without the need to upload all of them to the global repository, reducing the risk of data leakage caused by public network transmission and shared repositories.
[0071] Regarding how the central cloud node determines the first storage resource from multiple storage resources based on the image metadata, the present application also gives an exemplary embodiment.
[0072] In some embodiments, the central cloud node determines the first storage resource from multiple storage resources based on at least one of local repository information, data security level, and bandwidth information.
[0073] In some embodiments, the above step 220 may include at least one of the following steps 221 to 224.
[0074] Step 221, obtain local repository information from the image metadata.
[0075] In some embodiments, the local warehouse information is used to indicate the local storage resources of the first distributed cloud node. In some embodiments, the local warehouse information is used to indicate the remaining available storage resources in the local storage resources of the first distributed cloud node. In some embodiments, the local warehouse information includes the remaining storage resources of the local storage pool and the remaining storage resources of the local storage gateway.
[0076] Step 222: If the local storage pool has resources for storing image files, determine the local storage pool as the first storage resource.
[0077] In some embodiments, when the remaining storage resources of the local storage pool are capable of storing the image file, the local storage pool is determined as the first storage resource.
[0078] Step 223: When the local storage pool does not have resources for storing image files, and the local storage gateway has resources for storing image files, the local storage gateway is determined as the first storage resource.
[0079] In some embodiments, when the remaining storage resources of the local storage pool cannot store the image file, it is determined whether the remaining storage resources of the local storage gateway can store the image file. In some embodiments, when the remaining storage resources of the local storage gateway can store the image file, the local storage gateway is determined as the first storage resource.
[0080] Step 224: When neither the local storage pool nor the local storage gateway has resources for storing image files, the global warehouse is determined as the first storage resource.
[0081] In some embodiments, when the local storage and the remaining storage resources of the local storage gateway are unable to store the image file, the global warehouse is determined as the first storage resource.
[0082] In some embodiments, the local storage resources of the first distributed cloud node may include only one of a local storage pool and a local storage gateway. Exemplarily, the local storage resources of the first distributed cloud node include only a local storage pool, and there is no need to perform the above step 223. Exemplarily, the local storage resources of the first distributed cloud node include only a local storage gateway, and there is no need to perform the above step 222.
[0083] In some embodiments, since the global warehouse has the risk of data leakage, data with high privacy requirements should be avoided as much as possible from being stored in the global warehouse. Therefore, before determining the global warehouse as the first storage resource, the data security level of the image file needs to be considered.
[0084] In some embodiments, the above step 224 includes at least one of the following steps 1 to 3.
[0085] Step 1, when neither the local storage pool nor the local storage gateway has the resources to store the mirror file, obtain the data security level from the mirror metadata.
[0086] Step 2, when the data security level exceeds the first threshold, send a second control instruction to the first distributed cloud node, where the second control instruction is used to indicate that the storage resources for the mirror file cannot be determined.
[0087] Step 3, when the data security level does not exceed the first threshold, perform the step of determining the global repository as the first storage resource.
[0088] In some embodiments, the first threshold is preset. In some embodiments, the data security level may include two or more levels. Exemplarily, the data security level can be divided into high level and low level. If the data security level of the mirror file is low level, then the mirror file can be stored in the global repository; if the data security level of the mirror file is low level, then the mirror file cannot be stored in the global repository. Exemplarily, the data security levels from low to high include the following levels: A, S, SS, SSS. The first threshold is S, that is, when the data security level of the mirror file is SS or SSS, send a second control instruction to the first distributed cloud node; when the data security level of the mirror file is A or S, determine the global repository as the first storage resource.
[0089] In some embodiments, since communication between the distributed cloud node and the global repository needs to pass through the public network VPN, before determining the global repository as the first storage resource, it is also necessary to consider the transmission bandwidth between the distributed cloud node and the global repository.
[0090] In some embodiments, the above step 224 includes at least one of the following steps 4 to 6.
[0091] Step 4, when neither the local storage pool nor the local storage gateway has the resources to store the mirror file, obtain the bandwidth information from the mirror metadata.
[0092] Step 5, when the transmission bandwidth exceeds the second threshold, perform the step of determining the global repository as the first storage resource.
[0093] Step 6, when the transmission bandwidth does not exceed the second threshold, send a second control instruction to the first distributed cloud node, where the second control instruction is used to indicate that the storage resources for the mirror file cannot be determined.
[0094] In some embodiments, the second threshold can be a preset fixed value or can be dynamically adjusted based on the usage of the public network. In some embodiments, to avoid excessive time required for data transmission between the distributed cloud node and the global repository, a second threshold is preset to prevent users from waiting for too long for the mirror file storage to complete, thereby enhancing the user experience. In some embodiments, since the distributed cloud node and the global repository need to communicate via the public network, the second threshold can be determined based on the usage of the public network. For example, if the current public network is busy, the second threshold can be appropriately increased; if the current public network is idle, the second threshold can be appropriately decreased.
[0095] Through the above method, the mirror file is preferentially stored in the local storage resource of the distributed cloud node. In the case where the local storage resource cannot store the mirror file, consideration is then given to storing the mirror file in the global repository. Before determining the global repository as the storage resource for the mirror file, the data security level of the mirror file is considered to avoid storing sensitive information in the global repository, enabling local storage of sensitive mirror files, avoiding data leakage risks caused by public network transmission and shared repositories, meeting data compliance requirements in various scenarios, expanding the application scenarios of distributed cloud, and providing necessary support for the wide implementation of distributed cloud in various industries.
[0096] In some embodiments, after the mirror file is stored in the first storage resource, the central cloud node adds the first storage resource to the mirror metadata. During the life cycle of the mirror file, if operations need to be performed on the mirror file, the relevant information required can be determined based on the mirror metadata to facilitate the management of the mirror file.
[0097] In some embodiments, the central cloud node includes at least one of the following: Vstation (global resource management), DB (Data Base, data-based), and scheduling management module.
[0098] In some embodiments, the V station is used to manage the life cycle of the mirror files of the distributed cloud node.
[0099] In some embodiments, the DB is used to store the mirror metadata of at least one distributed cloud node.
[0100] In some embodiments, the scheduling and management module is used to maintain the relationship between the identification information of the image file and the storage resources, ensuring the efficient use of the image file under multiple storage resources. When creating an image file, the scheduling and management module matches the best storage resources according to factors such as the data security level of the distributed cloud node, the local repository information, and the bandwidth information. When the node is idle, synchronize the image file replicas to multiple storage resources to give full play to the advantages of each storage resource; when reading the image file, match the nearest storage resource according to the identification information of the image file for the distributed cloud service to download, improving the usage efficiency of the image file.
[0101] Please refer to Figure 3 , which shows a flowchart of a method for storing an image file provided by an embodiment of the present application. This method is executed by the first distributed cloud node. This method includes at least one of the following steps 310 to 320.
[0102] Step 310, the distributed cloud node receives a first control instruction sent by the central cloud node. The first control instruction is used to instruct the first distributed cloud node to store the image file in the first storage resource. The first control instruction is sent based on the image metadata and the first storage resource. The image metadata includes relevant information required to store the image file. The image file is used to store the service data of the first distributed cloud node. The central cloud node is used to manage the image files of at least one distributed cloud node. The first storage location is determined by the central cloud node from multiple storage resources based on the image metadata. The multiple storage resources include the local storage resources of the first distributed cloud node and the storage resources of the central cloud node.
[0103] The content of the above steps can refer to the introduction of step 230 in the above embodiments, and the present application will not elaborate here.
[0104] Step 320, the distributed cloud node stores the image file in the first storage resource.
[0105] In some embodiments, the image metadata includes at least one of the following: local repository information, data security level, bandwidth information, identification information of the image file.
[0106] In some embodiments, the local repository information is used to characterize the local storage resources of the first distributed cloud node; the local storage resources include at least one of the following: local storage pool, local storage gateway; the local storage pool is a physical storage resource deployed for the distributed cloud node, and the local storage gateway is a virtual storage resource deployed on the distributed cloud node.
[0107] In some embodiments, the data security level is used to characterize the privacy level of the image file.
[0108] In some embodiments, the bandwidth information is used to characterize the transmission bandwidth between the distributed cloud node and the global repository, and the global repository is a storage resource deployed on the central cloud node.
[0109] In some embodiments, the distributed cloud node includes a service layer, an access proxy layer, and a storage medium layer. Exemplarily, as Figure 4 shown, the distributed cloud node includes a service layer 410, an access proxy layer 420, and a storage medium layer 430.
[0110] In some embodiments, the service layer 410 is used to obtain the identification information of the mirror file from the mirror metadata and send the identification information of the mirror file to the access proxy layer.
[0111] In some embodiments, the access proxy layer 420 is used to determine the first storage resource based on the identification information of the mirror file and store the mirror file in the first storage resource.
[0112] In some embodiments, the service layer is used to run the services of the distributed cloud node, the access proxy layer is used to shield the interface differences of different storage resources, and the storage medium layer is used to provide storage resources for the mirror files of the first distributed cloud node.
[0113] In some embodiments, the access proxy layer is responsible for providing unified multi-repository access capabilities and shielding the interface differences of different types of repositories. When a cloud node wants to read or write a mirror file, it calls the API (Application Programming Interface) of the access proxy, and the access proxy confirms information such as the repository type and repository address according to the API parameters, and finally completes the reading and writing of the mirror file through different reading and writing clients (clients).
[0114] In some embodiments, the distributed cloud node can also, when idle, back up the non-sensitive mirror files stored locally to the global repository, or back up the subscribed mirror files stored in the global repository to the local storage resources.
[0115] In some embodiments, the method further includes at least one of the following steps 330 to 340.
[0116] Step 330, detecting the state of the first distributed cloud node.
[0117] Step 340, in the case where the first distributed cloud node is in an idle state, based on the mirror metadata, backing up the mirror file from the first storage resource to the second storage resource, where the first storage resource and the second storage resource are deployed on different cloud nodes.
[0118] In some embodiments, on the one hand, due to the limited disaster recovery capacity of local storage resources, data loss caused by node failures is likely to occur; for non-sensitive image files stored only in local storage resources, they need to be synchronized to the global repository; on the other hand, the file access efficiency of the global repository is low, and for subscribed images stored only in the global repository, they need to be actively synchronized to local storage resources. Therefore, the embodiments of the present application provide examples of backing up image files stored in local storage resources to the global repository and examples of backing up subscribed image files stored in the global repository to local storage resources.
[0119] In some embodiments, the first storage resource is a local storage pool or a local storage gateway, and the above step 340 can be implemented as at least one of the following steps 341 to 343.
[0120] Step 341, obtain the data security level from the image metadata.
[0121] Step 342, when the data security level does not exceed the first threshold, determine the global repository as the second storage resource.
[0122] Step 343, back up the image file from the first storage resource to the second storage resource.
[0123] In some embodiments, the first storage resource is the global repository, and the above step 340 can be implemented as at least one of the following steps 344 to 347.
[0124] Step 344, when the image file is a subscribed image file, obtain the local repository information from the image metadata, and the subscribed image file is determined based on the user's operation instruction.
[0125] Step 345, when the local storage pool has resources for storing the image file, determine the local storage pool as the second storage resource.
[0126] Step 346, when the local storage pool does not have resources for storing the image file and the local storage gateway has resources for storing the image file, determine the local storage gateway as the second storage resource.
[0127] Step 347, back up the image file from the first storage resource to the second storage resource.
[0128] In some embodiments, the subscribed image file is determined based on the user's operation instruction. In some embodiments, the user can select by himself which image files are determined as the subscribed image files.
[0129] In some embodiments, a timer is set to detect the status of the distributed cloud node at regular intervals. In some embodiments, the timer can be set on the central cloud node or on the distributed cloud node, and this application does not limit this. In some embodiments, it is possible to determine whether the distributed cloud node is in an idle state based on the resource occupancy rate of the distributed cloud node.
[0130] In some embodiments, the above step 330 can be implemented as at least one of the following steps 331 to 332.
[0131] Step 331, obtain the resource occupancy rate of the first distributed cloud node, where the resource occupancy rate is used to characterize the usage of the operating resources of the first distributed cloud node.
[0132] Step 332, when the resource occupancy rate does not exceed the third threshold, determine that the first distributed cloud node is in an idle state.
[0133] In some embodiments, the third threshold can be set based on the capabilities of the distributed cloud node. In some embodiments, the third thresholds corresponding to different distributed cloud nodes can be the same or different, and this application does not limit this.
[0134] In some embodiments, the method further includes the following step 350.
[0135] Step 350, the first distributed cloud node receives a second control instruction sent by the central cloud node, and the second control instruction is used to indicate that the storage resource for the mirror file cannot be determined.
[0136] In some embodiments, the second control instruction also includes the reason why the storage resource for the mirror file cannot be determined. Exemplarily, the second control instruction includes that there is no resource for storing the mirror file in the local storage resource, and the data security level of the mirror file exceeds the first threshold. In some embodiments, after receiving the second control instruction, the first distributed cloud node displays a first prompt message, and the first prompt message is used to prompt that the storage resource for the mirror file cannot be determined. In some embodiments, the user can clean up the mirror files stored in the local storage resource. In some embodiments, the local storage resource can also be automatically cleaned up regularly. Exemplarily, to avoid disaster recovery, every once in a while, the local storage resource automatically cleans up the mirror files whose data security level does not exceed the first threshold. In some embodiments, before automatically cleaning up the mirror files whose data security level does not exceed the first threshold, back up this part of the mirror files to the global repository.
[0137] The technical solution provided in the embodiment of the present application sets local storage resources locally in the distributed cloud nodes, so that the image files of the distributed cloud nodes can be stored locally in the distributed cloud nodes without having to be uploaded to the global warehouse, thereby reducing the risk of data leakage caused by public network transmission and shared warehouses.
[0138] In addition, when the distributed cloud nodes are idle, non-sensitive image files stored in local storage resources can be backed up to the global warehouse to avoid disaster recovery problems with local storage resources; subscription image files stored in the global warehouse can be backed up to local storage resources to improve access efficiency of subscription image files.
[0139] To improve the system understanding of the embodiments of this application, please refer to Figure 5 , which shows a flow chart of a method for storing an image file provided by an embodiment of the present application. The method may include at least one of the following steps 1 to 5.
[0140] Step 1, metadata loading: obtain image metadata. The image metadata may include at least one of the following: data security level, local warehouse information, bandwidth information, and image operation type. In the embodiment of the present application, the creation of an image file is taken as an example for explanation, so the identification information of the image file is newly generated for use in subsequent processes. If other operations are performed on the image file, the image metadata includes the identification information of the image file.
[0141] Step 2, location selection: responsible for matching the best storage resource (determining the first storage resource from multiple storage resources). The central cloud node selects the appropriate storage resource based on the image metadata. According to the current status of the distributed cloud node, the local storage pool is given priority; when the local storage pool resources are insufficient, the local storage gateway is given priority; when the local storage gateway resources are also insufficient, the global warehouse will be downgraded; however, for cloud nodes with higher security requirements, image files are only allowed to be saved locally. When local resources are insufficient, the location selection fails and the creation process ends.
[0142] Step 3, file transfer: according to the matched first storage resource, encapsulate it into a control instruction and send it to the first distributed cloud node, which initiates a data transmission request to the corresponding storage resource. When transferring files, when the target storage resource is a local storage resource, the data transmission speed can reach more than 150MB / s, and when the target storage resource is a global warehouse, the transmission speed is low, about 13MB / s.
[0143] Step 4, Metadata Update: After all the mirror file chunks are transferred, encapsulate the identification information of the mirror file and the storage paths of each mirror file chunk into new mirror metadata and save it in the database for subsequent business use. Here, the mirror file creation process is basically completed, and the mirror file can be used within this distributed cloud node.
[0144] Step 5, Multi-Storage Resource Synchronization: After the new mirror file is created, on the one hand, due to the limited disaster recovery ability of the local repository, data loss caused by node failures is likely to occur; for non-sensitive mirrors only stored in local storage resources, they need to be synchronized to the global repository. On the other hand, the file access efficiency of the global repository is low, and for subscribed mirrors only stored in the global repository, they need to be actively synchronized to local storage resources. The system has a built-in timer to regularly detect the node status and initiate backup tasks for local mirror files and distribution tasks for global repository mirror files when the node is idle. The synchronization task will execute steps 1 / 2 / 3 / 4 in sequence, and finally complete the multi-storage resource storage of the mirror file. The multi-storage resource storage combines the availability of the global repository and the efficiency of local storage resources, effectively improving the usage experience of the distributed cloud node.
[0145] The technical solution provided by the embodiments of this application can bring the following beneficial effects:
[0146] 1. Improve product capabilities: By introducing local storage resources with multiple storage modes, it is possible to achieve local storage of sensitive mirror files without adding additional physical hardware, avoiding data leakage risks caused by public network transmission and shared repositories, meeting data compliance requirements in various scenarios, expanding the application scenarios of the distributed cloud, and providing necessary support for the wide implementation of the distributed cloud in various industries.
[0147] 2. Enhance product experience: It can automatically maintain backups of mirror files in each repository. By integrating the advantages of each repository: the global repository stores all mirror files, and local storage resources store private and frequently used mirror files, and automatically match the optimal storage resources when using mirror files, thereby enhancing the usage experience of cloud services. The actual measurement results show that for a mirror file with a standard size of about 10G, the complete pull time can be shortened from 9.1 minutes to 1.3 minutes, a time reduction of 85%.
[0148] In some embodiments, in addition to the construction method of local storage resources mentioned in the above embodiments, multi-repository storage can also be achieved by establishing exclusive cache physical servers. However, this solution will increase hardware costs, have a single point of failure risk, insufficient reliability, and in addition, as the cluster scale expands, the cache server configuration needs to be synchronized and expanded, with insufficient flexibility.
[0149] The following are device embodiments of the present application, which can be used to execute the method embodiments of the present application. For details not disclosed in the device embodiments of the present application, please refer to the method embodiments of the present application.
[0150] Please refer to Figure 6 , which shows a block diagram of a storage device for mirror files provided by an embodiment of the present application. This device has the function of implementing the above-mentioned mirror file storage method, and this function can be implemented by hardware or by hardware executing corresponding software. This device can be the central cloud node introduced above or can be set in the central cloud node. As Figure 6 shown, the device 600 may include: an acquisition module 610, a determination module 620, and a sending module 630.
[0151] The acquisition module 610 is configured to obtain, in response to an operation command for a first distributed cloud node among at least one distributed cloud node, mirror metadata corresponding to the first distributed cloud node, where the mirror metadata includes relevant information required for storing a mirror file, and the mirror file is used to store service data of the first distributed cloud node.
[0152] The determination module 620 is configured to determine a first storage resource from multiple storage resources based on the mirror metadata, where the multiple storage resources include local storage resources of the first distributed cloud node and storage resources of the central cloud node.
[0153] The sending module 630 is configured to send a first control instruction to the first distributed cloud node based on the mirror metadata and the first storage resource, where the first control instruction is used to instruct the first distributed cloud node to store the mirror file in the first storage resource.
[0154] In some embodiments, the mirror metadata includes at least one of the following:
[0155] Local repository information, which is used to characterize local storage resources of the first distributed cloud node, where the local storage resources include at least one of the following: a local storage pool, a local storage gateway, the local storage pool is a physical storage resource deployed for the first distributed cloud node, and the local storage gateway is a virtual storage resource deployed on the first distributed cloud node;
[0156] Data security level, which is used to characterize the privacy level of the mirror file;
[0157] Bandwidth information, which is used to characterize the transmission bandwidth between the first distributed cloud node and the global repository, and the global repository is a storage resource deployed in the central cloud node;
[0158] The identification information of the mirror file.
[0159] In some embodiments, the determining module 620 is configured to obtain the local repository information from the mirror metadata; when the local storage pool has resources for storing the mirror file, determine the local storage pool as the first storage resource; when the local storage pool does not have resources for storing the mirror file and the local storage gateway has resources for storing the mirror file, determine the local storage gateway as the first storage resource; when neither the local storage pool nor the local storage gateway has resources for storing the mirror file, determine the global repository as the first storage resource.
[0160] In some embodiments, the sending module 630 is further configured to, when neither the local storage pool nor the local storage gateway has resources for storing the mirror file, obtain the data security level from the mirror metadata; when the data security level exceeds a first threshold, send a second control instruction to the first distributed cloud node, where the second control instruction is used to indicate that the storage resource of the mirror file cannot be determined; when the data security level does not exceed the first threshold, execute the step of determining the global repository as the first storage resource.
[0161] In some embodiments, the sending module 630 is further configured to, when neither the local storage pool nor the local storage gateway has resources for storing the mirror file, obtain the bandwidth information from the mirror metadata; when the transmission bandwidth exceeds a second threshold, execute the step of determining the global repository as the first storage resource; when the transmission bandwidth does not exceed the second threshold, send a second control instruction to the first distributed cloud node, where the second control instruction is used to indicate that the storage resource of the mirror file cannot be determined.
[0162] The technical solution provided by the embodiments of the present application enables the mirror file of the distributed cloud node to be stored locally in the distributed cloud node by setting local storage resources locally in the distributed cloud node, without uploading all of them to the global repository, reducing the risk of data leakage caused by public network transmission and shared repositories.
[0163] Please refer to Figure 7 , which shows a block diagram of a storage device for a mirror file provided by an embodiment of the present application. The device has the function of implementing the above-mentioned storage method of the mirror file, and the function can be implemented by hardware or by hardware executing corresponding software. The device can be the distributed cloud node introduced above or can be set in the distributed cloud node. As Figure 7As shown, the device 700 may include: a receiving module 710 and a storage module 720.
[0164] The receiving module 710 is configured to receive a first control instruction sent by a central cloud node, where the first control instruction is used to instruct a first distributed cloud node to store an image file in a first storage resource. The first control instruction is sent based on image metadata and the first storage resource. The image metadata includes relevant information required to store the image file. The image file is used to store the service data of the first distributed cloud node. The central cloud node is used to manage the image files of at least one distributed cloud node. The first storage location is determined by the central cloud node from multiple storage resources based on the image metadata. The multiple storage resources include the local storage resources of the first distributed cloud node and the storage resources of the central cloud node.
[0165] The storage module 720 is configured to store the image file in the first storage resource.
[0166] In some embodiments, the distributed cloud node includes a service layer, an access proxy layer, and a storage medium layer;
[0167] The service layer is configured to obtain the identification information of the image file from the image metadata and send the identification information of the image file to the access proxy layer;
[0168] The access proxy layer is configured to determine the first storage resource based on the identification information of the image file and store the image file in the first storage resource;
[0169] Wherein, the service layer is used to run the services of the distributed cloud node, the access proxy layer is used to shield the interface differences of different storage resources, and the storage medium layer is used to provide storage resources for the image files of the first distributed cloud node.
[0170] In some embodiments, the device 700 further includes a backup module (not shown in the figure).
[0171] The backup module is configured to detect the status of the first distributed cloud node; in the case where the first distributed cloud node is in an idle state, based on the image metadata, back up the image file from the first storage resource to a second storage resource, where the first storage resource and the second storage resource are deployed on different cloud nodes.
[0172] In some embodiments, the first storage resource is a local storage pool or a local storage gateway. The local storage pool is a physical storage resource deployed for the distributed cloud node, and the local storage gateway is a virtual storage resource deployed on the distributed cloud node. The backup module is configured to obtain a data security level from the mirror metadata, where the data security level is used to characterize the privacy level of the mirror file. When the data security level does not exceed a first threshold, the global repository is determined as the second storage resource, where the global repository is a storage resource deployed on the central cloud node. The mirror file is backed up from the first storage resource to the second storage resource.
[0173] In some embodiments, the first storage resource is a global repository. The backup module is configured to obtain local repository information from the mirror metadata when the mirror file is a subscribed mirror file, where the subscribed mirror file is determined based on a user operation instruction, and the local repository information is used to characterize the local storage resources of the first distributed cloud node. The local storage resources include at least one of the following: a local storage pool, a local storage gateway. When the local storage pool has resources to store the mirror file, the local storage pool is determined as the second storage resource. When the local storage pool does not have resources to store the mirror file and the local storage gateway has resources to store the mirror file, the local storage gateway is determined as the second storage resource. The mirror file is backed up from the first storage resource to the second storage resource.
[0174] In some embodiments, the receiving module 710 is further configured to receive a second control instruction sent by the central cloud node, where the second control instruction is used to indicate that the storage resource of the mirror file cannot be determined.
[0175] The technical solution provided by the embodiments of the present application enables the mirror file of the distributed cloud node to be stored locally on the distributed cloud node by locally setting local storage resources on the distributed cloud node, without the need to upload all of them to the global repository, reducing the risk of data leakage caused by public network transmission and shared repositories.
[0176] Please refer to Figure 8 , which shows a structural block diagram of a computer device 800 provided by an embodiment of the present application. The computer device 800 can be any electronic device with data computing, processing, and storage functions. The computer device 800 can be used to implement the mirror file storage method provided in the above embodiments.
[0177] Generally, the computer device 800 includes a processor 801 and a memory 802.
[0178] The processor 801 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. The processor 801 may be implemented in at least one of the following hardware forms: DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), and PLA (Programmable Logic Array). The processor 801 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the wake state, also known as the CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 801 may be integrated with a GPU (Graphic Processing Unit), and the GPU is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 801 may further include an AI (Artificial Intelligence) processor, which is used to process computational operations related to machine learning.
[0179] The memory 802 may include one or more computer-readable storage media, and the computer-readable storage media may be non-transitory. The memory 802 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices and flash storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 802 is used to store a computer program, and the computer program is configured to be executed by one or more processors to implement the above-mentioned storage method of the mirror file.
[0180] Those skilled in the art can understand that Figure 8 the structure shown in does not constitute a limitation on the computer device 800, and it may include more or fewer components than shown in the figure, or combine certain components, or adopt a different component arrangement.
[0181] In a schematic embodiment, a computer-readable storage medium is also provided. A computer program is stored in the storage medium, and when the computer program is executed by the processor of the computer device, the above-mentioned storage method of the mirror file is implemented. Optionally, the above-mentioned computer-readable storage medium may be a ROM (Read-Only Memory), a RAM (Random Access Memory), a CD-ROM (Compact Disc Read-Only Memory), a magnetic tape, a floppy disk, an optical data storage device, etc.
[0182] In an exemplary embodiment, a computer program product is further provided. The computer program product includes a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium, and the processor executes the computer program, so that the computer device executes the above-mentioned storage method of the mirror file.
[0183] It should be noted that before and during the process of collecting relevant data of the user, this application can display a prompt interface, a pop-up window or output a voice prompt message. The prompt interface, the pop-up window or the voice prompt message is used to prompt the user that their relevant data is being collected currently, so that this application only starts to execute the relevant steps of obtaining the user's relevant data after obtaining the confirmation operation sent by the user for the prompt interface or the pop-up window. Otherwise (that is, when the confirmation operation sent by the user for the prompt interface or the pop-up window is not obtained), the relevant steps of obtaining the user's relevant data are ended, that is, the relevant data of the user is not obtained. In other words, all user data collected by this application (including mirror files, mirror metadata, etc.) is processed strictly in accordance with the requirements of relevant national laws and regulations. Obtaining the informed consent or separate consent of the personal information subject is carried out under the condition that the user agrees and authorizes, and subsequent data use and processing behaviors are carried out within the scope of laws and regulations and the authorization of the personal information subject. The collection, use and processing of relevant user data need to comply with the relevant laws, regulations and standards of relevant countries and regions.
[0184] It should be understood that "a plurality of" mentioned herein refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. The character " / " generally represents an "or" relationship between the front and rear associated objects. In addition, the step numbers described in this article only exemplarily show a possible execution sequence between steps. In some other embodiments, the above steps may not be executed in the order of the numbers. For example, two steps with different numbers are executed simultaneously, or two steps with different numbers are executed in the reverse order of the illustration. The embodiments of this application do not make any limitations in this regard.
[0185] The above are only exemplary embodiments of this application and are not intended to limit this application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of this application shall be included in the protection scope of this application.
Claims
1. A method for storing an image file, characterized in that: The method is executed by a central cloud node, the central cloud node is used to manage the image file of at least one distributed cloud node, the global warehouse is a storage resource deployed on the central cloud node, and the global warehouse provides an upload and download interface of the image file for the at least one distributed cloud node, and the method includes: In response to an operation command for a first distributed cloud node among the at least one distributed cloud node, acquiring image metadata corresponding to the first distributed cloud node, the image metadata including relevant information required to store an image file, the image file being used to store business data of the first distributed cloud node; Acquire local warehouse information, data security level, and bandwidth information from the image metadata, wherein the local warehouse information is used to characterize the local storage resources of the first distributed cloud node, the data security level is used to characterize the privacy degree of the image file, and the bandwidth information is used to characterize the transmission bandwidth between the first distributed cloud node and the global warehouse; In a case where the local storage resource has a resource for storing the image file, determining the local storage resource as a first storage resource; In the case where the local storage resource does not have a resource for storing the image file, if the data security level does not exceed a first threshold and the transmission bandwidth exceeds a second threshold, the global warehouse is determined as the first storage resource; if the data security level exceeds the first threshold, or the transmission bandwidth does not exceed the second threshold, a second control instruction is sent to the first distributed cloud node, the second control instruction being used to indicate that the storage resource for the image file cannot be determined; Based on the image metadata and the first storage resource, a first control instruction is sent to the first distributed cloud node, where the first control instruction is used to instruct the first distributed cloud node to store the image file in the first storage resource.
2. The method according to claim 1, characterized in that The local storage resources include at least one of the following: a local storage pool and a local storage gateway. The local storage pool is a physical storage resource deployed for the first distributed cloud node, and the local storage gateway is a virtual storage resource deployed on the first distributed cloud node.
3. The method according to claim 2, characterized in that The local storage resource includes the local storage pool and the local storage gateway, and when the local storage resource has a resource for storing the image file, determining the local storage resource as the first storage resource includes: In a case where the local storage pool has resources for storing the image file, determining the local storage pool as the first storage resource; In a case where the local storage pool does not have resources for storing the image file, and the local storage gateway has resources for storing the image file, the local storage gateway is determined as the first storage resource.
4. A method for storing an image file, characterized in that: The method is performed by a first distributed cloud node, and the method includes: Receive a first control instruction sent by a central cloud node, the first control instruction is used to instruct the first distributed cloud node to store the image file in a first storage resource, the first control instruction is sent based on image metadata and the first storage resource, the image metadata includes relevant information required to store the image file, the image file is used to store business data of the first distributed cloud node, the central cloud node is used to manage the image file of at least one distributed cloud node, the global warehouse is a storage resource deployed on the central cloud node, the global warehouse provides an upload and download interface of the image file for the at least one distributed cloud node, the central cloud node is used to obtain local warehouse information, data security level and bandwidth information from the image metadata, the local warehouse information is used to characterize the local storage resource of the first distributed cloud node, the data security level is used to characterize the privacy degree of the image file, and the bandwidth information is used to characterize the transmission bandwidth between the first distributed cloud node and the global warehouse; if the local storage resource has resources for storing the image file, the local storage resource is determined as the first storage resource; if the local storage resource does not have resources for storing the image file, if the data security level does not exceed a first threshold and the transmission bandwidth exceeds a second threshold, the global warehouse is determined as the first storage resource; Storing the image file in the first storage resource; Receive a second control instruction sent by the central cloud node, the second control instruction is used to indicate that the storage resource of the image file cannot be determined, and the central cloud node is also used to send the second control instruction to the first distributed cloud node when the local storage resource does not have the resources to store the image file and if the data security level exceeds the first threshold or the transmission bandwidth does not exceed the second threshold.
5. The method according to claim 4, characterized in that The distributed cloud node includes a business layer, an access proxy layer and a storage medium layer; The business layer is used to obtain the identification information of the image file from the image metadata, and send the identification information of the image file to the access proxy layer; The access proxy layer is used to determine the first storage resource based on the identification information of the image file, and store the image file in the first storage resource; Among them, the business layer is used to run the business of the distributed cloud node, the access proxy layer is used to shield the interface differences of different storage resources, and the storage medium layer is used to provide storage resources for the image file of the first distributed cloud node.
6. The method according to claim 4, characterized in that The method further comprises: Detecting a status of the first distributed cloud node; When the first distributed cloud node is in an idle state, the image file is backed up from the first storage resource to the second storage resource based on the image metadata, and the first storage resource and the second storage resource are deployed on different cloud nodes.
7. The method according to claim 6, characterized in that The first storage resource is a local storage pool or a local storage gateway included in the local storage resource, the local storage pool is a physical storage resource deployed for the distributed cloud node, and the local storage gateway is a virtual storage resource deployed on the distributed cloud node; The backing up the image file from the first storage resource to the second storage resource based on the image metadata includes: Obtaining the data security level from the image metadata; In a case where the data security level does not exceed a first threshold, determining the global warehouse as the second storage resource; The image file is backed up from the first storage resource to the second storage resource.
8. The method according to claim 6, characterized in that The first storage resource is the global warehouse, and the backing up the image file from the first storage resource to the second storage resource based on the image metadata includes: In the case where the image file is a subscription image file, the local warehouse information is obtained from the image metadata, the subscription image file is determined based on an operation instruction of a user, and the local storage resources include a local storage pool and a local storage gateway; In a case where the local storage pool has resources for storing the image file, determining the local storage pool as the second storage resource; In a case where the local storage pool does not have resources for storing the image file, and the local storage gateway has resources for storing the image file, determining the local storage gateway as the second storage resource; The image file is backed up from the first storage resource to the second storage resource.
9. A storage system for an image file, characterized in that: The system includes a central cloud node and at least one distributed cloud node, the central cloud node is used to manage the image file of the at least one distributed cloud node, the global warehouse is a storage resource deployed on the central cloud node, and the global warehouse provides an upload and download interface of the image file for the at least one distributed cloud node; The central cloud node is used to obtain image metadata corresponding to a first distributed cloud node among the at least one distributed cloud node in response to an operation command for the first distributed cloud node, wherein the image metadata includes relevant information required to store an image file, and the image file is used to store business data of the first distributed cloud node; The central cloud node is further used to obtain local warehouse information, data security level and bandwidth information from the image metadata, the local warehouse information is used to characterize the local storage resources of the first distributed cloud node, the data security level is used to characterize the privacy degree of the image file, and the bandwidth information is used to characterize the transmission bandwidth between the first distributed cloud node and the global warehouse; The central cloud node is further configured to determine the local storage resource as the first storage resource if the local storage resource has resources for storing the image file; and to determine the global warehouse as the first storage resource if the local storage resource does not have resources for storing the image file and the data security level does not exceed a first threshold and the transmission bandwidth exceeds a second threshold; The central cloud node is further used to send a first control instruction to the first distributed cloud node based on the image metadata and the first storage resource, wherein the first control instruction is used to instruct the first distributed cloud node to store the image file in the first storage resource; The first distributed cloud node is used to receive the first control instruction sent by the central cloud node, and store the image file in the first storage resource; The central cloud node is further configured to, when the local storage resource does not have a resource for storing the image file, send a second control instruction to the first distributed cloud node if the data security level exceeds the first threshold or the transmission bandwidth does not exceed the second threshold, wherein the second control instruction is used to indicate that the storage resource of the image file cannot be determined; The first distributed cloud node is also used to receive the second control instruction sent by the central cloud node.
10. A storage device for an image file, characterized in that: The device comprises: an acquisition module, configured to, in response to an operation command directed to a first distributed cloud node among at least one distributed cloud node, acquire image metadata corresponding to the first distributed cloud node, wherein the image metadata includes relevant information required to store an image file, the image file is used to store business data of the first distributed cloud node, the central cloud node is used to manage the image file of the at least one distributed cloud node, the global warehouse is a storage resource deployed at the central cloud node, and the global warehouse provides an upload and download interface of the image file for the at least one distributed cloud node; a determination module, configured to obtain local warehouse information, data security level, and bandwidth information from the image metadata, wherein the local warehouse information is used to characterize the local storage resources of the first distributed cloud node, the data security level is used to characterize the privacy degree of the image file, and the bandwidth information is used to characterize the transmission bandwidth between the first distributed cloud node and the global warehouse; in the case where the local storage resource has resources for storing the image file, the local storage resource is determined as the first storage resource; in the case where the local storage resource does not have resources for storing the image file, if the data security level does not exceed a first threshold value, and the transmission bandwidth exceeds a second threshold value, the global warehouse is determined as the first storage resource; a sending module, configured to send a first control instruction to the first distributed cloud node based on the image metadata and the first storage resource, wherein the first control instruction is used to instruct the first distributed cloud node to store the image file in the first storage resource; The sending module is also used to send a second control instruction to the first distributed cloud node when the local storage resource has resources for storing the image file and if the data security level exceeds the first threshold or the transmission bandwidth does not exceed the second threshold, wherein the second control instruction is used to indicate that the storage resources of the image file cannot be determined.
11. A storage device for an image file, characterized in that: The device comprises: A receiving module, configured to receive a first control instruction sent by a central cloud node, wherein the first control instruction is used to instruct a first distributed cloud node to store an image file in a first storage resource, wherein the first control instruction is sent based on image metadata and the first storage resource, wherein the image metadata includes relevant information required to store the image file, wherein the image file is used to store business data of the first distributed cloud node, wherein the central cloud node is used to manage the image file of at least one distributed cloud node, wherein the global warehouse is a storage resource deployed on the central cloud node, wherein the global warehouse provides an upload and download interface for the image file to the at least one distributed cloud node, wherein the central cloud node is used to obtain local warehouse information, data security level, and bandwidth information from the image metadata, wherein the local warehouse information is used to characterize the local storage resource of the first distributed cloud node, wherein the data security level is used to characterize the privacy degree of the image file, and wherein the bandwidth information is used to characterize the transmission bandwidth between the first distributed cloud node and the global warehouse; wherein in a case where the local storage resource has resources for storing the image file, the local storage resource is determined as the first storage resource; and wherein in a case where the local storage resource does not have resources for storing the image file, if the data security level does not exceed a first threshold value and the transmission bandwidth exceeds a second threshold value, then the global warehouse is determined as the first storage resource; A storage module, used for storing the image file in the first storage resource; The receiving module is also used to receive a second control instruction sent by the central cloud node, the second control instruction is used to indicate that the storage resource of the image file cannot be determined, and the central cloud node is also used to send the second control instruction to the first distributed cloud node when the local storage resource does not have the resources to store the image file and if the data security level exceeds the first threshold or the transmission bandwidth does not exceed the second threshold.
12. A computer device, characterized in that: The computer device comprises a processor and a memory, wherein a computer program is stored in the memory, and the processor is configured to execute the computer program to implement the method according to any one of claims 1 to 3, or to implement the method according to any one of claims 4 to 8.
13. A computer program product, characterized in that The computer program product comprises a computer program, which is loaded by a processor and executes the method according to any one of claims 1 to 3, or implements the method according to any one of claims 4 to 8.
14. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, which is loaded by a processor and executes the method according to any one of claims 1 to 3, or implements the method according to any one of claims 4 to 8.
Citation Information
Patent Citations
Administering a shared, on-line pool of data storage resources for performing data storage operations
US20140040580A1