1、现有流媒体系统架构
流媒体服务是在IP网上基于流式传输技术,向用户提供实时音视频媒体播放的业务。由于无需等待文件下载完成就可实现在线观看,因此流媒体应用自推出以来就受到用户的普遍欢迎,近年来更是随着宽带网络的普及而呈爆炸式增长。
目前,IP网上的流媒体服务主要基于C/S(客户端/服务器)架构实现。在用户少、业务量不大的情况下,基于C/S架构实现的流媒体服务系统还是比较简单、方便和行之有效的。但随着流媒体用户的快速增长,这种实现模式也日益显现出以下缺点:
【资料图】
●由于流媒体服务信息传递量大,持续时间长,提供流媒体服务的服务器数量必须随着用户数的增加而增加,这对运营商而言是一笔巨大的投资;
●集中的流媒体服务器群给中心机房、网络出口和骨干网络均带来极大的压力,可能产生性能瓶颈,导致服务质量下降;
●采用内容推送技术虽然可以把内容推送到网络边缘,减轻了中心机房和网络的压力,但C/S结构的本质决定了其无法减少对流媒体服务器的需求,投资只会进一步增加;
●虽然硬件投资巨大,但系统服务能力始终有限,仍难以满足一些特殊情况下(如球赛、运动会等)用户密集突发的流媒体业务需求。
2、P2P技术的引入
基于C/S架构提供的流媒体业务由于成本居高不下,在很大程度上影响了业务的进一步发展和繁荣,因此,部分服务提供商开始考虑在流媒体服务中引入P2P技术来实现低成本的业务提供。
P2P的核心思想是通过参与系统节点(peer)之间的直接交互来实现系统资源和信息的共享。P2P系统强调节点之间的对等性,信息资源分散存储在各个参与节点,每个参与节点兼有服务器和客户端两种身份,都可以请求服务和提供服务,内容传输直接在节点间进行,避免了C/S架构中容易出现的网络和服务器瓶颈问题。因此,相比C/S架构而言,P2P系统能够充分利用网络终端的空闲资源,大大降低了系统的建设和运营成本,同时,节点越多服务资源也越多,系统因此具有良好的可扩展性和高度的自适应性,能够满足各种突发环境下的业务需求。
1999年Napster的出现使人们认识到P2P和互联网结合所蕴含的巨大潜力,eDonkey、BitTorrent、Skype等P2P应用的广泛流行,使人们更加看好P2P流媒体的发展。一些厂商开始研发并推出P2P流媒体点播和直播系统,其中包括了2004年世界杯期间一炮而红的CoolStreaming系统以及目前广受用户欢迎的PPLive、PPStream等。这些系统虽然实现了低成本的业务提供,但也普遍存在以下问题:
●缺乏版权保护机制,难以引入大量的合法内容,导致严重的盗版问题;
●没有考虑运营需求,不支持个性化计费,难以形成可盈利的运营模式;
●不能实现区域调度,大量P2P流量穿越骨干,给网络带来巨大压力;
●提供的业务仍以直播为主,P2P点播技术仍处在发展中,尚不成熟。
3、面向运营商的P2P流媒体系统设计
针对现有系统所存在的问题,本文提出了一种面向电信运营商的可运营、可管理、可扩展的P2P流媒体系统架构。该系统架构按逻辑功能划分为以下3个层次。
●业务控制层,包括内容发布服务器和资源管理服务器以及其他相关后台支撑系统,主要实现用户和内容的管理调度。其中内容发布服务器,负责在运营商的统一控制或授权(针对ICP)下实现内容和信息的发布;资源管理服务器,动态维护内容节点(包括原始内容服务器、边缘内容服务器、客户端等)资源列表,并根据所定义的策略,实现内容分发控制和用户服务调度;后台支撑系统服务器,用于实现用户管理和版权管理等相关功能。
●内容服务层,包括原始内容服务器、内容缓存服务器和客户端,负责内容的存储和服务提供,最终实现流媒体服务提供。其中原始内容服务器,保存有完整的原始内容文件,用于提供初始的内容分发和用户服务,并在其他内容节点失效或无法提供所需内容服务时,向用户提供最终的服务;内容缓存服务器,通常设置在网络边缘,运营商可设置一定的策略,把相关的组播节目或热点内容从原始内容服务器主动推送到边缘缓存,向用户提供就近的快速服务;客户端,既是P2P流媒体服务的使用者,同时也是服务提供者。能够在对内容进行本地存储的基础上,与其他客户端建立点对点连接,为对方提供内容服务。
●网络传输层,主要是指宽带IP网络,负责实现各种控制信息和内容服务信息的传送。
其中,除内容发布服务器和原始内容服务器可由运营商授权的ICP提供并进行管理外,其他服务器均由运营商进行管理和运营。因此,整个系统从内容发布、分发到提供的过程均在运营商控制下进行,用户无法自行共享和传播其他内容信息,从根本上解决了现有P2P应用中存在的盗版泛滥问题。
为实现流媒体接收和播放,P2P流媒体客户端需设置两个内存缓存区,一个用于从对等连接中接收数据包并进行排序的接收缓存区;另一个用于在播放前将接收缓存区中已排序好的数据包复制过来并进行解包合成的播放缓存区。同时,P2P流媒体客户端应在机器中设置物理缓存,用于在资源管理器调度下实现内容的本地存储以及向其他客户端提供P2P流媒体服务。为避免用户有意或无意破坏存储内容的完整性,该物理缓存需进行加密。内容文件的存放和传送均基于分片的方式,每个文件片断均有惟一ID进行标识,且采用DRM(数字版权管理)技术防止用户盗版。
4、P2P点播业务实现流程
基于上述架构实现的流媒体系统可向用户提供P2P广播和点播业务,其中,用户点播流媒体节目的流程设计如图1所示。
1用户点播媒体节目的流程
图1中①、②、③、④、⑤的步骤分别对应如下。
①用户运行P2P流媒体客户端程序,登录到P2P流媒体服务系统。
②用户浏览系统的内容发布到服务页面,查找到所需节目并点击该节目链接后,P2P流媒体客户端程序通过链接中所含信息,获取该节目的惟一标识以及所对应的资源管理服务器。
③P2P流媒体客户端程序连接相应的资源管理服务器,由资源管理服务器根据该节目的惟一标识查找内容节点资源列表,并根据预先定义的策略和客户端属性(如用户IP地址、连接速率等)对内容节点(可以是客户端、内容缓存服务器和原始内容服务器)进行调度,返回一系列符合条件的内容服务节点列表给客户端程序,同时,资源管理服务器根据客户端属性和预先定义的内容分发策略确定该客户端需要存储的内容片断范围,并同样把该要求返回给客户端程序。
④P2P流媒体客户端程序根据收到的内容服务节点列表和相应的内容服务节点(内容服务节点可以是客户端、内容缓存服务器和原始内容服务器)建立点对点连接,并从内容服务节点接收相应的内容片断,在本地进行缓存处理,并实现实时播放。
⑤在播放的同时,P2P流媒体客户端程序根据前面资源管理服务器确定的内容存储要求进行节目内容的本地存储,并每隔一定的时间向资源管理服务器报告该客户端的内容存储情况,以便资源管理服务器及时更新相应的内容节点资源列表,使该客户端可为其他用户提供相应的服务。
5、资源管理和调度
整个P2P流媒体系统中,资源管理服务器的设计是最关键的。为确保P2P流媒体服务系统能够正常运转。并向用户提供良好的服务,资源管理服务器必须及时更新维护每个内容文件所对应的内容节点资源列表,准确反映出系统当前可用的服务资源情况。内容节点资源列表应至少包含原始内容服务器信息,并根据资源的实际分布情况可包含其他客户端节点和内容缓存服务器信息。
内容节点资源列表的建立和维护过程设计如下:
●运营商/ICP在内容发布服务器中发布内容的同时,将在资源管理服务器中建立该内容文件所对应的内容节点资源列表,并把原始服务器作为初始服务资源记录在资源列表中;
●用户登录到P2P流媒体服务系统时,后台对用户进行筛选,并要求合格的客户端服务节点向资源管理服务器报告该客户端内容存储情况,在相应的内容节点资源列表中加入该客户端服务节点;
●当内容缓存服务器所缓存的内容发生变化时。需通知资源管理服务器更新相应的内容节点资源列表;
●当用户点播后,资源管理服务器对内容服务节点进行调度,返回符合条件的内容服务节点列表给客户端程序时,相应的内容节点资源列表应有所记录,反映出资源的占用情况;
●当用户播放节目时,本地存储内容也在不断更新,因此该客户端服务节点每隔一定的时间需向资源管理服务器报告客户端的内容存储情况,以便资源管理服务器及时更新相应的内容节点资源列表;
●当客户端从某个内容服务节点接收完相应的内容数据后,该客户端程序需通知资源管理服务器释放相应的内容服务节点,使该节点可继续为其他用户提供相应的服务;
●当用户退出P2P流媒体服务系统时,相应地也会通知资源管理服务器在相应的内容节点资源列表中删去该客户端服务节点。为实现业务的可运营、可管理、可扩展,资源服务器对内容节点的调度应综合考虑服务质量、网络压力、节点能力等因素,遵循以下调度原则。
如果该节目的内容节点资源列表只有原始内容服务器,则该用户为在线用户中第一个点播该节目的用户,由原始内容服务器提供服务。
如果该节目的内容节点资源列表还含有其他客户端节点或内容缓存服务器,则根据预定义的策略进行调度,其预定义策略可包含但不仅限于以下几点。
●地域优先。为优化网络流量、流向,减少穿越骨干流量,并提高内容响应速度和服务质量,应尽量选择同一地域的内容节点优先提供服务,客户端所处地域的判断可通过IP地址段进行。
●节点类型优先。为提高系统伸缩性,使系统服务能力随用户增加而扩展,同时也留出一定资源来为非热门节目提供服务,调度的优先顺序应为其他客户端节点>内容缓存服务器>原始服务器。
●稳定性优先。由于P2P网络是异构网络,客户端设备类型差别很大,为保证服务质量,客户端节点选择应重点考虑稳定性因素,包括在线时间、网络连接、系统负载、以往服务情况等,并且可对各因素所占的权重进行设置。
●Cache优先原则。为提高服务响应速度,减少客户端硬盘操作次数,应优先选择内容还在内存Cache的客户端节点提供服务,即选择正在收看或刚收看完的节点进行优先调度。返回的内容服务节点列表中,同一内容片断应给出两个以上对应的内容服务节点,以便在首选内容服务节点失效时,能够采用备份服务节点提供服务。
6、结束语
为促进产业的良性发展,作为P2P产业链中不可或缺的一环,电信运营商应充分依托自身的用户资源、基础网络和运营平台优势,搭建电信级可管可控的P2P流媒体业务平台,开放给内容供应商,向用户提供有保障的收费服务。面向运营商的P2P流媒体平台的建立,可有效解决困扰业界已久的内容盗版、用户收费、质量保障等关键问题,并且可以协助P2P流媒体服务确立自身盈利模式,实现业务的可持续发展,同时,也为运营商主动应对目前网络上的P2P流量无序流动,降低骨干网建设和运维压力提供了一个新的途径,应是未来发展的主要方向。