LOOPC软件工作室

首页 » 技术文章 » Web文件分发协议 (WFDP v1.0)
famingkuang - 2009/9/27 10:20:00
Web文件分发协议 (WFDP v1.0)

团队:        LOOPC软件工作室
版权:        http://www.loopc.com

版本:        1.0

创建日期:        2009/09/24
修改日期:        2009/09/27

WFDP简介

Web文件分发协议(Web File Distribution Protocol),简称WFDP,是一种在Web站点上分发大文件的协议。它的主要原理是将大文件分割成若干子文件,然后将这些子文件发布到互联网,每个子文件都有一个可独立访问的URL,发布者只需要将文件基本信息和所有子文件的URL、偏移量、大小等信息生成一个.wfdp文件公布,任何支持WFDP的客户端软件都可以下载子文件并合并还原成原始文件。


WFDP功能

快速分发
传统的Web文件上传下载基本都是在同一个服务器上,如果上传或下载人数很多时服务器会耗费很大的资源,上传下载速度都会明显变慢。WFDP可以将子文件分发到不同的服务器,让多个服务器同时提供上传或下载服务,这样就减少了单台服务器的压力,实现了负载均衡,大大提高了上传下载速度。

免费共享
互联网的目的就是互联共享,浩瀚的互联网存在着大量的免费空间,其中大部分都没有很好的利用。作为普通网民,我们一般都没有自己的服务器,而互联网上提供的各种免费空间总有各种限制,如果要收藏、分享大文件就没有很好的方案可选。而WFDP的子文件可以封装到任何现有文件中,如图像、声音、视频等,而且子文件大小通常都比较小,因此WFDP可以充分利用互联网大量的闲置资源,让所有人都可以免费高速存取或分享大文件。


WFDP文件结构

一个WFDP文件通常以.wfdp作为文件名后缀,其内容是按UTF-8编码的XML字符串,用于记录文件的名称、大小、Hash值、最后修改时间、发布者以及所有子文件的字节偏移量、大小、Hash值、URL,可以采用普通的文本编辑器查看和编辑.wfdp文件。

概要:
NetFile
FileName                        //文件名
FileSize                        //文件大小
  HashCode                        //文件MD5值
  LastModifyTime                  //最后修改时间
  Description?                    //文件描述,可空
  Publisher?                      //发布者,可空
  SubFiles
      SubFile+
        Offset                    //子文件在整个文件中的字节偏移量
        Size                      //子文件大小
        HashCode                  //子文件MD5值
        URL                      //子文件URL

语法:
<!ELEMENT NetFile (FileName,FileSize,HashCode,LastModifyTime,Description?,Publisher?,SubFiles)> 
<!ELEMENT SubFiles (SubFile+)>
<!ELEMENT SubFile (Offset,Size,HashCode,URL)>

例子:
<?xml version="1.0"?>
<NetFile xmlns : xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns : xsd="http://www.w3.org/2001/XMLSchema">
  <FileName>老无所依.rmvb</FileName>
  <FileSize>1073741824</FileSize>
  <HashCode>e96ace772f9649d78ab8322edeec4ac2</HashCode>
<LastModifyTime>2009-09-22T15:26:58.578125+08:00</LastModifyTime>
<Description>若是看过科恩兄弟所有电影,特别是那几部登峰造极,国际电影节也给了最高荣誉的,会发现老无所依从里到外都不新鲜。 镜头用法,头一个西部镜头的缓慢空旷,和《冰雪暴》里大雪接天连地的空旷情绪一个... </Description>
  <Publisher>Loopc.com</Publisher>
  <SubFiles>
    <SubFile>
      <Offset>0</Offset>
      <Size>1048576</Size>
      <HashCode>16ea9da7bfba4f0eb302b4b62b53dec9</HashCode>
      <URL>http://soft.loopc.com/netfiles/老无所依/0.part</URL>
    </SubFile>
    <SubFile>
      <Offset>1048576</Offset>
      <Size>1048576</Size>
      <HashCode>782e35905ea144118163baacbb1200b3</HashCode>
      <URL>http://soft.loopc.com/netfiles/老无所依/1.part</URL>
</SubFile>
………..
    <SubFile>
      <Offset>1072693248</Offset>
      <Size>1048576</Size>
      <HashCode>9346810ff88344a4bd7a4309d40524f5</HashCode>
      <URL>http://soft.loopc.com/netfiles/老无所依/1023.part</URL>
    </SubFile>
  </SubFiles>
</NetFile>
admin - 2009/9/28 13:37:00
只要软件支持WFDP协议,就可以随便下载.wfdp格式的文件!
1
查看完整版本: Web文件分发协议 (WFDP v1.0)