CN114185582A - Automobile software online upgrading system and method based on QUIC protocol - Google Patents

Automobile software online upgrading system and method based on QUIC protocol Download PDF

Info

Publication number
CN114185582A
CN114185582A CN202111254977.2A CN202111254977A CN114185582A CN 114185582 A CN114185582 A CN 114185582A CN 202111254977 A CN202111254977 A CN 202111254977A CN 114185582 A CN114185582 A CN 114185582A
Authority
CN
China
Prior art keywords
quic
client
server
proxy server
protocol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111254977.2A
Other languages
Chinese (zh)
Inventor
何鹏
魏勋
韩伦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lantu Automobile Technology Co Ltd
Original Assignee
Lantu Automobile Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lantu Automobile Technology Co Ltd filed Critical Lantu Automobile Technology Co Ltd
Priority to CN202111254977.2A priority Critical patent/CN114185582A/en
Publication of CN114185582A publication Critical patent/CN114185582A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

The invention discloses a QUIC protocol-based automobile software online upgrading system and method, and relates to the technical field of vehicle networks. After detecting that the automobile software needs to be updated, the OTA cloud end pushes the manufactured differential packet to the CDN server; the QUIC proxy server subscribes to the CDN server, after receiving the differential packet, the CDN server synchronously pushes the differential packet to the QUIC proxy server subscribed to the CDN server, and the QUIC proxy server synchronizes the differential packet pushed by the CDN server; after receiving the software updating notification, the client judges whether the current network environment is a weak network or not, if the current network environment is the weak network, the client establishes QUIC connection with the QUIC proxy server, and the QUIC proxy server sends the differential packet to the client through a QUIC protocol for software updating, so that the OTA online updating efficiency can be improved in the weak network environment.

Description

Automobile software online upgrading system and method based on QUIC protocol
Technical Field
The invention relates to the technical field of vehicle networking, in particular to a QUIC protocol-based online automobile software upgrading system and method.
Background
At present, the automobile mostly realizes the update and upgrade of the automobile control system software in an OTA (over the air technology) online upgrade mode, and the update and upgrade of the automobile control system software can be realized in any place with a network, and a user is not required to drive the automobile to a 4S store for upgrade.
The OTA online upgrade usually stores an upgrade differential packet at the OTA cloud to a CDN (Content delivery network) server for acceleration. The CDN is a content delivery network constructed on the network, and enables a user to obtain required content nearby by means of servers deployed in various places and through load balancing of a central platform, content delivery scheduling, and the like, so that network congestion can be reduced, and the access response speed and hit rate of the user can be improved. Because the traditional CDN server uses the TCP protocol as a transmission protocol, in a weak network environment, the TCP protocol has the defects of low transmission efficiency, large delay in link establishment, poor weak network resistance, slow retransmission, and the like, which results in low efficiency of OTA online upgrade.
Disclosure of Invention
The invention provides a QUIC protocol-based automobile software online upgrading system and method, which solve the technical problem that the OTA online upgrading efficiency of the traditional automobile software online upgrading system is low in the weak network environment.
On one hand, the invention provides the following technical scheme:
a QUIC protocol-based automobile software online upgrading system comprises an OTA cloud, a CDN server, a QUIC proxy server and a client;
the OTA cloud is used for making a corresponding differential packet at the cloud through a differential technology after detecting that the automobile software needs to be updated, and pushing the differential packet to the CDN server;
the CDN server is used for synchronously pushing the differential packet to the QUIC proxy server which subscribes to the CDN server after receiving the differential packet;
the QUIC proxy server is used for subscribing the CDN server and synchronizing the differential packet pushed by the CDN server; receiving a QUIC connection request sent by the client, establishing a QUIC connection with the client, and sending the differential packet to the client through a QUIC protocol;
and the client is used for sending the QUIC connection request to the QUIC proxy server if receiving a software updating notification under the condition that the current network environment is a weak network, establishing the QUIC connection with the QUIC proxy server, receiving the differential packet sent by the QUIC proxy server, and upgrading the automobile software needing to be updated according to the differential packet.
Preferably, the QUIC proxy server includes:
the central scheduling module is used for uniformly scheduling tasks of the QUIC proxy server and monitoring events;
the data synchronization module is used for subscribing the CDN server and synchronizing the differential packet pushed by the CDN server;
the data cache module is used for storing the differential packet and synchronizing the differential packet to a MySQL database;
the QUIC protocol stack module is used for reducing network delay through a QUIC protocol stack which takes a UDP protocol as a bottom layer transmission protocol;
and the network processing module is used for establishing network connection with the CDN server, establishing the QUIC connection with the client and sending the differential packet to the client through a QUIC protocol.
On the other hand, the invention also provides the following technical scheme:
a method for upgrading automobile software on line based on QUIC protocol includes:
subscribing to a CDN server;
receiving and synchronizing a differential packet pushed by the CDN server;
after receiving a QUIC connection request sent by a client, establishing a QUIC connection with the client;
and sending the differential packet to the client through a QUIC protocol.
Preferably, after receiving the QUIC connection request sent by the client, the establishing a QUIC connection with the client includes:
after receiving the QUIC connection request sent by the client, generating a quality array, a primitive root of the quality array and a first random number, generating a target number according to the quality array, the primitive root and the first random number, placing the target number, the quality array and the primitive root in a server config, and sending a Rejection message to the client, wherein the Rejection message comprises the server config;
and receiving a full client hello message sent by the client, generating a second initial secret key according to the server config and the client public number in the full client hello message, and decrypting data in the full client hello message by using the second initial secret key, wherein the second initial secret key is the same as the first initial secret key generated by the client.
Preferably, the receiving a full client hello message sent by the client, generating a second initial key according to the server config and a client public number in the full client hello message, decrypting data in the full client hello message by using the second initial key, where the second initial key is the same as the first initial key generated by the client, and then further comprising:
and generating a Server public number, and sending the Server hello message with the Server public number to the client.
On the other hand, the invention also provides the following technical scheme:
a method for upgrading automobile software on line based on QUIC protocol includes:
after receiving the software updating notification, judging whether the current network environment is a weak network or not;
if the current network environment is a weak network, sending a QUIC connection request to a QUIC proxy server, and establishing a QUIC connection with the QUIC proxy server;
and receiving the differential packet sent by the QUIC proxy server, and upgrading the automobile software to be updated according to the differential packet.
Preferably, after receiving the software update notification, the determining whether the current network environment is a weak network includes:
after receiving the software updating notification, acquiring the average response speed of the network request in a preset historical time;
and if the average response speed is lower than a preset speed threshold, judging that the current network environment is a weak network.
Preferably, if the current network environment is a weak network, the sending a QUIC connection request to a QUIC proxy server, and establishing a QUIC connection with the QUIC proxy server includes:
if the current network environment is a weak network, sending an attach Client Hello message to the QUIC proxy server;
after receiving a Rejection message sent by the QUIC proxy server, generating a second random number, calculating a first initial key according to a prime number group, a target number and the second random number in the Rejection message, and sending a full client hello message to the QUIC proxy server, wherein the full client hello message comprises a client public number and data encrypted by the first initial key; the first initial key is the same as a second initial key generated by the QUIC proxy server;
after receiving the Serverhello message sent by the QUIC proxy server, deducing a session key between the server and the QUIC proxy server through an algorithm, wherein the Serverhello message comprises a server public number.
On the other hand, the invention also provides the following technical scheme:
an electronic device comprising a memory, a processor and a computer program stored on the memory and operable on the processor, wherein the processor implements any one of the above-mentioned automobile software online upgrading methods based on QUIC protocol when executing the program.
On the other hand, the invention also provides the following technical scheme:
a computer readable storage medium, which when executed implements any of the above-mentioned automobile software online upgrade methods based on QUIC protocol.
One or more technical schemes provided by the invention at least have the following technical effects or advantages:
after detecting that the automobile software needs to be updated, the OTA cloud end can make a corresponding differential packet at the cloud end through a differential technology and push the differential packet to the CDN server; the QUIC proxy server subscribes to the CDN server, after receiving the differential packet, the CDN server synchronously pushes the differential packet to the QUIC proxy server subscribed to the CDN server, and the QUIC proxy server synchronizes the differential packet pushed by the CDN server; after receiving the software updating notification, the client judges whether the current network environment is a weak network or not, if the current network environment is the weak network, the client establishes QUIC connection with the QUIC proxy server, and the QUIC proxy server sends the differential packet to the client through a QUIC protocol for software updating, so that the OTA online updating efficiency can be improved in the weak network environment.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on the drawings without creative efforts.
FIG. 1 is a schematic structural diagram of an automobile software online upgrading system based on QUIC protocol according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of the structure of a QUIC proxy server according to an embodiment of the present invention;
FIG. 3 is a flowchart of an online upgrading method for automobile software based on QUIC protocol according to an embodiment of the present invention;
FIG. 4 is another flow chart of the method for upgrading automobile software on line based on QUIC protocol according to the embodiment of the present invention;
FIG. 5 is a diagram illustrating the handshake flow of the QUIC protocol according to an embodiment of the present invention.
Detailed Description
The embodiment of the invention provides a QUIC protocol-based automobile software online upgrading system and method, and solves the technical problem that the OTA online upgrading efficiency of the traditional automobile software online upgrading system is low in a weak network environment.
In order to better understand the technical scheme of the invention, the technical scheme of the invention is described in detail in the following with the accompanying drawings and specific embodiments.
First, it is stated that the term "and/or" appearing herein is merely one type of associative relationship that describes an associated object, meaning that three types of relationships may exist, e.g., a and/or B may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship.
As shown in fig. 1, the automobile software online upgrade system based on the QUIC protocol of the embodiment includes an OTA cloud, a CDN server, a QUIC proxy server, and a client;
the OTA cloud is used for making a corresponding differential packet at the cloud through a differential technology after detecting that the automobile software needs to be updated, and pushing the differential packet to the CDN server;
the CDN server is used for synchronously pushing the differential packet to a QUIC proxy server subscribing the CDN server after receiving the differential packet;
the QUIC proxy server is used for subscribing the CDN server and synchronizing a differential packet pushed by the CDN server; receiving a QUIC connection request sent by a client, establishing QUIC connection with the client, and sending a differential packet to the client through a QUIC protocol;
and the client is used for sending a QUIC connection request to the QUIC proxy server if receiving the software updating notification under the condition that the current network environment is a weak network, establishing QUIC connection with the QUIC proxy server, receiving a differential packet sent by the QUIC proxy server, and upgrading the automobile software needing to be updated according to the differential packet.
The client is a vehicle-mounted TBox, both the QUIC proxy server and the CDN server can be deployed at the cloud, interaction is carried out between the QUIC proxy server and the CDN server based on a TCP protocol, and interaction is carried out between the QUIC proxy server and the client based on a UDP protocol.
Specifically, as shown in fig. 2, the QUIC proxy server of this embodiment includes:
the central scheduling module is used for uniformly scheduling tasks of the QUIC proxy server and monitoring events;
the data synchronization module is used for subscribing the CDN server and synchronizing the differential packet pushed by the CDN server;
the data cache module is used for storing the differential packets and synchronizing the differential packets to the MySQL database;
the QUIC protocol stack module is used for reducing network delay through a QUIC protocol stack which takes a UDP protocol as a bottom layer transmission protocol;
and the network processing module is used for establishing network connection with the CDN server, establishing QUIC connection with the client and sending the differential packet to the client through a QUIC protocol.
After the QUIC proxy server establishes the QUIC connection with the client, the central scheduling module checks whether a corresponding differential packet exists in the data cache module, and after checking, the differential packet is sent to the client through a QUIC protocol. The central scheduling module is mainly a monitoring network processing module and executes corresponding processing logic when connection is established or disconnected or data is transmitted. The central scheduling module comprises a Reactor unit and a management scheduling unit. The Reactor unit is used for event driving, has one or more concurrent input sources, has one Service Handler and a plurality of Request Handlers, and the Service Handler multiplexes the input events and synchronously distributes the input events to the corresponding Request Handlers. The Reactor unit uses a Reactor mode and requires the I/O processing unit to monitor whether the socket corresponding to the established connection has an event to send or not, and if so, the I/O processing unit notifies the corresponding working thread of the responded event to process. The management scheduling unit is used for coordinating coordination and calling among other modules and data interaction processing, establishing network connection by calling the network processing module, calling the data synchronization module to synchronize data when the differential packet is pushed from the CDN server, and calling the data cache module to store data.
The data synchronization module also forwards the differential packet to the central scheduling module when synchronizing the differential packet pushed by the CDN server. And the data synchronization module is used for subscribing the data of the CDN server to ensure that the QUIC proxy server and the CDN server are in data synchronization.
The data cache module mainly comprises a database Redis and MySQL, the Redis is used as a message queue, when a large amount of data is synchronous, asynchronous storage is achieved through the message queue, direct I/O reading and writing of a disk are avoided, and data processing efficiency is improved. Redis supports Pub/Sub (publish/subscribe), and pubs the message B to the channel while the message A enters the message queue, and at the moment, the worker who has subscribed to the channel receives the message B, knows that the message A enters the message queue, and can cyclically consume the message in the message queue by lpop or rpop. The data caching module subscribes to Redis through MySQL, so that the worker plays roles of a Consumer and a service processor. The data caching module creates a pending queue and a doing table during working, after the pending queue is dequeued, the workers allocate a thread (single worker) to process messages, add a current timestamp and a current thread name to the messages, write the messages into the doing table, then the worker consumes the messages, and automatically erase information in the doing table after the messages are finished. Starting a timing task, scanning a backing table at intervals, checking the timestamp of each element, if the time is out, checking whether a thread exists by a worker, if the thread exists, cancelling the execution of the current task, and rolling back the transaction; and finally, the task is output from the pop queue of the doing queue, and is pushed into the pending queue again. In a certain thread of the worker, if the service processing fails, rolling back actively, removing the task from the doing table, and pushing the task into the pending queue again.
The QUIC protocol stack module integrates the reliability of the TCP protocol and the speed and efficiency of the UDP protocol, and has the advantages of low connection establishment delay, improved congestion control, FEC forward correction congestion control, safer transmission protocol, improved multiplexing and the like. QUIC is an abbreviation of QuickUDP Internet Connection, namely fast User Datagram Protocol Internet Connection, and is a User Datagram Protocol (UDP) -based low-delay Internet transport layer Protocol established by Google. Where transport layer protocols include TCP and UDP, UDP is more lightweight and has fewer error checks than TCP, meaning UDP tends to be more efficient. QUIC incorporates features including TCP, Transport Layer Security (TLS), Hypertext transfer protocol (HTTP)/2 protocols, but is based on UDP Transport.
The network processing module realizes network monitoring, connection management and a series of data transmission between the QUIC proxy server and the client through a QUIC protocol, and realizes network monitoring, connection management and a series of data transmission between the QUIC proxy server and the CDN server through a TCP protocol. The network processing block comprises a client processing unit and a server processing unit, wherein the client processing unit is used for establishing a TCP connection processing logic between the client processing unit and the CDN server and transmitting data in a network; the server processing unit is used for monitoring the connection processing logic initiated by the client and sending the differential packet to the client through the QUIC protocol stack.
In this embodiment, after detecting that the automotive software needs to be updated, the OTA cloud may make a corresponding differential packet at the OTA cloud through a differential technology, and push the differential packet to the CDN server. The QUIC proxy server subscribes to the CDN server, after receiving the differential packet, the CDN server synchronously pushes the differential packet to the QUIC proxy server subscribed to the CDN server, and the QUIC proxy server synchronizes the differential packet pushed by the CDN server. After receiving the software updating notification, the client judges whether the current network environment is a weak network or not, if the current network environment is not the weak network, the client establishes network connection with the CDN server, and the CDN server sends a differential packet to the client through a TCP (transmission control protocol) protocol for software updating; if the current network environment is a weak network, the client side can establish QUIC connection with the QUIC proxy server, and the QUIC proxy server can send the differential packet to the client side through a QUIC protocol for software upgrading, so that the OTA online upgrading efficiency can be improved in the weak network environment.
In addition, the QUIC proxy server in this embodiment adopts a multi-flow policy, and the head-of-line blocking of a certain flow does not cause data blocking of another flow, which is mainly embodied as: the protocol data of the application layer exchanges information through the stream, each stream is provided with ordered sequence bytes, the streams have no sequence relation, the streams are isolated from one another and are independent from one another, and if a certain stream has packet loss or transmission can not be reached, the data of other streams in the connection can not be influenced, so that the head of a queue in a TCP protocol can be prevented from being blocked. The QUIC proxy server can perform redundant transmission on some packets with higher priority, and the lost data packets can be calculated through the redundant packets, so that the retransmission times are reduced to improve the transmission efficiency.
As shown in fig. 3, this embodiment further provides an online upgrading method for automobile software based on the QUIC protocol, which includes:
step S10, subscribing CDN server;
step S11, receiving and synchronizing the differential packet pushed by the CDN server;
step S12, after receiving a QUIC connection request sent by a client, establishing a QUIC connection with the client;
and step S13, transmitting the differential packet to the client through the QUIC protocol.
Steps S10-S13 are automobile software online upgrading method based on QUIC protocol at QUIC proxy server end.
In step S12, when a new client initiates a connection to the QUIC proxy server, the QUIC proxy server does not have any information of the client, and therefore needs to obtain the connection request through the initial connection, and the QUIC connection request sent by the client is an initial connection request; and if the client is connected with the QUIC proxy server before, the QUIC connection request sent by the client is a reconnection request. When the initial connection is made, step S12 includes:
after receiving a QUIC connection request sent by a client, generating a quality array, an original root of the quality array and a first random number, generating a target number according to the quality array, the original root and the first random number, placing the target number, the quality array and the original root in a serverConfig, and sending a Rejection message to the client, wherein the Rejection message comprises the serverConfig;
receiving a full client hello message sent by a client, generating a second initial secret key according to the server config and the client public number in the full client hello message, decrypting data in the full client hello message through the second initial secret key, wherein the second initial secret key is the same as the first initial secret key generated by the client.
When the full client hello message sent by the client is received by the QUIC proxy server, the QUIC connection is successful.
Further, after receiving the full client hello message sent by the client, generating a second initial key according to the server config and the client public number in the full client hello message, and decrypting data in the full client hello message by using the second initial key, where the second initial key is the same as the first initial key generated by the client, step S12 further includes:
and generating a Server public number and sending the Server hello message with the Server public number to the client.
After the client receives the server public number, the QUIC proxy server and the client update the secret key, and after the session key is derived through algorithms such as SHA-256 and the like, communication can be carried out through the session secret key, so that the QUIC proxy server can update the own private key, and forward security is guaranteed.
As shown in fig. 4, this embodiment further provides an online upgrading method for automobile software based on the QUIC protocol, including:
step S20, after receiving the software updating notice, judging whether the current network environment is a weak network;
step S21, if the current network environment is a weak network, sending a QUIC connection request to the QUIC proxy server, and establishing a QUIC connection with the QUIC proxy server;
and step S22, receiving the difference packet sent by the QUIC proxy server, and upgrading the automobile software to be updated according to the difference packet.
And S20-S22 are the online automobile software upgrading method based on the QUIC protocol of the client.
Step S20 includes:
after receiving a software updating notice, acquiring the average response speed of the network request in a preset historical duration;
and if the average response speed is lower than a preset speed threshold value, judging that the current network environment is a weak network.
In step S20, the preset historical duration is a set past period of time, and whether the current network environment is a weak network can be determined by the average response speed of the network request in the past period of time.
When the client is connected to the QUIC proxy server for the first time, step S21 includes:
if the current network environment is a weak network, an attach Client Hello message is sent to the QUIC proxy server;
after receiving a Rejection message sent by the QUIC proxy server, generating a second random number, calculating a first initial secret key according to a prime number group, a target number and the second random number in the Rejection message, and sending a full client hello message to the QUIC proxy server, wherein the full client hello message comprises a client public number and data encrypted by the first initial secret key; the first initial secret key is the same as a second initial secret key generated by the QUIC proxy server;
after receiving a Server hello message sent by the QUIC proxy Server, deducing a session key between the Server and the QUIC proxy Server through an algorithm, wherein the Server hello message comprises a Server public number.
After the client receives the server public number, the QUIC proxy server and the client update the secret key, and after a session key is derived through algorithms such as SHA-256 and the like, communication can be carried out through the session secret key.
In this embodiment, when the client and the QUIC proxy server are connected again, if the local serverConfig of the client is not expired (including the target number, the prime number group, the primitive root, and other previous negotiation information), the first initial key and the second initial key may be directly calculated and the transmission data may be encrypted, thereby implementing 0RTT handshake.
Fig. 5 is a schematic diagram of a handshake flow of the QUIC protocol, which simplifies the handshake flow to 0/1RTT, and the HTTPS handshake requires 3RTT, and the QUIC link setup of this embodiment only consumes 1RTT at most, thus improving the efficiency of OTA online upgrade.
Based on the same inventive concept as the above-mentioned QUIC protocol-based online automobile software upgrading method, the present embodiment also provides an electronic device, which comprises a memory, a processor and a computer program stored on the memory and capable of running on the processor, wherein the processor executes the program to realize the steps of any one of the above-mentioned QUIC protocol-based online automobile software upgrading methods.
Where a bus architecture (represented by a bus) is used, the bus may comprise any number of interconnected buses and bridges that link together various circuits including one or more processors, represented by a processor, and memory, represented by a memory. The bus may also link various other circuits such as peripherals, voltage regulators, power management circuits, and the like, which are well known in the art, and therefore, will not be described any further herein. A bus interface provides an interface between the bus and the receiver and transmitter. The receiver and transmitter may be the same element, i.e., a transceiver, providing a means for communicating with various other apparatus over a transmission medium. The processor is responsible for managing the bus and general processing, while the memory may be used for storing data used by the processor in performing operations.
Since the electronic device described in this embodiment is an electronic device used for implementing the automobile software online upgrade method based on the QUIC protocol in the embodiment of the present invention, based on the automobile software online upgrade method based on the QUIC protocol described in the embodiment of the present invention, those skilled in the art can understand the specific implementation manner of the electronic device of this embodiment and various variations thereof, and therefore, how to implement the method in the embodiment of the present invention by the electronic device is not described in detail herein. As long as those skilled in the art implement the electronic device used in the method for upgrading automobile software on line based on QUIC protocol in the embodiment of the present invention, the electronic device is within the scope of the present invention.
Based on the same inventive concept as the automobile software online upgrading method based on the QUIC protocol, the invention also provides a computer readable storage medium, and the computer readable storage medium realizes any automobile software online upgrading method based on the QUIC protocol when being executed.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.

Claims (10)

1. An online automobile software upgrading system based on a QUIC protocol is characterized by comprising an OTA cloud, a CDN server, a QUIC proxy server and a client;
the OTA cloud is used for making a corresponding differential packet at the cloud through a differential technology after detecting that the automobile software needs to be updated, and pushing the differential packet to the CDN server;
the CDN server is used for synchronously pushing the differential packet to the QUIC proxy server which subscribes to the CDN server after receiving the differential packet;
the QUIC proxy server is used for subscribing the CDN server and synchronizing the differential packet pushed by the CDN server; receiving a QUIC connection request sent by the client, establishing a QUIC connection with the client, and sending the differential packet to the client through a QUIC protocol;
and the client is used for sending the QUIC connection request to the QUIC proxy server if receiving a software updating notification under the condition that the current network environment is a weak network, establishing the QUIC connection with the QUIC proxy server, receiving the differential packet sent by the QUIC proxy server, and upgrading the automobile software needing to be updated according to the differential packet.
2. The QUIC protocol-based online upgrade system for automotive software according to claim 1, wherein said QUIC proxy server comprises:
the central scheduling module is used for uniformly scheduling tasks of the QUIC proxy server and monitoring events;
the data synchronization module is used for subscribing the CDN server and synchronizing the differential packet pushed by the CDN server;
the data cache module is used for storing the differential packet and synchronizing the differential packet to a MySQL database;
the QUIC protocol stack module is used for reducing network delay through a QUIC protocol stack which takes a UDP protocol as a bottom layer transmission protocol;
and the network processing module is used for establishing network connection with the CDN server, establishing the QUIC connection with the client and sending the differential packet to the client through a QUIC protocol.
3. An online automobile software upgrading method based on a QUIC protocol is characterized by comprising the following steps:
subscribing to a CDN server;
receiving and synchronizing a differential packet pushed by the CDN server;
after receiving a QUIC connection request sent by a client, establishing a QUIC connection with the client;
and sending the differential packet to the client through a QUIC protocol.
4. The online upgrading method for automobile software based on QUIC protocol of claim 3, wherein the step of establishing QUIC connection with the client after receiving the QUIC connection request sent by the client comprises the following steps:
after receiving the QUIC connection request sent by the client, generating a quality array, a primitive root of the quality array and a first random number, generating a target number according to the quality array, the primitive root and the first random number, placing the target number, the quality array and the primitive root in a server config, and sending a Rejection message to the client, wherein the Rejection message comprises the server config;
and receiving a full client hello message sent by the client, generating a second initial secret key according to the server config and the client public number in the full client hello message, and decrypting data in the full client hello message by using the second initial secret key, wherein the second initial secret key is the same as the first initial secret key generated by the client.
5. The online upgrading method for automobile software based on QUIC protocol as claimed in claim 4, wherein the receiving the full client hello message sent by the client, generating a second initial key according to the server config and the client public number in the full client hello message, decrypting the data in the full client hello message by the second initial key, the second initial key being the same as the first initial key generated by the client, and then further comprising:
and generating a Server public number, and sending the Server hello message with the Server public number to the client.
6. An online automobile software upgrading method based on a QUIC protocol is characterized by comprising the following steps:
after receiving the software updating notification, judging whether the current network environment is a weak network or not;
if the current network environment is a weak network, sending a QUIC connection request to a QUIC proxy server, and establishing a QUIC connection with the QUIC proxy server;
and receiving the differential packet sent by the QUIC proxy server, and upgrading the automobile software to be updated according to the differential packet.
7. The method for upgrading QUIC protocol-based automotive software online according to claim 6, wherein said determining whether the current network environment is a weak network after receiving a software update notification comprises:
after receiving the software updating notification, acquiring the average response speed of the network request in a preset historical time;
and if the average response speed is lower than a preset speed threshold, judging that the current network environment is a weak network.
8. The method for the online upgrade of automobile software based on QUIC protocol according to claim 6, wherein said sending a QUIC connection request to a QUIC proxy server to establish a QUIC connection with said QUIC proxy server if said current network environment is a weak network comprises:
if the current network environment is a weak network, sending an attach Client Hello message to the QUIC proxy server;
after receiving a Rejection message sent by the QUIC proxy server, generating a second random number, calculating a first initial key according to a prime number group, a target number and the second random number in the Rejection message, and sending a full client hello message to the QUIC proxy server, wherein the full client hello message comprises a client public number and data encrypted by the first initial key; the first initial key is the same as a second initial key generated by the QUIC proxy server;
after receiving the Serverhello message sent by the QUIC proxy server, deducing a session key between the server and the QUIC proxy server through an algorithm, wherein the Serverhello message comprises a server public number.
9. An electronic device, comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the method for QUIC protocol-based online upgrade of automotive software according to any of claims 3 to 8 when executing the program.
10. A computer-readable storage medium, characterized in that it when executed implements the QUIC protocol-based online upgrade method for automotive software according to any of claims 3-8.
CN202111254977.2A 2021-10-27 2021-10-27 Automobile software online upgrading system and method based on QUIC protocol Pending CN114185582A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111254977.2A CN114185582A (en) 2021-10-27 2021-10-27 Automobile software online upgrading system and method based on QUIC protocol

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111254977.2A CN114185582A (en) 2021-10-27 2021-10-27 Automobile software online upgrading system and method based on QUIC protocol

Publications (1)

Publication Number Publication Date
CN114185582A true CN114185582A (en) 2022-03-15

Family

ID=80601590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111254977.2A Pending CN114185582A (en) 2021-10-27 2021-10-27 Automobile software online upgrading system and method based on QUIC protocol

Country Status (1)

Country Link
CN (1) CN114185582A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277560A (en) * 2022-09-28 2022-11-01 鹏城实验室 Heterogeneous network fusion transmission method based on MPTCP and MPQUIC
CN116346877A (en) * 2022-12-09 2023-06-27 广州通康创智软件有限公司 Remote terminal management method and system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277560A (en) * 2022-09-28 2022-11-01 鹏城实验室 Heterogeneous network fusion transmission method based on MPTCP and MPQUIC
CN116346877A (en) * 2022-12-09 2023-06-27 广州通康创智软件有限公司 Remote terminal management method and system

Similar Documents

Publication Publication Date Title
US10284389B2 (en) High availability for distributed network services in an extended bridge
US20190173969A1 (en) Push notification delivery system
US7979563B2 (en) Method and system for dynamic client/server network management using proxy servers
CN107070613B (en) Reliable data transmission method in distributed network environment
CN114185582A (en) Automobile software online upgrading system and method based on QUIC protocol
US10355961B2 (en) Network traffic capture analysis
CN107517227B (en) Session implementation method and device for distributed consistency system
CN112631788B (en) Data transmission method and data transmission server
CN110855792A (en) Message pushing method, device, equipment and medium
CN115002023B (en) Link aggregation method, link aggregation device, electronic equipment and storage medium
US11271842B2 (en) Enhancing transmission control protocol (TCP) performance and scalability on multicore processor architectures
CN112583895A (en) TCP communication method, system and device
CN110213320B (en) Communication connection method and device, electronic equipment and computer readable storage medium
CN111212117A (en) Remote interaction method and device
CN110209986A (en) Internal storage state method of data synchronization and device
CN113014499B (en) Data transmission method and device, electronic equipment and storage medium
US11444882B2 (en) Methods for dynamically controlling transmission control protocol push functionality and devices thereof
CN112217735A (en) Information synchronization method and load balancing system
CN116405547A (en) Message pushing method and device, processor, electronic equipment and storage medium
US11706290B2 (en) Direct server reply for infrastructure services
CN114500243B (en) Data communication method, device, computer readable medium and electronic equipment
CN111988283A (en) Data transmission method, system, device and computer readable storage medium
CN115150333B (en) Congestion control method, congestion control device, computer equipment and storage medium
CN116361038B (en) Acceleration computing management method, system, equipment and storage medium
CN114253747B (en) Distributed message management system and method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination