[发明专利]数据加载方法及装置有效
申请号: | 201810510384.X | 申请日: | 2018-05-24 |
公开(公告)号: | CN108829747B | 公开(公告)日: | 2019-09-17 |
发明(设计)人: | 李鹏;丁杉 | 申请(专利权)人: | 新华三大数据技术有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/2455;G06F16/23;G06F16/2458 |
代理公司: | 北京超成律师事务所 11646 | 代理人: | 王小梅 |
地址: | 450000 河南省郑州市郑州高新*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据记录 第一数据 集合 主键 缓存数据库 生命周期 记录 检索 记录添加 数据加载 匹配 数据加载效率 系统处理效率 目标数据库 遍历数据 记录集合 扫描周期 数据源 替换 | ||
本公开涉及一种数据加载方法及装置,以解决数据加载效率低的问题。该方法包括:扫描周期到达时,从数据源读取数据记录作为数据记录集合中的第一数据记录;遍历数据记录集合中的第一数据记录,根据第一数据记录的主键在缓存数据库中进行检索;当在缓存数据库中未检索到与主键匹配的数据记录时,将第一数据记录添加至新增数据记录集合;当在缓存数据库中检索到与主键匹配的数据记录、且第一数据记录的生命周期终止时,将第一数据记录添加至生命周期终止数据记录集合;将新增数据记录集合中的数据记录插入目标数据库的全量数据表;用生命周期终止数据记录集合中的数据记录替换与其主键一致的全量数据表中的数据记录。提高了系统处理效率。
技术领域
本公开涉及数据处理技术领域,尤其涉及一种数据加载方法及装置。
背景技术
ETL(Extract-Transform-Load,抽取-转换-加载)用来描述将数据从来源端经过抽取、转换以及加载至目的端的过程。在一些数据ETL应用场景中,新数据记录不断生成,抽取新数据后直接将其存入数据库,不再更新历史数据记录;而在另一些应用场景中,可更新的数据记录(RecSet)有一个生命周期,即,在数据记录初始写入后的T时间后还会对数据的个别属性字段进行更新,直至此数据生命周期终止(即生命周期结束),再更新其生命终止标志。图1示出了该类数据记录的一般结构,如图1所示,该数据记录结构包括:实体标识、开始时间、结束时间(生命周期结束标志,初始为空)、更新时间以及其他一些属性标识。其中,实体标识+开始时间做主键。数据记录的生命周期包括:初始:开始时间为t1,结束时间为空,相关参数为初始值。状态1:开始时间为t1,结束时间为空,相关参数x根据业务情况更新。状态2:变化过程中的状态,相关参数x根据业务情况更新。结束:开始时间为t1,结束时间为t2,相关参数x完成更新。
以宾馆住宿记录为例,此种场景下,实体标识为住户身份证号。住户入住时生成一条记录,开始时间和更新时间均为此人的入住时间,结束时间为空;N天后,当此人退房时,此记录会更新其结束时间字段为退房时间,同时本记录的更新时间字段会同时刷新。图2示出了以宾馆住宿记录为例的数据记录的结构,在图2中,住户入住时的数据记录中实体标识为住户的身份证号411002xxxx,开始时间为住户的入住时间2018-01-01 10:00,结束时间为空,更新时间为2018-01-01 10:00;住户结束入住时的数据记录中实体标识为住户的身份证号411002xxxx,开始时间为住户的入住时间2018-01-01 10:00,结束时间为住户退房的时间2018-01-03 12:00,更新时间为住户退房的时间2018-01-03 12:00。
在对可更新数据进行ETL时,需要按照扫描周期,定时根据“更新时间”字段读取新增记录,然后对已存入目标数据库中的全量数据表按主键进行检索,但在扫描周期内读取的数据记录需在目标数据库中创建临时表进行存储(TmpTable-RecSet),这样会带来额外的磁盘IO(输入/输出),临时表和全量数据表间存在按主键的连接操作(join),当全量数据表中累计的数据记录较多时,会占用目标数据库较多的处理资源,影响系统整体响应能力,降低了系统响应效率。
发明内容
有鉴于此,本公开提出了一种数据加载方法及装置,用以解决相关技术中在对数据进行ETL的过程中数据加载效率较低的问题。
根据本公开的第一方面,提供了一种数据加载方法,包括:扫描周期到达时,从数据源读取数据记录至数据记录集合,作为所述数据记录集合中的第一数据记录;遍历所述数据记录集合中的所述第一数据记录,针对遍历到的任一第一数据记录,根据所述第一数据记录的主键在缓存数据库中进行检索;当在所述缓存数据库中未检索到与所述主键匹配的数据记录时,将所述第一数据记录添加至新增数据记录集合;当在所述缓存数据库中检索到与所述主键匹配的数据记录、且所述第一数据记录的生命周期终止时,将所述第一数据记录添加至生命周期终止数据记录集合;将所述新增数据记录集合中的数据记录插入目标数据库的全量数据表;用所述生命周期终止数据记录集合中的数据记录替换与其主键一致的所述全量数据表中的数据记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三大数据技术有限公司,未经新华三大数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810510384.X/2.html,转载请声明来源钻瓜专利网。