boontorrent
1.0.0
2018年宾夕法尼亚大学高级设计项目
CIS系第一名
曹大卫 ○ 迪伦·曼 ○ 亚历克斯·摩西 ○ 格雷厄姆·莫斯利
BitTorrent 流量丰富,但难以分析。为了捕获足够的数据进行重要分析,需要大型分布式解决方案。目前,尼尔森等研究公司未能正确解释非法媒体消费。分析 BitTorrent 流量将使公司能够研究以前传统媒体受欢迎程度衡量方法无法看到的消费者行为。
我们的解决方案是部署监听 BitTorrent 主线分布式哈希表 (DHT) 的节点。每个节点都运行 the8472 的优秀 repo mldht 的分叉版本。我们的叉子可以在这里找到。一旦我们的节点被 DHT 中的对等点发现,它就会开始路由查询、解析 torrent 并收集有关其收到的查询的元数据。我们通过管道处理这些数据,并将处理结果存储在 Amazon S3 中以便于访问。
BoonTorrent 的主要产品是用于研究的机器可读时间序列数据。我们还实现了两个基于该数据构建的概念验证应用程序。第一个是热图可视化,根据最后 2 分钟的流量实时更新,第二个是用于定位特定 torrent 文件的搜索引擎。在一个月内,我们的搜索引擎已索引了 120 万个种子,代表 4600 万个文件,总大小接近 4 PB。我们的管道和两个应用程序每天的运行费用约为 10 美元,我们每天记录和分析大约 700 万个数据点。我们的工作表明,可以经济高效地监控 BitTorrent 流量。
地点 | 描述 |
---|---|
索引器-lambda | AWS Lambda,对由 s3 对象创建事件触发的已解析 torrent 进行索引。 |
torrent-摘要-lambda | AWS Lambda 从 S3 检索给定的 torrent 并解码元数据。 |
原型 | 原型实现。 |
Spark-Scala | 本地火花处理代码。 |
用户数据.sh | EC2 实例的用户数据脚本。 |
文档 | 屏幕截图和参考资料。 |
应用程序 | 使用 ejs 编写的概念验证 Web 应用程序。 |
可以在此处找到示例 Firehose 日志文件。
在一个月的时间里,我们抓取并索引了 120 万个种子,描述了 4600 万个文件,总计 4PB。
如果您对原始 .torrent 文件或元数据感兴趣,请提出问题。