CN107656751A - 用户程序升级方法及装置 - Google Patents
用户程序升级方法及装置 Download PDFInfo
- Publication number
- CN107656751A CN107656751A CN201711026215.0A CN201711026215A CN107656751A CN 107656751 A CN107656751 A CN 107656751A CN 201711026215 A CN201711026215 A CN 201711026215A CN 107656751 A CN107656751 A CN 107656751A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- message
- equipment
- macbee
- gateway device
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种用户程序升级方法及装置。所述方法应用于与网关设备通信连接的Macbee设备,Macbee设备中存储有用户程序,所述方法包括:检测是否需要对所述用户程序的当前版本进行升级。当需要时,与网关设备建立连接,接收网关设备下发的升级开始报文,并进行升级准备处理。根据升级开始报文中包括的镜像信息按照预设周期向网关设备发送包括多个用于存储镜像数据的镜像分片地址的升级请求报文,并获得网关设备根据多个镜像分片地址下发的镜像数据报文,以进行版本升级。由此,能够在一个请求报文中携带多个镜像分片地址信息,可减少报文交互次数,提升通信效率,实现对Macbee设备用户程序的快速升级。
Description
技术领域
本发明涉及通信技术领域,具体而言,涉及一种用户程序升级方法及装置。
背景技术
随着互联网技术的蓬勃发展,物联网技术也成为通信行业发展的重点。物联网产品日新月异,物联网的终端设备(比如,Macbee设备)需要不断升级以满足用户不断提高的需求体验。
物联网终端设备的升级与网关设备的升级不同,网关设备具有充足的硬件资源,可直接接入网络(Internet)一次性获取完升级所需的全部镜像数据后,再写入Flash区以实现镜像更新。由于物联网中的终端设备数量众多,通信数据量小,需要利用的物联网协议进行通信,通过发送报文来获取镜像数据信息,由于报文可携带的信息量少,需要频繁进行通信交互,通信效率低。
发明内容
为了克服现有技术中的上述不足,本发明提供一种用户程序升级方法及装置,其能够在一个请求报文中携带多个镜像分片地址信息,可减少报文交互次数,提升通信效率,实现对Macbee设备用户程序的快速升级。
本发明较佳实施例的第一目的在于提供一种用户程序升级方法,所述方法应用于与网关设备通信连接的Macbee设备,所述Macbee设备中存储有用户程序,所述方法包括:
检测是否需要对所述用户程序的当前版本进行升级;
当需要时,与所述网关设备建立连接,接收所述网关设备下发的升级开始报文,并进行升级准备处理;
根据所述升级开始报文中包括的镜像信息按照预设周期向所述网关设备发送包括多个用于存储镜像数据的镜像分片地址的升级请求报文,并获得所述网关设备根据多个镜像分片地址下发的镜像数据报文,以进行版本升级。
本发明较佳实施例的第二目的在于提供一种用户程序升级装置,所述装置应用于与网关设备通信连接的Macbee设备,所述Macbee设备中存储有用户程序,所述装置包括:
升级检测模块,用于检测是否需要对所述用户程序的当前版本进行升级;
升级处理模块,当需要升级时,用于与所述网关设备建立连接,接收所述网关设备下发的升级开始报文,并进行升级准备处理;
升级处理模块,还用于根据所述升级开始报文中包括的镜像信息按照预设周期向所述网关设备发送包括多个用于存储镜像数据的镜像分片地址信息的升级请求报文,并获得所述网关设备根据多个镜像分片地址信息下发的镜像数据报文,以进行版本升级。
相对于现有技术而言,本发明具有以下有益效果:
本发明较佳实施例提供一种用户程序升级方法及装置。所述方法应用于与网关设备通信连接的Macbee设备,所述Macbee设备中存储有用户程序,所述方法包括:检测是否需要对所述用户程序的当前版本进行升级。当需要时,与所述网关设备建立连接,接收所述网关设备下发的升级开始报文,并进行升级准备处理。根据所述升级开始报文中包括的镜像信息按照预设周期向所述网关设备发送包括多个用于存储镜像数据的镜像分片地址的升级请求报文,并获得所述网关设备根据多个镜像分片地址下发的镜像数据报文,以进行版本升级。由此,能够在一个请求报文中携带多个镜像分片地址信息,可减少报文交互次数,提升通信效率,实现对Macbee设备用户程序的快速升级。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明较佳实施例提供的网络***的方框示意图。
图2是本发明较佳实施例提供的Macbee设备的方框示意图。
图3是本发明较佳实施例提供的Flash存储器的存储示意图。
图4是本发明较佳实施例提供的用户程序升级方法的步骤流程图之一。
图5为本发明较佳实施例提供的图4中步骤S120的子步骤的流程示意图。
图6为本发明较佳实施例提供的图4中步骤S130的子步骤的流程示意图。
图7是本发明较佳实施例提供的用户程序升级方法的步骤流程图之二。
图8是本发明较佳实施例提供的进行自重启省电操作的步骤流程图。
图9是本发明较佳实施例提供的用户程序升级方法的步骤流程图之三。
图10为本发明第二实施例提供的用户程序升级装置的功能模块图。
图标:10-网络***;100-Macbee设备;110-存储器;115-Flash存储器;120-处理器;130-网络模块;200-用户程序升级装置;210-升级检测模块;220-升级处理模块;230-异常处理模块;240-运行模块;300-网关设备;400-服务器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1是本发明较佳实施例提供的网络***10的方框示意图。所述网络***10包括:服务器400、多个网关设备300及多个Macbee设备100。
在本实施例中,所述服务器400与所述多个网关设备300通信连接,每个网关设备300与若干个Macbee设备100通信连接。其中,服务器400也可与Macbee设备100通信连接。
在本实施例中,所述服务器400与所述多个网关设备300可通过Internet进行通信。网关设备300与若干个Macbee设备100可利用物联网协议通过2.4GHz无线进行通信连接。所述物联网协议优选采用Macbee协议。Macbee协议作为一种新兴的物联网通信协议标准,其主要思想是依靠或者依赖已有的网络基础来实现复杂的通讯,解决几百米或几十米的无线连接,在云端实现互联互通。Macbee的应用方式与Zigbee相似,但在性能上具有比Zigbee更优的效果。
在本实施例中,所述Macbee设备100可以是任意类型的Macbee设备,比如:智能家居设备(比如,智能开关、智能风扇、智能照明设备等)、智能传感器等。
在本实施例中,所述服务器400中运行有用于检测所述Macbee设备100中的用户程序版本情况的设备镜像管理模块。
请参照图2,图2是本发明较佳实施例提供的Macbee设备100的方框示意图。所述Macbee设备100包括存储器110、处理器120、网络模块130及用户程序升级装置200。
在本实施例中,所述存储器110包括Flash存储器115。Flash存储器115属于内存器件的一种,是一种非易失性(Non-Volatile)内存。Flash存储器115克服了内存断电后无法保存数据的缺点。Flash存储器115的存储特性相当于硬盘,在没有电流供应的条件下,也能够长久地保存数据。
请参照图3,图3是本发明较佳实施例提供的Flash存储器115的存储示意图。所述Flash存储器115通常分成三个部分:BootLoader区(IMG01)、用户程序区(IMG02)及用户数据区(IMG03)。在设备生产时,BootLoader和用户程序是一起烧写到Macbee设备100的Flash存储器115中的,用户数据区用于保存一些非易失性数据。BootLoader在出厂后原则上不允许改变,由此,对Macbee设备100进行升级是指对Flash存储器115中的IMG02区存储的用户程序进行升级。
在本实施例中,BootLoader是在Macbee设备100上电后执行的第一段代码程序,BootLoader在启动时先完成CPU及相关硬件的初始化配置。
所述存储器110、处理器120及网络模块130相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线或信号线实现电性连接。所述用户程序升级装置200包括至少一个以软件或固件(firmware)的形式存储于所述存储器110和/或Flash存储器115中的软件功能模块,所述处理器120通过运行存储在存储器110和/或Flash存储器115中的软件程序以及模块,从而执行各种功能应用以及数据处理。
在本实施例中,存储器110用于存储程序及数据信息,所述处理器120在接收到执行指令后,执行所述程序。进一步地,上述存储器110内的软件程序以及模块还可包括操作***,其可包括各种用于管理***任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。
所述处理器120可以是一种集成电路芯片,具有信号的处理能力。上述的处理器120可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述网络模块130用于通过网络建立所述Macbee设备100与网关设备300及服务器400等外部设备之间的通信连接,实现网络信号及数据的收发传输操作。
可以理解,上述图2所述的结构仅为示意,Macbee设备100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
第一实施例
请参照图4,图4是本发明较佳实施例提供的用户程序升级方法的步骤流程图之一。所述用户程序升级方法应用于与网关设备300通信连接的Macbee设备100,所述Macbee设备100中存储有用户程序。
下面对用户程序升级方法的具体流程进行详细阐述。
步骤S110,检测是否需要对所述用户程序的当前版本进行升级。
在本实施例中,所述Macbee设备100检测是否需要对所述用户程序的当前版本进行升级的方式可以包括,但不限于:
检测Flash存储器115的用户数据区是否存在升级标识。或者:
检测是否接收到外部设备指示的升级指令。其中,所述外部设备包括所述网关设备300和/或用于对Macbee设备100进行控制的遥控设备。
在本实施例中,当所述Macbee设备100属于长期在线的Macbee设备时,可采用远程升级的方式,由所述网关设备300下发远程升级指令,以使Macbee设备100进入升级状态。
在本实施例中,当所述Macbee设备100属于长期不在线的Macbee设备,即所述Macbee设备100只有在数据上报时才主动连接到网关设备300,此时,可由遥控设备向所述Macbee设备100下发升级指令,以使Macbee设备100进入升级状态。
在本实施例中,所述Macbee设备100在每次通电或重启时会运行BootLoader,并执行步骤S110,以判断所述Macbee设备100是否需要进入升级状态。
步骤S120,当需要时,与所述网关设备300建立连接,接收所述网关设备300下发的升级开始报文,并进行升级准备处理。
请参照图5,图5为本发明较佳实施例提供的图4中步骤S120的子步骤的流程示意图。所述步骤S120可以包括子步骤S121、子步骤S122、子步骤S123及子步骤S124。
子步骤S121,检测当前所述Macbee设备100是否与所述网关设备300处于通信连接状态。
在本实施例中,所述Macbee设备100检测当前所述Macbee设备100与所述网关设备300的通信信道是否连通,通信地址是否正确。
若未连接,则执行子步骤S122。
若连接,则执行子步骤S123。
子步骤S122,向所述网关设备300发送连接请求,将连接尝试次数加1,并进行连接异常检测。
在本实施例中,所述Macbee设备100进行连接异常检测的操作可以包括,但不限于:检测所述连接尝试次数是否超过预设连接次数和/或检测连接是否超时。其中,所述预设连接次数及连接超时的时间可根据实际需求进行设定。
在本实施例中,若所述连接尝试次数超过预设连接次数和/或连接超时,则表明发生连接异常,此时,所述Macbee设备100跳转执行下述中的步骤S140。
子步骤S123,接收所述网关设备300下发的升级开始报文,并检测报文发送是否异常。
在本实施例中,所述Macbee设备100所述检测报文发送是否异常的操作可以包括,但不限于:检测接收到的升级开始报文是否错误和/或检测报文等待时间是否超时。
在本实施例中,若收到的报文错误和/或报文等待超时,则表明发生报文发送异常,此时,所述Macbee设备100跳转执行下述中的步骤S140。
子步骤S124,当报文发送正常时,对所述用户程序进行擦除处理。
在本实施例中,当报文发送正常时,所述Macbee设备100将Flash存储器115中用户程序区IMG02中存储的用户程序进行擦除,并将用户数据区IMG03中的升级标识修改为用户程序已擦除标识,以便于为升级处理做好准备。
步骤S130,根据所述升级开始报文中包括的镜像信息按照预设周期向所述网关设备300发送包括多个用于存储镜像数据的镜像分片地址的升级请求报文,并获得所述网关设备300根据多个镜像分片地址下发的镜像数据报文,以进行版本升级。
请参照图6,图6为本发明较佳实施例提供的图4中步骤S130的子步骤的流程示意图。所述步骤S130可以包括子步骤S131、子步骤S132、子步骤S133、子步骤S134、子步骤S135、子步骤S136及子步骤S137。
子步骤S131,根据所述升级开始报文中包括的镜像信息划分镜像分片地址,并根据划分的所述镜像分片地址生成多条升级请求报文。
在本实施例中,所述Macbee设备100根据所述升级开始报文中包括的镜像信息划分用于存储镜像数据的镜像分片地址,其中,所述镜像信息包括:镜像数据长度信息及镜像数据校验信息。所述镜像数据长度信息是指升级所需的镜像数据所占用的空间长度。所述镜像数据校验信息可以是,但不限于,镜像CRC(Cyclic Redundancy Check,循环冗余校验)。
在本实施例中,所述Macbee设备100根据划分的所述镜像分片地址生成多条升级请求报文,用于向网关设备300请求获取升级所需的镜像数据。
子步骤S132,将生成的所述多条升级请求报文按照预设周期逐条发送给所述网关设备300。
在本实施例中,所述Macbee设备100每间隔一预设周期向所述网关设备300发送升级请求报文。所述预设周期的时长可根据实际需求进行设定。
子步骤S133,按照预设等待周期检测是否收到所述网关设备300下发的镜像数据报文。
在本实施例中,所述镜像数据报文中携带有用于升级用户程序当前版本的镜像数据。
在本实施例中,所述预设等待周期可以与上述预设周期是同一周期,所述预设等待周期也可根据实际需求另行设定。
在本实施例中,每条所述升级请求报文最多可包括14个镜像分片地址。所述网关设备300收到所述升级请求报文后可在一个预设等待周期内将这14个镜像分片数据放入镜像数据报文中,同时发给所述Macbee设备100。由此,可减少报文交互,提高通信效率,缩短升级时长。
若未接收到,执行子步骤S134。
若接收到,执行子步骤S135。
子步骤S134,将超时次数加1,并检测所述超时次数是否超过预设限制次数。
在本实施例中,若未接收到镜像数据报文,所述Macbee设备100将超时次数加1,并检测所述超时次数是否超过预设限制次数。若未超过,在一个预设等待周期后,所述Macbee设备100对所述升级请求报文进行更新处理,再将更新的升级请求报文发送给网关设备300。以此循环,直到检测到所述超时次数超过预设限制次数,或者接收到所述镜像数据报文为止。
在本实施例中,所述预设限制次数可根据实际需求进行设定。当超过预设限制次数时,所述Macbee设备100跳转执行下述中的步骤S140。
子步骤S135,验证所述镜像数据报文的合法性,当合法时,将所述镜像数据报文写到对应的存储区域,并将所述超时次数清零。
在本实施例中,当接收到所述镜像数据报文后,所述Macbee设备100验证所述镜像数据报文的合法性。当合法时,所述Macbee设备100将所述镜像数据报文写到所述Flash存储器115的用户程序区的镜像分片地址中,并将所述超时次数清零。
子步骤S136,检测升级所需的镜像数据是否全部接收完毕。
在本实施例中,所述Macbee设备100在每次发送升级请求报文之前,会检测升级所需的镜像数据是否全部接收完毕。若未接收完毕会继续发送升级请求报文。
子步骤S137,当接收完毕时,进行数据校验处理。
在本实施例中,当升级所需的镜像数据全部接收完毕时,所述Macbee设备100会根据所述镜像数据校验信息(比如,镜像CRC)检验数据的正确性。
在本实施例中,当数据校验成功时,表明升级数据接收成功,若用户数据区存在升级标识,所述Macbee设备100会清除所述升级标识。
在本实施例中,当数据校验失败时,所述Macbee设备100跳转执行下述中的步骤S140。
请参照图7,图7是本发明较佳实施例提供的用户程序升级方法的步骤流程图之二。在所述与所述网关设备300建立连接、接收所述网关设备300下发的升级开始报文或向所述网关设备300发送包括多个用于存储镜像数据的镜像分片地址信息的升级请求报文的过程中,所述方法还包括:
步骤S140,当升级异常时,将升级失败次数加1,并进行异常处理。
在本实施例中,所述升级异常的情况包括上述的连接异常、报文发送异常、超过预设限制次数及数据校验失败中的任意一种或多种。
在本实施例中,当升级异常时,所述Macbee设备100将升级失败次数加1,并检测用户数据区IMG03中是否存在用户程序已擦除标识。若存在,表明原来的用户程序已经被擦除,并进行异常处理。若不存在,所述Macbee设备100清除用户数据区的升级标识,判定升级结束,并自动重启所述Macbee设备100。
在本实施例中,所述Macbee设备100进行异常处理的步骤包括:
所述Macbee设备100检测所述Macbee设备100是否是电池供电设备。
若不是电池供电设备,所述Macbee设备100判定升级结束,并自动重启所述Macbee设备100。
当是电池供电设备时,所述Macbee设备100进行自重启省电操作,以降低所述Macbee设备100的能耗。
请参照图8,图8是本发明较佳实施例提供的进行自重启省电操作的步骤流程图。所述进行自重启省电操作的步骤可以包括:子步骤S141、子步骤S142、子步骤S143、子步骤S144及子步骤S145。
子步骤S141,检测所述升级失败次数是否小于第一预设失败次数。
在本实施例中,所述Macbee设备100可检测所述升级失败次数是否小于第一预设失败次数。其中,所述第一预设失败次数可根据实际需求进行设定,比如:可设定为10次。
若小于,执行子步骤S142,进行低功耗休眠处理,以使所述Macbee设备100进入休眠状态,并在第一预设休息时间结束后唤醒所述Macbee设备100。
在本实施例中,当小于第一预设失败次数(10次)时,所述Macbee设备100可降低***时钟,关闭用于进行通信的无线收发模块,使所述Macbee设备100进入低功耗的休眠状态,休息第一预设休息时间。当检测到第一预设休息时间结束后,所述Macbee设备100唤醒所述Macbee设备100重新进行升级处理。
在本实施例中,所述第一预设休息时间可根据实际需求进行设定,比如:可设定为1分钟。
若不小于,执行子步骤S143,检测所述升级失败次数是否不超过第二预设失败次数。
在本实施例中,所述第二预设失败次数大于所述第一预设失败次数,所述第二预设失败次数可根据实际需求进行设定,比如:可设定为20次。
当不超过第二预设失败次数时,执行子步骤S144,进行低功耗休眠处理,以使所述Macbee设备100进入休眠状态,并在第二预设休息时间结束后唤醒所述Macbee设备100。
在本实施例中,当所述升级失败次数大于第一预设失败次数(10次),且不超过第二预设失败次数(20次)时,所述Macbee设备100可降低***时钟,关闭用于进行通信的无线收发模块,使所述Macbee设备100进入低功耗的休眠状态,休息第二预设休息时间。当检测到第二预设休息时间结束后,所述Macbee设备100唤醒所述Macbee设备100重新进行升级处理。
在本实施例中,所述第二预设休息时间可根据实际需求进行设定,比如:可设定为1小时。
当所述升级失败次数超过第二预设失败次数时,执行子步骤S145,判定升级结束,并自动重启所述Macbee设备100。
在本实施例中,当发生升级异常时,进行自重启省电操作,可避免所述Macbee设备100连续处于高功耗工作状态,减缓电池电量的下降速度,延缓电池的使用寿命。
请参照图9,图9是本发明较佳实施例提供的用户程序升级方法的步骤流程图之三。所述方法还包括:步骤S150、步骤S160、步骤S170及步骤S175。
所述Macbee设备100在执行上述步骤S110时,若检测到不需要升级时,执行步骤S150,运行预先存储的用户程序。
在本实施例中,当不需要升级时,所述Macbee设备100终止运行BootLoader,并跳转到用户程序区IMG02运行预先存储的用户程序。
步骤S160,在运行过程中实时检测是否接收到所述网关设备300下发的升级开始报文。
在本实施例中,当运行于服务器400中的设备镜像管理模块发现所述Macbee设备100中的用户程序版本比所述服务器400中存储的版本旧时,所述服务器400的设备镜像管理模块会将新版本的镜像数据发送到对应的网关设备300。该网关设备300接收到新版本的镜像数据后会检测对应Macbee设备100的版本号及连接状态,并生成升级开始报文。该网关设备300将生成的所述升级开始报文周期性地发送给对应的Macbee设备100,直到所述Macbee设备100开始升级,或者所述Macbee设备100离线才会终止发送。
在本实施例中,所述升级开始报文中携带的信息可以包括,但不限于:Macbee设备100的类型、版本号,镜像数据长度信息,镜像数据校验信息等。
步骤S170,当接收到报文时,根据所述升级开始报文的内容判断是否需要进行版本升级。
在本实施例中,当接收到升级开始报文时,所述Macbee设备100可根据所述升级开始报文的内容及自身的情况判断是否需要进行版本升级。
若需要升级,执行步骤S175,在用户数据区写入升级标识,并重启所述Macbee设备100。
若不需要升级,则继续执行上述步骤S150。
第二实施例
请参照图10,图10为本发明第二实施例提供的用户程序升级装置200的功能模块图。所述装置应用于与网关设备300通信连接的Macbee设备100,所述Macbee设备100中存储有用户程序,所述装置包括:升级检测模块210及升级处理模块220。
升级检测模块210,用于检测是否需要对所述用户程序的当前版本进行升级。
升级处理模块220,当需要升级时,用于与所述网关设备300建立连接,接收所述网关设备300下发的升级开始报文,并进行升级准备处理。
所述升级处理模块220,还用于根据所述升级开始报文中包括的镜像信息按照预设周期向所述网关设备300发送包括多个用于存储镜像数据的镜像分片地址信息的升级请求报文,并获得所述网关设备300根据多个镜像分片地址信息下发的镜像数据报文,以进行版本升级。
请再次参照图10,所述装置还包括:
异常处理模块230,当升级异常时,用于将升级失败次数加1,并进行异常处理,其中,所述升级异常的情况包括:连接异常、报文发送异常、超过预设限制次数及数据校验失败中的任意一种或多种。
运行模块240,当检测到不需要升级时,用于运行预先存储的用户程序。
所述升级检测模块210,还用于在运行过程中实时检测是否接收到所述网关设备300下发的升级开始报文。
所述升级处理模块220,当接收到报文时,还用于根据所述升级开始报文的内容判断是否需要进行版本升级。
所述升级处理模块220,当需要升级时,还用于在用户数据区写入升级标识,并重启所述Macbee设备100。
综上所述,本发明较佳实施例提供一种用户程序升级方法及装置。所述方法应用于与网关设备通信连接的Macbee设备,所述Macbee设备中存储有用户程序,所述方法包括:检测是否需要对所述用户程序的当前版本进行升级。当需要时,与所述网关设备建立连接,接收所述网关设备下发的升级开始报文,并进行升级准备处理。根据所述升级开始报文中包括的镜像信息按照预设周期向所述网关设备发送包括多个用于存储镜像数据的镜像分片地址的升级请求报文,并获得所述网关设备根据多个镜像分片地址下发的镜像数据报文,以进行版本升级。
由此,能够在一个请求报文中携带多个镜像分片地址信息,可减少报文交互次数,提升通信效率,实现对Macbee设备用户程序的快速升级。
并且,当发生升级异常时,对于电池供电的Macbee设备可进行自重启省电操作,以避免所述Macbee设备连续处于高功耗工作状态,减缓电池电量的下降速度,延缓电池的使用寿命。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种用户程序升级方法,其特征在于,所述方法应用于与网关设备通信连接的Macbee设备,所述Macbee设备中存储有用户程序,所述方法包括:
检测是否需要对所述用户程序的当前版本进行升级;
当需要时,与所述网关设备建立连接,接收所述网关设备下发的升级开始报文,并进行升级准备处理;
根据所述升级开始报文中包括的镜像信息按照预设周期向所述网关设备发送包括多个用于存储镜像数据的镜像分片地址的升级请求报文,并获得所述网关设备根据多个镜像分片地址下发的镜像数据报文,以进行版本升级。
2.根据权利要求1所述的方法,其特征在于,所述与所述网关设备建立连接,接收所述网关设备下发的升级开始报文,并进行升级准备处理的步骤包括:
检测当前所述Macbee设备是否与所述网关设备处于通信连接状态;
若未连接,向所述网关设备发送连接请求,将连接尝试次数加1,并进行连接异常检测,其中,所述进行连接异常检测的操作包括:检测所述连接尝试次数是否超过预设连接次数和/或检测连接是否超时;
若连接,接收所述网关设备下发的升级开始报文,并检测报文发送是否异常,其中,所述检测报文发送是否异常的操作包括:检测接收到的报文是否错误和/或检测报文等待时间是否超时;
当报文发送正常时,对所述用户程序进行擦除处理。
3.根据权利要求2所述的方法,其特征在于,所述根据所述升级开始报文中包括的镜像信息按照预设周期向所述网关设备发送包括多个用于存储镜像数据的镜像分片地址的升级请求报文,并获得所述网关设备根据多个镜像分片地址下发的镜像数据报文的步骤包括:
根据所述升级开始报文中包括的镜像信息划分镜像分片地址,并根据划分的所述镜像分片地址生成多条升级请求报文,其中,所述镜像信息包括:镜像数据长度信息及镜像数据校验信息;
将生成的所述多条升级请求报文按照预设周期逐条发送给所述网关设备;
按照预设等待周期检测是否收到所述网关设备下发的镜像数据报文,其中,所述镜像数据报文中携带有用于升级用户程序当前版本的镜像数据;
若未接收到,将超时次数加1,并检测所述超时次数是否超过预设限制次数;
若接收到,验证所述镜像数据报文的合法性,当合法时,将所述镜像数据报文写到对应的存储区域,并将所述超时次数清零;
检测升级所需的镜像数据是否全部接收完毕;
当接收完毕时,进行数据校验处理。
4.根据权利要求3所述的方法,其特征在于,在所述与所述网关设备建立连接、接收所述网关设备下发的升级开始报文或向所述网关设备发送包括多个用于存储镜像数据的镜像分片地址信息的升级请求报文的过程中,所述方法还包括:
当升级异常时,将升级失败次数加1,并进行异常处理,其中,所述升级异常的情况包括:连接异常、报文发送异常、超过预设限制次数及数据校验失败中的任意一种或多种;
所述进行异常处理的步骤包括:
检测所述Macbee设备是否是电池供电设备;
当是电池供电设备时,进行自重启省电操作,以降低所述Macbee设备的能耗。
5.根据权利要求4所述的方法,其特征在于,所述进行自重启省电操作的步骤包括:
检测所述升级失败次数是否小于第一预设失败次数;
若小于,进行低功耗休眠处理,以使所述Macbee设备进入休眠状态,并在第一预设休息时间结束后唤醒所述Macbee设备;
若不小于,检测所述升级失败次数是否不超过第二预设失败次数,其中,所述第二预设失败次数大于所述第一预设失败次数;
当不超过时,进行低功耗休眠处理,以使所述Macbee设备进入休眠状态,并在第二预设休息时间结束后唤醒所述Macbee设备。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当检测到不需要升级时,运行预先存储的用户程序;
在运行过程中实时检测是否接收到所述网关设备下发的升级开始报文;
当接收到报文时,根据所述升级开始报文的内容判断是否需要进行版本升级;
若需要,在用户数据区写入升级标识,并重启所述Macbee设备。
7.根据权利要求1或6所述的方法,其特征在于,所述检测是否需要对所述用户程序的当前版本进行升级的方式包括:
检测用户数据区是否存在升级标识,或者:
检测是否接收到外部设备指示的升级指令,其中,所述外部设备包括所述网关设备和/或用于对Macbee设备进行控制的遥控设备。
8.一种用户程序升级装置,其特征在于,所述装置应用于与网关设备通信连接的Macbee设备,所述Macbee设备中存储有用户程序,所述装置包括:
升级检测模块,用于检测是否需要对所述用户程序的当前版本进行升级;
升级处理模块,当需要升级时,用于与所述网关设备建立连接,接收所述网关设备下发的升级开始报文,并进行升级准备处理;
升级处理模块,还用于根据所述升级开始报文中包括的镜像信息按照预设周期向所述网关设备发送包括多个用于存储镜像数据的镜像分片地址信息的升级请求报文,并获得所述网关设备根据多个镜像分片地址信息下发的镜像数据报文,以进行版本升级。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
异常处理模块,当升级异常时,用于将升级失败次数加1,并进行异常处理,其中,所述升级异常的情况包括:连接异常、报文发送异常、超过预设限制次数及数据校验失败中的任意一种或多种;
所述异常处理模块进行异常处理的方式包括:
检测所述Macbee设备是否是电池供电设备;
当是电池供电设备时,进行自重启省电操作,以降低所述Macbee设备的能耗。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
运行模块,当检测到不需要升级时,用于运行预先存储的用户程序;
所述升级检测模块,还用于在运行过程中实时检测是否接收到所述网关设备下发的升级开始报文;
所述升级处理模块,当接收到报文时,还用于根据所述升级开始报文的内容判断是否需要进行版本升级;
所述升级处理模块,当需要升级时,还用于在用户数据区写入升级标识,并重启所述Macbee设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711026215.0A CN107656751A (zh) | 2017-10-27 | 2017-10-27 | 用户程序升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711026215.0A CN107656751A (zh) | 2017-10-27 | 2017-10-27 | 用户程序升级方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107656751A true CN107656751A (zh) | 2018-02-02 |
Family
ID=61096286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711026215.0A Pending CN107656751A (zh) | 2017-10-27 | 2017-10-27 | 用户程序升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107656751A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880817A (zh) * | 2020-07-27 | 2020-11-03 | 北京环境特性研究所 | 一种用于光电监控***的远程烧写方法 |
CN112241283A (zh) * | 2020-10-30 | 2021-01-19 | 深圳市广和通无线股份有限公司 | 软件升级方法、装置、计算机设备和存储介质 |
CN112596765A (zh) * | 2020-12-22 | 2021-04-02 | 华立科技股份有限公司 | 一种电力设备升级方法、***及相关装置 |
CN112685068A (zh) * | 2021-01-11 | 2021-04-20 | 浪潮软件科技有限公司 | 远程升级boot镜像文件的方法及计算机可读介质 |
CN114155969A (zh) * | 2021-11-16 | 2022-03-08 | 医渡云(北京)技术有限公司 | 医疗数据获取方法及装置、电子设备、存储介质 |
CN117201551A (zh) * | 2023-11-06 | 2023-12-08 | 中交一公局集团有限公司 | 一种基于物联网的建筑信息处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546818A (zh) * | 2012-02-13 | 2012-07-04 | 成都欣点科技有限公司 | 一种对嵌入式设备批量升级的方法及*** |
KR20130015243A (ko) * | 2011-08-02 | 2013-02-13 | 엘지전자 주식회사 | 지그비 장치 및 펌웨어 업그레이드 방법 |
CN105119749A (zh) * | 2015-09-07 | 2015-12-02 | 烽火通信科技股份有限公司 | 一种家庭网关本地批量升级的方法和*** |
CN105307249A (zh) * | 2015-11-09 | 2016-02-03 | 深圳市银河风云网络***股份有限公司 | 低功耗无线传输***及其传输方法 |
CN105824644A (zh) * | 2016-03-25 | 2016-08-03 | 重庆邮电大学 | 一种适用于无线传感器网络的增量式代码分发协议 |
-
2017
- 2017-10-27 CN CN201711026215.0A patent/CN107656751A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130015243A (ko) * | 2011-08-02 | 2013-02-13 | 엘지전자 주식회사 | 지그비 장치 및 펌웨어 업그레이드 방법 |
CN102546818A (zh) * | 2012-02-13 | 2012-07-04 | 成都欣点科技有限公司 | 一种对嵌入式设备批量升级的方法及*** |
CN105119749A (zh) * | 2015-09-07 | 2015-12-02 | 烽火通信科技股份有限公司 | 一种家庭网关本地批量升级的方法和*** |
CN105307249A (zh) * | 2015-11-09 | 2016-02-03 | 深圳市银河风云网络***股份有限公司 | 低功耗无线传输***及其传输方法 |
CN105824644A (zh) * | 2016-03-25 | 2016-08-03 | 重庆邮电大学 | 一种适用于无线传感器网络的增量式代码分发协议 |
Non-Patent Citations (1)
Title |
---|
MONKY杜: "ZigBee OTA镜像页升级", 《HTTPS://BLOG.CSDN.NET/D4L6C8/ARTICLE/DETAILS/44182795》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880817A (zh) * | 2020-07-27 | 2020-11-03 | 北京环境特性研究所 | 一种用于光电监控***的远程烧写方法 |
CN111880817B (zh) * | 2020-07-27 | 2023-04-07 | 北京环境特性研究所 | 一种用于光电监控***的远程烧写方法 |
CN112241283A (zh) * | 2020-10-30 | 2021-01-19 | 深圳市广和通无线股份有限公司 | 软件升级方法、装置、计算机设备和存储介质 |
CN112596765A (zh) * | 2020-12-22 | 2021-04-02 | 华立科技股份有限公司 | 一种电力设备升级方法、***及相关装置 |
CN112685068A (zh) * | 2021-01-11 | 2021-04-20 | 浪潮软件科技有限公司 | 远程升级boot镜像文件的方法及计算机可读介质 |
CN112685068B (zh) * | 2021-01-11 | 2023-07-14 | 浪潮软件科技有限公司 | 远程升级boot镜像文件的方法及计算机可读介质 |
CN114155969A (zh) * | 2021-11-16 | 2022-03-08 | 医渡云(北京)技术有限公司 | 医疗数据获取方法及装置、电子设备、存储介质 |
CN117201551A (zh) * | 2023-11-06 | 2023-12-08 | 中交一公局集团有限公司 | 一种基于物联网的建筑信息处理方法 |
CN117201551B (zh) * | 2023-11-06 | 2024-01-30 | 中交一公局集团有限公司 | 一种基于物联网的建筑信息处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107656751A (zh) | 用户程序升级方法及装置 | |
CN106637805B (zh) | 一种物联网洗衣机控制方法、控制***及洗衣机 | |
CN105224362A (zh) | 上位机对下位机进行程序升级的方法及*** | |
CN105354070A (zh) | 一种通过i2c升级设备固件的方法 | |
CN101867468B (zh) | 以太网供电交换机的热重启处理方法及以太网供电交换机 | |
CN104021014B (zh) | 一种基于双cpu***的固件升级方法 | |
CN106411619A (zh) | 一种基于低功耗广域网的无线设备升级方法 | |
CN103823769A (zh) | 计算机***及数据回复方法 | |
CN101964821A (zh) | 远程终端运行环境的加载方法及*** | |
CN106874054A (zh) | 一种直放站内模块程序在线升级方法与*** | |
CN110012527B (zh) | 唤醒方法及电子设备 | |
CN105045599A (zh) | 一种电视电脑一体机及其实现远程开关机控制的方法 | |
US20190227790A1 (en) | Relay device and hot water supply device | |
CN103763725A (zh) | 移动终端集中控制测试管理方法及装置 | |
CN108469961A (zh) | 一种基于微型化嵌入式平台远程升级***及方法 | |
CN112822654A (zh) | 一种基于ftp远程固件升级功能的遥测终端机及其控制方法 | |
KR20000006786A (ko) | 통신망을 통한 원격 사후관리 방법 및 이를 이용한전자제품의 사후관리시스템 | |
CN101751265B (zh) | 服务器的基本输入/输出***的更新***及其方法 | |
CN107707405A (zh) | 通过遥控器实现智能马桶固件远程更新的方法及其遥控器 | |
CN110853323A (zh) | 遥控设备的升级方法和装置 | |
EP2637075A1 (en) | Management methods and related computer systems and machine-readable storage mediums using the same | |
CN108614715A (zh) | 一种可自主升级的物联网燃气表及升级方法 | |
WO2021018208A1 (zh) | 固件升级方法及装置、电子设备、存储介质 | |
CN105278992A (zh) | 固件更新方法及装置 | |
WO2016045363A1 (zh) | Cpu通过hsic总线接口控制wifi模块的方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180202 |
|
RJ01 | Rejection of invention patent application after publication |