信息中心网络下的流媒体系统及其使用方法

文档序号:7809325阅读:152来源:国知局
信息中心网络下的流媒体系统及其使用方法
【专利摘要】本发明公开了一种信息中心网络下的流媒体系统及其使用方法,系统包括服务器端和客户端,服务器端用于按照ICN的协议和流媒体数据的类型,对原始流媒体数据进行流化处理和网络编码,存储网络编码后的流媒体数据及其相关信息,还用于根据接收到的兴趣包发送数据包,数据包包括网络编码后的流媒体数据及其相关信息;客户端用于发送与请求流媒体数据相关的兴趣包,还用于接收数据包,并对接收到的编码后的流媒体数据进行译码。本发明通过将网络编码引入到ICN下的流媒体系统,已知网络编码可改进ICN的效率,从而可以对提升流媒体系统的整体性能起到不可估量的作用。
【专利说明】信息中心网络下的流媒体系统及其使用方法

【技术领域】
[0001] 本发明涉及网络通信【技术领域】,具体涉及一种信息中心网络下的流媒体系统。

【背景技术】
[0002] 以信息为中心的网络(ICN,Information-Center Network,简称信息中心网络)是 近年来试图替代传统的基于TCP/IP协议的未来互联网架构,在ICN中用户只关心任何网络 节点迅速地获取数据(或者副本),不关心内容的位置。这方面的代表是命名数据网络(NDN, Named Data Networking)。命名数据网络中所有的数据都是基于名字来标识,网络中不再 存在IP地址和通信连接的概念,其网络通信基于两类数据包,一类是Interest包(兴趣 包),另一类是Data包(数据包),两者根据完整或相对的名字进行匹配,如图la和图lb所 示。网络通信过程完全由数据消费者驱动,通过向网络中发送Interest包,以数据命名为 纽带,通过拉(pull)的方式获取Data包。
[0003] 在命名数据网络中,通信节点可以从多个网络接口(如3G、Wifi等)转发数据请求, 也可以同时接收来自多个接口的数据,这种多路径转发机制主要是为了更加有效地利用空 闲链路,将网络流量分布到更广泛的网络上,实现网络负载均衡和提高网络数据传输效率 等。但是,由于在命名数据网络架构下,一个Interest包最终只返回一个Data包,这种多 路径转发机制导致了数据传输过程中的流量浪费。如图2所示,假如文件分块存储,Repol 和Rep〇2与中间路由节点直接相连且各自都有文件分块。当用户请求Cl、C2数据块时,用 户发送第一个Interest包请求C1,在多路径转发时中间路由节点将同时向Repol、Repo2 转发Interest包,Repol和Repo2最先返回的Data包将被返回给用户;用户发送第二个 Interest包请求C2块,经历同样的过程。在一次完整的请求数据过程中,从Repol和Repo2 分别到中间路由节点这一段被请求的数据块被完整地传输两次,但是有效的数据传输只需 一次,如图中3b和7b传输的流量均浪费(图示中带箭头实线表示发送的Interest包,带箭 头虚线表示有效的Data包,带箭头的点划线表示冗余的Data包)。当路径数目较多和请求 的路径较长时,流量浪费将更为明显。
[0004] 特别地,如果数据请求方请求的是音频、视频等容量较大的流媒体文件,这种数据 传输不仅造成网络资源浪费,还可能导致通信延时,影响网络通信质量。


【发明内容】

[0005] 根据本发明的第一方面,本发明提供一种信息中心网络下的流媒体系统,包括:月艮 务器端、路由节点和客户端,所述服务器端用于按照信息中心网络的协议和流媒体数据的 类型,对原始流媒体数据进行流化处理和网络编码,存储网络编码后的流媒体数据及其相 关信息,还用于根据接收到的与请求流媒体数据相关的兴趣包发送数据包,所述数据包包 括网络编码后的流媒体数据及其相关信息;所述路由节点用于转发信息中心网络中的兴趣 包或数据包;所述客户端用于发送与请求流媒体数据相关的兴趣包,还用于接收数据包,并 对接收到的网络编码后的流媒体数据进行译码操作。
[0006] 根据本发明的第二方面,本发明提供一种上述流媒体系统的使用方法,包括:所述 路由节点接收来自所述客户端发送的到信息中心网络中请求流媒体数据的兴趣包,所述兴 趣包为所述客户端本地未获取流媒体数据的任何数据块时的不包含编码系数的兴趣包或 者为所述客户端本地已获取流媒体数据的部分数据块时的包含有已接收到的编码系数的 兴趣包;所述路由节点在接收到所述兴趣包后,执行正常的信息中心网络下的处理流程,并 根据所述兴趣包的内容名字字段确定数据包的处理。
[0007] 本发明的有益效果是:通过将网络编码引入到ICN下的流媒体系统,已知网络编 码可改进ICN的效率,从而在以大数据和内容分发为核心的流媒体领域应用在ICN中时,弓丨 入网络编码将对提升流媒体系统的整体性能起到不可估量的作用。

【专利附图】

【附图说明】
[0008] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单的介绍,其中: 图la和图lb分别为NDN中的Interest包和Data包两类数据包的示意图; 图2为NDN下多路径转发请求数据过程示意图; 图3为本发明一种实施例的信息中心网络下的流媒体系统的结构示意图; 图4为本发明一种实施例中网络编码数据格式的示意图; 图5为本发明一种实施例中网络编码、解码的方法示意图; 图6为本发明另一种实施例的信息中心网络下的流媒体系统的结构示意图; 图7为本发明一种实施例中路由节点收到Interest包的解析流程示意图; 图8为本发明一种实施例中路由节点收到Data包的解析流程示意图; 图9为本发明一种实施例中数据源服务器收到Interest包的具体处理算法步骤示意 图; 图10为本发明一种实施例中客户端收到Data包的具体处理算法步骤示意图。

【具体实施方式】
[0009] 已有研究表明将网络编码应用于ICN网络中会改进当前ICN网络的效率。随着对 ICN研究的不断深入,为提升以大数据和内容分发为核心的流媒体领域中流媒体系统的整 体性能,本发明提供了 一种信息中心网络下的流媒体系统,其融合了网络编码,由此来构建 信息中心网络下实时高效的流媒体系统。
[0010] 以下通过【具体实施方式】结合附图对本发明作进一步详细说明。其中,采用信息中 心网络以命名数据网络、流媒体数据以视频数据为例进行说明,当然,本发明同样适用于其 它类型的信息中心网络以及其它类型的流媒体数据。
[0011][实施例1] 如图3所示,依据本发明的一种实施方式的信息中心网络下的流媒体系统包括服务器 端和客户端50。为方便服务器端的管理,实施例中服务器端按功能划分为数据预处理服务 器10和数据源服务器30。数据预处理服务器10的功能包括:对视频数据按照命名数据网 络协议和视频文件的相关类型进行流化处理和网络编码,然后将网络编码后的视频数据发 送给数据源服务器30 ;对节目的上线和下线进行管理;全局范围内对数据源服务器30进行 管理。数据源服务器30的功能包括:存储视频数据;响应用户请求。客户端50的功能包括: 请求数据并通过对接收到的网络编码后的数据进行译码操作后发送给播放器进行播放;为 系统中的其他节点提供本地缓存的视频文件或视频文件块。
[0012] 对于数据预处理服务器10,其包括信息提取模块101、第一通知模块102、网络编 码模块103。信息提取模块101的功能包括:系统管理员在数据预处理服务器10上新发布 一个视频文件时,所述信息提取模块101会提取出这个视频的基本信息。第一通知模块102 的功能包括:数据预处理服务器10上成功发布一个新的视频后,第一通知模块102发送相 应Interest包给数据源服务器30通知数据源服务器30需要更新本地的内容信息。网络 编码模块103的功能包括:对媒体文件进行分段处理、段内采用分块技术、以块为单位对视 频文件进行网络编码操作和对编码后的数据块进行存储。
[0013] 一种具体示例中,第一通知模块102发送给数据源服务器30的Interest包的命 名路式/hippo, pkusz. edu. cn/vod/srcsvr/stream_id/online",哀中,儀级 /\\1仰〇. pkusz. edu. cn表示北京大学深圳研究生院的流媒体系统hippo, /vod表示流媒体应用,字 段/srcsvr代表数据源服务器30, /stream_id表示最新上线的视频文件在系统中全局唯一 的编号,/online字段表示该Interest包用于通知一个新视频上线。
[0014] 网络编码模块103只存在于数据预处理服务器10上,编码后的数据块包含了多块 原始数据块的信息;系统中传输的视频文件数据均为进行网络编码后的文件块。如图4所 示,网络编码模块103对视频文件采用的分段(例如图示的分段01和分段02),在每段内进 行分块(例如图示的bl、b2、b3、b4),然后以块为单位进行网络编码,例如分段01中分块并 编码后得到pl、p2、p3、p4,分段02亦然。
[0015] 一种具体示例中,网络编码模块103采用随机网络编码实现编码,假定文件C分成 个固定大小的块,即c=[ Cl,c2,…,cn]T,网络编码模块103首先从有限域GF(2 n)中随机选 择一系列编码系数组成维向量5...,匕),再依照向量5...,匕)和块数据块 <^,--2,···,--η按照公式万=匕q+ y2+…+ 生成编码数据块万。
[0016] 系统中的网络编码时的编码系数放在Interest包或Data包的"Content Name" 字段。在编码系数相互独立的情况下,每个编码后的Data包能满足请求该分段的多个 Interest包,一种具体示例中采用奇异值分解算法(SVD)判断编码系数之间是否独立或相 关。
[0017] 系统中包含有六类不同功能的Interest包,分别为:通知数据源服务器请求视频 数据的Interest包、请求视频文件列表的Interest包、请求元数据的Interest包、请求关 键中贞索引文件的Interest包和请求编码后的媒体数据的Interest包等。
[0018] 一种具体示例中,网络编码模块103在对系统中的视频文件块进行网络编码后, 将所用编码系数α。α?放在对应Data包的"Content Name"字段中,命名为"/ hippo, pkusz. edu. cn/vod/stream_id/netcod/seg_number/[a lr α 公...,ct 等待数据 源服务器30进行数据请求,其中/netcod表示进行过网络编码的视频文件,/set_number表 示该视频文件块所在的段号;而名字为" seg_ number /[ ^ v α 公...,a J " 的 Data 包可以满足 eok cn/vod/ stream_id/netcod/seg_ number β ^ . . . ^ & J'''"/hippo, pkusz. edu. cn/vod/ stream_id/netcod/seg_ number /[ \ v λ》···, \ J/hippo, pkusz. edu. cn/vod/ /Η-6?Τ /Π ,心...,f'等前缀(除系数的名字字段)相同且 系数相互独立的Interest包。
[0019] 数据源服务器30包括第三请求模块301和存储模块302。第三请求模块301的 功能包括:收到数据预处理服务器10的通知后发送Interest包请求数据预处理服务器10 上的视频元数据、关键帧索引和进行网络编码后的数据。这里元数据包括影片的相关信息, 如文件大小、播放时间、文件编码格式、采样率等。存储模块302的功能包括:将获取的视频 数据进行存储并响应系统中其他节点对所存储数据的请求。
[0020] 一种具体示例中,数据源服务器30在收到数据预处理服务器10上的第一通知模 块102发送的Interest包后,首先丢弃掉这个Interest包,然后发送命名格式为"/ 的 Interest 包请求数据预处理服务器 10 上 的视频数据,字段/data表示该Interest包用于请求具体的视频数据。
[0021] 一种具体示例中,通知数据源服务器请求视频数据的Interest包的命名格式为 ";请求兀数据的 Interest 包的命 名格式为"/^'砂〇.从"·^. eok ",获取文件目录信息后,客户 端50可以发送此类Interest包获取视频文件的大小、播放时间、文件编码格式、采样率等 元数据信息;请求关键巾贞索引文件的Interest包的命名格式为"/c/?/ iW/s iri ¢////7 ofez ",当用户选择拖曳播放时,可以通过关键巾贞索引文件查询计算所在 的段号和块号,通过段号和块号请求数据文件;请求编码后的媒体数据的Interest包的命 名热式为''/hippo, pkusz. edu. cn/vod/stream」d/netcod/seg_number"。
[0022] 客户端50包括列表获取模块501、元数据获取模块502、视频获取模块503、关键帧 获取模块504和译码模块505。列表获取模块501的功能包括:发送Interest包以请求系 统中的所有视频列表(其可以是信息提取模块101提取出的视频的基本信息)。元数据获取 模块502的功能包括:发送Interest包请求对应视频的元数据信息。关键帧获取模块504 的功能包括:发送Interest包请求关键帧索引文件,查询计算对应视频所在的段号和块号 后通过段号和块号请求数据文件。译码模块505的功能包括:对收到的编码后的Data包进 行译码运算得到原始视频数据块。
[0023] 客户端50发送的Interest包分为两类:客户端50本地未获取视频文件的任何数 据块时发送的不包含有编码系数的Interest包和客户端50本地已获取视频文件的部分数 据块后发送的包含有已接收到的编码系数矩阵的Interest包。
[0024] -种具体示例中,客户端50收到编码后的Data包时,首先解析出Data包 "Content Name"字段中包含的编码系数,组成系数矩阵,再通过矩阵求逆计算得到原始数 据块,基本原理如图5所示。
[0025] 本实施例通过将网络编码引入到ICN下的流媒体系统,从而在以大数据和内容分 发为核心的流媒体领域应用在ICN中时,将对提升流媒体系统的整体性能起到不可估量的 作用。
[0026] [实施例2] 如图6所示,依据本发明的一种实施方式的信息中心网络下的流媒体系统包括服务器 端、路由节点40和客户端50。为方便服务器端的管理,实施例中服务器端按功能划分为数 据预处理服务器10、目录服务器20和数据源服务器30。
[0027] 数据预处理服务器10的功能包括:对视频数据按照命名数据网络协议和视频文 件的相关类型进行流化处理和网络编码后发送给数据源服务器;对节目的上线和下线进行 管理;全局范围内对数据源服务器进行管理。
[0028] 目录服务器20的功能包括:存储系统中视频文件的目录信息,为用户提供当前可 浏览视频的节目列表;提供节目列表的访问操作,如节目增加、删除、更新等。
[0029] 数据源服务器30的功能包括:存储视频数据;响应用户请求。
[0030] 路由节点40的功能包括:转发命名数据网络中的Interest包或者Data包,为系 统中的其他节点提供本地缓存的视频文件或视频文件块。
[0031] 客户端50的功能包括:请求数据并通过对接收到的网络编码后的数据进行译码 操作后发送给播放器进行播放;为系统中的其他节点提供本地缓存的视频文件或视频文件 块。
[0032] 数据预处理服务器10包括信息提取模块101、第一通知模块102、网络编码模块 103。信息提取模块101的功能包括:系统管理员在数据预处理服务器10上新发布一个视 频文件时,信息提取模块101会提取出这个视频的基本信息并将这些节目信息统一提供给 目录服务器20进行存储。第一通知模块102的功能包括:数据预处理服务器10上成功发 布一个新的视频后,第一通知模块102分别发送相应Interest包给目录服务器20和数据 源服务器30通知目录服务器20和数据源服务器30需要更新本地的内容信息。网络编码 模块103的功能包括:对媒体文件进行分段处理、段内采用分块技术、以块为单位对视频文 件进行网络编码操作和对编码后的数据块进行存储。
[0033] -种具体示例中,第一通知模块102发送给目录服务器20的Interest包的命 名路式/hippo, pkusz. edu. cn/vod/dirsvr/stream_id/online",哀中,儀级 /\\1仰〇. pkusz. edu. cn表示北京大学深圳研究生院的流媒体系统hippo, /vod表示流媒体应用,/ dirsvr代表目录服务器20 ;/stream_id表示最新上线的视频文件在系统中全局唯一的编 号,/online字段表示该Interest包用于通知一个新视频上线;所述第一通知模块102发 送给数据源服务器30的Interest包的命名格式为"/cfl/VoiZ/srcsKr/ sireafiLitZ/ofl/ifle",字段/srcsvr代表数据源服务器30 ;如前实施例1,网络编码模块103 对视频文件采用的分段、分块技术如图4所示。
[0034] 网络编码模块103只存在于数据预处理服务器10上,编码后的数据块包含了多块 原始数据块的信息;系统中传输的视频文件数据均为进行网络编码后的文件块。
[0035] -种具体示例中,网络编码模块103采用随机网络编码实现编码,假定文件c分成 个固定大小的块,即c=[ Cl,c2,…,cn]T,网络编码模块103首先从有限域GF(2 n)中随机选 择一系列编码系数组成维向量5...,匕),再依照向量5...,匕)和块数据块 <^,--2,···,--η按照公式万=匕q+ y2+…+ 生成编码数据块万。
[0036] 系统中的网络编码的编码系数放在Interest包或Data包的"Content Name"字 段,在编码系数相互独立的情况下,每个编码后的Data包能满足请求该段的多个Interest 包。
[0037] -种具体示例中,网络编码模块103在对系统中的视频文件块进行网络编码后, 将所用编码系数%放在对应Data包"Content Name"字段,命名为"/ hippo, pkusz. edu. cn/vod/stream_id/netcod/seg_number/[a lr α 公..., ctj" 等待所 述数据源服务器30进行数据请求,其中/netcod表示进行过网络编码的视频文件,/set_ number表示该视频文件块所在的段号;而名字为"/cn/vod/stream_ id//netcod/seg_ number /[ α υ α公...,aj"的 Data 包可以满足"/&//7/70./7办/5^· eok cn/vod/stream_id/netcod/seg_ number /[^> lf β》...,& J"、" /hippo, pkusz. edu. cn/ vod/stream_id/netcod/seg_ number /\ " λ》···, \ J/hippo, pkusz. edu. cn/ /?膽kr/n, L···, f'等前缀(除系数的名字字段)相 同且系数相互独立的Interest包。
[0038] 目录服务器20包括第一请求模块201和列表维护模块202。第一请求模块201的 功能包括:收到数据预处理服务器10的通知后发送Interest包请求数据预处理服务器10 上更新的数据内容。列表维护022模块的功能包括:收到数据预处理服务器10的通知后更 新本地维护的视频列表。
[0039] -种具体示例中,目录服务器20在收到数据预处理服务器10上的第一通知模块 102发送的Interest包后,首先丢弃掉这个Interest包,然后发送命名格式为"/ /7办的 Interest 包请求预处理服务器 10 上更新 的视频目录信息,/presvr表示数据预处理服务器10, /desc用于表示该Interest包请求 视频的有关息。
[0040] 数据源服务器30包括第三请求模块301和存储模块302。第三请求模块301的 功能包括:收到数据预处理服务器10的通知后发送Interest包请求数据预处理服务器10 上的视频元数据、关键帧索引和进行网络编码后的数据。存储模块302的功能包括:将获取 的视频数据进行存储并响应系统中其他节点对所存储数据的请求。
[0041] 一种具体示例中,数据源服务器30在收到数据预处理服务器10上的第一通知模 块102发送的Interest包后,首先丢弃掉这个Interest包,然后发送命名格式为"/ /7办的 Interest 包请求数据预处理服务器 10 上 的视频数据,字段/data表示该Interest包用于请求具体的视频数据。
[0042] 路由节点40包括命名数据网络中的路由器、系统中在线的客户端等。路由节点在 收到Interest包或Data包后可能需要验证收到的编码系数与本地拥有的编码系数是否相 关。
[0043] 一种具体示例中,采用奇异值分解算法(SVD)判断编码系数之间是否相关。
[0044] 客户端50包括列表获取模块501、元数据获取模块502、视频获取模块503、关键帧 获取模块504和译码模块505 ;列表获取模块501的功能包括:发送Interest包给目录服 务器20请求系统中的所有视频列表。元数据获取模块502的功能包括:发送Interest包 请求对应视频的元数据信息。关键帧获取模块504的功能包括:发送Interest包请求关键 帧索引文件,查询计算对应视频所在的段号和块号后通过段号和块号请求数据文件。译码 模块505的功能包括:对收到的编码后的Data包进行译码运算得到原始视频数据块。元数 据是指影片的相关信息,如文件大小、播放时间、文件编码格式、采样率等。
[0045] 一种具体示例中,客户端50收到编码后的Data包时,首先解析出Data包 "Content Name"字段中包含的编码系数,组成系数矩阵,再通过矩阵求逆计算得到原始数 据块,基本原理仍如图5所示。
[0046] 系统中包含有六类不同功能的Interest包,分别为:通知目录服务器请求节目列 表的Interest包、通知数据源服务器请求视频数据的Interest包、请求视频文件列表的 Interest包、请求元数据的Interest包、请求关键巾贞索引文件的Interest包和请求编码后 的媒体数据的Interest包。
[0047] -种具体示例中,通知目录服务器请求节目列表的Interest包的命名格式为"/ ;通知数据源服务器请求视频数据 的 Interest 包的命名格式为"; 请求视频文件列表的Interest包的命名格式为"/&i/7/7〇. /7办/5^. eok cn/vod/dirsrv/ sireasLit/Z/isi",客户端上线后,会首先向目录服务器20发送此类Interest包,通过 返回的list获取视频文件目录信息;请求元数据的Interest包的命名格式为"/&i/7/7〇. eok ",获取文件目录信息后,客户端50可以发送此类 Interest包获取视频文件的大小、播放时间、文件编码格式、采样率等元数据信息;所述请 求关键巾贞索引文件的Interest包的命名格式为"/^/7/7〇.eok c/?/V〇£//sid_i£// 当用户选择拖曳播放时,可以通过关键帧索引文件查询计算所在的段号和块号, 通过段号和块号请求数据文件;请求编码后的媒体数据的Interest包的命名格式为"/ hippo, pkusz. edu. cn/vod/strerni_id/netcod/seg_number"。
[0048] 客户端50发送的Interest包分为两类:客户端50本地未获取视频文件的任何数 据块时发送的不包含有编码系数的Interest包和客户端50本地已获取视频文件的部分数 据块后发送的包含有已接收到的编码系数矩阵的Interest包。
[0049] -种具体示例中,基于上述实施例的流媒体系统,客户端50请求系统中的媒体文 件的过程包括如下: 当客户端50本地尚未获得视频文件的任何数据块时: 步骤101,客户端50发送Interest包到命名数据网络中请求视频文件; 步骤102,路由节点40按照正常命名数据网络下的通信过程对收到的Interest包或 Data包进行处理。
[0050] 当客户端50本地已获取视频文件的部分数据块时: 步骤201,客户端50发送包含有本地已接收到的编码系数矩阵的Interest包到命名 数据网络中请求视频文件;例如,客户端50将收到的编码系数放在coef字段,发送名为"/ 腫办6?r/7co/7(9i7,' 的 Interest 包请求 视频文件; 步骤202,路由节点40在收到Interest包或者Data包后,除了执行正常的命名数 据网络下的处理流程外,在进行"Content Name"字段最长前缀匹配的同时,还需要比 较"Content Name"字段中的编码系数是否相关,具体来说,包括:路由节点40接收到 Interest包后,首先解析Interest包中的编码系数矩阵,再查找本地内容缓存(Content Store),若有"Content Name"字段匹配且与Interest包所含系数矩阵独立的Data包,贝丨J 将对应Data包返回,否则依次查找PIT表和FIB表进行相应处理,如图7所示;路由节点 40接收到Data包后,首先解析Data包中的编码系数,再查找本地Content Store是否有 "Content Name"字段匹配且与接收到的Data包中编码系数相关的Data包,若有则直接丢 弃本次接收到的Data包,否则查找PIT表进行相应处理,如图8所示。
[0051] 一种具体示例中,数据源服务器30收到Interest包的具体处理算法步骤如图9 所示。
[0052] -种具体示例中,客户端50收到Data包的具体处理算法步骤如图10所示。
[0053] 在本发明的上述各个实施例中,对于客户端如何发送Interest包、路由节点如何 转发Interest包、数据预处理服务器如何进行网络编码以及客户端如何进行解码运算并 不做具体限定,可以参考已知的相关技术实现。
[0054] 本领域技术人员可以理解,上述实施方式中各种方法的全部或部分步骤可以通过 程序来指令相关硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包 括:只读存储器、随机存储器、磁盘或光盘等。
[0055] 以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发 明的具体实施只局限于这些说明。对于本发明所属【技术领域】的普通技术人员来说,在不脱 离本发明构思的前提下,还可以做出若干简单推演或替换。
【权利要求】
1. 一种信息中心网络下的流媒体系统,其特征在于,包括:服务器端和客户端(50), 所述服务器端用于按照信息中心网络的协议和流媒体数据的类型,对原始流媒体数据 进行流化处理和网络编码,存储网络编码后的流媒体数据及其相关信息,还用于根据接收 到的与请求流媒体数据相关的兴趣包发送数据包,所述数据包包括网络编码后的流媒体数 据及其相关信息; 所述客户端用于发送与请求流媒体数据相关的兴趣包,还用于接收数据包,并对接收 到的网络编码后的流媒体数据进行译码操作。
2. 如权利要求1所述的流媒体系统,其特征在于,所述服务器端包括数据预处理服务 器(10)和数据源服务器(30); 所述数据预处理服务器包括信息提取模块(101)、第一通知模块(102)和网络编码模 块(103);所述信息提取模块用于对新发布的流媒体数据进行节目信息的提取;所述第一通 知模块用于在发布新的流媒体数据时,发送相应的兴趣包给所述数据源服务器,通知所述 数据源服务器更新本地的与流媒体数据相关的信息;所述网络编码模块用于对流媒体数据 分段,在每段内进行分块并以块为单位进行网络编码; 所述数据源服务器包括第三请求模块(301)和存储模块(302 );所述第三请求模块用于 在收到所述数据预处理服务器的通知后发送兴趣包用以请求所述数据预处理服务器上的 流媒体的元数据、关键帧索引和网络编码后的流媒体数据;所述存储模块用于存储从所述 数据预处理服务器获取的网络编码后的流媒体数据。
3. 如权利要求2所述的流媒体系统,其特征在于,所述服务器端还包括目录服务器 (20); 所述第一通知模块还用于通知所述目录服务器更新本地的与流媒体数据相关的信 息; 所述目录服务器包括第一请求模块(201)和列表维护模块(202 );所述第一请求模块用 于在收到所述数据预处理服务器的通知后发送兴趣包用以请求更新的节目信息;所述列表 维护模块用于根据接收到的来自所述数据预处理服务器的数据包更新本地节目信息。
4. 如权利要求3所述的流媒体系统,其特征在于,所述客户端包括列表获取模块 (501)、元数据获取模块(502)、媒体获取模块(503)、关键帧获取模块(504)和译码模块 (505); 所述列表获取模块用于发送兴趣包以请求节目信息; 所述元数据获取模块用于发送兴趣包以请求流媒体的元数据; 所述媒体获取模块用于发送兴趣包以请求网络编码后的流媒体数据; 所述关键帧获取模块用于发送兴趣包以请求关键帧索引,根据所述关键帧索引确定感 兴趣的流媒体数据所在的段号和块号,从而所述媒体获取模块可以根据所述段号和块号请 求网络编码后的流媒体数据; 所述译码模块用于对接收到的网络编码后的流媒体数据进行译码操作,得到原始流媒 体数据。
5. 如权利要求1所述的流媒体系统,其特征在于,所述服务器端在进行网络编码时,将 编码系数置于所述兴趣包或数据包的内容名字字段中;和/或,所述客户端还用于为其它 客户端提供本地缓存的网络编码后的流媒体数据或解码后的原始流媒体数据。
6. 如权利要求1所述的流媒体系统,其特征在于,所述客户端发送的兴趣包包括:所述 客户端本地未获取流媒体数据的任何数据块时的不包含编码系数的兴趣包、以及所述客户 端本地已获取流媒体数据的部分数据块时的包含有已接收到的编码系数的兴趣包。
7. 如权利要求1-6任一项所述的流媒体系统,其特征在于,所述服务器端还包括路由 节点(40),所述路由节点用于转发信息中心网络中的兴趣包或数据包,还用于为其它路由 节点提供本地缓存的网络编码后的流媒体数据。
8. -种如权利要求7所述的流媒体系统的使用方法,其特征在于,包括: 所述路由节点接收来自所述客户端发送的到信息中心网络中请求流媒体数据的兴趣 包,所述兴趣包为所述客户端本地未获取流媒体数据的任何数据块时的不包含编码系数的 兴趣包或者为所述客户端本地已获取流媒体数据的部分数据块时的包含有已接收到的编 码系数的兴趣包; 所述路由节点在接收到所述兴趣包后,执行正常的信息中心网络下的处理流程,并根 据所述兴趣包的内容名字字段确定数据包的处理。
9. 如权利要求8所述的方法,其特征在于,所述根据所述兴趣包的内容名字字段确定 数据包的处理这一步骤包括: 所述路由节点对接收到的兴趣包的内容名字字段进行解析,得到兴趣包中的编码系 数,并查找本地内容缓存中是否存在与所述内容名字字段匹配且与所述编码系数独立的数 据包,如果存在则将所述数据包发送给所述客户端,否则转发所述兴趣包。
10. 如权利要求8所述的方法,其特征在于,还包括: 所述路由节点接收来自所述服务器端的数据包,对接收到的数据包的内容名字字段进 行解析,得到数据包中的编码系数,并查找本地内容缓存中是否存在与所述内容名字字段 匹配且与所述编码系数相关的数据包,如果存在则丢弃所述数据包,否则转发并缓存所述 数据包。
【文档编号】H04L29/06GK104113545SQ201410345816
【公开日】2014年10月22日 申请日期:2014年7月21日 优先权日:2014年7月21日
【发明者】雷凯, 袁杰, 彭程 申请人:北京大学深圳研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1