基于p2p网络的数据传输方法及装置的制造方法

文档序号:10515647阅读:179来源:国知局
基于p2p网络的数据传输方法及装置的制造方法
【专利摘要】本发明实施例提供一种基于P2P网络的数据传输方法及装置,涉及信息技术领域,主要在于解决目前无法合理地利用网络资源,选择合理数据量的数据进行传输的问题。所述方法包括:获取不同数据传输策略分别对应的传输速度,其中,所述数据传输策略包括第一P2P节点每次向第二P2P节点请求数据的数据量;确定最快传输速度对应的数据传输策略;根据所述数据传输策略,向所述第二P2P节点请求数据。本发明适用于基于P2P网络的数据传输。
【专利说明】
基于P2P网络的数据传输方法及装置
技术领域
[0001]本发明实施例涉及信息技术领域,尤其涉及一种基于P2P网络的数据传输方法及
目.ο
【背景技术】
[0002]在点对点(Peer-t0-Peer,P2P)网络中,各个节点为平等的同等节点,每个节点既可以从其他节点得到服务,也可以向其他节点提供服务。目前,在P2P网络中节点与节点之间进行数据交互时,需要在节点间传送信令。其中,信令主要包含心跳信息、发送数据的信息、索要数据的信息等,并根据信令中携带的索要数据信息向其他节点发送相应的数据;各个节点通常将一个大文件按相同的规则切分成若干个小数据块pi eceO?pi eceN,这些piece是节点间分享数据的基本单位,piece的字节大小通常为一个定值,并且每个piece都有相应的编号idx,该编号为索要和分享数据块的标识。其中。在P2P网络中节点与其他节点进行传输数据时,每次只传输一个Piece。然而,由于节点之间的数据切分为多个piece,每次只传输一个Piece,节点之间需要进行多次交互,从而造成网络资源浪费。
[0003]目前,为了解决上述问题,在P2P网络中节点与其他节点进行传输数据时,每次传输多个Piece。然而,当网络状况非常好时,每次传输piece数量,即数据的数据量过小时会造成网络资源的浪费,当网络状况不好时,传输piece数量过大时会造成传送缓慢,数据拥堵或数据丢失。因此,在P2P网络中节点与其他节点进行传输数据,合理地利用网络资源,选择合理数据量的数据进行传输已成为目前亟待解决的问题。

【发明内容】

[0004]本发明实施例提供一种基于P2P网络的数据传输方法及装置,用以解决现有技术中无法合理地利用网络资源,选择合理数据量的数据进行传输的缺陷。
[0005]本发明实施例提供一种基于P2P网络的数据传输方法,包括:
[0006]获取不同数据传输策略分别对应的传输速度,其中,所述数据传输策略包括第一点对点P2P节点每次向第二 P2P节点请求数据的数据量;
[0007]确定最快传输速度对应的数据传输策略;
[0008]根据所述数据传输策略,向所述第二P2P节点请求数据。
[0009]进一步地,所述获取不同数据传输策略分别对应的传输速度包括:
[0010]获取不同数据传输策略分别对应的数据的数据量大小,以及所述数据的传输时间;
[0011 ]根据所述数据量大小和所述传输时间,计算所述不同数据传输策略分别对应的传输速度。
[0012]进一步地,所述获取所述数据的传输时间包括:
[0013]记录所述第一P2P节点请求所述数据的时间以及所述第一 P2P节点接收到所述数据的时间;
[0014]根据所述请求所述数据的时间和所述接收到所述数据的时间,获取所述数据的传输时间。
[0015]进一步地,所述根据所述数据传输策略,向所述第二P2P节点请求数据之前,所述方法还包括:
[0016]接收所述第二P2P节点发送的传输数据信令,所述传输数据信令中携带有待传输数据的标识信息;
[0017]所述根据所述数据传输策略,向所述第二P2P节点请求数据包括:
[0018]根据所述数据传输策略,从所述待传输数据的标识信息中选择请求数据的标识信息;
[0019]根据所述标识信息,向所述第二P2P节点发送请求数据信令。
[0020]进一步地,所述根据所述数据传输策略,从所述待传输数据的标识信息中选择请求数据的标识信息之前,还包括:
[0021]判断所述第一P2P节点本地中是否存在与所述待传输数据的标识信息对应的数据;
[0022]所述根据所述数据传输策略,从所述待传输数据的标识信息中选择请求数据的标识信息包括:
[0023]若不存在,则根据所述数据传输策略,从所述待传输数据的标识信息中选择请求数据的标识信息。
[0024]本发明实施例提供一种基于P2P网络的数据传输装置,包括:
[0025]获取单元,用于获取不同数据传输策略分别对应的传输速度,其中,所述数据传输策略包括第一点对点P2P节点每次向第二 P2P节点请求数据的数据量;
[0026]确定单元,用于确定最快传输速度对应的数据传输策略;
[0027]请求单元,用于根据所述数据传输策略,向所述第二P2P节点请求数据。
[0028]进一步地,所述获取单元包括:
[0029]获取模块,用于获取不同数据传输策略分别对应的数据的数据量大小,以及所述数据的传输时间;
[0030]计算模块,用于根据所述数据量大小和所述传输时间,计算所述不同数据传输策略分别对应的传输速度。
[0031]进一步地,所述获取模块,具体用于记录所述第一P2P节点请求所述数据的时间以及所述第一P2P节点接收到所述数据的时间;
[0032]所述获取模块,具体还用于根据所述请求所述数据的时间和所述接收到所述数据的时间,获取所述数据的传输时间。
[0033]进一步地,所述装置还包括:接收单元,
[0034]所述接收单元,用于接收所述第二P2P节点发送的传输数据信令,所述传输数据信令中携带有待传输数据的标识信息;
[0035]所述请求单元包括:选择模块和请求模块,
[0036]所述选择模块,用于根据所述数据传输策略,从所述待输达数据的标识信息中选择请求数据的标识信息;
[0037]所述请求模块,用于根据所述标识信息,向所述第二P2P节点发送请求数据信令。
[0038]进一步地,所述请求单元还包括:判断模块,
[0039]所述判断模块,用于判断所述第一P2P节点本地中是否存在与所述待传输数据的标识信息对应的数据;
[0040]所述选择模块,具体用于若所述第一P2P节点本地中不存在与所述待传输数据的标识信息对应的数据,则根据所述数据传输策略,从所述待输达数据的标识信息中选择请求数据的标识信息。
[0041]本发明实施例提供的基于P2P网络的数据传输方法及装置,通过根据最快传输速度对应的数据传输策略进行数据传输,其中,不同的数据传输策略对应不同的数据量,改变了现有技术无法合理地利用网络资源,选择合理数据量的数据进行传输的缺陷,实现了根据网络状态进行数据传输,从而能够在避免网络资源浪费的同时保证数据传输的速度。
【附图说明】
[0042]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043]图1为本发明实施例提供的一种基于P2P网络的数据传输方法流程图;
[0044]图2为本发明实施例提供的另一种基于P2P网络的数据传输方法流程图;
[0045]图3为本发明实施例提供的一种基于P2P网络的数据传输装置的结构示意图;
[0046]图4为本发明实施例提供的一种基于P2P网络的数据传输装置的结构示意图。
【具体实施方式】
[0047]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048]本发明实施例提供了一种基于P2P网络的数据传输方法,可以应用于P2P节点服务器,如图1所示,所述方法包括:
[0049]101、获取不同数据传输策略分别对应的传输速度。
[0050]其中,所述数据传输策略包括第一P2P节点每次向第二 P2P节点请求数据的数据量。
[0051]在P2P网络中,通常第二P2P节点向第一P2P节点传达数据时,需要向第一P2P节点先发送信令,其中,信令中包括该第二P2P节点拥有数据的数据信息列表。然后,第一P2P节点根据实际需求,向第二P2P节点索要数据。当网络状态较好时,第一P2P节点一次向第二P2P节点索要数据的数据量过少时,会造成网络资源的浪费;当网络状态较差时,第一P2P节点一次向第二 P2P节点索要数据的数据量过多时,会造成数据传输较慢。因此,在第一 P2P节点向第二P2P节点请求数据前,需要对网络状态进行测试,制定不同的数据传输策略,即第一 P2P节点每次向第二 P2P节点请求不同数据量的数据,然后获取传输不同数据量的数据分别需要的传输速度。
[0052]例如,节点A向节点B发送的信令中包括数据信息列表dataIistl = [1,100],表示节点A拥有第I块到第100块的数据。节点B接收到datalistl后,会与本地中的datalist2进行比较,通过比较确认需要向节点A索要第10块到第100块的数据。因此,在节点A向节点B请求数据前,需要对网络状态进行测试,制定不同的数据传输策略。即节点A每次向节点B请求不同数据量的数据,然后获取传输不同数据量的数据分别需要的传输速度。具体地,第一种数据传输策略:节点A每次向节点B请求第101块数据,根据I块数据的大小和传输时间,获取传输第101块数据的传输速度Vl;第二种数据传输策略:节点A每次向节点B请求2块数,根据2块数据的大小和传输时间据,获取传输2块数据的传输速度V2。
[0053]102、确定最快传输速度对应的数据传输策略。
[0054]例如,总共有三种数据传输策略分别为:节点B每次向节点A请求I块数据;节点B每次向节点A请求2块数据;节点B每次向节点A请求3块数据。三种数据传输策略分别对应的传输速度为V1、V2、V3。其中,V1、V2、V3中V3最快,则当节点B需要向节点A索要第10块到第100块的数据时,可以每次向节点A索要3块数据,从而获取所有需要索要的数据。在实际的应用中,可以实时获取不同数据传输策略分别对应的传输速度,如当数据传输一段时间后,网络状态发生变化时,V2在Vl、V2、V3中最快,则节点B可以每次向节点A索要2块数据,从而获取剩余的需要索要的数据。
[0055]对于本发明实施例,通过根据最快传输速度对应的数据传输策略进行数据传输,能够克服现有技术无法合理地利用网络资源,选择合理数据量的数据进行传输的缺陷,实现了根据网络状态进行数据传输,从而能够在避免网络资源浪费的同时保证数据传输的速度。
[0056]103、根据最快传输速度对应的数据传输策略,向第二P2P节点请求数据。
[0057]对于本发明实施例,所述向第二P2P节点请求数据具体可以为:向第二P2P节点发送请求数据信令,所述请求数据信令中携带有请求数据的标识信息,所述标识信息可以为数据的编号,也可以为数据的名称,本发明实施例不做限定。
[0058]本发明实施例提供的一种基于P2P网络的数据传输方法,通过根据最快传输速度对应的数据传输策略进行数据传输,其中,不同的数据传输策略对应不同的数据量,改变了现有技术无法合理地利用网络资源,选择合理数据量的数据进行传输的缺陷,实现了根据网络状态进行数据传输,从而能够在避免网络资源浪费的同时保证数据传输的速度。
[0059]本发明实施例提供了另一种基于P2P网络的数据传输方法,可以应用于P2P节点服务器,如图2所示,所述方法包括:
[0060]201、获取不同数据传输策略分别对应的传输速度。
[0061]其中,所述数据传输策略包括第一P2P节点每次向第二 P2P节点请求数据的数据量。
[0062]对于本发明实施例,步骤201具体可以为:获取不同数据传输策略分别对应的数据的数据量大小,以及所述数据的传输时间;根据所述数据量大小和所述传输时间,计算所述不同数据传输策略分别对应的传输速度。
[0063]例如,第一种数据传输策略对应的I块数据的大小为:Sizel,该数据的传输时间为Tl,则第一数据传输策略对应的传输速度Vl = Sizel/Tl;第二种数据传输策略对应的2块数据的大小为:Size2,该数据的传输时间为T2,则第一数据传输策略对应的传输速度V2 =Size2/T2o
[0064]对于本发明实施例,所述获取所述数据的传输时间包括:记录所述第一P2P节点请求所述数据的时间以及所述第一 P2P节点接收到所述数据的时间;根据所述请求所述数据的时间和所述接收到所述数据的时间,获取所述数据的传输时间。
[0065]例如,节点B向节点A请求第10块数据的时间为tl,即向节点A发送信令的时间,接收到节点A发送的第10块数据的时间为t2,即接收到第二P2P节点发送信令的时间,则第10块数据的传输时间TI = 11 -t 2。
[0066]202、确定最快传输速度对应的数据传输策略。
[0067]对于本发明实施例,通过根据最快传输速度对应的数据传输策略进行数据传输,能够克服现有技术无法合理地利用网络资源,选择合理数据量的数据进行传输的缺陷,实现了根据网络状态进行数据传输,从而能够在避免网络资源浪费的同时保证数据传输的速度。
[0068]203、接收第二 P2P节点发送的传输数据信令。
[0069]其中,所述传输数据信令中携带有待传输数据的标识信息。
[0070]204、根据最快传输速度对应的数据传输策略,从待传输数据的标识信息中选择请求数据的标识信息。
[0071]其中,所述待传输数据的标识信息可以为数据的编号,也可以为数据的名称,本发明实施例不做限定。
[0072]对于本发明实施例,步骤204之前,具体还可以包括:判断所述第一P2P节点本地中是否存在与所述待传输数据的标识信息对应的数据。此时步骤204具体可以为:若不存在,则根据所述数据传输策略,从所述待传输数据的标识信息中选择请求数据的标识信息。
[0073]例如,节点A向节点B发送的信令中包括数据信息列表dataIistl= [1,100],表示节点A拥有第I块到第100块的数据。节点B中已拥有第I块到第10块的数据,节点B只需要向节点A索要第10块到第100块的数据。当节点B每次向节点A请求3块数据的传输速度最快时,节点B从第10块到第100块的数据的标识信息中,选择第10块到第12块数据的标识信息,然后向节点A请求第1块到第12块数据。当接收到第1块到第12块数据后,再向节点A请求第13块到第15块数据,直到获取到第100块数据。
[0074]205、根据请求数据的标识信息,向第二P2P节点发送请求数据信令。
[0075]本发明实施例提供的另一种基于P2P网络的数据传输方法,通过根据最快传输速度对应的数据传输策略进行数据传输,其中,不同的数据传输策略对应不同的数据量,改变了现有技术无法合理地利用网络资源,选择合理数据量的数据进行传输的缺陷,实现了根据网络状态进行数据传输,从而能够在避免网络资源浪费的同时保证数据传输的速度。
[0076]进一步地,作为图1和图2的具体实现,本发明实施例提供了一种基于P2P网络的数据传输装置,如图3所示,所述装置包括:获取单元31、确定单元32、请求单元33。
[0077]获取单元31,用于获取不同数据传输策略分别对应的传输速度,其中,所述数据传输策略包括第一点对点P2P节点每次向第二 P2P节点请求数据的数据量。获取单元31为本基于P2P网络的数据传输装置获取不同数据传输策略分别对应的传输速度的主要功能模块。
[0078]确定单元32,用于确定最快传输速度对应的数据传输策略。确定单元32为本基于P2P网络的数据传输装置确定最快传输速度对应的数据传输策略的主要功能模块。
[0079]请求单元33,用于根据所述数据传输策略,向所述第二P2P节点请求数据。确定单元32为本基于P2P网络的数据传输装置向所述第二 P2P节点请求数据的主要功能模块。
[0080]所述获取单元31包括:获取模块3101和计算模块3102。
[0081]获取模块3101,用于获取不同数据传输策略分别对应的数据的数据量大小,以及所述数据的传输时间。
[0082]计算模块3102,用于根据所述数据量大小和所述传输时间,计算所述不同数据传输策略分别对应的传输速度。
[0083]所述获取模块3101,具体用于记录所述第一P2P节点请求所述数据的时间以及所述第一P2P节点接收到所述数据的时间。
[0084]所述获取模块3101,具体还用于根据所述请求所述数据的时间和所述接收到所述数据的时间,获取所述数据的传输时间。
[0085]如图4,所述装置还包括:接收单元34。
[0086]所述接收单元34,用于接收所述第二P2P节点发送的传输数据信令,所述传输数据信令中携带有待传输数据的标识信息。接收单元34为本基于P2P网络的数据传输装置接收所述第二 P2P节点发送的传输数据信令的主要功能模块。
[0087]所述请求单元33包括:选择模块3301和请求模块3302。
[0088]所述选择模块3301,用于根据所述数据传输策略,从所述待输达数据的标识信息中选择请求数据的标识信息。
[0089]所述请求模块3302,用于根据所述标识信息,向所述第二P2P节点发送请求数据信令。
[0090]所述请求单元33还包括:判断模块3303。
[0091]所述判断模块3303,用于判断所述第一P2P节点本地中是否存在与所述待传输数据的标识信息对应的数据。
[0092]所述选择模块3301,具体用于若所述第一P2P节点本地中不存在与所述待传输数据的标识信息对应的数据,则根据所述数据传输策略,从所述待输达数据的标识信息中选择请求数据的标识信息。
[0093]需要说明的是,本发明实施例提供的一种基于P2P网络的数据传输装置所涉及各功能单元的其他相应描述,可以参考图1和图2所示方法的对应描述,在此不再赘述。本发明实施例中可以通过硬件处理器来实现相关功能模块。
[0094]本发明实施例提供的一种基于P2P网络的数据传输装置,通过根据最快传输速度对应的数据传输策略进行数据传输,其中,不同的数据传输策略对应不同的数据量,改变了现有技术无法合理地利用网络资源,选择合理数据量的数据进行传输的缺陷,实现了根据网络状态进行数据传输,从而能够在避免网络资源浪费的同时保证数据传输的速度。
[0095]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0096]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0097]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种基于P2P网络的数据传输方法,其特征在于,包括: 获取不同数据传输策略分别对应的传输速度,其中,所述数据传输策略包括第一点对点P2P节点每次向第二 P2P节点请求数据的数据量; 确定最快传输速度对应的数据传输策略; 根据所述数据传输策略,向所述第二P2P节点请求数据。2.根据权利要求1所述的方法,其特征在于,所述获取不同数据传输策略分别对应的传输速度包括: 获取不同数据传输策略分别对应的数据的数据量大小,以及所述数据的传输时间; 根据所述数据量大小和所述传输时间,计算所述不同数据传输策略分别对应的传输速度。3.根据权利要求2所述的方法,其特征在于,所述获取所述数据的传输时间包括: 记录所述第一 P2P节点请求所述数据的时间以及所述第一 P2P节点接收到所述数据的时间; 根据所述请求所述数据的时间和所述接收到所述数据的时间,获取所述数据的传输时间。4.根据权利要求1所述的方法,其特征在于,所述根据所述数据传输策略,向所述第二P2P节点请求数据之前,所述方法还包括: 接收所述第二 P2P节点发送的传输数据信令,所述传输数据信令中携带有待传输数据的标识信息; 所述根据所述数据传输策略,向所述第二 P2P节点请求数据包括: 根据所述数据传输策略,从所述待传输数据的标识信息中选择请求数据的标识信息; 根据所述标识信息,向所述第二 P2P节点发送请求数据信令。5.根据权利要求4所述的方法,其特征在于,所述根据所述数据传输策略,从所述待传输数据的标识信息中选择请求数据的标识信息之前,还包括: 判断所述第一 P2P节点本地中是否存在与所述待传输数据的标识信息对应的数据;所述根据所述数据传输策略,从所述待传输数据的标识信息中选择请求数据的标识信息包括: 若不存在,则根据所述数据传输策略,从所述待传输数据的标识信息中选择请求数据的标识信息。6.一种基于P2P网络的数据传输装置,其特征在于,包括: 获取单元,用于获取不同数据传输策略分别对应的传输速度,其中,所述数据传输策略包括第一点对点P2P节点每次向第二 P2P节点请求数据的数据量; 确定单元,用于确定最快传输速度对应的数据传输策略; 请求单元,用于根据所述数据传输策略,向所述第二 P2P节点请求数据。7.根据权利要求6所述的装置,其特征在于,所述获取单元包括: 获取模块,用于获取不同数据传输策略分别对应的数据的数据量大小,以及所述数据的传输时间; 计算模块,用于根据所述数据量大小和所述传输时间,计算所述不同数据传输策略分别对应的传输速度。8.根据权利要求7所述的装置,其特征在于, 所述获取模块,具体用于记录所述第一 P2P节点请求所述数据的时间以及所述第一 P2P节点接收到所述数据的时间; 所述获取模块,具体还用于根据所述请求所述数据的时间和所述接收到所述数据的时间,获取所述数据的传输时间。9.根据权利要求6所述的装置,其特征在于,所述装置还包括:接收单元, 所述接收单元,用于接收所述第二 P2P节点发送的传输数据信令,所述传输数据信令中携带有待传输数据的标识信息; 所述请求单元包括:选择模块和请求模块, 所述选择模块,用于根据所述数据传输策略,从所述待输达数据的标识信息中选择请求数据的标识信息; 所述请求模块,用于根据所述标识信息,向所述第二 P2P节点发送请求数据信令。10.根据权利要求9所述的装置,其特征在于,所述请求单元还包括:判断模块, 所述判断模块,用于判断所述第一 P2P节点本地中是否存在与所述待传输数据的标识信息对应的数据; 所述选择模块,具体用于若所述第一 P2P节点本地中不存在与所述待传输数据的标识信息对应的数据,则根据所述数据传输策略,从所述待输达数据的标识信息中选择请求数据的标识信息。
【文档编号】H04L29/08GK105872001SQ201510968257
【公开日】2016年8月17日
【申请日】2015年12月21日
【发明人】李卓
【申请人】乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1