数据交换概要设计.docx
《数据交换概要设计.docx》由会员分享,可在线阅读,更多相关《数据交换概要设计.docx(19页珍藏版)》请在冰点文库上搜索。
数据交换概要设计
数据交换v3.0概要设计文档
文档修改记录:
1.引言(5
1.1.背景(5
1.2.术语和缩写词(5
1.3.参考资料(7
2.系统需求(7
2.1.总体描述(7
2.2.功能(7
2.2.1.数据同步和交换(7
2.2.2.本地FTP服务(8
2.2.3.本地SNMP服务(8
2.2.4.日志(9
2.3.性能(9
2.4.安全(10
3.总体架构设计(10
3.1.系统部署(10
3.2.系统组件结构(11
3.3.系统总体架构(11
4.子系统设计(12
4.1.数据交换WEB应用(12
4.1.1.架构图(12
4.1.2.设计要求(12
4.2.数据交换服务(13
4.2.1.架构图(13
4.2.2.流程图(13
4.3.本地FTP服务(14
4.3.1.架构图(14
4.3.2.开源框架(14
4.4.SNMP服务(14
4.4.1.开源框架(14
4.4.2.可提供查询信息(14
4.4.3.SNMPTrap通知(优先级:
低(14
5.接口设计(15
5.1.用户界面(15
5.1.1.用户管理(15
5.1.2.系统管理(15
5.1.3.数据交换相关配置和管理(16
5.1.4.服务配置(17
5.1.5.网络配置(17
5.1.6.日志相关(17
5.2.通信协议(18
5.2.1.内交换服务和外交换服务数据通信协议(18
6.运行环境(19
6.1.硬件平台(19
6.2.软件平台(19
7.系统开发维护技术(20
7.1.可维护性设计(20
7.2.可移植性设计(20
1.引言
1.1.背景
公安信息通信网是覆盖全国各级公安机关内部信息传输的专用网络,是日常公安工作的重要基础设施。
但是随着公安信息化的深入开展,公安工作对于公安信息通信网上信息的完整性、及时性和准确性的需求非常迫切,所以通过公安信息通信网更广泛的采集社会信息,同时向党政军机关及有关单位提供公安信息资源和服务已逐渐成为公安信息化发展的必然趋势。
这将会给公安信息通信网带来其他网络的攻击、入侵、病毒等给类型的安全威胁。
因此如何既保证公安机关与外部开展正常业务信息共享的同时,又保证整体共按信息通信网的安全,是公安信息化开展工作中急需解决的问题。
为了解决公安信息通信网与外单位业务信息共享中的安全问题,除了搭建可信的安全边界接入平台之外,稳定而高效的数据交换系统也是整个解决方案中的一个重要组成部分。
目前,相当一部分客户在使用Fable数据交换v2.0系统,而2.0版本的由于在需求、人员、开发周期等情况中存在一些冲突或者妥协,使得数据交换2.0在客户的实际使用环境中,存在着不少的迫切需要改善或解决的问题,数据交换v3.0将作为2.0的后续版本能彻底解决这些问题,提高客户的工作效率。
1.2.术语和缩写词
外数据交换服务器:
数据交换的组成部分,通常与低密级网络环境连接。
内数据交换服务器:
数据交换的组成部分,通常与高密级网络环境连接。
同构数据表:
数据表结构相同,包括数据表名、表字段数目、字段名、字段长度等,完全相同。
异构数据表:
数据表结构可能不完全相同,但是必须包含一部分内容能被转换的字段,数据交换通过用户配置的字段映射,进行表数据交换。
外交换网络:
位于外数据交换服务器一侧的网络,与外交换系统连接,通常属于低密级网络环境。
内交换网络:
位于内数据交换服务器一侧的网络,与内交换系统连接,通常属于高密级网络环境。
前置服务器:
部署在外交换网络环境中的任意数据服务器,可以作为数据交换源或者数据交换目的,通常置于低密级网络环境中,简称为前置机。
后置服务器:
部署在内交换网络环境中的任意数据服务器,可以作为数据交换源或者数据交换目的,通常置于高密级网络环境中,简称为后置机。
FTP:
FileTransferProtocol,文件传输协议。
用户可在前/后置服务器上搭建FTP服务器,通过数据交换系统进行文件交换。
SMB:
ServerMessageBlock,信息服务块。
用户可在前/后置服务器上创建支持SMB协议文件共享目录,通过数据交换系统进行文件交换。
数据库触发器:
数据库在数据表被操作时执行预编写的相关程序。
数据交换系统通过创建相关触发器保留数据表的插入、修改和删除等信息。
交换实体(ExchangeEntity:
数据交换发生时,监控或者读取的资源配置信息,或者写入的资源配置信息。
通常需配置资源所在的服务器IP地址,连接端口,用户名和密码等信息,可以位于前置机或者后置机,可以包含数据表相关信息、文件目录信息或者其它信息。
数据交换系统的主要目的就是通过监控交换实体,实现前/后置机上的资源同步或者共享。
任务(Task:
用户所需执行的数据交换行为被称作任务,1个任务通常关联至少2个交换实体。
任务由用户配置产生,而数据交换系统根据用户指定的调度策略在特定时间执行任务,实现不同交换实体包含的资源同步或者共享。
1.3.参考资料
数据交换产品需求文档
2.系统需求
2.1.总体描述
通过部署数据交换系统,安全的实现外单位网络和公安信息通信网间的数据同步、业务通讯。
2.2.功能
2.2.1.数据同步和交换
2.2.1.1.数据库数据同步
同构数据表同步。
异构数据表同步。
支持常用数据库,至少支持Oracle、MySQL、SQLServer和达梦数据库。
支持多种同步方式,包括触发器同步、时间戳同步、日志解析同步。
支持对同步数据的清洗、过滤、转换。
支持对同步数据的安全性检测。
2.2.1.2.文件同步
支持同步FTP服务器目录下的递归子目录和文件。
支持同步以SMB协议共享的目录下的递归子目录和文件。
支持FTP服务器目录与SMB协议共享的目录的交叉同步(优先级:
低。
2.2.1.
3.文件与数据库数据转换(优先级:
低
支持XML文件与数据表的相互转换。
支持CSV格式的文件与数据表的相互转换。
2.2.1.4.应用程序或服务通讯代理
支持外交换网络通过数据交换系统直接访问内交换网络的WEB服务。
支持内外交换网络应用程序以TCP协议通讯。
支持内外交换网络应用程序以UDP协议通讯。
2.2.2.本地FTP服务
数据交换系统内置FTP服务功能,支持用户启动或者停止。
用户可以通过控制台在数据交换前/后置服务器上创建FTP目录。
内/外交换网络用户能分别通过FTP客户端在FTP目录上传或者下载文件。
前/后置服务器FTP目录完全对称,任何一边发生变更,及时同步到另一边,对内/外网络用户来说是完全透明的。
2.2.
3.本地SNMP服务
2.2.
3.1.SNMPAgent
用户通过SNMP客户端可获取数据交换系统信息。
用户通过SNMP客户端客获取数据交换任务的统计信息。
2.2.
3.2.发送SNMPTrap
数据交换系统向SNMPTrap服务器发送启动、停止或故障通知。
数据交换系统向SNMPTrap服务器发送数据交换任务的调度通知。
2.2.4.1.用户操作日志
记录用户管理日志。
记录系统管理日志。
记录数据交换体配置日志。
记录数据交换任务配置日志。
记录系统升级或者回溯日志。
2.2.4.2.数据交换服务日志
记录数据交换任务调度日志。
记录数据交换任务结果日志。
记录数据交换任务异常日志。
2.2.4.
3.日志输出
支持以标准SysLog格式的方式将上述日志输出到配置的日志服务器(内交换网络。
2.3.性能
稳定运行时间:
>100000小时。
数据库到数据库交换数≥2000条/秒。
FTP文件吞吐量≥600Mbps。
数据文件处理文件数(>100Kb/记录≥2000个/秒。
最大数据文件≥30G。
最大日志存储时间≥180天。
最大并发连接数≥10000条。
病毒库及时更新。
系统需通过漏洞工具检测,高危漏洞为0。
3.总体架构设计
3.1.系统部署
公安应用系统前置服务器群
服务器群
3.2.系统组件结构
3.3.系统总体架构
后置服务器
SNMP代理
4.子系统设计
4.1.数据交换WEB应用
4.1.1.架构图
4.1.2.设计要求
程序使用Struts2+Spring+Hibernate作为代码框架。
所有界面中出现的字串、描述或者消息必须置于Properties文件中,不允许以Hard-code的方式出现在任何代码(包括java、JSP、HTML、JS或者XML文件,
图片除外中。
JSP文件中不允许出现任何java代码,请用ONGL或者StrutsTag以XML格式获取DomainObject信息。
4.2.数据交换服务
4.2.1.架构图
外数据交换服务器
内数据交换服务器4.2.2.流程图
4.3.本地FTP服务4.3.1.架构图
外数据交换服务器
内数据交换服务器
内交换网络用户或应用
外交换网络用户或应用
外交换FTP服务
内交换FTP服务
4.3.2.开源框架
ApacheFtpServer,http:
//mina.apache.org/ftpserver-project/index.html。
4.4.SNMP服务4.4.1.开源框架
SNMP4J,http:
//www.snmp4j.org/。
4.4.2.可提供查询信息
操作系统信息。
数据交换系统信息。
当前CPU使用状况。
当前内存使用状况。
当前硬盘使用状况。
数据交换任务统计信息。
数据库状态信息。
4.4.3.SNMPTrap通知(优先级:
低
服务器启动、关闭通知。
数据交换服务启动、停止通知。
数据交换WEB服务启动、停止通知。
服务器IP地址变更通知。
本地FTP服务启动、停止通知。
数据交换任务异常通知。
硬盘报警通知。
本地数据库异常通知。
数据交换体访问异常通知
5.接口设计
5.1.用户界面
5.1.1.用户管理
创建、修改、删除用户。
用户信息包括用户名、密码、权限配置。
5.1.2.系统管理
5.1.2.1.系统控制
关机、重新启动。
重启系统服务。
开启/关闭SSH服务。
5.1.2.2.系统维护
恢复出厂设置。
系统升级。
病毒库升级。
5.1.2.3.注册
5.1.3.数据交换相关配置和管理
5.1.3.1.交换实体管理
数据交换实体的创建、修改、删除和连接测试。
数据交换实体信息包括交换实体名称、类型、描述和具体信息。
数据交换实体类型包括数据表、FTP目录、SMB共享目录。
数据表信息包括数据库类型、连接URL、用户名、密码。
FTP目录信息包括根目录全路径、用户名、密码。
SMB共享目录信息包括根目录全路径、用户名、密码。
5.1.3.2.交换任务管理
交换任务的创建、修改和删除。
交换任务信息包括任务名称、描述、源交换实体、端交换实体(可以多个。
5.1.3.3.任务调度
启动、暂停、停止。
任务调度方式包括立刻运行一次、延时运行一次、立刻周期运行、延时后周期运行、周期固定时间点运行。
5.1.3.4.任务列表信息显示
任务列表显示信息包括任务名称、方向、任务类型、任务状态、启动时间、运行时间、本次运行结果、文件个数/数据条数、传输流量。
任务状态包括停止、运行、等待、暂停、异常。
查看任务详情还包括任务描述、失败原因或异常描述。
5.1.3.5.应用服务代理配置
创建、修改、删除应用服务代理
应用服务代理信息包括名称、描述、代理地址和端口、映射端口。
5.1.4.服务配置
5.1.4.1.本地FTP服务管理
关闭/开启/重启本地FTP服务
创建和维护FTP目录、FTP用户、和目录权限控制
5.1.4.2.SNMP相关设置
SNMPAgent运行控制
SNMPTrap服务器信息设置
5.1.5.网络配置
5.1.5.1.IP地址设置
手动配置IP地址、子网掩码和默认网关
5.1.
6.日志相关
5.1.
6.1.日志查询
日志类型包括系统日志和用户操作日志
查询条件包括时间周期、任务类型、任务名称等
5.1.
6.2.日志维护
设置日志保存时间
5.1.
6.3.日志输出
日志服务器设置
5.2.通信协议
5.2.1.内交换服务和外交换服务数据通信协议
6.数据结构设计
6.1.数据库设计
6.1.1.本地数据库软件
Oracle11g
6.1.2.主要数据表
用户表:
存放数据交换系统用户信息
权限表:
存放预设权限信息
任务表:
存放数据交换任务信息
日志表:
存放操作日志和系统日志信息
数据库类型表:
存放支持数据库产品信息
6.2.配置文件结构设计
6.3.数据库初始化脚本
包含数据库表的创建和出厂信息的初始化
6.3.1.System.conf
XML格式
存放系统初始用户和密码信息
存放内/外交换服务器IP地址信息
存放SSH控制信息
存放SNMP相关信息
存放日志服务器信息
存放其它系统配置信息
6.3.2.System.bak
System.conf的备份,存放所有初始配置,只读,用于恢复出厂设置。
7.运行环境
7.1.硬件平台
CPU:
XeonE5-2600系列CPU*1
内存:
8GBECCDDR3*2
硬盘:
>=1T
网卡:
四口千兆以太网卡
7.2.软件平台
操作系统:
Linux(RedHatEnterpriseLinux6
Oracle11g数据库服务器
Java(JDK&JRE1.7
8.系统开发维护技术
8.1.可维护性设计
WEB框架使用Struts2
Service和数据库框架使用Spring+Hibernate8.2.可移植性设计
系统采用Java开发(JDK1.7