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

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

Info

Publication number
CN116089529A
CN116089529A CN202211697934.6A CN202211697934A CN116089529A CN 116089529 A CN116089529 A CN 116089529A CN 202211697934 A CN202211697934 A CN 202211697934A CN 116089529 A CN116089529 A CN 116089529A
Authority
CN
China
Prior art keywords
file
target file
target
data table
synchronized
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.)
Pending
Application number
CN202211697934.6A
Other languages
English (en)
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.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group 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 China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202211697934.6A priority Critical patent/CN116089529A/zh
Publication of CN116089529A publication Critical patent/CN116089529A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/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/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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Landscapes

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

Abstract

本申请提供一种数据同步方法、装置、电子设备及存储介质。方法包括:从文件传输协议服务器获得待同步的目标文件;检测当前远程字典服务器中是否存在所述目标文件的标识,所述远程字典服务器用于记录已同步文件的标识;若不存在,则将所述目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统中,并将分布式文件系统中写入的所述目标文件映射至所述源数据表中,以完成数据同步;若存在,则不执行所述目标文件的数据同步。本申请的方案,能够有效避免文件的重复写入,提高了资源利用率和数据同步的效率。

Description

数据同步方法、装置、电子设备及存储介质
技术领域
本申请涉及大数据技术,尤其涉及一种数据同步方法、装置、电子设备及存储介质。
背景技术
报表开发是大数据开发的一类常见的需求,可以实现对数据合理化和科学化的管理。应用数据仓库管理系统进行报表开发时,需要将文件传输协议服务器上的文件同步到数据仓库管理服务系统。
实际应用中,文件传输协议服务器上的文件实时更新,需要周期性的将文件传输协议服务器上的文件同步到数据仓库管理服务系统。上述相关技术中,存在目标文件的重复写入,资源利用率和数据同步效率较低。
发明内容
本申请提供一种数据同步方法、装置、电子设备及存储介质,用以解决资源利用率和数据同步效率较低的问题。
第一方面,本申请提供一种数据同步方法,包括:从文件传输协议服务器获得待同步的目标文件;检测当前远程字典服务器中是否存在所述目标文件的标识,所述远程字典服务器用于记录已同步文件的标识;若不存在,则将所述目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统中,并将分布式文件系统中写入的所述目标文件映射至所述源数据表中,以完成数据同步;若存在,则不执行所述目标文件的数据同步;其中,所述源数据表为数据仓库管理系统下的数据表。
可选的,所述若不存在,则将所述目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统中之后,还包括:若写入成功,则将所述目标文件的标识写入所述远程字典服务器;若写入失败,则不将所述目标文件的标识写入所述远程字典服务器,并清除当前已写入至所述分布式文件系统的所述目标文件的内容。
可选的,所述目标文件的标识包括所述目标文件的文件传输协议服务器全路径。
可选的,所述源数据表包括不同属性对应的分区;所述将分布式文件系统中写入的所述目标文件映射至所述源数据表中,包括:获取所述目标文件的属性;将所述目标文件映射至所述源数据表中与所述目标文件的属性对应的分区。
可选的,所述方法还包括:针对所述源数据表的每个分区中的目标文件,解析所述目标文件获得所述目标文件在各数据字段下的数据;针对每个统计需求所需的数据字段,从所述分区的目标文件中提取相应数据字段下的第一数据;将每个统计需求对应的第一数据导入至该统计需求对应的目的表。
可选的,所述目标文件的数量为多个;所述从文件传输协议服务器获得待同步的目标文件,包括:将所述文件传输协议服务器中的文件划分为多个文件组;为每个文件组配置对应的扫描线程,并基于每个文件组对应的扫描线程,通过扫描该文件组中所有文件的文件传输协议服务器全路径,获得所述目标文件。
第二方面,本申请提供一种数据同步装置,包括:获取模块,用于从文件传输协议服务器获得待同步的目标文件;检测模块,用于检测当前远程字典服务器中是否存在所述目标文件的标识,所述远程字典服务器用于记录已同步文件的标识;第一处理模块,用于若不存在,则将所述目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统中,并将分布式文件系统中写入的所述目标文件映射至所述源数据表中,以完成数据同步;若存在,则不执行所述目标文件的数据同步;其中,所述源数据表为数据仓库管理系统下的数据表。
可选的,所述装置还包括:第二处理模块;所述第二处理模块用于:若写入成功,则将所述目标文件的标识写入所述远程字典服务器;若写入失败,则不将所述目标文件的标识写入所述远程字典服务器,并清除当前已写入至所述分布式文件系统的所述目标文件的内容。
可选的,所述目标文件的标识包括所述目标文件的文件传输协议服务器全路径。
可选的,所述源数据表包括不同属性对应的分区;所述第一处理模块用于将分布式文件系统中写入的所述目标文件映射至所述源数据表中时,具体用于:获取所述目标文件的属性;将所述目标文件映射至所述源数据表中与所述目标文件的属性对应的分区。
可选的,所述装置还包括:解析模块,用于针对所述源数据表的每个分区中的目标文件,解析所述目标文件获得所述目标文件在各数据字段下的数据;提取模块,用于针对每个统计需求所需的数据字段,从所述分区的目标文件中提取相应数据字段下的第一数据;导入模块,用于将每个统计需求对应的第一数据导入至该统计需求对应的目的表。
可选的,所述目标文件的数量为多个;所述获取模块,具体用于:将所述文件传输协议服务器中的文件划分为多个文件组;为每个文件组配置对应的扫描线程,并基于每个文件组对应的扫描线程,通过扫描该文件组中所有文件的文件传输协议服务器全路径,获得所述目标文件。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如前所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如前所述的方法。
本申请提供的数据同步方法、装置、电子设备及存储介质中,从文件传输协议服务器获得待同步的目标文件;检测当前远程字典服务器中是否存在目标文件的标识,远程字典服务器用于记录已同步文件的标识;若不存在,则将目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统中,并将分布式文件系统中写入的目标文件映射至源数据表中,以完成数据同步;若存在,则不执行目标文件的数据同步。本申请的方案,远程字典服务器中记录了已同步数据的标识,从文件传输协议服务器获得待同步的目标文件之后,通过检测当前远程字典服务器中是否存在目标文件的标识,可以确定待同步的目标文件是否已完成数据同步,若不存在再将待同步的目标文件写入,能够有效避免文件的重复写入,提高了资源利用率和数据同步的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例一提供的数据同步方法的流程示意图;
图2为本申请实施例二提供的数据同步方法的流程示意图;
图3为本申请实施例三提供的数据同步装置的结构示意图;
图4为本申请实施例四提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似或同类的对象或实体,而并不必然意味着限定特定的顺序或先后次序,除非另外注明(Unless otherwise indicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
报表开发是大数据开发的一类常见的需求,可以实现对数据合理化和科学化的管理。应用数据仓库管理系统进行报表开发时,需要将文件传输协议服务器上的文件同步到数据仓库管理服务系统。实际应用中,文件传输协议服务器上的文件实时更新,需要周期性的将文件传输协议服务器上的文件同步到数据仓库管理服务系统。
可以理解,待同步的目标文件有多个时,存在不能成功写入的文件,为了将文件传输协议服务器上的文件准确的同步到数据仓库管理服务系统中,当前同步周期的待同步的目标文件与上一同步周期的待同步的目标文件存在重复文件。举例来说,根据配置参数将文件名中日期为当前日期以及当前日期前2天的文件待同步的目标文件,当前日期为3月12日时,待同步的目标文件为文件名中日期为3月10日、3月11日以及3月12日的文件;当前日期为3月13日时,待同步的目标文件为文件名中日期为3月11日、3月12日以及3月13日的文件。目标文件的重复写入,会使得资源利用率和数据同步效率较低。
本申请实施例中,远程字典服务器中记录了已同步数据的标识,从文件传输协议服务器获得待同步的目标文件之后,通过检测当前远程字典服务器中是否存在目标文件的标识,可以确定待同步的目标文件是否已完成数据同步,若不存在再将待同步的目标文件写入,能够有效避免文件的重复写入,提高了资源利用率和数据同步的效率。
下面以具体的实施例对本申请的技术方案以及本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。在本申请的描述中,除非另有明确的规定和限定,各术语应在本领域内做广义理解。下面将结合附图,对本申请的实施例进行描述。
实施例一
图1为本申请实施例一提供的数据同步方法的流程示意图,本实施例的实施主体可以为数据同步装置,如图1所示,该方法包括以下步骤:
S101、从文件传输协议服务器获得待同步的目标文件;
S102、检测当前远程字典服务器中是否存在上述目标文件的标识;
S103、若存在,则不执行目标文件的数据同步;
S104、若不存在,则将目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统中;
S105、将分布式文件系统中写入的目标文件映射至源数据表中,以完成数据同步。
本实施例中,文件传输协议服务器(File Transfer Protocol,简称FTP)中的文件的文件名包括文件的特征信息,示例的,文件名包括文件的生成时间、文件中数据的来源以及文件的类型。可选的,预先设置筛选条件,将文件传输协议服务器中文件名满足筛选条件的文件,作为待同步的目标文件。
具体的,S101中从文件传输协议服务器获得待同步的目标文件。举例来说,筛选条件为文件中数据的来源为区域A,文件传输协议服务器中有文件1、文件2、文件3、文件4以及文件5,文件1和文件2的文件名包括区域A的标识,文件3、文件4以及文件5的文件名包括区域B的标识,根据筛选条件,将文件传输协议服务器中的文件名中带有区域A标识的文件1和文件2,作为待同步的目标文件。
实际应用中,该控制方法的执行主体可以为数据同步装置,数据同步装置的实现方式由多种,比如,可以通过计算机程序实现,例如,应用软件等;或者,也可以实现为存储有相关计算机程序的介质,例如,U盘、云盘等;再或者,还可以通过集成或安装有相关计算机程序的实体装置实现,例如,芯片等。
本实施中,远程字典服务器(Remote Dictionary Server,简称Redis)用于记录已同步文件的标识。文件的标识可以唯一表征文件,可选的,文件的标识可以是文件名,也可以是文件名中的特征信息,举例来说,文件的标识可以是文件的生成时间,在此不做限定。
示例的,远程字典服务器采用集合(Set)类型结构,记录已同步文件的标识,远程字典服务器中存储的内容是不重复的数据。可以理解,若检测到当前远程字典服务器中存在上述目标文件的标识,则说明上述目标文件已经完成数据的同步;若检测到当前远程字典服务器中不存在上述目标文件的标识,则说明上述目标文件未进行数据的同步。
其中,上述源数据表为数据仓库管理系统(Hive)下的数据表。数据仓库管理系统能够将分布式文件系统(Hadoop Distributed File System,简称HDFS)中的数据文件映射为一张数据库表。因此,源数据表与分布式文件系统中路径一一对应。可选的,源数据表所对应的分布式文件系统的路径包含源数据表的标识,将目标文件写入包含该目标文件需同步至的源数据表标识的分布式文件系统的路径下。
可选的,将目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统的路径下时,可以根据实际需求,写入整个目标文件或者目标文件的部分内容。可选的,可以先将目标文件压缩,再将压缩后的目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统的路径下。
可以理解,检测到当前远程字典服务器中不存在上述目标文件的标识,确定上述目标文件需同步的源数据表,将目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统的路径下,将分布式文件系统对应路径下的目标文件映射至源数据表中,可以实现目标文件从文件传输协议服务器到数据仓库管理系统下的同步。
需要说明的是,有多个待同步的目标文件时,检测当前远程字典服务器中是否存在多个目标文件的标识;对于远程字典服务器中存在的,目标文件的标识对应的文件,不执行目标文件的数据同步;对于远程字典服务器中不存在的,目标文件的标识对应的文件,将目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统中,并将分布式文件系统中写入的目标文件映射至源数据表中,以完成数据同步。
实际应用中,远程字典服务器用于记录已同步文件的标识,因此,目标文件同步完成之后,可以将目标文件的标识记录到远程字典服务器中。示例性的,在一种可能的实施方式中,S104之后,还包括:
若写入成功,则将上述目标文件的标识写入上述远程字典服务器;
若写入失败,则不将上述目标文件的标识写入上述远程字典服务器,并清除当前已写入至上述分布式文件系统的上述目标文件的内容。
其中,写入成功是指目标文件的内容全部写入该目标文件需同步至的源数据表所对应的分布式文件系统中,写入失败是指目标文件的内容未全部写入该目标文件需同步至的源数据表所对应的分布式文件系统中。
可以理解,若写入成功,则将上述目标文件的标识写入上述远程字典服务器,可以更新远程字典服务器中记录的已同步文件的标识,可以有效避免下次目标文件同步时,目标文件的重复写入。若写入失败,则不将上述目标文件的标识写入上述远程字典服务器,并清除当前已写入至上述分布式文件系统的上述目标文件的内容,可以保证该目标文件需同步至的源数据表标识的分布式文件系统的路径下没有内容,再次通过上述数据同步方法的步骤完成该目标文件的同步。
本实施方式中,若写入成功,则将上述目标文件的标识写入上述远程字典服务器;若写入失败,则不将上述目标文件的标识写入上述远程字典服务器,并清除当前已写入至上述分布式文件系统的上述目标文件的内容,实现了远程字典服务器中记录的已同步文件的标识的更新,可以有效避免下次目标文件同步时,目标文件的重复写入。
可选的,目标文件的标识可以为目标文件的文件传输协议服务器的全路径,在一种可能的实施方式中,上述目标文件的标识包括上述目标文件的文件传输协议服务器的全路径。
其中,目标文件的文件传输协议服务器的全路径为目标文件在文件传输协议服务器的存储路径,通过目标文件的文件传输协议服务器的全路径可以获得目标文件。本实施方式中,全路径包括目标文件的文件名,目标文件的文件传输协议服务器的全路径与目标文件一一对应。因此,目标文件的文件传输协议服务器的全路径可以唯一表征目标文件,可以将目标文件的文件传输协议服务器的全路径作为目标文件的标识。
可选的,待同步的目标文件的数量为多个,关于待同步的目标文件的获取方法,在一种可能的实施方式中,S101中从文件传输协议服务器获得待同步的目标文件,包括:
将上述文件传输协议服务器中的文件划分为多个文件组;
为每个文件组配置对应的扫描线程,并基于每个文件组对应的扫描线程,通过扫描该文件组中所有文件的文件传输协议服务器全路径,获得上述目标文件。
实际应用中,文件传输协议服务器中文件的分组可以是随机的,也可以是按照设定的分组规则进行分组的。示例的,程序启动时,设定文件传输协议服务器中文件的分组规则。举例来说,分组规则可以是按照文件的类型对文件传输协议服务器中的文件进行分组。再举例来说,分组规则可以是按照文件在文件传输协议服务器中的存储位置进行分组。
示例的,每个文件组对应的扫描线程,对该文件组中所有文件的文件传输协议服务器全路径进行扫描,将满足筛选条件的文件,作为待同步的目标文件。举例来说,筛选条件为近3天内的文件,当前时间为4月12日,确定待同步的目标文件为4月9日、4月10日以及4月11日的文件,每个文件组对应的扫描线程,对该文件组所有文件的文件传输协议服务器全路径进行扫描,筛选获得4月9日、4月10日以及4月11日的文件,并将获得的文件作为待同步的目标文件。
本实施方式中,将文件传输协议服务器中的文件划分为多个文件组,并为每个文件组配置对应的扫描线程,每个扫描线程通过扫描该文件组中所有文件的文件传输协议服务器全路径,获得上述目标文件,提高了目标文件的获取效率,从而提高了数据同步的效率。
本实施例提供的数据同步方法中,从文件传输协议服务器获得待同步的目标文件;检测当前远程字典服务器中是否存在目标文件的标识,远程字典服务器用于记录已同步文件的标识;若不存在,则将目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统中,并将分布式文件系统中写入的目标文件映射至源数据表中,以完成数据同步;若存在,则不执行目标文件的数据同步。本实施例中,远程字典服务器中记录了已同步数据的标识,从文件传输协议服务器获得待同步的目标文件之后,通过检测当前远程字典服务器中是否存在目标文件的标识,可以确定待同步的目标文件是否已完成数据同步,若不存在再将待同步的目标文件写入,能够有效避免文件的重复写入,提高了资源利用率和数据同步的效率。
实施例二
图2为本申请实施例二提供的数据同步方法的流程示意图,本实施例中源数据表包括不同属性对应的分区,如图2所示,该方法包括如下步骤:
S201、从文件传输协议服务器获得待同步的目标文件;
S202、检测当前远程字典服务器中是否存在上述目标文件的标识;
S203、若存在,则不执行目标文件的数据同步。
S204、若不存在,则将目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统中;
S205、获取上述目标文件的属性;
S206、将上述目标文件映射至上述源数据表中与上述目标文件的属性对应的分区,以完成数据同步。
本实施例的S201至S204与上述实施例的S101至S104相同,具体参见上述实施例,本实施例中不再赘述。
本实施例中,源数据表包括不同属性对应的分区,源数据表的每个分区对应一个属性。
举例来说,源数据表的分区可以按照目标文件写入分布式文件系统的时间进行分区,例如,将12点到13点之间,写入分布式文件系统的目标文件映射至源数据表中12点对应的分
区。再举例来说,源数据表的分区也可以按照目标文件中数据的来源进行分区,例如,文5件传输协议服务器中文件中数据的来源为区域A、区域B、区域C以及区域D,将源数据
表的分区分为A区、B区、C区以及D区。
实际应用中,目标文件的属性表征目标文件需映射至的源数据表的分区,获取目标文件的属性,就可以确定目标文件的属性对应的分区。举例来说,目标文件的属性为写入分
布式文件系统的时间,目标文件1写入分布式文件系统的时间为12点13分,目标文件20写入分布式文件系统的时间为11点45分,目标文件3写入分布式文件系统的时间为12
点34分,根据目标文件1、目标文件2以及目标文件3的属性确定目标文件1和目标文件2对应源数据表中12点对应的分区,目标文件2对应源数据表中11点对应的分区。
可以理解,将目标文件映射至上述源数据表中与上述目标文件的属性对应的分区,可
以实现数据的同步,并且,将目标文件映射至上述源数据表中与上述目标文件的属性对应5的分区,便于后续对源数据表中目标文件的处理。
可选的,可以对源数据表中每个分区的目标文件进行更细化的管理,在一种可能的实施方式中,该方法还包括:
针对上述源数据表的每个分区中的目标文件,解析上述目标文件获得上述目标文件在
各数据字段下的数据;
0针对每个统计需求所需的数据字段,从上述分区的目标文件中提取相应数据字段下的第一数据;
将每个统计需求对应的第一数据导入至该统计需求对应的目的表。
实际应用中,源数据表中目标文件中的数据是整条保存的,通过解析可以获取目标文
件在各数据字段下的数据。其中,数据字段为解析后目标文件中数据的最小单位。举例来5说,每个数据字段下包括一个数据,通过解析上述目标文件,可以获取目标文件中每个数据。
实际应用中,统计需求所需的数据字段可以根据实际统计需求动态设定。第一数据为目标文件中统计需求所需的数据字段所对应的数据,将第一数据导入该统计需求对应的目的表,可以实现统计需求级别的数据管理。
0本实施方式中,通过解析源数据表中每个分区中的目标文件,获得了目标文件在各数据字段下的数据,并根据每个统计需求,提取每个统计需求对应的第一数据,将第一数据导入至统计需求对应的目的表,提高了源数据表中数据管理的效率。
本实施例提供的数据同步方法中,从文件传输协议服务器获得待同步的目标文件;检测当前远程字典服务器中是否存在目标文件的标识,远程字典服务器用于记录已同步文件的标识;若存在,则不执行目标文件的数据同步;其中,源数据表为数据仓库管理系统下的数据表;若不存在,则将目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统中;获取上述目标文件的属性;将上述目标文件映射至上述源数据表中与上述目标文件的属性对应的分区,以完成数据同步。本实施例中,根据目标文件的属性,确定目标文件需同步至的源数据表的分区,并将目标文件映射至对应的源数据表的分区,实现了目标文件在源数据表中的分区映射,提高了后续对源数据表中数据处理的效率。
实施例三
图3为本申请实施例三提供的数据同步装置的结构示意图,如图3所示,该装置包括:
获取模块31,用于从文件传输协议服务器获得待同步的目标文件;
检测模块32,用于检测当前远程字典服务器中是否存在上述目标文件的标识;
第一处理模块33,用于若不存在,则将目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统中,并将分布式文件系统中写入的目标文件映射至源数据表中,以完成数据同步;若存在,则不执行目标文件的数据同步。
本实施例中,文件传输协议服务器(File Transfer Protocol,简称FTP)中的文件的文件名包括文件的特征信息,示例的,文件名包括文件的生成时间、文件中数据的来源以及文件的类型。可选的,预先设置筛选条件,将文件传输协议服务器中文件名满足筛选条件的文件,作为待同步的目标文件。
本实施中,远程字典服务器(Remote Dictionary Server,简称Redis)用于记录已同步文件的标识。文件的标识可以唯一表征文件,可选的,文件的标识可以是文件名,也可以是文件名中的特征信息,举例来说,文件的标识可以是文件的生成时间,在此不做限定。
示例的,远程字典服务器采用集合(Set)类型结构,记录已同步文件的标识,远程字典服务器中存储的内容是不重复的数据。可以理解,若检测到当前远程字典服务器中存在上述目标文件的标识,则说明上述目标文件已经完成数据的同步;若检测到当前远程字典服务器中不存在上述目标文件的标识,则说明上述目标文件未进行数据的同步。
其中,上述源数据表为数据仓库管理系统(Hive)下的数据表。数据仓库管理系统能够将分布式文件系统(Hadoop Distributed File System,简称HDFS)中的数据文件映射为一张数据库表。因此,源数据表与分布式文件系统中路径一一对应。可选的,源数据表所对应的分布式文件系统的路径包含源数据表的标识,将目标文件写入包含该目标文件需同步至的源数据表标识的分布式文件系统的路径下。
可选的,将目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统的路径下时,可以根据实际需求,写入整个目标文件或者目标文件的部分内容。可选的,可以先将目标文件压缩,再将压缩后的目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统的路径下。
可以理解,检测到当前远程字典服务器中不存在上述目标文件的标识,确定上述目标文件需同步的源数据表,将目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统的路径下,将分布式文件系统对应路径下的目标文件映射至源数据表中,可以实现目标文件从文件传输协议服务器到数据仓库管理系统下的同步。
需要说明的是,有多个待同步的目标文件时,检测当前远程字典服务器中是否存在多个目标文件的标识;对于远程字典服务器中存在的,目标文件的标识对应的文件,不执行目标文件的数据同步;对于远程字典服务器中不存在的,目标文件的标识对应的文件,将目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统中,并将分布式文件系统中写入的目标文件映射至源数据表中,以完成数据同步。
可选的,在一种可能的实施方式中,上述装置还包括:第二处理模块;上述第二处理模块用于:
若写入成功,则将上述目标文件的标识写入上述远程字典服务器;
若写入失败,则不将上述目标文件的标识写入上述远程字典服务器,并清除当前已写入至上述分布式文件系统的上述目标文件的内容。
其中,写入成功是指目标文件的内容全部写入该目标文件需同步至的源数据表所对应的分布式文件系统中,写入失败是指目标文件的内容未全部写入该目标文件需同步至的源数据表所对应的分布式文件系统中。
可以理解,若写入成功,则将上述目标文件的标识写入上述远程字典服务器,可以更新远程字典服务器中记录的已同步文件的标识,可以有效避免下次目标文件同步时,目标文件的重复写入。若写入失败,则不将上述目标文件的标识写入上述远程字典服务器,并清除当前已写入至上述分布式文件系统的上述目标文件的内容,可以保证该目标文件需同步至的源数据表标识的分布式文件系统的路径下没有内容,再次通过上述数据同步方法的步骤完成该目标文件的同步。
本实施方式中,若写入成功,则将上述目标文件的标识写入上述远程字典服务器;若写入失败,则不将上述目标文件的标识写入上述远程字典服务器,并清除当前已写入至上述分布式文件系统的上述目标文件的内容,实现了远程字典服务器中记录的已同步文件的标识的更新,可以有效避免下次目标文件同步时,目标文件的重复写入。
可选的,在一种可能的实施方式中,上述目标文件的标识包括上述目标文件的文件传输协议服务器的全路径。
其中,目标文件的文件传输协议服务器的全路径为目标文件在文件传输协议服务器的存储路径,通过目标文件的文件传输协议服务器的全路径可以获得目标文件。本实施方式中,全路径包括目标文件的文件名,目标文件的文件传输协议服务器的全路径与目标文件一一对应。因此,目标文件的文件传输协议服务器的全路径可以唯一表征目标文件,可以将目标文件的文件传输协议服务器的全路径作为目标文件的标识。
可选的,在一种可能的实施方式中,上述第一处理模块33用于将分布式文件系统中写入的目标文件映射至源数据表中时,具体用于:
获取上述目标文件的属性;
将上述目标文件映射至上述源数据表中与上述目标文件的属性对应的分区,以完成数据同步。
其中,源数据表包括不同属性对应的分区,源数据表的每个分区对应一个属性。举例来说,源数据表的分区可以按照目标文件写入分布式文件系统的时间进行分区。再举例来说,源数据表的分区也可以按照目标文件中数据的来源进行分区。
实际应用中,目标文件的属性表征目标文件需映射至的源数据表的分区,获取目标文件的属性,就可以确定目标文件的属性对应的分区。
可以理解,将目标文件映射至上述源数据表中与上述目标文件的属性对应的分区,可以实现数据的同步,并且,将目标文件映射至上述源数据表中与上述目标文件的属性对应的分区,便于后续对源数据表中目标文件的处理。
本实施方式中,根据目标文件的属性,确定目标文件需同步至的源数据表的分区,并将目标文件映射至对应的源数据表的分区,实现了目标文件在源数据表中的分区映射,提高了后续对源数据表中数据处理的效率。
可选的,在一种可能的实施方式中,上述装置还包括:
解析模块,用于针对上述源数据表的每个分区中的目标文件,解析上述目标文件获得上述目标文件在各数据字段下的数据;
提取模块,用于针对每个统计需求所需的数据字段,从上述分区的目标文件中提取相应数据字段下的第一数据;
导入模块,用于将每个统计需求对应的第一数据导入至该统计需求对应的目的表。
实际应用中,源数据表中目标文件中的数据是整条保存的,通过解析可以获取目标文件在各数据字段下的数据。其中,数据字段为解析后目标文件中数据的最小单位。举例来说,每个数据字段下包括一个数据,通过解析上述目标文件,可以获取目标文件中每个数据。
实际应用中,统计需求所需的数据字段可以根据实际统计需求动态设定。第一数据为目标文件中统计需求所需的数据字段所对应的数据,将第一数据导入该统计需求对应的目的表,可以实现统计需求级别的数据管理。
本实施方式中,通过解析源数据表中每个分区中的目标文件,获得了目标文件在各数据字段下的数据,并根据每个统计需求,提取每个统计需求对应的第一数据,将第一数据导入至统计需求对应的目的表,提高了源数据表中数据管理的效率。
可选的,在一种可能的实施方式中,目标文件的数量为多个,上述获取模块31,具体同于:
将上述文件传输协议服务器中的文件划分为多个文件组;
为每个文件组配置对应的扫描线程,并基于每个文件组对应的扫描线程,通过扫描该文件组中所有文件的文件传输协议服务器全路径,获得上述目标文件。
实际应用中,文件传输协议服务器中文件的分组可以是随机的,也可以是按照设定的分组规则进行分组的。示例的,程序启动时,设定文件传输协议服务器中文件的分组规则。举例来说,分组规则可以是按照文件的类型对文件传输协议服务器中的文件进行分组。再举例来说,分组规则可以是按照文件在文件传输协议服务器中的存储位置进行分组。
示例的,每个文件组对应的扫描线程,对该文件组中所有文件的文件传输协议服务器全路径进行扫描,将满足筛选条件的文件,作为待同步的目标文件。
本实施方式中,将文件传输协议服务器中的文件划分为多个文件组,并为每个文件组配置对应的扫描线程,每个扫描线程通过扫描该文件组中所有文件的文件传输协议服务器全路径,获得上述目标文件,提高了目标文件的获取效率,从而提高了数据同步的效率。
本实施例提供的数据同步装置中,获取模块从文件传输协议服务器获得待同步的目标文件;检测模块检测当前远程字典服务器中是否存在目标文件的标识,远程字典服务器用于记录已同步文件的标识;第一处理模块用于若不存在,则将目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统中,并将分布式文件系统中写入的目标文件映射至源数据表中,以完成数据同步;若存在,则不执行目标文件的数据同步。本实施例中,远程字典服务器中记录了已同步数据的标识,从文件传输协议服务器获得待同步的目标文件之后,通过检测当前远程字典服务器中是否存在目标文件的标识,可以确定待同步的目标文件是否已完成数据同步,若不存在再将待同步的目标文件写入,能够有效避免文件的重复写入,提高了资源利用率和数据同步的效率。
实施例四
图4为本申请实施例六中提供的一种电子设备的结构示意图,如图4所示,该电子设备包括:
处理器(processor)41,电子设备还包括了存储器(memory)42;还可以包括通信接口(Communication Interface)43和总线44。其中,处理器41、存储器42、通信接口43、可以通过总线44完成相互间的通信。通信接口43可以用于信息传输。处理器41可以调用存储器42中的逻辑指令,以执行上述实施例的方法。
此外,上述的存储器42中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器42作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本申请实施例中的方法对应的程序指令/模块。处理器41通过运行存储在存储器42中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器42可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器42可以包括高速随机存取存储器,还可以包括非易失性存储器。
本申请实施例提供一种非临时性计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现如前述实施例的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (14)

1.一种数据同步方法,其特征在于,包括:
从文件传输协议服务器获得待同步的目标文件;
检测当前远程字典服务器中是否存在所述目标文件的标识,所述远程字典服务器用于记录已同步文件的标识;
若不存在,则将所述目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统中,并将分布式文件系统中写入的所述目标文件映射至所述源数据表中,以完成数据同步;若存在,则不执行所述目标文件的数据同步;其中,所述源数据表为数据仓库管理系统下的数据表。
2.根据权利要求1所述的方法,其特征在于,所述若不存在,则将所述目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统中之后,还包括:
若写入成功,则将所述目标文件的标识写入所述远程字典服务器;
若写入失败,则不将所述目标文件的标识写入所述远程字典服务器,并清除当前已写入至所述分布式文件系统的所述目标文件的内容。
3.根据权利要求1所述的方法,其特征在于,所述目标文件的标识包括所述目标文件的文件传输协议服务器全路径。
4.根据权利要求1所述的方法,其特征在于,所述源数据表包括不同属性对应的分区;所述将分布式文件系统中写入的所述目标文件映射至所述源数据表中,包括:
获取所述目标文件的属性;
将所述目标文件映射至所述源数据表中与所述目标文件的属性对应的分区。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
针对所述源数据表的每个分区中的目标文件,解析所述目标文件获得所述目标文件在各数据字段下的数据;
针对每个统计需求所需的数据字段,从所述分区的目标文件中提取相应数据字段下的第一数据;
将每个统计需求对应的第一数据导入至该统计需求对应的目的表。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述目标文件的数量为多个;所述从文件传输协议服务器获得待同步的目标文件,包括:
将所述文件传输协议服务器中的文件划分为多个文件组;
为每个文件组配置对应的扫描线程,并基于每个文件组对应的扫描线程,通过扫描该文件组中所有文件的文件传输协议服务器全路径,获得所述目标文件。
7.一种数据同步装置,其特征在于,包括:
获取模块,用于从文件传输协议服务器获得待同步的目标文件;
检测模块,用于检测当前远程字典服务器中是否存在所述目标文件的标识,所述远程字典服务器用于记录已同步文件的标识;
第一处理模块,用于若不存在,则将所述目标文件写入该目标文件需同步至的源数据表所对应的分布式文件系统中,并将分布式文件系统中写入的所述目标文件映射至所述源数据表中,以完成数据同步;若存在,则不执行所述目标文件的数据同步;其中,所述源数据表为数据仓库管理系统下的数据表。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:第二处理模块;所述第二处理模块用于:
若写入成功,则将所述目标文件的标识写入所述远程字典服务器;
若写入失败,则不将所述目标文件的标识写入所述远程字典服务器,并清除当前已写入至所述分布式文件系统的所述目标文件的内容。
9.根据权利要求7所述的装置,其特征在于,所述目标文件的标识包括所述目标文件的文件传输协议服务器全路径。
10.根据权利要求7所述的装置,其特征在于,所述源数据表包括不同属性对应的分区;所述第一处理模块用于将分布式文件系统中写入的所述目标文件映射至所述源数据表中时,具体用于:
获取所述目标文件的属性;
将所述目标文件映射至所述源数据表中与所述目标文件的属性对应的分区。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
解析模块,用于针对所述源数据表的每个分区中的目标文件,解析所述目标文件获得所述目标文件在各数据字段下的数据;
提取模块,用于针对每个统计需求所需的数据字段,从所述分区的目标文件中提取相应数据字段下的第一数据;
导入模块,用于将每个统计需求对应的第一数据导入至该统计需求对应的目的表。
12.根据权利要求7-11中任一项所述的装置,其特征在于,所述目标文件的数量为多个;所述获取模块,具体用于:
将所述文件传输协议服务器中的文件划分为多个文件组;
为每个文件组配置对应的扫描线程,并基于每个文件组对应的扫描线程,通过扫描该文件组中所有文件的文件传输协议服务器全路径,获得所述目标文件。
13.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-6中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-6中任一项所述的方法。
CN202211697934.6A 2022-12-28 2022-12-28 数据同步方法、装置、电子设备及存储介质 Pending CN116089529A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211697934.6A CN116089529A (zh) 2022-12-28 2022-12-28 数据同步方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211697934.6A CN116089529A (zh) 2022-12-28 2022-12-28 数据同步方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116089529A true CN116089529A (zh) 2023-05-09

Family

ID=86207557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211697934.6A Pending CN116089529A (zh) 2022-12-28 2022-12-28 数据同步方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116089529A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116319837A (zh) * 2023-05-24 2023-06-23 北京天信瑞安信息技术有限公司 一种支持多协议的文件同步方法、装置、设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116319837A (zh) * 2023-05-24 2023-06-23 北京天信瑞安信息技术有限公司 一种支持多协议的文件同步方法、装置、设备及存储介质
CN116319837B (zh) * 2023-05-24 2023-07-28 北京天信瑞安信息技术有限公司 一种支持多协议的文件同步方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN109034809B (zh) 区块链的生成方法、装置、区块链节点及存储介质
CN108228814B (zh) 数据同步方法及装置
EP3767483A1 (en) Method, device, system, and server for image retrieval, and storage medium
CN106874281B (zh) 实现数据库读写分离的方法和装置
CN104809201A (zh) 一种数据库同步的方法和装置
CN111008521B (zh) 生成宽表的方法、装置及计算机存储介质
CN103995879A (zh) 基于olap系统的数据查询方法、装置及系统
CN113204598B (zh) 一种数据同步方法、系统及存储介质
CN102202087A (zh) 一种标识存储设备的方法及系统
CN111708794B (zh) 基于大数据平台的数据比对方法、装置和计算机设备
CN116089529A (zh) 数据同步方法、装置、电子设备及存储介质
CN106202848A (zh) 医学影像文件的获取方法、用户终端及主服务器
CN104881475A (zh) 一种用于大数据随机抽样的方法和系统
CN116680278B (zh) 数据处理方法、装置、电子设备及存储介质
CN111274004B (zh) 进程实例管理方法、装置及计算机存储介质
CN103164532A (zh) 电网模型数据的分类分块抽取方法及系统
CN110968555B (zh) 维度数据处理方法和装置
CN107422991B (zh) 一种存储策略管理系统
WO2016022019A1 (en) Method for data input into a database
CN111563123B (zh) 一种hive仓库元数据实时同步方法
CN113901131A (zh) 基于索引的链上数据查询方法及装置
CN109902067B (zh) 文件处理方法、装置、存储介质及计算机设备
CN112184493A (zh) 基于大数据和装配式建筑平台的数据处理方法、系统及存储介质
CN108206933B (zh) 一种基于视频云存储系统的视频数据获取方法及装置
CN111694887B (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