基于WCF的REST视频设备管理服务的设计与实现

2015-03-20 02:27
新媒体研究 2015年14期
关键词:跨平台列表摄像机

安徽四创电子股份有限公司,安徽合肥 230088

1 WCF REST技术概述

WCF是在原有的.net Remoting,WebService,Socket的基础上,融合HTTP、FTP等技术,是Windows平台上开发分布式应用最佳的实践方式。REST,表述性状态转移(Representational State Transfer,REST),不是一种标准,而是一种软件架构风格。它巧妙地借助已经验证过的成功的web基础设施-HTTP。Web上所有的东西本质上都是资源。而Rest正是基于命名资源而非消息的,这就限制了底层技术的曝光,从而给应用程序设计中的松耦合提供了便利条件。

2 视频设备管理服务简介

在平安城市中,为了使管理员和用户更方便、直观的对前端视频设备进行管理,较好的方法是通过WEB,但是直接通过WEB对设备进行操作是十分不安全的行为,并且WEB方式与前端设备的交互属于跨平台操作,另外前端设备数量较大,且设备现场广泛,如何安全的实现跨平台的设备管理?本文采用基于WCF REST技术,设计并实现了视频设备管理服务,解决了WEB与前端设备跨平台交互以及安全性问题。该视频设备管理服务实现了前端视频设备的搜索,在线视频设备的查询,视频设备的添加及删除,录像计划设置等功能。

3 设计方法

由图1可以看出,web服务器发送HTTP REQUEST请求,视频设备管理接收请求后,进行相应处理,例如与存储服务器、流媒体转发服务器、数据库进行逻辑交互,然后发送HTTP RESPONSE给web服务器。

图1 视频设备管理服务设计架构图

1)视频设备管理服务主要实现6个功能。

①搜索前端摄像头:搜索具体网段内所有的摄像机设备,获取流媒体转发服务器中网段内的设备列表,然后获取数据库中设备的列表,最后取交集,即为前端摄像头列表,这样设计的原因是能搜索到所有的前端摄像机,防止重复以及漏缺等问题。

②添加摄像头:即注册指定IP的摄像机至存储服务器以及流媒体转发服务器中。首先登录存储服务器,在存储服务器中查询是否已经存在该设备,如果已经存在,返回已注册的标识给WEB服务器;若不存在,则向存储服务器以及流媒体转发服务器中注册该摄像机,返回注册结果。如果其中任何一个的注册失败,则进行回滚,删除另外一个服务器中已经注册的摄像机记录,如果删除失败,则将该记录写入文件保存,开启定时器定时删除。通过以上处理,可以避免重复注册的问题,也保持流媒体转发服务器和存储服务器中注册摄像机列表的一致。

③删除视频设备:删除存储服务器以及流媒体转发服务器中已注册的摄像机。

④获取摄像机列表:获取媒体转发服务器中的摄像机列表,然后获取存储服务器中的摄像机列表,取交集,接着过滤掉文件中删除失败的摄像机记录,即为已注册的摄像机列表。

⑤录像:设置录像计划,使得摄像机在规定的时间进行录像,设置存储服务器中指定摄像机的配置参数,必须要合理的定义参数,才能精确的设置录像计划。

⑥验证存储服务器:指定IP、端口、用户名、密码、厂家、型号,验证该存储服务器是否存在,如果不存在,则不能进行存储。

2)为了保证安全性,服务应需要验证功能,在用户进行验证后,返回唯一ID并且该ID是进行加密过的,在一定的时间内,web服务器发送带有ID的信息,就能不进行验证就可以进行相关操作。

4 实现过程

1)新建WCF服务库,在接口文件中定义接口,Rest最重要的思想就是URI对资源的唯一标识,所以每一个接口都给定一个URI标识。

2)新建控制台应用程序,新建类,继承上述接口,添加windows服务,调用存储器流媒体转发服务器的SDK,连接数据库,安装设计实现。

3)服务端维护一个在线用户的列表,该列表中有用户名、登录时间、最后一次操作时间时间、ID、IP等字段,定时查询该列表,一旦发现超时,即删除该用户在线记录。

4)在配置文件中配置数据库流媒体转发服务器、存储服务器、数据库服务器信息,配置ServiceModel节点的HTTP访问根地址,一般采用“http://{ip}:{port}/关键词”格式。

5)WEB服务器与视频设备管理服务通信数据格式一律采用JSON格式,易于机器解析以及生成,提高传输效率。

[1]GB/T 28181-2011安全防范视频监控联网系统信息传输、交换、控制技术要求[S].

[2]韩伟钟.大型视频综合管理平台在平安城市建设中的应用浅析[J].中国安防,2014(21).

[3]许端,王世伟,贺波涛.一种平安城市视频监控中的媒体连接方式智能切换方法[J].

[4]徐志军.安防信息集成平台在平安城市建设中的应用[J].中国公共安全(综合版),2012(09).

猜你喜欢
跨平台列表摄像机
跨层级网络、跨架构、跨平台的数据共享交换关键技术研究与系统建设
一款游戏怎么挣到全平台的钱?
学习运用列表法
扩列吧
基于C++语言的跨平台软件开发的设计
摄像机低照成像的前世今生
新安讯士Q6155-E PTZ摄像机
列表画树状图各有所长
如何消除和缓解“摄像机恐惧症”
基于B/S的跨平台用户界面可配置算法研究