国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種高性價(jià)比的cdn系統(tǒng)及文件預(yù)推、分片緩存的方法

      文檔序號:9219833閱讀:1305來源:國知局
      一種高性價(jià)比的cdn系統(tǒng)及文件預(yù)推、分片緩存的方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)、用于提高1子系統(tǒng)的性能的技術(shù)領(lǐng)域,尤其涉及一種高性價(jià)比的CDN系統(tǒng)及文件預(yù)推、分片緩存的方法。
      【背景技術(shù)】
      [0002]CDN的全稱是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)。其基本思路是盡可能避開互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié),使內(nèi)容傳輸?shù)酶臁⒏€(wěn)定。通過在網(wǎng)絡(luò)各地放置節(jié)點(diǎn)服務(wù)器所構(gòu)成的在現(xiàn)有的互聯(lián)網(wǎng)基礎(chǔ)之上的一層智能虛擬網(wǎng)絡(luò),CDN系統(tǒng)能夠?qū)崟r(shí)地根據(jù)網(wǎng)綴流量和各節(jié)點(diǎn)的連接、負(fù)載狀況以及到用戶的距離和響應(yīng)時(shí)間等綜合信息將用戶的請求重新導(dǎo)向離用戶最近的服務(wù)節(jié)點(diǎn)上。其目的是使用戶可就近取得所需內(nèi)容,解決Internet網(wǎng)絡(luò)擁擠的狀況,提高用戶訪問網(wǎng)站的響應(yīng)速度。
      [0003]目前,⑶N系統(tǒng)都使用反向代理緩存服務(wù)器處理用戶請求。其工作原理是在文件的第一次請求時(shí),被動回源拉取文件,響應(yīng)用戶的請求的同時(shí),將文件存放在本地緩存。以后的請求將直接由本地緩存吐出。目前常見的開源緩存服務(wù)器,如Squid等,對小文件服務(wù)良好。但對大文件服務(wù)的效果不好,主要原因在于客戶請求大文件時(shí),往往未等待文件下載完畢就中斷連接,這時(shí)緩存服務(wù)器將放棄對該文件的緩存,以后的請求將一直回源,直至到有一次完整下載為止。雖然有選項(xiàng)可以忽略用戶中止繼續(xù)回源,但這樣又可能浪費(fèi)回源帶寬。同時(shí)大文件的請求很可能是分片請求,這時(shí)Squid等又將直接回源,而不能緩存文件。
      [0004]另外,節(jié)點(diǎn)內(nèi)的緩存服務(wù)器被DNS調(diào)度,同一條URL可能均勻打到節(jié)點(diǎn)內(nèi)每臺緩存服務(wù)器上,這樣導(dǎo)致同一個(gè)文件在節(jié)點(diǎn)內(nèi)重復(fù)存儲,變相于降低整個(gè)節(jié)點(diǎn)的存儲空間,導(dǎo)致冷門文件頻繁被淘汰,增加回源帶寬。

      【發(fā)明內(nèi)容】

      [0005]本發(fā)明的目的在于提供一種高性價(jià)比的CDN系統(tǒng)及文件預(yù)推、分片緩存的方法,從而解決現(xiàn)有技術(shù)中存在的前述問題。
      [0006]為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:
      [0007]一種高性價(jià)比的⑶N系統(tǒng),包括:
      [0008]文件預(yù)推后臺:用于記錄客戶的文件預(yù)推請求,還用于將文件預(yù)推請求進(jìn)行轉(zhuǎn)換處理后,發(fā)送至一個(gè)或多個(gè)緩存節(jié)點(diǎn);
      [0009]緩存節(jié)點(diǎn):包括一個(gè)Linux虛擬服務(wù)器和多臺緩存服務(wù)器,多臺所述緩存服務(wù)器分別與所述Linux虛擬服務(wù)器數(shù)據(jù)連接;
      [0010]Linux虛擬服務(wù)器:用于挑選一臺緩存服務(wù)器,還用于將所述文件預(yù)推后臺發(fā)送的文件預(yù)推請求轉(zhuǎn)發(fā)到挑選出的緩存服務(wù)器上;
      [0011]緩存服務(wù)器:包括一致性Hash模塊、多層存儲系統(tǒng)和回源代理模塊;所述一致性Hash模塊用于接收所述Linux虛擬服務(wù)器轉(zhuǎn)發(fā)的文件預(yù)推請求,并根據(jù)文件預(yù)推請求URL,使用一致性Hash算法確定存儲預(yù)推文件的緩存服務(wù)器的地址和磁盤號;所述多層存儲系統(tǒng)用于文件的調(diào)度存儲;所述回源代理模塊用于通過分片緩存的方式處理回源請求。
      [0012]進(jìn)一步地,所述緩存服務(wù)器還包括業(yè)務(wù)接入層,所述業(yè)務(wù)接入層用于滿足用戶的個(gè)性化需求。
      [0013]可選地,所述文件預(yù)推后臺采用如下方法實(shí)現(xiàn):
      [0014]Al,通過任務(wù)接入接口接收客戶發(fā)送的需要預(yù)推的任務(wù),并存入數(shù)據(jù)庫;
      [0015]A2,定時(shí)從數(shù)據(jù)庫中讀取需要分發(fā)的任務(wù),并發(fā)送到所有的緩存節(jié)點(diǎn)上;
      [0016]A3,定時(shí)從數(shù)據(jù)庫中讀取需要進(jìn)行回調(diào)的任務(wù),將任務(wù)的完成狀態(tài)發(fā)送到客戶提供的任務(wù)回調(diào)接口;
      [0017]A4,任務(wù)回調(diào)接口接收任務(wù)的完成狀態(tài)的信息,并在后臺顯示每個(gè)緩存節(jié)點(diǎn)的任務(wù)完成情況。
      [0018]可選地,所述Linux虛擬服務(wù)器采用如下方法實(shí)現(xiàn):Linux虛擬服務(wù)器使用RoundRobin算法,挑選一臺緩存服務(wù)器,再將文件預(yù)推請求轉(zhuǎn)發(fā)到該臺挑選好的緩存服務(wù)器上。
      [0019]可選地,所述一致性Hash模塊采用如下方法實(shí)現(xiàn):
      [0020]一致性Hash模塊按以下格式保存緩存服務(wù)器的地址和磁盤號:
      [0021]192.168.0.1/datal
      [0022]192.168.0.l/data2
      [0023]192.168.0.l/data3
      [0024]…
      [0025]192.168.0.10/datal
      [0026]192.168.0.10/data2
      [0027]192.168.0.10/data3
      [0028]其中,datal、data2和data3均為對應(yīng)緩存服務(wù)器上的磁盤掛載目錄,以預(yù)推請求URL為Key,使用一致性Hash算法,確定URL對應(yīng)的緩存服務(wù)器的地址和磁盤號,修改URL,加上服務(wù)域名和磁盤號,并代理到緩存服務(wù)器的地址上。
      [0029]可選地,所述多層存儲系統(tǒng)包括:內(nèi)存盤、SSD和機(jī)械硬盤。
      [0030]可選地,所述多層存儲系統(tǒng)采用如下方法實(shí)現(xiàn)調(diào)度存儲:
      [0031]BI,統(tǒng)計(jì)設(shè)定時(shí)間段內(nèi)每個(gè)文件的訪問熱度;
      [0032]B2,按訪問熱度從高到低的順序?qū)λ形募M(jìn)行排序,并劃分為最熱文件、次熱文件和冷門文件;
      [0033]B3,將最熱文件裝載到內(nèi)存盤中,次熱文件裝載到SSD中,冷門文件存放在機(jī)械硬盤中。
      [0034]一種利用上述高性價(jià)比的⑶N系統(tǒng)進(jìn)行文件預(yù)推的方法,包括如下步驟:
      [0035]Cl,文件預(yù)推后臺將文件預(yù)推請求發(fā)送至Linux虛擬服務(wù)器;
      [0036]C2,Linux虛擬服務(wù)器將文件預(yù)推請求轉(zhuǎn)發(fā)到節(jié)點(diǎn)內(nèi)的一臺緩存服務(wù)器上;
      [0037]C3,緩存服務(wù)器根據(jù)文件預(yù)推請求URL,使用一致性Hash算法確定存儲預(yù)推文件的本地緩存服務(wù)器的地址和磁盤號;
      [0038]C4,根據(jù)文件預(yù)推請求,調(diào)用文件拉取程序,將預(yù)推文件由上級源拉回裝載到本地緩存服務(wù)器中。
      [0039]可選地,B4中,所述調(diào)用文件拉取程序,將預(yù)推文件由上級源拉回裝載到本地緩存服務(wù)器中,包括如下步驟:
      [0040]D1,接收文件拉取請求,所述文件拉取請求包括請求URL、文件存儲路徑、回調(diào)標(biāo)志位和/或源IP、源URL以及文件校驗(yàn)碼;
      [0041]D2,判斷源IP是否存在,如果存在,則使用源IP替換請求URL中的服務(wù)器地址回源,否則,使用本地緩存服務(wù)器的回源代理模塊的地址回源或轉(zhuǎn)到D3 ;
      [0042]D3,判斷源URL是否存在,如果存在,則使用源URL替代請求URL回源,否則,使用本地緩存服務(wù)器的回源代理模塊的地址回源;
      [0043]D4,發(fā)起文件獲取請求,并判斷請求是否成功,如果成功,則拉回文件并轉(zhuǎn)到D5,否則,轉(zhuǎn)到D7 ;
      [0044]D5,判斷所述文件拉取請求中是否存在文件校驗(yàn)碼,如果存在,則執(zhí)行D6,否則,轉(zhuǎn)到D7 ;
      [0045]D6,將文件拉取請求中的文件校驗(yàn)碼與拉回文件的校驗(yàn)碼進(jìn)行比較,如果文件拉取請求中的文件校驗(yàn)碼與拉回文件的校驗(yàn)碼不一致,則刪除拉回文件;否則,保留拉回文件,并轉(zhuǎn)到D7 ;
      [0046]D7,向文件預(yù)推后臺回報(bào)文件拉取任務(wù)完成情況。
      [0047]一種利用上述高性價(jià)比的⑶N系統(tǒng)分片緩存的方法,包括如下步驟:
      [0048]E1,判斷緩存服務(wù)器中是否已經(jīng)存儲文件的大小信息,如果是,則轉(zhuǎn)到E3,否則,繼續(xù);
      [0049]E2,使用HTTP HEAD請求回源,返回響應(yīng)頭,捕獲響應(yīng)頭里的Content-Length字段,確定文件的大?。?br>[0050]E3,按照設(shè)定的分片大小,對文件構(gòu)造多個(gè)分片;
      [0051]E4,判斷分片是否存在于本地緩存服務(wù)器中,如存在,則直接取出;如不存在,則構(gòu)造帶Range頭的HTTP GET請求,Range頭指示所需的文件分片字節(jié)偏移,請求回來所需分片;
      [0052]E5,拼接全部分片,響應(yīng)用戶請求。
      [0053]本發(fā)明的有益效果是:本發(fā)明的目的是提供一種能同時(shí)服務(wù)于大文件和小文件的CDN系統(tǒng),主要針對現(xiàn)有技術(shù)中的CDN系統(tǒng)對小文件服務(wù)良好,但是對大文件服務(wù)中存在的回源帶寬高,存儲空間浪費(fèi)等問題,構(gòu)建了一種CDN系統(tǒng),通過利用該系統(tǒng)中的文件預(yù)推后臺和帶有一致性Hash模塊的緩存服務(wù)器,實(shí)現(xiàn)了大文件主動預(yù)推,同時(shí),通過利用回源代理模塊,實(shí)現(xiàn)了大文件分片緩存,有效地降低了系統(tǒng)服務(wù)中每個(gè)文件使用的回源帶寬和存儲空間,提高了資源使用率,降低了使用成本;另外,本發(fā)明中,通過多層存儲系統(tǒng),有效地提高了系統(tǒng)整體的存儲性能,進(jìn)一步提高了系統(tǒng)的服務(wù)性能。
      【附圖說明】
      [0054]圖1是本發(fā)明實(shí)施例一提供的CDN系統(tǒng)的整體結(jié)構(gòu)示意圖;
      [0055]圖2是本發(fā)明實(shí)施例一提供的緩存服務(wù)器的結(jié)構(gòu)示意圖;
      [0056]圖3
      當(dāng)前第1頁1 2 3 4 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1