CN114866530B - 升级数据包的下载方法、设备以及计算机存储介质 - Google Patents
升级数据包的下载方法、设备以及计算机存储介质 Download PDFInfo
- Publication number
- CN114866530B CN114866530B CN202210312673.5A CN202210312673A CN114866530B CN 114866530 B CN114866530 B CN 114866530B CN 202210312673 A CN202210312673 A CN 202210312673A CN 114866530 B CN114866530 B CN 114866530B
- Authority
- CN
- China
- Prior art keywords
- packet
- data
- upgrade
- target
- data sub
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了升级数据包的下载方法、设备以及计算机存储介质,该方法包括:接收到服务端发送的升级数据子包,获取所述升级数据子包对应的sess i on I D和can I D;根据所述sess i on I D和can I D,确定目标升级数据子包,并计算所述目标升级数据子包的数据校验码;在所述数据校验码和所述目标升级数据子包的初始校验码一致时,把所述目标升级数据子包添加到线性表中;当接收到所述服务端发送的数据包发送完成信息时,根据所述线性表对应的目标升级数据子包生成数据升级包,实现了在不同信道的传输达到一对多,或多对多通信的目的,提高数据升级效率。
Description
技术领域
本发明涉及智能机器人领域,尤其涉及升级数据包的下载方法、设备以及计算机存储介质。
背景技术
OTA(Over-the-Air Technology,空中下载技术)多应用于汽车的车机系统升级、机器人的操作系统升级、移动终端的系统应用或者应用软件升级等。目前在机器人的操作系统升级中,所采用的升级通信方法是使用can通信,但是使用can通信传输数据时,在收发数据有先后顺序,同时这个过程中,会有串帧的现象出现,就是会有其他的数据穿插进来,所以为了避免串帧现象,只能实现一对一传输,导致传输数据的效率很低。
需要说明的是,上述内容仅用于辅助理解本发明所解决的技术问题,并不代表承认上述内容是相关技术。
发明内容
本申请实施例通过提供一种升级数据包的下载方法,解决了在机器人的操作系统使用can通信升级进行一对一传输,导致传输数据的效率低的技术问题。
为实现上述目的,本发明提出的升级数据包的下载方法,所述升级数据包的下载方法的步骤包括:
接收到服务端发送的升级数据子包,获取所述升级数据子包对应的sessionID和canID;
根据所述sessionID和canID,确定目标升级数据子包,并计算所述目标升级数据子包的数据校验码;
在所述数据校验码和所述目标升级数据子包的初始校验码一致时,把所述目标升级数据子包添加到线性表中;
当接收到所述服务端发送的数据包发送完成信息时,根据所述线性表对应的目标升级数据子包生成数据升级包。
可选地,根据所述sessionID和canID,确定目标升级数据子包,并计算所述目标升级数据子包的数据校验码的步骤包括:
当所述sessionID等于目标sessionID且所述canID等于目标canID时,获取所述目标升级数据子包的数据长度和数据;
根据所述升级数据子包的数据长度、数据、sessionID和canID,计算所述目标升级数据子包的数据校验码。
可选地,根据所述升级数据子包的数据长度、数据、sessionID和canID,计算所述目标升级数据子包的实际数据校验码的步骤包括:
根据所述升级数据子包的数据长度、数据、sessionID和canID分别对应的字节,计算出字节总和;
采用取反加一算法计算所述字节总和,截取最后两个字节,计算得到所述目标升级数据子包的实际数据校验码。
可选地,在所述数据校验码和所述目标升级数据子包的初始校验码一致时,把所述目标升级数据子包添加到线性表中的步骤之前,还包括:
比对所述数据校验码和所述目标升级数据子包的初始校验码;
若是所述数据校验码和所述目标升级数据子包的初始校验码一致时,判定所述目标升级数据子包是完整的;
若是所述数据校验码和所述目标升级数据子包的初始校验码不一致时,判定所述目标升级数据子包不是完整的。
可选地,当接收到所述服务端发送的数据包发送完成信息时,根据所述线性表对应的目标升级数据子包生成数据升级包的步骤包括:
当接收到终端发送来的数据包发送完成信息时,遍历所述线性表中的存储地址,获取所述存储地址对应的目标升级数据子包;
根据所述目标升级数据子包的存储空间状态,判断所述存储空间状态是否为空;
若是不为空,则根据所述目标升级数据子包生成数据升级包;
若是为空,则提示补发目标升级数据子包,再生成数据升级包。
可选地,若是为空,则提示补发目标升级数据子包,再生成数据升级包的步骤包括:
若是所述存储空间状态为空,则获取所述存储空间状态对应的存储下标;
根据所述存储下标,输出需要补发的目标升级数据子包;
根据所述线性表中的目标升级数据子包,生成升级数据包。
可选地,接收到终端发送来的升级数据子包,获取所述升级数据子包对应的会话身份标识sessionID和canID的步骤之前,还包括:
接收服务端发送的升级请求,创建会话空间和线性表;
输出创建成功提示。
可选地,当所述实际数据验证码和所述目标升级数据子包的初始数据总校验码一致时,把所述目标升级数据子包的存储地址记录到线性表中的步骤之后,还包括
当接收到终端发送的子包发送完成信息时,所述线性表中的指针移动到下一个空白空间中;
循环执行接收到服务端发送的升级数据子包,获取所述升级数据子包对应的sessionID和canID的步骤,到在所述数据校验码和所述目标升级数据子包的初始校验码一致时,把所述目标升级数据子包添加到线性表中的步骤,直到接收到所述服务端发送的数据包发送完成信息。
此外,为实现上述目的,本发明还提供了一种升级数据包的下载设备,所述升级数据包的下载设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的升级数据包的下载程序,所述升级数据包的下载程序被所述处理器执行时实现如上所述的升级数据包的下载方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有升级数据包的下载程序,所述升级数据包的下载程序被处理器执行时实现如上所述的升级数据包的下载方法的步骤。
本发明提供的升级数据包的下载方法、设备以及计算机存储介质,通过待升级的终端设备接收到服务端发送的升级数据子包,获取升级数据子包对应的sessionID和canID,以通过sessionID明确待升级的终端设备,通过canID以过滤选择待升级的终端设备的升级数据子包,进而实现根据sessionID和canID,确定目标升级数据子包,以筛选且准确获取得到待升级的终端设备的升级数据子包,进一步计算目标升级数据子包的数据校验码,以通过数据校验码判定目标升级数据子包为完整且安全的数据包时,将目标升级数据子包添加至线性表中,当接收到服务端发送的数据包发送完成信息时,表明组成完成数据升级包的所有目标升级数据子包已接收完成,根据线性表对应的目标升级数据子包生成完成的数据升级包。在本实施例中,采用串口结合can通信,使用Session通信,建立SessionID,分立信道,取消每一帧一次握手,使用大包传输如一次传输的升级数据子包为16K,通过设置Session ID,以实现在不同信道的传输达到一对多,或多对多通信的目的,提高数据升级效率。
附图说明
图1为本申请实施例方案涉及的硬件运行环境的终端设备结构示意图;
图2为本申请升级数据包的下载方法第一实施例的流程示意图;
图3为本申请升级数据包的下载方法第二实施例的流程示意图;
图4为本申请升级数据包的下载方法第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
如图1所示,图1为本申请实施例方案涉及的硬件运行环境的终端设备结构示意图。
如图1所示,该终端设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
需要说明的是,本申请涉及的终端设备可以是升级数据包的下载设备,升级数据包的下载设备如手机、电脑以及机器人等。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括升级数据包的下载程序。
在图1所示的终端设备中,网络接口1004主要用于与后台服务器进行数据通信;用户接口1003主要用于与客户端(用户端)进行数据通信;处理器1001可以用于调用存储器1005中升级数据包的下载程序,并执行以下操作:
接收到服务端发送的升级数据子包,获取所述升级数据子包对应的sessionID和canID;
根据所述sessionID和canID,确定目标升级数据子包,并计算所述目标升级数据子包的数据校验码;
在所述数据校验码和所述目标升级数据子包的初始校验码一致时,把所述目标升级数据子包添加到线性表中;
当接收到所述服务端发送的数据包发送完成信息时,根据所述线性表对应的目标升级数据子包生成数据升级包。
参照图2,图2为本申请升级数据包的下载方法第一实施例的流程示意图。
本申请实施例提供了一种升级数据包的下载方法,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例的升级数据包的下载方法,包括以下步骤:
步骤S10,接收到服务端发送的升级数据子包,获取所述升级数据子包对应的sessionID和canID;
步骤S20,根据所述sessionID和canID,确定目标升级数据子包,并计算所述目标升级数据子包的数据校验码;
需要说明的是,sessionid是一个会话的key,终端设备第一次访问服务端会在服务端生成一个session,有一个sessionid和终端设备对应。服务端在创建了Session的同时,会为该Session生成唯一的sessionId,而sessionId会在随后的请求中会被用来重新获得已经创建的Session;Session被创建之后,就可以调用Session相关的方法往Session中增加内容了,而这些内容只会保存在服务器中,发到终端设备的只有sessionId;当终端设备再次发送请求的时候,会将这个sessionId带上,服务端接受到请求之后就会依据sessionId找到相应的Session,从而再次使用之。
CAN ID是个报文过滤器,当总线上报文如升级数据子包的ID和报文的接收端接收的ID相匹配时,报文的接收端可以接收相应的报文。CAN ID用于定义相应的报文的含义,每个ID对应有自己的具体含义,示例性地,CAN ID为101,可用于表示为电压信号,CAN ID为201,可用于表示为电流信号。
在实际应用过程中,终端设备如可穿戴设备想要正常使用,需要配置有相应的软件以支持一定的硬件功能。而一个设备中所配置的软件随着时间的推移往往需要进行一定的软件升级(或者也称版本更新)。
此外,终端设备中配置的软件可能会经过多次的软件升级,而每一次经过升级后的软件都对应于一个已发布的软件安装包,在本实施例中,已安装数据包具体是指一个设备中当前所配置的软件安装包,其中,不同的软件安装包通过不同的版本信息来区分。典型的,版本信息具体包括版本名称,和/或版本号等可以区别不同软件安装包的信息,本实施例对此并不进行限制。
在本实施例中,服务器中预存有与待升级的终端设备不同版本信息对应的软件安装包,软件安装包可被划分为多个升级数据子包,当软件安装包的版本信息更新后,可向待升级的终端设备发送升级请求,以使得待升级的终端设备在接收到服务端发送的升级请求进行数据升级操作。可选地,步骤S10之前包括:接收到服务端发送的升级请求,创建会话空间和线性表,输出创建成功提示。其中,线性表可用于存储接收到服务端发送的升级数据子包。
作为一种可选的实施方式,步骤S20包括:
当所述sessionID等于目标sessionID且所述canID等于目标canID时,获取所述目标升级数据子包的数据长度和数据;
根据所述升级数据子包的数据长度、数据、sessionID和canID,计算所述目标升级数据子包的数据校验码。
当sessionID等于目标sessionID且canID等于目标canID时,表明sessionID和canID对应的升级数据子包是属于当前终端设备的升级数据,获取目标升级数据子包的数据长度和数据,以通过目标升级数据子包的数据长度和数据计算目标升级数据子包的数据校验码。
可选地,根据所述升级数据子包的数据长度、数据、sessionID和canID,计算所述目标升级数据子包的数据校验码包括:
根据所述升级数据子包的数据长度、数据、sessionID和canID分别对应的字节,计算出字节总和;
采用取反加一算法计算所述字节总和,截取最后两个字节,计算得到所述目标升级数据子包的实际数据校验码。
根据所述升级数据子包的数据长度、数据、sessionID和canID分别对应的字节,计算出字节总和,也即分别获取升级数据子包的数据长度、数据、sessionID和canID对应的字节数后,对获取得到的字节数求和,以得到字节总和,进一步地,对字节总和采用取反加1算法计算,截取取反加1算法计算后的字节总和的最后两个字节,以得到目标升级数据子包的数据校验码。
步骤S30,在所述数据校验码和所述目标升级数据子包的初始校验码一致时,把所述目标升级数据子包添加到线性表中;
步骤S40,当接收到所述服务端发送的数据包发送完成信息时,根据所述线性表对应的目标升级数据子包生成数据升级包。
在数据校验码和目标升级数据子包的初始校验码一致时,表明获取得到的目标升级数据子包未被篡改、完整且是安全的数据包,将目标升级数据子包添加至线性表中。
可选地,步骤S30之前,还包括:
比对所述数据校验码和所述目标升级数据子包的初始校验码;
若是所述数据校验码和所述目标升级数据子包的初始校验码一致时,判定所述目标升级数据子包是完整的;
若是所述数据校验码和所述目标升级数据子包的初始校验码不一致时,判定所述目标升级数据子包不是完整的。
比对所述数据校验码和所述目标升级数据子包的初始校验码,若是数据校验码和所述目标升级数据子包的初始校验码一致时,表明获取得到的目标升级数据子包未被篡改、完整且是安全的数据包,判定目标升级数据子包是完整的,进而将目标升级数据子包添加至线性表中进行存储。
若是数据校验码和所述目标升级数据子包的初始校验码不一致时,表明获取得到的目标升级数据子包可能已被篡改、不完整且或者不安全的数据包,判定目标升级数据子包不是完整的,将目标升级数据子包丢弃。
当接收到所述服务端发送的数据包发送完成信息时,表明当前终端设备的升级数据包已接收完成,根据所述线性表对应的目标升级数据子包生成数据升级包,也即,将存储在线性表中所有目标升级数据子包生成数据升级包,以根据数据升级包进行升级。
本实施例公开的技术方案中,待升级的终端设备接收到服务端发送的升级数据子包,获取升级数据子包对应的sessionID和canID,以通过sessionID明确待升级的终端设备,通过canID以过滤选择待升级的终端设备的升级数据子包,进而实现根据sessionID和canID,确定目标升级数据子包,以筛选且准确获取得到待升级的终端设备的升级数据子包,进一步计算目标升级数据子包的数据校验码,以通过数据校验码判定目标升级数据子包为完整且安全的数据包时,将目标升级数据子包添加至线性表中,当接收到服务端发送的数据包发送完成信息时,表明组成完成数据升级包的所有目标升级数据子包已接收完成,根据线性表对应的目标升级数据子包生成完成的数据升级包。在本实施例中,采用串口结合can通信,使用Session通信,建立Session ID,分立信道,取消每一帧一次握手,使用大包传输如一次传输的升级数据子包为16K,通过设置Session ID,以实现在不同信道的传输达到一对多,或多对多通信的目的,提高数据升级效率。
进一步地,参考图3,基于上述第一实施例,提出本申请升级数据包的下载方法第二实例。步骤S40包括:
步骤S41,当接收到终端发送来的数据包发送完成信息时,遍历所述线性表中的存储地址,获取所述存储地址对应的目标升级数据子包;
步骤S42,根据所述目标升级数据子包的存储空间状态,判断所述存储空间状态是否为空;
步骤S43,若是不为空,则根据所述目标升级数据子包生成数据升级包;
步骤S44,若是为空,则提示补发目标升级数据子包,再生成数据升级包。
接收到数据包发送完成信息时,通过遍历线性表中的存储地址,以对应该存储地址获取目标升级数据子包,进而获取目标升级数据子包的存储空间状态,以通过存储空间状态判定该存储地址对应的目标升级数据子包是不是为空的数据包,若是不为空,则表明目标升级数据子包是不为空的数据包,则可根据目标升级数据子包生成数据升级包,若是为空,则表明目标升级数据子包是为空的数据包,则提示补发目标升级数据子包,进而再根据目标升级数据子包生成数据升级包。
作为一种可选的实施方式,步骤S44包括:
若是所述存储空间状态为空,则获取所述存储空间状态对应的存储下标;
根据所述存储下标,输出需要补发的目标升级数据子包;
根据所述线性表中的目标升级数据子包,生成升级数据包。
若是为空,则表明目标升级数据子包是为空的数据包,通过获取所述存储空间状态对应的存储下标,进而根据存储下标,输出需要补发的目标升级数据子包,以向服务端发起获取目标升级数据子包的请求,进而通过该请求重新获取目标升级数据子包,并将该目标升级数据子包存储至线性表中,最后根据所述线性表中的目标升级数据子包,生成升级数据包。
本实施例公开的技术方案中,当接收到终端发送来的数据包发送完成信息时,遍历所述线性表中的存储地址,获取所述存储地址对应的目标升级数据子包;根据所述目标升级数据子包的存储空间状态,判断所述存储空间状态是否为空;若是不为空,则根据所述目标升级数据子包生成数据升级包;若是为空,则提示补发目标升级数据子包,再生成数据升级包。通过线性表中的存储空间状态来判断存储地址对应的目标升级数据子包是不是为空的数据包,若是不为空,则根据所述目标升级数据子包生成数据升级包,若是为空,则提示补发目标升级数据子包,以获取得到完整的升级数据,再生成数据升级包。
进一步地,参考图4,基于上述第一实施例和第二实施例,提出本申请升级数据包的下载方法第三实例。步骤S30之后,还包括:
步骤S50,当接收到终端发送的子包发送完成信息时,所述线性表中的指针移动到下一个空白空间中;
步骤S60,循环执行接收到服务端发送的升级数据子包,获取所述升级数据子包对应的sessionID和canID的步骤,到在所述数据校验码和所述目标升级数据子包的初始校验码一致时,把所述目标升级数据子包添加到线性表中的步骤,直到接收到所述服务端发送的数据包发送完成信息。
当接收到终端发送的子包发送完成信息时,表明当前终端设备的升级数据子包已接收完成,线性表中的指针移动到下一个空白空间中,以用于在接收到下一个升级数据子包时存储该升级数据子包。循环执行步骤S10至步骤S30,直到接收到服务端发送的数据包发送完成信息,以存储完毕所有本次升级的数据包。
本实施例公开的技术方案中,当接收到终端发送的子包发送完成信息时,所述线性表中的指针移动到下一个空白空间中,循环执行接收到服务端发送的升级数据子包,获取所述升级数据子包对应的sessionID和canID的步骤,到在所述数据校验码和所述目标升级数据子包的初始校验码一致时,把所述目标升级数据子包添加到线性表中的步骤,直到接收到所述服务端发送的数据包发送完成信息,以在线性表中每存储一个数据包完成之后,指针下移,循环执行,直到存储完毕本次升级的所有数据包。
此外,本发明实施例还提出一种计算机存储介质。所述计算机存储介质上存储有升级数据包的下载程序,所述升级数据包的下载程序被处理器执行时实现如上述任一项实施例中的升级数据包的下载方法的步骤。
本发明计算机存储介质具体实施方式与上述升级数据包的下载方法各实施例基本相同,在此不再赘述。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机存储器中,使得存储在该计算机存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种升级数据包的下载方法,其特征在于,所述升级数据包的下载方法的步骤包括:
接收到服务端发送的升级请求,创建会话空间和线性表,其中,所述线性表用于存储接收到服务端发送的升级数据子包;
接收到服务端发送的升级数据子包,获取所述升级数据子包对应的sessionID和canID;
当所述sessionID等于目标sessionID且所述canID等于目标canID时,获取目标升级数据子包的数据长度和数据;
根据所述升级数据子包的数据长度、数据、sessionID和canID分别对应的字节,计算出字节总和;
采用取反加一算法计算所述字节总和,截取最后两个字节,计算得到所述目标升级数据子包的实际数据校验码;
比对所述数据校验码和所述目标升级数据子包的初始校验码;
若是所述数据校验码和所述目标升级数据子包的初始校验码一致时,判定所述目标升级数据子包是完整的;
在所述数据校验码和所述目标升级数据子包的初始校验码一致时,把所述目标升级数据子包添加到线性表中;
当接收到所述服务端发送的数据包发送完成信息时,根据所述线性表对应的目标升级数据子包生成数据升级包。
2.如权利要求1所述的升级数据包的下载方法,其特征在于,所述在所述数据校验码和所述目标升级数据子包的初始校验码一致时,把所述目标升级数据子包添加到线性表中的步骤之前,还包括:
若是所述数据校验码和所述目标升级数据子包的初始校验码不一致时,判定所述目标升级数据子包不是完整的。
3.如权利要求1所述的升级数据包的下载方法,其特征在于,所述当接收到所述服务端发送的数据包发送完成信息时,根据所述线性表对应的目标升级数据子包生成数据升级包的步骤包括:
当接收到终端发送来的数据包发送完成信息时,遍历所述线性表中的存储地址,获取所述存储地址对应的目标升级数据子包;
根据所述目标升级数据子包的存储空间状态,判断所述存储空间状态是否为空;
若是不为空,则根据所述目标升级数据子包生成数据升级包;
若是为空,则提示补发目标升级数据子包,再生成数据升级包。
4.如权利要求3所述的升级数据包的下载方法,其特征在于,所述若是为空,则提示补发目标升级数据子包,再生成数据升级包的步骤包括:
若是所述存储空间状态为空,则获取所述存储空间状态对应的存储下标;
根据所述存储下标,输出需要补发的目标升级数据子包;
根据所述线性表中的目标升级数据子包,生成升级数据包。
5.如权利要求1所述的升级数据包的下载方法,其特征在于,所述接收到终端发送来的升级数据子包,获取所述升级数据子包对应的会话身份标识sessionID和canID的步骤之前,还包括:
输出创建成功会话空间和线性表的提示。
6.如权利要求1所述的升级数据包的下载方法,其特征在于,所述在所述实际数据验证码和所述目标升级数据子包的初始数据总校验码一致时,把所述目标升级数据子包添加到线性表中的步骤之后,还包括
当接收到终端发送的子包发送完成信息时,所述线性表中的指针移动到下一个空白空间中;
循环执行接收到服务端发送的升级数据子包,获取所述升级数据子包对应的sessionID和canID的步骤,到在所述数据校验码和所述目标升级数据子包的初始校验码一致时,把所述目标升级数据子包添加到线性表中的步骤,直到接收到所述服务端发送的数据包发送完成信息。
7.一种升级数据包的下载设备,其特征在于,所述升级数据包的下载设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的升级数据包的下载程序,所述升级数据包的下载程序被所述处理器执行时实现如权利要求1至6中任一项所述的升级数据包的下载方法的步骤。
8.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有升级数据包的下载程序,所述升级数据包的下载程序被处理器执行时实现如权利要求1至6中任一项所述的升级数据包的下载方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210312673.5A CN114866530B (zh) | 2022-03-28 | 2022-03-28 | 升级数据包的下载方法、设备以及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210312673.5A CN114866530B (zh) | 2022-03-28 | 2022-03-28 | 升级数据包的下载方法、设备以及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114866530A CN114866530A (zh) | 2022-08-05 |
CN114866530B true CN114866530B (zh) | 2024-04-19 |
Family
ID=82628644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210312673.5A Active CN114866530B (zh) | 2022-03-28 | 2022-03-28 | 升级数据包的下载方法、设备以及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114866530B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103037449A (zh) * | 2011-10-10 | 2013-04-10 | 中兴通讯股份有限公司 | 一种更新服务质量的方法及系统 |
CN106130751A (zh) * | 2016-05-27 | 2016-11-16 | 努比亚技术有限公司 | 一种升级状态数据管理装置、系统和方法 |
CN106603567A (zh) * | 2016-12-30 | 2017-04-26 | 杭州迪普科技股份有限公司 | 一种web管理员的登录管理方法及装置 |
CN109284121A (zh) * | 2018-11-15 | 2019-01-29 | 中车株洲电力机车有限公司 | 储能电源多级网络多控制设备同步更新程序的方法及系统 |
CN110855496A (zh) * | 2019-11-19 | 2020-02-28 | 上海磐启微电子有限公司 | 一种基于sig mesh的ota升级方法 |
CN110892741A (zh) * | 2017-08-15 | 2020-03-17 | 通用电气公司 | 智能装备、智能装备使用的方法以及智能灯 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101291233B (zh) * | 2007-04-20 | 2011-04-20 | 华为技术有限公司 | 一种实现事件检测的方法及系统 |
US9013979B2 (en) * | 2010-03-02 | 2015-04-21 | Telefonaktiebolaget L M Ericsson (Publ) | High-available policy and charging-control in geographical redundancy PCRF configurations |
-
2022
- 2022-03-28 CN CN202210312673.5A patent/CN114866530B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103037449A (zh) * | 2011-10-10 | 2013-04-10 | 中兴通讯股份有限公司 | 一种更新服务质量的方法及系统 |
CN106130751A (zh) * | 2016-05-27 | 2016-11-16 | 努比亚技术有限公司 | 一种升级状态数据管理装置、系统和方法 |
CN106603567A (zh) * | 2016-12-30 | 2017-04-26 | 杭州迪普科技股份有限公司 | 一种web管理员的登录管理方法及装置 |
CN110892741A (zh) * | 2017-08-15 | 2020-03-17 | 通用电气公司 | 智能装备、智能装备使用的方法以及智能灯 |
CN109284121A (zh) * | 2018-11-15 | 2019-01-29 | 中车株洲电力机车有限公司 | 储能电源多级网络多控制设备同步更新程序的方法及系统 |
CN110855496A (zh) * | 2019-11-19 | 2020-02-28 | 上海磐启微电子有限公司 | 一种基于sig mesh的ota升级方法 |
Non-Patent Citations (1)
Title |
---|
基于TRDP协议的列车以太网网络通信实时性研究;李亭蓄;《中国优秀硕士论文电子期刊网》;20200815;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114866530A (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109491681B (zh) | 一种汽车内mcu的升级方法及装置 | |
CN109471653B (zh) | 应用程序的更新方法、电子设备、服务器和存储介质 | |
US10387856B2 (en) | Online payment method, system, and apparatus | |
CN106484453B (zh) | 一种实现系统升级的方法及装置 | |
CN111158738B (zh) | 耳机固件的升级方法、装置及可读存储介质 | |
CN105389177A (zh) | 一种软件版本确认方法、装置及系统 | |
EP3531322A1 (en) | Method and apparatus for verifying update of diagnostic connector of diagnostic device and diagnostic connector | |
CN110543324B (zh) | 一种应用程序的插件增量更新方法及装置 | |
CN105808278A (zh) | 一种客户端版本升级方法及装置 | |
CN106534105B (zh) | 登录方法和装置 | |
WO2016173128A1 (zh) | 一种软件版本的下载方法及装置、存储介质 | |
CN113051163B (zh) | 单元测试方法、装置、电子设备及存储介质 | |
CN107844306A (zh) | 应用程序的修复方法、装置、存储介质及终端 | |
CN108920962A (zh) | 固件下载验签方法、固件发布方法、移动终端及服务器 | |
CN105045671A (zh) | 一种智能终端的系统升级方法及装置 | |
CN111176685A (zh) | 一种升级方法及装置 | |
CN114866530B (zh) | 升级数据包的下载方法、设备以及计算机存储介质 | |
CN115437915A (zh) | 一种基于车辆的版本测试方法、装置及电子设备 | |
CN115421745A (zh) | 设备远程升级方法、装置、终端及存储介质 | |
CN107729043B (zh) | 增量升级包的校验方法、装置和计算机可读存储介质 | |
CN106021003A (zh) | 智能终端的修复方法、智能终端以及服务器 | |
CN112579141A (zh) | 一种嵌入式系统的固件更新方法、装置、设备及存储介质 | |
CN107479926A (zh) | 系统自带应用程序的升级方法及装置 | |
CN103984541B (zh) | 基于终端源代码生成应用程序的方法和系统 | |
CN116366275A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Unit 7-11, 6th Floor, Building B2, No. 999-8 Gaolang East Road, Wuxi Economic Development Zone, Wuxi City, Jiangsu Province, China 214000 Patentee after: Youdi Robot (Wuxi) Co.,Ltd. Country or region after: China Address before: 5D, Building 1, Tingwei Industrial Park, No. 6 Liufang Road, Xingdong Community, Xin'an Street, Bao'an District, Shenzhen City, Guangdong Province Patentee before: UDITECH Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |