一种基于互联网的文件分发系统及方法

文档序号:7716147阅读:173来源:国知局
专利名称:一种基于互联网的文件分发系统及方法
技术领域
本发明属于网络通信技术领域,涉及一种基于互联网的文件分发系统及方法。
背景技术
随着网络的普及,一些基于传统媒介(光盘、磁带等)的信息(影视、音乐等)逐
渐以网络作为传播的媒介。这些网络资源往往以较大的文件形式出现,供大家下载。方便、
高效且可靠地获取这类网络文件是当今网络技术一个值得探索的课题。随着连接网络的
终端数量急剧增加和网络结构的多样化与复杂化,传统的集中式文件分发模式面临着伸縮
性、连接突发性、可控性和可靠性等问题,因此迫切需要研究新的应用模式。 传统的集中式文件分发模式如图一所示。当有一个较大的文件要通过网络向位置
分散的用户分发时,系统会把要发布的文件上传到Web服务器或FTP服务器上,然后通知用
户从该中心服务器下载文件。服务器承担了全部的上传(服务器向下载者传递文件)开销,
它的处理能力和传输速率是影响文件分发速度的瓶颈。随着用户数量的增多,每个用户可
获得的下载速度将会降低,同时服务器也会因负载过大而宕机。因此很多服务器都会限制
用户人数和下载速度,给用户带来诸多不便。 近年来也发展有根据业务覆盖范围分发网络文件的分发方法,如申请号为 200910084776. 5的专利文献,这种方法虽然缓解了总服务器的开销和压力,但增加了大量 的中间服务器,同时也使文件的分发路径变得繁琐,不利于分发速度的提高。专利申请号为 200810103137. 4的专利文献公开了一种分时下载的方法来减轻服务器的压力,但这种方法 在减轻服务器压力的同时也限制了下载的时间,这与用户想实时下载的意愿相违背,不能 满足未来的发展需要。

发明内容
本发明所要解决的技术问题是提供一种基于互联网的文件分发系统,可缓解文 件分发服务器的压力,提高分发文件的效率和可靠性。 另外,本发明还提供一种上述基于互联网的文件分发系统的文件分发方法。
为解决上述技术问题,本发明采用如下技术方案。 —种基于互联网的文件分发系统包括中心服务器,至少一关联服务器,至少一客 户端;所述中心服务器与至少一个关联服务器相连,用以从关联服务器接收文件或向关联 服务器发送文件;所述关联服务器与至少一个客户端相连,用以向客户端下发文件或接受 客户端上传的文件;所述客户端与关联服务器相连。 作为本发明的一种优选方案,所述客户端仅连有一个关联服务器。 作为本发明的另一种优选方案,所述客户端连有多个关联服务器。 作为本发明的再一种优选方案,所述系统还包括服务器控制端,所述服务器控制
端分别与中心服务器和关联服务器相连,用以管理和调度所有服务器的访问。 作为本发明的再一种优选方案,所述客户端采用P2P方式与其他客户端直接通信。
—种基于互联网的文件分发方法包括以下步骤 步骤A,客户端与关联服务器相连,并向关联服务器上传文件; 步骤B,关联服务器接收客户端上传的文件,并将文件上传至中心服务器; 步骤C,中心服务器从关联服务器接收文件,并将文件发送至所有的关联服务器; 步骤D,客户端选择接收或拒绝关联服务器的文件。 作为本发明的一种优选方案,所述方法的具体步骤为 步骤一,客户端读取文件相关信息,生成文件列表数据包上传到自己所属的关联 服务器; 步骤二,自己所属的关联服务器根据所述文件列表数据包增加文件列表数据,并 将文件列表数据上传到中心服务器; 步骤三,中心服务器获得文件列表数据后,主动向客户端请求文件; 步骤四,客户端收到请求后将文件数据上传至中心服务器; 步骤五,中心服务器将文件数据和文件列表数据分发给所有关联服务器; 步骤六,关联服务器接收完文件数据和文件列表数据后,将文件列表数据分发给
其下的所有客户端; 步骤七,客户端向自己所属的关联服务器发送同意接收文件请求,自己所属的关 联服务器向客户端发送文件数据。 作为本发明的另一种优选方案,所述方法还包括服务器控制端,所述服务器控制
端分别与中心服务器和关联服务器相连,用以管理和调度所有服务器的访问。 作为本发明的再一种优选方案,所述客户端采用P2P方式与其他客户端直接通信。 作为本发明的再一种优选方案,所述方法还包括将客户端文件与服务器文件进行 对比,判断是否为同一文件;所述对比的方法包括文件名对比,文件大小对比和文件内容对 比。 本发明的有益效果在于它分发路径简捷,大大缓解了文件分发服务器的压力,提 高了分发文件的效率和可靠性,且支持断点续传,使文件上传和下载都可以暂停或继续。


图1为传统集中式文件分发示意图; 图2为本发明的系统结构示意图; 图3为实施例3中服务器控制端的连接示意图; 图4为实施例4的系统结构示意图。
具体实施例方式
下面结合附图对本发明的具体实施方式
作进一步详细说明。 对于大量客户端和大量数据文件时,文件分发的效率和可靠性将完全依赖服务器
端的处理能力和网络的带宽。 实施例一
—种基于互联网的文件分发系统包括中心服务器,至少一关联服务器,至少一客 户端;所述中心服务器与至少一个关联服务器相连,用以从关联服务器接收文件或向关联 服务器发送文件;所述关联服务器与至少一个客户端相连,用以向客户端下发文件或接受 客户端上传的文件;所述客户端与关联服务器相连。 所述客户端仅连有一个关联服务器。所述客户端连有多个关联服务器。所述系统
还包括服务器控制端,所述服务器控制端分别与中心服务器和关联服务器相连,用以管理
和调度所有服务器的访问。所述客户端采用P2P方式与其他客户端直接通信。 —种基于互联网的文件分发方法包括以下步骤 步骤A,客户端与关联服务器相连,并向关联服务器上传文件; 步骤B,关联服务器接收客户端上传的文件,并将文件上传至中心服务器; 步骤C,中心服务器从关联服务器接收文件,并将文件发送至所有的关联服务器; 步骤D,客户端选择接收或拒绝关联服务器的文件。
所述方法的具体步骤为 步骤一,客户端读取文件相关信息,生成文件列表数据包(指把文件列表数据打 成多个包在网络下传输)上传到自己所属的关联服务器; 步骤二,自己所属的关联服务器根据所述文件列表数据包增加文件列表数据,并 将文件列表数据上传到中心服务器; 步骤三,中心服务器获得文件列表数据后,主动向客户端请求文件; 步骤四,客户端收到请求后将文件数据上传至中心服务器; 步骤五,中心服务器将文件数据和文件列表数据分发给所有关联服务器; 步骤六,关联服务器接收完文件数据和文件列表数据后,将文件列表数据分发给
其下的所有客户端; 步骤七,客户端向自己所属的关联服务器发送同意接收文件请求,自己所属的关 联服务器向客户端发送文件数据。 所述方法还包括服务器控制端,所述服务器控制端分别与中心服务器和关联服务 器相连,用以管理和调度所有服务器的访问。所述客户端采用P2P方式与其他客户端直接 通信。所述方法还包括将客户端文件与服务器文件进行对比,判断是否为同一文件;所述对 比的方法包括文件名对比,文件大小对比和文件内容对比。
实施例二 本实施例所述方法采用数据传输服务端(DTS)和数据传输客户端(DTC)两端组 成,DTS由一个中心DTS和多个关联DTS组成,中心DTS包含所有关联DTS的地址和端口等 信息。 如图2所示,DTC上传文件时,先把文件上传到所属的关联DTS,此关联DTS再把文 件上传至中心DTS,中心DTS再根据关联DTS列表把文件传至各个关联DTS,关联DTS再把 自己的文件发送到下边的DTC。 DTC在上传文件时可以指定某些或所有接收者,被指定的接 收者可以选择接受或者拒绝其他人发送的文件。本方法提供对同一文件进行重复下载判断 的功能,本地文件与服务器文件的对比方法不是仅仅靠文件名称和大小进行比较,还要抽 取内容进行比较,以快速确定本地和服务器的文件是否一致。如对两个同名、同大小、同类 型的文件进行比较时,对第一个文件随机抽取一个位置指定大小的数据包,再对另一个文件抽取相同位置相同尺寸的数据包,对这再个数据包进行比较,可重复这个动作多次,来确 认是否是完全一样的数据包。具体传输步骤如下 —、假设数据传输客户端Al要上传并分发文件"上传.txt": 1、 DTC(A1)读取文件"上传.txt"相关信息,打包成文件列表数据包上传给关联
DTS(A)。 2、关联DTS(A)增加文件列表数据(包括文件名称、大小、发送者等描述信息),并 将文件列表数据发送给中心DTS,中心DTS获得文件列表数据后,主动向DTC(A1)请求文件 "上传.txt", DTC(A)把文件上传至中心DTS。 3、中心DTS接收完成之后,将文件列表数据和文件数据分发给所有关联DTS,关联
DTS接收完文件列表数据和文件数据后,把文件列表数据分发给其下的所有DTC。 二、假设数据传输客户端Bl要接收分发的文件"下载.txt":DTC(B1)向关联DTS(B)发送同意接收"下载.txt"文件的请求,关联DTS(B)向
DTC(B1)发送文件数据。 实施例三 本实施例所述方法可对上传和下载进行速度控制,如图3所示,在DTS_AMIN端 (即服务器管理端)可对每个DTS进行管理,设定下边的DTC上传、下载的速度,保证带宽得 到合理、最大化利用。为保证数据统一,所有DTS的访问由DTS—A匿IN进行管理和调度。当 DTS请求访问DTC时,DTS_AMIN统一放入缓存队列,再由一个线程逐一取得,最后才执行访 问DTC命令,并把结果回调给各个DTS。
实施例四 如图4所示,我们可采用P2P (peer-to-peer,点对点)方式,让每个工作站作为接
收客户端,同时又作为发送服务端,这样更能大大缓解服务器端的压力。 这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例
中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实
施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明
的精神或本质特征的情况下,本发明可以以其他形式、结构、布置、比例,以及用其他元件、
材料和部件来实现。
权利要求
一种基于互联网的文件分发系统,其特征在于,包括中心服务器,与至少一个关联服务器相连,用以从关联服务器接收文件或向关联服务器发送文件;至少一关联服务器,与至少一个客户端相连,用以向客户端下发文件或接受客户端上传的文件;至少一客户端,与关联服务器相连。
2. 根据权利要求1所述的基于互联网的文件分发系统,其特征在于所述客户端仅连 有一个关联服务器。
3. 根据权利要求1所述的基于互联网的文件分发系统,其特征在于所述客户端连有 多个关联服务器。
4. 根据权利要求1所述的基于互联网的文件分发系统,其特征在于所述系统还包括 服务器控制端,所述服务器控制端分别与中心服务器和关联服务器相连,用以管理和调度 所有服务器的访问。
5. 根据权利要求1所述的基于互联网的文件分发系统,其特征在于所述客户端采用 P2P方式与其他客户端直接通信。
6. —种基于互联网的文件分发方法,其特征在于,包括以下步骤 步骤A,客户端与关联服务器相连,并向关联服务器上传文件;步骤B,关联服务器接收客户端上传的文件,并将文件上传至中心服务器;步骤C,中心服务器从关联服务器接收文件,并将文件发送至所有的关联服务器;步骤D,客户端选择接收或拒绝关联服务器的文件。
7. 根据权利要求6所述的基于互联网的文件分发方法,其特征在于所述方法的具体 步骤为步骤一,客户端读取文件相关信息,生成文件列表数据包上传到自己所属的关联服务器;步骤二,自己所属的关联服务器根据所述文件列表数据包增加文件列表数据,并将文件列表数据上传到中心服务器;步骤三,中心服务器获得文件列表数据后,主动向客户端请求文件;步骤四,客户端收到请求后将文件数据上传至中心服务器;步骤五,中心服务器将文件数据和文件列表数据分发给所有关联服务器;步骤六,关联服务器接收完文件数据和文件列表数据后,将文件列表数据分发给其下的所有客户端;步骤七,客户端向自己所属的关联服务器发送同意接收文件请求,自己所属的关联服 务器向客户端发送文件数据。
8. 根据权利要求6所述的基于互联网的文件分发方法,其特征在于所述方法还包括 服务器控制端,所述服务器控制端分别与中心服务器和关联服务器相连,用以管理和调度 所有服务器的访问。
9. 根据权利要求6所述的基于互联网的文件分发方法,其特征在于所述客户端采用 P2P方式与其他客户端直接通信。
10. 根据权利要求6所述的基于互联网的文件分发方法,其特征在于所述方法还包括将客户端文件与服务器文件进行对比,判断是否为同一文件;所述对比的方法包括文件名 对比,文件大小对比和文件内容对比。
全文摘要
本发明公开了一种基于互联网的文件分发系统及方法,该系统包括中心服务器,至少一关联服务器,至少一客户端;所述中心服务器与至少一个关联服务器相连,用以从关联服务器接收文件或向关联服务器发送文件;所述关联服务器与至少一个客户端相连,用以向客户端下发文件或接受客户端上传的文件;所述客户端与关联服务器相连。本发明它分发路径简捷,大大缓解了文件分发服务器的压力,提高了分发文件的效率和可靠性,且支持断点续传,使文件上传和下载都可以暂停或继续。
文档编号H04L29/06GK101699816SQ20091019891
公开日2010年4月28日 申请日期2009年11月17日 优先权日2009年11月17日
发明者牛兴盛 申请人:上海华平信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1