CN101072242A - 在网络上点到点传输文件的方法及系统 - Google Patents
在网络上点到点传输文件的方法及系统 Download PDFInfo
- Publication number
- CN101072242A CN101072242A CN 200710090667 CN200710090667A CN101072242A CN 101072242 A CN101072242 A CN 101072242A CN 200710090667 CN200710090667 CN 200710090667 CN 200710090667 A CN200710090667 A CN 200710090667A CN 101072242 A CN101072242 A CN 101072242A
- Authority
- CN
- China
- Prior art keywords
- client
- cohort
- file
- point
- forwarding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种在网络上点对点传输文件的方法,包括:选择客户端作为转发客户端;发送客户端将文件分块,分别发送至接收客户端和所述转发客户端;所述转发客户端将接收到的文件块转发至所述接收客户端。同时,本发明还公开一种在网络上点对点传输文件的系统、一种监控服务器、及一种客户端。本发明能够在网络点对点传输时加快文件的传输速率,减少用户在传输文件时的等待时间,方便用户使用。
Description
技术领域
本发明涉及网络点到点传输领域,特别是涉及一种在网络上点到点传输文件的方法及系统。
背景技术
随着各类媒体信息的不断丰富,人们用以保存信息内容的数字文件也快速膨胀。除磁带、硬盘和光盘等传统存储媒介,计算机网络也成为文件交换与备份的重要途径。用户终端之间通过网络传输各类文件,已经成为因特网上十分频繁的应用。在点对点的文件传输过程中,客户端之间基于文件传输协议(FTPFile Transfer Protocol)、超文本传输协议(HTTP Hyper Text TransferProtocol)、安全外壳协议(SSH Secure SHell)、简单邮件传输协议(SMTPSimple Mail Transfer Protocol)等协议传送文件,其基本的流程是首先传接双方各自创建一个网络通信套接字(socket),然后在此基础上发送和接收文件数据,由于可用网络带宽往往远低于用户客户端硬盘读写速率,文件传输速率较慢,用户通常需要较多的等待时间。
参阅图1,为现有网络上点到点传输文件的系统示意图,包括发送客户端11、路由器12、路由器13、路由器14、及接收客户端15。发送客户端11与接收客户端15创建网络通信套接字,开启文件传输。发送客户端11将文件数据发送到路由器12,路由器12选择传输路径,通过路由器13、路由器14将文件数据传送到接收客户端15。
在上述过程中,发送客户端11通过网络路由器选择的缺省传输路径路由器12、路由器13、路由器14传输文件数据到接收客户端15,在发送客户端11与接收客户端15两点之间形成一条网络数据流。在这种单一数据流的传输方式下,文件数据的传输速率取决于该路径的各链路中最小的传输速率,而发送客户端11到接收客户端15往往要经过多个链路,这势必增大了降低文件传输速率的概率。如,路由器13到路由器14间的网络预设带宽较低或实时的网络拥塞等原因,数据在该段路径中传输速率较慢,这就导致整个路径的传输速率较慢。如果发送客户端11发送到接收客户端15的文件较大,或数目较多,较慢的传输速率将增加用户的等待时间,影响用户的正常使用。
发明内容
本发明所要解决的技术问题是提供一种在网络上点到点传输文件的方法,该方法能够在网络点对点传输时加快文件的传输速率,减少用户在传输文件时的等待时间,方便用户使用。
本发明的另一个目的是提供一种在网络上点到点传输文件的系统,该系统能够在网络点对点传输时加快文件的传输速率,减少用户在传输文件时的等待时间,方便用户使用。
本发明的又一目的是提供一种监控服务器,该监控服务器能够在网络上选择合适的客户端作为转发客户端。
本发明的又一目的是提供一种客户端,该客户端在网络上点对点传输中,具有发送文件、转发文件、接收文件等功能。
本发明一种在网络上点对点传输文件的方法,包括:选择客户端作为转发客户端;发送客户端将文件分块,分别发送至接收客户端和所述转发客户端;所述转发客户端将接收到的文件块转发至所述接收客户端。
优选的,选择客户端作为转发客户端之前,还包括:当文件传输速率低于设置速率时,许可发送客户端使用转发客户端转发文件。
优选的,按下述步骤,选择客户端作为转发客户端:将网络上各客户端编入组群,每个组群包含预设数量的客户端;选择一组群,并在该组群中选择预置数量的客户端作为转发客户端。
优选的,还包括:所述转发客户端传输速率低于预设速率,或所述转发客户端失效,重新选择转发客户端。
优选的,按下述步骤,选择组群:确定所述发送客户端所在的组群Gi和所述接收客户端所在的组群Gj;获得各组群到组群Gi的平均速率值Mi和到组群Gj的平均速率值Mj;比较每个组群的Mi、Mj,选择较小者作为Mp;比较各组群的Mp,选择Mp最大的组群。
优选的,按下述步骤,选择组群:确定所述发送客户端所在的组群Gi和所述接收客户端所在的组群Gj;
建立动态变化的集合Q和集合S,所述集合S初始包含组群Gi,所述集合Q初始包含除组群Gi的各个组群;
以组群Gi为源点,所述源点通过集合S中的组群到集合Q中各组群的路径中、及所述源点到集合Q中各组群的路径中,选择最小平均速率值Mx最大的路径作为路径P,将该路径P的终点组群G2从集合Q移到集合S中,重复前述步骤,直至组群Gj被移到集合S中;
选择终点为组群Gj的路径P中各节点组群。
优选的,按下述步骤,在该组群中选择预置数量的客户端作为转发客户端:比较该组群中各客户端的网络资源大小;按从大到小顺序选择预置数量的客户端。
本发明一种在网络上点对点传输文件的系统,包括监控服务器、发送客户端、接收客户端和转发客户端:所述监控服务器,用于选择网络上的客户端作为所述转发客户端;所述发送客户端,用于将文件分块,分别发送至所述接收客户端和所述转发客户端;所述转发客户端,用于将接收到的文件块转发至所述接收客户端。
本发明一种监控服务器,包括组群单元和选择单元:所述组群单元,用于将网络上各客户端编入组群,每个组群包含预设数量的客户端;所述选择单元,用于选择一组群,并在该组群中选择预置数量的客户端作为转发客户端。
优选的,还包括:计算单元,用于确定所述发送客户端所在的组群Gi和所述接收客户端所在的组群Gj;获得各组群到的组群Gi平均速率值Mi和到组群Gj的平均速率值Mj;比较每个组群的Mi、Mj,选择较小者作为Mp;比较各组群的Mp,选择Mp最大的组群,并将该组群标识信息传送至所述选择单元;所述选择单元选择该组群。
优选的,还包括:监测单元,用于在所述转发客户端传输速率低于预设速率,或所述转发客户端失效时,发送重新选择指令到所述选择单元;所述选择单元重新选择转发客户端。
本发明一种客户端,应用在网络上点对点传输领域,包括文件发送单元、文件转发单元、及文件接收单元:
所述文件发送单元,用于将文件分块,分别发送至接收客户端的所述文件接收单元和转发客户端的所述文件转发单元;所述文件转发单元,用于将接收到的文件块转发至所述接收客户端的所述文件接收单元。
与现有技术相比,本发明实施例具有以下优点:
本发明选择网络上的客户端作为转发客户端,发送客户端将文件分块,分别发送至接收客户端及转发客户端,转发客户端将接收到的文件块转发至接收客户端。通过上述方法发送客户端可以通过发送客户端到接收客户端、发送客户端到各转发客户端再到接收客户端等两条或两条以上的路径来传输文件数据。相对于现有技术使用单一的发送客户端到接收客户端路径传输文件数据,本发明在不影响原传输路径的传输速率的前提下,增加新的传输路径来传输文件数据,大幅提高文件的传输速率。
本发明将一定数量的客户端编入组群,再在某一组群中选择客户端作为转发客户端。因网络上客户端数以千万计,服务器在如此大量的客户端中选择合适的客户端作为转发客户端,需要遍历各个客户端,计算比较各客户端的可用网络资源,需处理的数据量极为庞大,这对于服务器来说负担过大。本发明将网络上的客户端编成多个组群,通过先确定组群,再在该组群中选择客户端。因组群的数量和每个组群中客户端的数量相对于网络上客户端的数量小很多,分开选择,可减少服务器需处理的数据量,减轻服务器的负担。
本发明在选定组群时,通过确定发送客户端所在的组群Gi和接收客户端所在的组群Gj,获得各组群到的组群Gi平均速率值Mi和到组群Gj的平均速率值Mj,比较每个组群的Mi、Mj,选择较小者作为Mp,再比较各组群的Mp,选择Mp最大的组群。通过上述计算比较,本发明在各组群中选择出到发送客户端所在组群,到接收客户端所在组群的平均传输速率较快的一个组群。
本发明监控服务器包括组群单元和选择单元,组群单元用于将网络上各客户端编入组群,每个组群包含预设数量的客户端;选择单元用于选择一组群,并在该组群中选择预置数量的客户端作为转发客户端。因组群的数量和每个组群中客户端的数量相对于网络上客户端的数量小很多,分开选择,可减少监控服务器需处理的数据量,减轻监控服务器的负担。
本发明客户端,包括文件发送单元、文件转发单元、及文件接收单元。文件发送单元将文件分块,分别发送至接收客户端的文件接收单元和转发客户端的文件转发单元,文件转发单元将接收到的文件块转发至接收客户端的文件接收单元。通过上述三个功能单元,本发明客户端在网络上点对点传输文件时,具有发送文件、转发文件、接收文件的功能。
附图说明
图1为现有网络上点到点传输文件的系统示意图;
图2为本发明第一实施例提供的在网络上点对点传输文件的方法流程图;
图3为本发明第二实施例提供的选择客户端作为转发客户端的方法流程图;
图4为本发明第三实施例提供的选择组群的方法流程图;
图5为本发明第四实施例提供的在组群中选择预置数量的客户端作为转发客户端的方法流程图;
图6为本发明第五实施例提供的在组群中选择预置数量的客户端作为转发客户端的方法流程图;
图7为本发明第六实施例体统的在网络上点对点传输文件的方法流程图;
图8为本发明第七实施例体统的在网络上点对点传输文件的方法流程图;
图9为本发明第八实施例提供的在网络上点对点传输文件的系统示意图;
图10为本发明第九实施例提供的文件传输过程示意图;
图11为本发明第十实施例提供的监控服务器的结构示意图;
图12为本发明第十一实施例提供的监控服务器的结构示意图;
图13为本发明第十二实施例提供的客户端的结构示意图;
图14为本发明第十三实施例提供的客户端的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明选择客户端作为转发客户端,发送客户端将文件分块,分别发送至接收客户端及转发客户端,转发客户端将接收到的文件块转发至接收客户端。这样,发送客户端可以通过发送客户端到接收客户端、发送客户端到转发客户端再到接收客户端等两条或两条以上的途径的传输文件。
参阅图2,为本发明第一实施例提供的在网络上点对点传输文件的方法流程图,具体步骤如下所述。
步骤S201、选择客户端作为转发客户端。
监控服务器在网络上选取一个或多个客户端作为转发客户端,并发送转发客户端的标识信息到发送客户端,发送包含发送客户端标识信息和接收客户端标识信息的转发指令到转发客户端。
步骤S202、发送客户端将文件分块。
发送客户端将准备传输的文件分快,为每一个文件块添加序号标识,并使用密钥进行加密。
步骤S203、发送客户端将文件块分别发送至接收客户端及转发客户端。
发送客户端、接收客户端及各转发客户端启动文件传输,发送客户端根据各转发客户端标识、接收客户端标识连接各转发客户端和接收客户端。发送客户端按序号顺序依次发送文件块到接收客户端和各转发客户端,同时使用多个路径进行传输文件数据。
步骤S204、转发客户端将接收到的文件块转发至接收客户端。
转发客户端接收到文件块后,根据接收客户端标识信息与该接收客户端建立连接,并将接收到的文件块转发至该接收客户端。接收客户端根据密钥将各文件块解密,并按序号将各文件块整合成文件。
本发明在发送客户端到接收客户端路径的某个链路出现数据传输拥塞,导致整个路径传输速率较慢的情况下,可以通过发送客户端到转发客户端再到接收客户端的路径来分担文件的传输。由于经由转发客户端的路径绕开了出现传输拥塞的瓶颈链路,可极大的提高文件的传输速率。
本发明由监控服务器在网络上选择合适的客户端作为转发客户端,因网络上客户端数以千万计,监控服务器在如此大量的客户端中选择合适的客户端作为转发客户端,需要遍历各个客户端,计算比较每个客户端的可用网络资源,需处理的数据量极为庞大,这对于监控服务器来说负担过大。本发明将网络上的客户端编成多个组群,通过先确定组群,再在该组群中选择客户端,因组群的数量和每个组群中客户端的数量相对于网络上客户端小很多,分开选择可减少监控服务器需处理的数据量,减轻监控服务器的负担。
参阅图3,为本发明第二实施例提供的选择客户端作为转发客户端的方法流程图,具体步骤如下所述。
步骤S301、将网络上各客户端编入组群,每个组群包含预设数量的客户端。
监控服务器根据网络上客户端的数量设置合理数量的组群,每个组群包含预设数量的客户端。如,将使用同一个接入服务器客户端编入一个组群,预设数量为使用该接入服务器的客户端的数量。
监控服务器将客户端ID作为客户端标识,也可将客户端的使用人员作为客户端标识。
步骤S302、选择组群。
监控服务器保存了每个组群的每个客户端的网络基本硬件配置、可用网络资源、系统负载等信息。为减小网络传输负担和数据处理开销,监控服务器根据定期采集的多个历史信息加权平均获得上述数据。监控服务器对于曾经发生数据传输的所有客户端对,记录其传输性能的最新历史信息,用作度量预测他们之间传输性能的参考数值。随着客户端之间传输次数的增加,监控服务器记录的数据信息也越丰富准确。
监控服务器根据记录的每个组群的网络基本硬件配置、可用网络资源、系统负载等信息,比较选择出最适合提供转发客户端的组群。
步骤S303、监控服务器在该组群中选择预置数量的客户端作为转发客户端。
预置数量与发送客户端准备发送文件的大小、数量相关,如准备发送的文件较大,数量较多,监控服务器选择数量较多的客户端作为转发客户端。预置数量的优选范围是1到10。
本发明通过计算比较,在各组群中选择出到发送客户端所在组群、到接收客户端所在组群的平均传输速率较快的一个组群。
参阅图4,为本发明第三实施例提供的选择组群的方法流程图,具体步骤如下所述。
步骤S401、确定发送客户端所在的组群Gi和接收客户端所在的组群Gj。
监控服务器将发送客户端所在的组群标识为Gi,将接收客户端所在的组群标识为Gj。
步骤S402、获得各组群到的组群Gi平均速率值Mi和到组群Gj的平均速率值Mj。
监控服务器对于曾经发生数据传输的所有客户端对,记录其传输性能的最新历史信息。监控服务器根据分属两个不同组群的客户端之间最新的数据传输速率,计算获得这两个组群间的平均速率矩阵。监控服务器调取各个组群(不包括组群Gi和组群Gj)到组群Gi平均速率值Mi和到组群Gj的平均速率值Mj。
步骤S403、比较每个组群的Mi、Mj,选择较小者作为Mp。
将每个组群的Mi、Mj进行比较,如Mi>Mj,则使Mj=Mp;如Mi<Mj,则使Mj=Mp。在各组群到组群Mi、组群Mj的平均速率值中选择较小者。
步骤S404、比较各组群的Mp,选择Mp最大的组群。
因每个路径的传输文件的速率使取决于该路径中传输速率最小的链路。本发明在各组群到组群Mi、到组群Mj的平均速率中选择数值较小者作为Mp,Mp最接近组群Mi到另一组群再到组群Mj这条路径的平均传输速率。在各组群的Mp中选择最大者,该组群就是组群Mi到另一组群再到组群Mj这条路径中平均传输速率最高一个组群。
本发明在选定的组群中优先选择网络资源较丰富的客户端,尽可能的在该组群中选择传输速率较高的客户端作为转发客户端。
参阅图5,为本发明第四实施例提供的在组群中选择预置数量的客户端作为转发客户端的方法流程图,具体步骤如下所述。
步骤S501、比较该组群中各客户端的网络资源。
监控服务器调取该组群中各客户端的网络资源信息进行比较,并按网络资源的大小排序。网络资源是指该客户端的基本硬件配置、可用的网络带宽、系统负载数据等。监控服务器综合考虑上述因素的基础上进行比较判断。
步骤S502、监控服务器按从大到小顺序选择预置数量的客户端作为转发客户端。
预置数量的优选范围是1到10,具体根据准备传输文件的大小、数量的多少进行安排。
通过上述步骤,本发明在该组曲中选择合理数量的、可提供较高传输速率的客户端作为转发客户端。为了使判断算法更加准确,监控服务器在进行计算选择时需考虑路由协议、分组调度与拥塞控制策略等因素。
本发明监控服务器还可以根据对文件传输速率的反馈,进一步调整转发客户端。
参阅图6,为本发明第五实施例提供的在组群中选择预置数量的客户端作为转发客户端的方法流程图,具体步骤如下所述。
步骤S601、比较该组群中各客户端的网络资源。
步骤S602、监控服务器按从大到小顺序选择预置数量的客户端作为转发客户端。
步骤S603、转发客户端传输速率低于预设速率,重新选择转发客户端。
转发客户端内部相关设备检测其转发文件的速率,并定时向监控服务器发送该速率信息。当该速率低于监控服务器预设速率时,监控服务器停止该转发客户端的转发工作,重新选择一客户端代替该转发客户端。重新选择的客户端可为在该组群中按各客户端网络资源的大小顺序选择较高者,也可在其它组群进行选择。
步骤S604、转发客户端失效,重新选择转发客户端。
转发客户端在规定时间没有发送速率信息到监控服务器,如转发客户端关机、离线。监控服务器可判断该转发客户端失效,重新选择转发客户端代替该转发客户端。重新选择的客户端可为在该组群中按各客户端网络资源的大小顺序选择较高者,也可在其它组群进行选择。
本发明发送客户端需要使用转发客户端进行文件的传输,需先向监控服务器发送请求信息,监控服务器通过后,选择相应的转发客户端。
参阅图7,为本发明第六实施例体统的在网络上点对点传输文件的方法流程图,具体步骤如下所述。
步骤S701、监控服务器将网络上各客户端编入组群,每个组群包含预设数量的客户端。
步骤S702、发送客户端发送文件到接收客户端。
步骤S703、发送客户端监测到该文件传输速率低于设置的速率,发送客户端发送使用转发客户端的请求信息至监控服务器。该请求信息包含发送客户端的可用网络带宽信息及文件传输速率信息。监控服务器根据发送客户端可用网络带宽信息及文件传输速率信息判断是否需要启用转发客户端,如需要转到步骤S704;如不需要,直接返回不许可信息到发送客户端。
监控服务器具体的判断标准可为:发送客户端可用网络带宽是否大于文件传输速率,如是则启用转发客户端;如否则不启用。
同时,接收客户端也可发送请求信息到监控服务器,该请求信息包含接收客户端的可用网络带宽信息及文件传输速率信息。监控服务器综合发送客户端和接收客户端的可用网络带宽信息、及文件传输速率信息判断是否需要启动转发客户端,如需要转到步骤S704;如不需要,直接返回不许可信息到发送客户端。
监控服务器具体的判断标准可为:发送客户端和接收客户端的可用网络带宽都大于文件传输速率,如是则启用转发客户端;如否则不启用。
步骤S704、确定发送客户端所在的组群Gi和接收客户端所在的组群Gj。
步骤S705、获得各组群到的组群Gi平均速率值Mi和到组群Gj的平均速率值Mj。
步骤S706、比较每个组群的Mi、Mj,选择较小者作为Mp。
步骤S707、比较各组群的Mp,选择Mp最大的组群。
步骤S708、比较该组群中各客户端的网络资源。
步骤S709、监控服务器按从大到小顺序选择预置数量的客户端作为转发客户端。
步骤S710、转发客户端将接收到的文件块转发至接收客户端。
步骤S711、当转发客户端传输速率低于预设速率,重新选择转发客户端。
转发客户端实时发送文件传输速率值到监控服务器。该速率值低于预设速率时,监控服务器重新选择转发客户端。
接收客户端也可发送文件传输速率值到监控服务器。监控服务器判断接收客户端的可用网络带宽信息是否大于文件传输速率,如是则重新选择转发客户端;如不是,直接返回不许可信息。
步骤S712、将各文件块整合成文件。
步骤S713、发送客户端、转发客户端、接收客户端将文件传输信息发送到监控服务器,监控服务器更新原保存的相关数据。
本发明能够在不影响该链路传输速率的情况下,增加更高、更可靠的传输路径,极大的提高了文件的传输速率。如果转发客户端的大部分带宽处于空闲状态,该增加的传输路径的速率甚至会超出原先的缺省路径,使传输速率至少增长一倍。
参阅图8,为本发明第七实施例体统的在网络上点对点传输文件的方法流程图,具体步骤如下所述。
步骤S801、监控服务器将网络上各客户端编入组群,每个组群包含预设数量的客户端。
步骤S802、发送客户端发送文件到接收客户端。
步骤S803、发送客户端监测到该文件传输速率低于设置的速率,发送客户端发送使用转发客户端的请求信息至监控服务器。该请求信息包含发送客户端的可用网络带宽信息及文件传输速率信息。监控服务器根据发送客户端可用网络带宽信息及文件传输速率信息判断是否需要启用转发客户端,如需要转到步骤S804;如不需要,直接返回不许可信息到发送客户端。
步骤S804、确定所述发送客户端所在的组群Gi和所述接收客户端所在的组群Gj。
步骤S805、建立动态变化的集合Q和集合S,集合Q包含除Gi之外的所有组群,集合S仅包含组群Gi。
如,集合Q包含组群{G1、G2、G3、G4....GJ};集合S为{Gi}。
步骤S806、以组群Gi为源点,在集合Q中查找到源点到该组群的平均速率值My最大的一组群G1,将该组群G1从集合Q移到集合S中。
如,源点到组群G1的平均速率值My1;源点到组群G2的平均速率值My2;源点到组群G3的平均速率值My3,比较My1、My2、My 3,My1的值最大,则将G1从集合Q移动到集合S中。
步骤S807、在源点通过集合S中的组群到集合Q中各组群的路径中、及源点到集合Q中各组群的路径中,选择最小平均速率值Mx最大的路径作为路径P,将该路径P的终点组群G2从集合Q移到集合S中。
如,移动G1后,集合Q包含组群为{G2、G3、G4....Gj};集合S为{Gi、G1}。在源点到组群G2、G3、G4....GJ的各路径、及源点通过组群G1再到组群G2、G3、G4....GJ的各路径中,对比各路径的最小平均速率值Mx,选择Mx值最大的路径作为路径P,将路径P对应的终点组群G2从集合Q移到集合S中。
最小平均速率值Mx是指路径各节点间平均传输速率值M中最小者。此时,集合S为{Gi、G1、G2}。
步骤S808、重复步骤S806,直至组群Gj被移到集合S中。
采用步骤S806的方法将集合Q中的组群一个个移动到组群S中,直至组群Gj被移到集合S中。
步骤S809、选择终点为组群Gj的路径P中各节点组群。
如,此时集合S包含的组群为{Gi、G1、G2、G3、G4....Gj},在获取组群Gj时,路径P即为从组群Gi到组群Gj的各路径中,最小平均传输速率值Mx最大的一条路径,也就是从组群Gi到组群Gj传输文件最快的一条路径。选择该路径P中各节点组群。例如路径P为组群Gi=》G1=》G2=》G3=》G4=》Gj,则选择组群G1、G2、G3、G4作为选择组群。在这些组群中选择转发客户端。
步骤S810、比较该组群中各客户端的网络资源。
步骤S811、监控服务器按从大到小顺序选择预置数量的客户端作为转发客户端。
步骤S812、转发客户端将接收到的文件块转发至接收客户端。
步骤S813、当转发客户端传输速率低于预设速率,重新选择转发客户端。
转发客户端实时发送文件传输速率值到监控服务器。该速率值低于预设速率时,监控服务器重新选择转发客户端。
接收客户端也可发送文件传输速率值到监控服务器。监控服务器判断接收客户端的可用网络带宽信息是否大于文件传输速率,如是则重新选择转发客户端;如不是,直接返回不许可信息。
步骤S814、将各文件块整合成文件。
步骤S815、发送客户端、转发客户端、接收客户端将文件传输信息发送到监控服务器,监控服务器更新原保存的相关数据。
通过上述流程,本发明可选择出从发送客户端所在的组群到接收客户端所在的组群的最佳路径,在该路径的各节点组群中选择转发客户端,该转发客户端可提供更高的文件传输速率。
基于上述在网络上点对点传输文件的方法,本发明还提供一种在网络上点对点传输文件的系统。
参阅图9,为本发明第八实施例提供的在网络上点对点传输文件的系统示意图,包括监控服务器91、发送客户端92、转发客户端93和接收客户端94。其中,发送客户端92、转发客户端93和接收客户端94通过网络接口连接监控服务器91。
监控服务器91选择网络上的客户端作为转发客户端,并发送通知信息至发送客户端92和转发客户端93。
发送客户端92将文件分块,分别发送至接收客户端94和转发客户端93。
转发客户端将接收到的文件块转发至接收客户端94。
该系统能够在网络点对点传输时加快文件的传输速率,减少用户在传输文件时的等待时间,方便用户使用。本发明各客户端用户之间存在一定的信任关系,每个客户端用户愿意在空闲时贡献网络带宽,以帮助其他客户端加速文件的传输。同时该客户端在与其他客户端传输文件时,也能够享受加速服务。本发明还可以对所有客户端采取相同的管理策略,根据各客户端加速传输的贡献程度而制定激励机制。
下面通过示意图来进一步说明该系统传输文件过程。
参阅图10,为本发明第九实施例提供的文件传输过程示意图。包括发送客户端92、转发客户端93、接收客户端94、路由器12、路由器13、路由器14、路由器95、路由器96、及路由器97。
发送客户端92通过路由器12、路由器13、路由器14路径传输文件到接收客户端94,同时还通过路由器95、路由器96、转发客户端93、路由器97路径传输文件到接收客户端94。
基于上述在网络上点对点传输文件的系统,本发明还提供一种监控服务器。
参阅图11、为本发明第十实施例提供的监控服务器91的结构示意图,监控服务器91包括组群单元911和选择单元912。
组群单元911将网络上各客户端编入组群,每个组群包含预设数量的客户端。
选择单元912在组群单元911中选择一组群,并在该组群中选择预置数量的客户端作为转发客户端。
本发明监控服务器91可通过计算单元准确地计算判断选择出转发客户端,还可通过监测单元在该转发客户端不符合要求时重新进行选择。
参阅图12,为本发明第十一实施例提供的监控服务器91的结构示意图,监控服务器91包括组群单元911、选择单元912、计算单元913、及监测单元914。
计算单元913在组群单元911中确定所述发送客户端所在的组群Gi和所述接收客户端所在的组群Gj,获得各组群到的组群Gi平均速率值Mi和到组群Gj的平均速率值Mj,比较每个组群的Mi、Mj,选择较小者作为Mp,比较各组群的Mp,选择Mp最大的组群,并将该组群信息传送至选择单元912,选择单元912选择该组群。
监测单元914在转发客户端传输速率低于设置速率,或转发客户端失效时,发送重新选择转发客户端信息到选择单元912,选择单元912重新选择转发客户端。
本发明监控服务器91能够在网络上选择合理数量的、可提供较高传输速率的客户端作为转发客户端93,还可以根据对文件传输速率的反馈,进一步调整转发客户端93。
基于上述在网络上点对点传输文件的系统,本发明还提供一种客户端,该客户端可以在网络上点对点文件传输中作为发送客户端、接收客户端、转发客户端使用。
参阅图13,为本发明第十二实施例提供的客户端的结构示意图,包括文件发送单元121、文件转发单元122、及文件接收单元123。
发送客户端的文件发送单元121将文件分块,分别发送至转发客户端的文件转发单元122及接收客户端的文件接收单元123。
转发客户端的文件转发单元122将接收到的文件块转发至接收客户端的文件接收单元123。
上述发送客户端、转发客户端、接收客户端的结构相同,只是担任角色不同时,起主要主用的功能单元有所不同。
本发明客户端与监控服务器81通过网络接口进行信息交互,发送客户端在需要使用转发客户端时,需向监控服务器81发送请求信息。
参阅图14、为本发明第十三实施例提供的客户端的结构示意图,包括文件发送单元121、文件转发单元122、文件接收单元123、及请求单元124。
请求单元124在文件传输速率低于设置速率时,发送使用转发客户端的请求信息到监控服务器。监控服务器将选择的转发客户端的标识信息返回到请求单元124,请求单元124将该标识信息转发至文件发送单元121。监控服务器发送启动指令到转发客户端,转发客户端启动文件转发单元122。
以上对本发明所提供的一种在网络上点对点文件传输的方法及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1、一种在网络上点对点传输文件的方法,其特征在于,包括:
选择客户端作为转发客户端;
发送客户端将文件分块,分别发送至接收客户端和所述转发客户端;
所述转发客户端将接收到的文件块转发至所述接收客户端。
2、如权利要求1所述的方法,其特征在于,选择客户端作为转发客户端之前,还包括:
当文件传输速率低于设置速率时,许可发送客户端使用转发客户端转发文件。
3、如权利要求1或2所述的方法,其特征在于,按下述步骤,选择客户端作为转发客户端:
将网络上各客户端编入组群,每个组群包含预设数量的客户端;
选择组群,并在被选择的组群中选择预置数量的客户端作为转发客户端。
4、如权利要求3所述的方法,其特征在于,还包括:
所述转发客户端传输速率低于预设速率,或所述转发客户端失效,重新选择转发客户端。
5、如权利要求3所述的方法,其特征在于,按下述步骤,选择组群:
确定所述发送客户端所在的组群Gi和所述接收客户端所在的组群Gj;
获得各组群到组群Gi的平均速率值Mi和到组群Gj的平均速率值Mj;
比较每个组群的Mi、Mj,选择较小者作为Mp;
比较各组群的Mp,选择Mp最大的组群。
6、如权利要求3所述的方法,其特征在于,按下述步骤,选择组群:
确定所述发送客户端所在的组群Gi和所述接收客户端所在的组群Gj;
建立动态变化的集合Q和集合S,所述集合S初始包含组群Gi,所述集合Q初始包含除组群Gi的各个组群;
以组群Gi为源点,所述源点通过集合S中的组群到集合Q中各组群的路径中、及所述源点到集合Q中各组群的路径中,选择最小平均速率值Mx最大的路径作为路径P,将该路径P的终点组群G2从集合Q移到集合S中,重复前述步骤,直至组群Gj被移到集合S中;
选择终点为组群Gj的路径P中各节点组群。
7、如权利要求3所述的方法,其特征在于,按下述步骤,在该组群中选择预置数量的客户端作为转发客户端:
比较该组群中各客户端的网络资源大小;
按从大到小顺序选择预置数量的客户端。
8、一种在网络上点对点传输文件的系统,其特征在于,包括监控服务器、发送客户端、接收客户端和转发客户端:
所述监控服务器,用于选择网络上的客户端作为所述转发客户端;
所述发送客户端,用于将文件分块,分别发送至所述接收客户端和所述转发客户端;
所述转发客户端,用于将接收到的文件块转发至所述接收客户端。
9、一种监控服务器,其特征在于,包括组群单元和选择单元:
所述组群单元,用于将网络上各客户端编入组群,每个组群包含预设数量的客户端;
所述选择单元,用于选择一组群,并在该组群中选择预置数量的客户端作为转发客户端。
10、根据权利要求9所述的监控服务器,其特征在于,还包括:
计算单元,用于确定所述发送客户端所在的组群Gi和所述接收客户端所在的组群Gj;获得各组群到的组群Gi平均速率值Mi和到组群Gj的平均速率值Mj;比较每个组群的Mi、Mj,选择较小者作为Mp;比较各组群的Mp,选择Mp最大的组群,并将该组群标识信息传送至所述选择单元;
所述选择单元选择该组群。
11、根据权利要求9或10所述的监控服务器,其特征在于,还包括:
监测单元,用于在所述转发客户端传输速率低于预设速率,或所述转发客户端失效时,发送重新选择指令到所述选择单元;
所述选择单元重新选择转发客户端。
12、一种客户端,应用在网络上点对点传输领域,其特征在于,包括文件发送单元、文件转发单元、及文件接收单元:
所述文件发送单元,用于将文件分块,分别发送至接收客户端的所述文件接收单元和转发客户端的所述文件转发单元;
所述文件转发单元,用于将接收到的文件块转发至所述接收客户端的所述文件接收单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100906675A CN101072242B (zh) | 2007-03-30 | 2007-03-30 | 在网络上点到点传输文件的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100906675A CN101072242B (zh) | 2007-03-30 | 2007-03-30 | 在网络上点到点传输文件的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101072242A true CN101072242A (zh) | 2007-11-14 |
CN101072242B CN101072242B (zh) | 2010-10-13 |
Family
ID=38899228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100906675A Active CN101072242B (zh) | 2007-03-30 | 2007-03-30 | 在网络上点到点传输文件的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101072242B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179705B (zh) * | 2007-11-29 | 2011-04-20 | 中兴通讯股份有限公司 | 伙伴资源节点选择方法和装置 |
CN102710555A (zh) * | 2012-06-28 | 2012-10-03 | 奇智软件(北京)有限公司 | 一种用于实现即时通讯中传输文件的方法、装置及系统 |
US8493936B2 (en) | 2008-08-18 | 2013-07-23 | Huawei Technologies Co., Ltd. | Method and device for handover between UEs in process of sending message |
CN104780208A (zh) * | 2015-04-03 | 2015-07-15 | 天脉聚源(北京)教育科技有限公司 | 一种文件传输的方法和装置 |
CN104822083A (zh) * | 2015-03-23 | 2015-08-05 | 小米科技有限责任公司 | 控制文件共享的方法、文件共享方法及装置 |
CN113873045A (zh) * | 2021-11-11 | 2021-12-31 | 深圳市云语科技有限公司 | 一种基于能力协商的文件多节点传输方法 |
-
2007
- 2007-03-30 CN CN2007100906675A patent/CN101072242B/zh active Active
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179705B (zh) * | 2007-11-29 | 2011-04-20 | 中兴通讯股份有限公司 | 伙伴资源节点选择方法和装置 |
US8493936B2 (en) | 2008-08-18 | 2013-07-23 | Huawei Technologies Co., Ltd. | Method and device for handover between UEs in process of sending message |
CN102710555A (zh) * | 2012-06-28 | 2012-10-03 | 奇智软件(北京)有限公司 | 一种用于实现即时通讯中传输文件的方法、装置及系统 |
CN102710555B (zh) * | 2012-06-28 | 2016-06-01 | 北京奇虎科技有限公司 | 一种用于实现即时通讯中传输文件的方法、装置及系统 |
CN104822083A (zh) * | 2015-03-23 | 2015-08-05 | 小米科技有限责任公司 | 控制文件共享的方法、文件共享方法及装置 |
CN104822083B (zh) * | 2015-03-23 | 2018-12-11 | 小米科技有限责任公司 | 控制文件共享的方法、文件共享方法及装置 |
CN104780208A (zh) * | 2015-04-03 | 2015-07-15 | 天脉聚源(北京)教育科技有限公司 | 一种文件传输的方法和装置 |
CN104780208B (zh) * | 2015-04-03 | 2018-12-21 | 天脉聚源(北京)教育科技有限公司 | 一种文件传输的方法和装置 |
CN113873045A (zh) * | 2021-11-11 | 2021-12-31 | 深圳市云语科技有限公司 | 一种基于能力协商的文件多节点传输方法 |
CN113873045B (zh) * | 2021-11-11 | 2023-09-12 | 深圳市云语科技有限公司 | 一种基于能力协商的文件多节点传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101072242B (zh) | 2010-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102571756B (zh) | 文件系统会话中的多信道连接 | |
US9705800B2 (en) | Load distribution in data networks | |
CN101072242B (zh) | 在网络上点到点传输文件的方法及系统 | |
CN104009938A (zh) | 基于路由层面的长连接的方法和系统 | |
Zhang et al. | On wide area network optimization | |
US20070208737A1 (en) | Cache Server Network And Method Of Scheduling The Distribution Of Content Files Within The Same | |
US20050055435A1 (en) | Network load balancing with connection manipulation | |
US20160248835A1 (en) | Fair Adaptive Streaming | |
CN101959054A (zh) | 集中式对等点播系统和伙伴节点选择方法 | |
WO2015096149A1 (zh) | Tcp链路配置方法、装置及设备 | |
MXPA06000670A (es) | Metodo y sistema para proporcionar un enlace de transmision para trafico de emision continua. | |
US11431781B1 (en) | User-defined quality of experience (QoE) prioritizations | |
CN113301096B (zh) | 内容分发网络中节点间数据传输方法、系统及节点设备 | |
WO2012072045A1 (zh) | 一种cdn网络中的数据传输方法、网络节点及系统 | |
Park et al. | Smart base station-assisted partial-flow device-to-device offloading system for video streaming services | |
Liu et al. | Social-aware computing based congestion control in delay tolerant networks | |
Davern et al. | HTTPEP: A HTTP performance enhancing proxy for satellite systems | |
Xing et al. | MPTCP meets big data: Customizing transmission strategy for various data flows | |
WO2012034414A1 (zh) | 一种处理p2p业务的方法及系统 | |
Thelagathoti et al. | Named data networking for content delivery network workflows | |
Go et al. | Hybrid TCP/UDP-based enhanced HTTP adaptive streaming system with multi-homed mobile terminal | |
Hou et al. | SDN-based Optimizing solutions for multipath data transmission supporting consortium blockchains | |
CN108933704B (zh) | 一种网络部署方法及装置 | |
EP3051769B1 (en) | Dynamic switching to broadcast transmission of multimedia content over a mobile communication network | |
Tan et al. | F-NDN: An extended architecture of NDN supporting flow transmission mode |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |