專利名稱:軟件更新系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種手機(jī)軟件更新系統(tǒng)及方法。
背景技術(shù):
隨著手機(jī)功能的增加,手機(jī)內(nèi)的應(yīng)用軟件越來越多。為了完善及增加某個功能,手機(jī)內(nèi)的軟件版本需得到不斷的更新。目前通常采用FOTA (Firmware over the air)的方式來進(jìn)行軟件的更新,即用戶通過手機(jī)上網(wǎng)與手機(jī)制造商端服務(wù)器進(jìn)行連接以下載最新版本的軟件來進(jìn)行版本的更新。但目前使用的3G網(wǎng)絡(luò)的傳輸性能不穩(wěn)定,用戶在進(jìn)行下載過程中經(jīng)常會發(fā)生中斷,且由于網(wǎng)絡(luò)速度的緩慢導(dǎo)致用戶需要花很長時間才能成功將軟件下載完。由此,用戶需支出較多的網(wǎng)絡(luò)費(fèi)用來更新其軟件。
發(fā)明內(nèi)容
鑒于以上內(nèi)容,本發(fā)明較佳實(shí)施例提供一種軟件更新系統(tǒng)及方法,其解決了傳統(tǒng)手機(jī)只能連接到手機(jī)制造商端進(jìn)行軟件版本的更新,而不能點(diǎn)對點(diǎn)從下載有最新版本軟件的同型號手機(jī)處進(jìn)行軟件更新的問題。
一種軟件更新系統(tǒng),運(yùn)行于安裝有藍(lán)牙的手機(jī)中,所述軟件更新系統(tǒng)包括
獲取模塊,用于在該手機(jī)接收另一手機(jī)發(fā)送的軟件更新請求后,獲取所述請求方手機(jī)的型號、使用的操作系統(tǒng)及當(dāng)前使用的該軟件的版本號;
比對模塊,用于比對所述請求方手機(jī)的型號及使用的操作系統(tǒng)是否與該手機(jī)的型號及操作系統(tǒng)相同,并判斷該請求方當(dāng)前使用的該軟件的版本號是否低于該手機(jī)中的該軟件的版本號;
發(fā)送模塊,用于當(dāng)該請求方手機(jī)的型號及操作系統(tǒng)分別與該手機(jī)的型號及操作系統(tǒng)相同,且該請求方手機(jī)當(dāng)前使用的該軟件的版本號低于該手機(jī)使用的該軟件的版本號時將該軟件的數(shù)據(jù)包發(fā)送至該請求方手機(jī)以更新其軟件。
一種軟件更新方法,運(yùn)用于安裝有藍(lán)牙的手機(jī)中,該方法包括
(a) 將手機(jī)的藍(lán)牙激活并與另一手機(jī)成功連接,該手機(jī)接收所述另一手機(jī)發(fā)送的軟件更新請求;
(b) 依據(jù)該軟件更新請求獲取請求方手機(jī)的型號、使用的操作系統(tǒng)及當(dāng)前使用的該軟件的版本號;
4(c) 比對請求方手機(jī)的型號及使用的操作系統(tǒng)是否與該手機(jī)的型號及操作系統(tǒng)相同;
(d) 若請求方手機(jī)的型號及使用的操作系統(tǒng)與該手機(jī)的型號及操作系統(tǒng)相同,則判斷 請求方手機(jī)當(dāng)前使用的該軟件的版本號是否低于該手機(jī)中的該軟件的版本號;及
(e) 若請求方手機(jī)當(dāng)前使用的該軟件的版本號低于該手機(jī)使用的該軟件的版本號時將 該軟件的數(shù)據(jù)包發(fā)送至請求方手機(jī)以更新其軟件。
相較于現(xiàn)有技術(shù),所述的軟件更新系統(tǒng)及方法,通過點(diǎn)對點(diǎn)的進(jìn)行軟件的數(shù)據(jù)包的傳輸 以完成軟件版本的更新。因此,用戶無需連接至手機(jī)制造商端進(jìn)行最新版本的軟件的下載, 只需從相同型號并下載有最新版本軟件的手機(jī)處下載最新版本的軟件,從而節(jié)省用戶的網(wǎng)絡(luò) 費(fèi)用。
圖l是本發(fā)明軟件更新系統(tǒng)的功能模塊及實(shí)施架構(gòu)圖。
圖2是本發(fā)明軟件更新方法的工作流程圖。
具體實(shí)施例方式
如圖1所示,是本發(fā)明軟件更新系統(tǒng)的較佳實(shí)施例的功能模塊及實(shí)施架構(gòu)圖。所述軟件 更新系統(tǒng)IO、 20分別安裝于至少兩個手機(jī)中,如本較佳實(shí)施例的手機(jī)l、 2。所述手機(jī)l、 2分 別安裝有藍(lán)牙12、 22。通過所述藍(lán)牙12、 22可以使手機(jī)1與手機(jī)2建立連接并進(jìn)行較短距離的 數(shù)據(jù)傳輸。
所述手機(jī)l、 2分別包括內(nèi)存14、 24。所述內(nèi)存14、 24存儲有各類數(shù)據(jù),包括操作系統(tǒng)、 各種應(yīng)用程序、及運(yùn)用所述軟件更新系統(tǒng)IO、 20過程中所生成的數(shù)據(jù),如軟件版本號、手機(jī) 型號等。所述的內(nèi)存14、 24可以是該手機(jī)本身的內(nèi)存,還可以是外部存儲卡,如SM卡( Smart Media Card,智能媒體卡)、SD卡(Secure Digital Card,安全數(shù)字卡)、CF卡( Compact Flash Card,標(biāo)準(zhǔn)閃存卡)、麗C卡(Multi Media Card,多媒體卡)、MS卡( Memory Stick,記憶棒)、XD卡(Extreme Digital Card,極限數(shù)字卡)、TF卡(Trans Flash Card)等。
所述軟件更新系統(tǒng)IO、 20是具有特定功能的程序段,通過執(zhí)行該程序段可以讓安裝有藍(lán) 牙的手機(jī)相互間進(jìn)行點(diǎn)對點(diǎn)的軟件更新。具體而言,若手機(jī)2安裝有最新版本的應(yīng)用軟件, 而手機(jī)1可以運(yùn)行所述軟件更新系統(tǒng)20來與手機(jī)2進(jìn)行點(diǎn)對點(diǎn)的軟件更新以使手機(jī)1安裝所述 最新版本的應(yīng)用軟件。
所述軟件更新系統(tǒng)IO、 20包括獲取模塊100、 200;比對模塊120、 220及發(fā)送模塊140、
240。為方便說明,以手機(jī)2對手機(jī)1進(jìn)行點(diǎn)對點(diǎn)軟件更新為例子說明。需要說明的是,手機(jī)l 和手機(jī)2的角色可以互調(diào)。
手機(jī)1的藍(lán)牙12及手機(jī)2的藍(lán)牙22激活后,手機(jī)1發(fā)送一連接請求至手機(jī)2,手機(jī)2的藍(lán)牙 22響應(yīng)該請求并進(jìn)行連接。當(dāng)連接成功后,用戶通過手機(jī)1發(fā)送一更新其軟件A的請求至手機(jī) 2。所述更新其軟件A的請求包括軟件A的名稱信息。
在接收手機(jī)1發(fā)送過來的更新其軟件A的請求后,手機(jī)2的獲取模塊200依據(jù)該請求獲取手 機(jī)1的型號、操作系統(tǒng)及當(dāng)前使用的該軟件A的版本號。
比對模塊220比對手機(jī)1的手機(jī)型號及操作系統(tǒng)是否分別與手機(jī)2的手機(jī)型號及操作系統(tǒng) 相同,當(dāng)手機(jī)1的手機(jī)型號與操作系統(tǒng)與手機(jī)2的手機(jī)型號及操作系統(tǒng)都相同時繼續(xù)判斷手機(jī) l使用的軟件A的版本號是否低于手機(jī)2使用的軟件A的版本號。
當(dāng)手機(jī)1中的軟件A的版本號低于手機(jī)2的軟件A的版本號時,發(fā)送模塊240通過藍(lán)牙22將 手機(jī)2中的軟件A的數(shù)據(jù)包傳送至手機(jī)1 。
藍(lán)牙12接收手機(jī)2傳送的軟件A的數(shù)據(jù)包。當(dāng)接收完成后,用戶可根據(jù)需要進(jìn)行安裝以覆 蓋先前使用的較低版本的軟件A。
為加強(qiáng)手機(jī)的安全性,所述軟件更新系統(tǒng)IO、 20還包括校驗(yàn)?zāi)K150、 250,用于計(jì)算手 機(jī)接收的高版本的軟件A的數(shù)據(jù)包的MD5 (message-digest algorithm 5,信息-摘要算法) 值,并連接網(wǎng)絡(luò)獲取手機(jī)制造商提供的該高版本的軟件A的MD5碼;比對所計(jì)算得到的MD5碼 是否與手機(jī)制造商提供的MD5碼一致。如果一致,則提示手機(jī)1的用戶可進(jìn)行該軟件A的安裝 ;相反,如果不一致,則警告用戶該接收的高版本的軟件A被修改過。所述MD5碼被廣泛用于 加密和解密技術(shù)上,它可以說是文件的"數(shù)字指紋"。任何文件,無論是可執(zhí)行程序、圖像 文件、臨時文件或者其他任何類型的文件,也不管它體積多大,都有且只有獨(dú)一無二的MD5 信息值,并且如果這個文件被修改過,它的MD5值也將隨之改變。因此,我們可以通過對比 同一文件的MD5值,來校驗(yàn)這個文件是否被"篡改"過。
圖2是本發(fā)明的軟件更新方法的工作流程圖。同樣,為方便說明,現(xiàn)以手機(jī)2對手機(jī)1進(jìn) 行點(diǎn)對點(diǎn)的軟件A的更新為例。
步驟S201 ,激活藍(lán)牙12及藍(lán)牙14以將手機(jī)l與手機(jī)2進(jìn)行連接。
步驟S202,當(dāng)手機(jī)1與手機(jī)2成功連接后,用戶通過手機(jī)1發(fā)送更新其軟件A的請求至手機(jī) 2,所述請求包括軟件A的名稱信息。
步驟S203,手機(jī)2接收該更新其軟件A的請求后,所述獲取模塊200依據(jù)該請求獲取獲取 手機(jī)l的手機(jī)型號、操作系統(tǒng)及當(dāng)前使用的該軟件A的版本號信息。步驟S204,所述比對模塊220比對并判斷手機(jī)1的手機(jī)型號及操作系統(tǒng)是否與手機(jī)2的手 機(jī)型號及操作系統(tǒng)是否一致。如果是一致,則執(zhí)行步驟S205;如果不一致,則本流程結(jié)束。
步驟S205,所述比對模塊220比對獲取的手機(jī)1的軟件A的版本號與手機(jī)2當(dāng)前使用的軟件 A的版本號,判斷手機(jī)1使用的軟件A的版本號是否低于手機(jī)2使用的軟件A的版本號。如果手 機(jī)1的軟件A的版本號低于手機(jī)2使用的軟件A的版本號,則執(zhí)行步驟S206;相反,則流程結(jié)束
步驟S206,發(fā)送模塊240通過藍(lán)牙22將手機(jī)2中的軟件A的數(shù)據(jù)包發(fā)送至手機(jī)1。 步驟S207,藍(lán)牙12接收手機(jī)2傳送的高版本的軟件A的數(shù)據(jù)包,校驗(yàn)?zāi)K150對所接收的
軟件A的數(shù)據(jù)包進(jìn)行計(jì)算得到MD5碼。
步驟S208,手機(jī)1連接網(wǎng)絡(luò)獲取手機(jī)制造商端提供的該高版本的軟件A的MD5碼。 步驟S209,所述校驗(yàn)?zāi)K150對所述計(jì)算得到的MD5碼與獲取得到的軟件A的MD5碼進(jìn)行比
對,當(dāng)匹配后,提示手機(jī)1的用戶安裝該接收的高版本號軟件A。如果不匹配則警告用戶該接
收的軟件被修改過,存在安全隱患。
通過藍(lán)牙12、 22點(diǎn)對點(diǎn)的進(jìn)行軟件的數(shù)據(jù)包的傳輸,用戶在接收完后可進(jìn)行后續(xù)安裝。
當(dāng)在傳輸過程中,因特殊原因未能一次性傳輸完全,則下次還可繼續(xù)傳輸剩余的數(shù)據(jù)。通過
這種方式,用戶不必要連接到手機(jī)制造商端進(jìn)行網(wǎng)絡(luò)下載以節(jié)省網(wǎng)絡(luò)費(fèi)用。
權(quán)利要求
1.一種軟件更新系統(tǒng),運(yùn)行于安裝有藍(lán)牙的手機(jī)中,其特征在于,所述軟件更新系統(tǒng)包括獲取模塊,用于在該手機(jī)接收另一手機(jī)發(fā)送的軟件更新請求后,獲取所述請求方手機(jī)的型號、使用的操作系統(tǒng)及當(dāng)前使用的該軟件的版本號;比對模塊,用于比對所述請求方手機(jī)的型號及使用的操作系統(tǒng)是否與該手機(jī)的型號及操作系統(tǒng)相同,并判斷該請求方當(dāng)前使用的該軟件的版本號是否低于該手機(jī)中的該軟件的版本號;發(fā)送模塊,用于當(dāng)該請求方手機(jī)的型號及操作系統(tǒng)分別與該手機(jī)的型號及操作系統(tǒng)相同,且該請求方手機(jī)當(dāng)前使用的該軟件的版本號低于該手機(jī)使用的該軟件的版本號時將該軟件的數(shù)據(jù)包發(fā)送至該請求方手機(jī)以更新其軟件。
2 如權(quán)利要求l所述的軟件更新系統(tǒng),其特征在于,該系統(tǒng)還包括校 驗(yàn)?zāi)K,用于計(jì)算所接收的軟件的數(shù)據(jù)包的信息摘要算法值,并比對該計(jì)算的信息摘要算法 值與手機(jī)制造商端提供的該版本號軟件的信息摘要算法值是否一致;當(dāng)計(jì)算的信息摘要算法 值與手機(jī)制造商端提供的該版本號的軟件的信息摘要算法值一致時,提示請求方手機(jī)進(jìn)行該 軟件的安裝,相反,則警告該版本號的軟件被修改過。
3 一種軟件更新方法,運(yùn)用于安裝有藍(lán)牙的手機(jī)中,該方法包括(a) 將手機(jī)的藍(lán)牙激活并與另一手機(jī)成功連接,該手機(jī)接收所述另一手機(jī)發(fā)送的軟件 更新請求;(b) 依據(jù)該軟件更新請求獲取請求方手機(jī)的型號、使用的操作系統(tǒng)及當(dāng)前使用的該軟 件的版本號;(c) 比對請求方手機(jī)的型號及使用的操作系統(tǒng)是否與該手機(jī)的型號及操作系統(tǒng)相同;(d) 若請求方手機(jī)的型號及使用的操作系統(tǒng)與該手機(jī)的型號及操作系統(tǒng)相同,則判斷 請求方手機(jī)當(dāng)前使用的該軟件的版本號是否低于該手機(jī)中的該軟件的版本號;及(e) 若請求方手機(jī)當(dāng)前使用的該軟件的版本號低于該手機(jī)使用的該軟件的版本號時將該軟件的數(shù)據(jù)包發(fā)送至請求方手機(jī)以更新其軟件。
4 如權(quán)利要求3所述的軟件更新方法,其特征在于,所述方法還包括步驟當(dāng)請求方手機(jī)接收完該手機(jī)傳送的軟件的數(shù)據(jù)包后,計(jì)算該接收的軟件的數(shù)據(jù)包的信息摘要算法值;比對該計(jì)算的信息摘要算法值與手機(jī)制造商端提供的該版本號軟件的信息摘要算法值 是否一致;及當(dāng)計(jì)算的信息摘要算法值與手機(jī)制造商端提供的該版本號的軟件的信息摘要算法值一 致時,提示請求方手機(jī)進(jìn)行該軟件的安裝,相反,則警告該版本號的軟件被修改過。
全文摘要
一種軟件更新系統(tǒng)包括獲取模塊,用于在該手機(jī)接收另一手機(jī)發(fā)送的軟件更新請求后,獲取所述請求方手機(jī)的型號、使用的操作系統(tǒng)及當(dāng)前使用的該軟件的版本號;比對模塊,用于比對所述請求方手機(jī)的型號及使用的操作系統(tǒng)是否與該手機(jī)的型號及操作系統(tǒng)相同,并判斷該請求方當(dāng)前使用的該軟件的版本號是否低于該手機(jī)中的該軟件的版本號;發(fā)送模塊,用于當(dāng)該請求方手機(jī)的型號及操作系統(tǒng)分別與該手機(jī)的型號及操作系統(tǒng)相同,且該請求方手機(jī)當(dāng)前使用的該軟件的版本號低于該手機(jī)使用的該軟件的版本號時將該軟件的數(shù)據(jù)包發(fā)送至該請求方手機(jī)以更新其軟件。本發(fā)明還提供一種軟件更新方法。利用本發(fā)明可節(jié)省用戶的網(wǎng)絡(luò)費(fèi)用。
文檔編號H04M1/725GK101662533SQ200810304219
公開日2010年3月3日 申請日期2008年8月27日 優(yōu)先權(quán)日2008年8月27日
發(fā)明者林志軒 申請人:深圳富泰宏精密工業(yè)有限公司;奇美通訊股份有限公司