浅谈CORBA技术在分布式异构数据库的应用

2019-11-21 08:23
智能城市 2019年21期
关键词:数据库系统中间件异构

张 怡

(武汉交通职业学院,湖北 武汉 430070)

20世纪80年代以后,我国信息技术行业一跃千里,软件的精度和复杂度极大提高,很多工程需要多部分协同合作,数据共享。但由于平台的差异、操作系统的差异,甚至数据库语言的差异导致数据共享很麻烦。为了解决这些异构,OMG组织提出了CORBA(Common Object Request Broker Architecture):公共对象请求代理体系结构。CORBA提供了一套标准,规定了分布式异构数据库系统操作的语言、接口和协议。增强了跨平台,跨语言的系统之间的交互,实现数据共享。

1 分布式异构数据的概念

分布式数据库(HDB)技术是大数据时代应用广泛的一种数据库技术,它可以将分散分布的计算机中的局部数据库通过网络互连,形成一个完整的、集中的分布式大型数据库。依据《分布式数据库系统标准》,分布式异构数据库系统的结构被定为四层机构,分别是:全局外层、全局概念层、局部内层、局部概念层。每层都可以通过层间映射,映射到下一层。

当数据库表单的数据量超出阈值,数据库的检索性能会降低。单机数据库系统很难处理高强度的io,同时,不同的单机上处理的业务可能使用不同的数据库,很难保证一个单机的数据库宕机,不影响其他数据库对应的业务进行。以上问题是分布式异构数据库技术可以解决的。

异构数据库是位于很多个不同节点的数据库的集合,它的异构性主要有三点:计算机结构的异构性(大型机、小型机、嵌入式设备等)、数据库系统异构性(SQL Server、Oracla、mySQL、Access等)和底层操作系统的异构性(Windows、IOS、Linux等)。各个数据库也要在不同的操作系统中运行,不受系统异样的限制;各个数据库对应的操作系统可以不同;各数据库的类型也可以不同。异构数据库的最终目标是在分散于网络中的各个节点的异构数据库间,实现检索自由,资源共享。异构数据库立足于某一个数据库的模式,建立所有参与的数据库的模式。

2 分布式异构数据库中间件的技术探讨

2.1 分布式异构数据的主要技术

面对目前大数据时代对数据资源进行整合的要求,分布式异构数据库技术得到广泛推广和应用,很多新技术应运而出,帮助提升分布式异构数据库的性能。这里介绍两种:一种是中间技术,负责服务对象与应用程序之间的连接;另一种是数据查询处理技术,负责信息资源的查询和处理。下文关注的是中间件技术。

(1)中间件(Middleware):计算机服务器端与应用程序之间的连接平台和应用软件。数据库中间件用于不同数据源之间的数据流通,介于数据库和应用程序之间。中间件使不同操作系统,不同数据库结构的数据库可以互相检索,目前在WEB已经得到广泛应用。当前WEB中主要运用的中间技术有:微软提供的COM/DCOM、Sun公司提供的JAVA/EJB和OMG公司提供的CORBA,本文探讨的就是CORBA中间件技术。

(2)数据查询处理技术。数据查询处理技术是指Server启动后,接收到用户请求,客户端通过提供的对象方法,调用对象并返回结果。在分布式数据库中,由于网络异步传输需要消耗运算能力,而且,分布式数据库中的数据是存放在分散的各个节点中,导致查询工作很复杂,所以,在实际使用中,需要进行数据查询处理来优化数据查询速度,降低数据在网络中的传输成本。数据查询处理的优化主要在两个方面:数据处理时间的优化以及数据传输次数和数量的优化。每种优化都要基于具体的算法来实现。

2.2 CORBA中间件技术

CORBA是目前分布式异构数据库技术中使用比较广泛的一种程序体系结构。它的标准分为三个层次:对象请求代表、公共对象服务和公共设施。

对象请求代理(ORB)。它构建客户与服务器之间的关系,是整个技术的核心。客户通过服务器访问网络,ORB获取用户请求,找到定义的实现请求的对象,调用对象方法最后返回结果。客户不必知道服务对象的位置,也不必了解服务对象的语言、操作系统、接口等。ORB内核包括:动态调用接口、IDL Stub、ORB接口、静态IDL Skeleton、动态框架接口和对象配适器。其中,客户程序向下调用动态调用接口、IDL Stub、ORB接口。对象实现向下调用ORB接口和对象配适器,向上调用静态IDL Skeleton、动态框架接口和对象配适器。

公共服务对象。CORBA在对象请求代理(ORB)之上定义了很多分布式应用中必需的对象服务,如位置服务、命名服务、事务(交易)服务、安全服务等。以后还会提供更多地涉及分布式应用关键技术的对象服务。

公共设施。由IDL定义的应用框架,是一种服务和协议。可直接被业务对象使用,并规范业务对象的协作,如:用户界面、系统管理等。位于CORBA三层结构的最上层。

CORBA是集成的标准结构,内核稳定,对分布式的应用集成友好,处理方便快捷。在CORBA结构中,只有客户和服务两种角色。它提供了跨平台、跨语言、跨操作系统的操作标准,实现了多样化的服务,成为解决难题的标准化规范,该技术现已被广泛应用于分布式数据库系统应用中。CORBA体系图如图1所示。

图1 CORBA体系图

3 CORBA的应用分析——以高校数字图书馆数据库系统为例

目前大批高校图书馆管理系统都已使用分布式数据库,要实现高校间数字图书馆的资源共享,对于跨操作系统,跨操作语言的数据库管理系统,CORBA解决了高校数字图书管理系统数据库的分布存储、分布式查询、逻辑互联等问题,提高了系统响应速度。CORBA将不同的数字图书馆的信息资源与用户实现透明性。

CORBA是基于对象技术的分布式软件体系结构,它的核心是(ORB)对象请求代理。它与所用的操作系统和操作语言是无关的。但是CORBA的应用最常见的是在JAVA平台上实现。方法:创建JAVA对象,在CORBA ORB中展开。通过这种方法,可以将新的应用开发与以前的系统开发集成起来。用JAVA创建CORBA应用,先编写一个IDL接口定义文件,然后将该接口定义文件编译成语言编码,由此生成服务器连接框架与客户端存根;开发人员使用服务器连接框架编写和运行服务对象应用,使用客户端存根编写和运行客户对象调用。

在高校的数字图书管理系统中,WEB可以通过很多方法访问数据库,比如:通用网关接口、JDBC、ISAPI/NASPI和微软的ASP/ADO等。当一个应用程序发出应用请求,建立一个数据库管理系统的连接,通过分析运算驱动各个数据库的驱动程序,完成对各个数据库的查询操作。通过这些访问方法,用户可以使用一个统一的基于WEB的数据检索软件,从分布在网络各个节点的数字图书馆系统中检索出目标数据,这样就实现了数字图书馆的资源共享。

CORBA技术适用于所有需要开放信息平台的系统。常见的使用CORBA技术的系统有:城市轨道交通系统、数据采集系统、无线电系统、高校数字图书馆管理系统等。以下以高校数字图书馆管理系统为例分析CORBA技术如何应用在该系统上,帮助该系统实现数据共享。

高校数字图书馆系统是每一所高校目前在建或在完善的管理系统,高校的图书馆是巨大的精神财富,高校间图书馆实现数据共享有非常重要的意义。每所高校数字图书馆管理系统所用的操作平台、数据库平台都有所不同,是非常典型的分布式异构数据,基于CORBA可以搭建一个分布式异构数据库的信息检索模型。用户在服务终端发出一个搜索请求,该请求通过网络传递到服务器,服务器通过网络发出对象请求代理(ORB),ORB将服务请求传递给各数据库,并将检索结果返回给服务终端。

4 结语

本文简要探讨了分布式异构数据库的背景和作用,解析了分布式异构数据库的四层模型,讨论了分布式异构数据库实现的主要技术:中间件技术和数据查询处理技术。其中,中间件技术CORBA技术可以运行在任何一种操作系统平台上,尤其是JAVA平台,JAVA开发者利用CORBA的强健性可以写出功能十分强大的应用程序。CORBA是目前深受欢迎的主流的实现分布式异构数据库的中间件技术。

本文最后描述了一个实例。通过对高校数字图书馆管理系统中应用以CORBA为中间件技术的分布式异构数据库系统的实现,来展示CORBA技术在分布式异构数据库系统中的实现。通过该系统,帮助各高校数字图书馆管理系统实现独立管理的同时又资源集成,一举两得。

猜你喜欢
数据库系统中间件异构
ETC拓展应用场景下的多源异构交易系统
试论同课异构之“同”与“异”
Oracle数据库系统的性能优化研究
吴健:多元异构的数字敦煌
RFID中间件技术及其应用研究
基于Android 平台的OSGi 架构中间件的研究与应用
微细铣削工艺数据库系统设计与开发
江苏省ETC数据库系统改造升级方案探讨
异构醇醚在超浓缩洗衣液中的应用探索
云计算环境下中间件的负载均衡机制研究