Top-BT: An Infrastructure Free BitTorrent Client with Fast Download Time and Less Internet Traffic

Top-BT是一款基于BitTorrent协议的客户端软件,它能够在实现快速下载的同时显著减少跨ISP及总体产生的互联网流量。通过测量到其他节点的实际路径并选择距离较近的节点进行连接,Top-BT能够有效降低网络负载。
来源: http://www.cse.ohio-state.edu/~sren/topbt/

Top-BT: An Infrastructure Free BitTorrent Client with Fast Download Time and Less Internet Traffic




Introduction

Top-BT is a BitTorrent client that downloads files fast butgenerates cross-ISP and total induced Internet traffic much less than other popular BitTorrent clients (e.g., Azureus, BitComet, torrent etc. based on original BitTorrent choking algorithm, and BitTyrant). It downloads fast because it tries to use low upload cost to gain high download rate. It generates less traffic because it actively measures routing paths to its peers, and uses measured data to choose close peers to unchoke.

Top-BT is implemented based on BitTornado and LH-ABC using Python.

News

08/24/2008: Top-BT 1.0 has been released to the public. 10/05/2008: Top-BT 1.1 has been released. Top-BT is now based on LH-ABC code with a more friendly user interface. We provide Linux (Unix), Windows, and source code.

Q&A

  • Q: How does Top-BT differ from Ono and P4P?

    A: Ono utilizes existing CDN infrastructures to localize hosts, so that a host can choose close peers to connect to. Ono also has a few challenges: 1) when there are many native BT clients online, an Ono client is not able to accurately tell its distances to those native clients, because they do not localize themselves; 2) although a single Ono client sends only 32K DNS traffic per day, if there are 1 million Ono clients online simultaneously, it can cause 32G DNS trafic on CDN nameservers. This can trigger CDN to filter Ono DNS traffic.

    On the other hand, P4P is a framework through which ISPs can provide information to applications, so that applications can optimize their performance. P4P requires ISPs to widely deploy their frameworks. Another challenge for P4P is, what type of information ISPs should provide to satisfy different applications quality requirements.

    In comparison, our Top-BT client: 1) does not require modification to existing Internet infrastructure, and is a completely user-level tool; and 2) it runs well even when all the rest clients are native BT-clients; and 3) it directly measures distances to other peers, instead of using coordinates to calculate distances.


  • Q: How to turn on Top-BT feature?

    A: Under "File" menu, "Preferences", "Network" tab, "Advanced Network Settings", there is a "TopBT" field. Drag down to choose either "Enabled (Link-Hop Aware)" or "Enabled (AS-Hop Aware)".

Code Release

<style normal> downloading newest version of Top-BT:<br> </style>
`srvctl start nodeapps` 命令用于在 Oracle RAC(Real Application Clusters)环境中启动节点级别的资源,如 VIP、监听器、ONS 和 GSD(Grid Naming Service Daemon)等。你遇到的错误: ``` PRKH-1010 : Unable to communicate with CRS services. PRKH-3003 : An attempt to communicate with the CSS daemon failed ``` 表明 **Oracle 集群就绪服务**(CRS, Cluster Ready Services)或 **CSS 守护进程**(Cluster Synchronization Services)未运行或无法访问。 --- ### 🔍 错误原因分析 1. **CRS 服务未启动** - CRS 没有在当前节点上运行。 2. **Grid Infrastructure 未安装或配置失败** - 可能 Grid Infrastructure(GI)未正确安装或 `root.sh` 脚本执行失败。 3. **权限问题** - 当前用户(oracle)没有权限与 CRS/CSS 通信。 4. **OCR 或 Voting Disk 问题** - OCR(Oracle Cluster Registry)或 Voting Disk 损坏或不可访问。 5. **网络问题** - 私网或公网配置错误,导致节点间通信失败。 6. **CSSD 进程未运行** - `cssdagent` 或 `cssdmonitor` 没有启动。 --- ### ✅ 解决方案 #### ✅ 步骤 1:使用 root 用户检查 CRS 状态 切换到 `root` 用户并运行: ```bash # 查看集群状态 /opt/oracle/product/19c/grid/bin/crsctl check cluster /opt/oracle/product/19c/grid/bin/crsctl check css # 或者查看本地 CRS 是否启动 crsctl check crs ``` > 如果提示命令找不到,请根据你的 GI 安装路径调整,常见路径为: > - `/u01/app/19.3.0/grid/bin/crsctl` > - `/grid/19.3.0/bin/crsctl` --- #### ✅ 步骤 2:如果 CRS 未启动,以 root 启动它 ```bash # 启动 CRS(必须用 root) /u01/app/19.3.0/grid/bin/crsctl start crs ``` 这将启动以下关键进程: - `CRSD` (Cluster Ready Services Daemon) - `CSSD` (Cluster Synchronization Services Daemon) - `OCRD` (Oracle Cluster Registry Daemon) > ⚠️ 注意:此操作会影响整个集群,建议先确认是否已有其他节点运行。 --- #### ✅ 步骤 3:启用自动启动(可选但推荐) 确保下次重启时 CRS 自动启动: ```bash # root 用户下执行 crsctl enable crs ``` --- #### ✅ 步骤 4:验证 CSSD 是否运行 ```bash ps -ef | grep cssd ``` 你应该看到类似输出: ``` grid 12345 1 0 10:00 ? 00:00:00 /u01/app/19.3.0/grid/bin/cssdagent grid 12346 1 0 10:00 ? 00:00:00 /u01/app/19.3.0/grid/bin/cssdmonitor ``` 如果没有,说明 CSS 没有正常启动。 --- #### ✅ 步骤 5:切换回 oracle 用户并重试命令 ```bash su - oracle srvctl start nodeapps ``` > 在旧版本中(如 11g),`nodeapps` 包括 VIP、GNS、ONS、listener;但在 12c 及以上版本已被弃用,取而代之的是: > > ```bash > srvctl start vip -k <network_number> > srvctl start listener > ``` 请确认你的 Oracle 版本是否支持 `nodeapps`。 --- #### ✅ 步骤 6:查看日志定位根本问题 日志位置通常位于: ```bash # Grid Infrastructure 日志 /u01/app/grid/diag/crs/<hostname>/crs/trace/crsd.trc /u01/app/grid/diag/crs/<hostname>/cssd/trace/cssd.trc # 使用 adrci 查看更方便 adrci ADRCI> SHOW PROBLEM ADRCI> IPS CREATE PACKAGE PROBLEM 1 ADRCI> SHOW TRACEFILE ``` --- ### 🧰 补充工具命令 ```bash # 查看所有资源状态(需 CRS 已启动) crsctl status resource -t # 查看 OCR 状态(root 或 grid 用户) ocrcheck # 查看 voting disk crsctl query css votedisk ``` --- ### ❗注意要点 | 项目 | 建议 | |------|------| | 执行用户 | `crsctl start crs` 必须由 `root` 执行 | | 软件拥有者 | CRS 属于 `grid` 用户,不是 `oracle` | | srvctl 使用者 | `srvctl` 应由 `oracle` 或 `grid` 用户运行 | | 版本兼容性 | 12.2+ 不再使用 `nodeapps`,而是单独管理 | --- ### 示例:完整修复流程(假设路径为标准安装) ```bash # Step 1: 切换到 root sudo su - root # Step 2: 检查 CRS 状态 /u01/app/19.3.0/grid/bin/crsctl check crs # 若失败,则启动 CRS /u01/app/19.3.0/grid/bin/crsctl start crs # Step 3: 等待几分钟让服务初始化 sleep 60 # Step 4: 再次检查 /u01/app/19.3.0/grid/bin/crsctl check cluster # Step 5: 切换回 oracle 用户 su - oracle # Step 6: 启动 nodeapps(仅适用于 11g~12.1) srvctl start nodeapps ``` > 对于 12.2+,应改为: > > ```bash > srvctl start listener > srvctl start vip -n hisrac1 > srvctl start gns # 如果用了 GNS > ``` --- ### ✅ 成功标志 当以下条件满足时,表示问题解决: - `crsctl check crs` 显示 all daemons are online - `ps -ef | grep evm`、`css`、`crs` 相关进程存在 - `srvctl status listener` 返回“is running” - `srvctl start nodeapps` 不报错 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值