[发明专利]访问控制方法和装置在审
申请号: | 201410759181.6 | 申请日: | 2014-12-10 |
公开(公告)号: | CN104486328A | 公开(公告)日: | 2015-04-01 |
发明(设计)人: | 谭国斌;沈建荣;马哲 | 申请(专利权)人: | 小米科技有限责任公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 100085 北京市海淀区清*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 访问 控制 方法 装置 | ||
1.一种访问控制方法,其特征在于,所述访问控制方法由设置在服务器的访问控制装置执行,所述服务器用于执行对数据库的资源访问控制;所述方法包括:
接收第一客户端发送的第一锁获取请求,所述第一锁获取请求包括:与所述第一客户端对应的第一锁元素和第二锁元素;所述第一锁元素用于作为防止数据访问冲突的关键因子,所述第二锁元素用于作为所述第一锁元素的对应值;
建立与所述第一客户端对应的第一锁,所述第一锁包括:具有对应关系的所述第一锁元素和第二锁元素,并向所述第一客户端返回锁获取成功响应,以使得所述第一客户端在接收到所述锁获取成功响应时访问数据库的资源;
接收第二客户端发送的第二锁获取请求,所述第二锁获取请求包括:与所述第二客户端对应的第一锁元素和第二锁元素;
若所述第二锁获取请求中的第一锁元素与第一锁获取请求中的第一锁元素相同,则表示发生数据访问冲突,则向所述第二客户端返回锁获取失败响应,以使得所述第二客户端在接收到所述锁获取失败响应时停止访问所述数据库的资源。
2.根据权利要求1所述的方法,其特征在于,所述第一锁获取请求还包括:锁有效时长,所述锁有效时长用于表示所述第一锁的有效时间;
所述建立与所述第一客户端对应的第一锁,还包括:建立所述锁有效时长、与所述第一锁元素和第二锁元素之间的对应关系。
3.根据权利要求2所述的方法,其特征在于,还包括:
若所述锁有效时长到达,则删除所述第一锁。
4.根据权利要求1所述的方法,其特征在于,还包括:
接收所述第一客户端发送的解锁请求,所述解锁请求是所述第一客户端在结束对数据库的资源访问时发送,所述解锁请求包括:第一锁元素和第二锁元素;
根据所述解锁请求中的第一锁元素,获取与所述第一锁元素对应的所述第一锁中的第二锁元素,若所述第一锁中的第二锁元素与解锁请求中的第二锁元素相同,则向所述第一客户端返回解锁成功响应;并删除所述第一锁。
5.根据权利要求1-4任一所述的方法,其特征在于,所述服务器是分布式key/value缓存服务器;所述第一锁元素是所述key,所述第二锁元素是所述value,所述第一锁存储在所述服务器的缓存中。
6.一种访问控制装置,其特征在于,包括:
第一接收单元,用于接收第一客户端发送的第一锁获取请求,所述第一锁获取请求包括:与所述第一客户端对应的第一锁元素和第二锁元素;所述第一锁元素用于作为防止数据访问冲突的关键因子,所述第二锁元素用于作为所述第一锁元素的对应值;
锁建立单元,用于建立与所述第一客户端对应的第一锁,所述第一锁包括:具有对应关系的所述第一锁元素和第二锁元素,并向所述第一客户端返回锁获取成功响应,以使得所述第一客户端在接收到所述锁获取成功响应时访问数据库的资源;
第二接收单元,用于接收第二客户端发送的第二锁获取请求,所述第二锁获取请求包括:与所述第二客户端对应的第一锁元素和第二锁元素;
锁处理单元,用于在所述第二锁获取请求中的第一锁元素与第一锁获取请求中的第一锁元素相同时,表示发生数据访问冲突,则向所述第二客户端返回锁获取失败响应,以使得所述第二客户端在接收到所述锁获取失败响应时停止访问所述数据库的资源。
7.根据权利要求6所述的装置,其特征在于,
所述第一接收单元,接收的第一锁获取请求还包括:锁有效时长,所述锁有效时长用于表示所述第一锁的有效时间;
所述锁建立单元,在建立与所述第一客户端对应的第一锁时,还用于建立所述锁有效时长、与所述第一锁元素和第二锁元素之间的对应关系。
8.根据权利要求7所述的装置,其特征在于,还包括:
第一锁释放单元,用于在所述锁有效时长到达时,则删除所述第一锁。
9.根据权利要求6所述的装置,其特征在于,还包括:
第三接收单元,用于接收所述第一客户端发送的解锁请求,所述解锁请求是所述第一客户端在结束对数据库的资源访问时发送,所述解锁请求包括:第一锁元素和第二锁元素;
第二锁释放单元,用于根据所述解锁请求中的第一锁元素,获取与所述第一锁元素对应的所述第一锁中的第二锁元素,若所述第一锁中的第二锁元素与解锁请求中的第二锁元素相同,则向所述第一客户端返回解锁成功响应;并删除所述第一锁。
10.一种服务器,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收第一客户端发送的第一锁获取请求,所述第一锁获取请求包括:与所述第一客户端对应的第一锁元素和第二锁元素;所述第一锁元素用于作为防止数据访问冲突的关键因子,所述第二锁元素用于作为所述第一锁元素的对应值;
建立与所述第一客户端对应的第一锁,所述第一锁包括:具有对应关系的所述第一锁元素和第二锁元素,并向所述第一客户端返回锁获取成功响应,以使得所述第一客户端在接收到所述锁获取成功响应时访问数据库的资源;
接收第二客户端发送的第二锁获取请求,所述第二锁获取请求包括:与所述第二客户端对应的第一锁元素和第二锁元素;
若所述第二锁获取请求中的第一锁元素与第一锁获取请求中的第一锁元素相同,则表示发生数据访问冲突,则向所述第二客户端返回锁获取失败响应,以使得所述第二客户端在接收到所述锁获取失败响应时停止访问所述数据库的资源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于小米科技有限责任公司,未经小米科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410759181.6/1.html,转载请声明来源钻瓜专利网。