用SQL实现分布式数据复制

zhangubl72

zhangubl72

2016-01-29 18:06

用SQL实现分布式数据复制,用SQL实现分布式数据复制
  复制的概念

  复制作为一个重要并且强大的技术,为分布式数据的存储和处理提供了有力支持。微软公司的SQL Server可以生成数
据的拷贝,并能把这些数据的拷贝分发到不同的地方,自动进行数据的同步,保持所有的数据拷贝具有相同的数据。SQL
Server采用一种称为“松散一致”的复制模式在两个数据库之间进行复制。这两个数据库既可以在同一台计算机上,也可
以在不同的计算机上,彼此通过局域网(LAN)、广域网(WAN)进行连接。

  我们公司在开发“西安市国家税务局内部网络信息系统”中,正是利用了SQL Server的复制功能,实现全西安市分布
的税收数据的复制同步。西安市国家税局包括市局机关和下属的18个基层征管分局,分布于西安市不同的地理位置,彼此通
过DDN专线或X.25专线连接,构成了西安国税局广域网。市局信息中心用Windows NT Server4.0 构建一个Windows NT的单
主域网络环境,下属每个分局有一台运行Windows NT Server 4.0或Windows NT Server 3.51的服务器,通过广域网加入到
单主域的环境中作为一台独立的服务器运行。各分局建有本分局的局域网,网络环境为Novell和Windows NT的混合网络环
境。

  全西安市所有的纳税人,均到指定的征管分局进行纳税登记、纳税申报。国税局用FoxPro开发了基于Novell网络环境
的税收征管软件,在各分局征收大厅由Novell的无盘工作站负责税收数据的录入,写入到Novell服务器上的数个DBF文件
中。由于税收征管数据分布在全市不同的征管分局,为全市范围纳税信息的检索和分析带来困难。

  新系统的开发,在原有基础上,编制专门的数据转换程序,把存储于Novell服务器上的DBF文件转换到本分局Windows
NT上的SQL Server数据库中。每个分局的SQL Server数据库与市局信息中心的SQL Server数据库进行复制,及时把最新的
税收数据传递到市局信息中心。这样在市局信息中心,就有了全市所有税收征管数据。信息中心建立Intranet Web站点,
用户的计算机只要连上各分局的局域网,或者通过Modem拨号到信息中心的RAS服务器,就可以用IE浏览器访问IIS服务器,
由IIS服务器向SQL Server服务器发出数据请求并把结果按HTML格式返回给用户浏览器。

  系统的设计采用客户浏览/服务器的多层结构方式,客户端采用标准的浏览器访问方式。用户在自己的计算机上安装IE
浏览器(WIN98、WINNT4.0中已内置IE4浏览器),输入Web 站点地址,就可以进入该系统。

  在中间层,由Internet Information Server完成大多数的用户业务规则的实现,例如对用户权限的限制、数据请求的
生成等。IIS会根据不同的用户所拥有的不同的权限,生成不同的页面。将来当业务规则发生变化时,只需要在Internet
Information Server上进行相应的更改,这种更改就会在系统的每一个用户下次访问系统时得到体现。

  在系统的最低层,由SQL Server大型关系数据库作为支撑。西安全市的税务数据是一个以GB为单位的大型数据库,纳
税数据表中的数据记录超过数百万条,在如此大量的数据中进行快速的数据检索和数据分析,一般的数据库软件是难以完
成的。SQL Server关系型数据库,较好地完成了用户提出的各种数据的检索要求,同时也正是利用了SQL Server的数据复
制技术,把近二十个分局的数据通过广域网复制到信息中心来,使用户能快速获取全市的纳税信息。

  该系统实现的一个重要部分就是各分局税收征管数据的复制。SQL Server的复制有以下几个特点:

  1.基于事务

  有复制标志的事务从源数据库的事务日志读出,并送到目的数据库。例如执行了一条Insert语句使源数据库的数据发
生变化,这条Insert语句会被写入到一个数据库中,我们称之为发布数据库(Distrbution)。在适当的时候,这条Insert
语句会送到复制的目的数据库并执行该Insert语句,以此保证两端的数据保持同步。

  2.以三种不同的方式使用服务器

  (1)出版(Publication):作为源数据服务器(在本系统中是各分局的SQL Server服务器),当标志复制的表
(Table)的数据发生变化时,产生该变化的事务被刻上复制标志,由日志阅读器(LogReader)把该事务送入分发数据库
(Distribution Database)。这些事务寄存在分发数据库中直到被传送到目的服务器。

  (2)分发(Distribution):包含有分发数据库。分发服务器接受出版服务器的更改事务,并保存到分发数据库中。在
适当的时候,把这些事务送入订阅服务器。缺省情况下,分发服务器与出版服务器为同一台计算机,当然也可以是不同的
计算机。

  (3)订阅(Subscription):接受出版服务器的出版数据。

  3.使用专用的SQL Server数据库作为复制数据的可靠队列

  SQL Server的复制采用“松散一致”复制模式,其特征是源数据与拷贝数据之间并不是在任何时刻都保持完全一致,
它们之间有一个延时。源数据库的变化,不是立刻反应到订阅数据库中,而是
展开更多 50%)
分享

猜你喜欢

用SQL实现分布式数据复制

ASP
用SQL实现分布式数据复制

Oracle分布式系统数据复制技术

编程语言 网络编程
Oracle分布式系统数据复制技术

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

用RMI实现基于Java的分布式计算

编程语言 网络编程
用RMI实现基于Java的分布式计算

分布式查询和分布式事务

SQLServer
分布式查询和分布式事务

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

使用Sql server进行分布式查询

SQLServer
使用Sql server进行分布式查询

利用C#实现分布式数据库查询

编程语言 网络编程
利用C#实现分布式数据库查询

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《合金装备5 幻痛》英雄值和恶魔值得分途径解析

《合金装备5 幻痛》英雄值和恶魔值得分途径解析

介绍一种效率极高的分类算法

介绍一种效率极高的分类算法
下拉加载更多内容 ↓