CN110647534B - 一种跨数据库平台同步数据的核对方法、设备以及系统 - Google Patents
一种跨数据库平台同步数据的核对方法、设备以及系统 Download PDFInfo
- Publication number
- CN110647534B CN110647534B CN201910887266.5A CN201910887266A CN110647534B CN 110647534 B CN110647534 B CN 110647534B CN 201910887266 A CN201910887266 A CN 201910887266A CN 110647534 B CN110647534 B CN 110647534B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- daily
- file
- snapshot
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, 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)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种跨数据库平台同步数据的核对方法、系统、计算机设备以及计算机可读存储介质,涉及数据处理技术领域。所述方法包括:对源数据库的每日数据进行拆分合并,得到日数据文件;对目标数据库的每日数据进行数据快照,生成数据快照文件,所述目标数据库的每日数据为从源数据库实时向目标数据库下刷的;按照日期存储所述日数据文件以及所述数据快照文件;比对核对日期对应的日数据文件以及数据快照文件,输出比对结果信息。本发明能够对数据不一致出现的情况进行有效地检查,保障了数据一致性和可用性,从而保证交易的正常运行。
Description
技术领域
本发明关于数据处理技术领域,特别是关于数据的迁移核对技术,具体的讲是一种跨数据库平台同步数据的核对方法、跨数据库平台同步数据的核对系统、计算机设备以及计算机可读存储介质。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
随着我国金融行业的飞速发展,银行、保险、证券业业务量逐年增加,日交易量飞速增长。近些年,电子商务逐渐改变着人们的生活方式,每年“618”、“双11”活动一次又一次刷新了交易记录。在这种情况下,传统金融行业科技部门的核心交易系统会面对越来越大的日间交易压力。IBM的大型机系统因其特有的工作机制及强大的技术支持,成为各金融业核心交易系统的主要组成部分。为了降低大型机交易压力,各金融科技部门纷纷开发实施主机下移项目,将跑在主机上的交易下移至小机,让核心交易能够运行在双系统上,实现“两条腿走路”,以降低主机端的MIPS消耗。
在双系统运行的同时,需保证源系统和目标系统两端数据库中的数据保持一致,从而采用数据同步装置。目前商业银行已实现进行数据下移的第一步,却并没有建立起一套高效的非侵入式的数据核对进行保证两端数据的一致性。
目前,存在的一种解决数据核对问题时的方法,该方法是将增量数据导入核对表再通过SQL的join语句进行两表间差异化对比。首先相对文件操作而言,SQL语句执行效率较为低下,尤其是对整库的数据进行sql语句操作时,执行时间将更为冗长。
此外,现有技术是直接在生产环境将每日批量数据与生产数据库数据进行对比,而生产数据库中的数据是实时变动的,因此比对的准确性会随着比对日期距离生产环境当日日期的增加而降低。并且,比对方式是在数据库层面进行的,如果在日间进行数据核对,对生产数据库的select操作会占用数据库资源,会影响到对数据库的日常操作,降低生产环境效率,对生产环境有强侵入性。
因此,如何提供一种新的方案,其能够解决上述技术缺陷是本领域亟待解决的技术难题。
发明内容
有鉴于此,本发明提供了一种跨数据库平台同步数据的核对方法、跨数据库平台同步数据的核对系统、计算机设备以及计算机可读存储介质,通过在进行数据核对时,以源数据库作为比对基准,对目标数据库进行比对,数据同步装置实时监控源数据库的变更情况,在数据进行变动时,触发改动目标数据库,对数据不一致出现的情况进行有效地检查,保障了数据一致性和可用性,从而保证交易的正常运行。
为了实现上述目的,本发明提供了一种跨数据库平台同步数据的核对方法,所述方法包括:
对源数据库的每日数据进行拆分合并,得到日数据文件;
对目标数据库的每日数据进行数据快照,生成数据快照文件,所述目标数据库的每日数据为从源数据库实时向目标数据库下刷的;
按照日期存储所述日数据文件以及所述数据快照文件;
比对核对日期对应的日数据文件以及数据快照文件,输出比对结果信息;
通过在进行数据核对时,以源数据库作为比对基准,对目标数据库进行比对,数据同步装置实时监控源数据库的变更情况,在数据进行变动时,触发改动目标数据库,对数据不一致出现的情况进行有效地检查,保障了数据一致性和可用性,从而保证交易的正常运行。
本发明的目的之一是,提供了一种跨数据库平台同步数据的核对系统,所述系统包括源数据库、目标数据库、数据同步装置、数据集散中心以及核对装置;
其中,所述数据同步装置,用于将每日数据从所述源数据库实时向所述目标数据库下刷;
所述数据集散中心,用于向所述核对装置推送所述源数据库的每日数据;
所述核对装置包括:
数据拆分合并模块,用于对所述每日数据进行拆分合并,得到日数据文件;
数据快照模块,用于对所述目标数据库的每日数据进行数据快照,生成数据快照文件;
文本服务器,用于按照日期存储所述日数据文件以及所述数据快照文件;
文本数据比对模块,用于比对核对日期对应的日数据文件以及数据快照文件,输出比对结果信息;
所述对目标数据库的每日数据进行数据快照包括按照最后修改日期栏位对应的数值进行数据快照以记录每日数据,所述目标数据库的每日数据对应的表格包括最后修改日期栏位。
本发明的目的之一是,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现一种跨数据库平台同步数据的核对方法。
本发明的目的之一是,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行一种跨数据库平台同步数据的核对方法。
本发明的有益效果在于,提供了一种跨数据库平台同步数据的核对方法、跨数据库平台同步数据的核对系统、计算机设备以及计算机可读存储介质,通过在进行数据核对时,以源数据库作为比对基准,对目标数据库进行比对,数据同步装置实时监控源数据库的变更情况,在数据进行变动时,触发改动目标数据库,对数据不一致出现的情况进行有效地检查,保障了数据一致性和可用性,从而保证交易的正常运行。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种跨数据库平台同步数据的核对系统的结构示意图;
图2为本发明实施例提供的一种跨数据库平台同步数据的核对系统中核对装置的实施方式一的结构示意图;
图3为本发明实施例提供的一种跨数据库平台同步数据的核对系统中核对装置的实施方式二的结构示意图;
图4为本发明实施例提供的一种跨数据库平台同步数据的核对系统中核对装置的实施方式三的结构示意图;
图5为本发明实施例提供的一种跨数据库平台同步数据的核对系统中核对装置的实施方式四的结构示意图;
图6为本发明实施例提供的一种跨数据库平台同步数据的核对系统中核对装置的实施方式五的结构示意图;
图7为本发明实施例提供的一种跨数据库平台同步数据的核对方法的流程图;
图8为本发明实施例提供的一种跨数据库平台同步数据的核对方法的实施方式二的流程图;
图9为本发明实施例提供的一种跨数据库平台同步数据的核对方法的实施方式三的流程图;
图10为本发明实施例提供的一种跨数据库平台同步数据的核对方法的实施方式四的流程图;
图11为本发明实施例提供的一种跨数据库平台同步数据的核对方法的实施方式五的流程图;
图12为本发明提供的具体实施例中数据同步示意图;
图13为本发明提供的具体实施例中数据推送示意图;
图14为本发明提供的具体实施例中数据核对流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、方法或计算机程序产品。因此,本发明公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
下面首先介绍本发明的技术术语。
数据核对:数据由源数据库向目标数据库迁移后,为保证两数据库数据一致性而采取的数据比对机制。
MIPS:MIPS(Million Instructions Per Second):单字长定点指令平均执行速度Million Instructions Per Second的缩写,每秒处理的百万级的机器语言指令数。这是衡量CPU速度的一个指标。像是一个Intel80386电脑可以每秒处理3百万到5百万机器语言指令,即我们可以说80386是3到5MIPS的CPU。MIPS只是衡量CPU性能的指标
数据集散中心:数据集散中心可每日进行数据的批量备份操作,在批量时间点备份数据库当日数据状态的全量和每日增量。
数据同步装置:进行交易数据管理。可以在异构的IT基础结构之间实现大量数据的秒一级的数据捕捉、转换和投递。如oracle的GoldenGate或IBM的Q-rep等。
主机下移:通过优化系统架构,采用将部分应用从主机端集中式部署向X86端分布式部署转变的方式,构建多平台,多技术融合的架构。主机下移旨在减少对主机的单方面依赖,以实现自主可控,降低安全风险和成本。
数据无缝衔接:一种数据铺底向数据同步过渡的操作,在进行最后一日的增量数据铺底前提前开启数据同步装置,在数据同步装置开启后铺底最后一日的增量数据以保障数据衔接流畅,保证数据的完整性与正确性。
数据是交易的基石,主机下移的目的是将主机端数据实现数据迁移,即数据从DB2向ORACLE或MYSQL等传统数据库端进行迁移,而保持数据一致性是数据迁移工作的重中之重。因此,本发明要解决的技术问题是数据同步工具在源数据库和目标数据库间进行数据同步过程中数据出现差错,找出差错数据并进行数据修复,从而确保源数据库系统和目标数据库系统数据一致性的问题。
由于数据是由源系统向目标系统的迁移,源系统数据是稳定运行的生产数据,因此在进行数据核对时我们以源系统数据作为比对基准,对目标系统数据进行比对。为保障新源系统间的数据能够实时更新,且新交易逻辑不对任何源系统形成任何侵入性的改变,源系统和目标系统之间往往由数据同步装置相连。数据同步装置会实时监控源系统数据的变更情况,在数据进行变动时,该装置会被触发去改动目标系统数据,使得新源数据能够保证实时一致。数据核对的意义其一在于对该数据同步装置改动数据的正确性进行对比,以验证装置质量;其二在于当要求源系统数据强一致性存在时,当目标系统因误操作或追数失败等原因导致了数据变化,可通过数据核对机制将目标数据库数据再次同步。
图1为本发明实施例提供的一种跨数据库平台同步数据的核对系统的结构示意图,请参阅图1,该系统包括源数据库100、目标数据库200、数据同步装置300、数据集散中心400以及核对装置500。
其中,所述数据同步装置300,用于将每日数据从所述源数据库实时向所述目标数据库下刷。如图12所示的具体实施例中数据同步过程,每日数据由数据同步装置从源数据库实时向目标数据库下刷。
在本发明中,正是因为有数据集散中心每日下发的增量数据,才能将数据库数据进行快照与之相比对,且数据集散中心的数据是经过历史检验过的,是可以拿来作为基准数据进行参考的,因此数据集散中心是本发明的重要环节之一。
目标数据库的每日数据按照表格中的最后修改日期栏位,按照表格对每日数据进行数据快照,数据快照格式需与数据集散中心下放完毕后解压合并后的核对日数据保持统一,按照既定格式生成每日数据库的数据快照。
所述数据集散中心400,用于向所述核对装置推送所述源数据库的每日数据。
在本发明的一种实施方式中,数据集散中心推送的每日数据为压缩格式,不同数据文件按表名、地区名和推送日期进行区分。当需要对某日数据进行核对时,首先需要找到核对日数据的压缩文本,将该压缩文本解压,并将表名相同的数据文本进行合并,从而生成数据集散中心下放的核对日的数据。
在图13所示的具体实施例中,每日增量文本数据由数据集散中心向文本服务器中推送。
数据同步装置的存在确保了新源数据库中数据的实时统一,而市面上没有一款开源产品能够保证数据能够从DB2无缝同步到ORACLE上,而目前大部分金融、保险、证券信息中心仍使用DB2为其主要的数据存储系统,且数据同步工作也多是向oracle端进行。而在一些国有银行领域从IBM手中采购可从DB2端向oracle端同步的Q-rep工具。而这一装置是一般技术开发部门无法负担的。
图2为本发明实施例提供的一种跨数据库平台同步数据的核对系统中核对装置的实施方式一的结构示意图,请参阅图2,在实施方式一中,所述核对装置500包括:
数据拆分合并模块501,用于对所述源数据库的每日数据进行拆分合并,得到日数据文件。
在本发明的一种实施方式中,该模块负责拆分数据集散中心下传数据,并将数据在表格维度进行栏位合并。具体的,进行高效率的数据拆分与合并。当收集到数据集散中心推送的当日数据时,如何高效率地对压缩数据进行拆分和合并是该模块的一个难点。在本发明的一种实施方式中,以nio的拆分模式为主,合并采用linux底层排序连接规则,最大程度地加快了拆分合并的效率。
数据快照模块502,用于对所述目标数据库的每日数据进行数据快照,生成数据快照文件。
在本发明的一种实施方式中,数据快照模块包括日期栏位快照模块,用于按照最后修改日期栏位对应的数值进行数据快照以记录当日数据,生成数据快照文件,所述目标数据库的每日数据对应的表格包括最后修改日期栏位。
对数据库的快照有多种方式,一般基于数据库层面的快照是对当前状态表数据的快照备份,此种快照方式记录了当前数据库的状态,无法准确地按照增量数据方式对数据表进行备份。本发明要实现增量备份,因此需在表设计时为每张表添加最后修改日期栏位,在进行数据快照时按照最后修改日期栏位的值记录当日数据。
文本服务器503,用于按照日期存储所述日数据文件以及所述数据快照文件。
在本发明的一种实施方式中,还可在文本服务器和数据库之间建立共享文件夹,每日只采集当日数据库服务器的增量数据快照,生成与数据集散中心所发送数据结构样式相同的文本数据,数据快照和文本数据存放于文本服务器。
文本数据比对模块504,用于比对核对日期对应的日数据文件以及数据快照文件,输出比对结果信息。
在本发明的一种实施方式中,可进行高效率的文件差异的对比。高效的文件差异对比选择在本发明中非常重要,在两方面数据来源聚合后,需要最快效率地比对出两方文件间的差异。本发明拟采用linux底层的diff方法对文件进行比对。该diff算法是基于行的,采用的动态规划算法,将每行数据计算为校验码序列,使得问题的解决转变为校验码的序列对比,从而达到高效的比对方式。
图3为本发明实施例提供的一种跨数据库平台同步数据的核对系统中核对装置的实施方式二的结构示意图,请参阅图3,在实施方式二中该核对装置500还包括:
差异文本生成模块505,用于当所述比对结果信息显示所述日数据文件以及数据快照文件存在差异时,生成差异文本。
在本发明的一种实施方式中,可在每日夜间进行数据批量的时间点,利用脚本语言对目标数据库各库的全部表格进行数据快照。在由数据集散中心传送来的数据到达后,对数据包进行拆分合并,并将数据存放至指定日期的文件夹下。在需要对某日数据进行核对时,将该日快照数据与数据集散中心传来的数据进行文本比对,将比对出的差异生成文本格式文件。
图4为本发明实施例提供的一种跨数据库平台同步数据的核对系统中核对装置的实施方式三的结构示意图,请参阅图4,在实施方式三中该核对装置500还包括:
差异文本分析模块506,用于分析所述差异文本,得到差异产生原因信息,所述差异产生原因信息包括同步失效或目标数据库误修改。
图5为本发明实施例提供的一种跨数据库平台同步数据的核对系统中核对装置的实施方式四的结构示意图,请参阅图5,在实施方式四中该核对装置500还包括:
差异文本处理模块507,用于当所述差异产生原因信息为同步失效时,将所述差异文本通过脚本规则转化为sql语句。
因此,当异常数据由于数据同步装置同步失效而产生,我们可将差异文本通过脚本规则转化成sql语句,直接在目标端作用执行,从而对目标数据库数据进行数据修复。
图6为本发明实施例提供的一种跨数据库平台同步数据的核对系统中核对装置的实施方式五的结构示意图,请参阅图6,在实施方式五中该核对装置500还包括:
差异文本上传模块508,用于当所述差异产生原因信息为目标数据库误修改时,将所述差异文本上传至所述源数据库。
因此,目标端数据误修改产生异常数据时,将差异数据文本通过ftp上传至源端系统,继续由数据同步装置进行数据同步过程,从而对目标数据库数据进行数据修复。
在本发明的其他实施方式中,在差异文件生成后,可采用历史严格修正的数据修复机制,也可采用历史修正不严格的数据修复机制。
上述的两种情况均可采用历史严格修正的数据修复机制,第一种情况是当异常数据由于数据同步装置同步失效而产生,可将差异文本通过脚本规则转化成sql语句,直接在目标端作用执行;第二种情况为目标端数据误修改产生异常数据,将差异数据文本通过ftp上传至源端系统,继续由数据同步装置进行数据同步过程。
当异常数据产生时,也可采用不严格的历史修正机制,及通过数据无缝衔接过程进行修数。该过程的弊端是修数过程需要在D+1日完成,无法及时对异常数据进行修复。该过程的优势是无论任何异常出现,皆可保证数据的正确有效性。
如上即是本发明提供的一种跨数据库平台同步数据的核对系统,通过在进行数据核对时,以源数据库作为比对基准,对目标数据库进行比对,数据同步装置实时监控源数据库的变更情况,在数据进行变动时,触发改动目标数据库,对数据不一致出现的情况进行有效地检查,保障了数据一致性和可用性,从而保证交易的正常运行。
此外,尽管在上文详细描述中提及了系统的若干单元模块,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。同样,上文描述的一个单元的特征和功能也可以进一步划分为由多个单元来具体化。以上所使用的术语“模块”和“单元”,可以是实现预定功能的软件和/或硬件。尽管以下实施例所描述的模块较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
在介绍了本发明示例性实施方式的跨数据库平台同步数据的核对的系统之后,接下来,参考附图对本发明示例性实施方式的方法进行介绍。该方法的实施可以参见上述整体的实施,重复之处不再赘述。
图7为本发明实施例提供的一种跨数据库平台同步数据的核对方法的流程示意图,请参阅图7,该方法包括:
S101:对源数据库的每日数据进行拆分合并,得到日数据文件。
在本发明的一种实施方式中,源数据库的每日数据由数据集散中心推送,数据集散中心推送的每日数据为压缩格式,不同数据文件按表名、地区名和推送日期进行区分。当需要对某日数据进行核对时,首先需要找到核对日数据的压缩文本,将该压缩文本解压,并将表名相同的数据文本进行合并,从而生成数据集散中心下放的核对日的数据。
在图13所示的具体实施例中,每日增量文本数据由数据集散中心向文本服务器中推送。
在本发明的一种实施方式中,该步骤负责拆分数据集散中心下传数据,并将数据在表格维度进行栏位合并。具体的,进行高效率的数据拆分与合并。当收集到数据集散中心推送的当日数据时,如何高效率地对压缩数据进行拆分和合并是该模块的一个难点。在本发明的一种实施方式中,以nio的拆分模式为主,合并采用linux底层排序连接规则,最大程度地加快了拆分合并的效率。
S102:对目标数据库的每日数据进行数据快照,生成数据快照文件。
在本发明中,目标数据库的每日数据由数据同步装置从所述源数据库实时向所述目标数据库下刷。正是因为有数据集散中心每日下发的增量数据,才能将数据库数据进行快照与之相比对,且数据集散中心的数据是经过历史检验过的,是可以拿来作为基准数据进行参考的,因此数据集散中心是本发明的重要环节之一。
目标数据库的每日数据按照表格中的最后修改日期栏位,按照表格对每日数据进行数据快照,数据快照格式需与数据集散中心下放完毕后解压合并后的核对日数据保持统一,按照既定格式生成每日数据库的数据快照。
在本发明的一种实施方式中,对目标数据库的每日数据进行数据快照包括按照最后修改日期栏位对应的数值进行数据快照以记录每日数据,所述目标数据库的每日数据对应的表格包括最后修改日期栏位。
对数据库的快照有多种方式,一般基于数据库层面的快照是对当前状态表数据的快照备份,此种快照方式记录了当前数据库的状态,无法准确地按照增量数据方式对数据表进行备份。本发明要实现增量备份,因此需在表设计时为每张表添加最后修改日期栏位,在进行数据快照时按照最后修改日期栏位的值记录当日数据。
S103:按照日期存储所述日数据文件以及所述数据快照文件。
在本发明的一种实施方式中,还可在文本服务器和数据库之间建立共享文件夹,每日只采集当日数据库服务器的增量数据快照,生成与数据集散中心所发送数据结构样式相同的文本数据,数据快照和文本数据存放于文本服务器。
S104:比对核对日期对应的日数据文件以及数据快照文件,输出比对结果信息。
在本发明的一种实施方式中,可进行高效率的文件差异的对比。高效的文件差异对比选择在本发明中非常重要,在两方面数据来源聚合后,需要最快效率地比对出两方文件间的差异。本发明拟采用linux底层的diff方法对文件进行比对。该diff算法是基于行的,采用的动态规划算法,将每行数据计算为校验码序列,使得问题的解决转变为校验码的序列对比,从而达到高效的比对方式。
图8为本发明实施例提供的一种跨数据库平台同步数据的核对方法的实施方式二的流程图,请参阅图8,在实施方式二中该方法还包括:
S105:当所述比对结果信息显示所述日数据文件以及数据快照文件存在差异时,生成差异文本。
在本发明的一种实施方式中,可在每日夜间进行数据批量的时间点,利用脚本语言对目标数据库各库的全部表格进行数据快照。在由数据集散中心传送来的数据到达后,对数据包进行拆分合并,并将数据存放至指定日期的文件夹下。在需要对某日数据进行核对时,将该日快照数据与数据集散中心传来的数据进行文本比对,将比对出的差异生成文本格式文件。
图9为本发明实施例提供的一种跨数据库平台同步数据的核对方法的实施方式三的流程图,请参阅图9,在实施方式三中该方法还包括:
S106:分析所述差异文本,得到差异产生原因信息,所述差异产生原因信息包括同步失效或目标数据库误修改。
图10为本发明实施例提供的一种跨数据库平台同步数据的核对方法的实施方式四的流程图,请参阅图10,在实施方式四中该方法还包括:
S107:当所述差异产生原因信息为同步失效时,将所述差异文本通过脚本规则转化为sql语句。
因此,当异常数据由于数据同步装置同步失效而产生,我们可将差异文本通过脚本规则转化成sql语句,直接在目标端作用执行,从而对目标数据库数据进行数据修复。
图11为本发明实施例提供的一种跨数据库平台同步数据的核对方法的实施方式五的流程图,请参阅图11,在实施方式五中该方法还包括:
S108:当所述差异产生原因信息为目标数据库误修改时,将所述差异文本上传至所述源数据库。
因此,目标端数据误修改产生异常数据时,将差异数据文本通过ftp上传至源端系统,继续由数据同步装置进行数据同步过程,从而对目标数据库数据进行数据修复。
在本发明的其他实施方式中,在差异文件生成后,可采用历史严格修正的数据修复机制,也可采用历史修正不严格的数据修复机制。
上述的两种情况均可采用历史严格修正的数据修复机制,第一种情况是当异常数据由于数据同步装置同步失效而产生,可将差异文本通过脚本规则转化成sql语句,直接在目标端作用执行;第二种情况为目标端数据误修改产生异常数据,将差异数据文本通过ftp上传至源端系统,继续由数据同步装置进行数据同步过程。
当异常数据产生时,也可采用不严格的历史修正机制,及通过数据无缝衔接过程进行修数。该过程的弊端是修数过程需要在D+1日完成,无法及时对异常数据进行修复。该过程的优势是无论任何异常出现,皆可保证数据的正确有效性。
如上即是本发明提供的一种跨数据库平台同步数据的核对方法,通过在进行数据核对时,以源数据库作为比对基准,对目标数据库进行比对,数据同步装置实时监控源数据库的变更情况,在数据进行变动时,触发改动目标数据库,对数据不一致出现的情况进行有效地检查,保障了数据一致性和可用性,从而保证交易的正常运行。
本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现一种跨数据库平台同步数据的核对方法。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行一种跨数据库平台同步数据的核对方法。
应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。在介绍了本发明示例性实施方式之后,接下来,参考附图对本发明示例性实施方式的系统进行介绍。该系统的实施可以参见上述整体的实施,重复之处不再赘述。
下面结合具体的实施例,详细介绍本发明的技术方案。图14为本发明提供的具体实施例中数据核对流程图,请参阅图14,在现有技术下,在源系统实现数据迁移后,增加了针对数据同步工具所采用的核对机制,数据核对流程图如下:
S11:数据集散中心核对日数据;
S12:数据拆分合并模块进行数据拆分合并;
S13:解压后数据集散中心核对日数据;
S14:获取目标数据库数据;
S15:数据快照模块进行数据快照;
S16:数据库核对日数据快;
S17:文本数据比对模块进行文本数据对比;
S18:当比对无差异时,不生成差异文本;
S19:当比对有差异时,生成差异文本;
S20:判断是否进行数据修复;
S21:当判断为是时,进行数据修复。
也即,在该实施例中,每日数据集散中心推送的数据为压缩格式,不同数据文件按表名、地区名和推送日期进行区分。当需要对某日数据进行核对时,我们首先需要找到核对日数据的压缩文本,将该压缩文本解压,并将表名相同的数据文本进行合并,从而生成数据集散中心下放的核对日数据。
目标数据库数据,按照表格中的最后修改日期栏位,按照表格对每日数据进行数据快照,数据快照格式需与数据集散中心下放完毕后解压合并后的核对日数据保持统一,按照既定格式生成每日数据库的数据快照。
文本服务器和数据库服务器之间由共享文件夹相连,因此每日数据库数据快照和数据集散中心下放的核对日数据同时存在于共享文件夹中。在启动核对时,我们在文件层面将数据集散中心推送的文件数据与数据库采集到的每日增量文件进行比对,通过文件间的差异对比,迅速找出数据差异,并对数据差异的产生原因进行排查与解决。
综上所述,本发明提供了一种跨数据库平台同步数据的核对的方法、跨数据库平台同步数据的核对系统、计算机设备以及计算机可读存储介质,通过在进行数据核对时,以源数据库作为比对基准,对目标数据库进行比对,数据同步装置实时监控源数据库的变更情况,在数据进行变动时,触发改动目标数据库,对数据不一致出现的情况进行有效地检查,保障了数据一致性和可用性,从而保证交易的正常运行。
本发明的关键点和欲保护点是:
1.数据库进行全部数据核对的数据量较大,因此本发采用以天为单位进行数据核对的方式有效地提高核对效率。
2.排除源数据库和目标数据库由于数据不一致而造成的交易隐患。
3.核对方式对源数据库具有非侵入性,核对过程不会影响源交易系统的正常进行,不会影响生产交易执行效率。
4.核对方式对目标数据库具有非侵入性,核对过程不会影响目标数系统交易的正常进行,不会影响生产交易执行效率。
5.对历史数据严格修正和对历史数据不严格修正的数据核对方式,可在数据出现差异时采用update语句或上传数据同步工具进行不严格修正或人工干预进行数据无缝衔接严格修正。
因此,本发明的技术方案带来的有益效果为:以天为单位的数据核对方式,每日增量数据文件皆可在相对应的日期文件夹中留存,从而实现每日数据有迹可循,相对于全量数据核对方式来说具有较高的核对效率。采用本方案数据核对机制可以对数据不一致出现的情况进行有效地检查,保障了数据一致性和可用性,从而保证交易的正常运行。
对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware DescriptionLanguage,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced BooleanExpression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java HardwareDescription Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware DescriptionLanguage)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated CircuitHardware Description Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机系统(可以是个人计算机,服务器,或者网络系统等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持系统或便携式系统、平板型系统、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子系统、网络PC、小型计算机、大型计算机、包括以上任何系统或系统的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理系统来执行任务。在分布式计算环境中,程序模块可以位于包括存储系统在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (8)
1.一种跨数据库平台同步数据的核对系统,其特征在于,所述核对系统包括源数据库、目标数据库、数据同步装置、数据集散中心以及核对装置;
其中,所述数据同步装置,用于将每日数据从所述源数据库实时向所述目标数据库下刷;
所述数据集散中心,用于向所述核对装置推送所述源数据库的每日数据;
所述核对装置包括:
数据拆分合并模块,用于对所述源数据库的每日数据进行拆分合并,得到日数据文件;
数据快照模块,用于对所述目标数据库的每日数据进行数据快照,生成数据快照文件;
文本服务器,用于按照日期存储所述日数据文件以及所述数据快照文件;
文本数据比对模块,用于比对核对日期对应的日数据文件以及数据快照文件,输出比对结果信息;
所述数据快照模块包括日期栏位快照模块,用于按照最后修改日期栏位对应的数值进行数据快照以记录当日数据,生成数据快照文件,所述目标数据库的每日数据对应的表格包括最后修改日期栏位;
所述核对装置还包括:
差异文本生成模块,用于当所述比对结果信息显示所述日数据文件以及数据快照文件存在差异时,生成差异文本;
所述核对装置还包括:
差异文本分析模块,用于分析所述差异文本,得到差异产生原因信息,所述差异产生原因信息包括同步失效或目标数据库误修改。
2.根据权利要求1所述的系统,其特征在于,所述核对装置还包括:
差异文本处理模块,用于当所述差异产生原因信息为同步失效时,将所述差异文本通过脚本规则转化为sql语句。
3.根据权利要求1所述的系统,其特征在于,所述核对装置还包括:
差异文本上传模块,用于当所述差异产生原因信息为目标数据库误修改时,将所述差异文本上传至所述源数据库。
4.一种跨数据库平台同步数据的核对方法,其特征在于,所述方法包括:
对源数据库的每日数据进行拆分合并,得到日数据文件;
对目标数据库的每日数据进行数据快照,生成数据快照文件,所述目标数据库的每日数据为从源数据库实时向目标数据库下刷的;
按照日期存储所述日数据文件以及所述数据快照文件;
比对核对日期对应的日数据文件以及数据快照文件,输出比对结果信息;
所述对目标数据库的每日数据进行数据快照包括按照最后修改日期栏位对应的数值进行数据快照以记录每日数据,所述目标数据库的每日数据对应的表格包括最后修改日期栏位;
所述方法还包括:
当所述比对结果信息显示所述日数据文件以及数据快照文件存在差异时,生成差异文本;
所述方法还包括:
分析所述差异文本,得到差异产生原因信息,所述差异产生原因信息包括同步失效或目标数据库误修改。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述差异产生原因信息为同步失效时,将所述差异文本通过脚本规则转化为sql语句。
6.根据权利要求4所述的方法,其特征在于,所述方法包括:
当所述差异产生原因信息为目标数据库误修改时,将所述差异文本上传至所述源数据库。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求4至6任意一项权利要求所述的跨数据库平台同步数据的核对方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求4至6任意一项权利要求所述的跨数据库平台同步数据的核对方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910887266.5A CN110647534B (zh) | 2019-09-19 | 2019-09-19 | 一种跨数据库平台同步数据的核对方法、设备以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910887266.5A CN110647534B (zh) | 2019-09-19 | 2019-09-19 | 一种跨数据库平台同步数据的核对方法、设备以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110647534A CN110647534A (zh) | 2020-01-03 |
CN110647534B true CN110647534B (zh) | 2022-11-04 |
Family
ID=68992043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910887266.5A Active CN110647534B (zh) | 2019-09-19 | 2019-09-19 | 一种跨数据库平台同步数据的核对方法、设备以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110647534B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112967035A (zh) * | 2021-03-15 | 2021-06-15 | 深圳市长亮科技股份有限公司 | 跨数据库进行业务系统追账/测评方法及系统 |
CN114840534A (zh) * | 2022-03-10 | 2022-08-02 | 创云融达信息技术(天津)股份有限公司 | 一种基于检察业务的数据保持一致性方法及装置 |
CN116756162B (zh) * | 2023-06-28 | 2024-03-12 | 蝉鸣科技(西安)有限公司 | 一种保证数据一致性的方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107016014A (zh) * | 2016-09-30 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 异构数据库的数据同步方法及装置 |
WO2017166037A1 (zh) * | 2016-03-29 | 2017-10-05 | 深圳投之家金融信息服务有限公司 | 一种数据篡改的检测装置及方法 |
CN110175211A (zh) * | 2019-05-05 | 2019-08-27 | 中国银行股份有限公司 | 一种数据同步方法及装置 |
-
2019
- 2019-09-19 CN CN201910887266.5A patent/CN110647534B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017166037A1 (zh) * | 2016-03-29 | 2017-10-05 | 深圳投之家金融信息服务有限公司 | 一种数据篡改的检测装置及方法 |
CN107016014A (zh) * | 2016-09-30 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 异构数据库的数据同步方法及装置 |
CN110175211A (zh) * | 2019-05-05 | 2019-08-27 | 中国银行股份有限公司 | 一种数据同步方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110647534A (zh) | 2020-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647534B (zh) | 一种跨数据库平台同步数据的核对方法、设备以及系统 | |
Bacon et al. | Spanner: Becoming a SQL system | |
US10558629B2 (en) | Intelligent data quality | |
Chen et al. | AutoFDO: Automatic feedback-directed optimization for warehouse-scale applications | |
US9449060B2 (en) | Post-migration validation of ETL jobs and exception management | |
JP6434960B2 (ja) | フローベースのetlおよびエンティティリレーションシップベースのetlの組合せのサポート | |
US8131686B2 (en) | Data migration factory | |
Singh et al. | Hadoop: addressing challenges of big data | |
US11615076B2 (en) | Monolith database to distributed database transformation | |
US7418449B2 (en) | System and method for efficient enrichment of business data | |
US9009175B2 (en) | System and method for database migration and validation | |
CN109299074B (zh) | 一种基于模板化数据库视图的数据校验方法及系统 | |
CN110597891B (zh) | MySQL聚合为PostgreSQL数据库的设备、系统、方法、存储介质 | |
JP2016525734A (ja) | Etlマップ設計のためのプロジェクタおよびセレクタコンポーネントタイプの使用 | |
CN112256674A (zh) | 一种数据迁移方法、装置、电子设备和存储介质 | |
US11314489B1 (en) | Automated authoring of software solutions by first analyzing and resolving anomalies in a data model | |
CN108196910B (zh) | 一种软件版本的切换方法、设备以及系统 | |
CN112037003A (zh) | 文件对账处理方法及装置 | |
US11847118B1 (en) | Query set optimization in a data analytics pipeline | |
Jacques-Silva et al. | Language level checkpointing support for stream processing applications | |
CN115391015A (zh) | 基于测试框架的跑批处理方法、装置、电子设备及介质 | |
Ishida et al. | Automatically Refactoring Application Transactions for Microservice-Oriented Architecture | |
CN110597862A (zh) | 一种基于信息系统的数据录入方法、设备以及系统 | |
Vu et al. | A lightweight continuous jobs mechanism for mapreduce frameworks | |
König et al. | Synchronizing software variants: a two-dimensional approach |
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 |