Data processing method, device and computing node
Abstract
The present application discloses a method and device for processing data. The method includes: first, a first edge computing node receives a container image update instruction, and then obtains a container image to be updated, and then sends it to other edge computing nodes in the edge computing cluster. Send the container image to be updated. Wherein, the first edge computing node is any edge computing node in the edge computing cluster, the edge computing cluster includes at least two edge computing nodes, and the container image update instruction is used to instruct the at least two edge computing nodes in the edge computing cluster The node updates the container image. This reduces the time-consuming process of downloading the container image.

Term
12 yearsleft in the term
Expires 12 September 2038.
- Priority and filed
- Granted
- Today
- Expires
14 claims: 4 independent, 10 dependent
- 1一种数据处理的方法,其特征在于,所述方法应用于计算集群,所述计算集群包括第 一边缘计算集群和第二边缘计算集群,每一个边缘计算集群包括通过局域网络相连的至少 两个边缘计算节点,所述方法包括: 第一边缘计算节点和第二边缘计算节点接收数据中心发送的容器镜像更新指令,所述 第一边缘计算节点为所述第一边缘计算集群中任意一个边缘计算节点,所述第二边缘计算 节点为所述第二边缘计算集群中任意一个边缘计算节点,所述容器镜像更新指令分别用于 指示所述第一边缘计算集群中至少两个边缘计算节点更新容器镜像以及所述第二边缘计 算集群中至少两个边缘计算节点更新容器镜像; 所述第一边缘计算节点和所述第二边缘计算节点获取所述数据中心发送的待更新的 容器镜像; 所述第一边缘计算节点和所述第二边缘计算节点分别通过所述局域网络向所在的边 缘计算集群中其他边缘计算节点发送所述待更新的容器镜像。
- 2根据权利要求1所述的方法,其特征在于,在所述第一边缘计算节点获取待更新的容 器镜像之前,所述方法还包括: 在所述第一边缘计算节点接收数据中心发送的所述容器镜像更新指令后,所述第一边 缘计算节点从所述第一边缘计算集群中选择一个边缘计算节点作为代理节点。
- 3根据权利要求2所述的方法,其特征在于,所述第一边缘计算节点从所述第一边缘计 算集群中选择一个边缘计算节点作为代理节点,包括: 所述第一边缘计算节点获取所述第一边缘计算集群中每个边缘计算节点的性能参数, 所述性能参数用于指示所述每个边缘计算节点资源使用率; 所述第一边缘计算节点根据所述每个边缘计算节点的性能参数确定所述每个边缘计 算节点的负载; 所述第一边缘计算节点按照所述每个边缘计算节点的负载对所述每个边缘计算节点 进行排序,选择负载最低的边缘计算节点作为代理节点。
- 4根据权利要求3所述的方法,其特征在于,所述第一边缘计算节点获取待更新的容器 镜像,包括: 在所述第一边缘计算节点作为所述第一边缘计算集群中代理节点时,获取所述待更新 的容器镜像,所述第一边缘计算节点为负载最低的边缘计算节点。
- 5根据权利要求2所述的方法,其特征在于,所述第一边缘计算节点从所述第一边缘计 算集群中选择一个边缘计算节点作为代理节点,包括: 所述第一边缘计算节点在所述第一边缘计算集群中随机选择一个边缘计算节点作为 代理节点;或者, 所述第一边缘计算节点在所述第一边缘计算集群中按照边缘计算节点的标识选择一 个边缘计算节点作为代理节点。
- 6根据权利要求3或5所述的方法,其特征在于,所述第一边缘计算节点获取待更新的 容器镜像,包括: 在所述代理节点不是所述第一边缘计算节点时,所述第一边缘计算节点从所述代理节 点中获取待更新的容器镜像,所述待更新的容器镜像是所述代理节点从数据中心中获取 的。
- 7一种计算集群,其特征在于,所述计算集群包括第一边缘计算集群和第二边缘计算 集群,每一个边缘计算集群包括通过局域网络相连的至少两个边缘计算节点: 所述第一边缘计算集群包括第一边缘计算节点,所述第一边缘计算节点为所述第一边 缘计算集群中任意一个边缘计算节点; 所述第一边缘计算节点用于接收数据中心发送的容器镜像更新指令,所述容器镜像更 新指令用于指示所述第一边缘计算集群中至少两个边缘计算节点更新容器镜像;还用于根 据接收的所述容器镜像更新指令从所述数据中心获取待更新的容器镜像;还用于根据获取 的所述待更新的容器镜像,通过所述局域网络向所述第一边缘计算集群中其他边缘计算节 点发送所述待更新的容器镜像; 所述第二边缘计算集群包括第二边缘计算节点,所述第二边缘计算节点为所述第二边 缘计算集群中任意一个边缘计算节点; 所述第二边缘计算节点用于接收数据中心发送的容器镜像更新指令,所述容器镜像更 新指令用于指示所述第二边缘计算集群中至少两个边缘计算节点更新容器镜像;还用于根 据接收的所述容器镜像更新指令从所述数据中心获取待更新的容器镜像;还用于根据获取 的所述待更新的容器镜像,通过所述局域网络向所述第二边缘计算集群中其他边缘计算节 点发送所述待更新的容器镜像。
- 8根据权利要求7所述的计算集群,其特征在于, 所述第一边缘计算节点或所述第二边缘计算节点,还用于在接收所述容器镜像更新指 令后,从所述边缘计算节点所在的边缘计算集群中选择一个边缘计算节点作为代理节点。
- 9根据权利要求8所述的计算集群,其特征在于, 所述第一边缘计算节点或所述第二边缘计算节点,还用于获取所述边缘计算节点所在 的边缘计算集群中每个边缘计算节点的性能参数,所述性能参数用于指示所述每个边缘计 算节点资源使用率;根据所述每个边缘计算节点的性能参数确定所述每个边缘计算节点的 负载;按照所述每个边缘计算节点的负载对所述每个边缘计算节点进行排序,选择负载最 低的边缘计算节点作为代理节点。
- 10根据权利要求9所述的计算集群,其特征在于, 所述第一边缘计算节点,还用于在所述第一边缘计算节点作为所述第一边缘计算集群 中代理节点时,获取所述待更新的容器镜像,所述第一边缘计算节点为负载最低的边缘计 算节点; 所述第二边缘计算节点,还用于在所述第二边缘计算节点作为所述第二边缘计算集群 中代理节点时,获取所述待更新的容器镜像,所述第二边缘计算节点为负载最低的边缘计 算节点。
- 11根据权利要求8所述的计算集群,其特征在于, 所述第一边缘计算节点或所述第二边缘计算节点,还用于在所述边缘计算节点所在的 边缘计算集群中随机选择一个边缘计算节点作为代理节点;或者,在所述边缘计算节点所 在的边缘计算集群中按照边缘计算节点的标识选择一个边缘计算节点作为代理节点。
- 12根据权利要求9或11所述的计算集群,其特征在于, 所述第一边缘计算节点或所述第二边缘计算节点,还用于在所述代理节点不是所述装 置时,从所述代理节点中获取待更新的容器镜像,所述待更新的容器镜像是所述代理节点 从数据中心中获取的。
- 13一种计算节点,其特征在于,所述计算节点包括处理器和存储器,所述存储器中用 于存储计算机指令,所述计算节点运行时,所述处理器执行所述存储器中计算机指令以执 行权利要求1至6所述方法的操作步骤。
- 14一种计算机可读存储介质,其特征在于,所述计算机可读介质存储有程序代码,当 所述计算机程序代码在计算机上运行时,使得计算机执行如权利要求1-6中任一项所述的 方法。
Independent claims14
127 paragraphs, as filed
Data processing method, device and computing node technical field
[0001] This application relates to the field of communications, and in particular to a method, device and computing node for data processing.
Background technique
[0002] In the network topology of the edge computing scenario, multiple edge computing nodes form an edge computing cluster, the edge computing cluster is connected to a remote data center through a network switching device, and each edge computing node in the edge computing cluster One or more sensors can be connected. In this way, after the sensor collects the data, the data is first transmitted to the edge computing node, and the edge computing node processes the data and sends the processing result to the data center.
[0003] In this network topology, each edge computing node runs software for processing data collected by sensors and the software is deployed in a container in a mirroring manner. The software may be called container mirroring. Data centers often need to upgrade container images running on some edge computing nodes in the network topology. During the upgrade, the data center sends a request message including the identifier of the container image to be upgraded to the edge computing cluster that needs to be upgraded; each edge computing node in the edge computing cluster downloads the container image corresponding to the identifier from the data center to achieve Upgrade the container image to be upgraded.
[0004] In the process of implementing this application, the inventor found that the traditional technology has at least the following problems:
[0005] At present, when the network bandwidth between the network switching device and the data center is limited, when multiple edge computing nodes connected to the network switching device need to download the container image, due to the limitation of the network bandwidth, the multiple edge computing nodes It may take a long time for the computing node to download the container image from the data center.
Summary of the invention
[0006] In order to solve the problem of the long time-consuming process of downloading container images due to the limited bandwidth of edge computing nodes and data center networks in the traditional technology, this application provides a data processing method, device and computing node. The technical solution is as follows:
[0007] In the first aspect, this application provides a data processing method. In the method, an edge computing cluster includes at least two edge computing nodes. For any edge computing node in the edge computing cluster, for convenience The description is called the first edge computing node. The first edge computing node receives the container image update instruction, and the container image update instruction is used to instruct at least two edge computing nodes in the edge computing cluster to update the container image; obtain the container image to be updated; to other edge computing nodes in the edge computing cluster Send the container image to be updated; since the edge computing nodes in the edge computing cluster are located in the same local area network, the network bandwidth between any two nodes in the edge computing cluster is relatively large, so that the first edge computing node can quickly transfer to other nodes. The edge computing node sends the container image to reduce the time required for each edge computing node in the edge computing cluster to obtain the container image.
[0008] In a possible implementation manner, after the first edge computing node receives the container image update instruction, the first edge computing node selects an edge computing node from the edge computing cluster as a proxy node. Among them, after the proxy node is selected, the container image can be downloaded from the data center through the proxy node, so that the proxy node can monopolize the network bandwidth between the edge computing cluster and the data center, reducing the time required for the proxy node to download the container image, and then proxy The node sends the container image to other proxy nodes to reduce the time required for each edge computing node in the edge computing cluster to obtain the container image.
[0009] In another possible implementation, the first edge computing node obtains the performance parameters of each edge computing node in the edge computing cluster, and the performance parameters are used to indicate the resource usage rate of each edge computing node; The performance parameters of edge computing nodes determine the load of each edge computing node; each edge computing node is sorted according to the load of each edge computing node, and the edge computing node with the lowest load is selected as the proxy node. Since the edge computing node with the lowest load is selected as the proxy node, the proxy node downloads the container image from the data center the fastest, thereby minimizing the time required for the proxy node to download the container image.
[0010] In another possible implementation manner, when the first edge computing node serves as a proxy node in the edge computing cluster, the container image to be updated is obtained, and the first edge computing node is the edge computing node with the lowest load. Since the first edge computing node is the edge computing node with the lowest load, the first edge computing node obtains the container image the fastest, thereby minimizing the time required for the first edge computing node to obtain the container image.
[0011] In another possible implementation manner, the first edge computing node randomly selects an edge computing node in the edge computing cluster as the proxy node; or, the first edge computing node in the edge computing cluster is based on the edge computing node's Identifies that an edge computing node is selected as a proxy node.
[0012] In another possible implementation manner, when the agent node is not the first edge computing node, the first edge computing node obtains the container image to be updated from the agent node, and the container image to be updated is the data from the agent node. Obtained from the center, because the first edge computing node and the proxy node are located in the same local area network, the network bandwidth between the first edge computing node and the proxy node is relatively large, so that the first edge computing node can quickly get from the proxy node Obtain the container image, reducing the time required to obtain the container image.
[0013] In another possible implementation manner, each edge computing node in the edge computing cluster is connected to the data center through a network switching device.
[0014] In the second aspect, this application provides a data processing device for executing the first aspect or the method in any one of the possible implementations of the first aspect. Specifically, the device includes a unit for executing the method of the first aspect or any one of the possible implementation manners of the first aspect.
[0015] In a third aspect, the present application provides a computing node, including a processor, a memory, a communication interface, and a bus. The processor, the memory, and the communication interface are connected by a bus and complete communication with each other. The memory is used to store computer-executable instructions. When the associated computing node is running, the processor executes the computer-executable instructions in the memory to use the hardware resources in the computing node to execute the first aspect or any one of the first aspects It is possible to implement the operation steps of the method described in the mode.
[0016] In a fourth aspect, the present application provides a data processing system. The system includes a data center and at least one edge computing node. The edge computing node and the data center are used to perform the first aspect or any of the first aspect. In a possible implementation manner, the operation steps of the method executed when the data center and the computing node are the execution subjects.
[0017] In a fifth aspect, the present application provides a computer program product. The computer program product includes a computer program stored in a computer-readable storage medium, and the computer program is loaded by a processor to implement the first Aspect or any possible implementation of the first aspect.
[0018] In a sixth aspect, the present application provides a non-volatile computer-readable storage medium for storing a computer program that is loaded by a processor to execute the first aspect or any of the first aspects. Instructions for possible implementations.
[0019] In a seventh aspect, the present application provides a chip that includes a programmable logic circuit and/or program instructions, and is used to implement the first aspect or any possible implementation of the first aspect when the chip is running Way way.
[0020] On the basis of the implementation manners provided by the foregoing aspects, the present application can be further combined to provide more implementation manners.
Description of the drawings
[0021] FIG. 1 is a schematic diagram of a network architecture provided by this application;
[0022] FIG. 2 is a schematic diagram of a K8S architecture provided by this application;
[0023] FIG. 3 is a schematic diagram of a software stack structure of an edge computing node provided by the present application;
[0024] FIG. 4 is a flowchart of a data processing method provided by the present application;
[0025] FIG. 5 is a schematic diagram of the structure of a data processing device provided by the present application;
[0026] FIG. 6 is a schematic structural diagram of a computing node provided by the present application.
Detailed ways
[0027] The embodiments of the present application will be described in further detail below in conjunction with the accompanying drawings.
[0028] FIG. 1 is a schematic diagram of a network architecture provided by this application. Referring to Figure 1, the present application provides a network architecture including: at least one edge computing cluster 1, a network switching device 2 and a data center 3 corresponding to each edge computing cluster 1, and each edge computing cluster 1 includes at least Two edge computing nodes 1. For each edge computing cluster 1, each edge computing node is connected to the network switching device 2 corresponding to the edge computing cluster 1 to form a local local area network. The network switching device 2 is connected to the public network, and is connected to the remote The end of the data center 3 is connected. Public networks include wired networks or wireless networks. The network switching equipment 2 includes a wireless router or a wired router, etc. Among them, any two edge computing nodes 1 in the same local area network are directly connected or connected through a switch, and the network bandwidth between any two edge computing nodes 1 is larger and larger than the network between the network switching equipment 2 and the data center 3. bandwidth.
[0029] Each edge computing node 1 includes at least one container, in which a container image is deployed, and the container image includes software, applications, or data analysis algorithm models for processing data.
[0030] Optionally, the container image in the edge computing node 1 may be deployed in the edge computing node 1 when the edge computing node 1 leaves the factory, or installed in the edge computing node 1 after the edge computing node 1 leaves the factory. In node 1.
[0031] Optionally, referring to FIG. 1, the edge computing node 1 can also be connected to at least one collection device 4. The edge computing node 1 can process the data collected by the at least one collection device 4 through the container image it includes, and then, Send the processing result to the data center 3. Alternatively, the edge computing node 1 may process the data received from the data center through the container image it includes, and then send the processing result to the data center 3.
[0032] The network architecture shown in FIG. 1 can be applied to the current intelligent transportation or security field. For example, in the security field, the collection device 4 may be a camera, and the edge computing node 1 may include a container image for extracting a face model. In this way, the camera can take a frame of video pictures, and every time a frame of video pictures is taken, it can send the video pictures to the edge computing node 1 connected to it. The edge computing node 1 receives the video picture, detects whether the video picture includes a face image through the container image it includes, if it includes a face image, extracts the face model corresponding to the face image, and sends the image to the data center. Face model.
[0033] The maintainer can periodically or irregularly develop a new version of the container image. At this time, it is necessary to upgrade the container image in the edge computing node 1 to the new version. At present, the user saves the developed new version of the container image in the data warehouse of the data center, and the edge computing node 1 that needs to be upgraded can download the new version of the container image from the data center, and upgrade the old version of the container image stored locally To the new version of the container image.
[0034] The network architecture shown in FIG. 1 is a hardware topology structure. This application also provides the software architecture diagram shown in FIG. The architecture and software architecture of edge computing node 1 are described in detail. The software architecture shown in Fig. 2 is a schematic diagram of a K8S architecture. Referring to Figure 2, in the K8S architecture, the data center 3 includes functional modules such as a server module 31, a scheduling module 32, and a data warehouse 33. Each edge computing node 1 includes functional modules such as a client module 11 and a container 12. Data center 3 and edge computing node 1 can adopt the client/server (CS) working mode. Data center 3 interacts with edge computing node 1 by running a server module, and edge computing node 1 interacts with data by running a client module. The center 3 interacts, and during the interaction, the data center 3 acts as a server and the edge computing node 1 acts as a client. The data warehouse is used to store the new version of the container image developed by the user, and the scheduling module is used to schedule the edge computing cluster 1 that needs to upgrade the container image; the edge computing node 1 in the scheduled edge computing cluster 1 can obtain the data from the data center 3. Download the container image from the warehouse and deploy the container image in the container as an image to realize the upgrade.
[0035] FIG. 3 is a schematic structural diagram of a software stack of an edge computing node provided by the application based on the software architecture described in FIG. 2. As shown in the figure, the edge computing node 1 includes a container, a software platform for running a container image, and a hardware platform for running the software platform. The container includes a container image, and the container image may be an algorithm, software, or application. The software platform includes functional modules such as container engine, K8s agent, and lightweight operating system (OS). The hardware platform includes hardware resources such as processors, memory, and network cards.
[0036] Among them, the lightweight OS can be used to allocate hardware resources for the container engine and the K8s agent. The hardware resources can be hardware resources such as a processor, a memory, and/or a network card of a hardware platform. The container engine can be used to run the container image of the container, and process data through the container image to obtain the processing result. The K8s proxy is an instance of a client module that can be used to interact with the data center 3. For example, the processing result can be sent to the data center 3, or a new version of the container image can be downloaded from the data center 3, and the new version The container image of is deployed in the container to implement operations such as upgrading the container image.
[0037] Wherein, since each edge computing node 1 in the edge computing cluster 1 is connected to the network switching device 2, the time required for each edge computing node 1 in the edge computing cluster 1 to download the container image from the data center 3 depends on The network bandwidth between the network switching equipment 2 and the data center 3. That is to say: the larger the network bandwidth between the network switching equipment 2 and the data center 3, the shorter the time required for each edge computing node 1 in the edge computing cluster 1 to download the container image; on the contrary, the network switching equipment 2 and The smaller the network bandwidth between the data centers 3, the longer it takes for each edge computing node 1 in the edge computing cluster 1 to download the container image. For example, the container image that needs to be downloaded is 200MB in size, the network bandwidth between the network switching device 2 and the data center 3 is 4Mbps, and the edge computing cluster 1 includes four edge computing nodes 1. In this way, the time required for the four edge computing nodes 1 to download the container image is T1=(200*8*4) /4=1600S. When the network switching device 2 corresponding to a certain edge computing cluster 1 is connected to the data center 3 through a wireless network or when the network bandwidth of the wired connection between the network switching device 2 corresponding to a certain edge computing cluster 1 and the data center 3 is relatively low At this time, the network bandwidth between the network switching equipment 2 and the data center 3 is limited. It takes a long time for each edge computing node 1 in the edge computing cluster 1 to download the container image. In order to solve this technical problem, you can It can be solved by any one of the following embodiments.
[0038] Next, in conjunction with FIG. 4, the method for processing data provided by the present application is further introduced. As shown in the figure, this method can be applied to the network architecture described in Figure 1-1, including:
[0039] Step 201: The data center sends a container image update instruction to the edge computing cluster, where the container image update instruction includes the identifier of the container image to be updated.
[0040] The user can develop a new version of the container image, save the new version of the container image in the data center, and
The new version of the container image is the container image to be updated. The container image can be software, application, or data analysis algorithm model, etc., so the container image to be updated can be a new version of software, application, or data analysis algorithm model, etc.
[0041] After the user develops the new version of the container image, the new version of the container image is stored in the data warehouse of the data center. The server module in the data center can detect the container image saved in the data warehouse, use the container image as the container image to be updated, and send scheduling instructions to the scheduling module of the data center; or, the user is uploading a new version of the container After the image is stored in the data warehouse of the data center, an upgrade command including the identifier of the container image can be input to the server module of the data center. After receiving the upgrade command, the data center sends a scheduling instruction to the scheduling module of the data center.
[0042] Then, the scheduling module in the data center can schedule at least one edge computing cluster, the server module generates a container mirroring instruction, and sends the container mirroring instruction to each edge computing cluster to be scheduled, and the container mirroring instruction includes the container to be updated. The identity of the mirror.
[0043] Optionally, the manner in which the data center sends the container mirroring instruction to the scheduled edge computing cluster may adopt any of the following manners:
[0044] In the first type, the container mirroring instruction can be sent to each edge computing cluster that is scheduled at the same time.
[0045] Second, the container mirroring instruction can be sent to the scheduled edge computing cluster in batches according to time sequence. The time interval between any two consecutive sending of container mirroring instructions can be equal or unequal.
[0046] For example, suppose that there are 9 scheduled edge computing clusters and they are sent in three times. The container image update instruction is sent to the three scheduled edge computing clusters for the first time, and after a period of time, the container image update instruction is sent to the other three for the second time. One scheduled edge computing cluster sends the container image update instruction, and after waiting for a period of time, sends the container image update instruction to the remaining three scheduled edge computing clusters for the third time.
[0047] Optionally, the length of time for each waiting period of time may be equal or unequal. When the time length of the waiting period of time is equal each time, the time length may be a preset time length or a time length set by the data center.
[0048] Compared with the first method, the second method can reduce the number of edge computing nodes that request downloads from the data warehouse of the data center at the same time, which can reduce the pressure on the data center and thereby reduce the pressure on the data warehouse. .
[0049] The third is that the container mirroring instruction can be sent to the scheduled edge computing node according to the load size of the scheduled edge computing cluster.
[0050] For example, the container mirroring instruction may be sent to the scheduled edge computing node in a descending order of the load size of the scheduled edge computing cluster. That is, first send the container mirroring instruction to the edge computing cluster with low load. In this way, the edge computing cluster with low load can download the container image to be updated first, and the edge computing cluster can quickly download the container image to be updated from the data center. When the data center sends the container mirroring instruction to the edge computing cluster with higher load, the edge computing cluster with higher load has already processed its own load for a period of time. At this time, the load of the edge computing cluster may become higher. At this time, the edge computing cluster can also quickly download the container image to be updated from the data center.
[0051] Optionally, each edge computing node can send its load size to the data center when its load changes, and the data center determines that each edge computing node belongs to the same edge computing cluster, based on the fact that it belongs to the same edge computing cluster. Obtain the load size of each edge computing node in the edge computing cluster.
[0052] Each edge computing node belonging to the same edge computing cluster, the edge computing node sends the load size to the network switching device corresponding to the edge computing cluster, the network switching device sends a message to the data center, and the message includes the network switching The address of the device and the load size of the edge computing node. So the data center can exchange
The address of the device is determined to belong to each edge computing node in the edge computing cluster.
[0053] Optionally, the container image update instruction may also include the identification of the edge computing node that has requested to download the container image to be updated to the data center.
[0054] For each edge computing cluster that is scheduled, the network switching device corresponding to the edge computing cluster receives the container image update instruction, and sends the container image update instruction to each edge computing node in the edge computing cluster.
[0055] The sending modes of the network switching equipment include broadcast, unicast, and multicast. When unicast is used, the network switching device sends the container image update instructions to each edge computing node one by one. When multicast is used, the network switching device divides the edge computing nodes in the edge computing cluster into one or more groups, and multicasts the container image update instruction to each group of edge computing nodes.
[0056] Step 202: The first edge computing node receives the container image update instruction, and obtains the performance parameters of each edge computing node in the edge computing cluster where it is located. The performance parameters of the edge computing node are used to indicate the resources of the edge computing node. Usage rate.
[0057] The first edge computing node is any edge computing node in the edge computing cluster where it is located. When the first edge computing node receives the container image update instruction, it can obtain its performance parameters, and then send it to the edge computing cluster. Other edge computing nodes broadcast their performance parameters. Each other edge computing node in the edge computing cluster, like the first edge computing node, obtains its own performance parameters and broadcasts its own performance parameters after receiving the container image update instruction, so the first edge computing node can receive Performance parameters of each other edge computing node in the edge computing cluster.
[0058] Optionally, the performance parameter of the first edge computing node includes at least one of a central processing unit (CPU) idle rate of the first edge computing node, a memory idle rate, and a time delay with the data center. [0059] Optionally, after receiving the container image update instruction, the first edge computing node will continue to receive performance parameters sent by other edge computing nodes in the edge computing cluster for a period of time, and perform the following after the end of this period of time Operation at step 203. The starting time of this period of time is the time when the first edge computing node receives the container image update instruction, and the time length of this period of time is equal to the preset time length. The first edge computing node can implement this period of time through a timer. When it is implemented, the first edge computing node starts a timer when receiving the container image update instruction. When setting the length of time, determine that the period of time is over and perform the operation in step 203 as follows. Wherein, the network switching device corresponding to the edge computing cluster sends the container image update instruction to each edge computing node in the edge computing cluster after receiving the container image update instruction, and because the edge computing cluster exchanges with the network The equipment forms a local area network, so each edge computing node in the edge computing cluster communicates with the network. The network bandwidth between the switching devices is relatively high, and the time difference between each edge computing node in the edge computing cluster receiving the container image update instruction is relatively small, which is basically negligible. Therefore, it can be considered that each edge computing node in the edge computing cluster receives the container image update instruction at the same time, so that each edge computing node in the edge computing cluster starts the timer at the same time, and ends the timer at the same time.
[0060] Step 203: The first edge computing node determines the load of each edge computing node according to the performance parameters of each edge computing node in the same edge computing cluster.
[0061] For example, for each edge computing node, assuming that the performance parameters of the edge computing node include the edge computing nodes CPU idle rate, memory idle rate, and the time delay with the data center, the first edge computing node The CPU idle rate, the memory idle rate, and the delay with the data center of the computing node are determined according to the following first formula to determine the load of the edge computing node.
[. . 62] Score 2%" * CPU<sub>ut</sub>, Ten W_ * MEM<sub>idSe</sub> Ten Chi J -LAT
[0063] In the first formula, Score is the load of the edge computing node, CPUjdie is the CPU idle rate, MEMjdie is the memory idle rate, LAT is the delay with the data center, W pu is the weight of the CPU idle rate, Wmem Is the weight of the memory free rate, is the delay weight, and * is the multiplication operation.
[0064] Step 204: The first edge computing node is sorted according to the load of each edge computing node in the same edge computing cluster, and the edge computing node with the lowest load is selected as the proxy node.
[0065] Optionally, the first edge computing node may sort each edge computing node according to the load of each edge computing node in descending order, and select the one at the end of the edge computing node as the proxy node. It is to select the edge extreme node with the lowest load at the current moment as the proxy node in the same cluster. Alternatively, the first edge computing node may sort each edge computing node according to the load of each edge computing node from small to large, and select an edge computing node ranked first as the proxy node.
[0066] Optionally, in addition to the manner of selecting a proxy node described in 202 to 204 above, there may be other manners of selecting a proxy node.
[0067] As a possible implementation, the first edge computing node obtains the identifier of each edge computing node in the edge computing cluster, and selects an edge computing node as a proxy node according to the identifier of each edge computing node. The detailed implementation process of this implementation manner is: the first edge computing node obtains its own identifier when receiving the container image update instruction, and broadcasts its identifier to each other edge computing node in the edge computing cluster. The other edge computing nodes, like the first edge computing node, acquire and broadcast their own identifiers when receiving the container image update instruction. The first edge computing node receives the identifier of each other edge computing node, and can select an edge computing node as a proxy node according to the identifier of each edge computing node in the edge computing cluster.
[0068] As a possible implementation manner, the edge computing node with the smallest identification can be selected or the edge computing node with the largest identification can be selected as the proxy node, and other options will not be listed one by one.
[0069] As a possible implementation, the first edge computing node continues to receive the container image update instruction for a period of time, and according to the identification of each edge computing node in the edge computing cluster before the end of the first time period Choose an edge computing node as the proxy node.
[0070] As a possible implementation, when the first edge computing node selects a proxy node, the first edge computing node does not belong to any edge computing cluster in the system shown in FIG. 1 or FIG. 2, and the first edge computing node is Edge computing nodes in the edge computing cluster have the function of selecting proxy nodes, while other edge computing nodes in the edge computing cluster do not have the function of selecting proxy nodes. In this way, the first edge computing node selects an edge computing node as the proxy node when receiving the mirror update instruction. For example, an edge computing node can be randomly selected as the proxy node. In this implementation, when the first edge computing node is not a proxy node, the first edge computing node also needs to send a notification message to the selected edge computing node to notify the edge computing node that it is selected as a proxy node
[0071] Step 205: When the first edge computing node is a proxy node, the first edge computing node obtains the container image corresponding to the identifier of the container image to be updated from the data center, and sends the container image to other edge computing nodes of the edge computing cluster. Container image.
[0072] Optionally, the first edge computing node may download the container image to be updated from the data warehouse of the data center. Alternatively, when the container image update instruction includes the identifier of the edge computing node that has been downloaded, the first edge computing node may download the container image to be updated from the edge computing node corresponding to the identifier of the edge computing node.
[0073] Since the first edge computing node and other edge computing nodes are located in the same local area network, the bandwidth between the first edge computing node and other edge computing nodes is relatively large, so the first edge computing node is connected to other edge computing clusters The time required for the edge computing node to send the container image is relatively short.
[0074] Step 206 (optional): when the first edge computing node is not a proxy node, the first edge computing node receives the container image sent by the proxy node.
[0075] Wherein, the proxy node downloads the container image corresponding to the identifier of the container image to be updated from the data center, and sends the container image to other edge computing nodes of the edge computing cluster. Correspondingly, the first edge computing node receives the container image.
[0076] Since the first edge computing node and the proxy edge computing node are located in the same local area network, the bandwidth between the first edge computing node and the proxy node is relatively large, so the first edge computing node receives the container mirror image sent by the proxy node. The time required is shorter.
[0077] For example, suppose that the container image to be downloaded is 200MB in size, the network bandwidth between the network switching device and the data center is 4Mbps, the edge computing cluster includes four edge computing nodes, and any two edges in the edge computing cluster The network bandwidth between the computing nodes is 400Mbps, so the time required for the first edge computing node to download the container image from the data center t1=(200*8)/4 = 400S, the first edge computing node calculates to the other three edge The time required for the node to send the container image is t2=(200*8) /400 = 4S, so the time required for each edge computing node in the edge computing cluster to obtain the container image is 404S, which is much less than the time of 1600s.
[0078] After the first edge computing node and other edge computing nodes in the edge computing cluster obtain the container image, they can be upgraded according to the container image.
[0079] Optionally, for other edge computing nodes in the edge computing cluster except the proxy node, after the other edge computing nodes complete the update of the container image, they may send an update complete message to the proxy node. When the proxy node receives the update complete message sent by each other edge computing node and it also completes the update of the container image, it sends an update complete message to the data center, and the data center receives the update complete message, thereby determining that the edge computing cluster is completed pending Upgrade of the updated container image.
[0080] In this application, since a proxy node is selected, the container image is obtained from the data center through the proxy node, so that the proxy node can fully occupy the network bandwidth between the network switching device and the data center, so it is required to obtain the image data The time is shorter. And because the edge computing cluster where the proxy node is located is a local area network, the bandwidth between the proxy node and other edge computing nodes in the edge computing cluster is relatively large, so the time required for the proxy node to send container images to other edge computing nodes is also shorter. This solves the problem of long time-consuming container image downloading process due to the limited network bandwidth of edge computing nodes and data centers.
[0081] The data processing method provided according to the application is described in detail above in conjunction with FIGS. 1 to 4, and the data processing device and edge computing node provided in the application will be described below in conjunction with FIG. 5 to FIG. 6.
[0082] FIG. 5 is a schematic structural diagram of a data processing device 300 provided by this application. Referring to FIG. 3, the present application provides a data processing device 300, and the device 300 includes:
[0083] The receiving unit 301 is configured to receive a container image update instruction. The device 300 is any edge computing node in an edge computing cluster. The edge computing cluster includes at least two edge computing nodes. The container image update instruction is used to instruct the edge At least two edge computing nodes in the computing cluster update the container image;
[0084] The processing unit 302 is configured to obtain the container image to be updated according to the container image update instruction received by the receiving unit 301;
[0085] The sending unit 303 is configured to send the container image to be updated to other edge computing nodes in the edge computing cluster according to the container image to be updated obtained by the processing unit 302.
[0086] Optionally, the processing unit 302 is further configured to:
[0087] After receiving the container image update instruction, the receiving unit 301 selects an edge computing node from the edge computing cluster as a proxy node.
[0088] Optionally, the processing unit 302 is configured to:
[0089] Obtain performance parameters of each edge computing node in the edge computing cluster, where the performance parameters are used to indicate the resource usage rate of each edge computing node;
[0090] Determine the load of each edge computing node according to the performance parameters of each edge computing node;
[0091] Sort each edge computing node according to the load of each edge computing node, and select the edge computing node with the lowest load as the proxy node.
[0092] Optionally, the detailed content of the proxy node selection by the processing unit 302 can refer to the relevant content of the first edge computing node selection proxy node in the above steps 202 to 204, which will not be described in detail here.
[0093] Optionally, the processing unit 302 is configured to:
[0094] When the device 300 is used as a proxy node in the edge computing cluster, the container image to be updated is obtained, and the device 300 is the edge computing node with the lowest load.
[0095] Optionally, the detailed content of the processing unit 302 obtaining the container image may refer to the relevant content of the first edge computing node obtaining the container image in step 205, which will not be described in detail here.
[0096] Optionally, the processing unit 302 is configured to:
[0097] Randomly select an edge computing node as a proxy node in the edge computing cluster; or,
[0098] In the edge computing cluster, an edge computing node is selected as a proxy node according to the identifier of the edge computing node.
[0099] Optionally, the processing unit 302 is configured to:
[0100] When the proxy node is not the device 300, the container image to be updated is obtained from the proxy node, and the container image to be updated is obtained by the proxy node from the data center.
[0101] Optionally, the detailed content of the processing unit 302 obtaining the container image from the proxy node may refer to the relevant content of the first edge computing node obtaining the container image from the proxy node in step 206, which will not be described in detail here.
[0102] Optionally, each edge computing node in the edge computing cluster is connected to the data center through a network switching device.
[0103] It should be understood that the device 300 of the present application may be implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), and the above-mentioned PLD may be a complex program logic. Device (complex programmable logical device, CPLD), field-programmable gate array (field-programmable gate array, FPGA), general array logic (generic array logic, GAL) or any combination thereof. When the data processing method shown in FIG. 4 can also be implemented by software, the device 300 and its various modules can also be software modules.
[0104] The device 300 according to the present application may correspond to executing the method described in the embodiment of the present invention, and the above and other operations and/or functions of each unit in the device 300 are used to implement the corresponding flow of the method described in FIG. 4. For the sake of brevity, I wont repeat it here.
[0105] In this application, a proxy node is selected by the processing unit, and obtained from the data center through the proxy node
Container mirroring, because the edge computing cluster where the proxy node is located is a local area network, the bandwidth between the proxy node and other edge computing nodes in the edge computing cluster is relatively large, so the time required for the proxy node to send container images to other edge computing nodes is also It is shorter, which solves the problem of long time-consuming container image downloading process due to the limited network bandwidth of edge computing nodes and data center.
[0106] FIG. 6 is a schematic structural diagram of a computing node 600 provided by this application. As shown in the figure, the computing node 600 includes a processor 601, a memory 602, a communication interface 603, and a bus 604. Among them, the processor 601, the memory 602, and the communication interface 603 communicate through the bus 604, and may also communicate through other means such as wireless transmission. The memory 602 is used to store instructions, and the processor 601 is used to execute instructions stored in the memory 602. The computing node 600 is any edge computing node in the edge computing cluster shown in FIG. 1 or FIG. 2, the memory 602 stores program codes, and the processor 601 can call the program codes stored in the memory 602 to perform the following operations:
[0107] receiving a container image update instruction, the edge computing cluster includes at least two edge computing nodes, and the container image update instruction is used to instruct the at least two edge computing nodes in the edge computing cluster to update the container image;
[0108] Obtain the container image to be updated;
[0109] The container image to be updated is sent to other edge computing nodes in the edge computing cluster through the communication interface 603.
[0110] It should be understood that in this application, the processor 601 may be a CPU, and the processor 601 may also be other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), and field programmable gates. Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor.
[0111] The memory 602 may include a read-only memory and a random access memory, and provides instructions and data to the processor 601. The memory 602 may also include a non-volatile random access memory. For example, the memory 602 may also store device type information.
[0112] The memory 602 may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory. Among them, the non-volatile memory can be read-only memory (read-only memory, ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), and Erase programmable read-only memory (electrically EPROM, EEPROM) or flash memory. The volatile memory may be random access memory (RAM), which is used as an external cache. By way of exemplary but not restrictive description, many forms of RAM are available, such as static random access memory (static RAM, SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (synchronous DRAM, SDRAM), Double data rate synchronous dynamic random access memory (double data date SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchronous connection dynamic random access memory (synchlink DRAM, SLDRAM) and direct rambus RAM (DR RAM).
[0113] In addition to the data bus, the bus 604 may also include a power bus, a control bus, and a status signal bus. However, for the sake of clear description, various buses are marked as the bus 604 in the figure.
[0114] In this application, the processor in the computing node obtains the container image to be updated. Since the edge computing cluster where the computing node is located is a local area network, the computing node is different from other edge computing nodes in the edge computing cluster. The bandwidth between the computing node is relatively large, so the time required for the processor of the computing node to send the container image to other edge computing nodes through the communication interface is also relatively short. This solves the problem of the limited bandwidth of the edge computing node and the data center network causing the container image download process. Time-consuming problem.
[0115] This application provides a data processing system, which includes the data center described in FIG. 1 or FIG. 2 and at least one
An edge computing node, the edge computing node is used to implement the functions of the device described in FIG. 5 or the computing node described in FIG. 6, and the data center and the edge computing node are used to execute the corresponding subjects in the data processing method described in FIG. For the sake of introduction, I wont repeat them here.
[0116] The above-mentioned embodiments can be implemented in whole or in part by software, hardware, firmware or any other combination. When implemented using software, the above-mentioned embodiments may be implemented in the form of a computer program product in whole or in part. The computer program product includes one or more computer instructions. When the computer program instructions are loaded or executed on the computer, the procedures or functions according to the embodiments of the present invention are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center. Transmission to another website, computer, server or data center via wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or a data center that includes one or more sets of available media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium. The semiconductor medium may be a solid state drive (SSD).
[0117] Those of ordinary skill in the art can understand that all or part of the steps in the implementation of the above-mentioned embodiments can be completed by hardware, or by a program to instruct relevant hardware to be completed, and the program can be stored in a computer-readable storage medium. Among them, the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
[0118] The above are only optional implementations of this application and are not intended to limit this application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this application shall be included in this application. Within the scope of protection applied for.
CN 110896404 Β
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
Every citation, both ways
| Document | Relation | Office | Category | Cited during | Relevant claims |
|---|---|---|---|---|---|
| CN105827678A | Cites | China | X | Search report | 1-13 |
| CN105553737A | Cites | China | A | Search report | 1-13 |
| CN103095597A | Cites | China | A | Search report | 1-13 |
| CN108509276A | Cites | China | A | Search report | 1-13 |
| CN107819802A | Cites | China | A | Search report | 1-13 |
| CN102265568A | Cites | China | A | Search report | 1-13 |
| CN107577475A | Cites | China | A | Search report | 1-13 |
| CN106888254A | Cites | China | A | Search report | 1-13 |
| CN107105029A | Cites | China | A | Search report | 1-13 |
| US2017075892A1 | Cites | United States of America | A | Search report | 1-13 |
10 members in 5 offices
Members10
| Document | Office | Kind | |
|---|---|---|---|
| WO2020052322A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CN110896404A | China | A | |
| EP3840296A1 | European Patent Office (EPO) | A1 | |
| US2021203554A1 | United States of America | A1 | |
| CN110896404BThis record | China | B | |
| EP3840296A4 | European Patent Office (EPO) | A4 | |
| JP2021536642A | Japan | A | |
| JP7192103B2 | Japan | B2 | |
| US11558253B2 | United States of America | B2 | |
| EP3840296B1 | European Patent Office (EPO) | B1 |
3 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Patent grantGrantedGR01 | GR01 | |
| Entry into force of request for substantive examinationSE01 | SE01 | |
| PublicationPB01 | PB01 |
Numbers
- Publication
- 110896404
- Application
- 110619181
Titles2
- Chinese
- 数据处理的方法、装置和计算节点
- English
- Data processing method, device and computing node
Classification
- CPC, 13
- H04L67/10
- H04L67/1008
- H04L67/1095
- H04L67/06
- H04L67/1001
- H04L67/1019
- H04L67/34
- H04L41/082
- H04L41/0846
- H04L41/5003
- H04L41/0826
- G06F8/65
- H04L41/20
- IPC, 2
- H04L29 08
- H04L41 0893