数据库复制技术在C2检测系统联网中的应用
要:在原有烟支在线检测的系统中,运用微软sql server 2005中的数据库复制功能,建立一个数据库合并发布订阅系统。从而实现所有的客户端之间可以共享配置信息,客户端的检测数据可以实时传送到服务器上。且当客户端在失去与服务器的连接时,仍能正常工作,所有的配置信息和检测数据将在网络恢复后与服务器同步。该技术的运用极大简化了设备操作,提高了检测数据的使用效率。
关键词:数据库复制 检测系统 发布订阅
中图分类号:tp277    文献标识码:a    文章编号:1674-098x201305b-0031-02
随着烟草行业大规模工业化时代的到来,卷烟生产过程对卷烟产品质量控制要求日趋严格,因此,很多企业大规模引进具有精度更高,现场适应更强的计量检测设备来适应这一要求,这样在使用过程中就会产生大量的过程检测数据,对于企业来说,就面临着数据同步备份的问题。
1 总体概况
杭州卷烟厂c2检测系统是由英国cerulean公司设计的第二代质量综合测试仪器c2组成的检测系统,主要用于卷烟重量、长度、圆周、吸阻、通风率的检测。目前,c2检测系统网络中共有16c2综合测试台(以下简称c2),平均分布于车间卷烟制造机旁,通过以太网将所有c2的检测数据上传至数据采集服务器,服务器端使用的是sql server 2005作为后台数据库,终端c2本地工控机上使用的是access作为本地后台数据库,这种联网方式对于大型检测系统的数据备份以及同步的实现造成了很大的影响。
2 数据库复制技术原理与分类
2.1 数据库复制技术原理
数据库复制是在数据库之间,对数据和数据库对象进行复制和分发,并且进行同步以确保其一致性的一种技术。使用数据库复制技术可以通过网络将数据分发到不同的位置,可以通过局域网、使用拨号连接、通过internet分发给远程或者移动用户。
sql server 2005中主要是采用发布、订阅的方式来处理数据库复制。源数据所在的服务器是发布服务器,负责发布数据。发布服务器把要发布的数据的所有改变情况的拷贝复制到分
发服务器。分发服务器包含一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器。一般情况下,发布服务器和分发服务器集中在同一服务器上。
2.2 数据库复制的分类
1)单向复制与双向复制
数据库复制根据订阅服务器是否更新可划分为单向复制和双向复制。
单向复制也称主从复制,数据库主从关系确定后就不能改变,只允许从主数据库复制数据到从数据库,更新数据的操作只能在主节点进行,从节点上的副本是只读的。
双向复制也称对等式复制,所有参与的数据库关系平等,即可看作是目标数据库,也可看作是源数据库,复制修改可在源数据库和目标数据两端进行,这时复制对象的所有副本都可读可写的,修改其中任何一个都会最终影响全部副本。
2)同步复制与异步复制
根据源数据库更改同步目标数据的传播时效性,可分为同步复制和异步复制。
同步复制方式要求修改过程和复制过程同时进行,即备份数据副本和源数据在任何时间都应保持一致。异步复制方式允许修改过程和复制过程异步进行,允许两者之间存在时间延迟。
3)事务性复制、合并复制和快照复制
sql server 2005在分布式应用程序中提供了三种复制类型:事务性、合并、快照。
事务性复制通常从发布数据库对象和数据的快照开始。创建了初始快照后,接着在发布服务器上所作的数据更改和架构修改,通常在修改发生是时几乎是实时传递给订阅服务器。数据更改将按照其在发布服务器上发生的顺序和事务边界,应用于订阅服务器。事务性复制属于同步复制。
快照复制将数据以特定时刻的瞬时状态分发,而不监视对数据的更新。发生同步时,将发生完整的快照,并将其发送到订阅服务器。因为该复制方式是一次复制整个数据集,所以将数据修改传播到订阅服务器的时间较长。在数据更改量很大时,但很少发生时,快照复制是最合适的。
合并复制通常也是从发布数据库对象和数据的快照开始,并且用触发器跟踪在发布服务器和订阅服务器上所做的后续数据更改和架构修改。订阅服务器在连接到网络时,将与发布服务器进行同步,以交换自上次同步,以发布服务器和订阅服务器之间发生更改的所有行。该复制属于异步复制,减少了对网络和硬件资源的消耗,对网络具有更强的适应性,更符合实际应用。
3 数据库复制技术在c2检测系统联网中的应用
3.1 复制拓扑设计思路生活中常见的数据库应用
c2检测系统实际使用过程中,存在以下障碍性问题。
1)工艺员增加牌号或更改仪器设置时,必须对每台c2进行操作。
当车间网络出现问题无法上传数据时,需要在c2终端重新设置,把数据保存方式改为保存到仪器本地,如不更改,c2将无法继续进行检测。
针对以上发现的问题,我们采用双向、合并复制方式。将发布和分发服务器集中在中央数据
采集服务器,将订阅服务器设置在c2终端本地工控机电脑上。c2是分布在车间的不同部位,由于数据库的对等性,只要在对任何一台订阅服务器上增加牌号或者更改仪器设置,网络系统将更改的数据传播到发布服务器和其他订阅服务器,这样就不需要对每台c2进行操作,提高了工作效率,并保证了数据的安全性。在日常使用过程中,某台c2将检测数据实时传送到中央数据采集服务器,并将检测数据同步传播到该台c2本地服务器中,这样就实现了检测数据自动备份在本地的功能,如果车间网络遇到突发问题,无需对c2终端进行设置,检测数据将自动保存在本地服务器中,这就解决了数据自动备份的问题。c2检测系统复制拓扑结构设计如图1所示:
3.2 数据库复制技术的实施
1)准备工作
①在中央数据采集服务器和终端c2本地工控机上都创建一个同名的windows用户,命名为liqunsql,并设置成相同的密码,作为发布数据库快照文件夹的有效访问用户。
②在中央数据采集服务器和终端c2本地工控机上安装sql server 2005 数据库软件,并在服务
器端建立c2检测系统所需的结果数据库c2_results和设置数据库c2_settings以及在两个数据库建立相关数据表。
③启动操作系统里管理工具的两个服务sql serversql browser
2)配置发布/分发服务器
①选择中央数据采集服务器充当自己的分发服务器,由sql server来创建分发数据库和日志。