CN107181757A - 支持认证和协议转换的Memcache代理方法、装置及系统 - Google Patents
支持认证和协议转换的Memcache代理方法、装置及系统 Download PDFInfo
- Publication number
- CN107181757A CN107181757A CN201710498651.1A CN201710498651A CN107181757A CN 107181757 A CN107181757 A CN 107181757A CN 201710498651 A CN201710498651 A CN 201710498651A CN 107181757 A CN107181757 A CN 107181757A
- Authority
- CN
- China
- Prior art keywords
- request
- memcache
- protocol
- client
- certification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供支持认证和协议转换的Memcache代理方法、装置及系统,在客户端和Memcache服务器之间设置Memcache代理装置,所述方法包括:Memcache代理装置接收所述客户端发送的基于二进制协议的认证请求,其中携带用户名和密码;根据所述认证请求中的用户名和密码,查询本地内存数据库进行认证;若认证成功,则将客户端的二进制协议请求转换为文本协议请求,并发送到所述二进制协议请求对应的Memcache服务器,以获取请求结果。上述技术方案具有如下有益效果:首先,支持协议转换,目前所有其他的代理方案,都不支持二进制协议到文本协议的转换;其次,可以实现客户端的认证,实现对用户的权限控制。
Description
技术领域
本发明涉及网络技术领域,尤其涉及支持认证和协议转换的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服务器;
连接处理单元27,用于确定出所述二进制协议请求对应的Memcache服务器后,判断是否已经连接所述Memcache服务器,如果没有,则进行连接。
另外,如图3所示,为本发明实施例一种支持认证和协议转换的Memcache代理系统示意图,包括Memcache代理装置、客户端和若干Memcache服务器,所述Memcache代理装置设置在客户端和Memcache服务器之间,其中:
所述客户端,用于发送基于二进制协议的认证请求,其中携带用户名和密码;若认证成功,则发起二进制协议请求;
Memcache代理装置,用于接收客户端发送的基于二进制协议的认证请求,根据所述认证请求中的用户名和密码,查询本地内存数据库进行认证;若认证成功,则将客户端的二进制协议请求转换为文本协议请求,并发送到所述二进制协议请求对应的Memcache服务器;
所述Memcache服务器,用于接收Memcache代理装置发送的所述文本协议请求,并向Memcache代理装置返回请求结果。
优选地,包括所述客户端的二进制协议请求包括:请求头和请求主体,所述请求头中包含密钥;
所述Memcache代理装置,还用于将客户端的二进制协议请求转换为文本协议请求之前,接收所述客户端发送的二进制协议请求的请求头;解析所述二进制协议请求的请求头,获取所述二进制协议请求的请求头中包含的密钥;根据所述密钥进行散列计算得到所述密钥的散列值;根据所述密钥的散列值,通过一致性散列算法确定所述二进制协议请求对应的Memcache服务器;确定出所述二进制协议请求对应的Memcache服务器后,判断是否已经连接所述Memcache服务器,如果没有,则进行连接。
优选地,所述Memcache代理装置,具体用于发送转换后的文本协议请求的请求头到对应的Memcache服务器;发送成功后,从所述客户端读取二进制协议请求的请求主体,将所述二进制协议请求的请求主体转换为文本协议请求的请求主体;将所述文本协议请求的请求主体发送到对应的Memcache服务器;
所述Memcache服务器,具体用于接收所述Memcache代理装置发送的所述文本协议请求的请求头和请求主体,并向Memcache代理装置返回基于文本协议的请求结果;
所述Memcache代理装置,还用于接收到基于文本协议的请求结果后,将所述基于文本协议的请求结果转换为基于二进制协议的请求结果,返回给所述客户端。
上述技术方案具有如下有益效果:首先,支持协议转换,目前所有其他的代理方案,都不支持二进制协议到文本协议的转换;其次,可以实现客户端的认证,实现对用户的权限控制。
以下通过应用实例对本发明实施例上述技术方案进行详细说明:
本发明应用实例对于不支持认证的文本协议后端,通过Memcache代理装置,可以实现支持认证,并且,实现二进制协议到文本协议的转换。
本发明应用实例对于一个Memcache服务器,对外提供服务时,可以有两种方式,一种是对外提供文本协议服务,另外一种是提供二进制协议服务,其中,文本协议不支持针对客户端的认证,而二进制协议可以提供针对客户端的认证。
目前的生产环境中,绝大部分的Memcache服务器提供的都是文本协议服务,因此,无法实现针对客户端的认证。
本发明应用实例实现了一种Memcache代理装置,该Memcache代理装置被放在客户端和Memcache服务器之间,作为Memcache代理装置存在,对客户端提供带认证功能的二进制服务,将客户端的请求转换成文本协议与Memcache服务器进行交互。
其中,客户端到Memcache代理装置通过二进制协议交互,Memcache代理装置到Memcache服务器通过文本协议交互。
如图4所示,为本发明应用实例一种支持认证和协议转换的Memcache代理方法流程图,具体包括:
401、首先本Memcache代理装置启动;
402、等待客户端连接;
403、客户端连接后,使用二进制协议交互,在实际运行前,必须进行认证,认证是使用SASL(Simple Authentication and Security Layer,是一种用来扩充C/S模式验证能力的机制)协议发送二进制协议的用户名和密码,本Memcache代理装置收到二进制协议的用户名和密码后,查询内存数据库进行认证,判断是否认证成功:若认证成功,则转405;否则,转404;
404、认证失败,向客户端返回认证失败消息,关闭连接;
405、认证成功后,客户端通过二进制协议发送请求,请求包含两部分,请求头和请求主体(body),首选,接收请求头,请求头中包含请求的key(密钥);
406、拿到key之后,根据key进行散列hash(散列,也有直接音译为“哈希”的)计算得到所述key的散列值,并根据所述key的散列值,通过一致性散列算法确定所述二进制协议请求对应的Memcache服务器;
407、确定对应的Memccache服务器后,判断是否已经连接该后端Memccache服务器:如果是,则转409;否则,转408;
408、如果没有连接,则先进行连接;
409、如果已经连接,则直接使用已有的连接,如果没有连接,则先进行连接,连接完成后,Memcache代理装置将二进制请求头转换为文本请求头,首先发送文本请求头到后端Memcache服务器;
410、然后从客户端读取请求主体;
411、Memcache代理装置将二进制请求主体转换为文本请求主体,并将请求主体发送到后端Memcache服务器;
412、发送成功后,从后端Memcache服务器读取请求结果;
413、请求结果读取成功后,转换成二进制协议请求结果返回给客户端。
与最接近的现有技术相比,本发明应用实例首先是支持协议转换,目前所有其他的代理程序,都不支持二进制协议到文本协议的转换;其次是对于已有的文本协议服务器,经过协议转换后,可以实现客户端的认证,实现对用户的权限控制。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
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代理装置,其特征在于,所述客户端的二进制协议请求包括:请求头和请求主体,所述请求头中包含密钥;所述Memcache代理装置还包括:
请求头接收单元,用于在所述转换单元将客户端的二进制协议请求转换为文本协议请求之前,接收所述客户端发送的二进制协议请求的请求头;解析所述二进制协议请求的请求头,获取所述二进制协议请求的请求头中包含的密钥;
散列处理单元,用于根据所述密钥进行散列计算得到所述密钥的散列值;根据所述密钥的散列值,通过一致性散列算法确定所述二进制协议请求对应的Memcache服务器;
连接处理单元,用于确定出所述二进制协议请求对应的Memcache服务器后,判断是否已经连接所述Memcache服务器,如果没有,则进行连接。
8.一种支持认证和协议转换的Memcache代理系统,其特征在于,包括Memcache代理装置、客户端和若干Memcache服务器,所述Memcache代理装置设置在客户端和Memcache服务器之间,其中:
所述客户端,用于发送基于二进制协议的认证请求,其中携带用户名和密码;若认证成功,则发起二进制协议请求;
所述Memcache代理装置,用于接收客户端发送的基于二进制协议的认证请求,根据所述认证请求中的用户名和密码,查询本地内存数据库进行认证;若认证成功,则将客户端的二进制协议请求转换为文本协议请求,并发送到所述二进制协议请求对应的Memcache服务器;
所述Memcache服务器,用于接收Memcache代理装置发送的所述文本协议请求,并向Memcache代理装置返回请求结果。
9.如权利要求8所述支持认证和协议转换的Memcache代理系统,其特征在于,包括所述客户端的二进制协议请求包括:请求头和请求主体,所述请求头中包含密钥;
所述Memcache代理装置,还用于将客户端的二进制协议请求转换为文本协议请求之前,接收所述客户端发送的二进制协议请求的请求头;解析所述二进制协议请求的请求头,获取所述二进制协议请求的请求头中包含的密钥;根据所述密钥进行散列计算得到所述密钥的散列值;根据所述密钥的散列值,通过一致性散列算法确定所述二进制协议请求对应的Memcache服务器;确定出所述二进制协议请求对应的Memcache服务器后,判断是否已经连接所述Memcache服务器,如果没有,则进行连接。
10.如权利要求9所述支持认证和协议转换的Memcache代理系统,其特征在于,
所述Memcache代理装置,具体用于发送转换后的文本协议请求的请求头到对应的Memcache服务器;发送成功后,从所述客户端读取二进制协议请求的请求主体,将所述二进制协议请求的请求主体转换为文本协议请求的请求主体;将所述文本协议请求的请求主体发送到对应的Memcache服务器;
所述Memcache服务器,具体用于接收所述Memcache代理装置发送的所述文本协议请求的请求头和请求主体,并向Memcache代理装置返回基于文本协议的请求结果;
所述Memcache代理装置,还用于接收到基于文本协议的请求结果后,将所述基于文本协议的请求结果转换为基于二进制协议的请求结果,返回给所述客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710498651.1A CN107181757A (zh) | 2017-06-27 | 2017-06-27 | 支持认证和协议转换的Memcache代理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710498651.1A CN107181757A (zh) | 2017-06-27 | 2017-06-27 | 支持认证和协议转换的Memcache代理方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107181757A true CN107181757A (zh) | 2017-09-19 |
Family
ID=59844450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710498651.1A Pending CN107181757A (zh) | 2017-06-27 | 2017-06-27 | 支持认证和协议转换的Memcache代理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107181757A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107977570A (zh) * | 2017-11-21 | 2018-05-01 | 福建中金在线信息科技有限公司 | 信息验证方法、装置、电子设备及存储介质 |
CN112437120A (zh) * | 2020-11-05 | 2021-03-02 | 北京浪潮数据技术有限公司 | 缓存系统的访问监听方法、系统、电子设备及存储介质 |
CN111652625B (zh) * | 2020-06-08 | 2023-04-25 | 中国工商银行股份有限公司 | 认证方法及装置、电子设备、计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120331084A1 (en) * | 2011-06-24 | 2012-12-27 | Motorola Mobility, Inc. | Method and System for Operation of Memory System Having Multiple Storage Devices |
CN106230603A (zh) * | 2016-09-19 | 2016-12-14 | 中国传媒大学 | 一种认证授权方法 |
CN106302607A (zh) * | 2015-06-05 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 应用于云计算的块存储系统及方法 |
CN106453665A (zh) * | 2016-12-16 | 2017-02-22 | 东软集团股份有限公司 | 基于分布式缓存系统的数据缓存方法、服务器和系统 |
CN106506613A (zh) * | 2016-10-31 | 2017-03-15 | 大唐高鸿信安(浙江)信息科技有限公司 | 分布式key‑value存储系统的数据存储位置加密方法 |
-
2017
- 2017-06-27 CN CN201710498651.1A patent/CN107181757A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120331084A1 (en) * | 2011-06-24 | 2012-12-27 | Motorola Mobility, Inc. | Method and System for Operation of Memory System Having Multiple Storage Devices |
CN106302607A (zh) * | 2015-06-05 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 应用于云计算的块存储系统及方法 |
CN106230603A (zh) * | 2016-09-19 | 2016-12-14 | 中国传媒大学 | 一种认证授权方法 |
CN106506613A (zh) * | 2016-10-31 | 2017-03-15 | 大唐高鸿信安(浙江)信息科技有限公司 | 分布式key‑value存储系统的数据存储位置加密方法 |
CN106453665A (zh) * | 2016-12-16 | 2017-02-22 | 东软集团股份有限公司 | 基于分布式缓存系统的数据缓存方法、服务器和系统 |
Non-Patent Citations (1)
Title |
---|
蒲胤: "《分布式缓存安全验证组件的设计与实现》", 《中国优秀硕士学位论文全文数据库信息科技I辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107977570A (zh) * | 2017-11-21 | 2018-05-01 | 福建中金在线信息科技有限公司 | 信息验证方法、装置、电子设备及存储介质 |
CN111652625B (zh) * | 2020-06-08 | 2023-04-25 | 中国工商银行股份有限公司 | 认证方法及装置、电子设备、计算机可读存储介质 |
CN112437120A (zh) * | 2020-11-05 | 2021-03-02 | 北京浪潮数据技术有限公司 | 缓存系统的访问监听方法、系统、电子设备及存储介质 |
CN112437120B (zh) * | 2020-11-05 | 2023-06-30 | 北京浪潮数据技术有限公司 | 缓存系统的访问监听方法、系统、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108173850B (zh) | 一种基于区块链智能合约的身份认证系统和身份认证方法 | |
US9473419B2 (en) | Multi-tenant cloud storage system | |
CN103329113B (zh) | 配置用于分级高速缓存的代理服务器以及动态站点加速和自定义对象和相关的方法 | |
CN108901022A (zh) | 一种微服务统一鉴权方法及网关 | |
US7228384B2 (en) | Cache storage system that enables exclusion of locking of an area to be accessed | |
JP2010531516A (ja) | 安全でないネットワークを介する装置のプロビジョニング及びドメイン加入エミュレーション | |
CN106656911A (zh) | 一种Portal认证方法、接入设备和管理服务器 | |
CN113221093B (zh) | 一种基于区块链的单点登录系统、方法、设备和产品 | |
CN103179099B (zh) | 一种接入开放网站平台的统一认证方法和一种网站平台 | |
CN109495486B (zh) | 一种基于JWT的单页Web应用集成CAS的方法 | |
CN106161617A (zh) | 基于nodejs的反向代理方法、反向代理服务器及系统 | |
CN107181757A (zh) | 支持认证和协议转换的Memcache代理方法、装置及系统 | |
CN110661798A (zh) | 基于认证鉴权平台的认证鉴权方法 | |
CN109815684A (zh) | 一种身份认证方法、系统及服务器和存储介质 | |
CN106844489A (zh) | 一种文件操作方法、装置以及系统 | |
CN108347731A (zh) | 一种进行安全绑定的方法、介质、设备及终端 | |
CN109787984A (zh) | 一种第三方授权token管理方法和系统 | |
CN103856454B (zh) | Ip 多媒体子系统与互联网业务互通的方法及业务互通网关 | |
CN113643040A (zh) | 一种跨区块链的交易验证方法 | |
TW201629810A (zh) | 檔案分享方法及系統 | |
CN102420808B (zh) | 一种在电信网上营业厅实现单点登录的方法 | |
CN105100068A (zh) | 一种实现单点登录的系统及方法 | |
CN109600436A (zh) | 一种分布式iscsi服务实现方法、系统及相关装置 | |
CN105282107B (zh) | Xmpp系统访问外部数据的授权方法及通信网络 | |
CN109672744A (zh) | 一种用户无感知的图像堡垒机方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170919 |