欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

應(yīng)用于分布式存儲系統(tǒng)中的數(shù)據(jù)存儲方法和系統(tǒng)的制作方法

文檔序號:7864884閱讀:211來源:國知局
專利名稱:應(yīng)用于分布式存儲系統(tǒng)中的數(shù)據(jù)存儲方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本申請涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)存儲方法和系統(tǒng)。
背景技術(shù)
存儲系統(tǒng)是指計算機中由存放程序和數(shù)據(jù)的各種存儲設(shè)備、控制部件及管理信息調(diào)度的設(shè)備(硬件)和算法(軟件)所組成的系統(tǒng),隨著大規(guī)模數(shù)據(jù)存儲的應(yīng)用需要,分布式存儲系統(tǒng),即將數(shù)據(jù)分散存儲在多臺獨立的服務(wù)器中,由于可以利用多臺服務(wù)器分擔(dān)存儲負(fù)荷,在一定程度上提高系統(tǒng)的可靠性以及存儲效率,因此成為數(shù)據(jù)存儲的主要發(fā)展方式。但是隨著高性能計算中心、數(shù)據(jù)中心以及云存儲服務(wù)中心等系統(tǒng)中存儲系統(tǒng)規(guī)模越來越大,包含的服務(wù)器數(shù)量越來越多,可靠性仍然是分布式存儲系統(tǒng)所面臨的重要問題之一 O現(xiàn)有技術(shù)中一種提高分布式存儲系統(tǒng)的可靠性方法是采用廉價冗余磁盤陣列方式,使用冗余備份特性來保證。即將多個磁盤按不同的組合方式組合成為一個大硬盤,從而提供比單個硬盤更高的存儲性能。但是由于分布式存儲系統(tǒng)可靠性不僅取決于磁盤陣列的可靠性,還涉及到存儲服務(wù)器、存儲網(wǎng)絡(luò)等的穩(wěn)定性問題,且大規(guī)模的分布式存儲系統(tǒng)往往綜合使用多種類型的存儲方式進(jìn)行存儲,因此仍舊存在數(shù)據(jù)損壞、數(shù)據(jù)難以擴展、數(shù)據(jù)恢復(fù)緩慢、操作性差等可靠性問題。總之,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個技術(shù)問題就是如何能夠創(chuàng)新的提出一種有效的數(shù)據(jù)存儲方法,以解決現(xiàn)有技術(shù)中分布式存儲系統(tǒng)的可靠性低問題。

發(fā)明內(nèi)容
本申請所要解決的技術(shù)問題是提供一種應(yīng)用于分布式存儲系統(tǒng)的數(shù)據(jù)存儲方法,用以解決現(xiàn)有技術(shù)中數(shù)據(jù)存儲可靠性低的技術(shù)問題。本申請還提供了一種應(yīng)用于分布式存儲系統(tǒng)的數(shù)據(jù)存儲系統(tǒng),用以保證上述方法在實際中的實現(xiàn)及應(yīng)用。為了解決上述問題,本申請公開了一種應(yīng)用于分布式存儲系統(tǒng)的數(shù)據(jù)存儲方法,包括確定待存儲數(shù)據(jù)的數(shù)據(jù)類別;查找所述待存儲數(shù)據(jù)的數(shù)據(jù)類別對應(yīng)的預(yù)設(shè)的存儲規(guī)則,所述預(yù)設(shè)的存儲規(guī)則包括副本數(shù)目以及不同的存儲位置信息;依據(jù)所述副本數(shù)目,生成所述待存儲數(shù)據(jù)的數(shù)據(jù)副本;將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息對應(yīng)的存儲節(jié)點中。優(yōu)選地,所述待存儲數(shù)據(jù)具體為待存儲文件,則所述確定待存儲數(shù)據(jù)的數(shù)據(jù)類別包括獲取待存儲文件的文件名后綴;依據(jù)所述文件名后綴,確定所述待存儲文件的數(shù)據(jù)類別。
優(yōu)選地,所述將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息分別對應(yīng)的存儲節(jié)點中包括調(diào)用所述分布式存儲系統(tǒng)的文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息分別對應(yīng)的存儲節(jié)點中。優(yōu)選地,所述調(diào)用所述分布式存儲系統(tǒng)的文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同的存儲節(jié)點地址對應(yīng)的存儲節(jié)點中包括確定所述分布式存儲系統(tǒng)的文件系統(tǒng)類型;查找保存的所述文件系統(tǒng)類型對應(yīng)的配置接口函數(shù);通過所述配置接口函數(shù)調(diào)用所述文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同的存儲節(jié)點地址對應(yīng)的存儲節(jié)點中。優(yōu)選地,所述將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息分別對應(yīng)的存儲節(jié)點中包括確定所述不同的存儲位置信息分別對應(yīng)的存儲節(jié)點,以及每一存儲節(jié)點應(yīng)用的文件系統(tǒng);查找不同的文件系統(tǒng)的類型分別對應(yīng)的配置接口函數(shù);通過所述不同配置接口函數(shù)調(diào)用對應(yīng)的文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同存儲位置信息對應(yīng)的存儲節(jié)點中。優(yōu)選地,所述將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息對應(yīng)的存儲節(jié)點中后,所述方法還包括當(dāng)接收到數(shù)據(jù)訪問請求時,依據(jù)所述數(shù)據(jù)訪問請求確定請求訪問的目標(biāo)數(shù)據(jù)類別;查找所述目標(biāo)數(shù)據(jù)類別對應(yīng)的目標(biāo)存儲規(guī)則;依據(jù)所述目標(biāo)存儲規(guī)則中的存儲位置信息,確定所述目標(biāo)數(shù)據(jù)的不同目標(biāo)數(shù)據(jù)副本分別對應(yīng)的目標(biāo)存儲節(jié)點;按照所述數(shù)據(jù)訪問請求的操作類型,處理所述每一目標(biāo)存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本。優(yōu)選地,所述處理所述每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本包括判斷所述每一存儲節(jié)點是否為有效存儲節(jié)點,獲得第一判斷結(jié)果;根據(jù)所述第一判斷結(jié)果,當(dāng)存儲節(jié)點為有效存儲節(jié)點時,處理所述有效存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本。優(yōu)選地,所述操作類型具體為數(shù)據(jù)更新操作,則處理所述存儲節(jié)點中的有效存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本后,所述方法還包括判斷所述存儲節(jié)點的目標(biāo)數(shù)據(jù)副本是否更新成功,獲得第二判斷結(jié)果;根據(jù)所述第二判斷結(jié)果,確定更新成功的存儲節(jié)點為有效存儲節(jié)點,更新失敗的存儲節(jié)點為無效存儲節(jié)點。為了解決上述問題,本申請還公開了一種應(yīng)用于分布式存儲系統(tǒng)中的數(shù)據(jù)存儲系統(tǒng),包括數(shù)據(jù)類別確定模塊,用于確定待存儲數(shù)據(jù)的數(shù)據(jù)類別;規(guī)則查找模塊,用于查找所述待存儲數(shù)據(jù)的數(shù)據(jù)類別對應(yīng)的預(yù)設(shè)的存儲規(guī)則,所述預(yù)設(shè)的存儲規(guī)則包括副本數(shù)目以及不同的存儲位置信息;副本生成模塊,用于依據(jù)所述副本數(shù)目,生成所述待存儲數(shù)據(jù)的數(shù)據(jù)副本;數(shù)據(jù)存儲模塊,用于將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息對應(yīng)的存儲節(jié)點中。優(yōu)選地,所述數(shù)據(jù)類別確定模塊包括
獲取模塊,用于獲取待存儲文件的文件名后綴;類別確定子模塊,用于依據(jù)所述文件名后綴,確定所述待存儲文件的數(shù)據(jù)類別。優(yōu)選地,所述數(shù)據(jù)存儲模塊具體用于調(diào)用所述分布式存儲系統(tǒng)的文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息對應(yīng)的存儲節(jié)點中。優(yōu)選地,所述數(shù)據(jù)存儲模包括系統(tǒng)類型確定模塊,用于確定所述分布式存儲系統(tǒng)的文件系統(tǒng)類型;第一函數(shù)查找模塊,用于查找保存的所述文件系統(tǒng)類型對應(yīng)的配置接口函數(shù);第一存儲子模塊,用于通過所述配置接口函數(shù)調(diào)用所述文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同的存儲節(jié)點地址對應(yīng)的存儲節(jié)點中。優(yōu)選地,所述數(shù)據(jù)存儲模塊包括節(jié)點確定模塊,用于確定所述不同的存儲位置信息分別對應(yīng)的存儲節(jié)點,以及每一存儲節(jié)點應(yīng)用的文件系統(tǒng);第二函數(shù)查找模塊,用于查找不同的文件系統(tǒng)的類型分別對應(yīng)的配置接口函數(shù);第二存儲子模塊,用于通過所述不同配置接口函數(shù)調(diào)用對應(yīng)的文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同存儲位置信息對應(yīng)的存儲節(jié)點中。優(yōu)選地,所述系統(tǒng)還包括數(shù)據(jù)請求模塊,用于接收數(shù)據(jù)訪問請求,依據(jù)所述數(shù)據(jù)訪問請求確定請求訪問的目標(biāo)數(shù)據(jù)類別;目標(biāo)規(guī)則查找模塊,用于查找所述目標(biāo)數(shù)據(jù)類別對應(yīng)的目標(biāo)存儲規(guī)則;目標(biāo)節(jié)點確定模塊,依據(jù)所述目標(biāo)存儲規(guī)則中的存儲位置信息,確定所述目標(biāo)數(shù)據(jù)的不同目標(biāo)數(shù)據(jù)副本分別對應(yīng)的存儲節(jié)點;處理模塊,用于按照所述數(shù)據(jù)訪問請求的操作類型,處理所述每一目標(biāo)存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本。優(yōu)選地,所述處理模塊包括第一判斷模塊,用于判斷所述每一存儲節(jié)點是否為有效存儲節(jié)點,獲得第一判斷結(jié)果;處理子模塊,用于根據(jù)所述第一判斷結(jié)果,當(dāng)存儲節(jié)點為有效存儲節(jié)點時,處理所述有效存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本。優(yōu)選地,所述操作類型具體為數(shù)據(jù)更新操作,所述系統(tǒng)還包括第二判斷模塊,用于判斷所述存儲節(jié)點的目標(biāo)數(shù)據(jù)副本是否更新成功,獲得第二判斷結(jié)果;節(jié)點效果確定模塊,用于根據(jù)所述第二判斷結(jié)果,確定更新成功的存儲節(jié)點為有效存儲節(jié)點,更新失敗的存儲節(jié)點為無效存儲節(jié)點。優(yōu)選地,所述系統(tǒng)還包括
用戶接口模塊,用于接收用戶的預(yù)設(shè)的存儲規(guī)則更新請求,更新所述預(yù)設(shè)的存儲規(guī)則,并保存更新后的預(yù)設(shè)的存儲規(guī)則。與現(xiàn)有技術(shù)相比,本申請包括以下優(yōu)點在本申請中,首先確定待存儲數(shù)據(jù)的數(shù)據(jù)類別,并查找該數(shù)據(jù)類別對應(yīng)的預(yù)設(shè)的存儲規(guī)則,根據(jù)預(yù)設(shè)的存儲規(guī)則中的副本數(shù)據(jù)生成該待存儲數(shù)據(jù)的多個數(shù)據(jù)副本,并將數(shù)據(jù)副本分別存儲到該預(yù)設(shè)的存儲規(guī)則中的存儲位置信息對應(yīng)的存儲節(jié)點中,通過對不同的數(shù)據(jù)類別有針對性的生成不同數(shù)目的數(shù)據(jù)副本進(jìn)行存儲,從而既保證了存儲數(shù)據(jù)的安全性、擴展性、可操作性等問題,又避免了對系統(tǒng)資源的占用,從而有效提高了存儲系統(tǒng)的可靠性。當(dāng)然,實施本申請的任一產(chǎn)品并不一定需要同時達(dá)到以上所述的所有優(yōu)點。


為了更清楚地說明本申請實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是本申請的一種應(yīng)用于分布式存儲系統(tǒng)的數(shù)據(jù)存儲方法實施例I的流程圖;圖2是本申請的一種應(yīng)用于分布式存儲系統(tǒng)的數(shù)據(jù)存儲方法實施例2的流程圖;圖3是本申請的一種應(yīng)用于分布式存儲系統(tǒng)的數(shù)據(jù)存儲方法實施例3的流程圖;圖4是本申請的一種應(yīng)用于分布式存儲系統(tǒng)的數(shù)據(jù)存儲系統(tǒng)實施例4的結(jié)構(gòu)示意圖;圖5是本申請的一種應(yīng)用于分布式存儲系統(tǒng)的數(shù)據(jù)存儲系統(tǒng)實施例5的結(jié)構(gòu)示意圖;圖6是本申請的一種應(yīng)用于分布式存儲系統(tǒng)的數(shù)據(jù)存儲系統(tǒng)實施例6的結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護(hù)的范圍。本申請可用于眾多通用或?qū)S玫挠嬎阊b置環(huán)境或配置中。例如個人計算機、服務(wù)器計算機、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器裝置、包括以上任何裝置或設(shè)備的分布式計算環(huán)境等等。本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機存儲介質(zhì)中。
本申請的主要思想之一可以包括,首先確定待存儲數(shù)據(jù)的數(shù)據(jù)類別,并查找該數(shù)據(jù)類別對應(yīng)的預(yù)設(shè)的存儲規(guī)則,根據(jù)預(yù)設(shè)的存儲規(guī)則中的副本數(shù)據(jù)生成該待存儲數(shù)據(jù)的多個數(shù)據(jù)副本,并將數(shù)據(jù)副本分別存儲到該預(yù)設(shè)的存儲規(guī)則中的存儲位置信息對應(yīng)的存儲節(jié)點中,通過對不同的數(shù)據(jù)類別有針對性的生成不同數(shù)目的數(shù)據(jù)副本進(jìn)行存儲,從而既保證了存儲數(shù)據(jù)的安全性、擴展性、可操作性等問題,又避免了對系統(tǒng)資源的占用,從而有效提高了存儲系統(tǒng)的可靠性。參考圖1,示出了本申請一種應(yīng)用于分布式存儲系統(tǒng)的數(shù)據(jù)存儲方法實施例I的流程圖,可以包括以下步驟步驟101 :確定待存儲數(shù)據(jù)的數(shù)據(jù)類別。分布式存儲系統(tǒng)是一種集群存儲系統(tǒng),可以將數(shù)據(jù)分散存儲到不同的存儲服務(wù)器中,通過文件系統(tǒng)對數(shù)據(jù)進(jìn)行管理,文件系統(tǒng)是指用于管理磁盤或分區(qū)上的文件的方法和 數(shù)據(jù)結(jié)構(gòu)。其中,該待存儲數(shù)據(jù)可以是指元數(shù)據(jù)或者文件數(shù)據(jù)。文件數(shù)據(jù)和元數(shù)據(jù)是文件系統(tǒng)所管理的兩種存儲數(shù)據(jù)形式,文件數(shù)據(jù)包括目錄數(shù)據(jù)和實際數(shù)據(jù),而元數(shù)據(jù)是用來組織和管理文件數(shù)據(jù)的數(shù)據(jù)。在實際應(yīng)用中,作為一種可能的實現(xiàn)情況,所述待存儲數(shù)據(jù)可以是指元數(shù)據(jù)。本實施例中,待存儲數(shù)據(jù)在進(jìn)行存儲時,首先確定其數(shù)據(jù)類別,所述數(shù)據(jù)類別即是指用于區(qū)分不同數(shù)據(jù)的類型特征。所述數(shù)據(jù)類別可以根據(jù)待存儲數(shù)據(jù)的文件格式、文件類型、大小等進(jìn)行劃分。例如根據(jù)不同文件類型可以劃分圖像、動畫、聲音、文本、網(wǎng)頁等數(shù)據(jù)類別,根據(jù)文件格式可以劃分臨時文件、備份文件、幫助文件等數(shù)據(jù)類別,根據(jù)文件大小可以劃分大文件、小文件等數(shù)據(jù)類別,還可以根據(jù)數(shù)據(jù)的重要性進(jìn)行劃分,比如源碼、文檔等可以劃分為重要性數(shù)據(jù)。作為一種可能的實現(xiàn)方式,所述待存儲數(shù)據(jù)為待存儲文件時,確定待存儲數(shù)據(jù)的數(shù)據(jù)類別可以具體包括獲取待存儲文件的文件名后綴。依據(jù)所述文件名后綴,確定所述待存儲文件的數(shù)據(jù)類別。即根據(jù)待存儲文件的文件名后綴,可以確定該待存儲文件的數(shù)據(jù)類別。根據(jù)文件名后綴,可以得出該待存儲數(shù)據(jù)的文件格式、文件類型等信息,進(jìn)而可以確定出待存儲數(shù)據(jù)的數(shù)據(jù)類別。例如,文件名后綴為V0C”,“. wav”即為聲音文件,“.htm,,,“. html”是指網(wǎng)頁文件,“.doc”為文本文件等。又如,文件名后綴為tmp”,syd”,即為臨時文件,“.bak” “.old”即為備份文件等。繼而根據(jù)文件名后綴可以分析得出待存儲文件的數(shù)據(jù)類別。當(dāng)然,系統(tǒng)還可以預(yù)先存儲不同文件名后綴對應(yīng)的數(shù)據(jù)類別,從而可以直接查找獲得該待存儲數(shù)據(jù)的數(shù)據(jù)類別。步驟102 :查找所述數(shù)據(jù)類別對應(yīng)的預(yù)設(shè)的存儲規(guī)則,所述預(yù)設(shè)的存儲規(guī)則包括副本數(shù)目以及不同的存儲位置信息。本申請實施例中,預(yù)先為不同的數(shù)據(jù)類別對應(yīng)保存有存儲規(guī)則,所述存儲規(guī)則可以包括了副本數(shù)目以及不同的存儲位置信息,當(dāng)然還可以包括其他的存儲信息。副本數(shù)目是指待存儲數(shù)據(jù)可生成的副本數(shù)量,存儲位置信息可以是指分布式存儲系統(tǒng)可以提供的用于數(shù)據(jù)存儲的存儲節(jié)點,其可以包括存儲節(jié)點的地址、標(biāo)識等信息。 不同的數(shù)據(jù)類別對應(yīng)不同的存儲規(guī)則,其副本數(shù)目以及存儲位置信息也不同。比如對于數(shù)據(jù)類別為臨時文件的待存儲數(shù)據(jù),,為了減少性能損失,其副本數(shù)目可以設(shè)置為一,存儲位置信息包括一個存儲節(jié)點。又如數(shù)據(jù)類別為重要性數(shù)據(jù),如源碼、文檔等,其副本數(shù)目可以設(shè)置多個,對應(yīng)每一副本可以設(shè)置多個不同的存儲節(jié)點進(jìn)行存儲,存儲位置信息也即包括多個,其中的存儲地址或者存儲節(jié)點標(biāo)識可以根據(jù)分布式存儲系統(tǒng)可提供的存儲節(jié)點中。又如對于數(shù)據(jù)類別為大文件的數(shù)據(jù),其副本數(shù)目可以設(shè)置較少,而對于小文件的數(shù)據(jù),副本數(shù)據(jù)可以設(shè)置較多個。因此,本實施例中,根據(jù)不同的數(shù)據(jù)類別可以對應(yīng)有不同的存儲規(guī)則,從而可以根據(jù)數(shù)據(jù)本身的特性進(jìn)行存儲。其中,所述不同數(shù)據(jù)類別對應(yīng)的存儲規(guī)則,還可以依據(jù)用戶的更新請求,對存儲規(guī)則進(jìn)行更新。步驟103 :依據(jù)所述副本數(shù)目,生成所述待存儲數(shù)據(jù)的數(shù)據(jù)副本。數(shù)據(jù)副本是與待存儲數(shù)據(jù)完全一致的數(shù)據(jù),其可以為待存儲數(shù)據(jù)的復(fù)制數(shù)據(jù),待存儲數(shù)據(jù)以及復(fù)制數(shù)據(jù)均稱為待存儲數(shù)據(jù)的數(shù)據(jù)副本。根據(jù)所確定出的預(yù)設(shè)的存儲規(guī)則中的副本數(shù)目,可以生成副本數(shù)目個該待存儲數(shù)據(jù)的數(shù)據(jù)副本。步驟104 :將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息對應(yīng)的存儲節(jié)點中。根據(jù)不同存儲位置信息可以確定出用于存儲數(shù)據(jù)副本的不同存儲節(jié)點,從而可以將數(shù)據(jù)副本分別存儲到不同的存儲節(jié)點中。在不同存儲節(jié)點中存儲數(shù)據(jù)副本,保證了數(shù)據(jù)的可擴展性,且可以使得某一存儲節(jié)點的數(shù)據(jù)損壞時,仍可以使用其他存儲節(jié)點中的數(shù)據(jù)進(jìn)行正常的數(shù)據(jù)訪問操作。由于不同數(shù)據(jù)類別的待存儲數(shù)據(jù)其存儲方式不同,因此增加了數(shù)據(jù)的可操作性,且避免了一些數(shù)據(jù)對系統(tǒng)資源的占用,提高了數(shù)據(jù)的可靠性。在本實施例中,根據(jù)待存儲數(shù)據(jù)的數(shù)據(jù)類別,可以確定待存儲數(shù)據(jù)對應(yīng)的預(yù)設(shè)的存儲規(guī)則,從而可以依據(jù)該預(yù)設(shè)的存儲規(guī)則,生成數(shù)據(jù)副本并將數(shù)據(jù)副本相應(yīng)存儲到不同的存儲節(jié)點中,針對不同的數(shù)據(jù)類別有針對性的生成不同數(shù)目的數(shù)據(jù)副本進(jìn)行存儲,從而既保證了存儲數(shù)據(jù)的安全性、擴展性、可操作性等問題,又避免了對系統(tǒng)資源的占用,從而有效提高了存儲系統(tǒng)的可靠性。參考圖2,示出了本申請一種應(yīng)用于分布式存儲系統(tǒng)的數(shù)據(jù)存儲方法實施例2的流程圖,可以包括以下步驟步驟201 :確定待存儲數(shù)據(jù)的數(shù)據(jù)類別。其中,待存儲數(shù)據(jù)為待存儲文件時,可以首先猶取待存儲文件的文件名后綴。依據(jù)所述文件名后綴,確定所述待存儲文件的數(shù)據(jù)類別。步驟202 :查找所述數(shù)據(jù)類別對應(yīng)的預(yù)設(shè)的存儲規(guī)則,所述預(yù)設(shè)的存儲規(guī)則包括副本數(shù)目以及不同的存儲位置信息。步驟203 :依據(jù)所述副本數(shù)目,生成所述待存儲數(shù)據(jù)的數(shù)據(jù)副本。步驟20廣步驟203的操作可參見上述實施例I的步驟IOf步驟103,在此不再贅述。
步驟204 :調(diào)用所述分布式存儲系統(tǒng)的文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息對應(yīng)的存儲節(jié)點中。在分布式存儲系統(tǒng)中,通常通過文件系統(tǒng)對數(shù)據(jù)進(jìn)行管理,文件系統(tǒng)是操作系統(tǒng)用于管理磁盤或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu),即是一種在磁盤上組織文件的方法,在分布式存儲系統(tǒng)中,文件系統(tǒng)是分布于不同集群中。在本申請中,即調(diào)用存儲系統(tǒng)中的文件系統(tǒng),使用文件系統(tǒng)實現(xiàn)將數(shù)據(jù)副本分別存儲到不同的存儲節(jié)點中。在計算機網(wǎng)絡(luò)中,待存儲數(shù)據(jù)通常是由用戶進(jìn)程產(chǎn)生,因此所述待存儲數(shù)據(jù)可以是通過虛擬文件系統(tǒng)從用戶進(jìn)程獲取的數(shù)據(jù),虛擬文件系統(tǒng)是物理文件系統(tǒng)與用戶進(jìn)程服務(wù)之間的一個接口層。待存儲數(shù)據(jù)經(jīng)過上述處理后,即存儲到物理文件系統(tǒng)管理的不同存儲節(jié)點中。其中,在進(jìn)行數(shù)據(jù)存儲以及數(shù)據(jù)訪問時,不同文件系統(tǒng)所采用的算法或函數(shù)是不同。因此本申請實施例中,可以為不同的文件系統(tǒng)類型設(shè)置相應(yīng)的配置接口函數(shù),根據(jù)不同的文件系統(tǒng)類型,可以選擇對應(yīng)的配置接口函數(shù)實現(xiàn)數(shù)據(jù)的存儲和訪問。因此,在調(diào)用分布·式存儲系統(tǒng)的文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同的存儲節(jié)點地址對應(yīng)的存儲節(jié)點中可以具體為確定所述分布式存儲系統(tǒng)的文件系統(tǒng)類型;查找保存的所述文件系統(tǒng)類型對應(yīng)的配置接口函數(shù);通過所述配置接口函數(shù)調(diào)用所述文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同的存儲節(jié)點地址對應(yīng)的存儲節(jié)點中。在進(jìn)行數(shù)據(jù)訪問時,所述方法還可以包括步驟205 :當(dāng)接收到數(shù)據(jù)訪問請求時,依據(jù)所述數(shù)據(jù)訪問請求確定請求訪問的目標(biāo)數(shù)據(jù)的目標(biāo)數(shù)據(jù)類別。數(shù)據(jù)訪問請求包括數(shù)據(jù)讀取請求以及數(shù)據(jù)更新請求,數(shù)據(jù)更新可以包括數(shù)據(jù)的寫入、修改、刪除或者增加等操作。依據(jù)數(shù)據(jù)訪問請求請求訪問的目標(biāo)數(shù)據(jù),可以首先確定出該目標(biāo)數(shù)據(jù)的目標(biāo)數(shù)據(jù)類別。步驟206 :查找所述目標(biāo)數(shù)據(jù)類別對應(yīng)的目標(biāo)存儲規(guī)則。依據(jù)預(yù)設(shè)的不同數(shù)據(jù)類別對應(yīng)的存儲規(guī)則,可以查找該目標(biāo)數(shù)據(jù)類別對應(yīng)的目標(biāo)存儲規(guī)則。步驟207 :依據(jù)所述目標(biāo)存儲規(guī)則中的目標(biāo)存儲位置信息,確定所述目標(biāo)數(shù)據(jù)的不同目標(biāo)數(shù)據(jù)副本分別對應(yīng)的存儲節(jié)點。由于存儲規(guī)則中包括副本數(shù)目以及不同的存儲位置信息,因此可以依據(jù)目標(biāo)存儲規(guī)則中的目標(biāo)存儲位置信息,確定出該請求訪問的目標(biāo)數(shù)據(jù)的不同目標(biāo)數(shù)據(jù)副本分別對應(yīng)的存儲節(jié)點。步驟208 :按照所述數(shù)據(jù)訪問請求的操作類型,處理所述每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本。該操作類型也即可以包括讀取操作、更新操作,其中更新操作又可以包括數(shù)據(jù)修改、刪除或者增加等操作。依據(jù)不同的操作類型,可以同時對每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本進(jìn)行處理。
由于不同的原因,所述分布式存儲系統(tǒng)的存儲數(shù)據(jù)副本的存儲節(jié)點可能無效,因此在處理每一存儲節(jié)點的目標(biāo)數(shù)據(jù)副本可以首先判斷其是否為有效的存儲節(jié)點,若是,在進(jìn)行處理其保存的數(shù)據(jù)副本,因此,該處理所述每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本可以包括判斷所述每一存儲節(jié)點是否為有效存儲節(jié)點,獲得第一判斷結(jié)果;根據(jù)所述第一判斷結(jié)果,當(dāng)存儲節(jié)點為有效存儲節(jié)點時,處理所述有效存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本。其中,當(dāng)數(shù)據(jù)訪問請求為數(shù)據(jù)更新請求,即操作類型為數(shù)據(jù)更新時,對數(shù)據(jù)副本的處理為對每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本均進(jìn)行更新,從而可以實現(xiàn)不同存儲節(jié)點中數(shù)據(jù)副本的同步更新。在對每一存儲節(jié)點的目標(biāo)數(shù)據(jù)副本均進(jìn)行更新后,由于更新操作可能失敗,更新失敗的存儲節(jié)點的數(shù)據(jù)副本與其他存儲節(jié)點的數(shù)據(jù)副本已經(jīng)不同,為了不影響后續(xù)數(shù)據(jù)的訪問,因此所述方法還可以包括 判斷所述存儲節(jié)點的目標(biāo)數(shù)據(jù)副本是否更新成功,獲得第二判斷結(jié)果。根據(jù)所述第二判斷結(jié)果,確定更新成功的存儲節(jié)點為有效存儲節(jié)點,更新失敗的存儲節(jié)點為無效存儲節(jié)點。其中,當(dāng)數(shù)據(jù)訪問請求為數(shù)據(jù)讀取請求時,即操作類型為讀取操作時,由于存儲數(shù)據(jù)副本的存儲節(jié)點可能為無效的存儲節(jié)點,因此處理每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本具體可以是依次讀取每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本,直至某一存儲節(jié)點讀取成功,即可停止讀取操作。在本實施例中,根據(jù)待存儲數(shù)據(jù)的數(shù)據(jù)類別,可以確定待存儲數(shù)據(jù)對應(yīng)的預(yù)設(shè)的存儲規(guī)則,從而可以依據(jù)該預(yù)設(shè)的存儲規(guī)則,生成數(shù)據(jù)副本并將數(shù)據(jù)副本相應(yīng)存儲到不同的存儲節(jié)點中,針對不同的數(shù)據(jù)類別有針對性的生成不同數(shù)目的數(shù)據(jù)副本進(jìn)行存儲,從而既保證了存儲數(shù)據(jù)的安全性、擴展性、可操作性等問題,又避免了對系統(tǒng)資源的占用,從而有效提高了存儲系統(tǒng)的可靠性。在進(jìn)行數(shù)據(jù)訪問時,可以同步處理不同存儲節(jié)點中的數(shù)據(jù),保證了數(shù)據(jù)的一致性,進(jìn)一步提高了存儲系統(tǒng)的可靠性。參考圖3,示出了本申請一種應(yīng)用于分布式存儲系統(tǒng)的數(shù)據(jù)存儲方法實施例3的流程圖,可以包括以下步驟步驟301 :確定待存儲數(shù)據(jù)的數(shù)據(jù)類別。其中,待存儲數(shù)據(jù)為待存儲文件時,可以首先猶取待存儲文件的文件名后綴。依據(jù)所述文件名后綴,確定所述待存儲文件的數(shù)據(jù)類別。步驟302 :查找所述數(shù)據(jù)類別對應(yīng)的預(yù)設(shè)的存儲規(guī)則,所述預(yù)設(shè)的存儲規(guī)則包括副本數(shù)目以及不同的存儲位置信息。步驟303 :依據(jù)所述副本數(shù)目,生成所述待存儲數(shù)據(jù)的數(shù)據(jù)副本。步驟30廣步驟303的操作可參見上述實施例I的步驟IOf步驟103,在此不再贅述。步驟304 :確定所述不同的存儲位置信息分別對應(yīng)的存儲節(jié)點,以及每一存儲節(jié)點應(yīng)用的文件系統(tǒng)。步驟305 :查找不同的文件系統(tǒng)的類型分別對應(yīng)的配置接口函數(shù);
步驟306 :通過所述不同配置接口函數(shù)調(diào)用對應(yīng)的文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同存儲位置信息對應(yīng)的存儲節(jié)點中。由于分布式存儲系統(tǒng)中可能綜合使用多種不同類型的文件系統(tǒng),形成復(fù)雜、異構(gòu)的系統(tǒng),分別管理不同的存儲節(jié)點中的數(shù)據(jù),由于不同類型的文件系統(tǒng)其采用的算法或函數(shù)是不同,因此,首先確定出不同的存儲節(jié)點以及每一存儲節(jié)點應(yīng)用的文件系統(tǒng)。從而可以查找預(yù)先保存的不同文件系統(tǒng)類型對應(yīng)的配置接口函數(shù),通過每一存儲節(jié)點應(yīng)用的文件系統(tǒng)類型對應(yīng)的配置接口函數(shù)調(diào)用該文件系統(tǒng),將數(shù)據(jù)副本存儲至存儲節(jié)點中。步驟307 :當(dāng)接收到數(shù)據(jù)訪問請求時,依據(jù)所述數(shù)據(jù)訪問請求確定請求訪問的目標(biāo)數(shù)據(jù)類別。步驟308 :查找所述目標(biāo)數(shù)據(jù)類別對應(yīng)的目標(biāo)存儲規(guī)則。步驟309 :依據(jù)所述目標(biāo)存儲規(guī)則中的存儲位置信息,確定所述目標(biāo)數(shù)據(jù)的不同目標(biāo)數(shù)據(jù)副本分別對應(yīng)的存儲節(jié)點;·步驟310 :按照所述數(shù)據(jù)訪問請求的操作類型,處理所述每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本。其中,在處理所述每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本,可以具體為判斷所述每一存儲節(jié)點是否為有效存儲節(jié)點,獲得第一判斷結(jié)果;根據(jù)所述第一判斷結(jié)果,當(dāng)存儲節(jié)點為有效存儲節(jié)點時,處理所述有效存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本。其中,當(dāng)數(shù)據(jù)訪問請求為數(shù)據(jù)更新請求,即操作類型為數(shù)據(jù)更新時,對數(shù)據(jù)副本的處理為對每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本均進(jìn)行更新,從而可以實現(xiàn)不同存儲節(jié)點中數(shù)據(jù)副本的同步更新。在對每一存儲節(jié)點的目標(biāo)數(shù)據(jù)副本均進(jìn)行更新后,由于更新操作可能失敗,更新失敗的存儲節(jié)點的數(shù)據(jù)副本與其他存儲節(jié)點的數(shù)據(jù)副本已經(jīng)不同,為了不影響后續(xù)數(shù)據(jù)的訪問,因此所述方法還可以包括判斷所述存儲節(jié)點的目標(biāo)數(shù)據(jù)副本是否更新成功,獲得第二判斷結(jié)果。根據(jù)所述第二判斷結(jié)果,確定更新成功的存儲節(jié)點為有效存儲節(jié)點,更新失敗的存儲節(jié)點為無效存儲節(jié)點。其中,當(dāng)數(shù)據(jù)訪問請求為數(shù)據(jù)讀取請求時,即操作類型為讀取操作時,由于存儲數(shù)據(jù)副本的存儲節(jié)點可能為無效的存儲節(jié)點,因此處理每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本具體可以是依次讀取每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本,直至某一存儲節(jié)點讀取成功,即可停止讀取操作。在本實施例中,根據(jù)待存儲數(shù)據(jù)的數(shù)據(jù)類別,可以確定待存儲數(shù)據(jù)對應(yīng)的預(yù)設(shè)的存儲規(guī)則,從而可以依據(jù)該預(yù)設(shè)的存儲規(guī)則,生成數(shù)據(jù)副本并將數(shù)據(jù)副本相應(yīng)存儲到不同的存儲節(jié)點中,針對不同的數(shù)據(jù)類別有針對性的生成不同數(shù)目的數(shù)據(jù)副本進(jìn)行存儲,從而既保證了存儲數(shù)據(jù)的安全性、擴展性、可操作性等問題,又避免了對系統(tǒng)資源的占用,從而有效提高了存儲系統(tǒng)的可靠性。在進(jìn)行數(shù)據(jù)訪問時,可以同步處理不同存儲節(jié)點中的數(shù)據(jù),保證了數(shù)據(jù)的一致性,進(jìn)一步提高了存儲系統(tǒng)的可靠性。對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請并不受所描述的動作順序的限制,因為依據(jù)本申請,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本申請所必須的。與上述本申請一種應(yīng)用于分布式存儲系統(tǒng)中的數(shù)據(jù)存儲方法實施例I所提供的方法相對應(yīng),參見圖4,本申請還提供了一種應(yīng)用于分布式存儲系統(tǒng)中的數(shù)據(jù)存儲裝置實施例I,在本實施例中,該裝置可以包括數(shù)據(jù)類別確定模塊401,用于確定待存儲數(shù)據(jù)的數(shù)據(jù)類別。該待存儲數(shù)據(jù)可以是指元數(shù)據(jù)或者文件數(shù)據(jù)。文件數(shù)據(jù)和元數(shù)據(jù)是文件系統(tǒng)所管理的兩種存儲數(shù)據(jù)形式,文件數(shù)據(jù)包括目錄數(shù)據(jù)和實際數(shù)據(jù),而元數(shù)據(jù)是用來組織和管理文件數(shù)據(jù)的數(shù)據(jù)。所述數(shù)據(jù)類別即是指用于區(qū)分不同數(shù)據(jù)的類型特征。所述數(shù)據(jù)類別可以根據(jù)待存
儲數(shù)據(jù)的文件格式、文件類型、大小等進(jìn)行劃分。其中,所述待存儲數(shù)據(jù)為待存儲文件時,所述數(shù)據(jù)類別確定模塊401可以包括獲取模塊4011,用于獲取待存儲文件的文件名后綴;類別確定子模塊4012,用于依據(jù)所述文件名后綴,確定所述待存儲文件的數(shù)據(jù)類別。根據(jù)文件名后綴,可以得出該待存儲數(shù)據(jù)的文件格式、文件類型等信息,進(jìn)而可以確定出待存儲數(shù)據(jù)的數(shù)據(jù)類別。規(guī)則查找模塊402,用于查找所述數(shù)據(jù)類別對應(yīng)的預(yù)設(shè)的存儲規(guī)則,所述預(yù)設(shè)的存儲規(guī)則包括副本數(shù)目以及不同的存儲位置信息。本申請實施例中,預(yù)先為不同的數(shù)據(jù)類別對應(yīng)保存有存儲規(guī)則,所述存儲規(guī)則包括了副本數(shù)目以及不同的存儲位置信息。副本數(shù)目是指待存儲數(shù)據(jù)可生成的的副本數(shù)量,存儲位置信息可以是指分布式存儲系統(tǒng)可以提供的用于數(shù)據(jù)存儲的存儲節(jié)點,其可以包括存儲節(jié)點的地址、標(biāo)識等信息。副本生成模塊403,用于依據(jù)所述副本數(shù)目,生成所述待存儲數(shù)據(jù)的數(shù)據(jù)副本。數(shù)據(jù)存儲模塊404,用于將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息對應(yīng)的存儲節(jié)點中。在不同存儲節(jié)點中存儲數(shù)據(jù)副本,保證了數(shù)據(jù)的可擴展性,可以使得某一存儲節(jié)點的數(shù)據(jù)損壞時,仍可以使用其他存儲節(jié)點中的數(shù)據(jù)進(jìn)行正常的數(shù)據(jù)訪問操作。由于不同數(shù)據(jù)類別的待存儲數(shù)據(jù)其存儲方式不同,因此增加了數(shù)據(jù)的可操作性,且避免了一些數(shù)據(jù)對系統(tǒng)資源的占用,有效提高了數(shù)據(jù)的可靠性。其中,所述系統(tǒng)還可以包括一用戶接口模塊,用于接收用戶的預(yù)設(shè)的存儲規(guī)則更新請求,更新所述預(yù)設(shè)的存儲規(guī)則,并保存更新后的預(yù)設(shè)的存儲規(guī)則。在本實施例中,系統(tǒng)根據(jù)待存儲數(shù)據(jù)的數(shù)據(jù)類別,可以確定待存儲數(shù)據(jù)對應(yīng)的預(yù)設(shè)的存儲規(guī)則,從而可以依據(jù)該預(yù)設(shè)的存儲規(guī)則,生成數(shù)據(jù)副本并將數(shù)據(jù)副本相應(yīng)存儲到不同的存儲節(jié)點中,針對不同的數(shù)據(jù)類別有針對性的生成不同數(shù)目的數(shù)據(jù)副本進(jìn)行存儲,從而既保證了存儲數(shù)據(jù)的安全性、擴展性、可操作性等問題,又避免了對系統(tǒng)資源的占用,從而有效提高了存儲系統(tǒng)的可靠性。與上述本申請一種應(yīng)用于分布式存儲系統(tǒng)中的數(shù)據(jù)存儲方法實施例2所提供的方法相對應(yīng),參見圖5,本申請還提供了一種應(yīng)用于分布式存儲系統(tǒng)中的數(shù)據(jù)存儲裝置實施例2,在本實施例中,該裝置可以包括數(shù)據(jù)類別確定模塊501,用于確定待存儲數(shù)據(jù)的數(shù)據(jù)類別。待存儲數(shù)據(jù)為待存儲文件時,所述數(shù)據(jù)類別確定模塊可以包括獲取模塊,用于獲取待存儲文件的文件名后綴;類別確定子模塊,用于依據(jù)所述文件名后綴,確定所述待存儲文件的數(shù)據(jù)類別。規(guī)則查找模塊502,用于查找所述數(shù)據(jù)類別對應(yīng)的預(yù)設(shè)的存儲規(guī)則,所述預(yù)設(shè)的存儲規(guī)則包括副本數(shù)目以及不同的存儲位置信息;副本生成模塊503,用于依據(jù)所述副本數(shù)目,生成所述待存儲數(shù)據(jù)的數(shù)據(jù)副本; 數(shù)據(jù)存儲模塊504,用于調(diào)用所述分布式存儲系統(tǒng)的文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息對應(yīng)的存儲節(jié)點中。即使用文件系統(tǒng)將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息分別對應(yīng)的存儲節(jié)點中其中,在進(jìn)行數(shù)據(jù)存儲以及數(shù)據(jù)訪問時,不同文件系統(tǒng)所采用的算法或函數(shù)是不同。因此本申請實施例中,可以為不同的文件系統(tǒng)類型設(shè)置相應(yīng)的配置接口函數(shù),根據(jù)不同的文件系統(tǒng)類型,可以選擇對應(yīng)的配置接口函數(shù)實現(xiàn)數(shù)據(jù)的存儲和訪問。因此,所述數(shù)據(jù)存儲模塊504可以包括系統(tǒng)類型確定模塊,用于確定所述分布式存儲系統(tǒng)的文件系統(tǒng)類型;第一函數(shù)查找模塊,用于查找保存的所述文件系統(tǒng)類型對應(yīng)的配置接口函數(shù);第一存儲子模塊,用于通過所述配置接口函數(shù)調(diào)用所述文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同的存儲節(jié)點地址對應(yīng)的存儲節(jié)點中。數(shù)據(jù)請求模塊505,用于接收數(shù)據(jù)訪問請求,依據(jù)所述數(shù)據(jù)訪問請求確定請求訪問的目標(biāo)數(shù)據(jù)類別。數(shù)據(jù)訪問請求包括數(shù)據(jù)讀取請求以及數(shù)據(jù)更新請求,數(shù)據(jù)更新可以包括數(shù)據(jù)的寫入、修改、刪除或者增加等操作。依據(jù)數(shù)據(jù)訪問請求請求訪問的目標(biāo)數(shù)據(jù),可以首先確定出該目標(biāo)數(shù)據(jù)的目標(biāo)數(shù)據(jù)類別。目標(biāo)規(guī)則查找模塊506,用于查找所述目標(biāo)數(shù)據(jù)類別對應(yīng)的目標(biāo)存儲規(guī)則。依據(jù)預(yù)設(shè)的不同數(shù)據(jù)類別對應(yīng)的存儲規(guī)則,可以查找該目標(biāo)數(shù)據(jù)類別對應(yīng)的目標(biāo)存儲規(guī)則。目標(biāo)節(jié)點確定模塊507,依據(jù)所述目標(biāo)存儲規(guī)則中的存儲位置信息,確定所述目標(biāo)數(shù)據(jù)的不同目標(biāo)數(shù)據(jù)副本分別對應(yīng)的存儲節(jié)點。由于存儲規(guī)則中包括副本數(shù)目以及不同的存儲位置信息,因此可以依據(jù)目標(biāo)存儲規(guī)則中的目標(biāo)存儲位置信息,確定出該請求訪問的目標(biāo)數(shù)據(jù)的不同目標(biāo)數(shù)據(jù)副本分別對應(yīng)的存儲節(jié)點。處理模塊508,用于按照所述數(shù)據(jù)訪問請求的操作類型,處理所述每一目標(biāo)存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本。由于不同的原因,所述分布式存儲系統(tǒng)的存儲數(shù)據(jù)副本的存儲節(jié)點可能無效,因此,所述處理模塊可以包括第一判斷模塊,用于判斷所述每一存儲節(jié)點是否為有效存儲節(jié)點,獲得第一判斷結(jié)果;處理子模塊,用于根據(jù)所述第一判斷結(jié)果,當(dāng)存儲節(jié)點為有效存儲節(jié)點時,處理所述有效存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本。其中,當(dāng)數(shù)據(jù)訪問請求為數(shù)據(jù)更新請求,即操作類型為數(shù)據(jù)更新時,對數(shù)據(jù)副本的處理為對每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本均進(jìn)行更新,從而可以實現(xiàn)不同存儲節(jié)點中數(shù)據(jù)副本的同步更新。在對每一存儲節(jié)點的目標(biāo)數(shù)據(jù)副本均進(jìn)行更新后,由于更新操作可能失敗,更新失敗的存儲節(jié)點的數(shù)據(jù)副本與其他存儲節(jié)點的數(shù)據(jù)副本已經(jīng)不同,為了不影響后續(xù)數(shù)據(jù)的訪問,所述系統(tǒng)還包括
第二判斷模塊,用于判斷所述存儲節(jié)點的目標(biāo)數(shù)據(jù)副本是否更新成功,獲得第二判斷結(jié)果;節(jié)點效果確定模塊,用于根據(jù)所述第二判斷結(jié)果,確定更新成功的存儲節(jié)點為有效存儲節(jié)點,更新失敗的存儲節(jié)點為無效存儲節(jié)點。其中,當(dāng)數(shù)據(jù)訪問請求為數(shù)據(jù)讀取請求時,即操作類型為讀取操作時,由于存儲數(shù)據(jù)副本的存儲節(jié)點可能為無效的存儲節(jié)點,因此處理每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本具體可以是依次讀取每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本,直至某一存儲節(jié)點讀取成功,即可停止讀取操作。本實施例所述的數(shù)據(jù)存儲系統(tǒng)可以通過接口層與分布式存儲系統(tǒng)的文件系統(tǒng)相連,以及通過虛擬文件系統(tǒng)與用戶進(jìn)程層相連,從而實現(xiàn)用戶進(jìn)程的數(shù)據(jù)存儲到文件系統(tǒng)中。該數(shù)據(jù)存儲系統(tǒng)可以與不同類型的文件系統(tǒng)進(jìn)行連接。由于本實施例所述數(shù)據(jù)存儲系統(tǒng)是通過使用文件系統(tǒng)進(jìn)行數(shù)據(jù)存儲,在軟件架構(gòu)上,所述數(shù)據(jù)存儲系統(tǒng)堆疊在文件系統(tǒng)之上,因此其也可以稱為存儲系統(tǒng)的上層文件系統(tǒng),而所述存儲系統(tǒng)的本身的物理文件系統(tǒng)即為下層文件系統(tǒng)。在本實施例中,根據(jù)待存儲數(shù)據(jù)的數(shù)據(jù)類別,可以確定待存儲數(shù)據(jù)對應(yīng)的預(yù)設(shè)的存儲規(guī)則,從而可以依據(jù)該預(yù)設(shè)的存儲規(guī)則,生成數(shù)據(jù)副本并將數(shù)據(jù)副本相應(yīng)存儲到不同的存儲節(jié)點中,針對不同的數(shù)據(jù)類別有針對性的生成不同數(shù)目的數(shù)據(jù)副本進(jìn)行存儲,從而既保證了存儲數(shù)據(jù)的安全性、擴展性、可操作性等問題,又避免了對系統(tǒng)資源的占用,從而有效提高了存儲系統(tǒng)的可靠性。在進(jìn)行數(shù)據(jù)訪問時,可以同步處理不同存儲節(jié)點中的數(shù)據(jù),保證了數(shù)據(jù)的一致性,進(jìn)一步提高了存儲系統(tǒng)的可靠性。與上述本申請一種應(yīng)用于分布式存儲系統(tǒng)中的數(shù)據(jù)存儲方法實施例3所提供的方法相對應(yīng),參見圖6,本申請還提供了一種應(yīng)用于分布式存儲系統(tǒng)中的數(shù)據(jù)存儲裝置實施例3,在本實施例中,該裝置可以包括數(shù)據(jù)類別確定模塊601,用于確定待存儲數(shù)據(jù)的數(shù)據(jù)類別;規(guī)則查找模塊602,用于查找所述數(shù)據(jù)類別對應(yīng)的預(yù)設(shè)的存儲規(guī)則,所述預(yù)設(shè)的存儲規(guī)則包括副本數(shù)目以及不同的存儲位置信息;副本生成模塊603,用于依據(jù)所述副本數(shù)目,生成所述待存儲數(shù)據(jù)的數(shù)據(jù)副本;數(shù)據(jù)存儲模塊604,用于將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息對應(yīng)的存儲節(jié)點中。由于分布式存儲系統(tǒng)中可能綜合使用多種不同類型的文件系統(tǒng),形成復(fù)雜、異構(gòu)的系統(tǒng),分別管理不同的存儲節(jié)點中的數(shù)據(jù),由于不同類型的文件系統(tǒng)其采用的算法或函數(shù)是不同,因此,所述數(shù)據(jù)存儲模塊可以包括節(jié)點確定模塊6041,用于確定所述不同的存儲位置信息分別對應(yīng)的存儲節(jié)點,以及每一存儲節(jié)點應(yīng)用的文件系統(tǒng);第二函數(shù)查找模塊6042,用于查找不同的文件系統(tǒng)的類型分別對應(yīng)的配置接口函數(shù);第二存儲子模塊6043,用于通過所述不同配置接口函數(shù)調(diào)用對應(yīng)的文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同存儲位置信息分別對應(yīng)的存儲節(jié)點中。數(shù)據(jù)請求模塊605,用于接收數(shù)據(jù)訪問請求,依據(jù)所述數(shù)據(jù)訪問請求確定請求訪問的目標(biāo)數(shù)據(jù)類別;目標(biāo)規(guī)則查找模塊606,用于查找所述目標(biāo)數(shù)據(jù)類別對應(yīng)的目標(biāo)存儲規(guī)則;
目標(biāo)節(jié)點確定模塊607,依據(jù)所述目標(biāo)存儲規(guī)則中的存儲位置信息,確定所述目標(biāo)數(shù)據(jù)的不同目標(biāo)數(shù)據(jù)副本分別對應(yīng)的存儲節(jié)點;處理模塊608,用于按照所述數(shù)據(jù)訪問請求的操作類型,處理所述每一目標(biāo)存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本。其中,所述處理模塊可以包括第一判斷模塊,用于判斷所述每一存儲節(jié)點是否為有效存儲節(jié)點,獲得第一判斷結(jié)果;處理子模塊,用于根據(jù)所述第一判斷結(jié)果,當(dāng)存儲節(jié)點為有效存儲節(jié)點時,處理所述有效存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本。其中,當(dāng)操作類型具體為數(shù)據(jù)更新操作時,所述系統(tǒng)還包括第二判斷模塊,用于判斷所述存儲節(jié)點的目標(biāo)數(shù)據(jù)副本是否更新成功,獲得第二判斷結(jié)果;節(jié)點效果確定模塊,用于根據(jù)所述第二判斷結(jié)果,確定更新成功的存儲節(jié)點為有效存儲節(jié)點,更新失敗的存儲節(jié)點為無效存儲節(jié)點。其中,當(dāng)數(shù)據(jù)訪問請求為數(shù)據(jù)讀取請求時,即操作類型為讀取操作時,由于存儲數(shù)據(jù)副本的存儲節(jié)點可能為無效的存儲節(jié)點,因此處理每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本具體可以是依次讀取每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本,直至某一存儲節(jié)點讀取成功,即可停止讀取操作。在本實施例中,根據(jù)待存儲數(shù)據(jù)的數(shù)據(jù)類別,可以確定待存儲數(shù)據(jù)對應(yīng)的預(yù)設(shè)的存儲規(guī)則,從而可以依據(jù)該預(yù)設(shè)的存儲規(guī)則,生成數(shù)據(jù)副本并將數(shù)據(jù)副本相應(yīng)存儲到不同的存儲節(jié)點中,針對不同的數(shù)據(jù)類別有針對性的生成不同數(shù)目的數(shù)據(jù)副本進(jìn)行存儲,從而既保證了存儲數(shù)據(jù)的安全性、擴展性、可操作性等問題,又避免了對系統(tǒng)資源的占用,從而有效提高了存儲系統(tǒng)的可靠性。在進(jìn)行數(shù)據(jù)訪問時,可以同步處理不同存儲節(jié)點中的數(shù)據(jù),保證了數(shù)據(jù)的一致性,進(jìn)一步提高了存儲系統(tǒng)的可靠性。需要說明的是,本說明書中的各個實施例均采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置類實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當(dāng)然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施例或者實施例的某些 部分所述的方法。以上對本申請所提供的一種檢索方法、裝置及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本申請的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。
權(quán)利要求
1.一種應(yīng)用于分布式存儲系統(tǒng)的數(shù)據(jù)存儲方法,其特征在于,包括 確定待存儲數(shù)據(jù)的數(shù)據(jù)類別; 查找所述待存儲數(shù)據(jù)的數(shù)據(jù)類別對應(yīng)的預(yù)設(shè)的存儲規(guī)則,所述預(yù)設(shè)的存儲規(guī)則包括副本數(shù)目以及不同的存儲位置信息; 依據(jù)所述副本數(shù)目,生成所述待存儲數(shù)據(jù)的數(shù)據(jù)副本; 將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息對應(yīng)的存儲節(jié)點中。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述待存儲數(shù)據(jù)具體為待存儲文件,則所述確定待存儲數(shù)據(jù)的數(shù)據(jù)類別包括 獲取待存儲文件的文件名后綴; 依據(jù)所述文件名后綴,確定所述待存儲文件的數(shù)據(jù)類別。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息分別對應(yīng)的存儲節(jié)點中包括 調(diào)用所述分布式存儲系統(tǒng)的文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息分別對應(yīng)的存儲節(jié)點中。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述調(diào)用所述分布式存儲系統(tǒng)的文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同的存儲節(jié)點地址對應(yīng)的存儲節(jié)點中包括 確定所述分布式存儲系統(tǒng)的文件系統(tǒng)類型; 查找保存的所述文件系統(tǒng)類型對應(yīng)的配置接口函數(shù); 通過所述配置接口函數(shù)調(diào)用所述文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同的存儲節(jié)點地址對應(yīng)的存儲節(jié)點中。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息分別對應(yīng)的存儲節(jié)點中包括 確定所述不同的存儲位置信息分別對應(yīng)的存儲節(jié)點,以及每一存儲節(jié)點應(yīng)用的文件系統(tǒng); 查找不同的文件系統(tǒng)的類型分別對應(yīng)的配置接口函數(shù); 通過所述不同配置接口函數(shù)調(diào)用對應(yīng)的文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同存儲位置信息對應(yīng)的存儲節(jié)點中。
6.根據(jù)權(quán)利要求Γ5任一項所述的方法,其特征在于,所述將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息對應(yīng)的存儲節(jié)點中后,所述方法還包括 當(dāng)接收到數(shù)據(jù)訪問請求時,依據(jù)所述數(shù)據(jù)訪問請求確定請求訪問的目標(biāo)數(shù)據(jù)類別; 查找所述目標(biāo)數(shù)據(jù)類別對應(yīng)的目標(biāo)存儲規(guī)則; 依據(jù)所述目標(biāo)存儲規(guī)則中的存儲位置信息,確定所述目標(biāo)數(shù)據(jù)的不同目標(biāo)數(shù)據(jù)副本分別對應(yīng)的目標(biāo)存儲節(jié)點; 按照所述數(shù)據(jù)訪問請求的操作類型,處理所述每一目標(biāo)存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述處理所述每一存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本包括 判斷所述每一存儲節(jié)點是否為有效存儲節(jié)點,獲得第一判斷結(jié)果; 根據(jù)所述第一判斷結(jié)果,當(dāng)存儲節(jié)點為有效存儲節(jié)點時,處理所述有效存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述操作類型具體為數(shù)據(jù)更新操作,則處理所述存儲節(jié)點中的有效存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本后,所述方法還包括 判斷所述存儲節(jié)點的目標(biāo)數(shù)據(jù)副本是否更新成功,獲得第二判斷結(jié)果; 根據(jù)所述第二判斷結(jié)果,確定更新成功的存儲節(jié)點為有效存儲節(jié)點,更新失敗的存儲節(jié)點為無效存儲節(jié)點。
9.一種應(yīng)用于分布式存儲系統(tǒng)中的數(shù)據(jù)存儲系統(tǒng),其特征在于,包括 數(shù)據(jù)類別確定模塊,用于確定待存儲數(shù)據(jù)的數(shù)據(jù)類別; 規(guī)則查找模塊,用于查找所述待存儲數(shù)據(jù)的數(shù)據(jù)類別對應(yīng)的預(yù)設(shè)的存儲規(guī)則,所述預(yù)設(shè)的存儲規(guī)則包括副本數(shù)目以及不同的存儲位置信息; 副本生成模塊,用于依據(jù)所述副本數(shù)目,生成所述待存儲數(shù)據(jù)的數(shù)據(jù)副本; 數(shù)據(jù)存儲模塊,用于將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息對應(yīng)的存儲節(jié)點中。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述數(shù)據(jù)類別確定模塊包括 獲取模塊,用于獲取待存儲文件的文件名后綴; 類別確定子模塊,用于依據(jù)所述文件名后綴,確定所述待存儲文件的數(shù)據(jù)類別。
11.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述數(shù)據(jù)存儲模塊具體用于調(diào)用所述分布式存儲系統(tǒng)的文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息對應(yīng)的存儲節(jié)點中。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于,所述數(shù)據(jù)存儲模包括 系統(tǒng)類型確定模塊,用于確定所述分布式存儲系統(tǒng)的文件系統(tǒng)類型; 第一函數(shù)查找模塊,用于查找保存的所述文件系統(tǒng)類型對應(yīng)的配置接口函數(shù); 第一存儲子模塊,用于通過所述配置接口函數(shù)調(diào)用所述文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同的存儲節(jié)點地址對應(yīng)的存儲節(jié)點中。
13.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述數(shù)據(jù)存儲模塊包括 節(jié)點確定模塊,用于確定所述不同的存儲位置信息分別對應(yīng)的存儲節(jié)點,以及每一存儲節(jié)點應(yīng)用的文件系統(tǒng); 第二函數(shù)查找模塊,用于查找不同的文件系統(tǒng)的類型分別對應(yīng)的配置接口函數(shù); 第二存儲子模塊,用于通過所述不同配置接口函數(shù)調(diào)用對應(yīng)的文件系統(tǒng),將所述數(shù)據(jù)副本分別存儲到不同存儲位置信息對應(yīng)的存儲節(jié)點中。
14.根據(jù)權(quán)利要求擴13任一項所述的方法,其特征在于,所述系統(tǒng)還包括 數(shù)據(jù)請求模塊,用于接收數(shù)據(jù)訪問請求,依據(jù)所述數(shù)據(jù)訪問請求確定請求訪問的目標(biāo)數(shù)據(jù)類別; 目標(biāo)規(guī)則查找模塊,用于查找所述目標(biāo)數(shù)據(jù)類別對應(yīng)的目標(biāo)存儲規(guī)則; 目標(biāo)節(jié)點確定模塊,依據(jù)所述目標(biāo)存儲規(guī)則中的存儲位置信息,確定所述目標(biāo)數(shù)據(jù)的不同目標(biāo)數(shù)據(jù)副本分別對應(yīng)的存儲節(jié)點; 處理模塊,用于按照所述數(shù)據(jù)訪問請求的操作類型,處理所述每一目標(biāo)存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,所述處理模塊包括 第一判斷模塊,用于判斷所述每一存儲節(jié)點是否為有效存儲節(jié)點,獲得第一判斷結(jié)果; 處理子模塊,用于根據(jù)所述第一判斷結(jié)果,當(dāng)存儲節(jié)點為有效存儲節(jié)點時,處理所述有效存儲節(jié)點中的目標(biāo)數(shù)據(jù)副本。
16.根據(jù)權(quán)利要求14所述的系統(tǒng),其特征在于,所述操作類型具體為數(shù)據(jù)更新操作,所述系統(tǒng)還包括 第二判斷模塊,用于判斷所述存儲節(jié)點的目標(biāo)數(shù)據(jù)副本是否更新成功,獲得第二判斷結(jié)果; 節(jié)點效果確定模塊,用于根據(jù)所述第二判斷結(jié)果,確定更新成功的存儲節(jié)點為有效存儲節(jié)點,更新失敗的存儲節(jié)點為無效存儲節(jié)點。
17.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 用戶接口模塊,用于接收用戶的預(yù)設(shè)的存儲規(guī)則更新請求,更新所述預(yù)設(shè)的存儲規(guī)則,并保存更新后的預(yù)設(shè)的存儲規(guī)則。
全文摘要
本發(fā)明提供了一種應(yīng)用于分布式存儲系統(tǒng)中的數(shù)據(jù)存儲方法和系統(tǒng),其中,確定待存儲數(shù)據(jù)的數(shù)據(jù)類別;查找所述待存儲數(shù)據(jù)的數(shù)據(jù)類別對應(yīng)的預(yù)設(shè)的存儲規(guī)則,所述預(yù)設(shè)的存儲規(guī)則包括副本數(shù)目以及不同的存儲位置信息;依據(jù)所述副本數(shù)目,生成所述待存儲數(shù)據(jù)的數(shù)據(jù)副本;將所述數(shù)據(jù)副本分別存儲到不同的存儲位置信息對應(yīng)的存儲節(jié)點中。本發(fā)明實施例,通過對不同的數(shù)據(jù)類別生成不同數(shù)目的數(shù)據(jù)副本進(jìn)行存儲,從而既保證了存儲數(shù)據(jù)的安全性、擴展性、可操作性等問題,又避免了對系統(tǒng)資源的占用,從而有效提高了存儲系統(tǒng)的可靠性。
文檔編號H04L29/08GK102938784SQ20121044117
公開日2013年2月20日 申請日期2012年11月6日 優(yōu)先權(quán)日2012年11月6日
發(fā)明者蔣金虎, 李希, 何曉斌, 王紅艷, 王晞陽, 魏巍, 余婷, 陳起, 鄭翔, 楊京 申請人:無錫江南計算技術(shù)研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
嘉义县| 濮阳市| 锦屏县| 黄浦区| 临西县| 绍兴市| 左权县| 安远县| 疏附县| 大关县| 永平县| 余江县| 临泉县| 淳安县| 锡林浩特市| 阳新县| 禄丰县| 涞水县| 宣化县| 隆化县| 八宿县| 黎平县| 淮北市| 盘山县| 香格里拉县| 荣昌县| 台南县| 开封市| 名山县| 阿瓦提县| 揭东县| 博乐市| 古蔺县| 武陟县| 延边| 凌海市| 长汀县| 长春市| 荥经县| 洛宁县| 耒阳市|