CN107085613B - 入库文件的过滤方法和装置 - Google Patents

入库文件的过滤方法和装置 Download PDF

Info

Publication number
CN107085613B
CN107085613B CN201710350049.3A CN201710350049A CN107085613B CN 107085613 B CN107085613 B CN 107085613B CN 201710350049 A CN201710350049 A CN 201710350049A CN 107085613 B CN107085613 B CN 107085613B
Authority
CN
China
Prior art keywords
file
check code
current
storage
check
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
CN201710350049.3A
Other languages
English (en)
Other versions
CN107085613A (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.)
Guangzhou 4399 Information Technology Co ltd
Original Assignee
Guangzhou 4399 Information 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 Guangzhou 4399 Information Technology Co ltd filed Critical Guangzhou 4399 Information Technology Co ltd
Priority to CN201710350049.3A priority Critical patent/CN107085613B/zh
Publication of CN107085613A publication Critical patent/CN107085613A/zh
Application granted granted Critical
Publication of CN107085613B publication Critical patent/CN107085613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • 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/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • 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/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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

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

Abstract

本发明提供了一种入库文件的过滤方法和装置,涉及数据处理技术领域,该方法包括:使用数据仓库工具Hive获取当前入库文件的校验码;查找目标目录中预先存储的校验码中是否有与当前入库文件的校验码一致的校验码;该预先存储的校验码是目标目录中已导入文件的校验码;如果是,丢弃当前入库文件;如果否,导入当前入库文件,并将当前入库文件的校验码写入目标目录。本实施例提供的入库文件的过滤方法,通过获取当前入库文件的校验码并与目标目录中已经存储的校验码进行对比,当查找到目标目录中存在与该当前入库文件的校验码一致的校验码时表明该当前入库文件已重复,在业务应用不做任何修改的情况下,实现了入库重复文件的过滤。

Description

入库文件的过滤方法和装置
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种入库文件的过滤方法和装置。
背景技术
随着数据海量剧增,单一的计算机已经不能存储海量数据,因此,分布式集群受到了广泛的关注。在分布式集群中,可以将数据分布到多台计算机中存储并且可以实现分布式计算。Hadoop是分布式系统的基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用廉价计算机集群的能力对数据进行高速运算和存储。Hive是Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据表,提供完整的结构化查询语言(SQL,StructuredQueryLanguage)查询功能,可以将SQL语句转换为MapReduce任务进行运行,也可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,Hive非常适合数据仓库的统计分析。
在使用Hive导入数据时,会出现数据重复导入的情况,例如程序异常对同一个文件进行了重复加载,或者业务人员提交多份命名不同但内容与已导入文件一致的文件。对于上述情况,现有技术中业务程序在处理文件时要识别文件是否已经加载,若重复就不能加载。这样做的缺点是每个业务程序都需要增加识别文件重复的模块,且在文件对比过程涉及到集群文件时遍历效率较低。
针对上述重复数据导入的问题,目前尚未提出有效解决方案。
发明内容
有鉴于此,本发明的目的在于提供一种入库文件的过滤方法和装置,以过滤重复文件。
第一方面,本发明实施例提供了一种入库文件的过滤方法,该方法通过数据仓库工具Hive实现,包括:使用数据仓库工具Hive获取当前入库文件的校验码;查找目标目录中预先存储的校验码中是否有与当前入库文件的校验码一致的校验码;该预先存储的校验码是目标目录中已导入文件的校验码;如果是,丢弃当前入库文件;如果否,导入当前入库文件,并将当前入库文件的校验码写入目标目录。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,使用数据仓库工具Hive获取当前入库文件的校验码包括:通过数据仓库工具中的HiveCheckSum函数获取当前入库文件的校验和checksum;将当前入库文件的校验和checksum作为当前入库文件的校验码。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,查找目标目录中预先存储的校验码中是否有与当前入库文件的校验码一致的校验码包括:Hive查找目标目录中是否存在校验码列表;如果存在校验码列表,在校验码列表中查找是否有与当前入库文件的校验码一致的校验码。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,还包括:如果不存在校验码列表,新建校验码列表;将当前入库文件的校验码存储至校验码列表中。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,丢弃当前入库文件之后还包括:返回文件重复的错误提示;导入当前入库文件,并将当前入库文件的校验码写入目标目录之后还包括:返回文件已录入的成功提示。
第二方面,本发明实施例还提供一种入库文件的过滤装置,通过数据仓库工具Hive实现,包括:校验码获取模块,用于使用数据仓库工具Hive获取当前入库文件的校验码;校验码查找模块,用于查找目标目录中预先存储的校验码中是否有与当前入库文件的校验码一致的校验码;预先存储的校验码是目标目录中已导入文件的校验码;丢弃模块,用于如果是,丢弃当前入库文件;导入模块,用于如果否,导入当前入库文件,并将当前入库文件的校验码写入目标目录。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,校验码获取模块还用于:通过数据仓库工具中的Hive CheckSum函数获取当前入库文件的校验和checksum;将当前入库文件的校验和checksum作为当前入库文件的校验码。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,校验码查找模块还用于:Hive查找目标目录中是否存在校验码列表;如果存在校验码列表,在校验码列表中查找是否有与当前入库文件的校验码一致的校验码。
结合第二方面的第二种可能的实施方式,本发明实施例提供了第二方面的第三种可能的实施方式,其中,校验码列表新建模块,用于如果不存在校验码列表,新建校验码列表;校验码存储模块,用于将当前入库文件的校验码存储至校验码列表中。
结合第二方面,本发明实施例提供了第二方面的第四种可能的实施方式,其中,丢弃模块还用于:返回文件重复的错误提示;导入模块还用于:返回文件已录入的成功提示。
本发明实施例带来了以下有益效果:
本实施例提供的入库文件的过滤方法和装置,使用数据仓库工具Hive进行文件的过滤,通过获取当前入库文件的校验码并将该校验码与目标目录中已经存储的校验码进行对比,目标目录中已经存储的校验码与目标目录中的文件一一对应,当查找到目标目录中存在与该当前入库文件的校验码一致的校验码时表明该当前入库文件已重复,丢弃该当前入库文件;当未查找到一致的校验码时执行入库操作,在业务应用不做任何修改的情况下,实现了入库重复文件的过滤,且不降低入库效率,且减少冗余文件及重复数据导致的异常情况。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种入库文件的过滤方法的流程示意图;
图2为本发明实施例提供的另一种入库文件的过滤方法的流程示意图;
图3为本发明实施例提供的另一种入库文件的过滤方法的流程示意图;
图4为本发明实施例提供的一种入库文件的过滤装置的结构示意图;
图5为本发明实施例提供的另一种入库文件的过滤装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前针对文件重复导入的情况,现有技术中程序在处理文件时要先识别文件是否已经加载,即识别是否重复,若重复就不再加载,上述方式的缺点是每个程序都需要增加识别文件重复的模块,且文件对比过程涉及到集群文件时遍历效率较低,基于此,本发明实施例提供的一种入库文件的过滤方法和装置,可以过滤重复文件。为便于对本实施例进行理解,首先对本发明实施例所公开的一种入库文件的过滤方法进行详细介绍,上述方法适用于Hive导入数据的应用场景。
实施例1
本发明实施例1提供了一种入库文件的过滤方法,该方法通过数据仓库工具Hive实现,参见图1所示的入库文件的过滤方法的流程示意图,包括如下步骤:
步骤S11,使用数据仓库工具Hive获取当前入库文件的校验码。
本实施例提供的方法适用于进行Hive导入数据的情况,其中当前入库文件即需要导入的源文件。上述校验码是每个文件通过计算得出的唯一对应的值,例如校验码是校验和checksum或者其他算法例如Hash函数唯一得到的,可以区别每个文件是否与其他文件的内容是否相同(不论两者的命名是否相同)。
步骤S12,查找目标目录中预先存储的校验码中是否有与当前入库文件的校验码一致的校验码。如果是,执行步骤S13;如果否,执行步骤S14。
具体地,预先存储的校验码是目标目录中已导入文件的校验码。可以在目标目录中导入或加载的文件时存储该文件的校验码,或者在已存储的情况下计算得到文件的校验码并存储。由于校验码的唯一性,可以通过查找目标目录中的校验码,与当前入库文件的校验码进行对比,如果当前入库文件的校验码与目标目录中的校验码之一相同,则表明该当前入库文件已经导入或者加载过。上述校验码可以以列表的方式进行保存,在执行本步骤时可以直接在该列表中进行查找。
步骤S13,丢弃当前入库文件。
如果当前入库文件已经导入或者加载过,再重复录入会增加冗余文件或者造成程序异常,此时对该当前入库文件不执行导入或者加载动作。
进一步,在丢弃当前入库文件步骤之后还可以包括:返回文件重复的错误提示。在出现文件重复的情况时,不执行导入或者加载动作的同时,还向用户提示重复录入,方便用户得知结果。
步骤S14,导入当前入库文件,并将当前入库文件的校验码写入目标目录。
目标目录中未存储有与当前入库文件的校验码一致的校验码,表明该当前入库文件之前并没有导入或者加载过,此次为首次录入,正常执行导入操作,并将该当前入库文件的校验码写入目标目录。
进一步,在导入当前入库文件并将当前入库文件的校验码写入目标目录的步骤之后还包括:返回文件已录入的成功提示。
可以理解的是,在上述步骤中的Hive工具是经过修改的,具体方式如下(以校验码是checksum为例):
(1)修改Hive.java源码mvFile。新的源码中包括获取源文件checksum、判断该源文件的checksum是否存在于列表中、返回文件已存在异常提示、将该checksum写入列表等指令。
(2)重新编译上述源码。
(3)将生成的jar包替换到使用的工程。
通过修改上述Hive工具,可以在业务应用不做任何修改的情况下,实现Hive入库重复文件的过滤,且入库效率不会因为这一逻辑变低。
本实施例提供的入库文件的过滤方法,使用数据仓库工具Hive进行文件的过滤,通过获取当前入库文件的校验码并将该校验码与目标目录中已经存储的校验码进行对比,目标目录中已经存储的校验码与目标目录中的文件一一对应,当查找到目标目录中存在与该当前入库文件的校验码一致的校验码时表明该当前入库文件已重复,丢弃该当前入库文件;当未查找到一致的校验码时执行入库操作,在业务应用不做任何修改的情况下,实现入库重复文件的过滤,不降低入库效率,且减少冗余文件及重复数据导致的异常情况。
实施例2
本发明实施例2提供了一种入库文件的过滤方法,以校验码是checksum为例进行说明。参见图2所示的入库文件的过滤方法的流程示意图,包括如下步骤:
步骤S21,通过数据仓库工具中的Hive CheckSum函数获取当前入库文件的校验和checksum。
首先程序使用Hive执行load操作,通过Hive CheckSum函数获得当前入库文件(即源文件)的checksum。在源文件入库前需要先计算该源文件的校验和,得到checksum结果,具体的计算过程属于现有技术在此不再赘述。
步骤S22,将当前入库文件的校验和checksum作为当前入库文件的校验码。
步骤S23,Hive查找目标目录中是否存在校验码列表。
在本实施例中以checksum存储于校验码列表中为例进行说明,Hive查找目标目录中是否存在文件.checksum.list,其用于存储目标目录中所有的文件对应的checksum。
步骤S24,如果存在校验码列表,在校验码列表中查找是否有与当前入库文件的校验码一致的校验码。如果是,执行步骤S25;如果否,执行步骤S26。
步骤S25,丢弃当前入库文件。
步骤S26,导入当前入库文件,并将当前入库文件的校验码写入目标目录。
在上述步骤的基础上还存在目标目录下并不存在校验码列表的情况,此时新建校验码列表.checksum.list,并将当前入库文件的校验码存储至校验码列表中。
为了方便理解,入库文件的过滤方法的详细步骤可以参见图3所示的流程示意图,包括如下步骤:
步骤S31,使用Hive执行load操作。
步骤S32,通过Hive CheckSum函数获得源文件的checksum。
步骤S33,检查目的文件目录下的文件中是否存在.checksum.list文件。如果是,执行步骤S36;如果否,执行步骤S34。
步骤S34,新建.checksum.list文件。
步骤S35,将上述源文件的checksum写入.checksum.list。
步骤S36,检查源文件的checksum是否存在于.checksum.list中。如果是,执行步骤S38;如果否,执行步骤S37。
步骤S37,将上述源文件写到目的文件目录下。
步骤S38,返回文件重复的错误提示。
步骤S39,返回成功提示。
本实施例提供的入库文件的过滤方法,使用数据仓库工具Hive进行文件的过滤,通过获取当前入库文件的校验码并将该校验码与目标目录中的checksum.list内的校验码进行对比,checksum.list中存储有与目标目录中的文件对应的校验和checksum,当查找到checksum.list中存在与该当前入库文件的校验码一致的校验码时表明该当前入库文件已重复,丢弃该当前入库文件;当未查找到一致的校验码时执行入库操作,在业务应用不做任何修改的情况下,实现了入库重复文件的过滤,同时不降低入库效率,且减少冗余文件及重复数据导致的异常情况。
实施例3
本发明实施例3提供了一种入库文件的过滤装置,通过数据仓库工具Hive实现,参见图4所示的结构示意图,包括校验码获取模块410、校验码查找模块420、丢弃模块430和导入模块440,其中,各模块的功能如下:
校验码获取模块410,用于使用数据仓库工具Hive获取当前入库文件的校验码;
校验码查找模块420,用于查找目标目录中预先存储的校验码中是否有与当前入库文件的校验码一致的校验码;预先存储的校验码是目标目录中已导入文件的校验码;
丢弃模块430,用于如果是,丢弃当前入库文件;
导入模块440,用于如果否,导入当前入库文件,并将当前入库文件的校验码写入目标目录。
进一步,校验码获取模块410还用于:通过数据仓库工具中的Hive CheckSum函数获取当前入库文件的校验和checksum;将当前入库文件的校验和checksum作为当前入库文件的校验码。
进一步,校验码查找模块420还用于:Hive查找目标目录中是否存在校验码列表;如果存在校验码列表,在校验码列表中查找是否有与当前入库文件的校验码一致的校验码。
考虑到还存在目标目录下并不存在校验码列表的情况,参见图5所示入库文件的过滤装置的结构示意图,在上述装置中还包括校验码列表新建模块510和校验码存储模块520,其中,各模块的功能如下:
校验码列表新建模块510,用于如果不存在校验码列表,新建校验码列表;
校验码存储模块520,用于将当前入库文件的校验码存储至校验码列表中。
考虑到需要对文件入库的结果进行必要的显示,上述丢弃模块430还用于:返回文件重复的错误提示;上述导入模块440还用于:返回文件已录入的成功提示。
本实施例提供的入库文件的过滤装置,使用数据仓库工具Hive进行文件的过滤,通过获取当前入库文件的校验码并将该校验码与目标目录中的checksum.list内的校验码进行对比,checksum.list中存储有与目标目录中的文件对应的校验和checksum,当查找到checksum.list中存在与该当前入库文件的校验码一致的校验码时表明该当前入库文件已重复,丢弃该当前入库文件;当未查找到一致的校验码时执行入库操作,在业务应用不做任何修改的情况下,实现了入库重复文件的过滤,同时不降低入库效率,且减少冗余文件及重复数据导致的异常情况。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例所提供的进行入库文件的过滤方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (4)

1.一种入库文件的过滤方法,其特征在于,所述方法通过数据仓库工具Hive实现,包括:
使用数据仓库工具Hive获取当前入库文件的校验码;
查找目标目录中预先存储的校验码中是否有与所述当前入库文件的校验码一致的校验码;所述预先存储的校验码是所述目标目录中已导入文件的校验码;
如果是,丢弃所述当前入库文件;
如果否,导入所述当前入库文件,并将所述当前入库文件的校验码写入所述目标目录;
其中,所述查找目标目录中预先存储的校验码中是否有与所述当前入库文件的校验码一致的校验码包括:
所述Hive查找所述目标目录中是否存在校验码列表;
如果存在所述校验码列表,在所述校验码列表中查找是否有与所述当前入库文件的校验码一致的校验码;
如果不存在所述校验码列表,则新建校验码列表,并将所述当前入库文件的校验码存储至所述校验码列表中;
其中,所述使用数据仓库工具Hive获取当前入库文件的校验码包括:
通过数据仓库工具中的Hive CheckSum函数获取当前入库文件的校验和checksum;
将所述当前入库文件的校验和checksum作为所述当前入库文件的校验码。
2.根据权利要求1所述的方法,其特征在于,所述丢弃所述当前入库文件之后还包括:
返回文件重复的错误提示;
所述导入所述当前入库文件,并将所述当前入库文件的校验码写入所述目标目录之后还包括:
返回文件已录入的成功提示。
3.一种入库文件的过滤装置,其特征在于,所述装置通过数据仓库工具Hive实现,包括:
校验码获取模块,用于使用数据仓库工具Hive获取当前入库文件的校验码;
校验码查找模块,用于查找目标目录中预先存储的校验码中是否有与所述当前入库文件的校验码一致的校验码;所述预先存储的校验码是所述目标目录中已导入文件的校验码;
丢弃模块,用于如果是,丢弃所述当前入库文件;
导入模块,用于如果否,导入所述当前入库文件,并将所述当前入库文件的校验码写入所述目标目录;
其中,所述校验码查找模块还用于:
所述Hive查找所述目标目录中是否存在校验码列表;
如果存在所述校验码列表,在所述校验码列表中查找是否有与所述当前入库文件的校验码一致的校验码;
校验码列表新建模块,用于如果不存在所述校验码列表,则新建校验码列表;
校验码存储模块,用于将所述当前入库文件的校验码存储至所述校验码列表中;
其中,所述校验码获取模块还用于:
通过数据仓库工具中的Hive CheckSum函数获取当前入库文件的校验和checksum;
将所述当前入库文件的校验和checksum作为所述当前入库文件的校验码。
4.根据权利要求3所述的装置,其特征在于,所述丢弃模块还用于:返回文件重复的错误提示;
所述导入模块还用于:返回文件已录入的成功提示。
CN201710350049.3A 2017-05-17 2017-05-17 入库文件的过滤方法和装置 Active CN107085613B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710350049.3A CN107085613B (zh) 2017-05-17 2017-05-17 入库文件的过滤方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710350049.3A CN107085613B (zh) 2017-05-17 2017-05-17 入库文件的过滤方法和装置

Publications (2)

Publication Number Publication Date
CN107085613A CN107085613A (zh) 2017-08-22
CN107085613B true CN107085613B (zh) 2020-07-28

Family

ID=59608019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710350049.3A Active CN107085613B (zh) 2017-05-17 2017-05-17 入库文件的过滤方法和装置

Country Status (1)

Country Link
CN (1) CN107085613B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908423B (zh) * 2017-11-20 2021-09-21 深圳市沃特沃德股份有限公司 车载系统的配置方法和装置
CN110096496A (zh) * 2019-03-27 2019-08-06 深圳市买买提信息科技有限公司 一种表单校验方法、相关装置和设备
CN110134957B (zh) * 2019-05-14 2023-06-13 云南电网有限责任公司电力科学研究院 一种基于语义分析的科技成果入库方法及系统
CN112951355B (zh) * 2021-02-25 2023-05-02 武汉大学 一种海量医疗数据入库的质检功能方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033875A (zh) * 2009-09-24 2011-04-27 北大方正集团有限公司 一种文件入库的方法及装置
CN105912622A (zh) * 2016-04-05 2016-08-31 重庆大学 一种针对无损压缩文件的数据去重方法
CN105955670A (zh) * 2016-05-12 2016-09-21 武汉斗鱼网络科技有限公司 一种应用程序中校验重复列表数据的方法及系统
CN106407329A (zh) * 2016-09-05 2017-02-15 国网江苏省电力公司南通供电公司 海量平台往hadoop平台自动化导入增量数据的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090089326A1 (en) * 2007-09-28 2009-04-02 Yahoo!, Inc. Method and apparatus for providing multimedia content optimization

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033875A (zh) * 2009-09-24 2011-04-27 北大方正集团有限公司 一种文件入库的方法及装置
CN105912622A (zh) * 2016-04-05 2016-08-31 重庆大学 一种针对无损压缩文件的数据去重方法
CN105955670A (zh) * 2016-05-12 2016-09-21 武汉斗鱼网络科技有限公司 一种应用程序中校验重复列表数据的方法及系统
CN106407329A (zh) * 2016-09-05 2017-02-15 国网江苏省电力公司南通供电公司 海量平台往hadoop平台自动化导入增量数据的方法

Also Published As

Publication number Publication date
CN107085613A (zh) 2017-08-22

Similar Documents

Publication Publication Date Title
US10592348B2 (en) System and method for data deduplication using log-structured merge trees
US10678654B2 (en) Systems and methods for data backup using data binning and deduplication
US9965539B2 (en) Computer implemented method for dynamic sharding
US10956403B2 (en) Verifying data consistency
US9792306B1 (en) Data transfer between dissimilar deduplication systems
CN107085613B (zh) 入库文件的过滤方法和装置
US10891264B2 (en) Distributed, scalable key-value store
US8504528B2 (en) Duplicate backup data identification and consolidation
CN111444196B (zh) 块链式账本中全局状态的哈希的生成方法、装置及设备
US20140164334A1 (en) Data block backup system and method
US11157652B2 (en) Obfuscation and deletion of personal data in a loosely-coupled distributed system
US10031691B2 (en) Data integrity in deduplicated block storage environments
US8874626B2 (en) Tracking files and directories related to unsuccessful change operations
CN109831540B (zh) 分布式存储方法、装置、电子设备及存储介质
CN111444192B (zh) 块链式账本中全局状态的哈希的生成方法、装置及设备
US10515055B2 (en) Mapping logical identifiers using multiple identifier spaces
EP3107010A1 (en) Data integration pipeline
CN112579591B (zh) 数据校验方法、装置、电子设备及计算机可读存储介质
TW201308115A (zh) 分散式的重複數據刪除系統及其處理方法
CN111444194B (zh) 一种块链式账本中索引的清除方法、装置及设备
CN110636042B (zh) 一种服务端已验证块高的更新方法、装置及设备
CN114064674A (zh) 数据同步方法、装置、计算机设备、存储介质和产品
JP6110354B2 (ja) 異種記憶サーバおよびそのファイル記憶方法
US11016933B2 (en) Handling weakening of hash functions by using epochs
US9330130B1 (en) Get row index of record in dynamic data table

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