本發明專利技術公開了一種元數據的處理方法和裝置,用于實現分布式存儲系統中元數據寫操作的可靠性和可用性。本發明專利技術提供的元數據的處理方法包括:主節點獲取接入端發送的元數據寫請求,所述元數據寫請求包括:需要上傳到分布式存儲系統中的元數據,所述分布式存儲系統包括:2N+1個節點,其中1個節點為所述主節點,其余節點為2N個從節點,所述N為非零自然數;所述主節點根據所述元數據寫請求存儲所述元數據,并向所述2N個從節點分別發送所述元數據;若所述主節點接收到所述2N個從節點中至少N個從節點在存儲所述元數據之后返回的確認信息,所述主節點向所述接入端發送元數據寫響應。
【技術實現步驟摘要】
本專利技術涉及計算機
,尤其涉及一種元數據的處理方法和裝置。
技術介紹
元數據指文件內容的索引信息或簡單的鍵值對(英文全稱:Key_Value,英文簡稱:K-V)數據,具有占用存儲空間少、數據眾多、可靠性和可用性要求高等特點,為了解決分布式存儲系統中的元數據可靠性以及可用性問題,目前主流的分布式存儲系統針對元數據提供如下的幾種處理方式:1、基于主-備模式將分布式存儲系統分為多個可平行擴容的單元,具有多個主單元,每個主單元還連接有多個備單元,各單元內部基于主-備異步同步的方式解決單元內部的元數據可靠性問題,同時依賴各單元之間的獨立性解決系統層面的元數據可用性。2、基于多副本模式在這種模式下,所有節點的地位都相同,讀寫基于NWR原則。其中,N代表數據存儲的份數,R表示每次讀請求從N份中至少讀取的份數,W表示每次寫操作返回成功前至少寫成功的份數。當執行寫操作時成功的寫W份。當執行讀操作時從R份節點中各讀出一份數據,然后整合出最新的數據后輸出。3、基于zookeeper存儲元數據集群zookeeper是一個開放源碼的分布式應用程序協調服務程序,zookeeper由于本身性能瓶頸無法直接在集群中存儲元數據,業界一般利用其分布式協同的優點為整個元數據集群提供選主服務,然后采用主-備模式將元數據獨立存儲于元數據集群中。其中,選主服務指集群系統對外提供讀、寫服務之前,內部需要確定集群系統不同節點的角色(角色有主節點、從節點),前端數據的寫請求必須提交到主節點,讀請求可以直接通過從節點返回。本專利技術的專利技術人在實現本專利技術的過程中發現:基于主-備模式的現有技術至少存在如下問題:主-備異步同步的方式會存在寫數據的主備同步周期,在數據從主節點到從節點的寫入過程中會存在一定時間內的數據無法恢復,數據可靠性也不高。基于多副本模式的現有技術至少存在如下問題:由于數據會寫入多個副本,每次的讀寫操作又會只選取其中的幾份數據,使得數據一致性非常差,當寫操作很頻繁時,各個節點存儲的數據版本相差很大,造成節點之間數據存儲不統一,因此無法處理復雜的邏輯。基于zooke印er存儲元數據集群的現有技術至少存在如下問題:該方式主要是為讀多寫少的場景而設計,為了提高處理性能,前端和集群所有的節點都可以直接交互,并且集群可以動態擴容以進一步擴展集群吞吐量。由于前端是和集群中的所有節點直接交互,因此寫操作時需要該交互節點將收到的數據轉發到主節點,即如果前端和從節點進行交互,那么寫操作只能通過從節點轉發數據到主節點,因此需要多一次節點轉發的過程,當節點個數超過5個時,寫性能大幅下降。
技術實現思路
本專利技術實施例提供了一種元數據的處理方法和裝置,用于實現分布式存儲系統中元數據寫操作的可靠性和可用性。為解決上述技術問題,本專利技術實施例提供以下技術方案:第一方面,本專利技術實施例提供一種元數據的處理方法,包括:主節點獲取接入端發送的元數據寫請求,所述元數據寫請求包括:需要上傳到分布式存儲系統中的元數據,所述分布式存儲系統包括:2N+1個節點,其中1個節點為所述主節點,其余節點為2N個從節點,所述N為非零自然數;所述主節點根據所述元數據寫請求存儲所述元數據,并向所述2N個從節點分別發送所述元數據;若所述主節點接收到所述2N個從節點中至少N個從節點在存儲所述元數據之后返回的確認信息,所述主節點向所述接入端發送元數據寫響應。第二方面,本專利技術實施例還提供一種元數據的處理裝置,所述元數據的處理裝置具體為分布式存儲系統中的主節點,所述元數據的處理裝置,包括:獲取模塊,用于獲取接入端發送的元數據寫請求,所述元數據寫請求包括:需要上傳到分布式存儲系統中的元數據,所述分布式存儲系統包括:2N+1個節點,其中1個節點為所述主節點,其余節點為2N個從節點,所述N為非零自然數;存儲處理模塊,用于根據所述元數據寫請求存儲所述元數據,并向所述2N個從節點分別發送所述元數據;發送模塊,用于若所述主節點接收到所述2N個從節點中至少N個從節點在存儲所述元數據之后返回的確認信息,所述主節點向所述接入端發送元數據寫響應。從以上技術方案可以看出,本專利技術實施例具有以下優點:在本專利技術實施例中,主節點首先獲取接入端發送的元數據寫請求,元數據寫請求包括:需要上傳到分布式存儲系統中的元數據,分布式存儲系統包括:主節點和2N個從節點,主節點根據元數據寫請求存儲元數據,并向2N個從節點分別發送元數據,若主節點接收到2N個從節點中至少N個從節點在存儲元數據之后返回的確認信息,主節點向接入端發送元數據寫響應。本專利技術實施例中接入端和分布式存儲系統之間的寫操作都通過主節點來實現,主節點將接入端發送的元數據存儲之后,主節點向分布式存儲系統中的2N個從節點都發送該元數據,2N個從節點將接收到的元數據存儲并向主節點返回確認信息,在主節點接收到至少N個從節點返回的確認信息之后,主節點向接入端發送元數據寫響應。本專利技術實施例中接入端的寫操作通過主節點來完成,因此可以保證主節點中存儲最新的元數據,接入端發送的元數據被成功存儲在分布式存儲系統的至少N+1個節點中,從而實現分布式存儲系統中元數據寫操作的可靠性和可用性。【附圖說明】為了更清楚地說明本專利技術實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的一些實施例,對于本領域的技術人員來講,還可以根據這些附圖獲得其他的附圖。圖1為本專利技術實施例提供的分布式存儲系統的組成架構示意圖;圖2為本專利技術實施例提供的一種元數據的處理方法的流程方框示意圖;圖3為本專利技術實施例提供的一種主節點的選擇過程示意圖;圖4為本專利技術實施例提供的一種接入端和分布式存儲系統的交互流程示意圖;圖5-a為本專利技術實施例提供的一種元數據的處理裝置的組成結構示意圖;圖5-b為本專利技術實施例提供的一種存儲處理模塊的組成結構示意圖;圖5-c為本專利技術實施例提供的另一種元數據的處理裝置的組成結構示意圖;圖6為本專利技術實施例提供的元數據的處理方法應用于服務器的組成結構示意圖。【具體實施方式】本專利技術實施例提供了一種元數據的處理方法和裝置,用于實現分布式存儲系統中元數據寫操作的可靠性和可用性。為使得本專利技術的專利技術目的、特征、優點能夠更加的明顯和易懂,下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚、完整地描述,顯然,下面所描述的實施例僅僅是本專利技術一部分實施例,而非全部實施例。基于本專利技術中的實施例,本領域的技術人員所獲得的所有其他實施例,都屬于本專利技術保護的范圍。本專利技術的說明書和權利要求書及上述附圖中的術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,以便包含一系列單元的過程、方法、系統、產品或設備不必限于那些單元,而是可包括沒有清楚地列出的或對于這些過程、方法、產品或設備固有的其它單元。以下分別進行詳細說明。本專利技術元數據的處理方法的一個實施例,具體可以應用于分布式存儲系統中對元數據的處理。首先對本專利技術實施例中分布式存儲系統的組成架構進行說明,請參閱如圖1所示,為本專利技術實施例提供的分布式存儲系統的組成架構示意圖。其中,分布式存儲系統包括:2N+1個節點,其中1個節點為主節點,其余節點為2N個從節點,N為非零自然數。本專利技術實施例中分布式存儲系統共包括本文檔來自技高網...
【技術保護點】
一種元數據的處理方法,其特征在于,包括:主節點獲取接入端發送的元數據寫請求,所述元數據寫請求包括:需要上傳到分布式存儲系統中的元數據,所述分布式存儲系統包括:2N+1個節點,其中1個節點為所述主節點,其余節點為2N個從節點,所述N為非零自然數;所述主節點根據所述元數據寫請求存儲所述元數據,并向所述2N個從節點分別發送所述元數據;若所述主節點接收到所述2N個從節點中至少N個從節點在存儲所述元數據之后返回的確認信息,所述主節點向所述接入端發送元數據寫響應。
【技術特征摘要】
【專利技術屬性】
技術研發人員:周健,
申請(專利權)人:騰訊科技深圳有限公司,
類型:發明
國別省市:廣東;44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。