數(shù)據(jù)分析處理“加速器”升級(jí) | Data-Export v1.7.0 發(fā)布
數(shù)據(jù)治理通用組件(WeBankBlockchain-Data)開源以來,得到社區(qū)用戶的積極體驗(yàn)和反饋。我們也在社區(qū)用戶的通力協(xié)作下,不斷打磨當(dāng)前數(shù)據(jù)治理通用組件中的3個(gè)子組件——數(shù)據(jù)倉庫組件Data-Stash、數(shù)據(jù)導(dǎo)出組件Data-Export、數(shù)據(jù)對(duì)賬組件Data-Reconcile,使其性能更優(yōu),體驗(yàn)更為友好。參見《微眾銀行區(qū)塊鏈開源數(shù)據(jù)治理通用組件,釋放數(shù)據(jù)價(jià)值》。
其中,子組件Data-Export是適用于FISCO BCOS平臺(tái)的數(shù)據(jù)導(dǎo)出工具,其作用在于降低獲取區(qū)塊鏈數(shù)據(jù)的門檻,提升研發(fā)效率。使用者只需進(jìn)行簡單配置,便可把結(jié)構(gòu)化的數(shù)據(jù)導(dǎo)出到關(guān)系型數(shù)據(jù)庫或ElasticSearch中。同時(shí),該工具支持多活部署、數(shù)據(jù)分庫分表、導(dǎo)出數(shù)據(jù)可視化、應(yīng)用監(jiān)控等,適應(yīng)各類復(fù)雜業(yè)務(wù)場景,滿足業(yè)務(wù)開發(fā)中的各項(xiàng)需求。
隨著社區(qū)越來越多的開發(fā)者使用數(shù)據(jù)導(dǎo)出組件Data-Export,許多個(gè)性化的需求也應(yīng)運(yùn)而生,其中一個(gè)比較高頻的需求就是希望新增支持SDK方式,并以該方式集成到自己的項(xiàng)目中?;诖?,我們對(duì)數(shù)據(jù)導(dǎo)出組件Data-Export進(jìn)行了升級(jí)。現(xiàn)在Data-Export v1.7.0正式發(fā)布, 歡迎大家體驗(yàn)。
升級(jí) 新增支持SDK方式集成
Data-Export v1.7.0 在保留原有服務(wù)運(yùn)行方式的基礎(chǔ)上,新增支持SDK方式集成。SDK實(shí)現(xiàn)更為輕量化,不再依賴Spring框架,用戶可通過構(gòu)建工具引入Jar包,從而將數(shù)據(jù)導(dǎo)出SDK集成到自己的項(xiàng)目中。同時(shí),基于SDK,用戶可進(jìn)行個(gè)性化開發(fā)和定制,更好地應(yīng)對(duì)各類復(fù)雜的業(yè)務(wù)需求。
特性 因SDK帶來的特性升級(jí)
1. 支持?jǐn)?shù)據(jù)導(dǎo)出SDK的啟??刂平涌?/span>
數(shù)據(jù)導(dǎo)出SDK將服務(wù)啟停的控制開關(guān)交給開發(fā)者。開發(fā)者可通過調(diào)用以下接口,來控制數(shù)據(jù)導(dǎo)出任務(wù)的開啟和關(guān)閉。
//數(shù)據(jù)導(dǎo)出執(zhí)行啟動(dòng)start(DataExportExecutor exportExecutor)//數(shù)據(jù)導(dǎo)出執(zhí)行關(guān)閉stop(DataExportExecutor exportExecutor)
2. 支持通過配置ABI和BINARY導(dǎo)出合約數(shù)據(jù)
服務(wù)方式需要通過配置合約編譯獲得的java文件,來進(jìn)行數(shù)據(jù)解析,并導(dǎo)出鏈上交易詳情等數(shù)據(jù)。而SDK則可以通過配置ABI和BINARY來進(jìn)行數(shù)據(jù)解析,無需Java文件便可導(dǎo)出合約數(shù)據(jù),規(guī)避了因Java文件版本不同而造成的兼容性難題。
供參考的接口定義如下:
ContractInfo contractInfo = new ContractInfo().setBinary("").setAbi("").setContractName("");
3. 支持多鏈多群組調(diào)用
通過創(chuàng)建多個(gè)不同的數(shù)據(jù)導(dǎo)出執(zhí)行器,可實(shí)現(xiàn)多鏈多群組的調(diào)用。與服務(wù)運(yùn)行方式的多進(jìn) 程實(shí)現(xiàn)有所不同,SDK集成的方式支持通過單進(jìn)程多線程的方式達(dá)成上述效果。
構(gòu)建執(zhí)行器案例,參考如下:
//數(shù)據(jù)導(dǎo)出執(zhí)行器構(gòu)建DataExportExecutor exportExecutor = ExportDataSDK.create([dataSource], ChainInfo.builder()//鏈節(jié)點(diǎn)連接信息.nodeStr("[ip]:[port]")//鏈連接證書位置.certPath("config")//群組id.groupId(1).build());
4. 其他升級(jí)
支持導(dǎo)出數(shù)據(jù)表的過濾。通過配置黑名單的方式,可輕松過濾特定的數(shù)據(jù)表,滿足特定場景的需要,例如通過簡單的配置,可禁止導(dǎo)出block_detail_info表的數(shù)據(jù)。(更多配置方式詳情可參考Data-Export技術(shù)文檔。)
升級(jí)了數(shù)據(jù)庫分庫分表和分布式調(diào)度相關(guān)的基礎(chǔ)庫。
即刻使用
上述相關(guān)代碼和技術(shù)文檔已更新,歡迎體驗(yàn)和 star 支持。如需咨詢技術(shù)問題,歡迎關(guān)注本公眾號(hào),對(duì)話框回復(fù)【小助手】進(jìn)技術(shù)交流群。
Data-Export github代碼庫地址碼倉庫:
Data-Export gitee代碼庫地址:
Data-Export-SDK-Demo 代碼庫地址:
https://github.com/WeBankBlockchain/Data-Export-Demo
Data-Export 技術(shù)文檔:
https://data-doc.readthedocs.io/zh_CN/latest/docs/WeBankBlockchain-Data-Export/index.html
首次體驗(yàn)Data-Export,可參考快速部署文檔:
https://data-doc.readthedocs.io/zh_CN/latest/docs/WeBankBlockchain-Data-Export/install.html
向我們報(bào)告問題,歡迎提交issue:
https://github.com/WeBankBlockchain/Data-Export/issue



