NDN/CCN中针对自治域内视频业务预先发布方法与流程

文档序号:12279785阅读:319来源:国知局
NDN/CCN中针对自治域内视频业务预先发布方法与流程

本发明属于互联网通信技术领域,涉及一种NDN/CCN中针对自治域内视频业务预先发布方法。



背景技术:

随着互联网技术的发展,用户的需求发生变化,通信方式发生改变,由传统的端到端的通信方式向内容的共享,资源获取转变,内容化是互联网发展的趋势。这样的发展趋势使传统的TCP/IP网络体系架构面临着严峻的挑战,阻碍互联网的发展,无法满足人们的需求。研究者为了打破传统互联网TCP/IP结构的束缚,设计一种全新的互联网架构以彻底解决当前网络架构暴漏出的问题。其中,命名数据网络(NamedDataNetworking,NDN)/内容中心网络(Content CentricNetworking,CCN)为当前全新互联网架构中最具代表性和发展前景。NDN/CCN与传统的TCP/IP网络最根本的不同在于IP网络以IP地址为核心,关注的内容在哪,而NDN/CCN以内容本身为核心,关注内容是什么。在NDN/CCN中,每个内容具有唯一的名字,数据通过名字进行路由。NDN/CCN另一显著特点是网内节点缓存,即网内节点可以较长时间的缓存请求的数据,以满足不同用户的相同请求。网内缓存降低用户的访问时延,减轻服务器的负担,提高网络性能,改善用户体验发挥重要作用。NDN/CCN中有两种包的类型:兴趣包(Interest Packet)和数据包(Data Packet)。在NDN/CCN节点内添加内容存储库(Content Store,CS)、未决请求表(Pending Interest Table,PIT)和转发信息库(Forwarding Information Base,FIB)数据结构,其中CS的功能为数据存储,PIT的功能是记录兴趣包向上游节点转发时的转发接口,FIB的功能将兴趣包转发到可能匹配该请求的潜在数据源。

就目前而言,NDN/CCN的数据的请求方式是基于客户端驱动。客户端通过发送携带内容名字的Interest进行数据的请求。Interest到达节点,首先查看CS中是否缓存数据,如果缓存在直接将数据转发,否则查看PIT是否有待满足的相同的请求,如果有,直接添加接口,丢弃兴趣,等待数据的到达,如果没有,则查看FIB,如果有,则按接口转发兴趣包,否则丢弃兴趣或者洪泛。数据包按兴趣包的请求路径原来返回到客户端。在网络中的众多业务中,视频业务占据重要位置。视频业务对时延敏感,NDN/CCN中这种请求方式对于视频业务而言可能存在较长的时延,视频播放时存在不连续等现象,较差的用户体验,无法满足用户的需求。文献(Lim S H,Ko Y B,et al.“Inter-chunk popularity-based edge-first caching in content-centric networking”,Cheonan.Korea,2014,18(8):1331-1334.)根据用户对视频数据请求特点,提出的一种CCN中针对视频数据的缓存机制,该机制主要考虑针对一段视频数据用户对其请求的分析,该策略认为用户一般对前段数据的请求量较大,所以在考虑放置的时候只简单的将视频序列的前段数据放置在靠近用户的边缘节点。该缓存策略在实现的过程中,只是单纯的将流行视频的前段数据放置到用户的边缘节点,但缓存到该用户边缘节点的较流行的视频文件并不一定对当前用户群体是流行的。文献(Kim K,Choi S,Kim S,et al.“A push-enabling scheme for live streaming system in content-centric networking”,Santa Barbara.CA.USA,2013:49-52)针对直播视频系统提出的一种Push机制的请求机制,该机制主要是先通过用户发送以特殊的视频数据请求包,然后服务端返回确认包,待服务端产生用户需要的数据时,服务端会主动将数据按用户发送特殊请求包的请求链路转发到客户端。该机制是针对直播视频提出的一种Push机制进行数据的获取。该机制主要是针对直播视频,并且在该机制中,没有体现用户的自主性,当用户下线或者不希望请求当前数据时,数据仍旧主动的推送到客户端,造成垃圾数据,并且浪费带宽。

针对上述NDN/CCN中视频数据提出的缓存策略或者数据获取的机制,在某些情况下提高了网络性能,改善了用户体验,但是并没有考虑视频数据流行度区域划分,即在网络中流行的视频数据对某些用户群体是较流行的或者不太流行的,本发明充分考虑了自治域内用户的请求情况,缓存自治域内用户真正欲请求的数据。在数据的获取方式上,上述提出的策略丢失客户端的自主性,并且数据的推送不灵活。本发明以自治域内用户的历史请求信息为依据,利用链路空闲期,将自治域内用户下周期欲请求的数据推送到自治域内缓存,满足用户请求。



技术实现要素:

有鉴于此,本发明的目的在于提供一种NDN/CCN中针对自治域内视频业务预先发布方法,该方法在完善NDN/CCN的普适性的基础上,实现NDN/CCN中视频业务预先发布,利用用户请求视频数据连续性特点,在请求未发出之前,通过自治域内的Information Manager(IM)收集域内用户的历史请求记录,域内IM提取用户请求信息,将访问量大于系统设定阈值Thld的视频文件请求信息以请求包的形式通告服务端。服务端通过IM发送的请求包获取推送目标数据,并利用网络链路空闲期(比如凌晨时段),主动推送到自治域。

为达到上述目的,本发明提供如下技术方案:

一种NDN/CCN中针对自治域内视频业务预先发布方法,该方法通过自治域内IM(Information Manager)对域内用户在一周期内请求视频数据的历史信息进行统计,确定服务器推送内容,IM周期性的将域内用户下周期感兴趣的数据信息通告服务端,服务端在网络链路空闲期,将用户下周期感兴趣的视频数据预先发布至自治域缓存节点;具体包括以下步骤:

S1:自治域内缓存节点集的选取;

S2:自治域IM(Information Manager)对域内用户历史请求信息的发布;

S3:预先路径的建立;

S4:服务器对数据的预先发布。

进一步,在步骤S1中,所述自治域内缓存节点集的选取具体包括:在考虑缓存节点的选取时,为了减少内容在一个自治域的冗余度,使选择的节点尽可能服务较多的用户作为出发点,缓存节点集不考虑边缘节点;在此基础上,选择缓存节点集遵循两个原则:一是能够服务所有用户的前提下,能够使节点集的元素数目最少的同时,自治域内所有预测需要该内容的边缘节点到节点集的最小跳数之和最小;二是在同时满足前一原则前提下,选取满足负载均衡缓存节点集,负载均衡即选取的节点服务的用户量是均衡的。

进一步,在步骤S2中,所述自治域IM(Information Manager)对域内用户历史请求信息的发布具体包括以下步骤:

1)自治域内用户对某一文件进行请求,用户发送Interest,在用户发送请求的过程中,Information Manager(IM)作为自治域内信息管理层(Information Manage Layer,IML)用来收集统计一周期内自治域内用户的历史请求情况;例如,用户对每天更新两集的热播电视剧进行请求,这里以天为周期,IM在一周期内统计用户对该视频文件的访问量,下周期视频文件起始I帧对应的时间戳和访问时长;

2)随着自治域内用户的不断请求,IM将实时的收集用户的请求信息,并将信息统计分析;

3)一周期内自治域内用户请求信息更新完毕,IM将访问量大于系统预先设置的阈值Thld的视频文件信息以信息包的形式通告服务端,并且信息包包含上述1)信息。

进一步,在步骤S3中,所述预先路径的建立指在服务器与自治域之间预先建立路径,实现服务器推送数据的工作,预先路径的建立方法具体步骤如下;

1)在建立路径之前,需要完成自治域内缓存节点集的选取;

2)选取的节点与欲推送的内容之间存在一定的匹配关系,根据选取节点所服务用户的访问情况统计,实现节点自适应性的缓存推送的内容;该节点通过服务用户周期内的请求情况,同时结合IM决策即自治域内推送的视频内容,建立对应内容的路径;

3)选取的节点向服务端发送通告包,告知服务器该路径是通往本自治域的路径;其中节点发送的通告包以节点欲缓存推送内容名字命名,当通告包到达上游节点时,将通告包对应的条目添加到PIT中,并设置该PIT条目生命周期;

4)通过该路径上节点内添加的PIT条目来提供主动推送的数据到自治域内的路径。

进一步,在步骤S4中,所述服务器对数据的预先发布包括以下步骤:

1)服务器收到自治域IM发送的通告信息包,服务端获取不同文件的用户访问量所占比,下周期用户欲请求视频文件的播放点对应的时间戳和文件的推送长度,即访问时长;

2)根据预先选取的缓存节点以及预先建立的路径,在链路空闲期,服务器根据自治域内用户对不同文件的访问量的大小顺序,进行视频文件的推送;

3)对推送的数据进行名字前缀路由转发到域内的缓存节点内。

本发明的有益效果在于:本发明主要考虑NDN/CCN中针对自治域内视频业务,实现域内用户对数据的获取有更好的体验而采用一种预先发布的机制。为实现预先发布机制,需要自治域通过Information Manager(IM)收集域内用户的历史请求信息,通过用户的请求习惯,服务端有计划的将用户欲请求的数据主动推送到自治域内,使用户更加有效率的获取数据。这样的主动推送数据的请求方式在一定程度上改变了原NDN/CCN的请求方式,更加适合视频业务的传输,完善的NDN/CCN的普适性。并且在域内用户还是通过发送Interest来获得Data,没有改变用户的自主性。NDN/CCN中针对自治域内视频业务预先发布机制完善了NDN/CCN的普适性,降低用户的请求时延,提高用户获取数据体验。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为本发明中预先链路建立流程图;

图2为本发明中服务端主动转发的数据包处理流程图;

图3为本发明的整体流程图;

图4为系统示意图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

本发明的目的在于提出一种NDN/CCN中针对自治域内视频业务预先发布方法,该方法在完善NDN/CCN的普适性的基础上,实现NDN/CCN中视频业务预先发布,利用用户请求视频数据连续性特点,在请求未发出之前,通过自治域内的Information Manager(IM)收集域内用户的历史请求记录,域内IM提取用户请求信息,将访问量大于系统设定阈值Thld的视频文件请求信息以请求包的形式通告服务端。服务端通过IM发送的请求包获取推送目标数据,并利用网络链路空闲期(比如凌晨时段),主动推送到自治域。例如:自治域用户对一天更新两集的电视剧进行访问,第一周期访问第一、二集,自治域IM通过统计周期内自治域内用户对该电视剧的访问量,发现该电视剧很流行,预测该电视剧还没有播放第三、四集下周期被请求的概率很大,故在用户未发出请求之前,实现预先发布视频数据。将第三集的开始作为推送视频文件的起始点;将第三、四两集作为视频文件的推送时长,利用网络空闲期将内容主动推送至自治域节点缓存。NDN/CCN是基于客户端驱动的,即客户端发送兴趣包获取数据,NDN/CCN中是通过内容名字路由,数据包按兴趣包的请求路径原路返回到客户端。本发明通过预先建立自治域和服务器之间的路径,通过该路径实现服务器对数据的主动推送。一般情况下,在自治域内,节点的位置是固定不变的。本发明实现将数据推送至预先选取的节点内进行缓存,自治域节点通过对服务器主动推送数据的缓存来满足域内用户下周期的请求,从而实现降低用户的请求时延,提高用户获取数据体验。

本发明所述的方法大体有五部分组成,基于节点数和最小跳数的自治域内缓存节点集的选取、基于节点自适应性的预先路径的建立、基于用户请求习惯的自治域内IM信息收集统计、基于用户请求分布的节点集的空间分配及服务器对数据的预先发布。缓存节点集的选取即需要选择合适的节点进行对主动推送数据的缓存,实现较小的网络代价的前提下,服务域内所有用户。预先路径的建立即作为预先发布数据的转发路径。IM收集统计用户历史请求信息为服务端的主动推送提供依据。缓存节点空间分配,即对用户的请求分布及普通数据访问加以考虑,实现节点的缓存更加灵活。服务器对数据的预先发布,即服务器根据域内IM发布的通告信息实现视频数据的预先发布,从而实现本发明预先发布视频数据的机制,降低用户的访问时延,改善用户获取数据体验。

因此,为实现专利预先发布数据机制,具体内容如下:

自治域内缓存节点集的选取,选取的节点将作为服务器主动推送的数据的缓存节点。该节点集也是将与服务器预先建立链路的节点:

本发明在实现缓存节点集的选取时,主要用来缓存视频文件的访问量大于系统阈值的内容,所以,利用缓存节点集去缓存的内容在自治域内具有较大的请求频率,较密集的请求分布。为了减少内容在自治域内的冗余度,使内容尽可能的服务较多的用户,边缘节点将不作为缓存节点集的候选节点。再次基础上考虑缓存节点的选取。具体实现遵循以下原则;边缘节点到各自缓存节点的跳数之和最小的同时缓存节点的个数最少。

考虑网络拓扑随机性,缓存节点集的节点个数为1的不给予考虑。存在集合M为自治域边缘节点集,集合N为缓存节点的候选节点集,其中边缘节点集M随着缓存节点集元素个数的增加,不同的缓存集节点将服务不相交的边缘节点集子集。选取缓存节点的流程:

(1)从自治域内的节点中选取一个节点作为缓存节点集节点,使得所有边缘节点到该节点的跳数之和最小,如公式1所示,设所选取的节点为i1

(2)自治域缓存节点集的节点个数增加1,缓存节点集节点分别服务不相同的边缘节点,并且使得所有边缘节点到各自缓存节点的跳数之和最小,如公式2所示,设增加的节点为i2

(3)计算增加一个缓存节点节省跳数,如图公式3所示,以此作为增加缓存节点个数的依据,即增加下一个缓存节点时,需满足节省的跳数大于等于该值,否则终止缓存节点的选取。

(4)当增加不同的节点作为缓存节点时能够节省相同的跳数的情况时,则考虑负载均衡原则。负载均衡利用节点服务用户量的标准差δ来衡量,如公式4所示;继续节点的选取的一般式如公式5所示;

其中,N代表非边缘节点集合,M代表边缘节点集合;j1∈P={p1,p2,....,po};j2∈Q={q1,q2,....,qo};P∪Q=M,i1,i2∈N,i1≠i2

Δhop=hopn+1-hopn (3)

其中,表示缓存集内所有节点服务的平均用户量。N表示欲选取缓存集节点的个数,mi表示距离节点i最近的用户量

其中,j1∈P={p1,p2,....,po};j2∈Q={q1,q2,....,qo};jn∈Z={z1,z2,....,zo};P∪Q∪...∪Z=M,i1≠i2≠…≠in

自治域内缓存节点与服务器之间路径的建立:

在NDN/CCN中,数据依据兴趣包的请求路径将数据返回客户端。在本专利中为了实现服务端主动推送数据至自治域内,需要为自治域和服务器之间预先建立路径使推送数据到达自治域缓存节点。服务器通过自治域IM通告的信息包得知将要推送的内容,对于自治域内缓存空间有限的缓存节点缓存什么内容才可以发挥节点的最大价值,即欲推送内容与缓存节点间存在“匹配”关系。本专利利用缓存节点的自适应性,根据节点服务不同用户的访问情况,将对用户最有价值的内容进行缓存。欲推送内容与缓存节点之间“匹配”关系的建立:

首先,统计不同缓存节点服务不同的用户群体内容的访问情况,这里群体的划分是同寻找缓存节点时一致的,即每个群体对应的边缘节点到对应缓存节点的跳数之和最小。

其次,设置缓存节点阈值Thldi,该阈值由IM确定推送内容的访问阈值以及该节点服务用户的数量占自治域总用户量的比值确定,如公式(6)所示;当服务端接收到自治域IM发送的信息包,自治域IM也将欲推送内容的名字信息通告本域内的缓存节点。

其中,Acounti为缓存节点i服务的用户量,Acount为自治域总用户量,Thld为系统阈值

进一步,根据第一步中用户访问情况,以及第二步缓存节点接收的推送内容信息,判断大于对应节点阈值Thldi的内容是否在推送内容集合中,如果在,建立属于该内容的路径,并向IM返回对应内容路径建立信息。

最后,对于没有满足缓存节点阈值的内容,但该内容在推送内容的集合中,为了实现推送内容在自治域内至少存在一个副本,由该类缓存节点发送携带有该类内容名字以及对应节点将要缓存推送内容的种类数量的信息包至自治域IM,判断该内容是否有缓存节点为其建立路径,如果有,则直接将该信息包丢弃,如果没有,因为该内容在该自治域访问量较大,肯定有其他节点也发送该类信息包。比较信息包里携带的内容种类数量值,将内容种类最少的信息包对应的节点作为该类内容的缓存节点,并建立对应内容的路径。

路径具体建立的方式:1)首先在自治域内选取将要缓存服务器主动推送的数据的缓存节点集,具体步骤如上缓存节点选取方法。2)选取的节点与欲推送的内容之间建立“匹配关系”3)“匹配”关系建立之后,选取的节点将向服务器发送通告包,以节点欲缓存内容的名字进行命名,在上游节点的PIT中添加包含该信息的条目,并设置PIT的生命周期。4)当通告包到达服务器,服务器主动推送数据时,视频数据按照该路径转发数据。其具体流程如图1所示;

自治域IM对域内用户的请求信息的收集发布:

本专利通过自主域内的IM收集域内用户的请求信息,将满足访问量大于系统阈值Thld的视频文件信息以信息包的形式通告服务端,实现数据的预先发布。自治域内用户发送兴趣包请求数据,Information Manager(IM)作为自治域内信息管理层(Information Manage Layer,IML)用来收集并统计域内用户历史请求信息,主要有自治域内用户请求视频文件的访问量,访问时间以及对应下周期开始访问帧的时间戳。在周期内,用户在不同的时间点发送interest包请求视频数据,例如:用户在对一部热播电视剧访问,IM统计一周期内自治域内用户对该电视剧的访问情况,IM收集完毕上述信息,将以信息包的形式通告服务端需推送的视频文件的信息。如果该热播电视剧一天更新两集,则用户每天对该视频文件的访问时长最长为两集,并且服务端将从该剧的第三集起始帧对应的时间点开始推送下周期数据,由于每天更新两集,故推送视频时长为三、四两集。

缓存节点的空间分配方式:

由于域内用来缓存服务器主动推送的节点在拓扑确定后已选好,那么此刻根据用户的请求分布情况,实现选取节点空间分配,即分配多大的空间来缓存主动推送的数据。服务端预先发布的信息将被缓存到选取的节点内。为了满足其他用户对其他数据的需求,以及用户请求分布情况,赋予缓存集内节点可调节空间分配权重因子w1,w2,分别表示服务器预先发布信息所占节点的空间比重和其他数据所在节点的空间比重,其中w1和w2的关系如公式(7)所示;根据节点欲缓存内容的种类选取w1的大小,当节点欲缓存内容的种类越多时w1越大。

w1+w2=1 (7)

其中w1∈(0,1],w2∈[0,1)

服务器对数据的预先发布,具体步骤如下;

(1)服务器收到自治域IM发送的通告信息,服务端通过分析该信息,获取下周期用户欲请求数据的起始点,以及不同文件的推送长度。

(2)服务器将数据按视频文件的用户的访问量的大小顺序进行数据的推送。

(3)利用链路空闲期将数据转发。(如凌晨时段)。

(4)数据传输过程中,查看PIT,是否存在内容名字前缀对应的PIT条目,如果存在,只进行名字前缀匹配,并按接口转发,对主动推送的数据进行缓存。数据预先发布流程如图2所示;

下面将结合附图3将本发明实现数据预先的整体流程进行说明:

Step1:自治域内用户发送Interest,Interest对节点数据结构(CS,PIT,FIB)进行查找访问,若数据缓存在自治域内,则在自治域内命中,否则请求至域外。

Step2:随着域内用户在周期内不断发送请求,域内IM实时的收集更新用户在这一周期内的历史请求信息。

Step3:IM收集的信息不再更新,则IM将域内用户下周期需要请求的数据通告服务器。

Step4:服务器分析IM发布的通告信息,获取欲转发的数据信息。

Step5:利用预先建立的链路转态处于较空闲期将数据推送到自治域内预先选取的缓存节点进行数据的缓存。

Step6:用户发送下周期的兴趣,根据Step2-Step6,用户请求的数据已在自治域内缓存,请求在自治域内命中。并判断文件请求周期是否结束,如果没有,则继续Step2-Step6,实现下周期数据的推送工作。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其做出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

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