Data acquisition method and device and vehicle

By obtaining the fault code and the scheduling delay of the target process in the intelligent driving computing platform and adjusting the scheduling delay threshold, the problem of low data acquisition efficiency in the existing technology is solved, and rapid fault location and efficient data acquisition are achieved.

CN119597515APending Publication Date: 2025-03-11YINWANG INTELLIGENT TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311138786.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-01
Publication Date
2025-03-11

AI Technical Summary

Technical Problem

In the intelligent driving computing platform, it is difficult for the existing technology to quickly locate and analyze the causes of the failure, resulting in low data acquisition efficiency.

Method used

By obtaining the fault code, determining the target process, and adjusting the scheduling delay threshold according to the scheduling delay of the target process, optimizing the data acquisition strategy, and improving data acquisition efficiency and integrity.

Benefits of technology

It realizes dynamic adjustment of the scheduling delay threshold based on real-time data, improves data acquisition efficiency and data integrity, and can quickly locate and analyze the causes of failures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119597515A_ABST
    Figure CN119597515A_ABST
Patent Text Reader

Abstract

The invention provides a data acquisition method and device and a vehicle, and is applied to the field of intelligent driving. The method comprises the following steps: acquiring a first fault code, and determining a target process corresponding to the first fault code; determining scheduling time delay corresponding to the target process, and adjusting a first scheduling time delay threshold value of a system where the target process is located according to the scheduling time delay corresponding to the target process to obtain a second scheduling time delay threshold value of the system; and according to the second scheduling time delay threshold value, collecting data of which the scheduling time delay is greater than the second scheduling time delay threshold value during process scheduling in the system. The problem that the fault data acquisition efficiency is low when the vehicle breaks down can be solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of intelligent driving, and in particular to a data collection method, device and vehicle. Background Art

[0002] With the rapid development of vehicle "intelligence", various intelligent functions of vehicles are realized by deploying intelligent driving computing platforms (hereinafter referred to as computing platforms) on vehicles. Generally, to make vehicles more "intelligent", more deep learning algorithm models need to be deployed on the computing platform. The more deep learning algorithm models there are, the higher the computing power required by the computing platform, which in turn leads to higher and higher demand for computing power on the computing platform. However, the higher the computing power of the computing platform, the higher the price. Therefore, when the computing power of the computing platform is limited, the goal of improving the cost performance of the product is generally achieved by adding intelligent applications and their corresponding deep learning algorithm models to the computing platform. Alternatively, when the computing power of the computing platform is limited, the computing power of the deep learning algorithm model in the computing platform can be increased to improve the accuracy and intelligence of the deep learning algorithm model, thereby improving the competitiveness of the product.

[0003] However, the above solutions have problems such as the computing power of the computing platform cannot meet the computing power required by various deep learning algorithm models, or the computing power scheduling and allocation is unreasonable, which leads to failures. Therefore, it is necessary to query the root cause of the failure and analyze and locate the failure in order to adjust the computing power deployment of the computing platform and optimize the performance of the computing platform. At present, faults are located by collecting and analyzing data, but the data collection efficiency is low, and it is impossible to quickly locate the fault and analyze the cause of the fault. Therefore, how to improve the efficiency of fault data collection has become a technical problem that needs to be solved urgently. Summary of the invention

[0004] The present application provides a data collection method, device and vehicle, which can optimize data collection strategies and effectively improve fault data collection efficiency.

[0005] In order to achieve the above objectives, this application provides the following technical solutions:

[0006] In a first aspect, the present application provides a data collection method. The method includes: obtaining a first fault code, determining a target process corresponding to the first fault code; then determining a scheduling delay corresponding to the target process, and adjusting a first scheduling delay threshold of a system where the target process is located to obtain a second scheduling delay threshold of the system according to the scheduling delay corresponding to the target process; finally, according to the second scheduling delay threshold, collecting data when the scheduling delay of a process in the system is greater than the second scheduling delay threshold.

[0007] In this way, when data collection is performed, the scheduling delay threshold is dynamically adjusted according to real-time collection, the data collection strategy is optimized, and the data collection efficiency and data integrity are effectively improved.

[0008] According to the first aspect, the first fault code is a code that marks a fault when a fault occurs in the current vehicle.

[0009] In some examples, the vehicle condition is monitored in real time, and when a vehicle fault is detected, a first fault code corresponding to the current fault is obtained.

[0010] According to the first aspect, or any implementation method of the first aspect above, determining the target process corresponding to the first fault code includes: obtaining a fault tree, the fault tree includes multiple fault codes, and the multiple fault codes include the first fault code; according to the fault tree, determining the target process corresponding to the first fault code.

[0011] According to the first aspect, or any implementation method of the first aspect above, the target process corresponding to the first fault code is determined according to the fault tree, including: according to the fault tree, a process corresponding to the first fault code is determined, and the process is the target process; or, according to the fault tree, a process set corresponding to the first fault code is determined, and the process set includes multiple processes; and the process with the smallest scheduling delay in the process set is determined as the target process.

[0012] In this way, the target process that generates the first fault code can be quickly determined according to the preset relationship, so that the scheduling delay threshold can be dynamically adjusted according to the collection situation of the target process to improve the data collection accuracy.

[0013] According to the first aspect, or any implementation of the first aspect above, before adjusting the first scheduling delay threshold of the system where the target process is located according to the scheduling delay corresponding to the target process to obtain the second scheduling delay threshold of the system, the method also includes: collecting the scheduling delay of the process in the system and the fault code corresponding to the process according to the first scheduling delay threshold to obtain the system scheduling event; and determining whether to adjust the first scheduling delay threshold according to whether the system scheduling event includes the first fault code and / or the scheduling delay of the target process.

[0014] The first scheduling delay threshold is a scheduling delay critical value corresponding to the current system after the first fault code is obtained and is used to collect abnormal data in the current system.

[0015] The second scheduling delay threshold is a critical value of scheduling delay for collecting abnormal data in the system next time, and the second scheduling delay threshold is obtained by adjusting the first scheduling delay threshold.

[0016] In a possible implementation, the vehicle stores a first scheduling delay threshold corresponding to the current system. After determining the target process corresponding to the first fault code, within the current collection cycle, the scheduling delay of the process in the system and the fault code corresponding to the process are collected according to the first scheduling delay threshold currently corresponding to the system where the target process is located, and the system scheduling event is obtained. Subsequently, the scheduling delay corresponding to the target process is determined according to the system scheduling event.

[0017] According to the first aspect, or any implementation of the first aspect above, the first scheduling delay threshold includes a preset scheduling delay threshold used in a first collection cycle for first acquiring a system scheduling event.

[0018] In some examples, the preset scheduling delay threshold used in the first cycle of the first collection behavior is an arbitrary value set according to experience or historical data, etc. The preset scheduling delay threshold used in the first cycle of the N+1th collection behavior performed after the first collection behavior ends is the second scheduling delay threshold stored before the Nth collection behavior exits.

[0019] In some other examples, the system scheduling events are iteratively stored according to a maximum storage capacity, which may be a storage capacity of the system scheduling events that is dynamically set, or a storage capacity of the system scheduling events that is preconfigured.

[0020] In a possible implementation, in the current collection cycle, a system scheduling event is obtained according to a first scheduling delay threshold. After the system scheduling event is obtained, a comparison is made to determine whether the fault code in the system scheduling event includes the first fault code, and whether the scheduling delay of the process in the system scheduling event includes the scheduling delay of the target process. Subsequently, based on the collection of the first fault code and the scheduling delay corresponding to the target process, it is determined whether to adjust the first scheduling delay threshold of the system.

[0021] According to the first aspect, or any implementation of the first aspect above, whether to adjust the first scheduling delay threshold is determined based on whether the system scheduling event includes the first fault code and / or the scheduling delay of the target process, including: if the system scheduling event acquired in the current acquisition cycle includes the first fault code and the scheduling delay of the target process, then it is determined not to adjust the first scheduling delay threshold, and the first scheduling delay threshold is determined as the second scheduling delay threshold. Alternatively, if the system scheduling event acquired in the current acquisition cycle does not include the first fault code and / or the scheduling delay of the target process, then it is determined to adjust the first scheduling delay threshold, and based on the first scheduling delay threshold, the second scheduling delay threshold used in the next acquisition cycle is acquired.

[0022] In some examples, if the system scheduling events acquired in the current collection cycle include a first fault code and a scheduling delay of a target process, the vehicle controller determines not to adjust the first scheduling delay threshold and determines the first scheduling delay threshold as the second scheduling delay threshold.

[0023] In other examples, if the system scheduling events acquired in the current collection cycle do not include the first fault code and / or the scheduling delay of the target process, the vehicle controller determines to adjust the first scheduling delay threshold, and obtains the second scheduling delay threshold to be used in the next collection cycle based on the first scheduling delay threshold.

[0024] According to the first aspect, or any implementation method of the first aspect above, based on the first scheduling delay threshold, a second scheduling delay threshold used in the next collection cycle is obtained, including: if the system scheduling event obtained in the current collection cycle does not include the first fault code and the scheduling delay of the target process, then the first scheduling delay threshold is lowered to obtain the second scheduling delay threshold used in the next collection cycle.

[0025] In some examples, the first scheduling delay threshold is reduced in a preset reduction manner to obtain the second scheduling delay threshold. For example, the vehicle controller determines half of the first scheduling delay threshold as the second scheduling delay threshold.

[0026] According to the first aspect, or any implementation method of the first aspect above, based on the first scheduling delay threshold, a second scheduling delay threshold used in the next collection cycle is obtained, including: if the system scheduling event obtained in the current collection cycle does not include the first fault code, but includes the scheduling delay of the target process, then the first scheduling delay threshold is increased to obtain the second scheduling delay threshold used in the next collection cycle.

[0027] In a possible implementation, the vehicle controller increases the first scheduling delay threshold according to a preset increase method to obtain a second scheduling delay threshold. For example, the second scheduling delay threshold is determined based on the average of all scheduling delays corresponding to the target process in the system scheduling events collected in the current collection period.

[0028] According to the first aspect, or any implementation method of the first aspect above, according to the first scheduling delay threshold, a second scheduling delay threshold used in the next collection cycle is obtained, including: if the system scheduling event obtained in the current collection cycle includes a first fault code but does not include the scheduling delay of the target process, then the first scheduling delay threshold is lowered to obtain the second scheduling delay threshold used in the next collection cycle.

[0029] In this way, data collection is performed based on the scheduling delay threshold corresponding to each cycle, and the scheduling delay threshold of the system is adaptively adjusted according to the collection of the first fault code and the scheduling delay of the target process in the collected data. A "correct" threshold is gradually corrected to obtain a "correct" threshold, so that fault data can be quickly collected according to the corrected threshold in the future, effectively improving data collection efficiency and data integrity.

[0030] According to the first aspect, or any implementation of the first aspect above, if the second scheduling delay threshold is greater than the first scheduling delay threshold, the method also includes: if the number of system scheduling events acquired in the current collection cycle meets the preset condition, then in the next collection cycle, the scheduling delay of the process in the system and the fault code corresponding to the process are collected according to the second scheduling delay threshold; or, if the number of system scheduling events acquired in the current collection cycle does not meet the preset condition, then in the next collection cycle, the scheduling delay of the process in the system and the fault code corresponding to the process are collected according to the first scheduling delay threshold.

[0031] According to the first aspect, or any implementation of the first aspect above, the preset condition is that the number of system scheduling events acquired in the current collection period is greater than a preset ratio of the maximum storage capacity of the system scheduling events.

[0032] In some examples, if the number of system scheduling events acquired in the current collection cycle meets a preset condition, it is determined to adopt the adjusted first scheduling delay threshold, and the adjusted scheduling delay threshold is determined as the second scheduling delay threshold to be adopted in the next collection cycle. In the next collection cycle, the scheduling delay of the process in the system and the fault code corresponding to the process are collected according to the second scheduling delay threshold.

[0033] In other examples, if the number of system scheduling events obtained in the current collection cycle does not meet the preset conditions, it is determined not to use the adjusted first scheduling delay threshold, and the scheduling delay of the process in the system and the fault code corresponding to the process are collected according to the first scheduling delay threshold in the next collection cycle.

[0034] In this way, it is possible to avoid infinitely increasing the scheduling delay threshold and avoiding jitters during the adjustment of the scheduling delay threshold, thereby ensuring the rationality of the scheduling delay threshold setting.

[0035] According to the first aspect, or any implementation of the first aspect above, when the second scheduling delay threshold is different from the first scheduling delay threshold, the method further includes: deleting the system scheduling event acquired in the current collection period.

[0036] According to the first aspect, or any implementation of the first aspect above, the method further includes: storing a second scheduling delay threshold, and determining the second scheduling delay threshold as a preset scheduling delay threshold corresponding to a next collection behavior after the current collection behavior exits.

[0037] In this way, each adjustment result is recorded. When data collection is abnormally interrupted, data collection can be quickly resumed according to the stored second scheduling delay threshold.

[0038] In a second aspect, the present application provides a data acquisition device. The device includes: a processor and a memory, the memory is coupled to the processor, the memory is used to store computer-readable instructions, and when the processor reads the computer-readable instructions from the memory, the data acquisition device executes the method of the first aspect and any one of the embodiments of the first aspect.

[0039] Exemplarily, the device is a vehicle controller, or a vehicle, or a component in a vehicle controller that can execute any possible method in any of the above aspects, or a component in a vehicle that can execute any possible method in any of the above aspects.

[0040] In a third aspect, the present application provides a vehicle, comprising the data acquisition device and a fault warning device as described in the second aspect, wherein the fault warning device is used to determine the first fault code.

[0041] Exemplary vehicles include cars, trucks, motorcycles, buses, lawn mowers, recreational vehicles, amusement park vehicles, construction equipment, trams, golf carts, trains, etc., which are not particularly limited in this application. The power of the above vehicles can be provided by gasoline, diesel, electricity, solar energy, or hydrogen energy.

[0042] In a fourth aspect, the present application provides a chip system comprising at least one processor and at least one interface circuit, wherein the at least one interface circuit is used to perform transceiver functions and send instructions to the at least one processor, and the at least one processor executes the instructions, and the at least one processor executes the method of the first aspect and any one of the embodiments of the first aspect.

[0043] In a fifth aspect, the present application provides a computer-readable storage medium, which includes a computer program (also referred to as instructions or codes). When the computer program runs on a computer, the computer executes the method as in the first aspect and any one of the embodiments of the first aspect.

[0044] The technical effects corresponding to the second to fifth aspects and any implementation method in each aspect can be referred to the technical effects corresponding to the above-mentioned first aspect and any implementation method in the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] Figure 1 A schematic diagram of a full data collection process provided in an embodiment of the present application;

[0046] Figure 2 A schematic diagram of a selective collection process provided in an embodiment of the present application;

[0047] Figure 3 A schematic diagram of a data acquisition system architecture provided in an embodiment of the present application;

[0048] Figure 4 A schematic diagram of the hardware structure of a data acquisition device provided in an embodiment of the present application;

[0049] Figure 5 A schematic diagram of a vehicle structure provided in an embodiment of the present application;

[0050] Figure 6 A schematic diagram of a data collection method provided in an embodiment of the present application Figure 1 ;

[0051] Figure 7 A schematic diagram of a data collection method provided in an embodiment of the present application Figure 2 ;

[0052] Figure 8 A schematic diagram of a data collection method provided in an embodiment of the present application Figure 3 ;

[0053] Fig. 9 A schematic diagram of the structure of a data acquisition device provided in an embodiment of the present application;

[0054] Fig.10 A schematic diagram of the structure of a chip system provided in an embodiment of the present application. DETAILED DESCRIPTION

[0055] In the description of the embodiments of the present application, unless otherwise specified, “ / ” means or. For example, A / B can mean A or B. The “and / or” in this article is merely a way to describe the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.

[0056] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features.

[0057] In the description of the embodiments of the present application, unless otherwise specified, "multiple" means two or more. In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way.

[0058] In some examples, when a vehicle fails, the system locates the failure by collecting all data. Figure 1 The figure shows the process flow of full data collection. When a vehicle fails, the system issues a collection instruction (such as perfsched{record|latency|script|timehist}) and starts data collection according to the collection instruction. During the collection period, all scheduling events in the system are collected and recorded until the collection ends. After the collection is completed, the system analyzes the collected data, locates the fault, and analyzes the cause of the fault.

[0059] However, when full collection is performed, all scheduling events of the current system are collected, which requires the collection of a large amount of data, resulting in high consumption of the central processing unit (CPU). In other words, the system power consumption is high. Moreover, when the number of threads in the system is large, the amount of recorded scheduling event data will be large, occupying a large amount of storage space, and it will not be possible to perform long-term collection. In other words, full collection cannot perform long-term live network collection. In addition, when full collection is performed, all scheduling events are collected, and the collected data includes both normal data and abnormal data. Moreover, the probability of occurrence of some occasional faults is low, and the abnormal data of such faults cannot be collected every time. Therefore, the data collection efficiency of full collection is extremely low, which is not conducive to the subsequent rapid fault location.

[0060] In other examples, in order to improve data collection efficiency, when a vehicle fails, the system locates the failure through selective collection. Figure 2 The figure shows a flow chart of selective collection. The system sets the initialization scheduling delay threshold and the maximum storage capacity of system scheduling events based on experience (e.g., the maximum storage capacity is 100). During the collection period, according to the initialization scheduling delay threshold and the maximum storage capacity, the system collects and records the scheduling events whose current scheduling delay exceeds the initialization scheduling delay threshold until the collection ends. That is, only the scheduling events whose scheduling delay exceeds the initialization scheduling delay threshold are recorded in the system. In addition, only the latest scheduling events are recorded according to the maximum storage capacity. After the collection is completed, the system parses the collected data, locates the fault, and analyzes the cause of the fault.

[0061] Specifically, when the number of collected scheduling events does not exceed the maximum storage capacity, the system records each collected scheduling event; when the number of collected scheduling events exceeds the maximum storage capacity, the system iteratively records the latest scheduling event according to the maximum storage capacity. Exemplarily, when the 101st scheduling event is collected, the first scheduling event collected the earliest is deleted, and the scheduling events from the 2nd to the 101st are stored.

[0062] However, the initialization scheduling delay threshold used in selective collection is set based on experience. If the initialization scheduling delay threshold is set too high, data below the initialization scheduling delay threshold (such as normal data or abnormal data with a scheduling delay lower than the initialization scheduling delay threshold) will not be recorded, resulting in failure to collect valid data (which can also be understood as abnormal data). If the initialization scheduling delay threshold is set too low, although a large amount of data will be collected, due to the limited storage quantity, the collected valid data will be quickly iterated and updated according to the maximum storage capacity, resulting in data loss. In other words, the setting of the initialization scheduling delay threshold in selective collection is accidental. If the setting is unreasonable, it will lead to data loss and incomplete collected data. Therefore, the data collection efficiency of selective collection is also low, and it is not conducive to the subsequent rapid fault location.

[0063] In order to solve the technical problems described above, an embodiment of the present application provides a data collection method, which obtains a first fault code, determines a target process corresponding to the first fault code; determines a scheduling delay corresponding to the target process; according to the scheduling delay corresponding to the target process, adjusts a first scheduling delay threshold of the system where the target process is located to obtain a second scheduling delay threshold of the system; according to the second scheduling delay threshold, collects data when the scheduling delay of the process in the system is greater than the second scheduling delay threshold. The method provided by the embodiment of the present application can automatically adjust the scheduling delay threshold, optimize the data collection strategy, and improve the data collection efficiency and data integrity.

[0064] The technical solutions in the embodiments of the present application will be 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, rather than all of the embodiments.

[0065] refer to Figure 3 , Figure 3 The data acquisition system 30 includes a fault warning device 31 , a data acquisition device 32 and an intelligent driving computing platform 33 .

[0066] Among them, the fault warning device 31, the data acquisition device 32 and the intelligent driving computing platform 33 are connected and communicated. Figure 3 In the example shown, the fault warning device 31 and the data acquisition device 32 are deployed on an intelligent driving computing platform 33 .

[0067] Figure 3 The fault warning device 31 shown in the figure can be used to obtain fault data when a vehicle fails, and determine the first fault code according to the fault data. The fault warning device 31 can also be used to send the first fault code to the data acquisition device 32.

[0068] Specifically, the fault warning device 31 obtains the fault data of the current system in real time, and analyzes the fault data to determine the fault code corresponding to each type of fault data.

[0069] Figure 3 The data collection device 32 shown in the figure can be used to determine the target process corresponding to the first fault code according to the first fault code. The data collection device 32 can also be used to collect system scheduling events according to the scheduling delay threshold of the current system.

[0070] Specifically, the data acquisition device 32 determines the target process according to the first fault code, and sends a data acquisition command to the intelligent driving computing platform 33, where the data acquisition command includes the current first scheduling delay threshold of the system. The intelligent driving computing platform 33 collects the scheduling delay of the process in the system and the fault code corresponding to the process in response to the data acquisition command, and returns the collected data to the data acquisition device 32 as a system scheduling event.

[0071] Exemplarily, the system scheduling event includes data that a scheduling delay during process scheduling in the system is greater than a first scheduling delay threshold.

[0072] Figure 3 The data collection device 32 shown in the figure can also be used to adjust the first scheduling delay threshold of the system where the target process is located to obtain the second scheduling delay threshold of the system according to the scheduling delay corresponding to the target process in the collected system scheduling event. The data collection device 32 can also be used to obtain data from the intelligent driving computing platform 33 when the scheduling delay of the process scheduling in the system is greater than the second scheduling delay threshold according to the second scheduling delay threshold.

[0073] Specifically, the data acquisition device 32 adjusts the first scheduling delay threshold of the system where the target process is located to obtain the second scheduling delay threshold of the system according to the collection of the scheduling delay corresponding to the target process. The data acquisition device 32 sends a data acquisition command to the intelligent driving computing platform 33 according to the second scheduling delay threshold obtained after adjustment, and the data acquisition command includes the second scheduling delay threshold. In response to the data acquisition command, the intelligent driving computing platform 33 collects the scheduling delay of the process in the system and the fault code corresponding to the process, and returns the collected data to the data acquisition device 32 as a system scheduling event. The system scheduling event includes data when the scheduling delay of the process scheduling in the system is greater than the second scheduling delay threshold.

[0074] Figure 3 The intelligent driving computing platform 33 shown in the figure can be used to detect fault data of the current system and send the fault data to the fault warning device 31. The intelligent driving computing platform 33 can also be used to collect the process of the current system, interact with the data acquisition device 32, and send system scheduling events to the data acquisition device 32. The intelligent driving computing platform 33 can also be used to obtain data when the scheduling delay of the process scheduling in the system is greater than the second scheduling delay threshold.

[0075] Specifically, the intelligent driving computing platform 33 receives a data acquisition command sent by the data acquisition device 32 , collects data in response to the data acquisition command to generate a system scheduling event, and returns the system scheduling event to the data acquisition device 32 .

[0076] In one embodiment, the intelligent driving computing platform 33 is a computing platform that realizes intelligent driving, decision-making, planning, control and other functions, and is the core component of the entire vehicle. The intelligent driving computing platform 33 interacts with various components in the vehicle, obtains real-time data of each component, and controls the operation of each component.

[0077] Optionally, in another embodiment, the intelligent driving computing platform 33 may be a server. As an example, the intelligent driving computing platform 33 may be a server of an intelligent transportation system, such as a physical server or a cloud server, which is not limited in this embodiment of the present application.

[0078] It is understandable that the fault warning device 31 and the data acquisition device 32 in the above-mentioned data acquisition system 30 are deployed on the intelligent driving computing platform 33. The intelligent driving computing platform 33 integrates various components to complete data acquisition. In practical applications, the fault warning device 31, the data acquisition device 32 and the intelligent driving computing platform 33 can also be independent components, and the components interact to complete data acquisition. The data acquisition system is not limited in the present embodiment of the application.

[0079] refer to Figure 4 , Figure 4 A hardware structure of the data acquisition device 32 provided in an embodiment of the present application is shown.

[0080] like Figure 4 As shown, the data acquisition device 32 includes a processor 41, a memory 42, a communication interface 43, and a bus 44. The processor 41, the memory 42, and the communication interface 43 may be connected via the bus 44.

[0081] The processor 41 is used to manage and control the data acquisition device 32, and / or to execute the data acquisition method described below. The memory 42 is used to store program codes and data of the data acquisition device 32. The communication interface 43 is used to support the communication between the data acquisition device 32 and other network entities.

[0082] The processor 41 (or described as a controller) is the control center of the data acquisition device 32, and can implement or execute various exemplary logic blocks, unit modules and circuits described in combination with the disclosure of this application. The processor or controller can be a general-purpose central processing unit (CPU), a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a transistor logic device, a hardware component or any combination thereof. The general-purpose processor can be a microprocessor or any conventional processor, etc. The processor 41 can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a digital signal processor and a microprocessor, etc.

[0083] As an example, the processor 41 may include one or more CPUs, such as Figure 4 CPU 0 and CPU1 are shown in .

[0084] The memory 42 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or a flash memory, a hard disk or a solid state drive; it may also be an electrically erasable programmable read-only memory (EEPROM), a disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 42 may also include a combination of the above-mentioned types of memories.

[0085] In a possible implementation, the memory 42 may exist independently of the processor 41. The memory 42 may be connected to the processor 41 via a bus 44 and used to store data, instructions, or program codes. When the processor 41 calls and executes the instructions or program codes stored in the memory 42, the data acquisition method provided in the embodiment of the present application can be implemented.

[0086] In another possible implementation, the memory 42 may also be integrated with the processor 41 .

[0087] The communication interface 43 is used for connecting the data acquisition device 32 with other devices (such as the fault warning device 31 or the intelligent driving computing platform 33) through a communication network, and the communication network can be a transceiver circuit, Ethernet, a radio access network (RAN), a wireless local area network (WLAN), etc. The communication interface 43 may include a receiving unit for receiving data and a sending unit for sending data.

[0088] The bus 44 may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 4 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0089] It should be pointed out that Figure 4 The structure shown in the figure does not constitute a limitation on the data acquisition device. Figure 4 In addition to the components shown, the data acquisition device 32 may include more or fewer components than shown, or combine certain components, or arrange the components differently.

[0090] Figure 5 A schematic diagram of the structure of a vehicle 500 provided in an embodiment of the present application. Figure 5 , the vehicle 500 may include various subsystems, such as a travel system 510, a sensor system 520, a control system 530, one or more peripheral devices 540, and a power supply 550, a computer system 560, and a user interface 570. Optionally, the vehicle 500 may include more or fewer subsystems, and each subsystem may include multiple elements. In addition, each subsystem and element of the vehicle 500 may be interconnected by wire or wirelessly.

[0091] Travel system 510 may include components that provide powered movement for vehicle 500. In one embodiment, travel system 510 may include engine 511, power source 512, transmission 513, and wheels 514.

[0092] The engine 511 may be an electric motor or a combination of other types of engines. The engine 511 converts the energy source 512 into mechanical energy.

[0093] Examples of energy source 512 include solar panels, batteries, and other sources of electricity.

[0094] The transmission 513 can transmit the mechanical power from the engine 511 to the wheels 514. The transmission 513 may include a gearbox, a differential, and a drive shaft. In one embodiment, the transmission 513 may also include other devices, such as a clutch. Among them, the drive shaft may include one or more shafts that can be coupled to one or more wheels 514.

[0095] The sensor system 520 may include several sensors that sense information about the environment around the vehicle 500. For example, the sensor system 520 may include a positioning system 521, such as a global positioning system (GPS), a Beidou system or other positioning systems, an inertial measurement unit (IMU) 522, a radar 523, a laser rangefinder 524, and a camera 525. The sensor system 520 may also include sensors of the internal systems of the monitored vehicle 500 (e.g., an in-vehicle air quality monitor, a fuel gauge, an oil temperature gauge, etc.). The sensor data collected by these sensors can be used to detect objects and their corresponding characteristics (position, shape, direction, speed, etc.), and such detection and recognition are the key to achieving safe driving of the vehicle 500.

[0096] Positioning system 521 may be used to determine the geographic location of vehicle 500 .

[0097] IMU 522 is used to sense position and orientation changes of vehicle 500 based on inertial acceleration. In one embodiment, IMU 522 may be a combination of an accelerometer and a gyroscope.

[0098] Radar 523 may utilize radio signals to sense objects within the surrounding environment of vehicle 500. In some embodiments, in addition to sensing objects, radar 523 may also be used to sense the speed and / or heading of an object.

[0099] Laser rangefinder 524 may utilize laser light to sense objects in the environment of vehicle 500. In some embodiments, laser rangefinder 524 may include one or more laser sources, a laser scanner, and one or more detectors, among other system components.

[0100] Camera 525 may be used to capture multiple images of the surrounding environment of vehicle 500, as well as multiple images within the vehicle cockpit. Camera 525 may be a still camera or a video camera.

[0101] The control system 530 is for controlling the operation of the vehicle 500 and its components. The control system 530 may include a variety of components, including a steering system 531, a throttle 532, a brake unit 533, a computer vision system 534, a route control system 535, and an obstacle avoidance system 536, wherein the obstacle avoidance system 536 may also be referred to as an obstacle avoidance system.

[0102] The steering system 531 is operable to adjust the forward direction of the vehicle 500. For example, in one embodiment, it may be a steering wheel system.

[0103] The throttle 532 is used to control the operating speed of the engine 511 and thus control the speed of the vehicle 500 .

[0104] The brake unit 533 is used to control the deceleration of the vehicle 500. The brake unit 533 can use friction to slow down the wheel 514. In other embodiments, the brake unit 533 can also convert the kinetic energy of the wheel 514 into electric current. The brake unit 533 can also take other forms to slow down the rotation speed of the wheel 514 to control the speed of the vehicle 500.

[0105] The computer vision system 534 can process and analyze the images captured by the camera 525 to identify objects and / or features in the surrounding environment of the vehicle 500 and the physical features and facial features of the driver in the vehicle cockpit. The objects and / or features may include traffic signals, road conditions and obstacles, and the physical features and facial features of the driver include the driver's behavior, sight, expression, etc. The computer vision system 534 can use object recognition algorithms, motion recovery structure (structure from motion, SFM) algorithms, video tracking and other computer vision technologies. In some embodiments, the computer vision system 534 can also be used to map the environment, track objects, estimate the speed of objects, determine driver behavior, face recognition, etc.

[0106] The route control system 535 is used to determine the driving route of the vehicle 500. In some embodiments, the route control system 535 can combine data from sensors, the positioning system 521, and one or more predetermined maps to determine the driving route for the vehicle 500.

[0107] Obstacle avoidance system 536 is used to identify, evaluate, and avoid or otherwise negotiate potential obstacles in the environment of vehicle 500 .

[0108] Of course, in one example, the control system 530 may include other components in addition to or in place of the components shown and described, or may reduce some of the components shown above.

[0109] The vehicle 500 interacts with external sensors, other vehicles, other computer systems, or users through the peripheral device 540. The peripheral device 540 may include a wireless communication system 541, an onboard computer 542, a microphone 543, and / or a speaker 544.

[0110] In some embodiments, the peripheral device 540 provides a means for the user of the vehicle 500 to interact with the user interface 570. For example, the onboard computer 542 can provide information to the user of the vehicle 500. The user interface 570 can also operate the onboard computer 542 to receive input from the user. The onboard computer 542 can receive input from the user through a touch screen. In other embodiments, the peripheral device 540 can provide a means for the vehicle 500 to communicate with other devices located in the vehicle. For example, the microphone 543 can receive audio (e.g., voice commands or other audio input) from the user of the vehicle 500. Similarly, the speaker 544 can output audio to the user of the vehicle 500.

[0111] The wireless communication system 541 may wirelessly communicate with one or more devices directly or via a communication network.

[0112] For example, the wireless communication system 541 may use the 3rd generation mobile communication technology (3G) cellular communication, such as code division multiple access (CDMA), global system for mobile communications (GSM), general packet radio service (GPRS), or the 4th generation mobile communication technology (4G) cellular communication, such as long term evolution (LTE), or the 5th generation mobile communication technology (5G) cellular communication. The wireless communication system 541 may communicate with a wireless local area network (WLAN) using wireless fidelity (Wi-Fi). In some embodiments, the wireless communication system 541 may communicate directly with a device using an infrared link, Bluetooth or ZigBee. Other wireless protocols, such as various vehicle communication systems, for example, the wireless communication system 541 may include one or more dedicated short range communications (DSRC) devices.

[0113] The power source 550 can provide power to various components of the vehicle 500. In one embodiment, the power source 550 can be a rechargeable lithium-ion battery or a rechargeable lead-acid battery. One or more battery packs of such batteries can be configured as a power source to provide power to various components of the vehicle 500. In other embodiments, the power source 550 and the energy source 512 can be implemented together, such as a fully electric vehicle.

[0114] Some or all functions of the vehicle 500 are controlled by a computer system 560. The computer system 560 may include at least one processor 561 that executes instructions 5621 stored in a non-transitory computer-readable medium such as a memory 562. The computer system 560 may also be a plurality of computing devices that control individual components or subsystems of the vehicle 500 in a distributed manner.

[0115] Processor 561 may be any conventional processor, such as a commercially available central processing unit (CPU). Alternatively, the processor may be a dedicated device such as an application-specific integrated circuit (ASIC) or other hardware-based processor.

[0116] In some embodiments, the memory 562 may include instructions 5621 (e.g., program logic) that may be executed by the processor 561 to perform various functions of the vehicle 500. The memory 562 may also include additional instructions, including instructions to send data to, receive data from, interact with, and / or control one or more of the travel system 510, the sensor system 520, the control system 530, and the peripherals 540.

[0117] In addition to instructions 5621, memory 562 may also store data such as road maps, route information, the vehicle's location, direction, speed, and other vehicle data, and other information. This information may be used by vehicle 500 and computer system 560 during operation of vehicle 500 in autonomous, semi-autonomous, and / or manual modes.

[0118] The user interface 570 is used to provide information to or receive information from a user of the vehicle 500. Optionally, the user interface 570 may include an interface for one or more input / output devices in the set of peripheral devices 540 to interact with the user and exchange information. The one or more input / output devices in the set of peripheral devices 540 may be, for example, one or more of a wireless communication system 541, an onboard computer 542, a microphone 543, and a speaker 544.

[0119] Computer system 560 may control functions of vehicle 500 based on input received from various subsystems (e.g., travel system 510, sensor system 520, and control system 530) and from user interface 570. In some embodiments, computer system 560 may provide control over many aspects of vehicle 500 and its subsystems.

[0120] In some embodiments, the vehicle 500 may also include a vehicle controller (not shown). Figure 5As shown in the figure, the vehicle controller can also be described as a powertrain controller or an intelligent driving computing platform, which is the core control component of the entire vehicle. It collects input information from various systems and components, and after making corresponding judgments based on the above input information, it controls the actions of various components in the vehicle 500 and drives the vehicle 500 to travel. Specifically, as the command and management center of the vehicle 500, the main functions of the vehicle controller include: driving torque control, optimal control of braking energy, energy management of the whole vehicle, maintenance and management of the controller area network (CAN), fault diagnosis and processing, and vehicle status monitoring, etc. It plays a role in controlling the operation of the vehicle. Therefore, the quality of the vehicle controller directly determines the stability and safety of the vehicle.

[0121] In an embodiment of the present application, the vehicle controller monitors the fault data of the current vehicle in real time, automatically adjusts the scheduling delay threshold to collect the real-time process data of the vehicle, and locates the fault based on the collected data.

[0122] Alternatively, one or more of the above-mentioned components may be installed or associated separately from the vehicle 500. For example, the memory 562 may exist partially or completely separately from the vehicle 500. The above-mentioned components may be communicatively coupled together in a wired and / or wireless manner.

[0123] Optionally, the above components are only examples. In actual applications, the components in the above modules may be added or deleted according to actual needs. Figure 5 It should not be understood as limiting the embodiments of the present application.

[0124] The vehicle 500 may be a car, automobile, truck, motorcycle, bus, ship, airplane, helicopter, lawn mower, recreational vehicle, amusement park vehicle, construction equipment, tram, golf cart, train, etc., and the embodiment of the present application does not make any special limitation. The power of the vehicle may be provided by gasoline, diesel, electricity, solar energy, hydrogen energy, etc.

[0125] In other embodiments of the present application, the vehicle may further include a hardware structure and / or a software module to implement the above functions in the form of a hardware structure, a software module, or a hardware structure plus a software module. Whether one of the above functions is implemented in the form of a hardware structure, a software module, or a hardware structure plus a software module depends on the specific application and design constraints of the technical solution.

[0126] The method provided in the embodiment of the present application is described below with reference to the accompanying drawings.

[0127] In order to improve data collection efficiency, avoid data loss, and improve data integrity, the present application proposes a data collection method, the executor of which can be a vehicle or other equipment outside the vehicle, or a processor on the vehicle or other equipment outside the vehicle, such as the processor 41 or processor 561 mentioned in the above content.

[0128] refer to Figure 6 , Figure 6 The flowchart of the data collection method provided in the embodiment of the present application is shown. The data collection method includes the following S601-S603:

[0129] S601: The vehicle controller obtains a first fault code and determines a target process corresponding to the first fault code.

[0130] Among them, the vehicle controller is the core control component of the vehicle. The vehicle controller obtains the vehicle's status information, makes corresponding judgments and decisions based on the vehicle's status information, controls the actions of various components in the vehicle based on the above decisions, and then controls the vehicle's driving or braking.

[0131] In an embodiment of the present application, the vehicle controller obtains the fault information of the vehicle, makes corresponding decisions and judgments based on the fault information, and collects abnormal data.

[0132] Among them, the first fault code is a code that marks the fault when a fault occurs in the current vehicle.

[0133] It is understood that a diagnostic trouble code (DTC) (referred to as a trouble code in this application) is a code used to identify a vehicle fault.

[0134] Exemplarily, when a vehicle malfunctions, a fault detection system in the vehicle generates a fault code to indicate the type and location of the fault.

[0135] The target process is a process that generates a first fault code when running abnormally.

[0136] In some embodiments of the present application, the vehicle controller monitors the vehicle condition in real time, and when a vehicle fault is detected, obtains a first fault code corresponding to the current fault.

[0137] In a possible implementation, the vehicle controller monitors the sensing signals transmitted by each sensor in the vehicle in real time, and determines whether the current vehicle has a fault based on whether the sensing signals are abnormal. If the sensing signals are abnormal, it is determined that the vehicle has a fault, and the fault information and the first fault code corresponding to the fault information are determined based on the abnormal sensing signals.

[0138] It is understandable that the vehicle controller stores fault information of each type of fault that may occur during the use of the vehicle and the fault code corresponding to the fault information, so that the user can be reminded of the fault information in time when a vehicle fails, which is convenient for the user to quickly locate the fault type, quickly repair it, and better ensure safe driving.

[0139] In some embodiments of the present application, the vehicle controller obtains a fault tree and determines a target process corresponding to the first fault code based on the fault tree.

[0140] The fault tree includes multiple fault codes, including the first fault code. The fault tree can be understood as an inverted tree relationship diagram representing the logical relationship between the fault codes.

[0141] Optionally, the fault tree may also include a process that generates each fault code when the corresponding operation of the fault code is abnormal.

[0142] In some embodiments of the present application, the vehicle controller sets a corresponding fault code for each type of fault that may occur during the use of the vehicle, and determines the process that will generate the fault code when the operation corresponding to each fault code is abnormal. The vehicle controller obtains a fault tree based on each fault code and the process corresponding to each fault code. The vehicle controller stores the fault tree so that when a vehicle fails, it can quickly locate the abnormal process based on the fault code, which is conducive to subsequent fault analysis and fault cause determination based on the data of the process.

[0143] It is understandable that a fault may occur when a process in the system runs abnormally. Therefore, each fault code has a corresponding process that can generate the fault code when the process runs abnormally.

[0144] In a possible implementation, the vehicle controller determines a process corresponding to the first fault code based on the fault tree, and determines the process as the target process.

[0145] In some examples, there is only one process that can generate the first fault code when running abnormally, and the first fault code in the fault tree generated by the vehicle controller corresponds to only one process. The vehicle controller determines the process corresponding to the first fault code as the target process based on the relevant data of the first fault code in the fault tree.

[0146] In another possible implementation, the vehicle controller determines, based on the fault tree, a process set corresponding to the first fault code, where the process set includes multiple processes, and determines the process with the smallest scheduling delay in the process set as the target process.

[0147] In other examples, there are multiple processes that can generate the first fault code when running abnormally. In the fault tree generated by the vehicle controller, the first fault code corresponds to multiple processes, and the multiple processes constitute a process set. Data collection is performed according to the current preset scheduling delay threshold of the system to collect the scheduling delay of the processes in the system. After the first collection cycle is completed, the process with the smallest scheduling delay in the process set is determined as the target process based on the collected data.

[0148] It should be understood that the data collected in the embodiments of the present application should be abnormal process data, so that the cause of the fault can be analyzed based on the abnormal data. Moreover, the scheduling delay when the process is abnormal is greater than the scheduling delay when the process is running normally. Therefore, the preset scheduling delay threshold can be understood as the maximum value of the scheduling delay when the process is normally scheduled in the system. If the scheduling delay of a process exceeds the preset scheduling delay threshold, the process is at risk of failure.

[0149] It is understandable that in this example, in order to collect the scheduling delay of each process in the process set, the specific value of the preset scheduling delay threshold should be set to a smaller value so as to collect the scheduling delay of each process in the process set. Moreover, each process in the process set is a process that generates the first fault code when running abnormally, and the scheduling delay of each process is different. If the process with the smallest scheduling delay in the process set is determined as the target process, then when collecting data subsequently, all processes whose scheduling delay exceeds the target process can be collected, which can ensure that the collected data contains abnormal data of each process in the process set, avoid data loss, and ensure data integrity.

[0150] S602. The vehicle controller determines the scheduling delay corresponding to the target process, and adjusts the first scheduling delay threshold of the system where the target process is located according to the scheduling delay corresponding to the target process to obtain the second scheduling delay threshold of the system.

[0151] The first scheduling delay threshold is a scheduling delay critical value corresponding to the current system after the first fault code is obtained and is used to collect abnormal data in the current system.

[0152] The second scheduling delay threshold is obtained by adjusting the first scheduling delay threshold according to the scheduling delay corresponding to the target process after obtaining the scheduling delay corresponding to the target process according to the first scheduling delay threshold, and is used for the next collection of abnormal data in the system. That is, the second scheduling delay threshold is obtained by adjusting the first scheduling delay threshold.

[0153] In some embodiments of the present application, after the vehicle controller determines the target process corresponding to the first fault code, the vehicle controller collects system scheduling events according to the first scheduling delay threshold of the current system, and determines the scheduling delay corresponding to the target process based on the system scheduling events.

[0154] In a possible implementation, the vehicle controller stores a first scheduling delay threshold corresponding to the current system. After the vehicle controller determines the target process corresponding to the first fault code, within the current collection cycle, the vehicle controller collects the scheduling delay of the process in the system and the fault code corresponding to the process according to the first scheduling delay threshold currently corresponding to the system where the target process is located, and obtains the system scheduling event; the vehicle controller determines the scheduling delay corresponding to the target process according to the system scheduling event.

[0155] In some embodiments of the present application, the first scheduling delay threshold includes a preset scheduling delay threshold used in a first collection cycle for first acquiring a system scheduling event.

[0156] In some embodiments of the present application, the preset scheduling delay threshold used in the first cycle of the first collection behavior is an arbitrary value set according to experience or historical data. The preset scheduling delay threshold used in the first cycle of the N+1th collection behavior performed after the first collection behavior ends is the second scheduling delay threshold stored before the Nth collection behavior exits.

[0157] In some examples, the current collection cycle is taken as the first collection cycle for explanation. That is, the current collection cycle is the first collection cycle for obtaining system scheduling events after the vehicle controller determines the target process corresponding to the first fault code, and performs data collection for the first time. Specifically, in the first collection cycle, the vehicle controller collects processes in the system whose scheduling delay exceeds the preset scheduling delay threshold according to the preset scheduling delay threshold of the system (that is, the first scheduling delay threshold), and integrates the collected scheduling delay of each process and the fault code corresponding to the process to obtain the system scheduling event. The vehicle controller determines the scheduling delay corresponding to the target process based on the system scheduling event.

[0158] Exemplarily, the number of processes in the system whose scheduling delay exceeds the preset scheduling delay threshold may be one or more. Alternatively, no process exceeding the preset scheduling delay threshold is collected. The vehicle controller determines whether the system scheduling event includes the target process. If the target process is included, it determines that the scheduling delay corresponding to the target process is collected, as well as the specific value of the scheduling delay corresponding to the target progress; if the target process is not included, it determines that the scheduling delay corresponding to the target process is not collected.

[0159] In other examples, the current collection cycle is taken as the Nth collection cycle for example. In the Nth collection cycle, the vehicle controller collects the processes whose scheduling delay exceeds the preset scheduling delay threshold in the system according to the first scheduling delay threshold corresponding to the Nth cycle system, and integrates the collected scheduling delay of each process and the fault code corresponding to the process to obtain the system scheduling event. The vehicle controller determines the scheduling delay corresponding to the target process according to the system scheduling event.

[0160] In an embodiment of the present application, the vehicle controller sets a maximum storage capacity for system scheduling events, and iteratively stores system scheduling events according to the maximum storage capacity.

[0161] The maximum storage capacity may be a storage capacity of a dynamically set system scheduling event, or a storage capacity of a pre-configured system scheduling event.

[0162] In some examples, the vehicle controller sets the maximum storage capacity of system scheduling events to 100, that is, the vehicle controller can store up to 100 scheduling events. The vehicle controller iteratively stores the latest system scheduling events according to the maximum storage capacity. Specifically, when the number of collected system scheduling events does not exceed the maximum storage capacity, each collected system scheduling event is recorded; when the number of collected system scheduling events exceeds the maximum storage capacity, the latest scheduling event is iteratively recorded according to the maximum storage capacity. Exemplarily, when the 101st scheduling event is collected, the first scheduling event collected earliest is deleted, and the 2nd to 101st scheduling events are stored.

[0163] In some embodiments of the present application, after the vehicle controller determines the scheduling delay corresponding to the target process, it determines whether to adjust the first scheduling delay threshold of the system based on the collection of the scheduling delay corresponding to the target process.

[0164] In one possible implementation, during the current collection cycle, the vehicle controller collects the scheduling delay of the process in the system and the fault code corresponding to the process according to the first scheduling delay threshold to obtain the system scheduling event; the vehicle controller determines whether to adjust the first scheduling delay threshold based on whether the system scheduling event includes the first fault code and / or the scheduling delay of the target process.

[0165] Specifically, in the current collection cycle, the vehicle controller obtains the system scheduling event according to the first scheduling delay threshold. After the vehicle controller obtains the system scheduling event, it compares and determines whether the fault code in the system scheduling event contains the first fault code, and whether the scheduling delay of the process in the system scheduling event contains the scheduling delay of the target process.

[0166] In some embodiments of the present application, in the current collection cycle, the collection of the scheduling delay corresponding to the target process includes any of the following situations:

[0167] Case 1: The system scheduling events acquired in the current collection period include the first fault code and the scheduling delay of the target process.

[0168] In some examples, if the system scheduling events acquired in the current collection cycle include a first fault code and a scheduling delay of a target process, the vehicle controller determines not to adjust the first scheduling delay threshold and determines the first scheduling delay threshold as the second scheduling delay threshold.

[0169] It is understandable that if the system scheduling events acquired in the current collection cycle include the first fault code and the scheduling delay of the target process, it means that the abnormal data of the target process that triggers the first fault code has been collected. Therefore, there is no need to adjust the first scheduling delay threshold used in the current collection cycle. End this collection, and determine the first scheduling delay threshold as the second scheduling delay threshold of the system when collecting abnormal data next time, so that when a fault occurs again in the future, abnormal data can be collected according to the second scheduling delay threshold to improve data collection efficiency.

[0170] Case 2: The system scheduling events acquired in the current collection period do not include the first fault code and / or the scheduling delay of the target process.

[0171] In other examples, if the system scheduling events acquired in the current collection cycle do not include the first fault code and / or the scheduling delay of the target process, the vehicle controller determines to adjust the first scheduling delay threshold, and obtains the second scheduling delay threshold to be used in the next collection cycle based on the first scheduling delay threshold.

[0172] It is understandable that if the system scheduling events acquired in the current collection cycle do not include the first fault code and / or the scheduling delay of the target process, it means that the abnormal data of the target process that triggers the first fault code has not been collected. The first scheduling delay threshold used in the current collection cycle is unreasonable and needs to be adjusted.

[0173] The above example introduces that the vehicle controller determines whether to adjust the first scheduling delay threshold according to the collection situation. The following is a detailed introduction to the specific implementation method of adjusting the first scheduling delay threshold according to the collection situation.

[0174] In some embodiments of the present application, the system scheduling events acquired in the current acquisition period do not include the first fault code and / or the scheduling delay of the target process, including any of the following situations:

[0175] Case a: The system scheduling events acquired in the current collection cycle do not include the first fault code and the scheduling delay of the target process.

[0176] In some examples, if the system scheduling events acquired in the current collection cycle do not include the first fault code and the scheduling delay of the target process, the first scheduling delay threshold is lowered to obtain the second scheduling delay threshold used in the next collection cycle.

[0177] In this case, the system scheduling events collected by the vehicle controller do not include the first fault code or the scheduling delay of the target process. This means that the first scheduling delay threshold used in the current collection cycle is set too high, so that the first fault code and / or the scheduling delay of the target process cannot be collected. Therefore, it is necessary to lower the first scheduling delay threshold and use the lowered first scheduling delay threshold as the second scheduling delay threshold to be used in the next collection cycle.

[0178] In one possible implementation, the vehicle controller reduces the first scheduling delay threshold according to a preset reduction method to obtain a second scheduling delay threshold. For example, the vehicle controller determines half of the first scheduling delay threshold as the second scheduling delay threshold. The embodiment of the present application does not limit the specific implementation method of reducing the first scheduling delay threshold.

[0179] Case b: The system scheduling events acquired in the current collection cycle do not include the first fault code, but include the scheduling delay of the target process.

[0180] In other examples, if the system scheduling events acquired in the current collection cycle do not include the first fault code but include the scheduling delay of the target process, the first scheduling delay threshold is increased to obtain the second scheduling delay threshold used in the next collection cycle.

[0181] In this case, the system scheduling events collected by the vehicle controller do not include the first fault code, but include the scheduling delay of the target process. It means that the scheduling data when the target process runs normally is collected. However, this application needs to collect scheduling data when the target process runs abnormally, so the setting of the first scheduling delay threshold used in the current collection cycle is unreasonable, and the first scheduling delay threshold should be increased so that the scheduling data of the abnormal operation of the target process can be collected next time. Therefore, the vehicle controller increases the first scheduling delay threshold, and uses the increased first scheduling delay threshold as the second scheduling delay threshold to be used in the next collection cycle.

[0182] In a possible implementation, the vehicle controller increases the first scheduling delay threshold according to a preset increase method to obtain a second scheduling delay threshold. For example, the second scheduling delay threshold is determined based on the average of all scheduling delays corresponding to the target process in the system scheduling events collected in the current collection cycle. The embodiment of the present application does not limit the specific implementation method of increasing the first scheduling delay threshold.

[0183] Case c: The system scheduling events acquired in the current collection cycle include the first fault code, but do not include the scheduling delay of the target process.

[0184] In some other examples, if the system scheduling events acquired in the current collection cycle include the first fault code but do not include the scheduling delay of the target process, the first scheduling delay threshold is lowered to obtain the second scheduling delay threshold used in the next collection cycle.

[0185] In this case, the system scheduling events collected by the vehicle controller include the first fault code, but do not include the scheduling delay of the target process, indicating that a fault corresponding to the first fault code has occurred in the system in the current collection cycle, but the first scheduling delay threshold used in the current collection cycle is set too high, and the scheduling delay of the target that triggers the first fault code is less than the first scheduling delay threshold, so that the scheduling delay of the target process cannot be collected. Therefore, the vehicle controller needs to lower the first scheduling delay threshold and use the lowered first scheduling delay threshold as the second scheduling delay threshold to be used in the next collection cycle.

[0186] In the embodiment of the present application, the specific implementation method of the vehicle controller to reduce the first scheduling delay threshold value refers to the above situation a, which will not be repeated here.

[0187] According to the above content, the vehicle controller iteratively stores system scheduling events according to the maximum storage capacity. Therefore, after determining the specific method of adjusting the first scheduling delay threshold, it is also necessary to determine whether the adjusted first scheduling delay threshold can be used in subsequent collection.

[0188] Specifically, for the above-mentioned situation a and situation c, the specific way to adjust the first scheduling delay threshold is to lower the first scheduling delay threshold. After lowering the first scheduling delay threshold, the threshold value for collecting abnormal data is lowered, more abnormal data can be recorded in the system, and the probability of collecting the scheduling delay corresponding to the target process is increased. Therefore, this adjustment is effective, and the adjusted first scheduling delay threshold is determined as the second scheduling delay threshold to be used in the next collection cycle.

[0189] For the above situation b, the specific method of adjusting the first scheduling delay threshold is to increase the first scheduling delay threshold. After increasing the first scheduling delay threshold, the threshold value for collecting abnormal data is increased, and the number of abnormal data in the system that can be recorded is reduced. Moreover, the vehicle controller stores system scheduling events according to the maximum storage capacity. If the system scheduling events collected in the current collection cycle are relatively small, the system scheduling data collected again after increasing the first scheduling delay threshold may be even smaller, and the probability of collecting the scheduling delay corresponding to the target process will not change much. At this time, it is not meaningful to increase the first scheduling delay threshold, so there is no need to adjust the first scheduling delay threshold. Therefore, in this case, it is necessary to make a judgment based on the number of system scheduling events obtained from the content of the current collection cycle.

[0190] In a possible implementation, whether to adopt the adjusted first scheduling delay threshold is determined according to whether the number of system scheduling events acquired in the current collection period meets a preset condition.

[0191] Specifically, if the number of system scheduling events acquired in the current collection cycle meets the preset conditions, it is determined that the adjusted first scheduling delay threshold is adopted, and the adjusted scheduling delay threshold is determined as the second scheduling delay threshold to be adopted in the next collection cycle. In the next collection cycle, the scheduling delay of the process in the system and the fault code corresponding to the process are collected according to the second scheduling delay threshold. If the number of system scheduling events acquired in the current collection cycle does not meet the preset conditions, it is determined not to adopt the adjusted first scheduling delay threshold, and in the next collection cycle, the scheduling delay of the process in the system and the fault code corresponding to the process are collected according to the first scheduling delay threshold.

[0192] The preset condition is that the number of system scheduling events acquired in the current collection period is greater than a preset ratio of the maximum storage capacity of the system scheduling events. For example, the preset ratio is 50%. If the data of the system scheduling events collected in the current collection period is greater than 50% of the maximum storage capacity, the adjusted first scheduling delay threshold is used and determined as the second scheduling delay threshold used for the next collection.

[0193] In this way, it is possible to avoid infinitely increasing the scheduling delay threshold and avoiding jitters during the adjustment of the scheduling delay threshold, thereby ensuring the rationality of the scheduling delay threshold setting.

[0194] In some embodiments of the present application, after determining to use the second scheduling delay threshold, if the second scheduling delay threshold is different from the first scheduling delay threshold, the vehicle controller deletes the system scheduling events acquired in the current collection period and starts data collection for the next collection period according to the second scheduling delay threshold.

[0195] In some examples, if the second scheduling delay threshold is the adjusted first scheduling delay threshold (such as the first scheduling delay threshold after being increased or decreased), the vehicle controller deletes the system scheduling events acquired in the current collection period, clears the data, and starts a new round of data collection according to the second scheduling delay threshold.

[0196] In some embodiments of the present application, after determining to use the second scheduling delay threshold, the vehicle controller stores the second scheduling delay threshold, and determines the second scheduling delay threshold as the preset scheduling delay threshold corresponding to the next collection behavior after the current collection behavior exits.

[0197] It should be understood that each adjustment of the scheduling delay threshold is equivalent to a correction, which gradually corrects the originally arbitrarily set scheduling delay threshold to a scheduling delay that can collect the first fault code and the target process, and gradually corrects from a "wrong" threshold to a "correct" threshold. After each adjustment, the difference between the second scheduling delay threshold used in the next collection cycle and the "correct" threshold becomes smaller and smaller.

[0198] It is understandable that the vehicle controller determines and stores the second scheduling delay threshold, and records each adjustment result. When data collection is abnormally interrupted, data collection can be quickly resumed according to the stored second scheduling delay threshold.

[0199] S603: The vehicle controller collects data in which the scheduling delay during process scheduling in the system is greater than the second scheduling delay threshold according to the second scheduling delay threshold.

[0200] In some embodiments of the present application, the vehicle controller collects the scheduling delay of the process in the system and the fault code corresponding to the process according to the second scheduling delay threshold, and records the data when the scheduling delay of the process in the system is greater than the second scheduling delay threshold.

[0201] In an embodiment of the present application, the specific implementation method of the vehicle controller collecting data when the scheduling delay during process scheduling in the system is greater than the second scheduling delay threshold according to the second scheduling delay threshold is shown in S602 above and will not be repeated here.

[0202] It can be understood that the first scheduling delay threshold is the scheduling delay threshold used for collection in the current collection cycle. After collecting data in the current collection cycle, the first scheduling delay threshold is adaptively adjusted according to the data collection situation to obtain the second scheduling delay threshold to be used in the next collection cycle. When the next collection cycle process is collected, the first scheduling delay threshold corresponding to the collection cycle is the second scheduling delay threshold. Exemplarily, if the first scheduling delay threshold corresponding to the Nth cycle is A, the first scheduling delay threshold A is adjusted after the collection of the Nth cycle is completed to obtain the second scheduling delay threshold B. In the N+1th cycle, data collection is performed according to the second scheduling delay threshold B, and the second scheduling delay threshold B is the first scheduling delay threshold corresponding to the N+1th cycle. That is, the first scheduling delay threshold and the second scheduling delay threshold change with the cycle.

[0203] For example, Figure 7 As shown, it is a schematic diagram of the data collection process when the first fault code corresponds to a process in an embodiment of the present application.

[0204] S701. The vehicle controller obtains a first fault code and a fault tree, and determines a process corresponding to the first fault code as a target process according to the fault tree.

[0205] In the embodiment of the present application, the specific implementation method of step S701 refers to the above-mentioned step S601.

[0206] S702: The vehicle controller sets the maximum storage capacity of system scheduling events.

[0207] In some examples, the vehicle controller dynamically sets the maximum storage capacity of system scheduling events before process data collection.

[0208] In other examples, the vehicle controller collects data after determining the target process. During data collection, the vehicle controller collects data according to the maximum storage capacity of the pre-configured system scheduling event. In this way, there is no need to set the maximum storage capacity each time the data is collected, and data can be collected quickly according to the pre-configured data, thereby improving data collection efficiency.

[0209] In the embodiment of the present application, the specific implementation of step S702 is shown in the above Figure 6 The corresponding description.

[0210] S703: The vehicle controller acquires the scheduling delay of the process in the system and the fault code corresponding to the process according to the first scheduling delay threshold and the maximum storage capacity, and obtains the system scheduling event.

[0211] In an embodiment of the present application, after obtaining a system scheduling event, a specific implementation method of adjusting the first scheduling delay threshold includes steps S7041-S7044 according to whether the system scheduling event includes a first fault code and / or a scheduling delay of a target process.

[0212] S7041. If the system scheduling events acquired in the current collection period do not include the first fault code and the scheduling delay of the target process, the vehicle controller lowers the first scheduling delay threshold.

[0213] S7042: If the system scheduling event acquired in the current collection period includes the first fault code but does not include the scheduling delay of the target process, the vehicle controller reduces the first scheduling delay threshold.

[0214] S7043: If the system scheduling event acquired in the current collection period does not include the first fault code but includes the scheduling delay of the target process, the vehicle controller increases the first scheduling delay threshold.

[0215] It is understandable that the scheduling delay and the first fault code of the target process that generates the first fault code are not collected in the system scheduling event in steps S7041-S7044, that is, no abnormal data is collected. This indicates that the first scheduling delay threshold used in the current collection cycle is set unreasonably and needs to be adjusted. Therefore, corresponding adjustments are made according to the specific data collected in the current collection cycle, so that the adjusted scheduling delay threshold can collect the first fault code and the scheduling delay of the target process.

[0216] S7044. If the system scheduling events acquired in the current collection cycle include the first fault code and the scheduling delay of the target process, the vehicle controller does not adjust the first scheduling delay threshold, and determines the first scheduling delay threshold as the second scheduling delay threshold of the system, and ends the collection.

[0217] It is understandable that if the system scheduling events collected in the current collection cycle include the first fault code and the scheduling delay of the target process, it means that the scheduling delay and the first fault code of the target process that generates the first fault code are collected according to the first scheduling delay threshold used in the current collection cycle. That is, the current collection cycle has collected abnormal data, so the collection can be ended, and the first scheduling delay threshold used in the current collection cycle is set as the second scheduling delay threshold of the system, so that when a fault occurs again in the future, abnormal data can be collected according to the second scheduling delay threshold to improve data collection efficiency.

[0218] S705: The vehicle controller determines whether to use the adjusted first scheduling delay threshold according to whether the number of system scheduling events acquired in the current collection cycle meets the preset condition. If so, execute S706; otherwise, continue to collect and execute S703.

[0219] S706. The vehicle controller determines the adjusted first scheduling delay threshold as the second scheduling delay threshold of the system in the next collection cycle, closes the collection of the current collection cycle, and deletes the system scheduling events obtained in the current collection cycle.

[0220] It can be understood that the above steps S703-S706 are for the vehicle controller to perform data collection and threshold adjustment in the same cycle (such as the current collection cycle).

[0221] In the embodiment of the present application, the specific implementation method of the above steps S703-S706 refers to the above step S602.

[0222] S707. The vehicle controller starts data collection according to the second scheduling delay threshold, and collects data when the scheduling delay during process scheduling in the system is greater than the second scheduling delay threshold.

[0223] It can be understood that this step S707 is essentially to collect data again based on the adjusted scheduling delay threshold. Before the vehicle controller collects the first fault code and the scheduling delay corresponding to the target process, the vehicle control cabinet will adaptively adjust the scheduling delay threshold based on the data collected in each collection cycle until the first fault code and the scheduling delay corresponding to the target process are collected.

[0224] In the embodiment of the present application, the vehicle controller starts data collection according to the second scheduling delay threshold, and collects data when the scheduling delay of the process scheduling in the system is greater than the second scheduling delay threshold. For specific implementation methods, see step S603. After completing the data collection, it is determined whether the collected data contains the first fault code and / or the scheduling delay of the target process, and corresponding adjustments are made according to the collection situation until the first fault code and the scheduling delay corresponding to the target process are collected in a certain period, and then the collection is terminated.

[0225] For example, Figure 8 As shown, it is a schematic diagram of the data collection process when the first fault code corresponds to multiple processes in an embodiment of the present application.

[0226] S800: The vehicle controller obtains a first fault code and a fault tree, and determines a process set corresponding to the first fault code according to the fault tree.

[0227] S801. The vehicle controller determines the process with the smallest centralized scheduling delay as the target process.

[0228] In the embodiment of the present application, the specific implementation method of steps S800-S801 refers to the above-mentioned step S601.

[0229] S802: The vehicle controller sets the maximum storage capacity of system scheduling events.

[0230] In the embodiment of the present application, the specific implementation method of step S802 refers to the above-mentioned step S602.

[0231] S803: The vehicle controller acquires the scheduling delay of the process in the system and the fault code corresponding to the process according to the first scheduling delay threshold and the maximum storage capacity, and obtains the system scheduling event.

[0232] In an embodiment of the present application, after obtaining a system scheduling event, a specific implementation method of adjusting the first scheduling delay threshold includes steps S8041-S8044 according to whether the system scheduling event includes a first fault code and / or a scheduling delay of a target process.

[0233] S8041. If the system scheduling events acquired in the current collection period do not include the first fault code and the scheduling delay of the target process, the vehicle controller lowers the first scheduling delay threshold.

[0234] S8042: If the system scheduling event acquired in the current collection period includes the first fault code but does not include the scheduling delay of the target process, the vehicle controller reduces the first scheduling delay threshold.

[0235] S8043. If the system scheduling event acquired in the current collection period does not include the first fault code but includes the scheduling delay of the target process, the vehicle controller increases the first scheduling delay threshold.

[0236] S8044. If the system scheduling events acquired in the current collection cycle include the first fault code and the scheduling delay of the target process, the vehicle controller does not adjust the first scheduling delay threshold, and determines the first scheduling delay threshold as the second scheduling delay threshold of the system, and ends the collection.

[0237] S805. The vehicle controller determines whether to adopt the adjusted first scheduling delay threshold according to whether the number of system scheduling events obtained in the current collection cycle meets the preset conditions. If so, execute S806; otherwise, continue to collect and execute S803.

[0238] S806. The vehicle controller determines the adjusted first scheduling delay threshold as the second scheduling delay threshold of the system in the next collection cycle, closes the collection of the current collection cycle, and deletes the system scheduling events obtained in the current collection cycle.

[0239] It can be understood that the above steps S803-S806 are for the vehicle controller to perform data collection and threshold adjustment in the same cycle (such as the current collection cycle).

[0240] In the embodiment of the present application, the specific implementation method of the above steps S803-S806 refers to the above step S602.

[0241] S807. The vehicle controller starts data collection according to the second scheduling delay threshold, and collects data when the scheduling delay during process scheduling in the system is greater than the second scheduling delay threshold.

[0242] In an embodiment of the present application, the vehicle controller starts data collection according to the second scheduling delay threshold. The specific implementation method of collecting data when the scheduling delay during process scheduling in the collection system is greater than the second scheduling delay threshold is shown in step S603. After completing the data collection, it is determined whether the collected data contains the first fault code and / or the scheduling delay of the target process, and corresponding adjustments are made according to the collection situation until the first fault code and the scheduling delay corresponding to the target process are collected in a certain period, and then the collection is terminated.

[0243] Through the above process, the vehicle controller in the embodiment of the present application first determines the target process according to the first fault code, collects the scheduling delay corresponding to the target process, and adjusts the first scheduling delay threshold of the system where the target process is located according to the scheduling delay corresponding to the target process to obtain the second scheduling delay threshold of the system; according to the second scheduling delay threshold, collects data when the scheduling delay of the process in the system is greater than the second scheduling delay threshold. Through the above scheme, the scheduling delay threshold of the system is adaptively adjusted according to the collected data, the data collection strategy is optimized, the data collection efficiency and data integrity are effectively improved, which is conducive to the subsequent rapid analysis of the cause of the fault and better ensures driving safety.

[0244] It should be understood that the above examples use a vehicle as an example to illustrate how to collect abnormal data when a fault occurs in the vehicle, but the data collection method of the present application can be applied to electronic devices or computing platforms in other fields. For example, it can be applied to terminal devices such as mobile phones to quickly collect abnormal data based on fault codes, so as to analyze the cause of the fault later and extend the life of the equipment.

[0245] The system architecture and business scenarios described in this application are intended to more clearly illustrate the technical solutions of this application, and do not constitute the sole limitation on the technical solutions provided by this application. A person of ordinary skill in the art will appreciate that, with the evolution of the system architecture and the emergence of new business scenarios, the technical solutions provided by this application are equally applicable to similar technical problems.

[0246] Combination of the above Figure 3-Figure 8 The data acquisition method provided by the embodiment of the present application is described in detail. The above mainly introduces the scheme provided by the embodiment of the present application from the perspective of the method. In order to achieve the above functions, it includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiment disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.

[0247] The embodiment of the present application can divide the functional modules of the data acquisition system according to the above method example. For example, each functional module can be divided according to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.

[0248] Fig. 9 A possible structural diagram of the data acquisition device involved in the above embodiment is shown as follows: Fig. 9 As shown, the data acquisition device 900 may include an acquisition unit 901 and a processing unit 902. The data acquisition device 900 is used to execute the above-mentioned data acquisition method, for example, to execute Figure 6-Figure 8 Of course, the data acquisition device 900 may also include other modules, or the data acquisition device 900 may include fewer modules. This embodiment of the application is not limited to this.

[0249] The acquisition unit 901 is used to acquire a first fault code.

[0250] The processing unit 902 is used to determine the target process corresponding to the first fault code. The processing unit 902 is also used to determine the scheduling delay corresponding to the target process. The processing unit 902 is also used to adjust the first scheduling delay threshold of the system where the target process is located according to the scheduling delay corresponding to the target process to obtain the second scheduling delay threshold of the system.

[0251] The acquisition unit 901 is further configured to collect data indicating that the scheduling delay during process scheduling in the system is greater than the second scheduling delay threshold according to the second scheduling delay threshold.

[0252] Optional, Fig. 9 The data acquisition device 900 shown may also include a storage unit ( Fig. 9 (not shown), the storage unit stores a program or instruction. When the acquisition unit 901 and the processing unit 902 execute the program or instruction, Fig. 9 The data acquisition device 900 shown can execute the data acquisition method described in the above method embodiment.

[0253] The operations and / or functions of each unit in the data acquisition device 900 are respectively for realizing the corresponding processes of the data acquisition method described in the above method embodiment. All relevant contents of each step involved in the above method embodiment can be referred to the functional description of the corresponding functional unit. For the sake of brevity, they will not be repeated here.

[0254] Fig. 9 The technical effects of the data acquisition device 900 shown can refer to the technical effects of the data acquisition method described in the above method embodiment, and will not be repeated here.

[0255] As an example, combining Figure 4 The functions implemented by the acquisition unit 901 and the processing unit 902 in the data acquisition device 900 can be Figure 4 Processor 41 in the execution Figure 4 The program code in the memory 42 is implemented.

[0256] The present application also provides a chip system, such as Fig.10 As shown, the chip system 1000 includes at least one processor 1001 and at least one interface circuit 1002. As an example, when the chip system 1000 includes one processor and one interface circuit, the one processor may be Fig.10 The processor 1001 shown in the solid line frame (or the processor 1001 shown in the dotted line frame) may be Fig.10 The interface circuit 1002 shown in the solid line frame (or the interface circuit 1002 shown in the dotted line frame). When the chip system 1000 includes two processors and two interface circuits, the two processors include Fig.10 The processor 1001 shown in the solid line frame and the processor 1001 shown in the dotted line frame, the two interface circuits include Fig.10 The interface circuit 1002 shown in the solid line frame and the interface circuit 1002 shown in the dotted line frame are not limited to this.

[0257] The processor 1001 and the interface circuit 1002 can be interconnected via a line. For example, the interface circuit 1002 can be used to receive a signal. For another example, the interface circuit 1002 can be used to send a signal to another device (such as the processor 1001). Exemplarily, the interface circuit 1002 can read an instruction stored in a memory and send the instruction to the processor 1001. When the instruction is executed by the processor 1001, the data acquisition device can execute the various steps in the above embodiment. Of course, the chip system can also include other discrete devices, which is not specifically limited in the embodiment of the present application.

[0258] Exemplarily, the chip system can be a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a micro controller unit (MCU), a programmable logic device (PLD) or other integrated chips.

[0259] Exemplarily, the chip system can be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a microcontroller unit (MCU), a programmable logic device (PLD) or other integrated chips.

[0260] It should be understood that each step in the above method embodiment can be completed by an integrated logic circuit of hardware in a processor or by instructions in the form of software. The method steps disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware processor, or by a combination of hardware and software modules in a processor.

[0261] An embodiment of the present application also provides a computer-readable storage medium storing one or more computer programs, wherein the one or more computer programs include instructions, and when the instructions are executed by a computer, the computer executes the corresponding process of the data acquisition method in the above embodiment.

[0262] Computer-readable storage media include, but are not limited to, any of the following: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and other media that can store program codes.

[0263] In some embodiments, the disclosed methods may be implemented as computer program instructions encoded in a machine-readable format on a computer-readable storage medium or on other non-transitory media or articles of manufacture.

[0264] The embodiment of the present application also provides a computer program product. When the computer program product is run on a computer, the computer is enabled to execute the above-mentioned related steps to implement the data collection method in the above-mentioned embodiment.

[0265] In addition, an embodiment of the present application also provides a device, which can specifically be a chip, component or module, and the device may include a connected processor and memory; wherein the memory is used to store computer-executable instructions, and when the device is running, the processor can execute the computer-executable instructions stored in the memory so that the device executes the methods in the above-mentioned method embodiments.

[0266] Among them, the device, computer-readable storage medium, computer program product or chip provided in the embodiments of the present application are used to execute the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding methods provided above, and will not be repeated here.

[0267] The steps of the method or algorithm described in conjunction with the disclosure of the embodiments of the present application can be implemented in a hardware manner, or can be implemented by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in a random access memory (RAM), a flash memory, a read-only memory, an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a register, a hard disk, a mobile hard disk, a compact disc read-only memory (CD-ROM) or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor so that the processor can read information from the storage medium and can write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an application-specific integrated circuit (ASIC).

[0268] Through the description of the above implementation methods, those skilled in the art can clearly understand that for the convenience and simplicity of description, only the division of the above functional modules is used as an example. In practical applications, the above functions can be assigned to different functional modules as needed; that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. The specific working process of the system, device and unit described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.

[0269] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The various embodiments can be combined with each other or referenced to each other without conflict. The device embodiments described above are merely schematic. For example, the division of modules or units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0270] The units described as separate components may or may not be physically separated, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0271] 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.

[0272] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially 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, including several instructions to enable a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.

[0273] The above contents are only specific implementation methods of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A data collection method, characterized in that: include: Obtaining a first fault code, and determining a target process corresponding to the first fault code; Determine a scheduling delay corresponding to the target process, and adjust a first scheduling delay threshold of a system where the target process is located according to the scheduling delay corresponding to the target process to obtain a second scheduling delay threshold of the system; According to the second scheduling delay threshold, data is collected in which the scheduling delay during process scheduling in the system is greater than the second scheduling delay threshold.

2. The data collection method according to claim 1, characterized in that: Before adjusting the first scheduling delay threshold of the system where the target process is located according to the scheduling delay corresponding to the target process to obtain the second scheduling delay threshold of the system, the method further includes: According to the first scheduling delay threshold, the scheduling delay of the process in the system and the fault code corresponding to the process are collected to obtain a system scheduling event; Whether to adjust the first scheduling delay threshold is determined according to whether the system scheduling event includes the first fault code and / or the scheduling delay of the target process.

3. The data collection method according to claim 2, characterized in that: The first scheduling delay threshold comprises a preset scheduling delay threshold used in the first collection cycle of first acquiring a system scheduling event.

4. The data collection method according to claim 2 or 3, characterized in that: The determining whether to adjust the first scheduling delay threshold according to whether the system scheduling event includes the first fault code and / or the scheduling delay of the target process includes: If the system scheduling event acquired in the current acquisition period includes the first fault code and the scheduling delay of the target process, it is determined not to adjust the first scheduling delay threshold, and the first scheduling delay threshold is determined as the second scheduling delay threshold; or, If the system scheduling event acquired in the current collection cycle does not include the first fault code and / or the scheduling delay of the target process, it is determined to adjust the first scheduling delay threshold, and the second scheduling delay threshold used in the next collection cycle is obtained based on the first scheduling delay threshold.

5. The data collection method according to claim 4, characterized in that: The acquiring, according to the first scheduling delay threshold, the second scheduling delay threshold used in the next collection cycle includes: If the system scheduling event acquired in the current collection period does not include the first fault code and the scheduling delay of the target process, lowering the first scheduling delay threshold to obtain the second scheduling delay threshold used in the next collection period; or, If the system scheduling event acquired in the current collection cycle does not include the first fault code but includes the scheduling delay of the target process, then the first scheduling delay threshold is increased to obtain the second scheduling delay threshold used in the next collection cycle; or, If the system scheduling event acquired in the current collection cycle includes the first fault code but does not include the scheduling delay of the target process, the first scheduling delay threshold is lowered to obtain the second scheduling delay threshold used in the next collection cycle.

6. The data collection method according to claim 5, characterized in that: If the second scheduling delay threshold is greater than the first scheduling delay threshold, the method further includes: If the number of the system scheduling events acquired in the current collection period meets a preset condition, the scheduling delay of the process in the system and the fault code corresponding to the process are collected according to the second scheduling delay threshold in the next collection period; or, If the number of the system scheduling events acquired in the current collection period does not meet the preset condition, collecting the scheduling delay of the process in the system and the fault code corresponding to the process according to the first scheduling delay threshold in the next collection period; The preset condition is that the number of the system scheduling events acquired in the current acquisition cycle is greater than a preset ratio of the maximum storage capacity of the system scheduling events.

7. The data collection method according to any one of claims 4 to 6, characterized in that: When the second scheduling delay threshold is different from the first scheduling delay threshold, the method further includes: Delete the system scheduling events acquired in the current collection period.

8. The data collection method according to any one of claims 1 to 7, characterized in that: The method further comprises: The second scheduling delay threshold is stored, and the second scheduling delay threshold is determined as a preset scheduling delay threshold corresponding to the next collection behavior after the current collection behavior exits.

9. The data collection method according to any one of claims 1 to 8, characterized in that: The determining a target process corresponding to the first fault code includes: Acquire a fault tree, the fault tree comprising a plurality of fault codes, the plurality of fault codes including the first fault code; According to the fault tree, a target process corresponding to the first fault code is determined.

10. The data collection method according to claim 9, characterized in that: Determining the target process corresponding to the first fault code according to the fault tree includes: Determine, according to the fault tree, a process corresponding to the first fault code, the process being a target process; or, Determine, according to the fault tree, a process set corresponding to the first fault code, wherein the process set includes a plurality of processes; The process with the smallest centralized scheduling delay is determined as the target process.

11. A data acquisition device, characterized in that: include: A processor and a memory, wherein the memory is coupled to the processor, and the memory is used to store computer-readable instructions. When the processor reads the computer-readable instructions from the memory, the data acquisition device executes the method described in any one of claims 1 to 10.

12. A vehicle, characterized in that: The vehicle comprises the data acquisition device as claimed in claim 11 and a fault warning device, wherein the fault warning device is used to determine the first fault code.

13. A chip system, characterized in that: It includes at least one processor and at least one interface circuit, wherein the at least one interface circuit is used to perform transceiver functions and send instructions to the at least one processor, and the at least one processor executes the instructions, and the at least one processor executes the method as described in any one of claims 1-10.

14. A computer-readable storage medium, characterized in that: The computer-readable storage medium comprises a computer program, and when the computer program is run on a computer, the computer is caused to execute the method according to any one of claims 1 to 10.