一种基于网络带宽的流媒体文件传输方法

文档序号:7892889阅读:323来源:国知局
专利名称:一种基于网络带宽的流媒体文件传输方法
技术领域
本发明是关于流媒体应用技术,特别是关于一种基于网络带宽的流媒体文件传输方法。
背景技术
在现有的流媒体系统中,由于流媒体客户端连接数不固定,可能会造成网络带宽 利用率得不到充分应用。比如,当客户端比较少的情况下(比如夜间),网络空闲带宽比较多,而在客户端连接比较多的情况下,网络带宽占的比较多,在这种情况下,可用于文件传输的带宽比较少,如果此时文件传输占用过多网络带宽,会影响流媒体的应用。在ー些复杂网络中,一般都存在着三级网络省级网络,市级网络,区级网络。相对而言,在省级网络系统中,众所周知,网络建设比较先进,可用带宽比较充裕。而在区级网络ー级,可能由于资金短缺、人员配备等原因,网络建设比较落后,从而带宽无法充分保证。当流媒体系统部署在此种复杂网络中时,流媒体业务和文件传输更需要充分协调,按照各级网络中的实际带宽,在不影响正常流媒体业务的基础上,快速有效的完成文件分发和传输。可见,文件传输如何有效地与流媒体結合,协调利用网络带宽成为流媒体应用系统中亟待解决的问题。

发明内容
本发明提供一种基于网络带宽的流媒体文件传输方法,以实时检测数据的传输速率,根据网络呑吐自动调节网络数据包的发送速度和接受速度,自适应各种网络结构和多种网络带宽。为了实现上述目的,本发明提供一种基于网络带宽的流媒体文件传输方法,该方法包括发送端根据预设传输速率向接收端传输文件;实时检测所述文件在发送端网络中的实际传输速率;将所述的预设传输速率调整为所述的实际传输速率;所述的发送端在发送端网络中以所述实际传输速率向所述的接收端传输文件。进ー步地,如果所述的接收端与发送端处于同一网络中,在所述发送端与所述接收端之间传输所述文件时,保持所述的实际传输速率不变。进ー步地,如果所述的接收端与所述的发送端不在同一网络中,所述的方法还包括所述的发送端向所述的接收端发送带宽查询请求信息;根据所述接收端反馈的实时可用带宽信息对所述的默认的非本网传输速率进行调整,生成接收端传输速率;所述的发送端向所述的接收端传输文件时,在发送端网络中以所述的实际传输速率传输所述文件,在接收端网络中以所述的接收端传输速率传输所述文件。进ー步地,所述的方法还包括判断所述实际传输速率是否等于所述的预设传输速率,如果否,将所述的预设传输速率调整为所述的实际传输速率。
进ー步地,将所述的预设传输速率调整为所述的实际传输速率,包括根据函数Y=TMf所述的预设传输速率调整为所述的实际传输速率;其中,T为时间变量,Y为所述预设传输速率与实际传输速率的差,a为常数。进ー步地,所述的方法还包括判断所述默认的非本网传输速率是否等于所述可用带宽信息对应的所述接收端传输速率,如果否,将所述的默认的非本网传输速率调整为所述的接收端传输速率。进ー步地,将所述的默认的非本网传输速率调整为所述的接收端传输速率,包括根据函数Y = Ta将所述的默认的非本网传输速率调整为所述的接收端传输速率;其中,T为时间变量,Y为所述接收端传输速率与实际传输速率的差,a为常数。本发明实施例的有益效果在于,本发明的流媒体文件传输方法与文件传输协议无 关,无论采用那种传输协议,都可通过该方法实现流量控制和流量管理;可以实时检测数据的传输速率,能够根据网络吞吐自动调节网络数据包的发送速度和接受速度,自适应各种网络结构和多种网络带宽。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中图I为本发明实施例基于网络带宽的流媒体文件传输方法流程图;图2为本发明实施例中的函数关系曲线示意图;图3为本发明实施例流媒体文件传输方法的自适应模型示意图;图4为本发明实施例接收端与发送端不在同一网络时的接收端网络速率调整流程图;图5为省市区三级网络的结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进ー步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。如图I所示,本发明实施例提供一种基于网络带宽的流媒体文件传输方法,该方法包括步骤SlOl :发送端根据预设传输速率向接收端传输文件。系统在启动时,预先设定ー预设传输速率,在文件的发送端以该预设传输速率向文件的接收端传输文件。步骤S102 :实时检测所述文件在发送端网络中的实际传输速率。文件传输过程中,需要实时的检测文件的实际传输速率。步骤S103 :将所述的预设传输速率调整为所述的实际传输速率。在检测到文件的实际传输速率之后,首先需要将预设传输速率与实际传输速率进行比较,判断预设传输速率与实际传输速率是否相同,如果预设传输速率与实际传输速率相同,表明该预设传输速率为发送端网络可能的最大传输速率,在文件的发送端仍然以该预设传输速率向文件的接收端传输文件。但是如果预设传输速率与实际传输速率不同,需要将预设传输速率调整为所述的实际传输速率。具体的调整算法如下根据图2中函数关系曲线将预设传输速率调整为实际传输速率,图2中的函数Y=Ta其中,T为时间变量,Y为所述预设传输速率与实际传输速率的差,a为常数。如果预设传输速率小于实际的传输速率,说明网络比较畅通,可以根据图2的函数Y = T172进行调整,将文件传输速率从预设速率逐渐増大到等于传输速率。如 果预设传输速率大于实际的传输速率,说明网络比较拥堵,可以根据图2的函数Y = T2进行调整,将文件传输速率从预设速率逐渐减小到等于传输速率。需要注意的是,经过上述的一次速率调整可能有时候不能够调整到目标速率,可能需要多次调整,即将文件传输速率调整到等于检测到的实际传输速率之后,还需要实时检测下ー时刻的实际传输速率,如果下ー时刻的实际传输速率不同于之前检测到的实际传输速率,还需要将之前检测到的实际传输速率调整到等于下ー时刻的实际传输速率,依次类推,直到下一时刻的实际传输速率同于之前检测到的实际传输速率,此时就调整到了目标速率。下面通过代码以经过两次调整就达到目标速率为例说明如何根据函数曲线进行速率调整。
Int get_next_speed(int org_speed, int dest_speea, int *get_speed)
{
If (org_speed > dest_speed) { //向下调整 y = x'2int tl = org_speed'1/2;int t2 = dest_speecT 1/2;
*get_speed = ((t2-tl)/2 + tl)~2;"去tl和t2之间的中值计算调整速度 Return 0K;
}
Else if (org_speed < dest_speed) { //向上调整Int tl = org_speed 2;
Int t2 = dest_speed 2;
*get_speed = ((t2~tl)/2 + tl)'1/2;
Return OK;
}
Else {
Return Keeping; //不需要调整
}
}步骤S104 :所述的发送端在发送端网络中以所述实际传输速率向所述的接收端传输文件。完成速率最终调整之后,可以调整后的目标速率(实际传输速率)在发送端网络中以所述实际传输速率向所述的接收端传输文件。该流媒体文件传输方法的自适应模型可以如图3所示。
常用的网络主要可以分为省、市、区三级网络。实际应用中,接收端与发送端可能处于同一级网络中,也可能处于不同级网络中。如果接收端与发送端处于同一网络中,比如同处于省、市或区级网络,在发送端与接收端之间传输所述文件时,保持目标传输速率不变。但是,如果所述的接收端与所述的发送端不在同一网络中,因为不同级网络的可用带宽不一样,当文件从发送端传输到接收端所在的网络时,需要进行速率调整,具体速率调整方法如图4所示步骤S401 :所述的发送端以默认的非本网传输速率在接收端网络中传输所述文件。步骤S402 :所述的发送端向所述的接收端发送带宽查询请求信息。
步骤S403 :根据所述接收端反馈的实时可用带宽信息对所述的实际传输速率进行调整,生成接收端传输速率。调整之前,需要判断所述默认的非本网传输速率是否等于所述可用带宽信息对应的所述接收端传输速率,如果默认的非本网传输速率与接收端传输速率相同,表明该默认的非本网传输速率为发送端网络可能的最大传输速率,在文件的发送端仍然以该默认的非本网传输速率向文件的接收端传输文件。但是如果默认的非本网传输速率与接收端传输速率不同,需要根据函数Y = Ta将非本网传输速率调整为接收端传输速率。具体的调整方法同上述对发送端网络中的速率调整(參见图2及上述代码),不再赘述。步骤S404 :所述的发送端向所述的接收端传输文件时,在发送端网络中以所述的实际传输速率传输所述文件,在接收端网络中以所述的接收端传输速率传输所述文件。图5为省市区三级网络的结构示意图,下面以发送端在图5中的省级网络中,而接收端在市级网络中为例进行简单说明。省级网络中的服务器节点启动文件传输时,首先会检测是否是本网地址(发送端及接收端都在省级网络中),如果是本网地址,由于网络带宽比较充裕,启动默认的本网传输速率(预设传输速率),同时检测是否影响流媒体应用,决定是否调整传输速率,调整算法如同图2所示的函数曲线关系。如果不是本网地址(接收端不在省级网络中),由于该服务器节点无法检测市级网络中的流媒体占用情况,传输开始时,该节点启动默认的非本网传输速率,在传输过程中,该服务器节点会于对端节点(位于市级网络中的服务器节点)进行通信,在此同时,位于市级网络中的服务器节点在接受传输的过程中,会自动监测本网内的流媒体应用所用的带宽,当与省级网络中的服务器节点通信时,会把本级网络中的带宽使用情况通知省级网络,省级网络再据此调整文件发送带宽,生成接收端传输速率,并以该接收端传输速率在市级网络中传输文件。本发明实施例的有益效果在于,本发明的流媒体文件传输方法与文件传输协议无关,无论采用那种传输协议,都可通过该方法实现流量控制和流量管理;可以实时检测数据的传输速率,能够根据网络吞吐自动调节网络数据包的发送速度和接受速度,自适应各种网络结构和多种网络带宽。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进ー步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之 内。
权利要求
1.一种基于网络带宽的流媒体文件传输方法,其特征在于,所述的方法包括 发送端根据预设传输速率向接收端传输文件; 实时检测所述文件在发送端网络中的实际传输速率; 将所述的预设传输速率调整为所述的实际传输速率; 所述的发送端在发送端网络中以所述实际传输速率向所述的接收端传输文件。
2.根据权利要求I所述的方法,其特征在于,如果所述的接收端与发送端处于同一网络中,在所述发送端与所述接收端之间传输所述文件时,保持所述的实际传输速率不变。
3.根据权利要求I所述的方法,其特征在于,如果所述的接收端与所述的发送端不在同一网络中,所述的方法还包括 所述的发送端以默认的非本网传输速率在接收端网络中传输所述文件; 所述的发送端向所述的接收端发送带宽查询请求信息; 根据所述接收端反馈的实时可用带宽信息对所述的默认的非本网传输速率进行调整,生成接收端传输速率; 所述的发送端向所述的接收端传输文件时,在发送端网络中以所述的实际传输速率传输所述文件,在接收端网络中以所述的接收端传输速率传输所述文件。
4.根据权利要求I或2所述的方法,其特征在于,所述的方法还包括判断所述实际传输速率是否等于所述的预设传输速率,如果否,将所述的预设传输速率调整为所述的实际传输速率。
5.根据权利要求4所述的方法,其特征在干,将所述的预设传输速率调整为所述的实际传输速率,包括根据函数Y = Ta将所述的预设传输速率调整为所述的实际传输速率; 其中,T为时间变量,Y为所述预设传输速率与实际传输速率的差,a为常数。
6.根据权利要求I或3所述的方法,其特征在于,所述的方法还包括判断所述默认的非本网传输速率是否等于所述可用带宽信息对应的所述接收端传输速率,如果否,将所述的默认的非本网传输速率调整为所述的接收端传输速率。
7.根据权利要求6所述的方法,其特征在干,将所述的默认的非本网传输速率调整为所述的接收端传输速率,包括根据函数Y = Ta将所述的默认的非本网传输速率调整为所述的接收端传输速率; 其中,T为时间变量,Y为所述接收端传输速率与实际传输速率的差,a为常数。
全文摘要
本发明提供一种基于网络带宽的流媒体文件传输方法,该方法包括发送端根据预设传输速率向接收端传输文件;实时检测所述文件在发送端网络中的实际传输速率;将所述的预设传输速率调整为所述的实际传输速率;所述的发送端在发送端网络中以所述实际传输速率向所述的接收端传输文件。本发明的流媒体文件传输方法与文件传输协议无关,无论采用那种传输协议,都可通过该方法实现流量控制和流量管理;可以实时检测数据的传输速率,能够根据网络吞吐自动调节网络数据包的发送速度和接受速度,自适应各种网络结构和多种网络带宽。
文档编号H04L12/56GK102684995SQ20121009362
公开日2012年9月19日 申请日期2012年3月31日 优先权日2012年3月31日
发明者刘卫国, 单衍景, 申军青, 谢泳江, 邹康 申请人:北京华夏电通科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1