專利名稱:文件下載方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式技術(shù)領(lǐng)域,具體而言,涉及一種文件下載方法及系統(tǒng)。
背景技術(shù):
隨著移動(dòng)通訊業(yè)的迅猛發(fā)展,為滿足不同的客戶需求,終端內(nèi)置的功能越來越多樣化,例如,可以播放廣播電視、查看電子地圖、玩競(jìng)技游戲等等。這些拓展的業(yè)務(wù)功能和基 本業(yè)務(wù)功能集成在移動(dòng)終端軟件版本中,通過終端產(chǎn)品的生產(chǎn)或售后升級(jí)下載到終端產(chǎn)品 內(nèi)。由于業(yè)務(wù)功能的增添,終端軟件版本容量的增大,下載軟件版本的時(shí)間也越來越長,不 僅給終端設(shè)備制造商生產(chǎn)和售后部門帶來了巨大的壓力,還影響了終端設(shè)備的上市周期和 售后服務(wù)成本。傳統(tǒng)的終端文件下載方法是通過USB端口與其他終端(例如計(jì)算機(jī))進(jìn)行物理連 接,以串行的方式將下載的軟件寫入終端的非易失存儲(chǔ)介質(zhì)(例如Flash存儲(chǔ)器)中,這是 大多數(shù)終端設(shè)備生產(chǎn)和售后下載所采用的方法。這種串行下載方式的特點(diǎn)是計(jì)算機(jī)將待 下載的終端軟件組成數(shù)據(jù)幀(一個(gè)個(gè)的數(shù)據(jù)包),通過USB端口將數(shù)據(jù)幀發(fā)送到終端設(shè)備的 片內(nèi)RAM或片外RAM中暫存,待數(shù)據(jù)幀發(fā)送結(jié)束后,再將暫存在RAM中的數(shù)據(jù)幀寫入終端設(shè) 備的Flash中,完成軟件版本下載。而且,在下載過程中,計(jì)算機(jī)將一幀數(shù)據(jù)發(fā)送成功后,會(huì) 進(jìn)入等待終端設(shè)備反饋的狀態(tài),終端設(shè)備成功反饋后,計(jì)算機(jī)再發(fā)起下一幀數(shù)據(jù)傳輸。這種 傳統(tǒng)方法的缺陷是終端設(shè)備必須等到數(shù)據(jù)幀發(fā)送完畢,才將版本數(shù)據(jù)寫入終端設(shè)備Flash。傳統(tǒng)的串行下載方式有如下缺陷終端設(shè)備必須等到數(shù)據(jù)幀發(fā)送完畢,再寫入終 端設(shè)備Flash。如果數(shù)據(jù)幀容量比較小,終端設(shè)備向計(jì)算機(jī)反饋應(yīng)答的次數(shù)就會(huì)增多,增加 了交互時(shí)間。另外,如果數(shù)據(jù)幀容量比較大,數(shù)據(jù)幀發(fā)送完畢的時(shí)間就會(huì)過長,增加了終端 等待數(shù)據(jù)的時(shí)間。因此,現(xiàn)有技術(shù)采用串行下載的方式,存在文件下載速度慢的問題。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供文件下載方法及系統(tǒng),以解決現(xiàn)有的下載技術(shù)采用接 收數(shù)據(jù)和轉(zhuǎn)存數(shù)據(jù)串行執(zhí)行方式,導(dǎo)致文件下載速度慢的問題。根據(jù)本發(fā)明的一個(gè)方面,提供了一種文件下載方法,包括接收步驟,第一終端接 收第二終端發(fā)送的文件數(shù)據(jù),暫存至第一終端的內(nèi)存的預(yù)定存儲(chǔ)區(qū);判斷步驟,第一終端判 斷預(yù)定存儲(chǔ)區(qū)內(nèi)未轉(zhuǎn)存的數(shù)據(jù)的大小是否達(dá)到或超過閾值,如果是,則執(zhí)行轉(zhuǎn)存步驟,并且 同步執(zhí)行接收步驟,否則,只執(zhí)行接收步驟;轉(zhuǎn)存步驟,將預(yù)定存儲(chǔ)區(qū)中閾值大小的數(shù)據(jù)轉(zhuǎn) 存至第一終端的非易失存儲(chǔ)介質(zhì)。根據(jù)本發(fā)明的另一方面,提供了一種文件下載系統(tǒng),包括第一終端和第二終端, 其中,第一終端包括接收模塊,用于接收第二終端發(fā)送的文件數(shù)據(jù),暫存至第一終端的內(nèi) 存的預(yù)定存儲(chǔ)區(qū);監(jiān)測(cè)模塊,用于監(jiān)測(cè)預(yù)定存儲(chǔ)區(qū)內(nèi)未轉(zhuǎn)存的數(shù)據(jù)的大小是否達(dá)到或超過 閾值,如果是,則觸發(fā)轉(zhuǎn)存模塊;轉(zhuǎn)存模塊,用于將預(yù)定存儲(chǔ)區(qū)的閾值大小的數(shù)據(jù)轉(zhuǎn)存至第 一終端的非易失存儲(chǔ)介質(zhì);控制模塊,用于在轉(zhuǎn)存模塊轉(zhuǎn)存數(shù)據(jù)時(shí),控制接收模塊同步接收文件數(shù)據(jù);第二終端包括發(fā)送模塊,用于向第一終端發(fā)送文件數(shù)據(jù)。通過本發(fā)明,采用設(shè)置文件數(shù)據(jù)轉(zhuǎn)存閾值,控制文件數(shù)據(jù)轉(zhuǎn)存的時(shí)機(jī),以及在轉(zhuǎn)存 數(shù)據(jù)時(shí)同步接收文件數(shù)據(jù),解決了現(xiàn)有技術(shù)中采用串行下載文件導(dǎo)致下載速度慢的問題, 進(jìn)而提高了文件下載速度。
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā) 明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中圖1是根據(jù)本發(fā)明實(shí)施例的下載系統(tǒng)示意圖;
圖2是根據(jù)本發(fā)明實(shí)施例一的文件下載方法流程圖;圖3是根據(jù)本發(fā)明實(shí)施例三的數(shù)據(jù)傳輸與寫Flash并行執(zhí)行的流程圖;圖4是根據(jù)本發(fā)明實(shí)施例四的文件下載系統(tǒng)結(jié)構(gòu)框圖;圖5是根據(jù)本發(fā)明實(shí)施例四的終端41的結(jié)構(gòu)框圖;圖6是根據(jù)本發(fā)明實(shí)施例四的終端42的結(jié)構(gòu)框圖。
具體實(shí)施例方式下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的 情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。圖1是根據(jù)本發(fā)明實(shí)施例的下載系統(tǒng)示意圖,如圖1所示,終端10通過設(shè)備間的 通信接口(例如USB端口)與終端20 (例如PC機(jī)或其他嵌入式設(shè)備)連接,并且從終端20 上下載文件,終端10在下載過程中,將接收到的文件數(shù)據(jù)暫存在內(nèi)存的預(yù)定存儲(chǔ)區(qū)101,該 存儲(chǔ)區(qū)在建立下載連接時(shí),由設(shè)備10的CPU申請(qǐng),專用于暫存下載的文件數(shù)據(jù)。終端10再 將預(yù)定存儲(chǔ)區(qū)101中暫存的文件數(shù)據(jù)寫入到終端10的非易失存儲(chǔ)介質(zhì)中102 (例如Flash 存儲(chǔ)器)中。實(shí)施例一在本實(shí)施例中,提供了一種文件下載方法,應(yīng)用于嵌入式終端設(shè)備從另一設(shè)備上 下載文件。圖2是根據(jù)本發(fā)明實(shí)施例一的文件下載方法流程圖,結(jié)合圖1和圖2,該方法包 括步驟S202,終端10接收第二終端20發(fā)送的文件數(shù)據(jù),暫存至所述終端10的內(nèi)存 的預(yù)定存儲(chǔ)區(qū)101 ;步驟S204,終端10判斷預(yù)定存儲(chǔ)區(qū)101內(nèi)未轉(zhuǎn)存的數(shù)據(jù)的大小是否達(dá)到或超過閾 值,如果是,則執(zhí)行步驟S206,并且同步執(zhí)行步驟S208,否則,只執(zhí)行步驟S202 ;步驟S206,將預(yù)定存儲(chǔ)區(qū)101中閾值大小的數(shù)據(jù)轉(zhuǎn)存至終端10的非易失存儲(chǔ)介質(zhì) 102 ;步驟S208,終端10繼續(xù)接收第二終端20發(fā)送的文件數(shù)據(jù)?,F(xiàn)有的終端下載文件的相關(guān)技術(shù),采用串行下載方式,即數(shù)據(jù)接收和數(shù)據(jù)轉(zhuǎn)存不 能同步執(zhí)行,當(dāng)數(shù)據(jù)轉(zhuǎn)存(即寫入非易失存儲(chǔ)介質(zhì))時(shí),數(shù)據(jù)接收停止,而數(shù)據(jù)轉(zhuǎn)存的速度 遠(yuǎn)遠(yuǎn)低于數(shù)據(jù)接收的速度,本實(shí)施例提供的上述方法,采用數(shù)據(jù)接收和數(shù)據(jù)轉(zhuǎn)存同步處理, 在數(shù)據(jù)轉(zhuǎn)存的過程中,仍接收文件數(shù)據(jù),減少了接收數(shù)據(jù)的等待時(shí)間,進(jìn)而提高終端下載的速度。在實(shí)施過程中,在執(zhí)行上述步驟S202至S206之前,終端10和終端20建立數(shù)據(jù)傳 輸連接,此連接可以是現(xiàn)有的基于各種協(xié)議的有線連接或無線連接,例如,如果終端10與 終端20通過USB端口連接,或終端10與終端20建立藍(lán)牙連接。在實(shí)施過程中,上述步驟S202的終端10接收文件數(shù)據(jù)時(shí),為提高接收速度,每次 成功接收一幀數(shù)據(jù)后,可以不向終端20反饋接收成功狀態(tài),可以但不限于在文件數(shù)據(jù)中攜 帶校驗(yàn)信息保證文件數(shù)據(jù)在傳輸過程中不丟失。在實(shí)施過程中,上述步驟S204中的閾值可以根據(jù)存儲(chǔ)區(qū)101的大小,文件數(shù)據(jù)的 接收速度以及文件數(shù)據(jù)轉(zhuǎn)存至非易失存儲(chǔ)介質(zhì)的速度設(shè)置,通過設(shè)定數(shù)據(jù)轉(zhuǎn)存的閾值條 件,控制數(shù)據(jù)轉(zhuǎn)存的時(shí)機(jī)和頻率,從而不僅優(yōu)化了數(shù)據(jù)接收和數(shù)據(jù)轉(zhuǎn)存的同步處理,并且在 不間斷接收文件數(shù)據(jù)的前提下,盡量減少轉(zhuǎn)存的次數(shù),從而提高文件下載速度。需要說明的是上述終端10可以但不限于是嵌入式終端(例如,通信終端、PDA、音 /視頻播放器等),上述終端20可以但不限于是計(jì)算機(jī)終端或其他嵌入式終端、上述非易失 存儲(chǔ)介質(zhì)102可以但不限于是Flash存儲(chǔ)器等。優(yōu)選地,在終端10接收文件數(shù)據(jù)之前,即在終端10和終端20建立傳輸數(shù)據(jù)的連 接的過程中,終端10與終端20交互,獲知待下載的文件的大小。以便終端10據(jù)此判斷文 件下載是否成功。優(yōu)選地,如果終端10確定已經(jīng)轉(zhuǎn)存的數(shù)據(jù)的大小達(dá)到所述待下載的文件大小,則 通知終端20文件下載成功,從而保證終端10下載的數(shù)據(jù)完整,并且使終端20獲知了終端 10的下載狀態(tài),獲知終端10下載成功。實(shí)施例二本實(shí)施例提供了一種更優(yōu)的文件下載方法,該更優(yōu)的方法在實(shí)施例一提供的方法 的基礎(chǔ)上,還包括終端20接收文件數(shù)據(jù)之前,即在終端10和終端20建立傳輸數(shù)據(jù)的連接的過程 中,終端10與終端20交互,可以將預(yù)定存儲(chǔ)區(qū)域101的存儲(chǔ)空間的大小通知給終端20。以 便終端20在發(fā)送文件數(shù)據(jù)的過程中,可以根據(jù)預(yù)定存儲(chǔ)區(qū)域101的存儲(chǔ)空間的大小決定是 否繼續(xù)發(fā)送文件數(shù)據(jù)。結(jié)合上述圖1,相關(guān)技術(shù)中,如果終端10待下載的文件的大小超過了預(yù)定存儲(chǔ)區(qū) 101的大小,則存在一種隱患,即預(yù)定存儲(chǔ)區(qū)101滿的時(shí)候,如果終端20繼續(xù)發(fā)送文件數(shù)據(jù), 則會(huì)出現(xiàn)預(yù)定存儲(chǔ)區(qū)101數(shù)據(jù)溢出,可能導(dǎo)致之前尚未轉(zhuǎn)存的數(shù)據(jù)被新接收的數(shù)據(jù)覆蓋, 從而導(dǎo)致文件數(shù)據(jù)丟失。而本實(shí)施例終端10將預(yù)定存儲(chǔ)區(qū)域101的存儲(chǔ)空間的大小通知 給終端20,使得終端20可以根據(jù)預(yù)定存儲(chǔ)區(qū)域101的存儲(chǔ)空間的大小控制文件數(shù)據(jù)發(fā)送/ 暫停發(fā)送/恢復(fù)發(fā)送,從而保證了預(yù)定存儲(chǔ)區(qū)101不會(huì)出現(xiàn)溢出的情況。優(yōu)選地,終端20在發(fā)送文件數(shù)據(jù)的過程中,可以實(shí)時(shí)監(jiān)測(cè)發(fā)送過的文件數(shù)據(jù)的大 小是否達(dá)到預(yù)定存儲(chǔ)區(qū)101的存儲(chǔ)空間的大小,如果是,表明終端10側(cè)接收的文件數(shù)據(jù)已 經(jīng)存滿預(yù)定存儲(chǔ)區(qū)101,此時(shí)終端20停止發(fā)送文件數(shù)據(jù),否則,繼續(xù)發(fā)送文件數(shù)據(jù)。通過上 述技術(shù)手段,避免終端10的預(yù)定存儲(chǔ)區(qū)101出現(xiàn)數(shù)據(jù)溢出。優(yōu)選地,在終端20停止發(fā)送文件數(shù)據(jù)之后,終端20等待終端10發(fā)送的指示恢復(fù) 發(fā)送的指示信息,當(dāng)接收到該指示信息后,表明終端10已經(jīng)將之前接收到的文件數(shù)據(jù)全部轉(zhuǎn)存至非易失存儲(chǔ)介質(zhì)中,可以繼續(xù)接收文件數(shù)據(jù),此時(shí)終端20恢復(fù)文件數(shù)據(jù)的發(fā)送。通 過上述技術(shù)手段,根據(jù)終端10的指示恢復(fù)文件數(shù)據(jù)的發(fā)送,既避免了終端10的預(yù)定存儲(chǔ)區(qū) 數(shù)據(jù)不溢出,又保證了終端20可以繼續(xù)發(fā)送剩余文件數(shù)據(jù),文件數(shù)據(jù)發(fā)送完整。優(yōu)選地,終端10在以下情況向終端20發(fā)送上述指示信息預(yù)定存儲(chǔ)區(qū)101的數(shù)據(jù) 均被轉(zhuǎn)存,并且已經(jīng)轉(zhuǎn)存的數(shù)據(jù)的大小未達(dá)到待下載的文件大小。如果終端10判斷已經(jīng)轉(zhuǎn)存的數(shù)據(jù)的大小達(dá)到了待下載的文件大小,則說明文件 數(shù)據(jù)全部下載,此時(shí)應(yīng)該向終端20發(fā)送下載成功的指示信息。本實(shí)施例通過上述技術(shù)手段,終端10確定合適的時(shí)機(jī),指示終端20繼續(xù)發(fā)送文件 數(shù)據(jù),保證了預(yù)定存儲(chǔ)區(qū)101內(nèi)所有暫存的數(shù)據(jù)都被轉(zhuǎn)存,使得之后接收的文件數(shù)據(jù)可以 覆蓋原來的文件數(shù)據(jù)。實(shí)施例三結(jié)合圖1,在本實(shí)施例中,終端20具體為一臺(tái)計(jì)算機(jī),終端10(以下稱之為終端設(shè) 備)通過USB端口與計(jì)算機(jī)連接,并從該計(jì)算機(jī)中下載文件,下載的文件數(shù)據(jù)暫存于終端設(shè) 備的RAM中,并將RAM中的文件數(shù)據(jù)寫入終端設(shè)備的Flash存儲(chǔ)器中,圖3是根據(jù)本發(fā)明實(shí) 施例三的數(shù)據(jù)傳輸與寫Flash并行執(zhí)行的流程圖,包括以下步驟步驟S301,終端設(shè)備連接到計(jì)算機(jī)USB端口上,與計(jì)算機(jī)建立物理連接;步驟S302,計(jì)算機(jī)實(shí)時(shí)偵測(cè)USB端口上終端設(shè)備的接入,控制終端設(shè)備進(jìn)入下載 模式,并將Flash驅(qū)動(dòng)讀入到終端設(shè)備的RAM中,運(yùn)行Flash驅(qū)動(dòng)程序,與驅(qū)動(dòng)建立數(shù)據(jù)連 接;步驟S303,終端設(shè)備開啟USB讀中斷,等待數(shù)據(jù)的到來;步驟S304,計(jì)算機(jī)解析待下載的終端軟件,獲取待下載的文件大小,并通過USB端 口將該文件大小發(fā)送至終端;步驟S305,計(jì)算機(jī)通過USB端口將文件數(shù)據(jù)連續(xù)發(fā)送至終端設(shè)備RAM,并記錄已發(fā) 送字節(jié)數(shù)。于此同時(shí),終端設(shè)備判斷RAM中已接收數(shù)據(jù)是否達(dá)到閾值,在這里,接收數(shù)據(jù)閾 值為512字節(jié),為Flash寫入數(shù)據(jù)的最小單元。如果終端設(shè)備RAM中接收的數(shù)據(jù)達(dá)到閾值, 執(zhí)行步驟S306 ;步驟S306,計(jì)算機(jī)側(cè)仍然繼續(xù)向終端RAM發(fā)送數(shù)據(jù),終端側(cè)開始將RAM中暫存的數(shù) 據(jù)寫入Flash。此時(shí),計(jì)算機(jī)側(cè)USB數(shù)據(jù)發(fā)送到RAM的過程與終端側(cè)數(shù)據(jù)寫入Flash的過程 同步進(jìn)行,由于USB數(shù)據(jù)傳輸速度遠(yuǎn)遠(yuǎn)大于Flash寫速度,所以,可保證在寫Flash時(shí),RAM 中已經(jīng)存儲(chǔ)了待寫入的數(shù)據(jù);步驟S307,計(jì)算機(jī)側(cè),如果判斷已傳文件字節(jié)數(shù)小于等于RAM可存儲(chǔ)空間大小,且 文件已全部傳輸完畢,那么執(zhí)行步驟S309 ;否則,執(zhí)行步驟S308,終端側(cè),如果判斷RAM中 的數(shù)據(jù)全部寫入Flash,并且寫入的數(shù)據(jù)空間小于或等于RAM可存儲(chǔ)空間,那么執(zhí)行步驟 S309 ;否則,執(zhí)行步驟S308 ;步驟S308,計(jì)算機(jī)側(cè),判斷已發(fā)送字節(jié)數(shù)為RAM可存儲(chǔ)空間大小,且文件未全部傳 送完畢,計(jì)算機(jī)停止發(fā)送數(shù)據(jù),等待終端的反饋信息,反饋信息表示終端側(cè)已經(jīng)將計(jì)算機(jī)發(fā) 送至終端RAM中的全部數(shù)據(jù)寫入Flash。計(jì)算機(jī)收到反饋信息后,執(zhí)行步驟S305 ;終端側(cè), 判斷已寫入Flash字節(jié)數(shù)為RAM可存儲(chǔ)空間大小,開啟USB寫中斷,向計(jì)算機(jī)發(fā)送反饋信 息。反饋信息發(fā)送后,執(zhí)行步驟S305;
步驟S309,計(jì)算機(jī)側(cè),所有文件數(shù)據(jù)全部傳輸結(jié)束,結(jié)束USB數(shù)據(jù)傳輸;終端側(cè),所 有文件數(shù)據(jù)已全部寫入Flash,重啟終端設(shè)備,確定下載成功。實(shí)施例四圖4是根據(jù)本發(fā)明實(shí)施例四的文件下載系統(tǒng)結(jié)構(gòu)框圖,如圖4所示,該系統(tǒng)包括 終端41和終端42,終端41通過設(shè)備間的通信接口(例如USB接口)與終端42連接,并且 從終端42上下載文件。終端41包括接收模塊411,監(jiān)測(cè)模塊412,轉(zhuǎn)存模塊413以及控制模塊414,其中, 接收模塊411,用于接收終端42發(fā)送的文件數(shù)據(jù),暫存至終端41的內(nèi)存的預(yù)定存儲(chǔ)區(qū);監(jiān) 測(cè)模塊412,用于監(jiān)測(cè)預(yù)定存儲(chǔ)區(qū)內(nèi)未轉(zhuǎn)存的數(shù)據(jù)的大小是否達(dá)到或超過閾值,如果是,則 觸發(fā)轉(zhuǎn)存模塊413 ;轉(zhuǎn)存模塊413,用于將預(yù)定存儲(chǔ)區(qū)的上述閾值大小的數(shù)據(jù)轉(zhuǎn)存至終端41 的非易失存儲(chǔ)介質(zhì);控制模塊414,用于在轉(zhuǎn)存模塊轉(zhuǎn)存413數(shù)據(jù)時(shí),控制接收模塊411同 步接收文件數(shù)據(jù)。
終端42包括發(fā)送模塊421,用于向終端41發(fā)送文件數(shù)據(jù)?,F(xiàn)有的終端下載文件系統(tǒng),終端41采用串行下載方式,即數(shù)據(jù)接收和數(shù)據(jù)轉(zhuǎn)存不 能同步執(zhí)行,從而導(dǎo)致文件下載速度低,本實(shí)施例提供的上述系統(tǒng),采用數(shù)據(jù)接收和數(shù)據(jù)轉(zhuǎn) 存同步處理,提高了終端下載的速度。優(yōu)選地,如圖5所示,終端41還可以包括第一累計(jì)模塊415、第一判斷模塊416以 及通知模塊417,其中,第一累計(jì)模塊415,與轉(zhuǎn)存模塊413耦接,用于累計(jì)轉(zhuǎn)存模塊415已 經(jīng)轉(zhuǎn)存的數(shù)據(jù)的大小;第一判斷模塊416,與第一累計(jì)模塊415及通知模塊417耦接,用于 實(shí)時(shí)判斷第一累計(jì)模塊415累計(jì)的已經(jīng)轉(zhuǎn)存的數(shù)據(jù)的大小是否達(dá)到待下載的文件大小,如 果是,則觸發(fā)通知模塊417 ;通知模塊417,用于通知終端42文件下載成功。通過在終端41中設(shè)置上述模塊,使終端20及時(shí)地獲知終端10的下載狀態(tài),從而 使終端20決定后續(xù)操作(例如,斷開終端之間的連接或發(fā)送下一個(gè)文件)。優(yōu)選地,如圖6所示,第一終端還可以包括指示信息發(fā)送模塊418 第二終端還可 以包括第二累計(jì)模塊422、第二判斷模塊423、以及指示信息接收模塊424,其中,指示信息 發(fā)送模塊418,用于在預(yù)定存儲(chǔ)區(qū)的數(shù)據(jù)均被轉(zhuǎn)存,并且已經(jīng)轉(zhuǎn)存的數(shù)據(jù)的大小未達(dá)到待下 載的文件大小的情況下,發(fā)送指示第二終端恢復(fù)發(fā)送文件數(shù)據(jù)的指示信息;第二累計(jì)模塊 422,與發(fā)送模塊421耦接,用于累計(jì)發(fā)送模塊421已經(jīng)發(fā)送的文件數(shù)據(jù)的大小;第二判斷模 塊423,與第二累計(jì)模塊422和發(fā)送模塊421耦接,用于實(shí)時(shí)判斷第二累計(jì)模塊422累計(jì)的 已經(jīng)發(fā)送過的文件數(shù)據(jù)的大小是否達(dá)到預(yù)定存儲(chǔ)區(qū)的存儲(chǔ)空間的大小,如果是,則觸發(fā)發(fā) 送模塊421停止發(fā)送文件數(shù)據(jù);指示信息接收模塊424,與發(fā)送模塊421耦接,用于接收來 自終端41的指示恢復(fù)發(fā)送的指示信息,并觸發(fā)發(fā)送模塊421恢復(fù)發(fā)送文件數(shù)據(jù)。通過在終端41和終端42中設(shè)置上述模塊,終端41確定合適的時(shí)機(jī)指示終端42 繼續(xù)發(fā)送文件數(shù)據(jù),終端42確定合適的實(shí)際恢復(fù)文件數(shù)據(jù)的發(fā)送,從而保證了終端41的已 經(jīng)存滿數(shù)據(jù)的預(yù)定存儲(chǔ)區(qū)內(nèi)所有暫存的數(shù)據(jù)都被轉(zhuǎn)存,使得之后接收的文件數(shù)據(jù)可以覆蓋 原來的文件數(shù)據(jù)。避免終端41的預(yù)定存儲(chǔ)區(qū)中出現(xiàn)數(shù)據(jù)溢出。從以上的描述中,可以看出,本發(fā)明實(shí)施例提供的技術(shù)方案,通過文件數(shù)據(jù)的接收 和轉(zhuǎn)存并發(fā)執(zhí)行,以及設(shè)置數(shù)據(jù)轉(zhuǎn)存的閾值條件,控制數(shù)據(jù)轉(zhuǎn)存的時(shí)機(jī)和頻率,不僅優(yōu)化了 數(shù)據(jù)接收和數(shù)據(jù)轉(zhuǎn)存的同步處理,并且在不間斷接收文件數(shù)據(jù)的前提下,盡量減少轉(zhuǎn)存的次數(shù),從而提高文件下載速度提高了終端軟件下載速度,并且,采取合適的傳輸暫停機(jī)制, 避免接收終端的內(nèi)存出現(xiàn)數(shù)據(jù)溢出。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成 的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ) 在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示 出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或 步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技 術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種文件下載方法,其特征在于,包括接收步驟,第一終端接收第二終端發(fā)送的文件數(shù)據(jù),暫存至所述第一終端的內(nèi)存的預(yù)定存儲(chǔ)區(qū);判斷步驟,所述第一終端判斷所述預(yù)定存儲(chǔ)區(qū)內(nèi)未轉(zhuǎn)存的數(shù)據(jù)的大小是否達(dá)到或超過閾值,如果是,則執(zhí)行轉(zhuǎn)存步驟,并且同步執(zhí)行所述接收步驟,否則,只執(zhí)行所述接收步驟;轉(zhuǎn)存步驟,將所述預(yù)定存儲(chǔ)區(qū)中所述閾值大小的數(shù)據(jù)轉(zhuǎn)存至所述第一終端的非易失存儲(chǔ)介質(zhì)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述第一終端接收文件數(shù)據(jù)之前,還包 括所述第一終端獲知待下載的文件的大小。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括所述第一終端確定已經(jīng)轉(zhuǎn)存的數(shù) 據(jù)的大小達(dá)到所述待下載的文件大小,則通知所述第二終端文件下載成功。
4.根據(jù)權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,在所述第一終端接收文件數(shù)據(jù) 之前,還包括所述第一終端將所述預(yù)定存儲(chǔ)區(qū)域的存儲(chǔ)空間的大小通知給所述第二終端。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括所述第二終端實(shí)時(shí)監(jiān)測(cè)發(fā)送過的 文件數(shù)據(jù)的大小是否達(dá)到所述預(yù)定存儲(chǔ)區(qū)的存儲(chǔ)空間的大小,如果是,則停止發(fā)送文件數(shù) 據(jù),否則,繼續(xù)發(fā)送文件數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,在所述第二終端停止發(fā)送文件數(shù)據(jù)之后, 還包括所述第二終端接收來自所述第一終端的指示恢復(fù)發(fā)送的指示信息;所述第二終端恢復(fù)文件數(shù)據(jù)的發(fā)送。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述第一終端在以下情況向所述第二終 端發(fā)送所述指示信息所述預(yù)定存儲(chǔ)區(qū)的數(shù)據(jù)均被轉(zhuǎn)存,并且已經(jīng)轉(zhuǎn)存的數(shù)據(jù)的大小未達(dá) 到所述待下載的文件大小。
8.一種文件下載系統(tǒng),其特征在于,包括第一終端,包括接收模塊,用于接收第二終端發(fā)送的文件數(shù)據(jù),暫存至所述第一終端的內(nèi)存的預(yù)定存 儲(chǔ)區(qū);監(jiān)測(cè)模塊,用于監(jiān)測(cè)所述預(yù)定存儲(chǔ)區(qū)內(nèi)未轉(zhuǎn)存的數(shù)據(jù)的大小是否達(dá)到或超過閾值,如 果是,則觸發(fā)轉(zhuǎn)存模塊;所述轉(zhuǎn)存模塊,用于將所述預(yù)定存儲(chǔ)區(qū)的所述閾值大小的數(shù)據(jù)轉(zhuǎn)存至所述第一終端的 非易失存儲(chǔ)介質(zhì);控制模塊,用于在所述轉(zhuǎn)存模塊轉(zhuǎn)存數(shù)據(jù)時(shí),控制所述接收模塊同步接收文件數(shù)據(jù);第二終端,包括發(fā)送模塊,用于向所述第一終端發(fā)送文件數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述第一終端還包括第一累計(jì)模塊,與所述轉(zhuǎn)存模塊耦接,用于累計(jì)所述轉(zhuǎn)存模塊已經(jīng)轉(zhuǎn)存的數(shù)據(jù)的大??;第一判斷模塊,與所述第一累計(jì)模塊及通知模塊耦接,用于實(shí)時(shí)判斷所述第一累計(jì)模 塊累計(jì)的已經(jīng)轉(zhuǎn)存的數(shù)據(jù)的大小是否達(dá)到所述待下載的文件大小,如果是,則觸發(fā)通知模塊; 通知模塊,用于通知所述第二終端文件下載成功。
10.根據(jù)權(quán)利要求8或9所述的系統(tǒng),其特征在于, 所述第二終端還包括第二累計(jì)模塊,與所述發(fā)送模塊耦接,用于累計(jì)所述發(fā)送模塊已經(jīng)發(fā)送的文件數(shù)據(jù)的 大小;第二判斷模塊,與所述第二累計(jì)模塊和所述發(fā)送模塊耦接,用于實(shí)時(shí)判斷所述第二累 計(jì)模塊累計(jì)的已經(jīng)發(fā)送過的文件數(shù)據(jù)的大小是否達(dá)到所述預(yù)定存儲(chǔ)區(qū)的存儲(chǔ)空間的大小, 如果是,則觸發(fā)所述發(fā)送模塊停止發(fā)送文件數(shù)據(jù);指示信息接收模塊,與所述發(fā)送模塊耦接,用于接收來自所述第一終端的指示恢復(fù)發(fā) 送的指示信息,并觸發(fā)所述發(fā)送模塊恢復(fù)發(fā)送文件數(shù)據(jù); 所述第一終端還包括指示信息發(fā)送模塊,用于在所述預(yù)定存儲(chǔ)區(qū)的數(shù)據(jù)均被轉(zhuǎn)存,并且已經(jīng)轉(zhuǎn)存的數(shù)據(jù)的 大小未達(dá)到所述待下載的文件大小的情況下,發(fā)送指示所述第二終端恢復(fù)發(fā)送文件數(shù)據(jù)的 指不信息。
全文摘要
本發(fā)明公開了一種文件下載方法及系統(tǒng),該方法包括接收步驟,第一終端接收第二終端發(fā)送的文件數(shù)據(jù),暫存至第一終端的內(nèi)存的預(yù)定存儲(chǔ)區(qū);判斷步驟,第一終端判斷預(yù)定存儲(chǔ)區(qū)內(nèi)未轉(zhuǎn)存的數(shù)據(jù)的大小是否達(dá)到或超過閾值,如果是,則執(zhí)行轉(zhuǎn)存步驟,并且同步執(zhí)行接收步驟,否則,只執(zhí)行接收步驟;轉(zhuǎn)存步驟,將預(yù)定存儲(chǔ)區(qū)中閾值大小的數(shù)據(jù)轉(zhuǎn)存至第一終端的非易失存儲(chǔ)介質(zhì)。通過本發(fā)明的技術(shù)方案,解決了現(xiàn)有技術(shù)中采用串行下載文件導(dǎo)致下載速度慢的問題,提高了文件下載速度。
文檔編號(hào)G06F13/42GK101819561SQ201010153769
公開日2010年9月1日 申請(qǐng)日期2010年4月21日 優(yōu)先權(quán)日2010年4月21日
發(fā)明者曹宗凱, 胡鵬, 董鵬, 袁景美 申請(qǐng)人:中興通訊股份有限公司