[发明专利]访问控制方法和装置在审
申请号: | 201410759181.6 | 申请日: | 2014-12-10 |
公开(公告)号: | CN104486328A | 公开(公告)日: | 2015-04-01 |
发明(设计)人: | 谭国斌;沈建荣;马哲 | 申请(专利权)人: | 小米科技有限责任公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 100085 北京市海淀区清*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 访问 控制 方法 装置 | ||
技术领域
本公开涉及网络技术,尤其涉及访问控制方法和装置。
背景技术
当不同系统或者同一个系统的不同主机之间共享了某资源,那么需要防止上述不同的系统或者主机同时访问该资源而造成资源中的数据不一致,此时需要对资源加锁,该锁的作用即例如当某主机访问资源时拒绝另一主机的同时访问。相关技术中,锁通常是设置在资源所在的数据库,即由数据库来提供锁机制,但是,这种方式在数据库对某资源(例如某表项)加锁时,是直接对数据库资源的锁定,将同时拒绝了其他非相关的业务对该资源的访问,影响业务执行效率,使得数据库性能低下。
发明内容
为克服相关技术中存在的问题,本公开提供一种访问控制方法和装置,以提高业务处理效率。
根据本公开实施例的第一方面,提供一种访问控制方法,该访问控制方法由设置在服务器的访问控制装置执行,所述服务器用于执行对数据库的资源访问控制;所述方法包括:
接收第一客户端发送的第一锁获取请求,所述第一锁获取请求包括:与所述第一客户端对应的第一锁元素和第二锁元素;所述第一锁元素用于作为防止数据访问冲突的关键因子,所述第二锁元素用于作为所述第一锁元素的对应值;
建立与所述第一客户端对应的第一锁,所述第一锁包括:具有对应关系的所述第一锁元素和第二锁元素,并向所述第一客户端返回锁获取成功响应,以使得所述第一客户端在接收到所述锁获取成功响应时访问数据库的资源;
接收第二客户端发送的第二锁获取请求,所述第二锁获取请求包括:与所述第二客户端对应的第一锁元素和第二锁元素;
若所述第二锁获取请求中的第一锁元素与第一锁获取请求中的第一锁元素相同,则表示发生数据访问冲突,则向所述第二客户端返回锁获取失败响应,以使得所述第二客户端在接收到所述锁获取失败响应时停止访问所述数据库的资源。
根据本公开实施例的第二方面,提供一种访问控制装置,包括:
第一接收单元,用于接收第一客户端发送的第一锁获取请求,所述第一锁获取请求包括:与所述第一客户端对应的第一锁元素和第二锁元素;所述第一锁元素用于作为防止数据访问冲突的关键因子,所述第二锁元素用于作为所述第一锁元素的对应值;
锁建立单元,用于建立与所述第一客户端对应的第一锁,所述第一锁包括:具有对应关系的所述第一锁元素和第二锁元素,并向所述第一客户端返回锁获取成功响应,以使得所述第一客户端在接收到所述锁获取成功响应时访问数据库的资源;
第二接收单元,用于接收第二客户端发送的第二锁获取请求,所述第二锁获取请求包括:与所述第二客户端对应的第一锁元素和第二锁元素;
锁处理单元,用于在所述第二锁获取请求中的第一锁元素与第一锁获取请求中的第一锁元素相同时,表示发生数据访问冲突,则向所述第二客户端返回锁获取失败响应,以使得所述第二客户端在接收到所述锁获取失败响应时停止访问所述数据库的资源。
根据本公开实施例的第三方面,提供一种服务器,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收第一客户端发送的第一锁获取请求,所述第一锁获取请求包括:与所述第一客户端对应的第一锁元素和第二锁元素;所述第一锁元素用于作为防止数据访问冲突的关键因子,所述第二锁元素用于作为所述第一锁元素的对应值;
建立与所述第一客户端对应的第一锁,所述第一锁包括:具有对应关系的所述第一锁元素和第二锁元素,并向所述第一客户端返回锁获取成功响应,以使得所述第一客户端在接收到所述锁获取成功响应时访问数据库的资源;
接收第二客户端发送的第二锁获取请求,所述第二锁获取请求包括:与所述第二客户端对应的第一锁元素和第二锁元素;
若所述第二锁获取请求中的第一锁元素与第一锁获取请求中的第一锁元素相同,则表示发生数据访问冲突,则向所述第二客户端返回锁获取失败响应,以使得所述第二客户端在接收到所述锁获取失败响应时停止访问所述数据库的资源。
本公开的实施例提供的技术方案可以包括以下有益效果:通过由服务器执行资源访问控制,当具有访问冲突的另一客户端也要访问数据库资源时,服务器会拒绝该客户端的访问,这种方式下,数据库的资源是没有加锁的,只是由服务器对具有访问冲突的客户端进行资源访问的准入控制,从而不会对其他的非相关客户端的访问进行限制,其他客户端可以正常访问数据库执行其对应的业务,提高了业务处理效率和数据库的性能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于小米科技有限责任公司,未经小米科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410759181.6/2.html,转载请声明来源钻瓜专利网。