Vehicle remote control methods, devices, communication equipment, readable storage media, and program products

By calculating the time difference on the communication server and temporarily storing the remote control command before the authentication time is up, the problem of users waiting for vehicle execution feedback is solved, the parallel transmission of remote control commands is realized, the efficiency of vehicle remote control is improved and the improvement cost is reduced.

CN120017682BActive Publication Date: 2025-10-31CHONGQING SELIS PHOENIX INTELLIGENT INNOVATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411254928.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-09
Publication Date
2025-10-31
Estimated Expiration
2044-09-09

AI Technical Summary

Technical Problem

After sending a remote control command, the user has to wait for the vehicle to complete the execution and provide feedback before sending the next command, which affects the efficiency of remote vehicle control.

Method used

When obtaining remote control commands on the communication server, the time difference is calculated and the command is temporarily stored if the authentication time is not full. The command is sent only after the time difference is greater than or equal to the authentication time. The command sending order is managed by using a preset queue and expiration time.

Benefits of technology

It enables parallel transmission of remote control commands, improves the efficiency of vehicle remote control, reduces user waiting time, lowers hardware and software improvement costs, and enhances versatility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120017682B_ABST
    Figure CN120017682B_ABST
Patent Text Reader

Abstract

This application relates to a vehicle remote control method, apparatus, communication device, computer-readable storage medium, and computer program product. The method is applied to a communication server between a user control terminal and a vehicle. The method includes: upon receiving a remote control command from the user control terminal via a first middleware, obtaining the current time and the issuance time of a preceding remote control command; obtaining the time difference between the current time and the issuance time; if the time difference is less than the authentication duration corresponding to the preceding remote control command, temporarily storing the remote control command until the time difference is greater than or equal to the authentication duration, and then sending the temporarily stored remote control command to the vehicle via a second middleware. This method enables parallel execution of remote control commands, improves the efficiency of vehicle remote control, and has low cost, short development cycle, and greater versatility.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of vehicle technology, and in particular to a vehicle remote control method, device, communication equipment, computer-readable storage medium, and computer program product. Background Technology

[0002] Remote vehicle control, also known as remote vehicle operation, typically involves using mobile devices (such as smartphones or tablets) to remotely control the vehicle. Users send a remote control command (such as opening windows, turning on the air conditioning, or activating the sunroof) from their mobile device. This command is then transmitted to the vehicle after passing through several intermediary services. For example, users can install an app on their phone and send remote control commands through the app to control the car remotely.

[0003] Currently, after a user sends a remote control command on the user control terminal, they must wait for the vehicle to execute the command and receive feedback on the execution result from the vehicle before they can send the next remote control command on the user control terminal. This affects the efficiency of remote vehicle control. Summary of the Invention

[0004] Therefore, it is necessary to provide a vehicle remote control method, device, communication equipment, computer-readable storage medium, and computer program product to address the aforementioned technical problems, so as to support users in sending two or more remote control commands by clicking, thereby improving the efficiency of vehicle remote control.

[0005] In a first aspect, this application provides a vehicle remote control method applied to a communication server, wherein the communication server is used for communication between a user control terminal and a vehicle, and the method includes:

[0006] When a remote control command from the user control terminal is obtained from the first middleware, the current time and the issuance time of the preceding remote control command are obtained; the issuance time represents the time information when the communication server sends the preceding remote control command to the second middleware; the communication distance between the second middleware and the vehicle is less than the communication distance between the first middleware and the communication server and the vehicle.

[0007] Get the time difference between the current time and the issuance time;

[0008] If the time difference is less than the authentication time corresponding to the preceding remote control command, the remote control command is temporarily stored until the time difference is greater than or equal to the authentication time corresponding to the preceding remote control command. Then, the stored remote control command is sent to the vehicle through the second middleware.

[0009] In one embodiment, the remote control command is temporarily stored until the time difference is greater than or equal to the authentication duration corresponding to the preceding remote control command. Then, the temporarily stored remote control command is sent to the vehicle via a second middleware, including:

[0010] Remote control commands are stored in a preset queue, and a corresponding expiration time is set for each remote control command in the queue. The expiration time indicates whether the time difference between the current time and the issuance time of the previous remote control command reaches the authentication duration corresponding to the previous remote control command.

[0011] The system queries the expiration time in the queue. If the expiration time is found to have arrived, the remote control command is retrieved from the queue and sent to the vehicle through the second middleware.

[0012] In one embodiment, obtaining the issuance time of the preceding remote control command before the remote control command includes:

[0013] If the preceding remote control command has been sent to the second middleware, obtain the actual time when the preceding remote control command was sent to the second middleware, and use it as the time when the preceding remote control command was issued.

[0014] If the preceding remote control command has not yet been sent to the second middleware, obtain the estimated time for sending the preceding remote control command to the second middleware, and use it as the issuance time of the preceding remote control command.

[0015] In one embodiment, the method further includes: obtaining a pre-preceding remote control message containing a pre-preceding remote control instruction from a first middleware; the pre-preceding remote control message is obtained by encapsulating the pre-preceding remote control instruction from the user control terminal, the vehicle-end device identifier, and the authentication duration corresponding to the pre-stored pre-preceding remote control instruction based on the TSP service;

[0016] Obtain the preceding remote control command and the authentication duration corresponding to the preceding remote control command from the preceding remote control message, and save the authentication duration of the preceding remote control command locally.

[0017] In one embodiment, the first middleware is a Kafka message middleware;

[0018] The remote control command from the user control terminal is obtained from the first middleware, including: obtaining a remote control message containing the remote control command from the Kafka message middleware. The remote control message is obtained by encapsulating the remote control command from the user control terminal, the vehicle terminal device identifier, and the authentication duration corresponding to the pre-saved remote control command based on the TSP service; based on the remote control message, the vehicle terminal device identifier of the vehicle to be controlled, the remote control command to be processed, and its corresponding authentication duration are obtained.

[0019] The time of issuance of the preceding remote control command before obtaining the remote control command includes: obtaining the time of issuance of the preceding remote control command corresponding to the vehicle based on the vehicle-side device identifier.

[0020] In one embodiment, the method further includes:

[0021] When sending remote control commands to the vehicle through the second middleware, the system stores the sending time of each remote control command and the vehicle-side device identifier corresponding to the remote control command based on a preset data structure.

[0022] The time of issuance of preceding remote control commands before obtaining the remote control command includes:

[0023] If it is determined that the preceding remote control command has been sent to the second middleware, the sending time corresponding to the vehicle-side device identifier and closest to the current time is determined from the data structure and used as the sending time of the preceding remote control command.

[0024] In one embodiment, the communication server is a gateway service, and the second middleware is an EMQ message middleware.

[0025] Secondly, this application also provides a vehicle remote control device and a communication server, the communication server being used for communication between a user control terminal and a vehicle, the device comprising:

[0026] The judgment module is used to obtain the current time and the sending time of the preceding remote control command when a remote control command is obtained from the user control terminal from the first middleware; the sending time represents the time information of the communication server sending the preceding remote control command to the second middleware; and to obtain the time difference between the current time and the sending time.

[0027] The sending module is used to temporarily store the remote control command if the time difference is less than the authentication time corresponding to the preceding remote control command, until the time difference is greater than or equal to the authentication time corresponding to the preceding remote control command, and then send the temporarily stored remote control command to the vehicle through the second middleware.

[0028] Thirdly, this application also provides a communication device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the method of the first aspect.

[0029] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method of the first aspect.

[0030] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the method of the first aspect.

[0031] The aforementioned vehicle remote control method, device, communication equipment, computer-readable storage medium, and computer program product allow the user control terminal to send multiple remote control commands simultaneously or sequentially. When the communication server receives a remote control command from the user control terminal via the first middleware, it determines the time difference between the current time and the sending time of the previous remote control command, and determines how to process the currently received remote control command based on the relationship between this time difference and the authentication duration. If the time difference is less than the authentication duration, the remote control command is temporarily stored until it is confirmed again that the time difference is greater than or equal to the authentication duration corresponding to the previous remote control command. Then, the temporarily stored remote control command is sent to the vehicle via the second middleware. Thus, after the user clicks to send one remote control command, they can click to send the next remote control command without waiting, achieving parallel sending of remote control commands. Furthermore, the communication server can determine whether to send the currently received remote control command without relying on the command execution result information returned by the vehicle, which improves the efficiency of vehicle remote control. Meanwhile, in this vehicle remote control method, the communication server is positioned between the user control terminal and the vehicle. Compared to the user control terminal, such as an app, the communication server requires less time to interact with the vehicle, allowing remote control commands temporarily stored on the communication server to be sent to the vehicle more quickly, thus improving the efficiency of remote vehicle control. Furthermore, compared to developing parallel remote control command implementation solutions on the vehicle or user control terminal, this method can achieve the same result by modifying the hardware or software of the communication server. This requires lower costs, a shorter development cycle, and is not constrained by differences in vehicle model or app, making it more versatile. Attached Figure Description

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

[0033] Figure 1 This is an application environment diagram of a vehicle remote control method in one embodiment;

[0034] Figure 2 This is a flowchart illustrating a vehicle remote control method in one embodiment;

[0035] Figure 3 This is a flowchart of the remote control command execution process related to the vehicle remote control method in one embodiment;

[0036] Figure 4 A flowchart of a parallel scheme related to a vehicle remote control method in one embodiment;

[0037] Figure 5 This is another flowchart illustrating the vehicle remote control method in one embodiment;

[0038] Figure 6 This is a schematic diagram of the data storage method in a vehicle remote control method in one embodiment;

[0039] Figure 7 This is a structural block diagram of a vehicle remote control device in one embodiment;

[0040] Figure 8 This is an internal structural diagram of a communication device in one embodiment. Detailed Implementation

[0041] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application. For ease of understanding and subsequent description, the relevant technical terms are explained below:

[0042] APP: Mobile software, mainly refers to software installed on smartphones, such as a vehicle remote control APP, which allows users to send control commands to their vehicles, i.e., remotely control the vehicle.

[0043] TSP service: Primarily a bridge between the vehicle and the app. TSP (Telematics Service Provider) refers to a provider of remote automotive services (communications). Telematics is a portmanteau of telecommunications and information science, and can be understood as a service system that provides information through a computer system built into the car, wireless communication technology, satellite navigation devices, and internet technology for exchanging text and voice information. Simply put, it connects the vehicle to the internet via a wireless network, providing the driver with various information necessary for driving and daily life. The TSP service referred to in this article is TSP.

[0044] Vehicle Equipment Center Services: Primarily stores basic vehicle information data.

[0045] Kafka message middleware: primarily a component for storing messages.

[0046] Protocol adapter service: Converts and adapts the protocols for interaction between the vehicle and the cloud.

[0047] Device gateway service: mainly interacts with the vehicle's EMQ.

[0048] EMQ: A unified IoT messaging solution based on the MQTT open standard, delivering high performance and low latency (millions of records per second) for reliable real-time movement of IoT data between IoT devices and cloud services.

[0049] Remote control commands, remote control requests, and remote control messages refer to parameters required for a vehicle to perform remote control operations.

[0050] Vehicle-side: refers to the software and hardware on the vehicle that interact with the cloud.

[0051] TBOX: A vehicle communication module used to connect a vehicle to an external network. It typically includes components such as a GPS positioning system, a wireless communication interface, and a microcontroller, and can monitor the vehicle's operating status in real time and exchange data with other devices.

[0052] Redis stands for Remote Dictionary Server. It is a key-value storage system that supports a wider range of value types, including string, list, set, zset (sorted set), and hash.

[0053] The vehicle remote control method provided in this application embodiment can be applied to, for example... Figure 1In the application environment shown, the user control terminal 101 communicates with the vehicle 103 through the communication service 102. The user control terminal 101 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, projectors, etc. Portable wearable devices can include smartwatches, smart bracelets, head-mounted displays, etc. Head-mounted displays can be virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, etc. The vehicle 103 can be, but is not limited to, sedans, SUVs (sport utility vehicles or suburban utility vehicles), MPVs (multi-Purpose Vehicles), sports cars, trucks, off-road vehicles, dump trucks, tractor-trailers, agricultural vehicles, special vehicles (such as sanitation vehicles, snowplows, bulldozers, etc.), etc. For example, the vehicle can be a new energy electric vehicle. Communication service 102 can be understood as one or more of TSP service, vehicle equipment center service, protocol adapter service, device gateway service, and EMQ. For example, communication service 102 can be understood as the device gateway service, or the integration of protocol adapter service and device gateway service.

[0054] In one exemplary embodiment, such as Figure 2 As shown, a method for remote vehicle control is provided, which can be applied to... Figure 1 Taking communication service 102 (specifically, device gateway service) as an example, the explanation includes steps S201 to S203, as follows:

[0055] Step S201: When a remote control command from the user control terminal is obtained from the first middleware, the current time and the sending time of the preceding remote control command are obtained; the sending time represents the time information of the communication server sending the preceding remote control command to the second middleware; the communication distance between the second middleware and the vehicle is less than the communication distance between the first middleware and the communication server and the vehicle.

[0056] Since the vehicle remote control method in this embodiment is applied to the communication server between the user control terminal and the vehicle, and multiple middleware can exist between the user control terminal and the vehicle, such as message middleware, more specifically, Kafka message middleware, EMQ middleware, etc., the first middleware and the second middleware are both middleware used for data transmission between the user control terminal and the vehicle. Therefore, the communication server can interact with other middleware. The user control terminal is the control terminal used by the user to issue various commands (remote control instructions), such as an APP on a mobile phone or a vehicle remote controller. A remote control instruction is an instruction that instructs the vehicle to perform a certain action, such as turning on the air conditioning or headlights. A preceding remote control instruction is a remote control instruction that precedes the current remote control instruction. Furthermore, in this embodiment, the preceding remote control instruction can be understood as the previous remote control instruction before the currently acquired remote control instruction, and this previous remote control instruction and the currently acquired remote control instruction are instructions targeting the same vehicle.

[0057] For example, the communication distance between the communication server and the vehicle is less than the communication distance between the communication server and the user control terminal. When the communication server obtains the remote control command from the user control terminal from the first middleware, the communication server needs to obtain the current time and the issuance time of the previous remote control command. The issuance time represents the time information when the communication server sends the previous remote control command to the second middleware. The way the communication server obtains the current time and the issuance time is not limited. It can be obtained from the first middleware or recorded by the communication server itself, etc. For example, when the communication server issues the previous remote control command, it records the corresponding time information and keeps it in the local database, and then it can be directly obtained from the database.

[0058] Step S202: Obtain the time difference between the current time and the issuance time.

[0059] For example, after obtaining the current time and the issuance time of the preceding remote control command, the communication server can obtain the time difference between the two. For example, by subtracting the issuance time of the preceding remote control command from the current time, the time difference can be obtained. This time difference can reflect the duration for which the preceding remote control command has been authenticated on the vehicle side.

[0060] Step S203: If the time difference is less than the authentication duration corresponding to the preceding remote control command, the communication server can temporarily store the remote control command until the time difference is greater than or equal to the authentication duration corresponding to the preceding remote control command, and then send the temporarily stored remote control command to the vehicle through the second middleware.

[0061] Here, authentication refers to the authentication process a vehicle must undergo before executing remote control commands, such as remote control command anti-theft authentication. Correspondingly, authentication duration refers to the time from the start time of remote control command anti-theft authentication to its end time. The authentication duration for each remote control command can be preset or derived from the actual authentication time recorded by the vehicle; no restriction is imposed here.

[0062] It's important to note that vehicle remote control command authentication is a sequential process, meaning it's performed one by one and cannot be parallelized. However, authenticated remote control commands can be executed in parallel by the vehicle. For example, only the anti-theft authentication process is sequential; the execution of specific remote control commands can run in parallel. For instance, after obtaining the time difference, the communication server can compare it with the authentication duration corresponding to the previous remote control command. If the time difference is less than the authentication duration, the remote control command can be temporarily stored. This temporary storage can be implemented in various ways, such as storing it in memory or on disk, or in a memory-based database, more specifically, in a Redis database. While or after temporarily storing the remote control command, the relationship between the time difference and the authentication duration can be determined in real-time or periodically until the time difference is determined to be greater than or equal to the authentication duration corresponding to the previous remote control command. At this point, there's no need to store the remote control command anymore, and the communication server can send the temporarily stored remote control command to the vehicle through a second middleware. It should be noted that both the first and second middleware can interact with each other in real time. The communication server can obtain information from the first middleware and send information to the second middleware at any time, unaffected by the remote control command issuance logic. At the same time, the communication content between the user control terminal and the vehicle can involve other information besides remote control commands, such as the remote control result returned by the vehicle after executing the remote control command. The transmission of other information does not affect the transmission of remote control commands. Specifically, the logic for temporarily storing / issuing remote control commands can be parallel to the logic for receiving and obtaining other information.

[0063] In this embodiment, the user control terminal can send multiple remote control commands simultaneously or sequentially. When the communication server receives a remote control command from the user control terminal from the first middleware, it determines the time difference between the current time and the sending time of the previous remote control command, and determines how to process the remote control command from the user control terminal based on the relationship between the time difference and the authentication duration. If the time difference is less than the authentication duration, the remote control command is temporarily stored until the time difference is greater than or equal to the authentication duration corresponding to the previous remote control command. Then, the temporarily stored remote control command is sent to the vehicle through the second middleware. Thus, after the user clicks to send one remote control command, they can click to send the next remote control command without waiting, which realizes the parallel sending of remote control commands. Furthermore, the communication server can determine whether to send the currently acquired remote control command without relying on the command execution result information returned by the vehicle, which improves the efficiency of vehicle remote control. Meanwhile, in this vehicle remote control method, the communication server is positioned between the user control terminal and the vehicle. Compared to the user control terminal, such as an app, the communication server requires less time to interact with the vehicle, allowing remote control commands temporarily stored on the communication server to be sent to the vehicle more quickly, thus improving the efficiency of remote vehicle control. Furthermore, compared to developing parallel remote control command implementation solutions on the vehicle or user control terminal, this method can achieve the same result by modifying the hardware or software of the communication server. This requires lower costs, a shorter development cycle, and is not constrained by differences in vehicle model or app, making it more versatile.

[0064] In an exemplary embodiment, the aforementioned step of "temporarily storing remote control commands until the time difference is greater than or equal to the authentication duration corresponding to the preceding remote control command, and sending the temporarily stored remote control commands to the vehicle through the second middleware" includes: storing the remote control commands in a preset queue, and setting a corresponding expiration time for the remote control commands in the queue; the expiration time indicates whether the time difference between the current time and the issuance time of the preceding remote control command reaches the authentication duration corresponding to the preceding remote control command; querying the expiration time in the queue, and if the expiration time is found to have reached, retrieving the remote control command from the queue and sending the remote control command to the vehicle through the second middleware.

[0065] The preset queue, or pre-set data storage queue, can be used to store remote control commands, such as a delayed queue. For example, the communication server can temporarily store remote control commands in the preset queue and set corresponding expiration times for each command. The expiration time indicates whether the time difference between the current time and the issuance time of a previous remote control command reaches the authentication duration corresponding to the previous command. For example, the expiration time can be the absolute value of the difference between this time difference and the authentication duration. When the expiration time is reached, it is considered that the time difference between the current time and the issuance time of the previous remote control command has reached the authentication duration corresponding to the previous command. After saving the remote control command and setting the expiration time, the communication server can query the expiration time in the queue in real time. If the expiration time is found to have reached the expiration time, the remote control command is retrieved from the queue and sent to the vehicle through the second middleware. It should be noted that, in addition to the meanings described above, expiration time can also be a technical term in the context of computer information technology. From a technical perspective, for example, in Redis, expiration time can be a time limit for storing a key in the Redis database. When the storage time of a key reaches the corresponding expiration time, the key will be cleared. Specifically, in this embodiment, remote control commands temporarily stored in a preset queue are set with corresponding expiration times, for example, 800ms. The expiration time can start counting from when it is set. When the countdown reaches 800ms, the expiration time is reached, and at this point, the corresponding remote control command is retrieved from the preset queue, which corresponds to "clearing" in the aforementioned Redis example. An example is given below:

[0066] Example 1: Assume the current time is 18:00, and the previous remote control command was issued at 17:59. The corresponding time difference is +1 minute, and the corresponding authentication time is 2 minutes. The expiration time is 2-1=1 minute. Therefore, at 18:01 or later, the expiration time is considered to have been reached, and the time difference between the current time and the issuance time of the previous remote control command reaches the authentication time corresponding to the previous remote control command.

[0067] Example 2: Assume the current time is 6:00 PM and the previous remote control command was issued at 6:30 PM. The corresponding time difference is -30 minutes, and the corresponding authentication time is 2 minutes. The expiration time is 2 - (-30) = 32 minutes. Therefore, at 6:32 PM or later, the expiration time is considered to have been reached, and the time difference between the current time and the issuance time of the previous remote control command reaches the authentication time corresponding to the previous remote control command.

[0068] It should be noted that the preceding remote control command can be either already issued or yet to be issued, as in Example 2 above. For instance, the preceding remote control command that has not yet been issued can be temporarily stored in a preset queue. Accordingly, the issuance time of the preceding remote control command can be the actual issuance time or an estimated issuance time. Furthermore, the plus / minus signs and arithmetic rules in this embodiment can vary depending on the selected benchmark and actual needs.

[0069] In this embodiment, the communication server temporarily stores remote control commands by using a preset queue and an expiration time. After the expiration time arrives, the remote control command is retrieved from the queue and sent to the vehicle through the second middleware. The expiration time reflects whether the time difference between the time of the previous remote control command and the time of the previous remote control command reaches the authentication time corresponding to the previous remote control command. This reflects whether the time taken for the previous remote control command to be authenticated on the vehicle side has basically reached the usual authentication time of the previous remote control command. Therefore, it helps to ensure the real-time nature of the remote control command and improve the efficiency of vehicle remote control.

[0070] In an exemplary embodiment, the aforementioned step of "obtaining the issuance time of the preceding remote control command before the remote control command" includes: if the preceding remote control command has been sent to the second middleware, the communication server obtains the actual time of sending the preceding remote control command to the second middleware as the issuance time of the preceding remote control command; if the preceding remote control command has not yet been sent to the second middleware, the communication server obtains the predicted estimated time of sending the preceding remote control command to the second middleware as the issuance time of the preceding remote control command.

[0071] For example, as mentioned above, the preceding remote control command can be either already issued or not yet issued. If the preceding remote control command has already been sent to the second middleware, the actual time of sending the command to the second middleware can be obtained as the issuance time of the preceding remote control command. If it has not yet been sent to the second middleware, an estimated time needs to be obtained as the issuance time of the preceding remote control command. The estimated time can be predicted based on the number of temporarily stored remote control commands and their corresponding authentication times, or it can be predicted based on the expiration time of the preceding remote control command and the current time. Furthermore, the issuance time of the preceding remote control command can be updated in real time; for example, after the preceding remote control command is actually issued, the issuance time of the preceding remote control command is updated to the actual time.

[0072] In this embodiment, a method for determining the issuance time of the preceding remote control command is provided based on two scenarios: whether the preceding remote control command has been issued or not. If the preceding remote control command has not yet been issued, the communication server obtains the estimated time for sending the preceding remote control command to the second middleware, and uses this as the issuance time of the preceding remote control command. This ensures that the corresponding issuance time can be obtained for different issuance scenarios of the preceding remote control command, thereby guaranteeing the smooth progress of subsequent steps such as determining the time difference.

[0073] In an exemplary embodiment, the aforementioned step of "setting a corresponding expiration time for the remote control command" includes: when the preceding remote control command is temporarily stored in the queue, the communication server sets a corresponding expiration time for the remote control command based on the expiration time of the preceding remote control command and the corresponding authentication duration.

[0074] For example, as mentioned above, the preceding remote control instruction can be temporarily stored in a preset queue. This means that the remote control instruction preceding this preceding remote control instruction—specifically, the remote control instruction preceding this preceding remote control instruction, hereinafter referred to as the "pre-preceding remote control instruction"—has a time difference between its issuance time and the current time that is greater than or equal to its corresponding authentication duration. Therefore, this preceding remote control instruction is temporarily stored in the preset queue and has a corresponding expiration time set to indicate whether the time difference between the current time and the issuance time of the pre-preceding remote control instruction reaches the authentication duration corresponding to the pre-preceding remote control instruction. In this case, the communication server can obtain the required expiration time for the remote control instruction based on the expiration time corresponding to the preceding remote control instruction and the corresponding authentication duration. An example is provided below to illustrate this:

[0075] Assuming the current time is 6:00 PM, the previous remote control command's issuance time was 5:59 PM, the authentication duration of the previous remote control command was 2 minutes, and the authentication duration of the previous remote control command was 1 minute, since the time difference between the current time and the issuance time of the previous remote control command (1 minute) is less than the authentication duration of the previous remote control command (2 minutes), the previous remote control command is temporarily stored in a preset queue with a corresponding expiration time (2-1=1 minute). Therefore, combining this expiration time and the current time, we can predict the issuance time of the previous remote control command as: 6:00 PM + 1 minute = 6:01 PM. Then, based on the predicted issuance time of the previous remote control command (6:01 PM), the current time (6:00 PM), and the corresponding authentication duration (1 minute), we can set a corresponding expiration time for the remote control command. The expiration time is: 6:01 PM minus 6:00 PM plus 1 minute, i.e., 1 minute + 1 minute = 2 minutes. From this example, the following pattern can be summarized:

[0076] Rule 1: Expiration time of the preceding remote control command = authentication time of the preceding remote control command - (current time - issuance time of the preceding remote control command);

[0077] Rule 2: The issuance time of the preceding remote control command = current time + expiration time of the preceding remote control command;

[0078] Rule 3: The expiration time of a remote control command = the issuance time of the preceding remote control command - the current time + the authentication time of the preceding remote control command = the current time + the expiration time of the preceding remote control command - the current time + the authentication time of the preceding remote control command = the expiration time of the preceding remote control command + the authentication time of the preceding remote control command.

[0079] As can be seen from the above pattern, the required expiration time for a remote control command can be obtained based on its expiration time and authentication duration. Similarly, determining the issuance time of a previous remote control command based on its expiration time and the current time, and then determining its required expiration time based on the predicted issuance time, the current time, and the corresponding authentication duration, is essentially the same as the aforementioned method, or at least falls within the scope of "setting a corresponding expiration time for a remote control command based on its expiration time and authentication duration." It should be noted that this example is based on the premise that the previous remote control command has already been issued. If the previous remote control command has not been issued, the same principle can be applied backwards.

[0080] In this embodiment, for cases where preceding remote control commands may not have been issued yet and are temporarily stored in a preset queue, the communication server sets a corresponding expiration time for the remote control command based on the expiration time of the preceding remote control command and the corresponding authentication duration. This achieves accurate setting of the expiration time for the remote control command, thereby ensuring the timely issuance of the remote control command and helping to improve the accuracy and efficiency of vehicle remote control.

[0081] In an exemplary embodiment, the aforementioned vehicle remote control method further includes: a communication server obtaining a remote control message containing a preceding remote control instruction from a first middleware; the remote control message being encapsulated based on the TSP service, comprising the remote control instruction from the user control terminal, the vehicle-side device identifier, and the authentication duration corresponding to each type of pre-stored remote control instruction; the communication server obtaining the preceding remote control instruction and the authentication duration corresponding to the preceding remote control instruction from the remote control message, and storing the authentication duration locally.

[0082] For example, the communication server can obtain a remote control message containing the preceding remote control command from the first middleware. The remote control message is explained below: the user sends a remote control command and the corresponding vehicle-side device identifier from the user control terminal. The TSP service receives the remote control command and the corresponding vehicle-side device identifier, and then the TSP service encapsulates the remote control command, the corresponding authentication duration, and the corresponding vehicle-side device identifier together to form a remote control message, which is then transmitted to the first middleware. Similarly, the preceding remote control command and its corresponding authentication duration can also be obtained from the remote control message.

[0083] In this embodiment, the communication server obtains the remote control command and its corresponding authentication duration, the preceding remote control command and its corresponding authentication duration from the first intermediate, thereby serving the implementation of subsequent steps (determining the relationship between the time difference and the authentication duration), which helps to improve the efficiency of vehicle remote control.

[0084] In an exemplary embodiment, the first middleware in the aforementioned vehicle remote control method is a Kafka message middleware; the aforementioned step "obtaining remote control instructions from the user control terminal from the first middleware" includes: the communication server obtaining a remote control message containing remote control instructions from the Kafka message middleware; based on the remote control message, obtaining the vehicle-side device identifier of the vehicle to be controlled, the currently pending remote control instruction, and its corresponding authentication duration; the aforementioned step "obtaining the issuance time of the preceding remote control instruction before the remote control instruction" includes: the communication server obtaining the issuance time of the preceding remote control instruction corresponding to the vehicle based on the vehicle-side device identifier.

[0085] The Kafka message middleware is used for this purpose. The vehicle-side device identifier (VBI) is used to identify and distinguish vehicles, such as the vehicle's TBOX device number. For example, the remote control command and its corresponding VBI are sent to the TSP service via the user control terminal. The TSP service then sends a remote control message containing the remote control command and the VBI to the Kafka message middleware. The communication server can then retrieve the remote control message from the Kafka message middleware, thereby obtaining the VBI and the remote control command. For example, the remote control message (binary data) can be converted to obtain the VBI and the remote control command. The communication server can then use the VBI to find the sending time of the preceding remote control command belonging to the same VBI.

[0086] In this embodiment, since there may be more than one user control terminal and one vehicle, the communication service can be a communication service between multiple user control terminals and multiple vehicles. To avoid confusion, the communication server can obtain remote control messages from the Kafka message middleware. Since the remote control message is encapsulated by the TSP service to obtain the remote control command and vehicle device identifier from the user control terminal, the communication server can obtain the vehicle device identifier and the remote control command. Therefore, based on the vehicle device identifier, it can obtain the issuance time of the preceding remote control command corresponding to the vehicle. Thus, the vehicle device identifier can be used to achieve differentiation. Therefore, the technical solution provided in this embodiment helps to improve the accuracy of remote vehicle control.

[0087] In an exemplary embodiment, the aforementioned vehicle remote control method further includes: when the communication server sends a remote control command to the vehicle through the second middleware, it stores the issuance time of the remote control command and the vehicle-side device identifier corresponding to the remote control command based on a preset data structure; the aforementioned step of "obtaining the issuance time of the preceding remote control command" includes: when it is determined that the preceding remote control command has been sent to the second middleware, the communication server determines from the data structure the issuance time corresponding to the vehicle-side device identifier that is closest to the current time, as the issuance time of the preceding remote control command.

[0088] The preset data structure, specifically the pre-defined data structure used to store the time when the communication server sends remote control commands and the corresponding vehicle-side device identifier, is, for example, a String data structure in Redis. For instance, the communication server can use the preset String data structure to store the time when sending remote control commands to the second middleware and the corresponding vehicle-side device identifier. Since different vehicles may have different remote control commands and preceding remote control commands, and the same vehicle-side device identifier may correspond to multiple remote control commands and preceding remote control commands, and may also have multiple corresponding delivery times, the delivery time of the preceding remote control command can be determined based on the order of the vehicle-side device identifier and the delivery time, using the delivery time closest to the current time as the delivery time of the preceding remote control command. Simultaneously, the preceding remote control command should have already been sent to the second middleware. For instance, the expiration time of the preceding remote control command can be used to determine whether it has been sent to the second middleware; when its expiration time arrives, it indicates that it has been sent.

[0089] In this embodiment, the communication server stores the time when remote control commands are sent to the vehicle via the second middleware and the corresponding vehicle-side device identifier through a data structure. Based on the vehicle-side device identifier, the server determines the closest sending time to the current time corresponding to the aforementioned vehicle-side device identifier from the data structure as the sending time of the preceding remote control command. This allows the communication server to quickly and accurately obtain the sending time, thereby helping to quickly determine the time difference and improving the efficiency of remote vehicle control.

[0090] In an exemplary embodiment, the communication server in the aforementioned vehicle remote control method is a gateway service, and the second middleware is an EMQ message middleware; the aforementioned vehicle remote control method further includes: if the time difference is greater than or equal to the authentication duration corresponding to the preceding remote control command, the communication server sends a remote control command to the vehicle through the EMQ message middleware.

[0091] Gateway services are services that provide gateway functionality, such as... Figure 3 The device gateway service interacts with EMQ. For example, the communication server in this vehicle remote control method can be a gateway service, and the second middleware can be an EMQ message middleware. If the time difference is greater than or equal to the authentication time corresponding to the preceding remote control command, the remote control command can be sent to the vehicle through the EMQ message middleware.

[0092] In this embodiment, since the gateway service is used as the communication server in the vehicle remote control method and the EMQ message middleware is used as the second middleware to send the target remote control command to the vehicle, the communication distance with the vehicle is shortened, which also helps to reduce the time consumption of vehicle remote control and improve the efficiency of vehicle remote control.

[0093] To facilitate a further understanding of the vehicle remote control method provided in this embodiment, the following is combined with... Figure 3 As shown, a flowchart of non-parallel execution of remote control instructions is first presented. The explanation of this flowchart is as follows:

[0094] 1. Users determine the remote control command that the vehicle needs to execute through the APP, i.e., the remote control request, and then the APP sends the remote control request data to the TSP service;

[0095] 2. After receiving the request, the TSP service further encapsulates the request and then sends it to the vehicle equipment center.

[0096] 3. After receiving the request, the vehicle equipment center processes it through a series of business operations and then sends it to the Kafka message middleware;

[0097] 4. Return the results;

[0098] 5. The vehicle equipment center returns a unique identifier for this remote control request to the TSP service;

[0099] 6. The TSP service returns a unique identifier for this remote control request to the APP;

[0100] 7. The APP periodically retrieves the results of remote control execution from the TSP service based on the unique identifier of the request;

[0101] 8. The protocol adapter service obtains remote control messages from the Kafka message middleware;

[0102] 9. The protocol adapter service adapts the vehicle transportation protocol;

[0103] 10. The protocol adapter service adapts the remote control request data and sends it to the Kafka message middleware;

[0104] 11. The device gateway service obtains remote control messages from the Kafka message middleware;

[0105] 12. The device gateway service forwards the request to EMQ. This forwarding is usually a direct forwarding and does not involve temporary storage before forwarding.

[0106] 13. The vehicle receives vehicle control messages from EMQ;

[0107] 14. The vehicle terminal parses and executes the corresponding instructions based on the remote control request;

[0108] 15. The vehicle sends the execution result to EMQ;

[0109] 16. The device gateway service obtains the vehicle control execution results from EMQ;

[0110] 17. The device gateway service sends the remote control results to the Kafka message middleware;

[0111] 18. The protocol adapter service obtains remote control results from the Kafka message middleware;

[0112] 19. After the protocol is parsed, the protocol adapter will call the TSP service interface to inform the remote control of the result;

[0113] 20. The APP calls the TSP service interface to obtain the remote control execution result.

[0114] After introducing the aforementioned non-parallel execution process of remote control commands, the following section will combine... Figure 4This document describes the parallel scheme flowchart related to the vehicle remote control method provided in this application example. The vehicle remote control method is applied to the "Device Gateway Service" in the diagram that directly interacts with the "EMQ" (Electronic Equipment Queuing). The phrase "some other services in the middle" refers to other services involved, such as the vehicle equipment center service and protocol adapter service; this abbreviation is used for the purpose of simplifying the overall interaction process. Furthermore, the arrows in the diagram do not necessarily represent the absolute flow of remote control commands and related messages; some arrows may indicate the execution entity of a corresponding step. The explanation of the parallel scheme flowchart is as follows:

[0115] 1. The user determines the remote control command that the vehicle needs to execute through the APP, i.e., the remote control request, and then the APP sends the remote control request to the TSP service;

[0116] 2. The TSP service calls other services. Here, the TSP service can send the remote control request and other related data to other services, such as the authentication time mentioned above.

[0117] 3. Some other services in between return a unique identifier for this remote control request to the TSP service;

[0118] 4. The TSP service returns a unique identifier for this remote control request to the APP;

[0119] 5. Some other services in between will push messages to the Kafka message middleware;

[0120] 6. The device gateway service obtains the remote control request message from the Kafka message middleware;

[0121] 7. The device gateway service sends this remote control message to the EMQ. This sending can be done directly or after storing it for a certain period of time.

[0122] 8. The vehicle receives remote control messages from EMQ;

[0123] 9. Remote control is performed from the vehicle end;

[0124] 10. The APP sends a second remote control request to the TSP service;

[0125] 11. The TSP service calls other services. Here, the TSP service can send the remote control request and other related data to other services, such as the authentication time mentioned above.

[0126] 12. Some other services in between return a unique identifier for this remote control request to the TSP service;

[0127] 13. The TSP service returns a unique identifier to the APP for the second remote control request;

[0128] 14. Some other services in between will push messages to the Kafka message middleware;

[0129] 15. The device gateway service obtains the remote control request message from the Kafka message middleware;

[0130] 16. The device gateway service determines whether the vehicle has any instructions being executed.

[0131] 17. Device gateway service second remote control storage message;

[0132] 18. The vehicle terminal returns the execution result of the first remote control request to EMQ;

[0133] 19. The device gateway service receives the result of the first remote control request;

[0134] 20. The remote control status update for the vehicle, which is currently being performed, has been completed via the device gateway service.

[0135] 21. Send the second remote control request message for the vehicle to EMQ;

[0136] 22. The vehicle receives the remote control request message from EMQ;

[0137] 23. The device gateway service sends the result of the first remote control request to the Kafka message middleware;

[0138] 24. Some other services in between obtain the initial remote control results from the Kafka message middleware;

[0139] 25. Some other services in between call the remote control update result provided by the TSP service to update;

[0140] 26. The APP obtains the final remote control result of the vehicle based on the unique identifier of the first remote control request.

[0141] Based on the foregoing flowchart and corresponding descriptions, it can be understood that the vehicle remote control method provided in this application includes steps S501 to S503, such as... Figure 5 As shown, the details are as follows:

[0142] Step S501: The communication server receives and processes the remote control message. This step corresponds to "obtaining the current time and the issuance time of the preceding remote control command when a remote control command is received from the user control terminal in the case of obtaining the remote control command from the first middleware." Specifically, the device gateway service receives the binary data of the remote control message from the Kafka message middleware and converts it into a remote control object. The vehicle's TBOX device number, denoted as pdid, is obtained from the remote control object. Based on pdid, the issuance time when the vehicle is currently executing remote control is retrieved from Redis: the key in the String structure is pdid, and the value is the start time (timestamp) of the previous remote control command being executed, i.e., the preset data structure.

[0143] Step S502: The communication server determines the time difference between the current time and the sending time. This step corresponds to "obtaining the time difference between the current time and the sending time" and related content. Specifically, the device gateway service obtains the difference between the previously executed remote control timestamp and the current timestamp, denoted as diffTimes.

[0144] Step S503: The communication server processes the remote control message based on the relationship between the time difference and the anti-theft authentication time. This step corresponds to the following: "If the time difference is less than the authentication time corresponding to the previous remote control command, the remote control command is temporarily stored until the time difference is greater than or equal to the authentication time corresponding to the previous remote control command, and then the temporarily stored remote control command is sent to the vehicle through the second middleware."

[0145] Specifically, the device gateway service records the anti-theft authentication time in the previous remote control command message as `antiTheftTimes`. If `diffTimes` is greater than or equal to `antiTheftTimes`, it means that the anti-theft authentication of the previous remote control command request has passed when the current remote control command request is sent to the vehicle for anti-theft authentication. In this case, the current remote control message is immediately sent to the EMQ and then forwarded to the vehicle's TBOX. If `diffTimes` is less than `antiTheftTimes`, it means that the anti-theft authentication of the previous remote control command request has not yet passed when the current remote control command request is sent to the vehicle for anti-theft authentication. Therefore, see [link to relevant documentation]. Figure 6As shown, the current remote control request is placed in a distributed delay queue, and an expiration time is set to antiTheftTimes - diffTimes. The remote control request is retrieved and sent to the EMQ (Electronic Management Queue) for forwarding to the vehicle's TBOX only when antiTheftTimes - diffTimes equals 0 or is less than 0. The calculation formula "antiTheftTimes - diffTimes" is used here to achieve real-time calculation of the required expiration time. Based on the real-time calculation result, the corresponding expiration time can be updated in real time, thus helping to obtain a more accurate expiration time.

[0146] This corresponds to content such as "store remote control commands in a preset queue and set corresponding expiration times for the remote control commands in the queue" and "when the expiration time is found to have arrived, retrieve the remote control command from the queue and send the remote control command to the vehicle through the second middleware".

[0147] The following is a possible method for obtaining the anti-theft authentication time: Before performing the corresponding steps in the vehicle remote control method provided in this embodiment, the following preparations can be made in advance:

[0148] Preparation Step 1: Analyze and record the anti-theft authentication execution time. Specifically, various types of remote control commands issued by the TSP are sent to the vehicle's TBOX via EMQ; the TBOX records the anti-theft authentication execution development time and anti-theft authentication end time for each type of remote control, obtaining the anti-theft authentication time for each type of remote control; when the TBOX executes the remote control command and sends the execution result to the TSP, it also transmits the anti-theft authentication time of that remote control to the TSP; the TSP service records the device's PDID and the anti-theft authentication time in the database.

[0149] Preparation Step Two: Analyze the anti-theft authentication time for various types of remote control systems on each vehicle. Specifically, a scheduled task can be used daily or weekly to retrieve the maximum authentication time for each type of remote control system from the database. For example, this maximum authentication time can be used as the authentication time for subsequent applications. When issuing remote control commands, the TSP service retrieves the anti-theft authentication time based on the vehicle's TBOX device ID (pdid) and encapsulates it into the request. This corresponds to the content related to "remote control messages are encapsulated by the TSP service based on the remote control commands from the user control terminal, the vehicle device identifier, and the pre-saved authentication times corresponding to various types of remote control commands."

[0150] With the above preparations, the communication server can obtain the corresponding anti-theft authentication time from the received remote control messages. It should be noted that vehicle-side anti-theft authentication is serial, while specific remote control commands can run in parallel. Therefore, once the anti-theft authentication time has elapsed, the next remote control command can be sent to the vehicle via EMQ.

[0151] In this embodiment, the user control terminal can send multiple remote control commands simultaneously or sequentially. The communication server determines the time difference between the current time and the sending time of the previous remote control command, and determines how to process the remote control commands originating from the user control terminal based on the relationship between this time difference and the authentication duration. If the time difference is less than the authentication duration, the remote control command is temporarily stored until the time difference is greater than or equal to the authentication duration corresponding to the previous remote control command. Then, the temporarily stored remote control command is sent to the vehicle through the second middleware. Thus, after the user clicks to send one remote control command, they can click to send the next remote control command without waiting, achieving parallel execution of remote control commands, which improves the efficiency of vehicle remote control. Furthermore, in the vehicle remote control method provided in this embodiment, the communication server is located between the user control terminal and the vehicle. Compared to the user control terminal, such as an APP, the communication server requires less time to interact with the vehicle, allowing the remote control commands temporarily stored on the communication server to be sent to the vehicle more quickly, thereby improving the efficiency of vehicle remote control. Furthermore, compared to developing parallel remote control command implementation solutions on the vehicle or user control end, this method only requires improvements to the hardware or software of the communication server, resulting in lower costs, shorter development cycles, and greater versatility due to limitations imposed by vehicle models or apps. By utilizing a preset queue and expiration time to temporarily store remote control commands, and retrieving them from the queue upon expiration, the commands are sent to the vehicle via a second middleware. The expiration time reflects whether the time difference between the current time and the previous remote control command's issuance time reaches the authentication duration corresponding to the previous command, thus helping to ensure the real-time nature of command issuance and improve the efficiency of vehicle remote control. By obtaining the remote control command and its corresponding authentication duration, as well as the previous remote control command and its corresponding authentication duration, from the first middleware, subsequent steps (determining the relationship between the time difference and the authentication duration) are supported, further improving the efficiency of vehicle remote control. The use of vehicle-side device identifiers enables differentiation, contributing to the accuracy of vehicle remote control.

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

[0153] Based on the same inventive concept, this application also provides a vehicle remote control device for implementing the vehicle remote control method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more vehicle remote control device embodiments provided below can be found in the limitations of the vehicle remote control method described above, and will not be repeated here.

[0154] In one exemplary embodiment, such as Figure 7 As shown, a vehicle remote control device 700 is provided, which is used as a communication server between a user control terminal and a vehicle. The device includes:

[0155] The judgment module 701 is used to obtain the current time and the issuance time of the preceding remote control command when a remote control command from the user control terminal is obtained from the first middleware; the issuance time represents the time information when the communication server sends the preceding remote control command to the second middleware.

[0156] The sending module 702 is used to temporarily store the remote control command if the time difference is less than the authentication time corresponding to the preceding remote control command, until the time difference is greater than or equal to the authentication time corresponding to the preceding remote control command, and then send the temporarily stored remote control command to the vehicle through the second middleware.

[0157] In one embodiment, the sending module 702 is further configured to store the remote control command in a preset queue and set a corresponding expiration time for the remote control command in the queue; the expiration time indicates whether the time difference between the current time and the issuance time of the previous remote control command reaches the authentication duration corresponding to the previous remote control command; query the expiration time in the queue, and if the expiration time is found to have reached the expiration time, retrieve the remote control command from the queue and send the remote control command to the vehicle through the second middleware.

[0158] In one embodiment, the determination module 701 is further configured to, when the preceding remote control instruction has been sent to the second middleware, obtain the actual time of sending the preceding remote control instruction to the second middleware as the issuance time of the preceding remote control instruction; and when the preceding remote control instruction has not yet been sent to the second middleware, obtain the predicted estimated time of sending the preceding remote control instruction to the second middleware as the issuance time of the preceding remote control instruction.

[0159] In one embodiment, the judgment module 701 is further configured to obtain a remote control message containing a preceding remote control instruction from the first middleware; the remote control message is obtained by encapsulating the remote control instruction from the user control terminal, the vehicle terminal device identifier, and the authentication duration corresponding to each type of remote control instruction pre-stored based on the TSP service; the preceding remote control instruction and the authentication duration corresponding to the preceding remote control instruction are obtained from the remote control message, and the authentication duration is stored locally.

[0160] In one embodiment, the first middleware is a Kafka message middleware; the judgment module 701 is further configured to obtain a remote control message containing a remote control instruction from the Kafka message middleware; based on the remote control message, obtain the vehicle-side device identifier of the vehicle to be controlled, the remote control instruction to be processed, and its corresponding authentication duration; and according to the vehicle-side device identifier, obtain the issuance time of the preceding remote control instruction corresponding to the vehicle.

[0161] In one embodiment, the judgment module 701 is further configured to, when sending a remote control command to the vehicle through the second middleware, store the issuance time of the remote control command and the vehicle-side device identifier corresponding to the remote control command based on a preset data structure; and, if it is determined that the preceding remote control command has been sent to the second middleware, determine from the data structure the issuance time corresponding to the vehicle-side device identifier that is closest to the current time, as the issuance time of the preceding remote control command.

[0162] In one embodiment, the communication server is a gateway service, and the second middleware is an EMQ message middleware; the sending module 702 is further configured to send a remote control command to the vehicle through the EMQ message middleware if the time difference is greater than or equal to the authentication duration corresponding to the preceding remote control command.

[0163] Each module in the aforementioned vehicle remote control device 700 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.

[0164] In one exemplary embodiment, a communication device is provided, which may be a server, and its internal structure diagram may be as follows. Figure 8As shown, the communication device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. 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, computer programs, and a database. The internal memory provides the environment for the operation of the operating system and computer programs in the non-volatile storage media. The database stores the data required for remote vehicle control. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communication with external terminals via a network connection. When the computer program is executed by the processor, it implements a remote vehicle control method.

[0165] Those skilled in the art will understand that Figure 8 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 communication device to which the present application is applied. Specific communication devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0166] In one exemplary embodiment, a communication device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.

[0167] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps in the above method embodiments.

[0168] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.

[0169] 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 memory 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, artificial intelligence (AI) processors, etc., and are not limited to these.

[0170] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0171] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A method for remote vehicle control, characterized in that, Applied to a communication server, the communication server is used for communication between the user control terminal and the vehicle, the method includes: When a remote control command is obtained from the user control terminal from the first middleware, the current time and the issuance time of the preceding remote control command are obtained; the issuance time represents the time information when the communication server sends the preceding remote control command to the second middleware. Obtain the time difference between the current time and the issuance time; If the time difference is less than the authentication duration corresponding to the preceding remote control instruction, the remote control instruction is temporarily stored until the time difference is greater than or equal to the authentication duration corresponding to the preceding remote control instruction, and then the temporarily stored remote control instruction is sent to the vehicle through the second middleware.

2. The method according to claim 1, characterized in that, The process of temporarily storing the remote control command until the time difference is greater than or equal to the authentication duration corresponding to the preceding remote control command, and then sending the temporarily stored remote control command to the vehicle through the second middleware, includes: The remote control command is stored in a preset queue, and a corresponding expiration time is set for the remote control command in the queue; the expiration time indicates whether the time difference between the current time and the issuance time of the preceding remote control command reaches the authentication duration corresponding to the preceding remote control command. The system queries the expiration time in the queue. If the expiration time is found to have arrived, the remote control command is retrieved from the queue and sent to the vehicle through the second middleware.

3. The method according to claim 1, characterized in that, The issuance time of the preceding remote control command before obtaining the current remote control command includes: If the preceding remote control command has been sent to the second middleware, the actual time when the preceding remote control command was sent to the second middleware is obtained as the issuance time of the preceding remote control command. If the preceding remote control command has not yet been sent to the second middleware, the estimated time for sending the preceding remote control command to the second middleware is obtained and used as the issuance time of the preceding remote control command.

4. The method according to claim 1, characterized in that, The method further includes: The preceding remote control message containing the preceding remote control instruction is obtained from the first middleware; the preceding remote control message is obtained by encapsulating the preceding remote control instruction from the user control terminal, the vehicle terminal device identifier, and the authentication duration corresponding to the preceding remote control instruction in a pre-stored manner based on the TSP service. The preceding remote control instruction and the authentication duration corresponding to the preceding remote control instruction are obtained from the preceding remote control message, and the authentication duration of the preceding remote control instruction is stored locally.

5. The method according to claim 4, characterized in that, The first middleware is the Kafka message middleware; The step of obtaining the remote control command from the user control terminal from the first middleware includes: obtaining a remote control message containing the remote control command from the Kafka message middleware, wherein the remote control message is obtained by encapsulating the remote control command from the user control terminal, the vehicle-side device identifier, and the pre-saved authentication duration corresponding to the remote control command based on the TSP service; and obtaining the vehicle-side device identifier of the vehicle to be controlled, the remote control command to be processed, and its corresponding authentication duration based on the remote control message. The step of obtaining the issuance time of the preceding remote control command before obtaining the remote control command includes: obtaining the issuance time of the preceding remote control command corresponding to the vehicle based on the vehicle-side device identifier.

6. The method according to claim 1, characterized in that, The method further includes: When sending remote control commands to the vehicle through the second middleware, the issuance time of each remote control command and the vehicle-side device identifier corresponding to the remote control command are stored based on a preset data structure. The time of issuing the preceding remote control command before obtaining the remote control command includes: If it is determined that the preceding remote control command has been sent to the second middleware, the sending time corresponding to the vehicle-side device identifier and closest to the current time is determined from the data structure and used as the sending time of the preceding remote control command.

7. The method according to any one of claims 1 to 6, characterized in that, The communication server is a gateway service, and the second middleware is an EMQ message middleware.

8. A vehicle remote control device, characterized in that, The device is applied to a communication server, which is used for communication between a user control terminal and a vehicle. The device includes: The judgment module is used to, when a remote control command originating from the user control terminal is obtained from the first middleware, obtain the current time and the issuance time of the preceding remote control command; the issuance time represents the time information of the communication server sending the preceding remote control command to the second middleware; and obtain the time difference between the current time and the issuance time. The sending module is configured to temporarily store the remote control instruction if the time difference is less than the authentication duration corresponding to the preceding remote control instruction, until the time difference is greater than or equal to the authentication duration corresponding to the preceding remote control instruction, and then send the temporarily stored remote control instruction to the vehicle through the second middleware.

9. A communication device, comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 7.

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

Citation Information

Patent Citations

  • Control instruction sending method, equipment, storage medium and device

    CN115685771A

  • Dynamic vehicle request strategies

    US20180091608A1