CN109299074B - 一种基于模板化数据库视图的数据校验方法及系统 - Google Patents
一种基于模板化数据库视图的数据校验方法及系统 Download PDFInfo
- Publication number
- CN109299074B CN109299074B CN201811276967.7A CN201811276967A CN109299074B CN 109299074 B CN109299074 B CN 109299074B CN 201811276967 A CN201811276967 A CN 201811276967A CN 109299074 B CN109299074 B CN 109299074B
- Authority
- CN
- China
- Prior art keywords
- data
- verification
- database
- checking
- interface
- 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
Links
Images
Abstract
本发明涉及一种基于模板化数据库视图的数据校验方法及系统,用于实现:视图模板在交互界面调试并显示用于校验的结构化查询语句,逐一创建数据库对应的所有视图,完成整个数据库的数据校验视图;使用统一的界面对整个数据库、数据库模块及数据库表的校验结果进行显示,并提供校验结果调用接口;使用定时器周期调用校验结果接口向用户推送校验结果,当校验出现问题后跳转至编辑界面对数据进行修改以通过校验。本发明的有益效果为:随时采用SQL语句自定义或维护数据校验规则;大大降低数据库和应用服务器间的数据交互,高效执行数据校验,可以应对海量大数据;随时执行数据校验和检查,发现问题及时推送邮件或其他即时消息通知相关数据维护人员。
Description
技术领域
本发明涉及一种基于模板化数据库视图的数据校验方法及系统,属于计算机数据处理领域。
背景技术
数据校验对于整个业务系统的长期稳定可靠运行至关重要,业务系统需要在多个层面确保数据的完整有效性,比如:数据录入界面的Web前端数据约束和校验,数据导入前的校验,应用服务器后端服务层数据操作前的数据校验,数据访问层实体定义中属性及其内容约束,数据库表字段约束性定义(包括:数据类型、取值范围、外键、唯一、是否可为空等)等。鉴于业务数据的录入常常需要分角色、分步骤、分时段进行,各种途径的数据校验不能够采用统一的一套校验规则,业务系统需要支持不太完整的数据也可以先进入系统数据库,非必填字段信息可以在后续通过各种途径陆续补充完整,这样,就显得基于现有数据库表中数据的整体校验和完整性检查更加必要。例如:对于资产新增,若验收状态为已验收,这时候应该有明确的验收时间,但资产新增时若不清楚或暂时没有收集到具体的验收时间,我们也可以让该条资产先进入系统资产表,通过数据校验,我们可以随时了解到本条资产的验收时间还没有录入、数据不完整,资产管理员后续可以再补录入该条资产的验收时间。系统也可以根据定时数据校验结果,主动推送消息,提醒相关人员该条资产的验收时间还未录入。这对于业务系统的智能化管理非常重要。
现有技术存在以下问题:
(1)定义稍显复杂、难以调试:一套校验规则数据分散保存在多张数据库表中,只能通过界面方式逐条定义,工作量大,有问题不好查,配置定义过程中也难以调试;
(2)执行效率低:由于校验规则分表保存在数据库中,执行数据校验时需要关联读取数据库多个表,解析校验规则后,再逐条执行,倘若业务数据记录数比较多,执行效率会非常低下;
(3)若是涉及到同一业务数据表中不同类型的业务对象记录有不同的数据校验逻辑,定义更加复杂,实施工程师自己很难独立完成规则逻辑的配置。
发明内容
本公开的几个示例方面的概述如下。提供本概述是为了读者的方便,以提供对这些实施例的基本理解而不是完全地限定本发明的范围。本概述不是所有预期实施例的广泛综述,并且既不旨在标识所有方面的关键或重要元素,也不描述任何或所有方面的范围。其唯一目的在于以简化的形式呈现一个或多个实施例的一些概念,作为稍后呈现的更详细描述的前奏。为了方便,在本文中术语“一些实施例”可用于指本公开的单一实施例或者多个实施例。
针对上述问题,本发明提出了一种基于模板化数据库视图的数据校验方法及系统,不用编程,实施工程师或普通用户就可以随时采用SQL语句自定义或维护数据校验规则,通过各种数据库客户端工具软件就可以很容易地调试SQL语句;采用数据库本身的批量和分页查询技术,大大降低数据库和应用服务器间的数据交互,高效执行数据校验,可以应对海量大数据;在每个业务数据编辑维护界面,操作人员可以随时执行数据校验和检查,发现问题及时处理;可以在数据库层面定时执行数据校验,发现问题及时推送邮件或其他即时消息通知相关数据维护人员。
本发明的技术方案包括一种基于模板化数据库视图的数据校验方法,其特征在于,该方法包括以下步骤:S1,根据视图模板在交互界面调试并显示用于校验的结构化查询语句,逐一创建数据库对应的所有视图,完成整个数据库的数据校验视图;S2,使用统一的界面对整个数据库、数据库的模块及数据库表的校验结果进行显示,并提供校验结果调用接口;S3,使用定时器周期调用校验结果接口向用户推送校验结果,当校验出现问题后跳转至编辑界面对数据进行修改以通过校验。
根据所述的基于模板化数据库视图的数据校验方法,其中校验包括但不限于:表间关联字段的数据正确有效性校验、业务字典项数据的正确有效性校验、数值超边界范围的正确有效性校验、字段间数据关联正确有效性校验、数据与文档的关联有效性校验、扩展属性数据的正确有效性校验、数据与系统配置项的关联有效性校验、表间关联数据的正确有效性校验以及数值长度、格式、特征串等内容约束的正确有效性校验。
根据所述的基于模板化数据库视图的数据校验方法,其中步骤S1还包括:对单条数据库表记录及整个数据库表的数据校验,其中对单条数据库表记录包括使用网页校验用户界面进校验或通过网页后端数据校验配置进行校验,其中对整个数据库表的数据校验包括将多个数据库表创建对应的数据校验视图。
根据所述的基于模板化数据库视图的数据校验方法,其中对整个数据库表的数据校验具体包括:S41,将多个数据校验视图对应的结构化查询语言保存至指定目录;S42,根据结构化查询语言输出字段,其中字段包括但不限于数据库表名称、记录ID、字段名称、字段数据、业务字典项类型、错误类型及描述;S43,数据校验视图校验时输出存在问题的数据记录;S45,创建总数据校验视图,用于联合查询多个数据校验视图的分模块、分数据库表及全部数据校验。
根据所述的基于模板化数据库视图的数据校验方法,其中接口通过面向资源的Restful API接口实现灵活的全数据库库、指定模块或指定数据库表的数据校验。
本发明的技术方案还包括一种用于执行上述任意所述方法的基于模板化数据库视图的数据校验系统,其特征在于,该系统包括:校验模块,用于根据视图模板在交互界面调试并显示用于校验的结构化查询语句,逐一创建数据库对应的所有视图,完成整个数据库的数据校验视图;显示模块,用于使用统一的界面对整个数据库、数据库的模块及数据库表的校验结果进行显示,并提供校验结果调用接口;编辑模块,用于使用定时器周期调用校验结果接口向用户推送校验结果,当校验出现问题后跳转至编辑界面对数据进行修改以通过校验。
本发明的有益效果为:不用编程,实施工程师或普通用户就可以随时采用SQL语句自定义或维护数据校验规则;采用数据库本身的批量和分页查询技术,大大降低数据库和应用服务器间的数据交互,高效执行数据校验,可以应对海量大数据;在每个业务数据编辑维护界面,操作人员可以随时执行数据校验和检查,发现问题及时处理;可以在数据库层面定时执行数据校验,发现问题及时推送邮件或其他即时消息通知相关数据维护人员。
附图说明
图1所示为根据本发明的方法的总体流程图;
图2所示为根据本发明实施方式的系统框图;
图3所示为根据本发明实施方式的数据处理流程图。
具体实施方式
本发明的技术方案包括一种基于模板化数据库视图的数据校验方法及系统,适用于以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
本发明技术方案中的词语作出了以下解释:
Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的ORM框架;
数据库视图:视图(View)是从一个或多个表(或视图)导出的表。视图与表(有时为与视图区别,也称表为基本表——Base Table)不同,视图是一个虚表,即视图所对应的数据不进行实际存储,数据库中只存储视图的定义,在对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。
CASE:计算机辅助软件工程;
DBMS:数据库管理系统;
图1所示为根据本发明的方法的总体流程图。其具体包括:S1,根据视图模板在交互界面调试并显示用于校验的结构化查询语句,逐一创建数据库对应的所有视图,完成整个数据库的数据校验视图;S2,使用统一的界面对整个数据库、数据库的模块及数据库表的校验结果进行显示,并提供校验结果调用接口;S3,使用定时器周期调用校验结果接口向用户推送校验结果,当校验出现问题后跳转至编辑界面对数据进行修改以通过校验。
图2所示为根据本发明实施方式的系统框图。其具体包括:校验模块,用于根据视图模板在交互界面调试并显示用于校验的结构化查询语句,逐一创建数据库对应的所有视图,完成整个数据库的数据校验视图;显示模块,用于使用统一的界面对整个数据库、数据库的模块及数据库表的校验结果进行显示,并提供校验结果调用接口;编辑模块,使用于用定时器周期调用校验结果接口向用户推送校验结果,当校验出现问题后跳转至编辑界面对数据进行修改以通过校验。
图3所示为根据本发明实施方式的数据处理流程图。
其具体包括如下方案:
(一)确保软件系统数据库数据的统一、完整和正确有效性,以便于及时发现和纠正数据问题,预防将来可能发生的各种异常,增强系统的健壮性和可靠性。数据校验功能的使用者主要是各种业务数据的维护人员和系统实施和维护工程师。
(二)数据校验原则
1)数据校验逻辑的编写是一项业务技能含金量非常高的工作,需要需求/实施工程师对业务对象及其关联关系非常熟悉;
2)为了提高校验速度和效率,对于实际不太可能发生的数据错误可以不校验,数据校验主要针对日常使用或维护过程中容易出问题的逻辑,这是一个知识库不断丰富积累和优化的过程;
3)数据校验结果分警告和错误两种类型,对于一些非常规业务操作,也允许存在的数据,应该定义为警告;
4)对于一些数据记录数非常大的表的数据校验,一定要考虑性能优化;
(三)数据校验内容
数据校验内容不包括但不限于以下项:
1)表间关联字段的数据正确有效性校验
2)业务字典项数据的正确有效性校验
3)数值超边界范围的正确有效性校验
4)字段间数据关联正确有效性校验,如:完成时间必须大于等于开始时间(错误)、验收状态为已验收的资产应该填写验收时间(警告)
5)数据与文档的关联有效性校验,如:物料类型必须有对应图片
6)扩展属性数据的正确有效性校验
7)数据与系统配置项的关联有效性校验
8)表间关联数据的正确有效性校验,如:存货物料应该有流水记录
9)数值长度、格式、特征串等内容约束的正确有效性校验,如:电话号码、电子邮箱、URL、IP等
(四)单条数据库表记录(或实体对象)的数据校验
主要通过Web前端UI校验实现,也可以通过Web后端统一的数据校验配置来实现。
(五)整个数据库表的数据校验
对于每个数据库表,在数据库中独立编写其对应的数据校验视图,实现高效、快捷的数据库表中全部数据的校验。设计规范如下:
1)数据校验视图名称={对应数据库表名}_CV
2)所有数据校验视图的SQL脚本文件保存在指定目录下,命名与数据校验视图名称相同,后缀为sql。
3)数据校验视图的字段输出依次为:
a)数据库表名称
b)记录ID
c)字段名称
d)字段数据
e)业务字典项类型,若字段数据不是来源于业务字典项,本项为空
f)错误类型
g)描述
4)数据校验视图只输出有问题的数据记录,描述要内容简明,目前可采用简体中文;
5)除了记录ID为整型数值以外,其他字段都为字符串类型,若实际数据不是字符串需要通过CAST进行数据类型转换;
6)数据校验视图的SQL创建脚本必须能适用于各种通用数据库类型,以便共享使用;
7)新建一个总的数据校验视图,在其SQL创建脚本中通过联合查询所有数据库表的校验视图,最终通过“数据校验”页面,可以分模块、分数据库表或选择全部数据校验。
8)在每个数据库表的单表编辑页面或相关数据维护页面中,可以随时点击“数据校验”按钮,调用对应的数据库校验视图,完成对指定数据库表的数据校验及其结果展示;
9)平台和产品发布时应该有完整的数据校验,项目实施时可以补充或修改。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文步骤的指令或程序时,本文的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明的方法和技术编程时,本发明还包括计算机本身。
计算机程序能够应用于输入数据以执行本文的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
Claims (3)
1.一种基于模板化数据库视图的数据校验方法,其特征在于,该方法包括以下步骤:
S1,根据视图模板在交互界面调试并显示用于校验的结构化查询语句,逐一创建数据库对应的所有视图,完成整个数据库的数据校验视图;所述校验包括但不限于:表间关联字段的数据正确有效性校验、业务字典项数据的正确有效性校验、数值超边界范围的正确有效性校验、字段间数据关联正确有效性校验、数据与文档的关联有效性校验、扩展属性数据的正确有效性校验、数据与系统配置项的关联有效性校验、表间关联数据的正确有效性校验以及数值长度、格式、特征串等内容约束的正确有效性校验;
所述步骤S1还包括:对单条数据库表记录及整个数据库表的数据校验,其中对单条数据库表记录包括使用网页校验用户界面进行 校验或通过网页后端数据校验配置进行校验,其中对整个数据库表的数据校验包括将多个数据库表创建对应的数据校验视图;
所述对整个数据库表的数据校验具体包括:S41,将多个数据校验视图对应的结构化查询语言保存至指定目录;S42,根据结构化查询语言输出字段,其中字段包括但不限于数据库表名称、记录ID、字段名称、字段数据、业务字典项类型、错误类型及描述;S43,数据校验视图校验时输出存在问题的数据记录;S45,创建总数据校验视图,用于联合查询多个数据校验视图的分模块、分数据库表及全部数据校验;
S2,使用统一的界面对整个数据库、数据库的模块及数据库表的校验结果进行显示,并提供校验结果调用接口;
S3,使用定时器周期调用校验结果接口向用户推送校验结果,当校验出现问题后跳转至编辑界面对数据进行修改以通过校验。
2.根据权利要求1所述的基于模板化数据库视图的数据校验方法,其特征在于,所述接口通过面向资源的Restful API接口实现灵活的全数据库库、指定模块及指定数据库表的数据校验。
3.一种用于执行权利要求1-2任意一项 所述方法的基于模板化数据库视图的数据校验系统,其特征在于,该系统包括:
校验模块,用于根据视图模板在交互界面调试并显示用于校验的结构化查询语句,逐一创建数据库对应的所有视图,完成整个数据库的数据校验视图;
显示模块,用于使用统一的界面对整个数据库、数据库的模块及数据库表的校验结果进行显示,并提供校验结果调用接口;
编辑模块,使用于用定时器周期调用校验结果接口向用户推送校验结果,当校验出现问题后跳转至编辑界面对数据进行修改以通过校验。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811276967.7A CN109299074B (zh) | 2018-10-30 | 2018-10-30 | 一种基于模板化数据库视图的数据校验方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811276967.7A CN109299074B (zh) | 2018-10-30 | 2018-10-30 | 一种基于模板化数据库视图的数据校验方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109299074A CN109299074A (zh) | 2019-02-01 |
CN109299074B true CN109299074B (zh) | 2022-03-04 |
Family
ID=65145448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811276967.7A Active CN109299074B (zh) | 2018-10-30 | 2018-10-30 | 一种基于模板化数据库视图的数据校验方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109299074B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110414186B (zh) * | 2019-06-20 | 2023-06-30 | 创新先进技术有限公司 | 数据资产切分校验方法以及装置 |
CN112132645B (zh) * | 2020-08-26 | 2022-05-17 | 北京思特奇信息技术股份有限公司 | 一种资费配置模板同类元素校验方法及系统 |
CN112231310A (zh) * | 2020-10-15 | 2021-01-15 | 浪潮云信息技术股份公司 | 数据核验分类处理系统及方法 |
CN113076285A (zh) * | 2021-03-05 | 2021-07-06 | 上海明略人工智能(集团)有限公司 | 用于上传数据文件的处理方法及系统 |
CN117009422B (zh) * | 2023-05-09 | 2024-04-12 | 三峡高科信息技术有限责任公司 | 便利业务人员进行数据导入的实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609016A (zh) * | 2017-08-03 | 2018-01-19 | 南京南瑞集团公司 | 基于表达式解析的电力交易数据准确性校验方法 |
CN107992519A (zh) * | 2017-10-31 | 2018-05-04 | 中国电力科学研究院有限公司 | 一种面向智能电网大数据的多源异构数据校验系统及方法 |
-
2018
- 2018-10-30 CN CN201811276967.7A patent/CN109299074B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609016A (zh) * | 2017-08-03 | 2018-01-19 | 南京南瑞集团公司 | 基于表达式解析的电力交易数据准确性校验方法 |
CN107992519A (zh) * | 2017-10-31 | 2018-05-04 | 中国电力科学研究院有限公司 | 一种面向智能电网大数据的多源异构数据校验系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109299074A (zh) | 2019-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299074B (zh) | 一种基于模板化数据库视图的数据校验方法及系统 | |
CN105144080B (zh) | 用于元数据管理的系统 | |
US10372492B2 (en) | Job-processing systems and methods with inferred dependencies between jobs | |
US8024305B2 (en) | Updating a data warehouse schema based on changes in an observation model | |
CN101719149B (zh) | 数据同步方法及装置 | |
KR20200106950A (ko) | Sql 질의 플랜들을 최적화하기 위한 차원 콘텍스트 전파 기술들 | |
US11847040B2 (en) | Systems and methods for detecting data alteration from source to target | |
CN106293891B (zh) | 多维投资指标监督方法 | |
CN109902117B (zh) | 业务系统分析方法和装置 | |
US20120143893A1 (en) | Pattern Matching Framework for Log Analysis | |
WO2006026659A2 (en) | Services oriented architecture for data integration services | |
CN101859303A (zh) | 元数据管理方法及管理系统 | |
EP2763055A1 (en) | A telecommunication method and mobile telecommunication device for providing data to a mobile application | |
AU2017254893A1 (en) | Adapting database queries for data virtualization over combined database stores | |
CN108471433B (zh) | 一种配置化的同步消息验证接收方法、系统及存储介质 | |
CN109800069B (zh) | 一种实现数据治理的方法及装置 | |
CN110765750A (zh) | 报表数据录入方法及终端设备 | |
CN115905371A (zh) | 数据趋势分析方法、装置、设备及计算机可读存储介质 | |
CN112130849B (zh) | 代码自动生成方法及装置 | |
CN104731900A (zh) | 一种Hive调度方法及装置 | |
CN115295109A (zh) | 医疗数据溯源方法及装置、存储介质、终端设备 | |
CN112051987B (zh) | 业务数据处理方法、装置及设备、程序生成方法及装置 | |
CN114328214B (zh) | 报表软件的接口测试用例的提效方法、装置、计算机设备 | |
CN111324434B (zh) | 计算任务的配置方法、装置及执行系统 | |
CN113326401B (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 |