CN115794930A - 一种可扩展的多区块链数据etl处理系统及方法 - Google Patents

一种可扩展的多区块链数据etl处理系统及方法 Download PDF

Info

Publication number
CN115794930A
CN115794930A CN202310079786.XA CN202310079786A CN115794930A CN 115794930 A CN115794930 A CN 115794930A CN 202310079786 A CN202310079786 A CN 202310079786A CN 115794930 A CN115794930 A CN 115794930A
Authority
CN
China
Prior art keywords
data
etl
block
module
chain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202310079786.XA
Other languages
English (en)
Other versions
CN115794930B (zh
Inventor
张舒艺
吴啸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Pure White Matrix Technology Co ltd
Original Assignee
Nanjing Pure White Matrix Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Pure White Matrix Technology Co ltd filed Critical Nanjing Pure White Matrix Technology Co ltd
Priority to CN202310079786.XA priority Critical patent/CN115794930B/zh
Publication of CN115794930A publication Critical patent/CN115794930A/zh
Application granted granted Critical
Publication of CN115794930B publication Critical patent/CN115794930B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种可扩展的多区块链数据ETL系统及方法。目前市场上的区块链种类繁多,且各区块链的数据格式都不尽相同,因此针对单一区块链设计的ETL工具或者数据服务,例如区块链数据浏览器Etherscan,仅仅对以太坊进行了支持,无法目前多链或跨链应用需要同时处理或访问多条区块链的需求。该系统针对性地解决了目前区块链种类繁多、区块链数据格式各异的情况下,多链数据处理、数据清理、数据访问、数据同步、数据分析难的问题,它的可扩展的多链数据适配器不仅可以满足不同区块链数据获取的需求,同时数据流下游可自定义的Handler(处理器)也使得用户可以实现包括ETL,数据同步,数据分析等功能。

Description

一种可扩展的多区块链数据ETL处理系统及方法
技术领域
本发明涉及区块链及大数据处理技术领域,尤其涉及一种可扩展的多区块链数据ETL处理系统及方法。
背景技术
目前区块链种类繁多,且各区块链的数据格式都不尽相同,因此针对单一区块链设计的ETL工具或者数据服务,例如区块链数据浏览器Etherscan和去中心化数据处理工具The Graph等,都仅对以太坊进行了支持,无法满足目前多链或跨链应用需要同时处理或访问多条区块链的需求。目前行业内并没有一套通用的、可扩展的多链数据ETL系统。所以很多区块链应用开发者,都不得不花费大量人力物力去自己构建数据ETL管道。
发明内容
鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种可扩展的多区块链数据ETL处理系统及方法,以解决现有技术的不足。
为实现上述目的,本发明提供了一种可扩展的多区块链数据ETL处理系统,包括作业调度模块、多链ETL模块、数据存储模块、消息平台模块,所述作业调度模块、多链ETL模块相连接,所述多链ETL模块还与数据存储模块、消息平台模块相连接,所述数据存储模块、消息平台模块连接,其中:
作业调度模块,用于持续检查每个集成区块链的最新区块高度和最后一个成功处理的区块,如果最后一个成功处理的区块落后于最新区块高度,将作业分派给多链ETL模块,以从指定区块链同步数据;
多链ETL模块,用于从区块链节点API中获取特定区块范围的区块链数据,然后提取交易、事件和区块元数据,并将交易、事件和区块元数据转化为统一的格式后存储,通知服务通知下游事件处理器已处理的事件和交易;最后,校验审计服务根据区块元数据中的信息验证已处理的数据的校验;
数据存储模块,用于选择可扩展的NoSQL数据库作为TXN存储和事件存储的底层数据库,实现快速查询,并容纳来自多个区块链的不断增长的数据规模;
消息平台模块,用于将处理后的数据分配给下游处理程序。
进一步的,所述多链ETL模块中,区块链数据适配器从区块链节点API中获取特定区块范围的区块链数据。
进一步的,所述区块链数据适配器包括以太坊数据适配器、福洛链数据适配器、BNB链数据适配器、Polygon链数据适配器。
进一步的,所述多链ETL模块将交易、事件和区块元数据转化为统一的格式后,通过数据持久服务将交易、事件和区块元数据保存到数据存储模块中。
进一步的,所述多链ETL模块的的数据校验验证结果在作业调度模块的任务审计数据库中更新。
进一步的,所述数据存储模块为一个可扩展的多链交易存储和事件存储模块。
进一步的,所述数据存储模块中存储的数据都带有HTTP查询API。
进一步的,所述消息平台模块是一个一对多的pub/sub平台。
本发明还提供一种可扩展的多区块链数据ETL处理方法,包括以下步骤:
步骤1.配置自定义的区块链数据适配器:按要求实现区块链数据适配器的相关接口,使得适配器将区块链数据转换成结构化数据;
步骤2.激活区块链适配器任务:适配器实现模板的接口后,用户将所述适配器通过任务调度模块进行激活,适配器即把目标区块链的数据进行ETL操作,用户在同步区块链审计表中观测将区块内的信息通过ETL同步至数据仓库和下游的进度;
步骤3.实现下游事件处理器:通过实现下游事件处理器接口的方式,将即时的区块链数据信息同步到应用中;
步骤4.查询结构化数据:调用存储模块附带的查询API,获取区块链上的结构化数据;
步骤5. ETL任务审计及预警:通过查询任务调度模块中的任务审计数据库,查看区块同步及ETL过程是否存在异常,在同步出现异常时对用户进行预警。
进一步的,所述异常包括遗漏、缺口、校验失败。
本发明的有益效果是:
本发明通过可自定义适配器的方式,对多链数据ETL提供了支持。同时本发明中的消息平台和下游可自定义的事件处理器,可以满足用户构建不同场景的区块链应用的需求。它的可扩展的多链数据适配器不仅可以满足不同区块链数据获取的需求,同时数据流下游可自定义的Handler(处理器)也使得用户可以实现包括ETL, 数据同步,数据分析等功能。它可以帮助开发者快速构建多链数据服务,节省开发者的时间和经济成本和运维负担。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的系统原理框图。
图2是本发明的方法流程图。
具体实施方式
如图1所示,本发明公开了一种可扩展的多区块链数据ETL处理系统,包括作业调度模块、多链ETL模块、数据存储模块、消息平台模块,所述作业调度模块、多链ETL模块相连接,所述多链ETL模块还与数据存储模块、消息平台模块相连接,所述数据存储模块、消息平台模块连接,其中:
作业调度模块:作业调度模块持续检查每个集成区块链的最新区块高度和最后一个成功处理的区块。如果最后一个成功处理的区块落后于最新区块高度,它将作业分派给多链ETL模块,以从指定区块链同步数据。
多链ETL模块:在多链ETL模块中,区块链数据适配器从区块链节点API中获取特定区块范围的区块链数据,然后提取交易(TXN)、事件和区块元数据,并将其转化为统一的格式。数据持久服务随后将TXN数据和事件数据保存到数据存储中,以便进一步查询。接下来,通知服务发送消息,通知下游已处理的事件和TXN。最后,校验审计服务将根据区块元数据中的信息,验证已处理数据的校验,以确保区块中的所有数据都已处理。验证结果会在作业调度模块的任务审计数据库中更新,这样调度员就可以捡起失败的作业来重新运行。
整个ETL过程是同位素和可并行的,所以它可以很容易地扩大规模,以赶上并同步到最新的区块。此外,与新的区块链集成只需要最小的区块链数据适配器的开发,而不是建立一个完整的ETL管道。为各种区块链提供内置的数据适配器实现,内置区块链数据适配器包括以太坊数据适配器、福洛链数据适配器、BNB链数据适配器、Polygon链数据适配器。通过适配器或其他等效模块,完成对多条不同的区块链数据的提取、转换、加载的过程。
数据存储模块:本发明提出了一个可扩展的多链交易(TXN)存储和事件存储设计,选择可扩展的NoSQL数据库(例如MongoDB)作为TXN存储和事件存储的底层数据库,以实现快速查询。并且通过其良好的可扩展性开容纳来自多个区块链的不断增长的数据规模。TXN存储和事件存储分别以{blockchainId}:{txHash}和{blockchainId}:{eventId}为主键,以方便低延迟的键值搜索。我们还添加了blockNumber和contractId的索引用于快速查询。此外,我们还使用分布式对象存储(例如Minio)来存储完整的区块数据,其路径以{blockchainId}:{blockNumber}为前缀,用于导出和分析目的。所有的存储都带有HTTP查询API,方便下游应用更容易地检索已处理的链上数据。
消息平台模块:消息平台是一个一对多的pub/sub平台,用于将处理后的数据分配给下游处理程序。开发人员可以编写的自定义事件处理器(event handler),以构建实时的区块链应用。
本发明通过适配器或其他等效模块,完成对多条不同的区块链数据的提取、转换、加载的过程。在ETL完成后,该系统会通过校验和(checksum)或其他等价方式,保证区块内所有信息均被执行过完整的ETL过程。完整性校验的结果会在区块审计数据库保内永久保存。在ETL完成后,系统会将部分经过适配器转换而得到的结构化数据存储至数据流平台的数据仓库中,该数据仓库由多个子数据仓库组成。其中包括但不限于区块全量原始信息、区块元信息仓库、交易信息仓库、事件信息仓库、用户信息仓库、同质化代币信息仓库和非同质化代币信息仓库等。用户可以通过调用这些仓库的查询接口获取即时的区块链数据信息等。
如图2所示,本发明还提供一种可扩展的多区块链数据ETL处理方法,包括以下步骤:
步骤1.配置自定义的区块链数据适配器:按要求实现区块链数据适配器的相关接口,使得适配器将区块链数据转换成结构化数据;
步骤2.激活区块链适配器任务:适配器实现模板的接口后,用户将所述适配器通过任务调度模块进行激活,适配器即把目标区块链的数据进行ETL操作,用户在同步区块链审计表中观测将区块内的信息通过ETL同步至数据仓库和下游的进度;
步骤3.实现下游事件处理器:通过实现下游事件处理器接口的方式,将即时的区块链数据信息同步到应用中;
步骤4.查询结构化数据:调用存储模块附带的查询API,获取区块链上的结构化数据;
步骤5. ETL任务审计及预警:通过查询任务调度模块中的任务审计数据库,查看区块同步及ETL过程是否存在异常,在同步出现异常时对用户进行预警。所述异常包括遗漏、缺口、校验失败。
上述步骤可以在不同区块链上应用,达到多链适配的效果。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

Claims (10)

1.一种可扩展的多区块链数据ETL处理系统,其特征在于,包括作业调度模块、多链ETL模块、数据存储模块、消息平台模块,所述作业调度模块、多链ETL模块相连接,所述多链ETL模块还与数据存储模块、消息平台模块相连接,所述数据存储模块、消息平台模块连接,其中:
作业调度模块,用于持续检查每个集成区块链的最新区块高度和最后一个成功处理的区块,如果最后一个成功处理的区块落后于最新区块高度,将作业分派给多链ETL模块,以从指定区块链同步数据;
多链ETL模块,用于从区块链节点API中获取特定区块范围的区块链数据,然后提取交易、事件和区块元数据,并将交易、事件和区块元数据转化为统一的格式后存储,通知服务通知下游事件处理器已处理的事件和交易;最后,校验审计服务根据区块元数据中的信息验证已处理的数据的校验;
数据存储模块,用于选择可扩展的NoSQL数据库作为TXN存储和事件存储的底层数据库,实现快速查询,并容纳来自多个区块链的不断增长的数据规模;
消息平台模块,用于将处理后的数据分配给下游处理程序。
2.如权利要求1所述的一种可扩展的多区块链数据ETL处理系统,其特征在于:所述多链ETL模块中,区块链数据适配器从区块链节点API中获取特定区块范围的区块链数据。
3.如权利要求2所述的一种可扩展的多区块链数据ETL处理系统,其特征在于:所述区块链数据适配器包括但不限于以太坊数据适配器、福洛链数据适配器、BNB链数据适配器、Polygon链数据适配器。
4.如权利要求1所述的一种可扩展的多区块链数据ETL处理系统,其特征在于:所述多链ETL模块将交易、事件和区块元数据转化为统一的格式后,通过数据持久服务将交易、事件和区块元数据保存到数据存储模块中。
5.如权利要求1所述的一种可扩展的多区块链数据ETL处理系统,其特征在于:所述多链ETL模块的数据校验验证结果在作业调度模块的任务审计数据库中更新。
6.如权利要求1所述的一种可扩展的多区块链数据ETL处理系统,其特征在于:所述数据存储模块为一个可扩展的多链交易存储和事件存储模块。
7.如权利要求6所述的一种可扩展的多区块链数据ETL处理系统,其特征在于:所述数据存储模块中存储的数据都带有HTTP查询API。
8.如权利要求1所述的一种可扩展的多区块链数据ETL处理系统,其特征在于:所述消息平台模块是一个一对多的pub/sub平台。
9.一种应用于如权利要求1-8任一项所述的可扩展的多区块链数据ETL处理系统的方法,其特征在于,包括以下步骤:
步骤1.配置自定义的区块链数据适配器:按要求实现区块链数据适配器的相关接口,使得适配器将区块链数据转换成结构化数据;
步骤2.激活区块链适配器任务:适配器实现模板的接口后,用户将所述适配器通过任务调度模块进行激活,适配器即把目标区块链的数据进行ETL操作,用户在同步区块链审计表中观测将区块内的信息通过ETL同步至数据仓库和下游的进度;
步骤3.实现下游事件处理器:通过实现下游事件处理器接口的方式,将即时的区块链数据信息同步到应用中;
步骤4.查询结构化数据:调用存储模块附带的查询API,获取区块链上的结构化数据;
步骤5. ETL任务审计及预警:通过查询任务调度模块中的任务审计数据库,查看区块同步及ETL过程是否存在异常,在同步出现异常时对用户进行预警。
10.如权利要求9所述的一种可扩展的多区块链数据ETL处理方法,其特征在于,所述异常包括遗漏、缺口、校验失败。
CN202310079786.XA 2023-02-08 2023-02-08 一种可扩展的多区块链数据etl处理系统及方法 Active CN115794930B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310079786.XA CN115794930B (zh) 2023-02-08 2023-02-08 一种可扩展的多区块链数据etl处理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310079786.XA CN115794930B (zh) 2023-02-08 2023-02-08 一种可扩展的多区块链数据etl处理系统及方法

Publications (2)

Publication Number Publication Date
CN115794930A true CN115794930A (zh) 2023-03-14
CN115794930B CN115794930B (zh) 2023-04-18

Family

ID=85430424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310079786.XA Active CN115794930B (zh) 2023-02-08 2023-02-08 一种可扩展的多区块链数据etl处理系统及方法

Country Status (1)

Country Link
CN (1) CN115794930B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106383754A (zh) * 2016-09-19 2017-02-08 北京众享比特科技有限公司 一种基于区块链技术的数据库备份、恢复方法和系统
CN107463709A (zh) * 2017-08-21 2017-12-12 北京奇艺世纪科技有限公司 一种基于多数据源的etl处理方法及装置
CN110069564A (zh) * 2017-08-23 2019-07-30 杭州嘉楠耘智信息科技有限公司 基于区块链的信息查询系统及方法
CN111401895A (zh) * 2020-03-11 2020-07-10 北京价值互联科技有限公司 一种去中心化的跨链转入转出方法及系统
CN112487027A (zh) * 2020-12-02 2021-03-12 济南浪潮高新科技投资发展有限公司 基于区块链电子交易的高效数据查询实现方法
CN113821566A (zh) * 2021-09-10 2021-12-21 杭州链网科技有限公司 一种基于多链分片的区块链聚合架构
CN114780335A (zh) * 2022-04-11 2022-07-22 深圳市金蝶天燕云计算股份有限公司 监测数据的关联方法、装置、计算机设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106383754A (zh) * 2016-09-19 2017-02-08 北京众享比特科技有限公司 一种基于区块链技术的数据库备份、恢复方法和系统
CN107463709A (zh) * 2017-08-21 2017-12-12 北京奇艺世纪科技有限公司 一种基于多数据源的etl处理方法及装置
CN110069564A (zh) * 2017-08-23 2019-07-30 杭州嘉楠耘智信息科技有限公司 基于区块链的信息查询系统及方法
CN111401895A (zh) * 2020-03-11 2020-07-10 北京价值互联科技有限公司 一种去中心化的跨链转入转出方法及系统
CN112487027A (zh) * 2020-12-02 2021-03-12 济南浪潮高新科技投资发展有限公司 基于区块链电子交易的高效数据查询实现方法
CN113821566A (zh) * 2021-09-10 2021-12-21 杭州链网科技有限公司 一种基于多链分片的区块链聚合架构
CN114780335A (zh) * 2022-04-11 2022-07-22 深圳市金蝶天燕云计算股份有限公司 监测数据的关联方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN115794930B (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
CN107783975B (zh) 分布式数据库同步处理的方法和装置
CN107506451B (zh) 用于数据交互的异常信息监控方法及装置
EP2474919B1 (en) System and method for data replication between heterogeneous databases
CN111324610A (zh) 一种数据同步的方法及装置
CN107807815B (zh) 分布式处理任务的方法和装置
CN104699541A (zh) 同步数据的方法、装置、数据传输组件及系统
CN103514223A (zh) 一种数据仓库数据同步方法和系统
CN112445626B (zh) 一种基于消息中间件的数据处理方法和装置
CN110968438A (zh) 事件消息异步通知方法、装置、电子设备、存储介质
CN112306719B (zh) 一种任务调度方法与装置
CN110543512B (zh) 一种信息同步方法,装置及系统
CN103229143A (zh) 具有可扩展和可定制的计算引擎的面向网络服务的架构内的服务提供者
CN103345386A (zh) 一种软件生产方法、装置及运行系统
CN111538573A (zh) 异步任务处理方法、装置及计算机可读存储介质
US10185307B2 (en) Method of and system for controlling manufacturing processes in discrete production lines
CN105373563B (zh) 数据库切换方法及装置
CN115794930B (zh) 一种可扩展的多区块链数据etl处理系统及方法
CN113014618B (zh) 消息处理方法、系统和电子设备
CN116501700B (zh) 一种app格式化文件离线存储方法、装置、设备及存储介质
CN113468143A (zh) 数据迁移方法、系统、计算设备及存储介质
CN113051279A (zh) 数据消息的存储方法、存储装置、电子设备及存储介质
CN111984723A (zh) 数据同步方法、装置及终端设备
CN108121730B (zh) 一种将数据更新快速同步到业务系统的装置及方法
CN112328680B (zh) 一种电子元器件数据的处理方法、数据接口及管理系统
CN111782373B (zh) 作业调度方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant