车辆大数据分析系统详细设计.docx
《车辆大数据分析系统详细设计.docx》由会员分享,可在线阅读,更多相关《车辆大数据分析系统详细设计.docx(26页珍藏版)》请在冰豆网上搜索。
车辆大数据分析系统详细设计
文档状态:
文档编号:
[]Draft
[√]Released
[]Modifying
编撰:
编撰日期:
保密级别:
文档版本:
v20141110
车辆大数据分析系统
车辆智能分析模块
详细设计
综合平台项目小组
修订表
编号
生成版本
修订人
修订章节与内容
修订日期
1
1.0.0
戴国平
车辆智能分析
2014/12/9
2
3
4
5
审批记录
版本
审批人
审批意见
审批日期
1.引言
1.1目的
编写此需求分析报告的目的是为了明确<车辆大数据分析系统>项目的需求,为项目的详细设计方案和系统开发等提供参考。
该报告为软件使用用户和软件开发者之间建立共同的需求目标,做了全面的描述。
是后继修改工作、验收工作的依据文件,并作为需求确定的标志,软件使用用户和软件开发者以此作为共同基础。
本文件为编制其它有关文件提供基本依据;
本文件为软件质量保证人员提供工作依据;
本文件将作为日后软件确认测试和系统验收之准则;
本文件与“系统详细设计报告”一起,将作为日后系统维护工作基准文件。
1.2范围
1.3读者对象
本文件的内容涵盖了本系统的硬件需求、软件需求、网络需求及业务流程需求。
本文件的使用者包括:
⏹项目管理人员;
⏹软件设计人员;
⏹编程人员;
⏹软件测试人员;
⏹软件质量控制人员;
⏹软件维护人员。
1.4参考资料
资料名称[标识符]
出版单位
作者
日期
《城市道路交通管理评价指标体系》
无
公安部交管局、建设部建设司
2003
《计算机信息系统安全》
无
无
1999
《公安交通指挥系统建设技术规范》
无
无
2003
《闯红灯自动记录系统通用技术条件》
无
无
2009
1.5术语与缩略语
术语、缩略语
解释
2.设计概述
2.1任务和目标
车辆智能分析,为用户提供:
区域碰撞分析,同行车辆分析,落脚点分分析,频繁过车分析,首次入城分析,套牌车分析,连续违法车辆分析,高危地区车辆分析。
预期为用户提供车辆分析报告,而对车主行为进行判断。
2.1.1需求概述
2.1.2运行环境概述
本模块为B/S模式,客户端为浏览器,由于本模块使用Lucene(全文检索)提供查询功能,所以服务器端需要具备Lucene环境。
服务器段还需提供Tomcat服务器,以便提供项目的运行环境。
数据库要求为oracle11g+;
2.1.3条件与限制
网络环境确保的良好,确保系统的能够顺利运行,车辆智能分析依靠全文检索(Lucene),而Lucene的数据来源为索引,所以保证索引的正确生成是查询分析的前提。
数据的正确性,代码逻辑的正确、高效。
也是系统功能的保障。
2.1.4详细设计方法和工具
本模块采用powerDesigner工具设计数据库。
3.系统详细需求分析
3.1详细需求分析
区域碰撞分析:
可以分析不同时间段和不同路口同时出现的车辆信息。
同行车辆分析,可对被监控车辆的同行车辆按过车时间,间隔时间和地点进行查询分析。
落脚点分析,设定时间周期,再分析上午时间段和下午时间段中车辆的出行次数。
频繁过车分析,可根据分析类型,频度阀值,过车时间段提供频繁过车分析。
首次入城分析,选定区域通过卡口数据,查询在一定时间段中第一次出现的车辆。
套牌车分析,通过套牌判断规则分析一段时间内某种类型的车辆中套牌车辆的信息。
连续违法分析,统计所选时间段和区域中连续违法的车辆信息。
高危地区车辆分析,统计高危地区车辆在本地区的出行情况。
3.2详细系统运行环境及限制条件分析接口需求分析
视频模块实现的相关功能是调用ocx控件提供的接扣实现,现将各个功能接口以列表的形式展现
接口名称
内容
参数说明
播放模式
Unihz_SelectPlayWindow(playMode)
playMode:
1:
回放模式:
2:
实时播放模式
设置屏数和布局方式
Unihz_SetScreenNum(winNum,winLayout)
winNum:
窗口数
winLayout:
1:
横排2:
竖排
视频服务器登入
Unihz_LoginHkPlat(ip,user,pwd,port)
ip:
服务器ip;
user:
用户名
pwd:
密码;
port:
端口号
退出视频服务器
Unihz_LogoutHkPlat()
播放实时视频
Unihz_StartHkPlatRealTimePlay
(winNo,deviceId,loginHandle,deviceIp,deviceChannel)
winNo:
窗口号
deviceId:
设备id
loginHandle:
登入句柄
deviceIp:
视频设备ip
deviceChannel
设备通道
获取播放窗口号
Unihz_GetCurWindowIndex()
设备操作
Unihz_PTZControl(winNo,command,action);
winNo:
窗口号
command:
控制命令
action:
转动云台操作
4.总体方案确认
无
4.1系统总体结构确认
4.2系统详细界面划分
视频设备:
提供视频图像,提供视频操作接口;
视频服务器:
为海康8600平台和视频同步服务提供平台,对历史视频的存储。
Orcale数据库:
将同步过来的视频信息进行存储,并向web服务器提供数据。
Web服务器:
提供实时视频和历史视频的浏览,提供对实时视频的操作。
用户端:
浏览实时、历史视频,对实时视频的操作。
4.2.1应用系统与支撑系统的详细界面划分
应用系统与支撑系统之间的界面包括系统主服务器与其他服务器的服务范围及访问方式,网络及数据库对应用系统的支撑方式,全局数据的管理与存取方式等。
4.2.2系统内部详细界面划分
系统各功能之间的界面包括覆盖范围,模块间功能调用涉及到的系统模块及方法,全局数据格式,系统性能要求等。
5.系统详细设计
5.1系统结构设计及子系统划分
5.2系统功能模块详细设计
5.2.1首次进城分析
5.2.2套牌车分析
5.2.2.1车身颜色分析
5.2.2.2车距离分析
5.2.2.3车牌套牌分析
5.2.3高危地区车辆查询
5.3系统界面详细设计
5.3.1外部界面设计
无。
5.3.2内部界面设计
无。
5.3.3用户界面设计
首次进城分析:
套牌车分析:
1)卡口距离配置
2)车身颜色分析:
3)车距离分析
4)车牌套牌分析
高危地区车辆查询
详细信息查看
地区车牌信息管理
6数据库系统设计
6.1设计要求
满足用户要求:
既能合理地组织用户需要的所有数据,又能支持用户对数据的所有处理功能。
满足某个数据库管理系统的要求:
能够在数据库管理系统中实现。
具有较高的范式:
数据完整性好、效益高,便于理解和维护,没有数据冲突。
6.2信息模型设计
6.3数据库设计
6.3.1设计依据
视频设备是以地区下的路口划分,而路口和区域是其他模块共同需要的,考虑到数据的原子性和满足二,三范式的基本实际原则。
6.3.2数据库逻辑结构
视频模块的数据库采用PowerDesigner将数据库中的概念模型转向为逻辑模型。
6.3.3物理结构设计
视频设备:
T_VIDEO_DEVICE
列名
列说明
数据类型
空/非空
约束条件
VIDEO_ID
ID
NUMBER(8)
非空
PK
VIDEO_NAME
名称
VARCHAR2(100)
VIDEO_IP
IP
VARCHAR2(100)
VIDEO_PORT
端口号
VARCHAR2(100)
VIDEO_STATUS
状态
INTEGER
VIDEO_CHANNEL
通道
INTEGER
VIDEO_ENABLED
是否启用
INTEGER
1:
是;0:
否
VIDEO_THIRD_CODE
第三方编码
VARCHAR2(100)
DISTRICT_ID
区域ID
NUMBER(8)
CROSS_ID
路口ID
NUMBER(8)
ROAD_ID
路段ID
NUMBER(8)
DIRECTION_ID
方向ID
INTEGER
VENDOR_ID
设备商ID
INTEGER
OPERATOR_ID
运维人员ID
INTEGER
SERVER_ID
服务器ID
INTEGER
SERVER_IP
主机IP
VARCHAR2(32)
SENTRY_X
地图坐标X
INTEGER
SENTRY_Y
地图坐标Y
INTEGER
VIDEO_USER
设备用户
VARCHAR2(100)
VIDEO_PASS
设备密码
VARCHAR2(100)
PROJECT
所属项目
VARCHAR2(512)
UNIT
管辖单位
VARCHAR2(256)
F_PLAT_TYPE
视频平台类型
NUMBER
1:
海康,2:
大华
X
坐标经度
DOUBLE
Y
坐标纬度
DOUBLE
MARKFLAG
标注标记
VARCHAR2
(1)
Y/N
补充说明
路口表:
T_PUBLIC_ROAD
列名
说明
数据类型(精度范围)
空/非空
约束与取值
ID
路口ID
VARCHAR2(32)
非空
PK
AREA_ID
所属区域ID
VARCHAR2(32)
FK,关联T_AREA:
ID
DEPT_ID
所属管辖部门(机构)ID
VARCHAR2(32)
非空
FK,关联T_PUBLIC_DEPT:
ID
CODE
路口代码
VARCHAR2(32)
非空
唯一
NAME
路口名称
VARCHAR2(320)
非空
NAME_REF_KEY
路口名称(多语言版)
VARCHAR2(480)
多语言支持,关联T_PUBLIC_MESSAGE:
REF_KEY
TYPE
路口类型
VARCHAR2
(2)
关联:
T_PUB_DICTIONARY:
CODE
CLASSIFY_ID=
00:
路段
01:
一字路口
02:
T字路口
03:
十字路口
99:
其他类型路口
…
ADJION_ROAD
相邻路口
VARCHAR2(800)
路口ID,用逗号分开
REMARK
描述
VARCHAR2(4000)
PRIORITY
处理优先级
NUMBER
(2)
ENABLED
激活标志位
VARCHAR2(32)
非空
Y/N
X
坐标X
DOUBLE
Y
坐标Y
DOUBLE
TP_COMPANY_NAME
第三方接口公司名称
VARCHAR2(160)
TP_ROAD_ID
第三方接口公司路口编号
VARCHAR2(32)
TP_REMARK
第三方接口公司路口备注
VARCHAR2(320)
SEQ
显示顺序
NUMBER(8)
MARKFLAG
标注标记
VARCHAR2
(1)
Y/N
补充说明
1.PRIORITY,X,Y,TP_*字段为预留
区域表:
T_PUBLIC_AREA
列名
说明
数据类型(精度范围)
空/非空
约束与取值
ID
ID
VARCHAR2(32)
非空
PK
CODE
区域代码
VARCHAR2(32)
NAME
区域名称
VARCHAR2(64)
非空
PARENT_ID
上级区域ID
VARCHAR2(32)
非空
缺省为-1,表示无上级区域
PARENT_NAME
上级区域名称
VARCHAR2(64)
REMARK
备注
VARCHAR2(800)
SEQ
显示顺序
NUMBER(8)
补充说明
1.CODE:
区域代码,为预留字段,暂时可以为空;
2.GEO_ID:
地理数据ID,为预留字段,用于区域与地理数据的关联。
6.3.4数据库安全
说明数据的共享方式,如何保证数据的安全性及保密性。
6.3.5数据字典
代码1表示大华
代码2表示海康
7.信息编码设计
7.1代码结构设计
本模块采用MVC的设计思路,现以三层架构的方式介绍代码结构
表示层
业务逻辑层
数据访问层
Oracle数据库
设计模型:
表示层:
com.unihz.atms.webapp.video.action.VideoAction
Model模型(实体类型):
com.unihz.atms.webapp.video.model.TvideoDevice
com.unihz.atms.webapp.video.model.TvideoDeviceExample
com.unihz.atms.webapp.video.model.VvideoRoadArea
com.unihz.atms.webapp.video.model.VVideoRoadAreaExample
业务逻辑层:
com.unihz.atms.webapp.video.service.TvideoDeviceService
com.unihz.atms.webapp.video.service.VvideoRoadAreaService
数据访问层:
com.unihz.atms.webapp.video.dao.base.BaseTVideoDeviceDaocom.unihz.atms.webapp.video.dao.base.BaseVVideoRoadAreaDao
7.2代码编制
表示层(Action):
全类名
com.unihz.atms.webapp.video.action.VideoAction
获取区域(Tree)
方法名
getAreaVideoTree(StringparentId)
算法描述
通过vVideoRoadAreaService获取区域list集合,在通过循环拼装json数据
返回值
String(类型),json格式的区域字符串
更新配置信息
方法名
updataConfig(MapformParameters,Map,fileFields)
算法描述
通过webcontent对象获取serviceConfig.xml文件路径,再用SAXBuilder获取文件内容
和设置更改数据,最后用XMLOutputter重写serviceConfig.xml文件;
返回值
DjnPostResult,框架封装对象
获取配置信息
方法名
getConfig()
算法描述
通过webcontent对象获取serviceConfig.xml文件路径,再用SAXBuilder获取文件内容
返回值
DjnPostResult,框架封装对象
获取视频设备信息
方法名
getVedioInfo(StringparamStr)
算法描述
paramStr是一个json数组,首先通过JSONArray,JsonObject解析请求条件,再通过TvideoDeviceService方法查询,将返回的结果以map封装,放入DjnBean对象中返回
返回值
DjnBean
业务逻辑层(Service):
全类名
com.unihz.atms.webapp.video.service.TvideoDeviceService
通过条件分页显示视频设备
方法名
getTVideoDevicePaginationList(PaginationSupportps,Stringparams)
算法描述
通过TvideoDeviceExample设置查询条件,调用BaseicService中的selectByExample查询方法返回设备的list集合
返回值
PaginationList
获取当前路口下所有视频设备
方法名
getTVideoDevicesByRoad(StringroadId)
算法描述
通过TvideoDeviceExample拼装查询条件调用baseDao中的selectByExample进行查询
返回值
List
模糊查询视频设备信息
方法名
getTVideoDeviceList(Stringparams)
算法描述
通过TvideoDeviceExample拼装查询条件调用BaseService中的selectByExample进行查询
返回值
List
获取视频设备通过ID
方法名
getTVideoById(Stringid)
算法描述
通过TvideoDeviceExample拼装查询条件调用baseDao中的selectByExample进行查询
返回值
TVideoDevice
全类名
com.unihz.atms.webapp.video.service.VvideoRoadAreaService
获取当前区域下的所有路口的视频设备信息
方法名
getVideoRoadByAreaId(StringareaId)
算法描述
通过VvideoRoadAreaExample拼装查询条件通过selectByExample方法进行查询
返回值
List
说明:
对每个表的基本数据访问是由ServiceGenerator.java工具生成,包括mybatis的sql配置文件(xml)。
8.维护设计
8.1系统的可靠性和安全性
视频监控为综合管理平台的子系统,模块的稳定性依靠的是ocx控件,而ocx控件所提供的操作接口实质为海康平台提供。
所以稳定性要考虑ocx控件于海康平台的对接和本平台使用ocx控件是否正确。
视频监控的安全性依托于综合平台,目前综合平台采用权限管理的方式,实现对用户访问的限制。
8.2系统及用户维护设计
视频模块的数据是通过第三方同步服务同步过来的,数据可进行本地备份,但只建议进行备份历史数据,因为如果对视频设备数据提供可编辑的功能,会照成与实际数据不符的现象出现。
当然可以对设备的添加,这需要看后续是否有这样的需求。
8.3系统扩充
8.4错误处理
8.4.1出错类别
在浏览视频的过程中可能会遇到突发情况,在此以文字的形式把错误类别叙述。
1.网络不稳定。
a)现接入的设备为高清视频设备,所以当网络带宽较小或网络状况不佳,会导致视频播放卡顿,实时视频操作失败等因素。
2.视频设备掉线
3.视频服务器没有响应。
8.4.2出错处理
网络问题:
一般情况下网络的宽带至少在2M以上,最好用有线网浏览视频。
视频服务器没有响应:
坚持视频服务器是否正常工作如:
海康CMS服务器是否正常启动。
视频设备掉线:
检查设备网络连接端口是否正常,设备功能是否正常。
8.5系统调整及再次开发问题
目前视频监控依赖的ocx控件还存在不稳定的因素,这急需要开发人员解决的问题,在firefox兼容方面变现得尤其突出。
这对日后对多家平台的视频设备接入带来了隐患;
9.系统配置
9.1.配置原则
为保证视频监控模块的正常使用,又本质资源节约的原则
9.2.硬件配置
视频服务器1台
数据库服务器1台
视频监控服务器1台
9.3.软件配置
服务器端使用windows2008操作系统;
支持IE8,firefox,chrome访问;
数据库使用Oracle11g+
Web访问前需安装ocx控件
Firefox访问需安装ffactivex-setup-r39.exe
10.关键技术
无
10.1关键技术的提出
关键技术提出要本着适用于需求为基本原则,然后考虑问题为用户的体验和系统的效率。
10.2.关键技术的一般说明
无
10.3.关键技术的实现方案
无
11.需求影响模块考虑
11.1.程序流程影响考虑
无
11.2.数据库影响考虑
无
11.3.性能影响考虑
无
12.实现后的功能流程