基于CORBA异构数据库集成关键技术研究.docVIP

基于CORBA异构数据库集成关键技术研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于CORBA异构数据库集成关键技术研究

基于CORBA的异构数据库集成关键技术研究   随着信息社会的到来,计算机应用已深入到人们日常工作与生活的各个应用领域,迫切需要建立由若干个子系统组成的集成计算机信息系统,以完成更复杂的功能,解决“信息孤岛”问题。这是当前异构数据库集成研究的关键问题之一。   一、CORBA与异构数据库集成   CORBA是国际组织OMG(Object ManagementGroup)发起和制定的面向分布式对象的技术规范,其目的是在分布异构环境下为应用软件的开发提供一个公共的框架,实现信息和资源的共享。CORBA提出基于不同平台、不同编程语言、不同网络协议的异质系统间互操作的“软件总线”概念,只要各资源插件满足该总线的规范要求,就可以实现不同资源的“即插即用”。   一个分布式计算机信息系统的异构性可划分为3个层次:最底层是平台层,如不同的硬件、操作系统或通信协议;中间层是系统层,如不同种类的数据库管理系统,甚至有文件系统,它们基于不同的数据模型,提供不同的语言;最上层是语义层,由于不同的数据库或文件是独立设计的,不同系统中的数据语义之间存在着冲突。CORBA解决了平台的异构性问题,提供了解决数据库系统异构的基础结构,面向对象数据库标准ODMG93中对象模型及查询语言(OQL)在一定程度上实现了对数据库语义异构性的支持。因此,采用CORBA方法和ODMG标准,可以实现具有良好互联性的面向对象多数据源系统的互操作和集成。   实现信息集成的主要途径之一是建立异构数据库集成系统。异构数据库集成系统为用户提供单一类型的数据定义和操作语言,允许同时访问多个独立的数据数据库。这是通过对成员数据库的相关部分进行转换和集成,为用户建立统一的集成模式(表示)和接口而完成的。   二、异构数据库集成的关键技术   建立基于CORBA的异构数据库集成系统,需要解决好几个关键的技术问题:异构模式的消除、局部数据库的IDL对象化、CORBA对象定位、查询处理。   1.异构模式的消除   数据库异构模式是集成系统第一个需要解决的问题,此问题主要通过建立全局统一的公共数据模式来解。即直接将异构的数据模式转换到一个统一的公共模式上。公共数据模型由三部分组成:名称(name)、类型(d_type)、值(value)。   任何在“ORB总线”上传输的数据,包括局部数据库返回全局库的结果数据、全局库返回用户的结果数据、用户发向全局库的修改数据或插入数据、全局库发向局部系统的修改数据或插入数据,都必须转换成该公共格式表示。包装器负责转换工作。全局库接受或发送的数据格式均为公共数据格式。转换的规则为:任何局部数据库类型都转换成Any类型传输。Any类型相当于一个容器,起到统一传输任何类型的作用。公共模型根据d_type的值规定了相应的操作方法。如模型规定:t_text对应到IDL的八位字节序列,使用序列的操作方法操作t_text型数据。   2.局部数据库的IDL对象化   当异构模式消解后,下一步所需考虑的一个重要问题就是如何将局部数据库插入“ORB总线”。该任务由局部数据库包装器来完成,即对局部数据库进行CORBA封装,屏蔽其异构性,以统一的CORBA对象提供全局访问接口。封装策略为:以数据库表为粒度的封装。局部数据库以数据表为最小粒度公布其全局共享数据。包装器将每个表包装成一个独立的CORBA服务对象,提供统一的访问接口,各表对象访问方法完全一样,只通过对象名称来区分彼此。而对象名称被封装表的名称具有一对应关系:以表名来命名对象。   该策略具体实现是这样的:虽然封装粒度是表,但每个局部数据库仍然只有一个包装器进程,所有该库中共享表的封装对象都运行在该库的包装器进程中;并且,对于每个局部数据库,只有一个表对象类,通过以不同的参数实例化该类,并指定不同的对象名称来为不同的本地表生成封装对象。   3.CORBA对象定位   数据表被封装成CORBA对象,对外提供服务;那么,客户机如何找到这些对象以使用其服务呢?也就是说,CORBA如何定位对象?   首先,服务器把许多对象公布到目录,提供一些能够以有意义的方式来识别对象的属性。接着,客户机在目录中查找对象。客户机向目录提供一系列所需属性,这样目录就可返回一系列对象。客户机得到对象后就可以使用这些对象。   客户通过表对象提供的统一接口访问被封装表中的数据。表对象内部实现以下功能:(1)完成公共数据格式和本地数据格式间的转换。将数据转换为公共格式输出到ORB总线上,或转换为本地格式输入到本地数据库中。(2)对查询操作而言,方法实现体还必须完成翻译全局SQL语言到本地SQL语言以进行相应的查询操作。(3)利用本地数据库专用API访问本对象对应的数据表,完成数据操作。   4.查询处理   

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档