A communication method, device, equipment and medium

Through the communication method executed in the cloud, the request packets from the application side are analyzed and converted, and forwarded to the vehicle side through middleware, the obstacles caused by the different communication protocols of the vehicle side and the application side are solved, and the vehicle-cloud integration is realized. Improves communication efficiency and vehicle use experience.

CN115988086BActive Publication Date: 2025-02-18CHINA FAW CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310013423.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-01-05
Publication Date
2025-02-18
Estimated Expiration
2043-01-05

AI Technical Summary

Technical Problem

Communication barriers caused by the different communication protocols of the vehicle-side and application-side hinder the implementation of vehicle-cloud integration and affect the car owner's car use experience.

Method used

Through the communication method executed by the cloud, after detecting the communication request from the application side, permission verification is performed, and the request message is parsed and converted using the preset protocol processing engine, the target vehicle end is determined, and the target is converted through the preset middleware The message is forwarded to the vehicle end, and the feedback information is obtained and forwarded to the application end simultaneously.

Benefits of technology

It realizes efficient communication interaction between the vehicle end, the cloud end and the application end, solves the obstacles caused by different communication protocols, improves communication efficiency, and improves the car use experience of car owners.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115988086B_ABST
    Figure CN115988086B_ABST
Patent Text Reader

Abstract

The present invention discloses a communication method, device, equipment and medium. The method includes: being executed by the cloud, if a communication request of the application end is detected, then according to the application identification information and the request message of the application end, the permission verification is performed on the application end; if the verification is passed, the request message is parsed and processed by using a preset protocol processing engine, and the request message is converted into a target message based on a preset protocol; the preset protocol is a message queue telemetry transmission protocol Mqtt protocol; the target vehicle end is determined, and the target message is forwarded to the target vehicle end by using a preset middleware, which is used to instruct the target vehicle end to respond to the target message; the feedback information generated after the target vehicle end responds to the target message is obtained, and the feedback information is synchronously forwarded to the application end. It can realize efficient communication interaction between the vehicle end, the cloud end and the application end, and solve the communication barrier problem caused by different communication protocols between the vehicle end and the application end.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of vehicle technology, and in particular to a communication method, device, equipment and medium. Background Art

[0002] As cars continue to develop towards intelligence, networking and electrification, the technology that enables car owners to control their vehicles through applications is an important application scenario.

[0003] How to use the cloud to achieve communication interaction between the application side and the vehicle side, solve the communication barriers caused by different communication protocols between the vehicle side and the application side, so as to achieve vehicle-cloud integration and improve the car owner's car experience is a problem that needs to be solved urgently. Summary of the invention

[0004] The present invention provides a communication method, device, equipment and medium, which can realize efficient communication interaction between the vehicle side, the cloud side and the application side, and solve the communication barrier problem caused by the different communication protocols between the vehicle side and the application side.

[0005] According to one aspect of the present invention, there is provided a communication method, which is executed by a cloud, comprising:

[0006] If a communication request from the application is detected, the authority of the application is verified according to the application identification information and the request message of the application; the communication request refers to a request from the application to obtain vehicle status information or to control the vehicle;

[0007] If the verification is passed, the request message is parsed and processed by using a preset protocol processing engine, and the request message is converted into a target message based on a preset protocol; the preset protocol is a message queue telemetry transmission protocol Mqtt protocol;

[0008] Determine a target vehicle end, and use a preset middleware to forward the target message to the target vehicle end, so as to instruct the target vehicle end to respond to the target message;

[0009] Acquire feedback information generated after the target vehicle side responds to the target message, and synchronously forward the feedback information to the application side.

[0010] According to another aspect of the present invention, a communication method is provided, which is executed by a vehicle end and includes:

[0011] In response to a target message sent by the cloud, verifying the target message according to preset identification information and a preset message body;

[0012] If the verification is successful, the preset master node is used to determine the parameter information contained in the message body of the target message;

[0013] Determine at least two atomic services associated with the target message, and use at least two slave nodes to execute the atomic services based on the parameter information;

[0014] Determine the distributed execution result of the atomic service, and generate feedback information based on the execution result, so that the cloud forwards the feedback information to the application end.

[0015] According to another aspect of the present invention, there is provided a communication device, which is configured in the cloud and includes:

[0016] A first verification module is used to verify the authority of the application end according to the application identification information and the request message of the application end if a communication request from the application end is detected; the communication request refers to a request from the application end to obtain vehicle status information or to control the vehicle;

[0017] A conversion module, for parsing the request message using a preset protocol processing engine if the verification is passed, and converting the request message into a target message based on a preset protocol; the preset protocol is a message queue telemetry transmission protocol Mqtt protocol;

[0018] A first forwarding module, used to determine a target vehicle end, and forward the target message to the target vehicle end by using a preset middleware, so as to instruct the target vehicle end to respond to the target message;

[0019] The second forwarding module is used to obtain feedback information generated after the target vehicle end responds to the target message, and synchronously forward the feedback information to the application end.

[0020] According to another aspect of the present invention, a communication device is provided, wherein the device is configured in a vehicle end and comprises:

[0021] A second verification module, configured to respond to a target message sent by the cloud and verify the target message according to preset identification information and a preset message body;

[0022] A determination module is used to determine the parameter information contained in the message body of the target message by using a preset master node if the verification is passed;

[0023] An execution module, used for determining at least two atomic services associated with the target message, and executing the atomic services based on the parameter information using at least two slave nodes;

[0024] The generation module is used to determine the distributed execution result of the atomic service and generate feedback information based on the execution result, so that the cloud forwards the feedback information to the application end.

[0025] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:

[0026] at least one processor; and

[0027] a memory communicatively connected to the at least one processor; wherein,

[0028] The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the communication method described in any embodiment of the present invention.

[0029] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the communication method described in any embodiment of the present invention when executed.

[0030] According to the technical solution of the embodiment of the present invention, if the cloud detects a communication request from the application end, it performs permission verification on the application end according to the application identification information and request message of the application end. If the verification is passed, the request message is parsed and processed using a preset protocol processing engine, and based on the preset protocol, the request message is converted into a target message, the target vehicle end is determined, and the target message is forwarded to the target vehicle end using a preset middleware, which is used to instruct the target vehicle end to respond to the target message, obtain the feedback information generated after the target vehicle end responds to the target message, and synchronously forward the feedback information to the application end. In this way, the cloud can forward the communication request issued by the application end to the vehicle end, and transmit the feedback information from the vehicle end back to the application end, so as to realize the interaction between the vehicle end, the cloud end and the application end, solve the communication barrier problem caused by the different communication protocols between the vehicle end and the application end, and improve the communication efficiency.

[0031] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0033] Figure 1A is a flow chart of a communication method provided by Embodiment 1 of the present invention;

[0034] Figure 1BIt is a schematic diagram of the cloud architecture provided by the first embodiment of the present invention;

[0035] Figure 2A is a flow chart of a communication method provided by Embodiment 2 of the present invention;

[0036] Figure 2B This is a diagram of the vehicle-cloud integration architecture provided by the second embodiment of the present invention;

[0037] Figure 3 is a structural block diagram of a communication device provided in Embodiment 3 of the present invention;

[0038] Figure 4 is a structural block diagram of a communication device provided by Embodiment 4 of the present invention;

[0039] Figure 5 It is a schematic diagram of the structure of an electronic device provided in Embodiment 5 of the present invention. DETAILED DESCRIPTION

[0040] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0041] It should be noted that the terms "first", "second", "target", "candidate", "alternative", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0042] In the related technology, the Internet of Vehicles is often used for the control of vehicles within the enterprise, that is, the existing functions and data opening modes of the vehicle are limited remote control and limited data development, respectively. As the demands of car owners for the experience provided by the car become more and more diverse, it is urgent to open the equipment capabilities of the vehicle side to the cloud, so that the cloud can obtain the vehicle status in real time, and can send various fusion information calculated according to the status to the application side in real time, so as to realize the communication interaction between the car owner and the vehicle side based on the application side, and improve the car owner's car experience. The present invention is based on a service-oriented architecture (service-oriented architecture, SOA), and proposes a vehicle-cloud integration technology solution based on SOA service. It supports the integration of atomic services of multiple vehicle-mounted operating systems, encapsulates the SOME / IP communication protocol (Scalable service-oriented Middleware over IP) in the car, and provides the application side with an API interface (Application Programming Interface) based on https (Hypertext Transfer Protocol Secure, Hypertext Transfer Protocol Secure), converts the communication request sent by the application side, and thus interacts with the vehicle side, so as to realize the opening of the vehicle's atomic services to the application side. Specifically, based on the above settings, the cloud, application and vehicle sides communicate and interact to realize the solution of remote real-time control of the vehicle and acquisition of the vehicle status by the application side, which will be introduced in detail in subsequent embodiments.

[0043] Embodiment 1

[0044] Figure 1A is a flow chart of a communication method provided in Embodiment 1 of the present invention, Figure 1B This is a schematic diagram of the cloud architecture provided by the first embodiment of the present invention. This embodiment is applicable to the situation where the cloud responds to the application request, realizes communication with the vehicle and transmits feedback information back. The method can be executed by a communication device, which can be implemented in software and / or hardware and can be integrated into an electronic device with communication function. Figure 1A As shown, the method includes:

[0045] S101: If a communication request from an application is detected, the application is authenticated based on the application identification information and the request message.

[0046] Among them, the communication request refers to the request sent by the application end to the cloud to communicate with the vehicle end. Specifically, the communication request refers to the request from the application end to obtain vehicle status information or control the vehicle. The communication request can be issued based on the http protocol (Hyper Text Transfer Protocol) or the https protocol (Hypertext TransferProtocol Secure). Application identification information refers to information that can uniquely identify the identity of the application end, such as an identification number. The request message refers to the message in the communication request sent by the application end to the cloud.

[0047] Optionally, when receiving a request from a relevant person (such as a vehicle owner) to obtain vehicle status information or an instruction to control the vehicle, the application can generate a corresponding request message and send a communication request including the request message to the cloud.

[0048] Optionally, if the cloud detects a communication request sent by the application, it can verify the permission of the application based on preset rules, according to the application identification information and the request message of the application. Specifically, the permission of the application is verified based on the application identification information and the request message of the application, including: authenticating the identity of the application based on the application identification information of the application; determining whether the application has corresponding API access rights based on the target access application programming API interface and application identification information in the request message.

[0049] Among them, the API interface (Application Programming Interface) is a preset interface for the application to interact with the API Gateway in the cloud. The API Gateway is an API Gateway based on the https or http communication protocol and can be used as a unified API access layer.

[0050] Optionally, the cloud can obtain the communication request sent by the application through the API gateway, and further call the relevant user management data and vehicle management data based on the TSP (Telematics Service Provider, automotive remote service provider) platform to determine whether the user management data contains the corresponding application. If so, it determines whether the vehicle requested for communication in the communication request of the application is a vehicle managed by the cloud based on the vehicle management data. If so, it can be determined that the identity authentication of the application is passed. Among them, the user management data and vehicle management data can be data pre-generated based on the JWT (JSON Web Tokens) tool.

[0051] Optionally, the cloud can call the API permission management module to determine whether the application has the corresponding API access rights based on the target access API interface and application identification information in the request message.

[0052] For example, see Figure 1B The cloud can use the vehicle management and user management modules in the SOA management platform to integrate the user management data and vehicle management data in the TSP platform; use the dynamic service management module in the SOA management platform to import the relevant vehicle-side service files of each vehicle-side (the formats include arxml, excel, and json, etc.), dynamically establish atomic-level service information for multiple vehicle models, and establish atomic-level service associations between vehicle models and vehicle-side models; use the API permission management module in the SOA management platform to set relevant permissions for the application-side to access the API interface.

[0053] Optionally, if it is detected that at least two application ends send communication requests at the same time, conflict detection is performed based on the request messages sent by each application end; each request message is filtered based on the conflict detection result and the request message sent by each application end; and the filtered request message is parsed and processed using a preset protocol processing engine.

[0054] For example, see Figure 1B ,After the identity authentication and API permission management are verified, the cloud can process the ,communication requests sent by the application end. When it is detected that at least two ,applications end send communication requests at the same time, conflict detection and ,conflict handling can also be performed.

[0055] Optionally, if it is detected that at least two application terminals simultaneously issue communication requests, it is determined whether there is a conflict between the communication requests simultaneously issued by at least two application terminals based on the time of the request message sent by each application terminal and the vehicle-side information requested for interaction in the request message, that is, whether there is a conflict between at least two application terminals, that is, conflict detection is performed.

[0056] Optionally, if there is no conflict between at least two application terminals, the subsequent S102-S104 operations can be performed respectively according to the request messages sent by each application terminal. If a conflict is detected between the application terminals, the request messages corresponding to the application terminals with higher authority levels can be filtered out from the request messages of each application terminal according to the authority levels of the application terminals where the conflict occurs. That is, each request message is filtered according to the conflict detection result and the request messages sent by each application terminal, and the request messages filtered out after filtering are parsed and processed. Correspondingly, the request message in the subsequent S102 that uses the preset protocol processing engine to parse the request message is the request message filtered out after filtering.

[0057] S102: If the verification is successful, the request message is parsed and processed using a preset protocol processing engine, and the request message is converted into a target message based on a preset protocol.

[0058] The preset protocol may be MQTT (Message Queuing Telemetry Transport) protocol. The target message refers to a message based on the preset protocol.

[0059] For example, see Figure 1B ,After the cloud performs conflict detection and request processing, the ,message message can be passed to the protocol processing engine for ,protocol conversion, and the relevant information can be sent to the ,state cache module for storage.

[0060] Optionally, if the verification is passed, the cloud can use a preset protocol processing engine to parse and process the request message, and based on the preset protocol, convert the request message based on the http protocol or the https protocol into a target message based on the preset protocol.

[0061] Optionally, a preset protocol processing engine is used to parse and process the request message, and based on the preset protocol, the request message is converted into a target message, including: utilizing a preset protocol processing engine to parse and process the request message, and determining information associated with preset keywords in the request message; determining identification information and a message body based on the information associated with the preset keywords and the preset protocol; and converting the request message into a target message based on the identification information and the message body.

[0062] The information associated with the preset keyword may be a key field noun or sequence number in the request message. The identification information refers to the information of the topic field in the preset protocol. The identification information is an identifier used to classify application messages. The message body refers to the information of the message body (payload) part in the preset protocol. In the Mqtt protocol, an Mqtt data packet consists of three parts: a fixed header, a variable header, and a message body (payload).

[0063] Exemplarily, the protocol processing engine can parse the request message, and after parsing the message content, automatically form the topic and payload in the Mqtt protocol according to the preset keywords in the message, that is, determine the identification information and the message body, and generate the target message based on the Mqtt protocol according to the identification information and the message body.

[0064] S103: Determine the target vehicle end, and use the preset middleware to forward the target message to the target vehicle end, so as to instruct the target vehicle end to respond to the target message.

[0065] Among them, the preset middleware can be Mqtt middleware.

[0066] Optionally, after determining the target message, the cloud can use the Mqtt connection service module to publish the target message to the broker server (cache service) of the Mqtt middleware for caching through the Mqtt message producer. At the same time, based on the request message, the identification information of the vehicle side that the application side requests to communicate with is determined, thereby determining the target vehicle side.

[0067] Optionally, after determining the target vehicle, the cloud can use a preset middleware to forward the target message to the target vehicle to instruct the target vehicle to respond to the target message.

[0068] Optionally, the cloud can pre-establish a secure encrypted channel with each managed vehicle to facilitate secure communication with the vehicle.

[0069] S104: Obtain feedback information generated after the target vehicle side responds to the target message, and synchronously forward the feedback information to the application side.

[0070] Optionally, each vehicle end managed by the cloud can subscribe to the message messages sent by the cloud. After the cloud publishes a message (i.e., the target message) to each vehicle end, it can subscribe to the response message fed back by each vehicle end based on the nodes in the cloud cluster, that is, obtain the feedback information generated after the target vehicle end responds to the target message, and synchronously forward the feedback information to the application end.

[0071] Specifically, the target vehicle can execute the corresponding atomic-level service according to the target message and generate feedback information, that is, generate feedback information after responding to the target message, and further publish the feedback information to the middleware brokerserver in the cloud, so that the cloud forwards the feedback information to the application end.

[0072] For example, see Figure 1B The cloud can also configure a console to monitor the data of each API interface connected to the application side in real time, and monitor the information such as the success or exception of the vehicle-side information call, the call time, the number of calls, and the call source. The service visualization module can display the relationship between the vehicle model and the atomic-level services of the vehicle, the input and output parameters of the atomic-level services, the mapping relationship between the vehicle and the cloud service, and other information. The control service module can set the service's current limiting and fuse rules, etc. The cloud can also interact with the developer ecosystem platform to manage the applications on the application side.

[0073] It should be noted that the technical solution of the present invention can realize the opening and sharing of vehicle-side data through the cloud, so that the application end can obtain the vehicle's information and status at any time, or turn on or off certain functions of the vehicle, such as remote ignition, lowering windows, and turning on and off air conditioning.

[0074] According to the technical solution of the embodiment of the present invention, if the cloud detects a communication request from the application end, it performs permission verification on the application end according to the application identification information and request message of the application end. If the verification is passed, the request message is parsed and processed using a preset protocol processing engine, and based on the preset protocol, the request message is converted into a target message, the target vehicle end is determined, and the target message is forwarded to the target vehicle end using a preset middleware, which is used to instruct the target vehicle end to respond to the target message, obtain the feedback information generated after the target vehicle end responds to the target message, and synchronously forward the feedback information to the application end. In this way, the cloud can forward the communication request issued by the application end to the vehicle end, and transmit the feedback information from the vehicle end back to the application end, so as to realize the interaction between the vehicle end, the cloud end and the application end, solve the communication barrier problem caused by the different communication protocols between the vehicle end and the application end, and improve the communication efficiency.

[0075] Embodiment 2

[0076] Figure 2A is a flow chart of a communication method provided in Embodiment 2 of the present invention. Figure 2B This is a diagram of the vehicle-cloud integration architecture provided by the second embodiment of the present invention. This embodiment is applicable to the case where the vehicle-side interacts with the cloud side and responds to the communication request sent by the application side. The method can be executed by a communication device, which can be implemented in software and / or hardware and can be integrated into an electronic device with communication function, such as a vehicle. Figure 2A As shown, the method includes:

[0077] S201. In response to a target message sent by the cloud, verify the target message according to preset identification information and a preset message body.

[0078] The preset identification information refers to the information of the message topic field preset by the vehicle side indicating that the interaction is allowed. The message body (payload) refers to the message body of the message preset by the vehicle side indicating that the interaction is allowed.

[0079] Optionally, the Mqtt message consumer on the vehicle side can subscribe to the target message published by the cloud through preset identification information, and determine whether the identification information contained in the target message sent by the cloud is consistent with the preset identification information. If so, the message body (payload) in the target message is obtained for decryption and signature verification. If the message body after decryption and signature verification is consistent with the message body preset on the vehicle side, it is determined that the vehicle side has passed the verification of the target message.

[0080] Optionally, before executing step S201, the vehicle side may also interact with the cloud to establish a secure encrypted channel, and based on the secure encrypted channel, obtain the target message sent by the cloud and respond and provide feedback.

[0081] Optionally, after receiving the target message sent by the cloud, the vehicle can determine whether the current state of the vehicle conflicts with the target state associated with the target message. If so, conflict resolution is performed based on preset conflict resolution rules. Specifically, conflict resolution can be performed based on the following priority order: hard key request>soft key>voice request>greater than remote command (including vehicle-cloud integration request). The above rules are only applicable to control services, and status services do not require conflict resolution.

[0082] S202: If the verification is successful, the preset master node is used to determine the parameter information contained in the message body of the target message.

[0083] Among them, the master node (master) refers to the master node configured based on the SOA service on the vehicle side. The message body of the target message may refer to the message body of the private car-cloud integration protocol based on the MQTT protocol. The parameter information may include at least one of the following: the standard command of the message body (Message ID (Identity document, unique code)), the atomic service ID (ServiceID), the session identifier (Request ID, downlink commands and responses need to carry the session identifier), the data content (MethodParameter) and the service type (Message Type).

[0084] Exemplarily, the session identifier can be defined as a unique identifier of 32 bits in length, and the identification rule is 18-bit VIN (Vehicle Identification Number) + 6-bit time information (year: month: day: hour: minute: second) + 6-bit millisecond information. Service types may include: control instructions (expressed as 0x01: Method) and event information (expressed as 0x02: Event). The atomic service ID may include service interfaces that minimize functions in the six major functional areas of the vehicle (body domain, chassis domain, power domain, entertainment domain, vehicle domain, and autonomous driving domain), such as door control services (Door Control) or door status services (Doors Status). The data content may include parameter information within the atomic services of each domain, separated by commas. For example, the parameter corresponding to the door control service is [Driver Position, Open].

[0085] Exemplarily, the standard command (Message ID) may include information such as a sequence number, a command code, a data direction, and a definition. Specifically, as shown in Table 1, the standard command may include the following three forms:

[0086] Table 1: Three forms of standard commands

[0087] Serial number coding definition Data direction 1 0x01 Real-time messaging Up 2 0x02 Reissue information Up 3 0x03 Request Message Downside

[0088] Optionally, a preset master node can be used to parse the message body in the target message and convert it into input parameters for each child node, which is used to instruct each child node to call the executor to perform a corresponding operation, that is, to determine the parameter information contained in the message body of the target message.

[0089] S203: Determine at least two atomic services associated with the target message, and use at least two slave nodes to execute the atomic services based on parameter information.

[0090] Among them, the slave node refers to the physical node configured on the vehicle side based on the SOA service.

[0091] Optionally, the vehicle side can determine the corresponding slave node for each atomic-level service associated with the target message based on preset rules, and use each slave node to execute the corresponding atomic-level service based on parameter information.

[0092] Optionally, at least two slave nodes are used to execute atomic services based on parameter information, including: encoding parameter information based on a preset service-oriented scalable protocol using at least two slave nodes; inputting the encoded parameter information into a corresponding actuator to instruct the actuator to execute each atomic service. The preset service-oriented scalable protocol may be, for example, the vehicle-side SOME / IP protocol (Scalable service-Oriented Middleware over IP, Scalable service-oriented middleware based on IP (Internet Protocol)).

[0093] For example, at least two slave nodes can be used to determine the controller corresponding to each atomic service, and based on the SOME / IP protocol, the parameter information such as Message ID, Request ID, Message Type, Payload, etc. can be encoded to implement the service call through SOME / IP. Finally, the encoded parameter information is input into the corresponding executor to instruct the executor to execute each atomic service.

[0094] S204: Determine the distributed execution result of the atomic service, and generate feedback information according to the distributed execution result, so that the cloud side forwards the feedback information to the application side.

[0095] Among them, the distributed execution result refers to the result of the vehicle side using each slave node to distribute the execution of atomic-level services.

[0096] Optionally, the vehicle side determines the distributed execution results of the atomic-level service, and after generating feedback information based on the distributed execution results, it can provide feedback to the cloud side. The cloud side needs to synchronously forward the feedback information to the application side, thereby realizing the entire vehicle-cloud integrated cluster + asynchronous communication architecture.

[0097] For example, the observer pattern can be used to solve the problem of synchronous response and forwarding feedback information to the application side: the first step is to register the receiving node address and http connection. The receiving end IP and port (port) of the https request initiated by the application side are registered in the distributed cache (redis), and the key value is the Message ID. Then create a response object (HttpResponse object), and cache the Http Response object instance to the local hash map (hash map), the key is the Message ID, and call the wait method of the http response to implement thread blocking;

[0098] In the second step, the observer in the cloud notifies the listener in the cloud. After the vehicle executes the atomic service and sends feedback information to the cloud, the cloud can use the observer to publish the return value (i.e. feedback information) to the Mqtt middleware, and a node in the cloud cluster subscribes to the return value. After receiving the return value, the observer uses the Message ID to find the IP and port of the node that receives the application request at the registration location, and notifies the listener of the node of the return value.

[0099] In the third step, the listener in the cloud executes the return. The listener finds the HttpResponse in the previously cached hash map, sets the return value to the HttpResponse, and calls the notify method of the HttpResponse object instance to wake up the blocked thread. After waking up the blocked process, the listener can send the return value to the application.

[0100] According to the technical solution of the embodiment of the present invention, the vehicle side responds to the target message sent by the cloud side, verifies the target message according to the preset identification information and the preset message body, and if the verification is passed, determines the parameter information contained in the message body of the target message by using the preset master node, determines at least two atomic services associated with the target message, and executes the atomic service based on the parameter information by using at least two slave nodes, determines the distributed execution result of the atomic service, and generates feedback information according to the execution result, so that the cloud side forwards the feedback information to the application side. In this way, the vehicle side can respond to the communication request issued by the application side through the cloud side, realize the interaction of the vehicle side, the cloud side and the application side, solve the communication barrier problem caused by the different communication protocols between the vehicle side and the application side, and improve the communication efficiency.

[0101] Preferably, see Figure 2B The vehicle-cloud integrated architecture provided in the embodiment of the present invention may specifically include an application end, a cloud end, middleware on the cloud end, and a vehicle end. The application end may include SDKs (Software Development Kits) in different programming formats, such as Java SDKs, Android SDKs, JS SDKs, and C / C++ SDKs. The application end may interact with the cloud gateway on the cloud end based on the https protocol to transmit secure encrypted signatures; the protocol processing engine on the cloud end is used to store and process atomic-level service information on the vehicle end, perform http and Mqtt protocol conversion, and control the Mqtt message producer to generate messages; the SOA virtual service on the cloud end is used for dynamic service API ports. The cloud and the middleware interact based on the Mqtts protocol (encrypted Mqtt protocol); the middleware includes multiple Mqtt brokers, which are used to implement the broker server service; the middleware forwards the target message to the vehicle based on the Mqtts protocol; the vehicle includes a master node and a slave node based on SOA services. Specifically, the master node includes: Mqtt gateway and Mqtt message consumer; the Mqtt message consumer is used to convert the Mqtt and some / ip protocols and send them to the actuator, as well as synchronize the atomic service information on the cloud. The slave node is used to perform protocol conversion and send the converted message to each actuator for execution. The master node and slave node inside the vehicle are also used to interact based on the some / ip protocol and the SOA message bus.

[0102] Embodiment 3

[0103] Figure 3 It is a structural block diagram of a communication device provided in Embodiment 3 of the present invention. A communication device provided in Embodiment 3 of the present invention can execute the communication method provided in any embodiment of the present invention, has functional modules and beneficial effects corresponding to the execution method, and the device can be configured in the cloud.

[0104] like Figure 3 As shown, the device comprises:

[0105] The first verification module 301 is used to verify the authority of the application end according to the application identification information and the request message of the application end if a communication request from the application end is detected; the communication request refers to a request from the application end to obtain vehicle status information or to control the vehicle;

[0106] The conversion module 302 is used to parse and process the request message using a preset protocol processing engine if the verification is passed, and convert the request message into a target message based on a preset protocol; the preset protocol is a message queue telemetry transmission protocol Mqtt protocol;

[0107] The first forwarding module 303 is used to determine the target vehicle end, and forward the target message to the target vehicle end by using a preset middleware, so as to instruct the target vehicle end to respond to the target message;

[0108] The second forwarding module 304 is used to obtain feedback information generated after the target vehicle end responds to the target message, and synchronously forward the feedback information to the application end.

[0109] According to the technical solution of the embodiment of the present invention, if the cloud detects a communication request from the application end, it performs permission verification on the application end according to the application identification information and request message of the application end. If the verification is passed, the request message is parsed and processed using a preset protocol processing engine, and based on the preset protocol, the request message is converted into a target message, the target vehicle end is determined, and the target message is forwarded to the target vehicle end using a preset middleware, which is used to instruct the target vehicle end to respond to the target message, obtain the feedback information generated after the target vehicle end responds to the target message, and synchronously forward the feedback information to the application end. In this way, the cloud can forward the communication request issued by the application end to the vehicle end, and transmit the feedback information from the vehicle end back to the application end, so as to realize the interaction between the vehicle end, the cloud end and the application end, solve the communication barrier problem caused by the different communication protocols between the vehicle end and the application end, and improve the communication efficiency.

[0110] Furthermore, the conversion module 302 is specifically used for:

[0111] Utilizing a preset protocol processing engine, the request message is parsed and processed to determine information associated with preset keywords in the request message;

[0112] Determine identification information and a message body according to the information associated with the preset keyword and the preset protocol;

[0113] The request message is converted into a target message according to the identification information and the message body.

[0114] Furthermore, the first verification module 301 is specifically used for:

[0115] Performing identity authentication on the application terminal according to the application identification information of the application terminal;

[0116] According to the target application programming API interface and application identification information in the request message, it is determined whether the application end has corresponding API access rights.

[0117] Furthermore, the above device is also used for:

[0118] If it is detected that at least two application terminals send communication requests at the same time, conflict detection is performed based on the request messages sent by each application terminal;

[0119] Filter each request message according to the conflict detection result and the request message sent by each application end;

[0120] The preset protocol processing engine is used to parse and process the filtered request messages.

[0121] Embodiment 4

[0122] Figure 4 It is a structural block diagram of a communication device provided in Embodiment 4 of the present invention. A communication device provided in Embodiment 4 of the present invention can execute the communication method provided in any embodiment of the present invention, and has functional modules and beneficial effects corresponding to the execution method. The device can be configured in the vehicle end.

[0123] like Figure 4 As shown, the device comprises:

[0124] The second verification module 401 is used to respond to the target message sent by the cloud and verify the target message according to the preset identification information and the preset message body;

[0125] The determination module 402 is used to determine the parameter information contained in the message body of the target message by using the preset master node if the verification is passed;

[0126] An execution module 403 is used to determine at least two atomic services associated with the target message, and use at least two slave nodes to execute the atomic services based on the parameter information;

[0127] The generation module 404 is used to determine the distributed execution result of the atomic service and generate feedback information according to the execution result, so that the cloud forwards the feedback information to the application end.

[0128] According to the technical solution of the embodiment of the present invention, the vehicle side responds to the target message sent by the cloud side, verifies the target message according to the preset identification information and the preset message body, and if the verification is passed, determines the parameter information contained in the message body of the target message by using the preset master node, determines at least two atomic services associated with the target message, and executes the atomic service based on the parameter information by using at least two slave nodes, determines the distributed execution result of the atomic service, and generates feedback information according to the execution result, so that the cloud side forwards the feedback information to the application side. In this way, the vehicle side can respond to the communication request issued by the application side through the cloud side, realize the interaction of the vehicle side, the cloud side and the application side, solve the communication barrier problem caused by the different communication protocols between the vehicle side and the application side, and improve the communication efficiency.

[0129] Furthermore, the execution module 403 is specifically used for:

[0130] Based on a preset service-oriented scalable protocol, using at least two slave nodes, encoding the parameter information;

[0131] The encoded parameter information is input into the corresponding executor to instruct the executor to execute each atomic service.

[0132] Embodiment 5

[0133] Figure 5 It is a schematic diagram of the structure of an electronic device provided in Embodiment 5 of the present invention. Figure 5 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0134] like Figure 5As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0135] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0136] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 performs the various methods and processes described above, such as the communication method.

[0137] In some embodiments, the communication method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the communication method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the communication method in any other appropriate manner (e.g., by means of firmware).

[0138] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

[0139] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0140] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0141] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0142] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0143] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0144] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0145] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A communication method, characterized in that: Executed by the cloud, including: If a communication request from the application is detected, the authority of the application is verified according to the application identification information and the request message of the application; the communication request refers to a request from the application to obtain vehicle status information or to control the vehicle; If the verification is passed, the request message is parsed and processed by using a preset protocol processing engine, and the request message is converted into a target message based on a preset protocol; the preset protocol is a message queue telemetry transmission protocol Mqtt protocol; Determine a target vehicle end, and use a preset middleware to forward the target message to the target vehicle end, so as to instruct the target vehicle end to respond to the target message; Acquire feedback information generated by the target vehicle end after responding to the target message, and synchronously forward the feedback information to the application end; Utilizing a preset protocol processing engine to parse and process the request message, and converting the request message into a target message based on a preset protocol, including: Utilizing a preset protocol processing engine, the request message is parsed and processed to determine information associated with preset keywords in the request message; Determine identification information and a message body according to the information associated with the preset keyword and the preset protocol; Convert the request message into a target message according to the identification information and the message body; The communication method further includes: If it is detected that at least two application terminals send communication requests at the same time, conflict detection is performed based on the time of the request message sent by each application terminal and the vehicle terminal information requested for interaction in the request message; Filter each request message according to the conflict detection result and the request message sent by each application end; The preset protocol processing engine is used to parse and process the filtered request messages.

2. The method according to claim 1, characterized in that According to the application identification information of the application and the request message, the application is authenticated, including: Performing identity authentication on the application terminal according to the application identification information of the application terminal; According to the target application programming API interface and application identification information in the request message, it is determined whether the application end has corresponding API access rights.

3. A communication method, characterized in that: Executed by the vehicle side, including: Based on a secure encrypted channel, obtain the target message sent by the cloud; determine whether the current state of the vehicle conflicts with the target state associated with the target message, and if so, perform conflict handling based on a preset conflict handling rule; wherein the conflict handling is based on the following priority order from high to low: hard key request, soft key request, voice request, remote command, and the remote command includes a vehicle-cloud integration request; In response to the target message sent by the cloud, verify the target message according to preset identification information and a preset message body; If the verification is successful, the preset master node is used to determine the parameter information contained in the message body of the target message; Determine at least two atomic services associated with the target message, and use at least two slave nodes to execute the atomic services based on the parameter information; Determine the distributed execution result of the atomic service, and generate feedback information according to the distributed execution result, so that the cloud forwards the feedback information to the application end; The step of verifying the target message according to the preset identification information and the preset message body includes: The Mqtt message consumer on the vehicle side subscribes to the target message through the preset identification information, and determines whether the identification information contained in the target message is consistent with the preset identification information. If so, the message body in the target message is obtained for decryption and signature verification. If the message body after decryption and signature verification is consistent with the preset message body, it is determined that the vehicle side has passed the verification of the target message.

4. The method according to claim 3, characterized in that Utilizing at least two slave nodes and executing the atomic service based on the parameter information includes: Based on a preset service-oriented scalable protocol, using at least two slave nodes, encoding the parameter information; The encoded parameter information is input into the corresponding executor to instruct the executor to execute each atomic service.

5. A communication device, characterized in that: The device is configured in the cloud and includes: A first verification module is used to verify the authority of the application end according to the application identification information and the request message of the application end if a communication request from the application end is detected; the communication request refers to a request from the application end to obtain vehicle status information or to control the vehicle; A conversion module, for parsing the request message using a preset protocol processing engine if the verification is passed, and converting the request message into a target message based on a preset protocol; the preset protocol is a message queue telemetry transmission protocol Mqtt protocol; A first forwarding module, used to determine a target vehicle end, and forward the target message to the target vehicle end by using a preset middleware, so as to instruct the target vehicle end to respond to the target message; A second forwarding module is used to obtain feedback information generated by the target vehicle end after responding to the target message, and synchronously forward the feedback information to the application end; The conversion module is specifically used for: Utilizing a preset protocol processing engine, the request message is parsed and processed to determine information associated with preset keywords in the request message; Determine identification information and a message body according to the information associated with the preset keyword and the preset protocol; Convert the request message into a target message according to the identification information and the message body; The communication device is further used for: If it is detected that at least two application terminals send communication requests at the same time, conflict detection is performed based on the time of the request message sent by each application terminal and the vehicle terminal information requested for interaction in the request message; Filter each request message according to the conflict detection result and the request message sent by each application end; The preset protocol processing engine is used to parse and process the filtered request messages.

6. A communication device, characterized in that: The device is configured in the vehicle end and includes: A second verification module, configured to respond to a target message sent by the cloud and verify the target message according to preset identification information and a preset message body; A determination module is used to determine the parameter information contained in the message body of the target message by using a preset master node if the verification is passed; An execution module, used for determining at least two atomic services associated with the target message, and executing the atomic services based on the parameter information using at least two slave nodes; A generation module, used to determine the distributed execution result of the atomic service, and generate feedback information according to the execution result, so that the cloud forwards the feedback information to the application end; The step of verifying the target message according to the preset identification information and the preset message body includes: The Mqtt message consumer on the vehicle side subscribes to the target message through the preset identification information, determines whether the identification information contained in the target message is consistent with the preset identification information, and if so, obtains the message body in the target message for decryption and signature verification. If the message body after decryption and signature verification is consistent with the preset message body, it is determined that the vehicle side has passed the verification of the target message; The communication device is further used for: Based on a secure encrypted channel, the target message sent by the cloud is obtained; whether the current state of the vehicle conflicts with the target state associated with the target message, and if so, conflict resolution is performed based on preset conflict resolution rules; wherein the conflict resolution is based on the following priority order from high to low: hard key request, soft key request, voice request, remote command, and the remote command includes a vehicle-cloud integration request.

7. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can perform the communication method according to any one of claims 1 to 2 or claims 3 to 4.

8. A computer-readable storage medium, characterized in that: The computer readable storage medium stores computer instructions, and the computer instructions are used to implement claims 1-2 when executed by a processor, or The communication method according to any one of claims 3 to 4.

Citation Information

Patent Citations

  • SOA-based vehicle cloud cooperative control system and method, and readable storage medium

    CN114553873A

  • System and method for low-delay remote control of vehicle

    CN114675574A