[发明专利]基于分布式锁的线程执行方法及装置、存储介质在审

专利信息
申请号: 202010045593.9 申请日: 2020-01-16
公开(公告)号: CN111259030A 公开(公告)日: 2020-06-09
发明(设计)人: 徐亮 申请(专利权)人: 平安医疗健康管理股份有限公司
主分类号: G06F16/23 分类号: G06F16/23;G06F9/46;G06F9/52
代理公司: 北京中强智尚知识产权代理有限公司 11448 代理人: 黄耀威
地址: 200001 上海市黄浦*** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 分布式 线程 执行 方法 装置 存储 介质
【说明书】:

本申请公开了一种基于分布式锁的线程执行方法及装置、存储介质、计算机设备,该方法包括:缓存服务器基于来自客户端的加锁请求,向客户端分配分布式锁;客户端接收到分布式锁后,基于加锁请求建立任务线程以及监视线程;利用任务线程执行与加锁请求对应的待执行任务,以及通过监视线程对执行超时的任务线程作出中断标记;基于中断标记中断任务线程,并回滚任务线程对应的数据库资源。本申请利用所建立的监视线程对任务线程的超时执行行为进行监视作出中断标记,以便及时中断超时的任务线程并回滚相应的数据库资源,避免同一分布式锁被同时分配给多个线程以及避免分布式锁对应的数据库资源被同时调用产生脏数据。

技术领域

本申请涉及分布式锁技术领域,尤其是涉及到一种基于分布式锁的线程执行方法及装置、存储介质、计算机设备。

背景技术

在分布式环境下存在不同进程互斥地访问共享资源的问题。进程包含一个或多个线程,如果多个进程中的线程均需对共享资源进行操作,那么不同进程中线程访问共享资源时往往需要互斥访问,以防止彼此干扰。此情况下通常需要使用分布式锁。

在分布式锁中典型代表为Redis,在Redis中可以为一进程中的线程分配分布式锁,并且,设定分布式锁的使用时间,在该使用时间内该线程可以访问共享资源。

但是,在Redis存在一些等待访问共享资源的线程,在一个线程的分布式锁超时的情况下,可能会出现两个及以上线程获得分布式锁的异常情况。例如,进行DB读取时,可能存在数据库连接超时或者临时锁表或者JAVA层面FULL GC等一系列问题导致执行层面时间延长,本身运行时间超过了锁的锁定时间,相当于程序还没执行完,锁就失效了,在并发的情况下,如果又有一个请求进入,会直接拿到锁,程序中将会有两个线程执行一样的任务,产生脏数据。

发明内容

有鉴于此,本申请提供了一种基于分布式锁的线程执行方法及装置、存储介质、计算机设备,有助于避免两个及以上线程获得分布式锁的异常情况。

根据本申请的一个方面,提供了一种基于分布式锁的线程执行方法,包括:

缓存服务器基于来自客户端的加锁请求,向所述客户端分配所述分布式锁;

所述客户端接收到所述分布式锁后,基于所述加锁请求建立任务线程以及监视线程;

利用所述任务线程执行与所述加锁请求对应的待执行任务,以及通过所述监视线程对执行超时的所述任务线程作出中断标记;

基于所述中断标记中断所述任务线程,并回滚所述任务线程对应的数据库资源。

具体地,所述向所述客户端分配所述分布式锁,具体包括:

为与所述加锁请求匹配的分布式锁设定过期时间后,向所述客户端分配所述分布式锁;

所述所述客户端接收到所述分布式锁后,基于所述加锁请求建立任务线程以及监视线程,具体包括:

所述客户端接收到所述分布式锁后,将所述加锁请求对应的代理对象放入预先建立的线程池中,其中,所述代理对象包括所述任务线程以及待执行任务;

在所述线程池中为所述任务线程分配对应的所述监视线程,其中,所述监视线程在系统时间超过所述过期时间时判定所述任务线程执行超时。

具体地,所述利用所述任务线程执行与所述加锁请求对应的待执行任务,具体包括:

判断所述待执行任务是否已被写入事务中;

若未写入事务中,则建立包含所述待执行任务的事务后,利用所述任务线程执行所述事务;

若已写入事务中,则利用所述任务线程执行所述事务。

具体地,所述方法还包括:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安医疗健康管理股份有限公司,未经平安医疗健康管理股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010045593.9/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code