專利名稱:一種數(shù)據(jù)處理方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法和系統(tǒng)。
背景技術(shù):
為了提高訪問文件的速度,常見的方法是采用性能更高的CPU (Central Processing Unit,中央處理器),帶寬更大的接口。這些方案受限于接口的物理 帶寬和CPU的最高速度。近幾年以來,新發(fā)展出一種方法,用多個CPU和多 個接口組合起來共同提供更高的速度。
上述方法中,客戶端節(jié)點讀取數(shù)據(jù)的方法包括以下步驟
1、 客戶端節(jié)點向主控節(jié)點發(fā)送讀取數(shù)據(jù)請求;
2、 主控節(jié)點根據(jù)該請求從數(shù)據(jù)庫獲取一個全局唯一的文件ID (標(biāo)識)和 獲取被讀取文件在各個存儲節(jié)點的分布,返回給客戶端節(jié)點;
3、 客戶端節(jié)點根據(jù)返回的文件ID和文件分布信息,向存有文件數(shù)據(jù)的 各個存儲節(jié)點分別創(chuàng)建通信連接,獲取文件數(shù)據(jù)。
客戶端節(jié)點寫數(shù)據(jù)的方法包括以下步驟
1、 客戶端節(jié)點向主控節(jié)點發(fā)送寫數(shù)據(jù)請求;
2、 主控節(jié)點獲取待寫文件ID,并返回給客戶端節(jié)點;
3、 客戶端節(jié)點把文件分片后分別寫入到所有的存儲節(jié)點。 在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題
1、 讀取數(shù)據(jù)的時候,客戶端節(jié)點需要分別和各存儲節(jié)點建立連接,對客 戶端節(jié)點的CPU消耗大速度慢;
2、 文件在整個系統(tǒng)每個存儲節(jié)點都有分布,即使只要讀寫很少的數(shù)據(jù),也需要啟動所有存儲節(jié)點,造成不必要的設(shè)備折舊,造成能源浪費。
發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種數(shù)據(jù)處理方法和系統(tǒng),用以節(jié)省能源, 放緩設(shè)備折舊速度。
為了實現(xiàn)上述目的,本發(fā)明實施例提供了一種數(shù)據(jù)處理方法,包括
多個存儲節(jié)點中的一個全數(shù)據(jù)節(jié)點,獲得分片文件,所述分片文件表示 一存儲文件對應(yīng)存儲在所述多個存儲節(jié)點中的數(shù)據(jù),將所述分片文件進行整 合,保存整合后的文件;
在獲知客戶端節(jié)點請求讀取所述存儲文件時,發(fā)送所述整合后的文件給 所述客戶端節(jié)點。
本發(fā)明實施例還提供了一種數(shù)據(jù)處理系統(tǒng),包括與客戶端節(jié)點進行通信 的多個存儲節(jié)點,所述多個存儲節(jié)點中包括至少一個全數(shù)據(jù)節(jié)點;
所述客戶端節(jié)點,用于發(fā)送讀數(shù)據(jù)請求,所述讀數(shù)據(jù)請求用于請求讀取
存儲在所述全數(shù)據(jù)節(jié)點中的數(shù)據(jù);
所述全數(shù)據(jù)節(jié)點,用于獲得分片文件,所述分片文件表示一存儲文件對 應(yīng)存儲在所述多個存儲節(jié)點中的數(shù)據(jù),將所述分片文件進行整合,保存整合 后的文件,在獲知客戶端節(jié)點請求讀取所述存儲文件時,發(fā)送所述整合后的 文件給所述客戶端節(jié)點。
本發(fā)明實施例還提供了一種數(shù)據(jù)處理方法,包括-
接收客戶端節(jié)點發(fā)送的讀取數(shù)據(jù)請求,所述讀取數(shù)據(jù)請求中攜帶待讀取 的文件的目錄和文件名;根據(jù)所述待讀取文件的目錄和文件名査詢本地全局 文件數(shù)據(jù)表,獲得文件標(biāo)識,向全部存儲節(jié)點廣播所述文件標(biāo)識以及所述客 戶端節(jié)點的地址;
存儲節(jié)點在根據(jù)所述文件標(biāo)識確定本地保存相應(yīng)文件時,根據(jù)所述客戶 端節(jié)點的地址將相應(yīng)數(shù)據(jù)發(fā)送給所述客戶端節(jié)點。本發(fā)明實施例還提供了一種數(shù)據(jù)處理系統(tǒng),包括與客戶端節(jié)點進行通信 的主控節(jié)點和多個存儲節(jié)點,其中
所述客戶端節(jié)點,用于向所述主控節(jié)點發(fā)送讀取數(shù)據(jù)請求,所述讀取數(shù) 據(jù)請求中攜帶文件的目錄和文件名;
所述主控節(jié)點,用于根據(jù)待讀取文件的目錄和文件名查詢本地全局文件 數(shù)據(jù)表,獲得全局唯一的文件標(biāo)識,并向全部存儲節(jié)點廣播所述文件標(biāo)識以
及所述客戶端節(jié)點的地址;
所述存儲節(jié)點,用于在根據(jù)所述文件標(biāo)識確定本地保存相應(yīng)文件時,根 據(jù)所述客戶端節(jié)點的地址將相應(yīng)數(shù)據(jù)發(fā)送給所述客戶端節(jié)點。
本發(fā)明實施例的有益效果在于
采用本發(fā)明實施例提供的技術(shù)方案,多個存儲節(jié)點中的一個全數(shù)據(jù)節(jié)點 獲得一存儲文件對應(yīng)的分布在所述多個存儲節(jié)點中的分片文件,將所述分片 文件進行整合,保存整合后的文件。由于整合后的文件是一個完整文件,則 在讀取文件時,只需啟動一個存儲節(jié)點,可以節(jié)省能源,并且放緩設(shè)備折舊 速度。
采用本發(fā)明實施例提供的技術(shù)方案,接收客戶端節(jié)點發(fā)送的讀取數(shù)據(jù)請
求,所述讀取數(shù)據(jù)請求中攜帶待讀取的文件的目錄和文件名;根據(jù)所述待讀
取文件的目錄和文件名查詢本地全局文件數(shù)據(jù)表,獲得文件標(biāo)識,向全部存 儲節(jié)點廣播所述文件標(biāo)識以及所述客戶端節(jié)點的地址,存儲節(jié)點根據(jù)文件標(biāo) 識確定本地保存相應(yīng)文件時,根據(jù)客戶端節(jié)點的地址將相應(yīng)數(shù)據(jù)發(fā)送給客戶 端節(jié)點。由于不需要客戶端節(jié)點來和存儲節(jié)點建立連接,采用廣播令存儲節(jié) 點獲知客戶端節(jié)點需要讀取文件,提升了系統(tǒng)性能。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實 施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講, 在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。 圖1為本發(fā)明實施例提供的一種數(shù)據(jù)存儲的方法的流程圖2為本發(fā)明實施例中多個存儲節(jié)點中的一個全數(shù)據(jù)節(jié)點的數(shù)據(jù)處理流 程圖3為本發(fā)明實施例提供的一種數(shù)據(jù)讀取的方法的流程圖4為實施例一中的數(shù)據(jù)處理系統(tǒng)示意圖5為實施例一中的數(shù)據(jù)存儲的方法的流程圖6為實施例一中的性能節(jié)點的控制流程圖7為實施例二中的數(shù)據(jù)處理系統(tǒng)示意圖8為實施例二中數(shù)據(jù)存儲的方法的流程圖9為實施例二中數(shù)據(jù)讀取的方法的流程圖。
具體實施例方式
本發(fā)明實施例提供的一種數(shù)據(jù)存儲的方法,如圖1所示,包括
步驟S101,客戶端節(jié)點從主控節(jié)點獲取待存儲文件的ID以及多個存儲節(jié) 點的地址,并將待存儲文件分片后分別寫入多個存儲節(jié)點;
步驟S102,多個存儲節(jié)點中的一個全數(shù)據(jù)節(jié)點將一存儲文件分布在多個 存儲節(jié)點中的分片文件收集并作為一個完整文件保存。
步驟S102也可以表達為獲得一存儲文件對應(yīng)的分布在多個存儲節(jié)點中 的分片文件,并將各分片文件進行整合且保存整合后的文件。也就是說,獲 得分片文件,所述分片文件表示一存儲文件對應(yīng)存儲在所述多個存儲節(jié)點中 的數(shù)據(jù),將所述分片文件進行整合,保存整合后的文件。
對于多個存儲節(jié)點中的一個全數(shù)據(jù)節(jié)點來說,其數(shù)據(jù)處理流程如圖2所 示,包括
步驟S201,獲得一存儲文件對應(yīng)的分布在多個存儲節(jié)點中的分片文件,將各分片文件進行整合,保存整合后的文件;
步驟S202,在獲知客戶端節(jié)點請求讀取該存儲文件時,發(fā)送整合后的文 件給客戶端節(jié)點。
由于整合后的文件是一個完整文件,則在客戶端節(jié)點讀取文件時,只需 啟動一個存儲節(jié)點,可以節(jié)省能源,并且放緩設(shè)備折舊速度。另外,由于文 件只在一個存儲節(jié)點中保存,那么,即使采用現(xiàn)有技術(shù)中的數(shù)據(jù)讀取方法, 即由客戶端節(jié)點來和存儲節(jié)點建立連接,也能夠降低客戶端節(jié)點的CPU的消 耗,并提高數(shù)據(jù)讀取速度。
本發(fā)明實施例提供的一種數(shù)據(jù)讀取的方法,包括主控節(jié)點接收客戶端 節(jié)點發(fā)送的讀取數(shù)據(jù)請求,所述讀取數(shù)據(jù)請求中攜帶待讀取的文件的目錄和
文件名;根據(jù)所述待讀取文件的目錄和文件名查詢本地全局文件數(shù)據(jù)表,獲 得文件標(biāo)識,向全部存儲節(jié)點廣播所述文件標(biāo)識以及所述客戶端節(jié)點的地址;
存儲節(jié)點在根據(jù)所述文件標(biāo)識確定本地保存相應(yīng)文件時,根據(jù)所述客戶 端節(jié)點的地址將相應(yīng)數(shù)據(jù)發(fā)送給所述客戶端節(jié)點。
該數(shù)據(jù)讀取的方法具體可如圖3所示,包括
步驟S301,客戶端節(jié)點向主控節(jié)點請求讀取文件;
步驟S302,主控節(jié)點根據(jù)待讀取文件的目錄和文件名査詢本地全局文件 數(shù)據(jù)表,獲得全局唯一的文件標(biāo)識,并向全部存儲節(jié)點廣播文件標(biāo)識以及客 戶端節(jié)點的地址;
步驟S303,存儲節(jié)點根據(jù)文件標(biāo)識判斷本地是否保存相應(yīng)文件,若是, 進行步驟S304,否則,直接結(jié)束;
步驟S304,存儲節(jié)點根據(jù)客戶端節(jié)點的地址將相應(yīng)數(shù)據(jù)發(fā)送給客戶端節(jié)點。
在采用圖3所示的數(shù)據(jù)讀取的方法時,存儲節(jié)點獲知客戶端節(jié)點請求讀
取一存儲文件的方法可以為接收主控節(jié)點的讀取廣播消息,該讀取廣播消 息中包括一存儲文件全局唯一的文件標(biāo)識以及客戶端節(jié)點的地址,在確定該
9文件標(biāo)識對應(yīng)該存儲文件時,獲知客戶端節(jié)點請求讀取該存儲文件。
由于不需要客戶端節(jié)點來和存儲節(jié)點建立連接,采用廣播的方式令存儲
節(jié)點獲知客戶端節(jié)點需要讀取文件,極大地提升了系統(tǒng)性能。
上述數(shù)據(jù)存儲的方法和數(shù)據(jù)讀取的方法可以配合使用,也可以單獨使用,
在其各自單獨使用時,可以配合其他相應(yīng)存儲或讀取方法,本發(fā)明實施例中
不對具體的配合使用的存儲或讀取方法進行限定。
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行 詳細描述。
實施例一
本實施例中的數(shù)據(jù)處理系統(tǒng),如圖4所示,包括主控節(jié)點(即圖中的M 節(jié)點)、客戶端節(jié)點(即圖中的C節(jié)點)和存儲節(jié)點,存儲節(jié)點包括全數(shù)據(jù) 節(jié)點(即圖中的B節(jié)點)和性能節(jié)點(即圖中的D節(jié)點)。
本實施例中數(shù)據(jù)存儲的方法,如圖5所示,包括
步驟S401,客戶端節(jié)點向主控節(jié)點發(fā)送寫數(shù)據(jù)請求;
步驟S402,主控節(jié)點為待存儲文件分配ID,并將該文件ID與存儲節(jié)點 的地址發(fā)送給客戶端節(jié)點;
步驟S403,客戶端節(jié)點將待存儲文件分片后分別寫入多個存儲節(jié)點;
步驟S404,多個存儲節(jié)點中的一個全數(shù)據(jù)節(jié)點獲得一存儲文件對應(yīng)的分 布在多個存儲節(jié)點中的分片文件,并將各分片文件進行整合且保存整合后的 文件。
本實施例中數(shù)據(jù)讀取的方法可以是如圖3所示的數(shù)據(jù)讀取方法,也可以 是現(xiàn)有技術(shù)中的數(shù)據(jù)讀取方法。
由于在本實施例中將文件作為完整文件保存,則在讀取文件時,只需啟 動一個存儲節(jié)點,可以節(jié)省能源,并且放緩設(shè)備折舊速度。另外,由于文件 只在一個存儲節(jié)點中保存,那么,即使采用現(xiàn)有技術(shù)中的數(shù)據(jù)讀取方法,即 由客戶端節(jié)點來和存儲節(jié)點建立連接,也能夠降低客戶端節(jié)點的CPU的消耗,并提高數(shù)據(jù)讀取速度。
另外,在本實施例中,還包括一個性能節(jié)點的控制流程,如圖6所示, 包括
步驟S501,統(tǒng)計存儲節(jié)點的訪問量;
步驟S502,判斷各個存儲節(jié)點的平均訪問量是否小于第一設(shè)定閾值,若 是,進行步驟S503,否則進行步驟S504;
步驟S503,選擇部分性能節(jié)點,并將選擇到的性能節(jié)點的數(shù)據(jù)轉(zhuǎn)移到剩 余的存儲節(jié)點,并在轉(zhuǎn)移完成后關(guān)閉選擇到的性能節(jié)點,結(jié)束;
在本步驟中,性能節(jié)點的選擇規(guī)則可以根據(jù)實際需要進行設(shè)定,這里不 作限定。
在具體實現(xiàn)時,也可以在選擇部分性能節(jié)點后,先判斷各選擇到的性能 節(jié)點上是否保存有數(shù)據(jù),若是,則進行數(shù)據(jù)的轉(zhuǎn)移,否則,就不需要進行轉(zhuǎn) 移操作。
步驟S504,判斷各個存儲節(jié)點的平均訪問量是否大于第二設(shè)定閾值,第 二設(shè)定閾值大于第一設(shè)定閾值,若是,進行步驟S405,否則直接結(jié)束;
步驟S505,開啟部分或者全部處于關(guān)閉狀態(tài)的性能節(jié)點。
在本步驟中,選擇開啟哪些性能節(jié)點的具體方法可以根據(jù)實際需要進行 處理,這里不作限定。
在具體實現(xiàn)時,可以在訪問量大時增加開啟的性能節(jié)點數(shù)量,訪問量小 時降低開啟的性能節(jié)點數(shù)量,不局限于上述性能節(jié)點的控制流程。
為了確保數(shù)據(jù)冗余備份和系統(tǒng)可靠,可以增加主控節(jié)點和全數(shù)據(jù)節(jié)點的 數(shù)目。
由于在采用圖3所示的數(shù)據(jù)讀取方法的情況下,其對應(yīng)的數(shù)據(jù)存儲方法 可以采用現(xiàn)有技術(shù)中的數(shù)據(jù)存儲方法,也可以采用本發(fā)明實施例中提供的數(shù) 據(jù)存儲方法,在采用現(xiàn)有技術(shù)中的數(shù)據(jù)存儲方法的情況下,存儲節(jié)點可以不 區(qū)分為全數(shù)據(jù)節(jié)點和性能節(jié)點,但為了提高存儲節(jié)點的利用率,降低能耗,仍然可以對存儲節(jié)點的開啟和關(guān)閉控制,具體可以統(tǒng)計各個存儲節(jié)點的訪問 量,若各個存儲節(jié)點的平均訪問量小于第一設(shè)定閾值,則選擇部分存儲節(jié)點, 并將選擇到的存儲節(jié)點的數(shù)據(jù)轉(zhuǎn)移到剩余的存儲節(jié)點,并在轉(zhuǎn)移完成后關(guān)閉 所述選擇到的存儲節(jié)點。若各個存儲節(jié)點的平均訪問量大于第二設(shè)定閾值, 所述第二設(shè)定閾值大于所述第一設(shè)定閾值,則開啟部分或者全部處于關(guān)閉狀 態(tài)的性能節(jié)點。
本實施例中的數(shù)據(jù)處理系統(tǒng),包括與客戶端節(jié)點進行通信的多個存儲節(jié)
點,該多個存儲節(jié)點中包括至少一個全數(shù)據(jù)節(jié)點;
全數(shù)據(jù)節(jié)點,用于獲得一存儲文件對應(yīng)的分布在多個存儲節(jié)點中的分片 文件,并將各分片文件進行整合且保存整合后的文件,且在獲知客戶端節(jié)點 請求讀取該存儲文件時,發(fā)送整合后的文件給客戶端節(jié)點。
上述數(shù)據(jù)處理系統(tǒng)的多個存儲節(jié)點可以全部都是全數(shù)據(jù)節(jié)點,也可以一 部分是全數(shù)據(jù)節(jié)點一部分是性能節(jié)點,總之,該多個存儲節(jié)點中至少包括一 個全數(shù)據(jù)節(jié)點。
在另一個實施例中,該數(shù)據(jù)處理系統(tǒng)還可以包括主控節(jié)點、客戶端節(jié)點,
在本實施例中數(shù)據(jù)讀取的方法采用如圖3所示的數(shù)據(jù)讀取方法的情況下
客戶端節(jié)點,用于向主控節(jié)點發(fā)送讀取數(shù)據(jù)請求,讀取數(shù)據(jù)請求中攜帶
文件的目錄和文件名;
主控節(jié)點,用于根據(jù)文件的目錄和文件名査詢本地全局文件數(shù)據(jù)表,獲 得全局唯一的文件標(biāo)識,并向全部存儲節(jié)點廣播文件標(biāo)識以及客戶端節(jié)點的 地址;
存儲節(jié)點還用于接收主控節(jié)點的廣播,并在根據(jù)文件標(biāo)識確定出本地保 存相應(yīng)文件時,根據(jù)客戶端節(jié)點的地址將相應(yīng)數(shù)據(jù)發(fā)送給客戶端節(jié)點。
在本實施例中進行如圖6所示的性能節(jié)點的控制流程的情況下,主控節(jié)
點還用于統(tǒng)計多個存儲節(jié)點的訪問量,若各個存儲節(jié)點的平均訪問量小于第 一設(shè)定閾值,則選擇部分性能節(jié)點,并將選擇到的性能節(jié)點的數(shù)據(jù)轉(zhuǎn)移到剩余的存儲節(jié)點,并在轉(zhuǎn)移完成后關(guān)閉選擇到的性能節(jié)點;若各個存儲節(jié)點的
平均訪問量大于第二設(shè)定閾值,若第二設(shè)定閾值大于第一設(shè)定閾值,則開啟 部分或者全部處于關(guān)閉狀態(tài)的性能節(jié)點。在具體實現(xiàn)時,主控節(jié)點中可以保 存各存儲節(jié)點的狀態(tài)信息,則在關(guān)閉或開啟性能節(jié)點后,主控節(jié)點更新該狀 態(tài)信息。
由于在具體實現(xiàn)時,圖3所示的數(shù)據(jù)讀取方法不一定對應(yīng)本發(fā)明實施例
中提供的數(shù)據(jù)存儲方法,本實施例還提供一種數(shù)據(jù)處理系統(tǒng),包括主控節(jié)點、
客戶端節(jié)點和多個存儲節(jié)點,其中
所述客戶端節(jié)點,用于向所述主控節(jié)點發(fā)送讀取數(shù)據(jù)請求,所述讀取數(shù) 據(jù)請求中攜帶文件的目錄和文件名;
所述主控節(jié)點,用于根據(jù)待讀取文件的目錄和文件名查詢本地全局文件 數(shù)據(jù)表,獲得全局唯一的文件標(biāo)識,并向全部存儲節(jié)點廣播所述文件標(biāo)識以
及所述客戶端節(jié)點的地址;
所述存儲節(jié)點,用于在根據(jù)所述文件標(biāo)識確定本地保存相應(yīng)文件時,根 據(jù)所述客戶端節(jié)點的地址將相應(yīng)數(shù)據(jù)發(fā)送給所述客戶端節(jié)點。
為了對存儲節(jié)點的開啟和關(guān)閉進行控制,所述主控節(jié)點還可以用于,統(tǒng) 計各個存儲節(jié)點的訪問量,若各個存儲節(jié)點的平均訪問量小于第一設(shè)定閾值, 則選擇部分存儲節(jié)點,并將選擇到的存儲節(jié)點的數(shù)據(jù)轉(zhuǎn)移到剩余的存儲節(jié)點, 并在轉(zhuǎn)移完成后關(guān)閉所述選擇到的存儲節(jié)點。
在具體實現(xiàn)時,主控節(jié)點可以是一個計算節(jié)點,主要特點是計算能力強,
內(nèi)存大,在內(nèi)存里面保存所有的目錄、文件、文件ID信息,根據(jù)讀寫請求里
面的目錄名、文件名可以快速獲得文件ID;保存有存儲節(jié)點的地址信息和狀
態(tài)信息;有網(wǎng)絡(luò)接口可以通過網(wǎng)絡(luò)和客戶端節(jié)點、存儲節(jié)點進行通信。
全數(shù)據(jù)節(jié)點可以是一個計算存儲節(jié)點,主要特點是連接有數(shù)量多容量大 的磁盤,有網(wǎng)絡(luò)接口通過網(wǎng)絡(luò)和主控節(jié)點、性能節(jié)點、客戶端節(jié)點進行通信, 從成本考慮可以使用便宜的機械式硬盤??蛻舳斯?jié)點可以是一個需要讀寫文件的客戶端,客戶端的應(yīng)用軟件通過 客戶端節(jié)點里面的文件系統(tǒng)客戶端軟件讀寫文件,就像讀寫本地文件一樣, 客戶端節(jié)點有網(wǎng)絡(luò)接口可以通過網(wǎng)絡(luò)和主控節(jié)點、存儲節(jié)點進行通信。
性能節(jié)點可以是一個計算存儲節(jié)點,主要特點是有大量的內(nèi)存,可以緩 存文件數(shù)據(jù),同時有大容量的SSD硬盤,這是由于性能節(jié)點容量可以比較小,
很少訪問的數(shù)據(jù)可以在性能節(jié)點刪除,所以性能節(jié)點可以使用SSD(Solid State Disk,固態(tài)硬盤)這種高性能的存儲器,也可以使用高速硬盤;性能節(jié)點有網(wǎng) 絡(luò)接口通過網(wǎng)絡(luò)可以和主控節(jié)點、全數(shù)據(jù)節(jié)點、客戶端節(jié)點進行通信。
在本實施例中,供各個節(jié)點進行通信的網(wǎng)絡(luò)可以為以太網(wǎng),通過以太網(wǎng) 交換機或者HUB連接;也可以使用InfiniBand交換機,各個節(jié)點通過InfiniBand 適配器(HBA, Host Bus Adapter)和交換機連接;可以使用Myrinet交換機。 各個節(jié)點通過Myrinet適配器(MyrinetHBA)和交換機連接;可以使用ATM (Asynchronous Transfer Mode,異步傳輸模式)交換機,各個節(jié)點通過ATM 適配器(ATMHBA)和交換機連接;可以使用智能光網(wǎng)絡(luò)交換機,各個節(jié)點 通過智能光網(wǎng)絡(luò)適配器和交換機連接。
實施例二
在本實施例中,主控節(jié)點與全數(shù)據(jù)節(jié)點可以合并設(shè)置,則本實施例中的 數(shù)據(jù)處理系統(tǒng)如圖7所示,其中,M,節(jié)點為合并后的主控節(jié)點與全數(shù)據(jù)節(jié)點, 稱為合并節(jié)點,D節(jié)點為性能節(jié)點,C為客戶端節(jié)點。
本實施例中數(shù)據(jù)存儲的方法,如圖8所示,包括
步驟S601,客戶端節(jié)點向合并節(jié)點發(fā)送寫數(shù)據(jù)請求;
步驟S602,合并節(jié)點為待存儲文件分配ID,并將該文件ID與性能節(jié)點 的地址發(fā)送給客戶端節(jié)點;
步驟S603,客戶端節(jié)點將待存儲文件分片后分別寫入各性能節(jié)點和合并 節(jié)點;
步驟S604,該合并節(jié)點獲得一存儲文件對應(yīng)的分布在多個存儲節(jié)點中的分片文件,并將各分片文件進行整合且保存整合后的文件。
由于在系統(tǒng)中可以包括多個合并節(jié)點,因此,合并節(jié)點也可以在客戶端 節(jié)點請求寫數(shù)據(jù)時,將其他合并節(jié)點的地址也發(fā)送給客戶端節(jié)點,則客戶端 節(jié)點將待存儲文件分片后分別寫入各性能節(jié)點和各合并節(jié)點,在這種情況下, 最終收集文件的合并節(jié)點可以不是最初為客戶端分配文件ID的那個合并節(jié) 點。
本實施例中數(shù)據(jù)讀取的方法,如圖9所示,包括 步驟S701,客戶端節(jié)點向合并節(jié)點請求讀取文件;
步驟S702,合并節(jié)點根據(jù)待讀取文件的目錄和文件名查詢本地全局文件 數(shù)據(jù)表,獲得全局唯一的文件標(biāo)識,并向全部性能節(jié)點廣播文件標(biāo)識以及客 戶端節(jié)點的地址;
步驟S703,性能節(jié)點以及合并節(jié)點根據(jù)文件標(biāo)識判斷本地是否保存相應(yīng) 文件,若是,進行步驟S704,否則,直接結(jié)束;
步驟S704,性能節(jié)點以及合并節(jié)點根據(jù)客戶端節(jié)點的地址將相應(yīng)數(shù)據(jù)發(fā) 送給客戶端節(jié)點。
在本實施例中,同樣可以具有實施例一中所述的性能節(jié)點的控制流程, 也同樣可以增加主控節(jié)點和全數(shù)據(jù)節(jié)點的數(shù)目來確保數(shù)據(jù)冗余備份和系統(tǒng)可罪。
在本實施例中,供各個節(jié)點進行通信的網(wǎng)絡(luò)可以為以太網(wǎng),通過以太網(wǎng)
交換機或者HUB連接;也可以使用InfiniBand交換機,各個節(jié)點通過InfiniBand 適配器(HBA, Host Bus Adapter)和交換機連接;可以使用Myrinet交換機。 各個節(jié)點通過Myrinet適配器(MyrinetHBA)和交換機連接;可以使用ATM 交換機,各個節(jié)點通過ATM適配器(ATMHBA)和交換機連接;可以使用 智能光網(wǎng)絡(luò)交換機,各個節(jié)點通過智能光網(wǎng)絡(luò)適配器和交換機連接。
綜上所述,采用本發(fā)明實施例提供的技術(shù)方案,由于將文件作為完整文 件保存,則在讀取文件時,只需啟動一個存儲節(jié)點,可以節(jié)省能源,并且放緩設(shè)備折舊速度。
系統(tǒng)性能可以根據(jù)需要提供,性能節(jié)點可以作為加速節(jié)點,在性能需要 擴充的時候,可以增加節(jié)點。在性能需要降低的時候,關(guān)閉性能節(jié)點,同樣 可以省電,放緩設(shè)備折舊速度。
并且,由于采用廣播的方式,并發(fā)的方式,極大提升了系統(tǒng)性能。
性能節(jié)點可以使用大內(nèi)存和SSD結(jié)合,比機械磁盤提供更好的性能。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流 程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于 一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施
例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random Access Memory, RAM)等。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本 發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要 求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1、一種數(shù)據(jù)處理方法,其特征在于,包括多個存儲節(jié)點中的一個全數(shù)據(jù)節(jié)點,獲得分片文件,所述分片文件表示一存儲文件對應(yīng)存儲在所述多個存儲節(jié)點中的數(shù)據(jù),將所述分片文件進行整合,保存整合后的文件;在獲知客戶端節(jié)點請求讀取所述存儲文件時,發(fā)送所述整合后的文件給所述客戶端節(jié)點。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括所述獲知客戶端節(jié)點請求讀取所述存儲文件的方法為接收主控節(jié)點的 讀取廣播消息,所述讀取廣播消息中包括一存儲文件的文件標(biāo)識以及客戶端 節(jié)點的地址,在確定所述文件標(biāo)識對應(yīng)所述存儲文件時,獲知客戶端節(jié)點請 求讀取所述存儲文件。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述多個存儲節(jié)點中包括 全數(shù)據(jù)節(jié)點和性能節(jié)點;統(tǒng)計所述多個存儲節(jié)點的訪問量,若各個存儲節(jié)點的平均訪問量小于第 一設(shè)定閾值,則選擇部分性能節(jié)點,并將選擇到的性能節(jié)點的數(shù)據(jù)轉(zhuǎn)移到剩 余的存儲節(jié)點,并在轉(zhuǎn)移完成后關(guān)閉所述選擇到的性能節(jié)點。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,若各個存儲節(jié)點的平均訪問量大于第二設(shè)定閾值,所述第二設(shè)定閾值大于所述第一設(shè)定閾值,則開啟 部分或者全部處于關(guān)閉狀態(tài)的性能節(jié)點。
5、 一種數(shù)據(jù)處理系統(tǒng),其特征在于,包括與客戶端節(jié)點進行通信的多個 存儲節(jié)點,所述多個存儲節(jié)點中包括至少一個全數(shù)據(jù)節(jié)點;所述客戶端節(jié)點,用于發(fā)送讀數(shù)據(jù)請求,所述讀數(shù)據(jù)請求用于請求讀取 存儲在所述全數(shù)據(jù)節(jié)點中的數(shù)據(jù);所述全數(shù)據(jù)節(jié)點,用于獲得分片文件,所述分片文件表示一存儲文件對應(yīng)存儲在所述多個存儲節(jié)點中的數(shù)據(jù),將所述分片文件進行整合,保存整合 后的文件,在獲知所述客戶端節(jié)點請求讀取所述存儲文件時,發(fā)送所述整合 后的文件給所述客戶端節(jié)點。
6、 根據(jù)權(quán)利要求5所述的系統(tǒng),其特征在于,還包括主控節(jié)點,用于接收所述客戶端節(jié)點發(fā)送的讀取數(shù)據(jù)請求,所述讀取數(shù) 據(jù)請求中攜帶待讀取的文件的目錄和文件名;根據(jù)所述文件的目錄和所述文 件名查詢本地全局文件數(shù)據(jù)表,獲得文件標(biāo)識,向全部存儲節(jié)點廣播所述文 件標(biāo)識以及所述客戶端節(jié)點的地址;所述存儲節(jié)點還用于,接收所述主控節(jié)點的廣播,并在根據(jù)所述文件標(biāo) 識確定出本地保存相應(yīng)文件時,根據(jù)所述客戶端節(jié)點的地址將相應(yīng)數(shù)據(jù)發(fā)送 給所述客戶端節(jié)點。
7、 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述主控節(jié)點還用于,統(tǒng)計所述多個存儲節(jié)點的訪問量,若各個存儲節(jié) 點的平均訪問量小于第一設(shè)定閾值,則選擇部分性能節(jié)點,并將選擇到的性 能節(jié)點的數(shù)據(jù)轉(zhuǎn)移到剩余的存儲節(jié)點,并在轉(zhuǎn)移完成后關(guān)閉所述選擇到的性 能節(jié)點;若各個存儲節(jié)點的平均訪問量大于第二設(shè)定閾值,若所述第二設(shè)定 閾值大于所述第一設(shè)定閾值,則開啟部分或者全部處于關(guān)閉狀態(tài)的性能節(jié)點。
8、 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述性能節(jié)點為固態(tài)硬盤 或者高速硬盤。
9、 一種數(shù)據(jù)處理方法,其特征在于,包括接收客戶端節(jié)點發(fā)送的讀取數(shù)據(jù)請求,所述讀取數(shù)據(jù)請求中攜帶待讀取 的文件的目錄和文件名;根據(jù)所述待讀取文件的目錄和文件名査詢本地全局 文件數(shù)據(jù)表,獲得文件標(biāo)識,向全部存儲節(jié)點廣播所述文件標(biāo)識以及所述客 戶端節(jié)點的地址;存儲節(jié)點在根據(jù)所述文件標(biāo)識確定本地保存相應(yīng)文件時,根據(jù)所述客戶 端節(jié)點的地址將相應(yīng)數(shù)據(jù)發(fā)送給所述客戶端節(jié)點。
10、 根據(jù)權(quán)利要求9所述的方法,其特征在于,統(tǒng)計各個存儲節(jié)點的訪 問量,若各個存儲節(jié)點的平均訪問量小于第一設(shè)定閾值,則選擇部分存儲節(jié) 點,并將選擇到的存儲節(jié)點的數(shù)據(jù)轉(zhuǎn)移到剩余的存儲節(jié)點,并在轉(zhuǎn)移完成后 關(guān)閉所述選擇到的存儲節(jié)點。
11、 一種數(shù)據(jù)處理系統(tǒng),其特征在于,包括與客戶端節(jié)點進行通信的的 主控節(jié)點和多個存儲節(jié)點,其中所述客戶端節(jié)點,用于向所述主控節(jié)點發(fā)送讀取數(shù)據(jù)請求,所述讀取數(shù) 據(jù)請求中攜帶文件的目錄和文件名 ,所述主控節(jié)點,用于根據(jù)待讀取文件的目錄和文件名査詢本地全局文件 數(shù)據(jù)表,獲得文件標(biāo)識,并向全部存儲節(jié)點廣播所述文件標(biāo)識以及所述客戶 端節(jié)點的地址;所述存儲節(jié)點,用于在根據(jù)所述文件標(biāo)識確定本地保存相應(yīng)文件時,根 據(jù)所述客戶端節(jié)點的地址將相應(yīng)數(shù)據(jù)發(fā)送給所述客戶端節(jié)點。
12、 根據(jù)權(quán)利要求11所述的方法,其特征在于,所述主控節(jié)點還用于, 統(tǒng)計各個存儲節(jié)點的訪問量,若各個存儲節(jié)點的平均訪問量小于第一設(shè)定閾 值,則選擇部分存儲節(jié)點,并將選擇到的存儲節(jié)點的數(shù)據(jù)轉(zhuǎn)移到剩余的存儲 節(jié)點,并在轉(zhuǎn)移完成后關(guān)閉所述選擇到的存儲節(jié)點。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)處理方法和系統(tǒng),用以節(jié)省能源,放緩設(shè)備折舊速度。該方法包括多個存儲節(jié)點中的一個全數(shù)據(jù)節(jié)點獲得一存儲文件對應(yīng)的分布在所述多個存儲節(jié)點中的分片文件,將所述分片文件進行整合,保存整合后的文件;在獲知客戶端節(jié)點請求讀取所述存儲文件時,發(fā)送所述整合后的文件給所述客戶端節(jié)點。采用本發(fā)明實施例提供的技術(shù)方案,由于保存整合后的文件,則在讀取文件時,只需啟動一個存儲節(jié)點,可以節(jié)省能源,并且放緩設(shè)備折舊速度。
文檔編號G06F17/30GK101510223SQ20091013410
公開日2009年8月19日 申請日期2009年4月3日 優(yōu)先權(quán)日2009年4月3日
發(fā)明者海 文 申請人:成都市華為賽門鐵克科技有限公司