预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共22页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113760555A(43)申请公布日2021.12.07(21)申请号202010673742.6(22)申请日2020.07.14(71)申请人北京沃东天骏信息技术有限公司地址100176北京市大兴区经济技术开发区科创十一街18号院2号楼4层A402室(72)发明人于洋温程(74)专利代理机构北京英赛嘉华知识产权代理有限责任公司11204代理人王达佐马晓亚(51)Int.Cl.G06F9/52(2006.01)G06F9/50(2006.01)权利要求书3页说明书12页附图6页(54)发明名称数据更新、数据释放的方法和装置(57)摘要本申请公开了数据更新、数据释放的方法和装置,具体实现方案为:响应于接收到线程的加锁请求,获取线程的加锁数据;判断集群内存中是否存在已加锁数据;响应于集群内存中存在已加锁数据,获取已加锁数据的超时时刻,得到第一时刻,并根据第一时刻,判断已加锁数据是否超时;响应于已加锁数据超时,获取当前的已加锁数据的超时时刻,得到第二时刻,并根据第一时刻、第二时刻和线程判定方法,判断线程是否符合占锁条件;响应于线程符合占锁条件,根据线程的加锁数据,对已加锁数据进行更新。该方案实现了一种低成本、高可靠性的分布式锁的加锁数据更新方法。CN113760555ACN113760555A权利要求书1/3页1.一种数据更新的方法,所述方法包括:响应于接收到线程的加锁请求,获取所述线程的加锁数据,其中,所述加锁数据包括超时时刻;判断集群内存中是否存在已加锁数据,其中,所述已加锁数据用于表征与所述加锁数据访问相同资源的不同线程的加锁数据;响应于所述集群内存中存在已加锁数据,获取所述已加锁数据的超时时刻,得到第一时刻,并根据所述第一时刻,判断所述已加锁数据是否超时;响应于所述已加锁数据超时,获取当前的所述已加锁数据的超时时刻,得到第二时刻,并根据所述第一时刻、所述第二时刻和线程判定方法,判断所述线程是否符合占锁条件,其中,所述占锁条件用于表征所述线程与所述已加锁数据对应的线程之间间隔时长最短且全部线程均已执行完成;响应于所述线程符合占锁条件,根据所述线程的加锁数据,对所述已加锁数据进行更新。2.根据权利要求1所述的方法,其中,所述响应于所述已加锁数据超时,根据所述第一时刻、所述第二时刻和线程判定方法,判断所述线程是否符合占锁条件,包括:响应于所述已加锁数据超时,依次执行以下过程:初始化线程计数器,将所述线程计数器自增,根据所述加锁数据的超时时刻,对所述已加锁数据的超时时刻进行更新,将所述线程计数器自减;根据所述第一时刻与所述第二时刻的比对结果和所述线程计数器,判断所述线程是否符合占锁条件。3.根据权利要求2所述的方法,其中,所述根据所述第一时刻与所述第二时刻的比对结果和所述线程计数器,判断所述线程是否符合占锁条件,包括:判断所述第一时刻与所述第二时刻是否相等;响应于所述第一时刻与所述第二时刻相等,判断所述线程计数器是否为初始值和所述线程的等待时长是否已达到预设阈值;若所述线程计数器为初始值或所述线程的等待时长已达到预设阈值,则所述线程符合占锁条件;若所述线程计数器不为初始值或所述线程的等待时长未达到预设阈值,则所述线程不符合占锁条件。4.根据权利要求3所述的方法,还包括:响应于所述第一时刻与所述第二时刻不相等,停止所述数据更新。5.根据权利要求1或权利要求3所述的方法,其中,在所述根据所述第一时刻,判断所述已加锁数据是否超时之前或在所述判断所述第一时刻与所述第二时刻是否相等之前,还包括:判断所述已加锁数据的超时时刻是否为空,响应于所述已加锁数据的超时时刻不为空,继续向下执行;响应于所述已加锁数据的超时时刻为空,停止所述数据更新。6.根据权利要求1所述的方法,还包括:响应于所述集群内存中不存在已加锁数据,将所述线程的加锁数据存入所述内存。7.根据权利要求1所述的方法,还包括:2CN113760555A权利要求书2/3页响应于所述已加锁数据未超时,停止所述数据更新。8.根据权利要求1所述的方法,还包括:响应于所述线程不符合占锁条件,跳转至根据所述第一时刻、所述第二时刻和线程判定方法,判断所述线程是否符合占锁条件。9.一种数据释放的方法,所述方法包括:响应于接收到线程的释放请求,获取所述线程的加锁数据,其中,所述加锁数据包括:超时时刻;判断集群内存中是否存在所述线程的加锁数据;响应于所述集群内存中存在所述线程的加锁数据,判断所述加锁数据的超时时刻是否达到预设的释放时刻;响应于所述加锁数据的超时时刻已达到预设的释放时刻,将所述线程的加锁数据从所述内存中删除。10.根据权利要求9所述的方法,还包括:响应于集群内存中不存在所述线程的加锁数据或所述加锁数据的超时时刻未