[發明專利]一種基于區塊鏈的燃氣巡檢數據上鏈系統及其使用方法有效
| 申請號: | 201911378640.5 | 申請日: | 2019-12-27 |
| 公開(公告)號: | CN111125787B | 公開(公告)日: | 2022-04-22 |
| 發明(設計)人: | 高墀煒;于歡;夏文杰 | 申請(專利權)人: | 上海共鏈信息科技有限公司 |
| 主分類號: | G06F21/64 | 分類號: | G06F21/64;G06F16/27;G06F16/23;G06F16/245;G06Q50/06 |
| 代理公司: | 上海創開專利代理事務所(普通合伙) 31374 | 代理人: | 汪發成 |
| 地址: | 200333 上海市普陀*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 區塊 燃氣 巡檢 數據 系統 及其 使用方法 | ||
1.一種基于區塊鏈的燃氣巡檢數據上鏈系統,其特征在于,包括賬戶管理模塊、業務處理模塊、數據上鏈模塊、上鏈結果確認模塊、上鏈證據展示模塊、校驗模塊、檢索模塊、智能合約模塊,其中:
所述賬戶管理模塊用于實現傳統燃氣巡檢平臺賬戶與區塊鏈賬戶的映射,給每一個需要與區塊鏈交互的傳統燃氣巡檢平臺賬戶都建立一個區塊鏈賬戶,每一所述區塊鏈賬戶包括一個賬戶地址和一對公私鑰;
所述業務處理模塊是巡檢數據上鏈的接入層,傳統的燃氣巡檢平臺將巡檢數據封裝成數據包發送給業務處理模塊請求上鏈,業務處理模塊接收需要上鏈的巡檢數據包,計算巡檢數據包的存證哈希值,將巡檢數據包和其存證哈希值存入數據庫,將巡檢數據包中的數據包編號、設備編號、存證哈希值、賬戶信息封裝成上鏈消息發送到數據上鏈模塊的待上鏈消息隊列中;
所述數據上鏈模塊從待上鏈消息隊列中讀取待上鏈消息,從所述賬戶管理模塊驗證賬戶的身份,驗證通過后使用賬戶的區塊鏈私鑰對上鏈數據進行簽名,將簽名過的數據封裝成區塊鏈智能合約交易,發送到區塊鏈節點中等待區塊鏈節點處理上鏈交易,將區塊鏈節點返回的交易哈希值寫入上鏈結果確認模塊的待確認交易消息隊列中,并將交易哈希值寫入巡檢數據包對應的數據庫記錄中;
所述上鏈結果確認模塊從待確認交易消息隊列中讀取待確認交易哈希值,定期從區塊鏈節點獲取交易的處理結果,直到取到交易處理結果后結束,并將交易執行結果、交易所在的區塊號、交易處理時間信息寫入巡檢數據包對應的數據庫記錄中,供上鏈證據展示模塊使用;
所述上鏈證據展示模塊提供巡檢數據的上鏈存證信息,對于沒有提交交易到區塊鏈節點的記錄,返回數據待處理;將已經提交交易到區塊鏈節點,但交易還未被處理的記錄,顯示數據等待上鏈,并將上鏈交易哈希值一并返回;將已經寫入區塊鏈賬本中的記錄提供巡檢數據區塊鏈存證證書,證書中展示的數據包括設備編號,上鏈交易哈希值,交易處理時間,巡檢上報人,巡檢信息;
所述校驗模塊校驗巡檢數據包是否被篡改,先計算巡檢數據包的哈希值,然后比較哈希值與鏈上獲取的存證哈希值是否一致,一致則說明巡檢數據包沒有篡改,否則則說明數據被篡改;
所述檢索模塊提供巡檢記錄的查詢功能,傳統的燃氣巡檢平臺將查詢條件提供給檢索模塊,支持多種查詢條件;檢索模塊調用區塊鏈檢索接口,檢索區塊鏈上滿足查詢條件的所有鏈上巡檢記錄,遍歷所有的鏈上巡檢記錄,根據上鏈交易哈希值從數據庫獲取巡檢數據包,調用校驗模塊校驗巡檢數據包是否被篡改,若被篡改標記篡改狀態;將所有巡檢記錄的巡檢數據包,篡改狀態,上鏈交易哈希值返回給傳統的燃氣巡檢平臺進行展示;
所述智能合約模塊用于將巡檢上鏈數據存儲到區塊鏈賬本中,通過智能合約模塊接收巡檢上鏈數據,并將巡檢上鏈數據以事件日志的形式存儲到區塊鏈賬本;支持檢索指定設備的所有巡檢上鏈記錄、檢索指定巡檢人的所有巡檢上鏈記錄、檢索所有的巡檢上鏈記錄、檢索指定巡檢人巡檢指定設備的所有巡檢上鏈記錄的多種數據查詢功能;
所述傳統的燃氣巡檢平臺是本發明的應用對接平臺。
2.根據權利要求1所述的一種基于區塊鏈的燃氣巡檢數據上鏈系統,其特征在于,所述巡檢數據包包括數據包編號、設備編號、上報人信息、巡檢信息;為了提升效率,巡檢數據包上鏈是異步操作;其中,數據包編號用于上鏈記錄與傳統的燃氣巡檢平臺的巡檢數據進行映射;其中巡檢信息可分為隱患信息,隱患處理信息,工地跟蹤信息。
3.根據權利要求1所述的一種基于區塊鏈的燃氣巡檢數據上鏈系統,其特征在于,所述多種查詢條件包括:查詢指定設備的巡檢記錄、查詢某個人員的巡檢記錄、查詢有問題設備的巡檢記錄。
4.根據權利要求1所述的一種基于區塊鏈的燃氣巡檢數據上鏈系統,其特征在于,每一條所述鏈上巡檢記錄包括巡檢人、設備編號、存證哈希值、上鏈交易哈希值。
5.根據權利要求1所述的一種基于區塊鏈的燃氣巡檢數據上鏈系統,其特征在于,所述上鏈數據包括設備編號,巡檢人,巡檢數據存證哈希值。
6.如權利要求1—5任一項所述的一種基于區塊鏈的燃氣巡檢數據上鏈系統的使用方法,其特征在于,包括整體使用步驟、區塊鏈環境搭建的主要步驟、巡檢數據上鏈的主要步驟、查詢巡檢數據上鏈狀態的主要步驟、查詢巡檢記錄的主要步驟;其中,整體使用步驟具體如下:
S1、由巡檢部門節點、維修部門節點、監督部門節點、第三方機構節點以及其他部門節點組成的各燃氣巡檢相關部門搭建區塊鏈聯盟網絡;
S2、在區塊鏈網絡中部署燃氣巡檢數據上鏈的智能合約,將智能合約地址提供給數據上鏈模塊和檢索模塊使用;
S3、賬戶管理模塊對傳統燃氣巡檢平臺的賬戶生成區塊鏈賬戶映射,區塊鏈賬戶包括一個賬戶地址和一對公私鑰;
S4、巡檢人員通過傳統燃氣巡檢平臺上傳巡檢數據,傳統燃氣巡檢平臺將巡檢數據封裝成數據包發送給業務處理模塊;巡檢數據包包括設備編號、上報人信息、巡檢信息,其中巡檢信息可分為隱患信息,隱患處理信息,工地跟蹤信息;
S5、業務處理模塊接收需要上鏈的巡檢數據包,計算巡檢數據包的存證哈希值,將巡檢數據包和其存證哈希值存入數據庫,將巡檢數據包中的設備編號、存證哈希值、賬戶信息封裝成上鏈消息發送給數據上鏈模塊;
S6、數據上鏈模塊將需要上鏈的巡檢數據用賬戶對應的私鑰進行簽名,將簽名過的數據封裝成區塊鏈智能合約交易,發送到區塊鏈節點中等待區塊鏈節點處理上鏈交易;將區塊鏈節點返回的交易哈希值發送給上鏈結果確認模塊,并將交易哈希值寫入巡檢數據包對應的數據庫記錄中;
S7、區塊鏈節點接收交易后,檢驗交易的有效,包括交易簽名的驗證,交易是否被篡改,將驗證通過的交易進行全網廣播;
S8、區塊鏈記賬節點處理交易,調用智能合約模塊執行智能合約,將巡檢上鏈數據存儲到區塊鏈賬本中,并全網廣播,達成共識;
S9、上鏈結果確認模塊獲取交易的鏈上處理結果,將鏈上處理結果寫入數據庫,鏈上處理結果包括區塊號、交易處理時間;
S10、傳統燃氣巡檢平臺調用上鏈證據展示模塊獲取巡檢數據上鏈區塊鏈存證證書,以證明巡檢數據已經上鏈;
S11、巡檢人員和管理員的用戶查看巡檢記錄時,傳統燃氣巡檢平臺調用檢索模塊獲取滿足條件的鏈上巡檢記錄;
S12、檢索模塊從區塊鏈節點中獲取滿足條件的鏈上巡檢記錄,根據鏈上巡檢記錄中的交易哈希值從數據庫獲取巡檢數據包,并調用校驗模塊校驗數據庫中的巡檢數據包是否被篡改,若未篡改進入步驟S13,否則進入步驟S14;
S13、將所有取到的巡檢數據包返回給傳統燃氣巡檢平臺,傳統燃氣巡檢平臺將數據展示給查詢人員;
S14、將所有取到的巡檢數據包以及數據的篡改狀態返回給傳統燃氣巡檢平臺,傳統燃氣巡檢平臺顯示出數據被篡改的告警;
所述區塊鏈環境搭建的主要步驟如下:
S101、給每個參與機構創建各自的管理區塊鏈節點的賬戶;
S102、各個參與機構啟動一個或多個區塊鏈節點,并互相授權進行連接;
S103、設置允許記賬的節點權限;
S104、有權限記賬的節點使用S101創建的管理賬戶進行記賬;
S105、部署巡檢數據上鏈的智能合約,將智能合約地址提供給數據上鏈模塊和檢索模塊;
所述巡檢數據上鏈的主要步驟如下:
S201:巡檢人員對設備進行檢查;
S202:巡檢人員在傳統的燃氣巡檢平臺上上傳設備的巡檢結果;
S203:傳統的燃氣巡檢平臺將巡檢人、設備編號、巡檢時間、巡檢結果信息封裝成巡檢數據包,加上數據包編號發送到業務數據處理模塊;
S204:業務處理模塊接收需要上鏈的巡檢數據包,計算巡檢數據包的存證哈希值,將巡檢數據包和其存證哈希值存入數據庫;
S205:業務處理模塊將巡檢數據包中的數據包編號、設備編號、哈希值、賬戶信息封裝成上鏈消息發送到數據上鏈模塊的待上鏈消息隊列中
S206:數據上鏈模塊從待上鏈消息隊列中讀取待上鏈消息,調用賬戶管理模塊驗證賬戶的身份;
S207:身份驗證失敗進入S208,成功進入S209;
S208:將失敗原因寫入巡檢數據包對應的數據庫記錄中,結束數據上鏈處理;
S209:使用賬戶的區塊鏈私鑰對上鏈數據進行簽名,將簽名過的數據封裝成區塊鏈智能合約交易,發送到區塊鏈節點中,將區塊鏈節點返回的交易哈希值寫入上鏈結果確認模塊的待確認交易消息隊列中,并將交易哈希值寫入巡檢數據包對應的數據庫記錄中;
S210:區塊鏈節點接收交易后,檢驗交易的有效,包括交易簽名的驗證,交易是否被篡改,將驗證通過的交易進行全網廣播;
S211:區塊鏈記賬節點處理有效的交易,調用智能合約模塊執行智能合約,將巡檢上鏈數據存儲到區塊鏈賬本中,并全網廣播,達成共識;
S212:上鏈結果確認模塊從待確認交易消息隊列中讀取待確認交易哈希值,定期從區塊鏈節點獲取交易的處理結果,直到取到交易處理結果后結束,并將交易執行結果、交易所在的區塊號、交易處理時間信息寫入巡檢數據包對應的數據庫記錄中,供上鏈證據展示模塊使用;
所述查詢巡檢數據上鏈狀態的主要步驟如下:
S301:巡檢人員在傳統的燃氣巡檢平臺上查詢已經提交的巡檢記錄的上鏈結果;
S302:傳統的燃氣巡檢平臺將巡檢記錄對應的數據包編號發送給上鏈證據展示模塊;
S303:上鏈證據展示模塊根據數據包編號從數據庫查詢交易哈希值、交易處理結果;
S304:若交易哈希值未取到,進入S305,否則進入S309;
S305:從數據上鏈模塊的待上鏈消息隊列查找是否有數據包編號對應的消息;
S306:待上鏈消息隊列未找到對應的消息進入S307,否則進入S308;
S307:返回數據未上鏈,請重新上鏈;
S308:返回數據等待處理;
S309:交易處理結果未取到,進入S310,否則進入S311;
S310:返回數據上鏈交易已經提交,等待處理;
S311:返回巡檢數據區塊鏈存證證書,證書中展示的數據包括設備編號,上鏈交易哈希值,交易處理時間,巡檢上報人,巡檢信息;
所述查詢巡檢記錄的主要步驟如下:
S401:巡檢人員、管理人員或者巡檢計劃制定人員通過傳統的燃氣巡檢平臺查詢巡檢記錄,可以查詢某個設備的巡檢記錄,查詢某個人員的巡檢記錄,查詢有問題的設備的巡檢記錄支持多種條件進行巡檢記錄的查詢;
S402:傳統的燃氣巡檢平臺將查詢條件發送給檢索模塊;
S403:檢索模塊調用區塊鏈檢索接口,檢索區塊鏈上滿足查詢條件的所有鏈上巡檢記錄,每一條巡檢記錄包括巡檢人、設備編號、存證哈希值、上鏈交易哈希值;
S404:遍歷查詢到的所有鏈上巡檢記錄;
S405:根據上鏈交易哈希值從數據庫獲取巡檢數據包;
S406:調用校驗模塊檢查數據是否被篡改;
S407:校驗模塊計算從數據庫獲取的巡檢數據包的哈希值,與鏈上獲取的巡檢記錄中的存證哈希值進行比較,若不一致,標記數據被篡改;一致則說明數據沒有篡改;
S408:檢索模塊將數據庫獲取的巡檢數據包和數據篡改狀態加入巡檢記錄列表中;
S409:鏈上巡檢記錄是否遍歷結束,遍歷結束進入S410,否則進入S404繼續遍歷;
S410:將巡檢記錄列表返回給傳統燃氣巡檢平臺。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海共鏈信息科技有限公司,未經上海共鏈信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911378640.5/1.html,轉載請聲明來源鉆瓜專利網。





