CN107291827A - 一种数据比对方法和系统 - Google Patents
一种数据比对方法和系统 Download PDFInfo
- Publication number
- CN107291827A CN107291827A CN201710389694.6A CN201710389694A CN107291827A CN 107291827 A CN107291827 A CN 107291827A CN 201710389694 A CN201710389694 A CN 201710389694A CN 107291827 A CN107291827 A CN 107291827A
- Authority
- CN
- China
- Prior art keywords
- data
- comparison
- platform
- allocation list
- key
- 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
Links
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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
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)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明特别涉及一种数据比对方法和系统。方法包括以下步骤:读取预设的配置文件,并根据配置文件获取对应的第一配置表;根据所述第一配置表,获取第一数据平台的第一比对数据和第二数据平台的第二比对数据;比较第一比对数据和第二比对数据,生成包含差异数据的比对结果;将所述比对结果存入第一数据平台和/或第二数据平台。本发明的数据比对过程与业务逻辑相分离,数据比对过程不用关心具体的业务数据,因此不需要用户重新编写程序;同时本发明生成的差异数据可以按照规定格式入库或生成文件,方便后期分析和处理。与现有技术的操作流程相比,本发明极大程度上简化了数据比对的步骤,降低了运维成本,减少了重复开发代码的工作。
Description
技术领域
本发明涉及互联网领域,特别涉及一种数据比对方法和系统。
背景技术
用户的积分数据通常存储在两个数据平台,一个是各省的移动NGBOSS系统,另一个是积分平台的数据库中。由于积分平台数据库和各省移动NGBOSS系统的独立性,再加上业务受理时通常采用异步处理以及移动NGBOSS系统或积分平台数据库存在故障等原因,会导致部分用户的积分数据在两个平台之间出现不一致的现象。所以,两个平台的数据需要定期(按天、按周或按月等)进行比对,并对差异数据进行分析和处理。现有技术中,类似这样的两套系统、两份数据的业务有很多,经常需要对数据进行比对。由于这些业务的业务逻辑存在差异,每类业务在移动NGBOSS系统或者积分平台的数据格式各不相同,数据库取值的SQL脚本也各不相同。因此,每当需要对新增的业务数据进行一致性比对时,都需要新增一套程序进行处理,这样不仅增加工作量,而且给后期维护造成了困难,非常消耗开发和运维成本。
发明内容
本发明提供了一种数据比对方法和系统,解决了以上所述的技术问题。
本发明解决上述技术问题的技术方案如下:一种数据比对方法,包括以下步骤:
步骤1,读取预设的配置文件,并根据所述配置文件获取对应的第一配置表;
步骤2,根据所述第一配置表,获取第一数据平台的第一比对数据和第二数据平台的第二比对数据;
步骤3,比较第一比对数据和第二比对数据,生成包含差异数据的比对结果;
步骤4,将所述比对结果存入第一数据平台和/或第二数据平台。
本发明的有益效果是:本发明可以对所有类似存在数据一致性差异的业务进行分析和处理,同时比对方法不用区分具体的业务逻辑,通过读取预设的配置文件即可获得差异数据,并可将差异数据直接存入数据库或者生成文件,各个业务模块的负责人只需要进行数据配置,然后提取差异数据进行分析即可。本发明方法的数据比对过程清晰明了,简单易懂;数据比对过程与业务逻辑相分离,数据比对过程不用关心具体的业务数据,因此不需要用户重新编写程序;同时本发明生成的差异数据可以按照规定格式入库或生成文件,方便后期分析和处理。与现有技术的操作流程相比,本发明极大程度上简化了数据比对的步骤,降低了运维成本,减少了重复开发代码的工作。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述步骤1具体为:读取预设的配置文件,判断所述配置文件中是否包含配置表ID,若是,则根据所述配置表ID获取对应的第一配置表,若否,则从预先存储的所有第一配置表中进行选择,每次选择一个不同的第一配置表,并执行步骤2。
采用上述进一步方案的有益效果是:本进一步技术方案中,通过查询配置文件中的配置表ID,即可获取需要进行数据对比的数据平台所对应的第一配置表,当查询不到配置表ID时,说明所有的第一配置表均需要被依次获取到,即所有的预设数据平台的数据均需要进行比对,查询和获取方式简单且速度快。
进一步,所述步骤2包括以下步骤:
S201,查询所述第一配置表,获取第一数据平台的第一业务模版ID和第二数据平台的第二业务模版ID;
S202,根据所述第一业务模板ID获取第一数据平台对应的第二配置表,并根据所述第二业务模板ID获取第二数据平台对应的第三配置表;
S203,根据所述第二配置表获取第一数据平台的数据格式和对应的数据获取方式,并根据第一数据平台的数据获取方式从所述第一数据平台中获取对应的第一比对数据;以及根据所述第三配置表获取第二数据平台的数据格式和对应的数据获取方式,并根据第二数据平台的数据获取方式从所述第二数据平台中获取对应的第二比对数据。
采用上述进一步方案的有益效果是:本进一步技术方案中,所述第一配置表为Cs_BalanceRela_Dict表,所述第二配置表和第三配置表均为Cs_BalanceTemplate_Dict表,通过预先对Cs_BalanceRela_Dict表和Cs_BalanceTemplate_Dict表进行配置,即可设置待比对数据的格式以及获取方式,从而方便地获取到两个数据平台的待比对数据,获取方式简单且速度快。
进一步,步骤S203中,当所述数据格式为文件类,且所述数据获取方式包括文件路径时,通过ftp连接方式连接到第一数据平台或第二数据平台的主机中,并按照所述文件路径获取对应的文件作为第一比对数据或者第二比对数据;
或者当所述数据格式为sql脚本类,且所述数据获取方式包括取值方式时,则连接到第一数据平台或第二数据平台的数据库,并根据所述取值方式获取对应的数据作为第一比对数据或者第二比对数据。
采用上述进一步方案的有益效果是:本进一步技术方案中,可以针对不同数据格式的数据设定不同的数据获取方式,同时两个数据平台的数据格式和数据获取方式可以不同,因此本发明方法的适用范围更加广泛,可以在更多的业务中进行使用。
进一步,所述步骤3具体包括以下步骤:
S301,判断所述第一比对数据或者第二比对数据是否达到预设的数据量阈值,若是,执行S302,若否,则执行S303;
S302,对第一比对数据和第二比对数据分别进行解析,并将解析结果以key-value的形式分别存入第一数据平台的第一临时表和第二数据平台的第二临时表中,然后循环遍历第一临时表中的key,并到第二临时表中进行查询并比较对应的value值,若第二临时表中存在所述key且对应的value值相同,则将所述第一临时表和第二临时表中的所述key以及对应的value删除,若否,则在所述第一临时表和第二临时表中保留所述key以及对应的value,直到遍历完成后生成差异数据,然后执行S304;
S303,对第一比对数据和第二比对数据分别进行解析,并将解析结果以key-value的形式分别存入第一数据平台的第一临时缓存和第二数据平台的第二临时缓存中,然后循环遍历第一临时缓存中的key,并到第二临时缓存中进行查询并比较对应的value值,若第二临时缓存中存在所述key且对应的value值相同,则将所述第一临时缓存和第二临时缓存中的所述key以及对应的value删除,若否,则在所述第一临时缓存和第二临时缓存中保留所述key以及对应的value,直到遍历完成后生成差异数据,然后执行S304;
S304,将差异数据写入预设格式的流水表或者文件中,生成比对结果。
采用上述进一步方案的有益效果是:本进一步技术方案中,针对需要进行数据比对的数据量大小采用不同的对比方式,当数据量较大时采用临时表的方式进行比对,当数据量较小时,采用临时缓存的方式进行比对,不仅比对速度快,而且节省了系统资源。
为了解决本发明的技术问题,还提供了一种数据比对系统,包括:
读取模块,用于读取预设的配置文件,并根据所述配置文件获取对应的第一配置表;
数据获取模块,用于根据所述第一配置表,获取第一数据平台的第一比对数据和第二数据平台的第二比对数据;
比较模块,用于比较第一比对数据和第二比对数据,生成包含差异数据的比对结果;
写入模块,用于将所述比对结果存入第一数据平台和/或第二数据平台;
存储模块,用于存储预设的配置文件。
本发明的有益效果是:本发明可以对所有类似存在数据一致性差异的业务进行分析和处理,同时比对方法不用区分具体的业务逻辑,通过配置不同的数据文件格式或数据库取值SQL等,即可获得差异数据,并可将差异数据直接存入数据库或者生成文件,各个业务模块的负责人只需要进行数据配置,然后提取差异数据进行分析即可。本发明极大程度上简化了数据比对的步骤,降低了运维成本,减少了重复开发代码的工作。
进一步,所述读取模块具体用于读取预设的配置文件,判断所述配置文件中是否包含配置表ID,若是,则根据所述配置表ID获取对应的第一配置表并驱动比较模块,若否,则从预先存储的所有第一配置表中进行选择,每次选择一个不同的第一配置表,并驱动比较模块。
进一步,所述数据获取模块具体包括:
第一查询单元,用于查询所述第一配置表,获取第一数据平台的第一业务模版ID和第二数据平台的第二业务模版ID;
第二查询单元,用于根据所述第一业务模板ID获取第一数据平台对应的第二配置表,并根据所述第二业务模板ID获取第二数据平台对应的第三配置表;
数据获取单元,用于根据所述第二配置表获取第一数据平台的数据格式和所述数据格式对应的数据获取方式,并根据所述数据获取方式从所述第一数据平台中获取对应的第一比对数据;以及用于根据所述第三配置表获取第二数据平台的数据格式和所述数据格式对应的数据获取方式,并根据所述数据获取方式从所述第二数据平台中获取对应的第二比对数据。
进一步,当所述数据格式为文件类,且所述数据获取方式包括文件路径时,所述获取模块用于通过ftp连接方式连接到第一数据平台或第二数据平台的主机中,并按照所述文件路径获取对应的文件作为第一比对数据或者第二比对数据;
或者当所述数据格式为sql脚本类,且所述数据获取方式包括取值方式时,所述获取模块用于连接到第一数据平台或第二数据平台的数据库,并根据所述取值方式获取对应的数据作为第一比对数据或者第二比对数据。
进一步,所述比较模块具体包括:
判断单元,用于判断所述第一比对数据或者第二比对数据是否达到预设的数据量阈值,若是,驱动第一比较单元,若否,则驱动第二比较单元;
第一比较单元,用于对第一比对数据和第二比对数据分别进行解析,并将解析结果以key-value的形式分别存入第一数据平台的第一临时表和第二数据平台的第二临时表中,然后循环遍历第一临时表中的key,并到第二临时表中进行查询并比较对应的value值,若第二临时表中存在所述key且对应的value值相同,则将所述第一临时表和第二临时表中的所述key以及对应的value删除,若否,则在所述第一临时表和第二临时表中保留所述key以及对应的value,直到遍历完成后生成差异数据,然后驱动比对结果生成单元;
第二比较单元,用于对第一比对数据和第二比对数据分别进行解析,并将解析结果以key-value的形式分别存入第一数据平台的第一临时缓存和第二数据平台的第二临时缓存中,然后循环遍历第一临时缓存中的key,并到第二临时缓存中进行查询并比较对应的value值,若第二临时缓存中存在所述key且对应的value值相同,则将所述第一临时缓存和第二临时缓存中的所述key以及对应的value删除,若否,则在所述第一临时缓存和第二临时缓存中保留所述key以及对应的value,直到遍历完成后生成差异数据,然后驱动比对结果生成单元;
比对结果生成单元,用于将差异数据写入预设格式的流水表或者文件中,生成比对结果。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
图1为本发明实施例提供的一种数据比对方法的示意性流程图;
图2为本发明另一实施例提供的一种数据比对方法中步骤2的示意性流程图;
图3为本发明实施例提供的一种数据比对系统的示意性结构图;
图4为本发明另一实施例提供的一种数据比对系统中数据获取模块的示意性结构图;
图5为本发明另一实施例提供的一种数据比对系统中比较模块的示意性结构图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图1为本发明实施例提供的一种数据比对方法的示意性流程图,如图1所示,包括以下步骤:
步骤1,读取预设的配置文件,并根据所述配置文件获取对应的第一配置表;
步骤2,根据所述第一配置表,获取第一数据平台的第一比对数据和第二数据平台的第二比对数据;
步骤3,比较第一比对数据和第二比对数据,生成包含差异数据的比对结果;
步骤4,将所述比对结果存入第一数据平台和/或第二数据平台。
本实施例可以对所有类似存在数据一致性差异的业务进行分析和处理,同时比对方法不用区分具体的业务逻辑,通过读取预设的配置文件即可获得差异数据,并可将差异数据直接存入数据库或者生成文件,各个业务模块的负责人只需要进行数据配置,然后提取差异数据进行分析即可。本发明方法的数据比对过程清晰明了,简单易懂;数据比对过程与业务逻辑相分离,数据比对过程不用关心具体的业务数据,因此不需要用户重新编写程序;同时本发明生成的差异数据可以按照规定格式入库或生成文件,方便后期分析和处理。与现有技术的操作流程相比,本发明极大程度上简化了数据比对的步骤,降低了运维成本,减少了重复开发代码的工作。
在优选实施例中,所述步骤1具体为:读取预设的配置文件,判断所述配置文件中是否包含配置表ID,若是,则根据所述配置表ID获取对应的第一配置表,若否,则从预先存储的所有第一配置表中进行选择,每次选择一个不同的第一配置表,并执行步骤2。该优选实施例通过查询配置文件中的配置表ID,即可获取需要进行数据对比的数据平台所对应的第一配置表,当查询不到配置表ID时,说明所有的第一配置表均需要被依次获取到,即所有的预设数据平台的数据均需要进行比对,查询和获取方式简单且速度快。
图2为优选实施例中步骤2的流程示意图,如图2所示,所述步骤2包括以下步骤:
S201,查询所述第一配置表,获取第一数据平台的第一业务模版ID和第二数据平台的第二业务模版ID;
S202,根据所述第一业务模板ID获取第一数据平台对应的第二配置表,并根据所述第二业务模板ID获取第二数据平台对应的第三配置表;
S203,根据所述第二配置表获取第一数据平台的数据格式和对应的数据获取方式,并根据第一数据平台的数据获取方式从所述第一数据平台中获取对应的第一比对数据;以及根据所述第三配置表获取第二数据平台的数据格式和对应的数据获取方式,并根据第二数据平台的数据获取方式从所述第二数据平台中获取对应的第二比对数据。
上述优选实施例中,所述第一配置表为Cs_BalanceRela_Dict表,所述第二配置表和第三配置表均为Cs_BalanceTemplate_Dict表,通过预先对Cs_BalanceRela_Dict表和Cs_BalanceTemplate_Dict表进行配置,即可设置待比对数据的格式以及获取方式,从而方便地获取到两个数据平台的待比对数据,获取方式简单且速度快。具体的Cs_BalanceRela_Dict表和Cs_BalanceTemplate_Dict表分别如下表1、表2所示:
表1 Cs_BalanceRela_Dict表
表2 Cs_BalanceTemplate_Dict表
在优选实施例中,步骤S203中,当所述数据格式为文件类,且所述数据获取方式包括文件路径时,通过ftp连接方式连接到第一数据平台或第二数据平台的主机中,并按照所述文件路径获取对应的文件作为第一比对数据或者第二比对数据;
或者当所述数据格式为sql脚本类,且所述数据获取方式包括取值方式时,则连接到第一数据平台或第二数据平台的数据库,并根据所述取值方式获取对应的数据作为第一比对数据或者第二比对数据。
上述优选实施例可以针对不同数据格式的数据设定不同的数据获取方式,同时两个数据平台的数据格式和数据获取方式可以不同,因此本发明方法的适用范围更加广泛,可以在更多的业务中进行使用。
优选实施例中,所述步骤3包括以下步骤:
S301,判断所述第一比对数据或者第二比对数据是否达到预设的数据量阈值,若是,执行S302,若否,则执行S303;
S302,对第一比对数据和第二比对数据分别进行解析,并将解析结果以key-value的形式分别存入第一数据平台的第一临时表和第二数据平台的第二临时表中,然后循环遍历第一临时表中的key,并到第二临时表中进行查询并比较对应的value值,若第二临时表中存在所述key且对应的value值相同,则将所述第一临时表和第二临时表中的所述key以及对应的value删除,若否,则在所述第一临时表和第二临时表中保留所述key以及对应的value,直到遍历完成后生成差异数据,然后执行S304;
S303,对第一比对数据和第二比对数据分别进行解析,并将解析结果以key-value的形式分别存入第一数据平台的第一临时缓存和第二数据平台的第二临时缓存中,然后循环遍历第一临时缓存中的key,并到第二临时缓存中进行查询并比较对应的value值,若第二临时缓存中存在所述key且对应的value值相同,则将所述第一临时缓存和第二临时缓存中的所述key以及对应的value删除,若否,则在所述第一临时缓存和第二临时缓存中保留所述key以及对应的value,直到遍历完成后生成差异数据,然后执行S304;
S304,将差异数据写入预设格式的流水表或者文件中,生成比对结果。具体实施例中,所述流水表可以采用Cs_BalanceResult_YYYYMM的格式,具体如表3所示,
表3 Cs_BalanceResult_YYYYMM
上述优选实施例可以针对需要进行数据比对的数据量大小采用不同的对比方式,当数据量较大时采用临时表的方式进行比对,当数据量较小时,采用临时缓存的方式进行比对,不仅比对速度快,而且节省了系统资源。
图3为本发明实施例提供的一种数据比对系统的示意性结构图,如图3所示,包括:
读取模块,用于读取预设的配置文件,并根据所述配置文件获取对应的第一配置表;
数据获取模块,用于根据所述第一配置表,获取第一数据平台的第一比对数据和第二数据平台的第二比对数据;
比较模块,用于比较第一比对数据和第二比对数据,生成包含差异数据的比对结果;
写入模块,用于将所述比对结果存入第一数据平台和/或第二数据平台;
存储模块,用于存储预设的配置文件。
本实施例可以对所有类似存在数据一致性差异的业务进行分析和处理,同时比对方法不用区分具体的业务逻辑,通过配置不同的数据文件格式或数据库取值SQL等,即可获得差异数据,并可将差异数据直接存入数据库或者生成文件,各个业务模块的负责人只需要进行数据配置,然后提取差异数据进行分析即可。本发明极大程度上简化了数据比对的步骤,降低了运维成本,减少了重复开发代码的工作。
在优选实施例中,所述读取模块具体用于读取预设的配置文件,判断所述配置文件中是否包含配置表ID,若是,则根据所述配置表ID获取对应的第一配置表并驱动比较模块,若否,则从预先存储的所有第一配置表中进行选择,每次选择一个不同的第一配置表,并驱动比较模块。该优选实施例通过查询配置文件中的配置表ID,即可获取需要进行数据对比的数据平台所对应的第一配置表,当查询不到配置表ID时,说明所有的第一配置表均需要被依次获取到,即所有的预设数据平台的数据均需要进行比对,查询和获取方式简单且速度快。
图4为一个优选实施例中所述数据获取模块的结构示意图,如图4所示,包括:
第一查询单元,用于查询所述第一配置表,获取第一数据平台的第一业务模版ID和第二数据平台的第二业务模版ID;
第二查询单元,用于根据所述第一业务模板ID获取第一数据平台对应的第二配置表,并根据所述第二业务模板ID获取第二数据平台对应的第三配置表;
数据获取单元,用于根据所述第二配置表获取第一数据平台的数据格式和所述数据格式对应的数据获取方式,并根据所述数据获取方式从所述第一数据平台中获取对应的第一比对数据;以及用于根据所述第三配置表获取第二数据平台的数据格式和所述数据格式对应的数据获取方式,并根据所述数据获取方式从所述第二数据平台中获取对应的第二比对数据。
上述优选实施例中,所述第一配置表为Cs_BalanceRela_Dict表,所述第二配置表和第三配置表均为Cs_BalanceTemplate_Dict表,通过预先对Cs_BalanceRela_Dict表和Cs_BalanceTemplate_Dict表进行配置,即可设置待比对数据的格式以及获取方式,从而方便地获取到两个数据平台的待比对数据,获取方式简单且速度快。
在另一优选实施例中,当所述数据格式为文件类,且所述数据获取方式包括文件路径时,所述获取模块用于通过ftp连接方式连接到第一数据平台或第二数据平台的主机中,并按照所述文件路径获取对应的文件作为第一比对数据或者第二比对数据;
或者当所述数据格式为sql脚本类,且所述数据获取方式包括取值方式时,所述获取模块用于连接到第一数据平台或第二数据平台的数据库,并根据所述取值方式获取对应的数据作为第一比对数据或者第二比对数据。上述优选实施例可以针对不同数据格式的数据设定不同的数据获取方式,同时两个数据平台的数据格式和数据获取方式可以不同,因此本发明方法的适用范围更加广泛,可以在更多的业务中进行使用。
图5为一个优选实施例中所述比较模块的结构示意图,如图5所示,包括:
判断单元,用于判断所述第一比对数据或者第二比对数据是否达到预设的数据量阈值,若是,驱动第一比较单元,若否,则驱动第二比较单元;
第一比较单元,用于对第一比对数据和第二比对数据分别进行解析,并将解析结果以key-value的形式分别存入第一数据平台的第一临时表和第二数据平台的第二临时表中,然后循环遍历第一临时表中的key,并到第二临时表中进行查询并比较对应的value值,若第二临时表中存在所述key且对应的value值相同,则将所述第一临时表和第二临时表中的所述key以及对应的value删除,若否,则在所述第一临时表和第二临时表中保留所述key以及对应的value,直到遍历完成后生成差异数据,然后驱动比对结果生成单元;
第二比较单元,用于对第一比对数据和第二比对数据分别进行解析,并将解析结果以key-value的形式分别存入第一数据平台的第一临时缓存和第二数据平台的第二临时缓存中,然后循环遍历第一临时缓存中的key,并到第二临时缓存中进行查询并比较对应的value值,若第二临时缓存中存在所述key且对应的value值相同,则将所述第一临时缓存和第二临时缓存中的所述key以及对应的value删除,若否,则在所述第一临时缓存和第二临时缓存中保留所述key以及对应的value,直到遍历完成后生成差异数据,然后驱动比对结果生成单元;
比对结果生成单元,用于将差异数据写入预设格式的流水表或者文件中,生成比对结果。
上述优选实施例可以针对需要进行数据比对的数据量大小采用不同的对比方式,当数据量较大时采用临时表的方式进行比对,当数据量较小时,采用临时缓存的方式进行比对,不仅比对速度快,而且节省了系统资源。
本发明的数据比对方法和系统不仅简化了数据比对的流程步骤,减少了NGBOSS系统开发维护人员的投入,而且可以对数据比对类需求进行共性化分析和处理,剥离业务和比对程序的关系,将二者进行解耦;同时本发明支持多种数据格式(如sql、文本、xml等),支持多种主流数据库(如oracle、mysql等),针对新需求的开发简单,只需要按照对应格式配置即可,业务配置人员后期只需要直接分析差异结果即可;综上本发明对NGBOSS系统数据比对类需求起到了简化流程、快速开发、方便维护的效果,有效的降低开发运维成本,提高维护人员处理问题的效率。目前该数据比对方法和系统已在安徽NGBOSS系统中的多个需求中得以使用,并积极推广到其他各省的NGBOSS系统中。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据比对方法,其特征在于,包括以下步骤:
步骤1,读取预设的配置文件,并根据所述配置文件获取对应的第一配置表;
步骤2,根据所述第一配置表,获取第一数据平台的第一比对数据和第二数据平台的第二比对数据;
步骤3,比较第一比对数据和第二比对数据,生成包含差异数据的比对结果;
步骤4,将所述比对结果存入第一数据平台和/或第二数据平台。
2.根据权利要求1所述的数据比对方法,其特征在于,所述步骤1具体为:读取预设的配置文件,判断所述配置文件中是否包含配置表ID,若是,则根据所述配置表ID获取对应的第一配置表,若否,则从预先存储的所有第一配置表中进行选择,每次选择一个不同的第一配置表,并执行步骤2。
3.根据权利要求1所述的数据比对方法,其特征在于,所述步骤2包括以下步骤:
S201,查询所述第一配置表,获取第一数据平台的第一业务模版ID和第二数据平台的第二业务模版ID;
S202,根据所述第一业务模板ID获取第一数据平台对应的第二配置表,并根据所述第二业务模板ID获取第二数据平台对应的第三配置表;
S203,根据所述第二配置表获取第一数据平台的数据格式和对应的数据获取方式,并根据第一数据平台的数据获取方式从所述第一数据平台中获取对应的第一比对数据;以及根据所述第三配置表获取第二数据平台的数据格式和对应的数据获取方式,并根据第二数据平台的数据获取方式从所述第二数据平台中获取对应的第二比对数据。
4.根据权利要求3所述的数据比对方法,其特征在于,步骤S203中,当所述数据格式为文件类,且所述数据获取方式包括文件路径时,通过ftp连接方式连接到第一数据平台或第二数据平台的主机中,并按照所述文件路径获取对应的文件作为第一比对数据或者第二比对数据;
或者当所述数据格式为sql脚本类,且所述数据获取方式包括取值方式时,则连接到第一数据平台或第二数据平台的数据库,并根据所述取值方式获取对应的数据作为第一比对数据或者第二比对数据。
5.根据权利要求1~4任一所述的数据比对方法,其特征在于,所述步骤3具体包括以下步骤:
S301,判断所述第一比对数据或者第二比对数据是否达到预设的数据量阈值,若是,执行S302,若否,则执行S303;
S302,对第一比对数据和第二比对数据分别进行解析,并将解析结果以key-value的形式分别存入第一数据平台的第一临时表和第二数据平台的第二临时表中,然后循环遍历第一临时表中的key,并到第二临时表中进行查询并比较对应的value值,若第二临时表中存在所述key且对应的value值相同,则将所述第一临时表和第二临时表中的所述key以及对应的value删除,若否,则在所述第一临时表和第二临时表中保留所述key以及对应的value,直到遍历完成后生成差异数据,然后执行S304;
S303,对第一比对数据和第二比对数据分别进行解析,并将解析结果以key-value的形式分别存入第一数据平台的第一临时缓存和第二数据平台的第二临时缓存中,然后循环遍历第一临时缓存中的key,并到第二临时缓存中进行查询并比较对应的value值,若第二临时缓存中存在所述key且对应的value值相同,则将所述第一临时缓存和第二临时缓存中的所述key以及对应的value删除,若否,则在所述第一临时缓存和第二临时缓存中保留所述key以及对应的value,直到遍历完成后生成差异数据,然后执行S304;
S304,将差异数据写入预设格式的流水表或者文件中,生成比对结果。
6.一种数据比对系统,其特征在于,包括:
读取模块,用于读取预设的配置文件,并根据所述配置文件获取对应的第一配置表;
数据获取模块,用于根据所述第一配置表,获取第一数据平台的第一比对数据和第二数据平台的第二比对数据;
比较模块,用于比较第一比对数据和第二比对数据,生成包含差异数据的比对结果;
写入模块,用于将所述比对结果存入第一数据平台和/或第二数据平台;
存储模块,用于存储预设的配置文件。
7.根据权利要求6所述的数据比对系统,其特征在于,所述读取模块具体用于读取预设的配置文件,判断所述配置文件中是否包含配置表ID,若是,则根据所述配置表ID获取对应的第一配置表并驱动比较模块,若否,则从预先存储的所有第一配置表中进行选择,每次选择一个不同的第一配置表,并驱动比较模块。
8.根据权利要求6所述的数据比对系统,其特征在于,所述数据获取模块具体包括:
第一查询单元,用于查询所述第一配置表,获取第一数据平台的第一业务模版ID和第二数据平台的第二业务模版ID;
第二查询单元,用于根据所述第一业务模板ID获取第一数据平台对应的第二配置表,并根据所述第二业务模板ID获取第二数据平台对应的第三配置表;
数据获取单元,用于根据所述第二配置表获取第一数据平台的数据格式和所述数据格式对应的数据获取方式,并根据所述数据获取方式从所述第一数据平台中获取对应的第一比对数据;以及用于根据所述第三配置表获取第二数据平台的数据格式和所述数据格式对应的数据获取方式,并根据所述数据获取方式从所述第二数据平台中获取对应的第二比对数据。
9.根据权利要求8所述的数据比对系统,其特征在于,当所述数据格式为文件类,且所述数据获取方式包括文件路径时,所述获取模块用于通过ftp连接方式连接到第一数据平台或第二数据平台的主机中,并按照所述文件路径获取对应的文件作为第一比对数据或者第二比对数据;
或者当所述数据格式为sql脚本类,且所述数据获取方式包括取值方式时,所述获取模块用于连接到第一数据平台或第二数据平台的数据库,并根据所述取值方式获取对应的数据作为第一比对数据或者第二比对数据。
10.根据权利要求6~9任一所述的数据比对系统,其特征在于,所述比较模块具体包括:
判断单元,用于判断所述第一比对数据或者第二比对数据是否达到预设的数据量阈值,若是,驱动第一比较单元,若否,则驱动第二比较单元;
第一比较单元,用于对第一比对数据和第二比对数据分别进行解析,并将解析结果以key-value的形式分别存入第一数据平台的第一临时表和第二数据平台的第二临时表中,然后循环遍历第一临时表中的key,并到第二临时表中进行查询并比较对应的value值,若第二临时表中存在所述key且对应的value值相同,则将所述第一临时表和第二临时表中的所述key以及对应的value删除,若否,则在所述第一临时表和第二临时表中保留所述key以及对应的value,直到遍历完成后生成差异数据,然后驱动比对结果生成单元;
第二比较单元,用于对第一比对数据和第二比对数据分别进行解析,并将解析结果以key-value的形式分别存入第一数据平台的第一临时缓存和第二数据平台的第二临时缓存中,然后循环遍历第一临时缓存中的key,并到第二临时缓存中进行查询并比较对应的value值,若第二临时缓存中存在所述key且对应的value值相同,则将所述第一临时缓存和第二临时缓存中的所述key以及对应的value删除,若否,则在所述第一临时缓存和第二临时缓存中保留所述key以及对应的value,直到遍历完成后生成差异数据,然后驱动比对结果生成单元;
比对结果生成单元,用于将差异数据写入预设格式的流水表或者文件中,生成比对结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710389694.6A CN107291827A (zh) | 2017-05-27 | 2017-05-27 | 一种数据比对方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710389694.6A CN107291827A (zh) | 2017-05-27 | 2017-05-27 | 一种数据比对方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107291827A true CN107291827A (zh) | 2017-10-24 |
Family
ID=60094721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710389694.6A Pending CN107291827A (zh) | 2017-05-27 | 2017-05-27 | 一种数据比对方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107291827A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110322187A (zh) * | 2018-03-30 | 2019-10-11 | 速得尔科技(北京)有限公司 | 基于子弹库存和靶场弹着统计双智能系统的子弹管理方法 |
CN110428319A (zh) * | 2019-08-05 | 2019-11-08 | 深圳乐信软件技术有限公司 | 一种数据比对平台、方法、设备和存储介质 |
CN110442583A (zh) * | 2019-08-13 | 2019-11-12 | 网易(杭州)网络有限公司 | 数据处理的方法及装置、电子设备、存储介质 |
CN111339039A (zh) * | 2020-02-21 | 2020-06-26 | 京东数字科技控股有限公司 | 文件的比较方法和装置、存储介质、电子装置 |
CN112199935A (zh) * | 2020-09-24 | 2021-01-08 | 建信金融科技有限责任公司 | 数据的比对方法、装置、电子设备及计算机可读存储介质 |
CN112579376A (zh) * | 2020-12-16 | 2021-03-30 | 中国建设银行股份有限公司 | 一种双跑阶段数据校验方法、系统、设备及存储介质 |
CN114663066A (zh) * | 2022-04-06 | 2022-06-24 | 亿玛创新网络(天津)有限公司 | 数据一致性验证方法、装置、存储介质及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094051A (zh) * | 2007-06-27 | 2007-12-26 | 中国移动通信集团四川有限公司 | 数据一致性比对同步的系统和方法 |
CN105976302A (zh) * | 2016-05-05 | 2016-09-28 | 北京思特奇信息技术股份有限公司 | 一种可配置的数据比对方法及系统 |
CN106021301A (zh) * | 2016-05-05 | 2016-10-12 | 北京思特奇信息技术股份有限公司 | 一种不同文件格式的数据比对系统及方法 |
-
2017
- 2017-05-27 CN CN201710389694.6A patent/CN107291827A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101094051A (zh) * | 2007-06-27 | 2007-12-26 | 中国移动通信集团四川有限公司 | 数据一致性比对同步的系统和方法 |
CN105976302A (zh) * | 2016-05-05 | 2016-09-28 | 北京思特奇信息技术股份有限公司 | 一种可配置的数据比对方法及系统 |
CN106021301A (zh) * | 2016-05-05 | 2016-10-12 | 北京思特奇信息技术股份有限公司 | 一种不同文件格式的数据比对系统及方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110322187A (zh) * | 2018-03-30 | 2019-10-11 | 速得尔科技(北京)有限公司 | 基于子弹库存和靶场弹着统计双智能系统的子弹管理方法 |
CN110322187B (zh) * | 2018-03-30 | 2023-01-17 | 速得尔科技(北京)有限公司 | 基于子弹库存和靶场弹着统计双智能系统的子弹管理方法 |
CN110428319A (zh) * | 2019-08-05 | 2019-11-08 | 深圳乐信软件技术有限公司 | 一种数据比对平台、方法、设备和存储介质 |
CN110442583A (zh) * | 2019-08-13 | 2019-11-12 | 网易(杭州)网络有限公司 | 数据处理的方法及装置、电子设备、存储介质 |
CN111339039A (zh) * | 2020-02-21 | 2020-06-26 | 京东数字科技控股有限公司 | 文件的比较方法和装置、存储介质、电子装置 |
CN112199935A (zh) * | 2020-09-24 | 2021-01-08 | 建信金融科技有限责任公司 | 数据的比对方法、装置、电子设备及计算机可读存储介质 |
CN112199935B (zh) * | 2020-09-24 | 2023-05-26 | 建信金融科技有限责任公司 | 数据的比对方法、装置、电子设备及计算机可读存储介质 |
CN112579376A (zh) * | 2020-12-16 | 2021-03-30 | 中国建设银行股份有限公司 | 一种双跑阶段数据校验方法、系统、设备及存储介质 |
CN114663066A (zh) * | 2022-04-06 | 2022-06-24 | 亿玛创新网络(天津)有限公司 | 数据一致性验证方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107291827A (zh) | 一种数据比对方法和系统 | |
US8601361B2 (en) | Automatically populating and/or generating tables using data extracted from files | |
CN104462873A (zh) | 一种图片处理方法和装置 | |
CN111367976B (zh) | 基于java反射机制的excel文件数据的导出方法及装置 | |
KR101617696B1 (ko) | 데이터 정규표현식의 마이닝 방법 및 장치 | |
CN103064908B (zh) | 一种通过内存快速去重名单的方法 | |
CN103150359B (zh) | 微博信息显示方法和装置 | |
CN107908615A (zh) | 一种获取搜索词对应商品类目的方法和装置 | |
CN101661484A (zh) | 一种查询方法及系统 | |
CN110399377A (zh) | Sql的优化方法、装置、电子设备及计算机可读存储介质 | |
CN103440233A (zh) | 一种科技论文标准化自动检测编辑系统 | |
CN106155769A (zh) | 一种工作流处理方法、装置及工作流引擎 | |
CN102841886A (zh) | 拆分文档的方法和装置 | |
CN102467525A (zh) | 单据关联方法及系统 | |
CN107909258A (zh) | 一种电能表台区识别方法及系统 | |
CN109634569A (zh) | 基于注解的流程实现方法、装置、设备及可读存储介质 | |
CN110413759A (zh) | 一种用于自媒体的多平台用户互动数据分析方法及系统 | |
CN103077192A (zh) | 一种数据处理方法及其系统 | |
CN102521713B (zh) | 数据处理装置和数据处理方法 | |
CN107357794A (zh) | 优化键值数据库的数据存储结构的方法和装置 | |
CN104125300B (zh) | 机卡分离型家庭网关业务配置数据的同步方法 | |
CN108537291A (zh) | 一种样本分类方法和装置 | |
CN112306594A (zh) | 一种基于移动端的渲染方法、装置及存储介质 | |
CN107491521A (zh) | 一种图像搜索系统与方法 | |
CN110502560A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171024 |
|
RJ01 | Rejection of invention patent application after publication |