《数据库的安全备份研究剖析》由会员分享,可在线阅读,更多相关《数据库的安全备份研究剖析(10页珍藏版)》请在金锄头文库上搜索。
1、数据库安全备份研究西安公路研究所2007年11月数据库备份的研究随着陕西高速公路联网收费,业务上由车型收费扩展为现在的计重收费,用于存放收费业务数据的数据库安全和备份问题也日益突出。在经过两年多的运行,越来越多的运营单位认识到,数据库稳定性问题是一个不容忽视的问题。比如这样的简单例子:对于服务器及数据库产生的故障,一般维护人员及管理人员,很多情况下,不能独立和快速的恢复,对正常生产造成影响。因此我们需要一个合理的数据备份方案。数据库是整个收费系统的核心,数据库的安全性应该更加受到重视。因此,制订合适的数据库安全备份策略,是维护数据库安全的规范,也是其指导方针,它即需要从技术上对数据进行备份,也
2、需要从管理上进行规范。数据安全中,安全策略主要是维护数据信息的完整性、保密性和可用性。因此,数据库的安全策略将主要围绕这三点进行,包括物理安全、访问控制、数据备份和应急响应等。这里,将以本省收费系统中采用的的SQL Server 数据库为例来说明制订其安全策略的思路。1 研究背景高速公路联网收费系统的建设减少了司机在路网内的停车缴费次数,提高了道路的通行能力,减少了由于停车造成的环境污染,提升了高速公路的经济效益和社会形象。陕西省高速公路联网收费开始于2004年5月,截至目前共有200多数据服务器,随着更多路段并网收费,收费数据作为整个收费系统的核心,就必须建立一套数据安全和可靠的解决方案。2
3、 研究目的本次通过对路网内数据服务器运行状况分析,通过对陕西省高速公路联网收费系统的数据生成、数据存储、数据统计方法的研究,尽可能提高原始收费数据的安全性、完整性、保密性。为以后开通路段并网收费提供一套可靠的数据安全策略。3 全省数据库安全现状3.1 数据库概况陕西省高速公路联网收费系统分站级收费系统、所级管理系统、分中心级管理系统、省联网中心拆帐及划拨系统,共四级系统构成。每个系统都有自己独立的数据服务器,用于存储各自采集的收费业务基础数据,为统计分析提供依据。1、站级服务器主要存储从收费车道采集的收费流水数据及本站内通行卡的卡库、本站内卡盒信息、卡盒的调拨,卡盒的组合,人员信息,班次信息等
4、。2、所级服务器主要存储从所辖各站服务器采集的收费流水数据及本所通行卡的卡库、本所内卡盒信息、卡盒的调拨,卡盒的组合,人员信息,班次信息、收费员下班录入的实际缴款数据等。3、分中心级服务器主要存储从所辖各站服务器采集的收费流水数据及本分中心通行卡的卡库、本分中心卡盒信息、卡盒的调拨,卡盒的组合,人员信息,班次信息等。4、联网中心服务器主要存储从所辖各站服务器采集的收费流水数据、拆帐数据,划拨数据、人员信息,班次信息等。从以上我们可以看出只有收费数据是通过网络传输达到了分级存储,五级备份,即收费数据在收费车道、站级服务器、所级服务器、分中心服务器、联网中心服务器内都有备份。而通行卡及卡盒,人员,
5、班次等信息没有备份。这样当数据服务器出现故障后,恢复时就有一定的困难,需要专业技术人员才能对该服务器数据进行恢复。不利于数据的快速恢复。3.2 基础数据的内容陕西省高速公路联网收费系统的业务数据主要分以下几种:1、收费数据:当车辆通过收费车道时产生的收费流水数据,其内容包括收费员的操作信息,车辆的行使信息及重量信息,收费信息等。2、通行卡及卡盒数据:系统开通运行时通过通行卡装盒入库产生的通行卡数据,卡盒数据。系统运行过程中的通行卡组合数据,收费车道的通行卡回收数据、发卡车道的发卡数据、收费员上班时的卡盒领用数据、收费员下班后的卡盒上缴数据、卡盒及通行卡的调拨数据等。3、通行费实际缴款数据:收费
6、员下班后录入的实际缴款信息。4、人员数据:即各级收费管理单位在管理计算机上录入的人员编制信息,班组信息,身份卡信息。5、班次数据:即各级收费管理单位在管理计算机上录入的上下班时间信息。4 数据安全分析4.1 车道数据分析收费数据由收费车道生成,并存储与每个车道计算机的F磁盘上,以二进制文件的格式进行存储。由于收费车道的工作环境相对恶劣,夏天温度高,机柜内温度最高能达到40度以上,并且灰尘和汽车油烟容易在机柜内沉积,严重影响了车道用于存储数据的硬盘寿命。往往硬盘的损坏,造成整个车道数据的丢失。所以作为收费数据存储的第一级备份就显得非常的不可靠。4.2 站级数据分析站级服务器使用Windows 2
7、000 Server版操作系统,SQL Server 2000 标准版数据库服务系统。 接收并存储车道传来的收费数据,和站级管理计算机传来的管理数据。由于采用了专业服务器,所以在可靠性和安全性上都能得到有效的保障。所以是整个收费系统的核心。因此陕西省高速公路联网收费系统在设计上将整个站级数据的安全建立在站级服务器的稳定运行上,从而从基本上保证了系统的稳定运行。站级服务器上有整个收费站的完整数据。但是由于没有完整数据的异地备份,当站级服务器存储出现故障时,尤其是硬件故障,除了采用5级 数据存储的收费流水数据外,其他数据均需通过人工存档手工进行恢复。通行卡信息将需要通过重新装合入库来恢复,这个过程
8、将大大影响了站级服务器的快速恢复。4.3 管理所、分中心数据的分析管理所、分中心服务器使用Windows 2000 Server版操作系统,SQL Server 2000 标准版数据库服务系统。存储从管辖站采集的收费流水数据,及录入的管理数据。由于采用了专业服务器,并且有良好的机房环境,所以在可靠性和安全性上也较站级服务器要高。在实际运行过程中这一级的数据安全故障要比站级要少很多。同时根据实际使用人员的经验,通行卡库存及卡盒管理都放在站级,这一级通行卡不留库存,系统只需要原始收费流水数据完整即可以正常运行。所以当数据服务器出现故障时,不需要对通行卡数据进行恢复,只需通过采集程序重新对收费流水数
9、据进行采集,即可完成对服务器故障进行快速恢复。 4.4 分析总结综上分析,车道数据由于其不是完整的站级数据,所以不需要对其进行专门的备份。站级服务器数据由于其处于整个收费工作的最前端,其故障直接影响收费工作的正常进行,所以需要一个完善的备份方案。管理所、分中心服务器数据,由于其作业中没有人工输入数据,所以只需采用普通的人工定时备份既可。 5 解决方案研究 为了保证当服务器硬件故障修复后,备份数据不经过改动或只要经过微小的改变就能简单快捷的对故障排除后的服务器进行数据恢复,这就需要选择利用实时同步方法进行备份的方案。通常备份方案应首选系统自带的备份方案。如果系统自带的备份方案不能满足要求时,需要
10、通过软件开发的方法实现。或者选择第三方软件系统进行备份。由于第三方备份软件通常很价位很高,对于收费单位需要投入高的代价,所以下面只对前两种方法分别进行研究。5.1 使用MS SQL2000的进行备份 sql 2000 数据库同步有三种方式,分别是快照复制,合并复制和事务复制。经过分析比较后,排除前两种方案,选择事务复制的同步方式,并以数据库自带的Nothwind 数据库为例,给出了配置过程和初步试验结果。数据的同步中主要考虑的三部分,可以理解成三台主机。发布服务器,分发服务器和订阅服务器;可以从字面的意思理解,要实现的功能实际就是让订阅服务器通过分发服务器保持数据及时地和发布服务器上的数据一致
11、。1、关于快照复制对于复制不经常更改的数据,或不要求保持数据最新值(低滞后时间)的情况,快照数据是一种最好的数据复制方法。发生同步时,生成完整的快照并发送到订阅服务器。由于快照复制大容量复制发布(项目集合)的完整复本,它将全部发布内容写入快照文件夹。其中的项目是指定要复制的数据表、数据分区或数据库对象。项目可以是完整的表、某几列(使用垂直筛选)、某几行(使用水平筛选)、存储过程或视图定义、存储过程的执行、视图、索引视图或用户定义函数。快照复制不能保持数据的最快实时更新,且其大容量复制发布(项目集合)的完整复本的机制会产生大量的网络通信量。只适用用复制小容量的,数据主要是静态的且不需要保持实时更
12、新的数据库。所以不采用快照复制这种同步方式。2、合并复制合并复制使各站点得以自主工作(联机或脱机),并且过一段时间后将多个站点上的数据修改合并为一个统一的结果。合并复制适用于下列情况:多个订阅服务器需要在不同时刻更新数据并将这些更改传播到发布服务器和其它订阅服务器。订阅服务器需要接收数据、脱机更改数据、然后将更改同步到发布服务器和其它订阅服务器。由此分析,不符合实际情况,不采用合并复制的同步方式。3、事务复制将数据的初始快照传播到订阅服务器,然后,当发布服务器上发生数据修改时,捕获个别的事务并传播到订阅服务器。SQL Server 2000 监视 INSERT、UPDATE 和 DELETE
13、语句,以及对存储过程执行和索引视图的更改。SQL Server 2000 存储影响已复制的对象的事务,然后连续或按一定的调度间隔将这些更改传播到订阅服务器。保留事务边界。例如,如果在事务中更新 100 行,则带有所有 100 个数据修改的整个事务将被接受和传播到订阅服务器。当所有改动传播完毕后,全部订阅服务器的值将与发布服务器的值相同。 事务复制提供的选项使您得以筛选已发布数据、允许订阅服务器中的用户修改复制的数据并将这些更改传播到发布服务器或其它订阅服务器,并允许在发布时转换数据。 由以上分析,事务复制是一种增量复制的同步方式,产生的网路通信数据量较小,可保持两个数据库的实时同步,由于此方式
14、接近现实的收费系统的应用。对事务复制的同步方式进行了实验。通过以上实验证明,利用SQL2000 Server的事务复制机制可以实现当原始数据表发生改变时,将这种改变反映到备份服务器上。于是按照以上方法针对陕西省高速联网收费系统进行测试。经过测试发现以下问题:以事务发布和订阅方式进行同步备份,只能对已存在的数据表起作用,对数据库里新加的数据表将不进行发布和订阅。而陕西省高速联网收费系统大量采用了软件动态创建数据表的方法,造成原始服务器新建的收费数据表无法同步备份到备份数据库上。以事务发布和订阅方式进行同步备份,SQL 2000系统将自动对要同步的数据表添加新的数据字段msrepl_tran_ve
15、rsion,发布软件根据该字段的内容是否改变来判断是否该条数据需要发布。这样由于修改了原始数据表的结构,直接导致现运行的车道和管理机软件无法正常工作。由于以上测试结果,证明此方案不适合作为陕西省联网收费系统的备份方法。5.2 使用专门开发的备份软件进行备份经过以上测试,通过系统自带的订阅、发布方法在陕西省联网收费软件下同步备份时,不能达到要求,所以决定采用开发专用同步备份软件的方式,进行同步备份。由于采用自主开发方式,则在备份中具有很高的灵活性。更容易与现有收费系统进行无缝集成。对于自行开发该同步备份软件,必须符合以下要求:1) 为了保证同步备份软件能够随系统启动,并且不容易被误操作关闭,所以应采用windows服务方式开发。2) 同步备份软件是24小时不间断运行的软件,必须能够稳定运行。3) 为了在备份中最大程度的减少网络带宽,只需要备份收费系统生成的新数据表。备份软件应能自动对数据库里新添加的数据表进行筛选,并对符合条件的数据表进行同步备份。4) 目前收费系统使用专用的标志字段TransferMark,任何一种收费系统软件对该记录改变后,会同时对该字段进行清零,以通知其他软件该记录已经变更。因此使用此字段作为判别数据是否改变的标志位。