[发明专利]一种基于租约机制的异常解锁方法在审
申请号: | 201310603001.0 | 申请日: | 2013-11-22 |
公开(公告)号: | CN103701770A | 公开(公告)日: | 2014-04-02 |
发明(设计)人: | 徐安 | 申请(专利权)人: | 汉柏科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L12/24 |
代理公司: | 北京天奇智新知识产权代理有限公司 11340 | 代理人: | 陆军 |
地址: | 300384 天津市西青*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 租约 机制 异常 解锁 方法 | ||
技术领域
本发明涉及云服务器技术领域,具体涉及一种基于租约机制的异常解锁方法。
背景技术
复杂软件一般由运行在不同的服务器上的服务共同协调完成一项复杂的功能。为了协调和控制不同服务访问关键资源,需要用到互斥锁或者共享锁。
互斥锁(英语:Mutual exclusion,缩写Mutex)是一种用于多线程编程中,防止两条线程同时对同一公共资源(比如全局变量)进行读写的机制。互斥锁通过将代码切片成一个一个的临界区域(critical section)达成。临界区域指的是一块对公共资源进行访问的代码。
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。
加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。
在数据库中有两种基本的锁类型:排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)。当数据对象被加上排它锁时,其他的事务不能对它读取和修改。加了共享锁的数据对象可以被其他事务读取,但不能修改。数据库利用这两种基本的锁类型来对数据库的事务进行并发控制。
在复杂软件中加锁和解锁的服务可能会分布在不同物理服务器上。某一个服务对关键资源加上锁以后,由于网络异常或者另一个负责解锁的服务所在服务器宕机可能会导致没有人来解锁。如果锁没有解,那所有其他服务都有可能都访问不了这些关键资源,最终导致软件中某些功能提供不了服务,最坏的结果甚至是整个系统崩溃,软件停止服务。
因此,有必要提出一种服务器异常解锁方法以解决上述的问题。
发明内容
本发明的一种基于租约机制的异常解锁方法,在服务器宕机的情况下,会自动解锁。
本发明提供了一种基于租约机制的异常解锁方法:包括以下步骤:
步骤S10,第一服务加锁并定义锁的租约期限;
步骤S11,第一服务器执行第一服务时,每隔第一时长减少一部分锁的租约期限;
步骤S12,第二服务器执行第二服务时,每隔第二时长复原锁的租约期限;
步骤S13,第一服务器上的第一服务检测到租约期限为零时自己解锁;
步骤S14,第二服务器执行完第二服务时对第一服务器上的第一服务执行解锁。
进一步地,还包括步骤S15,第一服务器重启时自己解锁。
更进一步地,其中所述步骤S12包括以下步骤:
步骤S1201,第一服务器向第二服务器发送执行第二服务的请求;
步骤S1202,第二服务器收到所述请求时执行第二服务。
更进一步地,其中所述步骤S12中,在第二服务器故障的情况下,通过所述步骤S13执行解锁。
更进一步地,其中所述步骤S12中,在第一服务器不能向第二服务器发送所述请求或第二服务器不能收到第一服务器发送的请求的情况下,通过所述步骤S13执行解锁。
更进一步地,其中所述步骤S13中,在第一服务器故障的情况下,通过所述步骤S14执行解锁。
更进一步地,其中所述步骤S13和步骤S14中,在所述第一服务器和第二服务器都故障的情况下,通过所述步骤S15执行解锁。
本发明具有以下的优点:
本发明的基于租约机制的异常解锁方法,在服务器宕机的情况下,自动解锁,缩短了服务器异常宕机后的恢复时间,能够更快地恢复服务器以及网络运营,节约了人力和物力成本,使快速恢复服务器异常宕机的技术迈上了一个新台阶,对于企业的运营、生产和生活都会带来了一定意义的好处。
除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
附图说明
图1是本发明的基于租约机制的异常解锁方法的原理示意图;
图2是本发明的基于租约机制的异常解锁方法的流程图;
图3是本发明的基于租约机制的异常解锁方法中第二服务器执行第二服务时,每隔第二时长复原锁的租约期限的流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于汉柏科技有限公司,未经汉柏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310603001.0/2.html,转载请声明来源钻瓜专利网。