redis实现分布式锁 分布式异构数据库在院校的同步应用实现



     随着信息化和网络技术的发展,越来越多的企业和研究机构涉及到各个信息系统之间数据共享的问题,但是由于各个系统在建设之初,采用了不同的数据模型和数据库系统,为了保证共享数据的一致性,实现分布式异构数据库之间的数据同步问题是现在急需解决的问题。目前,国内众多院校的设备都是以学院为单位,设备的流动局限于学院内部,在数据结构方面也存在很大的异构性,使得协调各数据库之间的数据共享与通讯成为了实现信息综合处理的一个难点。

  一、分布式异构数据库的内容

  分布式数据库是计算机网络中许多结点上数据库的逻辑集合,具有分布性、一致性的特点。分布性是指数据库处于不同的计算机网络结点,一致性是指分离、不同的数据库存储在逻辑上是一致的。同步更新技术通过分布式数据库中的数据库站点之间的数据更新的同步,从而达到使数据分布存放的目的,实现数据库的分布式处理。在分布式环境下存在两种数据同步方式:完全同步法和差异同步法。完全同步法方案在中源数据库的所有数据全部传输到目的数据库,由目的数据库根据传输的数据和同步逻辑进行数据更新。虽然这种方法逻辑性相对简单,但如果待处理的数据量大,就会给网络带来巨大的传输量,相比较之下,差异同步法就可以很好的解决这一问题,增量同步法只需把变更后的数据从源数据库端传输至目的数据库,这样就大大节约了数据传输量,提高了数据的同步效率。

  分布式异构数据库是指分布在不同地理位置上的异构数据库资源。此处的异构含义较为广泛,可以是数据库管理系统的异构,可以是操作系统的异构,也可以是数据库内部表结构的异构。考虑到生产实际中的情况复杂而多变,所以异构数据库具有更加普遍的应用。目前,实现异构数据库的方法主要有以下几种:

  运用数据库生产厂商提供的数据库同步功能。目前数据库生产厂商通常在数据库管理软件中嵌入成熟的数据同步工具,优点是对于实现同种类型的数据库同步操作简单、可靠性高,缺点在于不同类型的数据库要实现同步就相对困难,并且不支持数据双向同步。

  构建统一逻辑的方法。通过使用XML或者一些成熟的应用程序框架,在整个问题域中构建统一的逻辑实现异构数据库的同步方法。

  运用中心数据库。通过中心数据库实现每个分布数据库之间的数据同步,但是需要完成每一个分布数据库与中心数据库的逻辑同步,难度较大。

  二、分布式异构数据库数据同步系统的关键技术

  分布式异构数据库要求不同院系的数据库在满足各院系内部使用的情况下,还要使各院系之间的数据库在逻辑上形成统一的整体。这就需要分析各个院系之间不同的数据库结构,以此为依据来找到可以实现对接的关键字,进一步建立数据主键,完成各院系数据库之间的内部联系,使它们在逻辑上形成一个相互联系的整体。其系统框架如下图1所示:

  数据复制技术。在对系统进行设计的过程中,更多地要注重异构数据库之间关系的设计,首先要解决的问题就是系统数据复制的问题,解决的技术有同步复制技术和快照技术。系统的同步复制采用两阶段提交协议实现,用于在分布式数据库系统中自动控制和监视数据的提交或回滚动作,保证各院系的数据节点的正确性、完整性和自治性,它对任一复制结点上的数据更新和传播是作为一个事件来进行的。在进行数据同步复制过程中,事件的执行被划分为两个阶段:第一阶段是准备工作阶段,各结点要做好对事情处理的一切准备工作并作应答;第二阶段是提交事件阶段,各结点上的事件全部完成。完成后事件才会在各个复制节点上被保留,否则整个事件会出现回滚现象,所有节点上所做的更新都会被取消,所以采用同步复制技术能够保证复制环境中不出现数据冲突。

  数据查询技术。在分布式系统的设计过程中,另一个重要的技术就是查询技术。分布式数据库的查询操作包括:局部查询、远程查询和全局查询。其中重点是远程查询和全局查询技术。

  其一,远程查询涉及远程单个院系的设备数据库,所以针对它的局部处理技术和优化技术与本地的查询相同。但是,不同的是它涉及对远程站点的选择问题,在设计过程中应该尽量选择离查询发起地近的站点,这样可以节省系统查询对网络的开销,加快查询的速度。

  其二,全局查询涉及其它站点或多个站点上的数据,因此查询处理和优化技术复杂得多,为了执行全局查询并确定一个好的查询策略,需要做许多判断和计算工作,总体上大致是全局查询技术是对远程多个院系的设备管理数据库进行查询操作,所以查询处理和优化技术都比前者要复杂很多。

  三、多种数据复制方法以及各种主流数据库的数据同步

  目前,分布式异构数据库在院校中的应用需求主要包括以下几个方面:数据高可靠性;信息传递的一致性;高系统性能;方便的数据集中管理;本地自治;异构数据源访问。

  传统的数据同步复制是由数据库引擎本身实现,当源表发生变化时,由数据库引擎引发同步事件,把源表中变化的数据复制到目标数据库的指定表中,此种复制一般为同构数据库之间或单表对单表间使用。文章中提到的“复制”是指在不同数据库结构或不同数据库类型之间共享更改信息的过程。复制类型可以分为两类:①主动式复制是指本地数据库主动到远程数据库进行取数复制。②被动式复制是指本地数据库自身不做复制动作,它的数据同步是通过远程数据库的复制动作完成的。

  以江苏省水利局数据库进行同步复制为例,复制软件主要依据预设配置参数连接远程市水利局数据库,并读取遥测数据,再根据省水文遥测数据库结构分表入省水文遥测数据库。软件的数据流程入下图所示:

  其中遥测数据参数的形式有两种:单表对单表,多数据库多表对单表。

  单表对单表结构。此种形式指远程数据库与目的数据库只是单表与单表间进行数据转贮,不存在跨表。其配置参数的定义形式为:【远程基表名】,【原始站码】,【原始字段名】,…,【原始字段名】,to,【目标基表名】,【目标站码】,【目标字段名】,…,【目标字段名】,【时间标签】。

  多数据库多表对单表结构。此种形式下远程数据库存在一个或多个,是多表与单表间进行数据转贮,存在跨平台、跨数据库、跨表等操作。其配置参数的定义形式为:From,【远程字段标识1】,【远程字段标识2】,…,【远程字段标识n】,to,【目标库基表名】,【目标站码】,【目标字段名1】,【目标字段名2】,…,【目标字段名n】,【时间标签】。其中远程字段标识与目标字段名要按次序一一对应。

  基于此种方式的数据复制技术使用方便,参数定义简单,具有DBMS无关性、完全异构、可靠性以及通用性等特点,保证了数据的鲁棒性(控制系统在一定(结构,大小)的参数摄动下,维持某些性能的特性)。目前的许多复制方案,特别是数据库产商提供的数据复制方案,都依赖于与产商自己的DBMS核心关系紧密的实现技术,而此种数据复制技术采用VB技术开发,使用ODBC接口连接各种数据库,由于ODBC标准早已为众多用户所使用,各大数据库厂商都制作了符合ODBC标准的驱动,这样利用这些接口,就不用考虑太多底层的DBMS的特性,可以透明地操作各种DBMS,所以可以做到DBMS无关。完全异构意味着复制能够在所有数据库至少是所有与RDB(关系数据库,Relational Database)兼容的数据库之间进行。此种数据复制技术通过ODBC连接各种数据库,只要能找到合适的ODBC数据源驱动,就可以做到所有数据库之间的复制。

 redis实现分布式锁 分布式异构数据库在院校的同步应用实现
  复制时,我们的复制软件通过把更改信息从一个数据库拷贝到另一个数据库来更新本地数据库的数据信息。最终,复制软件使所有数据库保持一致,或者根据需要保持部分数据一致。在两台服务器之间或者在服务器和工作站之间进行数据复制,所有复制都按预先设置进行,以使所有数据库数据保持同步或使数据库部分数据保持同步。复制冲突和保存冲突在复制时,如果有多个用户对相同文档的不同复本进行了编辑,就会导致复制冲突。而保存冲突则是在多个用户同时编辑服务器上同一个数据库的同一个文档时发生,数据库之间预先复制到缓存,再对缓存数据进行复制,以避免复制冲突的发生。在对数据进行本地保存时,应对保存入库的每一条数据记录进行记帐式保存,这样可以解决保存冲突。

  综上所述,在高校教育中实现分布式异构数据库的信息检索系统,对于目前各高校的数字图书馆系统的集成来说是具备其优势的。相信在不久的将来,高校数字图书馆体系实现集成的范围会更加广泛,它将为用户提供一个庞大的教育资源网格。

  

爱华网本文地址 » http://www.413yy.cn/a/9101032201/38256.html

更多阅读

详细解构《少年派的奇幻漂流》的谜题 少年派的奇幻漂流

详细解构《少年派的奇幻漂流》的谜题原创:于宗琦《少年派的奇幻漂流》海报近几年看过几部经典的电影,但思辨性如此之强、能够触及心灵深处、画面壮美绚丽,又能举重若轻,将生存和信仰的大命题以如此玄妙的叙事手法娓娓讲述的,就只有这

sql2005中数据库出现suspect的解决办法转 数据库suspect

如果对Sql Server 2005数据库进行些不正常操作如数据库在读写时而无故停止数据库,从而导致Sql Server2005数据库不正常中断,当再次打开数据库时会发现某些数据库会被标记为“可疑”(suspect),即在数据库名旁加上了黄色的惊叹号,这时数据

声明:《redis实现分布式锁 分布式异构数据库在院校的同步应用实现》为网友撒渔网旅人分享!如侵犯到您的合法权益请联系我们删除