用于混合对等计算网网络电视流媒体服务器的实现方法

文档序号:7714777阅读:272来源:国知局
专利名称:用于混合对等计算网网络电视流媒体服务器的实现方法
技术领域
本发明是 一 种用于P2P (Peer-to-Peer ,对等网络)机顶盒的流媒体服务器的系统实现方案,主要用于解决为在TI(德州仪器)公司最新提供的双核开发平台TMS320DM6446(达芬奇数字平台)上实现的P2P数字机顶盒提供音、视频的点播和直播服务的问题,属于对等网络应用领域。
背景技术
流媒体技术是一种基于宽带技术的音、视频实时传输技术。人们在网页上看到的不再是文字或者是禁止的图像,而是类似电视播放的活动图像信息。相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压縮后放到网络服务器上,用户边下载边观看而不必等待整个文件下载完毕。 作为新一代互联网应用的标志,流媒体技术在近几年得到了飞速的发展。而流媒体服务器又是流媒体应用的核心系统,是运营商向用户提供视频服务的关键平台。其主要功能是对媒体内容进行采集、缓存、调度和传输播放,流媒体应用系统的主要性能体现都取决于媒体服务器的性能和服务质量。因此,流媒体服务器是流媒体应用系统的基础,也是最主要的组成部分。 目前市场上流行的数字机顶盒都是采用C/S计算(Client/Server Computing,客户/服务器计算)或是B/S (Brower/Server Computing,浏览器/服务器计算)这样不对称的计算模式,对服务器端的带宽以及CPU运算能力要求很高。所以IPTV(InteractivePersonality TV,交互式网络电视)系统要解决十万、百万用户同时收看视频节目的问题,就需要部署大量的服务器,依赖极宽的网络带宽或者要对现有网络进行大规模的改造,这些都成为制约IPTV发展的瓶颈。因此在IPTV数字机顶盒网络中引入P2P计算模式是极具创新思想的设计,也具有非常重要的现实意义。P2P技术是一种将客户端赋予服务功能的技术,它使得网络上的数字机顶盒既能接收也能对外发送流媒体内容。在广播、点播(V0D)和推播(Push V0D)视频节目的时候,可以通过用户端之间相互传递量子TS流包来传送视频内容,从而避免了所有内容均从一个或少量服务器中发出而造成的网络堵塞。同时,由于P2P技术的引入,我们可以将P2P网络中的激励机制也引入到IPTV系统的设计与实现中。通过对数字机顶盒节点的激励,可以有效地避免免费搭便车(Free-riding)现象,使得各种闲置资源得到有效利用,让系统达到资源的最大共享。 普通的万维网服务器向客户端传送文件是基于HTTP(超文本传输协议)的,客户请求的文件放在HTTP响应报文中,并用TCP (传输控制协议)传送给客户端。这种传送方式强调的是准确无误但不能及时(尤其是在发生拥塞时),也不适用于多播环境中。因此流媒体服务器基于RTSP (实时流化协议)协议,在客户端与流媒体服务器交互的过程中,音视频数据封装在RTP(实时运输协议)分组中进行传送,RTSP使得媒体播放器能够控制多媒体流的传送。现在市场上比较成熟的流媒体服务器产品有Apple公司的Darwin StreamingServer, RealNetworks公司的RealServer等,它们都需要流媒体服务器硬件具有强大的并发处理能力。尚且没有一款流媒体服务器是专门针对对等计算机顶盒设计的。而作为P2P 数字机顶盒系统的重要组成部分,一款量身打造的流媒体服务器对于实现数字机顶盒的直 播、点播,最大程度地促使机顶盒节点共享资源具有重要的意义,这也是本文的价值所在。
RTSP流媒体服务器的开发主要借助于网络编程接口进行通信与数据交互,开发的 过程中设计与实现一套GUI (Graphical User Interface,图形用户接口 )系统,操作与管理 整个系统的资源以及连接情况,负载情况,最大程度地满足用户的使用要求,这些都是必要 的。 综上所述, 一款优异的针对基于mi6446平台的P2P数字机顶盒流媒体服务器系统 除了能够完成必需的功能外,还将架起客户与服务提供商沟通的桥梁。它关系到整个IPTV 机顶盒开发项目的成败。 本技术的设计方案已经针对达芬奇数字平台(DaVinci)TMS320DM6446作了实验, 并证明了可行性。达芬奇数字平台TMS320匿6446是TI公司新提供的面向视频开发领域,拥 有ARM (Advanced RISC Machines)和DSP (Digital SingnalProcessor,数字信号处理器) 双CPU (Central Processing Unit,中央处理单元)内核的高端嵌入式开发平台,主频高达 720MHZ。该平台上拥有丰富的硬件接口如USB (Universal Serial Bus,通用串行总线)、网 卡、IDE硬盘接口 (Integrated DriveElectronics)等等,因此可以选择在该平台上开发一 款高性能和拥有广泛业务(包括电子商务,股票交易,视频聊天等)的IPTV (Interactive Personality TV, Inte潔tProtocol TV,交互式网络电视)机顶盒。

发明内容
技术问题本发明的目的是提供一种用于混合对等计算网网络电视流媒体服务器 的实现方法,是专门针对匿6446平台的基于P2P协议的IPTV机顶盒流媒体服务器系统的 解决方案,解决其GUI设计、建立RTSP连接、与EPG(ElectronicProgram Guide,电子节目 单)服务器交互、发送数据、节目管理以及对P2P数字机顶盒进行激励等问题,较之当前市 场上流行的流媒体服务器系统而言,该方案具有新颖性、灵活性、易扩展性和易操作性,并 且对于P2P数字机顶盒具有针对性,具有很好的市场前景。 技术方案本发明是为P2P数字机顶盒提供音、视频直播和点播服务。流媒体服务 器的工作原理可以描述为首先响应数字机顶盒的连接请求,返回服务器提供的可用方法, 然后建立会话,确定传输模式并传输数据。如果用户所请求的服务是直播,则将用户加入相 应的多播组中,使其接收多播数据;如果是点播请求,则为该用户单独创建一个线程,专门 传送请求的节目数据。在点播服务的过程中,P2P网络里的数字机顶盒节点每隔一段时间 就进行相互投票,流媒体服务器定时收集选票并进行处理,从而计算出每个用户的优先级, 通过区别服务的方式实现对数字机顶盒的激励作用。
该实现方法的步骤包括 步骤1).进行需求分析,对流媒体服务器系统需要完成的功能进行分析,并生成 需求分析文档, 步骤2).按照步骤1)的分析文档设计模块,对各模块的功能进行详细分析,生成 各个模块之间的逻辑关系和功能说明文档, 步骤3).按照步骤2)的文档,设计与实现缺省界面,在缺省界面中,显示服务器
5的配置与管理、节目信息管理、服务器启动的三个按钮以及用户连接显示、负载状况实时监 测两个窗口, 步骤4).按照步骤2)的文档,设计与实现服务器配置与管理功能,在弹出对话框
中配置服务器的首选端口 ,备选端口以及直播、点播和音频广播的节目路径, 步骤5).按照步骤2)的文档,设计与实现"节目信息管理"功能,该功能是利用流
媒体服务器的节目信息管理模块来实现的,该功能可实现对点播节目、直播节目以及音频
广播节目的分类管理,其中点播节目又细分为电影、电视剧、动漫,在下拉框中选择任意一
项,则下方列表框中显示相应的节目信息,包含节目的编号,名称,在存储设备中的具体路
径,右侧提供了对节目信息的"添加"、"删除"、"修改"、"查找"、"更新"操作,在直播节目管
理与音频广播节目管理中增加了选定当前直播/广播频道的按钮, 步骤6).按照步骤2)的文档,设计与实现"激励模块",P2P网络里面每隔一段时 间会在节点之间发起相互投票,该模块可以对收集到的选票进行数据处理,计算节点的信 誉值;"激励模块"的引入使得流媒体服务器系统能够对P2P网络中数字机顶盒节点进行激 励, 步骤7).按照步骤2)的文档,设计与实现"服务器启动"功能,该功能可使服务器 的用户信息收集模块处于监听状态, 一旦监听到来自用户的连接请求,则记录下连接用户 的ip端口号和请求的节目编号;接着启动"节目信息管理模块",根据节目编号在节目信息 数据库中查找到响应的节目记录信息,根据信息中提供的节目存放路径,在存储设备中找 到响应的音、视频文件;P2P网络里面每隔一段时间会在节点之间发起相互投票,选票信息 同样通过用户信息收集模块收集,收集到选票以后传给"激励模块"进行数据处理,从而计 算出节点的信誉值,根据信誉值分发给节点不同数量的彩票,使用彩票调度算法进行调度, 信誉值较高的节点在点播中得到的响应优先级相应较高, 步骤8).按照步骤2)的文档,设计与实现"用户连接显示"窗口,该窗口可以显示 出用户的ip,请求的节目名称,节目播放方式是直播、点播或音频广播,现在的播放状态以 及用户实时接收到的流量信息,流媒体服务器管理员通过右键点选某条记录可以选择终止 对相应用户的服务, 步骤9).按照步骤2)的文档,设计与实现"负载状况实时监测"窗口,该窗口分为 "网卡流量检测"和"服务器CPU负载监测"两个部分,分别用来显示网络流量以及服务器 CPU负载的实时数据信息。"激励模块"的引入使得流媒体服务器系统能够对P2P网络中数字机顶盒节点进行 激励的方法如下 步骤21).假定用户Q、 C2、 C3...的点播请求到达以后,激励模块通过用户信息收 集模块获得各个节点的信誉值RQ、 RC2、 RC3..., 步骤22).为每个用户建立服务线程,线程初始状态都为等待态, 步骤23).为每个用户线程分配一定的彩票额,彩票额的大小为,RCi,其中N为一
个固定的大数,RCi为用户经过归一化处理的信誉值。可以看出,信誉值越大的用户所获得
的彩票数就越大, 步骤24).采用彩票调度算法对用户线程进行调度,就可以使信誉值较大的用户 的数据更加及时地发送,以达到区分服务和激励的目标。
有益效果本发明通过对采用P2P技术的IPTV机顶盒的功能与需求进行详细划 分,采用模块化设计和人性化设计的思想,本着拥有良好的人机交互界面的原则,提出并实 现了 RTSP流媒体服务器系统。技术的关键点是不仅要满足机顶盒的各项功能需求,还要让 系统拥有稳定性、可靠性以及拥有良好的人机交互界面。下面我们给出具体说明
完善的功能通过对RTSP流媒体服务器功能与需求的详细划分,为了保证流媒 体服务器在各种情况下能正常工作,有必要对流媒体服务器的GUI与各个模块进行统一管 理。我们将流媒体服务器系统的GUI菜单设计成四部分,每一部分完成不同的功能,这样我 们可以在满足机顶盒用户各种请求的情况下进一步完善RTSP流媒体服务器的功能。整套 流媒体服务器系统,操作非常简便,不仅提供了音、视频直播、点播和音频广播服务功能,还 可对节目进行分类管理,对用户连接进行显示,更可以对网络流量和机器负载进行实时控 制,并可根据实际情况进行终止用户连接操作。 模块化设计整个RTSP流媒体服务器系统按照功能需求分成数个模块,模块之间 分工明确,耦合性低,可复用性高,便于系统的升级和重新配置,如用户信息收集模块、节目 信息管理模块、激励模块以及数据发送模块。 良好的系统扩展性由于系统模块之间采用的是独立模块化,功能并行层次化设 计,系统模块之间的通信机制完全采用层次化的结构,因此可以方便地添加新的功能,也可 以很容易地升级现有的功能,所以该系统具有很好的可扩展性。 高度的可靠性和稳定性通过对RTSP系统的单元测试,集成测试以及整个机顶盒 软硬件系统的系统测试表明该RTSP流媒体服务器系统运行良好,占用系统资源少,拥有良 好的容错机制以及灾难恢复能力,能够适应不同的处理器速度以及不同级别的网络速度。
易操作以及界面美观由于该系统采用人性化设计,并且对界面进行了美化,使得 该系统操作方便快捷,界面操作简单,功能强大,图形化显示一 目了然,具有较高的市场推 广潜质和商业应用价值。


图1是整个对等计算机顶盒系统的组成结构图。图中包括EPG/Tracker服务器、 流媒体服务器、对等计算机顶盒以及模拟电视机。表示采用P2P技术的IPTV网络逻辑拓扑 结构。 图2是流媒体服务器各模块划分关系图。系统模块包含用户信息收集模块、节目 信息管理模块、激励模块以及数据发送模块。其中激励模块只有在启动音、视频节目点播功 能时才会被启动。 图3是用户信息收集模块工作流程图。用户信息收集模块不光收集用户的服务请 求,而且收集P2P网络中传来的投票信息。将此信息进行数据处理后存放在数据库中留待 激励模块之用。 图4是节目信息管理模块工作流程图。节目的信息都存放在节目信息数据库中, 用户请求到来以后,在节目信息数据库中检索到相应的节目。同时,可以对数据库中的节目 记录进行添加、删除、修改、查找以及更新的操作。 图5是激励模块流程图。在激励模块中,根据用户的信誉值信息,为每个用户分发 一定量的彩票,使用彩票调度算法进行调度。相应的,使得信誉值较高的用户获得较高的响应优先级。 图6是数据发送模块详细设计图。打开文件,将数据打成TS包,使用RTP协议发 送数据包,此过程是循环进行的,直到音、视频文件发送完毕。
具体实施例方式
—.体系结构 整个对等计算机顶盒系统的组成结构如图1所示。从图1可以看出,流媒体服务器 在整个对等计算机顶盒系统中处于节目源的位置,通过详细的规划与设计,为对等计算机
顶盒系统提供音、视频节目源。在该图中,EPGServer用于发布节目信息,为用户提供电子节 目导航。Tracker用于在点播服务中向用户提供拥有其请求资源的节点信息。EPGServer、 Tracker以及流媒体服务器直接与数字机顶盒进行交互,节目图像通过模拟电视显示出来。
具体来看,流媒体服务器系统各个模块的划分如图2所示。在图2中,我们可以看 到流媒体服务器包括四个基本的模块用户信息收集模块、节目信息管理模块、激励模块以 及数据发送模块。P2P数字机顶盒发起RTSP请求以后,首先由用户信息收集模块收集到为 用户提供服务所需的一切信息,然后通过节目信息管理模块找到相应的节目数据,同时调 用激励模块对作业进行调度,排定响应优先级。最后,根据响应优先级,由数据发送模块对 用户分别发送相应的音、视频节目。其中,在点播服务中需要启动用户信息收集模块、节目
信息管理模块、激励模块和数据发送模块这四个模块;而在直播服务中则只需启动用户信 息收集模块、节目信息管理模块以及数据发送模块这三个模块。 —、方法流程 该部分详细说明发明内容各个部分的设计与实现
(l)GUI的设计与实现 通过对机顶盒功能的详细划分,我们将GUI设计分成四个部分,分别是"服务器的
配置与管理"、"用户连接的显示与管理"、"负载状况实时监测"以及"节目信息管理"。在不
同的部分实现不同的功能,"服务器的配置与管理"用于配置服务器的首选端口号,备选端
口号,设置用于存放节目资源的存储设备的地址以及用于直播的资源、用于点播的资源和
用于广播的资源的详细存储路径,服务器的配置应先于服务器的启动,否则采用默认值对
服务器进行配置;"用户连接的显示与管理"用于显示实时连接的用户信息,信息包含用户
的ip,请求节目的方式(直播/点播/音频广播),请求的节目名称,现在的播放状态以及
该用户实时接收到的流量大小等等信息;流媒体服务器的管理员可以通过此部分终止对某
个用户提供服务;"负载状况实时监测"用于实时监测网络上的流量信息和流媒体服务器的
负载状况,可以使得流媒体服务器的管理员实时监测这两个信息,在服务器负载或是网络
流量过大的时候可以终止掉一些实时流量较大的用户连接;"节目信息管理"用于对直播节
目、点播节目和音频广播节目进行管理。对于这些分类的节目信息,可以进行添加、删除、修
改、查找和更新的操作,其中对于直播节目还可以进行配置,用于选定当前的直播频道。
(2)用户信息收集模块 用户信息收集模块是流媒体服务器系统中直接与P2P网络交互的模块,它在流 媒体服务器系统中的地位就相当于是连接服务器与机顶盒节点的纽带与桥梁。P2P网 络中的数字机顶盒节点向流媒体服务器发送服务请求,内容包含数字机顶盒节点的ID,IP (Internet Protocol,互联网协议地址),端口号,请求收看的节目编号信息。流媒体服务 器接收到一个请求以后,通过信息收集模块把数字机顶盒节点包含的信息存入数据库中, 如果发现已有记录,就检查是否需要更新。 在交互过程中,网络中节点的表现会不时地更新,更新将通过如下的方式进行如 果节点P与其它节点进行了交互,它的表现情况需要更新,则所有与P相交互过的节点都将 选票发往用户信息收集模块,这样用户信息收集模块就收集到了网络中节点P的表现值。 投票的过程如下网络中的每个与P交互过的节点s用一个三元组集W来存储以往文件 交互活动所有的历史记录信息,其中每张选票表示为W = (servent」d,皿nu)lus,皿m— minus) 。 servent」d在这里就是数字机顶盒节点P在P2P网络中的唯一标识,num_plus和 numjiii皿s分别表示与P交互活动中下载成功的次数与下载失败的次数。流媒体服务器的 用户信息收集模块根据接收到的所有对节点P的选票中皿m—plus和皿mjiii皿s的值进行 计算,皿nu)lus-皿mjiii皿s > 0即视为可信票,反之视为不可信票。根据节点P的可信票 的数量与不可信票的数量可以计算出P的可信度,我们称之为P的信誉值。类似的,计算出 所有节点的信誉值,并存入数据库中。 存储在数据库中的节点信息是实时更新的,这些节点信息需要分两类进行处理。
一类是节目编号信息,根据数字机顶盒节点请求的节目编号,在节目信息数据库中找到相
应的记录,可以定位到存储设备中的具体音视频文件;另一类是请求节点的信誉值信息,信
誉值信息从数据库中取出后直接发送给流媒体服务器的激励模块做相应处理。 另一方面,流媒体服务器根据用户信息收集模块收集到的信息,将一部分请求收
看同一节目的机顶盒节点的信息返回给请求服务的节点,请求服务的机顶盒节点在收到流
媒体服务器的信息反馈以后,就能获取其他下载者的信息,那么它就可以根据这些获取的
信息与其他下载者建立连接,从它们那里下载文件片段。用户信息收集模块工作流程如图
3所示。
(3)节目信息管理模块 在整个流媒体服务器系统中,音视频节目数据是流媒体服务器直接提供给终端的 资源,流媒体服务器对它们的管理至关重要。因此节目信息管理模块必须能够提供高效率, 全方位,安全性好的节目信息管理服务。 节目信息管理模块与用户界面直接关联,其主要分为直播频道管理,点播频道管 理和广播频道管理三部分。用户通过界面模块将添加,修改,删除,查找,更新节目的命令发 送给后台节目信息数据库,在数据库中,根据用户的命令进行相应的操作。以更新后的节目 信息替代原有的节目信息,保存在数据库中。同时,节目信息管理模块根据用户信息收集模 块发送过来的请求节目编号信息,从数据库中检索到相应的节目信息,发送给激励模块。节 目信息管理模块工作流程如图4所示。 在图4中可以看出,节目信息数据库是整个节目信息管理模块的核心。有用户信 息收集模块收集到的用户请求的节目信息需要到节目信息数据库中去匹配,从而将节目详 细信息发送给激励模块。同时,用户也可以通过界面实现对节目信息数据库的更新工作,更 新过的节目记录将返回给界面,重新显示出来。
(4)激励模块 有了用户信息收集模块综合计算出的请求节点的信誉值,以及节目信息管理模块给出的节目名称和存储路径,激励模块便可以对服务等级进行划分,从而在流媒体服务器 中实现对P2P网络节点的激励作用。 在P2P数字机顶盒系统中,可用资源,即可以用来提供流媒体内容的资源,主要分 为两部分{S, C}。其中S是指流媒体服务器端的可用资源,C指机顶盒系统客户端贡献出 的资源。因此,在系统中,可用资源总量T可以表示为T二S+C。其中,S可以看作是一个常
量,而c是一个可变量,它是指网络中所有终端贡献资源量的总和,即c-。Ci是每一个
/=〗
单独的终端可以贡献的资源量。经过分析可知,一个节点在网络中的活动交互对象主要是 流媒体服务器和其它节点,因此,节点贡献资源的多少就可能同以下几个因素有关系节点 自愿、其他节点对它的作用力、服务器对它的作用力。 作出假设节点自愿性因子为ai,其他节点对其作用力因子为Oi,服务器对其作用 力因子为Si,其中,ai+Oi+Si = 1, (i = 1,2,... ,N)。那么可以得出以下公式C = Z C, = J] (a,C, + o,C, + 5,C,) 在上式中,ai是一个相对固定值。Oi和Si是可变量。现有的P2P网络中,主要是 通过激励机制的引入,来增大Oi的值。在带有激励机制的P2P数字机顶盒流媒体服务器设 计过程中,主要是通过激励模块引入并增大Si的值实现提高C的值。 在激励模块中,为了对节点区别服务,以实现激励的目标,本文将采用彩票调度算 法对每个用户的数据发送线程进行调度,以保证那些信誉值较高的节点的数据能够更加及 时地发送。激励模块具体的工作流程如下 1.用户点播请求到达以后(假定用户是Q、 C2、 C3...),激励模块通过用户信息收
集模块获得各个节点的信誉值RQ、 RC2、 RC3...; 2.为每个用户建立服务线程,线程初始状态都为等待态; 3.为每个用户线程分配一定的彩票额,彩票额的大小为,RCi,其中N为一个固定 的大数,RCi为用户的信誉值(经过归一化处理)。可以看出,
信誉值越大的用户所获得的彩票数就越大; 4.采用彩票调度算法对用户线程进行调度,就可以使信誉值较大的用户的数据更 加及时地发送,以达到区分服务和激励的目标。 激励模块整体工作流程如图5所示,在上述的激励模块的作用下,可以看出,当服 务器的处理能力充足,即用户数较小时,能够保证所有的用户都能得到及时的响应,既使它 的彩票数较小;而当用户数量很大,服务器出现性能瓶颈时,就可以保证那些信誉值较高的 用户能够得到优于其它节点的服务,从而达到激励的目标。
(5)数据发送模块 流媒体服务器通过数据发送模块完成各响应优先级队列中的相应任务。将音视频 数据先后发送给P2P网络中相应的数字机顶盒节点。数据发送模块是实现流媒体服务器功 能的核心模块,也是实现上难度最大的模块之一。我们在该模块的设计过程中,不但要在服 务器端实现功能,还要与数字机顶盒端的接收过程实现匹配,图6是数据发送模块的详细 设计图。 如图6所示,数据发送模块具体实现流程可划分为如下步骤
10
1)发送数据之前,我们首先使用fopen()函数以"rb" ( 二进制只读)的方式打开 TS格式的音视频文件; 2)使用OutPacketBuf f er 0函数分配缓冲区的大小,缺省的最大值设置为 60000 ; 3)使用PackFrame 0函数读取 一 帧数据放到缓冲区中。由于我们这里是就 TS (Transport Stream)格式而言的,TS包的特点就是每 一 个包的大小都是188字节, 并且每一个包内的音视频信息都是同步的,所以按帧选取数据放入缓冲区的过程中, PackFrame ()函数读取188字节的整数倍,按照音视频数据码率的不同而读取不同的倍数。 例如,可以读7倍,即读取188*7。 PackFrame ()函数中是调用fread()函数来读取数据的。 4)判断缓冲区中是否有足够的空间,如果有的话就重复执行步骤(3)所述的读取 过程,直到缓冲区的空余空间不足以存放下一帧数据,此刻我们将下一帧数据保存,等待缓 冲区空闲的时候再进行填入; 5)使用SendPacket()函数发送数据包,发送的同时,将发送掉的数据从发送缓冲 区中删除; 6)如果没有需要发送的数据帧,就关闭打开的文件;如果还有数据帧需要发送, 则使用SendPacketI预ecessery()函数计算出下一个数据包的发送时间,等待计算出时间 以后,再回过去执行步骤5)。
该实现方法的步骤包括 步骤1).进行需求分析,对流媒体服务器系统需要完成的功能进行分析,并生成 需求分析文档, 步骤2).按照步骤1)的分析文档设计模块,对各模块的功能进行详细分析,生成 各个模块之间的逻辑关系和功能说明文档, 步骤3).按照步骤2)的文档,设计与实现缺省界面,在缺省界面中,显示服务器 的配置与管理、节目信息管理、服务器启动的三个按钮以及用户连接显示、负载状况实时监 测两个窗口, 步骤4).按照步骤2)的文档,设计与实现服务器配置与管理功能,在弹出对话框
中配置服务器的首选端口 ,备选端口以及直播、点播和音频广播的节目路径, 步骤5).按照步骤2)的文档,设计与实现"节目信息管理"功能,该功能是利用流
媒体服务器的节目信息管理模块来实现的,该功能可实现对点播节目、直播节目以及音频
广播节目的分类管理,其中点播节目又细分为电影、电视剧、动漫,在下拉框中选择任意一
项,则下方列表框中显示相应的节目信息,包含节目的编号,名称,在存储设备中的具体路
径,右侧提供了对节目信息的"添加"、"删除"、"修改"、"查找"、"更新"操作,在直播节目管
理与音频广播节目管理中增加了选定当前直播/广播频道的按钮, 步骤6).按照步骤2)的文档,设计与实现"激励模块",P2P网络里面每隔一段时 间会在节点之间发起相互投票,该模块可以对收集到的选票进行数据处理,计算节点的信 誉值;"激励模块"的引入使得流媒体服务器系统能够对P2P网络中数字机顶盒节点进行激 励, 步骤7).按照步骤2)的文档,设计与实现"服务器启动"功能,该功能可使服务器的用户信息收集模块处于监听状态, 一旦监听到来自用户的连接请求,则记录下连接用户 的ip端口号和请求的节目编号;接着启动"节目信息管理模块",根据节目编号在节目信息 数据库中查找到响应的节目记录信息,根据信息中提供的节目存放路径,在存储设备中找 到响应的音、视频文件;P2P网络里面每隔一段时间会在节点之间发起相互投票,选票信息 同样通过用户信息收集模块收集,收集到选票以后传给"激励模块"进行数据处理,从而计 算出节点的信誉值,根据信誉值分发给节点不同数量的彩票,使用彩票调度算法进行调度, 信誉值较高的节点在点播中得到的响应优先级相应较高, 步骤8).按照步骤2)的文档,设计与实现"用户连接显示"窗口,该窗口可以显示 出用户的ip,请求的节目名称,节目播放方式是直播、点播或音频广播,现在的播放状态以 及用户实时接收到的流量信息,流媒体服务器管理员通过右键点选某条记录可以选择终止 对相应用户的服务, 步骤9).按照步骤2)的文档,设计与实现"负载状况实时监测"窗口,该窗口分为 "网卡流量检测"和"服务器CPU负载监测"两个部分,分别用来显示网络流量以及服务器 CPU负载的实时数据信息。"激励模块"的引入使得流媒体服务器系统能够对P2P网络中数字机顶盒节点进行 激励的方法如下 步骤21).假定用户Q、 C2、 C3...的点播请求到达以后,激励模块通过用户信息收 集模块获得各个节点的信誉值RQ、 RC2、 RC3..., 步骤22).为每个用户建立服务线程,线程初始状态都为等待态, 步骤23).为每个用户线程分配一定的彩票额,彩票额的大小为,RCi,其中N为一
个固定的大数,RCi为用户经过归一化处理的信誉值。可以看出,信誉值越大的用户所获得
的彩票数就越大, 步骤24).采用彩票调度算法对用户线程进行调度,就可以使信誉值较大的用户 的数据更加及时地发送,以达到区分服务和激励的目标。 RTSP流媒体服务器经过编辑、编译和链接生成可执行文件后,我们就可以用这个 可执行文件或者说是RTSP流媒体服务器来提供音、视频节目的点播和直播服务。我们按照 RTSP流媒体服务器的设计流程来介绍,采用遍历整个GUI菜单的方式描述流媒体服务器系 统各个部分在开发中所处的位置以及功能,这样便可以体现出我们对整个流媒体服务器系 统的总体规划以及详细设计
1缺省界面的设计与实现 启动系统后,首先显示的是缺省显示界面,在缺省界面中,显示"服务器的配置与 管理","节目信息管理","服务器启动"三个按钮以及"用户连接显示","负载状况实时监测" 两个窗口。其中,"用户连接显示"和"负载状况实时监测"两个窗口显示的信息是随着系统 的运行而实时变化的。 2 "服务器的配置与管理"的设计与实现 选定"服务器的配置与管理"按钮以后即可在界面中弹出一个"服务器配置与管 理"对话框,在该对话框中根据提示对服务器的各项参数进行配置。其中我们可以配置服务 器的首选端口号、备选端口号,用于直播的节目存放路径、用于点播的节目存放路径以及用 于广播的节目存放路径。
3 "节目信息管理"的设计与实现 选定"节目信息管理"按钮以后,界面显示部分切换到"节目信息管理"页面。该 页面分为"点播节目管理"、"直播节目管理"与"音频广播节目管理"三个部分。在"点播 节目管理"中,通过下拉列表对节目进行分类,如电影、电视剧、动漫等。而选择任意一项以 后,在下面的列表框中便会显示出该项的所有节目信息,包含节目的编号、节目名称以及节 目的实际存放路径。在右侧提供了一系列按钮,诸如"添加节目","删除节目","修改节目记 录","查找节目","更新节目"等等。其中,"直播节目管理"与"音频广播节目管理"中又提 供了选定当前直播/广播频道的按钮。
4 "服务器启动"的设计与实现 点选"服务器启动"按钮以后,即可启动服务器。此时,"用户信息收集模块"处于
监听状态, 一旦监听到来自用户的连接请求,则记录下连接用户的ip,端口号和请求的节目
编号浪着启动"节目信息管理模块",根据节目编号在节目信息数据库中查找到响应的节
目记录信息,根据信息中提供的节目存放路径,在存储设备中找到相应的音、视频文件;P2P
网络里面每隔一段时间会在节点之间发起相互投票,选票信息同样通过用户信息收集模块
收集,收集到选票以后传给"激励模块"进行数据处理,从而计算出节点的信誉值,根据信誉
值分发给节点不同数量的彩票,使用彩票调度算法进行调度,信誉值较高的节点在点播中
得到的响应优先级相应较高。 5 "用户连接显示"的设计与实现 在"用户连接显示"窗口中显示的是连接服务器的用户信息。当一个用户连接请 求到来以后,该窗口可以显示出用户的ip,请求的节目名称,节目播放方式(直播/点播/ 音频广播),现在的播放状态以及用户实时接收到的流量信息,流媒体服务器管理员通过右 键点选某条记录可以选择终止对相应用户的服务。
6 "负载状况实时监测"的设计与实现"负载状况实时监测"窗口分为两个部分,分别是"网卡流量检测"和"服务器CPU 负载监测"。这个部分的设计可以使得流媒体服务器的管理员实时监测这两个信息,在服务 器负载或是网络流量过大的时候可以终止掉一些实时流量较大的用户连接。
权利要求
一种用于混合对等计算网网络电视流媒体服务器的实现方法,其特征在于该实现方法的步骤包括步骤1).进行需求分析,对流媒体服务器系统需要完成的功能进行分析,并生成需求分析文档,步骤2).按照步骤1)的分析文档设计模块,对各模块的功能进行详细分析,生成各个模块之间的逻辑关系和功能说明文档,步骤3).按照步骤2)的文档,设计与实现缺省界面,在缺省界面中,显示服务器的配置与管理、节目信息管理、服务器启动的三个按钮以及用户连接显示、负载状况实时监测两个窗口,步骤4).按照步骤2)的文档,设计与实现服务器配置与管理功能,在弹出对话框中配置服务器的首选端口,备选端口以及直播、点播和音频广播的节目路径,步骤5).按照步骤2)的文档,设计与实现“节目信息管理”功能,该功能是利用流媒体服务器的节目信息管理模块来实现的,该功能可实现对点播节目、直播节目以及音频广播节目的分类管理,其中点播节目又细分为电影、电视剧、动漫,在下拉框中选择任意一项,则下方列表框中显示相应的节目信息,包含节目的编号,名称,在存储设备中的具体路径,右侧提供了对节目信息的“添加”、“删除”、“修改”、“查找”、“更新”操作,在直播节目管理与音频广播节目管理中增加了选定当前直播/广播频道的按钮,步骤6).按照步骤2)的文档,设计与实现“激励模块”,P2P网络里面每隔一段时间会在节点之间发起相互投票,该模块可以对收集到的选票进行数据处理,计算节点的信誉值;“激励模块”的引入使得流媒体服务器系统能够对P2P网络中数字机顶盒节点进行激励,步骤7).按照步骤2)的文档,设计与实现“服务器启动”功能,该功能可使服务器的用户信息收集模块处于监听状态,一旦监听到来自用户的连接请求,则记录下连接用户的ip端口号和请求的节目编号;接着启动“节目信息管理模块”,根据节目编号在节目信息数据库中查找到响应的节目记录信息,根据信息中提供的节目存放路径,在存储设备中找到响应的音、视频文件;P2P网络里面每隔一段时间会在节点之间发起相互投票,选票信息同样通过用户信息收集模块收集,收集到选票以后传给“激励模块”进行数据处理,从而计算出节点的信誉值,根据信誉值分发给节点不同数量的彩票,使用彩票调度算法进行调度,信誉值较高的节点在点播中得到的响应优先级相应较高,步骤8).按照步骤2)的文档,设计与实现“用户连接显示”窗口,该窗口可以显示出用户的ip,请求的节目名称,节目播放方式是直播、点播或音频广播,现在的播放状态以及用户实时接收到的流量信息,流媒体服务器管理员通过右键点选某条记录可以选择终止对相应用户的服务,步骤9).按照步骤2)的文档,设计与实现“负载状况实时监测”窗口,该窗口分为“网卡流量检测”和“服务器CPU负载监测”两个部分,分别用来显示网络流量以及服务器CPU负载的实时数据信息。
2. 根据权利要求1所要求的用于混合对等计算网网络电视流媒体服务器的实现方法, 其特征在于"激励模块"的引入使得流媒体服务器系统能够对P2P网络中数字机顶盒节点 进行激励的方法如下步骤21).假定用户Cp(^、C3...的点播请求到达以后,激励模块通过用户信息收集模块获得各个节点的信誉值RQ、 RC2、 RC3...,步骤22).为每个用户建立服务线程,线程初始状态都为等待态,步骤23).为每个用户线程分配一定的彩票额,彩票额的大小为,RCi,其中N为一个固 定的大数,RCi为用户经过归一化处理的信誉值。可以看出,信誉值越大的用户所获得的彩 票数就越大,步骤24).采用彩票调度算法对用户线程进行调度,就可以使信誉值较大的用户的数 据更加及时地发送,以达到区分服务和激励的目标。
全文摘要
用于混合对等计算网网络电视流媒体服务器的实现方法,是专门针对DM6446平台的基于P2P协议的IPTV机顶盒流媒体服务器系统的解决方案,解决其GUI设计、建立RTSP连接、与EPG(Electronic Program Guide,电子节目单)服务器交互、发送数据、节目管理以及对P2P数字机顶盒进行激励等问题,较之当前市场上流行的流媒体服务器系统而言,该方案具有新颖性、灵活性、易扩展性和易操作性,并且对于P2P数字机顶盒具有针对性,具有很好的市场前景。本发明通过对采用P2P技术的IPTV机顶盒的功能与需求进行详细划分,采用模块化设计和人性化设计的思想,本着拥有良好的人机交互界面的原则,提出并实现了RTSP流媒体服务器系统。
文档编号H04L29/06GK101699860SQ200910184930
公开日2010年4月28日 申请日期2009年10月21日 优先权日2009年10月21日
发明者吴敏, 唐鑫, 徐鹤, 支萌萌, 李玲娟, 李致远, 王汝传, 韩志杰 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1