一种面向以太坊用户行为的大数据分析系统及数仓建立方法

文档序号:33889118发布日期:2023-04-21 00:55阅读:28来源:国知局
一种面向以太坊用户行为的大数据分析系统及数仓建立方法

本发明属于数仓建模和大数据分析,具体涉及一种面向以太坊用户行为的大数据分析系统及数仓建立方法。


背景技术:

1、区块链技术自诞生之日起就受到了广泛关注,其应用范围从加密货币以及数字资产交易进一步拓展到供应链协同、社会治理以及政府管理等诸多领域。对于公链上的区块链交易,由于其透明和公开的特点,允许科研人员对隐藏在区块链背后的社会学、交易行为学进行学术探讨和研究;另一方面,数据的监管则增强科研人员的对特异数据的敏感度,如用户异常交易、旁氏骗局等社会群体行为、交易心理学相关的学术研究。

2、近年来,大数据已广为人知,并被认为是信息时代的新“石油”,大数据在大多数人眼中已经不再是刻板的技术概念,它已转变成一种信息资源甚至是一种数据处理的思维方式,它对海量数据提供了包括数据采集、数据存储、数据分析在内的从源头到结果的数据分析方案。区块链与大数据作为两个独立的技术发展方向在共生发展。一方面,区块链为大数据突破樊篱提供了可能的解决方案;另一方面,日渐成熟的区块链技术也需要大数据这样的平台支持。

3、庞大的链上数据的获取、存储、管理、以及分析都需要比较专业的技能来进行,这对于绝大多数人来说都是一个难以在短时间内解决的问题。尤其是对于海量链上数据的存储管理,目前没有形成一个比较成熟的存储方法和架构,这就会造成空间占用和数据分析效率两方面的问题。


技术实现思路

1、为了解决现有技术中存在的问题,本发明提供一种面向以太坊的基于数据仓库的大数据分析平台,旨在使用数据仓库体系解决数据存储管理问题,和使用一站式的大数据分析系统解决大多数以太坊相关人员数据分析难的问题。

2、为了实现上述目的,本发明采用的技术方案是:一种基于以太坊公链数据的数据仓库建立方法,包括以下步骤:

3、在原始数据层/数据接入层,将原始数据保存到数据仓库中,该层次数据与原始数据保持一致,用于对数据分析过程中出现的误差问题进行回溯;

4、在明细数据层,针对ods层的数据,在数据存储时遵守数据存储范式,消除冗余;

5、在汇总数据层,将明细数据存放,根据上层数据分析的需求,将明细数据层的事实表数据、维表数据以及相关数据进行提前join得到一张或多张明细数据宽表;

6、在数据应用层,使用提供的明细数据宽表进行数据分析,当新增一个数据应用时,直接使用明细数据层进行计算,当新增的多个数据应用出现维度耦合时,将共同维度下沉到汇总数据层建设数据宽表;

7、在数据分析层,使用数据应用层计算得到的标签或汇总数据层的明细数据宽表,以及维表数据进行相关的数据深度分析,得到对交易行为的分析结果。

8、原始数据包括以太坊公链数据、dapp数据、智能合约数据和币价数据。

9、针对ods层的数据,在数据存储时遵守数据存储范式,消除冗余时,对于以太坊公链数据使用“星座模型”来存储数据,底层会将数据区分为事实表和维表,对于dapp,智能合约和币价数据,对ods层的原始数据通过数据清洗模块进行处理后存储到该层。

10、在宽表建设层,根据上层数据分析的维度,将数据解析和数据清洗层的多种数据根据分析维度进行关联获得大宽表,减少数据分析过程中重复的关联阶段,具体如下:

11、一,以太坊交易信息宽表:基于dwd层的内部交易和外部交易事实数据,将交易相关的区块维度信息和外部交易补充维度信息关联进数据中,获得以太坊交易信息宽表;

12、二,代币转移宽表:基于dwd层的token转移事实数据,将代币转移所相关区块维度信息、代币维度信息、合约维度信息以及相关的外部交易信息,外部交易补充信息关联进代币转移信息数据中,获得代币转移宽表。

13、三,logs信息宽表:基于dwd层的logs数据,将相关连的维度信息(区块维度信息)以及相关的外部交易信息,外部交易补充信息关联进去,得到logs信息宽表。

14、本发明同时提供一种基于以太坊公链数据的大数据分析系统,包括数据采集模块、数据解析模块、数据清洗模块、数据仓库模块、dashboard展示模块和链路监控模块;

15、数据采集模块包括以太坊公链数据采集单元和第三方数据采集单元;以太坊公链数据采集单元采用以太坊本地钱包openethereum将链上数据同步到本地,同时采集节点上部署的nifi客户端负责将采集到的链上数据转发给数据解析模块;第三方数据采集单元采集dapp,智能合约和币价,并同时使用nifi集群的分发节点转发到数据清洗模块;

16、数据解析模块将采集到的链上数据根据不同的维度解析为不同的数据,同时使用nifi分发节点将解析后的数据转发到数据仓库模块。

17、数据清洗模块将采集到的dapp,智能合约和币价进行去噪去重,预聚合以及标准化操作,将数据清洗之后通过nifi分发节点转发到数据仓库模块。

18、数据仓库模块针对采集到的以太坊的数据和相关数据,结合上层数据分析的通用维度,将数据进行分层存储;

19、dashboard展示模块将数据仓库模块中数据价值计算层和数据分析层的分析结果以图表的形式可视化到前端,以供用户查看分析结果;

20、链路监控模块基于底层的数仓分层,用于进行从数据采集,数据接入,一直到数据分析的完整链路监控,包括大数据集群组件的监控,各个模块任务程序的监控以及数据同步的监控。

21、数据采集模块,对于数据采集与转储集群的节点,部署nifi客户端和以太坊本地钱包open ethereum;本地钱包open ethereum通过api拉取以太坊公链数据并保存至集群本地;nifi客户端通过调用脚本,将数据采集与转储集群的本地公链数据和其他相关数据转发到数据仓库集群的原始数据层;对于数据仓库集群的节点,部署hadoop系列大数据组件以及基于内存的大数据计算组件spark;对于从数据采集集群转发过来的原始数据存放在ods层,根据不同的分类分为ethereum、dapp、mart_contract以及price四部分。

22、在数据仓库模块,选择分布式存储系统hdfs作为数据仓库,同时选择hive作为离线数据分析工具。

23、在数据解析模块,采用ethereumetl工具将原始数据解析为:外部交易数据,内部交易数据,logs数据,token转移数据,外部交易补充数据,token维度数据,智能合约维度数据和区块维度数据八种类型数据,

24、在数据清洗模块,将dapp数据将不同数据源的数据通过dapp id映射进行合并,保持一个完整的,不重不漏的dapp数据集;对于智能合约数据,对原始数据进行去重,保持一个没有重复的智能合约集合;对于币价数据,对多种不同种类的币价进行分类存储,减少耦合;dapp数据、智能合约数据以及币价数据的处理都在ods层的原始数据的基础上通过spark高速大数据计算组件来完成。

25、数据仓库模块针对以太坊海量数据,选择分布式存储系统hdfs作为数据仓库,同时选择hive作为离线数据分析工具,数据仓库包括:数据接入层、数据解析和数据清洗层、宽表建设层、数据价值计算层以及数据分析层。

26、与现有技术相比,本发明至少具有以下有益效果:

27、提出了面向以太坊公链数据的维度建模方法,根据实际业务意义将以太坊原始数据解析为交易事实信息和多种维度信息,高度适配区块链交易行为;

28、基于区块链数据的特性,在应用数据层划分不同的分析角度,从上至下延申至数据服务层,关联不同分析角度的事实表和维度表,基于“以空间换时间”的思想得到不同分析角度的宽表,提升数据分析效率,服务于上层的具体业务分析;

29、使用数据仓库体系解决了数据存储管理问题,各层任务划分明确,串行工作,提供了问题精确溯源的能力;

30、设计了以太坊大数据分析系统,提供从获取数据,解析数据,数据分析,到数据治理的一站式服务平台,解决绝大部分以太坊相关人员专业技术能力欠缺的问题,使用户无需了解原始数据的具体业务含义,就能快速获取以太坊数据分析结果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1