基于可控p2p技术的流媒体服务系统及其实现方法

文档序号:7959512阅读:194来源:国知局
专利名称:基于可控p2p技术的流媒体服务系统及其实现方法
技术领域
本发明涉及在基于TCP/IP协议的网络上实现分布式存储、可控P2P(Peer to Peer,对等点对点)技术的流媒体服务系统及其实现方法,属于计算机网络中的流媒体技术领域。
背景技术
流媒体是指在Internet/Intranet中使用流式传输技术的连续时基媒体,是指传输视频、音频以及像PowerPoint这类演示文稿的能力。这些流内容在访问时可以边下载边播放,因此受到用户的普遍欢迎,如多媒体新闻发布、在线直播、网络视频广告、电子商务、视频点播、远程教育、网络电台、实时视频会议等流媒体在互联网上的应用十分广泛。随着宽带网络的普及以及视频技术的进步,使得提供高质量的流媒体服务成为可能。
目前的商用流媒体平台主要是基于CDN(Content Delivery Network,即互联网内容发布网络)技术。CDN采用在网络边缘设置代理缓存服务器的方式并通过用户就近性和服务器负载的判断,确保内容以一种极为高效的方式为用户的请求提供服务。CDN网络减轻了中心节点的压力,但是由于各种应用的不同和成本的原因,导致CDN网络在灵活性、应用的适应性、设备的性价比上都存在很大的缺陷,不能很好的把各种特性集合。同时CDN也仍然避免不了C/S(Client/Server,客户机/服务器)架构的一些固有缺点1.服务器能力有限,随着用户数量的增加,运营商必须增加服务器的数量,使得投资加大;2.流媒体服务器群的集中设置,当同时在线用户数量众多时会给中心机房的网络出口带来很大压力,从而造成性能瓶颈;3.服务器能力的伸缩性有限,按照平时情况设计的系统在一些特殊情况(如球赛、运动会、文艺演出、飞船发射等的现场直播)下,用户的密集突发请求会使服务器和网络出口不堪重负,难以满足用户的要求。
随着以BT为代表的P2P下载技术的风行,网络上出现了一些基于P2P技术的流媒体系统,通过客户端之间直接的点对点传送媒体流,实现仅通过架设流媒体服务器就能使大用户量同时观看节目。但这些系统通常只能提供直播服务而不能提供用户更感兴趣的点播服务,即使有少数系统宣称能支持点播服务,也由于对客户端之间点对点传输的过分依赖和缺乏有力的控制,造成缓冲时间过长、QoS(Quality of Service,服务质量)得不到保障,在实际应用中还没有得到用户的认可;而且这类系统也不支持影片的暂停、前进、后退、拖动等VCR功能。

发明内容
有鉴于此,本发明的目的是克服已有技术的不足之处,提出一种基于可控P2P技术的流媒体服务系统及其实现方法。
本发明综合了CDN和P2P技术的优点,在保障QoS的前提下,能够有效降低运营商的运营成本,减少骨干网的网络流量,减轻中心机房的出口带宽压力;同时,系统具有高度的伸缩性和扩展性,既能很好的满足用户密集突发的流媒体业务请求,也能随着用户的增加扩展服务能力。另外,该系统还提供DRM(Digital Rights Management,数字版权管理)功能、有效的认证和计费,避免非法和盗版内容的传播,满足运营商管理和运营的要求;对于点播业务,提供暂停、前进、后退、拖动等VCR功能。
为达到上述目的,本发明提供一种基于可控P2P技术的流媒体服务系统,其技术方案是一种流媒体服务系统,根据空间划分为四个部分,包括全局中心、分中心和客户端和连接这三个部分的网络;根据逻辑功能划分为三个层次,包括业务提供层、业务支撑层和网络传输层。本发明还包括代理缓存技术、负载均衡技术、分布式存储、可控P2P传输技术。
本发明从空间分布上划分为四个部分1.全局中心,包括Web服务器、数据库服务器、全局中心调度服务器、全局中心存储服务器集群、网管服务器;2.分中心,包括分中心调度服务器、分中心流媒体服务器集群,分中心根据实际情况可以设置一个或多个,或者一级或多级;3.客户端;4.连接这三个部分的网络;根据实际情况,全局中心和分中心也可以合并。
该系统从逻辑功能上划分为三个层次1.业务提供层,包括Web服务器、全局中心存储服务器集群、分中心流媒体服务器集群和客户端,用于流媒体内容的发布、存储和提供流媒体服务;2.业务支撑层,包括数据库服务器、全局中心调度服务器、分中心调度服务器、网管服务器,负责实现节目文件及媒体流传输的管理调度和安全认证、计费等功能。
3.网络传输层,基于TCP/IP协议的宽带网络,负责媒体流和控制信息的传送;所述业务提供层中Web服务器负责用户的登录与退出、向用户提供流媒体资源链接和流媒体节目内容的介绍,还可以供用户查询个人帐户信息。
全局中心存储服务器集群负责保存原始流媒体文件。
分中心流媒体服务器集群,设置在网络边缘,负责向所属区域的用户提供就近的快速流媒体服务,并存储根据用户点击情况存储从全局中心存储服务器推送过来的流媒体资源拷贝,同时淘汰本地的过时流媒体资源。
客户端,当用户点击流媒体资源链接后,开始下载并播放流媒体,同时在对下载内容进行本地存储的基础上向受信任的其他客户端提供流媒体服务。
在所述业务支撑层中数据库服务器负责存储用户个人帐户信息、流媒体资源信息。
全局中心调度服务器负责根据用户的IP地址将用户请求重定向到相应分中心的流媒体服务器,并负责根据调度策略向分中心流媒体服务器推送流媒体资源拷贝。
分中心调度服务器,负责接收各种控制信息,管理和控制分中心流媒体服务器与客户端之间以及客户端与客户端之间的媒体流传输,同时控制流媒体内容在客户端上的分布式存储,以实现全局和局部的资源有效利用和负载均衡。
网管服务器,负责用户信息和各种资源的管理。
所述系统业务提供层和业务控制层中的各类服务器的数量可以根据业务需要进行配置,以适应系统服务能力的扩展和变化。
所述网络传播层是指基于TCP/IP协议的宽带网络,不需要支持IPv6和组播,但是当网络支持组播时,直播节目可以通过组播方式来实现,同时本系统也支持IPv6。为保障QoS,所有的数据传输在传输层都采用有连接的方式。
其中,所述全局中心存储服务器集群和分中心流媒体服务器集群都采用了分布式文件系统,其核心是将数据通路和控制通路进行分离构建存储系统,每个存储设备具有一定的智能,能够自动管理其上的数据分布。从而解决了在目前流媒体服务器中磁盘读取速率易成为性能瓶颈的问题。同时分中心的每个流媒体服务器都可以共享分布式集群文件系统的文件。
所述客户端设有两个内存缓存区接收缓存区和播放缓存区。接收缓存区用于接收从流媒体服务器或者其他客户端发送过来的数据包并进行排序;播放缓存区负责存储将要播放的内容。同时客户端还设有一个物理存储区,用来存储接收到的内容片段,以便在需要时向其他客户端提供服务;为保护存储内容的完整性、防止盗版和减少磁盘碎片,该存储区被设计为一个固定大小的加密文件,其中包括数据块索引和数据块内容。
所述调度服务器通过实施一定的调度策略来实现对客户端的可控P2P技术。
所述可控P2P技术是指通过调度服务器根据可控P2P的控制策略,对客户端之间的P2P传输进行控制。
所述可控P2P的控制策略包含客户端的认证、授权、计费、审计、分组、流媒体功能限制、通信和/或加密,其中认证,用于调度服务器对所有授权客户端的信息进行维护,当分中心调度服务器收到一个请求后,根据预先定义好的认证策略对客户端进行认证,如果通过则把对方的信息记录下来(如果已经记录在案,那么就检查是否需要更新);授权,用于调度服务器对认证通过的客户端进行授权,使其能够接受其他客户端的请求;计费,用于调度服务器对认证通过的客户端授权后,根据预先定义好的计费策略记录客户端的计费信息;审计,用于通过认证的客户端之间,以及客户端和服务器之间建立信任关系,从而进行P2P数据传输;分组,用于调度服务器根据预先定义好的策略将一部分(并非全部,根据设置的控制参数以及客户端的请求)参与同一个流(分中心调度服务器可能同时维护多个流的播放)的客户端的信息返回给对方进行分组;流媒体功能限制,用于客户端在收到调度服务器的响应并认证通过后,就能获取授权的其它客户端的信息,那么它就可以根据这些信息和权限,与其它客户端建立连接,从它们那里获得授权媒体流资源和其他权限;通信,用于在整个点播过程中,客户端必须不断的与调度服务器通信,报告自己的状态,同时也从调度服务器那里获取控制信息和当前参与点播的其它授权客户端的信息(ip地址、端口等);加密,用于客户端与调度服务器之间采用加密协议通信,客户端把自己的状态信息和认证信息传递给调度服务器,调度服务器则把授权客户端列表等信息传递给客户端;
为了达到上述目的,本发明还提供了一种在基于可控P2P技术的流媒体服务系统中点播流媒体服务的实现方法,其技术方案是1.用户登录网站,在通过认证后进入节目介绍页面,用户在浏览页面并选择需要的节目后,点击相应的链接就会自动启动客户端程序,同时Web服务器把用户IP地址和流媒体资源需求信息发送到全局中心服务器;2.全局中心调度服务器根据用户的IP地址将用户的地址和流媒体资源需求信息发送到相应的分中心调度服务器,并检查该分中心的流媒体服务器是否存储有用户需要的节目,如果没有就立即向该分中心推送流媒体资源文件;3.分中心调度服务器在接收到客户端节目片段需求信息后,根据流媒体服务器调度策略,首先选择一台分中心流媒体服务器与点播用户的客户端建立连接,并发送流媒体数据;同时根据可控P2P控制策略,使该客户端建立与其他符合条件的客户端的连接,获取数据,从而逐步减少甚至摆脱对分中心流媒体服务器的依赖;4.数据包被存储到客户端接收缓存区进行排序和解密,然后将要播放的内容复制到播放缓存区,播放缓存区第一次充满后,即可开始播放节目;5.客户端在运行中定时向分中心调度服务器报告本地的片段存储信息和向其他客户端提供服务的信息,当接收到其他客户端请求服务的指令后,首先对要求服务的客户端进行安全认证,通过后即可建立P2P连接,提供服务;6.当用户执行前进、向前拖动等VCR操作时,客户端发送节目片段需求信息到分中心调度服务器,重复步骤3;7.当用户执行后退、向后拖动等VCR操作时,客户端程序首先检查本地存储区是否有该片段,如果有,直接解密,拷贝到播放缓存区播放,如果没有,则发送节目片段需求信息到分中心调度服务器,重复步骤3;8.当提供服务的对等客户端由于某种原因中断提供服务后,首先根据列表向备份客户端请求,如果列表中所有备份请求都失败,则向分中心调度服务器请求,重复步骤3。
所述步骤2中,如果分中心没有用户需要的流媒体资源,可以在接收并存储省中心推送过的流媒体资源的同时,向用户提供流媒体服务。
当网络设备支持组播时,直播节目可以用组播方式来实现。
本发明是一种基于可控P2P技术的流媒体服务系统及其点播节目的实现方法,具有以下优点和创新功效
1.有保障的QoS,本发明通过流媒体补偿技术来保障最终的QoS;2.使用灵活,本发明采用了可控P2P控制策略,在此基础上可以容易的实现多种增值应用;3.具有极高的性价比,由于实现了客户端之间的P2P,从而有效降低了整套系统的投资;4.有效减少骨干网的网络流量,本发明将分中心设置到网络边缘就近为用户提供服务,因此能够有效的减少骨干网的网络流量;5.有效减轻中心机房网络带宽压力,当并发用户数高时,利用客户端之间的P2P,能够有效减轻中心机房的负载;6.具有高度的伸缩性和扩展性,能有效应付密集突发的服务请求,硬件配置也可以根据实际情况增减。
7.可从现有CDN系统平滑过渡,对已有的CDN系统,只需少量硬件变动,依靠软件升级即可平滑过渡,从而保护运营商的已有投资;8.响应速度快、影片可拖动,依靠服务器的高性能,系统能够快速响应用户的操作,并提供一定的VCR功能。


图1是本发明的组网结构示意图。
图2是本发明中的媒体流传输示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
本发明的组网结构如图1所示,图中全局中心包括Web服务器、数据库服务器、全局中心调度服务器、全局中心存储服务器集群和网管服务器。Web服务器负责用户的登录与退出、向用户提供节目链接和节目内容的介绍,还可以供用户查询个人帐户信息;数据库服务器负责存储用户个人帐户信息、节目信息;全局中心调度服务器负责根据用户的IP地址将用户请求重定向到相应分中心的流媒体服务器,并负责根据调度策略向分中心流媒体服务器推送节目拷贝;全局中心存储服务器集群负责保存原始流媒体文件;网管服务器,负责用户信息和各种资源的管理。其中全局中心存储服务器集群采用了分布式文件系统,具有很高的磁盘读写速率和鲁棒性。全局中心调度服务器是全局中心存储服务器集群的一个客户端。
图1中,设置在网络边缘的分中心包括分中心调度服务器和流媒体服务器集群。分中心调度服务器,负责接收各种控制信息,管理和控制分中心流媒体服务器与客户端之间以及客户端与客户端之间的媒体流传输,同时控制流媒体内容在客户端上的分布式存储,以实现全局和局部的资源有效利用和负载均衡;分中心流媒体服务器集群,负责向所属区域的用户提供就近的快速流媒体服务,并存储根据用户点击情况从全局中心存储服务器推送过来的节目拷贝,同时根据一定的算法淘汰本地的过时节目。分中心流媒体服务器集群也同样采用了分布式文件系统,每一个流媒体服务器在运行流媒体服务程序的同时也是这个分布式文件系统的一个客户端,从而不但能够共享分布式集群文件系统上的文件,还能够获得很高的磁盘读写速率,避免由于磁盘读写速率不够造成的系统瓶颈。全局中心调度服务器也是每一个分中心流媒体服务器集群构成的分布式文件系统的客户端,由于全局中心调度服务器同时也是全局中心存储服务器集群的客户端,因此在全局中心调度服务器上很容易实现节目内容的推送。
图1中,用户通过带客户端程序的终端接入互联网来获取服务。
本发明中的媒体流传输过程如图2所示。图2中虚线代表控制流;带箭头的实线代表数据流向,并用A和B表示不同的节目。如图2所示,媒体流的传输过程介绍如下1.客户端节点1首先接入系统要求提供流媒体服务A,通过认证之后,全局中心调度服务器将需求根据地域邻近的原则重定向到某个分中心;2.分中心调度服务器根据用户需求,调度任一台流媒体服务器(流媒体服务器1)为其提供流媒体服务;3.一段时间后,客户端节点2也向这个分中心提出跟客户端节点1相同的服务A;4.由于流媒体服务器1内存中已有节目内容A,根据缓存cache优先的原则,分中心调度服务器调度流媒体服务器1为客户端节点2提供服务,同时开始进行资源搜索;5.分中心服务器搜索到客户端节点1上有客户端节点2需要的内容,于是将客户端节点1的IP地址发送给客户端节点2;6.客户端节点2连接客户端节点1,通过安全认证后,客户端节点1开始发送数据到客户端节点2,由于在类似ADSL这类网络中,上下行带宽并不对称,所以客户端节点1不能独立为客户端节点2提供服务,而需要和流媒体服务器一起提供服务,但此时已经减轻了流媒体服务器的压力;7.客户端节点3加入(其上已有A的内容),由于客户端节点3要求的是不同的流媒体服务B,根据负载均衡的原则,分中心调度服务器调度另一台流媒体服务器(流媒体服务器2)为客户端节点3提供服务;8.客户端节点4加入,要求流媒体服务A,分中心调度服务器首先调度流媒体服务器1为它提供服务,然后经过资源搜索,发现客户端节点1、2、3上都有客户端节点4需要的内容,于是下发列表到客户端节点4;9.客户端节点4分别连接客户端节点1、2、3,通过安全认证后,从客户端节点1、2、3上开始获取数据,此时客户端节点4已经可以完全摆脱对流媒体服务器1的依赖;10.当用户拖动影片后,直接发送片断需求信息到分中心调度服务器,分中心调度服务器按照与前面步骤类似的方式处理;11.在播放过程中,当提供服务的客户端节点失效后,客户端节点首先连接备份节点,如果备份节点全部失效,则将需求提交到分中心调度服务器要求重新调度。
权利要求
1.一种调度服务器根据可控P2P控制策略对客户端之间的P2P传输进行控制的方法,所述可控P2P控制策略包含客户端的认证、授权、计费、审计、分组、流媒体功能限制、通信和/或加密,其中认证,用于调度服务器对所有授权客户端的信息进行维护,当分中心调度服务器收到一个请求后,根据预先定义好的认证策略对客户端进行认证,如果通过则把对方的信息记录下来(如果已经记录在案,那么就检查是否需要更新);授权,用于调度服务器对认证通过的客户端进行授权,使其能够与其他客户端通信;计费,用于调度服务器对认证通过的客户端授权后,根据预先定义好的计费策略记录客户端的计费信息;审计,用于通过认证的客户端之间,以及客户端和服务器之间建立信任关系,从而进行P2P数据传输;分组,用于调度服务器根据预先定义好的策略将一部分(并非全部,根据设置的控制参数以及客户端的请求)参与到同一个内容(分中心调度服务器可能同时维护多个内容的播放)的客户端的信息返回给请求方根据自身需求进行选择;媒体功能限制,用于客户端在收到调度服务器的响应并认证通过后,就能获取授权的其它客户端的信息,那么它就可以根据这些信息和权限,与其它客户端建立连接,从它们那里获得授权资源和其他权限;通信,用于在整个通信过程中,客户端必须不断的与调度服务器通信,报告自己的状态,同时也从调度服务器那里获取控制信息和当前参与通信的其它授权客户端的状态(IP地址、端口等);加密,用于客户端与调度服务器之间采用加密协议通信,客户端把自己的状态信息和认证信息传递给调度服务器,调度服务器则把授权客户端列表等信息传递给客户端。
2.一种流媒体服务系统,该系统在空间上可以划分为全局中心、分中心、客户端和连接这三个部分的网络;全局中心和分中心中包含调度服务器,各调度服务器根据如权利要求1所述的方法对客户端之间的P2P传输进行控制。
3.如权利要求2所述的系统,其中分中心可以设置一个或多个,或者一级或多级。
4.如权利要求2或3所述的系统,其中全局中心还包括Web服务器、数据库服务器、全局中心存储服务器集群、网管服务器;分中心还包括分中心流媒体服务器集群。
5.如权利要求4所述的系统,其中Web服务器负责用户的登录与退出、向用户提供流媒体资源链接和流媒体节目内容的介绍,还可以供用户查询个人帐户信息;全局中心存储服务器集群负责保存原始流媒体文件;分中心流媒体服务器集群,设置在网络边缘,负责向所属区域的用户提供就近的快速流媒体服务,并存储根据用户点击情况存储从全局中心存储服务器推送过来的流媒体资源拷贝,同时根据一定的算法淘汰本地的过时流媒体资源;客户端,当用户点击流媒体资源链接后,开始下载并播放流媒体,同时在对下载内容进行本地存储的基础上向受信任的其他客户端提供流媒体服务。
6.如权利要求4或5所述的系统,其中数据库服务器负责存储用户个人帐户信息、流媒体资源信息;全局中心调度服务器负责根据用户的IP地址将用户请求重定向到相应分中心的流媒体服务器,并负责根据调度策略向分中心流媒体服务器推送流媒体资源拷贝;分中心调度服务器,负责接收各种控制信息,管理和控制分中心流媒体服务器与客户端之间以及客户端与客户端之间的媒体流传输,同时控制流媒体内容在客户端上的分布式存储,以实现全局和局部的资源有效利用和负载均衡;网管服务器,负责用户信息和各种资源的管理。
7.如权利要求4至6任一项所述的系统,其中网络是基于TCP/IP协议的宽带网络,不需要支持IPv6和组播,但是当网络支持组播时,直播节目可以通过组播方式来实现,同时本系统也支持IPv6;为保障QoS,所有的数据传输在传输层都采用有连接的方式。
8.如权利要求4至7任一项所述的系统,其中全局中心存储服务器集群和分中心流媒体服务器集群都采用分布式文件系统,其核心是将数据通路和控制通路进行分离构建存储系统,每个存储设备具有一定的智能,能够自动管理其上的数据分布;同时分中心的每个流媒体服务器都可以共享分布式集群文件系统的文件。
9.如权利要求4至8任一项所述的系统,其特征在于,客户端设有两个内存缓存区和一个物理存储区,内存缓存区包括接收缓存区和播放缓存区,接收缓存区用于接收从流媒体服务器或者其他客户端发送过来的数据包并进行排序;播放缓存区负责存储将要播放的内容;物理存储区用来存储接收到的内容片段,以便在需要时向其他客户端提供服务;为保护存储内容的完整性、防止盗版和减少磁盘碎片,该存储区被设计为一个固定大小的加密文件,其中包括数据块索引和数据块内容。
10.如权利要求4至9任一项所述的系统,该系统为直播、组播或点播服务系统。
11.如权利要求2-10任一项所述的系统,其中全局中心和分中心合并。
12.一种流媒体信息服务的方法,该方法包括(1)用户登录网站,在通过认证后进入节目介绍页面,用户在浏览页面并选择需要的节目后,点击相应的链接就会自动启动客户端程序,同时Web服务器把用户IP地址和流媒体资源需求信息发送到全局中心服务器;(2)全局中心调度服务器根据用户的IP地址将用户的地址和流媒体资源需求信息发送到相应的分中心调度服务器,并检查该分中心的流媒体服务器是否存储有用户需要的节目,如果没有就立即向该分中心推送流媒体资源文件;(3)分中心调度服务器在接收到客户端节目片段需求信息后,根据流媒体服务器调度策略,首先选择一台分中心流媒体服务器与点播用户的客户端建立连接,并发送流媒体数据;同时根据如权利要求1所述的方法对客户端之间的P2P传输进行控制,由调度服务器对客户端进行认证、授权、计费、审计、分组、流媒体功能限制、通信和加密,使该客户端建立与其他符合条件的客户端的连接,获取数据,从而逐步减少甚至摆脱对分中心流媒体服务器的依赖;(4)客户端在运行中定时向分中心调度服务器报告本地的片段存储信息和向其他客户端提供服务的信息,当接收到其他客户端请求服务的指令后,首先对要求服务的客户端进行安全认证,通过后即可建立P2P连接,提供服务;(5)当用户执行快进等VCR操作时,客户端首先向媒体服务器请求快进操作,然后向调度服务器请求重新分组;(6)当用户执行快退等VCR操作时,客户端向流媒体服务器请求快退操作;(7)当提供服务的对等客户端由于某种原因中断提供服务后,首先根据列表向备份客户端请求,如果列表中所有备份请求都失败,则向分中心调度服务器请求,重复步骤(3)。
13.如权利要求12所述的方法,其特征在于,如果分中心没有用户需要的流媒体资源,可以在接收并存储全局中心推送过的流媒体资源的同时,向用户提供流媒体服务。
14.如权利要求12所述的方法,其特征在于,当网络设备支持组播时,直播节目可以用组播方式来实现。
15.如权利要求12所述的方法,其中流媒体信息服务为直播、点播或组播,流媒体信息传输模式为流模式和文件模式。
全文摘要
一种可控P2P技术,调度服务器根据控制策略,对客户端之间的P2P传输进行控制;一种基于可控P2P技术的流媒体服务系统及其实现方法,在空间上划分为四个部分,全局中心、分中心、客户端和连接这三个部分的网络,根据逻辑功能可分为三个层次,包括业务提供层、业务支撑层和网络传输层。
文档编号H04L9/32GK1933437SQ20061007252
公开日2007年3月21日 申请日期2006年4月12日 优先权日2005年12月31日
发明者穆源浦 申请人:穆源浦
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1