一种设计文档表与数据库表稽核的系统及方法技术方案

技术编号:24517738 阅读:25 留言:0更新日期:2020-06-17 06:50
本发明专利技术涉及计算机技术领域,具体提供一种设计文档表与数据库表稽核的系统及方法。与现有技术相比,本发明专利技术的一种设计文档表与数据库表稽核的系统,包括依次连接的配置基础信息模块、解析XML和数据库表结构模块和生成稽核报告模块;所述配置基础信息模块包括配置XML文档路径子模块和配置数据库访问信息子模块,所述配置XML文档路径子模块用于测试文档是否存在,所述配置数据库访问信息子模块用于测试能否连接数据库。通过本发明专利技术对设计文档表结构和数据库表结构进行对比分析,快速发现其中的差异,节省人工检查,提高检查的效率和准确率,具有良好的推广价值。

A system and method of auditing document table and database table

【技术实现步骤摘要】
一种设计文档表与数据库表稽核的系统及方法
本专利技术涉及计算机
,具体提供一种设计文档表与数据库表稽核的系统及方法。
技术介绍
在过去的几十年里,软件系统一直在广泛的工作环境中发挥作用。在日常运营中使用软件系统的各行各业数不胜数,包括制造业、财务公司、信息服务公司、医疗服务机构和建筑业。对于开发人员来说,在软件开发过程中,往往进行版本迭代,但是在软件版本迭代过程中,没有将开发过程中修改的部分同步到设计文档中去。在软件项目完成时,会发现软件成品与原型设计差别很大。特别是在数据表中,在原型设计过程中,存在对问题考虑不周全,会导致在开发过程中不停的往数据库的表添加字段或删除字段,久而久之,会使原型设计中数据表和数据库中的表格差异越来越大。在另一方面,对软件维护阶段来说,尤其是运行了几年或者是几十年的软件系统,软件维护的人员的更换,如果数据库中与文档中的表结构不一致,将会导致软件维护越来越困难,维护成本越来越大。请参照专利号为CN201811084361.3,专利名称为一种XML与关系数据库的转换方法的专利,此专利将XML文档中的表结构转化为数据库的表结构,是一个既枯燥又耗时的重复性的工作,如何使用计算机程序去代替人工处理工作是现有技术中亟待解决的事情。
技术实现思路
本专利技术是针对上述现有技术的不足,提供一种设计合理,安全适用的设计文档表与数据库表稽核的系统。本专利技术进一步的技术任务是一种实用性强的设计文档表与数据库表稽核的方法。本专利技术解决其技术问题所采用的技术方案是:一种设计文档表与数据库表稽核的系统,包括依次连接的配置基础信息模块、解析XML和数据库表结构模块和生成稽核报告模块;所述配置基础信息模块包括配置XML文档路径子模块和配置数据库访问信息子模块,所述配置XML文档路径子模块用于测试文档是否存在,所述配置数据库访问信息子模块用于测试能否连接数据库;所述解析XML和数据库表结构模块包括创建数据字段实体子模块、解析XML文档中表结构子模块、解析对应数据库中表结构子模块和表结构进行稽核子模块,所述创建数据字段实体子模块用于创建表的列结构实体,并以列名作为唯一标识创建列实体,所述解析XML文档中表结构子模块用于使用DOM4J对XML文档进行解析,所述解析对应数据库中表结构子模块用于使用Java中自带的API对数据库中的表进行解析,所述表结构进行稽核子模块用于从两个表结构中取出所有表名,形成一个只包含表名的列表,分别在解析XML文档中表结构子模块和解析对应数据库中表结构子模块中查找;所述生成稽核报告模块包括生成差异评分子模块、生成详细稽核报告子模块和预览与下载子模块,所述生成差异评分子模块用于统计生成稽核结果,并给出稽核评分,所述生成详细稽核报告子模块用于在稽核结果详情页面,将更详细的展示稽核结果,并指明存在的位置以及缺失的位置,所述预览与下载子模块用于预览和下载信息。进一步的,所述配置XML文档路径子模块中,设计文件中的XML文档在本地或是远程服务器上;若在本地,支持将XML文档拖拽到工作区,或是配置XML文档所在路径,配置XML文档所在路径包括本地路径和远程路径;若是远程路径,以主机IP端口开头,默认是本地路径,路径配置好后用来测试XML文档在对应路径上是否存在;所述配置数据库访问信息子模块对需要进行稽核的数据库的基本信息进行配置,包括数据的IP端口以及访问授权信息进行配置,并测试是否与所配置的数据库建立连接。作为优选,在创建数据字段实体子模块中实体字段包括列名、列类型、长度、默认值、是否是主键、是否是外键、是否可以为空和说明,详细描述列的属性。进一步的,所述解析XML文档中表结构子模块使用DOM4J对XML文档进行解析,解析出的XML文档中的每一个表的表名、字段名、字段类型及长度、默认值、约束条件及字段说明,并生成相应的列对象,使用一个以表名为键,以列为列表的Map集合来存放解析出来的表对象;解析对应数据库中表结构子模块,获取数据库中每一张表的表名、字段名、字段类型及长度、默认值、约束条件以及字段说明,生成相应的列对象,使用一个以表名为键,以列为列表的Map集合来存放解析出来的表对象。进一步的,所述表结构进行稽核子模块中分别从两个表结构中取出所用表名,形成一个只包含表名的列表,从XML文档的表名列表中取出一个表名,去数据库列表集合中去查找,若所取出的表名在数据库表名列表中找不到匹配,标记为数据库表缺失的差异;若表名能够匹配,则进入列比较环节,将数据库表名集合中剩下的表标记为XML文档中表缺失异常;若表名匹配,对两张表的字段进行对比,包括字段名,字段类型及字段长度、默认值、约束以及字段说明对比,如果其中的任何一项不匹配,标记为相应项不匹配异常。一种设计文档表与数据库表稽核的方法,分为以下步骤,1)、配置基础信息:101)、配置XML文档路径,102)、配置数据库访问信息;2)、解析XML和数据库表结构:201)、创建数据字段实体,202)、解析XML文档中表结构,203)、解析对应数据库中表结构,204)、表结构进行稽核;3)、生成稽核报告:301)、生成差异的评分,302)、生成详细的稽核报告,303)、预览与下载。进一步的,在步骤101)中,设计文件中的XML文档在本地或者在远程服务器上,若是本地支持将XML文档拖拽到工作区,或者配置XML文档所在路径,配置XML文档所在路径包括本地路径和远程路径;若是远程路径,需要以主机IP端口开头,默认是本地路径,路径配置好后,测试XML文档在对应的路径上是否存在;在步骤102)中,对需要进行稽核的数据库的基本信息进行配置,包括数据的IP端口以及访问授权信息进行配置,并测试是否与所配置的数据库建立连接。进一步,在步骤201)中,根据传统数据库定义创建表的列结构实体,并以列名作为唯一标识创建列实体,实体字段包括列名、列类型、长度、默认值、是否是主键、是否可以为空和说明,详细描述列的属性;在步骤202)中,使用DOM4J对XML文档进行解析,首先解析出XML文档中的每一个表的表名、字段名、字段类型及长度、默认值、约束条件以及字段说明,并生成相应的列对象,然后使用一个以表名为键,最后以列为列表的Map集合来存放解析出来的表对象。进一步的,在步骤203)中,使用Java中自带的API对数据库中的表进行解析,获取数据库中每一张表的表名、字段名、字段类型及长度、默认值、约束条件以及字段说明,并生成相应的列对象,最后使用一个以表名为键,以列为列表的Map集合来存放解析出来的表对象;步骤204)中,先分别两个表结构中取出所用表名,形成一个只包含表名的列表,从XML文档的表名列表中取出一个表名,去数据库列表集合中去查找,若所取出的表名在数据库表名列表中找不到匹配,标记为数据库表缺失的差异;...

【技术保护点】
1.一种设计文档表与数据库表稽核的系统,其特征在于,包括依次连接的配置基础信息模块、解析XML和数据库表结构模块和生成稽核报告模块;/n所述配置基础信息模块包括配置XML文档路径子模块和配置数据库访问信息子模块,所述配置XML文档路径子模块用于测试文档是否存在,所述配置数据库访问信息子模块用于测试能否连接数据库;/n所述解析XML和数据库表结构模块包括创建数据字段实体子模块、解析XML文档中表结构子模块、解析对应数据库中表结构子模块和表结构进行稽核子模块,所述创建数据字段实体子模块用于创建表的列结构实体,并以列名作为唯一标识创建列实体,所述解析XML文档中表结构子模块用于使用DOM4J对XML文档进行解析,所述解析对应数据库中表结构子模块用于使用Java中自带的API对数据库中的表进行解析,所述表结构进行稽核子模块用于从两个表结构中取出所有表名,形成一个只包含表名的列表,分别在解析XML文档中表结构子模块和解析对应数据库中表结构子模块中查找;/n所述生成稽核报告模块包括生成差异评分子模块、生成详细稽核报告子模块和预览与下载子模块,所述生成差异评分子模块用于统计生成稽核结果,并给出稽核评分,所述生成详细稽核报告子模块用于在稽核结果详情页面,将更详细的展示稽核结果,并指明存在的位置以及缺失的位置,所述预览与下载子模块用于预览和下载信息。/n...

【技术特征摘要】
1.一种设计文档表与数据库表稽核的系统,其特征在于,包括依次连接的配置基础信息模块、解析XML和数据库表结构模块和生成稽核报告模块;
所述配置基础信息模块包括配置XML文档路径子模块和配置数据库访问信息子模块,所述配置XML文档路径子模块用于测试文档是否存在,所述配置数据库访问信息子模块用于测试能否连接数据库;
所述解析XML和数据库表结构模块包括创建数据字段实体子模块、解析XML文档中表结构子模块、解析对应数据库中表结构子模块和表结构进行稽核子模块,所述创建数据字段实体子模块用于创建表的列结构实体,并以列名作为唯一标识创建列实体,所述解析XML文档中表结构子模块用于使用DOM4J对XML文档进行解析,所述解析对应数据库中表结构子模块用于使用Java中自带的API对数据库中的表进行解析,所述表结构进行稽核子模块用于从两个表结构中取出所有表名,形成一个只包含表名的列表,分别在解析XML文档中表结构子模块和解析对应数据库中表结构子模块中查找;
所述生成稽核报告模块包括生成差异评分子模块、生成详细稽核报告子模块和预览与下载子模块,所述生成差异评分子模块用于统计生成稽核结果,并给出稽核评分,所述生成详细稽核报告子模块用于在稽核结果详情页面,将更详细的展示稽核结果,并指明存在的位置以及缺失的位置,所述预览与下载子模块用于预览和下载信息。


2.根据权利要求1所述的一种设计文档表与数据库表稽核的系统,其特征在于,所述配置XML文档路径子模块中,设计文件中的XML文档在本地或是远程服务器上;
若在本地,支持将XML文档拖拽到工作区,或是配置XML文档所在路径,配置XML文档所在路径包括本地路径和远程路径;
若是远程路径,以主机IP端口开头,默认是本地路径,路径配置好后用来测试XML文档在对应路径上是否存在;
所述配置数据库访问信息子模块对需要进行稽核的数据库的基本信息进行配置,包括数据的IP端口以及访问授权信息进行配置,并测试是否与所配置的数据库建立连接。


3.根据权利要求1所述的一种设计文档表与数据库表稽核的系统,其特征在于,在创建数据字段实体子模块中实体字段包括列名、列类型、长度、默认值、是否是主键、是否是外键、是否可以为空和说明,详细描述列的属性。


4.根据权利要求1所述的一种设计文档表与数据库表稽核的系统,其特征在于,所述解析XML文档中表结构子模块使用DOM4J对XML文档进行解析,解析出的XML文档中的每一个表的表名、字段名、字段类型及长度、默认值、约束条件及字段说明,并生成相应的列对象,使用一个以表名为键,以列为列表的Map集合来存放解析出来的表对象;
解析对应数据库中表结构子模块,获取数据库中每一张表的表名、字段名、字段类型及长度、默认值、约束条件以及字段说明,生成相应的列对象,使用一个以表名为键,以列为列表的Map集合来存放解析出来的表对象。


5.根据权利要求1所述的一种设计文档表与数据库表稽核的系统,其特征在于,所述表结构进行稽核子模块中分别从两个表结构中取出所用表名,形成一个只包含表名的列表,从XML文档的表名列表中取出一个表名,去数据库列表集合中去查找,若所取出的表名在数据库表名列表中找不到匹配,标记为数据库表缺失的差异;
若表名能够匹配,则进入列比较环节,将数据库表名集合中剩下的表标记为XML文档中表缺失异常;
若表名匹配,对两张表的...

【专利技术属性】
技术研发人员:张庆晓宋设单震
申请(专利权)人:山东爱城市网信息技术有限公司
类型:发明
国别省市:山东;37

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

1