Task collaborative scheduling method and apparatus, device and medium
By splitting and arranging the target tasks and allocating nodes to generate subtask description information, the problems of single collaborative scenarios and inflexible resource scheduling in the digital retina system are solved, diversified task collaborative scheduling and device compatibility are achieved, and processing efficiency and resource utilization are improved.
Patent Information
- Application Number
- PCT/CN2024/144421
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-14
- Filing Date
- 2024-12-31
- Publication Date
- 2025-09-18
AI Technical Summary
In the existing digital retina system's end-edge-cloud collaborative research, the collaborative scenarios and task types are relatively single, making it difficult to meet the needs of diversified tasks. The decomposition and deployment patterns of computing tasks are fixed, making it difficult to achieve flexible resource scheduling and compatibility with devices with different capabilities.
By splitting and arranging the original task description information based on the target task, multiple subtasks and task logical topology relationships are generated, and an execution node is assigned to each subtask based on the node information, and the subtask description information is generated and finally sent to the execution node for task execution.
It achieves coverage of diversified task collaborative scheduling scenarios, is compatible with the access and scheduling of devices with different capabilities, meets the collaborative processing needs of different business types and scales, and improves processing efficiency and resource utilization.
Smart Images

Figure CN2024144421_18092025_PF_FP_ABST
Abstract
Description
Task collaborative scheduling method, device, equipment and medium Technical Field
[0001] The present application relates to the field of information collaborative processing, and in particular to a task collaborative scheduling method, apparatus, device and medium. Background Art
[0002] Research on the end-edge-cloud collaboration of digital retina systems is mainly based on the digital retina front-end feature extraction and system collaboration characteristics. It proposes the idea of completing part of the feature extraction and analysis and recognition tasks on the front-end, and completing the subsequent calculations of the analysis and recognition tasks on the edge and cloud sides in sequence and transmitting the intermediate results. The collaborative scenarios and task types that can be covered are relatively single, and there is still a lack of a logical model for end-edge-cloud collaboration from the perspective of diversified tasks, which makes it difficult to meet the needs of various collaborative applications in practice. At the same time, the decomposition and deployment mode of its computing tasks is relatively fixed, making it difficult to achieve more flexible collaborative scheduling in the resource and task dimensions and compatible with the access of devices with different capabilities. Therefore, the relevant technical solutions are difficult to meet the needs of video data collaborative scheduling in a wider range of application scenarios. Summary of the Invention
[0003] The main purpose of the embodiments of the present application is to propose a task collaborative scheduling method, apparatus, device and medium that can cover a variety of task collaborative scheduling scenarios.
[0004] To achieve the above objectives, a first aspect of an embodiment of the present application provides a task collaborative scheduling method, which is applied to a collaborative computing system including multiple nodes. The method includes:
[0005] Splitting and arranging the target task based on the original task description information of the target task to obtain a plurality of subtasks and task logical topology relationships between the subtasks;
[0006] Allocating a corresponding execution node to each of the subtasks from the collaborative computing system according to the node information of the node, and generating subtask description information;
[0007] The subtask description information is sent to the execution nodes, so that each of the execution nodes executes the subtask according to the logical topological relationship between the subtasks.
[0008] According to a task system scheduling method provided by an embodiment of the present application, the target task is split and arranged based on the original task description information of the target task to obtain multiple subtasks and task logical topology relationships between the subtasks, including:
[0009] Splitting the target task into multiple subtasks according to functional logic based on the original task description information;
[0010] Establishing a task logical topology relationship between the plurality of subtasks according to the task decomposition logic;
[0011] The task decomposition logic includes at least one of serial task logic, parallel task logic and conditional triggering task logic.
[0012] According to a task system scheduling method provided by an embodiment of the present application, splitting the target task into multiple subtasks according to functional logic based on the original task description information includes:
[0013] Determining available algorithm resources for the target task from a preset algorithm model library based on the original task description information;
[0014] Based on the available algorithm resources, the target task is split into multiple subtasks according to functional logic.
[0015] According to a task system scheduling method provided by an embodiment of the present application, the target task is a visual analysis task, and the subtask type corresponding to the visual analysis task includes at least one of a basic task type and a specific task type;
[0016] The basic task types include at least one of the following: video acquisition tasks, video / image preprocessing tasks, video encoding tasks, video decoding tasks, video / image processing and analysis tasks, data collaborative processing tasks and inference computing tasks;
[0017] The specific task type includes at least one of the following: a feature extraction task, a feature encoding task, a feature decoding task, a feature retrieval and comparison task, and a feature calculation task.
[0018] According to an embodiment of the present application, a task system scheduling method is provided, the method further comprising:
[0019] Screening the nodes included in the collaborative computing system according to the original task description information and the node information of the nodes to obtain a pre-screened node set;
[0020] Allocating a corresponding execution node to each of the subtasks from the collaborative computing system according to the node information of the node includes:
[0021] A corresponding execution node is allocated to each of the subtasks from the pre-screened node set according to the node information of the node.
[0022] According to a task system scheduling method provided by an embodiment of the present application, before screening the nodes included in the collaborative computing system based on the original task description information and the node information of the node to obtain a pre-screened node set, the method further includes:
[0023] Obtaining node information of each of the nodes;
[0024] The node information includes at least one of the following: node time-space information, node hardware platform information, node capability information, node software environment information, node resource information and node status information.
[0025] According to a task system scheduling method provided by an embodiment of the present application, allocating a corresponding execution node to each subtask from the pre-screened node set based on the node information of the node includes:
[0026] Determining the execution requirements corresponding to the subtasks;
[0027] According to the execution requirement and the node information of the node, a corresponding execution node is allocated to each of the subtasks from the pre-screened node set.
[0028] According to a task system scheduling method provided by an embodiment of the present application, the execution requirement includes at least one of an execution environment requirement, a node capability requirement, an algorithm requirement, and an execution resource requirement;
[0029] Allocating a corresponding execution node to each of the subtasks from the pre-screened node set according to the execution requirement and the node information of the node includes:
[0030] According to at least one of the execution environment requirement, the node capability requirement, the algorithm requirement and the execution resource requirement and the node information of the node, an execution node that meets the execution requirement is allocated to each subtask from the pre-screened node set.
[0031] According to a task system scheduling method provided by an embodiment of the present application, the execution requirement includes an encoding / decoding resource requirement, wherein the encoding / decoding resource requirement includes at least one of a video encoding / decoding resource requirement and a feature encoding / decoding resource requirement;
[0032] Allocating a corresponding execution node to each of the subtasks from the pre-screened node set according to the execution requirement and the node information of the node includes:
[0033] According to the encoding / decoding resource requirement and the node information of the node, an execution node that meets the video encoding / decoding resource requirement or the feature encoding / decoding resource requirement is allocated to each of the subtasks from the pre-screened node set.
[0034] According to a task system scheduling method provided by an embodiment of the present application, allocating a corresponding execution node to each subtask from the pre-screened node set based on the node information of the node includes:
[0035] Allocating a corresponding execution node to each of the subtasks from the collaborative computing system according to the node information of the node, and obtaining a task collaborative scheduling solution for the target task;
[0036] If the task collaborative scheduling scheme does not meet the preset conditions, perform at least one of the following:
[0037] Re-assigning a corresponding new execution node to each of the subtasks from the pre-screened node set to obtain a new task collaborative scheduling scheme until the new task collaborative scheduling scheme meets the preset conditions;
[0038] Alternatively, when the task collaborative scheduling solution does not meet the preset conditions, a scheduling failure message is returned.
[0039] According to an embodiment of the present application, a task system scheduling method is provided, the method further comprising:
[0040] Recording the task logical topology relationship, the subtask description information, and the execution node to form task collaboration description information of the target task;
[0041] The collaborative processing process of the target task is managed and monitored based on the task collaboration description information.
[0042] According to a task system scheduling method provided by an embodiment of the present application, after sending the subtask description information to the execution node, the method further includes:
[0043] Receiving task status information sent by the execution node;
[0044] When the task status information indicates that an exception occurs in the process of executing the current subtask by the current execution node, a corresponding exception handling operation is performed according to the cause of the exception.
[0045] According to a task system scheduling method provided by an embodiment of the present application, the original task description information includes at least one of the following:
[0046] Task number, task name, task type, task description, task priority, task constraints, and task status information.
[0047] According to a task system scheduling method provided by an embodiment of the present application, the subtask description information includes at least one of the following:
[0048] Subtask number, subtask name, subtask type, subtask description, parent task number, dependent task information, algorithm requirement information, execution environment requirement information, execution resource requirement information, execution node capability requirement information, subtask priority, subtask input information, subtask output information, subtask status and progress, subtask executor information, subtask execution time, subtask creation time.
[0049] According to a task system scheduling method provided by an embodiment of the present application, the node includes at least one of the following: a terminal device, an edge device, and a cloud device.
[0050] To achieve the above-mentioned purpose, a second aspect of an embodiment of the present application provides a collaborative scheduling device, which is applied to a collaborative computing system including multiple nodes. The device includes:
[0051] A task arrangement module is used to split and arrange the target task based on the original task description information of the target task, and obtain multiple subtasks and task logical topology relationships between the subtasks;
[0052] A task collaborative scheduling module, configured to allocate a corresponding execution node to each of the subtasks from the collaborative computing system according to the node information of the node, and generate subtask description information;
[0053] The task issuing module is used to issue the subtask description information to the execution node, so that each execution node executes the subtask according to the logical topological relationship between the subtasks.
[0054] To achieve the above-mentioned purpose, the third aspect of an embodiment of the present application proposes an electronic device, which includes a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the computer program implements the method described in the first aspect above when executed by the processor.
[0055] To achieve the above-mentioned purpose, the fourth aspect of an embodiment of the present application proposes a storage medium, which is a computer-readable storage medium used for computer-readable storage, and the storage medium stores one or more computer programs, and the one or more computer programs can be executed by one or more processors to implement the method described in the first aspect above.
[0056] The present application proposes a task collaborative scheduling method, device, electronic device and computer-readable storage medium, the task collaborative scheduling method is applied to a collaborative computing system, the collaborative computing system includes multiple nodes, the task collaborative scheduling method first splits and arranges the target task based on the original task description information of the target task, obtains multiple subtasks and the task logical topology relationship between the subtasks, then assigns a corresponding execution node to each subtask from the collaborative computing system according to the node information of the node, generates subtask description information, and finally sends the subtask description information to the execution node, so that each execution node can complete all subtasks according to the logical topology relationship obtained by the arrangement. The embodiment of the present application defines the target task by the original task description information, and splits and arranges the target task based on the original task description information to obtain multiple subtasks and the logical topology relationship between the subtasks, then assigns a corresponding execution node to each subtask from the collaborative computing system according to the node information of each node in the collaborative computing system, so that each execution node can complete all subtasks according to the logical topology relationship obtained by the arrangement, and obtains the output result of the target task, which can cover diversified task collaborative scheduling scenarios and be compatible with the access and scheduling of devices with different capabilities, meeting the collaborative processing requirements of different business types and different business scales. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] FIG1A is a schematic diagram of the architecture of a collaborative computing system provided in an embodiment of the present application;
[0058] FIG1B is a schematic diagram of the architecture of a collaborative computing system provided by another embodiment of the present application;
[0059] FIG1C is a schematic diagram of the architecture of a collaborative computing system provided by another embodiment of the present application;
[0060] FIG2 is a schematic diagram of task allocation on a collaborative computing system provided in an embodiment of the present application;
[0061] FIG3 is a flow chart of a task collaborative scheduling method provided in another embodiment of the present application;
[0062] FIG4 is a flow chart of a task collaborative scheduling method provided in another embodiment of the present application;
[0063] FIG5 is a flowchart of a task collaborative scheduling method provided in another embodiment of the present application;
[0064] FIG6 is a flowchart of a task collaborative scheduling method provided in another embodiment of the present application;
[0065] FIG7 is a flowchart of a task collaborative scheduling method provided in another embodiment of the present application;
[0066] FIG8 is a flowchart of a task collaborative scheduling method provided in another embodiment of the present application;
[0067] FIG9 is a flowchart of a task collaborative scheduling method provided in another embodiment of the present application;
[0068] FIG10 is a schematic diagram of the logical relationship of serial tasks provided in an embodiment of the present application;
[0069] FIG11 is a schematic diagram of the logical relationship of parallel tasks provided in an embodiment of the present application;
[0070] FIG12 is a schematic diagram of the logical relationship of conditional triggering tasks provided in an embodiment of the present application;
[0071] FIG13 is a schematic diagram of a task decomposition composite logic model provided in an embodiment of the present application;
[0072] FIG14 is a schematic diagram of a task decomposition logic model of a visual analysis task provided in an embodiment of the present application;
[0073] FIG15 is a schematic diagram of task allocation of a digital retina system provided in an embodiment of the present application;
[0074] FIG16 is a flow chart of a task collaborative scheduling method provided in an embodiment of the present application;
[0075] FIG17 is a schematic diagram of the structure of a collaborative scheduling system provided in an embodiment of the present application;
[0076] FIG18 is a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0077] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0078] It should be noted that, unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
[0079] Video analytics technology has been widely applied in many areas, including public security and urban construction management. The traditional video data processing model involves cameras capturing raw video data and transmitting the compressed video stream to the cloud for analysis, processing, and storage. The cloud performs the computational tasks for the visual data independently. However, with the exponential growth of video data, this traditional processing model faces system resource and performance bottlenecks due to the bandwidth consumption of high-definition video compression transmission and the computational pressure of centralized processing. This results in low utilization of video big data analysis and makes it difficult to fully realize the value of the data. Therefore, introducing edge computing and building an end-edge-cloud computing architecture to reduce computing and network bandwidth requirements in the cloud center is a widely accepted solution. In actual deployments, based on the different capabilities of the end, edge, and cloud, a flexible and appropriate end-edge-cloud collaborative solution can be designed to achieve goals such as improving processing response speed and reducing energy consumption.
[0080] Digital Retina, a scalable end-to-end, edge-to-cloud collaborative computing architecture, comprehensively addresses the new challenges of efficiently processing massive amounts of visual data and the emerging characteristics of AI-enabled video surveillance applications. The Digital Retina system establishes a new application paradigm for real-time feature aggregation, on-demand video retrieval, and online model updates. The frontend generates video and feature streams, while the edge performs regional data aggregation, storage, collaborative processing, and business optimization. The cloud center conducts global spatiotemporal big data analysis and mining. Functions and algorithm models at both the frontend and edge can be flexibly defined based on business needs.
[0081] Research on the end-edge-cloud collaboration of digital retina systems is mainly based on the digital retina front-end feature extraction and system collaboration characteristics. It proposes the idea of completing part of the feature extraction and analysis and recognition tasks on the front-end, and completing the subsequent calculations of the analysis and recognition tasks on the edge and cloud sides in sequence and transmitting the intermediate results. The collaborative scenarios and task types that can be covered are relatively single, and there is still a lack of a logical model for end-edge-cloud collaboration from the perspective of diversified tasks, which makes it difficult to meet the needs of various collaborative applications in practice. At the same time, the decomposition and deployment mode of its computing tasks is relatively fixed, making it difficult to achieve more flexible collaborative scheduling in the resource and task dimensions and compatible with the access of devices with different capabilities. Therefore, the relevant technical solutions are difficult to meet the needs of video data collaborative scheduling in a wider range of application scenarios.
[0082] Based on this, the embodiments of the present application provide a task collaborative scheduling method, device, electronic device and computer-readable storage medium, which can cover diversified task collaborative scheduling scenarios.
[0083] Before introducing the technical solution of the embodiment of the present application, the system architecture of the embodiment of the present application is first exemplarily described. An embodiment of the present application is applied to a collaborative computing system. Please refer to Figure 1A. Figure 1A shows an architectural diagram of a collaborative computing system provided by an embodiment of the present application. As shown in Figure 1A, the collaborative computing system is an end-edge-cloud system, including a cloud device, multiple edge devices and multiple terminal devices. The terminal device establishes a communication connection with the edge device, and the edge device establishes a communication connection with the cloud device. In the end-edge-cloud system, the target task can be completed through end-end collaboration, edge-edge collaboration, cloud-cloud collaboration, end-edge collaboration, edge-cloud collaboration, end-cloud collaboration or end-edge-cloud collaboration; as shown in Figure 1B, the collaborative computing system is an end-edge system, including an edge device and multiple terminal devices. The terminal device establishes a communication connection with the edge device. In the end-edge system, the target task can be completed through end-edge collaboration, end-end collaboration or edge-edge collaboration; as shown in Figure 1C, the collaborative computing system is an end-cloud system, including a cloud device and multiple terminal devices. The terminal device establishes a communication connection with the cloud device. In the end-cloud system, the target task can be completed through end-cloud collaboration, end-end collaboration or cloud-cloud collaboration. Among them, terminal devices include smartphones, smart home devices, vehicle network devices, cameras, digital retinal cameras or industrial Internet devices, etc. Edge devices include edge servers, edge gateways or edge smart boxes, such as servers and node devices in local area networks, etc. Cloud devices can be cloud computing servers, etc. The technical solutions provided in the embodiments of this application are applicable to the coordination between various nodes in the above-mentioned various system forms.
[0084] The task collaborative scheduling method provided in the embodiment of the present application can be executed by the edge device or cloud device in the collaborative computing system. For the end-edge-cloud system, the edge and cloud can respectively perform scheduling and planning for regional business and global business collaboration, and then send the subtasks to the lower-level end and edge nodes for execution, or execute them directly on the cloud; at the same time, the task collaborative planner and scheduler is responsible for the maintenance, monitoring and management of all task / subtask information and its collaborative relationship, as well as handling abnormal situations. For the allocation of tasks on nodes within the system, any available number of end, edge, and cloud nodes are scheduled to participate in task processing based on the business type and business scope. For example, an application can be completed by a single end, edge or cloud node, or by multiple end nodes and a single edge / cloud node, or by multiple end nodes, multiple edge nodes and cloud nodes, or by multiple cloud nodes. At the same time, multiple end nodes or multiple edge / cloud nodes are not limited to taking on the same type of tasks or different types of tasks, and data exchange is allowed between nodes according to the requirements of the application scenario. Please refer to Figure 2, which shows a schematic diagram of task allocation on the collaborative computing system provided by an embodiment of the present application. Figure 2 shows the task allocation on the end, edge, and cloud. It should be noted that subtasks ij (j=0,…,K) together constitute task i, and each task contains different numbers of subtasks.
[0085] First, the task collaborative scheduling method in the embodiment of the present application is described. Please refer to Figure 3. Figure 3 shows a flow chart of a task collaborative scheduling method provided by the embodiment of the present application. As shown in Figure 3, the task collaborative scheduling method includes but is not limited to steps S310 to S330.
[0086] Step S310 : splitting and arranging the target task based on the original task description information of the target task, and obtaining a plurality of subtasks and task logical topology relationships between the subtasks.
[0087] It should be noted that target tasks are collaboratively completed by multiple nodes within the collaborative computing system. These tasks are created or imported by users and include their original task description information. This original task description describes the business requirements from a functional logic perspective, corresponding to a complete, specific application, without limiting the specific implementation of the task. Target tasks can be split and orchestrated based on task decomposition logic, resulting in implementation through multiple subtasks of a basic task type organized according to specific logical relationships.
[0088] For example, using radar and camera fusion for vehicle recognition, the target task can be broken down into visual target detection, radar target feature extraction, radar target recognition, and decision fusion. After performing target detection and recognition on the visual and radar data, respectively, the resulting multi-dimensional information is fused through decision-making to produce the final target recognition result. Alternatively, the target task can be a visual analysis task, such as target tracking or event detection, which performs corresponding video analysis processing based on raw video data captured by a camera or digital retinal front-end device.
[0089] It can be understood that the task logical topology relationship is used to describe the dependency relationship between subtasks, subtask triggering conditions, etc. For example, a task can only be executed after its predecessor task is completed. The task logical topology relationship can be expressed in the form of a DAG graph or a JSON descriptive file format.
[0090] In some embodiments, the collaborative computing system can be an end-edge-cloud system, an end-edge system, or an end-cloud system. Correspondingly, the nodes in the collaborative computing system include at least one of a terminal device, an edge device, and a cloud device. It should be noted that the specific architecture and node types of the collaborative computing system have been described in detail in the system architecture of the present application, and will not be repeated in detail in the embodiments of the present application.
[0091] In another specific embodiment, the target task is split and arranged based on the original task description information to obtain multiple subtasks, partial subtask description information corresponding to each subtask, and a logical topological relationship between the subtasks, wherein the partial subtask description information includes subtask descriptions, predecessor tasks or execution requirements, etc.
[0092] In some embodiments, the original task description information includes at least one of the following:
[0093] Task number, task name, task type, task description, task priority, task constraints, and task status information.
[0094] It is understandable that in the subsequent task arrangement and scheduling process, a full and comprehensive description of the target task information is required, including key information such as the nature of the task and the required constraints, to ensure that the task can be accurately understood, scheduled, and executed. The following is an explanation of the information included in the original task description:
[0095] The task number, also known as the task identifier (ID), is used to uniquely identify the task and facilitate task representation and management;
[0096] Task name, which is a brief description of the task content, can be represented by a string;
[0097] Task description, which is a detailed description of the task content, such as the specific content and purpose of the task, facilitates understanding of the work to be completed for further task arrangement and scheduling. It can be represented by a string;
[0098] Task type, which is a unified summary of the task content classification, such as target tracking task and event detection task;
[0099] Task priority, that is, the urgency of the task, affects the order in which tasks are processed;
[0100] Task constraints, i.e., the execution conditions of a task, serve as the basis for task planning and scheduling decisions. Task constraints include performance requirements, security and authority requirements, time periods, or other limiting conditions for task execution. For example, performance requirements for task execution include latency requirements and energy consumption requirements. The time period for task execution includes the start time, end time, or the corresponding time representation of periodic tasks. Other limiting conditions include the geographical scope or device scope of task execution. Task scheduling and execution must be carried out under the premise that task constraints are met.
[0101] Task status information, including whether the task is started, whether the task is executed normally, abnormal situations and causes, task completion progress, etc., is used to grasp the overall execution status, work status and progress of the task so as to adjust the task scheduling in time according to the situation.
[0102] It should be noted that the above embodiment describes that the original task description information may include at least one of the task number, task name, task type, task description, task priority, task constraints, and task status information. In actual applications, according to application requirements, the original task description information may also include other descriptive information of the target task to ensure that the target task can be accurately understood, scheduled and executed. The embodiment of this application does not limit this.
[0103] The embodiment of the present application defines original task description information, which can meet the task description requirements in task splitting, orchestration and collaborative scheduling scenarios, and effectively support the implementation of automatic task scheduling and collaborative computing.
[0104] In some embodiments, please refer to Figure 4, which shows a flow chart of a task collaborative scheduling method provided in an embodiment of the present application. As shown in Figure 4, the target task is split and arranged based on the original task description information of the target task to obtain multiple subtasks and task logical topology relationships between the subtasks, including step S410 and step S420.
[0105] Step S410: split the target task into multiple subtasks according to functional logic based on the original task description information.
[0106] Step S420: establishing a task logic topology relationship between the plurality of subtasks according to the task decomposition logic.
[0107] The task decomposition logic includes at least one of serial task logic, parallel task logic and conditional triggering task logic.
[0108] It can be understood that in the splitting and arrangement of the target task, the target task is first split into multiple subtasks according to the functional logic based on the original task description information, and then the task logical topological relationship between the multiple subtasks is established according to the task decomposition logic. Among them, the target task can be split into several subtasks according to the functional logic based on the algorithm principles and data processing process.
[0109] After the target task is split into multiple subtasks, there is a certain task decomposition logic between each subtask. For example, if the processing of multiple subtasks needs to be performed in sequence, it is a serial task logic. Please refer to Figure 10, which shows a schematic diagram of the logical relationship of serial tasks provided by an embodiment of the present application. As shown in Figure 10, subtasks 1 to subtask N are serial tasks, subtask i (i=1, 2, ..., N-1) is a predecessor task of subtask i+1, and the output parameter of subtask i is used as part of the input of subtask i+1 to support the execution of subtask i+1. For example, a license plate recognition task can be roughly divided into three subtasks: video image preprocessing, license plate positioning and interception, and license plate recognition. The three subtasks are serial tasks. Among them, image preprocessing includes image format conversion, grayscale conversion, denoising, image scaling and other operations to ensure that the format and quality of the image data are suitable for subsequent processing. License plate positioning and interception is to extract the license plate image from the preprocessed image through traditional or machine learning license plate detection algorithms. License plate recognition is to calculate and output recognition results such as license plate number, license plate color, and license plate type.
[0110] For example, the execution of multiple subtasks is independent of each other and can be carried out simultaneously, which is parallel task logic. Please refer to Figure 11, which shows a schematic diagram of the logical relationship of parallel tasks provided by an embodiment of the present application. As shown in Figure 11, the arrows in the figure represent the input and output relationship between subtasks. The execution processes of subtasks 1 to subtask N are independent of each other and can be distributed on multiple execution nodes and completed in parallel. From different business perspectives, parallel tasks can be divided into two situations:
[0111] ① Issue the same basic task to cameras of a certain functional type or cameras within a certain local area, such as collecting facial images or capturing license plate images, and aggregate the output data of each camera to the system platform;
[0112] ② Subtasks 1 to N are parallel tasks, and their output results are aggregated to subtask 0 for final fusion processing or joint analysis. Subtask 0 outputs the final result of the task. For example, a target detection task is issued to cameras in a certain area to detect and locate key personnel. After the cameras report their respective detection results to the cloud platform, the cloud platform can filter and merge the detection results uploaded by multiple cameras, calculate and output the optimal detection result.
[0113] For example, a task is started only when a specific execution condition is met, which is the conditional triggering task logic. Please refer to Figure 12, which shows a logical relationship diagram of the conditional triggering task provided by an embodiment of the present application. As shown in Figure 12, the dotted arrow in the figure indicates that the task is triggered for execution. When the task execution condition is met, the task is started. Among them, the triggering conditions can be roughly divided into the following three categories:
[0114] ① Time triggering: that is, executing different tasks in different time periods. For example, road surveillance cameras perform normal traffic monitoring tasks during a certain time period, and automatically switch functions during another time period to detect illegal activities such as occupying the road for business and drying clothes along the street;
[0115] ② Result triggering: The logical relationship and configuration of subsequent subtasks depend on the output result of the previous subtask, that is, the subsequent subtasks are triggered according to the processing result of the previous task. For example, the subsequent image preprocessing tasks are determined based on the automatically detected weather conditions, and image defogging is enabled when rainy and foggy weather is detected; for example, the device parameters and task configurations are adjusted according to the detected ambient lighting conditions, and the next action and task are decided based on the detected event results. For example, in the smart transportation scenario, once a traffic violation is detected, it can trigger linkage processing such as danger warnings and violation records;
[0116] ③ Control command triggering: When an emergency such as a public safety incident occurs, the tasks to be performed are uniformly allocated by the dispatch control center, and the tasks are triggered by issuing commands.
[0117] Furthermore, a logical topological relationship between multiple subtasks is established based on the above-mentioned task decomposition logic. Please refer to Figure 13, which shows a schematic diagram of the task decomposition composite logic model provided by an embodiment of the present application. As shown in Figure 13, the figure shows the decomposition and execution logic of three independent tasks. For Task 1, it includes M+1 subtasks, including subtask 10, subtask 11, subtask 12 to subtask 1M. The tasks are executed in the order from left to right in the figure. Subtask 13 and subtask 10, subtask 11, and subtask 12 respectively constitute two independent branches that can be executed in parallel, among which subtask 10, subtask 11, and subtask 12 are in a serial relationship. Subtask 14 depends on subtask 12 and subtask 13 at the same time. Subtask 14 summarizes, filters, associates, and fuses their results. The output of subtask 14 serves as the trigger condition for the subsequent subtasks, and then one of subtasks 15 to subtask 1M is selectively executed based on the result of subtask 14. For Task 2, it is composed of subtask 10 and subtask 21 connected in series, and subtask 21 outputs the final processing result. Task 3 consists of subtasks 10, 11, and 31, which are connected in series. These subtasks pass intermediate computation results to each other, and subtask 31 outputs the final result of task 3. The output of a single subtask can be used by multiple subtasks simultaneously to complete different applications, allowing the reuse of basic computing modules and reducing computing resource consumption.
[0118] Taking the task of person recognition as an example, depending on the shooting conditions, recognition can be performed using both facial and body information. Body information extraction and recognition involves target detection, target feature extraction, and target recognition. The recognition results from these two different information sources are then integrated and fused to produce the final person recognition result. Finally, the next action is determined based on the result, initiating the corresponding processing subtasks. One possible task splitting scheme is: Subtask 13 is the face detection task, Subtask 10 is the target detection task, Subtask 11 is the feature extraction task, Subtask 12 is the person recognition task, and Subtask 14 is the result aggregation task. Subtasks 15 through 1M can be tracking, alerting, and other tasks. In other words, Subtask 14 leverages the results of Subtask 13's face recognition and Subtask 12's body recognition to produce a more reliable recognition result. Furthermore, the output of Subtask 10 can be used for other tasks such as pedestrian attribute structuring and action recognition, while the output of Subtask 11 can be used for tasks such as feature retrieval and feature encoding.
[0119] Step S320 : allocating a corresponding execution node to each of the subtasks in the collaborative computing system according to the node information of the node, and generating subtask description information.
[0120] It can be understood that after the target task is split and arranged based on the original task description information of the target task, a suitable execution node is assigned to each subtask from the collaborative computing system according to the node information of the node and subtask description information is generated. By splitting and arranging the target task, a plurality of subtasks and the logical topological relationship between the subtasks are obtained, and the execution node of each subtask is determined based on this, so that the execution node executes each subtask in sequence according to the logical topological relationship. For various types of diversified tasks in different scenarios, this application can support diversified equipment and collaborative scheduling in diversified scenarios through diversified task decomposition logic and collaborative scheduling logic, and after assigning a corresponding execution node to each subtask from the collaborative computing system, the subtask description information corresponding to each subtask is generated to meet the task description requirements in the task collaborative scheduling scenario, and effectively support the realization of automatic task scheduling and collaborative computing.
[0121] A business application typically corresponds to a complex task involving numerous processing steps, requiring collaboration across the end, edge, and cloud. This is accomplished by dividing the task into multiple subtasks, establishing logical topological relationships between them (including serial, parallel, or a combination of these), and assigning the subtasks to appropriate end, edge, and cloud nodes for execution. The final processing result is achieved through collaboration among the end, edge, and cloud. For example, multiple similar subtasks can be processed in parallel on multiple execution nodes to improve processing speed and efficiency. Multiple serially connected subtasks can be collaboratively computed across the end, edge, and cloud to optimize resource utilization. The computational results of multiple subtasks can be information obtained from different dimensions. Integrating or fusing these multiple computational results can yield more accurate and comprehensive results, providing a basis for decision-making. In an embodiment of the present application, a suitable execution node is assigned to each subtask from the collaborative computing system based on preset scheduling principles and strategies. For example, multiple similar subtasks can be processed in parallel on different execution nodes to improve processing speed and efficiency. For example, multiple serial subtasks can be collaboratively calculated on the end, edge, and cloud to achieve optimal resource utilization. Finally, a corresponding execution node is assigned to each subtask of the target task from the collaborative computing system. After the subtask is issued to the corresponding execution node, the execution node executes the corresponding subtask according to the logical topological relationship between the subtasks, that is, the subtask is executed according to the pre-established dependency relationships and trigger conditions.
[0122] In some embodiments, please refer to Figure 5, which shows a flow chart of a task collaborative scheduling method provided in an embodiment of the present application. As shown in Figure 5, the target task is split into multiple subtasks according to functional logic based on the original task description information, including but not limited to step S510 and step S520.
[0123] Step S510: Determine available algorithm resources for the target task from a preset algorithm model library based on the original task description information.
[0124] Step S520: split the target task into multiple subtasks according to functional logic based on the available algorithm resources.
[0125] It can be understood that after obtaining the original task description information, the available algorithm resources of the target task are determined from the preset algorithm model library based on the original task description information, that is, it is determined from the preset algorithm model library whether there are algorithm resources for splitting the target task, and then the available algorithm resources are used to split the target task into multiple subtasks according to functional logic.
[0126] In some embodiments, the subtask description information includes at least one of the following:
[0127] Subtask number, subtask name, subtask type, subtask description, parent task number, information about dependent tasks on which the subtask depends, algorithm requirement information, execution environment requirement information, execution resource requirement information, subtask priority, subtask input information, subtask output information, subtask status and progress, subtask executor information, subtask execution time, and subtask creation time.
[0128] The following describes the various types of information included in the subtask description:
[0129] The subtask number, also known as the subtask identifier (ID), is used to uniquely identify the subtask, making it easier to mark and manage the subtask;
[0130] Subtask name, which is a brief description of the subtask content and can be represented by a string;
[0131] Subtask description, which is a detailed description of the subtask content, such as the specific content and purpose of the subtask, to facilitate understanding of the work to be completed. It can be expressed as a string;
[0132] Subtask type, used to indicate the nature of the task, such as video acquisition task, video / image preprocessing task, video encoding / decoding task, video frame extraction task, feature extraction task, feature encoding / decoding task, AI inference task, data post-processing task, data fusion analysis task, data transmission task, etc.
[0133] The parent task number, i.e. the parent task ID, indicates the number of the visual analysis task corresponding to the current subtask;
[0134] Dependent task information, that is, information about other tasks that the current subtask depends on, can be obtained based on the logical topology relationship obtained by task splitting and orchestration. For example, the current subtask A depends on the execution result information of the previous subtask B, or the dependent (sub)task ID, or the dependent (sub)task execution device;
[0135] Algorithm requirement information, that is, the algorithm required to execute the current subtask. Algorithm information includes algorithm ID, algorithm type, algorithm version, etc.
[0136] Execution environment requirements, including chip type requirements (such as CPU, GPU, Field Programmable Gate Array (FPGA)), Compute Unified Device Architecture (CUDA) version requirements, deep learning framework requirements (PyTorch, TensorFlow, MindSpore, etc.), and other hardware and software environment requirements.
[0137] Execution resource requirement information, including the size, type, and other technical specifications of the encoding / decoding, computing power, memory, communication, storage, and other resources required to run the task.
[0138] Execute node capability requirement information. Node capabilities include but are not limited to device control (rotation, zoom, etc.) capabilities, voice capabilities, alarm capabilities, interactive capabilities, etc. For example, for non-computational tasks of device control type, specific control instructions can be used to operate the rotation of the camera terminal, zoom of the picture, etc.; for non-computational tasks of data transmission type, this can be achieved by calling the node's hardware and software service interfaces and interactive capabilities.
[0139] Subtask priority, as the basis for task scheduling order, can inherit the priority of the parent task;
[0140] Subtask input information includes input data, algorithm input parameters, and configuration information required for task execution. Input data is not limited to being provided in the form of data stream addresses or files.
[0141] The subtask output information includes the unstructured data stream, structured data, and next node information of the output data flow output by the subtask processing, and may also include corresponding time, location and other information.
[0142] Subtask status and progress: This is used to record the current status and progress of subtasks, so as to track and monitor the execution of tasks. For example, the execution status can be divided into waiting for execution, executing, completed, and failed. When a subtask fails, it is used to describe the abnormal situation that occurred, such as unsupported environment, insufficient resources, etc. The task progress can be indicated by the task execution time and task completion percentage;
[0143] Subtask executor information, including the location / geographical scope of the subtask execution or the task execution node (which may include information such as device type and device ID). A subtask can have multiple executors;
[0144] Subtask execution time, allowing users to define the start and end time of subtasks;
[0145] Subtask creation time, including subtask creation and submission time, facilitates understanding of subtask basic information and task management, and further obtains task execution waiting time.
[0146] It should be noted that the specific parameter content and expression form included in the above subtask description information can be customized according to actual application conditions and are not limited to the technical solutions provided in the above embodiments.
[0147] In some embodiments, before screening the nodes included in the collaborative computing system based on the original task description information and the node information of the nodes to obtain a pre-screened node set, the method further includes:
[0148] Obtaining node information of each of the nodes;
[0149] The node information includes at least one of the following: node time-space information, node hardware platform information, node capability information, node software environment information, node resource information and node status information.
[0150] It should be noted that the collaborative computing system includes multiple nodes. In the task collaborative scheduling method, resource monitoring is performed on each node included in the collaborative computing system to obtain node information of each node included in the collaborative computing system, providing data support for subsequent task collaborative scheduling, so that tasks can be assigned to corresponding nodes that can meet their task constraints.
[0151] The following describes the various types of information included in the node information:
[0152] Node spatiotemporal information, including but not limited to spatial information expressed in the form of latitude and longitude, attitude angle, administrative region, etc., and time information expressed in UTC;
[0153] Node hardware platform information, including but not limited to device type, manufacturer, model, hardware architecture, chip type, and other node hardware platform information;
[0154] Node capability information, including but not limited to device control (rotation, scaling, etc.) capabilities, voice capabilities, alarm capabilities, interactive capabilities, and other information.
[0155] Node software environment information, including but not limited to operating system information, driver information, deep learning framework information, and dependent libraries;
[0156] Node resource information, including but not limited to encoding / decoding resources, computing resources, memory resources, storage resources, communication resources, and algorithm resources. For each type of resource, the total resources and available resources on the node are obtained separately to understand the total amount of resources and the real-time status of resource occupancy for scheduling purposes.
[0157] Node status information, for example, whether the node is working normally or whether a fault has occurred.
[0158] In some embodiments, the method further comprises:
[0159] The nodes included in the collaborative computing system are screened according to the original task description information and the node information of the nodes to obtain a pre-screened node set.
[0160] Correspondingly, allocating a corresponding execution node to each of the subtasks from the collaborative computing system according to the node information of the node includes:
[0161] A corresponding execution node is allocated to each of the subtasks from the pre-screened node set according to the node information of the node.
[0162] It can be understood that before assigning a corresponding execution node to each subtask from the collaborative computing system, the task type and task description of the target task can be analyzed first, and the location information, hardware platform information and capability information in the node information can be combined to preliminarily define the scope of equipment involved in task execution. That is, the various nodes included in the collaborative computing system are screened according to the task description information and node information to obtain a set of pre-screened nodes that meet the task requirements, and then a corresponding execution node is assigned to each subtask from the pre-screened node set. Preliminary screening of each execution node can reduce the processing time for subsequent assignment of execution nodes to subtasks.
[0163] For example, when the task description specifies a general location of interest, the set of pre-screened nodes participating in the task can be initially selected based on the location information and affiliation of each node in the collaborative computing system. For another example, when the task description specifies the use of devices such as electronic police cameras and checkpoint cameras to conduct a comprehensive analysis of traffic violations and requires flexible definition of camera functions, the set of devices that meet the task requirements can be initially selected based on information such as device type, model, and capabilities.
[0164] In some embodiments, please refer to Figure 6, which shows a flow chart of a task collaborative scheduling method provided in an embodiment of the present application. As shown in Figure 6, the corresponding execution node is assigned to each subtask from the pre-screened node set based on the node information of the node, including step S610 and step S620.
[0165] Step S610: Determine the execution requirements corresponding to the subtask.
[0166] Step S620 : allocating a corresponding execution node to each of the subtasks from the pre-screened node set according to the execution requirement and the node information of the node.
[0167] It can be understood that when assigning a corresponding execution node to each subtask, the execution requirements corresponding to the subtask are first determined, and then an execution node that meets the execution requirements is assigned to each subtask from the pre-screened node set based on the execution requirements and node information of the subtask to ensure that the subtask can be scheduled to the appropriate device for successful execution.
[0168] For example, the node capabilities, node resource types (such as encoding and decoding resources, memory resources) and other information required to execute the subtask can be determined according to the subtask type, so as to obtain the execution requirements corresponding to the subtask, such as node capability requirements, execution resource requirements, etc.
[0169] For example, the algorithm and model required to execute the subtask can be selected based on the subtask type. In the process of selecting the algorithm model, the selected algorithm can also be filtered based on the algorithm information of the predecessor task (for example, input / output parameters) to meet the algorithm interface matching requirements for collaborative processing between multiple subtasks (for example, matching of algorithm input / output parameters in terms of parameter name, type, precision, etc.). Based on the operating requirements of the algorithm or model, the execution requirements of the subtask are obtained, such as execution environment requirements, algorithm requirements, and execution resource requirements.
[0170] In some embodiments, the execution requirements include at least one of execution environment requirements, node capability requirements, algorithm requirements, and execution resource requirements;
[0171] Allocating a corresponding execution node to each of the subtasks from the pre-screened node set according to the execution requirement and the node information of the node includes:
[0172] According to at least one of the execution environment requirement, the node capability requirement, the algorithm requirement and the execution resource requirement and the node information of the node, an execution node that meets the execution requirement is allocated to each subtask from the pre-screened node set.
[0173] Exemplarily, the execution environment requirements include at least one of software environment requirements and hardware environment requirements. Regarding the hardware environment requirements of a subtask, the node hardware platform information of each node in the pre-screened node set, such as device type, manufacturer, model, hardware architecture, and chip type, can be combined to screen out execution nodes that meet the subtask's hardware environment requirements. Regarding the software environment requirements of a subtask, the software environment information of each node in the pre-screened node set can be combined to screen out execution nodes that meet the subtask's software environment requirements.
[0174] For example, node capability requirements include, but are not limited to, requirements for device control (rotation, scaling, etc.) capabilities, voice capabilities, and alarm capabilities. In specific implementations, the node capability information of each node in the pre-screened node set can be combined to screen out execution nodes that meet the node capability requirements of the subtask.
[0175] For example, for the algorithm requirements of the subtask, the algorithm resource information in the node resource information can be combined to determine whether the node already has the algorithm required to execute the subtask. If so, the node is determined to meet the algorithm requirements of the subtask; if not, the algorithm can be sent to the node by pulling or issuing the algorithm. When the algorithm can be successfully transmitted and deployed, the node is determined to meet the algorithm requirements of the subtask. Finally, the execution nodes that meet the algorithm requirements of the subtask are screened out.
[0176] Exemplarily, the execution resource requirement includes at least one of an encoding / decoding resource requirement, a computing resource requirement, a memory resource requirement, a communication resource requirement, and a storage resource requirement. With respect to the execution resource requirement, the encoding / decoding resource, computing resource, memory resource, communication resource, and storage resource information in the node resource information can be combined to select execution nodes that meet the execution resource requirement of the subtask.
[0177] For example, computing resources are general computing power and intelligent computing power represented in any form, such as central processing unit (CPU), graphics processing unit (GPU), neural network processing unit (NNPU), etc. Computing power resources and memory resources are the main resources used during the operation of data pre- / post-processing tasks, feature extraction tasks, AI reasoning tasks, video / image processing and analysis tasks, data fusion analysis tasks, and certain feature encoding / decoding tasks (for example, feature vector encoding); storage resources are the resources used by nodes to store the data required to execute tasks, which can be represented by the size of storage capacity; communication resources are the resources required for nodes to transmit data, which can be represented by the size of bandwidth; algorithm resources refer to the algorithm resources deployed on the node, which can be used to start one or more tasks. By obtaining the algorithm resource status of each node in the collaborative computing system, the algorithm model is proactively sent to the corresponding execution node when the task requires it, or the execution node actively pulls the corresponding algorithm resource from the computing power warehouse when it finds that it does not have the algorithm capability required to execute the task. Algorithm resource information includes but is not limited to attribute information such as algorithm ID, algorithm type, algorithm version, performance indicators (for example, processing frame rate); communication resources and storage resources are the resources required by the node to store task programs and transmit data, and are not limited to bandwidth and storage capacity.
[0178] Exemplarily, after obtaining the execution requirements of a subtask, it is possible to determine whether the node meets the execution requirements of the subtask based on the node information. For example, the determination of whether the node meets the execution requirements of the subtask can be made based on the hardware environment requirements and the node hardware platform information. The determination of whether the node meets the execution requirements of the subtask can be made based on the computing power resource requirements and memory resource requirements of the subtask and the node's available computing power resources and available memory resources. The determination of whether the execution node meets the execution requirements of the subtask can be made based on the communication resource requirements and storage resource requirements of the subtask and the node's available communication resources and available storage resources. The determination of whether the execution node meets the execution requirements of the subtask can be made based on the software environment requirements of the subtask and the node software environment information of the execution node. Finally, the determination of whether the execution performance of the task meets the task's constraints, including processing frame rate, latency, energy consumption, accuracy, etc.
[0179] In some embodiments, the execution requirement includes an encoding / decoding resource requirement, wherein the encoding / decoding resource requirement includes at least one of a video encoding / decoding resource requirement and a feature encoding / decoding resource requirement;
[0180] Allocating a corresponding execution node to each of the subtasks from the pre-screened node set according to the execution requirement and the node information of the node includes:
[0181] According to the encoding / decoding resource requirement and the node information of the node, an execution node that meets the video encoding / decoding resource requirement or the feature encoding / decoding resource requirement is allocated to each of the subtasks from the pre-screened node set.
[0182] It should be noted that the above embodiments respectively describe the limiting factors that need to be considered in the process of task collaborative scheduling to ensure that the tasks can be executed smoothly. In actual applications, the execution order of the above steps can be adjusted or certain steps can be omitted based on prior knowledge. The embodiments of this application do not limit this.
[0183] It is understandable that when the target task is a visual analysis task, the subtasks may be video encoding / decoding tasks and feature encoding / decoding tasks, and their execution resource requirements include encoding / decoding resource requirements, and the encoding / decoding resource requirements include at least one of video encoding / decoding resource requirements and feature encoding / decoding resource requirements. Accordingly, the node resource information includes encoding / decoding resource information, wherein the encoding / decoding resource information includes video encoding / decoding resources and other encoding / decoding resources. Other encoding / decoding resources refer to resources that implement encoding / decoding through other dedicated accelerated computing units. Quantitative indicators used to measure encoding / decoding capabilities include supported encoding / decoding formats, resolution, maximum number of channels, processing time, etc. For feature encoding / decoding tasks, the types of resources required vary depending on the specific feature encoding / decoding methods used.
[0184] Exemplarily, for a video encoding task or a video decoding task, the video encoding resource requirement or the video decoding resource requirement of the subtask can be compared with the available video encoding resources or the available video decoding resources of the node, thereby selecting an execution node that meets the requirements from a pre-screened node set. For a feature encoding task or a feature decoding task, if a multiplexed video encoder or a video decoder is selected to implement the task, the feature encoding resource requirement or the feature decoding resource requirement of the subtask can be compared with the available video encoding resources or the available video decoding resources of the node, thereby selecting an execution node that meets the requirements from a pre-screened node set. For a feature encoding task or a feature decoding task, the feature encoding resource requirement or the feature decoding resource requirement of the subtask can also be compared with other available encoding / decoding resources of the node, thereby selecting an execution node that meets the requirements from a pre-screened node set.
[0185] Furthermore, for resource-constrained devices such as end devices and edge devices, the balanced allocation of encoding / decoding resources between video encoding / decoding and feature encoding / decoding tasks, as well as matching them with other types of tasks, ensures smooth task execution and optimizes resource utilization. For example, during task collaborative scheduling, the device's feature encoding capabilities are determined to match the feature extraction tasks it is responsible for, enabling real-time transmission of feature data.
[0186] In some embodiments, please refer to Figure 7, which shows a flow chart of a task collaborative scheduling method provided in an embodiment of the present application. As shown in Figure 7, the corresponding execution node is assigned to each subtask from the pre-screened node set based on the node information of the node, including but not limited to step S710, step S720 and step S730.
[0187] Step S710 : allocating a corresponding execution node to each of the subtasks from the collaborative computing system according to the node information of the node, and obtaining a task collaborative scheduling solution for the target task.
[0188] After obtaining the task collaborative scheduling solution, it may be determined whether the task collaborative scheduling solution meets a preset condition. If the task collaborative scheduling solution does not meet the preset condition, at least one of the following steps S720 and S730 is performed:
[0189] Step S720 : re-assigning a corresponding new execution node to each of the subtasks from the pre-screened node set to obtain a new task collaborative scheduling solution until the new task collaborative scheduling solution meets the preset condition.
[0190] Step S730: Return scheduling failure information.
[0191] It is understandable that a corresponding execution node is assigned to each subtask from the collaborative computing system based on the node information of the node, thereby obtaining a task collaborative scheduling scheme for the target task. Among them, there may be multiple allocation schemes for each subtask, and the optimal allocation scheme for each subtask can be determined according to the preset strategy. In addition, the feasible scheduling scheme for the entire target task can also be determined in combination with the allocation of other subtasks. In the case that the task collaborative scheduling scheme does not meet the preset conditions, such as the system resource utilization, task completion time or collaborative interaction complexity of the task collaborative scheduling scheme does not meet the preset requirements, the node allocation step can be iteratively executed to determine the optimal task collaborative scheduling scheme under the corresponding constraints according to the predefined task scheduling strategy. The optimization goal can be the highest system resource utilization, the shortest task completion time, the lowest collaborative interaction complexity, etc., and finally the task collaborative scheduling scheme is determined.
[0192] In some embodiments, the target task is a visual analysis task, and the subtask type corresponding to the visual analysis task includes at least one of a basic task type and a specific task type;
[0193] The basic task types include at least one of the following: video acquisition tasks, video / image preprocessing tasks, video encoding tasks, video decoding tasks, video / image processing and analysis tasks, data collaborative processing tasks and inference computing tasks;
[0194] The specific task type includes at least one of the following: a feature extraction task, a feature encoding task, a feature decoding task, a feature retrieval and comparison task, and a feature calculation task.
[0195] It is understandable that, considering the differences in resource types required for different processing and the independence between various functional sub-modules, certain schemes can be adopted to constrain task splitting, rather than arbitrarily decomposing the target task without restriction, in order to optimize the system architecture and efficiency. Specifically, when the target task is a visual analysis task, the target task can be divided into basic task types and specific task types. Among them, the basic task types include: video acquisition tasks, video / image preprocessing tasks, video encoding tasks, video decoding tasks, video / image processing and analysis tasks, data collaborative processing tasks and inference computing tasks, etc., and the specific task types include feature extraction tasks, feature encoding tasks, feature decoding tasks, feature retrieval and comparison tasks and feature calculation tasks, etc.
[0196] In one specific embodiment, the collaborative computing system is a digital retina system. In the digital retina system, through the real-time extraction, aggregation, and analysis of universal features, a new application paradigm is established, which includes real-time feature aggregation, on-demand video retrieval, and online model updates, thus achieving efficient analysis and processing of visual big data. Please refer to Figure 14, which shows the task decomposition logic model of the visual analysis task in combination with the characteristics of real-time feature extraction and aggregation of the digital retina. In Figure 14, the video source is the raw video data collected by a camera or a digital retina front-end device. The processing of the video source is mainly divided into three categories:
[0197] ① Video encoding / decoding and analysis and processing based on the decoded video, including video encoding, video decoding, and processing branches 2 and 3. Due to the huge amount of raw video data, it is usually necessary to encode the raw video data and then transmit the encoded data to edge devices or cloud devices. On the one hand, the encoded video data takes up less storage space and is convenient for storage. On the other hand, the encoded video data can be further processed and analyzed after decoding (i.e., using processing branches 2 and 3). At the same time, the video / image can be preprocessed before video encoding to improve encoding quality and efficiency.
[0198] ② The processing and analysis process based on feature calculation includes: feature extraction, feature encoding, feature retrieval and comparison, feature decoding and feature-based computing tasks, etc., wherein features include but are not limited to feature vectors, feature maps, structural point sequences and other types. For example, the encoded features can be directly used for comparison to complete efficient feature retrieval; or the encoded features (for example, feature maps or feature vectors) can be decoded, and the decoded features can be used as input to the neural network for subsequent calculations to obtain the analysis results of the specific video analysis task. In addition, the video / image can be preprocessed before this, for example, video frame extraction, image scaling, etc., so that the video / image can meet the input requirements of the subsequent feature extraction algorithm.
[0199] ③ Video / image processing and analysis refers to the analysis and processing of scene information such as targets, environments, and events based on visual data. This process relies on one or more sets of algorithms, including but not limited to traditional image processing algorithms as well as artificial intelligence algorithms such as machine learning and deep learning. Furthermore, pre-processing of the video / image may be performed prior to this process, such as frame extraction and image scaling, to ensure that the video / image meets the input requirements of subsequent processing algorithms.
[0200] It should be noted that the three aforementioned processing types can all output analysis results from the corresponding algorithm applications and can also serve as intermediate results for subsequent data association and fusion processing, ultimately yielding the final output for the entire task. Furthermore, these three types of processing correspond to different implementation schemes for collaboratively completing algorithm applications across end, edge, and cloud devices of varying types, capabilities, or divisions of labor. Processing branch ② illustrates the specific steps for visual data processing based on the digital retina. Its core concept is to extract universal features from video / image data. These features are encoded and transmitted to the edge or cloud. These features are then used for decoding or one or more subsequent computations to support various analytical applications, such as retrieval and recognition. Feature extraction and encoding can also be combined into a single subtask, such as using CDVS or CDVA. Processing branch ③ provides a high-level representation of visual analysis tasks based on video / image data. This can be a complete algorithm designed through pipeline optimization for a specific task, or a collection of algorithms with specific logical relationships derived from the decomposition logic of basic tasks. For example, feature extraction is performed first, and then universal features are fed into multiple processing algorithms to simultaneously support multiple analytical tasks.
[0201] Step S330: Send the subtask description information to the execution nodes, so that each of the execution nodes executes the subtask according to the logical topological relationship between the subtasks.
[0202] It can be understood that after assigning a corresponding execution node to each subtask, each subtask is dispatched to the corresponding execution node. When the execution node does not have the algorithm or model required for the subtask, the algorithm or model is obtained by sending or pulling. The execution node executes the subtask according to the pre-established logical topology relationship and communicates and transfers intermediate results. The processing of all subtasks is completed in sequence according to the logical topology relationship generated by the task arrangement to obtain the processing result of the target task.
[0203] Taking the visual analysis task shown in Figure 14 as an example, please refer to Figure 15. Figure 15 shows a task allocation diagram of a data retina system provided by an embodiment of the present application. As shown in Figure 15, based on the definition and calculation logic of the unique tasks in the digital retina system, combined with the characteristics of visual data analysis and the functional positioning of the end, edge and cloud in the digital retina system, the execution nodes of the subtasks are flexibly allocated (the content represented by the dotted line in the figure is an optional function). Due to the large amount of original video data, video encoding / decoding processing requires a large amount of computing resources, which is usually implemented by dedicated hardware resources. Therefore, the terminal side needs to complete video acquisition and encoding, and transmit the compressed video stream to the edge side or cloud side; the edge side needs to have video decoding capabilities, complete video / image processing and analysis functions, and be able to perform regional data collaborative processing; the cloud side aggregates feature data and needs to be able to complete feature-based big data analysis and global data collaborative processing. At the same time, the end, edge and cloud all have functions or interfaces that support collaborative scheduling to complete task collaborative planning and scheduling between devices of the same level or different levels.
[0204] The following describes the allocation scheme of the main computing tasks in the digital retina system.
[0205] Example 1:
[0206] The terminal side performs video acquisition, video encoding, feature extraction and encoding, and transmits the compressed video and features to the edge side; the edge side accesses and processes multiple video streams and feature streams, decodes, preprocesses and analyzes the video, decodes the features and completes subsequent feature-based calculations, and transmits the feature stream and analysis results to the cloud side. The edge side can also perform regional data collaborative processing according to actual needs to improve business performance and guide business optimization; the cloud side retrieves the compressed video stream after authorization, aggregates feature big data and uses it for analysis and recognition tasks.
[0207] Example 2:
[0208] The terminal side performs video acquisition, video encoding, video / image preprocessing, feature extraction and encoding, and part of the video / image processing and analysis, and transmits the compressed video, features, and intermediate results of the analysis algorithm to the edge side; the edge side accesses and processes multiple video streams and feature streams, decodes and processes the video, decodes the features and completes subsequent feature-based calculations, and continues to complete part of the video / image processing and analysis based on the intermediate results output by the terminal side, and transmits the feature stream and the intermediate results of the analysis to the cloud side; the cloud side continues to complete the remaining video / image processing and analysis based on the intermediate results output by the edge side, aggregates feature big data and uses it for analysis and recognition tasks.
[0209] Example 3:
[0210] The terminal side performs video capture and video encoding, and transmits the compressed video stream to the edge side; the edge side accesses and processes multiple video streams, decodes multiple videos, and for each decoded video, can perform one or more processing and analysis tasks, or perform feature extraction and encoding, and transmit the feature stream and analysis results to the cloud side; the cloud side aggregates feature data in real time and uses it for various analysis and recognition tasks, integrating, correlating, and fusing the analysis results of multiple algorithms or multiple videos to obtain more accurate, reliable, and comprehensive analysis results.
[0211] Feature extraction algorithms, video / image processing and analysis algorithms on the terminal and edge sides can be updated online by the edge or cloud side. The terminal, edge, and cloud can all undertake multiple tasks, not limited to the same or different types of tasks.
[0212] It's also important to note that during the collaborative task scheduling process, it's necessary to integrate subtask description information and consider the collaborative task scheduling process to define the task dispatch interface, task scheduling interface, task output interface, and task status reporting interface. This allows multiple related subtasks distributed across the end, edge, and cloud subsystems to operate collaboratively. For example, when defining a task output interface, in addition to the algorithm output data, identification information such as the task type and task ID must also be included to enable collaborative task computing and data processing.
[0213] In some embodiments, please refer to Figure 8, which shows a flow chart of a task collaborative scheduling method provided in an embodiment of the present application. As shown in Figure 8, the method also includes step S810 and step S820.
[0214] Step S810 : Record the task logical topology relationship, the subtask description information, and the execution node to form task collaboration description information of the target task.
[0215] Step S820: managing and monitoring the collaborative processing of the target task based on the task collaboration description information.
[0216] It should also be noted that in the task collaborative scheduling process, the task collaborative description information of the target task is formed by recording the task logical topology relationship, subtask description information and execution nodes of the target task. The task collaborative description information is uniformly managed by the scheduling center, and the collaborative processing process of the target task is managed and monitored based on the task collaborative description.
[0217] In some embodiments, please refer to Figure 9, which shows a flow chart of a task collaborative scheduling method provided in an embodiment of the present application. As shown in Figure 9, after the subtask description information of each subtask is sent to the corresponding node, the method also includes steps S910 and S920.
[0218] Step S910: Receive task status information sent by the execution node.
[0219] Step S920 , when the task status information indicates that an exception occurs in the process of executing the current subtask by the current execution node, a corresponding exception handling operation is performed according to the cause of the exception.
[0220] It should be understood that after issuing the subtasks, it is necessary to monitor and track the execution status and resource consumption of the target task and its subtasks in real time. When an abnormal situation is detected on the execution node, the corresponding exception handling operation is performed. Specifically, the task status information of the execution node can be queried through instructions, or the execution node can report the task status information. According to the task status information, it is determined whether the current subtask has an abnormal situation, such as task execution failure, execution node failure, insufficient execution node resources, etc., and the corresponding exception handling operation is performed according to the specific abnormal cause, such as rescheduling, retrying or fault tolerance, etc., to avoid resource waste and task backlog. In the case of subtask scheduling failure, the subtask that failed to be scheduled can be migrated to other nodes that meet the operating conditions for execution, avoiding the re-planning and scheduling of the entire task, thereby improving the execution efficiency of task collaborative scheduling.
[0221] By controlling the task collaboration process, monitoring the task execution status in real time, and quickly responding to abnormal situations, the stability and reliability of task collaborative scheduling are improved.
[0222] The following describes the task collaborative scheduling method provided by the present application through a specific embodiment. Please refer to Figure 16. Figure 16 shows a task collaborative scheduling method provided by an embodiment of the present application. As shown in Figure 16, the task collaborative scheduling method includes the following steps.
[0223] Task import, obtain the original task description information that can be understood and used by the system.
[0224] Resource monitoring obtains node information of each node in the collaborative computing system, including node spatiotemporal information, node hardware platform information, node capability information, node software environment information, node resource information, and node working status information, providing data support for subsequent task collaborative scheduling.
[0225] Node screening: Analyze the task type and task description of the visual analysis task, and combine the location information, device type, and capability characteristics of each node in the collaborative computing system to preliminarily define the scope of devices involved in task execution.
[0226] Task splitting and orchestration, based on algorithm principles and data processing processes, splits the task into several subtasks according to functional logic, generates a subtask set, and establishes a task logical topology relationship between the subtasks.
[0227] Task collaborative scheduling, after the task splitting and arrangement is completed, select the appropriate node as the node of each subtask and generate all the content defined in the subtask description information.
[0228] Tasks are issued and subtasks are dispatched to corresponding nodes. When the node does not have the algorithm or model required to execute the subtask, the algorithm package or model package can be obtained by issuing or pulling.
[0229] In task collaborative computing, nodes execute corresponding subtasks according to the trigger conditions of pre-established dependencies and communicate and transfer intermediate results. Finally, each node completes the processing of all subtasks in sequence according to the processing logic generated by task orchestration, and obtains the output results of the visual analysis task.
[0230] Task management records task information, including original task description information, subtask description information, task logical topology relationship, node set, real-time monitoring and tracking of task / subtask execution status, resource consumption, etc., which can be displayed through log records and interfaces.
[0231] The embodiment of the present application proposes a task collaborative scheduling method, device, electronic device and computer-readable storage medium, the task collaborative scheduling method is applied to a collaborative computing system, the collaborative computing system includes multiple nodes, the task collaborative scheduling method first splits and arranges the target task based on the original task description information of the target task, obtains multiple subtasks and the task logical topology relationship between the subtasks, then assigns a corresponding execution node to each subtask from the collaborative computing system according to the node information of the node, generates subtask description information, and finally sends the subtask description information to the execution node, so that each execution node can complete all subtasks in sequence according to the logical topology relationship obtained by the arrangement. The embodiment of the present application defines the target task by the original task description information, and splits and arranges the target task based on the original task description information to obtain multiple subtasks and the logical topology relationship between the subtasks, then assigns a corresponding execution node to each subtask from the collaborative computing system according to the node information of each node in the collaborative computing system, so that each execution node can complete all subtasks in sequence according to the logical topology relationship obtained by the arrangement, and obtains the output result of the target task, which can cover diversified task collaborative scheduling scenarios and be compatible with the access and scheduling of devices with different capabilities, meeting the collaborative processing requirements of different business types and different business scales.
[0232] Please refer to Figure 17. An embodiment of the present application further provides a task collaborative scheduling device 100. The task collaborative scheduling device 100 includes a task orchestration module 110, a task collaborative scheduling module 120 and a task issuing module 130.
[0233] The task arrangement module 110 is configured to split and arrange the target task based on the original task description information of the target task, and obtain a plurality of subtasks and task logical topology relationships between the subtasks.
[0234] The task collaborative scheduling module 120 is configured to allocate a corresponding execution node to each of the subtasks from the collaborative computing system according to the node information of the node, and generate subtask description information.
[0235] The task issuing module 130 is configured to issue the subtask description information to the execution nodes, so that each of the execution nodes executes the subtask according to the logical topological relationship between the subtasks.
[0236] It should be noted that the information interaction, execution process, etc. between the modules of the above-mentioned device are based on the same concept as the method embodiment of the present application. Their specific functions and technical effects can be found in the method embodiment part and will not be repeated here.
[0237] Please refer to FIG18 , which shows the hardware structure of an electronic device provided in an embodiment of the present application. The electronic device includes:
[0238] The processor 210 may be implemented as a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is configured to execute relevant computer programs to implement the technical solutions provided in the embodiments of the present application.
[0239] The memory 220 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 220 can store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program code is stored in the memory 220 and is called by the processor 210 to execute the task collaborative scheduling method of the embodiments of this application.
[0240] Input / output interface 230, used to implement information input and output;
[0241] Communication interface 240, used to implement communication interaction between this device and other devices, which can be achieved through wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, WiFi, Bluetooth, etc.); and bus 250, which transmits information between each component of the device (such as processor 210, memory 220, input / output interface 230 and communication interface 240);
[0242] The processor 210 , the memory 220 , the input / output interface 230 and the communication interface 240 are connected to each other in communication within the device via the bus 250 .
[0243] An embodiment of the present application also provides a storage medium, which is a computer-readable storage medium used for computer-readable storage. The storage medium stores one or more computer programs, and the one or more computer programs can be executed by one or more processors to implement the above-mentioned task collaborative scheduling method.
[0244] The memory is a computer-readable storage medium that can be used to store software programs and computer executable programs. In addition, the memory may include a high-speed random access memory and may also include a non-transitory memory, such as at least one disk storage device, a flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory may optionally include a memory remotely arranged relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0245] The embodiments described in the embodiments of this application are intended to more clearly illustrate the technical solutions of the embodiments of this application and do not constitute a limitation on the technical solutions provided by the embodiments of this application. Those skilled in the art will appreciate that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0246] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, i.e., they may be located in one place or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of this embodiment.
[0247] Those skilled in the art will appreciate that all or some of the steps in the methods, systems, and functional modules / units in the devices disclosed above may be implemented as software, firmware, hardware, or appropriate combinations thereof.
[0248] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described or recorded in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.
[0249] The terms "first", "second", "third", "fourth", etc. (if any) in the specification of the present application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential order. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0250] It should be understood that in this application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.
[0251] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the above-mentioned units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or can be integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0252] The units described above as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0253] In addition, the functional units in each embodiment of the present application may be integrated into a processing unit, each unit may exist physically separately, or two or more units may be integrated into a single unit. The above-mentioned integrated units may be implemented in the form of hardware or software functional units.
[0254] If the assembled units are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes multiple instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method of each embodiment of the present application. The aforementioned storage medium includes various media that can store programs, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0255] The preferred embodiments of the present invention are described above with reference to the accompanying drawings, but are not intended to limit the scope of the present invention. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and essence of the present invention should be within the scope of the present invention.
Claims
1. A task collaborative scheduling method, characterized in that: The method is applied to a collaborative computing system including a plurality of nodes, and includes: Splitting and arranging the target task based on the original task description information of the target task to obtain a plurality of subtasks and task logical topology relationships between the subtasks; Allocating a corresponding execution node to each of the subtasks from the collaborative computing system according to the node information of the node, and generating subtask description information; The subtask description information is sent to the execution nodes, so that each of the execution nodes executes the subtask according to the logical topological relationship between the subtasks.
2. The method according to claim 1, characterized in that The target task is split and arranged based on the original task description information of the target task to obtain multiple subtasks and task logical topology relationships between the subtasks, including: Splitting the target task into multiple subtasks according to functional logic based on the original task description information; Establishing a task logical topology relationship between the plurality of subtasks according to the task decomposition logic; The task decomposition logic includes at least one of serial task logic, parallel task logic and conditional triggering task logic.
3. The method according to claim 2, characterized in that The step of splitting the target task into multiple subtasks according to functional logic based on the original task description information includes: Determining available algorithm resources for the target task from a preset algorithm model library based on the original task description information; Based on the available algorithm resources, the target task is split into multiple subtasks according to functional logic.
4. The method according to claim 2, characterized in that The target task is a visual analysis task, and the subtask type corresponding to the visual analysis task includes at least one of a basic task type and a specific task type; The basic task types include at least one of the following: video acquisition tasks, video / image preprocessing tasks, video encoding tasks, video decoding tasks, video / image processing and analysis tasks, data collaborative processing tasks and inference computing tasks; The specific task type includes at least one of the following: a feature extraction task, a feature encoding task, a feature decoding task, a feature retrieval and comparison task, and a feature calculation task.
5. The method according to claim 1, wherein The method further comprises: Screening the nodes included in the collaborative computing system according to the original task description information and the node information of the nodes to obtain a pre-screened node set; Allocating a corresponding execution node to each of the subtasks from the collaborative computing system according to the node information of the node includes: A corresponding execution node is allocated to each of the subtasks from the pre-screened node set according to the node information of the node.
6. The method according to claim 5, characterized in that Before screening the nodes included in the collaborative computing system according to the original task description information and the node information of the nodes to obtain a pre-screened node set, the method further includes: Obtaining node information of each of the nodes; The node information includes at least one of the following: node time-space information, node hardware platform information, node capability information, node software environment information, node resource information and node status information.
7. The method according to claim 6, characterized in that Allocating a corresponding execution node to each of the subtasks from the pre-screened node set according to the node information of the node includes: Determining the execution requirements corresponding to the subtasks; According to the execution requirement and the node information of the node, a corresponding execution node is allocated to each of the subtasks from the pre-screened node set.
8. The method according to claim 7, characterized in that The execution requirements include at least one of execution environment requirements, node capability requirements, algorithm requirements, and execution resource requirements; Allocating a corresponding execution node to each of the subtasks from the pre-screened node set according to the execution requirement and the node information of the node includes: According to at least one of the execution environment requirement, the node capability requirement, the algorithm requirement and the execution resource requirement and the node information of the node, an execution node that meets the execution requirement is allocated to each subtask from the pre-screened node set.
9. The method according to claim 7, characterized in that The execution requirement includes an encoding / decoding resource requirement, wherein the encoding / decoding resource requirement includes at least one of a video encoding / decoding resource requirement and a feature encoding / decoding resource requirement; Allocating a corresponding execution node to each of the subtasks from the pre-screened node set according to the execution requirement and the node information of the node includes: According to the encoding / decoding resource requirement and the node information of the node, an execution node that meets the video encoding / decoding resource requirement or the feature encoding / decoding resource requirement is allocated to each of the subtasks from the pre-screened node set.
10. The method according to claim 5, characterized in that Allocating a corresponding execution node to each of the subtasks from the pre-screened node set according to the node information of the node includes: Allocating a corresponding execution node to each of the subtasks from the collaborative computing system according to the node information of the node, and obtaining a task collaborative scheduling solution for the target task; If the task collaborative scheduling solution does not meet the preset conditions, perform at least one of the following: Re-assigning a corresponding new execution node to each of the subtasks from the pre-screened node set to obtain a new task collaborative scheduling scheme until the new task collaborative scheduling scheme meets the preset conditions; Alternatively, when the task collaborative scheduling solution does not meet the preset conditions, a scheduling failure message is returned.
11. The method according to claim 1, wherein The method further comprises: Recording the task logical topology relationship, the subtask description information, and the execution node to form task collaboration description information of the target task; The collaborative processing process of the target task is managed and monitored based on the task collaboration description information.
12. The method according to claim 1, characterized in that After sending the subtask description information to the execution node, the method further includes: Receiving task status information sent by the execution node; When the task status information indicates that an exception occurs in the process of executing the current subtask by the current execution node, a corresponding exception handling operation is performed according to the cause of the exception.
13. The method according to claim 1, wherein The original task description information includes at least one of the following: Task number, task name, task type, task description, task priority, task constraints, and task status information.
14. The method according to claim 1, wherein The subtask description information includes at least one of the following: Subtask number, subtask name, subtask type, subtask description, parent task number, dependent task information, algorithm requirement information, execution environment requirement information, execution resource requirement information, execution node capability requirement information, subtask priority, subtask input information, subtask output information, subtask status and progress, subtask executor information, subtask execution time, subtask creation time.
15. The method according to claim 1, wherein the node comprises at least one of the following: a terminal device, an edge device, and a cloud device.
16. A collaborative scheduling device, characterized in that: The collaborative scheduling device is applied to a collaborative computing system, the collaborative computing system includes a plurality of nodes, and the device includes: A task arrangement module is used to split and arrange the target task based on the original task description information of the target task, and obtain multiple subtasks and task logical topology relationships between the subtasks; A task collaborative scheduling module, configured to allocate a corresponding execution node to each of the subtasks from the collaborative computing system according to the node information of the node, and generate subtask description information; The task issuing module is used to issue the subtask description information to the execution node, so that each execution node executes the subtask according to the logical topological relationship between the subtasks.
17. An electronic device, characterized in that: include: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program, which is executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 15.
18. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 15 is implemented.
Citation Information
Patent Citations
Calculation power scheduling method, system and device based on cloud edge fusion and storage medium
CN117539619A
Image processing task cloud edge-end collaborative scheduling method and device for semiconductor production inspection
CN117608792A
Task cooperative scheduling method and device, equipment and medium
CN118245184A
Fine granularity real-time supervision system based on edge computing
US20210096911A1
Cited By
Agent agent-assisted operation and maintenance task allocation method and system
CN120822812A
Image generation method, scheduling equipment, system and storage medium
CN121033213A
Distributed storage resource scheduling system based on edge computing
CN121037368A
Data processing method based on multi-agent collaboration and related device
CN121277656A
Service adaptation method and device based on skill dependence atlas and QoS (Quality of Service) perception
CN121349706A