数据核验方法、装置、设备及介质与流程

文档序号:28532032发布日期:2022-01-19 13:20阅读:159来源:国知局
数据核验方法、装置、设备及介质与流程

1.本公开涉及数据处理技术领域,更为具体来说,本公开涉及数据核验方法、装置、设备及介质。


背景技术:

2.现如今随着互联网的蓬勃发展,越来越多的支付场景随之产生。作为第三方支付公司为了能够给用户提供更加便捷的支付服务,各种支付方式应运而生。相应的支付系统也需要建立更多更复杂的支付模型来应对。然而用户的一次支付其实是一个很复杂的数据交互流程,会伴随着多次信息流和资金流的数据变化,并且系统上的一个小bug就可能给用户和公司带来资金上的损失。为了解决上述问题,现有技术比如qa加强对支付环节的数据测试,建立交易系统、银行渠道等前置书系统、账务系统之间的数据对账,然而这些方法要么耗费较大的时间成本和人力成本要么就是有很大的后置缺点。所以建立一个公共的、稳定的、实时的数据核验防范措施是非常必要的。


技术实现要素:

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.1)保证支付账务本身的一个资金平衡
33.2)使用复试记账和借贷方向相反的账户能够进行发生额的核销的原理来做到资金短款的查找
34.3)支持配置查找和灵活查找两种方式进行简易快速匹配出出金凭证
35.4)符合多种支付场景的,通用(满足一次入金多次出金、一次核销多个中间账户凭证)、简易配置(灵活查找其实只需要区分当前是不是第一笔记账)、极速校验(整个过程中缓存不失效的情况下可以不依赖db)资金平衡的实时拦截短款交易的解决方案。
附图说明
36.图1示出了本公开的实施例1的方法的流程示意图;
37.图2示出了本公开的实施例2的装置的结构示意图;
38.图3示出了本公开的实施例4的结构示意图。
具体实施方式
39.以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
40.在附图中示出了根据本公开实施例的各种结构示意图。这些图并非是按比例绘制
的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示的各种区域、层的形状以及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
41.随着越来越多的支付场景的产生,无论是在支付方式的数量还是在单种支付方式的复杂程度都大大增加,相应的更加复杂的信息流和资金流也就在支付系统中随之产生。另外由于现在的支付系统都是基于先进的微服务系统架构,虽然这在系统扩展性和基础服务模块的稳定性有很大的提升,但是多个子系统给我们带来更加复杂的子系统数据一致性的问题,而多个子系统就决定了不能使用现有的可靠的数据库事物来解决。所以解决资金短款问题,不仅要解决己方系统与外部系统的资金出入平衡问题,还需要处理己方中多个子系统的自身资金出入平衡的问题。对于这些问题现有的一些业务技术方案是通过建立对账系统,核对各个上下游己方子模块的业务订单,来事后的发现业务订单在各个系统中的诸如订单状态和金额的一致性问题。另外对于外部系统,可以通过渠道前置系统和银行测系统的核对来保障。显然这需要为每个业务模型都构建一个非常复杂的对账场景,且不能实时拦截会产生资损的交易指令。
42.本公开的目的是当出现各个子系统互相调用过程中资金流和信息流变化出错,产生资金主体不平衡的情况时,可以拦截当前记账指令从而实时拦截后续交易指令。
43.由于支付其实是为了完成不同资金主体之间的资金划转,比如充值其实就是卡资金扣成到支付现金户。由于涉及到多个子系统会产生两笔资金记账。
44.实施例一:
45.如图1所示:
46.本公开提供了一种数据核验方法,包括:
47.s101:确定当前订单中的数据是否需要进行数据核验,如不需要则结束流程,如需要则继续进行后续数据核验步骤;
48.s102:在进行数据核验前,对待核验数据进行归一化处理得到归一化后的数据;
49.s103:采用配置查找和灵活查找的方式对所述归一化后的数据进行核验得到核验后的数据;
50.s104:判断所述核验后的数据是否符合标准,若符合则结束流程,若不符合则递归逆序查找出一新的所述归一化后的数据重新进行数据核验的步骤流程。
51.其中,所述标准为:
52.(订单的数据中的已出金金额+当前需出金金额)《=该笔订单的数据的记账的凭证金额。
53.进一步,所述确定当前订单中的数据是否需要进行数据核验具体包括:
54.若当前订单中的数据唯一,则不许进行数据核验;
55.若当前订单中的数据不唯一,则对第一笔数据不进行数据核验,对其他数据进行数据核验。
56.进一步,所述归一化处理具体包括:
57.对订单数中的数据进行统一全局订单号处理;
58.其中,一个订单的数据在其周期里,所有的记账需要有相同的记账凭证号。
59.进一步,所述配置查找的过程具体包括:
60.查找当前待匹配的前一种满足条件的记账数据类型的记账订单的数据。
61.进一步,所述灵活查找的过程具体包括:
62.对所有待记账的订单数据做排序,逆序从后往前查找直到匹配到一笔订单中的数据满足预设查找规则的订单数据。
63.进一步,所述预设查找规则具体包括:
64.查找到符合借贷平衡的记账数据或者分录式记账的数据。
65.进一步,所述确定当前订单中的数据是否需要进行数据核验之前,所述方法还包括:
66.对待核验的订单中的数据进行数据模型抽象处理。
67.下面结合一个具体实例详解本公开的技术方案:
68.1)在系统中配置按照记账类型进行系统权限以及记账的分类:
69.①
只有一笔记账订单不校验
70.②
第一笔记账订单不校验,只产生记账凭证。
71.③
需要进行资金凭证足额全流程校验
72.2)统一全局订单号:
73.需要由负责支付处理的第一个系统生成,然后传递给下游处理系统,往后在该订单的生命周期里各个系统都携带该订单号进行记账。
74.3)第三步中有另种查找方式,配置查找和灵活查找。配置查找:为需要出金校验的记账分录配置其前置入金分录,此方法通俗易懂但配置复杂。灵活查找:需要对记账订单进行打标记,标记记账订单的记账先后顺序。这里使用了redis的原子计数器。另外为了解决上游并发向下游记账的情况下无法准确控制额度的问题,使用redis提供setnx构建分布式锁,并提供自旋锁特性,以提供更强的性能。对于排序,本发明在缓存未失效的情况下,将记账凭证使用zset的数据类型在redis中,竟利用了redis的强大缓存功能,又能利用其天生的排序功能。所以整个校验过程都是在缓存中进行,达到极速校验的效果。该步骤只负责查找一笔满足当前出金记账的入金记账凭证,不考虑金额是否足额。
75.4)在第四步中需要检查第三步骤中查找到的入金凭证进行金额是否足额的校验。这里需要考虑已经出金成功的和还在处理中的出金记账。
76.5)最后一步时记账后的处理操作,对已经记账的记账数据进行缓存。从而达到整个过程中尽量不用db操作。
77.实施例二:
78.如图2所示,
79.本公开还能够提供一种数据核验装置,包括:
80.第一判断模块201,用于确定当前订单中的数据是否需要进行数据核验,如不需要则结束流程,如需要则继续进行后续数据核验步骤;
81.数据归一化模块202,用于在进行数据核验前,对待核验数据进行归一化处理得到归一化后的数据;
82.数据核验模块203,用于采用配置查找和灵活查找的方式对所述归一化后的数据进行核验得到核验后的数据;
83.第二判断模块204,用于判断所述核验后的数据是否符合标准,若符合则结束流程,若不符合则递归逆序查找出一新的所述归一化后的数据重新进行数据核验的步骤流程。
84.其中,所述的第一判断模块201依次与所述数据归一化模块202、所述数据核验模块203以及所述第二判断模块204相连接。
85.实施例三:
86.本公开还能够提供一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时用于实现上述的数据核验方法的步骤。
87.本公开的计算机存储介质可以采用半导体存储器、磁芯存储器、磁鼓存储器或磁盘存储器实现。
88.半导体存储器,主要用于计算机的半导体存储元件主要有mos和双极型两种。mos元件集成度高、工艺简单但速度较慢。双极型元件工艺复杂、功耗大、集成度低但速度快。nmos和cmos问世后,使mos存储器在半导体存储器中开始占主要地位。nmos速度快,如英特尔公司的1k位静态随机存储器的存取时间为45ns。而cmos耗电省,4k位的cmos静态存储器存取时间为300ns。上述半导体存储器都是随机存取存储器(ram),即在工作过程中可随机进行读出和写入新内容。而半导体只读存储器(rom)在工作过程中可随机读出但不能写入,它用来存放已固化好的程序和数据。rom又分为不可改写的熔断丝式只读存储器
──
prom和可改写的只读存储器eprom两种。
89.磁芯存储器,具有成本低,可靠性高的特点,且有20多年的实际使用经验。70年代中期以前广泛使用磁芯存储器作为主存储器。其存储容量可达10位以上,存取时间最快为300ns。国际上典型的磁芯存储器容量为4ms~8mb,存取周期为1.0~1.5μs。在半导体存储快速发展取代磁芯存储器作为主存储器的位置之后,磁芯存储器仍然可以作为大容量扩充存储器而得到应用。
90.磁鼓存储器,一种磁记录的外存储器。由于其信息存取速度快,工作稳定可靠,虽然其容量较小,正逐渐被磁盘存储器所取代,但仍被用作实时过程控制计算机和中、大型计算机的外存储器。为了适应小型和微型计算机的需要,出现了超小型磁鼓,其体积小、重量轻、可靠性高、使用方便。
91.磁盘存储器,一种磁记录的外存储器。它兼有磁鼓和磁带存储器的优点,即其存储容量较磁鼓容量大,而存取速度则较磁带存储器快,又可脱机贮存,因此在各种计算机系统中磁盘被广泛用作大容量的外存储器。磁盘一般分为硬磁盘和软磁盘存储器两大类。
92.硬磁盘存储器的品种很多。从结构上,分可换式和固定式两种。可换式磁盘盘片可调换,固定式磁盘盘片是固定的。可换式和固定式磁盘都有多片组合和单片结构两种,又都可分为固定磁头型和活动磁头型。固定磁头型磁盘的容量较小,记录密度低存取速度高,但造价高。活动磁头型磁盘记录密度高(可达1000~6250位/英寸),因而容量大,但存取速度相对固定磁头磁盘低。磁盘产品的存储容量可达几百兆字节,位密度为每英寸6250位,道密度为每英寸475道。其中多片可换磁盘存储器由于盘组可以更换,具有很大的脱体容量,而且容量大,速度高,可存储大容量情报资料,在联机情报检索系统、数据库管理系统中得到广泛应用。
93.实施例四:
94.本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的数据核验方法的步骤。
95.图3为一个实施例中电子设备的内部结构示意图。如图3所示,该电子设备包括通过系统总线连接的处理器、存储介质、存储器和网络接口。其中,该计算机设备的存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种数据核验方法。该电设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种数据核验方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
96.该电子设备包括但不限于智能电话、计算机、平板电脑、可穿戴智能设备、人工智能设备、移动电源等。
97.所述处理器在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器内的程序或者模块(例如执行远端数据读写程序等),以及调用存储在所述存储器内的数据,以执行电子设备的各种功能和处理数据。
98.所述总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器以及至少一个处理器等之间的连接通信。
99.图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
100.例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
101.进一步地,所述电子设备还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
102.可选地,该电子设备还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可
选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
103.进一步地,所述计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
104.在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
105.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
106.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
107.以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。本公开的范围由所附权利要求及其等价物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1