A data processing method, device, apparatus, and storage medium

By scheduling through the central server, the tasks to be processed by the front-end devices are allocated to the appropriate target devices for processing, which solves the problem of insufficient computing power of the front-end devices and improves resource utilization and data processing speed.

CN115904667BActive Publication Date: 2026-04-28ZHEJIANG UNIVIEW TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZHEJIANG UNIVIEW TECH CO LTD
Filing Date
2022-12-21
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Insufficient computing power of front-end devices leads to low data processing efficiency, and sending data to the server for processing increases the server load and wastes the computing resources of the front-end devices.

Method used

The central server schedules tasks to be processed and assigns them to target devices with appropriate computing power. By utilizing the remaining computing power of candidate devices, collaborative processing of tasks can be achieved.

Benefits of technology

This improves the resource utilization and data processing speed of front-end devices, while avoiding an increase in server computing load.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115904667B_ABST
    Figure CN115904667B_ABST
Patent Text Reader

Abstract

Embodiments of the present application disclose a data processing method, device and equipment, and a storage medium. The method applied to a front-end device comprises: if the computing power data required by a to-be-processed task is greater than the computing power data of the front-end device, taking the front-end device as a first device, determining a to-be-assigned task from the to-be-processed task; sending task information of the to-be-assigned task to a central server, so that the central server determines characteristic data of the to-be-assigned task according to the task information, determines a target device from candidate devices according to the characteristic data of the to-be-assigned task and the characteristic data of the candidate devices, so that the target device executes the to-be-assigned task based on to-be-assigned data; and in response to a target device selection completion message sent by the central server, sending the to-be-assigned data corresponding to the to-be-assigned task to the central server. The technical solution realizes normal processing of the to-be-processed task, improves the processing efficiency of the to-be-processed task, and improves the resource utilization rate of the front-end device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology, and in particular to a data processing method, apparatus, device and storage medium. Background Technology

[0002] In the security field, front-end devices are typically used to collect and process data in security scenarios. For example, in patrol scenarios, patrol vehicles are generally equipped with high-definition camera front-end devices. These devices can record the patrol scene in real time and assist patrol personnel in automatically performing some analysis tasks, such as facial image recognition and vehicle violation detection. However, because the data processing tasks that front-end devices can perform are limited by the computing power of their own hardware, their data processing efficiency will be greatly reduced when the computing power of the front-end devices is insufficient.

[0003] The current solution addresses the issue of insufficient computing power on the front-end devices by sending data collected by the front-end devices to the server, processing the data using the server's computing power, and then sending it back to the front-end devices. However, this not only increases the server's computing load but also prevents the front-end devices from fully utilizing their computing capabilities, resulting in a waste of computing resources on the front-end devices to some extent.

[0004] Therefore, how to provide a technical solution that can efficiently process data from front-end devices is a technical problem that urgently needs to be solved by those skilled in the art. Summary of the Invention

[0005] This application provides a data processing method, apparatus, device, and storage medium to improve the processing efficiency of tasks to be processed in front-end devices, ensure that tasks to be processed can be processed normally, and improve the resource utilization of front-end devices.

[0006] In a first aspect, this application provides a data processing method applied to a front-end device, the method comprising:

[0007] If the computing power required for the task to be processed is greater than the computing power required for the front-end device, then the front-end device is designated as the first device, and the task to be assigned is determined from the tasks to be processed.

[0008] The task information of the task to be assigned is sent to the central server so that the central server can determine the feature data of the task to be assigned based on the task information, and determine the target device from the candidate devices based on the feature data of the task to be assigned and the feature data of the candidate devices, so that the target device can execute the task to be assigned based on the data to be assigned.

[0009] The task information includes the first device information and the characteristic data of the task to be assigned; the characteristic data of the task to be assigned includes the computing power data required to process the task and the target task type; the characteristic data of the candidate device includes the remaining computing power data of the candidate device and the types of tasks it supports.

[0010] It receives the target device selection completion message sent by the central server and, in response to the target device selection completion message, sends the data to be assigned corresponding to the task to be assigned to the central server.

[0011] Secondly, this application provides a data processing method applied to a central server, the method comprising:

[0012] From the front-end devices other than the first device, determine the front-end devices that support processing task types that include at least one target task type as candidate devices; wherein, the target task type is the task type of the task to be assigned in the first device;

[0013] Based on the feature data of the task to be assigned and the feature data of the candidate devices, the target device is determined from the candidate devices; wherein, the feature data of the task to be assigned includes the computing power data required to process the task to be assigned and the target task type; the feature data of the candidate device includes the remaining computing power data of the candidate device and the types of tasks it supports to process.

[0014] The task information of the task to be assigned is sent to the target device, and the data to be assigned corresponding to the task to be assigned is forwarded from the first device to the target device, so that the target device can execute the task to be assigned based on the data to be assigned; wherein, the task information includes the information of the first device and the feature data of the task to be assigned.

[0015] Thirdly, this application provides a data processing apparatus for use in a front-end device, the apparatus comprising:

[0016] The task to be assigned module is used to determine the task to be assigned from the tasks to be processed if the computing power required by the task to be processed is greater than the computing power of the front-end device.

[0017] The task-to-be-assigned module is used to send task information of the task to be-assigned to the central server, so that the central server can determine the feature data of the task to be-assigned based on the task information, and determine the target device from the candidate devices based on the feature data of the task to be-assigned and the feature data of the candidate devices, so that the target device can execute the task to be-assigned based on the task to be-assigned data.

[0018] The task information includes first device information and feature data of the task to be assigned; the feature data of the task to be assigned includes computing power data required to process the task and target task type; the feature data of the candidate device includes the remaining computing power data of the candidate device and the types of tasks it supports.

[0019] The data to be assigned module is used to receive the target device selection completion message sent by the central server, and in response to the target device selection completion message, send the data to be assigned corresponding to the task to be assigned to the central server.

[0020] Fourthly, this application provides a data processing apparatus for use in a central server, the apparatus comprising:

[0021] The candidate device determination module is used to determine, from the front-end devices other than the first device, a front-end device that supports processing task types including at least one target task type as a candidate device; wherein, the target task type is the task type of the task to be assigned in the first device;

[0022] The target device determination module is used to determine the target device from the candidate devices based on the feature data of the task to be assigned and the feature data of the candidate devices; wherein, the feature data of the task to be assigned includes the computing power data required to process the task to be assigned and the target task type; the feature data of the candidate device includes the remaining computing power data of the candidate device and the types of tasks it supports to process;

[0023] The data allocation and processing module is used to send task information of the task to be allocated to the target device, and forward the data to be allocated corresponding to the task to be allocated from the first device to the target device, so that the target device can execute the task to be allocated based on the data to be allocated; wherein, the task information includes the information of the first device and the feature data of the task to be allocated.

[0024] Fifthly, this application provides an electronic device, the device comprising:

[0025] At least one processor; and

[0026] A memory that is communicatively connected to at least one processor; wherein,

[0027] The memory stores a computer program that can be executed by at least one processor, such that the at least one processor can execute the data processing method for a front-end device provided in the first aspect of this application, or execute the data processing method for a central server provided in the second aspect of this application.

[0028] According to another aspect of this application, a computer-readable storage medium is provided, which stores computer instructions for causing a processor to execute the data processing method for a front-end device provided in the first aspect of this application, or the data processing method for a central server provided in the second aspect of this application.

[0029] The technical solution of this application embodiment includes, on one hand, when applied to a central server, determining, from front-end devices other than the first device, front-end devices that support processing task types including at least one target task type as candidate devices; determining a target device from the candidate devices based on the feature data of the task to be assigned and the feature data of the candidate devices; sending task information of the task to be assigned to the target device, and forwarding the data to be assigned corresponding to the task to be assigned from the first device to the target device, so that the target device executes the task to be assigned based on the data to be assigned. On the other hand, when applied to a front-end device, the solution includes: if the computing power data required by the task to be processed is greater than the computing power data of the front-end device, then using the front-end device as the first device, determining the task to be assigned from the tasks to be processed; sending task information of the task to be assigned to the central server, so that the central server determines the feature data of the task to be assigned based on the task information, and determines the target device from the candidate devices based on the feature data of the task to be assigned and the feature data of the candidate devices, so that the target device executes the task to be assigned based on the data to be assigned; and sending the data to be assigned corresponding to the task to be assigned to the central server in response to a target device selection completion message sent by the central server. This technical solution enables the target device to process tasks even when the computing power of the first device is insufficient, thereby improving the processing efficiency of the tasks, ensuring their normal processing, and increasing the resource utilization of the front-end devices.

[0030] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this application, nor is it intended to limit the scope of this application. Other features of this application will become readily apparent from the following description. Attached Figure Description

[0031] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0032] Figure 1 A flowchart of a data processing method provided in Embodiment 1 of this application;

[0033] Figure 2 A flowchart of a data processing method provided in Embodiment 2 of this application;

[0034] Figure 3 A flowchart of a data processing method provided in Embodiment 3 of this application;

[0035] Figure 4 A flowchart of a data processing method provided in Embodiment 4 of this application;

[0036] Figure 5 A flowchart of a data processing method provided in Embodiment 5 of this application;

[0037] Figure 6 This is a schematic diagram of the structure of a data processing device provided in Embodiment Six of this application;

[0038] Figure 7 This is a schematic diagram of the structure of a data processing device provided in Embodiment 7 of this application;

[0039] Figure 8 This is a schematic diagram of the structure of an electronic device that implements a data processing method according to an embodiment of this application. Detailed Implementation

[0040] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0041] It should be noted that the terms "first," "second," "target," "candidate," "to be assigned," "to be processed," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0042] Example 1

[0043] Figure 1This is a flowchart illustrating a data processing method provided in Embodiment 1 of this application. This embodiment is applicable to processing data collected by a front-end device. The method can be executed by a data processing device applied to the front-end device. This data processing device can be implemented in hardware and / or software and can be configured in an electronic device with data processing capabilities. Figure 1 As shown, the method includes:

[0044] S110. If the computing power required for the task to be processed is greater than the computing power of the front-end device, then the front-end device is designated as the first device, and the task to be assigned is determined from the tasks to be processed.

[0045] The front-end device can be any device capable of processing data, such as a camera or camcorder capable of capturing and processing images. The task to be processed can be the task that the front-end device is currently processing, such as facial image recognition, vehicle violation detection, image enhancement processing, or people counting.

[0046] The computing power data can be a quantified value of the computing power required to process the task. The computing power data of the front-end device can be a quantified value of the data processing computing power possessed by the front-end device, which can be determined by the performance of the front-end device. For example, if front-end device A can process 300 pixels per second and front-end device B can process 500 pixels per second, then the computing power data of front-end device A can be determined as 3 and the computing power data of front-end device B as 5 according to a preset mapping relationship. The computing power data required for the task to be processed can be determined based on work experience, and its size depends on the task type and the resolution of the data stream to be analyzed. Specifically, the more complex the task type, the greater the computing power data required; the greater the resolution of the data stream to be analyzed, the greater the computing power data required. For example, the computing power data corresponding to a people counting task using data collected by a 4MP camera can be set to 2, and the computing power data corresponding to a people counting task using data collected by a 2MP camera can be set to 1.

[0047] Specifically, if the computing power required for the task to be processed is greater than that of the front-end device, it can be determined that the computing power of the front-end device is insufficient to process the task. In this case, the task to be processed in the front-end device needs to be reallocated to other devices for execution to ensure the processing speed and quality of the task in the front-end device. Therefore, the front-end device can be designated as the first device to determine the return address of the processing result obtained after the assigned task is executed.

[0048] It should be noted that the front-end device can execute one or more pending tasks simultaneously. In this embodiment of the invention, if the front-end device executes one pending task, and the computing power required by the pending task is greater than the computing power of the front-end device, then all pending tasks can be designated as tasks to be assigned; if the front-end device executes multiple pending tasks, and the computing power required by the pending tasks is greater than the computing power of the front-end device, then tasks other than those that the front-end device can process can be designated as tasks to be assigned.

[0049] As an optional but non-limiting implementation, determining the tasks to be assigned from the pending tasks may include, but is not limited to, the following steps A1 to A3:

[0050] Step A1: Based on the remaining computing power data of the first device and the computing power data required to process each task, combine the tasks to be processed; wherein the sum of the computing power data required to process each task in the combination is less than or equal to the remaining computing power data of the first device.

[0051] For example, if the remaining computing power of the first device is 5, and the computing power required for each task to be processed, ta, tb, tc, td, te, and tf, is 5, 4, 3, 2, 2, and 1, respectively, the tasks to be processed can be combined such that the sum of the computing power required to process each task in the combination is less than or equal to the remaining computing power of the first device. Then, the task combinations that the first device can process can be {ta}, {tb, tf}, {tc, td}, {tc, te}, and {td, te, tf}.

[0052] Step A2: Select the combination that contains the largest number of tasks to be processed and has the largest total computing power data required to process each task as a reserved task, so that the first device can process the reserved task.

[0053] For example, if the remaining computing power of the first device is 5, and the computing power required for each task to be processed, ta, tb, tc, td, te, and tf, is 5, 4, 3, 2, 2, and 1, respectively, the tasks to be processed are combined such that the sum of the computing power required to process each task in the combination is less than or equal to the remaining computing power of the first device. Then, the task combinations that the first device can process can be {ta}, {tb, tf}, {tc, td}, {tc, te}, and {td, te, tf}. Among them, the combination {td, te, tf} contains the most tasks to be processed. Therefore, the tasks to be processed, td, te, and tf are reserved tasks and processed by the first device.

[0054] For example, if the remaining computing power of the first device is 8, and the computing power required for each task to be processed, ti, tj, and tk, is 5, 4, and 3 respectively, the tasks to be processed are combined such that the total computing power required to process each task in the combination is less than or equal to the remaining computing power of the first device. Then, the task combinations that the first device can process can be {ti, tk} and {tj, tk}. The total computing power required to process each task in the first combination is 8, and the total computing power required to process each task in the second combination is 7. Then, the tasks to be processed, ti and tk, in the combination {tj, tk} are reserved tasks and processed by the first device.

[0055] Step A3: Treat all pending tasks other than the reserved tasks as tasks to be assigned.

[0056] For example, if the tasks to be processed are ta, tb, tc, td, te and tf, according to the selection principle of reserved tasks in step A2, td, te and tf are selected as reserved tasks, then ta, tb and tc are tasks to be assigned.

[0057] The beneficial effects of the above scheme are that it maximizes the utilization rate of the computing power resources of the first device, minimizes the workload of other front-end devices that cooperate with the first device to perform tasks, further improves the resource utilization rate of the front-end devices, and increases the data processing speed of the front-end devices.

[0058] S120. Send the task information of the task to be assigned to the central server, so that the central server determines the feature data of the task to be assigned based on the task information, and determines the target device from the candidate devices based on the feature data of the task to be assigned and the feature data of the candidate devices, so that the target device executes the task to be assigned based on the task to be assigned; wherein, the task information includes first device information and the feature data of the task to be assigned; the feature data of the task to be assigned includes the computing power data required to process the task to be assigned and the target task type; the feature data of the candidate devices includes the remaining computing power data of the candidate devices and the task types that they support processing.

[0059] The central server can be used to schedule and allocate tasks. For example, in a security system for a certain area, multiple front-end devices can be used to perform real-time collaborative monitoring of the area. If the computing power of one of the front-end devices is insufficient to handle the tasks, the central server can schedule the remaining front-end devices to process the tasks collaboratively.

[0060] The candidate device can be any front-end device other than the first device that has the capability to collaborate with the first device in executing the assigned task. The target device can be the optimal front-end device selected by the central server from the candidate devices. The first device information may include the first device's IP address or port information, to ensure that the execution result of the assigned task can be returned to the first device.

[0061] Optionally, the task information request for the task to be assigned can be represented by the following expression:

[0062] Request a→center ={AnalyseList,DeviceInfo};

[0063] Among them, Request a→center This indicates a task information request. AnalyseList represents the characteristic data of the task to be assigned, and DeviceInfo represents the first device information.

[0064] The first device information can be represented by the following expression:

[0065] DeviceInfo={NetInfo,VideoInfo,OtherInfo};

[0066] Among them, NetInfo represents the network information of the first device, VideoInfo represents the video resolution information of the first device, and OtherInfo represents other information of the first device.

[0067] S130. Receive the target device selection completion message sent by the central server, and in response to the target device selection completion message, send the data to be assigned corresponding to the task to be assigned to the central server.

[0068] The "Target Device Selection Complete" message is a signaling message generated by the central server after identifying the target device. It is used to notify the first device that the allocation scheme for the task to be assigned has been completed. The data to be assigned can be the data to be processed by the task to be assigned. It should be noted that the data to be assigned forwarded to each target device is the same; for example, the video stream collected in real time by the first device is sent synchronously to each target device.

[0069] Specifically, the data to be allocated can be forwarded in the form of streaming media, that is, the data stream is forwarded without any formatting or content processing, and continuously transmitted in real time from the central server to the target device. After receiving the data stream, the target device starts analysis of the data stream. This transmission method not only significantly reduces the startup latency, but also reduces the number of data streams sent by the first device, thus reducing the concurrent pressure on the first device.

[0070] This invention provides a data processing method applied to a front-end device. The method involves: if the computing power required for a task to be processed is greater than the computing power required for the front-end device, then designating the front-end device as a first device and determining a task to be assigned from the list of tasks to be processed; sending task information of the task to be assigned to a central server, so that the central server determines the characteristic data of the task to be assigned based on the task information; and determining a target device from the candidate devices based on the characteristic data of the task to be assigned and the characteristic data of the candidate devices, so that the target device executes the task to be assigned based on the assigned data; receiving a target device selection completion message from the central server, and in response to the target device selection completion message, sending the assigned data corresponding to the task to be assigned to the central server. This technical solution aims to achieve collaborative processing of tasks to be processed, improve the resource utilization of the front-end device, and increase the data processing speed of the front-end device.

[0071] Example 2

[0072] Figure 2 This is a flowchart of a data processing method provided in Embodiment 2 of this application. This embodiment is an optimization based on the above embodiment. Figure 2 As shown, the method in this embodiment specifically includes the following steps:

[0073] S210. If the computing power required for the task to be processed is less than the computing power of the front-end device, then the front-end device is selected as a candidate device.

[0074] Specifically, if the computing power required for the task to be processed is less than the computing power of the front-end devices other than the first device, it can be determined that the computing power of the front-end device is sufficient to process the task to be processed, and the front-end device still has remaining computing power that can cooperate with other front-end devices to execute the task, then the front-end device is regarded as a candidate device.

[0075] S220: Receive the task information of the task to be assigned and the data to be assigned corresponding to the task sent by the central server, and execute the task to be assigned based on the data to be assigned.

[0076] Specifically, after the central server determines the target device based on the candidate devices, each target device receives a signaling message from the central server to initiate a collaborative task. This signaling message includes the task information to be assigned and the corresponding data to be assigned.

[0077] Optionally, the signaling to initiate a collaborative task can be represented by the following expression:

[0078] ReciveQuest={SourceDev,TaskList};

[0079] Among them, ReciveQuest represents the signaling to initiate a collaborative task, SourceDev represents the first device information, and TaskList represents the task information to be assigned.

[0080] The task information for tasks to be assigned can be represented by the following expression:

[0081] TaskList={{TaskType1,CP1},…,{TaskType n ,CP n}};

[0082] Where TaskType represents the target task type of the task to be assigned, CP represents the computing power data required by the task to be assigned, and n represents the number of tasks to be assigned.

[0083] Optionally, after receiving the task information and corresponding data for the tasks to be assigned from the central server, the target device may send a status change notification to the central server to update its current status and remaining computing power data. The current status may include "unanalyzed" or "analyzed," and the remaining computing power data refers to the computing power data of the target device after deducting its own required computing power and the computing power required by the tasks to be assigned.

[0084] S230. Based on the first device information in the task information, send the result of executing the task to be assigned based on the data to be assigned to the first device.

[0085] Specifically, the target device can periodically send the results of the task to be assigned based on the data to be assigned to the first device, which will then process the data according to the task type.

[0086] Optionally, when the target device's own data processing task is triggered, it can send a message to the central server to terminate the currently assigned task and send the result obtained from executing the assigned task based on the assigned data to the first device before stopping the execution of the currently assigned task; then the central server can determine a new target device based on the task information of the terminated task and other front-end devices.

[0087] Based on the above embodiments, optionally, each front-end device reports registration information to the central server. The registration information may include the front-end device's address information, access information, total computing power data, used computing power data, and current status. The access information may include the types of tasks the front-end device can support processing, and the current status may include analysis status and offline status. Specifically, initially, the front-end device's used computing power data is set to 0, the current analysis status is set to idle, and the offline status can be represented according to the registration agreement.

[0088] Based on the above embodiments, optionally, a task distribution message confirmation mechanism can be added between the first device, the central server, and the candidate devices to achieve better collaborative effects.

[0089] This invention provides a data processing method applied to a front-end device. The method involves selecting the front-end device as a candidate device if the computing power required for a task to be processed is less than the computing power required by the front-end device; receiving task information and corresponding data to be assigned from a central server; executing the task based on the data to be assigned; and sending the result of executing the task based on the data to the first device, according to first device information in the task information. This technical solution aims to limit the workflow of front-end devices with collaborative execution capabilities, ensuring the data processing speed of the front-end devices.

[0090] Example 3

[0091] Figure 3 This is a flowchart illustrating a data processing method provided in Embodiment 1 of this application. This embodiment is applicable to situations where a central server processes data collected by front-end devices. The method can be executed by a data processing device applied to the central server. This data processing device can be implemented in hardware and / or software and can be configured in an electronic device with data analysis capabilities. Figure 3 As shown, the method includes:

[0092] S310. From the front-end devices other than the first device, determine the front-end devices that support processing task types that include at least one target task type as candidate devices; wherein, the target task type is the task type of the task to be assigned in the first device.

[0093] The tasks to be assigned can be one or more tasks that the computing power of the first device is insufficient to process. The task type can be used to characterize the function of the task. For example, the task type can be facial image recognition, vehicle violation detection, image enhancement processing, people counting, etc.

[0094] Specifically, the target task type can be determined based on the data processing capabilities of the first device and the data processing capabilities required by the task to be processed. For example, the data processing capabilities of the first device and the data processing capabilities required by the task can be quantified to obtain computing power data. Based on the computing power data, tasks other than those that can be processed by the computing power data of the first device can be identified as tasks to be assigned.

[0095] For example, if the computing power of the first device is 5, and the computing power required for task types a, b and c to be processed by the first device is 8, 6 and 4 respectively, then task type c is the task that the computing power of the first device can process, and task types a and b are the target task types to be assigned.

[0096] In this embodiment of the invention, candidate devices can be determined based on the task type of the task to be assigned in the first device. For example, based on the task types supported by front-end devices other than the first device and the target task type of the task to be assigned in the first device, front-end devices whose supported task types include at least one target task type are selected as candidate devices.

[0097] For example, if the target task type of the task to be assigned in the first device includes facial image recognition, vehicle violation recognition, and people counting, then among the front-end devices other than the first device, the front-end devices that support processing task types including facial image recognition, vehicle violation recognition, people counting, facial image recognition and vehicle violation recognition, vehicle violation recognition and people counting, facial image recognition and people counting, or facial image recognition, vehicle violation recognition and people counting are selected as candidate devices.

[0098] S320. Determine a target device from the candidate devices based on the feature data of the task to be assigned and the feature data of the candidate devices; wherein, the feature data of the task to be assigned includes the computing power data required to process the task to be assigned and the target task type; the feature data of the candidate devices includes the remaining computing power data of the candidate devices and the types of tasks that can be processed.

[0099] The remaining computing power data of the candidate devices can be determined based on the performance of the candidate devices and the computing power data required by the tasks that the candidate devices need to process.

[0100] The target device can be the optimal combination of devices that collaboratively execute the assigned task. For example, the target device can be the front-end device that minimizes the number of front-end devices collaboratively executing the assigned task. Another example is the front-end device that maximizes the processing or transmission speed of the front-end devices collaboratively executing the assigned task.

[0101] In this embodiment of the invention, the task types that each candidate device can process can be determined based on the computing power data required for the task to be assigned, the target task type, the remaining computing power data of the candidate devices, and the task types that can be processed. Based on the task types that each candidate device can process, the candidate devices are combined so that each task to be assigned has a corresponding front-end device for execution. The combination that minimizes the number of front-end devices that collaboratively execute the task to be assigned is selected as the target device.

[0102] S330. Send the task information of the task to be assigned to the target device, and forward the data to be assigned corresponding to the task to be assigned from the first device to the target device, so that the target device executes the task to be assigned based on the data to be assigned; wherein, the task information includes the information of the first device and the feature data of the task to be assigned.

[0103] The task information may include the first device information, as well as the task type and computing power data of the task to be assigned to the target device.

[0104] In this embodiment of the invention, the central server can determine the task information of the tasks to be assigned to each target device based on the determined target devices, and send the task information of the tasks to be assigned to each target device to notify each target device to execute which task from which device. Furthermore, the first device can send the data to be assigned to the central server in real time, and the central server forwards the data to be assigned to each target device after determining the target devices.

[0105] As an optional but non-limiting implementation, forwarding the data to be assigned corresponding to the task to be assigned from the first device to the target device may include, but is not limited to, the following steps B1 to B2:

[0106] Step B1: Send a target device selection completion message to the first device, so that the first device responds to the target device selection completion message by sending the data to be assigned corresponding to the task to be assigned to the central server.

[0107] The target device selection completion message can be expressed by the following expression:

[0108] MatchInfo={{Dev1,RTasks1},{Dev2,RTasks2},…,{Dev m ,RTasks m}};

[0109] Where MatchInfo represents the target device selection completion message, Dev represents the target device, RTaks represents the task type of the pending tasks processed by the target device, and m represents the number of target devices.

[0110] Step B2: Send the data to be assigned corresponding to the task to be assigned to the target device, so that the target device can execute the task to be assigned based on the data to be assigned.

[0111] In this embodiment of the invention, the data to be assigned corresponding to the task to be assigned can be sent to the target device according to the signaling sent by the first device to start the collaborative execution task after the target device selection completion message is sent to the first device.

[0112] The beneficial effect of the above scheme is that by establishing a message confirmation mechanism between the first device and the central server, a better collaborative execution effect can be achieved.

[0113] This invention provides a data processing method applied to a central server. The method involves identifying candidate devices from among the front-end devices (excluding a first device) that support processing task types including at least one target task type; determining a target device from the candidate devices based on the feature data of the task to be assigned and the feature data of the candidate devices; sending the task information of the task to be assigned to the target device; and forwarding the data to be assigned corresponding to the task from the first device to the target device, so that the target device executes the task to be assigned based on the data. This technical solution aims to process the task to be assigned, improve the resource utilization of the front-end devices, and increase the data processing speed of the front-end devices.

[0114] Example 4

[0115] Figure 4 This is a flowchart of a data processing method provided in Embodiment 2 of this application. This embodiment is an optimization based on the above embodiment. Figure 4 As shown, the method in this embodiment specifically includes the following steps:

[0116] S410. From the front-end devices other than the first device, determine the front-end devices that support processing task types including at least one target task type as candidate devices; wherein, the target task type is the task type of the task to be assigned in the first device.

[0117] S420. Based on the target task type of the task to be assigned and the task types that the candidate device supports processing, determine the first task type of the task to be assigned that the candidate device supports processing.

[0118] The first task type can be the intersection of the target task type to be assigned and the task types that the candidate device supports processing.

[0119] For example, if the target task type to be assigned includes facial image recognition, vehicle violation recognition, and people counting, and the task types that candidate device A supports processing include facial image recognition, license plate information recognition, and traffic flow statistics, then the first task type of candidate device A is facial image recognition.

[0120] S430. Based on the computing power data required to process the first task type and the remaining computing power data of the candidate devices, determine the second task type of the assigned task that each candidate device supports processing.

[0121] The second task type can be a task type that a candidate device selected from the first task types has the computing power to process. In this embodiment of the invention, the second task type can be determined by the computing power data required by the first task type and the remaining computing power data of the candidate device. Specifically, if the total computing power data required by at least one first task type is less than or equal to the remaining computing power data of the candidate device, then at least one first task type can be used as the second task type.

[0122] For example, if the remaining computing power of candidate device A is 5, and the computing power required for the tasks to be assigned corresponding to the first task types a and b is 6 and 4 respectively, then the second task type is determined to be b.

[0123] For example, if the remaining computing power of candidate device A is 5, and the computing power required for the tasks to be assigned corresponding to the first task types c, d, e, f, g and h are 5, 4, 3, 2, 2 and 1 respectively, then the second task type can be c, or {d, h}, or {e, f}, or {e, g}, or {f, g, h}.

[0124] For example, if the remaining computing power of candidate device A is 8, and the computing power required for the tasks to be assigned corresponding to the first task types i, j, and k is 5, 4, and 3 respectively, then the second task type can be {i, k} or {j, k}.

[0125] S440. Determine the target device from the candidate devices based on the number of second task types that the candidate devices support processing.

[0126] Specifically, the candidate devices that support the largest number of second task types can be combined to determine the target device, so that all second task types corresponding to each candidate device can cover the target task type.

[0127] In this embodiment of the invention, the candidate devices can also be freely combined so that all the second task types corresponding to each candidate device in the combination can cover the target task type, and then each candidate device in the combination with the fewest number of candidate devices is selected as the target device.

[0128] As an optional but non-limiting implementation, determining the target device from the candidate devices based on the number of second task types supported by the candidate devices may include, but is not limited to, the following steps C1 to C2:

[0129] Step C1: The candidate device with the largest number of second task types that it supports processing is identified as the target device.

[0130] For example, if the target task types corresponding to each task to be assigned are a, b, c, d, and e, and the second task types that candidate device A supports processing are a, b, and c, the second task types that candidate device B supports processing are a and b, the second task type that candidate device C supports processing is c, the second task types that candidate device D supports processing are c and d, and the second task types that candidate device E supports processing are d and e, then candidate device A, which supports processing three second task types, can be determined as the target device.

[0131] Step C2: From other candidate devices, select the candidate device that supports the most second task types and is different from the second task types supported by the target device, and determine it as the target device, until the total number of second task types supported by the target device is equal to the total number of target task types.

[0132] Let's take the example in step C1 as an example for explanation. From candidate devices B, C, D, and E, select the candidate device that supports the most second task types, i.e., candidate devices B, D, and E; from candidate devices B, D, and E, select the candidate device whose second task types are different from those supported by target device A, i.e., candidate device E is the target device; at this point, the total number of second task types that target device A and target device E can support equals the total number of target task types, then we stop determining the target device from other candidate devices.

[0133] The beneficial effect of the above scheme is that it achieves optimal allocation of front-end devices by minimizing the number of target devices, thereby improving the resource utilization rate of front-end devices.

[0134] S450. Send the task information of the task to be assigned to the target device, and forward the data to be assigned corresponding to the task to be assigned from the first device to the target device, so that the target device executes the task to be assigned based on the data to be assigned; wherein, the task information includes the information of the first device and the feature data of the task to be assigned.

[0135] This invention provides a data processing method applied to a central server. The method involves: identifying candidate devices from among the front-end devices (excluding a first device) that support at least one target task type; determining a first task type supported by the candidate devices for the task to be assigned based on the target task type and the task types supported by the candidate devices; determining a second task type supported by each candidate device based on the computing power required to process the first task type and the remaining computing power of the candidate devices; determining a target device from the candidate devices based on the number of second task types supported by each candidate device; sending task information of the task to be assigned to the target device and forwarding the corresponding data to be assigned from the first device to the target device, so that the target device executes the task based on the data to be assigned. This technical solution aims to achieve optimal allocation of front-end devices, improve resource utilization of front-end devices, and increase the data processing speed of front-end devices.

[0136] Based on the above embodiments, optionally, the feature data of the candidate device may also include network environment data of the candidate device; determining the target device from the candidate devices includes: determining the target device from the candidate devices belonging to the same local area network as the central server based on the network environment data of the candidate devices.

[0137] The network environment can be defined as a system that physically interconnects multiple front-end devices located in different locations to communicate with each other according to a certain protocol. Network environment data can be information about the network devices to which the candidate devices belong, such as the network device's IP address and port number. Network devices can be switches, routers, gateways, VPN servers, network interface cards, wireless access points, 5G base stations, optical transceivers, fiber optic transceivers, optical cables, etc.

[0138] In this embodiment of the invention, candidate devices belonging to the same local area network as the central server can be preferentially selected as target devices. The beneficial effect of this solution is that it can reduce the transmission distance between the front-end device and the central server, and improve the data processing efficiency of the front-end device.

[0139] Example 5

[0140] Figure 5 This is a flowchart of a data processing method provided in Embodiment 3 of this application. This embodiment is an optimization based on the above embodiment. Figure 5 As shown, the method in this embodiment specifically includes the following steps:

[0141] S510. Receive task information of the task to be assigned sent by the first device; wherein, the task information of the task to be assigned is sent when the remaining computing power data of the first device is less than the computing power data required to process the task to be assigned.

[0142] The task information may include information about the first device, the computing power data required for the task to be assigned, and the target task type. The task information received from the first device may be a compressed and packaged version of the computing power data required for the task to be assigned and the target task type.

[0143] Specifically, when the remaining computing power of the first device is less than the computing power required to process the tasks to be assigned, the first device sends the task information of the tasks to be assigned to the central server, so that the central server can allocate and schedule the tasks. The central server receives the task information of the tasks to be assigned from the first device.

[0144] For example, the remaining computing power of the first device is 2, and the computing power required by the tasks to be assigned is 3, 4, 5 and 6 respectively. At this time, the remaining computing power of the first device is insufficient to process the computing power required by the tasks to be assigned. Therefore, the first device sends the task information of the tasks to be assigned to the central server, and the central server receives the task information of the tasks to be assigned sent by the first device.

[0145] S520. Based on the task information of the task to be assigned, determine the feature data for processing the task to be assigned.

[0146] Specifically, the central server can decompress the task information of the task to be assigned sent by the first device to obtain the computing power data and target task type required to process the task to be assigned.

[0147] S530. From the front-end devices other than the first device, determine the front-end devices that support processing task types that include at least one target task type as candidate devices; wherein, the target task type is the task type of the task to be assigned in the first device.

[0148] S540. Based on the feature data of the task to be assigned and the feature data of the candidate devices, determine the target device from the candidate devices; wherein, the feature data of the task to be assigned includes the computing power data required to process the task to be assigned and the target task type; the feature data of the candidate devices includes the remaining computing power data of the candidate devices and the types of tasks that can be processed.

[0149] S550. Send the task information of the task to be assigned to the target device, and forward the data to be assigned corresponding to the task to be assigned from the first device to the target device, so that the target device executes the task to be assigned based on the data to be assigned; wherein, the task information includes the information of the first device and the feature data of the task to be assigned.

[0150] This invention provides a data processing method applied to a central server. The method involves receiving task information for a pending task sent by a first device. This task information is sent when the remaining computing power of the first device is less than the computing power required to process the pending task. Based on the task information, characteristic data for processing the pending task is determined. From front-end devices other than the first device, front-end devices that support processing task types including at least one target task type are selected as candidate devices. Based on the characteristic data of the pending task and the characteristic data of the candidate devices, a target device is determined from the candidate devices. The task information for the pending task is sent to the target device, and the pending task data corresponding to the pending task is forwarded from the first device to the target device, so that the target device executes the pending task based on the pending data. This technical solution enables the acquisition of pending tasks, and then the allocation and scheduling of these tasks, improving the resource utilization of front-end devices and increasing their data processing speed.

[0151] Based on the above embodiments, optionally, before determining the front-end device that supports processing the task types that includes at least one target task type as a candidate device, the central server receives and stores the registration information from each front-end device, which may include the front-end device's address information, access information, total computing power data, used computing power data, and current status. The access information may include the task types that the front-end device can support processing, and the current status may include the analysis status and the offline status.

[0152] Example 6

[0153] Figure 6 This is a schematic diagram of a data processing device provided in Embodiment 5 of this application. This device can execute the data processing method applied to a front-end device in this application, and has corresponding functional modules and beneficial effects for executing the method. For example... Figure 6 As shown, the device includes:

[0154] The task to be assigned module 610 is used to determine the task to be assigned from the tasks to be processed if the computing power data required by the task to be processed is greater than the computing power data of the front-end device.

[0155] The task-to-be-assigned module 620 is used to send task information of the task to be-assigned to the central server, so that the central server can determine the feature data of the task to be-assigned based on the task information, and determine the target device from the candidate devices based on the feature data of the task to be-assigned and the feature data of the candidate devices, so that the target device can execute the task to be-assigned based on the task to be-assigned data.

[0156] The task information includes first device information and feature data of the task to be assigned; the feature data of the task to be assigned includes computing power data required to process the task and target task type; the feature data of the candidate device includes the remaining computing power data of the candidate device and the types of tasks it supports.

[0157] The data to be assigned sending module 630 is used to receive the target device selection completion message sent by the central server, and in response to the target device selection completion message, send the data to be assigned corresponding to the task to be assigned to the central server.

[0158] This invention provides a data processing apparatus applied to a front-end device. If the computing power required for a task to be processed exceeds the computing power of the front-end device, the front-end device is designated as a first device, and a task to be assigned is determined from the tasks to be processed. Task information of the task to be assigned is sent to a central server, enabling the central server to determine the characteristic data of the task to be assigned based on the task information. Based on the characteristic data of the task to be assigned and the characteristic data of candidate devices, a target device is determined from the candidate devices, allowing the target device to execute the task to be assigned based on the assigned data. The task information includes information about the first device and the characteristic data of the task to be assigned. The characteristic data of the task to be assigned includes the computing power required to process the task and the target task type. The characteristic data of the candidate devices includes the remaining computing power of the candidate devices and the types of tasks they support. The apparatus receives a target device selection completion message from the central server and, in response, sends the assigned data corresponding to the task to be assigned to the central server. This technical solution aims to process tasks to be processed, improve the resource utilization of the front-end device, and increase the data processing speed of the front-end device.

[0159] Furthermore, the task-to-be-assigned determination module 610 includes:

[0160] The task combination unit is used to combine the tasks to be processed according to the remaining computing power data of the first device and the computing power data required to process each task to be processed; wherein the sum of the computing power data required to process each task to be processed in the combination is less than or equal to the remaining computing power data of the first device.

[0161] The reserved task determination unit is used to select the combination that contains the largest number of tasks to be processed and has the largest sum of computing power data required to process each task to be processed as a reserved task, so that the first device can process the reserved task.

[0162] The task to be assigned unit is used to identify tasks to be processed, other than the reserved tasks, as tasks to be assigned.

[0163] Furthermore, the device also includes:

[0164] The candidate device determination module is used to select the front-end device as a candidate device if the computing power required for the task to be processed is less than the computing power of the front-end device.

[0165] The task to be assigned execution module is used to receive task information of the task to be assigned and the task to be assigned corresponding to the task to be assigned sent by the central server, and to execute the task to be assigned based on the task to be assigned.

[0166] The task execution result feedback module is used to send the result of executing the task to be assigned based on the data to be assigned to the first device, according to the first device information in the task information.

[0167] The data processing apparatus provided in this application embodiment can execute the data processing method applied to the front-end device provided in this application embodiment, and has the corresponding functional modules and beneficial effects of executing the method.

[0168] Example 7

[0169] Figure 7 This is a schematic diagram of a data processing apparatus provided in Embodiment 4 of this application. This apparatus can execute the data processing method applied to a central server in this application, and possesses the corresponding functional modules and beneficial effects for executing the method. For example... Figure 7 As shown, the device includes:

[0170] The candidate device determination module 710 is used to determine, from the front-end devices other than the first device, a front-end device that supports processing task types including at least one target task type as a candidate device; wherein, the target task type is the task type of the task to be assigned in the first device;

[0171] The target device determination module 720 is used to determine a target device from the candidate devices based on the feature data of the task to be assigned and the feature data of the candidate devices; wherein, the feature data of the task to be assigned includes computing power data required to process the task to be assigned and the target task type; the feature data of the candidate devices includes the remaining computing power data of the candidate devices and the types of tasks that can be processed.

[0172] The data allocation processing module 730 is used to send the task information of the task to be allocated to the target device, and forward the data to be allocated corresponding to the task to be allocated from the first device to the target device, so that the target device executes the task to be allocated based on the data to be allocated; wherein, the task information includes the information of the first device and the feature data of the task to be allocated.

[0173] This invention provides a data processing apparatus applied to a central server. The apparatus identifies candidate devices from among front-end devices (excluding a first device) that support processing task types including at least one target task type. Based on the characteristic data of the task to be assigned and the characteristic data of the candidate devices, a target device is determined from the candidate devices. Task information of the task to be assigned is sent to the target device, and the data to be assigned corresponding to the task is forwarded from the first device to the target device, enabling the target device to execute the task based on the assigned data. This technical solution aims to allocate data processed by front-end devices, improve the resource utilization of front-end devices, and increase the data processing speed of front-end devices.

[0174] Furthermore, the target device determination module 720 includes:

[0175] The first task type determination unit is used to determine the first task type of the task to be assigned that the candidate device can process, based on the target task type of the task to be assigned and the task types that the candidate device can process.

[0176] The second task type determination unit is used to determine the second task type of the task to be assigned that each candidate device can support processing, based on the computing power data required to process the first task type and the remaining computing power data of the candidate devices.

[0177] The target device determination unit is configured to determine a target device from the candidate devices based on the number of second task types that the candidate devices support processing.

[0178] Furthermore, the target device determination unit includes:

[0179] The first target device determination subunit is used to determine the candidate device that supports the largest number of second task types as the target device;

[0180] The second target device determination subunit is used to select, from other candidate devices, the candidate device that supports the most second task types and is different from the second task types supported by the target device, and determine it as the target device, until the total number of second task types supported by the target device is equal to the total number of target task types.

[0181] Furthermore, the feature data of the candidate device also includes network environment data of the candidate device;

[0182] Determining the target device from the candidate devices includes:

[0183] Based on the network environment data of the candidate devices, the target device is determined from the candidate devices that belong to the same local area network as the central server.

[0184] Furthermore, the data allocation and processing module 730 includes:

[0185] The device selection completion determination unit is used to send a target device selection completion message to the first device, so that the first device responds to the target device selection completion message and sends the data to be allocated corresponding to the task to be allocated to the central server;

[0186] The data allocation unit is used to send the data to be allocated corresponding to the task to be allocated to the target device, so that the target device can execute the task to be allocated based on the data to be allocated.

[0187] Furthermore, the device also includes:

[0188] The task to be assigned receiving module is used to receive task information of the task to be assigned sent by the first device before determining a front-end device that includes at least one target task type among the task types that can be supported for processing, and before considering it as a candidate device; wherein, the task information of the task to be assigned is sent when the remaining computing power data of the first device is less than the computing power data required to process the task to be assigned;

[0189] The task feature data determination module is used to determine the feature data for processing the task to be assigned based on the task information of the task to be assigned.

[0190] The data processing apparatus provided in this application embodiment can execute the data processing method applied to the central server provided in this application embodiment, and has the corresponding functional modules and beneficial effects of executing the method.

[0191] Example 8

[0192] Figure 8A schematic diagram of an electronic device 10, which can be used to implement embodiments of this application, is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (such as helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the application described and / or claimed herein.

[0193] like Figure 8 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0194] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0195] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (target device PU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processors (DSPs), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as data processing methods.

[0196] In some embodiments, the data processing method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or mounted on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the data processing method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform the data processing method by any other suitable means (e.g., by means of firmware).

[0197] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0198] Computer programs used to implement the methods of this application may be written in any combination of one or more programming languages. These computer programs may be provided to the processor of a general-purpose computer, a special-purpose computer, or other programmable target-determining device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0199] In the context of this application, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium can be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0200] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0201] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0202] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.

[0203] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this application can be executed in parallel, sequentially, or in different orders, as long as the desired information of the technical solution of this application can be achieved, and this is not limited herein.

[0204] The specific embodiments described above do not constitute a limitation on the scope of protection of this application. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application should be included within the scope of protection of this application.

Claims

1. A data processing method, characterized in that, Applied to a front-end device, the method includes: If the computing power required for the task to be processed is greater than the computing power required for the front-end device, then the front-end device is designated as the first device, and the task to be assigned is determined from the tasks to be processed. The task information of the task to be assigned is sent to the central server, so that the central server can determine the feature data of the task to be assigned based on the task information, and determine the target device from the candidate devices based on the feature data of the task to be assigned and the feature data of the candidate devices, so that the target device can execute the task to be assigned based on the data to be assigned. The task information includes first device information and feature data of the task to be assigned; the feature data of the task to be assigned includes computing power data required to process the task and target task type; the feature data of the candidate device includes the remaining computing power data of the candidate device and the types of tasks it supports. The system receives a target device selection completion message from the central server and, in response to the target device selection completion message, sends the data to be assigned corresponding to the task to be assigned to the central server. The step of determining the target device from the candidate devices based on the feature data of the task to be assigned and the feature data of the candidate devices includes: Based on the target task type of the task to be assigned and the task types that the candidate device supports processing, a first task type for the task to be assigned that the candidate device supports processing is determined; the first task type is the intersection of the target task type of the task to be assigned and the task types that the candidate device supports processing. Based on the computing power data required to process the first task type and the remaining computing power data of the candidate devices, determine the second task type of the assigned task that each candidate device can support processing. The target device is determined from the candidate devices based on the number of second task types that the candidate devices support processing.

2. The method according to claim 1, characterized in that, Determine the tasks to be assigned from the pending tasks, including: Based on the remaining computing power data of the first device and the computing power data required to process each task, the tasks to be processed are combined; wherein the sum of the computing power data required to process each task in the combination is less than or equal to the remaining computing power data of the first device. The combination containing the largest number of pending tasks and the largest sum of computing power data required to process each pending task is designated as a reserved task, which is then processed by the first device. Tasks to be processed, other than the reserved tasks, will be designated as tasks to be assigned.

3. The method according to claim 1, characterized in that, The method further includes: If the computing power required for the task to be processed is less than the computing power of the front-end device, then the front-end device is selected as a candidate device. Receive task information of the task to be assigned and the corresponding data to be assigned from the central server, and execute the task to be assigned based on the data to be assigned; Based on the first device information in the task information, the result of executing the task to be assigned based on the data to be assigned is sent to the first device.

4. A data processing method, characterized in that, Applied to a central server, the method includes: From the front-end devices other than the first device, determine the front-end devices that support processing task types that include at least one target task type as candidate devices; wherein, the target task type is the task type of the task to be assigned in the first device; Based on the feature data of the task to be assigned and the feature data of the candidate devices, a target device is determined from the candidate devices; wherein, the feature data of the task to be assigned includes the computing power data required to process the task to be assigned and the target task type; the feature data of the candidate devices includes the remaining computing power data of the candidate devices and the types of tasks that they support processing. The task information of the task to be assigned is sent to the target device, and the data to be assigned corresponding to the task to be assigned is forwarded from the first device to the target device, so that the target device executes the task to be assigned based on the data to be assigned; wherein, the task information includes the information of the first device and the feature data of the task to be assigned; The step of determining the target device from the candidate devices based on the feature data of the task to be assigned and the feature data of the candidate devices includes: Based on the target task type of the task to be assigned and the task types that the candidate device supports processing, a first task type for the task to be assigned that the candidate device supports processing is determined; the first task type is the intersection of the target task type of the task to be assigned and the task types that the candidate device supports processing. Based on the computing power data required to process the first task type and the remaining computing power data of the candidate devices, determine the second task type of the assigned task that each candidate device can support processing. The target device is determined from the candidate devices based on the number of second task types that the candidate devices support processing.

5. The method according to claim 4, characterized in that, Determining a target device from the candidate devices based on the number of second task types they support includes: The candidate device with the largest number of supported second task types is identified as the target device; From the other candidate devices, select the candidate device that supports the most second task types and is different from the second task types supported by the target device, and determine it as the target device, until the total number of second task types supported by the target device is equal to the total number of target task types.

6. The method according to claim 4, characterized in that, Forwarding the data to be assigned corresponding to the task to be assigned from the first device to the target device includes: Send a target device selection completion message to the first device, so that the first device responds to the target device selection completion message by sending the data to be assigned corresponding to the task to be assigned to the central server; Send the data to be assigned corresponding to the task to be assigned to the target device, so that the target device executes the task to be assigned based on the data to be assigned; Before determining a front-end device that includes at least one target task type among the supported task types, as a candidate device, the method further includes: Receive task information of the task to be assigned sent by the first device; wherein, the task information of the task to be assigned is sent when the remaining computing power data of the first device is less than the computing power data required to process the task to be assigned; Based on the task information of the task to be assigned, determine the characteristic data for processing the task to be assigned.

7. A data processing apparatus, characterized in that, Applied to a front-end device, the device includes: The task to be assigned module is used to determine the task to be assigned from the tasks to be processed if the computing power required by the task to be processed is greater than the computing power of the front-end device. The task-to-be-assigned module is used to send task information of the task to be-assigned to the central server, so that the central server can determine the feature data of the task to be-assigned based on the task information, and determine the target device from the candidate devices based on the feature data of the task to be-assigned and the feature data of the candidate devices, so that the target device can execute the task to be-assigned based on the task to be-assigned data. The task information includes first device information and feature data of the task to be assigned; the feature data of the task to be assigned includes computing power data required to process the task and target task type; the feature data of the candidate device includes the remaining computing power data of the candidate device and the types of tasks it supports. The step of determining the target device from the candidate devices based on the feature data of the task to be assigned and the feature data of the candidate devices includes: Based on the target task type of the task to be assigned and the task types that the candidate device supports processing, a first task type for the task to be assigned that the candidate device supports processing is determined; the first task type is the intersection of the target task type of the task to be assigned and the task types that the candidate device supports processing. Based on the computing power data required to process the first task type and the remaining computing power data of the candidate devices, determine the second task type of the assigned task that each candidate device can support processing. The target device is determined from the candidate devices based on the number of second task types that the candidate devices support processing. The data to be assigned module is used to receive the target device selection completion message sent by the central server, and in response to the target device selection completion message, send the data to be assigned corresponding to the task to be assigned to the central server.

8. A data processing apparatus, characterized in that, The device, applied to a central server, includes: The candidate device determination module is used to determine, from the front-end devices other than the first device, a front-end device that supports processing task types including at least one target task type as a candidate device; wherein, the target task type is the task type of the task to be assigned in the first device; The target device determination module is used to determine a target device from the candidate devices based on the feature data of the task to be assigned and the feature data of the candidate devices; wherein, the feature data of the task to be assigned includes computing power data required to process the task to be assigned and the target task type; the feature data of the candidate devices includes the remaining computing power data of the candidate devices and the types of tasks that they support processing. The target device determination module includes: The first task type determination unit is used to determine the first task type of the task to be assigned, which is supported by the candidate device, based on the target task type of the task to be assigned and the task types supported by the candidate device; the first task type is the intersection of the target task type of the task to be assigned and the task types supported by the candidate device. The second task type determination unit is used to determine the second task type of the task to be assigned that each candidate device can support processing, based on the computing power data required to process the first task type and the remaining computing power data of the candidate devices. The target device determination unit is configured to determine a target device from the candidate devices based on the number of second task types that the candidate devices support processing. The data allocation processing module is used to send the task information of the task to be allocated to the target device, and forward the data to be allocated corresponding to the task to be allocated from the first device to the target device, so that the target device executes the task to be allocated based on the data to be allocated; wherein, the task information includes the information of the first device and the feature data of the task to be allocated.

9. An electronic device, characterized in that, The device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the data processing method applied to a client as described in any one of claims 1-3, or to perform the data processing method applied to a central server as described in any one of claims 4-6.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processing device, it implements the data processing method applied to the client as described in any one of claims 1-3, or implements the data processing method applied to the central server as described in any one of claims 4-6.

Citation Information

Patent Citations

  • Task processing method and device, equipment and storage medium

    CN112835703A