CN111597243B - 基于数据仓库抽象数据加载的方法及系统 - Google Patents
基于数据仓库抽象数据加载的方法及系统 Download PDFInfo
- Publication number
- CN111597243B CN111597243B CN202010411049.1A CN202010411049A CN111597243B CN 111597243 B CN111597243 B CN 111597243B CN 202010411049 A CN202010411049 A CN 202010411049A CN 111597243 B CN111597243 B CN 111597243B
- Authority
- CN
- China
- Prior art keywords
- loading
- script
- data
- actual service
- program
- 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
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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
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)
- Stored Programmes (AREA)
Abstract
本发明提供了一种基于数据仓库抽象数据加载的方法及系统。所述方法包括:对作业脚本进行预处理,得到实际业务脚本;提取实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及提取实际业务脚本中的谓词信息;利用所述谓词信息及加载算法标准信息,确定加载程序与加载算法的关联关系;根据目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系,对输入作业进行数据加载。本发明克服了对数据仓库在不同技术平台上大量手工加载程序的无序管理,并弥补了数据仓库模型逻辑对应关系依赖人工查找,无法准确获取的缺点,提升加载程序开发时效,降低人力成本,提升定位问题分析时效,提高分析准确性。
Description
技术领域
本发明涉及数据加载技术领域,尤指一种基于数据仓库抽象数据加载的方法及系统。
背景技术
由于大数据技术发展快速,数据库软件也在不停地更新换代,数据仓库的数据在SAS平台、Teradata平台、Hadoop平台、GaussDB平台之间频繁进行切换,造成在作业前期的迁移转换过程中,为了适应新技术平台的特性,无可避免地出现了大量手工撰写和修改加载程序的情况,虽然在技术平台成型的后期形成了统一模板加载工具,但前期的大量手工加载程序,造成了程序的可维护性较差,大量依赖人工查找程序进行单一的分析和修改,无法对加载规范标准、技术平台特性等同质问题进行统一规划和管理。
发明内容
为了解决上述问题,本发明实施例提供一种基于数据仓库抽象数据加载的方法,所述方法包括:
对作业脚本进行预处理,得到实际业务脚本;
提取所述实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及提取所述实际业务脚本中的谓词信息;
利用所述谓词信息及加载算法标准信息,确定加载程序与加载算法的关联关系;
根据目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系,对输入作业进行数据加载。
可选的,在本发明一实施例中,所述对作业脚本进行预处理,得到实际业务脚本包括:将所述作业脚本的内容读取到变量中,利用正则表达式去除变量中非必要信息,得到仅包含实际业务功能的实际业务脚本。
可选的,在本发明一实施例中,所述提取所述实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及提取所述实际业务脚本中的谓词信息包括:利用正则表达式逐一提取所述实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及所述实际业务脚本中的SQL语句谓词信息。
可选的,在本发明一实施例中,所述根据目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系,对输入作业进行数据加载包括:根据目标表与插入内容的字段级关联关系,以及目标表与源表字段的字段级关联关系,利用输入作业的作业名、表名、加载算法及字段级逻辑对照关系得到模板化加载程序;利用所述模板化加载程序进行数据加载。
本发明实施例还提供一种基于数据仓库抽象数据加载的系统,所述系统包括:
脚本处理模块,用于对作业脚本进行预处理,得到实际业务脚本;
脚本解析模块,用于提取所述实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及提取所述实际业务脚本中的谓词信息;利用所述谓词信息及加载算法标准信息,确定加载程序与加载算法的关联关系;
数据加载模块,用于根据目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系,对输入作业进行数据加载。
可选的,在本发明一实施例中,所述脚本处理模块包括:语句抽取单元,用于将所述作业脚本的内容读取到变量中,利用正则表达式去除变量中非必要信息,得到仅包含实际业务功能的实际业务脚本。
可选的,在本发明一实施例中,所述脚本解析模块包括:脚本解析单元,用于利用正则表达式逐一提取所述实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及所述实际业务脚本中的SQL语句谓词信息。
可选的,在本发明一实施例中,所述数据加载模块包括:加载程序单元,用于根据目标表与插入内容的字段级关联关系,以及目标表与源表字段的字段级关联关系,利用输入作业的作业名、表名、加载算法及字段级逻辑对照关系得到模板化加载程序;数据加载单元,用于利用所述模板化加载程序进行数据加载。
可选的,在本发明一实施例中,所述系统还包括:源数据模块,用于存储应用系统的作业脚本。
可选的,在本发明一实施例中,所述系统还包括:加载算法标准模块,用于存储加载算法标准信息。
可选的,在本发明一实施例中,所述系统还包括:存储模块,用于存储目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
对作业脚本进行预处理,得到实际业务脚本;
提取所述实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及提取所述实际业务脚本中的谓词信息;
利用所述谓词信息及加载算法标准信息,确定加载程序与加载算法的关联关系;
根据目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系,对输入作业进行数据加载。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
对作业脚本进行预处理,得到实际业务脚本;
提取所述实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及提取所述实际业务脚本中的谓词信息;
利用所述谓词信息及加载算法标准信息,确定加载程序与加载算法的关联关系;
根据目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系,对输入作业进行数据加载。
本发明克服了对数据仓库在不同技术平台上大量手工加载程序的无序管理,并弥补了数据仓库模型逻辑对应关系依赖人工查找,无法准确获取的缺点,提升加载程序开发时效,降低人力成本,提升定位问题分析时效,提高分析准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种基于数据仓库抽象数据加载的方法的流程图;
图2为本发明实施例一种基于数据仓库抽象数据加载的系统结构示意图;
图3为本发明实施例中源数据应用系统脚本文件结构示意图;
图4为本发明实施例中实际业务脚本中SQL语句与对应提取结果的示意图;
图5为本发明实施例中提取关联关系程序流程图。
具体实施方式
本发明实施例提供一种基于数据仓库抽象数据加载的方法及系统。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,为经营分析和管理决策提供数据支持。为了体现这些特征,如表1所示,目前数据仓库的主题模型的加载作业有以下几类主要数据算法(注:该算法为目前业界数据仓库建模的通用算法)。
表1
由于近几年大数据技术发展快速,数据库软件也在不停地更新换代,数据仓库的数据在SAS平台、Teradata平台、Hadoop平台、GaussDB平台之间频繁进行切换,造成在作业前期的迁移转换过程中,为了适应新技术平台的特性,无可避免地出现了大量手工撰写和修改加载程序的情况,虽然在技术平台成型的后期形成了统一模板加载工具,但前期的大量手工加载程序,造成了程序的可维护性较差,大量依赖人工查找程序进行单一的分析和修改,无法对加载规范标准、技术平台特性等同质问题进行统一规划和管理。
本发明涉及大数据平台、银行、互联网金融科技信息技术领域,特别是数据仓库数据加载手工程序的抽象,形成工具化加载模板的方法。如图1所示为本发明实施例一种基于数据仓库抽象数据加载的方法的流程图,图中所示方法包括:
步骤S1,对作业脚本进行预处理,得到实际业务脚本。其中,对作业脚本进行预处理是对源数据应用系统作业脚本的预处理操作,将文件作业脚本的内容读取到变量中,通过正则表达式匹配去除包括行注释、段注释、变量和提示类的信息,最终变量中保留只剩下包含有实际业务功能的SQL语句内容导出成文件并存放于特定的位置供提取关系使用。所述特定的位置并非唯一,只是指定的一个文件系统位置,有适当的空间存放文件即可。
步骤S2,提取所述实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及提取所述实际业务脚本中的谓词信息。其中,通过正则表达式逐一提取脚本中语句解析使用到的目标表、中间临时表、子查询、各源表字段以及插入内容(包含字段各种变形操作)的关联关系以及在脚本中SQL语句谓词信息。
步骤S3,利用所述谓词信息及加载算法标准信息,确定加载程序与加载算法的关联关系。
步骤S4,根据目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系,对输入作业进行数据加载。其中,输入相关的作业对应作业名、表名、加载算法和字段级逻辑对照关系等信息即可生成模板化加载程序,用于数据加载,方便开发人员进行程序维护和字段级加工的逻辑分析。
作为本发明的一个实施例,对作业脚本进行预处理,得到实际业务脚本包括:将作业脚本的内容读取到变量中,利用正则表达式去除变量中非必要信息,得到仅包含实际业务功能的实际业务脚本。
在本实施例中,预处理作业脚本具体可以为:将文件作业脚本的内容读取到变量中,通过正则表达式匹配去除包括行注释、段注释、变量和提示类的信息,最终变量中保留只剩下包含有实际业务功能的SQL语句内容导出成文件。
作为本发明的一个实施例,提取实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及提取所述实际业务脚本中的谓词信息包括:利用正则表达式逐一提取实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及实际业务脚本中的SQL语句谓词信息。
作为本发明的一个实施例,根据目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系,对输入作业进行数据加载包括:根据目标表与插入内容的字段级关联关系,以及目标表与源表字段的字段级关联关系,利用输入作业的作业名、表名、加载算法及字段级逻辑对照关系得到模板化加载程序;利用模板化加载程序进行数据加载。
具体的,本发明方法的实施可参见基于数据仓库抽象数据加载的系统的实施。
本发明克服了对数据仓库在不同技术平台上大量手工加载程序的无序管理,并弥补了数据仓库模型字段级逻辑对应关系依赖人工查找,无法准确获取的缺点。通过本发明可以提取数据仓库模型手工加载程序中包含的算法信息、字段级逻辑关系信息,并存储于物理表中,以便进行统一使用和管理。因此可以准确快速的将数据仓库手工加载程序抽象为加载程序要素,并最终将所有手工加载程序转化为模板工具化加载模式,提升加载程序开发时效,降低人力成本,提升定位问题分析时效,提高分析准确性。
如图2所示为本发明实施例一种基于数据仓库抽象数据加载的系统结构示意图,图中所示系统包括:
脚本处理模块2,用于对作业脚本进行预处理,得到实际业务脚本。其中,对作业脚本进行预处理是对源数据应用系统作业脚本的预处理操作,将文件作业脚本的内容读取到变量中,通过正则表达式匹配去除包括行注释、段注释、变量和提示类的信息,最终变量中保留只剩下包含有实际业务功能的SQL语句内容导出成文件并存放于特定的位置供提取关系使用。所述特定的位置并非唯一,只是指定的一个文件系统位置,有适当的空间存放文件即可。
脚本解析模块4,用于提取所述实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及提取所述实际业务脚本中的谓词信息;利用所述谓词信息及加载算法标准信息,确定加载程序与加载算法的关联关系。其中,通过正则表达式逐一提取脚本中语句解析使用到的目标表、中间临时表、子查询、各源表字段以及插入内容(包含字段各种变形操作)的关联关系以及在脚本中sql语句谓词信息。
数据加载模块6,用于根据目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系,对输入作业进行数据加载。其中,输入相关的作业对应作业名、表名、加载算法和字段级逻辑对照关系等信息即可生成模板化加载程序,用于数据加载,方便开发人员进行程序维护和字段级加工的逻辑分析。
作为本发明的一个实施例,脚本处理模块包括:语句抽取单元,用于将作业脚本的内容读取到变量中,利用正则表达式去除变量中非必要信息,得到仅包含实际业务功能的实际业务脚本。
在本实施例中,预处理作业脚本具体可以为:将文件作业脚本的内容读取到变量中,通过正则表达式匹配去除包括行注释、段注释、变量和提示类的信息,最终变量中保留只剩下包含有实际业务功能的SQL语句内容导出成文件。
作为本发明的一个实施例,脚本解析模块包括:脚本解析单元,用于利用正则表达式逐一提取实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及所述实际业务脚本中的SQL语句谓词信息。
作为本发明的一个实施例,数据加载模块包括:加载程序单元,用于根据目标表与插入内容的字段级关联关系,以及目标表与源表字段的字段级关联关系,利用输入作业的作业名、表名、加载算法及字段级逻辑对照关系得到模板化加载程序;数据加载单元,用于利用所述模板化加载程序进行数据加载。
作为本发明的一个实施例,系统还包括源数据模块1,用于存储应用系统的作业脚本。其中,源数据模块包含多个应用系统,应用系统的脚本存放在文件系统的特定目录下,以系统名区分。
作为本发明的一个实施例,系统还包括加载算法标准模块3,用于存储加载算法标准信息。其中,例如表1中F1算法特征为清空目标表整表数据操作后,将数据插入目标表操作,这俩个操作和顺序先后,具体可见表1中算法描述。
作为本发明的一个实施例,系统还包括存储模块5,用于存储目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系。
在本发明一具体实施例中,如图2所示,源数据模块1包含多个应用系统,这些应用系统脚本存放在文件系统的特定目录下,以系统名区分。如图3所示为源数据应用系统脚本文件结构示意图。
系统作业SQL语句抽取模块,即脚本处理模块2是源数据应用系统作业脚本的预处理操作,将文件作业脚本的内容读取到变量中,通过正则表达式匹配去除包括行注释、段注释、变量和提示类的信息,最终变量中保留只剩下包含有实际业务功能的SQL语句内容导出成文件并存放于特定的位置供脚本解析模块4提取关系使用。所述特定的位置并非唯一,只是指定的一个文件系统位置,有适当的空间存放文件即可。
加载算法标准信息模块,即加载算法标准模块3是提取算法对应谓词特征信息标准。例如F1算法特征为清空目标表整表数据操作后,将数据插入目标表操作,这俩个操作和顺序先后。具体可见表1中算法描述。
算法能达到的理论上可能性算法有:
其中n为对应语法谓词个数。
系统作业脚本SQL解析模块,即脚本解析模块4通过正则表达式逐一提取脚本中语句解析使用到的目标表、中间临时表、子查询、各源表字段以及插入内容(包含字段各种变形操作)的关联关系以及在脚本中SQL语句谓词信息。
图4为实际脚本中的SQL语句与对应的提取结果。这是T00_APP_FIELD_CD_H_ZG0_A作业脚本中的几句目标表操作语句(图中单元41),提取结果为图中单元42。单元42部分展示了语句中目标表与插入内容之间的字段级逻辑对照关系以及与作业程序各语句对应谓词顺序之间的关系。
脚本解析模块4是目标表字段与插入内容的字段级逻辑对照关系及程序作业与算法对应关系提取。其中关于算法的分析关系,具体逻辑公式如下:
if
then
JOB是Algorithmi
else
JOB是UNKNOW-Algorithm
其中,JOB(x,y,z)分别代表作业中的语句顺序,谓词和条件。
对扫描SQL语句解析关系进行循环提取,最终找出关联关系提取示意图如图5所示。
目标表字段与插入内容的字段级逻辑对照关系及程序作业与算法对应关系提取完成后存储在数据库中的模型与表中即存储模块5,完整的关系提取程序流程图如图5所示。
Step.1对于手工加载程序逐一处理,判断是否完成所有程序的解析任务,如果是则退出程序,否则获取下一个手工加载程序并开始解析。
Step.2判断是否已经是手工加载程序内最后一个SQL语句,如果是则该加载程序解析完毕,获取关联关系和谓词顺序关系并存储于数组中以便进行下一步处理,否则继续解析下一个语句直到解析完成。
Step.3对于目标表中的每一个字段在字段关联关系中提取目标表字段与源表的字段的关联关系,如果是最后一个字段处理完成则进入下一步,否则继续提取目标表字段与源表的字段的关联关系,直至最后一个字段提取完成。
Step.4对于提取出的目标表与源表的字段关联关系之后,通过正则表达式匹配获取目标字段与源表字段的字段级逻辑对照关系,最后将目标字段与源表字段的字段级逻辑对照关系及加载作业与加载算法关系存储于数据库表中,完成后退出程序。
模型加载模板程序,即数据加载模块6输入相关的作业对应作业名、表名、加载算法和字段级逻辑对照关系等信息即可生成模板化加载程序,用于数据加载,方便开发人员进行程序维护和字段级加工的逻辑分析。
本发明克服了对数据仓库在不同技术平台上大量手工加载程序的无序管理,并弥补了数据仓库模型字段级逻辑对应关系依赖人工查找,无法准确获取的缺点。通过本发明可以提取数据仓库模型手工加载程序中包含的算法信息、字段级逻辑关系信息,并存储于物理表中,以便进行统一使用和管理。因此可以准确快速的将数据仓库手工加载程序抽象为加载程序要素,并最终将所有手工加载程序转化为模板工具化加载模式,提升加载程序开发时效,降低人力成本,提升定位问题分析时效,提高分析准确性。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
对作业脚本进行预处理,得到实际业务脚本;
提取所述实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及提取所述实际业务脚本中的谓词信息;
利用所述谓词信息及加载算法标准信息,确定加载程序与加载算法的关联关系;
根据目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系,对输入作业进行数据加载。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
对作业脚本进行预处理,得到实际业务脚本;
提取所述实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及提取所述实际业务脚本中的谓词信息;
利用所述谓词信息及加载算法标准信息,确定加载程序与加载算法的关联关系;
根据目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系,对输入作业进行数据加载。
基于与上述一种基于数据仓库抽象数据加载的方法相同的申请构思,本发明还提供了上述一种计算机设备及一种计算机可读存储介质。由于该一种计算机设备及一种计算机可读存储介质解决问题的原理与一种基于数据仓库抽象数据加载的方法相似,因此该一种计算机设备及一种计算机可读存储介质的实施可以参见一种基于数据仓库抽象数据加载的方法的实施,重复之处不再赘述。
本发明克服了对数据仓库在不同技术平台上大量手工加载程序的无序管理,并弥补了数据仓库模型字段级逻辑对应关系依赖人工查找,无法准确获取的缺点。通过本发明可以提取数据仓库模型手工加载程序中包含的算法信息、字段级逻辑关系信息,并存储于物理表中,以便进行统一使用和管理。因此可以准确快速的将数据仓库手工加载程序抽象为加载程序要素,并最终将所有手工加载程序转化为模板工具化加载模式,提升加载程序开发时效,降低人力成本,提升定位问题分析时效,提高分析准确性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种基于数据仓库抽象数据加载的方法,其特征在于,所述方法包括:
对作业脚本进行预处理,得到实际业务脚本;
提取所述实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及提取所述实际业务脚本中的谓词信息;
利用所述谓词信息及加载算法标准信息,确定加载程序与加载算法的关联关系;
根据目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系,对输入作业进行数据加载;
其中,所述根据目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系,对输入作业进行数据加载包括:
根据目标表与插入内容的字段级关联关系,以及目标表与源表字段的字段级关联关系,利用输入作业的作业名、表名、加载算法及字段级逻辑对照关系得到模板化加载程序;
利用所述模板化加载程序进行数据加载。
2.根据权利要求1所述的方法,其特征在于,所述对作业脚本进行预处理,得到实际业务脚本包括:
将所述作业脚本的内容读取到变量中,利用正则表达式去除变量中非必要信息,得到仅包含实际业务功能的实际业务脚本。
3.根据权利要求1所述的方法,其特征在于,所述提取所述实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及提取所述实际业务脚本中的谓词信息包括:
利用正则表达式逐一提取所述实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及所述实际业务脚本中的SQL语句谓词信息。
4.一种基于数据仓库抽象数据加载的系统,其特征在于,所述系统包括:
脚本处理模块,用于对作业脚本进行预处理,得到实际业务脚本;
脚本解析模块,用于提取所述实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及提取所述实际业务脚本中的谓词信息;利用所述谓词信息及加载算法标准信息,确定加载程序与加载算法的关联关系;
数据加载模块,用于根据目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系,对输入作业进行数据加载;
其中,所述数据加载模块包括:
加载程序单元,用于根据目标表与插入内容的字段级关联关系,以及目标表与源表字段的字段级关联关系,利用输入作业的作业名、表名、加载算法及字段级逻辑对照关系得到模板化加载程序;
数据加载单元,用于利用所述模板化加载程序进行数据加载。
5.根据权利要求4所述的系统,其特征在于,所述脚本处理模块包括:
语句抽取单元,用于将所述作业脚本的内容读取到变量中,利用正则表达式去除变量中非必要信息,得到仅包含实际业务功能的实际业务脚本。
6.根据权利要求4所述的系统,其特征在于,所述脚本解析模块包括:
脚本解析单元,用于利用正则表达式逐一提取所述实际业务脚本中语句解析使用到的目标表、源表字段及插入内容的关联关系,以及所述实际业务脚本中的SQL语句谓词信息。
7.根据权利要求4所述的系统,其特征在于,所述系统还包括:源数据模块,用于存储应用系统的作业脚本。
8.根据权利要求4所述的系统,其特征在于,所述系统还包括:加载算法标准模块,用于存储加载算法标准信息。
9.根据权利要求4所述的系统,其特征在于,所述系统还包括:存储模块,用于存储目标表、源表字段及插入内容的关联关系,以及加载程序与加载算法的关联关系。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,处理器执行所述计算机程序时实现权利要求1至3任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010411049.1A CN111597243B (zh) | 2020-05-15 | 2020-05-15 | 基于数据仓库抽象数据加载的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010411049.1A CN111597243B (zh) | 2020-05-15 | 2020-05-15 | 基于数据仓库抽象数据加载的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111597243A CN111597243A (zh) | 2020-08-28 |
CN111597243B true CN111597243B (zh) | 2023-09-15 |
Family
ID=72192176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010411049.1A Active CN111597243B (zh) | 2020-05-15 | 2020-05-15 | 基于数据仓库抽象数据加载的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597243B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113779002A (zh) * | 2020-11-10 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 一种数据处理方法和装置 |
CN112434115B (zh) * | 2020-11-23 | 2024-02-06 | 京东科技控股股份有限公司 | 一种数据处理方法、装置、电子设备及可读存储介质 |
CN112612783A (zh) * | 2020-12-22 | 2021-04-06 | 航天信息股份有限公司 | 一种实现跨平台数据共享的方法 |
CN112685325B (zh) * | 2021-01-22 | 2023-07-28 | 中信银行股份有限公司 | 一种etl软件研发测试管理方法及系统 |
CN113051176B (zh) * | 2021-04-20 | 2024-03-26 | 中国工商银行股份有限公司 | 自动化测试数据的处理方法、装置、电子设备及存储介质 |
CN114003230B (zh) * | 2021-09-28 | 2022-08-09 | 厦门国际银行股份有限公司 | 一种sql脚本快速编写方法及系统 |
CN115904487B (zh) * | 2022-11-29 | 2023-08-18 | 广发银行股份有限公司 | 一种分析型数据口径管理方法、系统、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151608A (en) * | 1998-04-07 | 2000-11-21 | Crystallize, Inc. | Method and system for migrating data |
CN103425762A (zh) * | 2013-08-05 | 2013-12-04 | 南京邮电大学 | 基于Hadoop平台的电信运营商海量数据处理方法 |
CN110019442A (zh) * | 2017-09-04 | 2019-07-16 | 华为技术有限公司 | 取数方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8214324B2 (en) * | 2009-08-25 | 2012-07-03 | International Business Machines Corporation | Generating extract, transform, and load (ETL) jobs for loading data incrementally |
US20120239612A1 (en) * | 2011-01-25 | 2012-09-20 | Muthian George | User defined functions for data loading |
US10324932B2 (en) * | 2016-02-29 | 2019-06-18 | International Business Machines Corporation | Detecting logical relationships based on structured query statements |
-
2020
- 2020-05-15 CN CN202010411049.1A patent/CN111597243B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151608A (en) * | 1998-04-07 | 2000-11-21 | Crystallize, Inc. | Method and system for migrating data |
CN103425762A (zh) * | 2013-08-05 | 2013-12-04 | 南京邮电大学 | 基于Hadoop平台的电信运营商海量数据处理方法 |
CN110019442A (zh) * | 2017-09-04 | 2019-07-16 | 华为技术有限公司 | 取数方法及装置 |
Non-Patent Citations (1)
Title |
---|
张迎周等.一种新型形式化程序切片方法.中国科学(E辑:信息科学).2008,第38卷(第2期),第161-174页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111597243A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111597243B (zh) | 基于数据仓库抽象数据加载的方法及系统 | |
JP7026092B2 (ja) | 記述情報を決定する方法、装置、電子デバイス、コンピュータ可読媒体およびコンピュータプログラム | |
US11651014B2 (en) | Source code retrieval | |
CN109977110A (zh) | 数据清洗方法、装置及设备 | |
CN112988782B (zh) | Hive支持交互式查询的方法、装置及存储介质 | |
US11327722B1 (en) | Programming language corpus generation | |
US7853595B2 (en) | Method and apparatus for creating a tool for generating an index for a document | |
CN112579586A (zh) | 数据处理方法、装置、设备及存储介质 | |
US10782942B1 (en) | Rapid onboarding of data from diverse data sources into standardized objects with parser and unit test generation | |
CN109657803A (zh) | 机器学习模型的构建 | |
CN110069455B (zh) | 一种文件合并方法及装置 | |
CN117851101A (zh) | 一种基于大语言模型的仓库级别代码缺陷自动修复的方法 | |
CN117453659A (zh) | 一种异构数据库sql迁移转换方法及系统 | |
CN117725182A (zh) | 基于大语言模型的数据检索方法、装置、设备和存储介质 | |
CN110580170A (zh) | 软件性能风险的识别方法及装置 | |
CN116610700A (zh) | 查询语句检测方法及装置、存储介质 | |
CN115729935A (zh) | 一种基于orm框架的数据交互处理方法及系统 | |
CN114116773A (zh) | 一种结构化查询语言sql文本审核方法及装置 | |
JP2008077285A (ja) | Sql管理システムとsql管理方法およびプログラム | |
WO2020197678A1 (en) | Filter evaluation in a database system | |
JP2017010376A (ja) | マートレス検証支援システムおよびマートレス検証支援方法 | |
CN111581184B (zh) | 基于数据库迁移的语义对比方法及装置 | |
KR102605930B1 (ko) | 데이터베이스 상에서 정형 데이터와 비정형 데이터를 처리하는 방법 및 이러한 방법을 제공하는 데이터 처리 플랫폼 | |
CN118550546B (zh) | 一种Python项目依赖冲突检测和解决方法及装置 | |
CN111737988B (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 |