System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請(qǐng)屬于數(shù)據(jù)存儲(chǔ),尤其涉及一種數(shù)據(jù)存儲(chǔ)方法、終端設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
技術(shù)介紹
1、隨著區(qū)塊鏈技術(shù)在金融、物聯(lián)網(wǎng)、供應(yīng)鏈等領(lǐng)域的廣泛應(yīng)用,區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)量呈現(xiàn)爆炸式增長。每個(gè)參與節(jié)點(diǎn)需要存儲(chǔ)從區(qū)塊鏈創(chuàng)世塊開始的所有交易數(shù)據(jù)和狀態(tài)更新,這導(dǎo)致了區(qū)塊鏈網(wǎng)絡(luò)的存儲(chǔ)需求急劇增加。
2、相關(guān)技術(shù)中,采用數(shù)據(jù)認(rèn)證+鍵值存儲(chǔ)的雙層結(jié)構(gòu)進(jìn)行數(shù)據(jù)存儲(chǔ),導(dǎo)致系統(tǒng)的復(fù)雜性,數(shù)據(jù)存儲(chǔ)效率低。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供了一種數(shù)據(jù)存儲(chǔ)方法、終端設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可以減少不必要的數(shù)據(jù)讀取,提高數(shù)據(jù)的存儲(chǔ)效率。
2、第一方面,本申請(qǐng)實(shí)施例提供了一種數(shù)據(jù)存儲(chǔ)方法,包括:
3、獲取區(qū)塊鏈上發(fā)生數(shù)據(jù)更新的第一單元的第一狀態(tài)數(shù)據(jù);第一單元為區(qū)塊鏈中發(fā)生數(shù)據(jù)更新的區(qū)塊單元;
4、創(chuàng)建第一狀態(tài)數(shù)據(jù)對(duì)應(yīng)的第一存儲(chǔ)單元,其中,第一存儲(chǔ)單元與第二狀態(tài)數(shù)據(jù)所在第二存儲(chǔ)單元的存儲(chǔ)結(jié)構(gòu)相同,且第一存儲(chǔ)單元中包含第二狀態(tài)數(shù)據(jù);其中,第二狀態(tài)數(shù)據(jù)為所述第一單元中發(fā)生數(shù)據(jù)更新前的狀態(tài)數(shù)據(jù);
5、將所述第一狀態(tài)數(shù)據(jù)存儲(chǔ)至所述第一存儲(chǔ)單元。
6、在本申請(qǐng)實(shí)施例中,從區(qū)塊鏈中檢索出在某個(gè)數(shù)據(jù)更新執(zhí)行之后的狀態(tài)數(shù)據(jù)。這個(gè)狀態(tài)數(shù)據(jù)代表了交易被確認(rèn)并寫入?yún)^(qū)塊鏈后的數(shù)據(jù),為了保存上述獲取到的第一狀態(tài)數(shù)據(jù),系統(tǒng)需要?jiǎng)?chuàng)建一個(gè)新的存儲(chǔ)單元,這個(gè)區(qū)域被稱作“第一存儲(chǔ)單元”,第一存儲(chǔ)單元被設(shè)計(jì)為與已經(jīng)存在的存儲(chǔ)單元(稱為“第二存儲(chǔ)單元”)具有相同的性能特征。這可能包
7、在第一方面的一種可能的實(shí)現(xiàn)方式中,創(chuàng)建第一狀態(tài)數(shù)據(jù)對(duì)應(yīng)的第一存儲(chǔ)單元,包括:
8、獲取與第二存儲(chǔ)單元對(duì)應(yīng)的第一節(jié)點(diǎn)和第二節(jié)點(diǎn);其中,第一節(jié)點(diǎn)表示第二存儲(chǔ)單元對(duì)應(yīng)的第一標(biāo)識(shí)符信息,第二節(jié)點(diǎn)表示第二存儲(chǔ)單元中存儲(chǔ)的第二狀態(tài)數(shù)據(jù)對(duì)應(yīng)的第一數(shù)據(jù)查詢?nèi)肟谛畔ⅲ?/p>
9、根據(jù)第一節(jié)點(diǎn)、第二節(jié)點(diǎn)和第二存儲(chǔ)單元對(duì)應(yīng)的第三節(jié)點(diǎn)創(chuàng)建第一狀態(tài)數(shù)據(jù)對(duì)應(yīng)的第一存儲(chǔ)單元;其中,第三節(jié)點(diǎn)表示存儲(chǔ)第二狀態(tài)數(shù)據(jù)的第二存儲(chǔ)單元對(duì)應(yīng)的節(jié)點(diǎn)信息,第一節(jié)點(diǎn)、第二節(jié)點(diǎn)和第三節(jié)點(diǎn)以第一連接關(guān)系連接。
10、在第一方面的一種可能的實(shí)現(xiàn)方式中,根據(jù)第一節(jié)點(diǎn)、第二節(jié)點(diǎn)和第二存儲(chǔ)單元對(duì)應(yīng)的第三節(jié)點(diǎn)創(chuàng)建第一狀態(tài)數(shù)據(jù)對(duì)應(yīng)的第一存儲(chǔ)單元,包括:
11、分別復(fù)制第一節(jié)點(diǎn)、第二節(jié)點(diǎn)和第三節(jié)點(diǎn)各自對(duì)應(yīng)的節(jié)點(diǎn)信息,得到復(fù)制后的第四節(jié)點(diǎn)、第五節(jié)點(diǎn)和第六節(jié)點(diǎn);
12、將第四節(jié)點(diǎn)、第五節(jié)點(diǎn)和第六節(jié)點(diǎn)按照第一連接關(guān)系進(jìn)行連接,以得到創(chuàng)建后的第一存儲(chǔ)單元;其中,第四節(jié)點(diǎn)表示第一存儲(chǔ)單元對(duì)應(yīng)的第二標(biāo)識(shí)符信息,第五節(jié)點(diǎn)表示存儲(chǔ)第一狀態(tài)數(shù)據(jù)的第一存儲(chǔ)單元對(duì)應(yīng)的第二數(shù)據(jù)查詢?nèi)肟谛畔ⅲ诹?jié)點(diǎn)表示第一存儲(chǔ)單元對(duì)應(yīng)的存儲(chǔ)信息。
13、在第一方面的一種可能的實(shí)現(xiàn)方式中,所述方法還包括:
14、將第二查詢?nèi)肟谛畔?duì)應(yīng)的第五節(jié)點(diǎn)連接第七節(jié)點(diǎn),其中,所述第七節(jié)點(diǎn)表示所述第一查詢?nèi)肟谛畔?duì)應(yīng)的第二節(jié)點(diǎn)下的未發(fā)生數(shù)據(jù)更新的狀態(tài)數(shù)據(jù)對(duì)應(yīng)的第三標(biāo)識(shí)符信息;
15、將第二標(biāo)識(shí)符信息對(duì)應(yīng)的第四節(jié)點(diǎn)連接第八節(jié)點(diǎn),其中所述第八節(jié)點(diǎn)表示所述第一標(biāo)識(shí)符信息對(duì)應(yīng)第一節(jié)點(diǎn)下的未發(fā)生數(shù)據(jù)更新的狀態(tài)數(shù)據(jù)對(duì)應(yīng)的第三存儲(chǔ)單元的存儲(chǔ)信息。
16、在本申請(qǐng)實(shí)施例中,通過創(chuàng)建新的節(jié)點(diǎn),可以縮短了數(shù)據(jù)讀取路徑,減少了訪問延遲。這使得用戶在查詢數(shù)據(jù)時(shí)能夠更快速地獲取所需信息,提升了整體用戶體驗(yàn)。
17、在第一方面的一種可能的實(shí)現(xiàn)方式中,所述將所述第一狀態(tài)數(shù)據(jù)添加至所述第一存儲(chǔ)單元中所述第二狀態(tài)數(shù)據(jù)的末端,包括:
18、根據(jù)多個(gè)區(qū)塊單元各自對(duì)應(yīng)的區(qū)塊高度將區(qū)塊鏈中的狀態(tài)數(shù)據(jù)劃分為多個(gè)時(shí)間序列;每個(gè)時(shí)間序列內(nèi)包含多個(gè)區(qū)塊單元;其中,區(qū)塊高度為區(qū)塊單元對(duì)應(yīng)的第四標(biāo)識(shí)符,區(qū)塊單元包括第一單元;
19、根據(jù)時(shí)間序列將第一狀態(tài)數(shù)據(jù)存儲(chǔ)至第一存儲(chǔ)單元。
20、在本申請(qǐng)實(shí)施例中,通過時(shí)間結(jié)構(gòu)進(jìn)行數(shù)據(jù)的存儲(chǔ)可以保證在一定的時(shí)間間隔內(nèi),數(shù)據(jù)按版本進(jìn)行管理,避免因字節(jié)序與時(shí)間序不一致而導(dǎo)致的拆分困難。
21、在第一方面的一種可能的實(shí)現(xiàn)方式中,所述根據(jù)時(shí)間序列將第一狀態(tài)數(shù)據(jù)存儲(chǔ)至第一存儲(chǔ)單元,包括:
22、為每個(gè)時(shí)間序列中的多個(gè)區(qū)塊單元?jiǎng)?chuàng)建第一存儲(chǔ)區(qū)域;
23、根據(jù)第一狀態(tài)數(shù)據(jù)對(duì)應(yīng)的第一單元的區(qū)塊高度與第一存儲(chǔ)區(qū)域中區(qū)塊單元的區(qū)塊高度確定第一狀態(tài)數(shù)據(jù)對(duì)應(yīng)的第一存儲(chǔ)區(qū)域;
24、將第一狀態(tài)數(shù)據(jù)存儲(chǔ)至第一存儲(chǔ)區(qū)域中對(duì)應(yīng)的第一存儲(chǔ)單元。
25、在第一方面的一種可能的實(shí)現(xiàn)方式中,所述方法還包括:
26、當(dāng)所述第一存儲(chǔ)區(qū)域中存儲(chǔ)的所述第一狀態(tài)數(shù)據(jù)的數(shù)量達(dá)到所述時(shí)間序列中的多個(gè)區(qū)塊單元包含的數(shù)據(jù)的數(shù)量時(shí),為每個(gè)所述時(shí)間序列中的多個(gè)區(qū)塊單元重新創(chuàng)建第二存儲(chǔ)區(qū)域;
27、將所述第一狀態(tài)數(shù)據(jù)存儲(chǔ)至所述第二存儲(chǔ)區(qū)域?qū)?yīng)的第三存儲(chǔ)單元。
28、在本申請(qǐng)實(shí)施例中,當(dāng)系統(tǒng)中的接單達(dá)到存儲(chǔ)閾值時(shí),系統(tǒng)可以根據(jù)存儲(chǔ)負(fù)載動(dòng)態(tài)擴(kuò)展,自動(dòng)增加新的存儲(chǔ)區(qū)域(第三存儲(chǔ)區(qū)域),以應(yīng)對(duì)未來的數(shù)據(jù)增長需求。
29、在第一方面的一種可能的實(shí)現(xiàn)方式中,所述方法還包括:
30、當(dāng)?shù)谝淮鎯?chǔ)區(qū)域中存儲(chǔ)的所述第一狀態(tài)數(shù)據(jù)的數(shù)量達(dá)到所述時(shí)間序列中的區(qū)塊單元包含的數(shù)據(jù)的數(shù)量時(shí),將所述第一存儲(chǔ)區(qū)域中的第一狀態(tài)數(shù)據(jù)遷移至第三存儲(chǔ)區(qū)域,其中,第三存儲(chǔ)區(qū)域的存儲(chǔ)性能低于所述第一存儲(chǔ)區(qū)域和所述第二存儲(chǔ)區(qū)域。
31、在本申請(qǐng)實(shí)施例中,當(dāng)存儲(chǔ)區(qū)域的存儲(chǔ)數(shù)據(jù)滿負(fù)荷時(shí),可以將歷史數(shù)據(jù)進(jìn)行平滑遷移至性能較低的存儲(chǔ)設(shè)備,可以提高系統(tǒng)的存儲(chǔ)性能。
32、第二方面,本申請(qǐng)實(shí)施例提供了一種數(shù)據(jù)存儲(chǔ)裝置,包括:
33、數(shù)據(jù)獲取模塊,用于獲取區(qū)塊鏈上發(fā)生數(shù)據(jù)更新的第一單元的第一狀態(tài)數(shù)據(jù);所述第一單元為所述區(qū)塊鏈中發(fā)生數(shù)據(jù)更新的區(qū)塊單元;
34、數(shù)據(jù)創(chuàng)建模塊,用于創(chuàng)建所述第一狀態(tài)數(shù)據(jù)對(duì)應(yīng)的第一存儲(chǔ)單元,其中,所述第一存儲(chǔ)單元與第二狀態(tài)數(shù)據(jù)所在第二存儲(chǔ)單元的存儲(chǔ)結(jié)構(gòu)相同,且所述第一存儲(chǔ)單元中包含所述第二狀態(tài)數(shù)據(jù);其中,所述第二狀態(tài)數(shù)據(jù)為所述第一單元中發(fā)生數(shù)據(jù)更新前的狀態(tài)數(shù)據(jù)。
35、數(shù)據(jù)存儲(chǔ)模塊,用于將所述第一狀態(tài)數(shù)據(jù)存儲(chǔ)至所述第一存儲(chǔ)單元。
36、第三方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種數(shù)據(jù)存儲(chǔ)方法,其特征在于,應(yīng)用于區(qū)塊鏈,所述方法包括:
2.如權(quán)利要求1所述的數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述創(chuàng)建所述第一狀態(tài)數(shù)據(jù)對(duì)應(yīng)的第一存儲(chǔ)單元,包括:
3.如權(quán)利要求2所述的數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述根據(jù)所述第一節(jié)點(diǎn)、第二節(jié)點(diǎn)和所述第二存儲(chǔ)單元對(duì)應(yīng)的第三節(jié)點(diǎn)創(chuàng)建所述第一狀態(tài)數(shù)據(jù)對(duì)應(yīng)的第一存儲(chǔ)單元,包括:
4.如權(quán)利要求3所述的數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述方法還包括:
5.如權(quán)利要求1-4任一項(xiàng)所述的數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述將所述第一狀態(tài)數(shù)據(jù)存儲(chǔ)至所述第一存儲(chǔ)單元,包括:
6.如權(quán)利要求5所述的數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述根據(jù)所述時(shí)間序列將所述第一狀態(tài)數(shù)據(jù)存儲(chǔ)至所述第一存儲(chǔ)單元,包括:
7.如權(quán)利要求6所述的數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述方法還包括:
8.如權(quán)利要求7所述的數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述方法還包括:
9.一種終端設(shè)備,包括存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如權(quán)利要
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1至7任一項(xiàng)所述的方法。
...【技術(shù)特征摘要】
1.一種數(shù)據(jù)存儲(chǔ)方法,其特征在于,應(yīng)用于區(qū)塊鏈,所述方法包括:
2.如權(quán)利要求1所述的數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述創(chuàng)建所述第一狀態(tài)數(shù)據(jù)對(duì)應(yīng)的第一存儲(chǔ)單元,包括:
3.如權(quán)利要求2所述的數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述根據(jù)所述第一節(jié)點(diǎn)、第二節(jié)點(diǎn)和所述第二存儲(chǔ)單元對(duì)應(yīng)的第三節(jié)點(diǎn)創(chuàng)建所述第一狀態(tài)數(shù)據(jù)對(duì)應(yīng)的第一存儲(chǔ)單元,包括:
4.如權(quán)利要求3所述的數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述方法還包括:
5.如權(quán)利要求1-4任一項(xiàng)所述的數(shù)據(jù)存儲(chǔ)方法,其特征在于,所述將所述第一狀態(tài)數(shù)據(jù)存儲(chǔ)至所述第一存儲(chǔ)單元,包括:
6.如權(quán)利要求5所述的數(shù)據(jù)存儲(chǔ)方...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:端豪,楊翠華,孫洋,袁超,王曉雪,賈祥娟,
申請(qǐng)(專利權(quán))人:杭州高新區(qū)濱江區(qū)塊鏈與數(shù)據(jù)安全研究院,
類型:發(fā)明
國別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。