專利名稱:用于動態(tài)控制網(wǎng)絡(luò)中文件下載的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實(shí)施方式總體上涉及網(wǎng)絡(luò)信息技術(shù)領(lǐng)域,更具體地,涉及用于動態(tài)控制網(wǎng)絡(luò)中文件下載的方法和設(shè)備。
背景技術(shù):
在網(wǎng)絡(luò)通信中,客戶端-服務(wù)器(C/S)模式是一種最為常見和重要的網(wǎng)絡(luò)通信架構(gòu)。在C/S架構(gòu)中,最為常見的服務(wù)之一是客戶端從服務(wù)器下載文件。作為示例,可以理解,在每個客戶端上都可以運(yùn)行一個或多個應(yīng)用(例如,軟件程序),這些應(yīng)用在運(yùn)行的過程中可能需要更新或修補(bǔ),而更新文件或補(bǔ)丁文件通常是由一個或一組服務(wù)器來發(fā)布和管理。在傳統(tǒng)方案中,當(dāng)一個客戶端在啟動之后,其上的應(yīng)用可以向服務(wù)器查詢是否存在與其相關(guān)的更新和/或修補(bǔ)。如果確定存在需要下載的文件(例如,更新文件,或者補(bǔ)丁文件),則客戶端上的該應(yīng)用啟動對相應(yīng)文件的下載。上述傳統(tǒng)方案存在著明顯的弊端。例如,在某個應(yīng)用需要更新時,當(dāng)更新文件在服務(wù)器上發(fā)布之后,運(yùn)行于多個不同客戶端上的該應(yīng)用的不同實(shí)例可能在很短的時段內(nèi)同時請求下載該文件。這樣,對服務(wù)器以及網(wǎng)絡(luò)資源造成了極大的壓力,這轉(zhuǎn)而影響下載速度,甚至可能造成服務(wù)器和/或網(wǎng)絡(luò)的崩潰。注意,盡管上面的示例是針對應(yīng)用程序的更新和/或修補(bǔ)而描述的,但是同樣的問題也存在于其他文件的網(wǎng)絡(luò)下載中。實(shí)際上,對服務(wù)器上某個或某些文件的集中訪問始終是C/S架構(gòu)中需要解決的問題。為此,已經(jīng)提出了諸如端對端(P2P)的新型網(wǎng)絡(luò)架構(gòu),以避免服務(wù)器以及網(wǎng)絡(luò)資源成為整個系統(tǒng)的瓶頸。然而,盡管P2P等網(wǎng)絡(luò)架構(gòu)具有分布式計(jì)算的優(yōu)勢并且已經(jīng)得到了廣泛的應(yīng)用,但是這些新型架構(gòu)并不能完全取代C/S架構(gòu)。在諸如金融、信息安全等很多領(lǐng)域,由于需要較高的安全性、保密性、可控性等,C/S架構(gòu)讓然在被廣泛地采用。因此,在本領(lǐng)域中,需要一種這樣的解決方案,其能夠在C/S架構(gòu)中控制客戶端對服務(wù)器的文件進(jìn)行下載時機(jī),以避免對服務(wù)器過于集中的訪問以及由此產(chǎn)生的各種問題。
發(fā)明內(nèi)容
鑒于本領(lǐng)域中存在的上述問題,本發(fā)明提出了一種用于動態(tài)控制網(wǎng)絡(luò)文件下載的方法和設(shè)備。在本發(fā)明的一個方面,提供一種用于在客戶端處控制從服務(wù)器下載文件的方法,所述客戶端與所述服務(wù)器通過網(wǎng)絡(luò)通信。所述方法包括:通過所述網(wǎng)絡(luò)向所述服務(wù)器發(fā)送針對文件的請求消息;從所述服務(wù)器接收應(yīng)答消息,所述應(yīng)答消息至少包括指示傳輸時段的信息;以及在所述傳輸時段中選擇至少一個時間點(diǎn),使得當(dāng)?shù)竭_(dá)所述時間點(diǎn)時,啟動對來自所述服務(wù)器的所述文件的下載。在本發(fā)明的另一方面,提供一種用于在服務(wù)器處控制客戶端對文件的下載的方法,所述服務(wù)器與所述客戶端通過網(wǎng)絡(luò)通信。所述方法包括:接收來自所述客戶端的針對文件的請求消息;響應(yīng)于所述請求消息而生成應(yīng)答消息,所述應(yīng)答消息至少包括指示傳輸時段的信息;以及向所述客戶端發(fā)送所述應(yīng)答消息,使得所述客戶端在所述傳輸時段期間選擇至少一個時間點(diǎn)以發(fā)起對所述文件的下載。在本發(fā)明的又一方面,提供一種用于在客戶端處控制從服務(wù)器下載文件的設(shè)備,所述客戶端與所述服務(wù)器通過網(wǎng)絡(luò)通信。所述設(shè)備包括:發(fā)送裝置,配置用于通過所述網(wǎng)絡(luò)向所述服務(wù)器發(fā)送針對文件的請求消息;接收裝置,配置用于從所述服務(wù)器接收應(yīng)答消息,所述應(yīng)答消息至少包括指示傳輸時段的信息;以及選擇裝置,配置用于在所述傳輸時段中選擇至少一個時間點(diǎn),使得當(dāng)?shù)竭_(dá)所述時間點(diǎn)時,啟動對來自所述服務(wù)器的所述文件的下載。在本發(fā)明的再一方面,提供一種用于在服務(wù)器處控制客戶端對文件的下載的設(shè)備,所述服務(wù)器與所述客戶端通過網(wǎng)絡(luò)通信。所述設(shè)備包括:接收裝置,配置用于接收來自所述客戶端的針對文件的請求消息;生成裝置,配置用于響應(yīng)于所述請求消息而生成應(yīng)答消息,所述應(yīng)答消息至少包括指示傳輸時段的信息;以及發(fā)送裝置,配置用于向所述客戶端發(fā)送所述應(yīng)答消息,使得所述客戶端在所述傳輸時段期間選擇至少一個時間點(diǎn)以發(fā)起對所述文件的下載。通過下文詳細(xì)描述將會理解,本發(fā)明的實(shí)施方式提供了一種能夠動態(tài)控制網(wǎng)絡(luò)文件下載的解決方案。在服務(wù)器端,對于將要由客戶端下載的文件,服務(wù)器可以根據(jù)各種影響因素而確定一個傳輸時段,并且將所確定的傳輸時段在應(yīng)答消息中發(fā)送回客戶端??蛻舳酥挥性谶@個傳輸時段內(nèi)可以從服務(wù)器下載相關(guān)文件。而且,在客戶端側(cè),可以在服務(wù)器指定的傳輸時段內(nèi)選擇自己開始下載的時間點(diǎn)。這種選擇例如是隨機(jī)做出的,也可以基于多個客戶端之間的協(xié)商。以此方式,能夠盡量均勻地分布多個客戶端對服務(wù)器的訪問,從而避免由于集中訪問而造成的資源壓力和瓶頸。
通過參考附圖閱讀下文的詳細(xì)描述,本發(fā)明實(shí)施方式的上述以及其他目的、特征和優(yōu)點(diǎn)將變得易于理解。在附圖中,以示例性而非限制性的方式示出了本發(fā)明的若干實(shí)施方式,其中:圖1示出了根據(jù)本發(fā)明一個示例性實(shí)施方式的基于服務(wù)器-客戶端(C/S)架構(gòu)的網(wǎng)絡(luò)環(huán)境100的不意圖;圖2示出了根據(jù)本發(fā)明一個示例性實(shí)施方式的用于在客戶端處控制從服務(wù)器下載文件的方法200的流程圖;圖3示出了根據(jù)本發(fā)明一個示例性實(shí)施方式的用于在服務(wù)器處控制客戶端對文件的下載的方法300的流程圖;圖4示出了根據(jù)本發(fā)明一個示例性實(shí)施方式的用于在客戶端處控制從服務(wù)器下載文件的設(shè)備400的框圖;圖5示出了根據(jù)本發(fā)明一個示例性實(shí)施方式的用于在服務(wù)器處控制客戶端對文件的下載的設(shè)備500的框圖;圖6示出了根據(jù)本發(fā)明一個示例性實(shí)施方式的服務(wù)器與客戶端之間交互的泳道圖;圖7示出了適合用來實(shí)踐本發(fā)明實(shí)施方式的計(jì)算機(jī)系統(tǒng)700的框圖。
在各個附圖中,相同或?qū)?yīng)的標(biāo)號表示相同或?qū)?yīng)的部分。
具體實(shí)施例方式下面將參考附圖中示出的若干示例性實(shí)施方式來描述本發(fā)明的原理和精神。應(yīng)當(dāng)理解,給出這些實(shí)施方式僅僅是為了使本領(lǐng)域技術(shù)人員能夠更好地理解進(jìn)而實(shí)現(xiàn)本發(fā)明,而并非以任何方式限制本發(fā)明的范圍。首先參考圖1,其示出了根據(jù)本發(fā)明一個示例性實(shí)施方式的基于服務(wù)器-客戶端(C/S)架構(gòu)的網(wǎng)絡(luò)環(huán)境100的示意圖。如圖1所示,客戶端102-1到102-N可以通過網(wǎng)絡(luò)104連接到服務(wù)器或服務(wù)器組106??蛻舳?02-1到102-N例如可以包括個人數(shù)字助理(PDA)、蜂窩電話、智能電話、膝上型計(jì)算機(jī)等移動終端,也可以是諸如個人計(jì)算機(jī)(PC)之類的傳統(tǒng)桌面型計(jì)算設(shè)備。應(yīng)當(dāng)理解,上面列舉的僅僅是若干可能的示例,并非意在限制本發(fā)明的范圍。實(shí)際上,客戶端102-1到102-N可以是具有/[目息處理和網(wǎng)絡(luò)通/[目能力的任何設(shè)備,不論是現(xiàn)在已知還是將來開發(fā)的。圖1中示出的網(wǎng)絡(luò)104可以包括目前已知或者將來開發(fā)的任何有線網(wǎng)絡(luò)、無線網(wǎng)絡(luò)或其組合,包括但不限于以下至少一個:蜂窩電話網(wǎng)絡(luò),以太網(wǎng),基于IEEE 802.11、802.16、802.20等的無線局域網(wǎng)(WLAN),和/或全球微波接入互操作性(WiMAX)網(wǎng)絡(luò)。此夕卜,網(wǎng)絡(luò)106可以是公共網(wǎng)絡(luò)(諸如,因特網(wǎng))、專用網(wǎng)絡(luò)(諸如,企業(yè)內(nèi)部網(wǎng))或其組合。在分層式網(wǎng)絡(luò)通信架構(gòu)下,網(wǎng)絡(luò)106的傳輸層可以按照傳輸控制協(xié)議(TCP)、實(shí)時傳輸協(xié)議(RTP)或其他傳輸邏輯進(jìn)行操作。網(wǎng)絡(luò)層可以基于網(wǎng)際協(xié)議第4版(IPv4)或第6版(IPv6)或其他網(wǎng)絡(luò)層協(xié)議來路由信息。數(shù)據(jù)鏈路層可以包括有線或無線鏈路,如異步傳輸模式(ATM)、光纖分布式數(shù)據(jù)接口(FDDI)、光纖、同軸電纜、雙絞線或其他物理層上的其他數(shù)據(jù)鏈路層。服務(wù)器106是可以操作以通過網(wǎng)絡(luò)104與客戶端102通信從而為其提供各種服務(wù)(例如,文件下載)的任何適當(dāng)機(jī)器。下面參考圖2,其示出了根據(jù)本發(fā)明一個示例性實(shí)施方式的用于在客戶端處控制從服務(wù)器下載文件的方法200的流程圖。應(yīng)當(dāng)理解,圖2中所示的方法200的步驟僅僅是出于說明之目的。方法200可以包括附加的和/或備選的步驟。此外,方法200可以駐留和運(yùn)行在例如圖1描述的任何客戶端102之上。根據(jù)本發(fā)明的實(shí)施方式,方法200可以針對客戶端102上的一個應(yīng)用而運(yùn)行(例如,負(fù)責(zé)管理與一個應(yīng)用有關(guān)的文件下載),也可以針對客戶端102上的多個應(yīng)用而運(yùn)行(例如,負(fù)責(zé)管理與多個應(yīng)用有關(guān)的文件下載)。特別地,在某些實(shí)施方式中,方法200的實(shí)施方式可被實(shí)現(xiàn)為客戶端102上的專用過程(例如,實(shí)現(xiàn)為后臺常駐進(jìn)程),用于管理客戶端102上所有與給定服務(wù)器通信以下載文件的事務(wù)。具體而言,方法200開始之后,在步驟S202,方法200使客戶端通過網(wǎng)絡(luò)(例如,圖1中的網(wǎng)絡(luò)104)向服務(wù)器(例如,圖1中的服務(wù)器106)發(fā)送針對文件的請求消息。注意,根據(jù)本發(fā)明的實(shí)施方式,任何適當(dāng)?shù)南ⅰ⒏袷?、封裝方式、會話等均可用于客戶端與服務(wù)器之間的通信,本發(fā)明的范圍在此不受限制。在該請求消息中,客戶端可以向服務(wù)器指示要下載的文件的標(biāo)識信息,例如文件名、文件標(biāo)識碼(ID)、文件在服務(wù)器上的目錄f目息,等等。根據(jù)本發(fā)明的實(shí)施方式,客戶端向服務(wù)器發(fā)送的請求消息可以由用戶交互地生成。備選地或附加地,此類請求也可以基于事件而自動生成和發(fā)送。例如,以應(yīng)用程序的升級或補(bǔ)丁作為示例。當(dāng)一個應(yīng)用程序被加載之后,其可以與服務(wù)器通信以確定是否存在需要更新的內(nèi)容。這可以利用各種手段來實(shí)現(xiàn)。例如,服務(wù)器可以向客戶端傳送一個列表,其中記錄有相關(guān)文件的版本號和/或最后更新時間。通過對版本號和/或最后更新時間的比較,客戶端可以知道需要下載哪些文件或其部分。作為又一示例,服務(wù)器也可以直接向客戶端指示有需要下載和更新的文件。這僅僅是幾個示例。不論使用任何技術(shù)手段,在確定了待下載的文件之后,客戶端通過網(wǎng)絡(luò)向服務(wù)器發(fā)起針對該文件的請求。接下來,在步驟S204,可以從服務(wù)器接收發(fā)往客戶端的應(yīng)答消息,該應(yīng)答消息至少包括指示傳輸時段的信息。根據(jù)本發(fā)明的實(shí)施方式,響應(yīng)于客戶端的請求,服務(wù)器將確定一個傳輸時段并且將其包含在應(yīng)答消息中發(fā)回客戶端,這將在下文詳述??蛻舳藢H在該時段中可以從服務(wù)器下載該文件。注意,本文中所說的“傳輸時段”的含義是:即使文件在該時段之外是可下載的,客戶端也僅在該時段內(nèi)執(zhí)行下載動作。另外,應(yīng)當(dāng)連接,任何適當(dāng)?shù)南ⅰ⒏袷?、封裝方式、會話等均可用于客戶端與服務(wù)器之間的應(yīng)答消息,本發(fā)明的范圍在此不受限制。而且,可以理解,除了指示傳輸時段的信息之外,應(yīng)答信息中當(dāng)然可以包括與服務(wù)器和客戶端之間的通信有關(guān)的其他任何信息或參數(shù)。接下來,方法200進(jìn)行到步驟S206,在此客戶端在服務(wù)器指定的傳輸時段中選擇至少一個時間點(diǎn),使得當(dāng)?shù)竭_(dá)所述時間點(diǎn)時啟動對來自所述服務(wù)器的所述文件的下載。根據(jù)本發(fā)明的某些實(shí)施方式,在步驟S206處的選擇是隨機(jī)進(jìn)行的。換言之,方法200在服務(wù)器指示的傳輸時段中隨機(jī)選擇至少一個時間點(diǎn),以作為發(fā)起文件下載動作的時間起點(diǎn)。例如,客戶端可以利用任何適當(dāng)?shù)姆椒ㄉ呻S機(jī)數(shù),并且方法200基于該隨機(jī)數(shù)來選擇傳輸時段中的一個時間點(diǎn)。注意,可以直接將隨機(jī)數(shù)量化到傳輸時段所在的區(qū)間,以確定時間點(diǎn)。備選地,也可以利用在傳輸時段所表示的區(qū)間上分布的任何函數(shù)(例如,正態(tài)分布函數(shù))。通過將產(chǎn)生的隨機(jī)數(shù)作為自變量,可以將因變量的值(即,函數(shù)值)作為時間點(diǎn)。這僅僅是幾個示例,本發(fā)明的范圍不限于此。而且,在上文描述的基于隨機(jī)數(shù)來選擇時間點(diǎn)的實(shí)施方式中,該隨機(jī)數(shù)可以由方法200產(chǎn)生,也可以是方法200從外部接收的。例如,隨機(jī)數(shù)可以由駐留于客戶端上的其他過程/應(yīng)用產(chǎn)生,也可以由客戶端的專用硬件設(shè)備產(chǎn)生,甚至可以是客戶端從外部設(shè)備接收的,等等。本發(fā)明的范圍在此方面不受限制。根據(jù)本發(fā)明的實(shí)施方式,盡管由服務(wù)器指示給多個客戶端的傳輸時段可以是同一時段,但是各個客戶端的實(shí)際下載動作的發(fā)起時機(jī)(以及由此,還有實(shí)際的下載持續(xù)時間)是每個客戶端隨機(jī)選擇的。這樣,對文件的下載有可能被均勻地分布在該傳輸時段上,從而避免對服務(wù)器的集中訪問以及由此產(chǎn)生的不利結(jié)果。備選地或附加地,方法200可以與網(wǎng)絡(luò)中的其他一個或多個客戶端進(jìn)行協(xié)商,以便在傳輸時段中確定屬于其自己的至少一個時間點(diǎn)。更具體地說,客戶端之間可以通過任何適當(dāng)?shù)氖侄伪舜送ㄐ?,以便彼此協(xié)商從而將發(fā)起文件下載的時間在傳輸時段內(nèi)有效地交錯開。在此方面,例如,客戶端之間的通信可以是通過網(wǎng)絡(luò)(例如,類似于圖1中網(wǎng)絡(luò)104)而實(shí)現(xiàn)的。備選地,客戶端之間的通信也可以通過其他方式來實(shí)現(xiàn),甚至包括人工方式或電話、傳真等傳統(tǒng)通信方式。作為示例,在一個這樣的實(shí)施方式中,可以設(shè)置各個客戶端均可訪問的公共存儲空間,例如稱為“公告板”。公告板的每個條目記載有客戶端的標(biāo)識信息(例如,ID),服務(wù)器指派給該客戶端的傳輸時段,客戶端已經(jīng)選擇的一個或多個時間點(diǎn)以及預(yù)計(jì)的下載持續(xù)時間。每個客戶端在接收到服務(wù)器指定的傳輸時段之后,可以首先查看公告板以獲取其他客戶端已經(jīng)確定的下載起始時間點(diǎn)和預(yù)計(jì)持續(xù)時間。而后,客戶端可以相應(yīng)地選擇其他可用時間點(diǎn)作為自己的下載起始時間。例如,客戶端可以選擇當(dāng)前可用的最早可能時間作為自己的下載起始時間點(diǎn)。考慮一個具體示例,假設(shè):服務(wù)器為客戶端I到客戶端5這五個客戶端指定的傳輸時段均為某個指定日期的晚上10:00到11:00。客戶端I接收到該傳輸時段之后,可以訪問公告板,如果發(fā)現(xiàn)客戶端3已經(jīng)選擇晚上10:00作為開始時間點(diǎn)并且預(yù)計(jì)持續(xù)時間為10分鐘,并且其他客戶端尚未選定時間點(diǎn),則客戶端I可以選擇晚上10:10作為自己的下載開始時間點(diǎn)。此外,客戶端I可以根據(jù)其本身以及網(wǎng)絡(luò)的狀況來估計(jì)下載所需的時間,并且將其選擇的開始時間和預(yù)計(jì)時間填入公告板,以供其他客戶端參考。注意,盡管上文描述的隨機(jī)選擇時間點(diǎn)和協(xié)商選擇時間點(diǎn)是有益的,但這僅僅是示例性的,而并非是必須的。在步驟S206,可以使用其他備選的或附加的策略來選擇傳輸時段中的時間點(diǎn)。例如,此類時間點(diǎn)可以基于規(guī)則來產(chǎn)生。例如,客戶端可以存儲有一個預(yù)先設(shè)定的表,其中記載有產(chǎn)生時間點(diǎn)的各種規(guī)則。方法200可以訪問和查找此表,依據(jù)適當(dāng)?shù)囊?guī)則來選擇指定時段中的一個時間點(diǎn)。實(shí)際上,本發(fā)明已經(jīng)給出了這樣的啟示,S卩,服務(wù)器為多個客戶端指定一個時段,每個客戶端自己選擇該時段的某個時間點(diǎn)開始實(shí)際的文件下載,使得各個客戶端對服務(wù)器的訪問被交錯開。在這種情況下,本領(lǐng)域技術(shù)人員可以想到其他適當(dāng)?shù)姆绞絹眢w現(xiàn)這一思想。所有這樣的方式均應(yīng)被視為落入本發(fā)明的范圍之內(nèi)。還應(yīng)注意,根據(jù)本發(fā)明的實(shí)施方式,在步驟S206處選擇的時間點(diǎn)可以是一個或多個。特別地,方法200支持選擇該傳輸時段中的多個時間點(diǎn),由此可以將文件分為塊來分次下載。備選地,如果對文件的下載不成功,可以在后續(xù)選擇的時間點(diǎn)處重新嘗試下載。方法200在步驟S206完成之后結(jié)束?,F(xiàn)在參考圖3,其示出了根據(jù)本發(fā)明一個示例性實(shí)施方式的用于在服務(wù)器處控制客戶端對文件的下載的方法300的流程圖。應(yīng)當(dāng)理解,圖3中所示的方法300的步驟僅僅是出于說明之目的。特別地,方法300可以包括附加的和/或備選的步驟。此外,方法300可以駐留和運(yùn)行在例如圖1描述的服務(wù)器106之上。方法300開始之后,在步驟S302,接收來自所述客戶端的針對文件的請求消息。。該請求消息可以包括要下載的文件的標(biāo)識信息,例如文件名、文件標(biāo)識碼(ID)、文件在服務(wù)器上的目錄信息,等等。如上所述,任何適當(dāng)?shù)南?、格式、封裝方式、會話等均可用于客戶端與服務(wù)器之間的通信方法300繼而進(jìn)行到步驟S304,在此響應(yīng)于客戶端的請求而生成應(yīng)答消息,該應(yīng)答消息至少包括指示傳輸時段的信息。根據(jù)本發(fā)明的實(shí)施方式,如上所述,該傳輸時段是客戶端可以從服務(wù)器下載所述文件的有效時段。傳輸時段可以是時間上連續(xù)的區(qū)間,也可以是斷續(xù)的多個時段。甚至,該傳輸時段可以是每天的指定時間段,例如連續(xù)五天中的每天上午10:00-11:00。傳輸時段的其他選擇也是可行的。根據(jù)本發(fā)明的實(shí)施方式,方法300可以基于各種影響因素來確定傳輸時段。例如,在某些實(shí)施方式中,傳輸時段可以部分地取決于請求下載該文件的客戶端的實(shí)際數(shù)目或者預(yù)計(jì)數(shù)目。該數(shù)目越大,傳輸時段的持續(xù)時間可以越長。又如,該傳輸時段還可以與文件的大小有關(guān),文件越大,傳輸時段越長。在又一些實(shí)施方式中,服務(wù)器與客戶端之間的網(wǎng)絡(luò)的狀況(例如,當(dāng)前流量情況,網(wǎng)絡(luò)可用帶寬,等等)也可以在確定傳輸時段中被納入考慮。備選地或附加地,服務(wù)器的處理能力也是傳輸時段的影響因素之一。這里所說的處理能力可以包括中央處理單元(CPU)的利用率、存儲資源、網(wǎng)絡(luò)接口能力,等等。此外,一天中的時間也是影響因素之一,例如,服務(wù)器可以盡可能將傳輸時段安排在夜間等服務(wù)壓力相對較小的時段。特別地,在某些實(shí)施方式中,在步驟S304處生成的傳輸時段可以具有有效期。當(dāng)有效期屆滿之后,客戶端對文件的下載可以不再受限于該傳輸時段。這是基于如下考慮:對于給定的文件,在一定的時間之后,其“熱度”會相應(yīng)地下降。換言之,在經(jīng)過一段時間之后,即使不加約束,對該文件的下載可能也不會再過于集中。有效期可以根據(jù)經(jīng)驗(yàn)由服務(wù)器自動設(shè)定,也可以由服務(wù)器的管理人員人工設(shè)定。接下來,方法繼續(xù)到步驟S306,向客戶端發(fā)送包括傳輸時段指示信息的應(yīng)答消息,使得客戶端能夠在該傳輸時段期間的一個時間點(diǎn)發(fā)起對文件的下載。如上所述,傳輸時段內(nèi)的具體時間點(diǎn)是由客戶端選擇的(例如,隨機(jī)選擇或協(xié)商選擇),從而確保客戶端對服務(wù)器的訪問被盡量交錯開。方法300在步驟S306完成之后結(jié)束。下面參考圖4,其示出了根據(jù)本發(fā)明一個示例性實(shí)施方式的用于在客戶端處控制從服務(wù)器下載文件的設(shè)備400的框圖。設(shè)備400可以駐留在例如圖1所示的客戶端102之上,或者與其他方式與客戶端結(jié)合操作。如圖所示,設(shè)備400包括:發(fā)送裝置402,配置用于通過所述網(wǎng)絡(luò)向所述服務(wù)器發(fā)送針對文件的請求消息;接收裝置404,配置用于從所述服務(wù)器接收應(yīng)答消息,所述應(yīng)答消息至少包括指示傳輸時段的信息;以及選擇裝置406,配置用于在所述傳輸時段中選擇至少一個時間點(diǎn),使得當(dāng)?shù)竭_(dá)所述時間點(diǎn)時,啟動對來自所述服務(wù)器的所述文件的下載。根據(jù)本發(fā)明的某些可選實(shí)施方式,選擇裝置406可以包括:隨機(jī)選擇裝置(未示出),配置用于在所述傳輸時段中隨機(jī)選擇所述時間點(diǎn)。根據(jù)本發(fā)明的某些可選實(shí)施方式,上述隨機(jī)選擇裝置包括:配置用于基于由所述客戶端生成的隨機(jī)數(shù)在所述傳輸時段中隨機(jī)選擇所述時間點(diǎn)的裝置。根據(jù)本發(fā)明的某些可選實(shí)施方式,選擇裝置406可以包括:協(xié)商選擇裝置(未示出),配置用于與所述網(wǎng)絡(luò)中的其他一個或多個客戶端協(xié)商以確定所述時間點(diǎn)的裝置。下面參考圖5,其示出了根據(jù)本發(fā)明一個示例性實(shí)施方式的用于在服務(wù)器處控制客戶端對文件的下載的設(shè)備500的框圖。設(shè)備500可以駐留在例如圖1所示的客戶端106之上,或者與其他方式與客戶端結(jié)合操作。如圖所示,設(shè)備500包括:接收裝置502,配置用于接收來自所述客戶端的針對文件的請求消息;生成裝置504,配置用于響應(yīng)于所述請求消息而生成應(yīng)答消息,所述應(yīng)答消息至少包括指示傳輸時段的信息;以及發(fā)送裝置506,配置用于向所述客戶端發(fā)送所述應(yīng)答消息,使得所述客戶端在所述傳輸時段期間選擇至少一個時間點(diǎn)以發(fā)起對所述文件的下載。根據(jù)本發(fā)明的某些可選實(shí)施方式,其中所述傳輸時段基于以下至少一個而確定:請求所述文件的客戶端的數(shù)目,所述文件的大小,所述網(wǎng)絡(luò)的狀況,以及所述服務(wù)器的處理能力。注意,為清晰起見,在圖4-5中沒有示出可選的裝置以及各個裝置所包含的子裝置。然而,應(yīng)當(dāng)理解,設(shè)備400和50中記載的各個裝置分別對應(yīng)于上文參考圖2和圖3描述的方法200和300中的各個步驟。由此,上文針對方法200和300描述的操作和特征同樣適用于設(shè)備400和500及其中包含的裝置,在此不再贅述。還應(yīng)當(dāng)理解,設(shè)備400和500可以利用各種方式實(shí)現(xiàn)。例如,在某些實(shí)施方式中,設(shè)備400和500可以利用軟件和/或固件來實(shí)現(xiàn)。備選地或附加地,設(shè)備400和500可以部分地或者完全地基于硬件來實(shí)現(xiàn)。例如,設(shè)備400和500可以實(shí)現(xiàn)為集成電路(IC)芯片或?qū)S眉呻娐?ASIC)。設(shè)備400和500也可以實(shí)現(xiàn)為片上系統(tǒng)(SOC)。現(xiàn)在已知或者將來開發(fā)的其他方式也是可行的,本發(fā)明的范圍在此方面不受限制。下面參考圖6,其示出了根據(jù)本發(fā)明一個示例性實(shí)施方式的服務(wù)器與客戶端之間交互的泳道圖。如圖所示,客戶端生成并且發(fā)送針對文件的請求消息。作為響應(yīng),服務(wù)器生成傳輸時段,并且通過應(yīng)答消息將其發(fā)送回客戶端。客戶端在該傳輸時段中選擇至少一個時間點(diǎn),并且在該時間點(diǎn)到達(dá)時發(fā)起實(shí)際的文件傳輸。圖7示出了適于用來實(shí)踐本發(fā)明實(shí)施方式的計(jì)算機(jī)系統(tǒng)的示意性框圖。例如,圖7所示的計(jì)算機(jī)系統(tǒng)可以用于實(shí)現(xiàn)如上文描述的服務(wù)器和/或客戶端。如圖所示,計(jì)算機(jī)系統(tǒng)700包括:CPU(中央處理單元)701、RAM (隨機(jī)存取存儲器)702、ROM (只讀存儲器)703、系統(tǒng)總線704、硬盤控制器705、鍵盤控制器706、串行接口控制器707、并行接口控制器708、顯示控制器709、硬盤710、鍵盤711、串行外部設(shè)備712、并行外部設(shè)備713和顯示器714。在這些設(shè)備中,與系統(tǒng)總線704耦合的有CPU 70URAM 702,ROM 703、硬盤控制器705、鍵盤控制器706、串行控制器707、并行控制器708和顯示控制器709。硬盤710與硬盤控制器705耦合,鍵盤711與鍵盤控制器706耦合,串行外部設(shè)備712與串行接口控制器707耦合,并行外部設(shè)備713與并行接口控制器708耦合,以及顯示器714與顯示控制器709耦合。應(yīng)當(dāng)理解,圖7所述的結(jié)構(gòu)框圖僅僅為了示例的目的而示出的,而不是對本發(fā)明范圍的限制。在某些情況下,可以根據(jù)具體情況而增加或者減少某些設(shè)備。應(yīng)當(dāng)理解,圖7所述的結(jié)構(gòu)框圖僅僅為了示例的目的而示出的,而不是對本發(fā)明范圍的限制。在某些情況下,可以根據(jù)具體情況而增加或者減少某些設(shè)備。如上所述,設(shè)備400和500可以實(shí)現(xiàn)為純硬件,例如芯片、ASIC、S0C等。這些硬件可以集成在計(jì)算機(jī)系統(tǒng)700中。此外,本發(fā)明的實(shí)施方式也可以通過計(jì)算機(jī)程序產(chǎn)品的形式實(shí)現(xiàn)。例如,參考圖2和圖3描述的方法200和300可以通過計(jì)算機(jī)程序產(chǎn)品來實(shí)現(xiàn)。該計(jì)算機(jī)程序產(chǎn)品可以存儲在例如圖7所示的RAM 704、ROM 704、硬盤710和/或任何適當(dāng)?shù)拇鎯橘|(zhì)中,或者通過網(wǎng)絡(luò)從適當(dāng)?shù)奈恢孟螺d到計(jì)算機(jī)系統(tǒng)700上。計(jì)算機(jī)程序產(chǎn)品可以包括計(jì)算機(jī)代碼部分,其包括可由適當(dāng)?shù)奶幚碓O(shè)備(例如,圖7中示出的CPU 701)執(zhí)行的程序指令。所述程序指令至少可以包括用于實(shí)現(xiàn)方法200和300的步驟的指令。
上文已經(jīng)結(jié)合若干具體實(shí)施方式
闡釋了本發(fā)明的精神和原理。根據(jù)本發(fā)明的實(shí)施方式,服務(wù)器端,對于將要由客戶端下載的文件,服務(wù)器可以根據(jù)各種影響因素而確定一個傳輸時段,并且將所確定的傳輸時段在應(yīng)答消息中發(fā)送回客戶端。客戶端只有在這個傳輸時段內(nèi)可以從服務(wù)器下載相關(guān)文件。而且,在客戶端側(cè),可以在服務(wù)器指定的傳輸時段內(nèi)選擇自己開始下載的時間點(diǎn)。這種選擇例如是隨機(jī)做出的,也可以基于多個客戶端之間的協(xié)商。以此方式,能夠盡量均勻地分布對服務(wù)器的訪問,從而避免由于集中訪問而造成的資源壓力和瓶頸。應(yīng)當(dāng)注意,本發(fā)明的實(shí)施方式可以通過硬件、軟件或者軟件和硬件的結(jié)合來實(shí)現(xiàn)。硬件部分可以利用專用邏輯來實(shí)現(xiàn);軟件部分可以存儲在存儲器中,由適當(dāng)?shù)闹噶顖?zhí)行系統(tǒng),例如微處理器或者專用設(shè)計(jì)硬件來執(zhí)行。本領(lǐng)域的普通技術(shù)人員可以理解上述的設(shè)備和方法可以使用計(jì)算機(jī)可執(zhí)行指令和/或包含在處理器控制代碼中來實(shí)現(xiàn),例如在諸如磁盤、CD或DVD-ROM的載體介質(zhì)、諸如只讀存儲器(固件)的可編程的存儲器或者諸如光學(xué)或電子信號載體的數(shù)據(jù)載體上提供了這樣的代碼。本發(fā)明的設(shè)備及其模塊可以由諸如超大規(guī)模集成電路或門陣列、諸如邏輯芯片、晶體管等的半導(dǎo)體、或者諸如現(xiàn)場可編程門陣列、可編程邏輯設(shè)備等的可編程硬件設(shè)備的硬件電路實(shí)現(xiàn),也可以用由各種類型的處理器執(zhí)行的軟件實(shí)現(xiàn),也可以由上述硬件電路和軟件的結(jié)合例如固件來實(shí)現(xiàn)。說明書中提及的通信網(wǎng)絡(luò)可以包括各類網(wǎng)絡(luò),包括但不限于局域網(wǎng)(“LAN”),廣域網(wǎng)(“WAN”),根據(jù)IP協(xié)議的網(wǎng)絡(luò)(例如,因特網(wǎng))以及端對端網(wǎng)絡(luò)(例如,ad hoc對等網(wǎng)絡(luò))。應(yīng)當(dāng)注意,盡管在上文詳細(xì)描述中提及了設(shè)備的若干裝置或子裝置,但是這種劃分僅僅并非強(qiáng)制性的。實(shí)際上,根據(jù)本發(fā)明的實(shí)施方式,上文描述的兩個或更多裝置的特征和功能可以在一個裝置中具體化。反之,上文描述的一個裝置的特征和功能可以進(jìn)一步劃分為由多個裝置來具體化。此外,盡管在附圖中以特定順序描述了本發(fā)明方法的操作,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些操作,或是必須執(zhí)行全部所示的操作才能實(shí)現(xiàn)期望的結(jié)果。相反,流程圖中描繪的步驟可以改變執(zhí)行順序。附加地或備選地,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,和/或?qū)⒁粋€步驟分解為多個步驟執(zhí)行。雖然已經(jīng)參考若干具體實(shí)施方式
描述了本發(fā)明,但是應(yīng)該理解,本發(fā)明并不限于所公開的具體實(shí)施方式
。本發(fā)明旨在涵蓋所附權(quán)利要求的精神和范圍內(nèi)所包括的各種修改和等同布置。所附權(quán)利要求的范圍符合最寬泛的解釋,從而包含所有這樣的修改及等同結(jié)構(gòu)和功能。
權(quán)利要求
1.一種用于在客戶端處控制從服務(wù)器下載文件的方法,所述客戶端與所述服務(wù)器通過網(wǎng)絡(luò)通信,所述方法包括: 通過所述網(wǎng)絡(luò)向所述服務(wù)器發(fā)送針對文件的請求消息; 從所述服務(wù)器接收應(yīng)答消息,所述應(yīng)答消息至少包括指示傳輸時段的信息; 在所述傳輸時段中選擇至少一個時間點(diǎn),使得當(dāng)?shù)竭_(dá)所述時間點(diǎn)時,啟動對來自所述服務(wù)器的所述文件的下載。
2.根據(jù)權(quán)利要求1所述的方法,其中在所述傳輸時段中選擇至少一個時間點(diǎn)包括:在所述傳輸時段中隨機(jī)選擇所述至少一個時間點(diǎn)。
3.根據(jù)權(quán)利要求2所述的方法,其中在所述傳輸時段中隨機(jī)選擇所述至少一耳光時間點(diǎn)包括:基于由所述客戶端生成的隨機(jī)數(shù),在所述傳輸時段中隨機(jī)選擇所述至少一個時間點(diǎn)。
4.根據(jù)權(quán)利要求1所述的方法,其中在所述傳輸時段中選擇至少一個時間點(diǎn)包括:與所述網(wǎng)絡(luò)中的其他一個或多個客戶端協(xié)商以確定所述至少一個時間點(diǎn)。
5.一種用于在服務(wù)器處控制客戶端對文件的下載的方法,所述服務(wù)器與所述客戶端通過網(wǎng)絡(luò)通信,所述方法包括: 接收來自所述客戶端的針對文件的請求消息; 響應(yīng)于所述請求消息而生成應(yīng)答消息,所述應(yīng)答消息至少包括指示傳輸時段的信息;以及 向所述客戶端發(fā)送所述應(yīng)答消息,使得所述客戶端在所述傳輸時段期間選擇至少一個時間點(diǎn)以發(fā)起對所述文件的下載。
6.根據(jù)權(quán)利要求5所述的方法,其中所述傳輸時段基于以下至少一個而確定:請求所述文件的客戶端的數(shù)目,所述文件的大小,所述網(wǎng)絡(luò)的狀況,以及所述服務(wù)器的處理能力。
7.一種用于在客戶端處控制從服務(wù)器下載文件的設(shè)備,所述客戶端與所述服務(wù)器通過網(wǎng)絡(luò)通信,所述設(shè)備包括: 發(fā)送裝置,配置用于通過所述網(wǎng)絡(luò)向所述服務(wù)器發(fā)送針對文件的請求消息; 接收裝置,配置用于從所述服務(wù)器接收應(yīng)答消息,所述應(yīng)答消息至少包括指示傳輸時段的息; 選擇裝置,配置用于在所述傳輸時段中選擇至少一個時間點(diǎn),使得當(dāng)?shù)竭_(dá)所述時間點(diǎn)時,啟動對來自所述服務(wù)器的所述文件的下載。
8.根據(jù)權(quán)利要求7所述的設(shè)備,其中所述選擇裝置包括:隨機(jī)選擇裝置,配置用于在所述傳輸時段中隨機(jī)選擇所述時間點(diǎn)。
9.根據(jù)權(quán)利要求8所述的設(shè)備,其中所述隨機(jī)選擇裝置包括:配置用于基于由所述客戶端生成的隨機(jī)數(shù)在所述傳輸時段中隨機(jī)選擇所述時間點(diǎn)的裝置。
10.根據(jù)權(quán)利要求7所述的設(shè)備,其中所述選擇裝置包括:協(xié)商選擇裝置,配置用于與所述網(wǎng)絡(luò)中的其他一個或多個客戶端協(xié)商以確定所述時間點(diǎn)的裝置。
11.一種用于在服務(wù)器處控制客戶端對文件的下載的設(shè)備,所述服務(wù)器與所述客戶端通過網(wǎng)絡(luò)通信,所述設(shè)備包括: 接收裝置,配置用于接收來自所述客戶端的針對文件的請求消息; 生成裝置,配置用于響應(yīng)于所述請求消息而生成應(yīng)答消息,所述應(yīng)答消息至少包括指不傳輸時段的信息;以及 發(fā)送裝置,配置用于向所述客戶端發(fā)送所述應(yīng)答消息,使得所述客戶端在所述傳輸時段期間選擇至少 一個時間點(diǎn)以發(fā)起對所述文件的下載。
12.根據(jù)權(quán)利要求11所述的設(shè)備,其中所述傳輸時段基于以下至少一個而確定:請求所述文件的客戶端的數(shù)目,所述文件的大小,所述網(wǎng)絡(luò)的狀況,以及所述服務(wù)器的處理能力。
全文摘要
本發(fā)明涉及用于動態(tài)控制網(wǎng)絡(luò)中文件下載的方法和設(shè)備。具體地,公開一種用于在客戶端處控制從服務(wù)器下載文件的方法,該方法包括通過網(wǎng)絡(luò)向服務(wù)器發(fā)送針對文件的請求消息;從服務(wù)器接收應(yīng)答消息,應(yīng)答消息至少包括指示傳輸時段的信息;以及在傳輸時段中選擇至少一個時間點(diǎn),使得當(dāng)?shù)竭_(dá)時間點(diǎn)時,啟動對來自服務(wù)器的文件的下載。還公開了一種用于在服務(wù)器處控制客戶端對文件的下載的方法,該方法包括接收來自客戶端的針對文件的請求消息;響應(yīng)于請求而生成應(yīng)答消息,應(yīng)答消息至少包括指示傳輸時段的信息;以及向客戶端發(fā)送應(yīng)答消息,使得客戶端在傳輸時段期間的一個時間點(diǎn)發(fā)起對文件的下載。另外,公開了相應(yīng)的設(shè)備。
文檔編號H04L29/08GK103108018SQ20111037964
公開日2013年5月15日 申請日期2011年11月10日 優(yōu)先權(quán)日2011年11月10日
發(fā)明者尹劍峰 申請人:北京千橡網(wǎng)景科技發(fā)展有限公司