数据对账系统的制作方法

文档序号:33502784发布日期:2023-03-17 22:37阅读:62来源:国知局
数据对账系统的制作方法

1.本发明涉及数据对账领域,特别涉及一种数据对账系统。


背景技术:

2.在消费金融业务中,贷款整个生命周期的核算和各个业务环节的记账是最为核心的一环,贷款核算的每一笔交易都需要记账。由于贷款核算数据和账务数据归属于不同的系统,并且在分布式架构下,根据cap理论(在一个分布式系统中,consistency(一致性)、availability(可用性)、partition tolerance(分区容错性),不能同时成立)来讲,有可能会出现两个系统之间数据不一致的情况。海量的数据量及业务的复杂性也增加了问题定位和处理的难度,不满足贷款业务数据一致性和准确性的要求。
3.为了保证贷款业务数据的一致性和准确性,需要从核算系统和账务系统抽取业务数据进行一一比对,并且要在海量数据的情况下快速输出对账结果,及时对差错数据进行调账处理,保障业务的连续和稳定。图1是相关技术中的一种数据对账方法的处理流程图。如图1所示,该方法逐笔从系统a和系统b抽取数据,查询固定单一的对账规则,遍历规则进行金额比对,之后将有差异的数据存储到数据库中,通知人工进行处理。这种方法单线程串行进行数据对比,执行时间长,资源利用不足。并且,对账规则固定单一,不易扩展,维护困难。此外,其差异数据只能由人工分析和处理,无法应对海量数据,效率过低。


技术实现要素:

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.在本发明的一种实施方式中,所述调账策略模块能够被对账策略模块配置模块配置并管理。
47.本发明实施方式提供的数据对账系统可以高效并发的抽取海量业务数据,对业务数据智能分析,快速生成对账结果。本发明实施方式的各个方面、特征、优点等将在下文结合附图进行具体描述。根据以下结合附图的具体描述,本发明的上述方面、特征、优点等将会变得更加清楚。
附图说明
48.图1是相关技术中的一种数据对账处理流程示意图;
49.图2是本发明实施方式提供的一种数据对账系统的模块示意图;
50.图3是图2所示的数据对账系统中的对账实例的处理流程示意图;
51.图4是本发明实施方式提供的一种对账策略模块的示意图;
52.图5是本发明实施方式提供数据对账系统的对账处理流程的示例;
53.图6是本发明实施方式提供的一种调账策略模块的示意图;
54.图7是本发明实施方式提供数据对账系统的调账处理流程的示例;
具体实施方式
55.为了便于理解本发明技术方案的各个方面、特征以及优点,下面结合附图对本发明进行具体描述。应当理解,下述的各种实施方式只用于举例说明,而非用于限制本发明的保护范围。
56.图2是本发明实施方式提供的一种数据对账系统的模块示意图。如图2所示,本实施方式提供的数据对账系统包括任务分发模块10以及多个对账实例20。任务分发模块10用于根据分片配置为多个对账实例中的每个对账实例20分配分片值和分片对账任务。每个对
账实例20用于根据所分配的分片值来执行所述分片对账任务。其中,任务分发模块10可以根据分片配置为每一个对账实例20分配一个分片值,通过消息队列来实现任务分发。分配到的对账实例20可以多线程并发的执行分片任务以进行对账。其中,对账实例20可以在执行分片任务前对分片任务添加分布式锁,以保证任务不会重复触发,并且,可以记录分片任务的执行状态,以便了解任务执行进度。
57.一般对账技术资源利用率不高,本实施方式提供的数据对账系统支持任务分片,可以根据内存利用情况动态调整系统资源,提高资源利用率。并且,一般对账技术大多是单线程串行执行任务,海量数据的情况下对账时间过长,本实施方式提供的数据对账系统支持多线程并行任务处理,可以快速高效的处理大批量数据。下面结合数据处理流程对本实施方式进行详细说明。
58.图3是图2所示的数据对账系统中的对账实例的处理流程示意图。如图3所示,每个对账实例20根据所分配的分片值来执行所述分片对账任务可以包括下述处理:
59.s101:根据所分配的分片值从核算数据库获取核算数据、从账务数据库获取账务数据。
60.在本实施方式中,可以通过数据id对所分配的分片值使用哈希算法取模,从核算数据库获取数据id的模值等于所分配的分片值的核算数据,从账务数据库获取数据id的模值等于所分配的分片值的账务数据。通过使用哈希算法对所分配的分片值取模的方式,可以保证不同实例之间的数据隔离。
61.s102:将所述核算数据和账务数据输送给对账策略模块。
62.对账策略模块用于根据核算数据和账务数据进行对账。图4是本发明实施方式提供的一种对账策略模块的示意图。如图4所示,本实施方式提供的对账策略模块包括:对账所需的核算属性配置、账务属性配置、对账码以及对账码对应的对账逻辑脚本。其中,对账码用于标识需要核对的金额类型,如code01:正常本金,code02:计提利息。核算属性配置用于配置对账所需的贷款核算属性,如业务状态、逾期天数等。账务属性配置用于配置对账所需的账务属性,如账务会计科目、余额方向等。这些配置属于基础配置,会作为后续脚本化语言运行过程中的参数。对账码对应的对账逻辑脚本用于采用脚本化语言设置并运行对账规则。
63.在一种实施方式中,预先配置对账策略模块。可以提供对账策略模块配置模块,所述对账策略模块配置模块用于配置并管理对账策略模块,使得对账策略模块可以实时修改实时生效。一般对账技术的对账规则都是配置在系统内部,一经修改,系统需要重新发布,并且逻辑单一,只能满足固定的业务场景下的对账。本实施方式设置独立的对账策略模块,使该模块包括对账所需的核算属性配置、账务属性配置、对账码以及对账码对应的对账逻辑脚本,并提供用于配置管理对账策略模块的对账策略配置模块,便于对对账策略模块进行灵活配置,通过组合对账所需的属性和对账逻辑满足不同业务场景的对账策略需求。
64.s103:所述对账策略模块根据核算属性配置从所述核算数据中抽象出核算业务对象,根据账务属性配置从所述账务数据中抽象出账务业务对象,将所述核算业务对象和账务业务对象分别输入各对账码对应的对账逻辑脚本中,得到各对账码对应的对账结果。
65.在本实施方式中,对账策略模块可以从数据中抽象出对账所需的业务对象,从而得到对账逻辑的数据来源。其中,运行核算属性配置对应的取值逻辑(脚本化语言),从核算
数据抽象出核算属性配置下的属性及属性值,如,状态或金额,生成核算业务对象;运行账务属性配置对应的取值逻辑,从账务数据中抽象出账务属性配置下的属性及属性值,例如,会计科目、余额方向等,生成账务业务对象。
66.在本实施方式中,在核算业务对象、账务业务对象准备完毕后,可以对这些业务对象进行智能分析,读取缓存中的对账码和对应的对账逻辑,将核算业务对象和账务业务对象分别输入各对账码对应的对账逻辑脚本中,得到各对账码对应的对账结果。对账逻辑脚本是一种脚本化语言组成的函数的抽象,通过输入核算业务对象和账务业务对象,动态运行对账逻辑,可以快速输出对账结果。其中,对账逻辑脚本在运行时会判断核算业务对象和所述账务业务对象是否满足该脚本中的对账规则,如果不满足,则输出对账不平的对账结果,并输出错误码以及对账差异结果,如差异金额,涉及的业务对象等。如果满足,则输出对账无误的对账结果。其中,可以预先定义一套错误码,作为核对项的对账结果,在对账策略模块配置完成之后,对每一个核对金额类型配置对应的错误码,即对账不平后的输出结果。
67.图5是本发明实施方式提供的数据对账系统中的对账处理的流程示例。如图5所示,在分配分片值和分片任务后,对账处理流程为:对账实例根据所分配的分配值从核算数据库获取核算业务数据,从账务数据库获取账务业务数据,将所述核算业务数据和账务业务数据输送给对账策略模块。对账策略模块根据核算属性配置从所述核算业务数据中抽象出核算业务对象,根据账务属性配置从所述账务业务数据中抽象出账务业务对象,然后运行各对账码对应的脚本化的对账规则,判断所述核算业务对象和账务业务对象是否满足各对账码对应的对账规则并输出各对账码对应的对账结果。
68.记账有一个原则是科目余额表借贷相等,在这个原则下,账务异常数据往往是成对出现的,即一笔数据可能会出现多个错误码。对账结果输出完成后,如果对账不平,对账实例20还进行下述处理:
69.s104:将错误码和对账差异结果输送给调账策略模块。
70.图6是本发明实施方式提供的一种调账策略模块的示意图。如图6所示,调账策略模块用于根据错误码进行调账,其配置了错误码、调账逻辑脚本以及错误码和调账逻辑脚本的对应关系。
71.s105:所述调账策略模块从对账差异结果中获取错误码和所需的调账参数,将所述调账参数输入到所述错误码对应的调账逻辑脚本中进行调账。
72.其中,调账所需的参数可以包括差异金额、业务对象等,调账策略模块将所述差异金额、业务对象等调账所需的参数输入到错误码对应的调账逻辑脚本,运行该调账逻辑脚本,调账逻辑脚本运行时根据调账参数进行调账。调账完成后可以输出账务系统定义的记账码,并通知下游关联系统进行关联业务数据的变更。
73.例如,如图7所示,如果对账不平,可以将对账差异结果输送给调账策略模块,调账策略模块可以从对账差异结果中获取错误码以及差异金额、业务对账等对账所需的参数,然后将所述对账所需的参数输入到错误码对应的调账逻辑中,运行该调账逻辑,从而完成调账。
74.在一种实施方式中,预先配置调账策略模块。可以提供调账策略,所调账策略模块用于配置并管理调账策略模块,例如,配置调账所需的调账参数,管理错误码和调账逻辑脚本以及它们的对应关系等。通过提供独立的调账策略模块,使所述调账策略模块包括:调账
所需的调账参数、错误码和调账逻辑脚本以及它们的对应关系,并提供调账策略模块配置模块,可以对调账策略模块进行灵活配置,满足不同业务场景的调账需求。
75.在一种实施方式中,在记账、调账后,对账实例20可以记录分片任务的执行状态,以便掌握任务执行进度。任务分发模块可以根据各对账实例20的状态来进行任务分发,由此,可以保证各实例负载均衡,充分利用服务资源。
76.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件结合硬件平台的方式来实现。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施方式或者实施方式的某些部分所述的方法。
77.在一种实施方式中,本发明的数据对账系统包括:
78.第一存储器,其上存储有第一计算机程序;
79.第一处理器,用于执行所述第一计算机程序以实现根据分片配置分配分片值和分片对账任务;
80.第二存储器,其上存储有第二计算机程序;
81.第二处理器,用于执行所述第二计算机程序以实现根据所分配的分片值来执行所述分片对账任务;
82.其中,所述根据所分配的分片值来执行所述分片对账任务包括:
83.根据所分配的分片值从核算数据库获取核算数据、从账务数据库获取账务数据;
84.将所述核算数据和账务数据输送给对账策略模块,所述对账策略模块包括:对账所需的核算属性配置、账务属性配置、对账码以及对账码对应的对账逻辑脚本;
85.所述对账策略模块根据所述核算属性配置从所述核算数据中抽象出核算业务对象,根据所述账务属性配置从所述账务数据中抽象出账务业务对象,将所述核算业务对象和账务业务对象分别输入到各对账码对应的对账逻辑脚本中,得到各对账码对应的对账结果。
86.在本发明的一种实施方式中,所述对账逻辑脚本判断所述核算业务对象和所述账务业务对象是否满足该脚本中的对账规则,如果不满足,则输出对账不平的对账结果,并输出错误码以及对账差异结果。
87.在本发明的一种实施方式中,所述根据所分配的分片值来执行所述分片对账任务还包括:
88.将所述错误码和对账差异结果输送给调账策略模块;
89.所述调账策略模块从对账差异结果中获取错误码和所需的调账参数,将所述调账参数输入到所述错误码对应的调账逻辑脚本中进行调账。
90.在本发明的一种实施方式中,所述根据所分配的分片值来执行所述分片对账任务还包括:在调账完成后通知下游关联系统进行关联业务数据的变更。
91.在本发明的一种实施方式中,所述对账逻辑脚本判断所述核算业务对象和所述账务业务对象是否满足该脚本中的对账规则,如果满足,则输出对账无误的对账结果。
92.在本发明的一种实施方式中,所述根据所分配的分片值来执行所述分片对账任务
还包括:记录任务执行状态。
93.在本发明的一种实施方式中,所述任务分发模块还根据各对账实例的任务执行状态为各对账实例分配分片对账任务。
94.在本发明的一种实施方式中,所述对账策略模块能够被对账策略模块配置模块配置并管理。
95.在本发明的一种实施方式中,所述调账策略模块能够被对账策略模块配置模块配置并管理。
96.本发明说明书中使用的术语和措辞仅仅为了举例说明,并不意味构成限定。本领域技术人员应当理解,在不脱离所公开的实施方式的基本原理的前提下,对上述实施方式中的各细节可进行各种变化。因此,本发明的保护范围只由权利要求确定,在权利要求中,除非另有说明,所有的术语应按最宽泛合理的意思进行理解。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1