CN117453730B - 一种数据查询方法、装置、设备和存储介质 - Google Patents

一种数据查询方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN117453730B
CN117453730B CN202311772017.4A CN202311772017A CN117453730B CN 117453730 B CN117453730 B CN 117453730B CN 202311772017 A CN202311772017 A CN 202311772017A CN 117453730 B CN117453730 B CN 117453730B
Authority
CN
China
Prior art keywords
data
file group
incremental
data file
group
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
Application number
CN202311772017.4A
Other languages
English (en)
Other versions
CN117453730A (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.)
Shenzhen Haizhichuang Technology Co ltd
Original Assignee
Shenzhen Haizhichuang Technology 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 Shenzhen Haizhichuang Technology Co ltd filed Critical Shenzhen Haizhichuang Technology Co ltd
Priority to CN202311772017.4A priority Critical patent/CN117453730B/zh
Publication of CN117453730A publication Critical patent/CN117453730A/zh
Application granted granted Critical
Publication of CN117453730B publication Critical patent/CN117453730B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • 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/2282Tablespace storage structures; Management thereof
    • 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/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2322Optimistic concurrency control using timestamps
    • 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/2365Ensuring data consistency and integrity
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

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

Abstract

本申请涉及一种数据查询方法、装置、设备和存储介质。方法包括:根据数据库表的属性信息,分批次同步数据库表中的多条历史数据,形成基础数据文件组;从数据库的最大日志ID开始,针对数据库进行增量日志订阅,获得数据库的增量数据并且记录每条增量数据的日志时间戳和数据操作类型,形成增量数据文件组;在元数据中存储数据库表对应的存储结构信息,基础数据文件组的组信息和增量数据文件组的组信息;根据元数据查询数据并且对查询到的数据进行结构映射。本申请实施例既要保留历史数据,也要订阅增量数据,可以恢复出数据库表在任意时间点的完整数据状态,这样用户可基于任意时间点回溯至当时数据状态,得到该时间点的完整数据。

Description

一种数据查询方法、装置、设备和存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据查询方法、装置、设备和存储介质。
背景技术
在数据安全领域中,为了应对数据的审计和稽查,在数据生成过程中,需要对数据进行记录,而且在使用数据的过程中,一般会涉及对数据的修改操作,还需要对数据的修改进行记录。
目前,针对数据记录而言,常用的方式是应用系统定时对数据进行快照。但是,该数据记录方式不能记录完整的数据状态,这是因为应用系统定时对数据进行快照,只能反映快照时间点的数据状态,相邻两个快照时间点之间的数据状态无从得知,导致无法精确回溯至特定时间点的数据状态。
因此,在现有技术中,即便对数据进行了记录,在对数据进行审计和稽核时,也常常会出现在不同时间点查询同一历史时间范围内的汇总数据不一致的情况。为找出不一致的原因,需要查阅大量系统日志进行对比和分析,工作耗时长、定位难,且难以有准确的结论。
在数据安全领域中,查询的数据无法准确回溯,将导致数据审计和稽核的结果不准确。
发明内容
本申请提供了一种数据查询方法、装置、设备和存储介质,以解决现有的数据记录方式不能记录完整数据状态的问题。
针对上述技术问题,本申请技术方案是通过如下实施例来解决的:
本申请提供了一种数据查询方法,包括:获取当前数据库表的属性信息,并记录数据库的最大日志ID;根据所述数据库表的属性信息,分批次同步所述数据库表中的多条历史数据,形成基础数据文件组;从所述数据库的最大日志ID开始,针对所述数据库进行增量日志订阅,获得所述数据库的增量数据并且记录每条增量数据的日志时间戳和数据操作类型,形成增量数据文件组;在元数据中存储所述数据库表对应的存储结构信息,所述基础数据文件组的组信息和所述增量数据文件组的组信息;根据所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,在所述基础数据文件组和所述增量数据文件组中查询数据,并且,根据所述元数据中存储的所述存储结构信息,对查询到的数据进行结构映射。
其中,所述数据库表的属性信息,包括:所述数据库表的主键最大值和主键最小值;所述分批次同步所述数据库表中的多条历史数据,包括:根据所述数据库表的主键最大值和主键最小值,划分出多个互不重叠的数据区间;其中,在所述数据库表中,将主键值处于同一数据区间的历史数据划分为一个批次;从所述主键最小值所在的数据区间开始,执行如下步骤:按照主键值升序的方式,逐条同步所述数据库表中属于当前数据区间内的历史数据并且记录每条历史数据的同步时间戳;在当前数据区间内的所有历史数据同步完毕之后,确定当前数据区间的主键最大值,并根据当前数据区间的主键最大值,开始同步所述数据库表中属于下一个数据区间内的历史数据并记录每条历史数据的同步时间戳。
其中,在所述分批次同步所述数据库表中的多条历史数据的过程中,还包括:在当前数据区间内的一条历史数据同步失败之后,从当前数据区间内已同步历史数据的主键最大值开始,或者,从当前数据区间内的第一条历史数据开始,继续同步当前数据区间内的历史数据;在当前数据区间内的所有历史数据同步完毕之后,检测当前数据区间内已同步历史数据的主键值;如果当前数据区间内已同步历史数据之间存在重复的主键值,则针对主键值重复的历史数据,仅保留同步时间戳最大的一条历史数据。
其中,所述增量数据文件组的数量为多个;所述获得所述数据库的增量数据并且记录每条增量数据的日志时间戳和数据操作类型,形成增量数据文件组,包括:每隔预设的增量时间段,根据当前增量时间段内获得的所述数据库的增量数据以及记录的每条增量数据的日志时间戳和数据操作类型,形成当前增量时间段对应的增量数据文件组。
其中,所述基础数据文件组,包括:多个基础数据文件;所述基础数据文件组的组信息,包括:多个所述基础数据文件对应的存储位置和时间范围;每个所述基础数据文件包括:按照时间从先到后的顺序,获得的多条历史数据以及多条所述历史数据对应的存储结构信息; 所述增量数据文件组,包括:多个增量数据文件;所述增量数据文件组的组信息,包括:多个所述增量数据文件对应的存储位置和时间范围;每个所述增量数据文件包括:按照时间从先到后的顺序,获得的多条增量数据,每条所述增量数据对应的日志时间戳和数据操作类型以及多条所述增量数据对应的存储结构信息;其中,当获得的增量数据的存储结构发生变化时,切换到下一个增量数据文件组进行存储;所述数据库表对应的存储结构信息,包括:多个所述历史数据文件对应的存储结构以及多个所述增量数据文件对应的最新存储结构。
其中,所述根据所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,在所述基础数据文件组和所述增量数据文件组中查询数据,包括:接收查询条件;其中,所述查询条件包括目标主键在目标时间范围内被操作过的数据,或者,目标日志时间戳对应的数据;在所述查询条件包括目标主键在目标时间范围内被操作过的数据时,通过所述元数据存储的所述增量数据文件组的组信息,查询与所述目标时间范围相匹配的增量数据文件组,在匹配出的增量数据文件组中的增量数据文件内,查询所述目标主键在目标时间范围内的数据;在所述查询条件包括目标日志时间戳对应的数据时,通过所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,对所述基础数据文件组和所述增量数据文件组进行全量扫描,用以查询所述目标日志时间戳对应的数据;检测查询到的数据的主键值;针对主键值相同的数据,仅保留日志时间戳最大的数据。
其中,在所述形成增量数据文件组之后,还包括:每隔预设的合并时间段,查询一次所述基础数据文件组对应的最大日志时间戳;从所述最大日志时间戳开始,获取增量数据文件组,并将获取的所述增量数据文件组合并到所述基础数据文件组中,形成新的基础数据文件组;根据更新的基础数据文件组和增量数据文件组,更新所述元数据。
本申请实施例还提供了一种数据查询装置,包括:获取模块,用于获取当前数据库表的属性信息,并记录数据库的最大日志ID;同步模块,用于根据所述数据库表的属性信息,分批次同步所述数据库表中的多条历史数据,形成基础数据文件组;订阅模块,用于从所述数据库的最大日志ID开始,针对所述数据库进行增量日志订阅,获得所述数据库的增量数据并且记录每条增量数据的日志时间戳和数据操作类型,形成增量数据文件组;存储模块,用于在元数据中存储所述数据库表对应的存储结构信息,所述基础数据文件组的组信息和所述增量数据文件组的组信息;查询模块,用于根据所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,在所述基础数据文件组和所述增量数据文件组中查询数据,并且,根据所述元数据中存储的所述存储结构信息,对查询到的数据进行结构映射。
本申请实施例还提供了一种数据查询设备,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器,其中, 所述处理器被配置为:执行所述存储器中存储的数据查询程序,以实现上述任一项所述的数据查询方法。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被执行,以实现上述任一项所述的数据查询方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的方法可以获取当前数据库表的属性信息,并记录数据库的最大日志ID;根据所述数据库表的属性信息,分批次同步所述数据库表中的多条历史数据,形成基础数据文件组;从所述数据库的最大日志ID开始,针对所述数据库进行增量日志订阅,获得所述数据库的增量数据并且记录每条增量数据的日志时间戳和数据操作类型,形成增量数据文件组;在元数据中存储所述数据库表对应的存储结构信息,所述基础数据文件组的组信息和所述增量数据文件组的组信息;根据所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,在所述基础数据文件组和所述增量数据文件组中查询数据,并且,根据所述元数据中存储的所述存储结构信息,对查询到的数据进行结构映射。本申请实施例既要保留历史数据,也要订阅增量数据,可以恢复出数据库表在任意时间点的完整数据状态,这样用户可基于任意时间点回溯至当时数据状态,得到该时间点的完整数据。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为根据本申请一实施例的数据查询方法的流程图;
图2为根据本申请一实施例的数据接入阶段的示意图;
图3为根据本申请一实施例的数据文件存储示意图;
图4为根据本申请一实施例的数据查询装置的结构图;
图5为根据本申请一实施例的数据查询设备的结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
下文的公开提供了许多不同的实施例或例子用来实现本申请的不同结构。为了简化本申请的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本申请。此外,本申请可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
本申请实施例提供了一种数据查询方法。本申请的数据查询方法包括:数据接入阶段、数据存储阶段和数据查询阶段。其中,在数据接入阶段,同步数据库表中的历史数据并订阅数据库的增量数据;在数据存储阶段存储历史数据和增量数据;在数据查询阶段基于存储的历史数据和增量数据查询所需的数据。
如图1所示,为根据本申请一实施例的数据查询方法的流程图。
步骤S110,获取当前数据库表的属性信息,并记录数据库的最大日志ID。
数据库表的属性信息用于反映数据库表的相关信息。
数据库表的属性信息,包括但不限于:该数据库表的主键最大值和主键最小值。
数据库的最大日志ID即为数据库日志的最大的日志ID(标识)。由于数据库日志在不停记录,本实施例在获取数据库表的属性信息时,记录最大日志ID,可以避免丢失部分更新数据。
步骤S120,根据所述数据库表的属性信息,分批次同步所述数据库表中的多条历史数据,形成基础数据文件组。
基础数据文件组,包括:多个基础数据文件。每个基础数据文件用于存储数据库表中预设数量的历史数据。进一步地,每个基础数据文件包括:按照时间从先到后的顺序,获得的多条历史数据以及多条所述历史数据对应的存储结构信息。多条历史数据对应的存储结构信息用于反映数据库表的表结构。
分批次同步是指将该数据库表中的所有历史数据(全量历史数据)划分为多个部分,每个部分作为一个批次。可以根据主键值的大小,将数据库表中的所有历史数据划分为多个部分。进一步地,可以在获取所述数据库的属性信息之后,根据所述主键最大值和所述主键最小值,划分出多个互不重叠的数据区间,分批次同步该数据库表中的历史数据。例如:将主键值划分为[0,10],[11,20],[21,30],[31,40]。
步骤S130,从所述数据库的最大日志ID开始,针对所述数据库进行增量日志订阅,获得所述数据库表的增量数据并且记录每条增量数据的日志时间戳和数据操作类型,形成增量数据文件组。
增量数据文件组,包括:多个增量数据文件。每个增量数据文件用于存储预设数量的增量数据。进一步地,每个增量数据文件包括:按照时间从先到后的顺序,获得的多条增量数据,每条所述增量数据对应的日志时间戳和数据操作类型以及多条所述增量数据对应的存储结构信息。日志时间戳为历史数据产生的时刻。数据操作类型包括但不限于:增操作、删操作和改操作。多条增量数据对应的存储结构信息用于反映增量日志订阅阶段数据库表的表结构。其中,当获得的增量数据的存储结构发生变化时,切换到下一个增量数据文件组进行存储。也即是说,至少一个增量数据文件组对应一个表结构(存储结构信息)。
在所述数据库表中,如果同一主键发生多次数据操作,则所述主键在所述增量数据文件组中对应日志时间戳不同的多条增量数据。
在本实施例中,可以使用FLINKCDC工具,从数据库日志记录的最大日志ID(表示)处开始进行增量日志订阅。在进行增量日志订阅时,只需确保最少一次(at least once)消费即可,不需做到精确一次消费(exactly once)。
具体而言,数据库日志用于按照时间顺序记录整个数据库中数据的增、删、改及表结构的变更信息。在存在完整数据库日志的前提下,通过对数据库日志进行检索、回放,可以还原数据库表在任意时间点的数据状态。然而,数据库日志具有保留策略,即:只会保留最近一段时间内的日志,如果只是根据数据库日志对数据进行订阅,会导致数据不完整,所以在本实施例中,数据接入阶段包括表数据初始化和增量日志订阅。首先进行表数据初始化,分批次同步所述数据库表中的多条历史数据,形成基础数据文件组,保留数据库表中的原本的数据,然后从数据库日志的最大日志ID开始进行增量日志订阅,获得数据库表更新的数据,从而确保了数据的完整。
步骤S140,在元数据中存储所述数据库表对应的存储结构信息,所述基础数据文件组的组信息和所述增量数据文件组的组信息。
元数据的主键为数据库表的表名称。
所述基础数据文件组的组信息,包括:多个所述基础数据文件对应的存储位置和时间范围。多个所述基础数据文件对应的时间范围为:所述增量数据文件组的最小日志时间戳之前的时间。
所述增量数据文件组的组信息,包括:多个所述增量数据文件对应的存储位置和时间范围。多个所述增量数据文件对应的时间范围为:增量数据的最小日志时间戳和最大日志时间戳的时间范围。
所述数据库表对应的存储结构信息,包括:多个所述历史数据文件对应的存储结构以及多个所述增量数据文件对应的最新存储结构。
步骤S150,根据所述元数据中存储所述基础数据文件组的组信息和所述增量数据文件组的组信息,在所述基础数据文件组和所述增量数据文件组中查询数据,并且,根据所述元数据中存储的所述存储结构信息,对查询到的数据进行结构映射。
接收查询条件;其中,所述查询条件包括目标主键在目标时间范围内被操作过的数据,或者,目标日志时间戳对应的数据。
在所述查询条件包括目标主键在目标时间范围内被操作过的数据时,通过所述元数据存储的所述增量数据文件组的组信息,查询与所述目标时间范围相匹配的增量数据文件组,在匹配出的增量数据文件组中的增量数据文件内,查询所述目标主键在目标时间范围内的数据。
在所述查询条件包括目标日志时间戳对应的数据时,通过所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,对所述基础数据文件组和所述增量数据文件组进行全量扫描,用以查询所述目标日志时间戳对应的数据。
检测查询到的数据的主键值;针对主键值相同的数据,仅保留日志时间戳最大的数据。
在对查询到的数据进行过滤之后,可以根据元数据中存储的存储结构信息,将数据映射为增量数据对应的最新存储结构。
在本申请实施例中,获取当前数据库表的属性信息;根据所述数据库表的属性信息,分批次同步所述数据库表中的多条历史数据,形成基础数据文件组;从所述数据库的最大日志ID开始,针对所述数据库进行增量日志订阅,获得所述数据库的增量数据并且记录每条增量数据的日志时间戳和数据操作类型,形成增量数据文件组;在元数据中存储所述数据库表对应的存储结构信息,所述基础数据文件组的组信息和所述增量数据文件组的组信息;根据所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,在所述基础数据文件组和所述增量数据文件组中查询数据,并且,根据所述元数据中存储的所述存储结构信息,对查询到的数据进行结构映射。
本申请实施例既要保留历史数据,也要订阅增量数据,可以恢复出数据库表在任意时间点的完整数据状态,这样用户可基于任意时间点回溯至当时数据状态,得到该时间点的完整数据,且能根据数据主键获取到某行数据所有变更情况的列表,不存在记录有遗漏的问题,即便出现查询结果不一致的问题,也能够对查询结果不一致情况进行完整的根因分析。
在本申请实施例中,采用增量日志订阅的方式获得增量数据,这样就避免了系统被侵入。因为在记录数据修改的日志时,需要在每个数据修改处进行记录,对系统的侵入较大,并且由于数据修改量巨大,容易出现遗漏的问题,而且记录的日志为非结构化或半结构化数据,理解和分析都较为困难。
下面针对本申请数据接入阶段的步骤进行进一步地描述。数据接入阶段和数据存储阶段并行执行。如图2所示,为根据本申请一实施例的数据接入阶段的示意图。
从T1时刻开始执行表数据初始化:根据数据库表的主键最大值和主键最小值,划分出多个互不重叠的数据区间;其中,在所述数据库表中,将主键值处于同一数据区间的历史数据划分为一个批次;从所述主键最小值所在的数据区间开始,执行如下步骤:
步骤S11,按照主键值升序的方式,逐条同步所述数据库表中属于当前数据区间内的历史数据并且记录每条历史数据的同步时间戳。
步骤S12,在当前数据区间内的所有历史数据同步完毕之后,确定当前数据区间的主键最大值,并根据当前数据区间的主键最大值,跳转到步骤S11,开始同步所述数据库表中属于下一个数据区间内的历史数据并记录每条历史数据的同步时间戳,直到数据库表中的所有历史数据同步都完成为止。
当前数据区间的主键最大值和下一数据区间的主键最小值相邻。
在所述分批次同步所述数据库表中的多条历史数据的过程中,可以在当前数据区间内的一条历史数据同步失败之后,从当前数据区间内已同步历史数据的主键最大值开始,继续同步当前数据区间内的其余历史数据;在当前数据区间内的所有历史数据同步完毕之后,检测当前数据区间内已同步历史数据的主键值;如果当前数据区间内已同步历史数据之间存在重复的主键值,则针对主键值重复的历史数据,仅保留同步时间戳最大的一条历史数据。
具体而言,表数据初始化过程可能持续较长时间,期间可能由于网络、磁盘、内存等原因,导致表数据初始化失败,所以表数据初始化操作需要具备断点续传能力的。本实施例的具体做法如下:
步骤S21,在表数据初始化之前,获取数据库表当前的记录数及主键最大值P(max)和主键最小值P(min)。
步骤S22,将记录数平均划分为多批次,从主键最小值P(min)的记录开始,按升序方式同步一批次记录(数据),每行记录携带同步时间戳T(batch)并且在当前批次同步完成时,记录当前批次的主键最大值P(batch_max),进入下一批次,循环执行该步骤,直至主键值达到主键最大值P(max)。
基础数据文件组包含多个基础数据文件。同步的历史数据对主键进行HASH后,存放在对应基础数据文件中,单个基础数据文件中的记录按时间顺序存放。基础数据文件的头部保存每行记录的结构信息(字段名称、类型、顺序),基础数据文件中存储的所有历史数据按该结构进行存储。
步骤S23,如果某一批次同步了部分数据后失败的情况,任务重新启动,并且从步骤S22记录的主键最大值P(batch_max)开始断点续传,或者,从步骤S22记录的已同步数据中的主键最大值开始断点续传。
步骤S24,如果存在某一批次同步了部分数据后失败的场景,由于该批次尚未同步完成,系统中所记录的P(batch_max)为上一批次的主键最大值,下次任务重新启动后,会导致部分数据重复。所以,在步骤22完成之后,还需要一个对数据进行检测合并。该动作检查主键是否有重复记录,如果存在重复记录,则在该主键所对应记录中,取同步时间戳T(batch)最大的一行。
在同步历史数据之后,从T2时刻开始增量日志订阅,增量日志订阅获得的数据保存在增量数据文件组中,每条数据都带上日志时间戳以及日志所对应的动作(新增、修改、删除)。增量数据文件组有多个,代表了不同时间段内的数据增量,每个增量数据文件组所跨时间段之间不存在重叠。同一个主键发生多次变更,在增量数据文件组中存在多行记录,每行记录分别代表了该主键在对应时间戳变更后的新状态。
如图3所示,为根据本申请一实施例的数据文件存储示意图。每个增量数据文件组包含多个增量数据文件,并且每个增量数据文件组对应一个时间范围。获得的增量数据对主键进行HASH(哈希运算)后,存放在对应增量数据文件中,单个增量数据文件中的记录按时间顺序存放。增量数据文件的头部保存每行记录的结构信息(字段名称、类型、顺序),增量数据文件中存储的所有数据按该结构进行存储。当表结构发生变更时,进行增量数据文件组的切换,新的增量数据文件组中的数据,按新的结构信息进行存储。
在本实施例中,每隔预设的增量时间段,根据当前增量时间段内获得的所述数据库的增量数据以及记录的每条增量数据的日志时间戳和数据操作类型,形成当前增量时间段对应的增量数据文件组。
在本实施例中,每隔预设的合并时间段,查询一次所述基础数据文件组对应的最大日志时间戳;从所述最大日志时间戳开始,获取增量数据文件组,并将获取的所述增量数据文件组合并到所述基础数据文件组中,形成新的基础数据文件组;根据更新的基础数据文件组和增量数据文件组,更新所述元数据。在首次合并时,可以将增量数据文件组对应的最小日志时间戳作为基础数据文件组对应的最大日志时间戳。在合并之后,记录合并的增量数据文件组的最大日志时间戳,作为新的基础数据文件组的最大日志时间戳。进一步地,每隔一段时间可以进行一次查询优化,可以通过定时合并日志,创建新的基础数据文件组,默认可以按天对基础数据文件组与截止至当天的新增日志(增量数据文件)进行合并,并将新增的基础数据文件组信息更新至元数据中。
在本申请实施例中,将数据库表中的历史数据同步存储到基础数据文件组中,将数据库表的增量数据存储到增量数据文件组中。在得到基础数据文件组和增量数据文件组之后,元数据以数据库表名为KEY值,保存数据库表对应的结构信息和数据文件组的组信息。
进一步地,在表数据初始化接入时,记录当时时间戳及表结构作为表结构初始化版本;在增量日志订阅过程中,如果发现对数据库表进行DDL(Data Definition Language,数据定义语音)操作,记录对应日志时间戳,并记录DDL作用在表结构后的新结构,作为表结构的更新版本。
进一步地,数据文件组的组信息包括:基础数据文件组的组信息、增量数据文件组的组信息。其中,组信息包括数据文件的存储位置,数据文件对应时间范围。
在数据查询阶段,可以基于元数据实现数据查询操作。在本实施例中,至少支持两类查询方式。第一类是:基于某个主键查询该主键上对应时间段内的变更记录;第二类是:基于某个时间戳,查询表对应时间戳的数据。
第一类:查询条件包括:目标主键在目标时间范围内被操作过的数据。首先根据目标时间范围及数据库表的元数据,获取目标时间范围上界所对应存储结构信息并且查询与该目标时间范围匹配的增量数据文件组(可能存在多个),再通过对目标主键HASH,在匹配到的增量数据文件组中查询与该目标主键匹配的增量数据文件。顺序扫描增量数据文件,查询第一条符合该目标主键的目标时间范围的数据,并持续向下扫描该目标主键,直至超出该目标时间范围或到达文件尾,将扫描出的结果从自身存储结构映射转换到最新的存储结构。持续执行该步骤,直至所有匹配到的增量数据文件组都扫描完成。
第二类:查询条件包括目标日志时间戳对应的数据。由于基础数据文件组为增量数据文件组最小日志时间戳之前的数据,增量数据文件组自带日志时间戳,所以根据日志时间戳及数据库表的元数据,可以定位到日志时间戳所对应表结构及所在的基础数据文件组和增量数据文件组,从基础数据文件组开始,按顺序全量扫描基础数据文件组和增量数据文件组,查询数据,直至数据的日志时间戳大于目标日志时间戳时停止。此时,查询出的数据可能存在主键值重复的情况,还需对该部分数据进行合并,同一键值取时间戳最大的记录。
本申请实施例还提供了一种数据查询装置。如图4所示,为根据本申请一实施例的数据查询装置的结构图。
该数据查询装置,包括:获取模块410,同步模块420,订阅模块430,存储模块440和查询模块450。
获取模块410,用于获取当前数据库表的属性信息,并记录数据库的最大日志ID。
同步模块420,用于根据所述数据库表的属性信息,分批次同步所述数据库表中的多条历史数据,形成基础数据文件组。
订阅模块430,用于从所述数据库的最大日志ID开始,针对所述数据库进行增量日志订阅,获得所述数据库的增量数据并且记录每条增量数据的日志时间戳和数据操作类型,形成增量数据文件组。
存储模块440,用于在元数据中存储所述数据库表对应的存储结构信息,所述基础数据文件组的组信息和所述增量数据文件组的组信息。
查询模块450,用于根据所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,在所述基础数据文件组和所述增量数据文件组中查询数据,并且,根据所述元数据中存储的所述存储结构信息,对查询到的数据进行结构映射。
本申请实施例所述的装置的功能已经在上述方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
本申请实施例还提供了一种数据查询设备,如图5所示,为根据本申请一实施例的数据查询设备的结构图。
该数据查询设备包括:处理器510、通信接口520、存储器530和通信总线540。其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。
存储器530,用于存放计算机程序。
在本申请一个实施例中,处理器510,用于执行存储器530上所存放的程序时,实现前述任意一个方法实施例提供的数据查询方法,包括:获取当前数据库表的属性信息,并记录数据库的最大日志ID;根据所述数据库表的属性信息,分批次同步所述数据库表中的多条历史数据,形成基础数据文件组;从所述数据库的最大日志ID开始,针对所述数据库进行增量日志订阅,获得所述数据库的增量数据并且记录每条增量数据的日志时间戳和数据操作类型,形成增量数据文件组;在元数据中存储所述数据库表对应的存储结构信息,所述基础数据文件组的组信息和所述增量数据文件组的组信息;根据所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,在所述基础数据文件组和所述增量数据文件组中查询数据,并且,根据所述元数据中存储的所述存储结构信息,对查询到的数据进行结构映射。
其中,所述数据库表的属性信息,包括:所述数据库表的主键最大值和主键最小值;所述分批次同步所述数据库表中的多条历史数据,包括:根据所述数据库表的主键最大值和主键最小值,划分出多个互不重叠的数据区间;其中,在所述数据库表中,将主键值处于同一数据区间的历史数据划分为一个批次;从所述主键最小值所在的数据区间开始,执行如下步骤:按照主键值升序的方式,逐条同步所述数据库表中属于当前数据区间内的历史数据并且记录每条历史数据的同步时间戳;在当前数据区间内的所有历史数据同步完毕之后,确定当前数据区间的主键最大值,并根据当前数据区间的主键最大值,开始同步所述数据库表中属于下一个数据区间内的历史数据并记录每条历史数据的同步时间戳。
其中,在所述分批次同步所述数据库表中的多条历史数据的过程中,还包括:在当前数据区间内的一条历史数据同步失败之后,从当前数据区间内已同步历史数据的主键最大值开始,或者,从当前数据区间内的第一条历史数据开始,继续同步当前数据区间内的历史数据;在当前数据区间内的所有历史数据同步完毕之后,检测当前数据区间内已同步历史数据的主键值;如果当前数据区间内已同步历史数据之间存在重复的主键值,则针对主键值重复的历史数据,仅保留同步时间戳最大的一条历史数据。
其中,所述增量数据文件组的数量为多个;所述获得所述数据库的增量数据并且记录每条增量数据的日志时间戳和数据操作类型,形成增量数据文件组,包括:每隔预设的增量时间段,根据当前增量时间段内获得的所述数据库的增量数据以及记录的每条增量数据的日志时间戳和数据操作类型,形成当前增量时间段对应的增量数据文件组。
其中,所述基础数据文件组,包括:多个基础数据文件;所述基础数据文件组的组信息,包括:多个所述基础数据文件对应的存储位置和时间范围;每个所述基础数据文件包括:按照时间从先到后的顺序,获得的多条历史数据以及多条所述历史数据对应的存储结构信息; 所述增量数据文件组,包括:多个增量数据文件;所述增量数据文件组的组信息,包括:多个所述增量数据文件对应的存储位置和时间范围;每个所述增量数据文件包括:按照时间从先到后的顺序,获得的多条增量数据,每条所述增量数据对应的日志时间戳和数据操作类型以及多条所述增量数据对应的存储结构信息;其中,当获得的增量数据的存储结构发生变化时,切换到下一个增量数据文件组进行存储;所述数据库表对应的存储结构信息,包括:多个所述历史数据文件对应的存储结构以及多个所述增量数据文件对应的最新存储结构。
其中,所述根据所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,在所述基础数据文件组和所述增量数据文件组中查询数据,包括:接收查询条件;其中,所述查询条件包括目标主键在目标时间范围内被操作过的数据,或者,目标日志时间戳对应的数据;在所述查询条件包括目标主键在目标时间范围内被操作过的数据时,通过所述元数据存储的所述增量数据文件组的组信息,查询与所述目标时间范围相匹配的增量数据文件组,在匹配出的增量数据文件组中的增量数据文件内,查询所述目标主键在目标时间范围内的数据;在所述查询条件包括目标日志时间戳对应的数据时,通过所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,对所述基础数据文件组和所述增量数据文件组进行全量扫描,用以查询所述目标日志时间戳对应的数据;检测查询到的数据的主键值;针对主键值相同的数据,仅保留日志时间戳最大的数据。
其中,在所述形成增量数据文件组之后,还包括:每隔预设的合并时间段,查询一次所述基础数据文件组对应的最大日志时间戳;从所述最大日志时间戳开始,获取增量数据文件组,并将获取的所述增量数据文件组合并到所述基础数据文件组中,形成新的基础数据文件组;根据更新的基础数据文件组和增量数据文件组,更新所述元数据。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的数据查询方法的步骤。由于上面已经对数据查询方法进行了详细描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种数据查询方法,其特征在于,包括:
获取当前数据库表的属性信息,并记录数据库的最大日志ID;
根据所述数据库表的属性信息,分批次同步所述数据库表中的多条历史数据,形成基础数据文件组;其中,所述基础数据文件组,包括:多个基础数据文件;所述基础数据文件组的组信息,包括:多个所述基础数据文件对应的存储位置和时间范围;每个所述基础数据文件包括:按照时间从先到后的顺序,获得的多条历史数据以及多条所述历史数据对应的存储结构信息;多条所述历史数据对应的存储结构信息用于反映数据库表的表结构;
从所述数据库的最大日志ID开始,针对所述数据库进行增量日志订阅,获得所述数据库的增量数据并且记录每条增量数据的日志时间戳和数据操作类型,形成增量数据文件组;其中,所述增量数据文件组,包括:多个增量数据文件;所述增量数据文件组的组信息,包括:多个所述增量数据文件对应的存储位置和时间范围;每个所述增量数据文件包括:按照时间从先到后的顺序,获得的多条增量数据,每条所述增量数据对应的日志时间戳和数据操作类型以及多条所述增量数据对应的存储结构信息;其中,当获得的增量数据的存储结构发生变化时,切换到下一个增量数据文件组进行存储;多条所述增量数据对应的存储结构信息用于反映增量日志订阅阶段数据库表的表结构;
在元数据中存储所述数据库表对应的存储结构信息,所述基础数据文件组的组信息和所述增量数据文件组的组信息;其中,所述数据库表对应的存储结构信息,包括:多个所述基础数据文件对应的存储结构以及多个所述增量数据文件对应的最新存储结构;
根据所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,在所述基础数据文件组和所述增量数据文件组中查询数据,并且,根据所述元数据中存储的所述存储结构信息,对查询到的数据进行结构映射;其中,所述根据所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,在所述基础数据文件组和所述增量数据文件组中查询数据,包括:
接收查询条件;其中,所述查询条件包括目标主键在目标时间范围内被操作过的数据,或者,目标日志时间戳对应的数据;
在所述查询条件包括目标主键在目标时间范围内被操作过的数据时,通过所述元数据存储的所述增量数据文件组的组信息,查询与所述目标时间范围相匹配的增量数据文件组,在匹配出的增量数据文件组中的增量数据文件内,查询所述目标主键在目标时间范围内的数据;
在所述查询条件包括目标日志时间戳对应的数据时,通过所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,对所述基础数据文件组和所述增量数据文件组进行全量扫描,用以查询所述目标日志时间戳对应的数据;
检测查询到的数据的主键值;
针对主键值相同的数据,仅保留日志时间戳最大的数据。
2.根据权利要求1所述的方法,其特征在于,
所述数据库表的属性信息,包括:所述数据库表的主键最大值和主键最小值;
所述分批次同步所述数据库表中的多条历史数据,包括:
根据所述数据库表的主键最大值和主键最小值,划分出多个互不重叠的数据区间;其中,在所述数据库表中,将主键值处于同一数据区间的历史数据划分为一个批次;
从所述主键最小值所在的数据区间开始,执行如下步骤:
按照主键值升序的方式,逐条同步所述数据库表中属于当前数据区间内的历史数据并且记录每条历史数据的同步时间戳;
在当前数据区间内的所有历史数据同步完毕之后,确定当前数据区间的主键最大值,并根据当前数据区间的主键最大值,开始同步所述数据库表中属于下一个数据区间内的历史数据并记录每条历史数据的同步时间戳。
3.根据权利要求2所述的方法,其特征在于,在所述分批次同步所述数据库表中的多条历史数据的过程中,还包括:
在当前数据区间内的一条历史数据同步失败之后,从当前数据区间内已同步历史数据的主键最大值开始,或者,从当前数据区间内的第一条历史数据开始,继续同步当前数据区间内的历史数据;
在当前数据区间内的所有历史数据同步完毕之后,检测当前数据区间内已同步历史数据的主键值;
如果当前数据区间内已同步历史数据之间存在重复的主键值,则针对主键值重复的历史数据,仅保留同步时间戳最大的一条历史数据。
4.根据权利要求1所述的方法,其特征在于,
所述增量数据文件组的数量为多个;
所述获得所述数据库的增量数据并且记录每条增量数据的日志时间戳和数据操作类型,形成增量数据文件组,包括:
每隔预设的增量时间段,根据当前增量时间段内获得的所述数据库的增量数据以及记录的每条增量数据的日志时间戳和数据操作类型,形成当前增量时间段对应的增量数据文件组。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在所述形成增量数据文件组之后,还包括:
每隔预设的合并时间段,查询一次所述基础数据文件组对应的最大日志时间戳;
从所述最大日志时间戳开始,获取增量数据文件组,并将获取的所述增量数据文件组合并到所述基础数据文件组中,形成新的基础数据文件组;
根据更新的基础数据文件组和增量数据文件组,更新所述元数据。
6.一种数据查询装置,其特征在于,包括:
获取模块,用于获取当前数据库表的属性信息,并记录数据库的最大日志ID;
同步模块,用于根据所述数据库表的属性信息,分批次同步所述数据库表中的多条历史数据,形成基础数据文件组;其中,所述基础数据文件组,包括:多个基础数据文件;所述基础数据文件组的组信息,包括:多个所述基础数据文件对应的存储位置和时间范围;每个所述基础数据文件包括:按照时间从先到后的顺序,获得的多条历史数据以及多条所述历史数据对应的存储结构信息;多条历史数据对应的存储结构信息用于反映数据库表的表结构;
订阅模块,用于从所述数据库的最大日志ID开始,针对所述数据库进行增量日志订阅,获得所述数据库的增量数据并且记录每条增量数据的日志时间戳和数据操作类型,形成增量数据文件组;其中,所述增量数据文件组,包括:多个增量数据文件;所述增量数据文件组的组信息,包括:多个所述增量数据文件对应的存储位置和时间范围;每个所述增量数据文件包括:按照时间从先到后的顺序,获得的多条增量数据,每条所述增量数据对应的日志时间戳和数据操作类型以及多条所述增量数据对应的存储结构信息;其中,当获得的增量数据的存储结构发生变化时,切换到下一个增量数据文件组进行存储;多条增量数据对应的存储结构信息用于反映增量日志订阅阶段数据库表的表结构;
存储模块,用于在元数据中存储所述数据库表对应的存储结构信息,所述基础数据文件组的组信息和所述增量数据文件组的组信息;其中,所述数据库表对应的存储结构信息,包括:多个所述基础数据文件对应的存储结构以及多个所述增量数据文件对应的最新存储结构;
查询模块,用于根据所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,在所述基础数据文件组和所述增量数据文件组中查询数据,并且,根据所述元数据中存储的所述存储结构信息,对查询到的数据进行结构映射;其中,所述根据所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,在所述基础数据文件组和所述增量数据文件组中查询数据,包括:
接收查询条件;其中,所述查询条件包括目标主键在目标时间范围内被操作过的数据,或者,目标日志时间戳对应的数据;
在所述查询条件包括目标主键在目标时间范围内被操作过的数据时,通过所述元数据存储的所述增量数据文件组的组信息,查询与所述目标时间范围相匹配的增量数据文件组,在匹配出的增量数据文件组中的增量数据文件内,查询所述目标主键在目标时间范围内的数据;
在所述查询条件包括目标日志时间戳对应的数据时,通过所述元数据中存储的所述基础数据文件组的组信息和所述增量数据文件组的组信息,对所述基础数据文件组和所述增量数据文件组进行全量扫描,用以查询所述目标日志时间戳对应的数据;
检测查询到的数据的主键值;
针对主键值相同的数据,仅保留日志时间戳最大的数据。
7.一种数据查询设备,其特征在于,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器,其中, 所述处理器被配置为:执行所述存储器中存储的数据查询程序,以实现权利要求1-5中任一项所述的数据查询方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被执行,以实现权利要求1-5中任一项所述的数据查询方法。
CN202311772017.4A 2023-12-21 2023-12-21 一种数据查询方法、装置、设备和存储介质 Active CN117453730B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311772017.4A CN117453730B (zh) 2023-12-21 2023-12-21 一种数据查询方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311772017.4A CN117453730B (zh) 2023-12-21 2023-12-21 一种数据查询方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN117453730A CN117453730A (zh) 2024-01-26
CN117453730B true CN117453730B (zh) 2024-03-08

Family

ID=89591285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311772017.4A Active CN117453730B (zh) 2023-12-21 2023-12-21 一种数据查询方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN117453730B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385760A (zh) * 2022-01-14 2022-04-22 平安壹钱包电子商务有限公司 增量数据实时同步的方法、装置、计算机设备及存储介质
WO2022126974A1 (zh) * 2020-12-16 2022-06-23 平安科技(深圳)有限公司 基于Kafka的增量数据同步方法、装置、设备及介质
CN115455020A (zh) * 2022-09-15 2022-12-09 中国平安财产保险股份有限公司 一种增量数据同步方法、装置、计算机设备及存储介质
CN117235028A (zh) * 2023-09-15 2023-12-15 中国建设银行股份有限公司 一种基于日志文件的数据查询方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11442823B2 (en) * 2016-06-03 2022-09-13 International Business Machines Corporation Transaction consistency query support for replicated data from recovery log to external data stores
WO2020112993A1 (en) * 2018-11-28 2020-06-04 Jpmorgan Chase Bank, N.A. Systems and methods for data usage monitoring in multi-tenancy enabled hadoop clusters

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022126974A1 (zh) * 2020-12-16 2022-06-23 平安科技(深圳)有限公司 基于Kafka的增量数据同步方法、装置、设备及介质
CN114385760A (zh) * 2022-01-14 2022-04-22 平安壹钱包电子商务有限公司 增量数据实时同步的方法、装置、计算机设备及存储介质
CN115455020A (zh) * 2022-09-15 2022-12-09 中国平安财产保险股份有限公司 一种增量数据同步方法、装置、计算机设备及存储介质
CN117235028A (zh) * 2023-09-15 2023-12-15 中国建设银行股份有限公司 一种基于日志文件的数据查询方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘杰 ; 王桂玲 ; 左小将 ; .基于可变时间窗口的增量数据抽取模型.计算机科学.2018,(第11期),全文. *

Also Published As

Publication number Publication date
CN117453730A (zh) 2024-01-26

Similar Documents

Publication Publication Date Title
CN104951474B (zh) 一种用于获取MySQL binlog增量日志的方法和装置
CN105005618A (zh) 一种异构数据库之间的数据同步方法及系统
CN113114749B (zh) 一种哈希链构建及文件数据同步方法、装置及系统
CN111008246B (zh) 数据库日志同步方法、装置、计算机设备及可读存储介质
JP2020057416A (ja) 分散データベースにおけるデータブロックを処理する方法およびデバイス
CN110647531A (zh) 数据同步方法、装置、设备及计算机可读存储介质
CN106294769B (zh) 同步工程数据的方法、系统和装置
CN112506964A (zh) 数据查询方法、系统及计算机可读存储介质
CN111767346A (zh) 一种数据库的数据同步方法、装置、设备及存储介质
CN115292307A (zh) 数据同步系统、方法及相应计算机设备和存储介质
CN117453730B (zh) 一种数据查询方法、装置、设备和存储介质
CN115033578A (zh) 一种业务数据更新的方法、相关装置及存储介质
CN110866068B (zh) 一种基于hdfs的公告数据存储方法及其装置
CN112966025A (zh) 一种binlog日志挖掘字典实现方法
CN111949725A (zh) 数据的查询方法、装置、电子设备及计算机可读存储介质
CN111858767A (zh) 同步数据的处理方法、装置、设备及存储介质
CN111767282A (zh) 基于MongoDB的存储系统及数据插入方法和存储介质
CN115391457B (zh) 跨数据库的数据同步方法、装置及存储介质
CN115658815A (zh) 基于cdc实现的数据同步的方法
CN111966650B (zh) 一种运维大数据共享数据表的处理方法、装置及存储介质
CN113190281B (zh) 一种基于rowid区间的初始化装载方法与装置
CN113032408B (zh) 数据处理方法、系统及设备
CN111090648B (zh) 一种关系型数据库数据同步冲突解决方法
CN115878721A (zh) 一种数据同步方法、装置、终端和计算机可读存储介质
CN116028572A (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