论文部分内容阅读
随着互联网迅猛发展,视频监控技术得到了广泛的应用。如今,视频监控设备部署在生活中的各个角落,给人们生活提供了巨大的便利和安全保障。对大量视频监控设备的管理一直是视频监控领域的核心问题,基于传统单机架构的视频监控系统难以承受越来越沉重的计算负担,更无法有效应对海量的视频请求服务。本文研究基于Docker容器技术构建云平台视频监控系统,以解决愈发庞大的用户规模和海量视频请求,同时开发了配套的视频监控客户端应用程序。论文的主要工作包括:首先,基于Docker容器技术搭建Docker集群,并在集群上部署了开发的视频转发服务、客户端管理系统、登录验证服务和视频缓存管理等服务。视频转发服务基于开源框架Easy Darwin开发,支持视频推流和转发功能,同时支持分布式部署。客户端管理系统基于JAVA开发,支持对客户端和监控设备的有效管理。其次,基于Android系统平台开发了一个视频监控客户端应用程序,应用程序支持流媒体的硬件解码,播放视频时可以降低手机处理器的占用率,提高解码效率。最后论文研究了Docker集群的任务调度算法。Docker官方提供的Swarm集群管理工具中自带了Spread任务调度策略,但是该算法只考虑了CPU和内存资源的利用率,算法容易导致节点负载不平衡。动态负载均衡算法引入了网络资源的利用率和二次调节因子。本文在该算法的基础上,利用预测算法对资源使用率的变化趋势进行预测,并采用非线性二次调节因子动态调节权重参数。局域网环境中的模拟实验结果表明,改进算法能提高集群的整体资源利用率。测试结果表明,本文设计的视频监控云平台实现了设计需求的功能。