Data processing method, device and computing node
11 claims: 11 independent, 0 dependent
- 1データ処理方法であって、当該方法は、第1のエッジコンピューティングノードによって、コンテナイメージ更新命令を受信するステップであって、前記第1のエッジコンピューティングノードは、エッジコンピューティングクラスタの中のいずれかのエッジコンピューティングノードであり、前記エッジコンピューティングクラスタは、少なくとも2つのエッジコンピューティングノードを含み、前記コンテナイメージ更新命令は、コンテナイメージを更新するように、前記エッジコンピューティングクラスタの中の前記少なくとも2つのエッジコンピューティングノードに指示するのに使用される、ステップと、前記第1のエッジコンピューティングノードによって、更新されるべきコンテナイメージを取得するステップと、前記第1のエッジコンピューティングノードによって、前記エッジコンピューティングクラスタの中の他のエッジコンピューティングノードに、前記更新されるべきコンテナイメージを送信するステップと、を含 み 、 第1のエッジコンピューティングノードによって、コンテナイメージ更新命令を受信する前記ステップの後であって、且つ、前記第1のエッジコンピューティングノードによって、更新されるべきコンテナイメージを取得する前記ステップの前に、当該方法は、 前記第1のエッジコンピューティングノードによって、前記エッジコンピューティングクラスタから、前記更新されるべきコンテナイメージを取得するのに使用されるエージェントノードとしてエッジコンピューティングノードを選択するステップをさらに含む、 方法。
- 2前記第1のエッジコンピューティングノードによって、前記エッジコンピューティングクラスタからエージェントノードとしてエッジコンピューティングノードを選択する前記ステップは、前記第1のエッジコンピューティングノードによって、前記エッジコンピューティングクラスタの中の各々のエッジコンピューティングノードのパフォーマンスパラメータを取得するステップであって、前記パフォーマンスパラメータは、各々のエッジコンピューティングノードのリソース使用量を示すのに使用される、ステップと、前記第1のエッジコンピューティングノードによって、各々のエッジコンピューティングノードの前記パフォーマンスパラメータに基づいて、各々のエッジコンピューティングノードの負荷を決定するステップと、第1のエッジコンピューティングノードによって、各々のエッジコンピューティングノードの前記負荷に基づいて、各々のエッジコンピューティングノードをソートし、そして、前記エージェントノードとして、最も負荷の低いエッジコンピューティングノードを選択するステップと、を含む、請求項 1 に記載の方法。
- 3前記第1のエッジコンピューティングノードによって、更新されるべきコンテナイメージを取得する前記ステップは、前記第1のエッジコンピューティングノードが、前記エッジコンピューティングクラスタの中の前記エージェントノードとして使用されるときに、前記更新されるべきコンテナイメージを取得するステップを含み、前記第1のエッジコンピューティングノードは、最も負荷の低いエッジコンピューティングノードである、請求項 1 又は 2 に記載の方法。
- 4前記第1のエッジコンピューティングノードによって、前記エッジコンピューティングクラスタからエージェントノードとしてエッジコンピューティングノードを選択する前記ステップは、前記第1のエッジコンピューティングノードによって、前記エッジコンピューティングクラスタから前記エージェントノードとしてエッジコンピューティングノードをランダムに選択するステップ、又は、前記第1のエッジコンピューティングノードによって、エッジコンピューティングノードの識別子に基づいて、前記エッジコンピューティングクラスタから前記エージェントノードとして前記エッジコンピューティングノードを選択するステップ、を含む、請求項 1 乃至 3 のうちのいずれか1項に記載の方法。
- 5前記第1のエッジコンピューティングノードによって、更新されるべきコンテナイメージを取得する前記ステップは、前記エージェントノードが前記第1のエッジコンピューティングノードではないときに、前記第1のエッジコンピューティングノードによって、前記エージェントノードから前記更新されるべきコンテナイメージを取得するステップを含み、前記更新されるべきコンテナイメージは、前記エージェントノードによってデータセンターから取得される、請求項 1 乃至 4 のうちのいずれか1項に記載の方法。
- 6データ処理装置であって、当該装置は、コンテナイメージ更新命令を受信するように構成される受信ユニットであって、当該装置は、エッジコンピューティングクラスタの中のいずれかのエッジコンピューティングノードであり、前記エッジコンピューティングクラスタは、少なくとも2つのエッジコンピューティングノードを含み、前記コンテナイメージ更新命令は、コンテナイメージを更新するように、前記エッジコンピューティングクラスタの中の前記少なくとも2つのエッジコンピューティングノードに指示するのに使用される、受信ユニットと、前記受信ユニットが受信する前記コンテナイメージ更新命令に基づいて、更新されるべきコンテナイメージを取得するように構成される処理ユニットと、前記処理ユニットが取得する前記更新されるべきコンテナイメージに基づいて、前記エッジコンピューティングクラスタの中の他のエッジコンピューティングノードに、前記更新されるべきコンテナイメージを送信するように構成される送信ユニットと、を含 み 、 前記処理ユニットは、さらに、前記受信ユニットが前記コンテナイメージ更新命令を受信した後であって、且つ、前記処理ユニットが前記更新されるべきコンテナイメージを取得する前に、前記エッジコンピューティングクラスタから、前記更新されるべきコンテナイメージを取得するのに使用されるエージェントノードとしてエッジコンピューティングノードを選択するように構成される、 装置。
- 7前記処理ユニットは、さらに、前記エッジコンピューティングクラスタの中の各々のエッジコンピューティングノードのパフォーマンスパラメータを取得し、前記パフォーマンスパラメータは、各々のエッジコンピューティングノードのリソース使用量を示すのに使用され、各々のエッジコンピューティングノードの前記パフォーマンスパラメータに基づいて、各々のエッジコンピューティングノードの負荷を決定し、各々のエッジコンピューティングノードの前記負荷に基づいて、各々のエッジコンピューティングノードをソートし、そして、前記エージェントノードとして、最も負荷の低いエッジコンピューティングノードを選択する、ように構成される、請求項 6 に記載の装置。
- 8前記処理ユニットは、さらに、当該装置が、前記エッジコンピューティングクラスタの中の前記エージェントノードとして使用されるときに、前記更新されるべきコンテナイメージを取得するように構成され、当該装置は、最も負荷の低いエッジコンピューティングノードである、請求項 6 又は 7 に記載の装置。
- 9前記処理ユニットは、さらに、前記エッジコンピューティングクラスタから前記エージェントノードとしてエッジコンピューティングノードをランダムに選択するか、又は、エッジコンピューティングノードの識別子に基づいて、前記エッジコンピューティングクラスタから前記エージェントノードとして前記エッジコンピューティングノードを選択する、ように構成される、請求項 6 乃至 8 のうちのいずれか1項に記載の装置。
- 10前記処理ユニットは、さらに、前記エージェントノードが当該装置ではないときに、前記エージェントノードから前記更新されるべきコンテナイメージを取得するように構成され、前記更新されるべきコンテナイメージは、前記エージェントノードによってデータセンターから取得される、請求項 6 乃至 9 のうちのいずれか1項に記載の装置。
- 11コンピューティングノードであって、当該コンピューティングノードは、プロセッサ及びメモリを含み、前記メモリは、コンピュータ命令を格納するように構成され、前記コンピューティングノードが起動されるときに、前記プロセッサは、前記メモリの中の前記コンピュータ命令を実行して、請求項1乃至 5 のうちのいずれか1項に記載の方法の動作ステップを実行する、コンピューティングノード。
Independent claims11
98 paragraphs, as filed
This application relates to the field of communications, and more particularly to data processing methods and apparatus and computing nodes.
In an edge computing scenario network topology, multiple edge computing nodes form an edge computing cluster. An edge computing cluster may be connected to a remote data center via a network switching device, and each edge computing node in the edge computing cluster may be connected to one or more sensors. Thus, after collecting data, the sensor first transmits the data to the edge computing node, the edge computing node processes the data, and then sends the processing result to the data center.
In that network topology, the software used to process the data collected by the sensors runs on each edge computing node and is arranged in containers in an image fashion. That software may be referred to as a container image. Data centers typically need to upgrade container images running on some of the multiple edge computing nodes in the network topology. During the upgrade, the data center sends a request message containing 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 and upgrades the container image to be upgraded.
In the process of implementing this application, the inventor discovered that the prior art has at least the following problems.
At present, when the network bandwidth between the network switching device and the data center is limited, and multiple edge computing nodes connected to the network switching device need to download container images, the network Due to bandwidth limitations, multiple edge computing nodes may require a relatively long time to download container images from the data center.
To solve the problem of the prior art that the process of downloading container images consumes a long time due to the limited network bandwidth of edge computing nodes and data centers, this application discloses a data processing method and An apparatus and a computing node are provided. Their multiple technical solutions are as follows.
According to a first aspect, this application provides a data processing method. In that method, the edge computing cluster includes at least two edge computing nodes, and any edge computing node in the edge computing cluster is a first edge computing node for ease of explanation. called a node. The first edge computing node receives a container image update instruction, the container image update instruction instructing the at least two edge computing nodes in the edge computing cluster to update a container image. Used to direct to obtain a container image to be updated, and to send the container image to be updated to other edge computing nodes in the edge computing cluster. Since multiple edge computing nodes in an edge computing cluster are located in the same local area network, the network bandwidth between any two nodes in the edge computing cluster is become relatively large. In this way, the first edge computing node can quickly send the container image to the other edge computing nodes so that each edge computing node in the edge computing cluster can retrieve the container image. It is possible to shorten the time required for
In one possible implementation, after the first edge computing node receives the container image update instruction, the first edge computing node performs edge computing as an agent node from the edge computing cluster. Select a node. After selecting an agent node, the agent node can be used to download a container image from the data center, thereby connecting the agent node to the network between the edge computing cluster and the data center. Bandwidth can be exclusively occupied, thus reducing the time required for the agent node to download the container image. The agent node then sends the container image to other agent nodes to reduce the time required for each edge computing node in the edge computing cluster to retrieve the container image.
In another possible implementation, the first edge computing node obtains performance parameters of each edge computing node in the edge computing cluster, the performance parameters of each edge computing node used to indicate resource usage, determining a load of each edge computing node based on said performance parameters of each edge computing node; and based on said load of each edge computing node, each edge computing nodes, and select the edge computing node with the lowest load as the agent node. Select the edge computing node with the lowest load as the agent node, so that agent node has the fastest speed to download the container image from the data center, so that the agent node downloads the container image. minimize the time required to
In another possible implementation, when the first edge computing node is used as the agent node in the edge computing cluster, obtaining the container image to be updated; The 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 has the fastest speed for fetching container images, and as a result, the first edge computing node Minimize the time an edge compute node needs to fetch a container image.
In other possible implementations, the first edge computing node randomly selects an edge computing node as the agent node from the edge computing cluster, or based on an edge computing node identifier, Selecting the edge computing node as the agent node from the edge computing cluster.
In another possible implementation, 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 A container image to be updated is retrieved from the data center by the agent node. Since the first edge computing node and the agent node are located in the same local area network, network bandwidth between the first edge computing node and the agent node is relatively large. In this way, the first edge computing node can quickly retrieve the container image from the agent node to reduce the time required to retrieve the container image.
In another possible implementation, each edge computing node in the edge computing cluster is connected to the data center via a network switching device.
According to a second aspect, the application provides a data processing apparatus, the data processing apparatus configured to perform the method in the first aspect or any possible implementation of the first aspect. be. Specifically, the apparatus comprises a plurality of units configured to perform the first aspect or any possible implementation of the first aspect.
According to a third aspect, the application provides a computing node including a processor, a memory, a communication interface and a bus, the processor, memory and communication interface being connected via the bus to communicate with each other. , the memory is configured to store computer-executable instructions, and when the computing node is booted, the processor executes the computer-executable instructions in the memory to free up hardware resources in the computing node. By using to perform the operational steps of the method in the first aspect or any of the possible implementations of the first aspect.
According to a fourth aspect, the application provides a data processing system, the system including a data center and at least one edge computing node, the edge computing node and the data center comprising the data center and the computing node. The data center and computing nodes are configured to perform a plurality of operational steps of the method performed when the node is an execution entity in the first aspect or any possible implementation of the first aspect.
According to a fifth aspect, the application provides a computer program product, the computer program product comprising a computer program stored in a computer readable storage medium, the computer program being executed by a processor. Loaded to implement the method in the first aspect or any possible implementation of the first aspect.
According to a sixth aspect, the application provides a non-volatile computer-readable storage medium, the non-volatile computer-readable storage medium configured to store a computer program, the computer program comprising: It is loaded by a processor to execute instructions in the first aspect or any possible implementation of the first aspect.
According to a seventh aspect, the application provides a chip, the chip comprising programmable logic circuitry and/or program instructions, and upon execution the chip comprises the first aspect or the first configured to implement a method in any possible implementation of the aspect of
In this application, it is also possible to combine multiple implementations provided by the above multiple aspects to provide more implementations.
<figref num="1">1 is a schematic diagram of a network architecture according to this application; FIG.</figref><figref num="2">1 is a schematic diagram of the K8S architecture according to this application; FIG.</figref><figref num="3">1 is a schematic diagram of the configuration of an edge computing node's software stack according to this application; FIG.</figref><figref num="4">3 is a flow chart of a data processing method according to this application;</figref><figref num="5">1 is a schematic diagram of the configuration of a data processing device according to this application; FIG.</figref><figref num="6">1 is a schematic diagram of the configuration of a computing node according to this application; FIG.</figref>
The following description further details embodiments of the present application with reference to the accompanying drawings.
FIG. 1 is a schematic diagram of a network architecture according to this application. Referring to FIG. 1, this application provides its network architecture. The network architecture includes at least one edge computing cluster 1, a network switching device 2, and a data center 3 corresponding to each edge computing cluster 1, each edge computing cluster 1 having at least two edge computing clusters. including node 1. For each edge computing cluster 1, each edge computing node is connected to a network switching device 2 corresponding to the edge computing cluster 1 to form a local area network. A network switching device 2 is connected to a public network and connected to a remote data center 3 via the public network. A public network may be a wired network or a wireless network. The network switching device 2 includes a wireless router, wired router, or the like. Any two edge computing nodes 1 in the same local area network are directly connected to each other or connected to each other through a switch, and between any two edge computing nodes 1 will be relatively large and larger than the network bandwidth between the network switching device 2 and the data center 3.
Each edge computing node 1 includes at least one container, a container image is placed in the container, the container image includes software, applications, or data analysis algorithm models, etc., which are used to store data. used to process
Optionally, the container image in Edge Computing Node 1 may be placed on Edge Computing Node 1 when Edge Computing Node 1 is shipped from the factory, or when Edge Computing Node 1 is It may be installed on the edge computing node 1 after being delivered from the factory.
Optionally, referring to FIG. 1, edge computing node 1 may further be connected to at least one collection device 4 . The edge computing node 1 processes data collected by at least one collection device 4 by using a container image contained within the edge computing node 1 and then forwards to the data center 3 for processing. You can send the results. Alternatively, the edge computing node 1 processes data sent by the data center and received by the edge computing node 1 by using a container image contained within the edge computing node 1; The processing results may then be sent to the data center 3 .
The network architecture shown in Figure 1 may be used in the current field of intelligent transportation or security protection. For example, in the field of security protection, the collection device 4 may be a camera and the edge computing node 1 may contain container images used to extract facial models. In this way, the camera may capture frames of a video picture, and each time a frame of a video picture is captured, it will send the video picture to the edge computing node 1 connected to the camera. may The edge computing node 1 receives a video picture, detects whether the video picture contains a facial image by using the container image contained in the edge computing node 1, and If the video picture contains a facial image, extract a facial model corresponding to the facial image, and send the facial model to the data center.
Maintainers may develop new versions of container images on a regular or irregular basis. In this case, the container image in edge computing node 1 needs to be upgraded to a newer version. At the moment, the user needs to store and upgrade the new version of the developed container image in the data warehouse of the data center. Edge computing node 1 downloads the new version of the container image from the data center. , and may upgrade a locally stored container image of an older version to a newer version of the container image.
The network architecture shown in Figure 1 is a hardware topology configuration. This application further provides a software architecture diagram shown in FIG. The software architecture diagram details the software architecture of the data center 3 and the software architecture of the edge computing node 1 of the network architecture shown in FIG. Figure 2 shows the software architecture. Its software architecture is a schematic diagram of the K8S architecture. Referring to FIG. 2, in its K8S architecture, a data center 3 includes multiple functional modules such as a server module 31, a scheduling module 32, and a data warehouse 33, and each edge computing node 1 includes a client module 11 and a plurality of functional modules such as container 12 . Data center 3 and edge computing node 1 are client/server, CS) mode of operation may be used. Data center 3 interacts with edge computing node 1 by executing server modules, and edge computing node 1 interacts with data center 3 by executing client modules. In one interactive process, data center 3 acts as a server and edge computing node 1 acts as a client. The data warehouse is configured to store new versions of container images developed by users, and the scheduling module is configured to schedule edge computing clusters 1 whose container images need to be upgraded. Edge computing node 1 in edge computing cluster 1 to be scheduled downloads a container image from a data warehouse in data center 3, and places the container image in the container in an image fashion, May implement upgrades.
FIG. 3 is a schematic diagram of the configuration of the software stack of an edge computing node based on the software architecture shown in FIG. 2 according to this application. As shown in the figure, an edge computing node 1 includes containers, a software platform for running container images, and a hardware platform for running the software platform. A container includes a container image, which may be an algorithm, software, application, or the like. The software platform includes functional modules such as container engines, K8S agents, and lightweight operating systems (OS). A hardware platform includes hardware resources such as processors, memory, and network interface cards.
A lightweight OS may be configured to allocate hardware resources to container engines and K8S agents. The hardware resources may be hardware resources such as processors, memory, and/or network interface cards of the hardware platform. The container engine may be configured to execute a container image of a container and process data using the container image to obtain processing results. A K8S agent is an instance of a client module and may be configured to interact with data center 3 . For example, the K8S agent may send the processing result to data center 3, or may download a new version of the container image from data center 3, and install the new version of the container image in that container. May be deployed to implement actions such as upgrading container images.
Each edge computing node 1 in the edge computing cluster 1 is connected to a network switching device 2 so that each edge computing node 1 in the edge computing cluster 1 downloads the container image from the data center 3. The time required to do this depends on the network bandwidth between the network switching device 2 and the data center 3. In other words, the greater the network bandwidth between the network switching device 2 and the data center 3, the more time each edge computing node 1 in the edge computing cluster 1 needs to download the container image. Shorten. Conversely, the smaller the network bandwidth between the network switching device 2 and the data center 3, the more time each edge computing node 1 in the edge computing cluster 1 needs to download the container image. become longer. For example, the size of the container image that needs to be downloaded is 200[MB], the network bandwidth between network switching device 2 and data center 3 is 4[Mbps], edge computing cluster 1 is , containing four edge computing nodes 1. Thus, the time required for 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 the edge computing cluster 1 is connected to the data center 3 via a wireless network, or between the network switching device 2 corresponding to the edge computing cluster 1 and the data center 3 When the network bandwidth of the wired connection is relatively small, the network bandwidth between the network switching device 2 and the data center 3 is limited and the edge computing The time required for each edge computing node 1 in the networking cluster 1 to download the container image is relatively long. To solve this technical problem, it is possible to use any one of the following multiple implementations.
The following description further describes the data processing method provided by this application with reference to FIG. As shown in the figure, the method is<u style="Single">Figure 1</u>may be applied to the network architecture shown in and includes the following steps.
Step 201: The data center sends a container image update instruction to the edge computing cluster, the container image update instruction includes an identifier of the container image to be updated.
A user may develop a new version of the container image and store the new version of the container image in the data center. A new version of a container image is a container image that should be updated. A container image may be software, an application, a data analysis algorithm model, or the like. Therefore, the container image to be updated may be a new version of software, an application, a data analysis algorithm model, or the like.
After developing a new version of the container image, the user stores the new version of the container image in the data warehouse of the data center. The data center server module detects container images stored in the data warehouse, uses the container image as the container image to be updated, and sends scheduling instructions to the data center scheduling module. may Alternatively, after storing a new version of the container image in the data center's data warehouse, the user may enter an upgrade command including the container image's identifier into the data center's server module. After receiving the upgrade command, the data center sends scheduling instructions to the scheduling module of the data center.
A scheduling module within the data center can then schedule at least one edge computing cluster. The server module generates container image instructions and sends the container image instructions to each scheduled edge computing cluster. The container image instructions contain the identifier of the container image to be updated.
Optionally, the data center may send container image instructions to the scheduled edge computing clusters in any of the following ways.
In the first scheme, container image instructions may be sent to each scheduled edge computing cluster simultaneously.
In a second scheme, container image instructions may be sent to the scheduled edge computing cluster in batches based on time sequence. Any two adjacent time intervals for sending container image instructions may or may not be equal.
For example, assume there are 9 scheduled edge computing clusters and the container image update order is sent 3 times. A container image update instruction is first sent to the three scheduled edge computing clusters, and after a period of time, the container image update instruction is sent a second time to the other three scheduled edge computing clusters. It is sent to the clusters, and after another period of time, the container image update instructions are sent a third time to the remaining three scheduled edge computing clusters.
Optionally, the length of time of each waiting period may or may not be equal. When each waiting period has the same length of time, the length of time may be a preset length of time or a length of time set by the data center.
Compared to the first method, the second method reduces the number of edge computing nodes simultaneously requesting to download data from the data warehouse in the data center, thereby reducing the load on the data center. can be reduced and the load on the data warehouse can be reduced.
In a third scheme, the container image instructions may be sent to the scheduled edge computing node based on the load magnitude of the scheduled edge computing cluster.
For example, the container image instructions may be sent to the scheduled edge computing nodes in descending order of load on the scheduled edge computing cluster. In other words, container image instructions are sent to edge computing clusters with lower loads first. In this way, edge computing clusters with low load will download container images to be updated first, and edge computing clusters can quickly download container images to be updated from the data center. It is possible. When a data center sends container image instructions to a relatively heavily loaded edge computing cluster, the relatively heavily loaded edge computing cluster handles its own load for a period of time, so the edge The load on the computing cluster may be relatively low in this case, and the edge computing cluster can also quickly download container images to be updated from the data center.
Optionally, each edge computing node may transmit the magnitude of the edge computing node's load to the data center when the edge computing node's load changes. The data center determines the edge computing nodes belonging to the same edge computing cluster, and the load magnitude of the edge computing cluster based on the load magnitude of the edge computing nodes belonging to the same edge computing cluster. to get
For each edge computing node belonging to the same edge computing cluster, the edge computing node sends the load magnitude to the network switching device corresponding to that edge computing cluster. The network switching device sends a message to the data center, the message including the address of the network switching device and the load magnitude of the edge computing node. Therefore, the data center can determine each edge computing node belonging to its edge computing cluster based on the address of the network switching device.
Optionally, the container image update instruction may further include an identifier of the edge computing node requesting to download the container image to be updated from the data center.
For each scheduled edge computing cluster, a network switching device corresponding to the edge computing cluster receives the container image update instruction, and sends the container image to each edge computing node in the edge computing cluster. Send an update order.
Transmission schemes of network switching devices include broadcast, unicast and multicast. When using unicast, the network switching device sends the container image update instructions to each edge computing node one by one. When using multicast, the network switching device groups edge computing nodes in the edge computing cluster into one or more groups, and sends container image update instructions to each group of edge computing nodes. multicast.
Step 202: The first edge computing node receives the container image update instruction and obtains performance parameters of each edge computing node in the edge computing cluster in which the first edge computing node is located. and the edge computing node's performance parameter is used to indicate the resource usage of that edge computing node.
The first edge computing node is any edge computing node in the edge computing cluster in which the first edge computing node is located. When receiving the container image update instruction, the first edge computing node obtains the performance parameters of the first edge computing node, and then other edges in the edge computing cluster. A performance parameter of the first edge computing node may be broadcast to the computing nodes. Similar to the first edge computing node, other computing nodes in the edge computing cluster obtain the performance parameters of the edge computing node, and after receiving the container image update instruction, perform the edge computing Broadcast node performance parameters. Accordingly, the first edge computing node can receive performance parameters of other edge computing nodes in the edge computing cluster.
Optionally, the performance parameter of the first edge computing node is a central processing unit (CPU) idle rate, a memory idle rate, or a data center delay of the first edge computing node. including at least one of
Optionally, after receiving the container image update instruction, the first edge computing node continuously updates the performance parameters sent by other edge computing nodes in the edge computing cluster within a period of time. and after that time period has expired, perform the action of step 203 . The time period starts when the first edge computing node receives the container image update command, and the time length of the time period is set to the preset time length. equal. The first edge computing node may implement the time period by using a timer. During implementation, the first edge computing node starts a timer upon receiving the container image update instruction. The timer starts timing from zero. When the time period being timed reaches the preset time length, the first edge computing node determines that the time period has expired and performs operations in step 203 . After receiving the container image update instruction, the network switching device corresponding to the edge computing cluster transmits the container image update instruction to each edge computing node in the edge computing cluster. In addition, since the edge computing cluster and the network switching device form one local area network, the network bandwidth between each edge computing node in the edge computing cluster and the network switching device is relatively high. As a result, the time difference between receipt of the container image update instruction by each edge computing node in the edge computing cluster becomes relatively small, and the time difference can be basically ignored. Therefore, each edge computing node in the edge computing cluster It may be considered to receive tena image update commands at the same time. In this way, each edge computing node in the edge computing cluster starts a timer at the same time and stops the timer at the same time.
Step 203: The first edge computing node determines the load of each edge computing node based on the performance parameters of each edge computing node in the same edge computing cluster.
For example, assuming that for each edge computing node, the performance parameters of the edge computing node include CPU idle rate, memory idle rate, and delay between the edge computing node and the data center. The edge computing node of the first formula<math num="1"><img file="JP7192103B2_D0001.tif" /></math>determine the load of the edge computing node based on the CPU idle rate, memory idle rate, and delay between the edge computing node and the data center.
In the first equation, Score is the edge computing node load and CPU<sub>idle</sub>is the CPU idle rate and MEM<sub>idle</sub>is the memory idle rate, LAT is the delay between the edge computing node and the data center, and W<sub>CPU</sub>is the CPU idle rate weight and W<sub>mem</sub>is the memory idle rate weight, W<sub>lat</sub>is the delay weight and x is the multiplication operation.
Step 204: The first edge computing node sorts each edge computing node in the same edge computing cluster based on the load of each edge computing node, and, as an agent node, sorts each edge computing node with the highest load. Choose edge compute nodes with low
Optionally, the first edge computing node sorts each edge computing node in descending order of load of each edge computing node, and selects the last edge computing node as an agent node. In other words, it may select the edge computing node with the lowest current load as the agent node from the same cluster. Alternatively, the first edge computing node sorts each edge computing node in ascending order of load of each edge computing node, and selects the first edge computing node as an agent node. may
Optionally, there may be other schemes for selecting agent nodes besides the schemes for selecting agent nodes described at 202-204.
In one possible implementation, the first edge computing node obtains an identifier of each edge computing node in the edge computing cluster, and based on each edge computing node identifier, Select edge computing nodes as agent nodes. The detailed implementation process of this implementation is as follows. That is, when receiving the container image update instruction, the first edge computing node obtains the identifier of the first edge computing node, and sends the identifier to other edge computing nodes in the edge computing cluster. Broadcast the identifier of the first edge computing node. Similar to the first edge computing node, other edge computing nodes obtain and broadcast identifiers of other edge computing nodes when receiving container image update instructions. A first edge computing node receives identifiers of other edge computing nodes, and identifies the edge computing node as an agent node based on the identifier of each edge computing node in the edge computing cluster. You may choose.
In one possible implementation, the edge computing node with the smallest identifier or the edge computing node with the largest identifier may be selected as the agent node. Other selection methods are not listed one by one.
In one possible implementation, the first edge computing node also, during a period of time after receiving the container image update instruction, sends the identifier of each edge computing node in the edge computing cluster and selecting an edge computing node as an agent node based on the identifier of each edge computing node in the edge computing cluster before the end of the first time period.
In one possible implementation, when the first edge computing node selects an agent node, the first edge computing node is any edge computing node in the system shown in FIG. 1 or FIG. The first edge computing node is an edge computing node that resides in the edge computing cluster and has the function of selecting an agent node. Other edge computing nodes in the edge computing cluster do not have the ability to select agent nodes. In this way<u style="Single">Container image update instruction</u>, the first edge computing node selects the edge computing node as an agent node. For example, the first edge computing node may randomly select edge computing nodes as agent nodes. In this implementation, when the first edge computing node is not an agent node, the first edge computing node further informs the edge computing node that the edge computing node is selected as an agent node. To notify, a notification message needs to be sent to the selected edge computing nodes.
Step 205: When the first edge computing node is an agent node, the first edge computing node obtains from the data center the container image corresponding to the identifier of the container image to be updated, and Send the container image to other edge computing nodes in the processing cluster.
Optionally, the first edge computing node may download container images to be updated from a data warehouse in the data center. Alternatively, when the container image update instruction includes the identifier of the edge computing node being downloaded, the first edge computing node updates from the edge computing node corresponding to the edge computing node identifier. You may download a container image that should be
First edge computing node and other<u style="Single">Edge computing node</u>are located in the same local area network, the bandwidth between the first edge computing node and other edge computing nodes will be relatively large. Therefore, the time required for the first edge computing node to send the container image to other edge computing nodes in the edge computing cluster is relatively short.
Step 206 (optional): When the first edge computing node is not an agent node, the first edge computing node receives the container image sent by the agent node.
The agent 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 in the edge computing cluster. Correspondingly, the first edge computing node receives the container image.
a first edge computing node and<u style="Single">agent node</u>are located in the same local area network, so the bandwidth between the first edge computing node and the agent node is relatively large. Therefore, the time required for the first edge computing node to receive the container image sent by the agent node is relatively short.
For example, the size of the container image that needs to be downloaded is 200[MB], the network bandwidth between the network switching device and the data center is 4[Mbps], and the edge computing cluster is 4 Suppose that the network bandwidth between any two edge computing nodes in an edge computing cluster, including edge computing nodes, is 400 [Mbps]. Thus, the time required for the first edge computing node to download the container image from the data center is t1=(200×8)/4=400S, and the first edge computing node The time required to send the container image to the other 3 edge computing nodes is t2=(200×8)/400=4S. Therefore, the time required for each edge computing node in the edge computing cluster to retrieve the container image is 404s, much shorter than 1600s.
After obtaining the container image, the first edge computing node and other edge computing nodes in the edge computing warehouse may be upgraded based on the container image.
Optionally, for other edge computing nodes other than the agent nodes in the edge computing cluster, after completing the update of the container image, the other edge computing nodes send an update completion message to the agent nodes. may When an agent node receives an update completion message sent by another edge computing node and when the agent node also finishes updating its container image, the agent node sends an update completion message to the data center. do. The data center receives the update complete message and determines that the edge computing cluster has completed upgrading the container image to be updated.
In this application, a container image is obtained from a data center by selecting an agent node and using that agent node. In this way, agent nodes can occupy all network bandwidth between the network switching device and the data center. Therefore, the time required to acquire the image data is relatively short. In addition, the edge computing cluster where the agent node is located is a local area network, and the bandwidth between other edge computing nodes in the edge computing cluster and the agent node will be relatively large. So the time required for an agent node to send a container image to other edge computing nodes is relatively short. In this way, the problem that the process of downloading container images takes a long time due to the limited network bandwidth of edge computing nodes and data centers is solved.
The above description describes in detail the data processing method according to this application with reference to FIGS. The following description describes the data processing device and edge computing node according to this application with reference to FIGS. 5 and 6. FIG.
FIG. 5 is a schematic diagram of the configuration of a data processing device 300 according to this application. Referring to FIG. 3, this application provides a data processing device 300. FIG. The device 300 is a receiving unit 301 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, 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. A unit 301, a processing unit 302 configured to obtain a container image to be updated according to a container image update instruction received by the receiving unit 301, and a container image to be updated obtained by the processing unit 302. a sending unit 303 configured to send the container image to be updated to other edge computing nodes in the edge computing cluster based on the sending unit 303;
Optionally, the processing unit 302 is further configured to select an edge computing node as an agent node from the edge computing cluster after the receiving unit 301 receives the container image update instruction.
Optionally, the processing unit 302 obtains performance parameters of each edge computing node in the edge computing cluster, the performance parameters being used to indicate resource usage of each edge computing node; determining the load of each edge computing node based on the performance parameters of each edge computing node; sorting each edge computing node based on the load of each edge computing node; and an agent It is configured to select the edge computing node with the lowest load as the node.
Alternatively, for the detailed content of the agent node selection by the processing unit 302, please refer to the relevant content of the agent node selection by the first edge computing node in steps 202-204. The details are not repeated here.
Optionally, the processing unit 302 is configured to obtain a container image to be updated when the device 300 is used as an agent node in an edge computing cluster, and the device 300 is loaded is the lowest edge computing node.
Optionally, for the detailed content of the container image acquisition by the processing unit 302, please refer to the relevant content of the container image acquisition by the first edge computing node in step 205. The details are not repeated here.
Optionally, the processing unit 302 randomly selects an edge computing node from the edge computing cluster as an agent node, or based on the identifier of the edge computing node, selects the edge computing node from the edge computing cluster as an agent node. Select a compute node.
Optionally, the processing unit 302 is configured to obtain the container image to be updated from the agent node when the agent node is not the device 300, and the container image to be updated is transferred to the data center by the agent node. obtained from
Alternatively, for the detailed content of obtaining container images from agent nodes by the processing unit 302, please refer to the relevant content of obtaining container images from agent nodes by the first edge computing node in step 206. is. The details are not repeated here.
Optionally, each edge computing node in the edge computing cluster is connected to the data center via a network switching device.
Apparatus 300 in this application may be implemented by an application-specific integrated circuit (ASIC) or may be implemented by a programmable logic device (PLD). should be understood. A PLD is a complex programmable logic device.<u style="Single">logical</u> device, CPLD), field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof. Alternatively, the device 300 and the modules of the device 300 may be software modules when implementing the data processing method shown in FIG. 4 by software.
The apparatus 300 according to this application may correspondingly perform the methods described in the embodiments of the present disclosure. In addition, the above operations and other operations and/or functions of multiple units in apparatus 300 are used individually to implement corresponding steps of the method of FIG. For the sake of brevity, the details are not repeated here.
In this application, a processing unit selects an agent node and uses that agent node to obtain a container image from a data center. The edge computing cluster where the agent node is located is a local area network, and the bandwidth between other edge computing nodes in the edge computing cluster and the agent node will be relatively large, so the agent The time required for a node to send a container image to other edge computing nodes is relatively short. In this way, the problem that the process of downloading container images takes a long time due to the limited network bandwidth of edge computing nodes and data centers is solved.
FIG. 6 is a schematic diagram of the configuration of a computing node 600 according to this application. As shown in that figure, computing node 600 includes processor 601 , memory 602 , communication interface 603 and bus 604 . Processor 601, memory 602, and communication interface 603 may implement communication via bus 604 or by other manners such as wireless transmission. Memory 602 is configured to store instructions. Processor 601 is configured to execute instructions stored in memory 602 . Computing node 600 is any edge computing node in the edge computing cluster shown in FIG. 1 or FIG. The memory 602 stores program code, the processor 601 calls the program code stored in the memory 602 to receive container image update instructions, and the edge computing cluster comprises at least two an edge computing node, wherein the container image update instructions are used to instruct at least two edge computing nodes in the edge computing cluster to update the container image; The operations of obtaining the container image to be updated and sending the container image to be updated to other edge computing nodes in the edge computing cluster via the communication interface 603 can be performed.
In this application, processor 601 may be a CPU, or processor 601 may be any other general purpose processor, digital signal processor (DSP), application specific integrated circuit (ASIC), field programmable gate array (FPGA). , or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or the like. A general-purpose processor may be a microprocessor, any conventional processor, or the like.
Memory 602 , including read-only memory and random-access memory, may provide instructions and data to processor 601 . Memory 602 may further include non-volatile random access memory. For example, memory 602 may also store device type information.
Memory 602 may be volatile memory, non-volatile memory, or may include volatile and non-volatile memory. Non-volatile memory includes read-only memory (ROM), programmable read-only memory (ROM, PROM), erasable and programmable read-only memory (erasable PROM, EPROM), electrically It may be erasable and programmable read only memory (electrically EPROM, EEPROM) or flash memory. Volatile memory can be random access memory (RAM), which is used as an external cache. Through exemplary but non-limiting description, static random access memory (static RAM, SRAM), dynamic random access memory (DRAM), synchronous and dynamic random access memory (synchronous DRAM), for example. , SDRAM), double data rate SDRAM (DDR SDRAM), enhanced synchronous dynamic random access memory (enhanced SDRAM, ESDRAM), synchronous link Many forms of RAM may be used, such as dynamic random access memory (synchlink DRAM, SLDRAM), direct rambus random access memory (DR RAM), and the like.
Bus 604 may further include a power bus, a control bus, a status signal bus, etc., in addition to the data bus. However, for the sake of clarity, the various types of buses in the figure are designated as bus 604 .
In this application, a processor within a computing node obtains a container image to be updated. Since the edge computing cluster where the computing node is located is a local area network, the bandwidth between the computing node and other edge computing nodes in the edge computing cluster will be relatively large. . In this way, the time required for a computing node's processor to send a container image to another edge computing node via a communication interface is relatively short. In this way, the problem that the process of downloading container images takes a long time due to the limited network bandwidth of edge computing nodes and data centers is solved.
This application provides a data processing system. The system includes the data center of FIG. 1 or FIG. 2 and at least one edge computing node. An edge computing node is configured to implement the functionality of the device of FIG. 5 or the computing node of FIG. The data center and edge computing nodes are configured to perform the corresponding operational steps in the data processing method of FIG. For the sake of brevity, the details are not repeated here.
All or part of the above embodiments may be implemented by software, hardware, firmware, or any combination thereof. When using software to implement those embodiments, the above embodiments may be fully or partially implemented in the form of a computer program product. A computer program product includes one or more computer instructions. The computer program instructions, when loaded and executed by a computer, produce all or part of the procedures or functions according to embodiments of the present disclosure. The computer may be a general purpose computer, special purpose computer, computer network, or other programmable device. The computer instructions may be stored in computer-readable storage media or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, by wire (e.g., coaxial cable, fiber optic, or Digital Subscriber Line (DSL)) or wireless (e.g., infrared, radio, or microwave) web sites, computers, servers, or transmit computer instructions from the data center to other websites, other computers, other servers, or other data centers. A computer-readable storage medium can be any available medium that can be accessed by a computer or data storage device, such as a server or data center, incorporating one or more available media. may be The media that can be used may be magnetic media (eg, floppy disks, hard disks, or magnetic tapes), optical media (eg, (Digital Video Disc, DVD), etc.), semiconductor media, or the like.
Persons of ordinary skill in the art may understand that all or part of the steps of the embodiments may be implemented by hardware or a program instructing relevant hardware . The program can be stored in a computer readable storage medium. Storage media may include read-only memory, magnetic disks, or optical disks.
The above descriptions are only alternative implementations of this application and are not intended to limit this application. Any modification, equivalent replacement or improvement made without departing from the spirit and principle of this application shall fall within the scope of protection of this application.
7 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| US20140089912A1 | Cites | United States of America |
| WO2018020610A1 | Cites | World Intellectual Property Organization (WIPO) |
| WO2016181462A1 | Cites | World Intellectual Property Organization (WIPO) |
| CN105827678A | Cites | China |
| US20180052675A1 | Cites | United States of America |
| US20100162036A1 | Cites | United States of America |
10 members in 5 offices
Priority claims3
| Document | Office | Kind | Date |
|---|---|---|---|
| 2018110619181 | China | – | |
| 201811061918 | China | A | |
| 2019094143 | China | W |
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 | |
| CN110896404B | China | B | |
| EP3840296A4 | European Patent Office (EPO) | A4 | |
| JP2021536642A | Japan | A | |
| JP7192103B2This record | Japan | B2 | |
| US11558253B2 | United States of America | B2 | |
| EP3840296B1 | European Patent Office (EPO) | B1 |
9 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Receipt of annual feesJAPANESE INTERMEDIATE CODE: R250R250 | R250 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 |
Numbers
- Publication
- 7192103
- Application
- 2021513834
Titles2
- Japanese
- データ処理方法及び装置、及び、コンピューティングノード
- English
- DATA PROCESSING METHOD AND APPARATUS, AND COMPUTING NODE
Classification
- CPC, 15
- H04L67/10
- H04L67/1008
- H04L67/1095
- H04L67/06
- H04L67/1001
- H04L67/1019
- H04L67/34
- H04L41/082
- H04L41/0846
- H04L41/0893
- H04L41/14
- H04L41/5003
- H04L41/0826
- G06F8/65
- H04L41/20
- IPC, 1
- G06F8 65
