一种基于双重幂等机制的数据处理方法技术

技术编号:39815645 阅读:8 留言:0更新日期:2023-12-22 19:34
本发明专利技术涉及一种基于双重幂等机制的数据处理方法

【技术实现步骤摘要】
一种基于双重幂等机制的数据处理方法、平台、存储介质


[0001]本专利技术涉及计算机
,尤其是涉及一种基于双重幂等机制的数据处理方法

平台

存储介质


技术介绍

[0002]实时指标计算引擎可用于各种指标的实时统计指标计算,计算时,业务处理系统将交易数据源源不断的发送给指标计算引擎,通过指标计算引擎动态表和持续查询机制获取统计指标计算结果

[0003]当前由于业务处理系统与指标计算引擎之间存在网络延迟

数据阻塞等各种原因,指标计算引擎在计算时会存在交易不完整或者交易重复的情况,从而导致统计指标计算的结果不正确,对于数据一致性要求高的场景将难以满足业务使用要求

[0004]中国专利申请公开号
CN 111353893 A
提供了一种基于区块链的交易数据处理方法及装置,在该交易数据处理方法中,可以获取交易的交易数据,该交易数据包括在交易中包括的各个交易业务阶段产生的完整交易业务数据;再将所获取的交易数据打包成第一区块,该第一区块包括交易标识以及对应的第一哈希值,第一哈希值是基于交易数据生成的;以及将第一区块记录在区块链上

[0005]上述申请将交易数据被完整的记录在区块链上,避免交易数据被篡改,进而保证交易数据的真实性,使得交易数据可以作为解决交易纠纷的证据

但是,上述申请并没有解决存在的幂等性问题


技术实现思路

[0006]本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种基于双重幂等机制的数据处理方法

平台

存储介质,以保证指标计算结果的正确性

[0007]本专利技术的目的可以通过以下技术方案来实现:
[0008]本专利技术的一个方面,提供了一种基于双重幂等机制的数据处理方法,包括如下步骤:
[0009]建立与指标计算引擎的连接,发送交易请求数据,在发送成功后更新对应的请求处理状态,其中,所述交易请求数据包括与交易请求唯一对应的识别字段;
[0010]在所述指标计算引擎基于所述识别字段对交易请求进行合并后,接收指标计算结果,在接收成功后更新对应的请求处理状态,并基于
Redis
更新本地存储的指标计算结果

[0011]作为优选的技术方案,所述的基于所述识别字段对交易请求进行合并包括如下步骤:
[0012]基于所述识别字段进行请求合并操作,保证所述指标计算引擎中相同识别字段的交易请求只有唯一一件

[0013]作为优选的技术方案,接收指标计算结果之后,还包括:
[0014]基于本地存储的指标计算结果,根据预设的规则判断接收到的指标计算结果是否
合法,若否,丢弃本次的指标计算结果

[0015]作为优选的技术方案,所述的基于
Redis
更新本地存储的指标计算结果包括如下步骤:
[0016]基于
Redis
的锁机制对所述识别字段上锁,保证指标更新时的幂等性

[0017]作为优选的技术方案,在发送成功后更新对应的请求处理状态为已发送,在接收成功后更新对应的请求处理状态为已处理

[0018]作为优选的技术方案,若交易请求的处理状态为已发送,且持续时间超过预设值,则重新向所述指标计算引擎发送交易请求

[0019]作为优选的技术方案,在发送交易请求数据时,若发送失败,则重新进行发送,若连续失败次数达到阈值,则通过创建批量任务,间隔预设的时间重新进行发送,直至发送成功

[0020]作为优选的技术方案,所述的指标计算引擎为基于
Flink
的指标计算引擎

[0021]本专利技术的另一个方面,提供了一种基于双重幂等机制的数据处理平台,包括:
[0022]业务处理系统,包括一个或多个处理器以及存储器,所述存储器内储存有一个或多个程序,所述一个或多个程序包括用于执行上述基于双重幂等机制的数据处理方法的指令;
[0023]指标计算引擎,用于基于动态表和持续查询机制,得到指标计算结果

[0024]本专利技术的另一个方面,提供了一种计算机可读存储介质,包括供电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于执行上述基于双重幂等机制的数据处理方法的指令

[0025]与现有技术相比,本专利技术具有以下优点:
[0026]保证指标计算结果的准确性:本专利技术采用双重幂等机制,其一是交易
ID(
即识别字段
)
及请求处理状态的设置,确保业务处理系统和指标计算引擎两端的交易发送和接收的幂等性,其二是在指标更新时,利用
Redis
确保指标更新时的幂等性

本专利技术可保证在高并发和网络不稳定的情况下,保证实时统计指标计算结果的正确性

附图说明
[0027]图1为实施例中基于双重幂等机制的数据处理方法的流程图;
[0028]图2为实施例中基于双重幂等机制的数据处理平台的示意图;
[0029]图3为实施例中数据交互的示意图

具体实施方式
[0030]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚

完整地描述,显然,所描述的实施例是本专利技术的一部分实施例,而不是全部实施例

基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本专利技术保护的范围

[0031]实施例1[0032]本实施例提供了一种基于双重幂等机制的数据处理方法

既能发挥
Flink
实时计算的优势,又能确保统计指标计算的正确性

参见图1,方法包括如下步骤:
[0033]S1
,首先要求业务处理系统发送给
Flink
指标计算引擎的数据中包含交易
ID
,以保证每笔交易是唯一的,与交易中的其他字段,例如客户编号

拨打电话时间等

当业务处理系统将交易发送给
Flink
指标计算引擎时,会出现超时或者其他通讯错误,此时会重试发送若干次

如果重试发送若干次之后,仍然未发送成功,则会标记交易状态为未发送,之后通过批量任务,每隔一段时间重复发送,直到发送成功为止

交易发送成功后,会将交易状态标记为“已发送”。
[0034]Flink
指标计算引擎在接收到交易时,会根据交易中的
ID
进行
Merge
操作,确保接收方每笔交易只记作一次,当业务处理系统本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于双重幂等机制的数据处理方法,其特征在于,包括如下步骤:建立与指标计算引擎的连接,发送交易请求数据,在发送成功后更新对应的请求处理状态,其中,所述交易请求数据包括与交易请求唯一对应的识别字段;在所述指标计算引擎基于所述识别字段对交易请求进行合并后,接收指标计算结果,在接收成功后更新对应的请求处理状态,并基于
Redis
更新本地存储的指标计算结果
。2.
根据权利要求1所述的一种基于双重幂等机制的数据处理方法,其特征在于,所述的基于所述识别字段对交易请求进行合并包括如下步骤:基于所述识别字段进行请求合并操作,保证所述指标计算引擎中相同识别字段的交易请求只有唯一一件
。3.
根据权利要求1所述的一种基于双重幂等机制的数据处理方法,其特征在于,接收指标计算结果之后,还包括:基于本地存储的指标计算结果,根据预设的规则判断接收到的指标计算结果是否合法,若否,丢弃本次的指标计算结果
。4.
根据权利要求1所述的一种基于双重幂等机制的数据处理方法,其特征在于,所述的基于
Redis
更新本地存储的指标计算结果包括如下步骤:基于
Redis
的锁机制对所述识别字段上锁,保证指标更新时的幂等性
。5.
根据权利要求1所述的一种基于双重幂等机制的数据处理方法,其特征在...

【专利技术属性】
技术研发人员:程雪林廉东常铁锦程李虎俞敏陈俊汪东伟
申请(专利权)人:上海浦东发展银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1