本文作者:kaifamei

一种数据防重校验方法及装置与流程

更新时间:2025-12-21 21:03:44 0条评论

一种数据防重校验方法及装置与流程



1.本技术涉及数据处理技术领域,具体而言,涉及一种数据防重校验方法及装置。


背景技术:



2.目前,目前,随着金融行业监管环境的日益复杂,为了满足经营合规的需要,各个金融机构都相继研发了针对客户信息、交易信息、账户信息的采集及报送系统。为了避免数据冗余,则需要对重复的数据进行过滤。现有方法中,通常通过数据的唯一标识(例如身份证号列、订单编号列等)进行防重校验。然而,在实践中发现,现有方法需要使用不同标识类型的唯一索引,进行防重校验,这种方式有局限性,当同时限制多个防重条件时,需要建多个索引,从而影响数据库读写性能,可见,现有数据防重校验方法不够灵活,充满局限性,从而影响了数据库读写性能。


技术实现要素:



3.本技术实施例的目的在于提供一种数据防重校验方法及装置,能够解决现有防重方法中的扩展性,灵活性问题,从而有利于提升数据库读写性能。
4.本技术实施例第一方面提供了一种数据防重校验方法,包括:
5.构建用于数据防重校验的防重表;
6.获取待查重数据;
7.根据预设的防重算法计算所述待查重数据的防重值;
8.判断所述防重值是否能够插入所述防重表;
9.如果是,则确定所述待查重数据通过防重验证。
10.在上述实现过程中,该方法可以优先构建用于数据防重校验的防重表,然后再获取待查重数据;当获取到待查重数据时,根据预设的防重算法计算待查重数据的防重值;并判断防重值是否能够插入防重表;当防重值能够插入防重表时,确定待查重数据通过防重验证。可见,实施这种实施方式,能够解决现有防重方法中的扩展性,灵活性问题,从而有利于提升数据库读写性能。
11.进一步地,所述构建用于数据防重校验的防重表,包括:
12.定义防重表,并设定所述防重表的通用列;其中,所述防重表的类型为文字;
13.将所述防重表设为唯一索引。
14.进一步地,所述根据预设的防重算法计算所述待查重数据的防重值,包括:
15.根据所述待查重数据获取数据唯一标识信息;其中,所述数据唯一标识信息包括客户号、订单号、产品标识号以及日期;
16.根据所述唯一标识信息获取第一防重校验码和第二防重校验码;
17.根据预设的防重算法和所述第一防重校验码计算第一防重值,以及根据所述防重算法和所述第二防重校验码计算第二防重值;
18.汇总所述第一防重值和所述第二防重值得到防重值。
19.进一步地,所述根据所述唯一标识信息获取第一防重校验码和第二防重校验码,包括:
20.从所述唯一标识信息中选取多个字符标识进行字符并接,得到第一防重校验码;
21.从所述唯一标识信息中选取多个与所述第一防重校验码不相同的字符标识进行字符并接处理,得到第二防重校验码。
22.进一步地,所述判断所述防重值是否能够插入所述防重表,包括:
23.判断所述第一防重校验码和所述第二防重校验码是否都能够插入所述防重表;
24.如果所述第一防重校验码和所述第二防重校验码都能够插入所述防重表时,则执行所述的确定所述待查重数据通过防重验证。
25.本技术实施例第二方面提供了一种数据防重校验装置,所述数据防重校验装置包括:
26.构建单元,用于构建用于数据防重校验的防重表;
27.获取单元,用于获取待查重数据;
28.计算单元,用于根据预设的防重算法计算所述待查重数据的防重值;
29.判断单元,用于判断所述防重值是否能够插入所述防重表;
30.确定单元,当判断出所述防重值能够插入所述防重表时,确定所述待查重数据通过防重验证。
31.在上述实现过程中,该装置可以通过构建单元构建用于数据防重校验的防重表;通过获取单元获取待查重数据;通过计算单元来根据预设的防重算法计算待查重数据的防重值;通过判断单元判断防重值是否能够插入防重表;通过确定单元在判断出防重值能够插入防重表时,确定待查重数据通过防重验证。可见,实施这种实施方式,能够解决现有防重方法中的扩展性,灵活性问题,从而有利于提升数据库读写性能。
32.进一步地,所述构建单元,具体用于定义防重表,并设定所述防重表的通用列;其中,所述防重表的类型为文字;并将所述防重表设为唯一索引。
33.进一步地,所述计算单元包括:
34.第一获取子单元,用于根据所述待查重数据获取数据唯一标识信息;其中,所述数据唯一标识信息包括客户号、订单号、产品标识号以及日期;
35.第二获取子单元,用于根据所述唯一标识信息获取第一防重校验码和第二防重校验码;
36.计算子单元,用于根据预设的防重算法和所述第一防重校验码计算第一防重值,以及根据所述防重算法和所述第二防重校验码计算第二防重值;
37.汇总子单元,用于汇总所述第一防重值和所述第二防重值得到防重值。
38.进一步地,所述第二获取子单元包括:
39.第一题并接模块,用于从所述唯一标识信息中选取多个字符标识进行字符并接,得到第一防重校验码;
40.第二并接模块,用于从所述唯一标识信息中选取多个与所述第一防重校验码不相同的字符标识进行字符并接处理,得到第二防重校验码。
41.进一步地,所述判断单元具体用于判断所述第一防重校验码和所述第二防重校验码是否都能够插入所述防重表;
42.所述确定单元具体用于当所述第一防重校验码和所述第二防重校验码都能够插入所述防重表时,确定所述待查重数据通过防重验证。
43.本技术实施例第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本技术实施例第一方面中任一项所述的数据防重校验方法。
44.本技术实施例第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本技术实施例第一方面中任一项所述的数据防重校验方法。
附图说明
45.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
46.图1为本技术实施例提供的一种数据防重校验方法的流程示意图;
47.图2为本技术实施例提供的另一种数据防重校验方法的流程示意图;
48.图3为本技术实施例提供的一种数据防重校验装置的结构示意图;
49.图4为本技术实施例提供的另一种数据防重校验装置的结构示意图。
具体实施方式
50.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
51.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
52.实施例1
53.请参看图1,图1为本技术实施例提供了一种数据防重校验方法的流程示意图。其中,该数据防重校验方法包括:
54.s101、构建用于数据防重校验的防重表。
55.s102、获取待查重数据。
56.s103、根据预设的防重算法计算待查重数据的防重值。
57.s104、判断防重值是否能够插入防重表,若是,则执行步骤s105;若否,则结束本流程。
58.s105、确定待查重数据通过防重验证。
59.目前,传统编程中使用数据库方式中的唯一索引进行防重处理,以数据库表中某列或某几列(例如身份证号列,订单编号列等)增加唯一索引,防止数据重复。这种方式有局限性。例如,同一客户同一天只能购买同一产品一次,那订单的货物表中,传统方式,需作如下处理:
60.对订单号,产品id,建立唯一索引,限制客户订单中同一产品只出现一次;
61.对日期,客户号,产品id,建立唯一索引,限制客户同一天同一产品只出现一次。
62.由此可见,从以上例子可以看出,以传统数据库唯一索引的限制方式,同时限制多个条件的话,需要建多个索引,但多个索引,是会影响数据库读写性能,这种传统的方式不够灵活,而且充满局限性。
63.然而,该方法能够利用分拆独立防重表、单一唯一索引和策略模式的编程方法,解决上述的传统数据库防重方索中的扩展性,灵活性问题,并以此来提升数据库读写性能。
64.本实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
65.在本实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。
66.可见,实施本实施例所描述的数据防重校验方法,能够利用策略模式的编程方式,解决防重编程中的扩展性,灵活性问题;其中,由于策略是动态的,不同情况防重使用策略都可以不同。同时,对于多个防重条件的场景,该方法还能够以单一唯一索引完成数据防重,从而使得数据库表中只需要一个唯一索引,不再需要多个索引,进而能够避免影响数据表的读写性能。
67.实施例2
68.请参看图2,图2为本技术实施例提供了一种数据防重校验方法的流程示意图。其中,该数据防重校验方法包括:
69.s201、定义防重表,并设定防重表的通用列;其中,防重表的类型为文字类型。
70.s202、将防重表设为唯一索引。
71.本实施例中,该方法可以首先定义一张独立的防重表,并设定一类型为文字的通用列,同时将其设置为唯一索引。
72.s203、获取待查重数据。
73.s204、根据待查重数据获取数据唯一标识信息;其中,数据唯一标识信息包括客户号、订单号、产品标识号以及日期。
74.s205、从唯一标识信息中选取多个字符标识进行字符并接,得到第一防重校验码。
75.s206、从唯一标识信息中选取多个与第一防重校验码不相同的字符标识进行字符并接处理,得到第二防重校验码。
76.s207、根据预设的防重算法和第一防重校验码计算第一防重值,以及根据防重算法和第二防重校验码计算第二防重值。
77.s208、汇总第一防重值和第二防重值得到防重值。
78.s209、判断第一防重校验码和第二防重校验码是否都能够插入防重表,若是,则执行步骤s210;若否,则结束本流程。
79.s210、确定待查重数据通过防重验证。
80.本实施例中,该方法可以预先定义策略接口。其中,gencheckkey为计算防重值方法,参数commondto为通用数据dto,getname方法则返回策略服务名。
81.该防重值的计算代码举例如下:
[0082][0083][0084]
在本实施例中,该方法可以根据需要再实现genkeyservice接口,实现gencheckkey时,根据需要,以字符串方式并接返回防重值。如
[0085]
[0086][0087]
在本实施例中,该方法还可以通过spring功能,于容器启动时组成工厂,让业务逻辑应用时,能根据name去获取计算防重值服务,具体代码可以如下:
[0088]
[0089][0090]
在本实施例中,该方法在写入数据库时,可以根据需要计算防重值key,如以下例子,以客户号加上订单号作防重,防止同一客户在同一订单中重复出现。其中,举例代码如下:
[0091]
[0092][0093]
在本实施例中,该方法在此时可以把计算好的key写进数据库中的通用防重唯一索引列,但先不提交。然后,再按防重业务逻辑需要,重复根据需要计算防重值和把计算好的key写进数据库中的通用防重唯一索引列这两个步骤,直至防重场景都处理完成时再一次性进行提交。其中,第一次以订单号并接产品id,计算出key值写入;第二次以日期,客户号,产品id作并接计算出key值写入。
[0094]
在本实施例中,如上述步骤能够成功实现,此时认为提交成功,即通过数据防重校验。
[0095]
本实施例中,该方法的整体思路为:利用于数据库中分析独立防重用表,设定一通用列,类型为文字,设为唯一索引,透过动态策略模式,根据所需防重需要,计算防重值,把计算结果写入该列,如能插入提交成功,则表示通过防重验证;反之,则数据为重复。
[0096]
本实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
[0097]
在本实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。
[0098]
可见,实施本实施例所描述的数据防重校验方法,能够利用策略模式的编程方式,
解决防重编程中的扩展性,灵活性问题;其中,由于策略是动态的,不同情况防重使用策略都可以不同。同时,对于多个防重条件的场景,该方法还能够以单一唯一索引完成数据防重,从而使得数据库表中只需要一个唯一索引,不再需要多个索引,进而能够避免影响数据表的读写性能。
[0099]
实施例3
[0100]
请参看图3,图3为本技术实施例提供的一种数据防重校验装置的结构示意图。如图3所示,该数据防重校验装置包括:
[0101]
构建单元310,用于构建用于数据防重校验的防重表;
[0102]
获取单元320,用于获取待查重数据;
[0103]
计算单元330,用于根据预设的防重算法计算待查重数据的防重值;
[0104]
判断单元340,用于判断防重值是否能够插入防重表;
[0105]
确定单元350,当判断出防重值能够插入防重表时,确定待查重数据通过防重验证。
[0106]
本实施例中,对于数据防重校验装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
[0107]
可见,实施本实施例所描述的数据防重校验装置,能够利用策略模式的编程方式,解决防重编程中的扩展性,灵活性问题;其中,由于策略是动态的,不同情况防重使用策略都可以不同。同时,对于多个防重条件的场景,该方法还能够以单一唯一索引完成数据防重,从而使得数据库表中只需要一个唯一索引,不再需要多个索引,进而能够避免影响数据表的读写性能。
[0108]
实施例4
[0109]
请参看图4,图4为本技术实施例提供的一种数据防重校验装置的结构示意图。如图4所示,该数据防重校验装置包括:
[0110]
构建单元310,用于构建用于数据防重校验的防重表;
[0111]
获取单元320,用于获取待查重数据;
[0112]
计算单元330,用于根据预设的防重算法计算待查重数据的防重值;
[0113]
判断单元340,用于判断防重值是否能够插入防重表;
[0114]
确定单元350,当判断出防重值能够插入防重表时,确定待查重数据通过防重验证。
[0115]
作为一种可选的实施方式,构建单元310,具体用于定义防重表,并设定防重表的通用列;其中,防重表的类型为文字;并将防重表设为唯一索引。
[0116]
作为一种可选的实施方式,计算单元330包括:
[0117]
第一获取子单元331,用于根据待查重数据获取数据唯一标识信息;其中,数据唯一标识信息包括客户号、订单号、产品标识号以及日期;
[0118]
第二获取子单元332,用于根据唯一标识信息获取第一防重校验码和第二防重校验码;
[0119]
计算子单元333,用于根据预设的防重算法和第一防重校验码计算第一防重值,以及根据防重算法和第二防重校验码计算第二防重值;
[0120]
汇总子单元334,用于汇总第一防重值和第二防重值得到防重值。
[0121]
作为一种可选的实施方式,第二获取子单元332包括:
[0122]
第一题并接模块,用于从唯一标识信息中选取多个字符标识进行字符并接,得到第一防重校验码;
[0123]
第二并接模块,用于从唯一标识信息中选取多个与第一防重校验码不相同的字符标识进行字符并接处理,得到第二防重校验码。
[0124]
作为一种可选的实施方式,判断单元340具体用于判断第一防重校验码和第二防重校验码是否都能够插入防重表;
[0125]
确定单元350具体用于当第一防重校验码和第二防重校验码都能够插入防重表时,确定待查重数据通过防重验证。
[0126]
本实施例中,对于数据防重校验装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
[0127]
可见,实施本实施例所描述的数据防重校验装置,能够利用策略模式的编程方式,解决防重编程中的扩展性,灵活性问题;其中,由于策略是动态的,不同情况防重使用策略都可以不同。同时,对于多个防重条件的场景,该方法还能够以单一唯一索引完成数据防重,从而使得数据库表中只需要一个唯一索引,不再需要多个索引,进而能够避免影响数据表的读写性能。
[0128]
本技术实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本技术实施例1或实施例2中的数据防重校验方法。
[0129]
本技术实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本技术实施例1或实施例2中的数据防重校验方法。
[0130]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0131]
另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0132]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而
前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0133]
以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0134]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
[0135]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

技术特征:


1.一种数据防重校验方法,其特征在于,包括:构建用于数据防重校验的防重表;获取待查重数据;根据预设的防重算法计算所述待查重数据的防重值;判断所述防重值是否能够插入所述防重表;如果是,则确定所述待查重数据通过防重验证。2.根据权利要求1所述的数据防重校验方法,其特征在于,所述构建用于数据防重校验的防重表,包括:定义防重表,并设定所述防重表的通用列;其中,所述防重表的类型为文字;将所述防重表设为唯一索引。3.根据权利要求1所述的数据防重校验方法,其特征在于,所述根据预设的防重算法计算所述待查重数据的防重值,包括:根据所述待查重数据获取数据唯一标识信息;其中,所述数据唯一标识信息包括客户号、订单号、产品标识号以及日期;根据所述唯一标识信息获取第一防重校验码和第二防重校验码;根据预设的防重算法和所述第一防重校验码计算第一防重值,以及根据所述防重算法和所述第二防重校验码计算第二防重值;汇总所述第一防重值和所述第二防重值得到防重值。4.根据权利要求3所述的数据防重校验方法,其特征在于,所述根据所述唯一标识信息获取第一防重校验码和第二防重校验码,包括:从所述唯一标识信息中选取多个字符标识进行字符并接,得到第一防重校验码;从所述唯一标识信息中选取多个与所述第一防重校验码不相同的字符标识进行字符并接处理,得到第二防重校验码。5.根据权利要求3所述的数据防重校验方法,其特征在于,所述判断所述防重值是否能够插入所述防重表,包括:判断所述第一防重校验码和所述第二防重校验码是否都能够插入所述防重表;如果所述第一防重校验码和所述第二防重校验码都能够插入所述防重表时,则执行所述的确定所述待查重数据通过防重验证。6.一种数据防重校验装置,其特征在于,所述数据防重校验装置包括:构建单元,用于构建用于数据防重校验的防重表;获取单元,用于获取待查重数据;计算单元,用于根据预设的防重算法计算所述待查重数据的防重值;判断单元,用于判断所述防重值是否能够插入所述防重表;确定单元,当判断出所述防重值能够插入所述防重表时,确定所述待查重数据通过防重验证。7.根据权利要求6所述的数据防重校验装置,其特征在于,所述构建单元,具体用于定义防重表,并设定所述防重表的通用列;其中,所述防重表的类型为文字;并将所述防重表设为唯一索引。8.根据权利要求6所述的数据防重校验装置,其特征在于,所述计算单元包括:
第一获取子单元,用于根据所述待查重数据获取数据唯一标识信息;其中,所述数据唯一标识信息包括客户号、订单号、产品标识号以及日期;第二获取子单元,用于根据所述唯一标识信息获取第一防重校验码和第二防重校验码;计算子单元,用于根据预设的防重算法和所述第一防重校验码计算第一防重值,以及根据所述防重算法和所述第二防重校验码计算第二防重值;汇总子单元,用于汇总所述第一防重值和所述第二防重值得到防重值。9.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行权利要求1至5中任一项所述的数据防重校验方法。10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至5任一项所述的数据防重校验方法。

技术总结


本申请提供一种数据防重校验方法及装置,该方法包括:构建用于数据防重校验的防重表;获取待查重数据;根据预设的防重算法计算待查重数据的防重值;判断防重值是否能够插入防重表;如果是,则确定待查重数据通过防重验证。可见,该方法能够解决现有防重方法中的扩展性,灵活性问题,从而有利于提升数据库读写性能。从而有利于提升数据库读写性能。从而有利于提升数据库读写性能。


技术研发人员:

卢衍佑

受保护的技术使用者:

平安银行股份有限公司

技术研发日:

2022.09.20

技术公布日:

2022/12/19


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-55038-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2022-12-21 21:23:04

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论