分布式网络中数据库中间件技术研究
2016-07-10吕晓东
吕晓东
分布式网络中数据库中间件将其与平台的一些细节进行封装,使得应用程序开发不必过多的考虑数据库底层的一些细节,而且对底层配置进行更改时,可不修改应用程序代码,提高程序编写效率与质量。因此,加强分布式网络中数据库中间件技术的研究具有重要意义。本文对数据库中间件及数据分布方法进行探讨,并以JDBC中间件技术为例进行探讨,以供参考。
【关键词】分布式网络 数据库 中间件技术 研究
中间件应用于软件开发中不仅有助于提高软件的可移植性,而且进一步提高操作系统适应分布式网络性能。中间件包括事务处理中间件、面向消息中间件、数据库中间件等多种类型,其中数据库中间件可从结构不同的数据库中读取数据,使得异构平台的数据库访问问题得以顺利解决。
1 数据库中间件
近年来我国软件产业发展迅速,数据库中间件技术因此得到广泛应用。目前来看,数据库中间件主要包括JDBC、EJB、CORBA等,其中JDBC由Java语言编写,可实现对不同结构数据库的访问。JDBC包括JDBCQ驱动应用程序编程接口、应用程序编程接口两层,后者对Java中的接口与类进行定义,允许使用小应用程序实现数据库的连接,而且可实现公用与本地数据库的同时连接。EJB可实现事务处理、数据存储、生命周期等业务逻辑,在具有处理事务能力的同时,为程序的进一步扩展与开发提供较大便利。CORBA适合应用在分布式网络中,支持软件、硬件间互操作。由于其由标准的接口、语言、协议构成,使用期间可不受平台限制,使得其具备互操作、易移植、可重用优点。
2 数据分布方法
数据库中间件可无差别的访问分布式网络中的异构数据库,而这一功能的实现建立在对数据分布式存储深入了解的基础上。分析传统分布方法可知,其包括同步复制技术、分段技术以及单表子系统技术,其中同步复制技术在分布式系统中具有较高应用率,通过互相复制服务器数据,实现系统稳定性的提高。该技术虽然使得查询速度、系统性能得到明显提高,但会导致更新速度的变慢,增加时间成本。分段技术在参考分页大小的基础上进行查询,使得数据处理速度以及传输数据能力明显提高。单表子系统技术使得不同子系统可存储多个单表,但当数据规模比较大时,记录数增长迅速,降低数据库运行效率的同时,使得维护数据库的成本增加。
3 JDBC中间件技术
3.1 JDBC接口技术
JDBC将访问数据库接口进行统一,应用者可忽略数据库底层间的不同而直接用于不同类数据库的访问。访问行为的实现需JDBC驱动程序支撑,不过使用者不用考虑驱动程序的具体实现细节。正是因为JDBC具备上述优点,使得其在数据库程序开发中应用广泛。
3.2 JDBC体系结构
JDBC体系主要由Database层、JDBC Driver Manager、应用程序编程接口、Java Application层构成,不同层有着自身的职责,彼此之间相互协作。其中Database层由数据库系统、数据库信息构成,在不经驱动程序对请求进行转化钱,其无法理解应用程序发送的有关数据处理请求。JDBC Driver Manager层负责驱动程序的管理,即,依据不同类型的数据库,确定对应的驱动程序。在此基础上应用程序编程接口便可操作数据库中的数据。Java Application层职责在于响应接口和用户操作的响应,并实现对JDBC的调用。
3.3 JDBC驱动程序
依据使用方法、特性及访问方式可将JDBC驱动程序分为四种类型,即,纯Java JDBC驱动程序、网络协议驱动程序、部分Java本地JDBC应用程序接口、JDBC-ODBC桥驱动程序。其中纯Java JDBC驱动程序之中存在访问不同数据路的协议,在这些协议支持下,客户端可直接连接数据路,完成一些操作。网络协议驱动程序工作时需要借助其他中间件,实现对数据库信息的读取操作。该驱动程序实际工作时,中间件接收数据路访问请求,转化成被数据路识别的指令,而后数据库才会响应相关的查询操作,并依据原路将结果返回。部分Java本地JDBC应用程序接口由部分Java程序与部分本地代码构成。实际应用时为能实现对不同数据库的访问,需要将对应的代码库加载进去,并采用对应的统一资源定位符,给驱动程序命名不同的名称。当为Oracle数据库时,其主要代码为:
Class.forName(“oracle.jdbc.driver.oracleDriver”);
Connection
con=DriverManager.getConnection(“jdbc:oracle.thin:@localhost:1521:Student”,“scott”,“tiger”);
JDBC-ODBC桥驱动程序由ODBC驱动程序、JDBC-ODBC桥组成,借助与ODBC的连接,实现与数据路的连接。
3.4 JDBC连接池
数据库实际应用过程中会遇到大量访问的情况,如想提高大量访问情况下的访问效率,需要配置连接池,以指向不同类型的数据库。JDBC连接池对数据库的基本信息进行了定义,涉及数据超时、连接数量等参数。
连接池由数据库操作、连接池以及线程池构成,其中数据库操作的功能为执行不同查询语句、实现查询结果的返回,并对查询发生的异常进行处理。连接池的作用在于管理、建立以及释放连接。连接池中一般会存储之前已建立完成的连接,当查询操作经由线程池调度进行连接时,连接池会提供一个连接,用于完成数据库的连接。当查询操作完成后,将连接重新放回连接池即可。线程池的作用在于确保线程资源的合理应用,并统一进行线程调度,用于响应不同查询请求,并确保线程分配的合理性。
4 总结
分布式网络中数据库中间件技术的应用,降低程序开发难度,提高程序开发效率,尤其增强了软件的可扩展性与可移植性,因此,加强在数据库中间件方面的研究,对提高软件开发水平具有重要意义,应引起足够的重视。
参考文献
[1]田淼.分布式异构数据库同步中间件的设计与实现[D].西安电子科技大学,2012.
[2]乔洪宇.分布式数据库中间件驱动模块的设计与实现[D].哈尔滨工业大学,2014.
[3]苏文伟.分布式网络中数据库中间件技术探讨[J].电子技术与软件工程,2016,02:196.
作者单位
大庆油田井下作业分公司信息中心数据库室 黑龙江大庆市 163000