CN111694853A - 基于世系的数据增量采集方法、装置、存储介质和电子设备 - Google Patents

基于世系的数据增量采集方法、装置、存储介质和电子设备 Download PDF

Info

Publication number
CN111694853A
CN111694853A CN202010491252.4A CN202010491252A CN111694853A CN 111694853 A CN111694853 A CN 111694853A CN 202010491252 A CN202010491252 A CN 202010491252A CN 111694853 A CN111694853 A CN 111694853A
Authority
CN
China
Prior art keywords
data
last
loading
loaded
source
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
Application number
CN202010491252.4A
Other languages
English (en)
Other versions
CN111694853B (zh
Inventor
高留杰
张君福
张世琨
刘普祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Peking University Software Engineering Co ltd
Original Assignee
Beijing Peking University Software Engineering Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Peking University Software Engineering Co ltd filed Critical Beijing Peking University Software Engineering Co ltd
Priority to CN202010491252.4A priority Critical patent/CN111694853B/zh
Publication of CN111694853A publication Critical patent/CN111694853A/zh
Application granted granted Critical
Publication of CN111694853B publication Critical patent/CN111694853B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种基于世系的数据增量采集方法、装置、存储介质和电子设备,属于计算机技术领域,本申请的数据增量采集方法包括如下步骤,从数据源中加载数据;基于当前次加载数据与上一次加载数据的比较,识别数据源中变化的数据;基于识别结果对加载数据进行处理。本申请的基于世系的增量数据采集方法具有通用性,不限于数据源的类型,仅对源端进行读操作,对源端性能影响极低。

Description

基于世系的数据增量采集方法、装置、存储介质和电子设备
技术领域
本申请属于计算机技术领域,具体涉及一种基于世系的数据增量采集方法、装置、存储介质和电子设备。
背景技术
目前,相关技术中,数据增量采集方式主要有两类,第一类是数据源中有识别数据变化的标识如时间戳标识、自增长标识等,基于此标识可实现数据的增量采集,当数据的变化时标识列记录了数据的变化,通过与上一次采集的基准标识比较即可识别出增量的变化内容。第二类为通过数据库管理系统提供的功能来实现,比如oracle、sqlserver等商用数据库的变化数据捕获(CDC)组件可分发数据的变化,有些开源的数据库如mysql可通过解析数据库运行日志来实现变化数据的捕获,数据库管理系统的CDC组件会在数据变化时将捕获到的变化数据分发到下游任务的存储上
但这两类数据增量采集方式中,数据源中有增量标识的方式依赖于数据源的结构设计,而大部分现有的系统都无专门的设计,添加时需修改系统的数据库设计。数据库管理系统CDC的方式需要数据库管理系统中添加CDC扩展组件,会对系统的运营和维护造成风险。CDC方式在不同的数据库管理系统上实现方式不同,分发的数据格式不同,需单独针对此类系统单独适配。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
为至少在一定程度上克服相关技术中存在的问题,本申请提供一种基于世系的数据增量采集方法及装置,通用性好,有助于更方便实现对各数据源的增量数据采集。
为实现以上目的,本申请采用如下技术方案:
第一方面,
本申请提供一种基于世系的数据增量采集方法,其包括:
从数据源中加载数据;
基于当前次加载数据与上一次加载数据的比较,识别数据源中变化的数据;
基于识别结果对加载数据进行处理。
可选地,所述从数据源中加载数据,具体为:
针对所述数据源创建表级别的数据采集任务,基于执行所述数据采集任务来实现加载数据。
可选地,基于当前次加载数据与上一次加载数据的比较,识别数据源中变化的数据,包括:
基于数据指纹对当前次加载数据与上一次加载数据进行比较,比较得到,
新增数据
Figure BDA0002521189220000021
更新数据Cm={d|d∈Cn∩d∈Co∩dn≠do},
未变化数据Cu={d|d∈Cn∩d∈Co∩dn=do},
删除数据Cd={d|d∈(Cn-Ca-Cm-Cu)},
其中,Cn为当前次加载数据,Co为上一次加载数据,dn为Cn中的任意一条记录为dn,do为Co中的任意一条记录。
可选地,所述基于识别结果对加载数据进行处理,具体为:
将新增数据Ca添加到上一次加载数据Co中,将更新数据Cm覆盖到上一次加载数据Co中唯一标识相同的数据,将删除数据Cd从上一次加载数据Co中删除。
可选地,所述基于识别结果对加载数据进行处理,具体为:,
将新增数据Ca中每条数据追加可用标识、新版本号、变化类型为add合并到上一次加载数据Co中;
将更新数据Cm中每条数据追加可用标识、新版本号、变化类型为modify合并到上一次加载数据Co中,将上一次加载数据Co与更新数据Cm中唯一标识相同的数据的是否可用标识更改为不可用;
将删除数据Cd中每条数据追加不可用标识、新版本号、变化类型为delete添加到上一次加载数据Co中。
可选地,所述数据指纹基于ELFHash算法得出。
可选地,所述数据源包括关系型数据库、NoSql数据库、数据文件、数据接口中的一种或多种。
第二方面,
本申请提供一种数据增量采集装置,该装置包括:
加载模块,用于从数据源中加载数据;
识别模块,用于基于当前次加载数据与上一次加载数据的比较,识别数据源中变化的数据;
处理模块:用于基于识别结果对加载数据进行处理。
第三方面,
本申请提供一种存储介质,其上存储有可执行程序,所述可执行程序被处理器执行时实现上述所述方法的步骤。
第四方面,
本申请提供一种电子设备,包括:
存储器,其上存储有可执行程序;
处理器,用于执行所述存储器中的所述可执行程序,以实现上述所述方法的步骤。
本申请采用以上技术方案,至少具备以下有益效果:
本申请的基于世系的增量数据采集方法具有通用性,不限于数据源的类型,仅对源端进行读操作,对源端性能影响极低。能识别出源端删除的数据,对源表无约束。
本发明的其他优点、目标,和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书,权利要求书,以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请的技术方案或现有技术的进一步理解,并且构成说明书的一部分。其中,表达本申请实施例的附图与本申请的实施例一起用于解释本申请的技术方案,但并不构成对本申请技术方案的限制。
图1为本申请一个实施例提供的基于世系的数据增量采集方法的流程示意图;
图2为本申请一个实施例提供的基于世系的数据增量采集方法的流程示意说明图;
图3为本申请一个实施例提供的数据增量采集装置的结构示意图;
图4为本申请一个实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
针对现有数据增量采集技术中存在的问题,本申请提出了一种在源表无需存在数据变化标识、源数据库系统无需部署CDC组件的情况下同时兼容多种数据库管理系统、多种数据库设计风格进行的基于数据世系的数据增量采集的方法。
在一实施例中,如图1所示,本申请提出的基于世系的数据增量采集方法,包括如下步骤:
步骤S110,从数据源中加载数据;这里的数据源包括关系型数据库、NoSql数据库、数据文件、数据接口中的一种或多种。
举例而言,步骤110中,针对数据源创建表级别的数据采集任务,通过执行该数据采集任务来实现加载数据。
之后进行步骤S120,基于当前次加载数据与上一次加载数据的比较,识别数据源中变化的数据;
具体的,步骤120中,基于数据指纹对当前次加载数据与上一次加载数据进行比较,比较得到,
新增数据
Figure BDA0002521189220000041
更新数据Cm={d|d∈Cn∩d∈Co∩dn≠do},
未变化数据Cu={d|d∈Cn∩d∈Co∩dn=do},
删除数据Cd={d|d∈(Cn-Ca-Cm-Cu)},
其中,Cn为当前次加载数据,Co为上一次加载数据,dn为Cn中的任意一条记录为dn,do为Co中的任意一条记录。
该实施例上述比较过程中,数据指纹基于ELFHash算法得出。具体的,比较过程为,从数据源上获取全量的数据并计算出每条记录的ELFHash值作为数据指纹,把当前批次的数据的主键值(_realkey)作为过滤条件,从上一批次获取的数据副本中查询,并返回查询结果。把本次数据的指纹和查询返回结果中的数据指纹做为比较条件,识别出新增、未变化、更新的数据。
此外,还需说明的是,在涉及的数据源具有增量标识的情况时,步骤S120中新增数据,可不经过比较,直接从数据源加载确定的新增数据。
最后进行步骤S130,基于识别结果对加载数据进行处理;
该实施例的步骤S130中,将新增数据Ca添加到上一次加载数据Co中,将更新数据Cm覆盖到上一次加载数据Co中唯一标识相同的数据,将删除数据Cd从上一次加载数据Co中删除,而对未变化数据Cu不作处理。
而为实现数据版本的保留,在步骤S130中,还可基于识别结果对加载数据做如下进行处理,
将新增数据Ca中每条数据追加可用标识、新版本号、变化类型为add合并到上一次加载数据Co中;
将更新数据Cm中每条数据追加可用标识、新版本号、变化类型为modify合并到上一次加载数据Co中,将上一次加载数据Co与更新数据Cm中唯一标识相同的数据的是否可用标识更改为不可用;
将删除数据Cd中每条数据追加不可用标识、新版本号、变化类型为delete添加到上一次加载数据Co中。
本申请采取上述技术方案,该基于世系的数据增量采集方法具有通用性,不限于数据源的类型,可支持关系型数据库、NoSql数据库、数据文件或数据接口等数据源。能识别出没有变化(增量)标识情况下的数据变化情况,包括数据的新增、修改、删除。本方法无需对数据源进行修改,实施的代价小、成本低。
如图2所示为本申请一个实施例提供的数据增量采集方法的流程示意说明图。该实施例的应用场景为数据仓库建立,从多个数据源中采集数据,来建立一目标库。如图2所示为该实施例核心环节的示意说明。
在该实施例的应用场景中,在首次加载数据时,会基于加载的全量数据进行目标库入库操作;而在其中输出变化数据环节实际为,对目标库中保存的数据(对应与上一次加载数据)进行覆盖或形成数据版本并保留等操作。
图3为本申请一个实施例提供的数据增量采集装置的结构示意图,如图3所示,该数据增量采集装置300包括:
加载模块301,用于从数据源中加载数据;
识别模块302,用于基于当前次加载数据与上一次加载数据的比较,识别数据源中变化的数据;
处理模块303,用于基于识别结果对加载数据进行处理。
关于上述相关实施例中的数据增量采集装置300,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
在一个实施例中,本申请还提供了一种可读存储介质,其上存储有可执行程序,可执行程序被处理器执行时实现上述方法的步骤。
关于上述实施例中的可读存储介质,其存储的执行程序执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图4为本申请一个实施例提供的电子设备的结构示意图,如图4所示,该电子设备400包括:
存储器401,其上存储有可执行程序;
处理器402,用于执行存储器401中的可执行程序,以实现上述方法的步骤。
关于上述实施例中的电子设备400,其处理器402执行存储器401中的程序的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人员在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种基于世系的数据增量采集方法,其特征在于,包括:
从数据源中加载数据;
基于当前次加载数据与上一次加载数据的比较,识别数据源中变化的数据;
基于识别结果对加载数据进行处理。
2.根据权利要求1所述的数据增量采集方法,其特征在于,所述从数据源中加载数据,具体为:
针对所述数据源创建表级别的数据采集任务,基于执行所述数据采集任务来实现加载数据。
3.根据权利要求2所述的数据增量采集方法,其特征在于,基于当前次加载数据与上一次加载数据的比较,识别数据源中变化的数据,包括:
基于数据指纹对当前次加载数据与上一次加载数据进行比较,比较得到,
新增数据
Figure FDA0002521189210000011
更新数据Cm={d|d∈Cn∩d∈Co∩dn≠do},
未变化数据Cu={d|d∈Cn∩d∈Co∩dn=do},
删除数据Cd={d|d∈(Cn-Ca-Cm-Cu)},
其中,Cn为当前次加载数据,Co为上一次加载数据,dn为Cn中的任意一条记录为dn,do为Co中的任意一条记录。
4.根据权利要求3所述的数据增量采集方法,其特征在于,所述基于识别结果对加载数据进行处理,具体为:
将新增数据Ca添加到上一次加载数据Co中,将更新数据Cm覆盖到上一次加载数据Co中唯一标识相同的数据,将删除数据Cd从上一次加载数据Co中删除。
5.根据权利要求3所述的数据增量采集方法,其特征在于,所述基于识别结果对加载数据进行处理,具体为:,
将新增数据Ca中每条数据追加可用标识、新版本号、变化类型为add合并到上一次加载数据Co中;
将更新数据Cm中每条数据追加可用标识、新版本号、变化类型为modify合并到上一次加载数据Co中,将上一次加载数据Co与更新数据Cm中唯一标识相同的数据的是否可用标识更改为不可用;
将删除数据Cd中每条数据追加不可用标识、新版本号、变化类型为delete添加到上一次加载数据Co中。
6.根据权利要求3所述的数据增量采集方法,其特征在于,所述数据指纹基于ELFHash算法得出。
7.根据权利要求1至6中任一项所述的数据增量采集方法,其特征在于,所述数据源包括关系型数据库、NoSql数据库、数据文件、数据接口中的一种或多种。
8.一种数据增量采集装置,其特征在于,包括:
加载模块,用于从数据源中加载数据;
识别模块,用于基于当前次加载数据与上一次加载数据的比较,识别数据源中变化的数据;
处理模块:用于基于识别结果对加载数据进行处理。
9.一种存储介质,其上存储有可执行程序,其特征在于,所述可执行程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有可执行程序;
处理器,用于执行所述存储器中的所述可执行程序,以实现权利要求1-7中任一项所述方法的步骤。
CN202010491252.4A 2020-06-02 2020-06-02 基于世系的数据增量采集方法、装置、存储介质和电子设备 Active CN111694853B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010491252.4A CN111694853B (zh) 2020-06-02 2020-06-02 基于世系的数据增量采集方法、装置、存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010491252.4A CN111694853B (zh) 2020-06-02 2020-06-02 基于世系的数据增量采集方法、装置、存储介质和电子设备

Publications (2)

Publication Number Publication Date
CN111694853A true CN111694853A (zh) 2020-09-22
CN111694853B CN111694853B (zh) 2023-12-08

Family

ID=72479254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010491252.4A Active CN111694853B (zh) 2020-06-02 2020-06-02 基于世系的数据增量采集方法、装置、存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN111694853B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905614A (zh) * 2021-02-19 2021-06-04 中国邮政储蓄银行股份有限公司 数据更新方法及装置、电子设备、计算机可读存储介质
CN115880730A (zh) * 2023-03-08 2023-03-31 杭州八爪鱼微电子有限公司 一种指纹采集方法、系统、指纹采集设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090276449A1 (en) * 2008-04-30 2009-11-05 Business Objects, S.A. Apparatus and method to transform an extract transform and load (etl) task into a delta load task
CN101719143A (zh) * 2009-12-01 2010-06-02 北京中科创元科技有限公司 并行处理比对式增量数据抽取方法
CN110457358A (zh) * 2019-07-30 2019-11-15 新华三大数据技术有限公司 一种信息采集方法、装置、服务器及计算机可读存储介质
CN110609860A (zh) * 2018-05-29 2019-12-24 中国移动通信集团重庆有限公司 数据etl处理方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090276449A1 (en) * 2008-04-30 2009-11-05 Business Objects, S.A. Apparatus and method to transform an extract transform and load (etl) task into a delta load task
CN101719143A (zh) * 2009-12-01 2010-06-02 北京中科创元科技有限公司 并行处理比对式增量数据抽取方法
CN110609860A (zh) * 2018-05-29 2019-12-24 中国移动通信集团重庆有限公司 数据etl处理方法、装置、设备及存储介质
CN110457358A (zh) * 2019-07-30 2019-11-15 新华三大数据技术有限公司 一种信息采集方法、装置、服务器及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
戴浩;杨波;: "ETL中的数据增量抽取机制研究" *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112905614A (zh) * 2021-02-19 2021-06-04 中国邮政储蓄银行股份有限公司 数据更新方法及装置、电子设备、计算机可读存储介质
CN112905614B (zh) * 2021-02-19 2024-04-12 中国邮政储蓄银行股份有限公司 数据更新方法及装置、电子设备、计算机可读存储介质
CN115880730A (zh) * 2023-03-08 2023-03-31 杭州八爪鱼微电子有限公司 一种指纹采集方法、系统、指纹采集设备及可读存储介质
CN115880730B (zh) * 2023-03-08 2023-08-04 杭州八爪鱼微电子有限公司 一种指纹采集方法、系统、指纹采集设备及可读存储介质

Also Published As

Publication number Publication date
CN111694853B (zh) 2023-12-08

Similar Documents

Publication Publication Date Title
CN101127034B (zh) 数据组织、查询、呈现、存档、恢复、删除、提炼方法及装置和系统
CN102129478B (zh) 数据库同步方法及系统
US9110967B2 (en) Data lineage in data warehousing environments
US8078570B2 (en) Versioning data warehouses
CA2420214C (en) Data processing method and apparatus
US8918400B2 (en) Data set index record preservation
CN110879813A (zh) 一种基于二进制日志解析的MySQL数据库增量同步实现方法
US20070005619A1 (en) Method and system for detecting tables to be modified
US10776345B2 (en) Efficiently updating a secondary index associated with a log-structured merge-tree database
CN109408589B (zh) 数据同步方法及装置
US20140046928A1 (en) Query plans with parameter markers in place of object identifiers
CN113901279B (zh) 一种图数据库的检索方法和装置
CN111694853B (zh) 基于世系的数据增量采集方法、装置、存储介质和电子设备
US8909681B2 (en) Gap detection in a temporally unique index in a relational database
US8027955B2 (en) Database management using a file to accumulate changes
EP3343395B1 (en) Data storage method and apparatus for mobile terminal
US8452730B2 (en) Archiving method and system
CN111753141B (zh) 一种数据管理方法及相关设备
CN115858471A (zh) 业务数据变更记录方法、装置、计算机设备及介质
CN109460385B (zh) 一种电子政务系统留痕的数据存取方法
CA2322603C (en) Optimizing updatable scrollable cursors in database systems
CN115878563B (zh) 一种分布式文件系统目录级快照的实现方法及电子设备
CN115827653B (zh) 一种用于htap和海量数据的纯列式更新方法及装置
CN111444179B (zh) 数据处理方法、装置、存储介质及服务器
KR101329329B1 (ko) 디지털 증거수집 방법, 그리고 상기 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록매체

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