[发明专利]一种基于redis实现跨库操作一致性的方法和系统有效
申请号: | 201911128060.0 | 申请日: | 2019-11-18 |
公开(公告)号: | CN111125123B | 公开(公告)日: | 2022-12-30 |
发明(设计)人: | 嵇宇;汪目明;李成;徐根林 | 申请(专利权)人: | 苏宁云计算有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/25 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 马鲁晋 |
地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 redis 实现 操作 一致性 方法 系统 | ||
1.一种基于redis实现跨库操作一致性的方法,其特征在于,包括以下步骤:
生成全局唯一特征码;
调用方进行接口调用;
若服务方未在设定时间内执行完成,则处于超时状态,调用方回滚本次业务;
若服务方执行完成并准备返回结果时,对调用方进行第一次状态判断,并根据判断结果执行相应操作,所述判断结果包括第一临界状态、第一未超时状态;
所述第一临界状态是指服务方执行完成并准备返回结果的时间与调用方设定的截止时间正好相同;
所述第一未超时状态是指服务方执行完成并准备返回结果的时间没到调用方设定的截止时间;
其中判断结果为第一临界状态时,执行的操作为:
步骤A1、判断服务方使用redis进行Setnx操作是否成功:如果成功则执行步骤A2,如果失败则执行步骤A3;
步骤A2、服务方正常进行执行返回操作,调用方通过获取redis key为特征码的value,判断业务是成功还是失败,如果成功,不回滚代码,如果失败则回滚代码;之后在redis中删除key为特征码的键值对;
步骤A3、服务方直接回滚代码,在redis中删除key为特征码的键值对,调用方直接回滚代码;
其中判断结果为第一未超时状态时,执行的操作为:
调用方使用redis进行Setnx操作,将key设置为特征码,对value的状态进行判断,根据value的状态返回对应的接口调用状态码,之后对调用方进行第二次状态判断,并根据判断结果执行相应操作,判断结果包括第二临界状态、第二未超时状态,所述value的状态为成功状态或者失败状态。
2.根据权利要求1所述的基于redis实现跨库操作一致性的方法,其特征在于,所述value的状态为成功状态时,调用方进行第二次状态判断并根据判断结果执行的操作为:
若处于第二未超时状态,调用方获得接口返回状态成功,完成本次业务,不回滚代码,在redis中删除key为特征码的键值对;
若处于第二临界状态,调用方使用redis进行Setnx操作,将key设置为特征码,获取redis中的状态值,完成本次业务,不回滚代码,在redis中删除key为特征码的键值对。
3.根据权利要求1所述的基于redis实现跨库操作一致性的方法,其特征在于,value的状态为失败状态时,调用方进行第二次状态判断并根据判断结果执行的操作为:
若处于第二未超时状态,调用方获得接口返回状态失败,回滚代码,在redis中删除key为特征码的键值对;
若处于第二临界状态,调用方使用redis进行Setnx操作,将key设置为特征码,获取redis中的状态值,回滚代码,在redis中删除key为特征码的键值对。
4.根据权利要求1所述的基于redis实现跨库操作一致性的方法,其特征在于,全局唯一特征码包括系统参数、时间参数和随机数。
5.根据权利要求1所述的基于redis实现跨库操作一致性的方法,其特征在于,调用方进行接口调用时,调用内容包括业务参数和特征码。
6.一种基于redis实现跨库操作一致性的系统,其特征在于,包括以下模块:
全局唯一特征码生成模块;
调用方接口调用模块;
服务超时判断模块,用于判断服务方是否在设定时间内执行完成;
调用临界状态判断模块,在服务方执行完成并准备返回结果时,用于判断调用方的调用临界状态,并根据判断结果执行相应步骤。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏宁云计算有限公司,未经苏宁云计算有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911128060.0/1.html,转载请声明来源钻瓜专利网。