Distributed Computing Optimization Method and Device Based on AutoEdge Platform

By obtaining real-time status information of online terminal nodes and matching the task volume and maximum load undertaking, and optimizing task allocation, the problem that task allocation in the prior art cannot adapt to the processing capabilities of terminal nodes is solved, and the processing efficiency of distributed computing is improved.

CN119621347BActive Publication Date: 2025-05-30SHENZHEN JIANGXING INTELLIGENCE INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510153218.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-12
Publication Date
2025-05-30
Estimated Expiration
2045-02-12

AI Technical Summary

Technical Problem

In the current technology, when allocating tasks, it is impossible to automatically adapt to the actual processing capabilities of the terminal nodes, resulting in task overload in some terminal nodes and reducing distributed computing processing capabilities.

Method used

When the target task is determined, real-time status information of the online terminal node is obtained, the task division density is determined according to the number of nodes, and the target task is divided into multiple target subtasks, respectively matching the task volume and the maximum load of the terminal node to optimize task allocation.

Benefits of technology

Effectively utilize the processing capabilities of terminal nodes to avoid task overloading and improve the processing efficiency of distributed computing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119621347B_ABST
    Figure CN119621347B_ABST
Patent Text Reader

Abstract

The present application discloses a distributed computing optimization method and device based on the AutoEdge platform, and relates to the field of distributed computing technology, including: when the target task is determined, determining the online terminal node connected to the AutoEdge platform, obtaining the real-time status information of the online terminal node, determining the task division density according to the number of nodes of the online terminal node, dividing the target task into multiple target subtasks based on the task division density, determining the task amount of the target subtask respectively, determining the maximum load of the online terminal node according to the real-time status information, matching the task amount with the maximum load, obtaining a task allocation list, allocating the target subtask based on the task allocation list, receiving the calculation results of the online terminal node based on the corresponding target subtask received, and summarizing the calculation results for output. Through the above method, larger processing tasks can be collaboratively processed according to the online terminal nodes to improve the task processing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of distributed computing technology, and in particular to a distributed computing optimization method and device based on the AutoEdge platform. Background Art

[0002] As the number of terminal nodes connected to the AutoEdge platform increases, the task data that needs to be processed also increases. If the task data is concentrated on the server for processing, it will undoubtedly increase the processing load of the server, thereby affecting the server's rapid response to other services. Therefore, it is possible to consider distributing the tasks that need to be processed to the terminal nodes for distributed computing, splitting larger tasks into multiple smaller processing tasks, while ensuring the server load of the AutoEdge platform, and making full use of the idle load of the terminal. In the process of distributing tasks to terminal nodes, larger tasks are usually evenly distributed to several terminal nodes for processing. This method cannot make reasonable use of the actual processing capacity of each terminal node, which will cause some terminal nodes to be overloaded with tasks and reduce the distributed computing processing capacity.

[0003] The above contents are only used to assist in understanding the technical solution of the present invention and do not constitute an admission that the above contents are prior art. Summary of the invention

[0004] The main purpose of this application is to provide a distributed computing optimization method and device based on the AutoEdge platform, aiming to solve the technical problem in the prior art that when allocating tasks, the task allocation results cannot be automatically adapted to the actual processing capabilities of the terminal nodes.

[0005] To achieve the above objectives, the present application provides a distributed computing optimization method based on the AutoEdge platform, the method comprising:

[0006] When the target task is determined, determine the online terminal nodes connected to the AutoEdge platform, and obtain the real-time status information of each of the online terminal nodes;

[0007] Determining a task division density according to the number of the online terminal nodes, and dividing the target task into a plurality of target subtasks based on the task division density;

[0008] Determine the task amount of each target subtask, determine the maximum load of the online terminal node according to the real-time status information, match the task amount with the maximum load, and obtain a task allocation list;

[0009] The target subtask is allocated based on the task allocation list, the calculation result of the online terminal node based on the corresponding target subtask is received, and the calculation result is summarized and outputted.

[0010] In one embodiment, before the step of determining the online terminal nodes accessing the AutoEdge platform and respectively obtaining the real-time status information of each of the online terminal nodes when the target task is determined, the method further includes:

[0011] Obtain the workload within the task prediction period, extract features from the workload to obtain a workload feature value;

[0012] Generate a feature curve from the workload feature value and the acquisition frequency of the task prediction period;

[0013] Fit the feature curve to obtain a feature-time variation relationship;

[0014] Determine the target prediction time, and based on the feature-time variation relationship and the target prediction time, determine the target workload;

[0015] Generate a target task with the target workload.

[0016] In one embodiment, the step of fitting the feature curve to obtain a feature-time variation relationship includes:

[0017] Determine the feature increment of a preset span of the feature curve, and generate a set of feature increments based on the time series information and the feature increment;

[0018] Compare each feature increment in the set of feature increments with an increment threshold respectively. When the feature increment is greater than the increment threshold, perform differencing on the feature increment to determine a difference parameter;

[0019] Perform curve correction on the feature curve with the difference parameter to obtain a corrected feature curve;

[0020] Combine the corrected feature curve with the time series information to obtain a feature-time variation relationship.

[0021] In one embodiment, the step of determining the online terminal nodes accessing the AutoEdge platform and respectively obtaining the real-time status information of each of the online terminal nodes when the target task is determined includes:

[0022] When the target task is determined, generate node activity detection information, send the node activity detection information to each terminal node accessing the AutoEdge platform, and obtain the online terminal nodes among the terminal nodes;

[0023] Determine the communication address of the online terminal node, and generate status extraction information based on the communication address and a status extraction instruction;

[0024] The state extraction information is sent to the online terminal node, and real-time state information fed back by the online terminal node based on the state extraction information is received.

[0025] In one embodiment, the step of determining the task division density according to the number of the online terminal nodes, and dividing the target task into a plurality of target subtasks based on the task division density includes:

[0026] Determine the number of online terminal nodes, determine an average task load based on the number of nodes and the task amount of the target task, and determine the average load as the task division density;

[0027] Determine a task composition of the target task, wherein the task composition includes a plurality of task units;

[0028] Determine the task size of the task unit, and sort the task units based on the task size to obtain a task division queue;

[0029] The task division queue is traversed, and tasks in the task division queue are reorganized based on the task division density to obtain a plurality of target subtasks.

[0030] In one embodiment, the steps of respectively determining the task amounts of the target subtasks, determining the maximum load of the online terminal node according to the real-time status information, matching the task amounts with the maximum load, and obtaining the task allocation list include:

[0031] Determine the task amounts of the target subtasks respectively, and determine the completeness scores of the task amounts;

[0032] Determine the maximum load that the online terminal node can bear according to the real-time status information;

[0033] Matching the maximum accepted load with the task volume, and when the maximum accepted load and the task volume are equal, performing preliminary task allocation, and allocating successfully matched tasks to corresponding online terminal nodes;

[0034] After the initial task allocation, the remaining target subtasks and the online terminal nodes are updated to obtain a target subtask to-be-allocated queue and an online terminal node to-be-allocated queue;

[0035] Traversing the target subtasks in the target subtask to-be-allocated queue, and determining the degree of matching with the target subtasks in the online terminal node to-be-allocated queue based on the completeness score and task volume of the target subtasks;

[0036] The target subtask is matched for the online terminal node based on the matching degree to obtain a task allocation list.

[0037] In one embodiment, the step of traversing the target subtasks in the target subtask to-be-allocated queue and determining the degree of matching with the target subtask in the online terminal node to-be-allocated queue based on the completeness score and the task volume of the target subtask comprises:

[0038] Traversing each maximum load in the queue to be allocated of the online terminal node;

[0039] Traversing the target subtasks in the target subtask to-be-allocated queue, determining the task amount of the target subtask, and determining the redundant load between the task amount and the maximum accepted load, wherein the redundant load is the difference between the maximum accepted load and the task amount;

[0040] Determine the maximum number of task units in the queue to be assigned to the target subtask, determine the number of task units of the target subtask, and determine the completeness score of the target subtask according to the maximum number of task units and the number of task units;

[0041] A first matching degree is obtained according to the completeness score and the first weight, a second matching degree is obtained according to the redundant load and the second weight, and the first matching degree and the second matching degree are aggregated to obtain a matching degree between the target subtask and the online terminal node.

[0042] In one embodiment, the step of matching the target subtask for the online terminal node based on the matching degree to obtain a task allocation list includes:

[0043] Matching the online terminal node corresponding to the maximum accepted load with the target subtask with the largest completeness score to obtain a task matching combination;

[0044] When the online terminal node can successfully match the target subtask, the task matching combination is added to the task allocation list, and the online terminal node queue and the target subtask queue are updated;

[0045] When the online terminal node fails to match the target subtask, the target subtask is split based on the maximum accepted load to obtain a first task part and a second task part, wherein the task amount of the first task part corresponds to the maximum accepted load, and the second task part is inserted into the target subtask queue based on the task amount, and the online terminal node queue and the target subtask queue are updated;

[0046] According to the order of the maximum carrying load and the integrity score, based on the updated online terminal node queue and the updated target subtask queue, the step of repeatedly matching the online terminal node corresponding to the maximum carrying load with the target subtask with the largest integrity score is performed to obtain a task matching combination.

[0047] In one embodiment, after the steps of allocating the target subtask based on the task allocation list, receiving the calculation result of the online terminal node based on the corresponding target subtask, and summarizing and outputting the calculation result, the step further includes:

[0048] Determine the start time of the target task and the end time of aggregating the calculation results, and determine the task processing time according to the start time and the end time;

[0049] Obtaining the task completion time of each online terminal node, and calculating the optimization factor according to the task completion time and the task processing time;

[0050] The optimization factor is added to the AutoEdge platform. When the next target task is determined, the task is allocated according to the optimization factor, the task amount of the target subtask and the maximum load of the online terminal node to obtain a task allocation list.

[0051] In addition, to achieve the above purpose, the present application also proposes a distributed computing optimization device based on the AutoEdge platform, and the distributed computing optimization device based on the AutoEdge platform includes:

[0052] The node detection module is used to determine the online terminal nodes connected to the AutoEdge platform when the target task is determined, and obtain the real-time status information of each of the online terminal nodes;

[0053] A task division module, used to determine the task division density according to the number of the online terminal nodes, and divide the target task into a plurality of target subtasks based on the task division density;

[0054] A task allocation module, used to determine the task amount of the target subtask respectively, determine the maximum load of the online terminal node according to the real-time status information, match the task amount with the maximum load, and obtain a task allocation list;

[0055] The task processing module is used to allocate the target subtask based on the task allocation list, receive the calculation results of the online terminal node based on the corresponding target subtask, and summarize and output the calculation results.

[0056] In addition, to achieve the above-mentioned purpose, the present application also proposes a distributed computing optimization device based on the AutoEdge platform, and the distributed computing optimization device based on the AutoEdge platform includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, and the computer program is configured to implement the steps of the distributed computing optimization method based on the AutoEdge platform as described above.

[0057] In addition, to achieve the above-mentioned purpose, the present invention also proposes a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the distributed computing optimization method based on the AutoEdge platform as described above are implemented.

[0058] In addition, to achieve the above-mentioned purpose, the present application also provides a computer program product, which includes a computer program. When the computer program is executed by a processor, it implements the steps of the distributed computing optimization method based on the AutoEdge platform as described above.

[0059] The present application provides a distributed computing optimization method based on the AutoEdge platform, by determining the online terminal nodes connected to the AutoEdge platform when the target task is determined, obtaining the real-time status information of the online terminal nodes, determining the task division density according to the number of nodes of the online terminal nodes, dividing the target task into multiple target subtasks based on the task division density, respectively determining the task amount of the target subtasks, determining the maximum load of the online terminal node according to the real-time status information, matching the task amount with the maximum load, obtaining a task allocation list, allocating the target subtask based on the task allocation list, receiving the calculation results of the online terminal node based on the corresponding target subtask received, and summarizing the calculation results for output. Through the above method, larger processing tasks can be collaboratively processed according to the online terminal nodes to improve the task processing efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0061] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0062] Figure 1 This is a flow chart of an embodiment of a distributed computing optimization method based on the AutoEdge platform of this application;

[0063] Figure 2 This is a schematic diagram of terminal node verification of an embodiment of a distributed computing optimization method based on the AutoEdge platform of this application;

[0064] Figure 3 A schematic diagram of characteristic curves of an embodiment of a distributed computing optimization method based on the AutoEdge platform of this application;

[0065] Figure 4 This is a schematic diagram of the module structure of a distributed computing optimization device based on the AutoEdge platform in an embodiment of the present application;

[0066] Figure 5 This is a schematic diagram of the device structure of the hardware operating environment involved in the distributed computing optimization method based on the AutoEdge platform in the embodiment of the present application.

[0067] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0068] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application and are not used to limit the present application.

[0069] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.

[0070] The main solution of the embodiment of the present application is: when the target task is determined, the online terminal nodes connected to the AutoEdge platform are determined, and the real-time status information of each of the online terminal nodes is obtained respectively; the task division density is determined according to the number of nodes of the online terminal nodes, and the target task is divided into multiple target sub-tasks based on the task division density; the task volume of the target sub-task is determined respectively, and the maximum load of the online terminal node is determined according to the real-time status information, and the task volume is matched with the maximum load to obtain a task allocation list; the target sub-task is allocated based on the task allocation list, and the calculation results of the online terminal node based on the corresponding target sub-task are received, and the calculation results are summarized and output.

[0071] At present, with the increasing number of terminal nodes connected to the AutoEdge platform, the task data that needs to be processed also increases. If the task data is concentrated on the server for processing, it will undoubtedly increase the processing load of the server, thereby affecting the server's rapid response to other services. Therefore, it is possible to consider distributing the tasks that need to be processed to the terminal nodes for distributed computing, splitting larger tasks into multiple smaller processing tasks, while ensuring the server load of the AutoEdge platform, and making full use of the idle load of the terminal. In the process of distributing tasks to terminal nodes, larger tasks are usually evenly distributed to several terminal nodes for processing. This method cannot make reasonable use of the actual processing capacity of each terminal node, which will cause some terminal nodes to be overloaded with tasks and reduce the distributed computing processing capacity.

[0072] The present application provides a solution. When the target task is determined, the online terminal node connected to the AutoEdge platform is determined, the real-time status information of the online terminal node is obtained, the task division density is determined according to the number of nodes of the online terminal node, the target task is divided into multiple target subtasks based on the task division density, the task amount of the target subtask is determined respectively, the maximum load of the online terminal node is determined according to the real-time status information, the task amount is matched with the maximum load, and the task allocation list is obtained. The target subtask is allocated based on the task allocation list, and the calculation results of the online terminal node based on the corresponding target subtask are received, and the calculation results are summarized and output. Through the above method, larger processing tasks can be collaboratively processed according to the online terminal nodes to improve the efficiency of task processing.

[0073] It should be noted that the execution subject of this embodiment can be a computing service device with data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or an electronic device capable of realizing the above functions, a distributed computing optimization device based on the AutoEdge platform, etc., and this embodiment does not specifically limit this. The following uses a distributed computing optimization device based on the AutoEdge platform as an example to illustrate this embodiment and the following embodiments.

[0074] The present application embodiment provides a distributed computing optimization method based on the AutoEdge platform, referring to Figure 1 , Figure 1 This is a flow chart of the first embodiment of the distributed computing optimization method based on the AutoEdge platform of this application.

[0075] In this embodiment, the distributed computing optimization method based on the AutoEdge platform includes steps S10 to S40:

[0076] Step S10, when the target task is determined, determine the online terminal nodes connected to the AutoEdge platform, and obtain the real-time status information of each of the online terminal nodes.

[0077] It should be noted that the AutoEdge platform is an intelligent platform in edge computing and needs to process a large number of edge computing tasks. The AutoEdge platform can generate target tasks based on actual production and life needs, including the total task volume and the time required to complete. The AutoEdge platform needs to distribute the target tasks to the edge nodes for processing and summarize the processing results of each edge node to complete the result output of the target task.

[0078] Therefore, the target task can be considered as the task that the AutoEdge platform needs to execute and process at the current moment. Since the AutoEdge platform can establish data connections with multiple edge nodes, and not all edge nodes can accept and process tasks 24 hours a day. When an edge node is under maintenance or fails, it cannot process tasks at this time, so there is no need to allocate computing tasks to it either.

[0079] According to the status of each edge node, the edge nodes that are running normally can be determined as online terminal nodes, and the other nodes that cannot process tasks can be determined as offline terminal nodes. The offline terminal nodes at least include faulty terminal nodes, terminal nodes that cannot undertake new tasks due to full load, etc. The real-time status information of the online terminal nodes reflects the current load conditions of each online terminal device and the maximum load of each online terminal node. That is to say, the real-time status information can reflect the current running conditions of each online terminal node.

[0080] In a specific implementation, the AutoEdge platform can monitor the generation of new tasks in real time. The generation of new tasks is proposed by the production data of each terminal node and the requester. When it is detected that a new task is generated, the current task needs to be processed in a timely manner. Therefore, the newly generated task at this time is the target task. When the target task is determined, the online terminal nodes currently accessing the AutoEdge platform can be determined. A data transmission channel built by API or SDK is established between the AutoEdge platform and the terminal nodes. The AutoEdge platform can obtain whether the current terminal node is an online terminal node based on this data transmission channel. If the terminal node is an online terminal node, it can be explained that the online terminal node can accept task allocation. After determining the online terminal nodes accessed by the AutoEdge platform, the node information of each online terminal node can be determined according to the detection data at this time, and a status request message can be sent to each online terminal node based on the node information to obtain the real-time status information fed back by the online terminal node based on the status request message.

[0081] In a feasible implementation manner, the steps of determining the online terminal nodes accessing the AutoEdge platform and respectively obtaining the real-time status information of each of the online terminal nodes when the target task is determined include:

[0082] When the target task is determined, generate node activity detection information, send the node activity detection information to each terminal node accessing the AutoEdge platform, and obtain the online terminal nodes among the terminal nodes;

[0083] Determine the communication address of the online terminal node, and generate status extraction information based on the communication address and the status extraction instruction;

[0084] Send the status extraction information to the online terminal node and receive the real-time status information fed back by the online terminal node based on the status extraction information.

[0085] In a specific implementation, when determining the task objective, node activity detection information can be randomly generated. The node activity detection information can be a simple verification code or a calculation formula, and the node activity detection information is propagated in a broadcast form. All terminal devices accessing the AutoEdge platform can receive the node activity detection information. Within a limited time, feedback information needs to be generated based on the node activity detection information, and the time at the completion moment is added as a timestamp as the second verification information. The AutoEdge platform can verify according to the result and timestamp in the received feedback information. When the verification is successful, it is used as the online terminal node. Refer to Figure 2 , Figure 2 It is a schematic diagram for terminal node verification. Assume that the node activity detection information is ADI. Then it can be broadcast to M terminal nodes, and N feedback messages massage can be obtained, where M≥N. Then the N feedback messages are verified, and finally P feedback messages are verified successfully, where N≥P. Then the edge nodes corresponding to the P feedback messages are determined as online edge nodes. Further, the communication addresses in the P feedback messages are parsed to obtain the online terminal node set ONL={Addr1, Addr2,..., Addrp}.

[0086] Then, status extraction information is generated based on the communication address and the status extraction instruction. The status extraction instruction is used to collect the node status information of the online terminal node, including but not limited to information such as the CPU load, memory occupancy, and bandwidth rate of the edge node. The online edge node can feedback the node status information in the form of a data packet to obtain the real-time status information of the edge node. Among them, when transmitting data, the data can be encrypted. In this embodiment, the data packet can be encrypted with the communication address (such as IP or URL) and the unique identification code UID. First, information needs to be extracted from Addr and UID and converted into a form that can be used to generate the key, which can be achieved through a hash function, such as SHA-256. Calculate the basic key Kb = Hash(Addr || UID), where || represents the string concatenation operation and Hash is the selected hash function. Since the key directly generated from Addr and UID may not meet the key length requirements of a specific encryption algorithm, assume that the required key length is L. Then the final key Kf can be obtained by adjusting the length of Kb, for example, by repeating Kb or further processing using a key derivation function (such as PBKDF2) to obtain the encryption key. The decryption key is the reverse process.

[0087] In a feasible implementation, before the step of determining the online terminal nodes accessing the AutoEdge platform and respectively obtaining the real-time status information of each of the online terminal nodes when the target task is determined, the following steps are further included:

[0088] Obtain the workload within the task prediction period, extract features from the workload to obtain workload feature values;

[0089] Generate a feature curve by combining the workload feature values with the acquisition frequency of the task prediction period;

[0090] Fit the feature curve to obtain the feature-time variation relationship;

[0091] Determine the target prediction moment, and based on the feature-time variation relationship and the target prediction moment, determine the target workload;

[0092] Generate a target task with the target workload.

[0093] In a specific implementation, it is necessary to obtain the workload data within the task prediction period. The task prediction period is set according to the actual situation and can be the past few days or weeks, etc. It usually includes indicators such as CPU usage rate and memory usage. Assume that the workload sequence during this period is , represents the time point. Then, perform feature extraction on the obtained workload sequence , including statistical features (such as mean, variance), frequency domain features or other domain-related features. Assume that the extracted feature set is . Combine the feature values with the time points to form a feature curve. Since the acquisition frequency is fixed, the change of the feature over time can be represented by interpolation method or directly using the original data points. Refer to Figure 3 , Figure 3 for the schematic diagram of the feature curve. Apply the ARIMA model to fit the feature curve to capture the change pattern of the feature over time. The general form of the ARIMA model is ARIMA(p,d,q), where p is the number of autoregressive terms, d is the number of differences, and q is the number of moving average terms. For each feature , determine the appropriate p, d, p by analyzing its autocorrelation function and partial autocorrelation function, then construct the ARIMA model and train it. Once the ARIMA model is trained, it can be used to predict future time points. The ARIMA model can be expressed as: , where is the constant term, are the autoregressive and moving average coefficients respectively, is the white noise error term. Assume that we want to predict a future moment The workload at this moment is input into the trained ARIMA model, and the predicted workload value can be obtained. Based on the predicted target workload Formulate corresponding task plans or adjust existing resource allocation strategies to ensure the efficient operation of the system.

[0094] In a feasible implementation manner, the step of fitting the feature curve to obtain the feature-time variation relationship includes:

[0095] Determine the feature increment within the preset span of the feature curve, and generate a set of feature increments based on the time series information and the feature increment;

[0096] Compare each feature increment in the set of feature increments with the increment threshold respectively. When the feature increment is greater than the increment threshold, perform a difference operation on the feature increment to determine the difference parameter;

[0097] Perform curve correction on the feature curve with the difference parameter to obtain a corrected feature curve;

[0098] Combine the corrected feature curve with the time series information to obtain the feature-time variation relationship.

[0099] In a specific implementation, first determine a preset time span , and calculate the increment of the feature within this time span. For each feature At the time point The feature increment can be defined as:

[0100]

[0101] where represents the value of the feature at the time point .

[0102] Therefore, a set of feature increments can be generated , and this set contains the increments of all features at different time points. Among them, , T is the set of time series. In this process, an increment threshold can be set to determine which feature increments need to be further processed by difference. For each feature increment , if it satisfies , then perform a difference operation on this feature increment to determine the difference parameter. The difference operation can be simply understood as calculating the change rate of the increment again. For example, the second-order difference of the feature increment can be expressed as: , based on the difference parameter, perform curve correction on the feature curve to obtain a corrected curve, and the correction method is: , is the adjustment coefficient, which is used to control the influence of the differential parameter on the original characteristic curve. The corrected characteristic curve is combined with the corresponding time information to form a new characteristic-time change relationship. This step is mainly to ensure that we can accurately capture the change trend of the corrected feature over time. For each time point t, there is a corresponding corrected characteristic value , thus forming a new feature - time series.

[0103] Step S20, determining a task division density according to the number of the online terminal nodes, and dividing the target task into a plurality of target subtasks based on the task division density.

[0104] It should be noted that the task division density can be understood as the number of subtasks into which a task is divided. The greater the task division density, the more subtasks are divided.

[0105] In a specific implementation, it is possible to determine the number of online terminal nodes, determine the average task load based on the number of nodes and the task amount of the target task, and determine the average load as the task division density; determine the task composition of the target task, wherein the task composition includes a plurality of task units; determine the task size of the task unit, and sort the task units based on the task size to obtain a task division queue; traverse the task division queue, and reorganize the task division queue based on the task division density to obtain a plurality of target subtasks.

[0106] That is to say, when the current task volume is A, for the current number of nodes n, the task volume of task A can be divided into subtasks of the size of A / n as much as possible, and the task volume of each subtask at this time is the average task load, which is also used as the task division density. Then determine the task composition of the target task, where the task composition includes multiple task units, and there are differences in the task sizes between different task units. Therefore, multiple task units in the target task can be sorted based on task size to obtain a task division queue, and traverse the task division queue, and reorganize the task queue based on the task division density to obtain multiple target subtasks.

[0107] Step S30, respectively determining the task amount of the target subtask, determining the maximum load of the online terminal node according to the real-time status information, matching the task amount with the maximum load, and obtaining a task allocation list;

[0108] It should be noted that the maximum load refers to the maximum amount of tasks that the online terminal node can undertake under the current operating state, and it can still operate normally after receiving tasks of the corresponding amount. The task allocation list can be considered as the result of task allocation, that is, the corresponding relationship between the target subtasks assigned to the online terminal node.

[0109] In a specific implementation, the steps of respectively determining the task amount of the target subtask, determining the maximum load of the online terminal node according to the real-time status information, matching the task amount with the maximum load, and obtaining a task allocation list include: respectively determining the task amount of the target subtask, and determining the completeness score of the task amount; determining the maximum load of the online terminal node according to the real-time status information; matching the maximum load with the task amount, and when the maximum load is equal to the task amount, performing preliminary task allocation, and allocating successfully matched tasks to corresponding online terminal nodes; after the preliminary task allocation, updating the remaining target subtasks and the online terminal nodes to obtain a target subtask to be allocated queue and an online terminal node to be allocated queue; traversing the target subtasks in the target subtask to be allocated queue, and determining the degree of matching with the online terminal node to be allocated queue based on the completeness score and task amount of the target subtask; matching the target subtask for the online terminal node based on the degree of matching to obtain a task allocation list.

[0110] For each target subtask First, we need to determine the amount of work and completeness score , the task volume refers to the workload size of the subtask, and the completeness score can be calculated based on factors such as task complexity and priority. The task volume is directly obtained from the subtask definition or calculated based on the summary of task units. The completeness score can be calculated based on a variety of factors, such as the time required to complete the task, resource requirements, etc. The formula can be expressed as:

[0111]

[0112] in, and is the weight coefficient, and Respectively represent the time and resources required to complete a task.

[0113] By analyzing the real-time status information of the online terminal nodes, the maximum load of each node is determined, and the maximum load of each online terminal node is compared with the task volume of the target subtask. When the two are equal, preliminary task allocation is performed. After completing the preliminary task allocation, the remaining unassigned target subtask queue and the unused online terminal node queue are updated. The target subtasks in the target subtask to-be-assigned queue are traversed, and the completeness score and task volume of the target subtask are determined to match the online terminal node to-be-assigned queue. Then, the online terminal node to which the target subtask is assigned is determined based on the matching degree, and this combination relationship is stored in the task allocation list.

[0114] In a feasible implementation manner, the step of traversing the target subtasks in the target subtask to-be-allocated queue and determining the degree of matching with the target subtask in the online terminal node to-be-allocated queue based on the completeness score and task volume of the target subtask includes:

[0115] Traversing each maximum load in the queue to be allocated of the online terminal node;

[0116] Traversing the target subtasks in the target subtask to-be-allocated queue, determining the task amount of the target subtask, and determining the redundant load between the task amount and the maximum accepted load, wherein the redundant load is the difference between the maximum accepted load and the task amount;

[0117] Determine the maximum number of task units in the queue to be assigned to the target subtask, determine the number of task units of the target subtask, and determine the completeness score of the target subtask according to the maximum number of task units and the number of task units;

[0118] A first matching degree is obtained according to the completeness score and the first weight, a second matching degree is obtained according to the redundant load and the second weight, and the first matching degree and the second matching degree are aggregated to obtain a matching degree between the target subtask and the online terminal node.

[0119] It should be noted that the first weight is a weight coefficient used to determine the matching degree according to the completeness score, and the second weight is a weight coefficient used to determine the matching degree according to the redundant load.

[0120] In the specific implementation, for each node in the online terminal node to be allocated queue , the corresponding maximum load is , for each target subtask , the task volume is , and then calculate each target subtask Corresponding to each online terminal node Redundant load , defined as the difference between the maximum accepted load and the task volume:

[0121]

[0122] Among them, is the CPU utilization, and They are standard time consumption and standard resource occupancy respectively.

[0123] if , indicating that the task cannot be assigned to the node because the task volume exceeds the maximum carrying capacity of the node.

[0124] Assume that the maximum number of task units in the target subtask to be assigned queue is , each target subtask The number of task units is , determine the completeness score of the target subtask based on the maximum number of task units and the number of task units :

[0125]

[0126] in, and are weight coefficients, which are the first weight and the second weight respectively, and Respectively represent the time and resources required to complete a task.

[0127] Then, a first matching degree is obtained according to the completeness score and the first weight, a second matching degree is obtained according to the redundant load and the second weight, and the first matching degree and the second matching degree are summarized to obtain a matching degree between the target subtask and the online terminal node.

[0128] In a feasible implementation manner, the step of matching the target subtask for the online terminal node based on the matching degree to obtain a task allocation list includes:

[0129] Matching the online terminal node corresponding to the maximum accepted load with the target subtask with the largest completeness score to obtain a task matching combination;

[0130] When the online terminal node can successfully match the target subtask, the task matching combination is added to the task allocation list, and the online terminal node queue and the target subtask queue are updated;

[0131] When the online terminal node fails to match the target subtask, the target subtask is split based on the maximum accepted load to obtain a first task part and a second task part, wherein the task amount of the first task part corresponds to the maximum accepted load, and the second task part is inserted into the target subtask queue based on the task amount, and the online terminal node queue and the target subtask queue are updated;

[0132] According to the order of the maximum carrying load and the integrity score, based on the updated online terminal node queue and the updated target subtask queue, the step of repeatedly matching the online terminal node corresponding to the maximum carrying load with the target subtask with the largest integrity score is performed to obtain a task matching combination.

[0133] In the specific implementation, the online terminal node corresponding to the maximum accepted load is matched with the target subtask with the largest completeness score to obtain a task matching combination. When the match is successful, the task matching combination is added to the task allocation list to complete the task allocation, and the online terminal node queue and the target subtask queue are updated to remove the corresponding task and node information. When the match fails, the target subtask is cut based on the maximum accepted load, and the task volume of one part is consistent with the maximum accepted load. The second part is used as a new subtask and added to the target subtask queue according to the task size for subsequent task allocation. The first part is allocated to the online terminal node, and the online terminal node queue and the target subtask queue are updated. This process is repeated until all the tasks of both are allocated.

[0134] Step S40: allocating the target subtask based on the task allocation list, receiving the calculation result of the online terminal node based on the corresponding target subtask, and summarizing and outputting the calculation result.

[0135] In the specific implementation, after allocating the target subtask according to the task allocation list, the online terminal node can receive the calculation results based on the corresponding target subtask received, and the calculation results can be summarized and output. After the calculation results are output, the start time of the target task and the end time of the calculation results can be determined, and the task processing time can be determined according to the start time and the end time; the task completion time of each online terminal node is obtained, and the optimization factor is calculated according to the task completion time and the task processing time. The optimization factor is the ratio of the task completion time to the task processing time, which is used to measure the task processing capacity; the optimization factor is added to the AutoEdge platform. When the target task is determined next time, the task is allocated according to the optimization factor, the task volume of the target subtask and the maximum load of the online terminal node to obtain a task allocation list.

[0136] This embodiment provides a distributed computing optimization method based on the AutoEdge platform, determines the online terminal nodes connected to the AutoEdge platform, obtains the real-time status information of the online terminal nodes, determines the task division density according to the number of nodes of the online terminal nodes, divides the target task into multiple target subtasks based on the task division density, determines the task amount of the target subtasks respectively, determines the maximum load of the online terminal node according to the real-time status information, matches the task amount with the maximum load, obtains the task allocation list, allocates the target subtask based on the task allocation list, receives the calculation results of the online terminal node based on the corresponding target subtask, and summarizes and outputs the calculation results. Through the above method, larger processing tasks can be processed collaboratively according to the online terminal nodes to improve the task processing efficiency.

[0137] It should be noted that the above examples are only used to understand the present application and do not constitute a limitation on the distributed computing optimization method based on the AutoEdge platform of the present application. More simple transformations based on this technical concept are all within the scope of protection of the present application.

[0138] This application also provides a distributed computing optimization device based on the AutoEdge platform, please refer to Figure 4 , the distributed computing optimization device based on the AutoEdge platform includes:

[0139] The node detection module 10 is used to determine the online terminal nodes connected to the AutoEdge platform when the target task is determined, and obtain the real-time status information of each of the online terminal nodes;

[0140] A task division module 20, configured to determine a task division density according to the number of the online terminal nodes, and divide the target task into a plurality of target subtasks based on the task division density;

[0141] The task allocation module 30 is used to determine the task amount of the target subtask respectively, determine the maximum load of the online terminal node according to the real-time status information, match the task amount with the maximum load, and obtain a task allocation list;

[0142] The task processing module 40 is used to allocate the target subtask based on the task allocation list, receive the calculation results of the online terminal node based on the corresponding target subtask, and summarize and output the calculation results.

[0143] In a feasible implementation manner, the node detection module 10 is further used to obtain the workload within the task prediction period, perform feature extraction on the workload, and obtain a work feature value;

[0144] Generate a feature curve from the working characteristic value and the acquisition frequency of the task prediction period;

[0145] Fit the feature curve to obtain the feature-time variation relationship;

[0146] Determine the target prediction time, and based on the feature-time variation relationship and the target prediction time, determine the target workload;

[0147] Generate a target task with the target workload.

[0148] In a feasible implementation manner, the node detection module 10 is further configured to determine the feature increment of a preset span of the feature curve, and generate a feature increment set based on the timing information and the feature increment;

[0149] Compare each feature increment in the feature increment set with an increment threshold respectively. When the feature increment is greater than the increment threshold, perform differencing on the feature increment to determine the difference parameter;

[0150] Perform curve correction on the feature curve with the difference parameter to obtain a corrected feature curve;

[0151] Combine the corrected feature curve with the timing information to obtain the feature-time variation relationship.

[0152] In a feasible implementation manner, when the target task is determined, the node detection module 10 is further configured to generate node activity detection information, send the node activity detection information to each terminal node accessing the AutoEdge platform, and obtain the online terminal nodes among the terminal nodes;

[0153] Determine the communication addresses of the online terminal nodes, and generate status extraction information based on the communication addresses and status extraction instructions;

[0154] Send the status extraction information to the online terminal nodes, and receive the real-time status information fed back by the online terminal nodes based on the status extraction information.

[0155] In a feasible implementation manner, the task division module 20 is further configured to determine the number of nodes of the online terminal nodes, determine the average task load based on the number of nodes and the task volume of the target task, and determine the average load as the task division density;

[0156] Determine the task composition of the target task, where the task composition includes multiple task units;

[0157] Determine the task size of the task unit, and sort the task units based on the task size to obtain a task division queue;

[0158] The task division queue is traversed, and tasks in the task division queue are reorganized based on the task division density to obtain a plurality of target subtasks.

[0159] In a feasible implementation manner, the task allocation module 30 is further used to determine the task amount of the target subtask respectively and determine the completeness score of the task amount;

[0160] Determine the maximum load that the online terminal node can bear according to the real-time status information;

[0161] Matching the maximum accepted load with the task volume, and when the maximum accepted load and the task volume are equal, performing preliminary task allocation, and allocating successfully matched tasks to corresponding online terminal nodes;

[0162] After the initial task allocation, the remaining target subtasks and the online terminal nodes are updated to obtain a target subtask to-be-allocated queue and an online terminal node to-be-allocated queue;

[0163] Traversing the target subtasks in the target subtask to-be-allocated queue, and determining the degree of matching with the target subtasks in the online terminal node to-be-allocated queue based on the completeness score and task volume of the target subtasks;

[0164] The target subtask is matched for the online terminal node based on the matching degree to obtain a task allocation list.

[0165] In a feasible implementation manner, the task allocation module 30 is further used to traverse each maximum load in the queue to be allocated of the online terminal node;

[0166] Traversing the target subtasks in the target subtask to-be-allocated queue, determining the task amount of the target subtask, and determining the redundant load between the task amount and the maximum accepted load, wherein the redundant load is the difference between the maximum accepted load and the task amount;

[0167] Determine the maximum number of task units in the queue to be assigned to the target subtask, determine the number of task units of the target subtask, and determine the completeness score of the target subtask according to the maximum number of task units and the number of task units;

[0168] A first matching degree is obtained according to the completeness score and the first weight, a second matching degree is obtained according to the redundant load and the second weight, and the first matching degree and the second matching degree are aggregated to obtain a matching degree between the target subtask and the online terminal node.

[0169] In a feasible implementation manner, the task allocation module 30 is further used to match the online terminal node corresponding to the maximum accepted load with the target subtask with the largest completeness score to obtain a task matching combination;

[0170] When the online terminal node can successfully match the target subtask, the task matching combination is added to the task allocation list, and the online terminal node queue and the target subtask queue are updated;

[0171] When the online terminal node fails to match the target subtask, the target subtask is split based on the maximum accepted load to obtain a first task part and a second task part, wherein the task amount of the first task part corresponds to the maximum accepted load, and the second task part is inserted into the target subtask queue based on the task amount, and the online terminal node queue and the target subtask queue are updated;

[0172] According to the order of the maximum carrying load and the integrity score, based on the updated online terminal node queue and the updated target subtask queue, the step of repeatedly matching the online terminal node corresponding to the maximum carrying load with the target subtask with the largest integrity score is performed to obtain a task matching combination.

[0173] In a feasible implementation manner, the task processing module 40 is further used to determine the start time of the target task and the end time of aggregating the calculation results, and determine the task processing time according to the start time and the end time;

[0174] Obtaining the task completion time of each online terminal node, and calculating the optimization factor according to the task completion time and the task processing time;

[0175] The optimization factor is added to the AutoEdge platform. When the next target task is determined, the task is allocated according to the optimization factor, the task amount of the target subtask and the maximum load of the online terminal node to obtain a task allocation list.

[0176] The distributed computing optimization device based on the AutoEdge platform provided by this application adopts the distributed computing optimization method based on the AutoEdge platform in the above-mentioned embodiment, and can solve the technical problem that the task allocation result cannot be automatically adapted to the actual processing capacity of the terminal node during task allocation. Compared with the prior art, the beneficial effects of the distributed computing optimization device based on the AutoEdge platform provided by this application are the same as those of the distributed computing optimization method based on the AutoEdge platform provided in the above-mentioned embodiment, and other technical features in the distributed computing optimization device based on the AutoEdge platform are the same as the features disclosed in the method of the above-mentioned embodiment, which will not be elaborated here.

[0177] This application provides a distributed computing optimization device based on the AutoEdge platform. The distributed computing optimization device based on the AutoEdge platform includes: 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, and the instructions are executed by the at least one processor so that the at least one processor can execute the distributed computing optimization method based on the AutoEdge platform in the first embodiment above.

[0178] The following refers to Figure 5 , which shows a schematic structural diagram of a distributed computing optimization device based on the AutoEdge platform suitable for implementing the embodiments of this application. The distributed computing optimization device based on the AutoEdge platform in the embodiments of this application may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistant), PADs (Portable Application Description: tablet computers), PMPs (Portable Media Players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 5 The shown distributed computing optimization device based on the AutoEdge platform is only an example and should not impose any limitations on the functions and usage scope of the embodiments of this application.

[0179] As Figure 5As shown, the distributed computing optimization device based on the AutoEdge platform may include a processing device 1001 (such as a central processing unit, a graphics processing unit, etc.), which may perform various appropriate actions and processes according to the program stored in the read-only memory (ROM: Read Only Memory) 1002 or the program loaded from the storage device 1003 into the random access memory (RAM: Random Access Memory) 1004. In the RAM 1004, various programs and data required for the operation of the distributed computing optimization device based on the AutoEdge platform are also stored. The processing device 1001, the ROM 1002, and the RAM 1004 are connected to each other through a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Generally, the following systems may be connected to the I / O interface 1006: an input device 1007 including, for example, a touch screen, a touchpad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD: Liquid Crystal Display), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 may allow the distributed computing optimization device based on the AutoEdge platform to communicate with other devices wirelessly or wiredly to exchange data. Although the figure shows a distributed computing optimization device based on the AutoEdge platform with various systems, it should be understood that it is not required to implement or have all the shown systems. More or fewer systems may be implemented or had alternatively.

[0180] In particular, according to the embodiments disclosed in the present application, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program codes for executing the methods shown in the flowcharts. In such an embodiment, the computer program may be downloaded and installed from the network through the communication device, or installed from the storage device 1003, or installed from the ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the methods of the embodiments disclosed in the present application are executed.

[0181] The distributed computing optimization device based on the AutoEdge platform provided by this application adopts the distributed computing optimization method based on the AutoEdge platform in the above-mentioned embodiment, and can solve the technical problems of distributed computing optimization based on the AutoEdge platform. Compared with the prior art, the beneficial effects of the distributed computing optimization device based on the AutoEdge platform provided by this application are the same as those of the distributed computing optimization method based on the AutoEdge platform provided by the above-mentioned embodiment, and other technical features in the distributed computing optimization device based on the AutoEdge platform are the same as the features disclosed in the method of the previous embodiment, which will not be elaborated here.

[0182] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in a suitable manner in any one or more embodiments or examples.

[0183] The above are only the specific embodiments of this application, but the protection scope of this application is not limited thereto. Any person skilled in the art within the technical scope disclosed in this application can easily think of changes or substitutions, which should all be covered by the protection scope of this application. Therefore, the protection scope of this application should be subject to the protection scope of the claims.

[0184] This application provides a computer-readable storage medium with computer-readable program instructions (i.e., computer programs) stored thereon, and the computer-readable program instructions are used to execute the distributed computing optimization method based on the AutoEdge platform in the above-mentioned embodiment.

[0185] The computer-readable storage medium provided in the present application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM: Random Access Memory), a read-only memory (ROM: Read Only Memory), an erasable programmable read-only memory (EPROM: Erasable Programmable Read Only Memory or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM: CD-Read Only Memory), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by or in combination with an instruction execution system, system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency: Radio Frequency), etc., or any suitable combination of the above.

[0186] The above-mentioned computer-readable storage medium may be included in a distributed computing optimization device based on the AutoEdge platform; or it may exist independently without being assembled into a distributed computing optimization device based on the AutoEdge platform.

[0187] The above-mentioned computer-readable storage medium carries one or more programs. When the above-mentioned one or more programs are executed by a distributed computing optimization device based on the AutoEdge platform, the distributed computing optimization device based on the AutoEdge platform: when the target task is determined, determine the online terminal nodes connected to the AutoEdge platform, and obtain the real-time status information of each of the online terminal nodes respectively; determine the task division density according to the number of nodes of the online terminal nodes, and divide the target task into multiple target subtasks based on the task division density; determine the task volume of the target subtask respectively, determine the maximum load of the online terminal node according to the real-time status information, match the task volume with the maximum load, and obtain a task allocation list; allocate the target subtask based on the task allocation list, receive the calculation results of the online terminal node based on the corresponding target subtask received, and summarize and output the calculation results.

[0188] Computer program code for performing the operations of this application can be written in one or more programming languages or combinations thereof. The above-mentioned programming languages include object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any kind of network, including a local area network (LAN: Local Area Network) or a wide area network (WAN: Wide Area Network), or it can be connected to an external computer (for example, by connecting through the Internet using an Internet service provider).

[0189] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of this application. In this regard, each block in the flowchart or block diagram can represent a module, a program segment, or a part of the code that contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than that marked in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram and / or flowchart, and the combination of blocks in the block diagram and / or flowchart, can be implemented by a dedicated hardware-based system for performing the specified functions or operations, or can be implemented by a combination of dedicated hardware and computer instructions.

[0190] The modules described in the embodiments of this application can be implemented in software or in hardware. Among them, the name of the module does not constitute a limitation to the unit itself in some cases.

[0191] The readable storage medium provided by this application is a computer-readable storage medium. The computer-readable storage medium stores computer-readable program instructions (i.e., computer programs) for performing the above-mentioned distributed computing optimization method based on the AutoEdge platform, and can solve the technical problems of distributed computing optimization based on the AutoEdge platform. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided by this application are the same as those of the distributed computing optimization method based on the AutoEdge platform provided in the above embodiments, and will not be elaborated here.

[0192] The present application also provides a computer program product, including a computer program which, when executed by a processor, implements the steps of the distributed computing optimization method based on the AutoEdge platform as described above.

[0193] The computer program product provided by the present application can solve the technical problems of distributed computing optimization based on the AutoEdge platform. Compared with the prior art, the beneficial effects of the computer program product provided by the present application are the same as those of the distributed computing optimization method based on the AutoEdge platform provided in the above embodiments, and will not be elaborated here.

[0194] The above are only partial embodiments of the present application, and thus do not limit the patent scope of the present application. Any equivalent structural transformation made under the technical concept of the present application by using the content of the specification and drawings of the present application, or any direct / indirect application in other related technical fields, is included in the patent protection scope of the present application.

Claims

1. A distributed computing optimization method based on the AutoEdge platform, characterized in that: The distributed computing optimization method based on the AutoEdge platform includes: Acquire the workload within the task prediction period, perform feature extraction on the workload, and obtain a work feature value; Generate a characteristic curve by combining the work characteristic value and the acquisition frequency of the task prediction period; Fitting the characteristic curve to obtain a characteristic-time variation relationship; Determining a target prediction time, and determining a target workload based on the feature-time variation relationship and the target prediction time; generating a target task with the target workload; When the target task is determined, determine the online terminal nodes connected to the AutoEdge platform, and obtain the real-time status information of each of the online terminal nodes; Determining a task division density according to the number of the online terminal nodes, and dividing the target task into a plurality of target subtasks based on the task division density; Determine the task amount of each target subtask, determine the maximum load of the online terminal node according to the real-time status information, match the task amount with the maximum load, and obtain a task allocation list; The target subtask is allocated based on the task allocation list, the calculation result of the online terminal node based on the corresponding target subtask is received, and the calculation result is summarized and outputted.

2. The method according to claim 1, characterized in that The step of fitting the characteristic curve to obtain the characteristic-time variation relationship comprises: Determining a characteristic increment of a preset span of the characteristic curve, and generating a characteristic increment set based on the timing information and the characteristic increment; Comparing each feature increment in the feature increment set with an increment threshold respectively, and when the feature increment is greater than the increment threshold, performing a difference on the feature increment to determine a difference parameter; Performing curve correction on the characteristic curve using the differential parameter to obtain a corrected characteristic curve; The correction characteristic curve is combined with the timing information to obtain the characteristic-time change relationship, specifically: determine the time points in the timing information and the corresponding correction characteristic values ​​in the correction characteristic curve, make a one-to-one correspondence between the time points and the correction characteristic values ​​to obtain the corresponding relationship between the time points and the correction characteristic values, sort the corresponding relationship based on the time points to obtain the characteristic-time change relationship.

3. The method according to claim 1, characterized in that When the target task is determined, the steps of determining the online terminal nodes connected to the AutoEdge platform and respectively obtaining the real-time status information of each of the online terminal nodes include: When the target task is determined, node activity detection information is generated, and the node activity detection information is sent to each terminal node connected to the AutoEdge platform to obtain online terminal nodes among the terminal nodes; Determine the communication address of the online terminal node, and generate state extraction information based on the communication address and the state extraction instruction; The state extraction information is sent to the online terminal node, and real-time state information fed back by the online terminal node based on the state extraction information is received.

4. The method according to claim 1, characterized in that The step of determining the task division density according to the number of the online terminal nodes, and dividing the target task into a plurality of target subtasks based on the task division density comprises: Determine the number of online terminal nodes, determine an average task load based on the number of nodes and the task amount of the target task, and determine the average task load as the task division density; Determine a task composition of the target task, wherein the task composition includes a plurality of task units; Determine the task size of the task unit, and sort the task units based on the task size to obtain a task division queue; The task division queue is traversed, and tasks in the task division queue are reorganized based on the task division density to obtain a plurality of target subtasks.

5. The method according to claim 1, characterized in that The steps of respectively determining the task amounts of the target subtasks, determining the maximum load of the online terminal node according to the real-time status information, matching the task amounts with the maximum load, and obtaining a task allocation list include: Determine the task amounts of the target subtasks respectively, and determine the completeness scores of the task amounts; Determine the maximum load that the online terminal node can bear according to the real-time status information; Matching the maximum accepted load with the task volume, and when the maximum accepted load and the task volume are equal, performing preliminary task allocation, and allocating successfully matched tasks to corresponding online terminal nodes; After the initial task allocation, the remaining target subtasks and the online terminal nodes are updated to obtain a target subtask to-be-allocated queue and an online terminal node to-be-allocated queue; Traversing the target subtasks in the target subtask to-be-allocated queue, and determining the degree of matching with the target subtasks in the online terminal node to-be-allocated queue based on the completeness score and task volume of the target subtasks; The target subtask is matched for the online terminal node based on the matching degree to obtain a task allocation list.

6. The method according to claim 5, characterized in that The step of traversing the target subtasks in the target subtask to-be-allocated queue and determining the degree of matching with the target subtask in the online terminal node to-be-allocated queue based on the completeness score and task volume of the target subtask comprises: Traversing each maximum load in the queue to be allocated of the online terminal node; Traversing the target subtasks in the target subtask to-be-allocated queue, determining the task amount of the target subtask, and determining the redundant load between the task amount and the maximum accepted load, wherein the redundant load is the difference between the maximum accepted load and the task amount; Determine the maximum number of task units in the queue to be assigned to the target subtask, determine the number of task units of the target subtask, and determine the completeness score of the target subtask according to the maximum number of task units and the number of task units; A first matching degree is obtained according to the completeness score and the first weight, a second matching degree is obtained according to the redundant load and the second weight, and the first matching degree and the second matching degree are aggregated to obtain a matching degree between the target subtask and the online terminal node.

7. The method according to claim 5, characterized in that The step of matching the target subtask for the online terminal node based on the matching degree to obtain a task allocation list comprises: Matching the online terminal node corresponding to the maximum accepted load with the target subtask with the largest completeness score to obtain a task matching combination; When the online terminal node can successfully match the target subtask, the task matching combination is added to the task allocation list, and the online terminal node queue and the target subtask queue are updated; When the online terminal node fails to match the target subtask, the target subtask is split based on the maximum accepted load to obtain a first task part and a second task part, wherein the task amount of the first task part corresponds to the maximum accepted load, and the second task part is inserted into the target subtask queue based on the task amount, and the online terminal node queue and the target subtask queue are updated; According to the order of the maximum accepted load and the completeness score, based on the updated online terminal node queue and the updated target subtask queue, the step of repeatedly matching the online terminal node corresponding to the maximum accepted load with the target subtask with the largest completeness score is performed to obtain a task matching combination.

8. The method according to claim 1, characterized in that After the steps of allocating the target subtask based on the task allocation list, receiving the calculation results of the online terminal node based on the corresponding target subtask, and summarizing and outputting the calculation results, the method further includes: Determine the start time of the target task and the end time of aggregating the calculation results, and determine the task processing time according to the start time and the end time; Obtaining the task completion time of each online terminal node, and calculating the optimization factor according to the task completion time and the task processing time; The optimization factor is added to the AutoEdge platform. When the next target task is determined, the task is allocated according to the optimization factor, the task amount of the target subtask and the maximum load of the online terminal node to obtain a task allocation list.

9. A distributed computing optimization device based on the AutoEdge platform, characterized in that: The distributed computing optimization device based on the AutoEdge platform includes: A node detection module is used to obtain the workload within the task prediction period, perform feature extraction on the workload, and obtain a work feature value; generate a feature curve by combining the work feature value with the acquisition frequency of the task prediction period; fit the feature curve to obtain a feature-time variation relationship; determine a target prediction moment, and determine a target workload based on the feature-time variation relationship and the target prediction moment; generate a target task with the target workload; when the target task is determined, determine the online terminal nodes connected to the AutoEdge platform, and obtain the real-time status information of each of the online terminal nodes respectively; A task division module, used to determine the task division density according to the number of the online terminal nodes, and divide the target task into a plurality of target subtasks based on the task division density; A task allocation module, used to determine the task amount of the target subtask respectively, determine the maximum load of the online terminal node according to the real-time status information, match the task amount with the maximum load, and obtain a task allocation list; The task processing module is used to allocate the target subtask based on the task allocation list, receive the calculation results of the online terminal node based on the corresponding target subtask, and summarize and output the calculation results.

Citation Information

Patent Citations

  • Data analysis method, system and equipment based on distributed communication and medium

    CN119402440A