发明内容
本发明的目的在于克服现有技术的不足,提供一种面向IP机顶盒的数字媒体下载系统,本发明采用P2P技术,有效地满足人们在IP机顶盒上对多媒体的实际需求,弥补集中式服务方式的技术弊端,解决现有采用C/S(客户端/服务器)模式的多媒体下载系统在客户数目快速增加时服务器宽带等资源很快被消耗完的技术问题。
本发明的目的通过以下技术方案予以实现:
一种面向IP机顶盒的数字媒体下载系统,其网络拓扑包括客户端、前端应用服务器和后端支撑服务器,其中网络中的原始数据全部来自节目源服务器,引导服务器、发布服务器和客户端共同组成了数据分发系统的核心,web服务器、推送服务器和注册认证服务器共同构成了系统的业务提供部分,负责内容的分发、内容的控制管理、内容的分类、内容的收集整理,管理服务器用于管理监控应用服务器运行,所述的这些部分共同构成了本发明的数字媒体下载系统的环境。
本发明所述的一种面向IP机顶盒的数字媒体下载系统采用了基于Kademlia算法的P2P网络模型,任何两点之间都可能存在数据供需关系。
在本系统中客户端包含以下模块:
Menbership模块,负责维护该节点的邻居节点列表,管理该节点与其他网络节点的交互关系,Menbership模块基于Kademlia,是整个系统的资源发布搜索以及下载资源定位的基础,Menbership模块采用了二叉搜索树来构建整个网络的路由表;
DataBuffer模块,数据的存储区域,所有从网络中获得数据都会暂时存储在这块内存区域,同时也负责提供数据给播放模块进行播放以及请求数据的节点提供数据缓存的机制,所述的缓冲区是一个循环队列,具有自动更新功能;
UpLoadQueue模块,上传请求队列,这是对本节点的处理能力有限的情况下管理连接请求的部分,主要的部分是一个队列,当有能力处理新的连接的时候才会对上传队列的顶端的节点进行服务。这样改进了传统P2P软件处理连接的方式,能够减轻对节点资源的占用,并且在一定程度上减少了对节点的带宽需求;
DownloadQueue模块,下载请求队列;
VirtualHttpServer模块,把数据以Http流的形式发送给播放器。
另外,前端应用服务器包含Web服务器、注册认证服务器、推送服务器、引导服务器和发布服务器,后端支持服务器包含节目源服务器、管理服务器和数据库服务器。其功能描述如下:
(1)WEB服务器:
Web服务器为视频下载的门户网站,用户通过Web订购自己感兴趣的视频栏目和节目,完成业务定制;
(2)注册认证服务器:
注册认证服务器提供视频下载用户的注册,以及每次上线享用下载业务时的身份认证;
(3)推送服务器:
推送服务器有如下功能:
a.推送用户定制的节目单——从数据库里取出用户的定制,当用户上线时,将用户定制的栏目推给客户端,同时将每栏目下相应的节目单推送给用户;
b.推送用户定制的栏目单——取出用户定制的节目,当用户上线时,将用户定制的节目单推送给客户端;
c.处理用户的栏目定制——将接收用户定制的栏目和喜好分析的系统存在栏目存储到数据库中;
d.处理用户的视频节目定制——将接收到的用户的视频节目定制节目单存储到数据库中。
(4)引导服务器和发布服务器:
引导发布服务器用来保证P2P网络的完整性,完成的功能有:
a.加入P2P网络——能把自身加入P2P网络;
b.提供邻居列表——对无邻居节点的节点提供邻居列表,使其加入P2P网络;
c.提供资源列表——对资源较少的节目,给用户提供资源列表,使其能正常下载;
d.提供上传功能——在网络上还没有资源的情况下,相当于种子节点,给用户提供下载。
(5)数据库服务器:
数据库服务器用于存储用户的资料信息、用户视频节目的定制单以及用户经常使用的资源;
(6)节目源服务器:
节目源服务器用于存储网络中所有的多媒体信息,以便用户在需要下载多媒体时,可以从节目源服务器上获得所需要的资源;
(7)管理服务器:
管理服务器的作用是保存、管理整个系统运行的相关统计信息,包括对视频栏目,视频节目以及视频简介的相关信息的管理维护;对用户信息进行管理,任何一个节点加入或者离开网络都会留下记录,这表现在用户的上线、下线时间上,并且由此可以计算出在线时长等相关信息。
本发明具有以下有益效果:
(1)本发明采用了P2P技术,所述的网络拓扑结构具有以下特点:
(a)纯分布式系统,节点之间完全平等并完成同样的工作,任何两点之间都可能存在数据供需关系;
(b)无服务器网络,依靠Kademlia,网络中没有了服务器的概念,任何节点可以在一次跳转之内得到查找结果;
(c)Kademlia协议的开销随着系统规模(结点总数N)的增加而按照O(logN)的比例增加,因此可以用于大规模的系统;
(d)网络的扩展性很强,不会受某些节点的加入/退出影响;
(2)本发明是面向IP机顶盒设计的一款数字媒体下载系统,用户使用数字家庭的IP机顶盒,通过互联网访问运营商提供的数字媒体下载系统,浏览系统中的内容,把需要的资源下载到用户自己的IP机顶盒中的硬盘上;
(3)本发明的系统采用P2P技术,很好的解决了集中式服务方式的诸多弊端,解决了现有采用C/S(客户端/服务器)模式的多媒体下载系统在客户数目快速增加时服务器宽带等资源很快被消耗完的技术问题。
具体实施方式
下面结合附图对本发明做进一步的说明。
本发明的系统网络拓扑结构如图1所示:包括了客户端1、前端应用服务器2和后端支撑服务器3。其中客户端1指的是网络中的机顶盒11、机顶盒12、机顶盒13,前端服务器2包括web服务器21、注册认证服务器22、推送服务器23、引导服务器24和发布服务器25,后端支撑服务器3包括数据库服务器31、管理服务器32以及节目源服务器33。
本发明网络中的原始数据全部来自节目源服务器33,引导服务器24、发布服务器25和客户端1共同组成了数据分发系统的核心,web服务器21、推送服务器23和注册认证服务器22共同构成了系统的业务提供部分,负责内容的分发、内容的控制管理、内容的分类、内容的收集整理,管理服务器32用于管理监控应用服务器运行,所述的这些部分共同构成了本发明的数字媒体下载系统的环境。
本发明实施例所支持的一种面向IP机顶盒的数字媒体下载系统采用了基于Kademlia算法的P2P网络模型,任何两点之间都可能存在数据供需关系。
如图2所示,本发明实施例所支持的一种面向IP机顶盒的数字媒体下载系统的客户端1由Menbership模块101、DataBuffer模块102、UpLoadQueue模块103、DownloadQueue模块104以及VirtualHttpServer模块105这5个模块构成,与客户端1相连的是P2PNetwork 100以及播放器Decoding Player 106。其中,
Menbership模块101负责维护该节点的邻居节点列表,管理该节点与其他网络节点的交互关系,Menbership模块101基于Kademlia,是整个系统的资源发布搜索以及下载资源定位的基础,Menbership模块101采用了二叉搜索树来构建整个网络的路由表;
DataBuffer模块102是数据的存储区域,所有从网络中获得数据都会暂时存储在这块内存区域,同时也负责提供数据给播放模块进行播放以及请求数据的节点提供数据缓存的机制,所述的缓冲区是一个循环队列,具有自动更新功能;
UpLoadQueue模块103上传请求队列,这是对本节点的处理能力有限的情况下管理连接请求的部分,主要的部分是一个队列,当有能力处理新的连接的时候才会对上传队列的顶端的节点进行服务。这样改进了传统P2P软件处理连接的方式,能够减轻对节点资源的占用,并且在一定程度上减少了对节点的带宽需求;
DownloadQueue模块104是下载请求队列;
VirtualHttpServer模块105把数据以Http流的形式发送给播放器Decoding Player 106。
本发明实施例所支持的系统一次下载流程如图3所示,具体步骤描述如下:用户启动机顶盒,首先通过手中的遥控器输入用户的用户名、密码,注册认证服务器22就会验证用户信息;若用户尚未注册,则用户进行注册操作然后重新登录登陆系统;若用户登录成功,即可进入系统;进入系统之后,引导服务器24首先将自身节点加入到P2P网络中,用户通过web服务器21浏览可供下载的多媒体资源,使用遥控器选中所需的多媒体资源,发出下载请求;系统通过引导服务器24搜寻P2P网络中其他有该多媒体资源的节点,若搜寻到即可通过该节点下载多媒体资源,若未搜寻到所需资源,则返回浏览多媒体信息,同时也可通过节目源服务器33查找自己所要的多媒体资源,直接下载该节目。