[发明专利]一种访问共享资源的方法及装置在审
| 申请号: | 202211215967.2 | 申请日: | 2022-09-30 |
| 公开(公告)号: | CN115618406A | 公开(公告)日: | 2023-01-17 |
| 发明(设计)人: | 崔勇带 | 申请(专利权)人: | 深圳前海微众银行股份有限公司 |
| 主分类号: | G06F21/62 | 分类号: | G06F21/62 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 雷航 |
| 地址: | 518027 广东省深圳市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 访问 共享资源 方法 装置 | ||
本发明实施例涉及一种访问共享资源方法及装置。该方法包括:在确定访问对象从服务中心获取到针对共享资源的分布式锁后,获取访问对象对共享资源的N次历史访问对应的N个访问信息;根据N个访问信息确定访问对象对共享资源的访问性能;根据访问性能对分布式锁的初始生效时长进行修正,确定修正生效时长;若确定修正生效时长大于初始生效时长,则向服务中心申请将初始生效时长更新为修正生效时长。通过历史N次的访问信息对当前访问的访问质量进行预测,实时动态更新当前访问的生效时长,避免当前访问还未结束,分布式锁就被收回的情况,可以提高分布式锁的生效时长的灵活性和合理性,保证分布式锁的安全性。
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种访问共享资源的方法、装置、计算设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
在分布式系统中,多个访问对象都需要访问同一个共享资源。为了保证访问的有序性,同一时刻只能有一个访问对象可以访问该共享资源,我们设计了分布式锁,通过分布式锁实现了对共享资源的有序访问。每个访问对象在访问共享资源之前,向服务中心申请针对该共享资源的分布式锁。若该共享资源正处于空闲状态,则该访问对象能够申请成功,获取了针对该共享资源的分布式锁,能够访问该共享资源;若该共享资源正在被占用,则该访问对象申请失败,无法获取到针对该共享资源的分布式锁,不能够访问该共享资源。这里的访问对象可以为节点、进程或线程等;服务中心可以为存储系统如Redis、数据库等,还可以为分布式应用程序协调服务zookeeper。
若该访问对象获取到分布式锁后,发生了故障,无法主动释放分布式锁,就会导致其他访问对象再也无法获取到分布式锁,无法访问该共享资源,影响到系统的高可用性。因此任一访问对象在申请分布式锁时,服务中心一般会设置分布式锁的生效时长,保证分布式锁会自动释放。例如,访问对象1向服务中心申请针对共享资源A的分布式锁,服务中心确定当前共享资源A处于空闲状态,则为访问对象1发放针对共享资源A的分布式锁,起始时间为10:00,生效时长为1s;服务中心在10:01时收回该分布式锁,如此,共享资源A再次处于空闲状态,其他访问对象就能够对共享资源A申请分布式锁了。
但是上述方案存在如下问题。若访问对象1获取了针对共享资源A的分布式锁,且服务中心为其设置了生效时长,但是访问对象1在访问共享资源A的过程中出现了网络延迟等故障,导致整个访问时长超过了之前设置的生效时长。那么在访问对象1并未完成对共享资源A的访问时,针对共享资源A的分布式锁已经被收回了;其他访问对象向服务中心申请针对共享资源A的分布式锁时就会申请成功,其他访问对象就能够访问共享资源A了;若与此同时访问对象1的网络延迟等故障也解除了,如此,就会出现多个访问对象同时访问共享资源A的情况。由此看出,若生效时长设置不合理,会导致分布式锁丧失安全性。
目前分布式锁的生效时长一般由运维人员设置成固定值,无法做到动态计算和实时更新,缺乏灵活性和合理性。
发明内容
本发明实施例提供一种访问共享资源的方法,用以对分布式锁的初始生效时长动态更新,提高分布式锁的生效时长的灵活性和合理性,提高分布式锁的安全性。
第一方面,本发明实施例提供一种访问共享资源的方法,包括:
在确定访问对象从服务中心获取到针对共享资源的分布式锁后,获取所述访问对象对所述共享资源的N次历史访问对应的N个访问信息;所述N为大于等于1的整数;
根据所述N个访问信息确定所述访问对象对所述共享资源的访问性能;
根据所述访问性能对所述分布式锁的初始生效时长进行修正,确定修正生效时长;
若确定所述修正生效时长大于所述初始生效时长,则向所述服务中心申请将所述初始生效时长更新为所述修正生效时长。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳前海微众银行股份有限公司,未经深圳前海微众银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211215967.2/2.html,转载请声明来源钻瓜专利网。





