可扩展的区块链数据导出工具制造技术

技术编号:34738196 阅读:15 留言:0更新日期:2022-08-31 18:29
本发明专利技术公开了一种可扩展的区块链数据导出工具,包括数据导出基础组件和若干数据解析插件,数据导出基础组件中的源数据下载管理模块获取区块链中的源数据,通过数据导出基础组件中的数据解析器管理模块将源数据发送给已注册的数据解析插件,数据解析插件按照预设的解析方式进行解析并整理为目标数据库的存储格式得到解析结果,然后将解析结果和目标数据库编码通过数据导出基础组件中的数据解析器管理模块传递至目标数据库管理模块,目标数据库管理模块将解析结果存储至目标数据库中。本发明专利技术通过采用数据导出基础组件屏蔽与区块链交互的复杂性,通过数据解析插件来实现数据解析规则的动态扩展,实现业务数据的灵活导出。实现业务数据的灵活导出。实现业务数据的灵活导出。

【技术实现步骤摘要】
可扩展的区块链数据导出工具


[0001]本专利技术属于区块链
,更为具体地讲,涉及一种可扩展的区块链数据导出工具。

技术介绍

[0002]随着区块链技术的发展,其去中心化、集体维护、可编程、无法篡改、安全可信、可追溯的特性受到人们的积极讨论与广泛关注,越来越多的行业领域开始探索与尝试,将传统业务流程与区块链相结合,将数据存入区块链上。由于一些行业领域的特殊性,存在对数据进行监察审计、大规模复杂查询、离线分析的需求,而区块链如何满足这样的需求,成为一个待解决的问题。
[0003]现有的区块链大多采用智能合约来完成各种业务逻辑,业务数据一般以key

value(键

值)的数据格式存入区块链节点本地,对链上业务数据的查询通常需要借助智能合约,然而key

value的数据格式无法支持灵活的条件查询,因此大多区块链智能合约SDK(Software Development Kit,软件开发工具包)只提供了一些简单的数据查询接口,且借助智能合约来查询数据会占用区块链节点本身的系统资源,影响区块链节点的交易处理能力。此外,不同的智能合约所维护的业务数据格式不尽相同,不同业务方可以根据自身需求定制化开发数据导出工具,但开发成本较大,且不具备扩展性。

技术实现思路

[0004]本专利技术的目的在于克服现有技术的不足,提供一种可扩展的区块链数据导出工具,将数据导出工具拆分为数据导出基础组件以及数据解析插件两部分,通过数据导出基础组件屏蔽与区块链交互的复杂性,通过数据解析插件来实现数据解析规则的动态扩展,实现业务数据的灵活导出。
[0005]为了实现上述专利技术目的,本专利技术可扩展的区块链数据导出工具包括数据导出基础组件和若干数据解析插件,数据导出基础组件获取区块链中的源数据,包括区块数据和智能合约世界状态数据,然后将源数据发送给数据解析插件进行解析,将数据解析插件反馈的解析结果存入对应的目标数据库中;
[0006]数据导出基础组件包括源数据下载管理模块、数据解析器管理模块和目标数据库管理模块,其中:
[0007]源数据下载管理模块用于和区块链进行交互,从区块链节点处获取源数据并发送给数据解析器管理模块;
[0008]数据解析器管理模块用于向各个数据解析插件提供注册,对于成功注册的数据解析插件,数据解析器管理模块在接收到源数据后,将各个智能合约世界状态数据分别和区块数据打包,发送至对应的数据解析插件进行解析,然后将数据解析插件反馈的解析结果和目标数据库编码发送给目标数据库管理模块;
[0009]目标数据库管理模块用于将接收到的解析结果发送至对应目标数据库中进行存
储;
[0010]数据解析插件由业务方根据自身需求按照数据导出基础组件定义的解析类接口规范进行开发,每个数据解析插件与业务方在区块链中的某一个智能合约实例进行绑定,用于根据预设的解析方法对数据解析器管理模块发送的对应智能合约实例的世界状态数据和区块数据进行解析,将解析得到的数据按照预设的目标数据库的存储格式进行整理得到解析结果,然后将解析结果和目标数据库编码反馈至数据解析器管理模块。
[0011]本专利技术可扩展的区块链数据导出工具包括数据导出基础组件和若干数据解析插件,数据导出基础组件中的源数据下载管理模块获取区块链中的源数据,通过数据导出基础组件中的数据解析器管理模块将源数据发送给已注册的数据解析插件,数据解析插件按照预设的解析方式进行解析并整理为目标数据库的存储格式得到解析结果,然后将解析结果和目标数据库编码通过数据导出基础组件中的数据解析器管理模块传递至目标数据库管理模块,目标数据库管理模块将解析结果存储至目标数据库中。
[0012]本专利技术具有以下有益效果:
[0013]1)本专利技术通过设置数据导出基础组件,提供了从区块链上获取源数据以及将解析后的数据存入目标数据库的能力,屏蔽了业务方的开发人员与区块链进行交互获取数据的复杂性,且数据导出基础组件具有通用性,即不同的业务方均可以使用同一个数据导出基础组件,占用区块链节点的资源少,降低了区块链节点的查询负载;
[0014]2)本专利技术可以通过新增数据解析插件来扩展区块链数据导出工具的功能,并且由于数据导出基础组件的设置,使得在业务开发人员只需要根据新的数据解析规则开发新的数据解析插件,不需要开发完整的区块链数据导出工具来进行整体替换,降低了开发难度。
附图说明
[0015]图1是本专利技术可扩展的区块链数据导出工具的具体实施方式结构图;
[0016]图2是本专利技术区块链数据导出工具的工作流程图。
具体实施方式
[0017]下面结合附图对本专利技术的具体实施方式进行描述,以便本领域的技术人员更好地理解本专利技术。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本专利技术的主要内容时,这些描述在这里将被忽略。
[0018]实施例
[0019]图1是本专利技术可扩展的区块链数据导出工具的具体实施方式结构图。如图1所示,本专利技术可扩展的区块链数据导出工具包括数据导出基础组件1和若干数据解析插件2,数据导出基础组件1获取区块链中的源数据,包括区块数据和智能合约世界状态数据,然后将源数据发送给数据解析插件2进行解析,将数据解析插件2反馈的解析结果存入对应的目标数据库中。下面分别对两个部件进行详细说明。
[0020]数据导出基础组件1包括源数据下载管理模块11、数据解析器管理模块12和目标数据库管理模块13,其中:
[0021]源数据下载管理模块11用于和区块链进行交互,从区块链节点处获取源数据并发送给数据解析器管理模块12。本实施例中,源数据下载管理模块11通过区块链节点提供的
订阅服务来获取源数据,即源数据下载管理模块11向区块链节点申请订阅服务,申请成功后,区块链节点会在新区块生成后向源数据下载管理模块11推送源数据。
[0022]数据解析器管理模块12用于向各个数据解析插件2提供注册,对于成功注册的数据解析插件2,数据解析器管理模块12在接收到源数据后,将各个智能合约世界状态数据分别和区块数据打包,发送至对应的数据解析插件2进行解析,然后将数据解析插件2反馈的解析结果和目标数据库编码发送给目标数据库管理模块13。
[0023]目标数据库管理模块13用于将接收到的解析结果发送至对应目标数据库中进行存储。本实施例中目标数据库有Mysql、Mongodb、ES三个数据库。当有新增的目标数据库需求时,可对目标数据库管理模块13进行扩展。
[0024]数据解析插件2由业务方根据自身需求按照数据导出基础组件定义的解析类接口规范进行开发,每个数据解析插件2与业务方在区块链中的某一个智能合约实例进行绑定,用于根据预设的解析方法对数据解析器管理模块12发送的对应智能合约实例的世界状态数据和区块数据进行解析,将解析得到的数据按照预设的目标数据库的存储格式进行整理得到解析结果,然后将解析结果和目标数据库编码反馈至数据解析器管理模本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可扩展的区块链数据导出工具,其特征在于包括数据导出基础组件和若干数据解析插件,数据导出基础组件获取区块链中的源数据,包括区块数据和智能合约世界状态数据,然后将源数据发送给数据解析插件进行解析,将数据解析插件反馈的解析结果存入对应的目标数据库中;数据导出基础组件包括源数据下载管理模块、数据解析器管理模块和目标数据库管理模块,其中:源数据下载管理模块用于和区块链进行交互,从区块链节点处获取源数据并发送给数据解析器管理模块;数据解析器管理模块用于向各个数据解析插件提供注册,对于成功注册的数据解析插件,数据解析器管理模块在接收到源数据后,将各个智能合约世界状态数据分别和区块数据打包,发送至对应的数据解析插件进行解析,然后将数据解析插件反馈的解析结果和目标数据库编码发送给目标数据库管理模块;目标数据库管理模块用于将接收到的解析结果发送至对应目标数据库中进行存储;数据解析插件由业务方根据自身需求按照数据导出基础组件定义的解析类接口规范进行开发,每个数据解析插件与业务方在区块链中的某一个智能合约实例进行绑定,用于根据预设的解析方法对数据解析器管理模块发送的对应智能合约实例的世界状态数据和区块数据进行解析,将解析得到的数据按照预设的目标数据库的存...

【专利技术属性】
技术研发人员:陈虹邓浩丘志杰徐竟浩王行行
申请(专利权)人:北京链道科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1