本技術(shù)涉及計(jì)算機(jī),尤其涉及一種基于區(qū)塊鏈的數(shù)據(jù)處理方法、裝置、設(shè)備及可讀存儲介質(zhì)。
背景技術(shù):
1、區(qū)塊鏈?zhǔn)且环N分布式數(shù)據(jù)存儲、點(diǎn)對點(diǎn)傳輸、共識機(jī)制、加密算法等計(jì)算機(jī)技術(shù)的新型應(yīng)用模式,主要用于對數(shù)據(jù)按時間順序進(jìn)行整理,并加密成賬本,使其不可被篡改和偽造,同時可進(jìn)行數(shù)據(jù)的驗(yàn)證、存儲和更新。
2、對于區(qū)塊鏈中所存儲的數(shù)據(jù)(如交易數(shù)據(jù)),在數(shù)據(jù)分析對象(如某個用戶)存在數(shù)據(jù)分析需求時,數(shù)據(jù)分析對象需要通過調(diào)用遠(yuǎn)程調(diào)用(remote?procedure?call,rpc)接口從區(qū)塊鏈上獲取到詳細(xì)的交易數(shù)據(jù),隨后即可對獲取到的數(shù)據(jù)進(jìn)行數(shù)據(jù)分析處理。
3、然而,這種調(diào)用接口從區(qū)塊鏈上獲取交易數(shù)據(jù)的方式,對于每次交易數(shù)據(jù)的獲取,均需要先進(jìn)行接口調(diào)用,這非常不便于數(shù)據(jù)的獲取,對數(shù)據(jù)分析效率也會造成一定影響。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例提供一種基于區(qū)塊鏈的數(shù)據(jù)處理方法、裝置、設(shè)備及可讀存儲介質(zhì),可以實(shí)現(xiàn)將鏈上數(shù)據(jù)實(shí)時同步到鏈下數(shù)據(jù)庫,從而可以提升數(shù)據(jù)獲取便利性。
2、本技術(shù)實(shí)施例一方面提供了一種基于區(qū)塊鏈的數(shù)據(jù)處理方法,包括:
3、獲取用于反映第一區(qū)塊鏈節(jié)點(diǎn)的運(yùn)行屬性的節(jié)點(diǎn)運(yùn)行特征;
4、通過所述節(jié)點(diǎn)運(yùn)行特征對所述第一區(qū)塊鏈節(jié)點(diǎn)進(jìn)行腳本創(chuàng)建處理,得到所述第一區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)監(jiān)測腳本;
5、通過所述節(jié)點(diǎn)監(jiān)測腳本對所述第一區(qū)塊鏈節(jié)點(diǎn)的區(qū)塊數(shù)據(jù)文件進(jìn)行實(shí)時監(jiān)測;所述第一區(qū)塊鏈節(jié)點(diǎn)的區(qū)塊數(shù)據(jù)文件用于記錄所述第一區(qū)塊鏈節(jié)點(diǎn)的鏈上賬本中所存儲的區(qū)塊的數(shù)據(jù);
6、在監(jiān)測到所述第一區(qū)塊鏈節(jié)點(diǎn)的區(qū)塊數(shù)據(jù)文件存在變化時,確定所述第一區(qū)塊鏈節(jié)點(diǎn)的鏈上賬本中存在新增區(qū)塊,將所述第一區(qū)塊鏈節(jié)點(diǎn)的鏈上賬本中的新增區(qū)塊同步至鏈下數(shù)據(jù)庫。
7、本技術(shù)實(shí)施例一方面提供了一種基于區(qū)塊鏈的數(shù)據(jù)處理裝置,包括:
8、特征獲取模塊,用于獲取用于反映第一區(qū)塊鏈節(jié)點(diǎn)的運(yùn)行屬性的節(jié)點(diǎn)運(yùn)行特征;
9、腳本創(chuàng)建模塊,用于通過所述節(jié)點(diǎn)運(yùn)行特征對所述第一區(qū)塊鏈節(jié)點(diǎn)進(jìn)行腳本創(chuàng)建處理,得到所述第一區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)監(jiān)測腳本;
10、文件監(jiān)測模塊,用于通過所述節(jié)點(diǎn)監(jiān)測腳本對所述第一區(qū)塊鏈節(jié)點(diǎn)的區(qū)塊數(shù)據(jù)文件進(jìn)行實(shí)時監(jiān)測;所述第一區(qū)塊鏈節(jié)點(diǎn)的區(qū)塊數(shù)據(jù)文件用于記錄所述第一區(qū)塊鏈節(jié)點(diǎn)的鏈上賬本中所存儲的區(qū)塊的數(shù)據(jù);
11、區(qū)塊同步模塊,用于在監(jiān)測到所述第一區(qū)塊鏈節(jié)點(diǎn)的區(qū)塊數(shù)據(jù)文件存在變化時,確定所述第一區(qū)塊鏈節(jié)點(diǎn)的鏈上賬本中存在新增區(qū)塊,將所述第一區(qū)塊鏈節(jié)點(diǎn)的鏈上賬本中的新增區(qū)塊同步至鏈下數(shù)據(jù)庫。
12、在一個實(shí)施例中,腳本創(chuàng)建模塊通過節(jié)點(diǎn)運(yùn)行特征對第一區(qū)塊鏈節(jié)點(diǎn)進(jìn)行腳本創(chuàng)建處理,得到第一區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)監(jiān)測腳本的具體實(shí)現(xiàn)方式,包括:
13、獲取監(jiān)測腳本模板集合;監(jiān)測腳本模板集合中的每個監(jiān)測腳本模板配置有用于實(shí)時監(jiān)測區(qū)塊數(shù)據(jù)文件的變化的邏輯代碼;區(qū)塊數(shù)據(jù)文件用于記錄區(qū)塊鏈中的區(qū)塊鏈節(jié)點(diǎn)的鏈上賬本中所存儲的區(qū)塊的數(shù)據(jù);區(qū)塊鏈中的區(qū)塊鏈節(jié)點(diǎn)包含第一區(qū)塊鏈節(jié)點(diǎn);
14、按照腳本適配規(guī)則,從監(jiān)測腳本模板集合中確定適配于節(jié)點(diǎn)運(yùn)行特征的監(jiān)測腳本模板;
15、獲取第一區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識;
16、將第一區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識,與適配于節(jié)點(diǎn)運(yùn)行特征的監(jiān)測腳本模板進(jìn)行融合處理,得到第一區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)監(jiān)測腳本。
17、在一個實(shí)施例中,節(jié)點(diǎn)運(yùn)行特征包括第一區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)占用算力;腳本適配規(guī)則是指節(jié)點(diǎn)占用算力所關(guān)聯(lián)的算力適配規(guī)則;監(jiān)測腳本模板集合包括監(jiān)測腳本模板si,i為正整數(shù);
18、腳本創(chuàng)建模塊按照腳本適配規(guī)則,從監(jiān)測腳本模板集合中確定適配于節(jié)點(diǎn)運(yùn)行特征的監(jiān)測腳本模板的具體實(shí)現(xiàn)方式,包括:
19、按照算力適配規(guī)則,獲取監(jiān)測腳本模板集合中監(jiān)測腳本模板si所包含的腳本代碼量;
20、對腳本代碼量進(jìn)行算力分析處理,確定述監(jiān)測腳本模板si所需的需求算力;
21、當(dāng)確定出監(jiān)測腳本模板集合中每個監(jiān)測腳本模板所需的需求算力時,通過節(jié)點(diǎn)占用算力對需求算力集合中的需求算力進(jìn)行比較分析處理,得到需求算力集合中的最優(yōu)需求算力;
22、將監(jiān)測腳本模板集合中的最優(yōu)需求算力所指示的監(jiān)測腳本模板,確定為適配于節(jié)點(diǎn)運(yùn)行特征的監(jiān)測腳本模板。
23、在一個實(shí)施例中,腳本創(chuàng)建模塊通過節(jié)點(diǎn)占用算力對需求算力集合中的需求算力進(jìn)行比較分析處理,得到需求算力集合中的最優(yōu)需求算力的具體實(shí)現(xiàn)方式,包括:
24、獲取第一區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)總算力;
25、確定節(jié)點(diǎn)總算力與節(jié)點(diǎn)占用算力之間的第一算力差值,將第一算力差值確定為第一區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)剩余算力;
26、將需求算力集合中大于節(jié)點(diǎn)剩余算力的需求算力進(jìn)行過濾處理,得到過濾需求算力集合;
27、基于節(jié)點(diǎn)剩余算力從過濾需求算力集合中確定最優(yōu)需求算力。
28、在一個實(shí)施例中,腳本創(chuàng)建模塊基于節(jié)點(diǎn)剩余算力從過濾需求算力集合中確定最優(yōu)需求算力的具體實(shí)現(xiàn)方式,包括:
29、確定過濾需求算力集合中,每個需求算力與節(jié)點(diǎn)剩余算力之間的第二算力差值,得到第二算力差值集合;
30、獲取第二算力差值集合中的最小值,將第二算力差值集合中的最小值確定為最優(yōu)算力差值;
31、將過濾需求算力集合中的最優(yōu)算力差值所指示的需求算力,確定為最優(yōu)需求算力。
32、在一個實(shí)施例中,節(jié)點(diǎn)運(yùn)行特征包括第一區(qū)塊鏈節(jié)點(diǎn)的數(shù)據(jù)處理類型;腳本適配規(guī)則是指數(shù)據(jù)處理類型所關(guān)聯(lián)的類型適配規(guī)則;
33、腳本創(chuàng)建模塊按照腳本適配規(guī)則,從監(jiān)測腳本模板集合中確定適配于節(jié)點(diǎn)運(yùn)行特征的監(jiān)測腳本模板的具體實(shí)現(xiàn)方式,包括:
34、按照類型適配規(guī)則,獲取監(jiān)測腳本模板集合中每個監(jiān)測腳本模板所指示的配置數(shù)據(jù)類型,得到配置數(shù)據(jù)類型集合;
35、將配置數(shù)據(jù)類型集合中,與第一區(qū)塊鏈節(jié)點(diǎn)的數(shù)據(jù)處理類型相匹配的配置數(shù)據(jù)類型,確定為匹配數(shù)據(jù)類型;
36、將監(jiān)測腳本模板集合中的匹配數(shù)據(jù)類型所指示的監(jiān)測腳本模板,確定為適配于節(jié)點(diǎn)運(yùn)行特征的監(jiān)測腳本模板。
37、在一個實(shí)施例中,腳本創(chuàng)建模塊將第一區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識,與適配于節(jié)點(diǎn)運(yùn)行特征的監(jiān)測腳本模板進(jìn)行融合處理,得到第一區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)監(jiān)測腳本的具體實(shí)現(xiàn)方式,包括:
38、在適配于節(jié)點(diǎn)運(yùn)行特征的監(jiān)測腳本模板中,獲取標(biāo)識參數(shù)填入字段;
39、在標(biāo)識參數(shù)填入字段中,寫入第一區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識;
40、將寫入第一區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識的監(jiān)測腳本模板,確定為第一區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)監(jiān)測腳本。
41、在一個實(shí)施例中,區(qū)塊同步模塊將第一區(qū)塊鏈節(jié)點(diǎn)的鏈上賬本中的新增區(qū)塊同步至鏈下數(shù)據(jù)庫的具體實(shí)現(xiàn)方式,包括:
42、在第一區(qū)塊鏈節(jié)點(diǎn)的鏈上賬本中,獲取新增區(qū)塊所包含的區(qū)塊數(shù)據(jù);
43、將新增區(qū)塊所包含的區(qū)塊數(shù)據(jù)并行同步至鏈下數(shù)據(jù)庫中。
44、在一個實(shí)施例中,鏈下數(shù)據(jù)庫的數(shù)量為n個,n為正整數(shù);
45、區(qū)塊同步模塊將第一區(qū)塊鏈節(jié)點(diǎn)的鏈上賬本中的新增區(qū)塊同步至鏈下數(shù)據(jù)庫的具體實(shí)現(xiàn)方式,包括:
46、獲取第一區(qū)塊鏈節(jié)點(diǎn)的數(shù)據(jù)處理類型,以及n個鏈下數(shù)據(jù)庫中每個鏈下數(shù)據(jù)庫的配置服務(wù)類型;
47、將n個配置服務(wù)類型中,與第一區(qū)塊鏈節(jié)點(diǎn)的數(shù)據(jù)處理類型相匹配的配置服務(wù)類型,確定為匹配服務(wù)類型;
48、將n個鏈下數(shù)據(jù)庫中的匹配服務(wù)類型所指示的鏈下數(shù)據(jù)庫,確定為目標(biāo)數(shù)據(jù)庫;
49、將第一區(qū)塊鏈節(jié)點(diǎn)的鏈上賬本中的新增區(qū)塊同步至目標(biāo)數(shù)據(jù)庫。
50、在一個實(shí)施例中,在區(qū)塊同步模塊將第一區(qū)塊鏈節(jié)點(diǎn)的鏈上賬本中的新增區(qū)塊同步至鏈下數(shù)據(jù)庫之后,基于區(qū)塊鏈的數(shù)據(jù)處理裝置還包括:
51、請求接收模塊,用于接收數(shù)據(jù)分析對象發(fā)送的交易分析請求;交易分析請求用于請求對待分析交易數(shù)據(jù)進(jìn)行交易分析;
52、交易獲取模塊,用于基于交易分析請求從鏈下數(shù)據(jù)庫中獲取待分析交易數(shù)據(jù);
53、交易分析模塊,用于按照交易分析規(guī)則,對待分析交易數(shù)據(jù)進(jìn)行交易分析,得到待分析交易數(shù)據(jù)的交易分析結(jié)果;
54、結(jié)果返回模塊,用于將交易分析結(jié)果返回至數(shù)據(jù)分析對象。
55、在一個實(shí)施例中,待分析交易數(shù)據(jù)的交易類型為資源轉(zhuǎn)移類型;
56、交易分析模塊按照交易分析規(guī)則,對待分析交易數(shù)據(jù)進(jìn)行交易分析,得到待分析交易數(shù)據(jù)的交易分析結(jié)果的具體實(shí)現(xiàn)方式,包括:
57、按照交易分析規(guī)則,獲取待分析交易數(shù)據(jù)所指示的資源轉(zhuǎn)移量;
58、將資源轉(zhuǎn)移量與轉(zhuǎn)移閾值進(jìn)行比較;
59、若確定資源轉(zhuǎn)移量大于轉(zhuǎn)移閾值,則確定待分析交易數(shù)據(jù)的交易分析結(jié)果為交易不合格結(jié)果;
60、若確定資源轉(zhuǎn)移量小于轉(zhuǎn)移閾值,則確定待分析交易數(shù)據(jù)的交易分析結(jié)果為交易合格結(jié)果。
61、本技術(shù)實(shí)施例一方面提供了一種計(jì)算機(jī)設(shè)備,包括:處理器和存儲器;
62、存儲器存儲有計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時,使得處理器執(zhí)行本技術(shù)實(shí)施例中的方法。
63、本技術(shù)實(shí)施例一方面提供了一種計(jì)算機(jī)可讀存儲介質(zhì),計(jì)算機(jī)可讀存儲介質(zhì)存儲有計(jì)算機(jī)程序,計(jì)算機(jī)程序包括程序指令,程序指令當(dāng)被處理器執(zhí)行時,執(zhí)行本技術(shù)實(shí)施例中的方法。
64、本技術(shù)的一個方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序存儲在計(jì)算機(jī)可讀存儲介質(zhì)中。計(jì)算機(jī)設(shè)備的處理器從計(jì)算機(jī)可讀存儲介質(zhì)讀取該計(jì)算機(jī)程序,處理器執(zhí)行該計(jì)算機(jī)程序,使得該計(jì)算機(jī)設(shè)備執(zhí)行本技術(shù)實(shí)施例中一方面提供的方法。
65、在本技術(shù)實(shí)施例中,對于某個區(qū)塊鏈節(jié)點(diǎn)(如第一區(qū)塊鏈節(jié)點(diǎn))而言,可以通過該第一區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)運(yùn)行特征進(jìn)行腳本創(chuàng)建處理,由此可以得到該第一區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)監(jiān)測腳本,通過該節(jié)點(diǎn)監(jiān)測腳本可以實(shí)時監(jiān)測第一區(qū)塊鏈節(jié)點(diǎn)的區(qū)塊數(shù)據(jù)文件的變化。其中,該區(qū)塊數(shù)據(jù)文件是用于記錄第一區(qū)塊鏈節(jié)點(diǎn)的鏈上賬本中所存儲的區(qū)塊的數(shù)據(jù)的,那么一旦監(jiān)測到第一區(qū)塊鏈節(jié)點(diǎn)的區(qū)塊數(shù)據(jù)文件發(fā)生變化,那么即可判定該第一區(qū)塊鏈節(jié)點(diǎn)的鏈上賬本上存在有新增區(qū)塊,進(jìn)而可以及時將該新增區(qū)塊同步至鏈下數(shù)據(jù)庫。應(yīng)當(dāng)理解,本技術(shù)通過基于區(qū)塊鏈節(jié)點(diǎn)的節(jié)點(diǎn)運(yùn)行特征,為區(qū)塊鏈節(jié)點(diǎn)創(chuàng)建節(jié)點(diǎn)監(jiān)測腳本的方式,可以使得所創(chuàng)建的節(jié)點(diǎn)監(jiān)測腳本是符合區(qū)塊鏈節(jié)點(diǎn)的運(yùn)行屬性的,符合節(jié)點(diǎn)運(yùn)行屬性的節(jié)點(diǎn)監(jiān)測腳本,能夠?qū)^(qū)塊鏈節(jié)點(diǎn)的區(qū)塊數(shù)據(jù)文件進(jìn)行實(shí)時監(jiān)測,進(jìn)而可以實(shí)時將區(qū)塊鏈節(jié)點(diǎn)的鏈上存儲數(shù)據(jù)(鏈上賬本中存儲的區(qū)塊)同步到鏈下數(shù)據(jù)庫中,那么基于此,對于鏈上存儲數(shù)據(jù)的獲取,可以轉(zhuǎn)換為鏈下數(shù)據(jù)庫中獲取,對鏈上存儲數(shù)據(jù)存在獲取需求的對象,無需再調(diào)用相關(guān)接口從鏈上獲取相關(guān)數(shù)據(jù),只需要直接查閱鏈下數(shù)據(jù)庫即可,可以大大提升鏈上數(shù)據(jù)獲取的便利性。綜上,本技術(shù)可以實(shí)現(xiàn)將鏈上數(shù)據(jù)實(shí)時同步到鏈下數(shù)據(jù)庫,而通過數(shù)據(jù)同步的實(shí)時性,可以將鏈上數(shù)據(jù)獲取轉(zhuǎn)換為鏈下數(shù)據(jù)獲取,可提升鏈上數(shù)據(jù)獲取的便利性。