升级包生成方法和装置、动态文件差分升级的方法和终端的制作方法

文档序号:6486406阅读:138来源:国知局
升级包生成方法和装置、动态文件差分升级的方法和终端的制作方法
【专利摘要】本发明提供了一种升级包生成方法,包括:根据需要升级的动态文件制作动态文件升级包,其中,所述动态文件升级包中包括需要升级的每个动态文件的文件名信息、路径信息和升级内容信息,将所述动态文件升级包打包至升级包。本发明还提供一种动态文件差分升级方法,包括:终端下载升级包,解析升级包,获取所述升级包中的动态文件升级包,对相应的动态文件进行升级。本发明还提供一种升级包生成装置和一种终端。
【专利说明】升级包生成方法和装置、动态文件差分升级的方法和终端
【技术领域】
[0001]本发明涉及通过空口技术对终端设备进行远程管理,具体涉及一种动态文件差分升级方法和终端,以及一种升级包生成方法和装置。
【背景技术】
[0002]随着终端制造商新应用的速度越来越快,运营商推出新业务的周期越来越短,OTADM (Over the Air Device Management,空口设备管理)作为一种简便、快捷、有效的终端设备升级方式,在运营商实际商用中使用越来越频繁,运营商实际升级时使用空口固件升级(Firmware Update Over the Air7FOTA)的应用场景日益增加,升级方案日渐丰富,升级需求也日趋复杂。其中,也包含了对文件系统(File System)的升级需求。[0003]目前业界基于FOTA技术进行文件系统升级的方法,都是采用差分升级的方式。即需要在源文件系统和目标文件系统之间,通过某种差分算法生成差分升级包,在实际升级过程中再利用差分包将终端设备升级到目标文件系统。这种方式的优点在于升级包只涉及到两个版本文件系统之间有差异的部分,相同部分不纳入升级范围。这样制作出的升级包尺寸较小,能实现快速的下载和升级。
[0004]如图1是现有文件系统升级方案流程图,包括:
[0005]a,升级前,终端制作升级包上传到服务器;
[0006]b,升级时,终端和服务器互连,服务器下发升级包到终端;
[0007]C,终端解析升级包后,进行升级;
[0008]d,升级完成后,终端上报服务器升级结果,流程结束。
[0009]现有升级方案存在着如下的限制:
[0010]1.只能在固定的源文件系统与目标文件系统之间进行升级;
[0011]2.生成的差分包是以单个文件为最小单元的,即能进行升级的文件的粒度大小为一个文件。
[0012]上述限制,在很大程度上制约了可以通过OTA DM方式进行的文件系统升级的范围。当需要升级终端设备中某些动态文件(如最终用户可以通过菜单更改的默认网络制式、默认锁屏时长等配置项)时,会出现由于源文件系统的不确定,不能制作出能适用于不同源文件系统的升级包,所以不能通过差分升级的方式实现的问题。
[0013]综上所述,可以看到当前业界通过FOTA技术进行文件系统升级的主流方案,存在不能对动态文件进行升级的弊端。

【发明内容】

[0014]本发明要解决的技术问题是针对现有的文件系统升级方案不能满足对动态文件系统的升级需求,提供了一种动态文件差分升级方法和终端,以及,一种升级包生成方法和
>J-U ρ?α装直。
[0015]为了解决上述问题,本发明提供了一种升级包生成方法,包括:[0016]根据需要升级的动态文件制作动态文件升级包,其中,所述动态文件升级包中包括需要升级的每个动态文件的文件名信息、路径信息和升级内容信息,将所述动态文件升级包打包至升级包。
[0017]进一步的,上述方法还可具有以下特点,所述方法还包括,根据需要升级的静态文件基于已有差分算法生成静态文件升级包,将所述静态文件升级包打包至所述升级包。
[0018]本发明还提供一种动态文件差分升级方法,包括:
[0019]终端下载升级包,所述升级包中包括动态文件升级包,所述动态文件升级包中包括需要升级的每个动态文件的文件名信息、路径信息和升级内容信息;
[0020]所述终端解析所述升级包,获取所述升级包中的动态文件升级包,获取需要升级的每个动态文件的文件名信息、路径信息和升级内容信息,写入指定区域;
[0021]所述终端根据所述动态文件升级包的信息对相应的动态文件进行升级。
[0022]进一步的,上述方法还可具有以下特点,所述方法还包括,
[0023]所述终端解析所述升级包时,还获取所述升级包中的静态文件升级包,写入指定区域,根据所述静态文件升级包的信息对相应的静态文件进行升级。
[0024]进一步的,上述方法还可具有以下特点,升级时先根据所述静态文件升级包的信息对相应的静态文件进行升级,再根据所述动态文件升级包的信息对相应的动态文件进行升级。
[0025]本发明还提供一种升级包生成装置,包括:
[0026]动态文件升级包生成单元,用于根据需要升级的动态文件制作动态文件升级包,其中,所述动态文件升级包中包括需要升级的每个动态文件的文件名信息、路径信息和升级内容信息;
[0027]打包单元,用于将所述动态文件升级包打包至升级包。
[0028]进一步的,上述装置还可具有以下特点,所述装置还包括静态文件升级包生成单元,用于根据需要升级的静态文件基于已有差分算法生成静态文件升级包;
[0029]所述打包单元还用于,将所述静态文件升级包打包至所述升级包。
[0030]本发明还提供一种终端,所述终端包括:
[0031]协议栈模块,用于和服务器交互,下载升级包;其中,所述升级包中包括动态文件升级包,所述动态文件升级包中包括需要升级的每个动态文件的文件名信息、路径信息和升级内容信息;
[0032]升级包解析模块,用于解析所述升级包,获取所述升级包中的动态文件升级包,获取需要升级的每个动态文件的文件名信息、路径信息和升级内容信息,写入指定区域;
[0033]升级模块,用于根据所述动态文件升级包的信息对相应的动态文件进行升级。
[0034]进一步的,上述终端还可具有以下特点,所述升级包解析模块还用于:解析所述升级包时,获取所述升级包中的静态文件升级包,写入指定区域;
[0035]所述升级模块还用于,根据所述静态文件升级包的信息对相应的静态文件进行升级。
[0036]进一步的,上述终端还可具有以下特点,所述升级模块是用于:升级时先对所述相应的静态文件进行升级,再对所述相应的动态文件进行升级。
[0037]与现有技术相比较,本发明引入了一种对动态文件差分升级的方法,解决了现有方案在进行文件系统升级时,不能对动态文件升级的问题,使得通过FOTA技术进行文件系统升级的适用范围得到有效的扩大,增大了文件系统升级的实用性。
【专利附图】

【附图说明】
[0038]图1是现有文件系统升级方案流程图;
[0039]图2是FOTA升级系统结构图;
[0040]图3是文件系统升级包结构图;
[0041 ]图4是动态文件系统升级包结构图;
[0042]图5是本发明实施例所述动态文件系统升级方案流程图;
[0043]图6是本发明实施例升级包生成装置框图。
【具体实施方式】
[0044]为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
[0045]本发明实施例中,静态文件是指在终端中版本发布时就已经确定,且不会由于用户使用/修改配置等因素改变的文件。这种文件用户不能通过菜单等方式修改,对于同一个版本的不同终端来说,是相同的。动态文件是指终端中,用户可以通过菜单等方式修改的文件。这些文件在同一版本的不同终端中,可以使不同的。
[0046]本发明实施例中所述的动态文件,包括终端中用户可以通过Π菜单进行修改的配置文件以及终端中内置应用通过终端特有的标识(如MEI号等)进行某种特定算法生成的密码等配置信息。
[0047]本发明实施例提供一种升级包生成方法,包括:
[0048]根据需要升级的动态文件制作动态文件升级包,其中,所述动态文件升级包中包括需要升级的每个动态文件的文件名信息、路径信息和升级内容信息,将所述动态文件升级包打包至升级包。
[0049]其中,所述方法还包括,根据需要升级的静态文件基于已有差分算法生成静态文件升级包,将所述静态文件升级包打包至所述升级包。
[0050]本发明实施例还提供一种动态文件差分升级方法,包括:
[0051]所述终端下载升级包,所述升级包中包括动态文件升级包,所述动态文件升级包中包括需要升级的每个动态文件的文件名信息、路径信息和升级内容信息;
[0052]所述终端解析所述升级包,获取所述升级包中的动态文件升级包,获取需要升级的每个动态文件的文件名信息、路径信息和升级内容信息,写入指定区域;
[0053]所述终端根据所述动态文件升级包的信息对相应的动态文件进行升级。
[0054]其中,解析所述升级包时,还获取所述升级包中的静态文件升级包,写入指定区域,根据所述静态文件升级包的信息对相应的静态文件进行升级。
[0055]其中,升级时先根据所述静态文件升级包的信息对相应的静态文件进行升级,再根据所述动态文件升级包的信息对相应的动态文件进行升级。
[0056]图2是FOTA升级系统结构图,它位于终端侧,包括协议栈模块、升级包解析模块和升级模块,其中:
[0057]所述协议栈模块用于和服务器的协议通讯交互及下载升级包;其中,所述升级包中包括动态文件升级包,所述动态文件升级包中包括需要升级的每个动态文件的文件名信息、路径信息和升级内容信息;
[0058]升级包解析模块用于解析所述升级包,获取所述升级包中的动态文件升级包,获取需要升级的每个动态文件的文件名信息、路径信息和升级内容信息,写入指定区域;t匕如,写入相应Flash区域;以及,获取所述升级包中的静态文件升级包,写入指定区域;
[0059]升级模块用于根据升级包内容进行升级。包括:根据所述动态文件升级包的信息对相应的动态文件进行升级;以及,根据所述静态文件升级包的信息对相应的静态文件进行升级。
[0060]上述方法的具体实现步骤如下:
[0061]进行升级前,将需要升级的静态文件和动态文件按照一定方式分别制作差分包,并打包组合成整个文件系统升级包;
[0062]协议栈模块从服务器上下载升级包到终端,升级包的结构如图2所示
[0063]升级包解析模块对升级包进行解析,解析出的升级包包含了对终端静态文件进行升级的差分文件及对动态文件进行升级的文件两部分;
[0064]重启设备进行升级,由升级模块负责将终端按照解析出的升级包内容升级到目标文件系统。
[0065]图3是文件系统升级包结构图,本发明实施例提供一种升级包的生成方法,其步骤如下:
[0066]步骤301:根据需要升级的文件系统的实际情况,将需要升级的文件分为静态文件和动态文件两类;
[0067]步骤302:对静态文件,采用目前业界已有的差分算法进行升级包的计算生成差分升级包;
[0068]步骤303:对动态文件,采用如图4所示的数据结构生成差分升级包;
[0069]步骤304:将步骤302和步骤303生成的差分包按照一定方法打包组合成整个待升级文件系统的升级包。
[0070]图4是动态文件系统升级包结构图,它详细描述了动态文件升级包的数据结构:此升级包中,按照文件路径,文件名,升级内容信息,将各个要升级的动态文件信息依次封装组合,并且在不同的信息字段之间,用事先定义好的特殊标识符隔开,以便解析模块进行解析。当然,文件路径,文件名,升级内容信息之间的顺序也可以变换,本发明对此不作限定。另外,动态文件升级包中还可包括其他信息,比如修改日期等。
[0071]图5是本发明所述动态文件系统升级方案流程图,详细描述了动态文件升级流程,其步骤如下:
[0072]步骤501:服务器或终端用户触发客户端协议栈模块与服务器建立数据连接,下载升级包到终端;
[0073]步骤502:升级包解析模块根据下载的升级包中的包头信息,如图3所示,将升级包拆分为静态文件差分包PkgA和动态文件差分包PkgB。同时对这两个差分包进行校验,如果其中任意一个差分包校验失败或者二者都校验失败,则直接转到步骤504。[0074]进一步的,解析模块还将根据PkgB中包头及各标识符的标示,将动态文件差分包按照文件路径,文件名,需要升级的内容进行解析,获取各个动态文件升级时必要的信息。并把解析出的信息写入Flash指定区域,供升级模块升级终端时使用。
[0075]步骤503:重启终端,由升级模块按照差分包的内容将文件系统升级到目标文件系统状态。升级时先对静态文件进行升级,再对动态文件进行升级。
[0076]步骤504:上报服务器升级结果,流程结束。
[0077]下面结合附图,列举一个实例对本发明提供的动态文件差分升级方案进行说明:
[0078]比如终端将锁屏时长这一参数保存在文件系统./mod/config文件夹下的screen文件中的第100行,而用户通过Π菜单将它由默认的15秒修改为10秒。新版本发布后,需要将这一参数的默认值修改为5秒。那么,在制作升级包时,需要将此动态文件的路径“./mod/conf ig”,文件名“ screen ”,升级内容信息“ I inelOO 5second”’等信息按照图4所示的格式进行编辑并封装成图3所示的动态文件升级包。然后与其他需要修改的静态文件升级包组合成最终的升级包上传到服务器上。最后在进行升级时,由DM客户端将此升级包从服务器下载到各终端后进行解析并按照图5所示的流程进行升级。
[0079]本发明实施例还提供一种升级包生成装置,如图6所示,包括:
[0080]动态文件升级包生成单元,用于根据需要升级的动态文件制作动态文件升级包,其中,所述动态文件升级包中包括需要升级的每个动态文件的文件名信息、路径信息和升级内容信息;
[0081 ] 打包单元,用于将所述动态文件升级包打包至升级包。
[0082]其中,所述装置还包括静态文件升级包生成单元,用于根据需要升级的静态文件基于已有差分算法生成静态文件升级包;
[0083]所述打包单元还用于,将所述静态文件升级包打包至所述升级包。
[0084]综上所述,根据本发明所述动态文件差分升级方法,可以解决目前通过FOTA技术进行文件系统升级方案中,不能对动态文件进行升级的问题。
[0085]本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
【权利要求】
1.一种升级包生成方法,其特征在于,包括: 根据需要升级的动态文件制作动态文件升级包,其中,所述动态文件升级包中包括需要升级的每个动态文件的文件名信息、路径信息和升级内容信息,将所述动态文件升级包打包至升级包。
2.如权利要求1所述的方法,其特征在于,所述方法还包括,根据需要升级的静态文件基于已有差分算法生成静态文件升级包,将所述静态文件升级包打包至所述升级包。
3.一种动态文件差分升级方法,其特征在于,包括: 终端下载升级包,所述升级包中包括动态文件升级包,所述动态文件升级包中包括需要升级的每个动态文件的文件名信息、路径信息和升级内容信息; 所述终端解析所述升级包,获取所述升级包中的动态文件升级包,获取需要升级的每个动态文件的文件名信息、路径信息和升级内容信息,写入指定区域; 所述终端根据所述动态文件升级包的信息对相应的动态文件进行升级。
4.如权利要求3所述的方法,其特征在于,所述方法还包括, 所述终端解析所述升级包时,还获取所述升级包中的静态文件升级包,写入指定区域,根据所述静态文件升级包的信息对相应的静态文件进行升级。
5.如权利要求4所述的方法,其特征在于, 升级时先根据所述静态文件升级包的信息对相应的静态文件进行升级,再根据所述动态文件升级包的信息对相应的动态文件进行升级。
6.一种升级包生成装置,其特征在于,包括: 动态文件升级包生成单元,用于根据需要升级的动态文件制作动态文件升级包,其中,所述动态文件升级包中包括需要升级的每个动态文件的文件名信息、路径信息和升级内容信息; 打包单元,用于将所述动态文件升级包打包至升级包。
7.如权利要求6所述的装置,其特征在于,所述装置还包括静态文件升级包生成单元,用于根据需要升级的静态文件基于已有差分算法生成静态文件升级包; 所述打包单元还用于,将所述静态文件升级包打包至所述升级包。
8.—种终端,其特征在于,所述终端包括: 协议栈模块,用于和服务器交互,下载升级包;其中,所述升级包中包括动态文件升级包,所述动态文件升级包中包括需要升级的每个动态文件的文件名信息、路径信息和升级内容信息; 升级包解析模块,用于解析所述升级包,获取所述升级包中的动态文件升级包,获取需要升级的每个动态文件的文件名信息、路径信息和升级内容信息,写入指定区域; 升级模块,用于根据所述动态文件升级包的信息对相应的动态文件进行升级。
9.如权利要求8所述的终端,其特征在于, 所述升级包解析模块还用于:解析所述升级包时,获取所述升级包中的静态文件升级包,写入指定区域; 所述升级模块还用于,根据所述静态文件升级包的信息对相应的静态文件进行升级。
10.如权利要求9所述的终端,其特征在于, 所述升级模块是用于:升级时先对所述相应的静态文件进行升级,再对所述相应的动态文件进行升级。
【文档编号】G06F9/445GK103513998SQ201210209785
【公开日】2014年1月15日 申请日期:2012年6月25日 优先权日:2012年6月25日
【发明者】赖立 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1