CN111190880B - 一种数据库检测方法、装置和计算机可读存储介质 - Google Patents

一种数据库检测方法、装置和计算机可读存储介质 Download PDF

Info

Publication number
CN111190880B
CN111190880B CN201910730861.8A CN201910730861A CN111190880B CN 111190880 B CN111190880 B CN 111190880B CN 201910730861 A CN201910730861 A CN 201910730861A CN 111190880 B CN111190880 B CN 111190880B
Authority
CN
China
Prior art keywords
information
database
relationship
design document
detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910730861.8A
Other languages
English (en)
Other versions
CN111190880A (zh
Inventor
易灿
吴菁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910730861.8A priority Critical patent/CN111190880B/zh
Publication of CN111190880A publication Critical patent/CN111190880A/zh
Application granted granted Critical
Publication of CN111190880B publication Critical patent/CN111190880B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种数据库检测方法、装置和计算机可读存储介质;本发明实施例在获取待检测数据库的设计文档后,解析设计文档,以确定设计文档中内容之间的结构关系,基于结构关系构建关系树,并获取关系树中节点的属性信息,根据关系树和节点属性信息生成待检测数据库的结构化信息,对待检测数据库的结构化信息进行检测,得到检测结果,由于该方案对数据库检测过程中,仅仅针对设计文档中的结构化信息进行检测,而不是对设计文档的全部内容进行检测,大大提高了检测效率。

Description

一种数据库检测方法、装置和计算机可读存储介质
技术领域
本发明涉及通信技术领域,具体涉及一种数据库检测方法、装置和计算机可读存储介质。
背景技术
随着大数据时代的到来,数据处理量的日益增加,数据管理技术得到了飞速发展,数据管理技术中非常重要的数据库模型也越来越精细和复杂。在数据库设计完成后,对数据库模型的检测成为了一个棘手的问题,比如,对于支付领域的数据库模型检测,由于支付链路比较长,有的领域相同,但定义不一致,代码实现有出入,一般系统测试很难覆盖到,且人工肉眼检查繁杂费事。现在技术主要通过在数据库设计工具中内置规则检查的脚本来进行检测,比如,在数据建模工具(PowerDesigner)中,利用其内置的视化脚本语言(VisualBasic Script Edition,VBS)编写检测规则来进行检测。
在对现有技术的研究和实践过程中,本发明的发明人发现,用户通过数据库设计工具来进行检测时,需要对数据库的全部代码进行检测,在检测过程中,效率低下。
发明内容
本发明实施例提供一种数据库检测方法、装置和计算机可读存储介质,可以提高检测效率。
一种数据库检测方法,包括:
获取待检测数据库的设计文档;
解析所述设计文档,以确定所述设计文档中内容之间的结构关系;
基于所述结构关系构建关系树,并获取所述关系树中节点的属性信息;
根据所述关系树和所述节点属性信息生成所述待检测数据库的结构化信息;
对所述待检测数据库的结构化信息进行检测,得到检测结果。
相应的,本发明实施例提供一种数据库检测装置,包括:
获取单元,用于获取待检测数据库的设计文档;
解析单元,用于解析所述设计文档,以确定所述设计文档中内容之间的结构关系;
构建单元,用于基于所述结构关系构建关系树,并获取所述关系树中节点的属性信息;
生成单元,用于根据所述关系树和所述节点属性信息生成所述待检测数据库的结构化信息;
检测单元,用于对所述待检测数据库的结构化信息进行检测,得到检测结果。
可选的,在一些实施例中,所述构建单元,具体用于在所述结构关系中提取所述设计文档中内容之间的层级关系,基于所述层级关系,构建关系树。
可选的,在一些实施例中,所述构建单元,具体用于根据所述层级关系在所述设计文档中筛选不同层级的内容,获取在所述不同层级的内容中存在关联关系的数据块,在所述层级关系中添加所述数据块,以构建关系树。
可选的,在一些实施例中,所述构建单元,具体用于获取所述关系树中至少一个节点,根据获取到的节点,在所述设计文档的内容中提取所述节点的属性信息。
可选的,在一些实施例中,所述生成单元,具体用于在所述关系树中提取节点关系信息,将所述节点关系信息与所述节点属性信息进行融合,将融合后的信息作为所述待检测数据库的结构化信息。
可选的,在一些实施例中,所述检测单元,具体用于对所述待检测数据库的结构化信息进行分类,在不同类型的结构化信息中,按照检测等级选择对应类型的结构化信息,将选择的结构化信息与预设结构化信息进行对比,得到检测结果。
可选的,在一些实施例中,所述检测单元,具体用于当检测到用户针对检测页面的检测等级控件操作时,生成检测等级列表,所述检测等级列表包括多个检测等级,当检测到用户针对所述检测等级列表中的检测等级的选择操作时,按照选定的检测等级选择对应类型的结构化信息。
可选的,在一些实施例中,所述检测单元,具体用于根据选择的结构化信息,创建对应类型的正则表达式,将所述正则表达式与所述选择的结构化信息进行匹配,当所述选择的结构化信息与所述正则表达式匹配时,确定所述待检测数据符合所述设计文档要求,当所述选择的结构化信息与所述正则表达式不匹配时,确定所述待检测数据库不符合所述设计文档的要求。
可选的,在一些实施例中,所述检测单元,具体用于当所述选择的结构化信息与所述正则表达式不匹配时,生成提示信息,所述提示信息包括未合格代码信息。
可选的,在一些实施例中,所述解析单元,具体用于读取所述设计文档的内容,对所述设计文档的内容进行分类,根据分类结果,获取不同类型内容之间的关系,根据不同内容之间的关系,生成所述设计文档中内容之间的结构关系。
此外,本发明实施例还提供一种电子设备,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序实现本发明实施例提供的数据库检测方法。
此外,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的数据库检测方法中的步骤。
本发明实施例在获取待检测数据库的设计文档后,解析设计文档,以确定设计文档中内容之间的结构关系,基于结构关系构建关系树,并获取关系树中节点的属性信息,根据关系树和节点属性信息生成待检测数据库的结构化信息,对待检测数据库的结构化信息进行检测,得到检测结果,由于该方案对数据库检测过程中,仅仅针对设计文档中的结构化信息进行检测,而不是对设计文档的全部内容进行检测,大大提高了检测效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的数据库检测方法的场景示意图;
图2是本发明实施例提供的数据库检测方法的流程示意图;
图3是本发明实施例提供的关系树结构示意图;
图4是本发明实施例提供的检测页面示意图;
图5是本发明实施例提供的检测页面的检测结果示意图;
图6是本发明实施例提供的数据库检测方法的另一流程图;
图7是本发明实施例提供的数据库检测装置的结构示意图;
图8是本发明实施例提供的数据库检测装置的解析单元的结构示意图;
图9是本发明实施例提供的数据库检测装置的构建单元的结构示意图;
图10是本发明实施例提供的数据库检测装置的检测单元的结构示意图;
图11是本发明实施例提供的数据库检测装置的检测单元的另一结构示意图;
图12是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种数据库检测方法、装置和计算机可读存储介质。其中,该数据库检测装置可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备。
例如,如图1所示,以该数据库检测装置集成在电子设备中为例,该电子设备在获取待检测数据库的设计文档后,解析设计文档,以确定设计文档中内容之间的结构关系,基于结构关系构建关系树,并获取关系树中节点的属性信息,根据关系树和节点属性信息生成待检测数据库的结构化信息,对待检测数据库的结构化信息进行检测,得到检测结果。
以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从数据库检测装置的角度进行描述,该数据库检测装置具体可以集成在电子设备中,该电子设备可以是服务器,也可以是终端等设备;其中,该终端可以包括平板电脑、笔记本电脑、以及个人计算(PC,Personal Computer)等设备。
一种数据库检测方法,包括:获取待检测数据库的设计文档,解析设计文档,以确定设计文档中内容之间的结构关系,基于结构关系构建关系树,并获取关系树中节点的属性信息,根据关系树和节点属性信息生成待检测数据库的结构化信息,对待检测数据库的结构化信息进行检测,得到检测结果。
如图2所示,该数据库检测方法的具体流程如下:
101、获取待检测数据库的设计文档。
其中,待检测数据库的设计文档可以包括概念数据模型设计文档(ConceptualData Model,CDM)、逻辑数据模型设计文档(Logical Data Model,LDM)和物理数据模型设计文档(Physical Data Model,PDM)等设计文档。
所谓CDM文档,可以存储概念数据模型的信息,比如,用户对数据存储的需求,以数据类的方式描述企业级的数据需求,数据类代表了在业务环境中自然聚集成的几个主要类别数据。CDM文档还可以存储重要的实体及实体之间的关系。其中,实体可以为抽象出来的对象,比如,在选课系统中的,学生、教师、班级和课程等等都是实体。
所谓LDM文档,可以存储逻辑数据模型信息。比如,系统分析设计人员对数据存储的观点,是对概念数据模型的进一步分解和细化。其中,逻辑数据模型是根据业务规则确定的,关于业务对象、业务对象的数据及业务对象之间的关系的基本蓝图。逻辑数据模型的内容包括所有实体和关系,确定每个实体的属性,定义每个实体的主键,指定实体的外键,需要进行规范化处理。
所谓PDM文档,可以存储物理数据模型信息。比如,确定所有的表和列,定义外键用于确定表之间的关系,基于用户的需求可能进行发范式化等内容。其中,物理数据模型是永爱指定如何用数据库模式来实现逻辑数据模型,以及真正的保存数据。
例如,确定待检测数据库,从该数据库中获取设计文档,获取设计文档的方式可以有多种,比如,可以利用数据库设计软件PowerDesigner导出待检测数据库的CDM、LDM和PDM等设计文档,还可以从数据库原始设计文档中获取CDM、LDM和PDM等设计文档。在此需要说明的是在数据库设计过程中,设计文档可以包含至少一个设计文件,一个设计文件中至少包括一个数据库模型结构。
102、解析设计文档,以确定设计文档中内容之间的结构关系。
其中,结构关系可以包括构成设计文档结构的内容与内容之间的关系,比如,该设计文档的内容可以包括4个部分,譬如A、B、C和D,A为该设计文档中逻辑数据模型的实体信息,比如该逻辑数据模型可以包含多少实体,B为逻辑数据模型的实体属性信息,比如每个实体的具体属性,C为逻辑数据模型的实体之间的关系,比如每个实体之间的关系,D为逻辑数据模型的实体应用场景信息,比如每个实体的应用场景信息,四个部分的关联关系就构成了该设计文档的结构关系。
例如,解析设计文档的方式可以包括多种,比如,可以针对CDM、LDM和PDM等设计文档开发对应的解析组件,利用解析组件对CDM、LDM和PDM等设计文档的内容进行读取,比如,读取出设计文档中的代码的内容、代码的含义及具体的注释、代码的领域和索引信息等内容。对读取出的内容进行分类,分类的方式有多种,可以按照内容中的代码的作用进行分类,比如,一个设计文档中的设计代码可以包括生成实体信息、获取实体属性信息、获取实体关系信息和/或生成应用场景信息等作用,按照作用不同进行分类,分为生成实体信息部分、获取实体属性信息部分、获取实体关系信息部分和/或生成应用场景信息部分等类型。还可以按照设计文档中内容代码所处的位置进行划分,比如,将应用于底层的代码分为底层部分,将应用于中间层的代码分为中间部分,将应用于交互层面的代码分为交互部分,其中,底层部分、中间部分和交互部分相互关联,共同组成数据库设计文档的数据模型结构。
基于待检测数据库的设计文档的内容的分类结果,获取不同类型内容之间的关系,比如,将设计文档的内容分为了生成实体信息部分、获取实体属性信息部分、获取实体关系信息部分和/或生成应用场景信息部分等类型,可以获取生成实体信息部分与获取实体属性信息部分的关系,譬如,生成实体信息部分生成的实体种类与数量,根据实体的种类与数量,获取实体属性信息部分相对应的每个种类或者每个实体的属性信息,比如实体的名称、实体的标识和实体在数据库中的位置等属性信息。还可以获取生成实体信息部分与获取实体关系信息部分的关系,譬如,生成实体信息部分生成的实体种类与数量,根据实体的种类与数量,获取实体关系信息部分对应的不同种类或者不同实体之间的关系。
根据不同内容之间的关系,生成设计文档中内容之间的结构关系。比如,根据不同内容之间的关系,按整个设计文档的结构对不同内容进行排列,得到整个设计文档的整体框架结构,将不同内容之间的关系与设计文档的框架结构进行关联,得到设计文档中内容之间的结构关系,譬如,设计文档包括内容1、内容2和内容3,根据三个内容之间的关系,按照整个设计文档的结构对内容进行排列,比如,将内容1排在头部,内容2排在中部,内容3排在尾部,根据内容1、内容2和内容3之间的关系,结合头部的内容1、中部的内容2和尾部的内容3,得到设计文档的结构关系,即组成设计文档的内容1、内容2和内容3的结构关系。
103、基于结构关系构建关系树,并获取关系树中节点的属性信息。
其中,关系树又称树形结构,可以为数据元素之间存在着“一对多”的树形关系的数据结构,是一类重要的非线性数据结构。在树形结构中,元素与元素之间通过节点相连,构成树形结构,其中,把树形结构比作一棵树,树根节点没有前驱节点,其余每个节点有且只有一个前驱节点。叶子节点没有后续节点,其余每个节点的后续节点数可以是一个也可以是多个。
所谓节点,可以看作数据库结构中的数据点,也可以为数据库设计文档中不同内容块在数据库模型中的映射点,其中,关系树或树形结构中包含多个节点,不同节点及节点间的关系构成了关系树的主体结构。在数据库设计文档中,节点可以包括实体信息、实体属性信息和/或实体应用场景信息等信息。
例如,在设计文档的内容之间的结构关系中提取层级关系,其中,层级关系可以包括不同内容在结构关系中所处层级对应的关系,比如,可以通过逻辑关系划分不同内容在结构关系中的不同层级,譬如,不同内容包括内容1、内容2和内容3,在结构关系中,内容1位于结构关系的底层,内容2位于结构关系的中间,内容3位于结构关系的顶部,其中,内容1为内容2和内容3的基础,存在内容1才能生成或得到内容2和内容3,内容3为内容2在业务场景的实际应用,由此可以得出,内容1、内容2和内容3在结构关系中的层级关系可以为内容1-内容2-内容3,也可以为内容3-内容2-内容1,将该层级关系提取出来。
在层级关系的基础上,在设计文档中筛选不同层级的内容,比如,设计文档的内容的结构关系中层级关系可以为内容1-内容2-内容3。获取在不同层级的内容中存在关联关系的数据块,比如,可以为内容1与内容2之间存在关联关系的数据块,也可以为内容1里存在关联关系的数据块1和数据块2。在不同层级的内容中获取这两类数据块,得到关联关系数据块集合。在层级关系中添加数据块,以构建关系树。比如,以设计文档的内容的结构关系中层级关系为内容1-内容2-内容3为例,内容1位于结构关系的底部,对应在关系树的位置为树根位置,在内容1中获取存在关联关系的数据块1、数据块2和数据块3,此时数据块1在三个数据块的最底层,则数据块1对应在树根的根节点位置,数据块2和数据块3依次沿着树根往上排列,又譬如,数据块3与内容2中的数据块4存在关联关系,则内容2对应在关系树中为树干,数据块4可以为树干的第一个节点,后面按存在关联关系的数据块依次添加到关系树的树干中,形成干路和之路,最后得到内容3中对应叶节点的数据块,以完成关系树的构建,常见的关系树如图3所示。
在关系树中获取节点,关系树中各分支点、根节点和叶节点都为关系树的节点,将获取到的至少一个节点在设计文档的内容中提取出对应节点的属性信息,比如,在关系树中获取到节点A、节点B和节点C,在设计文档中提取节点A的属性信息、节点B的属性信息和节点C的属性信息,其中,属性信息可以包括节点的名称、标识和数据类型等信息。
104、根据关系树和节点属性信息生成待检测数据库的结构化信息。
其中,结构化信息可以为组织成行列结构,可识别的数据,这类数据通常是一条记录,或者一个文件,或者是被正确标记过的数据中的某一个字段,并且可以被精确地定位到。在本数据库的设计文档中可以为信息经过分析后可分解成多个互相关联的组成部分,各组成部分之间有明确的层次结构。
例如,在关系树中提取节点关系信息,比如,在关系树中可以得出各个节点之间的关系,譬如,节点A与节点B可以为同一类型节点的不同分支,节点A与节点C为同一条支路的前后相邻的节点,等等。将关系树中的各个节点之间的关系以节点关系信息的形式提取出。将提取出的节点关系信息与节点属性信息进行融合,融合的方式可以有多种,比如,可以对节点关系信息与节点属性信息进行合并,将合并的信息作为待检测数据库的结构化信息。还可以将节点信息与节点属性信息进行关联,将关联后的信息作为待检测数据库的结构化信息,比如,将节点属性信息中单个节点属性信息与节点关系信息中对应的节点进行关联,添加关联关系后,将对应的节点属性信息添加到对应的节点关系信息中,组成待检测数据库的结构化信息。
105、对待检测数据库的结构化信息进行检测,得到检测结果。
(1)对待检测数据库的结构化信息进行分类
例如,对待检测数据库的结构化信息进行检测,进行检测之前可以先对待检测数据库的结构化信息进行分类,比如,可以分为命名类信息、注释说明类信息、字段类型信息、索引类信息、枚举值类信息、预留字段类信息和领域类信息等信息。在这些大类别中还可以再继续细分,每个大类别再细分成多个小类别。
(2)在不同类型的结构化信息中,按照检测等级选择对应类型的结构化信息
例如,当检测到用户针对检测页面的检测等级控件操作时,生成检测等级列表,比如,用户在检测页面触发检测登记控件时,生成检测等级列表,以检测等级为三级为例,可以分为非常重要、重要和一般三个检测等级,其中,非常重要级别对应的是对全部结构化信息进行强制检测,重要级别对应的是对结构化信息中的重要类别的结构化信息进行检测,一般级别对应的是对部分常用结构化信息进行检测。譬如,待检测数据库的结构化信息可以分为A、B和C三种类型的结构化信息,如果选择的检测级别为非常重要,则对A、B和C三种类型的全部结构化信息进行检测,如果选择的检测级别为重要,则对三种类型中的重要结构化信息进行检测,比如,假设重要的结构化信息为A和B两种类型的结构化信息,则只对A和B两种类型的结构化信息进行检测,如果选择的检测级别为一般,比如,假设常用结构化信息为C类结构化信息,则只对C类结构化信息检测。
其中,在用户针对检测页面的检测等级控件的操作之前,用户可以将待检测数据库的设计文档上传或导入到检测页面,如图4所示。比如,将CDM、LDM和PDM文档上传到数据库检测装置,数据库检测装置接收到上传或导入的文档后,在检测页面显示上传或导入成功。
(3)将选择的结构化信息与预设结构化信息进行对比,得到检测结果
例如,根据选择的结构化信息,创建对应类型的正则表达式,将正则表达式与选择的结构化信息进行匹配。其中,正则表达式又称规则表达式(Regular Expression,RE),正则表达式是对字符串包括普通字符(例如,a到z之间的字母)和特殊字符(称为“元字符”)操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。比如,结构化信息中包含注释说明信息,创建注释说明信息对应的正则表达式,将检测规则或规范添加进正则表达式,譬如,在正则表达式中添加“表必须有注释说明”和“字段名需要有comment注释”等规范命令,构成对注释说明字符串的过滤逻辑,在结构化信息中对注释说明的字符串进行检测,如果发现存在表但是没有注释说明,则说明与注释说明信息对应的正则表达式不匹配,检测存在问题,又比如,对字段名的字符串进行检测,发现结构化信息中字段名的字符串都有comment注释,则说明与注释说明信息对应的正则表达式匹配,通过类型结构化信息的检测。
例如,用户在检测页面上选择的检测等级为L0,对设计文档的结构化信息中对应L0等级的一个或多个类型的结构化信息进行检测,以命名规范的正则表达式为例,对设计文档的结构化信息进行匹配,假设结构化信息中某一行代码中对表的命名为‘Table-1’,进行检测的过程中,发现与正则表达式不匹配,说明待检测数据库不符合设计文档的要求。假设结构化信息中对表的命名都为’table_**’,进行检测,发现与正则表达式匹配,说明待检测数据库符合设计文档要求。在此需要强调的是确定待检测数据库符合设计文档要求的前期时根据选定的检测等级在对应结构化信息中每一行代码都与对应类型正则表达式相匹配,都符合正则表达式中的设计规范或规则,若存在一项不符合的设计规范或规则的结构化信息,此时待检测数据库也不符合设计文档的要求。
当选择的结构化信息与正则表达式不匹配时,确定待检测数据库不符合设计要求的同时可以在检测页面生成提示信息,比如,可以显示检测未通过的结构化信息的类型,譬如,命名规范类型未通过,还可以显示在具体的代码位置以及错误原因,如图5所示。在显示提示信息的时候,还可以针对错误代码给出正确代码的提示信息,可以帮助用户快速修改错误代码,比如,可以生成提示信息如下:
在该提示信息后还可以添加修改控件,当检测到用户针对修改控件的操作时,跳转到设计文档的结构化信息中进行编辑,针对编辑的方式,用户可以选择按照修改建议自动修改,还可以进行手动编辑。
由以上可知,本实施例在获取待检测数据库的设计文档后,解析设计文档,以确定设计文档中内容之间的结构关系,基于结构关系构建关系树,并获取关系树中节点的属性信息,根据关系树和节点属性信息生成待检测数据库的结构化信息,对待检测数据库的结构化信息进行检测,得到检测结果。由于该方案对数据库检测过程中,仅仅针对设计文档中的结构化信息进行检测,而不是对设计文档的全部内容进行检测,大大提高了检测效率。
根据上一个实施例所描述的方法,以下将举例作进一步详细说明。
在实施例中,将以该数据库检测装置具体集成在电子设备为例进行说明。
如图6所示,一种数据库检测方法,具体流程如下:
201、电子设备获取待检测数据库的设计文档。
例如,电子设备确定待检测数据库,从该数据库中获取设计文档,获取设计文档的方式可以有多种,比如,电子设备可以利用数据库设计软件PowerDesigner导出待检测数据库的CDM、LDM和PDM等设计文档,还可以从数据库原始设计文档中获取CDM、LDM和PDM等设计文档上传到电子设备中。在此需要说明的是在数据库设计过程中,设计文档可以包含至少一个设计文件,一个设计文件中至少包括一个数据库模型结构。
202、电子设备解析设计文档,以确定设计文档中内容之间的结构关系。
例如,电子设备可以内含针对CDM、LDM和PDM等设计文档的解析组件,利用解析组件对CDM、LDM和PDM等设计文档的内容进行读取,读取出设计文档中的代码的内容、代码的含义及具体的注释、代码的领域和索引信息等内容。对读取出的内容进行分类,分类的方式有多种,可以按照内容中的代码的作用进行分类,按照作用不同进行分类,分为生成实体信息部分、获取实体属性信息部分、获取实体关系信息部分和/或生成应用场景信息部分等类型。还可以按照设计文档中内容代码所处的位置进行划分,比如,将应用于底层的代码分为底层部分,将应用于中间层的代码分为中间部分,将应用于交互层面的代码分为交互部分,其中,底层部分、中间部分和交互部分相互关联,共同组成数据库设计文档的数据模型结构。
基于待检测数据库的设计文档的内容的分类结果,可以将设计文档的内容分为了生成实体信息部分、获取实体属性信息部分、获取实体关系信息部分和/或生成应用场景信息部分等类型,电子设备可以获取生成实体信息部分与获取实体属性信息部分的关系。比如,生成实体信息部分生成的实体种类与数量,根据实体的种类与数量,获取实体属性信息部分相对应的每个种类或者每个实体的属性信息,比如实体的名称、实体的标识和实体在数据库中的位置等属性信息。还可以获取生成实体信息部分与获取实体关系信息部分的关系。
电子设备根据不同内容之间的关系,按整个设计文档的结构对不同内容进行排列,得到整个设计文档的整体框架结构,将不同内容之间的关系与设计文档的框架结构进行关联,得到设计文档中内容之间的结构关系。
203、电子设备基于结构关系构建关系树,并获取关系树中节点的属性信息。
例如,电子设备在设计文档的内容之间的结构关系中可以通过逻辑关系划分不同内容在结构关系中的不同层级,譬如,不同内容包括内容1、内容2和内容3,在结构关系中,内容1位于结构关系的底层,内容2位于结构关系的中间,内容3位于结构关系的顶部,其中,内容1为内容2和内容3的基础,存在内容1才能生成或得到内容2和内容,在内容2和内容3之间,内容3为内容2在业务场景的实际应用,由此可以得出,内容1、内容2和内容3在结构关系中的层级关系可以为内容1-内容2-内容3,也可以为内容3-内容2-内容1,将该层级关系提取出来。
在层级关系的基础上,电子设备在设计文档中筛选不同层级的内容,比如,设计文档的内容的结构关系中层级关系可以为内容1-内容2-内容3。电子设备获取在不同层级的内容中存在关联关系的数据块,比如,可以为内容1与内容2之间存在关联关系的数据块,也可以为内容1里存在关联关系的数据块1和数据块2。在不同层级的内容中获取这两类数据块,得到关联关系数据块集合。在层级关系中添加数据块,以构建关系树。比如,以设计文档的内容的结构关系中层级关系为内容1-内容2-内容3为例,内容1位于结构关系的底部,对应在关系树的位置为树根位置,在内容1中获取存在关联关系的数据块1、数据块2和数据块3,此时数据块1在三个数据块的最底层,则数据块1对应在树根的根节点位置,数据块2和数据块3依次沿着树根往上排列,由譬如,数据块3与内容2中的数据块4存在关联关系,则内容2对应在关系树中为树干,数据块4可以为树干的第一个节点,后面按存在关联关系的数据块依次添加到关系树的树干中,形成干路和之路,最后得到内容3中对应叶节点的数据块,以完成关系树的构建,常见的关系树如图3所示。
电子设备在关系树中获取节点,关系树中各分支点、根节点和叶节点都为关系树的节点,将获取到的至少一个节点在设计文档的内容中提取出对应节点的属性信息。
204、电子设备根据关系树和节点属性信息生成待检测数据库的结构化信息。
例如,电子设备在关系树中可以得出各个节点之间的关系,譬如,节点A与节点B可以为同一类型节点的不同分支,节点A与节点C为同一条支路的前后相邻的节点,等等。电子设备将关系树中的各个节点之间的关系以节点关系信息的形式提取出。将提取出的节点关系信息与节点属性信息进行融合,融合的方式可以有多种,比如,可以对节点关系信息与节点属性信息进行合并,将合并的信息作为待检测数据库的结构化信息。还可以将节点信息与节点属性信息进行关联,将关联后的信息作为待检测数据库的结构化信息,比如,将节点属性信息中单个节点属性信息与节点关系信息中对应的节点进行关联,添加关联关系后,将对应的节点属性信息添加到对应的节点关系信息中,组成待检测数据库的结构化信息。
205、电子设备对待检测数据库的结构化信息进行分类。
例如,电子设备对待检测数据库的结构化信息进行分类,比如,可以分为命名类信息、注释说明类信息、字段类型信息、索引类信息、枚举值类信息、预留字段类信息和领域类信息等信息。在这些大类别中还可以再继续细分,每个大类别再细分成多个小类别。
206、在不同类型的结构化信息中,电子设备按照检测等级选择对应类型的结构化信息。
例如,当检测到用户在检测页面触发检测登记控件时,电子设备生成检测等级列表,以检测等级为三级为例,可以分为非常重要、重要和一般三个检测等级,其中,非常重要级别对应的是对全部结构化信息进行强制检测,重要级别对应的是对结构化信息中的重要类别的结构化信息进行检测,一般级别对应的是对部分常用结构化信息进行检测。譬如,待检测数据库的结构化信息可以分为A、B和C三种类型的结构化信息,如果选择的检测级别为非常重要,则对A、B和C三种类型的全部结构化信息进行检测,如果选择的检测级别为重要,则对三种类型中的重要结构化信息进行检测,比如,假设重要的结构化信息为A和B两种类型的结构化信息,则只对A和B两种类型的结构化信息进行检测,如果选择的检测级别为一般,比如,假设常用结构化信息为C类结构化信息,则只对C类结构化信息检测。
其中,在用户针对检测页面的检测等级控件的操作之前,用户可以将待检测数据库的设计文档上传或导入到检测页面,如图4所示。比如,将CDM、LDM和PDM文档上传到数据库检测装置,数据库检测装置接收到上传或导入的文档后,在检测页面显示上传或导入成功。
207、电子设备将选择的结构化信息与预设结构化信息进行对比,得到检测结果。
例如,根据选择的结构化信息,电子设备创建对应类型的正则表达式,将正则表达式与选择的结构化信息进行匹配。比如,结构化信息中包含注释说明信息,创建注释说明信息对应的正则表达式,将检测规则或规范添加进正则表达式,譬如,在正则表达式中添加“表必须有注释说明”和“字段名需要有comment注释”等规范命令,构成对注释说明字符串的过滤逻辑,在结构化信息中对注释说明的字符串进行检测,如果发现存在表但是没有注释说明,则说明与注释说明信息对应的正则表达式不匹配,检测存在问题,又比如,对字段名的字符串进行检测,发现结构化信息中字段名的字符串都有comment注释,则说明与注释说明信息对应的正则表达式匹配,通过类型结构化信息的检测。
常见的结构化信息正则表达式中的规范如下表所示。
以上表为例,对于不同类型的结构化信息,可以设定不同的检测等级,比如,可以设定L0、L1和L2等检测等级,当选择检测等级为L0时,对上表中对应检测等级为L0结构结构化信息进行检测,以上检测等级可以根据实际应用来设定。当检测到用户在检测页面未选择检测等级时,也可以设定默认检测等级为L0或检测等级中任意等级。如何判断用户在检测页面未选择检测等级主要通过用户在预设时间范围内未在检测页面的检测等级控件上进行操作,预设时间按照实际应用进行设定。
例如,用户在检测页面上选择的检测等级为L0,电子设备对设计文档的结构化信息中对应L0等级的一个或多个类型的结构化信息进行检测,以常用的命名规范的正则表达式为例,对设计文档的结构化信息进行匹配,假设结构化信息中某一行代码中对表的命名为‘Table-1’,进行检测的过程中,发现与正则表达式不匹配,说明待检测数据库不符合设计文档的要求。假设结构化信息中对表的命名都为’table_**’,进行检测,发现与正则表达式匹配,说明待检测数据库符合设计文档要求。在此需要强调的是确定待检测数据库符合设计文档要求的前期时根据选定的检测等级在对应结构化信息中每一行代码都与对应类型正则表达式相匹配,都符合正则表达式中的设计规范或规则,若存在一项不符合的设计规范或规则的结构化信息,此时待检测数据库也不符合设计文档的要求。
当选择的结构化信息与正则表达式不匹配时,电子设备确定待检测数据库不符合设计要求的同时可以在检测页面生成提示信息,比如,可以显示检测未通过的结构化信息的类型,譬如,命名规范类型未通过,还可以显示在具体的代码位置以及错误原因,如图5所示。在显示提示信息的时候,电子设备还可以针对错误代码给出正确代码的提示信息,可以帮助用户快速修改错误代码,比如,可以生成提示信息如下:
在该提示信息后还可以添加修改控件,当检测到用户针对修改控件的操作时,跳转到设计文档的结构化信息中进行编辑,针对编辑的方式,用户可以选择按照修改建议自动修改,还可以进行手动编辑。
由以上可知,本实施例在电子设备获取待检测数据库的设计文档后,解析设计文档,以确定设计文档中内容之间的结构关系,基于结构关系构建关系树,并获取关系树中节点的属性信息,根据关系树和节点属性信息生成待检测数据库的结构化信息,对待检测数据库的结构化信息进行检测,得到检测结果。由于该方案对数据库检测过程中,仅仅针对设计文档中的结构化信息进行检测,而不是对设计文档的全部内容进行检测,大大提高了检测效率。
为了更好的实施以上方法,本发明实施例还提供一种数据库检测装置,该数据库检测装置可以集成在电子设备中,该电子设备可以包括服务器和终端等设备。
例如,参考图7,该数据库检测装置可以包括获取单元301、解析单元302、构建单元303、生成单元304和检测单元305,如下:
(1)获取单元301;
获取单元301,用于获取待检测数据库的设计文档;
例如,获取单元301,具体可以用于利用数据库设计软件PowerDesigner导出待检测数据库的CDM、LDM和PDM等设计文档,还可以从数据库原始设计文档中获取CDM、LDM和PDM等设计文档。
(2)解析单元302;
解析单元302,用于解析设计文档,以确定设计文档中内容之间的结构关系;
其中,解析单元302可以包括读取子单元3021、第一分类子单元3022、第一获取子单元3023和第一生成子单元3024,如图8所示,具体如下:
读取子单元3021,用于读取设计文档的内容;
第一分类子单元3022,用于对设计文档的内容进行分类;
第一获取子单元3023,用于基于分类结构,获取不同类型内容之间的关系;
第一生成子单元3024,用于根据不同内容之间的关系,生成设计文档中内容之间的结构关系。
例如,读取子单元3021读取设计文档的内容,第一分类子单元3022对设计文档的内容进行分类,第一获取子单元3023基于分类结构,获取不同类型内容之间的关系,第一生成子单元3024根据不同内容之间的关系,生成设计文档中内容之间的结构关系。
(3)构建单元303;
构建单元303,用于基于结构关系构建关系树,并获取关系树中节点的属性信息;
其中,构建单元303可以包括提取子单元3031、构建子单元3032和第二获取子单元3033,如图9所示,具体如下:
提取子单元3031,用于在结构关系中提取层级关系;
构建子单元3032,用于基于层级关系,在设计文档的内容中构建所述关系树;
第二获取子单元3033,用于获取关系树中节点的属性信息。
例如,提取子单元3031在结构关系中提取层级关系,构建子单元3032基于层级关系,在设计文档的内容中构建所述关系树,第二获取子单元3033获取关系树中节点的属性信息。
(4)生成单元304;
生成单元304,用于根据关系树和所述节点属性信息生成待检测数据库的结构化信息;
例如,生成单元304,具体用于在关系树中提取节点关系信息,将节点关系信息与节点属性信息进行组合,将组合后的信息作为所述待检测数据库的结构化信息。
(5)检测单元305;
检测单元305,用于对待检测数据库的结构化信息进行检测,得到检测结果;
其中,检测单元305可以包括第二分类子单元3051、选择子单元3052和对比子单元3053,如图10所示,具体如下:
第二分类子单元3051,用于对待检测数据库的结构化信息进行分类;
选择子单元3052,用于在不同类型的结构化信息中,按照检测等级选择对应类型的结构化信息;
对比子单元3053,用于根据选择的结构化信息,创建对应类型的正则表达式,将所述正则表达式与所述选择的结构化信息进行匹配,当所述选择的结构化信息与所述正则表达式匹配时,确定所述待检测数据符合所述设计文档要求;当所述选择的结构化信息与所述正则表达式不匹配时,确定所述待检测数据库不符合所述设计文档的要求。
例如,第二分类子单元3051对待检测数据库的结构化信息进行分类,选择子单元3052在不同类型的结构化信息中,按照检测等级选择对应类型的结构化信息,对比子单元3053根据选择的结构化信息,创建对应类型的正则表达式,将所述正则表达式与所述选择的结构化信息进行匹配,当所述选择的结构化信息与所述正则表达式匹配时,确定所述待检测数据符合所述设计文档要求;当所述选择的结构化信息与所述正则表达式不匹配时,确定所述待检测数据库不符合所述设计文档的要求。
在一实施例中,检测单元305还可以包括第二生成子单元3054,如图11所示,具体如下:
第二生成子单元3054,用于当选择的结构化信息与正则表达式不匹配时,生成提示信息,该提示信息包括未合格代码信息。
例如,第二生成子单元3054,具体用于当选择的结构化信息与正则表达式不匹配时,确定待检测数据库不符合设计要求的同时可以在检测页面生成提示信息,比如,可以显示检测未通过的结构化信息的类型,譬如,命名规范类型未通过,还可以显示在具体的代码位置以及错误原因。在显示提示信息的时候,还可以针对错误代码给出正确代码的提示信息,可以帮助用户快速修改错误代码。
由以上可知,本实施例的数据库检测装置由获取单元301在获取待检测数据库的设计文档后,解析单元302解析设计文档,以确定设计文档中内容之间的结构关系,构建单元303基于结构关系构建关系树,并获取关系树中节点的属性信息,生成单元304根据关系树和节点属性信息生成待检测数据库的结构化信息,检测单元305对待检测数据库的结构化信息进行检测,得到检测结果。由于该方案对数据库检测过程中,仅仅针对设计文档中的结构化信息进行检测,而不是对设计文档的全部内容进行检测,大大提高了检测效率。
本发明实施例还提供一种电子设备,如图12所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图12中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
获取待检测数据库的设计文档,解析设计文档,以确定设计文档中内容之间的结构关系,基于结构关系构建关系树,并获取关系树中节点的属性信息,根据关系树和节点属性信息生成待检测数据库的结构化信息,对待检测数据库的结构化信息进行检测,得到检测结果。
例如,具体可以确定待检测数据库,从该数据库中获取设计文档,可以利用数据库设计软件PowerDesigner导出待检测数据库的CDM、LDM和PDM等设计文档,还可以从数据库原始设计文档中获取CDM、LDM和PDM等设计文档。可以针对CDM、LDM和PDM等设计文档开发对应的解析组件,利用解析组件对CDM、LDM和PDM等设计文档的内容进行读取,比如,读取出设计文档中的代码的内容、代码的含义及具体的注释、代码的领域和索引信息等内容。对读取出的内容进行分类,分类的方式有多种,可以按照内容中的代码的作用进行分类,基于待检测数据库的设计文档的内容的分类结果,获取不同类型内容之间的关系,根据不同内容之间的关系,生成设计文档中内容之间的结构关系。比如,根据不同内容之间的关系,按整个设计文档的结构对不同内容进行排列,得到整个设计文档的整体框架结构,将不同内容之间的关系与设计文档的框架结构进行关联,得到设计文档中内容之间的结构关系。在设计文档的内容之间的结构关系中提取层级关系,其中,层级关系可以包括不同内容在结构关系中所处层级对应的关系,比如,可以通过逻辑关系划分不同内容在结构关系中的不同层级,在层级关系的基础上,根据该层级关系在设计文档中筛选不同层级的内容,获取在不同层级的内容中存在关联关系的数据块,在该层级关系中添加数据块,以构建关系树。在关系树中获取节点,关系树中各分支点、根节点和叶节点都为关系树的节点,将获取到的至少一个节点在设计文档的内容中提取出对应节点的属性信息。在关系树中提取节点关系信息,比如,在关系树中可以得出各个节点之间的关系,将关系树中的各个节点之间的关系以节点关系信息的形式提取出。将提取出的节点关系信息与节点属性信息进行组合,可以对节点关系信息与节点属性信息进行合并,将合并的信息作为待检测数据库的结构化信息。对待检测数据库的结构化信息进行检测,进行检测之前可以先对待检测数据库的结构化信息进行分类,当检测到用户针对检测页面的检测等级控件操作时,生成检测等级列表,按照检测等级选择对应类型的结构化信息,根据选择的结构化信息,创建对应类型的正则表达式,将正则表达式与选择的结构化信息进行匹配,当所述选择的结构化信息与所述正则表达式匹配时,确定所述待检测数据符合所述设计文档要求,当所述选择的结构化信息与所述正则表达式不匹配时,确定所述待检测数据库不符合所述设计文档的要求。
以上各个操作的具体实施可参见前面的实施例,在此不做赘述。
由以上可知,本实施例在获取待检测数据库的设计文档后,解析设计文档,以确定设计文档中内容之间的结构关系,基于结构关系构建关系树,并获取关系树中节点的属性信息,根据关系树和节点属性信息生成待检测数据库的结构化信息,对待检测数据库的结构化信息进行检测,得到检测结果。由于该方案对数据库检测过程中,仅仅针对设计文档中的结构化信息进行检测,而不是对设计文档的全部内容进行检测,大大提高了检测效率。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种数据库检测方法的步骤。例如,该指令可以执行如下步骤:
获取待检测数据库的设计文档,解析设计文档,以确定设计文档中内容之间的结构关系,基于结构关系构建关系树,并获取关系树中节点的属性信息,根据关系树和节点属性信息生成待检测数据库的结构化信息,对待检测数据库的结构化信息进行检测,得到检测结果。
例如,具体可以确定待检测数据库,从该数据库中获取设计文档,可以利用数据库设计软件PowerDesigner导出待检测数据库的CDM、LDM和PDM等设计文档,还可以从数据库原始设计文档中获取CDM、LDM和PDM等设计文档。可以针对CDM、LDM和PDM等设计文档开发对应的解析组件,利用解析组件对CDM、LDM和PDM等设计文档的内容进行读取,比如,读取出设计文档中的代码的内容、代码的含义及具体的注释、代码的领域和索引信息等内容。对读取出的内容进行分类,分类的方式有多种,可以按照内容中的代码的作用进行分类,基于待检测数据库的设计文档的内容的分类结果,获取不同类型内容之间的关系,根据不同内容之间的关系,生成设计文档中内容之间的结构关系。比如,根据不同内容之间的关系,按整个设计文档的结构对不同内容进行排列,得到整个设计文档的整体框架结构,将不同内容之间的关系与设计文档的框架结构进行关联,得到设计文档中内容之间的结构关系。在设计文档的内容之间的结构关系中提取层级关系,其中,层级关系可以包括不同内容在结构关系中所处层级对应的关系,比如,可以通过逻辑关系划分不同内容在结构关系中的不同层级,在层级关系的基础上,根据该层级关系在设计文档中筛选不同层级的内容,获取在不同层级的内容中存在关联关系的数据块,在该层级关系中添加数据块,以构建关系树。在关系树中获取节点,关系树中各分支点、根节点和叶节点都为关系树的节点,将获取到的至少一个节点在设计文档的内容中提取出对应节点的属性信息。在关系树中提取节点关系信息,比如,在关系树中可以得出各个节点之间的关系,将关系树中的各个节点之间的关系以节点关系信息的形式提取出。将提取出的节点关系信息与节点属性信息进行组合,可以对节点关系信息与节点属性信息进行合并,将合并的信息作为待检测数据库的结构化信息。对待检测数据库的结构化信息进行检测,进行检测之前可以先对待检测数据库的结构化信息进行分类,当检测到用户针对检测页面的检测等级控件操作时,生成检测等级列表,按照检测等级选择对应类型的结构化信息,根据选择的结构化信息,创建对应类型的正则表达式,将正则表达式与选择的结构化信息进行匹配,当所述选择的结构化信息与所述正则表达式匹配时,确定所述待检测数据符合所述设计文档要求,当所述选择的结构化信息与所述正则表达式不匹配时,确定所述待检测数据库不符合所述设计文档的要求。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种数据库检测方法中的步骤,因此,可以实现本发明实施例所提供的任一种数据库检测方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种数据库检测方法、装置和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种数据库检测方法,其特征在于,包括:
获取待检测数据库的设计文档;
解析所述设计文档,以确定所述设计文档中内容之间的结构关系,所述结构关系由整体框架结构与不同内容之间的关系进行关联得到的,所述整体框架结构为根据不同内容之间的关系按所述设计文档的结构对不同内容进行排列得到的;
基于所述结构关系构建关系树,并获取所述关系树中节点的属性信息;
根据所述关系树和所述节点的属性信息生成所述待检测数据库的结构化信息;
对所述待检测数据库的结构化信息进行分类,其中,所述分类的类型包括命名类信息、注释说明类信息、字段类型信息、索引类信息、枚举值类信息、预留字段类信息和领域类信息;
在不同类型的结构化信息中,按照检测等级选择对应类型的结构化信息,每种所述检测等级对应相应的一种或多种类型的结构化信息;
将选择的结构化信息与预设结构化信息进行对比,得到检测结果。
2.根据权利要求1所述的数据库检测方法,其特征在于,基于所述结构关系构建关系树,包括:
在所述结构关系中提取所述设计文档中内容之间的层级关系;
基于所述层级关系,构建关系树。
3.根据权利要求2所述的数据库检测方法,其特征在于,基于所述层级关系,构建关系树,包括:
根据所述层级关系在所述设计文档中筛选不同层级的内容;
获取在所述不同层级的内容中存在关联关系的数据块;
在所述层级关系中添加所述数据块,以构建关系树。
4.根据权利要求1所述的数据库检测方法,其特征在于,获取所述关系树中节点的属性信息,包括:
获取所述关系树中至少一个节点;
根据获取到的节点,在所述设计文档的内容中提取所述节点的属性信息。
5.根据权利要求1至3任一项所述的数据库检测方法,其特征在于,根据所述关系树和所述节点属性信息生成所述待检测数据库的结构化信息,包括:
在所述关系树中提取节点关系信息;
将所述节点关系信息与所述节点属性信息进行融合;
将融合后的信息作为所述待检测数据库的结构化信息。
6.根据权利要求1所述的数据库检测方法,其特征在于,按照检测等级选择对应类型的结构化信息,包括:
当检测到用户针对检测页面的检测等级控件操作时,生成检测等级列表,所述检测等级列表包括多个检测等级;
当检测到用户针对所述检测等级列表中的检测等级的选择操作时,按照选定的检测等级选择对应类型的结构化信息。
7.根据权利要求1所述的数据库检测方法,其特征在于,将选择的结构化信息与预设结构化信息进行对比,得到检测结果,包括:
根据选择的结构化信息,创建对应类型的正则表达式;
将所述正则表达式与所述选择的结构化信息进行匹配;
当所述选择的结构化信息与所述正则表达式匹配时,确定所述待检测数据库符合所述设计文档要求;
当所述选择的结构化信息与所述正则表达式不匹配时,确定所述待检测数据库不符合所述设计文档的要求。
8.根据权利要求7所述的数据库检测方法,其特征在于,当所述选择的结构化信息与所述正则表达式不匹配时,确定所述待检测数据库不符合所述设计文档的要求之后,还包括:
当所述选择的结构化信息与所述正则表达式不匹配时,生成提示信息,所述提示信息包括未合格代码信息。
9.根据权利要求1至3任一项所述的数据库检测方法,其特征在于,解析所述设计文档,以确定所述设计文档中内容之间的结构关系,包括:
读取所述设计文档的内容;
对所述设计文档的内容进行分类;
基于分类结果,获取不同类型内容之间的关系;
根据不同内容之间的关系,生成所述设计文档中内容之间的结构关系。
10.一种数据库检测装置,其特征在于,包括:
获取单元,用于获取待检测数据库的设计文档;
解析单元,用于解析所述设计文档,以确定所述设计文档中内容之间的结构关系,所述结构关系由整体框架结构与不同内容之间的关系进行关联得到的,所述整体框架结构为根据不同内容之间的关系按所述设计文档的结构对不同内容进行排列得到的;
构建单元,用于基于所述结构关系构建关系树,并获取所述关系树中节点的属性信息;
生成单元,用于根据所述关系树和所述节点的属性信息生成所述待检测数据库的结构化信息;
检测单元,用于对所述待检测数据库的结构化信息进行检测,得到检测结果;
所述检测单元,用于:
对所述待检测数据库的结构化信息进行分类,其中,所述分类的类型包括命名类信息、注释说明类信息、字段类型信息、索引类信息、枚举值类信息、预留字段类信息和领域类信息;
在不同类型的结构化信息中,按照检测等级选择对应类型的结构化信息,每种所述检测等级对应一种或多种所述类型的结构化信息;
将选择的结构化信息与预设结构化信息进行对比,得到检测结果。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如权利要求1至9任一项所述的数据库检测方法中的步骤。
12.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有多条指令;所述处理器从所述存储器中加载指令,以执行如权利要求1至9任一项所述的数据库检测方法中的步骤。
CN201910730861.8A 2019-08-08 2019-08-08 一种数据库检测方法、装置和计算机可读存储介质 Active CN111190880B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910730861.8A CN111190880B (zh) 2019-08-08 2019-08-08 一种数据库检测方法、装置和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910730861.8A CN111190880B (zh) 2019-08-08 2019-08-08 一种数据库检测方法、装置和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111190880A CN111190880A (zh) 2020-05-22
CN111190880B true CN111190880B (zh) 2024-03-12

Family

ID=70705684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910730861.8A Active CN111190880B (zh) 2019-08-08 2019-08-08 一种数据库检测方法、装置和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111190880B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111752923A (zh) * 2020-06-28 2020-10-09 中国银行股份有限公司 一种脚本监测方法及装置
CN115917447A (zh) * 2020-07-06 2023-04-04 西门子股份公司 用于技术设备的分析系统
CN112100316A (zh) * 2020-09-16 2020-12-18 北京天空卫士网络安全技术有限公司 一种数据管理方法和装置
CN115543955A (zh) * 2021-06-29 2022-12-30 华为云计算技术有限公司 规范设计方法、装置及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050050059A1 (en) * 2003-08-25 2005-03-03 Van Der Linden Robbert C. Method and system for storing structured documents in their native format in a database
CN108132957A (zh) * 2016-12-01 2018-06-08 中国移动通信有限公司研究院 一种数据库处理方法及装置
CN109165143A (zh) * 2018-08-17 2019-01-08 张家港康得新光电材料有限公司 数据库检测方法、系统、服务器及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050050059A1 (en) * 2003-08-25 2005-03-03 Van Der Linden Robbert C. Method and system for storing structured documents in their native format in a database
CN108132957A (zh) * 2016-12-01 2018-06-08 中国移动通信有限公司研究院 一种数据库处理方法及装置
CN109165143A (zh) * 2018-08-17 2019-01-08 张家港康得新光电材料有限公司 数据库检测方法、系统、服务器及存储介质

Also Published As

Publication number Publication date
CN111190880A (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
CN111190880B (zh) 一种数据库检测方法、装置和计算机可读存储介质
WO2020233330A1 (zh) 批量测试方法、装置及计算机可读存储介质
CN110990274B (zh) 一种生成测试案例的数据处理方法、装置及系统
CN102541740B (zh) 一种基于Android的手机便签自动化测试方法
CN107085555A (zh) 代码测试方法、装置、终端及存储介质
CN109800147B (zh) 一种测试案例生成方法及终端设备
CN113554172B (zh) 基于案例文本的裁判规则知识抽取方法及系统
CN102567565A (zh) 一种电缆参数的处理方法和系统
CN112579444A (zh) 基于文本认知的自动分析建模方法、系统、装置及介质
CN114385679A (zh) 一种表结构巡检方法、表结构巡检装置和电子设备
CN115269502A (zh) 投标文件处理方法、设备及存储介质
CN116860227B (zh) 一种基于大数据etl脚本编排的数据开发系统及方法
CN119066467A (zh) 一种基于人工智能的建筑信息模型元素分类方法
KR102832708B1 (ko) 전자 문서에 대한 언어분석을 통해 질의 문장과 응답을 자동으로 생성하는 전자 단말 장치 및 그 동작 방법
Hsiao et al. Automating the generation of hardware component knowledge bases
US20150185986A1 (en) Method for integrated provision of electronic books
JP7795033B1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2006277282A (ja) モデル評価解析システムおよびモデル評価解析プログラム
US9087175B2 (en) Information processing apparatus and design verification method
JP7795032B1 (ja) 情報処理装置、情報処理方法、及びプログラム
CN120705067B (zh) 一种芯片系统测试需求分析方法、装置及介质
CN119848075B (zh) 自然语言到结构化查询生成方法、装置、电子设备及介质
CN117874231B (zh) 文本分类方法、装置、电子设备
CN112445391B (zh) 一种服务数据生成方法、装置和计算机可读存储介质
CN117033347A (zh) 一种基于专利数据的数仓建模方法、系统、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TG01 Patent term adjustment
TG01 Patent term adjustment

Free format text: NEW EXPIRY DATE: 20391129