本發(fā)明涉及通信技術領域,尤其涉及一種文件下載處理方法及裝置。
背景技術:
在進行文件下載時,一般都會設置緩存buffer,以便加快下載速度。但是現(xiàn)有技術中,由于buffer的大小是固定的,不能根據(jù)文件的大小進行調整,因此若對于小文件(10M),若buffer的大小為(5M),那么只有當buffer寫滿5M時才會將buffer中的內容寫入I/O口,而實際當中有可能會發(fā)生這樣一種情況,即當buffer中緩存了3M時,突然斷電,或突發(fā)了其他狀況,那么此時已經下載的3M內容將會白白流失,從而浪費帶寬資源。
技術實現(xiàn)要素:
本發(fā)明實施例提供一種文件下載處理方法及裝置,用以解決現(xiàn)有技術中使用固定大小的緩存空間,導致在突發(fā)狀況時浪費帶寬資源的問題。
本發(fā)明實施例提供一種文件下載處理方法,包括:
向服務器發(fā)送文件下載請求后,接收所述服務器返回的待下載文件的文件大小信息;
根據(jù)所述待下載文件的文件大小信息,動態(tài)分配用于緩存下載數(shù)據(jù)的緩存空間的大小;
在下載所述待下載文件的過程中,應用所述緩存空間對已下載數(shù)據(jù)進行緩存處理。
優(yōu)選地,所述根據(jù)所述待下載文件的文件大小信息,動態(tài)分配用于緩存下載數(shù)據(jù)的緩存空間的大小,包括:
根據(jù)所述待下載文件的文件大小信息,通過查找預設的對應表,確定與所述文件大小信息對應的所述緩存空間的大小。
優(yōu)選地,所述通過查找預設的對應表,確定與所述文件大小信息對應的所述緩存空間的大小包括:
通過查找預設的對應表,確定與所述文件大小信息所屬的文件大小區(qū)段;
根據(jù)確定的所述文件大小區(qū)段,查找與所述文件大小區(qū)段對應的緩存空間的大小。
優(yōu)選地,所述根據(jù)所述待下載文件的文件大小信息,動態(tài)分配用于緩存下載數(shù)據(jù)的緩存空間的大小,包括:
根據(jù)所述待下載文件的文件大小信息以及預設的比例值,確定用于緩存下載數(shù)據(jù)的緩存空間的大小。
優(yōu)選地,所述方法還包括:
將所述緩存空間已緩存的下載數(shù)據(jù)寫到本地存儲空間中。
本發(fā)明實施例提供的文件下載處理方法基于待下載文件的文件大小信息智能分配緩存空間的大小,與現(xiàn)有技術中使用固定大小的緩存空間的下載方案相比,能有效降低因為突發(fā)狀況導致的帶寬資源浪費。
本發(fā)明實施例提供一種文件下載處理裝置,包括:
接收模塊,用于向服務器發(fā)送文件下載請求后,接收所述服務器返回的待下載文件的文件大小信息;
分配模塊,用于根據(jù)所述待下載文件的文件大小信息,動態(tài)分配用于緩存下載數(shù)據(jù)的緩存空間的大?。?/p>
緩存模塊,用于在下載所述待下載文件的過程中,應用所述緩存空間對已下載數(shù)據(jù)進行緩存處理。
優(yōu)選地,所緩存模塊,具體用于根據(jù)所述待下載文件的文件大小信息,通過查找預設的對應表,確定與所述文件大小信息對應的所述緩存空間的大小。
優(yōu)選地,所緩存模塊,還用于通過查找預設的對應表,確定與所述文件大小信息所屬的文件大小區(qū)段;
根據(jù)確定的所述文件大小區(qū)段,查找與所述文件大小區(qū)段對應的緩存空間的大小。
優(yōu)選地,所述緩存模塊,具體用于根據(jù)所述待下載文件的文件大小信息以及預設的比例值,確定用于緩存下載數(shù)據(jù)的緩存空間的大小。
優(yōu)選地,所述裝置還包括:寫入模塊;
所述寫入模塊,用于將所述緩存空間已緩存的下載數(shù)據(jù)寫到本地存儲空間中。
本發(fā)明實施例提供的文件下載處理裝置基于待下載文件的文件大小信息智能分配緩存空間的大小,與現(xiàn)有技術中使用固定大小的緩存空間的下載方案相比,能有效降低因為突發(fā)狀況導致的帶寬資源浪費。
附圖說明
為了更清楚地說明本發(fā)明或現(xiàn)有技術中的技術方案,下面將對本發(fā)明或現(xiàn)有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明一實施例提供的文件下載處理方法的流程示意圖;
圖2為本發(fā)明一實施例提供的文件下載處理裝置的結構示意圖;
圖3為本發(fā)明一實施例提供的服務器的實體結構示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
圖1示出了本發(fā)明一實施例提供的一種文件下載處理方法,包括:
110、向服務器發(fā)送文件下載請求后,接收所述服務器返回的待下載文件的文件大小信息;
需要說明的是,在進行文件下載時,處理器向服務器發(fā)送文件下載請求,服務器根據(jù)文件下載請求向處理器反饋待下載文件的文件大小信息,舉例說明,此處的文件大小信息為5M,500M,5G等數(shù)據(jù);
120、根據(jù)所述待下載文件的文件大小信息,動態(tài)分配用于緩存下載數(shù)據(jù)的緩存空間的大小;
需要說明的是,在接收到服務器反饋的待下載文件的文件大小信息后,處理器將以文件大小信息作為依據(jù),分配緩存空間buffer的大??;
130、在下載所述待下載文件的過程中,應用所述緩存空間對已下載數(shù)據(jù)進行緩存處理。
可理解的是,此處buffer的作用是,在下載文件的過程中,將下載數(shù)據(jù)進行緩存處理,并在下載數(shù)據(jù)寫滿buffer后,將buffer中的已下載數(shù)據(jù)通過I/O寫入至本地存儲空間。
另外,本地存儲空間的地址在建立下載任務時,已由用戶自行設置。
可知,本實施例提供的文件下載處理方法,基于待下載文件的文件大小信息智能分配緩存空間的大小,與現(xiàn)有技術中使用固定大小的緩存空間的下載方案相比,能有效降低因為突發(fā)狀況導致的帶寬資源浪費。
在一可行實施例中,本發(fā)明實施例根據(jù)所述待下載文件的文件大小信息,通過查找預設的對應表,確定與所述文件大小信息對應的所述緩存空間的大小。
需要說明的是,為了實現(xiàn)動態(tài)分配用于緩存下載數(shù)據(jù)的緩存空間的大小的功能,在獲取待下載文件的文件大小信息之前,需要預先建立對應表,對應表中存有文件大小信息和與之對應的緩存空間的大??;
例如,待下載文件的文件大小為500M,處理器通過查找對應表的方式,獲知與500M對應的緩存空間的大小為50M,則分配50M的緩存空間以緩存下載數(shù)據(jù)。
本實施例通過預先建立的對應表,以在下載時通過查找即可獲取與待下載文件的文件大小信息對應的緩存空間的大小,并應用查找到的對應大小的緩存空間緩存下載數(shù)據(jù),提高了獲取緩存空間大小的速度,進而降低了響應時間。
為了提高分配緩存空間大小的精度,本發(fā)明實施例還可以通過查找預設的對應表,確定與所述文件大小信息所屬的文件大小區(qū)段;根據(jù)確定的所述文件大小區(qū)段,查找與所述文件大小區(qū)段對應的緩存空間的大小。
需要說明的是,待下載文件的文件大小信息不一定為規(guī)整的數(shù)字,例如,文件大小信息可能是500.32M;針對這種情況本發(fā)明實施例的對應表以劃分區(qū)段的形式,以使任何文件大小信息都能有與之對應的緩存空間大小。
舉例說明:對應表包括多個文件大小區(qū)間,以及與各文件大小區(qū)域對應的緩存空間的大??;文件大小信息:0M-10M,對應的緩存空間大?。?M;文件大小信息:10M-50M,對應的緩存空間大?。?M;文件大小信息:50M-100M,對應的緩存空間大?。?M;文件大小信息:100M-500M,對應的緩存空間大小:30M;等等,其中,各文件大小區(qū)段相加可覆蓋所有的文件大小信息。
若服務器反饋的待下載文件的文件大小信息為300.56M,則從對應表中可查找到,300.56M屬于第4個文件大小區(qū)段,第4個文件大小區(qū)段對應的緩存空間的大小為30M,則處理器將30M分配給緩存空間,以緩存下載數(shù)據(jù)。
可理解的是,具體地區(qū)間劃分可視情況而定,此處只是舉例,而非限定。
在另一可行實施例中,本發(fā)明實施例還可以根據(jù)所述待下載文件的文件大小信息以及預設的比例值,確定用于緩存下載數(shù)據(jù)的緩存空間的大小。
需要說明的是,處理器在接收到服務器反饋的待下載文件的文件大小信息后,根據(jù)預設的文件大小信息和緩存空間的大小之間的比例值,獲取分配給該待下載文件的緩存空間;
舉例說明:處理器預設的比例值為10:1,那么若處理器接收到的待下載文件為100M,則分配給該待下載文件的緩存空間的大小為10M;若處理器預設的比例值為15:1,那么若處理器接收到的待下載文件為300M,則分配給該待下載文件的緩存空間的大小為20M。
可理解的是,具體地比例值可視情況而定,此處只是舉例,而非限定;對于按照預設比例值計算之后獲得的緩存空間的大小為非整數(shù)的情況,可視需要的精度保留小數(shù)點后的位數(shù)。
本實施例通過預設比例值的方式,在接收到服務器反饋的待下載文件的文件大小信息后,直接計算獲得需要分配給該待下載文件的緩存空間,能有效地提高了分配緩存空間大小的精度。
對于方法實施方式,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明實施方式并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明實施方式,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施方式均屬于優(yōu)選實施方式,所涉及的動作并不一定是本發(fā)明實施方式所必須的。
圖2示出了本發(fā)明一實施例提供的文件下載處理裝置,包括:接收模塊210,分配模塊220和緩存模塊230;其中,
接收模塊210用于向服務器發(fā)送文件下載請求后,接收所述服務器返回的待下載文件的文件大小信息;需要說明的是,在進行文件下載時,處理器向服務器發(fā)送文件下載請求,服務器根據(jù)文件下載請求向處理器反饋待下載文件的文件大小信息,舉例說明,此處的文件大小信息為5M,500M,5G等數(shù)據(jù);
分配模塊220用于根據(jù)所述待下載文件的文件大小信息,動態(tài)分配用于緩存下載數(shù)據(jù)的緩存空間的大??;需要說明的是,在接收到服務器反饋的待下載文件的文件大小信息時,分配模塊220以文件大小信息作為依據(jù),分配緩存空間buffer的大小。
緩存模塊230用于在下載所述待下載文件的過程中,應用所述緩存空間對已下載數(shù)據(jù)進行緩存處理;可理解的是,此處buffer的作用是,在下載文件的過程中,將下載數(shù)據(jù)進行緩存處理,并在下載數(shù)據(jù)寫滿buffer后,通過寫入模塊240將buffer中的已下載數(shù)據(jù)寫入至本地存儲空間。
需要說明的是,在完成創(chuàng)建下載任務時,接收模塊210通過發(fā)送請求的方式,獲取服務器反饋的下載任務對應的待下載文件的文件大小信息,并將文件大小信息發(fā)送至分配模塊220,分配模塊220獲取接收模塊210發(fā)送的文件大小信息,并以文件大小信息為依據(jù),給待下載文件分配緩存空間的大小,并將分配的緩存空間的大小發(fā)送至緩存模塊230,由緩存模塊230應用分配的緩存空間對該待下載文件的已下載數(shù)據(jù)進行緩存。
可知,本實施例提供的文件下載處理裝置,基于待下載文件的文件大小信息智能分配緩存空間的大小,與現(xiàn)有技術中使用固定大小的緩存空間的下載方案相比,能有效降低因為突發(fā)狀況導致的帶寬資源浪費。
在一可行實施例中,緩存模塊230具體用于根據(jù)所述待下載文件的文件大小信息,通過查找預設的對應表,確定與所述文件大小信息對應的所述緩存空間的大小。
需要說明的是,為了實現(xiàn)動態(tài)分配用于緩存下載數(shù)據(jù)的緩存空間的大小的功能,在獲取待下載文件的文件大小信息之前,需要預先建立對應表,對應表中存有文件大小信息和與之對應的緩存空間的大?。?/p>
本實施例通過預先建立的對應表,以在下載時,通過查找即可獲取與待下載文件的文件大小信息對應的緩存空間的大小,并應用查找到的對應大小的緩存空間緩存下載數(shù)據(jù),提高了獲取緩存空間大小的速度,進而降低了響應時間。
為了提高分配緩存空間大小的精度,本實施例中的緩存模塊230還用于通過查找預設的對應表,確定與所述文件大小信息所屬的文件大小區(qū)段;根據(jù)確定的所述文件大小區(qū)段,查找與所述文件大小區(qū)段對應的緩存空間的大小。
需要說明的是,待下載文件的文件大小信息不一定為規(guī)整的數(shù)字,例如,文件大小信息可能是500.32M;針對這種情況本發(fā)明實施例的對應表以劃分區(qū)段的形式,以使任何文件大小信息都能有與之對應的緩存空間大小。
本實施例通過在對應表中建立多個文件大小區(qū)段,以使任何的文件大小信息均可從中查找到與之對應的緩存空間的大小,提高了分配緩存空間大小的精度。
對于裝置實施方式而言,由于其與方法實施方式基本相似,所以描述的比較簡單,相關之處參見方法實施方式的部分說明即可。
在另一可行實施例中,緩存模塊230具體用于根據(jù)所述待下載文件的文件大小信息以及預設的比例值,確定用于緩存下載數(shù)據(jù)的緩存空間的大小。
需要說明的是,處理器在接收到服務器反饋的待下載文件的文件大小信息后,根據(jù)預設的文件大小信息和緩存空間的大小之間的比例值,獲取分配給該待下載文件的緩存空間。
本實施例通過預設比例值的方式,在接收到服務器反饋的待下載文件的文件大小信息后,直接計算獲得需要分配給該待下載文件的緩存空間,提高了分配緩存空間大小的精度。
對于裝置實施方式而言,由于其與方法實施方式基本相似,所以描述的比較簡單,相關之處參見方法實施方式的部分說明即可。
圖3示出了本發(fā)明一實施例提供的服務器的實體結構示意圖,該服務器包括:處理器(processor)310、通信接口(Communications Interface)320、存儲器(memory)330和總線340,其中,處理器310,通信接口320,存儲器330通過總線340完成相互間的通信。通信接口340可以用于服務器與距離傳感器之間的信息傳輸。
處理器310可以調用存儲器330中的數(shù)據(jù),以執(zhí)行如下方法:
向服務器發(fā)送文件下載請求后,接收所述服務器返回的待下載文件的文件大小信息;
根據(jù)所述待下載文件的文件大小信息,動態(tài)分配用于緩存下載數(shù)據(jù)的緩存空間的大??;
在下載所述待下載文件的過程中,應用所述緩存空間對已下載數(shù)據(jù)進行緩存處理。
此外,上述的存儲器330中的文件大小信息與緩存空間的大小之間的對應關系可以通過軟件功能單元的形式實現(xiàn)并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發(fā)明實施例的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品存儲在一個存儲介質中,包括文件大小信息與緩存空間的大小之間的對應關系(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
本實施例提供的服務器,基于待下載文件的文件大小信息智能分配緩存空間的大小,與現(xiàn)有技術中使用固定大小的緩存空間的下載方案相比,能有效降低因為突發(fā)狀況導致的帶寬資源浪費。
以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件?;谶@樣的理解,上述技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品可以存儲在計算機可讀存儲介質中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
最后應說明的是:以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。