CN112199935B - 数据的比对方法、装置、电子设备及计算机可读存储介质 - Google Patents
数据的比对方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112199935B CN112199935B CN202011015168.1A CN202011015168A CN112199935B CN 112199935 B CN112199935 B CN 112199935B CN 202011015168 A CN202011015168 A CN 202011015168A CN 112199935 B CN112199935 B CN 112199935B
- Authority
- CN
- China
- Prior art keywords
- data
- data file
- file
- host
- distributed platform
- 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
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- 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
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种数据的比对方法、装置、电子设备及计算机可读存储介质。该方法包括:获取主机数据文件以及分布式平台数据文件;基于行数据的键值,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对,确定主机数据文件与分布式平台数据文件的差异数据。基于本方案,能够实现对中批量账务数据量的自动对比,能够满足主机下移的过程中批量账务数据量的对比需求。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种数据的比对方法、装置、电子设备及计算机可读存储介质。
背景技术
近年来,全球IT市场发生了巨大的变化,主机由于有高可用、高吞吐率的特点备受银行业青睐,但随着分布式架构的崛起,主机面临着严峻的挑战。目前,各大型商业银行都在积极探索“主机下移”的解决方案。“主机下移”指的是将主机上的部分系统部署到分布式平台,从集中式部署向分布式部署转变。“主机下移”旨在减少对主机的单方面依赖,实现自主可控,降低安全风险和成本。
在主机下移的过程中,为保证下移后的数据和现行生产数据一致,验证开放平台的程序是否可以达到和现行生产上主机程序有同样的效果,需要进行账务一致数据比对,即针对相同的输入数据,经过分布式平台的程序和主机程序跑批,比较两个环境结果数据,若在某测试时间段内持续保持数据一致,那么说明系统重构正确,若有差异数据,说明系统重构有缺陷,如:主档数据、财会流水文件等进行数据比对,确保重构正确性。
为了满足主机下移的过程中批量账务数据量的对比需求,亟需提供一种能够对金融领域批量账务一致数据比对方案。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:
第一方面,本申请实施例提供了一种数据的比对方法,该方法包括:
获取主机数据文件以及分布式平台数据文件;
基于行数据的键值,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对,确定主机数据文件与分布式平台数据文件的差异数据。
可选地,获取主机数据文件以及分布式平台数据文件,包括:
从NAS存储节点分别获取主机数据文件以及分布式平台数据文件。
可选地,基于行数据的键值,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对,包括:
确定主机数据文件的行数据的键值是否唯一,以及分布式平台数据文件的行数据的键值是否唯一;
基于主机数据文件的行数据的键值是否唯一,以及分布式平台数据文件的行数据的键值是否唯一,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对。
可选地,基于主机数据文件的行数据的键值是否唯一,以及分布式平台数据文件的行数据的键值是否唯一,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对,包括:
若主机数据文件以及分布式平台数据文件中存在键值唯一的行数据,则将主机数据文件与分布式平台数据文件中相同键值的行数据进行比对;
若主机数据文件以及分布式平台数据文件中存在键值不唯一的行数据,则将主机数据文件与分布式平台数据文件中键值不唯一的行数据中相同键值的行数据进行比对。
可选地,将主机数据文件与分布式平台数据文件中相同键值的行数据进行比对,包括:
通过Shuffle操作获取主机数据文件与分布式平台数据文件中相同键值的行数据,并进行比对。
可选地,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对,包括:
将主机数据文件以及分布式平台数据文件中的行数据解析成列,并提取列的列值;
基于列值进行主机数据文件的行数据以及分布式平台数据文件的行数据的比对。
可选地,将主机数据文件以及分布式平台数据文件中的行数据解析成列,包括:
确定主机数据文件以及分布式平台数据文件所属的文件类型;
基于文件类型确定对应的解析规则;
基于解析规则将主机数据文件以及分布式平台数据文件中的行数据解析成列。
可选地,若文件类型为字符分隔型,基于解析规则将主机数据文件以及分布式平台数据文件中的行数据解析成列,包括:
基于预配置的分隔符对主机数据文件以及分布式平台数据文件中的行数据进行切割,得到列。
可选地,若文件类型为定长型,基于解析规则将主机数据文件以及分布式平台数据文件中的行数据解析成列,包括:
基于字段的起始位置以及字段的字符长度,将主机数据文件以及分布式平台数据文件中的行数据解析成列。
第二方面,本申请实施例提供了一种数据的比对装置,该装置包括:
文件获取模块,用于获取主机数据文件以及分布式平台数据文件;
数据比对模块,用于基于行数据的键值,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对,确定主机数据文件与分布式平台数据文件的差异数据。
可选地,文件获取模块具体用于:
从NAS存储节点分别获取主机数据文件以及分布式平台数据文件。
可选地,数据比对模块在基于行数据的键值,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对时,具体用于:
确定主机数据文件的行数据的键值是否唯一,以及分布式平台数据文件的行数据的键值是否唯一;
基于主机数据文件的行数据的键值是否唯一,以及分布式平台数据文件的行数据的键值是否唯一,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对。
可选地,数据比对模块在基于主机数据文件的行数据的键值是否唯一,以及分布式平台数据文件的行数据的键值是否唯一,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对时,具体用于:
若主机数据文件以及分布式平台数据文件中存在键值唯一的行数据,则将主机数据文件与分布式平台数据文件中相同键值的行数据进行比对;
若主机数据文件以及分布式平台数据文件中存在键值不唯一的行数据,则将主机数据文件与分布式平台数据文件中键值不唯一的行数据中相同键值的行数据进行比对。
可选地,数据比对模块在将主机数据文件与分布式平台数据文件中相同键值的行数据进行比对时,具体用于:
通过Shuffle操作获取主机数据文件与分布式平台数据文件中相同键值的行数据,并进行比对。
可选地,数据比对模块在对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对时,具体用于:
将主机数据文件以及分布式平台数据文件中的行数据解析成列,并提取列的列值;
基于列值进行主机数据文件的行数据以及分布式平台数据文件的行数据的比对。
可选地,数据比对模块在将主机数据文件以及分布式平台数据文件中的行数据解析成列时,具体用于:
确定主机数据文件以及分布式平台数据文件所属的文件类型;
基于文件类型确定对应的解析规则;
基于解析规则将主机数据文件以及分布式平台数据文件中的行数据解析成列。
可选地,若文件类型为字符分隔型,数据比对模块在基于解析规则将主机数据文件以及分布式平台数据文件中的行数据解析成列时,具体用于:
基于预配置的分隔符对主机数据文件以及分布式平台数据文件中的行数据进行切割,得到列。
可选地,若文件类型为定长型,数据比对模块在基于解析规则将主机数据文件以及分布式平台数据文件中的行数据解析成列时,具体用于:
基于字段的起始位置以及字段的字符长度,将主机数据文件以及分布式平台数据文件中的行数据解析成列。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行如本申请的第一方面的任一实施方式中所示的数据的比对方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请的第一方面的任一实施方式中所示的数据的比对方法。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例提供的方案,通过获取主机数据文件以及分布式平台数据文件,并且基于行数据的键值,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对,从而确定主机数据文件与分布式平台数据文件的差异数据。基于本方案,能够实现对中批量账务数据量的自动对比,能够满足主机下移的过程中批量账务数据量的对比需求。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种数据的比对方法的流程示意图;
图2为本申请实施例提供的一种数据的比对方法的具体实施方式流程示意图;
图3为本申请实施例提供的一种数据的比对装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1示出了本申请实施例提供的一种数据的比对方法的流程示意图,如图1所示,该方法主要可以包括:
步骤S110:获取主机数据文件以及分布式平台数据文件;
步骤S120:基于行数据的键值,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对,确定主机数据文件与分布式平台数据文件的差异数据。
本申请实施例中,可以在进行数据比对时,获取待比对的主机数据文件以及分布式平台数据文件,并且分别读取主机数据文件的行数据以及分布式平台数据文件的行数据。主机数据文件可以为主机中生成的数据文件,分布式平台数据文件可以为分布式平台中生成的数据文件。
本申请实施例中,可以读取各行数据的键值,通过键值区分各行数据,从而对主机数据文件以及分布式平台数据中对应的行数据进行比较。可以通过预设置配置文件,配置行数据的键值,从而读取出键值。
本申请实施例提供的方法,通过获取主机数据文件以及分布式平台数据文件,并且基于行数据的键值,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对,从而确定主机数据文件与分布式平台数据文件的差异数据。基于本方案,能够实现对中批量账务数据量的自动对比,能够满足主机下移的过程中批量账务数据量的对比需求。
本申请实施例的一种可选方式中,获取主机数据文件以及分布式平台数据文件,包括:
从NAS存储节点分别获取主机数据文件以及分布式平台数据文件。
本申请实施例中,主机数据文件以及分布式平台数据文件可以被存储于NAS存储节点,以便于在进行数据比对时,直接从NAS存储节点获取主机数据文件以及分布式平台数据文件,节约了数据比对程序中准备数据的步骤,提升比对效率。
本申请实施例的一种可选方式中,基于行数据的键值,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对,包括:
确定主机数据文件的行数据的键值是否唯一,以及分布式平台数据文件的行数据的键值是否唯一;
基于主机数据文件的行数据的键值是否唯一,以及分布式平台数据文件的行数据的键值是否唯一,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对。
本申请实施例中,主机数据文件或者分布式平台数据文件中可能存在键值不唯一的行数据,因此可以针对键值是否唯一进行主机数据文件的行数据以及分布式平台数据文件的行数据进行比对。
本申请实施例的一种可选方式中,基于主机数据文件的行数据的键值是否唯一,以及分布式平台数据文件的行数据的键值是否唯一,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对,包括:
若主机数据文件以及分布式平台数据文件中存在键值唯一的行数据,则将主机数据文件与分布式平台数据文件中相同键值的行数据进行比对;
若主机数据文件以及分布式平台数据文件中存在键值不唯一的行数据,则将主机数据文件与分布式平台数据文件中键值不唯一的行数据中相同键值的行数据进行比对。
本申请实施例中,针对键值唯一的行数据,可以将主机数据文件与分布式平台数据文件中相同键值的行数据进行比对。
本申请实施例中,针对键值不唯一的行数据,即存在多条相同键值的行数据,可以将主机数据文件中键值不唯一的行数据以及分布式平台数据文件中键值不唯一的行数据分别进行汇总,而后逐一进行比对,具体而言,在逐一对比的过程中,若确定出主机数据文件中键值不唯一的行数据与分布式平台数据文件中键值不唯一的行数据中相同的行数据,则可以排出该条记录。将主机数据文件中键值不唯一的行数据与分布式平台数据文件中键值不唯一的行数据中存在差异的行数据中作为差异数据输出。
本申请实施例的一种可选方式中,将主机数据文件与分布式平台数据文件中相同键值的行数据进行比对,包括:
通过Shuffle操作获取主机数据文件与分布式平台数据文件中相同键值的行数据,并进行比对。
在主机下移中,由于批量账务数据量对比时,动辄进行上百GB的文件的比对,需比对的数据量巨大,如通过单线程文件比对程序进行文件的比对,则不能合理的使用集群资源,可能会导致无法在规定时间窗口内完成文件比对。
本申请实施例中,可以对待比对的批量数据进行分组,并分配至多台不同的节点进行处理。针对一台节点,在进行数据比对时,可以通过Shuffle操作获取主机数据文件与分布式平台数据文件中相同键值的行数据,从而进行行数据的比较,合理的使用了集群资源,提升了比对效率。
本申请实施例的一种可选方式中,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对,包括:
将主机数据文件以及分布式平台数据文件中的行数据解析成列,并提取列的列值;
基于列值进行主机数据文件的行数据以及分布式平台数据文件的行数据的比对。
本申请实施例中,在将主机数据文件以及分布式平台数据文件中的行数据进行比对时,可以将行数据解析成列,并且提取列值,从而根据列值完成行数据的比对。
本申请实施例的一种可选方式中,将主机数据文件以及分布式平台数据文件中的行数据解析成列,包括:
确定主机数据文件以及分布式平台数据文件所属的文件类型;
基于文件类型确定对应的解析规则;
基于解析规则将主机数据文件以及分布式平台数据文件中的行数据解析成列。
本申请实施例中,可以在配置文件中配置对文件类型对应的解析规则,从而在进行数据比对时,确定述主机数据文件以及分布式平台数据文件所属的文件类型,并基于解析规则将主机数据文件以及分布式平台数据文件中的行数据解析成列。
本申请实施例的一种可选方式中,若文件类型为字符分隔型,基于解析规则将主机数据文件以及分布式平台数据文件中的行数据解析成列,包括:
基于预配置的分隔符对主机数据文件以及分布式平台数据文件中的行数据进行切割,得到列。
本申请实施例中,可以在配置文件中配置分隔符,例如“|”或“|@|”,通过分隔符实现对行数据的切割。
本申请实施例的一种可选方式中,若文件类型为定长型,基于解析规则将主机数据文件以及分布式平台数据文件中的行数据解析成列,包括:
基于字段的起始位置以及字段的字符长度,将主机数据文件以及分布式平台数据文件中的行数据解析成列。
本申请实施例中,也可以在配置文件中配置字段的起始位置以及字段的字符长度,从而实现对行数据的切割。
本申请实施例中,切割后的数据,可以按照配置文件中是否为key区分,将主机数据文件和分布式平台数据文件的每行按照<Key,Value>的格式输出。
图2中示出了本申请实施例提供的一种数据的比对方法的具体实施方式的流程示意图。如图2中所示,在生产环境构建Spark Standalone计算集群,通过master配置对集群的资源进行管理和分配。
准备主机数据文件和分布式平台数据文件,主机文件通过跑批生成,分布式平台数据存储在数据库中,需要通过数据库卸数生成,最终数据保存在生产环境各节点的共享NAS上,共享NAS每个节点都可以访问到,可以模拟输入数据在本地情况,节约了将数据再上传到HDFS的时间;
准备配置文件,配置文件通过人工配置,文件的字段定义有两种类型:定长型和字符分隔型。定长型需要配置列的开始位置和长度,字符分隔型需要配置索引位置,配置文件中type属性配置了选择哪种方式。配置文件中包含的内容可以具体如表1所示:
表1
标签名 | 标签意义 |
Name | 列名 |
Index | 字段索引,适用于分隔型配置文件,初始值为1 |
Pos | 字段起始位置,适用于定长型配置文件,初始值为1 |
Length | 字段所占字符大小,适用于定长型配置文件 |
Datatype | 目前只支持String,BigDecimal类型 |
Ifcompare | true/false,若为false说明该列不比对 |
Iskey | true/false,是否为key |
执行Spark分布式程序。
在程序中,按行读入主机文件、数据库文件和配置文件。根据配置文件确定主机文件和数据库文件类型为字符分隔型还是定长型,若文件为字符分隔型,那么根据配置文件的分隔符(例如:|或|@|)对每行数据进行切割,把每列数据的值取出。若文件为定长型,那么根据配置文件中的字段起始位置和字段所占字符大小对每行数据进行切割,把每列数据的值取出。其中比对分为key值唯一和key值不唯一两种情况,若key值唯一确定一条记录,那么该条记录可以每个字段进行比对。若key值不能唯一确定一条记录,那么对来自两个文件的多条记录逐一比对,若有相同的,则排除该条记录,若有不同的依然作为差异输出。
解析切割后的数据,按照配置文件中是否为key区分,将主机文件和数据库文件的每行按照<Key,Value>的格式输出。
Spark分布式系统进行Shuffle操作,将相同key的数据聚合到同一个结点上,即可对比两个文件中相同key的数据差异,若无差异则略过,若有差异则输出。
Spark分布式系统的结果会保存在HDFS上,即分布式文件系统,为了方便留存数据,落数到本地NAS。差异具体内容文件的第一行列出了比对该条记录所用的主键字段(在配置文件中通过isKey指出),在这一行下面,使用>>>缩进的部分,是该条记录的差异明细,详细列出来该条记录的差异字段在主机文件中的内容和在数据库中的内容。差异分析人员可以定位数据并分析差异原因。
本文所阐述的发明要解决的技术问题,能够提供一种金融领域批量账务一致数据比对方法,基于Spark分布式集群实现该方法,可以对贷记卡主机核心处理结果和贷记卡分布式核心处理结果的处理结果进行比对,可有效提高数据比对效率,完成主机下移的时间需求。
基于与图1中所示的方法相同的原理,图3示出了本申请实施例提供的一种数据的比对装置的结构示意图,如图3所示,该数据的比对装置20可以包括:
文件获取模块210,用于获取主机数据文件以及分布式平台数据文件;
数据比对模块220,用于基于行数据的键值,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对,确定主机数据文件与分布式平台数据文件的差异数据。
本申请实施例提供的装置,通过获取主机数据文件以及分布式平台数据文件,并且基于行数据的键值,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对,从而确定主机数据文件与分布式平台数据文件的差异数据。基于本方案,能够实现对中批量账务数据量的自动对比,能够满足主机下移的过程中批量账务数据量的对比需求。
可选地,文件获取模块具体用于:
从NAS存储节点分别获取主机数据文件以及分布式平台数据文件。
可选地,数据比对模块在基于行数据的键值,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对时,具体用于:
确定主机数据文件的行数据的键值是否唯一,以及分布式平台数据文件的行数据的键值是否唯一;
基于主机数据文件的行数据的键值是否唯一,以及分布式平台数据文件的行数据的键值是否唯一,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对。
可选地,数据比对模块在基于主机数据文件的行数据的键值是否唯一,以及分布式平台数据文件的行数据的键值是否唯一,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对时,具体用于:
若主机数据文件以及分布式平台数据文件中存在键值唯一的行数据,则将主机数据文件与分布式平台数据文件中相同键值的行数据进行比对;
若主机数据文件以及分布式平台数据文件中存在键值不唯一的行数据,则将主机数据文件与分布式平台数据文件中键值不唯一的行数据中相同键值的行数据进行比对。
可选地,数据比对模块在将主机数据文件与分布式平台数据文件中相同键值的行数据进行比对时,具体用于:
通过Shuffle操作获取主机数据文件与分布式平台数据文件中相同键值的行数据,并进行比对。
可选地,数据比对模块在对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对时,具体用于:
将主机数据文件以及分布式平台数据文件中的行数据解析成列,并提取列的列值;
基于列值进行主机数据文件的行数据以及分布式平台数据文件的行数据的比对。
可选地,数据比对模块在将主机数据文件以及分布式平台数据文件中的行数据解析成列时,具体用于:
确定主机数据文件以及分布式平台数据文件所属的文件类型;
基于文件类型确定对应的解析规则;
基于解析规则将主机数据文件以及分布式平台数据文件中的行数据解析成列。
可选地,若文件类型为字符分隔型,数据比对模块在基于解析规则将主机数据文件以及分布式平台数据文件中的行数据解析成列时,具体用于:
基于预配置的分隔符对主机数据文件以及分布式平台数据文件中的行数据进行切割,得到列。
可选地,若文件类型为定长型,数据比对模块在基于解析规则将主机数据文件以及分布式平台数据文件中的行数据解析成列时,具体用于:
基于字段的起始位置以及字段的字符长度,将主机数据文件以及分布式平台数据文件中的行数据解析成列。
可以理解的是,本实施例中的数据的比对装置的上述各模块具有实现图1中所示的实施例中的数据的比对方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述数据的比对装置的各模块的功能描述具体可以参见图1中所示实施例中的数据的比对方法的对应描述,在此不再赘述。
本申请实施例提供了一种电子设备,包括处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的数据的比对方法。
作为一个示例,图4示出了本申请实施例所适用的一种电子设备的结构示意图,如图4所示,该电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选的,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本申请实施例的限定。
其中,处理器2001应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器2004可以包括接收机和发射机,收发器2004应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。
处理器2001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器2003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
可选的,存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现本申请任一实施方式中所提供的数据的比对方法。
本申请实施例提供的电子设备,适用于上述方法任一实施例,在此不再赘述。
本申请实施例提供了一种电子设备,与现有技术相比,通过获取主机数据文件以及分布式平台数据文件,并且基于行数据的键值,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对,从而确定主机数据文件与分布式平台数据文件的差异数据。基于本方案,能够实现对中批量账务数据量的自动对比,能够满足主机下移的过程中批量账务数据量的对比需求。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的数据的比对方法。
本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,在此不再赘述。
本申请实施例提供了一种计算机可读存储介质,与现有技术相比通过获取主机数据文件以及分布式平台数据文件,并且基于行数据的键值,对主机数据文件的行数据以及分布式平台数据文件的行数据进行比对,从而确定主机数据文件与分布式平台数据文件的差异数据。基于本方案,能够实现对中批量账务数据量的自动对比,能够满足主机下移的过程中批量账务数据量的对比需求。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种数据的比对方法,其特征在于,包括:
获取主机数据文件以及分布式平台数据文件;
基于行数据的键值,确定所述主机数据文件的行数据的键值是否唯一,以及所述分布式平台数据文件的行数据的键值是否唯一;
基于所述主机数据文件的行数据的键值是否唯一,以及所述分布式平台数据文件的行数据的键值是否唯一,对所述主机数据文件的行数据以及所述分布式平台数据文件的行数据进行比对,所述对主机数据文件的行数据以及所述分布式平台数据文件的行数据进行比对,包括:
将所述主机数据文件以及所述分布式平台数据文件中的行数据解析成列,并提取所述列的列值,所述将所述主机数据文件以及所述分布式平台数据文件中的行数据解析成列,包括:
确定所述主机数据文件以及所述分布式平台数据文件所属的文件类型;
基于所述文件类型确定对应的解析规则;
基于所述解析规则将所述主机数据文件以及所述分布式平台数据文件中的行数据解析成列;
基于所述列值进行所述主机数据文件的行数据以及所述分布式平台数据文件的行数据的比对;
确定所述主机数据文件与所述分布式平台数据文件的差异数据。
2.根据权利要求1所述的方法,其特征在于,所述获取主机数据文件以及分布式平台数据文件,包括:
从NAS存储节点分别获取主机数据文件以及分布式平台数据文件。
3.根据权利要求1所述的方法,其特征在于,所述基于所述主机数据文件的行数据的键值是否唯一,以及所述分布式平台数据文件的行数据的键值是否唯一,对所述主机数据文件的行数据以及所述分布式平台数据文件的行数据进行比对,包括:
若所述主机数据文件以及所述分布式平台数据文件中存在键值唯一的行数据,则将所述主机数据文件与所述分布式平台数据文件中相同键值的行数据进行比对;
若所述主机数据文件以及所述分布式平台数据文件中存在键值不唯一的行数据,则将主机数据文件与所述分布式平台数据文件中键值不唯一的行数据中相同键值的行数据进行比对。
4.根据权利要求3所述的方法,其特征在于,所述将所述主机数据文件与所述分布式平台数据文件中相同键值的行数据进行比对,包括:
通过Shuffle操作获取所述主机数据文件与所述分布式平台数据文件中相同键值的行数据,并进行比对。
5.根据权利要求4所述的方法,其特征在于,若所述文件类型为字符分隔型,所述基于所述解析规则将所述主机数据文件以及所述分布式平台数据文件中的行数据解析成列,包括:
基于预配置的分隔符对所述主机数据文件以及所述分布式平台数据文件中的行数据进行切割,得到列。
6.根据权利要求4所述的方法,其特征在于,若所述文件类型为定长型,所述基于所述解析规则将所述主机数据文件以及所述分布式平台数据文件中的行数据解析成列,包括:
基于字段的起始位置以及字段的字符长度,将所述主机数据文件以及所述分布式平台数据文件中的行数据解析成列。
7.一种数据的比对装置,其特征在于,包括:
文件获取模块,用于获取主机数据文件以及分布式平台数据文件;
数据比对模块,用于基于行数据的键值,确定所述主机数据文件的行数据的键值是否唯一,以及所述分布式平台数据文件的行数据的键值是否唯一;
基于所述主机数据文件的行数据的键值是否唯一,以及所述分布式平台数据文件的行数据的键值是否唯一,对所述主机数据文件的行数据以及所述分布式平台数据文件的行数据进行比对,所述对主机数据文件的行数据以及所述分布式平台数据文件的行数据进行比对,包括:
将所述主机数据文件以及所述分布式平台数据文件中的行数据解析成列,并提取所述列的列值,所述将所述主机数据文件以及所述分布式平台数据文件中的行数据解析成列,包括:
确定所述主机数据文件以及所述分布式平台数据文件所属的文件类型;
基于所述文件类型确定对应的解析规则;
基于所述解析规则将所述主机数据文件以及所述分布式平台数据文件中的行数据解析成列;
基于所述列值进行所述主机数据文件的行数据以及所述分布式平台数据文件的行数据的比对;
确定所述主机数据文件与分布式平台数据文件的差异数据。
8.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011015168.1A CN112199935B (zh) | 2020-09-24 | 2020-09-24 | 数据的比对方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011015168.1A CN112199935B (zh) | 2020-09-24 | 2020-09-24 | 数据的比对方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112199935A CN112199935A (zh) | 2021-01-08 |
CN112199935B true CN112199935B (zh) | 2023-05-26 |
Family
ID=74016183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011015168.1A Active CN112199935B (zh) | 2020-09-24 | 2020-09-24 | 数据的比对方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112199935B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113642311B (zh) * | 2021-08-12 | 2023-09-05 | 北京奇艺世纪科技有限公司 | 一种数据对比方法、装置、电子设备及存储介质 |
CN113806310A (zh) * | 2021-09-13 | 2021-12-17 | 上海商汤科技开发有限公司 | 对比方法和相关产品 |
CN115357625A (zh) * | 2022-09-06 | 2022-11-18 | 中国建设银行股份有限公司 | 结构化数据比对方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291827A (zh) * | 2017-05-27 | 2017-10-24 | 北京思特奇信息技术股份有限公司 | 一种数据比对方法和系统 |
CN108021952A (zh) * | 2017-12-29 | 2018-05-11 | 广州品唯软件有限公司 | 一种多格式文本对比方法及装置 |
CN111581456A (zh) * | 2020-05-09 | 2020-08-25 | 深圳市卡数科技有限公司 | 一种json字符串对比方法、装置、设备及存储介质 |
CN111581942A (zh) * | 2020-06-12 | 2020-08-25 | 上海通联金融服务有限公司 | 一种数据文件的比对方法 |
-
2020
- 2020-09-24 CN CN202011015168.1A patent/CN112199935B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291827A (zh) * | 2017-05-27 | 2017-10-24 | 北京思特奇信息技术股份有限公司 | 一种数据比对方法和系统 |
CN108021952A (zh) * | 2017-12-29 | 2018-05-11 | 广州品唯软件有限公司 | 一种多格式文本对比方法及装置 |
CN111581456A (zh) * | 2020-05-09 | 2020-08-25 | 深圳市卡数科技有限公司 | 一种json字符串对比方法、装置、设备及存储介质 |
CN111581942A (zh) * | 2020-06-12 | 2020-08-25 | 上海通联金融服务有限公司 | 一种数据文件的比对方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112199935A (zh) | 2021-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112199935B (zh) | 数据的比对方法、装置、电子设备及计算机可读存储介质 | |
CN107807982B (zh) | 一种异构数据库的一致性校验方法及装置 | |
US10789231B2 (en) | Spatial indexing for distributed storage using local indexes | |
CN106557486A (zh) | 一种数据的存储方法和装置 | |
CN106598999B (zh) | 一种计算文本主题归属度的方法及装置 | |
CN110781231A (zh) | 基于数据库的批量导入方法、装置、设备及存储介质 | |
CN107391532B (zh) | 数据过滤的方法和装置 | |
CN106294222A (zh) | 一种确定pcie设备与插槽对应关系的方法及装置 | |
US10394907B2 (en) | Filtering data objects | |
CN112487083A (zh) | 一种数据校验方法和设备 | |
CN113190220A (zh) | Json文件差异化对比方法及装置 | |
US11334603B2 (en) | Efficiently finding potential duplicate values in data | |
CN111258905B (zh) | 缺陷定位方法、装置和电子设备及计算机可读存储介质 | |
CN108804563B (zh) | 一种数据标注方法、装置以及设备 | |
CN114741368A (zh) | 基于人工智能的日志数据统计方法及相关设备 | |
CN114297204A (zh) | 一种异构数据源的数据存储、检索方法及装置 | |
CN112508720A (zh) | 保险客户身份属性的筛选方法、筛选装置及电子设备 | |
CN110019357B (zh) | 数据库查询脚本生成方法及装置 | |
CN113204706B (zh) | 基于MapReduce的数据筛选抽取方法及系统 | |
CN115658680A (zh) | 数据存储方法、数据查询方法和相关装置 | |
CN112131291B (zh) | 基于json数据的结构化解析方法、装置、设备及存储介质 | |
CN111382068B (zh) | 一种大批量数据的层次测试方法及装置 | |
CN114564501A (zh) | 一种数据库数据存储、查询方法、装置、设备及介质 | |
CN106557564A (zh) | 一种对象数据分析方法及装置 | |
CN113326688A (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 |