一种视频数据的传输方法以及相关设备与流程

文档序号:18822889发布日期:2019-10-09 01:04阅读:254来源:国知局
一种视频数据的传输方法以及相关设备与流程

本申请涉及通信技术领域,具体涉及一种视频数据的传输方法以及相关设备。



背景技术:

弹性重叠网络(resilientoverlaynetworks,ron)中的节点既是网络管理系统的策略决策点又是策略执行点,ron节点具备了数据的检测、处理、转发和路由功能。具体为:ron节点定期检查自身和其他ron节点间的网络通路情况,并对采集的信息进行分析处理,得到相关链路以及其他ron节点的性能参数,并根据处理结果产生最优路由策略,其中,最优路由策略决定数据包如何转发。

由于ron中的每个ron节点都需要完成其他ron节点的最优路由策略计算,每个ron节点既是计算控制大脑又是转发执行单元,计算负载大,ron节点鲁棒性弱。



技术实现要素:

本申请提供了一种视频数据的传输方法以及相关设备,用于解决现有ron节点计算负载大,节点鲁棒性弱的问题。

第一方面,本申请提供一种视频数据的传输方法,该传输方法应用于接入服务器,其中,该接入服务器为ron中的任意一个节点。该接入服务器接收到视频数据,其中,该视频数据用于从发送终端发出,通过至少一个接入服务器,转发到接收终端,从而完成该视频数据的传输。该接入服务器根据该视频数据确定该视频数据对应的传输质量信息,其中,该传输质量信息用于确定传输该视频数据的目标路径。该接入服务器将该传输质量信息发送给控制服务器,以使得控制服务器根据该传输质量信息确定目标路径。该接入服务器接收到该控制服务器发送的目标路径,并根据该目标路径传输该视频数据。可见,接入服务器将大量的计算量交给控制服务器来处理,从而减轻了接入服务器的计算负载,有效提升了接入服务器的鲁棒性。

该接入服务器确定该视频数据对应的传输质量信息包括以下至少一个内容:该接入服务器确定该视频数据的媒体类型,其中,该视频数据的媒体类型包括p帧,b帧,i帧中的其中一种。其中,i帧、b帧、p帧是根据压缩算法的需要定义的,都是实实在在的物理帧。该接入服务器确定该视频数据的服务质量(qualityofservice,qos)参数。其中,该视频数据的qos参数决定了其业务优先级的高低,例如,qos参数越小,对应的业务优先级越高。

该接入服务器确定该视频数据的媒体类型的具体过程为:该接入服务器从视频数据的视频编码网络抽象层(networkabstractlayer,nal)首部获取切片类型,其中,该切片类型和视频数据的媒体类型之间存在对应关系。该接入服务器根据该对应关系确定该视频数据的媒体类型。

该接入服务器确定该视频数据的qos参数包括以下至少一个内容:该接入服务器从视频数据的实时传输协议(real-timetransportprotocol,rtp)首部获取rtp包序号,并根据该rtp包序号确定该视频数据的丢包率。该接入服务器获取该接入服务器的精准时钟,并根据该精准时钟确定该视频数据的传输时延。一般而言,该视频数据的丢包率越小,传输时延越小,则对应的业务优先级越高。

在一种可能的实现方式中,接入服务器根据该目标路径传输视频数据之前,该接入服务器根据该媒体类型确定该视频数据的多路径数量和该视频数据的前向纠错(forwarderrorcorrection,fec)冗余度。其中,该媒体类型和该多路径数量之间存在对应关系。若媒体类型为i帧,则多路径数量不小于3。若媒体类型为p帧,则多路径数量为2。若媒体类型为b帧,则多路径数量为1。其中,媒体类型和fec冗余度之间也存在对应关系。若该媒体类型为i帧,则每条路径对应的fec冗余度为1+(n-1)*0.2,其中,n为多路径序号。若该媒体类型为p帧,则两条路径对应的fec冗余度分别为1,1.2。若该媒体类型为b帧,则一条路径对应的fec冗余度为1。

在一种可能的实现方式中,该接入服务器根据该目标路径传输该视频数据之前,该接入服务器将视频数据按照目标协议封装,其中,该目标协议包括用户数据报协议userdatagramprotocol,udp),实时传输协议rtp和私有协议中的至少一个,其中,该私有协议包括该视频数据的媒体类型,多路径数量,fec冗余度,rtp包序号以及该接入服务器的精准时钟中的至少一个。其中,按照私有协议传输该视频数据,提高了该视频数据的私密性,按照用户数据报协议udp和实时传输协议rtp,提高了该视频数据传输的有效性。

第二方面,本申请提供一种视频数据的传输方法,该传输方法应用于控制服务器,该控制服务器可以是一个服务器,或者一个以上的服务器。控制服务器接收到接入服务器发送的视频数据对应的传输质量信息,其中,该传输质量信息用于确定传输该视频数据的目标路径。控制服务器根据该传输质量信息确定该目标路径。该控制服务器将该目标路径发送给接入服务器,以使得该接入服务器根据该目标路径传输该视频数据。由于目标路径是用来传输该视频数据的,而该目标路径是控制服务器通过从接入服务器接收到的传输质量信息所确定的,而该传输质量信息是与该视频数据相关的真实的信息,因此,控制服务器通过该传输质量信息确定该目标路径,有效提高了该视频数据传输的准确性。

在一种可能的实现方式中,该控制服务器包括区域节点服务器和中心控制服务器,其区域节点服务器和该中心控制服务器通信连接。该中心控制服务器根据该传输质量信息确定路径集合表,其中,该路径集合表包括至少一条路径。该中心控制服务器将该路径集合表发送给区域节点服务器,以使得该区域节点服务器根据该传输质量信息从该路径集合表中确定该目标路径。该区域节点服务器接收到该中心控制服务器发送的该路径集合表。该区域节点服务器根据该传输质量信息从该路径集合表中确定该目标路径。可见,将一个服务器的任务分给两个服务器来做,有效减轻了一个服务器的工作负荷。

在一种可能的实现方式中,该传输质量信息包括视频数据的媒体类型和视频数据的qos参数中的至少一个。即该传输质量信息可以是该视频数据的媒体类型,也可以是该视频数据的qos参数,还可以是该视频数据的媒体类型和该视频数据的qos参数。

在一种可能的实现方式中,若该传输质量信息包括视频数据的媒体类型和视频数据的qos参数,该中心控制服务器根据该视频数据的媒体类型确定可选择路径,其中,该可选择路径包括至少一条路径。该中心控制服务器根据该视频数据的qos参数从该可选择路径中确定路径集合表。由于每个媒体类型的视频数据存在对应的分类路径,则直接通过该媒体类型确定出可选择路径,从而有效排除了大量不可选择的路径。然后进一步根据该视频数据的qos参数从该可选择路径中确定路径集合表,而该路径集合表中包括备选的一条或者一条以上的路径。

在一种可能的实现方式中,该视频数据的qos参数包括丢包率和传输时延,该中心控制服务器对该传输时延加权确定平滑传输时延。然后对该平滑传输时延求和确定路径传输时延。然后根据该路径传输时延和该丢包率从该可选择路径中确定该路径集合表,其中,该路径集合表中的路径的丢包率不大于1%。

在一种可能的实现方式中,若该传输质量信息包括该视频数据的qos参数,该区域节点服务器根据该视频数据的qos参数确定该视频数据对应的业务优先级,其中,该视频数据的qos参数和该视频数据对应的业务优先级之前存在对应关系,其中,该视频数据的qos参数包括丢包率和传输时延中的至少一个。该区域节点服务器按照视频数据对应的业务优先级从该路径集合表中确定所述目标路径,其中,该视频数据对应的业务优先级与该目标路径的传输时延成反比例关系。即该视频数据对应的业务优先级越高,则该目标路径的传输时延越小。

第三方面,本申请提供一种接入服务器,具有实现上述第一方面或者第一方面的任意一种实现方式中身份识别装置所执行的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

第四方面,本申请提供一种控制服务器,具有实现上述第二方面或者第二方面的任意一种实现方式中身份识别装置所执行的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

第五方面,本申请提供一种接入服务器,该身份识别装置包括存储器,网络接口和处理器。其中,存储器用于存储计算机可执行程序代码,并与网络接口耦合。该程序代码包括指令,当该处理器执行该指令时,该指令使该身份识别装置执行上述第一方面或者第一方面的任意一种实现方式中所涉及的信息或者指令。

第六方面,本申请提供一种控制服务器,该身份识别装置包括存储器,网络接口和处理器。其中,存储器用于存储计算机可执行程序代码,并与网络接口耦合。该程序代码包括指令,当该处理器执行该指令时,该指令使该身份识别装置执行上述第二方面或者第二方面的任意一种实现方式中所涉及的信息或者指令。

第七方面,本申请提供一种计算机存储介质,包括指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面或者第一方面的任意一种或者第二方面或者第二方面的任意一种实现方式提供的传输方法。

第八方面,本申请提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或者第一方面的任意一种或者第二方面或者第二方面的任意一种实现方式提供的传输方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

该接入服务器接收到视频数据,其中,该视频数据用于从发送终端发出,通过至少一个接入服务器,转发到接收终端,从而完成该视频数据的传输。该接入服务器根据该视频数据确定该视频数据对应的传输质量信息,其中,该传输质量信息用于确定传输该视频数据的目标路径。该接入服务器将该传输质量信息发送给控制服务器,以使得控制服务器根据该传输质量信息确定目标路径。该接入服务器接收到该控制服务器发送的目标路径,并根据该目标路径传输该视频数据。可见,接入服务器将大量的计算量交给控制服务器来处理,从而减轻了接入服务器的计算负载,有效提升了接入服务器的鲁棒性。

附图说明

图1为本申请实施例中视频数据的传输系统的一个结构框架图;

图2为本申请实施例中视频数据的传输系统的另一个结构框架图;

图3为本申请实施例中视频数据的传输方法的一个实施例示意图;

图4为本申请实施例中视频数据的传输方法的另一个实施例示意图;

图5为本申请实施例中视频数据的传输方法的另一个实施例示意图;

图6为本申请中实施例中视频数据的传输系统的另一个结构框架图;

图7为本申请中实施例中视频数据的传输方法的另一个实施例示意图;

图8为本申请中实施例中视频数据的传输方法的另一个实施例示意图;

图9为本申请实施例中接入服务器的一个结构示意图;

图10为本申请实施例中接入服务器的另一个结构示意图;

图11为本申请实施例中接入服务器的另一个结构示意图;

图12为本申请实施例中控制服务器的一个结构示意图;

图13为本申请实施例中控制服务器的另一个结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

随着多媒体业务的迅速发展,对视频数据的服务质量要求越来越高,从而有效满足用户的实时视频传输需求。当前,用于传输视频数据的ron中的节点既是计算控制大脑又是转发执行单元,计算负载大,ron节点鲁棒性弱,为解决这一问题,本申请提出如下系统、设备以及视频数据的传输方法。

请参阅图1,为本申请实施例中视频数据的传输系统100的一个架构框架图,该视频数据的传输系统100包括控制服务器和接入服务器,其中,该接入服务器的个数不做限定。该控制服务器和接入服务器之间通信连接。该控制服务器作为计算控制大脑,计算出用于传输视频数据的目标路径。该接入服务器作为转发执行单元,通过控制服务器计算出的目标路径传输视频数据。

在具体实现过程中,该控制服务器包括区域节点服务器和中心控制服务器,该区域节点服务器和该中心控制服务器通信连接。如图2所示,重叠网络部署在承载网络之上,其中,在重叠网络上部署多个软件路由组成一层虚拟网络,通过软件路由实现对视频数据的传输规划。软件路由即中心控制服务器,区域节点服务器以及接入服务器。该中心控制服务器,区域节点服务器和接入服务器可以部署在任意一个虚拟机服务器或者物理机服务器或者个人计算机(personalcomputer,pc)上。每个服务器之间通过英特网(internet),或者internet和专线的混合组网连接,此处不做具体限定。

其中,中心控制服务器作为核心大脑,负责收集全网视频数据对应的传输质量信息,统一计算全网中的路径集合表。区域节点服务器负责以区域为粒度的资源调度、优先级控制、负载均衡控制,从路径集合表中确定用于传输视频数据的目标路径。其中,以区域为粒度的区域节点服务器可以设置在拉美区,中东区,东南亚区,中国区以及西欧区等不同地区,具体设置方式根据实际情况而定,此处不做具体限定。接入服务器负责视频数据的解析,并将解析的结果发送给中心控制服务器和区域节点服务器,接收区域节点服务器发送的目标路径,将视频数据按照目标协议打包,并转发到目标路径中的下一个接入服务器。

如图2粗线所示的目标路径,按照该目标路径实现从主机a到主机b的视频数据的传输。其中,从主机a到主机b的路径多种多样,按照现有的路径传输视频数据,时延和丢包率可能较大,对于视频质量带来较大影响。而经过重叠网络的路径规划,可提供最优的规划路径,时延和丢包率等更符合应用系统需求。由于软件路由的算法灵活性,可以根据不同应用系统的服务质量需求计算相对应的最优路径。

请参阅图3,为本申请实施例中视频数据的传输方法的一个实施例示意图,该实施例的具体流程如下:

步骤201、接入服务器接收到视频数据。

在本申请中,该视频数据是通过发送终端发送到接入服务器的,该发送终端包括但不限于计算机,手机、平板电脑、个人数字助理(英文全称:personaldigitalassistant,缩写:pda)和车载电脑。该发送终端将该视频数据发送给接入服务器,以使得接入服务器作为一个转发媒介,将视频数据转发给接收终端,其中,接收终端包括但不限于计算机,手机、平板电脑、pda和车载电脑,此处不做具体限定。

步骤202、接入服务器确定该视频数据对应的传输质量信息。

在本申请中,该传输质量信息表征了该视频数据的真实传输质量,该传输质量信息用于确定传输该视频数据的目标路径。由于该传输质量信息是该视频数据的真实信息,因此,通过该传输质量信息所确定的目标路径准确性高。

在实际应用中,接入服务器确定该视频数据对应的传输质量信息包括以下至少一个内容:接入服务器确定该视频数据的媒体类型,或者接入服务器确定所述视频数据的服务质量qos参数。当然,还可以是接入服务器确定该接入服务器的负载信息,其中,该负载信息包括但不限于内存大小,处理器占用率,带宽信息等。

在具体实现过程中,接入服务器从该视频数据的nal首部获取切片类型(slice-type),其中,该切片类型和视频数据的媒体类型之间存在对应关系,则接入服务器根据该对应关系确定视频数据的媒体类型,其中,该视频数据的媒体类型包括p帧,b帧,i帧中的其中一种。若切片类型为0,则视频数据的媒体类型为p帧,若切片类型为1,则视频数据的媒体类型为b帧,若切片类型为2,则视频数据的媒体类型为i帧。

其中,i帧、b帧、p帧是根据压缩算法的需要定义的,都是实实在在的物理帧。一般来说,i帧的压缩率是7,p帧是20,b帧可以达到50。可见使用b帧能节省大量空间,节省出来的空间可以用来保存多一些i帧,这样在相同码率下,可以提供更好的画质。其中,每个媒体类型的视频数据存在对应的路径。例如,p帧的视频数据对应的是a类路径,b帧的视频数据对应的b类路径,i帧的视频数据对应的是c类路径,其中,a类路径,b类路径,c类路径是提前划分好的。

在具体实现过程中,接入服务器确定该视频数据的服务质量qos参数包括以下至少一个内容:接入服务器从该视频数据的rtp首部获取rtp包序号,并根据所述rtp包序号确定所述视频数据的丢包率。或者,接入服务器获取接入服务器的精准时钟,并根据该精准时钟确定该视频数据的传输时延。其中,该视频数据的qos参数是由该视频数据的本身属性决定的,例如,视频会议的传输时延不大于200毫秒,丢包率不大于1%。当然,该视频数据的qos参数除了丢包率和传输时延外,还可以是其他参数,此处不做具体限定。

其中,丢包率的计算过程为:统计1秒内所有包序号中的缺失包个数,当前秒的丢包率为:losti=缺失包个数/(接收包个数+缺失包个数)。

其中,传输时延的计算过程为:计算当前秒传输时延(time-delay,td):tdi=1/n(∑tdn),其中,n为当前秒总共接收包个数,tdn为每个包的传输时延,tdn等于当前精准时钟和上一跳精准时钟的差值。

步骤203、接入服务器将该传输质量信息发送给控制服务器。

在本申请中,接入服务器将传输质量信息发送给控制服务器,以使得控制服务器根据该传输质量信息确定目标路径。

步骤204、控制服务器接收到接入服务器发送的传输质量信息。

步骤205、控制服务器根据该传输质量信息确定目标路径。

控制服务器根据该传输质量信息先确定一个路径集合表,该路径集合表中包括至少一条路径,然后控制服务器进一步从该路径集合表中确定目标路径。

步骤206、控制服务器将该目标路径发送给接入服务器。

控制服务器将该目标路径发送给接入服务器,以使得该接入服务器根据该目标路径传输该视频数据。

步骤207、接入服务器接收到控制服务器发送的该目标路径。

步骤208、接入服务器根据该目标路径传输该视频数据。

接入服务器直接根据控制服务器发送的目标路径传输该视频数据,省去了计算目标路径的麻烦,从而减少了大量的计算量。又由于该目标路径是通过传输质量信息确定的,而该传输质量信息表征该视频数据的真实传输质量,可靠性高,从而有效提高了视频数据传输的准确性。

在本申请中,接入服务器根据该目标路径传输所述视频数据之前,接入服务器根据媒体类型确定该视频数据的多路径数量,以及接入服务器根据该媒体类型确定视频数据的fec冗余度。

在具体实现过程中,若媒体类型为i帧,则多路径数量不小于3;若媒体类型为p帧,则多路径数量为2;若媒体类型为b帧,则多路径数量为1。若媒体类型为i帧,则每条路径对应的fec冗余度为1+(n-1)*0.2,其中,n为多路径序号。若媒体类型为p帧,则两条路径对应的fec冗余度分别为1,1.2。若媒体类型为b帧,则一条路径对应的fec冗余度为1。

在接入服务器根据目标路径传输视频数据之前,接入服务器将视频数据按照目标协议封装,其中,该目标协议包括用户数据报协议udp,实时传输协议rtp和私有协议中的至少一个,其中,私有协议包括该视频数据的媒体类型,多路径数量,fec冗余度,rtp包序号以及该接入服务器的精准时钟中的至少一个。

以按照私有协议封装该视频数据为例,将该视频数据的媒体类型、多路径数量、fec冗余度、rtp包序号、该接入服务器的精准时钟写入系统定义的私有协议的报文头的相应位置,该私有协议的报文头设置在该视频数据的报文之前。其中,私有协议的报文头格式定义如下表:

另外,按照udp协议和rtp协议封装该视频数据是为了符合承载网络设备对数据报头的标准化要求,从而使得视频数据能够正确传输到指定的接收终端。最后一跳接入服务器去除udp协议报头,rtp协议报头以及私有协议报头,将视频数据发送给接收终端,从而完成视频数据在目标路径上的传输。

请参阅图4,为本申请实施例中视频数据的传输方法的另一个实施例示意图,该实施例的具体流程如下:

步骤301、接入服务器接收到视频数据。

步骤302、接入服务器确定该视频数据对应的传输质量信息。

需要说明的是,步骤301和步骤302与步骤201和步骤202存在相同或者相似的内容,具体可参阅步骤201和步骤202的描述,此处不再赘述。

步骤303、接入服务器将该传输质量信息发送给区域节点服务器和中心控制服务器。

步骤304、区域节点服务器接收到接入服务器发送的传输质量信息。

步骤305、中心控制服务器接收到接入服务器发送的传输质量信息。

需要说明是,该区域节点服务器和该中心控制服务器直接同时或者不同时接收到该接入服务器发送的传输质量信息,该中心控制服务器还可以通过区域节点服务器接收到该接入服务器发送的传输质量信息。

步骤306、中心控制服务器根据该传输质量信息确定路径集合表。

在本申请中,中心控制服务器作为一个核心大脑,负责大量的计算量,从而有效减轻了该接入服务器的计算负荷。

若该传输质量信息包括该视频数据的媒体类型和该视频数据的qos参数,则该中心控制服务器根据该视频数据的媒体类型确定可选择路径,其中,该可选择路径包括至少一条路径。由于每个类型的视频数据由特定的路径,则根据该视频数据的类型,确定可选择路径,例如,该视频数据的类型为p帧,则存在指定的选择路径a,其中,该选择路径a至少有一条。又如,该视频数据的类型为b帧,则存在指定的选择路径b,其中,该选择路径b至少有一条。再如,该视频数据的类型为i帧,则存在指定的选择路径c,其中,该选择路径c至少有一条。

进一步,该中心控制服务器根据该视频数据的qos参数从该可选择路径中确定路径集合表。其中,该视频数据的qos参数包括丢包率和传输时延中的至少一个。该中心控制服务器对传输时延加权确定平滑传输时延,再对该平滑传输时延求和确定路径传输时延,再根据路径传输时延和丢包率从该可选择路径中确定路径集合表,其中,该路径集合表中的路径的丢包率不大于1%。

其中,平滑td的计算过程为:stdi=stdi-1+α(tdi–tdi-1),其中,i为当前秒,i-1为前一秒,其中0<=α<=1,α为用户自定义或者系统默认设置,其中,系统默认设置为α0.125。

其中,路径td的计算过程为:ptd=∑mstdm,其中m为每条路径被切分为m段,即视频数据从发送终端a到接收终端b经过了m个接入服务器的转发,stdm为每一端当前的平滑td。

在具体实现过程中,中心控制服务器将两点间各种可能路径按路径td由大到小排序,取时延最小且丢包率不大于1%的n条,其中,n>=3,可根据用户自定义或者系统默认设置,其中,系统默认设置为3。若连续n个样本|td-std|>μ*std,则触发路径集合表的计算,其中,n、μ可根据用户自定义或者系统默认设置,系统默认设置n=10,μ=0.2,其中,每秒钟产生1个td数据,当连续n个样本的td发生较大变化,即td变化20%,则认为当前路径的服务质量发生重大变化,需要重新计算路径集合表。

步骤307、中心控制服务器将路径集合表发送给区域节点服务器。

在本申请中,中心控制服务器将路径集合表发送给区域节点服务器,以使得区域节点服务器根据传输质量信息从路径集合表中确定目标路径。

步骤308、区域节点服务器接收到中心控制服务器发送的路径集合表。

步骤309、区域节点服务器根据传输质量信息从路径集合表中确定目标路径。

在本申请中,若该传输质量信息包括该视频数据的qos参数,该区域节点服务器根据该视频数据的qos参数确定该视频数据对应的业务优先级,其中,该视频数据的qos参数和该视频数据对应的业务优先级之前存在对应关系,其中,该视频数据的qos参数包括丢包率和传输时延中的至少一个。该区域节点服务器按照该视频数据对应的业务优先级从路径集合表中确定该目标路径,其中,该视频数据对应的业务优先级与该目标路径的传输时延成反比例关系,该目标路径为丢包率不大于1%的路径。

在具体实现过程中,区域节点服务器根据该视频数据对应的业务优先级、负载均衡确定目标路径,其中负载均衡定义为:当每条路径上的任意一个接入服务器内存、cpu、带宽负载其中一项或多项超过阈值时,则启动负载均衡,将当前负载超阈值路径标记为不可用,将后续视频数据转发分配到优路径集合表中的其它路径。其中,阈值可根据用户自定义或者系统默认设置,系统默认设置为80%。

业务优先级定义为:双向实时媒体服务的优先级为1,例如,视频会议等。单向实时媒体服务的优先级为2,例如,视频直播、视频监控等。非实时业务优先级为3,例如,点播回放、数据访问等。当系统中存在优先级为1的服务进行数据转发,则将优路径集合表中时延最短的路径分配给此服务。若时延最短路径任意一个接入服务器的内存、cpu、带宽负载未超过阈值,则优先级为2的服务可使用优路径集合表中时延最短的路径,否则优先级为2的服务仅能在优路径集合表中挑选其它路径,以此类推,此处不再赘述。

步骤310、区域节点服务器将目标路径发送给接入服务器。

在本申请中,区域节点服务器将目标路径发送给接入服务器,以使得接入服务器根据该目标路径传输该视频数据。

步骤311、接入服务器接收到区域节点服务器发送的目标路径。

步骤312、接入服务器根据该目标路径传输该视频数据。

下面,以具体应用场景来介绍视频数据的传输方法:

一、接入服务器的配置

在视频数据的传输系统正常工作前,需要先配置接入服务器(以下简称为“节点”),具体包括添加节点信息,同时配置每个节点对应的邻居节点,如图5所示:

步骤1至步骤8:在浏览器上登录到视频数据的传输系统对应的网页(web)服务器,并添加4个接入服务器,分别位于廊坊,北京,上海,首尔。其中,每个节点的信息包括身份标识信息(identity,id),其中,节点id在整个视频数据的传输系统中需要保证唯一,例如节点互联网协议(internetprotocol,ip)地址。web服务器将每个节点的信息保存到数据库。

步骤9至步骤16:在浏览器上为每个节点配置对应的邻居节点,web服务器将每个节点的邻居节点的信息保存到数据库。其中,廊坊节点的邻居节点为:北京节点和首尔节点。北京节点的邻居节点为:廊坊节点和上海节点。上海节点的邻居节点为:北京节点和首尔节点。首尔节点的邻居节点为:上海节点和廊坊节点。在配置完成后,整个视频数据的传输系统的组网结构如图6所示,廊坊节点,北京节点和上海节点隶连接同一个区域节点服务器,首尔节点连接另一个区域节点服务器,两个区域节点服务器连接中心控制服务器,当然,每个节点服务器还可以直接连接中心控制服务器。

二、确定目标路径

通过节点间正常转发的视频数据中获取节点间的qos信息,其中,节点间的qos信息包括丢包率和传输时延。节点启动后,先从中心控制服务器获取该节点的邻居节点的信息,每个节点的处理过程相同,如图7所示,下面以廊坊节点为例进行说明:

步骤1、廊坊节点启动后,向中心控制服务器发送请求,获取其他节点的信息,其中,请求中携带廊坊节点的节点id。

步骤2、中心控制服务器收到请求后,根据节点id查询数据库,返回其他节点的信息。

步骤3至步骤5、廊坊节点收到其他节点的信息后,启动周期定时器,廊坊节点向其他节点发送视频数据。

步骤6至步骤9、其他各节点对应的周期定时器超时,各节点向中心控制服务器和区域节点服务器发送传输质量信息。其中,该传输质量信息包括:丢包率、传输时延,本端的中央处理器(centralprocessingunit,cpu)占用率,内存占用率,上下行带宽信息等。

步骤10、中心控制服务器和区域节点服务器接收到各个节点上报的传输质量信息,并在本地保存,定时器超时后,中心控制服务器根据各节点上报的传输质量信息,计算路径集合表,并将路径集合表发送给区域节点服务器,区域节点服务器根据该传输质量信息和路径集合表确定每个节点对应的路径信息,并将各个节点对应的路径信息发送给各个节点。

例如,廊坊节点向中心控制服务器和区域节点服务器上报:到北京节点的td为0ms,丢包率为0;到首尔节点的td为333.75ms,丢包率为0.5%。北京节点向中心控制服务器和区域节点服务器上报:到上海节点的td为22.8ms,丢包率为0.1%。上海节点向中心控制服务器和区域节点服务器上报:到首尔节点的td为52.25ms,丢包率为0.1%。则中心控制服务器收到上述上报信息后确定路径集合表,区域节点服务器根据该上报信息从该路径集合表确定廊坊节点与首尔节点的最优路径为廊坊节点—>北京节点—>上海节点—>首尔节点,原因是该路径的总时延为75.05ms,丢包率为0.1%,显著优于廊坊节点—>首尔节点(时延333.75,丢包率0.5%)。

三、视频数据的转发

如图8所示,终端a在视频会议中向终端b发送视频数据:

终端向廊坊节点发送视频数据,廊坊节点接收到该视频数据,读取视频数据的报头信息,进一步解析视频数据的nal首部获得视频数据的媒体类型,将视频数据增加私有封装头部,廊坊节点查找本地目标路径,得到下一跳节点为北京节点,则廊坊节点将封装后的视频数据转发到北京节点。北京节点接收到该封装后的视频数据后,处理同上述廊坊节点,北京节点查找本地实时目标路径,得到下一跳节点为上海节点,将该封装后的视频数据转发到上海节点。上海节点接收到该封装后的视频数据后,处理同北京节点,上海节点查找本地实时目标路径,得到下一跳节点为首尔节点,将该封装后的视频数据转发到首尔节点。首尔节点接收到该封装后的视频数据后,查找本地实时目标路径,得到下一跳节点为终端b,解封装私有协议头部,然后将视频数据转发给终端b,从而实现视频数据从终端a到终端b的传输。

上面对一种视频数据的传输方法进行了说明,下面对视频数据的传输方法所应用的服务器进行说明,请参阅图9所示,本申请中提供了一种接入服务器500的一个实施例,该接入服务器500包括:接收模块501,确定模块502,发送模块503和传输模块504。

接收模块501,用于接收到视频数据。

确定模块502,用于确定所述接收模块501接收到的所述视频数据对应的传输质量信息,其中,所述传输质量信息用于确定传输所述视频数据的目标路径。

发送模块503,用于将所述确定模块502确定的所述传输质量信息发送给控制服务器,以使得所述控制服务器根据所述传输质量信息确定所述目标路径。

所述接收模块501,还用于接收到所述控制服务器发送的所述目标路径。

传输模块504,用于根据所述接收模块501接收到的所述目标路径传输所述视频数据。

在一个可能实现的方式中,所述确定模块502用于确定以下至少一个内容:

确定所述视频数据的媒体类型,其中,所述视频数据的媒体类型包括p帧,b帧,i帧中的其中一种;

确定所述视频数据的服务质量qos参数。

在一个可能实现的方式中,所述确定模块502具体用于:

从所述视频数据的视频编码网络抽象层nal首部获取切片类型,其中,所述切片类型和所述视频数据的媒体类型之间存在对应关系;

根据所述对应关系确定所述视频数据的媒体类型。

在一个可能实现的方式中,所述确定模块502具体用于确定以下至少一个内容:

从所述视频数据的实时传输协议rtp首部获取rtp包序号,并根据所述rtp包序号确定所述视频数据的丢包率;

获取所述接入服务器的精准时钟,并根据所述精准时钟确定所述视频数据的传输时延。

在一个可能实现的方式中,所述确定模块502还用于根据所述目标路径传输所述视频数据之前,根据所述媒体类型确定所述视频数据的多路径数量;根据所述媒体类型确定所述视频数据的前向纠错fec冗余度。

在一个可能实现的方式中,所述确定模块502具体用于:

若所述媒体类型为i帧,则所述多路径数量不小于3;

若所述媒体类型为p帧,则所述多路径数量为2;

若所述媒体类型为b帧,则所述多路径数量为1。

在一个可能实现的方式中,所述确定模块502具体用于:

若所述媒体类型为i帧,则每条路径对应的fec冗余度为1+(n-1)*0.2,其中,n为多路径序号;

若所述媒体类型为p帧,则两条路径对应的fec冗余度分别为1,1.2;

若所述媒体类型为b帧,则一条路径对应的fec冗余度为1。

在图9对应的实施例的基础上,请参阅图10所示,本申请中提供了一种接入服器500的另一个实施例,该接入服务器500包括:接收模块501,确定模块502,发送模块503和传输模块504以及封装模块505。

所述封装模块505用于根据所述目标路径传输所述视频数据之前,将所述视频数据按照目标协议封装,其中,所述目标协议包括用户数据报协议udp,实时传输协议rtp和私有协议中的至少一个,其中,所述私有协议包括所述视频数据的媒体类型,多路径数量,fec冗余度,rtp包序号以及所述接入服务器的精准时钟中的至少一个。

进一步的,图9和图10中的接入服务器是以功能模块的形式来呈现。这里的“模块”可以指特定应用集成电路(application-specificintegratedcircuit,asic),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,图9和图10中的接入服务器可以采用图11所示的形式。

图11是本申请实施例提供的一种接入服务器600的结构示意图,该接入服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器622和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对接入服务器中的一系列指令操作。更进一步地,处理器622可以设置为与存储介质630通信,在接入服务器600上执行存储介质630中的一系列指令操作。

接入服务器600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,和/或,一个或一个以上操作系统641。

上述实施例中由接入服务器所执行的步骤可以基于该图11所示的接入服务器结构。

处理器622使优化处理设备执行图3和图4对应的方法实施例中接入服务器所实际执行的步骤。

本申请实施例提供了一种计算机存储介质,用于储存上述接入服务器所用的计算机软件指令,其包含用于图3和图4对应的方法实施例中接入服务器所实际执行的方法所设计的程序。

上面对一种接入服务器的结构进行了说明,下面对该视频数据的传输方法所应用的控制服务器进行说明。请参阅图12所示,本申请中提供了一种控制服务器700的一个实施例,该控制服务器700包括:接收模块701,确定模块702和发送模块703。

接收模块701,用于接收到接入服务器发送的视频数据对应的传输质量信息,其中,所述传输质量信息用于确定传输所述视频数据的目标路径;

确定模块702,用于根据所述接收模块701接收到的所述传输质量信息确定所述目标路径;

发送模块703,用于将所述确定模块702确定的所述目标路径发送给所述接入服务器,以使得所述接入服务器根据所述目标路径传输所述视频数据。

在一个可能实现的方式中,所述控制服务器700包括区域节点服务器和中心控制服务器,所述确定模块702具体用于:

根据所述传输质量信息确定路径集合表,其中,所述路径集合表包括至少一条路径;

将所述路径集合表发送给所述区域节点服务器,以使得所述区域节点服务器根据所述传输质量信息从所述路径集合表中确定所述目标路径;

接收到所述中心控制服务器发送的所述路径集合表;

根据所述传输质量信息从所述路径集合表中确定所述目标路径。

在一个可能实现的方式中,所述传输质量信息包括所述视频数据的媒体类型和所述视频数据的qos参数中的至少一个。

在一个可能实现的方式中,若所述传输质量信息包括所述视频数据的媒体类型和所述视频数据的qos参数,所述确定模块702具体用于:

根据所述视频数据的媒体类型确定可选择路径,其中,所述可选择路径包括至少一条路径;

根据所述视频数据的qos参数从所述可选择路径中确定所述路径集合表。

在一个可能实现的方式中,所述视频数据的qos参数包括丢包率和传输时延,所述确定模块702具体用于:

对所述传输时延加权确定平滑传输时延;

对所述平滑传输时延求和确定路径传输时延;

根据所述路径传输时延和所述丢包率从所述可选择路径中确定所述路径集合表,其中,所述路径集合表中的路径的丢包率不大于1%。

在一个可能实现的方式中,若所述传输质量信息包括所述视频数据的qos参数,所述确定模块702具体用于:

根据所述视频数据的qos参数确定所述视频数据对应的业务优先级,其中,所述视频数据的qos参数和所述视频数据对应的业务优先级之前存在对应关系,其中,所述视频数据的qos参数包括丢包率和传输时延中的至少一个;

按照所述视频数据对应的业务优先级从所述路径集合表中确定所述目标路径,其中,所述视频数据对应的业务优先级与所述目标路径的传输时延成反比例关系。

进一步的,图12中的控制服务器是以功能模块的形式来呈现。这里的“模块”可以指特定应用集成电路,电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,图12中的控制服务器可以采用图13所示的形式。

图13是本申请实施例提供的一种控制服务器的结构示意图,该控制服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器822和存储器832,一个或一个以上存储应用程序842或数据844的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器832和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对控制服务器中的一系列指令操作。更进一步地,处理器822可以设置为与存储介质830通信,在控制服务器800上执行存储介质830中的一系列指令操作。

控制服务器800还可以包括一个或一个以上电源826,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口858,和/或,一个或一个以上操作系统841。

上述实施例中由控制服务器所执行的步骤可以基于该图13所示的控制服务器结构。

处理器822使控制服务器执行图3对应的方法实施例中控制服务器所实际执行的步骤。

本申请实施例提供了一种计算机存储介质,用于储存上述路径规划设备所用的计算机软件指令,其包含用于图3对应的方法实施例中控制服务器所实际执行的方法所设计的程序。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1