|
多源的下载技术上没有多大的难点,比起BT等技术的复杂的传输协议。下载技术还是建立在FTP和HTTP基础上的,对现在的源代码做少量修改就可以了。
问题的关键在源的获取,我考虑到三种可能性:
1、第一种是可能性最低的。也就是C/S的结构。Server所有下载客户端共享出来的资源由Server进行索引。客户端连到服务器查询即可。这样需要有大吞吐量的服务器端编程功底,还要租用专门的服务器。对于开源界开说开销太大。如故有人创业的话不放考虑,但在三代公司面前机会不大。
2、第二种可能性是走QQ Linux客户端的传统道路,也就是分析迅雷的协议,做兼容客户端。这样做的好处是我们的客户端连共享的实现都可以省了,我们只下载,不共享(无耻了点)。这样做代码的工作量最小。
3、第三种是使用DHT对资源进行索引。这样可以避免对服务器依赖,但是效率有待验证。而且DHT网络也需要空间维护一批相对稳定的节点列表以供客户端bootstraping。
个人觉得可以开始做这样的下载软件,多线程下载。通过插件获得镜像和不同的源。这样以上三种情况都可以分别实现。没有插件软件一样可以作为普通的多线程下载软件使用。
对于三种可能性:第一种,可以参照bt tracker的设计;第二种,不知道是否有人提供的迅雷的洗衣的资料;第三种,我11、12月份会放出一份部分源自eMule的DHT实现。 |
|