新四季網

一種數據分發方法、裝置及系統的製作方法

2023-10-17 02:14:29

一種數據分發方法、裝置及系統的製作方法
【專利摘要】本發明公開了一種數據分發方法、裝置及系統。所述方法包括:將數據上傳至源數據伺服器;所述源數據伺服器獲取邊緣伺服器信息,並根據其存儲的所述數據和所述邊緣伺服器信息生成種子文件,所述種子文件中包括源數據伺服器和所有邊緣伺服器的地址信息;所述源數據伺服器將所述種子文件發送給種子伺服器;所述邊緣伺服器從所述種子伺服器獲取種子文件,並根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。本發明提出的上述方案支持大數據和大規模集成數據的分發,無需Tracker伺服器同步信息,分發速度快,克服了現有技術下載慢,擴展性差的缺點。
【專利說明】一種數據分發方法、裝置及系統
【技術領域】
[0001]本發明涉及計算機網絡【技術領域】,尤其涉及一種數據分發方法、裝置及系統。
【背景技術】
[0002]內容分發網絡(CDN)是一種分布式的網絡,包含兩種節點,源站和邊緣機。源站提供⑶N中的源數據,通常只有一個或幾個;邊緣機直接面向用戶提供服務,數量由⑶N網絡規模決定,從幾十到幾千不等。內容分發網絡(CDN)基於IP網絡而構建,基於內容訪問與應用的效率要求、質量要求和內容秩序而提供內容的分發和服務。而從廣義的角度,CDN代表了一種基於網絡而構建的高質量、高效率、具有鮮明網絡秩序的網絡應用服務模式。簡單地說,內容分發網絡(⑶N)是一個經策略性部署的整體系統,包括分布式存儲、負載均衡、網絡請求的重定向和內容管理4個要件,而內容管理和全局的網絡流量管理(TrafficManagement)是⑶N的核心所在。通過用戶就近性和伺服器負載的判斷,⑶N能夠確保內容以一種極為高效的方式為用戶的請求提供服務。
[0003]圖1示出了現有技術中在CDN網絡通過Http方式分發內容的系統結構示意圖。如圖1所示,在初始狀態下,邊緣機沒有源數據,無法向用戶提供服務,所以源站需要先將數據分發到邊緣機。現有的CDN分發技術有Http方式和P2P方式等。目前最簡單的CDN數據分發方式是通過Http下載分發,數據提供商先將源數據發布到源站,邊緣機通過Http協議從源站下載源數據,這樣一個發布流程就完成了。通過Http協議分發數據的方式在邊緣機規模小,源數據不大的情況下,發布速度快,但是擴展性差,當邊緣機數量過多或分發數據量過大時,源站的帶寬和Http請求量都會激增,嚴重時會造成源站宕機,服務中止。
[0004]當需要分發大文件或者⑶N集群規模較大時,一般是通過P2P來分發數據。P2P(點對點網絡)又稱工作組,網上各臺計算機有相同的功能,無主從之分,一臺計算機都是既可作為伺服器,設定共享資源供網絡中其他計算機所使用,又可以作為工作站,沒有專用的伺服器,也沒有專用的工作站。P2P網絡中包括P2P網絡中的點(peer),即該網絡中的各個客戶端Jracker伺服器,其作為P2P網絡的信息中心,負責同步各個客戶端的信息;種子文件,其用於存儲P2P網絡中數據的信息,其包含文件列表、文件哈希值和文件分片等信息。
[0005]圖2示出了現有技術中在CDN網絡中通過P2P的方式分發內容的系統結構示意圖。如圖2所示,在P2P網絡中,每一個數據下載者同時也是數據提供者,通過Tracker伺服器來同步各個Peer的信息,每一個Peer都可以從其他Peer下載內容。在這裡運行於源站和邊緣機的P2P客戶端都是Peer。具體數據分發流程如下:數據提供商先將源數據發布到源站上;通過種子生成客戶端生成源數據的種子文件;上傳種子文件到種子伺服器;源站Peer向Tracker伺服器匯報自己的信息,聲明自己加入P2P網絡,其他Peer可以從這裡下載數據;邊緣機從種子伺服器下載種子文件;邊緣機Peer解析種子文件,獲取要下載文件的信息;邊緣機Peer向Tracker伺服器匯報自己的信息,聲明自己加入P2P網絡;Peer向Tracker伺服器匯報自己信息的同時,Tracker伺服器向各個Peer返回P2P網絡中其他Peer的信息;各Peer從Tracker伺服器取得其他Peer的信息後,相互傳輸數據。[0006]P2P內容分發方式支持大數據、大規模集群數據的分發,但是這種內容分發網絡中需要通過Tracker伺服器同步信息,相應降低了分發速度。

【發明內容】

[0007]為解決現有技術中的上述問題,本發明提出了一種數據分發方法及裝置。
[0008]根據本發明一方面,其提出了一種數據分發方法,包括:
[0009]將數據上傳至源數據伺服器;
[0010]所述源數據伺服器獲取邊緣伺服器信息,並根據其存儲的所述數據和所述邊緣伺服器信息生成種子文件,所述種子文件中包括源數據伺服器和所有邊緣伺服器的地址信息;
[0011 ] 所述源數據伺服器將所述種子文件發送給種子伺服器;
[0012]所述邊緣伺服器從所述種子伺服器獲取種子文件,並根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
[0013]可選地,上述方法還包括:所述源數據伺服器從地址信息數據存儲器中獲取邊緣伺服器的地址信息,所述地址信息數據存儲器中存儲有所有邊緣伺服器的地址信息。
[0014]可選地,其中,所述根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據包括:從所述地址信息中優先選擇從與本邊緣伺服器位於同一地理區域或同一網際網路服務提供商ISP網絡的所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
[0015]可選地,其還包括,所述邊緣伺服器解析所述種子文件,並獲取其中的地址信息。
[0016]可選地,其中所述地址信息為所述源伺服器和所有邊緣伺服器的IP位址列表。
[0017]可選地,其中,所述源數據伺服器、種子伺服器和邊緣伺服器構成P2P網絡。
[0018]可選地,其用於內容分發網絡⑶N節點的快速部署。
[0019]根據本發明的另一方面,其還提出了一種數據分發裝置,包括:
[0020]數據上傳模塊,其將數據上傳至源數據伺服器;
[0021]種子生成模塊,其獲取邊緣伺服器信息,並根據源數據伺服器存儲的所述數據和所述邊緣伺服器信息生成種子文件,所述種子文件中包括源數據伺服器和所有邊緣伺服器的地址信息;
[0022]種子分發模塊,其將所述種子文件發送給種子伺服器;
[0023]數據獲取模塊,其從所述種子伺服器獲取種子文件,並根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據並存儲於邊緣伺服器。
[0024]可選地,其還包括:所述種子生成模塊從地址信息數據存儲器中獲取邊緣伺服器的地址信息,所述地址信息數據存儲器中存儲有所有邊緣伺服器的地址信息。
[0025]可選地,其中,所述數據獲取模塊從所述地址信息中優先選擇從與本邊緣伺服器位於同一地理區域或同一網際網路服務提供商ISP網絡的所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
[0026]可選地,其還包括,所述數據獲取模塊解析所述種子文件,並獲取其中的地址信
肩、O
[0027]可選地,其中,所述地址信息為所述源伺服器和所有邊緣伺服器的IP位址列表。[0028]可選地,其中,所述源數據伺服器、種子伺服器和邊緣伺服器構成P2P網絡。
[0029]可選地,其用於內容分發網絡⑶N節點的快速部署。
[0030]根據本發明另一方面,其還提出了一種數據分發系統,包括:
[0031]源數據伺服器,其獲取邊緣伺服器信息,並根據所存儲的數據和所述邊緣伺服器信息生成種子文件,所述種子文件中包括源數據伺服器和所有邊緣伺服器的地址信息;所述數據是預先上傳至所述源數據伺服器的;
[0032]種子伺服器,其從所述源數據伺服器獲取種子文件;
[0033]邊緣伺服器,其從所述種子伺服器獲取種子文件,並根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
[0034]可選地,其還包括:所述源數據伺服器從地址信息數據存儲器中獲取邊緣伺服器的地址信息,所述地址信息數據存儲器中存儲有所有邊緣伺服器的地址信息。
[0035]可選地,其中,所述邊緣伺服器從所述地址信息中優先選擇從與本邊緣伺服器位於同一地理區域或同一網際網路服務提供商ISP網絡的所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
[0036]可選地,其中,所述邊緣伺服器解析所述種子文件,並獲取其中的地址信息。
[0037]可選地,其中,所述地址信息為所述源伺服器和所有邊緣伺服器的IP位址列表。
[0038]可選地,其中,所述源數據伺服器、種子伺服器和邊緣伺服器構成P2P網絡。
[0039]可選地,其用於內容分發網絡⑶N節點的快速部署。
[0040]本發明提出的上述數據分發方法及裝置中,源數據伺服器預先獲取邊緣機信息,並在生成的種子文件中加入源數據伺服器和所有邊緣機的信息,並將所述種子文件上傳至種子伺服器,邊緣伺服器從種子伺服器獲取種子文件後通過解析所述種子文件獲取源數據伺服器和邊緣機的信息,並從所述源數據伺服器和/或邊緣機獲取數據。本發明提出的上述方案支持大數據和大規模集成數據的分發,其雖然基於P2P網絡,但無需Tracker伺服器同步信息,因此分發速度快,克服了現有技術下載慢,擴展性差的缺點。
[0041]為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本發明的【具體實施方式】詳細說明。
【專利附圖】

【附圖說明】
[0042]圖1是現有技術中在⑶N網絡通過Http方式分發內容的系統結構示意圖;
[0043]圖2是現有技術中在⑶N網絡中通過P2P方式分發內容的系統結構示意圖;
[0044]圖3是本發明中數據分發系統的結構框架圖;
[0045]圖4是本發明中數據分發方法的流程圖;
[0046]圖5是本發明可選實施例中邊緣機節點選擇進行數據交換的源數據伺服器和/或邊緣機節點的具體流程圖;
[0047]圖6是本發明中數據分發裝置的功能模塊圖。
【具體實施方式】
[0048]為使本發明的目的、技術方案和優點更加清楚明白,以下結合具體實施例,並參照附圖,對本發明作進一步的詳細說明。
[0049]內容分發網絡(⑶N)作為一種分布式網絡,其包含兩種節點:源站和多個邊緣機。其數據分發流程是數據提供商將數據上傳到源站,邊緣機從所述源站下載所述數據,而用戶從所述邊緣機獲取所述數據。所述內容分發網絡CDN通常基於Http方式或P2P方式進行數據內容的分發。這兩種方式各有優缺點,如Http方式在邊緣機規模小、數據不大的情況下分發速度快,而在邊緣機數量較多和/或分發的數據較大時分發速度慢;P2P方式支持大規模數據分發,但是其需要由Tracker伺服器同步信息,分發速度較慢。
[0050]本發明提出了一種數據分發方法、裝置及系統,其通過改進P2P分發方式,在無需Tracker伺服器同步信息的情況下支持大規模數據分發,且分發速度較快。
[0051]圖3示出了本發明提出一種數據分發系統的結構示意圖。如圖3所示,該系統包括:
[0052]源數據伺服器301,其獲取邊緣機信息,並根據所存儲的數據和所述邊緣機信息生成種子文件,所述種子文件中包括源數據伺服器和所有邊緣機的地址信息;所述數據是預先上傳至所述源數據伺服器的;
[0053]種子伺服器302,其從所述源數據伺服器獲取種子文件;
[0054]邊緣機303,其從所述種子伺服器獲取種子文件,並根據其中的地址信息從所述源數據伺服器和/或所述邊緣機獲取所述數據。
[0055]上述系統中所述源數據伺服器、種子伺服器和邊緣機構成P2P網絡,實現數據的點到點傳輸。且本發明提出的上述系統可以用於內容分發網絡CDN節點的快速部署。
[0056]所述源數據是數據提供商或者源數據擁有者上傳至所述源數據伺服器301的。所述源數據伺服器301從存儲邊緣機信息的地址存儲器中獲取邊緣機地址信息,主要包括邊緣機的IP位址信息。
[0057]上述系統中,源數據伺服器301將生成的種子文件上傳至種子伺服器302後,由各個邊緣機節點從所述種子伺服器下載種子文件。由於種子文件中包括源數據伺服器和所有邊緣機節點的地址信息,因此邊緣機節點通過解析所下載的種子文件獲取源數據伺服器和其它邊緣機節點的地址信息,並與源數據伺服器和/或其它邊緣機節點進行數據交換。整個過程都無需Tracker伺服器進行信息同步,提高了傳輸速度,且能夠支持大數據傳輸。
[0058]圖4示出了本發明提出的一種數據分發方法的流程圖。如圖4所示,所述方法包括:
[0059]步驟401、將數據上傳至源數據伺服器;
[0060]步驟402、所述源數據伺服器獲取邊緣伺服器信息,並根據其存儲的所述數據和所述邊緣伺服器信息生成種子文件,所述種子文件中包括源數據伺服器和所有邊緣伺服器的地址信息;
[0061]步驟403、所述源數據伺服器將所述種子文件發送給種子伺服器;
[0062]步驟404、所述邊緣伺服器從所述種子伺服器獲取種子文件,並根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
[0063]下面通過具體細節詳細說明本發明提出的上述數據分發方法中的各個步驟。
[0064]本發明的步驟4301中,數據提供商或者數據擁有者通過一定的方式將數據上傳至源數據伺服器。顧名思義,源數據伺服器就是用來存儲源數據的,其接收特定數據提供商或者數據擁有者的數據,並將其存儲在數據存儲器中,為網絡中的其它邊緣機提供數據下載功能。
[0065]本發明的步驟402中,源數據伺服器為了將數據分發給其它邊緣機節點,首先獲取其所在網絡中所有邊緣機節點的地址信息。由於CDN網絡中節點是固定的,因此本發明中預先將CDN網絡中的節點信息如源數據伺服器、邊緣機節點的地址信息等存儲在地址信息數據存儲器中。所述地址信息包括源數據伺服器、所有邊緣機節點的IP位址列表。
[0066]所述源數據伺服器在獲取了所有邊緣機節點的地址信息後,根據其存儲的要分發的數據和所述邊緣機節點信息生成種子文件,所述種子文件中包括源數據伺服器和所有邊緣機節點的地址信息。
[0067]具體地,所述源數據伺服器可以通過專門的種子生成客戶端生成種子文件。所述種子文件採用B編碼方式生成,其主要包括數據的存放地址、大小、下載伺服器的地址。發布者的地址等數據。本發明生成的種子文件中的下載伺服器的地址除了包括源數據伺服器地址外,還包括網絡中其它邊緣機節點的地址信息。下面通過舉例說明本發明可選實施例中生成的種子文件結構及內容,所述種子文件包括的內容如下所示:
[0068]host-list:各個Peer即源數據伺服器和邊緣機節點的ip信息(二進位格式);
[0069]creation date (可選):種子創建的時間,Unix標準時間格式;
[0070]comment (可選):種子信息備註;
[0071]created by (可選):創建人或創建程序的信息;
[0072]info:一個字典結構,包含文件的主要信息,具體分為兩種情況:單文件結構或多文件結構;
[0073]其中單文件結構如下:
[0074]length:文件長度,單位字節;
[0075]md5sum(可選):長32個字符的文件的MD5校驗值;
[0076]name:文件名;
[0077]piece length:每片的大小,單位字節;
[0078]pieces:每片的20個字節的SHAlHash的值;
[0079]所述多文件結構如下:
[0080]files:一個字典結構:
[0081]length:文件長度,單位字節;
[0082]md5sum(可選):同單文件結構中相同;
[0083]path:文件的路徑和名字,是一個列表結構;
[0084]name:最上層的目錄名字;
[0085]piece length:同單文件結構中相同;
[0086]pieces:同單文件結構中相同。
[0087]上述種子文件的示例中,與現有技術中常用的種子文件所不同的是,現有技術中常用的種子文件開頭包括announce (Tracker伺服器的URL)和announce_list (可選,備用tracker伺服器列表)欄位,但是不包括host-list欄位,host-list欄位用於存儲本發明中源數據伺服器和邊緣機節點的IP位址,其可以採用二進位格式編碼(節省空間),每個ip有四個欄位,每個欄位的值是0-255,剛好是一個字節的存儲範圍,所以一個ip佔用4個字節。對於500個節點ip,編碼後的大小是1.95kb。
[0088]上述種子文件結構僅用作示例性說明,本領域技術人員應當理解,其它任何形式的種子文件結構,只要其中存儲了網絡中各個節點的地址信息,都適用於本發明提出的上述方案。
[0089]步驟403中,本發明的源數據伺服器生成種子文件後將其發送給種子伺服器。所謂種子伺服器就是用於存儲各種種子文件,並向網絡中的各個節點提供數據下載的種子文件。網絡中的節點在下載數據前需要獲取對應該數據的種子文件,並從種子文件中解析獲得所述數據的下載地址、保存位置等信息。實際上,種子伺服器就是提供數據下載連結的伺服器,只不過其是以種子文件形式提供數據的下載連結,BT(BitTorrent)種子就是目前最常見的一種種子文件。
[0090]源數據伺服器需要分發數據時,將生成的種子文件上傳至種子伺服器,需要下載數據的其它節點如邊緣機節點通過種子伺服器查找所需的種子文件,並利用種子文件下載相應數據。
[0091]步驟404中,邊緣機節點從所述種子伺服器獲取種子文件,並根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
[0092]數據提供商發布數據時,先將數據傳送至源數據伺服器,而源數據伺服器根據所述數據提供商發布的數據以及所有邊緣機節點信息生成種子文件後將其上傳至種子伺服器。同時,數據提供商或源數據伺服器通知邊緣機節點有新的數據發布,並通知邊緣機節點所述數據的種子文件位於種子伺服器等信息。邊緣機節點可以通過定時查看相關信息獲知新發布的數據,並從種子伺服器獲取種子文件。
[0093]邊緣機節點對所獲取的種子文件進行解析,獲取數據的相關信息,如數據大小、存放位置和地址信息等。本發明的種子文件中地址信息包括所述源數據伺服器地址和所有邊緣機節點地址。邊緣機節點根據實際情況從所述源數據伺服器和/或其他邊緣機節點下載所述數據。
[0094]邊緣機節點獲取種子文件的地址信息後,詢問所述地址信息中存儲的邊緣機節點是否下載有同樣的數據,如果其他邊緣機節點已經下載完成或者正在下載同樣的數據,所述邊緣機節點還可以選擇從所述其他邊緣機節點和/或源數據伺服器下載所述數據。
[0095]可選地,邊緣機節點根據所獲取的種子文件的地址信息,優先選擇與本邊緣機節點位於同一地理區域或同一網際網路服務提供商ISP網絡的所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
[0096]目前的P2P應用中,各個節點之間的數據交換是隨機和無序的,雖然依託於網際網路,但是與物理網絡拓撲卻沒有直接關係。例如,一個地處上海的節點可以隨機選擇或被分配與北京的節點進行數據交換,也可以與美國紐約的節點進行數據交換,而不管後者和自己相隔了一個太平洋。這種差別對於用戶而言,只是資源共享時的傳輸速度不同,然而對於運營商來講,數據在本地網間交換的成本比不同運營商間交換的成本要低很多。
[0097]因此,本發明的邊緣機節點從源數據伺服器和/或其他邊緣機節點下載數據時,優先考慮處於同一區域和/或同一網際網路服務提供商ISP的所述源數據伺服器和/或邊緣機節點。這樣不僅大大提升了數據下載速度,同時也是的網際網路服務提供商的出口帶寬得到合理利用。[0098]可選地,邊緣機節點可以通過本地IP資料庫或者遠程IP資料庫查詢IP位址對應的地理位置和網際網路服務提供商信息。所述本地IP採用本地IP資料庫可以縮短解析時間,但不能保證數據的時效性,而採用遠程IP資料庫可以避免這個缺陷,但需要服務提供商定時更新所述遠程IP資料庫。因此,可以根據網絡的實際情況選擇使用上述兩種方式之一。以遠程IP資料庫為例,本發明中遠程IP資料庫用於維護本網絡中源數據伺服器和所有邊緣機節點的IP位址信息、具體地理位置以及網際網路服務提供商等。邊緣機節點解析獲得源數據伺服器和邊緣機節點的地址信息後,根據所述遠程IP資料庫獲取對應於所述源數據伺服器和邊緣機節點IP位址的地理位置信息和網際網路服務提供商。根據所述地理位置信息計算本邊緣機節點與源數據伺服器和其它邊緣機節點之間的距離。然後根據所述距離確定所述源數據伺服器和其它邊緣機節點是否與本邊緣機節點位於同一區域。
[0099]可選地,在IP資料庫中還可以設置各個網際網路服務提供商的優先級,其主要是針對與本邊緣機節點相同的網際網路服務提供商的源數據伺服器和其它邊緣機節點數量不夠或者距離較遠的情況下,跨網際網路服務提供商選擇時採用的優先策略。例如,本邊緣機節點解析獲得的源數據伺服器和其它邊緣機節點均與其不在同一區域、和/或不屬於同一網際網路服務提供商,或者在同一區域、和/或屬於同一網際網路服務提供商的源數據伺服器和/或其它邊緣機節點的數量較少,不能滿足交換數據速率要求的情況下,根據所述優先級選擇屬於不同網際網路服務提供商的源數據伺服器和/或其它邊緣機節點進行數據交換。
[0100]圖5示出了本發明可選實施例中邊緣機節點選擇與其進行數據交換的源數據伺服器和/或邊緣機節點的具體流程圖。如圖4所示,其包括:
[0101]步驟501:根據IP資料庫獲取源數據伺服器和所有邊緣機節點的地理位置信息和網際網路服務提供商信息;
[0102]步驟502:根據所獲取的地理位置信息計算源數據伺服器和所有邊緣機節點與本邊緣機節點的距離信息;
[0103]步驟503:根據所述距離信息選擇屬於同一區域的源數據伺服器和邊緣機節點;
[0104]步驟504:從所選擇的同一區域的源數據伺服器和邊緣機節點中選擇與本邊緣機節點屬於同一網際網路服務提供商的源數據伺服器和邊緣機節點;
[0105]步驟505:與所選擇源數據伺服器和邊緣機節點進行數據交換。
[0106]上述流程僅是示例性說明,本發明並不限於此。例如,同一區域、同一網際網路服務提供商的源數據伺服器和/或邊緣機節點數量較少的情況下,還可以通過選擇屬於同一區域、或者屬於同一網際網路服務提供商、或者屬於優先級較高的網際網路服務提供商的節點進行數據交換,具體可以根據實際情況進行設定,本發明對此並不做限定。
[0107]邊緣機節點從源數據伺服器和/或其它邊緣機節點獲得數據並存儲後,為用戶和/或其它邊緣機節點提供數據下載服務,用戶可以就近選擇邊緣機節點下載所需的數據,完成數據的分發任務。
[0108]本發明提出的上述方案通過改進的P2P網絡實現內容分發機制,本發明通過將邊緣機節點的地址信息加入到生成的種子文件中,由邊緣機信息直接根據所述地址信息與其它邊緣機節點和源數據伺服器進行數據交換,無需傳統的Tracker伺服器進行信息同步,既支持大數據的傳輸,又克服了現有技術中數據下載速度慢、擴展性差的缺點。
[0109]需要說明的是,對於方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本申請並不受所描述的動作順序的限制,因為依據本申請,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於優選實施例,所涉及的動作和模塊並不一定是本申請所必須的。
[0110]圖6示出了本發明提出的一種數據分發裝置的結構示意圖。如圖5所示,該裝置包括:
[0111]數據上傳模塊601,其將數據上傳至源數據伺服器;
[0112]種子生成模塊602,其獲取邊緣伺服器信息,並根據源數據伺服器存儲的所述數據和所述邊緣伺服器信息生成種子文件,所述種子文件中包括源數據伺服器和所有邊緣伺服器的地址信息;
[0113]種子分發模塊603,其將所述種子文件發送給種子伺服器;
[0114]數據獲取模塊604,其從所述種子伺服器獲取種子文件,並根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據並存儲於邊緣伺服器。
[0115]數據提供商或者數據擁有者通過數據上傳模塊501將數據上傳至源數據伺服器。顧名思義,源數據伺服器就是用來存儲源數據的,其接收特定數據提供商或者數據擁有者的數據,並將其存儲在數據存儲器中,為網絡中的其它邊緣機提供數據下載功能。
[0116]為了將數據分發給其它邊緣機節點,種子生成模塊502獲取其所在網絡中所有邊緣機節點的地址信息。由於CDN網絡中節點是固定的,因此本發明中預先將CDN網絡中的節點信息如源數據伺服器、邊緣機節點的地址信息等存儲在地址信息數據存儲器中。所述地址信息包括源數據伺服器、所有邊緣機節點的IP位址列表。
[0117]種子生成模塊502在獲取了所有邊緣機節點的地址信息後,根據其存儲的要分發的數據和所述邊緣機節點信息生成種子文件,所述種子文件中包括源數據伺服器和所有邊緣機節點的地址信息。
[0118]種子生成模塊503用於將種子生成模塊502生成的種子文件發送給種子伺服器。所謂種子伺服器就是用於存儲各種種子文件,並向網絡中的各個節點提供數據下載的種子文件。網絡中的節點在下載數據前需要獲取對應該數據的種子文件,並從種子文件中解析獲得所述數據的下載地址、保存位置等信息。實際上,種子伺服器就是提供數據下載連結的伺服器,只不過其是以種子文件形式提供數據的下載連結,BT(BitTorrent)種子就是目前最常見的一種種子文件。
[0119]數據獲取模塊504從所述種子伺服器獲取種子文件,並根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據,並存儲於邊緣機節點。
[0120]數據上傳模塊501將數據傳送至源數據伺服器後,種子生成模塊502根據所述數據以及所有邊緣機節點信息生成種子文件,並由種子分發模塊503將所述種子文件上傳至種子伺服器。同時,數據上傳模塊501通知數據獲取模塊504有新的數據發布,且通知所述數據對應的種子文件位於種子伺服器等信息。數據獲取模塊504也可以通過定時查看相關信息獲知新發布的數據,並從種子伺服器獲取種子文件。
[0121]數據獲取模塊504對所獲取的種子文件進行解析,獲取數據的相關信息,如數據大小、存放位置和地址信息等。本發明的種子文件中地址信息包括所述源數據伺服器地址和所有邊緣機節點地址。數據獲取模塊504根據實際情況從所述源數據伺服器和/或其他邊緣機節點下載所述數據。[0122]數據獲取模塊504獲取種子文件的地址信息後,詢問所述地址信息中存儲的邊緣機節點是否下載有同樣的數據,如果其他邊緣機節點已經下載完成或者正在下載同樣的數據,所述邊緣機節點可以選擇從所述其他邊緣機節點和/或源數據伺服器下載所述數據。
[0123]可選地,所述數據獲取模塊504根據所獲取的種子文件的地址信息,優先選擇與本邊緣機節點位於同一地理區域或同一網際網路服務提供商ISP網絡的所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
[0124]可選地,數據獲取模塊504可以通過本地IP資料庫或者遠程IP資料庫查詢IP位址對應的地理位置和網際網路服務提供商信息。所述本地IP採用本地IP資料庫可以縮短解析時間,但不能保證數據的時效性,而採用遠程IP資料庫可以避免這個缺陷,但需要服務提供商定時更新所述遠程IP資料庫。因此,可以根據網絡的實際情況選擇使用上述兩種方式之一。以遠程IP資料庫為例,本發明中遠程IP資料庫用於維護本網絡中源數據伺服器和所有邊緣機節點的IP位址信息、具體地理位置以及網際網路服務提供商等。數據獲取模塊解析獲得源數據伺服器和邊緣機節點的地址信息後,根據所述遠程IP資料庫獲取對應於所述源數據伺服器和邊緣機節點IP位址的地理位置信息和網際網路服務提供商。根據所述地理位置信息計算本邊緣機節點與源數據伺服器和其它邊緣機節點之間的距離。然後根據所述距離確定所述源數據伺服器和其它邊緣機節點是否與本邊緣機節點位於同一區域。
[0125]可選地,在IP資料庫中還可以設置各個網際網路服務提供商的優先級,其主要是針對與本邊緣機節點相同的網際網路服務提供商的源數據伺服器和其它邊緣機節點數量不夠或者距離較遠的情況下,跨網際網路服務提供商選擇時採用的優先策略。例如,數據獲取模塊504解析獲得的源數據伺服器和其它邊緣機節點均與其不在同一區域、和/或不屬於同一網際網路服務提供商,或者在同一區域、和/或屬於同一網際網路服務提供商的源數據伺服器和/或其它邊緣機節點的數量較少,不能滿足交換數據速率要求的情況下,根據所述優先級選擇屬於不同網際網路服務提供商的源數據伺服器和/或其它邊緣機節點進行數據交換。
[0126]數據獲取模塊504從源數據伺服器和/或其它邊緣機節點獲得數據並將其存儲於邊緣機節點後,可以為用戶或其它邊緣機節點提供數據下載服務,用戶可以就近選擇邊緣機節點下載所需的數據,完成數據的分發任務。
[0127]由於所述裝置實施例基本相應於前述圖4所示的方法實施例,故本實施例的描述中未詳盡之處,可以參見前述實施例中的相關說明,在此就不贅述了。
[0128]Al、一種數據分發方法,包括:
[0129]將數據上傳至源數據伺服器;
[0130]所述源數據伺服器獲取邊緣伺服器信息,並根據其存儲的所述數據和所述邊緣伺服器信息生成種子文件,所述種子文件中包括源數據伺服器和所有邊緣伺服器的地址信息;
[0131 ] 所述源數據伺服器將所述種子文件發送給種子伺服器;
[0132]所述邊緣伺服器從所述種子伺服器獲取種子文件,並根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
[0133]A2、如權利要求Al所述的數據分發方法,其還包括:所述源數據伺服器從地址信息數據存儲器中獲取邊緣伺服器的地址信息,所述地址信息數據存儲器中存儲有所有邊緣伺服器的地址信息。[0134]A3、如權利要求Al所述的數據分發方法,其中,所述根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據包括:從所述地址信息中優先選擇與本邊緣伺服器位於同一地理區域或同一網際網路服務提供商ISP網絡的所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
[0135]A4、如權利要求Al所述的數據分發方法,其還包括,所述邊緣伺服器解析所述種子文件,並獲取其中的地址信息。
[0136]A5、如權利要求Al所述的數據分發方法,其中所述地址信息為所述源伺服器和所有邊緣伺服器的IP位址列表。
[0137]A6、如權利要求A1-A5任一項所述的數據分發方法,其中,所述源數據伺服器、種子伺服器和邊緣伺服器構成P2P網絡。
[0138]A7、如權利要求A6所述的數據分發方法,其用於內容分發網絡(CDN)節點的快速部署。
[0139]B8、一種數據分發裝置,包括:
[0140]數據上傳模塊,其將數據上傳至源數據伺服器;
[0141]種子生成模塊,其獲取邊緣伺服器信息,並根據源數據伺服器存儲的所述數據和所述邊緣伺服器信息生成種子文件,所述種子文件中包括源數據伺服器和所有邊緣伺服器的地址信息;
[0142]種子分發模塊,其將所述種子文件發送給種子伺服器;
[0143]數據獲取模塊,其從所述種子伺服器獲取種子文件,並根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據並存儲於邊緣伺服器。
[0144]B9、如權利要求B8所述的數據分發裝置,其還包括:所述種子生成模塊從地址信息數據存儲器中獲取邊緣伺服器的地址信息,所述地址信息數據存儲器中存儲有所有邊緣伺服器的地址信息。
[0145]B10、如權利要求B8所述的數據分發裝置,其中,所述數據獲取模塊從所述地址信息中優先選擇與本邊緣伺服器位於同一地理區域或同一網際網路服務提供商ISP網絡的所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
[0146]B11、如權利要求B8所述的數據分發裝置,其還包括,所述數據獲取模塊解析所述種子文件,並獲取其中的地址信息。
[0147]B12、如權利要求B8所述的數據分發裝置,其中,所述地址信息為所述源伺服器和所有邊緣伺服器的IP位址列表。
[0148]B13、如權利要求B8-B12任一項所述的數據分發裝置,其中,所述源數據伺服器、種子伺服器和邊緣伺服器構成P2P網絡。
[0149]B14、如權利要求B13所述的數據分發裝置,其用於內容分發網絡(⑶N)節點的快
速部署。
[0150]C15、一種數據分發系統,包括:
[0151]源數據伺服器,其獲取邊緣伺服器信息,並根據所存儲的數據和所述邊緣伺服器信息生成種子文件,所述種子文件中包括源數據伺服器和所有邊緣伺服器的地址信息;所述數據是預先上傳至所述源數據伺服器的;
[0152]種子伺服器,其從所述源數據伺服器獲取種子文件;[0153]邊緣伺服器,其從所述種子伺服器獲取種子文件,並根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
[0154]C16、如權利要求C15所述的數據分發系統,其還包括:所述源數據伺服器從地址信息數據存儲器中獲取邊緣伺服器的地址信息,所述地址信息數據存儲器中存儲有所有邊緣伺服器的地址信息。
[0155]C17、如權利要求C15所述的數據分發系統,其中,所述邊緣伺服器從所述地址信息中優先選擇與本邊緣伺服器位於同一地理區域或同一網際網路服務提供商ISP網絡的所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
[0156]C18、如權利要求C15所述的數據分發系統,其中,所述邊緣伺服器解析所述種子文件,並獲取其中的地址信息。
[0157]C19、如權利要求C15所述的數據分發系統,其中,所述地址信息為所述源伺服器和所有邊緣伺服器的IP位址列表。
[0158]C20、如權利要求C15-C19任一項所述的數據分發系統,其中,所述源數據伺服器、種子伺服器和邊緣伺服器構成P2P網絡。
[0159]C21、如權利要求C15所述的數據分發系統,其用於內容分發網絡(CDN)節點的快
速部署。
[0160]本發明提出的上述方案可用於眾多通用或專用的計算系統環境或配置中。例如:個人計算機、伺服器計算機、手持設備或可攜式設備、平板型設備、多處理器系統、基於微處理器的系統、機頂盒、可編程的消費電子設備、網絡PC、小型計算機、大型計算機、包括以上任何系統或設備的分布式計算環境等等。
[0161]本發明提出的上述方案還可以用於手機客戶端等,尤其在目前使用手機客戶端上網等用戶越來越多,而手機客戶端上的作業系統及安全衛士還不健全的情況下,尤其適合執行本發明提出的上述方法和裝置。
[0162] 本發明可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。也可以在分布式計算環境中實踐本申請,在這些分布式計算環境中,由通過通信網絡而被連接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可以位於包括存儲設備在內的本地和遠程計算機存儲介質中。
[0163]最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0164]以上所述的具體實施例,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,應理解的是,以上所述僅為本發明的具體實施例而已,並不用於限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
【權利要求】
1.一種數據分發方法,包括: 將數據上傳至源數據伺服器; 所述源數據伺服器獲取邊緣伺服器信息,並根據其存儲的所述數據和所述邊緣伺服器信息生成種子文件,所述種子文件中包括源數據伺服器和所有邊緣伺服器的地址信息; 所述源數據伺服器將所述種子文件發送給種子伺服器; 所述邊緣伺服器從所述種子伺服器獲取種子文件,並根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
2.如權利要求1所述的數據分發方法,其還包括:所述源數據伺服器從地址信息數據存儲器中獲取邊緣伺服器的地址信息,所述地址信息數據存儲器中存儲有所有邊緣伺服器的地址信息。
3.如權利要求1所述的數據分發方法,其中,所述根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據包括:從所述地址信息中優先選擇與本邊緣伺服器位於同一地理區域或同一網際網路服務提供商ISP網絡的所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
4.如權利要求1所述的數據分發方法,其還包括,所述邊緣伺服器解析所述種子文件,並獲取其中的地址信息。
5.如權利要求1所述的數據分發方法,其中所述地址信息為所述源伺服器和所有邊緣伺服器的IP位址列表。
6.如權利要求1-5任一項所述的數據分發方法,其中,所述源數據伺服器、種子伺服器和邊緣伺服器構成P2P網絡。
7.如權利要求6所述的數據分發方法,其用於內容分發網絡(CDN)節點的快速部署。
8.一種數據分發裝置,包括: 數據上傳模塊,其將數據上傳至源數據伺服器; 種子生成模塊,其獲取邊緣伺服器信息,並根據源數據伺服器存儲的所述數據和所述邊緣伺服器信息生成種子文件,所述種子文件中包括源數據伺服器和所有邊緣伺服器的地址信息; 種子分發模塊,其將所述種子文件發送給種子伺服器; 數據獲取模塊,其從所述種子伺服器獲取種子文件,並根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據並存儲於邊緣伺服器。
9.如權利要求8所述的數據分發裝置,其還包括:所述種子生成模塊從地址信息數據存儲器中獲取邊緣伺服器的地址信息,所述地址信息數據存儲器中存儲有所有邊緣伺服器的地址信息。
10.一種數據分發系統,包括: 源數據伺服器,其獲取邊緣伺服器信息,並根據所存儲的數據和所述邊緣伺服器信息生成種子文件,所述種子文件中包括源數據伺服器和所有邊緣伺服器的地址信息;所述數據是預先上傳至所述源數據伺服器的; 種子伺服器,其從所述源數據伺服器獲取種子文件; 邊緣伺服器,其從所述種子伺服器獲取種子文件,並根據其中的地址信息從所述源數據伺服器和/或所述邊緣伺服器獲取所述數據。
【文檔編號】H04L29/06GK103685511SQ201310683654
【公開日】2014年3月26日 申請日期:2013年12月13日 優先權日:2013年12月13日
【發明者】廖子謙 申請人:北京奇虎科技有限公司, 奇智軟體(北京)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀