一种数据库数据迁移系统的制作方法

文档序号:14677128发布日期:2018-06-12 21:39阅读:192来源:国知局
本发明属于数据库开发
技术领域
:,尤其涉及一种数据库数据迁移系统。
背景技术
::现在很多企业信息管理系统都是基于数据库设计与开发的。这样,对与这些企业信息管理系统的升级与维护都会需要与数据库打交道,而数据库的结构是很难手工维护的,所以一般管理系统的升级就会很困难和痛苦。大多数组织都使用多种格式和多个位置来存储数据。为了支持决策、改善系统性能或对现有系统进行升级,经常必须将数据从一个数据存储位置移动到另一个存储位置。这就是数据迁移工具(DataTransformationService,简称:DTS)产生的技术背景。对于大规模的系统迁移,常用的数据迁移工具是MicrosoftSQLServer的数据转换服务(DTS)等,该工具可以从不同的源将数据抽取、转换和合并到一个或多个目标位置。对于小规模的系统迁移、数据迁移及系统升级应用,应用厂商大多采用手动录入、手动复制粘贴、导出\导入TXT\CSV文件、导出\导入SQL数据文件来对应。MicrosoftSQLServer、Oracle等专业的DTS工具,适用于大规模、复杂的数据迁移项目,这类DTS软件的采购费用较高,不适合用于平台产品的升级和数据迁移。手动录入、手动复制粘贴、导出\导入TXT\CSV文件、导出\导入SQL数据文件等方式的数据迁移适合一次性、并且小规模的数据迁移,不适合平台产品的升级和数据迁移。本发明因此而来。技术实现要素:针对现有技术中所存在的问题,本发明的目的是提供一种数据库数据迁移系统,解决了管理系统数据库的更新与迁移的难题,更重视业务方面的数据维护。一种数据库数据迁移系统,其特征在于所述系统包括设置在源数据库端的数据库查看模块、对数据库数据内容变更情况进行监听的数据库监听模块和对数据库的结构和数据记录进行复制,形成SQL文件的数据库备份模块;所述数据库查看模块对源数据库的结构和数据进行查看后,数据库备份模块将相应的数据和数据库结构根据SQL命令规范形成SQL文件,由数据库备份模块输出备份;当数据库监听模块监听到数据库数据内容变更时,启动数据库备份模块对变更内容进行备份,并替换相应SQL文件中内容。优选的,所述系统还包括将数据库备份模块备份出的SQL文件进行打包形成可执行文件的打包模块;当数据库备份模块备份完毕时,启动所述打包模块进行SQL文件的打包。优选的,所述系统还包括用于根据打包形成的可执行文件进行更新或创建目标数据库的更新模块,所述更新模块设置有配置文件,所述配置文件内设置数据库结构或数据库数据记录的更新次序。本发明可以将平台数据库对象的变更情况进行记录,针对不同类型的数据库可以生成更新DDL语句,系统升级时该DDL语句与所做的WEB升级程序可以一起打包、执行,通过使用DTS工具,可以大幅减少系统升级的工作量,并且可以有效保证升级过程的一致性和正确性。本发明可以保证同一个项目的数据库,在不同时候的数据库变化记录下来,动态生成相关的DDL语句,由工具根据这些语句执行以更新数据库。本发明通过动态生成业务逻辑SQL语句、免干扰的自动更新程序;并将所有更新文件都集中生成一个独立的更新包;更新动作只需要一个更新包执行即可。本发明可以基于业务的DDL语句自动生成。在开发阶段,本系统可以自动记录平台数据库中表结构的变更、存储过程、视图等系统对象的变更、及表单和系统数据的变更,并根据MicrosoftSQLServer、Oracle等不同的数据库类型,自动生成对应的DDL更新语句、系统数据更新语句和表单更新语句。本发明可以基于业务的新旧数据的自动更新处理。更新包升级时,可以根据表单等数据的版本号,自动识别对象版本的新旧,对旧版本的文件进行更新。本发明可以自解压包与更新程序。更新包升级时,可以将更新包进行自动解压缩并执行升级。本发明自动记录平台数据库的对象变更,根据不同的数据库类型,生成对应的DDL变更语句;免干扰的自动更新程序;把所有更新DDL文件、数据文件、表单、程序文件等都集中生成一个独立的更新包;更新动作只需要一个更新包执行即可。与现有技术相比,本发明的有益效果为:将各种技术实现细节和调用的结束细节对用户屏蔽,让用户可以通过统一的方式调用这些后台技术;提供了简单直接调用SQL语句的方法;提高了平台类软件的开发效率;降低了技术实现的难度;同时,降低了业务开发人员的学习门槛。该系统通过数据库备份模块的设置,通过更新模块执行使数据库的迁移工作方便易行。具体实施方式以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规使用的条件。实施例数据库数据迁移系统该系统包括设置在源数据库端的数据库查看模块、对数据库数据内容变更情况进行监听的数据库监听模块、对数据库的结构和数据记录进行复制,形成SQL文件的数据库备份模块、将数据库备份模块备份出的SQL文件进行打包形成可执行文件的打包模块和用于根据打包形成的可执行文件进行更新或创建目标数据库的更新模块;所述数据库查看模块对源数据库的结构和数据进行查看后,数据库备份模块将相应的数据和数据库结构根据SQL命令规范形成SQL文件,由数据库备份模块输出备份;当数据库监听模块监听到数据库数据内容变更时,启动数据库备份模块对变更内容进行备份,并替换相应SQL文件中内容。当数据库备份模块备份完毕时,启动所述打包模块进行SQL文件的打包。所述更新模块设置有配置文件,所述配置文件内设置数据库结构或数据库数据记录的更新次序。以下进行详细描述数据库结构和内容的迁移过程。(1)系统对象变更记录开发阶段,DTS工具自动记录表结构变更、系统数据变更、表单变更、视图、函数、和存储过程的变更,并将这些变更生不同类型数据库对应的更新脚本。(2)系统对象的处理视图、函数、过程的变更,由UPD程序从开发数据库导出为SQL文件。(3)业务表的处理UPD程序负责导出用户业务表的DDL语句和变更记录,并对DDL语句整理,做出更新规则;到生产数据库后,先重命名原表,再创建本业务表,并判断字段把原表的数据插入新表,如果新表导出的时候带有数据,再把新表的数据插入进来(该插入语句在导出的时候就准备好了判断的语法);处理完毕后,把重命名的旧表删除。(4)系统表的处理目标系统:开发系统--***应用设计时系统表***--sys_apppage--菜单sys_spec--系统对象sys_wh_yb--显示格式树设置sys_column--字段sys_columndis--显示字段sys_landscep-设计时字段SYS_DEFAULTUI--默认主题显示风格设置sys_detialtable--关联表sys_relation_col--关联表关联字段sys_expru_arg--过程参数sys_forminfo--表单,只导出不含流文本的字段值SYS_FUNOBJ--系统功能列表[0044]SYS_MODELUI--模块显示风格[0045]sys_ODBC--外部数据源sys_regproc--注册对象sys_searchcal--查询字段sys_serchcondition--查询条件设置(可能会出现运行时用户自定义的查询条件)sys_RelaFlowStart流程是否启动的配置表--***流程设计时系统表***----注:可能会在运行时使用WEB系统的流程管控中心->流程配置影响下列表数据sys_procsys_AutoFlowStart自动启动流程的配置表(不需要数据,以生产机数据为主)sys_source_target[0055]sys_startupSet[0056]sys_starupTimesys_userconsys_step[0059]sys_stepcon[0060]sys_Workflow[0061]sys_flowGraphsys_linesys_linkman[0064]sys_operator[0065]sys_messageMan--***权限设计时系统表***----注:可能会在运行时使用WEB系统的企业管理器->权限设置影响下列表sys_manpru[0069]sys_DTsecurity[0070]sys_prusys_pru_des[0072]sys_rolePru[0073]sys_Tsecurity--***DDL日志系统表***--[0075]--注:更新之后清空生产系统上该表数据sys_ddllog--***记录流水号的系统表***----注:该表需要特殊处理--开发系统中的t_sys_count数据需保留上述列出的表名的记录--生产系统中的t_sys_count数据需保留除上述列出的表名的记录--并把两个系统中的t_sys_count数据合并t_sys_count(5)表单的处理UPD导出模块中的相关表单生成文件;Sys_forminfo中的值先期在系统表处理时把数据已经准备好,并更新过了;把表单文件通过更新程序更新到表中。(6)配置文件的处理所有文件准备好后,UPD最后生成更新顺序的配置文件。所有对象的执行顺序根据数据库的依赖项算法得出执行先后顺序;生成update.ini文件;最后执行的是表单的更新。(7)其它更新的设计更新包可以包含其它非数据库的更新内容:如designer、web、db、dts。更新包可以配置好所有的更新后打一个表。(8)具体打包更新过程通过UPD生成数据库的相关更新内容放至单独的文件夹;手工把WEB,DESIGNER,DTS的内容以文件夹分开的形式存放好;所有的更新内容准备好后,在其同级文件夹下放置update.ini文件,作为更新配置文件,该文件的数据库部分由UPD准备好了,其它的更新手工准备;把ES2007UPDATE.exe文件放置update.ini同级;使用MakeUpgrade.exe压缩更新目录并生成独立的更新程序(EXE);独立的更新程序运行后提取ES2007UPDATE.exe开始更新。本发明通过DTS工具可以将平台数据库对象的变更情况进行记录,针对不同类型的数据库可以生成更新DDL语句,系统升级时该DDL语句与所做的WEB升级程序可以一起打包、执行,通过使用DTS工具,可以大幅减少系统升级的工作量,并且可以有效保证升级过程的一致性和正确性。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1