数据同步系统——概要设计说明书.doc

上传人:小飞机 文档编号:4281822 上传时间:2023-04-13 格式:DOC 页数:27 大小:2.25MB
返回 下载 相关 举报
数据同步系统——概要设计说明书.doc_第1页
第1页 / 共27页
数据同步系统——概要设计说明书.doc_第2页
第2页 / 共27页
数据同步系统——概要设计说明书.doc_第3页
第3页 / 共27页
数据同步系统——概要设计说明书.doc_第4页
第4页 / 共27页
数据同步系统——概要设计说明书.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《数据同步系统——概要设计说明书.doc》由会员分享,可在线阅读,更多相关《数据同步系统——概要设计说明书.doc(27页珍藏版)》请在三一办公上搜索。

1、数据同步系统概要设计说明2007年11月文档名称文档编号版 本 号作 者项目名称审 查 人承办单位批 准合作单位标 准 化日 期使用范围页数文档文件名:数据同步系统 历史版本记录时间版本号修改人修改内容目 录1.引言61.1.背景61.2.相关文档61.3.参考资料61.4.术语和缩写词62.系统需求62.1.总体描述62.2.功能72.2.1.数据同步功能72.2.2.日志管理功能72.3.性能73.总体架构设计83.1.系统设计目标83.2.系统软件构成83.3.系统总体架构83.4.系统网络拓扑结构104.分系统设计104.1.数据同步系统104.1.1.初始化模块114.1.2.同步配

2、置模块124.1.3.信息检索模块134.1.4.信息比对模块144.1.5.信息插入更新模块164.2.日志管理系统174.2.1.日志生成模块184.2.2.日志显示模块185.接口设计195.1.用户界面195.2.硬件接口195.3.通信协议196.运行设计196.1.运行过程196.1.1.系统初始化过程196.1.2.用户配置过程206.1.3.数据同步过程206.1.4.联动更新过程206.1.5.日志生成过程206.1.6.日志显示过程206.2.系统流程216.3.运行环境216.3.1.硬件平台216.3.2.软件平台217.数据结构设计227.1.配置文件结构设计227.

3、1.1.初始化配置文件227.1.2.日志管理配置文件237.2.数据库结构设计247.2.1.同步表类247.2.2.联动更新表类268.系统出错设计278.1.出错信息278.2.补救措施289.系统维护技术289.1.可靠性设计289.2.易使用性设计289.3.可维护性设计289.4.可移植性设计291. 引言1.1. 背景奥运会期间为了使场馆与指挥中心的部分数据保持一致,为指挥系统提供准确的信息,设计了数据同步系统,为操作人员提供统一友好的操作界面和同步态势展示界面。1.2. 相关文档数据同步系统需求规格说明书1.3. 参考资料仰山桥业务需求仰山桥指挥系统架构设计1.4. 术语和缩写

4、词【无】2. 系统需求2.1. 总体描述(1) 数据同步系统是仰山桥安保指挥系统的一部分,通过此系统,指挥中心能够拥有所有场馆的资源、网络节点、视频服务器等信息,并能够随场馆的变化而变化,为指挥系统提供信息支持;(2) 为指挥中心和场馆的信息同步提供自动化机制,通过程序控制同步的具体方式。(3) 指挥中心和场馆之间的同步采用非实时同步,操作员在某一时间点通过操作运行该软件(或者按照设定时间定时启动)来完成数据库的同步过程。2.2. 功能数据同步系统软件实现如下功能:2.2.1. 数据同步功能该功能详细的功能点包括以下几个方面:(1) 场馆需要同步的数据表分别为:资源节点表,网络节点表,视频服务

5、器表(2) 当场馆中的数据表发生变化时(如增加记录,删除记录,修改记录),仰山桥的数据表需要相应地与之变化(3) 当场馆视频服务器表发生变化时,除了更新仰山桥的视频服务器表,还需要更新仰山桥的视频通道信息表 (4) 能够为用户提供操作界面来配置同步操作(5) 能够选择需要同步的场馆和数据表2.2.2. 日志管理功能该功能详细的功能点包括以下几个方面:(1) 能够将同步过程中的信息记录为日志文件保存以备查看(2) 日志的内容主要包括每次同步涉及到的场馆,数据表,以及同步的过程中该场馆某张表增加了多少条记录,删除了多少条记录(3) 能够在同步的过程中,将日志显示在界面上,供用户查看。2.3. 性能

6、在网络保持畅通的情况下,同步一个场馆的一张表中一千条记录,在10秒之内完成。3. 总体架构设计3.1. 系统设计目标开发出的数据同步系统需要实现以下的几个目标:(1) 系统能够满足2.2提出的所有功能需求;(2) 系统具有高的可靠性,保证准确无误地同步数据;(3) 系统要保证良好的性能;(4) 系统要具有一定的灵活性,方便以后的扩展或移植。3.2. 系统软件构成数据同步系统信息检索初始化数据同步系统日志管理系统同步配置信息比对日志生成日志显示信息插入更新3.3. 系统总体架构3.4. 系统网络拓扑结构4. 分系统设计4.1. 数据同步系统数据同步系统主要解决的是场馆与仰山桥之间的数据一致性问题

7、。系统同步的对象是场馆数据库与仰山桥数据库中的一些数据表的信息。包括资源信息,设备信息,赛事信息等。这些信息需要保证正确,完整。即场馆数据库中需要被同步的信息,必须都要存储至仰山桥数据库的相应表中。这些信息的任何变化,都要导致仰山桥数据库内容的改变。另一方面,需要同步的场馆和数据表可以通过用户界面进行选择配置,方便用户使用。4.1.1. 初始化模块系统在做数据同步之前需要知道有哪些场馆的哪些数据表可以进行同步,并将这些场馆名及数据表名展示在页面上,供用户进行选择。可同步的场馆及数据表的名称以.xml文件的方式存储在文件系统中。系统启动后,将读取这个文件,从而获得提供给用户的选择项。n 需要的网

8、络连接此模块执行过程不需要网络连接,只需要在本地文件系统读取配置文件即可。n 流程图:系统启动后,首先读取配置文件(xml文件),在读取的过程中,迭代地读取场馆信息及场馆中的数据表信息。在读取的同时,动态地生成对应的界面上的控件,在配置文件读取完毕后,界面上将会显示所有的可与指挥中心数据库同步的场馆及场馆数据库中的表。n 为了满足系统的需求需要的数据准备首先需要收集各场馆的ID和名称,其次收集各场馆数据库中需要进行同步的表的名称。在前两项收集完毕的基础上,将数据编制为xml文件的格式,供系统读取。同步信息数据可以进行修改,修改之后需要生成新的.xml文件,并且存储到本地的文件系统中。对于配置文

9、件的格式,在7.1节配置文件结构设计中将有详细的描述。4.1.2. 同步配置模块系统经过初始化后,进入同步配置模块。本模块的主要功能是提供完整的用户界面,供用户选择本次同步过程所涉及到的场馆以及场馆的数据表。n 用户操作:当经过初始化过程后,界面上会显示所有的场馆及数据表,用户只需在需要同步的场馆和表后边勾选“”即可。具体的配置界面形式会在5.1节中有详细的描述。n 流程图:4.1.3. 信息检索模块系统在经过用户配置同步对象后,进入信息检索模块。该模块的主要功能是,分别检索出需要进行同步的两个数据库的信息。并形成两个信息集合。作为下一个模块的输入。n 需要的网络连接:在本模块中,需要有两个数

10、据库连接,一个是与指挥中心本地数据库服务器的连接,另一个是与场馆数据库服务器的连接。在检索的过程中,无论是同步哪个场馆的数据,都会存在系统与本地数据库服务器的连接,因此将此数据库连接作为长连接,以静态成员的方式写入该模块中。只要模块启动,连接就会一直启动。而对于场馆数据库服务器的连接,系统只需连接一次,查到信息后立刻断开,然后连接下一个场馆,因此,将此数据库连接作为变量写入模块中,随场馆的变化而变化。n 流程图:4.1.4. 信息比对模块当系统检索出对应于某个数据表的场馆数据和指挥中心数据的两个数据集合后,将会进入信息比对模块,本模块的主要功能是比较两个数据集合,找出它们之间的差异。由于同步的

11、方向是以场馆数据库为标准,向指挥中心数据库同步,因此,最终的输出结果同样是一个数据集合,在该集合中,对每一个记录增加了标志位,以指示该条记录是应当增加至指挥中心数据库,还是从指挥中心数据库删除。这个数据集合的结果同时也是下一个模块的输入条件。n 记录的比较原则在两个集合的记录进行比较的过程中,实际比较的是两个对象,所以需要制定一个比较规则,这样才能够判断两条记录是否等价。在本系统中,对于不同的数据表有不同的比较规则。描述如下:(1)对于资源点信息。两个资源点是否相等,需要由资源点的所属场馆ID(AtVenueID),所属建筑ID(AtBuildID),所属楼层ID(AtFloorID),资源点

12、ID(SrcPointID)共同确定。只要这四个字段相等,就认为两个资源点相等,否则认为不相等。(2)对于网络节点信息两个网络节点是否相等,需要由网络节点的所属场馆ID(AtVenueID),网络节点ID(NetNodeID)共同确定。只要这两个字段相等,就认为两个网络节点相等,否则认为不相等。(3)对于视频服务器信息两个视频服务器是否相等,需要由视频服务器的所属场馆ID(AtVenueID),资源ID(VSID)共同确定。只要这两个字段相等,就认为两个视频服务器相等,否则认为不相等。n 记录的操作标志在输出的数据集合中,每一条记录都带有一个标志位,指示应当对该记录进行何种操作。标志有三种取值

13、:取1代表需要向指挥中心数据库添加这条记录;取0代表跳过此记录,不做任何操作;去-1代表从指挥中心数据库中删除这条记录。n 算法流程说明:为了避免重新对指挥中心数据集合扫描,在一开始就对指挥中心所有记录的操作标志置为-1,这样只需扫描一遍场馆数据集合,就可以确定指挥中心数据集合中记录的操作(增,删,不变)。4.1.5. 信息插入更新模块当系统运行完信息比对模块后,就会进入信息插入更新模块。本模块的主要功能是根据比对的结果,开始更新指挥中心的数据库。输入条件为经过信息比对后输出的数据集合,系统会根据数据集合中的标志位决定对指挥中心数据库的操作(增加记录,删除记录)。n 需要的网络连接在本模块中,

14、需要一个与指挥中心本地数据库服务器的连接,这个连接可以复用4.1.2节中信息检索模块的长连接,减少系统资源消耗。 n 关联表的联动更新及更新规则当指挥中心的某些数据表随场馆同步后,一些与之相关联的表也要做出相应的更新。目前,本系统中需要处理的联动更新的关联表如下所示(1)视频通道信息表(VSChanInfoTable)随视频服务器表(VSInfoTable)的更新。l 当视频服务器表中删除一条记录时,视频通道信息表中也要删除相应的记录;l 当视频服务器表中增加一条记录时,视频通道信息表中也要增加相应的记录,具体字段设置规则如下: 对于场馆ID(AtVenueID)和资源ID(VSID)可从视频

15、服务器表(VSInfoTable)中获得; 对于场馆类型(Type)可根据场馆ID(AtVenueID)在场馆信息表(venueparainfotable)中查到; 对于可动态分配信道信息(chcount),需要根据场馆类型设置,当场馆为训练馆时,chcount = 2,当场馆为大型竞赛馆或竞赛馆时,chcount=6; 对于视频通道的若干字段,需要根据可动态分配信道信息(chcount)设置,当chcount=6时,视频通道1-16均设置为1,当chcount=2时,视频通道1-8设置为1,视频通道9-16设置为0。n 流程图4.2. 日志管理系统日志管理系统主要解决的是同步过程中的信息显示

16、与存储问题。在系统对场馆与指挥中心数据库进行同步的过程中,需要记录一些操作信息来显示同步的进程以及同步的状态,如当前同步哪个场馆的哪张数据表,同步每张表的过程中增加了多少条记录,删除了多少条记录。同时还要将日志信息保存至文件系统中以备查看。4.2.1. 日志生成模块日志生成模块的主要功能是在系统进行数据同步的时候生成相应的操作日志。此模块的运行贯穿整个同步过程,也就是说,系统在进行同步的同时生成日志,每同步一张数据表,则生成该表的相关日志。n 日志的存储方式在本模块中,生成的日志存储在文件系统中,以xxx.log的文件名保存。日志的保存路径可以在配置文件中进行配置。n 日志生成的实现方式在本模

17、块中,日志的实现方式借用了log4j 开源工具包,模块封装该工具包中的Logger对象,可直接对应用工具包中的一些方法。4.2.2. 日志显示模块在数据同步的过程中,需要有实时的操作信息反馈给用户。日志显示模块实现的就是这个功能。该模块将写入文件的日志信息同时显示在用户界面上,让用户能够很方面地了解到同步的具体信息。n 日志显示的实现方式与日志生成模块相同,日志显示模块同样借用了log4j开源工具包来实现。n 日志的按级别显示方式在日志记录的过程中,可以将日志分为若干个等级,比如供开发调试使用的信息,呈现给用户的信息,以及系统的出错信息等。Log4j工具包自身将日志分为5个等级,分别是debu

18、g, info, warn, error, fetal。根据实际情况,我们抽取其中的三个等级作为本模块的日志等级。分别是:l Debug此级别下,日志的显示最为详细,主要用于程序的开发和调试使用l Info此级别下,日志不显示调试信息,只显示系统运行是出现的普通操作信息l Error此级别下,日志仅显示出错信息,以上两个级别的信息均不显示。在本模块中,日志默认按照Info级别显示,同时,日志的显示级别可以在配置文件中进行配置,具体的配置文件格式在7.1节中将有详细的描述。5. 接口设计5.1. 用户界面n 系统配置界面n 系统同步过程界面5.2. 硬件接口【无】5.3. 通信协议【无】6. 运

19、行设计6.1. 运行过程6.1.1. 系统初始化过程(1) 系统读取配置文件(2) 按照配置文件的内容,在用户界面上显示能够进行同步的场馆及数据表(3) 将构造好的用户界面显示给用户6.1.2. 用户配置过程(1) 用户点击可执行文件,得到经过初始化过程后的用户界面(2) 用户选择指挥中心需要与之同步的场馆及场馆中的数据表(3) 用户点击确认按钮,完成配置过程6.1.3. 数据同步过程(1) 系统读取用户配置的需要同步的场馆及数据表(2) 对于每一个场馆的每一个表,分别查询场馆和指挥中心的两套相应数据(3) 对比两套数据的差异(4) 以场馆的数据集合为标准,使指挥中心的数据集合与场馆的数据集合

20、一致6.1.4. 联动更新过程(1) 同步更新的表插入或删除一条数据(2) 联动更新的表对关联的数据做出改变,或者插入一条新的数据,按照规则设置其他字段,或者删除一条关联的数据。6.1.5. 日志生成过程(1) 初始化Logger对象(2) 读取配置文件(3) 提取日志文件的保存路径等相关信息(4) 在已配置的路径下生成日志文件(5) 向日志文件中写入日志信息6.1.6. 日志显示过程(1) 初始化Logger对象(2) 提取日志信息(3) 读取配置文件,判断日志显示级别(4) 按照级别将日志向用户界面上输出6.2. 系统流程6.3. 运行环境6.3.1. 硬件平台n 运行主机配置:P4 3.

21、0G以上、2G内存、128M显存n 网卡:10/100M自适应网卡6.3.2. 软件平台n 操作系统:Windows XPn Oracle10g数据库服务器n Java运行环境(JDK&JRE1.5)7. 数据结构设计7.1. 配置文件结构设计本系统中的配置文件一共有两个,分别是初始化过程中的配置文件和日志管理的配置文件。7.1.1. 初始化配置文件初始化配置文件主要记录系统当前能够进行同步处理的场馆以及场馆中的数据表,该配置文件以xml文件进行组织,以下是该文件的格式示例。ysqadminccfjdbc:oracle:thin:10.9.193.11:1521:DB200status1tes

22、t1location1ysqadminccfjdbc:oracle:thin:10.9.193.12:1521:DB200status1test1说明:a) 在根元素下的一级子元素代表场馆,其属性包括场馆ID(id)、场馆名称(name);b) 在场馆子元素下包含若干二级子元素,表示场馆的其他相关属性,其中表示连接该场馆数据库时所用的用户名,表示连接该场馆数据库时所用的密码,表示连接该场馆时所用的连接字串(包括IP地址和数据库服务名),表示该场馆所能够同步的数据表的集合;c) 在场馆数据表集合元素下包含若干三级子元素,表示每一张表的名称.7.1.2. 日志管理配置文件本系统的日志功能借用log

23、4j开源工具包,实现了日志的可配置性。日志管理配置文件的作用就是描述系统在运行日志相关的模块时,所呈现的行为。文件名称为log4j.properties。以下为该文件的示例log4j.rootLogger=debug, stdout, logfile log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%dyyyy-MM-dd H

24、H:mm:ss.SSS-%m%n.ccf.ix = debuglog4j.appender.logfile=org.apache.log4j.RollingFileAppenderlog4j.appender.logfile.File=c:/logfile/data_merge.loglog4j.appender.logfile.MaxFileSize=512KBlog4j.appender.logfile.MaxBackupIndex=6000log4j.appender.logfile.layout=org.apache.log4j.PatternLayoutlog4j.appender.

25、logfile.layout.ConversionPattern%dyyyy-MM-dd HH:mm:ss.SSS-%m%n文件中的各项说明如下:log4j.rootLogger:整个系统的日志输出等级及日志输出位置log4j.appender.stdout.layout.ConversionPattern:日志在界面上的显示样式.ccf.ix:系统某一部分的日志输出等级,设置了此处,则该部分的输出会覆盖全局log4j.appender.logfile.File:日志输出文件的位置log4j.appender.logfile.MaxFileSize:日志输出文件的最大大小log4j.appen

26、der.logfile.MaxBackupIndex:日志文件的最大数量,超此数量则重新计数log4j.appender.logfile.layout.ConversionPattern:日志在文件中的显示样式7.2. 数据库结构设计本系统所涉及到的数据库表就是同步过程中所涉及到的数据库表。7.2.1. 同步表类(1) 资源节点列表用途:资源标绘后,通过上传工具,将资源平面图的各资源点相关信息整理,并存储到场馆综合数据库中。表名:SrcPointTable序号表项表项名数据类型约束备注1数据库表记录索引IDInteger主键2所属场馆IDAtVenueIDIntegerNot Null3所属建

27、筑IDAtBuildIDIntegerNot Null4所在楼层IDAtFloorIDIntegerNot Null5资源点IDSrcPointIDVarchar(50)Not Null6资源点名称SrcNameVarchar(50)Not Null7资源点中心坐标XPosXFloatNot Null8资源点中心坐标YPosYFloatNot Null9资源点构成坐标PosVarchar(2000)Not Null填充构成资源图元的折点坐标描述,由ACSII字符串组成。型如:X1,Y1;X2,Y2每个坐标由两个20字节长度的字符串组成,中间用,分割。每个坐标后加“;”最多支持50个点10几何类

28、型GeometyTypeIntegerNot Null0:点1:线2:面11资源点主类型MainTypeIntegerNot Null0x01:场馆建筑0x11:摄像机0x12:报警0x13:门禁0x14:巡更0x15:安检0x16:公安专用12资源点子类型SubTypeIntegerNot Null0x01:场馆建筑-0x11:场馆-0x12:建筑0x11:摄像机-0X11:固定摄像机-0X12:可控摄像机0X12:报警-0X11:红外对射-0X12:双鉴探头-0X13:手动按钮0X13:门禁-0x11:门禁0x14:巡更-0x11:巡更0x15:安检-0X11:安检门-0X12:X光机-0

29、X13:车牌识别0x16:公安专用-0X11:RFID13资源点角度RotationIntegerNot Null0360范围:036014说明DirectionsVarchar(500)Not Null(2) 网络节点信息表用途:存储除VS和DVR以外的所有网络节点的属性信息表名: NetNodeInfoTable序号表项表项名数据类型约束备注1数据库表记录索引IDInteger主键2所属场馆IDAtVenueIDIntegerNot Null3网络节点IDNetNodeIDVarchar(50)Not Null4网络节点的IPNetNodeIPVarchar(50)Not Null(3)

30、视频服务器信息表通途:存储视频服务器的属性信息表名:VSInfoTable序号表项表项名数据类型约束备注1数据库表记录索引IDInteger主键2所属场馆IDAtVenueIDIntegerNot Null3资源IDVSIDVarchar(50)Not Null4通讯服务器的IPVSIPVarchar(50)Not Null5视频通道与监控系统输出影射VSChannelMapVarchar(500)Not Null7.2.2. 联动更新表类(1)视频通道信息表用途:存储视频服务器的视频通道信息表名:VSChanInfoTable序号表项表项名数据类型约束备注1数据库表记录索引IDInteger

31、主键2所属场馆IDAtVenueIDIntegerNot Null3场馆类型TypeIntegerNot Null大型竞赛馆3,竞赛馆4,训练馆54资源IDVSIDVarchar(50)Not Null5可动态分配通道信息ChCountVarchar(20)Not Null训练馆:2其他:6 6视频通道1Ch1Varchar(30)Not NullChn 包括了使用用户名和视频通道状态7视频通道2Ch2Varchar(30)Not Null0未被分配通道1不可分配通道8视频通道3Ch3Varchar(30)Not Null0#ysqadmin9视频通道4Ch4Varchar(30)Not Nu

32、ll010视频通道5Ch5Varchar(30)Not Null111视频通道6Ch6Varchar(30)Not Null0#cc12视频通道7Ch7Varchar(30)Not Null13视频通道8Ch8Varchar(30)Not Null14视频通道9Ch9Varchar(30)Not Null15视频通道10Ch10Varchar(30)Not Null16视频通道11Ch11Varchar(30)Not Null17视频通道12Ch12Varchar(30)Not Null18视频通道13Ch13Varchar(30)Not Null19视频通道14Ch14Varchar(30)

33、Not Null20视频通道15Ch15Varchar(30)Not Null21视频通道16Ch16Varchar(30)Not Null8. 系统出错设计8.1. 出错信息系统的出错信息包括如下几类:n 系统启动失败信息n 配置文件读取错误信息n 数据库连接失败信息n 同步失败信息n 联动更新失败信息所有的出错信息会通过日志管理系统在界面或日志文件中反映出来,以便找出问题的所在。如果日志系统本身出现问题,会通过系统的异常信息反映出来,另外也可以通过日志文件有所反映。8.2. 补救措施在网络传输方面,可考虑建立一条后备网络,以保证当主网络断路时数据的通信。在硬件方面要选择较可靠、稳定的服务器

34、机种,保证系统运行时的可靠性。9. 系统维护技术维护方面主要为对服务器上的数据库数据进行维护。只有数据库本身的数据正确了,同步才有意义。可使用 ORACLE 的数据库维护功能机制。例如,定期为数据库进行Backup,维护管理数据库死锁问题和维护数据库内数据的一致性等。9.1. 可靠性设计n 系统采用Java技术开发,性能稳定,且可靠的工具组件很多。n 数据存储采用稳定可靠的Oracle数据库。n 系统采用稳定的log4j工具包作为日志管理工具。n 系统架构设计合理且严谨。9.2. 易使用性设计n 软件人机交互界面突出人性化设计。n 界面上的同步配置表现信息详细清楚,使人一目了然。n 当用户配置完毕,之后的同步过程为自动运行,所有的同步过程产生的信息都及时,详细,准确地反映给用户。n 同步生成的日志不仅在当时反映该用户,而且在文件系统中备份,以便日后查看。9.3. 可维护性设计n 提供完善的系统故障检测和补救说明,可以让使用者迅速解决问题。9.4. 可移植性设计n 系统采用Java技术开发,Java语言运行在Java虚拟机上,本身具有跨平台性,可以在任何平台上很好地运行。n 系统按照各个分系统功能进行模块化设计。n 具有详细的模块接口和功能说明。n 可以方便的对系统功能进行增删和升级。n 软件中的数据库访问模块、配置文件读写模块、偶合度小,可移植性强。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号