CN112115200B - 数据同步方法、装置、电子设备及可读存储介质 - Google Patents

数据同步方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN112115200B
CN112115200B CN202010975400.XA CN202010975400A CN112115200B CN 112115200 B CN112115200 B CN 112115200B CN 202010975400 A CN202010975400 A CN 202010975400A CN 112115200 B CN112115200 B CN 112115200B
Authority
CN
China
Prior art keywords
partition
data
incremental data
source
identifier
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
CN202010975400.XA
Other languages
English (en)
Other versions
CN112115200A (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 QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202010975400.XA priority Critical patent/CN112115200B/zh
Publication of CN112115200A publication Critical patent/CN112115200A/zh
Application granted granted Critical
Publication of CN112115200B publication Critical patent/CN112115200B/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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

本发明实施例提供了一种数据同步方法、装置、电子设备及可读存储介质,方法包括:在同步任务启动的情况下,获取增量数据同步请求,并向中转服务器发送所述增量数据同步请求,响应于增量数据同步请求,检测是否收到中转服务器发送的第一同步完成标识,以根据第一同步完成标识确定增量数据已同步到HDFS文件,在增量数据已同步到HDFS文件的情况下,在列式数据库中创建与源表对应的临时表,并将HDFS文件中的增量数据同步到临时表中与源分区对应的分区中,在增量数据已同步到分区的情况下,将正式表标识对应的正式表中每个目标分区的数据,同步到临时表中与目标分区对应的分区中,提高了数据同步效率,降低了人力成本。

Description

数据同步方法、装置、电子设备及可读存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及数据同步方法、装置、电子设备及可读存储介质。
背景技术
随着信息技术的飞速发展,网络的普及化程度越来越高,应用短视频平台的用户越来越多,用户通过短视频平台上传自己的作品,并可以查看自己的作品的推荐量、播放量、播放时长等数据。
然而,如果某个用户的作品的数量比较大,例如几千甚至上万个作品,则用户查询自己的作品的推荐量、播放量、播放时长等数据时,会造成查询速度非常慢的问题。为了解决该问题,需要将数据仓库的数据表中的数据(例如Hive数据)同步到列式数据库的数据表(例如Clickhouse数据库)。目前,通常采用全量数据同步方案同步数据仓库中的数据表中的数据,全量数据同步为:手动创建分布式文件系统(HDFS,Hadoop Distributed FileSystem)文件,将数据仓库中的数据表的全量数据同步到HDFS文件,在Clickhouse数据库手动创建数据表,将HDFS文件中的数据同步该数据表;在Clickhouse数据库手动创建一个目标表,再将该数据表中的数据同步到目标表。
因此,目前的数据同步方案的过程比较繁琐,数据同步效率较低,并且人力成本较高。
发明内容
本发明实施例的目的在于提供一种数据同步方法、装置、电子设备及可读存储介质,以实现简化数据同步过程,提高数据同步效率、以及降低人力成本。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种数据同步方法,应用于包括中转服务器和数据库服务器的系统;包括:
所述数据库服务器在同步任务启动的情况下,获取增量数据同步请求,并向所述中转服务器发送所述增量数据同步请求,其中,所述增量数据同步请求中包括数据仓库中的源表标识、与所述源表标识对应的源表的源分区标识、以及列式数据库中的与所述源表标识对应的正式表标识;
所述中转服务器响应于所述增量数据同步请求,创建分布式文件系统HDFS文件,并从数据仓库服务器获取所述源分区标识对应的源分区中的增量数据,并将增量数据同步到所述HDFS文件,;
所述数据库服务器响应于所述增量数据同步请求,检测是否收到所述中转服务器发送的第一同步完成标识,以根据所述第一同步完成标识确定所述增量数据已同步到所述HDFS文件;
在所述增量数据已同步到所述HDFS文件的情况下,所述数据库服务器在所述列式数据库中创建与所述源表对应的临时表,并将所述HDFS文件中的所述增量数据同步到所述临时表中与所述源分区对应的分区中;
在所述增量数据已同步到所述分区的情况下,所述数据库服务器将所述正式表标识对应的正式表中每个目标分区的数据,同步到所述临时表中与所述目标分区对应的分区中。
在本发明实施的第二方面,提供了一种数据同步方法,执行于数据库服务器,包括:
在同步任务启动的情况下,获取增量数据同步请求,并向中转服务器发送所述增量数据同步请求,其中,所述增量数据同步请求中包括数据仓库中的源表标识、与所述源表标识对应的源表的源分区标识、以及列式数据库中的与所述源表标识对应的正式表标识;
响应于所述增量数据同步请求,检测是否收到所述中转服务器发送的第一同步完成标识,以根据所述第一同步完成标识确定所述增量数据已同步到所述HDFS文件;
在所述增量数据已同步到所述HDFS文件的情况下,在所述列式数据库中创建与所述源表对应的临时表,并将所述HDFS文件中的所述增量数据同步到所述临时表中与所述源分区对应的分区中;
在所述增量数据已同步到所述分区的情况下,将所述正式表标识对应的正式表中每个目标分区的数据,同步到所述临时表中与所述目标分区对应的分区中。
在本发明实施的第四方面,提供了一种数据同步方法,执行于中转服务器,包括:
接收数据库服务器发送的增量数据同步请求,其中,所述增量数据同步请求中包括数据仓库中的源表标识、与所述源表标识对应的源表的源分区标识、以及列式数据库中的与所述源表标识对应的正式表标识;
响应于所述增量数据同步请求,创建分布式文件系统HDFS文件,并从数据仓库服务器获取所述源分区标识对应的源分区中的增量数据,并将增量数据同步到所述HDFS文件。
在本发明实施的第四方面,提供了一种数据同步系统,包括:
数据库服务器,用于在同步任务启动的情况下,获取增量数据同步请求,并向所述中转服务器发送所述增量数据同步请求,其中,所述增量数据同步请求中包括数据仓库中的源表标识、与所述源表标识对应的源表的源分区标识、以及列式数据库中的与所述源表标识对应的正式表标识;
所述中转服务器,用于响应于所述增量数据同步请求,创建分布式文件系统HDFS文件,并从数据仓库服务器获取所述源分区标识对应的源分区中的增量数据,并将增量数据同步到所述HDFS文件,;
所述数据库服务器,还用于响应于所述增量数据同步请求,检测是否收到所述中转服务器发送的第一同步完成标识,以根据所述第一同步完成标识确定所述增量数据已同步到所述HDFS文件;
所述数据库服务器,还用于在所述增量数据已同步到所述HDFS文件的情况下,在所述列式数据库中创建与所述源表对应的临时表,并将所述HDFS文件中的所述增量数据同步到所述临时表中与所述源分区对应的分区中;
所述数据库服务器,还用于在所述增量数据已同步到所述分区的情况下,将所述正式表标识对应的正式表中每个目标分区的数据,同步到所述临时表中与所述目标分区对应的分区中。
在本发明实施的第五方面,提供了一种数据同步装置,设置于数据库服务器,包括:
获取模块,用于在同步任务启动的情况下,获取增量数据同步请求,并向中转服务器发送所述增量数据同步请求,其中,所述增量数据同步请求中包括数据仓库中的源表标识、与所述源表标识对应的源表的源分区标识、以及列式数据库中的与所述源表标识对应的正式表标识;
检测模块,用于响应于所述增量数据同步请求,检测是否收到所述中转服务器发送的第一同步完成标识,以根据所述第一同步完成标识确定所述增量数据已同步到所述HDFS文件;
第一同步模块,用于在所述增量数据已同步到所述HDFS文件的情况下,在所述列式数据库中创建与所述源表对应的临时表,并将所述HDFS文件中的所述增量数据同步到所述临时表中与所述源分区对应的分区中;
第二同步模块,用于在所述增量数据已同步到所述分区的情况下,将所述正式表标识对应的正式表中每个目标分区的数据,同步到所述临时表中与所述目标分区对应的分区中。
在本发明实施的第六方面,提供了一种数据同步装置,设置于中转服务器,包括:
接收模块,用于接收数据库服务器发送的增量数据同步请求,其中,所述增量数据同步请求中包括数据仓库中的源表标识、与所述源表标识对应的源表的源分区标识、以及列式数据库中的与所述源表标识对应的正式表标识;
创建模块,用于响应于所述增量数据同步请求,创建分布式文件系统HDFS文件,并从数据仓库服务器获取所述源分区标识对应的源分区中的增量数据,并将增量数据同步到所述HDFS文件。
在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述所述的数据同步方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述所述的数据同步方法。
本发明实施例提供的数据同步方法,通过在同步任务启动的情况下,获取增量数据同步请求,并向中转服务器发送所述增量数据同步请求,响应于增量数据同步请求,检测是否收到中转服务器发送的第一同步完成标识,以根据第一同步完成标识确定增量数据已同步到HDFS文件,在增量数据已同步到HDFS文件的情况下,在列式数据库中创建与源表对应的临时表,并将HDFS文件中的增量数据同步到临时表中与源分区对应的分区中,在增量数据已同步到分区的情况下,将正式表标识对应的正式表中每个目标分区的数据,同步到临时表中与目标分区对应的分区中,从而实现将增量数据和正式表中的所有数据同步到临时表。无需如现有技术中每次同步数据仓库中一个数据表中的数据到列式数据库的一个数据表时,需要通过人工手动的方式执行数据同步过程,而是自动创建临时表实现数据同步,因此简化了数据同步的过程,从而提高了数据同步效率,降低了人力成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为现有技术提供的一种数据同步方法的结构框图;
图2为本发明实施例提供的一种数据同步方法基于的系统架构图;
图3为本发明实施例中提供的一种数据同步方法的步骤流程图;
图4为本发明实施例提供的另一种数据同步方法的步骤流程图;
图5为本发明实施例提供的又一种数据同步方法的步骤流程图;
图6为本发明实施例提供的一种数据同步方法的过程示意图;
图7为本发明实施例提供的一种数据同步装置的结构示意图;
图8为本发明实施例提供的另一种数据同步装置的结构示意图;
图9为本发明实施例提供的又一种数据同步装置的结构示意图;
图10为本发明实施例中提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
参照图1,图1为现有技术提供的一种数据同步方法的结构框图,图1中以Hive作为数据仓库,以Clickhouse数据库作为列式数据库,Hive数据仓库和Clickhouse数据库可以分别单独部署于一台服务器,也可以都部署于一台服务器。图1中以Hive数据仓库和Clickhouse数据库都部署于一台服务器为例。Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。列式数据库例如为Clickhouse数据库。ClickHouse数据库是一个列式数据库管理系统,在ClickHouse数据库中,数据是按列存储的。
现有技术中,将Hive数据仓库中的一个数据表(源表)中的全量数据同步到Clickhouse数据库的一个数据表时,需要人工手动参与,即数据同步过程为:手动创建分布式文件系统HDFS文件,将数据仓库中的数据表的全量数据同步到HDFS文件,在Clickhouse数据库手动创建数据表,将HDFS文件中的数据同步该数据表;在Clickhouse数据库手动创建一个目标表,再将该数据表中的数据同步到目标表。由于需要通过人工手动参与,因此数据同步过程比较繁琐,数据同步效率较低,并且人力成本较高。其中,源表中的全量数据指源表中的所有分区中的数据,源表中的增量数据指源表中的部分分区中的数据。并且,若采用上述数据同步方案,依次同步数据仓库中的多个数据表中的数据,则会导致数据同步效率进一步降低,人力成本进一步提高。
例如,如果源表1包括分区1、分区2、分区3(一般一个分区中存储某个预设时间段内的数据,例如分区1中存储的为第一天的数据,分区2中存储的为第二天的数据,分区3中存储的为第三天的数据),若通过全量数据同步方案同步源表1中的数据,则需要手动创建HDFS文件,将数据仓库中的数据表的全量数据同步到HDFS文件,在Clickhouse数据库手动创建数据表,将HDFS文件中的数据同步该数据表;在Clickhouse数据库手动创建一个目标表,再将该数据表中的全量数据同步到目标表1。如果要通过全量数据同步方案同步源表2中的数据,则同样需要执行上述数据同步过程,以将源表2中的数据同步到目标表2。
为了解决上述技术问题,本实施例提供了一种数据同步方法。参照图2,和图3,图2为本发明实施例提供的一种数据同步方法基于的系统架构图,图3为本发明实施例提供的一种数据同步方法的步骤流程图。该系统包括数据仓库服务器(例如Hive数据仓库服务器)、调度服务器、中转服务器、数据库服务器(例如Clickhouse数据库服务器)和配置服务器。其中,数据同步方法包括如下步骤:
步骤301、调度服务器从配置服务器获取同步任务的启动时间,并向中转服务器发送启动时间。
步骤302、中转服务器向数据库服务器发送启动时间。
步骤303、数据库服务器根据启动时间,启动同步任务,并在同步任务启动的情况下,获取增量数据同步请求,并向中转服务器发送增量数据同步请求,其中,增量数据同步请求中包括数据仓库中的源表标识、与源表标识对应的源表的源分区标识、以及列式数据库中的与源表标识对应的正式表标识。
例如,数据库服务器可以提供一个前端界面,用户通过前端界面输入源表标识、源表的源分区标识和正式表标识,然后点击一个按钮,以向数据库服务器发送增量数据同步请求,相应的,数据库服务器获取到增量数据同步请求。其中,源分区标识可为一个或多个。
其中,增量数据同步请求意味着同步源表中的部分分区中的数据,而不是同步源表中的所有分区中的数据,例如A表中有2019年5月1日至2019年5月5日共5天的数据,B表中有2019年5月1日至2019年5月3日共3天的数据,需要将A表中2019年5月4日至2019年5月5日的数据同步到B表中,则属于增量数据同步。或者,A表中有2019年5月1日至2019年5月5日共5天的数据,B表中有2019年5月1日至2019年5月5日共5天的数据,A表中的2019年5月1日的数据更新后,将更新后的A表中的2019年5月1日的数据同步到B表中,也属于增量数据同步。
其中,如果源表3包括分区A、分区B、分区C、分区D、以及分区E,列式数据库中的与源表标识(源表标识例如为源表3的标识)对应的正式表标识为正式表A的标识,正式表A中的分区A′中包括分区A的数据、正式表A中的分区B′中包括分区B的数据、以及正式表A中的分区C′中包括分区C的数据。
如果要进行增量数据同步,则增量数据同步请求中例如包括源表3的标识、分区D的标识和分区E的标识、以及正式表A的标识。
步骤304、中转服务器响应于增量数据同步请求,创建分布式文件系统HDFS文件,并从数据仓库服务器获取源分区标识对应的源分区中的增量数据,并将增量数据同步到HDFS文件。
中转服务器响应于增量数据同步请求,可以创建HDFS文件,并获取源表中的源分区中的增量数据,即获取与源分区标识对应的源分区中的增量数据,其中,源分区标识对应的源分区为源表中的部分分区。
结合步骤303中的举例说明,例如,在本步骤中中转服务器响应于增量数据同步请求,创建HDFS文件,并将分区D中的数据、以及分区E中的数据同步到HDFS文件,其中,增量数据包括分区D中的数据、以及分区E中的数据。
需要说明的是,中转服务器将增量数据同步到HDFS文件后,可以生成第一同步完成标识,并将同步完成标识发送给数据库服务器,数据库服务器检测到第一同步完成标识,可以确定中转服务器已经将增量数据同步到HDFS文件。
步骤305、数据库服务器响应于增量数据同步请求,检测是否收到中转服务器发送的第一同步完成标识,以根据第一同步完成标识确定增量数据已同步到HDFS文件。
步骤306、在增量数据已同步到HDFS文件的情况下,数据库服务器在列式数据库中创建与源表对应的临时表,并将HDFS文件中的增量数据同步到临时表中与源分区对应的分区中。
例如,如下表1所示,在完成增量数据同步的情况下,在列式数据库中创建与源表对应的临时表(例如临时表A与源表3对应),临时表A中与源分区(分区D)对应的分区为D1,临时表A中与源分区(分区E)对应的分区为E1,则将增量数据中的分区D的数据同步到分区D1,将增量数据中的分区E的数据同步到分区E1,结合上述举例介绍,此处的增量数据包括源表3中的分区D的数据和分区E的数据。
源表 临时表
分区D 分区D1
分区E 分区E1
表1
步骤307、在增量数据已同步到分区的情况下,数据库服务器将正式表标识对应的正式表中每个目标分区的数据,同步到临时表中与目标分区对应的分区中。
结合步骤303中的举例说明,例如,结合下表2,正式表A中的每个目标分区包括分区A′、分区B′、以及分区分区C′,临时表中与分区A′对应的分区为分区A1,临时表中与分区B′对应的分区为分区B1,临时表中与分区C′对应的分区为分区C1,则在本步骤中,在增量数据已同步到分区的情况下(即在执行完步骤306的情况下),将正式表A中分区A′的数据同步到临时表A的分区A1中,将正式表A中分区B′的数据同步到临时表A的分区B1中,将正式表A中分区C′的数据同步到临时表A的分区C1中。执行步骤307后,临时表的分区A1中包括了源表的分区A中的数据,临时表的分区B1中包括了源表的分区B中的数据,临时表的分区C1中包括了源表的分区C中的数据,临时表的分区D1中包括了源表的分区D中的数据,临时表的分区E1中包括了源表的分区E中的数据,从而实现将源表3中的各个分区的数据均同步到临时表中。
表2
在将增量数据同步到HDFS文件后,中转服务器可生成一个第一同步完成标识,第一同步完成标识用于表示增量数据已成功同步到HDFS文件,第一同步完成标识可以为一个完成文件(done文件),并将该done文件发送给数据库服务器。数据库服务器检测到第一同步完成标识的情况下,确定增量数据已同步到HDFS文件,此种情况下,数据库服务器在列式数据库中创建与源表对应的临时表,并将HDFS文件中的增量数据同步到临时表中与源分区对应的分区中;并在增量数据已同步到分区的情况下,将正式表标识对应的正式表中每个目标分区的数据,同步到临时表中与目标分区对应的分区中,从而实现将增量数据和正式表中的所有数据同步到临时表。无需如现有技术中每次同步数据仓库中一个数据表中的数据到列式数据库的一个数据表时,需要通过人工手动的方式执行数据同步过程,而是由中转服务器自动创建HDFS文件、以及由数据库服务器自动创建临时表实现数据同步,因此简化了数据同步的过程,从而提高了数据同步效率,降低了人力成本。
参照图4,图4为本发明实施例提供的另一种数据同步方法的步骤流程图,该方法执行于数据库服务器,该方法可以包括如下步骤:
步骤401、在同步任务启动的情况下,获取增量数据同步请求,并向中转服务器发送增量数据同步请求,其中,增量数据同步请求中包括数据仓库中的源表标识、与源表标识对应的源表的源分区标识、以及列式数据库中的与源表标识对应的正式表标识。
步骤402、响应于增量数据同步请求,检测是否收到中转服务器发送的第一同步完成标识,以根据第一同步完成标识确定增量数据已同步到HDFS文件。
步骤403、在增量数据已同步到HDFS文件的情况下,在列式数据库中创建与源表对应的临时表,并将HDFS文件中的增量数据同步到临时表中与源分区对应的分区中。
步骤404、在增量数据已同步到分区的情况下,将正式表标识对应的正式表中每个目标分区的数据,同步到临时表中与目标分区对应的分区中。
本实施例提供的数据同步方法,通过获取增量数据同步请求,响应于增量数据同步请求,检测是否收到中转服务器发送的第一同步完成标识,以根据第一同步完成标识确定增量数据已同步到HDFS文件,在增量数据已同步到HDFS文件的情况下,在列式数据库中创建与源表对应的临时表,并将HDFS文件中的增量数据同步到临时表中与源分区对应的分区中,在增量数据已同步到分区的情况下,将正式表标识对应的正式表中每个目标分区的数据,同步到临时表中与目标分区对应的分区中,从而实现将增量数据和正式表中的所有数据同步到临时表。无需如现有技术中每次同步数据仓库中一个数据表中的数据到列式数据库的一个数据表时,需要通过人工手动的方式执行数据同步过程,而是自动创建临时表实现数据同步,因此简化了数据同步的过程,从而提高了数据同步效率,降低了人力成本。
并且,现有技术中将某个源表中的数据全量导入到目标表后,如果后续该源表中新增了某些分区或者源表的原分区中的数据发生变更,再次全量同步该源表中的数据前,需要先删除目标表中的所有数据,删除完成后再执行同步。例如源表1包括分区1中的数据、分区2中的数据、以及分区3中的数据,采用现有的全量数据同步方案后,将源表1包括的分区1中的数据同步到目标表的分区1、将源表1包括的分区2中的数据同步到目标表的分区2、以及将源表1包括的分区3中的数据同步到目标表的分区3。如果后续源表1中新增了分区4的数据和分区5的数据,再次同步源表1中的数据到目标表前,需要先删除目标表的分区1、分区2、分区3中的数据,删除完毕后再将源表的分区1中的数据、分区2中的数据、分区3中的数据、分区4中的数据、以及分区5中的数据依次同步到目标表的分区1、分区2、分区3、分区4、以及分区5中。或者如果后续源表1中的分区1中的数据、分区2中的数据、以及分区3中的数据发生变更,再次执行全量数据同步前,需要删除目标表中的分区1中的数据、分区2中的数据、以及分区3中的数据,待目标表中的所有数据删除完毕后,再执行全量数据同步。
现有技术中采用增量数据同步的方案时,在第一次进行增量同步时,也需要先手动创建HDFS文件,将数据仓库中的数据表的增量数据同步到HDFS文件,在Clickhouse数据库手动创建数据表,将HDFS文件中的数据同步该数据表;在Clickhouse数据库手动创建一个目标表,再将该数据表中的数据同步到目标表,例如,源表中包括分区1、分区2和分区3,若需要同步分区1的数据和分区2的数据,则需手动创建HDFS文件,将源表1中的分区1中的数据和分区2中的数据同步到HDFS文件,手动创建数据表,将HDFS文件中的分区1的数据和分区2的数据同步到该数据表;再手动创建目标表,将数据表1中的分区1的数据同步到目标表的分区1中,将分区2中的数据同步到目标表的分区2中。第二次进行怎量数据同步时,如果源表1的分区2中的数据发生变更,需要同步源表1的分区2的数据,则需要先删除目标表中的分区2的数据,等待目标表中的分区2的数据删除完毕后,再将源表1的分区2的数据同步到目标表的分区2中。
因此,再次采用全量数据同步方案同步同一个源表中的数据,或者再次采用增量数据同步方案同步同一个源表的相同分区(相同分区指当前待同步的分区与前一次同步的分区相同)的数据时,由于服务器删除源表的数据是在接收到删除指令后异步执行的,执行完成时间是未知的,如果需要删除的数据的数据量比较大,则删除数据所需时间也会较长,在删除任务还未执行完毕的情况下,如果执行数据同步,则会导致新同步到目标表中的数据被删除,因此,为了避免新同步到目标表中的数据被删除,需等待删除任务执行完毕后才能执行现有技术中的数据同步过程,从而影响数据同步效率。并且,由于现有技术中删除数据所需时间较长,数据删除完毕后,所需的数据同步时间也会较长,因此,在开始删除数据至数据同步完成之间的窗口期比较长,如果在窗口期内,服务器接收到查询请求,此时目标表中的数据可能已被删除,而数据同步又未完成的情况下,则会使服务器获取的查询数据的准确性降低。
而本实施例中提供的数据同步的方案,将HDFS文件中的增量数据同步到临时表中与源分区对应的分区中,并且在增量数据的同步过程中、以及后续将正式表中的目标分区的数据同步临时表中与目标分区对应的分区中的过程中,由于并未删除正式表中的数据(整个数据同步过程不涉及数据删除的步骤),因此节省了数据同步前需要执行删除目标表中的分区中的数据的时间,因此可以在一定程度上进一步提高数据同步的效率,并且在数据同步过程中,服务器可以从正式表中获取查询结果,因此不会降低服务器获取的查询数据的准确性。
参照图5,图5为本发明实施例提供的又一种数据同步方法的步骤流程图,执行于数据库服务器,该方法包括如下步骤:
步骤501、在同步任务启动的情况下,获取增量数据同步请求,并向中转服务器发送增量数据同步请求。
步骤502、响应于增量数据同步请求,检测是否收到中转服务器发送的第一同步完成标识,以根据第一同步完成标识确定增量数据已同步到HDFS文件。
在检测到第一同步完成标识的情况下,确定增量数据已同步到HDFS文件,则执行步骤503。如果未完成增量数据同步,则继续检测是否生成第一同步完成标识。例如参照图6所示,图6为本发明实施例提供的一种数据同步方法的过程示意图。例如数据库服务器中的模块C获取到增量数据同步请求,则向中转服务器发送增量数据同步请求,中转服务器中的模块A响应于增量数据同步请求,调用Hive数据仓库服务器的Hive应用程序接口(API,Application Programming Interface)创建HDFS文件(Hive的API是Hive提供的接口)。并通过Hive API获取源表中的与源分区标识对应的源分区中的增量数据,并将增量数据同步到HDFS文件,完成增量数据同步到HDFS文件后,可以生成完成文件,该完成文件即为第一同步完成标识。如果生成了第一同步完成标识,则模块A可以将第一同步完成标识发送给数据库服务器中的模块B,模块B则可以检测到第一同步完成标识,从而可以确定增量数据已同步到HDFS文件,模块B则可以调用Clickhouse API创建临时表(Clickhouse API为Clickhouse数据库服务器提供的应用程序接口),并通过Clickhouse API将HDFS文件中的增量数据同步到临时表中与源分区对应的分区中。
步骤503、在增量数据已同步到HDFS文件的情况下,在列式数据库中创建与源表对应的临时表,并将HDFS文件中的增量数据同步到临时表中与源分区对应的分区中。
参照图6,模块B调用Clickhouse API创建临时表,并将HDFS文件中的增量数据同步到临时表中与源分区对应的分区中后,可以检测是否生成第二同步完成标识,在检测到第二同步完成标识的情况下,确定增量数据已同步到临时表中与源分区对应的分区,则可以执行步骤504。在未检测到第二同步完成标识的情况下,继续检测是否生成第二同步完成标识。
步骤504、在增量数据已同步到分区的情况下,将正式表标识对应的正式表中每个目标分区的数据,同步到临时表中与目标分区对应的分区中。
需要说明的是,在步骤503中,将HDFS文件中的增量数据同步到临时表中与源分区对应的分区的过程中,可以对该过程进行监控,也即对Clickhouse API进行监控,以判断Clickhouse API是否出现异常。通过获取将HDFS文件中的增量数据同步到临时表中与源分区对应的分区所需的第一时长,若第一时长大于等于第一预设时长,则可以确定Clickhouse API出现异常,则向目标终端设备发送第一预警信息,以方便技术人员根据第一预警信息对异常情况进行处理。
在步骤504中,将正式表标识对应的正式表中每个目标分区的数据,同步到临时表中与目标分区对应的分区的过程中,可以对该过程进行监控,以判断Clickhouse API是否出现异。通过获取将每个目标分区的数据,同步到临时表中与目标分区对应的分区中所需的第二时长,若第二时长大于等于第二预设时长,则向目标终端设备发送第二预警信息,以方便技术人员根据第二预警信息对异常情况进行处理。
需要说明的是,在将正式表标识对应的正式表中每个目标分区的数据,同步到临时表中与目标分区对应的分区的过程中,可以检测是否生成第三同步完成标识;在检测到第三同步完成标识的情况下,确定完成每个目标分区的数据的同步。
其中,第三同步完成标识用于表示完成每个目标分区的数据的同步。在检测到第三同步完成标识的情况下,确定完成每个目标分区的数据的同步,接着执行步骤505。在未检测到第三同步完成标识的情况下,继续检测是否生成第三同步完成标识。
步骤505、在完成每个目标分区的数据的同步的情况下,将正式表标识更改为预设标识,并将临时表的标识更改为正式表标识,并删除预设标识对应的正式表,以将临时表作为当前的正式表。
例如,结合上述表2,将正式表标识更改为预设标识(预设标识例如为“表名_temp_temp”),将临时表的标识更改为正式表标识(正式表标识例如为“表名”),并删除预设标识对应的正式表(例如删除正式表A),以将临时表A作为当前的正式表。
将临时表作为当前的正式表后,如果服务器再接收到查询请求,服务器可以直接从当前的正式表中查询数据,当前的正式表中已经包括原来的正式表中的数据和源表中的增量数据。其中,需要说明的是,删除预设标识对应的正式表(即原正式表),可以减少服务器的资源占用。
本实施例中,通过向目标终端设备发送预警信息,从而可以使相关技术人员根据预警信息,对引起超时的情况进行及时处理,从而保证后续进行的增量数据同步过程顺利进行,在一定程度上保证增量数据同步的效率。
可选的,还可以包括如下步骤:
接收查询请求,并生成与查询请求对应的查询标识;
检测查询标识对应的查询任务的执行状态;
在执行状态为异常状态的情况下,将当前的异常次数累加1,以获得当前新的异常次数;
若当前新的异常次数大于或等于预设阈值,则向目标终端设备发送第四预警信息。
本实施例中,将HDFS文件中的增量数据同步到临时表中与源分区对应的分区中,或,将正式表标识对应的正式表中每个目标分区的数据,同步到临时表中与目标分区对应的分区中的过程中,或者,在完成将正式表中每个目标分区的数据,同步到临时表中与目标分区对应的分区之后,若接收到查询请求,则生成与查询请求对应的查询标识,并检测查询标识对应的查询任务的执行状态,以实现在增量数据同步的过程、以及完成增量数据同步后,实现对查询任务的执行状态进行监控,从而在执行状态为异常状态的次数大于或等于预设阈值时,向目标终端设备发送第三预警信息。向目标终端设备发送第三预警信息后,目标终端设备可以显示第三预警信息,从而使维护人员可以根据第三预警信息,查看导致查询任务异常的原因。
例如,将HDFS文件中的增量数据同步到临时表中与源分区对应的分区的过程中,监控到查询任务的执行状态为异常状态,将异常次数加1(异常次数初始值为0,预设阈值等于3),此时异常次数例如等于1。将异常次数加1后,并停止执行后续步骤,即停止执行正式表中每个目标分区的数据,同步到临时表中与目标分区对应的分区中。如果第二次再将HDFS文件中的增量数据同步到临时表中与源分区对应的分区的过程中,监控到查询任务的执行状态为异常状态,则将异常次数再累加1,此时异常次数等于2。如果第三次再将HDFS文件中的增量数据同步到临时表中与源分区对应的分区的过程中,监控到查询任务的执行状态不为异常状态,则异常次数仍然等于2,此种情况下,执行后续步骤;如果监控到查询任务的执行状态异常,则将异常次数再累加1,此时异常次数等于3,此种情况下,可以向目标终端设备发送第三预警信息,目标终端设备可以为相关技术人员的手机或电脑,例如向相关技术人员的手机或电脑发送包括第三预警信息的短信或者邮件。
参照图7,图7为本发明实施例提供的一种数据同步装置的结构示意图,该装置700设置于数据库服务器,包括:
获取模块710,用于在同步任务启动的情况下,获取增量数据同步请求,并向中转服务器发送所述增量数据同步请求,其中,增量数据同步请求中包括数据仓库中的源表标识、与源表标识对应的源表的源分区标识、以及列式数据库中的与源表标识对应的正式表标识;
检测模块720,用于响应于增量数据同步请求,检测是否收到中转服务器发送的第一同步完成标识,以根据第一同步完成标识确定增量数据已同步到HDFS文件;
第一同步模块730,用于在增量数据已同步到HDFS文件的情况下,在列式数据库中创建与源表对应的临时表,并将HDFS文件中的增量数据同步到临时表中与源分区对应的分区中;
第二同步模块740,用于在增量数据已同步到分区的情况下,将正式表标识对应的正式表中每个目标分区的数据,同步到临时表中与目标分区对应的分区中。
本实施例提供的数据同步装置,通过在同步任务启动的情况下,获取增量数据同步请求,并向中转服务器发送所述增量数据同步请求,响应于增量数据同步请求,检测是否收到中转服务器发送的第一同步完成标识,以根据第一同步完成标识确定增量数据已同步到HDFS文件,在增量数据已同步到HDFS文件的情况下,在列式数据库中创建与源表对应的临时表,并将HDFS文件中的增量数据同步到临时表中与源分区对应的分区中,在增量数据已同步到分区的情况下,将正式表标识对应的正式表中每个目标分区的数据,同步到临时表中与目标分区对应的分区中。从而实现将增量数据和正式表中的所有数据同步到临时表。无需如现有技术中每次同步数据仓库中的数据到列式数据库时,需要通过人工手动的方式执行数据同步过程,因此简化了数据同步的过程。
可选的,参照图8,图8为本发明实施例提供的另一种数据同步装置的结构示意图,该装置800设置于数据库服务器,装置800包括:
更新模块810,用于在完成每个目标分区的数据的同步的情况下,将正式表标识更改为预设标识,并将临时表的标识更改为正式表标识,并删除预设标识对应的正式表,以将临时表作为当前的正式表。
可选的,获取模块610,还用于获取将所述HDFS文件中的所述增量数据同步到所述临时表中与所述源分区对应的分区所需的第一时长、以及第二时长中的至少一个时长,其中,第二时长为将每个目标分区的数据同步到临时表中与目标分区对应的分区中所需的时长;若所述第一时长大于等于第一预设时长,则向目标终端设备发送第一预警信息;和/或,若所述第二时长大于等于第二预设时长,则向所述目标终端设备发送第二预警信息。
可选的,还包括:
处理模块820,用于接收查询请求,并生成与查询请求对应的查询标识;检测查询标识对应的查询任务的执行状态;在执行状态为异常状态的情况下,将当前的异常次数累加1,以获取当前新的异常次数;若当前新的异常次数大于或等于预设阈值,则向目标终端设备发送第三预警信息。
参照图9,图9为本发明实施例提供的又一种数据同步装置的结构示意图,该装置900设置于中转服务器,该装置900包括:
接收模块910,用于接收数据库服务器发送的增量数据同步请求,其中,所述增量数据同步请求中包括数据仓库中的源表标识、与所述源表标识对应的源表的源分区标识、以及列式数据库中的与所述源表标识对应的正式表标识;
创建模块920,用于响应于所述增量数据同步请求,创建分布式文件系统HDFS文件,并从数据仓库服务器获取所述源分区标识对应的源分区中的增量数据,并将增量数据同步到所述HDFS文件。
本实施例提供的数据同步装置,通过接收数据库服务器发送的增量数据同步请求,并响应于所述增量数据同步请求,创建分布式文件系统HDFS文件,并从数据仓库服务器获取所述源分区标识对应的源分区中的增量数据,并将增量数据同步到所述HDFS文件,从而无需人工手动创建HDFS文件,从而可以在一定程度上简化数据同步过程,以及降低人力成本。
本发明实施例还提供了一种电子设备,图10为本发明实施例中提供的一种电子设备的结构示意图。如图10所示,包括处理器1001、通信接口1002、存储器1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信,
存储器1003,用于存放计算机程序;
处理器1001,用于执行存储器1003上所存放的程序时,实现如下步骤:
在同步任务启动的情况下,获取增量数据同步请求,并向中转服务器发送所述增量数据同步请求,其中,所述增量数据同步请求中包括数据仓库中的源表标识、与所述源表标识对应的源表的源分区标识、以及列式数据库中的与所述源表标识对应的正式表标识;
响应于所述增量数据同步请求,检测是否收到中转服务器发送的第一同步完成标识,以根据所述第一同步完成标识确定所述增量数据已同步到所述HDFS文件;
在所述增量数据已同步到所述HDFS文件的情况下,在所述列式数据库中创建与所述源表对应的临时表,并将所述HDFS文件中的所述增量数据同步到所述临时表中与所述源分区对应的分区中;
在所述增量数据已同步到所述分区的情况下,将所述正式表标识对应的正式表中每个目标分区的数据,同步到所述临时表中与所述目标分区对应的分区中。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据同步方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据同步方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (12)

1.一种数据同步方法,其特征在于,应用于包括中转服务器和数据库服务器的系统;包括:
所述数据库服务器在同步任务启动的情况下,获取增量数据同步请求,并向所述中转服务器发送所述增量数据同步请求,其中,所述增量数据同步请求中包括数据仓库中的源表标识、与所述源表标识对应的源表的源分区标识、以及列式数据库中的与所述源表标识对应的正式表标识;
所述中转服务器响应于所述增量数据同步请求,创建分布式文件系统HDFS文件,并从数据仓库服务器获取所述源分区标识对应的源分区中的增量数据,并将增量数据同步到所述HDFS文件;
所述数据库服务器响应于所述增量数据同步请求,检测是否收到所述中转服务器发送的第一同步完成标识,以根据所述第一同步完成标识确定所述增量数据已同步到所述HDFS文件;
在所述增量数据已同步到所述HDFS文件的情况下,所述数据库服务器在所述列式数据库中创建与所述源表对应的临时表,并将所述HDFS文件中的所述增量数据同步到所述临时表中与所述源分区对应的分区中;
在所述增量数据已同步到所述分区的情况下,所述数据库服务器将所述正式表标识对应的正式表中每个目标分区的数据,同步到所述临时表中与所述目标分区对应的分区中。
2.一种数据同步方法,其特征在于,执行于数据库服务器,包括:
在同步任务启动的情况下,获取增量数据同步请求,并向中转服务器发送所述增量数据同步请求,其中,所述增量数据同步请求中包括数据仓库中的源表标识、与所述源表标识对应的源表的源分区标识、以及列式数据库中的与所述源表标识对应的正式表标识;
响应于所述增量数据同步请求,检测是否收到所述中转服务器发送的第一同步完成标识,以根据所述第一同步完成标识确定所述增量数据已同步到HDFS文件;
在所述增量数据已同步到所述HDFS文件的情况下,在所述列式数据库中创建与所述源表对应的临时表,并将所述HDFS文件中的所述增量数据同步到所述临时表中与所述源分区对应的分区中;
在所述增量数据已同步到所述分区的情况下,将所述正式表标识对应的正式表中每个目标分区的数据,同步到所述临时表中与所述目标分区对应的分区中。
3.根据权利要求2所述的方法,其特征在于,在所述将所述正式表标识对应的正式表中每个目标分区的数据,同步到所述临时表中与所述目标分区对应的分区中之后,还包括:
在完成所述每个目标分区的数据同步的情况下,将所述正式表标识更改为预设标识,并将所述临时表的标识更改为所述正式表标识,并删除所述预设标识对应的正式表,以将所述临时表作为当前的正式表。
4.根据权利要求2或3所述的方法,其特征在于,还包括:
获取将所述HDFS文件中的所述增量数据同步到所述临时表中与所述源分区对应的分区所需的第一时长、以及第二时长中的至少一个时长,其中,所述第二时长为将所述每个目标分区的数据,同步到所述临时表中与所述目标分区对应的分区中所需的时长;
若所述第一时长大于等于第一预设时长,则向目标终端设备发送第一预警信息;和/或,若所述第二时长大于等于第二预设时长,则向所述目标终端设备发送第二预警信息。
5.根据权利要求2或3所述的方法,其特征在于,还包括:
接收查询请求,并生成与所述查询请求对应的查询标识;
检测所述查询标识对应的查询任务的执行状态;
在所述执行状态为异常状态的情况下,将当前的异常次数累加1,以获得当前新的异常次数;
若所述当前新的异常次数大于或等于预设阈值,则向目标终端设备发送第三预警信息。
6.一种数据同步系统,其特征在于,包括:
数据库服务器,用于在同步任务启动的情况下,获取增量数据同步请求,并向中转服务器发送所述增量数据同步请求,其中,所述增量数据同步请求中包括数据仓库中的源表标识、与所述源表标识对应的源表的源分区标识、以及列式数据库中的与所述源表标识对应的正式表标识;
所述中转服务器,用于响应于所述增量数据同步请求,创建分布式文件系统HDFS文件,并从数据仓库服务器获取所述源分区标识对应的源分区中的增量数据,并将增量数据同步到所述HDFS文件;
所述数据库服务器,还用于响应于所述增量数据同步请求,检测是否收到所述中转服务器发送的第一同步完成标识,以根据所述第一同步完成标识确定所述增量数据已同步到所述HDFS文件;
所述数据库服务器,还用于在所述增量数据已同步到所述HDFS文件的情况下,在所述列式数据库中创建与所述源表对应的临时表,并将所述HDFS文件中的所述增量数据同步到所述临时表中与所述源分区对应的分区中;
所述数据库服务器,还用于在所述增量数据已同步到所述分区的情况下,将所述正式表标识对应的正式表中每个目标分区的数据,同步到所述临时表中与所述目标分区对应的分区中。
7.一种数据同步装置,其特征在于,设置于数据库服务器,包括:
获取模块,用于在同步任务启动的情况下,获取增量数据同步请求,并向中转服务器发送所述增量数据同步请求,其中,所述增量数据同步请求中包括数据仓库中的源表标识、与所述源表标识对应的源表的源分区标识、以及列式数据库中的与所述源表标识对应的正式表标识;
检测模块,用于响应于所述增量数据同步请求,检测是否收到所述中转服务器发送的第一同步完成标识,以根据所述第一同步完成标识确定所述增量数据已同步到HDFS文件;
第一同步模块,用于在所述增量数据已同步到所述HDFS文件的情况下,在所述列式数据库中创建与所述源表对应的临时表,并将所述HDFS文件中的所述增量数据同步到所述临时表中与所述源分区对应的分区中;
第二同步模块,用于在所述增量数据已同步到所述分区的情况下,将所述正式表标识对应的正式表中每个目标分区的数据,同步到所述临时表中与所述目标分区对应的分区中。
8.根据权利要求7所述的装置,其特征在于,在所述将所述正式表标识对应的正式表中每个目标分区的数据,同步到所述临时表中与所述目标分区对应的分区中之后,还包括:
更新模块,用于在完成所述每个目标分区的数据同步的情况下,将所述正式表标识更改为预设标识,并将所述临时表的标识更改为所述正式表标识,并删除所述预设标识对应的正式表,以将所述临时表作为当前的正式表。
9.根据权利要求7或8所述的装置,其特征在于,所述获取模块,还用于获取将所述HDFS文件中的所述增量数据同步到所述临时表中与所述源分区对应的分区所需的第一时长、以及第二时长中的至少一个时长,其中,第二时长为将所述每个目标分区的数据,同步到到所述临时表中与所述目标分区对应的分区中所需的时长;若所述第一时长大于等于第一预设时长,则向目标终端设备发送第一预警信息;和/或,若所述第二时长大于等于第二预设时长,则向所述目标终端设备发送第二预警信息。
10.根据权利要求7或8所述的装置,其特征在于,还包括:
处理模块,用于接收查询请求,并生成与所述查询请求对应的查询标识;检测所述查询标识对应的查询任务的执行状态;在所述执行状态为异常状态的情况下,将当前的异常次数累加1,以获得当前新的异常次数;若所述当前新的异常次数大于或等于预设阈值,则向目标终端设备发送第三预警信息。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一所述的方法。
CN202010975400.XA 2020-09-16 2020-09-16 数据同步方法、装置、电子设备及可读存储介质 Active CN112115200B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010975400.XA CN112115200B (zh) 2020-09-16 2020-09-16 数据同步方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010975400.XA CN112115200B (zh) 2020-09-16 2020-09-16 数据同步方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN112115200A CN112115200A (zh) 2020-12-22
CN112115200B true CN112115200B (zh) 2023-08-29

Family

ID=73803214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010975400.XA Active CN112115200B (zh) 2020-09-16 2020-09-16 数据同步方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN112115200B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114942915A (zh) * 2022-05-25 2022-08-26 北京天融信网络安全技术有限公司 文件同步方法、服务系统、电子设备及存储介质
CN115391463A (zh) * 2022-09-26 2022-11-25 中国建设银行股份有限公司 数据同步方法、装置及服务器集群
CN116089537B (zh) * 2023-04-07 2023-08-04 江西省智能产业技术创新研究院 增量数据同步方法、系统、计算机及存储介质
CN117331513B (zh) * 2023-12-01 2024-03-19 蒲惠智造科技股份有限公司 基于Hadoop架构的数据精简方法和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462389A (zh) * 2014-12-10 2015-03-25 上海爱数软件有限公司 基于分级存储的分布式文件系统实现方法
CN105243067A (zh) * 2014-07-07 2016-01-13 北京明略软件系统有限公司 一种实现实时增量同步数据的方法及装置
CN107145562A (zh) * 2017-05-02 2017-09-08 北京奇艺世纪科技有限公司 一种数据同步方法、装置及系统
CN107562931A (zh) * 2017-09-15 2018-01-09 新智云数据服务有限公司 数据抽取系统和数据抽取方法
CN107958082A (zh) * 2017-12-15 2018-04-24 杭州有赞科技有限公司 数据库到数据仓库的离线增量同步方法及系统
CN110851511A (zh) * 2019-10-09 2020-02-28 上海易点时空网络有限公司 数据同步的方法及装置
CN111427864A (zh) * 2020-03-16 2020-07-17 深圳壹账通智能科技有限公司 数据的分批归档方法、装置、设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8615503B2 (en) * 2011-07-01 2013-12-24 International Business Machines Corporation Method for attaching partition online to range partitioned table
US9201638B2 (en) * 2012-08-07 2015-12-01 Nec Laboratories America, Inc. Compiler-guided software accelerator for iterative HADOOP® jobs
US9959306B2 (en) * 2015-06-12 2018-05-01 International Business Machines Corporation Partition-based index management in hadoop-like data stores
US10303557B2 (en) * 2016-03-09 2019-05-28 Commvault Systems, Inc. Data transfer to a distributed storage environment
GB201812375D0 (en) * 2018-07-30 2018-09-12 Ibm Updating a table using incremental and batch updates

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105243067A (zh) * 2014-07-07 2016-01-13 北京明略软件系统有限公司 一种实现实时增量同步数据的方法及装置
CN104462389A (zh) * 2014-12-10 2015-03-25 上海爱数软件有限公司 基于分级存储的分布式文件系统实现方法
CN107145562A (zh) * 2017-05-02 2017-09-08 北京奇艺世纪科技有限公司 一种数据同步方法、装置及系统
CN107562931A (zh) * 2017-09-15 2018-01-09 新智云数据服务有限公司 数据抽取系统和数据抽取方法
CN107958082A (zh) * 2017-12-15 2018-04-24 杭州有赞科技有限公司 数据库到数据仓库的离线增量同步方法及系统
CN110851511A (zh) * 2019-10-09 2020-02-28 上海易点时空网络有限公司 数据同步的方法及装置
CN111427864A (zh) * 2020-03-16 2020-07-17 深圳壹账通智能科技有限公司 数据的分批归档方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112115200A (zh) 2020-12-22

Similar Documents

Publication Publication Date Title
CN112115200B (zh) 数据同步方法、装置、电子设备及可读存储介质
WO2021180025A1 (zh) 一种消息处理方法、装置、电子设备及介质
US10606806B2 (en) Method and apparatus for storing time series data
CN110851308A (zh) 一种测试方法、装置、电子设备及存储介质
CN107748790B (zh) 一种线上服务系统、数据加载方法、装置及设备
CN112434043B (zh) 一种数据同步方法、装置、电子设备及介质
CN112905323B (zh) 数据处理方法、装置、电子设备及存储介质
WO2016110203A1 (zh) 一种文件路径的存储和本地文件的访问方法及装置
CN112347192A (zh) 数据同步方法、装置、平台以及可读介质
CN108108126B (zh) 一种数据处理方法、装置及设备
CN111125240B (zh) 一种分布式事务实现方法、装置、电子设备及存储介质
CN112988776B (zh) 文本解析规则的更新方法、装置、设备及可读存储介质
CN111078418B (zh) 操作同步方法、装置、电子设备及计算机可读存储介质
CN107807885B (zh) 任务信息显示方法及装置
CN110955460A (zh) 一种服务进程启动方法、装置、电子设备和存储介质
CN108037950B (zh) 一种信息删除方法、装置、电子设备及可读存储介质
CN111291127B (zh) 一种数据同步方法、装置、服务器及存储介质
CN112711466B (zh) 悬挂事务巡检方法和装置、电子设备和存储介质
CN112765188B (zh) 配置信息处理方法、配置管理系统、电子设备及存储介质
CN111400327B (zh) 一种数据同步方法、装置、电子设备及存储介质
CN111459411B (zh) 数据迁移方法、装置、设备及存储介质
CN110543486B (zh) 数据变更方法、装置及服务器
CN110858848B (zh) 一种集群系统的任务资源的纠正方法及装置
CN110071967B (zh) 关联方法、装置及设备
CN113849133B (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