Automatic driving software synchronization method and device, storage medium and computer device

By acquiring and comparing the metadata of autonomous driving software with local file fingerprints, the system identifies files to be downloaded and deleted, and utilizes a distributed storage system and a caching system for efficient downloading. This solves the problem of low distribution efficiency for autonomous driving software, achieving resource savings and improved distribution efficiency.

CN115344544BActive Publication Date: 2026-05-26GUANGZHOU WERIDE TECH LTD CO
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
GUANGZHOU WERIDE TECH LTD CO
Filing Date
2022-08-16
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

The large size and frequent updates of autonomous driving software result in high consumption of network and computing resources and low distribution efficiency.

Method used

By acquiring the metadata of the target version of the software, comparing the local file with the file fingerprint in the metadata, the files to be downloaded and deleted are identified. The corresponding files are then downloaded and deleted using a distributed storage system and a caching system, reducing the computational load on the vehicle side.

Benefits of technology

This saves on the network and computing resources required to distribute autonomous driving software to vehicles, thus improving distribution efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115344544B_ABST
    Figure CN115344544B_ABST
Patent Text Reader

Abstract

This application provides a method, apparatus, storage medium, and computer device for synchronizing autonomous driving software. The method includes: obtaining metadata of the target version software based on version information; traversing each file in a local target directory to obtain a result file; comparing the file fingerprint of each file in the result file with the file fingerprint of each file in the metadata to determine files to be downloaded and files to be deleted; creating download links based on the filename, file fingerprint, and storage path of each file to be downloaded; downloading the corresponding file to be downloaded to the local target directory based on the download link, and adding the file fingerprint and file update time of each file to the result file; and deleting each file to be deleted from the local target directory and its record in the result file. This application can save network and computing resources required for distributing autonomous driving software to vehicles, improving distribution efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of autonomous driving technology, and in particular to an autonomous driving software synchronization method, apparatus, storage medium, and computer equipment. Background Technology

[0002] Depending on the task being performed, autonomous vehicles need to download different versions of autonomous driving software, or they need to download the software again when the software is updated.

[0003] However, autonomous driving software is quite large, usually tens of gigabytes in size. In particular, versions that require testing with test vehicles often need large-scale updates, and the software is downloaded frequently, consuming a lot of network and computing resources and taking a long time, which is not conducive to the efficient distribution of autonomous driving software to vehicles. Summary of the Invention

[0004] This application provides an autonomous driving software synchronization method, apparatus, storage medium, and computer equipment, which can save the network and computing resources required to distribute autonomous driving software to vehicles and improve distribution efficiency.

[0005] In a first aspect, this application provides an autonomous driving software synchronization method, applied to an autonomous vehicle, the method comprising:

[0006] The metadata of the target version software is obtained based on the version information of the target version software; the metadata includes the file name, file fingerprint and storage path of each file in the target version software in the distributed storage system;

[0007] The result file is obtained by traversing each file in the local target directory; wherein, the local target directory is used to store all files of the autonomous driving software, and the result file includes the file fingerprint and file update time of each file of the autonomous driving software;

[0008] By comparing the file fingerprint of each file in the result file with the file fingerprint of each file in the metadata, the files to be downloaded and the files to be deleted are determined.

[0009] A download link is created based on the filename, file fingerprint, and storage path of each file to be downloaded; the download link is used to download the corresponding file to be downloaded from the distributed storage system storing the target version of the software or a distributed cache system connected to the distributed storage system.

[0010] Download the corresponding file to be downloaded to the local target directory based on the download link of each file to be downloaded, and add the file fingerprint and file update time of each file to be downloaded to the result file;

[0011] Delete each file to be deleted in the local target directory and the record of each file to be deleted in the result file.

[0012] In one embodiment, obtaining the metadata of the target version software based on the version information of the target version software includes:

[0013] A loading path is generated based on the version information and the preset metadata file name;

[0014] The metadata of the target version software is loaded from the distributed storage system or a distributed cache system connected to the distributed storage system according to the loading path.

[0015] In one embodiment, the step of traversing each file in the local target directory to update the result file includes:

[0016] Obtain the file update time of any file in the local target directory;

[0017] Compare the file update time of the file with the file update time recorded in the result file saved after the last synchronization.

[0018] If the file update time of the file is inconsistent with the file update time recorded in the result file saved after the last synchronization, then the file fingerprint of the file is calculated;

[0019] Update the file fingerprint and file update time of the file to the result file.

[0020] In one embodiment, comparing the file fingerprint of each file in the result file with the file fingerprint of each file in the metadata to determine the files to be downloaded and the files to be deleted includes:

[0021] If any file fingerprint of the metadata is not recorded in the result file, then the file corresponding to the file fingerprint not recorded in the result file is determined as the file to be downloaded;

[0022] If any file fingerprint in the result file is not recorded in the metadata, then the file corresponding to the file fingerprint not recorded in the metadata is identified as a file to be deleted.

[0023] In one embodiment, the storage path of each file in the target version of the software is created in the distributed storage system based on the file fingerprint of each file.

[0024] In one embodiment, before performing the step of obtaining the metadata of the target version software based on the version information of the target version software, the method further includes:

[0025] Obtain vehicle operation tasks;

[0026] The version information of the target software is obtained based on the vehicle operation task.

[0027] In one embodiment, the distributed storage system is an object storage system, and the distributed caching system is a web caching system.

[0028] Secondly, this application provides an autonomous driving software synchronization device for use in autonomous vehicles, the device comprising:

[0029] The metadata acquisition module is used to acquire the metadata of the target version software based on the version information of the target version software; the metadata includes the file name, file fingerprint and storage path of each file in the target version software in the distributed storage system;

[0030] The result file update module is used to traverse each file in the local target directory to obtain the result file; wherein, the local target directory is used to store all files of the autonomous driving software, and the result file includes the file fingerprint and file update time of each file of the autonomous driving software;

[0031] The determination module is used to compare the file fingerprint of each file in the result file with the file fingerprint of each file in the metadata to determine the files to be downloaded and the files to be deleted.

[0032] The download link creation module is used to create download links based on the filename, file fingerprint, and storage path of each file to be downloaded; the download links are used to download the corresponding file to be downloaded from the distributed storage system storing the target version of the software or a distributed cache system connected to the distributed storage system;

[0033] The file download module is used to download the corresponding file to the local target directory based on the download link of each file to be downloaded, and to add the file fingerprint and file update time of each file to be downloaded to the result file.

[0034] The file deletion module is used to delete each file to be deleted in the local target directory and the record of each file to be deleted in the result file.

[0035] Thirdly, this application provides a storage medium storing computer-readable instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of the autonomous driving software synchronization method as described in any of the above embodiments.

[0036] Fourthly, this application provides a computer device, including: one or more processors, and a memory;

[0037] The memory stores computer-readable instructions, which, when executed by the one or more processors, perform the steps of the autonomous driving software synchronization method as described in any of the above embodiments.

[0038] As can be seen from the above technical solutions, the embodiments of this application have the following advantages:

[0039] The autonomous driving software synchronization method, apparatus, storage medium, and computer equipment provided in this application are applied to autonomous vehicles. They obtain the metadata of the target version software based on its version information. The metadata includes the filename, file fingerprint, and storage path of each file in the target version software within a distributed storage system. Each file in the local target directory used to store the autonomous driving software files is traversed to obtain a result file, i.e., a record file containing the file fingerprint and update time of each currently stored file. The file fingerprint of each file in the result file is compared with the file fingerprint of each file in the metadata to determine the files to be downloaded and the files to be deleted. Based on the filename, file fingerprint, and storage path of each file to be downloaded, a method for synchronizing the target version software is created. The software's distributed storage system or a distributed cache system connected to the distributed storage system downloads the download link for the corresponding file to be downloaded. Based on the download link, the file to be downloaded is downloaded to the local target directory. The file fingerprint and file update time of each file to be downloaded are added to the result file to reduce the download size. In addition, files to be deleted in the local target directory and their records in the result file are deleted. On the vehicle side, only the fingerprint calculation of local files is required, while the fingerprint calculation of the target version software is completed in the cloud. The vehicle side directly obtains the metadata for comparison to determine the files that need to be downloaded and deleted for the current synchronization of the new version software. There is no need to read in all the files of the target version software for calculation and comparison, saving the network and computing resources required for distributing autonomous driving software to vehicles and improving distribution efficiency. Attached Figure Description

[0040] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0041] Figure 1 This is a diagram illustrating the application environment of the autonomous driving software synchronization method in one embodiment.

[0042] Figure 2 Here is a flowchart of an autonomous driving software synchronization method in one embodiment;

[0043] Figure 3 This is a flowchart of the steps for obtaining metadata of the target version software based on the version information of the target version software in one embodiment;

[0044] Figure 4 This is a flowchart illustrating the steps of updating the result file by traversing each file in the local target directory, as described in one embodiment.

[0045] Figure 5 This is a structural block diagram of an autonomous driving software synchronization device in one embodiment;

[0046] Figure 6 This is a diagram of the internal structure of a computer device in one embodiment. Detailed Implementation

[0047] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0048] Figure 1 This is a schematic diagram illustrating the application environment of an autonomous driving software upgrade method in one embodiment. For example... Figure 1 As shown, the application environment includes an autonomous vehicle 101 and an autonomous driving cloud platform server 102. The autonomous vehicle 101 communicates with the server 102 via a network. A distributed storage system stores the data that the server 102 needs to process. After compiling autonomous driving software, the content of each file in the software is calculated to generate a file fingerprint for each file. Each file is then stored in the distributed storage system. Metadata for the autonomous driving software is then generated, including the filename, update time, file fingerprint, and storage path in the distributed storage system for each file. When the autonomous vehicle needs to synchronize the software, it downloads the necessary upgrade files from the distributed storage system or a distributed caching system connected to the distributed storage system. The server 102 can be implemented using a standalone server or a server cluster consisting of multiple servers.

[0049] like Figure 2 As shown, this application provides an autonomous driving software synchronization method applied to autonomous vehicles. The method includes steps S201-S206, wherein:

[0050] Step S201: Obtain the metadata of the target version software based on the version information of the target version software.

[0051] The metadata includes the filename, file fingerprint, and storage path of each file in the target software version on the distributed storage system. Version information includes the version number of the target software version, which is associated with the metadata and can be used to retrieve the metadata. The file fingerprints of each file in the target software version are calculated by the autonomous driving software cloud platform from the file content. Algorithms such as MD5 (Message-Digest Algorithm), SHA256 (Secure Hash Algorithm 256), and CRC (Cyclic Redundancy Check) can be used to calculate the file fingerprints. This eliminates the need for the autonomous vehicle to read the new software version for calculation during synchronization; the vehicle can directly obtain the metadata.

[0052] In one embodiment, the distributed storage system is an object storage system, a database, or a file storage system.

[0053] In one embodiment, the storage path of each file in the target version software in the distributed storage system is created based on the file fingerprint of each file, so that the storage path is associated with the file fingerprint, which facilitates the location of the target file.

[0054] Step S202: Traverse each file in the local target directory to obtain the result file.

[0055] The local target directory is used to store all files of the autonomous driving software, and the resulting files include the file fingerprint and file update time of each file in the autonomous driving software.

[0056] Since some files may have been modified by human operation for individual autonomous vehicles, in order to ensure that the result file can reflect the file information in the local target directory at the time of synchronization, it is necessary to traverse each file to obtain the latest result file, regardless of whether a result file has been generated before.

[0057] Step S203: Compare the file fingerprint of each file in the result file with the file fingerprint of each file in the metadata to determine the files to be downloaded and the files to be deleted.

[0058] File fingerprints are calculated based on the content of a file. However, compared to directly comparing file content, comparing file fingerprints requires significantly less computation. By using the file fingerprints in the result file and the file fingerprints in the metadata, it is possible to determine the missing and redundant files in the current version of the autonomous driving software of the autonomous vehicle compared to the target version. The missing files are the files to be downloaded, and the redundant files are the files to be deleted.

[0059] In one embodiment, if any file fingerprint in the metadata is not recorded in the result file, the file corresponding to the file fingerprint not recorded in the result file is determined as a file to be downloaded; if any file fingerprint in the result file is not recorded in the metadata, the file corresponding to the file fingerprint not recorded in the metadata is determined as a file to be deleted.

[0060] Step S204: Create a download link based on the filename, file fingerprint, and storage path of each file to be downloaded.

[0061] In one embodiment, the download link is used to download the corresponding file to be downloaded from the distributed storage system.

[0062] In one embodiment, when the architecture includes a distributed caching system topologically closer to the vehicle, the download link is used to download the corresponding file from the distributed caching system connected to the distributed storage system. The distributed caching system improves object retrieval speed by managing files the user wants to read and loading recently frequently used files into its memory, thus increasing the speed of reading these files. For files not cached in memory, the distributed caching system loads them from the distributed storage system based on the download link. In one embodiment, the distributed caching system is a web caching system.

[0063] Step S205: Download the corresponding file to be downloaded to the local target directory based on the download link of each file to be downloaded, and add the file fingerprint and file update time of each file to be downloaded to the result file.

[0064] After the download of the file to be downloaded is completed, the corresponding file fingerprint is obtained from the metadata and added to the result file. The file update time is also recorded in the result file. If the file has not changed when synchronizing a new version of the software, there is no need to recalculate the file fingerprint.

[0065] Step S206: Delete each file to be deleted in the local target directory and the record of each file to be deleted in the result file.

[0066] Files not present in the target version of the software will be deleted to free up storage space, and their records in the resulting files will also be deleted.

[0067] The autonomous driving software synchronization method provided in this application is applied to autonomous vehicles. It obtains the metadata of the target software version based on the version information of the target software version to be acquired. The metadata includes the filename, file fingerprint, and storage path of each file in the target software version and its distributed storage system. It then traverses each file in the local target directory used to store the autonomous driving software files to obtain a result file, which is a record file containing the file fingerprint and update time of each currently stored file. The file fingerprint of each file in the result file is compared with the file fingerprint of each file in the metadata to determine the files to be downloaded and the files to be deleted. Based on the filename, file fingerprint, and storage path of each file to be downloaded, a system is created to retrieve the target software version from the distributed storage system. The system downloads the download link for the corresponding file to be downloaded from the storage system or a distributed cache system connected to the distributed storage system. Based on the download link, the file to be downloaded is downloaded to the local target directory. The file fingerprint and file update time of each file to be downloaded are added to the result file to reduce the download size. In addition, files to be deleted in the local target directory and their records in the result file are deleted. On the vehicle side, only the fingerprint calculation of local files is required, while the fingerprint calculation of the target version software is completed in the cloud. The vehicle side directly obtains the metadata for comparison to determine the files that need to be downloaded and deleted for the current synchronization of the new version software. There is no need to read in all the files of the target version software for calculation and comparison, saving the network and computing resources required for distributing autonomous driving software to vehicles and improving distribution efficiency.

[0068] like Figure 3 As shown, in one embodiment, obtaining the metadata of the target version software based on the version information of the target version software includes:

[0069] Step S301: Generate a loading path based on the version information and the preset metadata file name.

[0070] According to preset rules, the filename of metadata for any version of software is fixed, but it is stored in different paths in the distributed storage system. The relative path of metadata in the distributed storage system is usually generated by combining the version number and the metadata filename. For example, if the version of the target software is v and the preset metadata filename is version.txt, then the relative path is v / version.txt. The loading path is generated based on the relative path and the server address published by the cloud platform, such as https: / / cache.server.com / v / version.txt.

[0071] Step S302: Load the metadata of the target version software from the distributed storage system or the distributed cache system connected to the distributed storage system according to the loading path.

[0072] In one embodiment, the loading path is used to load metadata from a distributed storage system.

[0073] In one embodiment, when the architecture includes a distributed caching system topologically closer to the vehicle, the loading path is used to download the corresponding metadata from the distributed caching system connected to the distributed storage system. The distributed caching system improves object read speed by managing files that users need to read and loading recently frequently used files into the distributed caching system's memory, thus increasing the speed of reading these files. For files not cached in memory, the distributed caching system loads them from the distributed storage system according to the loading path. In one embodiment, the distributed caching system is a web caching system.

[0074] like Figure 4 As shown, in one embodiment, the step of traversing each file in the local target directory to update the result file includes:

[0075] Step S401: Obtain the file update time of any file in the local target directory.

[0076] Randomly or sequentially select a file in the local target directory to begin traversal, first obtaining the file update time of the currently selected file.

[0077] Step S402: Compare the file update time of the file with the file update time recorded in the result file saved after the last synchronization.

[0078] Compare the file update time of the currently selected file with the file update time of the same file recorded in the result file saved after the last synchronization. If they are the same, it means that the file has not changed during this period. If they are different, it means that the file may have changed.

[0079] Step S403: If the file update time of the file is the same as the file update time recorded in the result file saved after the last synchronization, then skip the file.

[0080] Files that have not been modified can be skipped, and there is no need to update any records in the result file.

[0081] Step S404: If the file update time of the file is inconsistent with the file update time recorded in the result file saved after the last synchronization, then calculate the file fingerprint of the file.

[0082] Step S405: Update the file fingerprint and file update time of the file to the result file.

[0083] When update times differ, there is a possibility that files have changed. To ensure the reliability of the target version software synchronization, it is necessary to ensure that the result file can accurately reflect the information of each file at the current time. Therefore, it is necessary to calculate the file fingerprint of the file and update it to the result file.

[0084] In one embodiment, if there is a file that is not recorded in the result file during traversal, the file fingerprint of the file is calculated, and the file fingerprint and file update time are added to the result file.

[0085] In one embodiment, before performing the step of obtaining the metadata of the target version software based on the version information of the target version software, the method further includes:

[0086] Obtain vehicle operation tasks;

[0087] Obtain the version information of the target software based on the vehicle's operational tasks.

[0088] Since autonomous driving software may vary depending on the tasks the vehicle is performing, when the vehicle's operating task is obtained, the target version of the software can be determined based on the task, the version information of the target software can be obtained, and then the target version of the software can be synchronized.

[0089] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0090] The autonomous driving software synchronization device provided in the embodiments of this application is described below. The autonomous driving software synchronization device described below can be referred to in correspondence with the autonomous driving software synchronization method described above.

[0091] like Figure 5 As shown, this application provides an autonomous driving software synchronization device 500, applied to an autonomous vehicle, the device comprising:

[0092] Metadata acquisition module 501 is used to acquire the metadata of the target version software based on the version information of the target version software; the metadata includes the file name, file fingerprint and storage path of each file in the target version software in the distributed storage system;

[0093] The result file update module 502 is used to traverse each file in the local target directory to obtain a result file; wherein, the local target directory is used to store all files of the autonomous driving software, and the result file includes the file fingerprint and file update time of each file of the autonomous driving software;

[0094] The determination module 503 is used to compare the file fingerprint of each file in the result file with the file fingerprint of each file in the metadata to determine the file to be downloaded and the file to be deleted.

[0095] The download link creation module 504 is used to create a download link based on the filename, file fingerprint, and storage path of each file to be downloaded; the download link is used to download the corresponding file to be downloaded from the distributed storage system storing the target version of the software or a distributed cache system connected to the distributed storage system;

[0096] The file download module 505 is used to download the corresponding file to be downloaded to the local target directory based on the download link of each file to be downloaded, and to add the file fingerprint and file update time of each file to be downloaded to the result file;

[0097] The file deletion module 506 is used to delete each file to be deleted in the local target directory and the record of each file to be deleted in the result file.

[0098] In one embodiment, the metadata acquisition module includes:

[0099] The loading path generation unit is used to generate a loading path based on the version information and the preset metadata file name;

[0100] Metadata loading unit, used to load the metadata of the target version software from the distributed storage system or a distributed cache system connected to the distributed storage system according to the loading path.

[0101] In one embodiment, the structure file update module includes:

[0102] An update time acquisition unit is used to acquire the file update time of any file in the local target directory;

[0103] The comparison unit is used to compare the file update time of the file with the file update time recorded in the result file saved after the last synchronization;

[0104] The fingerprint calculation unit is used to calculate the file fingerprint of the file when the file update time of the file is inconsistent with the file update time recorded in the result file saved after the last synchronization.

[0105] The update unit is used to update the file fingerprint and file update time of the file to the result file.

[0106] In one embodiment, the determining module is configured to:

[0107] If any file fingerprint of the metadata is not recorded in the result file, then the file corresponding to the file fingerprint not recorded in the result file is determined as the file to be downloaded;

[0108] If any file fingerprint in the result file is not recorded in the metadata, then the file corresponding to the file fingerprint not recorded in the metadata is identified as a file to be deleted.

[0109] In one embodiment, the autonomous driving software synchronization device further includes:

[0110] The task acquisition module is used to acquire vehicle operation tasks;

[0111] The version information acquisition module is used to acquire the version information of the target version software according to the vehicle operation task.

[0112] The division of modules in the above-described autonomous driving software synchronization device is merely illustrative. In other embodiments, the autonomous driving software synchronization device can be divided into different modules as needed to complete all or part of its functions. Each module in the above-described autonomous driving software synchronization device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.

[0113] In one embodiment, this application also provides a storage medium storing computer-readable instructions that, when executed by one or more processors, cause the one or more processors to perform the following steps:

[0114] The metadata of the target version software is obtained based on the version information of the target version software; the metadata includes the file name, file fingerprint and storage path of each file in the target version software in the distributed storage system;

[0115] The result file is obtained by traversing each file in the local target directory; wherein, the local target directory is used to store all files of the autonomous driving software, and the result file includes the file fingerprint and file update time of each file of the autonomous driving software;

[0116] By comparing the file fingerprint of each file in the result file with the file fingerprint of each file in the metadata, the files to be downloaded and the files to be deleted are determined.

[0117] A download link is created based on the filename, file fingerprint, and storage path of each file to be downloaded; the download link is used to download the corresponding file to be downloaded from the distributed storage system storing the target version of the software or a distributed cache system connected to the distributed storage system.

[0118] Download the corresponding file to be downloaded to the local target directory based on the download link of each file to be downloaded, and add the file fingerprint and file update time of each file to be downloaded to the result file;

[0119] Delete each file to be deleted in the local target directory and the record of each file to be deleted in the result file.

[0120] In one embodiment, the computer-readable instructions, when executed by the processor, further perform the following steps:

[0121] A loading path is generated based on the version information and the preset metadata file name;

[0122] The metadata of the target version software is loaded from the distributed storage system or a distributed cache system connected to the distributed storage system according to the loading path.

[0123] In one embodiment, the computer-readable instructions, when executed by the processor, further perform the following steps:

[0124] Obtain the file update time of any file in the local target directory;

[0125] Compare the file update time of the file with the file update time recorded in the result file saved after the last synchronization.

[0126] If the file update time of the file is inconsistent with the file update time recorded in the result file saved after the last synchronization, then the file fingerprint of the file is calculated;

[0127] Update the file fingerprint and file update time of the file to the result file.

[0128] In one embodiment, the computer-readable instructions, when executed by the processor, further perform the following steps:

[0129] If any file fingerprint of the metadata is not recorded in the result file, then the file corresponding to the file fingerprint not recorded in the result file is determined as the file to be downloaded;

[0130] If any file fingerprint in the result file is not recorded in the metadata, then the file corresponding to the file fingerprint not recorded in the metadata is identified as a file to be deleted.

[0131] In one embodiment, the computer-readable instructions, when executed by the processor, further perform the following steps:

[0132] Obtain vehicle operation tasks;

[0133] The version information of the target software is obtained based on the vehicle operation task.

[0134] In one embodiment, this application also provides a computer device storing computer-readable instructions, wherein when the one or more processors execute the computer-readable instructions, they perform the following steps:

[0135] The metadata of the target version software is obtained based on the version information of the target version software; the metadata includes the file name, file fingerprint and storage path of each file in the target version software in the distributed storage system;

[0136] The result file is obtained by traversing each file in the local target directory; wherein, the local target directory is used to store all files of the autonomous driving software, and the result file includes the file fingerprint and file update time of each file of the autonomous driving software;

[0137] By comparing the file fingerprint of each file in the result file with the file fingerprint of each file in the metadata, the files to be downloaded and the files to be deleted are determined.

[0138] A download link is created based on the filename, file fingerprint, and storage path of each file to be downloaded; the download link is used to download the corresponding file to be downloaded from the distributed storage system storing the target version of the software or a distributed cache system connected to the distributed storage system.

[0139] Download the corresponding file to be downloaded to the local target directory based on the download link of each file to be downloaded, and add the file fingerprint and file update time of each file to be downloaded to the result file;

[0140] Delete each file to be deleted in the local target directory and the record of each file to be deleted in the result file.

[0141] In one embodiment, the processor also performs the following steps when executing computer-readable instructions:

[0142] A loading path is generated based on the version information and the preset metadata file name;

[0143] The metadata of the target version software is loaded from the distributed storage system or a distributed cache system connected to the distributed storage system according to the loading path.

[0144] In one embodiment, the processor also performs the following steps when executing computer-readable instructions:

[0145] Obtain the file update time of any file in the local target directory;

[0146] Compare the file update time of the file with the file update time recorded in the result file saved after the last synchronization.

[0147] If the file update time of the file is inconsistent with the file update time recorded in the result file saved after the last synchronization, then the file fingerprint of the file is calculated;

[0148] Update the file fingerprint and file update time of the file to the result file.

[0149] In one embodiment, the processor also performs the following steps when executing computer-readable instructions:

[0150] If any file fingerprint of the metadata is not recorded in the result file, then the file corresponding to the file fingerprint not recorded in the result file is determined as the file to be downloaded;

[0151] If any file fingerprint in the result file is not recorded in the metadata, then the file corresponding to the file fingerprint not recorded in the metadata is identified as a file to be deleted.

[0152] In one embodiment, the processor also performs the following steps when executing computer-readable instructions:

[0153] Obtain vehicle operation tasks;

[0154] The version information of the target software is obtained based on the vehicle operation task.

[0155] In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as follows: Figure 6As shown, the computer device includes a processor, memory, communication interface, display screen, and input devices connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system and computer programs. The internal memory provides an environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The communication interface is used for wired or wireless communication with external terminals; wireless communication can be achieved through Wi-Fi, mobile cellular networks, NFC (Near Field Communication), or other technologies. When the computer program is executed by the processor, it implements an autonomous driving software synchronization method. The display screen can be an LCD screen or an e-ink screen. The input devices can be a touch layer covering the display screen, buttons, a trackball, or a touchpad on the computer device's casing, or an external keyboard, touchpad, or mouse.

[0156] Those skilled in the art will understand that Figure 6 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0157] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0158] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0159] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "multiple" means at least two, such as two, three, etc., unless otherwise explicitly specified.

[0160] The various embodiments in this specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. The various embodiments can be combined as needed, and the same or similar parts can be referred to each other.

[0161] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method for synchronizing autonomous driving software, characterized in that, Applied to autonomous vehicles, the method includes: Obtain the vehicle operation task, and obtain the version information of the target version software based on the vehicle operation task; The metadata of the target version software is obtained based on the version information of the target version software; the metadata includes the file name, file fingerprint, and storage path of each file in the target version software in the distributed storage system; the file fingerprint is calculated in advance by the autonomous driving software cloud platform based on the file content of each file; The result file is obtained by traversing each file in the local target directory; wherein, the local target directory is used to store all files of the autonomous driving software, and the result file includes the file fingerprint and file update time of each file of the autonomous driving software; By comparing the file fingerprint of each file in the result file with the file fingerprint of each file in the metadata, the files to be downloaded and the files to be deleted are determined. A download link is created based on the filename, file fingerprint, and storage path of each file to be downloaded; the download link is used to download the corresponding file to be downloaded from the distributed storage system storing the target version of the software or a distributed cache system connected to the distributed storage system. Download the corresponding file to be downloaded to the local target directory based on the download link of each file to be downloaded, and add the file fingerprint and file update time of each file to be downloaded to the result file; Delete each file to be deleted in the local target directory and the record of each file to be deleted in the result file.

2. The autonomous driving software synchronization method according to claim 1, characterized in that, The step of obtaining the metadata of the target version software based on the version information of the target version software includes: A loading path is generated based on the version information and the preset metadata file name; The metadata of the target version software is loaded from the distributed storage system or a distributed cache system connected to the distributed storage system according to the loading path.

3. The autonomous driving software synchronization method according to claim 1, characterized in that, The process of traversing each file in the local target directory and updating the result file includes: Obtain the file update time of any file in the local target directory; Compare the file update time of the file with the file update time recorded in the result file saved after the last synchronization. If the file update time of the file is inconsistent with the file update time recorded in the result file saved after the last synchronization, then the file fingerprint of the file is calculated; Update the file fingerprint and file update time of the file to the result file.

4. The autonomous driving software synchronization method according to claim 1, characterized in that, The step of comparing the file fingerprint of each file in the result file with the file fingerprint of each file in the metadata to determine the files to be downloaded and the files to be deleted includes: If any file fingerprint of the metadata is not recorded in the result file, then the file corresponding to the file fingerprint not recorded in the result file is determined as the file to be downloaded; If any file fingerprint in the result file is not recorded in the metadata, then the file corresponding to the file fingerprint not recorded in the metadata is identified as a file to be deleted.

5. The autonomous driving software synchronization method according to claim 1, characterized in that, In the target version of the software, the storage path of each file in the distributed storage system is created based on the file fingerprint of each file.

6. The autonomous driving software synchronization method according to any one of claims 1 to 5, characterized in that, The distributed storage system is an object storage system, and the distributed caching system is a web caching system.

7. An autonomous driving software synchronization device, characterized in that, The device, used in autonomous vehicles, includes: The metadata acquisition module is used to acquire vehicle operation tasks and obtain version information of the target software based on the vehicle operation tasks; and to acquire metadata of the target software based on the version information of the target software; the metadata includes the file name, file fingerprint, and storage path of each file in the target software in the distributed storage system; the file fingerprint is calculated in advance by the autonomous driving software cloud platform based on the file content of each file; The result file update module is used to traverse each file in the local target directory to obtain the result file; wherein, the local target directory is used to store all files of the autonomous driving software, and the result file includes the file fingerprint and file update time of each file of the autonomous driving software; The determination module is used to compare the file fingerprint of each file in the result file with the file fingerprint of each file in the metadata to determine the files to be downloaded and the files to be deleted. The download link creation module is used to create download links based on the filename, file fingerprint, and storage path of each file to be downloaded; the download links are used to download the corresponding file to be downloaded from the distributed storage system storing the target version of the software or a distributed cache system connected to the distributed storage system; The file download module is used to download the corresponding file to the local target directory based on the download link of each file to be downloaded, and to add the file fingerprint and file update time of each file to be downloaded to the result file. The file deletion module is used to delete each file to be deleted in the local target directory and the record of each file to be deleted in the result file.

8. A storage medium, characterized in that: The storage medium stores computer-readable instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of the autonomous driving software synchronization method as described in any one of claims 1 to 6.

9. A computer device, characterized in that, include: One or more processors, and memory; The memory stores computer-readable instructions, and when the one or more processors execute the computer-readable instructions, they perform the steps of the autonomous driving software synchronization method as described in any one of claims 1 to 6.