Vehicle-mounted virtual personal assistant resource updating method and device and computer equipment
By obtaining, packaging, updating and loading the on-board virtual personal assistant resources, the problems of long upgrade time and high development cost of on-board virtual personal assistant system are solved, and the invisible upgrade and user experience improvement are achieved.
Patent Information
- Application Number
- CN202310780331.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-28
- Publication Date
- 2024-12-31
AI Technical Summary
When the existing vehicle virtual personal assistant system is upgraded through over-the-air download technology, the upgrade time is long, time-consuming and labor-intensive, and the development cost is high, especially when it is frequently upgraded.
A method for updating the resources of on-board virtual personal assistants is proposed, including obtaining, packaging, updating and loading on-board virtual personal assistants resources, obtaining action files through 3DMax and Maya, using preset tags to mark resources, encrypting and MD5 value calculations, and checking Compare the version number and download the update file, and finally load and replace the old resource.
It has achieved sensorless upgrades, improved user experience and satisfaction, and reduced after-sales maintenance costs, adapted to the diversity of VPA changes, and provided users with a multi-dimensional experience.
Smart Images

Figure CN119225778A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of vehicle-mounted virtual personal assistants, and in particular to a vehicle-mounted virtual personal assistant resource updating method, device, computer equipment and storage medium. Background Art
[0002] With the popularity of new energy vehicles, especially electric vehicles, in-vehicle voice recognition is combined with in-vehicle virtual personal assistants (Virtual Personal Assistance, VPA), which greatly improves the experience of human-computer interaction. In order to experience a more immersive experience, VPA display is usually displayed in 3D. With the maturity of in-vehicle voice recognition technology, the expression of VPA has become diverse. In order to give users a multi-dimensional and three-dimensional experience, and to adapt to the diversity of VPA changes, so that users can have a more different experience in the time span, the current upgrade method of the smart cockpit system is to upgrade through Over the Air Technology (OTA), which is aimed at the upgrade of the entire software. The disadvantage of this is that the software upgrade time is long. When frequent upgrades are required, it takes a lot of time to upgrade, which is time-consuming and labor-intensive, and the development cost is high. Summary of the invention
[0003] The purpose of the embodiments of the present invention is to propose a method, device, computer equipment and storage medium for updating resources of a vehicle-mounted virtual personal assistant to solve the problem that the current smart cockpit system is upgraded through over-the-air download technology, which is aimed at upgrading the entire software. When frequent upgrades are required, a lot of time is required to upgrade, which is time-consuming, labor-intensive and has high development costs.
[0004] In order to solve the above technical problems, the present invention provides a method for updating resources of a vehicle-mounted virtual personal assistant, which adopts the following technical solution, including:
[0005] Acquire the in-vehicle virtual personal assistant resource;
[0006] Packaging the acquired in-vehicle virtual personal assistant resources;
[0007] Updating the packaged in-vehicle virtual personal assistant resources;
[0008] The updated in-vehicle virtual personal assistant resources are loaded to replace the old in-vehicle virtual personal assistant resources.
[0009] Preferably, the step of obtaining the in-vehicle virtual personal assistant resource specifically includes:
[0010] Get VPA action files through 3DMax and Maya;
[0011] Preferably, the step of packaging the acquired in-vehicle virtual personal assistant resources specifically includes:
[0012] Tagging the acquired in-vehicle virtual personal assistant resources according to a preset tagging rule;
[0013] Packaging the in-vehicle virtual personal assistant resources marked with tags into a resource file;
[0014] Encrypt the packaged resource files;
[0015] Calculate the MD5 value of the encrypted resource file, and create an MD5 file list whose file names correspond to the MD5 value.
[0016] Preferably, the step of updating the packaged in-vehicle virtual personal assistant resources specifically includes:
[0017] Checking the version number of the in-vehicle virtual personal assistant resource to determine whether the in-vehicle virtual personal assistant resource needs to be updated;
[0018] If it is determined that the in-vehicle virtual personal assistant resource needs to be updated, then creating an update file list by comparing the MD5 file list;
[0019] According to the update file list, the in-vehicle virtual personal assistant resources that need to be updated are downloaded.
[0020] Preferably, the step of loading the updated in-vehicle virtual personal assistant resource to replace the old in-vehicle virtual personal assistant resource specifically includes:
[0021] According to the file names and local storage paths in the local MD5 file list, a file loading address list is formed;
[0022] When loading the VPA action controller file, get the list of all dependent action file names based on the reference relationship;
[0023] The in-vehicle virtual personal assistant resource is loaded according to the action file name list and the file loading address list.
[0024] Preferably, after the step of loading the in-vehicle virtual personal assistant resource according to the action file name list and the file loading address list, the method further includes:
[0025] Determining whether the loading of the in-vehicle virtual personal assistant resource is successful;
[0026] If loading of the in-vehicle virtual personal assistant resource fails, attempting to reload it a preset number of times;
[0027] If the reloading fails after reaching the preset number of repeated loading times, a loading failure message will be prompted.
[0028] In order to solve the above technical problems, the present invention further provides a vehicle-mounted virtual personal assistant resource updating device, which adopts the following technical solution, including:
[0029] An acquisition module, used to acquire the in-vehicle virtual personal assistant resource;
[0030] A packaging module, used for packaging the acquired in-vehicle virtual personal assistant resources;
[0031] An updating module, used for updating the packaged in-vehicle virtual personal assistant resources;
[0032] The loading module is used to load the updated in-vehicle virtual personal assistant resources to replace the old in-vehicle virtual personal assistant resources.
[0033] Preferably, the packaging module includes:
[0034] A labeling module, used for labeling the acquired in-vehicle virtual personal assistant resources according to a preset labeling rule;
[0035] A resource module, used for packaging the in-vehicle virtual personal assistant resources marked with tags into a resource file;
[0036] Encryption module, used to encrypt packaged resource files;
[0037] A creation module is used to calculate the MD5 value of the encrypted resource file and create an MD5 file list whose file names correspond to the MD5 value.
[0038] In order to solve the above technical problems, the present invention also provides a computer device, which adopts the technical solution described below, including a memory and a processor, wherein the memory stores computer-readable instructions, and when the processor executes the computer-readable instructions, the steps of the above-mentioned in-vehicle virtual personal assistant resource update method are implemented.
[0039] In order to solve the above technical problems, the present invention also provides a computer-readable storage medium, which adopts the technical solution described below, and stores computer-readable instructions on the computer-readable storage medium. When the computer-readable instructions are executed by the processor, the steps of the above-mentioned in-vehicle virtual personal assistant resource update method are implemented.
[0040] Compared with the prior art, the present invention mainly has the following beneficial effects: by first acquiring in-vehicle virtual personal assistant resources, then packaging the acquired in-vehicle virtual personal assistant resources, then updating the packaged in-vehicle virtual personal assistant resources, and finally loading the updated in-vehicle virtual personal assistant resources to replace the old in-vehicle virtual personal assistant resources; the in-vehicle virtual personal assistant resources can be updated in a targeted manner to achieve the purpose of modifying the VPA action performance and action decision, which can provide users with a multi-dimensional and three-dimensional experience and adapt to the diversity of VPA changes; it can achieve seamless upgrades, effectively improve user experience and satisfaction, and effectively reduce after-sales maintenance costs. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] In order to more clearly illustrate the scheme in the present invention, a brief introduction is given below to the drawings required for use in the description of the embodiments of the present invention. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0042] Figure 1 is an exemplary system architecture diagram in which the present invention can be applied;
[0043] Figure 2 is a flow chart of an embodiment of a method for updating resources of a vehicle-mounted virtual personal assistant of the present invention;
[0044] Figure 3 is a schematic diagram of an action controller used in the vehicle-mounted virtual personal assistant resource update method of the present invention;
[0045] Figure 4 is a flowchart of a specific implementation of step S2 in the vehicle-mounted virtual personal assistant resource update method of the present invention;
[0046] Figure 5 It is a schematic diagram of the UnityWebRequest architecture used in the vehicle-mounted virtual personal assistant resource update method of the present invention;
[0047] Figure 6 is a flowchart of a specific implementation of step S3 in the vehicle-mounted virtual personal assistant resource update method of the present invention;
[0048] Figure 7 is a flowchart of a specific implementation of step S4 in the vehicle-mounted virtual personal assistant resource update method of the present invention;
[0049] Figure 8 is a structural schematic diagram of an embodiment of a vehicle-mounted virtual personal assistant resource updating device of the present invention;
[0050] Fig. 9 is a structural schematic diagram of another embodiment of the vehicle-mounted virtual personal assistant resource updating device of the present invention;
[0051] Fig.10 It is a schematic structural diagram of an embodiment of a computer device of the present invention. DETAILED DESCRIPTION
[0052] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by technicians in the technical field of the present invention; the terms used in the specification of the application herein are only for the purpose of describing specific embodiments and are not intended to limit the present invention; the terms "including" and "having" and any variations thereof in the specification and claims of the present invention and the above-mentioned drawings are intended to cover non-exclusive inclusions. The terms "first", "second", etc. in the specification and claims of the present invention or the above-mentioned drawings are used to distinguish different objects, not to describe a specific order.
[0053] Reference to "embodiments" herein means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present invention. The appearance of the phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.
[0054] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings.
[0055] like Figure 1 As shown, the system architecture 100 may include a first terminal device 101, a second terminal device 102, a third terminal device 103, a network 104, and a server 105. The network 104 is used to provide a medium for a communication link between the first terminal device 101, the second terminal device 102, the third terminal device 103, and the server 105. The network 104 may include various connection types, such as wired, wireless communication links, or optical fiber cables, etc.
[0056] The user can use the first terminal device 101, the second terminal device 102 or the third terminal device 103 to interact with the server 105 through the network 104 to receive or send messages, etc. Various communication client applications can be installed on the first terminal device 101, the second terminal device 102, and the third terminal device 103, such as web browser applications, shopping applications, search applications, instant messaging tools, email clients, social platform software, etc.
[0057] The first terminal device 101, the second terminal device 102, and the third terminal device 103 can be various electronic devices with display screens and supporting web browsing, including but not limited to smart phones, tablet computers, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III), MP4 (Moving Picture Experts Group Audio Layer IV) players, laptop computers, desktop computers, etc.
[0058] The server 105 may be a server that provides various services, for example, a background server that provides support for pages displayed on the first terminal device 101 , the second terminal device 102 , and the third terminal device 103 .
[0059] It should be noted that the vehicle-mounted virtual personal assistant resource update method provided in the embodiment of the present invention is generally executed by a server / terminal device, and accordingly, the vehicle-mounted virtual personal assistant resource update device is generally arranged in the server / terminal device. The embodiment of the present invention is based on the Unity3d engine to update the action resources and decisions of the vehicle-mounted virtual personal assistant. Through the update of action resources and decisions, the VPA action performance is made more diverse. The car on which the embodiment of the present invention relies has an intelligent cockpit system of the Android system, which relies on cloud services to provide action resources and decision storage. The innovation of the embodiment of the present invention is that the update process is inside the VPA software. The embodiment of the present invention mainly solves the purpose of modifying the VPA action performance and action decision by updating the VPA action resources and decisions during the VPA startup process.
[0060] It should be understood that Figure 1 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to implementation requirements.
[0061] Embodiment 1
[0062] Continue to refer Figure 2 , shows a flow chart of an embodiment of a method for updating resources of a vehicle-mounted virtual personal assistant of the present invention. The method for updating resources of a vehicle-mounted virtual personal assistant comprises the following steps:
[0063] Step S1, obtaining in-vehicle virtual personal assistant resources.
[0064] In this embodiment, the vehicle-mounted virtual personal assistant resource update method is executed on the electronic device (eg Figure 1The server / terminal device shown in the figure can receive the in-vehicle virtual personal assistant resource update request through a wired connection or a wireless connection. It should be noted that the above wireless connection method may include but is not limited to 3G / 4G / 5G connection, WiFi connection, Bluetooth connection, WiMAXX connection, Zigbee connection, UWB (ultra wideband) connection, and other wireless connection methods currently known or to be developed in the future.
[0065] The Unity3d engine is a real-time 3D development platform, mainly used to develop VPA action displays. Figure 3 Schematic diagram of the action controller used in the vehicle-mounted virtual personal assistant resource update method of the present invention. The action controller refers to a file created by the Unity3d engine. Figure 3 As shown, the square bar ① indicates that the action contains the reference of the action file, that is to say, the action controller file contains the reference relationship of these action files, and the corresponding actions can be found through the action controller; the pointing arrow ② indicates the transition and condition between actions, which means that, for example, when the current VPA is playing leisure actions, when the conditional instruction to play dance actions is reached, the difference calculation will be automatically performed during the switching to dance actions, so that the transition of VPA from leisure actions to dance actions is smoother. For example, 1000000, 1000001, 1000002, 1000003, etc. respectively represent leisure actions, dance actions, reading actions, listening to music actions, etc. The embodiment of the present invention is to handle the process of updating the VPA action controller file and the action files referenced by the square bar ① during the VPA startup process.
[0066] In this embodiment, step S1 may further include the following steps:
[0067] S11. Obtain VPA action files through 3DMax and Maya.
[0068] The VPA action file can be designed by the designer through 3DMax, Maya and other software, and the VPA action file can be obtained through 3DMax and Maya.
[0069] S12: Obtain a decision profile related to the VPA action.
[0070] The decision profile may be a decision for switching between various actions designed by the designer, that is, logic and conditions for action switching.
[0071] Step S2: Packaging the acquired in-vehicle virtual personal assistant resources.
[0072] In this embodiment, step S2 may further include the following steps:
[0073] S21. Label the acquired in-vehicle virtual personal assistant resources according to preset labeling rules.
[0074] Tagging refers to tagging files in a folder. You can tag files in a folder randomly, or you can customize tags for specific files in a folder. The packaging tool uses these tags to package files in order to filter out the files to be packaged during the packaging process.
[0075] The preset marking rule refers to the pre-set rules for labeling files in the folder. For example, if it is an action file, the action file will be labeled, and if it is a material file or an image file, it will be directly filtered out without labeling.
[0076] S22. Pack the labeled in-vehicle virtual personal assistant resources into a resource file.
[0077] Unity3d's AssetBundle is used to package resources. AssetBundle is an archive file that contains platform-specific non-code resources (such as models, textures, prefabs, audio clips, and even entire scenes) that can be loaded by Unity at runtime. AssetBundles can represent dependencies between each other; for example, a material in one AssetBundle can reference a texture in another AssetBundle. To improve the efficiency of transmission over the network, you can choose to compress the AssetBundle using a built-in algorithm based on the use case requirements (LZMA and LZ4). AssetBundles can be used for downloadable content (DLC), reduce the initial installation size, load resources optimized for the end-user platform, and reduce runtime memory pressure.
[0078] S23, encrypting the packaged resource files.
[0079] The packaged resource files can be encrypted using AES. The AES encryption process involves four operations, namely byte substitution, row shift, column confusion, and round key addition. The decryption process is the corresponding inverse operation. Since each operation is reversible, the plaintext can be restored by decrypting in the reverse order. The key for each round of encryption and decryption is expanded from the initial key.
[0080] S24, calculating the MD5 value of the encrypted resource file, and creating an MD5 file list corresponding to the file name and the MD5 value.
[0081] In order to quickly compare the differences between files, calculate the MD5 value of the encrypted resource file. Create an MD5 file list with the file name and MD5 value corresponding to it for use when the resource update system is updated.
[0082] Figure 4 FIG. 1 is a flowchart of a specific implementation of step S2 in the vehicle-mounted virtual personal assistant resource update method of the present invention. Figure 4 As shown, the process of packaging the acquired in-vehicle virtual personal assistant resources includes the following steps:
[0083] S201: Label the VPA action file and the decision configuration file.
[0084] S202: Determine whether there are old packaged resources. If yes, proceed to step S203; otherwise, proceed to step S204.
[0085] After packaging, the files will be stored in a specified folder. You only need to determine whether there are files in this folder. If there are files, they are old files left over from the last packaging and need to be deleted.
[0086] S203, deleting old packaged resources.
[0087] You can delete old packaged resources through the file deletion command File.Delete.
[0088] S204: Pack the files marked with the tag.
[0089] S205, encrypting the packaged file with AES.
[0090] AES is the Advanced Encryption Standard, also known as Rijndael encryption in cryptography. It is a block encryption standard adopted by the US federal government. This standard is used to replace the original DES and has been widely used around the world. At the same time, AES has become one of the most popular algorithms in symmetric key encryption. AES supports three key lengths: 128 bits, 192 bits, and 256 bits.
[0091] S206, calculating the MD5 value of the encrypted file, and creating an MD5 file list corresponding to the file name and the MD5 value.
[0092] Use WriteLine in StreamWriter to write the MD5 value corresponding to the file name into the Txt document file in the format of: file name | MD5 value.
[0093] Step S3: updating the packaged in-vehicle virtual personal assistant resources.
[0094] In this embodiment, step S3 may further include the following steps:
[0095] S31. Check the version number of the in-vehicle virtual personal assistant resource to determine whether the in-vehicle virtual personal assistant resource needs to be updated.
[0096] First, download the resource version number file. The version number file stores the maximum version number corresponding to each major version. Check these version number information with the version number in the software to see if the in-vehicle virtual personal assistant resources need to be updated. The resource version number file is created by the designer to record the version information of the VPA. For example, the first version can be 20230626001, and the next version will increase by one. If the version number in the version information of the VPA on the vehicle side is 20230626005, and the maximum version number in the version number file on the server already exists as 20230626006, it means that the resource file in the server is newer than the resource file in the VPA software, so it needs to be updated. Otherwise, it does not need to be updated, and the maximum version number in the server needs to be edited.
[0097] S32: If it is determined that the in-vehicle virtual personal assistant resources need to be updated, a list of updated files is created by comparison based on the MD5 file list.
[0098] First, determine whether there is an MD5 file list locally. If there is no file list locally, copy the MD5 file list and corresponding resource files in the software package to the local computer. If there is, proceed to the next step, download the latest MD5 file list from the cloud server, and then calculate the MD5 value of the server MD5 file list file just downloaded and compare it with the MD5 value of the file in the local MD5 file list. If the comparison results are consistent, it means that the resources in the cloud server and the local resources are consistent and do not need to be updated. If they are inconsistent, an update is required. At this time, compare the MD5 values of the files in the MD5 file list downloaded from the cloud server with the MD5 values of the files in the local MD5 file list, and check out the inconsistent files to form the updated file list.
[0099] S33. Download the in-vehicle virtual personal assistant resources that need to be updated according to the update file list.
[0100] The update file list obtained in step S32 is updated through the UnityWebRequest system. Figure 5 Schematic diagram of the UnityWebRequest architecture used in the vehicle-mounted virtual personal assistant resource update method of the present invention. Figure 5As shown, UnityWebRequest is a system for processing HTTP requests provided by Unity3d. UnityWebRequest is a system module provided by Unity3d. The UnityWebRequest ecosystem decomposes HTTP transactions into three different operations: first, providing data to the server; second, receiving data from the server, and third, HTTP flow control. The UploadHandler object handles the transmission of data to the server. The DownloadHandler object handles the reception, buffering, and post-processing of data received from the server. The UnityWebRequest object manages the other two objects and also handles HTTP flow control.
[0101] Figure 6 FIG. 1 is a flowchart of a specific implementation of step S3 in the vehicle-mounted virtual personal assistant resource update method of the present invention. Figure 6 As shown, the process of updating the packaged in-vehicle virtual personal assistant resources includes the following steps:
[0102] S301, determine whether there is a local MD5 value file list file, if not, go to step S302, if yes, go to step S303.
[0103] S302: Copy the MD5 file list file in the VPA software package and the files recorded in the MD5 file list to a local folder.
[0104] S303: Check the version number.
[0105] First, determine the first version, for example, it can be 20230626001, and the version numbers of subsequent versions are incremented by one. If the version number in the version information of the VPA on the vehicle side is 20230626005, and the maximum version number in the version number file on the server already exists as 20230626006, it means that the resource file in the server is newer than the resource file in the VPA software, so it needs to be updated. Otherwise, it does not need to be updated. The editing of the maximum version number in the server requires manual editing.
[0106] S304: Determine whether the file needs to be updated, if yes, proceed to step S305.
[0107] S305 , compare the MD5 values of the local file and the remote MD5 file list file to obtain an updated file list.
[0108] The VPA software will have a local file MD5 file list file inside, and the server will also have an MD5 file list file. The MD5 file list file stores a large number of txt text files in the format of [file name | MD5 value]. The MD5 value is equivalent to the file ID, and its value is unique. By comparing the MD5 values of the two text files to see if they are consistent, you can determine whether they need to be updated. If they are consistent, it means that the two text files are the same, and the contents are also the same, so there is no content to be updated. If they are inconsistent, there may be content that needs to be updated. At this time, the following steps are required to determine which specific content to update.
[0109] S306: Update and replace the file by updating the file list.
[0110] Updating files is done through UnityWebRequest, and the file is saved through File.WriteAllBytes. If the file exists, it will be overwritten.
[0111] Step S4: Load the updated in-vehicle virtual personal assistant resources.
[0112] It should be noted that updating refers to downloading server resource files to the local hard disk, and loading refers to loading resources from the local hard disk into the memory to replace the old in-vehicle virtual personal assistant resources.
[0113] In this embodiment, step S4 may further include the steps of:
[0114] S41. Combining the file names and local storage paths in the local MD5 file list into a file loading address list.
[0115] The absolute path of the resource storage obtained through Application.persistentDataPath and the file name recorded in the MD5 file list can be combined to get the absolute path of the specific file.
[0116] S42. When loading the VPA action controller file, a list of all dependent action file names is obtained according to the reference relationship.
[0117] The VPA action controller file is created by the Unity3d engine. The VPA action controller file contains references to all actions. By loading the VPA action controller file, you can find the names of all action files, and then use the MD5 file list to get the loading address and load the action file.
[0118] S43: Load the in-vehicle virtual personal assistant resources according to the action file name list and the file loading address list.
[0119] The addresses of all resources are known by combining the addresses in step S41, and then loaded through AssetBundle.LoadFromFile. AssetBundle is a Unity3d resource management tool.
[0120] Figure 7 FIG. 4 is a flowchart of a specific implementation of step S4 in the vehicle-mounted virtual personal assistant resource update method of the present invention. Figure 7 As shown, the process of loading the updated in-vehicle virtual personal assistant resource to replace the old in-vehicle virtual personal assistant resource includes the following steps:
[0121] S401. Synthesize a file loading address list according to the file names in the local MD5 file list and the local storage paths.
[0122] S402: Obtain a list of all action file names according to the reference relationship of the VPA action controller.
[0123] S403: Load the required files according to the action name list and the file loading address list.
[0124] S404, determine whether the loading is successful, if not, go to step S405, if yes, go to step S406.
[0125] Load via AssetBundle.LoadFromFile, AssetBundle.
[0126] LoadFromFile will record whether the loading is successful. AssetBundle is a Unity3d resource management tool.
[0127] S405, update the cloud service file (referring to the update file stored in the server. During the update process, a file may not be updated successfully due to some reasons. At this time, the loading will definitely prompt that the loading is unsuccessful. At this time, you can enter the update step to update the file locally) to the local.
[0128] It should be noted that cloud service files refer to update files stored in the server. During the update process, a file may not be updated successfully due to some reasons. At this time, the loading will definitely prompt that the loading failed. At this time, you can enter the update step to update the file locally.
[0129] S406: It is indicated that the file has been updated successfully.
[0130] In order to avoid the failure of loading the in-vehicle virtual personal assistant resources due to network failure or human factors, the loading can be attempted again after a loading failure. In some optional implementations of this embodiment, after step S43, the electronic device may further perform the following steps:
[0131] S5. Determine whether the loading of the in-vehicle virtual personal assistant resource is successful.
[0132] S6. If loading of the in-vehicle virtual personal assistant resource fails, attempt to reload it with a preset number of repeated loading times.
[0133] The preset number of repeated loading times can be set according to the current network busyness. If the network environment is complex, due to the problem of transmission bandwidth, the preset number of repeated loading times can be set higher, such as 4 to 6 times. If the network environment is simple, the probability of a successful loading in one time is relatively high, and the preset number of repeated loading times can be set lower, such as 1 to 3 times.
[0134] S7. If the reloading fails after reaching the preset number of repeated loading times, a loading failure message is prompted.
[0135] It should be emphasized that in order to further ensure the privacy and security of the above-mentioned in-vehicle virtual personal assistant resource information, the above-mentioned in-vehicle virtual personal assistant resource information can also be stored in a node of a blockchain.
[0136] The blockchain referred to in this invention is a new application mode of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, encryption algorithm, etc. Blockchain is essentially a decentralized database, a string of data blocks generated by cryptographic methods. Each data block contains a batch of network transaction information, which is used to verify the validity of its information (anti-counterfeiting) and generate the next block. Blockchain can include the underlying blockchain platform, platform product service layer, and application service layer.
[0137] The beneficial effects of implementing this embodiment are as follows: by first acquiring the vehicle-mounted virtual personal assistant resources, then packaging the acquired vehicle-mounted virtual personal assistant resources, then updating the packaged vehicle-mounted virtual personal assistant resources, and finally loading the updated vehicle-mounted virtual personal assistant resources to replace the old vehicle-mounted virtual personal assistant resources; the vehicle-mounted virtual personal assistant resources can be updated in a targeted manner to achieve the purpose of modifying the VPA action performance and action decision-making, which can provide users with a multi-dimensional and three-dimensional experience and adapt to the diversity of VPA changes; it can achieve a seamless upgrade, effectively improve user experience and satisfaction, and effectively reduce after-sales maintenance costs.
[0138] The present invention can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronic devices, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, etc. The present invention can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present invention can also be practiced in distributed computing environments, in which tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media including storage devices.
[0139] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through computer-readable instructions, and the computer-readable instructions can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, the aforementioned storage medium can be a non-volatile storage medium such as a disk, an optical disk, a read-only memory (ROM), or a random access memory (RAM).
[0140] It should be understood that, although the steps in the flowchart of the accompanying drawings are displayed in sequence as indicated by the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least a part of the steps in the flowchart of the accompanying drawings may include multiple sub-steps or multiple stages, and these sub-steps or stages are not necessarily executed at the same time, but can be executed at different times, and their execution order is not necessarily sequential, but can be executed in turn or alternately with other steps or at least a part of the sub-steps or stages of other steps.
[0141] Embodiment 2
[0142] Further references Figure 8 , as a response to the above Figure 2 The present invention provides an embodiment of a vehicle-mounted virtual personal assistant resource updating device, and the device embodiment is similar to Figure 2 Corresponding to the method embodiment shown, the device can be specifically applied to various electronic devices.
[0143] like Figure 8 As shown, the vehicle-mounted virtual personal assistant resource updating device 50 of this embodiment includes: an acquisition module 51, a packaging module 52, an update module 53 and a loading module 54. Among them:
[0144] An acquisition module 51 is used to acquire in-vehicle virtual personal assistant resources;
[0145] A packaging module 52, used for packaging the acquired in-vehicle virtual personal assistant resources;
[0146] An updating module 53, used for updating the packaged in-vehicle virtual personal assistant resources;
[0147] The loading module 54 is used to load the updated in-vehicle virtual personal assistant resources to replace the old in-vehicle virtual personal assistant resources.
[0148] The acquisition module 51 further includes:
[0149] VPA action file acquisition module, used to obtain VPA action files through 3DMax and Maya;
[0150] The decision configuration file acquisition module is used to acquire the decision configuration file related to the VPA action.
[0151] The packaging module 52 further includes:
[0152] The marking module 521 is used to label the acquired in-vehicle virtual personal assistant resources according to a preset marking rule;
[0153] The resource module 522 is used to package the labeled in-vehicle virtual personal assistant resources into a resource file;
[0154] The encryption module 523 is used to encrypt the packaged resource files;
[0155] The creation module 524 is used to calculate the MD5 value of the encrypted resource file and create an MD5 file list whose file names correspond to the MD5 values.
[0156] The update module 53 further includes:
[0157] A checking module 531 is used to check the version number of the in-vehicle virtual personal assistant resource and determine whether the in-vehicle virtual personal assistant resource needs to be updated;
[0158] The comparison module 532 is used to determine that the in-vehicle virtual personal assistant resources need to be updated, and then create an update file list based on the MD5 file list;
[0159] The download module 533 is used to download the in-vehicle virtual personal assistant resources that need to be updated according to the update file list.
[0160] The loading module 54 further comprises:
[0161] A synthesis module 541 is used to combine the file names and local storage paths in the local MD5 file list into a file loading address list;
[0162] List module 542, used to obtain a list of all dependent action file names according to the reference relationship when loading the VPA action controller file;
[0163] The processing module 543 is used to load the in-vehicle virtual personal assistant resources according to the action file name list and the file loading address list.
[0164] In some optional implementations of this embodiment, the vehicle-mounted virtual personal assistant resource updating device 50 further includes:
[0165] A determination module 55, used to determine whether the loading of the in-vehicle virtual personal assistant resources is successful;
[0166] A reloading module 56, configured to attempt to reload the vehicle virtual personal assistant resource by a preset number of repeated loading times if loading the vehicle virtual personal assistant resource fails;
[0167] The prompt module 57 is used to prompt a loading failure message if the reloading fails after reaching a preset number of repeated loading times.
[0168] By using the judgment module 55, the reloading module 56 and the prompting module 57, the probability of successful loading can be increased, and the situation of loading failure due to network transmission or human reasons can be avoided.
[0169] Fig. 9 FIG. 1 is a schematic diagram of another embodiment of the vehicle-mounted virtual personal assistant resource updating device of the present invention. Fig. 9 As shown, a vehicle-mounted virtual personal assistant resource update device includes a resource packaging system, a resource update system and a resource loading system. The resource packaging system is used for file tagging, file packaging, file AES encryption and file MD5 value calculation to obtain MD5 file list files, etc. The resource update system is used for local MD5 file list file inspection, version number inspection, MD5 file list MD5 value comparison, MD5 value comparison of files in MD5 file list, creation of update file list, update and replacement files, etc. The resource loading system is used to create a file loading address list according to the file name and local folder path in the local MD5 file list, obtain the action file name list it depends on according to the VPA action controller, obtain the corresponding address according to the file name and the file loading address list, and load the file according to the corresponding address.
[0170] The implementation of this embodiment has the following beneficial effects: the acquisition module first acquires the vehicle-mounted virtual personal assistant resources, the packaging module then packages the acquired vehicle-mounted virtual personal assistant resources, the update module then updates the packaged vehicle-mounted virtual personal assistant resources, and finally the loading module loads the updated vehicle-mounted virtual personal assistant resources to replace the old vehicle-mounted virtual personal assistant resources; the vehicle-mounted virtual personal assistant resources can be updated in a targeted manner to achieve the purpose of modifying the VPA action performance and action decision, which can provide users with a multi-dimensional and three-dimensional experience and adapt to the diversity of VPA changes; it can achieve a seamless upgrade, effectively improve user experience and satisfaction, and effectively reduce after-sales maintenance costs.
[0171] Embodiment 3
[0172] To solve the above technical problems, the embodiment of the present invention also provides a computer device. Fig.10 , Fig.10 This is a basic structural block diagram of the computer device in this embodiment.
[0173] The above-mentioned computer device 6 includes a memory 61, a processor 62, and a network interface 63 that are interconnected through a system bus. It should be noted that the figure only shows a computer device 6 having components of a memory 61, a processor 62, and a network interface 63, but it should be understood that it is not required to implement all the components shown, and more or fewer components can be implemented instead. Among them, those skilled in the art can understand that the computer device here is a device that can automatically perform numerical calculations and / or information processing according to pre-set or stored instructions, and its hardware includes but is not limited to a microprocessor, an application specific integrated circuit (ASIC), a programmable gate array (FPGA), a digital processor (DSP), an embedded device, etc.
[0174] The computer device may be a desktop computer, a notebook computer, a PDA, a cloud server, etc. The computer device may interact with the user through a keyboard, a mouse, a remote control, a touch pad, or a voice control device.
[0175] The memory 61 includes at least one type of readable storage medium, including flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, disk, optical disk, etc. In some embodiments, the memory 61 may be an internal storage unit of the computer device 6, such as a hard disk or memory of the computer device 6. In other embodiments, the memory 61 may also be an external storage device of the computer device 6, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (FlashCard), etc. equipped on the computer device 6. Of course, the memory 61 may also include both the internal storage unit of the computer device 6 and its external storage device. In this embodiment, the memory 61 is generally used to store the operating system and various application software installed on the computer device 6, such as computer-readable instructions of the vehicle-mounted virtual personal assistant resource update method, etc. In addition, the memory 61 can also be used to temporarily store various types of data that have been output or are to be output.
[0176] The processor 62 may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other data processing chips in some embodiments. The processor 62 is generally used to control the overall operation of the computer device 6. In this embodiment, the processor 62 is used to run the computer-readable instructions stored in the memory 61 or process data, such as running the computer-readable instructions of the vehicle-mounted virtual personal assistant resource update method.
[0177] The network interface 63 may include a wireless network interface or a wired network interface. The network interface 63 is generally used to establish a communication connection between the computer device 6 and other electronic devices.
[0178] The beneficial effects of implementing this embodiment are as follows: by first acquiring the vehicle-mounted virtual personal assistant resources, then packaging the acquired vehicle-mounted virtual personal assistant resources, then updating the packaged vehicle-mounted virtual personal assistant resources, and finally loading the updated vehicle-mounted virtual personal assistant resources to replace the old vehicle-mounted virtual personal assistant resources; the vehicle-mounted virtual personal assistant resources can be updated in a targeted manner to achieve the purpose of modifying the VPA action performance and action decision-making, which can provide users with a multi-dimensional and three-dimensional experience and adapt to the diversity of VPA changes; it can achieve a seamless upgrade, effectively improve user experience and satisfaction, and effectively reduce after-sales maintenance costs.
[0179] Embodiment 4
[0180] The present invention also provides another embodiment, namely, providing a computer-readable storage medium, which stores computer-readable instructions. The computer-readable instructions can be executed by at least one processor to enable the at least one processor to perform the steps of the in-vehicle virtual personal assistant resource update method as described above.
[0181] The beneficial effects of implementing this embodiment are as follows: by first acquiring the vehicle-mounted virtual personal assistant resources, then packaging the acquired vehicle-mounted virtual personal assistant resources, then updating the packaged vehicle-mounted virtual personal assistant resources, and finally loading the updated vehicle-mounted virtual personal assistant resources to replace the old vehicle-mounted virtual personal assistant resources; the vehicle-mounted virtual personal assistant resources can be updated in a targeted manner to achieve the purpose of modifying the VPA action performance and action decision-making, which can provide users with a multi-dimensional and three-dimensional experience and adapt to the diversity of VPA changes; it can achieve a seamless upgrade, effectively improve user experience and satisfaction, and effectively reduce after-sales maintenance costs.
[0182] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the various embodiment methods of the present invention.
[0183] Obviously, the embodiments described above are only some embodiments of the present invention, rather than all embodiments. The preferred embodiments of the present invention are given in the accompanying drawings, but they do not limit the patent scope of the present invention. The present invention can be implemented in many different forms. On the contrary, the purpose of providing these embodiments is to make the understanding of the disclosure of the present invention more thorough and comprehensive. Although the present invention has been described in detail with reference to the aforementioned embodiments, for those skilled in the art, it is still possible to modify the technical solutions recorded in the aforementioned specific embodiments, or to perform equivalent replacements for some of the technical features therein. Any equivalent structure made using the contents of the specification and drawings of the present invention, directly or indirectly used in other related technical fields, is also within the scope of patent protection of the present invention.
Claims
1. A method for updating resources of a vehicle-mounted virtual personal assistant, characterized in that: The steps include: Acquire the in-vehicle virtual personal assistant resource; Packaging the acquired in-vehicle virtual personal assistant resources; Updating the packaged in-vehicle virtual personal assistant resources; The updated in-vehicle virtual personal assistant resources are loaded to replace the old in-vehicle virtual personal assistant resources.
2. The method for updating in-vehicle virtual personal assistant resources according to claim 1, characterized in that: The step of obtaining the in-vehicle virtual personal assistant resource specifically includes: Get VPA action files through 3DMax and Maya; Obtain a decision profile related to the VPA action.
3. The method for updating in-vehicle virtual personal assistant resources according to claim 1, characterized in that: The step of packaging the acquired in-vehicle virtual personal assistant resources specifically includes: Tagging the acquired in-vehicle virtual personal assistant resources according to a preset tagging rule; Packaging the in-vehicle virtual personal assistant resources marked with tags into a resource file; Encrypt the packaged resource files; Calculate the MD5 value of the encrypted resource file, and create an MD5 file list whose file names correspond to the MD5 value.
4. The method for updating resources of a vehicle-mounted virtual personal assistant according to claim 3, characterized in that: The step of updating the packaged in-vehicle virtual personal assistant resources specifically includes: Checking the version number of the in-vehicle virtual personal assistant resource to determine whether the in-vehicle virtual personal assistant resource needs to be updated; If it is determined that the in-vehicle virtual personal assistant resource needs to be updated, then creating an update file list by comparing the MD5 file list; According to the update file list, the in-vehicle virtual personal assistant resources that need to be updated are downloaded.
5. The method for updating resources of a vehicle-mounted virtual personal assistant according to claim 4, characterized in that: The step of loading the updated in-vehicle virtual personal assistant resource to replace the old in-vehicle virtual personal assistant resource specifically includes: According to the file names and local storage paths in the local MD5 file list, a file loading address list is formed; When loading the VPA action controller file, get the list of all dependent action file names based on the reference relationship; The in-vehicle virtual personal assistant resource is loaded according to the action file name list and the file loading address list.
6. The method for updating resources of a vehicle-mounted virtual personal assistant according to claim 5, characterized in that: After the step of loading the in-vehicle virtual personal assistant resource according to the action file name list and the file loading address list, the step further includes: Determining whether the loading of the in-vehicle virtual personal assistant resource is successful; If loading of the in-vehicle virtual personal assistant resource fails, attempting to reload it a preset number of times; If the reloading fails after reaching the preset number of repeated loading times, a loading failure message will be prompted.
7. A vehicle-mounted virtual personal assistant resource updating device, characterized in that: include: An acquisition module, used to acquire the in-vehicle virtual personal assistant resource; A packaging module, used for packaging the acquired in-vehicle virtual personal assistant resources; An updating module, used for updating the packaged in-vehicle virtual personal assistant resources; The loading module is used to load the updated in-vehicle virtual personal assistant resources to replace the old in-vehicle virtual personal assistant resources.
8. The vehicle-mounted virtual personal assistant resource updating device according to claim 7, characterized in that: The packaging module includes: A labeling module, used for labeling the acquired in-vehicle virtual personal assistant resources according to a preset labeling rule; A resource module, used for packaging the in-vehicle virtual personal assistant resources marked with tags into a resource file; Encryption module, used to encrypt packaged resource files; A creation module is used to calculate the MD5 value of the encrypted resource file and create an MD5 file list whose file names correspond to the MD5 value.
9. A computer device comprising a memory and a processor, wherein the memory stores computer-readable instructions, and when the processor executes the computer-readable instructions, the steps of the in-vehicle virtual personal assistant resource update method as described in any one of claims 1 to 6 are implemented.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-readable instructions, which, when executed by a processor, implement the steps of the in-vehicle virtual personal assistant resource update method according to any one of claims 1 to 6.
