[发明专利]一种数据模型的差异控制方法有效
申请号: | 201410393303.4 | 申请日: | 2014-08-12 |
公开(公告)号: | CN104216948B | 公开(公告)日: | 2017-12-05 |
发明(设计)人: | 程永新;符强;郭振宇 | 申请(专利权)人: | 上海新炬网络技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海科律专利代理事务所(特殊普通合伙)31290 | 代理人: | 金碎平 |
地址: | 200063 上海市普*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据模型 差异 控制 方法 | ||
1.一种数据模型的差异控制方法,其特征在于,包括如下步骤:
a)获取不同版本数据库的PDM模型文件;
b)提取所述PDM模型文件中各个基础元素的数据结构并保存在数据库中;
c)从所述数据库中读取两份PDM模型文件中的所有基础元素的数据结构逐一进行差异对比;
d)采用可视化图形和统计数据显示所述两份PDM模型文件对应的两个版本数据库的差异结果;
所述步骤a)中的PDM模型文件以XML格式储存库表数据,所述步骤b)利用JAVA读取XML格式,通过对XML定义的标签进行解释提取所述PDM模型文件中包含的各个基础元素的数据结构;所述各个基础元素的数据结构包括系统名称、用户、库表、库表结构、字段数量、字段类型、字段长度、数值是否为空、主键、外键和/或索引;
所述步骤c)中各个基础元素的数据结构差异对比过程如下:先从数据库读取出两份PDM的所有基础元素的数据结构并用对象方式保存在集合中,根 据集合数量大小将集合拆分为多个子集合,利用多线程并行执行对各个子集合进行遍历,每个子线程实时向主线程报告运作状态及遍历结果,所有子线程操作作为一个事务处理,所述主线程等待所有子线程都执行成功并返回对比结果后再作汇总保存到数据库;
每个子线程在遍历过程中利用排除法先判断库表对象名称,将名称有差异的库表对象排除出集合并放到差异列表中,接着在对剩下的库表集合里面的基础元素的数据结构进行遍历找出库表结构的差异,执行成功后返回对比结果给主线程。
2.如权利要求1所述的数据模型的差异控制方法,其特征在于,当任一子线程执行失败,结束本次差异对比。
3.如权利要求1所述的数据模型的差异控制方法,其特征在于,所述步骤d)中的统计数据包括差异数量、差异百分比、库表差异个数、字段差异个数、主键差异个数、索引差异个数、新增库表、减少库表、新增字段、减入字段、主键差异和/或索引差异。
4.如权利要求3所述的数据模型的差异控制方法,其特征在于,所述步骤d)通过分类对所述统计数据中的各种差异明细进行展示,并设置模糊搜索进行历史查询回溯。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海新炬网络技术有限公司,未经上海新炬网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410393303.4/1.html,转载请声明来源钻瓜专利网。