CN103916440A - 一种远程升级的方法及其装置 - Google Patents
一种远程升级的方法及其装置 Download PDFInfo
- Publication number
- CN103916440A CN103916440A CN201310004083.7A CN201310004083A CN103916440A CN 103916440 A CN103916440 A CN 103916440A CN 201310004083 A CN201310004083 A CN 201310004083A CN 103916440 A CN103916440 A CN 103916440A
- Authority
- CN
- China
- Prior art keywords
- packet
- data
- upgrade
- length information
- bag
- 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.)
- Granted
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例涉及软件升级领域,特别涉及一种远程升级的方法及其装置。包括:发送传输请求;接收子数据包并提取数据块以及标志数据;查看数据块中是否包含文件结束标志;其中:若包含,则将已提取的全部数据块依序合并成一个数据包;若不包含,则根据已提取的全部数据块的长度信息判断所有数据块的长度信息是否与标准数据包的长度信息相符;其中:若为否,则继续接收剩余子数据包;若为是,则发送下一个传输请求,并将已提取的全部数据块依序合并成一个数据包;在接收完全部数据包后,对本地单元进行升级。通过本发明的实施例有效的解决数据传输过程中出现的数据包分包现象,避免数据接收不完整或接收顺序出错,并且提高了下载效率。
Description
技术领域
本发明涉及软件升级领域,特别涉及一种远程升级的方法及其装置。
背景技术
嵌入式设备的特点是CPU依靠固件程序进行工作,固件程序一般存储在一些可反复擦写的固件载体上,最常见的就是FLASH。如果通过网络传输手段,改变终端设备FLASH中存储的固件程序,便可以对设备进行远程升级。而现在很多嵌入式设备都具备无线通讯功能,利用现有的公网资源,如CDMA,GPRS网络便可以与服务器进行数据传输和命令交互。常见的做法是为设备配备一个无线通讯模块,通过这个无线通讯模块便可以通过网络与服务器通信。
但是现有技术中在使用这种无线通信模块进行网络通信时,模块接收的数据包会因为网络阻塞等原因出现数据包分包的现象,容易出现丢包情况而造成数据包中的数据接收不完整或者接收顺序出错。因此无线通信模块会根据信道的拥塞程度,对完整的数据包进行拆分,将其分成很多小的数据子包再向接收端发送,这样接收端在全部数据包下载之后再对其进行提取以及重组。虽然数据包完整接收,但是需要在原始发送的数据包上加上许多附加信息用于程序判断,势必加大服务器和终端设备程序设计的复杂程度,同时由于通信模块为了使接收端对数据子包进行重组,会在包头、包尾信息中添加必要的数据。而且这种方法需要将文件全部下载到RAM中,通过RAM进行提取及重组,RAM的开销会很大,显然很多嵌入式设备不具备这种能力。
发明内容
本发明实施例提供一种远程升级的方法及其装置,用以解决现有技术中无线通信模块进行网络通信时,模块接收的数据包会因为网络阻塞等原因出现数据包分包的现象,容易出现丢包情况而造成数据包中的数据接收不完整或者接收顺序出错,同时无需加大服务器和终端设备程序设计的复杂程度的问题。
本发明实施例提供一种远程升级的方法,其中,所述方法包括:
发送传输请求;
接收子数据包,并提取所述子数据包中的数据块以及标志数据;
查看所述数据块中是否包含文件结束标志;其中:
若包含所述文件结束标志,则将已提取的全部所述数据块依序合并成一个数据包;
若不包含所述文件结束标志,则根据已提取的全部所述数据块的长度信息判断所有数据块的长度信息是否与标准数据包的长度信息相符;其中:
若为否,则继续接收剩余所述子数据包;
若为是,则发送下一个传输请求,并将已提取的全部所述数据块依序合并成一个数据包;
在接收完全部数据包后,根据所述数据包中的数据包信息对本地单元进行升级。
上述远程升级的方法,其中,所述根据已提取的全部所述数据块的长度信息判断所有所述数据块的长度信息是否与标准数据包的长度信息相符具体包括:比较已提取的全部所述数据块的长度之和是否等于标准数据包的长度。
上述远程升级的方法,其中,所述数据块的长度信息位于所述子数据包的标志数据中。
上述远程升级的方法,其中,对本地单元进行升级前,所述升级方法还包括:滤除全部数据包中的所述数据包信息并生成升级文件,将所述升级文件存储至外部存储单元。
上述远程升级的方法,其中,所述方法还包括:对本地单元进行升级前,从所述外部存储单元读取所述升级文件。
本发明实施例还提供一种远程升级的装置,其中,所述装置包括:
请求单元,用于发送传输请求;
接收单元,用于接收子数据包,并提取所述子数据包中的数据块以及标志数据;
查找单元,用于查看所述数据块中是否包含文件结束标志;
处理单元,用于将已提取的全部所述数据块依序合并成一个数据包;
判断单元,用于当不包含所述文件结束标志时,根据已提取的全部所述数据块的长度信息判断所有数据块的长度信息是否与标准数据包的长度信息相符;其中:
若为否,则继续接收剩余所述子数据包;
若为是,则通知所述请求单元发送下一个传输请求,并由所述处理单元将已提取的全部所述数据块依序合并成一个数据包;
升级单元,用于在接收完全部数据包后,根据所述数据包中的数据包信息对本地单元进行升级。
上述远程升级的装置,其中,所述判断单元还包括:比较模块,用于比较已提取的全部所述数据块的长度之和是否等于标准数据包的长度。
上述远程升级的装置,其中,所述数据块的长度信息位于所述子数据包的标志数据中。
上述远程升级的装置,其中,所述处理单元还包括:过滤模块;
所述过滤模块,用于滤除全部数据包中的所述数据包信息并生成升级文件,将所述升级文件存储至外部存储单元。
上述远程升级的装置,其中,所述装置还包括:读取单元,用于对本地单元进行升级前,从所述外部存储单元读取所述升级文件。本发明的实施例的有益效果在于,在数据通过无线网络传输的过程中,通过以主动的方式请求远端服务单元发送数据包的形式,及时处理并判断数据包的分包情况,可以有效的解决数据传输过程中出现的数据包分包现象,避免数据接收不完整或接收顺序出错,并且提高了下载效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明实施例的一种远程升级方法的流程图;
图2为本发明实施例的一种远程升级装置构成示意图;
图3为本发明另实施例的一种远程升级装置构成示意图;
图4A为本发明实施例的一种数据包结构示意图;
图4B为本发明实施例的一种子数据包结构示意图;
图4C为本发明实施例的一种子数据包具体结构示意图;
图4D为本发明实施例的另一种子数据包具体结构示意图;
图4E为本发明实施例的另一种子数据包具体结构示意图;
图5为本发明实施例的一种远程升级装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例作进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本发明实施例提供一种远程升级的方法,如图1所示,该方法包括:
步骤101,发送传输请求;具体的,在无线通信发送数据包的过程中,一般将升级文件拆分成若干个数据包后,对每个数据包添加数据包信息,例如包头、包尾等,传统技术中一般为远端服务单元一次性将全部数据包下发给本地单元,但是由于网络阻塞等原因容易出现丢包情况而造成数据包中的数据接收不完整或者接收顺序出错,因此本发明实施例中采用请求发送,只有完整接收完一包数据包后,才可以继续请求服务器发送下一包数据包,避免了丢包或者包接收顺序出错。同时当通信模块出现一次无法完整发送一包数据包的情况,而将一个完整的数据包拆分成若数据块时,会每个数据块添加必要的信息,例如拆分前数据块之间的逻辑关系,生成若干个子数据包并依次发送,由后续进行数据的提取及重组。
步骤102,接收子数据包,并提取所述子数据包中的数据块以及标志数据;
具体的,数据包的示意图以及子数据包的示意图如图4A至4E所示,图4A是远端服务单元发送的一个完整的数据包,其中包括:数据包信息以及有效数据,数据包信息一般为包头及包尾。图4B是通信模块将一个数据包拆分成若干个数据块以后,对每个数据块添加必要信息后生成的一个子数据包示意图,其包含标志数据和数据块。更具体的,在数据包发送过程中,通信模块根据网络情况将一个完整的数据包拆分成N个数据块,分别为A、B、……、N-1、N,再将每个数据块添加标志数据,组成N个子数据包;如图4C所示为新组成的第一个子数据包,其中包含标志数据以及数据块A,数据块A中包含该数据包的包头,而如图4E所示为拆新组成的最后一个子数据包,其中包含数据块N中包含该数据包的包尾,而位于中间的任意一个子数据包,如图4D所示,其数据块B一般不包含数据包信息,而无论是图4C、4D或4E所示的子数据包中均包含必要的标志数据,用于将子数据包按照原定的逻辑关系合并成一个完整的数据包。在本发明实施例中,由于一次至发送一个数据包,因此用于程序判断的标志数据占用空间较小,只需包含将一个数据包重组的必要信息即可,以保证数据在提取时的有效性。当然,如果是该升级文件的最后一包数据包,在包尾中还包含文件结束标志,因此最后一包数据包如果被拆分为若干个数据块时,该文件结束标志也会存在于最后一个数据块并且携带于最后一个子数据包中。
步骤103,查看所述数据块中是否包含文件结束标志;其中:若包含所述文件结束标志则进入步骤106;若不包含所述文件结束标志,则进入步骤104;由于最后一包数据包的大小由文件剩余的大小确定,因此当包含文件结束标志时,则断定为升级文件的最后一包数据包,因此无需再发送传输请求;通过文件结束标志可以简单的判断升级文件是否接收完毕,而无需待全部数据包接收完毕后计算。
步骤104,根据已提取的全部所述数据块的长度信息判断所有数据块的长度信息是否与标准数据包的长度信息相符;其中:若为否,则进入步骤105;若为是,则返回步骤101,并将已提取的全部所述数据块依序合并成一个数据包;
具体的,根据已提取的全部所述数据块的长度信息判断所有所述数据块的长度信息是否与标准数据包的长度信息相符进一步包括:比较已提取的全部所述数据块的长度之和是否等于标准数据包的长度。具体的,标准数据包的长度是指发送过程中一个完整数据包的长度,其在一次升级文件发送过程中是固定不变的。如果是最后一包数据包其长度是不固定的,而是根据实际剩余大小而定。较佳的,该标准数据包的长度由通信双方在发送前协商,远程升级装置进而对该标准数据包的长度值进行存储用于后续的判断过程;或者该标准数据包的长度值在发送过程中携带在包头信息中,由远程升级装置读取并保存。
步骤105,继续接收剩余所述子数据包,接收完后返回步骤102;以此循环,直至一个数据包中拆分出的所有数据块全部被提取后,将已提取的全部所述数据块依序合并成一个数据包,再返回步骤101,再进行上述循环过程,在此不再赘述;
步骤106,若包含所述文件结束标志,则无需再判断已提取的全部数据块的长度信息,而只需将已提取的全部所述数据块依序合并成一个数据包即可,减少了判断的过程,化简了程序。
步骤107,在接收完全部数据包后,根据所述数据包中的数据包信息对本地单元进行升级。具体的,在步骤107中,是将包含文件结束标志的最后一包数据包与将之前已经得到的其他数据包重组成一个完整的升级文件,较佳的,远程升级装置每接收完一个完整的数据包后,便紧接着前面已存储的数据包进行存储,这样边进行下载边存储的过程,使下载完后的数据包已经是按照正确的顺序排列,不仅便于后续的读取以及校验过程,而且减少了标志数据中的附加信息,减少了程序的复杂程度。当全部下载完毕后再按照包头、包尾中的相关信息对本地单元完成整个升级过程。
在本发明的实施例中,对于远程升级装置来说,相当于一包数据被分成多包子数据包接收,因此上述过程是分辨当前接收到的子数据包是不是完整的一包数据包。通过本发明的实施例,在数据通过无线网络传输的过程中,通过以主动的方式请求远端服务单元发送数据包的形式,及时处理并判断数据包的分包情况,可以有效的解决数据传输过程中出现的数据包分包现象,避免数据接收不完整或接收顺序出错,并且提高了下载效率。
在本发明实施例提供的一种远程升级的方法中,较佳的,所述数据块的长度信息位于所述子数据包的标志数据中。每个子数据包中都包括标志数据,其中记载了数据块的长度信息,均是由通信模块添加,其为了将接收到的所有子数据包中的数据块依序合并成一个数据包以及作为判断数据包是否完整的依据。
在本发明实施例提供的一种远程升级的方法中,较佳的,对本地单元进行升级前,所述升级方法还包括:滤除全部数据包中的所述数据包信息并生成升级文件,将所述升级文件存储至外部存储单元。由于外部存储单元的容量大,把下载的升级文件放在外部存储单元,大大减少了下载时内存的开销,有利于以后程序的扩展而不用担心存储空间不够。同时程序设计上得到了简化,不用考虑新旧固件程序如何实现跳转以及繁琐的向量表地址映射。
在本发明实施例提供的一种远程升级的方法中,较佳的,对本地单元进行升级前,从所述外部存储单元读取所述升级文件。具体的,本地单元为定时启动机制,当需要对本地单元进行升级时,进入引导程序,引导升级文件开始执行升级;同时还可以将当前运行文件备份到外部存储单元,如果在升级过程中出现任何错误,还可以实现文件恢复成原版本,保证了本地单元的正常运行。同时,外部存储单元为新下载的升级软件提供一个存储载体,这样可以灵活选择升级更新的时间,当需要更新时,只要从外部存储单元里按顺序读出升级文件再替换旧版本文件即可。这样不会影响到当前正在运行的程序,下载升级文件的行为只是作为当前运行的程序的一个正常任务在执行,就算下载的升级文件出现任何问题时,只要不更新,就不会影响当前程序的运行。
本发明实施例还提供一种远程升级装置,如图2所示,该装置包括:
请求单元201,用于发送传输请求;具体的,在无线通信发送数据包的过程中,一般将升级文件拆分成若干个数据包后,对每个数据包添加数据包信息,例如包头、包尾等,传统技术中一般为远端服务单元一次性将全部数据包下发给本地单元,但是由于网络阻塞等原因容易出现丢包情况而造成数据包中的数据接收不完整或者接收顺序出错,因此本发明实施例中采用请求发送,只有完整接收完一包数据包后,才可以继续请求服务器发送下一包数据包,避免了丢包或者包接收顺序出错。同时当通信模块出现一次无法完整发送一包数据包的情况,而将一个完整的数据包拆分成若数据块时,会每个数据块添加必要的信息,例如拆分前数据块之间的逻辑关系,生成若干个子数据包并依次发送,由后续进行数据的提取及重组。
接收单元202,用于接收子数据包,并提取所述子数据包中的数据块以及标志数据;
查找单元203,用于查看所述数据块中是否包含文件结束标志;其中:若包含所述文件结束标志,则无需再判断已提取的全部数据块的长度信息,而只需由处理单元将已提取的全部所述数据块依序合并成一个数据包即可,减少了判断的过程,化简了程序。
处理单元205,用于将已提取的全部所述数据块依序合并成一个数据包;
判断单元204,当查找单元203为找到文件结束标志时,用于根据已提取的全部所述数据块的长度信息判断所有数据块的长度信息是否与标准数据包的长度信息相符;其中:若为否,则继续由接收单元202接收剩余所述子数据包;
若为是,则通知所述请求单元201发送下一个传输请求,并由所述处理单元205将已提取的全部所述数据块依序合并成一个数据包;
升级单元206,用于在接收完全部数据包后,根据所述数据包中的数据包信息对本地单元进行升级。具体的,当查找单元203找到文件结束标志后,由处理单元205将该已提取的包含文件结束标志的数据块与该包数据中已提取的其他数据块合并成最后一包数据包,再将该最后一包数据包与将之前已经得到的其他数据包重组成一个完整的升级文件,较佳的,远程升级装置每接收完一个完整的数据包后,便紧接着前面已存储的数据包进行存储,这样边进行下载边存储的过程,使下载完后的数据包已经是按照正确的顺序排列,不仅便于后续的读取以及校验过程,而且省去了标志数据中的相关附加信息,减少了程序的复杂程度。当全部下载完毕后再按照包头、包尾中的相关信息对本地单元完成整个升级过程。
在本发明实施例提供的一种远程升级的装置中,如图3所示,较佳的,所述判断单元304还包括:比较模块3041,用于比较已提取的全部所述数据块的长度之和是否等于标准数据包的长度;具体的,标准数据包的长度是指发送过程中一个完整数据包的长度,其在一次升级文件发送过程中是固定不变的。如果是最后一包数据包其长度是不固定的,而是根据实际剩余大小而定。较佳的,该标准数据包的长度由通信双方在发送前协商,远程升级装置进而对该标准数据包的长度值进行存储用于后续的判断过程;或者该标准数据包的长度值在发送过程中携带在包头信息中,由远程升级装置读取并保存。具体的,若已提取的全部所述数据块的长度之和等于标准数据包的长度,则代表当前数据包中的全部数据块均已接收,此时通知所述接收单元301请求远端服务单元发送下一个数据包;若为否,则所述数据块未全部接收,后续还有包含其余数据块的子数据包,需继续等待接收剩余所述子数据包。
在本发明实施例提供的一种远程升级的方法中,较佳的,所述数据块的长度信息位于所述子数据包的标志数据中。每个子数据包中都包括标志数据,其中记载了数据块的长度信息,均是由通信模块添加,其为了将接收到的所有子数据包中的数据块依序合并成一个数据包以及作为判断数据包是否完整的依据。
在本发明实施例提供的一种远程升级的装置中,较佳的,所述处理单元305还包括:过滤模块3051;所述过滤模块3051,用于滤除全部数据包中的所述数据包信息并生成升级文件,将所述升级文件存储至外部存储单元。通过过滤模块根据所有数据包中的包头包尾信息重组成一个可用的升级文件后,将包头包尾信息滤除,减少了存储的容量,且由于外部存储单元的容量大,把下载的升级文件放在外部存储单元,大大减少了下载时内存的开销,有利于以后程序的扩展而不用担心存储空间不够。同时程序设计上得到了简化,不用考虑新旧升级文件如何实现跳转以及繁琐的向量表地址映射。
在本发明实施例提供的一种远程升级的装置中,较佳的,所述装置还包括:读取单元307,用于对本地单元进行升级前,从所述外部存储单元306读取所述升级文件。较佳的,本地单元为定时启动机制,当需要对本地单元进行升级时,通知读取单元307进入引导程序,引导升级文件开始执行升级;同时还可以将当前运行文件备份到外部存储单元306,如果在升级过程中出现任何错误,还可以实现文件恢复成原版本,保证了本地单元的正常运行。同时,外部存储单元为新下载的升级软件提供一个存储载体,这样可以灵活选择升级更新的时间,当需要更新时,只要从外部存储单元里按顺序读出升级文件再替换旧版本文件即可。这样不会影响到当前正在运行的程序,下载升级文件的行为只是作为当前运行的程序的一个正常任务在执行,就算下载的升级文件出现任何问题时,只要不更新,就不会影响当前程序的运行。
下面结合图5来对本发明实施例提供的远程升级方法的做进一步说明,但本发明并不仅限于图5中的具体部件才能实现。如图5所示:本发明实施例中的远程升级装置通过无线通信模块与远端服务单元进行通讯。其还配备了一片外部FLASH芯片作为外部存储单元,用于存储新程序、备份旧程序,记录设备参数等。较佳的,本发明实施例中采用STM32系列单片机,例如STM32F103VET6单片机。
作为额外存储媒介的外部FLASH芯片,可以采用型号为AT25DF321的串行FLASH芯片,地址空间为0x0----0x3FFFFF,大小为4M,和STM32单片机通过SPI总线进行数据传输。外部串行FLASH芯片内部地址空间被划分为3个区域,地址0x0----0x1FFFF共128K地址空间用来记录本地单元的属性参数信息的参数存储区,例如:本地单元的硬件版本号,当前运行软件的版本号等。这些信息将体现在发出的升级请求中,作为是否符合升级计划要求的判断依据。地址0x200000----0x37FFFF共512K的地址空间用来存储从远端服务单元下载的升级文件的升级文件存储区。地址0x380000----0x3FFFFF共512K的地址空间用来备份旧版本的文件程序的备份存储区。将文件存放区都定义为512K大小,是因为STM32F103VET6单片机内部FLASH大小也为512K,对于其他型号内部FLASH大小不同的单片机,可以调整这两部分区域的大小以符合实际单片机地址空间的需要。
通过CDMA无线通信模块上网,定期向远端服务单元发送升级请求。当设备符合升级要求时,远端服务单元通知设备准备开始下载升级文件。设备在准备进行接收升级文件之前,需要先将外部FLASH芯片中升级文件存储区原有的数据清除,用来接收新的升级文件。完成这项工作后,通知远端服务单元可以开始传输升级文件,此时远端服务单元按照远程升级装置的请求一个一个发送数据包。
升级文件以2进制bin文件格式存储。且以数据包的形式,每包数据包按固定字节大小发送到远程升级装置中,且最后一包数据包按实际升级文件剩余字节大小发出。当接收完当前一包数据包后,回应远端服务单元请求下载下一包数据包。
当升级文件最后一包数据包传输完成,并且整个文件的CRC校验结果正确后,远程升级装置便开始准备备份当前正在运行的文件。备份方法为:先读取自身地址空间中的内容,将读取的内容写到外部FLASH芯片的备份存储区。当升级文件出现问题时,可以利用原有的文件备份内容恢复执行旧版本的文件程序。
综上,本发明实施例提供的一种远程升级的方法及其装置,在传输过程中就可以保证数据包下载完整且存储顺序正确,避免在固件文件完全下载后再进行分包的重组和处理,从而简化了程序设计,提高了升级的稳定性。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述仅为本发明示意性的具体实施方式,并非用以限定本发明的范围。任何本领域的技术人员,在不脱离本发明的构思和原则的前提下所作出的等同变化与修改,均应属于本发明保护的范围。
Claims (10)
1.一种远程升级的方法,其特征在于,所述方法包括:
发送传输请求;
接收子数据包,并提取所述子数据包中的数据块以及标志数据;
查看所述数据块中是否包含文件结束标志;其中:
若包含所述文件结束标志,则将已提取的全部所述数据块依序合并成一个数据包;
若不包含所述文件结束标志,则根据已提取的全部所述数据块的长度信息判断所有数据块的长度信息是否与标准数据包的长度信息相符;其中:
若为否,则继续接收剩余所述子数据包;
若为是,则发送下一个传输请求,并将已提取的全部所述数据块依序合并成一个数据包;
在接收完全部数据包后,根据所述数据包中的数据包信息对本地单元进行升级。
2.如权利要求1所述的远程升级的方法,其特征在于,所述根据已提取的全部所述数据块的长度信息判断所有所述数据块的长度信息是否与标准数据包的长度信息相符具体包括:比较已提取的全部所述数据块的长度之和是否等于标准数据包的长度。
3.如权利要求2所述的远程升级的方法,其特征在于,所述数据块的长度信息位于所述子数据包的标志数据中。
4.如权利要求1所述的远程升级的方法,其特征在于,对本地单元进行升级前,所述升级方法还包括:滤除全部数据包中的所述数据包信息并生成升级文件,将所述升级文件存储至外部存储单元。
5.如权利要求4所述的远程升级的方法,其特征在于,所述方法还包括:对本地单元进行升级前,从所述外部存储单元读取所述升级文件。
6.一种远程升级的装置,其特征在于,所述装置包括:
请求单元,用于发送传输请求;
接收单元,用于接收子数据包,并提取所述子数据包中的数据块以及标志数据;
查找单元,用于查看所述数据块中是否包含文件结束标志;
处理单元,用于将已提取的全部所述数据块依序合并成一个数据包;
判断单元,用于当不包含所述文件结束标志时,根据已提取的全部所述数据块的长度信息判断所有数据块的长度信息是否与标准数据包的长度信息相符;其中:
若为否,则继续接收剩余所述子数据包;
若为是,则通知所述请求单元发送下一个传输请求,并由所述处理单元将已提取的全部所述数据块依序合并成一个数据包;
升级单元,用于在接收完全部数据包后,根据所述数据包中的数据包信息对本地单元进行升级。
7.如权利要求6所述的远程升级的装置,其特征在于,所述判断单元还包括:比较模块,用于比较已提取的全部所述数据块的长度之和是否等于标准数据包的长度。
8.如权利要求7所述的远程升级的装置,其特征在于,所述数据块的长度信息位于所述子数据包的标志数据中。
9.如权利要求8所述的远程升级的装置,其特征在于,所述处理单元还包括:过滤模块;
所述过滤模块,用于滤除全部数据包中的所述数据包信息并生成升级文件,将所述升级文件存储至外部存储单元。
10.如权利要求9所述的远程升级的装置,其特征在于,所述装置还包括:读取单元,用于对本地单元进行升级前,从所述外部存储单元读取所述升级文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310004083.7A CN103916440B (zh) | 2013-01-05 | 2013-01-05 | 一种远程升级的方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310004083.7A CN103916440B (zh) | 2013-01-05 | 2013-01-05 | 一种远程升级的方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103916440A true CN103916440A (zh) | 2014-07-09 |
CN103916440B CN103916440B (zh) | 2018-03-06 |
Family
ID=51041843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310004083.7A Active CN103916440B (zh) | 2013-01-05 | 2013-01-05 | 一种远程升级的方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103916440B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104602114A (zh) * | 2015-01-09 | 2015-05-06 | 乐视致新电子科技(天津)有限公司 | 传输及接收升级文件的方法、系统、智能电视和遥控器 |
CN106302604A (zh) * | 2015-06-05 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 数据传输方法及装置 |
CN106681766A (zh) * | 2016-12-26 | 2017-05-17 | 广东芬尼克兹节能设备有限公司 | 远程固件升级控制方法及系统 |
CN110019093A (zh) * | 2017-12-28 | 2019-07-16 | 中国移动通信集团安徽有限公司 | 数据写入方法、装置、设备及介质 |
CN110727448A (zh) * | 2019-09-29 | 2020-01-24 | 重庆国翰能源发展有限公司 | 用于充电桩的ota空中升级方法 |
CN111722859A (zh) * | 2020-06-10 | 2020-09-29 | 深圳市智莱科技股份有限公司 | 一种软件的远程升级方法 |
CN112650518A (zh) * | 2019-10-10 | 2021-04-13 | 国创新能源汽车能源与信息创新中心(江苏)有限公司 | Dsp程序在线升级方法 |
CN112954036A (zh) * | 2021-02-03 | 2021-06-11 | 博为科技有限公司 | 一种软件升级方法、终端设备及系统 |
CN113157300A (zh) * | 2021-05-19 | 2021-07-23 | 深圳Tcl新技术有限公司 | 一种数据处理方法、装置和存储介质 |
CN114124950A (zh) * | 2021-10-09 | 2022-03-01 | 上海联适导航技术股份有限公司 | 一种数据转发方法、装置、设备及计算机可读存储介质 |
CN114356382A (zh) * | 2021-12-31 | 2022-04-15 | 北京伏尔特技术有限公司 | 对胰岛素泵主控制器进行iap应用程序升级的方法 |
CN114465966A (zh) * | 2022-01-23 | 2022-05-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据包重组控制系统和数据包重组方法 |
CN117041186A (zh) * | 2023-10-07 | 2023-11-10 | 苏州仰思坪半导体有限公司 | 数据传输方法、芯片系统、计算设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577810A (zh) * | 2008-05-08 | 2009-11-11 | 英华达(南京)科技有限公司 | 移动电视播放系统及方法 |
CN101674234A (zh) * | 2009-08-21 | 2010-03-17 | 曙光信息产业(北京)有限公司 | Ip报文的分片重组方法和装置 |
WO2011155776A2 (ko) * | 2010-06-09 | 2011-12-15 | 삼성전자 주식회사 | 프래그먼트 기반의 멀티미디어 스트리밍 서비스 제공 방법과 그 장치, 그리고 프래그먼트 기반의 멀티미디어 스트리밍 서비스 수신 방법과 그 장치 |
CN102546784A (zh) * | 2011-12-29 | 2012-07-04 | 深圳市迈进科技有限公司 | 一种基于can总线进行批量升级设备固件的方法 |
-
2013
- 2013-01-05 CN CN201310004083.7A patent/CN103916440B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577810A (zh) * | 2008-05-08 | 2009-11-11 | 英华达(南京)科技有限公司 | 移动电视播放系统及方法 |
CN101674234A (zh) * | 2009-08-21 | 2010-03-17 | 曙光信息产业(北京)有限公司 | Ip报文的分片重组方法和装置 |
WO2011155776A2 (ko) * | 2010-06-09 | 2011-12-15 | 삼성전자 주식회사 | 프래그먼트 기반의 멀티미디어 스트리밍 서비스 제공 방법과 그 장치, 그리고 프래그먼트 기반의 멀티미디어 스트리밍 서비스 수신 방법과 그 장치 |
CN102546784A (zh) * | 2011-12-29 | 2012-07-04 | 深圳市迈进科技有限公司 | 一种基于can总线进行批量升级设备固件的方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104602114A (zh) * | 2015-01-09 | 2015-05-06 | 乐视致新电子科技(天津)有限公司 | 传输及接收升级文件的方法、系统、智能电视和遥控器 |
CN106302604A (zh) * | 2015-06-05 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 数据传输方法及装置 |
CN106302604B (zh) * | 2015-06-05 | 2020-09-11 | 腾讯科技(深圳)有限公司 | 数据传输方法及装置 |
CN106681766B (zh) * | 2016-12-26 | 2021-04-27 | 广东芬尼克兹节能设备有限公司 | 远程固件升级控制方法及系统 |
CN106681766A (zh) * | 2016-12-26 | 2017-05-17 | 广东芬尼克兹节能设备有限公司 | 远程固件升级控制方法及系统 |
CN110019093A (zh) * | 2017-12-28 | 2019-07-16 | 中国移动通信集团安徽有限公司 | 数据写入方法、装置、设备及介质 |
CN110727448A (zh) * | 2019-09-29 | 2020-01-24 | 重庆国翰能源发展有限公司 | 用于充电桩的ota空中升级方法 |
CN112650518A (zh) * | 2019-10-10 | 2021-04-13 | 国创新能源汽车能源与信息创新中心(江苏)有限公司 | Dsp程序在线升级方法 |
CN111722859A (zh) * | 2020-06-10 | 2020-09-29 | 深圳市智莱科技股份有限公司 | 一种软件的远程升级方法 |
CN112954036A (zh) * | 2021-02-03 | 2021-06-11 | 博为科技有限公司 | 一种软件升级方法、终端设备及系统 |
CN113157300A (zh) * | 2021-05-19 | 2021-07-23 | 深圳Tcl新技术有限公司 | 一种数据处理方法、装置和存储介质 |
CN114124950A (zh) * | 2021-10-09 | 2022-03-01 | 上海联适导航技术股份有限公司 | 一种数据转发方法、装置、设备及计算机可读存储介质 |
CN114356382A (zh) * | 2021-12-31 | 2022-04-15 | 北京伏尔特技术有限公司 | 对胰岛素泵主控制器进行iap应用程序升级的方法 |
CN114465966A (zh) * | 2022-01-23 | 2022-05-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据包重组控制系统和数据包重组方法 |
CN114465966B (zh) * | 2022-01-23 | 2024-05-28 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据包重组控制系统和数据包重组方法 |
CN117041186A (zh) * | 2023-10-07 | 2023-11-10 | 苏州仰思坪半导体有限公司 | 数据传输方法、芯片系统、计算设备及存储介质 |
CN117041186B (zh) * | 2023-10-07 | 2024-01-30 | 苏州仰思坪半导体有限公司 | 数据传输方法、芯片系统、计算设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103916440B (zh) | 2018-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103916440A (zh) | 一种远程升级的方法及其装置 | |
CN103942058B (zh) | 一种嵌入式电子设备软件升级方法及系统 | |
US10212563B2 (en) | Updating web resources | |
US8726265B2 (en) | Apparatus and method for packing a software package of version upgrade | |
CN103458397B (zh) | 广告处理方法及装置 | |
CN105763602A (zh) | 一种数据请求处理的方法、服务器及系统 | |
CN102065118A (zh) | 一种网络设备升级方法及装置 | |
CN109908585B (zh) | 一种文件处理方法及系统、计算设备及存储介质 | |
CN106293782A (zh) | 一种系统升级方法及终端 | |
JP5753946B2 (ja) | フォントファイルをダウンロードする方法およびシステム | |
WO2012089079A1 (zh) | 移动终端测试日志的处理方法和移动终端 | |
CN112286565B (zh) | 一种基于存储容器的嵌入式系统差分升级方法 | |
CN103795765A (zh) | 一种文件上传校验方法及系统 | |
CN104375866B (zh) | 一种单板的驱动更新方法及装置 | |
CN107526608A (zh) | 一种ota升级包升级方法及设备 | |
CN110337036A (zh) | 机顶盒的升级方法、装置及存储介质 | |
CN106990988A (zh) | 一种程序更新的方法及装置 | |
CN106506249A (zh) | 数据采集方法和装置 | |
CN113495765A (zh) | 业务数据的填充方法和装置、存储介质及电子装置 | |
CN105681078A (zh) | 网络参数升级装置及方法 | |
CN106506250B (zh) | 数据采集方法和装置 | |
CN110231954B (zh) | 用于安卓系统ota数据的精简传输、升级方法及其存储介质 | |
CN112187669B (zh) | 一种数据交互方法、装置、设备及可读存储介质 | |
CN112347046B (zh) | 一种获取分布式系统中文件的创建时间的方法 | |
CN115098144A (zh) | 设备升级方法、装置、存储介质及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 705, building 3, Zhonghao international business center, 672 Xintang Road, Jianggan District, Hangzhou City, Zhejiang Province, 310017 Patentee after: Zhongke wanglian Data Technology Co.,Ltd. Address before: 310013 Room 201, floor 2, building 12, No. 398, tianmushang Road, Xihu District, Hangzhou City, Zhejiang Province Patentee before: NIELSEN-CCDATA MEDIA RESEARCH Co.,Ltd. |