Task processing method and device and medium

By using data containers and configuration files to manage the input and output variables of tasks in the autonomous driving or robot engineering framework, the problem of inconsistent module interaction is solved, unified task management and efficient data flow are achieved, and the flexibility and maintainability of the system are improved.

CN119512552APending Publication Date: 2025-02-25XIAOMI EV TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311064497.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-22
Publication Date
2025-02-25

AI Technical Summary

Technical Problem

In the existing framework of autonomous driving or robot engineering, the interaction methods between modules are not uniform, resulting in uneven code base quality and difficult to expand and maintain.

Method used

By declaring the input and output variables of the task in the data container, obtaining the source code file of the task, and configuring it in the configuration file according to the execution order of the task, unified management of the task and data flow are achieved.

Benefits of technology

It improves the independence and unified management between task models, provides a unified task module configuration method and organization method, supports fine-grained task splitting, and improves the flexibility, reusability and maintainability of target process processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119512552A_ABST
    Figure CN119512552A_ABST
Patent Text Reader

Abstract

The invention relates to a task processing method and device and a medium. The method comprises the steps of declaring an input variable and an output variable of a to-be-added target task in a data container; a source code file of the target task is obtained, and the source code file comprises task execution algorithm codes of the target task and variable registration codes corresponding to the input variables and the output variables; according to the execution sequence corresponding to the target task, the target task is configured in a configuration file, and the configuration file is a configuration file containing a target process of the target task; and under the condition that the target task is determined to be executed according to the configuration file, obtaining a variable value of the input variable from the data container, and writing a variable value of an output variable obtained by executing the task execution algorithm code into the data container.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a task processing method, device and medium. Background Art

[0002] In the related art, in an open source autonomous driving or robotics engineering framework, the framework can be divided into coarse-grained modules and the interaction mode between these modules can be determined. The modules register and send and receive messages in the framework and interact with each other through the message passing mechanism supported by the framework.

[0003] In the related art, each module is composed of a group of classes in a programming language to implement the corresponding functions. It is easy for the module to have multiple implementation schemes, which leads to uneven quality of the entire code base and difficulty in expansion and maintenance. Summary of the invention

[0004] In order to overcome the problems existing in the related art, the present disclosure provides a task processing method, device and medium.

[0005] According to a first aspect of an embodiment of the present disclosure, a method for processing a task is provided, including:

[0006] Declare the input variables and output variables of the target task to be added in the data container;

[0007] Acquire a source code file of the target task, wherein the source code file includes a task execution algorithm code of the target task, and variable registration codes corresponding to the input variables and the output variables;

[0008] According to the execution order corresponding to the target task, the target task is configured in a configuration file, wherein the configuration file is a configuration file of a target process including the target task;

[0009] In the case where it is determined to execute the target task according to the configuration file, the variable value of the input variable is obtained from the data container, and the variable value of the output variable obtained by executing the task execution algorithm code is written into the data container.

[0010] Optionally, in the source code file, the input variable is defined as a variable of a constant reference type, and the output variable is defined as a variable of a pointer type.

[0011] Optionally, the target process includes a task set, the task set includes multiple tasks, and the input variable and the output variable of each task in the task set correspond to the same variable;

[0012] The method further comprises:

[0013] In response to receiving an update instruction for the execution order of at least one task in the task set, updating the configuration file according to the update task indicated by the update instruction;

[0014] The target process is executed according to the updated configuration file.

[0015] Optionally, in response to receiving an update instruction for the execution order of at least one task in the task set, updating the configuration file according to the update task indicated by the update instruction includes:

[0016] If the update instruction is an adjustment instruction, determining the update execution order of the update task after the adjustment according to the adjustment instruction;

[0017] The position of the configuration information of the update task in the configuration file is adjusted according to the update execution sequence to obtain an updated configuration file.

[0018] Optionally, in response to receiving an update instruction for the execution order of at least one task in the task set, updating the configuration file according to the update task indicated by the update instruction includes:

[0019] If the update instruction is a delete instruction, the configuration information of the update task in the configuration file is deleted to obtain an updated configuration file.

[0020] Optionally, the target process includes multiple tasks, and the method further includes:

[0021] Generate a directed acyclic graph corresponding to the target process according to the configuration file and the input variables and output variables of each task, wherein each task in the target process corresponds to a node in the directed acyclic graph;

[0022] Output the directed acyclic graph.

[0023] Optionally, the method further comprises:

[0024] In response to receiving a splitting instruction of a task to be split, according to source code of each split subtask indicated by the splitting instruction, declaring input variables and output variables of the split subtask in the data container;

[0025] Add variable registration codes corresponding to the input variables and output variables of the split subtask in the source code of the split subtask;

[0026] Determining the execution order of each of the split subtasks according to the task execution messages between the split subtasks;

[0027] The configuration file corresponding to the task to be split is updated according to the execution order of the split subtasks.

[0028] According to a second aspect of an embodiment of the present disclosure, a task processing device is provided, the device comprising:

[0029] A first processing module is configured to declare input variables and output variables of a target task to be added in a data container;

[0030] An acquisition module is configured to acquire a source code file of the target task, wherein the source code file includes a task execution algorithm code of the target task, and variable registration codes corresponding to the input variables and the output variables;

[0031] A configuration module, configured to configure the target task in a configuration file according to the execution order corresponding to the target task, wherein the configuration file is a configuration file of a target process including the target task;

[0032] The second processing module is configured to obtain the variable value of the input variable from the data container and write the variable value of the output variable obtained by executing the task execution algorithm code into the data container when determining to execute the target task according to the configuration file.

[0033] According to a third aspect of an embodiment of the present disclosure, there is provided a task processing device, including:

[0034] processor;

[0035] a memory for storing processor-executable instructions;

[0036] Wherein, the processor is configured to:

[0037] Declare the input variables and output variables of the target task to be added in the data container;

[0038] Acquire a source code file of the target task, wherein the source code file includes a task execution algorithm code of the target task, and variable registration codes corresponding to the input variables and the output variables;

[0039] According to the execution order corresponding to the target task, the target task is configured in a configuration file, wherein the configuration file is a configuration file of a target process including the target task;

[0040] In the case where it is determined to execute the target task according to the configuration file, the variable value of the input variable is obtained from the data container, and the variable value of the output variable obtained by executing the task execution algorithm code is written into the data container.

[0041] According to a fourth aspect of an embodiment of the present disclosure, there is provided a computer-readable storage medium on which computer program instructions are stored. When the program instructions are executed by a processor, the steps of any one of the methods described in the first aspect are implemented.

[0042] According to a fifth aspect of an embodiment of the present disclosure, a chip is provided, comprising a processor and an interface; the processor is used to read instructions to execute any one of the methods described in the first aspect.

[0043] The technical solution provided by the embodiments of the present disclosure may have the following beneficial effects:

[0044] Through the above technical solution, based on the idea of ​​separating data and algorithm processing, the independence and unified management between task models can be improved, a unified configuration method and organization method of task modules can be provided, and technical support can be provided for multi-task joint development. At the same time, there are unified definitions of input variables and output variables between tasks, and multiple tasks operate on shared data in the order of their execution, and finally complete the data flow in the target process, which can significantly improve the uniformity and efficient management of task configuration, and support fine-grained task splitting to improve the flexibility, reusability and maintainability of target process processing, and realize the expansion and maintenance of tasks in the target process.

[0045] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0047] Figure 1 The present invention is a flowchart of a method for processing a task according to an exemplary embodiment.

[0048] Figure 2 is a schematic diagram of a target process according to an exemplary embodiment.

[0049] Figure 3 is a schematic diagram of a directed acyclic graph according to an exemplary embodiment.

[0050] Figure 4 The invention is a block diagram of a device for processing a task according to an exemplary embodiment.

[0051] Figure 5 The invention is a block diagram of a device for processing a task according to an exemplary embodiment.

[0052] Figure 6 The invention is a block diagram of a device for processing a task according to an exemplary embodiment. DETAILED DESCRIPTION

[0053] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.

[0054] It should be noted that all actions of acquiring signals, information or data in the present disclosure are carried out in compliance with the relevant data protection laws and policies of the country where the device is located and with the authorization given by the owner of the corresponding device.

[0055] Figure 1 is a flowchart of a method for processing a task according to an exemplary embodiment. Figure 1 As shown, the method may include the following steps.

[0056] In step 11, the input variables and output variables of the target task to be added are declared in the data container.

[0057] For example, the data container can be an Aspect Container, the input variables of the target task are the data needed during the execution of the target task, and the output variables are the data obtained after the execution of the target task. In this step, the input variables and output variables of the target task can be declared in the data container. The data container is a data type that can store multiple elements. By declaring the variables in the data container, the data required during the task execution can be stored through the data container, so as to realize the separation of data and algorithm processing and realize the unified management of multiple target tasks.

[0058] In step 12, a source code file of a target task is obtained, wherein the source code file includes a task execution algorithm code of the target task, and variable registration codes corresponding to the input variables and the output variables.

[0059] Among them, the source code file of the target task can contain its task execution algorithm code, that is, the specific processing logic of the computing unit ExecutorUnit of the target task. For example, the task execution algorithm of the target task can be processed and abstracted into a consistent interface class, so that the algorithm processing of the target task can be abstracted into two processes of initialization (Initialize) and processing (Process), further realizing unified and standard management of multiple tasks.

[0060] Furthermore, data can be registered through Input and Output in the source code file. For example, the variable registration code of the input variable can be implemented through Input, and the variable registration code of the output variable can be implemented through Output, so that the computing unit can interact with the variables in the data container during the processing.

[0061] In step 13, the target task is configured in a configuration file according to the execution order corresponding to the target task, wherein the configuration file is a configuration file of a target process including the target task.

[0062] The target process may include multiple tasks, such as the target process may be an autonomous driving process, which may be generally divided into a perception module, a prediction module, a planning module, and a control module. Furthermore, the perception module may be further divided into radar perception, lidar perception, camera perception, fusion perception, and other modules. The multiple modules register and send and receive messages in the framework, and interact with each other through the message passing mechanism supported by the framework.

[0063] For example, the target process initially includes five tasks A, B, C, D, and E, such as Figure 2 As shown, the target task to be added is X, and the execution order of the target task is after task E. Then, the target task X can be configured after task E in the configuration file according to the execution order, thereby ensuring the processing flow of multiple tasks in the target process.

[0064] In step 14, when the target task is determined to be executed according to the configuration file, the variable values ​​of the input variables are obtained from the data container, and the variable values ​​of the output variables obtained by executing the algorithm code of the execution task are written into the data container.

[0065] Among them, in the process of executing the target process, each task can be executed according to the execution order of each task configuration in the configuration file. When the target task X is executed, and the input variable of the target task X is variable x, and the output variable is variable y, the value of the variable x can be obtained from the data container, and the task execution algorithm code is executed to perform corresponding processing on the variable x, obtain the value of the variable y, and write the value into the data container, that is, obtain the latest value of the variable y in the data container.

[0066] Therefore, through the above technical solution, based on the idea of ​​separation of data and algorithm processing, the independence and unified management between task models can be improved, a unified configuration method and organization method of task modules can be provided, and technical support can be provided for multi-task joint development. At the same time, there are unified definitions of input variables and output variables between tasks, and multiple tasks operate on shared data in the order of their execution, and finally complete the data flow in the target process, which can significantly improve the uniformity and efficient management of task configuration, and support fine-grained task splitting to improve the flexibility, reusability and maintainability of target process processing, and realize the expansion and maintenance of tasks in the target process.

[0067] In a possible embodiment, in the source code file, the input variable is defined as a variable of a constant reference type, and the output variable is defined as a variable of a pointer type.

[0068] Among them, the input variable can be defined as a variable of const reference type, so the value of the input variable will not be modified during use; the output variable can be defined as a variable of pointer type pointer, so when the value of the output variable is updated after the task execution algorithm code is executed, the address content pointed to by the pointer can be directly updated, that is, the value of the output variable in the data container will be modified after the execution of this target task, ensuring the effectiveness and accuracy of the data processing process.

[0069] In a possible embodiment, the target process includes a task set, the task set includes multiple tasks, and the input variable and the output variable of each task in the task set correspond to the same variable.

[0070] For example, in the process of autonomous driving, such as the process of detecting a target object, there may be a preprocessing task A, a detection task B, a first optimization task C, a second optimization task D, a third optimization task E, and a fourth optimization task X. Among them, the input variables and output variables of tasks C, D, E, and X are all the location information of the target object, so tasks C, D, E, and X can be divided into the same task set.

[0071] Accordingly, the method further comprises:

[0072] In response to receiving an update instruction for the execution order of at least one task in the task set, the configuration file is updated according to the update task indicated by the update instruction.

[0073] For example, the initial execution order is to execute tasks C, D, E, and X in sequence. After testing, it is found that executing task E first after task C and then executing tasks D and X can improve the accuracy of the location information. The execution order can be adjusted through the configuration page. The execution order of each task can be filled in the configuration page, and the update instruction can be triggered when the new execution order is filled in. For example, the execution order of task E can be filled in after task C, so that the configuration file can be updated based on the update instruction, so that when executing the target process, the updated target process is executed based on the updated configuration file, and the task execution is quickly adjusted.

[0074] As an example, in response to receiving an update instruction for the execution order of at least one task in the task set, updating the configuration file according to the update task indicated by the update instruction includes:

[0075] If the update instruction is an adjustment instruction, determining the update execution order obtained after the update task is adjusted according to the adjustment instruction;

[0076] The position of the configuration information of the update task in the configuration file is adjusted according to the update execution sequence to obtain an updated configuration file.

[0077] As described above, according to the adjustment instruction, it can be determined that the execution order of task E is after task C, that is, the update execution order of task E is that the previous node is task C. For example, the configuration file in the initial situation is as follows:

[0078] -AUnit{}

[0079] -BUnit{}

[0080] -CUnit{}

[0081] -DUnit{}

[0082] -EUnit{}

[0083] -XUnit{}

[0084] In the updated configuration file, update task E can be adjusted to after task C, that is:

[0085] -AUnit{}

[0086] -BUnit{}

[0087] -CUnit{}

[0088] -EUnit{}

[0089] -DUnit{}

[0090] -XUnit{}

[0091] Therefore, through the above technical solution, it is possible to adjust the execution order of different tasks by adjusting the position of the corresponding update task in the configuration file without making corresponding changes to the source code file. While realizing dynamic adjustment of the task execution order, it effectively simplifies the process and time of task adjustment and improves the user experience.

[0092] For example, in response to receiving an update instruction for the execution order of at least one task in the task set, updating the configuration file according to the update task indicated by the update instruction includes:

[0093] If the update instruction is a delete instruction, the configuration information of the update task in the configuration file is deleted to obtain an updated configuration file. If task D can be deleted based on the above, the updated configuration file is as follows:

[0094] -AUnit{}

[0095] -BUnit{}

[0096] -CUnit{}

[0097] -EUnit{}

[0098] -XUnit{}

[0099] In this way, the convenience of adding and deleting tasks in the target process can be further improved, the processing efficiency and accuracy of the task processing method can be improved, and the safe execution of the processing flow corresponding to the task can be guaranteed.

[0100] The target process is then executed according to the updated configuration file, thereby achieving real-time dynamic adjustment of task execution in the target process, simplifying the adjustment process, improving the maintainability and extensibility of the target process, and effectively broadening the usage scenarios.

[0101] As an example, the target process includes multiple tasks, and the method further includes:

[0102] A directed acyclic graph corresponding to the target process is generated according to the configuration file and the input variables and output variables of each task, wherein each task in the target process corresponds to a node in the directed acyclic graph.

[0103] By way of example, the directed acyclic graph may be a DAG (Directed Acyclic Graph). According to the order of tasks in the configuration file, the first task a is obtained in sequence as the starting node of the directed acyclic graph; the next task b in the configuration file is obtained, and if the input variable of the task is the output variable of task a, the node corresponding to the task b is used as the next node of the node of task a; the next task c in the configuration file is obtained, and if the input variable of the task is the output variable of task a, the node corresponding to the task c is used as the next node of the node of task a; the next task d in the configuration file is obtained, and if the input variable of the task is different from the output variables of tasks a, b, and c, the node corresponding to the task d is used as the starting node; the next task e in the configuration file is obtained, and if the input variable of the task is the output variable of tasks b and c, the node corresponding to the task e is used as the next node of the nodes of tasks b and c; the next task f in the configuration file is obtained, and if the input variable of the task is the output variable of tasks e and d, the node corresponding to the task f is used as the next node of the nodes of tasks e and d. The rest are deduced in the same way until the last task in the configuration file is traversed to obtain the directed acyclic graph, such as Figure 3 shown.

[0104] Then the directed acyclic graph is output. For example, the processing logic between the multiple tasks can be displayed in the display interface so that the technicians can clearly understand the logical relationship between the execution of each task, and provide data support for the configuration of parallel execution of tasks, so as to improve the parallel operation acceleration of tasks and reduce the time consumption of task execution.

[0105] In a possible embodiment, the method further includes:

[0106] In response to receiving a splitting instruction of a task to be split, according to the source code of each split subtask indicated by the splitting instruction, the input variables and output variables of the split subtask are declared in the data container.

[0107] Among them, based on this solution, the developed source code files can be adapted. If the task to be split contains multiple subtasks, the source code of each split subtask can be split out through the split instruction, such as the source code corresponding to subtask 1 can be split out to obtain source code 1, and the source code corresponding to subtask 2 can be split out to obtain source code 2. For example, the split instruction can be triggered based on the user's splitting of part of the code in the source code file, that is, the source code moved out by the user is used as the source code of the split subtask.

[0108] Furthermore, the input variables and output variables of the subtask may be determined by parsing the source code, and then declared in the data container, wherein if the corresponding declaration already exists in the data container, multiple declarations may not be necessary.

[0109] Add variable registration codes corresponding to the input variables and output variables of the split subtask in the source code of the split subtask.

[0110] Among them, the implementation method of the variable registration code is the same as above and will not be repeated here. It can be generated based on the definition of input variables and output variables or based on user input, and then added to the corresponding source code.

[0111] The execution order of each of the split subtasks is determined according to the task execution messages between the split subtasks.

[0112] Among them, the execution order of each split subtask can be determined based on the sending and receiving messages registered by each split subtask in the framework in the task to be split, that is, the task execution message. For example, if split subtask 2 subscribes to the execution completion message of split subtask 1, the execution order of split subtask 2 is after split subtask 1, so that the execution order of each split subtask is consistent with its execution logic in the task to be split.

[0113] Afterwards, the configuration file corresponding to the task to be split is updated according to the execution order of the split subtasks.

[0114] In this step, the configuration information of each split subtask may be added to the configuration file corresponding to the task to be split in sequence according to the execution order of the split subtasks to obtain an updated configuration file.

[0115] Therefore, through the above technical solution, the existing tasks can be split into a finer-grained manner, and a large task can be split into an execution process through multiple subtasks. On the one hand, the tasks can be managed in a finer-grained modular manner, and at the same time, the reuse of the subtasks can be supported, further improving the scalability and maintainability of the task processing method.

[0116] Based on the same inventive concept, the present disclosure also provides a task processing device, such as Figure 4 As shown, the device 10 comprises:

[0117] A first processing module 100 is configured to declare input variables and output variables of a target task to be added in a data container;

[0118] The acquisition module 200 is configured to acquire the source code file of the target task, wherein the source code file includes the task execution algorithm code of the target task, and the variable registration code corresponding to the input variable and the output variable;

[0119] The configuration module 300 is configured to configure the target task in a configuration file according to the execution order corresponding to the target task, wherein the configuration file is a configuration file of a target process including the target task;

[0120] The second processing module 400 is configured to obtain the variable value of the input variable from the data container and write the variable value of the output variable obtained by executing the task execution algorithm code into the data container when it is determined to execute the target task according to the configuration file.

[0121] Optionally, in the source code file, the input variable is defined as a variable of a constant reference type, and the output variable is defined as a variable of a pointer type.

[0122] Optionally, the target process includes a task set, the task set includes multiple tasks, and the input variable and the output variable of each task in the task set correspond to the same variable;

[0123] The device also includes:

[0124] A first updating module is configured to, in response to receiving an update instruction for the execution order of at least one task in the task set, update the configuration file according to the update task indicated by the update instruction;

[0125] The execution module is configured to execute the target process according to the updated configuration file.

[0126] Optionally, the first updating module includes:

[0127] a determination submodule configured to determine, if the update instruction is an adjustment instruction, an update execution order obtained after the update task is adjusted according to the adjustment instruction;

[0128] The adjustment submodule is configured to adjust the position of the configuration information of the update task in the configuration file according to the update execution sequence to obtain an updated configuration file.

[0129] Optionally, the first updating module includes:

[0130] The deletion submodule is configured to delete the configuration information of the update task in the configuration file if the update instruction is a deletion instruction, so as to obtain an updated configuration file.

[0131] Optionally, the target process includes multiple tasks, and the device further includes:

[0132] A generating module is configured to generate a directed acyclic graph corresponding to the target process according to the configuration file and the input variables and output variables of each task, wherein each task in the target process corresponds to a node in the directed acyclic graph;

[0133] The output module is configured to output the directed acyclic graph.

[0134] Optionally, the device further comprises:

[0135] A third processing module is configured to, in response to receiving a splitting instruction of a task to be split, declare input variables and output variables of each split subtask in the data container according to source code of each split subtask indicated by the splitting instruction;

[0136] A fourth processing module is configured to add variable registration codes corresponding to the input variables and output variables of the split subtask in the source code of the split subtask;

[0137] A determination module, configured to determine the execution order of each of the split subtasks according to the calling relationship between the split subtasks;

[0138] The second updating module is configured to update the configuration file corresponding to the task to be split according to the execution order of the split subtasks.

[0139] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0140] The present disclosure also provides a computer-readable storage medium having computer program instructions stored thereon, which, when executed by a processor, implements the steps of the task processing method provided by the present disclosure.

[0141] Figure 5 8 is a block diagram of a task processing device 800 according to an exemplary embodiment. For example, the device 800 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.

[0142] Reference Figure 5 , the device 800 may include one or more of the following components: a processing component 802 , a memory 804 , a power component 806 , a multimedia component 808 , an audio component 810 , an input / output interface 812 , a sensor component 814 , and a communication component 816 .

[0143] The processing component 802 generally controls the overall operation of the device 800, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the processing method of the above-mentioned tasks. In addition, the processing component 802 may include one or more modules to facilitate the interaction between the processing component 802 and other components. For example, the processing component 802 may include a multimedia module to facilitate the interaction between the multimedia component 808 and the processing component 802.

[0144] The memory 804 is configured to store various types of data to support operations on the device 800. Examples of such data include instructions for any application or method operating on the device 800, contact data, phone book data, messages, pictures, videos, etc. The memory 804 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0145] The power supply component 806 provides power to the various components of the device 800. The power supply component 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device 800.

[0146] The multimedia component 808 includes a screen that provides an output interface between the device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front camera and / or a rear camera. When the device 800 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.

[0147] The audio component 810 is configured to output and / or input audio signals. For example, the audio component 810 includes a microphone (MIC), and when the device 800 is in an operating mode, such as a call mode, a recording mode, and a speech recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 804 or sent via the communication component 816. In some embodiments, the audio component 810 also includes a speaker for outputting audio signals.

[0148] The input / output interface 812 provides an interface between the processing component 802 and the peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: a home button, a volume button, a start button, and a lock button.

[0149] The sensor assembly 814 includes one or more sensors for providing various aspects of the status assessment of the device 800. For example, the sensor assembly 814 can detect the open / closed state of the device 800, the relative positioning of components, such as the display and keypad of the device 800, and the sensor assembly 814 can also detect the position change of the device 800 or a component of the device 800, the presence or absence of user contact with the device 800, the orientation or acceleration / deceleration of the device 800, and the temperature change of the device 800. The sensor assembly 814 may include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 814 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an accelerometer, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0150] The communication component 816 is configured to facilitate wired or wireless communication between the device 800 and other devices. The device 800 can access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0151] In an exemplary embodiment, the apparatus 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors or other electronic components to perform the processing method for the above-mentioned tasks.

[0152] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 804 including instructions, and the above instructions can be executed by the processor 820 of the device 800 to complete the processing method of the above tasks. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0153] In addition to being an independent electronic device, the above-mentioned device can also be a part of an independent electronic device. For example, in one embodiment, the device can be an integrated circuit (IC) or a chip, wherein the integrated circuit can be an IC or a collection of multiple ICs; the chip can include but is not limited to the following types: GPU (Graphics Processing Unit), CPU (Central Processing Unit), FPGA (Field Programmable Gate Array), DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), SOC (System on Chip, SoC, system on chip or system-level chip), etc. The above-mentioned integrated circuit or chip can be used to execute executable instructions (or codes) to implement the processing method of the above-mentioned task. The executable instructions can be stored in the integrated circuit or chip, or can be obtained from other devices or equipment, such as the integrated circuit or chip includes a processor, a memory, and an interface for communicating with other devices. The executable instruction can be stored in the memory, and when the executable instruction is executed by the processor, the processing method of the above-mentioned task can be implemented; alternatively, the integrated circuit or chip can receive the executable instruction through the interface and transmit it to the processor for execution, so as to implement the processing method of the above-mentioned task.

[0154] In another exemplary embodiment, a computer program product is also provided. The computer program product includes a computer program executable by a programmable device, and the computer program has a code portion for executing the processing method of the above-mentioned task when executed by the programmable device.

[0155] Figure 6 1 is a block diagram of a task processing device 1900 according to an exemplary embodiment. For example, the device 1900 may be provided as a server. Figure 6 , the apparatus 1900 includes a processing component 1922, which further includes one or more processors, and a memory resource represented by a memory 1932 for storing instructions, such as an application, that can be executed by the processing component 1922. The application stored in the memory 1932 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 1922 is configured to execute the instructions to perform the processing method of the above-mentioned task.

[0156] The device 1900 may also include a power supply component 1926 configured to perform power management of the device 1900, a wired or wireless network interface 1950 configured to connect the device 1900 to a network, and an input / output interface 1958. The device 1900 may operate based on an operating system stored in the memory 1932, such as Windows Server 2000. TM , Mac OS X TM , Unix TM , Linux TM , FreeBSD TM or similar.

[0157] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the present disclosure. The present disclosure is intended to cover any variations, uses or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The description and examples are to be considered as exemplary only, and the true scope and spirit of the present disclosure are indicated by the following claims.

[0158] It should be understood that the present disclosure is not limited to the exact structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims

1. A task processing method, characterized in that: include: Declare the input variables and output variables of the target task to be added in the data container; Acquire a source code file of the target task, wherein the source code file includes a task execution algorithm code of the target task, and variable registration codes corresponding to the input variables and the output variables; According to the execution order corresponding to the target task, the target task is configured in a configuration file, wherein the configuration file is a configuration file of a target process including the target task; In the case where it is determined to execute the target task according to the configuration file, the variable value of the input variable is obtained from the data container, and the variable value of the output variable obtained by executing the task execution algorithm code is written into the data container.

2. The method according to claim 1, characterized in that: In the source code file, the input variable is defined as a variable of a constant reference type, and the output variable is defined as a variable of a pointer type.

3. The method according to claim 1, characterized in that The target process includes a task set, the task set includes multiple tasks, and the input variable and the output variable of each task in the task set correspond to the same variable; The method further comprises: In response to receiving an update instruction for the execution order of at least one task in the task set, updating the configuration file according to the update task indicated by the update instruction; The target process is executed according to the updated configuration file.

4. The method according to claim 3, characterized in that: In response to receiving an update instruction for the execution order of at least one task in the task set, updating the configuration file according to the update task indicated by the update instruction includes: If the update instruction is an adjustment instruction, determining the update execution order of the update task after the adjustment according to the adjustment instruction; The position of the configuration information of the update task in the configuration file is adjusted according to the update execution sequence to obtain an updated configuration file.

5. The method according to claim 3, characterized in that: In response to receiving an update instruction for the execution order of at least one task in the task set, updating the configuration file according to the update task indicated by the update instruction includes: If the update instruction is a delete instruction, the configuration information of the update task in the configuration file is deleted to obtain an updated configuration file.

6. The method according to claim 1, characterized in that The target process includes multiple tasks, and the method further includes: Generate a directed acyclic graph corresponding to the target process according to the configuration file and the input variables and output variables of each task, wherein each task in the target process corresponds to a node in the directed acyclic graph; Output the directed acyclic graph.

7. The method according to claim 1, characterized in that The method further comprises: In response to receiving a splitting instruction of a task to be split, according to source code of each split subtask indicated by the splitting instruction, declaring input variables and output variables of the split subtask in the data container; Add variable registration codes corresponding to the input variables and output variables of the split subtask in the source code of the split subtask; Determining the execution order of each of the split subtasks according to the task execution messages between the split subtasks; The configuration file corresponding to the task to be split is updated according to the execution order of the split subtasks.

8. A task processing device, characterized in that: The device comprises: A first processing module is configured to declare input variables and output variables of a target task to be added in a data container; An acquisition module is configured to acquire a source code file of the target task, wherein the source code file includes a task execution algorithm code of the target task, and variable registration codes corresponding to the input variables and the output variables; A configuration module, configured to configure the target task in a configuration file according to the execution order corresponding to the target task, wherein the configuration file is a configuration file of a target process including the target task; The second processing module is configured to obtain the variable value of the input variable from the data container and write the variable value of the output variable obtained by executing the task execution algorithm code into the data container when determining to execute the target task according to the configuration file.

9. A task processing device, characterized in that: include: processor; a memory for storing processor-executable instructions; Wherein, the processor is configured to: Declare the input variables and output variables of the target task to be added in the data container; Acquire a source code file of the target task, wherein the source code file includes a task execution algorithm code of the target task, and variable registration codes corresponding to the input variables and the output variables; According to the execution order corresponding to the target task, the target task is configured in a configuration file, wherein the configuration file is a configuration file of a target process including the target task; In the case where it is determined to execute the target task according to the configuration file, the variable value of the input variable is obtained from the data container, and the variable value of the output variable obtained by executing the task execution algorithm code is written into the data container.

10. A computer-readable storage medium having computer program instructions stored thereon, characterized in that: When the program instructions are executed by a processor, the steps of the method described in any one of claims 1 to 7 are implemented.