[发明专利]一种业务请求的处理方法及客户端有效
申请号: | 201910532260.6 | 申请日: | 2019-06-19 |
公开(公告)号: | CN110262898B | 公开(公告)日: | 2021-01-29 |
发明(设计)人: | 杨子国 | 申请(专利权)人: | 广州华多网络科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/46;G06F9/48;G06F9/54;G06F9/38 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 古利兰 |
地址: | 511442 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 业务 请求 处理 方法 客户端 | ||
1.一种业务请求的处理方法,其特征在于,适用于客户端,所述方法包括:
客户端向N个redis集群发送获取业务锁的请求,所述业务锁用于锁定所述客户端需执行的业务,一个redis集群对应一个业务锁,N为大于等于2的整数,所述请求至少包括业务锁的过期时长,所述redis集群包括一个主节点和至少一个从节点;
确定是否成功获取所有业务锁,其中,当所述请求成功写入所述redis集群中的主节点时,所述客户端才能获得相应的业务锁;
当所述客户端获取M个业务锁时,则确定未成功获取所有业务锁,在预设时间段内向N个所述redis集群循环发送获取业务锁的请求,其中,当所述客户端获取M个业务锁时,调用release锁操作,向成功获取的业务锁对应的redis集群发送业务锁释放请求,使所述redis集群释放已获取的业务锁,M为大于等于零且小于N的整数;
若成功获取所有业务锁,执行所述业务。
2.根据权利要求1所述的方法,其特征在于,所述若未成功获取所有业务锁之后,还包括:
所述客户端向所述redis集群发送业务锁释放请求,释放已获取的业务锁。
3.根据权利要求1所述的方法,其特征在于,所述执行所述业务包括:
所述客户端基于所述过期时长执行所述业务;
若在所述过期时长到达前执行完成业务,确定业务执行成功;
若在所述过期时长到达时未执行完成所述业务,确定业务执行失败或客户端故障。
4.根据权利要求1-3中任一所述的方法,其特征在于,确定未成功获取所有所述业务锁的过程,包括:
若所述客户端在预设时长内未接收到所有业务锁,确定未成功获取所有所述业务锁;
或者,
若所述客户端接收每个所述redis集群发送的占用信息,确定未成功获取所有所述业务锁,所述占用信息指示所述业务锁被其它客户端占用。
5.一种客户端,其特征在于,所述客户端包括:
发送单元,用于向N个redis集群发送获取业务锁的请求,其中,所述业务锁用于锁定所述客户端需执行的业务,一个redis集群对应一个业务锁,N为大于等于2的整数,所述请求至少包括业务锁的过期时长,所述redis集群包括一个主节点和至少一个从节点;
确定单元,用于确定是否成功获取所有业务锁,其中,当所述请求成功写入所述redis集群中的主节点时,所述客户端才能获得相应的业务锁;
循环单元,用于当所述客户端获取M个业务锁时,则确定未成功获取所有业务锁,在预设时间段内向N个所述redis集群循环发送获取业务锁的请求,其中,当所述客户端获取M个业务锁时,调用release锁操作,向成功获取的业务锁对应的redis集群发送业务锁释放请求,使所述redis集群释放已获取的业务锁,M为大于等于零且小于N的整数;
处理单元,用于若成功获取所有业务锁,执行所述业务。
6.根据权利要求5所述的客户端,其特征在于,所述客户端还包括:
释放单元,用于在未成功获取所有业务锁之后,向所述redis集群发送业务锁释放请求,释放已获取的业务锁。
7.根据权利要求5所述的客户端,其特征在于,所述处理单元具体用于:
基于所述过期时长执行所述业务,若在所述过期时长到达前执行完成业务,确定业务执行成功,若在所述过期时长到达时未执行完成所述业务,确定业务执行失败或客户端故障。
8.根据权利要求5-7中任一所述的客户端,其特征在于,所述确定单元包括:
第一确定模块,用于若所述客户端在预设时长内未接收到所有业务锁,确定未成功获取所有所述业务锁;
第二确定模块,用于若所述客户端接收每个所述redis集群发送的占用信息,确定未成功获取所有所述业务锁,所述占用信息指示所述业务锁被其它客户端占用。
9.一种电子设备,其特征在于,所述电子设备用于运行程序,其中,所述程序运行时执行如权利要求1-4中任一所述的一种业务请求的处理方法。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1-4中任一所述的一种业务请求的处理方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州华多网络科技有限公司,未经广州华多网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910532260.6/1.html,转载请声明来源钻瓜专利网。