一种实现速率控制的方法、系统和设备的制作方法

文档序号:7927958阅读:236来源:国知局

专利名称::一种实现速率控制的方法、系统和设备的制作方法
技术领域
:本发明涉及通信领域,特别涉及一种实现速率控制的方法、系统和设备。
背景技术
:在现有文件分发系统中,一般采用TCP(TransmissionControlProtocol,传输控制协议)连接进行传输,例如Bittorrent。而在视频分发系统中,由于数据包的时效性及TCP的低效性,一般采用UDP(UserDatagramProtocol,用户数据报协议)进行传输。在视频应用中,为了保证用户体验,避免拥塞和丢包,一般要避免突发流量,这就要求发送端在发送数据流量时,要保证数据流量的平稳发送,因此,为了保证UDP传输时数据流量的平稳发送,需要对发送速率进行控制,其中,采用UDP传输时,对发送速率的控制方法主要有以下两种方式方式一、基于反馈的UDP速率控制方法,通过作为接收端的客户端反馈的RTT(RoundTripTime,往返时间),丢包率等参数,动态的对码率进行调整,达到控制UDP传输速率的目的,该方式在长时间连接时,能够兼顾网络实时带宽和客户端QoS(QualityofService,服务质量),一般反馈在5秒以上。方式二、是由作为发送端的服务器通过获取两数据帧之间的时间间隔(例如Pal制式下,两数据帧之间的时间间隔为40ms),在时间间隔到来时,把当前帧的数据发送到客户端,达到控制UDP传输速率的目的。然而,发明人在实现本发明时,发现目前互联网系统的计算模式正在发生从客户机/服务器(Client/Server)模式到P2P(Peer-To-Peer,对等)计算模式的转变,而P2P计算模式一般按数据分片对视频和文件进行分发,由于P2P网络中,各个数据分片建立连接的时间比较短,不会超过几秒,但基于反馈的UDP速率控制方法的反馈一般在5秒以上,因此,还没进行反馈,连接就断掉了,所以基于反馈机制的UDP速率控制在P2P网络中已不适用。另外,在P2P网络中采用UDP对视频进行传输时,接收端会对传输速率有不同的要求,例如处于启动阶段,为了获得较小的启动延迟,希望充分利用带宽,发送码流接近带宽,明显大于播放速率;而在平稳观看时,又希望充分利用各个发送者的上行带宽,加上接收端能够获得了网络上较多的信息,例如能够提供服务的服务节点列表等,因此,可以选择匹配的发送端,上述由发送方在时间间隔到来时把当前帧数据发送到客户端的方式,由于只能以播放速率发送数据帧,且由于各视频数据帧大小差别较大,结果会导致码流不平均,突发流量大,所以基于由发送方以播放速率发送数据的控制方式在P2P网络中也不适用。综上,在P2P网络中缺少采用UDP传输时,既能进行速率控制、又能保证UDP传输时数据流的平稳发送的机制。
发明内容为了保证UDP传输时数据流的平稳发送,达到在P2P网络中采用UDP传输进行速率控制的目的,本发明提供了一种实现速率控制的方法、系统和设备,该技术方案如下—方面,本发明提供了一种实现速率控制的方法,该方法应用于P2P网络中,包括获得接收端发送的数据分片标识和数据分片发送速率,根据数据分片标识获取数据分片标识对应的数据分片;根据自身发送数据的时间间隔和数据分片发送速率,计算时间间隔内发送的数据分片的数据量;根据时间间隔内发送的数据分片的数据量,向接收端发送数据分片。—方面,本发明提供了一种实现速率控制的方法,该方法应用于P2P网络中,包括根据视频数据播放速率、数据分片播放时长和自身可用缓存大小,计算可获取的数据分片个数以及数据分片发送速率;根据已缓存的数据分片标识的最大值和可获取的数据分片个数,得到每个数据分片的数据分片标识;根据数据分片标识以及数据分片发送速率,查找拥有相应数据分片的对等节点作为发送端;向发送端发送相应的数据分片标识和数据分片发送速率。另一方面,本发明提供了一种实现速率控制的系统,该系统应用于P2P网络中,包括接收端和发送端,其中,接收端,用于根据视频数据播放速率、数据分片播放时长和自身可用缓存大小,计算可获取的数据分片个数以及数据分片发送速率;还用于根据已缓存的数据分片标识的最大值和可获取的数据分片个数,得到每个数据分片的数据分片标识;还用于根据数据分片标识以及数据分片发送速率,查找拥有相应数据分片的对等节点作为发送端;并向发送端发送相应的数据分片标识和数据分片发送速率;发送端,用于获得接收设备发送的数据分片标识和数据分片发送速率,根据数据分片标识获取数据分片标识对应的数据分片;还用于根据自身发送数据的时间间隔和数据分片发送速率,计算时间间隔内发送的数据分片的数据量;还用于根据计算的时间间隔内发送的数据分片的数据量,向接收端发送数据分片。另一方面,本发明提供了一种节点设备,该节点设备应用于P2P网络中,包括接收模块,用于获得接收端发送的数据分片标识和数据分片发送速率;获取模块,用于根据接收模块获得的数据分片标识,获取数据分片标识对应的数据分片;计算模块,用于根据自身发送数据的时间间隔、接收模块获得的数据分片发送速率,计算时间间隔内发送的获取模块获取的数据分片的数据量;发送模块,用于根据计算模块计算的时间间隔内发送的数据分片的数据量,向接收端发送获取模块获取的数据分片。另一方面,本发明提供了一种节点设备,该节点设备应用于P2P网络中,包括计算模块,用于根据视频数据播放速率、数据分片播放时长和节点设备可用缓存大小,计算可获取的数据分片个数以及数据分片发送速率;获取模块,用于根据已缓存的数据分片标识的最大值和计算模块计算的可获取的数据分片个数,得到每个数据分片的数据分片标识;查找模块,用于根据获取模块得到的数据分片标识以及计算模块计算的数据分片发送速率,查找拥有相应数据分片的对等节点作为发送端;发送模块,用于向查找模块查找的发送端发送相应的数据分片标识和数据分片发送速率。本发明实施例提供的技术方案的有益效果是本发明通过接收端发送需要的数据分片发送速率到发送端,发送端根据该发送速率将数据分片平稳地发送到接收端的方法,在P2P网络中采用UDP传输数据分片时,能够对发送端的发送速率进行控制,使得发送端和接收端之间数据分片平稳传输。图1是本发明实施例2提供的实现速率控制的方法具体实现流程示意图;图2是本发明实施例3提供的实现速率控制的系统示意图;图3是本发明实施例4提供的节点设备示意图;图4是本发明实施例5提供的节点设备示意图;图5是本发明实施例5提供的节点设备的计算模块示意图;图6是本发明实施例5提供的节点设备的查找模块示意图。具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。本发明通过接收端发送需要的数据分片发送速率到发送端,发送端根据该发送速率将数据分片平稳的发送到接收端的方法,实现了在P2P网络中采用UDP传输数据分片时,能够对发送端的发送速率进行控制,使得发送端和接收端之间数据分片平稳传输。下面将结合以下各实施例对本发明实施例提供的技术方案进行详细的描述。实施例1为了保证UDP传输时数据流的平稳发送,本发明实施例提供了一种实现速率控制的方法,该方法应用于P2P网络中,内容如下获得接收端发送的数据分片标识和数据分片发送速率,根据数据分片标识获取数据分片标识对应的数据分片;根据自身发送数据的时间间隔和数据分片发送速率,计算时间间隔内发送的数据分片的数据量;根据时间间隔内发送的数据分片的数据量,向接收端发送数据分片。本发明还提供了一种实现速率控制的方法,该方法应用于P2P网络中,包括根据视频数据播放速率、数据分片播放时长和自身可用缓存大小,计算可获取的数据分片个数以及数据分片发送速率;根据已缓存的数据分片标识的最大值和可获取的数据分片个数,得到每个数据分片的数据分片标识;8根据数据分片标识以及数据分片发送速率,查找拥有相应数据分片的对等节点作为发送端;向发送端发送相应的数据分片标识和数据分片发送速率。本发明实施例提供的实现速率控制的方法,通过接收端发送需要的数据分片发送速率到发送端,发送端根据该速率将数据分片平稳的发送到接收端的方法,在P2P网络中采用UDP传输视频业务,能够简单的,在一般的视频传输业务中对数据分片发送速率进行速率控制。实施例2本发明实施例提供了一种实现速率控制的方法,以在P2P网络中采用UDP传输视频数据码流为例进行说明,其中,在P2P网络中采用数据分片的形式传输视频数据码流。为了便于说明,假定接收端播放视频时的正常播放速率为800kbps(bitspersecond,比特每秒),接收端的下行(由发送端到接收端方向)带宽为2Mbps,每个数据分片播放时长为4s,以Clientl作为接收端获取视频数据分片为例,参见图l,该方法具体实现流程如下101:接收端Clientl根据视频数据播放速率、数据分片播放时长,获取数据分片大小。其中,本发明实施例中接收端Clientl视频正常的播放速率为800kbps,每个数据分片播放时长为4s,则每个数据分片大小为800kbpS*4s/8=400kB。对于不同播放时长的数据分片,其数据分片大小不同,例如,如果数据分片播放时长为3s,则该数据分片大小为800kbpS*3s/8=300kB。为了便于说明,本发明实施例中以每个数据分片播放时长为4s为例进行说明,而在实际传输过程中,数据分片大小播放时长会根据实际的需要变化,即数据分片大小会在实际传输时变化,本发明不限制每个数据分片大小的具体取值。102:接收端Clientl根据自身可用缓存大小、获取的数据分片大小,计算可获取的数据分片个数。其中,接收端Clientl—次可获取的数据分片个数由接收端Clientl的可用缓存空间大小和数据分片的大小决定;本发明实施例中,假定该接收端Clientl缓存可以存放3分钟的视频,平稳播放时该接收端Clientl的可用缓存大小为1600KB,即可获取数据分片的总大小为1600kB,而由于每个数据分片大小为400kB,则接收端Clientl—次可获取的数据分片个数为1600kB/400kB=4个,即接收端Clientl可以一次并发请求4个数据分片。这样可以保持接收端Clientl接收到的视频码流的大小和播放的视频码流的大小相同,即接收端Clientl流入和流出的数据码流速率相同,从而维持了接收端Clientl的动态平衡,保证数据码流的平稳播放。当然,在实际应用中接收端Clientl的缓存空间可能由于某种原因产生变化,例如某个时刻(比如缓存让其它视频数据分片占据或者抖动引起缓存变化)缓存空间只能存放2分钟的视频,而接收端Clientl的视频数据码流还在正常播放,此时需要减少请求数据分片总的个数,从而渐渐空出一定的存储空间,使得缓存空间减小只存放2分钟的视频;当缓存空间减小到只能存放2分钟的视频时,为了保持请求数据分片大小和播放数据码流的动态平衡,此时又需要按上述步骤请求数据分片,从而保持接收端Clientl的视频码流的播放平稳;同理,某个时刻由于某种原因缓存空间增大时,其处理过程类似,不再赘述。一般情况下,视频应用的缓存是固定的。103:接收端Clientl根据视频数据播放速率和可获取的数据分片个数,计算数据分片发送速率。其中,本发明实施例中,接收端Clientl根据视频数据播放速率800kbps、获取的数据分片的个数为4,则每个数据分片发送速率为800kbps/4=200kbps。对于不同的数据分片的个数,其对应的每个数据分片发送速率也会不同,如获取的数据分片的个数为3时,则每个数据分片发送速率为800kbps/3=266kbps,即需要所获取的每个数据分片发送速率之和等于视频数据的播放速率,从而保证接收端Clientl请求数据分片大小和播放数据码流的动态平衡,使得视频码流的播放平稳。另外,对于处于启动阶段的接收端Clientl,由于此时缓存是空的,为了获得较小的启动延迟,可以令待获取的数据分片发送速率接近接收端的下行带宽。例如本实施例中,接收端的下行带宽为2Mbps,则在启动阶段接收端Clientl会以接近2Mbps的速度请求数据分片,优选地,可以先请求一个数据分片,使得接收端Clientl能够更快的获取到数据分片,从而更快的播放视频码流,然后,再继续快速请求接下来的数据分片,以便减少用户观看的等待时间,提高用户的使用体验。104:接收端Clientl获取待获取的各数据分片的分片标识。其中,例如,接收端Clientl可以根据目前缓存中的数据分片标识的最大值和获取数据分片的个数,得到待获取的各数据分片的分片标识,假设目前缓存中保存的数据分片的分片标识最大值是Keyl9,待获取的数据分片的个数为4,则待获取的数据分片标识分别为Key20、Key21、Key22、Key23,本发明实施例不限制上述接收端获取待获取的各数据分片的分片标识的具体方式和方法。105:接收端Clientl根据获取的数据分片标识和数据分片发送速率,获取能够提供该数据分片标识对应的数据分片的发送端。该过程如下首先,接收端Clientl根据获取的数据分片标识,获取拥有该数据分片标识对应的数据分片的节点;然后,接收端Clientl根据该数据分片发送速率,从上述获取的节点中,根据预设算法选择出能够提供该数据分片标识对于的数据分片的节点,作为发送端。例如,参见表l,假设接收端Clientl已经获得了各个数据分片对应的节点列表。接收端Clientl要获取的4个数据分片为Key20、Key21、Key22、Key23,且拥有各数据分片标识对应的数据分片的节点。表1<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>如表1所示,数据分片Key20所在的节点Client100,所能提供的上传能力为300kbps;数据分片Key20所在节点Client101,所能提供的上传能力为200kbps数据分片Key20所在节点Client102,所能提供的上传能力为100kbps;数据分片Key21所在节点Client102,所能提供的上传能力为400kbps;数据分片Key21所在节点Client103,所能提供的上传能力为200kbps;数据分片Key22所在节点为Client110,所能提供的上传能力为250kbps;数据分片Key23所在节点为Client120,所能提供的上传能力为300kbps。其中,上述所在节点所能提供的上传能力是指该节点能为所请求的数据分片提供的最大传输速率;如数据分片Key20所在节点Client100,所能提供的上传能力为300kbps,即节点Client100能为数据分片Key20提供的最大传输速率为300kbps。由于本发明实施例中请求的4个数据分片中,数据分片要求的发送速率都为200kbps,所以给每个数据分片提供数据码流的节点的上传能力必须大于或等于200kbps,才能达到每个数据分片要求的发送速率。当发送端有多个节点能为接收端Clientl提供所需的数据分片时,接收端Clientl会选择大于或等于其要求的发送速率的节点。例如表1中,拥有数据分片Key20的节点包括Client100、Client101、Client103,其中,由于Key20的发送速率为200kbps,而Client103所能提供的上传能力仅为100kbps,不能满足数据分片Key21要求的发送速率,所以接收端Clientl会舍弃Client103,进一步地,接收端可以根据预设选择算法,从满足数据分片Key21要求的发送速率的Client100、Client101中选择出发送端,即对于某个数据分片,如果存在多个满足大于发送速率的节点,即有多个节点可以为某个数据分片提供正常播放数据码流所需的发送速率,则接收端Clientl可以随机选择ClientlOO和Client101中的任何一个,也可以按顺序选择的节点,还可以选择所能提供的上传能力较大的一个,本发明实施例不限制节点的选择方式,可以根据需要灵活地选取。进一步地,为了充分利用发送端的上行带宽,满足多个节点可以为一个节点服务,则接收端尽可能地选择不同的节点提供各数据分片,例如,当针对数据分片Key23,节点Client100、Client120都可作为该数据分片的发送端,则由于之前选择了节点Client100作为数据分片Key20的发送端,则为了充分利用各发送端的上行带宽,此时,优选Client120作为该数据分片Key23的发送端。106:接收端Clientl将数据分片标识、该数据分片对应的数据分片发送速率发送给对应的发送端。其中,接收端Clientl可以通过携带数据分片标识以及该数据分片标识对应的数据分片发送速率的信令协商报文给发送端。例如,假定接收端Clientl需要并发请求的4个数据分片分别为Key20、Key21、Key22和Key23,各数据分片发送速率为200kbps,且选择出的各数据分片标识对应的发送端分别为Clientl00、Clientl02、Clientll0和Clientl20;则该接收端Clientl通过向ClientlOO发送携带Key20、200kbps的信令协商报文;同理,接收端Clientl通过向Clientl02发送携带Key21、200kbps的信令协商报文,其他类似,不再赘述。107:发送端接收来自接收端Clientl发送的数据分片标识和数据分片发送速率后,根据数据分片标识获取该数据分片标识对应的数据分片。108:发送端根据时间间隔、接收的数据分片发送速率,计算得到时间间隔内发送的数据分片的数据量。其中,假定发送端ClientlOO的时间间隔为40ms,即每40ms发送一次数据,而数据分片Key20的发送速率为200kbps,则发送端ClientlOO每40ms发送的数据量为200kbps*40ms/8=lkB,即每40ms发送lkB数据。当然,在实际应用中发送端的时间间隔可以根据需要灵活选取,本发明实施例不限制时间间隔的具体大小。109:发送端根据计算出的时间间隔内发送的数据分片的数据量,将所要发送的数据分片进行封装。其中,为了满足UDP传输的要求,则根据步骤108中计算出的时间间隔内发送的数据量,将所要发送的数据分片按时间间隔内发送的数据量为单位进行RTP(Real-timeTansportProtocol,实时传输协议)封装。例如发送端每个时间间隔40ms发送lkB数据,则将所要发送的数据分片按lkB—个RTP包进行封装,而数据分片大小为400kB,则每个数据分片可以打400个大小为lkB的RTP包。在实际应用中,将所要发送的数据分片进行封装时不限制具体的封装形式,可以根据需要灵活选取,本发明实施例不限制具体的封装形式。110:发送端将封装后的数据分片发送到接收端Clientl。其中,发送端将封装后的数据分片,以每个时间间隔发一个RTP包的速率平稳的发送到接收端Clientl。例如将发送端大小为400kB的数据分片以每个时间间隔40ms发送1个RTP包的速率,发送数据分片给接收端Clientl,实现了平稳的速率控制。111:接收端Clientl接收并缓存各发送端发送的数据分片。另外,本发明实施例提供的方法还适用于接收端Clientl所请求的数据分片大小不同的情况,此时对本次请求的各个数据分片按同样大小的RTP包进行封装,由于各个数据分片大小不同,则到达接收端的时间不同,需要等到本次所请求的各个数据分片都到达接收端Clientl时才能进行下一次数据分片的请求。另外,本发明实施例提供的方法还适用于所要求的各个数据分片发送速率不同的情况,此时由于每个数据分片要求的发送速率不同,所以针对不同的数据分片,其RTP包的大小不同,所以每次发送的数据量也不同,此时接收端CIient1需等到各个数据分片的RTP包都到达时,才能进行下一次的数据分片的请求。本发明实施例提供的实现速率控制的方法,通过接收端Clientl发送需要的数据分片发送速率到发送端,发送端根据该发送速率将数据分片平稳的发送到接收端Clientl的方法,在P2P网络中采用UDP传输视频业务时,能够对数据分片发送速率进行速率控制。12实施例3本发明实施例提供了一种实现速率控制的系统,应用于P2P网络中,参见图2,该系统包括接收端201和发送端202,其中,接收端201,用于根据视频数据播放速率、数据分片播放时长和自身可用缓存大小,计算可获取的数据分片个数以及数据分片发送速率;根据已缓存的数据分片标识的最大值和可获取的数据分片个数,得到每个数据分片的数据分片标识;根据数据分片标识以及数据分片发送速率,查找拥有相应数据分片的对等节点作为发送端202;并向发送端202发送相应的数据分片标识和数据分片发送速率;发送端202,用于获得接收端201发送的数据分片标识和数据分片发送速率,根据数据分片标识获取数据分片标识对应的数据分片;根据自身发送数据的时间间隔和数据分片发送速率,计算时间间隔内发送的数据分片的数据量;根据计算的时间间隔内发送的数据分片的数据量,向接收端201发送数据分片。进一步地,接收端计算可获取的数据分片个数以及所述数据分片发送速率的步骤,具体包括根据视频数据播放速率和数据分片播放时长,计算数据分片大小;并根据自身可用缓存大小和数据分片大小,计算可获取的数据分片个数;并根据视频数据播放速率和可获取的数据分片个数,计算数据分片发送速率;再进一步地,接收端还用于根据可获取的数据分片数据分片标识、预存的数据分片标识和对等节点的对应关系,获取能够提供相应数据分片的对等节点;并根据数据分片发送速率,选择满足数据分片发送速率的对等节点作为数据分片的发送端。本发明实施例提供的实现速率控制的系统,通过接收端发送需要的数据分片发送速率到发送端,发送端根据该发送速率将数据分片平稳的发送到接收端的方法,能够在一般的视频传输业务中采用UDP传输时,对数据分片发送速率进行速率控制。实施例4本发明实施例提供了一种节点设备,应用于P2P网络中,参见图3,该节点设备包括接收模块301,用于获得对端节点设备发送的数据分片标识和数据分片发送速率;获取模块302,用于根据接收模块301获得的数据分片标识,获取数据分片标识对应的数据分片;计算模块303,用于根据自身发送数据的时间间隔、接收模块301获得的数据分片发送速率,计算时间间隔内发送的获取模块302获取的数据分片的数据量;发送模块304,用于根据计算模块303计算的时间间隔内发送的数据分片的数据量,向对端节点设备发送获取模块获取的数据分片。进一步地,发送模块304包括封装单元304a,用于获取根据计算模块303计算的时间间隔内发送的数据分片的数据量,根据时间间隔内发送的数据分片的数据量,对数据分片进行封装形成数据包;发送单元304b,用于在每个时间间隔到来时,发送封装单元304a得到的数据包给接收端,直到将数据分片发送完毕。13本发明实施例提供的节点设备,在P2P网络中采用UDP传输视频业务时,能够进行速率控制,提供了在一般的视频传输业务中对数据分片发送速率进行速率控制的设备,使得数据分片能够平稳地进行传输。实施例5本发明实施例提供了一种节点设备,应用于P2P网络中,参见图4,该节点设备包括计算模块401,用于根据视频数据播放速率、数据分片播放时长和节点设备可用缓存大小,计算可获取的数据分片个数以及数据分片发送速率;获取模块402,用于根据已缓存的数据分片标识的最大值和计算模块401计算的可获取的数据分片个数,得到每个数据分片的数据分片标识;查找模块403,用于根据获取模块402得到的数据分片标识以及计算模块401计算的数据分片发送速率,查找拥有相应数据分片的对等节点作为发送端;发送模块404,用于向查找模块403查找的发送端发送相应的数据分片标识和数据分片发送速率。进一步地,参见图5,计算模块401具体包括第一计算单元401a,用于根据视频数据播放速率和数据分片播放时长,计算数据分片大小;第二计算单元401b,用于根据节点设备可用缓存大小和第一计算单元401a计算的数据分片大小,计算可获取的数据分片个数;第三计算单元401c,用于根据视频数据播放速率和第二计算单元401b计算的可获取的数据分片个数,计算数据分片发送速率。进一步地,参见图6,查找模块403具体包括查找单元403a,用于根据获取模块402得到的每个数据分片的数据分片的标识、预存的数据分片标识和对等节点的对应关系,获取能够提供相应数据分片的对等节点;选择单元403b,用于根据第三计算单元401c得到的数据分片发送速率,选择满足数据分片发送速率的查找单元403a获取的对等节点作为数据分片的发送端。再进一步地,选择单元403b还用于当满足数据分片发送速率的对等节点的个数为多个时,根据预设的选择规则,从选择出的满足数据分片发送速率的多个对等节点中,选择出一个对等节点作为发送端。本发明实施例提供的节点设备,在P2P网络中采用UDP传输视频业务时,能够进行速率控制,提供了在一般的视频传输业务中对数据分片发送速率进行速率控制的设备,使得数据分片能够平稳地进行传输。本发明实施例可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,例如,计算机的硬盘、缓存或光盘中。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求一种实现速率控制的方法,其特征在于,所述方法应用于P2P网络中,包括获得接收端发送的数据分片标识和数据分片发送速率,根据所述数据分片标识获取所述数据分片标识对应的数据分片;根据自身发送数据的时间间隔和所述数据分片发送速率,计算所述时间间隔内发送的数据分片的数据量;根据所述时间间隔内发送的数据分片的数据量,向所述接收端发送所述数据分片。2.如权利要求1所述的方法,其特征在于,所述获得来自接收端发送的数据分片标识和数据分片发送速率的步骤之前,还包括所述接收端根据视频数据播放速率、数据分片播放时长和自身可用缓存大小,计算可获取的数据分片个数以及所述数据分片发送速率;所述接收端根据已缓存的数据分片标识的最大值和所述可获取的数据分片个数,得到每个数据分片的数据分片标识;所述接收端根据所述数据分片标识以及所述数据分片发送速率,查找拥有相应数据分片的对等节点作为发送端,并向所述发送端发送相应的数据分片标识和所述数据分片发送速率。3.如权利要求2所述的方法,其特征在于,所述接收端根据视频数据播放速率、数据分片播放时长和自身可用缓存大小,计算可获取的数据分片个数以及所述数据分片发送速率的步骤,具体包括所述接收端根据视频数据播放速率和数据分片播放时长,计算所述数据分片大小;所述接收端根据自身可用缓存大小和所述数据分片大小,计算可获取的数据分片个数;所述接收端根据视频数据播放速率和所述可获取的数据分片个数,计算所述数据分片发送速率。4.如权利要求2或3所述的方法,其特征在于,所述接收端根据所述数据分片标识以及所述数据分片发送速率,查找拥有相应数据分片的对等节点作为发送端的步骤,具体包括所述接收端根据可获取的数据分片的数据分片标识、预存的数据分片标识和对等节点的对应关系,获取能够提供相应数据分片的对等节点;所述接收端根据所述数据分片发送速率,选择满足所述数据分片发送速率的对等节点作为所述数据分片的发送端。5.如权利要求4所述的方法,其特征在于,当满足所述数据分片发送速率的对等节点的个数为多个时,所述方法还包括根据预设的选择规则,从所述选择出的满足所述数据分片发送速率的多个对等节点中,选择出一个对等节点作为发送端。6.如权利要求15任一权利要求所述的方法,其特征在于,所述根据所述时间间隔内发送的数据分片的数据量,向所述接收端发送所述数据分片的步骤,具体包括获取所述时间间隔内发送的数据分片的数据量,根据所述时间间隔内发送的数据分片的数据量,对所述数据分片进行封装形成数据包;在每个时间间隔到来时,发送所述数据包给所述接收端,直到将所述数据分片发送完毕。7.—种实现速率控制的方法,其特征在于,所述方法包括根据视频数据播放速率、数据分片播放时长和自身可用缓存大小,计算可获取的数据分片个数以及数据分片发送速率;根据已缓存的数据分片标识的最大值和所述可获取的数据分片个数,得到每个数据分片的数据分片标识;根据所述数据分片标识以及所述数据分片发送速率,查找拥有相应数据分片的对等节点作为发送端;向所述发送端发送相应的数据分片标识和所述数据分片发送速率。8.如权利要求7所述的方法,其特征在于,所述根据视频数据播放速率、数据分片播放时长和自身可用缓存大小,计算可获取的数据分片个数以及所述数据分片发送速率的步骤,具体包括根据视频数据播放速率和数据分片播放时长,计算所述数据分片大小;根据自身可用缓存大小和所述数据分片大小,计算可获取的数据分片个数;根据视频数据播放速率和所述可获取的数据分片个数,计算所述数据分片发送速率。9.如权利要求7或8所述的方法,其特征在于,所述根据所述数据分片标识以及所述数据分片发送速率,查找拥有所述数据分片的对等节点作为发送端的步骤,具体包括根据可获取的数据分片的数据分片标识、预存的数据分片标识和对等节点的对应关系,获取能够提供相应数据分片的对等节点;根据所述数据分片发送速率,选择满足所述数据分片发送速率的对等节点作为所述数据分片的发送端。10.如权利要求9所述的方法,其特征在于,当满足所述数据分片发送速率的对等节点的个数为多个时,所述方法还包括根据预设的选择规则,从所述选择出的满足所述数据分片发送速率的多个对等节点中,选择出一个对等节点作为发送端。11.一种实现速率控制的系统,其特征在于,所述系统应用于P2P网络中,包括接收端和发送端,其中,所述接收端,用于根据视频数据播放速率、数据分片播放时长和自身可用缓存大小,计算可获取的数据分片个数以及数据分片发送速率;根据已缓存的数据分片标识的最大值和所述可获取的数据分片个数,得到每个数据分片的数据分片标识;根据所述数据分片标识以及所述数据分片发送速率,查找拥有相应数据分片的对等节点作为发送端;并向所述发送端发送相应的数据分片标识和所述数据分片发送速率;所述发送端,用于获得所述接收端发送的数据分片标识和数据分片发送速率,根据所述数据分片标识获取所述数据分片标识对应的数据分片;根据自身发送数据的时间间隔和所述数据分片发送速率,计算所述时间间隔内发送的数据分片的数据量;根据所述计算的时间间隔内发送的数据分片的数据量,向所述接收端发送所述数据分片。12.如权利要求11所述的系统,其特征在于,所述接收端计算可获取的数据分片个数以及所述数据分片发送速率的步骤,具体包括根据视频数据播放速率和数据分片播放时长,计算所述数据分片大小;并根据自身可用缓存大小和所述数据分片大小,计算可获取的数据分片个数;并根据视频数据播放速率和所述可获取的数据分片个数,计算所述数据分片发送速率。13.如权利要求11或12所述的系统,其特征在于,所述接收端还用于根据可获取的数据分片的数据分片标识、预存的数据分片标识和对等节点的对应关系,获取能够提供相应数据分片的对等节点;并根据所述数据分片发送速率,选择满足所述数据分片发送速率的对等节点作为所述数据分片的发送端。14.一种节点设备,其特征在于,所述节点设备应用于P2P网络中,包括接收模块,用于获得接收端发送的数据分片标识和数据分片发送速率;获取模块,用于根据所述接收模块获得的数据分片标识,获取所述数据分片标识对应的数据分片;计算模块,用于根据节点设备发送数据的时间间隔、所述接收模块获得的数据分片发送速率,计算所述时间间隔内发送的所述获取模块获取的数据分片的数据量;发送模块,用于根据所述计算模块计算的时间间隔内发送的数据分片的数据量,向所述接收端发送所述获取模块获取的数据分片。15.如权利要求14所述的设备,其特征在于,所述发送模块包括封装单元,用于获取所述时间间隔内发送的数据分片的数据量,根据所述时间间隔内发送的数据分片的数据量,对所述数据分片进行封装形成数据包;发送单元,用于在每个时间间隔到来时,发送所述封装单元得到的数据包给所述接收端,直到将所述数据分片发送完毕。16.—种节点设备,其特征在于,所述节点设备应用于P2P网络中,包括计算模块,用于根据视频数据播放速率、数据分片播放时长和节点设备可用缓存大小,计算可获取的数据分片个数以及所述数据分片发送速率;获取模块,用于根据已缓存的数据分片标识的最大值和所述计算模块计算的可获取的数据分片个数,得到每个数据分片的数据分片标识;查找模块,用于根据所述获取模块得到的数据分片标识以及所述计算模块计算的数据分片发送速率,查找拥有相应数据分片的对等节点作为发送端;发送模块,用于向所述查找模块查找的发送端发送相应的数据分片标识和所述数据分片发送速率。17.如权利要求16所述的节点设备,其特征在于,所述计算模块具体包括第一计算单元,用于根据视频数据播放速率和数据分片播放时长,计算所述数据分片大小;第二计算单元,用于根据节点设备可用缓存大小和所述第一计算单元计算的数据分片大小,计算可获取的数据分片个数;第三计算单元,用于根据视频数据播放速率和所述第二计算单元计算的可获取的数据分片个数,计算所述数据分片发送速率。18.如权利要求16所述的节点设备,其特征在于,所述查找模块具体包括查找单元,用于根据所述获取模块得到的每个数据分片的数据分片的标识、预存的数据分片标识和对等节点的对应关系,获取能够提供相应数据分片的对等节点;选择单元,用于根据所述第三计算单元计算得到的数据分片发送速率,选择满足所述数据分片发送速率的所述查找单元获取的对等节点作为所述数据分片的发送端。19.如权利要求18所述的节点设备,其特征在于,所述选择单元还用于当满足所述数据分片发送速率的对等节点的个数为多个时,根据预设的选择规则,从所述选择出的满足所述数据分片发送速率的多个对等节点中,选择出一个对等节点作为发送端。全文摘要本发明公开了一种实现速率控制的方法、系统和设备,属于网络通信领域。方法应用于P2P网络中,包括获得接收端发送的数据分片标识和数据分片发送速率,根据数据分片标识获取数据分片标识对应的数据分片;根据自身发送数据的时间间隔和数据分片发送速率,计算时间间隔内发送的数据分片的数据量;根据时间间隔内发送的数据分片的数据量,向接收端发送数据分片。系统包括接收端和发送端。本发明在P2P网络中采用UDP传输视频业务时,能够对传输的数据分片进行速率控制。文档编号H04L29/08GK101741890SQ20081022688公开日2010年6月16日申请日期2008年11月19日优先权日2008年11月19日发明者李光,李峰,韩磊申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1