本技術(shù)涉及計(jì)算機(jī),尤其涉及一種基于區(qū)塊鏈的數(shù)據(jù)處理方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著現(xiàn)代社會(huì)和科技的高速發(fā)展,線上審批已經(jīng)成為各個(gè)企業(yè)、組織或部門不可或缺的管理方式之一。線上審批是指審批人在線上提出審批申請(qǐng),然后審核人在線上對(duì)審批人的審批申請(qǐng)進(jìn)行審批,不再需要審批人現(xiàn)場找審核人審核,可以節(jié)省大量的人力與時(shí)間。
2、但是現(xiàn)有的線上審批通常采用中心化的審批流系統(tǒng),即審批流系統(tǒng)的服務(wù)通常部署在單一的中心服務(wù)器或者平臺(tái)。一旦審批流系統(tǒng)依賴的中心服務(wù)器或者平臺(tái)出現(xiàn)故障或者被攻擊,就可能出現(xiàn)審批流程卡頓、審批數(shù)據(jù)被篡改等問題,因此,現(xiàn)有線上審批的安全性較低。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例提供了一種基于區(qū)塊鏈的數(shù)據(jù)處理方法、裝置、設(shè)備及可讀存儲(chǔ)介質(zhì),可以提高線上審批的安全性和容錯(cuò)性。
2、本技術(shù)實(shí)施例一方面提供了一種基于區(qū)塊鏈的數(shù)據(jù)處理方法,包括:
3、接收審批申請(qǐng)對(duì)象發(fā)送的審批申請(qǐng)交易;審批申請(qǐng)交易包含審批申請(qǐng)信息;
4、根據(jù)審批申請(qǐng)交易調(diào)用審批申請(qǐng)?zhí)幚砗霞s,通過審批申請(qǐng)?zhí)幚砗霞s為審批申請(qǐng)信息生成目標(biāo)審批申請(qǐng)信息標(biāo)識(shí),將目標(biāo)審批申請(qǐng)信息標(biāo)識(shí)、審批申請(qǐng)信息以及正在審批狀態(tài)存儲(chǔ)至目標(biāo)審批申請(qǐng)信息存儲(chǔ)空間;
5、通過審批申請(qǐng)?zhí)幚砗霞s向m個(gè)審批節(jié)點(diǎn)發(fā)送針對(duì)審批申請(qǐng)信息的審批通知;m為正整數(shù);
6、當(dāng)接收到m個(gè)審批節(jié)點(diǎn)分別根據(jù)審批通知生成的節(jié)點(diǎn)審批結(jié)果時(shí),根據(jù)m個(gè)節(jié)點(diǎn)審批結(jié)果對(duì)目標(biāo)審批信息存儲(chǔ)空間中的正在審批狀態(tài)進(jìn)行審批狀態(tài)更新處理。
7、本技術(shù)實(shí)施例一方面提供了一種基于區(qū)塊鏈的數(shù)據(jù)處理裝置,包括:
8、接收模塊,用于接收審批申請(qǐng)對(duì)象發(fā)送的審批申請(qǐng)交易;審批申請(qǐng)交易包含審批申請(qǐng)信息;
9、生成模塊,用于根據(jù)審批申請(qǐng)交易調(diào)用審批申請(qǐng)?zhí)幚砗霞s,通過審批申請(qǐng)?zhí)幚砗霞s為審批申請(qǐng)信息生成目標(biāo)審批申請(qǐng)信息標(biāo)識(shí);
10、存儲(chǔ)模塊,用于將目標(biāo)審批申請(qǐng)信息標(biāo)識(shí)、審批申請(qǐng)信息以及正在審批狀態(tài)存儲(chǔ)至目標(biāo)審批申請(qǐng)信息存儲(chǔ)空間;
11、通知模塊,用于通過審批申請(qǐng)?zhí)幚砗霞s向m個(gè)審批節(jié)點(diǎn)發(fā)送針對(duì)審批申請(qǐng)信息的審批通知;m為正整數(shù);
12、更新模塊,用于當(dāng)接收到m個(gè)審批節(jié)點(diǎn)分別根據(jù)審批通知生成的節(jié)點(diǎn)審批結(jié)果時(shí),根據(jù)m個(gè)節(jié)點(diǎn)審批結(jié)果對(duì)目標(biāo)審批信息存儲(chǔ)空間中的正在審批狀態(tài)進(jìn)行審批狀態(tài)更新處理。
13、其中,生成模塊,包括:
14、時(shí)間獲取單元,用于根據(jù)審批申請(qǐng)交易調(diào)用審批申請(qǐng)?zhí)幚砗霞s,通過審批申請(qǐng)?zhí)幚砗霞s獲取系統(tǒng)時(shí)間對(duì)應(yīng)的系統(tǒng)時(shí)間戳;
15、拼接單元,用于將審批申請(qǐng)對(duì)象標(biāo)識(shí)與系統(tǒng)時(shí)間戳進(jìn)行拼接處理,得到目標(biāo)審批申請(qǐng)信息標(biāo)識(shí)。
16、其中,審批申請(qǐng)信息包含目標(biāo)審批申請(qǐng)信息類型;
17、通知模塊,包括:
18、列表獲取單元,用于通過審批申請(qǐng)?zhí)幚砗霞s獲取審批節(jié)點(diǎn)標(biāo)識(shí)列表;審批節(jié)點(diǎn)標(biāo)識(shí)列表包含一個(gè)或多個(gè)審批節(jié)點(diǎn)標(biāo)識(shí)以及每個(gè)審批節(jié)點(diǎn)標(biāo)識(shí)分別關(guān)聯(lián)的審批申請(qǐng)信息類型;一個(gè)審批節(jié)點(diǎn)標(biāo)識(shí)是指一個(gè)具有審批權(quán)限的審批節(jié)點(diǎn)對(duì)應(yīng)的節(jié)點(diǎn)標(biāo)識(shí);
19、標(biāo)識(shí)獲取單元,用于從審批節(jié)點(diǎn)標(biāo)識(shí)列表中,獲取m個(gè)審批節(jié)點(diǎn)標(biāo)識(shí);m個(gè)審批節(jié)點(diǎn)標(biāo)識(shí)分別關(guān)聯(lián)的審批申請(qǐng)信息類型均包含目標(biāo)審批申請(qǐng)信息類型;
20、發(fā)送單元,用于將m個(gè)審批節(jié)點(diǎn)標(biāo)識(shí)分別關(guān)聯(lián)的審批節(jié)點(diǎn)確定為m個(gè)審批節(jié)點(diǎn),向m個(gè)審批節(jié)點(diǎn)發(fā)送針對(duì)審批申請(qǐng)信息的審批通知。
21、其中,更新模塊,包括:
22、數(shù)量確定單元,用于根據(jù)m個(gè)節(jié)點(diǎn)審批結(jié)果,確定針對(duì)審批申請(qǐng)信息的審批通過結(jié)果數(shù)量和審批反對(duì)結(jié)果數(shù)量;
23、通過處理單元,用于若審批通過結(jié)果數(shù)量大于或等于第一投票閾值,則將目標(biāo)審批信息存儲(chǔ)空間中的正在審批狀態(tài)更新為審批通過狀態(tài);
24、反對(duì)處理單元,用于若審批反對(duì)結(jié)果數(shù)量大于第二投票閾值,則將目標(biāo)審批信息存儲(chǔ)空間中的正在審批狀態(tài)更新為審批不通過狀態(tài)。
25、其中,審批申請(qǐng)信息包含目標(biāo)審批申請(qǐng)信息類型;
26、通知模塊,包括:
27、優(yōu)先級(jí)獲取單元,用于通過審批申請(qǐng)?zhí)幚砗霞s獲取目標(biāo)審批申請(qǐng)信息類型關(guān)聯(lián)的節(jié)點(diǎn)審批優(yōu)先級(jí)列表;節(jié)點(diǎn)審批優(yōu)先級(jí)列表包含m個(gè)審批節(jié)點(diǎn)標(biāo)識(shí)以及m個(gè)審批節(jié)點(diǎn)標(biāo)識(shí)分別對(duì)應(yīng)的審批優(yōu)先級(jí);
28、遍歷單元,用于根據(jù)m個(gè)審批節(jié)點(diǎn)標(biāo)識(shí)分別對(duì)應(yīng)的審批優(yōu)先級(jí)遍歷節(jié)點(diǎn)審批順序列表,獲取第i個(gè)審批節(jié)點(diǎn)標(biāo)識(shí);第i個(gè)審批節(jié)點(diǎn)標(biāo)識(shí)對(duì)應(yīng)的審批優(yōu)先級(jí)小于第i-1個(gè)審批節(jié)點(diǎn)標(biāo)識(shí)對(duì)應(yīng)的審批優(yōu)先級(jí);i為小于或等于m的正整數(shù);
29、遍歷單元,還用于向第i個(gè)審批節(jié)點(diǎn)標(biāo)識(shí)對(duì)應(yīng)的審批節(jié)點(diǎn)發(fā)送針對(duì)審批申請(qǐng)信息的審批通知,以使第i個(gè)審批節(jié)點(diǎn)標(biāo)識(shí)對(duì)應(yīng)的審批節(jié)點(diǎn)根據(jù)審批通知對(duì)審批申請(qǐng)信息進(jìn)行審批處理,得到第i個(gè)審批結(jié)果;
30、遍歷單元,還用于當(dāng)確定第i個(gè)審批結(jié)果為審批通過結(jié)果時(shí),繼續(xù)獲取第i+1個(gè)審批節(jié)點(diǎn)標(biāo)識(shí),直至向m個(gè)審批節(jié)點(diǎn)均發(fā)送針對(duì)審批申請(qǐng)信息的審批通知。
31、其中,上述數(shù)據(jù)處理裝置,還包括:
32、遍歷停止模塊,用于當(dāng)確定第i個(gè)審批結(jié)果為審批不通過結(jié)果時(shí),停止遍歷節(jié)點(diǎn)審批順序列表;
33、遍歷停止模塊,還用于將標(biāo)審批信息存儲(chǔ)空間中的正在審批狀態(tài)更新為審批不通過狀態(tài),根據(jù)審批不通過狀態(tài)和第i個(gè)審批結(jié)果生成審批失敗提示信息,將審批失敗提示信息發(fā)送給審批申請(qǐng)對(duì)象。
34、其中,目標(biāo)審批申請(qǐng)信息存儲(chǔ)空間包含空間標(biāo)識(shí)字段、審批申請(qǐng)信息字段和審批狀態(tài)字段;
35、存儲(chǔ)模塊,包括:
36、第一寫入單元,用于將目標(biāo)審批申請(qǐng)信息標(biāo)識(shí)寫入空間標(biāo)識(shí)字段;
37、第二寫入單元,用于將審批信息字段寫入審批申請(qǐng)信息字段;
38、第三寫入單元,用于將正在審批狀態(tài)存儲(chǔ)至審批狀態(tài)字段。
39、其中,目標(biāo)審批申請(qǐng)信息存儲(chǔ)空間還包括審批結(jié)果記錄字段;
40、上述數(shù)據(jù)處理裝置,還包括:
41、字段創(chuàng)建模塊,用于在審批結(jié)果記錄字段中,創(chuàng)建m個(gè)節(jié)點(diǎn)審批結(jié)果記錄子字段;
42、結(jié)果記錄模塊,用于遍歷m個(gè)節(jié)點(diǎn)審批結(jié)果,獲取第k個(gè)節(jié)點(diǎn)審批結(jié)果;k為小于m的正整數(shù);
43、結(jié)果記錄模塊,還用于將第k個(gè)節(jié)點(diǎn)審批結(jié)果以及第k個(gè)節(jié)點(diǎn)審批結(jié)果關(guān)聯(lián)的審批對(duì)象信息寫入審批結(jié)果記錄字段中的第k個(gè)節(jié)點(diǎn)審批結(jié)果記錄子字段;第k個(gè)節(jié)點(diǎn)審批結(jié)果關(guān)聯(lián)的審批對(duì)象信息是指生成第k個(gè)節(jié)點(diǎn)審批結(jié)果的審批節(jié)點(diǎn)對(duì)應(yīng)的審批對(duì)象的對(duì)象信息。
44、其中,審批申請(qǐng)信息包含審批申請(qǐng)對(duì)象對(duì)應(yīng)的審批申請(qǐng)對(duì)象信息;
45、上述數(shù)據(jù)處理裝置,還包括:
46、查詢模塊,用于接收審批查詢對(duì)象發(fā)送的審批查詢請(qǐng)求;審批查詢請(qǐng)求包含目標(biāo)審批申請(qǐng)信息標(biāo)識(shí)和審批查詢對(duì)象信息;
47、查詢模塊,還用于根據(jù)審批查詢請(qǐng)求中包含的目標(biāo)審批申請(qǐng)信息標(biāo)識(shí),從審批申請(qǐng)?zhí)幚砗霞s中獲取目標(biāo)審批信息存儲(chǔ)空間;
48、查詢模塊,還用于若目標(biāo)審批信息存儲(chǔ)空間中存儲(chǔ)的審批申請(qǐng)對(duì)象信息和審批查詢對(duì)象信息相同,則將目標(biāo)審批信息存儲(chǔ)空間中存儲(chǔ)的審批狀態(tài)發(fā)送給審批查詢對(duì)象。
49、其中,上述數(shù)據(jù)處理裝置,還包括:
50、簽名驗(yàn)證模塊,用于獲取審批申請(qǐng)交易關(guān)聯(lián)的簽名數(shù)據(jù);
51、簽名驗(yàn)證模塊,還用于獲取審批申請(qǐng)對(duì)象的公鑰,通過公鑰驗(yàn)證簽名數(shù)據(jù),得到簽名驗(yàn)證結(jié)果;
52、簽名驗(yàn)證模塊,還用于若簽名驗(yàn)證結(jié)果為驗(yàn)簽成功,則執(zhí)行根據(jù)審批申請(qǐng)交易調(diào)用審批申請(qǐng)?zhí)幚砗霞s,通過審批申請(qǐng)?zhí)幚砗霞s為審批申請(qǐng)信息生成目標(biāo)審批申請(qǐng)信息標(biāo)識(shí)的步驟;屬于驗(yàn)簽成功的簽名數(shù)據(jù),是由審批申請(qǐng)對(duì)象所擁有的私鑰對(duì)審批申請(qǐng)交易進(jìn)行簽名得到的;
53、簽名驗(yàn)證模塊,還用于若簽名驗(yàn)證結(jié)果為驗(yàn)簽失敗,則向?qū)徟暾?qǐng)對(duì)象發(fā)送審批申請(qǐng)錯(cuò)誤提示信息。
54、其中,審批申請(qǐng)信息包含審批申請(qǐng)對(duì)象信息和目標(biāo)審批申請(qǐng)信息類型;
55、上述數(shù)據(jù)處理裝置,還包括:
56、權(quán)限驗(yàn)證模塊,用于根據(jù)審批申請(qǐng)交易調(diào)用審批申請(qǐng)?zhí)幚砗霞s中的授權(quán)申請(qǐng)對(duì)象集合;授權(quán)申請(qǐng)對(duì)象集合包含至少兩個(gè)授權(quán)申請(qǐng)對(duì)象的授權(quán)對(duì)象信息以及每個(gè)授權(quán)申請(qǐng)對(duì)象關(guān)聯(lián)的授權(quán)申請(qǐng)信息類型;
57、權(quán)限驗(yàn)證模塊,還用于根據(jù)審批申請(qǐng)對(duì)象信息對(duì)授權(quán)申請(qǐng)對(duì)象集合進(jìn)行遍歷;
58、權(quán)限驗(yàn)證模塊,還用于若在授權(quán)申請(qǐng)對(duì)象集合中遍歷到與審批申請(qǐng)對(duì)象信息相同的授權(quán)對(duì)象信息,則獲取與審批申請(qǐng)對(duì)象信息相同的授權(quán)對(duì)象信息關(guān)聯(lián)的授權(quán)申請(qǐng)信息類型,作為待比對(duì)授權(quán)申請(qǐng)信息類型;
59、權(quán)限驗(yàn)證模塊,還用于若待比對(duì)授權(quán)申請(qǐng)信息類型包含目標(biāo)審批申請(qǐng)信息類型,則執(zhí)行根據(jù)審批申請(qǐng)交易調(diào)用審批申請(qǐng)?zhí)幚砗霞s,通過審批申請(qǐng)?zhí)幚砗霞s為審批申請(qǐng)信息生成目標(biāo)審批申請(qǐng)信息標(biāo)識(shí)的步驟;
60、權(quán)限驗(yàn)證模塊,還用于若待比對(duì)授權(quán)申請(qǐng)信息類型未包含目標(biāo)審批申請(qǐng)信息類型,則向?qū)徟暾?qǐng)對(duì)象發(fā)送權(quán)限錯(cuò)誤提示信息。
61、本技術(shù)實(shí)施例一方面提供了一種計(jì)算機(jī)設(shè)備,包括:處理器、存儲(chǔ)器、網(wǎng)絡(luò)接口;
62、上述處理器與上述存儲(chǔ)器、上述網(wǎng)絡(luò)接口相連,其中,上述網(wǎng)絡(luò)接口用于提供數(shù)據(jù)通信網(wǎng)元,上述存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序,上述處理器用于調(diào)用上述計(jì)算機(jī)程序,以執(zhí)行本技術(shù)實(shí)施例中的方法。
63、本技術(shù)實(shí)施例一方面提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),上述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,上述計(jì)算機(jī)程序適于由處理器加載并執(zhí)行本技術(shù)實(shí)施例中的方法。
64、本技術(shù)實(shí)施例一方面提供了一種計(jì)算機(jī)程序產(chǎn)品或計(jì)算機(jī)程序,該計(jì)算機(jī)程序產(chǎn)品或計(jì)算機(jī)程序包括計(jì)算機(jī)指令,該計(jì)算機(jī)指令存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,計(jì)算機(jī)設(shè)備的處理器從計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)讀取該計(jì)算機(jī)指令,處理器執(zhí)行該計(jì)算機(jī)指令,使得該計(jì)算機(jī)設(shè)備執(zhí)行本技術(shù)實(shí)施例中的方法。
65、本技術(shù)實(shí)施例中,接收審批申請(qǐng)對(duì)象發(fā)送的審批申請(qǐng)交易,該審批申請(qǐng)交易包含審批申請(qǐng)信息;然后根據(jù)審批申請(qǐng)交易調(diào)用審批申請(qǐng)?zhí)幚砗霞s,通過審批申請(qǐng)?zhí)幚砗霞s為審批申請(qǐng)信息生成目標(biāo)審批申請(qǐng)信息標(biāo)識(shí),將目標(biāo)審批申請(qǐng)信息標(biāo)識(shí)、審批申請(qǐng)信息以及正在審批狀態(tài)存儲(chǔ)至目標(biāo)審批申請(qǐng)信息存儲(chǔ)空間;然后通過審批申請(qǐng)?zhí)幚砗霞s向m個(gè)審批節(jié)點(diǎn)發(fā)送針對(duì)審批申請(qǐng)信息的審批通知,m為正整數(shù);當(dāng)接收到m個(gè)審批節(jié)點(diǎn)分別根據(jù)審批通知生成的節(jié)點(diǎn)審批結(jié)果時(shí),根據(jù)m個(gè)節(jié)點(diǎn)審批結(jié)果對(duì)目標(biāo)審批信息存儲(chǔ)空間中的正在審批狀態(tài)進(jìn)行審批狀態(tài)更新處理。通過本技術(shù)實(shí)施例提供的方法,所有審批數(shù)據(jù)將被記錄在不可篡改的區(qū)塊鏈中,確保審批流程的透明度和可信度,而且不會(huì)因?yàn)閱蝹€(gè)節(jié)點(diǎn)的故障影響整個(gè)審批流程,從而提高了線上審批的安全性和容錯(cuò)性。