两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

區(qū)塊鏈元數(shù)據(jù)存儲系統(tǒng)及其存儲方法與檢索方法與流程

文檔序號:12135197閱讀:531來源:國知局
區(qū)塊鏈元數(shù)據(jù)存儲系統(tǒng)及其存儲方法與檢索方法與流程

本發(fā)明涉及數(shù)據(jù)存儲與檢索領(lǐng)域,尤其涉及一種元數(shù)據(jù)的存儲系統(tǒng)、存儲與檢索方法。



背景技術(shù):

區(qū)塊鏈是一個去中心化去信任的集體維護的可靠數(shù)據(jù)庫,分布式網(wǎng)絡(luò)是區(qū)塊鏈的基礎(chǔ)設(shè)施,每個節(jié)點上產(chǎn)生的數(shù)據(jù)通過分布式網(wǎng)絡(luò)廣播到其他節(jié)點,其他節(jié)點通過工作量證明來驗證數(shù)據(jù)的真實性。分布式網(wǎng)絡(luò)是保證區(qū)塊鏈去中心化、不可篡改、可回溯特性的前提,在比特幣網(wǎng)絡(luò)中,正是由于有分布于全球的驗證節(jié)點,才使得比特幣的工作量證明機制得到認可,也才讓人們認識到了區(qū)塊鏈的價值。

分布式網(wǎng)絡(luò)是區(qū)塊鏈的基礎(chǔ),而連接于分布式網(wǎng)絡(luò)中的每個節(jié)點都存儲有相同的數(shù)據(jù)交易記錄,也就是每個節(jié)點記錄相同的“一本賬”則是區(qū)塊鏈的最主要特征,要保證全網(wǎng)“一本賬”,就必須將數(shù)據(jù)隨時同步到各個節(jié)點,并能夠保證數(shù)據(jù)的一致性。但在實際的應(yīng)用系統(tǒng)中,業(yè)務(wù)數(shù)據(jù)可能非常龐大,尤其包括視頻、音頻的數(shù)據(jù),動輒幾十兆,有的甚至上百兆,如此龐大的數(shù)據(jù)在網(wǎng)絡(luò)中傳輸,對帶寬要求非常高,而且全網(wǎng)中如此大的數(shù)據(jù)匯聚成“一本賬”,則這個賬本會非常龐大,單個節(jié)點很難保證有足夠的存儲容量來存儲。即使現(xiàn)在的比特幣網(wǎng)絡(luò),賬本的容量在優(yōu)化后仍然達到4G以上,而且隨著挖礦的進行,賬本的容量在繼續(xù)擴大,一臺普通PC若要下載完成整個賬本需要長達幾十個小時,嚴重影響了用戶體驗,這不僅對區(qū)塊鏈的普及推廣構(gòu)成很大的挑戰(zhàn),而且使得區(qū)塊鏈在商業(yè)系統(tǒng)上的應(yīng)用情況也變得更加嚴峻。

與數(shù)據(jù)存儲相對應(yīng)的是數(shù)據(jù)檢索,在龐大“一本賬”數(shù)據(jù)中如何快速檢索,在區(qū)塊鏈分布式網(wǎng)絡(luò)中也面臨著嚴峻的挑戰(zhàn)。

因此,提供一種能夠保證區(qū)塊鏈上大容量元數(shù)據(jù)的存儲及檢索的方法及系統(tǒng)成為業(yè)內(nèi)急需解決的問題。



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

本發(fā)明的目的在于提供一種區(qū)塊鏈元數(shù)據(jù)存儲系統(tǒng)及其存儲方法與檢索方法,其不僅能夠引入分布式存儲系統(tǒng)來存儲大數(shù)據(jù),同時還可以將數(shù)據(jù)降維后再存入?yún)^(qū)塊鏈,便于需求方采集所需的信息。

本發(fā)明的第一個目的在于提供一種區(qū)塊鏈元數(shù)據(jù)存儲系統(tǒng),包括各自連接互聯(lián)網(wǎng)的至少一個主節(jié)點及若干個副節(jié)點,至少一個主節(jié)點及若干個副節(jié)點通過區(qū)塊鏈構(gòu)造成分布式共享網(wǎng)絡(luò),其中,至少一個主節(jié)點包括:數(shù)據(jù)接收模塊,其用于接收來自外部的源數(shù)據(jù);分布式存儲模塊,其與數(shù)據(jù)接收模塊相連接,用于將數(shù)據(jù)接收模塊傳輸?shù)脑磾?shù)據(jù)進行分布式存儲;降維保全模塊,其與分布式存儲模塊相連接,用于將分布式存儲模塊傳輸?shù)脑磾?shù)據(jù)進行降維操作以形成元數(shù)據(jù)后,再對元數(shù)據(jù)進行保全操作以形成數(shù)據(jù)指紋;數(shù)據(jù)存儲模塊,其與降維保全模塊相連接,用于將數(shù)據(jù)指紋寫入?yún)^(qū)塊鏈中;以及第一數(shù)據(jù)共識模塊,其用于將數(shù)據(jù)指紋進行全網(wǎng)發(fā)布以實現(xiàn)區(qū)塊鏈的共識過程;若干個副節(jié)點包括:數(shù)據(jù)共識模塊,其用于接收及存儲區(qū)塊鏈發(fā)布的數(shù)據(jù)指紋以完成區(qū)塊鏈的共識過程。

其中,源數(shù)據(jù)是指需要保存的數(shù)據(jù),諸如文檔、語音、視頻、或記錄信息等。

此外,分布式存儲模塊采用可擴展的系統(tǒng)結(jié)構(gòu),利用多臺存儲服務(wù)器分擔存儲負荷,利用位置服務(wù)器定位存儲信息。分布式存儲在眾多的服務(wù)器搭建一個分布式文件系統(tǒng),再在這個分布式文件系統(tǒng)上實現(xiàn)相關(guān)的數(shù)據(jù)存儲業(yè)務(wù)。分布式文件系統(tǒng)是指文件系統(tǒng)管理的物理存儲資源不一定直接連接在本地節(jié)點上,而是通過計算機網(wǎng)絡(luò)與節(jié)點相連。分布式文件系統(tǒng)可以包括:Lustre、Hadoop、MogileFS、FreeNAS、FastDFS、MooseFS、pNFS等,優(yōu)選地,分布式存儲模塊設(shè)定為采用FastDFS分布式文件系統(tǒng)。

可選擇地,主節(jié)點還包括:與分布式存儲模塊相連接的用于進行負載均衡的Nginx組件以及連接于Nginx組件與數(shù)據(jù)存儲模塊之間的ATS組件。

優(yōu)選地,數(shù)據(jù)的降維保全操作是指對數(shù)據(jù)應(yīng)用HASH算法,其中,HASH算法是將任意長度的二進制值映射為較短的固定長度的二進制值,這個小的二進制值稱為哈希值。哈希值是一段數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形式。如果散列一段明文而且哪怕只更改該段落的一個字母,隨后的哈希都將產(chǎn)生不同的值。要找到散列為同一個值的兩個不同的輸入,在計算上是不可能的,所以數(shù)據(jù)的哈希值相似于“指紋”,經(jīng)HASH算法處理后得到的HASH值被稱為“指紋”值,從而可以檢驗數(shù)據(jù)的完整性。HASH算法包括:MD2、MD4、MD5和SHA-1。更優(yōu)選地,本發(fā)明的降維及保全操作設(shè)定為對源數(shù)據(jù)應(yīng)用SHA-1算法。

優(yōu)選地,數(shù)據(jù)指紋設(shè)定為包括:本次源數(shù)據(jù)應(yīng)用SHA-1算法得到的作為元數(shù)據(jù)的HASH值、本次源數(shù)據(jù)應(yīng)用SHA-1算法的時間戳、本次源數(shù)據(jù)應(yīng)用SHA-1算法的數(shù)字簽名、以及上次元數(shù)據(jù)的數(shù)據(jù)指紋。

優(yōu)選地,主節(jié)點還包括:指紋檢索模塊,其與數(shù)據(jù)存儲模塊相連接,用于檢索存儲于區(qū)塊鏈中的數(shù)據(jù)指紋以得到檢索數(shù)據(jù)指紋。

優(yōu)選地,主節(jié)點及副節(jié)點均包括有驗證模塊,其用于驗證檢索數(shù)據(jù)指紋是否發(fā)生篡改。

本發(fā)明的第二個目的在于提供一種上述區(qū)塊鏈元數(shù)據(jù)存儲系統(tǒng)的存儲方法,其包括:主節(jié)點接收來自外部的源數(shù)據(jù),并將源數(shù)據(jù)進行分布式存儲;主節(jié)點將進行分布式存儲的源數(shù)據(jù)進行降維操作以形成元數(shù)據(jù)后,再對元數(shù)據(jù)進行保全操作以形成數(shù)據(jù)指紋;主節(jié)點將數(shù)據(jù)指紋寫入?yún)^(qū)塊鏈中,利用區(qū)塊鏈的共識過程進行全網(wǎng)發(fā)布;以及副節(jié)點接收及存儲所述區(qū)塊鏈發(fā)布的所述數(shù)據(jù)指紋。

優(yōu)選地,降維操作設(shè)定為對元數(shù)據(jù)應(yīng)用SHA-1算法。

優(yōu)選地,數(shù)據(jù)指紋設(shè)定為包括:本次源數(shù)據(jù)應(yīng)用SHA-1算法得到的元數(shù)據(jù)、本次源數(shù)據(jù)應(yīng)用SHA-1算法的時間戳、本次源數(shù)據(jù)應(yīng)用SHA-1算法的數(shù)字簽名、以及上次元數(shù)據(jù)的數(shù)據(jù)指紋。

本發(fā)明的第三個目的在于提供一種上述區(qū)塊鏈元數(shù)據(jù)存儲系統(tǒng)的指紋檢索方法,其包括:于主節(jié)點上對目標數(shù)據(jù)指紋進行檢索以獲取檢索數(shù)據(jù)指紋;于主節(jié)點及連接于區(qū)塊鏈中的若干個副節(jié)點上對檢索數(shù)據(jù)指紋進行驗證;以及待主節(jié)點及若干個副節(jié)點對檢索數(shù)據(jù)指紋驗證一致性比例超過80%后,判定檢索數(shù)據(jù)指紋未發(fā)生篡改,完成指紋檢索過程。

本發(fā)明的有益效果是:(1)、主節(jié)點引入分布式存儲系統(tǒng)來存儲諸如音頻、視頻類的大數(shù)據(jù)量的源數(shù)據(jù),然后再將源數(shù)據(jù)進行降維保全形成的數(shù)據(jù)指紋存入?yún)^(qū)塊鏈中,并通過區(qū)塊鏈的共識過程將數(shù)據(jù)指紋分布式存儲到各個副節(jié)點中,大大減小了存儲于區(qū)塊鏈中的數(shù)據(jù)量,減輕了區(qū)塊鏈的數(shù)據(jù)負擔;(2)、源數(shù)據(jù)通過降維算法降維保全后就變?yōu)閰^(qū)塊鏈可以接受的數(shù)據(jù)大小,而且在數(shù)據(jù)同步的過程中,大大降低了對帶寬的要求,對分布式節(jié)點上的存儲要求也大大降低;(3)、采用中心化的檢索方式,在保證數(shù)據(jù)一致性的前提下,只需要在主節(jié)點上檢索數(shù)據(jù)指紋即可,不需要進行全網(wǎng)檢索,從而避免了不必要的帶寬開銷,保證數(shù)據(jù)檢索的速度;(4)、每一次完成數(shù)據(jù)指紋檢索后,都需要首先在全網(wǎng)進行驗證,確保檢索得到的數(shù)據(jù)指紋沒有被篡改掉,才可以使用,有效保證了數(shù)據(jù)的安全性。

附圖說明

圖1是本發(fā)明的區(qū)塊鏈元數(shù)據(jù)存儲系統(tǒng)的構(gòu)造示意圖。

圖2是本發(fā)明的數(shù)據(jù)指紋的組成示意圖。

圖3是本發(fā)明的區(qū)塊鏈元數(shù)據(jù)存儲系統(tǒng)的存儲方法的流程示意圖。

圖4是本發(fā)明的區(qū)塊鏈元數(shù)據(jù)存儲系統(tǒng)的檢索方法的流程示意圖。

具體實施方式

下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。

首先,請參考圖1,作為一種非限制性示例,本發(fā)明的區(qū)塊鏈元數(shù)據(jù)存儲系統(tǒng)包括各自連接互聯(lián)網(wǎng)的一個主節(jié)點P及n個副節(jié)點S1、S2、S3……Sn,主節(jié)點P與副節(jié)點S1、S2、S3……Sn通過區(qū)塊鏈C構(gòu)造成分布式共享網(wǎng)絡(luò)。在本發(fā)明中,主節(jié)點與副節(jié)點是邏輯上的區(qū)別,主節(jié)點可以發(fā)送“心跳”,副節(jié)點不需要發(fā)送“心跳”,同時,主節(jié)點可以接受外部的業(yè)務(wù)數(shù)據(jù),而副節(jié)點不接收外部的業(yè)務(wù)數(shù)據(jù)。其中,“心跳”是主節(jié)點與若干個副節(jié)點之間進行網(wǎng)絡(luò)探測的一種方式,其用來探測主節(jié)點與副節(jié)點之間的連通性。

在該非限制性示例中,主節(jié)點P包括:數(shù)據(jù)接收模塊100、分布式存儲模塊200、降維保全模塊300、數(shù)據(jù)存儲模塊400以及第一數(shù)據(jù)共識模塊700。其中,數(shù)據(jù)接收模塊100接收來自外部的作為源數(shù)據(jù)的業(yè)務(wù)數(shù)據(jù),分布式存儲模塊200則將數(shù)據(jù)接收模塊100傳輸來的源數(shù)據(jù)進行分布式存儲。在本發(fā)明中,對于音頻、視頻等大文件的源數(shù)據(jù)的存儲采用FastDFS分布式文件系統(tǒng)存儲,從而適用于音頻及視頻等大文件。在完成分布式存儲后,利用降維保全模塊300將分布式存儲模塊200傳輸?shù)脑磾?shù)據(jù)先進行降維形成元數(shù)據(jù),然后再對元數(shù)據(jù)進行保全操作,從而形成數(shù)據(jù)指紋。而數(shù)據(jù)存儲模塊400則將降維保全后形成的數(shù)據(jù)指紋寫入?yún)^(qū)塊鏈中,然后再利用第一數(shù)據(jù)共識模塊700將這些數(shù)據(jù)指紋進行全網(wǎng)發(fā)布,從而實現(xiàn)區(qū)塊鏈的共識過程,同時副節(jié)點S1、S2、S3……Sn利用第二數(shù)據(jù)共識模塊800來接收及存儲區(qū)塊鏈發(fā)布的這些數(shù)據(jù)指紋,從而大大降低了區(qū)塊鏈中的存儲數(shù)據(jù)量。

在該非限制性示例中,降維保全模塊300對源數(shù)據(jù)應(yīng)用SHA-1算法,降維保全的過程類似于對源數(shù)據(jù)進行“壓縮”,其需要基于數(shù)據(jù)內(nèi)容、文件特征、時間戳等特定信息進行壓縮。其中,如圖2所示,本發(fā)明的數(shù)據(jù)指紋包括本次源數(shù)據(jù)應(yīng)用SHA-1算法得到的作為元數(shù)據(jù)的HASH值、本次源數(shù)據(jù)應(yīng)用SHA-1算法的時間戳、本次源數(shù)據(jù)應(yīng)用SHA-1算法的數(shù)字簽名、以及上次元數(shù)據(jù)的數(shù)據(jù)指紋。從而將本次的源數(shù)據(jù)進行了“固化”,再定期地發(fā)布在區(qū)塊鏈中,接受連接于區(qū)塊鏈中的各個節(jié)點的監(jiān)督,保證了區(qū)塊鏈中存儲數(shù)據(jù)的安全性及可靠性。

作為一種可替代的實施方式,主節(jié)點P還包括指紋檢索模塊500及驗證模塊600,與此對應(yīng)地,副節(jié)點S1、S2、S3……Sn上安裝有驗證模塊600。由此,在保證數(shù)據(jù)一致性的前提下,當需要對源數(shù)據(jù)的數(shù)據(jù)指紋進行檢索時,只需要在主節(jié)點P上利用指紋檢索模塊500便可以檢索存儲于主節(jié)點P的區(qū)塊鏈中的數(shù)據(jù)指紋,從而得到檢索數(shù)據(jù)指紋,不需要進行全網(wǎng)檢索,避免了不必要的寬帶開銷。但是為了確保數(shù)據(jù)的安全性,檢索后得到的檢索數(shù)據(jù)指紋需要在全網(wǎng)進行驗證,利用主節(jié)點P及n個副節(jié)點S1、S2、S3……Sn上安裝的驗證模塊600,便可以驗證檢索數(shù)據(jù)指紋是否發(fā)生篡改,在保證檢索數(shù)據(jù)指紋未發(fā)生改變的情況下,才可以對該元數(shù)據(jù)進行使用。

基于同樣的思想,本發(fā)明還提供了區(qū)塊鏈元數(shù)據(jù)存儲系統(tǒng)的存儲方法,如圖3所示,在步驟S1中,主節(jié)點接收來自外部的源數(shù)據(jù),并將源數(shù)據(jù)進行分布式存儲。接著,在步驟S2中,主節(jié)點將進行分布式存儲的源數(shù)據(jù)進行降維操作形成元數(shù)據(jù)后,再對元數(shù)據(jù)進行保全操作,從而形成數(shù)據(jù)指紋。在步驟S3中,繼續(xù)利用主節(jié)點將數(shù)據(jù)指紋寫入?yún)^(qū)塊鏈中,利用區(qū)塊鏈的共識過程進行全網(wǎng)發(fā)布。最后,在步驟S4中,將數(shù)據(jù)指紋分布式存儲于連接于區(qū)塊鏈中的n個副節(jié)點中。

與存儲方法相對應(yīng)的是區(qū)塊鏈元數(shù)據(jù)存儲系統(tǒng)的檢索方法,為了在龐大的區(qū)塊鏈中實現(xiàn)元數(shù)據(jù)的快速檢索,如圖4所示,首先,在步驟S10中,于主節(jié)點上對目標數(shù)據(jù)指紋進行檢索,從而獲取檢索數(shù)據(jù)指紋。接著,在步驟S20中,于主節(jié)點及若干個副節(jié)點上對檢索數(shù)據(jù)指紋進行驗證。最后,在步驟S30中,待主節(jié)點及若干個副節(jié)點對檢索數(shù)據(jù)指紋驗證一致性比例超過80%后,則判定檢索數(shù)據(jù)指紋未發(fā)生篡改,完成指紋檢索的過程。

在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不必須針對的是相同的實施例或示例。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結(jié)合和組合。

盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
保定市| 海安县| 宝丰县| 清丰县| 巴林左旗| 新闻| 佛坪县| 涿州市| 金湖县| 塔城市| 抚远县| 那曲县| 宕昌县| 龙南县| 芦山县| 论坛| 溧水县| 深泽县| 杭州市| 古浪县| 拉萨市| 池州市| 博兴县| 治县。| 高要市| 榆树市| 巫山县| 含山县| 鹿泉市| 门头沟区| 辽中县| 宜城市| 青海省| 池州市| 曲阜市| 枞阳县| 澄江县| 扎兰屯市| 岑溪市| 渭南市| 阜平县|