Vehicle remote control method and device, communication equipment, readable storage medium and program product
By judging and temporarily storing instructions in the vehicle remote control system, the parallel transmission of remote control instructions is achieved using a shorter communication distance, solving the problem of inefficiency in the existing technology, improving the efficiency of remote control of the vehicle and reducing development cost.
Patent Information
- Application Number
- CN202411254934.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-09
- Publication Date
- 2024-12-10
AI Technical Summary
In the existing remote control method of vehicle, users need to wait for the vehicle to execute the previous remote control command before sending the next command, resulting in inefficiency.
By determining whether the vehicle is executing the preamble remote control command on the communication server, if so, the current command will be temporarily stored until it is determined that the vehicle has completed the preamble command and then sent. The communication distance between the second middleware and the vehicle is shorter to improve efficiency .
It realizes parallel sending of remote control instructions, reduces user waiting time, improves the efficiency of remote control of vehicles, and reduces the cost of hardware and software improvements, and is suitable for a variety of vehicle models and APPs.
Smart Images

Figure CN119109956A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of vehicle technology, and in particular to a vehicle remote control method, apparatus, communication device, computer-readable storage medium, and computer program product. Background Art
[0002] Vehicle remote control, also known as remote manipulation of a vehicle, is usually done through a mobile device (such as a smartphone or tablet) to remotely control the vehicle's functions. The user clicks on the mobile device to send a remote control command (such as opening a window, turning on the air conditioner, closing the sunroof, etc.), and the remote control command is transmitted to the vehicle after passing through multiple intermediate services. For example, a user can install an APP on his or her mobile phone and send remote control commands through the APP to remotely control the vehicle.
[0003] However, currently, after a user clicks to send a remote control command on the user control terminal, he needs to wait for the vehicle to complete the execution of the remote control command and receive the execution result feedback from the vehicle before he can click to send the next remote control command on the user control terminal. This affects the efficiency of vehicle remote control. Summary of the invention
[0004] Based on this, it is necessary to provide a vehicle remote control method, device, communication equipment, computer-readable storage medium and computer program product to address the above technical problems, so as to support users to click and send two or more remote control commands on the remote control end, so as to improve the efficiency of vehicle remote control.
[0005] In a first aspect, the present application provides a vehicle remote control method, which is applied to a communication service end between a user control end and a vehicle, and the method comprises:
[0006] In the case where a remote control instruction from a user control terminal is obtained from the first middleware, determining whether the vehicle is executing a preceding remote control instruction before the remote control instruction;
[0007] If it is determined that the vehicle is executing the preceding remote control command, the remote control command is temporarily stored until it is determined that the vehicle has completed executing the preceding remote control command, and the temporarily stored remote control command is sent to the vehicle through the second middleware.
[0008] In one embodiment, determining whether the vehicle is executing a preceding remote control command includes:
[0009] According to the vehicle equipment identification of the vehicle, query a first data structure; the first data structure is used to store the execution status of the previous remote control instruction and the corresponding timeout period;
[0010] When it is found that the execution status of the preceding remote control instruction in the first data structure is being executed and the timeout period has not expired, it is determined that the vehicle is executing the preceding remote control instruction;
[0011] When it is found that the execution status of the preceding remote control command in the first data structure is completed or the timeout period has expired, it is determined that the vehicle has completed the execution of the preceding remote control command.
[0012] In one embodiment, the communication distance between the second middleware and the vehicle is shorter than the communication distance between the second middleware and the user control terminal; the method further comprises:
[0013] Obtaining the execution result information of the vehicle for the previous remote control command from the second middleware;
[0014] According to the acquired execution result information, the execution status of the preceding remote control instruction in the first data structure is updated to execution completion.
[0015] In one embodiment, the method further comprises:
[0016] Sending a preceding remote control command to the vehicle through the second middleware, and saving the execution status of the preceding remote control command as being executed through the first data structure, and setting a corresponding timeout period;
[0017] The timeout period is determined based on the historical time taken by the vehicle to execute various types of remote control commands.
[0018] In one of the embodiments, the first middleware is Kafka message middleware;
[0019] The remote control instruction from the user control terminal is obtained from the first middleware, including:
[0020] Get remote control messages from Kafka message middleware; remote control messages are obtained by encapsulating remote control instructions from the user control end and vehicle-end device identification based on TSP services;
[0021] Obtain vehicle-side device identification and remote control instructions based on remote control messages;
[0022] Determine whether the vehicle is executing the preceding remote control command, including:
[0023] According to the vehicle-side device identification, determine whether the vehicle is executing the preceding remote control command.
[0024] In one embodiment, the communication service end is a gateway service, and the second middleware is an EMQ message middleware;
[0025] The method also includes: when obtaining the execution result returned by the vehicle from the EMQ message middleware, obtaining the corresponding vehicle-side device identifier from the execution result; determining whether the second data structure contains the target remote control instruction corresponding to the vehicle-side device identifier; the second data structure is used to temporarily store the remote control instructions to be issued; if contained, sending the target remote control instruction to the vehicle through the second message middleware.
[0026] In one embodiment, the method further comprises:
[0027] If it is determined that multiple remote control instructions corresponding to the vehicle-side device identifier are temporarily stored in the second data structure, based on the priority of each remote control instruction, the remote control instruction with the highest priority is obtained as the target remote control instruction; wherein, the priority of each remote control instruction is determined based on the execution time of each remote control instruction.
[0028] In a second aspect, the present application also provides a vehicle remote control device, which is applied to a communication service end between a user control end and a vehicle, and the device includes:
[0029] A determination module, configured to determine whether the vehicle is executing a preceding remote control instruction before the remote control instruction when a remote control instruction from a user control terminal is obtained from the first middleware;
[0030] The sending module is used to temporarily store the remote control instruction if it is determined that the vehicle is executing the previous remote control instruction, until it is determined that the vehicle has completed the execution of the previous remote control instruction, and send the temporarily stored remote control instruction to the vehicle through the second middleware.
[0031] In a third aspect, the present application further provides a communication device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the vehicle remote control method in the first aspect when executing the computer program.
[0032] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the vehicle remote control method in the first aspect.
[0033] In a fifth aspect, the present application further provides a computer program product, comprising a computer program, which, when executed by a processor, implements the steps of the vehicle remote control method in the first aspect.
[0034] In the above-mentioned vehicle remote control method, apparatus, communication equipment, computer-readable storage medium and computer program product, the user control end can send multiple remote control instructions simultaneously or successively. When the communication service end obtains the remote control instruction from the user control end from the first middleware, it determines how to process the currently obtained remote control instruction from the user control end by judging the situation of the vehicle executing the previous remote control instruction (that is, whether it is being executed). If it is determined that the vehicle is executing the remote control instruction, the currently obtained remote control instruction is temporarily stored until it is re-determined that the vehicle has completed the execution of the previous remote control instruction. The communication service end sends the temporarily stored remote control instruction to the vehicle through the second middleware. Therefore, after the user clicks to send a remote control command, he can click to send the next remote control command without waiting, that is, the remote control commands are sent in parallel; at the same time, in the vehicle remote control method, the communication service end is between the user control end and the vehicle. Compared with the user control end, such as APP, the communication service end takes less time to receive the vehicle's execution result information of the previous remote control command, and then the communication service end can more quickly determine whether the vehicle has completed the execution of the previous remote control command, which further improves the efficiency of vehicle remote control. In addition, compared with developing and implementing remote control command parallel related solutions on the vehicle side or user control side, this method can be realized by improving the hardware or software of the communication service end, which requires lower costs, shorter development cycles, and is not subject to constraints caused by different vehicle models or APPs. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0036] Figure 1 A diagram showing an application environment of a vehicle remote control method in an embodiment;
[0037] Figure 2 A schematic diagram of a flow chart of a vehicle remote control method in one embodiment;
[0038] Figure 3 A flowchart of remote control command execution related to a vehicle remote control method in one embodiment;
[0039] Figure 4 A flow chart of parallel solutions related to a vehicle remote control method in one embodiment;
[0040] Figure 5 Another schematic diagram of a flow chart of a vehicle remote control method in one embodiment;
[0041] Figure 6 A schematic diagram of a data storage method in a vehicle remote control method in one embodiment;
[0042] Figure 7 A schematic diagram of another data storage method in a vehicle remote control method in one embodiment;
[0043] Figure 8 is another flow chart of a vehicle remote control method in one embodiment;
[0044] Fig. 9 is a structural block diagram of a vehicle remote control device in one embodiment;
[0045] Fig.10 FIG. 4 is a diagram showing the internal structure of a communication device in one embodiment. DETAILED DESCRIPTION
[0046] In order to make the purpose, technical solutions and advantages of this application more clear, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not used to limit this application. For ease of understanding and subsequent description, the following is an explanation of the relevant technical terms:
[0047] APP: Mobile software, mainly refers to software installed on smart phones, such as vehicle remote control APP, through which users can send control commands to their vehicles, that is, remotely control the vehicle.
[0048] TSP service: mainly a bridge for interaction between the vehicle and the APP. Among them, TSP (Telematics Service Provider) is a car remote service (communication) provider. Telematics is a compound word of telecommunications (Telecommunications) and information science (Informatics) for long-distance communication. It can be understood as a service system that provides information through the computer system built into the car, wireless communication technology, satellite navigation devices, and Internet technology for exchanging text, voice and other information. Simply put, the vehicle is connected to the Internet through a wireless network to provide the owner with various information necessary for driving and life. The TSP service referred to in this article is TSP.
[0049] Vehicle Equipment Center Service: Mainly stores basic information data of the vehicle.
[0050] Kafka message middleware: mainly a component for storing messages.
[0051] Protocol adapter service: converts and adapts the protocol for interaction between the vehicle and the cloud.
[0052] Device gateway service: mainly interacts with EMQ on the vehicle side.
[0053] EMQ: EMQ message middleware is a unified IoT messaging solution based on the MQTT open standard. It can reliably move IoT data between IoT devices and cloud services in real time at a high performance of millions per second and low latency.
[0054] Remote control commands, remote control requests, and remote control messages refer to the parameters required for the vehicle to perform remote control.
[0055] Vehicle side: refers to the software and hardware contained in the vehicle that interacts with the cloud.
[0056] TBOX: An in-vehicle communication module used to connect a vehicle to an external network. It usually includes components such as a GPS positioning system, a wireless communication interface, and a microcontroller, which can monitor the vehicle's operating status in real time and exchange data with other devices.
[0057] Redis: Remote Dictionary Server, or remote dictionary service. Redis is a key-value storage system that supports storing more value types, including string, list, set, zset (sorted set) and hash, etc.
[0058] The vehicle remote control method provided in the embodiment of the present application can be applied to Figure 1In the application environment shown. Among them, the user control terminal 101 communicates with the vehicle 103 through the communication service 102. Among them, the user control terminal 101 can be, but not limited to, various personal computers, laptops, smart phones, tablet computers, Internet of Things devices and portable wearable devices. The Internet of Things devices can be smart speakers, smart TVs, smart air conditioners, projection devices, etc. Portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc. Head-mounted devices can be virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, etc. Vehicle 103 can be, but not limited to, a sedan, SUV (sport utility vehicle, or suburban utility vehicle), MPV (multi-Purpose Vehicles), sports car, truck, off-road vehicle, dump truck, tractor, agricultural vehicle, special vehicle (such as sanitation vehicle, snowplow, bulldozer, etc.), etc. Exemplarily, the vehicle can be a new energy electric vehicle. The communication service 102 can be understood as one or more of TSP service, vehicle equipment center service, protocol adapter service, and device gateway service. For example, the communication service 102 can be understood as the device gateway service, or the integration of the protocol adapter service and the device gateway service.
[0059] In an exemplary embodiment, Figure 2 As shown, a vehicle remote control method is provided, which is applied to Figure 1 The communication service 102 (specifically, the device gateway service) in FIG. 1 is taken as an example to illustrate, including steps S201 to S202, which are specifically as follows:
[0060] Step S201: when a remote control instruction from a user control terminal is obtained from the first middleware, it is determined whether the vehicle is executing a preceding remote control instruction before the remote control instruction.
[0061] Since the vehicle remote control method in this embodiment is applied to the communication service end between the user control end and the vehicle, there may be multiple middlewares between the user control end and the vehicle, such as message middleware, more specifically, such as kafka message middleware, EMQ middleware, etc. Therefore, the communication service end of the execution subject of this technical solution can interact with other middlewares. The first middleware in step S201 and the second middleware in step S202 are both middlewares used for data transmission between the user control end and the vehicle. The user control end is a control end for users to issue various commands (remote control commands), such as an APP in a mobile phone or a remote control of a vehicle. Remote control commands are commands that instruct the vehicle to perform certain actions, such as turning on the air conditioner and lights in the car. Predecessor remote control commands are remote control commands before the current remote control commands.
[0062] Exemplarily, the first middleware of the communication server applied in this method obtains the remote control command from the user control terminal. At this time, the communication server needs to determine whether it can be immediately issued to the vehicle, and the basis for the determination may be whether the vehicle is executing the preceding remote control command.
[0063] Step S202: If it is determined that the vehicle is executing the previous remote control command, the remote control command is temporarily stored until it is determined that the vehicle has completed the execution of the previous remote control command, and the temporarily stored remote control command is sent to the vehicle through the second middleware.
[0064] In the embodiment of the present application, the communication distance between the second middleware and the vehicle is shorter than the communication distance between the first middleware and any one of the communication service ends and the vehicle.
[0065] Exemplarily, after the aforementioned steps, the communication service end can obtain whether the vehicle is executing the preceding remote control instruction. If the vehicle is executing the preceding remote control instruction, the communication service end temporarily stores the remote control instruction. The temporary storage here can be various ways to implement the temporary storage of remote control instructions, for example, putting it in memory or disk, for example, storing it in a memory-based database, and more specifically, for example, temporarily storing the remote control instruction through a Redis data structure. While or after temporarily storing the remote control instruction, the communication service end is still detecting and determining whether the vehicle is executing the preceding remote control instruction before the remote control instruction, until it is re-determined that the vehicle has completed the execution of the preceding remote control instruction. At this time, the communication service end can send the temporarily stored remote control instruction to the vehicle through the second middleware. Regarding the understanding of the second middleware, it can be seen that refer to the above description. It should be pointed out here that the communication distance between the second middleware and the vehicle should be less than the communication distance between the first middleware and the vehicle, and less than the communication distance between the communication service end and the vehicle. Exemplarily, the second middleware may be the one that directly communicates and exchanges data with the vehicle, such as EMQ, while the first middleware communicates with the vehicle indirectly, and the communication server also communicates with the vehicle indirectly.
[0066] Through the vehicle remote control method provided by this embodiment, the user control end can send multiple remote control instructions simultaneously or successively. When the communication service end obtains the remote control instruction from the user control end from the first middleware, it determines how to process the currently obtained remote control instruction from the user control end by determining the situation of the vehicle executing the previous remote control instruction (i.e., whether it is being executed). If it is determined that the vehicle is executing the remote control instruction, the currently obtained remote control instruction is temporarily stored until it is re-determined that the vehicle has completed the execution of the previous remote control instruction. The communication service end sends the temporarily stored remote control instruction to the vehicle through the second middleware. Therefore, after the user clicks to send a remote control instruction, he can click to send the next remote control instruction without waiting, that is, the parallel sending of remote control instructions is realized; at the same time, in the vehicle remote control method, the communication service end is between the user control end and the vehicle. Compared with the user control end, such as APP, the communication service end takes less time to receive the execution result information of the vehicle for the previous remote control instruction, and then the communication service end can more quickly determine whether the vehicle has completed the execution of the previous remote control instruction, which further improves the efficiency of vehicle remote control. In addition, compared with developing and implementing remote control command parallel related solutions on the vehicle side or user control side, this method can be implemented by improving the hardware or software of the communication service side. It requires lower costs and a shorter development cycle, is not restricted by different vehicle models or APPs, and has better versatility.
[0067] In an exemplary embodiment, the aforementioned step of "determining whether the vehicle is executing a preceding remote control instruction before the remote control instruction" may include: the communication service end queries a first data structure based on the vehicle equipment identifier of the vehicle; the first data structure is used to save the execution status of the preceding remote control instruction and the corresponding timeout period; when it is found in the first data structure that the execution status of the preceding remote control instruction is being executed and the timeout period has not expired, it is determined that the vehicle is executing the preceding remote control instruction; when it is found in the first data structure that the execution status of the preceding remote control instruction is completed or the timeout period has expired, it is determined that the vehicle has completed the execution of the preceding remote control instruction.
[0068] Among them, the first data structure can be a data structure pre-created locally by the communication service end for storing information, such as a string (str) data structure, a list (list) data structure, an array (array) data structure, etc. It should be pointed out that the information stored here must include the execution status of the vehicle's previous remote control instruction and the corresponding timeout time related information, but does not necessarily include the instruction content of the previous remote control instruction, thereby reducing the amount of data storage. The execution status of the previous remote control instruction, that is, the situation that the previous remote control instruction is executed by the vehicle, can be represented by different parameter values, for example, statu: 0, indicating that the execution is completed, statu: 1, indicating that it is being executed, etc. It can be understood that other forms can also be used in the first data structure to represent the execution status of the previous remote control instruction. The timeout time corresponding to the previous remote control instruction, for example, sets a corresponding timeout time, such as 6 seconds, and starts counting from the time when the previous remote control instruction is issued. When it reaches 6 seconds, it is considered that the timeout time has reached or expired or expired, etc. In this case, regardless of the current status of statu, the remote control instruction can be sent to the vehicle.
[0069] Exemplarily, the communication service end can determine whether the vehicle is executing the preceding remote control instruction before the remote control instruction by querying the execution status and corresponding timeout time of the preceding remote control instruction saved in the first data structure. At the same time, the execution status and corresponding timeout time of the preceding remote control instruction saved in the first data structure can be updated in real time based on the feedback from the vehicle and the current time information, so as to ensure the accuracy of the information during the query. Specifically, if the execution status in the queried local first data structure is being executed and the timeout time has not expired, it can be considered that the vehicle is executing the preceding remote control instruction; if the execution status in the queried local first data structure is completed or the timeout time has expired, it can be considered that the vehicle has completed the execution of the preceding remote control instruction.
[0070] In this embodiment, the communication server stores the execution status and the corresponding timeout period of the previous remote control instruction through the first data structure, thereby realizing determining whether the vehicle is executing the previous remote control instruction by querying the corresponding information in the data structure; at the same time, comprehensively determining whether the vehicle is executing the previous remote control instruction based on the execution status and the corresponding timeout period of the previous remote control instruction, so that the determination of whether the vehicle is executing the previous remote control instruction is more accurate, that is, it can reflect whether the vehicle is executing the previous remote control instruction more accurately in real time.
[0071] In an exemplary embodiment, the aforementioned vehicle remote control method also includes: the communication distance between the second middleware and the vehicle is shorter than the communication distance between the second middleware and the user control terminal; the communication service terminal obtains the vehicle's execution result information for the previous remote control instruction from the second middleware; and based on the obtained execution result information, the execution status of the previous remote control instruction in the first data structure is updated to execution completion.
[0072] Among them, the execution result information of the preceding remote control instruction, that is, after the preceding remote control instruction is executed by the vehicle, the vehicle will generate a corresponding execution result, for example, the execution result may include execution completion, execution failure, execution termination, etc. Of course, the execution result may also include vehicle information, such as the vehicle-side TBOX device identification number, etc., which is not limited here. Exemplarily, the communication distance between the second middleware and the vehicle is less than the communication distance between the second middleware and the user control end, that is, the communication distance between the communication service end and the vehicle is less than the communication distance between the communication service end and the user control end; since the second middleware can receive the execution result information of the preceding remote control instruction fed back by the vehicle in real time, the communication service end can obtain the execution result information from the second middleware in real time, and then update the execution status of the preceding remote control instruction in the aforementioned first data structure to execution completion according to the execution result information. It should be pointed out that the execution completion in the execution status should be understood in a broad sense, as long as it can be used to indicate that the remote control command can continue to be sent to the vehicle, and it is not limited to the situation where the previous remote control command is actually executed. For example, the execution may be terminated and the vehicle is in an idle state, then it can also be considered that the execution status of the previous remote control command is completed, so that the communication service end can send the remote control command to the vehicle through the second middleware. It should be pointed out that the communication service end, the first middleware, the second middleware, etc. can all receive information in real time and are not affected by the remote control command sending logic, that is, the remote control command sending logic is parallel to the aforementioned other message receiving and message obtaining logic. For example, the second middleware can receive the remote control command sent by the communication server while receiving the execution result information.
[0073] In this embodiment, since the communication distance between the second middleware and the vehicle is shorter than the communication distance between the second middleware and the user control end, the communication distance between the communication service end and the vehicle is closer and can interact with the vehicle end more quickly, which helps to improve the efficiency of vehicle remote control; at the same time, the communication service end obtains the execution result information of the vehicle for the previous remote control instruction from the second middleware, and updates the corresponding execution status to execution completion based on the obtained execution result information, which enables the execution status of the previous remote control instruction in the first data structure to more accurately reflect whether the vehicle is executing the previous remote control instruction in real time, thereby making the remote control of the vehicle more accurate and reducing time consumption.
[0074] In an exemplary embodiment, the aforementioned vehicle remote control method also includes: the communication service end sends a preceding remote control instruction to the vehicle through the second middleware, and saves the execution status of the preceding remote control instruction as being executed through the first data structure, and sets a corresponding timeout period; the timeout period is determined based on the historical time taken by the vehicle to execute various types of remote control instructions.
[0075] Exemplarily, the communication server can send a preceding remote control instruction to the vehicle through the second middleware, and use the first data structure to save the execution status of the preceding remote control instruction as being executed. At the same time, a corresponding timeout period is set. The timeout period here can be determined based on the historical time taken by the vehicle to execute various types of remote control instructions. For example, the time taken by the vehicle to open the sunroof is 5 seconds, and the preceding remote control instruction is to close the sunroof, then the corresponding timeout period can be set to 5 seconds.
[0076] In this embodiment, a preceding remote control instruction is sent to the vehicle through the second middleware of the communication service end, and the corresponding information is stored using the first data structure, that is, the execution status of the preceding remote control instruction is maintained as being executed, and a corresponding timeout period is set, and the timeout period is determined based on the historical time consumed by the vehicle to execute various types of remote control instructions. This serves the subsequent step of determining whether the vehicle is executing the preceding remote control instruction, that is, it helps to make the determination of whether the vehicle is executing the preceding remote control instruction more accurate, and can more accurately reflect in real time whether the vehicle is executing the preceding remote control instruction, thereby serving the processing of the remote control instruction (temporary storage or direct issuance).
[0077] In an exemplary embodiment, the first middleware in the aforementioned vehicle remote control method is Kafka message middleware; the aforementioned step of "obtaining remote control instructions from the first middleware originating from the user control end" includes: obtaining remote control messages from the Kafka message middleware; the remote control messages are obtained by encapsulating the remote control instructions and vehicle-side device identification originating from the user control end based on the TSP service; the vehicle-side device identification and remote control instructions are obtained based on the remote control message; the aforementioned step of "determining whether the vehicle is executing a preceding remote control instruction before the remote control instruction" includes: determining whether the vehicle is executing a preceding remote control instruction before the remote control instruction based on the vehicle-side device identification.
[0078] Among them, Kafka message middleware, that is, Kafka message middleware. The vehicle-side device identifier is an identifier used to identify and distinguish vehicles, such as the TBOX device number of the vehicle. Exemplarily, the remote control instruction and the corresponding vehicle-side device identifier are sent to the TSP service via the user control terminal, and the TSP service sends the remote control message containing the remote control instruction and the vehicle-side device identifier to the Kafka message middleware. Thus, the remote control message can be obtained from the Kafka message middleware, thereby obtaining the vehicle-side device identifier and the remote control instruction. For example, the remote control message (binary data) is converted to obtain the vehicle-side device identifier and the remote control instruction. Then, according to the vehicle-side device identifier, the preceding remote control instruction and the related information of the preceding remote control instruction that belong to the same vehicle-side device identifier as the remote control instruction can be found.
[0079] In this embodiment, since the number of user control terminals and vehicles may be more than one, the communication service can be a communication service between multiple user control terminals and multiple vehicles. For this, the communication service end can obtain the remote control message from the Kafka message middleware. Since the remote control message is obtained by encapsulating the remote control instruction and vehicle-side device identification from the user control terminal through the TSP service, the vehicle-side device identification and the remote control instruction can be obtained accordingly, so that it can be determined whether the vehicle is executing the preceding remote control instruction according to the vehicle-side device identification. Therefore, the vehicle-side device identification can be used to achieve the distinction, so the technical solution provided in this embodiment helps to provide accuracy in remote control of the vehicle.
[0080] In an exemplary embodiment, the communication service end in the aforementioned vehicle remote control method is a gateway service, and the second middleware is EMQ message middleware; the aforementioned vehicle remote control method also includes: when the communication service end obtains the execution result returned by the vehicle from the EMQ message middleware, the corresponding vehicle-side device identifier is obtained from the execution result; the communication service end determines whether the second data structure contains the target remote control instruction corresponding to the vehicle-side device identifier; the second data structure is used to temporarily store the remote control instructions to be issued; if included, the communication service end sends the target remote control instruction to the vehicle through the second message middleware.
[0081] The gateway service is a service that provides gateway functions, such as Figure 3The device gateway service that interacts with EMQ in the vehicle. The execution result, that is, after the remote control message is executed by the vehicle, the vehicle will generate a corresponding execution result, for example, the execution result may include execution completion, execution failure, execution termination, etc., and the execution result may also include information of the execution subject (vehicle), for example, the vehicle-side device identifier. The second data structure, that is, a data structure for temporarily storing remote control instructions to be issued, for example, a list data structure in Redis, which may be pre-created locally by the communication server. Exemplarily, the communication server in the vehicle remote control method may be a gateway service, and the second middleware may be an EMQ message middleware. After executing the remote control instruction, the vehicle will return the corresponding execution result to the EMQ message middleware. After receiving the execution result, EMQ will transmit the corresponding execution result to the gateway service (or the gateway service will obtain the corresponding execution result from EMQ), so the communication server can obtain the corresponding vehicle-side device identifier from the execution result. Then, according to the vehicle-end device identifier, the target remote control instruction corresponding to the vehicle-end device identifier is searched in the second data structure. If the corresponding target remote control instruction is found, the communication service end can send the target remote control instruction to the vehicle through the second message middleware.
[0082] In this embodiment, the communication service end uses the execution result returned by the vehicle obtained from the EMQ message middleware to determine whether the second data structure contains the corresponding target remote control instruction; if it does, the communication service end can send the target remote control instruction to the vehicle through the second message middleware, which not only ensures that the sent target remote control instruction and the execution result are both for the same vehicle, but also achieves efficient and continuous issuance of remote control instructions, thereby helping to reduce the time consumption of vehicle remote control and improve the efficiency of vehicle remote control. At the same time, since the EMQ message middleware is used as the second middleware, the communication distance between the communication service end and the vehicle becomes shorter, and the time consumption of the communication service end sending messages to the vehicle end and receiving messages returned by the vehicle end is shorter, which also helps to reduce the time consumption of vehicle remote control.
[0083] In an exemplary embodiment, the aforementioned vehicle remote control method also includes: if the communication service end determines that a plurality of remote control instructions corresponding to the vehicle-end device identifier are temporarily stored in the second data structure, the communication service end obtains the remote control instruction with the highest priority as the target remote control instruction based on the priority of each remote control instruction; wherein, the priority of each remote control instruction is determined based on the execution time of each remote control instruction.
[0084] Among the multiple remote control instructions temporarily stored in the second data structure, the remote control instructions with higher priorities can be sent first, and the priority can be predetermined based on the execution time required for different remote control instructions. For example, for remote control instructions with shorter execution time, the higher the corresponding priority is determined, that is, the higher the priority is issued, so as to reduce the number of temporarily stored remote control instructions. The communication service end can determine the priority of different remote control instructions by itself, or obtain the information from other middleware or services, and can record the priority message of the remote control instruction in the second data structure when temporarily storing the remote control instruction in the second data structure. For example, if it is determined that multiple remote control instructions corresponding to the vehicle-end device identifier are temporarily stored in the second data structure, the communication service end can determine the remote control instruction with the highest priority as the target remote control instruction according to the priority of each temporarily stored remote control instruction, that is, the remote control instruction that needs to be issued first.
[0085] In this embodiment, the communication server utilizes priority to implement the issuance of each temporarily stored remote control command. On the one hand, this can avoid chaotic and disorderly issuance of remote control commands. On the other hand, it can enable the vehicle to receive and execute corresponding remote control commands in a certain order, so that remote control commands with higher priority are issued to the vehicle for execution first, thereby helping to improve the efficiency of remote control of the vehicle.
[0086] To facilitate further understanding of the vehicle remote control method provided by this embodiment, Figure 3 As shown, a flowchart of non-parallel execution of remote control instructions is first given, and the description of the flowchart is as follows:
[0087] 1. The user determines the remote control command that the vehicle needs to execute through the APP, that is, the remote control request, and then the APP sends the remote control request data to the TSP service; 2. After the TSP service receives the request, it further encapsulates the request and sends the request to the vehicle equipment center; 3. After receiving the request, the vehicle equipment center sends it to the kafka message middleware after a series of business processing; 4. Return the result; 5. The vehicle equipment center returns the unique identifier of this remote control request to the TSP service; 6. The TSP service returns the unique identifier of this remote control request to the APP; 7. The APP periodically obtains the result of the remote control execution from the TSP service according to the request unique identifier; 8. The protocol adapter service obtains the remote control message from the kafka message middleware; 9. The protocol adapter service adapts the vehicle transportation protocol; 10. The protocol adapter service sends the remote control request After data adaptation, it is sent to the Kafka message middleware; 11. The device gateway service obtains remote control messages from the Kafka message middleware; 12. The device gateway service forwards the request to EMQ. The forwarding here is often only direct forwarding, and there is no forwarding after temporary storage; 13. The vehicle side obtains vehicle control messages from EMQ; 14. The vehicle side parses and executes corresponding instructions according to the remote control request; 15. The vehicle side sends the execution result to EMQ; 16. The device gateway service obtains the vehicle control execution result from EMQ; 17. The device gateway service sends the remote control result to the Kafka message middleware; 18. The protocol adapter service obtains the remote control result from the Kafka message middleware; 19. After the protocol is parsed, the protocol adapter will call the TSP service interface to inform the remote control result; 20. The APP calls the TSP service interface to obtain the remote control execution result.
[0088] After introducing the non-parallel execution process of the above remote control instructions, Figure 4 , introducing the parallel solution process related to the vehicle remote control method provided in this example. The vehicle remote control method is applied to the "device gateway service" in the figure that directly interacts with "EMQ" for data. The "some other services in the middle" in the figure refer to some services involved in the middle, such as vehicle equipment center service, protocol adapter service, etc. This abbreviated terminology is used for the purpose of simply explaining the entire interaction process. In addition, the arrows in the figure are not completely and absolutely reflecting the logical relationship of the flow of remote control instructions and related messages. Some arrows can be used to reflect the execution subject of the corresponding steps. The description of the parallel solution flow chart is as follows:
[0089] 1. The user determines the remote control command that the vehicle needs to execute through the APP, that is, the remote control request, and then the APP sends the remote control request to the TSP service; 2. The TSP service calls other services, where the TSP service can transmit the remote control request and other related data to other services, such as the authentication time mentioned above; 3. Some other services in the middle return the unique identifier of the remote control request to the TSP service; 4. The TSP service returns the unique identifier of the remote control request to the APP; 5. Some other services in the middle push messages to the kafka message middleware; 6. The device gateway service obtains the remote control request message from the kafka message middleware; 7. The device gateway service sends the remote control message to EMQ, where the sending can be direct sending or sending after a certain period of time; 8. The vehicle side obtains the remote control message from EMQ; 9. The vehicle side executes remote control; 10. The APP sends the remote control request to the TSP service for the second time; 11. The TSP service calls other services, where the TSP service can transmit the remote control request and other related data to other services, such as the authentication time mentioned above; 12. Some other services in the middle return Give the TSP service a unique identifier for the remote control request; 13. The TSP service returns the unique identifier of the second remote control request to the APP; 14. Some other services in the middle will push messages to the Kafka message middleware; 15. The device gateway service obtains the remote control request message from the Kafka message middleware; 16. The device gateway service determines whether the vehicle has an executing instruction; 17. The device gateway service stores the message for the second remote control; 18. The vehicle returns the execution result of the first remote control request to EMQ; 19. The device gateway service receives the result of the first remote control request; 20 1. The device gateway service updates the remote control status of the vehicle in execution and the execution is completed; 21. The second remote control request message of the vehicle is sent to EMQ; 22. The vehicle side obtains the remote control request message from EMQ; 23. The device gateway service sends the result of the first remote control request to the kafka message middleware; 24. Some other services in the middle obtain the first remote control result from the kafka message middleware; 25. Some other services in the middle call the updated remote control result provided by the TSP service for update; 26. The APP obtains the final remote control result of the vehicle based on the unique identifier of the first remote control request.
[0090] In combination with the above-mentioned flowchart and corresponding description, it can be understood that the vehicle remote control method provided in this embodiment includes a first aspect: the device gateway service receives the remote control message processing process from the kafka message middleware, and a second aspect: the device gateway service receives the remote control result process executed by the vehicle from EMQ.
[0091] Regarding the first aspect of the process, such as Figure 5 As shown, it specifically includes steps S501 to S503:
[0092] Step S501: Receive and convert remote control messages. This step corresponds to "obtaining remote control instructions from the user control terminal from the first middleware" and other related content. Specifically, the device gateway service receives remote control messages from the kafka message middleware and converts the remote control messages (binary data) into remote control objects;
[0093] Step S502: Determine whether the vehicle is currently executing remote control. This step corresponds to "determine whether the vehicle is currently executing a remote control instruction preceding the remote control instruction" and other related content. Specifically, the TBOX device number of the vehicle is obtained from the remote control object and recorded as pdid; Figure 6 As shown, a possible data storage method is given. The String data structure in Redis (one of the aforementioned first data structures) can be used to store whether the vehicle has remote control being executed, wherein the key in the String structure is pdid, value: true (indicating that it is being executed), correspondingly, value: false (indicating that the execution is completed), and a timeout is set, such as 5 seconds. Regarding the determination of the timeout, it can be determined based on historical statistical data related to the time required for the vehicle to execute remote control. For example, the maximum value from the historical statistical time data is taken as the timeout, which has the advantages of simplicity and high success rate. By querying whether there is a corresponding key in the data structure and whether the corresponding value is true, the judgment result is obtained. For example, if the corresponding key is queried in the program and the corresponding value is true, it means that there is a vehicle control instruction being executed; for another example, if the corresponding key cannot be queried in the program and / or the corresponding value is not true, it means that there is no vehicle control instruction being executed.
[0094] Step S503: Determine the processing rules for the remote control message based on the judgment result. This step corresponds to "If it is determined that the vehicle is executing the previous remote control instruction, then temporarily store the remote control instruction until it is determined that the vehicle has completed the execution of the previous remote control instruction, and send the temporarily stored remote control instruction to the vehicle through the second middleware" and other related content. Specifically, if there is no remote control being executed by the vehicle in Redis, the remote control instruction is directly sent to the vehicle through the second middleware, and the remote control message can be directly sent to EMQ; if there is a remote control being executed by the vehicle in Redis, the instruction needs to be stored, as shown in the attached Figure 7 As shown, a possible data storage method of the second data structure is given, which can be implemented using the List data structure in Redis, where the key in the data structure is pdid, and the value is to store the remote control to be executed of the vehicle.
[0095] Regarding the second aspect of the process, it mainly involves receiving the remote control results fed back from the vehicle side from EMQ, and further processing based on the remote control results. The steps here correspond to "when the execution result returned by the vehicle is obtained from the EMQ message middleware, the corresponding vehicle-side device identifier is obtained from the execution result; determining whether the second data structure contains the target remote control instruction corresponding to the vehicle-side device identifier; the second data structure is used to temporarily store the remote control instructions to be issued; if it is included, the target remote control instruction is sent to the vehicle through the second message middleware" and other related contents. Figure 8 As shown, it specifically includes steps S801 to S804:
[0096] Step S801: After receiving the remote control result binary data from EMQ, the device gateway service first sends the remote control result to the Kafka message middleware, and then transmits it to the APP through a series of services to prompt the user of the remote control execution result.
[0097] Step S802: Convert the binary data of the operation control result into a remote control result object according to the vehicle-cloud protocol, and obtain the device number pdid of the TBOX on the vehicle from the remote control result object.
[0098] Step S803: According to pdid, obtain from the List data structure whether there are instructions to be executed in the List.
[0099] Step S804: If there is an instruction to be executed, the corresponding key in the String data structure is updated to be equal to the timeout time of the pdid, for example, 5 seconds. At the same time, the vehicle control command is sent to EMQ.
[0100] The vehicle remote control method provided in this embodiment has low complexity and low failure rate. It will not happen that the next remote control command fails when entering the anti-theft authentication when the previous remote control command has not completely passed the anti-theft authentication. In this embodiment, how to handle the remote control command from the user control end is determined according to the situation of the vehicle executing the previous remote control command (i.e., whether it is being executed). If it is indeed being executed, the remote control command is temporarily stored until it is determined that the vehicle has completed the execution of the previous remote control command, and the temporarily stored remote control command is sent to the vehicle through EMQ. Therefore, after the user clicks to send a remote control command, he can click to send the next remote control command without waiting, that is, the parallel execution of remote control commands is realized, which improves the efficiency of vehicle remote control. At the same time, with the communication service end between the user control end and the vehicle (the service closest to the vehicle end, the device gateway service) as the execution subject, compared with developing and implementing the remote control command parallel related solutions on the vehicle end, this method requires lower costs and a shorter development cycle; compared with developing and executing the remote control related solutions in parallel on the user control end (such as APP), the remote control time required to achieve vehicle remote control is shorter, and the function of this method is more versatile, for example, it is not subject to the constraints caused by different vehicle models or APPs. By storing the execution status and corresponding timeout time of the previous remote control command, it is comprehensively determined whether the vehicle is executing the previous remote control command based on the execution status and timeout time, so that the determination of whether the vehicle is executing the previous remote control command is more accurate. The corresponding execution status is updated to execution completion according to the execution result information, which can reflect whether the vehicle is executing the previous remote control instruction in a more real-time and accurate manner; the previous remote control instruction is sent to the vehicle through EMQ, and the corresponding information is stored in the data structure, that is, the execution status of the previous remote control instruction is kept as being executed, and a corresponding timeout time is set. The timeout time is determined based on the historical time consumption of the vehicle to execute various types of remote control instructions, and serves the subsequent steps to determine whether the vehicle is executing the previous remote control instruction; the vehicle-side device identification can be used to achieve the distinction function, which helps to provide the accuracy of vehicle remote control; the execution result returned by the vehicle obtained from the EMQ message middleware is used to determine whether the corresponding target remote control instruction exists; if so, the target remote control instruction can be sent to the vehicle, which not only ensures that the sent target remote control instruction and the execution result are both for the same vehicle, but also realizes the efficient and continuous issuance of remote control instructions, thereby helping to reduce the time consumption of vehicle remote control and improve the efficiency of vehicle remote control.
[0101] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0102] Based on the same inventive concept, the embodiment of the present application also provides a vehicle remote control device for implementing the vehicle remote control method involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more vehicle remote control device embodiments provided below can refer to the limitations of the vehicle remote control method above, and will not be repeated here.
[0103] In an exemplary embodiment, Fig. 9 As shown, a vehicle remote control device 900 is provided.
[0104] Applied to the communication service end between the user control end and the vehicle, the device includes:
[0105] The determination module 901 is used to determine whether the vehicle is executing a preceding remote control instruction before the remote control instruction when the remote control instruction from the user control terminal is obtained from the first middleware;
[0106] The sending module 902 is used to temporarily store the remote control command if it is determined that the vehicle is executing the previous remote control command, until it is determined that the vehicle has completed the execution of the previous remote control command, and then send the temporarily stored remote control command to the vehicle through the second middleware.
[0107] In one of the embodiments, the determination module 901 is also used to query a first data structure according to the vehicle equipment identification of the vehicle; the first data structure is used to save the execution status of the previous remote control instruction and the corresponding timeout period; when it is queried in the first data structure that the execution status of the previous remote control instruction is being executed and the timeout period has not expired, it is determined that the vehicle is executing the previous remote control instruction; when it is queried in the first data structure that the execution status of the previous remote control instruction is completed or the timeout period has expired, it is determined that the vehicle has completed the execution of the previous remote control instruction.
[0108] In one embodiment, the communication distance between the second middleware and the vehicle is smaller than the communication distance between the second middleware and the user control terminal; the determination module 901 is further used to obtain the execution result information of the vehicle for the previous remote control instruction from the second middleware; based on the obtained execution result information, the execution status of the previous remote control instruction in the first data structure is updated to execution completion.
[0109] In one embodiment, the sending module 902 is also used to send a preceding remote control instruction to the vehicle through the second middleware, and save the execution status of the preceding remote control instruction as being executed through the first data structure, and set a corresponding timeout period; the timeout period is determined based on the historical time taken by the vehicle to execute various types of remote control instructions.
[0110] In one of the embodiments, the first middleware is Kafka message middleware; the determination module 901 is also used to obtain the remote control message from the Kafka message middleware; the remote control message is obtained by encapsulating the remote control instructions and vehicle-side device identification from the user control end based on the TSP service; the vehicle-side device identification and the remote control instruction are obtained based on the remote control message; and according to the vehicle-side device identification, it is determined whether the vehicle is executing the preceding remote control instruction before the remote control instruction.
[0111] In one of the embodiments, the communication service end is a gateway service, and the second middleware is an EMQ message middleware; the determination module 901 is also used to obtain the corresponding vehicle-side device identifier from the execution result returned by the vehicle from the EMQ message middleware; determine whether the second data structure contains the target remote control instruction corresponding to the vehicle-side device identifier; the second data structure is used to temporarily store the remote control instructions to be issued; the sending module 902 is also used to send the target remote control instruction to the vehicle through the second message middleware if it is included.
[0112] In one of the embodiments, the method also includes: a sending module 902, which is also used to obtain the remote control instruction with the highest priority as the target remote control instruction based on the priority of each remote control instruction if it is determined that multiple remote control instructions corresponding to the vehicle-end device identifier are temporarily stored in the second data structure; wherein the priority of each remote control instruction is determined based on the execution time of each remote control instruction.
[0113] Each module in the above-mentioned vehicle remote control device 900 can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations corresponding to each module above.
[0114] In an exemplary embodiment, a communication device is provided. The communication device may be a server, and its internal structure diagram may be as shown in FIG. Fig.10As shown. The communication device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the communication device is used to provide computing and control capabilities. The memory of the communication device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the communication device is used to store data required for realizing vehicle remote control, such as data related to remote control messages. The input / output interface of the communication device is used to exchange information between the processor and an external device. The communication interface of the communication device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a vehicle remote control method is implemented.
[0115] Those skilled in the art will understand that Fig.10 The structure shown in the figure is only a block diagram of a partial structure related to the scheme of the present application, and does not constitute a limitation on the communication device to which the scheme of the present application is applied. The specific communication device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0116] In an exemplary embodiment, a communication device is provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.
[0117] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0118] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0119] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present 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. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.
[0120] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, 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.
[0121] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A vehicle remote control method, It is characterized in that Applied to a communication service end, the communication service end is used for communication services between a user control end and a vehicle, the method comprises: In the case where a remote control instruction originating from the user control terminal is obtained from the first middleware, determining whether the vehicle is executing a preceding remote control instruction before the remote control instruction; If it is determined that the vehicle is executing the preceding remote control command, the remote control command is temporarily stored until it is determined that the vehicle has completed executing the preceding remote control command, and the temporarily stored remote control command is sent to the vehicle through the second middleware.
2. The method according to claim 1, It is characterized in that The determining whether the vehicle is executing a preceding remote control instruction before the remote control instruction includes: According to the vehicle equipment identification of the vehicle, query a first data structure; the first data structure is used to store the execution status of the preceding remote control instruction and the corresponding timeout period; When it is found that the execution status of the preceding remote control instruction corresponding to the vehicle equipment identifier in the first data structure is being executed and the timeout period has not expired, determining that the vehicle is executing the preceding remote control instruction; When it is found that the execution status of the preceding remote control instruction corresponding to the vehicle equipment identifier in the first data structure is completed or the timeout period has expired, it is determined that the vehicle has completed the execution of the preceding remote control instruction.
3. The method according to claim 2, It is characterized in that The communication distance between the second middleware and the vehicle is shorter than the communication distance between the second middleware and the user control terminal; The method further comprises: Acquiring, from the second middleware, information on the execution result of the vehicle for the preceding remote control command; According to the acquired execution result information, the execution status of the preceding remote control instruction in the first data structure is updated to execution completion.
4. The method according to claim 2, It is characterized in that The method further comprises: When the preceding remote control instruction is sent to the vehicle through the second middleware, the execution status of the preceding remote control instruction is saved as being executed through the first data structure, and a corresponding timeout period is set; The timeout period is determined based on the historical time taken by the vehicle to execute various types of remote control commands.
5. The method according to any one of claims 1 to 4, It is characterized in that The first middleware is Kafka message middleware; The step of acquiring the remote control instruction from the user control terminal from the first middleware includes: A remote control message is obtained from the Kafka message middleware; the remote control message is obtained by encapsulating the remote control instruction and the vehicle-side device identifier from the user control end based on the TSP service; Obtaining a vehicle-side device identifier of the vehicle and the remote control instruction based on the remote control message; The determining whether the vehicle is executing a preceding remote control instruction before the remote control instruction includes: According to the vehicle-end device identifier, determine whether the vehicle is executing a preceding remote control instruction before the remote control instruction.
6. The method according to claim 5, It is characterized in that The communication service end is a gateway service, and the second middleware is an EMQ message middleware; The method further comprises: When the execution result returned by the vehicle for the remote control command is obtained from the EMQ message middleware, the corresponding vehicle-side device identifier is obtained from the execution result; Determine whether the target remote control instruction corresponding to the vehicle-end device identifier is temporarily stored in the second data structure; the second data structure is used to temporarily store the remote control instruction to be issued; If included, the target remote control instruction is sent to the vehicle through the second message middleware.
7. The method according to claim 6, It is characterized in that The method further comprises: If it is determined that multiple remote control instructions corresponding to the vehicle-side device identifier are temporarily stored in the second data structure, based on the priority of each remote control instruction, the remote control instruction with the highest priority is obtained as the target remote control instruction; wherein, the priority of each remote control instruction is determined based on the execution time of each remote control instruction.
8. A vehicle remote control device, It is characterized in that Applied to a communication service end, the communication service end is used for communication services between a user control end and a vehicle, and the device includes: A determination module, configured to determine whether the vehicle is executing a preceding remote control instruction before the remote control instruction when a remote control instruction originating from the user control terminal is obtained from the first middleware; The sending module is used to temporarily store the remote control instruction if it is determined that the vehicle is executing the previous remote control instruction, until it is determined that the vehicle has completed the execution of the previous remote control instruction, and 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, It is characterized in that When the processor executes the computer program, the steps of the method according to any one of claims 1 to 7 are implemented.
10. A computer-readable storage medium having a computer program stored thereon, It is characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Cited By
Method and device for remotely controlling ECU and TBOX
CN116909256A
A method, device and TBOX for remotely controlling an ECU
CN116909256B
Vehicle communication method, system and equipment, control unit and communication service device
CN120017693A
