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

基于區(qū)塊鏈技術(shù)的數(shù)據(jù)審計方法、客戶端及區(qū)塊鏈云端設(shè)備與流程

文檔序號:12829170閱讀:250來源:國知局
基于區(qū)塊鏈技術(shù)的數(shù)據(jù)審計方法、客戶端及區(qū)塊鏈云端設(shè)備與流程

本發(fā)明涉及區(qū)塊鏈技術(shù)領(lǐng)域,尤其涉及一種基于區(qū)塊鏈技術(shù)的數(shù)據(jù)審計方法、客戶端及區(qū)塊鏈云端設(shè)備。



背景技術(shù):

我們將區(qū)塊鏈技術(shù)作為基礎(chǔ),實現(xiàn)了去中心化且寓于分布式結(jié)構(gòu)的數(shù)據(jù)存儲、傳輸和證明的方法。在應(yīng)用區(qū)塊鏈技術(shù)進行數(shù)據(jù)存儲備份的系統(tǒng)中,數(shù)據(jù)的審計是一個很重要的問題。目前的審計方法,基本上有兩種,一種是通過實時回傳數(shù)據(jù)進行審計的方法,很顯然,這種方法對網(wǎng)絡(luò)帶寬的消耗比較大,實用性不強。第二種方法,將數(shù)據(jù)預(yù)先生成固定數(shù)量的校驗值發(fā)布到網(wǎng)絡(luò)進行驗證,這種方法的缺陷是每一次驗證都要消耗一個校驗值,一旦校驗值用完,將無法再進行有效驗證。



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

本發(fā)明提供的基于區(qū)塊鏈技術(shù)的數(shù)據(jù)審計方法、客戶端及區(qū)塊鏈云端設(shè)備,能夠?qū)崟r地驗證存儲文件的有效性,且驗證過程消耗較少的網(wǎng)絡(luò)帶寬資源。

第一方面,本發(fā)明提供一種基于區(qū)塊鏈技術(shù)的數(shù)據(jù)審計方法,所述方法應(yīng)用于客戶端,所述方法包括:

向區(qū)塊鏈云端上傳目標文件;

動態(tài)生成所述目標文件的審計樹;

根據(jù)所述審計樹,驗證所述目標文件的有效性。

可選地,在所述向區(qū)塊鏈云端上傳目標文件之前,所述方法還包括:

將所述目標文件進行切片,生成多個數(shù)據(jù)塊;

對各個數(shù)據(jù)塊進行加密處理。

可選地,所述向區(qū)塊鏈云端上傳目標文件包括:將經(jīng)過加密處理后的各個數(shù)據(jù)塊保存到區(qū)塊鏈云端的各個宿主節(jié)點上。

可選地,所述動態(tài)生成所述目標文件的審計樹包括:

為區(qū)塊鏈中各個宿主節(jié)點上存放的數(shù)據(jù)塊生成一個隨機數(shù);

將生成的各數(shù)據(jù)塊的隨機數(shù)與所述數(shù)據(jù)塊合并,生成一個哈希值;

將生成的哈希值依次合并,生成一棵完整的審計樹。

可選地,所述根據(jù)所述審計樹,驗證所述目標文件的有效性包括:

將生成的各數(shù)據(jù)塊的隨機數(shù)發(fā)送給對應(yīng)的各宿主節(jié)點;

接收所述各宿主節(jié)點發(fā)送的的哈希值;

將接收到的哈希值與所述審計樹中各宿主節(jié)點的哈希值進行對比;

判斷各數(shù)據(jù)塊是否有效,當對比一致時,所述數(shù)據(jù)塊有效;

驗證所述目標文件的有效性,當所有數(shù)據(jù)塊有效時,所述目標文件有效。

第二方面,本發(fā)明提供一種基于區(qū)塊鏈技術(shù)的數(shù)據(jù)審計方法,所述方法應(yīng)用于區(qū)塊鏈云端,所述方法包括:

接收客戶端上傳的目標文件;

接收客戶端發(fā)送的各數(shù)據(jù)塊的隨機數(shù);

將所述隨機數(shù)與對應(yīng)的數(shù)據(jù)塊合并,計算各宿主節(jié)點的哈希值;向客戶端發(fā)送所述各宿主節(jié)點的哈希值,以使客戶端驗證各數(shù)據(jù)塊的有效性。

第三方面,本發(fā)明提供一種客戶端,所述客戶端包括:

上傳單元,用于向區(qū)塊鏈云端上傳目標文件;

生成單元,用于動態(tài)生成所述目標文件的審計樹;

第一驗證單元,用于根據(jù)所述審計樹,驗證所述目標文件的有效性。

可選地,所述客戶端還包括:

切片單元,用于在所述上傳單元上傳所述目標文件之前,將所述目標文件進行切片,生成多個數(shù)據(jù)塊;

加密單元,用于對所述切片單元生成的各個數(shù)據(jù)塊進行加密處理。

可選地,所述上傳單元,用于將經(jīng)過所述加密單元加密處理后的各個數(shù)據(jù)塊保存到區(qū)塊鏈云端的各個宿主節(jié)點上。

可選地,所述生成單元包括:

第一生成模塊,用于為區(qū)塊鏈中各個宿主節(jié)點上存放的數(shù)據(jù)塊生成一個隨機數(shù);

第二生成模塊,用于將所述第一生成模塊生成的各數(shù)據(jù)塊的隨機數(shù)與所述數(shù)據(jù)塊合并,生成一個哈希值;

第三生成模塊,用于將所述第二生成模塊生成的哈希值依次合并,生成一顆完整的審計樹。

可選地,所述第一驗證單元包括:

發(fā)送模塊,用于將生成的各數(shù)據(jù)塊的隨機數(shù)發(fā)送給對應(yīng)的各宿主節(jié)點;

接收模塊,用于接收所述各宿主節(jié)點發(fā)送的哈希值;

第一對比模塊,用于將接收到的哈希值與所述審計樹中各宿主節(jié)點的哈希值進行對比;

第一判斷模塊,用于判斷各數(shù)據(jù)塊是否有效,當所述第一對比模塊對比的結(jié)果一致時,所述數(shù)據(jù)塊有效;

驗證模塊,用于驗證所述目標文件的有效性,當所有數(shù)據(jù)塊有效時,所述目標文件有效。

第四方面,本發(fā)明提供一種區(qū)塊鏈云端設(shè)備,所述區(qū)塊鏈云端設(shè)備包括:

第一接收單元,用于接收客戶端上傳的目標文件;

第二接收單元,用于接收客戶端發(fā)送的各數(shù)據(jù)塊的隨機數(shù);

計算單元,用于將所述隨機數(shù)與對應(yīng)的數(shù)據(jù)塊合并,計算各宿主節(jié)點的哈希值;

發(fā)送單元,用于向客戶端發(fā)送所述各宿主節(jié)點的哈希值,以使客戶端驗證各數(shù)據(jù)塊的有效性。

本發(fā)明實施例提供的基于區(qū)塊鏈技術(shù)的數(shù)據(jù)審計方法、客戶端及區(qū)塊鏈云端設(shè)備,通過客戶端實時生成目標文件的審計樹,再將審計樹經(jīng)特定處理后發(fā)布到區(qū)塊鏈中,然后根據(jù)需要向宿主備份節(jié)點發(fā)起審計,從而使客戶端、宿主端根據(jù)審計樹完成存儲文件的有效性驗證。與現(xiàn)有技術(shù)相比,本發(fā)明能夠隨時發(fā)起對存儲文件的驗證,并且驗證過程消耗較少的網(wǎng)絡(luò)帶寬資源。

附圖說明

圖1為本發(fā)明一實施例基于區(qū)塊鏈技術(shù)的數(shù)據(jù)審計方法的流程圖;

圖2為本發(fā)明另一實施例基于區(qū)塊鏈技術(shù)的數(shù)據(jù)審計方法的流程圖;

圖3為本發(fā)明生成審計樹的實現(xiàn)方式示意圖;

圖4為本發(fā)明一實施例客戶端的結(jié)構(gòu)示意圖;

圖5為本發(fā)明一實施例客戶端的生成單元的結(jié)構(gòu)示意圖;

圖6為本發(fā)明一實施例客戶端的第一驗證單元的結(jié)構(gòu)示意圖;

圖7為本發(fā)明一實施例客戶端的結(jié)構(gòu)示意圖;

圖8為本發(fā)明一實施例區(qū)塊鏈云端設(shè)備的結(jié)構(gòu)示意圖;

圖9為本發(fā)明一實施例區(qū)塊鏈云端設(shè)備的結(jié)構(gòu)示意圖;

圖10為本發(fā)明一實施例區(qū)塊鏈云端設(shè)備的第二驗證單元結(jié)構(gòu)示意圖。

具體實施方式

為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

本發(fā)明提供一種基于區(qū)塊鏈技術(shù)的數(shù)據(jù)審計方法,所述方法應(yīng)用于客戶端,如圖1所示,所述方法包括:

s11、向區(qū)塊鏈云端上傳目標文件;

s12、生成所述目標文件的審計樹;

s13、根據(jù)所述審計樹,驗證所述目標文件的有效性。

本發(fā)明提供一種基于區(qū)塊鏈技術(shù)的數(shù)據(jù)審計方法,所述方法應(yīng)用于區(qū)塊鏈云端,如圖2所示,所述方法包括:

s21、接收客戶端上傳的目標文件;

s22、接收客戶端發(fā)送的各數(shù)據(jù)塊的隨機數(shù);

s23、將所述隨機數(shù)與對應(yīng)的數(shù)據(jù)塊合并,計算各宿主節(jié)點的哈希值;

s24、向客戶端返回所述隨機數(shù)對應(yīng)的各宿主節(jié)點的哈希值,以使客戶端驗證各數(shù)據(jù)塊的有效性。

本發(fā)明實施例提供的基于區(qū)塊鏈技術(shù)的數(shù)據(jù)審計方法,通過客戶端實時生成目標文件的審計樹,再將審計樹經(jīng)特定處理后發(fā)布到區(qū)塊鏈中,然后根據(jù)需要向宿主備份節(jié)點發(fā)起審計,從而使客戶端、宿主端根據(jù)審計樹完成存儲文件的有效性驗證。與現(xiàn)有技術(shù)相比,本發(fā)明能夠隨時發(fā)起對存儲文件的驗證,并且驗證過程消耗較少的網(wǎng)絡(luò)帶寬資源。

具體地,用戶通過客戶端向區(qū)塊鏈云端上傳一個文件,為了保證區(qū)塊鏈云端保存的文件數(shù)據(jù)不被篡改,客戶端需要經(jīng)常驗證文件的有效性。本發(fā)明提供的基于區(qū)塊鏈技術(shù)的數(shù)據(jù)審計方法的具體實現(xiàn)步驟如下:

步驟一、用戶通過客戶端上傳一個文件,系統(tǒng)會把文件進行切片分割成若干個數(shù)據(jù)塊,每個數(shù)據(jù)塊單獨加密,然后保存到互聯(lián)網(wǎng)上其他用戶貢獻出來的硬盤空間上。其中,貢獻硬盤空間的用戶節(jié)點在此成為宿主節(jié)點。

步驟二、客戶端每次要驗證文件時,為每個宿主節(jié)點(i)上存放的數(shù)據(jù)塊(i)生成一個隨機數(shù)(i),再將隨機數(shù)(i)與數(shù)據(jù)塊(i)合并,生成一個哈希值(i),然后依次合并,最終生成一顆完整的merkle樹(審計樹),實現(xiàn)方式描述如圖3所示。

步驟三、客戶端將merkle樹刪除葉子節(jié)點(哈希值0、哈希值1、哈希值2、哈希值3這一層)后發(fā)布到網(wǎng)絡(luò)上,各宿主節(jié)點以此驗證客戶端。驗證方法是,對比動態(tài)計算的根哈希值和客戶端發(fā)布的根哈希值,一致則表示客戶端是可信的。

步驟四、客戶端向宿主節(jié)點(i)驗證數(shù)據(jù)塊(i)時,將隨機數(shù)(i)發(fā)送給宿主節(jié)點(i),然后對比宿主節(jié)點(i)返回的哈希值(i)即可判定該數(shù)據(jù)塊的有效性。

步驟五、當所有數(shù)據(jù)塊驗證有效時,確定整個文件的有效性。

本發(fā)明實施例還提供一種客戶端,如圖4所示,所述客戶端包括:

上傳單元11,用于向區(qū)塊鏈云端上傳目標文件;

生成單元12,用于生成所述目標文件的審計樹;

第一驗證單元13,用于根據(jù)所述審計樹,驗證所述目標文件的有效性。

可選地,如圖5所示,所述客戶端還包括:

切片單元14,用于在所述上傳單元11上傳所述目標文件之前,將所述目標文件進行切片,生成多個數(shù)據(jù)塊;

加密單元15,用于對所述切片單元生成的各個數(shù)據(jù)塊進行加密處理。

可選地,如圖6所示,所述生成單元12包括:

第一生成模塊121,用于為區(qū)塊鏈中各個宿主節(jié)點上存放的數(shù)據(jù)塊生成一個隨機數(shù);

第二生成模塊122,用于將所述第一生成模塊121生成的各數(shù)據(jù)塊的隨機數(shù)與所述數(shù)據(jù)塊合并,生成一個哈希值;

第三生成模塊123,用于將所述第二生成模塊122生成的哈希值依次合并,生成一顆完整的審計樹。

可選地,如圖7所示,所述第一驗證單元13包括:

發(fā)送模塊131,用于將生成的各數(shù)據(jù)塊的隨機數(shù)發(fā)送給對應(yīng)的各宿主節(jié)點;

接收模塊132,用于接收所述各宿主節(jié)點發(fā)送的哈希值;

第一對比模塊133,用于將所述接收模塊132接收到的哈希值與所述審計樹中各宿主節(jié)點的哈希值進行對比;

第一判斷模塊134,用于判斷各數(shù)據(jù)塊是否有效,當所述第一對比模塊133對比的結(jié)果一致時,所述數(shù)據(jù)塊有效;

驗證模塊135,用于驗證所述目標文件的有效性,當所有數(shù)據(jù)塊有效時,所述目標文件有效。

可選地,如圖5所示,所述客戶端還包括:

發(fā)布單元16,用于在所述生成單元生成所述目標文件的審計樹之后,將所述審計樹刪除葉子節(jié)點后發(fā)布到網(wǎng)絡(luò)上,以使所述區(qū)塊鏈云端驗證客戶端的可信性。

本發(fā)明實施例還提供一種區(qū)塊鏈云端設(shè)備,如圖8所示,所述區(qū)塊鏈云端設(shè)備包括:

第一接收單元21,用于接收客戶端上傳的目標文件;

第二接收單元22,用于接收客戶端發(fā)送的各數(shù)據(jù)塊的隨機數(shù);

計算單元23,用于將所述隨機數(shù)與對應(yīng)的數(shù)據(jù)塊合并,計算各宿主節(jié)點的哈希值;

發(fā)送單元24,用于向客戶端發(fā)送所述各宿主節(jié)點的哈希值,以使客戶端驗證各數(shù)據(jù)塊的有效性。

可選地,如圖9所示,所述區(qū)塊鏈云端設(shè)備還包括:

第二驗證單元25,用于在所述第二接收單元23接收客戶端發(fā)送的各數(shù)據(jù)塊的隨機數(shù)之后,驗證客戶端的可信性。

可選地,如圖10所示,所述第二驗證單元25包括:

第二對比模塊251,用于將所述客戶端發(fā)布的審計樹的哈希值與宿主節(jié)點回傳的哈希值進行對比;

第二判斷模塊252,用于判斷所述客戶端是否可信,當所述第二對比模塊對比的結(jié)果一致時,判定所述客戶端可信且不可抵賴。

本發(fā)明實施例提供的客戶端及區(qū)塊鏈云端設(shè)備,通過客戶端實時生成目標文件的審計樹,再將審計樹經(jīng)特定處理后發(fā)布到區(qū)塊鏈中,然后根據(jù)需要向宿主備份節(jié)點發(fā)起審計,從而使客戶端、宿主端根據(jù)審計樹完成存儲文件的有效性驗證。與現(xiàn)有技術(shù)相比,本發(fā)明能夠隨時發(fā)起對存儲文件的驗證,并且驗證過程消耗較少的網(wǎng)絡(luò)帶寬資源。

本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(read-onlymemory,rom)或隨機存儲記憶體(randomaccessmemory,ram)等。

以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準。

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