标签:电子小制作,http://www.5idzw.com
IPTV系统中EPG模块的设计与实现,http://www.5idzw.com
具体实现 根据设计目的和MVC模式,考虑到用户使用的终端设备为机顶盒,在客户端需要一些与机顶盒有关的特殊处理,服务器处理请求的实现过程分为五个层次,如图3所示。
过程如下: (1)用户在首页单击“最新影片”,经过用户端控制层处理(关闭在首页播放的广告视频)后,请求被提交到服务器进行处理。 (2)请求和响应层开始处理请求,保存上一页有关的状态,并且初始化一些变量(如取数据的类、保存页面所有信息的变量)。 (3)逻辑处理层计算数据库中要取的热门影片的起始位置和数量。 (4)调用数据访问层的接口开始从数据库里面取出热门影片的信息(节目名称、价格、简介、海报图片名称等)。 (5)逻辑处理层对取到的数据进行转换,转换后的所有数据保存在一个变量中,这个变量要传递给显示结果的页面。 (6)请求和响应层调用显示结果的页面和用户端的控制代码,生成HTML代码。 (7)机顶盒解析传递过来的HTML页面,初始化光标位置,将热门影片信息显示给用户。
开发之前,在设计文档中定义预先定义页面展示层和逻辑处理层、逻辑处理层和数据访问层的接口。每一部分的开发人员只须关心自己所做的部分,使用其它层提供的接口调用其它层的功能。这样各个部分的开发可以并行工作,大大提高了开发速度。
数据访问层和逻辑处理层可以很容易编写单元测试来测试自己的代码,不受其它层的代码的影响,很大程度上提高了软件的质量。同时后期的维护也是很方便的,如果需求有变,只须改动需求变化所在层次的代码,不用关心其它层代码是否要改动。
整个EPG模块每个页面的编码都遵循这种规则。同时我们提供给客户一个EPG参考手册,主要是取数据的接口函数和用户端处理层 JavaScript函数的使用说明。客户只需要掌握一个页面的制作过程和所提供的使用手册中的函数调用方法,并具有一定的编程水平,就可在很短的时间内独立编写自己的EPG。
3.3 EPG性能测试 为了测试EPG性能是否达到了当初的设计要求,使用LoadRunner测试工具对EPG服务器进行了性能测试,测试最主要的指标是不同并发用户数时的事务响应时间,它是服务器性能最重要的指标。
测试的硬件环境为:CPU Intel(R) Pentium(R)4 2.40GHz,内存 1GB,网卡 1GB/s。软件环境为:操作系统 RedHat 9.0, Apache 2.0.50,MySQL 4.0.21,PHP 4.3.9RC3-dev,Squid 2.5 STABLE1。
LoadRunner模拟测试并发用户数为220、500,测试EPG服务器的事务响应时间和事务完成情况。服务器响应时间和事务完成情况测试数据如表1和表2所示。从测试数据看,当并发用户数为500时,没有出现事务失败的情况,平均响应时间不超过3秒。对用户来说,这个时间是可以接受的。说明采用这种设计方法开发EPG,服务器的性能也达到了预先的要求。
从以上的测试和分析可以看出,使用上文所说的设计方法开发EPG总体上达到了预先的设计原则。
4 结束语 本文阐述了一个IPTV系统模型及其EPG模块的设计和实现,在实际应用中也证明了我们的设计方法对快速开发易维护、方便扩展的EPG是正确和可行的。随着IPTV的发展和用户数的增多,今后需要在服务器的性能方面和EPG的个性化方面进行更深入的研究。
具体实现 根据设计目的和MVC模式,考虑到用户使用的终端设备为机顶盒,在客户端需要一些与机顶盒有关的特殊处理,服务器处理请求的实现过程分为五个层次,如图3所示。
过程如下: (1)用户在首页单击“最新影片”,经过用户端控制层处理(关闭在首页播放的广告视频)后,请求被提交到服务器进行处理。 (2)请求和响应层开始处理请求,保存上一页有关的状态,并且初始化一些变量(如取数据的类、保存页面所有信息的变量)。 (3)逻辑处理层计算数据库中要取的热门影片的起始位置和数量。 (4)调用数据访问层的接口开始从数据库里面取出热门影片的信息(节目名称、价格、简介、海报图片名称等)。 (5)逻辑处理层对取到的数据进行转换,转换后的所有数据保存在一个变量中,这个变量要传递给显示结果的页面。 (6)请求和响应层调用显示结果的页面和用户端的控制代码,生成HTML代码。 (7)机顶盒解析传递过来的HTML页面,初始化光标位置,将热门影片信息显示给用户。
开发之前,在设计文档中定义预先定义页面展示层和逻辑处理层、逻辑处理层和数据访问层的接口。每一部分的开发人员只须关心自己所做的部分,使用其它层提供的接口调用其它层的功能。这样各个部分的开发可以并行工作,大大提高了开发速度。
整个EPG模块每个页面的编码都遵循这种规则。同时我们提供给客户一个EPG参考手册,主要是取数据的接口函数和用户端处理层 JavaScript函数的使用说明。客户只需要掌握一个页面的制作过程和所提供的使用手册中的函数调用方法,并具有一定的编程水平,就可在很短的时间内独立编写自己的EPG。
3.3 EPG性能测试 为了测试EPG性能是否达到了当初的设计要求,使用LoadRunner测试工具对EPG服务器进行了性能测试,测试最主要的指标是不同并发用户数时的事务响应时间,它是服务器性能最重要的指标。
测试的硬件环境为:CPU Intel(R) Pentium(R)4 2.40GHz,内存 1GB,网卡 1GB/s。软件环境为:操作系统 RedHat 9.0, Apache 2.0.50,MySQL 4.0.21,PHP 4.3.9RC3-dev,Squid 2.5 STABLE1。
LoadRunner模拟测试并发用户数为220、500,测试EPG服务器的事务响应时间和事务完成情况。服务器响应时间和事务完成情况测试数据如表1和表2所示。从测试数据看,当并发用户数为500时,没有出现事务失败的情况,平均响应时间不超过3秒。对用户来说,这个时间是可以接受的。说明采用这种设计方法开发EPG,服务器的性能也达到了预先的要求。
从以上的测试和分析可以看出,使用上文所说的设计方法开发EPG总体上达到了预先的设计原则。
4 结束语 本文阐述了一个IPTV系统模型及其EPG模块的设计和实现,在实际应用中也证明了我们的设计方法对快速开发易维护、方便扩展的EPG是正确和可行的。随着IPTV的发展和用户数的增多,今后需要在服务器的性能方面和EPG的个性化方面进行更深入的研究。
表1 EPG服务器响应时间
事务 模拟用户数 登录EPG 浏览VOD菜单 浏览TV菜单 返回首页 220 最大响应时间 4.456 3.464 4.048 4.035 最小响应时间 0.034 0.017 0.038 0.016 平均响应时间 0.297 0.279 0.0941 0.245 500 最大响应时间 10.465 9.087 8.53 8.551 最小响应时间 0.035 0.017 0.038 0.016 平均响应时间 2.611 1.934 2.471 2.054
表2 事务执行统计
事务 模拟用户数 登录EPG 浏览VOD菜单 浏览TV菜单 返回首页 220 共执行次数 26010 26010 26010 26010 通过次数 26010 26010 26010 26010 失败次数 0 0 0 0 500 共执行次数 82904 82904 82904 82904 通过次数 82904 82904 82904 82904 失败次数 0 0 0 0
参考文献:
上一篇:电视机加接耳机的简单方法