本發明涉及分布式系統技術領域,尤其涉及一種分布式文件系統數據分布方法及裝置。
背景技術:
在信息爆炸的時代人類獲取的數據成指數倍的增長,通過增加硬盤個數來擴展計算機文件系統的存儲容量的方式,其缺陷在于其容量的大小、容量增長的速度、數據備份、數據安全等方面的表現隨著時代的發展逐步的放大。分布式文件系統可以有效解決數據的存儲和管理難題,即將固定于某個地點的某個文件系統,擴展到任意多個地點/多個文件系統,由眾多的x86硬件平臺節點組成一個文件系統網絡。每個節點可以分布在不同的地點,通過網絡進行節點間的通信和數據傳輸。人們在使用分布式文件系統時,無需關心數據是存儲在哪個節點上、或者是從哪個節點從獲取的,只需要像使用本地文件系統一樣管理和存儲文件系統中的數據。解決了現有技術傳統存儲容量、價格、擴容及硬件廠商的限制等關鍵問題。
上述內容僅用于輔助理解本發明的技術方案,并不代表承認上述內容是現有技術。
技術實現要素:
本發明的主要目的在于提供一種分布式文件系統數據分布方法,旨在解決傳統存儲容量小、價格高、擴容復雜及其硬件廠商限制等一系列的問題。
本發明提供的一種分布式文件系統數據分布方法,包括:
將文件進行對象化處理,得到該文件的對象文件;
運用文件分布算法計算所述對象文件的對象id;
將對象文件通過對象id映射至對應的對象存儲列表,并根據對象存儲列表的位置確認所述對象文件的對應osd存儲區域。
優選地,所述將對象文件通過對象id映射至對應的對象存儲列表,并根據對象存儲列表的位置確認所述對象文件的對應osd存儲區域之后,還包括:
將所述對象文件存儲至對象存儲列表的對應osd存儲區域,所述對象文件及對象id的映射關系保存至對象存儲列表。
優選地,所述方法,還包括:
接收協議客戶端發送的控制監管命令,控制協議客戶端通過監管節點檢測系統節點的健康狀態。
優選地,所述方法,還包括:
通過監管節點系統掛載訪問接口檢測當前osd存儲區域節點及元數據節點的健康狀態;所述數據健康狀態包括數據有效性及osd存儲容量。
優選地,所述方法,還包括:
在接收到寫入文件及讀取文件指令時,通過通用協議客戶端向分布式文件系統中進行寫入及讀取操作。
此外,為實現上述目的,本發明還提供一種分布式文件系統數據分布裝置,包括:
轉化模塊,用于將文件進行對象化處理,得到該文件的對象文件;
計算模塊,用于運用文件分布算法計算所述對象文件的對象id;
操作模塊,用于將對象文件通過對象id映射至對應的對象存儲列表,并根據對象存儲列表的位置確認所述對象文件的對應osd存儲區域。
優選地,所述裝置還包括:
存儲模塊,用于將所述對象文件存儲至對象存儲列表的對應osd存儲區域,所述對象文件及對象id的映射關系保存至對象存儲列表。
優選地,還包括:
接收模塊,用于接收協議客戶端發送的控制監管命令;
控制模塊,用于控制協議客戶端通過監管節點檢測系統節點的健康狀態。
優選地,所述裝置還包括:
檢測模塊,用于通過監管節點系統掛載訪問接口檢測當前osd存儲區域節點及元數據節點的健康狀態;所述數據健康狀態包括數據有效性及osd存儲容量。
優選地,所述裝置還包括:
處理模塊,用于在接收到寫入文件及讀取文件指令時,通過通用協議客戶端向分布式文件系統中進行寫入及讀取操作。
本發明通過將文件進行對象化處理,得到該文件的對象文件;運用文件分布算法計算所述對象文件的對象id;將對象文件通過對象id映射至對應的對象存儲列表,并根據對象存儲列表的位置確認所述對象文件的對應osd存儲區域。實現了分布式文件存儲容量、價格、擴容及硬件廠商的限制等一系列問題。
附圖說明
圖1為本發明分布式文件系統數據分布方法的第一實施例的流程示意圖;
圖2為分布式文件系統文件存儲的相關的步驟;
圖3為本發明分布式文件系統數據分布方法的第二實施例的流程示意圖;
圖4為本發明分布式文件系統數據分布方法的第三實施例的流程示意圖;
圖5為本發明分布式文件系統數據分布方法的第一實施例的功能模塊示意圖;
圖6為本發明分布式文件系統數據分布裝置的第二實施例的功能模塊示意圖;
圖7為本發明分布式文件系統數據分布裝置的第三實施例的功能模塊示意圖。
本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
基于上述問題,本發明提供一種分布式文件系統數據分布方法。
參照圖1,圖1為本發明分布式文件系統數據分布方法的第一實施例的流程示意圖。
在一實施例中,所述方法包括:
步驟s10,將文件進行對象化處理,得到所述文件的對象文件;
獲取需進行存儲的文件,所述獲取需存儲的文件,所述需存儲的文件來自有文件存儲需求的電子終端或與電子終端關聯的其他電子設備;待獲取到需進行存儲的文件后,將文件進行對象化處理;所述文件對象化處理,根據當前已設置的對象處理方式,對文件進行對象化處理;所述對象化,是主體向客體的轉化,具體操作方式與當前已設置的文件對象化方式有關。文件經過對象化處理后,得到所述文件的對象文件。
步驟s20,運用文件分布算法計算所述對象文件的對象id;
通過文件分布算法,以所述獲取到的有存儲需求的文件經過對象化后得到的對象文件為參數進行計算,得到一個隨機且唯一的對象id,所述對象id與所述對象文件為一對一的關系,且所述對象id是基于對象文件才生成的,與對象文件具有同一性。所述文件分布算法,為一種隨機的文件分布算法,用以生成對象文件的對象id。
步驟s30,將對象文件通過對象id映射至對應的對象存儲列表,并根據對象存儲列表的位置確認所述對象文件的對應osd存儲區域。
將對象文件通過對象id映射至對象存儲列表,即將對象文件保存至對象存儲列表,以對象id為標識在對象存儲列表中顯示。待對象文件存儲完成后,以當前對象存儲列表的位置,確認對象文件對應的osd存儲區域。所述對象存儲列表對應osd存儲的不同區域,即一個osd存儲區域擁有多個對象存儲列表,對象存儲列表根據預設順序排列后,對應至osd的存儲區域,所述osd存儲對應的對象存儲列表的預設順序,根據當前osd存儲區域的相關功能進行設置,即在osd存儲區域設置當前osd對應的對象存儲列表;對象存儲列表相當于osd存儲區域的目錄,根據對象存儲列表設定的范圍,以確認該對象存儲列表中存儲的對象文件在osd存儲區域的范圍。可查看圖2,圖2為分布式文件系統文件存儲的相關的步驟。
進一步的,所述將對象文件通過對象id映射至對應的對象存儲列表,并根據對象存儲列表的位置確認所述對象文件的對應osd存儲區域之后,還包括:
將所述對象文件存儲至對象存儲列表的對應osd存儲區域,所述對象文件及對象id的映射關系保存至對象存儲列表。
通過對象id將所述對象文件存儲到對象存儲列表后,根據當前對象存儲列表位于的osd存儲區域,將存儲于該對象存儲列表的對象文件繼續存儲于osd存儲區域中保存,保存至osd存儲區域的對象文件以對象存儲列表中映射的對象id為標識進行。即對象文件及對象id的映射關系保存至對象存儲列表中。
本實施例通過將有存儲需求的文件進行對象化后,使用該對象文件對應的唯一對象id存儲于對象存儲列表后,通過該對象存儲列表位于osd存儲區域的位置,將對象文件存儲至osd對應存儲位置中,并將該對象文件及對象id的映射關系保存于對象存儲列表,以目錄的形式展現,便于后期該對象文件的讀取、定位及備份操作。降低了文件存儲時所占用的容量,繼而減低存儲成本并提高了osd存儲區域的數據存儲使用率。
參照圖3,圖3為本發明分布式文件系統數據分布方法的第二實施例的流程示意圖。基于上述方法的第一實施例,所述方法,還包括:
步驟s40,接收協議客戶端發送的控制監管命令,控制協議客戶端通過監管節點檢測分布式文件系統節點的健康狀態,所述分布式文件系統,為當前文件存儲至osd存儲區域的整個操作過程。
與分布式文件系統所在終端或直接與分布式文件系統進行關聯的協議客戶端,預設周期內發起對當前分布式文件系統的控制監管命令,用以檢查當前分布式文件系統節點的健康狀態。待所述分布式系統接收到控制監管命令后,根據所述監管命令內容,控制所述分布式文件系統的監控功能,對應檢查分布式文件系統的的節點健康狀態。所述分布式文件系統節點,包括文件對象化存儲至osd存儲區域的各個操作步驟都稱之為分布式文件系統節點。即所述分布式文件系統,為當前文件存儲至osd存儲區域的整個操作過程。
步驟s50,通過監管節點系統掛載訪問接口檢測當前osd存儲區域節點及元數據節點的健康狀態;所述數據健康狀態包括數據有效性及osd存儲容量。
根據接收到的協議客戶端的控制監管命令,使對應協議客戶端通過監管節點系統掛載訪問接口檢測當前osd存儲區域節點及元數據節點的健康狀態,所述監管節點系統掛載訪問接口,為在分布式系統中預留的訪問接口,用以監管當前分布式文件節點的健康狀態。所述數據健康狀態,包括分布式文件系統中已存儲的數據有效性、osd存儲容量、分布式文件系統的數據保存至osd操作節點等,具體的詳細系統滿意度節點、滿意度內容及處理方式等,根據當前分布式文件系統相關的功能設置。
參照圖4,圖4為本發明分布式文件系統數據分布方法的第三實施例的流程示意圖。基于上述方法的第一實施例,所述方法,還包括:
步驟s60,在接收到寫入文件及讀取文件指令時,通過通用協議客戶端向分布式文件系統中進行寫入及讀取操作。
所述分布式文件系統數據分布方法中,通過自文件來源獲取到的文件,進行對象化處理等操作后保存至對應osd存儲區域,即文件寫入操作;之后,已存儲自osd存儲區域的文件內容,并且,所述已存儲至osd存儲區域的文件內容;此種操作方式的發起,皆通過協議客戶端的相關功能進行發起。
其具體流程為,若當前有寫入文件需求,于協議客戶端的寫入文件功能中控制進行文件寫入操作,即發起寫入文件指令,待分布式文件系統中接收到所述文件寫入操作指令時,根據指令相關內容獲取對應文件,并將所述文件進行對象化處理后得到對象文件,獲取到所述對象文件的對象id,之后,通過該對象id將對象文件映射至對象存儲列表中保存,根據該對象存儲列表于對應的osd存儲區域,將對象文件保存至osd存儲區域,并將該對象文件與對象id的映射關系保存至對象存儲列表,以目錄形式保存;
若當前有讀取文件需求,于協議客戶端的讀取文件功能中控制進行文件讀取操作,即發起文件讀取指令,待分布式文件接收到讀取文件指令時,根據所述文件讀取指令的相關內容,于對象存儲列表中讀取對應的對象id內容,并根據讀取到的對象id對應的映射關系,定位至對象文件存儲位置,之后,讀取該對象文件的內容。
其中,使用當前協議客戶端發起文件讀取及寫入指令,前提為當前協議客戶端為當前分布式系統文件承認并正常連接的終端,所述連接方式,為分布式文件系統設計的連接方式,或者為現有技術的無線連接、有線連接方式,在此不多贅述。
上述第一至第三實施例的分布式文件系統數據分布方法的執行主體可以為有分布式文件系統安裝條件的電子終端或與該電子終端進行關聯的其他電子終端。更進一步地,其協議客戶端為滿足相關操作功能的電子終端,其中,該滿足分布式文件系統安裝條件的電子終端或與該終端關聯的其他電子終端可以包括但不限于筆記本電腦、一體機等電子終端。所述協議客戶端包括但不限于手機、pad、筆記本電腦等。
本發明進一步提供一種分布式文件系統數據分布裝置。
參照圖5,圖5為本發明分布式文件系統數據分布裝置的第一實施例的功能模塊示意圖。
在一實施例中,所述裝置包括:轉化模塊10、計算模塊20、操作模塊30及存儲模塊40。
轉化模塊10,用于將文件進行對象化處理,得到所述文件的對象文件;
獲取需進行存儲的文件,所述獲取需存儲的文件,所述需存儲的文件來自有文件存儲需求的電子終端或與電子終端關聯的其他電子設備;待獲取到需進行存儲的文件后,將文件進行對象化處理;所述文件對象化處理,根據當前已設置的對象處理方式,對文件進行對象化處理;所述對象化,是主體向客體的轉化,具體操作方式與當前已設置的文件對象化方式有關。文件經過對象化處理后,得到所述文件的對象文件。
計算模塊20,用于運用文件分布算法計算所述對象文件的對象id;
通過文件分布算法,以所述獲取到的有存儲需求的文件經過對象化后得到的對象文件為參數進行計算,得到一個隨機且唯一的對象id,所述對象id與所述對象文件為一對一的關系,且所述對象id是基于對象文件才生成的,與對象文件具有同一性。所述文件分布算法,為一種隨機的文件分布算法,用以生成對象文件的對象id。
操作模塊30,用于將對象文件通過對象id映射至對應的對象存儲列表,并根據對象存儲列表的位置確認所述對象文件的對應osd存儲區域。
將對象文件通過對象id映射至對象存儲列表,即將對象文件保存至對象存儲列表,以對象id為標識在對象存儲列表中顯示。待對象文件存儲完成后,以當前對象存儲列表的位置,確認對象文件對應的osd存儲區域。所述對象存儲列表對應osd存儲的不同區域,即一個osd存儲區域擁有多個對象存儲列表,對象存儲列表根據預設順序排列后,對應至osd的存儲區域,所述osd存儲對應的對象存儲列表的預設順序,根據當前osd存儲區域的相關功能進行設置,即在osd存儲區域設置當前osd對應的對象存儲列表;對象存儲列表相當于osd存儲區域的目錄,根據對象存儲列表設定的范圍,以確認該對象存儲列表中存儲的對象文件在osd存儲區域的范圍。可查看圖2,圖2為分布式文件系統文件存儲的相關的步驟。
進一步的,所述將對象文件通過對象id映射至對應的對象存儲列表,并根據對象存儲列表的位置確認所述對象文件的對應osd存儲區域之后,還包括:
存儲模塊40,用于將所述對象文件存儲至對象存儲列表的對應osd存儲區域,所述對象文件及對象id的映射關系保存至對象存儲列表。
通過對象id將所述對象文件存儲到對象存儲列表后,根據當前對象存儲列表位于的osd存儲區域,將存儲于該對象存儲列表的對象文件繼續存儲于osd存儲區域中保存,保存至osd存儲區域的對象文件以對象存儲列表中映射的對象id為標識進行。即對象文件及對象id的映射關系保存至對象存儲列表中。
本實施例通過將有存儲需求的文件進行對象化后,使用該對象文件對應的唯一對象id存儲于對象存儲列表后,通過該對象存儲列表位于osd存儲區域的位置,將對象文件存儲至osd對應存儲位置中,并將該對象文件及對象id的映射關系保存于對象存儲列表,以目錄的形式展現,便于后期該對象文件的讀取、定位及備份操作。降低了文件存儲時所占用的容量,繼而減低存儲成本并提高了osd存儲區域的數據存儲使用率。
參照圖6,圖6為本發明分布式文件系統數據分布裝置的第二實施例的功能模塊示意圖。所述裝置還包括接收模塊50、控制模塊60、檢測模塊70。
接收模塊50,用于接收協議客戶端發送的控制監管命令;
與分布式文件系統所在終端或直接與分布式文件系統進行關聯的協議客戶端,預設周期內發起對當前分布式文件系統的控制監管命令,用以檢查當前分布式文件系統節點的健康狀態。當所述協議客戶端發起控制監管命令后,所述分布式系統接收控制監管命令。
控制模塊60,用于控制協議客戶端通過監管節點檢測系統節點的健康狀態。
根據所述監管命令內容,控制所述分布式文件系統的監控功能,對應檢查分布式文件系統的的節點健康狀態。所述分布式文件系統節點,包括文件對象化存儲至osd存儲區域的各個操作步驟都稱之為分布式文件系統節點。即所述分布式文件系統,為當前文件存儲至osd存儲區域的整個操作過程。
檢測模塊70,用于通過監管節點系統掛載訪問接口檢測當前osd存儲區域節點及元數據節點的健康狀態;所述數據健康狀態包括數據有效性及osd存儲容量。
根據接收到的協議客戶端的控制監管命令,使對應協議客戶端通過監管節點系統掛載訪問接口檢測當前osd存儲區域節點及元數據節點的健康狀態,所述監管節點系統掛載訪問接口,為在分布式系統中預留的訪問接口,用以監管當前分布式文件節點的健康狀態。所述數據健康狀態,包括分布式文件系統中已存儲的數據有效性、osd存儲容量、分布式文件系統的數據保存至osd操作節點等,具體的詳細系統滿意度節點、滿意度內容及處理方式等,根據當前分布式文件系統相關的功能設置。
參照圖7,圖7為本發明分布式文件系統數據分布裝置的第三實施例的功能模塊示意圖。所述裝置還包括處理模塊80。
處理模塊80,用于在接收到寫入文件及讀取文件指令時,通過通用協議客戶端向分布式文件系統中進行寫入及讀取操作。
所述分布式文件系統數據分布方法中,通過自文件來源獲取到的文件,進行對象化處理等操作后保存至對應osd存儲區域,即文件寫入操作;之后,已存儲自osd存儲區域的文件內容,并且,所述已存儲至osd存儲區域的文件內容;此種操作方式的發起,皆通過協議客戶端的相關功能進行發起。
其具體流程為,若當前有寫入文件需求,于協議客戶端的寫入文件功能中控制進行文件寫入操作,即發起寫入文件指令,待分布式文件系統中接收到所述文件寫入操作指令時,根據指令相關內容獲取對應文件,并將所述文件進行對象化處理后得到對象文件,獲取到所述對象文件的對象id,之后,通過該對象id將對象文件映射至對象存儲列表中保存,根據該對象存儲列表于對應的osd存儲區域,將對象文件保存至osd存儲區域,并將該對象文件與對象id的映射關系保存至對象存儲列表,以目錄形式保存;
若當前有讀取文件需求,于協議客戶端的讀取文件功能中控制進行文件讀取操作,即發起文件讀取指令,待分布式文件接收到讀取文件指令時,根據所述文件讀取指令的相關內容,于對象存儲列表中讀取對應的對象id內容,并根據讀取到的對象id對應的映射關系,定位至對象文件存儲位置,之后,讀取該對象文件的內容。
其中,使用當前協議客戶端發起文件讀取及寫入指令,前提為當前協議客戶端為當前分布式系統文件承認并正常連接的終端,所述連接方式,為分布式文件系統設計的連接方式,或者為現有技術的無線連接、有線連接方式,在此不多贅述。
以上僅為本發明的優選實施例,并非因此限制本發明的專利范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護范圍內。