软件更新方法及系统以及移动装置的制造方法
【技术领域】
[0001]本发明涉及软件更新方法,特别是涉及提供安全保护以及下载检查机制的软件更新方法。
【背景技术】
[0002]固件无线更新或空中固件升级(Firmware Over-the_Air ;F0TA),是用于诸如智能型手机和平板计算机等移动装置的升级,包括软件更新、固件更新和设备管理等功能。这种更新方式让使用者可以通过手机网络或者W1-Fi网络下载新版更新软件,并在目前广为一般Android系统的手机使用者使用。因此,为了确保一般移动装置在进行无线更新时能顺利完成,本发明提出一套对应的数据安全保护方法以及下载检查机制。
【发明内容】
[0003]本发明的一实施例提供一种软件更新方法。该软件更新方法包括:对一原生软件包执行加密及压缩以得到一发行软件包;依一移动装置的下载要求,将该发行软件包自一服务伺服器传送至该移动装置;以及对该移动装置进行配置检查是否符合要求,若符合则解压缩该发行软件包。
[0004]本发明的一实施例提供一种软件更新系统。该软件更新系统包括一服务伺服器与一移动装置。该服务伺服器包括:一第一处理单元以及一通讯单元。该移动装置包括一接收单元以及一第二处理单元。该第一处理单元对一原生软件包执行加密及压缩以得到一发行软件包。该通讯单元用以依该移动装置的下载要求,将该发行软件包传送至该移动装置。该接收单元接收该发行软件包。该第二处理单元对该移动装置进行配置检查是否符合要求,若符合则解压缩该发行软件包。
[0005]本发明的一实施例提供一种移动装置。该包括移动装置一接收单元以及一处理单元。该接收单元自一服务伺服器接收经过加密及压缩的一发行软件包。该处理单元对该移动装置进行配置检查是否符合要求,若符合则解压该发行软件包。
【附图说明】
[0006]图1是说明本发明的软件更新系统10的区块图。
[0007]图2是说明本发明的移动装置20的区块图。
[0008]图3是以流程图举例说明本发明的软件更新方法。
[0009]图4是以流程图举例说明第二处理单元112执行配置检查的流程。
[0010]附图符号说明
[0011]10?软件更新系统
[0012]100?服务伺服器
[0013]110、20?移动装置
[0014]101?通讯单元
[0015]102?第一处理单元
[0016]lll、21?接收单元
[0017]112?第二处理单元
[0018]113、23?存储器单元
[0019]22?处理单元
【具体实施方式】
[0020]如图1所示的实施例,本发明的软件更新系统10可为一服务伺服器100与移动装置110 ;但本发明并不以此为限。在本实施例中,服务伺服器100包括一通讯单元101以及一第一处理单元102,移动装置110包括一接收单元111、一第二处理单元112以及一存储器单元113。
[0021]服务伺服器100中的第一处理单元102对一原生软件包执行加密及压缩以得到一发行软件包。在此,该原生软件包用以更新移动装置110所搭载的平台操作系统,在此该原生软件例如是用以更新Android操作系统的软件包;但本发明并不以此为限。在通讯单元101通过因特网接收到来自移动装置110的下载要求后,通讯单元101将该发行软件包通过因特网传送至移动装置110。或是移动装置110的供应厂商在推出新的发行软件包时,即利用通讯单元101通过因特网将新的发行软件包传送至指定的移动装置110。在此,因特网是指手机无线网络或是W1-Fi无线网络,而移动装置110为搭载Android操作系统的一智能型手机(但本发明并非限定于此)。移动装置110中的接收单元111接收该发行软件包。最后,移动装置110中的第二处理单元112对移动装置110进行配置检查是否符合特定的规格要求或是操作条件要求。若移动装置110的配置符合前述要求,则第二处理单元112解压缩该发行软件包。
[0022]在本实施例中,第一处理单元102准备一第一钥匙加密该原生软件包,其加密方法可以米用Open SSL (Secure Sockets Layer protocol)技术中的对称式加密法;但本发明并不以此为限。接着,第一处理单元102计算加密过的该原生软件包得到一校验和数值(checksum)。该校验和数值通过信息-摘要演算法(Message-digest Algorithm5 ;MD5)对该原生软件包文件计算得出的一 MD5数值,其中信息-摘要演算法亦可由任何将电子文件编码成一数值的演算法取代。第一处理单元102将加密过的该原生软件包、该校验和数值连同该原生软件包的版本号码(例如,Android4.3版本)一并压缩成该发行软件包。最后,再藉由通讯单元101将该发行软件包通过因特网发送至移动装置110。在移动装置110通过接收单元111接收该发行软件包之后,移动装置110中的第二处理单元112先对移动装置110进行配置检查。
[0023]在本实施例中,执行的配置检查项目可包括:移动装置110的存储器容量、电池电量以及装置状态(充电状态)。执行配置检查的目的在于防止移动装置110更新失败的意外状况发生。首先,第二处理单元112检查存储器单元113的容量是否足够下载该发行软件包。在此,存储器单元113为移动装置110中的一存储器快取。接着,第二处理单元112检查移动装置110的电池电量是否大于一第一电量,其中该第一电量为移动装置110进行更新所需的基本电量。例如,检查移动装置110的电池电量是否超过10%。最后,第二处理单元112检查移动装置110的装置状态,例如,当检查移动装置110正在进行充电,则无法通过配置检查。移动装置110的装置状态亦可包括移动装置110是否正在执行重要应用功能,例如,使用者正在使用移动装置110进行通话或是移动装置110正在执行驾驶导航应用程序。值得注意的是上述配置检查可通过一程序执行(例如,智能型手机中的应用程序)。若所有配置检查皆符合前述要求,第二处理单元112解压缩该发行软件包得到加密过的该原生软件包、该校验和数值以及该原生软件包的版本号码;反之第二处理单元112告知更新失败。
[0024]第二处理单元112检查该校验和数值以及该原生软件包的版本号码是否符合。若符合则重新启动(reboot)移动装置110进入恢复模式(Recovery mode);反之第二处理单元112告知更新失败。在移动装置110进入恢复模式(Recovery mode)后,第二处理单元112使用该第一钥匙解密出该原生软件包,并使用该原生软件包更新移动装置110所搭载的Android操作系统。
[0025]图2是说明本发明的移动装置20的一实施例。如图2所示,移动装置20包括一接收单元21、一处理单元22以及一存储器单元23。在此,移动装置20为搭载Android操作系统的一智能型手机(但本发明并非限定于此)。接收单元21自一服务伺服器接收经过压缩的一发行软件包。在此,该发行软件包用以更新移动装置20所搭载的Android操作系统,例如,用以更新成Android4.3版本的软件包;但本发明并不以此为限。
[0026]处理单元22对移动装置20进行配置检查是否符合要求。首先,处理单元22检查存储器单元23的容量是否足够下载该发行软件包。在此,存储器单元23为移动装置20中的一存储器快取。接着,处理单元22检查移动装置20的电量是否大于一第一电量,其中该第一电量为移动装置20进行更新所需的基本电量。处理单元