本申請(qǐng)涉及區(qū)塊鏈領(lǐng)域,尤其涉及數(shù)據(jù)處理方法、數(shù)據(jù)處理裝置、數(shù)據(jù)處理設(shè)備、可讀存儲(chǔ)介質(zhì)以及計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、區(qū)塊鏈作為一種去中心化的分布式賬本,由于其數(shù)據(jù)不可篡改的可靠性,在越來(lái)越多的領(lǐng)域得到了應(yīng)用。
2、現(xiàn)有的技術(shù)通過(guò)默克爾樹(shù)(merkle?patricia?trie,mpt)存儲(chǔ)區(qū)塊鏈中區(qū)塊產(chǎn)生的數(shù)據(jù)。當(dāng)需要從mpt樹(shù)中進(jìn)行數(shù)據(jù)讀取時(shí),需要遍歷mpt樹(shù)中的多個(gè)節(jié)點(diǎn),以確定出需要進(jìn)行讀取的數(shù)據(jù)的索引信息。mpt樹(shù)的深度越深,需要進(jìn)行讀取的節(jié)點(diǎn)數(shù)越多。這種讀取數(shù)據(jù)的方式復(fù)雜度高,導(dǎo)致數(shù)據(jù)的讀取效率低。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)實(shí)施例提供了一種數(shù)據(jù)處理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)以及計(jì)算機(jī)程序產(chǎn)品,可以降低讀取數(shù)據(jù)的復(fù)雜度,從而提高數(shù)據(jù)的讀取效率。
2、一方面,本申請(qǐng)實(shí)施例提供了一種數(shù)據(jù)處理方法,所述方法包括:
3、接收第一數(shù)據(jù)讀取指令,所述第一數(shù)據(jù)讀取指令包括第一索引信息,所述第一索引信息用于指示待讀取的操作數(shù)據(jù);
4、從緩存器中讀取所述第一索引信息對(duì)應(yīng)的操作數(shù)據(jù);其中,所述緩存器包括至少一個(gè)操作數(shù)據(jù)以及各個(gè)操作數(shù)據(jù)的索引信息,任一操作數(shù)據(jù)以及所述任一操作數(shù)據(jù)的索引信息是對(duì)相應(yīng)操作記錄進(jìn)行快照處理得到的,任一條操作記錄包括操作數(shù)據(jù)、所述操作數(shù)據(jù)的索引信息,以及所述操作數(shù)據(jù)的操作類型,任一條操作記錄用于記錄執(zhí)行區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊時(shí)所產(chǎn)生的操作;
5、若從所述緩存器中成功讀取到所述第一索引信息對(duì)應(yīng)的操作數(shù)據(jù),則輸出讀取到的操作數(shù)據(jù)。
6、另一方面,本申請(qǐng)實(shí)施例提供了一種數(shù)據(jù)處理裝置,所述裝置包括:
7、通信單元,用于接收第一數(shù)據(jù)讀取指令,所述第一數(shù)據(jù)讀取指令包括第一索引信息,所述第一索引信息用于指示待讀取的操作數(shù)據(jù);
8、處理單元,用于從緩存器中讀取所述第一索引信息對(duì)應(yīng)的操作數(shù)據(jù);其中,所述緩存器包括至少一個(gè)操作數(shù)據(jù)以及各個(gè)操作數(shù)據(jù)的索引信息,任一操作數(shù)據(jù)以及所述任一操作數(shù)據(jù)的索引信息是對(duì)相應(yīng)操作記錄進(jìn)行快照處理得到的,任一條操作記錄包括操作數(shù)據(jù)、所述操作數(shù)據(jù)的索引信息,以及所述操作數(shù)據(jù)的操作類型,任一條操作記錄用于記錄執(zhí)行區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊時(shí)所產(chǎn)生的操作;
9、所述通信單元,還用于若從所述緩存器中成功讀取到所述第一索引信息對(duì)應(yīng)的操作數(shù)據(jù),則輸出讀取到的操作數(shù)據(jù)。
10、另一方面,本申請(qǐng)實(shí)施例提供了一種數(shù)據(jù)處理設(shè)備,該數(shù)據(jù)處理設(shè)備包括:處理器、通信接口和存儲(chǔ)器,所述處理器、所述通信接口和所述存儲(chǔ)器相互連接,其中,所述存儲(chǔ)器存儲(chǔ)有可執(zhí)行程序代碼,所述處理器用于調(diào)用所述可執(zhí)行程序代碼,以執(zhí)行本申請(qǐng)實(shí)施例中的數(shù)據(jù)處理方法。
11、另一方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,計(jì)算機(jī)程序包括程序指令,程序指令當(dāng)被處理器執(zhí)行時(shí),執(zhí)行本申請(qǐng)實(shí)施例中的數(shù)據(jù)處理方法。
12、另一方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序或計(jì)算機(jī)指令,所述計(jì)算機(jī)程序或計(jì)算機(jī)指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)本申請(qǐng)實(shí)施例中的數(shù)據(jù)處理方法。
13、本申請(qǐng)實(shí)施例通過(guò)在接收第一數(shù)據(jù)讀取指令后,直接從緩存器中讀取該第一數(shù)據(jù)讀取指令包括的第一索引信息對(duì)應(yīng)的操作數(shù)據(jù)。由于該緩存器中的任一操作數(shù)據(jù)和該任一操作數(shù)據(jù)的索引信息是對(duì)相應(yīng)操作記錄(執(zhí)行區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊時(shí)產(chǎn)生的操作)進(jìn)行快照處理得到的,該任一操作數(shù)據(jù)和該任一操作數(shù)據(jù)的索引信息是映射關(guān)系,也就是在緩存器中的操作數(shù)據(jù)和操作數(shù)據(jù)對(duì)應(yīng)的索引信息是扁平化存儲(chǔ)的,所以從緩存器中讀取第一索引信息對(duì)應(yīng)的操作數(shù)據(jù)時(shí)只需要訪問(wèn)一次硬盤(pán),從而可以降低讀取數(shù)據(jù)的復(fù)雜度,從而提高數(shù)據(jù)的讀取效率。
1.一種數(shù)據(jù)處理方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在從所述存儲(chǔ)器中成功讀取到所述第一索引信息對(duì)應(yīng)的操作數(shù)據(jù)之后,所述方法還包括:
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述將所述區(qū)塊寫(xiě)集合寫(xiě)入所述緩存器中,包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述獲取所述區(qū)塊對(duì)應(yīng)的區(qū)塊寫(xiě)集合之后,所述方法還包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述對(duì)所述多個(gè)區(qū)塊對(duì)應(yīng)的區(qū)塊寫(xiě)集合中的操作記錄進(jìn)行篩選處理,得到篩選后的操作記錄,包括:
9.一種數(shù)據(jù)處理裝置,其特征在于,所述裝置包括:
10.一種數(shù)據(jù)處理設(shè)備,其特征在于,包括:處理器、通信接口和存儲(chǔ)器,所述處理器、所述通信接口和所述存儲(chǔ)器相互連接,其中,所述存儲(chǔ)器存儲(chǔ)有可執(zhí)行程序代碼,所述處理器用于調(diào)用所述可執(zhí)行程序代碼,執(zhí)行如權(quán)利要求1-8中任一項(xiàng)所述的數(shù)據(jù)處理方法。
11.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)其在計(jì)算機(jī)上運(yùn)行時(shí),使得計(jì)算機(jī)執(zhí)行如權(quán)利要求1-8中任一項(xiàng)所述的數(shù)據(jù)處理方法。
12.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序或計(jì)算機(jī)指令,所述計(jì)算機(jī)程序或計(jì)算機(jī)指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-8中任一項(xiàng)所述的數(shù)據(jù)處理方法的步驟。