安防一体化集成软件框架分析与设计文档格式.docx
- 文档编号:18942875
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:18
- 大小:90.82KB
安防一体化集成软件框架分析与设计文档格式.docx
《安防一体化集成软件框架分析与设计文档格式.docx》由会员分享,可在线阅读,更多相关《安防一体化集成软件框架分析与设计文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
图像监控软件、巡更管理软件、周界防范报警软件等等。
随着小区智能化、楼宇智能化要求的提高,安防系统的一体化集成是必然的发展趋势。
因此设计一套安防集成软件,实现安防系统的统一管理、现场设备联动,其意义深远而重大。
二.层次化平台结构
安防系统一般为集成化系统,往往由多个厂家提供设备及管理软件。
因此设计的安防集成软件要求具有清晰的框架结构、开放的系统接口。
基础平台层:
该层模块实现底层通用功能,例如:
通信资源共享、网络通信服务、数据库管理接口、图形化应用界面等。
专业应用层:
该层模块实现专业应用功能,例如:
视频监控、报警联动、设备管理、规约解释等。
框架平台化(FrameworkPlatform)思想近年已成为软件产品设计的流行思想,通过逐层设计达到软件代码的复用和产品的成熟发展。
三.总体设计
3.1按照功能划分
3.1.1设备管理
Ø
管理系统中物理、逻辑设备档案,主要内容为设备的位置信息、通信参数.
管理系统中物理、逻辑设备的对应关系.
管理系统中逻辑设备、信息点对应关系.
3.1.2视频监控
视频图像显示、画面排列组合
视频图像窗口控制(上、下、左、右、变倍、聚焦、亮度、色度、对比度调节)
视频图像控制接口:
控制接口、录像接口、拍照接口
视频图像的切换与轮显
录像功能:
手动录像、控制录像、策略录像
拍照功能:
手动拍照、控制拍照、策略拍照
辅助设备控制:
开关射灯、雨刷
3.1.3报警监视
图像动态侦测
报警监测:
开关量报警、模拟量报警
3.1.4系统联动
各类辅助设备联动,如:
灯光联动、报警联动
3.1.5权限审核
登录权限审核
操作权限审核
退出权限审核
3.1.6事件记录
操作事件记录
报警事件记录
3.1.7历史追忆
录像回放
照片浏览
报警检索
3.2按照层次划分
3.2.1基础平台层
基础平台层提供基本软件应用服务,主要包括通信平台、数据平台、图形平台。
3.2.1.1通信平台
通信平台由前置通讯模块、网络服务模块组成
1.前置通信
前置通信模块作为系统与现场设备接口的关口应用,所有后台程序对现场设备的通讯请求,均通过网络接口交给前置通信模块完成。
该模块具有以下特点:
可管理232串口、485接口、以太网TcpTo232等多种通讯资源
将以上各种通信资源通过网络接口共享给后台程序
采用多任务、多线程技术保证通信实时性
采用任务队列模式,任务可根据优先级排序
以上为前置通讯模块的基本功能,随着应用范围的广泛,前置通讯模块应当可以扩展出以下功能:
通讯报文的记录、备份、检索
统计通讯成功率(针对报文响应,不包含误码率)
双机模式保证系统高可用率(大型系统此点尤为重要)
2.网络服务
网络服务模块提供系统各应用模块之间的通讯接口,通过网络接口方式可实现灵活的分布式应用。
网络服务模块一般不作为独立应用程序,通常嵌入到各软件应用中,实现系统中各应用模块之间信息交互。
基于TCP连接实现点点通讯,具有客户端/服务端划分,服务端可自主维护连接池
基于UDP方式的点点、广播、组播、多播通讯接口
网络报文显示、记录
通讯异常容错陷阱
3.2.1.2数据平台
数据平台提供对系统数据的统一管理与维护平台。
数据平台管理维护的数据库主要为两类:
1.内存实时数据库
实时数据库RTDB(Real-TimeDataBase)是数据库系统发展的一个分支,它适用于处理不断更新的快速变化的数据及具有时间限制的事务处理。
实时数据库技术是实时系统和数据库技术相结合的产物,研究人员希望利用数据库技术来解决实时系统中的数据管理问题,同时利用实时技术为实时数据库提供时间驱动调度和资源分配算法。
然而,实时数据库并非是两者在概念、结构和方法上的简单集成。
需要针对不同的应用需求和应用特点,对实时数据模型、实时事务调度与资源分配策略、实时数据查询语言、实时数据通信等大量问题实现具体应用。
一般我们将现场实时采集的当前数据存放到实时数据库,该类数据的明显特征为随着时标的变化,不断变化。
内存实时数据一般存储系统中的在线数据,如:
当前实时数据、报警信息,因此数据量较少,可根据系统实时性要求不断定期刷新。
2.磁盘商业数据库
磁盘商业数据库用于存储系统中大量的离线数据,如:
设备信息、配置信息、档案信息、历史数据等。
在系统由在线状态转为离线状态时,磁盘商业数据库可备份实时数据库信息内容。
一般磁盘商业数据库均采用大型关系型数据库,如:
SQLServer、Oracle、Sybase等。
数据库的结构设计应当考虑扩充性、检索性、维护性,遵从以下原则:
1.数据库字段尽量采用通用字段
如number,char,int等,不采用某种数据库平台特有字段,或各数据库平台格式不统一的字段.如:
DateTime。
2.数据库结构要保持良好的开放性、扩充性
当系统增加新的采集数据项目时,数据库要易于扩充,即不改变数据库结构便可将该数据纳入存储体系。
比如在设计数据库字段时,设计通用的数据存储结构,不主张针对某个数据体专门设计存储字段。
3.数据库要保持良好的检索性
数据库的主、外键结构清晰,能够方便地按照时间、ID分类检索数据。
同时可采用数据表按日期编号方式避免单张数据表内容随时间增长导致的过度膨胀。
数据平台由实时数据库模块、商业库数据操纵中间件模块、商业库管理与维护工具模块组成:
1.实时数据库模块
在本系统中实时数据库的应用模型较为简单,主要是将现场采集的实时数据保存在内存中,根据网络接口协议提供给后台应用服务程序查询接口,模型图如下:
2.商业库数据操纵中间件模块
无论是C/S模式、B/S模式的应用系统,瘦客户端模式以其易维护的特点已越来越多地被软件设计者所采用。
在一个具有多个使用客户的网络应用软件系统中,客户端的易于维护升级非常重要,因此对数据库的操作往往由服务器上运行的数据库中间件统一完成,客户端不需要关心服务端安装的是何种数据库,也不需要安装网络数据库管理系统的客户端驱动程序(例如:
OdbcDriver)。
3.商业库管理与维护工具模块
3.2.1.3图形平台
图形平台基于WindowsGDI、DirectDraw技术,实现矢量图形的绘制。
采用平台化技术设计,提供给应用系统图形用户界面(GUI)。
1.图形编辑功能
全矢量图形编辑功能
可绘制直线、折线、弧线、矩形、椭圆、圆、弦形、饼形、多边形等各种基本GDI图元。
可绘制文本框、图像框、曲线框等特殊图元。
通过图元的组合功能,可将以上各类图元组合为复杂的组合图元。
支持各类图元的放大、缩小、移动、对齐、翻转、按顺序排列功能。
支持各类图元的拷贝、剪切、粘贴、删除功能。
支持部分图元之间的相互转换功能。
支持常见绘图画笔(如:
实线、虚线、点划线等)。
支持常见绘图画刷(如:
实线、透明、阴影、位图)。
文字输入支持Windows各种字体,具备常见文字处理功能,如:
对齐、加粗等。
支持无限彩虹色,设计态可屏幕取色。
操作鼠标化,除文字输入、脚本编制以外的操作均可由鼠标完成。
支持标准的Windows快捷键,如:
Ctrl+C、Ctrl+X、Ctrl+V、Shift组合等。
2.文件功能
组态画面文件新建、打开、保存、另存功能。
文件存储为矢量格式,可同时打开多个文件同时编辑,在各个文件之间可自由切换。
可导入AutoCAD的DXF文件(使用用户提供的电子工程图纸可生成画面)
组态文件可导出为位图等图形文件
3.2.2专业应用层
专业应用层构建于基础平台层基础之上,专业应用层的模块应当完成安防集成软件的所有专业功能。
专业应用层主要由以下几个模块组成:
设备管理模块
权限审核模块
规约解释模块
视频监控模块
数据采集模块
报警联动模块
计划策略模块
组态图形模块
3.2.2.1设备管理模块
设备管理模块管理系统中各类智能设备,实现物理设备与逻辑设备区分,管理设备与系统信息点之间的关系。
1.系统的物理设备初步划分如下:
摄像机、云台、球机、带云台的一体化摄像机、控制矩阵、画面分隔器、摄像机控制单元、视频编码器、视频解码器、传输网桥、现场测控单元、探头、麦克风等等。
2.系统的逻辑设备初步划分如下:
逻辑摄像机、逻辑摄像机控制单元、逻辑开关量输入点、逻辑开关量输出点、逻辑模拟量输入点、逻辑模拟量输出点。
3.系统的信息点初步划分如下:
视频信息点、开关量信息点、模拟量信息点
3.2.2.2权限审核模块
权限审核模块实现操作者在各个软件应用模块中操作权限的审核。
软件模块分为客户模块、服务模块,操作者在服务端注册相应操作权限,在应用模块中调用权限审核客户模块功能,实现权限审核。
当某个软件功能需要权限审核时,可以调用权限审核客户模块认证该权限
类似NT权限风格,具有组策略机制
1.操作账号
操作者登录软件系统所使用的登录信息
2.操作权限
操作者使用某项软件功能的许可
3.权限组
一组操作权限
4.岗位、职责
某个岗位具有一组操作权限,一个操作账号隶属某个岗位,同时具有相应权限组权限
5.角色
某个角色具有一组操作权限,一个操作账号可包括多个角色,当操作账号以不同角色登录时,所具有的权限不同
6.权限-控件对应关系
每个权限可对应到若干个界面控件,当操作者具有该权限时,界面控件对于操作者是可用的(Enabled=true),反之不可用(Enabled=false)
权限审核模块为应用软件模块提供统一的登录窗体(LoginForm)、权限审核接口。
3.2.2.3规约解释模块
规约解释模块实现设备操作功能、界面数据与通讯协议的转换、解释。
规约解释模块具有如下特点:
1.规约是系统软件与现场设备通信的“语言”,不同的设备规约协议不同,因此该模块必须以独立的模块出现
2.对于同一种类设备,会由于厂家不同出现规约不同的情况,但该类设备的功能接口是一致的,所以对于同一种类设备,规约解释模块的接口是一致的。
例如,摄像机控制单元的规约解释函数原型如下:
VoidGetVidiconControlMessage(intiRcuAddress,intiCommandWord,char*pMessage,intiMsgLen)
iRcuAddress:
控制单元通讯地址
iCommandWord:
控制命令字(上、下、左、右、变倍、聚焦)
pMessage:
返回报文缓冲区
iMsgLen:
报文长度
3.2.2.4视频监控模块
视频监控模块实现视频图像的播放、摄像机单元的控制、监控画面的组合等功能。
可采用框架化设计,将视频监控的通用共性功能按照框架模式实现。
1.视频监控框架功能
主显示界面
控制接口:
上、下、左、右、变倍、聚焦、亮度、色度、对比度调节
录像接口:
拍照接口:
视频画面排列组合
2.视频窗体(VideoForm)
兼容多种视频采集卡、视频编解码器
提供录像、拍照、控制接口
技术上如果允许,视频窗体封装到DLL中,在程序中动态加载
由于各种视频采集卡、视频编解码器厂家提供的开发包(SDK)开发接口不同,因此视频监控框架的设计应当尽量考虑通用性和将来的扩展可能,同时也不必去刻意适应少数提供接口规范性很差、技术水准低的厂家。
3.2.2.5数据采集模块
数据采集模块完成系统中各类设备在线数据的周期采集,根据数据采集策略,定义数据采集命令,通过规约解释模块翻译成通讯规约报文,将通讯规约报文通过前置通讯模块下发给现场设备,现场设备收到报文,将返回数据以报文形式返回给通信模块,通讯模块收到报文后传递给数据采集模块,数据采集模块调用规约解释模块完成数据解释,将采集数据通过数据平台保存到实时、历史数据库中。
3.2.2.6报警联动模块
报警联动模块实现现场报警信息采集、现场采集信息的报警判断,实现采集量与控制量之间的联动接口,同时可具有一定的策略机制,通过其他应用模块提供的接口,实现接口调用。
目前报警信息主要分为以下几类:
现场设备返回的报警标志信息
数据采集模块采集的开关量变位
数据采集模块采集的模拟量越限
现场设备通讯失败与故障
3.2.2.7计划策略模块
计划策略模块负责完成系统中周期计划任务,目前系统中周期计划任务内容大致如下:
定期采集报警监视信息
定期开关辅助设备,如:
射灯、雨刷等
可控制摄像头定期巡检预置点
定期切换视频切换设备,如:
矩阵、画面分隔器等
计划策略模块的框架类似Windows中的任务计划管理器,该模块提供开放的接口,能够实现任务计划的添加、执行、暂停、取消等功能。
3.2.2.8组态图形模块
1.面向对象的组态设计界面
提供强大的自定义脚本语言可为组合态图元设计属性、事件、方法。
提供设计态、运行态两种模式,设计组态图形时可快速切换到运行态预览画面。
支持标准图元属性,如:
坐标、大小、可用、可见。
支持各类常见事件,如:
鼠标单击、双击、按下、释放、移动、选中、离开等。
支持各类组态方法,如:
定时、多态、报警、链接、刷新、执行、控制、查询等。
2.丰富的图形构件库
系统基于平台化设计思想,为各类不同类型的专业应用提供了图形构件库,这些图形构建库全部使用组态画面设计器生成,使用者也可自由修改、定制。
目前提供了如下构件库(在不断扩充中):
仪表构件,如:
仪表盘、液位构件、温度构件、酸碱度构件等
曲线构件,如:
曲线构件、棒图构件等
按钮构件,如:
阴影按钮、椭圆按钮、闪烁按钮等
特殊形体构件,如:
齿形、桶形、手形等
BA构件:
如:
水泵、风扇、照明、饮水机、报警、电梯等
电力构件:
开关、断路器、变压器、电容器、电抗器等
四.模块设计
4.1通信平台
4.1.1前置通信模块
窗体类
编号
类名
功能表述
1
TfrmSplash
封面窗体
2
TfrmLgoin
登录窗体
3
TfrmMain
主窗体
4
TfrmSetup
系统参数配置窗体
5
TfrmCommMsg
通讯报文显示窗体
通讯类
TSerialComm
串口通讯类
TChannel
通信通道类
TChannels
通信通道集合类
任务类
TTask
通讯任务类
TTasks
通讯任务集合类
TSerialComm类
接口
Init
初始化并打开串口
voidInit(intiCommID,AnstStringstrSetting)
iCommID:
串口ID
strSetting:
串口设置
Close
关闭串口
voidClose()
SendData
发送数据
voidSendData(unsignedchar*pSendMsg,intiSendLen)
pSendMsg:
发送报文缓冲区指针
iSendLen:
发送数据长度
RecvData
接收数据
intRecvData(unsignedchar*pRecvMsg,intiRecvLen)
接收报文缓冲区指针
iRecvLen:
接收数据长度
标注:
可以将接收数据采用线程方式实现
TTask类
属性成员
类型
ID
int
任务ID
IP
AnsiString
提出任务请求的计算机IP地址
Port
提出任务请求的计算机端口
Timeout
任务超时
PRI
任务优先级
6
SendBuf
unsignedchar*
发送缓冲区指针
7
SendLen
8
RecvBuf
接收缓冲区指针
9
RecvLen
TTasks类
Items[]
TTask*
根据索引枚举某个TTask
Tasks[]
根据ID枚举某个TTask
Add
添加任务
Remove
移除任务
Clear
清空任务
TChannel类
ID
通道ID
Name
通道名称
TaskQue
任务集合
SerialComm
TSerialComm*
串口
TChannels类
TChannel*
根据索引枚举某个通道
Channels[]
根据ID枚举某个通道
添加通道
移除通道
清空通道
初始化通道列表
4.1.2网络服务模块
TfrmNetMsg
网络报文显示窗体
TUDPServer
UDP通讯服务类
TUDPClient
UDP通讯客户类
TTCPServer
TCP通讯服务类
TTCPSession
TCP通讯会话类
TTCPSessions
TCP通讯会话集合类
TUDPServer类
MsgForm
TfrmNetMsg*
初始化
TUDPClient类
TTCPServer类
ConnectionRequest
响应连接请求,新建TCP会话
TTCPSession类
AcceptConnection
确认连接
TTCPSessions类
TTCPSession*
根据索引枚举某个会话
TTCPSessions[]
根据ID枚举某个会话
添加会话
移除会话
清空会话
FillTreeView
填充会话信息到树状视图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一体化 集成 软件 框架 分析 设计