一机一档应用开发技术方案.docx
《一机一档应用开发技术方案.docx》由会员分享,可在线阅读,更多相关《一机一档应用开发技术方案.docx(8页珍藏版)》请在冰豆网上搜索。
![一机一档应用开发技术方案.docx](https://file1.bdocx.com/fileroot1/2022-11/27/f692a6d4-51ad-48e6-b218-6484e19f9dba/f692a6d4-51ad-48e6-b218-6484e19f9dba1.gif)
一机一档应用开发技术方案
2021年“一机一档〞应用开发技术方案
二〇二一年一月
一、设计架构
“一机一档〞系统总体架构采用省市两级建设。
市级系统负责本市“一机一档〞数据的会聚,通过数据上报接口与省级系统对接。
市级“一机一档〞系统须开放功能、权限提供各县级应用部门采集、接入及应用根底信息,县级应用部门不再独立建设“一机一档〞系统或功能模块。
“一机一档〞系统根据采集根底信息来源不同,分为前端专网与应用网两局部。
前端专网:
负责一类视频监控点、已联网接入应用部门的二、三类视频监控点根底信息采集建档,逐级上联同步。
应用网:
负责应用网网内视频监控,含应用部门自建视频监控点〔如应用监所、办案审讯、平安保卫等视频监控〕的根底信息采集建档工作,接收前端专网“一机一档〞系统数据,逐级上联同步。
未联网的二、三类点根底信息采集按照往前规定执行,但管理单位、安装地址、经度、纬度等与视频查找有关的根底信息必须汇入应用网“一机一档〞系统。
图1:
“一机一档〞总体架构图
“一机一档〞数据更新采用增量同步的方式,定期将本地新增或更新的数据向上级进行同步,防止数据重复上报。
二、开发技术方案
“一机一档〞系统改造模式
将利用现有平台资源,采用系统改造模式,基于平台增加“一机一档〞数据表,增加“一机一档〞接口效劳,增加“一机一档〞功能模块等完成“一机一档〞模块建设。
其中根本功能包括设备管理、系统管理和统计分析功能,接口效劳包括数据同步接口、数据查询接口等。
改造模式设计如下列图所示:
图2“一机一档〞系统改造模式
2.2系统工作流程设计
平台“一机一档〞系统工作流程如下列图所示:
图3系统工作流程图
设备信息可通过三种方式进入系统,分别是:
手工直接录入、批量数据导入和外部系统接口同步。
设备信息进入系统后,系统自动审核,审核通过的设备信息通过数据同步功能定期向其他系统同步设备信息,不通过的退回,通知整改。
“一机一档〞数据库中的设备信息可进行设备信息查询、设备信息导出、地图展示和统计分析等应用。
2.3数据库设计
“一机一档〞系统的数据库包含设备信息相关表和字典项相关表。
设备信息相关表中数据将区分未提交审核状态、待审核状态、待同步状态和已同步状态。
设备信息相关表包含设备信息表、平台信息表;字典项相关表包括行政区划表、组织机构表、字典类型表和字典项表。
2.3.1设备信息表设计
设备信息表包含目录信息、功能信息、地理信息、注册信息、平安信息、网络信息、运维信息、录像信息、编码信息、单位信息10大类73项,属地市必采的35项、根据设备要求局部必采的14项,必须上传省级的31项。
2.3.2平台信息表
平台信息表包含注册信息、网络信息、运维信息、单位信息、平安信息5大类20项,属地市必采的12项、根据平台要求局部必采的5项,必须上传省级的16项。
2.3.3行政区划表、组织机构表
本行政区域GB/T2260行政区划代码关系对应表、GA/T380应用部门组织机构代码关系对应表。
须全部上传省级。
2.4功能模块设计
“一机一档〞系统功能各地可根据自身需求进行设置,根底功能应包含设备管理、系统管理和统计分析,其他功能可根据应用需要进行扩展。
图4系统功能结构图
2.4.1设备管理
2.4.1.1设备自动发现
利用全网自动扫描、视频数据〔信令、图像帧〕抓包分析等技术手段实现在网设备自动发现,提取根底信息,减少人工采集工作,提高工作效率及根底信息精准度。
2.4.1.2设备信息录入
实现“一机一档〞设备信息的录入功能,完成信息录入、校验、保存,并提交审核。
2.4.1.3设备信息修改
实现设备信息的更新和维护,完成信息编辑、校验、保存,并提交审核。
2.4.1.4设备信息审核
实现设备信息审核功能,确保录入信息的正确性和完整性,审核通过的设备信息进入待同步设备信息表中。
2.4.1.5设备信息查询
实现本地“一机一档〞数据库中设备信息的查询检索,可根据设备属性信息进行组合查询,并以列表形式返回查询结果。
可查看单个设备的详细信息。
2.4.1.6设备信息导入/导出
实现设备信息的批量导入导出功能,可按固定模板实现EXCEL格式数据的批量导入并完成数据校验,能够将设备查询结果以EXCEL格式文件导出。
2.4.1.7设备信息同步
实现手动或定期将本地未同步设备信息表中的数据向上级或其他系统进行同步,同步完成的设备信息移动到已同步设备信息表中。
2.4.2系统管理
2.4.2.1用户管理
实现对本地“一机一档〞系统的用户管理,包括操作用户和系统用户,对操作用户应进行授权,系统用户那么负责与外部系统对接授权管理。
2.4.2.2权限管理
实现“一机一档〞系统的权限管理功能,完成用户角色定义和功能授权。
2.4.2.3日志管理
实现日志审计功能,可对用户操作日志和系统日志进行记录和查询。
2.4.2.4字典项管理
实现对字典项的维护功能。
通常字典项由省级统一发布、标准。
尚未发布的,各地可根据自身需要补充、扩展。
2.4.3统计分析
通过统计图表对设备数量按照不同维度进行统计和分析。
2.4.3.1按地区统计
实现按照行政区划维度对设备数量进行统计分析。
2.4.3.2按属性分类统计
实现按照设备的多个属性分类对设备数量进行统计分析。
2.4.3.3数据填报质量统计
根据各数据项填报的完整性统计数据填报的质量。
2.4.3.4可视化展示
要根据需要增加地图等可视化展示功能。
2.5接口效劳设计
“一机一档〞系统的接口效劳包括数据同步接口和数据查询接口。
接口协议结构应采用REST架构进行定义,REST效劳通过的方法实现,消息体采用JSON进行封装。
接口相关要求符合?
应用视频图像信息应用系统第4局部:
接口协议要求?
〔〕。
2.5.1数据查询接口
数据查询接口可满足其他系统对“一机一档〞设备信息查询的需求,主要用于上级系统初始化“一机一档〞数据库。
URI
/VIID/Cameras
功能
提供本地“一机一档〞数据查询功能。
方法
查询字符串
消息体
返回结果
GET
Camera属性键-值对及offset〔起始位置〕和limit〔请求数据量〕
无
{
CameraList:
,
RecordCount:
Numer,
TotalRecordCount:
Number
}
注释
CameraList的定义应符合附录中的要求。
为确保通过翻页屡次查询可以遍历所有设备,结果列表需按照设备编码升序排列,且在上级系统初始化数据块进行屡次翻页查询之间,下级系统暂停增删改操作,待上级系统初始化完毕,再进行增删改操作,并将更改按“数据增量同步接口〞推送至上级系统。
〔下级系统可通过一个数据快照的方式来实现类似效果,具体细节上级系统无感知,总之要保证上下级数据的一致性〕
数据查询接口消息体例如如下:
查询地址:
:
//IP:
PORT/VIID/Cameras?
XZQH=440101&offset=0&limit=10
方法:
GET
返回值:
{
"CameraList":
[
{"SBBM":
"","SBMC":
"","XZQH":
"","ParentID":
"",……}
],
"TotalRecordCount":
1000,
"RecordCount":
10
}
2.5.2数据增量同步接口
数据增量同步接口采用数据推送的方式实现不同系统之间数据的同步,主要用于下级将新增、修改和删除的局部数据同步到上级系统。
数据向上级同步的周期为每天同步一次。
系统需记录推送日志。
URI
/VIID/Cameras
功能
向上级“一机一档〞系统或其他视频图像应用系统同步本地更新的“一机一档〞数据。
方法
查询字符串
消息体
返回结果
POST
无
{
Add:
,Update:
,
Delete:
[]
}
注释
CameraList的定义应符合附录中的要求。
ResponseStatusList的定义应符合?
应用视频图像信息应用系统第3局部:
数据库技术要求?
〔GA/T1400.3-2017〕中的规定。
消息体中的增加〔Add〕、删除〔Delete〕、修改〔Update〕操作会按照删除、增加、修改及数组中元素的顺序依次执行。
其中,修改操作以“SBBM〞作为关键字。
数据同步接口消息体例如如下:
请求:
:
//IP:
PORT/VIID/Cameras
方法:
POST
消息体:
{
"Add":
[
{"SBBM":
"","SBMC":
"","XZQH":
"","ParentID":
"",……}
],
"Update":
[
{"SBBM":
"","SBMC":
"","XZQH":
"","ParentID":
"",……}
],
"Delete":
[
"",""
]
}
返回值:
[
{
"RequestURL":
"/VIID/Cameras/",
"StatusCode":
0,
"StatusString":
"Added"
},
{
"RequestURL":
"/VIID/Cameras/",
"StatusCode":
0,
"StatusString":
"Updated"
},
{
"RequestURL":
"/VIID/Cameras/",
"StatusCode":
0,
"StatusString":
"Deleted"
},
{
"RequestURL":
"/VIID/Cameras/",
"StatusCode":
0,
"StatusString":
"Deleted"
}
]