CN105786549B - 智能设备及其升级方法 - Google Patents

智能设备及其升级方法 Download PDF

Info

Publication number
CN105786549B
CN105786549B CN201410830773.2A CN201410830773A CN105786549B CN 105786549 B CN105786549 B CN 105786549B CN 201410830773 A CN201410830773 A CN 201410830773A CN 105786549 B CN105786549 B CN 105786549B
Authority
CN
China
Prior art keywords
upgrade
upgrading
module
smart machine
packet
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
Application number
CN201410830773.2A
Other languages
English (en)
Other versions
CN105786549A (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.)
Leshi Zhixin Electronic Technology Tianjin Co Ltd
Original Assignee
Leshi Zhixin Electronic Technology Tianjin 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 Leshi Zhixin Electronic Technology Tianjin Co Ltd filed Critical Leshi Zhixin Electronic Technology Tianjin Co Ltd
Priority to CN201410830773.2A priority Critical patent/CN105786549B/zh
Publication of CN105786549A publication Critical patent/CN105786549A/zh
Application granted granted Critical
Publication of CN105786549B publication Critical patent/CN105786549B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供了一种智能设备及其升级方法,所述智能设备包括同时运行的第一系统和第二系统,所述方法包括:第一系统从服务器下载系统升级包,存储到第一升级缓冲区;所述第一系统设置第一升级引导区,并通过设置智能设备的预设端口使第二系统进入准备升级状态;所述第一系统重启时从系统升级包中解压获得升级文件发送给所述第二系统,触发所述第二系统的升级操作,同时执行所述第一系统的升级操作;第一系统和第二系统的升级结束后,触发二个系统重新启动后完成升级操作。本实施例通过上述手段,可以对包括有二个系统的智能设备同时执行升级操作,简化了多系统智能设备的升级维护流程。

Description

智能设备及其升级方法
技术领域
本发明涉及智能设备的系统升级技术领域,特别地,涉及一种智能设备及其升级方法。
背景技术
随着智能电视、智能手机、智能路由器等智能设备的使用需求越来越高,设备厂商需要不断对智能设备进行升级;所谓升级,主要包括对智能设备的应用、功能等做进一步地改进、调整、增加等。
以安卓系统的智能设备为例,现有的OTA升级技术是通过在线下载升级包,设置系统MISC分区,然后重启系统进入Recovery进行升级。这种升级方式都是针对单系统升级操作,对于拥有两个不同系统的同一个设备,如同时拥有安卓系统和Linux系统的智能路由器,双系统同时升级的需求在现有技术中还未实现,用户只能分别对二个系统进行升级操作,不能方便的对设置有双系统的智能设备进行升级维护。
发明内容
本发明提供一种智能设备及其升级方法,用于解决现有技术不能方便的对拥有双系统智能设备进行升级维护的问题。
为了解决上述问题,本发明公开了一种智能设备的升级方法,执行所述方法的系统包括通过网络连接的智能设备和服务器,所述智能设备包括同时运行的第一系统和第二系统,所述方法包括:智能设备的第一系统从服务器下载系统升级包,存储到第一升级缓冲区;所述系统升级包中包括第一系统和第二系统升级数据信息;所述第一系统设置第一升级引导区,将升级文件指针指向所述第一升级缓冲区;以及,通过设置所述智能设备的预设端口使第二系统进入准备升级状态;所述第一系统重启时从第一升级缓冲区的系统升级包中解压获得第二系统的升级文件发送给所述第二系统,触发所述第二系统的升级操作,以及,执行所述第一系统的升级操作;所述第一系统升级结束并收到第二系统的升级结束消息后,向第二系统发送重启消息,触发所述第一系统和第二系统重新启动后完成升级操作。
可选的,所述系统升级包的生成方法具体包括:在编译所述第一系统源程序代码的同时,编译所述第二系统的源程序代码;将所述第二系统编译后的代码复制到所述第一系统源程序代码的预设子文件夹中,打包生成含有第一系统和第二系统升级数据信息的系统升级包。
可选的,在所述第一系统设置第一升级引导区步骤之前,还包括:校验所述系统升级包的完整性和合法性。
可选的,所述智能设备的预设端口包括与所述第一系统对应的第一通用输入输出端口和所述第二系统对应的第二通用输入输出端口;所述设置所述智能设备的预设端口使第二系统进入准备升级状态,具体包括:所述第一系统将第一通用输入输出端口设置为高电平;当所述第二系统检测到第一通用输入输出端口为高电平状态时,第二系统进入boot操作,并将第二通用输入输出端口设置为高电平,同时打开简单文件传输协议服务准备从所述第一系统接收升级文件。
可选的,所述系统升级包还包括组成系统软件的每个模块的版本标记信息;所述第一系统重启时从第一升级缓冲区的系统升级包中解压获得第二系统的升级文件发送给所述第二系统,触发所述第二系统的升级操作,以及,执行所述第一系统的升级操作,具体包括:第一系统解压第一升级缓冲区中的系统升级包,获取的第二系统的升级文件发送至第二系统;以及,获取第一系统每个模块的版本标记信息,与当前第一系统的各模块的版本标记信息比较,根据比较结果按预设的规则生成升级标记描述信息,写入第一升级引导区;重启第一系统时根据所述第一升级引导区中的升级标记描述信息,选择需要升级的模块执行升级操作;当第二系统收到所述第一系统发送的第二系统的升级文件时,获取第二系统每个模块的版本标记信息,与当前第二系统的各模块的版本标记信息比较,根据比较结果按预设的规则生成升级标记描述信息,写入第二升级引导区;根据所述第二升级引导区中的升级标记描述信息,选择需要升级的模块执行升级操作。
可选的,所述每个模块的版本标记信息采用如下方式生成:将每一次源代码提交时的标识符拼接成一个字符串,然后做MD5运算生成的值,作为该相应模块的版本标记信息;和/或,所述生成升级标记描述信息包括升级命令及其升级参数;所述按预设的规则生成升级标记描述信息,具体包括:在升级参数中定义每个模块是否升级的标记。
可选的,所述智能设备的第一系统从服务器下载系统升级包,具体包括:所述智能设备向服务器发送系统升级请求消息,所述系统升级请求消息包括当前第一系统和第二系统的版本描述信息;所述智能设备接收服务器返回的检测结果,所述检测结果为服务器是否存在版本高于智能设备当前第一系统或第二系统版本的系统升级包;若服务器存在有版本高于智能设备当前第一系统或第二系统版本的系统升级包,则从服务器下载该高版本的系统升级包;否则,结束流程。
依据本发明的另一优选实施例,还公开了一种智能设备,所述智能设备设置有同时运行的第一系统和第二系统,所述智能设备包括:升级包下载模块,用于通过第一系统从服务器下载系统升级包,存储到所述第一升级缓冲区;所述系统升级包中包括第一系统和第二系统升级数据信息;升级设置模块,用于设置第一升级引导区,将升级文件指针指向所述第一升级缓冲区;以及,通过设置智能设备的预设端口使第二系统进入准备升级状态;升级触发模块,用于在重启第一系统时,从第一升级缓冲区的系统升级包中解压获得第二系统的升级文件发送给所述第二系统,触发所述第二系统的升级操作,以及,执行所述第一系统的升级操作;升级确认模块,用于在所述第一系统升级结束并收到第二系统的升级结束消息后,向第二系统发送重启消息,触发所述第一系统和第二系统重新启动后完成升级操作。
可选的,所述智能设备为智能路由器,所述第一系统为执行监控功能的安卓系统,所述第二系统为执行路由功能的Linux系统;所述智能设备的预设端口包括与所述第一系统对应的第一通用输入输出端口和所述第二系统对应的第二通用输入输出端口;所述升级设置模块具体包括:第一升级设置子模块:用于设置第一升级引导区,将升级文件指针指向所述第一升级缓冲区;第二升级设置子模块,用于通过所述第一系统将第一通用输入输出端口设置为高电平;以及通过第二系统检测到第一通用输入输出端口为高电平状态时,控制第二系统进入boot操作,将第二通用输入输出端口设置为高电平,并打开简单文件传输协议服务准备从第一系统接收升级文件。
可选的,所述系统升级包还包括组成系统软件的每个模块的版本标记信息;所述升级触发模块具体包括:第一升级触发模块,用于解压所述第一升级缓冲区中的系统升级包,获取并发送第二系统的升级文件,以及,获取第一系统每个模块的版本标记信息,与当前第一系统的各模块的版本标记信息比较,根据比较结果按预设的规则生成升级标记描述信息,写入第一升级引导区;重启第一系统时根据所述第一升级引导区中的升级标记描述信息,选择需要升级的模块执行升级操作;第二升级触发模块,用于当第二系统收到所述第二系统的升级文件时,获取每个模块的版本标记信息,与当前第二系统的各模块的版本标记信息比较,根据比较结果按预设的规则生成升级标记描述信息,写入第二升级引导区;以及,根据所述第二升级引导区中的升级标记描述信息,选择需要升级的模块执行升级操作。
本发明优选实施例针对配置有二套以上系统的智能设备,在系统升级包时同时生成第一系统和第二系统升级数据信息,并且在下载系统升级包之后分别设置二套系统的升级引导区,在第一系统执行升级的同时向第二系统发送相应的升级文件保证第二系统能够自动执行升级操作,可简化多系统智能设备的升级维护流程,有效解决了现有技术不能方便的对拥有双系统智能设备进行升级维护的问题。
附图说明
图1为本发明智能设备的升级方法第一实施例的流程图;
图2为本发明智能设备的升级方法第二实施例的流程图;
图3为本发明智能设备一实施例的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
参照图1,示出了本发明智能设备的升级方法第一实施例的流程,在本优选实施例的执行主体为智能路由器、智能手机或智能电视等智能设备,其中,智能设备中设置有同时运行的第一系统和第二系统。本优选方法实施例包括以下步骤:
步骤S101:智能设备的第一系统从服务器下载系统升级包,存储到第一升级缓冲区;
本实施例中的系统升级包中包括第一系统和第二系统升级数据信息;具体的,该系统升级包可采用如下方式的生成:在编译所述第一系统源程序代码的同时,编译所述第二系统的源程序代码;将所述第二系统编译后的代码复制到所述第一系统源程序代码的预设子文件夹中,打包生成含有第一系统和第二系统升级数据信息的系统升级包。
步骤S103:第一系统设置第一升级引导区,将升级文件指针指向所述第一升级缓冲区;以及,通过设置智能设备的预设端口使第二系统进入准备升级状态;
本实施例中,可以采用如下方式使第二系统进入准备升级状态:第一系统通过设置智能设备的某些通用输入输出端口(GPIO,General-Purpose Input/Output Ports),控制第二系统的相应操作进入boot,以及,打开简单文件传输协议(TFTP,Trivial FileTransfer Protocol)服务准备接收升级文件,从而使第二系统进入升级准备状态。
以智能路由器为例,假设第一系统为执行监控功能的andriod系统(相应的GPIO端口为GPIO19),第二系统为执行路由功能的Linux系统(相应的GPIO端口为GPIO20),那么步骤S103具体可以包括:
步骤S1031:Android系统将GPIO19设置为高电平;
步骤S1032:Linux系统检测GPIO19端口,如果为高电平,则将Linux系统进入boot准备升级状态,并将GPIO20端口设置为高电平;同时打开TFTP服务准备接收升级文件;
在后续的步骤S105中,当Android系统(即第一系统)检测到GPIO20端口为高电平时,将相应的升级文件发送至Linux系统,并进行自身的升级。
步骤S105:第一系统重启系统时从第一升级缓冲区的系统升级包中解压获得第二系统的升级文件发送给所述第二系统,触发所述第二系统的升级操作,以及,执行所述第一系统的升级操作;
步骤S107:第一系统升级结束并收到第二系统的升级结束消息后,向第二系统发送重启消息,触发所述第一系统和第二系统重新启动后完成升级操作。
本实施例通过上述手段,可以为智能设备包括的2个系统同时执行升级操作,简化了多系统智能设备的升级维护流程,有效解决了现有技术不能方便的对拥有双系统智能设备进行升级维护的问题。
在上述方法实施例的一进一步的优选实施例中,智能设备中设置有同时运行的第一系统和第二系统,系统升级包中还包括组成第一系统和第二系统的每个模块的版本标记信息,上述步骤S105具体包括:
步骤S1051:第一系统解压第一升级缓冲区中的系统升级包,获取的第二系统的升级文件发送至第二系统;以及,获取第一系统每个模块的版本标记信息,与当前第一系统的各模块的版本标记信息比较,根据比较结果按预设的规则生成升级标记描述信息,写入第一升级引导区;重启第一系统时根据所述第一升级引导区中的升级标记描述信息,选择需要升级的模块执行升级操作;
步骤S1052:当第二系统收到所述第一系统发送的第二系统的升级文件时,获取第二系统每个模块的版本标记信息,与当前第二系统的各模块的版本标记信息比较,根据比较结果按预设的规则生成升级标记描述信息,写入第二升级引导区;根据所述第二升级引导区中的升级标记描述信息,选择需要升级的模块执行升级操作。
其中,上述的生成升级标记描述信息包括升级命令及其升级参数;所述按预设的规则生成升级标记描述信息,具体包括:在升级参数中定义每个模块是否升级的标记。
以智能路由器为例,假如智能路由器的系统模块包括路由(Router)模块、远程访问接入服务器(NAS,Network Access Server)模块和操作系统内核(kernel)模块,其中的Kernel模块和NAS模块配置在安卓系统(即第一系统),Router模块配置的Linux系统(即第二系统),那么,在本实施例中,可以采用以下数据格式定义第一系统的第一升级引导区(如MISC分区)和第二系统的第二升级引导区:
直接向结构体中写入参数,具体值如下:
Command:写入recovery字段
Recovery:写入:--update_package=cache:update.zip\n--install_pkg=0
其中的参数含义为:
--update_package:表示升级包的位置;
--install_pkg:该参数表示选择升级的模块,占用一个字节,共8位,如下是在内存中的保存方式,左为高位,右为低位。
Bit8 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1
从低位向高位的代码表示需要选择升级的模块,依次为:
Bit1:代表Router模块,1为不升级,0为升级该模块;
Bit2:表示NAS模块,1为不升级,0为升级该模块;
Bit3:表示kernel模块,1为不升级,0为升级该模块;
Bit4:表示recovery模块,1为不升级,0为升级该模块;
Bit5,bit6,bit7,bit8为扩展位。
上述优选实施例中,可以在保证配置多系统的智能设备能够同时升级二个系统、简化设备升级维护流程外,还能够有选择的进行升级,避免了因执行不需要升级的模块升级操作造成的升级时间长的问题,可较大程度的提高系统升级效率。
参照图2,示出了本发明智能设备的升级方法第二实施例的流程,在本优选实施例中,为方便理解,以设置有同时运行的用于执行设备监控功能的安卓(Android)系统(第一系统)和用于执行路由功能的Linux系统(第二系统)的智能路由器为执行主体进行说明。另外,本方法具体实施例为减小升级风险,在准备设置升级引导区之前,首先对系统升级包的完整性和合法性进行验证。本方法实施例包括以下步骤:
步骤S2011:智能路由器向服务器发送系统升级请求消息;
上述的系统升级请求消息包括当前第一系统和第二系统的版本描述信息,上述版本描述信息可以从系统的相应属性中读取。
步骤S2012:智能路由器接收并判断服务器返回的检测结果,若检测结果为服务器存在版本高于当前第一系统或第二系统版本的系统升级包,则转步骤S2013;否则,结束本次流程;
本实施例的系统升级包中包括第一系统和第二系统升级数据信息。系统升级包由服务器采用如下方式生成:在编译安卓系统源程序代码的同时,编译linux系统的源程序代码;并将Linux系统编译后的代码复制到安卓源程序代码的特定子文件夹中,然后打包生成含有二个系统升级数据信息的系统升级包。
步骤S2013:从服务器下载该版本高于智能设备当前第一系统或第二系统版本的系统升级包,存储至第一系统的cache分区;
步骤S202:校验所述系统升级包的完整性和合法性,若系统升级包具备完整性和合法性,转步骤S203;否则,结束本次流程;
步骤S203:设置第一系统的MISC分区,通过设置GPIO的特定端口使第二系统进入准备升级状态;
设置第一系统的MISC分区后,将升级文件指针指向cache分区;以及,通过设置GPIO(通用可编程输入输出端口)的特定端口,使第二系统的相应操作进入boot,打开TFTP(简单文件传输协议)服务等待接收升级文件;
步骤S205:解压获得升级文件发送给第二系统,触发第二系统的升级操作,并执行第一系统的升级操作;
第一系统重启系统时从第一升级缓冲区(即cache分区)中的系统升级包解压获得第二系统的升级文件,并通过TFTP服务发送给第二系统,第二系统接收到升级文件后触发其升级操作;同时,第一系统还利用cache分区的系统升级包执行自己的升级操作;
步骤S207:第一系统和第二系统升级结束后,触发二个系统重新启动完成升级操作;
等第一系统升级结束并收到第二系统的升级结束消息后,向第二系统发送重启消息,触发第一系统和第二系统重新启动后完成升级操作。
对于前述的各方法实施例,为了描述简单,故将其都表述为一系列的动作组合,但是本领域的技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为根据本发明,某些步骤可以采用其他顺序或同时执行;其次,本领域技术人员也应该知悉,上述方法实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
参照图3,示出了本发明智能设备一实施例的结构框图,在本实施例中,智能设备设置有同时运行的第一系统和第二系统,本智能设备实施例包括升级包下载模块31、升级包校验模块32、升级设置模块33、升级触发模块34和升级确认模块35,其中:
升级包下载模块31,用于通过第一系统从服务器下载系统升级包,存储到所述第一升级缓冲区;
本优选实施例中,系统升级包中包括第一系统和第二系统升级数据信息;该系统升级包由服务器采用如下方式生成:在编译所述第一系统源程序代码的同时,编译所述第二系统的源程序代码;将所述第二系统编译后的代码复制到所述第一系统源程序代码的预设子文件夹中,打包生成含有第一系统和第二系统升级数据信息的系统升级包。
升级包校验模块32,用于校验所述系统升级包的完整性和合法性。当升级包下载模块31下载的系统升级包不具备完整性或不具备合法性时,系统将不会执行升级设置模块33的相关操作。
升级设置模块33,用于设置第一升级引导区,将升级文件指针指向所述第一升级缓冲区;以及,通过设置智能设备的预设端口使第二系统进入准备升级状态。
升级触发模块34,用于在重启系统时,从第一升级缓冲区的系统升级包中解压获得第二系统的升级文件发送给所述第二系统,触发所述第二系统的升级操作;然后执行所述第一系统的升级操作。
升级确认模块35,用于在所述第一系统升级结束并收到第二系统的升级结束消息后,向第二系统发送重启消息,触发所述第一系统和第二系统重新启动。
在一进一步的优选实施例中,智能设备可以为智能路由器,其中的第一系统为执行监控功能的安卓系统,第二系统为执行路由功能的Linux系统;智能设备的预设端口包括与所述第一系统对应的第一通用输入输出端口(如GPIO19)和所述第二系统对应的第二通用输入输出端口(如GPIO20),该升级设置模块33具体包括:
第一升级设置子模块331:用于设置第一升级引导区,将升级文件指针指向所述第一升级缓冲区;其中的第一升级引导区为安卓系统的MISC分区,第一升级缓冲区为cache分区;
第二升级设置子模块332,用于通过第一系统将第一通用输入输出端口设置为高电平;以及通过第二系统检测到第一通用输入输出端口为高电平状态时,控制第二系统进入boot操作,将第二通用输入输出端口设置为高电平,并打开TFTP服务准备从第一系统接收升级文件。
在上述进一步的优选实施例中,升级触发模块34的工作流程具体为:第一系统(安卓系统)重启进入Recovery进行系统升级;在Recovery中将第二系统(执行Router功能的Linux系统)的升级文件解压出来,并通过TFTP服务发送给第二系统;第二系统在接收到升级文件后,根据升级设置模块33设置的升级状态自动触发升级操作;第一系统完成发送第二系统升级文件的操作后自动进入自己的升级操作。
在另一进一步的优选实施例中,升级包下载模块31在下载系统升级包时,首先需要向服务器发出升级下载请求,由服务器判断是否有新的系统升级包可以下载,当服务器发布有新版本的系统升级包时,升级包下载模块31将该新版本的系统升级包下载到第一升级缓冲区中。以配置有安卓系统(用于执行监控功能的第一系统)和Linux系统(用于执行路由功能的第二系统)的智能路由器为例,其第一升级缓冲区为安卓系统的cache分区。本优选实施例的升级包下载模块31具体包括:
下载请求子模块311,用于向服务器发送系统升级请求消息,所述系统升级请求消息包括当前系统的版本描述信息;
检测结果获取子模块312,用于接收服务器返回的检测结果,其中,所述检测结果为服务器有或者没有版本高于智能设备当前系统版本的系统升级包;所述系统升级包中包括有组成系统软件的每个模块的版本标记信息;
下载执行子模块313,用于当服务器有版本高于智能设备当前系统版本的系统升级包时,从服务器下载该高版本的系统升级包,保存至第一升级缓冲区。在另一进一步的优选实施例中,系统升级包还包括组成系统软件的每个模块的版本标记信息;升级触发模块34具体包括:
第一升级触发模块341,用于解压所述第一升级缓冲区中的系统升级包,获取并发送第二系统的升级文件,以及,获取第一系统每个模块的版本标记信息,与当前第一系统的各模块的版本标记信息比较,根据比较结果按预设的规则生成升级标记描述信息,写入第一升级引导区;重启第一系统时根据所述第一升级引导区中的升级标记描述信息,选择需要升级的模块执行升级操作;
第二升级触发模块342,用于当第二系统收到所述第二系统的升级文件时,获取每个模块的版本标记信息,与当前第二系统的各模块的版本标记信息比较,根据比较结果按预设的规则生成升级标记描述信息,写入第二升级引导区;以及,根据所述第二升级引导区中的升级标记描述信息,选择需要升级的模块执行升级操作。
其中,每个模块的版本标记信息可以采用如下方式生成:将每一次源代码提交时的标识符拼接成一个字符串,然后做MD5运算生成的值,作为该相应模块的版本标记信息;
另外,写入第一升级引导区和第二升级引导区中的升级标记描述信息包括升级命令及其升级参数;所述按预设的规则生成升级标记描述信息,具体包括:在升级参数中定义每个模块是否升级的标记。
需要说明的是,上述装置或系统实施例属于优选实施例,所涉及的单元和模块并不一定是本发明所必须的。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于本发明的装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种智能设备及其升级方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种智能设备的升级方法,执行所述方法的系统包括通过网络连接的智能设备和服务器,所述智能设备包括同时运行的第一系统和第二系统,其特征在于,所述方法包括:
智能设备的第一系统从服务器下载系统升级包,存储到第一升级缓冲区;所述系统升级包中包括第一系统和第二系统升级数据信息;
所述第一系统设置第一升级引导区,将升级文件指针指向所述第一升级缓冲区;以及,通过设置所述智能设备的预设端口使第二系统进入准备升级状态;
所述第一系统重启时从第一升级缓冲区的系统升级包中解压获得第二系统的升级文件发送给所述第二系统,触发所述第二系统的升级操作,以及,执行所述第一系统的升级操作;
所述第一系统升级结束并收到第二系统的升级结束消息后,向第二系统发送重启消息,触发所述第一系统和第二系统重新启动后完成升级操作;
所述智能设备的预设端口包括与所述第一系统对应的第一通用输入输出端口和所述第二系统对应的第二通用输入输出端口;
所述设置所述智能设备的预设端口使第二系统进入准备升级状态,具体包括:所述第一系统将第一通用输入输出端口设置为高电平;当所述第二系统检测到第一通用输入输出端口为高电平状态时,第二系统进入boot操作,并将第二通用输入输出端口设置为高电平,同时打开简单文件传输协议服务准备从所述第一系统接收升级文件。
2.如权利要求1所述的升级方法,其特征在于,所述系统升级包的生成方法具体包括:
在编译所述第一系统源程序代码的同时,编译所述第二系统的源程序代码;
将所述第二系统编译后的代码复制到所述第一系统源程序代码的预设子文件夹中,打包生成含有第一系统和第二系统升级数据信息的系统升级包。
3.如权利要求1所述的升级方法,其特征在于,在所述第一系统设置第一升级引导区步骤之前,还包括:校验所述系统升级包的完整性和合法性。
4.如权利要求1~3任一所述的升级方法,其特征在于,所述系统升级包还包括组成系统软件的每个模块的版本标记信息;
所述第一系统重启时从第一升级缓冲区的系统升级包中解压获得第二系统的升级文件发送给所述第二系统,触发所述第二系统的升级操作,以及,执行所述第一系统的升级操作,具体包括:
第一系统解压第一升级缓冲区中的系统升级包,获取的第二系统的升级文件发送至第二系统;以及,获取第一系统每个模块的版本标记信息,与当前第一系统的各模块的版本标记信息比较,根据比较结果按预设的规则生成升级标记描述信息,写入第一升级引导区;重启第一系统时根据所述第一升级引导区中的升级标记描述信息,选择需要升级的模块执行升级操作;
当第二系统收到所述第一系统发送的第二系统的升级文件时,获取第二系统每个模块的版本标记信息,与当前第二系统的各模块的版本标记信息比较,根据比较结果按预设的规则生成升级标记描述信息,写入第二升级引导区;根据所述第二升级引导区中的升级标记描述信息,选择需要升级的模块执行升级操作。
5.如权利要求4所述的升级方法,其特征在于,
所述每个模块的版本标记信息采用如下方式生成:将每一次源代码提交时的标识符拼接成一个字符串,然后做MD5运算生成的值,作为该相应模块的版本标记信息;
和/或,
所述生成升级标记描述信息包括升级命令及其升级参数;所述按预设的规则生成升级标记描述信息,具体包括:在升级参数中定义每个模块是否升级的标记。
6.如权利要求1所述的升级方法,其特征在于,所述智能设备的第一系统从服务器下载系统升级包,具体包括:
所述智能设备向服务器发送系统升级请求消息,所述系统升级请求消息包括当前第一系统和第二系统的版本描述信息;
所述智能设备接收服务器返回的检测结果,所述检测结果为服务器是否存在版本高于智能设备当前第一系统或第二系统版本的系统升级包;
若服务器存在有版本高于智能设备当前第一系统或第二系统版本的系统升级包,则从服务器下载该高版本的系统升级包;否则,结束流程。
7.一种智能设备,所述智能设备设置有同时运行的第一系统和第二系统,其特征在于,所述智能设备包括:
升级包下载模块,用于通过第一系统从服务器下载系统升级包,存储到第一升级缓冲区;所述系统升级包中包括第一系统和第二系统升级数据信息;
升级设置模块,用于设置第一升级引导区,将升级文件指针指向所述第一升级缓冲区;以及,通过设置智能设备的预设端口使第二系统进入准备升级状态;
升级触发模块,用于在重启第一系统时,从第一升级缓冲区的系统升级包中解压获得第二系统的升级文件发送给所述第二系统,触发所述第二系统的升级操作,以及,执行所述第一系统的升级操作;
升级确认模块,用于在所述第一系统升级结束并收到第二系统的升级结束消息后,向第二系统发送重启消息,触发所述第一系统和第二系统重新启动后完成升级操作;
所述智能设备为智能路由器,所述第一系统为执行监控功能的安卓系统,所述第二系统为执行路由功能的Linux系统;所述智能设备的预设端口包括与所述第一系统对应的第一通用输入输出端口和所述第二系统对应的第二通用输入输出端口;所述升级设置模块具体包括:
第一升级设置子模块:用于设置第一升级引导区,将升级文件指针指向所述第一升级缓冲区;
第二升级设置子模块,用于通过所述第一系统将第一通用输入输出端口设置为高电平;以及通过第二系统检测到第一通用输入输出端口为高电平状态时,控制第二系统进入boot操作,将第二通用输入输出端口设置为高电平,并打开简单文件传输协议服务准备从第一系统接收升级文件。
8.如权利要求7所述的智能设备,其特征在于,所述系统升级包还包括组成系统软件的每个模块的版本标记信息;所述升级触发模块具体包括:
第一升级触发模块,用于解压所述第一升级缓冲区中的系统升级包,获取并发送第二系统的升级文件,以及,获取第一系统每个模块的版本标记信息,与当前第一系统的各模块的版本标记信息比较,根据比较结果按预设的规则生成升级标记描述信息,写入第一升级引导区;重启第一系统时根据所述第一升级引导区中的升级标记描述信息,选择需要升级的模块执行升级操作;
第二升级触发模块,用于当第二系统收到所述第二系统的升级文件时,获取每个模块的版本标记信息,与当前第二系统的各模块的版本标记信息比较,根据比较结果按预设的规则生成升级标记描述信息,写入第二升级引导区;以及,根据所述第二升级引导区中的升级标记描述信息,选择需要升级的模块执行升级操作。
CN201410830773.2A 2014-12-26 2014-12-26 智能设备及其升级方法 Active CN105786549B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410830773.2A CN105786549B (zh) 2014-12-26 2014-12-26 智能设备及其升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410830773.2A CN105786549B (zh) 2014-12-26 2014-12-26 智能设备及其升级方法

Publications (2)

Publication Number Publication Date
CN105786549A CN105786549A (zh) 2016-07-20
CN105786549B true CN105786549B (zh) 2019-09-24

Family

ID=56389018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410830773.2A Active CN105786549B (zh) 2014-12-26 2014-12-26 智能设备及其升级方法

Country Status (1)

Country Link
CN (1) CN105786549B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681761B (zh) * 2016-12-13 2020-12-01 深圳市恒扬数据股份有限公司 一种交互式升级的方法及系统
CN106843951A (zh) * 2017-01-12 2017-06-13 北京珠穆朗玛移动通信有限公司 软件程序的安装处理方法及其移动终端
CN106911502B (zh) * 2017-02-22 2019-11-12 烽火通信科技股份有限公司 一种智能家庭网关设备的升级方法及系统
CN107122202A (zh) * 2017-03-17 2017-09-01 广州视源电子科技股份有限公司 智能终端及其升级方法
CN109117162B (zh) * 2018-08-29 2021-07-16 武汉光庭信息技术股份有限公司 一种基于Hypervisor的多系统升级方法
CN109787891A (zh) * 2018-12-24 2019-05-21 深圳市友华通信技术有限公司 一种智能pon融合网关设备及其控制方法
CN112068857A (zh) * 2019-06-10 2020-12-11 海信视像科技股份有限公司 一种基于双系统的ota升级方法及系统
CN112449245B (zh) * 2019-09-05 2022-12-16 海信视像科技股份有限公司 双系统显示设备应用升级进度显示方法及显示设备
CN111104148B (zh) * 2019-12-26 2023-06-16 红石阳光(北京)科技股份有限公司 集成有Linux和android两系统的芯片平台的升级方法、系统及可读存储介质
CN111638652A (zh) * 2020-06-01 2020-09-08 深圳Tcl数字技术有限公司 设备控制方法、系统、设备和可读存储介质
CN112291621B (zh) * 2020-10-29 2023-01-20 深圳创维-Rgb电子有限公司 系统升级自动化测试方法、装置和测试设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101377744A (zh) * 2008-09-24 2009-03-04 深圳华为通信技术有限公司 一种终端设备软件升级恢复方法及装置
CN101384063A (zh) * 2008-09-24 2009-03-11 中兴通讯股份有限公司 一种终端设备修复升级的方法与系统及其系统的制作方法
CN101686147A (zh) * 2008-09-26 2010-03-31 深圳华为通信技术有限公司 一种终端设备升级方法及实现该方法的终端设备
CN102141921A (zh) * 2010-02-03 2011-08-03 华为终端有限公司 一种终端设备系统升级方法及终端设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101377744A (zh) * 2008-09-24 2009-03-04 深圳华为通信技术有限公司 一种终端设备软件升级恢复方法及装置
CN101384063A (zh) * 2008-09-24 2009-03-11 中兴通讯股份有限公司 一种终端设备修复升级的方法与系统及其系统的制作方法
CN101686147A (zh) * 2008-09-26 2010-03-31 深圳华为通信技术有限公司 一种终端设备升级方法及实现该方法的终端设备
CN102141921A (zh) * 2010-02-03 2011-08-03 华为终端有限公司 一种终端设备系统升级方法及终端设备

Also Published As

Publication number Publication date
CN105786549A (zh) 2016-07-20

Similar Documents

Publication Publication Date Title
CN105786549B (zh) 智能设备及其升级方法
US20220179646A1 (en) Detecting anomalies online using controller processing activity
CN112000355B (zh) 用于固件升级的方法及装置、家电设备
CN106484453B (zh) 一种实现系统升级的方法及装置
CN110134418A (zh) 基于空间下载技术的整车升级方法及装置、存储介质和终端
CN109800005B (zh) 一种客户端热更新方法及装置
CN105786542A (zh) 智能设备及其系统升级方法
CN105912340A (zh) 一种主设备、遥控器及对其空中升级的方法
CN106707848A (zh) 一种控制系统的控制程序组织结构和下载方法
CN110463162A (zh) 应用部署方法、装置及系统
CN110535954B (zh) 门锁固件的升级方法、升级系统、智能网关和存储介质
US11876676B2 (en) Network node firmware update
CN110147242A (zh) 空间下载中的升级依赖检查方法及装置、存储介质和终端
CN109067559A (zh) 一种设备升级方法及装置
CN106020882A (zh) 一种应用升级方法、智能终端及升级系统
CN109413210A (zh) 分布式集群系统的目标驱动升级方法、装置、设备及介质
CN112995806A (zh) 一种升级光网络单元方法、装置、系统及存储介质
CN105389172B (zh) 应用程序升级方法和装置
CN110647337A (zh) 物联网mcu空中固件升级方法
CN113330419A (zh) 一种设备应用安装方法和装置
WO2017112266A1 (en) Embedded architecture based on process virtual machine
CN106201584B (zh) 版本升级方法及终端设备
CN108255735A (zh) 关联环境测试方法、电子装置及计算机可读存储介质
US11431795B2 (en) Method, apparatus and storage medium for resource configuration
CN112202909A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 301-1, Room 301-3, Area B2, Animation Building, No. 126 Animation Road, Zhongxin Eco-city, Tianjin Binhai New Area, Tianjin

Applicant after: LE SHI ZHI XIN ELECTRONIC TECHNOLOGY (TIANJIN) Ltd.

Address before: 300453 Tianjin Binhai New Area, Tianjin Eco-city, No. 126 Animation and Animation Center Road, Area B1, Second Floor 201-427

Applicant before: Xinle Visual Intelligent Electronic Technology (Tianjin) Co.,Ltd.

Address after: 300453 Tianjin Binhai New Area, Tianjin Eco-city, No. 126 Animation and Animation Center Road, Area B1, Second Floor 201-427

Applicant after: Xinle Visual Intelligent Electronic Technology (Tianjin) Co.,Ltd.

Address before: 300467 Tianjin Binhai New Area, ecological city, animation Middle Road, building, No. two, B1 District, 201-427

Applicant before: LE SHI ZHI XIN ELECTRONIC TECHNOLOGY (TIANJIN) Ltd.

GR01 Patent grant
GR01 Patent grant
PP01 Preservation of patent right

Effective date of registration: 20210201

Granted publication date: 20190924

PP01 Preservation of patent right
PD01 Discharge of preservation of patent

Date of cancellation: 20240201

Granted publication date: 20190924

PD01 Discharge of preservation of patent
PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20240313

Granted publication date: 20190924