專利名稱:一種文件下載的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)通訊領(lǐng)域,尤其涉及一種文件下載的方法和裝置。
背景技術(shù):
目前,很多移動(dòng)終端都支持網(wǎng)絡(luò)客戶端應(yīng)用從網(wǎng)絡(luò)上下載文件,如圖片、
mp3 (MPEG Audio Layer3, MPEG音頻播放格式)音頻、影音video等,利 用現(xiàn)有技術(shù)下載文件需要時(shí)需要先將下載的文件緩存到內(nèi)存中,之后一次性 寫入EFS (Encrypting File System,加密文件系統(tǒng))文件。
發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題 利用現(xiàn)有技術(shù)時(shí),下載文件大小受限于能分配給下載的內(nèi)存,而且一次 性寫入文件所花時(shí)間太長,可能導(dǎo)致正在運(yùn)行的任務(wù)沒有及時(shí)發(fā)送脈沖信號(hào), 移動(dòng)終端重啟;若寫文件時(shí)間太長,界面會(huì)一直停留在最后的界面,用戶體 驗(yàn)較差。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種文件下載的方法和裝置,可以實(shí)現(xiàn)實(shí)時(shí)發(fā)送脈沖 信號(hào),避免監(jiān)控系統(tǒng)長期得不到信號(hào)而復(fù)位系統(tǒng)。 本發(fā)明實(shí)施例提供一種文件下載的方法,包括 讀取預(yù)下載文件的數(shù)據(jù); 將所述讀:取的凄t據(jù)寫入加密文件系統(tǒng)文件; 向監(jiān)控系統(tǒng)發(fā)送信號(hào),所述信號(hào)用于表示文件下載程序運(yùn)行正常。 同時(shí)本發(fā)明實(shí)施例提供了一種文件下載的裝置,包括 讀取模塊,用于通過平臺(tái)接口讀取預(yù)下載文件的數(shù)據(jù); 寫入模塊,用于將數(shù)據(jù)寫入加密文件系統(tǒng)文件;
發(fā)送模塊,用于所述寫入模塊將數(shù)據(jù)寫入加密文件系統(tǒng)文件后,向監(jiān)控
系統(tǒng)發(fā)送信號(hào),所述信號(hào)用于表示文件下載程序運(yùn)行正常。
與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn)
本發(fā)明實(shí)施例提供的方法通過讀取預(yù)下載文件的數(shù)據(jù)并將所述讀取的數(shù) 據(jù)寫入加密文件系統(tǒng)文件,然后向監(jiān)控系統(tǒng)發(fā)送信號(hào),所述信號(hào)用于表示文 件下載程序運(yùn)行正常。較好的避免了內(nèi)存對下載大文件時(shí)的限制,而且在寫 入數(shù)據(jù)后向監(jiān)控系統(tǒng)發(fā)送信號(hào),消除了文件寫入阻塞時(shí)間長可能帶來的重啟 的問題,提高用戶等待的體驗(yàn)。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí) 施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面 描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講, 在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實(shí)施例中文件下載的方法流程圖2是本發(fā)明實(shí)施例中文件下載的方法流程圖3是本發(fā)明實(shí)施例中文件下載的裝置示意圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行 清楚、完整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明一部分實(shí)施例,而不 是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出 創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供一種文件下載的方法和裝置,可以實(shí)現(xiàn)實(shí)時(shí)發(fā)送脈沖 信號(hào),提高系統(tǒng)的穩(wěn)定性,而且避免了內(nèi)存容量對下載文件大小的限制。
下面結(jié)合附圖和具體實(shí)施例對本發(fā)明實(shí)施例提供的文件下載的方法進(jìn)行 i手細(xì)it明。
本發(fā)明實(shí)施例提供的文件下載的方法流程圖,如圖l所示,包括
步驟s101、讀取預(yù)下載文件的數(shù)據(jù),并將所述讀取的數(shù)據(jù)寫入加密文件
系統(tǒng)文件?,F(xiàn)有技術(shù)在下載文件時(shí)需要先將讀取的數(shù)據(jù)寫入內(nèi)存,再經(jīng)內(nèi)存 寫入加密文件系統(tǒng)文件,此處直接將讀取的數(shù)據(jù)寫入加密文件系統(tǒng)文件,使 文件大小與內(nèi)存容量不產(chǎn)生直接的關(guān)系。
步驟Sl02、向監(jiān)控系統(tǒng)發(fā)送信號(hào),所述信號(hào)用于表示文件下載程序運(yùn)行 正常。監(jiān)控系統(tǒng)在一段時(shí)間內(nèi)未接收到正在運(yùn)行的系統(tǒng)發(fā)送的信號(hào),會(huì)默認(rèn) 正在運(yùn)行的系統(tǒng)異常而復(fù)位系統(tǒng)。
通過上述步驟將讀取的數(shù)據(jù)直接寫入加密文件系統(tǒng)文件,使下載文件的 大小不受內(nèi)存的限制,并在寫入文件后向監(jiān)控系統(tǒng)發(fā)送信號(hào),以避免監(jiān)控系 統(tǒng)復(fù)位系統(tǒng)。
圖2所示,具體包括
步驟s201、網(wǎng)絡(luò)客戶端通過套接字socket讀取數(shù)據(jù)。具體的,網(wǎng)絡(luò)客戶 端利用平臺(tái)接口 socket讀取數(shù)據(jù),
其中socket用于描述通信的目的IP地址、使用的傳輸層協(xié)議和使用的端 口號(hào),由此來區(qū)分來自不同應(yīng)用程序進(jìn)程或網(wǎng)絡(luò)連接的通信,實(shí)現(xiàn)數(shù)據(jù)傳輸 的并發(fā)服務(wù)。
步驟s202、將讀取的數(shù)據(jù)寫入加密文件系統(tǒng)文件。具體的,網(wǎng)絡(luò)客戶端 讀取的數(shù)據(jù)被直接寫入EFS,而不需要先寫入內(nèi)存,從而使文件下載和內(nèi)存 的大小無關(guān),較好的解決了內(nèi)存限制下載文件大小的問題。為了降低數(shù)據(jù)寫 入文件系統(tǒng)的次數(shù)過多對整體效率帶來的影響,可以先將讀取的數(shù)據(jù)緩存在 flash中,待讀取的次數(shù)達(dá)到門限值后將緩存的數(shù)據(jù)一次性寫入加密文件系統(tǒng) 文件。
步驟s203 、向監(jiān)控系統(tǒng)發(fā)送脈沖信號(hào)。
具體的, 一般情況下系統(tǒng)都具有監(jiān)控系統(tǒng),如看門狗電路,用于監(jiān)測系 統(tǒng)中的軟件工作是否正常,通常情況下系統(tǒng)軟件會(huì)定時(shí)向監(jiān)控系統(tǒng)發(fā)送脈沖 信號(hào),表示工作正常;若超過預(yù)定時(shí)間后,監(jiān)控系統(tǒng)未接收到脈沖信號(hào),則 認(rèn)為軟件工作異常而復(fù)位系統(tǒng)。
重復(fù)步驟s201至步驟s204,直到將所有需要讀取的數(shù)據(jù)讀取完成。
由于寫文件長時(shí)間占用CPU,可能會(huì)導(dǎo)致UI (用戶界面)任務(wù)得不到調(diào) 度,監(jiān)測系統(tǒng)得不到響應(yīng)就會(huì)重啟系統(tǒng),本實(shí)施例提供的文件下載的方法通 過實(shí)時(shí)發(fā)送脈沖信號(hào),在每次寫入文件之后就發(fā)一次脈沖信號(hào),使系統(tǒng)正常 運(yùn)行。此處應(yīng)該保證每次寫入文件的時(shí)間小于監(jiān)測系統(tǒng)預(yù)設(shè)的接收脈沖信號(hào) 的時(shí)間。
上述實(shí)施例中通過平臺(tái)接口讀取數(shù)據(jù)并將讀取的數(shù)據(jù)直接寫入EFS,每 寫入一次數(shù)據(jù)就向監(jiān)控系統(tǒng)發(fā)送一次脈沖信號(hào),使系統(tǒng)正常運(yùn)行。這樣寫入 數(shù)據(jù)時(shí)不需要通過平臺(tái)的內(nèi)存存儲(chǔ)數(shù)據(jù),下載的文件大小和內(nèi)存無關(guān)聯(lián)。
上述實(shí)施例中,若數(shù)據(jù)寫入文件系統(tǒng)的次數(shù)過多會(huì)減低下載文件整體的 效率,有鑒于此,需要控制寫入文件系統(tǒng)的次數(shù),由于文件寫入的時(shí)間和flash (閃存)的型號(hào)/類型以及平臺(tái)的CPU性能等有關(guān),因此,在上述實(shí)施例的基 礎(chǔ)上可以做進(jìn)一步優(yōu)化。通過上述實(shí)施例提供的文件下載方法可知,將整個(gè) 下載的文件數(shù)據(jù)一次性寫入EFS時(shí)效率最高,寫EFS的次數(shù)越多效率越低。 該寫入次數(shù)可以根據(jù)flash的類型和平臺(tái)性能調(diào)整,也就是根據(jù)經(jīng)驗(yàn)數(shù)據(jù)和測 試數(shù)據(jù)確定一個(gè)N值,通過socket讀取N次數(shù)據(jù)并緩存后再一次性將緩存的 數(shù)據(jù)寫入EFS。該N值的范圍在1和(文件大小/socketbuffersize)之間,若 N值為1就是最優(yōu)化的方案,根據(jù)N值的變化下載文件過程的性能和效果呈 正態(tài)分布,當(dāng)N值從1增加時(shí)性能會(huì)提高,整體效果會(huì)提升;當(dāng)提升到一定 程度時(shí),由于緩存buffer的限制,整體效果就會(huì)下降。因此需要通過測試和 經(jīng)驗(yàn)數(shù)據(jù)找準(zhǔn)這個(gè)N值, 一般建議這個(gè)N值在1-10之間。
同時(shí),為實(shí)現(xiàn)本發(fā)明實(shí)施例提供的文件下載的方法,本發(fā)明實(shí)施例還提 供了一種文件下載的裝置,如圖3示,包括
讀取模塊310,用于通過平臺(tái)接口讀取預(yù)下載文件的數(shù)據(jù);
寫入模塊320,用于將數(shù)據(jù)寫入加密文件系統(tǒng)文件;
發(fā)送模塊330,用于所述寫入模塊將數(shù)據(jù)寫入加密文件系統(tǒng)文件后,向監(jiān) 控系統(tǒng)發(fā)送信號(hào),所述信號(hào)用于表示文件下載程序運(yùn)行正常。
該裝置還包括
存儲(chǔ)模塊340,用于緩存所述讀取模塊讀取的數(shù)據(jù);
檢測模塊350,用于檢測所述讀取模塊讀取數(shù)據(jù)的次數(shù),當(dāng)所述次數(shù)不小
于預(yù)設(shè)的門限值時(shí),觸發(fā)所述寫入模塊將所述存儲(chǔ)模塊中存儲(chǔ)的數(shù)據(jù)寫入加 密文件系統(tǒng)文件。
通過本發(fā)明實(shí)施例提供的文件下載的方法和裝置,可以通過讀取數(shù)據(jù)并 將數(shù)據(jù)寫入加密文件系統(tǒng)文件,然后向監(jiān)控系統(tǒng)發(fā)送信號(hào),該信號(hào)用于表示 文件下載程序運(yùn)行正常。較好的避免了內(nèi)存對下載大文件時(shí)的限制,而且在 寫入數(shù)據(jù)后向監(jiān)控系統(tǒng)發(fā)送信號(hào),消除了文件寫入阻塞時(shí)間長可能帶來的重 啟的問題,提高用戶等待的體驗(yàn)。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā) 明可以通過硬件實(shí)現(xiàn),也可以借助軟件加必要的通用硬件平臺(tái)的方式來實(shí)現(xiàn)。 基于這樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟
件產(chǎn)品可以存儲(chǔ)在一個(gè)非易失性存儲(chǔ)介質(zhì)(可以是CD-ROM, U盤,移動(dòng)硬 盤等)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服 務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此, 任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種文件下載的方法,其特征在于,包括讀取預(yù)下載文件的數(shù)據(jù);將所述讀取的數(shù)據(jù)寫入加密文件系統(tǒng)文件;向監(jiān)控系統(tǒng)發(fā)送信號(hào),所述信號(hào)用于表示文件下載程序運(yùn)行正常。
2、 如權(quán)利要求l所述的方法,其特征在于,所述讀取預(yù)下載文件的數(shù)據(jù) 并將所述讀取的數(shù)據(jù)寫入加密文件系統(tǒng)文件,包括通過平臺(tái)接口讀取預(yù)下載文件數(shù)據(jù),并將所述讀取的數(shù)據(jù)進(jìn)行緩存,直 到讀取數(shù)據(jù)的次數(shù)達(dá)到預(yù)設(shè)的門限值,將緩存中的數(shù)據(jù)寫入加密文件系統(tǒng)文 件。
3、 如權(quán)利要求l所述的方法,其特征在于,所述將數(shù)據(jù)寫入加密文件系 統(tǒng)文件的時(shí)間小于監(jiān)控系統(tǒng)預(yù)設(shè)的接收脈沖信號(hào)的時(shí)間。
4、 一種文件下載的裝置,其特征在于,包括 讀取模塊,用于通過平臺(tái)接口讀取預(yù)下載文件的數(shù)據(jù); 寫入加密模塊,用于將&據(jù)寫入加密文件系統(tǒng)文件;發(fā)送模塊,用于所述寫入模塊將數(shù)據(jù)寫入加密文件系統(tǒng)文件后,向監(jiān)控 系統(tǒng)發(fā)送信號(hào),所述信號(hào)用于表示文件下載程序運(yùn)行正常。
5、 如權(quán)利要求4所述的裝置,其特征在于,還包括 存儲(chǔ)模塊,用于緩存所述讀取模塊讀取的數(shù)據(jù);檢測模塊,用于檢測所述讀取模塊讀取數(shù)據(jù)的次數(shù),當(dāng)所述次數(shù)不小于 預(yù)設(shè)的門限值時(shí),觸發(fā)所述寫入模塊將所述存儲(chǔ)模塊中存儲(chǔ)的數(shù)據(jù)寫入加密 文件系統(tǒng)文件。
全文摘要
本發(fā)明實(shí)施例公開了一種文件下載的方法和裝置,該方法包括讀取預(yù)下載文件的數(shù)據(jù);將所述讀取的數(shù)據(jù)寫入加密文件系統(tǒng)文件;向監(jiān)控系統(tǒng)發(fā)送信號(hào),所述信號(hào)用于表示文件下載程序運(yùn)行正常。該裝置包括讀取模塊,用于通過平臺(tái)接口讀取預(yù)下載文件的數(shù)據(jù);寫入模塊,用于將所述讀取模塊讀取的數(shù)據(jù)寫入加密文件系統(tǒng)文件;發(fā)送模塊,用于所述寫入模塊將數(shù)據(jù)寫入加密文件系統(tǒng)文件后,向監(jiān)控系統(tǒng)發(fā)送信號(hào),所述信號(hào)用于表示文件下載程序運(yùn)行正常。通過使用本發(fā)明的實(shí)施例,可以使下載文件的大小不受內(nèi)存的限制,并且有效的避免監(jiān)控系統(tǒng)得不到信號(hào)而復(fù)位系統(tǒng),提高用戶的等待體驗(yàn),同時(shí)可以通過調(diào)整讀取數(shù)據(jù)的次數(shù)提高整體性能。
文檔編號(hào)G06F17/30GK101345925SQ200810146968
公開日2009年1月14日 申請日期2008年8月28日 優(yōu)先權(quán)日2008年8月28日
發(fā)明者秦忠林 申請人:深圳華為通信技術(shù)有限公司