CN113283973A - 对账差异数据的处理方法、装置、计算机设备和存储介质 - Google Patents
对账差异数据的处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113283973A CN113283973A CN202110512158.7A CN202110512158A CN113283973A CN 113283973 A CN113283973 A CN 113283973A CN 202110512158 A CN202110512158 A CN 202110512158A CN 113283973 A CN113283973 A CN 113283973A
- Authority
- CN
- China
- Prior art keywords
- data
- difference data
- difference
- value
- fingerprint value
- 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
- 238000003672 processing method Methods 0.000 title description 9
- 238000000034 method Methods 0.000 claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 51
- 238000004422 calculation algorithm Methods 0.000 claims description 32
- 238000004364 calculation method Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 29
- 230000011218 segmentation Effects 0.000 claims description 23
- 238000012795 verification Methods 0.000 claims 2
- 238000004458 analytical method Methods 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 14
- 238000013507 mapping Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 241000220225 Malus Species 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 235000021016 apples Nutrition 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- 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/12—Accounting
- G06Q40/125—Finance or payroll
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种对账差异数据的处理方法、装置、计算机设备和存储介质,所述方法包括:识别对账得到的第一数据表和第二数据表,从第一数据表中获取第一差异数据,从第二数据表中获取第二差异数据;计算第一差异数据和第二差异数据的相似度;当相似度满足预设条件时,确定第一差异数据与第二差异数据中匹配失败的差异数据;根据第一数据表和第二数据表确定匹配失败的差异数据对应的字段;根据对应的字段得到第一差异数据和第二差异数据的数据差异类型。上述方法能够通过对差异数据的自动化分析得到不依赖于人工经验的差异数据的差异原因,提高了对账中差异数据的差异原因的准确性。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种对账差异数据的处理方法、装置、计算机设备和存储介质。
背景技术
在企业的财务账务活动中,对账是不可或缺的重要环节。对账能够在核查财务账务过程及时发现异常数据以及审计相关风险。如何在数据量很大的情况下找出对账双方无法匹配的差异数据,行业内有着多种各有特点的实现方案。但仅仅找出差异数据是不够的,分析数据差异产生的原因,才能更好地发现业务过程或者信息***的问题。然而,对于差异数据的差异原因分析,当下处理方式有下列几种方法或其组合搭配:
1、纯人工分析
指依靠业务、财务人员浏览各方差异数据,寻找线索,结合数据来源及其业务过程等,综合分析排查差异产生的原因。显而易见,该方法费时费力,只能适用于较小数据量,并且面对差异数据相关人员往往无从下手,实际效果非常依赖于相关人员的经验丰富程度。
2、预设归类场景
指依据长期业务过程的财务人员的经验,预先总结评估出若干种特定的场景,作为可能产生各种差异的原因,再参照预设场景特点,到差异数据中搜索符合该场景的差异数据。总的来说,该方法提前“假设”若干差异原因,再检索相符的差异数据,将其归为该类差异原因。可以看出,该方法也依赖于相关人员的经验,实际上并非由数据分析原因,并且无法应对可能出现的新差异原因场景。
发明内容
基于此,有必要针对上述技术问题,提供一种对账差异数据的处理方法、装置、计算机设备和存储介质,能够通过对差异数据的自动化分析得到不依赖于人工经验的差异数据的差异原因,提高了对账中差异数据的差异原因的准确性。
一种对账差异数据的处理方法,包括:识别对账得到的第一数据表和第二数据表,从第一数据表中获取第一差异数据,从第二数据表中获取第二差异数据;计算第一差异数据和第二差异数据的相似度;当相似度满足预设条件时,确定第一差异数据与第二差异数据中匹配失败的差异数据;根据第一数据表和第二数据表确定匹配失败的差异数据对应的字段;根据对应的字段得到第一差异数据和第二差异数据的数据差异类型。
在其中一个实施例中,计算第一差异数据和第二差异数据的相似度,包括:获取第一指纹值和第二指纹值,第一指纹值为采用SimHash算法对第一差异数据进行处理得到的指纹值,第二指纹值为采用SimHash算法对第二差异数据进行处理得到的指纹值;计算第一指纹值和第二指纹值的汉明距离;根据汉明距离得到相似度。
在其中一个实施例中,获取第一指纹值和第二指纹值,包括:对第一差异数据中各差异数据进行哈希计算,得到第三指纹值;将第三指纹值中的0值修改为-1值,再将修改后的第三指纹值中每个值乘以对应的权重,得到第一权重指纹值;将第一权重指纹值的各位置值按序累加,得到第一累加值;将第一累加值进行二值化处理,得到第一指纹值;对第二差异数据中各差异数据进行哈希计算,得到第四指纹值;将第四指纹值中的0值修改为-1值,再将修改后的第四指纹值中每个值乘以对应的权重,得到第二权重指纹值;将第二权重指纹值的各位置值按序累加,得到第二累加值;将第二累加值进行二值化处理,得到第二指纹值。
在其中一个实施例中,计算第一指纹值和第二指纹值的汉明距离,包括:检测第一指纹值和第二指纹值中相同位置的数据是否相同;统计不相同的数据的数量;根据数量确定汉明距离。
在其中一个实施例中,一种对账差异数据的处理方法还包括:生成第一差异数据的第一指纹值,统计第一指纹值中特定比特值的第一数量;将第一指纹值进行指纹分段,得到多段第一子指纹值;生成第二差异数据的第一指纹值,统计第二指纹值中特定比特值的第二数量;将第二指纹值进行指纹分段,得到多段第二子指纹值。计算第一指纹值和第二指纹值的汉明距离,包括:当根据第一子指纹值和第一数量与第二子指纹值和第二数量检测到第一差异数据与第二差异数据匹配时,计算第一指纹值和第二指纹值的汉明距离。
在其中一个实施例中,一种对账差异数据的处理方法还包括:将第一子指纹值和第一数量进行组合,得到第一组合数据;将第二子指纹值和第二数量进行组合,得到第二组合数据;确定汉明距离的阈值。根据第一子指纹值和第一数量与第二子指纹值和第二数量检测到第一差异数据与第二差异数据匹配,包括:根据第一组合数据以及汉明距离的阈值确定出第三组合数据;当第二组合数据和第三组合数据相同时,检测到第一差异数据与第二差异数据匹配。
在其中一个实施例中,根据对应的字段得到第一差异数据和第二差异数据的数据差异类型之后,还包括:获取第一数据表和第二数据表的多个数据差异类型;将多个数据差异类型进行分类,得到对账的多个差异类别;根据各差异类别对应的差异数据计算各差异类别的占比;将各差异类别以及各差异类别的占比进行图形化展示。
一种对账差异数据的处理装置,包括:获取模块,用于识别对账得到的第一数据表和第二数据表,从第一数据表中获取第一差异数据,从第二数据表中获取第二差异数据;计算模块,用于计算第一差异数据和第二差异数据的相似度;第一确定模块,用于当相似度满足预设条件时,确定第一差异数据与第二差异数据中匹配失败的差异数据;第二确定模块,用于根据第一数据表和第二数据表确定匹配失败的差异数据对应的字段;获得模块,用于根据对应的字段得到第一差异数据和第二差异数据的数据差异类型。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一实施例方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例方法的步骤。
上述对账差异数据的处理方法、装置、计算机设备和存储介质,识别对账得到的第一数据表和第二数据表,从第一数据表中获取第一差异数据,从第二数据表中获取第二差异数据,计算第一差异数据和第二差异数据的相似度,因此自动化计算第一差异数据和第二差异数据的相似度,无需人工经验判断差异数据之间的相似度。进一步地,当相似度满足预设条件时,确定第一差异数据与第二差异数据中匹配失败的差异数据,根据第一数据表和第二数据表确定匹配失败的差异数据对应的字段。因此通过设定预设条件,采用相似度与预设条件匹配的方式筛选出用于判断数据差异类型的差异数据,不仅能够通过预设条件筛选出满足实际业务需求分析的差异数据并且能够减少数据运算量。进而,根据对应的字段得到第一差异数据和第二差异数据的数据差异类型,从而实现对差异数据的自动化分析,得到不依赖于人工经验的差异数据的数据差异类型,即可基于数据差异类型确定出差异数据的差异原因,提高了对账中差异数据的差异原因的准确性。
附图说明
图1为一个实施例中一种对账差异数据的处理方法的应用环境图;
图2为一个实施例中一种对账差异数据的处理方法的流程示意图;
图3为一个实施例中Hash散列算法与SimHash算法对差异数据处理的结果示意图;
图4为一个实施例中SimHash算法的计算过程示意图;
图5为一个实施例中汉明距离的计算方式的示意图;
图6为一个实施例中指纹值的指纹分段原理的示意图;
图7为一个实施例中指纹分段及比特1数量映射完整指纹的映射示意图;
图8为一个实施例中差异数据的相似度的处理流程图;
图9为一个实施例中差异数据的表格示意图;
图10为一个实施例中差异数据的相似度分析报告的图表示意图;
图11为一个实施例中一种对账差异数据的处理装置的结构框图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的一种对账差异数据的处理方法,应用于如图1所示的应用环境中。如图1所示,服务器集群102用于实现本申请的一种对账差异数据的处理方法。终端104用于对服务器集群102进行配置,如配置对账差异数据的预设条件等。数据库106中存储有对账得到的差异数据的数据表,如第一数据表1062和第二数据表1064。具体地,服务器集群102识别出对账得到的第一数据表1062和第二数据表1064,从数据库106中读取第一数据表1062中的第一差异数据以及读取第二数据表1064中的第二差异数据。进一步地,计算第一差异数据和第二差异数据的相似度。此外,终端104中配置预设条件,将预设条件输入到服务器集群102中。服务器集群102检测到相似度满足预设条件时,确定第一差异数据与第二差异数据中匹配失败的差异数据,根据第一数据表1062和第二数据表1064确定匹配失败的差异数据对应的字段,根据对应的字段得到第一差异数据和第二差异数据的数据差异类型,将数据差异类型显示到终端104中,从而使得业务人员能够直观确定账差异数据的数据差异类型,无需人工进行数据差异判断,提高对账中差异数据的差异原因的准确性。
在一个实施例中,本申请提供的一种对账差异数据的处理方法,应用于图1所示的服务器集群102。如图2所示,一种对账差异数据的处理方法包括以下步骤:
S202,识别对账得到的第一数据表和第二数据表,从第一数据表中获取第一差异数据,从第二数据表中获取第二差异数据。
本实施例中,在进行数据对账时,对账双方无法匹配的数据称为差异数据。假设对账双方分别为A方和B方。A方和B方中每条数据分别具有若干字段。对账即是使用其中某些字段的字段值符合特定条件作为匹配依据将双方符合匹配依据的数据查找出来,剩下找不到匹配的数据即为差异数据。例如,字段值相等作为匹配依据,A方为订单数据,B方为账单数据,对账的匹配依据为“A方订单号=B方业务流水号”且“A方应付金额=B方实付金额”。
差异数据分别通过第一数据表和第二数据表进行存储。其中,第一数据表和第二数据表分别存储对账各方的差异数据。如,第一数据表存储A方中无法与B方匹配的差异数据,第二数据表存储B方中无法与A方匹配的差异数据。
服务器识别对账得到的第一数据表和第二数据表,并从第一数据表中获取第一差异数据以及从第二数据表中获取第二差异数据。第一差异数据可以是第一数据表中任一条数据,任一条数据对应有一个或多个字段,各字段对应的字段值即为任一条数据中的差异数据。第二差异数据可以是第二数据表中任一条数据,任一条数据对应有一个或多个字段,各字段对应的字段值即为任一条数据中的差异数据。
S204,计算第一差异数据和第二差异数据的相似度。
对对账数据的差异分析可以视作为对账两方的数据的相似度的计算。两方的数据若完全相同或相似度为最大值,则表明双方的数据匹配成功。本实施例中,服务器计算第一差异数据和第二差异数据的相似度,以通过相似度判断对账双方的差异数据是否为本该匹配成功但由于某些差错而形成的差异数据。计算第一差异数据和第二差异数据的相似度的方式可以是:结合具体场景特点选择合适的相似度算法,例如SimHash与汉明距离算法。通过相似度算法计算第一差异数据和第二差异数据的相似度。
S206,当相似度满足预设条件时,确定第一差异数据与第二差异数据中匹配失败的差异数据。
本实施例中,管理人员通过终端预先配置预设条件,将预设条件存储到服务器中。当服务器计算出第一差异数据和第二差异数据的相似度时,检测相似度是否满足预设条件。若是,则进一步确定第一差异数据与第二差异数据中匹配失败的差异数据。若否,则不执行后续的确定第一差异数据与第二差异数据中匹配失败的差异数据的操作。其中,预设条件可以为相似度阈值,相似度满足预设条件指的是相似度大于相似度阈值。因此,通过设定预设条件对第一差异数据和第二差异数据进行筛选,可以筛选出本该在对账中匹配成功但由于某些差错而形成的差异数据,无需人工操作,提高差异数据的筛选的效率。
当相似度满足预设条件时,将第一差异数据和第二差异数据进行匹配,识别出匹配失败的差异数据。其中,匹配失败可以指第一差异数据和第二差异数据中对应位置的数据不相等,或者第一差异数据和第二差异数据中对应位置的数据不满足设定的匹配条件。
S208,根据第一数据表和第二数据表确定匹配失败的差异数据对应的字段。
本实施例中,第一数据表中第一差异数据各个差异数据均对应有字段,第二数据表中第二差异数据各个差异数据均对应有字段。服务器根据第一数据表和第二数据表确定匹配失败的差异数据对应的字段。一般情况下,对账得到的第一数据表和第二数据表,当第一数据表中的一条数据与第二数据表中的一条数据的相似度达到预设条件时,说明这两条数据对应的字段相同。因此,当确定出匹配失败的差异数据时,可从第一数据表或第二数据表中确定出匹配失败的差异数据对应的字段。其中,对应的字段可以是对账规则使用到的字段,如订单号、账号、金额以及日期等。
S210,根据对应的字段得到第一差异数据和第二差异数据的数据差异类型。
本实施例中,服务器通过对应的字段的字段内容得到第一差异数据和第二差异数据的数据差异类型。其中,数据差异类型用于表示数据对账时差异数据的差异原因。如,数据差异类型为对账双方金额不相同、对账双方时间不相同、对账双方单号不相同等。具体地,服务器识别对应的字段的字段内容,基于字段内容确定出第一差异数据和第二差异数据的数据差异类型。如,对应的字段的字段内容为价格,则确定出数据差异类型为对账双方金额不相同。对应的字段的字段内容为日期,则确定出数据差异类型为对账双方时间不相同。
上述对账差异数据的处理方法,识别对账得到的第一数据表和第二数据表,从第一数据表中获取第一差异数据,从第二数据表中获取第二差异数据,计算第一差异数据和第二差异数据的相似度,自动化计算第一差异数据和第二差异数据的相似度,无需人工经验判断差异数据之间的相似度。进一步地,当相似度满足预设条件时,确定第一差异数据与第二差异数据中匹配失败的差异数据,根据第一数据表和第二数据表确定匹配失败的差异数据对应的字段。因此,通过设定预设条件,采用相似度与预设条件的匹配的方式筛选出用于判断数据差异类型的差异数据,不仅能够通过预设条件筛选出满足实际业务需求分析的差异数据并且能够减少数据运算量。进而,根据对应的字段得到第一差异数据和第二差异数据的数据差异类型,从而实现对差异数据的自动化分析,得到不依赖于人工经验的差异数据的数据差异类型,即可基于数据差异类型确定出差异数据的差异原因,提高了对账中差异数据的差异原因的准确性。
在一个实施例中,上述计算第一差异数据和第二差异数据的相似度,包括:获取第一指纹值和第二指纹值,第一指纹值为采用SimHash算法对第一差异数据进行处理得到的指纹值,第二指纹值为采用SimHash算法对第二差异数据进行处理得到的指纹值;计算第一指纹值和第二指纹值的汉明距离;根据汉明距离得到相似度。
SimHash算法在于Sim(相似)+Hash(散列)。Hash散列算法可以将不同长度的原始数据映射为另一条固定长度的数据,从而便于简化后续的计算分析。但是普通的Hash散列算法会将原始数据类似随机地映射到另一条数据,映射后的定长指纹无法携带原始数据的特征信息,因此不能满足相似度计算的需要。SimHash算法作为一种局部敏感Hash散列算法,可以使映射后的指纹与原始数据具有相关性,具体表现为:原始数据越相似,则其指纹也越相似,如图3所示。因此SimHash算法常被用于搜索引擎排重相似网页、学校机构检索相似文稿等。
本实施例通过SimHash算法分别对第一差异数据以及第二差异数据进行处理,得到第一指纹值和第二指纹值。进而,再计算第一指纹值和第二指纹值的汉明距离,通过汉明距离表示第一指纹值和第二指纹值的相似度。汉明距离越小,则表示指纹越相似。最终,根据汉明距离得到第一差异数据和第二差异数据的相似度。
通过SimHash算法分别对第一差异数据以及第二差异数据进行处理,第一差异数据和第二差异数据中各个维度的差异数据均对最终生成的指纹值产生贡献,因此最终得到的指纹值可以表征原始数据的各维度特征。采用SimHash算法得到的指纹值进行相似度计算,能够对原始数据,如第一差异数据和第二差异数据进行数据降维,使原本需要多维度比较的计算过程简化为两条简单数据比较,从而大大减少计算量。
在一个实施例中,上述获取第一指纹值和第二指纹值,包括:对第一差异数据中各差异数据进行哈希计算,得到第三指纹值;将第三指纹值中的0值修改为-1值,再将修改后的第三指纹值中每个值乘以对应的权重,得到第一权重指纹值;将第一权重指纹值的各位置值按序累加,得到第一累加值;将第一累加值进行二值化处理,得到第一指纹值;对第二差异数据中各差异数据进行哈希计算,得到第四指纹值;将第四指纹值中的0值修改为-1值,再将修改后的第四指纹值中每个值乘以对应的权重,得到第二权重指纹值;将第二权重指纹值的各位置值按序累加,得到第二累加值;将第二累加值进行二值化处理,得到第二指纹值。
如图4所示,使用SimHash算法将对账结果的原始差异数据计算得到指纹,主要包括以下步骤:
1)将对账规则使用的字段作为特征,各字段值即为特征值。其中,此处对账规则使用的字段为对账得到的数据表的字段,字段值为字段对应的数值,字段值也为本申请中的差异数据。
2)对各特征值分别计算一般Hash散列,得到N(N为特征的数量)个维度的特征的Hash指纹,其长度均为固定值,例如64位,每一位的值为0或1。
3)将各维度特征Hash指纹的0位值改为-1,再将每个位置的值乘以其特征维度的权重,得到N个权重指纹。
4)将N个权重指纹各位按序对齐累加,得到一个64位长度的累加值,其各个位置上的值为正整数、0或者负整数。
5)对上一步得到的累加值各个位置进行二值化处理,具体方法为正整数变为1,否则变为0,如此操作得到一个新的64位指纹,即为原始数据对应的SimHash指纹。
本实施例采用上述方法获取第一指纹值和第二指纹值。其中,第三指纹值指Hash指纹。同理,第四指纹值指Hash指纹。第一权重指纹值指将第三指纹值的0位值改为-1,再将每个位置的值乘以其特征维度的权重后得到的N个权重指纹。同理,第二权重指纹值指将第四指纹值的0位值改为-1,再将每个位置的值乘以其特征维度的权重后得到的N个权重指纹。
由于第一差异数据以及第二差异数据中,每个维度特征值对应的差异数据分别对最终指纹值的各个位置均具有贡献,因此采用SimHash算法得到的指纹值可以表征原始的差异数据的各维度特征。
在一个实施例中,上述计算第一指纹值和第二指纹值的汉明距离,包括:检测第一指纹值和第二指纹值中相同位置的数据是否相同;统计不相同的数据的数量;根据数量确定汉明距离。
汉明距离的计算方式如图5所示,可概括为:逐位比较两条指纹的各位置数据,统计值不相同的位置数量,统计得到的位置数量即为两条指纹之间的汉明距离。本实施例中,比较第一指纹值和第二指纹值中,相同位置的数据是否相同。统计数据不相同的数据的数量,根据数量确定汉明距离。进而,可根据汉明距离确定第一差异数据和第二差异数据的相似度。
在一个实施例中,上述计算第一指纹值和第二指纹值的汉明距离的步骤之前,还包括:生成第一差异数据的第一指纹值,统计第一指纹值中特定比特值的第一数量;将第一指纹值进行指纹分段,得到多段第一子指纹值;生成第二差异数据的第一指纹值,统计第二指纹值中特定比特值的第二数量;将第二指纹值进行指纹分段,得到多段第二子指纹值。上述计算第一指纹值和第二指纹值的汉明距离,包括:当根据第一子指纹值和第一数量与第二子指纹值和第二数量检测到第一差异数据与第二差异数据匹配时,计算第一指纹值和第二指纹值的汉明距离。
计算机位运算速度非常快,因此汉明距离计算的效率非常高。但若完全计算所有数据的汉明距离,那么计算量为对账双方差异数据量的乘积。例如A方、B方的差异数据量均为100万,则完全的计算量为100万乘以100万即1万亿次,假设单核计算机每秒可以计算1百万次汉明距离,仍需要约11.574天才能完成。因此必须设法减少计算量,才能在可接受的时间范围内得到有价值的汉明距离。
本实施例减少计算量的方法为“指纹分段”及“计数范围”二者的综合应用。
指纹分段:
将10个苹果放到9个抽屉中,无论怎样放置,至少有一个抽屉中有多于1个的苹果,这就是“抽屉原理”。类似的,假设预期的最大汉明距离即阈值为n(0<n<64),那么如果将每个采用SimHash算法得到的指纹值的64位拆分为连续的(n+1)段,则如果两个指纹值符合相似要求,也就是它们的汉明距离小于等于n,则它们的指纹分段中至少有1段是完全相同的,如图6所示。
计数范围:
对每条指纹值的64位内容进行统计,得到其值为1的位置的数量,假设称为比特1数量。假设某条指纹值的比特1数量为n(0<=n<=64),并且预期最大汉明距离阈值为d,那么显而易见,有可能与之符合相似要求的其它指纹值的比特1数量必然在[max(n-d,0),min(n+d,64)]范围内。例如,某指纹值的比特1数量为22,汉明距离阈值为5,那么与之符合相似要求的指纹值的比特1数量一定在17到27这个范围内。实际上,计数范围的根本仍然是抽屉原理的应用。
按照上述原理,本实施例将第一指纹值和第二指纹值均统计其比特1数量,以及按照规律拆为若干分段,并将其中一方构建为索引映射结构,映射键为“指纹分段内容_原完整指纹比特1数量”,值为“原完整指纹”,如图7所示。以另一方作为驱动方,遍历其每一条完整指纹,依次取它的每个指纹分段,结合其比特1数量,得到可能与之符合相似要求的搜索键,作为键到索引映射结构中找到对应的完整指纹值,再计算其汉明距离。
本实施例中,按照上述方式,将第一指纹值进行指纹分段,得到多段第一子指纹值。并且,统计第一指纹中特定比特值的数量,得到第一数量。其中特定比特值可以是1。同理,得到多段第二子指纹值和第二数量。其中,第一指纹值进行指纹分段,包括:根据汉明距离的阈值将第一指纹值进行指纹分段。将第二指纹值进行指纹分段,包括:根据汉明距离的阈值将第二指纹值进行指纹分段。进而,根据多段第一子指纹值和第一数量以及第二子指纹值和第二数量检测第一差异数据与第二差异数据是否匹配,若是,则计算第一指纹值和第二指纹值的汉明距离。因此,可减少***的计算量。
在一个实施例中,上述当根据第一子指纹值和第一数量与第二子指纹值和第二数量检测到第一差异数据与第二差异数据匹配时,计算第一指纹值和第二指纹值的汉明距离的步骤之前,还包括:将第一子指纹值和第一数量进行组合,得到第一组合数据;将第二子指纹值和第二数量进行组合,得到第二组合数据;确定汉明距离的阈值。上述根据第一子指纹值和第一数量与第二子指纹值和第二数量检测到第一差异数据与第二差异数据匹配,包括:根据第一组合数据以及汉明距离的阈值确定出第三组合数据;当第二组合数据和第三组合数据相同时,检测到第一差异数据与第二差异数据匹配。
本实施例中,将第一子指纹值和第一数量进行组合,构建得到第一组合数据。将第二子指纹值和第二数量进行组合,构建得到第二组合数据。例如,第一指纹值经过SimHash算法得到64位二进制为“0010101010101010001001101001000100100111001010101111010000110110”,汉明距离阈值为3,则需要按位从左到右拆分为4段,每段16位,分别为“0010101010101010”(第1~16位)、“0010011010010001”(第17~32位)、“0010011100101010”(第33~48位)、“1111010000110110”(第49~64位),比特1数量为29。将四段分别转换为十进制表示,并和比特1数量组合,得到四个第一组合数据:“10922_29”、“9873_29”、“10026_29”、“62518_29”。类似的,假设第二指纹值的四个分段的十进制表示为“10922”、“4673”、“26702”、“8741”,其比特1数量为30。得到四个第二组合数据:“10922_30”、“4673_30”、“26702_30”、“8741_30”。
如果第一指纹值和第二指纹值的汉明距离不超过3,那么第二指纹值的比特1数量必须在(30-3)~(30+3),即[27,33]这个合理范围内。那么根据第一组合数据以及汉明距离的阈值确定出第三组合数据中,第三组合数据包括10922_27”、“10922_28”、“10922_29”……“8741_33”。当第二组合数据中任一组合数据与第三组合数据中任一组合数据相同时,检测到第一差异数据与第二差异数据匹配。因此,避免对账双方指纹值集合做笛卡尔积数量的计算,减少***计算量。
在一个实施例中,根据对应的字段得到第一差异数据和第二差异数据的数据差异类型之后,还包括:获取第一数据表和第二数据表的多个数据差异类型;将多个数据差异类型进行分类,得到对账的多个差异类别;根据各差异类别对应的差异数据计算各差异类别的占比;将各差异类别以及各差异类别的占比进行图形化展示。
本实施例中,服务器采用上述各实施例获得第一数据表和第二数据表的多个数据差异类型,具体获取流程参见图8所示。参考图8所示的流程图,服务器获得第一数据表和第二数据表的多个数据差异类型包括以下步骤:
1)获取第一数据表和第二数据表中的差异数据
从数据存储中读取对账双方的差异数据,对账双方为A方和B方。典型数据存储例如关系型数据库、Hive数据库、MongoDB数据库等。
2)分别计算A方的差异数据和B方的差异数据的特征指纹、指纹分段、比特计数
对于上一步读取得到的双方原始的差异数据集,分别计算每条差异数据对应的指纹,得到A方和B方的差异数据相关的指纹数据集。
进一步地,为了优化后续汉明距离的计算,在得到指纹数据集之后,再分别做指纹分段以及比特计数的处理。其中,比特计数可以是比特1数量。
3)一方构建索引映射,另一方构建查找键集合
将其中一方的指纹数据集中各指纹值按照指纹分段值和比特计数的组合作为键,建立索引映射。
4)计算指纹值的汉明距离
循环遍历另一方的每一条指纹值,按照指纹分段和比特计数构造合适的键,到上一步的索引映射中查找对方指纹值,若找到相关的对方指纹值,则逐条计算得到汉明距离,并结合阈值进行筛选。
5)形成相似度参考结果
将上一步得到的保留相似的差异数据对进行归纳,字段情况相同的归为同一类,计算数量和占比,得到图表供参考辅助分析。
也即是,计算各数据表中各条差异数据的指纹值,按照指纹分段和比特计数的方式进行处理,得到各指纹值以及各指纹值对应的分段指纹值和比特1数量。将第一数据表各指纹值按照分段指纹值和比特计数的组合作为键,建立索引映射。之后,循环遍历第二数据表中每一条指纹值。进而,计算第一数据表中的指纹值和遍历得到的指纹值的汉明距离,根据汉明距离得到第一数据表和第二数据表的相似的差异数据。确定各个相似的差异数据的数据差异类型。各个数据差异类型按照字段相同的归为同一类,得到对账的多个差异类别。再计算各个差异类别数量以及占比,进而将各个差异类别、各个差异类别数量以及占比进行图形化展示,得到图表。
例如,具体实施方案如下;
1)配置平台
采用关系型数据库(Oracle/DB2/SQLServer/MySQL等)作为数据持久化存储,负责保存待分析的对账得到的差异数据的位置、对账相关匹配规则、最大汉明距离阈值等数据。
使用B/S或C/S架构实现均可,使用符合JEE技术规范的框架和技术栈实现Server端应用,例如SpringBoot+MyBatis。较为流行的.NET/C#等技术栈也可。
为防止单点故障,可将应用集群部署,通过Apache/Nginx/F5等进行软/硬负载均衡。从成本和重要程度上考量,一般使用Apache/Nginx做软负载均衡即可。
2)计算平台
为获得高可用、水平扩展能力,建议采用分布式计算集群搭建计算平台,例如利用企业已有的大数据集群,采用YARN作为计算平台资源管理协调组件。YARN,Apache HadoopYARN Yet Another Resource Negotiator,另一种资源协调者。采用Spark作为实际对账任务应用的编程框架和计算引擎,采用Hive/MongoDB作为相似度分析数据的持久化存储。
3)差异数据以及仿真结果
仿真测试数据量、关键指标及结果样本如图9所示。最终得到的图表参见图10所示。
本申请的一种对账差异数据的处理方法,将机器学习领域的相似度计算创新地应用于财务对账领域的差异分析场景,支持不同具体对账实例的个性化参数调整,实现简单并在原算法基础上做了一些优化改进以提高计算速度,最终形成友好、直观、有价值的分析辅助结果,从而大大降低了差异分析的难度,改变了业务财务人员无从下手、盲目排查的情况,提升了差异原因分析的效率和效果,节约大量人力成本。
应该理解的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,附图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本申请还提供一种对账差异数据的处理装置,如图11所示,该装置包括获取模块1102、计算模块1104、第一确定模块1106、第二确定模块1108以及获得模块1110。获取模块1102,用于识别对账得到的第一数据表和第二数据表,从第一数据表中获取第一差异数据,从第二数据表中获取第二差异数据;计算模块1104,用于计算第一差异数据和第二差异数据的相似度;第一确定模块1106,用于当相似度满足预设条件时,确定第一差异数据与第二差异数据中匹配失败的差异数据;第二确定模块1108,用于根据第一数据表和第二数据表确定匹配失败的差异数据对应的字段;获得模块1110,用于根据对应的字段得到第一差异数据和第二差异数据的数据差异类型。
在一个实施例中,计算第一差异数据和第二差异数据的相似度,包括:获取第一指纹值和第二指纹值,第一指纹值为采用SimHash算法对第一差异数据进行处理得到的指纹值,第二指纹值为采用SimHash算法对第二差异数据进行处理得到的指纹值;计算第一指纹值和第二指纹值的汉明距离;根据汉明距离得到相似度。
在一个实施例中,获取第一指纹值和第二指纹值,包括:对第一差异数据中各差异数据进行哈希计算,得到第三指纹值;将第三指纹值中的0值修改为-1值,再将修改后的第三指纹值中每个值乘以对应的权重,得到第一权重指纹值;将第一权重指纹值的各位置值按序累加,得到第一累加值;将第一累加值进行二值化处理,得到第一指纹值;对第二差异数据中各差异数据进行哈希计算,得到第四指纹值;将第四指纹值中的0值修改为-1值,再将修改后的第四指纹值中每个值乘以对应的权重,得到第二权重指纹值;将第二权重指纹值的各位置值按序累加,得到第二累加值;将第二累加值进行二值化处理,得到第二指纹值。
在一个实施例中,计算第一指纹值和第二指纹值的汉明距离,包括:检测第一指纹值和第二指纹值中相同位置的数据是否相同;统计不相同的数据的数量;根据数量确定汉明距离。
在一个实施例中,一种对账差异数据的处理装置还包括处理模块。处理模块用于生成第一差异数据的第一指纹值,统计第一指纹值中特定比特值的第一数量,将第一指纹值进行指纹分段,得到多段第一子指纹值,生成第二差异数据的第一指纹值,统计第二指纹值中特定比特值的第二数量,将第二指纹值进行指纹分段,得到多段第二子指纹值;计算第一指纹值和第二指纹值的汉明距离,包括:当根据第一子指纹值和第一数量与第二子指纹值和第二数量检测到第一差异数据与第二差异数据匹配时,计算第一指纹值和第二指纹值的汉明距离。
在一个实施例中,一种对账差异数据的处理装置还包括组合模块。组合模块用于将第一子指纹值和第一数量进行组合,得到第一组合数据,将第二子指纹值和第二数量进行组合,得到第二组合数据,确定汉明距离的阈值;根据第一子指纹值和第一数量与第二子指纹值和第二数量检测到第一差异数据与第二差异数据匹配,包括:根据第一组合数据以及汉明距离的阈值确定出第三组合数据;当第二组合数据和第三组合数据相同时,检测到第一差异数据与第二差异数据匹配。
在一个实施例中,根据对应的字段得到第一差异数据和第二差异数据的数据差异类型之后,还包括:获取第一数据表和第二数据表的多个数据差异类型;将多个数据差异类型进行分类,得到对账的多个差异类别;根据各差异类别对应的差异数据计算各差异类别的占比;将各差异类别以及各差异类别的占比进行图形化展示。
关于对账差异数据的处理装置的具体限定可以参见上文中对于对账差异数据的处理方法的限定,在此不再赘述。上述对账差异数据的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与数据库连接,以从数据库中读取差异数据。该计算机程序被处理器执行时以实现一种对账差异数据的处理方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:识别对账得到的第一数据表和第二数据表,从第一数据表中获取第一差异数据,从第二数据表中获取第二差异数据;计算第一差异数据和第二差异数据的相似度;当相似度满足预设条件时,确定第一差异数据与第二差异数据中匹配失败的差异数据;根据第一数据表和第二数据表确定匹配失败的差异数据对应的字段;根据对应的字段得到第一差异数据和第二差异数据的数据差异类型。
在其中一个实施例中,处理器执行计算机程序实现上述的计算第一差异数据和第二差异数据的相似度的步骤时,具体实现以下步骤:获取第一指纹值和第二指纹值,第一指纹值为采用SimHash算法对第一差异数据进行处理得到的指纹值,第二指纹值为采用SimHash算法对第二差异数据进行处理得到的指纹值;计算第一指纹值和第二指纹值的汉明距离;根据汉明距离得到相似度。
在其中一个实施例中,处理器执行计算机程序实现上述的获取第一指纹值和第二指纹值的步骤时,具体实现以下步骤:对第一差异数据中各差异数据进行哈希计算,得到第三指纹值;将第三指纹值中的0值修改为-1值,再将修改后的第三指纹值中每个值乘以对应的权重,得到第一权重指纹值;将第一权重指纹值的各位置值按序累加,得到第一累加值;将第一累加值进行二值化处理,得到第一指纹值;对第二差异数据中各差异数据进行哈希计算,得到第四指纹值;将第四指纹值中的0值修改为-1值,再将修改后的第四指纹值中每个值乘以对应的权重,得到第二权重指纹值;将第二权重指纹值的各位置值按序累加,得到第二累加值;将第二累加值进行二值化处理,得到第二指纹值。
在其中一个实施例中,处理器执行计算机程序实现上述的计算第一指纹值和第二指纹值的汉明距离的步骤时,具体实现以下步骤:检测第一指纹值和第二指纹值中相同位置的数据是否相同;统计不相同的数据的数量;根据数量确定汉明距离。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:生成第一差异数据的第一指纹值,统计第一指纹值中特定比特值的第一数量,将第一指纹值进行指纹分段,得到多段第一子指纹值,生成第二差异数据的第一指纹值,统计第二指纹值中特定比特值的第二数量,将第二指纹值进行指纹分段,得到多段第二子指纹值。处理器执行计算机程序实现上述的计算第一指纹值和第二指纹值的汉明距离的步骤时,具体实现以下步骤:当根据第一子指纹值和第一数量与第二子指纹值和第二数量检测到第一差异数据与第二差异数据匹配时,计算第一指纹值和第二指纹值的汉明距离。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:将第一子指纹值和第一数量进行组合,得到第一组合数据,将第二子指纹值和第二数量进行组合,得到第二组合数据,确定汉明距离的阈值。处理器执行计算机程序实现上述的根据第一子指纹值和第一数量与第二子指纹值和第二数量检测到第一差异数据与第二差异数据匹配的步骤时,具体实现以下步骤:根据第一组合数据以及汉明距离的阈值确定出第三组合数据;当第二组合数据和第三组合数据相同时,检测到第一差异数据与第二差异数据匹配。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:获取第一数据表和第二数据表的多个数据差异类型;将多个数据差异类型进行分类,得到对账的多个差异类别;根据各差异类别对应的差异数据计算各差异类别的占比;将各差异类别以及各差异类别的占比进行图形化展示。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:识别对账得到的第一数据表和第二数据表,从第一数据表中获取第一差异数据,从第二数据表中获取第二差异数据;计算第一差异数据和第二差异数据的相似度;当相似度满足预设条件时,确定第一差异数据与第二差异数据中匹配失败的差异数据;根据第一数据表和第二数据表确定匹配失败的差异数据对应的字段;根据对应的字段得到第一差异数据和第二差异数据的数据差异类型。
在其中一个实施例中,计算机程序被处理器执行实现上述的计算第一差异数据和第二差异数据的相似度的步骤时,具体实现以下步骤:获取第一指纹值和第二指纹值,第一指纹值为采用SimHash算法对第一差异数据进行处理得到的指纹值,第二指纹值为采用SimHash算法对第二差异数据进行处理得到的指纹值;计算第一指纹值和第二指纹值的汉明距离;根据汉明距离得到相似度。
在其中一个实施例中,计算机程序被处理器执行实现上述的获取第一指纹值和第二指纹值的步骤时,具体实现以下步骤:对第一差异数据中各差异数据进行哈希计算,得到第三指纹值;将第三指纹值中的0值修改为-1值,再将修改后的第三指纹值中每个值乘以对应的权重,得到第一权重指纹值;将第一权重指纹值的各位置值按序累加,得到第一累加值;将第一累加值进行二值化处理,得到第一指纹值;对第二差异数据中各差异数据进行哈希计算,得到第四指纹值;将第四指纹值中的0值修改为-1值,再将修改后的第四指纹值中每个值乘以对应的权重,得到第二权重指纹值;将第二权重指纹值的各位置值按序累加,得到第二累加值;将第二累加值进行二值化处理,得到第二指纹值。
在其中一个实施例中,计算机程序被处理器执行实现上述的计算第一指纹值和第二指纹值的汉明距离的步骤时,具体实现以下步骤:检测第一指纹值和第二指纹值中相同位置的数据是否相同;统计不相同的数据的数量;根据数量确定汉明距离。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:生成第一差异数据的第一指纹值,统计第一指纹值中特定比特值的第一数量,将第一指纹值进行指纹分段,得到多段第一子指纹值,生成第二差异数据的第一指纹值,统计第二指纹值中特定比特值的第二数量,将第二指纹值进行指纹分段,得到多段第二子指纹值。计算机程序被处理器执行实现上述的计算第一指纹值和第二指纹值的汉明距离的步骤时,具体实现以下步骤:当根据第一子指纹值和第一数量与第二子指纹值和第二数量检测到第一差异数据与第二差异数据匹配时,计算第一指纹值和第二指纹值的汉明距离。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:将第一子指纹值和第一数量进行组合,得到第一组合数据,将第二子指纹值和第二数量进行组合,得到第二组合数据,确定汉明距离的阈值。计算机程序被处理器执行实现上述的根据第一子指纹值和第一数量与第二子指纹值和第二数量检测到第一差异数据与第二差异数据匹配的步骤时,具体实现以下步骤:根据第一组合数据以及汉明距离的阈值确定出第三组合数据;当第二组合数据和第三组合数据相同时,检测到第一差异数据与第二差异数据匹配。
在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取第一数据表和第二数据表的多个数据差异类型;将多个数据差异类型进行分类,得到对账的多个差异类别;根据各差异类别对应的差异数据计算各差异类别的占比;将各差异类别以及各差异类别的占比进行图形化展示。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种对账差异数据的处理方法,所述方法包括:
识别对账得到的第一数据表和第二数据表,从所述第一数据表中获取第一差异数据,从所述第二数据表中获取第二差异数据;
计算所述第一差异数据和所述第二差异数据的相似度;
当所述相似度满足预设条件时,确定所述第一差异数据与所述第二差异数据中匹配失败的差异数据;
根据所述第一数据表和所述第二数据表确定所述匹配失败的差异数据对应的字段;
根据所述对应的字段得到所述第一差异数据和所述第二差异数据的数据差异类型。
2.根据权利要求1所述的方法,其特征在于,所述计算所述第一差异数据和所述第二差异数据的相似度,包括:
获取第一指纹值和第二指纹值,所述第一指纹值为采用SimHash算法对所述第一差异数据进行处理得到的指纹值,所述第二指纹值为采用SimHash算法对所述第二差异数据进行处理得到的指纹值;
计算所述第一指纹值和所述第二指纹值的汉明距离;
根据所述汉明距离得到所述相似度。
3.根据权利要求2所述的方法,其特征在于,所述获取第一指纹值和第二指纹值,包括:
对所述第一差异数据中各差异数据进行哈希计算,得到第三指纹值;
将所述第三指纹值中的0值修改为-1值,再将修改后的所述第三指纹值中每个值乘以对应的权重,得到第一权重指纹值;
将所述第一权重指纹值的各位置值按序累加,得到第一累加值;
将所述第一累加值进行二值化处理,得到所述第一指纹值;
对所述第二差异数据中各差异数据进行哈希计算,得到第四指纹值;
将所述第四指纹值中的0值修改为-1值,再将修改后的所述第四指纹值中每个值乘以对应的权重,得到第二权重指纹值;
将所述第二权重指纹值的各位置值按序累加,得到第二累加值;
将所述第二累加值进行二值化处理,得到所述第二指纹值。
4.根据权利要求2所述的方法,其特征在于,所述计算所述第一指纹值和所述第二指纹值的汉明距离,包括:
检测所述第一指纹值和所述第二指纹值中相同位置的数据是否相同;
统计不相同的数据的数量;
根据所述数量确定所述汉明距离。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
生成所述第一差异数据的第一指纹值,统计所述第一指纹值中特定比特值的第一数量;
将所述第一指纹值进行指纹分段,得到多段第一子指纹值;
生成所述第二差异数据的第一指纹值,统计所述第二指纹值中所述特定比特值的第二数量;
将所述第二指纹值进行指纹分段,得到多段第二子指纹值;
所述计算所述第一指纹值和所述第二指纹值的汉明距离,包括:
当根据所述第一子指纹值和所述第一数量与所述第二子指纹值和所述第二数量检测到所述第一差异数据与所述第二差异数据匹配时,计算所述第一指纹值和所述第二指纹值的汉明距离。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
将所述第一子指纹值和所述第一数量进行组合,得到第一组合数据;
将所述第二子指纹值和所述第二数量进行组合,得到第二组合数据;
确定汉明距离的阈值;
所述根据所述第一子指纹值和所述第一数量与所述第二子指纹值和所述第二数量检测到所述第一差异数据与所述第二差异数据匹配,包括:
根据所述第一组合数据以及所述汉明距离的阈值确定出第三组合数据;
当所述第二组合数据和所述第三组合数据相同时,检测到所述第一差异数据与所述第二差异数据匹配。
7.根据权利要求1所述的方法,其特征在于,所述根据所述对应的字段得到所述第一差异数据和所述第二差异数据的数据差异类型之后,还包括:
获取所述第一数据表和所述第二数据表的多个数据差异类型;
将所述多个数据差异类型进行分类,得到所述对账的多个差异类别;
根据各差异类别对应的差异数据计算所述各差异类别的占比;
将所述各差异类别以及所述各差异类别的占比进行图形化展示。
8.一种对账差异数据的处理装置,其特征在于,所述装置包括:
获取模块,用于识别对账得到的第一数据表和第二数据表,从所述第一数据表中获取第一差异数据,从所述第二数据表中获取第二差异数据;
计算模块,用于计算所述第一差异数据和所述第二差异数据的相似度;
第一确定模块,用于当所述相似度满足预设条件时,确定所述第一差异数据与所述第二差异数据中匹配失败的差异数据;
第二确定模块,用于根据所述第一数据表和所述第二数据表确定所述匹配失败的差异数据对应的字段;
获得模块,用于根据所述对应的字段得到所述第一差异数据和所述第二差异数据的数据差异类型。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110512158.7A CN113283973A (zh) | 2021-05-11 | 2021-05-11 | 对账差异数据的处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110512158.7A CN113283973A (zh) | 2021-05-11 | 2021-05-11 | 对账差异数据的处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113283973A true CN113283973A (zh) | 2021-08-20 |
Family
ID=77278543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110512158.7A Pending CN113283973A (zh) | 2021-05-11 | 2021-05-11 | 对账差异数据的处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113283973A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115205023A (zh) * | 2022-06-24 | 2022-10-18 | 平安科技(深圳)有限公司 | 账单数据监控方法、装置、介质及设备 |
US11586599B1 (en) * | 2021-11-11 | 2023-02-21 | Bank Of America Corporation | Smart data warehouse protocols |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344154A (zh) * | 2018-08-22 | 2019-02-15 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112465631A (zh) * | 2020-12-16 | 2021-03-09 | 深圳乐信软件技术有限公司 | 对账差异处理方法、***、服务器及存储介质 |
-
2021
- 2021-05-11 CN CN202110512158.7A patent/CN113283973A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109344154A (zh) * | 2018-08-22 | 2019-02-15 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112465631A (zh) * | 2020-12-16 | 2021-03-09 | 深圳乐信软件技术有限公司 | 对账差异处理方法、***、服务器及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11586599B1 (en) * | 2021-11-11 | 2023-02-21 | Bank Of America Corporation | Smart data warehouse protocols |
CN115205023A (zh) * | 2022-06-24 | 2022-10-18 | 平安科技(深圳)有限公司 | 账单数据监控方法、装置、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108876600B (zh) | 预警信息推送方法、装置、计算机设备和介质 | |
JP7169369B2 (ja) | 機械学習アルゴリズムのためのデータを生成する方法、システム | |
CN110009225B (zh) | 风险评估***构建方法、装置、计算机设备和存储介质 | |
WO2020015089A1 (zh) | 身份信息风险评定方法、装置、计算机设备和存储介质 | |
CN113283973A (zh) | 对账差异数据的处理方法、装置、计算机设备和存储介质 | |
CN109325118B (zh) | 不平衡样本数据预处理方法、装置和计算机设备 | |
US9367580B2 (en) | Method, apparatus and computer program for detecting deviations in data sources | |
US20180121504A1 (en) | Method and database computer system for performing a database query using a bitmap index | |
US20160147867A1 (en) | Information matching apparatus, information matching method, and computer readable storage medium having stored information matching program | |
CN110990529B (zh) | 企业的行业明细划分方法及*** | |
CN109062936B (zh) | 一种数据查询方法、计算机可读存储介质及终端设备 | |
CN112463774B (zh) | 文本数据的去重方法、设备及存储介质 | |
CN111368867B (zh) | 档案归类方法及***、计算机可读存储介质 | |
WO2020015140A1 (zh) | 旅客评级模型生成方法、装置、计算机设备和存储介质 | |
CN114841789B (zh) | 基于区块链的审计审价故障数据在线编辑方法及*** | |
CN115062016A (zh) | 关联关系提取方法、装置和计算机设备 | |
CN111861704A (zh) | 风控特征生成方法及*** | |
US20220091818A1 (en) | Data feature processing method and data feature processing apparatus | |
US12013855B2 (en) | Trimming blackhole clusters | |
CN117216239A (zh) | 文本去重方法、装置、计算机设备及存储介质 | |
US10169418B2 (en) | Deriving a multi-pass matching algorithm for data de-duplication | |
US10509809B1 (en) | Constructing ground truth when classifying data | |
CN111460268B (zh) | 数据库查询请求的确定方法、装置和计算机设备 | |
CN113723522B (zh) | 异常用户的识别方法、装置、电子设备以及存储介质 | |
CN114741673B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210820 |