CN109597828B - 一种离线数据核对方法、装置及服务器 - Google Patents

一种离线数据核对方法、装置及服务器 Download PDF

Info

Publication number
CN109597828B
CN109597828B CN201811155458.9A CN201811155458A CN109597828B CN 109597828 B CN109597828 B CN 109597828B CN 201811155458 A CN201811155458 A CN 201811155458A CN 109597828 B CN109597828 B CN 109597828B
Authority
CN
China
Prior art keywords
data table
data
shadow
task
checking
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
CN201811155458.9A
Other languages
English (en)
Other versions
CN109597828A (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.)
ANT Financial Hang Zhou Network Technology Co Ltd
Original Assignee
ANT Financial Hang Zhou Network 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 ANT Financial Hang Zhou Network Technology Co Ltd filed Critical ANT Financial Hang Zhou Network Technology Co Ltd
Priority to CN201811155458.9A priority Critical patent/CN109597828B/zh
Publication of CN109597828A publication Critical patent/CN109597828A/zh
Application granted granted Critical
Publication of CN109597828B publication Critical patent/CN109597828B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本说明书实施例提供了一种离线数据核对方法,通过提取离线数据中待篡改的数据表作为源数据表,将源数据表中的数据复制到影子数据表中,篡改所述影子数据表中的一个或多个数据字段,根据所述源数据表的核对规则,对所述影子数据表执行核对任务,基于所述核对任务的结果,判断所述离线数据是否核对准确,由此,在所有的离线数据经此方案的自动化篡改后并执行完所有核对任务的情况下,所有的离线数据应当是完全准确的,极大的消除业务数据不一致导致的问题隐患,也节省了大量人力配置、核查等操作的工作量。

Description

一种离线数据核对方法、装置及服务器
技术领域
本说明书涉及计算机离线数据处理技术领域,尤其涉及一种离线数据核对方法、装置及服务器。
背景技术
目前搭建电商、金融等计算机大数据平台时,需要在平台方接入的各个上下游系统之间传递数据,而上下游接口传来的数据如果在平台方核对发生不匹配时,则会对业务发展产生重大影响。现阶段平台方一般采取根据上下游需求,配置特定的核对规则来对上下游之前传输的离线数据中的某些数据项进行验证,进一步来验证业务的正确性。但此种配置的核对规则,都是取上下游各自关心的离线业务数据,无法直观的通过核对规则来分析是否所有的离线数据都被正确的核对,依然对业务发展有重大隐患。
发明内容
鉴于上述问题,提出了本说明书以便提供一种克服上述问题或者至少部分地解决上述问题的离线数据核对方法、装置及服务器。
第一方面,本说明书提供一种离线数据核对方法,包括:提取离线数据中待篡改的数据表作为源数据表;将源数据表中的数据复制到影子数据表中;篡改所述影子数据表中的一个或多个数据字段;根据所述源数据表的核对规则,对所述影子数据表执行核对任务;基于所述核对任务的结果,判断所述离线数据是否核对准确。
第二方面,本说明书提供一种离线数据核对装置,包括:提取单元,用于提取离线数据中待篡改的数据表作为源数据表;复制单元,用于将源数据表中的数据复制到影子数据表中;篡改单元,用于篡改所述影子数据表中的一个或多个数据字段;任务单元,用于根据所述源数据表的核对规则,对所述影子数据表执行核对任务;判断单元,用于基于所述核对任务的结果,判断所述离线数据是否核对准确。
第三方面,本说明书提供一种服务器,包括处理器和存储器:所述存储器用于存储上述任一项所述方法的程序;所述处理器被配置为用于执行所述存储器中存储的程序实现上述任一项所述方法的步骤。
第四方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
本说明书上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在实施本说明书的技术方案中,将源数据表中的数据复制到影子数据表中,篡改所述影子数据表中的一个或多个数据字段,根据所述源数据表的核对规则,对所述影子数据表执行核对任务,以此判断所述离线数据是否核对准确。这样,通过自动化篡改影子数据表的方式,将与源数据表有关的核对任务进行执行校验结果,从而更方便地自动批量判断是否离线数据已经被正确核对,可以有效消除业务数据不一致可能带来的隐患,节省了人力和工作量。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本说明书的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本说明书的方案的一个应用场景例子的示意图;
图2为本说明书第一实施例中的一种离线数据核对方法的流程图;
图3为本说明书第二实施例中的一种离线数据核对装置的示意图;
图4为本说明书的方案应用到一个具体示例的逻辑框图;
图5为本说明书第三实施例中的应用一种离线数据核对的服务器的示例。
具体实施方式
下面通过附图以及具体实施例对本说明书技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
实施例
请参考图1,本说明书的技术方案涉及的一个实施例的应用场景示意图。上游业务1、2……n,下游渠道1、2……m,分别都接入平台系统中,通过平台系统做数据对接,并提供平台服务,此平台可以为电商、团购、搜索、金融等等,在平台系统中存储上下游传来的数据,并作为离线数据进行存储,平台系统中设置了利用本说明书的离线数据核对装置,用于所述离线数据进行自动化篡改核对,全面验证平台系统中对接的各个上下游离线数据的准确性。
请参考图2,本说明书第一实施例提供一种离线数据核对方法,该离线数据核对方法包括如下步骤:
S210:提取离线数据中待篡改的数据表作为源数据表。
其中,考虑上下游业务不能受到影响,保证线上数据不能有干扰和延时,本说明书的技术方案以离线数据作为提取对象,具体例如,做可以按照离线数据库中存储顺序提取待篡改数据表,或者选取某一个上游业务对应的离线数据中的各数据表作为待篡改的源数据表,再或者基于调度任务对离线数据进行提取。比如,离线数据以海量数据处理平台ODPS(Open Data Processing Service业务开放数据处理服务)为例,ODPS平台系统的海量离线数据是以结构化方式存储的,按调度任务依次提取离线数据中的各个数据表,举例各个数据表分别命名为odps.table1,odps.table2,odps.table3,odps.table4,……
将上述各个数据表odps.table1,odps.table2,odps.table3等依次作为待篡改的源数据表,准备后续的复制篡改核对处理。
S220:将源数据表中的数据复制到影子数据表中。
其中,考虑到离线数据是整个平台系统中海量大数据业务存储的基础,保证业务数据分析验证的真实性,因此不能对离线数据直接做篡改,本说明书的技术方案采用影子数据表的方式来实现,包括:通过对离线数据中的源数据表整体进行文件拷贝,将拷贝后的文件重命名为影子数据表,从而源数据表中的数据复制到影子数据表中;或者也可以通过先创建对应源数据表的影子数据表,再将源数据表中各个数据项复制到影子数据表中的形式。文件重命名按照预设规则选取,一般可以采用在源数据表文件名的后边加后缀字段的方式,比如源数据表odps.table1对应的影子数据表文件重命名为odps.table1_shadow。
这样保证源数据表中的数据未做任何改动,从而不影响整体系统上下游离线数据存储的真实性和有效性,更不会影响到线上业务的正常开展。具体例如,提取ODPS平台离线数据中的odps.table1作为源数据表,对其进行整个文件拷贝,拷贝后的文件重命名为odps.table1_shadow;或者创建一个名称为odps.table1_shadow的空数据表,并将odps.table1数据复制到odps.table1_shadow中。无论采用上述何种方式,得到的影子数据表odps.table1_shadow中每一项数据都与源数据表odps.table1中的数据完全相同,以影子数据表odps.table1_shadow作为后续准备攻击篡改数据核对待处理的对象文件。
S230:篡改所述影子数据表中的一个或多个数据字段。
具体例如,可以按照预设规则,依次篡改影子数据表字段,即逐项和/或逐列和/或逐行执行所述一个或多个数据字段的篡改。此种字段篡改可以设置为固定值序列,或者以随机数算法进行差异化错误,再或者采用拼接随机数的方式让数据产生错误。例如将影子数据表odps.table1_shadow中F1字段对应的数据项,全部改为固定值序列999x,999y……
进一步地具体例如,将影子数据表中每一个数据字段都进行篡改。由此使得篡改后的影子数据表在结构上与源数据表保持一致,依然可以执行后续核对任务,但每一个数据字段都会按照各个核对规则进行数据核对,从而保证离线数据中每一个字段是否被现有核对规则验证正确性。按照预设规则,逐项和/或逐列和/或逐行执行所述影子数据表中的每个数据字段的篡改,完成所有的数据字段的篡改,这样能更进一步地核实更多的甚至全部的离线数据是否正确。
S240:根据所述源数据表的核对规则,对所述影子数据表执行核对任务。
具体例如,查找影子数据表对应的源数据表相关的各个核对规则R1、R2、R3、R4、R5……,通过上下游数据核对规则设置对应的核对任务Q1、Q2、Q3……,核对任务基于不同的上下游业务/渠道需求,对离线数据中不同的数据表进行核对,可以为整体数据表全部内容比对,也可以对数据表中某些数据项进行比对。不同的核对任务对应不同的离线数据表或者相同的离线数据表中的不同的数据项,同一个离线数据表对应多个不同的核对任务,同时一个离线数据表也对应多个不同的核对规则,分别核对各自相关的数据项。例如源数据表odps.table1对应多个核对规则R1、R2、R5,源数据表odps.table2对应多个核对规则R1、R3、R4。
再进一步地,对应同一个源数据表的多个核对规则可以设置为一个核对任务,例如源数据表odps.table1对应多个核对规则R1、R2、R5都设置为核对任务Q1,源数据表odps.table2对应多个核对规则R1、R3、R4设置为核对任务Q2。这样执行核对任务Q1时,即对源数据表odps.table1的影子数据表odps.table1_shadow按照核对规则R1、R2、R5分别进行数据核对,记录不同核对规则R1、R2、R5下分别生成的核对任务结果;在执行核对任务Q2时,即对源数据表odps.table2的影子数据表odps.table2_shadow按照核对规则R1、R3、R4分别进行数据核对,也记录不同核对规则R1、R2、R5下分别生成的核对任务结果。
由此,每一个影子数据表对应的源数据表相关的所有核对规则都会被执行,例如源数据表odps.table1,涉及到的核对规则有10条,那这10条都会在核对任务中对影子数据表odps.table2_shadow执行。
进而,如果将离线数据的所有数据字段都进行篡改并都执行核对,并执行所有包含了被篡改离线表的核对规则,还能确定所有离线数据是不是准确的。
进一步,若离线数据有100个数据字段,原有的核对规则实际上只能对其中90个字段进行核对,则有10个字段没有被核对规则覆盖,因此实际上没有被核对。而采用本发明实施例的方案,由于对离线数据这100个数据字段都逐一进行了篡改,当用所有的核对规则去校验篡改后的100个数据字段,由于实际上核对规则只覆盖了90个数据字段、另有10个数据字段没被覆盖,所以校验结果就会发现这10个被篡改后的数据字段没有被成功校验出篡改,进而就能发现核对规则不全面,即原始的离线数据没有被核对规则全面核对,是不准确的。
需要说明,由于核对任务是针对离线数据中的源数据表的,所以一定要先将所述核对任务中的所述源数据表替换为所述影子数据表,再对所述影子数据表执行所述核对任务。例如源数据表odps.table1对应的影子数据表odps.table1_shadow,源数据表odps.table2对应影子数据表odps.table2_shadow。
再者,为保证离线数据核对完整性,需要将离线数据中各个源数据表有关的所有核对规则,依次对各源数据表对应的所述影子数据表进行结构化查询(SQL)核对任务,记录各个核对规则对应的影子数据表结构化查询核对任务的结果。例如,核对规则R1都对应源数据表odps.table1和odps.table2,因此在对影子数据表odps.table1_shadow执行R1核对规则的核对任务Q1时,由于R1核对规则执行odps.table1与odps.table2的数据核对,因此按照本说明书的技术方案将影子数据表odps.table1_shadow与odps.table2进行数据比对,记录核对任务结果。各个核对任务结果中记录了经过各个规则对应的数据对比后,相应字段数据一致性的结论。
S250:基于所述核对任务的结果,判断所述离线数据是否核对准确。
具体地,依据各个核对任务,将替换后的所述影子数据表与系统上/下游接口对应的数据表进行结构化查询(SQL)核对。
进一步地,根据各个核对规则对应的影子数据表结构化查询核对任务的结果,中是否识别出经篡改的数据字段,来判断所述离线数据是否核对准确。例如在R1核对规则执行影子数据表odps.table1_shadow与odps.table2的核对任务,判断核对任务结果中不平的数据字段条数是否与影子数据表odps.table1_shadow中经篡改的数据字段条数是否一致,如果一致则判断所述离线数据中源数据表odps.table1是准确的,如果不一致,则判断源数据表odps.table1中存在核对不准确的数据字段。将与odps.table1_shadow相关的所有核对规则比如R1,R2,R5等全部执行完毕,记录每个核对规则对应的数据比对结果中不平的数据字段条数,是否与影子数据表odps.table1_shadow中经篡改的数据字段条数是否一致,如果出现不一致则进一步记录对应的核对规则。
再进一步,如果所述核对规则对应的影子数据表结构化查询核对任务的结果,与影子数据表中篡改的数据字段完全一致,则判断所述离线数据对应此核对规则是完全准确的。同时,如果基于与所述源数据表有关的所有核对规则对应的影子数据表结构化查询核对任务的结果,都与影子数据表中篡改的数据字段完全一致,则判断与所述源数据表的所有核对规则是完备的,证明所述源数据表中数据项是经过正确验证的,例如,影子数据表odps.table1_shadow经过与其相关的所有核对规则比如R1,R2,R5等10条进行核对后,各个核对规则R1,R2,R5等对应的数据比对结果中不平的数据字段条数,与影子数据表odps.table1_shadow中经篡改的数据字段条数全都一致,则证明源数据表odps.table1中的全部数据项是经过正确验证的。进一步地,则说明所述离线数据都是准确的。例如将源数据表odps.table1相关的所有核对规则全部经过影子数据表odps.table1_shadow结构化查询所有核对任务,结果不平的数据字段条数与影子数据表odps.table1_shadow经篡改的数据字段条数都完全一致,则判断源数据表odps.table1中数据依照所有核对规则是准确的。将所有离线数据依照本说明书的方式依次提取核对,从而自动化的将离线数据中每一个字段、每一条数据都检测出其准确性。这样,将此方式应用到平台方系统中,对系统上下游接口传来的离线数据逐一进行自动化篡改核对,从而能进一步自动地批量地实现验证所有的离线数据的正确性。
请参照图3,本说明书第二实施例还提供了一种离线数据核对装置,包括:
提取单元301,用于提取离线数据中待篡改的数据表作为源数据表;
复制单元302,用于将源数据表中的数据复制到影子数据表中;
篡改单元303,用于篡改所述影子数据表中的一个或多个数据字段;
任务单元304,用于根据所述源数据表的核对规则,对所述影子数据表执行核对任务;
判断单元305,用于基于所述核对任务的结果,判断所述离线数据是否核对准确。
具体的,在本实施例中,离线数据核对装置可以设置在服务器中,也可以设置在终端设备,如手机、ipad、平板电脑、笔记本电脑等设备,还可以是台式电脑等设备,当然还可以是其它电子设备,在此,本说明书不做限制。离线数据核对装置进行离线数据核对的方法已在前述第一实施例中进行详细阐述,在此,本实施例不再赘述。
作为一种可选的实施例,所述任务单元,进一步包括:
规则查找子单元,用于查找与所述源数据表有关的所有核对规则;
数据表替换子单元,用于在执行所述核对规则对应的核对任务前,将所述核对任务中的所述源数据表替换为所述影子数据表;
执行子单元,用于对所述影子数据表执行核对任务。
所述执行子单元,进一步用于基于与所述源数据表有关的所有核对规则,依次对所述影子数据表进行结构化查询(SQL)核对任务,记录各个核对规则对应的影子数据表结构化查询核对任务的结果。
具体地,根据各个核对规则对应的影子数据表结构化查询核对任务的结果中是否识别出经篡改的数据字段,来判断所述离线数据是否核对准确,
进一步地,所述判断所述离线数据是否核对准确,包括:如果所述核对规则对应的影子数据表结构化查询核对任务的结果,与影子数据表中篡改的数据字段完全一致,则判断所述离线数据对应此核对规则是准确的。
再进一步,如果基于与所述源数据表有关的所有核对规则对应的影子数据表结构化查询核对任务的结果,都与影子数据表中篡改的数据字段完全一致,则判断所述离线数据是完全准确的。
作为一种可选的实施例,所述执行子单元,还用于依据核对任务,将替换后的影子数据表与系统上/下游接口对应的数据表进行结构化查询(SQL)核对。
作为一种可选的实施例,所述篡改单元,进一步用于,按照预设规则,逐项和/或逐列和/或逐行执行所述一个或多个数据字段的篡改,或者全部字段的篡改(每个数据字段都篡改)。
其中,考虑上下游业务不能受到影响,保证线上数据不能有干扰和延时,本说明书的技术方案以离线数据作为提取对象,具体例如,做可以按照离线数据库中存储顺序提取待篡改数据表,或者选取某一个上游业务对应的离线数据中的各数据表作为待篡改的源数据表,再或者基于调度任务对离线数据进行提取。比如,离线数据以海量数据处理平台ODPS(Open Data Processing Service业务开放数据处理服务)为例,ODPS平台系统的海量离线数据是以结构化方式存储的,所述提取单元按调度任务依次提取离线数据中的各个数据表,odps.table1,odps.table2,odps.table3,odps.table4,……
将上述各个数据表odps.table1,odps.table2,odps.table3等依次作为待篡改的源数据表,准备后续的复制篡改核对处理。
考虑到离线数据是整个平台系统中海量大数据业务存储的基础,保证业务数据分析验证的真实性,因此不能对离线数据直接做篡改,本说明书的技术方案采用影子数据表的方式来实现,其所述复制单元,具体例如通过对离线数据中的源数据表整体进行文件拷贝,将拷贝后的文件重命名为影子数据表,从而源数据表中的数据复制到影子数据表中;或者也可以通过先创建对应源数据表的影子数据表,再将源数据表中各个数据项复制到影子数据表中的形式。文件重命名按照预设规则选取,一般可以采用在源数据表文件名的后边加后缀字段的方式,比如源数据表odps.table1对应的影子数据表文件重命名为odps.table1_shadow。这样保证源数据表中的数据未做任何改动,从而不影响整体系统上下游离线数据存储的真实性和有效性,更不会影响到线上业务的正常开展。比如,提取ODPS平台离线数据中的odps.table1作为源数据表,对其进行文件拷贝,拷贝后的文件重命名为odps.table1_shadow,或者创建一个名称为odps.table1_shadow的空数据表,并将odps.table1数据复制到odps.table1_shadow中。无论采用上述何种方式,得到的影子数据表odps.table1_shadow中每一项数据都与源数据表odps.table1中的数据完全相同,以影子数据表odps.table1_shadow作为后续准备攻击篡改数据核对待处理的对象文件。所述篡改单元,具体例如可以按照预设规则,依次篡改影子数据表字段,即逐项和/或逐列和/或逐行执行所述一个或多个数据字段的篡改。此种字段篡改可以设置为固定值序列,或者以随机数算法进行差异化错误,再或者采用拼接随机数的方式让数据产生错误。比如将影子数据表odps.table1_shadow中F1字段对应的数据项,全部改为固定值序列999x,999y……
进一步地所述篡改单元,将影子数据表中每一个数据字段都进行篡改。由此使得篡改后的影子数据表在结构上与源数据表保持一致,依然可以执行后续核对任务,但每一个数据字段都会按照各个核对规则进行数据核对,从而保证离线数据中每一个字段是否被现有核对规则验证正确性。
所述任务单元,具体例如其查找影子数据表对应的源数据表相关的各个核对规则R1、R2、R3、R4、R5……,通过上下游数据核对规则设置对应的核对任务Q1、Q2、Q3……,核对任务基于不同的上下游业务/渠道需求,对离线数据中不同的数据表进行核对,可以为整体数据表全部内容比对,也可以对数据表中某些数据项进行比对。不同的核对任务对应不同的离线数据表或者相同的离线数据表中的不同的数据项,同一个离线数据表对应多个不同的核对任务,同时一个离线数据表也对应多个不同的核对规则,分别核对各自相关的数据项。比如源数据表odps.table1对应多个核对规则R1、R2、R5,源数据表odps.table2对应多个核对规则R1、R3、R4。
再进一步地,对应同一个源数据表的多个核对规则可以设置为一个核对任务,例如源数据表odps.table1对应多个核对规则R1、R2、R5都设置为核对任务Q1,源数据表odps.table2对应多个核对规则R1、R3、R4设置为核对任务Q2。这样执行核对任务Q1时,即对源数据表odps.table1的影子数据表odps.table1_shadow按照核对规则R1、R2、R5分别进行数据核对,记录不同核对规则R1、R2、R5下分别生成的核对任务结果;在执行核对任务Q2时,即对源数据表odps.table2的影子数据表odps.table2_shadow按照核对规则R1、R3、R4分别进行数据核对,也记录不同核对规则R1、R2、R5下分别生成的核对任务结果。
由此,每一个影子数据表对应的源数据表相关的所有核对规则都会被执行,例如源数据表odps.table1,涉及到的核对规则有10条,那这10条都会在核对任务中对影子数据表odps.table2_shadow执行。
另外,由于核对任务是针对离线数据中的源数据表的,所以一定要先将所述核对任务中的所述源数据表替换为所述影子数据表,再对所述影子数据表执行所述核对任务。例如源数据表odps.table1对应的影子数据表odps.table1_shadow,源数据表odps.table2对应影子数据表odps.table2_shadow。
再者,为保证离线数据核对完整性,需要将离线数据中各个源数据表有关的所有核对规则,依次对各源数据表对应的所述影子数据表进行结构化查询(SQL)核对任务,记录各个核对规则对应的影子数据表结构化查询核对任务的结果。例如,核对规则R1都对应源数据表odps.table1和odps.table2,因此在对影子数据表odps.table1_shadow执行R1核对规则的核对任务Q1时,由于R1核对规则执行odps.table1与odps.table2的数据核对,因此按照本说明书的技术方案将影子数据表odps.table1_shadow与odps.table2进行数据比对,记录核对任务结果。各个核对任务结果中记录了经过各个规则对应的数据对比后,相应字段数据一致性的结论。
所述判断单元,具体例如可以依据各个核对任务,将替换后的所述影子数据表与系统上/下游接口对应的数据表进行结构化查询(SQL)核对。
进一步地,根据各个核对规则对应的影子数据表结构化查询核对任务的结果,中是否识别出经篡改的数据字段,来判断所述离线数据是否核对准确。例如在R1核对规则执行影子数据表odps.table1_shadow与odps.table2的核对任务,判断核对任务结果中不平的数据字段条数是否与影子数据表odps.table1_shadow中经篡改的数据字段条数是否一致,如果一致则判断所述离线数据中源数据表odps.table1是准确的,如果不一致,则判断源数据表odps.table1中存在核对不准确的数据字段。将与odps.table1_shadow相关的所有核对规则比如R1,R2,R5等全部执行完毕,记录每个核对规则对应的数据比对结果中不平的数据字段条数,是否与影子数据表odps.table1_shadow中经篡改的数据字段条数是否一致,如果出现不一致则进一步记录对应的核对规则。
再进一步,如果所述核对规则对应的影子数据表结构化查询核对任务的结果,与影子数据表中篡改的数据字段完全一致,则判断所述离线数据对应此核对规则是完全准确的。同时,如果基于与所述源数据表有关的所有核对规则对应的影子数据表结构化查询核对任务的结果,都与影子数据表中篡改的数据字段完全一致,则判断与所述源数据表的所有核对规则是完备的,证明所述源数据表中数据项是经过正确验证的,例如,影子数据表odps.table1_shadow经过与其相关的所有核对规则比如R1,R2,R5等10条进行核对后,各个核对规则R1,R2,R5等对应的数据比对结果中不平的数据字段条数,与影子数据表odps.table1_shadow中经篡改的数据字段条数全都一致,则证明源数据表odps.table1中的全部数据项是经过正确验证的。进一步地,则说明所述离线数据都是准确的。例如将源数据表odps.table1相关的所有核对规则全部经过影子数据表odps.table1_shadow结构化查询所有核对任务,结果不平的数据字段条数与影子数据表odps.table1_shadow经篡改的数据字段条数都完全一致,则判断源数据表odps.table1中数据依照所有核对规则是准确的。将所有离线数据依照本实施例中的离线数据核对装置依次提取核对,从而自动化的将离线数据中每一个字段、每一条数据都检测出其准确性。
采用本说明书的上述技术方案,若在所有的离线数据都经此方案的自动化批量的篡改后并执行完所有核对任务的情况下,则所有的离线数据应当是完全准确的,即全部核对过,由此,能极大的消除业务数据不一致导致的问题隐患,也节省了大量人力配置、核查等操作的工作量。
图4为本说明书的方案应用到一个具体示例的逻辑框图。如图所示,其资金PMD是实施篡改的工具平台,ODPS即为实施例一中的海量数据处理平台ODPS(Open DataProcessing Service业务开放数据处理服务),其实以结构化方式存储的数据库。ODPS按调度任务依次提取离线数据中的各个数据表,核对平台(举例命名为zfundcheck)用于记录核对规则R1、R2及各规则对应的数据表。如图上所示,各个数据表举例命名分别为odps.table1,odps.table2,odps.table3,odps.table4,……等作为待篡改的源数据表,准备后续的复制篡改核对处理。
资金PMD平台首先核对CI(持续集成)调度任务,准备攻击odps.table1,即准备对odps.table1进行影子表复制和数据篡改,之后将ODPS源数据表odps.table1中的数据复制到影子数据表odps.table1_shadow中,并对影子数据表odps.table1_shadow1中F1字段值进行篡改,例如图示分别将F1字段中的值2001和2002更改为9999x和9999y;查找源数据表odps.table1所归属的核对规则R1,当然源数据表odps.table1所归属的可能还包括其他核对规则,这里仅以R1为例;提交执行核对规则R1对应的核对任务,指定使用影子数据表odps.table1_shadow替换源数据表odps.table1;核对平台则调用ODPS中的影子数据表odps.table1_shadow执行核对规则R1;等待影子数据表odps.table1_shadow对应核对规则执行完毕,查询核对不平结果,即查询核对结果中不一致的数据字段,如果核对结果中不一致的数据字段条数等于影子数据表中篡改的数据字段条数,则离线数据中的源数据表odps.table1是核对准确的。以此为例,可以将ODPS中的数据表odps.table1,odps.table2,odps.table3,odps.table4,……等都进行影子数据表篡改核对,最终校验包含这些数据表的ODPS离线数据是否核对准确。
本说明书第三实施例还提供了一种服务器,包括存储器502、处理器501及存储在存储器502上并可在处理器501上运行的计算机程序,所述处理器501执行所述程序时实现前文所述方法的步骤。为了便于说明,仅示出了与本说明书实施例相关的部分,具体技术细节未揭示的,请参照本说明书实施例方法部分。该服务器,可以是包括各种电子设备形成的服务器设备,PC电脑、网络云服务器,甚至手机、平板电脑、PDA(Personal DigitalAssistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑、台式电脑等任意电子设备上设置的服务器功能。
具体地,图5示出的与本说明书实施例提供的技术方案相关的服务器组成结构框图,总线500可以包括任意数量的互联的总线和桥,其将包括由处理器501代表的一个或多个处理器和存储器502代表的存储器的各种电路链接在一起。总线500还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口503在总线500和接收器和/或发送器504之间提供接口,接收器和/或发送器504可以是分开独立的接收器或发送器也可以是同一个元件如收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器501负责管理总线500和通常的处理,而存储器502可以被用于存储处理器501在执行操作时所使用的数据。
由此,影子数据表按照核对规则执行核对任务,执行核对任务的结果与影子数据表篡改的数据字段一致,那么离线数据中的源数据表就是核对准确的,如果不一致,说明离线数据中的源数据表中字段核对不准确,从而离线数据不准确。
基于这样的理解,本说明书实现上述第一实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
上述对本说明书优选实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。

Claims (18)

1.一种离线数据核对方法,包括:
提取离线数据中待篡改的数据表作为源数据表;
将源数据表中的数据复制到影子数据表中;
篡改所述影子数据表中的一个或多个数据字段;
根据所述源数据表的核对规则,对所述影子数据表执行核对任务;
基于所述核对任务的结果,判断所述离线数据是否核对准确,包括:判断所述核对任务的结果中不平的数据字段条数,与所述影子数据表中经篡改的数据字段条数是否一致。
2.如权利要求1所述的方法,所述根据所述源数据表的核对规则,对所述影子数据表执行核对任务,包括:
查找与所述源数据表有关的所有核对规则,在执行所述核对规则对应的核对任务前,将所述核对任务中的所述源数据表替换为所述影子数据表;
对所述影子数据表执行核对任务。
3.如权利要求2所述的方法,所述对所述影子数据表执行核对任务,包括:
基于与所述源数据表有关的所有核对规则,依次对所述影子数据表进行结构化查询(SQL)核对任务,记录各个核对规则对应的影子数据表结构化查询核对任务的结果。
4.如权利要求3所述的方法,所述基于所述核对任务的结果,判断所述离线数据是否核对准确,包括:
根据各个核对规则对应的影子数据表结构化查询核对任务的结果中是否识别出经篡改的数据字段,来判断所述离线数据是否核对准确。
5.如权利要求4所述的方法,所述判断所述离线数据是否核对准确,包括:
如果所述核对规则对应的影子数据表结构化查询核对任务的结果,与影子数据表中篡改的数据字段完全一致,则判断所述离线数据对应此核对规则是完全准确的。
6.如权利要求5所述的方法,还包括:
如果基于与所述源数据表有关的所有核对规则对应的影子数据表结构化查询核对任务的结果,都与影子数据表中篡改的数据字段完全一致,则判断所述离线数据是准确的。
7.如权利要求2所述的方法,所述将所述核对任务中的所述源数据表替换为所述影子数据表,对所述影子数据表执行核对任务,包括:
依据核对任务,将替换后的影子数据表与系统上/下游接口对应的数据表进行结构化查询(SQL)核对。
8.如权利要求1所述的方法,所述篡改所述影子数据表中的一个或多个数据字段,包括:
按照预设规则,逐项和/或逐列和/或逐行执行所述一个或多个数据字段的篡改;或者,
按照预设规则,逐项和/或逐列和/或逐行执行所述影子数据表中的所有数据字段的篡改。
9.一种离线数据核对装置,包括:
提取单元,用于提取离线数据中待篡改的数据表作为源数据表;
复制单元,用于将源数据表中的数据复制到影子数据表中;
篡改单元,用于篡改所述影子数据表中的一个或多个数据字段;
任务单元,用于根据所述源数据表的核对规则,对所述影子数据表执行核对任务;
判断单元,用于基于所述核对任务的结果,判断所述离线数据是否核对准确,包括:判断所述核对任务的结果中不平的数据字段条数,与所述影子数据表中经篡改的数据字段条数是否一致。
10.如权利要求9所述的装置,所述任务单元,包括:
规则查找子单元,用于查找与所述源数据表有关的所有核对规则;
数据表替换子单元,用于在执行所述核对规则对应的核对任务前,将所述核对任务中的所述源数据表替换为所述影子数据表;
执行子单元,用于对所述影子数据表执行核对任务。
11.如权利要求10所述的装置,所述执行子单元,进一步用于,
基于与所述源数据表有关的所有核对规则,依次对所述影子数据表进行结构化查询(SQL)核对任务,记录各个核对规则对应的影子数据表结构化查询核对任务的结果。
12.如权利要求11所述的装置,所述任务单元,进一步用于,
根据各个核对规则对应的影子数据表结构化查询核对任务的结果,中是否识别出经篡改的数据字段,来判断所述离线数据是否核对准确。
13.如权利要求12所述的装置,所述判断所述离线数据是否核对准确,包括:
如果所述核对规则对应的影子数据表结构化查询核对任务的结果,与影子数据表中篡改的数据字段完全一致,则判断所述离线数据对应此核对规则是准确的。
14.如权利要求13所述的装置,进一步包括:
如果基于与所述源数据表有关的所有核对规则对应的影子数据表结构化查询核对任务的结果,都与影子数据表中篡改的数据字段完全一致,则判断所述离线数据是完全准确的。
15.如权利要求10所述的装置,所述执行子单元,进一步用于:
依据核对任务,将替换后的影子数据表与系统上/下游接口对应的数据表进行结构化查询(SQL)核对。
16.如权利要求9所述的装置,所述篡改单元,进一步用于,
按照预设规则,逐项和/或逐列和/或逐行执行所述一个或多个数据字段的篡改;或者,
按照预设规则,逐项和/或逐列和/或逐行执行所述影子数据表中的每个数据字段的篡改。
17.一种服务器,包括处理器和存储器:
所述存储器用于存储执行权利要求1至8任一项所述方法的程序;
所述处理器被配置为用于执行所述存储器中存储的程序。
18.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至8任一项所述方法的步骤。
CN201811155458.9A 2018-09-29 2018-09-29 一种离线数据核对方法、装置及服务器 Active CN109597828B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811155458.9A CN109597828B (zh) 2018-09-29 2018-09-29 一种离线数据核对方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811155458.9A CN109597828B (zh) 2018-09-29 2018-09-29 一种离线数据核对方法、装置及服务器

Publications (2)

Publication Number Publication Date
CN109597828A CN109597828A (zh) 2019-04-09
CN109597828B true CN109597828B (zh) 2023-04-25

Family

ID=65957410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811155458.9A Active CN109597828B (zh) 2018-09-29 2018-09-29 一种离线数据核对方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN109597828B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175182B (zh) * 2019-05-30 2021-07-02 口碑(上海)信息技术有限公司 数据核对方法及装置
CN110263071B (zh) * 2019-05-31 2020-06-26 口碑(上海)信息技术有限公司 业务数据核对方法、装置、设备及系统架构

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011035809A (ja) * 2009-08-05 2011-02-17 Nec Corp 情報処理装置、コード生成方法、コード検証方法およびプログラム
US9767276B1 (en) * 2014-08-26 2017-09-19 Amazon Technologies, Inc. Scanning kernel data structure characteristics
CN107992519A (zh) * 2017-10-31 2018-05-04 中国电力科学研究院有限公司 一种面向智能电网大数据的多源异构数据校验系统及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782020B2 (en) * 2003-11-18 2014-07-15 Oracle International Corporation Method of and system for committing a transaction to database
US8108935B1 (en) * 2008-03-31 2012-01-31 Symantec Corporation Methods and systems for protecting active copies of data
CN101650677A (zh) * 2009-07-27 2010-02-17 浪潮电子信息产业股份有限公司 一种基于Delta增量的文件数据备份方法
CN101751231A (zh) * 2009-12-17 2010-06-23 成都市华为赛门铁克科技有限公司 数据写入、读出方法及装置、虚拟磁带库设备
CN102289610A (zh) * 2011-06-08 2011-12-21 无敌科技(西安)有限公司 嵌入式设备离线数字版权管理证书控管系统及其方法
JP6349682B2 (ja) * 2013-11-08 2018-07-04 富士通株式会社 情報管理プログラム、装置、及び方法
US20160371435A1 (en) * 2015-06-18 2016-12-22 Ims Health Incorporated Offline Patient Data Verification

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011035809A (ja) * 2009-08-05 2011-02-17 Nec Corp 情報処理装置、コード生成方法、コード検証方法およびプログラム
US9767276B1 (en) * 2014-08-26 2017-09-19 Amazon Technologies, Inc. Scanning kernel data structure characteristics
CN107992519A (zh) * 2017-10-31 2018-05-04 中国电力科学研究院有限公司 一种面向智能电网大数据的多源异构数据校验系统及方法

Also Published As

Publication number Publication date
CN109597828A (zh) 2019-04-09

Similar Documents

Publication Publication Date Title
CN110263024B (zh) 数据处理方法、终端设备及计算机存储介质
CN112199366A (zh) 数据表处理方法、装置及设备
US8005812B1 (en) Collaborative modeling environment
CN109783346B (zh) 基于关键字驱动的自动化测试方法、装置及终端设备
US11599539B2 (en) Column lineage and metadata propagation
CN109597828B (zh) 一种离线数据核对方法、装置及服务器
CN113420057A (zh) 对账数据处理方法及相关装置
CN111367531A (zh) 代码处理方法及装置
CN109947797B (zh) 一种数据检查装置及方法
CN114139161A (zh) 一种批量检测漏洞的方法、装置、电子设备及介质
CN111290961A (zh) 接口测试的管理方法、装置及终端设备
CN115601129A (zh) 供应链金融资产审核方法、装置、设备及介质
CN114721943A (zh) 测试范围的确定方法和装置
US11722324B2 (en) Secure and accountable execution of robotic process automation
CN110765100B (zh) 标签的生成方法、装置、计算机可读存储介质及服务器
CN111045983A (zh) 核电站电子文件管理方法、装置、终端设备及介质
CN113111120B (zh) 业务数据校验的方法和装置
CN114817929B (zh) 物联网漏洞动态追踪和处理方法、装置、电子设备及介质
US11314765B2 (en) Multistage data sniffer for data extraction
CN113609407B (zh) 地区一致性校验方法和装置
US11436500B2 (en) Schema correspondence rule generation using machine learning
CN116361270A (zh) 一种数据比对方法、终端设备及计算机可读存储介质
CN115328906A (zh) 企业资金扶持额度的测算方法及装置
CN114443634A (zh) 数据质量检核方法、装置、设备及存储介质
CN114153458A (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
TA01 Transfer of patent application right

Effective date of registration: 20201010

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

Effective date of registration: 20201010

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230406

Address after: 801-10, Section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province

Applicant after: Ant financial (Hangzhou) Network Technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Innovative advanced technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant