A software kernel upgrade data processing method and system
By identifying the target node, auxiliary nodes, and decompression nodes in a multi-node topology network, and utilizing multi-node parallel processing and data link optimization, the latency problem caused by single device upgrades was solved, achieving efficient and stable software kernel upgrades.
Patent Information
- Application Number
- CN202511309640.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-15
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2045-09-15
AI Technical Summary
In multi-node topology networks, existing technologies rely on a single device for software upgrades, resulting in lengthy upgrade cycles and upgrade interruptions due to insufficient device computing power or transmission link congestion.
By identifying target nodes, auxiliary nodes, and decompression nodes in the network, multiple decompression nodes process upgrade data in parallel, and auxiliary nodes coordinate data transmission. A node adaptability evaluation model is used to select the best auxiliary node, and data segments and verification identifiers are transmitted using the primary-side crosslink to ensure data integrity and security.
It significantly shortened data preparation time, avoided upgrade delays caused by insufficient performance of a single device, and improved the stability and efficiency of the upgrade process.
Smart Images

Figure CN120803500B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing, and in particular to a method and system for data processing via software kernel upgrade. Background Technology
[0002] In multi-node topology networks, such as distributed industrial control networks, smart grid terminal clusters, and smart city equipment networks, execution nodes can be industrial sensors, edge computing terminals, smart device controllers, etc. Software version upgrades are a key link to ensure system function iteration and safe and stable operation.
[0003] In existing technologies, upgrades are performed using additional dedicated equipment, independent of network nodes. This equipment needs to download the upgrade package from a cloud server or local database, decompress it, and then connect to the node to be upgraded via a physical interface or short-range wireless method such as Bluetooth to write the data. A single upgrade device needs to process the upgrade tasks of multiple nodes serially. When the number of nodes is large, the upgrade cycle is lengthy. At the same time, the acquisition, decompression, and transmission of upgrade data depend on the performance of a single device. If the upgrade package is large, the upgrade may be interrupted due to insufficient device computing power or transmission link congestion. Summary of the Invention
[0004] This application provides a software kernel upgrade data processing method and system to improve the above-mentioned problems.
[0005] To achieve the above objectives, this application adopts the following technical solution:
[0006] Firstly, this application proposes a software kernel upgrade data processing method, applicable to a software upgrade system. The software upgrade system includes a data source, a control terminal, and N execution nodes. The method is applicable to the control terminal and includes:
[0007] From N execution nodes, a first target node is determined, and based on the first target node, M first candidate auxiliary nodes are determined, wherein the first candidate auxiliary nodes are execution nodes that are directly connected to the first target node;
[0008] From M first candidate auxiliary nodes, one first auxiliary node is determined, and J first decompression nodes are determined based on the first auxiliary node. The first decompression node is an execution node that is directly connected to the first auxiliary node and is different from the first target node.
[0009] Control J first decompression nodes to obtain initial upgrade data from the data source and process the initial upgrade data into upgrade data;
[0010] The first auxiliary node is controlled to obtain upgrade data from J first decompression nodes, and the first target node is upgraded based on the upgrade data.
[0011] In conjunction with the first aspect, in some implementations, after controlling the first auxiliary node to obtain upgrade data from J first decompression nodes and upgrading the first target node based on the upgrade data, the process includes:
[0012] From N execution nodes, determine a second target node, and based on the second target node, determine M second candidate auxiliary nodes, where the first target node and the second target node are different execution nodes;
[0013] From the M second candidate auxiliary nodes, one second auxiliary node is determined, and J second decompression nodes are determined based on the second auxiliary node;
[0014] The system identifies the duplication between the first decompression node and the second decompression node, and controls the second decompression node, which does not duplicate the first decompression node, to obtain the initial upgrade data from the data source and process the initial upgrade data into upgrade data.
[0015] The second auxiliary node is controlled to obtain upgrade data from a total of J first decompression nodes and second decompression nodes, and upgrade the second target node based on the upgrade data.
[0016] In conjunction with the first aspect, in some implementations, a first auxiliary node is determined from M first candidate auxiliary nodes, and J first decompression nodes are determined based on the first auxiliary node. The first decompression node is an execution node that is directly connected to the first auxiliary node and is different from the first target node, including:
[0017] Obtain the communication response latency and data transmission packet loss rate between each first candidate auxiliary node and the first target node;
[0018] A node adaptability evaluation model is established based on communication response latency, data transmission packet loss rate, and the remaining computing power of the first alternative auxiliary node.
[0019] Based on the output of the node fitness evaluation model, the first candidate auxiliary node with the highest fitness is determined as the first auxiliary node. The fitness evaluation model satisfies the following:
[0020] Fit = α × (1 / Communication Response Delay) + β × (1 - Data Transmission Packet Loss Rate) + γ × Remaining Computing Power
[0021] Where α, β, and γ are weighting coefficients, and α+β+γ=1.
[0022] In conjunction with the first aspect, in some implementations, controlling J first decompression nodes to obtain initial upgrade data from the data source and processing the initial upgrade data into upgrade data includes:
[0023] Control J first decompression nodes to acquire the initial upgrade data in fragments, decompress the acquired data fragments and generate corresponding data segments, each data segment having a unique verification identifier;
[0024] The first auxiliary node is controlled to obtain upgrade data from J first decompression nodes, and the first target node is upgraded based on the upgrade data, including:
[0025] The first auxiliary node is controlled to acquire J data segments, and the J data segments are spliced and verified based on the verification identifier to generate upgrade data;
[0026] Control the first auxiliary node to send upgrade data to the first target node.
[0027] In conjunction with the first aspect, in some implementations, the first auxiliary node is controlled to acquire J data segments, and the J data segments are spliced and verified based on the verification identifier to generate upgrade data, including:
[0028] The first auxiliary node is controlled to acquire J data segments based on the main communication link;
[0029] The first auxiliary node is controlled to obtain J verification identifiers based on the side link.
[0030] In conjunction with the first aspect, in some implementations, J data segments are concatenated and verified based on a verification identifier to generate upgrade data, including:
[0031] The first auxiliary node controls the association and matching of the verification identifier with the data segment, and performs integrity verification on the corresponding data segment based on the integrity verification value contained in the verification identifier;
[0032] The first auxiliary node controls the data segments that have passed verification to be sorted according to a preset logic and perform preliminary splicing based on the sequence identification information in the verification identifier to form a temporary data chain.
[0033] The first auxiliary node is controlled to perform an overall verification of the temporary data link by verifying the global verification information in the verification identifier.
[0034] If there are data segments that fail verification or data chains that are incomplete, the first auxiliary node is controlled to re-request the missing or abnormal data segments and verification identifiers from the corresponding first decompression node.
[0035] In conjunction with the first aspect, in some implementations, controlling the first auxiliary node to obtain upgrade data from J first decompression nodes and upgrading the first target node based on the upgrade data includes:
[0036] The first auxiliary node is controlled to encrypt and transmit the upgrade data to the temporary storage area of the first target node;
[0037] The system controls the first target node to decrypt and input the upgrade data. The first target node includes a first kernel and a second kernel.
[0038] Instruct the second kernel in the first target node to control the first kernel to perform a trial run;
[0039] If the trial run meets the preset duration and there are no abnormalities, then control the second kernel of the first target node to enter the upgrade data and delete the data in the temporary storage area.
[0040] Secondly, this application proposes a software kernel upgrade data processing system, including a data source, a control terminal, and N execution nodes, which is configured as follows:
[0041] From N execution nodes, a first target node is determined, and based on the first target node, M first candidate auxiliary nodes are determined, wherein the first candidate auxiliary nodes are execution nodes that are directly connected to the first target node;
[0042] From M first candidate auxiliary nodes, one first auxiliary node is determined, and J first decompression nodes are determined based on the first auxiliary node. The first decompression node is an execution node that is directly connected to the first auxiliary node and is different from the first target node.
[0043] Control J first decompression nodes to obtain initial upgrade data from the data source and process the initial upgrade data into upgrade data;
[0044] The first auxiliary node is controlled to obtain upgrade data from J first decompression nodes, and the first target node is upgraded based on the upgrade data.
[0045] In conjunction with the second aspect, in some implementations, the system is configured as follows:
[0046] After controlling the first auxiliary node to obtain upgrade data from J first decompression nodes and upgrading the first target node based on the upgrade data, the process includes:
[0047] From N execution nodes, determine a second target node, and based on the second target node, determine M second candidate auxiliary nodes, where the first target node and the second target node are different execution nodes;
[0048] From the M second candidate auxiliary nodes, one second auxiliary node is determined, and J second decompression nodes are determined based on the second auxiliary node;
[0049] The system identifies the duplication between the first decompression node and the second decompression node, and controls the second decompression node, which does not duplicate the first decompression node, to obtain the initial upgrade data from the data source and process the initial upgrade data into upgrade data.
[0050] The second auxiliary node is controlled to obtain upgrade data from a total of J first decompression nodes and second decompression nodes, and upgrade the second target node based on the upgrade data.
[0051] In conjunction with the second aspect, in some implementations, the system is configured as follows:
[0052] From M candidate auxiliary nodes, one first auxiliary node is selected, and based on the first auxiliary node, J first decompression nodes are determined. Each first decompression node is an execution node directly connected to the first auxiliary node and different from the first target node, including:
[0053] Obtain the communication response latency and data transmission packet loss rate between each first candidate auxiliary node and the first target node;
[0054] A node adaptability evaluation model is established based on communication response latency, data transmission packet loss rate, and the remaining computing power of the first alternative auxiliary node.
[0055] Based on the output of the node fitness evaluation model, the first candidate auxiliary node with the highest fitness is determined as the first auxiliary node. The fitness evaluation model satisfies the following:
[0056] Fit = α × (1 / Communication Response Delay) + β × (1 - Data Transmission Packet Loss Rate) + γ × Remaining Computing Power
[0057] Where α, β, and γ are weighting coefficients, and α+β+γ=1.
[0058] In conjunction with the second aspect, in some implementations, the system is configured as follows:
[0059] Control J first decompression nodes to obtain initial upgrade data from the data source, and process the initial upgrade data into upgrade data, including:
[0060] Control J first decompression nodes to acquire the initial upgrade data in fragments, decompress the acquired data fragments and generate corresponding data segments, each data segment having a unique verification identifier;
[0061] The first auxiliary node is controlled to obtain upgrade data from J first decompression nodes, and the first target node is upgraded based on the upgrade data, including:
[0062] The first auxiliary node is controlled to acquire J data segments, and the J data segments are spliced and verified based on the verification identifier to generate upgrade data;
[0063] Control the first auxiliary node to send upgrade data to the first target node.
[0064] In conjunction with the second aspect, in some implementations, the system is configured as follows:
[0065] The first auxiliary node is controlled to acquire J data segments, and the J data segments are concatenated and verified based on the verification identifier to generate upgrade data, including:
[0066] The first auxiliary node is controlled to acquire J data segments based on the main communication link;
[0067] The first auxiliary node is controlled to obtain J verification identifiers based on the side link.
[0068] In conjunction with the second aspect, in some implementations, the system is configured as follows:
[0069] Based on the verification identifier, J data segments are concatenated and verified to generate upgrade data, including:
[0070] The first auxiliary node controls the association and matching of the verification identifier with the data segment, and performs integrity verification on the corresponding data segment based on the integrity verification value contained in the verification identifier;
[0071] The first auxiliary node controls the data segments that have passed verification to be sorted according to a preset logic and perform preliminary splicing based on the sequence identification information in the verification identifier to form a temporary data chain.
[0072] The first auxiliary node is controlled to perform an overall verification of the temporary data link by verifying the global verification information in the verification identifier.
[0073] If there are data segments that fail verification or data chains that are incomplete, the first auxiliary node is controlled to re-request the missing or abnormal data segments and verification identifiers from the corresponding first decompression node.
[0074] In conjunction with the second aspect, in some implementations, the system is configured as follows:
[0075] The first auxiliary node is controlled to obtain upgrade data from J first decompression nodes, and the first target node is upgraded based on the upgrade data, including:
[0076] The first auxiliary node is controlled to encrypt and transmit the upgrade data to the temporary storage area of the first target node;
[0077] The system controls the first target node to decrypt and input the upgrade data. The first target node includes a first kernel and a second kernel.
[0078] Instruct the second kernel in the first target node to control the first kernel to perform a trial run;
[0079] If the trial run meets the preset duration and there are no abnormalities, then control the second kernel of the first target node to enter the upgrade data and delete the data in the temporary storage area.
[0080] A third aspect of this invention provides an electronic device, which includes:
[0081] At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method proposed in the first aspect of the present invention.
[0082] A fourth aspect of the present invention provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the method as described in the first aspect of the present invention.
[0083] In summary, the above methods and systems have the following technical effects:
[0084] This application proposes a software kernel upgrade data processing method and system. First, a first target node is identified. Then, multiple first decompression nodes and a first auxiliary node for data forwarding are determined. The first target node is upgraded through the first auxiliary node. The decompression and data processing processes are performed by the multiple first decompression nodes, while the data forwarding process is performed by the first auxiliary node. Compared to traditional serial processing on a single device, this software kernel upgrade data processing method and system significantly shortens data preparation time and avoids upgrade delays caused by insufficient performance of a single device. Attached Figure Description
[0085] Figure 1 This is a flowchart illustrating a software kernel upgrade data processing method proposed in this application. Detailed Implementation
[0086] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0087] This application proposes a software kernel upgrade data processing method applicable to a software upgrade system. The software upgrade system includes a data source, a control terminal, and N execution nodes. In this application, the execution nodes can be industrial sensors, edge computing terminals, smart device controllers, etc., and are not limited thereto. The method is applicable to the control terminal; in some embodiments, the control terminal can also be one of the execution nodes, or a device independent of the execution nodes. Please refer to [link to relevant documentation]. Figure 1 The method includes the following steps:
[0088] S101: Determine a first target node from N execution nodes, and determine M first candidate auxiliary nodes based on the first target node, wherein the first candidate auxiliary nodes are execution nodes directly connected to the first target node.
[0089] Understandably, from all N execution nodes in the system, one node that needs a software kernel upgrade is selected, i.e., the first target node. Using the selected first target node as the center, all execution nodes directly connected to it are selected as the first candidate auxiliary nodes. It should be noted that a direct connection refers to a physical or logical direct communication link between the nodes, for example, a direct connection via a network cable or wireless signal without the need for other nodes to relay data, ensuring direct data transmission.
[0090] S102: Determine a first auxiliary node from M first candidate auxiliary nodes, and determine J first decompression nodes based on the first auxiliary node. The first decompression node is an execution node that is directly connected to the first auxiliary node and is different from the first target node.
[0091] Specifically, from the M first-selection auxiliary nodes previously screened, one node is chosen as the first auxiliary node. The first auxiliary node is used to undertake coordination and relay tasks.
[0092] As one implementation method, the first auxiliary node can be determined based on specific communication and operational conditions.
[0093] Specifically, the communication response latency and data transmission packet loss rate between each first candidate auxiliary node and the first target node can be obtained. Then, based on the communication response latency, data transmission packet loss rate and the remaining computing power of the first candidate auxiliary node, a node adaptability evaluation model is established. Finally, based on the output of the node adaptability evaluation model, the first candidate auxiliary node with the highest adaptability is determined as the first auxiliary node.
[0094] The quantification process can be achieved by combining communication response latency, data transmission packet loss rate, and remaining computing power with different weights. For example, fitness = α × (1 / communication response latency) + β × (1 - data transmission packet loss rate) + γ × remaining computing power
[0095] Here, α, β, and γ are weighting coefficients, and α + β + γ = 1. By adjusting the weighting coefficients (α, β, γ), the priority requirements of different scenarios can be adapted. For example, industrial control scenarios prioritize low latency, while large-scale data upgrade scenarios prioritize high computing power. In this way, different weights can be allocated according to actual needs.
[0096] Of course, other implementation methods may also exist, and these are not limited here. It is understood that by combining communication quality and processing power, the stability and efficiency of the upgrade process can be improved.
[0097] S103: Control J first decompression nodes to obtain initial upgrade data from the data source and process the initial upgrade data into upgrade data.
[0098] For example, J decompression nodes, following instructions from the control terminal, retrieve the original compressed upgrade data from a data source. The data source can be a location storing upgrade packages, such as a cloud server or a local database. The decompression nodes decompress the retrieved initial data, which may also include decryption, format conversion, and other processing steps, ultimately generating upgrade data that can be directly used for upgrading the target node. Having J nodes perform the retrieval and processing tasks simultaneously significantly improves data preparation efficiency compared to the traditional serial processing by a single device.
[0099] Optionally, J first decompression nodes can be controlled to acquire the initial upgrade data in fragments, decompress the acquired data fragments and generate corresponding data segments, each data segment having a unique verification identifier.
[0100] The control terminal instructs J first decompression nodes to divide the initial data into multiple sub-segments according to preset rules. Each of the J nodes acquires a different segment, and the preset rules can be based on data size, module function, etc. Multiple nodes operate in parallel, with each node responsible for one or more segments. Each decompression node performs decompression on its acquired data segment, generating a directly usable data segment; simultaneously, it assigns a unique verification identifier to each data segment. For example, this identifier may include: a segment sequence number (used for subsequent assembly of complete data); an integrity verification value (such as a hash value, used to verify whether the data segment has been tampered with or corrupted); and global association information (such as which upgrade package it belongs to, the total number of segments, etc.).
[0101] S104: Control the first auxiliary node to obtain upgrade data from J first decompression nodes, and upgrade the first target node based on the upgrade data.
[0102] Specifically, the first auxiliary node can be controlled to acquire J data segments, and the J data segments can be spliced and verified based on the verification identifier to generate upgrade data. Then, the first auxiliary node can be controlled to send the upgrade data to the first target node.
[0103] For example, the first auxiliary node associates and matches the verification identifier with the data segment, and performs integrity verification on the corresponding data segment based on the integrity verification value contained in the verification identifier. Then, according to the sequence identifier information in the verification identifier, the verified data segments are sorted according to a preset logic and preliminarily assembled to form a temporary data chain. Then, the first auxiliary node is controlled to perform a full verification on the temporary data chain using the global verification information in the verification identifier. Of course, in other embodiments, the verification process can also be performed by the control terminal. If there are data segments that fail verification or the data chain is incomplete, the first auxiliary node is controlled to re-request the missing or abnormal data segments and verification identifiers from the corresponding first decompression node, thus avoiding data loss.
[0104] Understandably, by verifying the double authentication of the identifier, it is ensured that the data obtained from the decompression node has not been damaged or tampered with during transmission and splicing, thus avoiding target node upgrade failure or system abnormality due to data errors.
[0105] In one implementation, the first auxiliary node can acquire J data segments based on the main communication link and J verification identifiers based on the side link.
[0106] Understandably, the main communication link refers to the primary communication channel between the first auxiliary node and the first decompression node used for transmitting core content. For example, it could be a conventional network protocol link or a high-bandwidth data transmission channel, specifically used to acquire J data segments. The side link refers to an auxiliary transmission channel independent of the main communication link. For example, it could be a dedicated control channel or a low-latency short-range link, specifically used to acquire the checksums corresponding to the J data segments. The main link focuses on transmitting large-capacity data segments, while the side link is responsible for transmitting small-sized checksums, avoiding bandwidth competition between the two on the same link and reducing data congestion. Simultaneously, transmitting the checksums through an independent link reduces the risk of simultaneous tampering with both data segments and checksums.
[0107] Understandably, the first target node is generally in open mode during the upgrade process, thus requiring an additional execution terminal to write upgrade data to it. Of course, in some other embodiments, the first target node can also execute the upgrade procedure itself. The specific upgrade method is not limited in this embodiment.
[0108] For example, in this embodiment, the first auxiliary node can encrypt and transmit the upgrade data to the temporary storage area of the first target node. The temporary storage area can be an independent memory partition, temporary disk space, etc., and is not limited here. The upgrade data is first encrypted and transmitted to the temporary storage area, rather than being directly written to the kernel running area of the target node, to ensure that the data will not affect the operation of the existing system before verification.
[0109] Then, the first target node decrypts and inputs the upgrade data. For example, the first target node may include a first kernel and a second kernel, and instruct the second kernel in the first target node to control the first kernel to perform a trial run.
[0110] Understandably, after the first kernel inputs the upgrade data, it enters a trial operation state, that is, it starts the new version of the kernel functions but does not directly bear the entire business load, so as to verify the upgrade effect in a controlled environment. Understandably, the first kernel can be controlled and monitored by the second kernel, which can intervene immediately when an anomaly occurs during the trial operation, limiting the impact of the fault to the first kernel. Simultaneously, if an anomaly occurs in the first kernel's trial operation, the second kernel can immediately take over control to prevent the entire target node from paralyzing. For example, when upgrading an industrial robot controller, the second kernel can maintain the basic motion control of the robotic arm, preventing equipment shutdown due to an anomaly in the first kernel.
[0111] If the trial run meets the preset duration and there are no abnormalities, then control the second kernel of the first target node to enter the upgrade data and delete the data in the temporary storage area.
[0112] Understandably, once the trial run is successful, the control terminal instructs the second kernel, which is the backup kernel that was previously running a stable older version, to also input the same upgrade data, thus unifying the versions of the two kernels. After both kernels have completed the upgrade data input, the temporarily stored encrypted / decrypted upgrade data in the temporary storage area is cleared, releasing storage space and eliminating the risk of data residue.
[0113] The same process can be used for the remaining nodes, and specifically, it may include the following steps:
[0114] S105: Determine a second target node from N execution nodes, and determine M second alternative auxiliary nodes based on the second target node, wherein the first target node and the second target node are different execution nodes.
[0115] Understandably, after the first target node is upgraded, another node requiring a software kernel upgrade (the second target node) can be selected from all N execution nodes in the system, and upgraded accordingly. Then, a third target node... and so on up to the Nth target node can be upgraded sequentially, ensuring that all nodes are upgraded completely.
[0116] S106: Determine a second auxiliary node from M second candidate auxiliary nodes, and determine J second decompression nodes based on the second auxiliary node.
[0117] This process can be referred to in step S102, and will not be repeated here.
[0118] S107: Obtain the duplication status between the first decompression node and the second decompression node, and control the second decompression node, which does not duplicate the first decompression node, to obtain the initial upgrade data from the data source and process the initial upgrade data into upgrade data.
[0119] Understandably, since these nodes have already obtained and processed the initial upgrade data from the data source when upgrading the first target node, there is no need to repeatedly obtain and process the data from the data source; the existing results can be reused directly. Reusing the processing results of the decompression nodes that have already participated in the upgrade avoids duplicate requests to the same data source.
[0120] S108: Control the second auxiliary node to obtain upgrade data from a total of J first decompression nodes and second decompression nodes, and upgrade the second target node based on the upgrade data.
[0121] Understandably, the source of upgrade data obtained by the second auxiliary node is not a single second decompression node, but rather the sum of the first and second decompression nodes. Here, "J in total" represents the total number of decompression nodes after merging the two groups, including both the first decompression nodes that served the first target node and the second decompression nodes added for the second target node.
[0122] Allowing the second auxiliary node to retrieve data from the first decompression node means fully utilizing the upgrade data already processed during the initial upgrade of the first target node, avoiding redundant processing and transmission. For example, if the first decompression node has already stored and processed a portion of the upgrade data, the second auxiliary node can retrieve it directly without needing to do so again, significantly reducing data processing time and network traffic.
[0123] This application proposes a software kernel upgrade data processing method. First, a first target node is identified. Then, multiple first decompression nodes and a first auxiliary node for data forwarding are determined. The first target node is upgraded through the first auxiliary node. The decompression and data processing are performed by the multiple first decompression nodes, while the data forwarding process is performed by the first auxiliary node. Compared to traditional serial processing on a single device, this software kernel upgrade data processing method significantly shortens data preparation time and avoids upgrade delays caused by insufficient performance of a single device.
[0124] Based on the same inventive concept, this application also proposes a software kernel upgrade data processing system, including a data source, a control terminal, and N execution nodes, which is configured as follows:
[0125] From N execution nodes, a first target node is determined, and based on the first target node, M first candidate auxiliary nodes are determined, wherein the first candidate auxiliary nodes are execution nodes that are directly connected to the first target node;
[0126] From M first candidate auxiliary nodes, one first auxiliary node is determined, and J first decompression nodes are determined based on the first auxiliary node. The first decompression node is an execution node that is directly connected to the first auxiliary node and is different from the first target node.
[0127] Control J first decompression nodes to obtain initial upgrade data from the data source and process the initial upgrade data into upgrade data;
[0128] The first auxiliary node is controlled to obtain upgrade data from J first decompression nodes, and the first target node is upgraded based on the upgrade data.
[0129] In some implementations, the system is configured as follows:
[0130] After controlling the first auxiliary node to obtain upgrade data from J first decompression nodes and upgrading the first target node based on the upgrade data, the process includes:
[0131] From N execution nodes, determine a second target node, and based on the second target node, determine M second candidate auxiliary nodes, where the first target node and the second target node are different execution nodes;
[0132] From the M second candidate auxiliary nodes, one second auxiliary node is determined, and J second decompression nodes are determined based on the second auxiliary node;
[0133] The system identifies the duplication between the first decompression node and the second decompression node, and controls the second decompression node, which does not duplicate the first decompression node, to obtain the initial upgrade data from the data source and process the initial upgrade data into upgrade data.
[0134] The second auxiliary node is controlled to obtain upgrade data from a total of J first decompression nodes and second decompression nodes, and upgrade the second target node based on the upgrade data.
[0135] In some implementations, the system is configured as follows:
[0136] From M candidate auxiliary nodes, one first auxiliary node is selected, and based on the first auxiliary node, J first decompression nodes are determined. Each first decompression node is an execution node directly connected to the first auxiliary node and different from the first target node, including:
[0137] Obtain the communication response latency and data transmission packet loss rate between each first candidate auxiliary node and the first target node;
[0138] A node adaptability evaluation model is established based on communication response latency, data transmission packet loss rate, and the remaining computing power of the first alternative auxiliary node.
[0139] Based on the output of the node fitness evaluation model, the first candidate auxiliary node with the highest fitness is determined as the first auxiliary node. The fitness evaluation model satisfies the following:
[0140] Fit = α × (1 / Communication Response Delay) + β × (1 - Data Transmission Packet Loss Rate) + γ × Remaining Computing Power
[0141] Where α, β, and γ are weighting coefficients, and α+β+γ=1.
[0142] In some implementations, the system is configured as follows:
[0143] Control J first decompression nodes to obtain initial upgrade data from the data source, and process the initial upgrade data into upgrade data, including:
[0144] Control J first decompression nodes to acquire the initial upgrade data in fragments, decompress the acquired data fragments and generate corresponding data segments, each data segment having a unique verification identifier;
[0145] The first auxiliary node is controlled to obtain upgrade data from J first decompression nodes, and the first target node is upgraded based on the upgrade data, including:
[0146] The first auxiliary node is controlled to acquire J data segments, and the J data segments are spliced and verified based on the verification identifier to generate upgrade data;
[0147] Control the first auxiliary node to send upgrade data to the first target node.
[0148] In some implementations, the system is configured as follows:
[0149] The first auxiliary node is controlled to acquire J data segments, and the J data segments are concatenated and verified based on the verification identifier to generate upgrade data, including:
[0150] The first auxiliary node is controlled to acquire J data segments based on the main communication link;
[0151] The first auxiliary node is controlled to obtain J verification identifiers based on the side link.
[0152] In some implementations, the system is configured as follows:
[0153] Based on the verification identifier, J data segments are concatenated and verified to generate upgrade data, including:
[0154] The first auxiliary node controls the association and matching of the verification identifier with the data segment, and performs integrity verification on the corresponding data segment based on the integrity verification value contained in the verification identifier;
[0155] The first auxiliary node controls the data segments that have passed verification to be sorted according to a preset logic and perform preliminary splicing based on the sequence identification information in the verification identifier to form a temporary data chain.
[0156] The first auxiliary node is controlled to perform an overall verification of the temporary data link by verifying the global verification information in the verification identifier.
[0157] If there are data segments that fail verification or data chains that are incomplete, the first auxiliary node is controlled to re-request the missing or abnormal data segments and verification identifiers from the corresponding first decompression node.
[0158] In some implementations, the system is configured as follows:
[0159] The first auxiliary node is controlled to obtain upgrade data from J first decompression nodes, and the first target node is upgraded based on the upgrade data, including:
[0160] The first auxiliary node is controlled to encrypt and transmit the upgrade data to the temporary storage area of the first target node;
[0161] The system controls the first target node to decrypt and input the upgrade data. The first target node includes a first kernel and a second kernel.
[0162] Instruct the second kernel in the first target node to control the first kernel to perform a trial run;
[0163] If the trial run meets the preset duration and there are no abnormalities, then control the second kernel of the first target node to enter the upgrade data and delete the data in the temporary storage area.
[0164] This application proposes a software kernel upgrade data processing system. First, a first target node is identified. Then, multiple first decompression nodes and a first auxiliary node for data forwarding are determined. The first target node is upgraded through the first auxiliary node. The decompression and data processing processes are performed by the multiple first decompression nodes, while the data forwarding process is performed by the first auxiliary node. Compared to traditional serial processing on a single device, this software kernel upgrade data processing system significantly shortens data preparation time and avoids upgrade delays caused by insufficient performance of a single device.
[0165] Based on the same inventive concept, embodiments of this application also propose an electronic device, which includes:
[0166] At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the software kernel upgrade data processing method of the embodiments of this application.
[0167] Furthermore, to achieve the above objectives, embodiments of this application also propose a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the software kernel upgrade data processing method of embodiments of this application.
[0168] The following is a detailed introduction to the various components of the electronic device:
[0169] In this context, the processor is the control center of the electronic device. It can be a single processor or a collective term for multiple processing elements. For example, a processor can be one or more central processing units (CPUs), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present invention, such as one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs).
[0170] Alternatively, the processor can perform various functions of the electronic device by running or executing software programs stored in memory and by calling data stored in memory.
[0171] The memory is used to store the software program that executes the solution of the present invention, and the execution is controlled by the processor. The specific implementation method can be referred to the above method embodiment, which will not be repeated here.
[0172] Optionally, the memory can be read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, random access memory (RAM) or other types of dynamic storage devices capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but not limited thereto. The memory can be integrated with the processor or exist independently and coupled to the processor through an interface circuit of an electronic device; the embodiments of the present invention do not specifically limit this.
[0173] A transceiver is used to communicate with network devices or with terminal devices.
[0174] Optionally, the transceiver may include a receiver and a transmitter. The receiver is used to implement the receiving function, and the transmitter is used to implement the sending function.
[0175] Optionally, the transceiver can be integrated with the processor or exist independently and coupled to the processor through the router's interface circuit. This embodiment of the invention does not specifically limit this.
[0176] Furthermore, the technical effects of the electronic device can be referred to the technical effects of the data transmission method in the above method embodiments, and will not be repeated here.
[0177] It should be understood that the processor in the embodiments of the present invention can be a central processing unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.
[0178] It should also be understood that the memory in the embodiments of the present invention can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of random access memory (RAM) are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous DRAM (DDRSDRAM), enhanced synchronous DRAM (ESDRAM), synchronous linked DRAM (SLDRAM), and direct rambus RAM (DRRAM).
[0179] The above embodiments can be implemented, in whole or in part, by software, hardware (such as circuits), firmware, or any other combination thereof. When implemented using software, the above embodiments can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions or computer programs. When the computer instructions or computer programs are loaded or executed on a computer, all or part of the flow or function according to the embodiments of the present invention is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. Computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., infrared, wireless, microwave, etc.) means. A computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more sets of available media. Available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media. Semiconductor media can be solid-state drives.
[0180] It should be understood that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. A and B can be singular or plural. Additionally, the character " / " in this article generally indicates an "or" relationship between the preceding and following related objects, but it can also represent an "and / or" relationship. Please refer to the context for a more accurate understanding.
[0181] In this invention, "at least one" means one or more, and "more than one" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of a single item or a plurality of items. For example, at least one of a, b, or c can represent: a, b, c, ab, ac, bc, or abc, where a, b, and c can be a single item or multiple items.
[0182] It should be understood that, in various embodiments of the present invention, the order of the above-mentioned process numbers does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0183] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.
Claims
1. A software kernel upgrade data processing method, characterized in that, The method is applicable to a software upgrade system, the software upgrade system including a data source, a control terminal, and N execution nodes, and includes: A first target node is determined from N execution nodes, and M first candidate auxiliary nodes are determined based on the first target node, wherein the first candidate auxiliary nodes are the execution nodes that are directly connected to the first target node; One first auxiliary node is determined from M first candidate auxiliary nodes, and J first decompression nodes are determined based on the first auxiliary node. The first decompression node is the execution node that is directly connected to the first auxiliary node and is different from the first target node. The communication response delay and data transmission packet loss rate between each first candidate auxiliary node and the first target node are obtained. A node adaptability evaluation model is established based on communication response latency, data transmission packet loss rate, and the remaining computing power of the first candidate auxiliary node. Based on the output of the node adaptability evaluation model, the first candidate auxiliary node with the highest adaptability is determined as the first auxiliary node; Control J first decompression nodes to obtain initial upgrade data from the data source, and process the initial upgrade data into upgrade data; The first auxiliary node is controlled to obtain upgrade data from J first decompression nodes, and the first target node is upgraded based on the upgrade data.
2. The software kernel upgrade data processing method according to claim 1, characterized in that, After controlling the first auxiliary node to obtain upgrade data from J first decompression nodes and upgrading the first target node based on the upgrade data, the process includes: A second target node is determined from N execution nodes, and M second candidate auxiliary nodes are determined based on the second target node, wherein the first target node and the second target node are different execution nodes; From the M second candidate auxiliary nodes, one second auxiliary node is determined, and based on the second auxiliary node, J second decompression nodes are determined; The system obtains the duplicate information between the first decompression node and the second decompression node, and controls the second decompression node that does not duplicate the first decompression node to obtain the initial upgrade data from the data source, and processes the initial upgrade data into upgrade data; The second auxiliary node is controlled to obtain upgrade data from J first decompression nodes and the second decompression node, and the second target node is upgraded based on the upgrade data.
3. The software kernel upgrade data processing method according to claim 1, characterized in that, Based on the output of the node adaptability evaluation model, the first candidate auxiliary node with the highest adaptability is determined as the first auxiliary node, wherein the adaptability evaluation model satisfies: Fit = α × (1 / Communication Response Delay) + β × (1 - Data Transmission Packet Loss Rate) + γ × Remaining Computing Power Where α, β, and γ are weighting coefficients, and α+β+γ=1.
4. The software kernel upgrade data processing method according to claim 1, characterized in that, Controlling J of the first decompression nodes to obtain initial upgrade data from the data source, and processing the initial upgrade data into upgrade data, including: The J first decompression nodes are controlled to split the initial upgrade data into multiple data fragments, and the obtained data fragments are decompressed to generate corresponding data segments. Each data segment has a unique verification identifier. Controlling the first auxiliary node to obtain upgrade data from J first decompression nodes, and upgrading the first target node based on the upgrade data, includes: The first auxiliary node is controlled to acquire J data segments, and the J data segments are spliced and verified based on the verification identifier to generate the upgrade data; Control the first auxiliary node to send the upgrade data to the first target node.
5. A software kernel upgrade data processing method according to claim 4, characterized in that, The first auxiliary node is controlled to acquire J data segments, and the J data segments are concatenated and verified based on the verification identifier to generate the upgrade data, including: The first auxiliary node is controlled to acquire J data segments based on the main communication link; The first auxiliary node is controlled to obtain J verification identifiers based on the side link.
6. The software kernel upgrade data processing method according to claim 5, characterized in that, Based on the verification identifier, the J data segments are concatenated and verified to generate the upgrade data, including: The first auxiliary node is controlled to associate and match the verification identifier with the data segment, and to perform integrity verification on the corresponding data segment based on the integrity verification value contained in the verification identifier; The first auxiliary node is controlled to sort the verified data segments according to a preset logic and perform preliminary splicing based on the sequence identification information in the verification identifier to form a temporary data chain. The first auxiliary node is controlled to perform an overall verification on the temporary data chain by verifying the global verification information in the verification identifier. If there is a data segment that fails verification or the data chain is incomplete, the first auxiliary node is controlled to re-request the missing or abnormal data segment and the verification identifier from the corresponding first decompression node.
7. The software kernel upgrade data processing method according to claim 1, characterized in that, Controlling the first auxiliary node to obtain upgrade data from J first decompression nodes, and upgrading the first target node based on the upgrade data, includes: The first auxiliary node is controlled to encrypt and transmit the upgrade data to the temporary storage area of the first target node; The system controls the first target node to decrypt and input the upgrade data, wherein the first target node includes a first kernel and a second kernel, and instructs the second kernel in the first target node to control the first kernel to perform a trial run; If the trial run meets the preset duration and there are no abnormalities, then the second kernel of the first target node is controlled to enter the upgrade data and delete the data in the temporary storage area.
8. An electronic device, characterized in that, include: At least one processor; And, a memory communicatively connected to at least one of the processors; The memory stores instructions executable by at least one of the processors, which are executed by at least one of the processors to enable the at least one of the processors to perform the method as claimed in any one of claims 1-7.
9. A computer-readable storage medium, characterized in that, It stores a computer program that, when executed by a processor, implements the method as claimed in any one of claims 1-7.
Citation Information
Patent Citations
Distributed storage operating system upgrading method and device, equipment and medium
CN115495131A
Software upgrading method and device for processing kernel, electronic equipment and storage medium
CN119248322A