CN110389941B - 数据库校验方法、装置、设备及存储介质 - Google Patents

数据库校验方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110389941B
CN110389941B CN201910539975.4A CN201910539975A CN110389941B CN 110389941 B CN110389941 B CN 110389941B CN 201910539975 A CN201910539975 A CN 201910539975A CN 110389941 B CN110389941 B CN 110389941B
Authority
CN
China
Prior art keywords
database
rule
verification
data
name
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
CN201910539975.4A
Other languages
English (en)
Other versions
CN110389941A (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.)
Shenzhen Saiante Technology Service Co Ltd
Original Assignee
Ping An International Smart City Technology 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 Ping An International Smart City Technology Co Ltd filed Critical Ping An International Smart City Technology Co Ltd
Priority to CN201910539975.4A priority Critical patent/CN110389941B/zh
Publication of CN110389941A publication Critical patent/CN110389941A/zh
Application granted granted Critical
Publication of CN110389941B publication Critical patent/CN110389941B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/23Updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (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

数据库校验方法、装置、设备及存储介质
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据库校验方法、装置、设备及存储介质。
背景技术
数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用***,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类***统称为数据库应用***。
数据库设计的设计内容一般包括:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施和数据库的运行和维护,且数据库设计完成后需要检测设计好的数据库是否正确,现有的数据库校验大都是采用人工校验的方式,检测覆盖面低,效率不高。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供了一种数据库校验方法、装置、设备及存储介质,旨在解决现有的数据库校验方式,检测覆盖面低,效率不高的技术问题。
为实现上述目的,本发明提供了一种数据库校验方法,所述方法包括以下步骤:
读取预先写入待测数据库的元数据;
获取所述待测数据库对应的校验规则集,根据所述校验规则集中包含的校验规则检测所述元数据中是否存在校验对象;
若存在,则获取所述校验对象对应的规则内容,并根据所述规则内容从所述校验对象中提取待比对数据;
根据所述规则内容对提取到的待比对数据进行校验,获取校验结果。
优选地,所述获取所述待测数据库对应的校验规则集的步骤,包括:
获取所述待测数据库的数据库类型,在预先构建的数据库类型和规则集标识之间的映射关系中查找所述数据库类型对应的规则集标识;
根据查找到的规则集标识确定所述待测数据库本次校验所对应的校验规则集。
优选地,所述校验对象包括库对象、表对象和/或字段对象;
所述若存在,则获取所述校验对象对应的规则内容,并根据所述规则内容从所述校验对象中提取待比对数据的步骤,包括:
若存在所述库对象,则获取所述库对象对应的第一规则内容,并获取所述第一规则内容所包含的第一数据维度,所述第一数据维度包括数据库名称、所述数据库名称对应的第一字符长度以及所述数据库名称前缀;
根据所述第一数据维度从所述库对象中提取待比对数据;
和/或,若存在所述表对象,则获取所述表对象对应的第二规则内容,并获取所述第二规则内容所包含的第二数据维度,所述第二数据维度包括数据库表名以及所述数据库表名对应的第二字符长度;
根据所述第二数据维度从所述库对象中提取待比对数据;
和/或,若存在所述字段对象,则获取所述字段对象对应的第三规则内容,并获取所述第三规则内容所包含的第三数据维度,所述第三数据维度包括字段名以及所述字段名对应的第三字符长度;
根据所述第三数据维度从所述库对象中提取待比对数据。
优选地,所述根据所述规则内容对提取到的待比对数据进行校验,获取校验结果的步骤,包括:
根据所述第一规则内容检测所述第一字符长度是否超过预设长度,若否则检测所述数据库名称是否满足预设字符规则;
若满足,则检测所述数据库名称前缀是否存在与预设库名前缀表中,若不存在则判定所述待测数据库设计不合格;
和/或,根据所述第二规则内容检测所述第二字符长度是否超过预设长度,若否则检测所述数据库表名是否满足预设字符规则;
若不满足,则判定所述待测数据库设计不合格;
和/或,根据所述第三规则内容检测所述第三字符长度是否超过预设长度,若否则检测所述字段名是否满足预设字符规则;
若不满足,则判定所述待测数据库设计不合格。
优选地,所述获取所述待测数据库对应的校验规则集,根据所述校验规则集中包含的校验规则检测所述元数据中是否存在校验对象的步骤之后,所述方法还包括:
若存在,则统计所述校验对象的对象数量,并检测所述对象数量是否超过预设阈值;
若超过,则分别获取所述校验对象对应的规则内容并根据所述规则内容从各校验对象中提取待比对数据;
采用并行处理机制对所述待比对数据进行校验,获取校验结果。
优选地,所述检测所述字段名是否满足预设字符规则的步骤,包括:
检测所述字段名所包含的字符类型是否属于预设字符类型;
若属于,则基于预先配置的标准用语表检测所述字段名是否存在于所述标准用语表中;
若是则判定所述字段名满足所述预设字符规则,若否则判定所述字段名不满足所述预设字符规则并对所述字段名进行标记后保存至预设文件夹。
优选地,所述对所述字段名进行标记后保存至预设文件夹的步骤之后,所述方法还包括:
统计所述预设文件夹中相同字段名的当前数量,根据统计结果将所述当前数量超过预设数量的相同字段名作为目标字段名;
将所述目标字段名发送至审核人员进行审核,并在接收到所述审核人员基于所述目标字段名输入的确认指令时,将所述目标字段名添加至所述标准用语表。
此外,为实现上述目的,本发明还提出一种数据库校验装置,所述装置包括:
数据读取模块,用于读取预先写入待测数据库的元数据;
对象检测模块,用于获取所述待测数据库对应的校验规则集,根据所述校验规则集中包含的校验规则检测所述元数据中是否存在校验对象;
数据提取模块,用于在所述元数据中存在校验对象时,获取所述校验对象对应的规则内容,并根据所述规则内容从所述校验对象中提取待比对数据;
数据校验模块,用于根据所述规则内容对提取到的待比对数据进行校验,获取校验结果。
此外,为实现上述目的,本发明还提出一种数据库校验设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据库校验程序,所述数据库校验程序配置为实现如上文所述的数据库校验方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有数据库校验程序,所述数据库校验程序被处理器执行时实现如上文所述的数据库校验方法的步骤。
本发明通过读取预先写入待测数据库的元数据;获取待测数据库对应的校验规则集,根据校验规则集中包含的校验规则检测元数据中是否存在校验对象;若存在,则获取校验对象对应的规则内容,并根据规则内容从校验对象中提取待比对数据;根据规则内容对提取到的待比对数据进行校验,获取校验结果,由于是通过将元数据写入到待测数据库中,然后根据校验规则集中的校验规则检测元数据中是否存在校验对象,若存在则根据规则内容从校验对象中提取待比对数据,并对待比对数据进行校验获取校验结果,相比于现有的人工校验方式,既能够保证校验结果的准确性,也保证了较高的校验覆盖面,提高了校验效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的数据库校验设备的结构示意图;
图2为本发明数据库校验方法第一实施例的流程示意图;
图3为本发明数据库校验方法第二实施例的流程示意图;
图4为本发明数据库校验方法第三实施例的流程示意图;
图5为本发明数据库校验装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据库校验设备结构示意图。
如图1所示,该数据库校验设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对数据库校验设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作***、数据存储模块、网络通信模块、用户接口模块以及数据库校验程序。
在图1所示的数据库校验设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明数据库校验设备中的处理器1001、存储器1005可以设置在数据库校验设备中,所述数据库校验设备通过处理器1001调用存储器1005中存储的数据库校验程序,并执行本发明实施例提供的数据库校验方法。
本发明实施例提供了一种数据库校验方法,参照图2,图2为本发明数据库校验方法第一实施例的流程示意图。
本实施例中,所述数据库校验方法包括以下步骤:
步骤S10:读取预先写入待测数据库的元数据;
需要说明的是,本发明方法的执行主体可以是具有数据处理、网络通信以及程序运行功能的计算服务设备或终端(以下简称“校验终端”)。且在执行本步骤前,工作人员需要将元数据信息导入到待测数据库中。当然,校验终端也可以通过与待测数据库直连将元数据信息导入到待测数据库中或者通过Excel文件、结构化查询语言(Structured QueryLanguage,SQL)脚本采集元数据入库。
应理解的是,所述元数据(Metadata),又称中介数据、中继数据,是指描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
在具体实现中,校验终端可从待测数据库中读取预先写入的元数据。
步骤S20:获取所述待测数据库对应的校验规则集,根据所述校验规则集中包含的校验规则检测所述元数据中是否存在校验对象;
需要说明的是,所述校验规则集可以是由不同的校验规则组成的集合,本实施例中所述校验规则包括但不限于数据库名称规则、数据库表规则以及字段规则,且每一类规则都对应配置有不同的规则内容,例如,数据库名称规则对应的规则内容包括:1.数据库名称长度不能超过30字符;2.数据库名称只能以字母开头,只能包括字母,数字,下划线;3.数据库名称要在标准用语表中存在;4.数据库名前缀在库名前缀表中要存在;库名前缀表存放了常见库类型的前缀名,例如:pub表示公共库,sys表示***库,biz表示业务库,thm表示主题库;5.数据库名要有中文注释,要标注库的类型,例如业务库,***库,公共库,主题库等;6.数据库名不能为数据库保留字和SQL关键字,如select,from等。
应理解的是,根据数据存储的原理和功能的不同,数据库一般可分为关系数据库、列式数据库、键值数据库、图像图形数据库以及分布式文档数据库等五大类,本实施例中工作人员可预先针对不同类型的数据库配置不同的校验规则集,然后为每一个校验规则集设置相应的规则集标识,例如:将关系型数据库校验规则集的规则集标识设置为“Relationaldatabase或Rd”等。进一步地,为了实现对待测数据库对应校验规则集的快速获取,工作人员可预先构建一个数据库类型和规则集标识之间的映射关系,以实现对规则集标识的快速获取,从而提高校验规则集的获取效率。
具体的,校验终端可通过获取所述待测数据库的数据库类型,在预先构建的数据库类型和规则集标识之间的映射关系中查找所述数据库类型对应的规则集标识;然后根据查找到的规则集标识确定所述待测数据库本次校验所对应的校验规则集。
在具体实现中,校验终端在获取到待测数据库对应的校验规则集后,还将根据校验规则集中包含的数据库名称规则、数据库表规则以及字段规则检测预先写入的元数据中是否存在校验对象,例如数据库名称规则对应的库对象、数据库表规则对应的表对象和/或字段规则对应的字段对象。
步骤S30:若存在,则获取所述校验对象对应的规则内容,并根据所述规则内容从所述校验对象中提取待比对数据;
应理解的是,所述规则内容即每一个校验对象对应的校验规则中包含的数据校验标准,例如表对象对应的数据库表规则中包含的数据校验标准为:1.表名长度不能超过30字符;2.表名只能以字母开头,只能包括字母,数字,下划线;3.表名要在标准用语表中存在;4.表名要有中文注释;5.表名不能为数据库保留字和SQL关键字,如select,from等;6.必须有主键。其中,所述主键,即主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。
在具体实现中,校验终端在检测到存在一个或多个校验对象时,可先获取所述校验对象对应的规则内容,然后根据所述规则内容从校验对象中提取待比对数据,例如表名、表名长度、表名字符类型等。
步骤S40:根据所述规则内容对提取到的待比对数据进行校验,获取校验结果。
在具体实现中,校验终端从元数据包含的校验对象中提取出待比对数据后,即可根据该校验对象对应的规则内容对提取到的待比对数据进行校验,并获取校验结果。
进一步地,本实施例中当校验终端检测到存在多个校验对象时,可依次对每个校验对象进行校验,若校验终端检测到校验对象中某一个待比对数据校验不通过时,则立即停止对该校验对象的校验,然后继续校验下一校验对象对应的待比对数据,直至遍历完所有的校验对象。同时,校验终端还将对校验过程进行信息记录获取校验日志文件,以供工作人员后续进行漏洞或故障排查。
进一步地,考虑到实际校验过程中,校验对象的数量可能较多,若采用对这些校验对象按照一定的顺序进行串行处理,可能会耗费较多的校验时间,效率较低。因此,本实施例中校验终端在检测到元数据中存在校验对象时,还将统计所述校验对象的对象数量,并检测所述对象数量是否超过预设阈值;若超过,则分别获取所述校验对象对应的规则内容并根据所述规则内容从各校验对象中提取待比对数据;采用并行处理机制对所述待比对数据进行校验,获取校验结果。其中,所述预设阈值可根据实际校验情况设定,本实施例对此不作限制。
可理解的是,所谓并行处理,即计算机***中能同时执行两个或多个处理的一种计算方法,本实施例中采用并行处理机制对待比对数据进行校验是指同时对多个待比对数据进行校验,从整体上节约校验时间。
本实施例通过读取预先写入待测数据库的元数据;获取待测数据库对应的校验规则集,根据校验规则集中包含的校验规则检测元数据中是否存在校验对象;若存在,则获取校验对象对应的规则内容,并根据规则内容从校验对象中提取待比对数据;根据规则内容对提取到的待比对数据进行校验,获取校验结果,由于是通过将元数据写入到待测数据库中,然后根据校验规则集中的校验规则检测元数据中是否存在校验对象,若存在则根据规则内容从校验对象中提取待比对数据,并对待比对数据进行校验获取校验结果,相比于现有的人工校验方式,既能够保证校验结果的准确性,也保证了较高的校验覆盖面,提高了校验效率。
参考图3,图3为本发明数据库校验方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述校验对象包括库对象、表对象和/或字段对象;相应地,所述步骤S30可包括:
步骤S301:若存在所述库对象,则获取所述库对象对应的第一规则内容,并获取所述第一规则内容所包含的第一数据维度,所述第一数据维度包括数据库名称、所述数据库名称对应的第一字符长度以及所述数据库名称前缀;
需要说明的是,所述第一规则内容包括:1.数据库名称长度不能超过30字符;2.数据库名称只能以字母开头,只能包括字母,数字,下划线;3.数据库名称要在标准用语表中存在;4.数据库名前缀在库名前缀表中要存在;库名前缀表存放了常见库类型的前缀名,例如:pub表示公共库,sys表示***库,biz表示业务库,thm表示主题库;5.数据库名要有中文注释,要标注库的类型,例如业务库,***库,公共库,主题库等;6.数据库名不能为数据库保留字和SQL关键字,如select,from等。
相应地,所述第一数据维度可包括数据库名称、所述数据库名称对应的第一字符长度以及所述数据库名称前缀。本实施例中所有的数据维度均可由工作人员事先配置,当然也可由校验终端通过TF-IDF(Term Frequency–Inverse Document Frequency)算法对规则内容进行关键词提取后获得,本实施例对此不作限制。
在具体实现中,校验终端在检测到所述校验对象中存在所述库对象时,获取所述库对象对应的第一规则内容,并获取所述第一规则内容所包含的第一数据维度。
步骤S302:根据所述第一数据维度从所述库对象中提取待比对数据;
应理解的是,校验终端在获取到所述第一数据维度后,接口从元数据包含的库对象中提取待比对的数据,然后再根据所述第一规则内容对提取到的待比对数据进行校验,获取校验结果。
具体的,校验终端可根据所述第一规则内容检测所述第一字符长度是否超过预设长度(例如30字符);若是,则判定所述待测数据库设计不合格;若否,则检测所述数据库名称是否满足预设字符规则;若满足,则检测所述数据库名称前缀是否存在与预设库名前缀表中,若不存在则判定所述待测数据库设计不合格。
需要说明的是,本实施例中所述预设字符规则包括:名称(如数据库名称、数据库表名称、字段名称)只能以字母开头,只能包括字母、数字、下划线;名称要在标准用语表中存在;名称要有中文注释;名称不能是数据库保留字和SQL关键字,如select,from等。此外,所述预设库名前缀表中存放了常见库类型的前缀名。例如:pub表示公共库,sys表示***库,biz表示业务库,thm表示主题库。
当然,本实施例中所述库对象对应的数据库名称还必须标注数据库的类型,例如业务库,***库,公共库,主题库等。
在具体实现中,当校验终端在检测到根据第一数据维度提取的待比对数据不满足上述任意一项规则时,即判定待测数据库设计不合格,若满足所有规则,则还需对其它的校验对象(存在时)进行校验以确定待测数据库设计是否合格。
相应地,本实施例中所述步骤S30还可包括:
步骤S301':若存在所述表对象,则获取所述表对象对应的第二规则内容,并获取所述第二规则内容所包含的第二数据维度,所述第二数据维度包括数据库表名以及所述数据库表名对应的第二字符长度;
需要说明的是,所述第二规则内容包括:1.表名长度不能超过30字符;2.表名只能以字母开头,只能包括字母,数字,下划线;3.表名要在标准用语表中存在;4.表名要有中文注释;5.表名不能为数据库保留字和SQL关键字,如select,from等;6.必须有主键。
相应地,所述第二数据维度可包括数据库表名以及所述数据库表名对应的第二字符长度。
步骤S302':根据所述第二数据维度从所述库对象中提取待比对数据;
具体的,校验终端可根据所述第二规则内容检测所述第二字符长度是否超过预设长度,若是,则判定所述待测数据库设计不合格;若否,则检测所述数据库表名是否满足上述预设字符规则;若不满足,则判定所述待测数据库设计不合格;若满足,则还需对其它的校验对象(存在时)进行校验以确定待测数据库设计是否合格。
相应地,本实施例中所述步骤S30还可包括:
步骤S301″:若存在所述字段对象,则获取所述字段对象对应的第三规则内容,并获取所述第三规则内容所包含的第三数据维度,所述第三数据维度包括字段名以及所述字段名对应的第三字符长度;
需要说明的是,所述第三规则内容包括:1.字段名长度不能超过30字符;2.字段名只能以字母开头,只能包括字母,数字,下划线;3.字段名要在标准用语表中存在;4.字段名要有中文注释;5.字段名不能为数据库保留字和SQL关键字,如select,from等。
相应地,所述第三数据维度可包括字段名以及所述字段名对应的第三字符长度。
步骤S302″:根据所述第三数据维度从所述库对象中提取待比对数据。
具体的,校验终端可根据所述第三规则内容检测所述第三字符长度是否超过预设长度,若是,则判定所述待测数据库设计不合格;若否,则检测所述字段名是否满足上述预设字符规则;若不满足,则判定所述待测数据库设计不合格;若满足,则还需对其它的校验对象(存在时)进行校验以确定待测数据库设计是否合格。
进一步地,本实施例中,所述校验对象还可包括权限对象和用词用语。其中,所述权限对象即操作数据库的用户对应的用户名,所述权限对象对应的规则内容为:1.操作数据库的用户名必须在权限配置表中存在;2.用户名的权限必须与配置表中的权限匹配。所述用词用语对象即行业常用的用语词汇及用语词汇对应的缩写,所述用词用语对象对应的规则内容为:用语词汇由用词表中的英文与下划线组合而成,例如组织机构名,命名为org_name。
本实施例通过对不同的校验对象进行校验,在发现某一校验对象校验不通过时即可判定待测数据库的设计不合理,同时本实施例是通过从校验对象的名称维度和字符长度维度来进行校验,使得校验过程简单,开发难度小,易于实现,节省了人力物力。
参考图4,图4为本发明数据库校验方法第三实施例的流程示意图。
基于上述各实施例,在本实施例中检测字段名是否满足预设字符规则的步骤还包括:
步骤S401:检测所述字段名所包含的字符类型是否属于预设字符类型;
需要说明的是,所述预设字符类型即预先设定的数字、字母、字以及符号的种类,例如本实施例中所述预设字符类型为字母、数字、下划线。
在具体实现中,校验终端在获取到字段名后,获取该字段名对应的字符类型,并检测所述字符类型是否属于设定的字符类型,若不是则直接判定字段名不合规,待测数据库的设计存在问题。
步骤S402:若属于,则基于预先配置的标准用语表检测所述字段名是否存在于所述标准用语表中;
应理解的是,所述标准用语表可以是工作人员按照行业的不同,根据各行业的常用词汇或标准词汇建立的用词用语表,例如组织机构的英文为:Organization,缩写为org等。
在具体实现中,校验终端在确定字段名的字符类型满足要求后,还将基于预先配置的标准用语表来检测该字段名是否存在于标准用语表中。
步骤S403:若是则判定所述字段名满足所述预设字符规则,若否则判定所述字段名不满足所述预设字符规则并对所述字段名进行标记后保存至预设文件夹。
若校验终端检测到该字段名存在于标准用语表中时,即可判定所述字段名满足所述预设字符规则,若检测到该字段名不存在于标准用语表中时,则判定所述字段名不满足所述预设字符规则。
考虑到实际情况下,工作人员在构建所述标准用语表时,不可能一次性将所有行业对应的所有标准词汇都写入表中,此时就需要将本身属于标准词汇的词汇或字段更新至标准用语表中,保证标准用户表的准确性。
具体的,校验终端可对不满足预设字符规则的字段名进行记录和统计,然后将这些“不合规”的字段名根据时间日期对象进行标记后保存至预设文件夹,再根据时间日期对象统计所述预设文件夹中相同字段名的当前数量,根据统计结果将所述当前数量超过预设数量的相同字段名作为目标字段名;将所述目标字段名发送至审核人员进行审核,并在接收到所述审核人员基于所述目标字段名输入的确认指令时,将所述目标字段名添加至所述标准用语表,从而实现对每个行业的标准用语表或标准用词用语库进行丰富。
本实施例通过检测字段名所包含的字符类型是否属于预设字符类型;若属于,则基于预先配置的标准用语表检测字段名是否存在于标准用语表中;若是则判定字段名满足预设字符规则,若否则判定字段名不满足预设字符规则并对字段名进行标记后保存至预设文件夹,实现了在校验对象中包含字段名时,对字段名的准确校验。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据库校验程序,所述数据库校验程序被处理器执行时实现如上文所述的数据库校验方法的步骤。
参照图5,图5为本发明数据库校验装置第一实施例的结构框图。
如图5所示,本发明实施例提出的数据库校验装置包括:
数据读取模块501,用于读取预先写入待测数据库的元数据;
对象检测模块502,用于获取所述待测数据库对应的校验规则集,根据所述校验规则集中包含的校验规则检测所述元数据中是否存在校验对象;
数据提取模块503,用于在所述元数据中存在校验对象时,获取所述校验对象对应的规则内容,并根据所述规则内容从所述校验对象中提取待比对数据;
数据校验模块504,用于根据所述规则内容对提取到的待比对数据进行校验,获取校验结果。
本实施例通过读取预先写入待测数据库的元数据;获取待测数据库对应的校验规则集,根据校验规则集中包含的校验规则检测元数据中是否存在校验对象;若存在,则获取校验对象对应的规则内容,并根据规则内容从校验对象中提取待比对数据;根据规则内容对提取到的待比对数据进行校验,获取校验结果,由于是通过将元数据写入到待测数据库中,然后根据校验规则集中的校验规则检测元数据中是否存在校验对象,若存在则根据规则内容从校验对象中提取待比对数据,并对待比对数据进行校验获取校验结果,相比于现有的人工校验方式,既能够保证校验结果的准确性,也保证了较高的校验覆盖面,提高了校验效率。
基于本发明上述数据库校验装置第一实施例,提出本发明数据库校验装置的第二实施例。
在本实施例中,所述对象检测模块502,还用于获取所述待测数据库的数据库类型,在预先构建的数据库类型和规则集标识之间的映射关系中查找所述数据库类型对应的规则集标识;根据查找到的规则集标识确定所述待测数据库本次校验所对应的校验规则集。
进一步地,所述数据提取模块503,还用于在所述元数据中存在库对象时,获取所述库对象对应的第一规则内容,并获取所述第一规则内容所包含的第一数据维度;根据所述第一数据维度从所述库对象中提取待比对数据。
进一步地,所述数据提取模块503,还用于在所述元数据中存在表对象时,获取所述表对象对应的第二规则内容,并获取所述第二规则内容所包含的第二数据维度;根据所述第二数据维度从所述库对象中提取待比对数据。
进一步地,所述数据提取模块503,还用于在所述元数据中存在字段对象时,获取所述字段对象对应的第三规则内容,并获取所述第三规则内容所包含的第三数据维度;根据所述第三数据维度从所述库对象中提取待比对数据。
进一步地,所述数据校验模块504,还用于根据所述第一规则内容检测所述第一字符长度是否超过预设长度,若否则检测所述数据库名称是否满足预设字符规则;若满足,则检测所述数据库名称前缀是否存在与预设库名前缀表中,若不存在则判定所述待测数据库设计不合格。
进一步地,所述数据校验模块504,还用于根据所述第二规则内容检测所述第二字符长度是否超过预设长度,若否则检测所述数据库表名是否满足预设字符规则;若不满足,则判定所述待测数据库设计不合格。
进一步地,所述数据校验模块504,还用于根据所述第三规则内容检测所述第三字符长度是否超过预设长度,若否则检测所述字段名是否满足预设字符规则;若不满足,则判定所述待测数据库设计不合格。
进一步地,所述数据库校验装置还包括并行处理模块,所述并行处理模块,用于在所述元数据中存在校验对象时,统计所述校验对象的对象数量,并检测所述对象数量是否超过预设阈值;若超过,则分别获取所述校验对象对应的规则内容并根据所述规则内容从各校验对象中提取待比对数据;采用并行处理机制对所述待比对数据进行校验,获取校验结果。
进一步地,所述数据校验模块504,还用于检测所述字段名所包含的字符类型是否属于预设字符类型;若属于,则基于预先配置的标准用语表检测所述字段名是否存在于所述标准用语表中;若是则判定所述字段名满足所述预设字符规则,若否则判定所述字段名不满足所述预设字符规则并对所述字段名进行标记后保存至预设文件夹。
进一步地,所述数据校验模块504,还用于统计所述预设文件夹中相同字段名的当前数量,根据统计结果将所述当前数量超过预设数量的相同字段名作为目标字段名;将所述目标字段名发送至审核人员进行审核,并在接收到所述审核人员基于所述目标字段名输入的确认指令时,将所述目标字段名添加至所述标准用语表。
本发明数据库校验装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种数据库校验方法,其特征在于,所述方法包括:
读取预先写入待测数据库的元数据;
获取所述待测数据库对应的校验规则集,根据所述校验规则集中包含的校验规则检测所述元数据中是否存在校验对象,所述校验规则包括数据库名称规则、数据库表规则以及字段规则;
若存在,则获取所述校验对象对应的规则内容,并根据所述规则内容从所述校验对象中提取待比对数据;
根据所述规则内容对提取到的待比对数据进行校验,获取校验结果;
其中,所述获取所述待测数据库对应的校验规则集,根据所述校验规则集中包含的校验规则检测所述元数据中是否存在校验对象的步骤之后,所述方法还包括:
若存在,则统计所述校验对象的对象数量,并检测所述对象数量是否超过预设阈值;
若超过,则分别获取所述校验对象对应的规则内容并根据所述规则内容从各校验对象中提取待比对数据;
采用并行处理机制对所述待比对数据进行校验,获取校验结果。
2.如权利要求1所述的方法,其特征在于,所述获取所述待测数据库对应的校验规则集的步骤,包括:
获取所述待测数据库的数据库类型,在预先构建的数据库类型和规则集标识之间的映射关系中查找所述数据库类型对应的规则集标识;
根据查找到的规则集标识确定所述待测数据库本次校验所对应的校验规则集。
3.如权利要求2所述的方法,其特征在于,所述校验对象包括库对象、表对象和/或字段对象;
所述若存在,则获取所述校验对象对应的规则内容,并根据所述规则内容从所述校验对象中提取待比对数据的步骤,包括:
若存在所述库对象,则获取所述库对象对应的第一规则内容,并获取所述第一规则内容所包含的第一数据维度,所述第一数据维度包括数据库名称、所述数据库名称对应的第一字符长度以及所述数据库名称前缀;
根据所述第一数据维度从所述库对象中提取待比对数据;
和/或,若存在所述表对象,则获取所述表对象对应的第二规则内容,并获取所述第二规则内容所包含的第二数据维度,所述第二数据维度包括数据库表名以及所述数据库表名对应的第二字符长度;
根据所述第二数据维度从所述表对象中提取待比对数据;
和/或,若存在所述字段对象,则获取所述字段对象对应的第三规则内容,并获取所述第三规则内容所包含的第三数据维度,所述第三数据维度包括字段名以及所述字段名对应的第三字符长度;
根据所述第三数据维度从所述字段对象中提取待比对数据。
4.如权利要求3所述的方法,其特征在于,所述根据所述规则内容对提取到的待比对数据进行校验,获取校验结果的步骤,包括:
根据所述第一规则内容检测所述第一字符长度是否超过预设长度,若否则检测所述数据库名称是否满足预设字符规则;
若满足,则检测所述数据库名称前缀是否存在与预设库名前缀表中,若不存在则判定所述待测数据库设计不合格;
和/或,根据所述第二规则内容检测所述第二字符长度是否超过预设长度,若否则检测所述数据库表名是否满足预设字符规则;
若不满足,则判定所述待测数据库设计不合格;
和/或,根据所述第三规则内容检测所述第三字符长度是否超过预设长度,若否则检测所述字段名是否满足预设字符规则;
若不满足,则判定所述待测数据库设计不合格。
5.如权利要求4所述的方法,其特征在于,所述检测所述字段名是否满足预设字符规则的步骤,包括:
检测所述字段名所包含的字符类型是否属于预设字符类型;
若属于,则基于预先配置的标准用语表检测所述字段名是否存在于所述标准用语表中;
若是则判定所述字段名满足所述预设字符规则,若否则判定所述字段名不满足所述预设字符规则并对所述字段名进行标记后保存至预设文件夹。
6.如权利要求5所述的方法,其特征在于,所述对所述字段名进行标记后保存至预设文件夹的步骤之后,所述方法还包括:
统计所述预设文件夹中相同字段名的当前数量,根据统计结果将所述当前数量超过预设数量的相同字段名作为目标字段名;
将所述目标字段名发送至审核人员进行审核,并在接收到所述审核人员基于所述目标字段名输入的确认指令时,将所述目标字段名添加至所述标准用语表。
7.一种数据库校验装置,其特征在于,所述装置包括:
数据读取模块,用于读取预先写入待测数据库的元数据;
对象检测模块,用于获取所述待测数据库对应的校验规则集,根据所述校验规则集中包含的校验规则检测所述元数据中是否存在校验对象,所述校验规则包括数据库名称规则、数据库表规则以及字段规则;
数据提取模块,用于在所述元数据中存在校验对象时,获取所述校验对象对应的规则内容,并根据所述规则内容从所述校验对象中提取待比对数据;
数据校验模块,用于根据所述规则内容对提取到的待比对数据进行校验,获取校验结果;
其中,所述装置还包括:并行处理模块,用于在所述元数据中存在校验对象时,统计所述校验对象的对象数量,并检测所述对象数量是否超过预设阈值;若超过,则分别获取所述校验对象对应的规则内容并根据所述规则内容从各校验对象中提取待比对数据;采用并行处理机制对所述待比对数据进行校验,获取校验结果。
8.一种数据库校验设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据库校验程序,所述数据库校验程序配置为实现如权利要求1至6中任一项所述的数据库校验方法的步骤。
9.一种存储介质,其特征在于,所述存储介质上存储有数据库校验程序,所述数据库校验程序被处理器执行时实现如权利要求1至6任一项所述的数据库校验方法的步骤。
CN201910539975.4A 2019-06-19 2019-06-19 数据库校验方法、装置、设备及存储介质 Active CN110389941B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910539975.4A CN110389941B (zh) 2019-06-19 2019-06-19 数据库校验方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910539975.4A CN110389941B (zh) 2019-06-19 2019-06-19 数据库校验方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110389941A CN110389941A (zh) 2019-10-29
CN110389941B true CN110389941B (zh) 2021-01-05

Family

ID=68285649

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910539975.4A Active CN110389941B (zh) 2019-06-19 2019-06-19 数据库校验方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110389941B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111159482A (zh) * 2019-12-19 2020-05-15 贝壳技术有限公司 数据校验方法及***
CN113495902A (zh) * 2020-03-19 2021-10-12 华为技术有限公司 数据处理方法及数据标准管理***
CN112506897A (zh) * 2020-11-17 2021-03-16 贵州电网有限责任公司 一种分析、定位数据质量问题的方法及***
CN117009998A (zh) * 2023-08-29 2023-11-07 上海倍通医药科技咨询有限公司 一种数据检验方法及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598598A (zh) * 2015-01-23 2015-05-06 浙江协同数据***有限公司 一种关系型数据标准性的评估方法
CN105808375A (zh) * 2014-12-31 2016-07-27 航天信息软件技术有限公司 导入数据的方法和装置
CN107844400A (zh) * 2017-10-16 2018-03-27 阿里巴巴集团控股有限公司 一种日志数据的校验方法及装置
CN108388606A (zh) * 2018-02-06 2018-08-10 福建星瑞格软件有限公司 一种校验Sql语句中库表字段名的方法以及计算机设备
CN108647358A (zh) * 2018-05-17 2018-10-12 东软集团股份有限公司 数据质量校验方法、装置、存储介质及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5334901B2 (ja) * 2010-03-26 2013-11-06 三菱電機株式会社 チェックリスト自動生成装置、チェックリスト自動生成方法およびチェックリスト自動生成プログラム
CN103605663B (zh) * 2013-10-22 2017-02-15 芜湖大学科技园发展有限公司 通用的数据库校验及元数据导入方法
US20180295137A1 (en) * 2017-04-06 2018-10-11 Iconix, Inc. Techniques for dynamic authentication in connection within applications and sessions
CN107562564A (zh) * 2017-08-01 2018-01-09 佛山市深研信息技术有限公司 一种大数据校验方法
CN109510824B (zh) * 2018-11-12 2021-06-04 中国银行股份有限公司 一种接口报文的校验方法及装置
CN109408502A (zh) * 2018-11-14 2019-03-01 成都四方伟业软件股份有限公司 一种数据标准处理方法、装置及其存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105808375A (zh) * 2014-12-31 2016-07-27 航天信息软件技术有限公司 导入数据的方法和装置
CN104598598A (zh) * 2015-01-23 2015-05-06 浙江协同数据***有限公司 一种关系型数据标准性的评估方法
CN107844400A (zh) * 2017-10-16 2018-03-27 阿里巴巴集团控股有限公司 一种日志数据的校验方法及装置
CN108388606A (zh) * 2018-02-06 2018-08-10 福建星瑞格软件有限公司 一种校验Sql语句中库表字段名的方法以及计算机设备
CN108647358A (zh) * 2018-05-17 2018-10-12 东软集团股份有限公司 数据质量校验方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN110389941A (zh) 2019-10-29

Similar Documents

Publication Publication Date Title
CN110389941B (zh) 数据库校验方法、装置、设备及存储介质
CN109710508B (zh) 测试方法、测试装置、测试设备及计算机可读存储介质
US8296124B1 (en) Method and apparatus for detecting incorrectly translated text in a document
CN108563768B (zh) 不同数据模型的数据转换方法、装置、设备及存储介质
CN108446394B (zh) 文件差异的对比方法和装置
US20130110748A1 (en) Policy Violation Checker
CN109637000B (zh) ***检验方法及装置、存储介质、电子终端
EP3396558B1 (en) Method for user identifier processing, terminal and nonvolatile computer readable storage medium thereof
CN107316156B (zh) 一种数据处理方法、装置、服务器及存储介质
CA3048356A1 (en) Unstructured data parsing for structured information
CN109271315B (zh) 脚本代码检测方法、装置、计算机设备及存储介质
CN111783460A (zh) 一种企业简称提取方法、装置、计算机设备及存储介质
CN113728321A (zh) 利用训练表的集合来准确预测各种表内的错误
US11609897B2 (en) Methods and systems for improved search for data loss prevention
CN111159482A (zh) 数据校验方法及***
CN108073678B (zh) 应用于大数据分析中的文档解析处理方法、***及装置
CN111767213B (zh) 数据库检查点的测试方法、装置、电子设备及存储介质
CN113312258A (zh) 一种接口测试方法、装置、设备及存储介质
CN111581110B (zh) 一种业务数据准确性检测方法、装置、***及存储介质
CN108304310B (zh) 一种日志分析方法及计算设备
CN114157439B (zh) 漏洞扫描方法、计算设备及记录介质
JP2016057715A (ja) 図形式プログラム解析装置
CN114065762A (zh) 一种文本信息的处理方法、装置、介质及设备
CN114220113A (zh) 一种论文质量检测方法、装置和设备
CN114416581A (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210125

Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Patentee after: Shenzhen saiante Technology Service Co.,Ltd.

Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000

Patentee before: Ping An International Smart City Technology Co.,Ltd.