磁盤空間不足的系統(tǒng)升級(jí)方法、終端設(shè)備及服務(wù)器的制造方法
【專利摘要】本發(fā)明提供一種磁盤空間不足的系統(tǒng)升級(jí)方法、終端設(shè)備及服務(wù)器,該方法包括:計(jì)算終端設(shè)備磁盤中每個(gè)分區(qū)的可用空間的大??;累計(jì)所有分區(qū)可用空間的大小,并判斷所有分區(qū)可用空間的大小是否小于升級(jí)包的大??;當(dāng)不小于升級(jí)包的大小時(shí),依次為各分區(qū)分配升級(jí)包下載量并將其至服務(wù)器,使服務(wù)器根據(jù)分配結(jié)果將升級(jí)包分割成多個(gè)升級(jí)包片段后返回至終端設(shè)備;接收服務(wù)器下發(fā)的多個(gè)升級(jí)包片段,根據(jù)分配記錄將各升級(jí)包片段寫(xiě)入對(duì)應(yīng)的分區(qū)中,并利用多個(gè)所述升級(jí)包片段進(jìn)行系統(tǒng)升級(jí)。本發(fā)明提高了系統(tǒng)升級(jí)的穩(wěn)定性和用戶的體驗(yàn)感。
【專利說(shuō)明】
磁盤空間不足的系統(tǒng)升級(jí)方法、終端設(shè)備及服務(wù)器
技術(shù)領(lǐng)域
[0001]本發(fā)明屬于互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種磁盤空間不足的系統(tǒng)升級(jí)方法、終端設(shè)備及服務(wù)器。
【背景技術(shù)】
[0002]目前,隨著各種操作系統(tǒng)應(yīng)用版本的不斷更迭,系統(tǒng)升級(jí)已經(jīng)成為手機(jī)、電視等終端設(shè)備必不可少的功能。終端設(shè)備通過(guò)系統(tǒng)升級(jí)能夠解決當(dāng)前系統(tǒng)可能存在的問(wèn)題,使用戶獲取到最新的用戶體驗(yàn)。同時(shí),設(shè)備廠商可以通過(guò)系統(tǒng)升級(jí)及時(shí)解決軟件問(wèn)題,并且向用戶推送廣告等增值業(yè)務(wù),因此系統(tǒng)升級(jí)也是設(shè)備廠商實(shí)現(xiàn)創(chuàng)收的有效途徑。
[0003]現(xiàn)有技術(shù)中終端設(shè)備的系統(tǒng)升級(jí)多采用F0TA(Firmware Over The Air,無(wú)線固件升級(jí))的升級(jí)方式,即通過(guò)網(wǎng)絡(luò)服務(wù)器推送升級(jí)包到終端設(shè)備,再由終端設(shè)備利用升級(jí)包進(jìn)行升級(jí)。然而,由于終端設(shè)備的存儲(chǔ)芯片一般會(huì)劃分為若干個(gè)分區(qū),每個(gè)分區(qū)的作用各不相同,而通常FOTA的升級(jí)方式都是將升級(jí)包下載在某一個(gè)固定的分區(qū),比如:data分區(qū)或cache分區(qū)等,當(dāng)該分區(qū)空間容納不下整個(gè)升級(jí)包時(shí),就會(huì)提示用戶終端設(shè)備存儲(chǔ)空間不夠,要求用戶自行清理數(shù)據(jù)或者由終端設(shè)備的當(dāng)前系統(tǒng)強(qiáng)行清理數(shù)據(jù)。但是,這兩種處理方式均存在有一定的缺陷:前者若用戶不會(huì)操作或者不想手動(dòng)清理數(shù)據(jù),則終端設(shè)備就無(wú)法順利完成系統(tǒng)升級(jí);后者可能后會(huì)導(dǎo)致誤刪用戶的一些有用數(shù)據(jù),給用戶帶來(lái)不好的體驗(yàn)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例的目的在于提供一種磁盤空間不足的系統(tǒng)升級(jí)方法、終端設(shè)備及服務(wù)器,旨在解決上述FOTA的升級(jí)方式會(huì)導(dǎo)致終端設(shè)備無(wú)法順利完成系統(tǒng)升級(jí)或者給用戶帶來(lái)不好的體驗(yàn)的問(wèn)題。
[0005]本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種磁盤空間不足的系統(tǒng)升級(jí)方法,包括:
[0006]計(jì)算終端設(shè)備磁盤中每個(gè)分區(qū)的可用空間的大??;
[0007]累計(jì)所有分區(qū)可用空間的大小,并判斷所有分區(qū)可用空間的大小是否小于所述升級(jí)包的大??;
[0008]當(dāng)所有分區(qū)可用空間的大小大于或等于所述升級(jí)包的大小時(shí),依次為各分區(qū)分配升級(jí)包下載量,并將分配記錄發(fā)送至服務(wù)器,使所述服務(wù)器根據(jù)所述分配記錄將所述升級(jí)包分割成多個(gè)升級(jí)包片段后依次返回至所述終端設(shè)備;
[0009]接收所述服務(wù)器下發(fā)的多個(gè)升級(jí)包片段,根據(jù)所述分配記錄將各升級(jí)包片段寫(xiě)入對(duì)應(yīng)的分區(qū)中,并利用多個(gè)所述升級(jí)包片段進(jìn)行系統(tǒng)升級(jí)。
[0010]在本發(fā)明實(shí)施例所述的磁盤空間不足的系統(tǒng)升級(jí)方法中,所述累計(jì)所有分區(qū)可用空間的大小,并判斷所有分區(qū)可用空間的大小是否小于所述升級(jí)包的大小之前還包括:
[0011]判斷可用空間最大的分區(qū)是否足夠容納升級(jí)包;
[0012]當(dāng)可用空間最大的分區(qū)不能容納所述升級(jí)包時(shí),進(jìn)入累計(jì)所有分區(qū)可用空間大小,并判斷所有分區(qū)可用空間的大小是否小于所述升級(jí)包的大小的步驟;
[0013]當(dāng)可用空間最大的分區(qū)足夠容納所述升級(jí)包時(shí),將所述升級(jí)包下載到所述可用空間最大的分區(qū),并利用所述升級(jí)包進(jìn)行系統(tǒng)升級(jí)。
[0014]在本發(fā)明實(shí)施例所述的磁盤空間不足的系統(tǒng)升級(jí)方法中,所述依次為各分區(qū)分配升級(jí)包下載量具體包括:
[0015]將各分區(qū)按照可用空間從大到小進(jìn)行排序,依次從可用空間最大的分區(qū)分配升級(jí)包下載量。
[0016]在本發(fā)明實(shí)施例所述的磁盤空間不足的系統(tǒng)升級(jí)方法中,所述利用多個(gè)升級(jí)包片段進(jìn)行系統(tǒng)升級(jí)具體包括:
[0017]獲取終端設(shè)備為各分區(qū)分配的升級(jí)包下載量的分配記錄;
[0018]根據(jù)所述分配記錄依次將各分區(qū)中的升級(jí)包片段加載至內(nèi)存中,并通過(guò)cat命令將各升級(jí)包片段組合成完整的升級(jí)包;
[0019]對(duì)內(nèi)存中升級(jí)包進(jìn)行只讀鎖定;
[0020]校驗(yàn)內(nèi)存中升級(jí)包的完整性;
[0021 ]若校驗(yàn)未通過(guò),則刪除內(nèi)存中的升級(jí)包,并返回根據(jù)所述記錄依次將各分區(qū)中的升級(jí)包片段加載至內(nèi)存中的步驟;
[0022]若校驗(yàn)通過(guò),則利用該升級(jí)包進(jìn)行系統(tǒng)升級(jí)。
[0023]本發(fā)明實(shí)施例的另一目的在于提供一種磁盤空間不足的系統(tǒng)升級(jí)方法,包括:
[0024]接收終端設(shè)備發(fā)送的查詢系統(tǒng)升級(jí)所需升級(jí)包的大小的請(qǐng)求,并根據(jù)所述請(qǐng)求將所述升級(jí)包的大小返回至所述終端設(shè)備,使所述終端設(shè)備根據(jù)所述升級(jí)包的大小對(duì)磁盤中各分區(qū)的升級(jí)包下載量進(jìn)行分配;
[0025]接收所述終端設(shè)備發(fā)送的各分區(qū)分配的升級(jí)包下載量的分配記錄,并根據(jù)所述分配記錄將升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段;
[0026]依次將多個(gè)升級(jí)包片段發(fā)送至終端設(shè)備,使所述終端設(shè)備根據(jù)所述分配記錄分別將各升級(jí)包片段寫(xiě)入對(duì)應(yīng)的分區(qū)中,并利用所述多個(gè)升級(jí)包片段進(jìn)行系統(tǒng)升級(jí)。
[0027]在本發(fā)明實(shí)施例所述的磁盤空間不足的系統(tǒng)升級(jí)方法中,所述根據(jù)所述分配記錄將升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段具體包括:
[0028]根據(jù)所述分配記錄中各分區(qū)標(biāo)識(shí)與升級(jí)包下載量的對(duì)應(yīng)關(guān)系將所述升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段,并為每個(gè)升級(jí)包片段添加對(duì)應(yīng)的分區(qū)標(biāo)識(shí)。
[0029]本發(fā)明實(shí)施例的另一目的在于提供一種終端設(shè)備,包括:
[0030]第一計(jì)算模塊,用于計(jì)算終端設(shè)備磁盤中每個(gè)分區(qū)的可用空間的大??;
[0031]第二計(jì)算模塊,用于累計(jì)所有分區(qū)可用空間的大?。?br>[0032]第二判斷模塊,用于判斷所有分區(qū)可用空間的大小是否小于所述升級(jí)包的大小;
[0033]第二下載模塊,用于當(dāng)所有分區(qū)可用空間的大小大于或等于所述升級(jí)包的大小時(shí),依次為各分區(qū)分配升級(jí)包下載量,并將分配記錄發(fā)送至服務(wù)器,使所述服務(wù)器根據(jù)所述分配記錄將所述升級(jí)包分割成多個(gè)升級(jí)包片段后依次返回至所述終端設(shè)備;接收所述服務(wù)器下發(fā)的多個(gè)升級(jí)包片段,根據(jù)所述分配記錄將各升級(jí)包片段寫(xiě)入對(duì)應(yīng)的分區(qū)中;
[0034]第二升級(jí)模塊,用于利用多個(gè)所述升級(jí)包片段進(jìn)行系統(tǒng)升級(jí)。
[0035]在本發(fā)明實(shí)施例所述的終端設(shè)備中,還包括:
[0036]第一判斷模塊,用于判斷可用空間最大的分區(qū)是否足夠容納所述升級(jí)包,當(dāng)可用空間最大的分區(qū)不能容納所述升級(jí)包時(shí),控制所述第二計(jì)算模塊累計(jì)所有分區(qū)可用空間的大??;
[0037]第一下載模塊,用于當(dāng)可用空間最大的分區(qū)足夠容納所述升級(jí)包時(shí),將所述升級(jí)包下載到所述可用空間最大的分區(qū);
[0038]第一升級(jí)模塊,用于利用所述升級(jí)包進(jìn)行系統(tǒng)升級(jí)。
[0039]在本發(fā)明實(shí)施例所述的終端設(shè)備中,所述第二下載模塊具體用于:
[0040]將各分區(qū)按照可用空間從大到小進(jìn)行排序,依次從可用空間最大的分區(qū)分配升級(jí)包下載量。
[0041]在本發(fā)明實(shí)施例所述的終端設(shè)備中,所述第二升級(jí)模塊具體用于:
[0042]獲取終端設(shè)備為各分區(qū)分配的升級(jí)包下載量的分配記錄;
[0043]根據(jù)所述分配記錄依次將各分區(qū)中的升級(jí)包片段加載至內(nèi)存中,并通過(guò)cat命令將各升級(jí)包片段組合成完整的升級(jí)包;
[0044]對(duì)內(nèi)存中升級(jí)包進(jìn)行只讀鎖定;
[0045]校驗(yàn)內(nèi)存中升級(jí)包的完整性;
[0046]若校驗(yàn)未通過(guò),則刪除內(nèi)存中的升級(jí)包,并重新將各分區(qū)中的升級(jí)包片段加載至內(nèi)存中;
[0047]若校驗(yàn)通過(guò),則利用該升級(jí)包進(jìn)行系統(tǒng)升級(jí)。
[0048]本發(fā)明實(shí)施例的另一目的在于提供一種服務(wù)器,包括:
[0049]接收模塊,用于接收終端設(shè)備發(fā)送的查詢系統(tǒng)升級(jí)所需升級(jí)包的大小的請(qǐng)求,并根據(jù)所述請(qǐng)求將所述升級(jí)包的大小返回至所述終端設(shè)備,使所述終端設(shè)備根據(jù)所述升級(jí)包的大小對(duì)磁盤中各分區(qū)的升級(jí)包下載量進(jìn)行分配;
[0050]升級(jí)包分割模塊,用于接收所述終端設(shè)備發(fā)送的各分區(qū)分配的升級(jí)包下載量的分配記錄,并根據(jù)所述分配記錄將升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段;
[0051]發(fā)送模塊,用于依次將多個(gè)升級(jí)包片段發(fā)送至終端設(shè)備,使所述終端設(shè)備根據(jù)所述分配記錄分別將各升級(jí)包片段寫(xiě)入對(duì)應(yīng)的分區(qū)中,并利用所述多個(gè)升級(jí)包片段進(jìn)行系統(tǒng)升級(jí)。
[0052]在本發(fā)明實(shí)施例所述的服務(wù)器中,所述升級(jí)包分割模塊具體用于:
[0053]根據(jù)所述分配記錄中各分區(qū)標(biāo)識(shí)與升級(jí)包下載量的對(duì)應(yīng)關(guān)系將所述升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段,并為每個(gè)升級(jí)包片段添加對(duì)應(yīng)的分區(qū)標(biāo)識(shí)。
[0054]實(shí)施本發(fā)明實(shí)施例提供的磁盤空間不足的系統(tǒng)升級(jí)方法、終端設(shè)備及服務(wù)器具有以下有益效果:
[0055]本發(fā)明實(shí)施例由于首先計(jì)算終端設(shè)備磁盤中各分區(qū)的可用空間的大??;累計(jì)磁盤中所有分區(qū)可用空間的大小,若磁盤中所有分區(qū)可用空間的大小大于升級(jí)包的大小,則根據(jù)升級(jí)包的大小和磁盤中各分區(qū)的可用空間的大小為各分區(qū)分配對(duì)應(yīng)的升級(jí)包下載量,并將分配記錄發(fā)送至服務(wù)器,使服務(wù)器根據(jù)所述分配記錄將升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段,最后由終端設(shè)備接收服務(wù)器下發(fā)的多個(gè)升級(jí)包片段,根據(jù)所述分配記錄分別將多個(gè)升級(jí)包片段寫(xiě)入對(duì)應(yīng)的分區(qū)中,并利用多個(gè)升級(jí)包片段進(jìn)行系統(tǒng)升級(jí),從而避免了現(xiàn)有技術(shù)中存在的當(dāng)磁盤中用于存儲(chǔ)升級(jí)包的固定分區(qū)的可用空間不足時(shí),可能會(huì)導(dǎo)致終端設(shè)備無(wú)法順利完成系統(tǒng)升級(jí)或者給用戶帶來(lái)不好的體驗(yàn)的問(wèn)題,能夠?qū)⒋疟P中每個(gè)分區(qū)中的可用空間充分利用起來(lái),大大提高了系統(tǒng)升級(jí)的穩(wěn)定性和用戶的體驗(yàn)感。
【附圖說(shuō)明】
[0056]圖1是本發(fā)明第一實(shí)施例提供的磁盤空間不足的系統(tǒng)升級(jí)方法的具體實(shí)現(xiàn)流程圖;
[0057]圖2是本發(fā)明第二實(shí)施例提供的磁盤空間不足的系統(tǒng)升級(jí)方法的具體實(shí)現(xiàn)流程圖;
[0058]圖3是本發(fā)明第三實(shí)施例提供的終端設(shè)備的結(jié)構(gòu)示意圖;
[0059]圖4是本發(fā)明第四實(shí)施例提供的服務(wù)器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0060]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0061]圖1是本發(fā)明第一實(shí)施例提供的磁盤空間不足的系統(tǒng)升級(jí)方法的具體實(shí)現(xiàn)流程圖,該方法的執(zhí)行主體為本發(fā)明實(shí)施例中所述的終端設(shè)備。參見(jiàn)圖1所示,本實(shí)施例提供的一種磁盤空間不足的系統(tǒng)升級(jí)方法,包括:
[0062]在SlOl中,計(jì)算終端設(shè)備磁盤中每個(gè)分區(qū)的可用空間的大小。
[0063]在本實(shí)施例中,磁盤中有些分區(qū)是需要有一定預(yù)留空間的,這些預(yù)留空間可能是系統(tǒng)正常運(yùn)行的保證,所以當(dāng)分區(qū)中需要一定的預(yù)留空間時(shí)該分區(qū)的可用空間即為該分區(qū)中除預(yù)留空間以外的空閑空間,而當(dāng)分區(qū)中不需要預(yù)留空間時(shí),該分區(qū)的可用空間即為該分區(qū)的空閑空間。
[0064]在S102中,判斷可用空間最大的分區(qū)是否足夠容納所述升級(jí)包,當(dāng)可用空間最大的分區(qū)足夠容納所述升級(jí)包時(shí),進(jìn)入步驟S103;當(dāng)可用空間最大的分區(qū)不能容納所述升級(jí)包時(shí),進(jìn)入步驟S104。
[0065]在本實(shí)施例中,在判斷可用空間最大的分區(qū)是否足夠容納所述升級(jí)包之前需要向服務(wù)器查詢系統(tǒng)升級(jí)所需的升級(jí)包的大小,然后根據(jù)最大可用空間的大小和升級(jí)包的大小判斷可用空間最大的分區(qū)是否足夠容納所述升級(jí)包,當(dāng)最大可用空間的大小大于或等于所述升級(jí)包的大小時(shí),說(shuō)明可用空間最大的分區(qū)足夠容納所述升級(jí)包,此時(shí)進(jìn)入步驟S103;當(dāng)最大可用空間的大小小于所述升級(jí)包的大小時(shí),說(shuō)明可用空間最大的分區(qū)不能容納所述升級(jí)包,此時(shí)進(jìn)入步驟S104。
[0066]在S103中,將所述升級(jí)包下載到所述可用空間最大的分區(qū),并利用所述升級(jí)包進(jìn)行系統(tǒng)升級(jí)。
[0067]在本實(shí)施例中,當(dāng)終端設(shè)備中最大可用空間的大小大于升級(jí)包的大小時(shí),終端設(shè)備會(huì)向服務(wù)器發(fā)送相應(yīng)的下載指令,該下載指令中包含有具有最大可用空間的分區(qū)的標(biāo)識(shí),這樣服務(wù)器可以根據(jù)終端設(shè)備發(fā)送的下載指令將具有最大可用空間的分區(qū)的標(biāo)識(shí)添加到升級(jí)包中,以便終端設(shè)備在接收到服務(wù)器返回的升級(jí)包時(shí),將升級(jí)包寫(xiě)入具有最大可用空間的分區(qū)中,最后再由終端設(shè)備利用該升級(jí)包進(jìn)行系統(tǒng)升級(jí),并在升級(jí)完成后結(jié)束流程。
[0068]在S104中,累計(jì)所有分區(qū)可用空間的大小,并判斷所有分區(qū)可用空間的大小是否小于所述升級(jí)包的大小,當(dāng)所有分區(qū)可用空間的大小大于或等于所述升級(jí)包的大小時(shí),進(jìn)入步驟S105;當(dāng)所有分區(qū)可用空間的大小小于所述升級(jí)包的大小時(shí),進(jìn)入步驟S107。
[0069]在S105中,依次為各分區(qū)分配升級(jí)包下載量,并將分配記錄發(fā)送至所述服務(wù)器,使所述服務(wù)器根據(jù)所述分配記錄將所述升級(jí)包分割成多個(gè)升級(jí)包片段后依次返回至所述終端設(shè)備;
[0070]在本實(shí)施例中,所述依次為各分區(qū)分配升級(jí)包下載量具體包括:將各分區(qū)按照可用空間從大到小進(jìn)行排序,依次從可用空間最大的分區(qū)分配升級(jí)包下載量。
[0071]在S106中,接收所述服務(wù)器下發(fā)的多個(gè)升級(jí)包片段,并根據(jù)所述分配記錄將各升級(jí)包片段寫(xiě)入對(duì)應(yīng)的分區(qū)中,并利用多個(gè)所述升級(jí)包片段進(jìn)行系統(tǒng)升級(jí)。
[0072]在本實(shí)施例中,根據(jù)所述分配記錄中各分區(qū)標(biāo)識(shí)與升級(jí)包下載量的對(duì)應(yīng)關(guān)系,終端設(shè)備在接收到服務(wù)器下發(fā)的多個(gè)升級(jí)包片段時(shí),可根據(jù)該分配記錄將各升級(jí)包片段分別寫(xiě)入各對(duì)應(yīng)的分區(qū)中。進(jìn)一步的,所述利用多個(gè)升級(jí)包片段進(jìn)行系統(tǒng)升級(jí)具體包括:
[0073]獲取終端設(shè)備為各分區(qū)分配的升級(jí)包下載量的分配記錄;根據(jù)所述分配記錄依次將各分區(qū)中的升級(jí)包片段加載至內(nèi)存中,并通過(guò)cat命令將各升級(jí)包片段組合成完整的升級(jí)包;對(duì)內(nèi)存中升級(jí)包進(jìn)行只讀鎖定;校驗(yàn)內(nèi)存中升級(jí)包的完整性;若校驗(yàn)未通過(guò),則刪除內(nèi)存中的升級(jí)包,并返回根據(jù)所述記錄依次將各分區(qū)中的升級(jí)包片段加載至內(nèi)存中的步驟;若校驗(yàn)通過(guò),則利用該升級(jí)包進(jìn)行系統(tǒng)升級(jí)。
[0074]在本實(shí)施例中,由于在內(nèi)存中將各升級(jí)包片段組合成完整的升級(jí)包后,對(duì)加載升級(jí)包的內(nèi)存進(jìn)行只讀鎖定,從而能夠保證該部分內(nèi)存只能被讀取,不能被改寫(xiě)和回收,能夠保證升級(jí)包在升級(jí)過(guò)程中不被破壞。
[0075]在S107中,放棄本次系統(tǒng)升級(jí)。
[0076]在本實(shí)施例中,當(dāng)磁盤中所有分區(qū)的可用空間的累計(jì)大小仍然小于升級(jí)包的大小時(shí),則說(shuō)明此時(shí)磁盤不能夠容納該升級(jí)包,此時(shí)終端設(shè)備會(huì)自動(dòng)放棄本次升級(jí),并提示用戶磁盤空間不足導(dǎo)致升級(jí)失敗的提示信息,使用戶根據(jù)提示信息采取相應(yīng)的補(bǔ)救措施。
[0077]以上可以看出,本實(shí)施例提供的一種磁盤空間不足的系統(tǒng)升級(jí)方法由于首先計(jì)算終端設(shè)備磁盤中各分區(qū)的可用空間的大小,并判斷可用空間最大的分區(qū)是否足夠容納所述升級(jí)包;當(dāng)可用空間最大的分區(qū)不能容納所述升級(jí)包時(shí),累計(jì)磁盤中所有分區(qū)可用空間的大小,若磁盤中所有分區(qū)可用空間的大小大于升級(jí)包的大小,則根據(jù)升級(jí)包的大小和磁盤中各分區(qū)的可用空間的大小為各分區(qū)分配對(duì)應(yīng)的升級(jí)包下載量,并將分配記錄發(fā)送至服務(wù)器,使服務(wù)器根據(jù)所述分配記錄將升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段,最后由終端設(shè)備接收服務(wù)器下發(fā)的多個(gè)升級(jí)包片段,根據(jù)所述分配記錄分別將多個(gè)升級(jí)包片段寫(xiě)入對(duì)應(yīng)的分區(qū)中,并利用多個(gè)升級(jí)包片段進(jìn)行系統(tǒng)升級(jí),從而避免了現(xiàn)有技術(shù)中存在的當(dāng)磁盤中用于存儲(chǔ)升級(jí)包的固定分區(qū)的可用空間不足時(shí),可能會(huì)導(dǎo)致終端設(shè)備無(wú)法順利完成系統(tǒng)升級(jí)或者給用戶帶來(lái)不好的體驗(yàn)的問(wèn)題,能夠?qū)⒋疟P中每個(gè)分區(qū)中的可用空間充分利用起來(lái),大大提高了系統(tǒng)升級(jí)的穩(wěn)定性和用戶的體驗(yàn)感。
[0078]圖2是本發(fā)明第二實(shí)施例提供的磁盤空間不足的系統(tǒng)升級(jí)方法的具體實(shí)現(xiàn)流程圖,該方法的執(zhí)行主體為本發(fā)明實(shí)施中所述的服務(wù)器。參見(jiàn)圖2所示,本實(shí)施例提供的一種磁盤空間不足的系統(tǒng)升級(jí)方法,包括:
[0079]在S201中,接收終端設(shè)備發(fā)送的查詢系統(tǒng)升級(jí)所需升級(jí)包的大小的請(qǐng)求,并根據(jù)所述請(qǐng)求將所述升級(jí)包的大小返回至所述終端設(shè)備,使所述終端設(shè)備根據(jù)所述升級(jí)包的大小對(duì)磁盤中各分區(qū)的升級(jí)包下載量進(jìn)行分配;
[0080]在S202中,接收所述終端設(shè)備發(fā)送的各分區(qū)分配的升級(jí)包下載量的分配記錄,并根據(jù)所述分配記錄將升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段;
[0081]在S203中,依次將多個(gè)升級(jí)包片段發(fā)送至終端設(shè)備,使所述終端設(shè)備根據(jù)所述分配記錄分別將各升級(jí)包片段寫(xiě)入對(duì)應(yīng)的分區(qū)中,并利用所述多個(gè)升級(jí)包片段進(jìn)行系統(tǒng)升級(jí)。
[0082]在本實(shí)施例中,所述根據(jù)所述分配記錄將升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段具體包括:根據(jù)所述分配記錄中各分區(qū)標(biāo)識(shí)與升級(jí)包下載量的對(duì)應(yīng)關(guān)系將所述升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段,并為每個(gè)升級(jí)包片段添加對(duì)應(yīng)的分區(qū)標(biāo)識(shí)。
[0083]本實(shí)施例提供的一種磁盤空間不足的系統(tǒng)升級(jí)方法,同樣可以避免現(xiàn)有技術(shù)中存在的當(dāng)磁盤中用于存儲(chǔ)升級(jí)包的固定分區(qū)的可用空間不足時(shí),可能會(huì)導(dǎo)致終端設(shè)備無(wú)法順利完成系統(tǒng)升級(jí)或者給用戶帶來(lái)不好的體驗(yàn)的問(wèn)題,能夠?qū)⒋疟P中每個(gè)分區(qū)中的可用空間充分利用起來(lái),大大提高了系統(tǒng)升級(jí)的穩(wěn)定性和用戶的體驗(yàn)感。
[0084]圖3是本發(fā)明第三實(shí)施例提供的終端設(shè)備的結(jié)構(gòu)示意圖,該終端設(shè)備用于運(yùn)行本發(fā)明圖1所示實(shí)施例提供的方法。為了便于說(shuō)明,僅僅示出了與本實(shí)施例相關(guān)的部分。
[0085]參見(jiàn)圖3所示,本實(shí)施例提供的一種終端設(shè)備,包括:
[0086]第一計(jì)算模塊31,用于計(jì)算終端設(shè)備磁盤中每個(gè)分區(qū)的可用空間的大?。?br>[0087]第二計(jì)算模塊35,用于累計(jì)所有分區(qū)可用空間的大小;
[0088]第二判斷模塊36,用于判斷所有分區(qū)可用空間的大小是否小于所述升級(jí)包的大小;
[0089]第二下載模塊37,用于當(dāng)所有分區(qū)可用空間的大小大于或等于所述升級(jí)包的大小時(shí),依次為各分區(qū)分配升級(jí)包下載量,并將分配記錄發(fā)送至所述服務(wù)器,使所述服務(wù)器根據(jù)所述分配記錄將所述升級(jí)包分割成多個(gè)升級(jí)包片段后依次返回至所述終端設(shè)備;根據(jù)各升級(jí)包片段中的標(biāo)記分別將各升級(jí)包片段寫(xiě)入對(duì)應(yīng)的分區(qū)中;當(dāng)所有分區(qū)可用空間的大小小于所述升級(jí)包的大小時(shí),放棄本次系統(tǒng)升級(jí);
[0090]第二升級(jí)模塊38,用于利用多個(gè)所述升級(jí)包片段進(jìn)行系統(tǒng)升級(jí)。
[0091]可選的,所述終端設(shè)備還包括:
[0092]第一判斷模塊32,用于判斷可用空間最大的分區(qū)是否足夠容納所述升級(jí)包,當(dāng)可用空間最大的分區(qū)不能容納所述升級(jí)包時(shí),控制所述第二計(jì)算模塊累計(jì)所有分區(qū)可用空間的大??;
[0093]第一下載模塊33,用于當(dāng)可用空間最大的分區(qū)足夠容納所述升級(jí)包時(shí),將所述升級(jí)包下載到所述可用空間最大的分區(qū);
[0094]第一升級(jí)模塊34,用于利用所述升級(jí)包進(jìn)行系統(tǒng)升級(jí);
[0095]可選的,所述第二下載模塊37具體用于:
[0096]將各分區(qū)按照可用空間從大到小進(jìn)行排序,依次從可用空間最大的分區(qū)分配升級(jí)包下載量。
[0097]可選的,所述第二升級(jí)模塊38具體用于:
[0098]獲取終端設(shè)備為各分區(qū)分配的升級(jí)包下載量的分配記錄;
[0099]根據(jù)所述分配記錄依次將各分區(qū)中的升級(jí)包片段加載至內(nèi)存中,并通過(guò)cat命令將各升級(jí)包片段組合成完整的升級(jí)包;
[0100]對(duì)內(nèi)存中升級(jí)包進(jìn)行只讀鎖定;
[0101]校驗(yàn)內(nèi)存中升級(jí)包的完整性;
[0102]若校驗(yàn)未通過(guò),則刪除內(nèi)存中的升級(jí)包,并重新將各分區(qū)中的升級(jí)包片段加載至內(nèi)存中;
[0103]若校驗(yàn)通過(guò),則利用該升級(jí)包進(jìn)行系統(tǒng)升級(jí)。
[0104]可選的,所述可用空間為分區(qū)中除預(yù)留空間以外的空閑空間。
[0105]需要說(shuō)明的是,本發(fā)明實(shí)施例提供的上述終端設(shè)備中各個(gè)模塊,由于與本發(fā)明圖1所示的方法實(shí)施例基于同一構(gòu)思,其帶來(lái)的技術(shù)效果與本發(fā)明圖1所示的方法實(shí)施例相同,具體內(nèi)容可參見(jiàn)本發(fā)明圖1所示的方法實(shí)施例中的敘述,此處不再贅述。
[0106]因此,可以看出,本實(shí)施例提供的終端設(shè)備同樣由于首先計(jì)算終端設(shè)備磁盤中各分區(qū)的可用空間的大小,并判斷可用空間最大的分區(qū)是否足夠容納所述升級(jí)包;當(dāng)可用空間最大的分區(qū)不能容納所述升級(jí)包時(shí),累計(jì)磁盤中所有分區(qū)可用空間的大小,若磁盤中所有分區(qū)可用空間的大小大于升級(jí)包的大小,則根據(jù)升級(jí)包的大小和磁盤中各分區(qū)的可用空間的大小為各分區(qū)分配對(duì)應(yīng)的升級(jí)包下載量,并將分配記錄發(fā)送至服務(wù)器,使服務(wù)器根據(jù)所述分配記錄將升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段,最后由終端設(shè)備接收服務(wù)器下發(fā)的多個(gè)升級(jí)包片段,根據(jù)所述分配記錄分別將多個(gè)升級(jí)包片段寫(xiě)入對(duì)應(yīng)的分區(qū)中,并利用多個(gè)升級(jí)包片段進(jìn)行系統(tǒng)升級(jí),從而避免了現(xiàn)有技術(shù)中存在的當(dāng)磁盤中用于存儲(chǔ)升級(jí)包的固定分區(qū)的可用空間不足時(shí),可能會(huì)導(dǎo)致終端設(shè)備無(wú)法順利完成系統(tǒng)升級(jí)或者給用戶帶來(lái)不好的體驗(yàn)的問(wèn)題,能夠?qū)⒋疟P中每個(gè)分區(qū)中的可用空間充分利用起來(lái),大大提高了系統(tǒng)升級(jí)的穩(wěn)定性和用戶的體驗(yàn)感。
[0107]圖4是本發(fā)明第四實(shí)施例提供的服務(wù)器的結(jié)構(gòu)示意圖,該服務(wù)器用于運(yùn)行本發(fā)明圖2所示實(shí)施例提供的方法。為了便于說(shuō)明,僅僅示出了與本實(shí)施例相關(guān)的部分。
[0108]參見(jiàn)圖4所示,本實(shí)施例提供的一種服務(wù)器,包括:
[0109]接收模塊41,用于接收終端設(shè)備發(fā)送的查詢系統(tǒng)升級(jí)所需升級(jí)包的大小的請(qǐng)求,并根據(jù)所述請(qǐng)求將所述升級(jí)包的大小返回至所述終端設(shè)備,使所述終端設(shè)備根據(jù)所述升級(jí)包的大小對(duì)磁盤中各分區(qū)的升級(jí)包下載量進(jìn)行分配;
[0110]升級(jí)包分割模塊42,用于接收所述終端設(shè)備發(fā)送的各分區(qū)分配的升級(jí)包下載量的分配記錄,并根據(jù)所述分配記錄將升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段;
[0111]發(fā)送模塊43,用于依次將多個(gè)升級(jí)包片段發(fā)送至終端設(shè)備,使所述終端設(shè)備根據(jù)所述分配記錄分別將各升級(jí)包片段寫(xiě)入對(duì)應(yīng)的分區(qū)中,并利用所述多個(gè)升級(jí)包片段進(jìn)行系統(tǒng)升級(jí)。
[0112]可選的,所述升級(jí)包分割模塊42具體用于:
[0113]根據(jù)所述分配記錄中各分區(qū)標(biāo)識(shí)與升級(jí)包下載量的對(duì)應(yīng)關(guān)系將所述升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段,并為每個(gè)升級(jí)包片段添加對(duì)應(yīng)的分區(qū)標(biāo)識(shí)。
[0114]本實(shí)施例提供的一種服務(wù)器同樣可以避免現(xiàn)有技術(shù)中存在的當(dāng)磁盤中用于存儲(chǔ)升級(jí)包的固定分區(qū)的可用空間不足時(shí),可能會(huì)導(dǎo)致終端設(shè)備無(wú)法順利完成系統(tǒng)升級(jí)或者給用戶帶來(lái)不好的體驗(yàn)的問(wèn)題,能夠?qū)⒋疟P中每個(gè)分區(qū)中的可用空間充分利用起來(lái),大大提高了系統(tǒng)升級(jí)的穩(wěn)定性和用戶的體驗(yàn)感。
[0115]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種磁盤空間不足的系統(tǒng)升級(jí)方法,其特征在于,包括: 計(jì)算終端設(shè)備磁盤中每個(gè)分區(qū)的可用空間的大??; 累計(jì)所有分區(qū)可用空間的大小,并判斷所有分區(qū)可用空間的大小是否小于所述升級(jí)包的大??; 當(dāng)所有分區(qū)可用空間的大小大于或等于所述升級(jí)包的大小時(shí),依次為各分區(qū)分配升級(jí)包下載量,并將分配記錄發(fā)送至服務(wù)器,使所述服務(wù)器根據(jù)所述分配記錄將所述升級(jí)包分割成多個(gè)升級(jí)包片段后依次返回至所述終端設(shè)備; 接收所述服務(wù)器下發(fā)的多個(gè)升級(jí)包片段,根據(jù)所述分配記錄將各升級(jí)包片段寫(xiě)入對(duì)應(yīng)的分區(qū)中,并利用多個(gè)所述升級(jí)包片段進(jìn)行系統(tǒng)升級(jí)。2.如權(quán)利要求1所述的磁盤空間不足的系統(tǒng)升級(jí)方法,其特征在于,所述累計(jì)所有分區(qū)可用空間的大小,并判斷所有分區(qū)可用空間的大小是否小于所述升級(jí)包的大小之前還包括: 判斷可用空間最大的分區(qū)是否足夠容納升級(jí)包; 當(dāng)可用空間最大的分區(qū)不能容納所述升級(jí)包時(shí),進(jìn)入累計(jì)所有分區(qū)可用空間大小,并判斷所有分區(qū)可用空間的大小是否小于所述升級(jí)包的大小的步驟; 當(dāng)可用空間最大的分區(qū)足夠容納所述升級(jí)包時(shí),將所述升級(jí)包下載到所述可用空間最大的分區(qū),并利用所述升級(jí)包進(jìn)行系統(tǒng)升級(jí)。3.如權(quán)利要求1所述的磁盤空間不足的系統(tǒng)升級(jí)方法,其特征在于,所述依次為各分區(qū)分配升級(jí)包下載量具體包括: 將各分區(qū)按照可用空間從大到小進(jìn)行排序,依次從可用空間最大的分區(qū)分配升級(jí)包下載量。4.如權(quán)利要求2所述的磁盤空間不足的系統(tǒng)升級(jí)方法,其特征在于,所述利用多個(gè)升級(jí)包片段進(jìn)行系統(tǒng)升級(jí)具體包括: 獲取終端設(shè)備為各分區(qū)分配的升級(jí)包下載量的分配記錄; 根據(jù)所述分配記錄依次將各分區(qū)中的升級(jí)包片段加載至內(nèi)存中,并通過(guò)cat命令將各升級(jí)包片段組合成完整的升級(jí)包; 對(duì)內(nèi)存中升級(jí)包進(jìn)行只讀鎖定; 校驗(yàn)內(nèi)存中升級(jí)包的完整性; 若校驗(yàn)未通過(guò),則刪除內(nèi)存中的升級(jí)包,并返回根據(jù)所述記錄依次將各分區(qū)中的升級(jí)包片段加載至內(nèi)存中的步驟; 若校驗(yàn)通過(guò),則利用該升級(jí)包進(jìn)行系統(tǒng)升級(jí)。5.一種磁盤空間不足的系統(tǒng)升級(jí)方法,其特征在于,包括: 接收終端設(shè)備發(fā)送的查詢系統(tǒng)升級(jí)所需升級(jí)包的大小的請(qǐng)求,并根據(jù)所述請(qǐng)求將所述升級(jí)包的大小返回至所述終端設(shè)備,使所述終端設(shè)備根據(jù)所述升級(jí)包的大小對(duì)磁盤中各分區(qū)的升級(jí)包下載量進(jìn)行分配; 接收所述終端設(shè)備發(fā)送的各分區(qū)分配的升級(jí)包下載量的分配記錄,并根據(jù)所述分配記錄將升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段; 依次將多個(gè)升級(jí)包片段發(fā)送至終端設(shè)備,使所述終端設(shè)備根據(jù)所述分配記錄分別將各升級(jí)包片段寫(xiě)入對(duì)應(yīng)的分區(qū)中,并利用所述多個(gè)升級(jí)包片段進(jìn)行系統(tǒng)升級(jí)。6.如權(quán)利要求5所述的磁盤空間不足的系統(tǒng)升級(jí)方法,其特征在于,所述根據(jù)所述分配記錄將升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段具體包括: 根據(jù)所述分配記錄中各分區(qū)標(biāo)識(shí)與升級(jí)包下載量的對(duì)應(yīng)關(guān)系將所述升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段,并為每個(gè)升級(jí)包片段添加對(duì)應(yīng)的分區(qū)標(biāo)識(shí)。7.一種終端設(shè)備,其特征在于,包括: 第一計(jì)算模塊,用于計(jì)算終端設(shè)備磁盤中每個(gè)分區(qū)的可用空間的大??; 第二計(jì)算模塊,用于累計(jì)所有分區(qū)可用空間的大??; 第二判斷模塊,用于判斷所有分區(qū)可用空間的大小是否小于所述升級(jí)包的大??; 第二下載模塊,用于當(dāng)所有分區(qū)可用空間的大小大于或等于所述升級(jí)包的大小時(shí),依次為各分區(qū)分配升級(jí)包下載量,并將分配記錄發(fā)送至服務(wù)器,使所述服務(wù)器根據(jù)所述分配記錄將所述升級(jí)包分割成多個(gè)升級(jí)包片段后依次返回至所述終端設(shè)備;接收所述服務(wù)器下發(fā)的多個(gè)升級(jí)包片段,根據(jù)所述分配記錄將各升級(jí)包片段寫(xiě)入對(duì)應(yīng)的分區(qū)中; 第二升級(jí)模塊,用于利用多個(gè)所述升級(jí)包片段進(jìn)行系統(tǒng)升級(jí)。8.如權(quán)利要求7所述的終端設(shè)備,其特征在于,還包括: 第一判斷模塊,用于判斷可用空間最大的分區(qū)是否足夠容納所述升級(jí)包,當(dāng)可用空間最大的分區(qū)不能容納所述升級(jí)包時(shí),控制所述第二計(jì)算模塊累計(jì)所有分區(qū)可用空間的大??; 第一下載模塊,用于當(dāng)可用空間最大的分區(qū)足夠容納所述升級(jí)包時(shí),將所述升級(jí)包下載到所述可用空間最大的分區(qū); 第一升級(jí)模塊,用于利用所述升級(jí)包進(jìn)行系統(tǒng)升級(jí)。9.如權(quán)利要求7所述的終端設(shè)備,其特征在于,所述第二下載模塊具體用于: 將各分區(qū)按照可用空間從大到小進(jìn)行排序,依次從可用空間最大的分區(qū)分配升級(jí)包下載量。10.如權(quán)利要求7所述的終端設(shè)備,其特征在于,所述第二升級(jí)模塊具體用于: 獲取終端設(shè)備為各分區(qū)分配的升級(jí)包下載量的分配記錄; 根據(jù)所述分配記錄依次將各分區(qū)中的升級(jí)包片段加載至內(nèi)存中,并通過(guò)cat命令將各升級(jí)包片段組合成完整的升級(jí)包; 對(duì)內(nèi)存中升級(jí)包進(jìn)行只讀鎖定; 校驗(yàn)內(nèi)存中升級(jí)包的完整性; 若校驗(yàn)未通過(guò),則刪除內(nèi)存中的升級(jí)包,并重新將各分區(qū)中的升級(jí)包片段加載至內(nèi)存中; 若校驗(yàn)通過(guò),則利用該升級(jí)包進(jìn)行系統(tǒng)升級(jí)。11.一種服務(wù)器,其特征在于,包括: 接收模塊,用于接收終端設(shè)備發(fā)送的查詢系統(tǒng)升級(jí)所需升級(jí)包的大小的請(qǐng)求,并根據(jù)所述請(qǐng)求將所述升級(jí)包的大小返回至所述終端設(shè)備,使所述終端設(shè)備根據(jù)所述升級(jí)包的大小對(duì)磁盤中各分區(qū)的升級(jí)包下載量進(jìn)行分配; 升級(jí)包分割模塊,用于接收所述終端設(shè)備發(fā)送的各分區(qū)分配的升級(jí)包下載量的分配記錄,并根據(jù)所述分配記錄將升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段; 發(fā)送模塊,用于依次將多個(gè)升級(jí)包片段發(fā)送至終端設(shè)備,使所述終端設(shè)備根據(jù)所述分配記錄分別將各升級(jí)包片段寫(xiě)入對(duì)應(yīng)的分區(qū)中,并利用所述多個(gè)升級(jí)包片段進(jìn)行系統(tǒng)升級(jí)。12.如權(quán)利要求11所述的服務(wù)器,其特征在于,所述升級(jí)包分割模塊具體用于: 根據(jù)所述分配記錄中各分區(qū)標(biāo)識(shí)與升級(jí)包下載量的對(duì)應(yīng)關(guān)系將所述升級(jí)包對(duì)應(yīng)分割成多個(gè)升級(jí)包片段,并為每個(gè)升級(jí)包片段添加對(duì)應(yīng)的分區(qū)標(biāo)識(shí)。
【文檔編號(hào)】G06F3/06GK105843656SQ201610255784
【公開(kāi)日】2016年8月10日
【申請(qǐng)日】2016年4月22日
【發(fā)明人】彭芃
【申請(qǐng)人】Tcl集團(tuán)股份有限公司