CN101741890B - 一种实现速率控制的方法、系统和设备 - Google Patents

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

Info

Publication number
CN101741890B
CN101741890B CN2008102268847A CN200810226884A CN101741890B CN 101741890 B CN101741890 B CN 101741890B CN 2008102268847 A CN2008102268847 A CN 2008102268847A CN 200810226884 A CN200810226884 A CN 200810226884A CN 101741890 B CN101741890 B CN 101741890B
Authority
CN
China
Prior art keywords
data fragmentation
data
transmission rate
fragmentation
sign
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.)
Expired - Fee Related
Application number
CN2008102268847A
Other languages
English (en)
Other versions
CN101741890A (zh
Inventor
李光
李峰
韩磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingjiang City Chengzhong Village Investment And Construction Co ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN2008102268847A priority Critical patent/CN101741890B/zh
Publication of CN101741890A publication Critical patent/CN101741890A/zh
Application granted granted Critical
Publication of CN101741890B publication Critical patent/CN101741890B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种实现速率控制的方法、系统和设备,属于网络通信领域。方法应用于P2P网络中,包括:获得接收端发送的数据分片标识和数据分片发送速率,根据数据分片标识获取数据分片标识对应的数据分片;根据自身发送数据的时间间隔和数据分片发送速率,计算时间间隔内发送的数据分片的数据量;根据时间间隔内发送的数据分片的数据量,向接收端发送数据分片。系统包括:接收端和发送端。本发明在P2P网络中采用UDP传输视频业务时,能够对传输的数据分片进行速率控制。

Description

一种实现速率控制的方法、系统和设备
技术领域
本发明涉及通信领域,特别涉及一种实现速率控制的方法、系统和设备。
背景技术
在现有文件分发系统中,一般采用TCP(Transmission Control Protocol,传输控制协议)连接进行传输,例如Bittorrent。而在视频分发系统中,由于数据包的时效性及TCP的低效性,一般采用UDP(User Datagram Protocol,用户数据报协议)进行传输。
在视频应用中,为了保证用户体验,避免拥塞和丢包,一般要避免突发流量,这就要求发送端在发送数据流量时,要保证数据流量的平稳发送,因此,为了保证UDP传输时数据流量的平稳发送,需要对发送速率进行控制,其中,采用UDP传输时,对发送速率的控制方法主要有以下两种方式:
方式一、基于反馈的UDP速率控制方法,通过作为接收端的客户端反馈的RTT(RoundTrip Time,往返时间),丢包率等参数,动态的对码率进行调整,达到控制UDP传输速率的目的,该方式在长时间连接时,能够兼顾网络实时带宽和客户端QoS(Quality of Service,服务质量),一般反馈在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网络中,包括:
根据视频数据播放速率、数据分片播放时长和自身可用缓存大小,计算可获取的数据分片个数以及数据分片发送速率;
根据已缓存的数据分片标识的最大值和可获取的数据分片个数,得到每个数据分片的数据分片标识;
根据数据分片标识以及数据分片发送速率,查找拥有相应数据分片的对等节点作为发送端;
向发送端发送相应的数据分片标识和数据分片发送速率。
本发明实施例提供的实现速率控制的方法,通过接收端发送需要的数据分片发送速率到发送端,发送端根据该速率将数据分片平稳的发送到接收端的方法,在P2P网络中采用UDP传输视频业务,能够简单的,在一般的视频传输业务中对数据分片发送速率进行速率控制。
实施例2
本发明实施例提供了一种实现速率控制的方法,以在P2P网络中采用UDP传输视频数据码流为例进行说明,其中,在P2P网络中采用数据分片的形式传输视频数据码流。为了便于说明,假定接收端播放视频时的正常播放速率为800kbps(bits per second,比特每秒),接收端的下行(由发送端到接收端方向)带宽为2Mbps,每个数据分片播放时长为4s,以Client1作为接收端获取视频数据分片为例,参见图1,该方法具体实现流程如下:
101:接收端Client1根据视频数据播放速率、数据分片播放时长,获取数据分片大小。
其中,本发明实施例中接收端Client1视频正常的播放速率为800kbps,每个数据分片播放时长为4s,则每个数据分片大小为:800kbps*4s/8=400kB。
对于不同播放时长的数据分片,其数据分片大小不同,例如,如果数据分片播放时长为3s,则该数据分片大小为:800kbps*3s/8=300kB。为了便于说明,本发明实施例中以每个数据分片播放时长为4s为例进行说明,而在实际传输过程中,数据分片大小播放时长会根据实际的需要变化,即数据分片大小会在实际传输时变化,本发明不限制每个数据分片大小的具体取值。
102:接收端Client1根据自身可用缓存大小、获取的数据分片大小,计算可获取的数据分片个数。
其中,接收端Client1一次可获取的数据分片个数由接收端Client1的可用缓存空间大小和数据分片的大小决定;本发明实施例中,假定该接收端Client1缓存可以存放3分钟的视频,平稳播放时该接收端Client1的可用缓存大小为1600KB,即可获取数据分片的总大小为1600kB,而由于每个数据分片大小为400kB,则接收端Client1一次可获取的数据分片个数为1600kB/400kB=4个,即接收端Client1可以一次并发请求4个数据分片。这样可以保持接收端Client1接收到的视频码流的大小和播放的视频码流的大小相同,即接收端Client1流入和流出的数据码流速率相同,从而维持了接收端Client1的动态平衡,保证数据码流的平稳播放。
当然,在实际应用中接收端Client1的缓存空间可能由于某种原因产生变化,例如某个时刻(比如缓存让其它视频数据分片占据或者抖动引起缓存变化)缓存空间只能存放2分钟的视频,而接收端Client1的视频数据码流还在正常播放,此时需要减少请求数据分片总的个数,从而渐渐空出一定的存储空间,使得缓存空间减小只存放2分钟的视频;当缓存空间减小到只能存放2分钟的视频时,为了保持请求数据分片大小和播放数据码流的动态平衡,此时又需要按上述步骤请求数据分片,从而保持接收端Client1的视频码流的播放平稳;同理,某个时刻由于某种原因缓存空间增大时,其处理过程类似,不再赘述。一般情况下,视频应用的缓存是固定的。
103:接收端Client1根据视频数据播放速率和可获取的数据分片个数,计算数据分片发送速率。
其中,本发明实施例中,接收端Client1根据视频数据播放速率800kbps、获取的数据分片的个数为4,则每个数据分片发送速率为:800kbps/4=200kbps。对于不同的数据分片的个数,其对应的每个数据分片发送速率也会不同,如获取的数据分片的个数为3时,则每个数据分片发送速率为:800kbps/3=266kbps,即需要所获取的每个数据分片发送速率之和等于视频数据的播放速率,从而保证接收端Client1请求数据分片大小和播放数据码流的动态平衡,使得视频码流的播放平稳。
另外,对于处于启动阶段的接收端Client1,由于此时缓存是空的,为了获得较小的启动延迟,可以令待获取的数据分片发送速率接近接收端的下行带宽。例如本实施例中,接收端的下行带宽为2Mbps,则在启动阶段接收端Client1会以接近2Mbps的速度请求数据分片,优选地,可以先请求一个数据分片,使得接收端Client1能够更快的获取到数据分片,从而更快的播放视频码流,然后,再继续快速请求接下来的数据分片,以便减少用户观看的等待时间,提高用户的使用体验。
104:接收端Client1获取待获取的各数据分片的分片标识。
其中,例如,接收端Client1可以根据目前缓存中的数据分片标识的最大值和获取数据分片的个数,得到待获取的各数据分片的分片标识,假设目前缓存中保存的数据分片的分片标识最大值是Key19,待获取的数据分片的个数为4,则待获取的数据分片标识分别为:Key20、Key21、Key22、Key23,本发明实施例不限制上述接收端获取待获取的各数据分片的分片标识的具体方式和方法。
105:接收端Client1根据获取的数据分片标识和数据分片发送速率,获取能够提供该数据分片标识对应的数据分片的发送端。该过程如下:
首先,接收端Client1根据获取的数据分片标识,获取拥有该数据分片标识对应的数据分片的节点;
然后,接收端Client1根据该数据分片发送速率,从上述获取的节点中,根据预设算法选择出能够提供该数据分片标识对于的数据分片的节点,作为发送端。
例如,参见表1,假设接收端Client1已经获得了各个数据分片对应的节点列表。接收端Client1要获取的4个数据分片为:Key20、Key21、Key22、Key23,且拥有各数据分片标识对应的数据分片的节点。
                表1
 
数据分片标识 所在节点 所在节点所能提供的上传能力
Key20 Client 100 300kbps
Key20 Client 101 200kbps
Key20 Client 103 100kbps
Key21 Client 102 400kbps
Key21 Client 103 200kbps
Key22 Client 110 250kbps
Key23 Client 120 300kbps
Key23 Client 100 300kbps
如表1所示,数据分片Key20所在的节点Client 100,所能提供的上传能力为300kbps;数据分片Key20所在节点Client 101,所能提供的上传能力为200kbps数据分片Key20所在节点Client 102,所能提供的上传能力为100kbps;数据分片Key21所在节点Client 102,所能提供的上传能力为400kbps;数据分片Key21所在节点Client 103,所能提供的上传能力为200kbps;数据分片Key22所在节点为Client 110,所能提供的上传能力为250kbps;数据分片Key23所在节点为Client 120,所能提供的上传能力为300kbps。
其中,上述所在节点所能提供的上传能力是指该节点能为所请求的数据分片提供的最大传输速率;如数据分片Key20所在节点Client 100,所能提供的上传能力为300kbps,即节点Client 100能为数据分片Key20提供的最大传输速率为300kbps。
由于本发明实施例中请求的4个数据分片中,数据分片要求的发送速率都为200kbps,所以给每个数据分片提供数据码流的节点的上传能力必须大于或等于200kbps,才能达到每个数据分片要求的发送速率。当发送端有多个节点能为接收端Client1提供所需的数据分片时,接收端Client1会选择大于或等于其要求的发送速率的节点。例如:表1中,拥有数据分片Key20的节点包括:Client 100、Client 101、Client 103,其中,由于Key20的发送速率为200kbps,而Client 103所能提供的上传能力仅为100kbps,不能满足数据分片Key21要求的发送速率,所以接收端Client1会舍弃Client 103,进一步地,接收端可以根据预设选择算法,从满足数据分片Key21要求的发送速率的Client 100、Client 101中选择出发送端,即对于某个数据分片,如果存在多个满足大于发送速率的节点,即有多个节点可以为某个数据分片提供正常播放数据码流所需的发送速率,则接收端Client1可以随机选择Client 100和Client 101中的任何一个,也可以按顺序选择的节点,还可以选择所能提供的上传能力较大的一个,本发明实施例不限制节点的选择方式,可以根据需要灵活地选取。
进一步地,为了充分利用发送端的上行带宽,满足多个节点可以为一个节点服务,则接收端尽可能地选择不同的节点提供各数据分片,例如,当针对数据分片Key23,节点Client 100、Client 120都可作为该数据分片的发送端,则由于之前选择了节点Client 100作为数据分片Key20的发送端,则为了充分利用各发送端的上行带宽,此时,优选Client 120作为该数据分片Key23的发送端。
106:接收端Client1将数据分片标识、该数据分片对应的数据分片发送速率发送给对应的发送端。
其中,接收端Client1可以通过携带数据分片标识以及该数据分片标识对应的数据分片发送速率的信令协商报文给发送端。例如,假定接收端Client1需要并发请求的4个数据分片分别为:Key20、Key21、Key22和Key23,各数据分片发送速率为200kbps,且选择出的各数据分片标识对应的发送端分别为:Client100、Client102、Client110和Client120;则该接收端Client1通过向Client100发送携带Key20、200kbps的信令协商报文;同理,接收端Client1通过向Client102发送携带Key21、200kbps的信令协商报文,其他类似,不再赘述。
107:发送端接收来自接收端Client1发送的数据分片标识和数据分片发送速率后,根据数据分片标识获取该数据分片标识对应的数据分片。
108:发送端根据时间间隔、接收的数据分片发送速率,计算得到时间间隔内发送的数据分片的数据量。
其中,假定发送端Client100的时间间隔为40ms,即每40ms发送一次数据,而数据分片Key20的发送速率为200kbps,则发送端Client100每40ms发送的数据量为:200kbps*40ms/8=1kB,即每40ms发送1kB数据。当然,在实际应用中发送端的时间间隔可以根据需要灵活选取,本发明实施例不限制时间间隔的具体大小。
109:发送端根据计算出的时间间隔内发送的数据分片的数据量,将所要发送的数据分片进行封装。
其中,为了满足UDP传输的要求,则根据步骤108中计算出的时间间隔内发送的数据量,将所要发送的数据分片按时间间隔内发送的数据量为单位进行RTP(Real-time TansportProtocol,实时传输协议)封装。例如:发送端每个时间间隔40ms发送1kB数据,则将所要发送的数据分片按1kB一个RTP包进行封装,而数据分片大小为400kB,则每个数据分片可以打400个大小为1kB的RTP包。在实际应用中,将所要发送的数据分片进行封装时不限制具体的封装形式,可以根据需要灵活选取,本发明实施例不限制具体的封装形式。
110:发送端将封装后的数据分片发送到接收端Client1。
其中,发送端将封装后的数据分片,以每个时间间隔发一个RTP包的速率平稳的发送到接收端Client1。例如:将发送端大小为400kB的数据分片以每个时间间隔40ms发送1个RTP包的速率,发送数据分片给接收端Client1,实现了平稳的速率控制。
111:接收端Client1接收并缓存各发送端发送的数据分片。
另外,本发明实施例提供的方法还适用于接收端Client1所请求的数据分片大小不同的情况,此时对本次请求的各个数据分片按同样大小的RTP包进行封装,由于各个数据分片大小不同,则到达接收端的时间不同,需要等到本次所请求的各个数据分片都到达接收端Client1时才能进行下一次数据分片的请求。
另外,本发明实施例提供的方法还适用于所要求的各个数据分片发送速率不同的情况,此时由于每个数据分片要求的发送速率不同,所以针对不同的数据分片,其RTP包的大小不同,所以每次发送的数据量也不同,此时接收端Client1需等到各个数据分片的RTP包都到达时,才能进行下一次的数据分片的请求。
本发明实施例提供的实现速率控制的方法,通过接收端Client1发送需要的数据分片发送速率到发送端,发送端根据该发送速率将数据分片平稳的发送到接收端Client1的方法,在P2P网络中采用UDP传输视频业务时,能够对数据分片发送速率进行速率控制。
实施例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得到的数据包给接收端,直到将数据分片发送完毕。
本发明实施例提供的节点设备,在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传输视频业务时,能够进行速率控制,提供了在一般的视频传输业务中对数据分片发送速率进行速率控制的设备,使得数据分片能够平稳地进行传输。
本发明实施例可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,例如,计算机的硬盘、缓存或光盘中。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (19)

1.一种实现速率控制的方法,其特征在于,所述方法应用于P2P网络中,包括:
获得接收端发送的数据分片标识和数据分片发送速率,根据所述数据分片标识获取所述数据分片标识对应的数据分片;
根据自身发送数据的时间间隔和所述数据分片发送速率,计算所述时间间隔内发送的数据分片的数据量;
根据所述时间间隔内发送的数据分片的数据量,向所述接收端发送所述数据分片。
2.如权利要求1所述的方法,其特征在于,所述获得来自接收端发送的数据分片标识和数据分片发送速率的步骤之前,还包括:
所述接收端根据视频数据播放速率、数据分片播放时长和自身可用缓存大小,计算可获取的数据分片个数以及所述数据分片发送速率;
所述接收端根据已缓存的数据分片标识的最大值和所述可获取的数据分片个数,得到每个数据分片的数据分片标识;
所述接收端根据所述数据分片标识以及所述数据分片发送速率,查找拥有相应数据分片的对等节点作为发送端,并向所述发送端发送相应的数据分片标识和所述数据分片发送速率。
3.如权利要求2所述的方法,其特征在于,所述接收端根据视频数据播放速率、数据分片播放时长和自身可用缓存大小,计算可获取的数据分片个数以及所述数据分片发送速率的步骤,具体包括:
所述接收端根据视频数据播放速率和数据分片播放时长,计算所述数据分片大小;
所述接收端根据自身可用缓存大小和所述数据分片大小,计算可获取的数据分片个数;
所述接收端根据视频数据播放速率和所述可获取的数据分片个数,计算所述数据分片发送速率。
4.如权利要求2或3所述的方法,其特征在于,所述接收端根据所述数据分片标识以及所述数据分片发送速率,查找拥有相应数据分片的对等节点作为发送端的步骤,具体包括:
所述接收端根据可获取的数据分片的数据分片标识、预存的数据分片标识和对等节点的对应关系,获取能够提供相应数据分片的对等节点;
所述接收端根据所述数据分片发送速率,选择满足所述数据分片发送速率的对等节点作为所述数据分片的发送端。
5.如权利要求4所述的方法,其特征在于,当满足所述数据分片发送速率的对等节点的个数为多个时,所述方法还包括:
根据预设的选择规则,从所述选择出的满足所述数据分片发送速率的多个对等节点中,选择出一个对等节点作为发送端。
6.如权利要求1~3或5任一权利要求所述的方法,其特征在于,所述根据所述时间间隔内发送的数据分片的数据量,向所述接收端发送所述数据分片的步骤,具体包括:
获取所述时间间隔内发送的数据分片的数据量,根据所述时间间隔内发送的数据分片的数据量,对所述数据分片进行封装形成数据包;
在每个时间间隔到来时,发送所述数据包给所述接收端,直到将所述数据分片发送完毕。
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所述的节点设备,其特征在于,所述选择单元还用于当满足所述数据分片发送速率的对等节点的个数为多个时,
根据预设的选择规则,从所述选择出的满足所述数据分片发送速率的多个对等节点中,选择出一个对等节点作为发送端。
CN2008102268847A 2008-11-19 2008-11-19 一种实现速率控制的方法、系统和设备 Expired - Fee Related CN101741890B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008102268847A CN101741890B (zh) 2008-11-19 2008-11-19 一种实现速率控制的方法、系统和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008102268847A CN101741890B (zh) 2008-11-19 2008-11-19 一种实现速率控制的方法、系统和设备

Publications (2)

Publication Number Publication Date
CN101741890A CN101741890A (zh) 2010-06-16
CN101741890B true CN101741890B (zh) 2012-11-21

Family

ID=42464774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008102268847A Expired - Fee Related CN101741890B (zh) 2008-11-19 2008-11-19 一种实现速率控制的方法、系统和设备

Country Status (1)

Country Link
CN (1) CN101741890B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102421034A (zh) * 2011-12-19 2012-04-18 中山爱科数字科技股份有限公司 一种视频直播或视频监控所形成的视频播放方法
CN103188279B (zh) * 2011-12-27 2016-06-01 中国电信股份有限公司 通过对等网络从多个邻居节点下载文件的方法和装置
CN102843351B (zh) * 2012-03-31 2016-01-27 华为技术有限公司 一种流媒体业务的处理方法、流媒体服务器及系统
CN104168081B (zh) * 2013-05-20 2018-09-07 腾讯科技(深圳)有限公司 一种文件传输方法及装置
CN103957431B (zh) * 2014-04-30 2018-03-16 深圳创维数字技术有限公司 一种流媒体传输控制方法及流媒体服务器
CN105635217B (zh) * 2014-11-03 2019-07-26 广州市动景计算机科技有限公司 文件下载的方法及装置
WO2018119947A1 (zh) * 2016-12-29 2018-07-05 深圳天珑无线科技有限公司 一种协作传输的方法及装置
CN106791924A (zh) * 2017-02-09 2017-05-31 合网络技术(北京)有限公司 视频生成方法及装置
CN106791925B (zh) * 2017-02-09 2020-12-15 阿里巴巴(中国)有限公司 视频生成方法及装置
CN107135216B (zh) * 2017-05-03 2020-12-04 深圳市小溪流科技有限公司 一种加强弱网环境流媒体传输方法
CN109561119B (zh) * 2017-09-26 2022-04-01 中国移动通信有限公司研究院 一种数据接收方法及设备
CN109600437B (zh) * 2018-12-11 2021-11-16 网宿科技股份有限公司 一种流媒体资源的下载方法及缓存服务器
CN110572465B (zh) * 2019-09-12 2022-04-15 浙江齐治科技股份有限公司 一种报文传输方法及装置
CN111225243B (zh) * 2020-01-20 2021-02-02 中南大学 一种视频块调度方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004073281A2 (en) * 2003-02-12 2004-08-26 Saviso Group Ltd Methods and apparatus for traffic management in peer-to.peer networks
CN101087239A (zh) * 2007-07-17 2007-12-12 北京搜狗科技发展有限公司 一种对等网络中充分利用带宽资源的数据传输方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004073281A2 (en) * 2003-02-12 2004-08-26 Saviso Group Ltd Methods and apparatus for traffic management in peer-to.peer networks
CN101087239A (zh) * 2007-07-17 2007-12-12 北京搜狗科技发展有限公司 一种对等网络中充分利用带宽资源的数据传输方法及装置

Also Published As

Publication number Publication date
CN101741890A (zh) 2010-06-16

Similar Documents

Publication Publication Date Title
CN101741890B (zh) 一种实现速率控制的方法、系统和设备
KR102119287B1 (ko) 이용가능한 대역폭에 따라 전송 프로토콜을 선택함으로써 콘텐츠를 획득하는 장치
US9596323B2 (en) Transport accelerator implementing client side transmission functionality
US7587507B2 (en) Media recording functions in a streaming media server
US8407361B2 (en) Media player with integrated parallel source download technology
CN107819809B (zh) 对内容进行同步操作的方法及装置
KR101064002B1 (ko) 다중 인터페이스를 탑재한 이동 단말 및 멀티미디어 스트리밍 수신 방법, 다중 망을 이용한 멀티미디어 스트리밍 제공 서버 및 그 방법
KR102012528B1 (ko) 수신 비트율 및 연관된 수신기의 동적 적응 방법
US11201833B2 (en) Aggregated adaptive bit rate streaming
CN105491397A (zh) 基于udt协议和ts切片相结合的视频实时推送的方法
KR20160003024A (ko) 데이터 통신 시스템 및 방법
CN108063769A (zh) 一种内容服务的实现方法、装置及内容分发网络节点
Pereira et al. Video streaming considerations for internet of things
CN110445723A (zh) 一种网络数据调度方法及边缘节点
US10432989B2 (en) Transmission apparatus, transmission method, reception apparatus, receiving method, and program
Bouten et al. A multicast-enabled delivery framework for QoE assurance of over-the-top services in multimedia access networks
US20140082144A1 (en) Use of a receive-window size advertised by a client to a content server to change a video stream bitrate streamed by the content server
CN100544437C (zh) 一种流媒体带宽适配系统
US9332421B2 (en) Method and apparatus for random access to multimedia content in wireless communication system
JP3836083B2 (ja) メディア配信装置、メディア受信装置、メディア配信方法及びメディア受信方法
KR20140031916A (ko) 멀티미디어 컨텐츠를 스트리밍하는 방법 및 장치
KR101525471B1 (ko) 비디오제공방법 및 비디오제공시스템
KR100861594B1 (ko) 멀티미디어 데이터 전송률 제어 장치 및 그 방법
Noh et al. Time-shifted streaming in a tree-based peer-to-peer system.
Papadaki et al. Mobistream: Live multimedia streaming in mobile devices

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
TR01 Transfer of patent right

Effective date of registration: 20201222

Address after: No.4, Lane 23, shengjiachang, Jingjiang City, Taizhou City, Jiangsu Province

Patentee after: Jingjiang Jiangchen Electric Co.,Ltd.

Address before: 510640 2414-2416 of the main building 371, five mountain road, Tianhe District, Guangzhou, Guangdong.

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20201222

Address after: 510640 2414-2416 of the main building 371, five mountain road, Tianhe District, Guangzhou, Guangdong.

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220509

Address after: 214500 No. 28, Yingbin East Road, Jingjiang City, Taizhou City, Jiangsu Province

Patentee after: Jiangsu Huarong Investment Development Co.,Ltd.

Address before: No.4, Lane 23, shengjiachang, Jingjiang City, Taizhou City, Jiangsu Province

Patentee before: Jingjiang Jiangchen Electric Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230406

Address after: 214500 No. 28, Yingbin East Road, Jingjiang City, Taizhou City, Jiangsu Province

Patentee after: Jingjiang City Chengzhong Village Investment and Construction Co.,Ltd.

Address before: 214500 No. 28, Yingbin East Road, Jingjiang City, Taizhou City, Jiangsu Province

Patentee before: Jiangsu Huarong Investment Development Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121121