基于分布式数据库和数据挖掘技术的统计报表系统的分析与设计第一章绪论一、设计与实现在本系统的设计中,考虑到对现有软硬件资源的充分利用和与农行现有业务系统之间的连接,采用C/S与B/S架构(WEBSPHEREJSPJAVA),后台使用RS/6000或HP9000小型机环境下使用SybaseASE数据库,批处理和监控进程采用SHELL/ESQL-C方式,数据传输使用MT,报表灵活定制使用FORMULAONE,前端报表使用WEB展现。多维分析考虑使用二、分布式数据库技术(DistributedDataBase,DDB)分布式数据库是数据库技术与计算机网络技术相结合的产物。一个分布式数据库是由分布于计算机网络上的多个逻辑相关的数据库组成的集合,网络中的每个结点具有独立处理的能力(称为场地自治),可执行局部应用,同时每个结点通过网络通讯系统也能执行全局应用。局部应用是指对本结点的数据库执行某些应用,其用户称为局部用户。全局应用(或分布应用)是指对二个以上结点中的数据库执行某些应用,其用户称为全局用户。支持全局应用的系统才能称为分布式数据库系统。对用户来说,一个分布式数据库系统逻辑上看如同集中式数据库系统一样,用户可在任何一个场地执行全局应用。分布性是指数据不是存放在单一场地为单个计算机配置的存储设备,而是按全局需要将数据划分成一定结构的数据子集,分散地存储在各个节点上。在分布式数据库系统中,由于分布性的存在使的分布数据独立性的要求更加丰富。逻辑协调性是指各场地上的数据子集,相互间由严密的约束规则加以定,而在逻辑上是一个整体。对于数据库来说,将数据组织在数据库中以便于数据共享,为此要减少数据冗余,提高查询效率,便于数据一致性维护,但对于分布式数据库来说,由于数据存储的分散性,各节点在网上传输数据,使得与集中式数据库相比,增加了网上传输的代价,因此,分布式数据库中数据一般存储在经常使用的节点上,也可以将数据存储在两个或者多个节点上,以节省开销。对于大规模数据使用分布式数据库存储可以起到分散系统压力的作用。另外,多副本的存储,对数据库的可靠性也有提高,即当系统中某个节点出现故障时,由于有其他副本在非故障节点上,所以对于其他非故障节点都是可用的,从而保证数据的完整性。这种冗于度是在系统的控制下,不会给系统造成不利的影响。三、基于WEB的Browser/Server的体系结构随着Internet越来越广泛的应用,原来基于局域网的企业网开始采用Internet技术构筑和改建自己的企业网,既intranet。于是,一种新兴的体系结构Browser/Server应运而生,并获得飞速发展,成为众多厂家争相采用的新型体系结构。本质上,Browser/Sewer也是一种Client/Server结构,它是一种由传统的二层Client/Server结构发展而来的三层Client/Server结构在Web上应用的特例。在Browser/Server的系统中,用户可以通过浏览器向分布在网络上的许多服务器发出请求。Browser/Server结构极大的简化了客户机的工作,客户机上只需安装、配置少量的客户端软件既可,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。本文所设计的电子报表系统采用基于WEB服务器的Browser/Server的结构,该服务器的基础支撑软件是SuseLinux,WebSphere,具有稳定、高效、跨平台等优点,具体体现在以下几个方面:1.Browser/Server的应用只需在客户端装有通用的浏览器即可,维护和升级工作都在服务器端进行,不需对客户端进行任何改变,故而大大降低了开发和维护的成本。2.Browser/Server所采用的标准都是开放的、非专用的,是经过标准化组织所确定的而非单一厂商所制定,保证了其应用的通用性和跨平台性。3.Client/Server用户的界面是由客户端软件所决定的,其使用的方法和界面各不相同,每推广一个Client/Server系统都要求用户从头学起,难以使用。Browser/Server用户的界面都统一在浏览器上,浏览器易于使用、界面友好,不须再学习使用其它的软件,一劳永逸的解决了用户的使用问题。4.Client/Server系统的三部分模块中有一部分需改变就要关联到其它模块的变动,使系统极难升级。Browser/Server系统的三部分模块各自相对独立,其中一部分模块改变时其它模块不受影响,系统改进变得非常容易,且可以用不同厂家的产品来组成性能更佳的系统。5.在Client/Server系统中由于客户机直接与数据库服务器进行连接,用户可以很轻易的改变服务器上的数据,无法保证系统的安全性。Browser/Server系统在客户机与数据库服务器之间增加了一层Web服务器,使两者不再直接相连,客户机无法直接对数据库操纵,有效地防止用户的非法入侵。四、数据挖掘技术(DataMining)随着数据库技术的不断发展及数据库管理系统的广泛应用,数据库中存储的数据量急剧增大,在大量的数据背后隐藏着许多重要的信息,如果能把这些信息从数据库中抽取出来,将为用户创造很多潜在的利润,而这种从海量数据库中挖掘信息的技术,就称之为数据挖掘。数据挖掘技术是人们长期对数据库技术进行研究和开发的结果。起初各种商业数据是存储在计算机的数据库中的,然后发展到可对数据库进行查询和访问,进而发展到对数据库的即时遍历。数据挖掘使数据库技术进入了一个更高级的阶段,它不仅能对过去的数据进行查询和遍历,并且能够找出过去数据之间的潜在联系,从而促进信息的传递。本文采用数据挖掘技术主要是用于对分布存储的数据进行采集。五、安全机制作为一个银行业务管理系统,信息安全是其成功的保证。解决好信息共享与保密性、完整性的关系、开放性与保护隐私的关系、互联性与局部隔离的关系,是实现“安全的”电子报表系统的前提。所涉及的安全需求包括网络层安全需求和应用层的安全需求。1.网络层安全主要解决网络互联时和在网络通讯层安全问题网络进出控制:需要对进入内部网进行管理和控制。在每个部门和单位的局域网也需要对进入本局域网进行管理和控制。各网之间通过防火墙或虚拟网段进行分割和访问权限的控制。要达到授权用户可以进出内部网络,防止非授权用户进出内部网络这个基本目标。网络和链路层数据加密:对关键应用需要进行链路层数据加密,特别是信息共享,需要有高强度的数据加密措施。因为本系统运行于银行内部网络,_且网络中有网管系统和硬件防火墙进行管理和访问权限的控制,所以网络层安全在本系统中未做考虑。2.应用层安全需求公共应用的安全需求:公共应用包括对外部和内部的信息共享以及各种跨局域网的应用方式,其安全需求是在信息共享同时,保证信息资源的合法访问及通讯隐秘性。公共应用主要有、电子邮件等方式,必须严格按照用户的身份进行控制对信息的访问,对服务器也必须进行必要的身份认证。在认证的基础上根据用户的身份对信息进行授权的访问控制,如有需要建立应用层的数据加密,保证数据隐秘性和完整性。公共应用包括外部的和内部的,尤其是内部的公共应用,有着更高的安全要求。特别对于身份认证和传输加密,必须做到万无一失。内部办公应用的安全需求:内部的办公应用主要是运行在局域网上的办公事务处理,对身份认证和访问控制有更高的要求。将来需要发展到使用IC卡或电子钥匙,通过多种方式确认用户的身份。访问控制的控制粒度更细,必须根据不同应用的不同对象形式进行控制,如Web页面、数据库记录。为了解决网络安全问题,我们必须达到如下几条基本的要求:身份认证:保证在信息的共享和交换过程中,参与者的真实身份;信息的保密性:保证信息在交换过程中,其内容不能够被非授权者阅读;信息的完整性:保证信息的交换过程中,其内容不能够被修改;信息的不可否认性:信息的发出者无法否认信息是自己所发出的。把机密性、访问控制、完整性不可抵赖性结合起来,能够使系统达到相当高的安全程度。本文主要采用安全访问控制和事后安全核查,由于系统的开放特征,理论上所有互通客户都可访问报表系统数据。而银行的基本风险控制准则是:授权有限、互相制约。因此,必须对系统所有的访问请求实施过滤核查。对这些请求进行分类,并根据登录用户的不同权限,给予许可或拒绝答复。这就是安全访问控制。而事后安全核查则是指对系统所有访问请求都留有可核查印记,以便事后核查。第二章分布式数据库原理及其应用一、分布式数据库简介一.分布式数据库的概念数据库系统在当今各种计算机上己经成为一种重要的程序设计系统,是信息处理的重要工具和组成部分,其理论和技术都已达到相当成熟的阶段。然而,由于应用要求的不断提高,数据库技术也将接受新的挑战,人们设想以“数据库系统十计算机网络”来实现分布式数据库系统,既达到对数据的集中管理与共享,又能使地域的分散性被系统隐蔽起来。本章介绍分布式数据库系统的基本概念,包括分布式数据库系统的定义(组成的成分)、特点等。分布式数据库是一组数据集,逻辑上它们属于同一系统,而物理上它们分散在用计算机网络连接的多个场地上,并统一由一个分布式数据库管理系统管理。与数据库系统一样,分布式数据库系统也包含两个重要的成分:分布式数据库和分布式数据库管理系统。1、分布式数据库(DistributedDataBaseDDB)分布式数据库是计算机网络环境中各场地(S加)或节点(Node)上数据库的逻辑集合。为了区别,我们称传统方式的数据库系统为集中式数据库系统(DB),而称分布式数据库系统中的各场地数据库为局部数据库(LocalDBLDB)。也就是说,DDB是一组结构化的数据集合,逻辑上属于同一系统,而物理上分布在计算机网络的各个不同节点上。需要强调的是这组数据的分布性和逻辑协调性。分布性,是指数据不是存放在单一场地为单个计算机配置的存储设备上,而是按全局需要将数据划分成一定结构的数据子集,分散地存储在各个场地(节点)上。逻辑协调性,是指各场地上的数据子集,相互间由严密的约束规则加以限定,而在逻辑上是一个整体。由此可见,分布式数据库的分布性使之有别于集中式数据库;而分布式数据库的逻辑协调性又有别于网络连接的分散数据库,在数据独立性上更是远远地优于分散数据库。但我们仍然可以看到,集中式数据库是分布式数据库的基础,而计算机网络则是分布式数据库的必要环境。实际上,基于以上两特性的DDB,是虚拟的、逻辑的,即是由许多LDB逻辑组织而成的,它是针对于全体用户的,全局的数据库。因此,又称分布式数据库为全局数据库(GlobalDB,GDB),它是虚设的,只有局部数据库LDB才是物理的数据库。2分布式数据库管理系统(DistributedDataBaseManagementSystem,DDBMS)分布式数据库管理系统和集中式数据库管理系统一样,是分布式数据库系统中的一组软件。负责管理分布环境下逻辑集成数据的存取、一致性、有效性、完整性等。同时,由于分布性,在管理机制上还必须具有计算机网络通讯协议上的分布管理特性。因此,分布式数据库管理系统比集中式数据库管理系统更加复杂。除了上述因素外,还可能由于各个局部数据库有不同的模型,如关系型、网络型和层次型等,则使分布式数据库的数据将在数据描述(模型确定的)及格式上不同,因而要进行必要的转换,才‘能使用户得到统一的数据。一般情况下,分布式数据库系统使用统一的数据模型,将各局部数据库经过转换一致起来。这样,无论在任何节点上用户都面对一个统一的模型,这使用户的使用变得简单,也有利于数据的管理。二.分布式数据库的特点分布式数据库系统,是数据库系统的新类型,因此具有集中式数据库系统的特点。同时,还由于它的分布性从而又使这些特点具有不同的含意。传统的数据库系统是针对文件系统的弱点,用集中控制以实现数据共享,这是其最主要的特色。而分布式数据库系统除此之外,由于它是和计算机网络结合,是分散与集中的统一,因此兼有二者的共同特性。1.共享性与自治性在分布式数据库系统中,多个场地或节点的局部数据库在逻辑上集成为一个集体,并为分布式数据库系统的所有用户使用,这种应用称为分布式数据库的全局应用