High-definition map task processing method and device, electronic equipment and medium

By generating a task queue associated with the high-precision map task flow, and dynamically allocating tasks based on trigger events and node status information, the problem of insufficient scalability in the process design of high-precision map generation is solved, and efficient and flexible task management is achieved.

CN114036250BActive Publication Date: 2026-07-14BEIJING BAIDU NETCOM SCI & TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING BAIDU NETCOM SCI & TECH CO LTD
Filing Date
2021-11-11
Publication Date
2026-07-14

AI Technical Summary

Technical Problem

In the process of generating high-precision maps, the business process design suffers from poor scalability and high requirements for the process configuration capabilities of the business system.

Method used

By generating a task queue associated with the task flow, tasks are dynamically allocated to the processing party based on trigger event information and node status information, thus achieving a decoupled design of the task flow.

Benefits of technology

It improves the scalability of task flow design, reduces the requirements for process configuration capabilities of business systems, and enhances the efficiency and flexibility of business task processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114036250B_ABST
    Figure CN114036250B_ABST
Patent Text Reader

Abstract

The present disclosure provides a task processing method, device, equipment, medium and product, relates to the field of artificial intelligence, in particular to the fields of data processing and automatic driving. The specific implementation scheme comprises the following steps: generating a task queue associated with a configurable object of a task flow according to the received task flow, wherein the configurable object of the task flow comprises at least one flow node and trigger event information associated with each flow node in the at least one flow node, and the task queue comprises a node task associated with each flow node; determining an associated flow node matched with the corresponding flow node according to the trigger event information associated with each flow node; and for each flow node, assigning the node task associated with the flow node in the task queue to a task processing party according to the trigger event information associated with the flow node and the node state information of the corresponding associated flow node.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of artificial intelligence, particularly to the fields of data processing and autonomous driving, and can be applied to task processing scenarios. Background Technology

[0002] High-precision maps, also known as high-resolution maps, are widely used in the field of autonomous driving. They possess accurate vehicle location information and rich road element data, helping vehicles anticipate complex road conditions such as slope, curvature, and heading, thus better mitigating potential risks. In environments where business processes are partially or entirely automated through computer applications, designing business processes based on the sequence or logical relationships of business activities is a crucial means of ensuring efficient and reliable business operations. A typical application is the generation of high-precision map data, where there are many process steps with significant variations. However, in some scenarios, business process design suffers from poor scalability and high requirements for the process configuration capabilities of the business system. Summary of the Invention

[0003] This disclosure provides a task processing method, apparatus, electronic device, storage medium, and program product.

[0004] According to one aspect of this disclosure, a task processing method is provided, comprising: generating a task queue associated with a configurable object of the task flow according to a received task flow, wherein the configurable object of the task flow includes at least one flow node and trigger event information associated with each of the at least one flow node, and the task queue includes node tasks associated with each flow node; determining an associated flow node matching the corresponding flow node according to the trigger event information associated with each flow node; and for each flow node, allocating the node tasks associated with the flow node in the task queue to a task processor according to the trigger event information associated with the flow node and the node status information of the corresponding associated flow node.

[0005] According to another aspect of this disclosure, a task processing apparatus is provided, comprising: a first processing module, configured to generate a task queue associated with a configurable object of the received task flow, wherein the configurable object of the task flow includes at least one flow node and trigger event information associated with each of the at least one flow node, and the task queue includes node tasks associated with each flow node; a second processing module, configured to determine an associated flow node matching the corresponding flow node based on the trigger event information associated with each flow node; and a third processing module, configured to, for each flow node, allocate the node tasks associated with the flow node in the task queue to a task processor based on the trigger event information associated with the flow node and the node status information of the corresponding associated flow node.

[0006] According to another aspect of this disclosure, an electronic device is provided, comprising: at least one processor and a memory communicatively connected to said at least one processor. The memory stores instructions executable by said at least one processor, which, when executed by said at least one processor, enable the at least one processor to perform the task processing method described above.

[0007] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided that stores computer instructions for causing the computer to perform the task processing method described above.

[0008] According to another aspect of this disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the task processing method described above.

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

[0010] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:

[0011] Figure 1 The system architecture of a task processing and apparatus according to an embodiment of the present disclosure is illustrated schematically;

[0012] Figure 2 A flowchart illustrating a task processing method according to an embodiment of the present disclosure is shown schematically.

[0013] Figure 3 A flowchart illustrating a task processing method according to another embodiment of the present disclosure is shown schematically;

[0014] Figure 4 A schematic diagram of a task processing system according to an embodiment of the present disclosure is shown.

[0015] Figure 5 A block diagram of a task processing apparatus according to an embodiment of the present disclosure is schematically shown; and

[0016] Figure 6 A block diagram of an electronic device for performing task processing according to an embodiment of the present disclosure is shown schematically. Detailed Implementation

[0017] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0018] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit this disclosure. The terms “comprising,” “including,” etc., as used herein indicate the presence of the stated features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.

[0019] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein are to be interpreted in a manner consistent with the context of this specification, and not in an idealized or overly rigid way.

[0020] When using expressions such as "at least one of A, B, and C", they should generally be interpreted in accordance with the meaning that is commonly understood by a person skilled in the art (e.g., "a system having at least one of A, B, and C" should include, but is not limited to, a system having A alone, a system having B alone, a system having C alone, a system having A and B, a system having A and C, a system having B and C, and / or a system having A, B, and C, etc.).

[0021] Embodiments of this disclosure provide a task processing method. The task processing method includes: generating a task queue associated with a configurable object of the task flow according to a received task flow, wherein the configurable object of the task flow includes at least one flow node and trigger event information associated with each of the at least one flow node, the task queue includes node tasks associated with each flow node, determining associated flow nodes matching the corresponding flow node according to the trigger event information associated with each flow node, and for each flow node, allocating the node tasks associated with the flow node in the task queue to a task processor according to the trigger event information associated with the flow node and the node status information of the corresponding associated flow node.

[0022] Figure 1 The schematic illustration shows a system architecture for a task processing and apparatus according to an embodiment of the present disclosure. It should be noted that... Figure 1 The examples shown are merely examples of system architectures that can be applied to the embodiments of this disclosure, in order to help those skilled in the art understand the technical content of this disclosure, but do not mean that the embodiments of this disclosure cannot be used in other devices, systems, environments or scenarios.

[0023] The system architecture 100 according to this embodiment may include a process engine 101, a network 102, and a server 103 for the business system. The network 102 serves as a medium for providing a communication link between the process engine 101 and the server 103. The network 102 may include various connection types, such as wired or wireless communication links, or fiber optic cables, etc. The server 103 may be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud computing, network services, and middleware services.

[0024] The process engine 101 is used to generate task processes based on process definitions and send the task processes to the server 103 via network 102. The process definition indicates the business objectives that the business system wants to achieve.

[0025] Server 103 can be used to generate a task queue associated with a configurable object of the task flow based on the received task flow. The configurable object of the task flow includes at least one flow node and trigger event information associated with each of the at least one flow node. The task queue includes node tasks associated with each flow node. Server 103 is also used to determine associated flow nodes matching the corresponding flow node based on the trigger event information associated with each flow node, and for each flow node, to allocate the node tasks associated with the flow node in the task queue to the task handler based on the trigger event information associated with the flow node and the node status information of the corresponding associated flow node.

[0026] It should be noted that the task processing method provided in this embodiment can be executed by server 103. Correspondingly, the task processing device provided in this embodiment can be located in server 103. The task processing method provided in this embodiment can also be executed by a server or server cluster that is different from server 103 but can communicate with process engine 101 and / or server 103. Correspondingly, the task processing device provided in this embodiment can also be located in a server or server cluster that is different from server 103 but can communicate with process engine 101 and / or server 103.

[0027] It should be understood that Figure 1 The number of process engines, networks, and servers shown is merely illustrative. Depending on implementation needs, any number of process engines, networks, and servers can be used.

[0028] This disclosure provides a task processing method, which will be described below in conjunction with... Figure 1 The system architecture, referencing Figures 2-4 This describes a task processing method according to exemplary embodiments of the present disclosure. The task processing method of the embodiments of the present disclosure may, for example, be derived from... Figure 1 The server 103 shown is used to execute this.

[0029] Figure 2 A flowchart illustrating a task processing method according to an embodiment of the present disclosure is shown schematically.

[0030] like Figure 2 As shown, the task processing method 200 of this embodiment may include, for example, operations S210 to S230.

[0031] In operation S210, based on the received task flow, a task queue is generated that is associated with a configurable object of the task flow. The configurable object of the task flow includes at least one flow node and trigger event information associated with each of the at least one flow node. The task queue includes node tasks associated with each flow node.

[0032] In operation S220, based on the trigger event information associated with each process node, the associated process node that matches the corresponding process node is determined.

[0033] In operation S230, for each process node, based on the trigger event information associated with the process node and the node status information of the corresponding associated process node, the node tasks associated with the process node in the task queue are assigned to the task handler.

[0034] The following details the example flow of each operation of the task processing method in this embodiment.

[0035] For example, a process engine can combine at least one node task according to a protocol to achieve a specific business objective. The process engine could be, for instance, the Camunda workflow engine, which designs task flows in the form of flowcharts based on the BPMN (Business Process Model and Notation) protocol. The process engine and the business system can be decoupled.

[0036] In one example, a process engine generates a task flow based on a process definition and passes the task flow to the business system. The process definition indicates the business objective that the business system wants to achieve. The configurable object of the task flow includes at least one process node, as well as trigger event information associated with each of the at least one process node.

[0037] The process engine can design process models based on the type of business tasks to be executed and / or the business objectives to be achieved by the business system, generating task flows to guide the execution of business tasks. The process engine can configure the attributes and path variables of each process node in the task flow according to the requirements of the business tasks. The task flow can indicate event information associated with the business tasks, such as task start, task assignment, task flow direction, and task end.

[0038] One example is the use of a graphical representation to describe the task flow. This graphical task flow diagram includes at least one flow node and connections between them, which control the direction of the task flow. The flow nodes and their connections can be configured to be operable. By manipulating the flow nodes, the associated task information can be configured. For example, by defining input parameters, output parameters, and functions associated with the flow nodes, the associated task information can be configured. The connections between the flow nodes can also be manipulated to configure the associated trigger events.

[0039] The trigger event information indicates the associated process nodes that match each process node. For a target process node in at least one process node, the associated process nodes that match the target process node include at least one preceding process node to which the jump is to be made. The trigger event information may describe the target state information of the associated process nodes when jumping from the associated process node to the target process node.

[0040] The business system generates a task queue associated with a configurable object of the task flow based on the received task flow. The task queue includes node tasks associated with each flow node in the task flow. As an example, the task queue may include a task identifier for each node task associated with a flow node, and a class or function associated with each task identifier for implementing the corresponding node task. The node tasks in the task queue can be asynchronously executed scheduled tasks, effectively decoupling business task processing from the process engine.

[0041] The business system can assign node tasks associated with each process node in the task queue to the corresponding task handlers. During node task assignment, the system can determine the associated process nodes matching the corresponding process node based on the trigger event information associated with each process node. For at least one target process node, the system determines the target state information of the associated process node when navigating from the corresponding associated process node to the target process node, based on the trigger event information associated with the target process node. Based on the obtained node state information of the associated process nodes, if the node state information of the associated process nodes matches the target state information, the node tasks associated with the target process node are assigned to the corresponding task handlers.

[0042] It is understood that the target process node can be any process node from at least one process node. The task handler can include hardware or software, devices, modules, objects, instances, or users that handle the node tasks.

[0043] According to the embodiments of this disclosure, a task queue associated with a configurable object of the task flow is generated based on the received task flow. The configurable object of the task flow includes at least one flow node and trigger event information associated with each of the at least one flow node. The task queue includes node tasks associated with each flow node. Based on the trigger event information associated with each flow node, an associated flow node matching the corresponding flow node is determined. For each flow node, based on the trigger event information associated with the flow node and the node status information of the corresponding associated flow node, the node tasks associated with the flow node in the task queue are assigned to the task handler.

[0044] By decoupling task flow design from business task processing, the scalability of task flow design can be effectively improved, the requirements for business system process configuration capabilities can be reduced, and a process-oriented task management process can be realized, increasing the flexibility and maintainability of business process design. Assigning business tasks to each process node according to the task flow facilitates automated process flow functions, effectively improving business task processing efficiency and effectiveness.

[0045] Figure 3A schematic diagram of a task processing method according to another embodiment of the present disclosure is shown.

[0046] like Figure 3 As shown, operation S230 may include, for example, operations S310 to S320.

[0047] In operation S310, for a target process node in at least one process node, the target state information of the associated process node is determined when the corresponding associated process node jumps to the target process node, based on the trigger event information associated with the target process node.

[0048] In operation S320, if the node status information of the associated process node matches the target status information, the node task associated with the target process node is assigned to the task handler to achieve the jump from the associated process node to the target process node.

[0049] The following details the example flow of each operation of the task processing method in this embodiment.

[0050] For example, for any process node, the task status information of the node task associated with the process node is obtained, and the node status information associated with the process node is determined based on the task status information of the node task associated with the process node. The task status of the node task associated with the process node may include, for example, statuses such as pending execution, executing, execution completed, and execution failed, and the node status associated with the process node may include, for example, statuses such as pending processing and processing completed.

[0051] When retrieving task status information for node tasks associated with a process node, this can be done through callback event listeners and / or by retrieving task status information reported by the task handler. One example is registering callback event listeners for a node task and then calling the pre-registered event callback method to listen for task events submitted by the corresponding process node and retrieve the task status information of the node task associated with that process node. Another example is retrieving task status information reported by the task handler, such as task status information reported by the server when executing an external service.

[0052] If the node status information of the associated process node matches the target status information, the node task associated with the target process node is assigned to the task handler to achieve a jump from the associated process node to the target process node. In one example, the task processing engine in the business system receives a task termination instruction for the associated process node, which carries the node status information of the associated process node. The task processing engine determines whether a next node task exists based on the flow lines in the task flowchart. If a next node task exists, it sends a node acquisition instruction to the task processing platform, which includes the task identifier of the next node task. The task processing platform calls the class or function corresponding to the task identifier and publishes the class or function to the task access layer to distribute the business task associated with the target process node.

[0053] For example, the business objective of the business system includes generating a high-precision map. The process engine designs a task flow based on this objective, which includes five process nodes: acquiring scene images, determining camera pose parameters, projecting scene images, generating a scene map, and optimizing the scene map. Based on the event description information associated with the "projecting scene images" node, the associated process node matching the "projecting scene images" node is determined to be the "determining camera pose parameters" node. Based on the event description information, it can be determined that when transitioning from the "determining camera pose parameters" node to the "projecting scene images" node, the target status information of the "determining camera pose parameters" node is "processing completed."

[0054] The task status information of the node task associated with the "Determine Camera Pose Parameters" node is obtained. Based on the obtained task status information, the node status information matching this process node is determined. For example, after the task status information indicates that at least one keyframe image in the scene image sequence has been determined, and the camera pose parameters associated with each keyframe image have been determined, the task status of the node task associated with the "Determine Camera Pose Parameters" node is determined to be "Execution Completed", and the node status of the "Determine Camera Pose Parameters" node is determined to be "Completed". At this time, the "Determine Camera Pose Parameters" node can jump to the "Project Scene Image" node to execute the node task of projecting the scene image.

[0055] When assigning node tasks associated with a target process node to task handlers, one example is to publish these tasks to the task access layer, allowing task handlers to retrieve them. The task access layer can implement service discovery functionality for user connections or access. The business system proactively distributes node tasks associated with the target process node to the task access layer, which can be, for example, an access layer based on ngin+lua or openresty. Another example is to distribute node tasks associated with the target process node to task handlers, or for task handlers to query pending tasks through the business system's task processing engine, thus proactively retrieving node tasks associated with the target process node.

[0056] After assigning the node tasks associated with the target process node to the task handler, the task status information of the node tasks associated with the target process node is obtained, and the node status information associated with the target process node is determined based on the task status information of the node tasks associated with the target process node.

[0057] The task processing engine in the business system can persist the task status information and processing results of node tasks associated with the target process node, and save the persisted task status information and processing results to the database. Storing the task status information of business tasks in the database and persisting task records is beneficial for maintaining a complete task state machine. Furthermore, the task processing engine can also synchronize the task status information and processing results to the process engine.

[0058] Configurable objects in the task flow can include node timeout thresholds associated with target flow nodes. As an example, the timeout for node tasks associated with the target flow node is determined based on the task status information of the node tasks. The node task timeout includes the task start time and / or task end time. If the node task timeout exceeds the node timeout threshold, a timeout alarm is generated for the target flow node.

[0059] To monitor the execution of a task flow, at least one listener can be configured in the configurable object of the task flow. The listener's monitoring scope can include some or all nodes in the task flow, and the monitoring content can differ for different nodes. For example, a first listener can be used to listen for the start execution event reported by the target node, and the task start time associated with the target node can be determined based on the start execution event. A second listener can be used to listen for the end execution event reported by the target node, and the task end time associated with the target node can be determined based on the end execution event.

[0060] The task start and end times indicate the task duration of a node task. Based on these times, it can be determined whether the task duration of a node task associated with the target process node meets the preset time requirements, and thus whether the node task associated with the target process node has completed within the allowed time limit. Furthermore, the task start time can be used to determine whether a node task associated with the target process node began execution within the allowed time limit, and the task end time can be used to determine whether a node task associated with the target process node completed execution within the allowed time limit.

[0061] By monitoring the time limits of process nodes in the task flow, it is possible to promptly identify whether timeout failures have occurred at process nodes, which can effectively improve the accuracy of time limit monitoring for node tasks and help ensure the efficient and stable execution of node tasks.

[0062] The configurable objects for a task flow can include time limit thresholds associated with the task flow. As an example, the start time of the task associated with the first process node can be determined based on the task status information of the node task associated with the first process node. The end time of the task associated with the last process node can be determined based on the task status information of the node task associated with the last process node. The time limit of the process task associated with the task flow can be determined based on the start time of the task associated with the first process node and the end time of the task associated with the last process node. If the time limit of the process task exceeds the time limit threshold, a timeout alarm for the task flow is generated.

[0063] The start time of the task associated with the first process node and the end time of the task associated with the last process node indicate the task duration of the process. Based on the process time limit threshold in the configurable object of the task process, it is determined whether the task process has completed within the allowed time limit. By monitoring the task time limits, it is possible to effectively identify whether timeout failures have occurred in the task process, which helps ensure the efficient and stable operation of business tasks.

[0064] Figure 4 A schematic diagram of a task processing system according to an embodiment of the present disclosure is shown.

[0065] like Figure 4As shown, the task processing system 400 may include a process engine 401, a business system 402, and an external task access layer 403. The process engine 401 can generate task flows based on process definitions and send them to the business system 402. The process definitions indicate the business objectives that the business system 402 aims to achieve. The business system 402 can generate a task queue associated with configurable objects of the received task flows. The task queue contains node tasks associated with each process node in the task flow. The node tasks in the task queue may include tasks to be processed and completed tasks.

[0066] Based on the trigger event information associated with each process node, business system 402 distributes the node tasks associated with the corresponding process node to external task access layer 403, so that business processing party 404 can obtain the node tasks through external task access layer 403. In addition, business processing party 404 can also actively obtain node tasks from business system 402 by querying the pending tasks in business system 402.

[0067] In one example, the task processing engine 4021 in the business system 402 can create a task queue and obtain task status information and task processing results associated with node tasks. The task processing engine 4021 can persist the task status information and task processing results associated with node tasks and save the persisted task status information and task processing results to the database 4022. Based on the task status information associated with node tasks, the node status information of the corresponding process node can be determined. In another example, the task processing engine 4021 can synchronize the node status information of process nodes to the process engine 401, enabling the process engine 401 to optimize the task flow based on the node status information of the process nodes.

[0068] By decoupling task flow design from business task processing, the scalability of task flow design can be effectively improved, the requirements for business system process configuration capabilities can be reduced, it is conducive to realizing process-oriented task management, and the flexibility and maintainability of business process design can be increased.

[0069] Figure 5 A block diagram of a task processing apparatus according to an embodiment of the present disclosure is shown schematically.

[0070] like Figure 5 As shown, the task processing device 500 of this embodiment includes, for example, a first processing module 510, a second processing module 520 and a third processing module 530.

[0071] The first processing module 510 is used to generate a task queue associated with a configurable object of the task flow based on the received task flow. The configurable object of the task flow includes at least one flow node and trigger event information associated with each of the at least one flow node. The task queue includes node tasks associated with each flow node. The second processing module 520 is used to determine the associated flow node matching the corresponding flow node based on the trigger event information associated with each flow node. The third processing module 530 is used to assign the node tasks associated with the flow node in the task queue to the task handler for each flow node based on the trigger event information associated with the flow node and the node status information of the corresponding associated flow node.

[0072] According to the embodiments of this disclosure, a task queue associated with a configurable object of the task flow is generated based on the received task flow. The configurable object of the task flow includes at least one flow node and trigger event information associated with each of the at least one flow node. The task queue includes node tasks associated with each flow node. Based on the trigger event information associated with each flow node, an associated flow node matching the corresponding flow node is determined. For each flow node, based on the trigger event information associated with the flow node and the node status information of the corresponding associated flow node, the node tasks associated with the flow node in the task queue are assigned to the task handler.

[0073] By decoupling task flow design from business task processing, the scalability of task flow design can be effectively improved, the requirements for business system process configuration capabilities can be reduced, and a process-oriented task management process can be realized, increasing the flexibility and maintainability of business process design. Assigning business tasks to each process node according to the task flow facilitates automated process flow functions, effectively improving business task processing efficiency and effectiveness.

[0074] According to an embodiment of this disclosure, the second processing module includes: a first processing submodule, configured to determine the preceding process node to which the user is to jump to the corresponding process node based on trigger event information associated with each process node, so as to serve as the associated process node matching the corresponding process node.

[0075] According to an embodiment of this disclosure, the third processing module includes: a second processing submodule, configured to determine, for a target process node, the target state information of the associated process node when jumping from the corresponding associated process node to the target process node based on trigger event information associated with the target process node; and a third processing submodule, configured to assign the node task associated with the target process node to the task handler when the node state information of the associated process node matches the target state information, so as to realize the jump from the associated process node to the target process node.

[0076] According to embodiments of this disclosure, the third processing submodule includes: a first processing unit, configured to publish node tasks associated with the target process node to the task access layer, so that the task processor can obtain node tasks based on the task access layer; and / or a second processing unit, configured to distribute node tasks associated with the target process node to the task processor.

[0077] According to an embodiment of this disclosure, the device further includes: a fourth processing module, configured to: after assigning a node task associated with a target process node to a task handler, obtain task status information of the node task associated with the target process node; and determine node status information associated with the target process node based on the task status information of the node task associated with the target process node.

[0078] According to embodiments of this disclosure, the fourth processing module includes: a fourth processing submodule, used to obtain task status information of node tasks through callback listening events; and / or a fifth processing submodule, used to obtain task status information reported by the task processor.

[0079] According to embodiments of this disclosure, the configurable object includes a node time limit threshold associated with the target process node. The device further includes a fifth processing module, configured to: determine the node task time limit associated with the target process node based on the task status information of the node task associated with the target process node, wherein the node task time limit includes the task start time and / or the task end time; and generate a timeout alarm prompt for the target process node when the node task time limit exceeds the node time limit threshold.

[0080] According to embodiments of this disclosure, the configurable object includes a process time limit threshold associated with the task flow. The device further includes a sixth processing module, configured to: determine the start time of the task associated with the first process node based on the task status information of the node task associated with the first process node, and determine the end time of the task associated with the last process node based on the task status information of the node task associated with the last process node; determine the process task time limit associated with the task flow based on the start time of the task associated with the first process node and the end time of the task associated with the last process node; and generate a timeout alarm for the task flow if the process task time limit exceeds the process time limit threshold.

[0081] According to embodiments of this disclosure, the task flow is generated by the process engine based on the process definition, which indicates the business objective to be achieved by the business system, and the process engine and the business system are decoupled.

[0082] It should be noted that the information collection, storage, use, processing, transmission, provision and disclosure involved in the technical solution disclosed herein all comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0083] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.

[0084] Figure 6 A block diagram of an electronic device for performing task processing according to an embodiment of the present disclosure is shown schematically.

[0085] Figure 6 A schematic block diagram of an example electronic device 600 that can be used to implement embodiments of the present disclosure is shown. The electronic device 600 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0086] like Figure 6 As shown, device 600 includes a computing unit 601, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 602 or a computer program loaded from storage unit 608 into random access memory (RAM) 603. RAM 603 may also store various programs and data required for the operation of device 600. The computing unit 601, ROM 602, and RAM 603 are interconnected via bus 604. Input / output (I / O) interface 605 is also connected to bus 604.

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

[0088] The computing unit 601 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 performs the various methods and processes described above, such as task processing methods. For example, in some embodiments, the task processing method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on device 600 via ROM 602 and / or communication unit 606. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of the task processing method described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform task processing methods by any other suitable means (e.g., by means of firmware).

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

[0090] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

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

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

[0093] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0094] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

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

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

Claims

1. A task processing method, applied to a business system, comprising: Based on the received task flow, a task queue is generated associated with a configurable object of the task flow. The configurable object of the task flow includes at least one process node and trigger event information associated with each of the at least one process node. The task queue includes node tasks associated with each process node. The task flow is generated by the process engine based on the business objectives to be achieved by the business system. The process engine and the business system are decoupled. The at least one process node includes at least: acquiring scene images and generating a scene map. Based on the trigger event information associated with each process node, determine the associated process node that matches the corresponding process node; and For each process node, based on the trigger event information associated with the process node and the node status information of the corresponding associated process node, the node tasks associated with the process node in the task queue are allocated to the task handler. This includes: for a target process node, determining the target status information of the associated process node when jumping from the corresponding associated process node to the target process node based on the trigger event information associated with the target process node; and when the node status information of the associated process node matches the target status information, allocating the node tasks associated with the target process node to the task handler, so as to realize the jump from the associated process node to the target process node. Obtain task status information and task processing results of node tasks associated with the target process node from the task processing party; determine node status information associated with the target process node based on the task status information of the node tasks associated with the target process node; persist the obtained task status information and task processing results; synchronize the determined node status information to the process engine so that the process engine can optimize the task process based on the node status information of the process node.

2. The method according to claim 1, wherein, The step of determining the associated process node matching the corresponding process node based on the trigger event information associated with each process node includes: Based on the trigger event information associated with each process node, the preceding process node to which the jump is to be made is determined, and used as the associated process node that matches the corresponding process node.

3. The method according to claim 1, wherein, Assigning node tasks associated with the target process node to the task handler includes: The node task associated with the target process node is published to the task access layer, so that the task processor can obtain the node task based on the task access layer; and / or Distribute node tasks associated with the target process node to the task handler.

4. The method according to claim 1, wherein, The step of obtaining the task status information of the node task associated with the target process node includes: Obtain the task status information of the node task by listening for callback events; and / or Obtain the task status information reported by the task handler.

5. The method according to claim 1, wherein, The configurable object includes a node time limit threshold associated with the target process node, and the method further includes: Based on the task status information of the node tasks associated with the target process node, determine the time limit of the node tasks associated with the target process node, wherein the time limit of the node tasks includes the task start time and / or the task end time; and If the time limit of a node task exceeds the node time limit threshold, a timeout alarm is generated for the target process node.

6. The method according to claim 1, wherein, The configurable object includes a process time limit threshold associated with the task flow, and the method further includes: Based on the task status information of the node task associated with the first process node, determine the start time of the task associated with the first process node, and based on the task status information of the node task associated with the last process node, determine the end time of the task associated with the last process node. Based on the task start time associated with the first process node and the task end time associated with the last process node, determine the process task time limit associated with the task process; and If the time limit of the process task exceeds the time limit threshold, a timeout alarm will be generated for the process task.

7. The method according to any one of claims 1 to 6, wherein, The task flow is generated by the process engine based on the process definition, which indicates the business objective that the business system wants to achieve.

8. A task processing device, applied to a business system, comprising: The first processing module is configured to generate a task queue associated with a configurable object of the received task flow, wherein the configurable object of the task flow includes at least one process node and trigger event information associated with each of the at least one process node, and the task queue includes node tasks associated with each process node; the task flow is generated by a process engine based on the business objectives to be achieved by the business system, and the process engine and the business system are decoupled; the at least one process node includes at least: acquiring scene images and generating a scene map; The second processing module is used to determine the associated process node matching the corresponding process node based on the trigger event information associated with each process node; and The third processing module is used to allocate the node tasks associated with the process node in the task queue to the task processing party for each process node, based on the trigger event information associated with the process node and the node status information of the corresponding associated process node. The third processing module includes: a second processing submodule, configured to determine, for a target process node, the target state information of the associated process node when jumping from the corresponding associated process node to the target process node based on trigger event information associated with the target process node; and a third processing submodule, configured to assign the node task associated with the target process node to a task handler when the node state information of the associated process node matches the target state information, so as to realize the jump from the associated process node to the target process node; The fourth processing module is used to: obtain task status information and task processing results of node tasks associated with the target process node from the task processing party; determine node status information associated with the target process node based on the task status information of the node tasks associated with the target process node; persist the obtained task status information and task processing results; and synchronize the determined node status information to the process engine so that the process engine can optimize the task process based on the node status information of the process node.

9. The apparatus according to claim 8, wherein, The second processing module includes: The first processing submodule is used to determine the preceding process node to which the user is to jump to the corresponding process node based on the trigger event information associated with each process node, so as to serve as the associated process node that matches the corresponding process node.

10. The apparatus according to claim 8, wherein, The third processing submodule includes: The first processing unit is configured to publish the node task associated with the target process node to the task access layer, so that the task processor can obtain the node task based on the task access layer; and / or The second processing unit is used to distribute node tasks associated with the target process node to the task processing party.

11. The apparatus according to claim 8, wherein, The fourth processing module includes: The fourth processing submodule is used to obtain the task status information of the node task through callback listening events; and / or The fifth processing submodule is used to obtain the task status information reported by the task processing party.

12. The apparatus according to claim 8, wherein, The configurable object includes a node time limit threshold associated with the target process node, and the device further includes a fifth processing module for: Based on the task status information of the node tasks associated with the target process node, the time limit of the node tasks associated with the target process node is determined, and the time limit of the node tasks includes the task start time and / or the task end time. as well as If the time limit of a node task exceeds the node time limit threshold, a timeout alarm is generated for the target process node.

13. The apparatus according to claim 8, wherein, The configurable object includes a process time limit threshold associated with the task flow, and the device further includes a sixth processing module for: Based on the task status information of the node task associated with the first process node, determine the start time of the task associated with the first process node, and based on the task status information of the node task associated with the last process node, determine the end time of the task associated with the last process node. The time limit of the process task associated with the task process is determined based on the task start time associated with the first process node and the task end time associated with the last process node. as well as If the time limit of the process task exceeds the time limit threshold, a timeout alarm will be generated for the process task.

14. The apparatus according to any one of claims 8 to 13, wherein, The task flow is generated by the process engine based on the process definition, which indicates the business objective that the business system wants to achieve.

15. An electronic device comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1 to 7.

16. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1 to 7.

17. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1 to 7.