一种数据选择性级联同步工具及其同步方法技术

技术编号:28469647 阅读:13 留言:0更新日期:2021-05-15 21:36
本发明专利技术适用于数据同步技术领域,提供了一种数据选择性级联同步工具及其同步方法,通过设置用户图形界面和DB数据同步引擎,并依次通过初始化基本数据库信息;通过用户图形界面记录用户选择;通过元数据结构检测从属行;为每个选择生成SQL脚本;批量执行所述脚本并将它们提交到数据库,从而实现数据同步,本发明专利技术提供了一种合理的方法来选择性地维护数据,并且在具有相同方案的数据库之间采用级联方式。它使选择性的行粒度迁移数据成为可能。使选择性的行粒度迁移数据成为可能。使选择性的行粒度迁移数据成为可能。

【技术实现步骤摘要】
一种数据选择性级联同步工具及其同步方法


[0001]本专利技术属于数据同步
,尤其涉及一种数据选择性级联同步工具及其同步方法。

技术介绍

[0002]项目生命周期中应该存在一个生产环境数据库(DB

Product)和测试环境数据库(DB

Staging)。从业务角度考虑,需要手工将DB Staging中的特定数据而不是整个表数据同步到DB

Product。而数据库方案很复杂,表之间的关系是沿着潜在的深层层次结构组织的。将新数据从DB

Staging迁移到DB

Product 是一项非常危险的工作。随着数据中心的集中化,数据库管理权限将被管制,安全策略将阻止SSIS包、附件或分离等操作的执行。

技术实现思路

[0003]本专利技术提供一种数据选择性级联同步工具及其同步方法,旨在解决现有技术存在的问题。
[0004]本专利技术是这样实现的,一种数据选择性级联同步工具,包括用户图形界面和DB数据同步引擎;
[0005]所述用户图形界面用于供用户选择表中需要同步的表或行;
[0006]所述DB数据同步引擎用于:
[0007]自动检测表之间的关系并绑定相关行;
[0008]根据用户图形界面的选择生成SQL脚本;
[0009]逐个执行所述SQL脚本。
[0010]一种数据选择性级联同步方法,包括以下步骤:
[0011]S1、初始化基本数据库信息;
[0012]S2、通过用户图形界面记录用户选择;
[0013]S3、通过不同的动作检测从属行;
[0014]S4、为每个选择生成SQL脚本;
[0015]S5、批量执行所述脚本并将它们提交到数据库。
[0016]优选的,所述初始化基本数据库信息,具体为:初始化SQL Server 2005 数据库中有关工具目标的以下信息:
[0017]每个表的标识文件名;
[0018]每个表的字段列表;
[0019]添加和删除表时的同步顺序;
[0020]外键和参考键信息;
[0021]主键和唯一键信息;
[0022]约束信息优先。
[0023]优选的,所述通过用户图形界面记录用户选择,具体为:
[0024]用户自由地从每个表中选择数据,结果将保存在名为“SynchronizationScirpt”的临时表中;在用户图形界面中,列出了表,用户可以单击“表名”来显示表的内容以及两个数据库之间的区别;
[0025]在用户图形界面中,显示有多少行只存在于临时数据库中,并且可以用于其他操作;还显示有多少行是不同的或删除可用的。
[0026]优选的,所述通过不同的动作检测从属行中,所述动作包括:
[0027]删除;
[0028]添加/更新。
[0029]优选的,所述生成SQL脚本,具体为:生成保存在表“SynchronizationScirpt”中的SQL脚本。
[0030]优选的,所述批量执行所述脚本,具体为:
[0031]启动一个线程,在“SynchronizationScirpt”表中提取SQL脚本,然后在一个SQL事务中逐个执行,记录执行结果,并将其标记为高亮显示,以便于日志和分析;如果脚本失败,将在每个脚本之后记录详细的失败消息;
[0032]如果所有脚本执行成功,工具将提交并在出现错误时进行回调;
[0033]同时需要一个唯一的同步批处理ID来标识当前的同步操作。
[0034]与现有技术相比,本专利技术的有益效果是:本专利技术的一种数据选择性级联同步工具及其同步方法,通过设置用户图形界面和DB数据同步引擎,并依次通过初始化基本数据库信息;通过用户图形界面记录用户选择;通过元数据结构检测从属行;为每个选择生成SQL脚本;批量执行所述脚本并将它们提交到数据库,从而实现数据同步,本专利技术提供了一种合理的方法来选择性地维护数据,并且在具有相同方案的数据库之间采用级联方式。它使选择性的行粒度迁移数据成为可能。
附图说明
[0035]图1为本专利技术的一种数据选择性级联同步工具的整体结构示意图。
[0036]图2为本专利技术的由SQL Server 2005生成的依赖关系示意图。
[0037]图3为本专利技术具体实施例的元数据初始化后的依赖关系示意图。
[0038]图4为本专利技术的用户图形界面示意图。
[0039]图5为本专利技术的检测从属行操作界面示意图。
具体实施方式
[0040]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0041]本专利技术提供一种技术方案:一种数据选择性级联同步工具及其同步方法。如图1所示,同步工具包括用户图形界面和DB数据同步引擎。
[0042]所述用户图形界面用于供用户选择表中需要同步的表或行。
[0043]所述DB数据同步引擎用于:自动检测表之间的关系并绑定相关行;根据用户图形界面的选择生成SQL脚本;逐个执行所述SQL脚本。
[0044]在实施数据同步前,建立一个简单的数据库进行演示。图2中所示的依赖关系图是由SQL Server 2005生成的。
[0045]本专利技术的一种数据选择性级联同步方法,适用于上述同步工具,包括以下步骤:
[0046]S1、级联同步要求我们分析表之间的关系,获取表的相关信息,并对其进行合理的组织。
[0047]幸运的是,我们可以在SQL Server 2005中使用一些元数据,如下所示:
[0048]表syscolumns为每个表和视图中的每一列包含一行,并为数据库中存储过程中的每个参数包含一行。
[0049]表sysconstraints包含约束到数据库中拥有约束的对象的映射。
[0050]表Sysindexes为当前数据库中的每个索引和表包含一行。此视图不支持XML索引。
[0051]表sysobjects为数据库中创建的每个对象(如约束、默认值、日志、规则和存储过程)包含一行。
[0052]表sysreferences包含外键约束定义到数据库中被引用列的映射。
[0053]元数据对于检索和操作多维数据的应用程序至关重要。初始化SQL Server 2005数据库中有关工具目标的以下信息:
[0054]每个表的标识文件名;
[0055]每个表的字段列表;
[0056]添加和删除表时的同步顺序;
[0057]外键和参考键信息;
[0058]主键和唯一键信息;
[0059]约束信息优先。
[0060]表依赖信息的初始化是最关键的,比如表A依赖于哪个表,哪个字段,同步中的序列id应该根据它正确设置。只有这样我们才能同步本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据选择性级联同步工具,其特征在于:包括用户图形界面和DB数据同步引擎;所述用户图形界面用于供用户选择表中需要同步的表或行;所述DB数据同步引擎用于:自动检测表之间的关系并绑定相关行;根据用户图形界面的选择生成SQL脚本;逐个执行所述SQL脚本。2.一种数据选择性级联同步方法,其特征在于:包括以下步骤:S1、初始化基本数据库信息;S2、通过用户图形界面记录用户选择;S3、通过不同的动作检测从属行;S4、为每个选择生成SQL脚本;S5、批量执行所述脚本并将它们提交到数据库。3.如权利要求2所述的一种数据选择性级联同步方法,其特征在于:所述初始化基本数据库信息,具体为:初始化SQL Server 2005数据库中有关工具目标的以下信息:每个表的标识文件名;每个表的字段列表;添加和删除表时的同步顺序;外键和参考键信息;主键和唯一键信息;约束信息优先。4.如权利要求3所述的一种数据选择性级联同步方法,其特征在于:所述通过用户图形界面记录用户选择,具体为:用户自由地从每个表中选择数据,结果将保存在名为“SynchronizationScir...

【专利技术属性】
技术研发人员:冯坚波刘斌苏群李煜涛曹臻睿
申请(专利权)人:上海宝旗信息科技有限公司
类型:发明
国别省市:

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

1