本發明專利技術實施例提供一種副本存儲裝置及副本存儲方法。本發明專利技術實施例提供的副本存儲裝置及副本存儲方法,通過為主副本和從副本劃分相互獨立的主副本空間和從副本空間,并以主副本空間和從副本空間為界進行數據的讀寫等操作:通過對主副本寫請求和從副本寫請求進行區別處理,減少了寫請求的處理時延,提高了分布式系統的寫能力;通過使用非易失性存儲介質上的不同文件分別存儲主、從副本寫請求所攜帶的記錄,使主副本和從副本在存儲上可以分離,減少了查詢主副本記錄時需要查詢的文件數量和大小,提高了分布式系統的讀能力,同時也使得在主、從副本范圍變更時,減少了需要過濾的數據量,降低了分布式系統的資源消耗。
【技術實現步驟摘要】
本專利技術實施例涉及計算機技術,尤其涉及一種。
技術介紹
分布式系統8781:6111)是基于網絡建立的軟件系統。如何更好地利用每個分布式節點的性能,合理設計節點間交互模式,提高系統整體的讀寫能力、可用性與可擴展性,并要求系統有一定的容災能力,一直是分布式系統研究的熱點。 在分布式系統中會對數據進行分片或者分區,在考慮容災的場景下,需要對數據片或數據區進行多副本備份,例如,客戶端發送的寫請求(1%仏!'寫請求)先被發送到主副本(130610,然后,主副本與從副本(31^6)進行數據的同步或異步備份。在現有技術的主、從副本混合策略的節點(價)(16)中,在同一個節點上可以存儲不同數據片的主副本和從副本。 現有技術的分布式系統整體的讀寫能力不高、資源消耗較大。
技術實現思路
本專利技術實施例提供一種,以提高分布式系統整體的寫能力和讀能力,降低了分布式系統的資源消耗。 第一方面,本專利技術實施例提供一種副本存儲裝置,所述裝置包括: 分發模塊; 主副本空間,所述主副本空間包括第一內存表和第一副本文件;所述第一內存表,用于存儲所述主副本寫請求所攜帶的記錄,并在所述第一內存表中所有記錄所占用的內存大小達到第一預設值時,將所述第一內存表中所有記錄存儲到所述第一副本文件中; 從副本空間,所述從副本空間包括第二內存表和第二副本文件;所述第二內存表,用于存儲所述從副本寫請求所攜帶的記錄,并在所述第二內存表中所有記錄所占用的內存大小達到第二預設值時,將所述第二內存表中所有記錄存儲到所述第二副本文件中; 其中,所述分發模塊接收發送節點發送的寫請求,并判定所述寫請求的類型:若判定所述寫請求為主副本寫請求,則將所述主副本寫請求提交給所述主副本空間的第一內存表;若判定所述寫請求為從副本寫請求,則將所述從副本寫請求提交給所述從副本空間的第二內存表。 根據第一方面,在第一方面的第一種可能的實現方式中,所述主副本空間的第一內存表的數目至少為一個;和/或,所述從副本空間的第二內存表的數目至少為一個。 根據第一方面的第一種可能的實現方式,在第二種可能的實現方式中,所述主副本空間還包括快速選擇模塊;所述快速選擇模塊,用于接收所述分發模塊提交的所述主副本寫請求,根據所述主副本寫請求所攜帶的記錄的主鍵,從各所述第一內存表中確定用于存儲所述主副本寫請求所攜帶的記錄的目標第一內存表,并將所述主副本寫請求提交到所述目標第一內存表; 所述從副本空間還包括隊列模塊;所述隊列模塊,用于接收所述分發模塊提交的所述從副本寫請求,將所述從副本寫請求插入隊列,當所述隊列達到預設的隊列閾值時,將所述隊列中的所有從副本寫請求提交到所述第二內存表。 根據第一方面的第二種可能的實現方式,在第三種可能的實現方式中,所述隊列模塊,還用于在將所述從副本寫請求插入隊列之后,向所述發送節點發送從副本寫請求響應。 根據第一方面、第一方面的第一種至第三種可能的實現方式,在第四種可能的實現方式中,所述第一內存表,還用于在存儲所述主副本寫請求所攜帶的記錄之后,向預先設定的副本存儲節點發送攜帶所述記錄的從副本寫請求。 第二方面,本專利技術實施例提供一種副本存儲方法,所述方法包括: 應用于副本存儲裝置,其中,所述副本存儲裝置包括分發模塊、主副本空間和從副本空間; 所述主副本空間包括第一內存表和第一副本文件;所述第一內存表,用于存儲所述主副本寫請求所攜帶的記錄,并在所述第一內存表中所有記錄所占用的內存大小達到第一預設值時,將所述第一內存表中所有記錄存儲到所述第一副本文件中; 所述從副本空間包括第二內存表和第二副本文件;所述第二內存表,用于存儲所述從副本寫請求所攜帶的記錄,并在所述第二內存表中所有記錄所占用的內存大小達到第二預設值時,將所述第二內存表中所有記錄存儲到所述第二副本文件中; 所述副本存儲方法包括: 所述分發模塊接收發送節點發送的寫請求,并判定所述寫請求的類型: 若判定所述寫請求為主副本寫請求,則將所述主副本寫請求提交給所述主副本空間的第一內存表; 若判定所述寫請求為從副本寫請求,則將所述從副本寫請求提交給所述從副本空間的第二內存表。 根據第二方面,在第二方面的第一種可能的實現方式中,所述主副本空間的第一內存表的數目至少為一個;和/或,所述從副本空間的第二內存表的數目至少為一個。 根據第二方面的第一種可能的實現方式,在第二種可能的實現方式中,所述主副本空間還包括快速選擇模塊;所述從副本空間還包括隊列模塊; 所述將所述主副本寫請求提交給所述主副本空間的第一內存表,包括: 所述分發模塊將所述主副本寫請求提交給所述快速選擇模塊; 所述快速選擇模塊,接收所述分發模塊提交的所述主副本寫請求,根據所述主副本寫請求所攜帶的記錄的主鍵,從所述主副本空間的各所述第一內存表中確定用于存儲所述主副本寫請求所攜帶的記錄的目標第一內存表,并將所述主副本寫請求提交到所述目標第一內存表; 所述將所述從副本寫請求提交給所述從副本空間的第二內存表,包括: 所述分發模塊將所述主副本寫請求提交給所述隊列模塊; 所述隊列模塊,接收所述分發模塊提交的所述從副本寫請求,將所述從副本寫請求插入隊列,當所述隊列達到預設的隊列閾值時,將所述隊列中的所有從副本寫請求提交到所述第二內存表。 根據第二方面的第二種可能的實現方式,在第三種可能的實現方式中,所述隊列模塊接收所述分發模塊提交的所述從副本寫請求,并將所述從副本寫請求插入隊列之后,所述方法還包括: 所述隊列模塊向所述發送節點發送從副本寫請求響應。 根據第二方面、第二方面的第一種至第三種可能的實現方式,在第四種可能的實現方式中,所述第一內存表存儲所述主副本寫請求所攜帶的記錄之后,所述方法還包括: 所述第一內存表向預先設定的副本存儲節點發送攜帶所述記錄的從副本寫請求。 本專利技術實施例提供的,通過為主副本和從副本劃分相互獨立的主副本空間和從副本空間,并以主副本空間和從副本空間為界進行數據的讀寫等操作:通過對主副本寫請求和從副本寫請求進行區別處理,減少了寫請求的處理時延,提高了分布式系統的寫能力;通過使用非易失性存儲介質上的不同文件分別存儲主、從副本寫請求所攜帶的記錄,使主副本和從副本在存儲上可以分離,減少了查詢主副本記錄時需要查詢的文件數量和大小,提高了分布式系統的讀能力,同時也使得在主、從副本范圍 變更時,減少了需要過濾的數據量,降低了分布式系統的資源消耗。 【附圖說明】 為了更清楚地說明本專利技術實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。 圖1為本專利技術實施例提供的副本存儲裝置的結構示意圖; 圖2為本專利技術實施例提供的副本存儲裝置的另一結構示意圖; 圖3為本專利技術實施例提供的副本存儲裝置的又一結構示意圖; 圖4為本專利技術實施例提供的副本存儲方法的流程圖; 圖5為本專利技術實施例提供的副本存儲方法的另一流程圖; 圖6為本專利技術實施例提供的副本存儲方法的信令流程圖。 【具體實施方式】 為使本專利技術實施例的目的、本文檔來自技高網...
【技術保護點】
一種副本存儲裝置,其特征在于,包括:分發模塊;主副本空間,所述主副本空間包括第一內存表和第一副本文件;所述第一內存表,用于存儲所述主副本寫請求所攜帶的記錄,并在所述第一內存表中所有記錄所占用的內存大小達到第一預設值時,將所述第一內存表中所有記錄存儲到所述第一副本文件中;從副本空間,所述從副本空間包括第二內存表和第二副本文件;所述第二內存表,用于存儲所述從副本寫請求所攜帶的記錄,并在所述第二內存表中所有記錄所占用的內存大小達到第二預設值時,將所述第二內存表中所有記錄存儲到所述第二副本文件中;其中,所述分發模塊接收發送節點發送的寫請求,并判定所述寫請求的類型:若判定所述寫請求為主副本寫請求,則將所述主副本寫請求提交給所述主副本空間的第一內存表;若判定所述寫請求為從副本寫請求,則將所述從副本寫請求提交給所述從副本空間的第二內存表。
【技術特征摘要】
1.一種副本存儲裝置,其特征在于,包括: 分發模塊; 主副本空間,所述主副本空間包括第一內存表和第一副本文件;所述第一內存表,用于存儲所述主副本寫請求所攜帶的記錄,并在所述第一內存表中所有記錄所占用的內存大小達到第一預設值時,將所述第一內存表中所有記錄存儲到所述第一副本文件中; 從副本空間,所述從副本空間包括第二內存表和第二副本文件;所述第二內存表,用于存儲所述從副本寫請求所攜帶的記錄,并在所述第二內存表中所有記錄所占用的內存大小達到第二預設值時,將所述第二內存表中所有記錄存儲到所述第二副本文件中; 其中,所述分發模塊接收發送節點發送的寫請求,并判定所述寫請求的類型:若判定所述寫請求為主副本寫請求,則將所述主副本寫請求提交給所述主副本空間的第一內存表;若判定所述寫請求為從副本寫請求,則將所述從副本寫請求提交給所述從副本空間的第二內存表。2.根據權利要求1所述的裝置,其特征在于,所述主副本空間的第一內存表的數目至少為一個;和/或,所述從副本空間的第二內存表的數目至少為一個。3.根據權利要求2所述的裝置,其特征在于,所述主副本空間還包括快速選擇模塊;所述快速選擇模塊,用于接收所述分發模塊提交的所述主副本寫請求,根據所述主副本寫請求所攜帶的記錄的主鍵,從各所述第一內存表中確定用于存儲所述主副本寫請求所攜帶的記錄的目標第一內存表,并將所述主副本寫請求提交到所述目標第一內存表; 所述從副本空間還包括隊列模塊;所述隊列模塊,用于接收所述分發模塊提交的所述從副本寫請求,將所述從副本寫請求插入隊列,當所述隊列達到預設的隊列閾值時,將所述隊列中的所有從副本寫請求提交到所述第二內存表。4.根據權利要求3所述的裝置,其特征在于,所述隊列模塊,還用于在將所述從副本寫請求插入隊列之后,向所述發送節點發送從副本寫請求響應。5.根據權利要求1-4中任一項所述的裝置,其特征在于,所述第一內存表,還用于在存儲所述主副本寫請求所攜帶的記錄之后,向預先設定的副本存儲節點發送攜帶所述記錄的從副本寫請求。6.一種副本存儲方法,其特征在于,應用于副本存儲裝置,其中,所述副本存儲裝置包括分發模塊、主副本空間和從副本空間; 所述主副本空間包括第一內存表和第一副本文件;所述第一內存表,用于存儲所述主副本寫請求所...
【專利技術屬性】
技術研發人員:梁曉豪,
申請(專利權)人:華為技術有限公司,
類型:發明
國別省市:廣東;44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。