Data storage method and related apparatus
By storing the parameter data of the drive-by-wire system in layers of different precision and storing high-precision data in the controller, combined with linear fitting technology, the problem of data loss after a vehicle collision in the drive-by-wire system is solved, reducing storage costs and increasing the likelihood of data survival.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- YINWANG INTELLIGENT TECHNOLOGIES CO LTD
- Filing Date
- 2024-11-29
- Publication Date
- 2026-06-04
AI Technical Summary
The transmission of data by the drive-by-wire system is interrupted after a vehicle collision, resulting in the loss of critical data. Existing storage methods are costly and easily damaged, making it difficult to guarantee the integrity and reliability of the data.
The parameter data of the drive-by-wire system is stored in layers of different precision. Low-precision data is stored inside the system, while high-precision data is stored in the controller. Linear fitting technology is used to recover lost data, reducing storage requirements and increasing the likelihood of data recovery.
It achieves a flexible match between data accuracy and storage component costs, reduces storage costs, and increases the likelihood of data survival after an accident, avoiding complete data unavailability.
Smart Images

Figure CN2024135898_04062026_PF_FP_ABST
Abstract
Description
A data storage method and related apparatus Technical Field
[0001] This application relates to the field of computer technology, and in particular to a data storage method and related apparatus. Background Technology
[0002] Due to the complexity of the interaction between the drive-by-wire system and the driver, the intelligent driving center, and the electronic stability control (ESC), the drive-by-wire system needs to record long-term operational information to fully reconstruct the system state before and after the malfunction, in order to restore the accident scene as much as possible and clarify the division of responsibility. Therefore, the data recorded by the drive-by-wire system has high data storage requirements.
[0003] Current drive-by-wire systems mostly employ internal recording and storage methods, meaning data is stored within the drive-by-wire system or the controller housing the control algorithm. However, this storage method requires a large internal storage space for the drive-by-wire system or domain controller, resulting in significant storage costs. Furthermore, drive-by-wire systems operate in harsh environments and are easily damaged in collisions. To ensure data safety after a collision, it's necessary to store data in components such as the controller as much as possible. However, the large amount of data generated by the drive-by-wire system adds a significant load to the existing vehicle network. Therefore, dedicated lines are needed to connect the drive-by-wire system to external storage devices for data transmission, which also increases storage costs.
[0004] In addition, the high acceleration impact generated after a vehicle collision may cause the bus and network interface between the drive-by-wire system and the external storage device to become loose, which may easily lead to the interruption of data transmission by the drive-by-wire system, resulting in the loss or unusability of critical data of the drive-by-wire system. The chances of the data of the drive-by-wire system surviving after an accident are low. Summary of the Invention
[0005] This application provides a data storage method and related apparatus. In this application, the parameter data of the wire control system is divided into multiple parts in the form of precision hierarchy. Parts with different precision are stored in different components, realizing a flexible match between data precision and storage component cost. This can reduce the cost required to store the data of the wire control system and increase the possibility of data survival of the wire control system after an accident.
[0006] Firstly, this application provides a data storage method. This method can be applied to a system including a drive-by-wire system, which includes a first storage unit or is connected to a first storage unit. The drive-by-wire system refers to a control system whose inputs and outputs satisfy the superposition principle, which includes one or more of the following: superposition property or homogeneity. In some embodiments, the input quantities of the drive-by-wire system are typically linearly related, and most components of the drive-by-wire system can be described by linear differential equations. For example, the drive-by-wire system can be a drive-by-wire steering system, a drive-by-wire braking system, or a drive-by-wire rear-wheel steering chassis system. As one possible implementation, the drive-by-wire system and the first controller can be located in the vehicle; for example, the drive-by-wire system can be a drive-by-wire steering system, and the first controller can be a domain controller.
[0007] In some cases, this method can be implemented by the system of the drive-by-wire system or a module (such as a chip, processor, or software module) within the system of the drive-by-wire system. For ease of description, the following explanation will take the drive-by-wire system as the execution subject.
[0008] The data storage method includes: obtaining first data and second data based on parameter data of the drive-by-wire system; storing the first data in a first storage unit; and sending the second data to a first controller so that the first controller stores the second data. The parameter data includes data for at least one parameter of the drive-by-wire system, which includes at least one of input parameters, output parameters, and state parameters of the drive-by-wire system operation. The first data provides a first precision for the parameter data, and the second data provides a second precision for the parameter data. The first precision is less than the second precision, and the sampling frequency of the first data is higher than the sampling frequency of the second data.
[0009] Optionally, the first controller is communicatively connected to the drive-by-wire system.
[0010] In this application, the parameter data of the drive-by-wire system is layered into first data and second data. The precision provided by the first data is lower than that provided by the second data. The drive-by-wire system internally (i.e., the first storage unit) only stores the first data, which provides lower precision, while sending the second data, which provides higher precision, to the first controller so that the first controller stores the second data. In other words, the parameter data of the drive-by-wire system is divided into multiple parts based on precision layering, with different precision parts stored in different components. This application allows for a flexible match between data precision and storage component costs, reducing data storage overhead and lowering the cost of storing the drive-by-wire system's data.
[0011] Furthermore, in this application, the drive-by-wire system internally stores only the first data, which provides lower precision for the parameter data. If the equipment including the drive-by-wire system malfunctions (e.g., a car accident occurs), and the data inside the drive-by-wire system becomes unavailable, the second data stored in the first controller can still provide higher precision for the parameter data. This application can avoid the situation where data becomes completely unavailable due to the loss of some components after an accident, increasing the likelihood of data surviving the drive-by-wire system after an accident.
[0012] In summary, this application not only enables a flexible match between data accuracy and storage component costs, reducing the cost required to store data in wired control systems, but also increases the likelihood of data surviving in wired control systems after an accident.
[0013] In one possible implementation of the first aspect, obtaining first data and second data based on parameter data of the drive-by-wire system includes: determining first linear information based on the parameter data of the drive-by-wire system, and determining first data based on the parameter data of the drive-by-wire system and a first linear relationship. The first linear information includes a first linear relationship parameter, which indicates the first linear relationship used to linearly fit the parameter data. The first data is the difference information between the parameter data and the fitted data of the first linear relationship. The second data includes a portion of the parameter data and the first linear information.
[0014] In the above embodiments, the parameter data is fitted by linear fitting. The drive-by-wire system only stores the difference information between the parameter data and the fitted data. Compared with the existing drive-by-wire system storing complete parameter data, this can effectively reduce the amount of data that the drive-by-wire system needs to store, reduce the data storage overhead of the drive-by-wire system, and reduce the cost required to store the data of the drive-by-wire system.
[0015] Furthermore, if the linear fitting curve has a high fitting accuracy, for example, 99%, and the data within the drive-by-wire system becomes unavailable after a vehicle accident, the missing parameter data in the second data can be interpolated using this curve, recovering 99% of the parameter data and providing 99% accuracy. Thus, this application can avoid situations where data becomes completely unavailable due to the loss of some components after an accident, increasing the likelihood of data recovery for the drive-by-wire system after an accident.
[0016] In another possible implementation of the first aspect, the parameter data of the drive-by-wire system includes first precision data and second precision data. The first precision data includes a first precision portion of the data for each of at least one parameter, and the second precision data includes a second precision portion of the data for each of at least one parameter. The precision provided by the first precision portion of the data for each parameter is higher than the precision provided by the second precision portion of the data for each parameter. Obtaining the first and second data based on the parameter data of the drive-by-wire system includes:
[0017] Based on the first-precision partial data, second linear information is determined. Based on the first-precision partial data and the second linear relationship, third data is determined. Based on the second-precision partial data, third linear information is determined. Based on the second-precision partial data and the third linear relationship, fourth data is determined. The second linear information includes a second linear relationship parameter, which indicates the second linear relationship used for linearly fitting the first-precision partial data. The third data is the difference between the fitted data of the first-precision partial data and the data from the second linear relationship. The third linear information includes a third linear relationship parameter, which indicates the third linear relationship used for linearly fitting the second-precision partial data. The fourth data is the difference between the fitted data of the second-precision partial data and the data from the third linear relationship. The first data includes the third and fourth data, and the second data includes partial data from the first-precision partial data, the second linear information, and the third linear information.
[0018] In the above embodiments, the first-precision portion and the second-precision portion of the parameter data can be linearly fitted separately. The drive-by-wire system only stores the difference information between the first-precision portion and the fitted data, and the difference information between the second-precision portion and the fitted data. Compared with the prior art drive-by-wire system storing complete parameter data, this application can effectively reduce the amount of data that the drive-by-wire system needs to store, reduce the data storage overhead of the drive-by-wire system, and reduce the cost required to store the data of the drive-by-wire system.
[0019] Furthermore, the drive-by-wire system sends a portion of the second data—comprising a portion of the first precision data that provides higher accuracy for the parameter data, and two linear information values obtained through linear fitting—to the first controller, enabling the first controller to store the second data. If a vehicle accident occurs and the data within the drive-by-wire system becomes unavailable, the second data stored in the first controller can still provide higher accuracy for the parameter data. This application avoids situations where data becomes completely unusable due to the loss of some components after an accident, increasing the likelihood of data surviving the drive-by-wire system after an accident.
[0020] Furthermore, if the curve fitting accuracy of the linear fitting is very high, for example, 99%, and if a vehicle accident occurs and the data inside the drive-by-wire system becomes unavailable, the second data can interpolate the missing parameter data in the first accuracy portion of the data using this curve, recovering 99% of the first accuracy portion of the data and providing 99% accuracy for the first accuracy portion. In this case, if the accuracy provided by the first accuracy portion of each parameter's data is very high, for example, 99.6%, then this application can provide 98.6% accuracy for the parameter data through linear fitting of the first accuracy portion of the data. Thus, this application can effectively avoid the situation where data becomes completely unavailable due to the loss of some components after an accident, increasing the likelihood of data surviving the drive-by-wire system after an accident.
[0021] In another possible implementation of the first aspect, the parameter data of the drive-by-wire system includes first precision data and second precision data. The first precision data includes a first precision portion of the data for each of at least one parameter, and the second precision data includes a second precision portion of the data for each of at least one parameter. The precision provided by the first precision portion of the data for each parameter is higher than the precision provided by the second precision portion of the data for each parameter. The first data includes the second precision data, and the second data includes the first precision data.
[0022] In the above embodiments, the first precision portion and the second precision portion of the parameter data can be stored in different components. Compared with the prior art, which stores all parameter data in one component, this application can achieve a flexible match between data precision and storage component cost, reduce the data storage overhead of the drive-by-wire system, and lower the cost required to store the data of the drive-by-wire system.
[0023] Furthermore, in this application, the drive-by-wire system only stores the second-precision data, which provides lower accuracy for the parameter data. If a vehicle accident occurs and the data inside the drive-by-wire system becomes unavailable, the first-precision data stored in the first controller can still provide higher accuracy for the parameter data. This application can avoid the situation where data becomes completely unavailable due to the loss of some components after an accident, increasing the likelihood of data surviving the drive-by-wire system after an accident.
[0024] For example, taking a 16-bit fixed-point number as the parameter data, with the decimal point located between the 8th and 9th bits, the first precision portion can be the high 8 bits of each parameter's data, meaning the high 8 bits represent the first precision part of the parameter's data. The second precision portion can be the low 8 bits of each parameter's data, meaning the low 8 bits represent the second precision part of the parameter's data. In this case, the high 8 bits represent 255 / 256 of the precision, while the low 8 bits represent only 1 / 256. The precision provided by the first precision portion of each parameter's data is higher than that provided by the second precision portion. Therefore, if the drive-by-wire system only stores the low 8 bits of each parameter's data, it can represent 1 / 256 of the parameter's precision, requiring only half the data size. Alternatively, if the first controller stores the high 8 bits of each parameter's data, it can represent 255 / 256 of the parameter's precision, requiring only half the data size. Thus, this application can achieve a flexible match between data accuracy and storage component cost, reduce data storage overhead of the wire control system, and lower the cost required to store data of the wire control system.
[0025] Furthermore, the first data stored internally in the drive-by-wire system in this application represents 1 / 256 precision of the parameter data. If a vehicle accident occurs and the data inside the drive-by-wire system becomes unavailable, the second data stored in the first controller represents 255 / 256 precision of the parameter data, still providing a high level of accuracy. This application can avoid the situation where data becomes completely unusable due to the loss of some components after an accident, increasing the likelihood of data surviving after an accident.
[0026] In another possible implementation of the first aspect, the drive-by-wire system is located in the vehicle, and the method further includes: after the vehicle is powered off, sending first data to a first controller so that the first controller stores the first data.
[0027] In the above embodiments, after the vehicle is powered off, the drive-by-wire system can transfer the first data to the first controller, thereby freeing up the local storage space inside the drive-by-wire system, avoiding insufficient storage space inside the drive-by-wire system due to the prohibition of deleting fault data, and also extending the storage time of the first data.
[0028] In another possible implementation of the first aspect, the amount of data in the first data is greater than the amount of data in the second data.
[0029] Typically, data is rolled over and deleted when storage space is nearly exhausted, with the data furthest from the current time being completely deleted. In this application, the parameter data of the drive-by-wire system is layered into first data and second data. The sampling frequency of the first data is higher than that of the second data. Therefore, the data furthest from the current time is the first data stored internally by the drive-by-wire system. Moreover, since the amount of first data is usually greater than that of second data, the first data stored internally by the drive-by-wire system will be deleted more quickly, and the second data stored in the first controller will be stored for a longer period than the first data. In this way, while meeting the accuracy requirements of regulations, the drive-by-wire system can store only the data up to the instant of the accident, and the data stored in the controller can be stored for the duration required by regulations. This method can further reduce the storage overhead of the drive-by-wire system, reduce the cost of storing the data, and extend the data storage duration beyond the regulatory requirements at a lower cost.
[0030] Secondly, this application provides yet another data storage method, the method comprising: receiving second data from a drive-by-wire system, storing the second data, and sending fifth data to a recording device, such that the recording device stores the fifth data, the fifth data being a portion of the second data, and the data sampling frequency corresponding to the second data being higher than the data sampling frequency corresponding to the fifth data. The second data is obtained based on parameter data from the drive-by-wire system, the parameter data including data for at least one parameter of the drive-by-wire system, the at least one parameter including at least one of input parameters, output parameters, and state parameters of the drive-by-wire system operation; the second data provides a second precision for the parameter data, the second precision being a partial precision of the parameter data.
[0031] Optionally, the method is applied to a first controller, which is communicatively connected to a wired control system and a recording device.
[0032] Optionally, the drive-by-wire system and the first controller may be located in the vehicle; for example, the drive-by-wire system may be a steer-by-wire system, and the first controller may be a domain controller.
[0033] In one possible implementation of the second aspect, the second data includes a portion of the parameter data and first linear information, the first linear information including a first linear relationship parameter, the first linear relationship parameter being used to indicate the first linear relationship used for linear fitting of the parameter data, and the fifth data including a portion of the partial data and the first linear information.
[0034] In another possible implementation of the second aspect, the parameter data of the drive-by-wire system includes first precision data and second precision data. The first precision data includes a first precision portion of the data for each of at least one parameter, and the second precision data includes a second precision portion of the data for each of at least one parameter. The precision provided by the first precision portion of the data for each parameter is higher than the precision provided by the second precision portion of the data for each parameter. The second data includes a portion of the first precision data, second linearity information, and third linearity information. The second linearity information includes a second linearity parameter indicating the second linearity relationship used for linearly fitting the first precision data. The third linearity information includes a third linearity parameter indicating the third linearity relationship used for linearly fitting the second precision data. The fifth data includes a portion of the first precision data, the second linearity information, and the third linearity information.
[0035] In another possible implementation of the second aspect, the parameter data of the drive-by-wire system includes first precision portion data and second precision portion data. The first precision portion data includes a first precision portion of the data for each of at least one parameter, and the second precision portion data includes a second precision portion of the data for each of at least one parameter. The precision provided by the first precision portion of the data for each parameter is higher than the precision provided by the second precision portion of the data for each parameter. The second data includes the first precision portion data, and the fifth data includes a portion of the data in the first precision portion data.
[0036] In another possible implementation of the second aspect, storing the second data includes: determining fourth linear information based on the first precision partial data; determining sixth data based on the first precision partial data and the fourth linear relationship; and storing the sixth data. The fourth linear information includes a fourth linear relationship parameter, which indicates the fourth linear relationship used for linearly fitting the first precision partial data. The sixth data includes the difference information between the first precision partial data and the fitted data of the second linear relationship, and the fourth linear information.
[0037] In the above embodiments, after receiving all the second data, i.e. the first precision part data, the first controller can first fit the first precision part data by linear fitting. The first controller only stores the difference information between the first precision part data and the fitted data and the linear information of the linear fitting of the first precision part data. This can effectively reduce the amount of data that the first controller needs to store, reduce the data storage overhead of the first controller, and reduce the cost required to store the data of the drive-by-wire system.
[0038] In another possible implementation of the second aspect, the first controller includes or is connected to a second storage unit to store second data, including: storing the second data through the second storage unit.
[0039] In the above embodiments, the first controller can completely store the second data through its internal storage unit or a storage unit connected to the first controller.
[0040] In another possible implementation of the second aspect, the first controller is communicatively connected to the second controller, the second data includes a first part of data and a second part of data, and storing the second data includes: storing the first part of data and sending the second part of data to the second controller so that the second controller stores the second part of data.
[0041] In the above embodiments, the first controller can store a portion of the second data and send the other portion of the data to other controllers for storage, thereby storing the second data separately among different controllers and further reducing the storage space requirement of a single controller.
[0042] In another possible implementation of the second aspect, the drive-by-wire system is located in the vehicle, and the method further includes:
[0043] The system receives first data from the drive-by-wire system. The first data is sent after the vehicle is powered off. The first data is obtained based on the parameter data. The first data provides a first level of precision for the parameter data. The first level of precision is less than the second level of precision. The data sampling frequency corresponding to the first data is higher than the data sampling frequency corresponding to the second data.
[0044] In another possible implementation of the second aspect, the amount of data in the first data is greater than the amount of data in the second data, and the amount of data in the second data is greater than the amount of data in the fifth data.
[0045] Regarding the data storage method described in the second aspect and any possible implementation, the steps of its execution can be referred to the corresponding implementations in the first aspect.
[0046] For the technical effects of the second aspect and any possible implementation, please refer to the description of the technical effects corresponding to the first aspect and the corresponding implementation.
[0047] Thirdly, this application provides a processing apparatus, which is communicatively connected to a first controller, and the processing apparatus includes:
[0048] The processing unit is configured to obtain first data and second data based on the parameter data of the drive-by-wire system. The parameter data includes data for at least one parameter of the drive-by-wire system, where the at least one parameter includes input parameters and / or output parameters. The first data provides a first precision for the parameter data, and the second data provides a second precision for the parameter data. The first precision is less than the second precision, and the sampling frequency of the first data is higher than the sampling frequency of the second data.
[0049] The transceiver unit is used to send second data to the first controller so that the first controller stores the second data.
[0050] The processing device includes or is connected to a first storage unit, the first storage unit being used to store first data.
[0051] In another possible implementation of the third aspect, the processing unit is further configured to determine first linear information based on the parameter data of the drive-by-wire system, and to determine first data based on the parameter data and the first linear relationship of the drive-by-wire system. The first linear information includes a first linear relationship parameter, which indicates the first linear relationship used to linearly fit the parameter data. The first data is the difference information between the parameter data and the fitted data of the first linear relationship. The second data includes a portion of the parameter data and the first linear information.
[0052] In another possible implementation of the third aspect, the parameter data of the drive-by-wire system includes first precision data and second precision data. The first precision data includes the first precision portion of the data for each parameter in the data of at least one parameter, and the second precision data includes the second precision portion of the data for each parameter in the data of at least one parameter. The precision provided by the first precision portion of the data for each parameter is higher than the precision provided by the second precision portion of the data for each parameter. The processing unit is further configured to determine second linear information based on the first precision data, determine third data based on the first precision data and the second linear relationship, determine third linear information based on the second precision data, and determine fourth data based on the second precision data and the third linear relationship. The second linear information includes a second linear relationship parameter, which indicates the second linear relationship used for linearly fitting the first precision data. The third data is the difference information between the fitted data of the first precision data and the second linear relationship. The third linear information includes a third linear relationship parameter, which indicates the third linear relationship used for linearly fitting the second precision data. The fourth data is the difference information between the fitted data of the second precision data and the third linear relationship. The first data includes the third and fourth data, and the second data includes a portion of the first precision data, the second linear information, and the third linear information.
[0053] In another possible implementation of the third aspect, the parameter data of the drive-by-wire system includes first precision data and second precision data. The first precision data includes a first precision portion of the data for each parameter in the data of at least one parameter, and the second precision data includes a second precision portion of the data for each parameter in the data of at least one parameter. The precision provided by the first precision portion of the data for each parameter is higher than the precision provided by the second precision portion of the data for each parameter. The first data includes the second precision data, and the second data includes the first precision data.
[0054] In another possible implementation of the third aspect, the transceiver unit is further configured to send first data to the first controller after the vehicle is powered off, so that the first controller stores the first data.
[0055] In another possible implementation of the third aspect, the amount of data in the first data is greater than the amount of data in the second data.
[0056] The steps performed by the various units described in the third aspect and any possible implementation can be referred to the corresponding implementations in the first aspect.
[0057] For the technical effects of the third aspect and any possible implementation, please refer to the description of the technical effects corresponding to the first aspect and the corresponding implementation.
[0058] Fourthly, this application provides yet another processing device, which is communicatively connected to a wired control system and to a recording device. The processing device includes:
[0059] Transceiver unit, used for:
[0060] Receive second data from the drive-by system, the second data being obtained based on parameter data of the drive-by system, the parameter data including data of at least one parameter of the drive-by system, the at least one parameter including at least one of input parameters, output parameters and state parameters of the drive-by system operation, the second data providing a second precision for the parameter data, the second precision being a partial precision of the parameter data;
[0061] Send the fifth data to the recording device so that the recording device stores the fifth data, which is a part of the second data, and the sampling frequency of the second data is higher than the sampling frequency of the fifth data.
[0062] Storage unit, used to store secondary data.
[0063] In one possible implementation of the fourth aspect, the second data includes a portion of the parameter data and first linear information, the first linear information including a first linear relationship parameter, the first linear relationship parameter being used to indicate the first linear relationship used for linear fitting of the parameter data, and the fifth data including a portion of the partial data and the first linear information.
[0064] In another possible implementation of the fourth aspect, the parameter data of the drive-by-wire system includes first precision data and second precision data. The first precision data includes a first precision portion of the data for each parameter in the data of at least one parameter, and the second precision data includes a second precision portion of the data for each parameter in the data of at least one parameter. The precision provided by the first precision portion of the data for each parameter is higher than the precision provided by the second precision portion of the data for each parameter. The second data includes a portion of the first precision data, second linear information, and third linear information. The second linear information includes a second linear relationship parameter, which indicates the second linear relationship used for linearly fitting the first precision data. The third linear information includes a third linear relationship parameter, which indicates the third linear relationship used for linearly fitting the second precision data. The fifth data includes a portion of the partial data, second linear information, and third linear information.
[0065] In another possible implementation of the fourth aspect, the parameter data of the drive-by-wire system includes a first precision portion of data and a second precision portion of data. The first precision portion of data includes a first precision portion of the data for each of at least one parameter, and the second precision portion of data includes a second precision portion of the data for each of at least one parameter. The precision provided by the first precision portion of the data for each parameter is higher than the precision provided by the second precision portion of the data for each parameter. The second data includes the first precision portion of data.
[0066] In another possible implementation of the fourth aspect, the processing apparatus further includes a processing unit configured to determine fourth linear information based on the first precision partial data, and to determine sixth data based on the first precision partial data and the fourth linear relationship. A storage unit is further configured to store the sixth data. The fourth linear information includes a fourth linear relationship parameter, which indicates the fourth linear relationship used for linearly fitting the first precision partial data. The sixth data includes difference information between the first precision partial data and the fitted data of the second linear relationship, and the fourth linear information.
[0067] In another possible implementation of the fourth aspect, the second data includes a first part of data and a second part of data, the processing device is communicatively connected to the second controller, the storage unit is also used to store the first part of data, and the transceiver unit is also used to send the second part of data to the second controller so that the second controller stores the second part of data.
[0068] In another possible implementation of the fourth aspect, the transceiver unit is further configured to receive first data from the drive-by-wire system, the first data being sent after the vehicle is powered off, the first data being obtained based on parameter data, the first data providing a first precision to the parameter data, the first precision being less than a second precision, and the data sampling frequency corresponding to the first data being higher than the data sampling frequency corresponding to the second data.
[0069] In another possible implementation of the fourth aspect, the amount of data in the first data is greater than the amount of data in the second data, and the amount of data in the second data is greater than the amount of data in the fifth data.
[0070] The steps for performing each unit described in the fourth aspect and any possible implementation can be referred to the corresponding implementation in the second aspect.
[0071] Regarding the technical effects of the fourth aspect and any possible implementation, refer to the description of the technical effects corresponding to the second aspect and the corresponding implementation.
[0072] Fifthly, embodiments of this application provide a wired control system connected to a controller. The wired control system includes a processor and a memory, the memory storing a program. The processor executes the program stored in the memory to enable the wired control system to implement the method described in any of the first aspects above.
[0073] In a sixth aspect, embodiments of this application provide a controller connected to a drive-by-wire system. The controller includes a processor and a memory, the memory storing a program. The processor executes the program stored in the memory to enable the controller to implement the method described in any of the second aspects above.
[0074] In a seventh aspect, this application provides a vehicle including the aforementioned drive-by-wire system and the aforementioned controller, wherein the drive-by-wire system is communicatively connected to the controller, and the vehicle is used to implement the method described in any of the first or second aspects.
[0075] Eighthly, embodiments of this application provide a computer-readable storage medium for storing a computer program, the computer program including instructions for performing the methods described in any of the first or second aspects.
[0076] Ninthly, this application provides a computer program product including computer instructions that, when executed by a processing device, a wire-controlled system, a controller, or a processor, cause the methods described in any of the first or second aspects to be implemented.
[0077] The solutions provided in aspects five through nine above are used to implement or cooperate with the methods provided in aspects one or two above, and therefore can achieve the same or corresponding beneficial effects as aspect one, which will not be elaborated here. Attached Figure Description
[0078] The accompanying drawings used in the description of the embodiments will be briefly introduced below.
[0079] Figure 1 is a schematic diagram of the architecture of a vehicle provided in an embodiment of this application;
[0080] Figure 2 is a schematic diagram of the architecture of a vehicle network provided in an embodiment of this application;
[0081] Figure 3 is a flowchart illustrating a data storage method provided in an embodiment of this application;
[0082] Figure 4 is a schematic diagram of linear fitting parameter data provided in an embodiment of this application;
[0083] Figure 5 is a schematic diagram of another linear fitting parameter data provided in an embodiment of this application;
[0084] Figure 6 is a schematic diagram of another linear fitting parameter data provided in an embodiment of this application;
[0085] Figure 7 is a schematic diagram of data storage provided in an embodiment of this application;
[0086] Figure 8 is a schematic diagram of a data storage duration provided in an embodiment of this application;
[0087] Figure 9 is a schematic diagram of a processing device provided in an embodiment of this application;
[0088] Figure 10 is a schematic diagram of another processing device provided in an embodiment of this application;
[0089] Figure 11 is a schematic diagram of a wire control system provided in an embodiment of this application;
[0090] Figure 12 is a schematic diagram of the structure of a controller provided in an embodiment of this application. Detailed Implementation
[0091] The following section provides an exemplary description of the systems and scenarios in which this application may be applied. It should be noted that the system architecture and business scenarios described in this application are for the purpose of more clearly illustrating the technical solutions of this application and do not constitute a limitation on the technical solutions provided in this application. Those skilled in the art will understand that, with the evolution of system architecture and the emergence of new business scenarios, the technical solutions provided in this application are equally applicable to similar technical problems.
[0092] Please refer to Figure 1, which is a schematic diagram of a vehicle architecture provided in an embodiment of this application. The vehicle 10 includes a drive-by-wire system 101 and a controller 102. Of course, the vehicle 10 also includes devices that support vehicle control, such as a braking system, etc., which are not described in detail here. It should be understood that the type of vehicle shown here is only an example. In specific implementations, the vehicle 10 can be different types of vehicles such as automobiles, trucks, trains, buses, vans, and electric vehicles.
[0093] The various devices included in the vehicle 10 in Figure 1 are described below by way of example:
[0094] The drive-by-wire system 101 has data acquisition and data processing capabilities. Specifically, the drive-by-wire system 101 refers to a control system whose inputs and outputs satisfy the superposition principle. The superposition principle includes one or more of the following: superposition property, homogeneity, etc. Optionally, the input quantities of the drive-by-wire system 101 are typically linearly related, and most components of the drive-by-wire system 101 can be described by linear differential equations. For example, the drive-by-wire system 101 can be a drive-by-wire steering system, a drive-by-wire braking system, or a drive-by-wire rear-wheel steering chassis system.
[0095] Optionally, the data processing capability of the drive-by-wire system can be provided by a module with data processing capability in the drive-by-wire system, such as a chip or processor (described below).
[0096] For example, the steer-by-wire system 101 can obtain first data and second data based on the parameter data of the steer-by-wire system 101. The parameter data includes data for at least one parameter of the steer-by-wire system 101, which includes at least one of input parameters, output parameters, and operational state parameters of the steer-by-wire system 101. For example, taking a steer-by-wire system 101 as a steer-by-wire system, the parameter data includes parameters such as the steering angle, torque, feel torque, steering response angle, motor torque, and quadrature axis (Q-axis) / direct axis (D-axis) current input by the driver. The first data provides a first level of accuracy for the parameter data, and the second data provides a second level of accuracy for the parameter data; the first accuracy is less than the second accuracy. For example, the first data provides 1% accuracy for the parameter data, and the second data provides 99% accuracy for the parameter data; that is, the first accuracy is 1% and the second accuracy is 99%. Since accuracy represents the degree of closeness between the observed value and the true value, the second data is 99% close to the parameter data, and the first data is 1% close to the parameter data. The sampling frequency of the first data is higher than that of the second data. The sampling frequency of a drive-by-wire system is typically higher than that of the controller; for example, the drive-by-wire system may sample at a period of 1 ms, while the controller may sample at a period of 10 ms. Optionally, the sampling frequency of the first data is the same as that of the drive-by-wire system, and the sampling frequency of the second data is the same as that of the controller.
[0097] In some regions, due to regulatory requirements, the drive-by-wire system 101 needs to send a large amount of data during operation to a storage device. This storage device typically needs to be directly connected to the drive-by-wire system 101 via a line to store the data directly, avoiding excessive load on the vehicle network. In this embodiment, the storage device includes the storage space of the drive-by-wire system 101 and the storage space of the controller 102.
[0098] Optionally, the drive-by-wire system 101 and the controller 102 are connected via a vehicle network.
[0099] The vehicle network provided in this embodiment is described below with reference to Figure 2. As shown in Figure 2, the vehicle network includes a drive-by-wire system, a first domain controller, a second domain controller, an event data recorder (EDR) and other data recorders, an automated driving data storage system (DSSAD), a vehicle controller, a mobile data center (MDC), and corresponding telematics control units (TBOX). This vehicle network typically connects components such as the EDR and TBOX via a controller area network (CAN) or Ethernet network. While there are numerous devices, the network bandwidth is limited. The first and second domain controllers are interconnected, and the number of drive-by-wire systems and domain controllers can be even greater; no limitation is imposed here. Optionally, the receiving end of the TBOX can have a cloud data storage center. The storage of each component in the vehicle network can be layered according to the network topology, resulting in four levels: actuators, domain controllers, data recording devices such as the EDR, and the cloud. The data security levels of these four layers, from lowest to highest, are: actuators of the wire-controlled system, domain controllers, data recording devices such as EDRs, and the cloud. Large amounts of data generated within the wire-controlled system are uploaded layer by layer along this path, at which point the available network bandwidth decreases progressively.
[0100] For example, taking a steer-by-wire system as an example, the steer-by-wire system includes upward steering and downward steering. The upward steering is responsible for acquiring the steering angle input by the driver, and the downward steering is responsible for turning the wheels to the corresponding steering angle, thereby controlling the steering of the entire vehicle. The steer-by-wire system sends its own parameter data to the vehicle network at a typical period of 10ms, so that other domain controllers can receive the parameter data of the steer-by-wire system, which can then be used by other control algorithms of the vehicle that require steering status.
[0101] Optionally, in this embodiment, the controller 102 or domain controller can be located near the vehicle's armrest, under the second-row seats, under the rear seats, etc., without limitation. In this case, the EDR obtains and stores basic information on a minute-by-minute basis. The TBOX obtains very basic information on a minute-by-minute basis and sends it to the cloud server.
[0102] For example, the drive-by-wire system 101 and the controller 102 are connected via a vehicle network, such as through a CAN bus or Ethernet communication connection. For example, the drive-by-wire system 101 can send second data to the controller 102. Correspondingly, the controller 102 can receive the second data from the drive-by-wire system 101.
[0103] In one possible implementation, the remote control system 101 also has data storage capabilities. For example, the remote control system 101 includes a first storage unit or the remote control system 101 is connected to a first storage unit. Exemplarily, the remote control system 101 can store first data through the first storage unit, whereby the first storage unit can be considered as the storage space of the remote control system 101.
[0104] Optionally, the controller 102 has data processing and data storage capabilities. For example, the controller 102 can be the first domain controller or the second domain controller shown in Figure 2, such as the domain controller where the control algorithm that requires parameter data from the drive-by-wire system 101 resides. Optionally, the controller 102 may include a second storage unit or be connected to a second storage unit. The controller 102 can store second data through the second storage unit, in which case the second storage unit can be considered as the storage space of the controller 102.
[0105] As one possible implementation, both the drive-by-wire system 101 and the controller 102 can be physical devices. For example, both the drive-by-wire system 101 and the controller 102 can include one or more of the following modules: a central processing unit (CPU), a microprocessor unit (MPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), a coprocessor (assisting the central processing unit in completing corresponding processing and applications), a microcontroller unit (MCU), a mobile data center (MDC), and / or an electronic control unit (ECU), a cockpit domain controller (CDC), a vehicle integrated / integration unit (VIU), etc. Furthermore, the processing device includes at least one processor integrated in the form of a system-on-chip (SOC), which is commonly referred to as an SOC by those skilled in the art. The SOC may include at least one processor, and when the SOC includes multiple processors, the types of processors can be different. In addition, a processor can also be a hardware circuit designed for artificial intelligence, which can be understood as a type of ASIC, such as a neural network processing unit (NPU), a tensor processing unit (TPU), a deep learning processing unit (DPU), etc.
[0106] Due to the complexity of the interaction between the drive-by-wire system and humans, the intelligent driving center, and the chassis ESC, the drive-by-wire system needs to record long-term operational information to fully reconstruct the system state before and after a malfunction, in order to restore the accident scene as much as possible and clarify the division of responsibility. Therefore, the data recorded by the drive-by-wire system has high data storage requirements. If an internal recording storage method is adopted, storing the data inside the drive-by-wire system or the controller where the control algorithm is located requires a large internal storage space for the drive-by-wire system or domain controller, resulting in high storage costs. Moreover, the drive-by-wire system itself operates in a harsh environment and is easily damaged after a collision. To ensure the safety of the data after a collision, it is necessary to store the data in components such as the controller as much as possible. However, since the large amount of data generated by the drive-by-wire system itself will add a significant load to the existing vehicle network, a dedicated line is needed to connect the drive-by-wire system to an external storage device to complete the data transmission, which also increases storage costs. In addition, the high acceleration impact generated after a vehicle collision may cause the bus and network interfaces for data transmission between the drive-by-wire system and the external storage device to loosen, which can easily lead to the interruption of data transmission by the drive-by-wire system, resulting in the loss or unusability of critical data from the drive-by-wire system. The chances of the data from the drive-by-wire system surviving after an accident are low.
[0107] In view of this, embodiments of this application provide a data storage method and related apparatus. In this embodiment, the parameter data of the drive-by-wire system 101 is layered to obtain first data and second data, where the precision provided by the first data for the parameter data is less than the precision provided by the second data. The drive-by-wire system 101 internally (i.e., the first storage unit) only stores the first data that provides lower precision for the parameter data, and sends the second data that provides higher precision for the parameter data to the controller 102 so that the controller 102 stores the second data. That is, the parameter data of the drive-by-wire system 101 is divided into multiple parts in the form of precision layering, and parts of different precision are stored in different components. Embodiments of this application can achieve flexible matching between data precision and storage component costs, reduce the data storage overhead of the drive-by-wire system 101, and reduce the cost required to store the data of the drive-by-wire system 101.
[0108] Furthermore, in this application, the drive-by-wire system 101 only stores first data that provides lower precision for parameter data. If the vehicle 10 is involved in an accident, the data inside the drive-by-wire system 101 becomes unavailable, but the second data stored in the controller 102 can still provide higher precision for the parameter data. This application can avoid the situation where data becomes completely unavailable due to the loss of some components after an accident, increasing the possibility of data surviving after an accident.
[0109] In summary, the embodiments of this application can not only achieve a flexible match between data accuracy and storage component cost, reducing the cost required to store data in the wired control system, but also increase the likelihood of data survival in the wired control system after an accident.
[0110] The methods of the embodiments of this application will be described in detail below.
[0111] Please refer to Figure 3, which is a schematic flowchart of a data storage method provided in an embodiment of this application. Optionally, this method can be applied to a vehicle, such as the vehicle 10 shown in Figure 1, and can be executed by the drive-by-wire system 101 and controller 102 in the vehicle 10. Further, this method can be applied to a vehicle network, such as the vehicle network shown in Figure 2, and can be executed by the drive-by-wire system and a first domain controller or a second domain controller in the vehicle network.
[0112] The data storage method shown in Figure 3 may include steps S301-S305. Steps S301-S305 are detailed below:
[0113] Step S301: The drive-by-wire system obtains the first data and the second data based on the parameter data of the drive-by-wire system.
[0114] The drive-by-wire system has data acquisition and processing capabilities. Optionally, the drive-by-wire system can be located in a vehicle. For example, the drive-by-wire system can be drive-by-wire system 101 in vehicle 10 shown in Figure 1. Optionally, the input quantities of the drive-by-wire system are generally linearly related, and most components of the drive-by-wire system can be described by linear differential equations. For example, the drive-by-wire system can be a drive-by-wire steering system, a drive-by-wire braking system, or a drive-by-wire rear-wheel steering chassis system.
[0115] The parameter data includes data for at least one parameter of the steer-by-wire system, which includes at least one of the following: input parameters, output parameters, and operational status parameters of the steer-by-wire system. For example, taking a steer-by-wire system as an example, the parameter data includes parameters such as the driver-input steering angle, torque, feel torque, steering response angle, motor torque, and motor quadrature axis (Q-axis) / direct axis (D-axis) current.
[0116] The first data and the second data differ in their information content. For example, the first data may contain different data than the second data, or the precision provided by the first data for the parameter data may differ from the precision provided by the second data for the parameter data. As one possible implementation, the first data provides a first precision to the parameter data, and the second data provides a second precision, where the first precision is less than the second precision. For instance, the first data provides 1% precision to the parameter data, and the second data provides 99% precision; that is, the first precision is 1%, and the second precision is 99%. Since precision represents how close the observed value is to the true value, this means the second data is 99% close to the parameter data, while the first data is 1% close.
[0117] The sampling frequency of the first data is higher than that of the second data. The sampling frequency of a drive-by-wire system is typically higher than that of the controller; for example, the drive-by-wire system may sample at a period of 1 ms, while the controller may sample at a period of 10 ms. Optionally, the sampling frequency of the first data is the same as that of the drive-by-wire system, and the sampling frequency of the second data is the same as that of the controller.
[0118] Optionally, the drive-by-wire system may obtain the first and second data based on its parameter data in various ways. For example, the drive-by-wire system may layer the parameter data according to precision, obtaining data versions with different amounts of information, namely the first and second data. For example, the precision layering of high-frequency data generated internally by the drive-by-wire system can be defined jointly in terms of data recording precision and frequency, referring to a lossy data compression algorithm. For instance, based on the data transmitted externally, the drive-by-wire system may compress the parameter data using methods such as downsampling, variable recording frequency, reducing storage bit width, storing control points and first- and second-order fitting parameters between low-frequency data points, and recording differential data to obtain the first and second data.
[0119] The following description uses a steer-by-wire system as an example, where the steer-by-wire system stratifies parameter data into first data and second data according to accuracy, to illustrate the embodiments of this application.
[0120] For example, the steer-by-wire system is a steer-by-wire system. The parameters of the steer-by-wire system include the steering angle input by the driver, torque, feel torque, steering response angle, motor torque, and motor quadrature axis (Q-axis) / direct axis (D-axis) current. If the steer-by-wire system samples at a 1ms cycle and stores these six parameters using 16-bit fixed-point data, based on an 8-hour storage time, storing these six typical parameters would require approximately 2636.72MB of storage space.
[0121] As one possible implementation, the drive-by-wire system can compress the parameter data based on the system's parameter data through linear fitting to obtain first data and second data. For example, the drive-by-wire system stores the control points between data points and the first and second order fitting parameters of the linear fit, records the difference data, and compresses the parameter data to obtain first data and second data.
[0122] Specifically, the drive-by-wire system can determine first linear information based on its parameter data, and determine first data based on the parameter data and the first linear relationship. The first linear information includes a first linear relationship parameter, which indicates the first linear relationship used to linearly fit the parameter data. The first data is the difference information between the parameter data and the fitted data of the first linear relationship. The second data includes a portion of the parameter data and the first linear information.
[0123] For example, the drive-by-wire system samples at a 1ms period. Since the drive-by-wire system typically transmits data externally at a 10ms period, the data transmitted externally is only 1 / 10 of the original data. If the drive-by-wire system does not store this transmitted data, the storage space required by the drive-by-wire system can be reduced to 90% of the original parameter data. Based on this, the information difference between the transmitted data and the parameter data can be used to further compress the data that the drive-by-wire system needs to store. For example, to ensure consistency between the 1ms and 10ms period sampling, the drive-by-wire system can use linear fitting, at the cost of one or more linear relationship parameters included in the first linear relationship parameter, to fit the 8 missing data points in the 1ms and 1ms period sampling to obtain the first linear information. In this way, this application can reduce the amount of data transmitted externally by the drive-by-wire system while ensuring high fitting accuracy, thus ensuring a stable CAN network load level.
[0124] Optionally, this application embodiment does not limit the number of linear relationship parameters required for the linear fitting parameter data. In specific implementation, the number of linear relationship parameters required for the linear fitting parameter data can be flexibly set according to the specific requirements for fitting accuracy.
[0125] For example, a drive-by-wire system uses two linear relationship parameters to fit eight missing data points from sampling with a period of 10ms and a period of 1ms. In this case, the data transmitted by the drive-by-wire system, i.e., the second data, is only about 3 / 10 of the original parameter data, i.e., 791MB, which is about 30% of the parameter data. Assuming that the curve fitting accuracy of the first linear relationship of the linear fitting parameter data is 99%, the second data provides 99% accuracy.
[0126] Furthermore, the drive-by-wire system determines the first data based on its parameter data and the first linear relationship. For example, the drive-by-wire system determines the difference between the fitted data of the first linear relationship of the linear fitting parameter data and the parameter data, i.e., the first data. For instance, assuming the curve fitting accuracy of the first linear relationship of the linear fitting parameter data is 99%, since the maximum value that a 16-bit fixed-point number can represent is 2... 15 -1, which is 32767. 1% of 32767 is 327.67. 2 9 Since the value is 512, the maximum difference between the fitted data and the parameter data only requires 9 bits to represent. That is, the maximum amount of data that the drive-by-wire system needs to store is 9 / 16 of the original parameter data, or 1483.16MB. Thus, the drive-by-wire system can reduce the storage space requirement to about 56% of the parameter data, while providing only 1% accuracy.
[0127] For example, as shown in Figure 4, the drive-by-wire system samples at a period of 1ms, collecting 20 data points within 20ms. The 20 circles formed by solid lines in Figure 4 represent these 20 data points. The drive-by-wire system transmits data externally at a period of 10ms, so the data transmitted externally consists of two data points from these 20 data points. For example, the two black circles in Figure 4 represent these two data points transmitted externally by the drive-by-wire system. The drive-by-wire system obtains a first straight line by linearly fitting the 10 data points collected in the first 10ms period, and a second straight line by linearly fitting the 10 data points collected in the second 10ms period. For these 20 data points, the first data stored internally by the drive-by-wire system includes the difference between each of the 10 data points in the first 10ms period and the corresponding fitted data point on the first straight line, and the difference between each of the 10 data points in the second 10ms period and the corresponding fitted data point on the second straight line. The second data transmitted by the drive-by-wire system includes two data points represented by the two black-filled circles in Figure 4, a first straight line, and a second straight line. The first and second straight lines can be stored using linear relationship parameters.
[0128] For example, Figure 4 uses the second data point in the first 10ms period (the first circle filled with white solid lines) as an example. The fitted data point corresponding to this second data point in the first 10ms period on the first straight line is the circle filled with white dashed lines. The difference between the second data point in the first 10ms period and the corresponding fitted data point on the first straight line is the difference of 1 shown in Figure 4. The difference information for other data points is similar, and will not be illustrated here.
[0129] Optionally, when the drive-by-wire system linearly fits the parameter data, the resulting linear relationship can also be a curve. As shown in Figure 5, the drive-by-wire system samples at a period of 1ms, collecting 10 data points within 10ms. These 10 data points are represented by 10 circles in Figure 5. When the drive-by-wire system linearly fits these 10 data points, the resulting linear relationship is the first curve. For these 10 data points, the first data stored internally by the drive-by-wire system includes the difference between each of the 10 data points within these 10ms and the corresponding fitted data point on the first curve. The second data transmitted externally by the drive-by-wire system includes the data point represented by the black-filled circle in Figure 5 and the first curve. The first curve can be stored using linear relationship parameters.
[0130] Optionally, the second data transmitted externally by the drive-by-wire system may not include parameter data; that is, the second data transmitted externally by the drive-by-wire system may not include the original data collected by the drive-by-wire system. The second data may include control data points, which are control points on the first linear relationship used for linear fitting of the parameter data. As shown in Figure 6, the drive-by-wire system samples at a period of 1ms, collecting 10 data points within 10ms. In Figure 6, the 10 circles filled with white solid lines represent the 10 data points. When the drive-by-wire system linearly fits these 10 data points, the resulting linear relationship is the second curve. For these 10 data points, the first data stored internally by the drive-by-wire system includes the difference between each of the 10 data points within these 10ms and the corresponding fitted data point on the first curve. The second data transmitted externally by the drive-by-wire system includes one control data point represented by the circle filled with white dashed lines in Figure 6 and the second curve. Optionally, the control data point can be any control point on the second curve, or any fitted data point on the second curve corresponding to any of the 10 data points. The second curve can be stored using linear relationship parameters.
[0131] As another possible implementation, the drive-by-wire system can compress the parameter data by reducing the storage bit width to obtain first data and second data based on the drive-by-wire system's parameter data. For example, the drive-by-wire system's parameter data includes first precision portion data and second precision portion data. The first precision portion data includes the first precision portion of the data for each of at least one parameter, and the second precision portion data includes the second precision portion of the data for each of at least one parameter. The precision provided by the first precision portion of the data for each parameter is higher than the precision provided by the second precision portion of the data for each parameter.
[0132] Optionally, the drive-by-wire system can determine the first precision portion of the data and the second precision portion of the data based on the data type of the parameter data. The data type of the parameter data can be used to indicate one or more of the following: the number of data bits in the parameter data, or the position of the decimal point in the parameter data. This application embodiment does not limit the number of data bits or the position of the decimal point in the parameter data.
[0133] For example, taking a 16-bit fixed-point number as the parameter data, with the decimal point located between the 8th and 9th bits, the first precision portion can be the high 8 bits of each parameter's data, meaning the high 8 bits represent the first precision portion of the parameter's data. The second precision portion can be the low 8 bits of each parameter's data, meaning the low 8 bits represent the second precision portion of the parameter's data. In this case, the high 8 bits represent 255 / 256 of the data's precision, while the low 8 bits represent only 1 / 256 of the data's precision. The low 8 bits are less important in accident reconstruction, and the precision provided by the first precision portion of each parameter's data is higher than that provided by the second precision portion. The first precision portion is 50% of the original parameter data, i.e., 1318.36 MB, and the second precision portion is also 50% of the original parameter data, i.e., 1318.36 MB.
[0134] For another example, taking a parameter data as a 16-bit fixed-point number, with the decimal point located between the 6th and 7th bits, the first precision portion can be the high 6 bits of each parameter's data, meaning the high 6 bits represent the first precision portion of the parameter's data. The second precision portion can be the low 10 bits of each parameter's data, meaning the low 10 bits represent the second precision portion of the parameter's data. In this case, the high 6 bits represent 1023 / 1024 of the data's precision, while the low 10 bits only represent 1 / 1024 of the data's precision. The low 10 bits are less important in accident reconstruction, and the precision provided by the first precision portion of each parameter's data is higher than the precision provided by the second precision portion of the parameter's data.
[0135] Optionally, the first data includes the second precision portion of the data, and the second data includes the first precision portion of the data. Taking a 16-bit fixed-point number as an example, with the decimal point located between the 8th and 9th bits of the 16-bit fixed-point number, the first precision portion can be the high 8 bits of each parameter's data, and the second precision portion can be the low 8 bits of each parameter's data. The first data is 50% of the original parameter data, i.e., 1318.36MB, and the second data is also 50% of the original parameter data, i.e., 1318.36MB.
[0136] Optionally, the drive-by-wire system determines the first data and the second data based on the first precision partial data and the second precision partial data. For example, the drive-by-wire system determines the second linear information based on the first precision partial data, and determines the third data based on the first precision partial data and the second linear relationship. The drive-by-wire system determines the third linear information based on the second precision partial data, and determines the fourth data based on the second precision partial data and the third linear relationship. The second linear information includes a second linear relationship parameter, which indicates the second linear relationship used for linearly fitting the first precision partial data. The third data is the difference information between the first precision partial data and the fitted data of the second linear relationship. The third linear information includes a third linear relationship parameter, which indicates the third linear relationship used for linearly fitting the second precision partial data. The fourth data is the difference information between the second precision partial data and the fitted data of the third linear relationship. The first data includes the third data and the fourth data, and the second data includes partial data from the first precision partial data, the second linear information, and the third linear information. In this way, the drive-by-wire system can linearly fit the first precision partial data and the second precision partial data of the parameter data respectively to obtain the first data and the second data, which can reduce the amount of data in the first data and the second data.
[0137] The drive-by-wire system determines the second linear information by linearly fitting the first precision portion of the data, and determines the third linear information by linearly fitting the second precision portion of the data. This is similar to how the drive-by-wire system obtains the first linear information by linearly fitting the parameter data, as described earlier. Please refer to the relevant descriptions above; examples will not be repeated here.
[0138] For example, taking a parameter data set as a 16-bit fixed-point number with the decimal point located between the 8th and 9th bits, the first precision portion can be the high 8 bits of each parameter's data, and the second precision portion can be the low 8 bits of each parameter's data. The drive-by-wire system determines the second linearity information based on the high 8 bits of each parameter's data and the third linearity information based on the low 8 bits. The first data includes the difference between the high 8 bits of each parameter's data and the fitted data representing the second linear relationship between the high 8 bits of each parameter's data and the fitted data representing the third linear relationship between the low 8 bits of each parameter's data and the low 8 bits of each parameter's data. The second data includes a portion of the high 8 bits of each parameter's data, the second linearity information, and the third linearity information.
[0139] Optionally, the first data includes the third data, the fourth data, and the third linear information, and the second data includes a portion of the first precision data and the second linear information.
[0140] Alternatively, the first data includes second-precision data and third linear information, while the second data includes a portion of the first-precision data and the second linear information. In other words, the drive-by-wire system does not process the second-precision data, but compresses the first-precision data through linear fitting.
[0141] Step S302: The wire control system stores the first data through the first storage unit.
[0142] The drive-by-wire system includes a first storage unit or is connected to the first storage unit.
[0143] For example, the drive-by-wire system stores the first data through the first storage unit. That is, the drive-by-wire system only stores the first data that provides lower precision for the parameter data. Since the drive-by-wire system hierarchically stores the parameter data as described above, the amount of the first data is less than the amount of the parameter data. Compared with the prior art, which stores all the parameter data through the drive-by-wire system, this application can reduce the amount of data stored in the drive-by-wire system, reduce the data storage overhead of the drive-by-wire system, and reduce the cost required to store the data of the drive-by-wire system.
[0144] Step S303: The wire control system sends the second data to the first controller.
[0145] The drive-by-wire system is communicatively connected to the first controller. For example, the drive-by-wire system can be drive-by-wire system 101 in vehicle 10 shown in Figure 1, and the first controller can be controller 102 in vehicle 10 shown in Figure 1. Exemplarily, the drive-by-wire system and the first controller are connected via a vehicle network, for example, via a CAN bus or Ethernet communication connection. Exemplarily, the drive-by-wire system sends second data to the first controller via the vehicle network. Accordingly, the first controller can receive the second data from the drive-by-wire system.
[0146] Step S304: The first controller stores the second data.
[0147] The first controller has data processing and data storage capabilities. For example, the first controller can be the first domain controller or the second domain controller shown in Figure 2, such as the domain controller where the control algorithm that requires parameter data of the drive-by-wire system resides.
[0148] For example, the second data includes a portion of the parameter data and the first linear information. If the curve fitting accuracy of the linear fit is high, for example, the curve fitting accuracy of the first linear relationship is 99%, the 99% accuracy of the parameter data is redundantly and reliably protected, while also ensuring a high data recovery capability. If a vehicle accident occurs and the data inside the drive-by-wire system becomes unavailable, the second data can be interpolated using this curve to recover 99% of the missing parameter data, providing 99% accuracy for the parameter data. Thus, this application can avoid the situation where data becomes completely unavailable due to the loss of some components after an accident, increasing the likelihood of data recovery for the drive-by-wire system after an accident.
[0149] Optionally, the vehicle also includes other controllers connected to the drive-by-wire system and / or the first controller via the vehicle network. These other controllers can also obtain second data or parameter data through the vehicle network, providing additional protection through redundancy. For example, the drive-by-wire system can obtain multiple first data and multiple second data using different precision layering methods. The drive-by-wire system sends one of the multiple second data to each controller. That is, the precision methods used for the second data versions received by different controllers of the vehicle can differ, thereby utilizing the vehicle network to ensure that each controller has incremental precision redundancy storage, maximizing the probability of data integrity after an accident.
[0150] The following describes a possible implementation of storing the second data in the first controller.
[0151] As one possible implementation, the first controller can completely store the second data through its internal storage unit or a storage unit connected to the first controller. For example, the first controller may include or be connected to a second storage unit, and the first controller can store the second data through the second storage unit, in which case the second storage unit can be considered as the storage space of the first controller.
[0152] As another possible implementation, the first controller can store a portion of the second data and send the remaining portion to other controllers for storage, thereby separating the second data across different controllers and further reducing the storage space requirement for a single controller. For example, the first controller and the second controller are communicatively connected. The second data includes a first portion of data and a second portion of data. The first controller stores the first portion of data and sends the second portion of data to the second controller, causing the second controller to store the second portion of data. The second controller may include multiple controllers, meaning the second data is jointly stored by multiple controllers, with each controller storing a portion of the second data. For example, a drive-by-wire system uses two linear relationship parameters to fit eight missing data points from sampling with a 10ms period and a 1ms period. In this case, the second data is only about 3 / 10 of the original parameter data, or 791MB, approximately 30% of the parameter data. The fitted parameters and the original data points can be stored separately across different controllers, further reducing the storage space requirement for a single controller. Based on an estimate of three controllers, each controller only needs to store 263.67MB of data, which is 1 / 10 of the parameter data volume.
[0153] As another possible implementation, the first controller can process and store the received second data. For example, taking a scenario where the second data includes a first precision portion of the data, the first controller can determine fourth linear information based on the first precision portion of the data, determine sixth data based on the first precision portion of the data and the fourth linear relationship, and store the sixth data. The fourth linear information includes a fourth linear relationship parameter, which indicates the fourth linear relationship used for linearly fitting the first precision portion of the data. The sixth data includes the difference information between the first precision portion of the data and the fitted data of the second linear relationship, and the fourth linear information.
[0154] For example, taking a parameter data as a 16-bit fixed-point number, with the decimal point located between the 8th and 9th bits of the 16-bit fixed-point number, the first precision portion of the data can be the high 8 bits of each parameter's data. The first controller determines the fourth linear information based on the high 8 bits of each parameter's data. Based on the high 8 bits of each parameter's data and the fourth linear relationship, the first controller determines the difference information between the high 8 bits of each parameter's data and the fitted data of the fourth linear relationship that linearly fits the high 8 bits of each parameter's data. The first controller only stores the difference information between the high 8 bits of each parameter's data and the fitted data of the fourth linear relationship that linearly fits the high 8 bits of each parameter's data, and the fourth linear information itself. This effectively reduces the amount of data the first controller needs to store, reduces its data storage overhead, and lowers the cost of storing data for the drive-by-wire system.
[0155] Optionally, the fourth linear information determined by the first controller based on the first precision partial data can be the same as the second linear information determined by the drive-by-wire system based on the first precision partial data mentioned above. In other words, the second linear relationship used for linear fitting of the first precision partial data can be the same as the fourth linear relationship used for linear fitting of the first precision partial data.
[0156] Optionally, the above embodiments can be combined. For example, the first controller can process the received second data and then store it completely. Alternatively, the first controller can process the received second data, store a portion of the data itself, and send the remaining data to other controllers for storage.
[0157] Step S305: The first controller sends the fifth data to the recording device.
[0158] The recording device has data storage capabilities. For example, the recording device may be an event data recorder (EDR) or a hardware recording device like an EDR that is impact-resistant and fire-resistant and capable of storing data. A first controller is communicatively connected to the recording device. For example, the first controller and the recording device are communicatively connected via a vehicle network, and the first controller sends fifth data to the recording device via the vehicle network.
[0159] The fifth data is a portion of the second data, and the sampling frequency of the second data is higher than that of the fifth data.
[0160] For example, the second data includes a portion of the parameter data and the first linear information, and the fifth data includes a portion of the parameter data and the first linear information.
[0161] As another example, the second data includes a portion of the data in the first precision partial data, second linear information, and third linear information, and the fifth data includes a portion of the data in the first precision partial data, second linear information, and third linear information.
[0162] As another example, the second data includes the first precision portion of the data, and the fifth data includes a portion of the first precision portion of the data.
[0163] As shown in Figure 7, the drive-by-wire system is connected to a first controller and a second controller via CAN or Ethernet. The first and second controllers are connected to a recording device via CAN or Ethernet, and the recording device is connected to the cloud. The sampling frequencies of the first and second controllers are between 1 / 10Hz and 1 / 100Hz, the sampling frequency of the recording device is between 1 / 100Hz and 1 / 500Hz, and the sampling frequency of the cloud is 1 / 1000Hz. The first data stored internally by the drive-by-wire system includes the difference information between the parameter data and the fitted data of the linear relationship used for linear fitting. The second data stored by the controller includes partial data from the parameter data and linear information corresponding to the linear relationship used for linear fitting. For example, the first controller stores partial data from the parameter data, and the second controller stores the linear information corresponding to the linear relationship used for linear fitting. The data stored by the recording device, such as an EDR, includes partial data from the parameter data and linear information corresponding to the linear relationship used for linear fitting. The data stored in the cloud includes partial data from the parameter data and linear information corresponding to the linear relationship used for linear fitting. The drive-by-wire system samples at a 1ms cycle, storing parameter data using 16-bit fixed-point data. Based on an 8-hour storage period, the required parameter data size is 2636.72MB. The system generates first and second data based on the parameter data; the first data stored internally within the system is 1483.16MB. The second data transmitted by the system to the first and second controllers, i.e., the second data stored by the first and second controllers, is 791MB. Taking a recording device sampling frequency of 1 / 100Hz as an example, the data transmitted from the first and second controllers to the recording device, i.e., the data stored by the recording device, is approximately 1 / 100 of the parameter data, or approximately 26MB. The data transmitted from the recording device to the cloud, i.e., the data stored in the cloud, is approximately 1 / 1000 of the parameter data, or approximately 2.6MB.
[0164] Optionally, if the steer-by-wire system is a steer-by-wire system, the upward steering of the steer-by-wire system stores the first data, and the downward steering of the steer-by-wire system can back up and store the first data, that is, the downward steering of the steer-by-wire system also stores the first data.
[0165] For example, a recording device, such as an EDR, samples and saves bus data according to its own specifications, saving it on a second-by-second basis and uploading it to the cloud on a minute-by-minute basis. At this time, the data recorded by the recording device is regulatory information, and this embodiment of the application does not require modification of the data recorded by the recording device. In this case, the data from the recording device, such as the EDR, the cloud, and the data from each controller are redundantly stored.
[0166] When data needs to be retrieved, as long as the controller and recording device survive, data with a 10ms period can be recovered with usable accuracy. At this point, the data from the recording device and controller are combined, and the missing points are interpolated using linear information from a linear fit. This recovers a portion of the 1ms period data. If the linear fit curve accuracy is high, for example, 99%, then 99% of the 1ms period data can be recovered. If the drive-by-wire system survives, the error caused by the linear fit is compensated for on the current data, thus fully recovering the 1ms period data. Therefore, this embodiment not only achieves a flexible match between data accuracy and storage component cost, reducing the cost of storing drive-by-wire system data, but also increases the likelihood of data surviving after an accident.
[0167] According to regulations, when a fault occurs, the data must be fully recorded and marked as non-deletable before maintenance or fault resolution. This significantly increases the demand for data storage space. Unlike other systems, drive-by-wire systems may continue operating for extended periods in fault alarm states, utilizing backup redundancy, further burdening data storage. One possible implementation is to install the drive-by-wire system within the vehicle. After the vehicle is powered off, the drive-by-wire system can send first data to a first controller, allowing the first controller to store the first data. Correspondingly, the first controller can receive and store the first data from the drive-by-wire system. In this way, after the vehicle is stationary and powered off, data is moved from the drive-by-wire system to various controllers via the idle vehicle network, freeing up local storage space within the drive-by-wire system. This achieves coordinated allocation of storage space across components, optimizes storage space, avoids insufficient internal storage due to the prohibition of deleting fault data, and extends data storage duration. Optionally, after the vehicle is stationary and powered off, the first controller can also move the internally stored data from the first controller to the idle storage space of other controllers through the idle vehicle network at this time, so as to realize the overall allocation of storage space of each component and thus optimize storage space.
[0168] In one possible implementation, the amount of the first data in this embodiment is greater than the amount of the second data, and the amount of the second data is greater than the amount of the fifth data. Typically, data is rolled over and deleted when storage space is nearly exhausted, with the data furthest from the current time being completely deleted. As shown in Figure 8, the data furthest from the current time is the data stored internally by the drive-by-wire system, followed by the data stored by the controller, then the data stored by the recording device, and finally the data stored in the cloud. The sampling frequencies corresponding to the data, from high to low, are: the data sampling frequency corresponding to the data stored internally by the drive-by-wire system, the data sampling frequency corresponding to the data stored by the controller, the data sampling frequency corresponding to the data stored by the recording device, and the data sampling frequency corresponding to the data stored in the cloud. Because the precision of the second data stored by the controller in this embodiment is higher than the precision of the first data stored internally by the drive-by-wire system, and the first data stored internally by the drive-by-wire system is furthest from the current time, and because the amount of the first data is usually greater than the amount of the second data, the first data stored internally by the drive-by-wire system will be deleted more quickly, and the retention time of the second data stored in the controller will be longer than that of the first data. Thus, while meeting the precision requirements of regulations, the drive-by-wire system can store only the data before the moment of the accident, and the data stored in the controller can be stored for the duration required by regulations. This approach further reduces the storage overhead of the wire-controlled system, lowers the cost of storing the system's data, and allows for extended data storage time beyond regulatory requirements at a lower cost, providing additional fault diagnosis information. Furthermore, since the data in this embodiment is stored in tiers based on precision, it offers flexibility in data storage location and deletion timing.
[0169] Optionally, the vehicle can also be equipped with a large-capacity storage device, allowing the drive-by-wire system to transmit parameter data to the storage device for unified storage. Alternatively, the vehicle can provide a high-bandwidth Ethernet network to connect devices throughout the vehicle network, enabling direct uploading and storage of all parameter data.
[0170] In the embodiment shown in Figure 3, the parameter data of the drive-by-wire system is hierarchically divided into first data and second data. The drive-by-wire system internally stores only the first data, which provides lower precision for the parameter data, and sends the second data, which provides higher precision, to the first controller so that the first controller stores the second data. In other words, the parameter data of the drive-by-wire system is divided into multiple parts in a precision hierarchy, with different precision parts stored in different components. This embodiment of the application can achieve a flexible match between data precision and storage component costs, reducing the data storage overhead of the drive-by-wire system and lowering the cost required to store the data of the drive-by-wire system.
[0171] Furthermore, in this embodiment, the drive-by-wire system only stores first data that provides lower precision for the parameter data. Even if the drive-by-wire system malfunctions (e.g., a car accident occurs) and the data inside the drive-by-wire system becomes unavailable, the second data stored in the first controller can still provide higher precision for the parameter data. This embodiment can avoid the situation where data becomes completely unavailable due to the loss of some components after an accident, increasing the likelihood of data surviving after an accident.
[0172] In summary, the embodiments of this application can not only achieve a flexible match between data accuracy and storage component cost, reducing the cost required to store data in the wired control system, but also increase the likelihood of data survival in the wired control system after an accident.
[0173] The methods of the embodiments of this application have been described in detail above. Below, some apparatuses for implementing the foregoing methods are described. It should be understood that the division of units in the apparatuses provided in the embodiments of this application is only a logical functional division; in actual implementation, they can be fully or partially integrated onto a single physical entity, or they can be physically separated.
[0174] Furthermore, the units or modules in the device can be implemented in the form of processor calling software. For example, the device includes a processor connected to a memory, which stores instructions. The processor calls the instructions stored in the memory to implement any of the above methods or to implement the functions of each unit of the device. The processor is, for example, a general-purpose processor, such as a central processing unit (CPU) or a microprocessor, and the memory is either internal or external to the device.
[0175] Alternatively, the units or modules in the device can be implemented in the form of hardware circuits. The functionality of some or all units can be achieved through the design of these hardware circuits, which can be understood as one or more processors. For example, in one implementation, the hardware circuit is an application-specific integrated circuit (ASIC), and the functionality of some or all of the above units is achieved through the design of the logical relationships between the components within the circuit. In another implementation, the hardware circuit can be implemented using a programmable logic device (PLD), such as a field-programmable gate array (FPGA). This PLD can include a large number of logic gates, and the connection relationships between these logic gates can be configured through configuration files to achieve the functionality of some or all of the above units. All units of the above device can be implemented entirely through processor-invoked software, entirely through hardware circuits, or partially through processor-invoked software with the remaining parts implemented through hardware circuits.
[0176] In this application embodiment, a processor is a circuit with signal processing capabilities. In one implementation, the processor can be a circuit with instruction read and execute capabilities, such as a central processing unit (CPU) or a digital signal processor (DSP). In another implementation, the processor can implement certain functions through the logical relationships of hardware circuits. These logical relationships are fixed or reconfigurable. For example, the processor is a hardware circuit implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), such as an FPGA. In a reconfigurable hardware circuit, the process of the processor loading a configuration document and configuring the hardware circuit can be understood as the process of the processor loading instructions to implement the functions of some or all of the above units. Therefore, each unit in the device can be one or more processors (or processing circuits) configured to implement the above methods, such as a CPU, GPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor types.
[0177] Furthermore, the units or modules in the above devices can be integrated in whole or in part, or they can be implemented independently. In one implementation, these units or modules are integrated together as a system-on-a-chip (SOC). The SOC may include at least one processor for implementing any of the above methods or implementing the functions of the units in the device. The at least one processor may be of different types, such as CPU and FPGA.
[0178] Several possible devices are listed below.
[0179] Please refer to Figure 9, which is a schematic diagram of a processing device, namely processing device 90, provided in an embodiment of this application. Optionally, the processing device 90 can be a standalone device, such as the wired control system 101 shown in Figure 1, or the wired control system shown in Figure 2. Alternatively, the processing device 90 can also be a component in a standalone device (such as a node), such as a chip or integrated circuit. The processing device 90 is used to implement the data storage method shown in Figure 3 above.
[0180] As shown in Figure 9, the processing device 90 includes a processing unit 901 and a transceiver unit 902. The processing unit 901 is used to perform one or more operations such as processing, calculation, determination, generation, and updating. For example, it is used to obtain first data and second data based on parameter data of the drive-by-wire system. The parameter data includes data for at least one parameter of the drive-by-wire system, where the at least one parameter includes input parameters and / or output parameters. The first data provides a first precision to the parameter data, and the second data provides a second precision to the parameter data. The first precision is less than the second precision, and the data sampling frequency corresponding to the first data is higher than the data sampling frequency corresponding to the second data. The device further includes other operations for implementing the data storage method.
[0181] The transceiver unit 902 is used to perform one or more operations such as acquiring, receiving, listening, transmitting, and sending, for example, to send second data to the first controller so that the first controller stores the second data. It further includes other operations for implementing data storage methods.
[0182] For related descriptions, please refer to the description of the embodiment shown in Figure 3, which will not be described in detail here.
[0183] Please refer to Figure 10, which is a schematic diagram of another processing device provided in an embodiment of this application, namely processing device 100. Optionally, the processing device 100 can be an independent device, such as the controller 102 shown in Figure 1, or the first domain controller and the second domain controller shown in Figure 2. Alternatively, the processing device 100 can also be a component in an independent device (such as a node), such as a chip or integrated circuit. The processing device 100 is used to implement the data storage method shown in Figure 3 above.
[0184] As shown in Figure 10, the processing device 100 includes a transceiver unit 901 and a storage unit 1002. The transceiver unit 902 is used to perform one or more operations such as acquisition, reception, listening, transmission, and sending. For example, it is used to receive second data from the wire control system. The second data is obtained based on the parameter data of the wire control system. The parameter data includes data of at least one parameter of the wire control system. The at least one parameter includes at least one of the input parameters, output parameters, and the operating status parameters of the wire control system. The second data provides a second precision for the parameter data. The second precision is a partial precision of the parameter data.
[0185] A fifth data point is sent to the recording device so that the recording device stores the fifth data point, which is a portion of the second data point, and the sampling frequency of the second data point is higher than the sampling frequency of the fifth data point. Further operations are included to implement the data storage method.
[0186] Storage unit 1002 is used to implement storage, for example, for storing second data. It further includes other operations for implementing the data storage method.
[0187] Optionally, the processing device 100 further includes a processing unit 1003, which is used to perform one or more operations such as processing, calculation, determination, generation, and updating. For example, it is used to determine fourth linear information based on the first precision partial data, and to determine sixth data based on the first precision partial data and the fourth linear relationship. The fourth linear information includes a fourth linear relationship parameter, which indicates the fourth linear relationship used for linearly fitting the first precision partial data. The sixth data includes the difference information between the first precision partial data and the fitted data of the second linear relationship, and the fourth linear information. Further, it includes other operations for implementing the data storage method.
[0188] For related descriptions, please refer to the description of the embodiment shown in Figure 3, which will not be described in detail here.
[0189] Please refer to Figure 11, which is a schematic diagram of the structure of a wired control system provided in an embodiment of this application. The wired control system is connected to a controller. The wired control system is a device with processing capabilities. This device can be a physical device, such as a server (e.g., a rack server) or a host, or it can be a virtual device, such as a virtual machine or a container.
[0190] As shown in Figure 11, the drive-by-wire system 110 includes a processor 1101, a memory 1102, and one or more programs, and may include a communication interface 1103. It should be understood that this application does not limit the number of processors and memories in the drive-by-wire system 110.
[0191] Processor 1101 is a module for performing calculations and may include a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), a digital signal processor (DSP), a micro controller unit (MCU), or one or more integrated circuits for controlling the execution of programs in the above schemes.
[0192] Memory 1102 provides storage space, in which application data, user data, operating system, and computer programs can be optionally stored. Memory 1102 may include read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, random access memory (RAM) or other types of dynamic storage devices capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto.
[0193] The memory 1102 can exist independently and be connected to the processor 1101 via a bus. Alternatively, the memory 1102 can be integrated with the processor 1101.
[0194] The communication interface 1103 is used to provide information input or output to the at least one processor. And / or, the communication interface 1103 can be used to receive data transmitted externally and / or transmit data externally. The communication interface 1103 can be a wired link interface, such as an Ethernet cable, or a wireless link interface (Bluetooth, general wireless transmission, and other wireless communication technologies, etc.). Optionally, the communication interface 1103 may also include a transmitter (such as a radio frequency transmitter, antenna, etc.) or a receiver coupled to the interface.
[0195] In this embodiment, one or more programs are stored in the memory 1102 in the form of program code and configured to be executed by the processor 1101. The program includes instructions for implementing the steps in the data storage method shown in FIG3. That is, the memory 1102 stores executable instructions, and the processor 1101 executes the executable instructions to implement the steps in the data storage method shown in FIG3. In other words, the memory 1102 stores instructions for executing the data storage method shown in FIG3.
[0196] Please refer to Figure 12, which is a schematic diagram of the structure of a controller provided in an embodiment of this application. The controller is connected to a wired control system. The controller is a device with processing capabilities. This device can be a physical device, such as a server (e.g., a rack server) or a host, or it can be a virtual device, such as a virtual machine or a container.
[0197] As shown in Figure 12, the controller 120 includes a processor 1201, a memory 1202, and one or more programs, and may include a communication interface 1203. It should be understood that this application does not limit the number of processors and memories in the controller 120.
[0198] Processor 1201 is a module for performing calculations and may include a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), a digital signal processor (DSP), a micro controller unit (MCU), or one or more integrated circuits for controlling the execution of programs in the above schemes.
[0199] The memory 1202 provides storage space, in which application data, user data, operating system, and computer programs can be optionally stored. The memory 1202 may include read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, random access memory (RAM) or other types of dynamic storage devices capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto.
[0200] The memory 1202 can exist independently and be connected to the processor 1201 via a bus. Alternatively, the memory 1202 can be integrated with the processor 1201.
[0201] The communication interface 1203 is used to provide information input or output to the at least one processor. And / or, the communication interface 1203 can be used to receive data transmitted externally and / or transmit data externally. The communication interface 1203 can be a wired link interface, such as an Ethernet cable, or a wireless link interface (Bluetooth, general wireless transmission, and other wireless communication technologies, etc.). Optionally, the communication interface 1203 may also include a transmitter (such as a radio frequency transmitter, antenna, etc.) or a receiver coupled to the interface.
[0202] In this embodiment, one or more programs are stored in the memory 1202 in the form of program code and configured to be executed by the processor 1201. The program includes instructions for implementing the steps in the data storage method shown in FIG3. That is, the memory 1202 stores executable instructions, and the processor 1201 executes the executable instructions to implement the steps in the data storage method shown in FIG3. In other words, the memory 1202 stores instructions for executing the data storage method shown in FIG3.
[0203] This application embodiment also provides a vehicle, which includes the aforementioned processing device 90 and the aforementioned processing device 100, or the vehicle includes a drive-by-wire system 110 and a controller 120, the drive-by-wire system 110 and the controller 120 being connected, the vehicle being used to implement the aforementioned data storage method, such as the data storage method shown in FIG3.
[0204] This application also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any usable medium. The computer program instructions are used to implement the aforementioned data storage method, such as the data storage method shown in FIG3.
[0205] This application also provides a computer-readable storage medium. This computer-readable storage medium is used to store a computer program, the computer program including instructions for implementing the aforementioned data storage method, such as the data storage method shown in FIG3.
[0206] The computer-readable storage medium can be any available medium that can be stored by an information interaction device and / or computing device, or a data storage device such as a data center containing one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media, or semiconductor media (e.g., solid-state drives).
[0207] In this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0208] In this application, "at least one" in the embodiments refers to one or more items, and "more than one" refers to two or more items. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can represent: a, b, c, (a and b), (a and c), (b and c), or (a and b and c), where a, b, and c can be single or multiple. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship.
[0209] Furthermore, unless otherwise stated, the use of ordinal numbers such as "first" and "second" in the embodiments of this application is for distinguishing multiple objects and is not for limiting the order, sequence, priority or importance of multiple objects.
[0210] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0211] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of this application.
Claims
1. A data storage method, characterized in that, Applied to a drive-by-wire system, the drive-by-wire system being communicatively connected to a first controller, the drive-by-wire system including or connected to a first storage unit, the method includes: Based on the parameter data of the drive-by-wire system, first data and second data are obtained. The parameter data includes data of at least one parameter of the drive-by-wire system. The at least one parameter includes at least one of input parameters, output parameters, and operating status parameters of the drive-by-wire system. The first data provides a first precision for the parameter data, and the second data provides a second precision for the parameter data. The first precision is less than the second precision, and the data sampling frequency corresponding to the first data is higher than the data sampling frequency corresponding to the second data. The first data is stored in the first storage unit; The second data is sent to the first controller so that the first controller stores the second data.
2. The method according to claim 1, characterized in that, The step of obtaining the first data and the second data based on the parameter data of the drive-by-wire system includes: Based on the parameter data of the drive-by-wire system, first linear information is determined. The first linear information includes a first linear relationship parameter, which is used to indicate the first linear relationship used to linearly fit the parameter data. Based on the parameter data of the drive-by-wire system and the first linear relationship, first data is determined, which is the difference information between the parameter data and the fitted data of the first linear relationship; The second data includes a portion of the parameter data and the first linear information.
3. The method of claim 1, wherein, The parameter data of the drive-by-wire system includes a first precision portion of data and a second precision portion of data. The first precision portion of data includes the first precision portion of the data of each parameter in the at least one parameter data. The second precision portion of data includes the second precision portion of the data of each parameter in the at least one parameter data. The precision provided by the first precision portion of the data of each parameter is higher than the precision provided by the second precision portion of the data of each parameter. The step of obtaining the first data and the second data based on the parameter data of the drive-by-wire system includes: Based on the first precision partial data, second linear information is determined. The second linear information includes a second linear relationship parameter, which is used to indicate the second linear relationship used to linearly fit the first precision partial data. Based on the first precision partial data and the second linear relationship, a third data is determined, wherein the third data is the difference information between the first precision partial data and the fitted data of the second linear relationship; Based on the second precision partial data, third linear information is determined, the third linear information including a third linear relationship parameter, the third linear relationship parameter being used to indicate the third linear relationship used for linear fitting of the second precision partial data; Based on the second precision partial data and the third linear relationship, a fourth data is determined, wherein the fourth data is the difference information between the second precision partial data and the fitted data of the third linear relationship, and the first data includes the third data and the fourth data; The second data includes a portion of the data from the first precision portion, the second linear information, and the third linear information.
4. The method according to claim 1, characterized in that, The parameter data of the drive-by-wire system includes a first precision portion of data and a second precision portion of data. The first precision portion of data includes the first precision portion of the data of each parameter in the at least one parameter data. The second precision portion of data includes the second precision portion of the data of each parameter in the at least one parameter data. The precision provided by the first precision portion of the data of each parameter is higher than the precision provided by the second precision portion of the data of each parameter. The first data includes the second precision portion of the data, and the second data includes the first precision portion of the data.
5. The method according to any one of claims 1 to 4, characterized in that, The drive-by-wire system is installed in the vehicle, and the method further includes: After the vehicle is powered off, the first data is sent to the first controller so that the first controller stores the first data.
6. The method according to any one of claims 1 to 5, characterized in that, The amount of data in the first data is greater than or equal to the amount of data in the second data.
7. A data storage method characterized by, Applied to a first controller, the first controller being communicatively connected to a drive-by-wire system, and the first controller being communicatively connected to a recording device, the method includes: Receive second data from the drive-by-wire system, the second data being obtained based on parameter data of the drive-by-wire system, the parameter data including data of at least one parameter of the drive-by-wire system, the at least one parameter including at least one of input parameters, output parameters and operating status parameters of the drive-by-wire system, the second data providing a second precision to the parameter data, the second precision being a partial precision of the parameter data; Store the second data; The recording device sends fifth data to the recording device so that the recording device stores the fifth data, the fifth data being a portion of the second data, and the data sampling frequency corresponding to the second data being higher than the data sampling frequency corresponding to the fifth data.
8. The method of claim 7, wherein, The second data includes a portion of the parameter data and first linear information. The first linear information includes a first linear relationship parameter, which is used to indicate the first linear relationship used for linear fitting of the parameter data. The fifth data includes a portion of the partial data and the first linear information.
9. The method according to claim 7, characterized in that, The parameter data of the drive-by-wire system includes a first precision portion of data and a second precision portion of data. The first precision portion of data includes the first precision portion of the data of each parameter in the at least one parameter data. The second precision portion of data includes the second precision portion of the data of each parameter in the at least one parameter data. The precision provided by the first precision portion of the data of each parameter is higher than the precision provided by the second precision portion of the data of each parameter. The second data includes a portion of the data from the first precision portion, second linear information, and third linear information; The second linear information includes a second linear relationship parameter, which indicates the second linear relationship used to linearly fit the first precision portion of the data; The third linear information includes a third linear relationship parameter, which is used to indicate the third linear relationship used for linearly fitting the second precision portion of the data; The fifth data includes a portion of the partial data, the second linear information, and the third linear information.
10. The method according to claim 7, characterized in that, The parameter data of the drive-by-wire system includes a first precision portion of data and a second precision portion of data. The first precision portion of data includes the first precision portion of the data of each parameter in the at least one parameter data. The second precision portion of data includes the second precision portion of the data of each parameter in the at least one parameter data. The precision provided by the first precision portion of the data of each parameter is higher than the precision provided by the second precision portion of the data of each parameter. The second data includes the first precision portion of the data, and the fifth data includes a portion of the first precision portion of the data.
11. The method according to claim 10, characterized in that, The storage of the second data includes: Based on the first precision partial data, fourth linear information is determined, the fourth linear information including a fourth linear relationship parameter, the fourth linear relationship parameter being used to indicate the fourth linear relationship used for linear fitting of the first precision partial data; Based on the first precision partial data and the fourth linear relationship, a sixth data is determined, the sixth data including the difference information between the first precision partial data and the fitted data of the fourth linear relationship and the fourth linear information; Store the sixth data.
12. The method according to any one of claims 7-10, characterized in that, The first controller includes or is connected to a second storage unit, wherein storing the second data includes: The second data is stored in the second storage unit.
13. The method according to any one of claims 7-10, characterized in that, The first controller is communicatively connected to the second controller, the second data includes a first part of data and a second part of data, and storing the second data includes: Store the first part of the data; The second portion of data is sent to the second controller so that the second controller stores the second portion of data.
14. The method according to any one of claims 7-13, characterized in that, The drive-by-wire system is installed in the vehicle, and the method further includes: The system receives first data from the drive-by-wire system. The first data is sent after the vehicle is powered off. The first data is obtained based on the parameter data. The first data provides a first precision to the parameter data. The first precision is less than the second precision. The data sampling frequency corresponding to the first data is higher than the data sampling frequency corresponding to the second data.
15. The method according to claim 14, characterized in that, The amount of data in the first data is greater than or equal to the amount of data in the second data, and the amount of data in the second data is greater than the amount of data in the fifth data.
16. A processing apparatus, characterized in that, The processing device is communicatively connected to the first controller, and the processing device includes: The processing unit is configured to obtain first data and second data based on the parameter data of the drive-by-wire system. The parameter data includes data of at least one parameter of the drive-by-wire system, and the at least one parameter includes input parameters and / or output parameters. The first data provides a first precision for the parameter data, and the second data provides a second precision for the parameter data. The first precision is less than the second precision, and the data sampling frequency corresponding to the first data is higher than the data sampling frequency corresponding to the second data. A transceiver unit is configured to send the second data to the first controller, so that the first controller stores the second data; The processing device includes or is connected to a first storage unit, wherein the first storage unit is used to store the first data.
17. A processing apparatus, characterized in that, The processing device is communicatively connected to the wired control system and to the recording device. The processing device includes: Transceiver unit, used for: Receive second data from the drive-by-wire system, the second data being obtained based on parameter data of the drive-by-wire system, the parameter data including data of at least one parameter of the drive-by-wire system, the at least one parameter including at least one of input parameters, output parameters and operating status parameters of the drive-by-wire system, the second data providing a second precision to the parameter data, the second precision being a partial precision of the parameter data; Send fifth data to the recording device so that the recording device stores the fifth data, the fifth data being a portion of the second data, and the data sampling frequency corresponding to the second data being higher than the data sampling frequency corresponding to the fifth data; A storage unit for storing the second data.
18. A drive-by-wire system, characterized in that, The drive-by-wire system is connected to a controller. The drive-by-wire system includes a processor and a memory. The memory stores a program. The processor executes the program to enable the drive-by-wire system to implement the method as described in any one of claims 1-6.
19. A controller, characterized in that, The controller is connected to the drive-by-wire system. The controller includes a processor and a memory. The memory stores a program. The processor executes the program to cause the controller to implement the method as described in any one of claims 7-15.
20. A vehicle, characterized in that, The vehicle includes a drive-by-wire system as claimed in claim 18 and a controller as claimed in claim 19, wherein the drive-by-wire system is communicatively connected to the controller.
21. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store a computer program, the computer program including instructions for performing the method as described in any one of claims 1-6 or any one of claims 7-15.
22. A computer program product, characterized in that, The computer program product includes instructions that, when executed by a processor, cause the method as described in any one of claims 1-6 or any one of claims 7-15 to be implemented.