專利名稱:軟件下載的流量控制方法及流量控制系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及軟件下載的流量控制方法及流量控制系統(tǒng)。
背景技術:
用戶通過登錄至各個網(wǎng)站下載各種軟件。通常把網(wǎng)站稱之為軟件下載平臺。請參 閱圖1,其為軟件下載平臺的原理結構示意圖。軟件下載平臺包括下載服務器11和數(shù)據(jù)庫 12。數(shù)據(jù)庫12上至少保存有各種軟件數(shù)據(jù)包,供用戶進行下載。下載服務器11用于管理用 戶下載軟件數(shù)據(jù)包。當?shù)卿浿猎撥浖螺d平臺的用戶非常多,且要求下載的用戶也很多時, 下載服務器11就會接收到非常多的下載請求,若不對下載的請求做管理的話,會使得整個 下載速率下降,甚至會使得整個軟件下載平臺癱瘓。為此,下載服務器11包括下載速率控制單元111和限制連接數(shù)控制單元112。下載 速率控制單元ill用于控制下載速率,比如,限制用戶下載速率、限制單個連接下載速率、 限制同一 IP下載速率。該些下載速率的控制可以只控制1個,也可以同時控制多個。艮口, 下載速率控制單元111控制單個用戶連接下載速率應不超過dl,和/或單個連接的下載速 率應不超過d2,和/或同一 IP下載速率應不超過d3等。當接收到某一用戶的下載請求后, 下載速率控制單元111按照預先的設定來控制其對應的速率。比如,下載速率控制單元111 只限制同一 IP地址的下載速率不能超過d3,則接收到某一用戶的下載請求時,則先找到該 用戶的IP地址,再判斷該IP地址的下載速率是否超過預先設定的d3值,如果是,則拒絕本 次的下載請求。下載速率控制單元111還可以同時限制用戶的下載速度,即當該用戶的IP 地址對應的當前下載速度小于預先設定的d3值后,即使允許該用戶下載軟件,還需要將用 戶下載軟件的速率限制在預先設定的值內(nèi)。限制連接數(shù)控制單元112用于控制當前并行下 載軟件的連接個數(shù)不能超過預先設定的d4值。軟件升級的流量控制方法如下首先,下載服務器11接收到用戶的下載請求,下載請求包括要求下載的軟件信 息;接著,下載服務器11的限制連接數(shù)控制單元112進一步判斷當前并行下載的軟件 個數(shù)是否已超過預先設定的d4值,若是,則拒絕本次下載,若否,則進行下一步操作;隨后,下載服務器11的下載速率控制單元111按照預先的設定來控制其對應的速 率比如,用戶所在的IP地址的下載速率是否超過預先設定的d3值,若是,則拒絕本次下 載,若否,則允許該用戶的當前下載;隨后,下載速率控制單元111將該用戶的當前下載速率限制在預先設定的范圍 內(nèi)比如,該用戶的用戶連接下載速率應不超過dl,和/或單個連接的下載速率應不超過d2等。當然,下載服務器11還可以通過設置其它的控制單元來控制用戶的下載,比如, 當用戶使用的軟件需要進行升級更新時,分批給用戶發(fā)送升級邀請,減少并發(fā)下載的機率, 再或者,軟件分版本進行升級,減少一起升級帶來的下載服務器11的阻塞。
還有一點需要說明的是,當能夠提供下載的軟件個數(shù)不多,或占用的存儲空間不 太大的情況下,數(shù)據(jù)庫12可以集成到下載服務器11上,即下載服務器11的存儲器上還存 儲有提供給用戶下載的軟件。并且,當能夠提供下載的軟件比較多或其它情況下,下載服務 器11可以用多個物理上的服務器去實現(xiàn)其功能。也就是說,下載服務器11是一種邏輯上 的劃分,在物理上,可以通過多個服務器去實現(xiàn)下載服務器11的功能。上述的軟件下載平臺針對用戶下載時的流量控制,存在以下的缺陷現(xiàn)有下載流量的控制與軟件下載平臺當前的實時流量是沒有建立關聯(lián)的,這會存 在很多問題。比如,軟件下載平臺當前的實時流量很小,此時下載流量控制若只限制用戶的 下載速率,就會出現(xiàn)用戶在很小的下載速率的范圍內(nèi)進行下載,而軟件下載平臺的多數(shù)帶 寬屬于閑置狀態(tài),即,一方面軟件下載平臺的帶寬資源存在浪費,另一方面,用戶的下載速 率卻很低,存在非常慢的下載效率。再比如,軟件下載平臺當前的實時流量很小,而此時下 載流量控制還限制了并行下載的軟件個數(shù)是否已超過預先設定的d4值,若接收到用戶的 下載請求,而當前的并行下載的軟件個數(shù)已超過了預先設定的值,這時就會拒絕用戶的當 前下載請求,這種情況下也存在資源的浪費。還有,當限制用戶下載速率不能超過預先設定 的dl值,當dl值設定比較小時,容易存在當前下載的個數(shù)比較多,但是,整個下載的效率非 常慢的問題,特別是軟件下載平臺當前的實時流量很大時,容易存在下載中斷等問題。也就是說,現(xiàn)今的軟件升級的流量控制方式都沒有與當前平臺的實時流量相結 合,存在造成資源浪費、或是整體下載速率低、下載容易中斷的技術問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種軟件下載的流量控制方法,以解決現(xiàn)有技術中現(xiàn)有下 載流量的控制與軟件下載平臺當前的實時流量是沒有建立關聯(lián)的,由此導致資源浪費、下 載速率低的技術問題。本發(fā)明的另一目的在于提供一種軟件下載的流量控制系統(tǒng),以解決現(xiàn)有技術中現(xiàn) 有下載流量的控制與軟件下載平臺當前的實時流量是沒有建立關聯(lián)的,由此導致資源浪 費、下載速率低的技術問題。一種軟件下載的控制方法,用于軟件下載平臺控制軟件的下載,包括(1)接收用戶的軟件下載請求;(2)查詢軟件下載平臺當前的實時流量信息,獲得當前可用下載帶寬信息;(3)判斷當前可用下載帶寬能否承載的本次下載,若否,則拒絕本次的軟件下載請 求,若能,則進行步驟(4);(4)確定本次軟件下載請求的優(yōu)先級,根據(jù)優(yōu)先級分配對應的帶寬。最佳地,步驟( 之前還包括判斷當前可用下載帶寬是否小于預先設定的下載最小帶寬數(shù),若是,則直接拒絕 本次的軟件下載請求,若否,則進行步驟(3)。另外,在進行優(yōu)先級分配帶寬時,具體實施可以為Al 預先確定各種軟件下載請求類型的優(yōu)先級;A2 預先確定每一優(yōu)先級分配帶寬的分配策略;A3 當步驟(4)接收到軟件下載請求時,按照步驟Al確定的優(yōu)先級,再按照步驟A2分配帶寬。所述分配策略可以包括確定每一級優(yōu)先級對應的分配帶寬,優(yōu)先級高,分配帶寬 多,優(yōu)先級低,分配帶寬少。所述分配策略可以包括確定每一級優(yōu)先級與當前可用下載帶寬的關系,其為Mi =K*Qi; Mi為第i優(yōu)先級對應分配的帶寬,K為當前可用下載帶寬,Qi為第i優(yōu)先級對應的 系數(shù),優(yōu)先級高,Qi的系數(shù)值高。另外,拒絕本次的軟件下載請求之前還包括進一步判斷本次下載請求的下載屬 性是用戶手動下載還是用戶自動下載,若是用戶自動下載,則直接拒絕本次的軟件下載請 求,若是用戶手動下載,則判斷手動下載預留帶寬是否已用完,若是,則拒絕用戶的本次下 載請求,若否,則允許下載。一種軟件下載的流量控制系統(tǒng),包括軟件下載平臺,軟件下載平臺進一步包括數(shù)據(jù)庫,用于存儲給用戶下載的軟件信息;流量檢測服務器,用于獲得軟件下載平臺當前的實時流量信息,計算當前可用下 載帶寬;下載控制服務器,連接流量檢測服務器,用于根據(jù)流量檢測服務器的當前可用下 載帶寬以及軟件下載請求的優(yōu)先級來處理當前的下載請求和/或調(diào)整當前軟件下載的流 M.fn 息;下載處理服務器,連接下載控制服務器和數(shù)據(jù)庫,用于在下載控制服務器的控制 下,給允許下載的當前下載請求進行下載對應軟件的操作。與現(xiàn)有技術相比,本申請具有以下的優(yōu)點首先,本申請的軟件升級的流量控制方式和當前軟件下載平臺的實時流量相適 應,直接根據(jù)當前可用下載帶寬來決定是否允許本次下載,不需要考慮連接數(shù)及用戶的下 載速率,控制簡單有效,本申請的下載直接根據(jù)當前的可用下載帶寬來分配給用戶的下載 帶寬,克服了現(xiàn)有的軟件升級過程中容易造成資源浪費的問題。其次,本申請還將下載的類型分為手動和自動,并且為手動下載的額外預留出手 動下載預留帶寬,能夠為一些優(yōu)先級高的下載請求利用手動下載預留帶寬完成下載,滿足 不同下載的需求。還有,給下載分配的帶寬也可以隨著本平臺的流量使用比率來動態(tài)分配, 達到整體帶寬資源更為合理的應用。再次,本申請在拒絕本次下載請求的同時,還預先計算出下次下載請求的時間點 通知用戶,不僅使得用戶能夠清楚獲知下次比較好的下載請求時間點,而且最為重要的是, 軟件下載平臺能夠根據(jù)合理安排下載計劃,使得資源利用更為合理。
圖1為軟件下載平臺現(xiàn)有的原理結構示意圖;圖2為本申請軟件下載的控制系統(tǒng)的原理示意圖;圖3為本申請流量檢測服務器的原理示意圖;圖4為下載控制服務器的原理示意圖;圖5為下載控制服務器上存儲單元的原理示意圖;圖6為軟件下載的流量控制方法的原理流程示意圖。具體實施例方式以下結合附圖,具體說明本申請。請參閱圖2,其為本申請一種軟件下載的流量控制系統(tǒng)的原理結構示意圖。流量控 制系統(tǒng)包括用戶終端21和軟件下載平臺22,用戶終端21通常是通過因特網(wǎng)連接軟件下載 平臺22。再請參閱圖2-圖4,軟件下載平臺22軟件下載平臺進一步包括數(shù)據(jù)庫31、流量檢 測服務器32、下載控制服務器33和下載處理服務器34。數(shù)據(jù)庫31,用于存儲包括給用戶下載的軟件信息在內(nèi)的數(shù)據(jù)。數(shù)據(jù)庫21用于存儲 各種數(shù)據(jù),在本實例中,數(shù)據(jù)庫31主要是用來存儲各種給用戶下載的軟件數(shù)據(jù)。流量檢測服務器32,用于獲得軟件下載平臺22當前的實時流量信息,計算當前可 用下載帶寬。其中,流量檢測服務器32進一步包括流量獲得單元 321 用于通過 SNMP 協(xié)議(Simple Network ManagementProtocol, 簡單網(wǎng)絡管理協(xié)議)讀取各個網(wǎng)絡接口設備的網(wǎng)絡流量,統(tǒng)計出當前的網(wǎng)絡流量。比如,流 量獲得單元321可以通過MRTG(Multi Router TrafficGrapher)等軟件來直觀獲得網(wǎng)絡 流量信息。MRTG軟件是利用SNMP協(xié)議去查詢指定有SNMP協(xié)議的網(wǎng)絡接口設備(防火墻、 路由器、交換機等),定時統(tǒng)計其設備的流量或負載,再將統(tǒng)計結果繪成統(tǒng)計圖等直觀顯示 方式。這個軟件可以計算出系統(tǒng)的包括Mail、DNS (Domain Name System,域名系統(tǒng))、W^eb、 BBS、IRC (Internet Relay Chat,互聯(lián)網(wǎng)中繼聊天)等的流量信息。流量獲得單元321通過 現(xiàn)有的軟件即可獲得網(wǎng)絡接口設備的網(wǎng)絡流量,可以統(tǒng)計出不同性質(zhì)的流量,如用于下載 的流量數(shù),用于Mail的流量等。下載可用帶寬計算單元322:用于計算出用以軟件下載的下載可用帶寬信息。下 載可用帶寬計算單元322連接流量獲得單元321,當流量獲得單元321獲得當前所使用的各 種不同性質(zhì)的流量情況后,下載可用帶寬計算單元322可以按照預先設定的規(guī)則計算出下 載可用帶寬,再計算出下載可用帶寬。一種方式是檢測出當前下載已占用帶寬(即當前下載流量數(shù));再將預先設定的 下載占用總帶寬減去當前下載已占用帶寬,得到當前可用下載帶寬。還有一種方式為(1)檢測出當前下載已占用帶寬、系統(tǒng)當前總流量;(2)計算系 統(tǒng)當前總流量與系統(tǒng)所有帶寬的比值,計算出流量使用比率;C3)查找下載帶寬比重數(shù)表, 獲得該流量使用比率對應的下載帶寬比重數(shù);下載帶寬比重數(shù)表是表明不同的流量使用比 率對應的下載帶寬比重數(shù);(4)系統(tǒng)所有帶寬乘以本次的下載帶寬比重數(shù),得到本次下載 占用總帶寬;(5)本次下載占用總帶寬減去當前下載已占用帶寬,得到當前可用下載帶寬。即預先設定的規(guī)則可以規(guī)定在不同的流量使用比率下,下載流量占總帶寬的比重 數(shù)。比如,流量使用比率大于70 %時,下載流量占用的比重數(shù)為30 %,流量使用比率不大于 70%時,下載流量占用的比重數(shù)為50%。下載可用帶寬計算單元322先計算出下載帶寬占用比重數(shù)后,再將下載帶寬占用 的比重數(shù)乘以系統(tǒng)所有帶寬即可求出本次下載占用總帶寬,后將本次下載占用總帶寬減去 流量獲得單元321獲得的當前下載已占用帶寬,得到的當前可用下載帶寬。上述公開的幾種計算下載可用帶寬的方式,是用來舉例用的。下載可用帶寬計算單元322可以按照預先設定的該些規(guī)則來計算出下載可用帶寬,并不局限于上述幾種計算 方式。交互單元323,用于建立與下載控制服務器33的交互定時將本端獲得的下載可 用帶寬信息發(fā)送至下載控制服務器33,或者是接收到下載控制服務器33的查詢請求后,觸 發(fā)流量獲得單元321工作并將下載可用帶寬計算單元322計算出來的當前下載可用帶寬信 息返回至下載控制服務器33。流量檢測服務器32公開的上述單元通常是邏輯單元,也可以是物理單元,目前主 要是通過軟件來實現(xiàn)。下載控制服務器33,連接流量檢測服務器32,用于根據(jù)流量檢測服務器32的當前 可用下載帶寬來處理當前的下載請求和/或調(diào)整當前軟件下載的流量信息。下載控制服務器33進一步包括接收下載請求接口單元331 用于接收用戶的下載請求,從中解析出包括待下載 的軟件信息、用戶信息、下載類型信息的信息。當前可用流量獲得單元332 用于從流量檢測服務器32上獲得當前下載可用帶寬 信息。當前可用流量獲得單元332可以定期從流量檢測服務器32上獲得當前下載可用帶 寬信息,也可以是接收到有用戶的下載請求后,再到流量檢測服務器32上同步當前下載可 用帶寬信息。另外,在本實例中,當前可用流量獲得單元332可以將每次獲得的當前下載可用 帶寬信息保存在下載可用帶寬記錄中。還有,當前可用流量獲得單元332還可以從流量檢 測服務器32中獲得下載已占用帶寬,并將下載已占用帶寬保存在下載已占用帶寬記錄中。可用流量判斷單元333 用于判斷當前下載可用帶寬是否能承載本次下載。若當 前下載可用帶寬為零時,是不能承載本次下載的。若當前下載可用帶寬小于預先設定的下 載最小帶寬數(shù)時,也是不能承載本次下載的。考慮到下載最小帶寬數(shù)通常大于零,因此,判 斷當前下載可用帶寬為零這一步可以省略,直接判斷當前下載可用帶寬是否小于下載最小 帶寬數(shù)?;蛘撸瑳]有設定下載最小帶寬數(shù)時,也可以將判斷當前下載可用帶寬是否小于下載 最小帶寬數(shù)這一步給省略。另外,可用流量判斷單元333還可以先預先估算一下本次下載所占用的預期帶 寬,若當前下載可用帶寬小于預期帶寬時,當前下載可用帶寬也是不能承載本次下載的。在 計算預期帶寬時,可以根據(jù)當前下載可用帶寬來計算,比如,當前下載可用帶寬少于設定 值,可以求得最小預期帶寬,當前下載可用帶寬大于某一預設值時,可以在計算出的帶寬基 礎上增加10%之類的預增比得到預期帶寬。流量控制處理單元334:用于在當前下載可用帶寬不能承載本次下載時,拒絕本 次用戶的下載請求。帶寬分配處理單元341 連接流量控制處理單元334,對當前下載可用帶寬能承載 本次下載請求時,確定本次軟件下載請求的優(yōu)先級,根據(jù)優(yōu)先級分配對應的帶寬。可以預先 在數(shù)據(jù)庫31中存儲各種軟件下載請求類型的優(yōu)先級,并存儲每一優(yōu)先級分配帶寬的分配 策略。分配策略可以為每一優(yōu)先級對應分配的帶寬數(shù),也可以為每一級優(yōu)先級與當前可用 下載帶寬的關系,其為Mi = K^Qi5Mi為第i優(yōu)先級對應分配的帶寬,K為當前可用下載帶寬, Qi為第i優(yōu)先級對應的系數(shù),優(yōu)先級高,Qi的系數(shù)值高。當接收到一次下載請求時,先查詢對應的優(yōu)先級,后根據(jù)優(yōu)先級對應的策略,就能計算出分配給本次下載請求的帶寬了。流量控制處理單元3;34還可以進一步包括下載類型判斷子單元335,連接可用流量判斷單元333,用于當可用流量判斷單元 333判斷出當前下載可用帶寬不能承載本次下載時,再判斷本次下載請求的類型是手動下 載還是自動下載。手動下載是指在用戶實時操作下完成下載,自動下載是指預先設定下載 任務后,在預先設定的時間用戶終端在沒有用戶實時操作的情況下完成下載。通常,接收下 載請求接口單元331在解析下載請求中,包含有下載類型。自動下載處理子單元336,用于在當前下載可用帶寬不能承載本次下載時,直接拒 絕本次用戶的下載請求。手動下載處理子單元337,用于在當前下載可用帶寬不能承載本次下載時,再查看 手動下載預留帶寬,手動下載預留帶寬已用完,拒絕用戶的本次下載請求,否則,允許下載。允許下載子單元338,連接可用流量判斷單元333和手動下載處理子單元337,用 于接收到允許下載的指令后,保存預期帶寬和預期下載占用時間,并建立與下載處理服務 器34之間的交互。下次下載時間點計算子單元339,用于拒絕用戶的本次下載請求之前,計算出下次 下載時間點并通知用戶。計算出下次下載時間點在后續(xù)著重說明,在此就不再詳細說明了。拒絕下載請求處理子單元340,用于拒絕用戶,并將下次下載時間點計算子單元 339計算出來的下次下載時間一并通知用戶。下載控制服務器33除了包括上述的單元之后,還包括用于存儲各種數(shù)據(jù)的存儲 單元(請參閱圖5),比如下載可用帶寬記錄存儲單元41,用于存儲下載可用帶寬記錄;下載已占用帶寬記錄存儲單元42,用于存儲下載已占用帶寬記錄;下載軟件狀態(tài)表存儲單元43,用于存儲當前各個下載占用的帶寬及剩余時間,以 及已預訂出去的預期下載帶寬及預期下載時間。這些存儲單元還可以設定在其它服務器上,也可以設定在數(shù)據(jù)庫31上。下載處理服務器34,連接下載控制服務器33和數(shù)據(jù)庫31,用于在下載控制服務器 33的控制下,給允許下載的當前下載請求進行下載對應軟件的操作。下載服務器34上保存 有各個軟件的存儲地址,當接收到下載請求被允許時,建立對應軟件的存儲地址與用戶終 端的對應關系。在本實例中,下載處理服務器34還需要將下載的情況實時返回至下載控制 服務器33。比如,某一下載完畢或下載被中斷時,將該些信息返回至下載控制服務器33,以 便下載控制服務器33修改下載軟件狀態(tài)表存儲單元43中的內(nèi)容。需要說明的是,上述的流量檢測服務器32、下載控制服務器33和下載處理服務器 34可以是物理上的服務器,也可以是邏輯上的服務器。也就是說,流量檢測服務器32、下載 控制服務器33和下載處理服務器34可以用一個或多個服務器來完成各自的功能,也可以 將該些功能集成在一個服務器上來完成。另外,數(shù)據(jù)庫31可以是單獨的物理上若干數(shù)據(jù)存 儲空間組成的數(shù)據(jù)庫,還可以將數(shù)據(jù)庫31集成在其它服務器的存儲器上。請參閱圖6,其為本申請軟件下載的控制方法的流程圖。它用于軟件下載平臺控制 軟件的下載,包括SllO 接收用戶的軟件下載請求。軟件下載平臺接收到用戶的軟件下載請求,先從10中解析出用戶需下載的軟件信息、用戶信息、下載類型信息等。S120:查詢軟件下載平臺當前的實時流量信息,獲得當前可用下載帶寬信息。流量檢測服務器32根據(jù)SNMP協(xié)議可以檢測到設備的流量或負載信息,由此可獲 知不同性質(zhì)用途的流量情況。比如,流量檢測服務器32通過MRTG (Multi Router Traffic Grapher)等軟件來 直觀獲得網(wǎng)絡流量信息。MRTG軟件是利用SNMP協(xié)議去查詢指定有SNMP協(xié)議的設備(防 火墻、路由器、交換機等),定時統(tǒng)計其設備的流量或負載,再將統(tǒng)計結果繪成統(tǒng)計圖等直觀 顯示方式,可以計算出系統(tǒng)的包括Mail、DNS (Domain Name System,域名系統(tǒng))、W^eb、BBS、 IRCdnternet RelayChat,互聯(lián)網(wǎng)中繼聊天)等的流量信息。流量獲得單元321通過現(xiàn)有 的軟件即可獲得網(wǎng)絡接口設備的網(wǎng)絡流量,可以統(tǒng)計出不同性質(zhì)用途的流量,如用于下載 的流量數(shù),用于Mail的流量等。流量檢測服務器32可以按照預先設定的規(guī)定計算出當前可用下載帶寬。比如,一 種最簡單的方式是下載占用的總帶寬是靜態(tài)的,當前可用下載帶寬為下載占用的總帶寬減 去當前下載已占用帶寬。考慮到下載占用的總帶寬可以是動態(tài)分配的,按照現(xiàn)有的帶寬使 用情況動態(tài)分配用于下載的總帶寬。比如,當整個軟件下載平臺目前已使用的帶寬比較少 的時候,可以多分配一些帶寬用于下載,當整個軟件下載平臺目前已使用的帶寬比較多的 時候,可以少分配一些帶寬用于下載。即,下載流量占用的比重數(shù)在某一域值范圍給出一對 應的下載占用帶寬比重。這種方式下,先計算出下載流量占用的比重數(shù)后,再將下載流量占 用的比重數(shù)乘以總帶寬即可求出下載占用的帶寬,后將下載占用的帶寬減去預先獲得的下 載已占用帶寬,得到的就是下載可用帶寬。上述公開的一種計算下載可用帶寬的方式,預先 設定的規(guī)則也不僅僅局限于上述這一種,可以人為設定各種規(guī)則,下載可用帶寬計算單元 322可以按照預先設定的該些規(guī)則來計算出下載可用帶寬。S130:當前可用下載帶寬是否能承載本次下載,若否,則拒絕本次的軟件下載請求 (S140),若是,則進行優(yōu)先級判定,分配對應的帶寬,允許下載(進行步驟S150)。判斷當前下載可用帶寬是否能承載本次下載可以有以下幾種判斷依據(jù)首先,判斷當前可用下載帶寬是否小于預設的下載最小帶寬數(shù),下載最小帶寬數(shù) 是下載必需的最小帶寬數(shù)。如是,則當前可用下載帶寬肯定不能承載下次下載。如果不是, 則進一步預先估算本次下載所占用的預期帶寬,若當前下載可用帶寬小于預期帶寬時,當 前下載可用帶寬也是不能承載本次下載的。一般在估算預期帶寬時,可以將當前下載可用 帶寬作為一參照依據(jù)來估算預期帶寬。在計算預期帶寬時,可以根據(jù)當前下載可用帶寬來 計算,比如,當前下載可用帶寬少于設定值,可以求得最小預期帶寬,當前下載可用帶寬大 于某一預設值時,可以在計算出的帶寬基礎上增加一定數(shù)值的預增比(如10% )得到預期 帶寬。當前可用下載帶寬不能承載本次下載時,則進一步判斷本次下載請求的下載屬性 是用戶手動下載還是用戶自動下載,若是用戶自動下載,則直接拒絕本次的軟件下載請求, 若是用戶手動下載,則判斷手動下載預留帶寬是否已用完,若是,則拒絕用戶的本次下載請 求,若否,則允許下載,并將預期帶寬和預期下載時間記載在下載軟件狀態(tài)表中。拒絕用戶本次下載請求之前,先計算出下次請求下載軟件的時間點后一并通知用 戶。11
計算下次請求下載軟件的時間點進一步包括預先計算出用戶本次下載需占用的預期時間和占用的預期帶寬;查找下載軟件狀態(tài)表,找到存在對應預期帶寬及對應預期時間空閑的時間點,作 為通知該用戶下次請求下載軟件的時間點。計算下次請求下載軟件的時間點還包括預先計算出用戶本次下載需占用的預期時間和占用的預期帶寬信息;參考歷史的下載軟件狀態(tài)表,確定該用戶下次請求下載軟件的時間點。比如,當下載的類型是自動下載,則可以參照下載可用帶寬記錄存儲單元和下載 已占用帶寬記錄存儲單元的歷史記錄(如昨天),找到一個有空閑預期時間及空閑預期帶 寬的時間點,作為下次請求下載軟件的時間點,當下載的類型是手動下載,則可以直接參考 歷史的下載軟件狀態(tài)表,找到最近的有空閑預期時間及空閑預期帶寬的時間點,作為該用 戶下次請求下載軟件的時間點。S150:下載處理服務器給允許下載的當前下載請求確定本次軟件下載請求的優(yōu)先 級,根據(jù)優(yōu)先級分配對應的帶寬。可以預先在數(shù)據(jù)庫31中存儲各種軟件下載請求類型的優(yōu) 先級,并存儲每一優(yōu)先級分配帶寬的分配策略。分配策略可以為每一優(yōu)先級對應分配的帶 寬數(shù),也可以為每一級優(yōu)先級與當前可用下載帶寬的關系,其為Mi = K^Qi5Mi為第i優(yōu)先級 對應分配的帶寬,K為當前可用下載帶寬,Qi為第i優(yōu)先級對應的系數(shù),優(yōu)先級高,&的系數(shù) 值高。當接收到一次下載請求時,先查詢對應的優(yōu)先級,后根據(jù)優(yōu)先級對應的策略,就能計 算出分配給本次下載請求的帶寬了。S160 進行下載對應軟件的操作,并將分配給本次下載的帶寬保存至下載軟件狀 態(tài)表中;在下載完畢后,將下載完畢信息返回至下載軟件狀態(tài)表。軟件下載平臺還可以定期檢測當前可用下載帶寬值大于預先設定的帶寬調(diào)整域 值,若是,則增加當前下載的帶寬。當當前下載有多個時,可以將某些下載的帶寬提高。比 如,將下載預先設定優(yōu)先級,調(diào)整優(yōu)先級高的下載對應的帶寬。以上公開的僅為本申請的幾個具體實施例,但本申請并非局限于此,任何本領域 的技術人員能思之的變化,都應落在本申請的保護范圍內(nèi)。
權利要求
1.一種軟件下載的控制方法,用于軟件下載平臺控制軟件的下載,其特征在于,包括(1)接收用戶的軟件下載請求;(2)查詢軟件下載平臺當前的實時流量信息,獲得當前可用下載帶寬信息;(3)判斷當前可用下載帶寬能否承載本次下載,若否,則拒絕本次的軟件下載請求,若 能,則進行步驟(4);(4)確定本次軟件下載請求的優(yōu)先級,根據(jù)優(yōu)先級分配對應的帶寬,允許下載。
2.如權利要求1所述的控制方法,其特征在于,還包括 Al 預先確定各種軟件下載請求類型的優(yōu)先級;A2 預先確定每一優(yōu)先級分配帶寬的分配策略;A3 步驟(4)中當接收到軟件下載請求時,按照步驟Al先確定本次軟件下載的優(yōu)先級, 再按照步驟A2分配帶寬。
3.如權利要求2所述的方法,其特征在于,所述分配策略包括確定每一級優(yōu)先級對應的分配帶寬數(shù),優(yōu)先級高,分配的帶寬多,優(yōu)先級低,分配的帶 寬少。
4.如權利要求2所述的方法,其特征在于,所述分配策略包括 確定每一級優(yōu)先級與當前可用下載帶寬的關系,其為Mi = K^Qi其中,Mi為第i優(yōu)先級對應分配的帶寬,K為當前可用下載帶寬,Qi為第i優(yōu)先級對應 的系數(shù),優(yōu)先級高,Qi的系數(shù)值高。
5.如權利要求1所述的方法,其特征在于,步驟(3)之前還包括判斷當前可用下載帶寬是否小于預先設定的下載最小帶寬,若是,則直接拒絕本次的 軟件下載請求,若否,則進行步驟(3)。
6.如權利要求1或5所述的方法,其特征在于,拒絕本次的軟件下載請求之前還包括 進一步判斷本次下載請求的下載屬性是用戶手動下載還是用戶自動下載,若是用戶自動下載,則直接拒絕本次軟件下載請求,若是用戶手動下載,則判斷手動下載預留帶寬是否 已用完,若是,則拒絕用戶的本次軟件下載請求,若否,則允許下載。
7.如權利要求1或5所述的方法,其特征在于,步驟(2)進一步包括 檢測出當前下載已占用帶寬;將預先設定的下載占用總帶寬減去當前下載已占用帶寬,得到當前可用下載帶寬。
8.如權利要求1或5所述的方法,其特征在于,步驟(2)進一步包括 檢測出當前下載已占用帶寬、系統(tǒng)當前總流量;計算系統(tǒng)當前總流量與系統(tǒng)所有帶寬的比值,計算出流量使用比率; 查找下載帶寬比重數(shù)表,獲得該流量使用比率對應的下載帶寬比重數(shù); 系統(tǒng)所有帶寬乘以本次的下載帶寬比重數(shù),得到本次下載占用總帶寬; 本次下載占用總帶寬減去當前下載已占用帶寬,得到當前可用下載帶寬。
9.如權利要求8所述的方法,其特征在于,步驟(4)還包括計算本次下載所占的預期帶寬信息以及本次下載需花費的預期下載時間; 當前下載可用帶寬是否不小于預期帶寬,若是,則當前下載可用帶寬能承載本次下載, 并將預期帶寬和預期下載時間記載在下載軟件狀態(tài)表中。
10.如權利要求9所述的方法,其特征在于,還包括,拒絕用戶本次下載請求之前,先計算出下次請求下載軟件的時間點后一并通知用戶。
11.如權利要求9所述的方法,其特征在于,計算下次請求下載軟件的時間點進一步包括預先計算出用戶本次下載需占用的預期時間和占用的預期帶寬; 查找下載軟件狀態(tài)表,找到存在對應預期帶寬及對應預期時間空閑的時間點,作為通 知該用戶下次請求下載軟件的時間點。
12.如權利要求9所述的方法,其特征在于,計算下次請求下載軟件的時間點還包括 預先計算出用戶本次下載需占用的預期時間和占用的預期帶寬信息;參考歷史的下載軟件狀態(tài)表,確定該用戶下次請求下載軟件的時間點。
13.如權利要求1或5所述的方法,其特征在于,還包括下載處理服務器給允許下載的當前下載請求進行下載對應軟件的操作,并將分配給本 次下載的帶寬保存至下載軟件狀態(tài)表中;在下載完畢后,將下載完畢信息返回至下載軟件狀態(tài)表。
14.一種軟件下載的流量控制系統(tǒng),包括軟件下載平臺,其特征在于,軟件下載平臺進 一步包括數(shù)據(jù)庫,用于存儲給用戶下載的軟件信息;流量檢測服務器,用于獲得軟件下載平臺當前的實時流量信息,計算當前可用下載帶寬;下載控制服務器,連接流量檢測服務器,用于根據(jù)流量檢測服務器的當前可用下載帶 寬以及軟件下載請求的優(yōu)先級來處理當前的下載請求和/或調(diào)整當前軟件下載的流量信 息;下載處理服務器,連接下載控制服務器和數(shù)據(jù)庫,用于在下載控制服務器的控制下,給 允許下載的當前下載請求進行下載對應軟件的操作。
15.如權利要求14所述的系統(tǒng),其特征在于,所述流量檢測服務器進一步包括 流量獲得單元用于通過SNMP協(xié)議讀取各個網(wǎng)絡接口設備的網(wǎng)絡流量,統(tǒng)計出當前的網(wǎng)絡流量;下載可用帶寬計算單元用于計算出用于軟件下載的下載可用帶寬信息; 交互單元,用于建立與下載控制服務器的交互定時將本端獲得的下載可用帶寬信息 發(fā)送至下載控制服務器,或者是接收到下載控制服務器的查詢請求后,觸發(fā)流量獲得單元 工作,并將下載可用帶寬計算單元計算出來的下載可用帶寬信息返回至下載控制服務器。
16.如權利要求14或15所述的系統(tǒng),其特征在于,下載控制服務器進一步包括接收下載請求接口單元用于接收用戶的下載請求,從中解析出包括待下載的軟件信 息、用戶信息、下載類型信息在內(nèi)的信息;當前可用流量獲得單元用于從流量檢測服務器上獲得當前下載可用帶寬信息; 可用流量判斷單元用于判斷當前下載可用帶寬是否能承載本次下載請求; 流量控制處理單元用于在當前下載可用帶寬不能承載本次下載請求時,拒絕本次用 戶的下載請求;帶寬分配處理單元對當前下載可用帶寬能承載本次下載請求時,確定本次軟件下載 請求的優(yōu)先級,根據(jù)優(yōu)先級分配對應的帶寬。
17.如權利要求16所述的系統(tǒng),其特征在于,流量控制處理單元進一步還包括 下載類型判斷子單元,連接可用流量判斷單元,用于在當前下載可用帶寬不能承載本 次下載請求時,判斷本次下載請求的類型是手動下載還是自動下載; 自動下載處理子單元用于拒絕本次用戶的下載請求;手動下載處理子單元,用于查看手動下載預留帶寬,手動下載預留帶寬已用完,拒絕用 戶的本次下載請求;允許下載處理子單元用于對請求被允許的下載請求,建立與下載處理服務器的交互。
全文摘要
一種軟件下載的控制方法,用于軟件下載平臺控制軟件的下載,包括(1)接收用戶的軟件下載請求;(2)查詢軟件下載平臺當前的實時流量信息,獲得當前可用下載帶寬信息;(3)判斷當前可用下載帶寬能否承載本次下載,若否,則拒絕本次的軟件下載請求,若能,則進行步驟(4);(4)確定本次軟件下載請求的優(yōu)先級,根據(jù)優(yōu)先級分配對應的帶寬。本申請直接根據(jù)當前可用下載帶寬來決定是否允許本次下載,不需要考慮連接數(shù)及用戶的下載速率,控制簡單有效,并且,本申請能夠根據(jù)優(yōu)先級來分配對應的帶寬,達到整體資源的合理利用。
文檔編號H04L12/56GK102045321SQ20091020827
公開日2011年5月4日 申請日期2009年10月23日 優(yōu)先權日2009年10月23日
發(fā)明者余榮喬, 孔勇偉, 彭衛(wèi), 莫建祥, 聞波 申請人:阿里巴巴集團控股有限公司