TuGraph-Analytics

蚂蚁集团图计算团队开源的超大规模流图处理系统,专注于图计算领域,提供高效的数据采集、清洗、存储、处理和可视化功能,支持实时金融级解决方案。

Check out TuGraph-Analytics on CurateClick

• Copy the embed code to showcase this product on your website

• Share on X to spread the word about this amazing tool

都在说数据已经成为新时代的生产资料。但随着大数据和人工智能等技术的发展,即便人们都知道数据的价值日益凸显,却无法凭借一己之力获取和分析如此大规模的数据。要想富,先修路。要想利用新时代的数据致富,也必须要有趁手的工具。只有合适的工具才能完成大规模数据的采集、清洗、存储、处理和可视化等各个环节。只有具备这样的工具,才能更好地利用数据来推动经济社会发展,并为人类创造更多的价值。yx_2_1.png现如今,免费的,蚂蚁集团图计算团队开源的超大规模流图处理系统——TuGraph-Analytics。正成为一款专注于图计算领域的开源数据处理工具。我们从一个简单的问题开始,让你体会TuGraph-Analytics的强大之处。“谁在以太坊的区块链上进行循环交易?”如何回答这个问题?大数据领域的同学可能会立即举手,Kafka给我上,Flink给我上,实在不行Spark... 这些系统在处理大规模数据时,工作流程通常非常长,开发效率较低,无法迅速地响应用户的需求。各有各的长处,各有各的毛病。因此,我们需要寻找全新的数据分析工具,以提高大数据领域的工作效率,并更好地应对日益复杂和多变的数据处理挑战。新的工具?那么试试GPT?Q:谁在以太坊的区块链上进行循环交易?GPT:这个问题需要进行数据分析,涉及到大量的以太坊交易数据。如果要确定谁在以太坊的区块链上进行循环交易,可以通过以下步骤:获取以太坊的交易数据,包括交易哈希、发送方地址、接收方地址、交易类型和交易金额等信息。对交易数据进行清洗和处理,去掉无效数据和重复数据等。利用图计算等技术,构建以太坊交易网络,并对交易网络进行分析,识别出交易中的循环交易。进一步分析循环交易的发送方地址和接收方地址,识别出谁在以太坊的区块链上进行循环交易。需要注意的是,由于以太坊区块链的去中心化特性,交易数据的获取和分析可能存在一定的难度和挑战。姿势不对,再来一次。Q:谁在以太坊的区块链上进行循环交易?一句话回答GPT:无法通过一句话回答,需要进行数据分析。可见,虽然GPT等人工智能在自然语言处理和图像识别等方面已经取得了显著进展,但在数据洞察方面仍然存在挑战。因为数据洞察往往需要结合具体的业务背景和领域知识,而这些人类经验和智慧难以完全被机器模拟和替代。此外,在数据清洗、数据预处理、特征提取和建模等关键步骤上,仍需要人类专家进行干预和优化。今天,我们使用开源的TuGraph-Analytics与流式消息系统Kafka,不仅能够很好回答谁在以太坊的区块链上进行循环交易,而且能够搭建秒级实时的金融级解决方案,客官且看----何为循环交易?来看这个例子yx_2_2.png图中有7个不同颜色的点代表交易账户,每个账户对应以太坊上的一个钱包地址。一个账户转出到另一个账户的过程,表示为图中有方向的边,这个图中共有8笔交易构成一个交易网络。yx_2_3.png将交易头尾相连,能够找到返回起点的循环,就可以视为循环交易。循环交易通常是指通过多个交易步骤,从而实现利用价格差异来获取利润的一种交易方式。其过程包括在不同的市场或不同的时间段内进行买卖行为,从而获得利润。在交易网络图中,可以使用环路检测算法来发现潜在的循环交易路径,并检索这条路径上的账户就能够知道哪些账户可能参与了循环交易。可是,当一笔新的交易发生时——yx_2_4.png可见,环路检测并不是一劳永逸的静态图算法。随着消息实时不断到来,交易网络图中的最新环路不断发生变化。如果关心每一笔交易产生的交易环路,这将成为一个极其复杂的问题。以太坊是基于区块链技术的智能合约平台,其交易速度取决于众多的参与者。交易成交速度通常在15秒到1分钟之间,交易吞吐量可以达到每秒数十到数百笔交易。但别忘了,以太坊还有海量的历史交易数据,相当于存在一个相当复杂的”底图“,循环交易问题不仅需要考虑新的交易,还必须综合分析历史上所有的交易!这就是为什么强如GPT也无法一句话回答这个问题的原因。那么真的能够在每笔交易发生时实时地检测循环交易的产生吗?实际上,使用专业的图计算系统TuGraph-Analytics,这个问题只需要几十行代码即可解决,还能够迅速结合Kafka搭建起交易听单->交易网络生成->实时循环交易检出->给下游发送消息完整的金融级实时解决方案。更关键的是,这一切都是免费的~ 感谢开源!我们在TuGraph-Analytics新建一个图计算作业,只需大约40行代码,即可完成整个端到端流程。yx_2_5.png代码描述如下,需要自取。在这短短40行中,我们创建了以太坊交易的整个底图,命名为ethereum_transaction_network。把来自Kafka的实时交易流table_new_trade不断添加到命名为ethereum_transaction_network的图中。接下来,每当有新的交易到达的时刻,都将触发一次3跳循环交易模式的检查,把更新的结果存入位于Kafka的外部表tbl_circular_trade,可以很方便地分发给下游组件。实时交易数据我们采用了XBlock-ETH: Extracting and exploring blockchain data from Ethereum这篇论文整理的真实的以太坊区块数据,在这个Demo中把以太坊地址隐去,以一个数字替代,即每个数字代表以太坊的一个钱包地址,相同的数字表示相同的地址。生成的循环路径结果我们拼接成一个字符串,方便观察。 set geaflow.dsl.window.size = 200; -- 以太坊交易的底图 CREATE GRAPH IF NOT EXISTS ethereum_transaction_network ( Vertex address (id bigint ID), Edge trade (srcId bigint SOURCE ID, targetId bigint DESTINATION ID, mount double) ) WITH ( storeType='rocksdb' ); -- 从Kafka监听最新的交易 CREATE TABLE IF NOT EXISTS table_new_trade ( srcId bigint, targetId bigint, mount double ) WITH ( type='kafka', geaflow.dsl.kafka.servers = '{your.kafka.server.ip}:9092', geaflow.dsl.kafka.topic = 'tbl-trade' ); -- 将新的交易添加到底图 INSERT INTO ethereum_transaction_network.address SELECT srcId FROM table_new_trade; INSERT INTO ethereum_transaction_network.address SELECT targetId FROM table_new_trade; INSERT INTO ethereum_transaction_network.trade SELECT srcId, targetId, mount FROM table_new_trade; -- 一张外部表连接Kafka以输出检出的循环交易结果 CREATE TABLE IF NOT EXISTS tbl_circular_trade ( circular VARCHAR ) WITH ( type='kafka', geaflow.dsl.kafka.servers = '{your.kafka.server.ip}:9092', geaflow.dsl.kafka.topic = 'tbl-circular-trade' ); -- 使用以太坊交易图进行实时查询 USE GRAPH ethereum_transaction_network; -- 查询3跳循环交易模式存入位于Kafka的外部表 INSERT INTO tbl_circular_trade MATCH (v1)-[:trade]->(v2)-[:trade]->(v3)-[:trade]->(v4) WHERE v1.id = v4.id AND v1.id != v2.id AND v1.id != v3.id AND v2.id != v3.id RETURN concat(CAST(v1.id as VARCHAR), '->', CAST(v2.id as VARCHAR), '->', CAST(v3.id as VARCHAR), '->', CAST(v4.id as VARCHAR)) AS circular ;实机演示!打开一个Kafka Producer,产生消息流,将交易不断发送给Kafka,如左侧终端窗口所示。平均1秒左右,最新的图中循环交易检出结果就打印在右侧的Kafka Consumer窗口中。yx_2_6.png当添加一些新的交易日志时,右侧的Kafka Consumer窗口中也实时更新了新的循环交易检出结果,响应十分迅速。yx_2_7.png以上便是开源图计算平台TuGraph Analytics结合Kafka,快速搭建的以太坊循环交易检出解决方案。虽然这只是一个小小的demo,但实机演示中强大的图计算语法和系统性能可见一斑,大大较低了我们普通人搭建图计算应用的难度和成本。说多不如现在开始行动,TuGraph Analytics是你不容错过的利器。现在就赶快访问https://github.com/TuGraph-family/tugraph-analytics,亲自体验TuGraph Analytics的魅力吧!此外,我们欢迎各位参与到开源贡献中来,为社区贡献自己的智慧和代码,共同促进国产图计算系统的发展。[参考文献]P. Zheng, Z. Zheng, J. Wu, and H.-N. Dai, “XBlock-ETH: Extracting and exploring blockchain data from Ethereum,” IEEE Open J. Comput. Soc., vol. 1, pp. 95–106, May 2020, doi: 10.1109/OJCS.2020.2990458.

Latest Weekly Picks

make.ink favicon
Weekly Pick

Your AI tattoo generator for pro-grade concepts

Leo Wade
sellfy.com favicon
Weekly Pick

A code-free online store builder to turn views into revenue. Sell digital products, subscriptions, and merch, without fees or hassle.

Maris
www.videotoblog.ai favicon
Weekly Pick

Convert videos into awesome blog posts.

Video To Blog
www.sellerpic.ai favicon
Weekly Pick

SellerPic is the all-in-one AI design platform for e-commerce

SellerPic
fastimage.ai favicon
Weekly Pick

Fast Image AI instantly transforms your photos into stunning styles like Ghibli, Sketch, and Pixar. Effortlessly control image elements and create amazing effects with just one click.

Fast AI Team
linkedinpro.daisy.so favicon
Weekly Pick

AI-powered tool that transforms casual photos into professional LinkedIn headshots instantly. No photographer needed—just upload and download.

Gabriel
crevas.ai favicon
Weekly Pick

Crevas unifies Veo 3, Sora 2, Nano Banana and more into one intuitive canvas — so filmmakers can script, prompt, and generate cinematic stories without switching tools or losing consistency.

Spark Alpha
fotominiatur.com favicon
Weekly Pick

AI Foto Edit - Text to Image & Image Edit

foto miniatur