一種基于透明計算的智能終端軟件更新方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種操作系統(tǒng)及軟件的更新方法,尤其涉及一種基于透明計算的智能終端操作系統(tǒng)及軟件的更新方法。
【背景技術(shù)】
[0002]智能終端因其體積小巧,功能多樣,應(yīng)用也越來越廣泛,其應(yīng)用日益深入用戶的日常生活。同時,智能終端的操作系統(tǒng)及應(yīng)用軟件的更新?lián)Q代速度也越來越快,用戶為了獲得新的應(yīng)用功能,或者獲得更好的用戶體驗,需要隨時根據(jù)智能終端的操作系統(tǒng)及應(yīng)用軟件的版本更新情況,及時下載更新操作系統(tǒng)或應(yīng)用軟件。在現(xiàn)有技術(shù)中,智能終端的操作系統(tǒng)或應(yīng)用軟件更新過程一般需要經(jīng)過從服務(wù)端下載完整更新升級包,再將該更新升級包部署至本地存儲器,從而更新本地存儲器中的操作系統(tǒng)或應(yīng)用軟件?,F(xiàn)有的升級更新模式,存在更新升級時間長,并且需要占用大量存儲空間的缺點。
[0003]透明計算是一種用戶無需感知計算機操作系統(tǒng)、中間件、應(yīng)用程序和通信網(wǎng)絡(luò)的具體所在,只需根據(jù)自己的需求,通過網(wǎng)絡(luò)從所使用的各種終端設(shè)備(包括固定、移動、以及家庭中的各類終端設(shè)備)中選擇并使用相應(yīng)服務(wù)(例如計算、電話、電視、上網(wǎng)和娛樂等)的計算模式。
[0004]基于透明計算的軟件執(zhí)行模式,將軟件(操作系統(tǒng)視為一類特殊軟件)劃分為程序段和外部資源,其中程序段又包括只讀部分和讀寫部分。如圖1所示,基于透明計算的智能終端的軟件部署結(jié)構(gòu)包括底層的底層驅(qū)動和超級系統(tǒng)(Meta OS),以及運行在超級系統(tǒng)上的操作系統(tǒng),該操作系統(tǒng)為一個實例操作系統(tǒng),以及運行在實例操作系統(tǒng)上的應(yīng)用軟件?;谕该饔嬎愕闹悄芙K端,本地存儲器中不存儲軟件,而是在用戶需要運行軟件時,直接從服務(wù)端下載軟件的程序段并加載至內(nèi)存中運行,即可實現(xiàn)軟件的啟動運行,在軟件的運行過程中,根據(jù)軟件對外部資源的需求,按需從服務(wù)端下載外部資源,供軟件調(diào)用。由于閃存的讀取速度與內(nèi)存的讀取速度相當(dāng),智能終端只將該程序的讀寫部分存儲在內(nèi)存中,而將程序的只讀部分存儲在閃存中,只讀的外部資源也存儲在閃存中,在程序運行中直接從閃存中讀取需要數(shù)據(jù),這種策略一方面降低了程序在運行過程中對內(nèi)存存儲容量的需求,另一方面也保證了程序能夠流暢運行。并且,由于閃存具備長期存儲數(shù)據(jù)的特征,因此,閃存中存儲的程序只讀部分和外部資源在程序運行時無需每次都從服務(wù)端下載,可直接從閃存中讀取,降低了智能終端與服務(wù)端的通信頻率,提高了智能終端的程序運行效率。但這也導(dǎo)致了需要根據(jù)服務(wù)端對操作系統(tǒng)或應(yīng)用軟件的升級情況,操作系統(tǒng)視為一種特殊的軟件,對智能終端閃存中所存儲的程序只讀部分進行同步升級的問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明要解決的技術(shù)問題就在于:針對現(xiàn)有技術(shù)存在的技術(shù)問題,本發(fā)明提供一種簡單、方便、對用戶透明的基于透明計算的智能終端軟件更新方法。
[0006]為解決上述技術(shù)問題,本發(fā)明提出的技術(shù)方案為:一種基于透明計算的智能終端軟件更新方法,包括如下步驟:
51.智能終端獲取軟件的啟動指令,判斷本地閃存中是否存儲有所述軟件的只讀部分,是則跳轉(zhuǎn)到步驟S2,否則跳轉(zhuǎn)到步驟S3 ;
52.所述智能終端向服務(wù)端詢問所述軟件是否有更新,是則更新閃存中所述軟件的只讀部分,并下載所述軟件的讀寫部分,運行所述軟件,完成所述軟件的更新,否則直接調(diào)用閃存中的所述軟件只讀部分,并下載所述軟件的讀寫部分,運行所述軟件;
53.所述智能終端從服務(wù)端下載所述軟件的只讀部分和讀寫部分,并加載至本地存儲器中,運行所述軟件。
[0007]作為本發(fā)明的進一步改進,所述步驟S2中所述智能終端向服務(wù)端詢問所述軟件是否有更新的具體步驟包括:
S2.1.所述智能終端向服務(wù)端發(fā)送所述軟件的軟件名稱和軟件版本號;
S2.2.所述服務(wù)端根據(jù)所述軟件名稱獲取存儲在服務(wù)端的所述軟件的程序包,并根據(jù)所述軟件版本號判斷所述軟件是否有更新,并向智能終端返回判斷結(jié)果。
[0008]作為本發(fā)明的進一步改進,還包括智能終端對外部資源更新的步驟S4,其具體步驟包括:
54.1.所述智能終端的操作系統(tǒng)或軟件需要調(diào)用外部資源時,判斷所述外部資源是否存儲在本地閃存中,是則跳轉(zhuǎn)到步驟S4.2 ;否則智能終端從服務(wù)端下載所述外部資源;
S4.2.所述智能終端向服務(wù)端詢問所述外部資源是否有更新,是則從服務(wù)端下載所述外部資源,否則直接調(diào)用本地閃存中所存儲的外部。
[0009]作為本發(fā)明的進一步改進,所述步驟S4.2中所述智能終端向服務(wù)端詢問所述外部資源是否有更新的具體步驟包括:
S4.2.1.所述智能終端向服務(wù)端發(fā)送所述軟件的軟件名稱和軟件版本號;
54.2.2.所述服務(wù)端根據(jù)所述軟件名稱獲取存儲在服務(wù)端的所述軟件的程序包,并根據(jù)所述軟件版本號判斷所述軟件是否有更新,并向智能終端返回判斷結(jié)果。
[0010]作為本發(fā)明的進一步改進,還包括智能終端對外圍硬件設(shè)備驅(qū)動程序更新的步驟S5,其具體步驟包括:
55.1.所述智能終端需要啟用某個外圍硬件設(shè)備時,判斷硬件設(shè)備的驅(qū)動程序是否存儲在本地閃存中,是則跳轉(zhuǎn)到步驟S5.2 ;否則智能終端從服務(wù)端下載所述驅(qū)動程序;
S5.2.所述智能終端向服務(wù)端詢問所述驅(qū)動程序是否有更新,是則從服務(wù)端下載所述驅(qū)動程序,否則直接調(diào)用本地閃存中所存儲的驅(qū)動程序。
[0011]作為本發(fā)明的進一步改進,所述步驟S5.2中所述智能終端向服務(wù)端詢問所述驅(qū)動程序是否有更新的具體步驟包括:
S5.2.1.所述智能終端向服務(wù)端發(fā)送所述驅(qū)動程序的驅(qū)動名稱和驅(qū)動版本號;
S5.2.2.所述服務(wù)端根據(jù)所述驅(qū)動名稱獲取存儲在服務(wù)端的所述驅(qū)動程序的程序包,并根據(jù)所述驅(qū)動版本號判斷所述驅(qū)動程序是否有更新,并向智能終端返回判斷結(jié)果。
[0012]與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點在于:本發(fā)明根據(jù)軟件在運行過程中對軟件代碼、外部資源或驅(qū)動程序的使用需求,按需判斷并更新當(dāng)前需要更新的部分,整個更新過程對用戶是透明的,具有算法簡單、軟件更新效率高等優(yōu)點。
【附圖說明】
[0013]圖1為基于透明計算的智能終端軟件部署結(jié)構(gòu)示意圖。
[0014]圖2為本發(fā)明具體實施例的軟件程序段更新流程示意圖。
[0015]圖3為本發(fā)明具體實施例的軟件外部資源更新流程示意圖。
[0016]圖4為本發(fā)明具體實施例的外圍設(shè)備驅(qū)動程序更新流程示意圖。
【具體實施方式】
[0017]以下結(jié)合說明書附圖和具體優(yōu)選的實施例對本發(fā)明作進一步描述,但并不因此而限制本發(fā)明的保護范圍。
[0018]如圖2所示,本實施例一種基于透明計算的智能終端軟件更新方法,包括如下步驟:S1.智能終端獲取軟件的啟動指令,判斷本地閃存中是否存儲有軟件的只讀部分,是則跳轉(zhuǎn)到步驟S2,否則跳轉(zhuǎn)到步驟S3;S2.智能終端向服務(wù)端詢問軟件是否有更新,是則更新閃存中軟件的只讀部分,并下載軟件的讀寫部分,運行該軟件,完成軟件的更新,否則直接調(diào)用閃存中的軟件只讀部分,并下載軟件的讀寫部分,運行該軟件;S3.智能終端從服務(wù)端下載軟件的只讀部分和讀寫部分,并加載至本地存儲器中,運行該軟件。在本實施例中,根據(jù)基于透明計算的智能終端軟件運行特點,即軟件程序段的只讀部分存儲在閃存中,軟件程序段的讀寫部分存儲在內(nèi)存中,智能終端在加載完程序段后,即可啟動運行軟件,并在軟件的運行過程中根據(jù)對外部資源的需求,動態(tài)的向服務(wù)端申請資源文件。在軟件更新過程中,采用流式的更新方法,即首先只更新存儲在閃存中的程序段的只讀部分,程序段的讀寫部分直接從服務(wù)端下載并直接加載至內(nèi)存中,啟動運行該軟件,并在軟件的運行過程中,在軟件提出外部資源需求時,再更新軟件所需的外部資源。
[0019]在本實施例步驟S2中智能終端向服務(wù)端詢問軟件是否有更新的具體步驟包括:S2.1.智能終端向服務(wù)端發(fā)送軟件的軟件名稱和軟件版本號;S2.2