一种基于事务id的双写技术方法及系统技术方案

技术编号:32340918 阅读:18 留言:0更新日期:2022-02-16 18:49
本发明专利技术公开了一种基于事务id的双写技术方法及系统,通过api封装客户端redis组件对所述第一客户端请求参数进行解析获得第一事务操作标识oid;通过本地redis集群客户端进行第一事务操作标识oid的本地redis队列写入,写入失败返回执行失败;写入成功时,通过本地redis集群客户端进行第一解析结果的redis命令写入,当第一写入结果执行成功时,通过远程redis集群客户端进行第一解析结果的redis命令写入,当第二写入结果执行成功时,则删除本地redis集群客户端第一事务操作标识oid,并返回执行成功。解决了现有技术中存在方案成本过高,无法保证跨IDC的数据一致性技术问题。无法保证跨IDC的数据一致性技术问题。无法保证跨IDC的数据一致性技术问题。

【技术实现步骤摘要】
一种基于事务id的双写技术方法及系统


[0001]本专利技术涉及记录载体处理相关领域,尤其涉及一种基于事务id的双写技术方法及系统。

技术介绍

[0002]互联网数据中心Internet Data Center简称IDC,是电信部门对企业、商户或网站服务器提供托管的场所。随着互联网技术的发展,特别是金融科技的深入应用,越来越多的金融科技公司,特别是互联网金融科技公司,对于数据的安全性、服务的稳定性都提出了更加严苛的要求。为了改善企业应用体验,以rediscluster为代表的缓存技术在各大软件架构中大规模应用和实践,伴随着跨IDC部署的需求,rediscluster的同城双活技术也被越来越多的企业所重视。一些互联网企业基于redis的日志复制技术定制化实现,这些方案大部分实现起来都非常复杂,而且对redis的版本要求都比较高,但rediscluster目前在大部分企业以3.x版本应用较多,而4.x及以上的版本投入生产的比较少,版本的变更对方案的影响较大。
[0003]但本申请专利技术人在实现本申请实施例中专利技术技术方案的过程中,发现上述技术至少存在如下技术问题:
[0004]现有技术中存在方案成本过高,无法保证跨IDC的数据一致性技术问题。

技术实现思路

[0005]本申请实施例通过提供一种基于事务id的双写技术方法及系统,解决了现有技术中存在方案成本过高,无法保证跨IDC的数据一致性技术问题,达到提供一种低成本的双写方案,在控制成本的前提下,保证跨IDC的数据一致性的技术效果。r/>[0006]鉴于上述问题,提出了本申请实施例提供一种基于事务id的双写技术方法及系统。
[0007]第一方面,本申请提供了一种基于事务id的双写技术方法,其中,所述方法包括:获得第一客户端请求参数;通过api封装客户端redis组件对所述第一客户端请求参数进行解析,获得第一解析结果;根据所述第一解析结果获得第一事务操作标识oid;通过本地redis集群客户端进行所述第一事务操作标识oid的本地redis写入,当写入失败时,则返回执行失败;当写入成功时,通过本地redis集群客户端进行所述第一解析结果的redis命令写入,获得第一写入结果;判断所述第一写入结果是否执行成功,当所述第一写入结果执行成功时,通过远程redis集群客户端进行所述第一解析结果的redis命令写入,获得第二写入结果;判断所述第二写入结果是否执行成功,当所述第二写入结果执行成功时,则删除所述本地redis集群客户端的所述第一事务操作标识oid,并返回执行成功。
[0008]另一方面,本申请还提供了一种基于事务id的双写技术系统,所述系统包括:第一获得单元,所述第一获得单元用于获得第一客户端请求参数;第二获得单元,所述第二获得单元用于通过api封装客户端redis组件对所述第一客户端请求参数进行解析,获得第一解
析结果;第三获得单元,所述第三获得单元用于根据所述第一解析结果获得第一事务操作标识oid;第四获得单元,所述第四获得单元用于通过本地redis集群客户端进行所述第一事务操作标识oid的本地redis写入,当写入失败时,则返回执行失败;当写入成功时,通过本地redis集群客户端进行所述第一解析结果的redis命令写入,获得第一写入结果;第一判断单元,所述第一判断单元用于判断所述第一写入结果是否执行成功,当所述第一写入结果执行成功时,通过远程redis集群客户端进行所述第一解析结果的redis命令写入,获得第二写入结果;第二判断单元,所述第二判断单元用于判断所述第二写入结果是否执行成功,当所述第二写入结果执行成功时,则删除所述本地redis集群客户端的所述第一事务操作标识oid,并返回执行成功。
[0009]第三方面,本专利技术提供了一种基于事务id的双写技术系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现第一方面所述方法的步骤。
[0010]本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0011]由于采用了获得第一客户端请求参数;通过api封装客户端redis组件对所述第一客户端请求参数进行解析,获得第一解析结果;根据所述第一解析结果获得第一事务操作标识oid;通过本地redis集群客户端进行所述第一事务操作标识oid的本地redis写入,当写入失败时,则返回执行失败;当写入成功时,通过本地redis集群客户端进行所述第一解析结果的redis命令写入,获得第一写入结果;判断所述第一写入结果是否执行成功,当所述第一写入结果执行成功时,通过远程redis集群客户端进行所述第一解析结果的redis命令写入,获得第二写入结果;判断所述第二写入结果是否执行成功,当所述第二写入结果执行成功时,则删除所述本地redis集群客户端的所述第一事务操作标识oid,并返回执行成功。达到提供一种低成本的双写方案,在控制成本的前提下,保证跨IDC的数据一致性的技术效果。
[0012]上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
[0013]图1为本申请实施例一种基于事务id的双写技术方法的流程示意图;
[0014]图2为本申请实施例一种基于事务id的双写技术方法的判断所述第一写入结果是否执行成功的流程示意图;
[0015]图3为本申请实施例一种基于事务id的双写技术方法的根据所述第一解析结果获得第一事务操作标识oid的流程示意图;
[0016]图4为本申请实施例一种基于事务id的双写技术方法的通过本地redis集群客户端进行所述第一事务操作标识oid的本地redis队列写入的流程示意图;
[0017]图5为本申请实施例一种基于事务id的双写技术方法的进行补偿的流程示意图;
[0018]图6为本申请实施例一种基于事务id的双写技术方法的事务补偿的进一步分析的流程示意图;
[0019]图7为本申请实施例一种基于事务id的双写技术方法的根据所述第二解析结果进
行命令类型匹配的流程示意图;
[0020]图8为本申请实施例一种基于事务id的双写技术系统的结构示意图;
[0021]图9为本申请实施例示例性电子设备的结构示意图。
[0022]附图标记说明:第一获得单元11,第二获得单元12,第三获得单元13,第四获得单元14,第一判断单元15,第二判断单元16,电子设备50,处理器51,存储器52,输入装置53,输出装置54。
具体实施方式
[0023]本申请实施例通过提供一种基于事务id的双写技术方法及系统,解决了现有技术中存在非开源方案成本过高,无法保证跨IDC的数据一致性技术问题,达到提供一种低成本的双写方案,达到控制成本的前提下,保证跨IDC的数据一致性的技术效果。下面结合附图,对本申请的实施例进行描述。本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于事务id的双写技术方法,其中,所述方法包括:获得第一客户端请求参数;通过api封装客户端redis组件对所述第一客户端请求参数进行解析,获得第一解析结果;根据所述第一解析结果获得第一事务操作标识oid;通过本地redis集群客户端进行所述第一事务操作标识oid的本地redis写入,当写入失败时,则返回执行失败;当写入成功时,通过本地redis集群客户端进行所述第一解析结果的redis命令写入,获得第一写入结果;判断所述第一写入结果是否执行成功,当所述第一写入结果执行成功时,通过远程redis集群客户端进行所述第一解析结果的redis命令写入,获得第二写入结果;判断所述第二写入结果是否执行成功,当所述第二写入结果执行成功时,则删除所述本地redis集群客户端的所述第一事务操作标识oid,并返回执行成功。2.如权利要求1所述的方法,其中,所述根据所述第一解析结果获得第一事务操作标识oid,还包括:获得业务命名空间规则;根据所述第一解析结果,基于所述业务命名空间规则生成所述第一事务操作标识oid。3.如权利要求2所述的方法,其中,所述通过本地redis集群客户端进行所述第一事务操作标识oid的本地redis队列写入,还包括:根据所述业务命名空间规则获得所述第一解析结果对应的第一业务命名空间;根据所述第一业务命名空间获得所述本地redis队列,将所述第一事务操作标识oid进行所述本地redis队列写入。4.如权利要求1所述的方法,其中,所述判断所述第一写入结果是否执行成功,还包括:当所述第一写入结果执行失败时,获得第一删除指令;根据所述第一删除指令删除所述第一事务操作标识oid,并返回执行失败。5.如权利要求3所述的方法,其中,所述方法还包括:获得事务操作标识oid检测指令,根据所述事务操作标识oid检测指令进行所述本地redis集群客户端的oid检测,获得第一检测结果;当所述第一检测结果为所述第一事务操作标识oid未被删除时,根据所述第一事务操作标识oid对应的所述本地redis队列获得第一消费端;基于所述第一消费端对所述第一事务操作标识oid解析,获得第二解析结果;根据所述第二解析解结果进行事务补偿。6.如权利要求5所述的方法,其中,所述根据所述第二解析解结果进行事务补偿,还包括:根据所述第二解析结果进行命令类型匹配;当匹配结果为第一类型命令时,进行所述本地re...

【专利技术属性】
技术研发人员:高维国陈贺巍
申请(专利权)人:百融云创科技股份有限公司
类型:发明
国别省市:

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

1