名称:
软件更新系统及方法
摘要:
一种软件更新系统包括:获取模块,用于在该手机接收另一手机发送的软件更新请求后,获取所述请求方手机的型号、使用的操作系统及当前使用的该软件的版本号;比对模块,用于比对所述请求方手机的型号及使用的操作系统是否与该手机的型号及操作系统相同,并判断该请求方当前使用的该软件的版本号是否低于该手机中的该软件的版本号;发送模块,用于当该请求方手机的型号及操作系统分别与该手机的型号及操作系统相同,且该请求方手机当前使用的该软件的版本号低于该手机使用的该软件的版本号时将该软件的数据包发送至该请求方手机以更新其软件。本发明还提供一种软件更新方法。利用本发明可节省用户的网络费用。
权利要求:
1. 一种软件更新系统,运行于安装有蓝牙的手机中,其特征在于,所述软件更新系统包括:获取模块,用于在该手机接收同样运行有该软件更新系统的另一手机发送的软件更新请求后,获取所述请求方手机的型号、使用的操作系统及当前使用的该软件的版本号;比对模块,用于比对所述请求方手机的型号及使用的操作系统是否与该手机的型号及操作系统相同,并判断该请求方当前使用的该软件的版本号是否低于该手机中的该软件的版本号;发送模块,用于当该请求方手机的型号及操作系统分别与该手机的型号及操作系统相同,且该请求方手机当前使用的该软件的版本号低于该手机使用的该软件的版本号时将该软件的数据包发送至该请求方手机以更新其软件。
2.如权利要求I所述的软件更新系统,其特征在于,该系统还包括校验模块,用于计算所接收的软件的数据包的信息摘要算法值,并比对该计算的信息摘要算法值与手机制造商端提供的该版本号软件的信息摘要算法值是否一致;当计算的信息摘要算法值与手机制造商端提供的该版本号的软件的信息摘要算法值一致时,提示请求方手机进行该软件的安装,相反,则警告该版本号的软件被修改过。
3. 一种软件更新方法,运用于安装有蓝牙的手机中,该方法包括:(a)将手机的蓝牙激活并与同样运用有该软件更新方法的另一手机成功连接,该手机接收所述另一手机发送的软件更新请求;(b)依据该软件更新请求获取请求方手机的型号、使用的操作系统及当前使用的该软件的版本号;(c)比对请求方手机的型号及使用的操作系统是否与该手机的型号及操作系统相同;(d)若请求方手机的型号及使用的操作系统与该手机的型号及操作系统相同,则判断请求方手机当前使用的该软件的版本号是否低于该手机中的该软件的版本号;及(e)若请求方手机当前使用的该软件的版本号低于该手机使用的该软件的版本号时将该软件的数据包发送至请求方手机以更新其软件。
4.如权利要求3所述的软件更新方法,其特征在于,所述方法还包括步骤:当请求方手机接收完该手机传送的软件的数据包后,计算该接收的软件的数据包的信息摘要算法值;比对该计算的信息摘要算法值与手机制造商端提供的该版本号软件的信息摘要算法值是否一致;及当计算的信息摘要算法值与手机制造商端提供的该版本号的软件的信息摘要算法值一致时,提示请求方手机进行该软件的安装,相反,则警告该版本号的软件被修改过。
说明:
软件更新系统及方法技术领域[0001] 本发明涉及一种手机软件更新系统及方法。
背景技术:
[0002] 随着手机功能的增加,手机内的应用软件越来越多。为了完善及增加某个功能,手机内的软件版本需得到不断的更新。目前通常采用FOTA(Firmware over the air)的方式来进行软件的更新,即用户通过手机上网与手机制造商端服务器进行连接以下载最新版本的软件来进行版本的更新。但目前使用的3G网络的传输性能不稳定,用户在进行下载过程中经常会发生中断,且由于网络速度的缓慢导致用户需要花很长时间才能成功将软件下载完。由此,用户需支出较多的网络费用来更新其软件。
发明内容“
[0003] 鉴于以上内容,本发明较佳实施例提供一种软件更新系统及方法,其解决了传统手机只能连接到手机制造商端进行软件版本的更新,而不能点对点从下载有最新版本软件的同型号手机处进行软件更新的问题。[0004] 一种软件更新系统,运行于安装有蓝牙的手机中,所述软件更新系统包括:[0005] 获取模块,用于在该手机接收另一手机发送的软件更新请求后,获取所述请求方手机的型号、使用的操作系统及当前使用的该软件的版本号;[0006] 比对模块,用于比对所述请求方手机的型号及使用的操作系统是否与该手机的型号及操作系统相同,并判断该请求方当前使用的该软件的版本号是否低于该手机中的该软件的版本号;[0007] 发送模块,用于当该请求方手机的型号及操作系统分别与该手机的型号及操作系统相同,且该请求方手机当前使用的该软件的版本号低于该手机使用的该软件的版本号时将该软件的数据包发送至该请求方手机以更新其软件。[0008] 一种软件更新方法,运用于安装有蓝牙的手机中,该方法包括:[0009] (a)将手机的蓝牙激活并与另一手机成功连接,该手机接收所述另一手机发送的软件更新请求;[0010] (b)依据该软件更新请求获取请求方手机的型号、使用的操作系统及当前使用的该软件的版本号;[0011] (C)比对请求方手机的型号及使用的操作系统是否与该手机的型号及操作系统相同;[0012] (d)若请求方手机的型号及使用的操作系统与该手机的型号及操作系统相同,则判断请求方手机当前使用的该软件的版本号是否低于该手机中的该软件的版本号;及[0013] (e)若请求方手机当前使用的该软件的版本号低于该手机使用的该软件的版本号时将该软件的数据包发送至请求方手机以更新其软件。[0014] 相较于现有技术,所述的软件更新系统及方法,通过点对点的进行软件的数据包的传输以完成软件版本的更新。因此,用户无需连接至手机制造商端进行最新版本的软件的下载,只需从相同型号并下载有最新版本软件的手机处下载最新版本的软件,从而节省用户的网络费用。附图说明[0015] 图I是本发明软件更新系统的功能模块及实施架构图。[0016] 图2是本发明软件更新方法的工作流程图。具体实施方式[0017] 如图I所示,是本发明软件更新系统的较佳实施例的功能模块及实施架构图。所述软件更新系统10、20分别安装于至少两个手机中,如本较佳实施例的手机1、2。所述手机1、2分别安装有蓝牙12、22。通过所述蓝牙12、22可以使手机I与手机2建立连接并进行较短距离的数据传输。[0018] 所述手机1、2分别包括内存14、24。所述内存14、24存储有各类数据,包括操作系统、各种应用程序、及运用所述软件更新系统10、20过程中所生成的数据,如软件版本号、手机型号等。所述的内存14、24可以是该手机本身的内存,还可以是外部存储卡,如SM 卡(Smart Media Card,智能媒体卡)、SD 卡(Secure Digital Card,安全数字卡)、CF 卡 (Compact Flash Card,标准闪存卡)、MMC卡(Multi Media Card,多媒体卡)、MS 卡(Memory Stick,记忆棒)、XD 卡(Extreme Digital Card,极限数字卡)、TF 卡(TransFlash Card)坐寸ο[0019] 所述软件更新系统10、20是具有特定功能的程序段,通过执行该程序段可以让安装有蓝牙的手机相互间进行点对点的软件更新。具体而言,若手机2安装有最新版本的应用软件,而手机I可以运行所述软件更新系统20来与手机2进行点对点的软件更新以使手机I安装所述最新版本的应用软件。[0020] 所述软件更新系统10、20包括获取模块100、200 ;比对模块120、220及发送模块 140,240ο[0021] 为方便说明,以手机2对手机I进行点对点软件更新为例子说明。需要说明的是, 手机I和手机2的角色可以互调。[0022] 手机I的蓝牙12及手机2的蓝牙22激活后,手机I发送一连接请求至手机2,手机2的蓝牙22响应该请求并进行连接。当连接成功后,用户通过手机I发送一更新其软件 A的请求至手机2。所述更新其软件A的请求包括软件A的名称信息。[0023] 在接收手机I发送过来的更新其软件A的请求后,手机2的获取模块200依据该请求获取手机I的型号、操作系统及当前使用的该软件A的版本号。[0024] 比对模块220比对手机I的手机型号及操作系统是否分别与手机2的手机型号及操作系统相同,当手机I的手机型号与操作系统与手机2的手机型号及操作系统都相同时继续判断手机I使用的软件A的版本号是否低于手机2使用的软件A的版本号。[0025] 当手机I中的软件A的版本号低于手机2的软件A的版本号时,发送模块240通过蓝牙22将手机2中的软件A的数据包传送至手机I。[0026] 蓝牙12接收手机2传送的软件A的数据包。当接收完成后,用户可根据需要进行4安装以覆盖先前使用的较低版本的软件A。[0027] 为加强手机的安全性,所述软件更新系统10、20还包括校验模块150、250,用于计算手机接收的高版本的软件A的数据包的MD5 (message-digest algorithm 5,信息摘要算法)值,并连接网络获取手机制造商提供的该高版本的软件A的MD5码;比对所计算得到的 MD5码是否与手机制造商提供的MD5码一致。如果一致,则提示手机I的用户可进行该软件 A的安装;相反,如果不一致,则警告用户该接收的高版本的软件A被修改过。所述MD5码被广泛用于加密和解密技术上,它可以说是文件的“数字指纹”。任何文件,无论是可执行程序、图像文件、临时文件或者其他任何类型的文件,也不管它体积多大,都有且只有独一无二的MD5信息值,并且如果这个文件被修改过,它的MD5值也将随之改变。因此,我们可以通过对比同一文件的MD5值,来校验这个文件是否被“篡改”过。[0028] 图2是本发明的软件更新方法的工作流程图。同样,为方便说明,现以手机2对手机I进行点对点的软件A的更新为例。[0029] 步骤S201,激活蓝牙12及蓝牙14以将手机I与手机2进行连接。[0030] 步骤S202,当手机I与手机2成功连接后,用户通过手机I发送更新其软件A的请求至手机2,所述请求包括软件A的名称信息。[0031 ] 步骤S203,手机2接收该更新其软件A的请求后,所述获取模块200依据该请求获取获取手机I的手机型号、操作系统及当前使用的该软件A的版本号信息。[0032] 步骤S204,所述比对模块220比对并判断手机I的手机型号及操作系统是否与手机2的手机型号及操作系统是否一致。如果是一致,则执行步骤S205 ;如果不一致,则本流程结束。[0033] 步骤S205,所述比对模块220比对获取的手机I的软件A的版本号与手机2当前使用的软件A的版本号,判断手机I使用的软件A的版本号是否低于手机2使用的软件A 的版本号。如果手机I的软件A的版本号低于手机2使用的软件A的版本号,则执行步骤 S206 ;相反,则流程结束。[0034] 步骤S206,发送模块240通过蓝牙22将手机2中的软件A的数据包发送至手机 I。[0035] 步骤S207,蓝牙12接收手机2传送的高版本的软件A的数据包,校验模块150对所接收的软件A的数据包进行计算得到MD5码。[0036] 步骤S208,手机I连接网络获取手机制造商端提供的该高版本的软件A的MD5码。[0037] 步骤S209,所述校验模块150对所述计算得到的MD5码与获取得到的软件A的MD5 码进行比对,当匹配后,提示手机I的用户安装该接收的高版本号软件A。如果不匹配则警告用户该接收的软件被修改过,存在安全隐患。[0038] 通过蓝牙12、22点对点的进行软件的数据包的传输,用户在接收完后可进行后续安装。当在传输过程中,因特殊原因未能一次性传输完全,则下次还可继续传输剩余的数据。通过这种方式,用户不必要连接到手机制造商端进行网络下载以节省网络费用。
附图: