CN117336363A - 在线升级方法、系统、设备及计算机可读存储介质 - Google Patents

在线升级方法、系统、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN117336363A
CN117336363A CN202311318073.0A CN202311318073A CN117336363A CN 117336363 A CN117336363 A CN 117336363A CN 202311318073 A CN202311318073 A CN 202311318073A CN 117336363 A CN117336363 A CN 117336363A
Authority
CN
China
Prior art keywords
upgrade
proxy server
client
upgrade package
kcp
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
CN202311318073.0A
Other languages
English (en)
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.)
Zhejiang Geely Holding Group Co Ltd
Zhejiang Remote Commercial Vehicle R&D Co Ltd
Zhejiang Geely Remote New Energy Commercial Vehicle Group Co Ltd
Original Assignee
Zhejiang Geely Holding Group Co Ltd
Zhejiang Remote Commercial Vehicle R&D Co Ltd
Zhejiang Geely Remote New Energy Commercial Vehicle Group 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 Zhejiang Geely Holding Group Co Ltd, Zhejiang Remote Commercial Vehicle R&D Co Ltd, Zhejiang Geely Remote New Energy Commercial Vehicle Group Co Ltd filed Critical Zhejiang Geely Holding Group Co Ltd
Priority to CN202311318073.0A priority Critical patent/CN117336363A/zh
Publication of CN117336363A publication Critical patent/CN117336363A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/03Protocol definition or specification 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种在线升级方法、系统、设备及计算机可读存储介质,涉及车辆技术领域。所述在线升级方法应用于在线升级系统,所述在线升级系统包括升级服务器、代理服务器和客户端;所述在线升级方法包括:升级服务器生成升级包并将升级包发送至代理服务器;所述代理服务器在接收所述升级包后,基于KCP协议传输所述升级包至客户端;所述客户端在接收所述代理服务器传输的升级包后,基于所述升级包进行升级。本申请解决了当前在线升级方案在弱网环境下的在线升级效率过低的技术问题。

Description

在线升级方法、系统、设备及计算机可读存储介质
技术领域
本申请涉及车辆技术领域,尤其涉及一种在线升级方法、系统、设备及计算机可读存储介质。
背景技术
汽车远程升级技术OTA(Over-the-Air)是指通过移动通信网络(2G、3G、4G、5G或Wifi)对汽车的零部件终端上固件、数据及应用进行远程管理。
当前为了保证通讯的稳定性,通常是采用TCP协议进行升级,在弱网环境下,TCP协议的三次握手等待应答时间过长,超时计算时间长,重传效率低等问题,最终会导致在线升级效率过低。
发明内容
本申请的主要目的在于提供一种在线升级方法、系统、设备及计算机可读存储介质,旨在解决当前在线升级方案在弱网环境下的在线升级效率过低的技术问题。
为实现上述目的,第一方面,本申请提供一种在线升级方法,应用于在线升级系统,所述在线升级系统包括升级服务器、代理服务器和客户端;所述在线升级方法包括:
升级服务器生成升级包并将升级包发送至代理服务器;
所述代理服务器在接收所述升级包后,基于KCP协议传输所述升级包至客户端;
所述客户端在接收所述代理服务器传输的升级包后,基于所述升级包进行升级。
根据第一方面,所述代理服务器在接收所述升级包后,基于KCP协议传输所述升级包至客户端的步骤,包括:
所述代理服务器将所述升级包打包为至少一个KCP数据包,并按顺序对所述KCP数据包进行编号,获得KCP数据包及其数据包编码;
所述代理服务器将KCP数据包及其数据包编码按顺序发送至所述客户端。
根据第一方面,或者以上第一方面的任意一种实现方式,所述客户端在接收所述代理服务器传输的升级包后,基于所述升级包进行升级的步骤,包括:
所述客户端将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器;
所述客户端在完成各所述KCP数据包的接收后,将各所述KCP数据包进行组包,获得对应的升级包,并基于所述升级包进行升级。
根据第一方面,或者以上第一方面的任意一种实现方式,所述客户端将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器的步骤,包括:
所述客户端获取当前网络波动程度;
所述客户端根据所述当前网络波动程度,确定对应的应答发送间隔,其中所述应答发送间隔与所述当前网络波动程度呈负相关;
所述客户端按照所述应答发送间隔将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器。
根据第一方面,或者以上第一方面的任意一种实现方式,在所述客户端将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器的步骤之后,包括:
所述代理服务器接收到所述应答信号后,根据所述应答信号,判断是否存在KCP数据包丢失;
所述代理服务器若存在KCP数据包丢失,则将丢失的KCP数据包重新传输至所述客户端。
根据第一方面,或者以上第一方面的任意一种实现方式,所述升级服务器生成升级包并将升级包发送至代理服务器的步骤,包括:
所述升级服务器响应于客户端的升级确认指令,获取预设升级数据库中当前版本数据包和新版本数据包;
所述升级服务器根据当前版本数据包和新版本数据包,生成对应的差分数据包,并将所述差分数据包作为升级包发送至代理服务器。
根据第一方面,或者以上第一方面的任意一种实现方式,所述代理服务器还包括:公开密钥基础建设模块;
在所述升级服务器生成升级包并将升级包发送至代理服务器的步骤之前,包括:
所述公开密钥基础建设模块生成一对公钥和私钥,并将所述公钥在所述在线升级系统的网络中进行公开,将所述私钥发送至所述客户端;
所述升级服务器生成升级包并将升级包发送至代理服务器的步骤,包括:
所述升级服务器生成未加密升级包,并基于所述公钥将所述未加密升级包进行加密后获得升级包发送至代理服务器;
所述客户端在接收所述代理服务器传输的升级包后,基于所述升级包进行升级的步骤,包括:
所述客户端在接收所述代理服务器传输的升级包后,基于所述私钥将所述升级包进行解密与签名后,获得未加密升级包进行升级。
第二方面,本申请提供了一种在线升级系统,所述在线升级系统包括升级服务器、代理服务器和客户端;
升级服务器,用于生成升级包并将升级包发送至代理服务器;
代理服务器,用于在接收所述升级包后,基于KCP协议传输所述升级包至客户端;
客户端,用于在接收所述代理服务器传输的升级包后,基于所述升级包进行升级。
根据第二方面,所述在线升级系统还包括:
代理服务器,用于将所述升级包打包为至少一个KCP数据包,并按顺序对所述KCP数据包进行编号,获得KCP数据包及其数据包编码;
代理服务器,用于将KCP数据包及其数据包编码按顺序发送至所述客户端。
根据第二方面,或者以上第二方面的任意一种实现方式,所述在线升级系统还包括:
客户端,用于将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器;
客户端,用于在完成各所述KCP数据包的接收后,将各所述KCP数据包进行组包,获得对应的升级包,并基于所述升级包进行升级。
根据第二方面,或者以上第二方面的任意一种实现方式,所述在线升级系统还包括:
客户端,用于获取当前网络波动程度;
客户端,用于根据所述当前网络波动程度,确定对应的应答发送间隔,其中所述应答发送间隔与所述当前网络波动程度呈负相关;
客户端,用于按照所述应答发送间隔将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器。
根据第二方面,或者以上第二方面的任意一种实现方式,所述在线升级系统还包括:
代理服务器,用于接收到所述应答信号后,根据所述应答信号,判断是否存在KCP数据包丢失;
代理服务器,用于若存在KCP数据包丢失,则将丢失的KCP数据包重新传输至所述客户端。
根据第二方面,或者以上第二方面的任意一种实现方式,所述在线升级系统还包括:
升级服务器,用于响应于客户端的升级确认指令,获取预设升级数据库中当前版本数据包和新版本数据包;
升级服务器,用于根据当前版本数据包和新版本数据包,生成对应的差分数据包,并将所述差分数据包作为升级包发送至代理服务器。
根据第二方面,或者以上第二方面的任意一种实现方式,所述代理服务器还包括:公开密钥基础建设模块;
公开密钥基础建设模块,用于生成一对公钥和私钥,并将所述公钥在所述在线升级系统的网络中进行公开,将所述私钥发送至所述客户端;
升级服务器,用于生成未加密升级包,并基于所述公钥将所述未加密升级包进行加密后获得升级包发送至代理服务器;
客户端,用于在接收所述代理服务器传输的升级包后,基于所述私钥将所述升级包进行解密与签名后,获得未加密升级包进行升级。
第三方面,本申请提供了一种在线升级设备,所述在线升级设备包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上所述的在线升级方法的步骤。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行如上述第一方面或第一方面的可能的实现方式中任一项所述的在线升级方法。
第五方面,本申请实施例提供了一种计算机程序,该计算机程序包括用于执行第一方面以及第一方面的任意可能的实现方式中的在线升级方法的指令。
本申请提出了一种在线升级方法、系统、设备及可读存储介质,在线升级方法应用于在线升级系统,所述在线升级系统包括升级服务器、代理服务器和客户端;进而通过升级服务器生成升级包并将升级包发送至代理服务器;所述代理服务器在接收所述升级包后,基于KCP协议传输所述升级包至客户端,由此本申请通过配置非退让流控的KCP协议,以实现在弱网环境下以维持更快的传输速度和更低的延迟,以适应弱网环境中的带宽波动。进而所述客户端在接收所述代理服务器传输的升级包后,基于所述升级包进行升级。由此本申请规避了在弱网环境下,TCP协议的三次握手等待应答时间过长,超时计算时间长,重传效率低等问题,从而提高了在线升级效率。
附图说明
图1为本申请在线升级方法第一实施例的流程示意图;
图2为本申请在线升级方法第二实施例的流程示意图;
图3为本申请在线升级方法第三实施例的流程示意图;
图4为本申请在线升级系统的代理服务器的结构示意图;
图5为本申请在线升级系统的结构示意图;
图6为本申请实施例方案涉及的硬件运行环境的设备结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
下面结合部分现有技术对本申请在线升级方法进行说明:
汽车远程升级技术OTA(Over-the-Air)是指通过移动通信网络(2G、3G、4G、5G或Wifi)对汽车的零部件终端上固件、数据及应用进行远程管理。
当前为了保证通讯的稳定性,通常是采用TCP协议进行升级,在弱网环境下,TCP协议的三次握手等待应答时间过长,超时计算时间长,重传效率低等问题,最终会导致在线升级效率过低。
当前也有基于QUIC(Quick UDP Internet Connection,快速UDP网络连接)协议的OTA升级方式,然而QUIC协议放入内核影响较大,所有系统都要更新,路由器、防火墙、还有很多中间设备都需要改,布置难度较高较为繁琐。
本申请通过配置非退让流控的KCP协议,以实现在弱网环境下以维持更快的传输速度和更低的延迟,以适应弱网环境中的带宽波动。由此规避了在弱网环境下,TCP协议的三次握手等待应答时间过长,超时计算时间长,重传效率低等问题,从而提高了在线升级效率。
请参照图1,图1为本申请在线升级方法第一实施例的流程示意图。需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请第一实施例提供一种在线升级方法,应用于在线升级系统,所述在线升级系统包括升级服务器、代理服务器和客户端;所述在线升级方法包括:
步骤S100,升级服务器生成升级包并将升级包发送至代理服务器;
本实施例中,需要说明的是,所述客户端可以为需要进行固件、数据或软件升级的终端,所述客户端可以是车辆的车载T-BOX(Telematics BOX,远程信息处理器)。
本实施例中,所述升级服务器可以根据所述客户端的升级需求,获取对应的数据生成升级包。可以理解的是,所述升级包可以是全量升级包(即包含所有用于升级的数据),也可以是补丁增量升级包(即包含增加的数据)或是差分升级包(即包含新版本数据包与当前版本数据包之间的差分数据)。然后则可以将生成的升级包发送至代理服务器。
其中,步骤S100中所述升级服务器生成升级包并将升级包发送至代理服务器的步骤,包括:
步骤S110,所述升级服务器响应于客户端的升级确认指令,获取预设升级数据库中当前版本数据包和新版本数据包;
步骤S120,所述升级服务器根据当前版本数据包和新版本数据包,生成对应的差分数据包,并将所述差分数据包作为升级包发送至代理服务器。
本实施例中,所述当前版本数据包为所述客户端安装的软件或固件当前版本的数据包。所述新版本数据包为用于进行升级的新版本的数据包。所述预设升级数据库中可以包括当前版本数据包、新版本数据包,当然还可以包括历史版本数据包等升级相关的数据。
本实施例可以由所述升级服务器发出升级通知至所述客户端,然后由所述客户端进行升级确认。在所述升级服务器接收到所述客户端针对所述升级通知的升级确认指令后,所述升级服务器可以响应于客户端的升级确认指令,获取预设升级数据库中当前版本数据包和新版本数据包。进而所述升级服务器根据当前版本数据包和新版本数据包,将当前版本数据包和新版本数据包进行对比,获得当前版本数据包与新版本数据包之间的差分数据,生成对应的差分数据包。进而可以将所述差分数据包作为升级包发送至代理服务器,由此可以减少升级包的数据量,有效提高传输效率,进而提高在线升级效率。
步骤S200,所述代理服务器在接收所述升级包后,基于KCP协议传输所述升级包至客户端;
本实施例中,需要说明的是,KCP协议(快速可靠协议)是以纯算法实现的,并不负责底层协议(如UDP,User Datagram Protocol,用户数据报协议)的收发。所述KCP协议为配置非退让流控的KCP协议。即发送窗口大小由:发送端发送缓存大小、接收端剩余接收缓存大小、丢包退让、慢启动这四参数决定。KCP协议通过配置来跳过丢包退让和慢启动这两步,仅用发送端发送缓存大小、接收端剩余接收缓存大小来控制数据发送频率,以牺牲部分带宽利用率为代价,换取了更高的传输速度。
本实施例中由于所述KCP协议可以基于UDP协议进行数据传输,KCP协议无需基于系统内核实现,可以进行快速迭代更新,不需要操作系统内核层面的更改。则可以避免如QUIC协议一般,虽然也可提高在弱网下的升级效率,但是需要对所有系统进行更新,布置难度较高较为繁琐的情况。本实施例中所述代理服务器在接收所述升级包后,基于KCP协议对所述升级包的传输流量进行控制,以在跳过丢包退让和慢启动的状态下传输所述升级包至客户端。本实施例通过配置非退让流控的KCP协议,以实现在弱网环境下以维持更快的传输速度和更低的延迟,以适应弱网环境中的带宽波动。由此本实施例避免了TCP协议为保障带宽利用率而限制传输速度的不足。
步骤S300,所述客户端在接收所述代理服务器传输的升级包后,基于所述升级包进行升级。
本实施例中,所述客户端在接收所述代理服务器传输的升级包后,则可以对所述升级包的完整性进行验证,若所述升级包完整性验证通过,则可以基于所述升级包进行升级。若所述升级包完整性验证未通过,则可以进行版本回滚并向所述升级服务器进行反馈,以使所述升级服务器通过代理服务器以KCP协议重新传输所述升级包进行在线升级。此外,可以理解的是,在基于所述升级包进行升级的过程中,所述客户端可获取实时升级进度和/或升级结果,并将所述实时升级进度和/或升级结果反馈至所述升级服务器。在所述升级服务器接收到的实时升级进度存在异常,和/或升级结果为升级失败后,则所述升级服务器通过代理服务器以KCP协议重新传输所述升级包进行在线升级。从而可以避免通信异常造成通信中断时,所述升级服务器可以及时进行重新传输与升级。
在本申请第一实施例中,在线升级方法应用于在线升级系统,所述在线升级系统包括升级服务器、代理服务器和客户端;进而通过升级服务器生成升级包并将升级包发送至代理服务器;所述代理服务器在接收所述升级包后,基于KCP协议传输所述升级包至客户端,由此本实施例通过配置非退让流控的KCP协议,以实现在弱网环境下以维持更快的传输速度和更低的延迟,以适应弱网环境中的带宽波动。进而所述客户端在接收所述代理服务器传输的升级包后,基于所述升级包进行升级。由此本实施例规避了在弱网环境下,TCP协议的三次握手等待应答时间过长,超时计算时间长,重传效率低等问题,从而提高了在线升级效率。
参照图2,图2为本申请在线升级方法的第二实施例的流程示意图。
在本申请另一实施例中,与上述实施例相同或相似的内容,可以参考上文介绍,后续不再赘述。本申请第二实施例提供一种在线升级方法,在步骤S200中所述代理服务器在接收所述升级包后,基于KCP协议传输所述升级包至客户端的步骤,包括:
步骤S210,所述代理服务器将所述升级包打包为至少一个KCP数据包,并按顺序对所述KCP数据包进行编号,获得KCP数据包及其数据包编码;
步骤S220,所述代理服务器将KCP数据包及其数据包编码按顺序发送至所述客户端。
本实施例中所述代理服务器在接收到所述升级服务器发送过来的升级包后,可以将所述升级包打包为至少一个KCP数据包。示例性地,在所述升级包的数据长度大于最大传输单元时,基于所述最大传输单元的帧切割,对所述升级包进行分块封装到多个KCP数据包中;在所述升级包的数据长度不大于最大传输单元时,则可以直接将所述升级包直接封装为KCP数据包中。进而可以按顺序对所述KCP数据包进行编号,获得KCP数据包及其数据包编码,可以理解的是,所述数据包编码附加于所述KCP数据包。在对所述KCP数据包编码完成后,所述代理服务器则可以将KCP数据包及其数据包编码按顺序发送至所述客户端。
其中,步骤S300中所述客户端在接收所述代理服务器传输的升级包后,基于所述升级包进行升级的步骤,包括:
步骤S310,所述客户端将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器;
步骤S320,所述客户端在完成各所述KCP数据包的接收后,将各所述KCP数据包进行组包,获得对应的升级包,并基于所述升级包进行升级。
本实施例中,所述客户端将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器。由此,所述代理服务器可以准确地识别出KCP数据包是否已经被接收。所述代理服务器接收到所述应答信号后,根据所述应答信号,判断是否存在KCP数据包丢失;若存在KCP数据包丢失,则所述代理服务器将丢失的KCP数据包重新传输至所述客户端。由此本实施例可以准确地识别出丢失的KCP数据包,实现选择性重传。若是不存在KCP数据包丢失,则所述代理服务器可以继续传输剩下的KCP数据包。所述客户端在完成各所述KCP数据包的接收后,将各所述KCP数据包进行组包,获得对应的升级包,并基于所述升级包进行升级。
本实施例中,相较于TCP协议在丢包时会全部重传从丢失的数据包开始以后的所有数据的方式而言,本实施例只需重传丢失的KCP数据包。当传输的数据很大,但是丢包的位置很靠前时,TCP协议的重传策略会严重增加网络负担,造成网络拥堵,降低传输速率。相比之下,本实施例只重传真正丢失的KCP数据包,大大提高了有效数据传输速率,从而提高了在线升级效率。
其中,在步骤S310中所述客户端将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器的步骤之后,包括:
步骤A10,所述代理服务器接收到所述应答信号后,根据所述应答信号,判断是否存在KCP数据包丢失;
步骤A20,若存在KCP数据包丢失,则所述代理服务器将丢失的KCP数据包重新传输至所述客户端。
本实施例中,所述代理服务器接收到所述应答信号后,根据所述应答信号,判断是否存在KCP数据包丢失。根据所述应答信号,确定各所述KCP数据包的跳过次数。在所述跳过次数大于预设次数阈值(如2次)后,判定所述KCP数据包丢失。若存在KCP数据包丢失,则所述代理服务器将丢失的KCP数据包重新传输至所述客户端。示例性地,所述代理服务器发送了1,2,3,4,5这几个KCP数据包,然后收到客户端的应答信号ACK:1,3,4,5。当所述代理服务器收到应答信号ACK3时,则可以确定KCP数据包2被跳过1次,收到应答信号ACK4时,则可以确定KCP数据包2被跳过了2次,此时可以认为则可以确定KCP数据包2丢失,直接重传KCP数据包2。由此本实施例不用如同TCP协议一样必须等超时后才进行重传,大大改善了丢包时的重传速度。可以理解的是,所述预设次数阈值可以根据需求进行设置。
其中,步骤S310中所述客户端将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器的步骤,包括:
步骤S311,所述客户端获取当前网络波动程度;
步骤S312,所述客户端根据所述当前网络波动程度,确定对应的应答发送间隔,其中所述应答发送间隔与所述当前网络波动程度呈负相关;
步骤S313,所述客户端按照所述应答发送间隔将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器。
本实施例中,需要说明的是,所述应答发送间隔为所述客户端发送应答信号的数据包数量间隔。示例性地,所述应答发送间隔为2,则所述客户端每接收到两个KCP数据包后发送一次应答信号。所述网络波动程度可以通过所述KCP数据包的当前丢包率进行表征,也可以通过网络当前带宽进行表征。
本实施例中,需要说明的是,所述应答发送间隔与所述当前网络波动程度呈负相关,即所述当前网络波动程度越剧烈,则所述应答发送间隔越短;所述当前网络波动程度越轻微,则所述应答发送间隔越长。由于所述当前网络波动程度剧烈的情况下,丢包率可能较高,就减小所述应答发送间隔,以使丢失的KCP数据包可以及时重传。所述当前网络波动程度轻微的情况下,丢包率较低,则可以增大所述应答发送间隔,以减少频繁传输应答信号对带宽的占用。
本实施例中所述客户端获取当前网络波动程度。进而所述客户端可以根据所述当前网络波动程度,确定对应的应答发送间隔,其中所述应答发送间隔与所述当前网络波动程度呈负相关。所述客户端按照所述应答发送间隔将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器。由此本实施例可以根据当前网络波动程度对客户端的应答发送间隔进行适应性的调整,从而在所述当前网络波动程度剧烈的情况下,减小所述应答发送间隔,以使丢失的KCP数据包可以及时重传。在所述当前网络波动程度轻微的情况下,增大所述应答发送间隔,以减少频繁传输应答信号对带宽的占用,有效提高带宽的利用率。
本申请第二实施例中,通过所述代理服务器将所述升级包打包为至少一个KCP数据包,并按顺序对所述KCP数据包进行编号,获得KCP数据包及其数据包编码;所述代理服务器将KCP数据包及其数据包编码按顺序发送至所述客户端。所述客户端将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器;所述代理服务器接收到所述应答信号后,根据所述应答信号,判断是否存在KCP数据包丢失;若存在KCP数据包丢失,则所述代理服务器将丢失的KCP数据包重新传输至所述客户端。由此本实施例一方面只重传真正丢失的KCP数据包,大大提高了有效数据传输速率。另一方面不用如同TCP协议一样必须等超时后才进行重传,大大改善了丢包时的重传速度。此外,通过设置所述客户端的应答信号的应答发送间隔与所述当前网络波动程度呈负相关一方面保障了丢失的KCP数据包的重传及时性,另一方面也提高了带宽利用率。所述客户端在完成各所述KCP数据包的接收后,将各所述KCP数据包进行组包,获得对应的升级包,并基于所述升级包进行升级。本实施例通过提高有效数据传输速率、丢包时的重传速度、重传及时性与带宽利用率,从而有效提高了在线升级效率。
参照图3,图3为本申请在线升级方法的第二实施例的流程示意图。
在本申请另一实施例中,与上述实施例相同或相似的内容,可以参考上文介绍,后续不再赘述。本申请第二实施例提供一种在线升级方法,所述代理服务器还包括:公开密钥基础建设模块;
在步骤S100中所述升级服务器生成升级包并将升级包发送至代理服务器的步骤之前,包括:
步骤B10,所述公开密钥基础建设模块生成一对公钥和私钥,并将所述公钥在所述在线升级系统的网络中进行公开,将所述私钥发送至所述客户端;
步骤S100中所述升级服务器生成升级包并将升级包发送至代理服务器的步骤,包括:
步骤B20,所述升级服务器生成未加密升级包,并基于所述公钥将所述未加密升级包进行加密后获得升级包发送至代理服务器;
步骤S300中所述客户端在接收所述代理服务器传输的升级包后,基于所述升级包进行升级的步骤,包括:
步骤B30,所述客户端在接收所述代理服务器传输的升级包后,基于所述私钥将所述升级包进行解密与签名后,获得未加密升级包进行升级。
本实施例中,需要说明的是,所述代理服务器还包括:公开密钥基础建设(PKI,Public Key Infrastructure)模块。
本实施例中,所述公开密钥基础建设模块生成一对公钥和私钥,并将所述公钥在所述在线升级系统的网络中进行公开,由此所述在线升级系统中的升级服务器、代理服务器和客户端均可获得所述公钥,用于加密。公开密钥基础建设模块还将所述私钥发送至所述客户端,用于进行解密和签名。所述升级服务器生成未加密升级包,并基于所述公钥将所述未加密升级包进行加密后获得升级包发送至代理服务器所述客户端在接收所述代理服务器传输的升级包后,基于所述私钥将所述升级包进行解密与签名后,获得未加密升级包进行升级。此外可以理解的是,所述公开密钥基础建设模块还可以通过数字证书对所述客户端进行身份认证以进一步提高安全性。
本申请第三实施例中,通过所述代理服务器中的公开密钥基础建设模块生成一对公钥和私钥,并将所述公钥在所述在线升级系统的网络中进行公开,将所述私钥发送至所述客户端;所述升级服务器生成未加密升级包,并基于所述公钥将所述未加密升级包进行加密后获得升级包发送至代理服务器;所述客户端在接收所述代理服务器传输的升级包后,基于所述私钥将所述升级包进行解密与签名后,获得未加密升级包进行升级。由此通过所述公开密钥基础建设模块对升级包进行加密、解密和签名,提高了所述在线升级的安全性与隐私性。
此外,参见图4,图4为本申请在线升级系统的代理服务器的结构示意图。
所述代理服务器包含中心调度模块,PKI(公开密钥基础建设)模块,KCP协议栈模块和CDN(Content Delivery Network,内容传送网络)服务器模块。中心调度模块,用于代理服务器的任务统一调度,用于代理服务器与客户端之间安全通道的建立;PKI模块,用于为每个客户端均提供一对公钥和私钥,其中公钥在网络中是公开的,用于升级服务器发送升级包时进行加密,私钥是归客户端所有,用于对升级包进行解密和签名,进行安全通讯。当然,所述PKI模块还可以用于提供身份认证、数据完整性、数据保密性、数据公正性、不可抵赖性和时间戳等安全服务。;CDN服务器模块,用于接收来自升级服务器的升级包,并进行缓存;KCP协议栈模块,用于通过以UDP协议为底层传输协议的KCP协议进行网络传输。
如图5所示,图5为本申请在线升级系统的结构示意图。
本实施例提供了一种在线升级系统,所述在线升级系统包括升级服务器、代理服务器和客户端;
升级服务器,用于生成升级包并将升级包发送至代理服务器;
代理服务器,用于在接收所述升级包后,基于KCP协议传输所述升级包至客户端;
客户端,用于在接收所述代理服务器传输的升级包后,基于所述升级包进行升级。
可选地,所述在线升级系统还包括:
代理服务器,用于将所述升级包打包为至少一个KCP数据包,并按顺序对所述KCP数据包进行编号,获得KCP数据包及其数据包编码;
代理服务器,用于将KCP数据包及其数据包编码按顺序发送至所述客户端。
可选地,所述在线升级系统还包括:
客户端,用于将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器;
客户端,用于在完成各所述KCP数据包的接收后,将各所述KCP数据包进行组包,获得对应的升级包,并基于所述升级包进行升级。
可选地,所述在线升级系统还包括:
客户端,用于获取当前网络波动程度;
客户端,用于根据所述当前网络波动程度,确定对应的应答发送间隔,其中所述应答发送间隔与所述当前网络波动程度呈负相关;
客户端,用于按照所述应答发送间隔将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器。
可选地,所述在线升级系统还包括:
代理服务器,用于接收到所述应答信号后,根据所述应答信号,判断是否存在KCP数据包丢失;
代理服务器,用于若存在KCP数据包丢失,则将丢失的KCP数据包重新传输至所述客户端。
可选地,所述在线升级系统还包括:
升级服务器,用于响应于客户端的升级确认指令,获取预设升级数据库中当前版本数据包和新版本数据包;
升级服务器,用于根据当前版本数据包和新版本数据包,生成对应的差分数据包,并将所述差分数据包作为升级包发送至代理服务器。
可选地,所述代理服务器还包括:公开密钥基础建设模块;
公开密钥基础建设模块,用于生成一对公钥和私钥,并将所述公钥在所述在线升级系统的网络中进行公开,将所述私钥发送至所述客户端;
升级服务器,用于生成未加密升级包,并基于所述公钥将所述未加密升级包进行加密后获得升级包发送至代理服务器;
客户端,用于在接收所述代理服务器传输的升级包后,基于所述私钥将所述升级包进行解密与签名后,获得未加密升级包进行升级。
本申请提供的在线升级系统,采用上述各实施例中的在线升级方法,解决了当前在线升级方案在弱网环境下的在线升级效率过低的技术问题。与现有技术相比,本申请实施例提供的在线升级系统的有益效果与上述实施例提供的在线升级方法的有益效果相同,且该在线升级系统中的其他技术特征与上述实施例方法公开的特征相同,在此不做赘述。
如图6所示,图6为本申请实施例方案涉及的硬件运行环境的设备结构示意图。
具体地,所述在线升级设备可以是PC(Personal Computer,个人计算机)、平板电脑、便携式计算机或者服务器等设备。
如图6所示,所述在线升级设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图6中示出的设备结构并不构成对所述在线升级设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图6所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及在线升级应用程序。
在图6所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的在线升级程序,实现上述实施例提供的在线升级方法中的操作。
此外,本申请实施例还提出一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的在线升级方法中的操作,具体步骤此处不再过多赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一定要求或者暗示这些实体/操作/对象之间存在任何这种实际的关系或者顺序;术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,车辆,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种在线升级方法,其特征在于,应用于在线升级系统,所述在线升级系统包括升级服务器、代理服务器和客户端;所述在线升级方法包括:
升级服务器生成升级包并将升级包发送至代理服务器;
所述代理服务器在接收所述升级包后,基于KCP协议传输所述升级包至客户端;
所述客户端在接收所述代理服务器传输的升级包后,基于所述升级包进行升级。
2.如权利要求1所述的在线升级方法,其特征在于,所述代理服务器在接收所述升级包后,基于KCP协议传输所述升级包至客户端的步骤,包括:
所述代理服务器将所述升级包打包为至少一个KCP数据包,并按顺序对所述KCP数据包进行编号,获得KCP数据包及其数据包编码;
所述代理服务器将KCP数据包及其数据包编码按顺序发送至所述客户端。
3.如权利要求2所述的在线升级方法,其特征在于,所述客户端在接收所述代理服务器传输的升级包后,基于所述升级包进行升级的步骤,包括:
所述客户端将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器;
所述客户端在完成各所述KCP数据包的接收后,将各所述KCP数据包进行组包,获得对应的升级包,并基于所述升级包进行升级。
4.如权利要求3所述的在线升级方法,其特征在于,所述客户端将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器的步骤,包括:
所述客户端获取当前网络波动程度;
所述客户端根据所述当前网络波动程度,确定对应的应答发送间隔,其中所述应答发送间隔与所述当前网络波动程度呈负相关;
所述客户端按照所述应答发送间隔将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器。
5.如权利要求3所述的在线升级方法,其特征在于,在所述客户端将收到的KCP数据包的数据包编码封装为应答信号,反馈至所述代理服务器的步骤之后,包括:
所述代理服务器接收到所述应答信号后,根据所述应答信号,判断是否存在KCP数据包丢失;
所述代理服务器若存在KCP数据包丢失,则将丢失的KCP数据包重新传输至所述客户端。
6.如权利要求1所述的在线升级方法,其特征在于,所述升级服务器生成升级包并将升级包发送至代理服务器的步骤,包括:
所述升级服务器响应于客户端的升级确认指令,获取预设升级数据库中当前版本数据包和新版本数据包;
所述升级服务器根据当前版本数据包和新版本数据包,生成对应的差分数据包,并将所述差分数据包作为升级包发送至代理服务器。
7.如权利要求1至6中任一项所述的在线升级方法,其特征在于,所述代理服务器还包括:公开密钥基础建设模块;
在所述升级服务器生成升级包并将升级包发送至代理服务器的步骤之前,包括:
所述公开密钥基础建设模块生成一对公钥和私钥,并将所述公钥在所述在线升级系统的网络中进行公开,将所述私钥发送至所述客户端;
所述升级服务器生成升级包并将升级包发送至代理服务器的步骤,包括:
所述升级服务器生成未加密升级包,并基于所述公钥将所述未加密升级包进行加密后获得升级包发送至代理服务器;
所述客户端在接收所述代理服务器传输的升级包后,基于所述升级包进行升级的步骤,包括:
所述客户端在接收所述代理服务器传输的升级包后,基于所述私钥将所述升级包进行解密与签名后,获得未加密升级包进行升级。
8.一种在线升级系统,其特征在于,所述在线升级系统包括升级服务器、代理服务器和客户端;
升级服务器,用于生成升级包并将升级包发送至代理服务器;
所述代理服务器,用于在接收所述升级包后,基于KCP协议传输所述升级包至客户端;
所述客户端,用于在接收所述代理服务器传输的升级包后,基于所述升级包进行升级。
9.一种在线升级设备,其特征在于,所述在线升级设备包括:存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的在线升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有在线升级程序,所述在线升级程序被处理器执行时实现如权利要求1至7中任一项所述的在线升级方法的步骤。
CN202311318073.0A 2023-10-11 2023-10-11 在线升级方法、系统、设备及计算机可读存储介质 Pending CN117336363A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311318073.0A CN117336363A (zh) 2023-10-11 2023-10-11 在线升级方法、系统、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311318073.0A CN117336363A (zh) 2023-10-11 2023-10-11 在线升级方法、系统、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN117336363A true CN117336363A (zh) 2024-01-02

Family

ID=89282549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311318073.0A Pending CN117336363A (zh) 2023-10-11 2023-10-11 在线升级方法、系统、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN117336363A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117573181A (zh) * 2024-01-17 2024-02-20 北京智芯微电子科技有限公司 配电终端升级方法、装置、存储介质及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117573181A (zh) * 2024-01-17 2024-02-20 北京智芯微电子科技有限公司 配电终端升级方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
US11159658B2 (en) Homogenization of telematics data through unified messaging protocol
EP1748594B1 (en) Method for realizing transmission of syncml synchronous data
US20220276855A1 (en) Method and apparatus for processing upgrade package of vehicle
CN110875799A (zh) 一种传输控制方法和装置
US7386717B2 (en) Method and system for accelerating the conversion process between encryption schemes
US11870636B2 (en) Systems and methods for subscribing topics and registering computer server event notifications
CN117336363A (zh) 在线升级方法、系统、设备及计算机可读存储介质
CN111447678A (zh) 通信方法和通信装置
US10541859B2 (en) Systems and methods for registering computer server event notifications
CN112449323B (zh) 一种通信方法、装置和系统
US11540168B2 (en) Apparatus and methods of packet retransmission between multi-link devices
CN106255155A (zh) 一种基于移动互联网的数据传输方法及系统
US20180176230A1 (en) Data packet transmission method, apparatus, and system, and node device
KR20150021288A (ko) 무선 통신 시스템에서 복수의 네트워크 인터페이스를 이용하는 트래픽 분산 방법 및 장치
CN115118526B (zh) 一种vr设备数据迁移方法
CN101019082B (zh) 一种传送密钥的方法和装置
CN112104635B (zh) 通信方法、系统和网络设备
CN113141263B (zh) 一种升级方法、装置、系统和存储介质
CN110650477B (zh) Nb-iot设备的交互方法、平台、服务器及存储介质
CN108040042A (zh) 一种针对多播情况下CoAP协议的安全方法
JP6261065B1 (ja) 中継装置及びシステム
US9344534B2 (en) Method and apparatus for performing data processing and data transmission by 3G AE and 3G RE
CN117579394A (zh) 一种基于tcp协议的客户端情况下的安全传输方法
CN117176831A (zh) 控制器网络通信方法、系统、设备及介质
CN113765961A (zh) 通信方法、服务端、客户端和网络系统

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