1、导入导出系统技术方案导入导出系统软件技术方案1项目概述1.1项目背景当我们建立一个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新建的数据库中时,尤其是在进行数据检验、净化和转换时,将会面临很大的挑战.数据导入导出平台为我们提供了强大、丰富的数据导入导出功能,并且在导入导出的同时可以对数据进行灵活的处理。1.2项目目标本项目开发的数据导入导出系统主要针对全国各大监狱,司法部,法院,检察院。除了要实现数据共享、存储与备份外,还将重点构建监狱智能工作平台,实现各个监狱,法院,检察院信息办公自动化。数据导入导平台,适用与各大数据库间的导入导出。包括oracle,sqlserver,db
2、2,mysql等主流数据库。轻松实现不同数据库间的数据交换功能.2系统建设必要性2.1现状描述随着监狱信息化建设的日益深入,网络化、信息化、办公自动化已经融入了监狱管理当中。 同时各个监狱之间数据的交换成了很大的问题。为了方便用户进行大量的数据交换的烦恼,数据导入导出系统的出现显得很必然。2.2现状分析导入导出系统提供的不同程序之间的数据的交换和数据的一致存储等功能,针对不同数据库之间字段数据类型等的不一致,要实现数据导入导出自动化迫在眉睫。建立导入导出系统,可充分运用现代化的通信技术、计算机技术和网络技术。减少大量的工作量。使数据具有更强的一致性。3远景规划方案导入导出系统将在未来广泛应用。
3、适用于各个数据库之间的数据转化。4总体目标为有效整合分散异构的信息资源,消除“信息孤岛现象,提高政府和企业的信息化水平,基于导入导出系统,可灵活实现不同系统间的信息交换、信息共享与业务协同,加强信息资源管理,开展数据和应用整合,进一步发挥信息资源和应用系统的效能,提升信息化建设对业务和管理的支撑作用。5整体业务流程导入导出系统具体用户操作流程如下图所示:导入导出系统具体业务流程图如下图所示:6系统设计6.1系统结构图数据库1和数据库2之间的数据交换通过中间的xml文件来完成。6.2设计原则6.2.1安全性原则导入导出系统应能提供有效的安全保密机制,保证各单位之间的信息能够安全发送与接收。系统应
4、提供口令验证、加密等安全机制。系统在设计上要充分考虑用户界面应方便、友好、灵活,用户应能够方便地在权限范围内于各子系统之间切换。系统有良好的整体化设计,同时完善的帮助系统也是增强可操作性的必要辅助工具之一。6.2.2灵活性原则导入导出系统不依赖于特定硬件环境,可移植性强。不依赖任何其他系统可单独使用。6.2.3可扩展性与可移植性可扩展性指的是系统可以根据业务发展的需要,能够方便的升级,扩展系统的功能.由于本次采用了集中式系统架构,数据和应用的集成集中在中间件一级进行处理,所以,也就为日后的扩展打下了良好的基础。同时保证系统能在各种操作系统和不同的中间件平台上移植。从本次采用的系统体系架构、开发
5、语言到各平台服务器的选型我们都充分考虑到了移植性的要求。6.2.4可操作性系统在设计上要充分考虑用户界面应方便、友好、灵活,用户应能够方便地在权限范围内于各子系统之间切换。系统有良好的整体化设计,同时完善的帮助系统也是增强可操作性的必要辅助工具之一.6.3系统架构设计6.3.1总体结构设计图数据库1和数据库2之间的数据交换通过中间的xml文件来完成。6.3.2总体结构模型图系统采用mvc工厂模式设计.层次清晰。6.3.3系统逻辑结构图6.4设计遵循的标准和规范中国软件与技术服务股份有限公司ISO9001质量控制程序DIS/QP(2000)可靠性编码规范技术性能设计6.5数据库设计建立完善的数据
6、库结构管理设备的基本参数、运行状态和各种工作计划。数据库的框架和结构必须根据设备和运行状态而设计,方便提供强大的录入、查询、统计、分析和报表等各种功能,较好的反映业务的基本情况和运行状况,满足生产管理信息化的要求.建立支持多媒体应用与面向对象的关系型数据库管理系统,数据库管理系统具有面向Internet应用,面向电子政务和电子商务的能力。6.5.1对数据库平台的性能要求根据本系统数据的特点,我们采用Oracle DB Enterprise Edition 9i作为系统的数据库平台,并且数据库开发方面采用标准SQL语句,以便将来的扩展和移植。系统将采用数据库建模工具,根据系统功能模块的设计,构建
7、出整个数据库。在构建数据库时,也会定义好数据库表的约束、关联以及索引。针对系统的具体特点和系统要求,我们在进行数据库方案设计时对数据库平台提出下列性能方面的要求:标准化程度高,符合标准ANSI SQL 92语言的规范支持Brower/SERVER模式应用,支持对称处理和多线程技术,支持XML/CORBA,支持数据分区.可在多种操作系统,HP、IBM等服务器下运行,独立性强,对系统结构影响比较小。高级语言、汉化功能先进,易于方便使用,支持汉字,GB18030标准支持主流的各种网络协议,如TCP/IP、IPX/SPX、NETBIOS、DECNET、SNA等.能支持同构、异构网络的分布操作,支持松散
8、耦合型的Cluster及海量并行处理.有足够的并发控制、并发用户数不少于50;授权控制和事务处理能力及恢复能力与异种数据源有良好的可互操作性具有可靠的数据安全保密措施以及故障恢复能力具有SMP和MPP的功能,具有快速的并发用户查询速度,并发控制稳定可靠具有很强的容错能力,错误恢复能力,错误记录及预警能力,具备异地容灾能力;允许行级锁,具有死锁自动解出功能而无需额外的数据一致性校验。具有强大的复制能力,支持主从式、级连式、对等式以及N向复制,并支持复制日志技术,具有分布式模式管理能力。具有完整的安全性(帐号安全,系统级权限,对象安全性,审计),细粒度化的访问控制,适合于多层环境的安全模式的能力拥
9、有支持MIS的功能强大的开发工具,提供数据仓库和数据挖掘的工具。6.5.2数据库系统结构设计根据本系统的结构和应用服务,同时考虑到整个系统的一体化方案、功能扩展和灵活性,数据库将按以下原则采用集中方式与三层结构相结合的体系结构。本系统是大型软件系统,能够提供多种应用服务,这些服务采用集中方式运行可充分利用服务器的资源,发挥服务器的性能,方便管理,提高可靠性。采用三层结构很容易实现客户机的扩充,使用多服务器能减小系统的处理瓶颈,提高系统的性能,同时能共享网络中的所有资源数据库系统,为集中方式和B/S结构的应用提供了可靠的技术保证。6.5.3数据库系统逻辑结构本系统考虑到系统的总体要求和今后各业务
10、的发展,本方案中设计数据库系统逻辑结构体现了以下特点:数据库系统结构具有良好的兼容性。数据库数据的全面性:对系统进行调查,分析及要求,最大限度的保证其共享数据,同时为客运信息系统的扩展性保留数据接口,达到数据全面性的目的。数据库系统结构完全完整:既可最大限度开放的公用数据,也严格保密的票务结算数据和企业私有数据,对不同的类型应采用不同的安全管理机制。系统将采用大型数据库系统,完善的数据备份和安全控制策略,保证数据的安全性和完整性,保证系统安全运行.数据库可以采用数据冗余备份,或者数据录像备份,双机备份,以确保数据的安全及完整性。6.5.4数据库设计遵循技术标准目的:保证与其它应用系统的无缝连接
11、,而且便于与信息中心其它系统的数据共享和实施XX省范围内联网的数据共享。(一)完善的编码体系完善的编码体系是数据库系统的重要核心之一。要求对生产业务中涵盖的信息进行全面分类和编码管理.要求编码设计科学合理,使系统能够具备目录树结构显示、分类路径明确、多级同步维护(级联修改)、分类分级的多层次查询、数据传送量少等优点.(二)字典驱动的数据库结构系统的发展变化对应于设备(实体对象)的属性和设备(实体对象)的增减,能够通过数据字典驱动的方式,在数据库中实现设备属性的扩展修改和新增设备的定义。系统采用这种字典驱动数据库结构,通过它用户可以根据需要,对系统中某对象的属性进行扩展.例如应用在设备管理上,可
12、以采用图形化界面简单直观地实现设备类型的自定义、设备种类的增加、设备属性的自定义,从而适应不断出现的新设备的需要,不需要修改程序代码.(三)面向对象的数据库设计从某种意义上讲,是数据库设计的面向对象特征最终奠定了整个系统的面向对象性,具体要求包括:(1) 数据库结构清晰,便于实现 OOP实现应用模块对象对数据库对象的完全映射,数据库逻辑模型可以自然且直接地模拟现实世界的实体关系。用户所处的当前物理世界、系统开发者所抽象的系统外部功能,与支持系统功能的内部数据库 (数据结构)一一对应,所以用户、开发者和数据库维护人员才可以用一致的语言进行沟通。特别是对多数不了解业务的程序开发人员来说,这种将应用
13、对象与相应的数据对象封装在对象统一体中的设计方法,大大减轻了程序实现的难度,使他们只要知道加工的数据及所需的操作即可,而且应用程序大多雷同,可以多处继承由设计人员抽象出来的、预先开发好的各种物理级超类。(2) 数据库对象具有独立性,便于维护除了数据库表对象与应用模块对象一一对应外,在逻辑对象模型中要求不要设计多重继承的泛化关系,所以这样得到的数据库结构基本上是由父表类和子表类构成的树型层次结构,表类间很少有继承以外的复杂关系,是一个符合局部化原则的结构,从而使数据库表数据破坏的影响控制在局部范围且便于修复,给系统开通后的数据库日常维护工作带来便利。(3) 需求变更时程序与数据库重用率高,修改少
14、在映射应用对象时,要求除关系映射规范化后可能出现一对多的表映射外,大多数应用对象与表对象是一一对应的.这样可以把规范化处理后的、由一个应用对象映射出来的多个表看成一个数据库对象.因此当部分应用需求变更时,首先,系统修改可以不涉及需求不变更的部分。其次,变更部分的修改可以基本上只限于追加或删除程序模块或追加新库表,而基本上不必修改原有程序代码或原有库表定义,从而大大减少了工作量,降低了工作难度.(四)柔性扩展技术数据库系统赋予查询系统高度的柔性和充分的可扩充性.查询系统可以根据用户的需求不断地完善自身,以提供新的查询功能和增强查询能力.它有两方面的意义:一是当系统运行一段时间后,用户极有可能会产
15、生新的查询需求,在良好的数据结构的基础上,能够通过对原有系统的适当调整和配置,满足用户新的需求;二是应用系统具备为不同类型的用户提供自己定制各种查询的功能,降低了系统后期的维护工作量和费用,保护系统的前期投资.(五)便携式数据库系统提供便携式数据管理功能,可以将需要的数据下载到您身边的计算机上(不论是台式机,还是笔记本计算机),以便在无法或不愿连通网络的情况下(比如在移动的交通工具中、没有电信服务的区域等)使用相关的数据。 (六)非结构化数据的管理系统对非结构化形式存在的数据如文档、手册、 报告、专家意见等数据采用合理的数据库管理模式.系统将非结构化纳入数据库系统进行管理,从而将企业数据源和应
16、用集成为一个有机整体,实现对数据的集中管理、组织、分类、索引和检索,以达到对数值、字符等结构化数据和电子文档、图像、声音等非结构化数据高效操作。(七)过程数据存储管理对一项业务流程从开始、中间各个环节到最后结束和反馈的整个过程中产生的数据进行完整的关联存储,这样不仅在业务流程上完成闭环管理,在具体某项工作所产生的数据上面同样完成了闭环管理,最终实现了业务真正意义上的闭环管理和监控的功能.(八)最简单的就是最好的 客观世界是错综复杂的,计算机科学理论的发展也越来越高深、复杂。然而,人类探索理论和技术的最终目的是:让客观世界的复杂变简单,最简单的就是最好的.为此对数据库设计提出以下几个要求:(1)
17、 慎用外键大型数据库支持复杂关系的能力很强,无论用户怎么在逻辑上设定外键,它基本上都能从物理上帮用户实现。但是外键把许多独立的实体牵连在一起,不仅使数据库系统维持数据一致性负担沉重,也使数据库应用复杂化,加重了程序开发负担.这样的数据库很难理解,很难实现信息隐蔽性设计,往往把简单问题复杂化.(2) 适当冗余减少数据库冗余的设计思路产生于70年代,它是促使 DBMS 进步的重要动力之一。然而,犹如为了节省2个字节的存储空间而酿成了如今全球为之头痛的2000年问题一样,它是计算机硬件主导时代的产物。今天的世界已进入软件主导的计算机时代.因此,最容易理解、应用开发工作量最少、维护最简单的数据库结构才
18、是最好的。只要数据完整性、一致性不受威胁,有些冗余,不足为虑.换言之,最节省软件成本 (而不是硬件成本) 的是最好的。(3) 信息隐蔽这是软件工程最重要的基本原则之一。简言之即信息的作用域越小越好,数据库的透明度越大越好,因为应用程序需要知道得越多就越复杂。使数据库黑盒化 (透明度高) 的方法很多,除了设计上的局部化处理外,还可以利用触发器、存储过程、函数等,把数据库中无法简化的复杂表关系封装到黑盒子里,隐藏起来,特别是放到服务器端,其优越性更是多方面的.(九)备份管理实现对系统所有数据的备份,包括图形数据、属性数据和规则库数据,这些数据均存放在数据库中,定期备份以保证数据的安全性。此外重要时
19、间的数据备份(数据版本)可供了解输电网络的新增和更改过程。6.6本方案核心技术6.6.1软件工程技术60年代中期开始爆发了众所周知的软件危机。为了克服这一危机,在1968、1969年连续召开的两次著名的NATO会议上提出了软件工程这一术语,并在以后不断发展、完善,已经形成多种软件开发方法。6.6.2面向对象软件开发1978年,EYourdon和LLConstantine提出了结构化方法,即SASD方法,也可称为面向功能的软件开发方法或面向数据流的软件开发方法。结构化的软件方法是80年代使用最广泛的软件开发方法。它首先用结构化分析(SA)对软件进行需求分析,然后用结构化设计(SD)方法进行总体设
20、计,最后是结构化编程(SP)。使用这一方法成功地完成了多个项目的开发。但随着软件开发技术的不断进步和完善,这一方法也显出它越来越多的不足之处。对于本系统这样一个业务复杂,功能众多,海量数据的项目,采用结构化的设计方法很难满足需要.我们将采用先进的面向对象的软件工程来分析、设计、开发、本系统。面向对象技术是软件技术的一次革命,在软件开发史上具有里程碑的意义。随着OOP(面向对象编程)向OOD(面向对象设计)和OOA(面向对象分析)的发展,最终形成面向对象的软件开发方法OMT(Object Modelling Technique).这是一种自底向上和自顶向下相结合的方法,而且它以对象建模为基础,从
21、而不仅考虑了输入、输出数据结构,实际上也包含了所有对象的数据结构。不仅如此,OO技术还保证了需求分析、可维护性和可靠性这三个软件开发的关键环节的质量6.6.3多层结构技术在目前的多层B/S结构中,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。我们选择如下图所示的三层结构来建立一个新的应用程序结构。系统采用BrowerServer架构,整个系统可以分为三层的结构:Client(客户端)- Applic
22、ation(应用服务层)Database(数据服务层),这三层分别由Client- Application ServerDatabase Server构成。在这种结构中,只需要一个很小的客户端(瘦客户机)。这种客户端不需要太多的中介驱动程序和设置,此时与后台数据库服务器链接的工作都交给了中间的应用服务器来处理。客户端只需使用简单的通信协议或是操作系统提供的通信功能与应用服务器进行通信.同时,应用服务器只需维护它和后台数据库服务器的数据通信处理。那么不但可以降低网络的负荷,而且又增强了应用程序的执行速度。进一步考虑,在设计过程中将相同的程序代码或是组件也移到应用程序服务器上的话,那么,客户端应用
23、程序会立即减少,同时当需要对这些共同的程序代码或是组件进行版本更新时,只需在应用服务器上作修改,这样不但管理方便,而且易于维护。这就是所谓的三层结构模式,如下图:注:上图中表示“数据登录更新读取的请求”。 表示“数据登录更新读取的结果”。三层结构以及N层结构是从逻辑上划分,物理上既可以是三层或多层.三层结构的优点在于:实现了真正的“瘦”客户机,并为Client端的安装提供了极大的方便。保证了数据的安全性,避免了传统二层结构存在的安全性不足,将数据服务器与客户端,特别是远程客户端相隔离,增加了安全性。它将用户的业务规则和商业约束条件及其它处理要求完全封装在应用程序服务器中,为今后系统的升级与维护
24、提供了极大的方便。三层结构将应用程序服务器和数据库服务器放在同一个物理服务器上,可以减少网络流量,降低发生网络瓶颈的可能性。三层结构是建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备。 信息自己管理。 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行 三层结构是建立在广域网之上, 对安全的控制能力相对弱, 面向是不可知的用户群. 三层结构对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上。 比C/S有更高的要求 三层结构的程序架构是发展的趋势,SUN 的Javan 构件技术等,使 三层结构更加成熟. 三层结构是多重结构,要求构件相对独立的功能。 能
25、够相对较好的重用。就入买来的餐桌可以再利用,而不是做在墙上的石头桌子 三层结构是构件组成,方便构件个别的更换,实现系统的无缝升级。 系统维护开销减到最小。用户从网上自己下载安装就可以实现升级. 三层结构是建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的。 与操作系统平台关系最小。 三层结构是建立在浏览器上, 有更加丰富和生动的表现方式与用户交流。 并且大部分难度减低,减低开发成本. 三层结构的信息流向可变化, BB B-C BG等信息流向的变化, 更像交易中心6.6.4中间件技术随着Internet的发展,在1996年春,Microsoft改变了主意,选择ActiveX作
26、为新的商标名称。ActiveX是指宽松定义的、基于COM的技术集合,而OLE仍然仅指复合文档.当然,ActiveX最核心的技术还是COM。ActiveX和OLE的最大不同在于,OLE针对的是桌面上应用软件和文件之间的集成,而ActiveX则以提供进一步的网络应用与用户交互为主。COM是最根本的核心技术。为了便于理解,可以把COM看作是某种(软件)打包技术,即把它看作是软件的不同部分,按照一定的面向对象的形式,组合成可以交互的过程和以组支持库。COM对象可以用C+、Java和VB等任意一种语言编写,并可以用DLL或作为不同过程工作的执行文件的形式来实现。使用COM对象的浏览器,无需关心对象是用什
27、么语言写的,也无须关心它是以DLL还是以另外的过程来执行的。从浏览器端看,无任何区别.这样一个通用的处理技巧非常有用。例如,由用户协调运行的两个应用,可以将它们的共同作业部分作为COM对象间的交互来实现(当然,现在的OLE复合文档也能做到)。为在浏览器中执行从Web服务器下载的代码,浏览器可把它看作是COM对象,也就是说,COM技术也是一种打包可下载代码的标准方法(ActiveX控件就是执行这种功能的)。甚至连应用与本机OS进行交互的方法也可以用COM来指定,例如在Windows和Windows NT中用的是新API,多数是作为COM对象来定义的.可见,COM虽然起源于复合文档,但却可有效地适
28、用于许多软件问题,它毕竟是处在底层的基础技术。用一句话来说,COM是独立于语言的组件体系结构,可以让组件间相互通信。为了以后平台的升级和维护,采用COM PLUS技术可以很方便地进行系统升级,所有本系统采用这种多层构架技术中间件是位于应用程序和基本操作系统、数据库、网络功能之间的软件.其任务是将应用程序开发人员从复杂的地层编码工作中解脱出来.中间件提供了应用程序的互操作性、可移植性和可伸缩性.我们选择中间件技术作为本方案应用软件系统开发的关键技术,是基于以下中间件技术的六大特点:缩短应用软件系统的开发周期.节约应用软件系统的开发成本。降低系统的运行成本。降低系统的运行故障率,提高系统的可靠性。
29、减少应用软件系统的维护成本.提高软件系统的产品质量。6.6.5XML技术XML代表Extensible Markup Language(eXtensible Markup Language的缩写,意为可扩展的标记语言).与HTML相似,XML是一种显示数据的标记语言,它能使数据通过网络无障碍地进行传输,并显示在用户的浏览器上.XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。1996 年,万维网协会(或者叫W 3 C http:/ w ww.w3c。o rg )开始设计一种
30、可扩展的标记语言,使其能够将S G M L 的灵活性和强大功能与已经被广泛采用的H T M L 结合起来.这种后来变成X M L 的语言继承了S G M L 的规范,而且实际上就是后者的一个子集。X M L 使得现有的I n t e r n e t协议和软件更为协调,从而简化了数据处理和传输。使用XML就意味着不必等待浏览器的开发商来满足用户的需要了。用户可以创建自己需要的标记,当需要时,告诉浏览器如何显示这些标记就可以了.为了保证本系统的先进性,本系统采用XML技术。6.7软件平台6.7.1系统应用平台 操作系统 Windows2003 server 企业版客户端操作系统 Windows XP数据库平台 Oracle 9iSQL Server 20006.7.2软件开发工具Eclipse是一种可扩展的开放源代码IDE7系统功能设计7.1数据导出7.2数据导入7.3数据交换
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1