专利名称:一种混合模式的网络文件传输方法及系统的制作方法
技术领域:
本发明属于计算机网络文件传输领域,具体涉及一种混合模式的网络文件传输方法及系统。
背景技术:
现有技术中,网络文件的传输方式通常采用客户端/服务器(C/S)模式,即将文件的内容存储于集中的服务器中,客户端必须通过访问服务器才能获取数据。这种模式对于文本文件的应用,例如常规的网页显示基本够用,但是随着网络富媒体的大量出现,各种大数据量的数字媒体文件如音频、视频等文件在网络中越来越多,这些数字媒体文件的传输也越来越多,但是,由于数字媒体文件的数据量很大,一般均超过2M,数字媒体文件的传输受到了较大的限制,因为现有技术中,网络文件的传输是基于客户端/服务器模式的,而服务器能提供给客户端的并发链接数和网络带宽是有限的,例如一台流媒体服务器通常可以并发处理1000个链接和500M的出口带宽,随着访问的用户激增,访问的速度会变慢,甚至会导致网站出现瘫痪,限制了网站的进一步发展和富媒体的应用。除了上述的数字媒体文件,对于其他网络文件(如流媒体文件、流媒体流数据、、其他可播放的音频数据及大数据量的软件等)的传输,也存在着类似的问题。
为了解决这种集中式的瓶颈,网站一般通过扩充服务器数量和带宽来解决,但是还是无法满足快速发展的网络应用,于是出现了内容传送网络(Content Delivery Network,CDN),提供网络内容缓存服务,其目的是通过在现有的Internet网络中增加一层新的网络架构,将网站的内容发布到最接近用户的网络″边缘″,使用户可以就近取得所需的内容,从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因所造成的用户访问网站响应速度慢的问题。CDN的出现在短期内解决了网站扩展应用的难题,但是它需要网站投入租用CDN的费用,而且随着应用的进一步扩大,只能租用更多的CDN,投入非常巨大,而且CDN从本质上也是集中式的应用,同样存在瓶颈问题。
点对点(Peer-to-Peer,P2P)技术的出现,让用户可以直接连接到其他用户的计算机,进行文件共享与交换,实现在用户之间共享数据,传输速度快,同时避免了客户端/服务器(C/S)模式的问题,但是P2P技术需要搜索的启动时间,而且其服务质量严重依赖在线的用户数量和分布,不能保证用户稳定的服务质量(Quality of Service,QoS)。
发明内容
针对现有技术中存在的问题和缺陷,本发明的目的在于提供一种混合模式的网络文件传输方法及系统,该方法能够充分利用现有网络内容资源优势,充分发挥PC终端和互联网络的潜力,改变当前宽带不宽的窘境,在不增加CDN的情况下,使得各类网络文件的传播更为高效进而使得网络信息发布和网络应用服务将更为有效。
为实现以上目的,本发明采用的技术方案是一种混合模式的网络文件传输方法,包括以下步骤1)请求客户端向网络发送请求文件的URL,系统的控制装置截获该请求的URL,将URL转换为P2P模式的搜索请求,并保留该URL;2)控制装置启动C/S模式中的要下载网络文件所指向的服务器的对应服务,向请求客户端发送网络文件;3)与步骤2)同时,控制装置启动P2P搜索,并返回P2P搜索结果到请求客户端;4)如果搜索结果不为空,采用P2P技术建立请求客户端和搜索结果中的目的节点客户端的链接,直接在客户端间传输数据;5)请求客户端缓存从服务器或者其他客户端获得的数据;6)当请求客户端无法获得其他P2P节点客户端的数据,控制装置利用保留的URL地址则向原来的C/S模式中的服务器发送请求,获取剩余的网络文件数据,重复步骤1)到步骤5)直到网络文件下载完整。
进一步,步骤1)中请求下载网络文件时包括两个请求,即向C/S模式中的服务器发送的请求和向P2P系统发送的请求。
步骤3)中P2P搜索与请求客户端向C/S服务器获取文件同时进行。
进一步,步骤5)中客户端之间传输数据的起始位置是从步骤2)中已经下载的文件数据结束位置开始。
更进一步,步骤5)中,如果请求客户端能够通过P2P获得稳定的数据流,则请求客户端终止C/S模式中的服务器发送文件数据。如果在C/S模式中的服务器负载轻的情况下,也可以保持从服务器获取网络文件。
步骤5)中,请求客户端根据搜索结果中可用节点的带宽和延时,进行选择。
步骤5)中,请求客户端根据搜索结果中可用节点的数量,建立多个链接,同时从不同客户端获取网络文件的不同片断。
再进一步,步骤5)中,请求客户端在获取数据的时候,搜索网络文件的下一段,并根据搜索结果进行动态调整。
一种混合模式的网络文件传输系统,包括以下装置A.向网络发送请求文件的URL的请求客户端;B.存储有大量网络文件并能供请求客户端下载的服务器;C.控制装置,包括用于截获该请求文件的URL,将请求文件的URL转换为P2P模式的搜索请求,并保留该URL的请求截获和转换模块;用于启动C/S模式中的要下载网络文件所指向的服务器的对应服务的切换控制模块;及启动P2P搜索并返回P2P搜索结果到请求客户端的搜索模块;D.请求客户端所属的P2P系统,用于采用P2P技术建立请求客户端和搜索结果中的目的节点客户端的链接,直接在客户端间传输数据。
进一步,所述的切换控制模块,还用于在请求客户端无法获得P2P系统中其他P2P节点客户端的数据时,利用保留的URL地址则向原来的C/S模式中的服务器发送请求,获取剩余的网络文件数据。
本发明的效果在于采用本发明所述的方法和系统,保护了C/S模式的系统投资的持续有效,即在不增加网络设备投入的情况下利用P2P技术解决C/S集中访问的瓶颈,用有限的带宽可以服务于更多的用户,可以充分发挥网络客户端的廉价资源,大大的减少了运营商因用户规模的扩大而不断追加投入,同时采用C/S模式启动速度快的特点弥补因为使用P2P模式下搜索耗时而产生的启动慢的缺陷,能够保证用户在通过网络获取网络文件时获得稳定快速的传输质量,是一种经济、快捷的网络文件传输方式。
图1是一种混合模式的网络文件传输方法的流程图。
具体实施例方式
下面以一个客户端用户采用本系统浏览网络一个网络文件的过程为例,结合附图对本发明作进一步地描述。
实施例1用户使用页面浏览器(如windows的IExplorer浏览器)打开一个现有网站页面,页面中存在一个名为《动物世界》的视频文件的链接。该视频文件存储在网站的流媒体服务器S1中,现有技术中,客户可以采用C/S模式直接从流媒体服务器上S1下载该文件进行观看,或是通过P2P模式从其他节点客户端下载该文件。
如图1所示,在本实施例中,用户在网页浏览器点击要观看的流媒体节目《动物世界》的链接,采用本发明所述的方法,包括以下步骤1)请求客户端C1向网络发送下载《动物世界》的视频文件file1的请求,系统的控制装置截获该请求文件的URL1,将URL1转换为P2P模式的搜索请求,并保留该URL1;2)控制装置收到请求,启动C/S模式中的URL1所指向的服务器S1的对应服务,服务器S1与请求客户端C1建立链接,服务器S1向请求客户端C1发送名为《动物世界》的视频文件file1的数据;3)与步骤2)同时,控制装置把视频文件file1的URL1地址转换为P2P模式的搜索请求,在请求客户端C1所属的P2P系统中启动P2P搜索;搜索完成后,控制装置返回P2P搜索结果到请求客户端C1,所述的搜索结果包括搜索的文件名、可以下载的地址、包含的文件片断编号及其文件片断大小、搜索的时间戳和消耗时间等信息;4)如果P2P搜索结果不为空,即搜索到P2P系统中其它节点客户端有本实施例中的名为《动物世界》的视频文件并且可以提供下载,那么采用P2P技术建立请求客户端C1和搜索结果中的目的节点客户端的链接,直接在请求客户端C1与节点客户端间传输视频文件file1的数据。
由于在前面的步骤3)中请求客户端C1已经从C/S模式中的URL1所指向的服务器S1中下载了部分的数据,因此在步骤4)中,请求客户端C1与节点客户端之间传输数据的开始位置中从请求客户端C1已经下载的数据结束位置p1开始,待请求客户端C1与节点客户端之间传输数据稳定,请求客户端C1发送消息到C/S模式中的服务器S1,终止服务器S1继续向请求客户端C1发送视频文件数据;本实施例中,请求客户端C1根据P2P搜索结果中可用节点客户端的带宽和延时,以及请求文件的码率,建立尝试链接,测试各个链接的数据传输速度,进行链路选择。通常来说,在尝试链接时选择那些带宽相对较大而延时相对较小的节点客户端进行测试。而且,为了具有更好的效果。请求客户端C1还能够根据P2P搜索结果中可用节点客户端的数量,建立两个或两个以上的链接,同时从不同节点客户端获取该文件的不同片断,以提高下载的速度,减少下载的时间。比如在本实施例中,如果文件的码率是384kb/s,则选取链接速度较大的几个节点进行链接,使得几个链接通路的数据传输速度之和≥384Kb/s,,则可以选择这些节点客户端进行下载。
另外,请求客户端C1在获取数据的时候,同时搜索视频文件的下一段,并根据搜索结果进行动态调整,不断地进行优化。比如说,向请求客户端C1正在提供数据下载的某一节点客户端的带宽变得很小或离线后,请求客户端C1将会停止从该节点客户端下载数据,而选择其他的节点客户端继续进行数据的下载工作。
5)请求客户端缓存从服务器或者其他客户端获得的数据,进行相应的处理,所述的处理包括根据文件片断的编号对文件片断进行组合成一个完整的文件,将组合好的文件在请求客户端通过相应的播放软件进行播放,或是请求客户端在所属的P2P系统中发布该文件的共享信息,将该文件或文件的片断提供给P2P系统中其他客户端共享;6)如果在名为《动物世界》的视频文件的下载过程中,当请求客户端无法获得其他P2P节点的数据时,则向原来的C/S模式中的服务器S1发送请求URL1和待获取的视频文件的启始位置p2,获取剩余的视频文件数据,重复步骤1)到步骤5)直到视频文件下载完整。
实现上述方法的一种混合模式的网络文件传输系统,包括以下装置A.向网络发送请求文件的URL的请求客户端;B.存储有大量网络文件并能供请求客户端下载的服务器;C.控制装置,包括
用于截获该请求文件的URL,将请求文件的URL转换为P2P模式的搜索请求,并保留该URL的请求截获和转换模块;用于启动C/S模式中的要下载网络文件所指向的服务器的对应服务的切换控制模块;及启动P2P搜索并返回P2P搜索结果到请求客户端的搜索模块;本实施例中,所述的切换控制模块,还用于在请求客户端无法获得P2P系统中其他P2P节点客户端的数据时,利用保留的URL地址则向原来的C/S模式中的服务器发送请求,获取剩余的网络文件数据。
D.请求客户端所属的P2P系统,用于采用P2P技术建立请求客户端和搜索结果中的目的节点客户端的链接,直接在客户端间传输数据。
实施例2用户欲浏览名为《达芬奇密码》的网络文件,该文件包含音频和视频,用户在网页浏览器点中击要观看的网络文件的连接时,采用本发明所述的方法,包括以下步骤其他步骤与实施例1相同,不同之处在于,步骤4)中P2P的搜索结果为空,即其它客户端中没有该网络文件,则客户端只能从存储该网络文件的服务器上进行下载后观看。
实施例3用户欲浏览名为《达芬奇密码》的网络文件,该文件包含音频和视频,用户在网页浏览器点中击要观看的网络文件的连接时,采用本发明所述的方法,包括以下步骤其他步骤与实施例1相同,不同之处在于,步骤4)中在服务器S1负载轻的情况下,保持优先从服务器S1获取网络文件,即如搜索到其它节点客户端有本实施例中的文件时,尽管服务器和其它客户端均有该网络文件的存在,但是在服务器轻载时优选从服务器下载。
本发明所述的方法并不限于具体实施方式
中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。
权利要求
1.一种混合模式的网络文件传输方法,包括以下步骤1)请求客户端向网络发送请求文件的URL,系统的控制装置截获该请求文件的URL,将URL转换为P2P模式的搜索请求,并保留该URL;2)控制装置启动C/S模式中的要下载网络文件所指向的服务器的对应服务,向请求客户端发送网络文件;3)与步骤2)同时,控制装置启动P2P搜索,并返回P2P搜索结果到请求客户端;4)如果搜索结果不为空,采用P2P技术建立请求客户端和搜索结果中的目的节点客户端的链接,直接在客户端间传输数据;5)请求客户端缓存从服务器或者其他客户端获得的数据;6)当请求客户端无法获得其他P2P节点客户端的数据,控制装置利用保留的URL地址则向原来的C/S模式中的服务器发送请求,获取剩余的网络文件数据,重复步骤1)到步骤5)直到网络文件下载完整。
2.如权利要求1所述的一种混合模式的传输方法,其特征是步骤1)中请求下载网络文件时包括两个请求,即向C/S模式中的服务器发送的请求和向P2P系统发送的请求。
3.如权利要求1所述的一种混合模式的传输方法,其特征是步骤3)中P2P搜索与请求客户端向C/S服务器获取文件同时进行。
4.如权利要求1所述的一种混合模式的传输方法,其特征是步骤5)中客户端之间传输数据的起始位置是从步骤2)中已经下载的文件数据结束位置开始。
5.如权利要求4所述的一种混合模式的传输方法,其特征是步骤5)中,如果请求客户端能够通过P2P获得稳定的数据流,则请求客户端终止C/S模式中的服务器发送文件数据。
6.如权利要求5所述的一种混合模式的传输方法,其特征是步骤5)中,请求客户端根据搜索结果中可用节点的带宽和延时,进行选择。
7.如权利要求6所述的一种混合模式的传输方法,其特征是步骤5)中,请求客户端根据搜索结果中可用节点的数量,建立多个链接,同时从不同客户端获取网络文件的不同片断。
8.如权利要求1、2、3或4所述的一种混合模式的传输方法,其特征是步骤5)中,在C/S模式中的服务器负载轻的情况下,保持从服务器获取网络文件。
9.如权利要求1或7所述的一种混合模式的传输方法,其特征是步骤5)中,请求客户端在获取数据的时候,搜索网络文件的下一段,并根据搜索结果进行动态调整。
10.如权利要求1所述的一种混合模式的传输方法,所述的网络文件包括视频数据文件、流媒体文件、流媒体流数据、音频数据文件和可播放的视音频数据。
11.一种混合模式的网络文件传输系统,包括以下装置A.向网络发送请求文件的URL的请求客户端;B.存储有大量网络文件并能供请求客户端下载的服务器;C.控制装置,包括用于截获该请求文件的URL,将请求文件的URL转换为P2P模式的搜索请求,并保留该URL的请求截获和转换模块;用于启动C/S模式中的要下载网络文件所指向的服务器的对应服务的切换控制模块;及启动P2P搜索并返回P2P搜索结果到请求客户端的搜索模块;D.请求客户端所属的P2P系统,用于采用P2P技术建立请求客户端和搜索结果中的目的节点客户端的链接,直接在客户端间传输数据。
12.如权利要求11所述的一种混合模式的网络文件传输系统,其特征在于所述的切换控制模块,还用于在请求客户端无法获得P2P系统中其他P2P节点客户端的数据时,利用保留的URL地址则向原来的C/S模式中的服务器发送请求,获取剩余的网络文件数据。
全文摘要
本发明涉及一种混合模式的网络文件传输方法及系统,属于网络文件传输领域。现有技术中,网络文件的传输方式通常采用客户端/服务器(C/S)模式,当用户多时常出现速度过慢现象,或者采用P2P模式,但是需要搜索时间和无法保证服务质量。本发明所述的方法及系统,混合使用C/S模式和P2P模式来传输网络文件,根据网络负载情况做动态的切换。采用本发明所述的方法及系统,保护了C/S模式的系统投资的持续有效,同时无需搜索启动速度快;利用P2P技术解决C/S集中访问的瓶颈,用有限的带宽可以服务于更多的用户,可以充分发挥网络客户端的廉价资源,大大的减少了运营商的成本,而且能够保证用户获得稳定的传输质量,是一种经济、快捷的网络文件传输方式。
文档编号G06F17/30GK1897588SQ20061008936
公开日2007年1月17日 申请日期2006年6月21日 优先权日2006年6月21日
发明者管雷, 李春华, 杨列森, 郭宗明 申请人:北京北大方正电子有限公司, 北京大学