面向并发服务的流媒体访问控制技术研究

时间:2012-05-31来源:网络

UDP层检查其目的端口(如果其UDP套接口已连接,也可能检查源端口),将数据报放到相应套接口的接收队列。如果需要,就唤醒线程,由线程读取这个新接收的数据报。

3.2 线程的调度控制

线程间通过互斥锁,实现循环控制,即在线程处理视频数据前通过互斥变量、信号灯加锁,主要代码如下:

sem_wait();

pthread_mutex_lock();

……

thread_next_flag=true;//设置下一个可执行线程标志

pthread_mutex_unlock();

sem_post();

为了实现有效的服务,需要保证视频数据流的传输具有相对的数据完整性。接收端常根据数据的到达情况通过RTP/RTCP协议的信息反馈,为服务器提供数据包接收情况的质量统计反馈信息和QoS检测的资料;对于接收端而言,数据的存放需要占用一定数量的缓存,以承受网络带宽波动,并在传输中增加一定冗余信息来重建丢失或受损的数据,减少数据重传。

按照上述策略,在Linux 9.0系统下编程实现了数据的传输,服务器的配置赛扬为2.0GHz,网卡为10/100M自适应。接收端为赛扬1.0GHz,网卡同样为10/100M,通过交换机互联。服务器预创建5个传输服务线程,图中为两个接收端的数据接收延迟情况,均传送2000个数据包,从统计的结果图来看,除了起始端出现较大的延迟外,延迟抖动均没有过大的变化。但在没有使用本文提出的调度控制的情况下,常常出现时延的急剧变化,即某一数据流出现了较大时延。

因此,本文的并发传输调度达到了使用要求,效果比较令人满意。

图1 多线程数据传送调度控制测试结果

4 结论

由于视频数据传输需要较大的数据吞吐量,容易出现网络丢包和延迟较大的情况,以致造成接收端视频抖动和明显滞后。视频数据传输时出现频繁抖动,最终影响视频的服务质量。

本文基于流媒体技术和并发调度方式,提出了视频传输的综合方案,利用多线程技术实现多点视频数据并发传输;利用调度控制技术实现以延迟抖动最小的服务。此外结合其它多路复用技术,分布式结构以及组播等方式可支持更多的连接,减少不必要的重叠发送,减轻系统和网络的负担,提高服务器CPU资源和网络带宽的利用率,对改善视频数据传输的实时性、并发性,实现网络视频的多点实时传输、网络多点实时监控等方面具有特别重要的实际意义。

参 考 文 献

[1] 胡道元.《计算机网络(高级)》. 北京:清华大学出版社,1999.8 P107。

[2] 张斌 高波等编着《Linux网络编程》北京:清华大学出版社,2000.1.1 P2-8。

[3] 钟玉琢.向哲.沈洪《流媒体和视频服务器》.清华大学出版社.2003.6.1

[4] RFC 1889,RTP: A Transport Protocol for Real-Time Applications, 1996.1

[5] http://www-900.cn.ibm.com/developerworks/cn/linux/sdk/rt/part7/indexeng.htm

[6] RunTime: Synchronizing processes and threads http://www-900.ibm.com/developerWorks/cn/linux/sdk/rt/part5/index_eng.shtml

[7] http://www.douzhe.com/linux/13code/13067.htm

更多计算机与外设信息请关注:21ic计算机与外设频道

1 2 3

关键词: 服务 访问控制 流媒体 技术研究

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版