支持认证和协议转换的Memcache代理方法、装置及系统制造方法及图纸

技术编号:16236263 阅读:69 留言:0更新日期:2017-09-19 16:16
本发明专利技术实施例提供支持认证和协议转换的Memcache代理方法、装置及系统,在客户端和Memcache服务器之间设置Memcache代理装置,所述方法包括:Memcache代理装置接收所述客户端发送的基于二进制协议的认证请求,其中携带用户名和密码;根据所述认证请求中的用户名和密码,查询本地内存数据库进行认证;若认证成功,则将客户端的二进制协议请求转换为文本协议请求,并发送到所述二进制协议请求对应的Memcache服务器,以获取请求结果。上述技术方案具有如下有益效果:首先,支持协议转换,目前所有其他的代理方案,都不支持二进制协议到文本协议的转换;其次,可以实现客户端的认证,实现对用户的权限控制。

Memcache proxy method, device and system supporting authentication and protocol conversion

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代理装置设置在客户端和Memcache服务器之间,其中:所述客户端,用于发送基于二进制协议的认证请求,其中携带用户名和密码;若认证成功,则发起二进制协议请求;Memcache代理装置,用于接收客户端发送的基于二进制协议的认证请求,根据所述认证请求中的用户名和密码,查询本地内存数据库进行认证;若认证成功,则将客户端的二进制协议请求转换为文本协议请求,并发送到所述二进制协议请求对应的Memcache服务器;所述Memcache服务器,用于接收Memcache代理装置发送的所述文本协议请求,并向Memcache代理装置返回请求结果。上述技术方案具有如下有益效果:首先,支持协议转换,目前所有其他的代理方案,都不支持二进制协议到文本协议的转换;其次,可以实现客户端的认证,实现对用户的权限控制。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例一种支持认证和协议转换的Memcache代理方法流程图;图2为本专利技术实施例一种支持认证和协议转换的Memcache代理装置结构示意图;图3为本专利技术实施例一种支持认证和协议转换的Memcache代理系统示意图;图4为本专利技术应用实例一种支持认证和协议转换的Memcache代理方法流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。如图1所示,为本专利技术实施例一种支持认证和协议转换的Memcache代理方法流程图,在客户端和Memcache服务器之间设置Memcache代理装置,所述方法包括:101、Memcache代理装置接收所述客户端发送的基于二进制协议的认证请求,其中携带用户名和密码;102、根据所述认证请求中的用户名和密码,查询本地内存数据库进行认证;103、若认证成功,则将客户端的二进制协议请求转换为文本协议请求,并发送到所述二进制协议请求对应的Memcache服务器,以获取请求结果。优选地,所述客户端的二进制协议请求包括:请求头和请求主体,所述请求头中包含密钥;所述将客户端的二进制协议请求转换为文本协议请求之前,所述方法还包括:接收所述客户端发送的二进制协议请求的请求头;解析所述二进制协议请求的请求头,获取所述二进制协议请求的请求头中包含的密钥;根据所述密钥进行散列计算得到所述密钥的散列值;根据所述密钥的散列值,通过一致性散列算法确定所述二进制协议请求对应的Memcache服务器;确定出所述二进制协议请求对应的Memcache服务器后,判断是否已经连接所述Memcache服务器,如果没有,则进行连接。优选地,所述将客户端的二进制协议请求转换为文本协议请求,并发送到相应的Memcache服务器,以获取请求结果,具体包括:发送转换后的文本协议请求的请求头到对应的Memcache服务器;发送成功后,从所述客户端读取二进制协议请求的请求主体,将所述二进制协议请求的请求主体转换为文本协议请求的请求主体;将所述文本协议请求的请求主体发送到对应的Memcache服务器,以获取基于文本协议的请求结果。优选地,所述方法还包括:接收到基于文本协议的请求结果后,将所述基于文本协议的请求结果转换为基于二进制协议的请求结果,返回给所述客户端。优选地,所述客户端基于SASL协议发送认证请求;以及所述方法还包括:若认证失败,则向客户端返回认证失败消息。应于上述方法实施例,如图2所示,为本专利技术实施例一种支持认证和协议转换的Memcache代理装置结构示意图,所述Memcache代理装置设置在客户端和Memcache服务器之间,所述Memcache代理装置包括:接收单元21,用于于Memcache代理装置端接收所述客户端发送的基于二进制协议的认证请求,其中携带用户名和密码;认证单元22,用于根据所述认证请求中的用户名和密码,查询本地内存数据库进行认证;转换单元23,用于若认证成功,则将客户端的二进制协议请求转换为文本协议请求;发送单元24,用于将转换得到的文本协议请求发送到所述二进制协议请求对应的Memcache服务器,以获取请求结果。优选地,所述客户端的二进制协议请求包括:请求头和请求主体,所述请求头中包含密钥;所述Memcache代理装置还包括:请求头接收单元25,用于在所述转换单元23将客户端的二进制协议请求转换为文本协议请求之前,接收所述客户端发送的二进制协议请求的请求头;解析所述二进制协议请求的请求头,获取所述二进制协议请求的请求头中包含的密钥;散列处理单元26,用于根据所述密钥进行散列计算得到本文档来自技高网...
支持认证和协议转换的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

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1