一种基于MYSQL的结构差异处理方法及系统技术方案

技术编号:11994154 阅读:93 留言:0更新日期:2015-09-02 22:23
本发明专利技术公开一种基于MYSQL的结构差异处理方法及系统,其中,方法包括步骤:读取标准服务器与目标服务器的结构信息,根据所述结构信息比较标准服务器与目标服务器之间的结构差异,输出可重复执行的差异同步脚本;根据所述差异同步脚本对目标服务器执行同步操作,使目标服务器与标准服务器保持结构一致。本发明专利技术可自动检测不同数据库结构中存在的差异,并自动编码生成出处理差异的可执行方案(差异同步脚本),简化了版本升级的流程,增加升级的准确性,确保生产环境的正确性,节省了人力消耗,同时大大降低人为的失误因数。并且这种脚本是容错的,可重复执行。

【技术实现步骤摘要】

本专利技术涉及数据库
,尤其涉及一种基于MYSQL的结构差异处理方法及系统
技术介绍
数据库作为系统的根基,其变化可以说是无时不刻的,在研发过程中增加了新的功能需求,修改了原有的需求,生产环境中对系统进行了实时的优化调整,这些都将引发了数据库的变更。不同的操作人员,比如不同的开发人员,不同的维护人员,对部署在不同环境中的一套系统进行操作,特别是如今进入互联网时代,敏捷开发的流行,会导致变化频繁,因此需要去记录这些变化,并编写升级和处理方案。目前的开发实践中,每个涉及的数据库开发人员都需要自己记录自己对数据库的修改,并编写变更处理脚本,然后统一汇总编写数据库的升级文件,进而进行版本发布。运维人员也需要记录自己的调整,并确保及时反馈和应用到其他服务器,防止不同环境运行了不一样的数据库。所以,现有的操作方式,开发人员需要去编写脚本,投入大量时间,也容易打断思维惯性,实践中也常出现人为因素忘记记录导致缺失升级模块的事情。在实际运营中也经常出现变更只生效到了部分服务器,并且难以排查。因此,现有技术还有待于改进和发展。
技术实现思路
鉴于上述现有技术的不足,本专利技术的目的在于提供一种基于MYSQL的结构差异处理方法及系统,旨在解决现有的数据库结构差异解处理方法花费时间多、效率低、易出错等冋题。本专利技术的技术方案如下: 一种基于MYSQL的结构差异处理方法,其中,包括步骤: 读取标准服务器与目标服务器的结构信息,根据所述结构信息比较标准服务器与目标服务器之间的结构差异,输出可重复执行的差异同步脚本;根据所述差异同步脚本对目标服务器执行同步操作,使目标服务器与标准服务器保持结构一致。所述的基于MYSQL的结构差异处理方法,其中,在读取结构信息之前还包括: 预先设置目标服务器的账号密码以及标准服务器的账号密码; 设置需要比较的数据库的名称; 以及差异同步脚本的生成路径。所述的基于MYSQL的结构差异处理方法,其中,结构差异的比较过程具体包括: 自动将目标服务器与标准服务器进行连接; 循环选择目标服务器与标准服务器中的数据库,获取相应结构信息并解析; 根据解析的结构信息比较标准服务器与目标服务器之间的结构差异。所述的基于MYSQL的结构差异处理方法,其中,输出可重复执行的差异同步脚本的过程包括: 当目标服务器有结构信息缺失时,则增加生成容错判重的新建SQL语句; 当目标服务器有结构信息变更时,则增加生成容错判重的修改SQL语句; 当目标服务器有结构信息多余时,则增加生成容错判重的删除SQL语句。所述的基于MYSQL的结构差异处理方法,其中,定时进行标准服务器与目标服务器之间结构差异的比较,并输出差异脚本文件。一种基于MYSQL的结构差异处理系统,其中,包括: 输出模块,用于读取标准服务器与目标服务器的结构信息,根据所述结构信息比较标准服务器与目标服务器之间的结构差异,输出可重复执行的差异同步脚本; 同步模块,用于根据所述差异同步脚本对目标服务器执行同步操作,使目标服务器与标准服务器保持结构一致。所述的基于MYSQL的结构差异处理系统,其中,还包括: 预设模块,用于预先设置目标服务器的账号密码以及标准服务器的账号密码;设置需要比较的数据库的名称;以及差异同步脚本的生成路径。所述的基于MYSQL的结构差异处理系统,其中,所述输出模块具体包括: 连接单元,用于自动将目标服务器与标准服务器进行连接; 解析单元,用于循环选择目标服务器与标准服务器中的数据库,获取相应结构信息并解析; 比较单元,用于根据解析的结构信息比较标准服务器与目标服务器之间的结构差异。所述的基于MYSQL的结构差异处理系统,其中,所述输出模块还包括: 增加单元,用于当目标服务器有结构信息缺失时,则增加生成容错判重的新建SQL语句; 变更单元,用于当目标服务器有结构信息变更时,则增加生成容错判重的修改SQL语句; 删除单元,用于当目标服务器有结构信息多余时,则增加生成容错判重的删除SQL语句。所述的基于MYSQL的结构差异处理系统,其中,所述输出模块中,定时进行标准服务器与目标服务器之间结构差异的比较,并输出差异脚本文件。有益效果:本专利技术可自动检测不同数据库结构中存在的差异,并自动编码生成出处理差异的可执行方案(差异同步脚本),简化了版本升级的流程,增加升级的准确性,确保生产环境的正确性,节省了人力消耗,同时大大降低人为的失误因数。并且这种脚本是容错的,可重复执行。【附图说明】图1为本专利技术一种基于MYSQL的结构差异处理方法较佳实施例的流程图; 图2为本专利技术中MYSQL系统信息库的截图; 图3为图1所示方法中步骤SlOl读取结构信息之前的具体流程图; 图4为图1所示方法中步骤SlOl中结构差异比较过程的具体流程图; 图5为图1所示方法中步骤SlOl中生成可重复执行的差异同步脚本的具体流程图; 图6为本专利技术一种基于MYSQL的结构差异处理系统较佳实施例的结构框图; 图7为图6所示系统中输出模块的一具体结构框图; 图8为图6所示系统中输出模块的另一具体结构框图。【具体实施方式】本专利技术提供一种基于MYSQL的结构差异处理方法及系统,为使本专利技术的目的、技术方案及效果更加清楚、明确,以下对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。请参阅图1,图1为本专利技术一种基于MYSQL的结构差异处理方法较佳实施例的流程图,如图所示,其包括步骤: 5101、读取标准服务器与目标服务器的结构信息,根据所述结构信息比较标准服务器与目标服务器之间的结构差异,输出可重复执行的差异同步脚本; 5102、根据所述差异同步脚本对目标服务器执行同步操作,使目标服务器与标准服务器保持结构一致。本专利技术利用MYSQL数据库的内核结构信息,对标准服务器与目标服务器的数据库的结构进行解析,对比解析结果得出有差异的结构信息,再根据这些结构信息来生成处理差异的差异同步脚本,按照该差异同步脚本进行同步操作,从而将之前需要人工执行的操作全部自动化完成,大大降低了成本和风险。本专利技术可自动检测不同数据库结构中存在的差异,并自动编码生成出处理差异的可执行方案(差异同步脚本),简化了版本升级的流程,增加升级的准确性,确保生产环境的正确性,节省了人力消耗,同时大大降低人为的失误因数。并且这种脚本是容错的,可重复执行。在一个产品项目中,通常会使用数据库中的这些结构: SCHEMA 数据库(即 DATABASE) TABLE 表 CLOLMN 字段 INDEX 索引 VIEW视图 PROCEDURE 存储过程 FUNCT1N 函数 TRIGGER 触发器 EVENTS 时间 这些结构组成了一个数据存储的体系。在MYSQL数据库的系统中,存在一个系统的shecma:1nformat1n_schema。如图2所示:MYSQL把数据库的各种信息显示到这里,提供给开发人员使用,其中也包含了所增加的业务数据的结构信息。例如:当新增了一个表,这个库里面的TABLES表,就会增加一条记录,来记录新建表的相关信息。图2 中,informat1n_schema 为系统信息库下属的COLUMN本文档来自技高网...

【技术保护点】
一种基于MYSQL的结构差异处理方法,其特征在于,包括步骤:读取标准服务器与目标服务器的结构信息,根据所述结构信息比较标准服务器与目标服务器之间的结构差异,输出可重复执行的差异同步脚本;根据所述差异同步脚本对目标服务器执行同步操作,使目标服务器与标准服务器保持结构一致。

【技术特征摘要】

【专利技术属性】
技术研发人员:曾秋阳
申请(专利权)人:深圳市酷开网络科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1