[发明专利]分布式系统及分布式系统中目标对象的调度方法有效
申请号: | 201710092178.7 | 申请日: | 2017-02-21 |
公开(公告)号: | CN106790694B | 公开(公告)日: | 2020-04-14 |
发明(设计)人: | 吴彰合 | 申请(专利权)人: | 广州爱九游信息技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京展翼知识产权代理事务所(特殊普通合伙) 11452 | 代理人: | 屠长存 |
地址: | 510665 广东省广州市天河区黄埔大*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 系统 目标 对象 调度 方法 | ||
本发明公开了一种分布式系统及分布式系统中目标对象的调度方法。该调度方法包括:创建对应于目标对象的锁资源对象,锁资源对象包括与目标对象相关的锁信息;响应于接收到特定线程发送的锁请求,根据锁请求所针对的目标对象的锁资源对象的锁信息,判断特定线程当前是否能够获取目标对象所对应的锁。由此,可以将分布式环境下的不同特定线程的锁请求映射为同一JVM管理下的锁请求,从而可以统一管理调度分布式环境下的多个锁请求。
技术领域
本发明涉及分布式技术领域,特别是涉及一种分布式系统及分布式系统中目标对象的调度方法。
背景技术
分布式锁是实现分布式环境下同步访问共享资源的一种方式。如果不同的分布式系统或是同一分布式系统下的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,需要采取一定的措施防止彼此干扰以保证访问的一致性,在这种情况下,便需要使用到分布式锁。
现有的分布式锁的实现方案大多是简单地锁定一个服务标志(通常用一个字符串代表一个服务处理),在锁定该服务标志期间,分布式环境中的其他逻辑在试图锁定同一个服务标志时将被阻塞,直到最早锁定了该服务标志的线程释放了锁,才有机会进入锁。
该方案存在如下问题:1)都是排他性锁,使用该类锁时服务吞吐率低;2)不支持锁可重入,影响业务代码的设计结构,让代码不能更优雅更灵活地规划;3)未能系统性地识别和处理集群中锁定了某些服务标志的机器单点故障超时等问题,集群中单台机器有问题就能很轻易地影响其他的机器,可靠性,健壮性差;4)不能有效、及时地识别死锁,业务代码的不安全性增加,排查问题困难。
由此,需要一种新的分布式环境下的锁的调度方案以解决上述至少一项问题。
发明内容
本发明主要的目的在于提供一种分布式系统及分布式系统中目标对象的调度方法,以解决上述至少一项问题。
根据本发明的一个方面,提供了一种分布式系统中目标对象的调度方法,包括:创建对应于目标对象的锁资源对象,锁资源对象包括与目标对象相关的锁信息;响应于接收到特定线程发送的锁请求,根据锁请求所针对的目标对象的锁资源对象的锁信息,判断特定线程当前是否能够获取目标对象所对应的锁。
由此,可以将分布式环境下的不同特定线程的锁请求映射为同一JVM管理下的锁请求,从而可以统一管理调度分布式环境下的多个锁请求。
优选地,锁信息可以包括:目标对象的对象ID、持有目标对象的第一线程、第一线程持有的针对目标对象的锁的类型和时间,并且/或者锁请求可以包括:该锁请求所针对的目标对象的对象ID、请求的锁的类型、请求时间。
优选地,锁信息还可以包括:等待目标对象的第二线程、第二线程所请求的针对目标对象的锁的类型和时间。
优选地,判断特定线程当前是否能够获取目标对象所对应的锁的步骤可以包括:对锁请求所对应的锁资源对象进行加锁;进入临界区以访问锁资源对象,并根据锁信息以及预定的锁争用逻辑,判断特定线程当前能否获取锁。
由此,对于特定线程的锁请求,可以对锁请求所对应的锁资源对象加锁,利用锁资源对象的临界区,来判断当前是否允许其获取锁请求所针对的目标对象。
优选地,预定的锁争用逻辑可以包括:允许多个不同线程在同一时间针对同一目标对象分别获取读锁;在一个线程持有针对一个目标对象的写锁的情况下,任何其它线程不能持有针对一个目标对象的读锁和写锁。由此预定的锁争用逻辑可以是模拟JVM线程锁争用逻辑。
优选地,该调度方法还可以包括:在判定特定线程当前不能获取锁的情况下,退出临界区,并在锁资源对象中记录该锁请求;以及/或者在判定特定线程当前能够获取锁的情况下,在锁资源对象中记录该特定线程获取的锁的类型和时间,并退出临界区。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州爱九游信息技术有限公司,未经广州爱九游信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710092178.7/2.html,转载请声明来源钻瓜专利网。