一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

确定重复交易记录的方法、装置、设备及存储介质与流程

2022-07-10 15:48:11 来源:中国专利 TAG:


1.本公开涉及计算机领域,尤其涉及一种确定重复交易记录的方法、装置、设备及存储介质。


背景技术:

2.当前,资金数据来源于各银行机构和第三方支付平台,因此在资金数据中可能存在同一笔交易的两次交易记录,即出账记录和入账记录。由于两次交易记录针对同一笔交易,因此,出账记录(或入账记录)可以认为是入账记录(或出账记录)的重复交易记录。
3.当对资金数据进行分析时,由于大量的重复交易记录的出现,会使得资金数据分析过程,存在大量重复的运算,因此,识别资金数据中存在的重复交易记录,成为本领域人员亟待解决的问题。


技术实现要素:

4.本公开提供了一种确定重复交易记录的方法、装置、设备及存储介质,用以识别资金数据中存在的重复交易记录。
5.第一方面、提供一种确定重复交易记录的方法,包括:
6.获取第一出账记录中的对方账号、以及与所述对方账号对应的n条入账记录;
7.从所述n条入账记录中,查找与所述第一出账记录匹配的目标入账记录,所述目标入账记录中的目标入账时间与所述第一出账记录中的出账时间的时间偏差,不大于第一预设值;
8.将所述目标入账记录,确定为与所述第一出账记录对应的重复交易记录。
9.可选地,从所述n条入账记录中,查找与所述第一出账记录匹配的目标入账记录,包括:
10.从所述n条入账记录中,筛选m条入账记录,所述m条入账记录的每条入账记录的入账时间,与所述出账时间的时间偏差均不大于第二预设值,所述第二预设值大于所述第一预设值;
11.从所述m条入账记录中查找所述目标入账记录。
12.可选地,从所述n条入账记录中,筛选m条入账记录,包括:
13.按照入账时间升序的原则,对所述n条入账记录进行排序,得到排序后的第一入账记录集合;
14.从所述第一入账记录集合中,获取所述m条入账记录。
15.可选地,所述n条入账记录中包括入账时间相同的至少两条入账记录;
16.按照入账时间升序的原则,对所述n条入账记录进行排序,得到排序后的第一入账记录集合,包括:
17.获取所述至少两条入账记录的余额;
18.按照余额升序的原则,对所述至少两条入账记录进行排序,得到排序后的第二入
账记录集合;
19.利用所述至少两条入账记录的入账时间、以及剩余入账记录的入账时间,对所述第二入账记录集合和所述剩余入账记录进行排序,得到所述第一入账记录集合;
20.其中,所述剩余入账记录为,所述n条入账记录中除所述至少两条入账记录之外的入账记录。
21.可选地,获取第一出账记录中的对方账号之前,还包括:
22.获取与所述第一出账记录对应的第一哈希值;
23.确定不存在与所述第一哈希值相同的第二哈希值,所述第二哈希值与第二出账记录对应。
24.可选地,获取与所述对方账号对应的n条入账记录之前,还包括:
25.获取所述n条入账记录中的每条入账记录的哈希值;
26.确定所述每条入账记录的哈希值互不相同。
27.可选地,将所述目标入账记录,确定为与所述第一出账记录对应的重复交易记录之后,还包括:
28.获取所述目标入账交易记录中的余额;
29.向所述第一出账记录中保存所述目标入账交易记录中的余额,并从所述n条交易记录中剔除所述目标入账记录。
30.第二方面、提供一种确定重复交易记录的装置,包括:
31.获取单元,用于获取第一出账记录中的对方账号、以及与所述对方账号对应的n条入账记录;
32.查找单元,用于从所述n条入账记录中,查找与所述第一出账记录匹配的目标入账记录,所述目标入账记录中的目标入账时间与所述第一出账记录中的出账时间的时间偏差,不大于第一预设值;
33.确定单元,用于将所述目标入账记录,确定为与所述第一出账记录对应的重复交易记录。
34.第三方面、提供一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
35.所述存储器,用于存储计算机程序;
36.所述处理器,用于执行所述存储器中所存储的程序,实现第一方面中任一项所述的方法。
37.第四方面、提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
38.本公开实施例提供的上述技术方案与现有技术相比具有如下优点:本公开实施例提供的技术方案中,从n条入账记录中匹配与第一出账记录对应的重复交易记录时,从n条入账记录中查找与第一出账记录的出账时间的时间偏差,不大于第一预设值的目标入账记录,并将目标入账记录作为第一出账记录的重复交易记录。可见,采用本公开的方案,能够识别资金数据中存在的重复交易记录。
附图说明
39.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
40.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
41.图1为本公开实施例中一种确定重复交易记录的方法的流程示意图;
42.图2为本公开实施例中又一种确定重复交易记录的方法的流程示意图;
43.图3为本公开实施例中又一种确定重复交易记录的方法的流程示意图;
44.图4为本公开实施例中又一种确定重复交易记录的方法的流程示意图;
45.图5为本公开实施例中又一种确定重复交易记录的方法的流程示意图;
46.图6为本公开实施例中又一种确定重复交易记录的方法的流程示意图;
47.图7为本公开实施例中确定重复交易记录的装置的结构示意图;
48.图8为本公开实施例中电子设备的结构示意图。
具体实施方式
49.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
50.本公开实施例提供一种确定重复交易记录的方法,如图1所示,该方法可以应用于任一电子设备中,该方法可以包括以下步骤:
51.步骤101、获取第一出账记录中的对方账号、以及与对方账号对应的n条入账记录。
52.本实施例中,可以预先从各银行机构或第三方支付平台获取待去重的交易记录,并对待去重的交易记录进行出入帐的标记。
53.示例性地,可以通过添加标识的方式标记交易记录为入账记录或出账记录。
54.示例性地,在对交易记录进行出入帐的标记时,可以根据交易记录中金额这一字段的取值实现。
55.例如,当交易记录中的金额的取值为正值时,可以将交易记录标记为入账记录;当交易记录中的金额的取值为负值时,可以将交易记录标记为出账记录。
56.可选地,第一出账记录为出账记录中的任一出账记录。
57.可选地,本实施例中,针对同一笔交易的出账记录和入账记录可以确定为重复交易记录。
58.可选地,本实施例中,待去重的交易记录中,任一条交易记录可以包括交易账号、对方账号、交易时间、余额、交易金额、以及备注等字段,其中交易时间包括出账时间或入账时间。
59.示例性地,当交易记录为出账记录时,交易账号为出账方的账号,对方账号为入账方的账号,出账时间为资金的转出时间,余额为出账方转出资金后剩余的金额,交易金额为转出的资金,备注为对转出资金的描述。
60.例如,出账记录可以如表一所示:
61.表一
62.交易账号对方账号出账时间余额交易金额备注ab
×

×

×

×

××
元业务f的尾款
63.基于上述交易记录中的字段,可选地,可以确定为重复交易记录的出账记录和入账记录可以包括以下两种情况:
64.第一种、交易帐号与交易对方帐号位置调换、余额不同、交易金额、备注、交易时间相同。
65.示例性地,定义重复交易记录为交易记录a和交易记录b,那么,交易账号与交易对方账号位置调换,可以为:
66.交易记录a中,交易账号为a,对方账号为b;
67.交易记录b中,交易账号为b,对方账号为a。
68.进一步,当交易记录a和交易记录b中的交易金额、备注以及交易时间均相同时,可以确定交易记录a和交易记录b为针对同一笔交易的交易记录。
69.第二种、交易帐号与交易对方帐号位置调换,交易时间、余额不同、交易金额、备注相同。
70.实际应用中,考虑到不同银行之间转账存在延时到账的情况,因此,当交易记录a和交易记录b中的交易时间不同时,如果交易记录a和交易记录b的交易时间的偏差不大于第一预设值时,也可以认为交易记录a和交易记录b为针对同一笔交易的交易记录。
71.示例性地,第一预设值可以认为设置,例如第一预设值可以为0.5h。
72.可选地,交易记录a和交易记录b的交易时间存在偏差时、但仍然为针对同一笔交易的交易记录时,交易记录a的交易时间和交易记录b的交易时间之间的关系可以为:
73.当交易记录a为出账记录、交易记录b为入账记录时,那么,交易记录b的入账时间-第一预设值≤交易记录a的出账时间≤交易记录b的入账时间;
74.当交易记录a为入账记录、交易记录b为出账记录时,那么,交易记录b的出账时间≤交易记录a的入账时间≤交易记录b的出账时间 第一预设值。
75.可选地,考虑到人为误操作的原因,各银行机构或第三方平台存在针对同一条交易记录可能存在重复发送的情况,因此获取的待去重的交易记录中可能存在完全相同的m条交易记录。
76.因此,当同一交易记录重复存在m次时,同一交易记录对应的m条交易记录中,任意两条交易记录互为重复交易记录。
77.基于上述交易记录中的字段,可选地,完全相同的两条交易记录可以为:
78.交易帐号、交易对方帐号、交易金额、交易余额、备注、交易时间完全相同。
79.进一步,为了从待去重交易记录中确定完全相同的交易记录,针对第一出账记录,请参见图2,可以包括以下步骤:
80.步骤201、获取与第一出账记录对应的第一哈希值;
81.其中,第一哈希值可以是对第一出账记录中的交易账号、交易对方账号、交易金额、交易余额、备注以及出账时间取哈希值得到。
82.步骤202、确定不存在与第一哈希值相同的第二哈希值,第二哈希值与第二出账记
录对应。
83.针对n条入账记录,请参见图3,可以包括以下步骤:
84.步骤301、获取n条入账记录中的每条入账记录的哈希值;
85.其中,每条入账记录的哈希值可以是对每条入账记录中的交易账号、交易对方账号、交易金额、交易余额、备注以及进账时间取哈希值得到。
86.步骤302、确定每条入账记录的哈希值互不相同。
87.需要说明的是,本实施例并不限定对待去重的交易记录进行出入账的标记、以及、依据哈希值从待去重的交易记录中确定完全相同的两条交易记录的先后执行顺序。
88.即,在上述描述的内容中虽然先对待去重的交易记录进行出入账的标记,然后再依据哈希值,从标记后的待去重的交易记录中确定完全相同的两条交易记录,但实际上,也可以先根据哈希值从待去重的交易记录中确定完全相同的m条交易记录,然后再除m条交易记录以外的其它交易记录进行出入账的标记。
89.步骤102、从n条入账记录中,查找与第一出账记录匹配的目标入账记录。
90.其中,目标入账记录中的目标入账时间与第一出账记录中的出账时间的时间偏差,不大于第一预设值。
91.可以理解的是,目标入账记录的备注、交易金额均与第一出账记录相同。
92.步骤103、将目标入账记录,确定为与第一出账记录对应的重复交易记录。
93.可以理解的是,第一出账记录和目标入账记录为针对同一笔交易的交易记录。
94.可选地,对于确定出的重复交易记录,本实施例提供以下两种处理方式:
95.其一、将目标入账记录存储至重复记录表中,以便使用;
96.第二、直接从n条入账记录中剔除目标入账记录。
97.可选地,由于目标入账记录与第一出账记录中的余额不同,因此为了不丢失数据,在剔除目标入账记录时,还可以获取目标入账交易记录中的余额,并向第一出账记录中保存目标入账交易记录中的余额。
98.本公开实施例提供的技术方案中,从n条入账记录中匹配与第一出账记录对应的重复交易记录时,从n条入账记录中查找与第一出账记录的出账时间的时间偏差,不大于第一预设值的目标入账记录,并将目标入账记录作为第一出账记录的重复交易记录。可见,采用本公开的方案,能够识别资金数据中存在的重复交易记录。
99.在本公开的又一实施例中,在前述步骤101至步骤103的实施例的基础上,如图4所示,步骤102可以包括步骤401至步骤402:
100.步骤401、从n条入账记录中,筛选m条入账记录;
101.m条入账记录的每条入账记录的入账时间,与出账时间的时间偏差均不大于第二预设值,第二预设值大于第一预设值。
102.可选地,第二预设值可以人为设定,如可以设为48h。
103.步骤402、从m条入账记录中查找目标入账记录。
104.本实施例,考虑到即使是跨行转账,互为重复交易记录的两条交易记录中的交易时间的偏差也不会超过48h,因此,为了降低计算量,本实施例先从n条入账记录筛选m条入账记录,然后,再从m条入账记录中查找目标入账记录。
105.在本公开的又一实施例中,在前述步骤401至步骤402的实施例的基础上,如图5所
示,步骤401可以包括步骤501至步骤502:
106.步骤501、按照入账时间升序的原则,对n条入账记录进行排序,得到排序后的第一入账记录集合;
107.步骤502、从第一入账记录集合中,获取m条入账记录。
108.本实施例中,由于是基于入账时间对n条入账记录进行筛选,因此,为了尽快筛选到m条入账记录,对n条入账记录按照入账时间升序的原则排序,从而实现快速从n条入账记录中筛选出m条入账记录。
109.在本公开的又一实施例中,对于同一银行的交易记录,由于不同的银行机构对交易时间记录的精度不同,因此,会出现至少两条交易记录的交易时间相同,但是至少两条交易记录的交易金额、备注等不同的情况。即对于不重复的至少两条交易记录的交易时间却有可能是相同的。
110.例如,至少两条交易记录可以包括交易记录a和交易记录b:
111.交易记录a可以参见表二:
112.表二
113.交易账号对方账号交易时间余额交易金额备注ab12月1日
×
元10业务p的尾款
114.交易记录b可以参见表三:
115.表三
116.交易账号对方账号交易时间余额交易金额备注ab12月1日
×
元20业务q的尾款
117.针对上述情况,如图6所示,步骤501可以包括步骤601至步骤603:
118.步骤601、获取至少两条入账记录的余额;
119.步骤602、按照余额升序的原则,对至少两条入账记录进行排序,得到排序后的第二入账记录集合;
120.本实施例,以余额代替交易时间对至少两条记录进行排序。
121.步骤603、利用至少两条入账记录的入账时间、以及剩余入账记录的入账时间,对第二入账记录集合和剩余入账记录进行排序,得到第一入账记录集合。
122.其中,剩余入账记录为,n条入账记录中除至少两条入账记录之外的入账记录。
123.基于上述实施例的实现,示例性地,本技术提供以下可选实现方式:
124.预先从各银行机构或第三方支付平台获取至少一条原始数据;
125.分别对于每条原始数据,提取原始数据的关键字段(即交易账号、对方账号、交易时间、余额、交易金额、以及备注),对关键字段组合得到组合字段,并计算组合字段的哈希值;
126.分别对于每条原始数据,添加原始数据的标识(即出账标识或入账标识);
127.将带有哈希值和添加有标识的原始数据,插入到临时表中。
128.当需要从至少一条原始数据中查找哈希值相同的重复数据时,可以使用数据库的inner join查询临时表内连接正式表。
129.假设原始数据a、b为哈希值相同的两条数据,可以采用以下数据库语法,查询得到a、b两条原始数据:
130.select*from a inner join b on a.eqhash=b.eqhash。
131.当需要从至少一条原始数据中查找交易帐号与交易对方帐号位置调换、余额不同、交易金额、备注、交易时间相同的两条数据时,可以按以下方式实现:
132.假设在假设原始数据a、b中满足:交易帐号与交易对方帐号位置调换、余额不同、交易金额、备注、交易时间相同;
133.那么在查询得到a、b两条原始数据时,可以采用的数据库语法为:
134.select*from a inner join b on a.本方帐号=b.对方帐号and a.对方帐号=b.本方帐号and a.交易金额=b.交易金额and a.备注=b.备注and a.交易时间=b.交易时间;
135.当需要从至少一条原始数据中查找交易帐号与交易对方帐号位置调换,交易时间、余额不相同、交易金额、备注相同的两条数据时,可以按以下方式实现:
136.假设在假设原始数据a、b中满足:交易帐号与交易对方帐号位置调换,交易时间、余额不相同、交易金额、备注相同;
137.那么在查询得到a、b两条原始数据时,可以采用的数据库语法为:
138.select*,b.余额as对方余额from a inner join b on a.本方帐号=b.对方帐号and a.对方帐号=b.本方帐号and a.交易金额=b.交易金额and a.备注=b.备注where a.出入账标识=出帐a.交易时间》b.交易时间and a.交易时间《=(b.交易时间 n)
139.union
140.select*,b.余额as对方余额from a inner join b on a.本方帐号=b.对方帐号and a.对方帐号=b.本方帐号and a.交易金额=b.交易金额and a.备注=b.备注where a.出入账标识=入帐a.交易时间《b.交易时间and a.交易时间》=(b.交易时间 n)。
141.上述过程完成了三种情况下重复数据的查询,把查询的结果数据插入到重复记录表。
142.通过临时表与重复记录表进行左连接,查询出重复记录表中不存在的原始数据,然后插入到正式表中完成数据去重处理。
143.基于同一构思,本公开实施例中提供了一种确定重复交易记录的装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图7所示,该装置主要包括:
144.获取单元701,用于获取第一出账记录中的对方账号、以及与对方账号对应的n条入账记录;
145.查找单元702,用于从n条入账记录中,查找与第一出账记录匹配的目标入账记录,目标入账记录中的目标入账时间与第一出账记录中的出账时间的时间偏差,不大于第一预设值;
146.确定单元703,用于将目标入账记录,确定为与第一出账记录对应的重复交易记录。
147.基于同一构思,本公开实施例中还提供了一种电子设备,如图8所示,该电子设备主要包括:处理器801、通信接口802、存储器803和通信总线804,其中,处理器801、通信接口802和存储器803通过通信总线804完成相互间的通信。其中,存储器803中存储有可被至处理器801执行的程序,处理器801执行存储器803中存储的程序,实现如下步骤:
148.获取第一出账记录中的对方账号、以及与对方账号对应的n条入账记录;
149.从n条入账记录中,查找与第一出账记录匹配的目标入账记录,目标入账记录中的目标入账时间与第一出账记录中的出账时间的时间偏差,不大于第一预设值;
150.将目标入账记录,确定为与第一出账记录对应的重复交易记录。
151.上述电子设备中提到的通信总线804可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线804可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
152.通信接口802用于上述电子设备与其他设备之间的通信。
153.存储器803可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器801的存储装置。
154.上述的处理器801可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等,还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
155.在本公开的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述的确定重复交易记录的方法。
156.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本公开实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如dvd)或者半导体介质(例如固态硬盘)等。
157.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
158.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发
明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献