一种数据库转换与清洗信息处理方法技术

技术编号:7272427 阅读:242 留言:0更新日期:2012-04-15 20:15
本发明专利技术涉及一种数据库转换与清洗信息处理方法,包括:1)目标数据库连接至数据源;2)选择目标数据库中需要清洗的目标数据表;3)选择更新方式,若为增量更新,则执行步骤4);若为全量更新,则执行步骤10);4)获得目标数据表中最大的更新时间last_update,若目标数据表为空,则last_update默认为设定时间;5)筛选数据源中更新时间大于last_update的所有记录至一个临时表temp_table中;6)采用目标数据表中的约束字段来剔除临时表temp_table中的重复记录;7)通过目标数据表与临时表temp_table比较,得到临时表temp_table中已存在于目标数据表中的记录;等步骤。与现有技术相比,本发明专利技术具有有效避免在数据清洗过程中的数据重复和遗漏问题,保证数据的一致性和完整性等优点。

【技术实现步骤摘要】

本专利技术涉及一种数据库相关技术,尤其是涉及。
技术介绍
数据的清洗和转换,也称ETL (Extract、Transform, Load),是在数据库领域、尤其是数据仓库领域经常需要解决的问题。ETL负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到目标库(数据仓库、数据集市等)中,成为联机分析处理、数据挖掘的基础。虽然目前市场上关于数据清洗的专业工具有很多,如Ascential公司的 Datastageλ Informatica 公司的 PowercenterΛ NCR Teradata 公司的 ETL Automation 等, 这些工具大都功能强大,但同时其使用也较为复杂。但是作为一般的中小型应用而言,使用这些专业工具成本过高,一般会转而寻求一些较为轻量级的工具,如SSIS或者直接使用存储过程编程实现。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供。本专利技术的目的可以通过以下技术方案来实现,其特征在于,包括以下步骤1)目标数据库连接至数据源;2)选择目标数据库中需要清洗的目标数据表;3)选择更新方式,若为增量更新,则执行步骤4);若为全量更新,则执行步骤 10);4)获得目标数据表中最大的更新时间laSt_Update,若目标数据表为空,则last_ update默认为设定时间;5)筛选数据源中更新时间大于laSt_update的所有记录至一个临时表temp_ table 中;6)采用目标数据表中的约束字段来剔除临时表tempjable中的重复记录;7)通过目标数据表与临时表tempjable比较,得到临时表tempjable中已存在于目标数据表中的记录;8)剔除临时表tempjable中已存在于目标数据表中的记录;9)将临时表tempjable中剩余的全部记录,插入目标数据表中,并执行步骤 14);10)将数据源一端的数据,组织为目标数据表结构形式,并将全部记录保存至临时表 temp—table 中;11)采用目标数据表中的约束字段来剔除临时表tempjable中的重复记录;12)清空目标数据表;13)将临时表tempjable中的全部记录插入目标数据表中。14)记录更新日志。所述的步骤4)中的设定时间可以为1900年1月1日。所述的步骤6)约束字段为一个或多个。所述的步骤11)约束字段为一个或多个。与现有技术相比,本专利技术具有以下优点1、具体化了数据转换和清洗的流程,能够有效的完成全量和增量两种更新方式的数据更新;2、使用清晰的业务逻辑,能够有效避免在数据清洗过程中的数据重复和遗漏问题,保证数据的一致性和完整性。附图说明图1为本专利技术的流程图;图2为本专利技术的硬件结构示意图。具体实施例方式下面结合附图和具体实施例对本专利技术进行详细说明。实施例如图1、图2所示,,包括以下步骤1)目标数据库1连接至数据源2 ;2)选择目标数据库1中需要清洗的目标数据表;3)选择更新方式,若为增量更新,则执行步骤4);若为全量更新,则执行步骤 10);4)获得目标数据表中最大的更新时间laSt_Update,若目标数据表为空,则last_ update默认为设定时间;5)筛选数据源2中更新时间大于Iastjpdate的所有记录至一个临时表temp_ table 中;6)采用目标数据表中的约束字段来剔除临时表tempjable中的重复记录;7)通过目标数据表与临时表tempjable比较,得到临时表tempjable中已存在于目标数据表中的记录;8)剔除临时表tempjable中已存在于目标数据表中的记录;9)将临时表tempjable中剩余的全部记录,插入目标数据表中,并执行步骤 14);10)将数据源一端的数据,组织为目标数据表结构形式,并将全部记录保存至临时表 temp_table 中;11)采用目标数据表中的约束字段来剔除临时表tempjable中的重复记录;12)清空目标数据表;13)将临时表temp_table中的全部记录插入目标数据表中。14)记录更新日志。所述的步骤4)中的设定时间可以为1900年1月1日。所述的步骤6)约束字段为一个或多个。所述的步骤11)约束字段为一个或多个。权利要求1.,其特征在于,包括以下步骤1)目标数据库连接至数据源;2)选择目标数据库中需要清洗的目标数据表;3)选择更新方式,若为增量更新,则执行步骤4);若为全量更新,则执行步骤10);4)获得目标数据表中最大的更新时间laSt_Update,若目标数据表为空,则last_ update默认为设定时间;5)筛选数据源中更新时间大于last_update的所有记录至一个临时表temp_table中;6)采用目标数据表中的约束字段来剔除临时表temp_table中的重复记录;7)通过目标数据表与临时表temp_table比较,得到临时表temp_table中已存在于目标数据表中的记录;8)剔除临时表temp_table中已存在于目标数据表中的记录;9)将临时表temp_table中剩余的全部记录,插入目标数据表中,并执行步骤14);10)将数据源一端的数据,组织为目标数据表结构形式,并将全部记录保存至临时表 temp—table 中;11)采用目标数据表中的约束字段来剔除临时表temp_table中的重复记录;12)清空目标数据表;13)将临时表temp_table中的全部记录插入目标数据表中。14)记录更新日志。2.根据权利要求1所述的,其特征在于,所述的步骤4)中的设定时间可以为1900年1月1日。3.根据权利要求1所述的,其特征在于,所述的步骤6)约束字段为一个或多个。4.根据权利要求1所述的,其特征在于,所述的步骤11)约束字段为一个或多个。全文摘要本专利技术涉及,包括1)目标数据库连接至数据源;2)选择目标数据库中需要清洗的目标数据表;3)选择更新方式,若为增量更新,则执行步骤4);若为全量更新,则执行步骤10);4)获得目标数据表中最大的更新时间last_update,若目标数据表为空,则last_update默认为设定时间;5)筛选数据源中更新时间大于last_update的所有记录至一个临时表temp_table中;6)采用目标数据表中的约束字段来剔除临时表temp_table中的重复记录;7)通过目标数据表与临时表temp_table比较,得到临时表temp_table中已存在于目标数据表中的记录;等步骤。与现有技术相比,本专利技术具有有效避免在数据清洗过程中的数据重复和遗漏问题,保证数据的一致性和完整性等优点。文档编号G06F17/30GK102411569SQ20101028797公开日2012年4月11日 申请日期2010年9月20日 优先权日2010年9月20日专利技术者雷发晶 申请人:上海众融信息技术有限公司本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:雷发晶
申请(专利权)人:上海众融信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术