亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種安全可靠的大數(shù)據(jù)存儲(chǔ)系統(tǒng)及方法與流程

文檔序號(hào):12612400閱讀:562來源:國知局
一種安全可靠的大數(shù)據(jù)存儲(chǔ)系統(tǒng)及方法與流程

本發(fā)明涉及一種安全可靠的大數(shù)據(jù)存儲(chǔ)系統(tǒng)及方法。



背景技術(shù):

云計(jì)算是一種全新的領(lǐng)先信息技術(shù),結(jié)合IT技術(shù)和互聯(lián)網(wǎng)實(shí)現(xiàn)超級(jí)計(jì)算和存儲(chǔ)能力,而推動(dòng)云計(jì)算興起的動(dòng)力是高速互聯(lián)網(wǎng)和虛擬化技術(shù)的發(fā)展,更加廉價(jià)且功能強(qiáng)勁的芯片及硬盤、數(shù)據(jù)中心的發(fā)展。云計(jì)算可以看作是分布式計(jì)算、并行計(jì)算、效用計(jì)算、網(wǎng)絡(luò)存儲(chǔ)、虛擬化、負(fù)載均衡等傳統(tǒng)計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物。云計(jì)算涉及的關(guān)鍵技術(shù)有很多,包括:通信、大規(guī)模分布式存儲(chǔ)技術(shù)、海量數(shù)據(jù)處理技術(shù)、資源管理、虛擬化技術(shù)等。

大數(shù)據(jù)(bigdata),或稱巨量資料,指的是所涉及的資料量規(guī)模巨大到無法通過目前主流軟件工具,在合理時(shí)間內(nèi)達(dá)到擷取、管理、處理、并整理成為幫助企業(yè)經(jīng)營決策更積極目的的資訊。大數(shù)據(jù)具有4V特點(diǎn):Volume(大量)、Velocity(高速)、Variety(多樣)、Value(價(jià)值)。大數(shù)據(jù)需要特殊的技術(shù),以有效地處理大量的容忍經(jīng)過時(shí)間內(nèi)的數(shù)據(jù)。

內(nèi)容尋址存儲(chǔ)(Content Addressed Storage,CAS)是由美國EMC公司2002年4月率先提出的針對(duì)固定內(nèi)容存儲(chǔ)需求的先進(jìn)的網(wǎng)絡(luò)存儲(chǔ)技術(shù)。CAS具有面向?qū)ο蟠鎯?chǔ)特征,基于磁記錄技術(shù),它按照所存儲(chǔ)數(shù)據(jù)內(nèi)容的數(shù)字指紋尋址,具有良好的可搜索性、安全性、可靠性和擴(kuò)展性。EMC同時(shí)推出了其CAS產(chǎn)品Centera,并成為CAS存儲(chǔ)技術(shù)的代表性產(chǎn)品。之后,一些存儲(chǔ)公司相繼推出了相關(guān)的產(chǎn)品,使CAS技術(shù)備受關(guān)注。

現(xiàn)有技術(shù)的加密操作并不進(jìn)行雙層加密,只在數(shù)據(jù)傳輸或者數(shù)據(jù)存儲(chǔ)時(shí)進(jìn)行加密。同時(shí),現(xiàn)有技術(shù)的CAS,通常直接對(duì)對(duì)象進(jìn)行固定分塊的方式進(jìn)行數(shù)據(jù)分片,采用該方式雖然可以節(jié)約分塊的時(shí)間,然而如果是采用該種方法,會(huì)存在特別多固定分塊,其利用次數(shù)極少但是仍然占用大量空間,使得存儲(chǔ)系統(tǒng)的整體利用率不高,尤其是在大數(shù)據(jù)的基礎(chǔ)上以及對(duì)于各種常用屬性的組合的時(shí)候會(huì)產(chǎn)生上述問題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種安全可靠的大數(shù)據(jù)存儲(chǔ)系統(tǒng)及方法,采用雙層加密操作,分別在數(shù)據(jù)傳輸之前以及數(shù)據(jù)存儲(chǔ)之前進(jìn)行加密,并且對(duì)數(shù)據(jù)存儲(chǔ)進(jìn)行改進(jìn)。

本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:

一種安全可靠的大數(shù)據(jù)存儲(chǔ)系統(tǒng),包括依次連接的前端采集設(shè)備、有線/無線傳輸設(shè)備和后端數(shù)據(jù)處理設(shè)備;所述的前端采集設(shè)備包括數(shù)據(jù)采集模塊和加密模塊,所述的數(shù)據(jù)采集模塊用于采集數(shù)據(jù),所述的加密模塊用于對(duì)采集到的數(shù)據(jù)進(jìn)行加密處理;所述的有線/無線傳輸設(shè)備用于將加密數(shù)據(jù)發(fā)送至后端數(shù)據(jù)處理設(shè)備;所述的后端數(shù)據(jù)處理設(shè)備包括解密模塊、存儲(chǔ)模塊和指紋值數(shù)據(jù)庫創(chuàng)建模塊,所述的解密模塊用于對(duì)接收到的數(shù)據(jù)進(jìn)行解密處理,所述的存儲(chǔ)模塊實(shí)現(xiàn)將對(duì)象流中的對(duì)象進(jìn)行加密后通過內(nèi)容比較的方式進(jìn)行分段,得到多個(gè)數(shù)據(jù)片段,并建立對(duì)數(shù)據(jù)片段到對(duì)象的反相引用,或者上傳數(shù)據(jù)片段并將所述指紋值更新至所述指紋值數(shù)據(jù)庫;所述的指紋值數(shù)據(jù)庫創(chuàng)建模塊用于獲取大量與待存儲(chǔ)數(shù)據(jù)類型相同的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行與存儲(chǔ)模塊相同的加密后再進(jìn)行不同長度的分段,得到多組數(shù)據(jù)片段,計(jì)算數(shù)據(jù)片段的指紋值并上傳至指紋值數(shù)據(jù)庫;

所述的存儲(chǔ)模塊包括:

加密單元:用于對(duì)待存儲(chǔ)的文件進(jìn)行加密,并將加密后得到的對(duì)象發(fā)送至比較組獲取單元;其中,加密前的文件為F=(d1,d2,......,dN),是包含N個(gè)消息的串,加密后的文件為F'=(e1,e2,......,eN+1),ei為di加密后的消息,其中加密的消息I為初始向量,EK(i)表示基于密鑰的加密算法,eN+1表示之前所有加密消息e1,e2,......,eN的密鑰K和哈希的異或函數(shù),即其中H(i)是加密算法;

比較組獲取單元:用于獲取比較組,所述的比較組為對(duì)象的第m位至m+X位;其中,m為比較組的初始位,m的初始值為0,X為固定步長;

比較組指紋值計(jì)算單元:用于計(jì)算比較組對(duì)應(yīng)的指紋值;

映射關(guān)系對(duì)應(yīng)表生成單元:用于對(duì)比較組指紋值計(jì)算單元計(jì)算得到的指紋值生成反映所述指紋值與對(duì)應(yīng)的存儲(chǔ)位置的映射關(guān)系對(duì)應(yīng)表;

判斷與處理單元:用于調(diào)用指紋值數(shù)據(jù)庫,判斷所述指紋值數(shù)據(jù)庫中是否存在所述指紋值:

(1)如果能夠?qū)?yīng):則將緩存中的指紋值進(jìn)行更新,將比較組更新為m~m+X+p*n位,同時(shí)返回比較組獲取單元,其中p為m未更新的情況下的能夠?qū)?yīng)的總次數(shù),n為每次能夠?qū)?yīng)后增加的增加步長;

(2)如果不能夠?qū)?yīng),則進(jìn)一步判斷緩存中是否存在指紋值:

如果緩存中存在指紋值,則建立所述指紋值對(duì)應(yīng)的數(shù)據(jù)片段到所述對(duì)象的反向引用,同時(shí)清空緩存,將比較組的初始位m更新為m+X+(p-1)*n+1,完成后返回比較組獲取單元;

如果緩存中不存在指紋值,則上傳所述對(duì)象的前X位的數(shù)據(jù)片段,并將對(duì)應(yīng)的指紋值更新至所述指紋值數(shù)據(jù)庫,將比較組的初始位m更新為m+X+1,完成后返回比較組獲取單元;

結(jié)束判斷單元:用于判斷是否完成整個(gè)對(duì)象的分段,如果是則結(jié)束。

所述的后端數(shù)據(jù)處理設(shè)備還包括:數(shù)據(jù)分析模塊,用于對(duì)數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)按照模型進(jìn)行分析。

所述的存儲(chǔ)模塊還包括一個(gè)長度判斷與數(shù)據(jù)處理單元:如果對(duì)象的最后一位大于m+X,則進(jìn)入比較組獲取單元;否則:直接計(jì)算m位~對(duì)象最后一位的指紋值;按照計(jì)算得到的指紋值生成反映所述指紋值與對(duì)應(yīng)的存儲(chǔ)位置的映射關(guān)系對(duì)應(yīng)表;調(diào)用指紋值數(shù)據(jù)庫,判斷所述指紋值數(shù)據(jù)庫中是否存在所述指紋值:如果是,則建立所述指紋值對(duì)應(yīng)的數(shù)據(jù)片段到所述對(duì)象的反向引用;如果否,則上傳所述指紋值對(duì)應(yīng)的數(shù)據(jù)片段,并將所述指紋值更新至所述指紋值數(shù)據(jù)庫。

所述的存儲(chǔ)模塊還包括一個(gè)對(duì)象頭/尾判斷單元:用于判斷對(duì)象頭/尾是否與為指紋值數(shù)據(jù)庫中常用的數(shù)據(jù)頭/尾,如果是則快速獲取指紋值并建立所述指紋值對(duì)應(yīng)的數(shù)據(jù)片段到所述對(duì)象的反向引用,并去掉常用的數(shù)據(jù)頭/尾后進(jìn)入比較組獲取單元。

所述的比較組限制有最大值Y,當(dāng)在能夠?qū)?yīng)的同時(shí),滿足X+p*n小于等于Y而X+(p+1)*n大于Y,則直接進(jìn)入不能夠?qū)?yīng)并且緩存中存在指紋值的情況。

一種安全可靠的大數(shù)據(jù)存儲(chǔ)方法,包括存儲(chǔ)步驟和指紋值數(shù)據(jù)庫創(chuàng)建步驟,所述的存儲(chǔ)步驟包括以下子步驟:

S1:前端采集設(shè)備的數(shù)據(jù)采集模塊采集數(shù)據(jù),前端采集設(shè)備的加密模塊對(duì)采集到的數(shù)據(jù)進(jìn)行加密處理;

S2:有線/無線傳輸設(shè)備將加密數(shù)據(jù)發(fā)送至后端數(shù)據(jù)處理設(shè)備;

S3:后端數(shù)據(jù)處理設(shè)備的解密模塊對(duì)接收到的數(shù)據(jù)進(jìn)行解密處理,后端數(shù)據(jù)處理設(shè)備的存儲(chǔ)模塊對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),包括以下子步驟:

S31:接收待存儲(chǔ)的數(shù)據(jù),在進(jìn)行加密操作得到對(duì)象后進(jìn)入步驟S32;其中,加密前的文件為F=(d1,d2,......,dN),是包含N個(gè)消息的串,加密后的文件為F'=(e1,e2,......,eN+1),ei為di加密后的消息,其中加密的消息I為初始向量,EK(i)表示基于密鑰的加密算法,eN+1表示之前所有加密消息e1,e2,......,eN的密鑰K和哈希的異或函數(shù),即其中H(i)是加密算法;

S32:將對(duì)象流中的對(duì)象進(jìn)行通過內(nèi)容比較的方式進(jìn)行分段,得到多個(gè)數(shù)據(jù)片段,并建立對(duì)數(shù)據(jù)片段到對(duì)象的反相引用,或者上傳數(shù)據(jù)片段并將所述指紋值更新至所述指紋值數(shù)據(jù)庫,包括以下子步驟:

S321:獲取比較組,所述的比較組為對(duì)象的第m位至m+X位;其中,m為比較組的初始位,m的初始值為0,X為固定步長;

S322:計(jì)算比較組對(duì)應(yīng)的指紋值;

S323:按照步驟S322計(jì)算得到的指紋值生成反映所述指紋值與對(duì)應(yīng)的存儲(chǔ)位置的映射關(guān)系對(duì)應(yīng)表;

S324:調(diào)用指紋值數(shù)據(jù)庫,判斷所述指紋值數(shù)據(jù)庫中是否存在所述指紋值:

(1)如果能夠?qū)?yīng):

則將緩存中的指紋值進(jìn)行更新,將比較組更新為m~m+X+p*n位,同時(shí)返回步驟S322,其中p為m未更新的情況下的能夠?qū)?yīng)的總次數(shù),n為每次能夠?qū)?yīng)后增加的增加步長;

(2)如果不能夠?qū)?yīng),則對(duì)判斷緩存中是否存在指紋值:

(2-1)如果緩存中存在指紋值,則建立所述指紋值對(duì)應(yīng)的數(shù)據(jù)片段到所述對(duì)象的反向引用,同時(shí)清空緩存,將比較組的初始位m更新為m+X+(p-1)*n+1,完成后返回步驟S321;

(2-2)如果緩存中不存在指紋值,則上傳所述對(duì)象的前X位的數(shù)據(jù)片段,并將對(duì)應(yīng)的指紋值更新至所述指紋值數(shù)據(jù)庫,將比較組的初始位m更新為m+X+1,完成后返回步驟S321;

S33:當(dāng)完成整個(gè)對(duì)象的分段,則結(jié)束;

所述的指紋值數(shù)據(jù)庫創(chuàng)建步驟包括:獲取大量與待存儲(chǔ)數(shù)據(jù)類型相同的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行與存儲(chǔ)模塊相同的加密后再進(jìn)行不同長度的分段,得到多組數(shù)據(jù)片段,計(jì)算數(shù)據(jù)片段的指紋值并上傳至指紋值數(shù)據(jù)庫。

一種安全可靠的大數(shù)據(jù)存儲(chǔ)方法還包括步驟S4數(shù)據(jù)分析:對(duì)數(shù)據(jù)處理得到的數(shù)據(jù)按照模型進(jìn)行分析。

在步驟S321所述的獲取比較組之前,還包括一個(gè)判斷步驟:如果對(duì)象的最后一位大于m+X,則進(jìn)入步驟S321;否則:

S01:直接計(jì)算m位~對(duì)象最后一位的指紋值;

S02:按照計(jì)算得到的指紋值生成反映所述指紋值與對(duì)應(yīng)的存儲(chǔ)位置的映射關(guān)系對(duì)應(yīng)表;

S03:調(diào)用指紋值數(shù)據(jù)庫,判斷所述指紋值數(shù)據(jù)庫中是否存在所述指紋值:如果是,則建立所述指紋值對(duì)應(yīng)的數(shù)據(jù)片段到所述對(duì)象的反向引用;如果否,則上傳所述指紋值對(duì)應(yīng)的數(shù)據(jù)片段,并將所述指紋值更新至所述指紋值數(shù)據(jù)庫。

在步驟S31和步驟S32之間還包括一個(gè)對(duì)象頭/尾判斷步驟,用于判斷對(duì)象頭/尾是否與為指紋值數(shù)據(jù)庫中常用的數(shù)據(jù)頭/尾,如果是則快速獲取指紋值并建立所述指紋值對(duì)應(yīng)的數(shù)據(jù)片段到所述對(duì)象的反向引用,并去掉常用的數(shù)據(jù)頭/尾后進(jìn)入步驟S32。

所述的比較組限制有最大值Y,在步驟S324中,當(dāng)在能夠?qū)?yīng)的同時(shí),滿足X+p*n小于等于Y而X+(p+1)*n大于Y,則直接進(jìn)入不能夠?qū)?yīng)并且緩存中存在指紋值的情況。

本發(fā)明的有益效果是:

(1)本發(fā)明采用雙層加密操作,分別在數(shù)據(jù)傳輸之前以及數(shù)據(jù)存儲(chǔ)之前進(jìn)行不同方式的加密,使得在傳輸過程和存儲(chǔ)過程中分別可以提高安全性;同時(shí),還解決現(xiàn)有技術(shù)使用固定分塊的形式,導(dǎo)致特別多固定分塊,其利用次數(shù)極少但是仍然占用大量空間,使得存儲(chǔ)系統(tǒng)的整體利用率不高的問題,采用內(nèi)容對(duì)比的方式對(duì)對(duì)象進(jìn)行分段,當(dāng)尋找到相同的指紋值時(shí)進(jìn)行長度增加與再判斷,直到下一次的指紋值不同,提高存儲(chǔ)系統(tǒng)的利用率。

(2)本發(fā)明還包括一個(gè)常用頭/尾判斷,當(dāng)分析到對(duì)象的頭/尾屬于常用頭/尾時(shí)可快速進(jìn)行獲取。

附圖說明

圖1為本發(fā)明結(jié)構(gòu)方框圖;

圖2為本發(fā)明存儲(chǔ)步驟流程圖;

圖3為步驟S32流程圖。

具體實(shí)施方式

下面結(jié)合附圖進(jìn)一步詳細(xì)描述本發(fā)明的技術(shù)方案:

如圖1所示,一種安全可靠的大數(shù)據(jù)存儲(chǔ)系統(tǒng),包括依次連接的前端采集設(shè)備、有線/無線傳輸設(shè)備和后端數(shù)據(jù)處理設(shè)備;所述的前端采集設(shè)備包括數(shù)據(jù)采集模塊和加密模塊,所述的數(shù)據(jù)采集模塊用于采集數(shù)據(jù),所述的加密模塊用于對(duì)采集到的數(shù)據(jù)進(jìn)行加密處理,在本實(shí)施例中,加密模塊進(jìn)行的加密優(yōu)選為MD5;所述的有線/無線傳輸設(shè)備用于將加密數(shù)據(jù)發(fā)送至后端數(shù)據(jù)處理設(shè)備;所述的后端數(shù)據(jù)處理設(shè)備包括解密模塊、存儲(chǔ)模塊和指紋值數(shù)據(jù)庫創(chuàng)建模塊,所述的解密模塊用于對(duì)接收到的數(shù)據(jù)進(jìn)行解密處理,所述的存儲(chǔ)模塊實(shí)現(xiàn)將對(duì)象流中的對(duì)象進(jìn)行加密后通過內(nèi)容比較的方式進(jìn)行分段,得到多個(gè)數(shù)據(jù)片段,并建立對(duì)數(shù)據(jù)片段到對(duì)象的反相引用,或者上傳數(shù)據(jù)片段并將所述指紋值更新至所述指紋值數(shù)據(jù)庫;所述的指紋值數(shù)據(jù)庫創(chuàng)建模塊用于獲取大量與待存儲(chǔ)數(shù)據(jù)類型相同的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行與存儲(chǔ)模塊相同的加密后再進(jìn)行不同長度的分段,得到多組數(shù)據(jù)片段,計(jì)算數(shù)據(jù)片段的指紋值并上傳至指紋值數(shù)據(jù)庫;

所述的存儲(chǔ)模塊包括:

加密單元:用于對(duì)待存儲(chǔ)的文件進(jìn)行加密,并將加密后得到的對(duì)象發(fā)送至比較組獲取單元;其中,加密前的文件為F=(d1,d2,......,dN),是包含N個(gè)消息的串,加密后的文件為F'=(e1,e2,......,eN+1),ei為di加密后的消息,其中加密的消息I為初始向量,EK(i)表示基于密鑰的加密算法,eN+1表示之前所有加密消息e1,e2,......,eN的密鑰K和哈希的異或函數(shù),即其中H(i)是加密算法;

在本實(shí)施例中,EK(i)優(yōu)選為AES,H(i)優(yōu)選為SHA,K為從塊分組密碼中隨機(jī)選取的密鑰。

比較組獲取單元:用于獲取比較組,所述的比較組為對(duì)象的第m位至m+X位;其中,m為比較組的初始位,m的初始值為0,X為固定步長;

比較組指紋值計(jì)算單元:用于計(jì)算比較組對(duì)應(yīng)的指紋值;

映射關(guān)系對(duì)應(yīng)表生成單元:用于對(duì)比較組指紋值計(jì)算單元計(jì)算得到的指紋值生成反映所述指紋值與對(duì)應(yīng)的存儲(chǔ)位置的映射關(guān)系對(duì)應(yīng)表;

判斷與處理單元:用于調(diào)用指紋值數(shù)據(jù)庫,判斷所述指紋值數(shù)據(jù)庫中是否存在所述指紋值:

(1)如果能夠?qū)?yīng):則將緩存中的指紋值進(jìn)行更新,將比較組更新為m~m+X+p*n位,同時(shí)返回比較組獲取單元,其中p為m未更新的情況下的能夠?qū)?yīng)的總次數(shù),n為每次能夠?qū)?yīng)后增加的增加步長;

其中,所述的X和n的值可調(diào)節(jié)。具體地,n的值越小計(jì)算的精度越高,X的值根據(jù)常用數(shù)據(jù)的長度的均值進(jìn)行選擇。在不考慮計(jì)算量的情況下,n優(yōu)選取1。

(2)如果不能夠?qū)?yīng),則進(jìn)一步判斷緩存中是否存在指紋值:

如果緩存中存在指紋值,則建立所述指紋值對(duì)應(yīng)的數(shù)據(jù)片段到所述對(duì)象的反向引用,同時(shí)清空緩存,將比較組的初始位m更新為m+X+(p-1)*n+1,完成后返回比較組獲取單元;

此條為當(dāng)進(jìn)行了多次后的增加,用上一次的指紋值進(jìn)行反向引用。

如果緩存中不存在指紋值,則上傳所述對(duì)象的前X位的數(shù)據(jù)片段,并將對(duì)應(yīng)的指紋值更新至所述指紋值數(shù)據(jù)庫,將比較組的初始位m更新為m+X+1,完成后返回比較組獲取單元;

此條為進(jìn)行第一次比較就不對(duì)應(yīng)時(shí)候的新寫入。

結(jié)束判斷單元:用于判斷是否完成整個(gè)對(duì)象的分段,如果是則結(jié)束。

優(yōu)選的,在上傳所述對(duì)象的前X位的數(shù)據(jù)片段時(shí),根據(jù)數(shù)據(jù)片段的指紋值將數(shù)據(jù)片段存儲(chǔ)到不同的存儲(chǔ)單元中。

采用該種方式對(duì)新的數(shù)據(jù)片段進(jìn)行分類存儲(chǔ),以實(shí)現(xiàn)分布式存儲(chǔ)。比如可以選取多個(gè)范圍值,當(dāng)數(shù)據(jù)片段的指紋值落在某個(gè)范圍內(nèi)就存儲(chǔ)于對(duì)應(yīng)的存儲(chǔ)單元中。這樣可以使得在數(shù)據(jù)比較階段降低一定量的工作,或者在后期的數(shù)據(jù)獲取階段降低一定量的工作。

在本實(shí)施例中,所述的后端數(shù)據(jù)處理設(shè)備還包括:數(shù)據(jù)分析模塊,用于對(duì)數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)按照模型進(jìn)行分析。

在本實(shí)施例中,所述的存儲(chǔ)模塊還包括一個(gè)長度判斷與數(shù)據(jù)處理單元:如果對(duì)象的最后一位大于m+X,則進(jìn)入比較組獲取單元;否則:直接計(jì)算m位~對(duì)象最后一位的指紋值;按照計(jì)算得到的指紋值生成反映所述指紋值與對(duì)應(yīng)的存儲(chǔ)位置的映射關(guān)系對(duì)應(yīng)表;調(diào)用指紋值數(shù)據(jù)庫,判斷所述指紋值數(shù)據(jù)庫中是否存在所述指紋值:如果是,則建立所述指紋值對(duì)應(yīng)的數(shù)據(jù)片段到所述對(duì)象的反向引用;如果否,則上傳所述指紋值對(duì)應(yīng)的數(shù)據(jù)片段,并將所述指紋值更新至所述指紋值數(shù)據(jù)庫。

此處用于判斷對(duì)象的最大值,如果已經(jīng)計(jì)算到對(duì)象的最后一位則不再進(jìn)行下一次的計(jì)算。

在本實(shí)施例中,所述的存儲(chǔ)模塊還包括一個(gè)對(duì)象頭/尾判斷單元:用于判斷對(duì)象頭/尾是否與為指紋值數(shù)據(jù)庫中常用的數(shù)據(jù)頭/尾,如果是則快速獲取指紋值并建立所述指紋值對(duì)應(yīng)的數(shù)據(jù)片段到所述對(duì)象的反向引用,并去掉常用的數(shù)據(jù)頭/尾后進(jìn)入比較組獲取單元。

此處用于對(duì)常用的頭尾進(jìn)行判斷,比如對(duì)于網(wǎng)站類的存儲(chǔ)常用的頭“http://www.”就可以進(jìn)行快速與后面的內(nèi)容進(jìn)行分開。

在本實(shí)施例中,所述的比較組限制有最大值Y,當(dāng)在能夠?qū)?yīng)的同時(shí),滿足X+p*n小于等于Y而X+(p+1)*n大于Y,則直接進(jìn)入不能夠?qū)?yīng)并且緩存中存在指紋值的情況。

基于上述系統(tǒng)的實(shí)現(xiàn),本實(shí)施例還提供一種安全可靠的大數(shù)據(jù)存儲(chǔ)方法,包括存儲(chǔ)步驟和指紋值數(shù)據(jù)庫創(chuàng)建步驟,所述的存儲(chǔ)步驟如圖2所示,包括以下子步驟:

S1:前端采集設(shè)備的數(shù)據(jù)采集模塊采集數(shù)據(jù),前端采集設(shè)備的加密模塊對(duì)采集到的數(shù)據(jù)進(jìn)行加密處理;

S2:有線/無線傳輸設(shè)備將加密數(shù)據(jù)發(fā)送至后端數(shù)據(jù)處理設(shè)備;

S3:后端數(shù)據(jù)處理設(shè)備的解密模塊對(duì)接收到的數(shù)據(jù)進(jìn)行解密處理,后端數(shù)據(jù)處理設(shè)備的存儲(chǔ)模塊對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ),包括以下子步驟:

S31:接收待存儲(chǔ)的數(shù)據(jù),在進(jìn)行加密操作得到對(duì)象后進(jìn)入步驟S32;其中,加密前的文件為F=(d1,d2,......,dN),是包含N個(gè)消息的串,加密后的文件為F'=(e1,e2,......,eN+1),ei為di加密后的消息,其中加密的消息I為初始向量,EK(i)表示基于密鑰的加密算法,eN+1表示之前所有加密消息e1,e2,......,eN的密鑰K和哈希的異或函數(shù),即其中H(i)是加密算法;

S32:將對(duì)象流中的對(duì)象進(jìn)行通過內(nèi)容比較的方式進(jìn)行分段,得到多個(gè)數(shù)據(jù)片段,并建立對(duì)數(shù)據(jù)片段到對(duì)象的反相引用,或者上傳數(shù)據(jù)片段并將所述指紋值更新至所述指紋值數(shù)據(jù)庫,如圖3所示,包括以下子步驟:

S321:獲取比較組,所述的比較組為對(duì)象的第m位至m+X位;其中,m為比較組的初始位,m的初始值為0,X為固定步長;

S322:計(jì)算比較組對(duì)應(yīng)的指紋值;

S323:按照步驟S322計(jì)算得到的指紋值生成反映所述指紋值與對(duì)應(yīng)的存儲(chǔ)位置的映射關(guān)系對(duì)應(yīng)表;

S324:調(diào)用指紋值數(shù)據(jù)庫,判斷所述指紋值數(shù)據(jù)庫中是否存在所述指紋值:

(1)如果能夠?qū)?yīng):

則將緩存中的指紋值進(jìn)行更新,將比較組更新為m~m+X+p*n位,同時(shí)返回步驟S322,其中p為m未更新的情況下的能夠?qū)?yīng)的總次數(shù),n為每次能夠?qū)?yīng)后增加的增加步長;

(2)如果不能夠?qū)?yīng),則對(duì)判斷緩存中是否存在指紋值:

(2-1)如果緩存中存在指紋值,則建立所述指紋值對(duì)應(yīng)的數(shù)據(jù)片段到所述對(duì)象的反向引用,同時(shí)清空緩存,將比較組的初始位m更新為m+X+(p-1)*n+1,完成后返回步驟S321;

(2-2)如果緩存中不存在指紋值,則上傳所述對(duì)象的前X位的數(shù)據(jù)片段,并將對(duì)應(yīng)的指紋值更新至所述指紋值數(shù)據(jù)庫,將比較組的初始位m更新為m+X+1,完成后返回步驟S321;

S33:當(dāng)完成整個(gè)對(duì)象的分段,則結(jié)束;

所述的指紋值數(shù)據(jù)庫創(chuàng)建步驟包括:獲取大量與待存儲(chǔ)數(shù)據(jù)類型相同的數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行與存儲(chǔ)模塊相同的加密后再進(jìn)行不同長度的分段,得到多組數(shù)據(jù)片段,計(jì)算數(shù)據(jù)片段的指紋值并上傳至指紋值數(shù)據(jù)庫。

對(duì)應(yīng)地,一種安全可靠的大數(shù)據(jù)存儲(chǔ)方法還包括步驟S4數(shù)據(jù)分析:對(duì)數(shù)據(jù)處理得到的數(shù)據(jù)按照模型進(jìn)行分析。

對(duì)應(yīng)地,在步驟S321所述的獲取比較組之前,還包括一個(gè)判斷步驟:如果對(duì)象的最后一位大于m+X,則進(jìn)入步驟S321;否則:

S01:直接計(jì)算m位~對(duì)象最后一位的指紋值;

S02:按照計(jì)算得到的指紋值生成反映所述指紋值與對(duì)應(yīng)的存儲(chǔ)位置的映射關(guān)系對(duì)應(yīng)表;

S03:調(diào)用指紋值數(shù)據(jù)庫,判斷所述指紋值數(shù)據(jù)庫中是否存在所述指紋值:如果是,則建立所述指紋值對(duì)應(yīng)的數(shù)據(jù)片段到所述對(duì)象的反向引用;如果否,則上傳所述指紋值對(duì)應(yīng)的數(shù)據(jù)片段,并將所述指紋值更新至所述指紋值數(shù)據(jù)庫。

對(duì)應(yīng)地,在步驟S31和步驟S32之間還包括一個(gè)對(duì)象頭/尾判斷步驟,用于判斷對(duì)象頭/尾是否與為指紋值數(shù)據(jù)庫中常用的數(shù)據(jù)頭/尾,如果是則快速獲取指紋值并建立所述指紋值對(duì)應(yīng)的數(shù)據(jù)片段到所述對(duì)象的反向引用,并去掉常用的數(shù)據(jù)頭/尾后進(jìn)入步驟S32。

對(duì)應(yīng)地,所述的比較組限制有最大值Y,在步驟S324中,當(dāng)在能夠?qū)?yīng)的同時(shí),滿足X+p*n小于等于Y而X+(p+1)*n大于Y,則直接進(jìn)入不能夠?qū)?yīng)并且緩存中存在指紋值的情況。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1