一种升级包管理方法及服务器的制造方法_2

文档序号:9826100阅读:来源:国知局
软件版本号一致的中间包时,则执行步骤S6。
[0043]以步骤S2中的举例进一步说明,当服务器首次执行步骤S4时,判断是否存储有软件版本号为v39的中间包,若判定存储有软件版本号为v39的中间包,则执行步骤S5,若判定未存储有软件版本号为v39的中间包,则执行步骤S6。
[0044]S5、根据上述获取的中间包和与上述目标软件版本号一致的中间包,生成增量升级包;
[0045]以步骤S4中的举例进一步说明,当服务器判定存储有软件版本号为v39的中间包时,根据步骤201获取的中间包(即软件版本号为v40的中间包)和软件版本号为v39的中间包,生成从v39到v40的增量升级包。
[0046]S6、将上述目标软件版本号作为当前软件版本号,返回步骤S2。
[0047]由于中间包是根据升级包源代码进行时产生的一个临时文件,因此,具体的,根据中间包进一步生成全量升级包和增量升级包的过程可以参照现有技术实现,此处不再赘述。
[0048]S7、结束生成增量升级包的流程。
[0049]步骤203、存储上述获取的中间包、上述全量升级包和上述预设数量的增量升级包;
[0050]服务器存储步骤201获取的中间包,步骤202生成的全量升级包和增量升级包,以便后续调用和供智能终端下载。
[0051]步骤204、删除历史存储的全量升级包和所有增量升级包。
[0052]本发明实施例的主机和服务器的架构示意图如图2-c所示,主机根据升级包源代码编译输出的中间包,将中间包上传到服务器,服务器获取中间包后,由自动化脚本调用升级包制作脚本,根据获取的中间包生成并存储全量升级包和η个增量升级包。进一步,自动化脚本删除历史存储的全量升级包和增量升级包。
[0053]需要说明的是,与本发明实施例中的服务器连接的智能终端可以智能手机、平板电脑、智能电视、掌上电脑(PDA, Personal Digital Assistant)等,此处不作限定。具体的,本发明实施例中的全量升级包和增量升级包可以为应用于Android系统的升级包,或者,也可以是应用于其它系统的升级包。
[0054]由上可见,本发明中主机根据升级包源代码编译出中间包后,只将中间包上传到服务器,由服务器完成升级包的制作,且服务器在新的升级包制作完成后,自动删除历史存储的升级包,服务器只需要保留和管理中间包和新制作的全量升级包和增量升级包,因此有效节省了服务器的存储空间,减小了服务器的压力(例如存储压力、管理压力等),进而提高了服务器的运行效率。
[0055]为便于更好地理解本发明技术方案,下面以图3为例,对本发明实施例中的升级包管理方法进一步进行描述,如图3所示,本发明实施例中的升级包管理方法包括:
[0056]步骤301?步骤304 ;
[0057]其中,步骤301?步骤304可如图2_a所示的步骤201?步骤204,其具体实现过程可以参照步骤201?步骤204的描述,此处不再赘述。
[0058]步骤305、接收来自智能终端的升级包下载请求消息;
[0059]其中,上述升级包下载请求消息中携带需要下载的升级包类型和软件版本号。本发明实施例中,升级包类型分为全量升级包和增量升级包两种。
[0060]本发明实施例中,服务器向智能终端提供升级包下载界面,智能终端可以通过该升级包下载界面向服务器发送升级包下载请求消息,具体的,智能终端可以在该升级包下载界面中选择需要下载的升级包类型和软件版本号后点击与选定升级包类型和软件版本号对应的链接,向服务器发送升级包下载请求消息。
[0061]步骤306、根据上述升级包下载请求消息获取相应的升级包;
[0062]服务器根据步骤305接收到的升级包下载请求消息中携带的升级包类型和软件版本号获取相应的升级包。
[0063]由步骤301?304可知,本发明实施例中服务器只存储中间包和最新生成的全量升级包和增量升级包(通常也即最新版本的全量升级包和增量升级包,为便于描述,下文需要时可将其统称为升级包),因此,当升级包下载请求消息请求的增量升级包存在时,月艮务器可直接获取存储的相应的增量升级包;当服务器上不存在与升级包下载请求消息对应的增量升级包时(这种情况通常是用户端版本太低以致于不在增量升级的预设范围内,或是用户首次下载安装的),服务器可直接获取存储的全量升级包。另外一种情况,当所请求的升级包不存在时(例如,用户请求升级到某一较高但非最新版本时),则服务器需要获取与上述升级包下载请求消息中携带的软件版本号一致的中间包,根据该中间包,生成与上述升级包下载请求消息所请求的升级包。
[0064]步骤307、将获取的升级包发送给上述智能终端;
[0065]本发明实施例中的服务器可以通过有线方式或无线方式将获取的升级包推送给上述智能终端。
[0066]需要说明的是,与本发明实施例中的服务器连接的智能终端可以智能手机、平板电脑、智能电视、PDA等,此处不作限定。具体的,本发明实施例中的全量升级包和增量升级包可以为应用于Android系统的升级包,或者,也可以是应用于其它系统的升级包。
[0067]由上可见,本发明中主机根据升级包源代码编译出中间包后,只将中间包上传到服务器,由服务器完成升级包的制作,且服务器在新的升级包制作完成后,自动删除历史存储的升级包,服务器只需要保留和管理中间包和新制作的全量升级包和增量升级包,因此有效节省了服务器的存储空间,减小了服务器的压力(例如存储压力、管理压力等),进而提高了服务器的运行效率。另外,由于服务器存储了中间包,因此,即使智能终端请求下载的升级包不存在时,服务器也可以根据智能终端请求下载的升级包的类型和软件版本号,调用相应的中间包生成相应的升级包后发送给智能终端,不会因为服务器将历史存储的升级包删除后导致智能终端无法下载。
[0068]本发明实施例还提供一种服务器,如图4所示,本发明实施例中的服务器400包括:
[0069]第一获取单元401,用于从主机获取中间包,其中,所述中间包为所述主机根据升级包源代码编译输出的中间文件;
[0070]生成单元402,用于根据第一获取单元401获取的中间包生成全量升级包和预设数量的增量升级包;
[0071]存储单元403,用于存储第一获取单元401获取的中间包、生成单元402生成的全量升级包和预设数量的增量升级包;
[0072]清理单元404,用于删除存储单元403历史存储的全量升级包和所有增量升级包。
[0073]可选的,生成单元402包括:第一计算单元,用于根据所述预设数量和所述获取的中间包的软件版本号计算最低版本号;第二计算单元,用于将当前软件版本号减一后作为目标软件版本号;判断单元,用于判断是否存储有与所述目标软件版本号一致的中间包;子生成单元,用于当所述存储单元存储有与所述目标软件版本号一致的中间包时,根据所述第一获取单元获取的中间包和与所述目标软件版本号一致的中间包,生成增量升级包;将所述目标软件版本号作为当前软件版本号,重新触发所述第二计算单元、所述判断单元和所述子生成单元,直至目标软件版本号小于所述最低版本号。
[0074]可选的,生成单元402还包括:确定单元,用于根据第一获取单元401获取的中间包中根目录下的文件夹名称确定需要升级的分区,其中,分区升级文件以文件夹形式存储在该中间包的根目录,且分区升级文件以相应分区的名称命名;生成单元402具体用于:将需要升级的分区的分区升级文件烧录到指定的全量升级包和/或增量升级包中。
[0075]可选的,本发明实施例中的服务器还包括:接收单元,用于接收来自智能终端的升级包下载请求消息,其中,所述升级包下载请求消息中携带需要下载的升级包类型和软件版本号;第二获取单元,用于根据所述接收单元接收到的升级包下载请求消息获取相应的升级包;发送单元,用于将所述第二获取单元获取的升级包发送给所
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1