随着电力行业对数据安全管控的进一步加强,通过安全接入平台对数据进行内外网隔离成为必然趋势。而经过隔离的视频数据需要在电力公司内网的统一视频监控平台展示,也符合电力行业建设智能电网的需求。视频监控系统的网络环境分为VPN网和内网,通过安全接入平台实现数据隔离,同时通过内外网的代理服务器完成数据的转发。在内网中模拟监控前端,实现内网客户端与监控前端的数据连接,完成数据的接入工作。数据信息安全接入的实现推进了智能电网的建设。
智能电网,就是电网的智能化,它是建立在集成的、高速双向通信网络的基础上,通过先进的传感和测量技术、先进的设备技术、先进的控制方法以及先进的决策支持系统技术的应用,实现电网的可靠、安全、经济、高效、环境友好和使用安全的目标。智能电网是电网技术发展的必然趋势。近年来,通信、计算机、自动化等技术在电网中得到广泛深入的应用,并与传统电力技术有机融合,极大地提升了电网的智能化水平。智能电网的治愈能力是指具有实时、在线和连续的安全评估和分析能力,强大的预警和预防控制能力,以及自动故障诊断、故障隔离和系统自我恢复的能力。传感器技术与信息技术在电网中的应用,为系统状态分析和辅助决策提供了技术支持,使电网自愈成为可能。
信息网络安全接入平台通过对信息网络安全接入技术的研究,为智能电网各环节业务应用提供安全接入与传输通道,满足电力公司对各种业务终端通过各类传输通道的安全接入需求,为构建智能电网主动安全防御体系奠定了坚实的基础。为满足电力公司对统一视频平台的需求,需开展电网统一视频监视平台的推广建设工作。推广建设电网统一视频监控平台,需要统一标准接口、协议、信令,实现前端视频系统集中接入和业务集成应用,整合视频资源,提高电力公司视频监控系统应用和管理水平。因此,视频监控系统的提供商就面临一个问题,即如何将视频流数据安全高效的接入统一视频监控平台,而这就是本文研究的重点。
1 视频监控系统
输电线路视频监控系统的一般架构为监控前端,服务器以及客户端。前端完成视频数据采集编码发送等;服务器实现整个系统的控制,完成视频数据的转发,控制指令的传递以及所有前端系统的管理等;客户端则是直接呈现输电线路现场情况。
图1为具有安全接入平台的视频监控系统架构。通过安全接入平台将整个系统隔离为两个网络,即VPN网和内网。安全接入平台是指数据从外网到内网传输必须进行的数据检测与管控,只有在装有安全接入平台的服务器上,才能传输数据到内网。在VPN网络中,包含监控前端、VPN网络代理服务器及VPN客户端。内网中包含主站系统、内网代理服务器及内网客户端。主站系统是专指部署在电力公司内网侧的系统组成部分,包括线路CAG(状态接入网关)、集中数据库、数据服务、数据加工以及电力公司一侧管理系统中状态监测功能模块。
服务器作为整个系统的枢纽,需要对各种应用的视频进行分发,主要包括外网客户端和内网客户端。针对以上两种环境,需要实现两种服务器架构:
1)外网VPN客户端。前端可作为IP摄像头,客户端直接连接IP摄像头获取视频。
2) 内网客户端。内网客户端不能直接与视频监控前端通信,需要通过代理服务器转接。
与普通的监控系统相比,电力系统对于数据安全的要求更为严苛,本系统的数据需经过电力公司统一安全接入平台才能进入电力公司内网。视频数据需要在内网客户端即视频统一监控平台展示,因此,本文的工作重点就是解决电力系统内部网络接入问题。
2 模拟前端
电力公司内网管理系统的视频模块采用的是电网视频统一平台,此平台采用SIP协议进行信令通信,使用RTP[9]协议传输视频流。SIP(Session Initiation Protocol,会话发起协议)是一个应用层的信令控制协议。RTP(Real-time Transport Protocol,实时传输协议)是一个网络传输协议。
如图1所示,监控前端处于VPN网络,不能直接与内网服务器进行网络通信。要与部属在电力公司内网的电网视频统一平台服务器进行网络通信,需在电力公司内网模拟出监控节点,模拟节点可以直接和电网视频统一平台服务器系统进行通信,也可以间接和视频监控前端进行通信。本系统的视频模拟节点应用了SIP和RTP网络传输技术,与电网视频统一平台服务器系统进行了协议对接。包含模拟前端的系统架构如图2所示。
客户端展示视频的操作流程如下:
1)电网视频统一平台视频客户端向电网视频统一平台发出邀请视频指令;
2)视频统一平台接收到指令后,发送获取视频指令至模拟前端;
3)模拟前端受到视频邀请指令向视频服务器邀请视频;
4)模拟前端收到视频流后发送至视频统一平台;
5)视频统一平台发送视频流到电网视频统一平台视频客户端;
6)电网视频统一平台视频客户端收到视频数据后解码显示。
3 系统信令接入
系统信令接入采用SDP[10](Session Description Protocol:会话描述协议)标准。系统信令接入主要包含:注册、资源上报、资源信息获取、调阅实时视频、云镜控制等。
注册
实现前端系统接入平台的连接注册,主要包括注册、刷新注册、认证、注销等。注册过程采用SIP 协议中的REGISTER 方法,认证数字摘要算法采用MD5。MD5( Message-Digest Algorithm 5,信息-摘要算法第五版),用于确保信息传输完整一致。
系统注册的接口流程见图3,主要功能流程如下:
a)F1:前端系统向平台发送注册请求;
b)F2:平台发送401 响应,提示注册需鉴权;
c)F3:前端系统携带鉴权信息,重新发送注册请求;
d) F4:平台认证通过,发送200 OK 响应。
资源上报
资源上报,实现前端系统将在线前端设备的资源和状态信息上报给平台。资源上报过程采用SIP 协议中的NOTIFY 方法,消息体用XML封装。资源上报流程类似注册流程,主要功能流程如下:
a)F1:前端系统向其注册平台发送上报资源信息的SIP 消息;
b)F2:平台确认,发送200 OK 响应。
资源信息获取
资源信息获取,实现平台对前端设备的资源信息进行查询,如摄像机表、告警设备表等。资源查询应采用SIP 协议中的会话外MESSAGE 方法,消息体采用应XML 封装。主要功能流程如下:
a)F1:用户向前端系统首次请求资源信息;
b)F2:前端系统返回200 OK,携带前端系统的资源信息。
调阅实时视频
调阅实时视频,实现平台调阅前端设备的实时视频数据,建立及释放实时连接功能。为保证会话安全,连接采用RTCP 安全检测机制。调阅实时视频采用SIP 协议中的INVITE 方法,采用SDP 描述进行媒体协商,采用RTP/RTCP 封装和传输媒体数据。图4为实时视频接口流程,具体细节表述如下:
a)F1:用户发送INVITE 消息,携带SDP 内容通过平台转发到前端设备;
b)F2:按照SIP 要求,如前端系统在0.5 s 内未能处理该请求,则先发送1xx 临时响应通过平台转发到用户;
c)F3:前端系统接受了调阅请求的操作,则发送携带SDP 的200 OK 响应通过平台转发到用户;
d)F4:用户发送ACK 通过平台转发到前端设备;
e)视频流从前端系统传输经平台转发到用户;
f)F5:用户结束会话,发送BYE 消息到通过平台转发到前端系统;
g)F6:前端系统发送确认,将媒体通道拆线。
云镜控制
在视频浏览的过程中实现云镜控制。云台控制包括云台的上、下、左、右转动,轮巡设置以及调用,预置位的设置及调用,云台转动的步长设置等。镜头控制包括变倍、调焦、光圈控制。云镜控制采用SIP协议的会话外MESSAGE 方法,采用XML封装消息体。主要流程如下:
a)F1:系统1 的用户发送MESSAGE 消息,请求对系统2 的前端设备发起云镜控制请求,请求的消息体中包括控制码等参数;
b)F2:系统2 依据相应指令,操作云镜设备,成功后,返回200 OK 响应。
4 视频流接入
系统视频流接入国家电网视频统一平台采用RTP/RTCP标准,将视频流数据打包成PS格式的RTP包,发送至视频统一平台。
RTP本身只负责传输实时数据,并不能按序列传送数据包以及提供安全可靠的数据传输机制,也不提供拥塞控制或流量控制,但是它可以依靠RTCP提供这些服务。RTCP(Realtime Transport Control Protocol,实时传输控制协议),负责传输当前应用进程间的控制信息。在RTP会话期间,各个参与者定时地传送RTCP包,此数据包含有已发送的RTP包的数量、丢失的数据包序列以及数量统计资料,因此,服务器可以根据这些RTCP包信息动态地调整传输速率,甚至改变有效载荷类型以适应网络带宽来提高数据传输效果。
RTP和RTCP协同工作,能够以最小的网络开销和有效的信息反馈得到最佳的传输效率,因而特别适于传送音视频数据。
视频流接入视频统一平台结构如图5所示,具体流程如下:
1)视频统一平台客户端查看视频,发送查看视频指令至视频统一平台;
2)视频统一平台收到查看视频指令,发送指令到模拟前端节点;
3)模拟前端节点收到视频查看指令,发送查看视频指令至视频转发服务器;
4)视频转发服务器检测到有视频查看指令,转发此指令至视频监控前端;
5)视频监控前端收到视频查看指令,发送实时视频流至视频转发服务器;
6)视频转发服务器转发视频流至模拟前端节点;
7)模拟前端节点收到实时视频流,打包视频流为PS格式的RTP包,发送此包至视频统一平台;
8)视频统一平台收到RTP包,转发至视频统一平台客户端;
9)视频统一平台客户端收到视频流,解码显示。
视频接入工作主要在模拟前端节点完成,模拟前端节点在 Linux 平台上实现。Linux平台上已经有一些开源的库,如 JRTPLIB[11]、LIBRTP 等。本文使用 JRTPLIB提供的接口来进行软件设计。 JRTPLIB 是一个面向对象的 RTP 库,由 C++语言实现,可在多种操作系统上使用。
在使用 JRTPLIB 库进行实时流媒体数据传输之前,首先实例化RTPSession类,初始化如时间戳等参数,设置本地数据传输端口,调用 Create () 方法创建此次会话。调用RTPSession类的AddDestination()方法设定目标地址和端口,并设定承载音视频的类型和时间戳增加值。指定目标地址之后,调用RTPSession类的SendPacket() 方法发送数据。向目标地址发送流媒体数据。电力公司视频统一平台客户端查看视频实例如图6所示。
5 结束语
随着国家加快智能电网建设的速度,对视频应用的要求越来越高,电力公司开展了电网统一视频监视平台的试点建设,基本实现视频资源整合和业务功能集成应用等预期目标。本文通过对电力公司视频统一监控平台和安全接入平台的研究,实现了信令和视频的数据接入工作,解决了视频流数据的安全管控问题,为安全接入平台的进一步推广打下了基础。
作者:杨恒 虢韬 徐梁刚 来源:电子技术与软件工程 2014年9期