專利名稱:基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)絡(luò)上的文件下載技術(shù),尤其涉及內(nèi)容分發(fā)網(wǎng)絡(luò)(⑶N,Content Delivery Network)技術(shù)對(duì)文件下載進(jìn)行加速處理的調(diào)度方法和系統(tǒng)。
背景技術(shù):
⑶N技術(shù)通過將內(nèi)容發(fā)布到網(wǎng)絡(luò)邊緣,解決了互聯(lián)網(wǎng)網(wǎng)絡(luò)擁塞的狀況,提高了用戶 訪問網(wǎng)站的響應(yīng)速度,越來越受到業(yè)界的廣泛關(guān)注,并在國(guó)內(nèi)外得到了廣泛的應(yīng)用。隨著 CDN的快速發(fā)展,文件下載類加速業(yè)務(wù)需求猛增,如何進(jìn)一步改善下載加速的效果體驗(yàn)日趨 成為⑶N業(yè)內(nèi)關(guān)注的一大焦點(diǎn)。傳統(tǒng)的做法是采用DNS端調(diào)度分配方式處理,傳統(tǒng)的處理方式存在最終客戶端IP 與其配置的DNS IP處于兩個(gè)不同的網(wǎng)絡(luò)系統(tǒng),網(wǎng)絡(luò)特性完全不同的問題。該問題會(huì)致使最 終下載客戶端無法獲得最佳服務(wù)質(zhì)量。
發(fā)明內(nèi)容
本發(fā)明的目的在于解決上述問題,提供了一種基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度 方法,配合使用HTTP重定向方法,考慮設(shè)計(jì)基于URL級(jí)別的二次調(diào)度系統(tǒng),對(duì)每個(gè)最終來 訪的客戶端進(jìn)行URL調(diào)度,為其指定相對(duì)較佳網(wǎng)絡(luò)特性的服務(wù)器保證最終客戶端的下載速度。本發(fā)明的另一目的在于提供了一種基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng)。本發(fā)明的技術(shù)方案為本發(fā)明揭示了一種基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方 法,該方法應(yīng)用在由決策機(jī)、DNS機(jī)和生產(chǎn)機(jī)所組成的網(wǎng)絡(luò)系統(tǒng)中,該方法包括步驟1 決策機(jī)在收集DNS機(jī)和生產(chǎn)機(jī)的統(tǒng)計(jì)、采集數(shù)據(jù)后執(zhí)行決策,并將調(diào)度決 策結(jié)果發(fā)送到DNS機(jī)和生產(chǎn)機(jī);步驟2 =DNS機(jī)根據(jù)接收到的調(diào)度決策結(jié)果為公網(wǎng)通用DNS執(zhí)行第一次的DNS調(diào) 度;步驟3 生產(chǎn)機(jī)根據(jù)接收到的調(diào)度決策結(jié)果為最終來訪的客戶端執(zhí)行第二次的 URL調(diào)度。根據(jù)本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法的一實(shí)施例,步驟1進(jìn)一步 包括DNS機(jī)按照IP歸屬區(qū)域統(tǒng)計(jì)來訪的DNS請(qǐng)求次數(shù),定期向決策機(jī)報(bào)告該DNS請(qǐng)求 次數(shù)的數(shù)據(jù);生產(chǎn)機(jī)按照IP歸屬區(qū)域統(tǒng)計(jì)來訪請(qǐng)求下載資源的次數(shù),定期向決策機(jī)報(bào)告自身 的服務(wù)狀態(tài)、來訪下載次數(shù)數(shù)據(jù)、生產(chǎn)機(jī)到各個(gè)IP歸屬區(qū)域的網(wǎng)絡(luò)狀態(tài)、機(jī)房狀態(tài);決策機(jī)匯總DNS機(jī)、生產(chǎn)機(jī)送達(dá)的數(shù)據(jù),計(jì)算評(píng)估每個(gè)區(qū)域應(yīng)當(dāng)由哪些生產(chǎn)機(jī)執(zhí) 行覆蓋,并將調(diào)度決策結(jié)果反饋給DNS機(jī)和生產(chǎn)機(jī)。根據(jù)本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法的一實(shí)施例,步驟2進(jìn)一步包括DNS機(jī)根據(jù)接收到的來自決策機(jī)的調(diào)度決策結(jié)果,按照IP歸屬區(qū)域的調(diào)度決策結(jié) 果做DNS調(diào)度實(shí)施。根據(jù)本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法的一實(shí)施例,步驟3進(jìn)一步 包括生產(chǎn)機(jī)根據(jù)接收到的來自決策機(jī)的調(diào)度決策結(jié)果,按照IP歸屬區(qū)域的調(diào)度決策 結(jié)果做URL的調(diào)度實(shí)施,對(duì)于理應(yīng)到其他生產(chǎn)機(jī)上下載的鏈接返回URL重定向調(diào)度指示并 停止為其服務(wù)。根據(jù)本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法的一實(shí)施例,對(duì)于計(jì)算評(píng)估 每個(gè)區(qū)域應(yīng)當(dāng)由哪些生產(chǎn)機(jī)執(zhí)行覆蓋是采用最小費(fèi)用最大流算法來建模。根據(jù)本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法的一實(shí)施例,在最小費(fèi)用最 大流算法的建模過程中,包括了對(duì)算法中涉及的源點(diǎn)、匯點(diǎn)以及與源點(diǎn)和匯點(diǎn)相連的三類 節(jié)點(diǎn)的建模,其中第一類節(jié)點(diǎn)為生產(chǎn)機(jī)組成的每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),第一類節(jié)點(diǎn)與源點(diǎn)有三條邊相連 接,其中第一類節(jié)點(diǎn)與源點(diǎn)連接的第一條邊的邊容量為生產(chǎn)者的當(dāng)前使用帶寬,其邊費(fèi)用 為0 ;第一類節(jié)點(diǎn)與源點(diǎn)連接的第二條邊的邊容量為網(wǎng)絡(luò)節(jié)點(diǎn)的最大可用帶寬,其邊費(fèi)用 為網(wǎng)絡(luò)節(jié)點(diǎn)在可用帶寬內(nèi)的使用成本;第一類節(jié)點(diǎn)與源點(diǎn)連接的第三條邊的邊容量為無窮 大,其邊費(fèi)用為網(wǎng)絡(luò)節(jié)點(diǎn)超過可用帶寬的使用成本,其中網(wǎng)絡(luò)節(jié)點(diǎn)在可用帶寬內(nèi)的使用成 本小于網(wǎng)絡(luò)節(jié)點(diǎn)超過可用帶寬的使用成本;第二類節(jié)點(diǎn)由每個(gè)生產(chǎn)者組成,第二類節(jié)點(diǎn)與其歸屬的第一類節(jié)點(diǎn)之間有三條邊 相連接,其中第二類節(jié)點(diǎn)與其歸屬的第一類節(jié)點(diǎn)相連接的第一條邊的邊容量為生產(chǎn)者的當(dāng) 前使用帶寬,其邊費(fèi)用為0 ;第二類節(jié)點(diǎn)與其歸屬的第一類節(jié)點(diǎn)相連接的第二條邊的邊容 量為生產(chǎn)者的最大可用帶寬,其邊費(fèi)用為生產(chǎn)者在可用帶寬內(nèi)的使用成本;第二類節(jié)點(diǎn)與 其歸屬的第一類節(jié)點(diǎn)相連接的第三條邊的邊容量為無窮大,其邊費(fèi)用為生產(chǎn)者超過可用帶 寬的使用成本,其中生產(chǎn)者在可用帶寬內(nèi)的使用成本小于生產(chǎn)者超過可用帶寬的使用成 本;第三類節(jié)點(diǎn)由每個(gè)公網(wǎng)區(qū)域組成,第三類節(jié)點(diǎn)的一邊與匯點(diǎn)連接,其對(duì)應(yīng)的邊容 量為系統(tǒng)當(dāng)前使用的帶寬量X(對(duì)應(yīng)的公網(wǎng)區(qū)域的當(dāng)前鏈接數(shù)/系統(tǒng)的當(dāng)前鏈接數(shù)),其 邊費(fèi)用為0,第三類節(jié)點(diǎn)的另一邊與生產(chǎn)者相連,其對(duì)應(yīng)的邊容量為系統(tǒng)當(dāng)前使用的帶寬 量X (對(duì)應(yīng)的公網(wǎng)區(qū)域的當(dāng)前鏈接數(shù)/系統(tǒng)的當(dāng)前鏈接數(shù)),其邊費(fèi)用為公網(wǎng)區(qū)域到生產(chǎn)者 之間的距離指數(shù)。根據(jù)本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法的一實(shí)施例,公網(wǎng)區(qū)域到生 產(chǎn)者之間的距離指數(shù)的計(jì)算方式是若公網(wǎng)區(qū)域可以用生產(chǎn)者覆蓋,則兩者之間的距離指數(shù)為 TTX (I-LP) X 100X30%, TT是生產(chǎn)者所歸屬節(jié)點(diǎn)到指定公網(wǎng)區(qū)域的傳輸時(shí)間,LP是丟包率。本發(fā)明還揭示了一種基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng),用于網(wǎng)絡(luò)中文件下 載的帶寬分配,該系統(tǒng)包括相互之間建有通訊連接的決策機(jī)、DNS機(jī)和生產(chǎn)機(jī),其中決策機(jī),接收來自生產(chǎn)機(jī)和DNS機(jī)的統(tǒng)計(jì)、采集數(shù)據(jù)后執(zhí)行決策,并將調(diào)度決策結(jié)果發(fā)送到DNS機(jī)和生產(chǎn)機(jī);DNS機(jī),一方面將統(tǒng)計(jì)、采集數(shù)據(jù)發(fā)送給決策機(jī),一方面根據(jù)接收到的來自決策機(jī) 的調(diào)度決策結(jié)果為公網(wǎng)通用DNS執(zhí)行第一次的DNS調(diào)度;生產(chǎn)機(jī),一方面將統(tǒng)計(jì)、采集數(shù)據(jù)發(fā)送給決策機(jī),一方面根據(jù)接收到的來自決策機(jī) 的調(diào)度決策結(jié)果為最終來訪的客戶端執(zhí)行第二次的URL調(diào)度。根據(jù)本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng)的一實(shí)施例,該決策機(jī)進(jìn)一 步包括第一信息交互模塊,和與自身進(jìn)行數(shù)據(jù)通訊的DNS機(jī)和生產(chǎn)機(jī)進(jìn)行信息交互操 作;決策模塊,通過該第一信息交互模塊匯總來自DNS機(jī)的DNS請(qǐng)求次數(shù)的數(shù)據(jù),以 及來自生產(chǎn)機(jī)的生產(chǎn)機(jī)服務(wù)狀態(tài)、來訪下載次數(shù)數(shù)據(jù)、生產(chǎn)機(jī)到各個(gè)IP歸屬區(qū)域的網(wǎng)絡(luò)狀 態(tài)、機(jī)房狀態(tài),計(jì)算評(píng)估各個(gè)區(qū)域應(yīng)當(dāng)由哪些生產(chǎn)機(jī)執(zhí)行覆蓋,并將調(diào)度決策結(jié)果通過該第 一信息交互模塊反饋給DNS機(jī)和生產(chǎn)機(jī)。根據(jù)本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng)的一實(shí)施例,該DNS機(jī)進(jìn)一 步包括第二信息交互模塊,與決策機(jī)執(zhí)行信息交互;DNS響應(yīng)模塊,根據(jù)接收到的來自決策機(jī)的調(diào)度決策結(jié)果,按照IP歸屬區(qū)域的調(diào) 度決策結(jié)果做DNS調(diào)度實(shí)施。根據(jù)本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng)的一實(shí)施例,該生產(chǎn)機(jī)進(jìn)一 步包括第三信息交互模塊,與決策機(jī)執(zhí)行信息交互;采集模塊,采集與本生產(chǎn)機(jī)所在的網(wǎng)絡(luò)節(jié)點(diǎn)相關(guān)的流量容量信息并通過該第三信 息交互模塊發(fā)送到?jīng)Q策機(jī);HTTP響應(yīng)模塊,服務(wù)來訪的HTTP下載請(qǐng)求,依照來自決策機(jī)的調(diào)度決策結(jié)果對(duì)每 個(gè)URL請(qǐng)求判定是否在本地提供下載服務(wù),如果不是在本地提供下載服務(wù)則返回URL重定 向頁面通知客戶端到指定的生產(chǎn)機(jī)上執(zhí)行下載任務(wù)。根據(jù)本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng)的一實(shí)施例,該決策模塊采 用最小費(fèi)用最大流算法的建模方式來計(jì)算評(píng)估各個(gè)區(qū)域應(yīng)當(dāng)由哪些生產(chǎn)機(jī)執(zhí)行覆蓋。根據(jù)本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng)的一實(shí)施例,該采集模塊包 括網(wǎng)絡(luò)節(jié)點(diǎn)帶寬采集單元,用于采集網(wǎng)絡(luò)節(jié)點(diǎn)的帶寬使用量,定期向網(wǎng)絡(luò)節(jié)點(diǎn)上安 裝的最外層交換機(jī)上發(fā)送簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議采集指令,采集所有最外層上聯(lián)口的流量信 息,將采集得到的流量初步加工處理成當(dāng)前的帶寬量;網(wǎng)絡(luò)性能采集單元,采集網(wǎng)絡(luò)節(jié)點(diǎn)到公網(wǎng)各個(gè)網(wǎng)絡(luò)區(qū)域的網(wǎng)絡(luò)傳輸時(shí)間和丟包率。根據(jù)本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng)的一實(shí)施例,該第一信息交 互模塊、該第二信息交互模塊或該第三信息交互模塊均包含接收線程處理單元,等待接收UDP數(shù)據(jù)包,檢查數(shù)據(jù)是否合法,在數(shù)據(jù)合法的前提 下將UDP數(shù)據(jù)包中的數(shù)據(jù)保存在緩沖結(jié)構(gòu)體中;
發(fā)送線程處理單元,等待發(fā)送緩沖中出現(xiàn)需要發(fā)送的數(shù)據(jù),然后發(fā)送準(zhǔn)備好的數(shù) 據(jù),最后從發(fā)送緩沖中刪除已發(fā)送的數(shù)據(jù)。本發(fā)明對(duì)比現(xiàn)有技術(shù)有如下的有益效果對(duì)于文件下載這種特殊業(yè)務(wù)來說,由于 有鏈接時(shí)間長(zhǎng)的特征,因此可以配合使用HTTP重定向方法。當(dāng)生產(chǎn)機(jī)發(fā)現(xiàn)來訪機(jī)器可到更 佳服務(wù)的另一臺(tái)生產(chǎn)機(jī)上服務(wù)時(shí),則不直接返回請(qǐng)求內(nèi)容而是返回一個(gè)重定向跳轉(zhuǎn),來訪 機(jī)器在接收到跳轉(zhuǎn)信息后則根據(jù)跳轉(zhuǎn)信息到指定的生產(chǎn)機(jī)上下載文件。本發(fā)明考慮基于 URL級(jí)別的二次調(diào)度系統(tǒng),對(duì)每個(gè)最終來訪的客戶端進(jìn)行URL調(diào)度,為其指定相對(duì)較佳網(wǎng)絡(luò) 特性的服務(wù)器保證最終客戶端的下載速度。相較于傳統(tǒng)技術(shù),本發(fā)明采用了對(duì)文件下載實(shí) 施CDN加速的二次調(diào)度方法,第一次調(diào)度由DNS機(jī)完成,通過來訪的DNS IP初步確定應(yīng)當(dāng) 到哪幾臺(tái)機(jī)器上執(zhí)行下載任務(wù),第二次調(diào)度由URL重定向完成,通過生產(chǎn)機(jī)對(duì)最終的下載 請(qǐng)求做調(diào)度,最終確定每次下載。因此,本發(fā)明可以精確控制每個(gè)鏈接的訪問,從而從整體 上提高文件下載加速體系的服務(wù)質(zhì)量。
圖1示例性的示出了本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng)的較佳實(shí) 施例的結(jié)構(gòu)圖。圖2示例性的示出了本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法的較佳實(shí) 施例的流程圖。圖3示出了圖2所示流程圖的細(xì)化流程圖。圖4示例性的示出了本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng)的較佳實(shí) 施例中的決策機(jī)的邏輯架構(gòu)圖。圖5示例性的示出了本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng)的較佳實(shí) 施例中的DNS機(jī)的邏輯架構(gòu)圖。圖6示例性的示出了本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng)的較佳實(shí) 施例中的生產(chǎn)機(jī)的邏輯架構(gòu)圖。圖7示例性的示出了本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng)的較佳實(shí) 施例中的第一/第二/第三信息交互模塊的工作邏輯流程圖。圖8示例性的示出了本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng)的較佳實(shí) 施例中的決策模塊的工作邏輯流程圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的描述。圖2示出了本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法的實(shí)施例的流程。在 詳細(xì)描述本實(shí)施例的調(diào)度方法之前,需要先介紹本實(shí)施例的調(diào)度方法的應(yīng)用環(huán)境。請(qǐng)參見 圖1,圖1所示的系統(tǒng)是本實(shí)施例的調(diào)度方法所依附的實(shí)施環(huán)境。在圖1中,系統(tǒng)用于文件 下載業(yè)務(wù)的帶寬分配,包括決策機(jī)100、DNS機(jī)110、111、生產(chǎn)機(jī)120、121、122,系統(tǒng)在邏輯上 由這三種機(jī)器構(gòu)成,所有的機(jī)器分布在不同的網(wǎng)絡(luò)位置,它們通過公共的信令信道相互通 訊完成技術(shù)方案。
以下是基于圖1系統(tǒng)的本實(shí)施例的調(diào)度方法的各個(gè)步驟的詳細(xì)描述。步驟SlO 決策機(jī)在收集DNS機(jī)和生產(chǎn)機(jī)的統(tǒng)計(jì)、采集數(shù)據(jù)后執(zhí)行決策,并將調(diào)度 決策結(jié)果發(fā)送到DNS機(jī)和生產(chǎn)機(jī)。步驟S12 =DNS機(jī)根據(jù)接收到的調(diào)度決策結(jié)果為公網(wǎng)通用DNS執(zhí)行第一次的DNS調(diào)度。步驟S14 生產(chǎn)機(jī)根據(jù)接收到的調(diào)度決策結(jié)果為最終來訪的客戶端執(zhí)行第二次的 URL調(diào)度。圖3示出了圖2所示的三個(gè)步驟的細(xì)化流程,請(qǐng)進(jìn)一步參見圖3。步驟SlOl =DNS機(jī)按IP歸屬區(qū)域統(tǒng)計(jì)來訪DNS請(qǐng)求次數(shù),每隔一個(gè)周期向決策機(jī) 報(bào)告自身的狀態(tài)信息數(shù)據(jù)和統(tǒng)計(jì)數(shù)據(jù)。本步驟中所述的狀態(tài)信息數(shù)據(jù)和統(tǒng)計(jì)數(shù)據(jù)主要指DNS請(qǐng)求次數(shù)的數(shù)據(jù)。步驟S102 生產(chǎn)機(jī)按IP歸屬區(qū)域統(tǒng)計(jì)來訪請(qǐng)求下載資源的次數(shù),每隔一個(gè)周期向 決策機(jī)報(bào)告自身的狀態(tài)信息數(shù)據(jù)和統(tǒng)計(jì)數(shù)據(jù)、網(wǎng)絡(luò)狀態(tài)、機(jī)房狀態(tài)。生產(chǎn)機(jī)按照IP歸屬區(qū)域統(tǒng)計(jì)來訪請(qǐng)求下載資源的次數(shù),定期向決策機(jī)報(bào)告自身 的服務(wù)狀態(tài)、來訪下載次數(shù)數(shù)據(jù)、生產(chǎn)機(jī)到各個(gè)IP歸屬區(qū)域的網(wǎng)絡(luò)狀態(tài)、機(jī)房狀態(tài)。步驟S103 決策機(jī)匯總DNS機(jī)、生產(chǎn)機(jī)送達(dá)的數(shù)據(jù),計(jì)算評(píng)估每個(gè)區(qū)域應(yīng)當(dāng)由哪些 生產(chǎn)機(jī)執(zhí)行覆蓋,并將調(diào)度決策結(jié)果反饋給DNS機(jī)和生產(chǎn)機(jī)。對(duì)于評(píng)估公網(wǎng)的每個(gè)區(qū)域應(yīng)當(dāng)由哪些生產(chǎn)者來覆蓋的過程,可以通過建模采用常 用的最小費(fèi)用最大流的算法(例如Dinic算法、ZKW算法、SPFA算法等)解決。在最小費(fèi)用 最大流的算法中,需要輸入源點(diǎn)、匯點(diǎn)、從源點(diǎn)到匯點(diǎn)間的所有中間節(jié)點(diǎn)以及所有節(jié)點(diǎn)之間 的邊(包括邊的費(fèi)用和邊的容量)。以下是針對(duì)本實(shí)施例在最小費(fèi)用最大流算法中抽象出源點(diǎn)會(huì)匯點(diǎn)(這兩個(gè)節(jié)點(diǎn) 是抽象的且僅存在于算法中的節(jié)點(diǎn))以及與這兩個(gè)節(jié)點(diǎn)相連的三大類節(jié)點(diǎn)建模1.A類點(diǎn)為生產(chǎn)機(jī)組成的每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),它與源點(diǎn)有三條邊相連接一條邊容量 為生產(chǎn)者的當(dāng)前使用帶寬,邊費(fèi)用為0 ;—條邊容量為網(wǎng)絡(luò)節(jié)點(diǎn)的最大可用帶寬,邊費(fèi)用 為ABILITYC0ST1(網(wǎng)絡(luò)節(jié)點(diǎn)在可用帶寬內(nèi)的使用成本);一條邊容量為無窮大,邊費(fèi)用為 MAXC0ST1 (網(wǎng)絡(luò)節(jié)點(diǎn)超過可用帶寬的使用成本),其中ABILITYC0ST1 < MAXC0ST1 ;2. B類點(diǎn)由每個(gè)生產(chǎn)者組成,它與其歸屬的A類點(diǎn)之間有三條邊相連一條邊容 量為生產(chǎn)者的當(dāng)前使用帶寬,邊費(fèi)用為0 ; —條邊容量為生產(chǎn)者的最大可用帶寬,邊費(fèi)用 為ABILITYC0ST2(生產(chǎn)者在可用帶寬內(nèi)的使用成本);一條邊容量為無窮大,邊費(fèi)用為 MAXC0ST2 (生產(chǎn)者超過可用帶寬的使用成本),其中ABILITYC0ST2 < MAXC0ST2 ;3. C類點(diǎn)由每個(gè)公網(wǎng)區(qū)域組成它一邊與匯點(diǎn)連接,邊的容量為系統(tǒng)當(dāng)前使用的 帶寬量X (對(duì)應(yīng)的公網(wǎng)區(qū)域的當(dāng)前鏈接數(shù)/系統(tǒng)的當(dāng)前鏈接數(shù)),邊費(fèi)用為0 ;另一邊與生 產(chǎn)者相連,邊容量為系統(tǒng)當(dāng)前使用的帶寬量X (對(duì)應(yīng)的公網(wǎng)區(qū)域的當(dāng)前鏈接數(shù)/系統(tǒng)的當(dāng) 前鏈接數(shù)),邊費(fèi)用為該區(qū)域到該生產(chǎn)者間的距離指數(shù)。其中ABILITYC0ST1 = 1000,MAXC0ST1 = 5000,ABILITYC0ST1 = 1000,MAXC0ST1 =2000。其中作為邊費(fèi)用的公網(wǎng)區(qū)域到生產(chǎn)者之間的距離指數(shù)的計(jì)算方式是若公網(wǎng)區(qū)域可以用生產(chǎn)者覆蓋,則兩者之間的距離指數(shù)為TTX (I-LP) X 100X30%, TT是生產(chǎn)者所歸屬節(jié)點(diǎn)到指定公網(wǎng)區(qū)域的傳輸時(shí)間,LP是丟包率。步驟S104 :DNS機(jī)根據(jù)接收到的來自決策機(jī)的調(diào)度決策結(jié)果,按照IP歸屬區(qū)域的 調(diào)度決策結(jié)果做DNS調(diào)度實(shí)施。步驟S105 生產(chǎn)機(jī)根據(jù)接收到的來自決策機(jī)的調(diào)度決策結(jié)果,按照IP歸屬區(qū)域的 調(diào)度決策結(jié)果做URL的調(diào)度實(shí)施,對(duì)于理應(yīng)到其他生產(chǎn)機(jī)上下載的鏈接返回URL重定向調(diào) 度指示并停止為其服務(wù)。胃州牛補(bǔ)_紗細(xì)各列圖1示出了本發(fā)明的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng)的實(shí)施例的結(jié)構(gòu)。請(qǐng) 參見圖1,本實(shí)施例的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng)包括決策機(jī)100、DNS機(jī)110、111以及生產(chǎn)機(jī) 120、121、122這三類邏輯系統(tǒng)設(shè)備。系統(tǒng)架構(gòu)設(shè)計(jì)采用集中調(diào)度,分布實(shí)施的方式進(jìn)行。 所有的機(jī)器都可以分布在不同的網(wǎng)絡(luò)位置,它們通過公共的信令信道相互通訊完成技術(shù)方 案。在決策機(jī)、DNS機(jī)和生產(chǎn)機(jī)內(nèi)都有相同的信息交互模塊(分別為第一信息交互模塊、第 二信息交互模塊和第三信息交互模塊),專門用于與其他的模塊進(jìn)行通訊。先由DNS機(jī)110、111將統(tǒng)計(jì)、采集數(shù)據(jù)發(fā)送給決策機(jī)100,由生產(chǎn)機(jī)120、121、122 將統(tǒng)計(jì)、采集數(shù)據(jù)發(fā)送給決策機(jī)100,決策機(jī)100接收來自生產(chǎn)機(jī)120、121、122和DNS機(jī) IlOUll的統(tǒng)計(jì)、采集數(shù)據(jù)后執(zhí)行決策,并將調(diào)度決策結(jié)果發(fā)送到生產(chǎn)機(jī)120、121、122和 DNS 機(jī) 110、111。然后,DNS機(jī)110、111根據(jù)接收到的來自決策機(jī)100的調(diào)度決策結(jié)果為公網(wǎng)通用 DNS執(zhí)行第一次的DNS調(diào)度。生產(chǎn)機(jī)120、121、122根據(jù)接收到的來自決策機(jī)100的調(diào)度決 策結(jié)果為最終來訪的客戶端執(zhí)行第二次的URL調(diào)度。圖4示出了決策機(jī)的邏輯架構(gòu)。請(qǐng)參見圖4,決策機(jī)進(jìn)一步包括決策模塊和第一信 息交互模塊。其中第一信息交互模塊為共用模塊。決策模塊將生產(chǎn)機(jī)和DNS機(jī)發(fā)送過來的 來訪區(qū)域的分時(shí)統(tǒng)計(jì)下載次數(shù)、生產(chǎn)機(jī)的產(chǎn)能產(chǎn)量、節(jié)點(diǎn)的當(dāng)前使用量上限、節(jié)點(diǎn)到各來訪 區(qū)域的傳輸時(shí)間、丟包率這些數(shù)據(jù)作為輸入,評(píng)估計(jì)算各個(gè)區(qū)域由哪些生產(chǎn)機(jī)執(zhí)行覆蓋,并 將調(diào)度決策結(jié)果通過第一信息交互模塊反饋給生產(chǎn)機(jī)和DNS機(jī)。決策模塊通常是采用最小費(fèi)用最大流算法的建模方式來計(jì)算評(píng)估各個(gè)區(qū)域應(yīng)當(dāng) 由哪些生產(chǎn)機(jī)執(zhí)行覆蓋。在最小費(fèi)用最大流的算法中,需要輸入源點(diǎn)、匯點(diǎn)、從源點(diǎn)到匯點(diǎn)間的所有中間節(jié) 點(diǎn)以及所有節(jié)點(diǎn)之間的邊(包括邊的費(fèi)用和邊的容量)。以下是針對(duì)本實(shí)施例在最小費(fèi)用最大流算法中抽象出源點(diǎn)會(huì)匯點(diǎn)(這兩個(gè)節(jié)點(diǎn) 是抽象的且僅存在于算法中的節(jié)點(diǎn))以及與這兩個(gè)節(jié)點(diǎn)相連的三大類節(jié)點(diǎn)建模1.A類點(diǎn)為生產(chǎn)機(jī)組成的每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),它與源點(diǎn)有三條邊相連接一條邊容量 為生產(chǎn)者的當(dāng)前使用帶寬,邊費(fèi)用為0 ;—條邊容量為網(wǎng)絡(luò)節(jié)點(diǎn)的最大可用帶寬,邊費(fèi)用 為ABILITYC0ST1(網(wǎng)絡(luò)節(jié)點(diǎn)在可用帶寬內(nèi)的使用成本);一條邊容量為無窮大,邊費(fèi)用為 MAXC0ST1 (網(wǎng)絡(luò)節(jié)點(diǎn)超過可用帶寬的使用成本),其中ABILITYC0ST1 < MAXC0ST1 ;2. B類點(diǎn)由每個(gè)生產(chǎn)者組成,它與其歸屬的A類點(diǎn)之間有三條邊相連一條邊容 量為生產(chǎn)者的當(dāng)前使用帶寬,邊費(fèi)用為0 ; —條邊容量為生產(chǎn)者的最大可用帶寬,邊費(fèi)用 為ABILITYC0ST2(生產(chǎn)者在可用帶寬內(nèi)的使用成本);一條邊容量為無窮大,邊費(fèi)用為MAXC0ST2(生產(chǎn)者超過可用帶寬的使用成本),其中ABILITYC0ST2 < MAXC0ST2 ;3. C類點(diǎn)由每個(gè)公網(wǎng)區(qū)域組成它一邊與匯點(diǎn)連接,邊的容量為系統(tǒng)當(dāng)前使用的 帶寬量X (對(duì)應(yīng)的公網(wǎng)區(qū)域的當(dāng)前鏈接數(shù)/系統(tǒng)的當(dāng)前鏈接數(shù)),邊費(fèi)用為0 ;另一邊與生 產(chǎn)者相連,邊容量為系統(tǒng)當(dāng)前使用的帶寬量X (對(duì)應(yīng)的公網(wǎng)區(qū)域的當(dāng)前鏈接數(shù)/系統(tǒng)的當(dāng) 前鏈接數(shù)),邊費(fèi)用為該區(qū)域到該生產(chǎn)者間的距離指數(shù)。其中ABILITYC0ST1 = 1000,MAXC0ST1 = 5000,ABILITYC0ST1 = 1000,MAXC0ST1 =2000。其中作為邊費(fèi)用的公網(wǎng)區(qū)域到生產(chǎn)者之間的距離指數(shù)的計(jì)算方式是若公網(wǎng)區(qū)域可以用生產(chǎn)者覆蓋,則兩者之間的距離指數(shù)為 TTX (I-LP) X 100X30%, TT是生產(chǎn)者所歸屬節(jié)點(diǎn)到指定公網(wǎng)區(qū)域的傳輸時(shí)間,LP是丟包率。對(duì)于第一信息交互模塊的實(shí)現(xiàn)(下述的第二信息交互模塊和第三信息交互模塊 的原理是一樣的),是在各個(gè)機(jī)器之間通過UDP協(xié)議交互。其是由接收線程處理單元和發(fā)送 線程處理單元兩部分組成,如圖7所示,接收線程處理單元專門用于接收外來數(shù)據(jù),按規(guī)則 執(zhí)行分揀,將有用的數(shù)據(jù)保持在緩沖中待其他模塊調(diào)用。接收線程處理單元的處理過程是 等待接收UDP數(shù)據(jù)包,檢查數(shù)據(jù)是否合法,在數(shù)據(jù)合法的前提下將UDP數(shù)據(jù)包中的數(shù)據(jù)保存 在緩沖結(jié)構(gòu)體中。發(fā)送線程處理單元專門用于把本地?cái)?shù)據(jù)組包按規(guī)則可靠的發(fā)送到指定目 標(biāo)。發(fā)送線程處理單元的處理過程是等待發(fā)送緩沖中出現(xiàn)需要發(fā)送的數(shù)據(jù),然后發(fā)送準(zhǔn)備 好的數(shù)據(jù),最后從發(fā)送緩沖中刪除已發(fā)送的數(shù)據(jù)。在決策機(jī)內(nèi)部的第一信息交互模塊用于收集生產(chǎn)機(jī)和DNS機(jī)兩方面發(fā)送過來的 統(tǒng)計(jì)和采集數(shù)據(jù)并轉(zhuǎn)交到?jīng)Q策模塊,將決策模塊的決策結(jié)果發(fā)送到DNS機(jī)和生產(chǎn)機(jī)。而DNS 機(jī)中的第二信息交互模塊和生產(chǎn)機(jī)中的第三信息交互模塊均用于上報(bào)本機(jī)統(tǒng)計(jì)的來訪記 錄以及采集的各類數(shù)據(jù)到?jīng)Q策機(jī),并獲取決策機(jī)發(fā)布的最新的調(diào)度策略。圖5示出了 DNS機(jī)的邏輯架構(gòu)。如圖5所示,DNS機(jī)包括第二信息交互模塊和DNS 響應(yīng)模塊。DNS響應(yīng)模塊將占用本機(jī)的UDP和TCP端口,提供標(biāo)準(zhǔn)的內(nèi)容下載所涉及的域名 的DNS授權(quán)查詢服務(wù)。在接收到相關(guān)域名查詢時(shí),將向第二信息交互模塊檢索來源DNS IP 所在區(qū)域的最新覆蓋記錄,根據(jù)記錄中所指定的目標(biāo)生產(chǎn)機(jī)創(chuàng)建DNS應(yīng)答包執(zhí)行響應(yīng)。同 時(shí)統(tǒng)計(jì)該區(qū)域來查的次數(shù)及響應(yīng)結(jié)果信息,將統(tǒng)計(jì)信息交由第二信息交互模塊發(fā)送到?jīng)Q策 機(jī)匯總。圖6示出了生產(chǎn)機(jī)的邏輯架構(gòu)。如圖6所示,生產(chǎn)機(jī)進(jìn)一步包括第三信息交互模 塊、采集模塊和HTTP響應(yīng)模塊。第三信息交互模塊負(fù)責(zé)與決策機(jī)執(zhí)行信息交互。采集模塊 采集與本生產(chǎn)機(jī)所在的網(wǎng)絡(luò)節(jié)點(diǎn)相關(guān)的流量容量信息并通過第三信息交互模塊發(fā)送到?jīng)Q 策機(jī)。采集模塊進(jìn)一步包括網(wǎng)絡(luò)節(jié)點(diǎn)帶寬采集單元和網(wǎng)絡(luò)性能采集單元。網(wǎng)絡(luò)節(jié)點(diǎn)帶寬采集單元用于采集網(wǎng)絡(luò)節(jié)點(diǎn)的帶寬使用量,定期(例如10秒)向網(wǎng) 絡(luò)節(jié)點(diǎn)上安裝的最外層交換機(jī)上發(fā)送簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議采集指令(SNMP,Simple Network Management Protocol),采集所有最外層上聯(lián)口的流量信息,將采集得到的流量初步加工 處理成當(dāng)前的帶寬量。當(dāng)前的帶寬量計(jì)算為帶寬=(當(dāng)前采集流量-上次采集流量)/(當(dāng) 前時(shí)間點(diǎn)-上次采集時(shí)間點(diǎn))。網(wǎng)絡(luò)性能采集單元用于采集網(wǎng)絡(luò)節(jié)點(diǎn)到公網(wǎng)各個(gè)網(wǎng)絡(luò)區(qū)域的網(wǎng)絡(luò)傳輸時(shí)間和丟包率。對(duì)于每個(gè)已劃分的網(wǎng)絡(luò)區(qū)域分別先行挑選一些可ping通的相對(duì)穩(wěn)定的樣本IP(每 個(gè)網(wǎng)絡(luò)區(qū)域50個(gè)),按指定周期向所有樣本IP發(fā)送16個(gè)ICMP探測(cè)包,根據(jù)發(fā)包與返回包 之間的時(shí)間間隔和是否收到回包的情況計(jì)算出每個(gè)樣本IP到本網(wǎng)絡(luò)節(jié)點(diǎn)的傳輸時(shí)間和丟 包率。定期(5分鐘)對(duì)所有的樣本IP執(zhí)行探測(cè),并為每個(gè)網(wǎng)絡(luò)區(qū)域按其內(nèi)部樣本點(diǎn)的探 測(cè)結(jié)果計(jì)算均值得到該網(wǎng)絡(luò)區(qū)域到本網(wǎng)絡(luò)節(jié)點(diǎn)的傳輸時(shí)間和丟包率均值。HTTP響應(yīng)模塊將占用本機(jī)HTTP服務(wù)相關(guān)端口,提供HTTP文件內(nèi)容下載服務(wù)和 URL重定向服務(wù)。在接收到相關(guān)URL下載請(qǐng)求時(shí),將向信息交互模塊檢索來源IP所在區(qū)域 的最新覆蓋記錄,若本生產(chǎn)機(jī)正好有在規(guī)定覆蓋范圍內(nèi)則按通常下載文件方式返回下載文 件響應(yīng),若本生產(chǎn)機(jī)并沒有在規(guī)定覆蓋范圍內(nèi),則在規(guī)定覆蓋生產(chǎn)機(jī)范圍內(nèi)挑選一臺(tái)生產(chǎn) 機(jī)作為重定向目標(biāo),向URL請(qǐng)求客戶端返回一個(gè)URL重定向頁面指向最終的重定向生產(chǎn)機(jī)。 同時(shí)統(tǒng)計(jì)該區(qū)域來查的次數(shù)及響應(yīng)結(jié)果信息,將統(tǒng)計(jì)信息交由信息交互模塊發(fā)送到?jīng)Q策機(jī) /匸總ο本發(fā)明的優(yōu)點(diǎn)是決策機(jī)用于產(chǎn)生最終的覆蓋決策,生產(chǎn)機(jī)是為客戶服務(wù)的服務(wù) 器,其可接受決策機(jī)的調(diào)度,將不合理的來訪客戶端引導(dǎo)到更合理的生產(chǎn)機(jī)上訪問的機(jī)制。 對(duì)比現(xiàn)有技術(shù),本發(fā)明可以精確控制每個(gè)鏈接的訪問,從整體上提高文件下載加速體系的 服務(wù)質(zhì)量。上述實(shí)施例是提供給本領(lǐng)域普通技術(shù)人員來實(shí)現(xiàn)或使用本發(fā)明的,本領(lǐng)域普通技 術(shù)人員可在不脫離本發(fā)明的發(fā)明思想的情況下,對(duì)上述實(shí)施例做出種種修改或變化,因而 本發(fā)明的保護(hù)范圍并不被上述實(shí)施例所限,而應(yīng)該是符合權(quán)利要求書提到的創(chuàng)新性特征的 最大范圍。
權(quán)利要求
1.一種基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法,該方法應(yīng)用在由決策機(jī)、DNS機(jī)和生 產(chǎn)機(jī)所組成的網(wǎng)絡(luò)系統(tǒng)中,該方法包括步驟1 決策機(jī)在收集DNS機(jī)和生產(chǎn)機(jī)的統(tǒng)計(jì)、采集數(shù)據(jù)后執(zhí)行決策,并將調(diào)度決策結(jié) 果發(fā)送到DNS機(jī)和生產(chǎn)機(jī);步驟2 =DNS機(jī)根據(jù)接收到的調(diào)度決策結(jié)果為公網(wǎng)通用DNS執(zhí)行第一次的DNS調(diào)度;步驟3 生產(chǎn)機(jī)根據(jù)接收到的調(diào)度決策結(jié)果為最終來訪的客戶端執(zhí)行第二次的URL調(diào)度。
2.根據(jù)權(quán)利要求1所述的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法,其特征在于,步驟1 進(jìn)一步包括DNS機(jī)按照IP歸屬區(qū)域統(tǒng)計(jì)來訪的DNS請(qǐng)求次數(shù),定期向決策機(jī)報(bào)告該DNS請(qǐng)求次數(shù) 的數(shù)據(jù);生產(chǎn)機(jī)按照IP歸屬區(qū)域統(tǒng)計(jì)來訪請(qǐng)求下載資源的次數(shù),定期向決策機(jī)報(bào)告自身的服 務(wù)狀態(tài)、來訪下載次數(shù)數(shù)據(jù)、生產(chǎn)機(jī)到各個(gè)IP歸屬區(qū)域的網(wǎng)絡(luò)狀態(tài)、機(jī)房狀態(tài);決策機(jī)匯總DNS機(jī)、生產(chǎn)機(jī)送達(dá)的數(shù)據(jù),計(jì)算評(píng)估每個(gè)區(qū)域應(yīng)當(dāng)由哪些生產(chǎn)機(jī)執(zhí)行覆 蓋,并將調(diào)度決策結(jié)果反饋給DNS機(jī)和生產(chǎn)機(jī)。
3.根據(jù)權(quán)利要求2所述的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法,其特征在于,步驟2 進(jìn)一步包括DNS機(jī)根據(jù)接收到的來自決策機(jī)的調(diào)度決策結(jié)果,按照IP歸屬區(qū)域的調(diào)度決策結(jié)果做 DNS調(diào)度實(shí)施。
4.根據(jù)權(quán)利要求2所述的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法,其特征在于,步驟3 進(jìn)一步包括生產(chǎn)機(jī)根據(jù)接收到的來自決策機(jī)的調(diào)度決策結(jié)果,按照IP歸屬區(qū)域的調(diào)度決策結(jié)果 做URL的調(diào)度實(shí)施,對(duì)于理應(yīng)到其他生產(chǎn)機(jī)上下載的鏈接返回URL重定向調(diào)度指示并停止 為其服務(wù)。
5.根據(jù)權(quán)利要求2所述的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法,其特征在于,對(duì)于 計(jì)算評(píng)估每個(gè)區(qū)域應(yīng)當(dāng)由哪些生產(chǎn)機(jī)執(zhí)行覆蓋是采用最小費(fèi)用最大流算法來建模。
6.根據(jù)權(quán)利要求5所述的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法,其特征在于,在最 小費(fèi)用最大流算法的建模過程中,包括了對(duì)算法中涉及的源點(diǎn)、匯點(diǎn)以及與源點(diǎn)和匯點(diǎn)相 連的三類節(jié)點(diǎn)的建模,其中第一類節(jié)點(diǎn)為生產(chǎn)機(jī)組成的每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),第一類節(jié)點(diǎn)與源點(diǎn)有三條邊相連接, 其中第一類節(jié)點(diǎn)與源點(diǎn)連接的第一條邊的邊容量為生產(chǎn)者的當(dāng)前使用帶寬,其邊費(fèi)用為0 ; 第一類節(jié)點(diǎn)與源點(diǎn)連接的第二條邊的邊容量為網(wǎng)絡(luò)節(jié)點(diǎn)的最大可用帶寬,其邊費(fèi)用為網(wǎng)絡(luò) 節(jié)點(diǎn)在可用帶寬內(nèi)的使用成本;第一類節(jié)點(diǎn)與源點(diǎn)連接的第三條邊的邊容量為無窮大,其 邊費(fèi)用為網(wǎng)絡(luò)節(jié)點(diǎn)超過可用帶寬的使用成本,其中網(wǎng)絡(luò)節(jié)點(diǎn)在可用帶寬內(nèi)的使用成本小于 網(wǎng)絡(luò)節(jié)點(diǎn)超過可用帶寬的使用成本;第二類節(jié)點(diǎn)由每個(gè)生產(chǎn)者組成,第二類節(jié)點(diǎn)與其歸屬的第一類節(jié)點(diǎn)之間有三條邊相連 接,其中第二類節(jié)點(diǎn)與其歸屬的第一類節(jié)點(diǎn)相連接的第一條邊的邊容量為生產(chǎn)者的當(dāng)前使 用帶寬,其邊費(fèi)用為0 ;第二類節(jié)點(diǎn)與其歸屬的第一類節(jié)點(diǎn)相連接的第二條邊的邊容量為 生產(chǎn)者的最大可用帶寬,其邊費(fèi)用為生產(chǎn)者在可用帶寬內(nèi)的使用成本;第二類節(jié)點(diǎn)與其歸屬的第一類節(jié)點(diǎn)相連接的第三條邊的邊容量為無窮大,其邊費(fèi)用為生產(chǎn)者超過可用帶寬的 使用成本,其中生產(chǎn)者在可用帶寬內(nèi)的使用成本小于生產(chǎn)者超過可用帶寬的使用成本;第三類節(jié)點(diǎn)由每個(gè)公網(wǎng)區(qū)域組成,第三類節(jié)點(diǎn)的一邊與匯點(diǎn)連接,其對(duì)應(yīng)的邊容量 為系統(tǒng)當(dāng)前使用的帶寬量X(對(duì)應(yīng)的公網(wǎng)區(qū)域的當(dāng)前鏈接數(shù)/系統(tǒng)的當(dāng)前鏈接數(shù)),其 邊費(fèi)用為0,第三類節(jié)點(diǎn)的另一邊與生產(chǎn)者相連,其對(duì)應(yīng)的邊容量為系統(tǒng)當(dāng)前使用的帶寬 量X (對(duì)應(yīng)的公網(wǎng)區(qū)域的當(dāng)前鏈接數(shù)/系統(tǒng)的當(dāng)前鏈接數(shù)),其邊費(fèi)用為公網(wǎng)區(qū)域到生產(chǎn)者 之間的距離指數(shù)。
7.根據(jù)權(quán)利要求6所述的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法,其特征在于,公網(wǎng) 區(qū)域到生產(chǎn)者之間的距離指數(shù)的計(jì)算方式是若公網(wǎng)區(qū)域可以用生產(chǎn)者覆蓋,則兩者之間的距離指數(shù)為TT X (I-LP) X 100 X 30 %,TT 是生產(chǎn)者所歸屬節(jié)點(diǎn)到指定公網(wǎng)區(qū)域的傳輸時(shí)間,LP是丟包率。
8.一種基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng),用于網(wǎng)絡(luò)中文件下載的帶寬分配,該 系統(tǒng)包括相互之間建有通訊連接的決策機(jī)、DNS機(jī)和生產(chǎn)機(jī),其中決策機(jī),接收來自生產(chǎn)機(jī)和DNS機(jī)的統(tǒng)計(jì)、采集數(shù)據(jù)后執(zhí)行決策,并將調(diào)度決策結(jié)果發(fā) 送到DNS機(jī)和生產(chǎn)機(jī);DNS機(jī),一方面將統(tǒng)計(jì)、采集數(shù)據(jù)發(fā)送給決策機(jī),一方面根據(jù)接收到的來自決策機(jī)的調(diào) 度決策結(jié)果為公網(wǎng)通用DNS執(zhí)行第一次的DNS調(diào)度;生產(chǎn)機(jī),一方面將統(tǒng)計(jì)、采集數(shù)據(jù)發(fā)送給決策機(jī),一方面根據(jù)接收到的來自決策機(jī)的調(diào) 度決策結(jié)果為最終來訪的客戶端執(zhí)行第二次的URL調(diào)度。
9.根據(jù)權(quán)利要求8所述的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng),其特征在于,該決 策機(jī)進(jìn)一步包括第一信息交互模塊,和與自身進(jìn)行數(shù)據(jù)通訊的DNS機(jī)和生產(chǎn)機(jī)進(jìn)行信息交互操作;決策模塊,通過該第一信息交互模塊匯總來自DNS機(jī)的DNS請(qǐng)求次數(shù)的數(shù)據(jù),以及來自 生產(chǎn)機(jī)的生產(chǎn)機(jī)服務(wù)狀態(tài)、來訪下載次數(shù)數(shù)據(jù)、生產(chǎn)機(jī)到各個(gè)IP歸屬區(qū)域的網(wǎng)絡(luò)狀態(tài)、機(jī) 房狀態(tài),計(jì)算評(píng)估各個(gè)區(qū)域應(yīng)當(dāng)由哪些生產(chǎn)機(jī)執(zhí)行覆蓋,并將調(diào)度決策結(jié)果通過該第一信 息交互模塊反饋給DNS機(jī)和生產(chǎn)機(jī)。
10.根據(jù)權(quán)利要求9所述的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng),其特征在于,該 DNS機(jī)進(jìn)一步包括第二信息交互模塊,與決策機(jī)執(zhí)行信息交互;DNS響應(yīng)模塊,根據(jù)接收到的來自決策機(jī)的調(diào)度決策結(jié)果,按照IP歸屬區(qū)域的調(diào)度決 策結(jié)果做DNS調(diào)度實(shí)施。
11.根據(jù)權(quán)利要求9所述的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng),其特征在于,該生 產(chǎn)機(jī)進(jìn)一步包括第三信息交互模塊,與決策機(jī)執(zhí)行信息交互;采集模塊,采集與本生產(chǎn)機(jī)所在的網(wǎng)絡(luò)節(jié)點(diǎn)相關(guān)的流量容量信息并通過該第三信息交 互模塊發(fā)送到?jīng)Q策機(jī);HTTP響應(yīng)模塊,服務(wù)來訪的HTTP下載請(qǐng)求,依照來自決策機(jī)的調(diào)度決策結(jié)果對(duì)每個(gè) URL請(qǐng)求判定是否在本地提供下載服務(wù),如果不是在本地提供下載服務(wù)則返回URL重定向 頁面通知客戶端到指定的生產(chǎn)機(jī)上執(zhí)行下載任務(wù)。
12.根據(jù)權(quán)利要求9所述的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng),其特征在于,該決 策模塊采用最小費(fèi)用最大流算法的建模方式來計(jì)算評(píng)估各個(gè)區(qū)域應(yīng)當(dāng)由哪些生產(chǎn)機(jī)執(zhí)行覆蓋。
13.根據(jù)權(quán)利要求11所述的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng),其特征在于,該 采集模塊包括網(wǎng)絡(luò)節(jié)點(diǎn)帶寬采集單元,用于采集網(wǎng)絡(luò)節(jié)點(diǎn)的帶寬使用量,定期向網(wǎng)絡(luò)節(jié)點(diǎn)上安裝的 最外層交換機(jī)上發(fā)送簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議采集指令,采集所有最外層上聯(lián)口的流量信息,將 采集得到的流量初步加工處理成當(dāng)前的帶寬量;網(wǎng)絡(luò)性能采集單元,采集網(wǎng)絡(luò)節(jié)點(diǎn)到公網(wǎng)各個(gè)網(wǎng)絡(luò)區(qū)域的網(wǎng)絡(luò)傳輸時(shí)間和丟包率。
14.根據(jù)權(quán)利要求9、10或11所述的基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度系統(tǒng),其特征在 于,該第一信息交互模塊、該第二信息交互模塊或該第三信息交互模塊均包含接收線程處理單元,等待接收UDP數(shù)據(jù)包,檢查數(shù)據(jù)是否合法,在數(shù)據(jù)合法的前提下將 UDP數(shù)據(jù)包中的數(shù)據(jù)保存在緩沖結(jié)構(gòu)體中;發(fā)送線程處理單元,等待發(fā)送緩沖中出現(xiàn)需要發(fā)送的數(shù)據(jù),然后發(fā)送準(zhǔn)備好的數(shù)據(jù),最 后從發(fā)送緩沖中刪除已發(fā)送的數(shù)據(jù)。
全文摘要
本發(fā)明公開了基于文件下載的內(nèi)容分發(fā)網(wǎng)絡(luò)調(diào)度方法和系統(tǒng),精確控制每個(gè)鏈接的訪問,從而從整體上提高文件下載加速體系的服務(wù)質(zhì)量。其技術(shù)方案為方法包括決策機(jī)在收集DNS機(jī)和生產(chǎn)機(jī)的統(tǒng)計(jì)、采集數(shù)據(jù)后執(zhí)行決策,并將調(diào)度決策結(jié)果發(fā)送到DNS機(jī)和生產(chǎn)機(jī);DNS機(jī)根據(jù)接收到的調(diào)度決策結(jié)果為公網(wǎng)通用DNS執(zhí)行第一次的DNS調(diào)度;生產(chǎn)機(jī)根據(jù)接收到的調(diào)度決策結(jié)果為最終來訪的客戶端執(zhí)行第二次的URL調(diào)度。
文檔編號(hào)H04L29/08GK102065142SQ20101060770
公開日2011年5月18日 申請(qǐng)日期2010年12月23日 優(yōu)先權(quán)日2010年12月23日
發(fā)明者洪珂, 牛榮利, 陳彧輝 申請(qǐng)人:網(wǎng)宿科技股份有限公司