基于MIPS的嵌入式VOD代理服务器的实现

摘 要:
为解决目前中小型园区网VOD应用中的网络阻塞问题,提出了一种基于MIPS的嵌入式VOD代理服务器。介绍了该代理服务器的工作原理和实施方法,以及硬件和软件的设计与实现。在某校园网中的试运行表明,该代理服务器的使用效果良好,可广泛应用于中小型园区网VOD应用系统的建设与改造。

引 言
视频点播(video on demand,V0D)因其实时性,交互性及低成本的特点得到极为广泛的应用,除广域网VOD应用外,园区网VOD应用也因各种园区网内的培训,教学和娱乐等各种需求得到大量开展。园区网VOD应用结构简单、可控性好、利用率高,具有广阔的发展前景。

目前在园区网VOD应用中, 当出现较多用户并发使用时,其网络带宽及服务器I/O带宽成为瓶颈,网络阻塞现象十分严重。解决VOD应用时网络阻塞的方法目前主要有两种:①通过改善V0D服务器的流播放技术,提高同时连接的并发用户的个数,主要是采用各种组播算法来实现“ :②采用流媒体信源的分布式存储技术,如在网络边沿添加具有缓存能力的代理服务器 ,以减少骨干网、VOD服务器和网络入口的流量负担。

组播方法适用于具有一定规模的园区网或者VOD专用网中,但对于目前为数众多的中小型园区网,由于用户点播不
够集中,组播方法的效率并不高。在网络边沿添加具有缓存能力的代理服务器的方法对于各种规格的网络都可行,但是由于目前各种方案中代理服务器分管区域较广,面向的用户数较多,需要考虑用较为有限的存储空间内放置较多的媒体对象内容以及时响应用户点播请求,代理服务器需要采用将媒体对象分段缓存的复杂策略,只缓存媒体对象的部分内容,这需要对每个媒体对象数据进行分段,建索引等操作 ,为了提高效率,一般还需要对每个媒体对象的缓存窗口进行调整操作 ,这些操作对CPU处理能力要求较高,也需要耗费较多的内存,所以目前方案中的代理服务器一般采用服务器或者高档微机,这对于中小型园区网存在建设及运营成本过高的问题,同时因为代理服务器的安置管理等因素在实际操作中也面临困难。

在目前缓存代理服务器方案的基础上,通过进一步优化信源分布式存储的结构,提高分布度,细化代理服务器的服务范围,可以达到简化代理服务器的处理流程的目的。基于该思路,结合嵌入式技术,本文提出一种基于MIPS内CPU的嵌入式VOD代理服务器,该代理服务器具有工作流程简洁,所需资源少的特点。基于该代理服务器的VOD 应用方案具有成本低廉,易于部署及安置管理,适用性强,灵活性高,伸缩性好的特点,能较好地解决目前中小型园区网VOD应用面临的网络阻塞问题。

l 工作原理及实施方法
本代理服务器部署在园区网VOD点播用户群的汇聚点处,通过分析用户群对流媒体节目的点播情况,统计节目的热门度并缓存热门节目,在用户点播已缓存到本地的节目时,实时接替VOD服务器为用户提供服务,从而减轻骨干网络和VOD服务器I/O的压力,避免网络阻塞。

图1是本代理服务器的一个实施图,一个三层结构的园区网,交换机CSWI是核心交换机,DSW1⋯DSWn分别是用户群汇聚点的交换机,TSW1⋯TSWm分别是用户群中位于不同位置的若干用户汇聚点的交换机,本代理服务器部署在用户群汇聚点的交换机处,直接连接到DSW1⋯DSWn中的一个端口上,与TSW1⋯TSWm处于并列关系。系统运行时,连接在相应汇聚点交换机的本代理服务器将接收对应用户群发送的点播请求并进行处理,在多个同时工作时,本代理服务器具有协同能力,能根据各个代理服务器的负载实现缓存中内容的共享。

1

与常规的代理服务器相比,本代理服务器采用嵌入式架构,体积小,散热少,对工作环境要求低,在部署时可与交换机堆叠放置,不需要额外的专用放置空间,并且本代理服务器服务的用户数量相对较少,每个代理服务器面向一个用户群汇聚点或者其中的部分用户,具有更高的针对性和可伸缩性。在实际应用中,初次部署时可以根据需要只在点播较为集中的用户群汇聚点安装本代理服务器,当网络状况发生变化,点播请求增多时,只需在适当的网络节点增加一个或多个本代理服务器即可实现应用系统的升级。

2 系统设计
嵌入式VOD代理服务器的系统结构如图2所示,本代理服务器的硬件设计基于MIPS架构的CPU— 叫DT79RC32434,MIPS是业界领先的一种高效精简指令集计算机(RaSC)体系结构,具有低功耗,高性能的4寺-点,目前在各种嵌入式应用尤其是网络基础设备及家庭娱乐应用等方面得到广泛的应用。IDT79RC32434所基于的MIPS32 4Kc内核是特定为片上系统而设计的32位MIPS RISC内核,该内核融合了MIPS的R3000和R4000的优点,具有16个双入口的TLB,存储器管理单元(删)以及流水线化的乘除器,分别具有8 KB的指令和数据cache,执行的是MIPS32 ISA(instruction set architecture),高性能的内核带来的优异的处理能力,使得基于该内核的CPU被广泛应用于中小型设备中。79RC32434的主频可达到400MHz,片上集成了高性能的100 M/10 M 自适应以太网控制器,兼容PCI2.2标准,可配置为HOST模式的PCI总线接口及可支持高达1Gb容量的DDR内存接口,是一款高性价比的通信处理器脚,非常适合于嵌入式VOD代理服务器的设计。

2

嵌入式VOD代理服务器是功能复杂的设备,需要操作系统支持,嵌入式Linux具有开源免费,网络功能及文件系统功能强大、可配置性高等特点,非常适合于本应用场合。开源社区已经实现了MIPS体系结构的Linux移植,直接获取源码包并根据设计的硬件进行配置编译即可。

嵌入式VOD代理服务器功能的实现核心在于应用程序设计,根据前述的嵌入式VOD代理服务器特点,应用程序需要采取高效,简洁的策略与算法。

下面分别对本代理服务器的硬件设计和应用程序设计进行描述。

2.1 系统硬件设计
本代理服务器工作在园区网环境下,需要扩展网络接口,目前以太网在园区网中是主流,所以直接使用79RC32434片上集成的以太网控制器加外接物理层芯片的方案实现网络接口。同时本代理服务器需要廉价的大容量的存储空间作为VOD节目缓存,采用扩展IDE硬盘的方案具有较高的性价比,79RC32434片上集成了PCI HOST控制器,可以直接扩展IDE控制器,硬件结构如图3所示。

3

其中MEM29PL64LM 是8 MB的Flash存储器,MT46V64M16是128 MB的DDR SDRAM,RTL8201BL是网络物理层芯片,HPT372N是IDE控制器,SP0411是4O G的硬盘。下面分别对系统的存储器部分、IDE控制器部分、网络接口部分进行描述。

(1)存储器部分:系统的Flash存储器MEM29PL64LM具有8位数据和16位数据两种模式,在此采用8位数据模式,其地址线A.1,A[0:21]通过两片总线缓冲器74ALVC16244与79RC32434的地址线MADDR[0:22]相连接;MT 46V64M16是16位宽128 MB的DDR SDRAM,而79RC32434具有DDR SDl M的接口,可直接与MT46V64M16相连接。

(2)IDE控制器:系统的IDE控制器采用HighPoint公司的HPT372,它具有两个独立的IDE/ATA通道,支持最多4个设备,当被配置为ATA133时,支持超过133MB每秒的传输速率” 。79RC32434片上集成了PCI控制器, 可与HPT372直接连接,在本系统中79RC32434是主设备,HPT372是从设备。

(3)网络接口部分:RTL8201BL通过标准的MII(mediainde—pendent interfaces)接口与79RC32434相连; 网络接口引脚TPTX+、TPTX一、TPRX+、TPRX一通过网络变压器H1251电压转换后接到RJ45接口上。

2.2 系统应用程序设计
如图3所示,本代理服务器的应用程序包含4个模块:转发决策模块、响应点播请求模块、交互控制模块以及缓存数据管理模块,4个模块分别实现了本代理服务器的4个方面的核心功能,下面分别进行描述。

4

转发决策模块:用户向服务器发起的请求定向至本代理服务器,由转发决策模块接收。转发决策模块将根据本地缓存数据来决定如何处理该用户的请求:首先它判断本地缓存中是否有该用户请求点播的内容,如果有,转发决策模块直接将请求转发给本地响应点播请求模块,由响应点播请求模块代替服务器向用户提供点播服务。如果没有,则转发决策模块负责将用户请求转发到相邻的代理服务器或远程的中心VOD服务器, 同时根据一定的策略对节目点击数进行统计,当统计结果到达热门度阈值时向交互控制模块发送消息,请求获取该热门节目到本地。

响应点播请求模块:响应点播请求模块是一个守护进程,等待转发决策模块转发的用户点播请求,提供流媒体数据进行分解和传输服务,该模块采用多线程,为每个用户的请求开一个线程。响应点播请求模块采用了本地节目文件首次点播时进行线索化转换的功能,避免了每次为用户提供服务都要进行烦琐的文件解析及封包操作,大大提高工作效率。

交互控制模块:交互控制模块接收到转发决策模块的请求后,判断其附近是否存在任何一个代理服务器具有该节目,如果存在,则选择与之链路状态最好的代理服务器;如果不存在,则选择中心服务器。最后,交互控制模块将此决策信息包含在请求中发送给缓存数据管理模块。可以看出,交互控制模块指定了获取点播节目文件的目标主机地址。

缓存数据管理模块:缓存数据管理模块接收到请求后,可向交互控制模块指定的目标主机获取指定的文件。首先获取磁盘所剩空间以及欲缓存的文件的大小,据此采用LFU算法从磁盘中删除流行度相对较低的文件,腾出适当的磁盘空间以进行替换工作。然后再根据当时的网络状况选择一个适当的时机,向交互控制模块所指定的目标获取数据并缓存至本地磁盘,该模块中采用了媒体文件整体获取及缓存的方法,这大大减少了分段管理带来的系统开销,而多个代理服务器之间的协同和共享机制也保证了缓存的整体命中率。

3 试运行结果
设计完成后,我们在某校园网环境中进行了试运行:将嵌入式VOD代理服务器样机安装在校园网中运行,在使用嵌入式VOD代理服务器前,该校园网内的视频点播系统由于服务器I/O 及主干网络带宽的限制,只能同时为约100个用户提供服务。

在该校园网中的13栋宿舍楼安装了嵌入式VOD代理服务器,其中人数较多的7栋宿舍楼(约500个信息点)各安装了两个代理服务器,其余6栋宿舍楼(约300个信息点)各安装了一个代理服务器,最高能稳定服务的用户数可达到约800人,试运行证明嵌入式VOD 代理服务器达到预期的效果。并且由于每个代理服务器的成本仅为约600元, 平均功耗低12W,具有很低的部署及运营成本,在各种中小园区网中的VOD系统建设或升级中都具有很高的经济适用性。

4 结束语
本文针对园区网VOD应用中面临的网络阻塞问题提出了一个嵌入式VOD代理服务器,该代理服务器基于MIPS内核的处理器,操作系统采用嵌入式Linux,具有功耗低,体积小、便于部署、价格低廉的优点,通过校园网中的试行,效果良好。

该代理服务器为解决中小型园区网流媒体应用中面临的网络阻塞问题提供了一个高性价比的方案,对改进网络应用提供了一种新的思路,具有很强的实用意义和先进性。

杨震伦 , 蒋亚军 , 黄中伟
参考文献:
【1】 Gao L,Towsley D.Supplying instantaneous video—on—demand
services using controlled multicast[C]、Proc IEEE International
Conference on M ultimedia Computing an d Sysmms,1999:
1201—1212.
【2】 Sen S,Rexford K.Towsley D.Proxy prefix caching for multimedia
streams【C】.New York:Proceedings of the 1NFOCOM’99.
1999:1310—13l9、
[33 ] 姜昱明,周宁.VOD视频服务器上节 目的存储和调用 【J].计算
机工程与设计,2004,25(5):829—839、
【4】 QrN Shao—Hua,LI Zi—Mu,CAI Qing—Song,et a1.A novel delivery
strategy for streaming media based on proxy caching[J].Computer
Engineering,2005,3 1(2):33—35、
【5] 黄国强,倪秀英,陈卫东.基于OGSA的VOD系统的设计与实
现[J].计算机工程与设计,2006,27(22):4249-4251.
【6】 IDT Interprise.79RC32434 integrated communications pro.
cessor user reference manual[EB/OL].http://www.idt.comJ.
【7】HighPoint Technologies Inc.HPT372N data manual(Rev.1.2)
【EB/OL].http://www.microaurora.com.cn/

--电子创新网--
粤ICP备12070055号