亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于瀏覽器的文件下載方法、系統(tǒng)及客戶端與流程

文檔序號(hào):12866684閱讀:230來(lái)源:國(guó)知局
基于瀏覽器的文件下載方法、系統(tǒng)及客戶端與流程
本發(fā)明涉及通訊技術(shù)領(lǐng)域,特別涉及一種基于瀏覽器的文件下載方法、基于瀏覽器的文件下載系統(tǒng)及客戶端。

背景技術(shù):
網(wǎng)頁(yè)瀏覽器InternetExplorer(簡(jiǎn)稱IE)是為全世界所廣泛使用的WindowsInternetExplorer瀏覽器,由于習(xí)慣問(wèn)題IE的普及率格外高。在通過(guò)網(wǎng)頁(yè)頁(yè)面進(jìn)行文件下載時(shí),IE是將文件作為一個(gè)獨(dú)立的整體來(lái)進(jìn)行下載,因此下載速度較慢。為提高下載速度,目前是通過(guò)下載工具(諸如迅雷、電驢等第三方下載工具)進(jìn)行文件下載的,下載工具是通過(guò)把一個(gè)文件分成幾個(gè)(破解版本甚至可以分為幾十個(gè)、幾百個(gè))部分,并且可從不同的站點(diǎn)同時(shí)下載,因此可以成倍的提高速度。但是由于主機(jī)(客戶端)限制cookie等信息,從而導(dǎo)致可能出現(xiàn)一定概率導(dǎo)致第三方下載失敗。

技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的旨在至少解決所述技術(shù)缺陷之一。為此,本發(fā)明的一個(gè)目的在于提出一種基于瀏覽器的文件下載方法,該方法不僅可保證較快的下載速度,同時(shí)提升下載的成功率。本發(fā)明的另一個(gè)目的在于提出一種基于瀏覽器的文件下載系統(tǒng)。本發(fā)明的再一目的在于提出一種客戶端。為達(dá)到上述目的,本發(fā)明第一方面的實(shí)施例提供了一種基于瀏覽器的文件下載方法,包括以下步驟:當(dāng)檢測(cè)到文件下載任務(wù)時(shí),通過(guò)瀏覽器下載模式以預(yù)設(shè)限制速度下載文件,并獲取所述文件的文件信息,其中,所述文件的文件信息包括文件下載地址和文件應(yīng)答頭信息;根據(jù)所述文件信息判斷是否使用第三方下載工具下載所述文件;如果判斷使用所述第三方下載工具下載文件,則進(jìn)一步判斷所述第三方下載工具是否啟動(dòng)成功;以及如果判斷所述第三方下載工具啟動(dòng)成功,則通過(guò)所述第三方下載工具下載所述文件,并終止所述瀏覽器下載模式。根據(jù)本發(fā)明實(shí)施例的基于瀏覽器的文件下載方法,當(dāng)?shù)谌较螺d工具可成功下載時(shí),通過(guò)第三方下載工具進(jìn)行下載,當(dāng)?shù)谌较螺d工具下載失敗時(shí),可通過(guò)瀏覽器下載模式進(jìn)行下載,由此,在不影響下載速度的同時(shí),提升下載的成功率。另外,根據(jù)本發(fā)明上述實(shí)施例的基于瀏覽器的文件下載方法還可以具有如下附加的技術(shù)特征:在一些示例中,所述根據(jù)所述文件信息判斷是否使用第三方下載工具下載所述文件,進(jìn)一步包括:根據(jù)所述文件信息的文件應(yīng)答頭信息判斷所述文件的大??;如果所述文件的大小大于第一預(yù)設(shè)值,則判斷使用所述第三方下載工具下載所述文件。在一些示例中,所述判斷所述第三方下載工具是否啟動(dòng)成功,進(jìn)一步包括:通過(guò)所述第三方下載工具提供的接口調(diào)用所述第三方下載工具;如果所述第三方下載工具與所述文件提供服務(wù)器建立連接成功,且得到所述文件提供服務(wù)器的正確應(yīng)答,并開始從所述文件提供服務(wù)器下載所述文件,則判斷所述第三方下載工具啟動(dòng)成功。在一些示例中,還包括:如果判斷不使用所述第三方下載工具下載文件,則繼續(xù)通過(guò)所述瀏覽器下載模式下載所述文件,并取消所述預(yù)設(shè)限制速度。在一些示例中,所述獲取所述文件的文件信息,進(jìn)一步包括:所述瀏覽器調(diào)用瀏覽器下載管理器,以獲取下載函數(shù);所述下載函數(shù)通過(guò)瀏覽器下載模式的下載通道獲取所述文件的文件信息,其中,所述瀏覽器下載模式指所述瀏覽器通過(guò)調(diào)用瀏覽器下載管理器下載文件。在一些示例中,所述瀏覽器調(diào)用瀏覽器下載管理器,進(jìn)一步包括:所述瀏覽器以查詢服務(wù)的方式向服務(wù)端發(fā)送瀏覽器下載管理器獲取請(qǐng)求;所述服務(wù)端搜索相應(yīng)的瀏覽器下載管理器,并將搜索到的所述瀏覽器下載管理器提供給所述客戶端以供所述瀏覽器調(diào)用。本發(fā)明第二方面的實(shí)施例提供了一種基于瀏覽器的文件下載系統(tǒng),包括:客戶端和文件提供服務(wù)器,其中,所述客戶端用于在檢測(cè)到文件下載任務(wù)時(shí),通過(guò)瀏覽器下載模式以預(yù)設(shè)限制速度下載文件,并獲取文件的文件信息,并根據(jù)所述文件信息判斷是否使用第三方下載工具下載所述文件,并在判斷使用所述第三方下載工具下載文件時(shí),進(jìn)一步判斷所述第三方下載工具是否啟動(dòng)成功,以及在判斷所述第三方下載工具啟動(dòng)成功后,通過(guò)所述第三方下載工具從所述文件提供服務(wù)器中下載所述文件,并終止所述瀏覽器下載模式,其中,所述文件的文件信息包括文件下載地址和文件應(yīng)答頭信息;所述文件提供服務(wù)器用于存儲(chǔ)所述文件,并提供下載服務(wù)。根據(jù)本發(fā)明實(shí)施例的基于瀏覽器的文件下載系統(tǒng),當(dāng)?shù)谌较螺d工具可成功下載時(shí),通過(guò)第三方下載工具進(jìn)行下載,當(dāng)?shù)谌较螺d工具下載失敗時(shí),可通過(guò)瀏覽器下載模式進(jìn)行下載,由此,在不影響下載速度的同時(shí),提升下載的成功率。另外,根據(jù)本發(fā)明上述實(shí)施例的基于瀏覽器的文件下載系統(tǒng)還可以具有如下附加的技術(shù)特征:在一些示例中,所述客戶端用于根據(jù)所述文件信息的文件應(yīng)答頭信息判斷所述文件的大小,如果所述文件的大小大于第一預(yù)設(shè)值,則判斷使用所述第三方下載工具下載所述文件。在一些示例中,所述客戶端用于通過(guò)所述第三方下載工具提供的接口調(diào)用所述第三方下載工具,如果所述第三方下載工具與所述文件提供服務(wù)器建立連接成功,且得到所述文件提供服務(wù)器的正確應(yīng)答,并開始從所述文件提供服務(wù)器下載所述文件,則判斷所述第三方下載工具啟動(dòng)成功。在一些示例中,所述客戶端還用于在判斷不使用所述第三方下載工具下載文件時(shí),繼續(xù)通過(guò)所述瀏覽器下載模式下載所述文件,并取消所述預(yù)設(shè)限制速度。在一些示例中,所述客戶端用于通過(guò)所述瀏覽器調(diào)用瀏覽器下載管理器,以獲取下載函數(shù),并使用所述下載函數(shù)通過(guò)瀏覽器下載模式的下載通道獲取所述文件的文件信息,其中,所述瀏覽器下載模式指所述瀏覽器通過(guò)調(diào)用瀏覽器下載管理器下載文件。在一些示例中,其中,所述瀏覽器以查詢服務(wù)的方式向服務(wù)端發(fā)送瀏覽器下載管理器獲取請(qǐng)求,所述服務(wù)端搜索相應(yīng)的瀏覽器下載管理器,并將搜索到的所述瀏覽器下載管理器提供給所述客戶端以供所述瀏覽器調(diào)用。本發(fā)明第三方面的實(shí)施例提供了一種客戶端,所述客戶端包括:外殼、屏幕、處理器、內(nèi)存、電路板和電源電路,其中,所述屏幕安置在所述外殼上,所述電路板安置在所述外殼圍成的空間內(nèi)部,所述處理器和所述內(nèi)存設(shè)置在所述電路板上;所述電源電路,用于為所述移動(dòng)終端的各個(gè)電路或器件供電;所述處理器用于處理數(shù)據(jù),并具體用于:當(dāng)檢測(cè)到文件下載任務(wù)時(shí),通過(guò)瀏覽器下載模式以預(yù)設(shè)限制速度下載文件,并獲取所述文件的文件信息,并根據(jù)所述文件信息判斷是否使用第三方下載工具下載所述文件,如果判斷使用所述第三方下載工具下載文件,則進(jìn)一步判斷所述第三方下載工具是否啟動(dòng)成功,以及如果判斷所述第三方下載工具啟動(dòng)成功,則通過(guò)所述第三方下載工具下載所述文件,并終止所述瀏覽器下載模式,其中,所述文件的文件信息包括文件下載地址和文件應(yīng)答頭信息。根據(jù)本發(fā)明實(shí)施例的客戶端,當(dāng)?shù)谌较螺d工具可成功下載時(shí),通過(guò)第三方下載工具進(jìn)行下載,當(dāng)?shù)谌较螺d工具下載失敗時(shí),可通過(guò)瀏覽器下載模式進(jìn)行下載,由此,在不影響下載速度的同時(shí),提升下載的成功率。另外,根據(jù)本發(fā)明上述實(shí)施例的客戶端還可以具有如下附加的技術(shù)特征:在一些示例中,所述處理器用于根據(jù)所述文件信息的文件應(yīng)答頭信息判斷所述文件的大小,如果所述文件的大小大于第一預(yù)設(shè)值,則判斷使用所述第三方下載工具下載所述文件。在一些示例中,所述處理器用于通過(guò)所述第三方下載工具提供的接口調(diào)用所述第三方下載工具,如果所述第三方下載工具與所述文件提供服務(wù)器建立連接成功,且得到所述文件提供服務(wù)器的正確應(yīng)答,并開始從所述文件提供服務(wù)器下載所述文件,則判斷所述第三方下載工具啟動(dòng)成功。在一些示例中,所述處理器還用于在判斷不使用所述第三方下載工具下載文件時(shí),繼續(xù)通過(guò)所述瀏覽器下載模式下載所述文件,并取消所述預(yù)設(shè)限制速度。在一些示例中,所述處理器用于通過(guò)所述瀏覽器調(diào)用瀏覽器下載管理器,以獲取下載函數(shù),并使用所述下載函數(shù)通過(guò)瀏覽器下載模式的下載通道獲取所述文件的文件信息,其中,所述瀏覽器下載模式指所述瀏覽器通過(guò)調(diào)用瀏覽器下載管理器下載文件。在一些示例中,其中,所述瀏覽器以查詢服務(wù)的方式向服務(wù)端發(fā)送瀏覽器下載管理器獲取請(qǐng)求,所述服務(wù)端搜索相應(yīng)的瀏覽器下載管理器,并將搜索到的所述瀏覽器下載管理器提供給所述客戶端以供所述瀏覽器調(diào)用。本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。附圖說(shuō)明本發(fā)明所述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于瀏覽器的文件下載方法的流程圖;圖2是根據(jù)本發(fā)明另一個(gè)實(shí)施例的基于瀏覽器的文件下載方法的流程圖;圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于瀏覽器的文件下載系統(tǒng)的結(jié)構(gòu)圖;以及圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的客戶端的結(jié)構(gòu)圖。具體實(shí)施方式下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。在本發(fā)明的描述中,需要理解的是,術(shù)語(yǔ)“縱向”、“橫向”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”“內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡(jiǎn)化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對(duì)本發(fā)明的限制。在本發(fā)明的描述中,需要說(shuō)明的是,除非另有規(guī)定和限定,術(shù)語(yǔ)“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是機(jī)械連接或電連接,也可以是兩個(gè)元件內(nèi)部的連通,可以是直接相連,也可以通過(guò)中間媒介間接相連,對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解所述術(shù)語(yǔ)的具體含義。以下結(jié)合附圖描述根據(jù)本發(fā)明實(shí)施例的基于瀏覽器的文件下載方法、系統(tǒng)及客戶端。圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的基于瀏覽器的文件下載方法的流程圖。如圖1所示,根據(jù)本發(fā)明一個(gè)實(shí)施例的基于瀏覽器的文件下載方法,包括如下步驟:步驟S101:當(dāng)檢測(cè)到文件下載任務(wù)時(shí),通過(guò)瀏覽器下載模式以預(yù)設(shè)限制速度下載文件,并獲取文件的文件信息,其中,文件的文件信息包括但不限于文件下載地址和文件應(yīng)答頭信息。文件應(yīng)答頭信息包括諸如文件類型、文件大小等信息。在本發(fā)明的一個(gè)實(shí)施例中,瀏覽器可通過(guò)瀏覽器下載模式的下載通道獲取文件的文件信息。瀏覽器例如為IE瀏覽器。具體地說(shuō),獲取文件的文件信息,進(jìn)一步包括:(1)瀏覽器調(diào)用瀏覽器下載管理器,以獲取下載函數(shù)。(2)下載函數(shù)通過(guò)瀏覽器下載模式的下載通道獲取文件的文件信息,其中,瀏覽器下載模式指瀏覽器通過(guò)調(diào)用瀏覽器下載管理器下載文件。綜上,假設(shè)瀏覽器位于客戶端中,而文件位于服務(wù)器中。當(dāng)用戶觸發(fā)客戶端中顯示在瀏覽器的頁(yè)面中的下載按鈕后,瀏覽器將發(fā)送下載請(qǐng)求至服務(wù)器,瀏覽器通過(guò)瀏覽器下載模式的下載通道從服務(wù)器中下載文件的文件信息,此時(shí),瀏覽器通過(guò)瀏覽器下載模式以預(yù)設(shè)限制速度從服務(wù)器中下載文件。其中,預(yù)設(shè)限制速度至將下載速度限制為一個(gè)相對(duì)較低的速度。即設(shè)置原下載流程以低速(預(yù)設(shè)限制速度)的方式下載。即瀏覽器通過(guò)瀏覽器下載模式以低速下載文件,并將下載的內(nèi)容暫存在諸如安裝有該瀏覽器的客戶端的內(nèi)存中。進(jìn)一步而言,瀏覽器調(diào)用瀏覽器下載管理器,進(jìn)一步包括:(1)瀏覽器以查詢服務(wù)(QueryService)的方式向服務(wù)端發(fā)送瀏覽器下載管理器獲取請(qǐng)求。(2)服務(wù)端搜索相應(yīng)的瀏覽器下載管理器,并將搜索到的瀏覽器下載管理器提供給客戶端以供瀏覽器調(diào)用,即以便瀏覽器進(jìn)行回調(diào)使用。當(dāng)IE瀏覽器檢測(cè)到有下載發(fā)生時(shí),IE瀏覽器調(diào)用IDownloadManager::Download函數(shù)(即下載管理器的下載函數(shù)),并可通過(guò)此函數(shù)獲取文件的文件信息(文件信息包括文件下載地址和頭信息,即文件下載url及文件應(yīng)答頭信息)。步驟S102:根據(jù)文件信息判斷是否使用第三方下載工具下載文件。例如:可根據(jù)上述文件應(yīng)答頭信息判斷是否要進(jìn)行第三方下載(即是否利用第三方下載工具下載文件)。具體而言,根據(jù)文件信息判斷是否使用第三方下載工具下載所述文件,包括:(1)根據(jù)文件信息的文件應(yīng)答頭信息判斷文件的大小。根據(jù)文件信息的文件應(yīng)答頭信息能夠反映出文件的大小,即文件應(yīng)大頭信息中包括文件大小的信息。(2)如果文件的大小大于第一預(yù)設(shè)值,則判斷使用第三方下載工具下載文件。其中,第一預(yù)設(shè)值可根據(jù)經(jīng)驗(yàn)值確定,也可根據(jù)當(dāng)前網(wǎng)速情況確定。例如,當(dāng)文件大于10兆時(shí),通常認(rèn)為為比較大的文件,通過(guò)高速下載工具進(jìn)行下載比較省時(shí)間,此時(shí),第一預(yù)設(shè)值可被設(shè)置為10兆。再如,如果當(dāng)前的網(wǎng)速較快也比較穩(wěn)定,則可將第一預(yù)設(shè)值設(shè)置較大一些,如30兆等。需要說(shuō)明的是,上述示例中第一預(yù)設(shè)值被設(shè)置為10兆或者30兆只是示例性的,并不能作為對(duì)本發(fā)明的限制。步驟S103:如果判斷使用第三方下載工具下載文件,則進(jìn)一步判斷第三方下載工具是否啟動(dòng)成功。具體地說(shuō),如果利用第三方下載,則在以瀏覽器模式下載文件的同時(shí),進(jìn)一步判斷第三方下載工具是否啟動(dòng)成功。在本發(fā)明的一個(gè)示例中,判斷第三方下載工具是否啟動(dòng)成功,進(jìn)一步包括:(1)通過(guò)第三方下載工具提供的接口調(diào)用第三方下載工具。即第三方下載工具通常提供有相應(yīng)的下載的開發(fā)工具包(開發(fā)接口),通過(guò)其提供的開發(fā)工具包可調(diào)用第三方下載工具。(2)如果第三方下載工具與文件提供服務(wù)器建立連接成功,且得到文件提供服務(wù)器的正確應(yīng)答,并開始從文件提供服務(wù)器下載文件,則判斷第三方下載工具啟動(dòng)成功。例如,由于一些客戶端中的瀏覽器對(duì)cookie進(jìn)行了設(shè)置,從而可能導(dǎo)致第三方下載工具的啟動(dòng)失敗,即無(wú)法使用第三方下載工具進(jìn)行下載。在本發(fā)明的一個(gè)實(shí)施例中,第三方下載工具指可提供高速下載的工具,諸如迅雷、網(wǎng)際快車、BT下載和電驢下載等工具。步驟S104:如果判斷第三方下載工具啟動(dòng)成功,則通過(guò)第三方下載工具下載文件,并終止瀏覽器下載模式。例如,如果客戶端中的瀏覽器對(duì)cookie的設(shè)置沒有對(duì)第三方下載工具的限制,則可利用該第三方下載工具對(duì)文件進(jìn)行高速下載。并終止上述步驟中的通過(guò)瀏覽器下載模式的低速下載。即停止以瀏覽器下載模式下載,直接通過(guò)第三方下載工具進(jìn)行下載。進(jìn)一步而言,本發(fā)明實(shí)施例的基于瀏覽器的文件下載方法還包括如下步驟:如果判斷不使用第三方下載工具下載文件,則繼續(xù)通過(guò)瀏覽器下載模式下載文件,并取消預(yù)設(shè)限制速度。由上述實(shí)施例可知,其目的為當(dāng)使用第三方下載(第三方下載工具)失敗后,沿用原下載流程(即瀏覽器下載模式),以保證下載的高成功率。這是由于,經(jīng)過(guò)測(cè)試由于主機(jī)(如文件提供服務(wù)器等)限制cookie等信息,有一定概率出現(xiàn)第三方下載失敗。也就是說(shuō),如果在第三方下載工具發(fā)出請(qǐng)求后,服務(wù)器(諸如文件提供服務(wù)器)返回成功應(yīng)答標(biāo)記,停掉原有下載流程,使用第三方下載工具全程下載。如果第三方下載工具下載失敗,恢復(fù)原流程(瀏覽器下載模式)。同時(shí),取消對(duì)采用瀏覽器下載模式下載文件的限速,即取消預(yù)設(shè)限制速度,從而可保證采用瀏覽器下載模式下載文件的時(shí)間相對(duì)減少,提升瀏覽器下載模式的文件下載效率。綜上,當(dāng)有下載發(fā)生時(shí),IE瀏覽器調(diào)用IDownloadManager::Download函數(shù)(即下載函數(shù)),在此函數(shù)中,獲取下載url及文件應(yīng)答頭信息(即文件信息),根據(jù)頭信息判斷是否要進(jìn)行第三方下載,如果不啟動(dòng)第三方下載,繼續(xù)原流程,整個(gè)流程結(jié)束。否則設(shè)置原下載流程以低速的方式下載,下載的內(nèi)容暫存在內(nèi)存中。目的在于,當(dāng)用第三方下載失敗后,沿用原下載流程,以提供下載的高成功率。其中,下載管理器實(shí)現(xiàn)IDownloadManager接口,通過(guò)QueryService(查詢服務(wù))向IE瀏覽器返回自定義的下載管理器,以便IE瀏覽器進(jìn)行回調(diào),以下載文件等。如圖2所示,作為一個(gè)具體的示例,本發(fā)明實(shí)施例的基于瀏覽器的文件下載方法,具體包括如下步驟:步驟S201:設(shè)置下載管理器。步驟S202:IE下載文件回調(diào)下載管理器。步驟S203:獲取下載文件信息(文件信息)。步驟S204:判斷是否使用第三方下載(第三方下載工具)下載。如果是,則轉(zhuǎn)至步驟S205,否則轉(zhuǎn)至步驟S209。步驟S205:通過(guò)原來(lái)IE流程(即瀏覽器下載模式)保持低速(第一下載速度)下載。步驟S206:使用第三方下載(即使用第三方下載工具下載)。步驟S207:判斷第三方下載是否成功啟動(dòng)。如果是則執(zhí)行步驟S208,否則執(zhí)行步驟S209。步驟S208:關(guān)閉原始下載,即終止瀏覽器下載模式。步驟S209:以IE原始流程下載,即通過(guò)瀏覽器下載模式以第二下載速度(相對(duì)于第一下載速度較快)下載文件。根據(jù)本發(fā)明實(shí)施例的基于瀏覽器的文件下載方法,當(dāng)?shù)谌较螺d工具可成功下載時(shí),通過(guò)第三方下載工具進(jìn)行下載,當(dāng)?shù)谌较螺d工具下載失敗時(shí),可通過(guò)瀏覽器下載模式進(jìn)行下載,由此,在不影響下載速度的同時(shí),提升下載的成功率。本發(fā)明的進(jìn)一步實(shí)施例提出了一種基于瀏覽器的文件下載系統(tǒng)。如圖3所示,根據(jù)本發(fā)明一個(gè)實(shí)施例的基于瀏覽器的文件下載系統(tǒng)300,包括:客戶端310和文件提供服務(wù)器320。其中,客戶端310用于在檢測(cè)到文件下載任務(wù)時(shí),通過(guò)瀏覽器下載模式以預(yù)設(shè)限制速度下載文件,并獲取文件的文件信息,并根據(jù)文件信息判斷是否使用第三方下載工具下載文件,并在判斷使用第三方下載工具下載文件時(shí),進(jìn)一步判斷第三方下載工具是否啟動(dòng)成功,以及在判斷第三方下載工具啟動(dòng)成功后,通過(guò)第三方下載工具從文件提供服務(wù)器320中下載文件,并終止瀏覽器下載模式。文件提供服務(wù)器320用于存儲(chǔ)文件,并提供下載服務(wù)。在上述示例中,文件的文件信息包括但不限于文件下載地址和文件應(yīng)答頭信息。文件應(yīng)答頭信息包括諸如文件類型、文件大小等信息。此外,瀏覽器可通過(guò)瀏覽器下載模式的下載通道獲取文件的文件信息。瀏覽器例如為IE瀏覽器。具體地說(shuō),客戶端用于通過(guò)瀏覽器調(diào)用瀏覽器下載管理器,以獲取下載函數(shù),并使用下載函數(shù)通過(guò)瀏覽器下載模式的下載通道獲取文件的文件信息,其中,瀏覽器下載模式指瀏覽器通過(guò)調(diào)用瀏覽器下載管理器下載文件。假設(shè)瀏覽器位于客戶端310中,而文件位于文件提供服務(wù)器320中。當(dāng)用戶觸發(fā)客戶端310中顯示在瀏覽器的頁(yè)面中的下載按鈕后,瀏覽器將發(fā)送下載請(qǐng)求至文件提供服務(wù)器320,瀏覽器通過(guò)瀏覽器下載模式的下載通道從文件提供服務(wù)器320中下載文件的文件信息,此時(shí),瀏覽器通過(guò)瀏覽器下載模式以預(yù)設(shè)限制速度從文件提供服務(wù)器320中下載文件。其中,預(yù)設(shè)限制速度至將下載速度限制為一個(gè)相對(duì)較低的速度。即設(shè)置原下載流程以低速(預(yù)設(shè)限制速度)的方式下載。即瀏覽器通過(guò)瀏覽器下載模式以低速下載文件,并將下載的內(nèi)容暫存在諸如安裝有該瀏覽器的客戶端310的內(nèi)存中。進(jìn)一步地,瀏覽器以查詢服務(wù)(QueryService)的方式向服務(wù)端發(fā)送瀏覽器下載管理器獲取請(qǐng)求,服務(wù)端搜索相應(yīng)的瀏覽器下載管理器,并將搜索到的瀏覽器下載管理器提供給客戶端以供瀏覽器調(diào)用,即以便瀏覽器進(jìn)行回調(diào)使用。當(dāng)IE瀏覽器檢測(cè)到有下載發(fā)生時(shí),IE瀏覽器調(diào)用IDownloadManager::Download函數(shù)(即下載管理器的下載函數(shù)),并可通過(guò)此函數(shù)獲取文件的文件信息(文件信息包括文件下載地址和頭信息,即文件下載url及文件應(yīng)答頭信息)。在本發(fā)明的一個(gè)實(shí)施例中,客戶端310可根據(jù)文件信息判斷是否使用第三方下載工具下載所述文件,即客戶端310根據(jù)文件信息的文件應(yīng)答頭信息判斷文件的大小,即根據(jù)文件信息的文件應(yīng)答頭信息能夠反映出文件的大小,即文件應(yīng)大頭信息中包括文件大小的信息;如果文件的大小大于第一預(yù)設(shè)值,則判斷使用第三方下載工具下載文件。其中,第一預(yù)設(shè)值可根據(jù)經(jīng)驗(yàn)值確定,也可根據(jù)當(dāng)前網(wǎng)速情況確定。例如,當(dāng)文件大于10兆時(shí),通常認(rèn)為為比較大的文件,通過(guò)高速下載工具進(jìn)行下載比較省時(shí)間,此時(shí),第一預(yù)設(shè)值可被設(shè)置為10兆。再如,如果當(dāng)前的網(wǎng)速較快也比較穩(wěn)定,則可將第一預(yù)設(shè)值設(shè)置較大一些,如30兆等。需要說(shuō)明的是,上述示例中第一預(yù)設(shè)值被設(shè)置為10兆或者30兆只是示例性的,并不能作為對(duì)本發(fā)明的限制。此外,如果利用第三方下載,則進(jìn)一步判斷第三方下載工具是否啟動(dòng)成功。可通過(guò)如下方式判斷第三方下載工具是否啟動(dòng)成功。即:客戶端310通過(guò)第三方下載工具提供的接口調(diào)用第三方下載工具,即第三方下載工具通常提供有相應(yīng)的下載的開發(fā)工具包(開發(fā)接口),通過(guò)其提供的開發(fā)工具包可調(diào)用第三方下載工具;如果第三方下載工具與文件提供服務(wù)器建立連接成功,且得到文件提供服務(wù)器的正確應(yīng)答,并開始從文件提供服務(wù)器下載文件,則判斷第三方下載工具啟動(dòng)成功。例如,由于一些客戶端310中的瀏覽器對(duì)cookie進(jìn)行了設(shè)置,從而可能導(dǎo)致第三方下載工具的啟動(dòng)失敗,即無(wú)法使用第三方下載工具進(jìn)行下載。在本發(fā)明的一個(gè)實(shí)施例中,第三方下載工具指可提供高速下載的工具,諸如迅雷、網(wǎng)際快車、BT下載和電驢下載等工具。如果客戶端310中的瀏覽器對(duì)cookie的設(shè)置沒有對(duì)第三方下載工具的限制,則可利用該第三方下載工具對(duì)文件進(jìn)行高速下載。并終止上述步驟中的通過(guò)瀏覽器下載模式的低速下載。進(jìn)一步而言,本發(fā)明實(shí)施例的基于瀏覽器的文件下載系統(tǒng)的客戶端310還用于在判斷不使用第三方下載工具下載文件時(shí),繼續(xù)通過(guò)瀏覽器下載模式下載文件,并取消所述預(yù)設(shè)限制速度。由上述實(shí)施例可知,其目的為當(dāng)使用第三方下載(第三方下載工具)失敗后,沿用原下載流程(即瀏覽器下載模式),以保證下載的高成功率。這是由于,經(jīng)過(guò)測(cè)試由于主機(jī)(如文件提供服務(wù)器等)限制cookie等信息,有一定概率出現(xiàn)第三方下載失敗。也就是說(shuō),在第三方下載工具發(fā)出請(qǐng)求后,服務(wù)器(諸如文件提供服務(wù)器)返回成功應(yīng)答標(biāo)記,停掉原有下載流程,使用第三方下載工具全程下載。如果第三方下載工具下載失敗,恢復(fù)原流程(瀏覽器下載模式)。同時(shí),取消對(duì)采用瀏覽器下載模式下載文件的限速,即取消預(yù)設(shè)限制速度,從而可保證采用瀏覽器下載模式下載文件的時(shí)間相對(duì)減少,提升瀏覽器下載模式的文件下載效率。綜上,當(dāng)有下載發(fā)生時(shí),IE瀏覽器調(diào)用IDownloadManager::Download函數(shù)(即下載函數(shù)),在此函數(shù)中,獲取下載url及文件應(yīng)答頭信息(即文件信息),根據(jù)頭信息判斷是否要進(jìn)行第三方下載,如果不啟動(dòng)第三方下載,繼續(xù)原流程,整個(gè)流程結(jié)束。否則設(shè)置原下載流程以低速的方式下載,下載的內(nèi)容暫存在內(nèi)存中。目的在于,當(dāng)用第三方下載失敗后,沿用原下載流程,以提供下載的高成功率。其中,下載管理器實(shí)現(xiàn)IDownloadManager接口,通過(guò)QueryService(查詢服務(wù))向IE瀏覽器返回自定義的下載管理器,以便IE瀏覽器進(jìn)行回調(diào),以下載文件等。根據(jù)本發(fā)明實(shí)施例的基于瀏覽器的文件下載系統(tǒng),當(dāng)?shù)谌较螺d工具可成功下載時(shí),通過(guò)第三方下載工具進(jìn)行下載,當(dāng)?shù)谌较螺d工具下載失敗時(shí),可通過(guò)瀏覽器下載模式進(jìn)行下載,由此,在不影響下載速度的同時(shí),提升下載的成功率。圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的客戶端310的結(jié)構(gòu)圖。如圖4所示,客戶端310包括:外殼311、屏幕312、處理器313、內(nèi)存314、電路板315和電源電路316,其中,屏幕312安置在外殼311上,電路板315安置在外殼311圍成的空間內(nèi)部,處理器313和內(nèi)存314設(shè)置在電路板315上;電源電路316用于為客戶端的各個(gè)電路或器件供電;處理器313用于處理數(shù)據(jù),并具體用于:當(dāng)檢測(cè)到文件下載任務(wù)時(shí),通過(guò)瀏覽器下載模式以預(yù)設(shè)限制速度下載文件,并獲取文件的文件信息,并根據(jù)文件信息判斷是否使用第三方下載工具下載文件,如果判斷使用所述第三方下載工具下載文件,則進(jìn)一步判斷第三方下載工具是否啟動(dòng)成功,以及如果判斷第三方下載工具啟動(dòng)成功,則通過(guò)第三方下載工具下載文件,并終止瀏覽器下載模式。在上述示例中,文件的文件信息包括但不限于文件下載地址和文件應(yīng)答頭信息。文件應(yīng)答頭信息包括諸如文件類型、文件大小等信息。此外,瀏覽器可通過(guò)瀏覽器下載模式的下載通道獲取文件的文件信息。瀏覽器例如為IE瀏覽器。具體地說(shuō),處理器313用于通過(guò)瀏覽器調(diào)用瀏覽器下載管理器,以獲取下載函數(shù),并使用下載函數(shù)通過(guò)瀏覽器下載模式的下載通道獲取文件的文件信息,其中,瀏覽器下載模式指瀏覽器通過(guò)調(diào)用瀏覽器下載管理器下載文件。假設(shè)瀏覽器位于客戶端中,而文件位于服務(wù)器中。當(dāng)用戶觸發(fā)客戶端中顯示在瀏覽器的頁(yè)面中的下載按鈕后,瀏覽器將發(fā)送下載請(qǐng)求至服務(wù)器,瀏覽器通過(guò)瀏覽器下載模式的下載通道從服務(wù)器中下載文件的文件信息,此時(shí),瀏覽器通過(guò)瀏覽器下載模式以預(yù)設(shè)限制速度從服務(wù)器中下載文件。其中,預(yù)設(shè)限制速度至將下載速度限制為一個(gè)相對(duì)較低的速度。即設(shè)置原下載流程以低速(預(yù)設(shè)限制速度)的方式下載。即瀏覽器通過(guò)瀏覽器下載模式以低速下載文件,并將下載的內(nèi)容暫存在諸如安裝有該瀏覽器的客戶端的內(nèi)存中。進(jìn)一步地,瀏覽器以查詢服務(wù)(QueryService)的方式向服務(wù)端發(fā)送瀏覽器下載管理器獲取請(qǐng)求,服務(wù)端搜索相應(yīng)的瀏覽器下載管理器,并將搜索到的瀏覽器下載管理器提供給客戶端以供瀏覽器調(diào)用,即以便瀏覽器進(jìn)行回調(diào)使用。當(dāng)IE瀏覽器檢測(cè)到有下載發(fā)生時(shí),IE瀏覽器調(diào)用IDownloadManager::Download函數(shù)(即下載管理器的下載函數(shù)),并可通過(guò)此函數(shù)獲取文件的文件信息(文件信息包括文件下載地址和頭信息,即文件下載url及文件應(yīng)答頭信息)。在本發(fā)明的一個(gè)實(shí)施例中,處理器313可根據(jù)文件信息判斷是否使用第三方下載工具下載所述文件,即處理器313根據(jù)文件信息的文件應(yīng)答頭信息判斷文件的大小,即根據(jù)文件信息的文件應(yīng)答頭信息能夠反映出文件的大小,即文件應(yīng)大頭信息中包括文件大小的信息;如果文件的大小大于第一預(yù)設(shè)值,則判斷使用第三方下載工具下載文件。其中,第一預(yù)設(shè)值可根據(jù)經(jīng)驗(yàn)值確定,也可根據(jù)當(dāng)前網(wǎng)速情況確定。例如,當(dāng)文件大于10兆時(shí),通常認(rèn)為為比較大的文件,通過(guò)高速下載工具進(jìn)行下載比較省時(shí)間,此時(shí),第一預(yù)設(shè)值可被設(shè)置為10兆。再如,如果當(dāng)前的網(wǎng)速較快也比較穩(wěn)定,則可將第一預(yù)設(shè)值設(shè)置較大一些,如30兆等。需要說(shuō)明的是,上述示例中第一預(yù)設(shè)值被設(shè)置為10兆或者30兆只是示例性的,并不能作為對(duì)本發(fā)明的限制。此外,如果利用第三方下載,則進(jìn)一步判斷第三方下載工具是否啟動(dòng)成功。可通過(guò)如下方式判斷第三方下載工具是否啟動(dòng)成功。即:處理器313通過(guò)第三方下載工具提供的接口調(diào)用第三方下載工具,即第三方下載工具通常提供有相應(yīng)的下載的開發(fā)工具包(開發(fā)接口),通過(guò)其提供的開發(fā)工具包可調(diào)用第三方下載工具;如果第三方下載工具與文件提供服務(wù)器建立連接成功,且得到文件提供服務(wù)器的正確應(yīng)答,并開始從文件提供服務(wù)器下載文件,則判斷第三方下載工具啟動(dòng)成功。例如,由于一些客戶端中的瀏覽器對(duì)cookie進(jìn)行了設(shè)置,從而可能導(dǎo)致第三方下載工具的啟動(dòng)失敗,即無(wú)法使用第三方下載工具進(jìn)行下載。在本發(fā)明的一個(gè)實(shí)施例中,第三方下載工具指可提供高速下載的工具,諸如迅雷、網(wǎng)際快車、BT下載和電驢下載等工具。如果客戶端中的瀏覽器對(duì)cookie的設(shè)置沒有對(duì)第三方下載工具的限制,則可利用該第三方下載工具對(duì)文件進(jìn)行高速下載。并終止上述步驟中的通過(guò)瀏覽器下載模式的低速下載。即停止以瀏覽器下載模式下載,直接通過(guò)第三方下載工具進(jìn)行下載。進(jìn)一步而言,本發(fā)明實(shí)施例的客戶端的處理器313還用于在判斷不使用第三方下載工具下載文件時(shí),則繼續(xù)通過(guò)瀏覽器下載模式下載文件,并取消預(yù)設(shè)限制速度。由上述實(shí)施例可知,其目的為當(dāng)使用第三方下載(第三方下載工具)失敗后,沿用原下載流程(即瀏覽器下載模式),以保證下載的高成功率。這是由于,經(jīng)過(guò)測(cè)試由于主機(jī)(如客戶端等)限制cookie等信息,有一定概率出現(xiàn)第三方下載失敗。也就是說(shuō),在第三方下載工具發(fā)出請(qǐng)求后,服務(wù)器(諸如文件提供服務(wù)器)返回成功應(yīng)答標(biāo)記,停掉原有下載流程,使用第三方下載工具全程下載。如果第三方下載工具下載失敗,恢復(fù)原流程(瀏覽器下載模式)。同時(shí),取消對(duì)采用瀏覽器下載模式下載文件的限速,即取消預(yù)設(shè)限制速度,從而可保證采用瀏覽器下載模式下載文件的時(shí)間相對(duì)減少,提升瀏覽器下載模式的文件下載效率。綜上,當(dāng)有下載發(fā)生時(shí),IE瀏覽器調(diào)用IDownloadManager::Download函數(shù)(下載函數(shù)),在此函數(shù)中,獲取下載url及文件應(yīng)答頭信息(即文件信息),根據(jù)頭信息判斷是否要進(jìn)行第三方下載,如果不啟動(dòng)第三方下載,繼續(xù)原流程,整個(gè)流程結(jié)束。否則設(shè)置原下載流程以低速的方式下載,下載的內(nèi)容暫存在內(nèi)存中。目的在于,當(dāng)用第三方下載失敗后,沿用原下載流程,以提供下載的高成功率。其中,下載管理器實(shí)現(xiàn)IDownloadManager接口,通過(guò)QueryService(查詢服務(wù))向IE瀏覽器返回自定義的下載管理器,以便IE瀏覽器進(jìn)行回調(diào),以下載文件等。根據(jù)本發(fā)明實(shí)施例的客戶端,當(dāng)?shù)谌较螺d工具可成功下載時(shí),通過(guò)第三方下載工具進(jìn)行下載,當(dāng)?shù)谌较螺d工具下載失敗時(shí),可通過(guò)瀏覽器下載模式進(jìn)行下載,由此,在不影響下載速度的同時(shí),提升下載的成功率。在本說(shuō)明書的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書中,對(duì)所述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以理解在不脫離本發(fā)明的原理和精神的情況下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由所附權(quán)利要求及其等同限定。
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1