基于DOM树的Helix Server后台管理系统优化

2013-09-18 10:30邹臣嵩
微型电脑应用 2013年8期
关键词:视频点播配置文件后台

邹臣嵩

0 引言

Helix Server是Real Netwoks 公司发布的流媒体服务软件,其管理功能丰富,具备技术成熟、稳定性高和跨平台等特点,目前已成为高校视频点播系统的首选后台服务组件。在实际应用中,常通过二次开发的方式,将其与现有的视频点播系统集成,满足不同层次的需求,文献[1]与文献[2]使用动态网页与数据库技术将Helix Server与校园VOD系统融为一体;文献[3]使用Oracle Inter Media中的ORDVideo对象存储视频文件,实现了Oracle数据库与Helix Server的无缝连接;文献[4]采用分流与多进程服务技术提高了它的运行效率。我校的VOD系统于2007年投入使用,其结构是“LAMP+Helix Server”,管理系统采用Helix server自带的WEB后台管理程序,在使用中我们发现Helix Server直接作为VOD后台服务组件,存在以下问题:

① 配置文件体积庞大,载入内存后,占用资源较多,VOD系统的整体性能受到影响;

② 后台管理程序中的选项与参数关联性差,布局不合理,配置繁琐,使用时易遗漏选项;

③ 部分功能略显冗余,“MIME 类型”、“连接控制”、“用户指派商业应用规则”等功能从未被使用过;

本文根据XML使用元素和属性来描述数据这一特性,将Helix Server的配置文件转换为一个规范的XML 文档,作为配置选项与参数的存储载体,并利用XML的DOM方式对Helix Server的后台管理系统进行优化,提高了VOD系统的整体性能。

1 XML树状结构配置文件

XML(eXtensible Markup Language)是由万维网联盟(W3C)设计,通用标记语言SGML(Standard General Markup Language)的一个子集[5]。XML具有数据描述简洁明了、开放性强、结构化特征明显等特点,可以用来描述各种复杂数据,用户可以根据需要自行定义数据结构与数据内容[6]。XML提供了一种树状数据组织方式,通过 XML 的 DOM模型我们可以对这种树状结构进行解析,DOM模型在解析文档时先将整个XML文档扫描一遍,得到独立的元素、属性和注释等,然后,以结点树的形式在内存中创建XML文档的表示,每一个节点代表一个可以和之交互的对象。用户可以通过结点树访问文档的内容,并根据需要修改文档[7]。

借鉴文献[8]中提出的“基于 DOM 树的可适应性信息抽取方法”以及 Helix Server原配置文件中各选项与参数间的结构关系,笔者重新构建了具有结构化特征的XML树状文件,该文件可以视为一棵具有多个交互功能节点构成的节点树。重新构建的配置文件,保留了Helix Server的常用功能,如端口设置、加载点设置、日志管理等。限于篇幅,本文只介绍配置文件中的端口模块与文件系统管理模块,文件结构,如图1所示:

图1 树形结构的配置文件

各节点描述如下:

① root为根节点,用于标识配置文件的初始位置;

② PortVar为端口参数节点,用于描述常规视频服务端口,其子节点分别是RTSP端口、HTTP端口和系统监控端口;

③ FileSystem为文件系统管理参数节点,用于描述视频基本信息,其子节点分别是协议类型、资源位置和文件目录。

根据图 1中父节点与其子节点的结构关系,构建的XML配置文件,如图2和图3所示:

图2 端口模块

图3 文件系统管理模块

2 使用PHP+DOM读写XML文件

PHP( 即 Hypertext Preprocessor 超文本预处理器)是一种HTML 内嵌式的语言, 其独特的语法混合了C、Java、Perl 以及 PHP 式的新语法, 可以比 CGI 或者 Perl 更快速地执行动态网页, 已经成为一种得到广泛应用的服务器端脚本语言[9]。该语言能够与 XML 文档进行数据交换,借助PHP 中的 XML 解析器,应用程序可以正确提取并有效识别XML 文档的结构与内容。

2.1 读取配置文件的属性值

使用DOM 读取XML文件的基本步骤如下:

① 创建一个DOMDocument 对象;

② 载入XML文件;

③ 建立DOMXPath对象,设置路径;

④ 将符合条件的对象组成对象集合;

⑤ 从根结点遍历, 取出对象集合中的指定元素[10]。

以下代码为查询端口模块中父节点名为PortVar,子节点名为HTTPPort的属性值。

2.2 文件系统管理模块设计

Helix Server的文件系统管理模块包含文件名称(Name)、协议类型(ShortName)、资源位置(MountPoint)和文件目录(BasePath)4部分。由图3可知文件名称是List节点中 Name属性的内容,而协议、资源位置和文件目录都是List节点中的Var子节点的属性。因此,可以将文件名称、协议类型、资源位置和文件目录 4项分别存入二维数组$FS[n][n]的某一维中。

在添加文件系统到配置文件时,因为文件系统在内存中是一棵DOM树,所以先要找到DOM树的挂入点,然后再将四个子节点分别挂入。文件系统管理模块核心代码如下,文件系统管理界面,如图4所示:

图4 文件系统管理界面

3 结语

Helix Server的部分管理模块配置繁琐,结构复杂,不能完全适应高校对VOD平台的需求,本文利用XML技术和PHP脚本语言对Helix Server的后台管理系统进行了优化,保留了系统核心服务组件,剔除了不常用的管理组件,设计了全新的后台管理系统,全面取代Helix Server原有的管理程序,精简后的管理平台,具有良好的交互性与实用性,符合高校VOD系统的建设需要,如图5所示:

图5 精简后的管理平台

[1]刘 坤,郭卫兵,艾美剑. FREEBSD下基于用户认证的视频点播系统的设计与实现[J], 微 计 算 机 应用,2007, 28(9):949-953

[2]肖克曦,杜娟娟.基于 Web的教学流媒体视频点播系统[J], 计算机与现代化, 2007, (9):187-188

[3]孙彬,严卫东.基于Oracle10g和Helix Server在线视频播放应用研究[J], 计算机与现代化, 2009, (6):187-188

[4]郭健,陈孝威.基于Helix Server分流技术的VOD系统[A],第一届建立和谐人机环境联合学术会议(HHME2005)论文集[C],2005

[5]W3C Recommendation. Extensible Markup Language(XML)1.0(Second Edition),[OL[http://www.w3.org/TR/REC-xml-name/, Jan, 2004

[6]邹臣嵩,段桂芹.基于XML的VBScript交互性能优化[J],长春大学学报,2011,21(4):46-49

[7]冯进,丁博.XML解析技术研究[J],计算机工程与科学,2009, 31(2):120-123

[8]李朝,彭宏.基于DOM树的可适应性Web信息抽取[J],计算机科学, 2009,36(7):202-210

[9]史桂红.XML及 GDI_在便携式电子相册中的应用[J],计 算 机 系 统 应 用, 2013, 22(3):161-165

[10]李昕.脚本语言PHP的XML应用支持[J], 计算机与数字工程, 2007, 38(6):137-139

猜你喜欢
视频点播配置文件后台
今年订阅视频点播收入将超票房收入
互不干涉混用Chromium Edge
Wu Fenghua:Yueju Opera Artist
基于Zookeeper的配置管理中心设计与实现
忘记ESXi主机root密码怎么办
后台暗恋
为View桌面准备父虚拟机
流媒体的视频点播系统在微课堂中的应用研究
后台朋友
基于嵌入式Linux平台的网络视频点播系统