Task management method, system, electronic device and medium for diagnostic services

By obtaining and updating the diagnostic status code, the status of the on-board diagnostic service is solved, the problem of interruption during task execution is improved, the task success rate and user experience is improved, the system coupling is reduced, and robustness is enhanced.

CN115562228BActive Publication Date: 2025-09-02CHONGQING CHANGAN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211216847.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-30
Publication Date
2025-09-02
Estimated Expiration
2042-09-30

AI Technical Summary

Technical Problem

Due to the lack of task management, new diagnostic tasks may appear during the execution process. Remote diagnosis and OTA upgrades of the vehicle may cause new diagnostic tasks to interrupt the previous task, resulting in diagnostic failure or flash failure, affecting the user experience.

Method used

By obtaining the diagnostic status code, we judge the current status of the on-board diagnostic service, and refuse to execute tasks in a busy state, execute tasks in an idle state and update the status code, reducing the system coupling degree and avoiding tasks being interrupted by new tasks.

Benefits of technology

The task management of diagnostic services is realized, the success rate and user experience of task execution are improved, the system coupling is reduced, and the robustness is enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115562228B_ABST
    Figure CN115562228B_ABST
Patent Text Reader

Abstract

The present invention relates to the technical field of vehicle-mounted controllers and discloses a task management method, system, electronic device, and medium for diagnostic services. When a diagnostic service task is received, the method determines the current diagnostic status of the vehicle-mounted diagnostic service by obtaining a diagnostic status code. When the vehicle-mounted diagnostic service is in a busy state, the diagnostic service task is refused to be executed. When the vehicle-mounted diagnostic service is in an idle state, the diagnostic service task is executed and the diagnostic status code is updated. This implements task management of the diagnostic service, avoids task failure caused by interruption of the diagnostic service by new tasks during task execution, improves the success rate of task execution, and thus enhances user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of vehicle-mounted controllers, and in particular to a task management method, system, electronic equipment and medium for diagnostic services. Background Art

[0002] At present, with the continuous development of intelligent connected vehicle technology, vehicle functions such as remote control, remote monitoring, remote diagnosis, and OTA upgrades have also become common functions of vehicles. At the same time, due to external reasons such as regulatory and policy restrictions, network instability, unreliable network security, and increasingly complex network architecture, the vehicle's local diagnostic function still cannot be replaced by remote diagnosis and OTA upgrades.

[0003] However, functions such as remote diagnosis, OTA upgrade, and local diagnosis need to be implemented through the UDS diagnostic service of the vehicle controller. Due to the lack of task management for this diagnostic service, during the execution of any diagnostic task such as remote diagnosis, OTA upgrade, and local diagnosis, a new diagnostic task request may interrupt the previous diagnostic task, causing the diagnosis to fail or the flashing to fail, affecting the user experience. Summary of the Invention

[0004] In order to provide a basic understanding of some aspects of the disclosed embodiments, a brief summary is given below. The summary is not an extensive review, nor is it intended to identify key / critical elements or delineate the scope of protection of these embodiments, but rather serves as a prelude to the detailed description that follows.

[0005] In view of the above-mentioned shortcomings of the prior art, the present invention discloses a task management method, system, electronic device and medium for diagnostic services, so as to implement task management of diagnostic services and improve user experience.

[0006] The present invention discloses a task management method for a diagnostic service, comprising: obtaining a diagnostic status code, the diagnostic status code being used to represent the current diagnostic status of an on-board diagnostic service; querying the diagnostic status code in response to receiving a diagnostic service task corresponding to the on-board diagnostic service; if the current diagnostic status includes a busy state, determining the task execution status of the diagnostic service task as a refused execution; if the current diagnostic status includes an idle state, determining the task execution status of the diagnostic service task as a permitted execution, and updating the diagnostic status code according to a preset execution code corresponding to the task execution status to determine the current diagnostic status as a busy state.

[0007] Optionally, obtaining a diagnostic status code includes: the diagnostic service task corresponding to the on-board diagnostic service includes at least one of a local diagnostic task, a remote diagnostic task, a remote version query task, and a remote upgrade task; obtaining an on-board controller, the on-board controller including at least one of a local diagnostic controller, a remote diagnostic controller, and a remote download controller, wherein the local diagnostic controller is used to receive the local diagnostic service task, the remote diagnostic controller is used to receive the remote diagnostic service task, and the remote download controller is used to receive the remote version query task and / or the remote upgrade task; determining any of the on-board controllers as a management controller, and determining on-board controllers other than the management controller as slave controllers, wherein the management controller is provided with a diagnostic status code corresponding to the on-board diagnostic service.

[0008] Optionally, in response to receiving a diagnostic service task corresponding to the on-board diagnostic service, the diagnostic status code is queried: if any on-board controller receives a diagnostic service task corresponding to the on-board diagnostic service, the on-board controller sends a diagnostic execution request corresponding to the diagnostic service task to the management controller, so that the management controller queries the diagnostic status code.

[0009] Optionally, after the management controller queries the diagnostic status code, the method further includes: after determining that the task execution status of the diagnostic service task is rejected, using the management controller to send a preset request rejection code to the on-board controller corresponding to the diagnostic service task, so that the on-board controller stops responding to the diagnostic service task; after determining that the task execution status of the diagnostic service task is allowed to be executed, using the management controller to send a preset request permission code to the on-board controller corresponding to the diagnostic service task, so that the on-board controller executes the diagnostic service task.

[0010] Optionally, the on-board controller is provided with a controller status code. After the on-board controller executes the diagnostic service task, the method further includes: if the diagnostic service task is in an executing state, updating the controller status code of the on-board controller according to a preset execution code corresponding to the diagnostic service task; if the diagnostic service task is in an execution completion state, updating the controller status code of the on-board controller according to a preset idle code, and after updating the diagnostic status code according to the preset execution code corresponding to the task execution state, sending task completion information to the management controller, so that the management controller updates the diagnostic status code according to the preset idle code to determine the current diagnostic state as an idle state.

[0011] Optionally, after determining any of the on-board controllers as the management controller, the method further includes: in response to each power-on of the management controller, the management controller queries the remote download controller to determine whether the remote upgrade task is in an execution state; if the remote upgrade task is not in an execution state, the diagnostic status code is updated according to a preset idle code to determine the current diagnostic state as an idle state; if the remote upgrade task is in an execution state, the diagnostic status code is updated according to a preset execution code corresponding to the remote upgrade task to determine the current diagnostic state as a busy state.

[0012] Optionally, after updating the diagnostic status code according to the preset execution code corresponding to the task execution status, the method further includes: counting the execution time of the diagnostic status code as the preset execution code; if the execution time is greater than or equal to the preset time threshold, updating the diagnostic status code according to the preset idle code to determine the current diagnostic status as the idle state.

[0013] The present invention discloses a task management system for diagnostic services, comprising: an acquisition module for acquiring a diagnostic status code, wherein the diagnostic status code is used to represent the current diagnostic status of an on-board diagnostic service; a query module for querying the diagnostic status code in response to receiving a diagnostic service task corresponding to the on-board diagnostic service; a first determination module for determining the task execution status of the diagnostic service task as refused execution if the current diagnostic status includes a busy state; and a second determination module for determining the task execution status of the diagnostic service task as allowed execution if the current diagnostic status includes an idle state, and updating the diagnostic status code according to a preset execution code corresponding to the task execution status to determine the current diagnostic status as a busy state.

[0014] The present invention discloses an electronic device, comprising: a processor and a memory; the memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory, so that the electronic device executes the above method.

[0015] The present invention discloses a computer-readable storage medium, on which a computer program is stored: when the computer program is executed by a processor, the method described above is implemented.

[0016] Beneficial effects of the present invention:

[0017] When a diagnostic service task is received, the system uses the obtained diagnostic status code to determine the current diagnostic status of the onboard diagnostic service. If the onboard diagnostic service is busy, the system refuses to execute the diagnostic service task. If the onboard diagnostic service is idle, the system executes the diagnostic service task and updates the diagnostic status code. This enables task management of the diagnostic service, preventing task failures caused by interruptions caused by new tasks during task execution, improving the success rate of task execution, and ultimately enhancing the user experience.

[0018] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The accompanying drawings are incorporated into and constitute a part of the specification, illustrating embodiments consistent with the present application and, together with the specification, serving to explain the principles of the present application. It is obvious that the drawings described below are merely some embodiments of the present application, and a person of ordinary skill in the art can derive other drawings based on these drawings without inventive effort. In the drawings:

[0020] Figure 1 This is a flowchart of a task management method for diagnostic services according to an embodiment of the present invention;

[0021] Figure 2 is a schematic diagram of a diagnostic status code transition in an embodiment of the present invention;

[0022] Figure 3 is a flowchart of another task management method for diagnostic services according to an embodiment of the present invention;

[0023] Figure 4-a This is a schematic diagram of the structure of a task management system for diagnostic services in an embodiment of the present invention;

[0024] Figure 4-b is a schematic diagram of the structure of another task management system for diagnostic services according to an embodiment of the present invention;

[0025] Figure 5 It is a schematic structural diagram of an electronic device in an embodiment of the present invention. DETAILED DESCRIPTION

[0026] The following describes the embodiments of the present invention through specific examples. Those skilled in the art can easily understand other advantages and effects of the present invention from the content disclosed in this specification. The present invention can also be implemented or applied through different specific embodiments. The details in this specification can also be modified or changed based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that the following embodiments and sub-samples in the embodiments can be combined with each other unless there is a conflict.

[0027] It should be noted that the illustrations provided in the following embodiments are merely schematic illustrations of the basic concept of the present invention. Therefore, the illustrations only show components related to the present invention and are not drawn according to the number, shape, and size of components in actual implementation. In actual implementation, the type, quantity, and proportion of each component may be changed arbitrarily, and the component layout may also be more complex.

[0028] In the following description, numerous details are discussed to provide a more thorough explanation of the embodiments of the present invention. However, it will be apparent to those skilled in the art that the embodiments of the present invention may be practiced without these specific details. In other embodiments, well-known structures and devices are shown in block diagram form rather than in detail to avoid obscuring the embodiments of the present invention.

[0029] In the description and claims of the embodiments of the present disclosure, as well as in the accompanying drawings, the terms "first," "second," and the like are used to distinguish similar items and are not necessarily used to describe a particular order or precedence. It should be understood that the terms used in this manner are interchangeable where appropriate to describe the embodiments of the present disclosure herein. In addition, the terms "including," "having," and any variations thereof are intended to cover non-exclusive inclusions.

[0030] Unless otherwise stated, the term "plurality" means two or more.

[0031] In the embodiment of the present disclosure, the character " / " indicates that the preceding and following objects are in an "or" relationship. For example, A / B means: A or B.

[0032] The term "and / or" describes an association between objects, indicating that three relationships can exist. For example, A and / or B means: A or B, or A and B.

[0033] Combine Figure 1 As shown, the embodiment of the present disclosure provides a task management method for diagnostic services, including:

[0034] Step S101, obtaining a diagnostic status code;

[0035] Among them, the diagnostic status code is used to represent the current diagnostic status of the on-board diagnostic service;

[0036] Step S102, in response to receiving the diagnostic service task corresponding to the on-board diagnostic service, querying the diagnostic status code;

[0037] Step S103: if the current diagnosis status includes a busy state, determining the task execution status of the diagnosis service task as execution rejection;

[0038] Step S104 , if the current diagnostic state includes the idle state, the task execution state of the diagnostic service task is determined to be execution allowed, and the diagnostic state code is updated according to the preset execution code corresponding to the task execution state to determine the current diagnostic state as the busy state.

[0039] The diagnostic service task management method provided in the disclosed embodiments determines the current diagnostic status of the onboard diagnostic service based on the acquired diagnostic status code upon receiving a diagnostic service task. If the onboard diagnostic service is busy, the task is rejected. If the onboard diagnostic service is idle, the task is executed and the diagnostic status code is updated. This enables task management of diagnostic services, preventing task failures caused by interruptions caused by new tasks mid-task, improving the success rate of task execution and enhancing the user experience.

[0040] Optionally, obtaining a diagnostic status code includes: the diagnostic service task corresponding to the on-board diagnostic service includes at least one of a local diagnostic task, a remote diagnostic task, a remote version query task and a remote upgrade task; obtaining an on-board controller, the on-board controller includes at least one of a local diagnostic controller, a remote diagnostic controller and a remote download controller (OTA controller), wherein the local diagnostic controller is used to receive local diagnostic service tasks, the remote diagnostic controller is used to receive remote diagnostic service tasks, and the remote download controller is used to receive remote version query tasks and / or remote upgrade tasks; determining any on-board controller as a management controller, and determining on-board controllers other than the management controller as slave controllers, wherein the management controller is provided with a diagnostic status code corresponding to the on-board diagnostic service.

[0041] In this way, different diagnostic service tasks are received through different on-board controllers, and any on-board controller is used as a management controller to manage the diagnostic status code, thereby reducing the system coupling and realizing task management of the diagnostic service, avoiding the diagnostic service being interrupted by new tasks during the task execution process, resulting in task failure, and improving the user experience.

[0042] In some embodiments, OTA queries the vehicle version through a remote version query task and upgrades the vehicle version through a remote upgrade task.

[0043] Optionally, in response to receiving a diagnostic service task corresponding to the on-board diagnostic service, the diagnostic status code is queried: if any on-board controller receives a diagnostic service task corresponding to the on-board diagnostic service, the on-board controller sends a diagnostic execution request corresponding to the diagnostic service task to the management controller, so that the management controller queries the diagnostic status code.

[0044] In some embodiments, the on-board controller sends a diagnostic execution request (DiagRequest) to the management controller through an event trigger (for example, receiving a diagnostic service task), wherein the diagnostic execution request includes one or more of a local diagnostic request (0x0), a remote diagnostic request (0x1), a remote version query request (0x2), a remote upgrade request (0x3), and a no diagnostic request (0xFF).

[0045] Combine Figure 2 As shown, an embodiment of the present disclosure provides a schematic diagram of a diagnostic status code jump, where the management controller sends a diagnostic status code (DiagStatus) to each vehicle controller by periodic transmission or broadcast transmission, wherein the diagnostic status code includes one or more of a local diagnostic status (0x0), a remote diagnostic status (0x1), a remote version query status (0x2), a remote upgrade status (0x3) and an idle status (0xFF).

[0046] Optionally, after the management controller queries the diagnostic status code, the method also includes: after determining the task execution status of the diagnostic service task as refused execution, using the management controller to send a preset request rejection code to the on-board controller corresponding to the diagnostic service task, so that the on-board controller stops responding to the diagnostic service task; after determining the task execution status of the diagnostic service task as allowed execution, using the management controller to send a preset request permission code to the on-board controller corresponding to the diagnostic service task, so that the on-board controller executes the diagnostic service task.

[0047] In some embodiments, the management controller sends an arbitration result (DiagApprove) to the on-board controller corresponding to the diagnostic execution request through an event trigger (for example, determining the task execution status of the diagnostic service task), where the arbitration result includes one or more of a request rejection code (0x0) and a request permission code (0x1).

[0048] Optionally, the on-board controller is provided with a controller status code. After the on-board controller executes the diagnostic service task, the method further includes: if the diagnostic service task is in an executing state, updating the controller status code of the on-board controller according to a preset execution code corresponding to the diagnostic service task; if the diagnostic service task is in an execution completion state, updating the controller status code of the on-board controller according to a preset idle code, and after updating the diagnostic status code according to the preset execution code corresponding to the task execution state, sending task completion information to the management controller, so that the management controller updates the diagnostic status code according to the preset idle code to determine the current diagnostic state as an idle state.

[0049] In some embodiments, the on-board controller sends a controller status code (DiagProcessSts) to the management controller in a periodic manner, wherein the controller status code includes a preset execution code and a preset idle code, the preset execution code includes one or more of local diagnosis in progress (0x01), remote diagnosis in progress (0x11), remote version query in progress (0x21), remote upgrade in progress (0x31), etc., and the preset idle code includes one or more of local diagnosis completed (0x00), remote diagnosis completed (0x10), remote version query completed (0x20), remote upgrade completed (0x30), etc.

[0050] In some embodiments, the settings of the diagnosis execution request, the diagnosis status code, the arbitration result, and the controller status code are shown in Table 1.

[0051] Table 1

[0052]

[0053]

[0054] Optionally, after determining any on-board controller as the management controller, the method also includes: in response to each power-on of the management controller, the management controller queries the remote download controller to determine whether the remote upgrade task is in the execution state; if the remote upgrade task is not in the execution state, the diagnostic status code is updated according to the preset idle code to determine the current diagnostic state as the idle state; if the remote upgrade task is in the execution state, the diagnostic status code is updated according to the preset execution code corresponding to the remote upgrade task to determine the current diagnostic state as the busy state.

[0055] Optionally, after updating the diagnostic status code according to the preset execution code corresponding to the task execution status, the method also includes: counting the execution time of the diagnostic status code as the preset execution code; if the execution time is greater than or equal to the preset time threshold, updating the diagnostic status code according to the preset idle code to determine the current diagnostic status as the idle state.

[0056] In this way, the on-board controller periodically sends the controller status code and updates the diagnostic status code by setting the execution time, thereby avoiding the on-board controller crashing and causing the inability to execute subsequent diagnostic service tasks, thereby improving the robustness of the execution system.

[0057] Combine Figure 3 As shown, the embodiment of the present disclosure provides a task management method for diagnostic services, including:

[0058] Step S301, obtaining a vehicle controller;

[0059] Wherein, the on-board controller includes at least one of a local diagnostic controller, a remote diagnostic controller and a remote download controller;

[0060] Among them, the local diagnosis controller is used to receive local diagnosis service tasks, the remote diagnosis controller is used to receive remote diagnosis service tasks, and the remote download controller is used to receive remote version query tasks and / or remote upgrade tasks;

[0061] Step S302, determining the local diagnostic controller as the management controller;

[0062] Wherein, the management controller is provided with a diagnostic status code corresponding to the on-board diagnostic service;

[0063] Step S303: The local diagnosis controller periodically sends the diagnosis status code to the remote diagnosis controller and the remote download controller;

[0064] Step S304, determining whether the remote diagnosis controller or the remote download controller has received the diagnosis service task, if so, jump to step S305, if not, jump to step S310;

[0065] Step S305 , the remote diagnosis controller or the remote download controller sends a diagnosis execution request to the local diagnosis controller;

[0066] Step S306, determine whether the value of the diagnostic status code is 0xFF, if so, jump to step S307, if not, jump to step S309;

[0067] Step S307 , the local diagnosis controller sends a request permission code to the remote diagnosis controller or the remote download controller to allow the remote diagnosis controller or the remote download controller to perform the diagnosis service task;

[0068] Step S308: The remote diagnosis controller or the remote download controller periodically sends the controller status code to the management controller. This is completed.

[0069] Step S309 : The local diagnosis controller sends a request rejection code to the remote diagnosis controller or the remote download controller to reject the remote diagnosis controller or the remote download controller from performing the diagnosis service task, and the process is completed.

[0070] Step S310, determining whether a local diagnostic instrument is connected to the local diagnostic controller, if so, skip to step S311, if not, skip to step S304;

[0071] Step S311, determine whether the value of the diagnostic status code is 0xFF, if so, jump to step S312, if not, jump to step S313;

[0072] Step S312, the local diagnosis controller enters the local diagnosis process;

[0073] Step S313: If the local diagnostic instrument is a CAN diagnostic instrument, a negative response code of NRC=21 is fed back to reject the diagnostic instrument access; if the local diagnostic instrument is an Ethernet diagnostic instrument, 0x05 is replied during the routing activation process to reject the Ethernet diagnostic instrument access.

[0074] The task management method for diagnostic services provided by the embodiments of the present disclosure determines the current diagnostic status of the on-board diagnostic service by using the acquired diagnostic status code when a diagnostic service task is received. If the on-board diagnostic service is busy, the diagnostic service task is rejected. If the on-board diagnostic service is idle, the diagnostic service task is executed and the diagnostic status code is updated. This method has the following advantages:

[0075] First, it implements task management for diagnostic services, preventing diagnostic services from being interrupted by new tasks during task execution, which could lead to task failure. This improves the success rate of task execution and thus enhances the user experience.

[0076] Second, different onboard controllers receive different diagnostic service tasks, and any onboard controller can be used as a management controller to manage diagnostic status codes, thereby reducing the system's coupling and implementing task management for diagnostic services. This prevents diagnostic services from being interrupted by new tasks during task execution, leading to task failures and improving the user experience.

[0077] Third, the on-board controller periodically sends the controller status code and updates the diagnostic status code by setting the execution time, so as to avoid the on-board controller freezing and causing the inability to execute subsequent diagnostic service tasks, thereby improving the robustness of the execution system.

[0078] Combine Figure 4-bAs shown, an embodiment of the present disclosure provides a task management system for diagnostic services, including a local diagnostic controller 401, a remote diagnostic control 402 and a remote download controller 403, and the above-mentioned task management method for diagnostic services is executed through the local diagnostic controller, the remote diagnostic control and the remote download controller.

[0079] The diagnostic service task management system provided by the disclosed embodiments determines the current diagnostic status of the onboard diagnostic service based on the acquired diagnostic status code upon receiving a diagnostic service task. If the onboard diagnostic service is busy, the task is rejected. If the onboard diagnostic service is idle, the task is executed and the diagnostic status code is updated. This enables task management of diagnostic services, preventing task failures caused by interruptions caused by new tasks mid-task, improving the success rate of task execution and enhancing the user experience.

[0080] Combine Figure 4-b As shown, an embodiment of the present disclosure provides a task management system for a diagnostic service, including an acquisition module 411, a query module 412, a first determination module 413, and a second determination module 414. The acquisition module 411 is used to acquire a diagnostic status code, which is used to represent the current diagnostic status of the on-board diagnostic service; the query module 412 is used to query the diagnostic status code in response to receiving a diagnostic service task corresponding to the on-board diagnostic service; the first determination module 413 is used to determine the task execution status of the diagnostic service task as rejected if the current diagnostic status includes a busy state; the second determination module 414 is used to determine the task execution status of the diagnostic service task as allowed if the current diagnostic status includes an idle state, and update the diagnostic status code according to a preset execution code corresponding to the task execution status to determine the current diagnostic state as a busy state.

[0081] The diagnostic service task management system provided by the disclosed embodiments determines the current diagnostic status of the onboard diagnostic service based on the acquired diagnostic status code upon receiving a diagnostic service task. If the onboard diagnostic service is busy, the task is rejected. If the onboard diagnostic service is idle, the task is executed and the diagnostic status code is updated. This enables task management of diagnostic services, preventing task failures caused by interruptions caused by new tasks mid-task, improving the success rate of task execution and enhancing the user experience.

[0082] Figure 5 The following is a schematic diagram showing the structure of a computer system suitable for implementing an electronic device according to an embodiment of the present application. Figure 5The computer system 500 of the electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0083] like Figure 5 As shown, the computer system 500 includes a central processing unit (CPU) 501, which can perform various appropriate actions and processes according to the program stored in the read-only memory (ROM) 502 or the program loaded from the storage part 508 into the random access memory (RAM) 503, such as executing the method in the above embodiment. Various programs and data required for system operation are also stored in the RAM 503. The CPU 501, ROM 502 and RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0084] The following components are connected to the I / O interface 505: an input section 506 including a keyboard, a mouse, and the like; an output section 507 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and a speaker; a storage section 508 including a hard disk; and a communication section 509 including a network interface card such as a LAN (Local Area Network) card or a modem. The communication section 509 performs communication processing via a network such as the Internet. A drive 510 is also connected to the I / O interface 505 as needed. Removable media 511, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in the drive 510 as needed, so that computer programs read therefrom can be installed into the storage section 508 as needed.

[0085] In particular, according to an embodiment of the present application, the process described above with reference to the flowchart 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 includes a computer program for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 509, and / or installed from a removable medium 511. When the computer program is executed by the central processing unit (CPU) 501, the various functions defined in the system of the present application are executed.

[0086] It should be noted that the computer-readable medium shown in the embodiments of the present application can be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium can be, for example, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, which carries a computer-readable computer program. This propagated data signal can take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. A computer program embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, or any suitable combination thereof.

[0087] The embodiments of the present disclosure further provide a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, any one of the methods in the embodiments is implemented.

[0088] Regarding the computer-readable storage media in the embodiments of the present disclosure, those skilled in the art will understand that all or part of the steps in implementing the aforementioned method embodiments can be accomplished by hardware associated with the computer program. The aforementioned computer program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the aforementioned method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.

[0089] The electronic device disclosed in this embodiment includes a processor, a memory, a transceiver, and a communication interface. The memory and the communication interface are connected to the processor and the transceiver and complete communication with each other. The memory is used to store computer programs, the communication interface is used to communicate, and the processor and the transceiver are used to run the computer program, so that the electronic device executes each step of the above method.

[0090] In this embodiment, the memory may include a random access memory (RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk storage.

[0091] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a graphics processing unit (GPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0092] The above description and the accompanying drawings fully illustrate the embodiments of the present disclosure to enable those skilled in the art to practice them. Other embodiments may include structural, logical, electrical, process and other changes. The embodiments represent only possible variations. Unless expressly required, individual components and functions are optional, and the order of operations may vary. Parts and subsamples of some embodiments may be included in or replace parts and subsamples of other embodiments. Moreover, the terms used in this application are only used to describe the embodiments and are not used to limit the claims. As used in the description of the embodiments and claims, unless the context clearly indicates otherwise, the singular forms "a", "an" and "the" are intended to also include the plural forms. Similarly, the term "and / or" as used in this application refers to any and all possible combinations of one or more associated listings. In addition, when used in this application, the term "comprise" and its variations "comprises" and / or comprising refer to the presence of a stated subsample, whole, step, operation, element, and / or component, but do not exclude the presence or addition of one or more other subsamples, wholes, steps, operations, elements, components and / or groups of these. In the absence of further restrictions, an element defined by the statement "comprises a..." does not exclude the presence of other identical elements in the process, method or device that includes the element. In this article, each embodiment may focus on the differences from other embodiments, and the same and similar parts between the various embodiments can be referenced to each other. For the methods, products, etc. disclosed in the embodiments, if they correspond to the method part disclosed in the embodiments, then the relevant parts can be found in the description of the method part.

[0093] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software may depend on the specific application and design constraints of the technical solution. Technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of the present disclosure. Technicians can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0094] In the embodiments disclosed herein, the disclosed methods and products (including but not limited to devices, equipment, etc.) can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of units can be merely a logical functional division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some sub-samples can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms. 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 they may be distributed on multiple network units. Some or all of the units can be selected according to actual needs to implement this embodiment. In addition, the functional units in the embodiments of the present disclosure can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0095] The flowcharts and block diagrams in the accompanying drawings show the possible implementation architectures, functions and operations of the systems, methods and computer program products according to the embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment or part of the code, and the module, program segment or part of the code contains one or more executable instructions for implementing the specified logical functions. In some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, or they can sometimes be executed in the opposite order, which can depend on the functions involved. In the descriptions corresponding to the flowcharts and block diagrams in the accompanying drawings, the operations or steps corresponding to different boxes can also occur in an order different from that disclosed in the description, and sometimes there is no specific order between different operations or steps. For example, two consecutive operations or steps can actually be executed substantially in parallel, or they can sometimes be executed in the opposite order, which can depend on the functions involved. Each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified function or action, or may be implemented by a combination of dedicated hardware and computer instructions.

Claims

1. A task management method for diagnostic services, characterized in that: include: Obtaining a diagnostic status code, wherein the diagnostic status code is used to represent a current diagnostic status of an on-board diagnostic service; In response to receiving the diagnostic service task corresponding to the on-board diagnostic service, querying the diagnostic status code; If the current diagnosis state includes a busy state, determining the task execution state of the diagnosis service task as execution rejection; If the current diagnostic state includes an idle state, determining the task execution state of the diagnostic service task as execution allowed, and updating the diagnostic state code according to a preset execution code corresponding to the task execution state to determine the current diagnostic state as a busy state; Obtaining a diagnostic status code, including: the diagnostic service task corresponding to the on-board diagnostic service includes at least one of a local diagnostic task, a remote diagnostic task, a remote version query task, and a remote upgrade task; obtaining an on-board controller, the on-board controller including at least one of a local diagnostic controller, a remote diagnostic controller, and a remote download controller, wherein the local diagnostic controller is used to receive the local diagnostic task, the remote diagnostic controller is used to receive the remote diagnostic task, and the remote download controller is used to receive the remote version query task and / or the remote upgrade task; determining any of the on-board controllers as a management controller, and determining on-board controllers other than the management controller as slave controllers, wherein the management controller is provided with a diagnostic status code corresponding to the on-board diagnostic service; In response to receiving the diagnostic service task corresponding to the on-board diagnostic service, querying the diagnostic status code, including: if any on-board controller receives the diagnostic service task corresponding to the on-board diagnostic service, the on-board controller sending a diagnostic execution request corresponding to the diagnostic service task to the management controller, so that the management controller queries the diagnostic status code; After the management controller queries the diagnostic status code, the method further includes: after determining that the task execution status of the diagnostic service task is rejected, using the management controller to send a preset request rejection code to the on-board controller corresponding to the diagnostic service task, so that the on-board controller stops responding to the diagnostic service task; after determining that the task execution status of the diagnostic service task is allowed to be executed, using the management controller to send a preset request permission code to the on-board controller corresponding to the diagnostic service task, so that the on-board controller executes the diagnostic service task.

2. The method according to claim 1, characterized in that The onboard controller is provided with a controller status code. After the onboard controller performs the diagnostic service task, the method further includes: If the diagnostic service task is in an executing state, updating the controller state code of the vehicle controller according to a preset execution code corresponding to the diagnostic service task; If the diagnostic service task is in an execution completion state, the controller status code of the on-board controller is updated according to a preset idle code, and after updating the diagnostic status code according to a preset execution code corresponding to the task execution state, task completion information is sent to the management controller, so that the management controller updates the diagnostic status code according to the preset idle code to determine the current diagnostic state as an idle state.

3. The method according to claim 1, characterized in that After determining any of the vehicle-mounted controllers as a management controller, the method further includes: In response to each power-on of the management controller, the management controller queries the remote download controller to determine whether the remote upgrade task is in an executing state; If the remote upgrade task is not in the executing state, updating the diagnostic status code according to a preset idle code to determine the current diagnostic status as an idle state; If the remote upgrade task is in an executing state, the diagnosis status code is updated according to a preset execution code corresponding to the remote upgrade task, so as to determine the current diagnosis status as a busy state.

4. The method according to any one of claims 1 to 3, characterized in that After updating the diagnostic status code according to the preset execution code corresponding to the task execution status, the method further includes: Counting the execution time of the diagnostic status code as a preset execution code; If the execution time is greater than or equal to a preset time threshold, the diagnostic status code is updated according to a preset idle code to determine the current diagnostic status as an idle status.

5. A task management system for diagnostic services, characterized in that: include: An acquisition module, configured to acquire a diagnostic status code, wherein the diagnostic status code is used to represent a current diagnostic status of an on-board diagnostic service; a query module, configured to query the diagnostic status code in response to receiving a diagnostic service task corresponding to the on-board diagnostic service; a first determining module, configured to determine the task execution state of the diagnostic service task as execution rejection if the current diagnostic state includes a busy state; a second determining module, configured to determine, if the current diagnostic state includes an idle state, the task execution state of the diagnostic service task as being allowed to execute, and update the diagnostic state code according to a preset execution code corresponding to the task execution state, so as to determine the current diagnostic state as being a busy state; The acquisition module acquires the diagnostic status code in the following manner, wherein the diagnostic service task corresponding to the on-board diagnostic service includes at least one of a local diagnostic task, a remote diagnostic task, a remote version query task, and a remote upgrade task; acquires an on-board controller, wherein the on-board controller includes at least one of a local diagnostic controller, a remote diagnostic controller, and a remote download controller, wherein the local diagnostic controller is used to receive local diagnostic tasks, the remote diagnostic controller is used to receive remote diagnostic tasks, and the remote download controller is used to receive the remote version query task and / or the remote upgrade task; determines any of the on-board controllers as a management controller, and determines on-board controllers other than the management controller as slave controllers, wherein the management controller is provided with a diagnostic status code corresponding to the on-board diagnostic service; In response to receiving the diagnostic service task corresponding to the on-board diagnostic service, the query module queries the diagnostic status code in the following manner: if any on-board controller receives the diagnostic service task corresponding to the on-board diagnostic service, the on-board controller sends a diagnostic execution request corresponding to the diagnostic service task to the management controller, so that the management controller queries the diagnostic status code; After the management controller queries the diagnostic status code, the query module is further used to, after determining that the task execution status of the diagnostic service task is rejected, use the management controller to send a preset request rejection code to the on-board controller corresponding to the diagnostic service task, so that the on-board controller stops responding to the diagnostic service task; after determining that the task execution status of the diagnostic service task is allowed to be executed, use the management controller to send a preset request permission code to the on-board controller corresponding to the diagnostic service task, so that the on-board controller executes the diagnostic service task.

6. An electronic device, characterized in that: include: processor and memory; The memory is used to store a computer program, and the processor is used to execute the computer program stored in the memory, so that the electronic device performs the method according to any one of claims 1 to 4.

7. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 4 is implemented.

Citation Information

Patent Citations

  • Remote diagnosis method and device, vehicle and storage medium

    CN112286171A

  • Vehicle remote diagnosis system based on cloud platform

    CN112684777A