资料上说bitfield是分块的位表示结构,即表示每个用户正在下载的文件中那个块是下载了的.
假如说有1000个正在下载10个1G的文件,一个块的大小为1M,这样1G就分成1024个块.
那么Tracker服务器上保存的btfield结构为:1000人*1000块*10个文件/8(1个字节8位)=1250000字节
BTComet分块甚至可以是32K,那么这个bitfield结构就更大了,被分成32768个块,这样就要40960000字节的空间了,是不是这样理解呢?
假如说有1000个正在下载10个1G的文件,一个块的大小为1M,这样1G就分成1024个块.
那么Tracker服务器上保存的btfield结构为:1000人*1000块*10个文件/8(1个字节8位)=1250000字节
BTComet分块甚至可以是32K,那么这个bitfield结构就更大了,被分成32768个块,这样就要40960000字节的空间了,是不是这样理解呢?
解决方案 »
- 上海有什么好的网络信息安全认证培训啊?请各位推荐下
- vc++ 6.0 nFlags &MK_CONTROL非零即Control被按下? "nFlags &MK_CONTROL "是什么,怎么没见过这样的表
- 关于m_hWnd
- vc自动创建数据源问题
- 关于基于Microsoft Access数据库的程序
- 如何在使用图形界面程序时同时打开控制台窗口?
- 高分请教关于ListCtrl显示缩略图
- 奇怪的很!!!
- 请教高手:求救,网络传输64M文件需要10分钟,如何提高速度
- 一个初学者的烦恼,郁闷啊~~~~~~~
- 用DAO操作Access数据库,复制表或者转移表到另一个数据库,怎么操作?
- 谁有能编译通过的XTreme9.61WorkSpace文件?
-----------------------------------------------------------------------------
我想应该是服务器上保管所有用户和文件下载实时情况的全部信息,就象一个数据库的服务器端;用户手中也数据库的部分数据,里面应该只有自己正在下载的文件的详细情况和目前其他正在下载该文件的用户的IP等信息,就象数据库的一小部分。
----------------------------------------------------------------------------------
我上面所说的这个”下载信息“也是指XueBoy163(菜刀之恋)朋友说的这些内容,而非“下载数据”,里面记录的是用户某个文件已下完了哪些块,以及还有哪些块还没下。
客户端只记录Tracker返回的peers的相关信息,BitComet一般会返回300个。
Tracker记录客户端的块信息的开销不算很大。不过BitTorrent系统的瓶颈本来就在Tracker服务器。
应该是有缓冲,不过是每2分钟服务器和客户端更新一次.
。是不是更新了就保存?