專利名稱:數(shù)據(jù)存儲(chǔ)、讀取方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息技術(shù)領(lǐng)域,特別涉及數(shù)據(jù)存儲(chǔ)、讀取方法及設(shè)備。
背景技術(shù):
在如今的海量數(shù)據(jù)信息中,有超過75%的信息是屬于固定內(nèi)容(FixedContent) 的數(shù)據(jù),而基于內(nèi)容存儲(chǔ)(Content Aware Storage, CAS)技術(shù)是近年來提出來的一種適合 于固定內(nèi)容存儲(chǔ)的存儲(chǔ)技術(shù),這一技術(shù)越來越多的集成到現(xiàn)有的各種應(yīng)用系統(tǒng)和網(wǎng)絡(luò)存儲(chǔ) 系統(tǒng)中。 —個(gè)典型的CAS系統(tǒng)包括客戶端和服務(wù)器,客戶端通過網(wǎng)絡(luò)存儲(chǔ)傳輸協(xié)議,如網(wǎng) 絡(luò)文件系統(tǒng)協(xié)議(NFS),通用網(wǎng)絡(luò)文件系統(tǒng)(CIFS)等,并以文件的方式訪問服務(wù)器中的數(shù) 據(jù)。在上述現(xiàn)有技術(shù)進(jìn)行實(shí)踐和研究的過程中,本發(fā)明的發(fā)明人發(fā)現(xiàn)當(dāng)客戶端發(fā)送寫請(qǐng)求 給服務(wù)器請(qǐng)求儲(chǔ)存文件時(shí),服務(wù)器會(huì)經(jīng)過制造對(duì)象(Make—object)子過程、制造對(duì)象標(biāo)識(shí) (Make_object_ID)子過程、查找對(duì)象元數(shù)據(jù)(Search_object_metadata)子過程、輸入輸出 (10)子過程和寫對(duì)象元數(shù)據(jù)(Write—objectjiietadata)子過程。當(dāng)客戶端發(fā)送讀請(qǐng)求給服 務(wù)器請(qǐng)求讀取文件時(shí),服務(wù)器會(huì)經(jīng)過查找對(duì)象標(biāo)識(shí)子過程和數(shù)據(jù)讀取子過程。在上述系統(tǒng) 對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)和讀取的過程中,對(duì)多個(gè)請(qǐng)求的操作過程復(fù)雜,會(huì)消耗比較大的系統(tǒng)資源。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供數(shù)據(jù)存儲(chǔ)、讀取方法及設(shè)備,降低了系統(tǒng)的消耗資源,優(yōu)化了系 統(tǒng)性能。 本發(fā)明實(shí)施例提供一種數(shù)據(jù)存儲(chǔ)方法,包括
將第一寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù); 將第二寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),同時(shí)對(duì)所述第一寫請(qǐng)求對(duì)應(yīng)的 對(duì)象數(shù)據(jù)進(jìn)行儲(chǔ)存。 本發(fā)明實(shí)施例提供一種數(shù)據(jù)存儲(chǔ)方法,包括 將寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù); 將所述對(duì)象數(shù)據(jù)分成兩份以上片段數(shù)據(jù); 同時(shí)計(jì)算所述兩份以上片段數(shù)據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí); 將所述兩份以上片段數(shù)據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí),拼接成新的標(biāo)識(shí)作為所述對(duì) 象數(shù)據(jù)的對(duì)象數(shù)據(jù)內(nèi)容標(biāo)識(shí); 根據(jù)所述對(duì)象數(shù)據(jù)內(nèi)容標(biāo)識(shí),儲(chǔ)存所述文件對(duì)應(yīng)的對(duì)象數(shù)據(jù)。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)讀取方法,包括 查找預(yù)置的數(shù)據(jù)內(nèi)容標(biāo)識(shí)與元數(shù)據(jù)的映射關(guān)系表,確定所述映射關(guān)系表中是否包 括第一讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí); 如果所述映射關(guān)系表中包括第一讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí),則讀 取所述第一讀請(qǐng)求中請(qǐng)求讀取的對(duì)象數(shù)據(jù),同時(shí)確定所述映射關(guān)系標(biāo)識(shí)表中是否包括第二
5讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí)。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)存儲(chǔ)設(shè)備,包括 第一分割單元,用于將第一寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),之后將第 二寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),并將所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)傳送給 第一存儲(chǔ)單元進(jìn)行儲(chǔ)存; 第一存儲(chǔ)單元,用于對(duì)所述第一分割單元傳送的第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)進(jìn)行 儲(chǔ)存。
本發(fā)明實(shí)施例提供一種數(shù)據(jù)存儲(chǔ)設(shè)備,包括 第二分割單元,用于將寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù); 第二片段劃分單元,用于將所述第二分割單元分割的對(duì)象數(shù)據(jù)分成兩份以上片段
數(shù)據(jù); 第二片段標(biāo)識(shí)計(jì)算單元,用于同時(shí)計(jì)算所述第二片段劃分單元?jiǎng)澐值膬煞菀陨掀?段數(shù)據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí); 第二拼接單元,用于將所述第二片段標(biāo)識(shí)計(jì)算單元計(jì)算的兩份以上片段數(shù)據(jù)對(duì)應(yīng)
的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí),拼接成新的標(biāo)識(shí)作為所述對(duì)象數(shù)據(jù)的對(duì)象數(shù)據(jù)內(nèi)容標(biāo)識(shí); 第二存儲(chǔ)單元,用于根據(jù)所述第二拼接單元得到的對(duì)象數(shù)據(jù)內(nèi)容標(biāo)識(shí),儲(chǔ)存所述
文件對(duì)應(yīng)的對(duì)象數(shù)據(jù)。 本發(fā)明實(shí)施例提供一種數(shù)據(jù)讀取設(shè)備,包括 查找確定單元,用于查找預(yù)置的數(shù)據(jù)內(nèi)容標(biāo)識(shí)與元數(shù)據(jù)的映射關(guān)系表,確定所述
映射關(guān)系表中是否包括第一讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí),若包含,通知所述 讀取單元讀取所述第一請(qǐng)求中請(qǐng)求讀取的對(duì)象數(shù)據(jù),并確定所述映射關(guān)系標(biāo)識(shí)表中是否包
括第二讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí); 讀取單元,用于讀取讀請(qǐng)求中,請(qǐng)求讀取的對(duì)象數(shù)據(jù)。 本發(fā)明實(shí)施例中的數(shù)據(jù)存儲(chǔ)方法包括將第一寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì) 象數(shù)據(jù),將第二寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),同時(shí)對(duì)所述第一寫請(qǐng)求對(duì)應(yīng)的 對(duì)象數(shù)據(jù)進(jìn)行儲(chǔ)存;數(shù)據(jù)讀取方法包括確定所述映射關(guān)系表中是否包括第一讀請(qǐng)求中 攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí),如果包括,則讀取所述第一讀請(qǐng)求中請(qǐng)求讀取的對(duì)象數(shù) 據(jù),同時(shí)確定所述映射關(guān)系標(biāo)識(shí)表中是否包括第二讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容 標(biāo)識(shí)。和現(xiàn)有技術(shù)中需要將一個(gè)寫請(qǐng)求中請(qǐng)求儲(chǔ)存的數(shù)據(jù)進(jìn)行儲(chǔ)存后,再處理另一寫請(qǐng)求 中請(qǐng)求儲(chǔ)存的數(shù)據(jù),及需要將一個(gè)讀請(qǐng)求中請(qǐng)求的數(shù)據(jù)進(jìn)行讀取后,再讀取另一讀請(qǐng)求中 請(qǐng)求的數(shù)據(jù)相比,本實(shí)施例的數(shù)據(jù)存儲(chǔ)方法可以同步對(duì)不同的寫請(qǐng)求進(jìn)行處理,數(shù)據(jù)讀取 方法可以同步對(duì)不同的讀請(qǐng)求進(jìn)行處理,可以降低系統(tǒng)的消耗資源,提升數(shù)據(jù)儲(chǔ)存的速率, 從而優(yōu)化系統(tǒng)性能。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。
圖1是方法實(shí)施例一提供的數(shù)據(jù)存儲(chǔ)方法的流程圖; 圖2是方法實(shí)施例二提供的數(shù)據(jù)存儲(chǔ)方法的流程圖; 圖3是方法實(shí)施例二提供的數(shù)據(jù)存儲(chǔ)方法中根據(jù)數(shù)據(jù)內(nèi)容標(biāo)識(shí)儲(chǔ)存寫請(qǐng)求對(duì)應(yīng) 的對(duì)象數(shù)據(jù)的流程圖; 圖4是方法實(shí)施例二提供的數(shù)據(jù)存儲(chǔ)方法中計(jì)算寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的數(shù)據(jù) 內(nèi)容標(biāo)識(shí)的流程圖; 圖5是方法實(shí)施例三提供的數(shù)據(jù)存儲(chǔ)方法的流程圖; 圖6是方法實(shí)施例四提供的數(shù)據(jù)讀取方法的流程圖; 圖7是設(shè)備實(shí)施例一提供的數(shù)據(jù)存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖; 圖8是設(shè)備實(shí)施例二提供的數(shù)據(jù)存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖; 圖9是設(shè)備實(shí)施例二提供的數(shù)據(jù)存儲(chǔ)設(shè)備中標(biāo)識(shí)計(jì)算單元的結(jié)構(gòu)示意圖; 圖10是設(shè)備實(shí)施例三提供的數(shù)據(jù)存儲(chǔ)設(shè)備的結(jié)構(gòu)示意圖; 圖11是設(shè)備實(shí)施例四提供的數(shù)據(jù)讀取設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
方法實(shí)施例一 —種數(shù)據(jù)存儲(chǔ)方法,且本實(shí)施例的方法可適用于數(shù)據(jù)處理系統(tǒng),當(dāng)服務(wù)器接收到 客戶端的寫請(qǐng)求后,對(duì)數(shù)據(jù)的存儲(chǔ)方法,流程圖如圖1所示,包括 步驟101、第一線程池單元將第一寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù);
步驟102、第一線程池單元將第二寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),同時(shí) 第二線程池單元對(duì)所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)進(jìn)行儲(chǔ)存。 本實(shí)施例中需要將文件分割成對(duì)象數(shù)據(jù)的過程,即制造對(duì)象子過程,與儲(chǔ)存對(duì)象 數(shù)據(jù)的過程,在不同的線程池單元中執(zhí)行,分別用不同的中央處理單元(CPU)同時(shí)執(zhí)行各 自的步驟。 且上述第一寫請(qǐng)求和第二寫請(qǐng)求并不是表示順序關(guān)系,而是為了區(qū)別不同的寫請(qǐng)
求,以下文件中提到的第一、第二等也是為了區(qū)別不同的信息、數(shù)據(jù)、請(qǐng)求或消息等。 可見,本發(fā)明實(shí)施例中的數(shù)據(jù)存儲(chǔ)方法包括將第一寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分
割成對(duì)象數(shù)據(jù),將第二寫請(qǐng)求中,請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),同時(shí)對(duì)所述第一寫請(qǐng)求
對(duì)應(yīng)的對(duì)象數(shù)據(jù)進(jìn)行儲(chǔ)存。和現(xiàn)有技術(shù)中需要將一個(gè)寫請(qǐng)求中請(qǐng)求儲(chǔ)存的數(shù)據(jù)進(jìn)行儲(chǔ)存
后,再處理另一寫請(qǐng)求中請(qǐng)求儲(chǔ)存的數(shù)據(jù)相比,本實(shí)施例的數(shù)據(jù)存儲(chǔ)方法可以同步對(duì)不同
的寫請(qǐng)求進(jìn)行處理,可以降低系統(tǒng)的消耗資源,提升數(shù)據(jù)儲(chǔ)存的速率,從而優(yōu)化系統(tǒng)性能。 方法實(shí)施例二 —種數(shù)據(jù)存儲(chǔ)方法,且本實(shí)施例的方法可適用于數(shù)據(jù)處理系統(tǒng),當(dāng)服務(wù)器接收到 客戶端的寫請(qǐng)求后,對(duì)數(shù)據(jù)的存儲(chǔ)方法,流程圖如圖2所示,包括 步驟201、第一線程池單元將第一寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),將第二寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù); 在第一線程池單元將第二寫請(qǐng)求中,請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù)的同時(shí),第 二線程池單元對(duì)所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)進(jìn)行儲(chǔ)存; 本實(shí)施例中,第二線程池單元對(duì)所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)進(jìn)行儲(chǔ)存是通過 如下步驟來實(shí)現(xiàn),主要是通過第一子單元和第二子單元來完成 步驟202、第一子單元計(jì)算所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的第一數(shù)據(jù)內(nèi)容標(biāo) 識(shí); 這里,第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)是能唯一標(biāo)識(shí)對(duì)象數(shù)據(jù)的,具體地,可以通過哈希(Hash) 算法,如利用信息-摘要算法5(MD5)和安全哈希算法(SHA1)計(jì)算,得到的Hash值即為對(duì) 象數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)內(nèi)容標(biāo)識(shí)。 步驟203、第二子單元根據(jù)所述第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)儲(chǔ)存所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì) 象數(shù)據(jù); 在本實(shí)施例中,第一子單元在執(zhí)行步驟202所述的計(jì)算第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)后,且 在第二子單元執(zhí)行步驟203所述的根據(jù)所述第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)儲(chǔ)存對(duì)象數(shù)據(jù)的同時(shí),步驟 202還包括第一子單元計(jì)算第二寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的第二數(shù)據(jù)內(nèi)容標(biāo)識(shí);而步驟203 中第二子單元在儲(chǔ)存第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)后,儲(chǔ)存第二寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)。
上述步驟201通過第一線程池單元完成,步驟202和203通過第二線程池單元 完成,比如,通過第一線程池單元中包括的第一子單元和第二子單元分別完成步驟202和 203。 這里的第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)和第二數(shù)據(jù)內(nèi)容標(biāo)識(shí)并不代表順序關(guān)系,而是表示不同 的數(shù)據(jù)內(nèi)容標(biāo)識(shí)。 本實(shí)施例中是將文件分割成對(duì)象數(shù)據(jù)的過程,即制造對(duì)象子過程、計(jì)算數(shù)據(jù)內(nèi)容 標(biāo)識(shí)即制造對(duì)象標(biāo)識(shí)子過程,及根據(jù)數(shù)據(jù)內(nèi)容標(biāo)識(shí)儲(chǔ)存對(duì)象數(shù)據(jù)的過程,這幾個(gè)過程用不 同的功能單元如第一線程池單元、第一子單元和第二子單元實(shí)現(xiàn),每個(gè)功能單元分別利用 不同的CPU同步執(zhí)行各自的步驟。 參考圖3所示,在其它的實(shí)施例中,步驟203所述的第二子單元根據(jù)所述第一數(shù)據(jù)
內(nèi)容標(biāo)識(shí)儲(chǔ)存所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)可以通過如下步驟來實(shí)現(xiàn),主要通過第三子
單元、第四子單元和第五子單元來完成,而其他步驟如上述實(shí)施例中所述,在此不再贅述 Al、第三子單元查找預(yù)置的數(shù)據(jù)內(nèi)容標(biāo)識(shí)與元數(shù)據(jù)的映射關(guān)系表,確定所述映射
關(guān)系表中是否包括第一數(shù)據(jù)內(nèi)容標(biāo)識(shí),若確定不包括,則執(zhí)行步驟B1 ;若確定包括,則說明
系統(tǒng)中已經(jīng)儲(chǔ)存了第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)對(duì)應(yīng)的元數(shù)據(jù),則不進(jìn)行對(duì)象數(shù)據(jù)的儲(chǔ)存; Bl、第四子單元儲(chǔ)存所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù);可以通過扇區(qū)號(hào)為數(shù)據(jù)在
硬盤上找到一段存儲(chǔ)空間,調(diào)用硬盤輸入-輸出(I/O)將數(shù)據(jù)寫入到分配好的硬盤扇區(qū)中
存儲(chǔ); C1、第五子單元根據(jù)步驟B1中的儲(chǔ)存,創(chuàng)建新的映射關(guān)系,即步驟B1中儲(chǔ)存的對(duì) 象數(shù)據(jù)與第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)的映射關(guān)系。 可以理解,在第三子單元執(zhí)行步驟A1所述的確定是否包括第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)后, 第四子單元執(zhí)行步驟B1所述的在儲(chǔ)存所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的同時(shí),步驟A1還 包括第三子單元確定所述映射關(guān)系表中是否包括第二數(shù)據(jù)內(nèi)容標(biāo)識(shí);
如果映射關(guān)系表中也不包括第二數(shù)據(jù)內(nèi)容標(biāo)識(shí),第四子單元在執(zhí)行步驟B1所述的儲(chǔ)存第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)后,第五子單元在執(zhí)行步驟CI所述的創(chuàng)建對(duì)象數(shù)據(jù)與第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)的同時(shí),步驟B1還包括第四子單元儲(chǔ)存第二數(shù)據(jù)內(nèi)容標(biāo)識(shí)對(duì)應(yīng)的對(duì)象數(shù)據(jù); 且步驟C1中第五子單元儲(chǔ)存的對(duì)象數(shù)據(jù)與第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)的映射關(guān)系后,第二寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)與第二數(shù)據(jù)內(nèi)容標(biāo)識(shí)的映射關(guān)系。 上述步驟A1到C1是通過第二子單元完成,具體地,通過第二子單元中包括的第三子單元、第四子單元和第五子單元分別完成步驟Al到Cl。 本實(shí)施例中,將系統(tǒng)中制造對(duì)象子過程、制造對(duì)象標(biāo)識(shí)子過程、查找預(yù)置的映射關(guān)系表即查找對(duì)象元數(shù)據(jù)子過程、儲(chǔ)存對(duì)象數(shù)據(jù)即輸入輸出子過程,和創(chuàng)建新映射關(guān)系即寫對(duì)象元數(shù)據(jù)子過程,這5個(gè)子過程通過不同的功能單元如第一線程池單元、第一子單元、第三子單元、第四子單元和第五子單元來實(shí)現(xiàn),組成流水線,且每個(gè)功能單元分別利用不同的CPU同時(shí)執(zhí)行各自的步驟,并行處理多個(gè)寫請(qǐng)求。 參考圖4所示,在另一個(gè)實(shí)施例中,第一子單元執(zhí)行步驟202所述的計(jì)算所述第一
寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)時(shí),可以通過如下步驟來實(shí)現(xiàn) A2、將所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)分成兩份以上片段數(shù)據(jù);可以理解,在將對(duì)
象數(shù)據(jù)分成片段數(shù)據(jù)時(shí),可以按照數(shù)據(jù)大小,將一個(gè)寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)平均分成兩份以上片段數(shù)據(jù),具體是幾份可以在系統(tǒng)中進(jìn)行預(yù)置;也可以按照系統(tǒng)中預(yù)置的其它規(guī)則來劃分片段數(shù)據(jù); B2、同時(shí)計(jì)算所述兩份以上片段數(shù)據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí);可以利用不同的CPU來同步進(jìn)行兩份以上片段數(shù)據(jù)內(nèi)容標(biāo)識(shí)的計(jì)算。 C2、將所述兩份以上片段數(shù)據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí),拼接成新的標(biāo)識(shí)作為所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)。 例如,計(jì)算a片段數(shù)據(jù)得到片段數(shù)據(jù)內(nèi)容標(biāo)識(shí)A,計(jì)算b片段數(shù)據(jù)得到片段數(shù)據(jù)內(nèi)
容標(biāo)識(shí)B,則拼接成的新的標(biāo)識(shí)為AB,即為第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)。而不僅僅是在計(jì)算第一數(shù)據(jù)
內(nèi)容標(biāo)識(shí)時(shí),可以使用本實(shí)施例中的方法,在計(jì)算每個(gè)對(duì)象數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)內(nèi)容標(biāo)識(shí)時(shí),都
可以使用本發(fā)明實(shí)施例的方法。和現(xiàn)有技術(shù)中串行計(jì)算數(shù)據(jù)內(nèi)容標(biāo)識(shí)相比,本實(shí)施例的方
法能減少計(jì)算數(shù)據(jù)內(nèi)容標(biāo)識(shí)的消耗時(shí)間,加快計(jì)算速度,提升系統(tǒng)性能。 上述的數(shù)據(jù)存儲(chǔ)方法可以應(yīng)用各種典型的基于內(nèi)容存儲(chǔ)系統(tǒng)中,如基于內(nèi)容存儲(chǔ)
的系統(tǒng),從寫入不同長(zhǎng)度的文件,得到寫請(qǐng)求,直到對(duì)文件的存儲(chǔ)完成返回這個(gè)過程中,記
錄寫數(shù)據(jù)的吞吐率和CPU使用率。結(jié)果顯示,采用本發(fā)明方法實(shí)施例中數(shù)據(jù)存儲(chǔ)方法能提
高25%左右的系統(tǒng)吞吐率,優(yōu)化了系統(tǒng)的性能。 方法實(shí)施例三 —種數(shù)據(jù)存儲(chǔ)方法,流程圖如圖5所示,包括 步驟301、將寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù); 步驟302、將所述對(duì)象數(shù)據(jù)分成兩份以上片段數(shù)據(jù); 可以理解,在將對(duì)象數(shù)據(jù)分成片段數(shù)據(jù)時(shí),可以按照數(shù)據(jù)大小,將一個(gè)寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)平均分成兩份以上片段數(shù)據(jù),具體是幾份可以在系統(tǒng)中進(jìn)行預(yù)置;也可以按照系統(tǒng)中預(yù)置的其它規(guī)則來劃分片段數(shù)據(jù);
9
步驟303、同時(shí)計(jì)算所述兩份以上片段數(shù)據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí); 可以利用不同的CPU來同步進(jìn)行兩份以上片段數(shù)據(jù)內(nèi)容標(biāo)識(shí)的計(jì)算。 步驟304、將所述兩份以上片段數(shù)據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí),拼接成新的標(biāo)識(shí)作
為所述對(duì)象數(shù)據(jù)的對(duì)象數(shù)據(jù)內(nèi)容標(biāo)識(shí); 例如,計(jì)算a片段數(shù)據(jù)得到片段數(shù)據(jù)內(nèi)容標(biāo)識(shí)A,計(jì)算b片段數(shù)據(jù)得到片段數(shù)據(jù)內(nèi)
容標(biāo)識(shí)B,則拼接成的新的標(biāo)識(shí)為AB,即為第一數(shù)據(jù)內(nèi)容標(biāo)識(shí),而不僅僅是在計(jì)算第一數(shù)據(jù)
內(nèi)容標(biāo)識(shí)時(shí),可以使用本實(shí)施例中的方法,在計(jì)算每個(gè)對(duì)象數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)內(nèi)容標(biāo)識(shí)時(shí),都
可以使用本發(fā)明實(shí)施例的方法。和現(xiàn)有技術(shù)中串行計(jì)算數(shù)據(jù)內(nèi)容標(biāo)識(shí)相比,本實(shí)施例的方
法能減少計(jì)算數(shù)據(jù)內(nèi)容標(biāo)識(shí)的消耗時(shí)間,加快計(jì)算速度,提升系統(tǒng)性能。 步驟305、根據(jù)所述對(duì)象數(shù)據(jù)內(nèi)容標(biāo)識(shí),儲(chǔ)存所述文件對(duì)應(yīng)的對(duì)象數(shù)據(jù)。 儲(chǔ)存對(duì)象數(shù)據(jù)的方法可以如實(shí)施例二中的方法所述,在此不再贅述。 在其它具體的實(shí)施例中,在步驟301將寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù)
后,在對(duì)在將所述對(duì)象數(shù)據(jù)分成兩份以上片段數(shù)據(jù)的同時(shí),將另一寫請(qǐng)求中,請(qǐng)求儲(chǔ)存的文
件分割成對(duì)象數(shù)據(jù)。且本方法實(shí)施例中的5個(gè)步驟可以在不同的CPU上同步實(shí)現(xiàn),這樣提
高了系統(tǒng)的性能。 方法實(shí)施例四 —種數(shù)據(jù)讀取方法,流程圖如圖6所示,包括 步驟401、第一讀取線程池單元查找預(yù)置的數(shù)據(jù)內(nèi)容標(biāo)識(shí)與元數(shù)據(jù)的映射關(guān)系表,確定所述映射關(guān)系表中是否包括第一讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí),如果包括,則第二讀取線程池單元執(zhí)行步驟402 ; 具體地,可以根據(jù)讀請(qǐng)求中包含的對(duì)象數(shù)據(jù)的Hash值查找預(yù)置的Hash-Metadata映射表,如果Hash值不存在,則確定為不包括;如果在映射表中查找到相應(yīng)的Metadata數(shù)據(jù),則確定包括。 步驟402、第二讀取線程池單元讀取所述第一讀請(qǐng)求中請(qǐng)求讀取的對(duì)象數(shù)據(jù),同時(shí)第一讀取線程池單元確定所述映射關(guān)系標(biāo)識(shí)表中是否包括第二讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí)。 具體地,在進(jìn)行數(shù)據(jù)讀取時(shí)可以通過硬盤1/0得到對(duì)象數(shù)據(jù)。 本發(fā)明方法實(shí)施例中的數(shù)據(jù)讀取方法是,通過將系統(tǒng)中查找對(duì)象標(biāo)識(shí)子過程和數(shù)據(jù)讀取子過程,這2個(gè)子過程分布在2個(gè)線程池單元中實(shí)現(xiàn),組成流水線,這樣2個(gè)線程池單元即可同時(shí)進(jìn)行工作,來并行處理多個(gè)讀請(qǐng)求,但對(duì)于同一個(gè)讀請(qǐng)求來說,還是現(xiàn)有的步驟順序進(jìn)行。
可見,本發(fā)明實(shí)施例中的數(shù)據(jù)讀取方法包括確定所述映射關(guān)系表中是否包括第
一讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí)后,如果包括,則讀取所述第一讀請(qǐng)求中請(qǐng)求
讀取的對(duì)象數(shù)據(jù),同時(shí)在確定所述映射關(guān)系標(biāo)識(shí)表中是否包括第二讀請(qǐng)求中攜帶的對(duì)象數(shù)
據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí)。和現(xiàn)有技術(shù)中需要將一個(gè)讀請(qǐng)求中請(qǐng)求的數(shù)據(jù)進(jìn)行讀取后,再讀取另
一讀請(qǐng)求中請(qǐng)求的數(shù)據(jù)相比,本實(shí)施例的數(shù)據(jù)讀取方法可以同步對(duì)不同的讀請(qǐng)求進(jìn)行處
理,可以降低系統(tǒng)的消耗資源,提升數(shù)據(jù)讀取的速率,從而優(yōu)化系統(tǒng)性能。 設(shè)備實(shí)施例一 —種數(shù)據(jù)存儲(chǔ)設(shè)備,結(jié)構(gòu)示意圖如圖7所示,包括
第一分割單元10,用于將第一寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),之后將第二寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),并將所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)傳送給第一存儲(chǔ)單元20進(jìn)行儲(chǔ)存; 第一存儲(chǔ)單元20,用于對(duì)所述第一分割單元10傳送的第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)進(jìn)行儲(chǔ)存。 本實(shí)施例的設(shè)備中第一分割單元10與第一存儲(chǔ)單元20可以同步進(jìn)行并行處理。且第一分割單元10將文件分割成對(duì)象數(shù)據(jù),及第二存儲(chǔ)單元20對(duì)對(duì)象數(shù)據(jù)進(jìn)行儲(chǔ)存的具體過程如方法實(shí)施例一中所述,在此不再贅述。 本發(fā)明實(shí)施例中的數(shù)據(jù)存儲(chǔ)設(shè)備中第一分割單元IO將第一寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),將第二寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),并將第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)傳送給第一存儲(chǔ)單元20進(jìn)行儲(chǔ)存。和現(xiàn)有技術(shù)中數(shù)據(jù)存儲(chǔ)設(shè)備需要將一個(gè)寫請(qǐng)求中請(qǐng)求儲(chǔ)存的數(shù)據(jù)進(jìn)行儲(chǔ)存后,再處理另一寫請(qǐng)求中請(qǐng)求儲(chǔ)存的數(shù)據(jù)相比,本實(shí)施例的數(shù)據(jù)存儲(chǔ)設(shè)備可以同步對(duì)不同的寫請(qǐng)求進(jìn)行處理,可以降低設(shè)備的消耗資源,提升數(shù)據(jù)儲(chǔ)存的速率,從而優(yōu)化設(shè)備性能。
設(shè)備實(shí)施例二 —種數(shù)據(jù)存儲(chǔ)設(shè)備,本實(shí)施例的設(shè)備是在設(shè)備實(shí)施例一中設(shè)備的基礎(chǔ)上,細(xì)化了
第一存儲(chǔ)單元20,結(jié)構(gòu)示意圖如圖8所示,所述第一存儲(chǔ)單元20具體包括 標(biāo)識(shí)計(jì)算單元210,用于計(jì)算所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的第一數(shù)據(jù)內(nèi)容標(biāo)
識(shí),之后計(jì)算所述第二寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的第二數(shù)據(jù)內(nèi)容標(biāo)識(shí),并將所述第一數(shù)據(jù)內(nèi)
容標(biāo)識(shí)傳送給查找單元220 ; 本實(shí)施例中在第一分割單元10是將所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)傳送給第一存儲(chǔ)單元20中的標(biāo)識(shí)計(jì)算單元210。這里,第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)和第二數(shù)據(jù)內(nèi)容標(biāo)識(shí)是能唯一標(biāo)識(shí)對(duì)象數(shù)據(jù)的,具體地,可以通過Hash算法,如MD5和SHA1計(jì)算,得到的Hash值即為對(duì)象數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)內(nèi)容標(biāo)識(shí)。 查找單元220,用于查找預(yù)置的數(shù)據(jù)內(nèi)容標(biāo)識(shí)與元數(shù)據(jù)的映射關(guān)系表,確定所述映
射關(guān)系表中是否包括第一數(shù)據(jù)內(nèi)容標(biāo)識(shí),若不包含,則將所述第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)傳送給數(shù)
據(jù)存儲(chǔ)單元230,并確定所述映射關(guān)系表中是否包括第二數(shù)據(jù)內(nèi)容標(biāo)識(shí); 數(shù)據(jù)存儲(chǔ)單元230,用于儲(chǔ)存所述查找單元220傳送的第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)
據(jù),創(chuàng)建所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)與第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)的映射關(guān)系。 本實(shí)施例的設(shè)備中,標(biāo)識(shí)計(jì)算單元210、查找單元220和數(shù)據(jù)存儲(chǔ)單元230可以同
步執(zhí)行各自單元的步驟,能節(jié)省設(shè)備的消耗能源,優(yōu)化設(shè)備的性能。 參考圖9所示,在一個(gè)具體的實(shí)施例中,標(biāo)識(shí)計(jì)算單元210可以包括 第一片段劃分單元2101,用于將一個(gè)寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)分成兩份以上片段數(shù)
據(jù);可以理解,在將對(duì)象數(shù)據(jù)分成片段數(shù)據(jù)時(shí),可以按照數(shù)據(jù)大小,將一個(gè)寫請(qǐng)求對(duì)應(yīng)的對(duì)
象數(shù)據(jù)平均分成兩份以上片段數(shù)據(jù),具體是幾份可以在系統(tǒng)中進(jìn)行預(yù)置;也可以按照系統(tǒng)
中預(yù)置的其它規(guī)則來劃分片段數(shù)據(jù); 第一片段標(biāo)識(shí)計(jì)算單元2102,用于同時(shí)計(jì)算所述第一片段劃分單元2101劃分的兩份以上片段數(shù)據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí); 可以利用不同的CPU來同步進(jìn)行兩份以上片段數(shù)據(jù)內(nèi)容標(biāo)識(shí)的計(jì)算。
第一拼接單元2103,用于將所述第一片段標(biāo)識(shí)計(jì)算單元2102計(jì)算的兩份以上片段數(shù)據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí),拼接成新的標(biāo)識(shí)作為所一個(gè)寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)。 例如,計(jì)算a片段數(shù)據(jù)得到片段數(shù)據(jù)內(nèi)容標(biāo)識(shí)A,計(jì)算b片段數(shù)據(jù)得到片段數(shù)據(jù)內(nèi)容標(biāo)識(shí)B,則拼接成的新的標(biāo)識(shí)為AB,即為第一數(shù)據(jù)內(nèi)容標(biāo)識(shí),而不僅僅是在計(jì)算第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)時(shí),而且在計(jì)算每個(gè)對(duì)象數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)內(nèi)容標(biāo)識(shí)時(shí),都可以使用本發(fā)明實(shí)施例的方法。和現(xiàn)有技術(shù)中存儲(chǔ)設(shè)備利用串行計(jì)算數(shù)據(jù)內(nèi)容標(biāo)識(shí)相比,本實(shí)施例設(shè)備采用的方法能減少計(jì)算數(shù)據(jù)內(nèi)容標(biāo)識(shí)的消耗時(shí)間,加快計(jì)算速度,提升設(shè)備性能。
設(shè)備實(shí)施例三 —種數(shù)據(jù)存儲(chǔ)設(shè)備,流程圖如圖IO所示,包括 第二分割單元30,用于將寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù); 第二片段劃分單元31,用于將所述第二分割單元30分割的對(duì)象數(shù)據(jù)分成兩份以
上片段數(shù)據(jù); 可以理解,第二片段劃分單元31在將對(duì)象數(shù)據(jù)分成片段數(shù)據(jù)時(shí),可以按照數(shù)據(jù)大小,將一個(gè)寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)平均分成兩份以上片段數(shù)據(jù),具體是幾份可以在系統(tǒng)中進(jìn)行預(yù)置;也可以按照系統(tǒng)中預(yù)置的其它規(guī)則來劃分片段數(shù)據(jù); 第二片段標(biāo)識(shí)計(jì)算單元32,用于同時(shí)計(jì)算所述第二片段劃分單元31劃分的兩份以上片段數(shù)據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí); 第二拼接單元33,用于將所述第二片段標(biāo)識(shí)計(jì)算單元32計(jì)算的兩份以上片段數(shù)
據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí),拼接成新的標(biāo)識(shí)作為所述對(duì)象數(shù)據(jù)的對(duì)象數(shù)據(jù)內(nèi)容標(biāo)識(shí); 例如,計(jì)算a片段數(shù)據(jù)得到片段數(shù)據(jù)內(nèi)容標(biāo)識(shí)A,計(jì)算b片段數(shù)據(jù)得到片段數(shù)據(jù)內(nèi)
容標(biāo)識(shí)B,則拼接成的新的標(biāo)識(shí)為AB,即為第一數(shù)據(jù)內(nèi)容標(biāo)識(shí),不僅僅是在計(jì)算第一數(shù)據(jù)內(nèi)
容標(biāo)識(shí)時(shí),而且在計(jì)算每個(gè)對(duì)象數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)內(nèi)容標(biāo)識(shí)時(shí),都可以使用本發(fā)明實(shí)施例的
方法。和現(xiàn)有技術(shù)中存儲(chǔ)設(shè)備利用串行計(jì)算數(shù)據(jù)內(nèi)容標(biāo)識(shí)相比,本實(shí)施例的設(shè)備采用的方
法能減少計(jì)算數(shù)據(jù)內(nèi)容標(biāo)識(shí)的消耗時(shí)間,加快計(jì)算速度,提升設(shè)備性能。 第二存儲(chǔ)單元34,用于根據(jù)所述第二拼接單元33得到的對(duì)象數(shù)據(jù)內(nèi)容標(biāo)識(shí),儲(chǔ)存
所述文件對(duì)應(yīng)的對(duì)象數(shù)據(jù)。 設(shè)備實(shí)施例四 —種數(shù)據(jù)讀取設(shè)備,流程圖如圖11所示,包括 查找確定單元40,用于查找預(yù)置的數(shù)據(jù)內(nèi)容標(biāo)識(shí)與元數(shù)據(jù)的映射關(guān)系表,確定所述映射關(guān)系表中是否包括第一讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí),若包含,通知所述讀取單元41讀取所述第一請(qǐng)求中請(qǐng)求讀取的對(duì)象數(shù)據(jù),并確定所述映射關(guān)系標(biāo)識(shí)表中是否包括第二讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí);
讀取單元41,用于讀取讀請(qǐng)求中請(qǐng)求讀取的對(duì)象數(shù)據(jù)。 本發(fā)明實(shí)施例中的數(shù)據(jù)讀取設(shè)備中查找確定單元40確定所述映射關(guān)系表中是否包括第一讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí),如果包括,通知讀取單元41讀取數(shù)據(jù),并確定所述映射關(guān)系標(biāo)識(shí)表中是否包括第二讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí)。和現(xiàn)有技術(shù)中數(shù)據(jù)讀取設(shè)備需要將一個(gè)讀請(qǐng)求中請(qǐng)求的數(shù)據(jù)進(jìn)行讀取后,再讀取另一讀請(qǐng)求中請(qǐng)求的數(shù)據(jù)相比,本實(shí)施例的數(shù)據(jù)讀取設(shè)備可以同步對(duì)不同的讀請(qǐng)求進(jìn)行處理,可以降低系統(tǒng)的消耗資源,提升數(shù)據(jù)讀取的速率,從而優(yōu)化系統(tǒng)性能。 本發(fā)明實(shí)施例中的數(shù)據(jù)存儲(chǔ)方法包括將第一寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)
象數(shù)據(jù),將第二寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),同時(shí)對(duì)所述第一寫請(qǐng)求對(duì)應(yīng)的
對(duì)象數(shù)據(jù)進(jìn)行儲(chǔ)存。和現(xiàn)有技術(shù)中需要將一個(gè)寫請(qǐng)求中請(qǐng)求儲(chǔ)存的數(shù)據(jù)進(jìn)行儲(chǔ)存后,再處
理另一寫請(qǐng)求中請(qǐng)求儲(chǔ)存的數(shù)據(jù)相比,本實(shí)施例的數(shù)據(jù)存儲(chǔ)方法可以同步對(duì)不同的寫請(qǐng)求
進(jìn)行處理,可以降低系統(tǒng)的消耗資源,提升數(shù)據(jù)儲(chǔ)存的速率,從而優(yōu)化系統(tǒng)性能。
本發(fā)明實(shí)施例中的數(shù)據(jù)讀取方法包括確定所述映射關(guān)系表中是否包括第一讀
請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí),如果包括,則讀取所述第一讀請(qǐng)求中請(qǐng)求讀取的
對(duì)象數(shù)據(jù),同時(shí)確定所述映射關(guān)系標(biāo)識(shí)表中是否包括第二讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)
據(jù)內(nèi)容標(biāo)識(shí)。和現(xiàn)有技術(shù)中需要將一個(gè)讀請(qǐng)求中請(qǐng)求的數(shù)據(jù)進(jìn)行讀取后,再讀取另一讀請(qǐng)
求中請(qǐng)求的數(shù)據(jù)相比,本實(shí)施例的數(shù)據(jù)讀取方法可以同步對(duì)不同的讀請(qǐng)求進(jìn)行處理,可以
降低系統(tǒng)的消耗資源,提升數(shù)據(jù)讀取的速率,從而優(yōu)化系統(tǒng)性能。 本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可
以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)
介質(zhì)可以包括只讀存儲(chǔ)器(R0M)、隨機(jī)存取存儲(chǔ)器(RAM)、磁盤或光盤等。 以上對(duì)本發(fā)明實(shí)施例所提供的數(shù)據(jù)存儲(chǔ)、讀取方法及設(shè)備,進(jìn)行了詳細(xì)介紹,本文
中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫
助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思
想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
一種數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括將第一寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù);將第二寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),同時(shí)對(duì)所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)進(jìn)行儲(chǔ)存。
2. 如權(quán)利要求1所述的方法,其特征在于,所述對(duì)所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)進(jìn) 行儲(chǔ)存包括計(jì)算所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的第一數(shù)據(jù)內(nèi)容標(biāo)識(shí); 根據(jù)所述第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)儲(chǔ)存所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù);所述方法還包括根據(jù)所述第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)儲(chǔ)存所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的 同時(shí),計(jì)算所述第二寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的第二數(shù)據(jù)內(nèi)容標(biāo)識(shí)。
3. 如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)儲(chǔ)存所述 第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)包括查找預(yù)置的數(shù)據(jù)內(nèi)容標(biāo)識(shí)與元數(shù)據(jù)的映射關(guān)系表,確定所述映射關(guān)系表中是否包括第 一數(shù)據(jù)內(nèi)容標(biāo)識(shí);若確定不包括,則儲(chǔ)存所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù),創(chuàng)建所述第一寫請(qǐng)求對(duì)應(yīng)的 對(duì)象數(shù)據(jù)與第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)的映射關(guān)系;所述方法的還包括在確定所述映射關(guān)系表中是否包括第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)后,在儲(chǔ)存 所述一個(gè)寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的同時(shí),確定所述映射關(guān)系表中是否包括第二數(shù)據(jù)內(nèi)容標(biāo) 識(shí)。
4. 如權(quán)利要求3所述的方法,其特征在于,若確定所述映射關(guān)系表中不包括第二數(shù)據(jù) 內(nèi)容標(biāo)識(shí),則在儲(chǔ)存所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)之后,創(chuàng)建所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì) 象數(shù)據(jù)與第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)的映射關(guān)系的同時(shí)還包括儲(chǔ)存所述第二寫請(qǐng)求內(nèi)容標(biāo)識(shí)對(duì)應(yīng) 的對(duì)象數(shù)據(jù)。
5. 如權(quán)利要求2或3或4所述的方法,其特征在于,所述計(jì)算所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì) 象數(shù)據(jù)的第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)包括將所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)分成兩份以上片段數(shù)據(jù); 同時(shí)計(jì)算所述兩份以上片段數(shù)據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí);將所述兩份以上片段數(shù)據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí),拼接成新的標(biāo)識(shí)作為所述第一寫 請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)。
6. —種數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括 將寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù);將所述對(duì)象數(shù)據(jù)分成兩份以上片段數(shù)據(jù); 同時(shí)計(jì)算所述兩份以上片段數(shù)據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí); 將所述兩份以上片段數(shù)據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí),拼接成新的標(biāo)識(shí)作為所述對(duì)象數(shù)據(jù)的對(duì)象數(shù)據(jù)內(nèi)容標(biāo)識(shí);根據(jù)所述對(duì)象數(shù)據(jù)內(nèi)容標(biāo)識(shí),儲(chǔ)存所述文件對(duì)應(yīng)的對(duì)象數(shù)據(jù)。
7. —種數(shù)據(jù)讀取方法,其特征在于,包括查找預(yù)置的數(shù)據(jù)內(nèi)容標(biāo)識(shí)與元數(shù)據(jù)的映射關(guān)系表,確定所述映射關(guān)系表中是否包括第 一讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí);如果所述映射關(guān)系表中包括第一讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí),則讀取所 述第一讀請(qǐng)求中請(qǐng)求讀取的對(duì)象數(shù)據(jù),同時(shí)確定所述映射關(guān)系標(biāo)識(shí)表中是否包括第二讀請(qǐng) 求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí)。
8. —種數(shù)據(jù)存儲(chǔ)設(shè)備,其特征在于,包括第一分割單元,用于將第一寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),之后將第二寫 請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),并將所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)傳送給第一 存儲(chǔ)單元進(jìn)行儲(chǔ)存;第一存儲(chǔ)單元,用于對(duì)所述第一分割單元傳送的第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)進(jìn)行儲(chǔ)存。
9. 如權(quán)利要求8所述的設(shè)備,其特征在于,所述第一存儲(chǔ)單元包括標(biāo)識(shí)計(jì)算單元,用于計(jì)算所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的第一數(shù)據(jù)內(nèi)容標(biāo)識(shí),之后 計(jì)算所述第二寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的第二數(shù)據(jù)內(nèi)容標(biāo)識(shí),并將所述第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)傳 送給查找單元;查找單元,用于查找預(yù)置的數(shù)據(jù)內(nèi)容標(biāo)識(shí)與元數(shù)據(jù)的映射關(guān)系表,確定所述映射關(guān)系 表中是否包括第一數(shù)據(jù)內(nèi)容標(biāo)識(shí),若不包含,則將所述第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)傳送給數(shù)據(jù)存儲(chǔ) 單元,并確定所述映射關(guān)系表中是否包括第二數(shù)據(jù)內(nèi)容標(biāo)識(shí);數(shù)據(jù)存儲(chǔ)單元,用于儲(chǔ)存所述查找單元傳送的一個(gè)寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù),之后創(chuàng)建 所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)與第一數(shù)據(jù)內(nèi)容標(biāo)識(shí)的映射關(guān)系。
10. 如權(quán)利要求9所述的設(shè)備,其特征在于,所述標(biāo)識(shí)計(jì)算單元包括 第一片段劃分單元,用于將一個(gè)寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)分成兩份以上片段數(shù)據(jù); 第一片段標(biāo)識(shí)計(jì)算單元,用于同時(shí)計(jì)算所述第一片段劃分單元?jiǎng)澐值膬煞菀陨掀螖?shù)據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí);第一拼接單元,用于將所述第一片段標(biāo)識(shí)計(jì)算單元計(jì)算的兩份以上片段數(shù)據(jù)對(duì)應(yīng)的片 段數(shù)據(jù)內(nèi)容標(biāo)識(shí),拼接成新的標(biāo)識(shí)作為所述一個(gè)寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)的第一數(shù)據(jù)內(nèi)容標(biāo) 識(shí)。
11. 一種數(shù)據(jù)存儲(chǔ)設(shè)備,其特征在于,包括第二分割單元,用于將寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù);第二片段劃分單元,用于將所述第二分割單元分割的對(duì)象數(shù)據(jù)分成兩份以上片段數(shù)據(jù);第二片段標(biāo)識(shí)計(jì)算單元,用于同時(shí)計(jì)算所述第二片段劃分單元?jiǎng)澐值膬煞菀陨掀螖?shù) 據(jù)對(duì)應(yīng)的片段數(shù)據(jù)內(nèi)容標(biāo)識(shí);第二拼接單元,用于將所述第二片段標(biāo)識(shí)計(jì)算單元計(jì)算的兩份以上片段數(shù)據(jù)對(duì)應(yīng)的片 段數(shù)據(jù)內(nèi)容標(biāo)識(shí),拼接成新的標(biāo)識(shí)作為所述對(duì)象數(shù)據(jù)的對(duì)象數(shù)據(jù)內(nèi)容標(biāo)識(shí);第二存儲(chǔ)單元,用于根據(jù)所述第二拼接單元得到的對(duì)象數(shù)據(jù)內(nèi)容標(biāo)識(shí),儲(chǔ)存所述文件 對(duì)應(yīng)的對(duì)象數(shù)據(jù)。
12. —種數(shù)據(jù)讀取設(shè)備,其特征在于,包括查找確定單元,用于查找預(yù)置的數(shù)據(jù)內(nèi)容標(biāo)識(shí)與元數(shù)據(jù)的映射關(guān)系表,確定所述映射 關(guān)系表中是否包括第一讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí),若包含,通知所述讀取 單元讀取所述第一請(qǐng)求中請(qǐng)求讀取的對(duì)象數(shù)據(jù),并確定所述映射關(guān)系標(biāo)識(shí)表中是否包括第二讀請(qǐng)求中攜帶的對(duì)象數(shù)據(jù)的數(shù)據(jù)內(nèi)容標(biāo)識(shí);讀取單元,用于讀取讀請(qǐng)求中請(qǐng)求讀取的對(duì)象數(shù)據(jù)。
全文摘要
本發(fā)明實(shí)施例公開了數(shù)據(jù)存儲(chǔ)、讀取方法及設(shè)備,應(yīng)用于信息管理技術(shù)領(lǐng)域。本發(fā)明實(shí)施例中的數(shù)據(jù)存儲(chǔ)方法包括將第一寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),將第二寫請(qǐng)求中請(qǐng)求儲(chǔ)存的文件分割成對(duì)象數(shù)據(jù),同時(shí)對(duì)所述第一寫請(qǐng)求對(duì)應(yīng)的對(duì)象數(shù)據(jù)進(jìn)行儲(chǔ)存。和現(xiàn)有技術(shù)中需要將一個(gè)寫請(qǐng)求中請(qǐng)求儲(chǔ)存的數(shù)據(jù)進(jìn)行儲(chǔ)存后,再處理另一寫請(qǐng)求中請(qǐng)求儲(chǔ)存的數(shù)據(jù)相比,本實(shí)施例的數(shù)據(jù)存儲(chǔ)方法可以同步對(duì)不同的寫請(qǐng)求進(jìn)行處理,可以降低系統(tǒng)的消耗資源,提升數(shù)據(jù)儲(chǔ)存的速率,從而優(yōu)化系統(tǒng)性能。
文檔編號(hào)H04L29/08GK101770504SQ20091025258
公開日2010年7月7日 申請(qǐng)日期2009年12月29日 優(yōu)先權(quán)日2009年12月29日
發(fā)明者劉川意, 呂先紅, 張巍, 曹振奇, 汪東升, 王奇, 鞠大鵬 申請(qǐng)人:成都市華為賽門鐵克科技有限公司;清華大學(xué)