CN115098503A - 空值数据处理方法、装置、计算机设备以及存储介质 - Google Patents
空值数据处理方法、装置、计算机设备以及存储介质 Download PDFInfo
- Publication number
- CN115098503A CN115098503A CN202210731509.8A CN202210731509A CN115098503A CN 115098503 A CN115098503 A CN 115098503A CN 202210731509 A CN202210731509 A CN 202210731509A CN 115098503 A CN115098503 A CN 115098503A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- query
- table name
- acquiring
- 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.)
- Pending
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/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/24—Querying
- G06F16/242—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种空值数据处理方法、装置、计算机设备以及存储介质,该方法通过获取数据源指定信息,基于数据源指定信息确定目标数据库;基于应用服务器与数据库间的调用关系,获取目标数据库对应的目标应用服务器,并从目标应用服务器中获取业务查询语句;对业务查询语句进行解析,得到业务查询语句中的查询表表名以及查询字段信息;基于查询表表名从目标数据库中获取目标实体表,并从目标实体表中获取全量数据;遍历全量数据中查询字段信息对应的列值,若列值为空值数据,生成填充数据,并将填充数据插入至列值在目标数据库的位置中,实现减少目标数据库中与目标应用服务器中应用业务相关的数据为空值的情况。
Description
技术领域
本申请涉及数据库查询技术领域,具体涉及一种空值数据处理方法、装置、计算机设备以及计算机可读存储介质(简称存储介质)。
背景技术
在金融业务系统中通常采用跑批程序以完成大量相同业务,是金融业务系统中不可或缺的一部分操作,例如,在银行业务系统中,通过跑批操作获取企业账户当月所产生的营业收入和支出以形成总账,又例如,通过跑批操作对银行系统中个人账户进行批量结息等。但是,跑批操作对数据库中的数据要求较高;在跑批过程中,数据表的表结构数据不完整会导致跑批操作中断,导致金融业务系统作业流程阻碍。
发明内容
基于此,有必要针对上述技术问题,提供一种空值数据处理方法、装置、计算机设备以及存储介质,用以提高目标对象的尺寸识别准确率。
第一方面,本申请提供一种空值数据处理方法,该方法包括:
获取数据源指定信息,基于所述数据源指定信息确定目标数据库;
基于应用服务器与数据库间的调用关系,获取所述目标数据库对应的目标应用服务器,并从所述目标应用服务器中获取业务查询语句;
对所述业务查询语句进行解析,得到业务查询语句中的查询表表名以及查询字段信息;
基于所述查询表表名从目标数据库中获取目标实体表,并从所述目标实体表中获取全量数据;
遍历所述全量数据中所述查询字段信息对应的列值,若所述列值为空值数据,生成填充数据,并将所述填充数据插入至所述列值在所述目标数据库的位置中。
在本申请一些实施例中,所述数据源指定信息包括指定表表名;所述基于所述查询表表名从目标数据库中获取目标实体表,包括:
对比所述指定表表名以及所述查询表表名;
若所述指定表表名与所述查询表表名不一致,将所述指定表表名替换所述查询表表名,并基于替换后的查询表表名从目标数据库中获取目标实体表。
在本申请一些实施例中,所述基于所述数据源指定信息确定目标数据库,包括:
遍历服务器集群中各个数据库中的数据表表名;
若所述数据库包括数据表表名与所述指定表表名一致的实体表,将所述数据库确定为目标数据库。
在本申请一些实施例中,所述业务查询语句包括连接操作查询语句,所述连接操作查询语句的查询表表名包括主表表名以及与主表连接的次表表名;
所述基于所述查询表表名从目标数据库中获取目标实体表,包括:
从目标数据库中获取数据表表名与所述主表表名一致的第一实体表、以及数据表表名与所述次表表名一致的第二实体表;
将所述第一实体表以及所述第二实体表确定为目标实体表。
在本申请一些实施例中,所述遍历所述全量数据中所述查询字段信息对应的列值,包括:
若所述查询字段信息在所述全量数据中为外键,基于所述查询字段信息对应的外键确定目标关联表;
遍历所述目标关联表中与所述查询字段信息对应的列值。
在本申请一些实施例中,所述生成填充数据,包括:
获取所述目标数据库的数值类型以及数值位数;
基于所述数据类型生成与所述数值位数对应的填充数据。
在本申请一些实施例中,所述从所述目标实体表中获取全量数据,包括:
获取所述业务查询语句对应业务功能的数据范围信息;
从所述目标实体表提取在所述数据范围信息内的全量数据。
第二方面,本申请提供一种空值数据处理装置,该装置包括:
数据库指定模块,用于获取数据源指定信息,基于所述数据源指定信息确定目标数据库;
应用服务关联模块,用于基于应用服务器与数据库间的调用关系,获取所述目标数据库对应的目标应用服务器,并从所述目标应用服务器中获取业务查询语句;
属性信息获取模块,用于对所述业务查询语句进行解析,得到业务查询语句中的查询表表名以及查询字段信息;
全量数据提取模块,用于基于所述查询表表名从所述目标数据库中获取目标实体表,并从所述目标实体表中获取全量数据;
填充数据生成模块,用于遍历所述全量数据中所述查询字段信息对应的列值,若所述列值为空值数据,生成填充数据,并将所述填充数据插入至所述列值在所述目标数据库的位置中。
第三方面,本申请还提供一种计算机设备,该计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现空值数据处理方法。
第四方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行空值数据处理方法中的步骤。
第五方面,本申请实施例提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面提供的方法。
上述空值数据处理方法、装置、计算机设备以及存储介质,通过获取数据源指定信息,基于数据源指定信息确定目标数据库;基于应用服务器与数据库间的调用关系,获取目标数据库对应的目标应用服务器,并从目标应用服务器中获取业务查询语句;对业务查询语句进行解析,得到业务查询语句中的查询表表名以及查询字段信息;基于查询表表名从目标数据库中获取目标实体表,并从目标实体表中获取全量数据;遍历全量数据中查询字段信息对应的列值,若列值为空值数据,生成填充数据,并将填充数据插入至列值在目标数据库的位置中。通过对目标数据库中与业务查询语句相关的目标实体表进行空值数据检测,并生成填充数据以插值至空值数据在目标实体表对应的位置中,实现减少目标数据库中与目标应用服务器中应用业务相关的数据为空值的情况,避免后续跑批过程中由于表结构的不完整而导致跑批中断,提高应用业务的数据处理效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中空值数据处理方法的场景示意图;
图2是本申请实施例中空值数据处理方法的流程示意图;
图3是本申请实施例中可视化界面的示意图;
图4是本申请实施例中另一个空值数据处理方法的流程示意图;
图5是本申请实施例中空值数据处理装置的结构示意图;
图6是本申请实施例中计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请的描述中,“例如”一词用来表示“用作例子、例证或说明”。本申请中被描述为“例如”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
在本申请实施例中,还需说明的是,本申请实施例提供的空值数据处理方法,可以应用于如图1所示的空值数据处理系统中。其中,该空值数据处理系统包括终端100和应用服务器200,终端100与应用服务器200可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。
本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本申请方案一种应用场景,并不构成对本申请方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的计算机设备,例如图1中仅示出1个服务器200,可以理解的,该空值数据处理系统还可以包括一个或多个其他服务器,具体此处不作限定。另外,如图1所示,该空值数据处理系统还可以包括存储器,用于存储数据,如存储视频监控数据。
还需说明的是,图1所示空值数据处理系统的场景示意图仅仅是一个示例,本发明实施例描述的空值数据处理系统以及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着空值数据处理系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
参阅图2,本申请实施例提供了一种空值数据处理方法,主要以该方法应用于上述图1中的终端100来举例说明,该方法包括步骤S210至S250,具体如下:
S210,获取数据源指定信息,基于数据源指定信息确定目标数据库。
本步骤中,目标数据库是指待进行空值数据填充的数据库。数据源指定信息可以包括但不限于指定库信息、指定接口信息、指定表表名等。其中,指定库信息包括但不限于所指定的数据库的连接字符串、数据库类型、数据库库名等,例如,数据库类型包括但不限于oracle、MySQL等;指定接口信息是指用于标识所指定的数据库接口的信息,例如接口编号;指定表表名是指用于标识所指定的数据表的信息,例如数据表的表名。
以数据源指定信息为指定库信息为例,在获取到指定库信息,如所指定的数据库的连接字符串,根据该指定库信息从服务器集群中确定目标数据库。
以数据源指定信息为指定接口信息为例,在获取到指定接口信息,如接口编号,根据该指定接口信息确定对应的目标接口,通过该目标接口从服务器集群中确定并连接目标数据库。
以数据源指定信息为指定表表名为例,在一个实施例中,基于数据源指定信息确定目标数据库,具体可以包括:遍历服务器集群中各个数据库中的数据表表名;若数据库包括数据表表名与指定表表名一致的实体表,将数据库确定为目标数据库。
其中,指定表表名是指待进行空值数据填充的数据表的表名;在获取到指定表表名后,对服务器集群中各个数据库进行数据表的表名遍历,以判断各个数据库中是否包含数据表表名为指定表表名的数据表,若存在,则该数据库确定为目标数据库,若不存在,则该数据库非目标数据库。
进一步地,在一个实施例中,终端100可提供一可视化界面,终端100可通过该可视化界面接收数据源指定信息。具体地,可视化界面包括分别与指定库信息、指定接口信息和指定表表名对应的输入窗口,用户可通过可视化界面中的指定库信息、指定接口信息或指定表表名对应的输入窗口,输入数据源指定信息,终端接收到数据源指定信息后,基于该数据源指定信息确定并连接目标数据库。参见图3,图3示出了可视化界面的示意图。
S220,基于应用服务器与数据库间的调用关系,获取目标数据库对应的目标应用服务器,并从目标应用服务器中获取业务查询语句。
其中,应用服务器是指能够实现一定业务功能的服务器;业务查询语句是指用于存储、更新、管理数据库中的数据的程序设计语言,包括但不限于SQL(Structured QueryLanguage)语句。
可以理解的是,应用服务器在接入服务器集群后,不同的应用服务器为了实现不同的应用功能或者说基于不同的业务需求,其往往通过不同的业务查询语句与数据库进行连接交互,进而基于业务数据实现相应的应用服务。因此,在确定到目标数据库后,可根据各个应用服务器与不同数据库间的调用关系,确定与目标数据库具有数据调用关系的目标应用服务器。
在确定到目标应用服务器后,可获取目标应用服务器中所配置的业务查询语句。可以理解的是,业务查询语句用于实现应用服务器中不同的业务功能,可以是跑批操作对应的业务查询语句,例如是以JOB方式运行的跑批操作对应的业务查询语句。
S230,对业务查询语句进行解析,得到业务查询语句中的查询表表名以及查询字段信息。
其中,查询表表名是指业务查询语句中所要操作的数据表的表名。查询字段信息用于指示业务查询语句对应需要查询的数据信息,包括但不限于列的列名、列对应的字段值等。例如,业务查询语句为“select sum(f1)from table1”这个语句为例,该业务查询语句中的“table1”为查询表表名,“sum(f1)”为查询字段信息。
其中,业务查询语句是一种面向数据库的通用数据处理语言规范,其往往具有一定的编写格式,因此可基于编写格式对业务查询语句以获取查询表表名、以及查询字段信息。具体地,可以对业务查询语句进行关键字进行识别,以确定业务语句中的关键字;其中,关键字是指业务查询语句中的基础格式对应的字符序列,例如“select”、“from”、“join”、“on”等;在获取到关键字后,基于各个关键字从业务查询语句中获取各个关键字对应的操作对象字段信息,进而基于各个关键字的类别对操作对象字段信息进行分类,得到查询表表名以及查询字段信息。
继续以“select sum(f1)from table1”这个业务查询语句为例,先识别该业务查询语句中的关键字,即得到“select”和“from”,进而获取“select”对应的操作对象字段信息“sum(f1)”、以及“from”对应的操作对象字段信息“table1”,基于查询语句的编写格式,可以得到查询表表名“table1”以及查询字段信息“sum(f1)”。
S240,基于查询表表名从目标数据库中获取目标实体表,并从目标实体表中获取全量数据。
其中,实体表是指对应实际的对象的表;全量数据是指数据表中全部的数据。在获取到查询表表名以及查询字段信息后,可以以查询表表名作为目标,从目标数据库中获取数据表表名与查询表表名相同的数据表作为目标实体表,并从目标实体表拉取全量数据。
在一个实施例中,业务查询语句包括连接操作查询语句,连接操作查询语句的查询表表名包括主表表名以及与主表连接的次表表名;基于查询表表名从目标数据库中获取目标实体表,包括:从目标数据库中获取数据表表名与所述主表表名一致的第一实体表、以及数据表表名与所述次表表名一致的第二实体表;将所述第一实体表以及所述第二实体表确定为目标实体表。
其中,连接操作查询语句是指包含连接操作(JOIN)的数据库查询语句,连接操作查询语句中通常包括主表表名以及次表表名,主表表名以及此表表名通过连接操作的关键词“JOIN”连接,实现将主表表名对应的数据表以及次表表名对应的数据表按照某个条件进行合并,形成新的数据集合。以SQL查询语句为例,连接操作查询语句的格式如下:
“主表表名[连接类型]JOIN次表表名[连接条件]”。
在对连接操作查询语句进行解析,获得主表表名以及次表表名后,从目标数据库中获取表名与主表表名一致的第一实体表、以及表名与此表表名一致的第二实体表,进而将第一实体表以及第二实体表作为目标实体表,避免遗漏待进行空值数据处理的数据表,避免后续跑批操作过程中的跑批中断的情况。
进一步地,如上,数据源指定信息可包括指定表表名,此时,在一个实施例中,基于查询表表名从目标数据库中获取目标实体表,包括:对比指定表表名以及查询表表名;若指定表表名与查询表表名不一致,将指定表表名替换查询表表名,并基于替换后的查询表表名从目标数据库中获取目标实体表。
具体地,数据源指定信息中的指定表表名通常是用户所指定的、需要进行空值数据处理的数据表。在获取到业务查询语句解析得到的查询表表名后,可以将查询表表敏与指定表表名进行对比,若两者不一致,则可以将查询表表名替换为指定表表名,即将指定表表名作为查询表表名,获取表名与指定表表名一致的数据表作为目标实体表。
可以理解的是,若指定表表名与查询表表名一致,直接基于查询表表名从目标数据库中获取目标实体表。
此外,考虑到目标实体表中全量数据的数据量庞大,为了减少所处理的数据量,提高数据处理效率,在一个实施例中,从目标实体表中获取全量数据,包括:获取业务查询语句对应业务功能的数据范围信息;从目标实体表确定在数据范围信息内的全量数据。
其中,如上,业务查询语句用于实现应用服务器中不同的业务功能,数据范围信息用于指示所验证的业务功能点所需要的数据范围,例如,数据范围信息可用于指示在预设时间周期内的数据范围,如时间在7天内,也可以用于指示针对某一字段属性的取值范围,如在字段属性为用户账号下取值为A用户的全量数据、或者在字段属性为订单编号下取值为1000到2000的全量数据等,在此不一一举例。
具体地,在获取到业务查询语句后,确定该业务查询语句对应的业务功能、以及该业务功能的数据范围信息,进而从目标实体表中获取在该数据范围信息指定的全量数据。例如,数据范围信息为“7天内”的范围信息,获取当前时间,以当前时间为基准确定目标时间段,进而从目标实体表中获取时间信息为目标时间段内的全量数据。
S250,遍历全量数据中的查询字段信息对应的列值,若列值为空值数据,生成填充数据,并将填充数据插入至列值在目标数据库的位置中。
本步骤中,空值数据是指数据值为空(null);查询字段信息可以是实体表中的列名,即数据表中的表字段信息。
具体地,在获取到全量数据后,可从全量数据中确定与查询字段信息相同的表字段信息(即列名),进而获取该表字段信息下的各个列值,并逐一判断各个列值是否为空值,若某一个列值为空值,则可以生成相应的填充数据并插入至该列值在目标实体表的位置中,以保证目标数据库中数据完整性,避免在跑批操作过程中由于数据缺失而导致跑批操作的中断。
进一步地,对于金融业务的复杂性,金融业务系统中包括大量的数据表且不同数据表间的关联性强,在一个实施例中,遍历全量数据中查询字段信息对应的列值,包括:若查询字段信息在全量数据中为外键,基于查询字段信息对应的外键确定目标关联表;遍历目标关联表中与查询字段信息对应的列值。
其中,如果表A中的某一列值是表B的列值,那此表B就是表A的外键。探测到该查询字段信息是作为表外键的字段信息,此时基于此查询字段信息继续探测对应的目标关联表,对目标关联表中与查询字段信息对应的列值进行空值数据检测,若检测到某个列值为空值数据,则可以生成相应的填充数据并插入至该列值在目标关联表的位置中。
在一个实施例中,生成填充数据,具体可以包括:获取目标数据库的数值类型以及数值位数;基于数据类型生成与数值位数对应的填充数据。
其中,数据类型是指目标数据库中所存储数据的数据类型,具体可以是查询字段信息对应列所存储数据的数据类型,具体地,数据类型包括但不限于INT类型、decimal类型、date类型以及varchar类型等;数值位置是指幕布数据库中所存储数据的数据长度,具体可以是查询字段信息对应列所存储数据的数据长度。
具体地,事先获取目标实体库所存储的数据类型以及数值位数,在确认到目标数据库或者目标实体表中某个查询字段信息对应的数值为空时,生产与数据类型以及数值位数对应的填充数据。例如,目标实体库所存储的数据类型以及数值位数为varchar(10),即数据类型为varchar类型,数值位数为10位,在确认到目标数据库或者目标实体表中某个查询字段信息对应的数值为空时,按最大值10进行位数填充。
进一步地,生成填充数据具体还可以包括:确定空值数据所在的目标行;从目标实体表中除目标行以外的行中,提取查询字段信息对应目标列值,将该目标列值确定为填充数据。例如,目标实体表中第15行查询字段信息对应列值为空值数据,可以从目标实体表中除15行以外的、查询字段信息对应的列值非空值数据的列值(如第1行中查询字段信息对应列值)作为填充数据,填充至第15行查询字段信息对应的位置中。通过将目标实体表中其他行那些列不为空的字段值,避免重复生产制造填充数据,降低对计算资源损耗。
上述空值数据处理方法中,通过获取数据源指定信息,基于数据源指定信息确定目标数据库;基于应用服务器与数据库间的调用关系,获取目标数据库对应的目标应用服务器,并从目标应用服务器中获取业务查询语句;对业务查询语句进行解析,得到业务查询语句中的查询表表名以及查询字段信息;基于查询表表名从目标数据库中获取目标实体表,并从目标实体表中获取全量数据;遍历全量数据中查询字段信息对应的列值,若列值为空值数据,生成填充数据,并将填充数据插入至列值在目标数据库的位置中。通过对目标数据库中与业务查询语句相关的目标实体表进行空值数据检测,并生成填充数据以插值至空值数据在目标实体表对应的位置中,实现减少目标数据库中与目标应用服务器中应用业务相关的数据为空值的情况,避免后续跑批过程中由于表结构的不完整而导致跑批中断,提高应用业务的数据处理效率。
参见图4,图4为一个实施例中空值数据处理方法,该空值数据处理方法包括:
S410,获取数据源指定信息,基于数据源指定信息确定目标数据库;
S420,基于应用服务器与数据库间的调用关系,获取目标数据库对应的目标应用服务器,并从目标应用服务器中获取业务查询语句;
S430,对业务查询语句进行解析,得到业务查询语句中的查询表表名以及查询字段信息;
S440,基于查询表表名从目标数据库中获取目标实体表;
S450,获取业务查询语句对应业务功能的数据范围信息,从目标实体表提取在数据范围信息内的全量数据;
S460,遍历所述全量数据中所述查询字段信息对应的列值;
S470,若查询字段信息在全量数据中为外键,基于查询字段信息对应的外键确定目标关联表,遍历目标关联表中与查询字段信息对应的列值;
S480,若列值为空值数据,获取目标数据库的数值类型以及数值位数,基于数据类型生成与数值位数对应的填充数据;
S490,将填充数据插入至列值在目标数据库的位置中。
结合某个金融业务系统的专用数据库来实现空值数据修复进行说明,其中,金融业务系统中部署有基于JOB方式运行的、可实现一定业务功能的跑批操作,该跑批操作每次操作的数据范围信息为7天内的数据。
具体地,终端可提供的可视化界面,用户可通过该可视化界面输入该专用数据库对应的数据源指定信息(如数据库连接串),终端在接收到该数据源指定信息后,可自动提取与该数据源指定信息对应的专用数据库,并确定该专用数据库所连接访问的金融业务系统,并从金融业务系统中获取该系统所配置的实现上述跑批操作的SQL查询语句。
在获取到SQL查询语句后,可解释该SQL查询语句,以获得具体的查询表表名以及查询字段信息,终端基于该查询表表名,采用追溯性算法从专用数据库中获取数据表表名与该查询表表名一致的目标实体表,并基于跑批操作每次操作的数据范围信息,从该目标实体表中获取在该数据范围信息内的全量数据。
在获取到全量数据后,终端判断全量数据中查询字段信息对应的列值是否为空值数据。若某个列值为空值数据,可以基于目标数据库的数值类型以及数值位数生成填充数据,以插入至该列值在目标数据库的位置中,例如目标数据库的数值类型以及数值位数为varchar(10),可生成varchar(10)对应的最大值“10”作为填充数据;也可以直接提取目标实体表中其他行列不为空的字段值作为填充数据,以插入至该列值在目标数据库的位置中,避免重复生产制造填充数据。
进一步地,如果判断到查询字段信息是作为表外键的关联字段信息,可基于此查询字段信息继续探测相应的关联表,判断该关联表中与查询字段信息对应的列值是否为空值数据。若某个列值为空值数据,同样的可以基于目标数据库的数值类型以及数值位数生成填充数据,以插入至该列值在目标数据库的位置中,直所有与SQL查询语句中查询表表名或查询字段信息相关的数据表全部完成空值数据修复。
空值数据修复完毕后,可有效避免运行对应的金融业务系统中的跑批操作对应的SQL查询语句时,由于系统运维的数据缺失而导致的跑批出错或跑批中断。
为了更好实施本申请实施例提供的空值数据处理方法,在本申请实施例所提空值数据处理方法的基础之上,本申请实施例中还提供一种空值数据处理装置,如图5所示,空值数据处理装置500包括:
数据库指定模块510,用于获取数据源指定信息,基于数据源指定信息确定目标数据库;
应用服务关联模块520,用于基于应用服务器与数据库间的调用关系,获取目标数据库对应的目标应用服务器,并从目标应用服务器中获取业务查询语句;
属性信息获取模块530,用于对业务查询语句进行解析,得到业务查询语句中的查询表表名以及查询字段信息;
全量数据提取模块540,用于基于查询表表名从目标数据库中获取目标实体表,并从目标实体表中获取全量数据;
填充数据生成模块550,用于遍历全量数据中查询字段信息对应的列值,若列值为空值数据,生成填充数据,并将填充数据插入至列值在目标数据库的位置中。
在本申请一些实施例中,数据源指定信息包括指定表表名全量数据提取模块,用于对比指定表表名以及查询表表名;若指定表表名与查询表表名不一致,将指定表表名替换查询表表名,并基于替换后的查询表表名从目标数据库中获取目标实体表。
在本申请一些实施例中,数据库指定模块,用于遍历服务器集群中各个数据库中的数据表表名;若数据库包括数据表表名与指定表表名一致的实体表,将数据库确定为目标数据库。
在本申请一些实施例中,业务查询语句包括连接操作查询语句,连接操作查询语句的查询表表名包括主表表名以及与主表连接的次表表名;全量数据提取模块,用于从目标数据库中获取数据表表名与所述主表表名一致的第一实体表、以及数据表表名与所述次表表名一致的第二实体表;将所述第一实体表以及所述第二实体表确定为目标实体表。
在本申请一些实施例中,填充数据生成模块,用于若查询字段信息在全量数据中为外键,基于查询字段信息对应的外键确定目标关联表;遍历目标关联表中与查询字段信息对应的列值。
在本申请一些实施例中,填充数据生成模块,用于获取目标数据库的数值类型以及数值位数;基于数据类型生成与数值位数对应的填充数据。
在本申请一些实施例中,全量数据提取模块,用于获取业务查询语句对应业务功能的数据范围信息;从目标实体表确定在数据范围信息内的全量数据。
关于空值数据处理装置的具体限定可以参见上文中对于空值数据处理方法的限定,在此不再赘述。上述空值数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在本申请一些实施例中,空值数据处理装置500可以实现为一种计算机程序的形式,计算机程序可在如图6所示的计算机设备上运行。计算机设备的存储器中可存储组成该空值数据处理装置500的各个程序模块,比如,图5所示的数据库指定模块510、应用服务关联模块520、属性信息获取模块530、全量数据提取模块540以及填充数据生成模块550。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的空值数据处理方法中的步骤。
例如,图6所示的计算机设备可以通过如图5所示的空值数据处理装置500中的数据库指定模块510执行步骤S210。计算机设备可通过应用服务关联模块520执行步骤S220。计算机设备可通过属性信息获取模块530执行步骤S230。计算机设备可通过全量数据提取模块540执行步骤S240。计算机设备可通过填充数据生成模块550执行步骤S250。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的计算机设备通过网络连接通信。该计算机程序被处理器执行时以实现一种空值数据处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在本申请一些实施例中,提供了一种计算机设备,包括一个或多个处理器;存储器;以及一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述空值数据处理方法的步骤。此处空值数据处理方法的步骤可以是上述各个实施例的空值数据处理方法中的步骤。
在本申请一些实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器进行加载,使得处理器执行上述空值数据处理方法的步骤。此处空值数据处理方法的步骤可以是上述各个实施例的空值数据处理方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上对本申请实施例所提供的一种空值数据处理方法、装置、计算机设备以及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种空值数据处理方法,其特征在于,包括:
获取数据源指定信息,基于所述数据源指定信息确定目标数据库;
基于应用服务器与数据库间的调用关系,获取所述目标数据库对应的目标应用服务器,并从所述目标应用服务器中获取业务查询语句;
对所述业务查询语句进行解析,得到业务查询语句中的查询表表名以及查询字段信息;
基于所述查询表表名从所述目标数据库中获取目标实体表,并从所述目标实体表中获取全量数据;
遍历所述全量数据中所述查询字段信息对应的列值,若所述列值为空值数据,生成填充数据,并将所述填充数据插入至所述列值在所述目标数据库的位置中。
2.根据权利要求1所述的方法,其特征在于,所述数据源指定信息包括指定表表名;所述基于所述查询表表名从所述目标数据库中获取目标实体表,包括:
对比所述指定表表名以及所述查询表表名;
若所述指定表表名与所述查询表表名不一致,将所述指定表表名替换所述查询表表名,并基于替换后的查询表表名从目标数据库中获取目标实体表。
3.根据权利要求2所述的方法,其特征在于,所述基于所述数据源指定信息确定目标数据库,包括:
遍历服务器集群中各个数据库中的数据表表名;
若所述数据库包括数据表表名与所述指定表表名一致的实体表,将所述数据库确定为目标数据库。
4.根据权利要求1所述的方法,其特征在于,所述业务查询语句包括连接操作查询语句,所述连接操作查询语句的查询表表名包括主表表名以及与主表连接的次表表名;
所述基于所述查询表表名从所述目标数据库中获取目标实体表,包括:
从目标数据库中获取数据表表名与所述主表表名一致的第一实体表、以及数据表表名与所述次表表名一致的第二实体表;
将所述第一实体表以及所述第二实体表确定为目标实体表。
5.根据权利要求1所述的方法,其特征在于,所述遍历所述全量数据中所述查询字段信息对应的列值之后,还包括:
若所述查询字段信息在所述全量数据中为外键,基于所述查询字段信息对应的外键确定目标关联表;
遍历所述目标关联表中与所述查询字段信息对应的列值。
6.根据权利要求1至5任意一项所述的方法,其特征在于,所述生成填充数据,包括:
获取所述目标数据库的数值类型以及数值位数;
基于所述数据类型生成与所述数值位数对应的填充数据。
7.根据权利要求1至5任意一项所述的方法,其特征在于,所述从所述目标实体表中获取全量数据,包括:
获取所述业务查询语句对应业务功能的数据范围信息;
从所述目标实体表提取在所述数据范围信息内的全量数据。
8.一种空值数据处理装置,其特征在于,所述装置包括:
数据库指定模块,用于获取数据源指定信息,基于所述数据源指定信息确定目标数据库;
应用服务关联模块,用于基于应用服务器与数据库间的调用关系,获取所述目标数据库对应的目标应用服务器,并从所述目标应用服务器中获取业务查询语句;
属性信息获取模块,用于对所述业务查询语句进行解析,得到业务查询语句中的查询表表名以及查询字段信息;
全量数据提取模块,用于基于所述查询表表名从所述目标数据库中获取目标实体表,并从所述目标实体表中获取全量数据;
填充数据生成模块,用于遍历所述全量数据中所述查询字段信息对应的列值,若所述列值为空值数据,生成填充数据,并将所述填充数据插入至所述列值在所述目标数据库的位置中。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现权利要求1至7中任一项所述的空值数据处理方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行权利要求1至7任一项所述的空值数据处理方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210731509.8A CN115098503A (zh) | 2022-06-24 | 2022-06-24 | 空值数据处理方法、装置、计算机设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210731509.8A CN115098503A (zh) | 2022-06-24 | 2022-06-24 | 空值数据处理方法、装置、计算机设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115098503A true CN115098503A (zh) | 2022-09-23 |
Family
ID=83292981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210731509.8A Pending CN115098503A (zh) | 2022-06-24 | 2022-06-24 | 空值数据处理方法、装置、计算机设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115098503A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116738960A (zh) * | 2023-08-16 | 2023-09-12 | 深圳高灯计算机科技有限公司 | 单据数据处理方法、系统、计算机设备和存储介质 |
-
2022
- 2022-06-24 CN CN202210731509.8A patent/CN115098503A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116738960A (zh) * | 2023-08-16 | 2023-09-12 | 深圳高灯计算机科技有限公司 | 单据数据处理方法、系统、计算机设备和存储介质 |
CN116738960B (zh) * | 2023-08-16 | 2024-04-30 | 深圳高灯计算机科技有限公司 | 单据数据处理方法、系统、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109977110B (zh) | 数据清洗方法、装置及设备 | |
CN110472068B (zh) | 基于异构分布式知识图谱的大数据处理方法、设备及介质 | |
CN109376196B (zh) | 一种redo日志批量同步方法及装置 | |
CN107301214B (zh) | 在hive中数据迁移方法、装置及终端设备 | |
US11868330B2 (en) | Method for indexing data in storage engine and related apparatus | |
CN110134681B (zh) | 数据存储与查询方法、装置、计算机设备及存储介质 | |
CN115145943B (zh) | 多数据源元数据快速比对方法、系统、设备和存储介质 | |
WO2024021362A1 (zh) | 一种流量回放的数据验证方法及装置 | |
WO2021031583A1 (zh) | 执行语句的方法、装置、服务器及存储介质 | |
CN115062016A (zh) | 关联关系提取方法、装置和计算机设备 | |
CN109656947B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN115098503A (zh) | 空值数据处理方法、装置、计算机设备以及存储介质 | |
CN112948504B (zh) | 数据采集方法、装置、计算机设备和存储介质 | |
CN115329011A (zh) | 数据模型的构建方法、数据查询的方法、装置及存储介质 | |
CN113760891A (zh) | 一种数据表的生成方法、装置、设备和存储介质 | |
CN111858366A (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
CA3191210A1 (en) | Data syncronization method and device, computer equipment and storage medium | |
CN116452123A (zh) | 清单项目特征值的生成方法、装置和计算机设备 | |
CN110851437A (zh) | 一种存储方法、装置及设备 | |
CN114547050A (zh) | 批处理内容判重方法、系统、装置、终端设备及存储介质 | |
US20160232187A1 (en) | Dump analysis method, apparatus and non-transitory computer readable storage medium | |
CN112416966A (zh) | 即席查询方法、装置、计算机设备和存储介质 | |
US8498988B2 (en) | Fast search | |
JP2017010376A (ja) | マートレス検証支援システムおよびマートレス検証支援方法 | |
CN110851517A (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 |