CN112527835B - 基于缓存的认证请求处理方法、装置及相关设备 - Google Patents
基于缓存的认证请求处理方法、装置及相关设备 Download PDFInfo
- Publication number
- CN112527835B CN112527835B CN202011422504.4A CN202011422504A CN112527835B CN 112527835 B CN112527835 B CN 112527835B CN 202011422504 A CN202011422504 A CN 202011422504A CN 112527835 B CN112527835 B CN 112527835B
- Authority
- CN
- China
- Prior art keywords
- user
- cache
- user information
- message
- database
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于缓存的认证请求处理方法,应用于计算机技术领域,用于解决对用户登录请求进行验证时认证的请求处理时间较长的技术问题。本发明提供的方法包括:接收到携带有用户信息的登录认证请求消息时,从缓存中查询是否存储有该用户信息;当缓存中没有存储该用户信息时,从数据库中查询该用户信息及对应的用户ID;通过从数据库中查询的用户信息对该登录认证请求消息认证通过时,向消息管理服务器发送携带有该用户ID的缓存预加载消息;从该消息管理服务器获取携带有该用户ID的缓存预加载消息;根据该缓存预加载消息从该数据库查询与该用户ID对应的用户信息,并按照预先配置的两层缓存存储结构将该用户ID及对应的用户信息保存在该缓存中。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于缓存的认证请求处理方法、装置、计算机设备及存储介质。
背景技术
目前在很多登录场景中,都需要对用户的身份信息进行认证,若每次都从数据库读取数据对用户身份信息进行验证,当用户量巨大时,数据库的访问压力是比较大的。有鉴于此,现在出现了一种方案,当需要对用户的登录信息进行认证时,先从缓存中读取用户的认证信息,通过缓存存储的用户认证信息对用户的登录请求进行认证,若缓存中没有存储用户的认证信息,则从数据库中存储的用户认证信息对用户的登录请求进行认证,并将该用户信息存入缓存。
目前的这种方案虽然在一定程度上降低了数据库的访问压力,但是对于没有在缓存中存储用户认证信息的认证请求,系统一方面要通过访问数据库对用户的登录信息进行认证,另一方面要同时将用户输入的用户信息存入缓存,以供下次登录认证时使用,在一定程度上增加了用户登录认证请求的处理时间,且这种缺陷随着新增用户量的增加而变得明显。
发明内容
本发明实施例提供一种基于缓存的认证请求处理方法、装置、计算机设备及存储介质,以解决对用户登录请求进行验证时认证的请求处理时间较长的技术问题。
本发明一方面提供了一种基于缓存的认证请求处理方法,该方法应用于服务器,该方法包括:
接收到携带有用户信息的登录认证请求消息时,从缓存中查询是否存储有该用户信息;
当该缓存中没有存储该用户信息时,从数据库中查询该用户信息及该用户信息对应的用户ID;
通过从该数据库中查询的该用户信息对该登录认证请求消息认证通过时,向消息管理服务器发送携带有该用户ID的缓存预加载消息;
从该消息管理服务器获取携带有该用户ID的缓存预加载消息;
根据该缓存预加载消息从该数据库查询与该用户ID对应的用户信息,并按照预先配置的两层缓存存储结构将该用户ID及对应的用户信息保存在该缓存中。
本发明另一方面提供了一种基于缓存的认证请求处理装置,该装置包括:
第一查询模块,用于接收到携带有用户信息的登录认证请求消息时,从缓存中查询是否存储有该用户信息;
第二查询模块,用于当该缓存中没有存储该用户信息时,从数据库中查询该用户信息及该用户信息对应的用户ID;
消息发送模块,用于通过从该数据库中查询的该用户信息对该登录认证请求消息认证通过时,向消息管理服务器发送携带有该用户ID的缓存预加载消息;
消息获取模块,用于从该消息管理服务器获取携带有该用户ID的缓存预加载消息;
保存模块,用于根据该缓存预加载消息从该数据库查询与该用户ID对应的用户信息,并按照预先配置的两层缓存存储结构将该用户ID及对应的用户信息保存在该缓存中。
本发明还提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于缓存的认证请求处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于缓存的认证请求处理方法的步骤。
本发明提出的基于缓存的认证请求处理方法、装置、计算机设备及存储介质,在接收到携带有用户信息的登录认证请求消息时,从缓存中查询是否存储有该用户信息,首先通过缓存进行认证,当该缓存中没有存储该用户信息时,从数据库中查询该用户信息及该用户信息对应的用户ID,通过数据库进行认证,通过从该数据库中查询的该用户信息对该登录认证请求消息认证通过时,向消息管理服务器发送携带有该用户ID的缓存预加载消息,从该消息管理服务器获取携带有该用户ID的缓存预加载消息,然后根据该缓存预加载消息从该数据库查询与该用户ID对应的用户信息,并按照预先配置的两层缓存存储结构将该用户ID及对应的用户信息保存在该缓存中,通过利用消息管理服务器将用户信息缓存与用户认证的时机分开,使得用户在进行登录认证时不会因为要对用户信息进行缓存影响用户登录认证的响应时间,在利用缓存进行认证的同时缩短了登录认证的响应时间,提高了登录认证的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中基于缓存的认证请求处理方法的一应用环境示意图;
图2是本发明一实施例中基于缓存的认证请求处理方法的一流程图;
图3是本发明另一实施例中基于缓存的认证请求处理方法的一流程图;
图4是本发明一实施例中基于缓存的认证请求处理装置的结构示意图;
图5是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的基于缓存的认证请求处理方法,可应用在如图1的应用环境中,其中,终端设备通过网络与服务器进行通信。其中,该终端设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种基于缓存的认证请求处理方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤S101至S105。
S101、接收到携带有用户信息的登录认证请求消息时,从缓存中查询是否存储有该用户信息。
可以理解的是,该携带有用户信息的登录认证请求消息是通过终端设备发送至本端,用户在终端设备上登录时,需要输入用户名、密码并点击登录按钮,对应的登录认证请求消息会携带该用户信息发送至本端。
可以理解的是,在本实施例中,当用户注册后首次进行登录认证时,该用户信息一般只存储在数据库中,当用户注册后非首次登录时,该用户的用户信息存储在缓存中,本实施例着重于用户注册后首次进行登录认证的情况,侧重于如何将用户信息存储在缓存中。
S102、当该缓存中没有存储该用户信息时,从数据库中查询该用户信息及该用户信息对应的用户ID。
可以理解的是,当所述缓存中没有存储与所述用户信息对应的认证信息时,即表示用户注册后首次进行登录认证,需要在缓存中存储用于登录认证的用户信息。
在其中一个实施例中,用户可以通过注册的方式得到该用户ID。具体地址,在该从数据库中查询该用户信息及该用户信息对应的用户ID的步骤之前,该方法包括:
接收到终端设备发送的注册请求时,接收该终端设备发送的携带有原始密码的用户信息;
根据该用户信息生成对应的用户ID。其中,所述用户信息包括但不限于用户的用户名、密码、手机号、身份证号码及登录名等,该用户ID用于标定同一个用户;
对该原始密码进行加密处理,得到加密密码;
将该用户ID、该用户信息及该加密密码存储在该数据库中。
本实施例通过对用户的密码进行加密存储,使得本端存储的密码即使被恶意程序窃取,由于其窃取到的是加密的密码,也无法得知该密码本身,从而提高了用户账户的安全性。
S103、通过从该数据库中查询的该用户信息对该登录认证请求消息认证通过时,向消息管理服务器发送携带有该用户ID的缓存预加载消息。
进一步地,该步骤中通过从该数据库中查询的该用户信息对该登录认证请求消息进行认证的步骤包括:
从该登录认证请求消息携带的用户信息中提取用户名及密码;
根据该数据库中存储的用户信息获取对应用户的用户名及对应的加密密码;
对该加密密码进行解密,得到该原始密码。其中,该原始密码包括但不限于面部特征密码、字符密码、指纹特征密码等;
当提取的该用户名与该数据库中存储的用户名相同,且提取的该密码与该原始密码相同时,判断认证通过,否则,判断认证不通过。
本实施例通过对用户的原始密码进行加密解密管理,可以有效防止用户的密码在数据传输过程中被截取泄露导致用户的账户存在风险。
S104、从该消息管理服务器获取携带有该用户ID的缓存预加载消息。
在其中一个实施例中,本步骤从所述消息管理服务器获取携带有所述用户ID的缓存预加载消息的时机与上述步骤S103中对所述登录认证请求消息进行认证的时机不同,本步骤优选在服务器空闲时进行。
可以理解的是,该消息管理服务器可以将缓存预加载消息队列化形式管理,该消息管理服务器用于将缓存预加载消息存储起来,待后续根据该缓存预加载消息将对应用户ID的用户信息存储在缓存中。
S105、根据该缓存预加载消息从该数据库查询与该用户ID对应的用户信息,并按照预先配置的两层缓存存储结构将该用户ID及对应的用户信息保存在该缓存中。
在其中一个实施例中,该用户信息包括用户的用户名、密码及用户身份信息,该预先配置的两层缓存存储结构中第一层的key为该用户名,该第一层key的value值为该密码及该用户ID,该两层缓存存储结构中第二层的key为该用户ID,该第二层key的value值为该用户身份信息。
其中,该用户身份信息包括所述用户名。该用户名可以是用户的姓名,该用户身份信息除了包括用户的姓名外,还可以包括该用户的手机号码、身份证号码、护照号、昵称等等。
本实施例在接收到携带有用户信息的登录认证请求消息时,从缓存中查询是否存储有该用户信息,首先通过缓存进行认证,当该缓存中没有存储该用户信息时,从数据库中查询该用户信息及该用户信息对应的用户ID,通过数据库进行认证,通过从该数据库中查询的该用户信息对该登录认证请求消息认证通过时,向消息管理服务器发送携带有该用户ID的缓存预加载消息,从该消息管理服务器获取携带有该用户ID的缓存预加载消息,然后根据该缓存预加载消息从该数据库查询与该用户ID对应的用户信息,并按照预先配置的两层缓存存储结构将该用户ID及对应的用户信息保存在该缓存中,通过利用消息管理服务器将用户信息缓存与用户认证的时机分开,使得用户在进行登录认证时不会因为要对用户信息进行缓存影响用户登录认证的响应时间,在利用缓存进行认证的同时缩短了登录认证的响应时间,提高了登录认证的效率。
在其中一个实施例中,在向消息管理服务器发送携带有所述用户ID的缓存预加载消息时,该缓存预加载消息还携带有发送所述缓存预加载消息的时刻,该步骤S105中根据该缓存预加载消息从该数据库查询与该用户ID对应的用户信息的步骤之后,该方法还包括:
当从该消息管理服务器获取携带有同一用户ID的同一类型的缓存预加载消息包括多条时,从该数据库查询同一用户ID同一类型中最新时刻的缓存预加载消息;
该步骤S105中按照预先配置的两层缓存存储结构将该用户ID及对应的用户信息保存在该缓存中的步骤包括:
按照预先配置的两层缓存存储结构,将同一用户ID最新时刻的缓存预加载消息携带的用户信息保存在该缓存中。
可以理解的是,该同一类型的缓存预加载消息例如同一用户ID的密码修改缓存预加载消息、同一用户ID的昵称修改缓存预加载消息、同一用户ID的手机号修改缓存预加载消息等。
其中,根据本实施例的一个使用场景例如:当用户于某一日2:30修改过一次密码,于该日2:35第二次修改密码时,数据库中存储有该用户在这两个时间点修改密码的消息,则在查询缓存预加载消息时,仅从该数据库查询同一用户ID同一类型中最新时刻的修改密码的缓存预加载消息,在加载缓存时,仅将该用户ID最新时刻(即2:35)的修改密码的缓存预加载消息携带的用户信息(即密码)保存在该缓存中。
本实施例当从所述消息管理服务器获取携带有同一用户ID的同一类型的缓存预加载消息包括多条时,只处理同一用户ID最新时刻的缓存预加载消息,可以减少不必要缓存的修改次数,优化系统流程。
图3是本发明另一实施例中基于缓存的认证请求处理方法的一流程图,当用户需要对密码等用户信息进行更新时,如图3所示,在上述步骤S105的步骤之后还包括以下步骤S301至S306。
S301、接收到携带有原始用户信息及更新后的用户信息的变更请求消息时,根据该原始用户信息从该数据库中查询对应的用户ID。
可以理解的是,该步骤中的原始用户信息表示修改前的用户信息,该原始用户信息可以从登陆信息或历史数据中得到。
S302、根据该更新后的用户信息对该数据库中存储的用户信息进行更新。
在其中一个实施例中,对该数据库中存储的用户信息进行更新的方式可以是用更新后的用户信息替换数据库中对应存储的原始的用户信息。
S303、删除该缓存中存储的与该用户ID对应的用户信息。
鉴于本实施例中两层缓存存储结构,该步骤S303中删除所述缓存中存储的与所述用户ID对应的用户信息的步骤进一步包括:
根据终端设备发送的用户身份信息从所述第二层缓存结构中查询对应的用户ID;
删除所述第二层缓存结构中存储的与所述用户ID对应的用户身份信息;
删除第一层缓存结构中存储的与所述用户ID对应的用户名。
在其中一个实施例中,当所述变更请求消息为密码变更请求消息时,该步骤删除第一层缓存结构中存储的与所述用户ID对应的用户名进一步包括:
删除第一层缓存结构中存储的与所述用户ID对应的加密密码。
S304、向该消息管理服务器发送携带有该用户ID的缓存预加载消息。
S305、从该消息管理服务器获取携带有该用户ID的缓存预加载消息。
在其中一个实施例中,本步骤从所述消息管理服务器获取携带有所述用户ID的缓存预加载消息的时机与上述步骤S304中对向该消息管理服务器发送携带有该用户ID的缓存预加载消息的时机不同,本步骤优选在服务器空闲时进行,通过利用消息管理服务器将用户信息缓存与用户更新的时机分开,使得用户在进行信息更新时不会因为要对更新的用户信息进行缓存影响用户更新的响应时间,在利用缓存进行更新的同时缩短了登录认证的响应时间,提高了登录认证的效率。
S306、根据该缓存预加载消息从该数据库查询与该用户ID对应的更新后的用户信息,并按照预先配置的两层缓存存储结构将该用户ID及该更新后的用户信息保存在缓存中。
本实施例通过设置用户信息异步缓存,使得海量用户登录认证时,不会加长用户登录认证的时间,通过设定缓存方式是向消息管理服务器发送预热消息,由消息消费平台后期从消息管理服务器拉取预热消息,同样的在用户更新用户信息时,在数据库中还是以原始的方式更新存储,通过向消息管理服务器发送预热消息,由消息消费平台后期从消息管理服务器拉取预热消息对缓存中的用户数据进行更新,一方面不影响数据库原始的结构及查询方式,降低逻辑耦合,通过消息管理服务器异步加载,不额外增加服务性能。并通过设定同一用户ID的同类预热消息(例如修改用户密码)中,只需要对最新时刻的预热消息进行缓存处理,可以减少不必要缓存的修改次数,优化修改逻辑。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种基于缓存的认证请求处理装置,该基于缓存的认证请求处理装置与上述实施例中基于缓存的认证请求处理方法一一对应。如图4所示,该基于缓存的认证请求处理装置100包括第一查询模块11、第二查询模块12、消息发送模块13、消息获取模块14和保存模块15。各功能模块详细说明如下:
第一查询模块11,用于接收到携带有用户信息的登录认证请求消息时,从缓存中查询是否存储有该用户信息;
第二查询模块12,用于当该缓存中没有存储该用户信息时,从数据库中查询该用户信息及该用户信息对应的用户ID;
消息发送模块13,用于通过从该数据库中查询的该用户信息对该登录认证请求消息认证通过时,向消息管理服务器发送携带有该用户ID的缓存预加载消息;
消息获取模块14,用于从该消息管理服务器获取携带有该用户ID的缓存预加载消息;
保存模块15,用于根据该缓存预加载消息从该数据库查询与该用户ID对应的用户信息,并按照预先配置的两层缓存存储结构将该用户ID及对应的用户信息保存在该缓存中。
在其中一个实施例中,该用户信息包括用户的用户名、密码及用户身份信息,该两层缓存存储结构中第一层的key为该用户名,该第一层key的value值为该密码及该用户ID,该两层缓存存储结构中第二层的key为该用户ID,该第二层key的value值为该用户身份信息。
在其中一个实施例中,该第二查询模块还用于当从该消息管理服务器获取携带有同一用户ID的同一类型的缓存预加载消息包括多条时,从该数据库查询同一用户ID同一类型中最新时刻的缓存预加载消息;
该保存模块具体用于按照预先配置的两层缓存存储结构,将同一用户ID最新时刻的缓存预加载消息携带的用户信息保存在该缓存中。
在其中一个实施例中,该基于缓存的认证请求处理装置100还包括:
注册请求模块,用于接收到终端设备发送的注册请求时,接收该终端设备发送的携带有原始密码的用户信息;
用户ID生成模块,用于根据该用户信息生成对应的用户ID;
加密模块,用于对该原始密码进行加密处理,得到加密密码;
存储模块,用于将该用户ID、该用户信息及该加密密码存储在该数据库中。
在其中一个实施例中,该基于缓存的认证请求处理装置100还包括:
提取模块,用于从该登录认证请求消息携带的用户信息中提取用户名及密码;
加密密码获取模块,用于根据该数据库中存储的用户信息获取对应用户的用户名及对应的加密密码;
解密模块,用于对该加密密码进行解密,得到该原始密码;
判断模块,用于当提取的该用户名与该数据库中存储的用户名相同,且提取的该密码与该原始密码相同时,判断认证通过,否则,判断认证不通过。
进一步地,该基于缓存的认证请求处理装置100还包括:
变更请求接收模块,用于接收到携带有原始用户信息及更新后的用户信息的变更请求消息时,根据该原始用户信息从该数据库中查询对应的用户ID;
数据库更新模块,用于根据该更新后的用户信息对该数据库中存储的用户信息进行更新;
删除模块,用于删除该缓存中存储的与该用户ID对应的用户信息;
所述消息发送模块具体用于向该消息管理服务器发送携带有该用户ID的缓存预加载消息;
所述消息获取模块具体用于从该消息管理服务器获取携带有该用户ID的缓存预加载消息;
所述保存模块具体用于根据该缓存预加载消息从该数据库查询与该用户ID对应的更新后的用户信息,并按照预先配置的两层缓存存储结构将该用户ID及该更新后的用户信息保存在缓存中。
其中上述模块/单元中的“第一”和“第二”的意义仅在于将不同的模块/单元加以区分,并不用于限定哪个模块/单元的优先级更高或者其它的限定意义。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式。
本实施例提出的基于缓存的认证请求处理装置与上述实施例中基于缓存的认证请求处理方法相对应,在接收到携带有用户信息的登录认证请求消息时,从缓存中查询是否存储有该用户信息,首先通过缓存进行认证,当该缓存中没有存储该用户信息时,从数据库中查询该用户信息及该用户信息对应的用户ID,通过数据库进行认证,通过从该数据库中查询的该用户信息对该登录认证请求消息认证通过时,向消息管理服务器发送携带有该用户ID的缓存预加载消息,从该消息管理服务器获取携带有该用户ID的缓存预加载消息,然后根据该缓存预加载消息从该数据库查询与该用户ID对应的用户信息,并按照预先配置的两层缓存存储结构将该用户ID及对应的用户信息保存在该缓存中,通过利用消息管理服务器将用户信息缓存与用户认证的时机分开,使得用户在进行登录认证时不会因为要对用户信息进行缓存影响用户登录认证的响应时间,在利用缓存进行认证的同时缩短了登录认证的响应时间,提高了登录认证的效率。
关于基于缓存的认证请求处理装置的具体限定可以参见上文中对于基于缓存的认证请求处理方法的限定,在此不再赘述。上述基于缓存的认证请求处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于缓存的认证请求处理方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于缓存的认证请求处理方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中基于缓存的认证请求处理方法的步骤,例如图2所示的步骤101至步骤105及该方法的其它扩展和相关步骤的延伸。或者,处理器执行计算机程序时实现上述实施例中基于缓存的认证请求处理装置的各模块/单元的功能,例如图4所示模块11至模块15的功能。为避免重复,这里不再赘述。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。
所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中基于缓存的认证请求处理方法的步骤,例如图2所示的步骤101至步骤105及该方法的其它扩展和相关步骤的延伸。或者,计算机程序被处理器执行时实现上述实施例中基于缓存的认证请求处理装置的各模块/单元的功能,例如图4所示模块11至模块15的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于缓存的认证请求处理方法,所述方法应用于服务器,其特征在于,所述方法包括:
接收到携带有用户信息的登录认证请求消息时,从缓存中查询是否存储有所述用户信息;
当所述缓存中没有存储所述用户信息时,从数据库中查询所述用户信息及所述用户信息对应的用户ID;
通过从所述数据库中查询的所述用户信息对所述登录认证请求消息认证通过时,向消息管理服务器发送携带有所述用户ID的缓存预加载消息;
从所述消息管理服务器获取携带有所述用户ID的缓存预加载消息;
根据所述缓存预加载消息从所述数据库查询与所述用户ID对应的用户信息,并按照预先配置的两层缓存存储结构将所述用户ID及对应的用户信息保存在所述缓存中;
在所述按照预先配置的两层缓存存储结构将所述用户ID及对应的用户信息保存在所述缓存中的步骤之后,所述方法还包括:
接收到携带有原始用户信息及更新后的用户信息的变更请求消息时,根据所述原始用户信息从所述数据库中查询对应的用户ID;
根据所述更新后的用户信息对所述数据库中存储的用户信息进行更新;
删除所述缓存中存储的与所述用户ID对应的用户信息;
向所述消息管理服务器发送携带有所述用户ID的缓存预加载消息;
从所述消息管理服务器获取携带有所述用户ID的缓存预加载消息;
根据所述缓存预加载消息从所述数据库查询与所述用户ID对应的更新后的用户信息,并按照预先配置的两层缓存存储结构将所述用户ID及所述更新后的用户信息保存在缓存中。
2.根据权利要求1所述的基于缓存的认证请求处理方法,其特征在于,在所述从数据库中查询所述用户信息及所述用户信息对应的用户ID的步骤之前,所述方法包括:
接收到终端设备发送的注册请求时,接收所述终端设备发送的携带有原始密码的用户信息;
根据所述用户信息生成对应的用户ID;
对所述原始密码进行加密处理,得到加密密码;
将所述用户ID、所述用户信息及所述加密密码存储在所述数据库中。
3.根据权利要求2所述的基于缓存的认证请求处理方法,其特征在于,通过从所述数据库中查询的所述用户信息对所述登录认证请求消息进行认证的步骤包括:
从所述登录认证请求消息携带的用户信息中提取用户名及密码;
根据所述数据库中存储的用户信息获取对应用户的用户名及对应的加密密码;
对所述加密密码进行解密,得到所述原始密码;
当提取的所述用户名与所述数据库中存储的用户名相同,且提取的所述密码与所述原始密码相同时,判断认证通过,否则,判断认证不通过。
4.根据权利要求1所述的基于缓存的认证请求处理方法,其特征在于,所述根据所述缓存预加载消息从所述数据库查询与所述用户ID对应的用户信息的步骤之后,所述方法还包括:
当从所述消息管理服务器获取携带有同一用户ID的同一类型的缓存预加载消息包括多条时,从所述数据库查询同一用户ID同一类型中最新时刻的缓存预加载消息;
所述按照预先配置的两层缓存存储结构将所述用户ID及对应的用户信息保存在所述缓存中的步骤包括:
按照预先配置的两层缓存存储结构,将同一用户ID最新时刻的缓存预加载消息携带的用户信息保存在所述缓存中。
5.根据权利要求1至4任一项所述的基于缓存的认证请求处理方法,其特征在于,所述用户信息包括用户的用户名、密码及用户身份信息,所述两层缓存存储结构中第一层的key为所述用户名,所述第一层key的value值为所述密码及所述用户ID,所述两层缓存存储结构中第二层的key为所述用户ID,所述第二层key的value值为所述用户身份信息。
6.一种基于缓存的认证请求处理装置,其特征在于,所述装置包括:
第一查询模块,用于接收到携带有用户信息的登录认证请求消息时,从缓存中查询是否存储有所述用户信息;
第二查询模块,用于当所述缓存中没有存储所述用户信息时,从数据库中查询所述用户信息及所述用户信息对应的用户ID;
消息发送模块,用于通过从所述数据库中查询的所述用户信息对所述登录认证请求消息认证通过时,向消息管理服务器发送携带有所述用户ID的缓存预加载消息;
消息获取模块,用于从所述消息管理服务器获取携带有所述用户ID的缓存预加载消息;
保存模块,用于根据所述缓存预加载消息从所述数据库查询与所述用户ID对应的用户信息,并按照预先配置的两层缓存存储结构将所述用户ID及对应的用户信息保存在所述缓存中;
在所述按照预先配置的两层缓存存储结构将所述用户ID及对应的用户信息保存在所述缓存中的步骤之后,还包括:
接收到携带有原始用户信息及更新后的用户信息的变更请求消息时,根据所述原始用户信息从所述数据库中查询对应的用户ID;
根据所述更新后的用户信息对所述数据库中存储的用户信息进行更新;
删除所述缓存中存储的与所述用户ID对应的用户信息;
向所述消息管理服务器发送携带有所述用户ID的缓存预加载消息;
从所述消息管理服务器获取携带有所述用户ID的缓存预加载消息;
根据所述缓存预加载消息从所述数据库查询与所述用户ID对应的更新后的用户信息,并按照预先配置的两层缓存存储结构将所述用户ID及所述更新后的用户信息保存在缓存中。
7.根据权利要求6所述的基于缓存的认证请求处理装置,其特征在于:
所述第二查询模块还用于当从所述消息管理服务器获取携带有同一用户ID的同一类型的缓存预加载消息包括多条时,从所述数据库查询同一用户ID同一类型中最新时刻的缓存预加载消息;
所述保存模块具体用于按照预先配置的两层缓存存储结构,将同一用户ID最新时刻的缓存预加载消息携带的用户信息保存在所述缓存中。
8.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述基于缓存的认证请求处理方法的步骤。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述基于缓存的认证请求处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011422504.4A CN112527835B (zh) | 2020-12-04 | 2020-12-04 | 基于缓存的认证请求处理方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011422504.4A CN112527835B (zh) | 2020-12-04 | 2020-12-04 | 基于缓存的认证请求处理方法、装置及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112527835A CN112527835A (zh) | 2021-03-19 |
CN112527835B true CN112527835B (zh) | 2023-07-11 |
Family
ID=74998197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011422504.4A Active CN112527835B (zh) | 2020-12-04 | 2020-12-04 | 基于缓存的认证请求处理方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527835B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656772B (zh) * | 2021-07-26 | 2024-06-21 | 北京达佳互联信息技术有限公司 | 信息处理方法、装置、电子设备及存储介质 |
CN113709164A (zh) * | 2021-08-31 | 2021-11-26 | 浪潮软件科技有限公司 | 一种基于消息队列的退役军人身份认证方法及系统 |
CN115134134A (zh) * | 2022-06-23 | 2022-09-30 | 中国民航信息网络股份有限公司 | 一种信息处理方法、装置及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107147660A (zh) * | 2017-06-01 | 2017-09-08 | 上海斐讯数据通信技术有限公司 | 一种海量用户高效登录认证方法及系统 |
CN108306877A (zh) * | 2018-01-30 | 2018-07-20 | 泰康保险集团股份有限公司 | 基于node js的用户身份信息的验证方法、装置和存储介质 |
CN110502536A (zh) * | 2019-06-26 | 2019-11-26 | 中电万维信息技术有限责任公司 | 基于缓存数据库校验业务唯一性的方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4039632B2 (ja) * | 2003-08-14 | 2008-01-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 認証システム、サーバおよび認証方法並びにプログラム |
-
2020
- 2020-12-04 CN CN202011422504.4A patent/CN112527835B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107147660A (zh) * | 2017-06-01 | 2017-09-08 | 上海斐讯数据通信技术有限公司 | 一种海量用户高效登录认证方法及系统 |
CN108306877A (zh) * | 2018-01-30 | 2018-07-20 | 泰康保险集团股份有限公司 | 基于node js的用户身份信息的验证方法、装置和存储介质 |
CN110502536A (zh) * | 2019-06-26 | 2019-11-26 | 中电万维信息技术有限责任公司 | 基于缓存数据库校验业务唯一性的方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112527835A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112527835B (zh) | 基于缓存的认证请求处理方法、装置及相关设备 | |
CN111488598B (zh) | 访问控制方法、装置、计算机设备和存储介质 | |
CN109325342B (zh) | 身份信息管理方法、装置、计算机设备和存储介质 | |
US10440111B2 (en) | Application execution program, application execution method, and information processing terminal device that executes application | |
CN109600377B (zh) | 防越权方法、装置、计算机设备及存储介质 | |
CN112559993B (zh) | 身份认证方法、装置、系统及电子设备 | |
CN112528268B (zh) | 跨渠道的小程序登录管理方法、装置及相关设备 | |
CN111241555B (zh) | 模拟用户登录的访问方法、装置、计算机设备和存储介质 | |
CN109286933B (zh) | 认证方法、装置、系统、计算机设备和存储介质 | |
WO2021169305A1 (zh) | 声纹数据处理方法、装置、计算机设备和存储介质 | |
CN112016122A (zh) | 网页数据处理方法、装置、计算机设备及存储介质 | |
WO2021169469A1 (zh) | 声纹数据处理方法、装置、计算机设备和存储介质 | |
CN111147235B (zh) | 对象访问方法、装置、电子设备及机器可读存储介质 | |
CN115168064A (zh) | 应用服务调用方法和装置、应用程序接入方法 | |
CN117494207A (zh) | 数据存储方法、数据访问方法、装置、设备以及存储介质 | |
CN114567557B (zh) | 报文处理方法、装置、计算机设备和存储介质 | |
CN114448722B (zh) | 跨浏览器登录方法、装置、计算机设备和存储介质 | |
CN113742681B (zh) | 一种账户管理方法、装置、计算机设备和存储介质 | |
CN110995437B (zh) | 基于etc系统的用户信息录入方法、装置、设备和存储介质 | |
CN114301715A (zh) | 联盟链数据安全审计方法、装置、计算机设备及存储介质 | |
CN113360809A (zh) | 页面数据更新方法、装置、计算机设备及存储介质 | |
CN112260997A (zh) | 数据访问方法、装置、计算机设备和存储介质 | |
CN111552551A (zh) | 基于主从系统的用户管理方法、装置、计算机设备和介质 | |
KR101811285B1 (ko) | 부가인증장치에 기반한 클라우드 시스템의 인증 방법 및 그 클라우드 시스템 | |
CN111740980B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |