一种基于Ignite数据流的分布式对账方法及系统与流程

未命名 10-19 阅读:92 评论:0

一种基于ignite数据流的分布式对账方法及系统
技术领域
1.本发明涉及分布式对账的技术领域,尤其是涉及一种基于ignite数据流的分布式对账方法及系统。


背景技术:

2.目前已有一些常见的数据对账方法,数据对账过程中,一般由专门的对账平台获取一段时间内各系统待对账数据并存储至关系型数据库等存储中间件,再使用springbatch等批处理框架通过设置具体的对账逻辑跑批完成对账并整理出异常账目信息,再由业务人员进行确认。但现有的对账方法有以下技术问题:时效性低,需要延迟一段时间后才得知对账结果,无法满足高时效性要求的系统对账需求;对账前需要获取双方待对账数据,所需计算机存储资源较多;基于关系型数据库执行批处理操作实现对账耗费的时间也较长。整个对账过程中耗费的时间及存储资源,会随着业务数据量的扩增而线性增长,如果不提前考虑数据量,可能会出现账目出错发现不及时的严重问题,导致财产损失。
3.基于以上的技术问题,本技术提出了一种基于ignite数据流的分布式对账方法及系统,可以使用非常少的存储资源实现高时效性的数据对账需求,且对账操作的性能可通过ignite集群分布式能力线性提高,解决了数据对账过程中应用系统不能及时获知对账结果,对账数据的存储耗费资源多且对账过程缓慢的问题。
4.值得说明的是,本技术所涉及数据采集及迁移行为都已经经过用户的同意,并且为申请人进行正常的经营活动所必需。对于采集后的数据申请人进行了匿名化、保密等脱敏处理,并相应设置了数据的访问权限以确保不会泄露用户的隐私,本技术涉及的数据合规措施仅做列举,其他相关的数据合规措施申请人也有设置。申请人所进行的数据处理活动符合数据安全法与个人信息保护法等法律法规的规定。


技术实现要素:

5.为解决现有状况的不足,本发明针对以上背景技术的缺陷,本发明提出了一种基于ignite数据流的分布式对账方法及系统。包括:
6.本技术第一方面提出了一种基于ignite数据流的分布式对账方法,其特征在于,包括:
7.s1、基于待对账系统创建ignite待对账数据流,将所述待对账数据流发送给ignite集群节点,其中所述待对账数据流的数量大于等于1;
8.s2、ignite集群节点查询缓存中是否有待对账数据流对应的第一对账数据,如果有第一对账数据,则将所述第一对账数据与ignite待对账数据流进行对比,若第一对账数据与ignite待对账数据流相符,删除缓存中的第一数据,如果不相符则进行告警提醒;
9.s3、如果ignite集群节点缓存中无第一对账数据,则将ignite待对账数据流插入到第一对账数据进行缓存;
10.s4、判断是否满足第一对账结束条件,如果不满足,则返回s1。
11.进一步的,所述方法还包括将待对账数据流与第一对账数据以键值对的方式进行缓存,其中key为寻找对应数据的标记,所述标记包括合同号、待对账系统标识,所述value包括待对账数据流与第一对账数据的数值。
12.进一步的,所述s2包括:
13.s21、ignite集群节点查询缓存中是否有待对账数据流key对应的第一对账数据的key;
14.s22、如果ignite集群节点缓存有待对账数据流key对应的第一对账数据的key,则将对应待对账数据流的value与所述第一对账数据的value进行比较。
15.进一步的,所述告警提醒包括通过电话、短信或邮件的方式通知告警处理人,所述告警提醒后删除缓存中的第一对账数据。
16.进一步的,所述s3包括:
17.s31、ignite集群节点启动定时扫描任务,判断第一对账数据缓存的时间是否超过预设时间;
18.s32、如果第一对账数据缓存的时间超过预设时间,则将超过预设时间的第一对账数据筛选出来进行告警提醒;
19.s33、所述告警提醒后将超过预设时间的第一对账数据删除。
20.进一步的,所述第一对账结束条件包括待对账系统无ignite待对账数据流产生、对账时长达到预设时长。
21.本技术第二方面提出了一种基于ignite数据流的分布式对账装置,其特征在于,包括:
22.创建数据模块,用于基于待对账系统创建ignite待对账数据流,将所述待对账数据流发送给ignite集群节点,其中所述待对账数据流的数量大于等于1;
23.查询对比模块,用于ignite集群节点查询缓存中是否有待对账数据流对应的第一对账数据,如果有第一对账数据,则将所述第一对账数据与ignite待对账数据流进行对比,若第一对账数据与ignite待对账数据流相符,删除缓存中的第一数据,如果不相符则进行告警提醒;
24.缓存模块,用于如果ignite集群节点缓存中无第一对账数据,则将ignite待对账数据流插入到第一对账数据进行缓存;
25.判断循环模块,用于判断是否满足第一对账结束条件,如果不满足,则返回创建数据模块。
26.本技术第三方面提出了一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
27.所述存储器存储计算机执行指令;
28.所述处理器执行所述存储器存储的计算机执行指令,以实现基于ignite数据流的分布式对账的方法。
29.本技术第四方面提出了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现基于ignite数据流的分布式对账的方法。
30.本技术第五方面提出了一种计算机程序产品,其特征在于,包括计算机程序,该计
算机程序被处理器执行时实现基于ignite数据流的分布式对账的方法。
31.本发明的有益效果为:可以使用非常少的存储资源实现高时效性的数据对账需求,且对账操作的性能可通过ignite集群分布式能力线性提高,解决了数据对账过程中应用系统不能及时获知对账结果,对账数据的存储耗费资源多且对账过程缓慢的问题。
附图说明
32.图1为本发明的基于ignite数据流的分布式对账的方法的流程示意图。
33.图2为本发明的基于ignite数据流的分布式对账装置的结构框图。
34.图3为本发明的实施例提供的电子设备的结构示意图。
具体实施方式
35.为了更清楚的理解本发明的内容,将结合附图和实施例详细说明。
36.但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
37.在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。本发明是已有专利技术的改进,所以对于本技术未描述的部分以现有技术来实现。
38.术语解释:
39.对账,就是让每一笔交易,都要做到各参与者的记录能够吻合,没有偏差。具体的,在记录电子化的时代就是确保各个产生交易的数据、账目准确无误,一项交易可能涉及不同的系统记录,如银行、第三方支付、银联,甚至一个企业的不同部门之间对于该笔交易也存在记录数据。为了确保交易顺利准确进行,需要进行将各方、各系统保留的账单进行比对,发现异常数据进行处理。
40.本技术是基于apache ignite-分布式内存数据库的数据流处理,ignite提供了一个数据流api,可用于将大量连续的数据流注入ignite集群,数据流api支持容错和线性扩展。数据通过与缓存关联的数据流处理器流式注入到缓存中。数据流处理器自动缓冲数据并将其分组成批次以提高性能,并将其并行发送到多个节点。数据流api提供以下功能:添加到数据流处理器的数据将在节点之间自动分区和分布;可以以并置方式并发处理数据;客户端可以在注入数据时对数据执行并发sql查询。其能够进行数据处理及数据的覆盖等功能,能够实现本技术的方法。
41.图1为本发明的基于ignite数据流的分布式对账的方法流程示意图。本技术第一方面提出了一种基于ignite数据流的分布式对账方法,其特征在于,包括:
42.s1、基于待对账系统创建ignite待对账数据流,将所述待对账数据流发送给ignite集群节点,其中所述待对账数据流的数量大于等于1;
43.如上所述,待对账系统往往是两个以上的系统进行对比,但也可以将银行的对账数据确定为较为权威的数据,将银行对账单上的数据预设缓存于ignite集群节点,这样待对账系统就可以仅一个,具体的,待对账系统不仅可以与外部机构的系统,也可以是本企业不同部门的业务科室,将需要核对的对账数据都可以作为待对账的数据。待对账数据产生的数据如果能直接产生ignite待对账数据流就可以直接将ignite待对账数据流发送给ignite集群节点,如果不能直接发送ignite集群节点,则可以基于待对账系统的数据新建ignite待对账数据流或者进行格式转换以满足ignite集群节点数据处理的要求。
44.s2、ignite集群节点查询缓存中是否有待对账数据流对应的第一对账数据,如果有第一对账数据,则将所述第一对账数据与ignite待对账数据流进行对比,若第一对账数据与ignite待对账数据流相符,删除缓存中的第一数据,如果不相符则进行告警提醒;
45.具体的,第一对账数据可以是银行与企业的账务往来数据,第一对账数据本质上来自待对账系统的数据,并不必然预设于ignite集群节点中,如果ignite集群节点中没有第一对账数据,则可以将待对账系统的第一次传输给ignite集群节点的待对账数据作为第一对账数据,与其他对账系统的待对账数据流进行比较。
46.第一对账数据也可能不限于单一待对账系统的数据,可以选择几个对账数据都相符的数据作为第一对账数据,如需要完成100个系统的对账,在具体的对账过程中,5个待对账系统中有4个系统的待对账系统数据相符,则将4个相符的待对账数据作为第一对账数据,将不太相符的数据筛选出来进行告警提醒,同时,即便相符的系统也可以设置告警提醒服务,以提高人员的注意力,防止在自己的业务部门或者企业产生账目数据错误。
47.进一步的,所述s2包括:
48.s21、ignite集群节点查询缓存中是否有待对账数据流key对应的第一对账数据的key;
49.s22、如果ignite集群节点缓存有待对账数据流key对应的第一对账数据的key,则将对应待对账数据流的value与所述第一对账数据的value进行比较。
50.进一步的,所述方法还包括将待对账数据流与第一对账数据以键值对的方式进行缓存,其中key为寻找对应数据的标记,所述标记包括合同号、待对账系统标识,所述value包括待对账数据流与第一对账数据的数值。
51.优选地,将待对账数据流与第一对账数据存储起来,通过键值对的方式进行存储,健值可以选择设置为各种标记,用于定位待对账系统的数据,如通过合同编号或者建立关系库的方式将待对账的数据进行联系起来,键值对是一种快速查询数据的方法,通过这种方式可以迅速查询待对账数据进行比较。
52.优选地,在比较待对账系统的数据的过程中可以对待对账数据进行分层或者建立关系库以提高对账效率,如,将待对账系统处于十万到一百万的数据进行比较,能够减少对比量,同样的,可以基于交易双方的对象限制对比的数据规模,这些比较方法可以一并进行设置以提高比较的效率,如,交易对手为甲的十万到一百万的交易金额进行账目比较。
53.s3、如果ignite集群节点缓存中无第一对账数据,则将ignite待对账数据流插入到第一对账数据进行缓存;
54.进一步的,所述s3包括:
55.s31、ignite集群节点启动定时扫描任务,判断第一对账数据缓存的时间是否超过
预设时间;
56.s32、如果第一对账数据缓存的时间超过预设时间,则将超过预设时间的第一对账数据筛选出来进行告警提醒;
57.s33、所述告警提醒后将超过预设时间的第一对账数据删除。
58.具体的,对于超时缓存的数据可能会占据ignite集群节点的存储空间,占用系统资源,所以针对超时未对账的待系统数据可以先进行删除,等过一段时间后需要对账时候再进行缓存与数据处理。本技术中将ignite集群节点无待对账数据作为第一对账数据更加揭示了第一对账系统的数据来源与本质。
59.具体的,ignite集群节点中启动定时扫描任务,扫描ignite缓存中所有存量待对账数据,取出待对账数据生成时间戳与当前时间戳对比,筛选出超时未对账的数据,连接告警中心进行告警,告警后删除缓存中的数据。
60.进一步的,所述告警提醒包括通过电话、短信或邮件的方式通知告警处理人,所述告警提醒后删除缓存中的第一对账数据。
61.告警提醒后删除ignite集群节点的数据并不会影响待对账系统的数据,将其删除节省了存储空间,有利于数据处理的高效进行。告警提醒除了上述方式外还可以向待对账系统的对应数据发送标签的方式标记对应数据,以提醒待处理人员进行处理。
62.s4、判断是否满足第一对账结束条件,如果不满足,则返回s1。
63.进一步的,所述第一对账结束条件包括待对账系统无ignite待对账数据流产生、对账时长达到预设时长。
64.对账任务可以有一定的工作时限,所以可以设置一定的对账时长,留给人工充足的时间去处理待对账系统数据不相符的数据,所以对于待对账系统的对账结束的条件可以设置一种或多种,以满足对账任务的需求。如果无新的ignite待对账数据流产生则说明,所有预设的待对账系统的账务数据已经核对完毕。
65.图2为本发明的基于ignite数据流的分布式对账装置的结构框图。本技术第二方面提出了一种基于ignite数据流的分布式对账装置,其特征在于,包括:
66.创建数据模块,用于基于待对账系统创建ignite待对账数据流,将所述待对账数据流发送给ignite集群节点,其中所述待对账数据流的数量大于等于1;
67.查询对比模块,用于ignite集群节点查询缓存中是否有待对账数据流对应的第一对账数据,如果有第一对账数据,则将所述第一对账数据与ignite待对账数据流进行对比,若第一对账数据与ignite待对账数据流相符,删除缓存中的第一数据,如果不相符则进行告警提醒;
68.缓存模块,用于如果ignite集群节点缓存中无第一对账数据,则将ignite待对账数据流插入到第一对账数据进行缓存;
69.判断循环模块,用于判断是否满足第一对账结束条件,如果不满足,则返回创建数据模块。
70.进一步的,所述装置还包括键值对缓存模块,用于:
71.将待对账数据流与第一对账数据以键值对的方式进行缓存,其中key为寻找对应数据的标记,所述标记包括合同号、待对账系统标识,所述value包括待对账数据流与第一对账数据的数值。
72.进一步的,所述装置还包括对比模块,用于:
73.s21、ignite集群节点查询缓存中是否有待对账数据流key对应的第一对账数据的key;
74.s22、如果ignite集群节点缓存有待对账数据流key对应的第一对账数据的key,则将对应待对账数据流的value与所述第一对账数据的value进行比较。
75.进一步的,所述告警提醒包括通过电话、短信或邮件的方式通知告警处理人,所述告警提醒后删除缓存中的第一对账数据。
76.进一步的,所述装置还包括定时清理模块,用于:
77.s31、ignite集群节点启动定时扫描任务,判断第一对账数据缓存的时间是否超过预设时间;
78.s32、如果第一对账数据缓存的时间超过预设时间,则将超过预设时间的第一对账数据筛选出来进行告警提醒;
79.s33、所述告警提醒后将超过预设时间的第一对账数据删除。
80.进一步的,所述第一对账结束条件包括待对账系统无ignite待对账数据流产生、对账时长达到预设时长。
81.图3为本技术实施例提供的电子设备的结构示意图。如图3所示,该电子设备可以包括:收发器121、处理器122、存储器123。
82.处理器122执行存储器存储的计算机执行指令,使得处理器122执行上述实施例中的方案。处理器122可以是通用处理器,包括中央处理器cpu、网络处理器(network processor,np)等;还可以是数字信号处理器dsp、专用集成电路asic、现场可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
83.存储器123通过系统总线与处理器122连接并完成相互间的通信,存储器123用于存储计算机程序指令。
84.收发器121可以用于获取ignite待对账数据流。
85.系统总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。收发器用于实现数据库访问装置与其他计算机(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(random access memory,ram),也可能还包括非易失性存储器(non-volatile memory)。
86.本技术实施例提供的电子设备,可以是上述实施例的终端设备。
87.本技术实施例还提供一种运行指令的芯片,该芯片用于执行上述实施例中基于ignite数据流的分布式对账的方法的技术方案。
88.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行上述实施例中基于ignite数据流的分布式对账的方法的技术方案。
89.本技术实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,其存储在计算机可读存储介质中,至少一个处理器可以从计算机可读存储介质读取计算机程序,至少一个处理器执行计算机程序时可实现上述实施例中基于ignite数据流的分布式
对账的方法的技术方案。
90.本发明的有益效果为:可以使用非常少的存储资源实现高时效性的数据对账需求,且对账操作的性能可通过ignite集群分布式能力线性提高,解决了数据对账过程中应用系统不能及时获知对账结果,对账数据的存储耗费资源多且对账过程缓慢的问题。
91.值得说明的是,本技术所涉及数据采集及迁移行为都已经经过用户的同意,并且为申请人进行正常的经营活动所必需。对于采集后的数据申请人进行了匿名化、保密等脱敏处理,并相应设置了数据的访问权限以确保不会泄露用户的隐私,本技术涉及的数据合规措施仅做列举,其他相关的数据合规措施申请人也有设置。申请人所进行的数据处理活动符合数据安全法与个人信息保护法等法律法规的规定。
92.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
93.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
94.本领域技术人员可以进一步意识到,结合本文的实施例的算法步骤,能够以电子硬件、计算机软件或二者结合的方式实现,且这些功能究竟以硬件还是软件的方式执行,取决于技术方案的特定应用和设计约束条件,本领域技术人员可以对每个特定的应用使用不同方法实现所描述的功能,但是这种实现不应认为超出本发明的范围。
95.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
96.以上所述仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换等都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

技术特征:
1.一种基于ignite数据流的分布式对账方法,其特征在于,包括:s1、基于待对账系统创建ignite待对账数据流,将所述待对账数据流发送给ignite集群节点,其中所述待对账数据流的数量大于等于1;s2、ignite集群节点查询缓存中是否有待对账数据流对应的第一对账数据,如果有第一对账数据,则将所述第一对账数据与ignite待对账数据流进行对比,若第一对账数据与ignite待对账数据流相符,删除缓存中的第一数据,如果不相符则进行告警提醒;s3、如果ignite集群节点缓存中无第一对账数据,则将ignite待对账数据流插入到第一对账数据进行缓存;s4、判断是否满足第一对账结束条件,如果不满足,则返回s1。2.根据权利要求1所述的方法,其特征在于,所述方法还包括将待对账数据流与第一对账数据以键值对的方式进行缓存,其中key为寻找对应数据的标记,所述标记包括合同号、待对账系统标识,所述value包括待对账数据流与第一对账数据的数值。3.根据权利要求2所述的方法,其特征在于,所述s2包括:s21、ignite集群节点查询缓存中是否有待对账数据流key对应的第一对账数据的key;s22、如果ignite集群节点缓存有待对账数据流key对应的第一对账数据的key,则将对应待对账数据流的value与所述第一对账数据的value进行比较。4.根据权利要求1所述的方法,其特征在于,所述告警提醒包括通过电话、短信或邮件的方式通知告警处理人,所述告警提醒后删除缓存中的第一对账数据。5.根据权利要求1所述的方法,其特征在于,所述s3包括:s31、ignite集群节点启动定时扫描任务,判断第一对账数据缓存的时间是否超过预设时间;s32、如果第一对账数据缓存的时间超过预设时间,则将超过预设时间的第一对账数据筛选出来进行告警提醒;s33、所述告警提醒后将超过预设时间的第一对账数据删除。6.根据权利要求1所述的方法,其特征在于,所述第一对账结束条件包括待对账系统无ignite待对账数据流产生、对账时长达到预设时长。7.一种基于ignite数据流的分布式对账装置,其特征在于,包括:创建数据模块,用于基于待对账系统创建ignite待对账数据流,将所述待对账数据流发送给ignite集群节点,其中所述待对账数据流的数量大于等于1;查询对比模块,用于ignite集群节点查询缓存中是否有待对账数据流对应的第一对账数据,如果有第一对账数据,则将所述第一对账数据与ignite待对账数据流进行对比,若第一对账数据与ignite待对账数据流相符,删除缓存中的第一数据,如果不相符则进行告警提醒;缓存模块,用于如果ignite集群节点缓存中无第一对账数据,则将ignite待对账数据流插入到第一对账数据进行缓存;判断循环模块,用于判断是否满足第一对账结束条件,如果不满足,则返回创建数据模块。8.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-6中任一项所述的方法。9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-6中任一项所述的方法。10.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法。

技术总结
本申请提供了一种基于Ignite数据流的分布式对账方法与及系统,其特征在于,包括:S1、基于待对账系统创建Ignite待对账数据流,将所述待对账数据流发送给Ignite集群节点;S2、Ignite集群节点查询缓存中是否有Ignite待对账数据流对应的第一对账数据,如果有第一对账数据,则将所述第一对账数据与Ignite待对账数据流进行对比,若第一对账数据与Ignite待对账数据流相符,删除缓存中的第一数据,如果不相符则进行告警提醒;S3、如果Ignite集群节点缓存中无第一对账数据,则将Ignite待对账数据流插入到第一对账数据进行缓存;S4、判断是否满足第一对账结束条件,如果不满足,则返回S1。使用本发明可以使用非常少的存储资源实现高时效性的数据对账需求,且对账操作的性能可通过Ignite集群分布式能力线性提高。Ignite集群分布式能力线性提高。Ignite集群分布式能力线性提高。


技术研发人员:荆梦雨 孙炎森 徐晓剑 滕其武 李兴 姜涛 赵琨 张战锋
受保护的技术使用者:中信银行股份有限公司
技术研发日:2023.06.30
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐