空管信息系统同构数据库间数据迁移方法的研究与实现

来源 :中国科技博览 | 被引量 : 0次 | 上传用户:zhuzhuzhuxi
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘 要]本文研究了某些信息系统需要在两个同构数据库之间进行数据迁移的情况下,能够较快捷、完整地完成数据迁移的一种通用的数据库脚本的设计方法。该方法综合考虑了两个数据库的一致性程度,以及主键、外键和触发器等影响因素,最后给出了该方法的实际运行效率。
  [关键词]同构 数据迁移
  中图分类号:TE381 文献标识码:A 文章编号:1009-914X(2017)34-0282-01
  一、研究背景
  不少单位内部使用的小型信息系统,由于单位自身的原因(组织架构、内部组网方式等),可能存在两台或多台服务器分别运行的情况。经过一段时间的运行之后,又可能产生需要将多台服务器上的数据合并到单一服务器上统一运行的需求。
  以空中交通管理部门为例,局机关内部可能会通过内部局域网组网,但在边远的导航台、雷达站等地,无法接入局机关内部局域网,当地只有互联网网络。因此该信息系统可能会设置两台服务器,一台部署在局机关内部网络运行,一台部署在互联网外网,供边远导航台、雷达站等台点使用。此种分开运行的方式持续几年后,边远导航台、雷达站可能通过通信链路改造接入了局机关内部网络,此时需要把外网服务器的数据迁移到内网服务器上,统一运行。
  二、影响数据迁移的因素
  以SQL Server数据库为例,要将外网数据库的数据迁移进入内网数据库,需要考虑的因素有(内网数据库设为数据库A,外网数据库设为数据库B):
  1.两个数据库的结构必须基本一致
  a)数据库A的表集合必须包含数据库B的表集合,即B中有的表A中一定要有,A中有的表B中不一定要有;
  b)对于数据库A和数据库B共有的某张表T,A中的表T的字段集合必须包含B中的表T的字段集合,即B中的表T有的字段在A中一定要有,A中的表T的字段B中不一定要有;
  c)對于A中的表T有、但B中的表T没有的字段,必须为null属性;
  d)对于A中的表T和B中的表T都有的字段,在A中的长度定义必须大于等于在B中的长度定义:例如A中某表的某字段定义为nvarchar(100),则B中该表该字段的定义必须为nvarchar(n<=100)。
  2.需要事先屏蔽可能引起数据冲突的因素
  a)主键相同的数据项不得重复插入。当将数据库B中的某条数据插入A中时,若该条数据的主键已存在于A中,则SQL Server会报错,从而终止事务执行。因此必须避免该种情况发生。
  b)需事先取消表与表间的外键约束。表与表之间可能存在外键约束[1],例如表C使用表D的主键Y作为外键F。但我们在遍历数据库B中的表插入数据库A的时候,无法事先知道表的先后顺序,有可能会先插入表C的数据、再插入表D的数据。再插入表C的某条数据时,这时候因为数据库A中的表D还没有该条数据的外键F的存在,这时候就无法插入,SQL Server会报错,从而终止事务执行。因此需事先取消表与表间的外键约束。
  c)需事先取消表中的触发器。触发器是指对表进行插入、更新、删除的时候会自动执行的特殊存储过程[2],在本文中主要指插入时的触发器。在将数据库B中的某条数据插入数据库A时,若不取消触发器,则触发器的执行结果可能会对数据库A产生某种影响Z;而该触发器同样存在于数据库B中,当初B中该条数据插入时同样会产生某种影响Z’,而Z’也会插入数据库A,势必可能会和Z发生冲突。因此需事先取消表中的触发器。
  三、数据迁移具体流程
  1.检查数据库结构的一致性
  使用数据库中的INFORMATION_SCHEMA.TABLES表,找出内网数据库和外网数据库的所有表名;再使用数据库中的INFORMATION_SCHEMA.COLUMNS表,找出每个表中的每个字段的字段名、数据类型、长度、是否为空等属性。对内网数据库和外网数据库的上述信息进行表,检查两个数据库的结构是否符合第二节中基本一致的定义。
  2.禁用强制外键约束
  从内网数据库的系统表SysObjects中找出所有“强制外键约束”,包括该约束的名称、所在的表名等信息,放入临时表[_MyForeignKey];然后遍历临时表,对于内网数据库的每一个“强制外键约束”,进行“NOCHECK CONSTRA INT”操作。
  3.禁用触发器
  直接遍历内网数据库中的每一个表,对该表执行“DISABLE TRIGGER all”操作,即可禁用该表上的所有触发器。
  4.获取外网数据库中所有表名及主键名
  从外网数据库的系统表SysObjects和SysColumns中獲取外网数据库的所有表名及主键名,放入临时表[_MyTableAndPKey]中。
  5.将外网数据库中每个表整体插入内网数据库
  遍历临时表[_MyTableAndPKey],对于每个表名X(设其主键为F),使用SQL语句“insert into database_A.X select * from database_B.X where F not in (select F from database_A.X)” 将外网数据库中每个表整体插入内网数据库。
  6.恢复触发器
  直接遍历内网数据库中的每一个表,对该表执行“ENABLE TRIGGER all”操作,即可禁用该表上的所有触发器。
  7.恢复外键约束
  遍历临时表[_MyForeignKey],对于内网数据库中的每一个“强制外键约束”,进行“CHECK CONSTRAINT”操作。
  8.具体实施
  将上述第1步写成单独脚本运行,人工对检查结果进行判断,对违背一致性原则的个别表结构进行人工修正;
  将上述第2步-第7步的操作编写成一个事务,统一执行。若事务执行过程中出错,则对照出错信息,再次检查两个数据库的表结构,进行必要的修正,直到事务顺利执行为止。
  四、结论
  我们在使用英特尔至强处理器E5-2603 V4(1.7GHz、6核12线程)、16G DDR4内存、2T SATA硬盘的DELL R730服务器上进行了数据迁移测试。结果表明,将约10万条数据的外网数据库迁移进入内网数据库,用时仅需3.218秒,更重要的是所有数据都顺利迁移,没有发生数据丢失,事后信息系统也通过了测试,内外网数据统一运行良好,整个数据迁移工作成功完成。
  参考文献
  [1] 曾秀莲.基于SQL Server2005外键技术的教学实践.计算机光盘软件与应用,2012(13):141-142.
  [2] 姚渝春,潘林森,王凡.数据库触发器及应用.土木建筑与环境工程,2003,25(5):128-131.
其他文献
[摘 要]随着我国现代化建设的快速发展,我国对于互联网技术的应用也越来越广泛,通过互联网可以处理大量的数据信息,可以对各种资源进行有效的整合管理,将数据信息集中整理,形成一个整体的信息环境。云计算是现代信息技术中新产生的一种IT架构,正处在初步阶段,但是国内已经有很多企业应用了这种新型的技术,本文将深入研究云计算技术在电力建设企业中的应用,通过分析其计算特点,和本身具备的优势,来探讨云计算在电力建
期刊
[摘 要]水利水电工程施工质量的好坏决定了工程寿命周期。随着社会经济的不断发展,水利水电施工质量日益受到人们的关注。施工过程成为水利水电工程的重中之重。提高水利水电工程的施工质量成为相关企业亟待解决的一个难题。本文详细的分析了水利水电工程施工过程中的控制要点,希望能给相关人员带来一定的帮助。  [关键词]水利水电;现状;控制要点  中图分类号:TE811 文献标识码:A 文章编号:1009-914
期刊
[摘 要]随着建筑中用电设备和用电负荷的增加,电气安全问题越来越突出,为了提高安全等级,需要加强项目漏电保护控制管理,实现电气工程设计的合理性。漏电保护技术实践经验要求高,需要考虑电气工程内部的触电几率,进行有针对性的漏电保护管理,充分提高电气工程整体运行效果。本文针对项目建设中电气工程漏电保护技术进行了分析。  [关键词]漏电保护技术;电气工程;工程项目  中图分类号:TE971 文献标识码:A
期刊
[摘 要]送电线路工程最重要的就是施工质量,其不仅会对后期的验收和相关的投产带来影响,还会直接威胁到送电线路的正常运行。在现阶段的送电线路企业管理模式中,其已经将送电线路施工作为企业发展的主要战略目标,有必要将工程中存在的质量通病加以分析,以通过有效的控制措施加以改善,其也是实现企业成本管理的主要途径。本文以实际工程为了分析了送电线路工程质量的通病,并提出相应了控制措施。  [关键词]送电线路;工
期刊
[摘 要]随着科学技术的不断发展以及新媒体的不断出现,为影视制作的传播提供了多种不同手段,同时也带来了较为深刻的影响,符合现代化的影视发展需求。本文通过论述新媒体的特点与传播途径,为提升影视制作的传播力与影响力提出策略。  [关键词]新媒体;影视制作;传播力与影响力  中图分类号:TE141 文献标识码:A 文章编号:1009-914X(2017)34-0270-01  随着生活水平的不断提升,影
期刊
[摘 要]天然气管道完整性管理意味着对管道进行全方位、系统化的管理,排查安全隐患,预防安全事故的发生,确保管道的持续、可靠运行,由此可见,天然气管道采取完整性管理措施是十分必要的。本文将论述天然气管道完整性管理的概念、原则,并提出影响管道安全的因素及相应的解决策略,以期提高管道的安全性,促进天然气管道的可持续发展。  [关键词]天然气管道;完整性;管理  中图分类号:TE281 文献标识码:A 文
期刊
[摘 要]随着社会经济水平的不断提高,行政事业单位财会工作作为重要的组成部分,越来越受到人们的普遍关注。可以说,财会工作的质量水平成为衡量行政事业单位工作效率的一个重要标准。基于此,本文通过对目前行政事业单位財会工作存在的问题进行了研究,并就如何提升行政事业单位财会工作质量水平提出了一些建议,以供参考。  [关键词]行政事业单位;财会;工作质量;问题;对策  中图分类号:TE181 文献标识码:A
期刊
[摘 要]近年来,智能建筑逐渐兴起,成为现代建筑的象征。综合布线防雷设计,充分的利用建筑自动化控制系统与通信系统等,实现综合布线,重点布设防雷接地设备,以确保智能建筑的防雷性能,减少雷击对智能建筑的影响。针对智能建筑防雷问题,本文通过工程实例,对建筑综合布线系统,进行防雷设计。  [关键词]智能建筑;防雷设计;综合布线;设计规范  中图分类号:TE228 文献标识码:A 文章编号:1009-914
期刊
[摘 要]知识管理在当代企业的发展过程中成为重要的一环,知识管理是企业管理者必须具备的技能。在信息飞速发展的全球,如何辨别有价值的信息,实现企业知识的共享成为企业转型发展中不容忽视的一部分。何为知识管理,如何在知识管理中提高工作效率、获得最大的利益成为当代管理者要思考的内容。本文将通过案例分析浅谈知识管理在企业发展创新中的必要性。  [关键词]知识管理 整合创新 知识共享  中图分类号:TE401
期刊
[摘 要]定向井钻井工艺技术是当今油气勘探开发最先进的钻井技术之一,能够明显降低钻井成本,具有显著的经济效益,其中定向井主要有井眼轨迹控制设计、保持井眼稳定、保护油气层、提高钻井效率与安全施工五大任务,本文就定向井钻井技术展开了分析,并在分析定向井井眼轨迹剖面优化设计技术的基础上,对钻井中的井眼轨迹控制和造斜段施工技术进行了详细探究。  [关键词]定向井;井眼轨迹控制;造斜段施工;研究  中图分类
期刊