一种基于网络进行文件传输的方法和装置的制作方法

文档序号:7764566阅读:533来源:国知局
专利名称:一种基于网络进行文件传输的方法和装置的制作方法
技术领域
本发明涉及网络传输技术领域,特别是涉及一种基于网络进行文件传输的方法和
直O
背景技术
随着数字时代的到来,网络技术得到飞速发展的同时,给人们的生活和工作带来 了极大的方便,其应用范围也越来越为普及。在网络的日常应用中,人们往往会有借助网络进行资源共享等等的需求,其中的 需求以进行文件传输居多,如在服务器和客户机、或者是服务器与边缘服务器、又或者是边 缘服务器与客户机之间借助网络进行文件传输等。现有技术中已经存在一定的文件传输的方法,但这些传送方法往往不能够满足用 户多方面的需求,如在进行文件传输时,设备的其他一些功能不能够同时实现,由于文件传 输会占用大量的带宽,对于传媒和信息发布等应用环境来讲,往往需要进行文件传输的同 时,进行数据的读取或者发布,实际应用环境如公交或者地铁的传媒电视,现有的方法若 传媒电视在接收文件的同时,进行流媒体数据的读取或播放发布,往往会出现比较卡的现 象。因此,目前需要本领域技术人员迫切解决的一个技术问题就是如何能够创新地 提出一种基于网络进行文件传输的方法和装置,以不影响数据读取或播放发布的同时,顺 利完成文件传输的任务。

发明内容
本发明所要解决的技术问题是提供一种基于网络进行文件传输的方法和装置,用 以保证数据读取或播放发布的同时,顺利完成文件的传输,有效满足实际应用的需求。为了解决上述问题,本发明公开了一种基于网络进行文件传输的方法,所述方法 包括建立网络通信协议;所述网络包括一个服务器和多个客户机,所述通信协议包括 服务器的IP地址和通信端口 ;客户机需共享文件时,按照通信协议与服务器通信并建立网络连接;通过所建立的网络连接,客户机向服务器发送共享文件请求;服务器收到共享文件请求时,根据当前网络连接客户机的数量以及当前客户机所 使用传输端口的数量控制速率传输所需共享文件。优选的,所述服务器收到共享文件请求时,根据当前网络连接客户机的数量以及 当前客户机所使用传输端口的数量控制速率传输所需共享文件具体包括以下子步骤服务器接收共享文件请求;统计网络连接中客户机的数量,分配各客户机的使用带宽;查询当前客户机所使用传输端口的数量,控制速率传输当前客户机所需共享文件。优选的,所述方法在传输所需共享文件时还包括识别当前网络类型,所述网络类型包括局域网和广域网。优选的,当前网络类型为局域网时,使用UDP协议传输文件;当前网络类型为广域网时,使用TCP协议传输文件。优选的,所述方法在传输所需共享文件时还包括数据包的丢包检查。优选的,通过将发送和接收的文件与预设传送文件的长度进行比较完成数据包的 丢包检查。本发明还公布了一种基于网络进行文件传输的装置,所述装置包括第一建立模块,建立网络通信协议;所述网络包括一个服务器和多个客户机,所述 通信协议包括服务器的IP地址和通信端口 ;第二建立模块,用于在客户机需共享文件时,按照通信协议与服务器通信并建立 网络连接;发送请求模块,用于通过所建立的网络连接,客户机向服务器发送共享文件请 求;处理模块,用于由服务器根据网络连接客户机的数量以及当前客户机所使用传输 端口的数量控制速率进行文件传输。优选的,所述处理模块具体包括以下子模块接收子模块,用于服务器接收共享文件请求;分配子模块,用于统计网络连接中客户机的数量,分配各客户机的使用带宽;发送子模块,用于由客户机通过通信端口向服务器发送共享请求;所述共享请求 包括当前客户机的IP地址;处理子模块,用于查询当前客户机所使用传输端口的数量,控制速率传输当前客 户机所需共享文件。优选的,所述装置还包括识别模块,用于识别当前网络类型,所述网络类型包括局域网和广域网。优选的,所述装置还包括检查模块,用完成数据包的丢包检查。与现有技术相比,本发明具有以下优点本发明提供一种基于网络进行文件传输的方法和装置,通过建立网络通信协议, 所述网络中包括一个服务器和多个客户机,通信协议包括服务器的IP地址和通信端口,客 户机需共享文件时,按通信协议与服务器通信并建立网络连接,客户机通过所建立的网络 连接向服务器发送共享文件请求,服务器收到共享文件请求时,根据当前网络连接客户机 的数量以及当前客户机所使用传输端口的数量控制速率传输所需共享文件,从而实现在不 影响数据读取或播放发布的同时,顺利完成文件传输的任务。


图1是本发明实施例一所述的一种基于网络进行文件传输的方法流程图2是本发明实施例二所述的一种基于网络进行文件传输的装置结构图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。实施例一参照图1,示出了本发明的一种基于网络进行文件传输的方法流程图,所述方法具 体包括步骤S101,建立网络通信协议;所述网络包括一个服务器和多个客户机,所述通 信协议包括服务器的IP地址和通信端口 ;通常来讲,网络是用物理链路将各个孤立的工作站或主机相连在一起,组成数据 链路,从而达到资源共享和通信的目的。通信是个体之间通过某种媒体进行的信息交流与 传递。通信协议是为计算机网络中进行数据交换而建立的规则、标准或约定的集合。例如, 网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集 不同,因此操作员所输入的命令彼此不认识。为了能够进行通信,规定每个终端都要将各自 字符集中的字符先变换为标准字符集的字符后,才进入网络传送,到达目的终端之后,再变 换为该终端字符集的字符。当然,对于不相容终端,除了需变换字符集字符外。其他特性, 如显示格式、行长、行数、屏幕滚动方式等也需作相应的变换。本实施例中所述的网络包括一个服务器和多个客户机,所述的建立网络通信协议 包括定义服务器与客户机的通信端口,如定义客户机1使用通信端口 1与服务器进行通 信,客户机2使用通信端口 2与服务器进行通信等等,其中,所述的通信协议中包括有服务 器的IP地址,服务器的IP地址是固定的,客户机通过网络通信协议获取到服务器的IP地 址和通信端口,进而进行通信。步骤S102,客户机需共享文件时,按照通信协议与服务器通信并建立网络连接;步骤S103,通过所建立的网络连接,客户机向服务器发送共享文件请求;当客户机需要使用服务器的某个文件或某几个文件时,按照通信协议中服务器的 IP地址和通信端口向服务器发送连接请求,服务器接收到连接请求后建立与当前客户机的 网络连接,客户机通过所建立的网络连接,向服务器发送共享文件请求,共享文件请求中包 括共享文件的文件名称以及文件类型等基本信息,服务器根据这些基本信息可以准确找到 当前客户机所要共享的文件。步骤S104,服务器收到共享文件请求时,根据当前网络连接客户机的数量以及当 前客户机所使用传输端口的数量控制速率传输所需共享文件。在默认情况下,在进行文件传输时,通常设置传输速度为当前网络最大值,其中, 网卡的大小和硬盘的读写速率共同决定了网络传输的快慢,在硬件完全跟的上的情况下, 在局域网内文件的传输速率可以达到网络最大值,比如说服务器是百兆网卡,那么它的上 行和下行带宽都是10兆,客户机也一样,在这种情况下,一台服务器向一台客户机发送文 件的话,就可以达到10兆,甚至11兆每秒的速度,但同时,如果硬盘的读写速率只有5兆每 秒的话速度就会相对的降低。在广域网中,其限制会较多,比如对方使用的是那个代理商 的网络,是铁通,电信,还是网通,还有对方的上行和下行带宽是多少,网络延迟是多少等限制。本实施例中,服务器在接收到客户机的共享请求时,需根据当前网络连接客户机 的数量和当前客户机所使用传输端口的数量来控制文件传输的速度,具体来将,假设当前 服务器与5个客户机建立了网络连接,当前网络带宽为10兆,服务器将把10兆平均分配给 当前所连接的5个客户机,那么分配给每个客户机的带宽将为2兆。在进行文件传输的时候,文件发送和接收使用的端口是传输端口与之前客户机向 服务器发送连接请求的通信端口是不同的,以实例来讲,如果服务器要向客户机传送文件, 按照客户机所发送共享文件请求中的基本信息,指定文件,并指派一个可用的传输端口,客 户机将从指定的传输端口上读取文件或下载文件。针对不同的客户机服务器所指定的传输 端口是不同的,针对同一客户机的不同的读取或下载任务其指定的传输端口也是不同的。 在完成客户机某项读取或下载任务的同时,服务器会实时的将之前指定的与其对应的传输 端口释放,以方便下次使用。服务器根据当前客户机所占用传输端口的数量,获知当前客户机需从服务器上获 取文件的任务数量和类型。当客户机有读取流媒体数据文件需求时,则服务器在该客户机 分到的带宽中,预留当前客户机读取流媒体数据文件所需的带宽,用剩余的带宽完成共享 文件的传输;当客户机只需进行文件传输,则用该客户机分到的全部带宽进行文件传输。在网络传输中,对网络传输速率的控制,实质上来说,是控制文件传输过程中发包 的速率,若通过服务器来控制传输速率,则规定每次发送的数据包的大小。网络文件传输 其实也是一个文件读写的过程,程序每秒钟发多少个包,每个文件包的大小都是可以定义 的,本实施例中,通过控制服务器传输端口的数据交换量来控制传输文件的速率,实际应用 中,大多数的处理操作都是由程序完成的,具体速率的修改通过修改数值来实现,直白一些 说就类似于迅雷的下载速度限制一样,只需要输入一个有效的传输速率值,比如说要改成5 兆每秒的传输速率就只需要把网络传输的速度改成5就可以。优选的,步骤S104具体包括以下子步骤Si,服务器接收共享文件请求;S2,统计网络连接中客户机的数量,分配各客户机的使用带宽;S3,查询当前客户机所使用传输端口的数量,控制速率传输当前客户机所需共享 文件。服务器在接收到共享文件请求时,对网络连接中客户机的数量进行统计,具体的, 可通过统计客户机的IP地址数量获知当前网络连接中客户机的数量,根据所获取的客户 机数量将当前带宽平均分配给各个客户机,并且通过查询当前客户机所使用传输端口的数 量情况,控制给该客户机传输共享文件的速率。例如,在实际应用中,客户机可能通过不同的端口从服务器端同时下载视频文件 和流媒体数据,例如,客户机一边通过服务器的A端口下载某烹饪节目或者旅游节目,同时 还通过服务器的B端口,下载流媒体数据(如新闻节目或者路况信息),但是如果服务器基 于其当前带宽,分配给该客户机的下载带宽为2兆,则同时下载的视频文件和流媒体数据 会争抢2兆带宽,而流媒体数据具有实时性,如果下载视频文件的带宽占用较多,则会影响 流媒体数据的接收和播放。此时,服务器就可以基于本发明对该客户机的下载带宽进行控制,控制方法之一是可以增加该客户机的下载带宽,减少其他客户机的下载带宽。另一种优选的控制方法就是保证下载流媒体数据B端口的带宽,而降低下载视频 文件的A端口的带宽,因为视频文件的下载延迟一段时间可以接受。尤其当本发明适用在公交、地铁、楼宇等无线视频节目的无线网络传输系统中,技 术效果非常突出,可以非常好的避免公交、地铁、楼宇等的视频终端在下载视频文件时,对 正在播放的实时流媒体节目的影响。可以避免在这种情况下的网络堵塞所导致的终端故障 以及相应服务器端口的故障。本发明可以依据链接无线终端的情况以及各无线终端的下载 情况,对各个无线终端的下载带宽进行调整(限制或者增加),从而保证传输过程的顺畅执 行,并且不会影响实时流媒体数据的传输和播放,提高整个网络系统的平稳运行效率,降低 网络传输的故障率。优选的,所述方法在传输所需共享文件时还包括识别当前网络类型,所述网络类型包括局域网和广域网。更为优选的,通过识别或检查当前网络的类型并根据网络的类型选择相应的网络 协议。具体的来讲,通过识别当前的网络类型是局域网还是广域网,实际通信中使用TCP 和UDP两种通信协议,根据识别出的网络类型分别使用不同的IP协议进行文件的传输,TCP 针对的是广域网,UDP针对的是局域网,在局域网中使用UDP协议进行文件传输比较方便, 而广域网中网络相对不太稳定,使用TCP协议的话安全性和丢包的几率大大降低了,假设 服务器放在北京的某个机房里面,客户机在上海的某个展厅中,这时候他们之间是广域网 的链接,那么在这个时候进行文件传输是基于TCP通信协议进行的,或者服务器和客户机 都在本地,但是服务器有双网卡一块网卡负责广域网有独立IP地址,另一块网卡负责局域 网,同时服务器和客户机在局域网同属同一网段的情况下,客户机既可以通过独立IP地址 来访问服务器,同时也可以通过局域网的方式来访问服务器,也就是说客户机配置的服务 器的链接地址可以是独立IP地址也可以是局域网的IP地址。优选的,所述方法在传输所需共享文件时还包括数据包的丢包检查。更为优选的,通过将发送和接收的文件长度与预设传送文件的长度进行比较完成 数据包的丢包检查。丢包检查其实就是远程文件对比,每次发送和接收的文件的长度与预设传送文件 的长度进行比较,丢包就是比较后发现两者不一样,这样是为了防止传送的文件打不开或 者文件大小不对。实施例二 参照图2,示出了本发明的一种基于网络进行文件传输的装置结构图,所述装置包 括第一建立模块201,建立网络通信协议;所述网络包括一个服务器和多个客户机, 所述通信协议包括服务器的IP地址和通信端口 ;第二建立模块202,用于在客户机需共享文件时,按照通信协议与服务器通信并建 立网络连接;发送请求模块203,用于通过所建立的网络连接,客户机向服务器发送共享文件请求;处理模块204,用于由服务器根据网络连接客户机的数量以及当前客户机所使用 传输端口的数量控制速率进行文件传输。优选的,所述处理模块204具体包括以下子模块接收子模块2041,用于服务器接收共享文件请求;分配子模块2042,用于统计网络连接中客户机的数量,分配各客户机的使用带 宽;发送子模块2043,用于由客户机通过通信端口向服务器发送共享请求;所述共享 请求包括当前客户机的IP地址;处理子模块2044,用于查询当前客户机所使用传输端口的数量,控制速率传输当 前客户机所需共享文件。优选的,所述装置还包括识别模块205,用于识别当前网络类型,所述网络类型包括局域网和广域网。优选的,所述装置还包括检查模块206,用完成数据包的丢包检查。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与 其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例 而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部 分说明即可。以上对本发明所提供的一种基于网络进行文件传输的方法和装置进行了详细介 绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只 是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发 明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理 解为对本发明的限制。
权利要求
一种基于网络进行文件传输的方法,其特征在于,所述方法包括建立网络通信协议;所述网络包括一个服务器和多个客户机,所述通信协议包括服务器的IP地址和通信端口;客户机需共享文件时,按照通信协议与服务器通信并建立网络连接;通过所建立的网络连接,客户机向服务器发送共享文件请求;服务器收到共享文件请求时,根据当前网络连接客户机的数量以及当前客户机所使用传输端口的数量控制速率传输所需共享文件。
2.根据权利要求1所述的方法,其特征在于,所述服务器收到共享文件请求时,根据当 前网络连接客户机的数量以及当前客户机所使用传输端口的数量控制速率传输所需共享 文件具体包括以下子步骤服务器接收共享文件请求;统计网络连接中客户机的数量,分配各客户机的使用带宽;查询当前客户机所使用传输端口的数量,控制速率传输当前客户机所需共享文件。
3.根据权利要求1所述的方法,其特征在于,所述方法在传输所需共享文件时还包括 识别当前网络类型,所述网络类型包括局域网和广域网。
4.根据权利要求3所述的方法,其特征在于 当前网络类型为局域网时,使用UDP协议传输文件; 当前网络类型为广域网时,使用TCP协议传输文件。
5.根据权利要求1所述的方法,其特征在于,所述方法在传输所需共享文件时还包括 数据包的丢包检查。
6.根据权利要求5所述的方法,其特征在于通过将发送和接收的文件与预设传送文件的长度进行比较完成数据包的丢包检查。
7. 一种基于网络进行文件传输的装置,其特征在于,所述装置包括第一建立模块,建立网络通信协议;所述网络包括一个服务器和多个客户机,所述通信 协议包括服务器的IP地址和通信端口 ;第二建立模块,用于在客户机需共享文件时,按照通信协议与服务器通信并建立网络 连接;发送请求模块,用于通过所建立的网络连接,客户机向服务器发送共享文件请求; 处理模块,用于由服务器根据网络连接客户机的数量以及当前客户机所使用传输端口 的数量控制速率进行文件传输。
8.根据权利要求7所述的装置,其特征在于,所述处理模块具体包括以下子模块 接收子模块,用于服务器接收共享文件请求;分配子模块,用于统计网络连接中客户机的数量,分配各客户机的使用带宽; 发送子模块,用于由客户机通过通信端口向服务器发送共享请求;所述共享请求包括 当前客户机的IP地址;处理子模块,用于查询当前客户机所使用传输端口的数量,控制速率传输当前客户机 所需共享文件。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括识别模块,用于识别当前网络类型,所述网络类型包括局域网和广域网。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括 检查模块,用完成数据包的丢包检查。
全文摘要
本发明提供一种基于网络进行文件传输的方法和装置,通过建立网络通信协议,所述网络中包括一个服务器和多个客户机,通信协议包括服务器的IP地址和通信端口,客户机需共享文件时,按通信协议与服务器通信并建立网络连接,客户机通过所建立的网络连接向服务器发送共享文件请求,服务器收到共享文件请求时,根据当前网络连接客户机的数量以及当前客户机所使用传输端口的数量控制速率传输所需共享文件,从而实现在不影响数据读取或播放发布的同时,顺利完成文件传输的任务。
文档编号H04L29/08GK101997916SQ20101053633
公开日2011年3月30日 申请日期2010年11月3日 优先权日2010年11月3日
发明者崔振英, 戴福昊, 王磊 申请人:同辉佳视(北京)信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1