數據的上傳方法、下載方法和系統的製作方法
2023-06-25 15:31:01
專利名稱:數據的上傳方法、下載方法和系統的製作方法
技術領域:
本發明涉及一種通信技術領域,尤其涉及一種數據的上傳方法、下載方法和系統。
背景技術:
智能接入終端的普及及接入方式的多樣化,產生大量用戶原創內容(UGC,User Generated Content),並在網絡上進行存儲、共享和分發,為了保證用戶的體驗,需要足夠 的網絡資源來支撐,尤其是網絡中大規模存儲資源。架構在這些資源之上的業務多樣化,促 使建立很多數據中心,而這些數據中心在邏輯上將會形成一個龐大的資源池。在資源池中, 很多業務在重複使用相同的內容,但這些內容副本都是按照各自的業務來分配資源。現有 技術中需要鋪設專網等高速網絡來保證數據業務的處理,或多網的環境下保持內容同步, 導致了系統的維護和運營成本增高和降低了資源池的利用率。目前普遍採用的解決方案包括以下幾種。採用定向伺服器技術,對於發送到其他 網絡的消息,先把消息發送到本網的中轉伺服器,通過網絡之間的中轉伺服器,進行跨網的 消息交互。雖然可以滿足一些消息業務的處理,但是對於大量的數據業務的請求存在瓶頸, 需要鋪設專網等高速網絡來保證。採用鏡像伺服器技術,即每個網絡都和其他網絡保持內 容的同步。任何一個網絡中的內容變化,都映射到其他網絡中的數據中心。可以在多網的 環境下,保證一致性,但是跨網流量比較高,造成流量浪費;跨網的副本的動態性比較強,很 難短時間進行同步。
發明內容
本發明的目的在於提供一種數據的上傳方法、下載方法和系統,簡化了系統,提高 了資源利用率。本發明的一個實施例提供一種數據的上傳方法,包括下列步驟接收用戶的上傳 數據請求,獲得內容標識;根據內容標識確定該內容是否已經存在;如果所述上傳數據未 被存儲,則向本地數據中心上傳並存儲所述上傳數據。本發明的另一個實施例提供一種數據的下載方法,包括下列步驟接收用戶的數 據下載請求,獲得內容標識;根據所述內容標識確定數據存儲在本地數據中心還是非本地 數據中心;如果數據存儲在非本地數據中心,則從所述非本地數據中心獲取所述數據並存 儲到本地數據中心;從本地數據中心下載所述數據。本發明的另一個實施例提供一種數據系統,包括邊緣伺服器,用於接收用戶的上傳數據或下載請求並獲得內容標識;根據媒體管 理器的查詢結果確定是否保存該數據並獲得的存儲數據的數據中心信息;根據所述數據中 心信息確定所述數據保存在本地數據中心還是非本地數據中心,如果保存在非本地數據中 心,則向給非本地數據中心請求校驗上傳或請求下載數據;多個數據中心,根據所述內容標識查詢對應的存儲所述數據的節點地址;媒體管理器(MM,Media Manager),用於根據數據的內容標識查詢存儲數據的數據中心信息,並將查詢結果返回給邊緣伺服器;多邊網關,用於在所述多個數據中心之間進行信息交互。本發明的實施例通過雙線或多線網關,而不需要鋪設專網等高速網絡從而節省成 本,減輕不同網絡之間的數據流量負載和提高響應效率,從而提高資源池的利用率。
此處所說明的附圖用來提供對本發明的進一步理解,構成本發明的一部分,並不 構成對本發明的限定。在附圖中圖1是本發明實施例一的數據的上傳方法的流程圖;圖2是本發明實施例二的數據的上傳方法的流程圖;圖3是本發明實施例三的數據的下載方法的流程圖;圖4是本發明實施例四的數據系統的結構示意圖;圖5是本發明實施例四中數據中心的結構示意圖。
具體實施例方式為使本發明實施例的目的、技術方案和優點更加清楚明白,下面結合實施例和附 圖,對本發明實施例做進一步詳細說明。在此,本發明的示意性實施例及其說明用於解釋本 發明,但並不作為對本發明的限定。實施例一本實施例提供一種數據的上傳方法。如圖1所示,該方法包括步驟101 接收用戶的上傳數據請求,獲得所述上傳數據的內容標識;該步驟可以由數據分布存儲系統中的邊緣伺服器(ES,Edge Server)執行。ES節 點保留所處域的域信息,即所在域的數據中心地址(NetID)。且ES只與所在域的數據中心 的存儲節點(CS,Chunk Server)聯繫。ES接收到上傳數據的請求或促發了上傳數據處理 後,通過Hash算法獲得上傳數據的內容標識(0ID,0bject ID),並在該OID後級聯ES所在 域的 NetID。如「01982736AFED01982736AFED01982736 1」,前面 32 位是 128 位上傳數據通 過Hash算法獲得的0ID,最後一位表示ES所在域的數據中心的NetIDl。步驟102 根據所述內容標識查詢上傳數據是否已被存儲;該步驟可以由數據分布存儲系統的ES和MM執行。MM上存儲有上傳成功的數據 的內容標識和存儲該數據的數據中心的NetID2 (數據中心信息)。ES接收到用戶的上傳數 據請求後,向MM提交查詢請求,該查詢請求中攜帶數據的內容標識和ES所在的數據中心的 NetlDl。匪查詢是否保存有匹配的內容標識,然後向ES發送查詢結果。ES提交的查詢請 求可以是認證請求,即請求驗證用戶是否具有上傳信息的權限。如果MM驗證用戶具有上傳 信息的權限,再查詢是否保存有匹配的內容標識,在驗證通過的響應中攜帶相應用戶信息, 例如用戶名、密碼、IP位址等等。如果MM驗證用戶不具有上傳信息的權限,則ES在接收到 驗證不通過的響應後結束上傳。步驟103 如果所述上傳數據未被存儲,則向本地數據中心上傳並存儲所述上傳 數據。該步驟可以由ES執行。如果上傳數據未被存儲,ES向所在的數據中心(即本地
5數據中心)上傳並存儲所述數據。具體包括向本地數據中心的接入存儲節點(ACS,ACCeSS CS)發送上傳請求,ACS查詢本地數據中心的索引節點(ICS,Index CS)是否登記有與所述 內容標識對應的CS的地址;如果有則向該CS斷點續傳該數據並存儲。如果沒有則向該ACS 上傳該數據並存儲。數據存儲完畢後,存儲該數據的CS/ACS向ICS登記該數據的OID和自 己的地址。上傳成功後,ES向MM登記上傳數據的OID及級聯的存儲該數據的數據中心的 NetID (即ES所在的數據中心的NeTID)。本實施例中,如果MM查詢到保存有匹配的內容標識後,在返回給ES的查詢響應中 攜帶存儲該數據的數據中心的NetID2。根據所述存儲內容所在的數據中心的信息,中心信 息進行所述數據中心的一致性校驗,校驗通過後向用戶反饋上傳成功。ES對接收到存儲該 數據的數據中心的NetID2和其自身所在的數據中心的NetIDl進行比較。如果一致,則該數 據存儲在ES所在的數據中心,ES從本地數據中心的索引節點獲得與上傳數據標識對應的 CS地址,即存儲該數據的節點地址。從所述存儲該數據的節點獲取校驗信息,如果校驗信息 與上傳數據一致,則表示存儲有該數據,向用戶反饋上傳成功,否則結束上傳。如果NetIDl 與NetID2不一致,則通過與ES綁定權重大的網關(GW,GateWay),則該數據不存儲在ES所 在的數據中心,向存儲該數據的數據中心的CS請求校驗信息,如果校驗信息與上傳數據一 致,則表示存儲有該數據,向用戶反饋上傳成功,否則結束上傳。校驗信息可以是偏移信息, 或其他常用校驗信息。本發明的實施例通過根據數據的內容標識判斷是否存儲過該數據,減少系統中相 同內容副本在網絡上的分布數量;並在上傳網絡與存儲網絡不同時通過雙邊或多變網關進 行信息交互,減輕不同網絡之間的數據流量負載和提高響應效率。實施例二本實施例提供一種數據的上傳方法。如圖2所示,該方法包括步驟201 :ES接收上傳數據請求或者促發上傳數據的處理,獲得數據的內容標識 (OID)。ES獲得該數據的臨時OID並級聯該ES所在域的NetIDl。例如「01982736AFED0198 2736AFED019827361」,其中前面32位是128位上傳數據通過Hash算法獲得的0ID,最後一 位表示ES所在的數據中心的NetIDl。步驟202 =ES向匪提交認證用戶上傳合法性請求。ES將用戶的相關信息和以及 上述OID和NetIDl發送給MM,MM根據用戶的相關信息認證其是否有上傳權限,如果合法, 再根據OID查詢該上傳數據是否被登記過,並把驗證和登記結果通過響應返回給ES。其中, 登記結果為該上傳數據存儲的數據中心的NetID2時,表明該上傳數據被登記過,否則為沒 有被登記過。步驟203 :ES接收匪返回的響應,判斷用戶是否合法。如果響應中的驗證結果為 用戶不合法則結束上傳,如果響應中的驗證結果為用戶合法,則進入步驟204。步驟204 =ES判斷是否存儲過該上傳數據。如果上傳數據沒有被登記過,則進入步 驟205 ;如果上傳數據被登記過,進入步驟211。步驟205 在ES所在域(本地)選擇一個CS作為ACS並發送上傳數據的請求。步驟206 =ACS查詢該上傳數據是否部分保存過。通過上傳數據的OID查詢ICS是 否登記(保存)過該上傳數據。當查詢到與OID對應的CS地址則表示登記(保存)過該 上傳數據並返回該CS地址,進入步驟207,否則沒有登記(保存)過該上傳數據,進入步驟
6208。步驟207 =ES根據該CS地址向對應的CS進行斷點續傳處理。步驟208 =ES向ACS進行上傳處理。步驟209 上傳存儲該數據的CS (ACS)向ICS登記上傳數據的)ID和該CS (ACS)地 址。ICS可以通知該CS(ACS)進行內容擴散處理,把該內容備份到本地的空閒CS上。步驟210 =ES向MM發送登記內容請求,登記存儲數據的OID並級聯存儲該數據的 網絡(數據中心)的NetID。步驟211 =ES判斷上傳數據是否存儲在本地。比較自己的NetIDl是否和MM返回 的響應中的NetID2是否相同。如果兩者相同表示該上傳數據存儲在本地,則進入步驟212 ; 如果兩者不同表示該上傳數據沒有存儲在本地,則進入步驟213。步驟212 在本地選擇一個CS作為ACS請求查詢本網(本地數據中心)的ICS,其 中攜帶數據的0ID。步驟213 根據返迴響應的NetID2,在本地找到與NetID2綁定的GW請求查詢跨網 (非本地數據中心)ICS(如果不存在與NetID2綁定的GW,那麼通過綁定其他網絡的GW轉 發),其中攜帶數據的0ID。步驟214:本網ICS (跨網ICS)根據上傳數據的OID查找存儲該上傳數據的CS地 址,並以列表形式將CS地址的查找結果最終返回給Es。步驟215 向存儲該上傳數據的CS請求偏移信息。優先選擇列表中與ES的NetIDl 相同的CS,如果沒有本網的CS,那麼從列表中選擇跨網(非本地數據中心)CS,該CS所在網 絡與連接ES所在網絡的GW存在綁定且ES到該GW的綁定權重要大。步驟216 如果獲得的偏移信息和提交上傳數據的偏移信息一致,則向用戶返回 上傳成功,進入步驟210 ;否則,表示上傳的上傳數據和網絡上存儲的內容不一致,上傳失 敗並結束。本發明的實施例通過根據數據的內容標識判斷是否存儲過該數據,減少系統中相 同內容副本在網絡上的分布數量;並在上傳網絡與存儲網絡不同時通過雙邊或多變網關進 行信息交互,減輕不同網絡之間的數據流量負載和提高響應效率,便於不同網絡的用戶快 速的獲取內容,併兼容其他的分布式存儲系統。實施例三本實施例提供一種數據的下載方法。如圖3所示,該方法包括步驟301 接收用戶的下載數據請求,獲得所述下載數據的內容標識;該步驟可以由數據分布存儲系統中的邊緣伺服器(ES)執行。ES接收到的下載請 求中攜帶下載數據的內容標識(OID),該內容通過Hash算法獲得。步驟302 根據所述內容標識確定所述下載數據存儲在本地數據中心還是非本地 數據中心;該步驟可以由數據分布存儲系統的ES和MM執行。MM上存儲有數據的內容標識和 存儲該數據的數據中心的NetID2。ES向MM提交查詢請求,MM查詢與存儲該數據的內容標 識對應的數據中心的NetID2,通過查詢響應將NetID2返回ES。ES對接收到存儲該數據的 數據中心的NetID2和其自身所在的數據中心的NetIDl進行比較。如果NetIDl與NetID2 一致則數據存儲在本地數據中心(本地存儲),否則數據存儲在非本地數據中心(跨網存
7儲)。步驟303 如果所述下載數據存儲在非本地數據中心,則從所述非本地數據中心 獲取所述下載數據並存儲到本地數據中心;該步驟可以由數據分布存儲系統的ES、CS和GW執行。ES通過本地接入節點(ACS) 請求索引節點(ICS)查詢存儲節點狀態,獲得本地的空閒CS地址,通過GW跨網獲得所述數 據並存儲到該空閒CS。步驟304從本地數據中心下載所述數據。該步驟可以由數據分布存儲系統的ES執行。ES從存儲該數據的CS下載所述數 據。本實施例中,如果數據存儲在本地,ES則直接從本地下載該數據。具體包括通過 本地ACS請求ICS查詢存儲該數據的CS地址;從該CS上下載數據。本發明的實施例通過根據數據的內容標識查詢數據存儲的網絡,實現對在不同網 絡的內容副本進行統一的管理,快捷的查詢,減少系統中相同內容副本在網絡上的分布數 量;並對跨網存儲的數據通過雙邊或多變網關進行本地存儲後再下載,減輕不同網絡之間 的數據流量負載和提高響應效率,便於不同網絡的用戶快速的獲取內容。實施例四本實施例提供一種數據分布存儲系統。如圖4所示,該系統包括邊緣伺服器(ES) 410,邊緣伺服器,用於接收用戶的上傳數據或下載請求並獲得內 容標識;根據媒體管理器(MM,Media Manager)的查詢結果確定是否保存該數據並獲得的 存儲數據的數據中心信息;根據所述數據中心信息確定所述數據保存在本地數據中心還是 非本地數據中心,如果保存在非本地數據中心,則向給非本地數據中心請求校驗上傳或請 求下載數據;多個數據中心420,根據所述內容標識查詢對應的存儲所述數據的節點地址;MM430,用於根據數據的內容標識查詢存儲數據的數據中心信息,並將查詢結果返 回給邊緣伺服器;多邊網關(GW)440,用於在所述多個數據中心之間進行信息交互。如圖5所示所述數據中心420包括接入節點421,用於接收邊緣伺服器轉發的上 傳或下載請求;索引節點422,用於根據數據的內容標識查詢存儲數據的節點地址;存儲節 點423,用於存儲數據。上傳數據時,ES410接收上傳數據請求,獲得該數據的臨時OID並級聯ES所在域的 NetlDl。ES410向MM430提交認證用戶上傳合法性請求,將用戶的相關信息和以及上述OID 和NetIDl發送給MM430,MM430根據用戶的相關信息認證其是否有上傳權限,如果合法,再 查詢該上傳數據是否被登記過,並把驗證和登記查詢結果通過響應返回給ES410。ES410接 收MM430返回的響應。如果響應中的驗證結果為用戶不合法則結束上傳。如果用戶合法且 上傳數據沒有被登記過,則在ES所在域(本地)上傳完整的數據或斷點續傳。上傳完成後, ES410向MM登記該數據的OID和ES所在域的NetlDl。如果用戶合法而且上傳數據被登記 過,則響應中攜帶與登記過內容對應的數據中心的NetID2。ES410比較自己的NetIDl是否 和返迴響應中的NetID2是否相同。如果相同,則表示該內容存儲在本地,則向本地數據中 心請求偏移信息。如果不相同,則根據返迴響應的NetID2,通過GW440向跨網數據中心請求偏移信息(如果不存在與NetID2綁定的GW,那麼通過綁定其他網絡的GW)。如果獲得的偏 移信息和提交上傳數據的偏移信息一致,那麼向用戶返回上傳成功;否則上傳失敗並結束。 上傳成功後,ES410向MM430發送登記內容請求,等級存儲數據的OID並級聯存儲該數據的 網絡(數據中心)的NetID。下載數據時,ES410向MM430提交請求,查詢存儲該數據的數據中心的NetID2。 ES410對接收到存儲該數據的數據中心的NetID2和其自身所在的數據中心的NetIDl進行 比較。如果NetIDl與NetID2—致則是本地存儲,否則為跨網存儲。ES410通過本地ACS421 請求ICS422查詢存儲節點狀態,獲得本地的空閒CS地址,請求該空閒CS423通過GW440跨 網獲得所述數據並存儲。ES410從存儲該數據的CS423下載所述數據。如果數據是本地存 儲,ES410則直接從本地下載該數據。具體包括通過本地ACS421請求ICS422查詢存儲該 數據的CS地址;從該CS423上下載數據。本發明的實施例通過根據數據的內容標識判斷是否存儲過該數據或存儲數據的 網絡,對在不同網絡的內容副本進行統一的管理,快捷的查詢,減少系統中相同內容副本在 網絡上的分布數量;並在上傳網絡與存儲網絡不同時通過雙邊或多變網關進行信息交互, 對跨網存儲的數據通過雙邊或多變網關進行本地存儲後再下載,減輕不同網絡之間的數據 流量負載和提高響應效率;便於不同網絡的用戶快速的獲取內容,和兼容其他的分布式存 儲系統。以上所述的具體實施例,對本發明的目的、技術方案和有益效果進行了進一步詳 細說明,所應理解的是,以上所述僅為本發明的具體實施例而已,並不用於限定本發明的保 護範圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本 發明的保護範圍之內。
權利要求
一種數據的上傳方法,其特徵在於,該方法包括下列步驟接收用戶的上傳數據請求,獲得所述上傳數據的內容標識;根據所述內容標識確定所述上傳數據是否已被存儲;如果所述上傳數據未被存儲,則向本地數據中心上傳並存儲所述上傳數據。
2.根據權利要求1所述的方法,其特徵在於,還包括如果所述上傳數據已被存儲,獲取存儲所述上傳數據所在的數據中心信息; 根據所述數據中心信息進行中心的一致性校驗,校驗通過後則表示上傳成功。
3.根據權利要求1所述的方法,其特徵在於,還包括 向本地數據中心的接入存儲節點發送上傳請求,所述接入存儲節點查詢本地數據中心的索引節點是否登記有與所述內容標識對應的 存儲節點的地址;如果有所述存儲節點的地址,則向所述存儲節點斷點續傳所述上傳數據。
4.根據權利要求3所述的方法,其特徵在於,還包括如果沒有所述存儲節點的地址,則向所述接入存儲節點上傳所述上傳數據。
5.根據所述權利要求3或4所述的方法,其特徵在於,還包括上傳數據存儲完畢後,存儲上傳數據的存儲節點向索引節點登記所述上傳數據的內容 標識和所述存儲節點的地址。
6.根據權利要求1或2所述的方法,其特徵在於,還包括 驗證所述用戶是否合法;如果所述用戶合法,根據所述內容標識查詢上傳數據是否已被存儲。
7.根據權利要求2所述的方法,其特徵在於,根據所述中心信息進行中心的一致性校 驗的步驟包括依據所述數據中心信息從對應的數據中心請求偏移信息, 根據所述偏移信息進行存儲數據與上傳數據的一致性校驗。
8.根據權利要求7所述的方法,其特徵在於,依據所述數據中心信息從對應的數據中 心請求偏移信息的步驟包括依據所述數據中心信息判斷對應的數據中心是否為本地數據中心;如果是本地數據中心,查詢本地數據中心的索引節點,獲得本地存儲節點的地址;向所述本地存儲節點請求並獲得所述偏移信息。
9.根據權利要求8所述的方法,其特徵在於如果不是本地數據中心,查詢與所述數據中心地址綁定權重最大的網管對應的數據中 心的索引節點,獲得跨網存儲節點的地址;向所述跨網存儲節點請求並獲得所述偏移信息。
10.一種數據的下載方法,其特徵在於,該方法包括下列步驟 接收用戶的下載數據請求,獲得所述下載數據的內容標識;根據所述內容標識確定所述下載數據存儲在本地數據中心還是非本地數據中心; 如果所述下載數據存儲在非本地數據中心,則從所述非本地數據中心獲取所述下載數 據並存儲到本地數據中心;從本地數據中心下載所述數據。
11.根據權利要求10所述的方法,其特徵在於,還包括如果所述下載數據存儲在本地數據中心,則直接從本地下載該數據。
12.根據權利要求10所述的方法,其特徵在於,根據所述內容標識確定所述下載數據 存儲在本地數據中心還是非本地數據中心的步驟包括根據所述內容標識查詢存儲所述下載數據的數據中心地址; 比較所述數據中心地址和本地數據中心地址;如果所述數據中心地址和本地數據中心地址不同,則所述下載數據存儲在非本地數據 中心;如果所述數據中心地址和本地數據中心地址相同,則所述下載數據存儲在本地數據中心。
13.根據權利要求10所述的方法,其特徵在於,獲得本地的空閒存儲節點存儲所述數 據的步驟包括通過本地接入節點請求索引節點查詢存儲節點狀態; 獲得本地的空閒存儲節點地址;通過網關從所述非本地數據中心獲得所述數據並存儲到該空閒存儲節點。
14.一種數據系統,其特徵在於,該系統包括邊緣伺服器,用於接收用戶的上傳或下載數據請求並獲得所述數據的內容標識;根據 媒體管理器的查詢結果確定是否保存該數據並獲得的存儲數據的數據中心信息;根據所述 數據中心信息確定所述數據保存在本地數據中心還是非本地數據中心,如果保存在非本地 數據中心,則向給非本地數據中心請求校驗上傳或請求下載數據;多個數據中心,根據所述內容標識查詢對應的存儲所述數據的節點地址; 媒體管理器,用於根據所述數據的內容標識查詢存儲數據的數據中心信息,並將查詢 結果返回給邊緣伺服器;多邊網關,用於在所述多個數據中心之間進行信息交互。
15.根據權利要求14所述的系統,其特徵在於,所述數據中心包括 接入節點,用於接收邊緣伺服器轉發的上傳或下載請求;索引節點,用於根據數據的內容標識查詢存儲數據的節點地址; 存儲節點,用於存儲數據。
全文摘要
本發明提供數據的上傳方法、下載方法和系統,上傳方法包括接收用戶的上傳數據請求,獲得所述上傳數據的內容標識;根據所述內容標識確定所述上傳數據是否已被存儲;如果所述上傳數據未被存儲,則向本地數據中心上傳並存儲所述上傳數據。本發明的實施例減輕不同網絡之間的數據流量負載和提高響應效率;對在不同網絡的內容副本進行統一的管理,快捷的查詢,減少系統中相同內容副本在網絡上的分布數量。
文檔編號G06F17/30GK101924785SQ20101015994
公開日2010年12月22日 申請日期2010年4月28日 優先權日2010年4月28日
發明者王鐵英 申請人:華為技術有限公司