CN109614442A - 数据同步的数据表维护方法、装置、存储介质和电子设备 - Google Patents
数据同步的数据表维护方法、装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN109614442A CN109614442A CN201811302906.3A CN201811302906A CN109614442A CN 109614442 A CN109614442 A CN 109614442A CN 201811302906 A CN201811302906 A CN 201811302906A CN 109614442 A CN109614442 A CN 109614442A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- data file
- synchronous
- synchronous task
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
Abstract
本公开涉及一种数据同步的数据表维护方法、装置、存储介质和电子设备,该方法包括:在当前数据同步任务启动时,根据前一数据同步任务的执行状态,确定是否删除前一数据同步任务执行失败时被写入分析引擎数据表的第一数据文件,并将当前需要同步的数据文件转换为附带目标标识的临时数据文件,作为第二数据文件;通过写文件操作和重命名操作,将该第二数据文件写入该数据表并转换为有效数据文件;当该写文件操作或该重命名操作的过程中出现错误时,根据目标标识删除在出现错误之前已写入该数据表的目标数据文件。能够在数据同步之前和数据同步的过程中,清除因同步失败而产生的垃圾文件,避免数据表维护中人工干预的步骤,提高数据同步的运维效率。
Description
技术领域
本公开涉及数据管理领域,具体地,涉及一种数据同步的数据表维护方法、装置、存储介质和电子设备。
背景技术
企业做数据分析时,需要将业务数据通过ETL(Extract-Transform-Load,抽取-交互转换-加载)数据仓库技术向分布式***基础架构Hadoop同步,以供分析引擎(例如,Hive或Impala等)使用。在ETL数据同步过程中,直接进行分析引擎的JDBC(Java DataBaseConnectivity,Java数据库连接)操作,数据传输的速度很慢。为了提高数据传输的速度,通常会把数据按照既定格式写到HDFS(Hadoop Distributed File System,Hadoop分布式文件***)中,然后通过执行分析引擎的数据库,将数据加载到分析引擎上的数据表里。但是,在向HDFS写数据文件时,由于数据错误、断网、程序被意外中断(断网)等原因,可能在HDFS中产生垃圾文件。此时,如果继续向分析引擎的目录里写数据,可能导致整个数据表的数据无法使用,进而影响数据分析业务进行。相关技术中,通常需要运维人员对上述的垃圾文件进行跟踪和维护,人工成本较高并且效率低下。
发明内容
为克服相关技术中存在的问题,本公开的目的是提供一种数据同步的数据表维护方法、装置、存储介质和电子设备。
为了实现上述目的,根据本公开实施例的第一方面,提供一种数据同步的数据表维护方法,所述方法包括:
在当前数据同步任务启动时,根据第一数据同步任务的执行状态,确定是否删除分析引擎的目标数据表中的第一数据文件,所述第一数据同步任务为所述当前数据同步任务的前一个数据同步任务,所述第一数据文件为在所述第一数据同步任务执行失败时被写入所述目标数据表的附带第一标识的临时数据文件;
根据所述第一数据同步任务的执行状态,将所述当前数据同步任务中需要同步的数据文件转换为附带目标标识的临时数据文件,作为第二数据文件,所述目标标识为所述第一标识或第二标识,所述第二标识为在确定所述第一数据同步任务执行成功后生成的标识;
在所述当前数据同步任务的执行过程中,对所述第二数据文件进行写文件操作和重命名操作,以将所述第二数据文件写入所述目标数据表并转换为能够被所述分析引擎使用的有效数据文件;
当所述写文件操作或者所述重命名操作的过程中出现错误时,根据所述目标标识删除目标数据文件,所述目标数据文件为在所述写文件操作或者所述重命名操作出现错误之前已写入所述目标数据表的数据文件。
可选的,所述执行状态包括:执行成功或执行失败,所述在当前数据同步任务启动时,根据第一数据同步任务的执行状态,确定是否删除分析引擎的目标数据表中的第一数据文件,包括:
在所述当前数据同步任务启动时,通过查询所述目标数据表,确定所述第一数据同步任务的执行状态;
当确定所述第一数据同步任务的执行状态为执行失败时,确定所述目标数据表中附带所述第一标识的数据文件,作为所述第一数据文件;
删除所述第一数据文件。
可选的,所述根据所述第一数据同步任务的执行状态,将所述当前数据同步任务中需要同步的数据文件转换为附带目标标识的临时数据文件,作为第二数据文件,包括:
当确定所述第一数据同步任务执行失败时,将所述第一标识作为所述目标标识,为所述当前数据同步任务中需要同步的数据文件的文件名添加临时文件标识和所述目标标识,以获取所述第二数据文件;或者,
当确定所述第一数据同步任务执行成功时,将所述第二标识作为所述目标标识,为所述当前数据同步任务中需要同步的数据文件的文件名添加临时文件标识和所述目标标识,以获取所述第二数据文件。
可选的,所述在所述当前数据同步任务的执行过程中,对所述第二数据文件进行写文件操作和重命名操作,以将所述第二数据文件写入所述目标数据表并转换为能够被所述分析引擎使用的有效数据文件,包括:
通过所述写文件操作将所述第二数据文件写入所述目标数据表;
在确定所述写文件操作完成后,通过所述重命名操作删除所述第二数据文件的文件名中的临时文件标识,以将所述第二数据文件从所述临时数据文件转换为所述有效数据文件。
可选的,所述当所述写文件操作或者所述重命名操作的过程中出现错误时,根据所述目标标识删除目标数据文件,包括:
当所述写文件操作或者所述重命名操作的过程中出现错误时,停止所述当前数据同步任务;
根据所述目标标识在所述目标数据表中确定所述目标数据文件;
删除所述目标数据文件。
根据本公开实施例的第二方面,提供一种数据同步的数据表维护装置,所述装置包括:
第一文件删除模块,用于在当前数据同步任务启动时,根据第一数据同步任务的执行状态,确定是否删除分析引擎的目标数据表中的第一数据文件,所述第一数据同步任务为所述当前数据同步任务的前一个数据同步任务,所述第一数据文件为在所述第一数据同步任务执行失败时被写入所述目标数据表的附带第一标识的临时数据文件;
文件转换模块,用于根据所述第一数据同步任务的执行状态,将所述当前数据同步任务中需要同步的数据文件转换为附带目标标识的临时数据文件,作为第二数据文件,所述目标标识为所述第一标识或第二标识,所述第二标识为在确定所述第一数据同步任务执行成功后生成的标识;
任务执行模块,用于在所述当前数据同步任务的执行过程中,对所述第二数据文件进行写文件操作和重命名操作,以将所述第二数据文件写入所述目标数据表并转换为能够被所述分析引擎使用的有效数据文件;
第二文件删除模块,用于当所述写文件操作或者所述重命名操作的过程中出现错误时,根据所述目标标识删除目标数据文件,所述目标数据文件为在所述写文件操作或者所述重命名操作出现错误之前已写入所述目标数据表的数据文件。
可选的,所述执行状态包括:执行成功或执行失败,所述第一文件删除模块,包括:
状态确定子模块,用于在所述当前数据同步任务启动时,通过查询所述目标数据表,确定所述第一数据同步任务的执行状态;
第一文件确定子模块,用于当确定所述第一数据同步任务的执行状态为执行失败时,确定所述目标数据表中附带所述第一标识的数据文件,作为所述第一数据文件;
第一文件删除子模块,用于删除所述第一数据文件。
可选的,所述文件转换模块,用于:
当确定所述第一数据同步任务执行失败时,将所述第一标识作为所述目标标识,为所述当前数据同步任务中需要同步的数据文件的文件名添加临时文件标识和所述目标标识,以获取所述第二数据文件;或者,
当确定所述第一数据同步任务执行成功时,将所述第二标识作为所述目标标识,为所述当前数据同步任务中需要同步的数据文件的文件名添加临时文件标识和所述目标标识,以获取所述第二数据文件。
可选的,所述任务执行模块,包括:
文件写入子模块,用于通过所述写文件操作将所述第二数据文件写入所述目标数据表;
文件转换子模块,用于在确定所述写文件操作完成后,通过所述重命名操作删除所述第二数据文件的文件名中的临时文件标识,以将所述第二数据文件从所述临时数据文件转换为所述有效数据文件。
可选的,所述第二文件删除模块,包括:
执行停止模块,用于当所述写文件操作或者所述重命名操作的过程中出现错误时,停止所述当前数据同步任务;
第二文件确定子模块,用于根据所述目标标识在所述目标数据表中确定所述目标数据文件;
第二文件删除子模块,用于删除所述目标数据文件。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本公开实施例第一方面提供的数据同步的数据表维护方法的步骤。
根据本公开实施例的第四方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开实施例第一方面提供的数据同步的数据表维护方法的步骤。
通过上述技术方案,本公开能够在当前数据同步任务启动时,根据第一数据同步任务的执行状态,确定是否删除分析引擎的目标数据表中的第一数据文件,该第一数据同步任务为该当前数据同步任务的前一个数据同步任务,该第一数据文件为在该第一数据同步任务执行失败时被写入该目标数据表的附带第一标识的临时数据文件;根据该第一数据同步任务的执行状态,将该当前数据同步任务中需要同步的数据文件转换为附带目标标识的临时数据文件,作为第二数据文件,该目标标识为该第一标识或第二标识,该第二标识为在确定该第一数据同步任务执行成功后生成的标识;在该当前数据同步任务的执行过程中,对该第二数据文件进行写文件操作和重命名操作,以将该第二数据文件写入该目标数据表并转换为能够被该分析引擎使用的有效数据文件;当该写文件操作或者该重命名操作的过程中出现错误时,根据该目标标识删除目标数据文件,该目标数据文件为在该写文件操作或者该重命名操作出现错误之前已写入该目标数据表的数据文件。能够在数据同步之前和数据同步的过程中,清除因同步失败而产生的垃圾文件,避免数据表维护中人工干预的步骤,提高数据同步的运维效率。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种数据同步的数据表维护方法的流程图;
图2是根据图1所示实施例示出的一种错误文件删除方法的流程图;
图3是根据图1所示实施例示出的一种数据同步任务的执行方法的流程图;
图4是根据图1所示实施例示出的另一种错误文件删除方法的流程图;
图5是根据一示例性实施例示出的一种数据同步的数据表维护装置的框图;
图6是根据图5所示实施例示出的一种第一文件删除模块的框图;
图7是根据图5所示实施例示出的一种任务执行模块的框图;
图8是根据图5所示实施例示出的一种第二文件删除模块的框图;
图9是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在介绍本公开提供的数据同步的数据表维护之前,首先对本公开中各个实施例所涉及的目标应用场景进行介绍,该目标应用场景包括一业务***和一个或多个分析引擎,该业务***作为数据源,用于生成、收集和储存业务数据。该分析引擎为基于分布式***基础架构Hadoop的分析引擎,该分析引擎可以为,例如,Hive***或者Impala***等。
图1是根据一示例性实施例示出的一种数据同步的数据表维护方法的流程图,如图1所示,应用于上述的业务***和分析引擎,该方法包括:
步骤101,在当前数据同步任务启动时,根据第一数据同步任务的执行状态,确定是否删除分析引擎的目标数据表中的第一数据文件。
其中,该第一数据同步任务为该当前数据同步任务的前一个数据同步任务,该第一数据文件为在该第一数据同步任务执行失败时被写入该目标数据表的附带第一标识的临时数据文件。该第一数据同步任务和该当前数据同步任务为针对于数据源中同一业务类型的业务数据的数据同步任务,该目标数据表为针对于该业务类型的业务数据的数据同步任务的数据表。该业务数据可以包括数据库数据、XML数据(Extensible Markup Language,可扩展标记语言)、文本文档TXT数据和Web Service平台数据等。
示例地,该当前数据同步任务为将上述业务终端数据源中的数据通过ETL(Extract-Transform-Load,抽取-交互转换-加载)数据仓库技术同步至分析引擎Hive***或者Impala***的所述目标数据表中。在每次通过ETL技术执行数据同步任务时,会为数据同步任务所需要同步的数据文件添加唯一的标识。在数据文件被写入数据表时,该数据文件为临时数据文件,该临时数据文件的特性在于,无论该临时数据文件是否完整,内容是否正确,都不影响分析引擎对数据表中已有的有效数据文件的执行。
示例地,当该当前数据同步任务被启动后,首先需要清除上一次执行的数据同步任务(即第一数据同步任务)执行失败所生成的无法使用的临时数据文件或称垃圾文件(即该第一数据文件)。可以理解的是,该第一数据文件可以包含多个数据文件,并且在该第一数据同步任务执行成功时,不需要进行该步骤。在每次执行数据同步任务后,分析引擎会对数据同步任务的执行状态(执行失败或执行成功)进行标注,以供后续的数据同步任务对上一次执行的数据同步任务的执行状态进行判断。
步骤102,根据该第一数据同步任务的执行状态,将该当前数据同步任务中需要同步的数据文件转换为附带目标标识的临时数据文件,作为第二数据文件。
其中,该目标标识为该第一标识或第二标识,该第二标识为在确定该第一数据同步任务执行成功后生成的标识。
示例地,在清除了该第一数据同步任务对应的第一数据文件后,可以开始该当前数据同步任务,在该当前数据同步任务中,首先需要对需要同步的数据文件进行转换,具体地,可以通过为数据文件的文件名添加标识,来执行该转换操作。除了将数据文件转换为临时文件外,还需要为数据文件的文件名添加数据同步任务对应的唯一标识(即目标标识),该目标标识决定于该第一数据同步任务的执行状态。
示例地,当该第一数据同步任务执行失败时,保留该第一数据同步任务对应的第一标识,作为该当前数据同步任务执行对应的目标标识;当该第一数据同步任务执行成功时,重新生成一个新的标识(即第二标识),作为该当前数据同步任务执行对应的目标标识。具体地,该步骤102可以包括:当确定该第一数据同步任务执行失败时,将该第一标识作为该目标标识,为该当前数据同步任务中需要同步的数据文件的文件名添加临时文件标识和该目标标识,以获取该第二数据文件;或者,当确定该第一数据同步任务执行成功时,将该第二标识作为该目标标识,为该当前数据同步任务中需要同步的数据文件的文件名添加临时文件标识和该目标标识,以获取该第二数据文件。其中,该第二数据文件可以包含多个数据文件,此时,在该步骤102中需要针对于每一个数据文件进行文件名的转换。
步骤103,在该当前数据同步任务的执行过程中,对该第二数据文件进行写文件操作和重命名操作,以将该第二数据文件写入该目标数据表并转换为能够被该分析引擎使用的有效数据文件。
示例地,在通过该写文件操作将该第二数据文件写入该目标数据表中时,该第二数据文件的文件名保持该步骤102后的状态不变。之后,再经过重命名操作,将该第二数据文件能够被该分析引擎使用的有效数据文件。
步骤104,当该写文件操作或者该重命名操作的过程中出现错误时,根据该目标标识删除目标数据文件。
其中,该目标数据文件为在该写文件操作或者该重命名操作出现错误之前已写入该目标数据表的数据文件。
示例地,当写文件操作和重命名操作中的任一操作出现错误时,当即停止该当前数据同步任务,并删除在该错误出现之前已写入该目标数据表的数据文件。需要说明的是,该写文件操作和该重命名操作过程中出现的错误为对于本公开实施例而言可控的或称可检测出的执行错误,可以理解的是,这些执行错误可以导致数据同步任务执行失败。在上述步骤101中,当确定第一数据同步任务执行失败时,本次的执行失败可以认为是除该写文件操作和该重命名操作过程中出现的错误外的不可控的或者不可检测的执行错误所导致的。因此,本公开实施例所提供的两次删除数据文件的步骤(上述步骤101与该步骤104)并不冲突。
综上所述,本公开能够在当前数据同步任务启动时,根据第一数据同步任务的执行状态,确定是否删除分析引擎的目标数据表中的第一数据文件,该第一数据同步任务为该当前数据同步任务的前一个数据同步任务,该第一数据文件为在该第一数据同步任务执行失败时被写入该目标数据表的附带第一标识的临时数据文件;根据该第一数据同步任务的执行状态,将该当前数据同步任务中需要同步的数据文件转换为附带目标标识的临时数据文件,作为第二数据文件,该目标标识为该第一标识或第二标识,该第二标识为在确定该第一数据同步任务执行成功后生成的标识;在该当前数据同步任务的执行过程中,对该第二数据文件进行写文件操作和重命名操作,以将该第二数据文件写入该目标数据表并转换为能够被该分析引擎使用的有效数据文件;当该写文件操作或者该重命名操作的过程中出现错误时,根据该目标标识删除目标数据文件,该目标数据文件为在该写文件操作或者该重命名操作出现错误之前已写入该目标数据表的数据文件。能够在数据同步之前和数据同步的过程中,清除因同步失败而产生的垃圾文件,避免数据表维护中人工干预的步骤,提高数据同步的运维效率。
图2是根据图1所示实施例示出的一种错误文件删除方法的流程图,如图2所示,该执行状态包括:执行成功或执行失败,该步骤101可以包括:
步骤1011,在该当前数据同步任务启动时,通过查询该目标数据表,确定该第一数据同步任务的执行状态。
步骤1012,当确定该第一数据同步任务的执行状态为执行失败时,确定该目标数据表中附带该第一标识的数据文件,作为该第一数据文件。
示例地,该第一数据文件可以包含多个该附带该第一标识的数据文件。可以通过对数据文件的文件名中的第一标识进行检索,以确定该第一数据文件。
步骤1013,删除该第一数据文件。
图3是根据图1所示实施例示出的一种数据同步任务的执行方法的流程图,如图3所示,上述步骤103可以包括:步骤1021-1026,或者步骤1021-1027。
步骤1031,通过该写文件操作将该第二数据文件写入该目标数据表。
示例地,此时的该第二数据文件的文件名可以为“.目标标识.ude”。其中,第一个点符号为临时文件标识,“ude”为产品后缀,由数据文件对应的产品业务决定。该临时文件表示还可以为下划线符号。
步骤1032,在确定该写文件操作完成后,通过该重命名操作删除该第二数据文件的文件名中的临时文件标识,以将该第二数据文件从该临时数据文件转换为该有效数据文件。
示例地,在步骤1032完成之后,可以执行分析引擎对应的SQL(Structured QueryLanguage,结构化查询语言),将已被转换为有效数据文件的该第二数据文件加载到数据表中,即,对已写入数据表的有效数据文件进行应用。
图4是根据图1所示实施例示出的另一种错误文件删除方法的流程图,如图4所示,上述步骤104可以包括:
步骤1041,当该写文件操作或者该重命名操作的过程中出现错误时,停止该当前数据同步任务。
步骤1042,根据该目标标识在该目标数据表中确定该目标数据文件。
步骤1043,删除该目标数据文件。
示例地,当该重命名操作的过程中出现错误时,可以认为该第二数据文件已经完全被写入该目标数据表,因此,该目标数据文件即为该第二数据文件;当该写文件操作的过程中出现错误时,该第二数据文件不一定被完全写入该目标数据表,因此,该目标数据文件包含该第二数据文件的全部或一部分。
综上所述,本公开能够在当前数据同步任务启动时,根据第一数据同步任务的执行状态,确定是否删除分析引擎的目标数据表中的第一数据文件,该第一数据同步任务为该当前数据同步任务的前一个数据同步任务,该第一数据文件为在该第一数据同步任务执行失败时被写入该目标数据表的附带第一标识的临时数据文件;根据该第一数据同步任务的执行状态,将该当前数据同步任务中需要同步的数据文件转换为附带目标标识的临时数据文件,作为第二数据文件,该目标标识为该第一标识或第二标识,该第二标识为在确定该第一数据同步任务执行成功后生成的标识;在该当前数据同步任务的执行过程中,对该第二数据文件进行写文件操作和重命名操作,以将该第二数据文件写入该目标数据表并转换为能够被该分析引擎使用的有效数据文件;当该写文件操作或者该重命名操作的过程中出现错误时,根据该目标标识删除目标数据文件,该目标数据文件为在该写文件操作或者该重命名操作出现错误之前已写入该目标数据表的数据文件。能够在数据同步之前和数据同步的过程中,清除因同步失败而产生的垃圾文件,避免数据表维护中人工干预的步骤,提高数据同步的运维效率。
图5是根据一示例性实施例示出的一种数据同步的数据表维护装置的框图,如图5所示,应用于上述的业务***和分析引擎,该装置500包括:
第一文件删除模块510,用于在当前数据同步任务启动时,根据第一数据同步任务的执行状态,确定是否删除分析引擎的目标数据表中的第一数据文件,该第一数据同步任务为该当前数据同步任务的前一个数据同步任务,该第一数据文件为在该第一数据同步任务执行失败时被写入该目标数据表的附带第一标识的临时数据文件;
文件转换模块520,用于根据该第一数据同步任务的执行状态,将该当前数据同步任务中需要同步的数据文件转换为附带目标标识的临时数据文件,作为第二数据文件,该目标标识为该第一标识或第二标识,该第二标识为在确定该第一数据同步任务执行成功后生成的标识;
任务执行模块530,用于在该当前数据同步任务的执行过程中,对该第二数据文件进行写文件操作和重命名操作,以将该第二数据文件写入该目标数据表并转换为能够被该分析引擎使用的有效数据文件;
第二文件删除模块540,用于当该写文件操作或者该重命名操作的过程中出现错误时,根据该目标标识删除目标数据文件,该目标数据文件为在该写文件操作或者该重命名操作出现错误之前已写入该目标数据表的数据文件。
图6是根据图5所示实施例示出的一种第一文件删除模块的框图,如图6所示,该执行状态包括:执行成功或执行失败,该第一文件删除模块510,包括:
状态确定子模块511,用于在该当前数据同步任务启动时,通过查询该目标数据表,确定该第一数据同步任务的执行状态;
第一文件确定子模块512,用于当确定该第一数据同步任务的执行状态为执行失败时,确定该目标数据表中附带该第一标识的数据文件,作为该第一数据文件;
第一文件删除子模块513,用于删除该第一数据文件。
可选的,该文件转换模块520,用于:
当确定该第一数据同步任务执行失败时,将该第一标识作为该目标标识,为该当前数据同步任务中需要同步的数据文件的文件名添加临时文件标识和该目标标识,以获取该第二数据文件;或者,
当确定该第一数据同步任务执行成功时,将该第二标识作为该目标标识,为该当前数据同步任务中需要同步的数据文件的文件名添加临时文件标识和该目标标识,以获取该第二数据文件。
图7是根据图5所示实施例示出的一种任务执行模块的框图,如图7所示,该任务执行模块530,包括:
文件写入子模块531,用于通过该写文件操作将该第二数据文件写入该目标数据表;
文件转换子模块532,用于在确定该写文件操作完成后,通过该重命名操作删除该第二数据文件的文件名中的临时文件标识,以将该第二数据文件从该临时数据文件转换为该有效数据文件。
图8是根据图5所示实施例示出的一种第二文件删除模块的框图,如图8所示,该第二文件删除模块540,包括:
执行停止子模块541,用于当该写文件操作或者该重命名操作的过程中出现错误时,停止该当前数据同步任务;
第二文件确定子模块542,用于根据该目标标识在该目标数据表中确定该目标数据文件;
第二文件删除子模块543,用于删除该目标数据文件。
综上所述,本公开能够在当前数据同步任务启动时,根据第一数据同步任务的执行状态,确定是否删除分析引擎的目标数据表中的第一数据文件,该第一数据同步任务为该当前数据同步任务的前一个数据同步任务,该第一数据文件为在该第一数据同步任务执行失败时被写入该目标数据表的附带第一标识的临时数据文件;根据该第一数据同步任务的执行状态,将该当前数据同步任务中需要同步的数据文件转换为附带目标标识的临时数据文件,作为第二数据文件,该目标标识为该第一标识或第二标识,该第二标识为在确定该第一数据同步任务执行成功后生成的标识;在该当前数据同步任务的执行过程中,对该第二数据文件进行写文件操作和重命名操作,以将该第二数据文件写入该目标数据表并转换为能够被该分析引擎使用的有效数据文件;当该写文件操作或者该重命名操作的过程中出现错误时,根据该目标标识删除目标数据文件,该目标数据文件为在该写文件操作或者该重命名操作出现错误之前已写入该目标数据表的数据文件。能够在数据同步之前和数据同步的过程中,清除因同步失败而产生的垃圾文件,避免数据表维护中人工干预的步骤,提高数据同步的运维效率。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图9是根据一示例性实施例示出的一种电子设备900的框图。如图9所示,该电子设备900可以包括:处理器901,存储器902,多媒体组件903,输入/输出(I/O)接口904,以及通信组件905。
其中,处理器901用于控制该电子设备900的整体操作,以完成上述的数据同步的数据表维护方法中的全部或部分步骤。存储器902用于存储各种类型的数据以支持在该电子设备900的操作,这些数据例如可以包括用于在该电子设备900上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器902可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件903可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器902或通过通信组件905发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口904为处理器901和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件905用于该电子设备900与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件905可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备900可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的数据同步的数据表维护方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器902,上述程序指令可由电子设备900的处理器901执行以完成上述的数据同步的数据表维护方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,本领域技术人员在考虑说明书及实践本公开后,容易想到本公开的其它实施方案,均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。同时本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。本公开并不局限于上面已经描述出的精确结构,本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种数据同步的数据表维护方法,其特征在于,所述方法包括:
在当前数据同步任务启动时,根据第一数据同步任务的执行状态,确定是否删除分析引擎的目标数据表中的第一数据文件,所述第一数据同步任务为所述当前数据同步任务的前一个数据同步任务,所述第一数据文件为在所述第一数据同步任务执行失败时被写入所述目标数据表的附带第一标识的临时数据文件;
根据所述第一数据同步任务的执行状态,将所述当前数据同步任务中需要同步的数据文件转换为附带目标标识的临时数据文件,作为第二数据文件,所述目标标识为所述第一标识或第二标识,所述第二标识为在确定所述第一数据同步任务执行成功后生成的标识;
在所述当前数据同步任务的执行过程中,对所述第二数据文件进行写文件操作和重命名操作,以将所述第二数据文件写入所述目标数据表并转换为能够被所述分析引擎使用的有效数据文件;
当所述写文件操作或者所述重命名操作的过程中出现错误时,根据所述目标标识删除目标数据文件,所述目标数据文件为在所述写文件操作或者所述重命名操作出现错误之前已写入所述目标数据表的数据文件。
2.根据权利要求1所述的方法,其特征在于,所述执行状态包括:执行成功或执行失败,所述在当前数据同步任务启动时,根据第一数据同步任务的执行状态,确定是否删除分析引擎的目标数据表中的第一数据文件,包括:
在所述当前数据同步任务启动时,通过查询所述目标数据表,确定所述第一数据同步任务的执行状态;
当确定所述第一数据同步任务的执行状态为执行失败时,确定所述目标数据表中附带所述第一标识的数据文件,作为所述第一数据文件;
删除所述第一数据文件。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一数据同步任务的执行状态,将所述当前数据同步任务中需要同步的数据文件转换为附带目标标识的临时数据文件,作为第二数据文件,包括:
当确定所述第一数据同步任务执行失败时,将所述第一标识作为所述目标标识,为所述当前数据同步任务中需要同步的数据文件的文件名添加临时文件标识和所述目标标识,以获取所述第二数据文件;或者,
当确定所述第一数据同步任务执行成功时,将所述第二标识作为所述目标标识,为所述当前数据同步任务中需要同步的数据文件的文件名添加临时文件标识和所述目标标识,以获取所述第二数据文件。
4.根据权利要求3所述的方法,其特征在于,所述在所述当前数据同步任务的执行过程中,对所述第二数据文件进行写文件操作和重命名操作,以将所述第二数据文件写入所述目标数据表并转换为能够被所述分析引擎使用的有效数据文件,包括:
通过所述写文件操作将所述第二数据文件写入所述目标数据表;
在确定所述写文件操作完成后,通过所述重命名操作删除所述第二数据文件的文件名中的临时文件标识,以将所述第二数据文件从所述临时数据文件转换为所述有效数据文件。
5.根据权利要求1所述的方法,其特征在于,所述当所述写文件操作或者所述重命名操作的过程中出现错误时,根据所述目标标识删除目标数据文件,包括:
当所述写文件操作或者所述重命名操作的过程中出现错误时,停止所述当前数据同步任务;
根据所述目标标识在所述目标数据表中确定所述目标数据文件;
删除所述目标数据文件。
6.一种数据同步的数据表维护装置,其特征在于,所述装置包括:
第一文件删除模块,用于在当前数据同步任务启动时,根据第一数据同步任务的执行状态,确定是否删除分析引擎的目标数据表中的第一数据文件,所述第一数据同步任务为所述当前数据同步任务的前一个数据同步任务,所述第一数据文件为在所述第一数据同步任务执行失败时被写入所述目标数据表的附带第一标识的临时数据文件;
文件转换模块,用于根据所述第一数据同步任务的执行状态,将所述当前数据同步任务中需要同步的数据文件转换为附带目标标识的临时数据文件,作为第二数据文件,所述目标标识为所述第一标识或第二标识,所述第二标识为在确定所述第一数据同步任务执行成功后生成的标识;
任务执行模块,用于在所述当前数据同步任务的执行过程中,对所述第二数据文件进行写文件操作和重命名操作,以将所述第二数据文件写入所述目标数据表并转换为能够被所述分析引擎使用的有效数据文件;
第二文件删除模块,用于当所述写文件操作或者所述重命名操作的过程中出现错误时,根据所述目标标识删除目标数据文件,所述目标数据文件为在所述写文件操作或者所述重命名操作出现错误之前已写入所述目标数据表的数据文件。
7.根据权利要求6所述的装置,其特征在于,所述执行状态包括:执行成功或执行失败,所述第一文件删除模块,包括:
状态确定子模块,用于在所述当前数据同步任务启动时,通过查询所述目标数据表,确定所述第一数据同步任务的执行状态;
第一文件确定子模块,用于当确定所述第一数据同步任务的执行状态为执行失败时,确定所述目标数据表中附带所述第一标识的数据文件,作为所述第一数据文件;
第一文件删除子模块,用于删除所述第一数据文件。
8.根据权利要求6所述的装置,其特征在于,所述文件转换模块,用于:
当确定所述第一数据同步任务执行失败时,将所述第一标识作为所述目标标识,为所述当前数据同步任务中需要同步的数据文件的文件名添加临时文件标识和所述目标标识,以获取所述第二数据文件;或者,
当确定所述第一数据同步任务执行成功时,将所述第二标识作为所述目标标识,为所述当前数据同步任务中需要同步的数据文件的文件名添加临时文件标识和所述目标标识,以获取所述第二数据文件。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811302906.3A CN109614442B (zh) | 2018-11-02 | 2018-11-02 | 数据同步的数据表维护方法、装置、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811302906.3A CN109614442B (zh) | 2018-11-02 | 2018-11-02 | 数据同步的数据表维护方法、装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109614442A true CN109614442A (zh) | 2019-04-12 |
CN109614442B CN109614442B (zh) | 2020-12-25 |
Family
ID=66001881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811302906.3A Active CN109614442B (zh) | 2018-11-02 | 2018-11-02 | 数据同步的数据表维护方法、装置、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109614442B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026751A (zh) * | 2019-11-22 | 2020-04-17 | 北京金山云网络技术有限公司 | 分布式表格的处理方法、装置、***及电子设备 |
CN111078450A (zh) * | 2019-12-09 | 2020-04-28 | 武汉华中数控股份有限公司 | 嵌入式***中文件数据未同步的检测方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5269018A (en) * | 1990-11-29 | 1993-12-07 | Hyundai Electronics Industries Co., Ltd. | Method for auto-formatting a hard disk drive for a computer system |
US20030158863A1 (en) * | 2002-02-15 | 2003-08-21 | International Business Machines Corporation | File system snapshot with ditto address feature |
CN101894137A (zh) * | 2010-06-23 | 2010-11-24 | 中兴通讯股份有限公司 | 嵌入式数据库中数据恢复的方法和装置 |
US20120233418A1 (en) * | 2011-03-08 | 2012-09-13 | Rackspace Us, Inc. | Massively scalable object storage |
CN102882776A (zh) * | 2012-09-13 | 2013-01-16 | 中广传播集团有限公司 | 一种移动多媒体广播终端文件包级和文件级数据补收方法 |
CN103716370A (zh) * | 2013-10-13 | 2014-04-09 | 北界创想(北京)软件有限公司 | 在多个客户端之间进行数据同步的方法和装置 |
US20140250074A1 (en) * | 2008-10-21 | 2014-09-04 | Microsoft Corporation | Forgetting items with knowledge based synchronization |
CN106294769A (zh) * | 2016-08-11 | 2017-01-04 | 珠海格力电器股份有限公司 | 同步工程数据的方法、***和装置 |
CN106557364A (zh) * | 2015-09-24 | 2017-04-05 | 阿里巴巴集团控股有限公司 | 一种数据同步方法和*** |
CN107590207A (zh) * | 2017-08-24 | 2018-01-16 | 阿里巴巴集团控股有限公司 | 数据同步方法及装置、电子设备 |
CN107665234A (zh) * | 2017-07-25 | 2018-02-06 | 平安科技(深圳)有限公司 | 业务处理方法、装置、服务器和存储介质 |
CN108347468A (zh) * | 2017-01-25 | 2018-07-31 | 电信科学技术研究院 | 一种进行数据同步的方法及设备 |
-
2018
- 2018-11-02 CN CN201811302906.3A patent/CN109614442B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5269018A (en) * | 1990-11-29 | 1993-12-07 | Hyundai Electronics Industries Co., Ltd. | Method for auto-formatting a hard disk drive for a computer system |
US20030158863A1 (en) * | 2002-02-15 | 2003-08-21 | International Business Machines Corporation | File system snapshot with ditto address feature |
US20140250074A1 (en) * | 2008-10-21 | 2014-09-04 | Microsoft Corporation | Forgetting items with knowledge based synchronization |
CN101894137A (zh) * | 2010-06-23 | 2010-11-24 | 中兴通讯股份有限公司 | 嵌入式数据库中数据恢复的方法和装置 |
US20120233418A1 (en) * | 2011-03-08 | 2012-09-13 | Rackspace Us, Inc. | Massively scalable object storage |
CN102882776A (zh) * | 2012-09-13 | 2013-01-16 | 中广传播集团有限公司 | 一种移动多媒体广播终端文件包级和文件级数据补收方法 |
CN103716370A (zh) * | 2013-10-13 | 2014-04-09 | 北界创想(北京)软件有限公司 | 在多个客户端之间进行数据同步的方法和装置 |
CN106557364A (zh) * | 2015-09-24 | 2017-04-05 | 阿里巴巴集团控股有限公司 | 一种数据同步方法和*** |
CN106294769A (zh) * | 2016-08-11 | 2017-01-04 | 珠海格力电器股份有限公司 | 同步工程数据的方法、***和装置 |
CN108347468A (zh) * | 2017-01-25 | 2018-07-31 | 电信科学技术研究院 | 一种进行数据同步的方法及设备 |
CN107665234A (zh) * | 2017-07-25 | 2018-02-06 | 平安科技(深圳)有限公司 | 业务处理方法、装置、服务器和存储介质 |
CN107590207A (zh) * | 2017-08-24 | 2018-01-16 | 阿里巴巴集团控股有限公司 | 数据同步方法及装置、电子设备 |
Non-Patent Citations (2)
Title |
---|
与时俱进: "FIREBIRD数据库的修复", 《HTTPS://WWW.CNBLOGS.COM/TOP5/ARCHIVE/2009/04/10/1433008.HTML》 * |
楼虎彪: "基于日志差量提取和消息队列的SaaS平台数据交换技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026751A (zh) * | 2019-11-22 | 2020-04-17 | 北京金山云网络技术有限公司 | 分布式表格的处理方法、装置、***及电子设备 |
CN111026751B (zh) * | 2019-11-22 | 2024-02-09 | 北京金山云网络技术有限公司 | 分布式表格的处理方法、装置、***及电子设备 |
CN111078450A (zh) * | 2019-12-09 | 2020-04-28 | 武汉华中数控股份有限公司 | 嵌入式***中文件数据未同步的检测方法 |
CN111078450B (zh) * | 2019-12-09 | 2023-06-02 | 武汉华中数控股份有限公司 | 嵌入式***中文件数据未同步的检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109614442B (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228814B (zh) | 数据同步方法及装置 | |
US8589353B2 (en) | Method for backing up terminal data and system thereof | |
CN102223361A (zh) | 通讯***及其相关数据同步方法 | |
CN104657158B (zh) | 一种业务***中业务处理的方法和装置 | |
US20110167041A1 (en) | Method and device for maintaining a changelog in data synchronization | |
CN105677736A (zh) | 一种增加、删除服务器节点的方法及装置 | |
CN109144785A (zh) | 用于备份数据的方法和装置 | |
US10452304B2 (en) | Efficient repository migration and storage | |
CN109614442A (zh) | 数据同步的数据表维护方法、装置、存储介质和电子设备 | |
CN105512276A (zh) | 一种构建垃圾文件的方法、装置及电子设备 | |
CN102291453A (zh) | 一种数据同步的方法及装置 | |
US7739232B2 (en) | Programming system for occasionally-connected mobile business applications | |
CN106250501A (zh) | 报表处理方法及报表*** | |
CN104462108A (zh) | 数据库结构对象处理方法及装置 | |
CN109918439B (zh) | 数据同步方法及其应用的环路检测方法和相关装置 | |
KR20150123603A (ko) | 데이터베이스 관리 방법 및 데이터베이스 관리 시스템 | |
CN102938806B (zh) | 一种获取通话资源的方法及装置 | |
CN107463618B (zh) | 一种索引创建方法和装置 | |
CN102456023A (zh) | 一种查找用户信息的方法及*** | |
CN115660591A (zh) | 用于业务审批的流程配置方法、***、电子设备及介质 | |
CN103167545A (zh) | 一种基站相关ip割接的方法及装置 | |
CN116739397B (zh) | 一种新能源指标的动态管理方法 | |
CN102662995A (zh) | 一种快速定位手机应用数据更新的方法 | |
CN103823671A (zh) | 一种控件创建方法和调用方法及*** | |
KR100733091B1 (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 |