国产精品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>

      一種數(shù)據(jù)下載系統(tǒng)及方法

      文檔序號:8383849閱讀:379來源:國知局
      一種數(shù)據(jù)下載系統(tǒng)及方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)下載系統(tǒng)及方法。
      【背景技術(shù)】
      [0002]隨著信息技術(shù)的發(fā)展,人們?nèi)找媪?xí)慣于通過網(wǎng)絡(luò)來獲取各種數(shù)據(jù)。例如,一種通常的方式就是通過數(shù)據(jù)下載系統(tǒng)來下載所需的內(nèi)容。
      [0003]目前使用較多的下載架構(gòu)主要有兩種,一種是傳統(tǒng)的⑶N(Content DeliveryNetwork,內(nèi)容分發(fā)網(wǎng)絡(luò))多層緩存架構(gòu),另一種是一般的視頻網(wǎng)站使用較多的下載架構(gòu)。
      [0004]CDN多層緩存架構(gòu)的示意圖如圖1所示,在這種架構(gòu)中,全局數(shù)據(jù)僅存儲在頂層源站設(shè)備中,每個邊緣服務(wù)節(jié)點由Nginx做反向代理,將請求轉(zhuǎn)給后端的Squid, Squid接到用戶請求后回源站抓取數(shù)據(jù)提供服務(wù),前端使用DNS方式進行負載均衡。這種架構(gòu)通常適用于整體數(shù)據(jù)量不大,且熱點集中的下載業(yè)務(wù)。
      [0005]視頻網(wǎng)站使用較多的下載架構(gòu)如圖2所示,在這種架構(gòu)中,全局建立若干分布式存儲集群,各集群間數(shù)據(jù)沒有冗余或冗余較低,使用基于HTTP (HyperText TransferProtocol,超文本傳輸協(xié)議)的第七層負載均衡設(shè)備對全局的Nginx服務(wù)器進行負載均衡。這種架構(gòu)通常適用于視頻下載業(yè)務(wù),整體并發(fā)度較低,多為連續(xù)讀取。
      [0006]但是現(xiàn)在一些場合(例如大型軟件、游戲等安裝程序下載等)中的下載服務(wù)通常有如下特點:存儲數(shù)據(jù)量大、文件數(shù)量大,且某部分業(yè)務(wù)用戶訪問熱點不集中等等。因此,迫切需要本領(lǐng)域技術(shù)人員解決的技術(shù)問題就在于,如何提供一種新的下載架構(gòu),能夠滿足上述要求。

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

      [0007]本發(fā)明提供了一種數(shù)據(jù)下載系統(tǒng)及方法,能夠滿足存儲數(shù)據(jù)量大、文件數(shù)量大,且某部分業(yè)務(wù)用戶訪問熱點不集中時的下載服務(wù)需求。
      [0008]本發(fā)明提供了如下方案:
      [0009]一種數(shù)據(jù)下載系統(tǒng),包括多個下載集群,每個下載集群中包括Linux虛擬服務(wù)器LVS、至少兩個下載節(jié)點Nginx以及一個分布式文件系統(tǒng)HDFS,所述Nginx的操作系統(tǒng)通過用戶空間文件系統(tǒng)FUSE掛載HDFS的存儲服務(wù);其中:
      [0010]所述LVS用于接收用戶的下載請求,對各個Nginx進行調(diào)度選擇,將所述下載請求轉(zhuǎn)發(fā)給選中的Nginx ;
      [0011]所述Nginx用于在接收到LVS轉(zhuǎn)發(fā)的下載請求后,通過FUSE訪問HDFS中存儲的數(shù)據(jù),響應(yīng)用戶的下載請求;
      [0012]所述HDFS用于存儲數(shù)據(jù)。
      [0013]其中,所述LVS具體用于:接收到用戶的下載請求后,根據(jù)各個Nginx的性能和/或當(dāng)前負載狀況對各個Nginx進行調(diào)度選擇,將所述下載請求發(fā)送給性能和/或當(dāng)前負載狀態(tài)符合預(yù)置條件的Nginx。
      [0014]其中,所述LVS為兩個。
      [0015]其中,兩個LVS互為主備,每個LVS通過一個處于主模式的虛IP向用戶提供下載服務(wù),同時存在一個處于備用模式的虛IP ;當(dāng)一個LVS無法提供服務(wù)時,另一個LVS通過啟動所述處于備用模式的虛IP來接管該LVS的下載服務(wù)。
      [0016]其中,所述HDFS包括名字節(jié)點及至少兩個數(shù)據(jù)節(jié)點,所述名字節(jié)點與LVS復(fù)用一臺服務(wù)器,每個數(shù)據(jù)節(jié)點與一個Ngi nx復(fù)用一臺服務(wù)器。
      [0017]其中,Nginx的數(shù)目與數(shù)據(jù)節(jié)點的數(shù)目相同。
      [0018]一種數(shù)據(jù)下載方法,應(yīng)用于一數(shù)據(jù)下載系統(tǒng)中,所述數(shù)據(jù)下載系統(tǒng)包括多個下載集群,每個下載集群中包括Linux虛擬服務(wù)器LVS、至少兩個下載節(jié)點Nginx以及一個分布式文件系統(tǒng)HDFS,所述HDFS用于存儲數(shù)據(jù),所述Nginx的操作系統(tǒng)通過用戶空間文件系統(tǒng)FUSE掛載HDFS的存儲服務(wù);所述方法包括:
      [0019]通過所述LVS接收用戶的下載請求,并由所述LVS對各個Nginx進行調(diào)度選擇,將所述下載請求轉(zhuǎn)發(fā)給選中的Nginx ;
      [0020]Nginx在接收到LVS轉(zhuǎn)發(fā)的下載請求后,通過FUSE訪問HDFS中存儲的數(shù)據(jù),響應(yīng)用戶的下載請求。
      [0021]其中,所述對各個Nginx進行調(diào)度選擇,將所述下載請求轉(zhuǎn)發(fā)給選中的Nginx包括:
      [0022]根據(jù)各個Nginx的性能和/或當(dāng)前負載狀況對各個Nginx進行調(diào)度選擇,將所述下載請求發(fā)送給性能和/或當(dāng)前負載狀態(tài)符合預(yù)置條件的Nginx。
      [0023]其中,所述LVS為兩個。
      [0024]其中,兩個LVS互為主備,每個LVS通過一個處于主模式的虛IP向用戶提供下載服務(wù),同時存在一個處于備用模式的虛IP ;當(dāng)一個LVS無法提供服務(wù)時,另一個LVS通過啟動所述處于備用模式的虛IP來接管該LVS的下載服務(wù)。
      [0025]其中,所述HDFS包括名字節(jié)點及至少兩個數(shù)據(jù)節(jié)點,所述名字節(jié)點與LVS復(fù)用一臺服務(wù)器,每個數(shù)據(jù)節(jié)點與一個Nginx復(fù)用一臺服務(wù)器。
      [0026]其中,Nginx的數(shù)目與數(shù)據(jù)節(jié)點的數(shù)目相同。
      [0027]其中,還包括:
      [0028]對Nginx的參數(shù)進行調(diào)整,所調(diào)整的參數(shù)包括Sendfile選項、worker進程數(shù)、單進程最大連接數(shù)、backlog參數(shù)、output_buffers中的一個或多個。
      [0029]其中,還包括:
      [0030]對HDFS參數(shù)進行調(diào)整,所調(diào)整的參數(shù)包括read函數(shù)的參數(shù)數(shù)目、IPCserverlisten隊列長度、IPC Server工作線程數(shù)、數(shù)據(jù)傳輸最大線程數(shù)中的一個或多個。
      [0031]根據(jù)本發(fā)明提供的具體實施例,本發(fā)明公開了以下技術(shù)效果:
      [0032]第一,由于在下載系統(tǒng)中應(yīng)用了 HDFS,因此,使得單個下載集群能夠提供百TB級別存儲,可通過簡單的插拔方式增加存儲服務(wù)器,提高存儲能力,滿足大存儲數(shù)據(jù)量的需求;同時,由于不使用硬件RAID卡,而是通過HDFS服務(wù)對各磁盤進行并行讀取,因此,可以實現(xiàn)單機各磁盤獨立讀取,能夠很好地滿足用戶訪問無熱點、文件讀取分散的高I/O需求,并提高數(shù)據(jù)吞吐量。實驗數(shù)據(jù)顯示,在使用12塊7200轉(zhuǎn)SATA盤的情況下,單機的總1PS可達1000以上;最高可實現(xiàn)單機15000以上的并發(fā)連接,IGb以上的帶寬吞吐。
      [0033]第二,由于每個集群僅將LVS暴露給用戶,因此,使得每個集群具有高內(nèi)聚的特點,也即,如果某個或某些Nginx由于發(fā)生故障等無法向外提供服務(wù),可以通過LVS在集群內(nèi)部予以解決(例如,可以對后端Nginx進行可用性監(jiān)控,對異常Nginx進行秒級摘除等),不會影響到其他的集群。
      [0034]第三,可以直接由LVS在集群內(nèi)部進行負載均衡。
      [0035]第四,由于每個集群內(nèi)容都對數(shù)據(jù)進行了存儲,因此,可以實現(xiàn)數(shù)據(jù)在不同集群間的完全冗余,可以保證能夠快速地進行流量調(diào)度與切換。
      [0036]第五,采用上述結(jié)構(gòu),可以很容易的實現(xiàn)對系統(tǒng)的擴展。例如,若發(fā)現(xiàn)前端LVS的網(wǎng)絡(luò)性能成為瓶頸,可增加獨立的LVS服務(wù)器或在現(xiàn)有服務(wù)器上增加網(wǎng)卡,快速實現(xiàn)性能擴展;若數(shù)據(jù)存儲空間不足、或下載服務(wù)不能滿足需求,可簡單通過增加HDFS的數(shù)據(jù)節(jié)點進行存儲空間及下載服務(wù)性能擴展,相應(yīng)的,HDFS會自動完成新節(jié)點的數(shù)據(jù)同步。
      【附圖說明】
      [0037]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0038]圖1是現(xiàn)有技術(shù)中的下載架構(gòu)示意圖;
      [0039]圖2是現(xiàn)有技術(shù)中的另一下載架構(gòu)不意圖;
      [0040]圖3是本發(fā)明實施例提供的系統(tǒng)的示意圖;
      [0041]圖4是本發(fā)明實施例提供的系統(tǒng)中各服務(wù)的物理部署示意圖;
      [0042]圖5是本發(fā)明實施例提供的方法的流程圖。
      【具體實施方式】
      [0043]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中
      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1