一种信息中心网络多层次视频媒体系统及其使用方法与流程

文档序号:12865967阅读:168来源:国知局
一种信息中心网络多层次视频媒体系统及其使用方法与流程

本发明涉及网络通信技术领域,具体涉及一种信息中心网络多层次视频媒体系统及其使用方法。



背景技术:

近年来,随着互联网数据流量的急剧增长和通信方式从主机到主机变为以内容为中心,传统的网络架构不仅难以满足未来的流量要求还会造成资源配置的巨大浪费。试图替代传统tcp/ip网络的信息中心网络(icn,information-centricnetwork)的基本设计思想便是采用以信息的名称为中心——内容根据一定命名规则被进行唯一标识成为网络信息;整个网络的运行则有针对这些信息的请求、路由和传输驱动,具体可以描述为客户端向网络发起一个兴趣包,在之后的传输中,若有节点已缓存相应信息备份,则直接返回对应数据包,否则兴趣包会一直被传输至服务器。

如今,视频已经成为日益重要的内容载体,icn网络中的视频媒体系统也是近年来的研究热点。由于具有文件大、客户需求及时性强的特点,通常会在网络中将一个视频文件分为多个块。为了更好地满足客户需求,svc分层技术也得到了广泛的应用。然而,现有的研究并未充分考虑用户视频请求行为对文件块的连续性、视频热度所带来的缓存判断中的可预测性、以及视频热度的动态性。若视频v1具有较高热度,多个用户会先后对v1包含的不同文件块c1到cn发送兴趣包,若在网络节点间,每一次针对一个兴趣包都只返回相应的数据包,而不能根据监测到的视频高热度进行对相邻文件块的需求预判并提前传输接下来的一些数据包,会造成较大的流量浪费。而且,一个网状拓扑的系统的节点,无论是采用完全缓存、概率缓存及不缓存,都无法针对不同视频热度的动态性进行分布式及时调整,造成了更多的缓存资源浪费。

特别地,针对视频这种文件较大的流媒体文件,流量的浪费和缓存资源的浪费还可能导致通信延迟,极大降低用户体验。



技术实现要素:

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是通过向信息中心网络层次视频媒体系统中的数据包添加建议缓存参数和向路由器添加智能缓存表,对高热度视频相邻文件块需求进行预判,从而在多层次视频媒体领域应用信息中心网络,极大提高多层次视频媒体系统整体性能。

为实现上述目的,本发明提供了一种信息中心网络多层次视频媒体系统,其特征在于,包括:服务器、路由器和客户端,所述服务器对系统中的视频媒体进行编码并储存,所述服务器处理所述路由器发送的兴趣包后返回所述路由器请求的文件块数据包;所述路由器与其他路由器或者所述客户端通信连接,所述路由器响应或转发来自其连接的其他路由器或所述客户端的所述兴趣包,所述路由器对其连接的其他路由器或所述服务器的数据包进行路由,所述路由器在缓存算法指导下对路由经过所述路由器的视频文件进行相关操作;所述客户端根据客户的观看行为向所述路由器发送所述兴趣包,或接受来自所述路由器的所述数据包并对所述数据包进行译码操作。

进一步地,所述服务器根据信息中心网络协议和mpeg-dash(http动态自适应流媒体)协议对系统中的视频媒体进行编码,所述服务器对符合mpeg-dash协议的视频媒体内容采用可分级的视频编码技术进行编码,所述视频媒体内容被编码后由一个基础层和至少一个加强层组成,所述基础层能够保证所述视频媒体内容播放时的最低画质,所述加强层能够提高所述视频媒体内容播放时的画质;根据mpeg-dash协议,所述视频媒体内容在编码完成后被分割成多个视频媒体文件块进行存储和传输。

进一步地,所述客户端根据客户的播放缓冲区大小决定向路由器请求视频媒体文件块的文件层数,所述客户端向所述路由器发送的所述兴趣包中包括以下信息:请求对应的接口信息、被请求视频媒体文件块名称和现时标志。

进一步地,所述服务器或所述路由器发送的所述数据包中包括以下信息:被请求视频媒体文件块和建议缓存参数,所述建议缓存参数对接收所述数据包的其他路由器的缓存行为给出建议。

进一步地,所述路由器包括兴趣包处理模块和数据包处理模块,所述兴趣包处理模块在所述路由器接收到所述兴趣包后判断自身缓存中是否存储所述兴趣包请求的视频媒体文件块,并根据判断结果对所述兴趣包进行相应处理;所述数据包处理模块在所述路由器接收到数据包后判断是否要对所述数据包中包含的视频媒体文件块进行缓存,并根据判断结果对所述数据包进行相应处理。

进一步地,所述路由器包括待定请求表、路由信息表、内容存储器和智能缓存表;所述待定请求表记录经过所述路由器的视频媒体文件块请求信息,所述路由器接收到的所述数据包根据所述视频媒体文件块请求信息回传到所述客户端;所述路由信息表记录接口的信息前缀,所述路由器根据所述路由信息表的信息将接收到的所述兴趣包转发到相应路由器;所述内容存储器用于缓存所述视频媒体文件块;所述智能缓存表能够记录每个接口对应的视频媒体文件的缓存窗口状态和下游最近缓存文件块编号;所述路由器还包括智能缓存表中的每个接口对应的视频媒体文件的缓存窗口大小,所述视频媒体文件的缓存窗口大小缓存基数的状态值次幂,所述缓存基数能够根据所述视频媒体文件块的数量进行调整。

在本发明的较佳实施方式中,提供了一种信息中心网络多层次视频媒体系统使用方法,其中,路由器接收到来自客户端或者其他路由器的兴趣包后,兴趣包处理模块比较所述兴趣包中的请求信息与所述路由器的接口信息和待定请求表的条目信息,如果被请求的视频媒体文件块已存在于所述待定请求表中,则所述路由器执行兴趣转发处理;如果被请求的视频媒体文件块未存在于所述待定请求表中,继续判断被请求的所述视频媒体文件块是否存在所述路由器的缓存中,如果所述视频媒体文件块未被缓存,所述路由器执行兴趣转发处理;如果所述视频媒体文件块已被缓存,则执行兴趣响应处理。

进一步地,所述兴趣转发处理是比较所述兴趣包中的请求对应的接口信息与路由信息表中各接口的前缀,选择成本最低的路径将所述兴趣包转发出去;所述兴趣响应处理是比较智能缓存表中接口对应的视频媒体文件的缓存窗口状态与所述兴趣包请求的视频媒体文件块编号,并比较视频文件的下游最近缓存视频媒体文件块编号与所述兴趣包请求的文件块编号,如果下游最近缓存视频媒体文件块编号大于所述兴趣包请求的文件块编号,则将接口对应的视频媒体文件的缓存窗口状态调整至所述兴趣包请求的文件块编号所在区域对应状态,并返回所述兴趣包所请求的视频媒体文件块数据包;如果下游最近缓存视频媒体文件块编号小于或等于所述兴趣包请求的文件块编号,则直接返回所述兴趣包所请求的视频媒体文件块数据包。

进一步地,转发的数据包中建议缓存参数被所述路由器设置为1,所述路由器接收到来自所述服务器或上游路由器发送的数据包后,所述数据包处理模块查看所述数据包中的建议缓存参数;若所述建议缓存参数值为1,则执行数据缓存处理后,根据待定请求表中信息对下游请求的数据包进行转发;若所述建议缓存参数值不为1,则根据待定请求表中信息对所述数据包进行转发。

进一步地,进行所述数据缓存处理时,所述路由器判断内容存储器空间是否已满,若所述内容存储器空间已满,则将被请求时间最早的视频媒体文件块替换成所述数据包中对应的视频媒体文件块;若所述内容存储器空间未满,则直接对所述数据包中对应视频媒体文件块进行缓存;所述视频媒体文件块被缓存后,所述数据包中的建议缓存参数被重置为0。

相对于现有技术,本发明具有以下有益效果:

1、本发明的信息中心网络多层次视频媒体系统在传递的数据包中添加建议缓存参数,通过数据包处理模块查看该建议缓存参数,并根据查看结果对数据包进行转发,提高数据包的传递效率。

2、本发明的路由器中设置有智能缓存表,智能缓存表用于兴趣响应处理,在兴趣响应处理过程中,比较智能缓存表中接口对应的视频媒体文件的缓存窗口状态与兴趣包请求的视频媒体文件块编号,根据比较结果确定是否调整兴趣包请求的文件块编号所在区域对应状态,之后再返回兴趣包所请求的视频媒体文件块数据包,智能缓存表能够提高缓存效率,提高系统的整体性能。

3、本发明的客户端中设置有元数据获取模块,该模块首先请求一定数量的基础层视频媒体文件块保存到客户端,如果在完成播放已存储的视频媒体文件块对应视频之前仍有剩余时间,则客户端继续请求基础层相应的增强层来提升用户观看体验;该方式通过优先保证基础层的缓存避免了用户的播放等待,有剩余时间的情况下通过请求增强层的方式进一步提升用户体验。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1为本发明一种实施例的信息中心网络中多层次视频媒体系统结构示意图;

图2为本发明一种实施例的视频编码后视频媒体文件块的示意图;

图3a为本发明一种实施例的兴趣包的示意图;

图3b为本发明一种实施例的数据包的示意图;

图4为本发明一种实施例中路由器收到兴趣包的解析流程示意图;

图5为本发明一种实施例中路由器收到数据包的解析流程示意图。

具体实施方式

以下通过具体实施方式结合附图对本发明作进一步详细说明。其中,采用信息中心网络以ndn网络模型为例进行说明,当然,本发明同样适用于其他类型的信息中心网络。

一个具体实施例中,如图1所示,根据本发明的一种实施方式的信息中心网络中多层次视频媒体系统包括服务器s、路由器r1、r2、客户端h。服务器s能够根据信息中心网络协议和mpeg-dash协议,对系统中的视频媒体进行编码;服务器s对编码后的文件块进行存储;服务器s对路由器r1发送的兴趣包进行处理、向路由器r1返回请求对应的文件块数据包。路由器r1、路由器r2能够对来自其连接的其他路由器的兴趣包进行响应或转发,路由器r2还能够对来自客户端h的兴趣包进行响应或转发;路由器r1、路由器r2能够对来自其连接的其他路由器或服务器s的数据包进行路由,路由器r1还能够对来自服务器s的数据包进行路由;路由器r1、路由器r2能够对路由经过它的视频文件块进行缓存算法指导下的相关操作。客户端h能够根据客户的观看行为对路由器r2发送相应兴趣包;客户端h能够接收路由器r2发送的数据包并对数据包进行译码操作。

如图1所示,服务器s包括视频文件编码模块s01、文件存储模块s02,视频文件编码模块s01能够根据信息中心网络协议和mpeg-dash协议,对系统中的视频媒体进行编码。文件存储模块s02的功能包括:存储编码后视频媒体的文件块并处理来自路由器r1的文件请求。

在一个具体实施例中,如图2所示,一个名为video1的视频文件经视频文件编码模块01编码后,被分为三层,基础层l0,第一加强层l1和第二加强层l2,每层对应10个文件块,每个文件块所对应的视频播放时长为5秒。其中,基础层l0中的第一个文件块在系统中的命名为“/video1/l0/c1”,其中,前缀video1表示视频名称,/l0表示对应层,/c1表示对应文件块。这种编码方式极好地适应了ndn的内在缓存属性,由于客户端所请求的文件块内容至少包含基础层,该方式增加了整体的缓存命中率、提高了响应性能。

如图3a所示,系统中的兴趣包内容包括:被请求视频媒体文件块名称,进行转发的下一节点、失效时间;如图3b所示,数据包内容包括:被请求视频媒体文件块名称,签名,签名信息,数据和建议缓存参数。此外,兴趣包和数据包还能够携带ndn系统要求其携带的其他相关信息,如接口信息,在ndn系统中,会有多个接口(interface),智能缓存表保存每个接口对应的各视频媒体文件的缓存窗口状态(state)和下游最近缓存文件块编号(cached);例如,系统中有3个接口、4个视频,则智能缓存表中会有3*4=12条数据,每条数据会包含视频文件的状态和文件块编号两个变量。

在一个具体实施例中,如图1-3所示,服务器s收到来自路由器r1的兴趣包,该兴趣包中的视频文件块名称为“video1/l0/c1”,文件存储模块s02之后向路由器r1返回一个包含相对应视频媒体文件块的数据包,并设置该数据包中的建议缓存参数为1。

如图1所示,客户端h包括列表获取模块h01、元数据获取模块h02和译码模块h03。列表获取模块h01能够向路由器r2发送兴趣包以请求系统中所有视频文件列表。元数据获取模块h02能够根据播放缓冲区的大小确定向路由器r2请求的文件;元数据获取模块h02还能够向路由器r2发送响应文件的兴趣包。译码模块h03能够对接收到的数据包进行译码,得到原始视频文件数据。

元数据获取模块h02利用基于截止时间(deadline-based)方式确定需要向路由器r2请求的文件。这种方式首先请求一定数量的基础层视频媒体文件块保存到客户端,如果在完成播放已存储的视频媒体文件块对应视频之前仍有剩余时间,则客户端继续请求基础层相应的增强层来提升用户观看体验。

如果当前用户正在观看c2所对应的视频文件,元数据获取模块h02请求当前视频进度对应的后10秒内的,即2个基础层文件块“/video1/l0/c3”、“/video1/l0/c4”,若1秒后就已经获取请求的视频媒体文件块,此时,距离这2个视频媒体文件块的播放时间终点仍有9秒剩余时间,则元数据获取模块h02继续请求相应的增强层文件块“/video1/l1/c3”、“/video1/l1/c4”,若仍有剩余时间,则请求对应的l2增强层中的文件块。该方式通过优先保证基础层的缓存避免了用户的播放等待,有剩余时间的情况下通过请求增强层的方式进一步提升用户体验。

如图1所示,路由器r1、r2包含兴趣包处理模块r01、数据包处理模块r02。兴趣包处理模块r01能够判断自身缓存中是否存有相应文件块;兴趣包处理模块r01还能够根据判断自身缓存中是否存有相应文件块的判断结果进行相应操作。数据包处理模块r02能够判断是否要对其包含的文件块进行缓存;数据包处理模块r02还能够根据判断是否要对其包含的文件块进行缓存的判断结果进行相应操作。

路由器r1、路由器r2包含待定请求表pit、路由信息表fib、内容存储器cs和智能缓存表ic。待定请求表pit包含的信息有:经由该路由器转发出去的兴趣包所请求的文件名称、进行转发的下一节点、失效时间。路由信息包含的信息有:各接口的信息前缀、内容存储器包含缓存的文件块。智能缓存表包含的信息有:每个接口对应的各视频媒体文件的缓存窗口状态和下游最近缓存文件块编号;每个接口对应的视频媒体文件的缓存窗口大小,视频媒体文件的缓存窗口大小缓存基数的状态值次幂,缓存基数能够根据视频媒体文件块的数量进行调整;一个具体实例中,假设缓存基数x=2,若一个视频媒体文件有7个文件块,则缓存窗口状态(state)0、1、2对应的缓存窗口中所包含的文件块个数分为2的0次幂、2的1次幂、2的2次幂;即,state=0对应缓存窗口中文件块c1;state=1对应缓存窗口中文件块c2、c3;state=2对应缓存窗口中文件块c4、c5、c6、c7;一个缓存窗口对应一个或多个下游最近缓存文件块编号。

如图4所示,兴趣包处理模块r01包含兴趣响应处理模块和兴趣转发处理模块。若缓存中无对应请求文件,则执行兴趣转发模块:若请求文件块已存在于待定请求表内,则不处理;若请求文件块未存在于待定请求表内,对未被缓存的情况执行兴趣包,通过比较兴趣包内的请求对应接口信息和路由信息表内各接口前缀,选择成本最低的路径将兴趣包转发出去,并将此次转发信息录入待定请求表。若缓存中有对应请求文件,则执行兴趣响应处理模块:比较智能缓存表中相应接口和视频文件的下游最近缓存文件块编号与兴趣包请求的文件块编号i;若前者大,即cached>i,则将对应的缓存窗口状态调整至兴趣包请求的文件块编号所在区域对应状态,即cached<-i,state<-i状态;否则不进行特殊操作,完成以上操作之后返回包含所请求的文件块数据包,并将数据包内建议缓存参数设置为1。

一种具体示例中,若缓存基数为2,即每层包含的文件块都可被归为缓存窗口状态0-3中。其中,每个缓存窗口分别对应着c1、c2-c3、c4-c7、c8-c10。若兴趣包请求“/video1/l0/c3”,即i为3,对应缓存窗口状态为1。此时若上一次响应的请求文件块编号为c4,则下游最近缓存文件块编号(cached)为4,缓存窗口状态(state)为2。在此情况下,先将缓存窗口状态调整为此次请求所在窗口状态值1,之后返回包含c3的数据包,并将建议缓存参数设置为1。另一种情况下,若上一次响应的请求文件块编号为c2,则下游最近缓存文件块编号为2,缓存窗口状态为1,则直接返回包含c3的数据包,并将建议缓存参数设置为1。

如图5所示,数据包处理模块r02将查看数据包内的建议缓存参数;若值为1,则执行数据缓存处理后,判断内容存储器空间是否已满;若空间已满,则被请求时间最早的视频媒体文件块替换成数据包中对应的视频媒体文件块。之后对数据包内对应文件块进行缓存,并数据包内的建议缓存参数被重置为0。之后根据待定请求表内信息对下游所请求的数据包进行转发。

在本发明的上述实施例中,对于服务器、客户端、路由器如何响应、发送兴趣包和数据包可以参考已知的相关技术。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

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