数据交换平台设计方案.docx
《数据交换平台设计方案.docx》由会员分享,可在线阅读,更多相关《数据交换平台设计方案.docx(32页珍藏版)》请在冰豆网上搜索。
数据交换平台设计方案
信息交换平台设计方案
1.项目背景
1.1.概述
经过近几年的信息化建设,北京市水务局的计算机网络和应用系统的建设均取得了长足发展,随着信息技术的发展,水务信息化建设的相关标准与方式方法也在不断完善和规范,为后续相关业务信息化建设奠定了坚实的基础。
北京市水务局已经建设了骨干通讯网,构建了机关内部的计算机局域网络平台和数据库系统。
水务局目前已经运行的有近30个业务系统.以水务局“水务信息平台"为核心的水务信息网已基本建成。
水务信息化标准数据库已经建立并在不断的规范当中。
目前北京市水务局已建立了水文数据库、供水数据库、水环境数据库、工情数据库、灾情数据库、水土保持数据库、社会经济数据库和图形图像地理信息数据库八类数据库,这些数据库均是在ORACLE9I版本数据库之上.水务局对下属机关、局属、县区单位分为A、B、C三类分中心机构,大部分分中心均已建有自己的水务业务信息系统,且基本实现与局中心水务平台相连,进行数据交换与共享。
1.2.现状分析
北京市水务信息平台虽已取得的很大进展,但由于各分中心的业务系统的应用结构、技术结构以及数据库差异较大,尤其各分中心的业务系统所用的数据库不尽相同——有不同版本的ORACLE、SQLSEVER等,采用的开发技术不同-—如J2EE、DOTNET等,不同系统之间需要实现数据的及时共享与互通,局中心尚没有建立完善的信息共享交换机制,不能及时获得各分中心的水务信息,达不到为决策支持提供信息服务的目标,各系统间的数据交换成为数据共享的最大障碍,因此需要建立一个统一的、适用性广的信息交换平台,用于交换局中心与各分中心之间的各种数据,从而实现数据及时共享与交换。
1.3.需求描述
建设一个开放的、可扩展的、适应性强的、高效稳定的信息交换平台,平台应具有如下功能:
1、方便的实现北京市水务局及各分中心业务应用系统之间的数据共享与交换;
2、实现不同类型的数据库对接:
即通过本平台能够实现不同类型数据库之间的互通,可以将数据源表和目标数据表对应起来;
3、数据对导:
即本平台支持对结构相同或相似源数据表与目标数据表内数据的直接导出导入操作,对导前可以配置导出导入字段的对应关系,同时应支持通过视图进行对导数据的功能;
4、数据类型自动转换:
指通过平台实现对不同数据类型数据的自动转换功能,比如一个字段由STRING型转换为另一个数据库接受的VARCHAR型数据;
5、消息队列的自动管理:
本平台可以自动判断并管理消息队列,按消息的优先次序或级别来安排消息传输,建立良好的数据传输机制;
6、数据的自动封装与解析:
本平台可以对指定数据按一定原则进行封装,封装时可以自动判断数据包的大小,按指定大小封装成一个或多个包并记录包间的关系,在接收数据包后,可以对包进行自动解析;
7、安全控制:
本平台应具有严格稳定的安全机制,确保数据安全,即能够根据需要自动按规则对传输数据进行加密解密、根据不同请求者的权限级别设置对应的数据访问权限、自动记录数据丢失与否及传送成功与否的记录,并在传输失败后,能够以GSM的方式通知接收方本次传送失败,请等待下一次传送;
8、日志:
本平台要有健全完备的日志功能,根据需要记录系统运行过程中的所有相关信息,尤其当系统遇到意外而无法正常工作时,应有相关日志以备查阅;
9、运行稳定:
由于信息交换平台要完成局中心与各分中心之间所有基础数据、业务数据、实时数据甚至空间数据的时实共享与交换,因此本平台要长期稳定的运行,能够处理好由于多方同时发送请求而造成的堵塞或冲突等情况,同时具有一定的网络故障应对能力,即当网络发生故障时,交换平台应能自动记录正在传送途中的数据信息,以便网络恢复时,自动续传,支持断点续传;
10、鉴于信息交换平台在整个水务信息化中的重要地位,本平台在设计时尽量考虑到后期的可扩展性、开放性和广泛的兼容性要求,不能因为具体业务系统的变化或水务信息平台的某个问题而影响正常的数据交换业务,更不应出现平台无故中止或停止服务而进行平台扩展调试的情况;
11、平台尽可以满足人性化,可配置的灵活要求。
2.目标与原则
2.1.建设目标
信息交换平台建设在水务局中心,为局中心与各分中心、各分中心之间的数据共享与交换服务,并兼顾分中心与采集系统之间的信息交换,实现整个水务信息网用户中任意两个用户间的数据共享与交换,主要实现以下目标:
1、数据交互:
能够将一个数据库的某一表中数据,根据一定的要求导入到另一数据库相应表中;
2、资源共享与订阅:
能够实现数据资源的共享设置、共享级别设置,订阅数据资源等操作,并能按照订阅内容交换数据;
3、信息级别权限控制:
一定级别的工作站只能访问该级别或级别要求更低的共享资源;
4、数据操作源和目的数据库可以为多种数据库:
如:
SQLServer,Oracle等;
5、数据交换要支持多种数据类型:
如:
数值、字符、日期、文件等;
6、信息交换平台运行模块要以服务程序模式运行;
7、信息交换平台支持数据配置扩展,可以通过配置文件来更改运行环境、共享资源数据内容以及共享级别;
8、日志记录:
创建日志,方便调试和日后查看;
9、系统具有长时间稳定运行的能力;
10、有一定的网络故障处理能力,当网络出现问题时,系统可以在一定程度上采取自救措施,如支持断点续传和发送短信息给等待用户.
2.2.建设原则
本平台建设遵循以下原则:
1、实用性原则:
以实用为第一准则,切实满足管理和业务需求;
2、安全性原则:
设计采用有效的软件安全保护、防止非法入侵等措施,保证应用系统、数据的运行安全;
3、先进性原则:
设计采用先进软件技术,并考虑适度超前,为今后需求变化留有余地;
4、可靠性原则:
技术成熟,保证系统稳定可靠长期运行;
5、完备性原则:
设计功能全面、完整;
6、可扩充性原则:
采用先进开发手段,组件化的开发模式,以保证可扩充性;
7、标准化与开放性原则:
系统设计符合标准化建设和开放的原则。
2.3.定义与约束
1、元数据:
元数据是一组描述数据本身基本特征和属性的数据,又称为“数据的数据"。
从本质上说,元数据是一种数据结构标准,它提供了一种框架体系和方法来描述、表征数字化信息的基本特征,并通过一套通用的编码规则,将来源各异的数字化资源归纳到一个标准的体系中。
2、数据抽取:
现有数据库内的数据一般都是以某种关系型存在的,构成一个数据集合,抽取即是把数据库内的数据按照一定的规则提取出来组成一个满足自身数据规范要求的数据集合的形式。
3、SOA(service-orientedarchitecture,也叫面向服务的体系结构或面向服务架构):
是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。
SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言.这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
4、节点:
本文中指整个水务网内与局中心相连接的各分中心(包括局中心).
5、系统用户:
使用本平台进行数据交换或共享的系统,即系统用户在本文中指一个应用系统。
6、操作者用户:
操作本平台的操作员,即指通过本平台提供的人机交互界面操作本平台完成指定系统功能的人。
7、缩略语:
在本设计方案中,信息交换平台或共享交换平台有时被称为本平台或本系统,或在上下文描述时,简要称为系统、平台,均指本信息交换平台.
3.建设内容与依据
3.1.建设内容
依据信息交换平台的承担任务、北京市水务信息化建设现状及发展形式的要求,本平台建设内容主要分为下面几个方面:
1、目录服务
系统提供目录服务功能,统一管理市水务局中心、各分中心的基础信息、各类业务信息、各种统计分析等数据—-包括相关图表数据,利用目录服务手段为各用户依据权限设定范围提供独享数据资源、共享数据资源的快速检索与定位。
2、基础信息资源服务
通过建立专门的基础信息维护模块接收各种系统所需基础信息资源、公共信息资源,从而为各级用户之间实现信息资源的共享与流通提供必要保障。
3、元数据定制服务
考虑到本系统的可扩展性及与各类业务系统之间的兼容性,系统对用到的各类基础信息元数据、业务信息元数据提供用户可定制功能,即用户可通过自身业务需要定制自己的元数据信息,再根据对元数据的维护、整理、分析、接收、发送、订阅分配等业务操作实现数据交换与管理功能。
4、数据订阅服务
局中心、各分中心用户均可订阅其它用户作好订阅分配的数据信息集,可以根据各自权限及所需订阅信息订阅其它系统或中心的信息数据,从而最大限度的包容了由业务变动带来的需求信息变化,也灵活的实现了不同时期、不同级别用户对数据的不同需求。
5、信息交换服务
本交换平台为局中心、各分中心用户所需的各项服务进行统一管理,提供对各类数据交换的统一规范化服务与管理,为跨部门、跨区域、跨级别、跨系统的数据交换提供服务。
6、支撑服务
为了保证本系统稳定、安全、顺利的运行,本平台提供全面的支撑服务体系.如安全认证服务、审计服务等.
7、日志
作为安全服务的补充,本平台提供完备的日志管理机制,并对日志进行分级处理,用户可根据自身需要在系统内设置本平台所要记录的日志信息,便于后期查看。
3.2.建设依据
《软件工程术语》GB/T11457—1995
《计算机软件产品开发文件编制指南》GB/T8567-1988
《北京市水利骨干通信网-—信息高速公路总体规划》
《信息技术软件生存期过程》GB/T8566-1995
《计算机软件质量保证计划规范》GB/T12504—1990
《计算机软件配置管理计划规范》GB/T12505—1990
《软件维护指南》GB/T14079-1992
《计算机软件可靠性和维护性管理》GB/T14394-1993
《软件支持环境》GB/T15853-1995
4.技术路线
4.1.技术架构
1、技术模式
作为整个北京市水务信息网络各应用系统之间的数据交换接口,为了保证其可扩展性和系统的可靠性,本信息交换平台采用组件化的设计模式实现,各组成模块尽量作到松散耦合,可以无限制扩充,从而实现与其他系统模块的无缝集成,该系统采用面向对象的组件化技术建设基于C/S结构的系统,并且以Windows服务程序模式与Windows程序用户交互模式结合方式运行。
这种设计具有以下一些优势:
✓以服务方式运行的系统可以在服务器不登陆的情况下,数据交换就能够运行;
✓服务程序与交互界面并存,这样可以实时监测和控制交换程序的运行,方便维护和调试;
✓系统提供用户操作界面,可以让用户非常便捷地完成相关设置与订阅操作;
✓C/S结构程序最适合网络间数据交换,能够保证程序的持续稳定运行;
✓系统采用ODBC数据源来连接数据库,解决多种类型的数据库源的连接问题.
本系统技术框图如下:
交换平台技术框图
2、技术实现
系统内各具体功能模块均由相应的组件(或称构件)构成,相关组件由容器统一管理,根据服务对象与功能的不同,容器可分为“管理容器”和“交换容器"分别完成系统与数据的管理及数据交换功能。
功能组件按其功能分别归由相应的容器统一调配管理,组件间的关系通过配置文件(XML)实现,以达到松藕合的目标。
组件按其作用与重要程度可分为“标准组件”和“附加组件”两种,标准组件是信息交换平台为完成正常数据管理与交换功能必要须的功能组件,附加组件是指为了使平台更好的运行,为平台添加一些附加功能而设计的组件.附加组件也是可选组件,平台根据相关配置动态实现附加组件的调用,当平台加入的附加组件并已配置了相关信息时,平台运行过程中会自动调用此组件实现附加功能;当平台的配置信息改变删除附加组件时,平台不再调用附加组件,而进行常规运行,并不影响正常的平台功能。
本平台设计的组件、分类及作用描述如下表:
序号
组件名称
容器
类型
功能描述
1
注册组件
管理容器
标准组件
完成在上级主交换节点的注册,获取本节点相关编码、上级节点的IP地址等信息,启动共享交换平台
2
资源管理
完成本节点信息资源目录的建立,自动登记信息资源元数据
3
订阅组件
完成订阅其他信息节点共享资源元数据,生成本节点订阅信息资源树
4
监控组件
可选组件
实时监视本节点信息资源交换状况,包括本节点接受和发送的数据
5
信息比对
执行指定的本节点信息数据与其他节点可共享数据的比较,报告比较结果
6
流量分析
统计某时间范围内,本节点共享数据输出和输入数量统计
7
数据抽取
交换容器
标准组件
依据信息资源元数据描述以及信息资源的时间特性,定时或定期从指定的数据库或文件夹中读取数据
8
封装与分发
将数据抽取的结果按照数据报文要求进行封装,每个资源订阅方分别封装各自的数据包,然后分别发送给接收方
9
通讯组件
将封装、分发后的数据报文,通过底层网络链路,传送到指定的资源共享节点
10
分包组件
将信息节点接收到的数据包,按照接口规范,进行拆分、解析以及必需的编码转换,转化为本信息节点对应数据的存储格式
11
存储组件
将分包后的数据,写入信息资源元数据描述的数据库或文件夹中
12
加密压缩
可选组件
在通讯组件运行前执行,将数据内容进行加密、压缩后,生成新的加密压缩报文
13
关联计算
在分包组件完成后执行,主要完成针对水务业务的一些专业计算需求,如:
由水位-库容曲线,按照水位数据计算水库蓄水量等
14
信息整编
在关联计算组件运行后执行,根据信息资源时间特性需求,生成新的不同时间频率的数据
15
审计组件
交换平台将自动记录运行日志。
可以定义多个级别,不同级别记录日志的详细程度不同
注:
节点指使用本平台的各个系统用户。
以上组件与主要功能模块的对应关系如下:
组件与功能对应关系
上图中浅黄色为组件,淡蓝色为功能模块,箭头表示功能与组件的主要对应关系。
3、技术特点
总结起来信息交换平台具有以下技术特点:
1)元数据
采用元数据理念管理共享与交换用到的各种数据元素,元数据管理基于信息资源目录管理的资源体系实现,本平台元数据描述除清晰描述信息自身含义外,还清楚的描述信息的存取方法、基本属性等信息,为建立在信息资源目录基础上的数据抽取创造条件。
2)SOA架构
本平台采用SOA技术架构进行开发,各组件统一在容器中进行规划并接受容器的统一调用与管理,实现组件间的松散藕合,这种组件化的模式使平台兼备技术的先进性与灵活性,最大程度的兼顾了当前和今后应用系统的多样化,同时为本平台的无限制扩展提供可能。
3)通信技术
信息交换平台是基于网络运行的平台,数据传输采用SOCKET同步机制传输,并且在传输过程中,平台自动对数据包大小进行检测并加以限制,当欲传输数据大于包的限制容量时,则分为多个包进行传送,并自动记忆包间的关系,对检测到不合法的包进行自动舍弃,同时发送舍弃信息给数据发送方.
4)并发技术
由于信息交换平台运行时需要同时进行多种处理,所以系统设计时采用多线程并发设计,系统主要并发线程有:
轮询发送订阅数据线程、接收处理数据线程、订阅数据线程、监听订阅数据线程等,接收每个资源方发送的数据时,每个接收处理一个线程。
5)轮询技术
信息交换平台运行时需要不停检测新数据,如果检测到新数据则将数据发送给订阅方。
所以系统采用时间轮询不停检测和发送新数据。
本平台设计采用线程睡眠Sleep等待方法实现。
Sleep等待是让此线程停止执行一段时间,然后再继续运行进行轮询。
这样能有效避免两个线程因同时使用资源而产生冲突。
轮询时间间隔可以通过系统运行环境配置文件进行设置。
6)扩展接口
为了使平台在后期维护时方便快捷,不停止正常工作或尽可能短时间的中断正常工作,系统应具有一定的可扩展性,预先考虑到可能存在的接口,目前考虑到的接口如下:
✓数据库操作接口:
可以扩展对多种数据库类型的访问,以适应不同的数据库类型;
✓数据读取接口:
可以采用多种读取数据的方式;
✓数据保存接口:
可以完成多种情况的数据保存;
✓数据整编接口:
扩展数据整编功能的接口;
✓交互消息接口:
各工作站交互不同类型消息时的扩展接口;
✓数据传输接口:
数据在网络间传输其它技术扩展接口。
4.2.应用架构
由于本平台应用于以市水务局为中心的北京市水务信息网络,负担的数据共享与交换范围包括局中心、各级分中心及具体采集终端,因此本平台以局中心为中心采用集中管理的方式,即各分中心必须登录局中心平台进行注册,获得本分中心(以下称节点)的共享级别及相应的共享数据,从而再与其它分中心进行数据共享与交换。
其交换节点以“星型”结构存在,如下图:
节点的星型结构
在实际数据交换中,本平台实现水务信息网内所有节点之间的数据共享与交换功能,即任意两个节点之间都可以进行信息共享与数据交换,因此从数据交换的角度看,属“网状"结构,结构图如下:
信息交换“网状”结构
本平台功能架构总体上可分为三层:
表现层、认证层和应用层,其中应用层可分为交换服务应用与系统管理应用两部分。
平台功能架构图如下:
平台功能架构图
应用层:
在本信息交换平台中,系统管理模块作为平台应用层的一部分,也是平台运行的基础模块,完成平台运行环境、平台运行过程中相关进程的运行方式、时间特性、服务对象与区享等级、资源信息等的设置操作,为实现数据交换提供基础支撑服务;数据交换服务模块同样是应用层的组成部分,完成具体的数据交换功能,根据系统管理部分的设置信息有效有序的管理消息、进行数据的接收、发送、解析、整编及保存等相关操作。
认证层:
身份认证属认证层,是指在系统运行过程中,根据系统管理相关部分的设置信息判断发出订阅申请的用户在本平台中具有的共享级别信息,从而作到权限的有效控制,防止信息泄露。
表现层:
人机交互界面是表现层内容,是计算机软件操作者与软件系统进行交互的途径,本平台除在后台自动运行的数据传输及进程管理方面的功能外,所有系统参数设置、资源定制管理方面的操作均通过表现层的人机交互界面完成.
5.系统功能
5.1.功能划分
信息交换平台除一部分设置功能需要用户通过界面控制完成外,数据交换功能需要长期稳定的在后台运行,为水务信息各应用提供数据共享与交换服务,因此本平台功能可分为系统管理(或叫数据交换管理)和数据交换服务两部分.其功能结构图如下:
信息交换平台功能结构图
1、系统管理模块
分为运行环境配置、注册管理、目录服务管理、权限管理、订阅定制、日志定制、安全管理、其它参数设置七个子模块,功能概述如下:
✓运行环境配置:
完成平台运行的系统环境、可以连接的数据库类型、连接方式及参数、可以接受转换的数据类型等支持系统运行环境的基础信息配置.
✓注册管理:
完成通过本平台进行数据交换与共享的所有应用系统在局中心平台的注册,获取相应访问信息范围及其它辅助信息,只有在本平台注册过的系统才可以通过本平台与局中心及其它分中心之间实现数据的交换与共享。
✓目录服务管理:
系统以目录的形式管理所有信息元素,对各类信息元素进行分类管理,分类从多角度进行,如按基础信息、业务信息;服务对象(这里指局中心各系统及分中心相关系统)等,每种分类及具体信息均按一定规则被编制成目录形式,且在整个目录中均有唯一的ID标识,同时基础信息和业务信息元素按可以访问的秘密程度分组,与系统用户组对应,这样便于对有请求的系统用户(这里指发出请求的相关应用系统)进行访问内容控制,即根据目录索引快速定位到当前用户有权访问的数据范围,并迅速定位用户指定信息。
目录信息的类别、内容可根据实际需要由人工或系统设定自动增加整理,并定时给出总目录详细信息及目录变化记录等。
✓权限管理:
在本平台中,权限管理分为两部分完成,一是对操作者的管理与权限分配,实现操作者使用本平台具体功能的权限对应管理;二是对系统用户的可访问信息的权限设置,所有欲使用本平台进行数据交换的应用系统需首先在本平台上注册身份,注册方式可以由系统自动判别注册也可以由管理员通过相关界面输入系统内,并对各用户可以访问的信息内容进行权限等级划分-—不同级别的用户可以访问的资源范围不同。
在此后的运行中,平台会自动判断提出请求的用户身份并与其权限对应,从而保证用户的正当权力和数据信息的保密性。
✓订阅定制:
各用户均可订阅其它用户作好订阅分配的数据信息集,可以根据各自权限及所需信息订阅其它用户的可订阅信息数据,从而最大限度的包容了由业务变动带来的需求信息变化,也灵活的实现了不同时期、不同级别用户对数据的不同需求。
✓日志定制:
本平台将日志按重要程度分级管理,并由用户进行设置(当然系统会提供默认设置)应记录的日志范围,系统会根据设置信息记录相关日志。
✓安全管理:
包括信息数据安全及网络安全两部分,信息安全又为分访问安全与传输安全两种,访问安全是指本平台通过对用户进行身份认证、权限判断的方式保护正当用户的应得权力,同时避免信息的非法访问;传输安全指本系统对传输数据按一定规则进行加密封装之后再行传送,接收时同样首先进行解密和有效性验证后才对数据进行解析、整编、保存相关处理;网络安全是考虑到本平台的数据交换服务进程要长期依托网络运行,因此应具有一定的自动监测网络状态及故障应对措施,确保信息的完整和安全。
✓其它参数设置:
支撑系统运行及方便用户的其它参数设置功能.
2、数据交换服务模块
包括消息管理、队列管理、发送管理、接收管理、封装与解析、数据整编、数据保存和其它相关服务八个子模块,功能概述如下:
✓消息管理:
平台提供消息管理机制,统一管理经过平台的收发信息.各用户发送过来的请求中均有各自的特征信息,平台接收与准备发送的消息也同样以一定规则验证特征信息,然后根据指定原则对各种消息进行验证、归类、排序等一系列管理操作,便于通过平台的各类消息有序的传递。
✓队列管理:
当通过本平台的请求较多时,如果不对各类消息加以控制会产生资源争用或并发冲突的现象,并且可能会出现优先级较高的请求反而等待时间过长现象,因此需要平台对队列进行有序管理,队列管理根据消息分类的结果及发出请求的用户优先级及消息本身的优先级进行综合判断给出合理排序。
✓发送管理:
本交换平台在处理各类数据交换与共享请求时,会向请求方发送处理结果或其它中间信息,本平台依据发送数据包的特征标识找到接收方,并首先探测网络状况,许可时即进行发送操作,并自动记录发送日志。
✓接收管理:
与发送管理相对应,本平台在接收各用户传送过来的信息时,首先验证数据包的有效性、接收目标等内容,将数据解析后接收并归入相应的目标信息集队列等待下一步处理.
✓封装解析:
封装与解析是与发送和接收相对应的两个过程,封装指在数据发送前,要按指定规则对数据进行加密、压缩、封装,当数据量较大,一个数据包装不下时,系统自动将信息分成多个数据包,并在每个包内加上相应标识后准备发送;解析即是接收方在接收到对方传来的数据包后,对数据包进行规则解密、验证数据的有效性,通过后即可整编保存数据。
✓数据整编:
数据接收后,要根据数据特性标识进行整编、分析、归类及相关转换处理,然后准备保存。
✓数据保存:
整编无误的数据即可以保存到目的数据库的相关表内,以完成数据交换的全部操作。
并记录相关日志。
✓相关服务:
提供数据交换过程中其它相关服务功能如流量分析、关联计算等。
由于本系统是服务系统,因此只有必要的管理设置模块有人机交互界面,其余大部分功能没有人机界面.系统主界面示意图如下—-没有体现出来的功能模块均没有交互界面:
信息交换平台系统主界面
5.2.系统管理
5.2.1.运行环境配置
运行环境配置维护本平台可以处理的数据库类型、连接方式及具体数据库实例名、所属数据库类型和相应的连接参数信息。
具体描述