技術(shù)解析+代碼實(shí)戰(zhàn),帶你入門華為云政務(wù)區(qū)塊鏈平臺(tái)
1、行業(yè)區(qū)塊鏈平臺(tái)誕生背景
互聯(lián)網(wǎng)時(shí)代下,區(qū)塊鏈作為一種分布式的公開賬本,具有去中心化、開放匿名、不可偽造篡改等特點(diǎn),憑借其獨(dú)特的信任機(jī)制和信息傳遞技術(shù),在金融、醫(yī)療、教育等各個(gè)領(lǐng)域都有著廣泛的應(yīng)用,推動(dòng)著科技領(lǐng)域的變革。
傳統(tǒng)BaaS(Blockchain as a Service)平臺(tái)將區(qū)塊鏈集成為云服務(wù)提供給客戶,想比于PaaS平臺(tái)而言,充分利用了云計(jì)算的彈性、穩(wěn)定性和靈活性;而行業(yè)區(qū)塊鏈平臺(tái)又是在BaaS平臺(tái)之上的區(qū)塊鏈中臺(tái)應(yīng)用,在業(yè)界標(biāo)準(zhǔn)不統(tǒng)一、架構(gòu)參差不齊的大背景下,充分屏蔽了底層鏈在模型和部署流程上的差異,進(jìn)一步節(jié)省了用戶部署業(yè)務(wù)和應(yīng)用的成本,實(shí)現(xiàn)了跨云服務(wù)的一站式異構(gòu)鏈管理。即便是技術(shù)薄弱的用戶也可通過此平臺(tái)實(shí)現(xiàn)快速統(tǒng)一的規(guī)劃建站,滿足各類業(yè)務(wù)需求,解決了區(qū)塊鏈技術(shù)人才短缺、運(yùn)維人力成本高的難題。
2、政務(wù)區(qū)塊鏈平臺(tái)介紹
政務(wù)領(lǐng)域的用戶具有主體多、環(huán)節(jié)復(fù)雜、信息量大等特點(diǎn),傳統(tǒng)數(shù)據(jù)共享模式下,業(yè)務(wù)辦理效率和數(shù)據(jù)共享能力較低,不僅需要大量的人工審批,文件、庫表在復(fù)制傳遞的過程中還可能引發(fā)數(shù)據(jù)不一致,信息泄露,時(shí)效性較弱,且不易管理。自2016年起,國家鼓勵(lì)探索“政務(wù)上鏈”,利用區(qū)塊鏈的數(shù)據(jù)共享模式實(shí)現(xiàn)政務(wù)數(shù)據(jù)跨部門、跨區(qū)域的共同維護(hù)和利用,推動(dòng)政務(wù)數(shù)字化改革,實(shí)現(xiàn)智能化的社會(huì)治理。
政務(wù)區(qū)塊鏈平臺(tái)UGBaaS(Unified Governmental BaaS)是針對(duì)政務(wù)行業(yè)開發(fā)的新型鏈管平臺(tái),一個(gè)集中式的運(yùn)營運(yùn)維系統(tǒng),允許用戶平滑接入名下的各類區(qū)塊鏈,實(shí)現(xiàn)統(tǒng)一的管理監(jiān)控。它極大的簡化了業(yè)務(wù)流程,包含身份認(rèn)證管理、業(yè)務(wù)管理、憑證轉(zhuǎn)換服務(wù)、數(shù)據(jù)采集和展現(xiàn)服務(wù)、合約倉庫和應(yīng)用倉庫、內(nèi)部api網(wǎng)關(guān)等功能模塊,使得管理員可以輕松地治理底層資源,管理租戶配額,一鍵部署聯(lián)盟和智能合約,并監(jiān)控底層鏈和節(jié)點(diǎn)。底層自然支持Hyperledger Fabric區(qū)塊鏈,亦可納管Ethereum、Quorum等異構(gòu)鏈。
3、主要功能模塊
管理員視角:
租戶視角:
4、平臺(tái)主要技術(shù):
?組件多活與多region容災(zāi):
政務(wù)區(qū)塊鏈平臺(tái)部署在一個(gè)多節(jié)點(diǎn)高可用集群上,每個(gè)容器都有相同處理業(yè)務(wù)的能力,部分節(jié)點(diǎn)故障時(shí)服務(wù)仍能繼續(xù)使用,達(dá)到一定的容災(zāi)性。平臺(tái)內(nèi)部需要存儲(chǔ)大量數(shù)據(jù),因此在部署時(shí)同期部署了分布式的數(shù)據(jù)庫,均勻的部署在集群的每個(gè)節(jié)點(diǎn)上。數(shù)據(jù)庫內(nèi)部采用高一致性算法,并維護(hù)多個(gè)歷史版本數(shù)據(jù),在檢測(cè)到當(dāng)前監(jiān)聽的數(shù)據(jù)庫節(jié)點(diǎn)健康狀態(tài)異常后會(huì)自動(dòng)建立新的客戶端連接,切換連接源,保證數(shù)據(jù)的強(qiáng)一致性和高可用性。
?雙重緩存層與請(qǐng)求消息隊(duì)列:
政務(wù)區(qū)塊鏈平臺(tái)組件對(duì)外開放一套標(biāo)準(zhǔn)政務(wù)接口,部署時(shí)會(huì)簽發(fā)一套tls證書并提供下載方式,用戶可以通過該證書連接到組件上,通過調(diào)用開放API運(yùn)行相應(yīng)功能。由于涉及大量接口調(diào)用,組件入口處設(shè)置了雙重緩存層,保證不必要的底層接口調(diào)用,加強(qiáng)接口性能。當(dāng)用戶請(qǐng)求到達(dá)組件時(shí),消息處理的流量控制器會(huì)拒絕容量外的請(qǐng)求,容量內(nèi)的請(qǐng)求會(huì)按到達(dá)順序依次下發(fā),并在消費(fèi)請(qǐng)求后以一定的qps繼續(xù)填充隊(duì)列,保證組件的穩(wěn)定。
?流程引擎與任務(wù)樹:
平臺(tái)內(nèi)部需維護(hù)聯(lián)盟、業(yè)務(wù)鏈、組織和底層BaaS平臺(tái)相應(yīng)的實(shí)體關(guān)系,通過映射的方式屏蔽了異構(gòu)鏈模型上的差異(如子鏈、通道的區(qū)別,聯(lián)盟、網(wǎng)絡(luò)的概念,組織、節(jié)點(diǎn)等最小粒度),通過抽象任務(wù)模板對(duì)象封裝每個(gè)業(yè)務(wù)操作對(duì)應(yīng)的具體步驟,自動(dòng)化的并行或串行執(zhí)行區(qū)塊鏈創(chuàng)建、邀請(qǐng)、通知、審批等任務(wù)。處理器在任務(wù)調(diào)度的時(shí)候根據(jù)反射自動(dòng)匹配不同的任務(wù)類型,并通過分析嵌套深度解析任務(wù)下的子任務(wù),生成多個(gè)并行任務(wù)流。自動(dòng)化的流程引擎可以處理用戶下發(fā)的特定任務(wù)、執(zhí)行定時(shí)任務(wù)(如監(jiān)控、日志、審計(jì)、告警、清理等)。任務(wù)執(zhí)行需具備原子性,一旦任務(wù)失敗會(huì)自動(dòng)回滾該任務(wù)中已經(jīng)執(zhí)行的部分。任務(wù)下發(fā)后,用戶可通過任務(wù)進(jìn)度查詢接口獲取當(dāng)前業(yè)務(wù)操作的處理進(jìn)度,一旦任務(wù)失敗會(huì)展示詳細(xì)的執(zhí)行記錄和處理建議。樹狀的任務(wù)結(jié)構(gòu)能夠保證同級(jí)任務(wù)并發(fā)執(zhí)行,任務(wù)的處理可以使用顏色標(biāo)記法進(jìn)行標(biāo)記,每次執(zhí)行允許一定的容錯(cuò)并設(shè)置超時(shí)時(shí)間,父節(jié)點(diǎn)在檢測(cè)到全部子節(jié)點(diǎn)為某個(gè)非進(jìn)行中狀態(tài)時(shí)便會(huì)更新,由底向上,直至根節(jié)點(diǎn)狀態(tài)變更完成。
?異構(gòu)區(qū)塊鏈平臺(tái)統(tǒng)一接入:
異構(gòu)鏈統(tǒng)一接入主要有鑒權(quán)方式、模型差異、建鏈審批流程差異等難點(diǎn)。對(duì)于無管理面的自有區(qū)塊鏈,政務(wù)區(qū)塊鏈平臺(tái)制訂了一套統(tǒng)一接入接口,希望被平臺(tái)納管的區(qū)塊鏈只需實(shí)現(xiàn)這套接口便可注冊(cè)后接入;對(duì)于已有管理面并開放接口的區(qū)塊鏈平臺(tái),政務(wù)區(qū)塊鏈平臺(tái)提供接口映射的注冊(cè)方式,廠商可以通過注入模板自動(dòng)將一個(gè)或多個(gè)自有接口映射到政務(wù)區(qū)塊鏈平臺(tái)的統(tǒng)一接口上,新鏈接入后平臺(tái)會(huì)自動(dòng)執(zhí)行接入校驗(yàn)流程,通過默認(rèn)的內(nèi)置租戶進(jìn)行調(diào)測(cè),檢查新平臺(tái)接口的連通性,并通過服務(wù)器健康狀態(tài)的接口定期巡檢平臺(tái)的可用性。對(duì)于注冊(cè)全部變更接口的接入方式,平臺(tái)全生命周期的維護(hù)該平臺(tái)下的所有區(qū)塊鏈網(wǎng)絡(luò);也提供只注冊(cè)管理類接口的納管模式,使用戶對(duì)接已部署的區(qū)塊鏈。同時(shí),未來還將考慮以跨鏈方式實(shí)現(xiàn)異構(gòu)鏈的互聯(lián)互通。
5、UGBaaS客戶端sample代碼:
從行業(yè)區(qū)塊鏈平臺(tái)新建實(shí)例處點(diǎn)擊下載證書壓縮包,ugbaascert/tls路徑下包含client.crt client.key兩個(gè)文件,示例代碼如下
圖1 證書導(dǎo)入代碼
導(dǎo)入證書后,默認(rèn)連接端口32623,url設(shè)置成政務(wù)接口文檔中的接口,調(diào)用獲取已注冊(cè)組織列表接口并解析返回至結(jié)構(gòu)體。
圖2 獲取已注冊(cè)組織列表接口代碼
使用政務(wù)區(qū)塊鏈平臺(tái)前均需調(diào)用組織注冊(cè)接口/v1/ugbaas/orgs,注冊(cè)組織和底層租戶的對(duì)應(yīng)關(guān)系(域信息、項(xiàng)目信息及aksk等,從IAM處獲?。缓蠹纯蛇M(jìn)行創(chuàng)建聯(lián)盟、業(yè)務(wù)鏈、部署智能合約等操作。變更類操作均會(huì)返回操作ID,根據(jù)操作ID調(diào)用查詢流程處理進(jìn)度接口獲取當(dāng)前任務(wù)的進(jìn)行狀態(tài)。
結(jié)語:
區(qū)塊鏈技術(shù)在數(shù)據(jù)共享、數(shù)據(jù)安全、隱私保護(hù)、確權(quán)確責(zé)等方面的技術(shù)優(yōu)勢(shì),使其在政府、金融、供應(yīng)鏈、交通等各個(gè)領(lǐng)域展現(xiàn)出廣闊的應(yīng)用前景。政務(wù)區(qū)塊鏈平臺(tái)是行業(yè)區(qū)塊鏈平臺(tái)的初步實(shí)踐,未來在區(qū)塊鏈技術(shù)的發(fā)展下,還會(huì)打造面向其他領(lǐng)域的鏈管平臺(tái),構(gòu)建多方協(xié)同的分布式賬本,讓區(qū)塊鏈應(yīng)用更便捷高效的為產(chǎn)業(yè)服務(wù)。
審核編輯 黃昊宇
-
區(qū)塊鏈
+關(guān)注
關(guān)注
112文章
15565瀏覽量
107898 -
華為云
+關(guān)注
關(guān)注
3文章
2763瀏覽量
18106
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論