多源混合文件传输方法和系统的制作方法

文档序号:7743390阅读:122来源:国知局
专利名称:多源混合文件传输方法和系统的制作方法
技术领域
本发明涉及网络传输技术领域,尤其涉及一种多源混合文件传输方法和系统。
背景技术
目前,有多种网络协议能够支持文件传输(包括上传和下载)的功能。这些协议大致可以分为P2P (Peer to Peer,对等)网络协议和非P2P网络协议。对于P2P网络协议,如eMule、BitTorrent等,将所有客户端以对等的方式连结拓扑而构成一个动态的文件资源网络。P2P网络一般拥有较完善的搜源机制,其构成形式以集中式、分布式和混合式为主。客户端通过P2P网络的搜源机制来发现、定位其他客户端,从而可以在P2P网络中传输和共享文件资源。P2P网络的优点是没有传统的中心服务器的传输能力负担。一定程度上源节点越多,传输效率越高,文件资源在网络中比较容易产生冗余备份,从而增加文件资源的有效性,不易受客户端的加入和退出影响,有一定的容错能力。 其缺点是有可能由于文件某部分内容在P2P网络中缺失,而导致所有客户端无法获得完整的文件。对于非P2P网络协议,如HTTP (Hypertext Transfer Protocol,超文本传输协 IX ) > FTP (File Transfer Protocol,文件传输协议)等传统的 C/S (Client/Server,客户端/服务器)结构的网络,客户端一般通过文件的URUUniform/Universal Resource Locator,统一资源定位符)来进行访问。其优点是无需进行搜源,访问速度比较稳定,传输机制简单,客户端无需维护网络。其缺点是中心服务器负荷重,高并发时难以保证客户端传输文件的效率,并且容易由于中心服务器故障或URL失效而导致文件无法获得。另外,这些网络协议所构成的文件资源网络之间彼此隔绝,不能有效共享,而文件资源也容易失效。由于只使用一种传输协议传输文件,网络带宽可能得不到充分利用,而且其传输效率容易受单个传输网络环境影响而出现较大波动甚至传输失效,或由于这些瓶颈而导致传输效率难以提高。

发明内容
本发明要解决的一个技术问题是提供一种多源混合文件传输方法和系统,能够充分利用网络文件资源,提高传输效率。本发明提供一种多源混合文件传输方法,包括在索引服务端维护所述文件的索引标识、以及不同传输协议的文件源信息;传输客户端根据所述文件的索引标识从所述索引服务端获得所述文件的不同传输协议的文件源信息;所述传输客户端根据所述文件的不同传输协议的文件源信息通过对应的传输协议下载所述文件数据。根据本发明的多源混合文件传输方法的一个实施例,文件的不同传输协议的文件源信息包括所述文件的不同传输协议的文件链接和文件分块信息;
所述传输客户端根据所述文件的不同传输协议的文件源信息通过对应的传输协议下载所述文件数据的步骤包括所述传输客户端根据所述文件的不同传输协议的文件链接通过对应的传输协议和文件源节点建立连接;所述传输客户端根据所述文件的分块信息从所述文件源节点下载所述文件的分块数据。根据本发明的多源混合文件传输方法的一个实施例,该方法还包括所述传输客户端向所述索引服务端反馈不同传输协议的文件源节点的传输信息;所述索引服务端根据所述传输客户端反馈的传输信息维护所述文件的不同传输协议的文件源信息。根据本发明的多源混合文件传输方法的一个实施例,该方法还包括传输客户端根据稀有数据块优先、或随机选择数据块优先原则驱动不同传输协议协同完成所述文件的下载。根据本发明的多源混合文件传输方法的一个实施例,该方法还包括
所述传输客户端作为文件源节点向其他客户端传输文件数据。本发明提供一种多源混合文件传输系统,包括索引服务端,用于维护所述文件的索引标识、以及不同传输协议的文件源信息;接收索引服务请求,返回与所述索引服务请求中包含的索引标识对应的文件的不同传输协议的文件源信息;传输客户端,用于向所述索引服务端发送索引服务请求,所述索引服务请求中包括请求下载的文件的索引标识;接收来自所述索引服务端的所述文件的不同传输协议的文件源信息;根据所述文件的不同传输协议的文件源信息通过对应的传输协议下载所述文件数据。根据本发明的多源混合文件传输系统的一个实施例,传输客户端包括文件源信息获取模块,用于向所述索引服务端发送索引服务请求,所述索引服务请求中包括文件的索引标识信息,接收所述索引服务端返回的各种传输协议的文件源信息,发送所述各种传输协议的文件源信息;文件传输控制模块,用于接收来自所述文件源信息获取模块的各种传输协议的文件源信息,按照预定的传输控制策略确定从不同的文件源中获取的数据,驱动各个文件数据下载模块从不同的文件源节点下载数据;所述文件数据下载模块,用于根据各个传输协议的文件源信息通过对应的传输协议与文件源节点建立连接,下载对应的文件数据。根据本发明的多源混合文件传输系统的一个实施例,文件的不同传输协议的文件源信息包括所述文件的不同传输协议的文件链接和文件分块信息;传输客户端根据所述文件的不同传输协议的文件链接通过对应的传输协议和文件源节点建立连接,根据所述文件的分块信息从所述文件源节点下载所述文件的分块。根据本发明的多源混合文件传输系统的一个实施例,所述传输客户端还用于向所述索引服务端反馈不同传输协议的文件源节点的传输信息;
所述索引服务端还用于根据所述传输客户端反馈的传输信息维护所述文件的不同传输协议的文件源信息。本发明的多源混合文件传输方法和系统,通过文件资源多协议传输机制,将各种传输网络有机的组织起来,使得文件资源可以在这些网络间得到充分利用。进一步,使用多种传输协议进行同一文件传输,根据不同的控制策略,协调和驱动各种传输协议,利用不同的文件源共同完成文件传输,提高了传输效率。


图1示出本发明的多源混合文件传输方法的一个实施例的流程图;图2示出本发明的多源混合文件传输方法的另一个实施例的流程图;图3示出本发明的多源混合文件传输系统的一个实施例的结构图;图4示出本发明的传输客户端的一个实施例的结构图。
具体实施例方式下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。本发明实施例提供一种多源多协议混合文件传输方法,在索引服务端存储文件的索引标识(ID)、不同传输协议定位该文件所需的文件源信息,以及索引标识和文件源信息的对应关系,进行动态管理和维护;当客户端需要下载一个文件时,向索引服务端发送索引服务请求,索引服务端根据索引服务请求中要下载文件的索引标识,获得对应的不同传输协议的文件源信息,返回给客户端;客户端根据不同传输协议的文件源信息,通过对应的传输协议从文件源节点下载文件数据。为了解决目前各种传输协议之间相互独立,无法有效利用网络资源的问题,本发明实施例提出一种机制,对要传输的文件建立统一的索引ID,同时将索引ID与不同的传输协议定位该文件所需要的源信息结合起来,进行动态管理和维护。索引ID例如是通过某种散列算法计算整个文件内容所得出的散列值。文件源信息包括可直接或间接定位文件源的数据。对于P2P类的协议,一般具有搜源机制,因此文件源信息一般作为间接定位源节点; 例如eMule协议,文件源信息应包括eMule文件链接及一些对应的eMule服务器地址;对于 Bit Torrent协议,文件源信息包括可获取torrent文件的地址和该文件在torrent文件中的索引位置。对于非P2P类的协议,如http和ftp等,源信息包括可获取文件的url链接。 文件源信息还可以包括文件分块信息。索引服务端将基本索引信息(例如文件大小、文件描述及文件校验信息等)和相应的文件源信息与索引ID建立双向映射关系,并对这些信息进行管理维护。不同的传输客户端节点可以使用索引ID或者任一种传输协议对应的源信息,通过索引服务端的索引服务找到各种协议对应的文件源信息,并按照对应的传输协议与文件源建立连接,进行数据传输。这种机制使得不同传输协议的资源网络联系起来,有效利用和共享文件资源。为了解决利用不同的协议和文件源协同传输同一文件的问题,本发明的实施例提出一种统一文件传输控制的机制对文件进行分块和调度传输。下载文件时,传输控制模块根据可用的文件源和不同的分块及调度策略驱动多种传输协议同时下载文件不同部分的内容,各种传输协议只负责数据传输,不再负责实际文件操作。上传文件时,传输控制模块统一处理各种协议的数据上传请求,根据上传策略提供文件数据并驱动传输协议完成数据传输。图1示出本发明的多源混合文件传输方法的一个实施例的流程图。如图1所示,在步骤102,在索引服务端维护文件的索引标识、以及不同传输协议的文件源信息。文件源信息例如包括该文件的不同传输协议的文件链接和文件分块信息, 例如,文件源信息的格式为文件源信息文件索引id|内容分块信息Iurl :httP//xxx. com/movielD ;ftp ://202.168. 1. 23/movieID。在步骤104,传输客户端根据文件的索引标识从索引服务端获得文件的不同传输协议的文件源信息。传输客户端向索引服务端发送索引服务请求,索引服务端根据索引服务请求中要下载的文件的索引标识获得对应的不同传输协议的文件源信息,发送给传输客户端。在步骤106,传输客户端根据文件的不同传输协议的文件源信息通过对应的传输协议下载文件数据。传输客户端可以从不同的文件源信息中选择一种传输协议下载整个文件,也可以通过多个不同传输协议的文件源协同下载整个文件。在客户端之间和客户端与索引服务端之间建立一套的通信协议,进行信息交换。 协议内容包括客户端向服务端的索引信息请求应答,客户端文件源信息和统计信息提交和反馈等。例如,客户端和索引服务端之间的通信流程如下客户端请求request :movie ID ;月艮务器回答:reply :peer list ;urll, url2____;客户端信息提交update :movie ID ;分块nl,分块n2,分块n3......;服务器提交确认COnf irm 分块数目。传输客户端获得不同传输协议的文件源信息后,可以根据一定的传输控制策略进行文件下载。文件下载时的传输控制策略是分块下载的选择策略,指示从哪个文件源节点下载文件哪一部分的数据。选择的原则可以包括稀有的文件数据部分优先原则由于在P2P网络中,客户端在传输过程中可能只拥有文件的某些部分,如果文件其中一个小部分只有很少客户端拥有,一旦这些客户端因为操作或异常等情况退出传输,将导致其他客户端不能成功获得完整的文件。客户端传输控制模块通过各种P2P网络源节点对文件拥有数据块的状况进行统计,优先下载稀有文件数据块,确保文件在资源网络中的完整性。随机选择文件数据下载原则对于文件各部分在已知源节点中的拥有状况相当时,客户端可以随机选择一个可下载的分块并请求源节点传输。根据本发明的多源混合文件传输方法的一个实施例,文件的不同传输协议的文件源信息包括文件的不同传输协议的文件链接和文件分块信息。传输客户端根据文件的不同传输协议的文件源信息通过对应的传输协议下载文件数据的步骤包括传输客户端根据文件的不同传输协议的文件链接通过对应的传输协议和文件源节点建立连接;传输客户端根据文件的分块信息从文件源节点下载文件的分块数据。此外, 传输客户端还向索引服务端反馈不同传输协议的文件源节点的传输信息;索引服务端根据传输客户端反馈的传输信息维护文件的不同传输协议的文件源信息。图2示出本发明的多源混合文件传输方法的另一个实施例的流程图。
如图2所示,在步骤202,用户向客户端添加文件下载链接,客户端分析出文件的索引ID或协议文件源信息,向索引服务端请求索引服务。在步骤204,索引服务端检索文件对应的各种传输协议的文件源信息和文件大小、 校验等相关信息,并返回给客户端。在步骤206,客户端根据不同传输协议的文件源信息,通过传输控制机制驱动传输协议定位文件源节点,与文件源节点建立连接。在步骤208,对于下载文件操作,客户端的传输控制模块根据已建立的源节点连接情况和文件源的动态信息(如传输速度,拥有文件内容的情况),按照业务准则设定的优先级和稀有块优先等原则向源节点请求数据。在步骤210,客户端对已下载的文件内容进行校验(可设定按照不同粒度进行)。 对于上传错误内容的源节点,客户端将相关源信息提交索引服务端,由索引服务端按照策略调整有效源信息记录。在步骤212,客户端对已下载完成或要共享的文件,计算出索引ID等信息,将这些信息及客户端已知的所有传输协议的有效源信息提交到索引服务端。索引服务端以尽可能保持文件源的有效性和高效性的原则,创建或更新对应的索引信息,并清理可能无效的文件源信息,使得文件资源能够在各种网络中被有效利用。客户端在下载文件的同时,也可以进行上传文件操作。对于上传文件操作,客户端根据不同传输协议的数据请求,将文件数据传输给对方节点。需要指出,本发明的索引服务端既可以是集中式的索引服务器,也可以是分布式的多个索引服务设备。下面针对客户端加入传输网络,获取索引信息并传输文件及提交统计反馈信息的过程,详细阐述该发明机制的一个应用场景。该应用场景的资源网络由eMule、BitT0rrent、Http协议组成。索引服务端采用中心索引服务器提供索引服务的集中式结构。该应用例包括步骤(1)用户以某种协议的文件下载链接向客户端添加下载任务,客户端通过下载链接及协议生成源信息,然后将其作为参数向索引服务器发出请求。索引服务器通过源信息查找对应的索引ID及文件信息,并通过索引ID返回更多对应的各种协议的源信息给客户端。(2)客户端获取这些文件信息及源信息后,开始定位源节点和建立连接。对于 eMule网络,客户端将根据源信息中对应的下载链接和eServer地址加入eMule的P2P网络,利用eMule的搜源机制获取文件源节点及建立P2P连接。对于BitTorrent网络,客户端根据源信息中对应的torrent文件下载地址获取torrent文件并加入BitTorrent的P2P 网络,利用BitTorrent的搜源机制获取文件源节点并建立P2P连接,并根据源信息中饱含的被下载文件在torrent文件中的索引向源节点请求对应的文件数据。对于Http协议,客户端将根据源信息中的http下载链接建立连接并下载文件。(3)传输控制模块根据各种协议在传输过程中所提供的文件分块有效状况(越多源节点持有该分块则越有效)、源节点传输速度、协议及源节点是否支持文件随机访问等统计数据,按照“稀有的文件数据部分优先原则”、“随机选择文件数据下载原则”等准则确定向源节点请求那部分文件数据,并驱动对应的协议处理传输请求。
(4)在下载文件的过程中,其他客户端可以请求文件内容上传,提供上传客户端传输控制模块根据其他客户端在传输过程中向我方提供数据多少、传输速度等统计信息,按照互助互利,即对方提供给我方越多,我方也提供给对方越多的激励原则,为其他客户端分配上传的流量配额并进行上传。( 根据文件校验信息对已完成下载的文件进行校验,确认文件内容正确。对于在传输过程中发现某些源节点无法连接,或者该节点发送无效文件内容或者违反对应的协议所规定的一些规则时,客户端将这些源节点列为坏节点,在一定时间内将其过滤掉。而且, 客户端将无法建立连接的源节点信息提交给索引服务器。服务器根据客户端的提交对源信息增加无效计数,当计数至一定数量时,将对应的记录删除掉。(6)对于已经完成下载的文件,客户端根据各种下载来源信息和传输协议建立源信息,源信息的构成与索引服务器中返回的形式一致。如果索引服务器上还没有对应的索引ID及信息,则客户端根据索引ID的散列算法计算索引ID,并且将这些索引信息提交到索引服务器,索引服务器将对信息进行维护。图3示出本发明的多源混合文件传输系统的一个实施例的结构图。如图3所示, 该传输系统包括索引服务端31、传输客户端32和文件源节点33。其中,索引服务端31用于维护文件的索引标识、以及不同传输协议的文件源信息;接收来自传输客户端32的索引服务请求,索引服务请求中包括文件索引标识;返回与索引服务请求中包含的索引标识对应的文件的不同传输协议的文件源信息。传输客户端32用于向索引服务端31发送索引服务请求,索引服务请求中包括请求下载的文件的索引标识;接收来自索引服务端31的文件的不同传输协议的文件源信息;根据文件的不同传输协议的文件源信息通过对应的传输协议从文件源节点33下载文件数据。索引服务器端负责维护传输文件索引信息,建立不同协议的文件源的映射关系。 为客户端提供文件源定位和搜索服务。索引服务端根据客户端提交的各种文件信息创建和维护索引信息,以及根据客户端反馈的信息进行统计、分析和维护文件源信息的有效性,定期清理无效文件源,帮助客户端提高传输的效率。索引服务端在物理上可以是中心服务器构成的集中式,对等客户端分布式等结构形式。传输客户端负责执行文件传输任务,下载文件时,从索引服务端获取各种传输协议的对应源信息,定位文件源,驱动各种传输协议建立连接并依靠传输控制策略从不同的文件源中获取数据。上传文件时,按照不同的传输协议向不同的请求方提供有效的文件数据。客户端还负责计算各种传输协议下文件对应的源信息,收集文件源的有效信息等,并将这些信息提交索引服务端进行维护管理。图4示出本发明的传输客户端的一个实施例的结构图。如图4所示,该传输客户端 400包括文件源信息获取模块41、文件传输控制模块42和文件数据下载模块43。其中,文件源信息获取模块41向索引服务端发送索引服务请求,索引服务请求中包括文件的索引标识信息,接收索引服务端返回的各种传输协议的文件源信息,并将接收的文件源信息发送给文件传输控制模块42。文件传输控制模块42接收各种传输协议的文件源信息,按照预定的传输控制策略确定从不同的文件源中获取的数据,驱动各个文件数据下载模块43通过对应的传输协议从不同的文件源下载数据。各个文件数据下载模块43用于根据各个传输协议的文件源信息通过对应的传输协议与文件源节点建立连接,下载对应的文件数据。
本发明提供一套可以组织互联多种传输协议实现文件资源有效共享,并能根据不同策略驱动多种不同的传输协议协同传输同一文件的机制。文件资源多协议传输机制,将各种传输网络有机的组织起来,使得文件资源可以在这些网络间得到充分利用。同时,为了充分利用各种传输网络中的资源,也提出一套可以同时使用多种传输协议进行同一文件传输的传输控制机制,根据不同的控制策略,协调和驱动各种传输协议,利用不同的文件源共同完成文件传输,提高传输效率。本发明提供的多源混合文件传输方法和系统,通过对文件进行唯一索引标识及统一的索引管理,使多种协议的文件资源网络可以相互共享,有效利用网络资源。通过索引服务端对文件索引与文件源信息的管理,可以动态地根据客户端反馈的统计信息,有效地清理无用源信息记录,保证文件资源的可获得性。通过客户端统一的传输控制模块,根据不同的传输策略和文件源信息驱动多个传输协议同时协同传输一个文件,使文件传输更灵活、 稳定,效率更高。本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
权利要求
1.一种多源混合文件传输方法,其特征在于,包括在索引服务端维护所述文件的索引标识、以及不同传输协议的文件源信息; 传输客户端根据所述文件的索引标识从所述索引服务端获得所述文件的不同传输协议的文件源信息;所述传输客户端根据所述文件的不同传输协议的文件源信息通过对应的传输协议下载所述文件数据。
2.根据权利要求1所述的多源混合文件传输方法,其特征在于,所述文件的不同传输协议的文件源信息包括所述文件的不同传输协议的文件链接和文件分块信息;所述传输客户端根据所述文件的不同传输协议的文件源信息通过对应的传输协议下载所述文件数据的步骤包括所述传输客户端根据所述文件的不同传输协议的文件链接通过对应的传输协议和文件源节点建立连接;所述传输客户端根据所述文件的分块信息从所述文件源节点下载所述文件的分块数据。
3.根据权利要求2所述的多源混合文件传输方法,其特征在于,还包括所述传输客户端向所述索引服务端反馈不同传输协议的文件源节点的传输信息; 所述索引服务端根据所述传输客户端反馈的传输信息维护所述文件的不同传输协议的文件源信息。
4.根据权利要求1所述的多源混合文件传输方法,其特征在于,还包括所述传输客户端根据稀有数据块优先、或随机选择数据块优先原则驱动不同传输协议协同完成所述文件的下载。
5.根据权利要求1所述的多源混合文件传输方法,其特征在于,还包括 所述传输客户端作为文件源节点向其他客户端传输文件数据。
6.一种多源混合文件传输系统,其特征在于,包括索引服务端,用于维护所述文件的索引标识、以及不同传输协议的文件源信息;接收索引服务请求,返回与所述索引服务请求中包含的索引标识对应的文件的不同传输协议的文件源信息;传输客户端,用于向所述索引服务端发送索引服务请求,所述索引服务请求中包括请求下载的文件的索引标识;接收来自所述索引服务端的所述文件的不同传输协议的文件源信息;根据所述文件的不同传输协议的文件源信息通过对应的传输协议下载所述文件数据。
7.根据权利要求6所述的多源混合文件传输系统,其特征在于,所述传输客户端包括 文件源信息获取模块,用于向所述索引服务端发送索引服务请求,所述索引服务请求中包括文件的索引标识信息,接收所述索引服务端返回的各种传输协议的文件源信息,发送所述各种传输协议的文件源信息;文件传输控制模块,用于接收来自所述文件源信息获取模块的各种传输协议的文件源信息,按照预定的传输控制策略确定从不同的文件源中获取的数据,驱动各个文件数据下载模块从不同的文件源节点下载数据;所述文件数据下载模块,用于根据各个传输协议的文件源信息通过对应的传输协议与文件源节点建立连接,下载对应的文件数据。
8.根据权利要求6所述的多源混合文件传输系统,其特征在于,所述文件的不同传输协议的文件源信息包括所述文件的不同传输协议的文件链接和文件分块信息;所述传输客户端根据所述文件的不同传输协议的文件链接通过对应的传输协议和文件源节点建立连接,根据所述文件的分块信息从所述文件源节点下载所述文件的分块。
9.根据权利要求8所述的多源混合文件传输系统,其特征在于,所述传输客户端还用于向所述索引服务端反馈不同传输协议的文件源节点的传输信息;所述索引服务端还用于根据所述传输客户端反馈的传输信息维护所述文件的不同传输协议的文件源信息。
10.根据权利要求6所述的多源混合文件传输系统,其特征在于,所述传输客户端根据稀有数据块优先、或随机选择数据块优先原则驱动不同传输协议协同完成所述文件的下载。
11.根据权利要求6所述的多源混合文件传输系统,其特征在于, 所述传输客户端还作为文件源节点向其他客户端传输文件数据。
全文摘要
本发明公开一种多源混合文件传输方法和系统。该方法包括包括在索引服务端维护文件的索引标识、以及不同传输协议的文件源信息;传输客户端根据文件的索引标识从索引服务端获得文件的不同传输协议的文件源信息;传输客户端根据文件的不同传输协议的文件源信息通过对应的传输协议下载文件数据。本发明的传输方法和系统,通过文件资源多协议传输机制,将各种传输网络有机的组织起来,使得文件资源可以在这些网络间得到充分利用。同时,使用多种传输协议进行同一文件传输,根据不同的控制策略,协调和驱动各种传输协议,利用不同的文件源共同完成文件传输,提高了传输效率。
文档编号H04L29/08GK102164115SQ20101012216
公开日2011年8月24日 申请日期2010年2月22日 优先权日2010年2月22日
发明者庞涛, 张志健, 梁洁, 武娟, 黄海, 龙斌 申请人:中国电信股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1