一种文件传输系统及方法_2

文档序号:9870399阅读:来源:国知局
发送反馈信息,所述反馈信息包括存储有该目标文件的至少一个分块文件的上传客户端的地址。
[0045]具体的,所述索引服务器30存储有网络中各上传客户端20、下载客户端10的IP地址以及各上传客户端20、下载客户端10所存储的分块文件所指向的整体文件的URL。索引服务器30接收所述下载客户端A发送而来的索引请求,而后根据该整体文件的URL查找出存储有电影“泰冏”的上传客户端20的IP地址。经过查找,发现上传客户端B、上传客户端C存储有该电影,然后将上传客户端B、上传客户端C的IP地址均发送给下载客户端A。
[0046]S3,下载客户端10接收所述反馈信息,即上传客户端B、上传客户端C的IP地址。
[0047]S4,下载客户端10通知控制服务器40建立与目标上传客户端20之间的连接。
[0048]具体的,为了提高效率,可以先根据网络传输距离、网络带宽状况、上传客户端20所能承受的实时负荷等情况决定先向上传客户端B、上传客户端C中的一个发送文件请求信息。假设下载客户端A拟先向上传客户端B发送文件请求信息,即下载客户端接10通知控制服务器40建立与上传客户端B之间的连接。
[0049]S5,所述控制服务器40建立该下载客户端10和目标上传客户端20之间的连接。
[0050]具体的,所述控制服务器40建立下载客户端A和上传客户端B之间的连接。
[0051]S6,下载客户端10向至少一个目标上传客户端20发送文件请求。
[0052]具体的,下载客户端A向上传客户端B发送文件请求。
[0053]S7,该至少一个目标上传客户端20接收下载客户端10的文件请求。
[0054]具体的,上传客户端B接收下载客户端A的文件请求。
[0055]S8,上传客户端20将其存储的分块文件的标识发送给下载客户端10。
[0056]具体的,上传客户端B告知下载客户端A电影“泰冏”有3个分块文件,而自己只有分块文件I及分块文件2。
[0057]S9,下载客户端10判断是否需要该分块文件并告知相应的上传客户端20。下载客户端10若需要所述上传客户端20存储的一个或多个分块文件,则发送一个需求信息给相应的上传客户端20。
[0058]具体的,下载客户端A判断分块文件I及分块文件2是它需要的,然后告知上传客户端B ο
[0059]S10,该上传客户端20接收并响应该需求信号,将一个或者多个分块文件发送该下载客户端10。
[0060]具体的,该上传客户端B将分块文件I及分块文件2发送给下载客户端A。
[0061]由于下载客户端A还缺少分块文件3,因此下载客户端A还需要向上传客户端C获取文件。即重复步骤S4-是SlO:
[0062]Sll,下载客户端A通知所述控制服务器40建立与上传客户端C之间的连接。
[0063]S12,控制服务器40建立下载客户端A和上传客户端C之间的连接。
[0064]SI 3,下载客户端A向上传客户端C发送文件请求。
[0065]S14,上传客户端C接收下载客户端A的文件请求。
[0066]S15,上传客户端C告知下载客户端A电影“泰冏”有3个分块文件,而自己只有分块文件2及分块文件3。
[0067]S16,下载客户端A判断分块文件3是它需要的,然后告知上传客户端C。
[0068]S17,,该上传客户端C将分块文件3发送给下载客户端A。
[0069]至此,下载客户端A已获取所有需要的分块文件。
[0070]S18,所述下载客户端接收至少一个上传客户端发送而来的分块文件,并按照预设的方法合并分块文件。
[0071]具体的,下载客户端A将上传客户端B发来的分块文件1、分块文件2以及上传客户端C发来的分块文件3合并成一个整体文件。
[0072]可以理解的,如果上传客户端B有整个文件的三个分块文件,则下载客户端A直接接收上传客户端B发来的分块文件即可,无需再次与上传客户端C建立连接。
[0073]在一些实施例中,上传客户端B存储有分块文件1、分块文件2;上传客户端C存储有分块文件2;上传客户端D存储有分块文件1、分块文件3。由于下载客户端A已经接收了上传客户端B存储有分块文件1、分块文件2,则下载客户端A会告诉上传客户端C不需要分块文件2,然后通知控制服务器与上传客户端D建立连接,在判断上传客户端D存储的分块文件3为所需时,则下载分块文件3。
[0074]优选的,在合并分块文件时,还可以采用边下载边合并的方式。例如,若判断出当前分块文件2与已下载的分块文件I存在相邻关系,则可先合并,无需等到分块文件3下载完成,提升了得到整体文件的速度。
[0075]在一些实施例中,如果所述索引服务器的内存足够,各上传客户端、下载客户端也可将自身存储的分块文件的标识发送给所述索引服务器以供存储。索引服务器接收所述下载客户端A发送索引请求后,可以根据该整体文件的URL查找出存储有电影“泰冏”的上传客户端的IP地址以及各上传客户端存储了该电影的哪些分块文件。如此设计,下载客户端A便能直接向目标上传客户端索取自己需要的分块文件,可以减少下载客户端A和上传客户端B的通话次数。
[0076]以上仅为本发明的优选实施例,而非对本发明做任何形式上的限制。本领域的技术人员可在上述实施例的基础上施以各种等同的更改和改进,凡在权利要求范围内所做的等同变化或修饰,均应落入本发明的保护范围之内。
【主权项】
1.一种文件传输系统,应用于基于RTMFP协议的P2P网络通信中,其特征在于,该文件传输系统包括若干上传客户端、若干下载客户端、控制服务器、以及索引服务器,其中: 所述上传客户端存储有至少一个分块文件,所述上传客户端用于接收并响应所述下载客户端发送的文件请求,将其所存储的与该文件请求相对应的分块文件发送给所述下载客户端,所述分块文件由一个整体文件按照预设的方法拆分而成; 所述下载客户端用于向所述索引服务器发送索引请求,所述索引请求包括目标文件的URL,并接收所述索引服务器的反馈信息,所述反馈信息包括存储有该目标文件的至少一个分块文件的上传客户端的地址;所述下载客户端根据该反馈信息向对应的所述上传客户端发送文件请求,而后接收由所述至少一个上传客户端发送而来的分块文件,并按照预设的方法将该分块文件合并为一个整体文件; 所述控制服务器分别与所述上传客户端和所述下载客户端连接,用于建立所述上传客户端和所述下载客户端之间的连接; 所述索引服务器分别与所述上传客户端和所述下载客户端连接,所述索引服务器保存有所述上传客户端、所述下载客户端的地址以及各上传客户端、下载客户端所存储的文件信息,该文件信息至少包括文件的URL;所述索引服务器还用于接收并响应所述下载客户端发送而来的索引请求,将所述反馈信息发送给所述下载客户端。2.如权利要求1所述的文件传输系统,其特征在于,所述各上传客户端、各下载客户端按预设的时间间隔向所述索引服务器发送各自的地址以及各自所存储的文件的URL。3.如权利要求1所述的文件传输系统,其特征在于,分块文件设置有明确其顺序的标识,所述上传客户端、下载客户端将自身存储的分块文件的标识发送给所述索引服务器。4.一种文件传输方法,其特征在于,所述文件传输方法包括以下步骤: 下载客户端向索引服务器发送索引请求,所述索引请求包括目标文件的URL; 索引服务器接收并响应下载客户端发送而来的索引请求,并向所述下载客户端发送所述反馈信息,所述反馈信息包括存储有该目标文件的至少一个分块文件的上传客户端的地址; 下载客户端接收所述反馈信息; 下载客户端通知控制服务器建立与目标上传客户端之间的连接; 控制服务器建立该下载客户端和目标上传客户端之间的连接; 下载客户端向至少一个目标上传客户端发送文件请求; 该至少一个目标上传客户端接收下载客户端的文件请求; 该上传客户端按照预设的方法将文件请求相对应的分块文件发送给所述下载客户端;所述下载客户端接收至少一个上传客户端发送而来的分块文件,并按照预设的方法合并分块文件。5.如权利要求4所述的文件传输方法,其特征在于,该上传客户端将与文件请求相对应的分块文件发送给所述下载客户端的方法包括以下步骤: 上传客户端将其存储的分块文件的标识发送给下载客户端; 下载客户端判断是否需要该分块文件并告知相应的上传客户端; 下载客户端若需要所述上传客户端存储的一个或多个分块文件,则发送一个需求信息给相应的上传客户端; 该上传客户端接收并响应该需求信号,将一个或者多个分块文件发送该下载客户端。6.如权利要求5所述的文件传输方法,其特征在于,下载客户端若不需要所述上传客户端存储的一个或多个分块文件,则发送一个不需求的信息给相应的上传客户端,然后通知所述控制服务器与下一个目标上传客户端建立连接。7.如权利要求4所述的文件传输方法,其特征在于,合并分块文件时,判断当前分块文件与已下载的其他分块文件是否存在相邻关系,若存在相邻关系,则先合并。
【专利摘要】本发明公开了一种文件传输系统,应用于基于RTMFP协议的P2P网络通信中,其包括若干上传客户端、若干下载客户端、控制服务器、以及索引服务器,所述控制服务器分别与所述上传客户端和所述下载客户端连接,用于建立所述上传客户端和所述下载客户端之间的连接;所述索引服务器分别与所述上传客户端和所述下载客户端连接。本发明的下载客户端可以接收来自于多个个上传客户端的分块文件,并将这些分块文件合并成一个整体文件,因此,相比于现有技术,该下载客户端的文件获取时间更短,可以极大提升用户体验。本发明还公开了一种文件传输方法。
【IPC分类】H04L29/08
【公开号】CN105635287
【申请号】CN201511026635
【发明人】张小兵
【申请人】深圳市网心科技有限公司
【公开日】2016年6月1日
【申请日】2015年12月31日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1