一种视频点播方法、系统、代理节点及媒体服务器的制作方法

文档序号:7862671阅读:158来源:国知局
专利名称:一种视频点播方法、系统、代理节点及媒体服务器的制作方法
技术领域
本发明涉及视频点播技术领域,特别涉及一种视频点播方法、系统、代理节点及媒体服务器。
背景技术
移动Ad-hoc网络是一个高度灵活且具有自组织功能的网络。在移动Ad-hoc网络中,用户节点能够在不需要任何接入设备的支持下通过节点之间协作实现多跳通信。流媒体应用能够为用户提供丰富的多媒体内容,从而在Internet中获得了广泛的应用。P2P技术及其分布式自组织特点为流媒体应用的大规模部署提供了成功解决方案。有鉴于P2P技术在基于互联网的流媒体服务的成功应用,移动P2P网络已经成为在移动Ad-hoc网络中部署视频点播服务的有效的解决方案,且已受到国内外学者的广泛关注。视频点播服务不同于视频直播服务,主要区别在于:视频点播服务能够为用户在观看视频过程中提供了一种交互式体验。用户能够根据自身的兴趣实施跳转操作,从而提高用户的体验效果。因此,及时响应用户的交互式播放行为能够减少因用户的随机跳转而产生的响应延时,从而提高服务质量(QoS)。在视频点播系统中,实现及时响应用户的跳转操作主要依赖于用户请求资源查找,也就是说,视频点播系统在收到用户的跳转请求后需要为用户快速查找包含用户请求资源的用户节点。由于用户的播放行为与蚂蚁觅食过程非常相似,即用户总是希望快速获取热点内容,因此,利用蚁群算法为已有历史播放日志建模并预测用户的未来的播放行为,能够支持快速的资源查找与调整资源的分配。在现有的视频点播系统中,SURFNet和VMesh都是经典的解决案例。SURFNet选择了一些在线时间较长的节点构建了一个AVL树结构,其中,AVL树中的每一个节点都保存了一段长度较大的视频片段。AVL树外的节点中存储的资源内容若与AVL树中的节点存储的资源相同,则该节点连接至AVL树中的节点,那么这些AVL树外的节点构成了 一个节点列表。如果任一节点请求变更当前播放点的内容时,则从当前节点列表及AVL树中查询所需的资源。然而,节点列表及AVL树都需要视频点播系统来维护。这种高昂的维护成本会降低系统的可扩展性及健壮性。VMesh将含有资源的节点构建成为一个Chord结构,并且每个节点均维护了三个节点列表,即与节点当前播放内容相同的节点所组成的列表以及与节点当前播放内容前后邻近内容的节点所组成列表。当任一节点请求变更当前播放点的内容时,该节点从三个节点列表及Chord结构中查询所需资源。然而,VMesh与SURFNet拥有近似的缺陷,即维护节点列表及Chord结构会带来大量的维护负载,从而降低了系统的可扩展性及健壮性。在实现本发明的过程中,发明人发现现有技术至少存在以下问题:现有的视频点播系统都不能够支持快速的资源供应者的查找以及自我优化,系统的健壮性和可扩展性存在一定的问题,不能很好的保证用户节点接入系统后顺利的获取需要的视频资源。现有技术中,移动ad-hoc网络下尚没有一种安全可靠的P2P-VoD解决方案。

发明内容
为了解决现有技术的问题,本发明实施例提供了一种视频点播方法、系统、代理节点及媒体服务器。所述技术方案如下:一种视频点播方法,所述方法包括:用户节点向媒体服务器请求资源;媒体服务器将与所述用户节点位置最近且含有所述资源的节点作为资源提供者节点,并将所述资源提供者节点的信息返回给用户节点;用户节点与资源提供者节点建立连接,接收资源提供者节点发送的资源并进行播放。所述媒体服务器将与所述用户节点位置最近且含有所述资源的节点作为资源提供者节点,并将所述资源提供者节点的信息返回给用户节点,包括:媒体服务器将用户节点映射到所述资源对应的网格区域中,并将用户节点的资源请求发送给所述网格区域的代理节点;所述代理节点将播放位置最近且含有所述资源的节点作为资源提供者节点,并将所述资源提供者节点的信息返回给用户节点。每个所述网格区域对应一个所述资源分割而成的视频资源块;每个网格区域有一个代理节点,用以维护所述网格区域中所有节点的列表,根据用户节点的请求,为用户节点分配资源提供者节点,并将用户节点加入网格区域。所述方法还包括:当所述用户节点跳转时,向所属网格区域的代理节点发送请求;所述代理节点将所述请求发送给跳转目的网格区域的代理节点;所述跳转目的网格区域的代理节点选择资源提供者节点,并将资源提供者节点的信息返回给用户节点,并将用户节点加入所述网格区域;用户节点与资源提供者节点建立连接,获取资源并进行播放。所述跳转包括近端跳转和远端跳转,包括:所述近端跳转为用户节点在相邻的网格区域之间的跳转,通过每个网格区域与相邻的网格区域建立的静态接口进行;所述远端跳转为用户节点在不相邻的网格区域之间的跳转,通过不相邻的网格区域之间临时建立的动态接口进行;所述动态接口根据多个用户节点从本网格区域跳转到目标网格区域的概率来建立。所述方法还包括:建立所述动态接口包括如下步骤:当前网格区域的代理节点向与目标网格区域距离最近的网格区域的代理节点发送请求消息;所述距离最近的网格区域的代理节点向与目标网格区域距离最近的网格区域的代理节点转发请求消息;以此类推,直到请求消息转发到目标网格区域的代理节点;
目标网格区域的代理节点与当前网格区域的代理节点互相存储对方信息,建立当前网格区域与目标网格区域的动态接口。所述方法还包括:当所述网格区域的代理节点离开网格区域时,根据用户播放视频的兴趣度在本网格区域节点中选取新的代理节点并将所维护的网格区域的信息发送给新的代理节点;所述用户播放视频的兴趣度包括但不限于平均跳转权重比、平均点播时间比和在当前网格区域中的在线时间;代理节点将新的代理节点的信息与资源信息一同发送给与其连接的用户节点;用户节点将新的代理节点的信息保存并随同资源信息一同发送给与其连接的其它用户节点;以此类推,直到网格区域内所有用户节点都收到新的代理节点信息。所述方法还包括:当用户节点无法从其它的用户节点处获取资源时,由媒体服务器为所述用户节点提供资源,并继续为所述用户节点寻找新的资源提供者节点。一种视频点播系统,所述系统包括用户节点和媒体服务器,其中,所述用户节点能够互相提供所需要的视频资源;所述用户节点在向所述媒体服务器请求资源后,被映射到由多个用户节点构成的网格空间中;所述网格空间包括多个网格区域,每个网格区域对应所述视频资源分割而成的一个视频资源块,每个请求和播放所述视频资源块的用户节点都被映射到所述网格区域;所述媒体服务器用于存储视频资源,接收用户节点的资源请求,将用户节点的资源请求转发给相应的网格区域的用户节点。所述系统还包括代理节点,其中,每个所述代理节点维护所属网格区域的用户节点信息,为请求相应视频资源块的用户节点分配资源提供者节点。一种代理节点,所述代理节点包括资源分配单元和节点维护单元,其中,所述资源分配单元,用于根据用户节点的请求,为用户节点分配播放位置最近且含有所述资源的资源提供者节点;所述节点维护单元,用于维护所属网格区域内所有用户节点的信息。所述代理节点还包括接口维护单元,用于维护所属网格区域与其它网格区域之间的静态接口和动态接口。所述代理节点还包括跳转单元,用于在代理节点跳转时,根据用户播放视频的兴趣度在本网格区域节点中选取新的代理节点并将所维护的网格区域的信息发送给新的代理节点。一种媒体服务器,所述媒体服务器包括资源存储单元和资源请求单元,其中,所述资源存储单元,用于存储视频资源;所述资源请求单元,用于接收用户节点的资源请求,转发给相应的网格区域的代理节点。所述媒体服务器还包括用户节点维护单元,用于维护用户节点的IP地址信息、力口入系统的时间和所需播放的视频资源块在视频中的位置信息。本发明实施例提供的技术方案带来的有益效果是:
通过基于网格空间的视频点播,用户节点通过媒体服务器接入系统,并根据所请求的资源被映射到一个网格区域中,从该网格区域中选取距离用户节点最近的节点作为资源提供者节点,与用户节点连接并向用户节点发送资源用以播放。本发明实施例中,媒体服务器仅仅作为用户节点与网格区域的接口和初始视频数据的提供者。在媒体服务器端的负载被大大降低,从而提高了系统的可扩展性与健壮性。进一步的,网格区域的代理节点管理网格区域内其它的普通节点,能够为请求用户节点快速分配一个含有请求资源的节点作为其资源提供者节点为该请求节点提供视频服务,从而减少了用户的等待时延。网格区域代理节点的更替机制能够将管理网格区域内普通用户节点的负载均衡分配到网格区域内其它用户节点上,从而降低了代理节点的负载。进一步的,为用户节点播放点的跳转行为进行建模,将跳转特性(跳转方向与距离)与用户节点在线时间作为建模参数,从而精确地评估当前网格区域内用户节点跳转至其它区域的概率。并且,每个网格区域均可建立与其它网格区域的路径,从而能够较为准确地预测用户节点需要预取的视频内容,并为其找到相应的资源,缓解了用户操作引起的网络及服务器负载高,等待延时大等问题。进一步的,利用基于P2P的视频服务的特性,即资源提供者与资源接收者之间的关系,网格区域的代理节点从网格区域的普通用户节点中选择若干个用户节点作为“消息代理”,“消息代理”将网格区域代理节点的更替消息及相邻网格区域的代理节点更替信息附加至资源数据中并传送至其资源接收者用户节点,由该资源接收者用户节点以同样方式传送至其资源接收者用户节点,从而大大减少了代理节点所需要发送的消息数量和负载。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例一提供的视频播放方法流程图;图2是本发明实施例二提供的视频播放系统结构示意图;图3是本发明实施例三提供的代理节点结构示意图;图4是本发明实施例四提供的媒体服务器结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例一如图1所示,为本发明实施例提供的视频点播方法流程示意图,具体如下:步骤11,用户节点向媒体服务器请求资源。本实施例中,用户节点即为普通节点(移动节点),用户通过普通节点来获取视频资源并进行播放。用户节点可以是用户的个人电脑或者其它可以接入网络实现视频播放的设备。根据P2P网络特性,每个用户节点都可以与其它的用户节点建立连接,并共享自身拥有的视频信息。每个用户节点也可以从其它用户节点哪里获取自己需要的视频信息内容,用以播放。具体的算法可以参照移动Ad-hoc网络以及P2P网络的基本原理,为现有技术中的公知技术,此处不赘述。本实施例中,用户节点通过媒体服务器接入网络,并向媒体服务器请求所需要的视频资源。用户节点首先接入媒体服务器,并向媒体服务器请求资源。步骤12,媒体服务器将与该用户节点位置最近且含有资源的节点作为资源提供者节点,并将资源提供者节点的信息返回给用户节点。媒体服务器在接收到用户节点的请求后,需要在自身维护的用户节点信息中寻找与请求的资源播放位置最近且含有该资源的节点作为资源提供者节点,并将资源提供者节点的信息返回给用户节点。当一个用户节点Iiodei请求视频资源时,Iiodei向媒体服务器发送资源请求消息。媒体服务器为Iiodei分配一个含有请求资源的初始资源供应者。这样,用户节点就获取到了资源提供者节点的信息。实际上,本实施例中,媒体服务器主要负责两方面的工作,其中一个方面即是存储所有的视频资源,当请求节点无法从在网格空间中找到对应的资源提供者时,该请求节点可以向媒体服务器提出服务请求。另一个方面,媒体服务器充当用户节点和网格区域的接口。当Iiodei与资源供应者连接成功时,Mdei同时收到流媒体数据和Regj中代理节点的IP地址。Iiodei将注册请求信息发送到代理节点并由该代理节点保存Iiodei的信息,从而Iiodei完成在网格空间区域中的映射及注册。媒体服务器需要维护一个节点列表O ,〃:,...,〃,」。当一个用户节点nodej#求资源时,媒体服务器收到Iiodei的请求消息后,媒体服务器就将Iiodei加入到列表Que中,Que中任意元素η。由三元数组表示,即"‘ O^pQ,其中IP。是n。的IP地址,etc和Pt。是用户节点η。加入系统的时间和所需播放的视频块在视频中的位置。媒体服务器不维护Que中每个节点的实时播放 状态,因为维护节点实时的播放状态会带来较大的负载,从而降低系统的可扩展性。我们定义Que中元素η。的状态:
用 scTime -etc<nx Ien - ptc [^、可用 scTime -etc>nx Ien - ptc其中nX Ien表示所需视频的总长度,scTime是媒体服务器端系统的当前时间,scTime-etc<nX len-ptc表示η。的播放位置属于视频范围内,因此节点η。可以为其它节点提供流媒体服务。scTime-et。^ nX len_pt。表示η。的播放点超出视频范围内,需要将η。从Que中移除。由于媒体服务器无法负载由维护每一个节点实时播放状态所引起的开销,因此将Que中元素都默认为执行的是连续播放状态。当节点Iiidei向服务器发送资源请求时,媒体服务器首先查找与Iiidei播放位置最近且含有该资源的节点作为Iiidei资源提供者,媒体服务器将这些资源提供者返回至nidei。如果媒体服务器无法为Iiidei从Que中查找出合适的资源提供者,或者返回给Iiidei的资源提供者无法为Iiidei提供请求的资源时,媒体服务器为Hidei的直接传输所需的视频资源数据,同时继续为Iiidei寻找新的资源提供者,当媒体服务器为Iiidei查找到合适的资源提供者时,收到媒体服务器发送的资源提供者时并从资源提供者获取视频资源数据。也就是说,媒体服务器需要将用户节点映射到资源对应的网格区域中,并将用户节点的资源请求发送给网格区域的代理节点;代理节点将播放位置最近且含有资源的节点作为资源提供者节点,并将所述资源提供者节点的信息返回给用户节点。这里的网格区域,是网格空间中的一个区域,每个网格区域对应一个媒体视频资源分割而成的视频资源块;每个网格区域有一个代理节点,用以维护所述网格区域中所有节点的列表,根据用户节点的请求,为用户节点分配资源提供者节点,并将用户节点加入网格区域。网格空间建立用户节点与其请求视频资源之间的映射关系,即一个用户节点若请求视频资源,则该节点被映射到网格空间中对应的区域。每一个网格区域与视频资源块之间拥有一对一的对应关系,当任意节点的播放位置落在网格区域内时,在区域和之间就存在一个对应关系,通过二维数组来表示这个关系,即其中是第X个视频块,表示Regx中含有的节点构成的节点列表,其中任意Iiodei用一元数组.》(_〃丨)表示,它包含了节点的IP地址。Regx由区域代理节点维护。进一步的,由于用户的视频播放位置是动态变化的,则Iiidei从当前网格区域移动到另一个区域。用跳转距离定义节点的两种跳转行为,即跳转距离是当前区域编号到跳转目标区域编号之差,计算公式如下:dis (nodej) =Current Reg (nodej) -TargetReg (nodej)其中Current Reg和TargetReg被用来计算Iiidei的当前区域和目标区域的编号。跳转可分为近端跳转和远端跳转。如果I dis I为O或Lnidei的跳转就被认为是近端跳转。Iiidei将从当前区域向前一个或者下一个区域中移动。如果|dis|彡2,则nide^为远端跳转。Hidei的每一次跳转会带来以下两个问题:(1)当前Iiidei的资源提供者已经无法满足Iiidei的资源需求,Hidei需要重新获取新的资源提供者为其提供服务。(2) Iiidei从当前网格区域被映射到另一个网格区域,Hidei需要向新区域的代理节点注册自己的节点信息。为了解决上述问题,我们在任意两个区域之间都建立了一个“路径”接口关系来支持节点的跳转。当Regx与Regy之间建立了接口关系时,Regx的代理节点就存储Regy的代理节点的信息。如果Iiidei从Regx跳转到Regy, Iiidei就把跳转请求信息发送给Regx的代理节点,Regx的代理节点再通过接口将信息发送给Regy的代理节点。当Regy的代理节点收到请求消息后,则从列表nlisty中选择一个资源供应者并返回至Iiidei,并将nWei加入到nlisty,从而完成Iiidei在新网格区域进行注册。同时,Regx的代理节点将Iiidei从nlistx中删除。如果把Regx与所有其他的η-l个网格区域都建立接口连接关系,那么随着η的增力口,这些接口间的维护代价将会非常大。因此我们根据Iiidei的跳转情况定义了如下两种接口:(I)静态接口。任何网格区域都要与其前后相邻的网格区域建立静态接口。静态接口将每个区域相联。建立静态接口是为了支持近端跳转,并确保节点可以根据这些静态接口转发的请求消息访问任何网格区域。同时我们定义静态接口不能被删除。(2)动态接口。若一个网格区域需要与其他η-2 (当前区域以及前后区域)个区域建立接口时,则该区域需 要通过动态接口来与这些区域建立“路径”。建立动态接口是为了支持节点远端跳转,从而支持资源供应者的快速查找。若通过静态接口来支持远端跳转,其转发请求消息和请求响应延迟将会显著增加。对此,本实施例采用一种基于蚁群算法的动态接口维护策略,同时规定任何动态接口都能创建和删除。Regx需要二元组转化为三元组来存储静态和动态接口的信息,
权利要求
1.种视频点播方法,其特征在于,所述方法包括: 用户节点向媒体服务器请求资源; 媒体服务器将与所述用户节点位置最近且含有所述资源的节点作为资源提供者节点,并将所述资源提供者节点的信息返回给用户节点; 用户节点与资源提供者节点建立连接,接收资源提供者节点发送的资源并进行播放。
2.权利要求1所述的方法,其特征在于,所述媒体服务器将与所述用户节点位置最近且含有所述资源的节点作为资源提供者节点,并将所述资源提供者节点的信息返回给用户节点,包括: 媒体服务器将用户节点映射到所述资源对应的网格区域中,并将用户节点的资源请求发送给所述网格区域的代理节点; 所述代理节点将播放位置最近且含有所述资源的节点作为资源提供者节点,并将所述资源提供者节点的信息返回给用户节点。
3.权利要求2所述的方法,其特征在于,每个所述网格区域对应一个所述资源分割而成的视频资源块; 每个网格区域有一个代理节点,用以维护所述网格区域中所有节点的列表,根据用户节点的请求,为用户节点分配资源提供者节点,并将用户节点加入网格区域。
4.权利要求3所述的方法,其特征在于,所述方法还包括: 当所述用户节点跳转时,向所属网格区域的代理节点发送请求; 所述代理节点将所述请求发送给跳转目的网格区域的代理节点; 所述跳转目的网格区域的代理节点选择资源提供者节点,并将资源提供者节点的信息返回给用户节点,并将用户节点加入所述网格区域; 用户节点与资源提供者节点建立连接,获取资源并进行播放。
5.权利要求4所述的方法,其特征在于,所述跳转包括近端跳转和远端跳转,包括: 所述近端跳转为用户节点在相邻的网格区域之间的跳转,通过每个网格区域与相邻的网格区域建立的静态接口进行; 所述远端跳转为用户节点在不相邻的网格区域之间的跳转,通过不相邻的网格区域之间临时建立的动态接口进行; 所述动态接口根据多个用户节点从本网格区域跳转到目标网格区域的概率来建立。
6.权利要求5所述的方法,其特征在于,所述方法还包括: 建立所述动态接口包括如下步骤: 当前网格区域的代理节点向与目标网格区域距离最近的网格区域的代理节点发送请求消息; 所述距离最近的网格区域的代理节点向与目标网格区域距离最近的网格区域的代理节点转发请求消息; 以此类推,直到请求消息转发到目标网格区域的代理节点; 目标网格区域的代理节点与当前网格区域的代理节点互相存储对方信息,建立当前网格区域与目标网格区域的动态接口。
7.权利要求6所述的方法,其特征在于,所述方法还包括: 当所述网格区域的代理节点离开网格区域时,根据用户播放视频的兴趣度在本网格区域节点中选取新的代理节点并将所维护的网格区域的信息发送给新的代理节点;所述用户播放视频的兴趣度包括但不限于平均跳转权重比、平均点播时间比和在当前网格区域中的在线时间; 代理节点将新的代理节点的信息与资源信息一同发送给与其连接的用户节点;用户节点将新的代理节点的信息保存并随同资源信息一同发送给与其连接的其它用户节点;以此类推,直到网格区域内所有用户节点都收到新的代理节点信息。
8.权利要求1-7任一所述的方法,其特征在于,所述方法还包括: 当用户节点无法从其它的用户节点处获取资源时,由媒体服务器为所述用户节点提供资源,并继续为所述用户节点寻找新的资源提供者节点。
9.种视频点播系统,其特征在于,所述系统包括用户节点和媒体服务器,其中, 所述用户节点能够互相提供所需要的视频资源;所述用户节点在向所述媒体服务器请求资源后,被映射到由多个用户节点构成的网格空间中;所述网格空间包括多个网格区域,每个网格区域对应所述视频资源分割而成的一个视频资源块,每个请求和播放所述视频资源块的用户节点都被映射到所述网格区域; 所述媒体服务器用于存储视频资源,接收用户节点的资源请求,将用户节点的资源请求转发给相应的网格区域的用户节点。
10.权利要求9所述的系统,其特征在于,所述系统还包括代理节点,其中, 每个所述代理节点维护所属网格区域的用户节点信息,为请求相应视频资源块的用户节点分配资源提供者节点。
11.种代理节点,其特征在于,所述代理节点包括资源分配单元和节点维护单元,其中, 所述资源分配单元,用于根据用户节点的请求,为用户节点分配播放位置最近且含有所述资源的资源提供者节点; 所述节点维护单元,用于维护所属网格区域内所有用户节点的信息。
12.权利要求11所述的代理节点,其特征在于,所述代理节点还包括接口维护单元,用于维护所属网格区域与其它网格区域之间的静态接口和动态接口。
13.权利要求11或12所述的代理节点,其特征在于,所述代理节点还包括跳转单元,用于在代理节点跳转时,根据用户播放视频的兴趣度在本网格区域节点中选取新的代理节点并将所维护的网格区域的信息发送给新的代理节点。
14.种媒体服务器,其特征在于,所述媒体服务器包括资源存储单元和资源请求单元,其中, 所述资源存储单元,用于存储视频资源; 所述资源请求单元,用于接收用户节点的资源请求,转发给相应的网格区域的代理节点。
15.权利要求14所述的媒体服务器,其特征在于,所述媒体服务器还包括用户节点维护单元,用于维护用户节点的IP地址信息、加入系统的时间和所需播放的视频资源块在视频中的位置信息。
全文摘要
本发明公开了一种视频点播方法,属于视频点播技术领域。所述方法包括用户节点向媒体服务器请求资源;媒体服务器将与所述用户节点位置最近且含有所述资源的节点作为资源提供者节点,并将所述资源提供者节点的信息返回给用户节点;用户节点与资源提供者节点建立连接,接收资源提供者节点发送的资源并进行播放。本发明通过引入网格空间映射用户节点,很好的保证了用户节点接入视频点播视同后顺利获取需要的资源,具有较好的健壮性和可扩展性。
文档编号H04N21/231GK103096177SQ201210384560
公开日2013年5月8日 申请日期2012年10月11日 优先权日2012年10月11日
发明者许长桥, 关建峰, 张宏科, 贾世杰, 郑寅杰, 王目 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1