掌桥专利:专业的专利平台
掌桥专利
首页

分类双向对账方法、系统、设备、存储介质及程序产品

文献发布时间:2024-04-18 19:59:31


分类双向对账方法、系统、设备、存储介质及程序产品

技术领域

本申请实施例涉及计算机技术领域,尤其涉及一种分类双向对账方法、系统、设备、存储介质及程序产品。

背景技术

为了保证程序服务产生的操作记录的正确性,会对程序服务产生的操作记录进行对账操作。例如针对上游的业务服务进行相关业务逻辑操作后产生的业务流水,与业务逻辑调用货币服务后,货币服务产生的货币流水之间的对账处理。其中,对账指进行数据一致性的检测,如果一致则对账成功,不一致则对账失败。在进行对账处理时,包括单向对账和双向对账两种不同的对账类型。针对单向对账而言,其使用一方的流水记录去匹配另一方的流水记录,从而验证其中一方的记录是否准确无误。双向对账指对账两端的流水数据进行相互比较,以确保两方记录的数据完全一致,从而达到核实交易、排除差错的目的。

相关技术中,在进行双向对账的处理时,对数据的格式要求严格,需要进行对账的两批数据必须互相对应,否则会产生错账,因此采用将两端全量数据进行对账的方式进行双向对账。在一些复杂的大型业务场景中,需要将待对账的数据进行分类,常见的做法是提前将对账两端数据进行分类后再进行对账。然而在某些情况下,可能出现一方的数据可以根据例如充值、提现、兑换等不同的场景进行分类,而另一方无法区分是哪种具体场景,此时如果采用传统的双向对账方法,只能不进行分类,而是全量数据进行对账,对账效率低下,可扩展性以及可维护性差。

发明内容

本申请实施例提供了一种分类双向对账方法、系统、设备、存储介质及程序产品,无需进行对账两端的数据分类,能够实现高效的分类双向对账,可扩展性以及可维护性强。

第一方面,本申请实施例提供了一种分类双向对账方法,该方法包括:

在进行业务流水数据与货币流水数据的对账过程中,在所述业务流水数据中获取预设时间尺度的多条待比对业务数据;

根据所述多条待比对业务数据的业务类型进行分类得到不同业务类型的分类待比对数据;

基于所述分类待比对数据的业务类型,分别在所述货币流水数据中进行所述分类待比对数据的匹配处理得到第一对账结果,其中,不同业务类型的分类待比对数据的匹配处理逻辑不同;

将所述货币流水数据中未被匹配的数据确定为第二对账结果,将所述第一对账结果和所述第二对账结果组合得到双向对账结果。

第二方面,本申请实施例还提供了一种分类双向对账系统,包括:

正向对账模块,配置为在进行业务流水数据与货币流水数据的对账过程中,在所述业务流水数据中获取预设时间尺度的多条待比对业务数据,根据所述多条待比对业务数据的业务类型进行分类得到不同业务类型的分类待比对数据,基于所述分类待比对数据的业务类型,分别在所述货币流水数据中进行所述分类待比对数据的匹配处理得到第一对账结果,其中,不同业务类型的分类待比对数据的匹配处理逻辑不同;

溯源对账模块,配置为将所述货币流水数据中未被匹配的数据确定为第二对账结果;

对账结果处理模块,配置为将所述第一对账结果和所述第二对账结果组合得到双向对账结果。

第三方面,本申请实施例还提供了一种分类双向对账设备,该设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请实施例所述的分类双向对账方法。

第四方面,本申请实施例还提供了一种存储计算机可执行指令的非易失性存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本申请实施例所述的分类双向对账方法。

第五方面,本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,设备的至少一个处理器从计算机可读存储介质读取并执行计算机程序,使得设备执行本申请实施例所述的分类双向对账方法。

本申请实施例中,在进行业务流水数据与货币流水数据的对账过程中,在业务流水数据中获取预设时间尺度的多条待比对业务数据,根据多条待比对业务数据的业务类型进行分类得到不同业务类型的分类待比对数据,基于分类待比对数据的业务类型,分别在货币流水数据中进行分类待比对数据的匹配处理得到第一对账结果,将货币流水数据中未被匹配的数据确定为第二对账结果,将第一对账结果和所述第二对账结果组合得到双向对账结果。本方案中,通过对待比对业务数据进行分类后分别进行对账处理,能够针对不同业务类型的数据采用不同的对账处理逻辑,可以显著提高对账处理效率,可扩展性强。同时,针对货币流水端,根据其匹配情况,基于未匹配的数据确定第二对账结果,由于不进行反向匹配过程,其无需数据清洗时进行数据分类,上述方式即可实现两端数据的双向对账,无需设计复杂的数据清洗规则,便于维护,且随着业务迭代不易产生错误。

附图说明

图1为本申请实施例提供的一种分类双向对账方法的流程图;

图2为本申请实施例提供的另一种分类双向对账方法的流程图;

图3为本申请实施例提供的一种双向对账处理的示意图;

图4为本申请实施例提供的另一种分类双向对账方法的流程图;

图5为本申请实施例提供的一种分类双向对账系统的结构框图;

图6为本申请实施例提供的一种分类双向对账设备的结构示意图。

具体实施方式

下面结合附图和实施例对本申请实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请实施例,而非对本申请实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请实施例相关的部分而非全部结构。

本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。

本申请实施例提供的分类双向对账方法,执行主体可以是服务器,或者智能终端,如智能手机、笔记本电脑、平板电脑等,该分类双向对账方法可应用于业务流水和货币流水的双向对账。其中,业务流水可以是直播场景中,充值业务、送礼业务操作产生的流水,货币流水为业务操作的具体操作逻辑调用货币服务后产生的流水。

图1为本申请实施例提供的一种分类双向对账方法的流程图,如图1所示,包括如下步骤:

步骤S101、在进行业务流水数据与货币流水数据的对账过程中,在所述业务流水数据中获取预设时间尺度的多条待比对业务数据。

在一个实施例中,业务流水数据和货币流水数据可通过对线上数据源中实时获取的数据进行数据清洗后得到。其中,该线上数据源记录的数据可以是对账原始数据,其包含流水数据的完整的各个字段以及对应记录的信息。可选的,业务流水数据为支付操作产生的流水数据,如充值、送礼等和支付相关的操作。货币流水为支付操作对应的处理逻辑调用货币服务后产生的流水数据。以充值这一业务操作为例,当某个直播用户进行充值操作时,相应的记录该业务类型为充值,并对用户id和订单id进行记录,同时对应记录有充值金额和时间戳,以及其它相关的数据,如充值的直播间、充值次数、充值使用的平台等,作为原始对账数据。在获取到该原始对账数据后,进行数据清洗选取双向对账需求的字段,进行对应字段内容的记录得到业务流水数据。例如选择字段“业务类型”、“订单id”、“uid”、“金额”、“时间戳”五个字段的内容进行记录,得到一条业务流水数据,示例性的如下表所示:

相应的,针对该业务操作在调用货币服务后,应产生一致内容的货币流水数据,以保证调用货币服务后对金额进行处理的结果与业务操作一致,如业务操作为用户1充值100元,实际的货币服务处理完成后,用户1的账户中应该增加100元。在一个实施例中,针对货币流水数据不进行分类,其包含的字段可以是“订单id”、“uid”、“金额”、“时间戳”以及“标记”,示例性的,如下表所示;

其中,上述的标记字段用于后续双向对账处理中标记是否对账成功。上述的货币流水数据在数据清洗阶段得到该数据时无需进行类型的划分,即在不分类的情况下可完成后续的双向对账处理,针对某些不便于分类或者需要设计复杂处理逻辑进行货币流水分类的情况,本实施例可采用不分类的方式实现双向对账。

在一个实施例中,进行业务流水数据与货币流水数据的对账过程中,在业务流水数据中获取预设时间尺度的多条待比对业务数据,以周期性的进行业务流水数据与货币流水数据的匹配。其中,该预设时间尺度可根据实际业务情况进行设定,如10秒、30秒、1分钟或30分钟等。即在双向对账过程中,逐批次的获取业务流水数据中的数据作为待比对业务数据,以进行后续的双向对账处理。

步骤S102、根据所述多条待比对业务数据的业务类型进行分类得到不同业务类型的分类待比对数据。

在一个实施例中,进行业务流水数据与货币流水数据的双向对账过程中,首先对多条待比对业务数据进行分类,得到分类后的分类待比对数据。可选的,通过多条待比对业务数据的业务类型进行分类得到不同业务类型的分类待比对数据。

在一个实施例中,业务流水数据包括业务类型字段,此时在进行待比对业务数据的分类时,可基于该业务类型字段记录的不同业务类型进行分类,如分类为“充值”类型的分类待比对数据和“送礼”类型的分类待比对数据。

步骤S103、基于所述分类待比对数据的业务类型,分别在所述货币流水数据中进行所述分类待比对数据的匹配处理得到第一对账结果。

在一个实施例中,对待比对业务数据进行分类后,将分类得到的不同业务类型的分类待比对数据,分别在货币流水数据中进行分类待比对数据的匹配处理得到第一对账结果。其中,不同业务类型的分类待比对数据的匹配处理逻辑不同,即针对具体业务类型可采用单独设计的匹配处理逻辑在货币流水数据中执行匹配处理。可选的,不同的匹配处理逻辑可以是在货币流水数据中进行匹配处理时,采用不同的滑动窗口区间进行货币流水数据范围的选择,以进行双向对账;还采用不同的匹配处理机制,还可以是匹配处理时进行字段内容匹配的顺序的不同,如针对业务类型1可以订单id作为索引进行货币流水数据的匹配,针对业务类型2可以以用户id作为索引进行货币流水数据的匹配,由此可以针对不同类型的业务数据采用不同的数据清洗规则进行字段内容的记录,提高了双向对账处理过程中数据记录内容的灵活性和可扩展性,可以基于不同业务类型的特点针对性的设计双向对账处理规则。

在一个实施例中,针对每个分类的分类对账数据可以采用并行的处理方式进行匹配处理。如使用不同的处理进行进行不同业务类型的分类待比对数据的对账匹配。其中,具体的匹配处理得到第一对账结果的方式可以是:对未匹配成功的分类待比对数据作为错账进行记录。该未匹配成功可以是未在货币流水数据中找到相应索引条目的数据,如以订单id为索引条目,未在货币流水数据中找到该订单id的货币流水数据,或者存在相同索引条目的数据,但是该索引条目下数据的其它字段不同,如货币流水数据记录的充值金额与分类待不对数据记录的充值金额不一致,则同样作为错账进行记录得到第一对账结果。在另一个实施例中,也可以是将匹配处理成功的分类待比对数据作为正确对账结果进行记录得到第一对账结果,具体的记录选取的方式可根据不同的场景需求进行适应性设定。在一个实施例中,该第一对账结果可以是记录的针对同一个分类待比对数据确定出至少两个匹配的货币流水数据,此时判定该至少两个匹配的货币流水数据为重复异常对账数据进行相应的记录。以供后续反馈至业务部门进行排查处理。

步骤S104、将所述货币流水数据中未被匹配的数据确定为第二对账结果,将所述第一对账结果和所述第二对账结果组合得到双向对账结果。

在一个实施例中,针对货币流水数据而言,在进行过业务流水数据的匹配后,将未被匹配的数据确定为第二对账结果。其中,该第二对账结果为错账结果。可选的,可将第一对账结果和第二对账结果组合后存储至对账结果处理模块,以用于后续的反馈处理。上述方案提供的双向对账处理机制中,针对货币流水数据不进行反向的业务流水数据的匹配,采用溯源的方式将货币流水数据中未匹配的条目作为错账进行记录,以得到第二对账结果。货币流水数据的记录的内容示例性的如下表所示:

基于上表记录的货币流水数据的结果,订单id119对应的条目未被匹配,其溯源失败直接将其确定为错账进行记录。相应的记录内容可以是:

示例性的,针对第一对账记录中进行分类待比对数据未匹配成功的情况,记录内容例如如下:

此时,将第一对账结果和第二对账结果组合得到的双向对账结果如下:

由上述可知,在进行业务流水数据与货币流水数据的对账过程中,在业务流水数据中获取预设时间尺度的多条待比对业务数据,根据多条待比对业务数据的业务类型进行分类得到不同业务类型的分类待比对数据,基于分类待比对数据的业务类型,分别在货币流水数据中进行分类待比对数据的匹配处理得到第一对账结果,将货币流水数据中未被匹配的数据确定为第二对账结果,将第一对账结果和所述第二对账结果组合得到双向对账结果。本方案中,通过对待比对业务数据进行分类后分别进行对账处理,能够针对不同业务类型的数据采用不同的对账处理逻辑,可以显著提高对账处理效率,可扩展性强。同时,针对货币流水端,根据其匹配情况,基于未匹配的数据确定第二对账结果,无需进行分类即可实现两端数据的双向对账,无需设计复杂的数据清洗规则,便于维护,且随着业务迭代不易产生错误。

在一个实施例中,在分别在货币流水数据中进行分类待比对数据的匹配处理得到第一对账结果之后,还包括:将第一对账结果中的错账记录反馈至对应业务类型的业务部门。由于在进行双向对账过程中,针对业务流水数据采用分类的方式,基于不同业务类型进行匹配处理,相应的在对账结果中记录有错账的业务类型,此时根据该记录的业务类型反馈至对应业务类型的业务部门,例如针对充值类型的错账,反馈至充值业务处理部门,针对送礼类型的错账,反馈至送礼业务处理部门,由此实现了针对不同类型的对账结果直接反馈至对应部门处理,提高了数据不一致性的修正处理效率。

图2为本申请实施例提供的另一种分类双向对账方法的流程图,如图2所示,包括:

步骤S201、在进行业务流水数据与货币流水数据的对账过程中,在所述业务流水数据中获取预设时间尺度的多条待比对业务数据。

步骤S202、根据所述多条待比对业务数据的业务类型进行分类得到不同业务类型的分类待比对数据。

步骤S203、基于所述分类待比对数据的业务类型,分别确定每种业务类型对应的滑动窗口区间,在所述货币流水数据中并行的进行各个所述滑动窗口区间下的分类待比对数据的匹配处理得到第一对账结果。

在一个实施例中,不同的业务类型的分类待比对数据的比对过程中,对应不同的滑动窗口区间,该滑动窗口区间用于在货币流水数据中圈定进行分类代币对数据匹配的数据记录范围。

可选的,一种确定滑动窗口区间的方式可以是:根据每种业务类型对应的业务数据的数据生成量确定对应的滑动窗口区间,其中,数据生成量越大对应的滑动窗口区间的范围越大。示例性的,如图3所示,图3为本申请实施例提供的一种双向对账处理的示意图,其中,以预设时间尺度为T为例,针对“充值”类型的业务流水数据,其对应的滑动窗口区间可以是T-n至T+n;针对“送礼”类型的业务流水数据,其对应的滑动窗口区间可以是T-2n至T+2n。其中,n的大小可适应性设定,针对“充值”类型而言,频次相对于“送礼”类型的频次少,货币流水数据记录时,由于相对延迟较低数据漂移范围较小,此时可采用相对较小的滑动窗口区间,在保证对账准确行的同时减少数据匹配量。

步骤S204、将所述货币流水数据中未被匹配的数据确定为第二对账结果,将所述第一对账结果和所述第二对账结果组合得到双向对账结果。

由上述可知,在进行双向对账的处理过程中,针对业务流水数据进行分类,不同分类采用不同的匹配处理逻辑,如滑动窗口大小的不同,能够灵活高效的适配不同业务类型产生的流水数据的双向对账处理,可扩展性和维护性强。

图4为本申请实施例提供的另一种分类双向对账方法的流程图,如图4所示,包括:

步骤S301、在进行业务流水数据与货币流水数据的对账过程中,在所述业务流水数据中获取预设时间尺度的多条待比对业务数据。

步骤S302、根据所述多条待比对业务数据的业务类型进行分类得到不同业务类型的分类待比对数据。

步骤S303、基于所述分类待比对数据的业务类型,分别将所述分类待比对数据分配至多个匹配处理单元,通过各个所述匹配处理单元并行进行对应分类待比对数据的匹配处理得到第一对账结果。

在一个实施例中,进行双向对账处理时,可通过设置的调度模块进行匹配处理单元的调度,如增加匹配处理单元的数量。可选的,该调度模块可定时读取对账配置信息,该对账配置信息可基于对账任务管理模块提供的编辑操作得到的编辑数据生成。

可选的,在预设时间尺度不变的情况下,如果对应的业务流水数据中分类得到的某个业务类型的分类待比对数据的数据量较大,可根据该数据量确定匹配处理单元的数量,将该业务类型的分类待比对数据可分组形式的分配至多个匹配处理单元进行并行的分类待比对数据的匹配处理得到第一对账结果。可选的,可预先定义不同的预设时间尺度下,不同分类待比对数据的数据量与匹配处理单元的数量的对应关系,以用于在不同的分类待比对数据的匹配处理时分配相应数量的匹配处理单元进行调度使用。由此,通过并行处理方式提高某个分类下的分类待比对数据的匹配处理效率。

步骤S304、将所述货币流水数据中未被匹配的数据确定为第二对账结果,将所述第一对账结果和所述第二对账结果组合得到双向对账结果。

由上述可知,分别将分类待比对数据分配至多个匹配处理单元,通过各个匹配处理单元并行进行对应分类待比对数据的匹配处理得到第一对账结果,可以是实现匹配处理单元部署的横向扩展,能够合理的通过对匹配处理单元的调度进行分类待比对数据的匹配处理,提高双向对账处理效率。

图5为本申请实施例提供的一种分类双向对账系统的结构框图,如图5所示,该系统用于执行上述实施例提供的分类双向对账方法,具备执行方法相应的功能模块和有益效果。如图5所示,该系统具体包括:正向对账模块101、溯源对账模块102以及对账结果处理模块103,其中,

正向对账模块101,配置为在进行业务流水数据与货币流水数据的对账过程中,在所述业务流水数据中获取预设时间尺度的多条待比对业务数据,根据所述多条待比对业务数据的业务类型进行分类得到不同业务类型的分类待比对数据,基于所述分类待比对数据的业务类型,分别在所述货币流水数据中进行所述分类待比对数据的匹配处理得到第一对账结果,其中,不同业务类型的分类待比对数据的匹配处理逻辑不同;

溯源对账模块102,配置为将所述货币流水数据中未被匹配的数据确定为第二对账结果;

对账结果处理模块103,配置为将所述第一对账结果和所述第二对账结果组合得到双向对账结果。

由上述可知,在进行业务流水数据与货币流水数据的对账过程中,在业务流水数据中获取预设时间尺度的多条待比对业务数据,根据多条待比对业务数据的业务类型进行分类得到不同业务类型的分类待比对数据,基于分类待比对数据的业务类型,分别在货币流水数据中进行分类待比对数据的匹配处理得到第一对账结果,将货币流水数据中未被匹配的数据确定为第二对账结果,将第一对账结果和所述第二对账结果组合得到双向对账结果。本方案中,通过对待比对业务数据进行分类后分别进行对账处理,能够针对不同业务类型的数据采用不同的对账处理逻辑,可以显著提高对账处理效率,可扩展性强。同时,针对货币流水端,根据其匹配情况,基于未匹配的数据确定第二对账结果,无需进行分类即可实现两端数据的双向对账,无需设计复杂的数据清洗规则,便于维护,且随着业务迭代不易产生错误。

在一个可能的实施例中,该系统还包括数据清洗模块,配置为:

在所述进行业务流水数据与货币流水数据的对账之前,从线上数据源中实时获取业务流水,对所述业务流水中的预设字段进行提取生成业务流水数据,所述预设字段包括业务类型字段;

所述正向对账模块,配置为:

根据所述多条待比对业务数据的业务类型字段的记录内容,进行分类得到不同业务类型的分类待比对数据。

在一个可能的实施例中,所述正向对账模块,配置为:

基于所述分类待比对数据的业务类型,分别确定每种业务类型对应的滑动窗口区间;

在所述货币流水数据中并行的进行各个所述滑动窗口区间下的分类待比对数据的匹配处理得到第一对账结果。

在一个可能的实施例中,所述正向对账模块,配置为:

根据每种业务类型对应的业务数据的数据生成量确定对应的滑动窗口区间,其中,所述数据生成量越大对应的滑动窗口区间的范围越大。

在一个可能的实施例中,所述正向对账模块,配置为:

在所述货币流水数据中进行所述分类待比对数据的匹配中,针对同一个分类待比对数据确定出至少两个匹配的货币流水数据时,将所述至少两个匹配的货币流水数据确定为重复异常对账数据。

在一个可能的实施例中,该系统还包括调度模块,配置为:

将所述分类待比对数据分配至多个匹配处理单元;

所述正向对账模块,配置为:

通过各个所述匹配处理单元并行进行对应分类待比对数据的匹配处理得到第一对账结果。

在一个可能的实施例中,该系统还包括反馈模块,配置为:

在所述分别在所述货币流水数据中进行所述分类待比对数据的匹配处理得到第一对账结果之后,将所述第一对账结果中的错账记录反馈至对应业务类型的业务部门。

图6为本申请实施例提供的一种分类双向对账设备的结构示意图,如图6所示,该设备包括处理器201、存储器202、输入装置203和输出装置204;设备中处理器201的数量可以是一个或多个,图6中以一个处理器201为例;设备中的处理器201、存储器202、输入装置203和输出装置204可以通过总线或其他方式连接,图6中以通过总线连接为例。存储器202作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的分类双向对账方法对应的程序指令/模块。处理器201通过运行存储在存储器202中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的分类双向对账方法。输入装置703可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置204可包括显示屏等显示设备。

本申请实施例还提供一种包含计算机可执行指令的非易失性存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种上述实施例描述的分类双向对账方法,其中,包括:

在进行业务流水数据与货币流水数据的对账过程中,在所述业务流水数据中获取预设时间尺度的多条待比对业务数据;

根据所述多条待比对业务数据的业务类型进行分类得到不同业务类型的分类待比对数据;

基于所述分类待比对数据的业务类型,分别在所述货币流水数据中进行所述分类待比对数据的匹配处理得到第一对账结果,其中,不同业务类型的分类待比对数据的匹配处理逻辑不同;

将所述货币流水数据中未被匹配的数据确定为第二对账结果,将所述第一对账结果和所述第二对账结果组合得到双向对账结果。

值得注意的是,上述分类双向对账系统的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请实施例的保护范围。

在一些可能的实施方式中,本申请提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行本申请实施例所记载的分类双向对账方法。所述程序产品可以采用一个或多个可读介质的任意组合实现。

技术分类

06120116521168