CN101504664A - 对全量源数据进行抽取转换加载的装置及方法 - Google Patents
对全量源数据进行抽取转换加载的装置及方法 Download PDFInfo
- Publication number
- CN101504664A CN101504664A CNA2009100800650A CN200910080065A CN101504664A CN 101504664 A CN101504664 A CN 101504664A CN A2009100800650 A CNA2009100800650 A CN A2009100800650A CN 200910080065 A CN200910080065 A CN 200910080065A CN 101504664 A CN101504664 A CN 101504664A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- temporary table
- date
- source data
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种对全量源数据进行抽取转换加载的装置及方法。该装置包括数据接收单元、数据处理单元、数据导出单元和数据库,该数据库具有一临时工作区和一基础区,且在该数据库的基础区中具有一目标表,数据接收单元连接于数据库,用于接收来自于源***的全量源数据文件,并将该全量源数据文件加载到数据库中的临时工作区;数据处理单元连接于数据库,用于对加载到数据库临时工作区中的全量源数据文件进行抽取转换加载处理,并以历史拉链形式将处理后的全量源数据保存到数据库中;数据导出单元连接于数据库,用于将保存到数据库中的全量源数据导出,供其他***使用。利用本发明,满足了数据库对全量源数据保留历史轨迹的需求。
Description
技术领域
本发明涉及数据库源数据处理技术领域,尤其涉及一种对全量源数据进行抽取转换加载的装置及方法。
背景技术
对于企业级数据仓库(EDW)来说,其最基本的职能是对来自业务源***的数据按一定的规则进行抽取、转换和加载(即Extract、Transform和Load,ETL)。由于源***的多样性,来自源***的数据也是形形色色的,无法用单一的规则来加以抽取转换。企业级数据仓库就是要把各种属性不一、规则多变的数据转换成满足一定规律、符合数据库相关范式的标准化的数据信息,这对于任何一个拥有大量数据信息并以此为生存发展之根本的企业来说,都是非常重要的。特别是对于大型国有商业银行,由于其数据量是海量的,如何将这海量的数据抽取并整理成一整套有序、规范化的信息***,是EDW的重中之重。
在业务源***中,除了少数几种数据会保留历史信息(例如,营销***金额类数据),大多数数据在源***中是不保留历史的,而只维护一个当前的最新数据值。也就是说,如果某条记录的值一旦发生了变化,源***中就会立刻更新并覆盖原有数值,记录中的原有信息便不再保存。而企业级数据仓库可以弥补这一不足,历史拉链型的加工转换方法就可以将原本只有当前最新值的记录以历史时间段的方式进行加载并保存进数据库中。当记录属性值发生变化时,数据仓库不会在原有记录上进行修改更新,而是重新生成一条带有最新属性值的记录,并对新、旧记录都打上时间标签。这就是标准历史拉链算法的功效。
但是,标准历史拉链算法有其局限性:标准历史拉链算法的处理对象仅限于增量源数据(该增量源数据是与源数据相关的数据),即对于新增或者更新的数据可以有效地处理出它的历史轨迹。但是,当源数据下载方式是全量时,由于标准历史拉链算法并不会对源***中已经删去的记录做“关链”处理,标准历史拉链算法就无法准确地勾画出数据的历史轨迹(标准历史拉链算法处理流程图参见图1)。对于这种全量源数据下载的情况,标准历史拉链算法会导致出现许多错误的“当前仍然有效”的数据记录,该算法不再满足实际要求。
因此,迫切需要一种能够处理全量源数据的数据抽取转换加载的技术,以满足数据库对全量源数据保留历史轨迹的需求,对每一次的全量数据进行扫描并勾画出相关历史轨迹,解决企业级数据库项目中遇到的标准历史拉链算法无法满足全量源数据处理要求的问题。
发明内容
(一)要解决的技术问题
有鉴于此,本发明的主要目的在于提供一种对全量源数据进行抽取转换加载的装置及方法,以满足数据库对全量源数据保留历史轨迹的需求,解决企业级数据库项目中遇到的标准历史拉链算法无法满足全量源数据处理要求的问题。
(二)技术方案
为达到上述目的的一个方面,本发明提供了一种对全量源数据进行抽取转换加载的装置,该装置包括数据接收单元、数据处理单元、数据导出单元和数据库,该数据库具有一临时工作区和一基础区,且在该数据库的基础区中具有一目标表,其中,
数据接收单元,连接于数据库,用于接收来自于源***的全量源数据文件,并将该全量源数据文件加载到数据库中的临时工作区;
数据处理单元,连接于数据库,用于对加载到数据库临时工作区中的全量源数据文件进行抽取转换加载处理,并以历史拉链形式将处理后的全量源数据保存到数据库中;
数据导出单元,连接于数据库,用于将保存到数据库中的全量源数据导出,供其他***使用。
上述方案中,所述数据库具有的临时工作区,能够为所述数据处理单元创建临时表提供空间。
上述方案中,所述数据处理单元创建的临时表包括:临时表CUR、临时表PRE、临时表INS和临时表UPD,所述临时表CUR、临时表PRE、临时表INS、临时表UPD的结构与目标表的结构一致,且临时表CUR、临时表PRE、临时表INS和临时表UPD是可变临时表,仅存在于会话期间,当会话结束时将自动被删除。
上述方案中,在所述临时表CUR中,具有标志历史拉链的字段“开始日期”和“结束日期”,在处理临时表CUR表时,“开始日期”字段统一为当前批量处理的工作日期,“结束日期”则统一成默认设置的最大日期。
上述方案中,在所述临时表CUR中存在、但在临时表PRE中不存在的数据,是新增或更新过的数据,临时表CUR中存放的数据是从数据库临时区中抽取而来的一份当日全量源数据,而临时表PRE中存放的数据是目标表中当前有效的数据,采用临时表CUR减去临时表PRE能够得到当日全量源数据中新增或修改的当日增量源数据;
在所述临时表PRE中存在的数据,在目标表中目前仍然是有效的;但在临时表CUR中不存在的数据,在全量源数据中已经被删除,属于“过期”、“作废”的数据。
上述方案中,在所述目标表中,结束日期等于最大日期的数据,是当前有效的数据;结束日期不等于最大日期的数据,是当前已经无效的数据;对于所述目标表中无效的数据,需要将其进行“关链”,具体过程如下:将对应记录的“结束日期”字段置为当前批量日期,则该记录的有效期是截止到当前的批量日期;采用临时表UPD中的记录和目标表中的记录进行比对,能够查找目标表中哪些数据是“过期”、“作废”的无效数据;采用目标表中的记录和临时表UPD中的记录作逐条比对,若匹配成功,则将该条记录的“结束日期”更改为当前批量日期,否则不变。
为达到上述目的的另一个方面,本发明提供了一种对全量源数据进行抽取转换加载的方法,应用于包括数据接收单元、数据处理单元、数据导出单元和数据库的装置,该数据库具有一临时工作区和一基础区,且在该数据库的基础区中具有一目标表,该方法包括:
数据接收单元接收来自于源***的全量源数据文件,并将该全量源数据文件加载到数据库中的临时工作区;
数据处理单元对加载到数据库临时工作区中的全量源数据文件进行抽取转换加载处理,并以历史拉链形式将处理后的全量源数据保存到数据库中。
上述方案中,所述数据处理单元对加载到数据库临时工作区中的全量源数据文件进行抽取转换加载处理,具体包括:
在全量源数据文件被加载到数据库的临时区后,数据处理单元在数据库临时工作区中创建临时表CUR,并将数据库临时区中的各个字段按照一定的抽取转换加载规则***到临时表CUR中;
数据处理单元在数据库临时工作区中创建临时表PRE,并将数据库基础区的目标表中结束日期等于最大日期的数据***临时表PRE中;
数据处理单元在数据库临时工作区中创建临时表INS,并将在临时表CUR中存在、但在临时表PRE中不存在的数据***到临时表INS中;
数据处理单元在数据库临时工作区中创建临时表UPD,并将在临时表PRE中存在、但在临时表CUR中不存在的数据***到临时表UPD中;
数据处理单元对位于数据库基础区中的目标表进行关链操作;以及
数据处理单元将新增或更新的数据***到数据库基础区的目标表中。
上述方案中,在所述临时表CUR中,具有标志历史拉链的字段“开始日期”和“结束日期”,在处理临时表CUR表时,“开始日期”字段统一为当前批量处理的工作日期,“结束日期”则统一成默认设置的最大日期。
上述方案中,在所述临时表CUR中存在、但在临时表PRE中不存在的数据,是新增或更新过的数据,临时表CUR中存放的数据是从数据库临时区中抽取而来的一份当日全量源数据,而临时表PRE中存放的数据是目标表中当前有效的数据,采用临时表CUR减去临时表PRE能够得到当日全量源数据中新增或修改的当日增量源数据;
在所述临时表PRE中存在的数据,在目标表中目前仍然是有效的;但在临时表CUR中不存在的数据,在全量源数据中已经被删除,属于“过期”、“作废”的数据。
上述方案中,在所述目标表中,结束日期等于最大日期的数据,是当前有效的数据;结束日期不等于最大日期的数据,是当前已经无效的数据;对于所述目标表中无效的数据,需要将其进行“关链”,具体过程如下:将对应记录的“结束日期”字段置为当前批量日期,则该记录的有效期是截止到当前的批量日期;采用临时表UPD中的记录和目标表中的记录进行比对,能够查找目标表中哪些数据是“过期”、“作废”的无效数据;采用目标表中的记录和临时表UPD中的记录作逐条比对,若匹配成功,则将该条记录的“结束日期”更改为当前批量日期,否则不变。
上述方案中,所述数据处理单元对位于数据库基础区中的目标表进行关链操作,具体包括:数据处理单元将目标表中过期和作废数据所对应记录的“结束日期”字段置为当前批量日期。
上述方案中,所述数据处理单元将新增或更新的数据***到数据库基础区的目标表中,进一步包括:将新增或更新的数据对应的记录的“开始日期”置为当前批量日期,“结束日期”置为***最大日期,则所述记录的“有效期”从当前批量日期开始生效,且从当日起这些新增或更新的数据都是“有效的”,是下一日全量源数据抽取转换的处理对象。
上述方案中,所述数据处理单元以历史拉链形式将处理后的全量源数据保存到数据库中的步骤之后,进一步包括:数据导出单元将保存到数据库中的全量源数据导出,供其他***使用。
(三)有益效果
从上述技术方案可以看出,本发明提供的对全量源数据进行抽取转换加载的装置及方法,不仅针对标准历史拉链算法无法处理全量源数据的缺点,提出了恰当可用的解决方案,而且这种解决方案在增量源数据的情况下也依然适用,实现了增量源数据和全量源数据处理方式的统一性。与已有标准历史拉链算法相比,全量源数据抽取转换方法的效果和优点体现在以下几点:
1)、满足了在源数据提供方式为全量的情况下,对源***数据进行合理拉链的需求。
2)、实现了数据库端对增量源数据和全量源数据处理方式的统一性。
3)、满足了源***数据提供方式的灵活性要求,上游源***可以根据需要灵活切换增/存量供数方式,实现了与EDW接***互的透明化。
附图说明
图1是现有标准历史拉链算法的处理流程图;
图2是本发明提供的对全量源数据进行抽取转换加载的装置的结构示意图;
图3是本发明提供的对全量源数据进行抽取转换加载的方法流程图;
图4是本发明提供的数据处理单元将数据库临时区中的各个字段按照一定的抽取转换加载规则***到临时表CUR中的示意图;
图5是本发明提供的数据处理单元将数据库基础区的目标表中结束日期等于最大日期的数据***临时表PRE中的示意图;
图6是本发明提供的数据处理单元将在临时表CUR中存在、但在临时表PRE中不存在的数据***到临时表INS中的示意图;
图7是本发明提供的数据处理单元将在临时表PRE中存在、但在临时表CUR中不存在的数据***到临时表UPD中的示意图;
图8是本发明提供的数据处理单元对位于数据库基础区中的目标表进行关链操作的示意图;
图9是本发明提供的数据处理单元将新增或更新的数据***到数据库基础区的目标表中的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
本发明通过对源***中已经删除的记录进行“关链”处理,即把对应记录的结束日期(End_Dt)置为当前批量日期,表示该记录的有效期限在该日结束,实现了当日全量源数据被加载到数据仓库中,并以历史拉链的形式保存,满足数据仓库对全量源数据保留历史轨迹的需求。
如图2所示,图2是本发明提供的对全量源数据进行抽取转换加载的装置的结构示意图,该装置包括数据接收单元、数据处理单元、数据导出单元和数据库。该数据库具有一临时工作区和一基础区,且在该数据库的基础区中具有一目标表。其中,数据接收单元连接于数据库,用于接收来自于源***的全量源数据文件,并将该全量源数据文件加载到数据库中的临时工作区。数据处理单元连接于数据库,用于对加载到数据库临时工作区中的全量源数据文件进行抽取转换加载处理,并以历史拉链形式将处理后的全量源数据保存到数据库中。数据导出单元连接于数据库,用于将保存到数据库中的全量源数据导出,供其他***使用。
数据库具有的临时工作区,能够为所述数据处理单元创建临时表提供空间。数据处理单元创建的临时表包括:临时表CUR、临时表PRE、临时表INS和临时表UPD,所述临时表CUR、临时表PRE、临时表INS、临时表UPD的结构与目标表的结构一致,且临时表CUR、临时表PRE、临时表INS和临时表UPD是可变临时表,仅存在于会话期间,当会话结束时将自动被删除。
其中,CUR是CURRENT的缩写,可以理解为“当前的”,用来存放当日从源***中下载来的数据的临时表。PRE可以理解为“前一个”,用来存放上日有效数据的临时表。INS是INSERT的缩写,可以理解为“***”,用来存放(当日比上日)新增及更新的数据,即需要“***”的数据。UPD是UPDATE的缩写,可以理解为“更新”,用来存放上日中需要被更新(本文中即“关链”操作)的数据。
在临时表CUR中,具有标志历史拉链的字段“开始日期”和“结束日期”。在处理临时表CUR表时,“开始日期”字段统一为当前批量处理的工作日期,“结束日期”则统一成默认设置的最大日期。
在临时表CUR中存在、但在临时表PRE中不存在的数据,是新增或更新过的数据,临时表CUR中存放的数据是从数据库临时区中抽取而来的一份当日全量源数据,而临时表PRE中存放的数据是目标表中当前有效的数据,采用临时表CUR减去临时表PRE能够得到当日全量源数据中新增或修改的当日增量源数据。在临时表PRE中存在的数据,在目标表中目前仍然是有效的;但在临时表CUR中不存在的数据,在全量源数据中已经被删除,属于“过期”、“作废”的数据。
在目标表中,结束日期等于最大日期的数据,是当前有效的数据;结束日期不等于最大日期的数据,是当前已经无效的数据。对于目标表中无效的数据,需要将其进行“关链”,具体过程如下:将对应记录的“结束日期”字段置为当前批量日期,则该记录的有效期是截止到当前的批量日期;采用临时表UPD中的记录和目标表中的记录进行比对,能够查找目标表中哪些数据是“过期”、“作废”的无效数据;采用目标表中的记录和临时表UPD中的记录作逐条比对,若匹配成功,则将该条记录的“结束日期”更改为当前批量日期,否则不变。
如图3所示,图3是本发明提供的对全量源数据进行抽取转换加载的方法流程图,该方法应用于图2所示的包括数据接收单元、数据处理单元、数据导出单元和数据库的装置。该数据库具有一临时工作区和一基础区,且在该数据库的基础区中具有一目标表,该方法具体包括以下步骤:
步骤301:数据接收单元接收来自于源***的全量源数据文件,并将该全量源数据文件加载到数据库中的临时工作区;此步骤是为后续的数据抽取转换加载处理做好数据准备的工作。
步骤302:数据处理单元对加载到数据库临时工作区中的全量源数据文件进行抽取转换加载处理,并以历史拉链形式将处理后的全量源数据保存到数据库中。
步骤303:数据导出单元将保存到数据库中的全量源数据导出,供其他***使用。
上述步骤302中所述数据处理单元对加载到数据库临时工作区中的全量源数据文件进行抽取转换加载处理,具体包括:
步骤3021:在全量源数据文件被加载到数据库的临时区后,数据处理单元在数据库临时工作区中创建临时表CUR,并将数据库临时区中的各个字段按照一定的抽取转换加载规则***到临时表CUR中;
在本步骤中,全量源数据被加载入数据仓库的临时区后,数据处理单元在数据库空间中创建临时表CUR,并将数据库临时区中的各个字段按照一定的ETL规则***到临时表CUR中,同时,临时表CUR中还有标志历史拉链的字段“开始日期”和“结束日期”。在处理临时表CUR表时,“开始日期”字段统一为***当前批量处理的工作日期,而“结束日期”则统一成EDW***内默认设置的最大日期(例如:9999-12-31)。如图4所示,临时表CUR的结构和目标表的结构一致。临时表CUR是可变临时表,仅存在于会话(session)期间,当会话结束时,该表自动被删除。
步骤3022:数据处理单元在数据库临时工作区中创建临时表PRE,并将数据库基础区的目标表中结束日期等于最大日期的数据***临时表PRE中;
在本步骤中,数据处理单元在数据库临时工作区中创建临时表PRE,并将目标表中结束日期等于最大日期的数据***临时表PRE中。临时表PRE的结构和目标表的结构一致。目标表中结束日期等于最大日期的数据,表示是当前有效的数据。对于结束日期不等于最大日期的数据,表明是当前已经无效的数据,因此不作为处理的对象。如图5所示,临时表PRE是可变临时表,仅存在于会话(session)期间,当会话结束时,该表自动被删除。
步骤3023:数据处理单元在数据库临时工作区中创建临时表INS,并将在临时表CUR中存在、但在临时表PRE中不存在的数据***到临时表INS中;
在本步骤中,数据处理单元在数据库临时工作区中创建临时表INS,并将在临时表CUR中存在、但在临时表PRE中不存在的数据***到临时表INS中;临时表INS的结构和目标表的结构一致。在临时表CUR中存在、但在临时表PRE中不存在,说明这些数据是新增或更新过的数据。由于临时表CUR中的数据是从数据仓库临时区中抽取而来的,即代表了一份当日全量源数据,而临时表PRE中存放的是目标表中当前有效的数据,因此用CUR减去PRE,就可得到当日全量源数据中新增或修改的部分,即当日的增量源数据。如图6所示,临时表INS是可变临时表,仅存在于会话(session)期间,当会话结束时,该表自动被删除。
步骤3024:数据处理单元在数据库临时工作区中创建临时表UPD,并将在临时表PRE中存在、但在临时表CUR中不存在的数据***到临时表UPD中;
在本步骤中,数据处理单元在数据库临时工作区中创建临时表UPD,并将在临时表PRE中存在、但在临时表CUR中不存在的数据***到临时表UPD中。临时表UPD的结构和目标表的结构一致。在临时表PRE中存在,说明目标表中的这些数据目前仍然是有效的;但在临时表CUR中不存在,说明这些数据在全量源数据中已经被删除,即在数据“源头”已经废弃了。因此,这类数据属于“过期”、“作废”的数据,必须在历史拉链中做“关链”处理,表明其有效期限已经截止了。将这些数据放入临时表UPD中,等待下一步的“关链”操作。如图7所示,临时表UPD是可变临时表,仅存在于会话(session)期间,当会话结束时,该表自动被删除。
步骤3025:数据处理单元对位于数据库基础区中的目标表进行关链操作;
在本步骤中,对位于数据仓库基础区中的目标表进行“关链”操作。对于目标表中“过期”、“作废”的数据,需要将其“关链”,即把对应记录的“结束日期”字段置为当前批量日期,表明该记录的有效期是截止到当前的批量日期。用临时表UPD中的记录和目标表中的记录进行比对,即可查找目标中哪些数据是“过期”、“作废”的。如图8所示,用目标表中的记录和临时表UPD中的记录作逐条比对,若匹配的上,则将该条记录的“结束日期”更改为当前批量日期,否则不变。
步骤3026:数据处理单元将新增或更新的数据***到数据库基础区的目标表中;
在本步骤中,将新增或更新的数据***到目标表中。将临时表INS中的记录***到目标表中,同时将这些记录的“开始日期”置为当前批量日期,“结束日期”置为***最大日期,表明这些记录的“有效期”从当前批量日期开始生效,且从当日起这些数据都是“有效的”,是下一日全量源数据抽取转换的处理对象。如图9所示,临时表INS中保留的就是新增或更新的记录。
通过以上处理步骤,实现了一种基于历史拉链算法实现全量源数据抽取转换加载的方法,该方法通过对源***中已经删除的记录进行“关链”处理,即把对应记录的结束日期(End_Dt)置为当前批量日期,表示该记录的有效期限在该日结束。该方法实现了当日全量源数据被加载到数据仓库中,并以历史拉链的形式保存,满足数据仓库对全量源数据保留历史轨迹的需求。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1、一种对全量源数据进行抽取转换加载的装置,该装置包括数据接收单元、数据处理单元、数据导出单元和数据库,该数据库具有一临时工作区和一基础区,且在该数据库的基础区中具有一目标表,其中,
数据接收单元,连接于数据库,用于接收来自于源***的全量源数据文件,并将该全量源数据文件加载到数据库中的临时工作区;
数据处理单元,连接于数据库,用于对加载到数据库临时工作区中的全量源数据文件进行抽取转换加载处理,并以历史拉链形式将处理后的全量源数据保存到数据库中;
数据导出单元,连接于数据库,用于将保存到数据库中的全量源数据导出,供其他***使用。
2、根据权利要求1所述的对全量源数据进行抽取转换加载的装置,其特征在于,所述数据库具有的临时工作区,能够为所述数据处理单元创建临时表提供空间。
3、根据权利要求2所述的对全量源数据进行抽取转换加载的装置,其特征在于,所述数据处理单元创建的临时表包括:临时表CUR、临时表PRE、临时表INS和临时表UPD,所述临时表CUR、临时表PRE、临时表INS、临时表UPD的结构与目标表的结构一致,且临时表CUR、临时表PRE、临时表INS和临时表UPD是可变临时表,仅存在于会话期间,当会话结束时将自动被删除。
4、根据权利要求3所述的对全量源数据进行抽取转换加载的装置,其特征在于,在所述临时表CUR中,具有标志历史拉链的字段“开始日期”和“结束日期”,在处理临时表CUR表时,“开始日期”字段统一为当前批量处理的工作日期,“结束日期”则统一成默认设置的最大日期。
5、根据权利要求3所述的对全量源数据进行抽取转换加载的装置,其特征在于,在所述临时表CUR中存在、但在临时表PRE中不存在的数据,是新增或更新过的数据,临时表CUR中存放的数据是从数据库临时区中抽取而来的一份当日全量源数据,而临时表PRE中存放的数据是目标表中当前有效的数据,采用临时表CUR减去临时表PRE能够得到当日全量源数据中新增或修改的当日增量源数据;
在所述临时表PRE中存在的数据,在目标表中目前仍然是有效的;但在临时表CUR中不存在的数据,在全量源数据中已经被删除,属于“过期”、“作废”的数据。
6、根据权利要求3所述的对全量源数据进行抽取转换加载的装置,其特征在于,在所述目标表中,结束日期等于最大日期的数据,是当前有效的数据;结束日期不等于最大日期的数据,是当前已经无效的数据;对于所述目标表中无效的数据,需要将其进行“关链”,具体过程如下:将对应记录的“结束日期”字段置为当前批量日期,则该记录的有效期是截止到当前的批量日期;采用临时表UPD中的记录和目标表中的记录进行比对,能够查找目标表中哪些数据是“过期”、“作废”的无效数据;采用目标表中的记录和临时表UPD中的记录作逐条比对,若匹配成功,则将该条记录的“结束日期”更改为当前批量日期,否则不变。
7、一种对全量源数据进行抽取转换加载的方法,应用于包括数据接收单元、数据处理单元、数据导出单元和数据库的装置,该数据库具有一临时工作区和一基础区,且在该数据库的基础区中具有一目标表,该方法包括:
数据接收单元接收来自于源***的全量源数据文件,并将该全量源数据文件加载到数据库中的临时工作区;
数据处理单元对加载到数据库临时工作区中的全量源数据文件进行抽取转换加载处理,并以历史拉链形式将处理后的全量源数据保存到数据库中。
8、根据权利要求7所述的对全量源数据进行抽取转换加载的方法,其特征在于,所述数据处理单元对加载到数据库临时工作区中的全量源数据文件进行抽取转换加载处理,具体包括:
在全量源数据文件被加载到数据库的临时区后,数据处理单元在数据库临时工作区中创建临时表CUR,并将数据库临时区中的各个字段按照一定的抽取转换加载规则***到临时表CUR中;
数据处理单元在数据库临时工作区中创建临时表PRE,并将数据库基础区的目标表中结束日期等于最大日期的数据***临时表PRE中;
数据处理单元在数据库临时工作区中创建临时表INS,并将在临时表CUR中存在、但在临时表PRE中不存在的数据***到临时表INS中;
数据处理单元在数据库临时工作区中创建临时表UPD,并将在临时表PRE中存在、但在临时表CUR中不存在的数据***到临时表UPD中;
数据处理单元对位于数据库基础区中的目标表进行关链操作;以及
数据处理单元将新增或更新的数据***到数据库基础区的目标表中。
9、根据权利要求8所述的对全量源数据进行抽取转换加载的方法,其特征在于,在所述临时表CUR中,具有标志历史拉链的字段“开始日期”和“结束日期”,在处理临时表CUR表时,“开始日期”字段统一为当前批量处理的工作日期,“结束日期”则统一成默认设置的最大日期。
10、根据权利要求8所述的对全量源数据进行抽取转换加载的方法,其特征在于,在所述临时表CUR中存在、但在临时表PRE中不存在的数据,是新增或更新过的数据,临时表CUR中存放的数据是从数据库临时区中抽取而来的一份当日全量源数据,而临时表PRE中存放的数据是目标表中当前有效的数据,采用临时表CUR减去临时表PRE能够得到当日全量源数据中新增或修改的当日增量源数据;
在所述临时表PRE中存在的数据,在目标表中目前仍然是有效的;但在临时表CUR中不存在的数据,在全量源数据中已经被删除,属于“过期”、“作废”的数据。
11、根据权利要求8所述的对全量源数据进行抽取转换加载的方法,其特征在于,在所述目标表中,结束日期等于最大日期的数据,是当前有效的数据;结束日期不等于最大日期的数据,是当前已经无效的数据;对于所述目标表中无效的数据,需要将其进行“关链”,具体过程如下:将对应记录的“结束日期”字段置为当前批量日期,则该记录的有效期是截止到当前的批量日期;采用临时表UPD中的记录和目标表中的记录进行比对,能够查找目标表中哪些数据是“过期”、“作废”的无效数据;采用目标表中的记录和临时表UPD中的记录作逐条比对,若匹配成功,则将该条记录的“结束日期”更改为当前批量日期,否则不变。
12、根据权利要求8所述的对全量源数据进行抽取转换加载的方法,其特征在于,所述数据处理单元对位于数据库基础区中的目标表进行关链操作,具体包括:
数据处理单元将目标表中过期和作废数据所对应记录的“结束日期”字段置为当前批量日期。
13、根据权利要求8所述的对全量源数据进行抽取转换加载的方法,其特征在于,所述数据处理单元将新增或更新的数据***到数据库基础区的目标表中,进一步包括:
将新增或更新的数据对应的记录的“开始日期”置为当前批量日期,“结束日期”置为***最大日期,则所述记录的“有效期”从当前批量日期开始生效,且从当日起这些新增或更新的数据都是“有效的”,是下一日全量源数据抽取转换的处理对象。
14、根据权利要求7所述的对全量源数据进行抽取转换加载的方法,其特征在于,所述数据处理单元以历史拉链形式将处理后的全量源数据保存到数据库中的步骤之后,进一步包括:
数据导出单元将保存到数据库中的全量源数据导出,供其他***使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100800650A CN101504664B (zh) | 2009-03-18 | 2009-03-18 | 对全量源数据进行抽取转换加载的装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100800650A CN101504664B (zh) | 2009-03-18 | 2009-03-18 | 对全量源数据进行抽取转换加载的装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101504664A true CN101504664A (zh) | 2009-08-12 |
CN101504664B CN101504664B (zh) | 2010-12-01 |
Family
ID=40976910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100800650A Active CN101504664B (zh) | 2009-03-18 | 2009-03-18 | 对全量源数据进行抽取转换加载的装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101504664B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011026311A1 (zh) * | 2009-09-02 | 2011-03-10 | ***股份有限公司 | 数据转移***及方法 |
CN102411569A (zh) * | 2010-09-20 | 2012-04-11 | 上海众融信息技术有限公司 | 一种数据库转换与清洗信息处理方法 |
CN103530375A (zh) * | 2013-10-15 | 2014-01-22 | 北京国双科技有限公司 | 数据源的匹配方法和装置 |
CN103593447A (zh) * | 2013-11-18 | 2014-02-19 | 北京国双科技有限公司 | 用于数据库表的数据处理方法和装置 |
CN103605776A (zh) * | 2013-11-28 | 2014-02-26 | 北京国双科技有限公司 | 信息数据库的数据处理方法和装置 |
CN104572122A (zh) * | 2015-01-28 | 2015-04-29 | 中国工商银行股份有限公司 | 一种软件应用数据的生成装置及方法 |
CN105045881A (zh) * | 2015-07-21 | 2015-11-11 | 上海融甸信息科技有限公司 | 一种历史数据新增方法 |
CN105045879A (zh) * | 2015-07-21 | 2015-11-11 | 上海融甸信息科技有限公司 | 一种数据并行处理方法 |
CN105260485A (zh) * | 2015-11-20 | 2016-01-20 | 杭州数梦工场科技有限公司 | 一种数据加载的方法和装置 |
CN106569731A (zh) * | 2015-10-10 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 极限存储方法、装置及设备 |
CN106649355A (zh) * | 2015-10-30 | 2017-05-10 | 北京国双科技有限公司 | 一种数据处理方法及装置 |
CN107193985A (zh) * | 2017-05-27 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种记录数据变化历史的拉链表设计方法 |
CN108763259A (zh) * | 2018-04-03 | 2018-11-06 | 四川新网银行股份有限公司 | 一种大数据平台数据加载转化算法 |
CN108829747A (zh) * | 2018-05-24 | 2018-11-16 | 新华三大数据技术有限公司 | 数据加载方法及装置 |
CN110209662A (zh) * | 2018-02-13 | 2019-09-06 | 北京京东尚科信息技术有限公司 | 一种自动化加载数据的方法和装置 |
CN110442578A (zh) * | 2019-07-30 | 2019-11-12 | 新华三大数据技术有限公司 | 拉链表更新方法、装置、服务器及计算机可读存储介质 |
CN113535481A (zh) * | 2021-07-20 | 2021-10-22 | 北京京东振世信息技术有限公司 | 数据的回溯方法、装置和非易失性计算机可读存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787122A (zh) * | 2016-03-28 | 2016-07-20 | 北京科东电力控制***有限责任公司 | 一种数据抽取、转换及装载的方法 |
-
2009
- 2009-03-18 CN CN2009100800650A patent/CN101504664B/zh active Active
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8924342B2 (en) | 2009-09-02 | 2014-12-30 | China Unionpay Co., Ltd. | System and method for data transfer |
WO2011026311A1 (zh) * | 2009-09-02 | 2011-03-10 | ***股份有限公司 | 数据转移***及方法 |
CN102411569A (zh) * | 2010-09-20 | 2012-04-11 | 上海众融信息技术有限公司 | 一种数据库转换与清洗信息处理方法 |
CN103530375A (zh) * | 2013-10-15 | 2014-01-22 | 北京国双科技有限公司 | 数据源的匹配方法和装置 |
CN103593447B (zh) * | 2013-11-18 | 2017-02-08 | 北京国双科技有限公司 | 用于数据库表的数据处理方法和装置 |
CN103593447A (zh) * | 2013-11-18 | 2014-02-19 | 北京国双科技有限公司 | 用于数据库表的数据处理方法和装置 |
CN103605776A (zh) * | 2013-11-28 | 2014-02-26 | 北京国双科技有限公司 | 信息数据库的数据处理方法和装置 |
CN103605776B (zh) * | 2013-11-28 | 2017-04-12 | 北京国双科技有限公司 | 信息数据库的数据处理方法和装置 |
CN104572122A (zh) * | 2015-01-28 | 2015-04-29 | 中国工商银行股份有限公司 | 一种软件应用数据的生成装置及方法 |
CN104572122B (zh) * | 2015-01-28 | 2018-04-27 | 中国工商银行股份有限公司 | 一种软件应用数据的生成装置及方法 |
CN105045879B (zh) * | 2015-07-21 | 2019-08-02 | 上海融甸信息科技有限公司 | 一种数据并行处理方法 |
CN105045879A (zh) * | 2015-07-21 | 2015-11-11 | 上海融甸信息科技有限公司 | 一种数据并行处理方法 |
CN105045881A (zh) * | 2015-07-21 | 2015-11-11 | 上海融甸信息科技有限公司 | 一种历史数据新增方法 |
CN106569731A (zh) * | 2015-10-10 | 2017-04-19 | 阿里巴巴集团控股有限公司 | 极限存储方法、装置及设备 |
CN106569731B (zh) * | 2015-10-10 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 极限存储方法、装置及设备 |
CN106649355A (zh) * | 2015-10-30 | 2017-05-10 | 北京国双科技有限公司 | 一种数据处理方法及装置 |
CN105260485A (zh) * | 2015-11-20 | 2016-01-20 | 杭州数梦工场科技有限公司 | 一种数据加载的方法和装置 |
CN105260485B (zh) * | 2015-11-20 | 2019-05-31 | 杭州数梦工场科技有限公司 | 一种数据加载的方法和装置 |
CN110083651A (zh) * | 2015-11-20 | 2019-08-02 | 杭州数梦工场科技有限公司 | 一种数据加载的方法和装置 |
CN110083651B (zh) * | 2015-11-20 | 2021-06-29 | 杭州数梦工场科技有限公司 | 一种数据加载的方法和装置 |
CN107193985A (zh) * | 2017-05-27 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种记录数据变化历史的拉链表设计方法 |
CN110209662A (zh) * | 2018-02-13 | 2019-09-06 | 北京京东尚科信息技术有限公司 | 一种自动化加载数据的方法和装置 |
CN108763259A (zh) * | 2018-04-03 | 2018-11-06 | 四川新网银行股份有限公司 | 一种大数据平台数据加载转化算法 |
CN108829747A (zh) * | 2018-05-24 | 2018-11-16 | 新华三大数据技术有限公司 | 数据加载方法及装置 |
CN110442578A (zh) * | 2019-07-30 | 2019-11-12 | 新华三大数据技术有限公司 | 拉链表更新方法、装置、服务器及计算机可读存储介质 |
CN113535481A (zh) * | 2021-07-20 | 2021-10-22 | 北京京东振世信息技术有限公司 | 数据的回溯方法、装置和非易失性计算机可读存储介质 |
CN113535481B (zh) * | 2021-07-20 | 2024-05-17 | 北京京东振世信息技术有限公司 | 数据的回溯方法、装置和非易失性计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101504664B (zh) | 2010-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101504664B (zh) | 对全量源数据进行抽取转换加载的装置及方法 | |
CN103678392A (zh) | 一种数据增量合并的方法及其装置 | |
CN102542071B (zh) | 一种分布式处理数据的***及方法 | |
CN101464895A (zh) | 一种更新内存数据的方法、***和装置 | |
CN107918621A (zh) | 日志数据处理方法、装置及业务*** | |
CN102521145A (zh) | Java卡***及其空间分配处理方法 | |
CN102375891A (zh) | 一种增量数据卸载和装载的实施工具 | |
CN105975502A (zh) | 一种基于cdc方式实现增量抽取数据的方法 | |
CN102043789A (zh) | 一种更新数据表的方法和装置 | |
CN104504030B (zh) | 一种面向电力调度自动化海量报文的索引方法 | |
CN103064908B (zh) | 一种通过内存快速去重名单的方法 | |
CN102110102A (zh) | 数据处理方法及装置、文件识别方法及工具 | |
CN104636337B (zh) | 一种用于增值税的数据清洗存储方法 | |
CN104298736A (zh) | 数据集合连接方法、装置及数据库*** | |
CN109522315A (zh) | 一种数据库处理方法及*** | |
CN107704573A (zh) | 一种与业务耦合的智能缓存方法 | |
CN201465108U (zh) | 对全量源数据进行抽取转换加载的装置 | |
CN102831204B (zh) | 一种具备版本控制能力的文件打包格式 | |
CN102096676B (zh) | 数据更新及查询控制方法及*** | |
CN102081644A (zh) | 一种数义分离的数据存储方法 | |
CN105556486B (zh) | 用于自动管理计算单元中动态分配的内存的方法和*** | |
CN103714068A (zh) | 即时数据更新的方法及装置 | |
CN102486844A (zh) | 一种erp***中并发数据的处理方法及装置 | |
CN102855288A (zh) | 差异数据的处理方法和装置 | |
CN101388009A (zh) | 用动态表名优化超大数据量处理能力的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |