数据治理通用组件(WeBankBlockchain-Data)开源以来,得到社区用户的积极体验和反馈。我们也在社区用户的通力协作下,不断打磨当前数据治理通用组件中的3个子组件——数据仓库组件Data-Stash、数据导出组件Data-Export、数据对账组件Data-Reconcile,使其性能更优,体验更为友好。参见《微众银行区块链开源数据治理通用组件,释放数据价值》。
其中,子组件Data-Export是适用于FISCO BCOS平台的数据导出工具,其作用在于降低获取区块链数据的门槛,提升研发效率。使用者只需进行简单配置,便可把结构化的数据导出到关系型数据库或ElasticSearch中。同时,该工具支持多活部署、数据分库分表、导出数据可视化、应用监控等,适应各类复杂业务场景,满足业务开发中的各项需求。
随着社区越来越多的开发者使用数据导出组件Data-Export,许多个性化的需求也应运而生,其中一个比较高频的需求就是希望新增支持SDK方式,并以该方式集成到自己的项目中。基于此,我们对数据导出组件Data-Export进行了升级。现在Data-Export v1.7.0正式发布, 欢迎大家体验。
升级 新增支持SDK方式集成
Data-Export v1.7.0 在保留原有服务运行方式的基础上,新增支持SDK方式集成。SDK实现更为轻量化,不再依赖Spring框架,用户可通过构建工具引入Jar包,从而将数据导出SDK集成到自己的项目中。同时,基于SDK,用户可进行个性化开发和定制,更好地应对各类复杂的业务需求。
特性 因SDK带来的特性升级
1. 支持数据导出SDK的启停控制接口
数据导出SDK将服务启停的控制开关交给开发者。开发者可通过调用以下接口,来控制数据导出任务的开启和关闭。
//数据导出执行启动
start(DataExportExecutor exportExecutor)
//数据导出执行关闭
stop(DataExportExecutor exportExecutor)
2. 支持通过配置ABI和BINARY导出合约数据
服务方式需要通过配置合约编译获得的java文件,来进行数据解析,并导出链上交易详情等数据。而SDK则可以通过配置ABI和BINARY来进行数据解析,无需Java文件便可导出合约数据,规避了因Java文件版本不同而造成的兼容性难题。
供参考的接口定义如下:
ContractInfo contractInfo = new ContractInfo()
.setBinary("")
.setAbi("")
.setContractName("");
3. 支持多链多群组调用
通过创建多个不同的数据导出执行器,可实现多链多群组的调用。与服务运行方式的多进 程实现有所不同,SDK集成的方式支持通过单进程多线程的方式达成上述效果。
构建执行器案例,参考如下:
//数据导出执行器构建
DataExportExecutor exportExecutor = ExportDataSDK.create([dataSource], ChainInfo.builder()
//链节点连接信息
.nodeStr("[ip]:[port]")
//链连接证书位置
.certPath("config")
//群组id
.groupId(1)
.build());
4. 其他升级
支持导出数据表的过滤。通过配置黑名单的方式,可轻松过滤特定的数据表,满足特定场景的需要,例如通过简单的配置,可禁止导出block_detail_info表的数据。(更多配置方式详情可参考Data-Export技术文档。)
升级了数据库分库分表和分布式调度相关的基础库。
即刻使用
上述相关代码和技术文档已更新,欢迎体验和 star 支持。如需咨询技术问题,欢迎关注本公众号,对话框回复【小助手】进技术交流群。
Data-Export github代码库地址码仓库:
https://github.com/WeBankBlockchain/Data-Export
Data-Export gitee代码库地址:
https://gitee.com/WeBankBlockchain/Data-Export
Data-Export-SDK-Demo 代码库地址:
https://github.com/WeBankBlockchain/Data-Export-Demo
Data-Export 技术文档:
https://data-doc.readthedocs.io/zh_CN/latest/docs/WeBankBlockchain-Data-Export/index.html
首次体验Data-Export,可参考快速部署文档:
https://data-doc.readthedocs.io/zh_CN/latest/docs/WeBankBlockchain-Data-Export/install.html
向我们报告问题,欢迎提交issue:
https://github.com/WeBankBlockchain/Data-Export/issue