欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)下載方法

文檔序號(hào):7625695閱讀:151來(lái)源:國(guó)知局
專利名稱:一種數(shù)據(jù)下載方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)數(shù)據(jù)下載技術(shù),特別是涉及一種數(shù)據(jù)下載方法。
背景技術(shù)
網(wǎng)絡(luò)數(shù)據(jù)下載技術(shù)是實(shí)現(xiàn)網(wǎng)絡(luò)資源共享的關(guān)鍵技術(shù)之一。在相同的條件下,數(shù)據(jù)下載速度和穩(wěn)定性是衡量數(shù)據(jù)下載方式優(yōu)劣的重要指標(biāo),這里所說(shuō)的條件是指網(wǎng)絡(luò)帶寬、服務(wù)器的性能、下載數(shù)據(jù)量等。目前的下載方式主要有基于服務(wù)器/客戶端的下載方式和基于對(duì)等網(wǎng)絡(luò)(P2P,Peer-to-Peer)的多點(diǎn)下載方式。
在傳統(tǒng)的服務(wù)器/客戶端下載模式下,由于下載數(shù)據(jù)的任務(wù)靠一個(gè)服務(wù)器完成,在目前網(wǎng)絡(luò)帶寬條件下,很難實(shí)現(xiàn)數(shù)據(jù)文件特別是大數(shù)據(jù)量文件從服務(wù)器端快速、穩(wěn)定地下載到客戶端。雖然某些基于服務(wù)器/客戶端模式的下載軟件采用多線程下載技術(shù)和支持?jǐn)帱c(diǎn)續(xù)傳來(lái)加快下載速度,但在服務(wù)器/客戶端模式下仍然很難突破網(wǎng)絡(luò)帶寬和服務(wù)器性能對(duì)下載速度和穩(wěn)定性的限制。另一類基于P2P技術(shù)下的多點(diǎn)下載軟件突破了傳統(tǒng)的服務(wù)器/客戶端下載模式,如BitTorrent?;赑2P技術(shù)下的多點(diǎn)下載技術(shù)的思想是客戶端在下載的同時(shí)還可能充當(dāng)服務(wù)器的角色向請(qǐng)求下載數(shù)據(jù)的其它客戶端傳輸數(shù)據(jù)。例如客戶端A向服務(wù)器請(qǐng)求數(shù)據(jù)下載,服務(wù)器在網(wǎng)絡(luò)中搜索到具有請(qǐng)求下載數(shù)據(jù)的客戶端B和客戶端C,由客戶端B和客戶端C把不同的數(shù)據(jù)片斷直接傳輸?shù)娇蛻舳薃;同時(shí),客戶端A可以充當(dāng)服務(wù)器,把自身獲得的而客戶端B或客戶端C沒(méi)有的數(shù)據(jù)片斷傳輸給客戶端B或客戶端C。這類數(shù)據(jù)下載技術(shù)克服了服務(wù)器/客戶端的缺點(diǎn),使客戶端A請(qǐng)求下載的數(shù)據(jù)可以分片斷從充當(dāng)服務(wù)器的角色的客戶端B和客戶端C并行下載,從而避免傳統(tǒng)方法下載數(shù)據(jù)緩慢的缺點(diǎn)。但由于這類下載方式不受服務(wù)器控制,容易造成網(wǎng)絡(luò)阻塞問(wèn)題,導(dǎo)致數(shù)據(jù)下載不穩(wěn)定。
由此可見,在現(xiàn)有技術(shù)還不能很好地實(shí)現(xiàn)下載速度快而且穩(wěn)定的數(shù)據(jù)下載方式。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種快速而穩(wěn)定的數(shù)據(jù)下載方法。為了達(dá)到上述目的,本發(fā)明提出的技術(shù)方案為一種數(shù)據(jù)下載方法,該方法包括以下步驟a、客戶端向主服務(wù)器發(fā)數(shù)據(jù)下載請(qǐng)求;b、主服務(wù)器在網(wǎng)絡(luò)中檢索具有客戶端請(qǐng)求下載數(shù)據(jù)的數(shù)據(jù)源服務(wù)器;c、在具有客戶端請(qǐng)求下載數(shù)據(jù)的數(shù)據(jù)源服務(wù)器中,主服務(wù)器確定承擔(dān)下載任務(wù)的一個(gè)或一個(gè)以上被選服務(wù)器,并將下載任務(wù)通知每個(gè)確定的被選服務(wù)器;d、被選服務(wù)器將數(shù)據(jù)并行下載到客戶端。
為了更好地處理數(shù)據(jù)量大的下載任務(wù),所述步驟b和步驟c之間進(jìn)一步包括主服務(wù)器判斷客戶端請(qǐng)求下載的數(shù)據(jù)是否需要分割,如果需要,則將客戶端請(qǐng)求下載的數(shù)據(jù)分割成數(shù)據(jù)片斷;否則,不作處理;需要將客戶端請(qǐng)求下載的數(shù)據(jù)分割成數(shù)據(jù)片斷時(shí),步驟c中所述主服務(wù)器確定被選服務(wù)器以及將下載任務(wù)通知確定的被選服務(wù)器之間還進(jìn)一步包括主服務(wù)器確定每個(gè)被選服務(wù)器的下載數(shù)據(jù)量,并將確定的下載數(shù)據(jù)量分配給相應(yīng)被選服務(wù)器。
為了更好地確定被選服務(wù)器及其下載數(shù)據(jù)量,步驟c中所述主服務(wù)器確定承擔(dān)下載任務(wù)的被選服務(wù)器及其下載數(shù)據(jù)量包括以下步驟c1、將具有請(qǐng)求下載數(shù)據(jù)的數(shù)據(jù)源服務(wù)器進(jìn)行組合,由客戶端請(qǐng)求下載的數(shù)據(jù)量和每個(gè)組合中各數(shù)據(jù)源服務(wù)器下載的總速度,得到每個(gè)組合完成下載任務(wù)的時(shí)間;c2、由下載任務(wù)的時(shí)間和該組合中各數(shù)據(jù)源服務(wù)器的下載速度,得到該組合中各數(shù)據(jù)源服務(wù)器的下載任務(wù)的數(shù)據(jù)量;c3、把該組合中下載任務(wù)的數(shù)據(jù)量超過(guò)一個(gè)數(shù)據(jù)片斷數(shù)據(jù)量的數(shù)據(jù)源服務(wù)器作為被選服務(wù)器,再通過(guò)被選服務(wù)器的總速度和客戶端請(qǐng)求下載的數(shù)據(jù)量,得到被選服務(wù)器的下載時(shí)間;c4、由被選服務(wù)器下載任務(wù)的時(shí)間和各被選服務(wù)器的下載速度,得到各被選服務(wù)器的下載任務(wù)的數(shù)據(jù)量。
為了在某被選服務(wù)器出現(xiàn)故障時(shí),下載任務(wù)仍然能較好地完成,該方法進(jìn)一步包括主服務(wù)器將未作為被選服務(wù)器,且具有請(qǐng)求下載數(shù)據(jù)的數(shù)據(jù)源服務(wù)器作為備用服務(wù)器。
為了保證數(shù)據(jù)下載地順序性,所述主服務(wù)器將確定的下載數(shù)據(jù)量分配給相應(yīng)被選服務(wù)器的方法是主服務(wù)器判斷請(qǐng)求下載的數(shù)據(jù)是否有順序要求,若有,主服務(wù)器按照計(jì)算出的各被選服務(wù)器下載數(shù)據(jù)量和數(shù)據(jù)的順序,將順序在前的數(shù)據(jù)分配給下載速度快的被選服務(wù)器,順序在后的數(shù)據(jù)分配給下載速度慢的被選服務(wù)器;否則,主服務(wù)器按照計(jì)算出的各被選服務(wù)器下載數(shù)據(jù)量,給被選服務(wù)器分配數(shù)據(jù)下載任務(wù)。
為了能同時(shí)處理新的下載任務(wù),被選服務(wù)器實(shí)時(shí)監(jiān)控主服務(wù)器是否有新的下載任務(wù),如果有,則將新的請(qǐng)求下載數(shù)據(jù)并行下載到相應(yīng)的客戶端。
為了及時(shí)處理下載部正常的情況,被選服務(wù)器將數(shù)據(jù)下載到客戶端時(shí),主服務(wù)器實(shí)時(shí)判斷被選服務(wù)器下載是否正常;如果無(wú)順序要求的數(shù)據(jù)下載不正常,主服務(wù)器則通知下載不正常的被選服務(wù)器放棄下載任務(wù),并重新指定備用服務(wù)器來(lái)完成下載任務(wù);否則,不作處理;如果有順序要求的數(shù)據(jù)下載不正常,主服務(wù)器通知該被選服務(wù)器放棄下載任務(wù),重新指定備用服務(wù)器來(lái)完成下載任務(wù),并暫停順序在后的被選服務(wù)器下載任務(wù),等備用服務(wù)器下載完以后,被暫停的被選服務(wù)器才開始下載。
進(jìn)一步地,所述主服務(wù)器判斷被選服務(wù)器下載是否正常的方法是主服務(wù)檢查被選服務(wù)器的在預(yù)定時(shí)間段內(nèi)的平均下載速度是否低于預(yù)設(shè)的下限值,如果低于下限值,則判斷該被選服務(wù)器下載的速度不正常,否則,判斷為正常。
為了更快地下載數(shù)據(jù),所述步驟d為被選服務(wù)器通過(guò)多線程下載并支持?jǐn)帱c(diǎn)續(xù)傳的方式將數(shù)據(jù)下載到客戶端。
進(jìn)一步地,在步驟d之前進(jìn)一步包括被選服務(wù)器對(duì)下載到客戶端的數(shù)據(jù)進(jìn)行加密。
為了保證數(shù)據(jù)傳播的安全性,步驟a和步驟b之間進(jìn)一步包括主服務(wù)器判斷是否允許客戶端請(qǐng)求下載的數(shù)據(jù)進(jìn)行下載,如果允許,則繼續(xù)執(zhí)行。
綜上所述,本發(fā)明提出的基于多服務(wù)器的并行數(shù)據(jù)下載方法具有以下優(yōu)點(diǎn)第一、在本發(fā)明中,當(dāng)主服務(wù)器接收到客戶端的下載請(qǐng)求時(shí),將主動(dòng)搜索具有下載數(shù)據(jù)的數(shù)據(jù)源服務(wù)器,并指定被選服務(wù)器和下載任務(wù),由被選服務(wù)器將數(shù)據(jù)并行下載到客戶端。其中,被選服務(wù)器可以是主服務(wù)器,可以是由主服務(wù)器控制的從服務(wù)器,還可以是有上傳功能的客戶端,所以,本發(fā)明可以避免傳統(tǒng)的服務(wù)器/客戶端模式的下載方式中,數(shù)據(jù)通常由主服務(wù)器完成下載而造成的阻塞問(wèn)題。
第二、本發(fā)明中,主服務(wù)器分配任務(wù)時(shí),考慮了被選服務(wù)器的下載速度和下載數(shù)據(jù)的數(shù)據(jù)量大小,可以選擇速度最快的服務(wù)器組合進(jìn)行下載,從而提高了下載速度。
第三、本發(fā)明中,主服務(wù)器將實(shí)時(shí)監(jiān)控下載情況,當(dāng)下載不正常時(shí),可以用備用服務(wù)器承擔(dān)下載任務(wù),保證下載的穩(wěn)定性。
第四、本發(fā)明中,主服務(wù)器對(duì)下載數(shù)據(jù)進(jìn)行監(jiān)控,可以有效地防止不良信息在網(wǎng)絡(luò)中的傳播擴(kuò)散。


圖1是應(yīng)用本發(fā)明方案的組網(wǎng)圖;圖2是本發(fā)明方案中的觸發(fā)機(jī)制一消息流示意圖;
圖3是本發(fā)明方案中的觸發(fā)機(jī)制二消息流示意圖;圖4是應(yīng)用本發(fā)明方案的實(shí)施例一流程圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
本發(fā)明的基本構(gòu)思是客戶端向主服務(wù)器發(fā)數(shù)據(jù)下載請(qǐng)求,當(dāng)主服務(wù)器在網(wǎng)絡(luò)中檢索到有請(qǐng)求下載數(shù)據(jù)的數(shù)據(jù)源服務(wù)器時(shí),主服務(wù)器從檢索到的數(shù)據(jù)源服務(wù)器中確定承擔(dān)下載任務(wù)的被選服務(wù)器,主服務(wù)器再確定每個(gè)被選服務(wù)器的下載數(shù)據(jù)量,將確定的下載數(shù)據(jù)量分配給相應(yīng)被選服務(wù)器,并將下載任務(wù)分別通知每個(gè)確定的被選服務(wù)器,然后再由被選服務(wù)器將數(shù)據(jù)下載到客戶端。
本實(shí)施例的組網(wǎng)圖如圖1所示,包括的網(wǎng)元有主服務(wù)器、從服務(wù)器1至從服務(wù)器n、具有上傳功能的客戶端1至客戶端n,各種網(wǎng)元通過(guò)IP協(xié)議網(wǎng)絡(luò)進(jìn)行連接。在圖1中,具有用戶請(qǐng)求數(shù)據(jù)的網(wǎng)元在本發(fā)明中被稱為數(shù)據(jù)源服務(wù)器,數(shù)據(jù)源服務(wù)器可以是主服務(wù)器或從服務(wù)器,也可以是具有上傳功能的客戶端。在本發(fā)明中,被選服務(wù)器是指已經(jīng)指定承擔(dān)下載任務(wù)的數(shù)據(jù)源服務(wù)器。
本實(shí)施例中,主服務(wù)器通知被選服務(wù)器下載任務(wù)時(shí),需要建立一個(gè)下載任務(wù)列表,該任務(wù)列表可以包括數(shù)據(jù)標(biāo)識(shí)、片斷標(biāo)識(shí)和用戶標(biāo)識(shí)三項(xiàng)內(nèi)容。任務(wù)列表中的數(shù)據(jù)標(biāo)識(shí)可以指定需要下載的數(shù)據(jù)位于被選服務(wù)器哪個(gè)文件中;片斷標(biāo)識(shí)可以指定文件中哪個(gè)數(shù)據(jù)片斷是需要下載的;用戶標(biāo)識(shí)可以指定下載路徑,即請(qǐng)求下載客戶端的IP地址或電話號(hào)碼等唯一識(shí)別標(biāo)記。在實(shí)際應(yīng)用中,也可以采用其它的形式來(lái)通知被選服務(wù)器明確各自的下載任務(wù)和下載路徑。
本實(shí)施例中,當(dāng)下載數(shù)據(jù)任務(wù)分配完畢以后,可以通過(guò)以下兩種觸發(fā)機(jī)制來(lái)開始下載數(shù)據(jù)。圖2顯示了觸發(fā)機(jī)制一的消息流示意圖,具體方法是客戶端向主服務(wù)器發(fā)下載請(qǐng)求;主服務(wù)器指定并通知被選服務(wù)器的下載任務(wù);被選服務(wù)器明確自身的下載任務(wù)以后,向主服務(wù)器發(fā)送下載分配完畢的響應(yīng)消息;主服務(wù)器向客戶端發(fā)送消息詢問(wèn)是否下載;客戶端向主服務(wù)器發(fā)送開始下載的確認(rèn)下載消息;主服務(wù)器向被選服務(wù)器發(fā)送開始下載的指令;被選服務(wù)器開始向客戶端傳輸下載數(shù)據(jù)。圖3顯示了觸發(fā)機(jī)制二的消息流示意圖,具體方法是客戶端向主服務(wù)器發(fā)下載請(qǐng)求;主服務(wù)器指定并通知被選服務(wù)器的下載任務(wù);被選服務(wù)器明確自身的下載任務(wù)以后,向主服務(wù)器發(fā)送響應(yīng)消息;被選服務(wù)器向客戶端發(fā)送消息詢問(wèn)是否下載;客戶端向被選服務(wù)器發(fā)送開始下載的確認(rèn)下載消息;被選服務(wù)器開始向客戶端傳輸下載數(shù)據(jù)。
實(shí)施例一本實(shí)施例組網(wǎng)環(huán)境如圖1所示,主服務(wù)器、從服務(wù)器1至n、客戶端1至n都通過(guò)IP協(xié)議網(wǎng)絡(luò)相互連接。本實(shí)施例中,假定客戶端1向主服務(wù)器請(qǐng)求下載一個(gè)無(wú)順序要求的安全的數(shù)據(jù);請(qǐng)求下載的數(shù)據(jù)量為100兆;主服務(wù)器中預(yù)設(shè)的最大數(shù)據(jù)片斷的值為20兆;從服務(wù)器1至4以及客戶端2有客戶端1請(qǐng)求下載的數(shù)據(jù);從服務(wù)器1的下載速度為2兆每秒,從服務(wù)器2的下載速度為1兆每秒,從服務(wù)器3的下載速度為0.05兆每秒,從服務(wù)器4下載速度為0.04兆每秒,客戶端2下載速度為0.05兆每秒;主服務(wù)器預(yù)設(shè)的最低閥值為一分鐘內(nèi)平均下載速度值為0.01兆每秒。上述的速度值都是在假定各數(shù)據(jù)源服務(wù)器一直保持下載狀態(tài)的情況下,得到的平均下載速度。
參照?qǐng)D4,本實(shí)施例中實(shí)現(xiàn)數(shù)據(jù)下載的過(guò)程包括以下步驟步驟401客戶端1向主服務(wù)器發(fā)出下載數(shù)據(jù)請(qǐng)求。
步驟402主服務(wù)器判斷該數(shù)據(jù)是否允許下載,如果允許,則執(zhí)行下一步,否則;結(jié)束下載任務(wù)。
本實(shí)施例中,假定客戶端1請(qǐng)求下載的數(shù)據(jù)是安全的,應(yīng)該執(zhí)行下一步。
步驟403主服務(wù)器在網(wǎng)絡(luò)中檢索具有請(qǐng)求下載數(shù)據(jù)的數(shù)據(jù)源服務(wù)器。
本實(shí)施例中,主服務(wù)器檢索到從服務(wù)器1至4以及客戶端2有客戶端1請(qǐng)求下載的數(shù)據(jù)。這里,主服務(wù)器如何檢索到具有請(qǐng)求下載數(shù)據(jù)的數(shù)據(jù)源服務(wù)器屬于現(xiàn)有技術(shù),在此不再贅述。
步驟404主服務(wù)器判斷數(shù)據(jù)是否需要分割,如果需要,則將數(shù)據(jù)進(jìn)行分割;否則,直接將下載速度最快的數(shù)據(jù)源服務(wù)器中指定為被選服務(wù)器,其它的數(shù)據(jù)源服務(wù)器指定為備用服務(wù)器,再執(zhí)行步驟409。
本實(shí)施例中,請(qǐng)求下載的數(shù)據(jù)量為100M,而主服務(wù)器預(yù)設(shè)的最大數(shù)據(jù)片斷為20M,所以需要分割請(qǐng)求數(shù)據(jù)為5個(gè)數(shù)據(jù)片斷。
本實(shí)施例中,是將請(qǐng)求下載的數(shù)據(jù)進(jìn)行平均分割的,但在實(shí)際應(yīng)用中,也可以將請(qǐng)求數(shù)據(jù)分割成不相等的數(shù)據(jù)片斷。
本實(shí)施例中,主服務(wù)器判斷數(shù)據(jù)是否應(yīng)該被分割,是與預(yù)設(shè)的數(shù)據(jù)片斷最大值進(jìn)行比較,如果超過(guò)這個(gè)預(yù)設(shè)值,就應(yīng)該進(jìn)行分割,否則,不作處理。在實(shí)際應(yīng)用中,預(yù)設(shè)的最大數(shù)據(jù)量值可以由應(yīng)用本發(fā)明方案的使用者自行決定,主要根據(jù)應(yīng)用環(huán)境中的服務(wù)器性能、網(wǎng)絡(luò)狀況等因素來(lái)確定。
步驟405主服務(wù)器將具有請(qǐng)求下載數(shù)據(jù)的數(shù)據(jù)源服務(wù)器進(jìn)行組合,由客戶端1請(qǐng)求下載的數(shù)據(jù)量和每個(gè)組合中各數(shù)據(jù)源服務(wù)器下載的總速度,得到每個(gè)組合完成下載任務(wù)的時(shí)間,再選擇出下載任務(wù)的時(shí)間最小的組合。
本實(shí)施例中,顯然,因?yàn)榘ㄋ械臄?shù)據(jù)源服務(wù)器的組合的總速度最大,所以,這個(gè)組合的下載時(shí)間也最小,為100/3.014秒。
本實(shí)施例中,主服務(wù)器根據(jù)請(qǐng)求下載的數(shù)據(jù)量和各數(shù)據(jù)源服務(wù)器的下載速度來(lái)確定被選服務(wù)器,并選擇下載速度最快的組合作為被選服務(wù)器。實(shí)際應(yīng)用中,也可以參考其它條件來(lái)確定被選服務(wù)器,如數(shù)據(jù)源服務(wù)器到請(qǐng)求下載的客戶端地理位置、數(shù)據(jù)源服務(wù)器到請(qǐng)求下載的客戶端的網(wǎng)絡(luò)工作狀態(tài)等。主服務(wù)器確定的被選服務(wù)器組合也可以不是下載速度最優(yōu)的組合,而是次優(yōu)的組合,這樣就可以將速度最快的數(shù)據(jù)源服務(wù)器作為備用服務(wù)器,當(dāng)被選服務(wù)器工作不正常時(shí)由速度最快的數(shù)據(jù)源服務(wù)器完成下載任務(wù),保證數(shù)據(jù),特別是有順序數(shù)據(jù)下載的穩(wěn)定性。
步驟406主服務(wù)器由選出的組合的下載時(shí)間和組合中各數(shù)據(jù)源服務(wù)器的下載速度,得到各數(shù)據(jù)源服務(wù)器的下載任務(wù)的數(shù)據(jù)量,然后,將下載任務(wù)數(shù)據(jù)量超過(guò)一個(gè)數(shù)據(jù)片斷的作為被選服務(wù)器。
本實(shí)施例中,假定從服務(wù)器1的下載速度為2兆每秒,從服務(wù)器2的下載速度為1兆每秒,從服務(wù)器3的下載速度為0.05兆每秒,從服務(wù)器4下載速度為0.04兆每秒,客戶端2下載速度為0.05兆每秒,由步驟405得到下載時(shí)間為100/3.014秒,那么,可以得到從服務(wù)器3、從服務(wù)器4以及客戶端2的下載任務(wù)數(shù)據(jù)量將低于數(shù)據(jù)片斷的數(shù)據(jù)量。所以,應(yīng)該將從服務(wù)器1和從服務(wù)器2作為被選服務(wù)器,而從服務(wù)器3、從服務(wù)器4以及客戶端2作為備用服務(wù)器。
步驟407主服務(wù)器根據(jù)請(qǐng)求下載的數(shù)據(jù)量和被選服務(wù)器的下載總速度得到下載時(shí)間,再由下載時(shí)間和各被選服務(wù)器的下載速度,得到各被選服務(wù)器的下載任務(wù)數(shù)據(jù)量。
本實(shí)施例中,得到下載時(shí)間應(yīng)該為100/3秒,從服務(wù)器1的下載任務(wù)數(shù)據(jù)量應(yīng)該為200/3兆,即應(yīng)該將三個(gè)數(shù)據(jù)片斷分配給從服務(wù)器1,從服務(wù)器2的下載任務(wù)數(shù)據(jù)量應(yīng)該為100/3兆,即應(yīng)該將兩個(gè)數(shù)據(jù)片斷分配給從服務(wù)器2。
本實(shí)施例中,主服務(wù)器分配任務(wù)時(shí),是根據(jù)被選服務(wù)器的下載速度來(lái)決定下載任務(wù)的數(shù)據(jù)量的,而且規(guī)定一個(gè)數(shù)據(jù)片斷由一個(gè)被選服務(wù)器完成下載任務(wù)。在實(shí)際應(yīng)用中,主服務(wù)器也可以將同一個(gè)數(shù)據(jù)片斷分配給多個(gè)被選服務(wù)器。這是因?yàn)閷?shí)際應(yīng)用中的被選服務(wù)器下載速度經(jīng)常會(huì)變化,網(wǎng)絡(luò)的性能也可能不穩(wěn)定的,下載速度快的被選服務(wù)器可能在下載過(guò)程速度變慢,而下載速度快的被選服務(wù)器也可能在下載過(guò)程速度變慢。如果多個(gè)被選服務(wù)器同時(shí)下載同一個(gè)數(shù)據(jù)片斷,就可以在該數(shù)據(jù)片斷最先到達(dá)客戶端以后,放棄其它被選服務(wù)器對(duì)該數(shù)據(jù)片斷的下載任務(wù),從而保證數(shù)據(jù)較快地到達(dá)客戶端。其中,主服務(wù)器可以通過(guò)向被選服務(wù)器發(fā)PING命令來(lái)計(jì)算得到被選服務(wù)器的下載速度,也可以通過(guò)其它方法得到被選服務(wù)器的下載速度。
步驟408主服務(wù)器判斷數(shù)據(jù)是否有順序要求,如果有,則按照各被選服務(wù)器的下載任務(wù),并將順序在前的數(shù)據(jù)片斷分配給速度快的被選服務(wù)器,順序在后的數(shù)據(jù)片斷分配給速度慢的被選服務(wù)器;否則,只按照各被選服務(wù)器的下載任務(wù)數(shù)據(jù)量進(jìn)行分配。
本實(shí)施例中,假定請(qǐng)求下載的數(shù)據(jù)無(wú)順序要求,則主服務(wù)器只按照各被選服務(wù)器的下載任務(wù)進(jìn)行分配,而不考慮順序性。
步驟409主服務(wù)器創(chuàng)建任務(wù)列表,通知每個(gè)被選服務(wù)器的下載任務(wù),被選服務(wù)器明確任務(wù)以后,將數(shù)據(jù)進(jìn)行加密,并采用觸發(fā)機(jī)制二,然后通過(guò)多線程、支持?jǐn)帱c(diǎn)續(xù)傳的方式開始進(jìn)行數(shù)據(jù)下載。
本實(shí)施例中,加密算法可以采用公知的公鑰加密RSA算法、數(shù)字簽名DSA算法、橢圓曲線加密ECC算法等進(jìn)行加密;數(shù)據(jù)加密標(biāo)準(zhǔn)可以是美國(guó)數(shù)據(jù)加密標(biāo)準(zhǔn)DES、高級(jí)加密標(biāo)準(zhǔn)AES和歐洲數(shù)據(jù)數(shù)據(jù)加密標(biāo)準(zhǔn)DES等。
本實(shí)施例中,采用觸發(fā)機(jī)制二來(lái)開始下載。實(shí)際應(yīng)用中,還可以采用其它的觸發(fā)機(jī)制。
步驟410主服務(wù)器實(shí)時(shí)監(jiān)控被選服務(wù)器數(shù)據(jù)下載是否正常,如果正常,則繼續(xù)下載數(shù)據(jù),當(dāng)數(shù)據(jù)下載完畢以后,執(zhí)行步驟412;否則,執(zhí)行步驟411。
本實(shí)施例中,假定被選服務(wù)器下載保持正常的速度,則主服務(wù)器不作處理,當(dāng)數(shù)據(jù)下載完畢之后,執(zhí)行步驟412。
本實(shí)施例中,主服務(wù)器根據(jù)被選服務(wù)器的下載速度,與預(yù)設(shè)的下載速度最低值進(jìn)行比較來(lái)判斷被選服務(wù)器的下載是否正常。
步驟411主服務(wù)器判斷數(shù)據(jù)是否有順序要求,如果有,則放棄下載不正常的被選服務(wù)器下載任務(wù),暫停順序在后的被選服務(wù)器下載任務(wù),指定備用服務(wù)器來(lái)替代下載不正常的被選服務(wù)器的下載任務(wù),當(dāng)備用服務(wù)器完成下載任務(wù)以后,主服務(wù)器通知順序在后的被選服務(wù)器繼續(xù)開始下載,再返回步驟410;否則,放棄下載不正常的被選服務(wù)器下載任務(wù),并指定備用服務(wù)器來(lái)替代下載不正常的被選服務(wù)器的下載任務(wù),再返回步驟410。
步驟412主服務(wù)器通知客戶端1數(shù)據(jù)下載工作已經(jīng)完成,客戶端將各數(shù)據(jù)片斷進(jìn)行拼接,然后結(jié)束數(shù)據(jù)下載。
本實(shí)施例中,步驟404至步驟409實(shí)現(xiàn)了主服務(wù)器分割數(shù)據(jù)、指定被選服務(wù)器和被選服務(wù)器的下載數(shù)據(jù)量,并把下載任務(wù)分配給被選服務(wù)器,然后由被選服務(wù)器下載到客戶端。實(shí)際應(yīng)用中,主服務(wù)器可以采用其它方法來(lái)確定被選服務(wù)器,并且按照被選服務(wù)器的下載速度可以把數(shù)據(jù)分割成大小不等的數(shù)據(jù)片斷,然后分配給被選服務(wù)器進(jìn)行下載。
綜上所述,以上僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)下載方法,其特征在于,該方法包括以下步驟a、客戶端向主服務(wù)器發(fā)數(shù)據(jù)下載請(qǐng)求;b、主服務(wù)器在網(wǎng)絡(luò)中檢索具有客戶端請(qǐng)求下載數(shù)據(jù)的數(shù)據(jù)源服務(wù)器;c、在具有客戶端請(qǐng)求下載數(shù)據(jù)的數(shù)據(jù)源服務(wù)器中,主服務(wù)器確定承擔(dān)下載任務(wù)的一個(gè)或一個(gè)以上被選服務(wù)器,并將下載任務(wù)通知每個(gè)確定的被選服務(wù)器;d、被選服務(wù)器將數(shù)據(jù)并行下載到客戶端。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)下載方法,其特征在于,所述步驟b和步驟c之間進(jìn)一步包括主服務(wù)器判斷客戶端請(qǐng)求下載的數(shù)據(jù)是否需要分割,如果需要,則將客戶端請(qǐng)求下載的數(shù)據(jù)分割成數(shù)據(jù)片斷;否則,不作處理;需要將客戶端請(qǐng)求下載的數(shù)據(jù)分割成數(shù)據(jù)片斷時(shí),步驟c中所述主服務(wù)器確定被選服務(wù)器以及將下載任務(wù)通知確定的被選服務(wù)器之間還進(jìn)一步包括主服務(wù)器確定每個(gè)被選服務(wù)器的下載數(shù)據(jù)量,并將確定的下載數(shù)據(jù)量分配給相應(yīng)被選服務(wù)器。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)下載方法,其特征在于,步驟c中所述主服務(wù)器確定承擔(dān)下載任務(wù)的被選服務(wù)器及其下載數(shù)據(jù)量包括以下步驟c1、將具有請(qǐng)求下載數(shù)據(jù)的數(shù)據(jù)源服務(wù)器進(jìn)行組合,由客戶端請(qǐng)求下載的數(shù)據(jù)量和每個(gè)組合中各數(shù)據(jù)源服務(wù)器下載的總速度,得到每個(gè)組合完成下載任務(wù)的時(shí)間;c2、由下載任務(wù)的時(shí)間和該組合中各數(shù)據(jù)源服務(wù)器的下載速度,得到該組合中各數(shù)據(jù)源服務(wù)器的下載任務(wù)的數(shù)據(jù)量;c3、把該組合中下載任務(wù)的數(shù)據(jù)量超過(guò)一個(gè)數(shù)據(jù)片斷數(shù)據(jù)量的數(shù)據(jù)源服務(wù)器作為被選服務(wù)器,再通過(guò)被選服務(wù)器的總速度和客戶端請(qǐng)求下載的數(shù)據(jù)量,得到被選服務(wù)器的下載時(shí)間;c4、由被選服務(wù)器下載任務(wù)的時(shí)間和各被選服務(wù)器的下載速度,得到各被選服務(wù)器的下載任務(wù)的數(shù)據(jù)量。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)下載方法,其特征在于,該方法進(jìn)一步包括主服務(wù)器將未作為被選服務(wù)器,且具有請(qǐng)求下載數(shù)據(jù)的數(shù)據(jù)源服務(wù)器作為備用服務(wù)器。
5.根據(jù)權(quán)利要求2至4任一項(xiàng)所述的數(shù)據(jù)下載方法,其特征在于,所述主服務(wù)器將確定的下載數(shù)據(jù)量分配給相應(yīng)被選服務(wù)器的方法是主服務(wù)器判斷請(qǐng)求下載的數(shù)據(jù)是否有順序要求,若有,主服務(wù)器按照計(jì)算出的各被選服務(wù)器下載數(shù)據(jù)量和數(shù)據(jù)的順序,將順序在前的數(shù)據(jù)分配給下載速度快的被選服務(wù)器,順序在后的數(shù)據(jù)分配給下載速度慢的被選服務(wù)器;否則,主服務(wù)器按照計(jì)算出的各被選服務(wù)器下載數(shù)據(jù)量,給被選服務(wù)器分配數(shù)據(jù)下載任務(wù)。
6.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)下載方法,其特征在于,被選服務(wù)器實(shí)時(shí)監(jiān)控主服務(wù)器是否有新的下載任務(wù),如果有,則將新的請(qǐng)求下載數(shù)據(jù)并行下載到相應(yīng)的客戶端。
7.根據(jù)權(quán)利要求5所述的數(shù)據(jù)下載方法,其特征在于,被選服務(wù)器將數(shù)據(jù)下載到客戶端時(shí),主服務(wù)器實(shí)時(shí)判斷被選服務(wù)器下載是否正常;如果無(wú)順序要求的數(shù)據(jù)下載不正常,主服務(wù)器則通知下載不正常的被選服務(wù)器放棄下載任務(wù),并重新指定備用服務(wù)器來(lái)完成下載任務(wù);否則,不作處理;如果有順序要求的數(shù)據(jù)下載不正常,主服務(wù)器通知該被選服務(wù)器放棄下載任務(wù),重新指定備用服務(wù)器來(lái)完成下載任務(wù),并暫停順序在后的被選服務(wù)器下載任務(wù),等備用服務(wù)器下載完以后,被暫停的被選服務(wù)器才開始下載。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)下載方法,其特征在于,所述主服務(wù)器判斷被選服務(wù)器下載是否正常的方法是主服務(wù)檢查被選服務(wù)器的在預(yù)定時(shí)間段內(nèi)的平均下載速度是否低于預(yù)設(shè)的下限值,如果低于下限值,則判斷該被選服務(wù)器下載的速度不正常,否則,判斷為正常。
9.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)下載方法,其特征在于,所述步驟d為被選服務(wù)器通過(guò)多線程下載并支持?jǐn)帱c(diǎn)續(xù)傳的方式將數(shù)據(jù)下載到客戶端。
10.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)下載方法,其特征在于,在步驟d之前進(jìn)一步包括被選服務(wù)器對(duì)下載到客戶端的數(shù)據(jù)進(jìn)行加密。
11.根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)下載方法,其特征在于,步驟a和步驟b之間進(jìn)一步包括主服務(wù)器判斷是否允許客戶端請(qǐng)求下載的數(shù)據(jù)進(jìn)行下載,如果允許,則繼續(xù)執(zhí)行。
全文摘要
本發(fā)明提供了一種數(shù)據(jù)下載方法,其關(guān)鍵是由主服務(wù)器按照請(qǐng)求下載數(shù)據(jù)和數(shù)據(jù)源服務(wù)器的下載速度,來(lái)確定承擔(dān)下載任務(wù)的被選服務(wù)器。當(dāng)用戶端向主服務(wù)器請(qǐng)求數(shù)據(jù)下載時(shí),主服務(wù)器將主動(dòng)搜索具有同樣下載數(shù)據(jù)的數(shù)據(jù)源服務(wù)器,并在數(shù)據(jù)源服務(wù)器中確定被選服務(wù)器和被選服務(wù)器的下載任務(wù)。當(dāng)被選服務(wù)器并行向客戶端下載數(shù)據(jù)時(shí),主服務(wù)器實(shí)時(shí)監(jiān)控被選服務(wù)器下載狀況,若發(fā)現(xiàn)某被選服務(wù)器下載不正常,主服務(wù)器將立即放棄該被選服務(wù)器,而用備用服務(wù)器替代該被選服務(wù)器的下載任務(wù),從而達(dá)到客戶端請(qǐng)求數(shù)據(jù)下載既快速又穩(wěn)定的目的。此外,本發(fā)明還能夠?qū)ο螺d數(shù)據(jù)進(jìn)行安全性監(jiān)控,以防止不良信息的傳播。
文檔編號(hào)H04L29/06GK1852307SQ20051011271
公開日2006年10月25日 申請(qǐng)日期2005年10月10日 優(yōu)先權(quán)日2005年10月10日
發(fā)明者王軍 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
文登市| 鄂温| 丰城市| 夹江县| 云和县| 海晏县| 法库县| 永济市| 安新县| 承德县| 合作市| 通榆县| 德钦县| 郎溪县| 湟源县| 南投市| 平潭县| 资中县| 英山县| 习水县| 丰城市| 东乡县| 孟村| 永丰县| 北安市| 宜兰市| 资阳市| 湖北省| 芦溪县| 白山市| 子长县| 于都县| 乳山市| 漳浦县| 溆浦县| 莎车县| 罗定市| 荆州市| 竹北市| 逊克县| 芒康县|