这几天一直在研究如何改进现有的BT网络的效率,现在有了一点小小的成果
大概思路是这样的,对于一些已经拓扑结构以及节点之间延迟的网络(并不算太苛刻,对于例如数据中心的网络来说,是可以实现的),
普通的BT网络的tracker部分是随机选择节点作为邻居列表的,但是如果我们能轻松的get到节点的延迟,就可以不再随机选择,而是根据节点之间的延迟排序,
把和当前结点延迟比较小的节点作为邻居返回,这里没有去选择上传量大的节点,因为在已经延迟的网络中,传输延迟来的比上传量更加重要(后期需要验证)。
代码部分就不贴了,很好实现,就是一个排序,(是基于peersim的BT网络,主要修改bittorren.java里有关tracker部分)现在准备开始分析数据。这倒有点麻烦,因为我修改后的BT网络,相较于原来的网络,似乎能在规定时间内,能使得更多节点完成下载,并且下载时间也比原来短,但是同时也会使得每个节点的平均邻居数目减少,最后怎么来权衡,还需要考虑,并且BT网络的衡量因素也需要去了解。
总之能跑出结果,并且能有提升,还好很开心,虽然适用范围可能很局限。。。
时间: 2024-10-04 22:56:00