Object task processing method and device, storage medium and electronic equipment
By acquiring the vehicle task processing request and determining the target execution order, and calling the matching target operator container for processing, the problem of low vehicle data processing efficiency in the prior art is solved, and efficient vehicle task processing is achieved.
Patent Information
- Application Number
- CN202411996196.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-05-02
AI Technical Summary
The existing vehicle data processing methods are inefficient and cannot process different types of vehicle data at the same time, resulting in a reduced processing efficiency.
By obtaining the vehicle task processing request, the matching operator identification is determined, the task description information is obtained, the target execution order is determined, and the matching target operator container is called for processing.
When multiple vehicle tasks are received, multiple vehicle tasks are executed in sequence in order, ensuring improvement in processing efficiency.
Smart Images

Figure CN119917273A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of vehicle driving, and in particular, to a method, device, storage medium and electronic device for processing an object task. Background Art
[0002] With the development of technologies such as the Internet of Things and mobile information, cars are transforming from traditional mobile tools into super mobile terminals. Various vehicle terminals will generate a large amount of vehicle data during daily operation. Therefore, servers will also process tasks corresponding to a large amount of data.
[0003] However, vehicle terminal service providers often still rely on traditional data processing methods when processing large-scale data. Since different types of vehicle data require different data processing operators and server environments, it is impossible to process all data in a batch of data at the same time, thus reducing processing efficiency. In other words, the existing vehicle data processing methods have the technical problem of low efficiency.
[0004] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention
[0005] The embodiments of the present application provide a method, device, storage medium and electronic device for processing an object task, so as to at least solve the technical problem of low processing efficiency of vehicle tasks in the related art.
[0006] According to one aspect of an embodiment of the present application, a method for processing an object task is provided, the method comprising: obtaining at least one vehicle task processing request; determining a first task description information according to the operator identifier, and determining a second task description information according to a data identifier of object data corresponding to the task processing request, based on the first task description information and the second task description information; determining a target execution order of the current task request in at least one of the task processing requests according to the first task description information and the second task description information; calling a target operator container that matches the operator identifier according to the target execution order, wherein the target operator container includes a task execution method and an operating environment that match the operator identifier; and obtaining a task execution result returned by the target operator container that matches the current task request.
[0007] According to another aspect of an embodiment of the present application, a device for processing an object task is also provided, including: a first acquisition unit, used to acquire at least one vehicle task processing request; a first determination unit, used to determine the first task description information according to the operator identifier matching the current task request according to the request type of the current task request in at least one of the above-mentioned task processing requests, and determine the second task description information according to the data identifier of the object data corresponding to the above-mentioned task processing request; a second determination unit, used to determine the target execution order of the above-mentioned current task request in at least one of the above-mentioned task processing requests according to the above-mentioned first task description information and the above-mentioned second task description information; a calling unit, used to call the target operator container matching the above-mentioned operator identifier according to the above-mentioned target execution order, wherein the above-mentioned target operator container includes the task execution method and operating environment matching the above-mentioned operator identifier; an acquisition unit, used to obtain the task execution result returned by the above-mentioned target operator container that matches the above-mentioned current task request.
[0008] As an optional scheme, the above-mentioned second determination unit is used to: obtain at least one first description item from the above-mentioned first task description information, and obtain at least one second description item from the above-mentioned second task description information; determine the target execution order that matches the above-mentioned current task request based on the first sorting result corresponding to at least one of the above-mentioned first description items, and the second sorting result corresponding to at least one of the above-mentioned second description items.
[0009] As an optional scheme, the above-mentioned second determination unit is used for at least one of the following: determining the above-mentioned target execution order matching the above-mentioned current task request based on the weighted sum of the sorting results corresponding to at least one of the above-mentioned first description items and / or at least one of the above-mentioned second description items; obtaining the priority sorting result between at least one of the above-mentioned first description items and at least one of the above-mentioned second description items; obtaining a description item from at least one of the above-mentioned first description items and at least one of the above-mentioned second description items in sequence as the current description item according to the above-mentioned priority sorting result; and adjusting the target execution order matching the above-mentioned current task request in sequence according to the above-mentioned sorting results corresponding to the above-mentioned current description items.
[0010] As an optional scheme, the above-mentioned second determination unit is used for at least one of the following: obtaining a resource requirement description item matching the above-mentioned operator identifier, wherein the above-mentioned resource requirement description item is used to indicate the computing resources required to be consumed when the above-mentioned target operator container indicated by the above-mentioned operator identifier is running; obtaining an operator dependency item matching the above-mentioned operator identifier, wherein the above-mentioned operator dependency item is used to indicate the upstream operator container and / or downstream operator container associated with the above-mentioned target operator container, the output result of the above-mentioned upstream operator container is the input parameter of the above-mentioned target operator container, and the output result of the above-mentioned target operator container is the input parameter of the above-mentioned downstream operator container; obtaining a service type identifier matching the above-mentioned operator identifier, wherein the above-mentioned service type identifier is used to indicate the target service type corresponding to the above-mentioned current task request, and the above-mentioned target service type corresponds to the target priority; obtaining the number of task processing requests associated with the above-mentioned object data within the target processing cycle; obtaining the data volume description parameter of the above-mentioned object data.
[0011] As an optional solution, the processing device for the above-mentioned object task also includes: a data acquisition unit, used to generate at least one data operation request according to the above-mentioned data identifier of the above-mentioned object data, wherein the above-mentioned data operation request is used to perform data operations in the target database; query the data status of the above-mentioned object data according to the encryption information of the above-mentioned object data; when the data status description information of the above-mentioned object data indicates that the above-mentioned object data is in an idle state allowing data operations, obtain the above-mentioned object data from the above-mentioned target database according to at least one of the above-mentioned data operation requests; load the above-mentioned object data into the target shared storage area, and update the above-mentioned data status description information to a busy state, wherein the above-mentioned target shared storage area is used to temporarily store the above-mentioned object data required by at least one operator container.
[0012] As an optional solution, the data acquisition unit is further used to: when the data status description information of the object data indicates that the object data is in the busy state, obtain the current operation address of the object data in the target shared storage area; input the current operation address into the target operator container, wherein the target operator container will obtain the object data based on the current operation address.
[0013] As an optional solution, the calling unit is used to: generate a target operator calling instruction according to the current operation position of the object data in the target shared storage area and the operator identifier; and run the target operator container according to the target operator calling instruction, wherein the target operator container is an operator container allocated from a plurality of candidate operator containers for executing the current task request, the plurality of candidate operator containers are a plurality of pre-created virtual operating environments corresponding to the operator identifier, and the plurality of virtual operating environments include a task execution method matching the operator identifier.
[0014] As an optional solution, the processing device for the above-mentioned object task also includes at least one of the following: a data processing unit, which is used to process the above-mentioned vehicle status description data according to a decoding method matching the status type when the original object data includes vehicle status description data, so as to obtain the above-mentioned object data stored in the above-mentioned target database, wherein the above-mentioned vehicle status description information includes at least one of the following: vehicle driving speed, vehicle acceleration, vehicle steering angle, and vehicle signal status; when the original object data includes road object description data, the above-mentioned road object description data is processed according to a decoding method matching the data type to obtain the above-mentioned object data stored in the above-mentioned target database, wherein the above-mentioned road object description information includes at least one of the following: image data, point cloud data, target detection data, and lane line data.
[0015] As an optional solution, the processing device for the above-mentioned object task also includes at least one of the following: a return unit, used to return the above-mentioned task execution result to the vehicle terminal that sent the above-mentioned vehicle task processing request; a storage unit, used to store the above-mentioned task execution result in a target shared storage area; when the above-mentioned task execution result meets the target storage condition, the above-mentioned task execution result is sent to the target database.
[0016] According to another aspect of the embodiments of the present application, a computer program product or a computer program is provided, the computer program product or the computer program includes computer instructions, the computer instructions are stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the processing method of the above object task.
[0017] According to another aspect of an embodiment of the present application, there is also provided an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the object task processing method through the computer program.
[0018] In the above-mentioned embodiment of the present application, at least one vehicle task processing request is obtained; when an operator identifier matching the current task request is determined according to the request type of the current task request in at least one of the above-mentioned task processing requests, the first task description information is determined according to the above-mentioned operator identifier, and the second task description information is determined according to the data identifier of the object data corresponding to the above-mentioned task processing request; according to the above-mentioned first task description information and the above-mentioned second task description information, the target execution order of the above-mentioned current task request in at least one of the above-mentioned task processing requests is determined; according to the above-mentioned first task description information and the above-mentioned second task description information, the target operator container matching the above-mentioned operator identifier is called according to the above-mentioned target execution order, wherein the above-mentioned target operator container includes the task execution method and the operating environment matching the above-mentioned operator identifier; the task execution result matching the above-mentioned current task request returned by the above-mentioned target operator container is obtained, thereby realizing that when multiple vehicle task processing requests are received, multiple vehicle tasks are executed in sequence according to the execution order.
[0019] In the above implementation, when multiple vehicle task requests are obtained, the execution priority of the current task request can be determined according to the first task description information corresponding to the operator identifier corresponding to the current task request and the second task description information corresponding to the object data; similarly, the execution order of the multiple vehicle task requests can be assigned in sequence according to the above method, thereby ensuring the orderly execution of the multiple vehicle task requests under the condition of limited computing power;
[0020] Furthermore, in the process of executing vehicle task requests, related requests can be processed through an operator container that supports reuse, thereby avoiding the creation of different task execution environments for different types of data and different types of requests. Multiple tasks of the same type can be executed through the same operator container, that is, the task requests are executed in parallel, sequentially or periodically according to the above-mentioned task order through the operator container, thereby achieving the technical effect of efficiently processing different types of data in the same batch of data. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0022] Figure 1 is a schematic diagram of an application environment of an optional object task processing method according to an embodiment of the present application;
[0023] Figure 2 is a flowchart of an optional object task processing method according to an embodiment of the present application;
[0024] Figure 3is a schematic diagram of an optional object task processing method according to an embodiment of the present application;
[0025] Figure 4 is a schematic diagram of another optional object task processing method according to an embodiment of the present application;
[0026] Figure 5 is a schematic diagram of another optional object task processing method according to an embodiment of the present application;
[0027] Figure 6 is a schematic diagram of another optional object task processing method according to an embodiment of the present application;
[0028] Figure 7 is a schematic diagram of another optional object task processing system according to an embodiment of the present application;
[0029] Figure 8 is a schematic diagram of a device for processing an object task according to an embodiment of the present application;
[0030] Fig. 9 It is a schematic diagram of the structure of an optional electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0031] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.
[0032] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0033] According to one aspect of an embodiment of the present application, a method for processing an object task is provided. Optionally, the method for processing an object task can be applied to, but is not limited to, Figure 1 In the hardware environment shown. Optionally, the above object task processing method provided by the present application can be applied to a vehicle terminal. Figure 1 A side view of a vehicle terminal 101 is shown, and the vehicle terminal 101 can travel on a travel surface 113. The vehicle terminal 101 includes an onboard navigation system 103, a memory 102 storing a digitized road map 104, a space monitoring system 117, a vehicle controller 109, a GPS (Global Positioning System) sensor 110, an HMI (Human / Machine Interface) device 111, and also includes an autonomous controller 112 and a telematics controller 114.
[0034] In one embodiment, the space monitoring system 117 includes one or more space sensors and systems, which are used to monitor the visible area 105 in front of the vehicle terminal 101. The space monitoring system 117 also includes a space monitoring controller 118; the space sensors used to monitor the visible area 105 include a laser radar sensor 106, a radar sensor 107, a camera 108, etc. The space monitoring controller 118 can be used to generate data related to the visible area 105 based on the data input from the space sensor. The space monitoring controller 118 can determine the linear range, relative speed and trajectory of the vehicle terminal 101 based on the input from the space sensor, for example, determine the current speed of the vehicle and the relative speed compared to the front vehicle. The space sensor of the vehicle terminal space monitoring system 117 may include an object positioning sensing device, and the object positioning sensing device may include a range sensor, which can be used to locate the front object such as the front vehicle object.
[0035] The camera 108 is advantageously mounted and positioned on the vehicle terminal 101 in a position that allows capturing an image of the visible area 105, wherein at least a portion of the visible area 105 includes a portion of the travel surface 113 in front of the vehicle terminal 101 and including the trajectory of the vehicle terminal 101. The visible area 105 may also include the surrounding environment. Other cameras may also be used, for example, including a second camera disposed on the rear or side portion of the vehicle terminal 101 to monitor the rear of the vehicle terminal 101 and one of the right or left sides of the vehicle terminal 101.
[0036] The autonomous controller 112 is configured to implement autonomous driving or advanced driver assistance system (ADAS) vehicle terminal functionality. Such functionality may include a vehicle terminal onboard control system capable of providing a certain level of driving automation. Driving automation may include a range of dynamic driving and vehicle terminal operations. Driving automation may include a certain level of automatic control or intervention involving a single vehicle terminal function (e.g., steering, acceleration, and / or braking).
[0037] The HMI device 111 provides human-machine interaction for the purpose of guiding the operation of the infotainment system, GPS (Global Positioning System) sensor 110, onboard navigation system 103 and the like, and includes a controller. The HMI device 111 monitors operator requests and provides the operator with status, service and maintenance information of the vehicle terminal system. The HMI device 111 communicates with multiple operator interface devices and / or controls the operation of multiple operator interface devices. The HMI device 111 can also communicate with one or more devices that monitor biometric data associated with the vehicle terminal operator. For simplicity of description, the HMI device 111 is depicted as a single device, but in the embodiments of the system described herein, it can be configured as multiple controllers and associated sensing devices.
[0038] Operator controls may be included in the passenger compartment of the vehicle terminal 101, and may include, by way of non-limiting example, a steering wheel, an accelerator pedal, a brake pedal, and an operator input device, which is an element of the HMI device 111. The operator controls enable a vehicle terminal operator to interact with the operating vehicle terminal 101 and direct the operation of the vehicle terminal 101 to provide passenger transportation.
[0039] The onboard navigation system 103 uses the digitized road map 104 for the purpose of providing navigation support and information to the vehicle terminal operator. The autonomous controller 112 uses the digitized road map 104 for the purpose of controlling the autonomous vehicle terminal operation or ADAS vehicle terminal functions.
[0040] The vehicle terminal 101 may include a telematics controller 114, which includes a wireless telematics communication system capable of communicating outside the vehicle terminal (including communicating with a communication network 115 having wireless and wired communication capabilities). The wireless telematics communication system includes an off-board server 116 capable of short-range wireless communication with a mobile terminal.
[0041] During the communication between the vehicle terminal 101 and the server through the telematics controller 114, the server may receive at least one vehicle task processing request sent by the vehicle terminal. Figure 2 As shown, the server communicating with the vehicle terminal 101 can process multiple vehicle task processing requests according to the following steps:
[0042] S202, obtaining at least one vehicle task processing request;
[0043] S204, in a case where an operator identifier matching at least one task processing request is determined according to a request type of a current task request in at least one task processing request, first task description information is determined according to the operator identifier, and second task description information is determined according to a data identifier of object data corresponding to the task processing request;
[0044] S206, determining a target execution order of the current task request in at least one task processing request according to the first task description information and the second task description information;
[0045] S208, calling a target operator container that matches the operator identifier according to the target execution order, wherein the target operator container includes a task execution method and a running environment that match the operator identifier;
[0046] S210, obtaining the task execution result returned by the target operator container that matches the current task request.
[0047] It should be noted that the vehicle task processing request in the above step S202 may be a request sent directly by at least one vehicle terminal to the server for processing, or may be a processing request sent by other service nodes in the vehicle service system.
[0048] In the case where the vehicle task processing request is a terminal request directly sent by the vehicle terminal, the above vehicle task processing request may include but is not limited to a navigation information request, a vehicle-side data processing request, an AI service call request (for example, it may be a generative dialogue request sent from the vehicle computer to the server); in the case where the above vehicle task processing request is a processing request sent by other service nodes in the vehicle service system, the above vehicle task processing request may include but is not limited to a scene recognition request, a 2D-MOT (Multiple Object Tracking) service request, a 3D-MOT (Multiple Object Tracking) service, a 3D visualization service, a 2D visualization service, a scene mapping service request, etc. The above vehicle task processing request is only an exemplary description and does not limit the type of vehicle task processing request involved in the implementation mode of this application.
[0049] Further, in the above step S204, when the current task request is obtained from multiple task processing requests, the operator identifier matching the request type can be determined according to the request type of the current task request. It should be noted that, when the above current service request is obtained, the above current service request can be parsed first to determine at least one service processing node for responding to the above current service request.
[0050] In an optional manner, the above-mentioned service processing node can be a processing step that can be implemented through an operator container. That is to say, when the current service request can be resolved into a service node (service step), the subsequent operation can be directly performed according to the operator identifier corresponding to the service node; and when the current service request can be resolved into a task chain composed of multiple service nodes (service steps), the subsequent operation can be performed according to the operator identifiers corresponding to each of the multiple service nodes on the task chain.
[0051] It is understandable that, when one or more service nodes (service steps) are obtained through parsing, the one or more service nodes (service steps) can be further parsed into relevant description information that can be used to run the corresponding operator container. For example, the service node (service step) can be parsed to include the type of task to be processed (which can be used to indicate the operator identifier) and a series of task description information, such as input data path or database, input parameters, output path or database, upstream tasks that the task depends on, etc.
[0052] Furthermore, in the above steps S204 and S206, the target execution order of the current task request may be determined based on further description information provided by the operator identifier and the data identifier of the object data (for example, the storage path of the object data) obtained by parsing the above implementation.
[0053] In an optional implementation manner, determining the execution order of the current task request in at least one task processing request according to the first task description information and the second task description information includes:
[0054] S1, obtaining at least one first description item from first task description information, and obtaining at least one second description item from second task description information;
[0055] S2, determining a target execution order that matches the current task request according to a first sorting result corresponding to at least one first description item and a second sorting result corresponding to at least one second description item.
[0056] It can be understood that in the above implementation, the above-mentioned first task description information can be determined according to the operator identifier, and the above-mentioned first task description information can include at least one first description item; in addition, the above-mentioned second task description information can also be determined according to the data identifier, and the above-mentioned second task description information can include at least one second description item.
[0057] The following further describes the specific contents of the first task description information, the second task description information, and the first description item and the second description item.
[0058] In an optional implementation manner, the acquiring at least one first description item from the first task description information includes at least one of the following:
[0059] Method 1: Obtain a resource requirement description item that matches the operator identifier, where the resource requirement description item is used to indicate the computing resources required to be consumed when the target operator container indicated by the operator identifier is running;
[0060] The first description item obtained by the above method 1 can be a resource requirement description item, which can be used to indicate the CPU, GPU and memory requirements when the operator container is encapsulated and runs on the same physical machine. It is understandable that different operators require different computing power. Based on the above first description item, the priority of operators can be adjusted in combination with the overall computing power of the middle station, and the computing power with the most spare space in the middle station can be allocated first for different processing of the same computing power requirements.
[0061] Method 2: Obtain an operator dependency that matches the operator identifier, where the operator dependency is used to indicate the upstream operator container and / or downstream operator container associated with the target operator container, the output result of the upstream operator container is the input parameter of the target operator container, and the output result of the target operator container is the input parameter of the downstream operator container;
[0062] The first description item obtained by the above method 2 can be the upstream and downstream operator containers associated with the target operator container. It can be understood that different tasks include tasks that can be performed simultaneously and tasks with upstream and downstream dependencies (corresponding to different operator containers). The more tasks a task has on the task chain, the more it indicates that the execution of the task needs to rely heavily on the execution of other tasks, which means that the occupation time of system resources will be relatively longer. Based on this, when system resources are tight, a lower priority can be configured for this type of task processing request.
[0063] Method three: obtaining a service type identifier that matches the operator identifier, wherein the service type identifier is used to indicate a target service type corresponding to the current task request, and the target service type corresponds to a target priority.
[0064] The first description item obtained by the third method can be a service type identifier that matches the operator identifier. It is understandable that task processing requests received from different nodes can have different request priorities, and processing requests of different levels received from the same node can also have different request priorities (for example, some tasks are lower-level services. If the task cannot be completed, it will have a greater negative impact on the system, so a higher priority needs to be configured). The target execution order of the current task request can then be configured based on the request priority corresponding to the service type identifier.
[0065] In an optional implementation manner, the acquiring at least one second description item from the second task description information includes at least one of the following:
[0066] Method 1: obtaining the number of task processing requests associated with the object data within a target processing period;
[0067] It is understandable that in this embodiment, priority configuration can be performed based on object data. Specifically, different tasks including tasks that can be performed simultaneously and tasks with upstream and downstream dependencies can be configured for corresponding task processing requests according to the number of task processing requests associated with the object data. The more tasks a certain data matches, the higher the priority of the matching tasks.
[0068] Method 2: Obtain the data volume description parameter of the object data.
[0069] In the second method, the priority of the corresponding task processing request can be determined according to the data volume of the object data. For example, when system resources are tight, a lower priority can be configured for a request with a larger data volume.
[0070] The above method of obtaining at least one first description item from the first task description information and obtaining at least one second description item from the second task description information is only an exemplary description, and the above acquisition methods can be combined arbitrarily. In this embodiment, the specific content and combination of the above first description item and the second description item are not limited.
[0071] In an optional implementation, after the contents of the first description item and the second description item are determined, the target execution order of the current task request matching may be determined in the following manner, including at least one of the following:
[0072] Method 1: determining a target execution order matching the current task request according to a weighted sum of the sorting results corresponding to at least one first description item and / or at least one second description item;
[0073] Method 2: Obtain a priority sorting result between at least one first description item and at least one second description item; obtain a description item from at least one first description item and at least one second description item in turn as the current description item according to the priority sorting result; and adjust the target execution order that matches the current task request in turn according to the sorting result corresponding to the current description item.
[0074] It is understandable that in the above determination method 1, the corresponding sorting result can be determined for each description item respectively, and based on the weighted sum of the sorting results of multiple description items, the target execution order matching the current task request is determined.
[0075] Furthermore, before the weighted sum of the sorting results based on multiple description items is calculated, the weight system corresponding to each description item can be dynamically adjusted according to the operating status of the system, and the order of task execution can be dynamically adjusted according to the operating status of the system.
[0076] In the above-mentioned method 2, the target execution order of the current task request can be determined by hierarchical sorting. For example, in the case where the description items include resource requirement description items and task dependency items of object data, the target execution order of the current task request can be adjusted in sequence according to the priorities of the two data items, namely, the resource requirement description items and the task dependency items of object data.
[0077] For example, when the priority of the resource requirement description item is higher than the task dependency items of the object data, the target execution order of the current task request can be determined to be in the first request set according to the sorting result of the resource requirement description item, wherein the execution order of the first request set is higher than that of other request sets; then, the sorting result of the current task request in the first request set is determined according to the sorting result of the task dependency items of the object data. Then, the target execution order of the current task request in at least one task processing request is determined based on the above hierarchical sorting method.
[0078] In an optional manner, the above method of determining the target execution order of the current task request can be executed by a server. Specifically, it can be executed by a server node of a middleware server. For example Figure 3 As shown, the above method of determining the target execution order of the current task request can be executed by the transaction scheduling module 301.
[0079] For external requests, it mainly includes the type of task to be processed, specifically the operator ID, and some columns that must be entered as parameters: input data path or database, input parameters, output path or database, upstream tasks that the task depends on, etc.
[0080] Specifically, if Figure 3In the process, after all message requests enter the middle station, they first enter the transaction scheduling module 301. In this module, the middle station accepts pending requests, generates message queues and thread pool consumption transactions. Specifically, the transaction scheduling module 301 can evaluate the task priority of all current message transactions. The evaluation method mainly comes from two points: one is whether different tasks use a certain data as the same input, and the other is to allocate according to the operator computing power requirements. Among them, different tasks include tasks that can be performed simultaneously and tasks with upstream and downstream dependencies. The more tasks that match a certain data, the higher the priority. The operator computing power demand comes from the demand for consuming CPU, GPU and memory when running on the same physical machine after encapsulation. Different operators require different computing power. Combined with the overall computing power of the middle station, the operator priority is adjusted. For the same computing power requirements that are higher and not processed at the same time, the computing power with the most spare space in the middle station is preferentially allocated. Based on the above task priority evaluation, a consumption queue is generated for priority queue consumption.
[0081] A specific priority configuration method is described below in conjunction with Table 1.
[0082] Task S1 S2 S3 S4 S5 data D1 D1 D1 D2 D3 CPU high Low middle high Low GPU Low high high Low Low Memory Low Low Low Low high
[0083] Table 1
[0084] As shown in Table 1, for all requests at a certain moment, the task identifiers are configured as S1, S2, S3, S4, and S5. Among them, the three requests all need to process the same data segment of image data D1, and task S1 is a CPU-intensive task, S2 and S3 are GPU-intensive tasks, and the other two tasks S4 and S5 process other data D2 and D3 respectively, S4 is a CPU-intensive task, and S5 is a memory-intensive task.
[0085] In the actual transaction scheduling module, the S1-S5 tasks are prioritized. First, there are three pending tasks for data D1, namely S1, S2, and S3. D2 and D3 are both one, so S1, S2, and S3 are prioritized. Among them, S1 is a separate CPU task compared to S2 and S3, so the highest priority is L1. S2 and S3 are both GPU tasks. If the resource consumption of the two is equivalent, the priority is randomly adjusted. For example, if S2 CPU consumes less, S2 has a higher priority of L2, and S3 has a priority of L3. The resource consumption of S5 has less conflict with the resources of the above three tasks, so S5 has a priority of L4, and S4 has a priority of L5. For this priority queue, the executors are started asynchronously in sequence for processing, and tasks are executed in sequence according to the resource margin released by the cluster. Data IO operations such as data loading, deletion, or uploading are performed in sequence according to task requirements.
[0086] Through the above-mentioned implementation mode of the present application, a consumption queue can be generated according to the priority of each vehicle task processing request. At the same time, according to the analysis results of each vehicle task processing request, a data processing link can be preset to achieve efficient data flow. Then, according to specific business needs, the static operator can be dynamically configured and adjusted to generate a new data processing link.
[0087] In an optional implementation, before calling the target operator container matching the operator identifier in the target execution order, the method further includes:
[0088] S1, generating at least one data operation request according to a data identifier of the object data, wherein the data operation request is used to perform a data operation in a target database;
[0089] S2, querying the data status of the object data according to the encryption information of the object data;
[0090] S3, when the data state description information of the object data indicates that the object data is in an idle state allowing data operation, acquiring the object data from the target database according to at least one data operation request;
[0091] S4, loading the object data into a target shared storage area, and updating the data status description information to a busy state, wherein the target shared storage area is used to temporarily store the object data required by at least one operator container.
[0092] It is understandable that in the above implementation of the present application, the object data can be further transferred to the target operator container in step S208 by the above method. In the above implementation of the present application, the target shared storage area can be used between the server and the operator container to mount each task request and the object data required by each operator container.
[0093] In a specific way, data can be mounted using PVC (Persistent Volume Claim). Specifically, a portion of the block storage in the cluster can be designated as PVC space. For each data processing request, the data center will open up temporary space in the PVC and download the data to be processed through the data transmission interface. The data in this space is exposed to the corresponding operator container. After the operator is executed, the temporary space is destroyed. Different temporary spaces are opened for different data requests and different processing operators to ensure data isolation and processing efficiency.
[0094] In an optional implementation, before calling the target operator container matching the operator identifier in the target execution order, the method further includes:
[0095] S1, when the data state description information of the object data indicates that the object data is in a busy state, obtaining a current operation address of the object data in a target shared storage area;
[0096] S2, input the current operation address into the target operator container, wherein the target operator container obtains object data based on the current operation address.
[0097] It can be understood that in the above implementation, when it is detected that the object data is in a busy state (being used by other tasks or operators), the PVC address corresponding to the object data can be transmitted to the target operator container, so as to instruct the target operator container to obtain the corresponding object data through the above PVC address as soon as possible when the object data switches back to the idle state.
[0098] In a specific implementation, the read and write operations of the object data may be performed by an IO transaction processing module that is in communication connection with the data scheduling module.
[0099] like Figure 4 As shown, after the transaction scheduling module 301 completes the transaction scheduling, it can enter the IO transaction processing module and the operation transaction processing module according to different transaction types. For example, when the object task corresponding to the current task request includes a data read and write task, a corresponding task read and write request can be generated and sent to Figure 4 IO transaction processing module 303 in.
[0100] Specifically, the IO transaction processing module 303 mainly executes IO operations generated by received requests and IO operations of completed computing transactions. Further, it may include two steps, one is to store and query data in a database, and the other is to perform data operations.
[0101] The following is an explanation of the relevant information about object data stored in the database. Figure 4 In the database, the main fields of each object data are:
[0102] The MD5 code of the stored data is used to identify the unique MD5 code calculated for the data;
[0103] Data path, used to indicate the path stored in the PVC;
[0104] Data source, used to identify whether the data comes from OSS (Object Storage Service), database, or other transactions (generated by transactions);
[0105] The usage of each transaction is used to identify the status of each transaction using the data. The above transaction usage information can be saved in the form of key-value pairs, specifically {transaction number: status (unused, in use, completed)};
[0106] Data processing status is automatically generated based on the status of each transaction, and may include:
[0107] "Downloading": This status is displayed only when the download is in progress from OSS.
[0108] "In use": In the usage field of each transaction, if any transaction is using the data, it is in use;
[0109] "Completed": In the usage field of each transaction, if all transactions have been processed, it is completed;
[0110] "To be cleaned up": When the completion status reaches the next polling cycle T, it will change from completed to to be cleaned up.
[0111] The data operations performed by the IO transaction processing module 303 include processes such as data preparation, data uploading and data cleaning.
[0112] For data preparation operations, there are mainly two situations, namely, the data to be processed comes from OSS and comes from previous transactions. For data from OSS, first calculate its MD5 code, and query in the cache database whether the MD5 code of the data to be processed already exists in the task being processed. If it does not exist in the table, it is downloaded from the storage server to the PVC, and a new entry in the table is generated, and the transaction processing status is added as in use; if it already exists, there is no need to download it again, and the path of the data in the PVC is directly given as a parameter to the operation module, and the transaction usage status is added as in use in the table.
[0113] For the data upload operation, the generated data to be uploaded is mainly uploaded, and the MD5 code of the generated data is calculated, and the entry information of the data is added in the annotation.
[0114] For the data cleaning process, you can make a judgment based on the processing status field of the data in the table. If the processing status field is "in use", no processing is done; if the processing status field is "completed", the field is changed to pending cleaning and the time is recorded; if the processing status field is "pending cleaning", the difference between the recorded time and the current time is calculated. When the time period T is reached, the data of the entry in the PVC is deleted and the entry is deleted in the annotation.
[0115] Through the above-mentioned implementation mode of the present application, data processing isolation is achieved by mounting upstream and downstream data through PVC, thereby effectively improving the security of the data flow process, while reducing data redundancy during large-scale parallelism, as well as the hardware cost problem caused by redundancy. The above-mentioned implementation mode of the present application uses PVC to mount data between the data middle station and the cloud operator. As the administrator of the computing power cluster, the data middle station demarcates a part of the block storage in the cluster as PVC space. For each data processing request, the data middle station opens up temporary space in PVC and downloads the data to be processed through the data transmission interface. The data in this space is exposed to the corresponding operator container. After the operator completes execution, the temporary space is destroyed. Different temporary spaces are opened for different data requests and different processing operators to ensure data isolation and processing efficiency.
[0116] In an optional implementation manner, after the object data is loaded into the target shared storage area and the data status description information is updated to a busy state, the following steps are included:
[0117] S1, generating a target operator call instruction according to the current operation position of the object data in the target shared storage area and the operator identifier;
[0118] S2, running the target operator container according to the target operator call instruction, wherein the target operator container is an operator container allocated for executing the current task request from multiple candidate operator containers, and the multiple candidate operator containers are multiple pre-created virtual operating environments corresponding to the operator identifiers, and the multiple virtual operating environments include a task execution method matching the operator identifier.
[0119] In the implementation manner of the present application, when the object data stored in the PVC is received according to the above-mentioned IO transaction processing module, the subsequent calling and running operations of the target operator container can be further performed through the operation transaction processing module.
[0120] The following combination Figure 5 The above-mentioned implementation mode is described in detail. Figure 5 The operation transaction processing module 304 shown is mainly composed of operator configuration, operation operator query and operator scheduling system.
[0121] In the implementation mode of the present application, the target operator container can be configured in a key-value pair, where the key is the operator identifier and the value is the container number and command for starting the corresponding operator, which are stored in the database. Figure 3 The operator and input parameter information of the transaction scheduling module 301 shown in FIG. Figure 5 The data storage information of the IO transaction processing module 303 is used to generate a computing transaction request to be processed. When a new operator is received, a new configuration can be added to the database.
[0122] In the operator scheduling system, asynchronous executor call requests can be generated sequentially. Access the corresponding microservice operator, assign the computing tasks to different operators for processing, and monitor the tasks. After the computing results are returned, they are handed over to IO transactions for processing, including operations such as label storage and data upload. It should be noted that before the above asynchronous calls, the upper limit needs to be determined based on the number of CPU cores in the computing power cluster. In actual operation, each thread can be used to independently start and monitor an executor.
[0123] Further, in Figure 5 The specific implementation of the target operator container in the operator integration module 305 shown in the figure can encapsulate the operator operating environment in the physical machine through virtualization technology, and unify its interface content through configuration to facilitate scheduling. Its interface content includes the operator name, operator-generated labels, data mounting address, data original address, processed data storage address and dependent operator status, etc.
[0124] For the specific implementation of the above target operator container, the operator container can be encapsulated as a microservice through different web frameworks such as flask, and the necessary parameters can be provided as microservice input parameters. All encapsulated operator restful APIs will be encapsulated in a containerized manner and deployed in multiple copies. At the same time, PVC is directly connected to the computing power cluster to ensure high bandwidth, and its data is directly obtained from PVC for efficient computing.
[0125] For the calculation results obtained through the operator container, structured data and semi-structured data will be returned in JSON format. For example, data such as labels will be returned in JSON and stored in the database; unstructured data will be uploaded to OSS through the upload interface for storage.
[0126] When a new operator is received, it can be encapsulated in the same way and registered in the operator query system in the operation transaction processing module, so that it can be easily called and expanded later. At the same time, in the update iteration of the operator container, there is no conflict between the new and old operators, and they can be used at the same time. The old operator instance can be destroyed according to the needs, and the old operator container can also be destroyed in the cluster.
[0127] Through the above implementation of the present application, the relationship between operators and data is managed through static key-value pairs, which has the beneficial effects of ease of use, high efficiency and low cost. The ease of use is reflected in the simplicity of the key-value pairs, which can be used by simply viewing them, and are easy to add; the high efficiency is reflected in the fast query of the key-value pair method, which can realize a many-to-one mapping relationship; the low cost is reflected in the fact that there is no need to establish a separate library for the operator, and only the relationship needs to be stored in the dictionary. The operator itself is in an external container, thereby improving the processing efficiency of the object task.
[0128] In an optional implementation manner, before the object data is loaded into the target shared storage area, at least one of the following is further included:
[0129] Method 1: When the original object data includes vehicle state description data, the vehicle state description data is processed according to a decoding method matching the state type to obtain object data stored in a target database, wherein the vehicle state description information includes at least one of the following: vehicle speed, vehicle acceleration, vehicle steering angle, and vehicle signal state;
[0130] Method 2: When the original object data includes road object description data, the road object description data is processed according to a decoding method that matches the data type to obtain object data stored in a target database, wherein the road object description information includes at least one of the following: image data, point cloud data, target detection data, and lane line data.
[0131] In the implementation manner of the present application, the vehicle data may also be managed by the above-mentioned method 1 and / or method 2. The above-mentioned vehicle data may specifically include autonomous driving data, which may be classified into structured data and unstructured data.
[0132] It should be noted that different models have different chassis signal encoding methods, but for a vehicle, the data structure is the same, such as wheel speed, acceleration, heading angle, longitude and latitude positioning information, etc. These chassis general data (i.e. the above vehicle status description data) are saved as a structure. Chassis signals with different encoding methods are parsed according to their corresponding DBC matrices to the general data structure described above and stored.
[0133] For unstructured data, such as images, point clouds, and audio files, it is sufficient to store the original available data. By storing data in the above manner, the data is divided into chassis modules, image modules, point cloud modules, and audio modules, etc., and a data storage directory format under a scene or fragment is obtained. If there is a new data type, a new data module can be added.
[0134] Specifically, Figure 6 As shown, the above-mentioned implementation mode of the present application can be implemented through a data standardization module. Furthermore, the standardized data can be defined as chassis data, image data, point cloud data, target detection data, lane line data, etc. With the development of technology, new data types can be added later. For each model, due to its different design structure and different requirements, the DBC data protocol used is also different, but the operating status of the vehicle during the intelligent driving process, such as driving speed, acceleration, steering angle, and various signal states, is the same. The data of different chassis types are decoded according to their corresponding data protocols and aligned to the standard format.
[0135] For the camera's image data, the original data packet is generally in binary format, raw format or video format, etc., and the corresponding decoding methods are also used to align them to a unified image format such as JPEG. The rest of the data standardization is similar to the above two methods.
[0136] In an optional implementation, after obtaining the task execution result returned by the target operator container that matches the current task request, at least one of the following is further included:
[0137] Method 1: Return the task execution result to the vehicle terminal that sent the vehicle task processing request;
[0138] Method 2: storing the task execution result in the target shared storage area; when the task execution result meets the target storage condition, sending the task execution result to the target database.
[0139] It can be understood that, in the case where the above-mentioned current task request is a request sent by the vehicle terminal, at least the above-mentioned method one can be used to return the task execution result of the request response to the vehicle terminal, and the data storage operation can also be performed in accordance with the above-mentioned method two at the same time; in the case where the above-mentioned current task request is a request sent by a service node in the vehicle service system, the data storage operation can be performed in accordance with the above-mentioned method two.
[0140] Specifically, a data mounting module may be used to perform the above result processing operation.
[0141] In the data mounting module, when the middle platform calls the cloud operator and inputs data, it will not directly access the original data, but will open a temporary space in the PVC space and use the object storage protocol to download the required data to the temporary space. At the same time, the space will be specified as the data input directory in the input of the cloud operator. After the operator is executed, if a new file is generated, the new data will be uploaded to the same temporary space, and then the middle platform will upload it from the PVC to the underlying object storage through the data upload protocol.
[0142] The following combination Figure 7 A specific implementation of an object task-based processing system is described.
[0143] In one processing link of this embodiment, the original data can be processed as a binary file encapsulated in the ROS system, hereinafter referred to as bag data.
[0144] The bag data includes vehicle chassis information including but not limited to speed, which is just an example here. There are many other information, including speed information frequency of 20Hz; including image data recorded by the front camera, with a resolution of 3840*2160. Of course, it also includes other data recorded on the vehicle body, and only these two types of data are used as examples here.
[0145] The transaction processing module analyzes the speed information: the vehicle model is input, and the middle station corresponds to the vehicle model according to the configuration, such as 0001. Then the corresponding operator is found through the operation transaction, and the dbc file of the 0001 model is stored in the operator. The dbc file records the data bit a, bit width b, multiple c and offset d of the speed data under the vehicle model.
[0146] Then, the IO transaction module is used to obtain a and b in the original data, and the base is converted to decimal s, and the speed data is obtained as c*s+d. The parsed data is returned, and the average speed, maximum speed or minimum speed can be returned. The single value is stored in the mongo database as a speed label to identify the speed status of the data packet. At the same time, the continuous data is stored in a time series database such as influxdb according to the timestamp.
[0147] For image data, the middle station calls the corresponding operator for parsing, and converts the original binary file into a jpeg file according to the pre-customized encoding method x. Then, according to the operator configuration, it chooses whether to upload it to the data storage server through the data upload protocol. At the same time, for jpeg files, the image target recognition operator can be called. When the operator is running, the file is downloaded to the PVC through the middle station in advance. The operator in the container obtains the downloaded jpeg image from the PVC, calls the model file inside the container for recognition, and obtains the target recognition result, including the location, size, and category of the target in the image. It is saved as a txt file and uploaded to the data storage server through the file upload protocol.
[0148] Through the above implementation of the present application, a paradigm for standardization of autonomous driving data is provided, which standardizes vehicle-side data through configurable data processing operators and supports iterative evolution of operators;
[0149] In the above implementation, the relationship between operators and data is managed through static key-value pairs, which has the beneficial effects of ease of use, high efficiency and low cost. The ease of use is reflected in the simplicity of the key-value pairs, which can be used by simply viewing them, and are also easy to add; the high efficiency is reflected in the fast query of the key-value pair method, which can realize a many-to-one mapping relationship; the low cost is reflected in the fact that there is no need to establish a separate library for the operator, and only the relationship needs to be stored in the dictionary, and the operator itself is in an external container.
[0150] In addition, the above-mentioned implementation method of the present application effectively improves the security of the data flow process by mounting the uplink and downlink data on PVC, while reducing data redundancy during large-scale parallelism and the hardware cost problem caused by redundancy.
[0151] Furthermore, if Figure 7 In the implementation shown, the implementation method of the present application designs a data middle-office system for intelligent cloud-based operator scheduling, which can preset data processing links to achieve efficient data flow. At the same time, through the middle-office, static operators can be dynamically configured and adjusted to generate new data processing links in combination with specific business needs, thereby achieving a close integration of data systems and businesses.
[0152] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
[0153] According to another aspect of the embodiment of the present application, there is also provided a device for processing an object task for implementing the above-mentioned method for processing an object task. Figure 8 As shown, the device comprises:
[0154] A first acquisition unit 802, configured to acquire at least one vehicle task processing request;
[0155] The first determining unit 804 is used to determine the first task description information according to the operator identifier matching the current task request according to the request type of the current task request in at least one of the task processing requests, and determine the second task description information according to the data identifier of the object data corresponding to the task processing request;
[0156] A second determining unit 806, configured to determine a target execution order of the current task request in at least one of the task processing requests according to the first task description information and the second task description information;
[0157] A calling unit 808 is used to call the target operator container matching the operator identifier according to the target execution order, wherein the target operator container includes the task execution method and the operating environment matching the operator identifier;
[0158] The second acquisition unit 810 is used to acquire the task execution result returned by the target operator container and matching the current task request.
[0159] As an optional scheme, the above-mentioned second determination unit 806 is used to: obtain at least one first description item from the above-mentioned first task description information, and obtain at least one second description item from the above-mentioned second task description information; determine the target execution order that matches the above-mentioned current task request based on the first sorting result corresponding to at least one of the above-mentioned first description items, and the second sorting result corresponding to at least one of the above-mentioned second description items.
[0160] As an optional scheme, the above-mentioned second determination unit 806 is used for at least one of the following: determining the above-mentioned target execution order matching the above-mentioned current task request based on the weighted sum of the sorting results corresponding to at least one of the above-mentioned first description items and / or at least one of the above-mentioned second description items; obtaining the priority sorting result between at least one of the above-mentioned first description items and at least one of the above-mentioned second description items; obtaining a description item from at least one of the above-mentioned first description items and at least one of the above-mentioned second description items in sequence as the current description item according to the above-mentioned priority sorting result; and adjusting the target execution order matching the above-mentioned current task request in sequence according to the above-mentioned sorting results corresponding to the above-mentioned current description items.
[0161] As an optional scheme, the second determination unit 806 is used for at least one of the following: obtaining a resource requirement description item matching the operator identifier, wherein the resource requirement description item is used to indicate the computing resources required to be consumed when the target operator container indicated by the operator identifier is running; obtaining an operator dependency item matching the operator identifier, wherein the operator dependency item is used to indicate an upstream operator container and / or a downstream operator container associated with the target operator container, the output result of the upstream operator container is an input parameter of the target operator container, and the output result of the target operator container is an input parameter of the downstream operator container; obtaining a service type identifier matching the operator identifier, wherein the service type identifier is used to indicate the target service type corresponding to the current task request, and the target service type corresponds to the target priority; obtaining the number of task processing requests associated with the object data within the target processing cycle; obtaining a data volume description parameter of the object data.
[0162] As an optional solution, the processing device for the above-mentioned object task also includes: a data acquisition unit, used to generate at least one data operation request according to the above-mentioned data identifier of the above-mentioned object data, wherein the above-mentioned data operation request is used to perform data operations in the target database; query the data status of the above-mentioned object data according to the encryption information of the above-mentioned object data; when the data status description information of the above-mentioned object data indicates that the above-mentioned object data is in an idle state allowing data operations, obtain the above-mentioned object data from the above-mentioned target database according to at least one of the above-mentioned data operation requests; load the above-mentioned object data into the target shared storage area, and update the above-mentioned data status description information to a busy state, wherein the above-mentioned target shared storage area is used to temporarily store the above-mentioned object data required by at least one operator container.
[0163] As an optional solution, the data acquisition unit is further used to: when the data status description information of the object data indicates that the object data is in the busy state, obtain the current operation address of the object data in the target shared storage area; input the current operation address into the target operator container, wherein the target operator container will obtain the object data based on the current operation address.
[0164] As an optional solution, the calling unit 808 is used to: generate a target operator calling instruction according to the current operation position of the object data in the target shared storage area and the operator identifier; and run the target operator container according to the target operator calling instruction, wherein the target operator container is an operator container allocated from a plurality of candidate operator containers for executing the current task request, and the plurality of candidate operator containers are a plurality of pre-created virtual operating environments corresponding to the operator identifier, and the plurality of virtual operating environments include a task execution method matching the operator identifier.
[0165] As an optional solution, the processing device for the above-mentioned object task also includes at least one of the following: a data processing unit, which is used to process the above-mentioned vehicle status description data according to a decoding method matching the status type when the original object data includes vehicle status description data, so as to obtain the above-mentioned object data stored in the above-mentioned target database, wherein the above-mentioned vehicle status description information includes at least one of the following: vehicle driving speed, vehicle acceleration, vehicle steering angle, and vehicle signal status; when the original object data includes road object description data, the above-mentioned road object description data is processed according to a decoding method matching the data type to obtain the above-mentioned object data stored in the above-mentioned target database, wherein the above-mentioned road object description information includes at least one of the following: image data, point cloud data, target detection data, and lane line data.
[0166] As an optional solution, the processing device for the above-mentioned object task also includes at least one of the following: a return unit, used to return the above-mentioned task execution result to the vehicle terminal that sent the above-mentioned vehicle task processing request; a storage unit, used to store the above-mentioned task execution result in a target shared storage area; when the above-mentioned task execution result meets the target storage condition, the above-mentioned task execution result is sent to the target database.
[0167] For a specific embodiment, reference may be made to the example shown in the above-mentioned method for processing the object task, which will not be described in detail in this example.
[0168] According to another aspect of the embodiments of the present invention, an electronic device for implementing the above data acquisition method is also provided. The electronic device may be Fig. 9 The terminal device or server shown in the figure. This embodiment is described by taking the electronic device as a terminal device as an example. Fig. 9 As shown, the electronic device includes a memory 902 and a processor 904. The memory 902 stores a computer program, and the processor 904 is configured to execute the steps in any of the above method embodiments through the computer program.
[0169] Among them, the memory 902 can be used to store software programs and modules, such as the program instructions / modules corresponding to the object task processing method and device in the embodiment of the present invention. The processor 904 executes various functional applications and data processing by running the software programs and modules stored in the memory 902, that is, realizing the above-mentioned object task processing method. The memory 902 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 902 may further include a memory remotely arranged relative to the processor 904, and these remote memories may be connected to the terminal via a network. Examples of the above-mentioned networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. Among them, the memory 902 can be specifically, but not limited to, used to store file information such as target files. As an example, such as Fig. 9 As shown, the memory 902 may include, but is not limited to, the first acquisition unit 802, the first determination unit 804, the second determination unit 806, the calling unit 808, and the second acquisition unit 810 in the processing device of the object task. In addition, other module units in the processing device of the object task may also be included but are not limited to, which will not be repeated in this example.
[0170] Optionally, the transmission device 906 is used to receive or send data via a network. Specific examples of the above-mentioned network may include a wired network and a wireless network. In one example, the transmission device 906 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices and routers via a network cable so as to communicate with the Internet or a local area network. In one example, the transmission device 906 is a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0171] In addition, the electronic device mentioned above further includes: a display 908, and a connection bus 910, which is used to connect various module components in the electronic device mentioned above.
[0172] According to one aspect of the present application, a computer program product is provided, the computer program product comprising a computer program / instruction, the computer program / instruction comprising a program code for executing the method shown in the flow chart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication part, and / or installed from a removable medium. When the computer program is executed by a central processing unit, various functions provided by the embodiments of the present application are executed.
[0173] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0174] It should be noted that the computer system of the electronic device is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0175] In particular, according to an embodiment of the present application, the process described in each method flow chart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer readable medium, and the computer program contains a program code for executing the method shown in the flow chart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication part, and / or installed from a removable medium. When the computer program is executed by a central processing unit, various functions defined in the system of the present application are executed.
[0176] According to one aspect of the present application, a computer-readable storage medium is provided, and a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the methods provided in the above-mentioned various optional implementations.
[0177] Optionally, in this embodiment, the computer-readable storage medium may be configured to store a computer program for performing the following steps:
[0178] S1, obtaining at least one vehicle task processing request;
[0179] S2, in the case where an operator identifier matching the current task request is determined according to the request type of the current task request in at least one of the task processing requests, first task description information is determined according to the operator identifier, and second task description information is determined according to the data identifier of the object data corresponding to the task processing request;
[0180] S3, determining a target execution order of the current task request in at least one of the task processing requests according to the first task description information and the second task description information;
[0181] S4, calling the target operator container matching the operator identifier according to the target execution order, wherein the target operator container includes the task execution method and the operating environment matching the operator identifier;
[0182] S5, obtaining the task execution result returned by the target operator container and matching the current task request.
[0183] Optionally, in this embodiment, a person of ordinary skill in the art may understand that all or part of the steps in the various methods of the above embodiments may be completed by instructing hardware related to the electronic device through a program, and the program may be stored in a computer-readable storage medium, and the storage medium may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.
[0184] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0185] If the integrated units in the above embodiments are implemented in the form of software functional units and sold or used as independent products, they can be stored in the above computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling one or more computer devices (which can be personal computers, servers or network devices, etc.) to execute all or part of the steps of the methods of each embodiment of the present application.
[0186] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.
[0187] In the several embodiments provided in the present application, it should be understood that the disclosed user equipment can be implemented in other ways. Among them, the device embodiments described above are only schematic, for example, the division of units is only a logical function division, and there may be other division methods in actual implementation, for example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0188] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0189] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0190] The above are only preferred implementations of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A method for processing an object task, characterized in that: include: Obtain at least one vehicle task processing request; In a case where an operator identifier matching the current task request is determined according to a request type of the current task request in at least one of the task processing requests, first task description information is determined according to the operator identifier, and second task description information is determined according to a data identifier of the object data corresponding to the task processing request; determining a target execution order of the current task request in at least one of the task processing requests according to the first task description information and the second task description information; Invoking a target operator container that matches the operator identifier according to the target execution order, wherein the target operator container includes a task execution method and a running environment that match the operator identifier; Obtain the task execution result returned by the target operator container that matches the current task request.
2. The method according to claim 1, characterized in that: The step of determining the execution order of the current task request in at least one of the task processing requests according to the first task description information and the second task description information includes: Acquire at least one first description item from the first task description information, and acquire at least one second description item from the second task description information; A target execution order matching the current task request is determined according to a first sorting result corresponding to at least one of the first description items and a second sorting result corresponding to at least one of the second description items.
3. The method according to claim 2, characterized in that The determining of the target execution order matching the current task request according to the first sorting result corresponding to at least one of the first description items and the second sorting result corresponding to at least one of the second description items comprises at least one of the following: Determine the target execution order matching the current task request according to a weighted sum of the sorting results corresponding to at least one of the first description items and / or at least one of the second description items; Obtaining a priority ranking result between at least one of the first description items and at least one of the second description items; According to the priority sorting result, a description item is obtained from at least one of the first description items and at least one of the second description items in turn as a current description item; and the target execution order matching the current task request is adjusted in turn according to the sorting result corresponding to the current description item.
4. The method according to claim 2, characterized in that: The acquiring at least one first description item from the first task description information includes at least one of the following: Obtain a resource requirement description item that matches the operator identifier, wherein the resource requirement description item is used to indicate the computing resources required to be consumed when the target operator container indicated by the operator identifier is running; Obtain an operator dependency that matches the operator identifier, wherein the operator dependency is used to indicate an upstream operator container and / or a downstream operator container associated with the target operator container, the output result of the upstream operator container is an input parameter of the target operator container, and the output result of the target operator container is an input parameter of the downstream operator container; Acquire a service type identifier that matches the operator identifier, wherein the service type identifier is used to indicate a target service type corresponding to the current task request, and the target service type corresponds to a target priority; The acquiring at least one second description item from the second task description information includes at least one of the following: Obtaining the number of task processing requests associated with the object data within a target processing cycle; Obtain a data volume description parameter of the object data.
5. The method according to claim 1, characterized in that Before calling the target operator container matching the operator identifier according to the target execution order, the method further includes: generating at least one data operation request according to the data identifier of the object data, wherein the data operation request is used to perform a data operation in a target database; querying the data status of the object data according to the encryption information of the object data; When the data state description information of the object data indicates that the object data is in an idle state allowing data operation, acquiring the object data from the target database according to at least one of the data operation requests; The object data is loaded into a target shared storage area, and the data state description information is updated to a busy state, wherein the target shared storage area is used to temporarily store the object data required by at least one operator container.
6. The method according to claim 5, characterized in that Before calling the target operator container matching the operator identifier according to the target execution order, the method further includes: When the data state description information of the object data indicates that the object data is in the busy state, acquiring a current operation address of the object data in the target shared storage area; The current operation address is input into the target operator container, wherein the target operator container acquires the object data based on the current operation address.
7. The method according to claim 5, characterized in that After the object data is loaded into the target shared storage area and the data status description information is updated to a busy state, the method includes: The operator identifier generates a target operator call instruction according to a current operation position of the object data in the target shared storage area; The target operator container is run according to the target operator call instruction, wherein the target operator container is an operator container allocated for executing the current task request among multiple candidate operator containers, the multiple candidate operator containers are multiple pre-created virtual operating environments corresponding to the operator identifier, and the multiple virtual operating environments include a task execution method matching the operator identifier.
8. The method according to claim 5, characterized in that Before loading the object data into the target shared storage area, the method further includes at least one of the following: In the case where the original object data includes vehicle state description data, the vehicle state description data is processed according to a decoding method matching the state type to obtain the object data stored in the target database, wherein the vehicle state description information includes at least one of the following: vehicle speed, vehicle acceleration, vehicle steering angle, and vehicle signal state; In the case where the original object data includes road object description data, the road object description data is processed according to a decoding method that matches the data type to obtain the object data stored in the target database, wherein the road object description information includes at least one of the following: image data, point cloud data, target detection data, and lane line data.
9. The method according to any one of claims 1 to 8, characterized in that After obtaining the task execution result returned by the target operator container and matching the current task request, the method further includes at least one of the following: Returning the task execution result to the vehicle terminal that sent the vehicle task processing request; The task execution result is stored in the target shared storage area; and when the task execution result meets the target storage condition, the task execution result is sent to the target database.
10. A device for processing an object task, characterized in that: include: A first acquisition unit, configured to acquire at least one vehicle task processing request; a first determining unit, configured to determine the first task description information according to the operator identifier, and determine the second task description information according to the data identifier of the object data corresponding to the task processing request, when determining the operator identifier matching the current task request according to the request type of the current task request in at least one of the task processing requests; A second determining unit, configured to determine a target execution order of the current task request in at least one of the task processing requests according to the first task description information and the second task description information; A calling unit, configured to call a target operator container matching the operator identifier according to the target execution order, wherein the target operator container includes a task execution method and a running environment matching the operator identifier; The second acquisition unit is used to acquire the task execution result returned by the target operator container and matching the current task request.
11. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored program, wherein the program executes the method described in any one of claims 1 to 9 when executed by an electronic device.
12. An electronic device comprising a memory and a processor, characterized in that: A computer program is stored in the memory, and the processor is configured to execute the method according to any one of claims 1 to 9 through the computer program.
13. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 9 are implemented.