一种独占闪存组合设备空中固件升级方法及装置的制作方法

文档序号:6618942阅读:319来源:国知局
专利名称:一种独占闪存组合设备空中固件升级方法及装置的制作方法
技术领域
本发明涉及空中固件升级(FOTA, Firmware Over The Air )技术,尤其涉 及一种终端独占闪存(Flash)组合设备FOTA方法及装置。
背景技术
随着移动通信尤其是时分同步码分多址(TD-SCDMA)网络的发展,终端 已不再是简单的通讯工具,现有的终端集成了多i某体、个人信息管理和娱乐等 功能,已变得与个人计算机一样复杂。并且,由于终端制造商推出新的产品功 能的周期越来越短,运营商推出新业务的周期也将越来越短,因此,需要终端 制造商能给用户提供简便、有效的升级服务。
目前,FOTA作为通过空中接口远程管理、更新终端设备中固件的方法已 受到越来越多的关注,并且随着终端功能的不断完善,FOTA已成为设备管理 (DM, Device Management)中的关4建技术,并得到了通信产业的高度重碎见, 因而也将越来越多地应用于移动通信业务中。
利用FOTA技术不仅可以下载升级包,也可以更新终端的操作系统,这样, 终端制造商就能通过移动网络将升级包发送到目标用户的终端设备上,从而对 相关固件或系统进行升级,不但方便了用户,也为终端制造商节约了成本。现 在主流的FOTA技术方案一般包含终端发现、升级包下载、升级包安装三个流 程。现有技术中,FOTA仅用于终端中独占Flash的单设备的升级操作,还未应 用于较复杂的组合式设备,如无线接入设备iHOME的升级过程中。这里, 所述iHOME为中国移动推出的用以满足日益增加的终端产品网络用户需求的 组合设备,iHOME主要由两部分组成,分别为用于无线网络接入的内置TD 模块和用于家用设备接入的无线路由设备。也就是说,现有FOTA技术无法对复杂的组合式设备执行升级操作。

发明内容
有鉴于此,本发明的主要目的在于提供一种独占Flash组合设备F()TA方 法及装置,可实现对含有两个子设备的组合设备进行升级。 为达到上述目的,本发明的技术方案是这样实现的
本发明提供了 一种独占Flash组合设备空中固件升级FOTA方法,该方法 包括
从服务器下载并解析组合设备的升级包,确定当前下载升级包的结构;根 据升级包的不同结构采用对应的升级方式对所述组合设备执行升级操作。
其中,所迷组合设备包括主控子设备和受控子设备;
相应的,从服务器下载并解析为从服务器下载组合设备的升级包到主控 子设备,由主控子设备对当前下载的升级包进行解析。
其中,所述升级包包括主控子设备升级差分包和受控子设备升级差分包;
并行的升级方式对所述组合设备执行升级操作。
其中,所述带校验的并行的升级方式操作流程具体为
主控子设备和受控子设备接收到各自的升级包并校验成功后,主控子设备 和受控子设备同时重启,进入升级模式,主控子设备和受控子设备均完成升级 后,主控子设备向服务器上报组合设备升级成功,升级过程结束;主控子设备 和受控子设备中任意一个的升级包校验失败时,组合设备的升级状态为升级失 败,升级过程结束。
本发明中,所述升级包仅包括主控子设备升级差分包或受控子设备升级差 分包;
串行的升级方式对所述组合设备执行升级操作。
其中,所述带校验的串行的升级方式操作流程具体为主控子设备或受控子设备存储自身的升级差分包后重启进入升级模式,对 主控子设备升级差分包或受控子设备升级差分包进行校验,如果校验成功,则 执行后续升级操作并向服务器上报升级结果,之后再从服务器上选择一次升级, 下载未升级的另一子设备的升级包完成升级操作。
本发明中,所述升级包包括主控子设备升级差分包、受控子设备升级差分
包和受控子设备回退差分包;
分布带回退的升级方式对所述组合设备执行升级操作。
其中,所述带校验的分布带回退的升级方式操作流程具体为 受控子设备检测所接收的升级包中含有受控子设备回退差分包后对受控子 设备升级差分包和受控子设备回退差分包进行校验,校验成功后,受控子设备 执行升级操作,如果受控子设备升级失败,则组合设备升级失败,升级过程结 束;如果受控子设备升级成功,则主控子设备进入升级模式,如果主控子设备 升级成功,则组合设备升级成功;如果主控子设备升级失败,则受控子设备重 启进入回退模式执行回退操作,组合设备升级失败,升级过程结束。
本发明中,所述升级包包括主控子设备升级差分包、主控子设备回退差分 包、受控子设备升级差分包和受控子设备回退差分包;
所述采用对应的升级方式对所述组合设备执行升级操作为采用不带校验 的升级方式对所述组合设备执行升级操作。
其中,所述不带校验的分布带回退的升级方式操作流程具体为 受控子设备检测所接收的升级包中是否含有受控子设备回退差分包,如果 没有受控子设备回退差分包,则组合设备升级失败,升级过程结束;如果含有 受控子设备回退差分包,则主控子设备与受控子设备同时重启,进入升级模式 升级,升级完成后主控子设备与受控子设备分别重启,主控子设备根据两个子 设备的升级结果执行对应的操作。
本发明还提供了一种独占Flash组合设备FOTA装置,该装置包括 下载及解析模块,用于从服务器下载并解析组合设备的升级包,确定当前下载升级包的结构;
升级模块,用于根据升级包的不同结构采用对应的升级方式对所述组合设
备执行升级操作。
其中,所述组合设备包括主控子设备和受控子设备;
相应的,所述下载及解析模块为主控子设备中的DM Client模块;
所述升级模块为主控子设备中的第一 Update Agent模块和受控子设备中
的第二 Update Agent模块;
其中,所述DM Client模块,用于下载并解析组合设备的升级包;校验主
控子设备的升级包;接收第一 Update Agent模块上报的组合设备的升级状态,
并上报给服务器;
所述第一 Update Agent模块,用于根据组合设备的升级包的解析结果选择 组合设备对应的升级方式,并执行主控子设备的升级操作;接收主控子设备的 升级包的校验结果,并向DM Client模块上报组合设备的升级结果;
所述第二 Update Agent模块,用于执行受控子设备的升级操作。
其中,所述主控子设备还包括第一 Flash模块;所述受控子设备还包括第 二 Flash模块;其中,
所述第一 Flash模块,用于存储主控子设备的升级包;
所述第二 Flash模块,用于存储受控子设备的升级包;
相应的,所述第一 Update Agent模块,还用于将主控子设备的升级包存储 于第一 Flash模块中。
其中,所述主控子设备和受控子设备中均包括输入/输出1/0模块,用于受 控子设备的升级包的传输、以及主控子设备和受控子设备的信息传输;
相应的,所述第一 Update Agent模块,还用于将受控子设备的升级包传输 到DMMgr模块中暂存;查询或接收受控子设备的升级包接收完毕、检测或校 验结果、受控子设备的升级或回退结果;
所述第二 Update Agent模块,还用于上报受控子设备的升级包接收、检测 或校验结果、受控子设备的升级或回退结果。
9其中,所述受控子设备中还包括DMMgr模块,用于暂存、校验和检测受 控子设备的升级包;将受控子设备的升级包传输给第二 Update Agent模块;
相应的,所述第二 Update Agent模块,还用于接收DM Mgr模块受控子设 备的升级包的校验、检测结果;接收DMMgr模块发送的受控子设备的升级包 并将受控子设备的升级包发送给第二 Flash模块。
本发明提供的独占Flash组合设备FOTA方法及装置,提出了独特设计的 升级包和升级流程,通过解析已下载的组合设备的升级包,根据升级包的不同 结构采用对应的升级方式,对所述组合设备执行升级操作。因此,本发明可以 实现对由两个子设备组成的组合设备执行升级操作。
本发明中,FOTA方法中升级包下载和升级结果上报过程与现有技术相同, 因此,与现有服务器之间有良好的兼容性,进而节省了网络资源。


图1为本发明独占Flash组合设备FOTA装置结构示意图2为本发明并行升级方式的升级包结构图3为本发明串行升级方式的升级包结构图4为本发明分步带回退升级方式的升级包结构图5为本发明不带校验升级方式的升级包结构图6为本发明独占Flash组合设备FOTA方法实现流程示意图7为本发明并行方式的FOTA升级实现流程示意图8为本发明串行方式的FOTA升级实现流程示意图9为本发明分步带回退的FOTA升级实现流程示意图10为本发明不带校验的FOTA升级实现流程示意图。
具体实施例方式
本发明的基本思想是提出了独特设计的升级包和升级流程,通过解析已 下载的组合设备的升级包,根据升级包的不同结构采用对应的升级方式对所述组合设备执行升级操作。
这里,所述组合设备由主控子设备和受控子设备组成;所述升级方式包括 带校验的升级方式和不带校验的升级方式,其中,带校验的升级方式又分为 并行的升级方式、串行的升级方式和分步带回退的升级方式。
下面结合附图及具体实施例对本发明作进一 步详细说明。
本发明的独占Flash组合设备FOTA装置包括下载及解析模块和升级模 块;其中,所述下载及解析模块,用于从服务器下载并解析组合设备的升级包, 确定当前下载升级包的结构;所述升级模块,用于根据升级包的不同结构采用 对应的升级方式对所述组合设备执行升级操作。
具体的,如图1所示,该独占Flash组合设备由主控子设备和受控子设备 两部分组成,相应的,所述下载及解析模块为主控子设备中的设备管理客户端 (DM Client)模块;所述升级模块为主控子设备中的第一升级代理(Update Agent)模块和受控子设备中的第二 Update Agent模块。
该装置还包括设备管理控制(DM Mgr)模块、第一 Flash模块、第二 Flash 模块和输入/输出(1/0)模块等;其中,
DM Client模块,用于与服务器建立数据连接并下载整个组合设备的升级 包;解析整个组合设备的升级包,并校验主控子设备的升级包;接收第一 Update Agent模块上报的整个组合设备的升级状态,并上报给服务器;
这里,所述与服务器建立数据连接并下载整个组合设备的升级包,具体的, DM Client模块接收来自服务器的PUSH消息,或接收终端提供给用户的升级 选择菜单消息;并从服务器下载整个组合设备的升级包,发送到第一 Update Agent模块中,同时暂存整个组合设备的升级包;
DM Mgr模块,用于暂存和校验I/0模块发送的受控子设备升级差分包、 或1/0模块发送的受控子设备升级差分包、以及受控子设备回退差分包,或检 测所暂存的升级包中是否含有受控子设备回退差分包,并把校验或检测结果发 送给第二 Update Agent模块;将受控子设备的升级包传输给第二 Update Agent
模块;第一 Update Agent模块,用于根据整个组合设备的升级包的解析结果选择 整个组合设备对应的升级方式,并执行主控子设备的升级操作;将DM Client 模块解析所得的主控子设备的升级包存储于主控子设备中的第一 Flash模块中, 将受控子设备的升级包传输到DM Mgr模块中暂存;查询或接收受控子设备的 升级包接收完毕、检测或校验结果、受控子设备的升级或回退结果;接收DM Client模块主控子设备的升级包的校验结果,并向DM Client模块上报整个组合 设备的升级结果;
中,具体为第一Update Agent模块将主控子设备升级差分包、或主控子设备 升级差分包和主控子设备回退差分包传输到第一 Flash模块中存储;
第二 Update Agent模块,用于执行受控子设备的升级操作;上报受控子设 备的升级包接收、检测或校验结果、受控子设备的升级或回退结果;接收DM Mgr模块受控子设备的升级包的校验、检测结果;接收DMMgr模块发送的受 控子设备的升级包并将受控子设备的升级包发送给第二 Flash模块;
第一 Flash模块,用于存储主控子设备升级差分包、或存储主控子设备升 级差分包和主控子设备回退差分包;
第二 Flash模块,用于存储受控子设备升级差分包、或存储受控子设备升 级差分包和受控子设备回退差分包;
1/0模块,用于受控子设备的升级包的传输、以及主控子设备和受控子设备 的信息传输;
这里,所述受控子设备的升级包包括受控子设备升级差分包、或受控子设 备升级差分包和受控子设备回退差分包;所述信息包括两个子设备相关差分 包的校验和检测结果、两个子设备的升级结果等。
图2~5为本发明升级包的几种不同结构图。如图所示,图2中的升级包由 包头信息、主控子设备升级差分包和受控子设备升级差分包三部分组成;图3 中的升级包由包头信息和主控子设备升级差分包组成、或由包头信息和受控子 设备升级差分包组成;图4中的升级包由包头信息、主控子设备升级差分包、
12受控子设备升级差分包和受控子设备回退差分包组成;图5中的升级包由包头 信息、主控子设备升级差分包、主控子设备回退差分包、受控子设备升级差分 包和受控子设备回退差分包组成;
这里,所述包头信息内容可包括主控子设备和受控子设备升级包的大小、 完整性等信息。
图6为本发明独占Flash组合设备FOTA方法实现流程示意图,如图6所 示,该流程包括以下步骤
步骤601:从服务器下载整个组合设备的升级包到主控子设备;
具体为服务器或终端用户触发主控子设备中的DM Client模块与服务器 建立数据连接,DM Client模块接收来自服务器的PUSH消息、或接收终端提 供给用户的升级选择菜单消息;用户接受下载操作后,DM Client模块下载和暂 存整个组合设备的升级包。
步骤602:主控子设备解析升级包,并根据解析的升级包中的信息确定升 级包的结构;然后,才艮据升级包的不同结构采用对应的升级方式对所述组合设 备执行步骤603a ~ 603d的升级操作。
具体的,如果解析所得升级包包括主控子设备升级差分包和受控子设备升 级差分包时,则执行步骤603a;如果解析所得升级包仅包括主控子设备升级差 分包或受控子设备升级差分包时,则执行步骤603b;如果解析所得升级包包括 主控子设备升级差分包、受控子设备升级差分包和受控子设备回退差分包时, 则执行步骤603c;如果解析所得升级包包括主控子设备升级差分包、主控子设 备回退差分包、受控子设备升级差分包和受控子设备回退差分包时,则执行步 骤603d;
这里,具体由主控子设备中的DM Client模块解析暂存的升级包,并发送 给第一 Update Agent模块,再由第一 Update Agent模块根据解析结果选择对应 的升级方式执行后续的升级4喿作。
步骤603a:采用并行的升级方式对所述组合设备执行升级操作,之后结束 当前处理流程;步骤603b:采用串行的升级方式对所述组合设备执行升级操作,之后结束 当前处理流程;
步骤603c:采用分步带回退的升级方式对所述组合设备执行升级操作,之 后结束当前处理流程;
步骤603d:采用不带校验的升级方式对所述组合设备执行升级操作,之后 结束当前处理流程。
其中,步骤603a所述并行的升级方式流程具体如图7所示,包括以下步骤
步骤701:主控子设备存储主控子设备升级差分包,并将受控子设备升级 差分包传输给受控子设备;
具体为主控子设备中的第一 Update Agent模块将解析所得的主控子设备 升级差分包存储于第一 Flash模块中,并将受控子设备升级差分包通过两子设 备间的输入/输出(I/O)模块传输给受控子设备中的DM Mgr模块,且暂存在 DM Mgr模块中。
步骤702:主控子设备和受控子设备同时在操作系统(OS)之上分别对各 自的升级差分包进行校验;
具体为DM Client模块与DM Mgr模块同时对各自暂存的主控子设备升 级差分包和受控子设备升级差分包进行校验,并将校验结果分别发送到第一 Update Agent模块和第二 Update Agent模块;
这里,DM Mgr模块完成对受控子设备升级差分包的校验后,将受控子设 备升级差分包发送到第二 Update Agent模块,第二 Update Agent模块将受控子 设备升级差分包传输到第二 Flash模块中存储,以备后续升级使用。
本发明中,所述在OS之上对主控子设备或受控子设备的升级包进行校验, 是指在主控子设备或受控子设备的应用层上对主控子设备或受控子设备的升级 包进行校验;所述主控子设备的升级包为主控子设备升级差分包、或主控子 设备升级差分包和主控子设备回退差分包;所述受控子设备的升级包为受控 子设备升级差分包、或受控子设备升级差分包和受控子设备回退差分包。
步骤703:受控子设备完成校验后向主控子设备上报校验结果,或主控子设备完成校验后查询受控子设备的校验结果;
具体为受控子设备完成校验后由第二 Update Agent模块循环向第一 Update Agent模块上报校验结果,或主控子设备完成校验后由第一 Update Agent 模块循环查询第二 Update Agent模块中的校验结果,直至校验结果的上报或查 询过程结束;
本发明中,所述循环上报或循环查询的目的是为了避免由于两个子设备所 用的校验或升级时间不同而造成的单次上报或查询失败,即若主控子设备校 验或升级时间相对较长,则未收到受控子设备单次上报的结果;若受控子设备 校验或升级时间相对较长,则主控子设备单次查询将查询不到受控子设备的校 验或升级结果。
步骤704~705:主控子设备确认两个子设备的校验结果,如果两个子设备 均校验成功,则两个子设备同时重启进入升级模式;如果两个子设备中任一子 设备校验失败,则主控子设备向服务器上报整个组合设备的升级状态为升级失 败,之后执行步骤708;
具体为第一 Update Agent模块确认两个子设备的校验结果,如果两个子 设备均校验成功,则两个子设备同时重启进入升级it式,之后执行步骤706, 这里,所述两个子设备的升级过程由第一 Update Agent模块和第二 Update Agent 模块完成;如果两个子设备中任一子设备校验失败,则第一 Update Agent模块 通过DM Client模块向服务器上报整个组合设备的升级状态为升级失败。
步骤706:受控子设备升级完成后重启,向主控子设备上报升级完成消息 或主控子设备升级完成后重启,查询受控子设备是否完成升级;
具体为第二 Update Agent模块完成升级过程后触发受控子设备重启,第 二 Update Agent 4莫块循环向第一 Update Agent才莫块上报升级完成消息或第一 Update Agent模块完成升级过程后触发主控子设备重启,第一 Update Agent模 块循环查询第二 Update Agent模块是否完成升级,直至上报或查询过程结束。
步骤707:主控子设备和受控子设备均完成升级后,主控子设备向服务器 上报整个组合设备升级成功;
15完成升级并确认第二 Update Agent模块完 成升级后,第一 Update Agent模块通过DM Client模块向服务器上报整个组合 设备升级成功;
这里,由于升级前对主控子设备升级差分包和受控子设备升级差分包进行 了校验且校验已成功,而且主控子设备和受控子设备同时进行升级,则只要两 个子设备升级完成即证明两个子设备已升级成功。
步骤708:升级过程结束。
步骤603b所述串行的升级方式流程具体如图8所示,包括以下步骤
步骤801:解析所得的升级包仅包括主控子设备升级差分包时,主控子设 备存储主控子设备升级差分包;解析所得的升级包仅包括受控子设备升级差分 包时,主控子设备将受控子设备升级差分包传输给受控子设备;
具体为解析所得的升级包仅包括主控子设备升级差分包时,第一 Update Agent模块将主控子设备升级差分包存储于第一 Flash模块中;解析所得的升级 包仅包括受控子设备升级差分包时,第一 Update Agent模块将受控子设备升级 差分包传输给DM Mgr冲莫块暂存;
这里,如果解析所得的升级包仅包括受控子设备升级差分包时,DM Mgr 模块完成对受控子设备升级差分包的校验后,将受控子设备升级差分包发送到 第二 Update Agent模块,第二 Update Agent模块将受控子设备升级差分包传输 到第二 Flash模块中存储,以备后续升级使用。
步骤802:升级包中仅包括主控子设备升级差分包时,主控子设备重启进 入升级模式;升级包中仅包括受控子设备升级差分包时,受控子设备重启进入 升级模式。
步骤803:进入升级模式的主控子设备或受控子设备在OS之上对主控子设 备升级差分包或受控子设备升级差分包进行校验;
具体为DM Client模块或DM Mgr模块在OS之上对主控子设备升级差分 包或受控子设备升级差分包进行校验。
步骤804:如果主控子设备或受控子设备校验失败,则执行步骤807;如果主控子设备或受控子设备校验成功,则主控子设备或受控子设备开始升级,之
后执行步骤805;
具体为如果DM Client模块或DM Mgr模块对各自的升级差分包校验失 败,则执行步骤807;如果DM Client模块或DM Mgr模块对各自的升级差分 包校验成功,则第一 Update Agent模块和第二 Update Agent模块开始执行升级 操作。
步骤805:如果上述为主控子设备升级,则主控子设备升级完成后重启, 向服务器上报升级结果;如果上述为受控子设备升级,则受控子设备升级完成 后重启,将升级结果上报给主控子设备或主控子设备查询受控子设备的升级结 果,之后主控子设备将所得的升级结果上报给服务器;
具体为如果上述为主控子设备升级,则第一 Update Agent模块完成升级 操作后主控子设备重启,由DM Client模块向服务器上报升级结果;如果上述 为受控子设备升级,则第二 Update Agent模块完成升级操作后受控子设备重启, 将升级结果上报给第一 Update Agent模块或由第一 Update Agent模块查询第二 Update Agent模块的升级结果,之后由DM Client模块将所得的升级结果上报给 服务器。
步骤806-807:再从服务器上选择一次升级,此次从服务器下载的升级包 仅包括还未升级的另一子设备的升级包,重复步骤801到步骤805,最终整个 组合设备的升级过程结束;
这里,如果所述整个组合设备升级前的版本号为VI,则在任一个子设备升 级之后应为一中间版本Vtmp,即下载的第一个升级包完成从VI到Vtmp的 升级,服务器上还有一个从Vtmp升级到V2的升级包供另 一个子设备升级使用, 这样,最终完成对两个子设备组成的整个组合设备的升级。
步骤603c所述分步带回退的升级方式流程具体如图9所示,包括以下步骤
步骤901:主控子设备存储主控子设备升级差分包,并将受控子设备升级 差分包和受控子设备回退差分包传输给受控子设备;
具体为第一 Update Agent模块将主控子设备升级差分包存储于第一 Flash模块中,并将受控子设备升级差分包和受控子设备回退差分包传输给受控子设
备中的DM Mgr模块暂存;
这里,DM Mgr模块完成对受控子设备升级差分包的校验后,将受控子设 备升级差分包发送到第二 Update Agent模块,第二 Update Agent模块将受控子 设备升级差分包传输到第二 Flash模块中存储,以备后续升级使用。
步骤902:受控子设备检测所接收的升级包中是否含有受控子设备回退差 分包,如果没有受控子设备回退差分包,则通知主控子设备,由主控子设备上 报服务器整个组合设备的升级失败,执行步骤卯9;如果含有受控子设备回退 差分包,则执行步骤903;
具体为DM Mgr模块检测所暂存的升级包中是否含有受控子设备回退差 分包,如果DMMgr模块未检测到受控子设备回退差分包,将检测结果经第二 Update Agent模块发送到第一 Update Agent模块,再由DM Client模块上报服 务器整个组合设备的升级失败;如果DM Mgr模块检测到受控子设备回退差分 包,则执行后续操作。
这里,所述受控子设备对升级包进行检测的目的在于避免受控子设备的 升级包在传输过程中损坏。
步骤903:受控子设备在OS之上对受控子设备升级差分包和受控子设备回 退差分包进行校验,如果校验失败,则执行步骤909;如果校验成功,则执行 步骤904;
具体为受控子设备的DM Mgr模块在OS之上对受控子设备升级差分包 和受控子设备回退差分包进行校验,如果校验失败,则结束升级过程;如果校 验成功,则执行后续操作。
这里,在本步骤执行过程中,主控子设备仍然保持运行状态。
步骤904:受控子设备执行升级操作,升级完成后通知主控子设备升级结 果,或主控子设备查询受控子设备的升级结果;
具体为第二 Update Agent模块执行完升级操作后将升级结果发送给 Update Agent模块,或由第一 Update Agent模块查询第二 Update Agent模块的升级结果。
步骤905:主控子设备判断受控子设备的升级结果,如果升级失败,则上 报服务器整个组合设备升级失败,执行步骤909;如果升级成功,则执行步骤 906;
具体为第一 Update Agent才莫块判断第二 Update Agent模块所发送的升级 结果,如果升级失败,则由DM Client模块上报服务器这整个组合设备升级失 败;如果升级成功,则执行后续操作。
步骤906:主控子设备在OS之上对主控子设备升级差分包进行校验,如果 校验失败,则执行步骤909;如果校验成功,则执行步骤907;
具体为主控子设备的DM Client模块在OS之上对主控子设备升级差分包 进行校验,如果校验失败,则升级过程结束;如果校验成功,则执行后续操作。
步骤907:主控子设备执行升级操作,如果主控子设备升级成功,则上报 服务器整个组合设备升级成功,执行步骤卯9;如果主控子设备升级失败,则 将主控子设备升级失败的结果通知受控子设备,执行步骤908;
具体为第一 Update Agent模块执行升级操作,如果第一 Update Agent模 块升级成功,则由DM Client模块上报服务器整个组合设备升级成功,升级过 程结束;如果第一 Update Agent模块升级失败,则第一 Update Agent模块将升 级失败的结果通知第二 Update Agent模块,执行后续操作。
这里,在本步骤执行过程中,受控子设备仍然保持运行状态。
步骤908:受控子设备收到主控子设备反馈的升级失败的结果,重启进入 回退模式,利用回退差分包进行回退,回退完成后通知主控子设备或主控子设 备查询受控子设备的回退结果,之后主控子设备向服务器上报整个組合设备升 级失败;
具体为第二 Update Agent 4莫块收到第一 Update Agent模块反馈的升级失 败的结果后重启进入回退模式,回退完成后通知第一 Update Agent模块或第一 Update Agent模块查询第二 Update Agent模块的回退结果,之后由DM Client 模块向服务器上报整个组合设备升级失败。这里,所述回退为回退到升级前的版本,此外,由于升级差分包和回退差 分包是成对设计的,如果升级能成功,则回退一定能成功;在受控子设备回退 过程中,主控子设备一直保持运行状态。
步骤909:升级过程结束。
步骤603d所述不带校验的升级方式流程具体如图IO所示,包括以下步骤
步骤1001:主控子设备存储主控子设备升级差分包和主控子设备回退差分 包,并将受控子设备升级差分包和受控子设备回退差分包传输给受控子设备;
具体为第一 Update Agent模块将主控子设备升级差分包和主控子设备回 退差分包存储于第一 Flash模块中,并将受控子设备升级差分包和受控子设备 回退差分包传输给受控子设备中的DMMgr模块暂存;
这里,DM Mgr模块完成对受控子设备升级差分包的校验后,将受控子设 备升级差分包发送到第二 Update Agent模块,第二 Update Agent模块将受控子 设备升级差分包传输到第二 Flash模块中存储,以备后续升级使用。
步骤1002 ~ 1003:受控子设备检测所接收的升级包中是否含有受控子设备 回退差分包,如果没有受控子设备回退差分包,则通知主控子设备,由主控子 设备上报服务器整个组合设备升级失败,之后执行步骤1007;如果含有受控子 设备回退差分包,则扭i行步骤1004;
具体为DM Mgr模块检测所暂存的升级包中是否含有受控子设备回退差 分包,如果DMMgr模块未检测到受控子设备回退差分包,将检测结果经第二 Update Agent模块发送到第一 Update Agent模块,再由DM Client模块上报服 务器整个組合设备的升级失败;如果DM Mgr模块检测到受控子设备回退差分 包,则执行后续操作。
这里,所述受控子设备对升级包进行检测的目的在于避免受控子设备的 升级包在传输过程中损坏。
步骤1004:受控子设备通知主控子设备升级包接收完毕,主控子设备收到 受控子设备升级包接收完毕的通知后,主控子设备与受控子设备同时重启进入 升级模式升级;具体为第二 Update Agent模块将升级包接收完毕的结果发送到第一 Update Agent模块,之后主控子设备与受控子设备同时重启进入升级模式升级。
步骤1005:升级完成后主控子设备与受控子设备分别重启,受控子设备将 升级结果上报给主控子设备,主控子设备根据两个子设备的升级结果,对出现 的四种情况执行对应的操作如果主控子设备和受控子设备均升级成功,则执 行步骤1006e;如果主控子设备升级成功,受控子设备升级失败,则执行步骤 1006f;如果主控子设备升级失败,受控子设备升级成功,则执行步骤1006g; 如果主控子设备和受控子设备均升级失败,则执行步骤1006h;
步骤1006e:主控子设备和受控子设备删除各自的回退差分包,之后主控 子设备上报服务器整个组合设备升级成功,之后执行步骤1007;
具体为第一 Update Agent模块确定第一 Update Agent模块和第二 Update Agent模块均升级成功时,第一 Update Agent模块和第二 Update Agent模块删 除各自的回退差分包,之后由DM Client模块上报服务器整个组合设备升级成 功,升级过程结束。
步骤1006f:主控子设备通知受控子设备删除受控子设备回退差分包,主控 子设备重启进入回退^f莫式,利用回退差分包进行回退,回退成功后上报服务器 整个组合设备升级失败,之后执行步骤1007;
具体为第一 Update Agent模块确定第一 Update Agent模块升级成功而第 二 Update Agent才莫块失败时,主控子设备重启进入回退才莫式,第一 Update Agent 模块利用回退差分包进行回退,回退成功后由DM Client模块上报服务器整个 组合设备升级失败,升级过程结束。
步骤1006g:主控子设备删除主控子设备回退差分包,并通知受控子设备 重启进入回退模式,利用受控子设备回退差分包进行回退,回退完成后上报主 控子设备,主控子设备上报服务器整个组合设备升级失败,之后执行步骤1007;
具体为第一 Update Agent模块确定第一 Update Agent模块升级失败而第 二 Update Agent模块成功时,第一 Update Agent模块删除主控子设备回退差分 包,并通知受控子设备重启进入回退模式,第二 Update Agent模块利用受控子设备回退差分包进行回退,回退完成后上报第一 Update Agent模块,由DM Client模块上报服务器整个组合设备升级失败,升级过程结束。
步骤1006h:主控子设备和受控子设备删除各自的回退差分包,之后主控 子设备上报服务器整个组合设备升级失败,之后执行步骤1007;
具体为第一 Update Agent模块确定第一 Update Agent模块和第二 Update Agent模块均升级失败时,由DM Client模块上报服务器整个组合设备升级失 败,升级过程结束。
步骤1007:升级过程结束。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范 围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应 包含在本发明的保护范围之内。
权利要求
1、一种独占闪存Flash组合设备空中固件升级FOTA方法,其特征在于,该方法包括从服务器下载并解析组合设备的升级包,确定当前下载升级包的结构;根据升级包的不同结构采用对应的升级方式对所述组合设备执行升级操作。
2、 根据权利要求1所述的独占Flash组合设备FOTA方法,其特征在于, 所述组合设备包括主控子设备和受控子设备;相应的,从服务器下载并解析为从服务器下载组合设备的升级包到主控 子设备,由主控子设备对当前下载的升级包进行解析。
3、 根据权利要求2所述的独占Flash组合设备FOTA方法,其特征在于, 所述升级包包括主控子设备升级差分包和受控子设备升级差分包;并行的升级方式对所述组合设备执行升级操作。
4、 根据权利要求3所述的独占Flash组合设备FOTA方法,其特征在于, 所述带校验的并行的升级方式操作流程具体为主控子设备和受控子设备接收到各自的升级包并校验成功后,主控子设备 和受控子设备同时重启,进入升级模式,主控子设备和受控子设备均完成升级 后,主控子设备向服务器上报组合设备升级成功,升级过程结束;主控子设备 和受控子设备中任意一个的升级包校验失败时,组合设备的升级状态为升级失 败,升级过程结束。
5、 根据权利要求2所述的独占Flash组合设备FOTA方法,其特征在于, 所述升级包仅包括主控子设备升级差分包或受控子设备升级差分包;串行的升级方式对所述组合设备执行升级操作。
6、 根据权利要求5所述的独占Flash组合设备FOTA方法,其特征在于, 所述带校验的串行的升级方式操作流程具体为主控子设备或受控子设备存储自身的升级差分包后重启进入升级模式,对 主控子设备升级差分包或受控子设备升级差分包进行校验,如果校验成功,则 执行后续升级操作并向服务器上报升级结果,之后再从服务器上选择一次升级, 下载未升级的另一子设备的升级包完成升级操作。
7、 根据权利要求2所述的独占Flash组合设备FOTA方法,其特征在于, 所述升级包包括主控子设备升级差分包、受控子设备升级差分包和受控子设备 回退差分包;分布带回退的升级方式对所述组合设备执行升级操作。
8、 根据权利要求7所述的独占Flash组合设备FOTA方法,其特征在于, 所述带校验的分布带回退的升级方式操作流程具体为受控子设备检测所接收的升级包中含有受控子设备回退差分包后对受控子 设备升级差分包和受控子设备回退差分包进行校验,校验成功后,受控子设备 执行升级操作,如果受控子设备升级失败,则组合设备升级失败,升级过程结 束;如果受控子设备升级成功,则主控子设备进入升级模式,如果主控子设备 升级成功,则组合设备升级成功;如果主控子设备升级失败,则受控子设备重 启进入回退模式执行回退操作,组合设备升级失败,升级过程结束。
9 、根据权利要求2所述的独占Flash组合设备FOTA方法,其特征在于, 所述升级包包括主控子设备升级差分包、主控子设备回退差分包、受控子设备 升级差分包和受控子设备回退差分包;的升级方式对所述组合设备执行升级操作。
10、根据权利要求9所述的独占Flash组合设备FOTA方法,其特征在于, 所述不带校验的分布带回退的升级方式操作流程具体为受控子设备检测所接收的升级包中是否含有受控子设备回退差分包,如果 没有受控子设备回退差分包,则组合设备升级失败,升级过程结束;如果含有 受控子设备回退差分包,则主控子设备与受控子设备同时重启,进入升级模式升级,升级完成后主控子设备与受控子设备分别重启,主控子设备根据两个子 设备的升级结杲执行对应的操作。
11 、 一种独占Flash组合设备FOTA装置,其特征在于,该装置包括 下载及解析模块,用于从服务器下载并解析组合设^^的升级包,确定当前下载升级包的结构;升级模块,用于根据升级包的不同结构采用对应的升级方式对所述组合设备执行升级操作。
12、 根据权利要求11所述的独占Flash组合设备FOTA装置,其特征在于, 所述组合设备包括主控子设备和受控子设备;相应的,所述下载及解析模块为主控子设备中的设备管理客户端DM Client 模块;所述升级模块为主控子设备中的第一升级代理Update Agent模块和受控 子设备中的第二 Update Agent模块;其中,所述DM Client模块,用于下载并解析组合设备的升级包;校验主 控子设备的升级包;接收第一 Update Agent模块上报的组合设备的升级状态, 并上报给服务器;所述第一 Update Agent模块,用于根据組合设备的升级包的解析结果选择 组合设备对应的升级方式,并执行主控子设备的升级操作;接收主控子设备的 升级包的校验结果,并向DM Client模块上报组合设备的升级结果;所述第二 Update Agent模块,用于执行受控子设备的升级操作。
13、 根据权利要求11或12所述的独占Flash组合设备FOTA装置,其特 征在于,所述主控子设备还包括第一 Flash模块;所述受控子设备还包括第二 Flash才莫块;其中,所述第一 Flash模块,用于存储主控子设备的升级包; 所述第二 Flash模块,用于存储受控子设备的升级包;相应的,所述第一 Update Agent模块,还用于将主控子设备的升级包存储 于第一 Flash模块中。
14、 根据权利要求13所述的独占Flash组合设备FOTA装置,其特征在于, 所述主控子设备和受控子设备中均包括输入/输出1/0模块,用于受控子设备的 升级包的传输、以及主控子设备和受控子设备的信息传输;相应的,所述第一 Update Agent模块,还用于将受控子设备的升级包传输 到设备管理控制DMMgr模块中暂存;查询或接收受控子设备的升级包接收完 毕、检测或校验结果、受控子设备的升级或回退结果;所述第二 Update Agent模块,还用于上报受控子设备的升级包接收、检测 或校验结果、受控子设备的升级或回退结果。
15、 根据权利要求14所述的独占Flash組合设备FOTA装置,其特征在于, 所述受控子设备中还包括DMMgr模块,用于暂存、校验和检测受控子设备的 升级包;将受控子设备的升级包传输给第二 Update Agent模块;相应的,所述第二 Update Agent模块,还用于接收DM Mgr模块受控子设 备的升级包的校验、检测结果;接收DMMgr模块发送的受控子设备的升级包 并将受控子设备的升级包发送给第二 Flash模块。
全文摘要
本发明公开了一种独占闪存(Flash)组合设备空中固件升级(FOTA)方法,包括从服务器下载并解析组合设备的升级包,确定当前下载升级包的结构;根据升级包的不同结构采用对应的升级方式对所述组合设备执行升级操作。本发明还同时公开了一种独占Flash组合设备FOTA装置,运用该方法和装置可实现对含有两个子设备的组合设备进行升级,且本发明FOTA方法中升级包下载和升级结果上报过程与现有技术相同,因此,与现有服务器之间有良好的兼容性,进而节省了网络资源。
文档编号G06F13/38GK101593119SQ20091008563
公开日2009年12月2日 申请日期2009年5月26日 优先权日2009年5月26日
发明者韬 周, 李永强, 虹 罗, 禧 陈, 飞 鞠 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1