CN111367984B - 高时效的数据加载入数据湖的方法及系统 - Google Patents
高时效的数据加载入数据湖的方法及系统 Download PDFInfo
- Publication number
- CN111367984B CN111367984B CN202010165368.9A CN202010165368A CN111367984B CN 111367984 B CN111367984 B CN 111367984B CN 202010165368 A CN202010165368 A CN 202010165368A CN 111367984 B CN111367984 B CN 111367984B
- Authority
- CN
- China
- Prior art keywords
- data
- partition
- lake
- time
- maximum available
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种高时效的数据加载入数据湖的方法及系统,该方法包括:通过数据库复制工具将数据库源表的数据变更记录同步到Kafka消息队列;高时效入湖服务系统根据数据湖注册的源表登记信息从所述Kafka消息队列加载所述数据变更记录到分布式文件系统(HDFS),按照时间段分割成若干个时间分区并确定最大可用分区;将所述最大可用分区载入到临时增量表中,所述数据湖访问所述高时效入湖服务系统获取最大可用分区信息,进而从所述临时增量表中加载所述最大可用分区到本地的存量表中。本发明提供了一种快速将贴源数据复制加载入数据湖的方法。
Description
技术领域
本发明涉及大数据领域,具体而言,涉及一种高时效的数据加载入数据湖的方法及系统。
背景技术
传统的批量数据交换与加工体系中,采用日终数据加载的方式,将贴源数据导出到指定文件,之后调起批量作业将数据导入数据湖Hive存量表中,这种方式数据时效为T+1天。
随着关键性业务场景中对数据加工处理的时效性越来越高,传统的批量数据交换及加工的体系已难以满足一些重要业务场景中时效性的需求。因此需要进一步加强高时效数据交换与传输体系的建设,以更好满足业务上对数据时效性的要求,建设高时效的贴源数据准实时入湖体系,为数据入湖提供便捷、高效的传输通道。
发明内容
本发明为了解决上述背景技术中的至少一个技术问题,提出了一种高时效的数据加载入数据湖的方法及系统。
为了实现上述目的,根据本发明的一个方面,提供了一种高时效的数据加载入数据湖的方法,该方法包括:
通过数据库复制工具将数据库源表的数据变更记录同步到Kafka消息队列;
高时效入湖服务系统根据数据湖注册的源表登记信息从所述Kafka消息队列加载所述数据变更记录到分布式文件系统(HDFS),按照时间段分割成若干个时间分区并确定最大可用分区;
将所述最大可用分区载入到临时增量表中;
所述数据湖访问所述高时效入湖服务系统获取最大可用分区信息,进而从所述临时增量表中加载所述最大可用分区到本地的存量表中。
可选的,该高时效的数据加载入数据湖的方法还包括:
在所述高时效入湖服务系统服务中断重新启动后,删除当前最大可用分区的下一个时间分区之后的所有时间分区;
将当前最大可用分区的下一个时间分区中除去文件名中的位移值最小的文件外的其他所有文件删除,并清空所述文件名中的位移值最小的文件;
将所述Kafka消息队列的消费位点回退到所述文件名中的位移值最小的文件的位移值,并根据所述文件名中的位移值最小的文件消费所述Kafka消息队列中的数据。
可选的,该高时效的数据加载入数据湖的方法还包括:
若从Kafka消息队列获取的数据变更记录的时间字段属于当前时间分区,则将该数据变更记录写入当前时间分区;
若从Kafka消息队列获取的数据变更记录的时间字段大于当前时间分区的右边界,则将该数据变更记录写入当前时间分区的下一个时间分区;
若从Kafka消息队列获取的数据变更记录的时间字段小于当前时间分区的左边界并且该时间字段所属的时间分区小于或等于最大可用分区,则将该数据变更记录写入预设的错误文件;
若从Kafka消息队列获取的数据变更记录的时间字段小于当前时间分区的左边界并且该时间字段所属的时间分区大于最大可用分区,则将该数据变更记录写入该时间字段所属的时间分区。
可选的,将数据变更记录写入时间分区,具体包括:
获取数据变更记录在Kafka消息队列中的位移值;
根据所述位移值在时间分区中创建一个文件并写入数据变更记录,其中,所述文件的文件名中包含所述位移值。
可选的,该高时效的数据加载入数据湖的方法还包括:
若Kafka消息队列中没有数据变更记录并且所述数据库复制工具的数据复制服务状态为正常,在当前时间大于当前最大可用分区的右边界加上预设的超时参数时,在当前最大可用分区的下一个时间分区中生成一个空文件,以便后续数据变更记录写入,其中,所述空文件的文件名中包含所述Kafka消息队列中的最大位移值加一。
可选的,该高时效的数据加载入数据湖的方法还包括:
若从Kafka消息队列获取的数据变更记录的时间字段大于当前最大可用分区的下一时间分区的右边界加上预设的超时参数时,更新最大可用分区为当前最大可用分区的下一时间分区。
可选的,该高时效的数据加载入数据湖的方法还包括:
若Kafka消息队列中没有数据变更记录并且所述数据库复制工具的数据复制服务状态为正常,在当前时间大于当前最大可用分区的下一时间分区的右边界加上预设的超时参数时,更新最大可用分区为当前最大可用分区的下一时间分区。
可选的,所述高时效入湖服务系统根据数据湖注册的源表登记信息从所述Kafka消息队列加载所述数据变更记录到分布式文件系统,按照时间段分割成若干个时间分区并确定最大可用分区,包括:
高时效入湖服务系统根据数据湖注册的源表登记信息从所述Kafka消息队列获取所述数据变更记录写入HDFS文件,按照时间段分割成多个时间分区并生成时间分区目录。
为了实现上述目的,根据本发明的另一方面,提供了一种高时效的数据加载入数据湖的系统,该系统包括:数据库源表、数据库复制工具、Kafka消息队列、高时效入湖服务系统、临时增量表以及数据湖,其中:
所述数据库复制工具,用于将所述数据库源表的数据变更记录同步到所述Kafka消息队列;
所述高时效入湖服务系统,用于根据所述数据湖注册的源表登记信息从所述Kafka消息队列加载所述数据变更记录到分布式文件系统(HDFS),按照时间段分割成若干个时间分区并确定最大可用分区,以及将所述最大可用分区载入到所述临时增量表中;
所述数据湖,用于访问所述高时效入湖服务系统获取最大可用分区信息,进而从所述临时增量表中加载所述最大可用分区到本地的存量表中。
可选的,所述高时效入湖服务系统,还用于在服务发送中断重新启动后删除当前最大可用分区的下一个时间分区之后的所有时间分区,并将当前最大可用分区的下一个时间分区中除去文件名中的位移值最小的文件外的其他所有文件删除,并清空所述文件名中的位移值最小的文件,以将所述Kafka消息队列的消费位点回退到所述文件名中的位移值最小的文件的位移值。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述高时效的数据加载入数据湖的方法中的步骤。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述高时效的数据加载入数据湖的方法中的步骤。
本发明的有益效果为:本发明提供了一种高时效的数据加载入数据湖的方法,能够快速将贴源数据复制加载入数据湖。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明实施例高时效的数据加载入数据湖的方法的流程图;
图2是本发明实施例高时效入湖服务系统加载数据的第一流程图;
图3是本发明实施例高时效入湖服务系统加载数据的第二流程图;
图4是本发明实施例高时效的数据加载入数据湖的系统的架构图;
图5是本发明实施例数据复制平台数据复制时序图;
图6是本发明实施例高时效入湖务系统数据加载整体流程图;
图7是本发明实施例数据湖数据加载流程图;
图8是本发明实施例计算机设备示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
本发明提出了一种高时效的数据(贴源数据)加载入数据湖的方法及系统。系统借助数据库复制工具、分布式文件系统(HDFS,Hadoop Distributed File System)、Hive等Hadoop生态组件,通过数据库记录最大可用分区,HDFS路径分区名、文件名称记录位移以及当前处理分区等方法与技术,实现了高时效的贴源数据入湖。
图4是本发明实施例高时效的数据加载入数据湖的系统的架构图,如图4所示,本发明实施例高时效的数据加载入数据湖的系统包括:数据库源表、数据库复制工具、Kafka消息队列、高时效入湖服务系统、临时增量表以及数据湖。如图4所示,数据复制平台DRP通过数据库复制工具,将源表的数据变更记录实时同步至DMQS的Kafka消息队列中,大数据服务平台BDSP提供高时效入湖服务服务供数据湖使用,获取一段时间内源表的数据变更记录落加载入增量表中,数据湖通过读取临时增量表数据并根据需求加载入湖。
数据复制平台DRP通过数据库复制工具将源表的数据变更记录同步至Kafka消息队列中,本发明可以支持DML变更语句,包括INSERT、UPDATE、DELTE。
大数据服务平台的高时效入湖服务系统将提供数据准实时加载服务,数据湖可通过配置化的方式启动该服务,服务将准实时的将上游应用源表中一段时间内的数据变更记录写入HDFS文件,按照时间段进行分割,并加载至临时增量表的时间分区中。
数据湖通过定时读取Hive增量表,将增量数据根据自身需求加载到数据湖Hive存量表。
图1是本发明实施例高时效的数据加载入数据湖的方法的流程图,如图1所示,本实施例的高时效的数据加载入数据湖的方法包括步骤S101至步骤S104。
步骤S101,通过数据库复制工具将数据库源表的数据变更记录同步到Kafka消息队列。
在本发明实施例中,数据复制平台DRP通过数据库复制工具将源表的数据变更记录同步至Kafka消息队列中。数据复制时序如图5所示,提供数据同步复制、复制状态查询等功能,具体如下:
数据复制平台DRP负责同步DML语句的数据变更,变更记录中除了源表中的变更数据外,还需包含一些系统级信息,包括该条变更的操作类型(INSERT、UPDATE、DELETE),该条记录被提交至数据库的生效时间。
数据复制平台DRP定时查询复制状态,并提供服务接口供高时效入湖服务系统进行调用,接口可返回数据库复制工具的状态信息(ACTIVE/INACTIVE)与最新检查时间,以供高时效入湖服务系统判断数据复制工作是否正常,前一日的所有数据变更记录是否都已同步完毕,规避因复制延迟(例如复制服务被暂停)导致分区切割不准确的情况发生。
步骤S102,高时效入湖服务系统根据数据湖注册的源表登记信息从所述Kafka消息队列加载所述数据变更记录到分布式文件系统(HDFS),按照时间段分割成若干个时间分区并确定最大可用分区。
在本发明实施例中,数据湖(用户)负责根据大数据服务平台BDSP中的高时效入湖服务系统提供的加载服务接口,向高时效入湖服务系统注册源表登记信息,包括需要加载的源表名、该表的变更频度(TPS)、数据库类型(DB2、MySQL、Oracle)、临时增量表表名、加载频度(15分钟)、字段信息等,并控制高时效入湖服务系统数据加载服务的启动、停止。高时效入湖服务系统根据数据湖注册的源表登记信息,分配相应的加载任务到各个加载实例,根据注册信息进行负载均衡。加载实例根据所分配到的任务,读取表任务的Kafka队列中的相关信息,订阅队列进行数据处理临时增量表进行数据加载,按注册的加载频度进行文件切割并加载数据到临时增量表。
在本发明可选实施例中,在本步骤中,高时效入湖服务系统根据数据湖注册的源表登记信息从所述Kafka消息队列获取所述数据变更记录加载到分布式文件系统(HDFS),分布式文件系统(HDFS)按照时间段将加载的数据变更记录分割成多个时间分区并生成时间分区目录,此外分布式文件系统(HDFS)还确定出最大可用分区,将时间分区目录和最大可用分区信息反馈给高时效入湖服务系统。
在本发明实施例中,分布式文件系统中包括多个时间分区,每个时间分区的左边界为分区的开始时间,右边界为分区结束时间,随着时间前进将会在分布式文件系统中新增时间分区。在本发明可选实施例中,每个时间分区的时间大小均为预设的时间数值。例如,每个时间分区的时间大小为15分钟,当前时间为16:21,那么16:00至16:15为一个时间分区,其下一个时间分区为16:15至16:30,当前时间在16:15至16:30这个时间分区中,因此这个分区为当前时间分区。在本发明可选实施例中,分布式文件系统根据数据变更记录的时间字段将数据变更记录写入到不同的时间分区。
在本发明实施例中,最大可用分区为分布式文件系统中最近一个完成数据(数据变更记录)加载的时间分区目录,例如,当前时间为16:21,在16:15至16:30这一个时间分区中,而该时间分区的上一个时间分区16:00至16:15已经完成了数据加载,即为当前的最大可用分区。随着时间的前进,最大可用分区将会不断更新。
步骤S103,将所述最大可用分区载入到临时增量表中。
在本发明实施例中,高时效入湖服务系统在生成每个最大可用分区时,将整个最大可用分区载入到Hive增量表中,供数据湖使用。
步骤S104,所述数据湖访问所述高时效入湖服务系统获取最大可用分区信息,进而从所述临时增量表中加载所述最大可用分区到本地的存量表中。
在本发明实施例中,数据湖定时轮询向高时效入湖服务系统发起查询请求,获取最大可用分区信息,触发拖数作业,从临时增量表中获取数据导入Hive存量表中。
由此可见,本发明提供了一种高时效的数据加载入数据湖的方法,能够快速将贴源数据复制加载入数据湖。
在本发明实施例中,本发明的高时效入湖服务系统在将数据从Kafka加载到分布式文件系统时还可以实现字段更新兼容与断点续做,具体流程可以如图2所示。如图2所示,本发明在高时效入湖服务系统进行数据加载时实现字段更新兼容与断点续做的流程包括步骤S201至步骤S203。
步骤S201,在所述高时效入湖服务系统服务中断重新启动后,删除当前最大可用分区的下一个时间分区之后的所有时间分区。
步骤S202,将当前最大可用分区的下一个时间分区中除去文件名中的位移(Offset)值最小的文件外的其他所有文件删除,并清空所述文件名中的位移值最小的文件。
例如当前最大可用分区为11,那么需要将第13号时间分区开始(含)的时间分区目录删除。之后将第12号时间分区目录下文件名中的位移值不是最小的那些文件删除,仅保留文件名中的位移值最小的那个文件。
步骤S203,将所述Kafka消息队列的消费位点回退到所述文件名中的位移值最小的文件的位移值,并根据所述文件名中的位移值最小的文件消费所述Kafka消息队列中的数据。
在本发明实施例中,Kafka中的每条数据均有一个位移(Offset)值,Kafka中数据的位移(Offset)值是连续的。本步骤通过文件名中的位移值最小的文件消来获取数据位移(Offset),将Kafka的消费位点回退(Seek)到上述文件名中最小的位移值,然后以Truncate的方式打开这个位移值最小的文件,并开始消费Kafka中的数据。此外还需要将当前分区和最大分区两个变量的值设为当前目录,而最大可用分区变量的值要从数据库读取。
在本发明实施例中,本发明的高时效入湖服务系统在将数据从Kafka加载到分布式文件系统时还可以实现超时范围内的数据乱序兼容。上游数据复制工具在重启、网络异常等情况下会产生数据时间乱序的情况,因此高时效入湖服务系统需要兼容数据乱序避免漏数。获取Kafka队列中的数据,根据时间字段进行判断该条消息是否属于当前分区,若属于当前分区则追加(Append)到当前分区当前打开的文件中。若不属于当前分区,则按下述逻辑进行判断:
若从Kafka消息队列获取的数据变更记录的时间字段属于当前时间分区,则将该数据变更记录写入当前时间分区;
若从Kafka消息队列获取的数据变更记录的时间字段大于当前时间分区的右边界,则将该数据变更记录写入当前时间分区的下一个时间分区;
若从Kafka消息队列获取的数据变更记录的时间字段小于当前时间分区的左边界并且该时间字段所属的时间分区小于或等于最大可用分区,则将该数据变更记录写入预设的错误文件;
若从Kafka消息队列获取的数据变更记录的时间字段小于当前时间分区的左边界并且该时间字段所属的时间分区大于最大可用分区,则将该数据变更记录写入该时间字段所属的时间分区。
如图3所示,在本发明实施例中,上述将数据变更记录写入时间分区中的具体流程包括步骤S301和步骤S302。
步骤S301,获取数据变更记录在Kafka消息队列中的位移值。
步骤S302,根据所述位移值在时间分区中创建一个文件并写入数据变更记录,其中,所述文件的文件名中包含所述位移值。
在本发明实施例中,本发明的高时效入湖服务系统数据加载时空数据处理的流程为:
若高时效入湖服务系统在读取Kafka消息队列的数据时,Kafka消息队列中没有数据变更记录,并且所述数据库复制工具的数据复制服务状态为正常,那么在当前时间大于当前最大可用分区的右边界加上预设的超时参数时,在当前最大可用分区的下一个时间分区中生成一个空文件,以便后续数据变更记录写入,其中,所述空文件的文件名中包含所述Kafka消息队列中的最大位移值加一。
在本发明实施例中,本发明的高时效入湖服务系统确定最大可用分区的策略为:
若从Kafka消息队列获取的数据变更记录的时间字段大于当前最大可用分区的下一时间分区的右边界加上预设的超时参数时,更新最大可用分区为当前最大可用分区的下一时间分区;
若Kafka消息队列中没有数据变更记录并且所述数据库复制工具的数据复制服务状态为正常,在当前时间大于当前最大可用分区的下一时间分区的右边界加上预设的超时参数时,更新最大可用分区为当前最大可用分区的下一时间分区。
图6是本发明实施例高时效入湖务系统数据加载整体流程图,如图6所示,在本发明实施例中,高时效入湖务系统进行数据加载的流程包括步骤S401至步骤S405。
步骤S401,实现高时效入湖服务系统数据加载时字段更新兼容。本步骤通过读取数据库获取到当前表的最大可用分区,然后扫描文件系统,将最大可用分区之后第二个分区开始全部删除,例如当前最大可用分区为11,那么需要将第13号分区开始(含)的分区目录删除。之后将第12号分区目录下文件名中的位移值不是最小的那些文件删除,仅保留文件名中的位移值最小的那个文件。
步骤S402,实现高时效入湖服务系统数据加载时实现断点续做。本步骤通过文件名中的位移值最小的文件来获取数据位移(Offset),将Kafka的消费位点回退(Seek)到上述文件名中的位移值,然后以Truncate的方式打开这个位移值最小的文件,并开始消费Kafka中的数据。此外还需要将当前分区和最大分区两个变量的值设为当前目录,而最大可用分区变量的值要从数据库读取。
步骤S403,实现高时效入湖服务系统数据加载时超时范围内的数据乱序兼容。上游数据复制工具在重启、网络异常等情况下会产生数据时间乱序的情况,因此高时效入湖服务需要兼容数据乱序避免漏数。获取Kafka队列中的数据,根据时间字段进行判断该条消息是否属于当前分区,若属于当前分区则追加(Append)到当前分区当前打开的文件中。若不属于当前分区,则按下述逻辑进行判断:
数据时间大于当前分区右边界,关闭当前分区文件,切换当前分区到下一时间分区。
数据时间小于当前分区左边界,判断数据时间所属的分区是否小于等于最大可用分区。若是,数据所属分区已被使用,则将消息写入ERROR文件,若不是,则将当前处理分区切换到这条消息所属的分区。
切换当前处理分区后,根据这条消息的位移(Offset)在分区下创建一个新文件,并写入这条消息。
若当前分区大于最大分区,则将最大分区设为当前分区。
步骤S404,实现高时效入湖服务系统数据加载时空数据处理。若高时效入湖服务在读取Kafka数据时,队列中无可消费的数据,但数据复制平台提供的数据复制服务状态是正常的,那么若当前时间大于最大分区右边界+5分钟(超时参数)之后,关闭当前分区中打开的文件,并生成下一个分区目录同时在该目录下根据Kafka中消费数据最大Offset+1来生成一个空文件,并保持文件处于打开状态,便于后续新数据写入。
步骤S405,实现最大可用分区更新,策略如下:
接收到消息的时间字段大于当前最大可用分区下一分区右边界+5分钟(超时参数),则将当前最大可用分区下一分区设为最大可用分区,并加载分区到Hive临时增量表中供下游数据湖使用;
若Kafka中没有可消费的数据,数据复制服务可用且当前时间大于当前最大可用下一分区右边界+5分钟(超时参数),则将当前最大可用下一分区设为最大可用分区,并加载分区到Hive临时增量表中供下游数据湖使用。
图7是本发明实施例数据湖数据加载流程图,如图7所示,高时效入湖服务系统提供数据准实时加载服务供数据湖使用。数据湖可通过调用接口的方式,向高时效入湖服务注册源表信息,启动或停止源表的准实时复制任务。通过查询接口,获取最大可用分区,启动加载任务将数据从临时增量表中加载到数据湖正式表。
数据湖(用户)负责根据BDSP高时效入湖服务提供的加载服务接口,向高时效入湖服务注册登记表信息,包括需要加载的源表名、该表的变更频度(TPS)、数据库类型(DB2、MySQL、Oracle)、临时增量表表名、加载频度(15分钟)、字段信息等,并控制该表加载服务的启动、停止。且负责与上游源表方约定表结构信息,创建与管理临时增量表与存量表。
高时效入湖服务系统根据数据湖注册的表信息,分配相应的加载任务到各个加载实例,根据注册信息进行负载均衡。加载实例根据所分配到的任务,读取表任务的Kafka相关信息,订阅队列进行数据处理临时增量表进行数据加载,按注册的加载频度进行文件切割并加载数据到临时增量表。
数据湖定时轮询向高时效入湖发起查询请求,获取最大可用分区,触发拖数作业,从临时增量表中获取数据导入正式表。
在本发明可选实施例中,数据复制工具生成的数据复制记录与临时增量表的结构,在进行表结构变更时可能由于版本投产时间差异,存在结构不一致的情况,对于以上情况,本发明提供可配置参数可由数据湖选择兼容方式:
1、兼容处理:若上游字段多于临时表字段,则直接丢弃该字段;若上游字段小于临时表字段,则赋空值;
2、丢弃处理:若上游结构与临时表结构无法匹配加载报错,则直接丢弃该条记录,放入bad文件中;
3、暂停服务:若上游结构与临时表结构存在差异,则停止服务卡住批量,待临时表与上游结构修改一致后,再启动进行补处理。服务停止后数据将累计在Kafka消息队列中。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
基于同一发明构思,本发明实施例还提供了一种高时效的数据加载入数据湖的系统,可以用于实现上述实施例所描述的高时效的数据加载入数据湖的方法,如下面的实施例所述。由于高时效的数据加载入数据湖的系统解决问题的原理与高时效的数据加载入数据湖的方法相似,因此高时效的数据加载入数据湖的系统的实施例可以参见高时效的数据加载入数据湖的方法的实施例,重复之处不再赘述。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是本发明实施例高时效的数据加载入数据湖的系统的架构图,如图4所示,本发明实施例高时效的数据加载入数据湖的系统包括:数据库源表、数据库复制工具、Kafka消息队列、高时效入湖服务系统、临时增量表以及数据湖,其中:
所述数据库复制工具,用于将所述数据库源表的数据变更记录同步到所述Kafka消息队列;
所述高时效入湖服务系统,用于根据所述数据湖注册的源表登记信息从所述Kafka消息队列加载所述数据变更记录到分布式文件系统,按照时间段分割成若干个时间分区并确定最大可用分区,以及将所述最大可用分区载入到所述临时增量表中;
所述数据湖,用于访问所述高时效入湖服务系统获取最大可用分区信息,进而从所述临时增量表中加载所述最大可用分区到本地的存量表中。
在本发明的可选实施例中,所述高时效入湖服务系统,还用于在服务发送中断重新启动后删除当前最大可用分区的下一个时间分区之后的所有时间分区,并将当前最大可用分区的下一个时间分区中除去文件名中的位移值最小的文件外的其他所有文件删除,并清空所述文件名中的位移值最小的文件,以将所述Kafka消息队列的消费位点回退到所述文件名中的位移值最小的文件的位移值。
在本发明的可选实施例中,所述高时效入湖服务系统,还用于:
若从Kafka消息队列获取的数据变更记录的时间字段属于当前时间分区,将该数据变更记录写入当前时间分区;
若从Kafka消息队列获取的数据变更记录的时间字段大于当前时间分区的右边界,将该数据变更记录写入当前时间分区的下一个时间分区;
若从Kafka消息队列获取的数据变更记录的时间字段小于当前时间分区的左边界并且该时间字段所属的时间分区小于或等于最大可用分区,将该数据变更记录写入预设的错误文件;
若从Kafka消息队列获取的数据变更记录的时间字段小于当前时间分区的左边界并且该时间字段所属的时间分区大于最大可用分区,将该数据变更记录写入该时间字段所属的时间分区。
在本发明的可选实施例中,所述高时效入湖服务系统将数据变更记录写入时间分区,包括:
所述高时效入湖服务系统获取数据变更记录在Kafka消息队列中的位移值,并根据所述位移值在时间分区中创建一个文件并写入数据变更记录,其中,所述文件的文件名中包含所述位移值。
在本发明的可选实施例中,所述高时效入湖服务系统,还用于在Kafka消息队列中没有数据变更记录并且所述数据库复制工具的数据复制服务状态为正常时,在当前时间大于当前最大可用分区的右边界加上预设的超时参数时,在当前最大可用分区的下一个时间分区中生成一个空文件,以便后续数据变更记录写入,其中,所述空文件的文件名中包含所述Kafka消息队列中的最大位移值加一。
在本发明的可选实施例中,所述高时效入湖服务系统,还用于在从Kafka消息队列获取的数据变更记录的时间字段大于当前最大可用分区的下一时间分区的右边界加上预设的超时参数时,更新最大可用分区为当前最大可用分区的下一时间分区。
在本发明的可选实施例中,所述高时效入湖服务系统,还用于在Kafka消息队列中没有数据变更记录并且所述数据库复制工具的数据复制服务状态为正常时,在当前时间大于当前最大可用分区的下一时间分区的右边界加上预设的超时参数时,更新最大可用分区为当前最大可用分区的下一时间分区。
在本发明的可选实施例中,所述高时效入湖服务系统,还用于根据数据湖注册的源表登记信息从所述Kafka消息队列获取所述数据变更记录写入HDFS文件,按照时间段分割成多个时间分区并生成时间分区目录。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机设备。如图8所示,该计算机设备包括存储器、处理器、通信接口以及通信总线,在存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例方法中的步骤。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及单元,如本发明上述方法实施例中对应的程序单元。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及作品数据处理,即实现上述方法实施例中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个单元存储在所述存储器中,当被所述处理器执行时,执行上述实施例中的方法。
上述计算机设备具体细节可以对应参阅上述实施例中对应的相关描述和效果进行理解,此处不再赘述。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述高时效的数据加载入数据湖的方法中的步骤。本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (18)
1.一种高时效的数据加载入数据湖的方法,其特征在于,包括:
通过数据库复制工具将数据库源表的数据变更记录同步到Kafka消息队列;
高时效入湖服务系统根据数据湖注册的源表登记信息从所述Kafka消息队列加载所述数据变更记录到分布式文件系统,按照时间段分割成若干个时间分区并确定最大可用分区;
将所述最大可用分区载入到临时增量表中;
所述数据湖访问所述高时效入湖服务系统获取最大可用分区信息,进而从所述临时增量表中加载所述最大可用分区到本地的存量表中。
2.根据权利要求1所述的高时效的数据加载入数据湖的方法,其特征在于,还包括:
在所述高时效入湖服务系统服务中断重新启动后,删除当前最大可用分区的下一个时间分区之后的所有时间分区;
将当前最大可用分区的下一个时间分区中除去文件名中的位移值最小的文件外的其他所有文件删除,并清空所述文件名中的位移值最小的文件;
将所述Kafka消息队列的消费位点回退到所述文件名中的位移值最小的文件的位移值,并根据所述文件名中的位移值最小的文件消费所述Kafka消息队列中的数据。
3.根据权利要求1所述的高时效的数据加载入数据湖的方法,其特征在于,还包括:
若从Kafka消息队列获取的数据变更记录的时间字段属于当前时间分区,则将该数据变更记录写入当前时间分区;
若从Kafka消息队列获取的数据变更记录的时间字段大于当前时间分区的右边界,则将该数据变更记录写入当前时间分区的下一个时间分区;
若从Kafka消息队列获取的数据变更记录的时间字段小于当前时间分区的左边界并且该时间字段所属的时间分区小于或等于最大可用分区,则将该数据变更记录写入预设的错误文件;
若从Kafka消息队列获取的数据变更记录的时间字段小于当前时间分区的左边界并且该时间字段所属的时间分区大于最大可用分区,则将该数据变更记录写入该时间字段所属的时间分区。
4.根据权利要求3所述的高时效的数据加载入数据湖的方法,其特征在于,将数据变更记录写入时间分区,具体包括:
获取数据变更记录在Kafka消息队列中的位移值;
根据所述位移值在时间分区中创建一个文件并写入数据变更记录,其中,所述文件的文件名中包含所述位移值。
5.根据权利要求1所述的高时效的数据加载入数据湖的方法,其特征在于,还包括:
若Kafka消息队列中没有数据变更记录并且所述数据库复制工具的数据复制服务状态为正常,在当前时间大于当前最大可用分区的右边界加上预设的超时参数时,在当前最大可用分区的下一个时间分区中生成一个空文件,以便后续数据变更记录写入,其中,所述空文件的文件名中包含所述Kafka消息队列中的最大位移值加一。
6.根据权利要求1所述的高时效的数据加载入数据湖的方法,其特征在于,还包括:
若从Kafka消息队列获取的数据变更记录的时间字段大于当前最大可用分区的下一时间分区的右边界加上预设的超时参数时,更新最大可用分区为当前最大可用分区的下一时间分区。
7.根据权利要求1所述的高时效的数据加载入数据湖的方法,其特征在于,还包括:
若Kafka消息队列中没有数据变更记录并且所述数据库复制工具的数据复制服务状态为正常,在当前时间大于当前最大可用分区的下一时间分区的右边界加上预设的超时参数时,更新最大可用分区为当前最大可用分区的下一时间分区。
8.根据权利要求1所述的高时效的数据加载入数据湖的方法,其特征在于,所述高时效入湖服务系统根据数据湖注册的源表登记信息从所述Kafka消息队列加载所述数据变更记录到分布式文件系统,按照时间段分割成若干个时间分区并确定最大可用分区,包括:
高时效入湖服务系统根据数据湖注册的源表登记信息从所述Kafka消息队列获取所述数据变更记录写入HDFS文件,按照时间段分割成多个时间分区并生成时间分区目录。
9.一种高时效的数据加载入数据湖的系统,其特征在于,包括:数据库源表、数据库复制工具、Kafka消息队列、高时效入湖服务系统、临时增量表以及数据湖,其中:
所述数据库复制工具,用于将所述数据库源表的数据变更记录同步到所述Kafka消息队列;
所述高时效入湖服务系统,用于根据所述数据湖注册的源表登记信息从所述Kafka消息队列加载所述数据变更记录到分布式文件系统,按照时间段分割成若干个时间分区并确定最大可用分区,以及将所述最大可用分区载入到所述临时增量表中;
所述数据湖,用于访问所述高时效入湖服务系统获取最大可用分区信息,进而从所述临时增量表中加载所述最大可用分区到本地的存量表中。
10.根据权利要求9所述的高时效的数据加载入数据湖的系统,其特征在于,所述高时效入湖服务系统,还用于在服务发送中断重新启动后删除当前最大可用分区的下一个时间分区之后的所有时间分区,并将当前最大可用分区的下一个时间分区中除去文件名中的位移值最小的文件外的其他所有文件删除,并清空所述文件名中的位移值最小的文件,以将所述Kafka消息队列的消费位点回退到所述文件名中的位移值最小的文件的位移值。
11.根据权利要求9所述的高时效的数据加载入数据湖的系统,其特征在于,所述高时效入湖服务系统,还用于:
若从Kafka消息队列获取的数据变更记录的时间字段属于当前时间分区,将该数据变更记录写入当前时间分区;
若从Kafka消息队列获取的数据变更记录的时间字段大于当前时间分区的右边界,将该数据变更记录写入当前时间分区的下一个时间分区;
若从Kafka消息队列获取的数据变更记录的时间字段小于当前时间分区的左边界并且该时间字段所属的时间分区小于或等于最大可用分区,将该数据变更记录写入预设的错误文件;
若从Kafka消息队列获取的数据变更记录的时间字段小于当前时间分区的左边界并且该时间字段所属的时间分区大于最大可用分区,将该数据变更记录写入该时间字段所属的时间分区。
12.根据权利要求11所述的高时效的数据加载入数据湖的系统,其特征在于,所述高时效入湖服务系统将数据变更记录写入时间分区,包括:
所述高时效入湖服务系统获取数据变更记录在Kafka消息队列中的位移值,并根据所述位移值在时间分区中创建一个文件并写入数据变更记录,其中,所述文件的文件名中包含所述位移值。
13.根据权利要求9所述的高时效的数据加载入数据湖的系统,其特征在于,所述高时效入湖服务系统,还用于在Kafka消息队列中没有数据变更记录并且所述数据库复制工具的数据复制服务状态为正常时,在当前时间大于当前最大可用分区的右边界加上预设的超时参数时,在当前最大可用分区的下一个时间分区中生成一个空文件,以便后续数据变更记录写入,其中,所述空文件的文件名中包含所述Kafka消息队列中的最大位移值加一。
14.根据权利要求9所述的高时效的数据加载入数据湖的系统,其特征在于,所述高时效入湖服务系统,还用于在从Kafka消息队列获取的数据变更记录的时间字段大于当前最大可用分区的下一时间分区的右边界加上预设的超时参数时,更新最大可用分区为当前最大可用分区的下一时间分区。
15.根据权利要求9所述的高时效的数据加载入数据湖的系统,其特征在于,所述高时效入湖服务系统,还用于在Kafka消息队列中没有数据变更记录并且所述数据库复制工具的数据复制服务状态为正常时,在当前时间大于当前最大可用分区的下一时间分区的右边界加上预设的超时参数时,更新最大可用分区为当前最大可用分区的下一时间分区。
16.根据权利要求9所述的高时效的数据加载入数据湖的系统,其特征在于,所述高时效入湖服务系统,还用于根据数据湖注册的源表登记信息从所述Kafka消息队列获取所述数据变更记录写入HDFS文件,按照时间段分割成多个时间分区并生成时间分区目录。
17.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述的方法。
18.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序在计算机处理器中执行时实现如权利要求1至8任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010165368.9A CN111367984B (zh) | 2020-03-11 | 2020-03-11 | 高时效的数据加载入数据湖的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010165368.9A CN111367984B (zh) | 2020-03-11 | 2020-03-11 | 高时效的数据加载入数据湖的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367984A CN111367984A (zh) | 2020-07-03 |
CN111367984B true CN111367984B (zh) | 2023-03-21 |
Family
ID=71208692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010165368.9A Active CN111367984B (zh) | 2020-03-11 | 2020-03-11 | 高时效的数据加载入数据湖的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367984B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112051968B (zh) * | 2020-08-07 | 2021-10-22 | 东北大学 | 基于Kafka的分布式数据流分级缓存自动迁移方法 |
CN112417018B (zh) * | 2020-11-23 | 2023-09-22 | 中国工商银行股份有限公司 | 一种数据共享方法及装置 |
CN112418929B (zh) * | 2020-11-23 | 2023-09-19 | 中国工商银行股份有限公司 | 一种数据共享方法及装置 |
CN112597218A (zh) * | 2020-12-04 | 2021-04-02 | 光大科技有限公司 | 一种数据处理方法、装置以及数据湖架构 |
CN112527801A (zh) * | 2020-12-21 | 2021-03-19 | 中国人民银行清算总中心 | 关系型数据库与大数据系统间的数据同步方法及系统 |
CN113347249B (zh) * | 2021-05-31 | 2022-11-29 | 中国工商银行股份有限公司 | 一种作业加载方法、装置及设备 |
CN113963763B (zh) * | 2021-10-20 | 2022-11-11 | 上海柯林布瑞信息技术有限公司 | 医疗数据存储的分区变更方法以及装置 |
CN113791742B (zh) * | 2021-11-18 | 2022-03-25 | 南湖实验室 | 一种高性能的数据湖系统及数据存储方法 |
CN114116842B (zh) * | 2021-11-25 | 2023-05-19 | 上海柯林布瑞信息技术有限公司 | 多维医疗数据实时获取方法、装置、电子设备及存储介质 |
CN117076508B (zh) * | 2023-10-18 | 2023-12-29 | 江苏数兑科技有限公司 | 一种流数据处理系统支持批数据处理的方法 |
CN118093729B (zh) * | 2024-04-28 | 2024-07-23 | 浙江锦智人工智能科技有限公司 | 一种物联网数据湖的流批一体方法、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106777265A (zh) * | 2016-12-28 | 2017-05-31 | 新奥科技发展有限公司 | 一种业务数据的处理方法及装置 |
CN109271382A (zh) * | 2018-08-17 | 2019-01-25 | 广东技术师范学院 | 一种面向全数据形态开放共享的数据湖系统 |
CN109656963A (zh) * | 2018-12-18 | 2019-04-19 | 深圳前海微众银行股份有限公司 | 元数据获取方法、装置、设备及计算机可读存储介质 |
CN109997125A (zh) * | 2016-09-15 | 2019-07-09 | 英国天然气控股有限公司 | 用于将数据导入数据储存库的系统 |
CN110651265A (zh) * | 2017-03-28 | 2020-01-03 | 英国天然气控股有限公司 | 数据复制系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11475012B2 (en) * | 2016-09-26 | 2022-10-18 | Singlestore, Inc. | Real-time data retrieval |
WO2019104338A1 (en) * | 2017-11-27 | 2019-05-31 | Snowflake Computing Inc | Batch data ingestion in database systems |
US10810224B2 (en) * | 2018-06-27 | 2020-10-20 | International Business Machines Corporation | Computerized methods and programs for ingesting data from a relational database into a data lake |
-
2020
- 2020-03-11 CN CN202010165368.9A patent/CN111367984B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109997125A (zh) * | 2016-09-15 | 2019-07-09 | 英国天然气控股有限公司 | 用于将数据导入数据储存库的系统 |
CN106777265A (zh) * | 2016-12-28 | 2017-05-31 | 新奥科技发展有限公司 | 一种业务数据的处理方法及装置 |
CN110651265A (zh) * | 2017-03-28 | 2020-01-03 | 英国天然气控股有限公司 | 数据复制系统 |
CN109271382A (zh) * | 2018-08-17 | 2019-01-25 | 广东技术师范学院 | 一种面向全数据形态开放共享的数据湖系统 |
CN109656963A (zh) * | 2018-12-18 | 2019-04-19 | 深圳前海微众银行股份有限公司 | 元数据获取方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111367984A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111367984B (zh) | 高时效的数据加载入数据湖的方法及系统 | |
CN109739929B (zh) | 数据同步方法、装置及系统 | |
CN109493076B (zh) | 一种Kafka消息唯一消费方法、系统、服务器及存储介质 | |
US10621049B1 (en) | Consistent backups based on local node clock | |
CN105426439B (zh) | 一种元数据的处理方法和装置 | |
CN108509462B (zh) | 一种同步活动事务表的方法及装置 | |
CN111522636B (zh) | 应用容器的调整方法、调整系统、计算机可读介质及终端设备 | |
CN109271435B (zh) | 一种支持断点续传的数据抽取方法及系统 | |
CN113111129B (zh) | 数据同步方法、装置、设备及存储介质 | |
CN104615606B (zh) | 一种Hadoop分布式文件系统及其管理方法 | |
CN115599747B (zh) | 一种分布式存储系统的元数据同步方法、系统及设备 | |
US9836516B2 (en) | Parallel scanners for log based replication | |
CN111177254B (zh) | 一种异构关系型数据库之间数据同步的方法和装置 | |
WO2019057193A1 (zh) | 数据删除方法及分布式存储系统 | |
WO2018006721A1 (zh) | 日志文件的存储方法及装置 | |
CN109726024A (zh) | 一种消息延时投递方法、装置及设备 | |
CN111708787A (zh) | 多中心业务数据管理系统 | |
CN109684270A (zh) | 数据库归档方法、装置、系统、设备及可读存储介质 | |
CN115146002A (zh) | 跨数据中心的数据同步方法及装置 | |
CN113377500B (zh) | 一种资源调度方法、装置、设备及介质 | |
CN112559445B (zh) | 数据写入方法及装置 | |
CN113064860B (zh) | 一种动态数据缓存系统和方法 | |
CN111694816B (zh) | 用于优化数据库表的处理方法和装置 | |
CN110287004B (zh) | 基于docker容器技术的基础环境镜像预热方法及装置 | |
CN114461414A (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 |