【技术实现步骤摘要】
一种基于redis实现跨库操作一致性的方法和系统
本专利技术属于数据库
,特别是一种基于redis实现跨库操作一致性的方法、系统、计算机设备和存储介质。
技术介绍
目前在业务处理过程中经常会遇到操作不同数据库的业务场景,比如通过数据质量平台配置规则调用IDE(IntegratedDevelopmentEnvironment集成开发环境是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具)对外接口创建任务。在对跨库接口调用的非查询类操作时(比如新增或修改或删除等),目前常见的处理方式是通过HTTP请求接口调用,响应正常的情况下,无论成功还是失败,业务都可以保证一致性。但是当调用出现超时未响应后如何确保两边数据的一致性就比较棘手了,超时并不意味着执行失败,如果调用方直接回滚(程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为)而服务方只是由于网络或业务复杂性问题本身已成功,那么调用方回滚,服务方已执行成功就会造成业务数据的不一致。现有技术中尚无很好的解决办法。r>
技术实现思路
...
【技术保护点】
1.一种基于redis实现跨库操作一致性的方法,其特征在于,包括以下步骤:/n生成全局唯一特征码;/n调用方进行接口调用;/n若服务方未在设定时间内执行完成,则处于超时状态,调用方回滚本次业务;/n若服务方执行完成并准备返回结果时,对调用方进行第一次状态判断,并根据判断结果执行相应操作,所述判断结果包括第一临界状态、第一未超时状态;/n所述第一临界状态是指服务方执行完成并准备返回结果的时间与调用方设定的截止时间正好相同;/n所述第一未超时状态是指服务方执行完成并准备返回结果的时间没到调用方设定的截止时间。/n
【技术特征摘要】
1.一种基于redis实现跨库操作一致性的方法,其特征在于,包括以下步骤:
生成全局唯一特征码;
调用方进行接口调用;
若服务方未在设定时间内执行完成,则处于超时状态,调用方回滚本次业务;
若服务方执行完成并准备返回结果时,对调用方进行第一次状态判断,并根据判断结果执行相应操作,所述判断结果包括第一临界状态、第一未超时状态;
所述第一临界状态是指服务方执行完成并准备返回结果的时间与调用方设定的截止时间正好相同;
所述第一未超时状态是指服务方执行完成并准备返回结果的时间没到调用方设定的截止时间。
2.根据权利要求1所述的基于redis实现跨库操作一致性的方法,其特征在于,判断结果为第一临界状态时,执行的操作为:
步骤A1、判断服务方使用redis进行Setnx操作是否成功:如果成功则执行步骤A2,如果失败则执行步骤A3;
步骤A2、服务方正常进行执行返回操作,调用方通过获取rediskey为特征码的value,判断业务是成功还是失败,如果成功,不回滚代码,如果失败则回滚代码;之后在redis中删除key为特征码的键值对;
步骤A3、服务方直接回滚代码,在redis中删除key为特征码的键值对,调用方直接回滚代码。
3.根据权利要求1所述的基于redis实现跨库操作一致性的方法,其特征在于,判断结果为第一未超时状态时,执行的操作为:
调用方使用redis进行Setnx操作,将key设置为特征码,对value的状态进行判断,根据value的状态返回对应的接口调用状态码,之后对调用方进行第二次状态判断,并根据判断结果执行相应操作,判断结果包括第二临界状态、第二未超时状态,所述value的状态为成功状态或者失败状态。
4.根据权利要求3所述的基于redis实现跨库操作一致性的方法,其特征在于,所述value的状态为成功状态时,调用方进行第二次状态判断并根据判断结果执行的操作为:
若处于第二未超时...
【专利技术属性】
技术研发人员:嵇宇,汪目明,李成,徐根林,
申请(专利权)人:苏宁云计算有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。