版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据集成技术的发展与应用数据集成技术的发展与应用 目目 录录 目目 录录.1 第一章第一章 引言引言.3 1.1 什么是系统集成.3 1.2 发展背景.3 1.3 系统集成的任务.3 第二章第二章 分布式环境下异种数据库系统的集成分布式环境下异种数据库系统的集成.5 2.1 数据库系统之间的差异性.5 2.2 异种数据库集成的方法和要解决的问题.5 2.2.1 平台和网络的透明性.5 2.2.2 数据模型的转换.6 2.2.3 模式转换和集成.6 2.2.4分布式事务管理.6 2.2.5 位置透明性.6 2.2.6语言透明性.7 2.3 异种数据库实现数据访问方法.7 2.3.1数据库网关.7
2、 2.3.2公共协议.7 2.3.3公共编程界面.7 第三章第三章 www 与数据库集成与数据库集成.9 3.1 背景.9 3.2 web与数据库的连接.9 3.2.1 公共网关接口(cgi).9 3.2.2 基于web应用编程接口(api).10 3.2.3 基于java/jdbc的数据库访问.13 3.2.4 数据绑定(浏览器插件).15 第四章第四章 新时期数据集成技术的发展与应用新时期数据集成技术的发展与应用.17 4.1 三层结构的处理方式.17 4.2 分布式对象计算 dcom/corba.18 4.2.1什么叫分布式对象计算.18 4.2.2分布式组件对象模型(distribut
3、ed component object model,dcom) .18 4.2.3公共对象请求代理体系(common object request broker architecture,corba).19 4.2.4 dcom和corba的比较.19 4.3 利用 xml 对数据进行集成.21 第五章第五章 数据仓库和数据挖掘数据仓库和数据挖掘.23 5.1 数据仓库.23 5.1.1 什么是数据仓库.23 5.1.2 数据仓库的特征.23 5.1.3数据仓库的结构组成.23 5.2 数据挖掘.24 5.2.1什么是数据挖掘.24 5.2.2 数据挖掘过程组成.24 5.3 小结.24 参考
4、文献参考文献.25 致致 谢谢.26 第一章 引言 1.1 什么是系统集成 1)美国专门从事信息行业调查研究的 idc 公司认为:系统集成是将软件,硬件 与通信技术组合起来,为用户解决信息处理问题的业务。 2)ibm 公司是最大的计算机制造商,也是最大的系统集成承包商。它把系统集 成定义为将信息技术,产品与服务结合起来,负责实现特定功能的业务。 3)日本通产省的定义是:系统集成是掌握用户的需求,并根据用户的需求全面 负责用户系统的设计,软件开发,运行准备与维护的服务。 上述几种说法虽有不同,但基本内涵是一致的。 1.2 发展背景 系统集成的发展有一系列重要原因。 1)近年来世界各国特别是发达国
5、家对信息系统的投资急剧增加。 2)现在信息系统日趋复杂,为了优化系统的设计,已不可能只采用一家计算机 厂商的产品。 3)网络技术的广泛应用增加了对系统集成服务的需求。 4)随着信息系统规模的扩大,系统研制的风险也大幅度的增长。 5)软件系统日趋复杂,大型应用软件很难由一个单位独立完成,合理分工协作 的开发方式已经成为一种必然的发展趋势。 1.3 系统集成的任务 一个计算机应用系统,尤其是大型计算机信息系统,包括:各种计算机硬 件,软件,网络和应用,它们受相应系统的功能要求,工作环境,经费预算,开 发期限等因素的制约,需要有针对性的选用恰当的产品及其型号,规格和指标, 同时需要采用恰当的技术手段
6、和依据一定的规范将他们组合与集成起来,以充分 发挥设备的功能,收到总体的最佳效果,这就是系统集成所要完成的任务。 下面我们可以从四个层次对系统集成的任务进行描述。 1应用功能的集成 应用功能集成的核心和关键是数据集成,它是指将用户的实际需求和所提出 的实际应用功能在同一系统中加以实现。例如,常见的应用需求有查询,检索, 分析,计算等。最终,用户是通过应用功能实现的好坏来判定系统建设的成败, 因此,应用功能的集成不仅反映出系统集成商对用户系统建设目标的理解程 度,而且直接影响到后续其他层次任务的集成。应用功能的集成是在系统需求分 析,系统设计及应用软件开发等阶段完成的,最终是在所建立的支撑环境中
7、通过 应用软件实现的。 2支撑系统的集成 支撑系统(或支持系统)的集成是为了实现用户的应用需求和功能而必须建 立的支撑环境的集成。它为应用系统的集成提供统一的系统平台,特别是统一的 数据库平台,以保证数据格式的一致性,避免过多的数据接口和数据转换,以提 高工作效率。例如,用户需要远程查询功能,我们不仅要为用户解决远程访问的 通信手段,而且还要建立供查询使用的查询信息库和相应的服务器。于是,这个 系统就应提供三个支持系统:网络平台,数据库平台和服务器平台,这三个平台 有共同组成了这个远程查询应用系统的支撑平台。 3技术集成 无论是功能目标及需求的实现,还是集成系统之间的集成,实际上都是通过 各种
8、技术之间的集成来实现的。例如,在网络平台的建设过程中,往往不仅要采 用 lan 技术,还要采用 wan 技术;不仅需要数据通讯技术,还需要多媒体通 信技术,甚至在一个 lan 建设环境中,也往往集成了 10mbps 以太网技术,快 速交换以太网技术,甚至 atm 技术。又如,在计算机系统平台的建设过程中, 可能采用以 client/server 为主的结构,但也可能部分采用多终端访问方式;在 os 系统平台上不但会有 unix,而且会有 windows nt 等其它 os。以上是在同一支 撑平台上不同技术的集成问题,即使在不同平台之间,技术集成的问题也大量存 在。例如,异种机网络互连问题就是服
9、务器平台集成过程中的典型技术集成问题。 又如,数据库系统加载问题涉及到数据库技术,网络技术与服务器技术的综合集 成。 4产品集成 这时系统集成最终,最直接的体现形式。因为,无论是应用功能,支撑系统, 还是技术,其最终的表现形式都落实在具体产品和设备的集成上。例如,要实现 交换以太网技术,就要选这能支持该技术的产品设备;为实现汉字远程查询访问 功能,就要选择支持远程拨号能力的相关网络产品和汉字终端设备。所谓产品集 成,就是把不同种类,不同厂商,不同应用的计算机产品设备(包括软件)依照 设计有机的组合在一起。 我们认为,只有能够实现以上几个层次的集成,才可成为真正的系统集成商。 网络实现了设备的物
10、理连接,或者说是“物理集成” ,但它远远没有解决系统的 功能集成和信息系统集成,即“逻辑集成” ,而后者的集成实现难度更大,技术 更复杂,在实现过程中应给予特别的重视。 第二章 分布式环境下异种数据库系统的集成 一般的大型信息系统都是基于数据库系统的,所以数据(库)集成也就成为 了系统集成的核心。许多企事业单位在不同时期针对某些特定的业务应用需求实 施了一系列异种数据库应用系统,出于保持应用拓展的连续性和保护过去投资及 信息资源等因素的需要,这些异种应用系统往往需要长期共存,因此,对异种数 据库进行集成,避免形成“信息化孤岛”是很有实际应用价值的研究课题。 2.1 数据库系统之间的差异性 要对
11、分布式环境下的多个异种数据库系统进行集成,实现相互之间的操作, 首先要弄清它们之间的差异性。这里所说的异种数据库包括不同形式的数据库, 不同数据模型的数据库,同数据模型不同厂商的同质异型数据库,以及同一数据 库厂商的不同版本的,针对不同环境的数据库产品。 从实际运行的系统来说,有许多因素都可能造成数据库系统之间的差异性, 譬如,计算机硬件,操作系统,网络通信和协议(这些就形成所谓的平台异构性) ,以及 dbms 和数据模型的不同等等。除了平台异构性外,源自数据库系统自身 的差异可以分为 dbms 的差异和数据语义的差异两类。 1dbms 的差异 数据模型的不同是 dbms 差异的一个重要方面。
12、关系数据库,层次数据库, 网状数据库,以及新出现的面向对象数据库,它们所采用的数据模型各不相同, 将进一步导致数据结构,约束和数据语言等的差异。 2数据语义的差异 数据语义的差异主要源于不同数据库对相同或相关数据的理解,解释和使用 的不一致性。譬如,两个数据库中对同一属性名的具体含义定义不一样,或同一 属性的数据值在两个数据库中的精度定义不同,都可能引起语义差异。 2.2 异种数据库集成的方法和要解决的问题 实现分布环境下异种数据库的集成可以通过两个方面的努力:一是转换,二 是标准化。 2.2.1 平台和网络的透明性 由于异种数据库系统可能运行在从桌面机到主机的多种机型上,而且操作系 统也可能
13、不同,所以要实现异中数据库的集成,首先应当提供平台的透明性,能 够对依赖于不同平台的数据存储格式,浮点表示,字节排列,国际字符格式,字 符集等自动进行转换,使这些差别对用户和开发人员透明。 异种数据库系统通常都是在网络环境下进行通信的。异种数据库的集成应当 提供网络的透明性,支持常用的网络拓扑和协议。目前多数流行的数据库管理系 统都能支持 async,decnet,tcp/ip,spx/ipx,x.25 等常用的网络协议。 2.2.2 数据模型的转换 异种数据库集成可能是关系,网状,层次,语义和面向对象等多种数据模型 的数据库的集成,这就需要在不同的数据模型间进行转换,使得用户能够采用与 本地
14、数据库一致的方式访问到远程数据库中不同数据模型中的数据。 数据模型的转换有两种方法:一种是进行数据库语言的转化,譬如在层次数 据库,网状数据库中提供支持 sql 语言的机制;另一种是采用公共模型,其它模 型均可与这种公共模型进行双向转换 ,从而实现不同模型之间的转换。 2.2.3 模式转换和集成 每个本地数据库都有描述自身数据结构的本地模式,面向用户的数据库结构 则可用用户模式来描述。各个本地模式要构成全局模式以便于跨数据库系统的数 据操作。由于不同数据库中的本地模式,全局模式和用户模式可能各不相同,应 当能够将本地模式转换并集成为全局模式,并从全局模式构造出不同的用户模式。 2.2.4 分布
15、式事务管理 分布式事务是包括一条以上语句的任一事务,这些事务可修改两个以上不同 节点上的数据。异种数据库集成应当有分布式事务管理功能,保证一个事务的所 有语句作为一个单元进行提交或回退,通常是通过两个阶段提交来完成的。 2.2.5 位置透明性 位置透明性是指用户和编程人员不必知道数据库中数据的具体存放位置,便 能直接访问它。通常用户和编程人员只要指明数据项的逻辑名,系统就能自动把 逻辑名映射到该数据的物理位置的地址上。 2.2.6 语言透明性 异种数据库集成应当提供语言的透明性,让用户使用一种公共的标准语言集 就能访问不同数据库的数据。选择公共语言集有两种方法:一是选不同数据库语 言的公共集或
16、标准集;二是取某种数据库的操作语言作为公共语言。sql 语言已 成为事实上的标准语言。 2.3 异种数据库实现数据访问方法 当前,异种数据库系统集成主要采用三种方法:数据库网关(gateway),公 共协议(common protocol),公共编程接口(common programming interface),它 们都是基于 client/server 体系结构的。 2.3.1 数据库网关 数据库网关是一个转换器,客户只要通过它就可以访问异种数据库。采用数 据库网关可以较为满意的解决数据库的互操作问题,通过网关,可以把第三方的 开发工具连接到自己的数据库产品上。用户无需废弃现有的应用程序,
17、就可利用 网关把它们与新的数据库技术互连起来,从而保护已有的投资,但是,几个异构 数据库构成的复杂系统中,要实现任意两个数据库见的互操作,就必须提供 n(n-1) /2 个网关,而且数据库网关价格昂贵,这在实际应用中是很难投入实用的,而且, 有些异构数据库间的数据格式,语义或语法的转换是行不通的,利用数据库网关 访问这些数据库不易达到完全透明。 2.3.2 公共协议 采用公共协议指对用户和服务期间通信的格式和协议(frame and protocal) 以及对数据库语言进行标准化,这是一种最理想的解决异种数据库系统集成的方 法。目前比较典型的有关 fap 的标准是 ansi/iso 的 rda
18、 标准(iso/iec9579) 和 ibm 的分布式关系数据库体系结构(drda) 。在数据库语言方面,iso 有数 据查询语言 sql 的标准(如:iso9075) ,很多数据库产品部分或完全支持它。 2.3.3 公共编程界面 公共编程界面包括客户应用编程界面(capi)和服务器应用编程界面 (sapi) 。capi 是一组程序库,通常以 tsr 方式或 dll 方式驻留在客户工作站 上,一个 capi 通常可装载后端专用的驱动程序以访问不同的数据源。sapi 提供 一个应用编程界面,并提供控制服务器与客户应用请求和目标数据库之间的交互, 像 microsoft 的 odbc,oracle
19、 的 sql net 以及 idapi 就是这类用途的 api。 以上三种方法在异种数据库集成中可以配合使用,并不相互排斥。 第三章 www 与数据库集成 3.1 背景 数据库技术经过几十年的发展,其功能越来越强大,但随着以网络为中心的 计算机时代的到来,以往被广泛使用的用 dbms 建造的数据库资源不能被 web 直接访问,这种状况影响了数据库资源的共享,造成了资源浪费。 当前数据库系统的应用环境由可控制的环境变成多变的异质信息集成环境和 www 环境。可以说 web 就是一个巨型数据库,web 上的数据,数据量大,类 型多,管理不足。而这恰恰是数据库的优势,因此,数据库技术与 web 技术
20、的结 合已成为当前研究的重点。 一方面,网络技术的发展推动了 web 技术的发展,web 上巨大的数据量再 也不能忍受文件系统的管理模式,迫切需要采用数据库技术进行管理。用数据库 技术进行管理可使 web 页面更具交互性,动态性和灵活性。另一方面,传统的数 据库管理系统也需要引入 web 技术,以便与信息在网络上的访问和发布。 3.2 web 与数据库的连接 3.2.1 公共网关接口(cgi) cgi(common gateway interface)是服务器和 html 文件之间的接口程序,它 负责处理 html 文件与运行在服务器中的程序之间的数据交换。当读者输入他们 的信息后,便激活了一
21、个 cgi 程序,一个 cgi 程序就是一个散发器,它负责传 送请求给适当的数据库应用服务器。该 cgi 程序又可以调用操作系统下的其它 程序如数据库应用服务完成读者的查询任务。当系统完成查询任务之后,又将查 询结果传给 cgi,通过 cgi 传给服务器,其结构如图 1。 优点:通用性 由于 cgi 是作为 web 服务器提供一般的接口而设计,因此, 几乎所有的服务器都支持 cgi,开发者可以使用任一 web 服务器内置语言编写 cgi 程序,如 vb,vc 等。 缺点: 1. 运行慢,开销大。从上述实现过程我们不难看出,对每个 web 用户 提交的请求,服务器都需进行格式转换。即把 html
22、 格式转化成服务器所需 要的格式。而且服务器将每一个 cgi 调用作为一个进程来运行,每一次对数 据库进行操作时,都不许进行数据库服务器的登录,打开数据库,操作结束 后关闭数据库和注销。这些都无疑增加了处理的开销,而且消耗了大量时间 和资源。在用户增多情况下,表现尤为突出。 2. 由于用户对数据库操作时是以批处理方式发送用户名,用户口令,因 此 web 服务器只能控制用户所在的域,而不能用数据库级特权来控制存取权 限,这样使得对用户的访问变得难以控制。 3. cgi 程序的编译,连接是与一个具体的数据库管理系统相联系的,因 此该程序只能访问一个具体的数据库。 对开发者来说,cgi 编程十分复杂
23、,仅一个简单的查询就需要上百条语句实 现。 3.2.2 基于 web 应用编程接口(api) 针对 cgi 的缺陷,一些 web 服务器厂商推出了各自的 web 服务器应用编程 接口 api(application programming interface),如 microsoft 的 web 服务器 iis(internet information server)的 isapi,netscape 的 nsapi 等。但是开发 api 程 序要比 cgi 程序复杂的多,开发者须具备进程同步,直接协议编程等方面的专业 知识。因此,为使 web 与数据库之间的连接更为简洁,方便,netscape
24、 和 microsoft 在各自的 web 服务器软件中提供了基于 api 的编程接口。微软在其 iis2.0(internet information server)中提供了基于 isapi 的 idc(internet database connector),netscape enterprise server 提供了基于 nsapi 的 livewire。 在此,谈谈在 microsoft 公司的产品 iis 中如何访问数据库的。 利用 iis2.0 中的 idc 连接数据库 idc 是 iis 的一个动态链接库(httpodbc.dll), 运行在 web 服务器上的,它 是通过 od
25、bc 接口访问各种数据库的,浏览器利用 http 协议递交需求给 internet 服务器,服务器用 html 语言格式的文档响应,服务器通过调用 idc 完 成对数据库的访问。其过程如图 2。 从图 2 中看出,整个过程分为 6 步: 1. internet information server 接收 url(uniform resource locator) 。 2. internet information server 载入 httpodbc.dll 并且提供 url 中保 留的信息,.idc 文件被映射到 httpodbc.dll,httpodbc.dll 载入并且 包含从 url
26、传递到服务器上的 internet 数据库连接器文件。 3. httpodbc.dll 读 internet 数据库连接器文件。 4. idc 与 odbc 数据源连接,执行包含在 internet 数据库连接器文件中 的 sql 查询语句。 5. idc 从数据库中反馈查询结果。并将该结果放入 html 扩展文件 .htx 中。 6. idc 发送信息给服务器,服务器将该信息反馈给客户。 图 2 我们可以看出,对数据库的一个字段进行浏览,可用如下的程序实现:第一 部分为 .html(超文本文件),第二部分为.idc(数据库连接文件),第三部分为. htx(反馈文件)。因此,只要简单掌握了 s
27、ql 语句,运用超文本语言,访问数据 库是十分容易和方便的事,不像编写 cgi 程序那样需要有一定的专业知识,同时 又需要专门的软件。编写.idc 文件不需要特殊的软件,同编写 html 语句一样, 用 windows 的记事本就可以编写,故在设计一些具有固定格式的动态 web 页面 时是非常合适的。另一个区别在于用 isapi 创建的应用程序被编译成动态链接库 (dll),在 www 服务器启动时被装载,由于程序常驻内存,isapi 程序比 cgi 应用程序运行速度快。 用 iis3.0 中的 asp 连接数据库 相对 iis2.0,microsoft 在 iis3.0 中增加了 activ
28、e server 的功能。这使得我们可 以采用 asp(active server pages)技术进行数据库的集成。它与 idc 技术类似,也 是获取用户的 http 请求,将结果返回浏览器。但在对数据库进行操作时,asp 技术要比 idc 技术简洁,方便的多。 asp 提供了很多 activex 服务器构件,其中通过 activex 组件 ado(activex data object)便可方便的访问到数据库服务器上的数据。ado 是 microsoft 推出的 基于 odbc 的数据库访问对象,ado 通过组件对象模型(com)为 asp 提供了 web 与数据库连接的可编程界面,只需几
29、行脚本语句便可将后台的数据库信息发 布到网页上。 利用 asp 技术访问数据库如图 3 所示。 一个 asp 文件包含三部分:(1)text, (2)html, (3)asp 脚本命令。 其中 asp 脚本命令是用“%”和“% ”括起来的 vbscript 或 jscript 语句组成 的。这些脚本经服务器解释后以 html 格式传给浏览器。 通过 iis2.0/idc 和 iis3.0/asp 不仅可以从数据库中查询数据,还可以存储数 据。由于 asp 可直接在 html 文件中包含可执行的脚本(vbscript 或 jscript) , 因此整个开发过程变得一体化。而且,利用 asp 开发
30、的网页是独立于浏览器的, 即无论客户端采用的是文字浏览器还是 internet explorer,netscape navigate 都能 够访问这些网页。 与 cgi 相比,由于 api 技术是 web 与数据库中在较深层次上连接,因此使 得 web 与数据库集成的更为紧密,性能更高,但其最大的缺点是缺乏互通性,且 api 编程要比 cgi 编程更为复杂。而基于 web api 访问数据库的方法实现简单, 编程容易,操作容易,但与各自的 web 服务器捆绑得太紧,即编写的程序只能在 相应的 web 服务上运行,缺乏通用性。 3.2.3 基于 java/jdbc 的数据库访问 jdbc(jav
31、a database connectivity)是 java 语言与数据库管理系统之间的接口, 通过它,一个 java 应用程序可以访问任何一个关系型数据库,jdbc 是 java 语言 中执行 sql 语句的 api,它由一系列类(classes)和接口(interfaces)所组成,这 些类和接口均是由 java 语言写的,程序开发者使用这些类和接口与数据库建立连 接,发送 sql 语句,处理 sql 语句返回的结果。完成一个基于 jdbc 的应用需 要一组层次结构的产品,它包括,jdbc api,jdbc driver manager 和针对某一 特定数据库的 driver,它的一般工作
32、原理如图 4 所示。 图 4 jdbc 的工作原理 java/jdbc 方法的基本思想是,分布应用程序的代码,将它传送给客户程序, 然后由客户端在用户的计算机上执行这些代码。这种方式允许在 www 中重新建 立数据库系统的界面部分,有助于实现认证,安全性和系统完整性等访问控制机 制。另外,java 的 awt(abstract windows toolkit)提供了丰富的图形控制调用, 有助于用户界面图形化。该访问有两种结构形式。 两层结构,java/jdbc 两层结构如图 5。 图 5 java/jdbc 两层结构 web 浏览器向 http 服务器发出请求,然后对 http 服务器返回的
33、html 文本进行分析处理,决定需要下载的 java 字节码文件。并且,浏览器所带的 jvm(java virtual machine)对其进一步分析,将 applet 相关类的字节码文件和 jdbc 接口类的字节码文件下载到客户端,然后 jvm 对所下载的字节码文件进行 检验,检验通过后就执行 applet。此时,客户机与 http 服务器断开。applet 根 据 html 文本所提供的数据库地址,端口和账号直接与数据库服务器建立连接, 进行数据交互。 三层结构,java/jdbc 三层结构如图 6。 图 6 java/jdbc 三层结构 三层结构中,applet 发送的命令送至网关服务器
34、,由网关服务器将 sql 语句 发送给数据库,数据库的返回结果经网关服务器返回给 web 用户。其优点是,网 关服务器完成了对数据库的存取控制和对返回数据的加工,用户可在更高层次上 开发,开发工作相对简单。 3.2.4 数据绑定(浏览器插件) internet explorer 4.0 通过支持 connect-record data binding(当前数据绑定)改 变了在 web 上数据访问的性质。客户绑定数据意味查找来自数据源的数据视图在 客户不必返回到服务器更新的情况下,可以进行浏览和编辑,创建带有数据绑定 的 web 页,比在服务器端的复本更迅速,导致了高级的用户界面和应用。由于为
35、对象绑定数据,ie4.0 引进了二个新的 html 标志:datasrc 和 datafld。 这两个标志用于将 html 元素绑定到一个一个纪录组中一个特别的栏。创建一个 可以关联到元素的记录组需要使用 activex 控件,与 ie4.0 一起发送的有两个具 有从不同数据源创建记录组能力的 activex 控件:表格式数据控件(tabular data control,tdc)和远程数据服务(remote data services,rds) 。tdc 用于访问文本 文件中的有界数据,rds 用于访问 odbc 数据源中的数据。 一旦 web 页中包含 tdc,可以将适当的 html 元素
36、绑定到数据源中的任何字 段,rds 具有从任何运行在服务器上的 odbc 数据源创建纪录组能力,并且将 数据送到客户端,rds 依赖服务器端的组件进行数据打包。事实上,为了使用客 户端数据绑定,必须安装 rds 的服务器部分,当服务器建立好之后,就可以使 用被称为高级数据控制(advance data control,adc)的 rds 的客户端部分。当 应用 ads 时,为了得到简单的连接,只需设置三个属性:connect,server 和 sql。 第四章 新时期数据集成技术的发展与应用 随着信息技术的迅猛发展,数据的存储远远超出了关系数据库的范畴,出现 了各种各样的异构数据源,相应的也就
37、产生了跨平台对多种类型的数据进行集成 的要求。新出现的技术例如:三层集成方案,dcom/corba 和用 xml 进行集 成等都可以对多种异类的数据进行集成。数据集成技术还在进一步的发展之中。 4.1 三层结构的处理方式 三层结构是最近几年才出现的新技术,在数据集成方面也有着良好的应用前 景。相对于两层结构,三层架构的不同之处在于它在客户端和服务器端之间设立 了一个中间层,对数据的一切访问都要通过中间层进行。这样做的好处很多:首 先,在两层结构中,如果要想若干个客户端都具有访问某个数据源的能力,就必 须在某个客户端都进行相应的配置,而如果每个客户又要求访问多个服务器,又 会造成系统的大量冗余和
38、浪费,而在三层结构中,可以把访问多个异种数据源的 能力配置在中间层上,每个客户端只要其有访问中间层的能力就可以了,这使得 系统大为简单化。另外,两层结构中,一旦对 server 端提出数据的访问要求,真 正的集成就将在客户端上进行,而在三层结构中,集成可以在中间层上进行,只 把最终的结果返回给用户,这将减少不必要的网络传输,大大改善网络性能。三 层结构处理方式的结构如图 7 所示。 图 7 三层结构的处理方式 4.2 分布式对象计算 dcom/corba 4.2.1 什么叫分布式对象计算 由于各应用系统分布于网络不同节点,基于不同操作平台和网络平台,而 odbc 又不能响应跨平台的数据库操作命
39、令,因此对各应用系统数据库的操作与 访问必须依赖于分布式对象计算。分布式对象计算(doc)融合了对象技术和分 布技术,弥补了 odbc 不能响应跨平台操作的不足,它使得位于异构环境中的对 象,可通过 doc 提供的机制相互作用。目前,doc 领域内有两大阵营:微软的 分布式组件对象模型(dcom)和对象管理集团(omg)的公共对象请求代理体 系(corba)。 4.2.2 分布式组件对象模型(distributed component object model,dcom) 什么叫分布式组件对象模型 分布式组件对象模型 dcom 作为微软的分布式计算策略,是在 osf dec 的
40、 rpc 协议基础上开发的,是微软的组件对象模型 com 的一个扩增版。com 是 微软为了解决应用复杂性和随时间功能改进,版本维护等问题所提出的方案。 com 把应用看作软件对象,并定义和实现软件对象间连接的机制。软件对象是 一组相关的功能及其状态的集合,客户(对象提供服务的使用者)和对象直接进 行通讯。com 体系结构中的关键是接口的二进制标准,即标准的,与体系无关 的连接格式和协议,使异构平台上的对象可以相互作用。dcom 和 com 的最大 不同在于,com 组件运行于单机上,而 dcom 组件则是分布在网络上。 分布式组件对象模型的特点 dcom 完全隐藏了组件在网络
41、中的位置这一细节,具有良好的位置独立性; 它可以使用任何网络传输协议,提供了面向对象的协议透明性;而且,dcom 完 全与开发语言无关,几乎所有的语言都可以用来开发 dcom 组件,而开发出的 组件更是可以被更多的语言和工具使用。但 dcom 主要使用在 windows 平台上, 尽管在非 windows 平台也可使用,但会受到很多限制。 4.2.3 公共对象请求代理体系(common object request broker architecture,corba) 什么是 corba corba 规范是建立在 oma(object management architectu
42、re,对象管理体系 结构)参考模型上的。oma 的核心部分是 orb(object request broker,对象请求 代理)。orb 提供了一种机制,通过该机制,对象可以透明的发出请求和接收应 答。基于 orb 机制就可以充分利用分布的,可以互操作的对象构造可以互操作 的应用,使用户在可以不了解实现交互细节的情况下,建立共享资源的应用。 oma 体系由五部分组成:(1)对象请求代理 orb;(2)对象服务;(3)公共 设施;(4)应用接口;(5)领域接口。corba 规范则是针对 oma 参考模型 中的 orb 而制定的。corba 规范定义了 idl(接口定义语言),映射和单个 orb
43、 与 orb 间的互操作机制。 corba 的特点 对象请求代理 orb 是 corba 中的对象总线,使用 orb 使得服务器端的透 明性更容易得到实现:(1)编程语言可以使用 c,c+等,不必与客户机一致; (2)服务器平台可以自由选者硬件结构,操作系统;(3)服务器的网络位置是 任意的,服务器程序可以任意迁移平台而不影响客户端;(4)网络协议由 orb 处理,客户端程序可以不必考虑协议影响。 对于服务器端,客户机需要知道的仅仅是服务器具有的服务的描述,这些描 述是由服务器使用接口定义语言 idl 公布的。idl 不是一种编程语言,只做描述 接口的工作,不涉及具体的实现。其语
44、法类似于 java 和 c+。idl 接口调用服务 可以是编译前代码里预先规定好的调用,也可以是编译以后运行时的调用。前者 是静态调用,后者是动态调用,而这各有自己的特点。omg 对这两种方法都提 供支持,提供了一种公共的架构。 4.2.4 dcom 和 corba 的比较 总的来说,dcom 和 corba 基本上是相似的,都提供分布对象基础架构以 支持对远程对象的激活和操作,他们的运作结构都采用远程进程调用的方式,只 是各部分的名称不同而已。如图 8,9 所示。 图 8 dcom 的调用结构 图 9 corba 的调用结构 在 dcom 中,对组件的透明访问是通过服务控制管理员(serve
45、r control manager)实现的。客户要调用一个组件对象时,会向 scm 提出请求,如果对象 服务器是本进程内的或是本地的,scm 会查询注册服务器以定位对象服务器,并 将其装入和激活。这样,组件对象的变化只要更改相应的注册就可以了,程序可 以保持不变。corba 则将对象实现的信息存储在实现仓库中,由 orb 负责查询 实现仓库以实现对象的装入和激活。 因为 dcom 和 corba 都采用了包装的思想,以统一的接口的方式向外提 供调用,并且二者也都实现了对对象的透明访问,这就给我们对数据集成提供了 极大的便利。我们可以利用 corba 或 dcom 将对源数据进行操作的部分进行
46、统一的包装,而后就可以很容易的在此基础上建立集成模块,对包装过的数据进 行集成,再提交给用户。如图 10 所示。 图 10 利用 dcom/corba 进行数据集成 4.3 利用 xml 对数据进行集成 近年来,互联网得到了迅猛的发展,web 实际上已经成为最大的数据来源。 而且互联网的用户数和网页上的数据仍然在飞速增加,在这种情况下,对网页上 的数据进行集成势在必行。但是由于现在的网页大多用 html 编写,而 html 缺乏 缺乏必要的结构和语义信息,这就给数据集成带来了很大的困难,甚至使得几乎 没有可能设计出一种集成 html 页面上的信息的通用的方法。为了便于以后人们共 享网上的数据,
47、在 3wc(world wide web consortium)带头下,建立了正式的 xml 规范。 xml 代表扩展表示语言(extensible markup language),它是一个定义其它 语言的系统。它采用将结构,内容和表现相分离的方法,同一个 xml 源文档只 写一次,就可以用不同的方法表现出来。所以 xml 不仅可以用于 internet,而且 可以用于需要制作多种媒体文档的应用上。相应的,利用 xml 进行数据集成的 方法也就对相应的领域都适用。xml 具体工作过程如图 11。 图 11 xml 的工作机制 xml 使用 dtd 和 schema 来定义数据的结构,利用它可
48、以确定文档中数据 是否有效,但更重要的是它们还能够定义数据的类型和数据间的关系,这就使得 dtd 和 schema 功能类似于数据库的源数据。充分利用两者的相似性,我们就可 以将传统的数据集成的策略以 dtd-schema 为桥梁移植到 xml 文档的集成上来。 从而实现对 xml 所写的 web 页面的集成。 其实,xml 对数据库集成的贡献远不止此。我们完全可以利用它对很多类 型的信息进行高度集成。如图 12 所示。 图 12 xml 对多类型信息的高级集成 包括 rdb 在内的多种信息来源,我们都可以为其设计相应的包装器,将其 包装成统一的 xml 数据进行集成,再将集成后的结果数据以
49、xml 文档的形式 发送到各个应用客户端或是更高级的数据集成器去。 第五章 数据仓库和数据挖掘 数据仓库技术的出现是由于决策支持系统发展的需要。它的提出是以关系数 据库,并行处理,分布式技术以及 internet 的飞速发展为基础,是解决如何利用 分散的异构环境数据源,及时得到准确的信息,解决信息技术在发展过程中一方 面拥有大量数据,另一方面,有用的信息却很贫乏这种不正常现象的综合解决方 案。而数据库中的知识发现(knowledge discovery in database,kdd)是一种数 据处理过程,它通过机器学习,统计分析或其他方法,从大量数据中提取出有用 的信息。数据挖掘是 kdd
50、的核心环节。它用来发现隐含的,事先未知的,潜在 有用的知识,提取的知识可表示为概念,规律,模式等形式。 5.1 数据仓库 5.1.1 什么是数据仓库 数据仓库是面向主题的,整合的,稳定的,并时时变的收集数据以支持管理 决策的一种数据决策形式。 5.1.2 数据仓库的特征 通常数据仓库包含以下特征。 数据进入数据仓库以前,必须经过加工与集成,对不同的数据来源进行统一 的数据结构和编码,将原始数据由面向应用转向面向主题。 数据仓库中存储大量的历史数据,并极少或根本不进行更新。 数据仓库的数据时限在 5-10 年,故数据的编码包含时间项,因此,仓库要时 变的收集数据。 通常的数据仓库数据量为 10gb 级,大型数据仓库是一个 tb 级数量级。 数据仓库支持 olap(online analytical processing),决
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省温州市新希望联盟2024-2025学年上学期八年级期中考试数学试卷
- 高中生物 第6章 第4节 细胞的癌变教案 新人教版必修1
- 广东省肇庆市高中数学 第二章 随机变量及其分布 2.4 正态分布教案 新人教A版选修2-3
- 八年级生物上册 7.19.2植物的生长发育教案 (新版)苏科版
- 2023六年级数学上册 五 完美的图形-圆信息窗3 圆的面积第1课时教案 青岛版六三制
- 湖南省醴陵市七年级地理上册 5.2 国家经济合作教案 (新版)湘教版
- 2023一年级数学上册 8 20以内的进位加法第6课时 解决问题(2)教案 新人教版
- 2024-2025学年高中历史 第3单元 古代中国的科学技术与文学艺术单元小结与测评教案 新人教版必修3
- 租用空调合同模板(2篇)
- 银行抵押物租赁合同(2篇)
- 检维修交付生产手续(参考模板)
- SYB创业培训全课件(ppt)
- 危险化学品储存、经营企业专业检查表(长输管线)
- GB∕T 24694-2021 玻璃容器 白酒瓶质量要求
- (完整版)五年级数学思维拓展课程整体设计
- 下肢动脉硬化闭塞症临床路径
- 精装修验房最全表格
- 实例两点透视ppt课件
- 图解如何做好政务信息(办公室工作必备)(S)
- 中国中铁股份有限公司项目经理管理办法(试行)
- 污水处理站培训资料
评论
0/150
提交评论