一种数据对比方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:26223823 阅读:26 留言:0更新日期:2020-11-04 10:56
本发明专利技术公开了一种数据对比方法、装置、设备及计算机可读存储介质,涉及数据处理技术领域,以降低对账过程中对内存的消耗。该方法包括:获取第一支付系统的第一支付数据;将所述第一支付数据的数据特征分别加载到所述第一支付系统的布隆过滤器或者Set集合中;获取第二支付系统的第二支付数据;将所述第二支付数据的数据特征依次和所述Set集合、所述布隆过滤器进行比较,得到数据对比结果。本发明专利技术实施例可降低对账过程中对内存的消耗。

【技术实现步骤摘要】
一种数据对比方法、装置、设备及计算机可读存储介质
本专利技术涉及数据处理
,尤其涉及一种数据对比方法、装置、设备及计算机可读存储介质。
技术介绍
随着消费金融的迅猛发展,支付业务是消费金融公司的基础保障,其交易流水与第三方支付渠道的一致性是尤为重要。在消费金融公司的支付系统中,每天都需要与第三方支付渠道进行流水的对账,以保障每笔交易的一致性。一般的支付流水对账流程,是将支付系统中的所有支付流水加载到内存中,再获取第三方渠道的支付流水,并逐一对比。然后,再将第三方渠道的所有支付流水加载到内存中,再获取支付系统的支付流水,并逐一对比。在这种对账模式中,需要将一方所有的支付流水加载到内存中,对内存的消耗比较大。
技术实现思路
本专利技术实施例提供一种数据对比方法、装置、设备及计算机可读存储介质,以降低对账过程中对内存的消耗。第一方面,本专利技术实施例提供了一种数据对比方法,包括:获取第一支付系统的第一支付数据;将所述第一支付数据的数据特征分别加载到所述第一支付系统的布隆过滤器或者Set集合中;获取第二支付系统的第二支付数据;将所述第二支付数据的数据特征依次和所述Set集合、所述布隆过滤器进行比较,得到数据对比结果。第二方面,本专利技术实施例还提供一种数据对比装置,包括:第一获取模块,用于获取第一支付系统的第一支付数据;加载模块,用于将所述第一支付数据的数据特征分别加载到所述第一支付系统的布隆过滤器或者Set集合中;r>第二获取模块,用于获取第二支付系统的第二支付数据;对比模块,用于将所述第二支付数据的数据特征依次和所述Set集合、所述布隆过滤器进行比较,得到数据对比结果。第三方面,本专利技术实施例还提供一种数据对比设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如上所述的第一方面的数据对比方法中的步骤。第四方面,本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的第一方面的数据对比方法中的步骤。在本专利技术实施例中,将第一支付系统的第一支付数据的数据特征分别加载到第一支付系统的布隆过滤器或者Set集合中,然后,将第二支付系统的第二支付数据的数据特征分别和布隆过滤器或者Set集合进行比较,从而得到数据对比结果。由于内存中存储的是支付数据的数据特征,其大小远小于支付数据本身,因此,利用本专利技术实施例的方案,减少了对内存的占用,从而降低了对账过程中对内存的消耗。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的数据对比方法的流程图之一;图2是本专利技术实施例中步骤104的过程示意图;图3是本专利技术实施例中生成第一支付系统的布隆过滤器的过程示意图;图4是本专利技术实施例中将第一支付系统的支付数据加载到内存的过程示意图;图5是本专利技术实施例提供的数据对比方法的流程图之二;图6是本专利技术实施例提供的数据对比装置的结构图;图7是本专利技术实施例提供的数据对比设备的结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,图1是本专利技术实施例提供的数据对比方法的流程图,如图1所示,包括以下步骤:步骤101、获取第一支付系统的第一支付数据。其中,第一支付系统可以是消费金融公司的支付系统,下文的第二支付系统可以是第三方渠道的支付系统;或者,第一支付系统可以是第三方渠道的支付系统,下文的第二支付系统可以是消费金融公司的支付系统。或者,第一支付系统和第二支付系统还可以是其他需要进行对账处理的支付系统。所述第一支付数据指的是第一支付系统中需要对账的数据,可以是一笔或者多笔。每个支付数据都具有各自的组成字段,包括流水号字段和交易信息字段等,其中,交易信息字段可包括交易类型字段、交易金额字段、交易状态字段等等。步骤102、将所述第一支付数据的数据特征分别加载到所述第一支付系统的布隆过滤器或者Set集合中。在本专利技术实施例中,“数据特征”包括由支付数据的组成字段拼接形成的字符串,或者,还可以是其他可以代表支付数据本身的真正含义的信息。以下对布隆过滤器和Set集合做一简要介绍。布隆过滤器(BloomFilter)可以用于检索一个元素是否在一个集合中。当一个元素被加入集合时,通过K个哈希函数将这个元素映射成比特(bit)数组中的K个点,把K个点设置为1。检索时,对于某个被检元素,通过确定这些点是否都为1,就可大约确定集合中有没有这个元素。如果这些点有任何一个为0,则被检元素一定不在这个集合中。Set集合是一种用java语言实现的数据结构,注重数据的独特性,所以该集合中不会存储重复的元素。通过搜索该集合,即可确定某元素是否已经存在于集合中。利用以上两种工具的特点,在本专利技术实施例中,可按照如下方式将所述第一支付数据的数据特征分别加载到所述第一支付系统的布隆过滤器或者Set集合中:(1)将所述第一支付数据的组成字段拼接形成第一字符串,其中,所述组成字段包括流水号字段和交易信息字段,其中,交易信息字段可包括交易类型字段、交易金额字段、交易状态字段等等。(2)确定所述第一字符串是否位于所述布隆过滤器中。具体的,在此步骤中,将所述第一字符串通过至少一个哈希函数映射到位数组的至少一个第一目标位置上,所述至少一个哈希函数和所述位数组分别是所述第一支付系统生成所述布隆过滤器时所使用的哈希函数和位数组。所述第一目标位置的为至少一个。然后,判断所述第一目标位置的值是否全部为1。若所述第一目标位置的值不全部为1(也即至少有一个目标位置为0),则确定所述第一字符串未位于所述布隆过滤器中。(3)在所述第一字符串未位于所述布隆过滤器中的情况下,将所述第一字符串加载到所述布隆过滤器中。否则,将所述第一字符串加载到所述Set集合中。在以上的过程中,如果所述第一目标位置的值全部为1,也不能够确定第一字符串一定位于布隆过滤器中,也就是该第一字符串可能位于布隆过滤器中。对于这种情况,将其存储到Set集合中。通过以上数据加载方法,可保证第一支付数据的每个数据都被进行比较,从而保证了数据对比的效果。步骤103、获取第二支付系统的第二支付数据。例如,第一支付系统可向第二支付系统发送请求,以获取第二支付系统的第二支付数据。第二支付数据可以是本文档来自技高网...

【技术保护点】
1.一种数据对比方法,其特征在于,包括:/n获取第一支付系统的第一支付数据;/n将所述第一支付数据的数据特征分别加载到所述第一支付系统的布隆过滤器或者Set集合中;/n获取第二支付系统的第二支付数据;/n将所述第二支付数据的数据特征依次和所述Set集合、所述布隆过滤器进行比较,得到数据对比结果。/n

【技术特征摘要】
1.一种数据对比方法,其特征在于,包括:
获取第一支付系统的第一支付数据;
将所述第一支付数据的数据特征分别加载到所述第一支付系统的布隆过滤器或者Set集合中;
获取第二支付系统的第二支付数据;
将所述第二支付数据的数据特征依次和所述Set集合、所述布隆过滤器进行比较,得到数据对比结果。


2.根据权利要求1所述的方法,其特征在于,所述将所述第一支付数据的数据特征分别加载到所述第一支付系统的布隆过滤器或者Set集合中,包括:
将所述第一支付数据的组成字段拼接形成第一字符串,其中,所述组成字段包括流水号字段和交易信息字段;
确定所述第一字符串是否位于所述布隆过滤器中;
在所述第一字符串未位于所述布隆过滤器中的情况下,将所述第一字符串加载到所述布隆过滤器中;否则,将所述第一字符串加载到所述Set集合中。


3.根据权利要求2所述的方法,其特征在于,所述确定所述第一字符串是否位于所述布隆过滤器中,包括:
将所述第一字符串通过至少一个哈希函数映射到位数组的至少一个第一目标位置上,所述至少一个哈希函数和所述位数组分别是所述第一支付系统生成所述布隆过滤器时所使用的哈希函数和位数组;
判断所述第一目标位置的值是否全部为1;
若所述第一目标位置的值不全部为1,则确定所述第一字符串未位于所述布隆过滤器中。


4.根据权利要求1所述的方法,其特征在于,所述将所述第二支付数据的数据特征依次和所述Set集合、所述布隆过滤器进行比较,得到数据对比结果,包括:
将所述第二支付数据的组成字段拼接形成第二字符串,其中,所述组成字段包括流水号字段和交易信息字段;
确定所述第二字符串是否位于所述Set集合中;
在所述第二字符串位于所述Set集合中的情况下,确定所述第一支付系统中具有与所述第二支付数据相同的支付数据;
在所述第二字符串未位于所述Set集合中的情况下,确定所述第二字符串是否位于所述布隆过滤器中;
在所述第二字符串未位于所述布隆过滤器中的情况下,确定所述第二支付数据为差异数据;在所述第二字符串位于所述布隆过滤器中的情况下,确定所述第一支付系统中具有与所述第二支付数据相同的支付数...

【专利技术属性】
技术研发人员:陈希杨峰余万水
申请(专利权)人:马上消费金融股份有限公司
类型:发明
国别省市:重庆;50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1