The embodiment of the invention provides support Memcache proxy authentication and protocol conversion method, device and system, Memcache agent device is arranged between the client and the Memcache server, the method comprises: receiving and sending the device Memcache proxy client binary protocol based authentication requests, including username and password; according to the authentication request. The username and password for authentication, query the local memory database; if authentication is successful, the client's request for conversion of binary protocol request for the text of the agreement, and sent to the two air system protocol request corresponding to the Memcache server, in order to obtain the results of requests. The technical scheme has the following advantages: first, to support the protocol conversion, at present all other proxy scheme, do not support the conversion of binary protocols to the text of the agreement; secondly, the client can realize the implementation of user authentication, access control.
【技术实现步骤摘要】
支持认证和协议转换的Memcache代理方法、装置及系统
本专利技术涉及网络
,尤其涉及支持认证和协议转换的Memcache代理方法、装置及系统。
技术介绍
对于目前的一些memcache(分布式的高速缓存系统)代理软件如moxi(不支持认证,不支持协议转换),twemproxy(不支持二进制协议,不支持协议转换,不支持认证)等,要么只支持memcahe的文本协议,要么虽然支持二进制协议,但是不支持二进制协议的认证。而且,如果后端的memcache工作在文本模式下,如果要使用认证功能,则无法通过代理实现,因为认证功能需要使用二进制协议,如果后端不提供二进制协议,则无法认证。
技术实现思路
本专利技术实施例提供一种支持认证和协议转换的Memcache代理方法、装置及系统,以支持二进制协议和文本协议的协议转换,实现客户端的认证及对用户的权限控制。一方面,本专利技术实施例提供了一种支持认证和协议转换的Memcache代理方法,在客户端和Memcache服务器之间设置Memcache代理装置,所述方法包括:Memcache代理装置接收所述客户端发送的基于二进制协议的认证请求,其中携带用户名和密码;根据所述认证请求中的用户名和密码,查询本地内存数据库进行认证;若认证成功,则将客户端的二进制协议请求转换为文本协议请求,并发送到所述二进制协议请求对应的Memcache服务器,以获取请求结果。另一方面,本专利技术实施例提供了一种支持认证和协议转换的Memcache代理装置,所述Memcache代理装置设置在客户端和Memcache服务器之间,所述Memcache代理装置 ...
【技术保护点】
一种支持认证和协议转换的Memcache代理方法,其特征在于,在客户端和Memcache服务器之间设置Memcache代理装置,所述方法包括:Memcache代理装置接收所述客户端发送的基于二进制协议的认证请求,其中携带用户名和密码;根据所述认证请求中的用户名和密码,查询本地内存数据库进行认证;若认证成功,则将客户端的二进制协议请求转换为文本协议请求,并发送到所述二进制协议请求对应的Memcache服务器,以获取请求结果。
【技术特征摘要】
1.一种支持认证和协议转换的Memcache代理方法,其特征在于,在客户端和Memcache服务器之间设置Memcache代理装置,所述方法包括:Memcache代理装置接收所述客户端发送的基于二进制协议的认证请求,其中携带用户名和密码;根据所述认证请求中的用户名和密码,查询本地内存数据库进行认证;若认证成功,则将客户端的二进制协议请求转换为文本协议请求,并发送到所述二进制协议请求对应的Memcache服务器,以获取请求结果。2.如权利要求1所述支持认证和协议转换的Memcache代理方法,其特征在于,所述客户端的二进制协议请求包括:请求头和请求主体,所述请求头中包含密钥;所述将客户端的二进制协议请求转换为文本协议请求之前,所述方法还包括:接收所述客户端发送的二进制协议请求的请求头;解析所述二进制协议请求的请求头,获取所述二进制协议请求的请求头中包含的密钥;根据所述密钥进行散列计算得到所述密钥的散列值;根据所述密钥的散列值,通过一致性散列算法确定所述二进制协议请求对应的Memcache服务器;确定出所述二进制协议请求对应的Memcache服务器后,判断是否已经连接所述Memcache服务器,如果没有,则进行连接。3.如权利要求2所述支持认证和协议转换的Memcache代理方法,其特征在于,所述将客户端的二进制协议请求转换为文本协议请求,并发送到相应的Memcache服务器,以获取请求结果,具体包括:发送转换后的文本协议请求的请求头到对应的Memcache服务器;发送成功后,从所述客户端读取二进制协议请求的请求主体,将所述二进制协议请求的请求主体转换为文本协议请求的请求主体;将所述文本协议请求的请求主体发送到对应的Memcache服务器,以获取基于文本协议的请求结果。4.如权利要求3所述支持认证和协议转换的Memcache代理方法,其特征在于,所述方法还包括:接收到基于文本协议的请求结果后,将所述基于文本协议的请求结果转换为基于二进制协议的请求结果,返回给所述客户端。5.如权利要求1所述支持认证和协议转换的Memcache代理方法,其特征在于,所述客户端基于SASL协议发送认证请求;以及所述方法还包括:若认证失败,则向客户端返回认证失败消息。6.一种支持认证和协议转换的Memcache代理装置,其特征在于,所述Memcache代理装置设置在客户端和Memcache服务器之间,所述Memcache代理装置包括:接收单元,用于接收所述客户端发送的基于二进制协议的认证请求,其中携带用户名和密码;认证单元,用于根据所述认证请求中的用户名和密码,查询本地内存数据库进行认证;转换单元,用于若认证成功,则将客户端的二进制协议请求转换为文本协议请求;发送单元,用于将转换得到的文本协议请求发送到所述二进制协议请求对应的Memcache服务器,以获取请求结果。7.如权利要求6所述支持认证和协议转换的Memcache代理装置,其特征在于,所述客户端的二进制协议请求包括:请求头和请求主体,所述请求头中...
【专利技术属性】
技术研发人员:陈孚,
申请(专利权)人:新浪网技术中国有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。