Dynamic configuration method, device and system of data collector
By dynamically configuring the tasks and resources of edge nodes and quantifying the similarity and complementarity between nodes, adaptive task migration is achieved, solving the problem of low resource utilization caused by static configuration and improving the efficiency and stability of the system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-15
- Publication Date
- 2026-04-07
AI Technical Summary
In existing technologies, the static configuration strategy of industrial IoT edge nodes leads to low resource utilization efficiency, inability to adapt to dynamic load changes, and affects the real-time performance of data acquisition and system stability.
By acquiring task characteristics and resource status data of edge nodes, the system quantifies the task similarity and resource complementarity between nodes, dynamically constructs neighbor relationships, and intelligently decides on task migration, thereby achieving adaptive edge data collector configuration.
It improves the resource utilization and system stability of edge node clusters, enables autonomous task scheduling, adapts to load fluctuations, and enhances the overall efficiency and resilience of industrial IoT edge systems.
Smart Images

Figure CN121814768A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of edge computing technology, specifically to a dynamic configuration method, device, and system for a data acquisition device. Background Technology
[0002] In the field of Industrial Internet of Things (IIoT), edge computing architecture is often used to achieve real-time perception and intelligent response to production site data. This architecture decentralizes data acquisition and preliminary processing tasks to edge nodes deployed near the equipment. These edge nodes are directly connected to various sensors and are responsible for performing data acquisition, local preprocessing, and lightweight analysis. They constitute a key intermediate layer connecting the physical world and the cloud system, and their performance directly affects the real-time performance and reliability of the entire system.
[0003] Currently, edge nodes and their data acquisition devices in industrial scenarios typically employ a static configuration strategy. Their operating parameters, task allocation, and inter-node collaboration relationships are pre-set during system deployment and usually remain unchanged during operation. This static, predefined model makes it difficult for the entire edge system to adapt to the dynamic fluctuations in production workload and the uneven changes in resource status. This easily leads to low overall system resource utilization efficiency, and local performance bottlenecks become prominent when facing sudden loads, thus affecting the real-time performance of data acquisition and the stability of system operation. Summary of the Invention
[0004] To address the technical problems of uneven resource utilization, low overall efficiency, and unstable operation caused by the static and isolated configuration and operation of edge nodes in current industrial IoT scenarios, which prevent the system from adaptively scheduling tasks and allocating resources, the present invention aims to provide a dynamic configuration method, device, and system for data acquisition devices. The specific technical solution adopted is as follows: In a first aspect, the present invention provides a dynamic configuration method for a data collector, comprising: acquiring task feature data and resource status data of multiple edge nodes; wherein, the task feature data is used to characterize the attributes of the acquisition tasks executed by the edge nodes, and the resource status data is used to characterize the computing resource usage of the edge nodes; determining task similarity based on the task feature data of any two edge nodes, and determining resource complementarity based on the resource status data of the two edge nodes; determining bidirectional matching degree between the two edge nodes based on task similarity and resource complementarity, and determining a set of neighbor relationships between the edge nodes based on the bidirectional matching degree; determining a target node based on the resource status data of the node to be migrated, the resource status data of neighbor nodes in the set of neighbor relationships of the node to be migrated, and load stability; wherein, the node to be migrated is an edge node whose load status meets the migration conditions, and the target node is an edge node used to receive the task to be migrated; and migrating the task to be migrated from the edge node to be migrated to the target node for execution.
[0005] Secondly, the present invention provides a dynamic configuration system for a data collector, comprising: a data acquisition module, a matching degree calculation module, a neighbor node filtering module, a migration decision module, and a task migration module; the data acquisition module is used to acquire task feature data and resource status data of multiple edge nodes; wherein, the task feature data is used to characterize the attributes of the collection tasks executed by the edge nodes, and the resource status data is used to characterize the computing resource usage of the edge nodes; the matching degree calculation module is used to determine the task similarity based on the task feature data of any two edge nodes, and to determine the resource complementarity based on the resource status data of the two edge nodes; the neighbor node filtering module is used to determine the bidirectional matching degree between two edge nodes based on the task similarity and resource complementarity, and to determine the set of neighbor relationships between edge nodes based on the bidirectional matching degree; the migration decision module is used to determine the target node based on the resource status data of the node to be migrated, the resource status data of the neighbor nodes in the set of neighbor relationships of the node to be migrated, and the load stability; wherein, the node to be migrated is an edge node whose load status meets the migration conditions, and the target node is an edge node used to receive the task to be migrated; the task migration module is used to migrate the task to be migrated from the edge node to be migrated to the target node for execution.
[0006] Thirdly, the present invention provides a dynamic configuration device for a data acquisition device, comprising: a processor and a memory; wherein the memory is used to store one or more programs, the one or more programs including computer-executable instructions, and when the dynamic configuration device based on the data acquisition device is running, the processor executes the computer-executable instructions stored in the memory to cause the dynamic configuration device of the data acquisition device to perform the dynamic configuration method of the data acquisition device as described in the first aspect and any possible implementation thereof.
[0007] This invention offers the following advantages: By implementing a series of collaborative steps—distributed acquisition of node status, intelligent quantification of matching relationships between nodes, dynamic construction of a cooperative neighbor network, precise decision-making regarding migration targets, and reliable execution of task migration—a decentralized and adaptive dynamic configuration mechanism for edge data collectors is achieved. This method enables edge node clusters to autonomously and intelligently schedule and reallocate tasks based on real-time load and resource conditions, effectively overcoming the problems of uneven resource utilization and poor system resilience to load fluctuations caused by traditional static configuration. This significantly improves the overall efficiency, resilience, and operational stability of industrial IoT edge systems. Attached Figure Description
[0008] To more clearly illustrate the technical solutions and advantages in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0009] Figure 1 A schematic diagram of the architecture of a dynamic configuration system for a data acquisition device provided in one embodiment of the present invention; Figure 2 This is a flowchart illustrating a dynamic configuration method for a data acquisition device according to an embodiment of the present invention. Figure 3 This is a schematic diagram of the structure of a dynamic configuration device for a data acquisition device provided in one embodiment of the present invention. Detailed Implementation
[0010] To further illustrate the technical means and effects adopted by the present invention to achieve its intended purpose, the specific implementation methods, structures, features, and effects of the present invention will be described in detail below with reference to the accompanying drawings and preferred embodiments. In the following description, different "one embodiment" or "another embodiment" do not necessarily refer to the same embodiment. Furthermore, specific features, structures, or characteristics in one or more embodiments can be combined in any suitable form.
[0011] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains.
[0012] In all division and logarithmic operations involved in this invention, a smoothing mechanism is employed to prevent computer program crashes or invalid values from being generated due to a zero denominator or zero input. Specifically, a correction factor ε, which is a very small positive number, is superimposed on the denominator term of the division operation or the argument term of the logarithmic function, for example, a value of 10 to the power of negative 5, thereby ensuring the robustness and feasibility of the algorithm under extreme conditions.
[0013] The following description, in conjunction with the accompanying drawings, details a specific scheme for a dynamic configuration method, device, and system for a data acquisition device provided by the present invention.
[0014] For example, such as Figure 1 The diagram shown is an architectural schematic of a dynamic configuration system for a data collector (hereinafter referred to as the dynamic configuration system) according to an embodiment of the present invention. The dynamic configuration system 10 includes: a data acquisition module 11, a matching degree calculation module 12, a neighbor node filtering module 13, a migration decision module 14, and a task migration module 15. The modules are described below in sequence: (1) Data acquisition module 11.
[0015] The data acquisition module 11 is responsible for continuously collecting and maintaining two types of core status data from various edge nodes in the network, providing real-time and accurate input for subsequent node matching and migration decisions.
[0016] Optionally, the data acquisition module 11 is used to acquire task feature data and resource status data of multiple edge nodes. The task feature data characterizes the attributes of the acquisition tasks performed by the edge nodes, and the resource status data characterizes the computing resource usage of the edge nodes.
[0017] Specifically, the data acquisition module 11 can be implemented through a lightweight agent deployed on each edge node. This agent periodically (e.g., every 5 seconds) scans the local area, generating task characteristic data containing information such as task type and collection frequency, and monitors the utilization of computing resources such as processor, memory, and network bandwidth to generate resource status data. Subsequently, the agent broadcasts the encapsulated status data packets to other physically reachable edge nodes via a preset lightweight heartbeat protocol, while simultaneously receiving similar data packets from other nodes.
[0018] All node status data collected by the data acquisition module 11 is synchronized in real time to the matching degree calculation module 12 as the original basis for constructing the dynamic collaborative network.
[0019] (2) Matching degree calculation module 12.
[0020] The matching degree calculation module 12 is responsible for online analysis and calculation of the massive node status data provided by the data acquisition module 11. Its core is to quantitatively evaluate the similarity between any two edge nodes at the task level and the complementarity at the resource level, so as to provide accurate measurement indicators for whether nodes can establish an efficient collaborative relationship.
[0021] Optionally, the matching degree calculation module 12 is used to determine the task similarity based on the task feature data of any two edge nodes, and to determine the resource complementarity based on the resource status data of the two edge nodes.
[0022] For example, the matching degree calculation module 12 can be further divided into a similarity calculation submodule 121 and a complementarity calculation submodule 122 to handle two different types of relationship metrics, which will be described below: (2.1) Similarity calculation submodule 121.
[0023] Optionally, the similarity calculation submodule 121 is used to determine task similarity based on task feature data.
[0024] Specifically, the similarity calculation submodule 121 receives task feature data from two nodes of the data acquisition module 11. This data can essentially be quantized into multi-dimensional feature vectors. The similarity calculation submodule 121 uses a preset vector similarity algorithm (e.g., cosine similarity algorithm) for calculation. This algorithm calculates the cosine of the angle between the two task feature vectors and outputs a scalar value between 0 and 1. The closer this value is to 1, the more similar the data acquisition tasks performed by the two nodes are in terms of type, frequency, and other attributes, and the lower the adaptation cost when migrating tasks in the future.
[0025] The calculated task similarity will be passed to the complementarity calculation submodule 122 and the neighbor node filtering module 13.
[0026] (2.2) Complementarity calculation submodule 122.
[0027] Optionally, the complementarity calculation submodule 122 is used to determine the resource complementarity based on resource status data.
[0028] Specifically, the complementarity calculation submodule 122 receives resource status data from two nodes. First, it analyzes the resource status data of the first node to identify its highest resource utilization dimension, i.e., the first resource bottleneck dimension. Simultaneously, it analyzes the resource status data of the second node to identify its lowest resource utilization dimension, i.e., the first resource strength dimension. Then, the complementarity calculation submodule 122 executes core logic to determine: if the first resource bottleneck dimension and the first resource strength dimension belong to the same resource type (e.g., both are CPU), then the resource complementarity is determined based on the ratio of the second node's idle resource rate in the first resource strength dimension to the first node's resource utilization rate in the first resource bottleneck dimension. If they do not belong to the same resource type, then the resource complementarity is determined based on the ratio of the second node's idle resource rate in the first resource bottleneck dimension to the first node's resource utilization rate in the first resource bottleneck dimension. The larger the calculated complementarity value, the greater the potential of the second node to alleviate the resource bottleneck of the first node.
[0029] The calculated resource complementarity will be output to the neighbor node filtering module 13 along with the task similarity.
[0030] (3) Neighbor node filtering module 13.
[0031] The neighbor node filtering module 13 is responsible for automatically determining and establishing neighbor relationships between nodes based on the pair node evaluation results provided by the matching degree calculation module 12, forming a neighbor relationship topology that changes over time and reflects the current best collaborative potential.
[0032] Optionally, the neighbor node filtering module 13 is used to determine the bidirectional matching degree between two edge nodes based on task similarity and resource complementarity, and to determine the set of neighbor relationships between edge nodes based on the bidirectional matching degree.
[0033] Specifically, the neighbor node filtering module 13 first integrates the task similarity and resource complementarity from the matching degree calculation module 12. For any two nodes A and B, the neighbor node filtering module 13 multiplies the task similarity and resource complementarity of A to B to obtain the first one-way matching degree of A to B; similarly, it calculates the second one-way matching degree of B to A.
[0034] Next, the neighbor node filtering module 13 adds the two one-way matching scores to obtain the final two-way matching score. This score comprehensively reflects the overall potential for establishing a two-way collaborative relationship between nodes. The neighbor node filtering module 13 has a preset matching threshold. When the calculated two-way matching score is greater than this preset matching threshold, the module determines that the two nodes meet the basic conditions for establishing a neighbor relationship.
[0035] Based on this, the neighbor node filtering module 13 further checks whether the current number of neighbors for both nodes has not reached a preset maximum threshold. Only when both conditions are met simultaneously does the neighbor node filtering module 13 formally establish a neighbor relationship between the two nodes and instruct both nodes to add each other to their respective local neighbor lists. The local neighbor lists dynamically maintained by all nodes together constitute a global set of neighbor relationships. This set of neighbor relationships serves as the system's latest collaborative network view and is provided in real time to the migration decision module 14.
[0036] (4) Migration decision module 14.
[0037] When the migration decision module 14 detects that a node is overloaded, it intelligently selects the target node most suitable for receiving the migration task based on the real-time neighbor relationship set provided by the neighbor node filtering module 13 and through complex multi-dimensional evaluation. The decision-making process supports two modes: single-hop direct migration and multi-hop path migration.
[0038] Optionally, the migration decision module 14 is used to determine the target node based on the resource status data of the node to be migrated, the resource status data of neighboring nodes in the neighbor relationship set of the node to be migrated, and the load stability. The node to be migrated is an edge node whose load status meets the migration conditions, and the target node is an edge node used to receive the migration task.
[0039] For example, the migration decision module 14 may include a single-hop decision submodule 141 and a multi-hop decision submodule 142 to address different network collaboration scenarios, which will be described below: (4.1) Single-hop decision submodule 141.
[0040] Optionally, the single-hop decision submodule 141 is used to determine the target node among the direct neighbors of the node to be migrated.
[0041] Specifically, when a node is identified as a node to be migrated (e.g., its overall load pressure exceeds a threshold), the single-hop decision submodule 141 is activated. It first obtains the latest resource status data of the node to be migrated and all its direct neighbors (from the neighbor relationship set) from the data acquisition module 11. Based on this data, the single-hop decision submodule 141 calculates the load pressure difference between the node to be migrated and each neighbor node. Simultaneously, the single-hop decision submodule 141 analyzes the historical resource status data of each neighbor node within a preset time window, calculating the load volatility reflecting its load stability. Combining the remaining available resources of the neighbor nodes with their load volatility, the single-hop decision submodule 141 determines a node resilience value, which characterizes the node's ability to withstand additional task loads. Then, the single-hop decision submodule 141 multiplies the load pressure difference by the node resilience value to obtain a migration potential evaluation value for each neighbor node. Finally, the single-hop decision submodule 141 compares all migration potential evaluation values with a preset evaluation threshold and selects the node with the highest evaluation value from the neighbor nodes exceeding the threshold as the recommended target node. This result will be directly output to the task migration module 15.
[0042] (4.2) Multi-hop decision submodule 142.
[0043] Optionally, the multi-hop decision submodule 142 is used to determine the target node by searching a multi-hop path when the single-hop decision submodule 141 fails to find a suitable target node.
[0044] Specifically, when the single-hop decision submodule 141 reports that there are no direct neighbors with migration potential evaluation values exceeding a preset evaluation threshold, the multi-hop decision submodule 142 is activated. Starting from the node to be migrated, the multi-hop decision submodule 142 performs a finite-depth search (e.g., a maximum of 4 hops) within the network composed of neighbor relationships to find distant candidate nodes whose migration potential evaluation values exceed the preset evaluation threshold. For each possible path to each candidate node, the multi-hop decision submodule 142 evaluates the reliability of the path: it comprehensively calculates the migration potential evaluation value of each hop on the path and the stability weight of intermediate nodes, and obtains the overall reliability of the path through multiplication and normalization. The multi-hop decision submodule 142 compares the overall reliability of all paths with a preset reliability threshold, filters out reliable paths, and selects the path with the highest overall reliability as the optimal migration path. The endpoint of this optimal migration path is determined as the final target node. This decision result is also submitted to the task migration module 15 for execution.
[0045] (5) Task migration module 15.
[0046] The task migration module 15 is responsible for receiving instructions from the migration decision module 14, transferring specific tasks and their context environment on the node to be migrated to the target node, and completing the handover and state synchronization of tasks to ensure business continuity.
[0047] Optionally, the task migration module 15 is used to migrate the tasks to be migrated from the edge nodes to the target nodes for execution.
[0048] Specifically, after receiving a migration instruction containing the target node identifier, the task migration module 15 first operates locally on the node to be migrated: from all currently executing data acquisition tasks, it filters out a set of tasks that meet the conditions according to preset rules (such as non-critical and interruptible), and sorts the set according to preset priority rules. Subsequently, the task migration module 15 calculates the subset of tasks that can be migrated this time (i.e., the set of tasks to be migrated in the current batch) from the sorted task list based on the real-time remaining load capacity of the target node obtained from the data acquisition module 11.
[0049] Subsequently, the task migration module 15 establishes a temporary, reliable data transmission channel between the node to be migrated and the target node. Through this channel, the task migration module 15 packages and synchronizes the complete task configuration information, necessary preprocessing data, and execution context state corresponding to the current batch of migrated tasks to the target node. After successfully receiving, verifying, and loading the tasks, the target node returns a migration confirmation message to the node to be migrated. Upon receiving this confirmation, the task migration module 15 on the node to be migrated safely terminates the local execution of the migrated task set, thus completing the entire dynamic configuration process.
[0050] The above describes the dynamic configuration system 10 of the data acquisition device and its included modules.
[0051] For example, such as Figure 2 The diagram shown is a flowchart illustrating a dynamic configuration method for a data acquisition device according to an embodiment of the present invention, comprising the following steps: S201. Obtain task feature data and resource status data from multiple edge nodes. The task feature data characterizes the attributes of the acquisition tasks executed by the edge nodes, while the resource status data characterizes the computing resource usage of the edge nodes.
[0052] In this invention, the data acquisition unit, as the core functional unit for realizing edge intelligence, does not have its operating logic and working parameters (i.e., "configuration") set in isolation. Instead, they are integrated and managed by the edge nodes it is deployed on. The edge nodes, as intelligent devices deployed at industrial site monitoring points, serve as the physical carriers and intelligent control centers of the data acquisition unit. Therefore, the dynamic configuration of the data acquisition unit is essentially achieved through the collaborative scheduling and task reallocation of the edge nodes. This step involves sensing the real-time working status (task characteristics and resource status) of each edge node to provide global situational awareness for subsequent dynamic collaborative decision-making.
[0053] For example, this step can be performed by the data acquisition module 11 in the dynamic configuration system 10 described above.
[0054] Specifically, the data acquisition module 11 uses lightweight agents deployed on each edge node to periodically collect and exchange status data. Each agent scans its local operating environment at a preset interval (e.g., every 5 seconds), generating task characteristic data containing information such as task type, data collection frequency, and priority, and monitoring metrics such as processor utilization, memory usage, and network bandwidth utilization to generate resource status data. Then, the agent broadcasts the encapsulated status data packets to other physically reachable edge nodes via a lightweight heartbeat protocol based on underlying network protocols (e.g., UDP broadcast), and simultaneously receives similar data packets from other nodes.
[0055] Thus, the data acquisition module 11, through this distributed and decentralized approach, aggregates and maintains real-time status snapshots of all nodes in the entire edge cluster, providing a unified and accurate data foundation for subsequent intelligent matching and decision-making.
[0056] S202. Determine the task similarity based on the task feature data of any two edge nodes, and determine the resource complementarity based on the resource status data of the two edge nodes.
[0057] For example, this step can be performed by the matching degree calculation module 12 in the dynamic configuration system 10 described above. Specifically, the matching degree calculation module 12 receives node status data from the data acquisition module 11. For any pair of edge nodes, the matching degree calculation module 12 first parses and quantifies their task feature data, and calculates a task similarity between 0 and 1 using a preset vector similarity measurement method. The larger the value, the more similar the task attributes of the two nodes are. At the same time, the matching degree calculation module 12 deeply analyzes the resource status data of the two nodes: it identifies the "weakness" dimension with the highest resource utilization of one party and the "strength" dimension with the lowest resource utilization of the other party, and quantifies the potential for one party to alleviate the resource burden of the other party by calculating a specific ratio, thereby obtaining the resource complementarity. The matching degree calculation module 12 performs the above calculations in parallel on a large number of node pairs in the cluster, quickly producing core metrics that reflect the collaborative potential between nodes. It should be noted that the specific process of the above steps is described in S301-S304 below, and will not be repeated here.
[0058] In another possible implementation, when determining the task similarity based on the task feature data of any two edge nodes, the matching degree calculation module 12 can also abstract the task features into a set of keyword tags, and define the task similarity by calculating the Jaccard similarity coefficient of the task tag sets of the two nodes or the statistical correlation based on the co-occurrence matrix. This is particularly suitable for scenarios where there are diverse task types but sparse feature vectors.
[0059] In another possible implementation, when determining the resource complementarity based on the resource status data of two edge nodes, the matching degree calculation module 12 can also regard the resource status of the node as a point in a multi-dimensional space. It not only considers the correspondence between "weaknesses and strengths", but also comprehensively calculates the Euclidean distance and the cosine value of the included angle between the resource vectors of the two nodes, thereby defining a more comprehensive resource fit degree to capture more complex resource dependency patterns.
[0060] Therefore, the matching degree calculation module 12 transforms the original state data into quantitative indicators that can accurately evaluate the matching relationship between nodes at the task level and resource level, namely task similarity and resource complementarity, providing a key basis for building a dynamic collaborative network.
[0061] S203. Determine the bidirectional matching degree between two edge nodes based on task similarity and resource complementarity, and determine the set of neighbor relationships between edge nodes based on the bidirectional matching degree.
[0062] For example, this step can be performed by the neighbor node filtering module 13 in the dynamic configuration system 10 described above, specifically including: the neighbor filtering module 13 receiving the task similarity and resource complementarity of paired nodes from the matching degree calculation module 12. For each pair of nodes, the neighbor filtering module 13 first multiplies the task similarity and resource complementarity to obtain the one-way matching degree from one node to another. Then, it calculates the sum of the two one-way matching degrees from each node to the other, as the final two-way matching degree, which comprehensively represents the overall potential for establishing a two-way collaborative relationship. The neighbor filtering module 13 has a preset matching threshold. For each pair of nodes, if its two-way matching degree is greater than the preset matching threshold, and the current number of neighbors of both nodes has not reached a preset maximum number limit, the neighbor filtering module 13 determines that the two nodes are suitable to establish a neighbor relationship and drives both nodes to add each other to the locally maintained neighbor list. By periodically executing this process, the neighbor filtering module 13 dynamically generates and maintains a global neighbor relationship set that reflects the current best collaborative relationship. It should be noted that the specific procedures for the aforementioned steps are described in S401-S405 below, and will not be repeated here.
[0063] In another possible implementation, the neighbor node filtering module 13 can also use a weighted geometric mean method when determining the bidirectional matching degree between two edge nodes based on task similarity and resource complementarity. This method assigns adjustable weight coefficients to task similarity and resource complementarity, and then calculates the weighted geometric mean of the two unidirectional matching degrees as the bidirectional matching degree, allowing the system to focus on different needs of task collaboration or resource complementarity according to the actual scenario.
[0064] In another possible implementation, when determining the set of neighbor relationships between edge nodes based on bidirectional matching degree, the neighbor node filtering module 13 can also introduce a selection mechanism based on local competition. This mechanism not only requires that the bidirectional matching degree exceeds a threshold, but also requires that a node rank among the top N in terms of matching degree with the target node among all its reachable nodes. This allows for prioritizing the establishment of strong connections with the few most matching nodes under limited resources, thereby optimizing the quality of the neighbor list.
[0065] Therefore, based on the quantified matching relationship, the neighbor node screening module 13 automatically and in a distributed manner constructs a dynamically changing neighbor network topology. This neighbor network topology adapts and evolves with the node tasks and resource status, providing a basis for subsequent task migration.
[0066] S204. Based on the resource status data of the node to be migrated, the resource status data of neighboring nodes in the neighbor relationship set of the node to be migrated, and the load stability, determine the target node. The node to be migrated is an edge node whose load status meets the migration conditions, and the target node is an edge node used to receive the migration task.
[0067] For example, this step can be performed by the migration decision module 14 in the dynamic configuration system 10 described above. Specifically, it includes: when the system detects that the overall load pressure of a node exceeds a threshold and it is marked as a node to be migrated, the migration decision module 14 is activated. First, it obtains the latest resource status data of the node to be migrated and all its neighboring nodes in the neighbor relationship set. Based on this data, the migration decision module 14 calculates the load pressure difference between the node to be migrated and each neighboring node, and analyzes the load fluctuation of each neighboring node in the recent time window to evaluate its stability. Combining the remaining resources of the neighboring nodes, the migration decision module 14 calculates the node elasticity value, which characterizes its ability to accept additional tasks. Subsequently, the migration decision module 14 multiplies the load pressure difference by the node elasticity value to obtain the migration potential evaluation value for each neighboring node. It sets an evaluation threshold and selects the node with the highest evaluation value from all neighboring nodes that exceed the threshold as the recommended target node. If no suitable target is found among the direct neighbors, the migration decision module 14 will initiate a multi-hop path search process to find reliable target nodes and migration paths in a wider range. It should be noted that the specific procedures for the aforementioned steps are described in S501-S508 below, and will not be repeated here.
[0068] In another possible implementation, when determining the target node, the migration decision module 14 can also consider not only the stress relief effect and node elasticity when calculating the migration potential evaluation value, but also the estimated data transmission volume and configuration synchronization time required for the task migration as a negative factor in the calculation, so as to select the target node with the best net benefit (stress relief - migration cost), which is suitable for scenarios with limited network bandwidth.
[0069] Alternatively, in another possible implementation, the migration decision module 14 can also use the node state and neighbor relationship as the environment state, and the selection of which neighbor as the migration target as the action. The migration effect accumulated over a long period of time (such as improved load balancing and delayed task completion) can be used as a reward to train a decision model, thereby achieving a more complex and longer-term optimization goal.
[0070] Therefore, based on real-time, multi-dimensional node status and network topology information, the migration decision module 14 accurately locates the most suitable task receiver for overloaded nodes through a rigorous evaluation model.
[0071] S205. Migrate the tasks to be migrated from the edge nodes to the target nodes for execution.
[0072] For example, this step can be performed by the task migration module 15 in the dynamic configuration system 10 described above, and specifically includes the following steps: (1) Select tasks that meet the preset migration conditions from the current tasks of the node to be migrated, and sort the selected tasks according to the preset priority rules.
[0073] Specifically, the task migration module 15 operates locally on the node to be migrated. First, it iterates through all currently executing data acquisition tasks and filters them according to preset rules (e.g., marked as non-critical, allowed to be interrupted, or the current acquisition cycle has been completed) to select a pool of tasks that can be migrated. After that, the task migration module 15 sorts the task pool in ascending order according to the preset priority of the tasks (e.g., tasks with lower data real-time requirements have lower priority) to ensure that tasks with the least impact on system real-time performance are migrated first.
[0074] (2) Based on the remaining load capacity of the target node, determine the set of tasks to be migrated in the current batch from the sorted tasks.
[0075] In this step, the task migration module 15, based on the real-time resource status of the target node obtained from the data acquisition module 11, assesses its remaining available load. Then, starting from the head (low priority end) of the sorted list of migrateable tasks, the task migration module 15 sequentially calculates the estimated resource consumption of each task until the accumulated value approaches but does not exceed the remaining load capacity of the target node. This determines the subset of tasks that can actually be migrated in this batch, i.e., the set of tasks to be migrated in the current batch. This method ensures that the migration does not cause the target node to become overloaded.
[0076] (3) Transfer the task configuration and execution context data corresponding to the current batch of migrated tasks to the target node.
[0077] Furthermore, the task migration module 15 establishes a point-to-point temporary reliable transmission channel between the node to be migrated and the target node, such as a connection based on the Transmission Control Protocol (TCP). Through this channel, the task migration module 15 packages and synchronously sends the complete configuration information (including task type, sensor interface parameters, sampling frequency, etc.), necessary preprocessed data buffer contents, and the current execution state context of the task set to be migrated in the current batch to the target node. The corresponding module on the target node receives, parses, and verifies the information.
[0078] (4) After receiving the migration confirmation information returned by the target node, the node to be migrated terminates the execution of the current batch of migration tasks.
[0079] Finally, after successfully loading and starting the migration task, the target node returns a migration confirmation message to the node to be migrated. Upon receiving this confirmation, the task migration module 15 of the node to be migrated safely stops the execution of the migrated task set locally, releases related resources, and updates the local task list. At this point, a complete task migration operation is completed, and the load has been successfully redistributed.
[0080] Based on the above technical solution, this invention achieves a decentralized, adaptive dynamic configuration mechanism for edge data collectors through a series of collaborative steps, including distributed acquisition of node status, intelligent quantification of matching relationships between nodes, dynamic construction of a cooperative neighbor network, precise decision-making on migration targets, and reliable execution of task migration. This method enables edge node clusters to autonomously and intelligently schedule and reallocate tasks based on real-time load and resource conditions, effectively overcoming the problems of uneven resource utilization and poor system response to load fluctuations caused by traditional static configuration. This significantly improves the overall efficiency, resilience, and operational stability of industrial IoT edge systems.
[0081] For example, in another dynamic configuration method for a data collector provided in one embodiment of the present invention, the task similarity is determined based on the task feature data of any two edge nodes, and the resource complementarity is determined based on the resource status data of the two edge nodes. Specifically, the method includes the following steps: S301. Determine the task similarity based on the task feature data of any two edge nodes.
[0082] Optionally, this step can be performed by the similarity calculation submodule 121 in the matching degree calculation module 12.
[0083] Specifically, the similarity calculation submodule 121 receives task feature data from two edge nodes (denoted as node A and node B) from the data acquisition module 11. This data is typically quantized into a multi-dimensional task feature vector, for example... and Each dimension represents a quantified value of a task attribute (such as whether it is a temperature acquisition task, sampling frequency level, data priority, etc.), and the values of each dimension have been mapped to a unified numerical range through preset rules, or can be directly used for cosine similarity calculation because they are relative values of the same type. The similarity calculation submodule 121 uses the cosine similarity algorithm to calculate the cosine value of the angle between two vectors, which is used as the task similarity. The specific calculation formula is as follows: in, This represents the task similarity between edge node A and edge node B; , These represent the task feature vectors of edge node A and edge node B, respectively.
[0084] Understandably, the above formula calculates the ratio of the dot product of two vectors to the product of their respective magnitudes. The ratio... The value ranges from [0,1]. The closer the value is to 1, the more consistent the direction of the task feature vectors of the two nodes are, that is, the more similar their collection tasks are in terms of type, frequency and other attributes; the closer the value is to 0, the greater the difference in tasks.
[0085] S302. Identify the first resource weakness dimension of the first edge node and the first resource strength dimension of the second edge node. The first resource weakness dimension is the dimension with the highest resource utilization rate in the resource status data of the first edge node, and the first resource strength dimension is the dimension with the lowest resource utilization rate in the resource status data of the second edge node.
[0086] Optionally, this step can be performed by the complementarity calculation submodule 122 in the matching degree calculation module 12.
[0087] Specifically, the complementarity calculation submodule 122 receives resource status data from node A and node B. This data is typically represented as a resource status vector, for example... and The value 'r' for each dimension represents the current utilization rate of the corresponding resource (such as CPU, memory, bandwidth) (typically ranging from [0,1]). Then, the complementarity calculation submodule 122 performs the following operations: (1) Identify the first resource bottleneck dimension of node A: Traverse the resource state vector of node A Find the dimension with the highest resource utilization rate among all dimensions. For example, =0.9, =0.6, If the value is 0.3, then the CPU dimension is identified as the first resource bottleneck dimension of node A. Its usage rate is recorded as =0.9.
[0088] (2) Identify the first resource strength dimension of node B: Traverse the resource state vector of node B Find the dimension with the lowest resource utilization rate among all dimensions. For example, if =0.4, =0.2, If the value is 0.7, then the memory dimension is identified as the primary resource strength dimension of node B. Its idle rate is denoted as =1−0.2=0.8.
[0089] S303. If the first resource weakness dimension and the first resource strength dimension belong to the same resource type, then the resource complementarity of the second edge node to the first edge node is determined based on the idle resource rate of the second edge node in the first resource strength dimension and the resource utilization rate of the first edge node in the first resource weakness dimension.
[0090] In this step, after completing the identification of S302, the complementarity calculation submodule 122 first determines the first resource weakness dimension of edge node A. (For example, CPU) and the first resource strength dimension of edge node B (For example, CPU) Whether they belong to the same resource type.
[0091] If they belong to the same type, it means that node B can compensate for node A's "bottleneck" in terms of its "surplus" resource type. If the complementarity is not zero, the complementarity calculation submodule 122 calculates the resource complementarity using the following formula. : in, This represents the resource complementarity between edge node B and edge node A. It can be understood that the formula measures the ratio of node B's "supply capacity" (idleness rate) to node A's "demand intensity" (utilization rate). The larger the value (the more "desire" node A has for this resource), The larger the value (the more "surplus" the resource is in node B), the higher the calculated value. The larger the value, the stronger the resource complementarity of node B to node A.
[0092] It should be pointed out that, if =0 indicates that the first edge node has no resource usage needs in the first resource bottleneck dimension and there is no resource bottleneck. Therefore, the idle resources of the second edge node in this resource dimension do not have the need to complement each other. At this time, the default resource complementarity is 0.
[0093] S304. If the first resource weakness dimension and the first resource strength dimension do not belong to the same resource type, then the resource complementarity of the second edge node to the first edge node is determined based on the idle resource rate of the second edge node in the first resource weakness dimension and the resource utilization rate of the first edge node in the first resource weakness dimension.
[0094] Furthermore, the complementarity calculation submodule 122 determines the first resource bottleneck dimension of the edge node A of node A. (For example, CPU) and the first resource strength dimension of edge node B If (e.g., CPU) do not belong to the same resource type, it means that the strongest "surplus item" of node B is not the most urgently needed "bottleneck item" of node A.
[0095] At this point, the complementarity calculation submodule 122 then evaluates the performance of node B on the weakness dimension of node A. Specifically, it obtains the performance of node B on the weakness dimension of node A. Resource utilization rate in dimensions And calculate its idle resource rate in this dimension. Then, the resource complementarity is calculated using the following formula: in, This represents the resource complementarity between edge node B and edge node A. This represents the resource utilization rate of edge node B in the first resource bottleneck dimension of edge node A. It should be noted that the formula directly evaluates whether edge node B can help with the bottleneck resources of edge node A. Even if edge node B's strongest "surplus" does not match, as long as it has some idle resources in the bottleneck dimension of edge node A, that is... A ratio greater than 0 still indicates a certain degree of complementary potential. The higher the ratio, the greater the complementary potential. This calculation logic ensures that the complementarity assessment is always closely aligned with the most pressing resource needs of edge node A. It should be noted that if... =0, then the default resource complementarity is 0, which is consistent with the processing method in S303, and conforms to the physical meaning that there is no complementarity if there is no demand.
[0096] Based on the above technical solution, this invention provides a precise and calculable metric for evaluating the collaborative potential between any two edge nodes by quantifying task similarity and innovatively calculating resource complementarity based on a "resource weakness-strength" matching mechanism. This method not only considers task-level adaptability but also delves into the dynamic complementary relationships at the resource level, laying a core evaluation foundation for subsequently constructing high-quality, high-efficiency dynamic neighbor relationships.
[0097] For example, in another dynamic configuration method for a data collector provided in one embodiment of the present invention, the bidirectional matching degree between two edge nodes is determined based on task similarity and resource complementarity, and the set of neighbor relationships between edge nodes is determined based on the bidirectional matching degree. Specifically, this includes the following steps: S401. Based on task similarity and resource complementarity, determine the first one-way matching degree between the first edge node and the second edge node.
[0098] In this step, the neighbor edge node filtering module 13 obtains the task similarity between edge node A and edge node B calculated by the matching degree calculation module 12. and resource complementarity To quantify the willingness and potential of edge node A to initiate collaboration with edge node B, the neighbor filtering module 13 multiplies these two metrics to obtain the first one-way matching degree. The specific calculation formula is as follows: in, This represents the first one-way matching degree between the first edge node (A) and the second edge node (B). It can be understood that the formula integrates task-level adaptability (similarity) with resource-level supply and demand (complementarity). Through multiplication, a high one-way matching degree is required when both factors have high values, reflecting that collaborative migration needs to simultaneously satisfy the dual conditions of "task portability" and "resource acceptability." The larger the value, the greater the overall potential of the migration task to edge node B from the perspective of edge node A.
[0099] S402. Based on task similarity and resource complementarity, determine the second one-way matching degree of the second edge node to the first edge node.
[0100] Furthermore, the neighbor selection module 13 employs logic completely symmetrical to S401 to calculate the collaborative potential of edge node B with edge node A. Specifically, the neighbor selection module 13 obtains task similarity. (According to the definition, = and resource complementarity (Evaluate the complementarity of edge node A to edge node B according to the logical calculations defined in S303 or S304), and then multiply the two to obtain the second one-way matching degree. The specific calculation formula is as follows: in, This represents the second one-way matching degree of the second edge node (B) to the first edge node (A). It can be understood that this formula calculates and evaluates the reverse cooperative potential. It ensures that the establishment of neighbor relationships is based on bidirectional, peer-to-peer evaluation, rather than one-way dependency, which helps to form stable, mutually beneficial cooperative pairs.
[0101] S403. Determine the bidirectional matching degree between the two edge nodes based on the first unidirectional matching degree and the second unidirectional matching degree.
[0102] Furthermore, after obtaining the two one-way matching degrees, the neighbor edge node screening module 13 adds them together to obtain the final index characterizing the overall collaborative potential between edge node A and edge node B—the two-way matching degree. By summing the results, the synergistic potential in both the A→B and B→A directions was integrated. A high... The value signifies that edge nodes A and B can provide effective assistance not only when one is overloaded, but also when the other is overloaded, indicating a solid foundation for establishing a stable, two-way mutually beneficial neighbor relationship. This value is a non-negative real number; a larger value indicates a higher expected overall benefit from establishing the neighbor relationship.
[0103] S404. If the bidirectional matching degree is greater than the preset matching threshold, then it is determined that the two edge nodes have the conditions to establish a neighbor relationship.
[0104] Specifically, the neighbor edge node filtering module 13 has a preset matching threshold. This threshold is used to calculate the bidirectional matching degree. For each pair of edge nodes, the neighbor filtering module 13 compares it with a preset matching threshold. If If the potential for collaboration between edge node A and edge node B is greater than the preset matching threshold, it is preliminarily determined that the potential for collaboration between them is sufficiently high, and from a matching perspective, they meet the conditions for establishing a neighbor relationship. It should be noted that this is a necessary filtering condition used to eliminate edge node pairs with low collaboration potential, avoiding the introduction of inefficient or invalid connections into the neighbor list, thereby ensuring the efficiency and success rate of subsequent task migrations.
[0105] For example, a preset matching threshold value of 0.7 is used. The threshold value is determined based on the system's trade-off between neighbor relationship quality and network connectivity sparsity. A higher threshold (e.g., >0.8) results in very strict neighbor relationship establishment criteria, leading to fewer neighbors for each edge node, a sparse network, and potentially affecting the flexibility and coverage of collaboration. A lower threshold (e.g., <0.5) will include more edge nodes with average matching as neighbors, increasing neighbor maintenance overhead and potentially introducing more interfering options during migration decisions. Typically, this threshold can be calibrated through offline simulation, historical operational data statistics, or based on the specific requirements for collaboration tightness in industrial scenarios, with the aim of maintaining adequate network connectivity while ensuring neighbor connection quality.
[0106] S405. If and only if the number of current neighbors of both edge nodes has not reached the preset threshold, establish a neighbor relationship between the two edge nodes and add the neighbor relationship to the local neighbor list of each edge node; the local neighbor lists of all edge nodes together constitute a neighbor relationship set.
[0107] In this step, the execution logic of the neighbor edge node filtering module 13 is as follows: Even if a pair of edge nodes (A and B) satisfy the matching degree condition in S404, the neighbor filtering module 13 will still query the number of neighbors currently owned by edge node A and edge node B respectively. The system presets a preset number threshold (denoted as N). The neighbor filtering module 13 will finally perform the establishment operation if and only if the current number of neighbors of edge node A is less than N and the current number of neighbors of edge node B is less than N. This operation includes: 1) Add an identifier for edge node B to the local neighbor list of edge node A; 2) Add an identifier for edge node A to the local neighbor list of edge node B.
[0108] Furthermore, through this distributed approach, each edge node independently maintains its own neighbor list. The union of the local neighbor lists of all edge nodes in the entire system constitutes a global, dynamically changing set of neighbor relationships. This set defines the range of candidate objects that each edge node can directly negotiate for task migration at any given time.
[0109] For example, an exemplary value for the aforementioned preset threshold N is 6. This threshold is primarily set to prevent the neighbor list of a single edge node from growing indefinitely, thereby controlling heartbeat communication overhead, state synchronization overhead, and computational complexity during migration decisions. It is determined based on factors such as average network connectivity, edge node processing capacity, and communication bandwidth. Limiting the number of neighbors helps maintain the cooperative network in an efficient small-world network state, ensuring necessary connectivity while avoiding the high maintenance costs associated with full connectivity.
[0110] Based on the above technical solution, this embodiment of the invention first quantifies and calculates the bidirectional matching degree to assess collaborative potential, then performs preliminary screening by combining a preset matching threshold, and finally introduces a maximum neighbor number limit for final adjudication. This achieves accurate real-time construction and dynamic maintenance of neighbor relationships between edge nodes. This method not only ensures high-quality (high matching degree) and stability (bidirectional peer-to-peer) neighbor relationships, but also guarantees system scalability and low overhead through the number limit, thus laying a solid and reliable network topology foundation for decentralized, self-organizing intelligent task migration.
[0111] For example, in another dynamic configuration method for a data collector provided in one embodiment of the present invention, the target node is determined based on the resource status data of the node to be migrated, the resource status data of neighboring nodes in the neighbor relationship set of the node to be migrated, and the load stability. Specifically, this includes the following steps: S501. Based on the resource status data of the node to be migrated and its neighboring nodes, calculate the load pressure difference between the node to be migrated and each neighboring node.
[0112] For example, this step can be performed by the single-hop decision submodule 141 in the migration decision module 14.
[0113] Specifically, the single-hop decision submodule 141 obtains the node to be migrated (denoted as node A) and each of its neighboring nodes (denoted as node A). The latest resource status data (where k is the neighbor index) is included. This data contains the utilization rate of various resources (such as CPU, memory, bandwidth, and storage). The single-hop decision submodule 141 first assigns a preset weight coefficient to each type of resource (for example, based on the requirements of industrial scenarios, set the CPU weight). =0.4, memory weight =0.3, bandwidth weight =0.15, storage weight =0.15). Then, the following formulas are used to calculate the values of node A and each neighboring node. Overall load pressure value: in, , Representing node A and its neighboring nodes respectively. The overall load pressure value; n represents the number of resource types; This represents the preset weight coefficient corresponding to the i-th type of resource; , Representing node A and its neighboring nodes respectively. The i-th type of resource dimension Resource utilization rate.
[0114] It should be noted that the above formula aggregates multi-dimensional resource utilization rates into a single scalar stress value within the range [0,1] through a weighted sum. The weighting coefficients reflect the importance of different resources in specific industrial scenarios, making the stress assessment more scenario-adaptive.
[0115] Following this, the single-hop decision submodule 141 calculates node A and its neighboring nodes using the following formula. The difference in load pressure between them: in, This indicates that node A to be migrated is moving to its neighboring nodes. The difference in load pressure during migration tasks. This can be understood as the difference calculated by the formula quantifying the relationship between node A and its neighboring nodes. The degree of load overload. Difference The larger the value, the more likely the task will be migrated from node A to node B. The greater the pressure that can be released in theory.
[0116] It is understandable that the difference calculated by the formula quantifies the difference between node A and its neighboring nodes. The degree of load overload. When the difference is positive, it indicates that node A's load is higher than that of its neighboring nodes. Migration can relieve pressure; a negative difference indicates that the neighboring node... The load is heavier, and the node does not have the load capacity to receive migration tasks. In the subsequent migration potential assessment (S504), this difference will be multiplied by the node elasticity value. If the difference is negative, the migration potential evaluation value will be negative, and the node will be naturally excluded during the target node selection (S505).
[0117] S502. Calculate the load fluctuation rate of each neighbor node based on the historical resource status data of each neighbor node within a preset time window.
[0118] Furthermore, the single-hop decision submodule 141 addresses each neighbor node. The system retrieves multiple composite load stress values (e.g., m=8 records) recorded within the most recent preset time window (e.g., window length is verification period T). Then, it measures the load stability of the node, i.e., load volatility, by calculating the standard deviation of these stress values. The specific calculation formula is as follows: in, Representing neighboring nodes The load fluctuation rate; m represents the number of times the comprehensive load pressure value is recorded within a preset time window; Representing neighboring nodes The overall load pressure value recorded for the j-th time; Representing neighboring nodes The average value of the comprehensive load pressure recorded m times within a time window.
[0119] It should be noted that the above formula calculates the standard deviation of the node load pressure value sequence, where the number of summation terms m is the number of pressure values recorded within the time window, and the denominator uses m-1 to correct for the degrees of freedom consumed by the sample mean, thereby obtaining an unbiased estimate of the population standard deviation. The smaller the value, the stronger the neighboring node. The more stable the load is in the near term, the more predictable its behavior is; the larger the value, the more drastic the load fluctuations, which may bring uncertainty and risks when used as a migration target.
[0120] S503. Determine the node elasticity value of each neighboring node based on the load volatility and remaining available resources of each neighboring node. The node elasticity value characterizes the node's ability to withstand additional task loads.
[0121] Furthermore, the single-hop decision submodule 141 first determines the decision based on neighbor nodes. Comprehensive load pressure value To calculate its remaining available resources, i.e., idle load value: Subsequently, the single-hop decision submodule 141 combines its load volatility... The nodal resilience value is calculated using the following formula: in, Representing neighboring nodes The node elasticity value; Representing neighboring nodes The idle load value (i.e., the amount of remaining available resources). It's easy to understand that this formula defines resilience through "remaining resources / volatility". The larger the numerator, the more idle resources a node has, and the stronger its carrying capacity; the smaller the denominator, the more stable the node, and the lower the risk. Therefore, The larger the value, the better it indicates the neighboring nodes. The greater the potential to carry additional tasks in a stable state, the more ideal the task receiver is.
[0122] S504. Based on the load pressure difference and node elasticity value, determine the migration potential evaluation value of the node to be migrated to each neighbor node.
[0123] In this step, the single-hop decision submodule 141 determines the migration potential evaluation value of the node to be migrated to each neighbor node. Specifically, it multiplies the load pressure difference with the node resilience value, and the resulting product is used as the migration potential evaluation value. For example, the single-hop decision submodule 141 calculates the migration potential evaluation value using the following formula: in, This indicates that node A to be migrated is moving to its neighboring nodes. The migration potential evaluation value of the migration task (i.e., stress release potential). It's easy to understand that the above formula integrates two key dimensions through product calculation: 1) Represents "migration benefits," that is, the pressure relief that migration can bring; 2) This represents "migration feasibility," which is the target node's ability to safely and stably undertake tasks. Multiplying these two values ensures the evaluation score balances both effectiveness and risk. If... ≤0, then A value of ≤0 indicates that migration cannot relieve pressure, and the neighboring node is not adaptable.
[0124] S505. From all neighboring nodes whose migration potential evaluation values exceed the preset evaluation threshold, select the node with the highest migration potential evaluation value as the target node.
[0125] Finally, the single-hop decision submodule 141 will combine all the calculated results. Compare with a preset evaluation threshold. Filter out those that meet the criteria. Neighbor nodes that exceed the preset evaluation threshold constitute the candidate neighbor node set. If set If not empty, then the single-hop decision submodule 141 selects one of them. The neighbor node with the largest value As the target node for single-hop migration, the decision result is output.
[0126] For example, an exemplary value for the aforementioned preset evaluation threshold is 0.1. This threshold is set to filter out neighbors with negligible migration potential, avoiding low-return migration operations and thus reducing unnecessary system overhead and disturbances. Its value is based on a trade-off between migration operation costs (such as communication overhead and task interruption) and expected benefits. A threshold that is too low may trigger a large number of inefficient migrations; a threshold that is too high may miss some beneficial migration opportunities. Typically, a minimum benefit threshold that can filter out obviously invalid migrations can be set through system simulation or based on historical experience.
[0127] Optionally, if there are no neighboring nodes whose migration potential evaluation value exceeds a preset evaluation threshold, determining the target node based on the resource status data of the node to be migrated, the resource status data of neighboring nodes in the neighbor relationship set of the node to be migrated, and their load stability further includes the following steps: S506. Starting from the node to be migrated, perform a multi-level jump search in the neighbor relationship set to determine candidate nodes; among them, candidate nodes are candidate nodes whose migration potential evaluation value exceeds the preset evaluation threshold.
[0128] For example, this step can be performed by the multi-hop decision submodule 142 in the migration decision module 14.
[0129] Specifically, the multi-hop decision submodule 142 determines the candidate set. When empty, the multi-hop decision submodule 142 is activated. It uses the node to be migrated, A, as the root node and performs a depth-constrained breadth-first search within the network composed of the global neighbor set, such as using a BFS algorithm. For example, the maximum search hop count can be limited to 4 hops.
[0130] During the search process, the multi-hop decision submodule 142 evaluates the migration potential between each reachable remote node (denoted as node Z) and node A. (The calculation method is the same as S504, but it calculates the direct pressure difference between A and Z and the elasticity of Z). Only those that satisfy... Only distant nodes exceeding a preset evaluation threshold are retained as candidate nodes. Simultaneously, one or more search paths from node A to each candidate node Z are recorded (e.g., path: A→...). → →Z, where , (As an intermediate node).
[0131] S507. For each search path leading to each candidate node, calculate the overall reliability of the search path based on the migration potential evaluation value of each segment jump and the stability of intermediate nodes.
[0132] Furthermore, for each search path leading to candidate node Z, the multi-hop decision submodule 142 needs to evaluate the overall reliability of the path. This requires considering not only the matching degree between the starting point A and the ending point Z, but also the stability of intermediate nodes along the path, since task migration needs to be passed hop-by-hop along the path. First, the migration potential evaluation value between each adjacent node segment on the path is calculated. The calculation method is the same as S504. Next, calculate each intermediate node. Stability weights ,in For nodes The load volatility. Then, the overall reliability of the path is calculated using the following formula: in, This represents the overall reliability of a search path from node A to candidate node Z; k represents the number of intermediate nodes on the search path. This represents the maximum and minimum value normalization function, which maps the calculation results to the [0,1] interval, making it easier to compare different paths.
[0133] It should be noted that the above formula evaluates the reliability of the entire path through a series of multiplication operations. Represents the migration potential of the path endpoint; multiplicative term This represents the stability of the path; the more stable the intermediate nodes (smaller RV, ω close to 1), the less the product is decayed. Normalization makes the reliability of paths of different lengths and with different terminal potentials comparable. The closer the value is to 1, the better the terminal adaptability of the path and the lower the risk of intermediate transmission.
[0134] S508. From all paths whose overall reliability exceeds the preset reliability threshold, select the path with the highest overall reliability as the selected path, and determine the endpoint node of the selected path as the target node.
[0135] Finally, the multi-hop decision submodule 142 integrates the reliability of all calculated paths. Compare with a preset reliability threshold to filter out those that meet the requirements. The set of valid paths greater than the preset reliability threshold If set If not empty, then multi-hop decision submodule 142 selects one of them. The path with the largest value is selected as the optimal multi-hop migration path. And determine the endpoint Z of this path as the final target node. If If the value is empty, an overload warning is triggered, indicating that the current system cannot find a suitable migration path for node A.
[0136] For example, an exemplary value for the aforementioned preset reliability threshold is 0.7. This threshold is used to ensure that multi-hop migrations are only performed when the path reliability is sufficiently high, thereby controlling the risk of multi-hop migration failure due to excessively long paths or unstable intermediate nodes. Its value reflects the system's tolerance for multi-hop migration success rates. A higher threshold places more stringent requirements on path reliability and is expected to result in a higher migration success rate, but may reduce the number of available migration opportunities; a lower threshold may allow some higher-risk paths to be selected, increasing the likelihood of migration failure. It is typically set based on a combination of factors such as average network stability and mission criticality.
[0137] Based on the above technical solution, this invention constructs a hierarchical and intelligent migration target decision mechanism from single-hop to multi-hop by accurately calculating the load pressure difference between nodes, node elasticity, and path stability. This mechanism first searches for the optimal target among direct neighbors. If unsuccessful, it then evaluates the reliability of multi-hop paths to search for feasible targets within a wider range. This maximizes the success rate and reliability of load balancing without centralized scheduling, effectively improving the adaptive capability of edge clusters to cope with local overload.
[0138] In this embodiment of the invention, the dynamic configuration device of the data acquisition unit can be divided into functional modules or functional units according to the above method example. For example, each function can be divided into its own functional modules or functional units, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or in software functional modules or functional units. The division of modules or units in this embodiment is illustrative and represents only one logical functional division; in actual implementation, other division methods may be used.
[0139] For example, such as Figure 3 The diagram shown illustrates a possible structure of the dynamic configuration device for the data acquisition unit involved in the above embodiments. Figure 3As shown, the dynamic configuration device 600 of the data acquisition unit includes: a processor 602.
[0140] The processor 602 is used to control and manage the operation of the dynamic configuration device 600 of the data acquisition device, for example, to execute the steps in the above embodiments, and / or to execute other processes of the technical solutions described herein.
[0141] The processor 602 described above can implement or execute various exemplary logic blocks, modules, and circuits described in connection with the present invention. The processor can be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute various exemplary logic blocks, modules, and circuits described in connection with the present invention. The processor can also be a combination that implements computational functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0142] Optionally, the dynamic configuration device 600 of the data acquisition unit may further include a communication interface 603, a memory 601, and a bus 604. The communication interface 603 supports communication between the dynamic configuration device 600 and other network entities. The memory 601 stores the program code and data of the dynamic configuration device.
[0143] The memory 601 may be a memory in the dynamic configuration device of the data acquisition device. The memory may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as read-only memory, flash memory, hard disk or solid-state drive; the memory may also include a combination of the above types of memory.
[0144] Bus 604 can be an Extended Industry Standard Architecture (EISA) bus, etc. Bus 604 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 3 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0145] Through the above description of the embodiments, those skilled in the art will clearly understand that, for the sake of convenience and brevity, only the division of the above functional modules is used as an example. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. The specific working process of the system, device and modules described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0146] This invention provides a computer program product containing instructions that, when run on the electronic device of this invention, cause the computer to execute the dynamic configuration method of the data acquisition device described in the above method embodiments.
[0147] This invention also provides a computer-readable storage medium storing instructions. When a computer executes these instructions, the electronic device of this invention performs each step of the dynamic configuration device of the data acquisition device in the method flow shown in the above method embodiments.
[0148] The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), registers, hard disks, optical fibers, compact disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof, or any other form of computer-readable storage medium in the art. An exemplary storage medium is coupled to a processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium may also be a component of the processor. The processor and the storage medium may reside in an application-specific integrated circuit (ASIC). In embodiments of the present invention, a computer-readable storage medium may be any tangible medium that contains or stores a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.
[0149] It should be noted that the order of the above embodiments of the present invention is merely for descriptive purposes and does not represent the superiority or inferiority of the embodiments. The processes depicted in the accompanying drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0150] The various embodiments in this specification are described in a progressive manner. The same or similar parts between the various embodiments can be referred to each other. Each embodiment focuses on describing the differences from other embodiments.
Claims
1. A dynamic configuration method for a data acquisition device, characterized in that, The method includes: Acquire task feature data and resource status data of multiple edge nodes; wherein, the task feature data is used to characterize the attributes of the acquisition tasks executed by the edge nodes, and the resource status data is used to characterize the computing resource usage of the edge nodes; The task similarity is determined based on the task feature data of any two edge nodes, and the resource complementarity is determined based on the resource status data of the two edge nodes. The bidirectional matching degree between two edge nodes is determined based on the task similarity and the resource complementarity, and the set of neighbor relationships between edge nodes is determined based on the bidirectional matching degree. The target node is determined based on the resource status data of the node to be migrated, the resource status data of the neighbor nodes in the neighbor relationship set of the node to be migrated, and the load stability; wherein, the node to be migrated is an edge node whose load status meets the migration conditions, and the target node is an edge node used to receive the task to be migrated. The tasks to be migrated from the edge nodes to the target nodes are migrated to the target nodes for execution.
2. The dynamic configuration method for a data acquisition device according to claim 1, characterized in that, The resource complementarity is determined based on the resource status data of the two edge nodes, specifically including: Identify the first resource weakness dimension of the first edge node and the first resource strength dimension of the second edge node; wherein, the first resource weakness dimension is the dimension with the highest resource utilization rate in the resource status data of the first edge node, and the first resource strength dimension is the dimension with the lowest resource utilization rate in the resource status data of the second edge node. If the first resource weakness dimension and the first resource strength dimension belong to the same resource type, then the resource complementarity of the second edge node to the first edge node is determined based on the idle resource rate of the second edge node in the first resource strength dimension and the resource utilization rate of the first edge node in the first resource weakness dimension. If the first resource weakness dimension and the first resource strength dimension do not belong to the same resource type, then the resource complementarity of the second edge node to the first edge node is determined based on the idle resource rate of the second edge node in the first resource weakness dimension and the resource utilization rate of the first edge node in the first resource weakness dimension.
3. The dynamic configuration method for a data acquisition device according to claim 1, characterized in that, The bidirectional matching degree between two edge nodes is determined based on the task similarity and resource complementarity, specifically including: Based on the task similarity and resource complementarity, the first one-way matching degree of the first edge node to the second edge node is determined; Based on the task similarity and resource complementarity, a second one-way matching degree between the second edge node and the first edge node is determined; The bidirectional matching degree between the two edge nodes is determined based on the first unidirectional matching degree and the second unidirectional matching degree.
4. The dynamic configuration method for a data acquisition device according to claim 1, characterized in that, The set of neighbor relationships between edge nodes is determined based on the bidirectional matching degree, specifically including: If the bidirectional matching degree is greater than the preset matching threshold, then it is determined that the two edge nodes meet the conditions for establishing a neighbor relationship; A neighbor relationship is established between the two edge nodes and added to their respective local neighbor lists only if the number of current neighbors of both edge nodes does not reach a preset threshold. The set of neighbor relationships is formed by combining the local neighbor lists of all edge nodes.
5. The dynamic configuration method for a data acquisition device according to claim 1, characterized in that, Based on the resource status data of the node to be migrated, the resource status data of neighboring nodes in the neighbor relationship set of the node to be migrated, and their load stability, the target node is determined, specifically including: Based on the resource status data of the node to be migrated and the neighboring nodes, calculate the load pressure difference between the node to be migrated and each neighboring node; Calculate the load volatility of each neighbor node based on its historical resource status data within a preset time window. The node elasticity value of each neighboring node is determined based on the load volatility and remaining available resources of each neighboring node; wherein, the node elasticity value is used to characterize the node's ability to withstand additional task loads; Based on the load pressure difference and the node resilience value, determine the migration potential evaluation value of the migration task of the node to be migrated to each neighbor node; From all neighboring nodes whose migration potential evaluation value exceeds a preset evaluation threshold, the node with the highest migration potential evaluation value is selected as the target node.
6. The dynamic configuration method for a data acquisition device according to claim 5, characterized in that, Based on the load pressure difference and the node resilience value, the migration potential evaluation value of the node to be migrated to each neighbor node is determined, specifically including: The product of the load pressure difference and the node resilience value is used as the migration potential evaluation value.
7. The dynamic configuration method for a data acquisition device according to claim 5, characterized in that, In the absence of neighboring nodes whose migration potential evaluation value exceeds the preset evaluation threshold, the method further includes: Starting from the node to be migrated, a multi-level jump search is performed in the neighbor relationship set to determine candidate nodes; wherein, the candidate nodes are candidate nodes whose migration potential evaluation value exceeds the preset evaluation threshold. For each search path leading to each candidate node, the overall reliability of the search path is calculated based on the migration potential evaluation value of each segment and the stability of the intermediate nodes. From all paths whose overall reliability exceeds a preset reliability threshold, the path with the highest overall reliability is selected as the chosen path, and the endpoint of the selected path is determined as the target node.
8. The dynamic configuration method for a data acquisition device according to claim 1, characterized in that, The task to be migrated from the edge node to the target node is migrated to the target node for execution, specifically including: From the current tasks of the node to be migrated, select tasks that meet the preset migration conditions, and sort the selected tasks according to the preset priority rules; Based on the remaining load capacity of the target node, determine the set of tasks to be migrated in the current batch from the sorted tasks; The task configuration and execution context data corresponding to the task set being migrated in the current batch are transmitted to the target node; Upon receiving the migration confirmation information returned by the target node, the node to be migrated terminates the execution of the current batch of migration tasks.
9. A dynamic configuration system for a data acquisition device, characterized in that, The system includes: a data acquisition module, a matching degree calculation module, a neighbor node filtering module, a migration decision module, and a task migration module; The data acquisition module is used to acquire task feature data and resource status data of multiple edge nodes; wherein, the task feature data is used to characterize the attributes of the acquisition tasks executed by the edge nodes, and the resource status data is used to characterize the computing resource usage of the edge nodes. The matching degree calculation module is used to determine the task similarity based on the task feature data of any two edge nodes, and to determine the resource complementarity based on the resource status data of the two edge nodes. The neighbor node filtering module is used to determine the bidirectional matching degree between two edge nodes based on the task similarity and the resource complementarity, and to determine the set of neighbor relationships between edge nodes based on the bidirectional matching degree. The migration decision module is used to determine the target node based on the resource status data of the node to be migrated, the resource status data of the neighbor nodes in the neighbor relationship set of the node to be migrated, and the load stability; wherein, the node to be migrated is an edge node whose load status meets the migration conditions, and the target node is an edge node used to receive the task to be migrated. The task migration module is used to migrate the task to be migrated from the edge node to the target node for execution.
10. A dynamic configuration device for a data acquisition unit, characterized in that, include: A processor and a memory; wherein the memory is used to store computer execution instructions, and when the dynamic configuration device of the data acquisition unit is running, the processor executes the computer execution instructions stored in the memory to cause the dynamic configuration device of the data acquisition unit to perform the dynamic configuration method of the data acquisition unit as described in any one of claims 1-8.