CN112347095A - 数据表的处理方法、装置和服务器 - Google Patents
数据表的处理方法、装置和服务器 Download PDFInfo
- Publication number
- CN112347095A CN112347095A CN202011278577.0A CN202011278577A CN112347095A CN 112347095 A CN112347095 A CN 112347095A CN 202011278577 A CN202011278577 A CN 202011278577A CN 112347095 A CN112347095 A CN 112347095A
- Authority
- CN
- China
- Prior art keywords
- checking
- tables
- type
- errors
- target
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
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)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Machine Translation (AREA)
- Stored Programmes (AREA)
Abstract
本说明书提供了数据表的处理方法、装置和服务器。基于该方法,用户在处理数据表时,只需要设置包含有按照预设的处理顺序排列的中间表的标识信息的配置参数;服务器可以获取并根据上述配置参数,调用相匹配的第一检核脚本对多个中间表分别进行检核处理,得到对应的第一检核结果;再从相匹配的第一检核脚本中提取出第一检核规则和第一检核主键;并根据第一检核结果、第一检核规则和第一检核主键,生成中间表的检核报表;进而可以根据中间表的检核报表,确定中间表是否存在第一类错误,以及第一类错误在中间表中的位置信息。从而可以简化用户操作,自动、高效地对多个中间表进行检核处理,并且还能精确地定位出中间表中第一类错误的字段位置。
Description
技术领域
本说明书属于数据处理技术领域,尤其涉及数据表的处理方法、装置和服务器。
背景技术
在许多数据处理场景中(例如,银行系统基于大数据的业务数据处理场景),由于业务需要,常常需要将大量业务数据通过先转换成中间表,再转换成目标表的方式,从一个数据库导入到另一个数据库中。
为了确保上述转换过程中数据的准确,通常还需要对转换过程中的中间表数据进行检核。而基于现有方法在检核中间表时往往存在用户操作复杂、效率低,且无法准确地定位出中间表中错误字段位置的技术问题。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书提供了一种数据表的处理方法、装置和服务器,以简化用户操作,能自动、高效地对多个中间表批量进行检核处理,并且还能精确地定位出中间表中第一类错误的字段位置。
本说明书提供了一种数据表的处理方法,包括:
获取配置参数;其中,所述配置参数至少包括待处理的多个中间表的标识信息,所述多个中间表的标识信息按照预设的处理顺序排列;
根据所述配置参数,调用相匹配的第一检核脚本对所述多个中间表分别进行检核处理,得到对应的第一检核结果;
从所述相匹配的第一检核脚本中提取出多个中间表的第一检核规则和第一检核主键;
根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成中间表的检核报表;
根据所述中间表的检核报表,确定所述多个中间表是否存在第一类错误,以及在确定所述多个中间表存在第一类错误的情况下,确定出所述第一类错误在中间表中的位置信息。
在一个实施例中,预设的处理顺序根据多个中间表之间的依赖关系确定。
在一个实施例中,所述第一检核结果包括存在第一类错误的中间表的标识信息、存在第一类错误的中间表中的表主键,以及与所述表主键对应的第一类错误所命中的第一检核规则的规则标识。
在一个实施例中,根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成中间表的检核报表,包括:
根据所述中间表的标识信息,检索所述第一检核结果,确定出存在第一类错误的中间表;
根据所述存在第一类错误的中间表中的表主键、与所述表主键对应的第一类错误所命中的第一检核规则的规则标识,以及所述第一检核规则和第一检核主键,确定出所述第一类错误在所述存在第一类错误的中间表中的位置信息,以生成对应的中间表的检核报表。
在一个实施例中,所述中间表包括在银行交易数据处理场景中,将数据从当前数据库导入目标数据库的过程中所生成的中间表。
在一个实施例中,所述表主键包括客户的身份标识,所述第一检核主键包括与所述客户的身份标识对应的属性字段。
在一个实施例中,所述第一检核规则包括以下至少之一:字段长度的检核规则、格式的检核规则、空值的检核规则、默认值的检核规则、取值范围的检核规则、表内字段的逻辑关系的检核规则。
在一个实施例中,在根据所述中间表的检核报表,确定所述多个中间表存在第一类错误的情况下,所述方法还包括:
根据所述第一类错误在中间表中的位置信息,对与存在第一类错误的中间表对应的源表进行修改,以消除所述第一类错误。
在一个实施例中,在根据所述中间表的检核报表,确定所述多个中间表不存在第一类错误的情况下,所述方法还包括:
根据所述配置参数,调用相匹配的导数脚本,按照预设的处理顺序,对所述多个中间表进行数据转换,得到对应的多个目标表。
在一个实施例中,在根据所述配置参数,调用相匹配的导数脚本,按照预设的处理顺序,对所述多个中间表进行数据转换,得到对应的多个目标表之后,所述方法还包括:
根据所述配置参数,调用相匹配的第二检核脚本对所述多个目标表分别进行检核处理,得到对应的第二检核结果;
从所述相匹配的第二检核脚本中提取出多个目标表的第二检核规则和第二检核主键;
根据所述第二检核结果、所述多个目标表的第二检核规则和第二检核主键,生成目标表的检核报表。
在一个实施例中,在根据所述第二检核结果、所述多个目标表的第二检核规则和第二检核主键,生成目标表的检核报表之后,所述方法还包括:
根据所述目标表的检核报表,确定所述多个目标表是否存在第二类错误;
在确定所述多个目标表存在第二类错误的情况下,确定出所述第二类错误在目标表中的位置信息。
在一个实施例中,在根据所述目标表的检核报表,确定所述多个目标表存在第二类错误的情况下,所述方法还包括:
根据所述第二类错误在目标表中的位置信息,对与存在第二类错误的目标表对应的中间表进行修改,以消除所述第二类错误。
本说明书还提供了一种数据表的处理装置,包括:
获取模块,用于获取配置参数;其中,所述配置参数至少包括待处理的多个中间表的标识信息,所述多个中间表的标识信息按照预设的处理顺序排列;
检核模块,用于根据所述配置参数,调用相匹配的第一检核脚本对所述多个中间表分别进行检核处理,得到对应的第一检核结果;
提取模块,用于从所述相匹配的第一检核脚本中提取出多个中间表的第一检核规则和第一检核主键;
生成模块,用于根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成中间表的检核报表;
确定模块,用于根据所述中间表的检核报表,确定所述多个中间表是否存在第一类错误,以及在确定所述多个中间表存在第一类错误的情况下,确定出所述第一类错误在中间表中的位置信息。
本说明书还提供了一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现获取配置参数;其中,所述配置参数至少包括待处理的多个中间表的标识信息,所述多个中间表的标识信息按照预设的处理顺序排列;根据所述配置参数,调用相匹配的第一检核脚本对所述多个中间表分别进行检核处理,得到对应的第一检核结果;从所述相匹配的第一检核脚本中提取出多个中间表的第一检核规则和第一检核主键;根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成中间表的检核报表;根据所述中间表的检核报表,确定所述多个中间表是否存在第一类错误,以及在确定所述多个中间表存在第一类错误的情况下,确定出所述第一类错误在中间表中的位置信息。
本说明书还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现获取配置参数;其中,所述配置参数至少包括待处理的多个中间表的标识信息,所述多个中间表的标识信息按照预设的处理顺序排列;根据所述配置参数,调用相匹配的第一检核脚本对所述多个中间表分别进行检核处理,得到对应的第一检核结果;从所述相匹配的第一检核脚本中提取出多个中间表的第一检核规则和第一检核主键;根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成中间表的检核报表;根据所述中间表的检核报表,确定所述多个中间表是否存在第一类错误,以及在确定所述多个中间表存在第一类错误的情况下,确定出所述第一类错误在中间表中的位置信息。
本说明书提供的一种数据表的处理方法、装置和服务器,基于该方法,用户在处理数据表时,只需要一次性地设置好包含有按照预设的处理顺序排列的多个中间表的标识信息的配置参数;进而服务器可以获取并根据上述配置参数,调用相匹配的第一检核脚本对多个中间表分别进行检核处理,得到对应的第一检核结果;再从上述相匹配的第一检核脚本中提取出第一检核规则和第一检核主键;并根据第一检核结果、第一检核规则和第一检核主键,生成中间表的检核报表;进一步服务器可以根据中间表的检核报表,确定多个中间表是否存在第一类错误,以及第一类错误在中间表中的位置信息;接着服务器可以根据第一类错误在上述中间表中的位置信息,对与出错的中间表相对应的源表进行修改,以消除中间表中的第一类错误。从而可以有效地简化用户操作,能够自动、高效地对多个中间表批量进行检核处理,并且还能够精确地定位出中间表中第一类错误的字段位置,方便后续的修改处理。解决了现有方法中存在的用户操作复杂、效率低,无法准确地定位出中间表中第一类错误的字段位置,影响后续处理的技术问题。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是应用本说明书实施例提供的数据表的处理方法的系统的结构组成的一个实施例的示意图;
图2是本说明书的一个实施例提供的数据表的处理方法的流程示意图;
图3是本说明书的一个实施例提供的服务器的结构组成示意图;
图4是本说明书的一个实施例提供的数据表的处理装置的结构组成示意图;
图5是在一个场景示例中,应用本说明书实施例提供的数据表的处理方法的一种实施例的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
考虑到系统服务器在将数据从当前数据库导入目标数据库时,往往需要先将当前数据库中待导入的数据从源表转换成对应的中间表,再将中间表转换成与目标数据库对应的目标表,完成数据的导入。基于现有方法,通常需要依赖技术人员手动对多个中间表中的各个中间表逐个进行检核,上述操作过程相对较复杂,且检核效率也相对较低。并且,在一些较为复杂的检核场景中,还需要对中间表中多个不同类型的字段,以及多个不同类型的错误进行检核,而基于现有方法往往只能得到一个笼统的结果,无法准确地定位出中间表中出现错误的具体字段位置。这样导致技术人员需要另外耗费较多的精力和时间,先找出中间表中出现错误的字段位置,再回到该中间表所对应源表中找出错误的字段进行修改。从而,进一步增加了处理过程的复杂度,影响了整体的处理效率,也更容易出现误差。
针对产生上述问题的根本原因,本说明书考虑用户在处理数据表,例如,对大批量的中间表进行检核时,可以在开始一次性地设置好包含有按照预设的处理顺序排列的中间表的标识信息的配置参数。服务器具体实施时,可以获取并根据上述配置参数,调用相匹配的第一检核脚本对多个中间表分别进行检核处理,得到对应的第一检核结果;再从相匹配的第一检核脚本中提取出第一检核规则和第一检核主键;并根据第一检核结果、第一检核规则和第一检核主键,生成中间表的检核报表;进而可以根据中间表的检核报表,确定多个中间表是否存在第一类错误,以及第一类错误在中间表中的位置信息;进而可以根据第一类错误在上述中间表中的位置信息,对与出错的中间表相对应的源表进行修改,以消除错误。从而可以简化用户操作,自动、高效地对多个中间表进行检核处理,并且还能精确地定位出中间表中第一类错误的字段位置。解决现有方法中存在的用户操作复杂、效率低,无法准确地定位出中间表中第一类错误的字段位置,影响后续处理的技术问题。
基于上述思路,本说明书提供了一种数据表的处理方法。其中,该方法具体可以应用于包含有终端设备和服务器的系统中。具体可以参阅图1所示,上述终端设备和服务器可以通过有线或无线的方式相连,以进行数据交互。
在本实施例中,所述终端设备具体可以包括一种应用于用户(例如,平台技术人员)一侧,能够实现数据采集、数据传输等功能的前端设备。具体的,所述终端设备例如可以为台式电脑、平板电脑、笔记本电脑、智能手机等。或者,所述终端设备也可以为能够运行于上述电子设备中的软件应用。例如,可以是在手机上运行的某APP等。
在本实施例中,所述服务器具体可以包括一种应用于数据处理平台一侧,能够实现数据传输、数据处理等功能的后台负责数据处理的服务器。具体的,所述服务器例如可以为一个具有数据运算、存储功能以及网络交互功能的电子设备。或者,所述服务器也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。在本实施例中,并不具体限定所述服务器所包含的服务器的数量。所述服务器具体可以为一个服务器,也可以为几个服务器,或者,由若干服务器形成的服务器集群。
用户在利用上述系统将大量数据批量从一个数据库导入另一个数据库的过程中,终端设备可以接收并响应用户的操作指示,生成包含有按照预设的处理顺序排列的中间表的标识信息的配置参数;并通过该终端设备,将上述配置参数发送至服务器。
服务器接收配置参数,并根据所述配置参数,调用相匹配的第一检核脚本对所述多个中间表分别进行检核处理,得到对应的第一检核结果。接着,服务器还可以从所述相匹配的第一检核脚本中提取出多个中间表的第一检核规则和第一检核主键;并根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成中间表的检核报表。进而,服务器可以根据所述中间表的检核报表,确定所述多个中间表是否存在第一类错误,以及在确定所述多个中间表存在第一类错误的情况下,确定出所述第一类错误在中间表中的位置信息。
服务器还可以将上述中间表的检核报表反馈给终端设备。终端设备可以向用户展示出上述中间表的检核报表,从而可以以可视化的方式告知用户在批量导入数据时出现第一类错误的中间表,以及上述出现上述第一类错误的具体字段位置。
参阅图2所示,本说明书实施例提供了一种数据表的处理方法。其中,该方法具体应用于服务器一侧。具体实施时,该方法可以包括以下内容。
S201:获取配置参数;其中,所述配置参数至少包括待处理的多个中间表的标识信息,所述多个中间表的标识信息按照预设的处理顺序排列。
S202:根据所述配置参数,调用相匹配的第一检核脚本对所述多个中间表分别进行检核处理,得到对应的第一检核结果。
S203:从所述相匹配的第一检核脚本中提取出多个中间表的第一检核规则和第一检核主键。
S204:根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成中间表的检核报表。
S205:根据所述中间表的检核报表,确定所述多个中间表是否存在第一类错误,以及在确定所述多个中间表存在第一类错误的情况下,确定出所述第一类错误在中间表中的位置信息。
在一个实施例中,上述配置参数具体可以理解为用户预先设置的用于批量处理多个数据表的参数数据。
具体的,上述配置参数至少可以包括待处理的多个中间表的标识信息,并且在所述配置参数中,上述多个中间表的标识信息按照预设的处理顺序排列。
在一个实施例中,一种中间表的标识信息具体可以用于区分其他中间表,指示出所对应的中间表。具体的,上述中间表的标识信息可以是中间表的表名,也可以是中间表的存储地址,还可以是中间表的编号等。对于上述标识信息的具体类型,本说明书不作限定。
在一个实施例中,在上述配置参数中,多个中间表的标识信息可以是按照预设的处理顺序排列的。这样服务器可以根据上述配置参数中中间表的标识信息的排列顺序,确定出所对应的多个中间表的预设的处理顺序;进而可以自动按照相应顺序,批量处理多个中间表,而不需要再依赖用户另外重新调整不同表之间的处理顺序。其中,上述预设的处理顺序具体可以理解为多个中间表之间处理时的先后顺序。
在一个实施例中,上述预设的处理顺序具体可以是用户(或者服务器)根据多个中间表之间的依赖关系确定的。其中,上述依赖关系具体可以包括不同表之间的处理结果的依赖关系、不同表之间的处理时间的依赖关系、不同表之间的处理条件的依赖关系等。
具体的,例如,B数据表的处理需要依赖于A数据表的处理结果,则可以在设置配置参数时,将A数据表的标识信息“表A”排列在B数据表的标识信息“表B”之前。
在一个实施例中,在批量处理多个之间表之前,用户可以先通过终端设备一次性地设置好按照预设的处理顺序排列的多个待处理的中间表的标识信息,作为上述配置参数。终端设备将上述配置参数发送至服务器。相应的,服务器获取得到上述配置参数。
在一个实施例中,可以将多个中间表分别存储在服务器中,且每一个中间表分别携带有所对应的标识信息。
服务器在批量处理多个中间表时,可以根据上述配置参数,按照预设的处理顺序,根据配置参数中的中间表的标识信息,读取对应的中间表,并对该中间表进行相应的检核处理。
在一个实施例中,上述配置参数还可以包含有与中间表对应的检核脚本的标识信息。相应的,具体实施时,服务器在读取出中间表的同时,可以通过读取并根据配置参数,从多个预置的检核脚本中确定出与中间表匹配的检核脚本,作为与该中间表相匹配的第一检核脚本;再调用该第一检核脚本,对该中间表进行检核处理,以得到该中间表的检核结果。按照上述方式,分别调用相匹配的第一检核脚本对多个中间表分别进行检核处理,得到多个中间表的检核结果,从而可以获得对应上述多个中间表的第一检核结果。
在一个实施例中,具体实施前,可以预先针对不同业务类型、不同业务阶段的不同数据表(包括中间表、目标表等)的检核需求,分别配置好多个预置的检核脚本。其中,每一个预设的检核脚本中分别配置有相对应的检核主键和检核规则。同时,还可以在配置参数中设置好与各个数据表相对应的检核脚本的标识信息。
其中,上述检核主键具体可以理解为数据表中待检核的表字段。例如,中间表中待检核的客户年龄的字段,或者目标表中待检核的客户收入的字段。当然,上述所列举的检核主键只是一种示意性说明。具体实施时,根据具体情况和处理需求,上述检核主键还可以包括其他类型或内容的表字段。对此,本说明书不作限定。
上述检核规则具体可以理解为针对数据表中待检核的表字段的具体检核内容。其中,上述检核规则可以包括针对表内的检核规则,以及针对表间的检核规则。
具体的,上述检核规则可以包括以下所列举的检核规则中的一种或多种:字段长度的检核规则、格式的检核规则、空值的检核规则、默认值的检核规则、取值范围的检核规则、表内字段的逻辑关系的检核规则等。其中,上述格式的检核规则进一步又可以包括:日期格式的检核规则、时间格式的检核规则等等。
当然,上述所列举的检核规则只是一种示意性说明。具体实施时,根据具体的应用场景和处理需求,还可以包括上述所列举的检核规则外其他类型的检核规则。对此,本说明书不作限定。
在一个实施例中,上述第一检核脚本具体可以理解为适用于对中间表进行检核处理的检核脚本。其中,第一检核脚本所使用到的检核主键记为第一检核主键,所使用到的检核规则记为第一检核规则。所述第一检核规则主要包括针对表内的检核规则。
在一个实施例中,所述第一检核结果具体可以包括存在第一类错误的中间表的标识信息、存在第一类错误的中间表中的表主键,以及与所述表主键对应的第一类错误所命中的第一检核规则的规则标识。其中,上述第一类错误具体可以包括中间表的表内的字段错误。
其中,所述表主键具体可以理解为数据表中用于指示一条包含有多个字段的数据的标识信息。具体的,例如,在数据表为客户的属性信息数据表的情况下,数据表中的每一条客户的数据可以包含有对应同一个客户的不同属性(例如,姓名、性别、月收入等)的多个字段,以及一个表主键(例如,客户的身份ID、客户编号等)。
在一个实施例中,根据上述第一检核结果,只能确定出哪一个中间表出现了第一类错误,以及所出现的第一类错误所命中的第一检核规则的规则标识,但无法直接定位出上述第一类错误具体出现在该中间表中的哪个字段位置。
例如,根据第一检核结果可以确定出表A出现了第一类错误,并且命中的第一检核规则为字段长度的检核规则、格式的检核规则。但是,基于上述第一检核结果无法直接确定出表A中具体哪一个字段的字段长度出了错,也无法确定出哪一个字段的格式出了错。
而基于本说明书所提供的方案,在调用相匹配的第一检核脚本对所述多个中间表分别进行检核处理,得到对应的第一检核结果的同时,还会从相匹配的第一检核脚本中提取出多个中间表的第一检核规则和第一检核主键。进一步可以根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成能够精细地定位出现第一类错误的字段位置的中间表的检核报表。
例如,基于上述中间表的检核报表,可以精细地确定出表A中对应客户ID为1001的那一条数据中的客户收入字段的字段长度出了错。
在一个实施例中,上述根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成中间表的检核报表,具体实施时,可以包括以下内容:根据所述中间表的标识信息,检索所述第一检核结果,确定出存在第一类错误的中间表;根据所述存在第一类错误的中间表中的表主键、与所述表主键对应的第一类错误所命中的第一检核规则的规则标识,以及所述第一检核规则和第一检核主键,确定出所述第一类错误在所述存在第一类错误的中间表中的位置信息,以生成对应的中间表的检核报表。
具体的,服务器可以先依次读取配置参数中的中间表的标识信息,并根据中间表的标识信息,从相匹配的检核文件或第一检核脚本中抽取出该中间表的检核主键和检核规则,并按行汇总到第一临时文件W中。进一步,服务器可以按行读取上述第一临时文件W,得到所涉及的检核主键和检核规则的数据X,根据表的标识信息匹配第一检核结果Y;再根据X中所包含的检核规则匹配出第一检核结果Y中所对应的检核规则Z;再使用X对第一检核结果Y中的Z进行替换,得到替换后的第一检核结果。最后可以将中间表的标识信息、表主键以及替换后的第一检核结果汇总到文件A,以得到中间表的检核报表。其中,该中间表的检核报表可以包含有:中间表的标识信息,表主键、表主键值、检核主键以及检核主键值。
在一个实施例中,具体实施时,服务器可以根据上述中间表的检核报表,确定所述多个中间表中的各个中间表是否存在第一类错误。进一步,还可以根据上述中间表的检核报表,确定出存在第一类错误的中间表中第一类错误具体的位置信息,即该表中出现第一类错误的具体字段位置。从而可以高效地在对多个中间表进行批量的检核的同时,准确地定位出第一类错误的具体字段位置,简化了用户的操作,提高了整体的处理效率。
在一个实施例中,在根据所述中间表的检核报表,确定所述多个中间表存在第一类错误的情况下,所述方法具体实施时,还可以包括以下内容:根据所述第一类错误在中间表中的位置信息,对与存在第一类错误的中间表对应的源表进行修改,以消除所述第一类错误。
其中,上述源表具体可以理解为中间表上一级的数据表。具体的,可以通过将当前数据库的源表中的数据导入到中间表,来得到与该源表对应的中间表。
具体实施时,服务器可以根据中间表中出现第一类错误的具体字段位置,结合字段的对应关系,确定出出错的中间表的上一级表(即与该出错的中间表对应的源表)中出错的字段位置。再通过修改上一级表中出错的字段,来消除中间表中的第一类错误。
在本实施例中,具体实施时,服务器可以根据中间表的检核报表,定位得到出现第一类错误的字段,以及错误原因(例如,所命中的检核规则);进而可以根据对应关系,确定出与上述存在第一类错误的中间表对应的源表,以及该源表中出错的字段;再根据错误原因,通过对源表中的错误字段进行针对性的修改,以最终消除中间表中的第一类错误,得到准确的中间表。
例如,可以将与存在第一类错误的中间表对应的源表中的相应字段的格式修复为满足格式的检核规则所要求的格式;或者对该字段进行删减,以满足修改后的字段的字段长度满足字段长度的检核规则等。
通过上述方式,服务器可以高效,且有针对性地对中间表中出现的第一类错误进行修复,得到准确的中间表,从而简化了用户的操作,提高了处理效率。
在一个实施例中,在根据所述中间表的检核报表,确定所述多个中间表不存在第一类错误的情况下,所述方法具体实施时,还可以包括以下内容:根据所述配置参数,调用相匹配的导数脚本,按照预设的处理顺序,对所述多个中间表进行数据转换,得到对应的多个目标表。
在一个实施例中,具体实施前,可以预先针对不同业务类型的中间表的导入需求,分别配置好多个预置的导数脚本。
具体实施时,可以根据配置参数中中间表的标识信息,从多个预置的导数脚本中确定出与中间表相匹配的导数脚本。再根据配置参数中中间表的标识信息的排列顺序,按照预设的处理顺序分别调用相匹配的导数脚本对多个中间表进行数据转换处理,得到多个目标表。其中,上述每一个目标表与一个中间表对应。
通过上述方式,用户不需要再耗费时间和精力另外设置、管理导入过程中中间表之间的依赖关系,服务器能够自动、有序地完成多个中间表到所对应的目标表的导入转换。
在一个实施例中,在将中间表转换成目标表之后,相当于将数据从当前的数据库导入了目标数据库。为了保证导入目标数据库中的数据的准确、无错,还可以采用与检核多个中间表类似的方式,来根据配置参数,对与所述多个中间表对应的多个目标表进行批量检核。
在一个实施例中,在根据所述配置参数,调用相匹配的导数脚本,按照预设的处理顺序,对所述多个中间表进行数据转换,得到对应的多个目标表之后,所述方法具体实施时,还可以包括以下内容:根据所述配置参数,调用相匹配的第二检核脚本对所述多个目标表分别进行检核处理,得到对应的第二检核结果;从所述相匹配的第二检核脚本中提取出多个目标表的第二检核规则和第二检核主键;根据所述第二检核结果、所述多个目标表的第二检核规则和第二检核主键,生成目标表的检核报表。
在一个实施例中,上述第二检核脚本具体可以理解为适用于对目标表进行检核处理的检核脚本。其中,第二检核脚本所使用到的检核主键记为第二检核主键,所使用到的检核规则记为第二检核规则。所述第二检核规则包括针对表内的检核规则,和/或,针对表间的检核规则。
在一个实施例中,所述第二检核结果具体可以包括存在第二类错误的中间表的标识信息、存在第二类错误的中间表中的表主键,以及与所述表主键对应的第二类错误所命中的第二检核规则的规则标识。其中,上述第二类错误可以包括目标表的表间的字段错误。
相应的,上述第二检核规则具体可以包括例如表间字段取值依赖关系的检核规则等涉及表间检核的规则。
在一个实施例中,在根据所述第二检核结果、所述多个目标表的第二检核规则和第二检核主键,生成目标表的检核报表之后,所述方法具体实施时,还可以包括以下内容:根据所述目标表的检核报表,确定所述多个目标表是否存在第二类错误;在确定所述多个目标表存在第二类错误的情况下,确定出所述第二类错误在目标表中的位置信息。
在一个实施例中,在根据所述目标表的检核报表,确定所述多个目标表存在第二类错误的情况下,所述方法具体实施时,还可以包括以下内容:根据所述第二类错误在目标表中的位置信息,对与存在第二类错误的目标表对应的中间表进行修改,以消除所述第二类错误。
类似于对中间表的修复,服务器可以根据目标表的检核报表,定位得到出现第二类错误的字段,以及错误原因(例如,所命中的检核规则);进而可以根据对应关系,确定出与上述存在第二类错误的目标表对应的中间表,以及该中间表中出错的字段;再根据错误原因,通过对中间表中的错误字段进行针对性的修改,以最终消除目标表中的第二类错误,得到准确的目标表。
通过上述方式,服务器可以高效,且有针对性地自动对目标表中出现的第二类错误进行修复,得到准确的目标表,从而简化了用户的操作,提高了处理效率。
进而可以较为准确地将大量待导入的数据批量从当前数据库中导入到对应目标数据库中,完成了数据在不同数据库之间导入操作。
在一个实施例中,所述中间表具体可以包括在银行交易数据处理场景中,将数据从当前数据库导入目标数据库的数据处理过程中所生成的中间表。
具体的,例如,上述中间表可以是包含有该银行的贷款客户的贷款业务数据的中间表。上述当前数据库具体可以是支行的数据库,目标数据库具体可以是总行的数据库。
在一个实施例中,相应的,所述表主键包括客户的身份标识,所述第一检核主键包括与所述客户的身份标识对应的属性字段。
具体的,例如,上述表主键可以是该银行的贷款客户的账号、身份ID,或者注册手机号等,上述第一检核主键具体可以是贷款业务数据中与贷款客户的账号对应的贷款客户的证件号、客户编号、贷款合约编号等属性字段。
由上可见,本说明书实施例提供的数据表的处理方法,基于该方法,用户在处理数据表时,只需要设置包含有按照预设的处理顺序排列的中间表的标识信息的配置参数;服务器可以获取并根据上述配置参数,调用相匹配的第一检核脚本对多个中间表分别进行检核处理,得到对应的第一检核结果;再从相匹配的第一检核脚本中提取出第一检核规则和第一检核主键;并根据第一检核结果、第一检核规则和第一检核主键,生成中间表的检核报表;进而可以根据中间表的检核报表,确定多个中间表是否存在第一类错误,以及第一类错误在中间表中的位置信息。从而可以简化用户操作,自动、高效地对多个中间表进行检核处理,并且还能精确地定位出中间表中第一类错误的字段位置,可以有效地解决现有方法中存在的用户操作复杂、效率低,无法准确地定位出中间表中第一类错误的字段位置,影响后续处理的技术问题。基于该方法,还可以不需要依赖用户操作、管理中间表之间的依赖关系,就能按照预设的处理顺序,自动、有序地将多个中间表批量地转换成对应的目标表。基于该方法,还可以自动、高效地对多个目标表进行检核处理,并且还能精确地定位出目标表中第二类错误的字段位置,并及时进行针对性修复。
本说明书还提供了一种完整的数据表的处理方法,以准确、高效地完成大量数据的批量导入。具体实施时,可以包括以下内容:获取配置参数;其中,所述配置参数至少包括待处理的多个中间表的标识信息,所述多个中间表的标识信息按照预设的处理顺序排列;根据所述配置参数,调用相匹配的第一检核脚本对所述多个中间表分别进行检核处理,得到对应的第一检核结果;从所述相匹配的第一检核脚本中提取出多个中间表的第一检核规则和第一检核主键;根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成中间表的检核报表;根据所述中间表的检核报表,确定所述多个中间表是否存在第一类错误,以及在确定所述多个中间表存在第一类错误的情况下,确定出所述第一类错误在中间表中的位置信息;在根据所述中间表的检核报表,确定所述多个中间表不存在第一类错误的情况下,根据所述配置参数,调用相匹配的导数脚本,按照预设的处理顺序,对所述多个中间表进行数据转换,得到对应的多个目标表;根据所述配置参数,调用相匹配的第二检核脚本对所述多个目标表分别进行检核处理,得到对应的第二检核结果;从所述相匹配的第二检核脚本中提取出多个目标表的第二检核规则和第二检核主键;根据所述第二检核结果、所述多个目标表的第二检核规则和第二检核主键,生成目标表的检核报表。在上述处理过程中,可以根据所生成的中间表的检核报表,以及目标表的检核报表,高效地检测并定位出出错的字段,进而可以及时地进行针对性修改,消除错误。通过上述方式,可以高效、准确地完成将数据从当前数据库导入到目标数据库的数据处理。
本说明书实施例还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:获取配置参数;其中,所述配置参数至少包括待处理的多个中间表的标识信息,所述多个中间表的标识信息按照预设的处理顺序排列;根据所述配置参数,调用相匹配的第一检核脚本对所述多个中间表分别进行检核处理,得到对应的第一检核结果;从所述相匹配的第一检核脚本中提取出多个中间表的第一检核规则和第一检核主键;根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成中间表的检核报表;根据所述中间表的检核报表,确定所述多个中间表是否存在第一类错误,以及在确定所述多个中间表存在第一类错误的情况下,确定出所述第一类错误在中间表中的位置信息。
为了能够更加准确地完成上述指令,参阅图3所示,本说明书实施例还提供了另一种具体的服务器,其中,所述服务器包括网络通信端口301、处理器302以及存储器303,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口301,具体可以用于获取配置参数;其中,所述配置参数至少包括待处理的多个中间表的标识信息,所述多个中间表的标识信息按照预设的处理顺序排列。
所述处理器302,具体可以用于根据所述配置参数,调用相匹配的第一检核脚本对所述多个中间表分别进行检核处理,得到对应的第一检核结果;从所述相匹配的第一检核脚本中提取出多个中间表的第一检核规则和第一检核主键;根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成中间表的检核报表;根据所述中间表的检核报表,确定所述多个中间表是否存在第一类错误,以及在确定所述多个中间表存在第一类错误的情况下,确定出所述第一类错误在中间表中的位置信息。
所述存储器303,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口301可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器302可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器303可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种基于上述数据表的处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:获取配置参数;其中,所述配置参数至少包括待处理的多个中间表的标识信息,所述多个中间表的标识信息按照预设的处理顺序排列;根据所述配置参数,调用相匹配的第一检核脚本对所述多个中间表分别进行检核处理,得到对应的第一检核结果;从所述相匹配的第一检核脚本中提取出多个中间表的第一检核规则和第一检核主键;根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成中间表的检核报表;根据所述中间表的检核报表,确定所述多个中间表是否存在第一类错误,以及在确定所述多个中间表存在第一类错误的情况下,确定出所述第一类错误在中间表中的位置信息。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图4所示,在软件层面上,本说明书实施例还提供了一种数据表的处理装置。该装置具体可以包括以下的结构模块。
获取模块401,具体可以用于获取配置参数;其中,所述配置参数至少包括待处理的多个中间表的标识信息,所述多个中间表的标识信息按照预设的处理顺序排列;
检核模块402,具体可以用于根据所述配置参数,调用相匹配的第一检核脚本对所述多个中间表分别进行检核处理,得到对应的第一检核结果;
提取模块403,具体可以用于从所述相匹配的第一检核脚本中提取出多个中间表的第一检核规则和第一检核主键;
生成模块404,具体可以用于根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成中间表的检核报表;
确定模块405,具体用于根据所述中间表的检核报表,确定所述多个中间表是否存在第一类错误,以及在确定所述多个中间表存在第一类错误的情况下,确定出所述第一类错误在中间表中的位置信息。
在一个实施例中,预设的处理顺序具体可以根据多个中间表之间的依赖关系确定。
在一个实施例中,所述第一检核结果包括存在第一类错误的中间表的标识信息、存在第一类错误的中间表中的表主键,以及与所述表主键对应的第一类错误所命中的第一检核规则的规则标识。
在一个实施例中,所述生成模块404具体实施时,可以用于根据所述中间表的标识信息,检索所述第一检核结果,确定出存在第一类错误的中间表;根据所述存在第一类错误的中间表中的表主键、与所述表主键对应的第一类错误所命中的第一检核规则的规则标识,以及所述第一检核规则和第一检核主键,确定出所述第一类错误在所述存在第一类错误的中间表中的位置信息,以生成对应的中间表的检核报表。
在一个实施例中,所述中间表具体可以包括在银行交易数据处理场景中,将交易数据从当前数据库导入目标数据库的数据处理过程中所生成的中间表。
在一个实施例中,所述表主键具体可以包括客户的身份标识,所述第一检核主键包括与所述客户的身份标识对应的属性字段。
在一个实施例中,所述第一检核规则具体可以包括以下至少之一:字段长度的检核规则、格式的检核规则、空值的检核规则、默认值的检核规则、取值范围的检核规则、表内字段的逻辑关系的检核规则等。
在一个实施例中,在根据所述中间表的检核报表,确定所述多个中间表存在第一类错误的情况下,所述装置还可以用于根据所述第一类错误在中间表中的位置信息,对与存在第一类错误的中间表对应的源表进行修改,以消除所述第一类错误。
在一个实施例中,在根据所述中间表的检核报表,确定所述多个中间表不存在第一类错误的情况下,所述装置还可以用于根据所述配置参数,调用相匹配的导数脚本,按照预设的处理顺序,对所述多个中间表进行数据转换,得到对应的多个目标表。
在一个实施例中,在根据所述配置参数,调用相匹配的导数脚本,按照预设的处理顺序,对所述多个中间表进行数据转换,得到对应的多个目标表之后,所述装置还可以用于根据所述配置参数,调用相匹配的第二检核脚本对所述多个目标表分别进行检核处理,得到对应的第二检核结果;从所述相匹配的第二检核脚本中提取出多个目标表的第二检核规则和第二检核主键;根据所述第二检核结果、所述多个目标表的第二检核规则和第二检核主键,生成目标表的检核报表。
在一个实施例中,在根据所述第二检核结果、所述多个目标表的第二检核规则和第二检核主键,生成目标表的检核报表之后,所述装置还可以用于根据所述目标表的检核报表,确定所述多个目标表是否存在第二类错误;在确定所述多个目标表存在第二类错误的情况下,确定出所述第二类错误在目标表中的位置信息。
在一个实施例中,在根据所述目标表的检核报表,确定所述多个目标表存在第二类错误的情况下,所述装置具体可以用于根据所述第二类错误在目标表中的位置信息,对与存在第二类错误的目标表对应的中间表进行修改,以消除所述第二类错误。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,本说明书实施例提供的数据表的处理装置,可以有效地简化用户操作,自动、高效地对多个中间表进行检核处理,并且还能精确地定位出中间表中第一类错误的字段位置。解决现有方法中存在的用户操作复杂、效率低,无法准确地定位出中间表中第一类错误的字段位置,影响后续处理的技术问题。
在一个具体的场景示例中,可以应用本说明书所提供的方法来对多个中间表进行批量检核,再将多个中间表转换成对应的多个目标表,最后对多个目标表进行批量检核。具体实施过程,可以参阅以下内容。
随着大数据技术的快速发展,新业务需求的涌现,当企业自身技术进行升级或者企业间进行技术输出与合作时,为了在保障旧系统业务正常运行的基础上,能够适应新的业务需求和扩展,需要将旧系统数据库中的数据导入到新系统数据库中。
为确保数据导入的有效性跟一致性,需要进行中间表数据检核、中间表数据导入目标表、目标表数据检核。中间表数据检核的现有技术是通过编写检核脚本针对单表字段进行检核,检核脚本可以包含单个或者多个检核字段,执行检核脚本得到的结果为不符合规则的问题数据,当检核脚本包含多个检核字段且检核结果显示存在问题数据时,由于无法区分和定位不符合规则的字段,需要编写多条只包含单个检核字段的检核脚本,分别执行,根据结果显示的问题数据得到不符合规则的字段,进行字段维护或数据剔除;中间表到目标表的数据转换,现有技术方案是根据转换规则编写转换语句,进行单表转换;目标表的数据检核的现有技术跟中间表数据检核一样;当数据库各表间存在依赖关系时,此时中间表检核和中间表导入目标表、目标表检核时均需要根据特定顺序执行,现有实现方式是由人工手动控制执行顺序以保证数据转换的一致性。
而基于现有方法,在进行数据转换的检核时,由于大多是进行单表检核,导致工作效率低。并且,通过上述单表检核往往无法精确地定位出表中出错的字段位置,还需要人工在表中查找出错的字段,增大了检核工作量。此外,针对具有逻辑依赖关系的表需要人工控制检核执行顺序和数据导入顺序,提高了工作难度,增大了误差风险。
而在本场景示例中,可以通过引入并利用检核参数(例如,配置参数)、检核主键、检核规则、执行参数的配置来解决了上述问题。
具体的,首先,现有的数据转换过程是通过依次执行编写好的单表检核脚本进行单表检核,得到检核结果,检核工作量大。而本方法配置的检核参数、检核参数可以包含有多个有序的表名称(例如,按照预设的处理顺序排列的多个中间表的标识信息),通过读取检核参数可以实现批量执行检核脚本,提高了执行效率。
其次,现有的数据检核针对问题数据的定位方式是大多依赖人工查找和匹配,效率低,出错率大,定位性能差。而在本场景示例中,配置检核主键、检核规则,可以实现检核脚本和检核结果数据的检核主键以及对应的检核规则的匹配,从而可以降低人工成本,实现对问题数据定位到字段级错误类别的功能,提高了检核的准确性。
此外,现有的数据检核针对逻辑关系依赖强的数据表字段做检核时,需要对业务规则或者依赖关系非常熟悉的技术人员进行顺序控制,当依赖关系调整时,检核顺序需要做相应的调整,加大了对技术人员的要求,同时增大了工作量,本方法通过调整检核参数中的排列顺序,可以一次性配置好检核顺序,这样做数据检核的技术人员不需要关心各表之间的业务逻辑依赖关系,降低了对执行数据检核操作的工作人员的技术要求。
进一步,现有的数据检核结果是分散性的,可观性、可阅读性不强。在本场景示例中,通过检核参数、检核主键和检核规则的配置可以生成可视化、简洁明了的聚合型检核报表(例如,中间表的检核报表、目标表的检核报表),目标导向明确,方便汇总统计和分析总结。
在本场景示例中,通过配置执行参数,灵活控制数据转换和检核流程的步骤,实现有序的流程管理,便于系统化的维护。
具体实施时,可以通过参数化的方式实现高效的数据转换和检核报表生成,主要涉及到的参数包括执行参数、检核参数、检核主键、检核规则。其中,数据转换和检核报表生成流程框图可以参阅图5所示,主要分为五个模块:中间表数据检核、中间表检核报表生成、中间表数据导入目标表、目标表数据检核、目标表检核报表生成,每一个模块的执行步骤和说明分别如下所述。
在本场景示例中,上述第一个模块具体用于进行中间表数据检核。具体实施时可以包括以下内容:
1、根据执行参数获取检核参数文件,检核参数中表名可配置修改,顺序符合表间依赖关系;
2、根据检核参数依次获取配置在检核参数中的表名;
3、根据获取到的表名,执行对应的检核脚本,检核对应中间表的数据;
4、如果检核到该中间表有不符合规则的数据,生成对应检核结果文件,检核结果包含检核表主键值和主键值对应的问题数据所有不符合的检核规则,如果该中间表所有数据均符合规则,检核结果文件为空;
5、循环执行步骤2到步骤4;如果步骤2读取到的表名为空,该模块流程执行结束。
在本场景示例中,上述第二个模块具体用于中间表检核报表生成,具体实施时,可以包括以下内容:
1、该模块的执行依赖于第一个模块已完成;
2、根据执行参数获取检核参数文件,检核参数中表名可配置修改,顺序符合表间依赖关系;
3、依次读取配置在检核参数中的中间表表名;
4、根据表名匹配检核文件,抽取检核文件中的检核主键和检核规则,按行汇总到临时文件W;
5、按行读取临时文件W,得到X,根据表名匹配检核结果文件Y,根据X中包含的检核规则匹配Y中的规则Z,并使用X替换Y中的Z;
6、将表名和表主键以及替换后的检核结果文件Y汇总到文件A,即检核报表;检核报表主要包含的信息是:检核中间表表名,表主键名、主键值以及检核主键以及对应值。
在本场景示例中,上述第三个模块具体用于中间表到目标表的数据转换,具体实施时,可以包括以下内容:
1、该模块的执行依赖于第一个模块已完成;
2、根据执行参数获取检核参数文件,检核参数中表名可配置修改,顺序符合表间依赖关系;
3、依次获取配置在检核参数中的表名;
4、根据获取到的表名,执行对应导数脚本,将对应的中间表数据导入目标表;
5、如果导数成功,记录表名和成功条数到汇总文件B;如果导数失败,记录错误信息到汇总文件B;
6、循环执行步骤3到步骤5,如果步骤3读取到的表名为空,该模块流程执行结束。
在本场景示例中,上述第四个模块具体用于目标表数据检核,具体实施时,可以包括以下内容:
1、该模块的执行依赖于第三个模块已完成;
2、根据执行参数获取检核参数文件,检核参数中表名可配置修改,顺序符合表间依赖关系;
3、依次获取配置在检核参数中的表名;
4、根据获取到的表名,执行对应的检核脚本,检核对应目标表的数据;
5、如果检核到该中间表有不符合规则的数据,生成对应检核结果文件,生成的检核结果包含检核表主键值和主键值对应的问题数据所有不符合的检核规则,如果该目标表所有数据均符合检核规则,结果文件为空;
6、循环执行步骤3到步骤5;如果步骤3读取到的表名为空,该模块流程执行结束。
在本场景示例中,上述第五个模块具体可以用于目标表检核报表生成,具体实施时,可以包括以下内容:
1、该模块的执行依赖于第四个模块已完成;
2、根据执行参数获取检核参数文件,检核参数中表名可配置修改,顺序符合表间依赖关系;
3、依次获取配置在检核参数中的表名;
4、根据表名匹配检核文件,抽取检核文件中的检核主键和检核规则,按行汇总到临时文件P;
5、按行读取临时文件P,得到Q,根据表名匹配检核结果文件R,根据Q中包含的检核规则匹配R中的规则S,并将Q替换S;
6、将表名和表主键以及替换后的检核结果文件R汇总到文件C,即检核报表;检核报表主要包含的信息是:检核中间表表名,表主键名、主键值以及检核主键以及对应值。
在本场景示例中,中间表检核报表生成和中间表数据导入目标表依赖于中间表数据检核已完成,中间表数据导入目标表完成才可以做目标表数据检核,目标表数据检核完成才可以生成目标表检核报表。执行参数主要用于调配这五个模块的组合模式,这五个模块通过配置执行参数既可以单独执行,也可以有序组合,形成部分模块组合或全流程组合的形式。
其中,检核参数主要作用包括以下内容:
1、中间表数据检核、中间表数据导入目标表以及目标表数据检核三个阶段的批量实现,通过检核参数配置可以实现单表、全量表以及模块化的数据检核和数据导入,配置灵活,可以满足不同需求和特定场景;
2、当表与表之间存在依赖关系时,可以依次将表名有序的配置在检核参数中,确保中间表数据检核、中间表数据导入目标表以及目标表数据检核三个阶段表数据检核和导入均遵循统一的逻辑顺序;
3、当表与表之间新增了依赖关系或者调整了依赖关系时,可以将新增的依赖关系或调整后的依赖关系配置到检核参数中,检核参数配置后即可确保中间表数据检核、中间表数据导入目标表以及目标表数据检核三个阶段按照新增或修改的依赖关系有序执行。
在本场示例中,检核主键、检核规则主要作用是针对多字段检核表,根据检核出的问题数据定位不符合规则的字段。当对中间表和目标表进行数据检核时,通过抽取检核脚本中设定的检核主键和检核规则,匹配检核结果数据,可以得到问题数据中检核主键以及对应的检核主键值。
在本场景示例中,检核参数和检核主键、检核规则三个参数结合起来可用于中间表和目标表检核报表生成,在本方法中,调整检核参数不影响检核主键、检核规则的检核性能和准确定位功能,检核参数和检核主键、检核规则没有关联关系,互不影响。检核参数和检核主键、检核规则都可以根据需求灵活配置,检核参数可以是模块化的表名集合也可以是全量的表名,检核主键和检核规则可以任意组合配置。因此生成的检核报表都是固有目标导向且有针对性意义的报表。
在本场景示例中,执行参数主要用于控制五大模块的组合模式,实现不同数据转换和检核的执行流程。通过配置执行参数可以控制单模块执行和部分模块组合以及全流程实现。实现了批量、系统的参数化管理和控制。
通过上述场景示例,验证了引入并使用检核参数可以实现批量检核多表数据,将单表检核升级为批量检核,避免了检核遗漏的情况,实现了批量化的检核,提高了检核工作的效率;针对有依赖关系的表,通过调整检核参数,可以实现不同模块统一检核顺序的功能,不需要再由人工进行重复的控制,降低了对人员的技术要求,提高了检核工作的一致性;引入并使用检核主键和检核规则可以实现多字段数据检核,减少了检核脚本编写工作量,可以快速实现检核出的问题数据中不符合规则字段的准确定位,提高了表字段检核的准确性,提高了工作效率;引入并使用执行参数可以控制具体模块的执行顺序和组合方式,提高了数据转换工作的灵活性,便于参数化管理和控制检核流程。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (15)
1.一种数据表的处理方法,其特征在于,包括:
获取配置参数;其中,所述配置参数至少包括待处理的多个中间表的标识信息,所述多个中间表的标识信息按照预设的处理顺序排列;
根据所述配置参数,调用相匹配的第一检核脚本对所述多个中间表分别进行检核处理,得到对应的第一检核结果;
从所述相匹配的第一检核脚本中提取出多个中间表的第一检核规则和第一检核主键;
根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成中间表的检核报表;
根据所述中间表的检核报表,确定所述多个中间表是否存在第一类错误,以及在确定所述多个中间表存在第一类错误的情况下,确定出所述第一类错误在中间表中的位置信息。
2.根据权利要求1所述的方法,其特征在于,预设的处理顺序根据多个中间表之间的依赖关系确定。
3.根据权利要求1所述的方法,其特征在于,所述第一检核结果包括存在第一类错误的中间表的标识信息、存在第一类错误的中间表中的表主键,以及与所述表主键对应的第一类错误所命中的第一检核规则的规则标识。
4.根据权利要求3所述的方法,其特征在于,根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成中间表的检核报表,包括:
根据所述中间表的标识信息,检索所述第一检核结果,确定出存在第一类错误的中间表;
根据所述存在第一类错误的中间表中的表主键、与所述表主键对应的第一类错误所命中的第一检核规则的规则标识,以及所述第一检核规则和第一检核主键,确定出所述第一类错误在所述存在第一类错误的中间表中的位置信息,以生成对应的中间表的检核报表。
5.根据权利要求4所述的方法,其特征在于,所述中间表包括在银行交易数据处理场景中,将数据从当前数据库导入目标数据库的过程中所生成的中间表。
6.根据权利要求5所述的方法,其特征在于,所述表主键包括客户的身份标识,所述第一检核主键包括与所述客户的身份标识对应的属性字段。
7.根据权利要求1所述的方法,其特征在于,所述第一检核规则包括以下至少之一:字段长度的检核规则、格式的检核规则、空值的检核规则、默认值的检核规则、取值范围的检核规则、表内字段的逻辑关系的检核规则。
8.根据权利要求1所述的方法,其特征在于,在根据所述中间表的检核报表,确定所述多个中间表存在第一类错误的情况下,所述方法还包括:
根据所述第一类错误在中间表中的位置信息,对与存在第一类错误的中间表对应的源表进行修改,以消除所述第一类错误。
9.根据权利要求1所述的方法,其特征在于,在根据所述中间表的检核报表,确定所述多个中间表不存在第一类错误的情况下,所述方法还包括:
根据所述配置参数,调用相匹配的导数脚本,按照预设的处理顺序,对所述多个中间表进行数据转换,得到对应的多个目标表。
10.根据权利要求9所述的方法,其特征在于,在根据所述配置参数,调用相匹配的导数脚本,按照预设的处理顺序,对所述多个中间表进行数据转换,得到对应的多个目标表之后,所述方法还包括:
根据所述配置参数,调用相匹配的第二检核脚本对所述多个目标表分别进行检核处理,得到对应的第二检核结果;
从所述相匹配的第二检核脚本中提取出多个目标表的第二检核规则和第二检核主键;
根据所述第二检核结果、所述多个目标表的第二检核规则和第二检核主键,生成目标表的检核报表。
11.根据权利要求10所述的方法,其特征在于,在根据所述第二检核结果、所述多个目标表的第二检核规则和第二检核主键,生成目标表的检核报表之后,所述方法还包括:
根据所述目标表的检核报表,确定所述多个目标表是否存在第二类错误;
在确定所述多个目标表存在第二类错误的情况下,确定出所述第二类错误在目标表中的位置信息。
12.根据权利要求11所述的方法,其特征在于,在根据所述目标表的检核报表,确定所述多个目标表存在第二类错误的情况下,所述方法还包括:
根据所述第二类错误在目标表中的位置信息,对与存在第二类错误的目标表对应的中间表进行修改,以消除所述第二类错误。
13.一种数据表的处理装置,其特征在于,包括:
获取模块,用于获取配置参数;其中,所述配置参数至少包括待处理的多个中间表的标识信息,所述多个中间表的标识信息按照预设的处理顺序排列;
检核模块,用于根据所述配置参数,调用相匹配的第一检核脚本对所述多个中间表分别进行检核处理,得到对应的第一检核结果;
提取模块,用于从所述相匹配的第一检核脚本中提取出多个中间表的第一检核规则和第一检核主键;
生成模块,用于根据所述第一检核结果、所述多个中间表的第一检核规则和第一检核主键,生成中间表的检核报表;
确定模块,用于根据所述中间表的检核报表,确定所述多个中间表是否存在第一类错误,以及在确定所述多个中间表存在第一类错误的情况下,确定出所述第一类错误在中间表中的位置信息。
14.一种服务器,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至12中任一项所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述指令被执行时实现权利要求1至12中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011278577.0A CN112347095B (zh) | 2020-11-16 | 2020-11-16 | 数据表的处理方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011278577.0A CN112347095B (zh) | 2020-11-16 | 2020-11-16 | 数据表的处理方法、装置和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112347095A true CN112347095A (zh) | 2021-02-09 |
CN112347095B CN112347095B (zh) | 2023-04-21 |
Family
ID=74362787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011278577.0A Active CN112347095B (zh) | 2020-11-16 | 2020-11-16 | 数据表的处理方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112347095B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708909A (zh) * | 2015-11-18 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 数据质量的检测方法和装置 |
CN108733820A (zh) * | 2018-05-22 | 2018-11-02 | 中国银行股份有限公司 | 数据调整方法及装置 |
CN110543483A (zh) * | 2019-08-30 | 2019-12-06 | 北京百分点信息科技有限公司 | 一种数据稽核方法、装置及电子设备 |
CN111723086A (zh) * | 2020-07-20 | 2020-09-29 | 江苏苏宁银行股份有限公司 | 一种数据质量检核方法、装置、设备及可读存储介质 |
CN111782728A (zh) * | 2020-06-30 | 2020-10-16 | 北京金山云网络技术有限公司 | 一种数据同步方法、装置、电子设备及介质 |
CN111796907A (zh) * | 2020-06-12 | 2020-10-20 | 中国建设银行股份有限公司 | 基于检核脚本的数据检核方法、装置、电子设备以及介质 |
-
2020
- 2020-11-16 CN CN202011278577.0A patent/CN112347095B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106708909A (zh) * | 2015-11-18 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 数据质量的检测方法和装置 |
CN108733820A (zh) * | 2018-05-22 | 2018-11-02 | 中国银行股份有限公司 | 数据调整方法及装置 |
CN110543483A (zh) * | 2019-08-30 | 2019-12-06 | 北京百分点信息科技有限公司 | 一种数据稽核方法、装置及电子设备 |
CN111796907A (zh) * | 2020-06-12 | 2020-10-20 | 中国建设银行股份有限公司 | 基于检核脚本的数据检核方法、装置、电子设备以及介质 |
CN111782728A (zh) * | 2020-06-30 | 2020-10-16 | 北京金山云网络技术有限公司 | 一种数据同步方法、装置、电子设备及介质 |
CN111723086A (zh) * | 2020-07-20 | 2020-09-29 | 江苏苏宁银行股份有限公司 | 一种数据质量检核方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112347095B (zh) | 2023-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102831052B (zh) | 测试用例自动化生成装置及方法 | |
CN109241014B (zh) | 数据处理方法、装置和服务器 | |
CN110737594A (zh) | 自动生成测试用例的数据库标准符合性测试方法及装置 | |
CN107357721B (zh) | 测试系统的方法及装置 | |
CN108345658B (zh) | 算法计算轨迹的分解处理方法、服务器及存储介质 | |
CN111143434A (zh) | 数据智能核对方法、装置、设备及存储介质 | |
CN111475494A (zh) | 一种海量数据处理方法、系统、终端及存储介质 | |
CN111159227A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN113220597B (zh) | 测试方法、测试装置、电子设备及存储介质 | |
CN113918532A (zh) | 画像标签聚合方法、电子设备及存储介质 | |
CN111767265B (zh) | 一种连接操作中数据倾斜方法、系统及计算机设备 | |
CN113138906A (zh) | 一种调用链数据采集方法、装置、设备及存储介质 | |
CN112347095B (zh) | 数据表的处理方法、装置和服务器 | |
CN115438026A (zh) | 一种数据库扫描方法、装置、设备、存储介质及产品 | |
CN114511314A (zh) | 一种支付账户管理的方法、装置、计算机设备和存储介质 | |
CN114356454A (zh) | 对账数据处理方法、设备、存储介质及程序产品 | |
CN110795259A (zh) | 一种分析应用崩溃的方法和装置 | |
CN114169985A (zh) | 一种资产减值阶段确定方法及装置 | |
CN109840213B (zh) | 一种gui测试的测试数据创建方法、装置、终端及存储介质 | |
CN109920466B (zh) | 一种硬盘测试数据解析方法、装置、终端及存储介质 | |
CN113342647A (zh) | 一种测试数据的生成方法及装置 | |
CN112559641A (zh) | 拉链表的处理方法及装置、可读存储介质及电子设备 | |
KR101737575B1 (ko) | 자동 생성된 sql 구문 기반의 데이터 검증 방법 및 장치 | |
CN116644035B (zh) | 文件批量入库方法、装置、设备及存储介质 | |
CN112419052B (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 |