APP下载

分布式数据库中数据交换的实现

2019-03-19马东波

产业与科技论坛 2019年4期
关键词:中间件监听异构

□马东波

分布式数据库是信息时代下数据库技术与计算机网络技术的融合产物,现阶段发展下主要是为行业发展提供相应的互联网数据,实现数据的并行计算、分布策略以及数据分片等等,目前分布式数据库早已经脱离数仓领域的单纯应用,在大数据背景下,数据种类复杂多样,各种数据在互联网中海量共存,数据管理以及分析成为社会发展的重要课题,也是现阶段行业发展中各公司竞争力的重要战线,由于数据量庞大以及种类多样,这就需要数据库能够实现实时交互,发掘数据中隐藏的商业价值。分布式数据库的数据交换实现,实际上就是对数据的实施交互性要求,无论是对集团性企业还是行业企业竞争而言,由于各部门以及运营方向不同,分层式数据库系统以及数据信息也是不同的,所以需要在网络中实现数据的处理以及交换,从而挖掘数据中潜在的商业价值以及决策信息。

一、分布式数据库连接

ORACLE对分布式数据库环境的要求不大,既能够在同构也能够在异构分布式数据库环境中实现,能够支持应用程序于本地数据库连接之后,同时实现对远程数据库以及本地数据库的访问,这样就能够将本地数据库与远程数据库看成是异构分布式数据库环境,可以通过DBLINK实现本地数据库与远程数据之间的连接,之后就可以实现应用程序在远程数据库中对表数据的透明访问,就省略了本地数据库与远程数据库的物理连接环节。统一分布式数据库就是所有数据库为ORACLE,而异构分布式数据库则是所有数据库中存在非ORACLE数据库,无论是哪一种分布式数据库环境都能够实现数据库之间的访问,同构分布式数据里直接利用DBLINK,而异构分层式数据库则是通过透明网关组件对非ORACLE数据库访问,实现非ORACLE数据库与ORACLE数据库之间的连接,ORACLE到非ORACLE数据库通过DBLINK连接透明网关组件,这样一来就能够实现多个数据库之间的透明访问。若是基于元数据的数据库构建,通过数据交换系统的设计,通过对多个DSS的整合,通过统一的数据交换服务器,将多个分布式元数据服务器中的元数据形成统一的元数据库,这样一来在查询的时候就能够在多个元数据库实现数据的交换,通过DSE服务器之间的数据查询,客户导向数据服务器访问和数据下载。

二、分层式数据库间的数据交换

(一)数据交换技术的方法。分层式数据库的数据交换方法一共有两种,一是中间件方法,通过在两个数据库之间构建一个中间数据库,然后在中间数据库中通过结合字段的含义以及对应关系,使得中间数据库能够与其他数据库之间通过设定的中间件实现两个数据库之间的数据信息交换,不过目前中间媒介较少,所以需要花费更多的中间环节构建,不仅费时费力,还难以实现数据库之间的数据转换;二是件双向中间件,通过中间件与两个数据库之间连接,双向中间件的构建虽然费用很高,但是能够实现数据库之间数据的完全转换,双向中间件的构建是利用中间数据库数据传递的双向性,实现数据库之间的数据流通交换。

(二)数据交换技术的拓展。无论是异构分层式数据库之间的数据交换,还是同构分层式数据库之间的数据交换,都需要DBLINK实现数据库之间的连接,不同数据库之间虽然连接方式不一样,但是DBLINK与透明网关组件都能够在分层式数据库之间实现数据连接,XML可以作为中间件进行数据库数据传递。XML是基于SGML元语言的简单组件,具有良好的自我描述性以及网络快速传递等优势,所以能够实现跨平台,能够在非结构化数据以及半结构化数据进行数据交换,实现各数据库之间的基础交换,所以XML现在是数据交换技术基础。XML能够通过设定的语言实现各个特定领域的数据交换运用,在不同领域中采用的XML形式也不一样,例如在无线通讯领域中采用的是WML,另外XML存在文件格式,所以也能够以文本形式进行数据结构描述,所以能够在各个平台及数据库之间跨界交换,主要是基于元数据以及元素标记,标记能够在数据交换过程中保持数据的原本结构以及含义,从而使得各个数据库之间的数据在交换过程中能够实现准确性以灵活性的获取。XML数据转换虽然没有办法完全替代传统数据转换技术,但是在新时期的分层式数据库数据交换过程中能够对各种数据类型进行提取转换,保留数据原形式,再通过中间件实现XML数据模型与各数据库之间的数据转换。

三、分层式数据库数据交换的具体过程

分层式数据库之间的数据交换一共分为以下三个过程,一是利用监听组件例如socket,在网络服务的断口对客户端的实时要求进行监听,经过确认之后,建立两个数据库之间的连接,再者就是客户端的请求利用网络服务器将数据查询结果转变为XML形式后再通过socket转发到客户端上,从而实现客户端对数据库之间数据交换信息的获取;二是开放服务器端口,实现监听功能以及信息的XML转化,监听功能主要实现LocalPort、Bindssckserver、Sckserver与本地客户端的绑定,设定请求触发,针对客户端的连接请求触发相应的代码,进行数据库的数据查询工作,查询结果转换后需要利用MSXML进行解析,才能够将数据进行还原,这就需要构建一个“XMLDOC”,将结果记录在文档中,这样就能够在客户端发出请求之后,从“XMLDOC”存放的XML中直接将实例转发给客户端;三是开发客户端,通过对客户端的开发,与服务器进行连接,宏观上采用DBLINK与透明网关,具体则是利用Winsock进行服务器连接,与监听组件实现实时监控,再者通过代码设定将相应的程序通过请求转变为SQL言语,从而通过监听组件发送查询请求,在接收查询结果的时候利用服务端转化请求数据,将XML文本格式通过“DATAARRIVAL”事件,实现客户端对查询信息回馈的数据处理。

四、结语

总而言之,要实现分布式数据库的数据交换,根据不同的网络环境以及数据库类型,可以选择DBLINK或是透明网关实现数据库之间的连接访问,然后再通过客户端实现数据的XML转化,通过监听组件以及数据转化实现数据的交换。

猜你喜欢

中间件监听异构
试论同课异构之“同”与“异”
英国风真无线监听耳机新贵 Cambridge Audio(剑桥)Melomania Touch
千元监听风格Hi-Fi箱新选择 Summer audio A-401
RFID中间件技术及其应用研究
基于Android 平台的OSGi 架构中间件的研究与应用
网络监听的防范措施
异构醇醚在超浓缩洗衣液中的应用探索
overlay SDN实现异构兼容的关键技术
LTE异构网技术与组网研究
应召反潜时无人机监听航路的规划