本申請涉及區(qū)塊鏈,尤其涉及一種區(qū)塊鏈數(shù)據(jù)處理方法和裝置、系統(tǒng)、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、區(qū)塊鏈交易id(transaction?id,txid)是指區(qū)塊鏈上每筆交易的唯一標(biāo)識符?;诮灰譱d能夠方便地追蹤和核對交易記錄,即無論是交易發(fā)送方還是交易接收方,都可以通過交易id查找到相應(yīng)的交易信息。
2、目前在大數(shù)據(jù)量、高并發(fā)的上鏈場景中,區(qū)塊鏈節(jié)點(diǎn)對業(yè)務(wù)系統(tǒng)產(chǎn)生的業(yè)務(wù)數(shù)據(jù)進(jìn)行上鏈完成后才會生成交易id。由于業(yè)務(wù)系統(tǒng)需保持線程監(jiān)聽上鏈結(jié)果,即業(yè)務(wù)數(shù)據(jù)在匹配到交易id后才能釋放業(yè)務(wù)系統(tǒng)占用的線程,因此上述處理方法會導(dǎo)致線程無法快速釋放、占用系統(tǒng)大量內(nèi)存的情況,從而影響大數(shù)據(jù)量的上鏈速度?;诖?,如何提供一種區(qū)塊鏈數(shù)據(jù)處理方法,以提高大數(shù)據(jù)量的上鏈速度,成了亟待解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、本申請實(shí)施例的主要目的在于提出一種區(qū)塊鏈數(shù)據(jù)處理方法和裝置、系統(tǒng)、電子設(shè)備及存儲介質(zhì),旨在提高大數(shù)據(jù)量的上鏈速度。
2、為實(shí)現(xiàn)上述目的,本申請實(shí)施例的第一方面提出了一種區(qū)塊鏈數(shù)據(jù)處理方法,所述方法應(yīng)用于中間節(jié)點(diǎn),所述方法包括:
3、接收業(yè)務(wù)節(jié)點(diǎn)發(fā)送的第一交易標(biāo)識數(shù)據(jù)和待上鏈數(shù)據(jù),其中,所述第一交易標(biāo)識數(shù)據(jù)是所述業(yè)務(wù)節(jié)點(diǎn)基于所述待上鏈數(shù)據(jù)和業(yè)務(wù)標(biāo)識數(shù)據(jù)生成的;
4、基于第一交易標(biāo)識數(shù)據(jù)進(jìn)行簽名得到第一簽名;
5、將所述第一簽名發(fā)送給區(qū)塊鏈節(jié)點(diǎn),以使所述區(qū)塊鏈節(jié)點(diǎn)在所述第一簽名驗(yàn)簽成功后對所述待上鏈數(shù)據(jù)進(jìn)行上鏈處理。
6、在一些實(shí)施例,所述基于第一交易標(biāo)識數(shù)據(jù)進(jìn)行簽名得到第一簽名,包括:
7、基于預(yù)設(shè)的摘要算法對所述第一交易標(biāo)識數(shù)據(jù)和第一隨機(jī)數(shù)進(jìn)行摘要計(jì)算,得到第一摘要;
8、基于獲取的私鑰對所述第一摘要進(jìn)行簽名,得到所述第一簽名。
9、在一些實(shí)施例,所述將所述第一簽名發(fā)送給區(qū)塊鏈節(jié)點(diǎn),以使所述區(qū)塊鏈節(jié)點(diǎn)在所述第一簽名驗(yàn)簽成功后對所述待上鏈數(shù)據(jù)進(jìn)行上鏈處理,包括:
10、將所述第一簽名、所述待上鏈數(shù)據(jù)、所述第一交易標(biāo)識數(shù)據(jù)、所述業(yè)務(wù)標(biāo)識數(shù)據(jù)和第一隨機(jī)數(shù)發(fā)送給所述區(qū)塊鏈節(jié)點(diǎn),以使所述區(qū)塊鏈節(jié)點(diǎn)基于所述第一簽名、所述待上鏈數(shù)據(jù)、所述第一交易標(biāo)識數(shù)據(jù)、所述業(yè)務(wù)標(biāo)識數(shù)據(jù)和所述第一隨機(jī)數(shù)對所述第一簽名進(jìn)行驗(yàn)簽,并使所述區(qū)塊鏈節(jié)點(diǎn)在所述第一簽名驗(yàn)簽成功后對所述待上鏈數(shù)據(jù)進(jìn)行上鏈處理。
11、在一些實(shí)施例,在所述接收業(yè)務(wù)節(jié)點(diǎn)發(fā)送的第一交易標(biāo)識數(shù)據(jù)和待上鏈數(shù)據(jù)之前,所述方法還包括:
12、接收所述業(yè)務(wù)節(jié)點(diǎn)發(fā)送的閑時(shí)待上鏈數(shù)據(jù),其中,所述閑時(shí)待上鏈數(shù)據(jù)是所述系統(tǒng)線程占用率小于所述預(yù)設(shè)占用率時(shí)所述業(yè)務(wù)節(jié)點(diǎn)發(fā)送的;
13、基于所述閑時(shí)待上鏈數(shù)據(jù)進(jìn)行簽名得到第二簽名;
14、將所述第二簽名發(fā)送給所述區(qū)塊鏈節(jié)點(diǎn),以使所述區(qū)塊鏈節(jié)點(diǎn)在所述第二簽名驗(yàn)簽成功后對所述閑時(shí)待上鏈數(shù)據(jù)進(jìn)行上鏈處理,并使所述區(qū)塊鏈節(jié)點(diǎn)在所述第一簽名驗(yàn)簽成功后對所述閑時(shí)待上鏈數(shù)據(jù)進(jìn)行上鏈處理。
15、在一些實(shí)施例,在所述接收業(yè)務(wù)節(jié)點(diǎn)發(fā)送的第一交易標(biāo)識數(shù)據(jù)和待上鏈數(shù)據(jù)之前,所述方法還包括:
16、接收所述業(yè)務(wù)節(jié)點(diǎn)發(fā)送的數(shù)據(jù)查詢請求,其中,所述數(shù)據(jù)查詢請求攜帶有第二交易標(biāo)識數(shù)據(jù);
17、基于所述第二交易標(biāo)識數(shù)據(jù)進(jìn)行簽名得到第三簽名;
18、將所述第三簽名發(fā)送給所述區(qū)塊鏈節(jié)點(diǎn),以使所述區(qū)塊鏈節(jié)點(diǎn)在所述第三簽名驗(yàn)簽成功后對所述閑時(shí)待上鏈數(shù)據(jù)進(jìn)行數(shù)據(jù)查詢操作。
19、為實(shí)現(xiàn)上述目的,本申請實(shí)施例的第二方面提出了一種區(qū)塊鏈數(shù)據(jù)處理方法,所述方法應(yīng)用于業(yè)務(wù)節(jié)點(diǎn),所述方法包括:
20、基于待上鏈數(shù)據(jù)和業(yè)務(wù)標(biāo)識數(shù)據(jù)生成第一交易標(biāo)識數(shù)據(jù);
21、將所述第一交易標(biāo)識數(shù)據(jù)和所述待上鏈數(shù)據(jù)發(fā)送給中間節(jié)點(diǎn),以使所述中間節(jié)點(diǎn)執(zhí)行如上述任一實(shí)施例所述的方法。
22、在一些實(shí)施例中,所述將所述第一交易標(biāo)識數(shù)據(jù)和所述待上鏈數(shù)據(jù)發(fā)送給中間節(jié)點(diǎn),包括:
23、獲取系統(tǒng)線程占用率;
24、若所述系統(tǒng)線程占用率大于或等于預(yù)設(shè)占用率,將所述第一交易標(biāo)識數(shù)據(jù)和所述待上鏈數(shù)據(jù)發(fā)送給所述中間節(jié)點(diǎn)。
25、為實(shí)現(xiàn)上述目的,本申請實(shí)施例的第三方面提出了一種區(qū)塊鏈數(shù)據(jù)處理裝置,所述裝置用于中間節(jié)點(diǎn),所述裝置包括:
26、數(shù)據(jù)接收模塊,用于接收業(yè)務(wù)節(jié)點(diǎn)發(fā)送的第一交易標(biāo)識數(shù)據(jù)和待上鏈數(shù)據(jù),其中,所述第一交易標(biāo)識數(shù)據(jù)是所述業(yè)務(wù)節(jié)點(diǎn)基于所述待上鏈數(shù)據(jù)和業(yè)務(wù)標(biāo)識數(shù)據(jù)生成的;
27、簽名模塊,用于基于第一交易標(biāo)識數(shù)據(jù)進(jìn)行簽名得到第一簽名;
28、簽名發(fā)送模塊,用于將所述第一簽名發(fā)送給區(qū)塊鏈節(jié)點(diǎn),以使所述區(qū)塊鏈節(jié)點(diǎn)在所述第一簽名驗(yàn)簽成功后對所述待上鏈數(shù)據(jù)進(jìn)行上鏈處理。
29、為實(shí)現(xiàn)上述目的,本申請實(shí)施例的第四方面提出了一種區(qū)塊鏈數(shù)據(jù)處理系統(tǒng),所述系統(tǒng)包括:
30、業(yè)務(wù)節(jié)點(diǎn),用于發(fā)送待上鏈數(shù)據(jù),或發(fā)送所述待上鏈數(shù)據(jù)和第一交易標(biāo)識數(shù)據(jù);
31、中間節(jié)點(diǎn),用于接收所述業(yè)務(wù)節(jié)點(diǎn)發(fā)送的待上鏈數(shù)據(jù),或接收所述業(yè)務(wù)節(jié)點(diǎn)發(fā)送的所述待上鏈數(shù)據(jù)和所述第一交易標(biāo)識數(shù)據(jù),以執(zhí)行如第一方面所述的方法;
32、區(qū)塊鏈節(jié)點(diǎn),用于對待上鏈數(shù)據(jù)進(jìn)行上鏈處理。
33、為實(shí)現(xiàn)上述目的,本申請實(shí)施例的第五方面提出了一種電子設(shè)備,所述電子設(shè)備包括存儲器和處理器,所述存儲器存儲有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述第一方面所述的方法或?qū)崿F(xiàn)第二方面所述的方法。
34、為實(shí)現(xiàn)上述目的,本申請實(shí)施例的第六方面提出了一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述第一方面所述的方法或?qū)崿F(xiàn)第二方面所述的方法。
35、本申請?zhí)岢龅膮^(qū)塊鏈數(shù)據(jù)處理方法和裝置、系統(tǒng)、電子設(shè)備及存儲介質(zhì),業(yè)務(wù)節(jié)點(diǎn)基于待上鏈數(shù)據(jù)和業(yè)務(wù)標(biāo)識數(shù)據(jù)生成第一交易標(biāo)識數(shù)據(jù),區(qū)塊鏈節(jié)點(diǎn)對基于第一交易標(biāo)識數(shù)據(jù)得到的第一簽名驗(yàn)簽成功后,可以對待上鏈數(shù)據(jù)進(jìn)行上鏈處理。由此可知,業(yè)務(wù)節(jié)點(diǎn)可以主動生成交易id,即本申請實(shí)施例中將交易id的生成與待上鏈數(shù)據(jù)是否上鏈完成進(jìn)行解耦,因此在大數(shù)據(jù)量的上鏈場景中,能夠減少線程等待交易id生成的時(shí)間,從而提高大數(shù)據(jù)量的上鏈速度,減少系統(tǒng)內(nèi)存被大量占用的情況。
1.一種區(qū)塊鏈數(shù)據(jù)處理方法,其特征在于,所述方法應(yīng)用于中間節(jié)點(diǎn),所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于第一交易標(biāo)識數(shù)據(jù)進(jìn)行簽名得到第一簽名,包括:
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述第一簽名發(fā)送給區(qū)塊鏈節(jié)點(diǎn),以使所述區(qū)塊鏈節(jié)點(diǎn)在所述第一簽名驗(yàn)簽成功后對所述待上鏈數(shù)據(jù)進(jìn)行上鏈處理,包括:
4.根據(jù)權(quán)利要求1至3任一項(xiàng)所述的方法,其特征在于,在所述接收業(yè)務(wù)節(jié)點(diǎn)發(fā)送的第一交易標(biāo)識數(shù)據(jù)和待上鏈數(shù)據(jù)之前,所述方法還包括:
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述接收業(yè)務(wù)節(jié)點(diǎn)發(fā)送的第一交易標(biāo)識數(shù)據(jù)和待上鏈數(shù)據(jù)之前,所述方法還包括:
6.一種區(qū)塊鏈數(shù)據(jù)處理方法,其特征在于,所述方法應(yīng)用于業(yè)務(wù)節(jié)點(diǎn),所述方法包括:
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述將所述第一交易標(biāo)識數(shù)據(jù)和所述待上鏈數(shù)據(jù)發(fā)送給中間節(jié)點(diǎn),包括:
8.一種區(qū)塊鏈數(shù)據(jù)處理裝置,其特征在于,所述裝置應(yīng)用于中間節(jié)點(diǎn),所述裝置包括:
9.一種區(qū)塊鏈數(shù)據(jù)處理系統(tǒng),其特征在于,所述系統(tǒng)包括:
10.一種電子設(shè)備,其特征在于,所述電子設(shè)備包括存儲器和處理器,所述存儲器存儲有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)權(quán)利要求1至5任一項(xiàng)所述的方法,或?qū)崿F(xiàn)權(quán)利要求6至7任一項(xiàng)所述的方法。
11.一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)存儲有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1至5中任一項(xiàng)所述的方法,或?qū)崿F(xiàn)權(quán)利要求6至7任一項(xiàng)所述的方法。