CN112306970B - Processing method, device, equipment and storage medium of container mirror warehouse - Google Patents

Processing method, device, equipment and storage medium of container mirror warehouse Download PDF

Info

Publication number
CN112306970B
CN112306970B CN201910707965.7A CN201910707965A CN112306970B CN 112306970 B CN112306970 B CN 112306970B CN 201910707965 A CN201910707965 A CN 201910707965A CN 112306970 B CN112306970 B CN 112306970B
Authority
CN
China
Prior art keywords
bucket
image file
determining
storage bucket
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910707965.7A
Other languages
Chinese (zh)
Other versions
CN112306970A (en
Inventor
张怡
王兴刚
王华夏
毛茂德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huya Technology Co Ltd
Original Assignee
Guangzhou Huya Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huya Technology Co Ltd filed Critical Guangzhou Huya Technology Co Ltd
Priority to CN201910707965.7A priority Critical patent/CN112306970B/en
Publication of CN112306970A publication Critical patent/CN112306970A/en
Application granted granted Critical
Publication of CN112306970B publication Critical patent/CN112306970B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a processing method, a device, equipment and a storage medium of a container mirror warehouse. The method comprises the following steps: receiving an image file uploaded by a client through a warehouse entry; determining a storage bucket belonging to the same area as the client as a candidate storage bucket; determining a candidate storage bucket suitable for storing the image file as a target storage bucket; and storing the image file to a target storage bucket. This allows image files to be stored in different buckets, reducing the storage pressure of storing image files in a single bucket. When the number of image files stored in a single bucket is small, the search speed for image files retrieved by the user may be increased.

Description

Processing method, device, equipment and storage medium of container mirror warehouse
Technical Field
The embodiment of the invention relates to the technical field of information storage, in particular to a processing method, a device, equipment and a storage medium of a container mirror warehouse.
Background
With the rising and wide application of container technology, applications are packaged and transmitted in a mirror image mode, so that the fact standard of software distribution is established, but the mirror image in a container environment is distributed efficiently, and the problem of limiting the bottleneck of cloud service provided by cloud manufacturers is gradually solved. The current Docker Registry is the only open source version available to the current user.
Currently, there is a registry-distributed file system driven implementation where one repository portal only supports configuration of one bucket (bucket). As the number of image files stored increases, the number of image files stored in the bucket increases. After the user determines the required image file, when the image file is obtained from the storage barrel, the image file needs to be screened from all the image files in the storage barrel. Thus, as more image files are stored in the bucket, the user will have longer to retrieve the desired target file.
Disclosure of Invention
The invention provides a processing method, a device, equipment and a storage medium of a container mirror image warehouse, which are used for solving the problem that the efficiency of retrieving mirror image files through a warehouse entry is lower and lower.
In a first aspect, an embodiment of the present invention provides a method for processing a container mirror warehouse, where a container mirror warehouse includes a warehouse entry and at least two storage buckets, where the storage buckets are deployed in at least two areas, the method includes:
Receiving an image file uploaded by a client through the warehouse entry;
Determining a storage bucket belonging to the same area as the client as a candidate storage bucket;
Determining a candidate storage bucket suitable for storing the mirror image file as a target storage bucket;
And storing the image file to the target storage bucket.
On the basis, the storage bucket is configured with a first attribute, wherein the first attribute is used for representing an area where the storage bucket is deployed;
The determining a bucket belonging to the same area as the client comprises:
Determining the IP address of the client;
Determining the area to which the IP address belongs;
And if the area where the storage bucket is deployed comprises the area to which the IP address belongs, determining the storage bucket as a candidate storage bucket.
On this basis, the determining a candidate bucket suitable for storing the image file includes:
determining a bucket number of the candidate storage bucket;
Determining a hash value of the image file;
Matching the hash value with the bucket number;
and if the matching is successful, determining the candidate storage bucket corresponding to the bucket number as a target storage bucket suitable for storing the image file.
On this basis, said matching said hash value with said bucket number comprises:
Establishing a hash ring by taking the bucket number of the candidate storage bucket as a node;
Mapping the hash value onto the hash ring;
Determining a barrel number closest to the hash value on the hash ring as a target barrel number;
and taking the candidate storage bucket corresponding to the target bucket number as a target storage bucket for storing the mirror image file.
On this basis, after the image file is stored in the target storage bucket, the method further comprises:
and storing the image file into a storage bucket outside the region.
On the basis, the storing the image file into a storage bucket outside the region comprises the following steps:
storing the image file into all storage buckets outside the deployment area;
Or alternatively
Selecting one bucket from buckets deployed in each region except the region as a feature bucket;
And storing the image file into the feature storage bucket.
On this basis, before receiving the image file uploaded by the client through the warehouse entry, the method further comprises:
Carrying out identity verification on the client;
And if the verification fails, prohibiting the client from uploading and downloading the image file.
In a second aspect, an embodiment of the present invention further provides a method for processing a container mirror warehouse, where a container mirror warehouse includes a warehouse entry and at least two storage buckets, where the storage buckets are deployed in at least two areas, the method includes:
receiving a downloading instruction sent by a client through the warehouse entry;
Determining an image file according to the downloading instruction;
determining candidate storage barrels belonging to the same area as the client;
Determining a target storage bucket from the candidate storage buckets, wherein the target storage bucket is used for providing the mirror image file to a client;
And sending the image file stored by the target storage bucket to the client.
In a third aspect, an embodiment of the present invention further provides a processing apparatus for a container mirror warehouse, where a container mirror warehouse includes a warehouse entry and at least two storage buckets, where the storage buckets are deployed in at least two areas, the apparatus includes:
The image file receiving module is used for receiving the image file uploaded by the client through the warehouse entry;
The first candidate storage bucket determining module is used for determining a storage bucket belonging to the same area as the client as a candidate storage bucket;
The target storage bucket first determining module is used for determining a candidate storage bucket suitable for storing the image file as a target storage bucket;
and the image file storage module is used for storing the image file to the target storage barrel.
On this basis, the candidate bucket first determination module includes:
an IP address determining submodule configured to determine an IP address of the client;
The region determination submodule is used for determining the region to which the IP address belongs;
And the candidate storage bucket determining submodule is used for determining the storage bucket as a candidate storage bucket if the area where the storage bucket is deployed comprises the area to which the IP address belongs.
On this basis, the first determining module of the target storage bucket comprises:
A bucket number determination submodule for determining the bucket number of the candidate storage bucket;
A hash value determining sub-module, configured to determine a hash value of the image file;
A number matching sub-module for matching the hash value with the bucket number;
And the first execution sub-module is used for determining that the candidate storage bucket corresponding to the bucket number is a target storage bucket suitable for storing the image file if the matching is successful.
On this basis, the number matching submodule includes:
The hash ring construction unit is used for constructing a hash ring by taking the bucket number of the candidate storage bucket as a node;
a hash value mapping unit, configured to map the hash value onto the hash ring;
A target bucket number determining unit, configured to determine, on the hash ring, a bucket number closest to the hash value as a target bucket number;
And the target storage bucket determining unit is used for taking the candidate storage bucket corresponding to the target bucket number as the target storage bucket for storing the image file.
On the basis, the device also comprises:
and the synchronization module is used for storing the image file into a storage bucket outside the region.
On this basis, the synchronization module includes:
the first synchronization unit is used for storing the image file into all storage barrels outside the deployment area;
Or alternatively
A characteristic bucket determination unit that selects one bucket as a characteristic bucket from buckets deployed in each region other than the region;
and the feature storage bucket using unit is used for storing the image file into the feature storage bucket.
On the basis, the device also comprises:
the identity verification module is used for carrying out identity verification on the client;
and the second execution sub-module is used for prohibiting the client from uploading and downloading the image file if the verification fails.
In a fourth aspect, an embodiment of the present invention further provides a processing apparatus for a container mirror warehouse, where a container mirror warehouse includes a warehouse entry and at least two storage buckets, where the storage buckets are deployed in at least two areas, and the apparatus includes:
the download instruction receiving module is used for receiving a download instruction sent by the client through the warehouse entry;
The image file determining module is used for determining an image file according to the downloading instruction;
The second candidate storage bucket determining module is used for determining candidate storage buckets belonging to the same area as the client;
a target storage bucket second determining module, configured to determine a target storage bucket from the candidate storage buckets, where the target storage bucket is used to provide the image file to a client;
and the image file sending module is used for sending the image file stored in the target storage barrel to the client.
In a fifth aspect, an embodiment of the present invention further provides an electronic device, including:
one or more processors;
A memory for storing one or more programs;
The one or more programs, when executed by the one or more processors, cause the one or more processors to implement a method of processing a container mirror warehouse as described in any of the aspects.
In a sixth aspect, an embodiment of the present invention further provides a computer readable storage medium, on which a computer program is stored, wherein the program when executed by a processor implements a method for processing a container mirror warehouse according to any one of the aspects.
The embodiment of the invention realizes that the container mirror image warehouse comprises one warehouse inlet and at least two storage barrels by configuring a plurality of storage barrels for one warehouse inlet, and the storage barrels are deployed in at least two areas. Receiving an image file uploaded by a client through a warehouse entry, determining a storage bucket belonging to the same area as the client, determining a candidate storage bucket suitable for storing the image file as a target storage bucket, and finally storing the image file into the target storage bucket. This allows image files to be stored in different buckets, reducing the storage pressure of storing image files in a single bucket. When the number of image files stored in a single bucket is small, the search speed for image files retrieved by the user may be increased.
Drawings
FIG. 1 is a flowchart of a method for processing a container mirror warehouse according to an embodiment of the present invention;
FIG. 2A is a flowchart of a method for processing a container mirror warehouse according to a second embodiment of the present invention;
FIG. 2B is a schematic diagram of uploading/downloading an image file by a user according to a second embodiment of the present invention;
FIG. 3 is a flowchart of a method for processing a container mirror warehouse according to a third embodiment of the present invention;
FIG. 4 is a block diagram of a processing device of a container mirror warehouse according to a fourth embodiment of the present invention;
FIG. 5 is a block diagram of a processing device of a container mirror warehouse according to a fifth embodiment of the present invention;
fig. 6 is a schematic structural diagram of an electronic device according to a sixth embodiment of the present invention.
Detailed Description
The invention is described in further detail below with reference to the drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting thereof. It should be further noted that, for convenience of description, only some, but not all of the structures related to the present invention are shown in the drawings.
Example 1
Fig. 1 is a flowchart of a processing method of a container mirror warehouse according to an embodiment of the present invention. The embodiment is suitable for receiving the image file uploaded by the client through the warehouse entry, and determining the scene of receiving and storing the image file by using a certain storage bucket. The method may be performed by a processing device of a container mirror warehouse, which may be implemented in software and/or hardware.
Taking the example of a Docker Registry, the container mirror repository includes a Registry component and an Index component. The Index component is mainly responsible for centrally managing user accounts, access rights, verification of image files, distinguishing public and private repos (i.e., public namespaces), etc., and is typically implemented as a public World Wide Web (Web) interface. The Registry component is mainly responsible for storing image data, providing functions of uploading (Pull) and downloading (Push) image files, and delegating the authorization part to the index implementation.
When a docker is used to push/pull the image file, index determines whether the user account has the right to use/modify the image file, and after confirmation, the registry is responsible for storing the image or sending the image to the user in some way. Furthermore, index can also indicate and request the registry address of a particular image file that is specifically stored. In addition, when only commands such as import/export (docker images) are run locally, no dependencies and Index/registry interactions are required.
Dock Hub is a cloud platform service provided by dock corporation to distribute applications: including distribution of image files, change management, user/team management, automated lifecycle workflow. In effect, the Docker Hub includes an Index module functionally implemented.
In this embodiment, the container mirror warehouse includes one warehouse entry and at least two storage buckets that are deployed in at least two areas.
In some techniques, when initializing a container image repository, a bucket (bucket) name is determined and assigned to the function used for initialization, thereby causing a repository entry to be associated with a bucket. In this embodiment, the names of buckets and the locales to be deployed are determined, buckets of the same deployed locales are stored in a bucket list, and different locales are stored in a locale list, which is assigned to the functions used in initializing the container image repository. The container mirror warehouse comprises a warehouse entrance and at least two storage barrels, wherein the storage barrels are deployed in at least two areas.
The regions are divided according to actual situations, such as country, region, province, etc. The division into the regions has been performed as an example, and can be divided into east China, north China and south China. Of course, one or more buckets may be deployed in the same region.
Referring to fig. 1, the method specifically includes:
S101, receiving the image file uploaded by the client through the warehouse entry.
The repository entry refers to a domain name, in this embodiment, the portal of the mirror repository may be a domain name of "dockerhub.huya.com", and in the implementation of the mirror repository of public cloud open source version, multiple domain names are needed to mark mirror repository addresses of different regions (eastern, north China, south China), and multiple corresponding authorized passwords are needed to be set by the user. For example :registry.cn-hangzhou.aliyuncs.com/registry.cn-beijing.aliyuncs.com/egistry.cn-shenzhen.aliyuncs.com., but in this embodiment there is only one mirror repository domain name address entry, dockerhub.
An image file is a file that needs to be stored in a bucket. The method makes a specific series of files into a single file according to a certain format, so that the user can conveniently download and use the file. The image file includes: mirrored blob files and manifest files. The image manifest file is a metadata description file of each image; the mirrored blob file refers to a file which is packed by specific data of each layer after mirroring and layering, and the format of the mirrored blob file may be a tar packet or a compressed packet in tar+gzip format.
In one possible implementation, a user logs into the client and fills in the domain name of the portal of the mirror repository to upload the mirror file through the repository portal.
S102, determining a storage bucket belonging to the same area as the client as a candidate storage bucket.
When a user logs into a client, the region in which the user is located may be determined by the hardware address and the internet protocol address (Internet Protocol Address, IP address) of the client. When associating a bucket with a warehouse entry, the area in which the bucket is deployed has been determined by way of a list.
In a possible implementation manner, the region where the client is located is determined according to the information of the client, and the storage bucket belonging to the same region as the client is determined as the candidate storage bucket by querying the region where the storage bucket is deployed.
S103, determining a candidate storage bucket suitable for storing the image file as a target storage bucket.
The candidate storage buckets comprise a plurality of storage buckets, and one storage bucket is determined from the candidate storage buckets as a target storage bucket in a certain mode and used for storing the mirror image file.
Alternatively, the file name of the image file may be determined by analyzing the image manifest file, and the target bucket may be determined from the candidate buckets by the file name.
In one possible implementation, the number of candidate buckets is determined, and the file names of the image files are hashed according to the number to determine a target bucket from the candidate buckets.
S104, storing the mirror image file to the target storage bucket.
After the target storage bucket is determined, the image file is stored in the target storage bucket.
Therefore, a plurality of storage barrels can be deployed in one area, the same number of image files can be stored in different storage barrels in a distributed mode, the pressure of a single storage barrel is reduced, and the speed of retrieving the image files is improved.
The embodiment of the invention realizes that the container mirror image warehouse comprises one warehouse inlet and at least two storage barrels by configuring a plurality of storage barrels for one warehouse inlet, and the storage barrels are deployed in at least two areas. Receiving an image file uploaded by a client through a warehouse entry, determining a storage bucket belonging to the same area as the client, determining a candidate storage bucket suitable for storing the image file as a target storage bucket, and finally storing the image file into the target storage bucket. This allows image files to be stored in different buckets, reducing the storage pressure of storing image files in a single bucket. When the number of image files stored in a single bucket is small, the search speed for image files retrieved by the user may be increased. Meanwhile, as only one warehouse entry exists, only one address (domain name) of the warehouse entry needs to be memorized when a user uploads and downloads the mirror image, and only one authorized password needs to be memorized by the user, so that the use of the user is greatly facilitated.
Example two
Fig. 2A is a flowchart of a processing method of a container mirror warehouse according to a second embodiment of the present invention. The embodiment is refined on the basis of the first embodiment, and a specific process of how to determine the candidate bucket and the target bucket is described in detail. Referring to fig. 2A, comprising:
s201, performing identity verification on the client.
In one possible implementation, the authentication process for a client actually includes four phases. Find authentication server, request token, return token, verify token.
Finding an authentication server includes: the client side first sends a request to Registry. If it is an unauthorized request, a response is returned 401. And the response comprises three information, namely, a realm, a scope and a service, wherein the user can send a request to the realm by using the scope and the service information.
The request token includes: a token is requested from the authentication server to obtain rights to access Repo resources. The client is required to be authorized by TLS or some way and if the key in the client certificate is associated with account information, the token signs the account information. If a certificate is associated with multiple accounts, the client must specify account query parameters. The returned token is in JSON web token format and is signed with the private key of the authentication server. It will be appreciated that first, the configuration authentication server allows non-authenticated clients to handshake. The client then sends an HTTP request to the authentication server to the endpoint that is encrypted with the client's TLS certificate (this certificate may be self-signed). Next, the server first examines the client certificate, extracts the sub Key, and finds the user associated with it. The server then checks its entitlement control list to verify whether the user has samlba/my-app repo usage rights under the registry.
Returning the token includes: the server will form a JSON Web Token to sign and return.
The verification token includes: the token is encrypted by a symmetric algorithm, and then decrypted by the same algorithm at the Registry end, and then some information of the token is verified. In the whole process, the Registry does not need to send a request to the authentication server. If so, only the trusted public key list on the authentication server needs to be updated to verify the token's signature or to update Repo resource records on the authentication server using other APIs. The steps for verifying Token at Registry end are as follows:
1. the certificate issuer (issuer: iss class) is confirmed to be trusted. Typically issuer is the FQDN of the authentication server. iss, auth.
2. The confirmation Registry identifies the recipient of the token. aud registry.
3. The current time is checked to be within the valid time range.
4. If the token can only be used once, it is checked whether the JWT id value is present to avoid repeated applications of the token. A jti record is typically kept in the registry for the duration of the validity of a token to avoid duplicate applications of the token.
5. Checking repo the usage rights, the access value contains repo and the operations that can be performed on repo. (it is decided whether the token grants the user the right to the operation).
6. Verifying the validity of the token signature.
S202, judging whether the identity verification is successful. If successful, execute step S204; if the failure occurs, step S203 is executed.
In a possible implementation, the client attempts to send a request to Registry, which returns a hypertext transfer protocol (HTTP) response of 401, including information on how to obtain authorization, if Registry requires authorization. The client then sends a request to the authorization service center requesting a signed JSON web token. The authorization service center returns the token. The client retries the original request to the Registry end and embeds a token in the header of the request. Registry authorizes the client and starts a Push/Pull session.
When authentication is successful, i.e. the Registry authorizes the client and starts a Push/Pull session, step S204 is performed. When the authentication fails, step S203 is performed.
S203, the client is forbidden to upload and download the image file.
When the identity verification fails, the user is not authorized to carry out the operation of downloading the image file, and the client is forbidden to upload and download the image file.
S204, receiving the image file uploaded by the client through the warehouse entry.
When the authentication is successful, the user is authorized to carry out the operation of downloading the image file, and the image file uploaded by the client is received through the warehouse entry.
S205, determining the IP address of the client.
The IP address refers to an internet protocol address, which is translated into an internet protocol address. The IP address is a unified address format provided by the IP protocol, which allocates a logical address to each network and each host on the internet, so as to mask the difference of physical addresses.
The server obtains the client request IP address, which commonly includes: request header (such as x-forwarded-for, client-ip), and remote_addr parameter specified by the ip of the request TCP packet.
Remote_addr: the current direct request client IP address exists in a TCP (TransmissionControl Protocol transmission control protocol) request body, is automatically added when the http protocol is transmitted, and is not controlled by a request header. Therefore, when there is no proxy between the client and the server, it is most accurate and safe to acquire the client IP address through remote_addr.
X-forwarded-for, XFF, is the HTTP request header field used to identify the most primitive IP address of a client connected to a Web server by HTTP proxy or load balancing. Many proxy servers are added at the time of request forwarding. If there is a proxy server between the client and the server, then the IP obtained through remote addr is the address of the proxy server and not the real IP address of the client. Thus, a proxy server (typically a reverse proxy server) is required to forward the IP address of the real client to the server, which is typically present in the XFF request header.
The client-IP is the same as XFF, and is also the real IP address added by the proxy server for forwarding the client request, and is also stored in the request header.
S206, determining the area to which the IP address belongs.
There are generally two methods for obtaining corresponding region information through an IP address:
1) By self-programming the program, the regional information corresponding to the IP is analyzed, and a database is needed. Such as: and obtaining the region information corresponding to the IP address through the pure IP database. This approach is costly to maintain and places some stress on the server.
2) Regional information is obtained from Application Programming Interface (API) queries provided by third parties.
In one possible implementation, the area to which the client belongs is determined according to the IP address of the client.
S207, if the area where the storage bucket is deployed comprises the area to which the IP address belongs, determining the storage bucket as a candidate storage bucket.
When associating a bucket with a warehouse entry, the area in which the bucket is deployed has been determined by way of a list.
In one possible implementation, if the region in which the bucket is deployed includes a region to which the IP address of the client belongs, the bucket is determined to be a candidate bucket.
S208, determining the barrel numbers of the candidate storage barrels.
When the candidate buckets are determined, a bucket number of each candidate bucket is determined, and the bucket numbers may be sequential numbers starting from 000.
S209, determining the hash value of the image file.
According to the mirror image manifest file of the mirror image file, the file name of the mirror image file can be determined, and the hash value corresponding to the file name is determined.
The hash algorithm is a family of cryptographic hash functions, and is a secure hash algorithm authenticated by the FIPS. An algorithm for calculating the character string (or message abstract) with fixed length corresponding to a digital message. And if the input messages are different, the probability of the messages corresponding to different character strings is high. The hash algorithms may be SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512.
S210, matching the hash value with the barrel number.
And determining the barrel number of each candidate storage barrel, carrying out hash residue calculation on the hash value, and setting the remainder to be the number which accords with the candidate storage barrels.
If the number of candidate buckets is determined to be 4, then it may be numbered 000,001,002,003. And (3) carrying out hash remainder calculation on the hash value, and if the remainder is 2, storing the image file into a candidate storage bucket with the number of 002.
In a possible implementation, S210 may include the following steps:
S2101, taking the bucket number of the candidate storage bucket as a node, and establishing a hash ring.
The 32 th order of 2 is modulo, and this ring of 32 th order points of 2 is called a hash ring. The point directly above the circle represents 0, the first point to the right of point 0 represents 1, and so on, 2, 3, 4, 5, 6 …, up to 2 32 -1, that is, the first point to the left of point 0 represents 2 32 -1.
The bucket number of the candidate bucket is modulo 2 32 and the candidate bucket is mapped onto this hash ring.
S2102, mapping the hash value to the hash ring.
Determining a hash value of the image file, modulo 2 32 by using the hash value, and mapping the modulo value onto the hash ring.
S2103, determining a barrel number closest to the hash value on the hash ring as a target barrel number.
After the position of the hash value on the hash ring is determined, the image file is moved on the hash ring according to the clockwise direction or the anticlockwise direction, and the barrel number of the first candidate storage barrel encountered by the image file is determined as the target barrel number.
S2104, taking the candidate storage bucket corresponding to the target bucket number as a target storage bucket for storing the image file.
And determining a candidate storage bucket corresponding to the target bucket number, and taking the candidate storage bucket as the target storage bucket for storing the mirror image file.
Based on the above embodiments, a problem may occur in that candidate buckets are unevenly distributed on the hash ring. Virtual nodes can be added in the hash ring to solve the problem that a plurality of candidate buckets are uniformly distributed on the hash ring by arranging a real candidate bucket in the hash ring a plurality of times.
S211, if the matching is successful, determining that the candidate storage bucket corresponding to the bucket number is a target storage bucket suitable for storing the image file.
S212, storing the image file into a storage bucket outside the region.
Since the target bucket is determined from the buckets in the same area according to the IP address of the client, it may happen that the user logs in at the site a and uploads the image file, and the image file is stored in a certain bucket deployed at the site a. When a user logs in at B and wants to download the image file again, the server searches the image file from the storage bucket deployed at B because the logged-in area is B. This presents a problem in that the image file cannot be found.
It is therefore necessary to synchronize the image file in buckets in other regions. In this embodiment, the underlying distributed file system ceph supports, which is implemented by using the rgw multisite multi-active socket sync scheme, and the storage buckets in different regions implement synchronization of storage contents.
Synchronization may include the following two approaches.
First, image files are stored in all buckets outside the region where they are deployed.
Second, from the buckets deployed in each region except the region, selecting one bucket as a feature bucket; and storing the image file into the feature storage bucket.
Fig. 2B is a schematic diagram of uploading/downloading an image file by a user according to a second embodiment of the present invention.
The mirror repository includes "HUYA-DOCKERHUB" User "logging through unique repository entry" dockerhub. Huya. Com "and after User logging, HTTP and reverse proxy web through load balancing server (nminix). The Registry component is mainly responsible for storing mirror image data and provides functions of uploading (Push) and downloading (Push) mirror image files.
When the user uploads the image file through the portal, firstly, the area of the client is determined according to the IP address of the client logged in by the user, if the user is in the Guangdong area, the storage barrels deployed in the Guangdong area are determined from the storage barrels, and three storage barrels, namely, the storage barrels of Gz-pro-1, the storage barrels of Gz-pro-2 and the storage barrels of Gz-pro-3, are deployed in the Guangdong area. One for storing the image file is determined from three buckets deployed in the Guangdong area according to the file name of the image file uploaded by the user. The image file is stored in the bucket after the determination.
When the user downloads the image file through the portal, firstly, determining the area of the client according to the IP address of the client logged in by the user, if the user is in the Guangdong area, determining the storage barrels deployed in the Guangdong area from the storage barrels, wherein three storage barrels of 'Gz-pro-1', 'Gz-pro-2' and 'Gz-pro-3' are deployed in the Guangdong area. And determining a storage bucket for storing the image file from three storage buckets deployed in Guangdong area according to the file name of the image file downloaded by the user. And downloading the image file from the storage barrel after determining.
The embodiment of the invention realizes that the container mirror image warehouse comprises one warehouse inlet and at least two storage barrels by configuring a plurality of storage barrels for one warehouse inlet, and the storage barrels are deployed in at least two areas. Receiving an image file uploaded by a client through a warehouse entry, determining a storage bucket belonging to the same area as the client, determining a candidate storage bucket suitable for storing the image file as a target storage bucket, and finally storing the image file into the target storage bucket. This allows image files to be stored in different buckets, reducing the storage pressure of storing image files in a single bucket. When the number of image files stored in a single bucket is small, the search speed for image files retrieved by the user may be increased. Meanwhile, as only one warehouse entry exists, only one address (domain name) of the warehouse entry needs to be memorized when a user uploads and downloads the mirror image, and only one authorized password needs to be memorized by the user, so that the use of the user is greatly facilitated. Based on this, the use of a consistent hash algorithm (hash ring) makes the use of buckets to store image files more uniform.
Example III
Fig. 3 is a flowchart of a processing method of a container mirror warehouse according to a third embodiment of the present invention. The embodiment is suitable for receiving the downloading instruction sent by the client through the warehouse entry, and finally determining the scene of providing the image file by a certain storage barrel. The method may be performed by a processing device of a container mirror warehouse, which may be implemented in software and/or hardware. The storage bucket in this embodiment may be stored by any of the methods in the first and second embodiments. Referring to fig. 3, the method specifically includes:
s301, receiving a downloading instruction sent by the client through the warehouse entry.
In a possible implementation, the user logs into the client and fills in the domain name of the portal of the mirrored repository. And after passing the verification of the warehouse entry, receiving a downloading instruction sent by the client.
S302, determining an image file according to the downloading instruction.
The downloading instruction comprises the file name of the image file which needs to be downloaded by the client.
S303, determining candidate storage buckets belonging to the same area as the client.
In a possible implementation manner, the region where the client is located is determined according to the information of the client, and the storage bucket belonging to the same region as the client is determined as the candidate storage bucket by querying the region where the storage bucket is deployed.
S304, determining a target storage bucket from the candidate storage buckets, wherein the target storage bucket is used for providing the image file for the client.
The candidate storage buckets comprise a plurality of storage buckets, and one storage bucket is determined from the candidate storage buckets as a target storage bucket in a certain mode and used for storing the mirror image file.
Alternatively, the file name of the image file may be determined by analyzing the image manifest file, and the target bucket may be determined from the candidate buckets by the file name.
In a possible implementation manner, the number of candidate storage buckets is determined, hash redundancy processing is performed on the file names of the image files according to the number, so that a target storage bucket is determined from the candidate storage buckets, and the client is connected with the target storage bucket, so that the target storage bucket provides the image files to the client.
S305, the image file stored by the target storage barrel is sent to the client.
And querying the image file in the target storage bucket to send the image file to the client.
The embodiment of the invention realizes that the container mirror image warehouse comprises one warehouse inlet and at least two storage barrels by configuring a plurality of storage barrels for one warehouse inlet, and the storage barrels are deployed in at least two areas. Receiving an image file uploaded by a client through a warehouse entry, determining a storage bucket belonging to the same area as the client, determining a candidate storage bucket suitable for storing the image file as a target storage bucket, and finally storing the image file into the target storage bucket. This allows image files to be stored in different buckets, reducing the storage pressure of storing image files in a single bucket. When the number of image files stored in a single bucket is small, the search speed for image files retrieved by the user may be increased. Meanwhile, as only one warehouse entry exists, only one address (domain name) of the warehouse entry needs to be memorized when a user uploads and downloads the mirror image, and only one authorized password needs to be memorized by the user, so that the use of the user is greatly facilitated.
Example IV
Fig. 4 is a block diagram of a processing apparatus of a container mirror warehouse according to a fourth embodiment of the present invention. The device comprises: an image file receiving module 41, a candidate bucket first determining module 42, a target bucket first determining module 43, and an image file storing module 44. Wherein:
an image file receiving module 41, configured to receive an image file uploaded by a client through the repository entry;
a candidate bucket first determining module 42, configured to determine a bucket belonging to the same area as the client, as a candidate bucket;
a target bucket first determining module 43, configured to determine a candidate bucket suitable for storing the image file as a target bucket;
And an image file storage module 44, configured to store the image file in the target storage bucket.
The embodiment of the invention realizes that the container mirror image warehouse comprises one warehouse inlet and at least two storage barrels by configuring a plurality of storage barrels for one warehouse inlet, and the storage barrels are deployed in at least two areas. Receiving an image file uploaded by a client through a warehouse entry, determining a storage bucket belonging to the same area as the client, determining a candidate storage bucket suitable for storing the image file as a target storage bucket, and finally storing the image file into the target storage bucket. This allows image files to be stored in different buckets, reducing the storage pressure of storing image files in a single bucket. When the number of image files stored in a single bucket is small, the search speed for image files retrieved by the user may be increased. Meanwhile, as only one warehouse entry exists, only one address (domain name) of the warehouse entry needs to be memorized when a user uploads and downloads the mirror image, and only one authorized password needs to be memorized by the user, so that the use of the user is greatly facilitated.
On this basis, the candidate bucket first determination module 42 includes:
an IP address determining submodule configured to determine an IP address of the client;
The region determination submodule is used for determining the region to which the IP address belongs;
And the candidate storage bucket determining submodule is used for determining the storage bucket as a candidate storage bucket if the area where the storage bucket is deployed comprises the area to which the IP address belongs.
On this basis, the target bucket first determination module 43 includes:
A bucket number determination submodule for determining the bucket number of the candidate storage bucket;
A hash value determining sub-module, configured to determine a hash value of the image file;
A number matching sub-module for matching the hash value with the bucket number;
And the first execution sub-module is used for determining that the candidate storage bucket corresponding to the bucket number is a target storage bucket suitable for storing the image file if the matching is successful.
On this basis, the number matching submodule includes:
The hash ring construction unit is used for constructing a hash ring by taking the bucket number of the candidate storage bucket as a node;
a hash value mapping unit, configured to map the hash value onto the hash ring;
A target bucket number determining unit, configured to determine, on the hash ring, a bucket number closest to the hash value as a target bucket number;
And the target storage bucket determining unit is used for taking the candidate storage bucket corresponding to the target bucket number as the target storage bucket for storing the image file.
On the basis, the device also comprises:
and the synchronization module is used for storing the image file into a storage bucket outside the region.
On this basis, the synchronization module includes:
the first synchronization unit is used for storing the image file into all storage barrels outside the deployment area;
Or alternatively
A characteristic bucket determination unit that selects one bucket as a characteristic bucket from buckets deployed in each region other than the region;
and the feature storage bucket using unit is used for storing the image file into the feature storage bucket.
On the basis, the device also comprises:
the identity verification module is used for carrying out identity verification on the client;
and the second execution sub-module is used for prohibiting the client from uploading and downloading the image file if the verification fails.
The processing device of the container mirror image warehouse provided by the embodiment can be used for executing the processing method of the container mirror image warehouse provided by the first embodiment and the second embodiment, and has corresponding functions and beneficial effects.
Example five
Fig. 5 is a block diagram of a processing device of a container mirror warehouse according to a fifth embodiment of the present invention. The device comprises: the download instruction receiving module 51, the image file determining module 52, the candidate bucket second determining module 53, the target bucket second determining module 54, and the image file transmitting module 55. Wherein:
A download instruction receiving module 51, configured to receive a download instruction sent by a client through the warehouse entry;
An image file determining module 52, configured to determine an image file according to the download instruction;
A candidate bucket second determining module 53, configured to determine candidate buckets that belong to the same area as the client;
a target bucket second determining module 54, configured to determine a target bucket from the candidate buckets, where the target bucket is used to provide the image file to a client;
and the image file sending module 55 is configured to send the image file stored in the target storage bucket to the client.
The embodiment of the invention realizes that the container mirror image warehouse comprises one warehouse inlet and at least two storage barrels by configuring a plurality of storage barrels for one warehouse inlet, and the storage barrels are deployed in at least two areas. Receiving an image file uploaded by a client through a warehouse entry, determining a storage bucket belonging to the same area as the client, determining a candidate storage bucket suitable for storing the image file as a target storage bucket, and finally storing the image file into the target storage bucket. This allows image files to be stored in different buckets, reducing the storage pressure of storing image files in a single bucket. When the number of image files stored in a single bucket is small, the search speed for image files retrieved by the user may be increased. Meanwhile, as only one warehouse entry exists, only one address (domain name) of the warehouse entry needs to be memorized when a user uploads and downloads the mirror image, and only one authorized password needs to be memorized by the user, so that the use of the user is greatly facilitated. Based on this, the use of a consistent hash algorithm (hash ring) makes the use of buckets to store image files more uniform.
Example six
Fig. 6 is a schematic structural diagram of an electronic device according to a sixth embodiment of the present invention. As shown in fig. 6, the electronic apparatus includes a processor 60, a memory 61, a communication module 62, an input device 63, and an output device 64; the number of processors 60 in the electronic device may be one or more, one processor 60 being taken as an example in fig. 6; the processor 60, the memory 61, the communication module 62, the input means 63 and the output means 64 in the electronic device may be connected by a bus or other means, in fig. 6 by way of example.
The memory 61 is a computer readable storage medium, and may be used to store a software program, a computer executable program, and a module, such as a module corresponding to a processing method of a container mirror warehouse in the first embodiment and the second embodiment (for example, a mirror file receiving module 41, a candidate bucket first determining module 42, a target bucket first determining module 43, and a mirror file storing module 44 in a processing device of a container mirror warehouse). The modules corresponding to the processing method of the container mirror warehouse in the third embodiment (for example, a download instruction receiving module 51, a mirror file determining module 52, a candidate bucket second determining module 53, a target bucket second determining module 54, and a mirror file transmitting module 55 in the processing apparatus of the container mirror warehouse). The processor 60 executes various functional applications of the electronic device and data processing by running software programs, instructions and modules stored in the memory 61, i.e. implements a method of processing a container mirror warehouse as described above.
The memory 61 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, at least one application program required for functions; the storage data area may store data created according to the use of the electronic device, etc. In addition, the memory 61 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid-state storage device. In some examples, memory 61 may further include memory remotely located relative to processor 60, which may be connected to the electronic device via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
And the communication module 62 is used for establishing connection with the display screen and realizing data interaction with the display screen. The input means 63 may be used for receiving entered numeric or character information and for generating key signal inputs related to user settings and function control of the electronic device.
The electronic device provided by the embodiment of the invention can execute the processing method of the container mirror image warehouse provided by any embodiment of the invention, and the processing method has specific corresponding functions and beneficial effects.
Example five
A fifth embodiment of the present invention also provides a storage medium containing computer-executable instructions, which when executed by a computer processor, are for performing a method of processing a container image warehouse, the method comprising:
Receiving an image file uploaded by a client through the warehouse entry;
Determining a storage bucket belonging to the same area as the client as a candidate storage bucket;
Determining a candidate storage bucket suitable for storing the mirror image file as a target storage bucket;
And storing the image file to the target storage bucket.
Or alternatively
Receiving a downloading instruction sent by a client through the warehouse entry;
Determining an image file according to the downloading instruction;
determining candidate storage barrels belonging to the same area as the client;
Determining a target storage bucket from the candidate storage buckets, wherein the target storage bucket is used for providing the mirror image file to a client;
And sending the image file stored by the target storage bucket to the client.
Of course, the storage medium containing the computer executable instructions provided in the embodiments of the present invention is not limited to the above-described method operations, and may also perform the related operations in the processing method of the container mirror warehouse provided in any embodiment of the present invention.
From the above description of embodiments, it will be clear to a person skilled in the art that the present invention may be implemented by means of software and necessary general purpose hardware, but of course also by means of hardware, although in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as a floppy disk, a read-only memory (ROM), a random access memory (Random Access Memory, RAM), a FLASH memory (FLASH), a hard disk, or an optical disk of a computer, etc., and include several instructions for causing a computer electronic device (which may be a personal computer, a server, or a network electronic device, etc.) to execute the method according to the embodiments of the present invention.
It should be noted that, in the embodiment of processing the container mirror warehouse, each unit and module included are only divided according to the functional logic, but not limited to the above division, so long as the corresponding functions can be implemented; in addition, the specific names of the functional units are also only for distinguishing from each other, and are not used to limit the protection scope of the present invention.
Note that the above is only a preferred embodiment of the present invention and the technical principle applied. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, while the invention has been described in connection with the above embodiments, the invention is not limited to the embodiments, but may be embodied in many other equivalent forms without departing from the spirit or scope of the invention, which is set forth in the following claims.

Claims (10)

1. A method of processing a container mirror warehouse, wherein a container mirror warehouse includes a warehouse entry and at least two storage buckets, the storage buckets being deployed in at least two areas, the method comprising:
Receiving an image file uploaded by a client through the warehouse entry;
Determining a storage bucket belonging to the same area as the client as a candidate storage bucket;
Determining a candidate storage bucket suitable for storing the mirror image file as a target storage bucket;
storing the mirror image file to the target storage bucket;
The determining a candidate bucket suitable for storing the image file comprises:
determining a bucket number of the candidate storage bucket;
Determining a hash value of the image file;
Matching the hash value with the bucket number;
If the matching is successful, determining the candidate storage bucket corresponding to the bucket number as a target storage bucket suitable for storing the image file;
said matching said hash value with said bucket number comprises:
Establishing a hash ring by taking the bucket number of the candidate storage bucket as a node;
Mapping the hash value onto the hash ring;
Determining a barrel number closest to the hash value on the hash ring as a target barrel number;
taking the candidate storage bucket corresponding to the target bucket number as a target storage bucket for storing the mirror image file;
Wherein adding a virtual node in the hash ring comprises: a real candidate bucket is laid out multiple times in the hash ring.
2. The method of claim 1, wherein the bucket is configured with a first attribute representing an area in which the bucket is deployed;
The determining a bucket belonging to the same area as the client comprises:
Determining the IP address of the client;
Determining the area to which the IP address belongs;
And if the area where the storage bucket is deployed comprises the area to which the IP address belongs, determining the storage bucket as a candidate storage bucket.
3. The method according to any one of claims 1-2, wherein,
After the image file is stored in the target storage bucket, the method further comprises:
and storing the image file into a storage bucket outside the region.
4. A method according to claim 3, wherein said storing said image file in a bucket outside said locale comprises:
storing the image file into all storage buckets outside the deployment area;
Or alternatively
Selecting one bucket from buckets deployed in each region except the region as a feature bucket;
And storing the image file into the feature storage bucket.
5. The method according to any one of claims 1-2, further comprising, prior to receiving the image file uploaded by the client through the repository portal:
Carrying out identity verification on the client;
And if the verification fails, prohibiting the client from uploading and downloading the image file.
6. A method of processing a container mirror warehouse, wherein a container mirror warehouse includes a warehouse entry and at least two storage buckets, the storage buckets being deployed in at least two areas, the method comprising:
receiving a downloading instruction sent by a client through the warehouse entry;
Determining an image file according to the downloading instruction;
determining candidate storage barrels belonging to the same area as the client;
Determining a target storage bucket from the candidate storage buckets, wherein the target storage bucket is used for providing the mirror image file to a client;
Sending the image file stored by the target storage bucket to the client;
the determining a target bucket from the candidate buckets includes:
determining a bucket number of the candidate storage bucket;
Determining a hash value of the image file;
Matching the hash value with the bucket number;
If the matching is successful, determining the candidate storage bucket corresponding to the bucket number as a target storage bucket;
said matching said hash value with said bucket number comprises:
Establishing a hash ring by taking the bucket number of the candidate storage bucket as a node;
Mapping the hash value onto the hash ring;
Determining a barrel number closest to the hash value on the hash ring as a target barrel number;
taking the candidate storage bucket corresponding to the target bucket number as a target storage bucket for storing the mirror image file;
Wherein adding a virtual node in the hash ring comprises: a real candidate bucket is laid out multiple times in the hash ring.
7. A container mirror warehouse processing apparatus, wherein a container mirror warehouse includes a warehouse entry and at least two storage buckets, the storage buckets being deployed in at least two areas, the apparatus comprising:
The image file receiving module is used for receiving the image file uploaded by the client through the warehouse entry;
The first candidate storage bucket determining module is used for determining a storage bucket belonging to the same area as the client as a candidate storage bucket;
The target storage bucket first determining module is used for determining a candidate storage bucket suitable for storing the image file as a target storage bucket;
The image file storage module is used for storing the image file to the target storage barrel;
the first determining module of the target storage bucket comprises:
A bucket number determination submodule for determining the bucket number of the candidate storage bucket;
A hash value determining sub-module, configured to determine a hash value of the image file;
A number matching sub-module for matching the hash value with the bucket number;
The first execution sub-module is used for determining that the candidate storage bucket corresponding to the bucket number is a target storage bucket suitable for storing the image file if the matching is successful;
The number matching submodule comprises:
The hash ring construction unit is used for constructing a hash ring by taking the bucket number of the candidate storage bucket as a node;
a hash value mapping unit, configured to map the hash value onto the hash ring;
A target bucket number determining unit, configured to determine, on the hash ring, a bucket number closest to the hash value as a target bucket number;
The target storage bucket determining unit is used for taking the candidate storage bucket corresponding to the target bucket number as a target storage bucket for storing the image file;
Wherein adding a virtual node in the hash ring comprises: a real candidate bucket is laid out multiple times in the hash ring.
8. A container mirror warehouse processing apparatus, wherein a container mirror warehouse includes a warehouse entry and at least two storage buckets, the storage buckets being deployed in at least two areas, the apparatus comprising:
the download instruction receiving module is used for receiving a download instruction sent by the client through the warehouse entry;
The image file determining module is used for determining an image file according to the downloading instruction;
The second candidate storage bucket determining module is used for determining candidate storage buckets belonging to the same area as the client;
a target storage bucket second determining module, configured to determine a target storage bucket from the candidate storage buckets, where the target storage bucket is used to provide the image file to a client;
The image file sending module is used for sending the image file stored in the target storage barrel to the client;
the target bucket second determining module includes:
A bucket number determination submodule for determining the bucket number of the candidate storage bucket;
A hash value determining sub-module, configured to determine a hash value of the image file;
A number matching sub-module for matching the hash value with the bucket number;
the first execution sub-module is used for determining that the candidate storage bucket corresponding to the bucket number is a target storage bucket if the matching is successful;
The number matching submodule comprises:
The hash ring construction unit is used for constructing a hash ring by taking the bucket number of the candidate storage bucket as a node;
a hash value mapping unit, configured to map the hash value onto the hash ring;
A target bucket number determining unit, configured to determine, on the hash ring, a bucket number closest to the hash value as a target bucket number;
The target storage bucket determining unit is used for taking the candidate storage bucket corresponding to the target bucket number as a target storage bucket for storing the image file;
Wherein adding a virtual node in the hash ring comprises: a real candidate bucket is laid out multiple times in the hash ring.
9. An electronic device, comprising:
one or more processors;
A memory for storing one or more programs;
When executed by the one or more processors, causes the one or more processors to implement a method of processing a container mirror warehouse as claimed in any one of claims 1 to 6.
10. A computer readable storage medium, on which a computer program is stored, characterized in that the program, when being executed by a processor, implements a method of processing a container mirror warehouse according to any of claims 1-6.
CN201910707965.7A 2019-08-01 2019-08-01 Processing method, device, equipment and storage medium of container mirror warehouse Active CN112306970B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910707965.7A CN112306970B (en) 2019-08-01 2019-08-01 Processing method, device, equipment and storage medium of container mirror warehouse

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910707965.7A CN112306970B (en) 2019-08-01 2019-08-01 Processing method, device, equipment and storage medium of container mirror warehouse

Publications (2)

Publication Number Publication Date
CN112306970A CN112306970A (en) 2021-02-02
CN112306970B true CN112306970B (en) 2024-04-19

Family

ID=74486278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910707965.7A Active CN112306970B (en) 2019-08-01 2019-08-01 Processing method, device, equipment and storage medium of container mirror warehouse

Country Status (1)

Country Link
CN (1) CN112306970B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113596162A (en) * 2021-07-30 2021-11-02 北京快乐茄信息技术有限公司 Mirror image file processing method and device, network equipment and storage medium
CN117032893A (en) * 2023-08-14 2023-11-10 曙光云计算集团有限公司 Container mirror image management method, device, equipment and medium
CN117353922B (en) * 2023-12-06 2024-03-22 南京中孚信息技术有限公司 Method, system, equipment and medium for verifying container mirror image signature in off-line state

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228842A (en) * 2018-01-08 2018-06-29 平安科技(深圳)有限公司 Docker mirror sites file memory method, terminal, equipment and storage medium
CN109660639A (en) * 2018-12-11 2019-04-19 深圳市网心科技有限公司 A kind of data uploading method, equipment, system and medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170364303A1 (en) * 2016-06-17 2017-12-21 Microsoft Technology Licensing, Llc. Suggesting image files for deletion based on image file parameters

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228842A (en) * 2018-01-08 2018-06-29 平安科技(深圳)有限公司 Docker mirror sites file memory method, terminal, equipment and storage medium
CN109660639A (en) * 2018-12-11 2019-04-19 深圳市网心科技有限公司 A kind of data uploading method, equipment, system and medium

Also Published As

Publication number Publication date
CN112306970A (en) 2021-02-02

Similar Documents

Publication Publication Date Title
Omar et al. Identity management in IoT networks using blockchain and smart contracts
AU2016218340B2 (en) Secure and delegated distribution of private keys via domain name service
US9906371B2 (en) Secure connection certificate verification
KR102185350B1 (en) Network node and method for operating the network node
US20160285832A1 (en) Secure consumption of platform services by applications
CN112306970B (en) Processing method, device, equipment and storage medium of container mirror warehouse
US10554417B2 (en) Script verification using a hash
US10333716B2 (en) Script verification using a digital signature
KR102152360B1 (en) System and method for providing data reliability based on blockchain for iot services
US20090290715A1 (en) Security architecture for peer-to-peer storage system
TWI652585B (en) Method and server for remotely querying information
Kokoris-Kogias et al. Managing identities using blockchains and CoSi
US10404472B2 (en) Systems and methods for enabling trusted communications between entities
US8924725B2 (en) Authenticated file handles for network file systems
US11463431B2 (en) System and method for public API authentication
US9485090B2 (en) Managed authentication on a distributed network
US11568066B2 (en) Incorporating at-rest data encryption into a cloud-based storage architecture
US8719574B2 (en) Certificate generation using virtual attributes
US11882117B1 (en) System and method for device label scan based zero touch device onboarding and device directory service
US9800567B2 (en) Authentication of network nodes
US11677567B2 (en) Validating shared files
Mtetwa et al. Secure the internet of things software updates with ethereum blockchain
US10972455B2 (en) Secure authentication in TLS sessions
WO2020010270A1 (en) Dynamic routing using a distributed hash table
US11943211B2 (en) Device monitoring in accessing network

Legal Events

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