本發(fā)明涉及區(qū)塊鏈,特別涉及基于區(qū)塊鏈網(wǎng)絡(luò)的可視化部署方法及系統(tǒng)。
背景技術(shù):
1、隨著區(qū)塊鏈技術(shù)的迅猛發(fā)展,越來越多的企業(yè)和組織開始應(yīng)用區(qū)塊鏈技術(shù)構(gòu)建聯(lián)盟鏈網(wǎng)絡(luò),以實現(xiàn)數(shù)據(jù)的共享與安全管理。區(qū)塊鏈技術(shù)包含了密碼學、分布式系統(tǒng)、共識機制、智能合約、數(shù)據(jù)結(jié)構(gòu)、網(wǎng)絡(luò)技術(shù)、隱私保護技術(shù)、跨鏈技術(shù)和擴容技術(shù)等多種關(guān)鍵技術(shù),
2、然而現(xiàn)有的區(qū)塊鏈網(wǎng)絡(luò)部署與管理過程復雜,涉及多個步驟和技術(shù)細節(jié),尤其是基于hyperledger?fabric等復雜架構(gòu)的聯(lián)盟鏈網(wǎng)絡(luò),配置和部署需要專業(yè)的技術(shù)知識,普通用戶難以上手。部署聯(lián)盟鏈網(wǎng)絡(luò)需要手動編輯多個配置文件,過程繁瑣且容易出錯;且缺乏統(tǒng)一的圖形化界面,用戶難以直觀地管理和監(jiān)控區(qū)塊鏈網(wǎng)絡(luò);現(xiàn)有部署方法未能根據(jù)實際主機資源情況動態(tài)調(diào)整配置,導致資源利用率低下。
技術(shù)實現(xiàn)思路
1、本發(fā)明的發(fā)明目的在于:針對上述存在的問題,提供基于區(qū)塊鏈網(wǎng)絡(luò)的可視化部署方法及系統(tǒng),期望改善:現(xiàn)有區(qū)塊鏈網(wǎng)絡(luò)部署流程復雜,且操作門檻高,普通用戶難以上手;網(wǎng)絡(luò)部署配置未能根據(jù)主機資源使用情況進行動態(tài)調(diào)整,導致資源浪費或性能不足。
2、本發(fā)明采用的技術(shù)方案如下:基于區(qū)塊鏈網(wǎng)絡(luò)的可視化部署系統(tǒng),所述系統(tǒng)集成了統(tǒng)一的圖形化界面,包括如下模塊:主機管理模塊,管理服務(wù)器資源,設(shè)置有編輯功能,用戶能夠通過圖形化界面對服務(wù)器資源進行添加、刪除和配置操作;組織管理模塊,管理參與方的組織信息,并創(chuàng)建新組織;網(wǎng)絡(luò)部署模塊,設(shè)置組織數(shù)量和背書節(jié)點數(shù),上傳部署配置并自動生成部署腳本,執(zhí)行部署過程,智能合約管理模塊,用于上傳、安裝、升級和實例化合約;運維監(jiān)控模塊,用于實時監(jiān)控區(qū)塊鏈網(wǎng)絡(luò)的運行指標和設(shè)置報警機制,包括網(wǎng)絡(luò)狀態(tài)、節(jié)點性能和交易吞吐量;其中,主機管理模塊為組織管理模塊提供底層服務(wù)器資源,網(wǎng)絡(luò)部署模塊在主機模塊提供的服務(wù)器上部署區(qū)塊鏈網(wǎng)絡(luò);組織管理模塊為網(wǎng)絡(luò)部署模塊提供組織信息,用戶在網(wǎng)絡(luò)部署模塊輸入部署參數(shù);網(wǎng)絡(luò)部署模塊接收用戶輸入的部署參數(shù),并為智能合約管理模塊提供區(qū)塊鏈網(wǎng)絡(luò),同時為運維監(jiān)控模塊提供網(wǎng)絡(luò)部署信息;運維監(jiān)控模塊實時監(jiān)控服務(wù)器、區(qū)塊鏈節(jié)點、交易智能合約管理模塊提供的智能合約運行狀態(tài)。
3、進一步的,所述網(wǎng)絡(luò)部署模塊根據(jù)組織管理模塊提供的組織信息配置區(qū)塊鏈網(wǎng)絡(luò),再通過主機管理模塊提供的服務(wù)器上部署區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,使區(qū)塊鏈網(wǎng)絡(luò)在部署時,智能合約能夠正確安裝和配置,且網(wǎng)絡(luò)部署模塊向運維監(jiān)控模塊提供網(wǎng)絡(luò)部署信息,實時監(jiān)控網(wǎng)絡(luò)狀態(tài)。
4、進一步的,基于區(qū)塊鏈網(wǎng)絡(luò)的可視化部署方法,所述方法包括如下步驟:獲取用戶輸入?yún)?shù):用戶通過所述網(wǎng)絡(luò)部署模塊界面表單輸入部署參數(shù),其中,部署參數(shù)包括參與網(wǎng)絡(luò)的組織和背書節(jié)點數(shù);分析主機資源使用情況:系統(tǒng)實時自動檢測當前主機的資源使用情況,包括:cpu使用率:用于衡量主機處理器當前的負載情況;內(nèi)存使用情況:用于顯示已用和可用的內(nèi)存量;存儲空間:評估硬盤或固態(tài)硬盤的剩余空間;修改代碼:根據(jù)用戶輸入的參數(shù)和系統(tǒng)分析的主機資源情況,系統(tǒng)動態(tài)修改部署代碼模板,生成部署配置文件,用于確保資源的高效利用;自動執(zhí)行部署:用戶通過圖形化界面完成所有配置后,系統(tǒng)自動生成并執(zhí)行部署腳本,完成區(qū)塊鏈網(wǎng)絡(luò)的搭建;運行監(jiān)控與報警:部署完成后,系統(tǒng)在運維監(jiān)控模塊中顯示網(wǎng)絡(luò)的運行狀態(tài)。
5、進一步的,所述獲取用戶輸入?yún)?shù)具體包括:在網(wǎng)絡(luò)管理頁面,用戶先點擊創(chuàng)建網(wǎng)絡(luò),然后出現(xiàn)一個表單,用戶根據(jù)需要輸入?yún)?shù),包括但不限于網(wǎng)絡(luò)名稱和網(wǎng)絡(luò)描述,通過多選下拉框選擇參與網(wǎng)絡(luò)的組織,背書節(jié)點數(shù)默認為二,用戶根據(jù)需要進行更改;其中,多選下拉框中參與網(wǎng)絡(luò)的組織已經(jīng)在組織管理頁面中添加。
6、進一步的,所述分析主機資源使用情況具體包括:用戶填寫好表單并提交后,服務(wù)端根據(jù)參與組織查詢各組織可用的主機得到主機列表,然后根據(jù)平臺預先指定的策略將各組織指定數(shù)量的背書節(jié)點分配在自己組織合適的主機上。
7、需要注意的是,主機列表包含了各主機cpu、內(nèi)存、硬盤等硬件資源的使用情況;分配是通過修改模板文件實現(xiàn),節(jié)點使用docker容器進行部署,為方便編排容器使用dockercompose,所謂的模板文件也是一個docker?compose文件,其中的容器名稱、ip地址、端口、msp等是缺省的,容器名稱即對應(yīng)節(jié)點的名稱。
8、進一步的,所述系統(tǒng)修改代碼首先根據(jù)組織數(shù)量和背書節(jié)點數(shù)生成相應(yīng)的配置文件,用這些配置文件定義網(wǎng)絡(luò)的結(jié)構(gòu)和節(jié)點配置;然后根據(jù)主機資源情況,動態(tài)調(diào)整每個節(jié)點的資源配額。
9、需要注意的是,資源配額如cpu和內(nèi)存限制等。
10、進一步的,所述執(zhí)行部署中的部署腳本包括:啟動容器,啟動區(qū)塊鏈節(jié)點和服務(wù);建立網(wǎng)絡(luò)連接,配置節(jié)點間的通信,使得數(shù)據(jù)能夠在網(wǎng)絡(luò)中傳輸;初始化區(qū)塊鏈,創(chuàng)建創(chuàng)世區(qū)塊,啟動共識機制,使網(wǎng)絡(luò)進入可操作狀態(tài);通過搭建好區(qū)塊鏈網(wǎng)絡(luò)的物理架構(gòu),為后續(xù)進行交易和數(shù)據(jù)處理搭好基礎(chǔ)。
11、進一步的,所述網(wǎng)絡(luò)的運行狀態(tài)包括:節(jié)點狀態(tài),顯示每個節(jié)點的在線和離線狀態(tài),以及潛在的錯誤或警告;交易吞吐量,監(jiān)控網(wǎng)絡(luò)處理交易的速度和效率;資源利用率,持續(xù)跟蹤cpu、內(nèi)存和存儲的使用情況,確保網(wǎng)絡(luò)性能穩(wěn)定。
12、進一步的,所述方法還包括安全與權(quán)限管理機制,采用傳輸層安全協(xié)議tls進行加密傳輸數(shù)據(jù),通過jwt認證及rbac權(quán)限管理,為區(qū)塊鏈網(wǎng)絡(luò)的通信安全和訪問控制提供保障。
13、需要注意的是,json?web?token(jwt)是一種基于token的認證授權(quán)機制,jwt自身包含了身份驗證所需要的所有信息,因此,服務(wù)器不需要存儲session信息。rbac為基于角色的權(quán)限管理。
14、進一步的,部署流程中,節(jié)點使用docker容器進行部署,當系統(tǒng)分配節(jié)點到主機后,服務(wù)端會根據(jù)各個主機的ip、端口、各組織域名信息,生成各節(jié)點的docker?compose文件,然后通使用這些docker?compose文件啟動各節(jié)點容器;節(jié)點容器啟動后需要通過shell腳本加入通道及設(shè)置錨節(jié)點,通過為腳本指定不同的參數(shù),將各節(jié)點加入通道中,并為每個組織設(shè)置錨節(jié)點。
15、綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:
16、本發(fā)明通過設(shè)置統(tǒng)一的圖形化界面,提供了包括主機管理、組織管理、網(wǎng)絡(luò)部署、智能合約管理、授權(quán)管理及運維監(jiān)控等模塊的統(tǒng)一圖形化界面,簡化了區(qū)塊鏈網(wǎng)絡(luò)的配置與管理流程,從而降低了系統(tǒng)的操作門檻,提升用戶體驗。
17、本發(fā)明通過設(shè)置自動化的部署流程和一鍵部署功能大幅縮短了區(qū)塊鏈網(wǎng)絡(luò)的搭建時間,提升了系統(tǒng)的整體效率,且根據(jù)主機資源使用情況動態(tài)調(diào)整部署配置,減少資源浪費,從而確保系統(tǒng)的高效運行。
1.基于區(qū)塊鏈網(wǎng)絡(luò)的可視化部署系統(tǒng),其特征在于,所述系統(tǒng)集成了統(tǒng)一的圖形化界面,包括如下模塊:
2.根據(jù)權(quán)利要求1所述的基于區(qū)塊鏈網(wǎng)絡(luò)的可視化部署系統(tǒng),其特征在于,所述網(wǎng)絡(luò)部署模塊根據(jù)組織管理模塊提供的組織信息配置區(qū)塊鏈網(wǎng)絡(luò),再通過主機管理模塊提供的服務(wù)器上部署區(qū)塊鏈網(wǎng)絡(luò)節(jié)點,使區(qū)塊鏈網(wǎng)絡(luò)在部署時,智能合約能夠正確安裝和配置,且網(wǎng)絡(luò)部署模塊向運維監(jiān)控模塊提供網(wǎng)絡(luò)部署信息,實時監(jiān)控網(wǎng)絡(luò)狀態(tài)。
3.基于區(qū)塊鏈網(wǎng)絡(luò)的可視化部署方法,使用權(quán)利要求1-2任意一項所述的基于區(qū)塊鏈網(wǎng)絡(luò)的可視化部署系統(tǒng),其特征在于,所述方法包括如下步驟:
4.根據(jù)權(quán)利要求3所述的基于區(qū)塊鏈網(wǎng)絡(luò)的可視化部署方法,其特征在于,所述獲取用戶輸入?yún)?shù)具體包括:在網(wǎng)絡(luò)管理頁面,用戶先點擊創(chuàng)建網(wǎng)絡(luò),然后出現(xiàn)一個表單,用戶根據(jù)需要輸入?yún)?shù),包括但不限于網(wǎng)絡(luò)名稱和網(wǎng)絡(luò)描述,通過多選下拉框選擇參與網(wǎng)絡(luò)的組織,背書節(jié)點數(shù)默認為二,用戶根據(jù)需要進行更改;
5.根據(jù)權(quán)利要求3所述的基于區(qū)塊鏈網(wǎng)絡(luò)的可視化部署方法,其特征在于,所述分析主機資源使用情況具體包括:用戶填寫好表單并提交后,服務(wù)端根據(jù)參與組織查詢各組織可用的主機得到主機列表,然后根據(jù)平臺預先指定的策略將各組織指定數(shù)量的背書節(jié)點分配在自己組織合適的主機上。
6.根據(jù)權(quán)利要求3所述的基于區(qū)塊鏈網(wǎng)絡(luò)的可視化部署方法,其特征在于,所述系統(tǒng)修改代碼首先根據(jù)組織數(shù)量和背書節(jié)點數(shù)生成相應(yīng)的配置文件,用這些配置文件定義網(wǎng)絡(luò)的結(jié)構(gòu)和節(jié)點配置;然后根據(jù)主機資源情況,動態(tài)調(diào)整每個節(jié)點的資源配額。
7.根據(jù)權(quán)利要求3所述的基于區(qū)塊鏈網(wǎng)絡(luò)的可視化部署方法,其特征在于,所述執(zhí)行部署中的部署腳本包括:
8.根據(jù)權(quán)利要求3所述的基于區(qū)塊鏈網(wǎng)絡(luò)的可視化部署方法,其特征在于,所述網(wǎng)絡(luò)的運行狀態(tài)包括:
9.根據(jù)權(quán)利要求3所述的基于區(qū)塊鏈網(wǎng)絡(luò)的可視化部署方法,其特征在于,所述方法還包括安全與權(quán)限管理機制,采用傳輸層安全協(xié)議tls進行加密傳輸數(shù)據(jù),通過jwt認證及rbac權(quán)限管理,為區(qū)塊鏈網(wǎng)絡(luò)的通信安全和訪問控制提供保障。
10.根據(jù)權(quán)利要求7所述的基于區(qū)塊鏈網(wǎng)絡(luò)的可視化部署方法,其特征在于,部署流程中,節(jié)點使用docker容器進行部署,當系統(tǒng)分配節(jié)點到主機后,服務(wù)端會根據(jù)各個主機的ip、端口、各組織域名信息,生成各節(jié)點的docker?compose文件,然后通過使用這些dockercompose文件啟動各節(jié)點容器;節(jié)點容器啟動后需要通過shell腳本加入通道及設(shè)置錨節(jié)點,通過為腳本指定不同的參數(shù),將各節(jié)點加入通道中,并為每個組織設(shè)置錨節(jié)點。