CN117762673A - 访问请求处理方法、装置、存储介质及电子设备 - Google Patents
访问请求处理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117762673A CN117762673A CN202311793290.5A CN202311793290A CN117762673A CN 117762673 A CN117762673 A CN 117762673A CN 202311793290 A CN202311793290 A CN 202311793290A CN 117762673 A CN117762673 A CN 117762673A
- Authority
- CN
- China
- Prior art keywords
- target
- redis
- access request
- condition
- server
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 21
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 30
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000006399 behavior Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种访问请求处理方法、装置、存储介质及电子设备。涉及软件工程及数据处理领域,该方法包括:基于账户访问请求,通过分布式缓存组件,从Redis集群中查询逻辑数据中心对应的目标Redis服务器;在检测到目标Redis服务器不存在故障的情况下,确定账户访问请求对应的访问路径,以及账户访问请求对应的账户名称;基于访问路径和账户名称,得到目标键;在目标Redis服务器中存在目标键的情况下,拦截账户访问请求。本发明解决了相关技术中的访问请求处理方法无法对重复访问进行有效拦截,导致的服务器内存溢出,数据处理效率低的技术问题。
Description
技术领域
本发明涉及软件工程及数据处理领域,具体而言,涉及一种访问请求处理方法、装置、存储介质及电子设备。
背景技术
当用户在网页页面进行大批量数据变更时,为避免服务器内存溢出等问题,需限制操作次数,在一定时间内访问次数有限。现有解决方案是将访问路径存储到Redis中,过时销毁。存储过程中再次访问则进行拦截。但现有解决方案缺乏容灾性,如Redis集群宕机后面临恶意操作多次变更大量数据,可能会导致服务器也宕机。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种访问请求处理方法、装置、存储介质及电子设备,以至少解决相关技术中的访问请求处理方法无法对重复访问进行有效拦截,导致的服务器内存溢出,数据处理效率低的技术问题。
根据本发明实施例的一个方面,提供了一种访问请求处理方法,包括:基于账户访问请求,通过分布式缓存组件,从远程字典服务器Redis集群中查询逻辑数据中心对应的目标Redis服务器;在检测到所述目标Redis服务器不存在故障的情况下,确定所述账户访问请求对应的访问路径,以及所述账户访问请求对应的账户名称;基于所述访问路径和所述账户名称,得到目标键;在所述目标Redis服务器中存在所述目标键的情况下,拦截所述账户访问请求。
可选的,所述方法还包括:在检测到所述目标Redis服务器存在故障的情况下,将所述账户访问请求路由至所述Redis集群中,除所述目标Redis服务器之外的其他Redis服务器;检测所述其他Redis服务器中是否存在未故障的第一Redis服务器;在所述其他Redis服务器中存在所述第一Redis服务器的情况下,查询所述第一Redis服务器中是否存在所述目标键;在所述第一Redis服务器中存在所述目标键的情况下,拦截所述账户访问请求。
可选的,所述方法还包括:在检测到所述Redis集群中的Redis服务器均故障的情况下,通过分布式数据库组件,从数据库集群中查询所述逻辑数据中心对应的目标数据库;在检测到所述目标数据库不存在故障的情况下,查询所述目标数据库中是否存在所述访问路径;在所述目标数据库中存在所述访问路径的情况下,查询所述访问路径在所述目标数据库中的存储时长是否大于预设第一时长;在所述访问路径在所述目标数据库中的存储时长不大于所述预设第一时长的情况下,拦截所述账户访问请求。
可选的,所述方法还包括:在所述访问路径在所述目标数据库中的存储时长大于所述预设第一时长,或者所述目标数据库中不存在所述访问路径的情况下,将所述访问路径存储至所述目标数据库中,并继续执行所述账户访问请求。
可选的,所述方法还包括:在检测到所述目标数据库存在故障的情况下,将所述账户访问请求路由至所述Redis集群中,除所述目标Redis服务器之外的其他Redis服务器;检测所述其他Redis服务器中是否存在未故障的第一Redis服务器;在其他Redis服务器中存在所述第一Redis服务器的情况下,查询所述第一Redis服务器中是否存在所述访问路径;在所述第一Redis服务器中存在所述访问路径的情况下,查询所述访问路径在所述目标数据库中的存储时长是否大于预设第二时长;在所述访问路径在所述目标数据库中的存储时长不大于所述预设第二时长的情况下,拦截所述账户访问请求。
可选的,所述方法还包括:在所述数据库集群中包括的数据库均存在故障的情况下,拦截所述账户访问请求。
可选的,所述方法还包括:在所述目标Redis服务器中不存在所述目标键的情况下,将所述目标键存储至所述目标Redis服务器中,并记录所述目标键在所述目标Redis服务器中的存储时长;在所述目标键在所述目标Redis服务器中的存储时长大于预设第三时长的情况下,将所述目标键从所述目标Redis服务器中移除。根据本发明实施例的另一方面,还提供了一种访问请求处理装置,包括:查询模块,用于基于账户访问请求,通过分布式缓存组件,从远程字典服务器Redis集群中查询逻辑数据中心对应的目标Redis服务器;确定模块,用于在检测到所述目标Redis服务器不存在故障的情况下,确定所述账户访问请求对应的访问路径,以及所述账户访问请求对应的账户名称;获取模块,用于基于所述访问路径和所述账户名称,得到目标键;拦截模块,用于在所述目标Redis服务器中存在所述目标键的情况下,拦截所述账户访问请求。
根据本发明实施例的另一方面,还提供了一种非易失性存储介质,所述非易失性存储介质存储有多条指令,所述指令适于由处理器加载并执行任意一项所述的访问请求处理方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现任意一项所述的访问请求处理方法。
在本发明实施例中,通过基于账户访问请求,通过分布式缓存组件,从远程字典服务器Redis集群中查询逻辑数据中心对应的目标Redis服务器;在检测到所述目标Redis服务器不存在故障的情况下,确定所述账户访问请求对应的访问路径,以及所述账户访问请求对应的账户名称;基于所述访问路径和所述账户名称,得到目标键;在目标Redis服务器中存在所述目标键的情况下,拦截所述账户访问请求,达到了依次进行Redis服务器故障、访问路径目标键的识别,准确识别出重复访问行为,并进行相应的访问拦截的目的,从而实现了提升重复访问识别准确性,进而降低服务器数据处理压力的技术效果,进而解决了相关技术中的访问请求处理方法无法对重复访问进行有效拦截,导致的服务器内存溢出,数据处理效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种访问请求处理方法的示意图;
图2是根据本发明实施例的一种可选的访问请求处理方法的示意图;
图3是根据本发明实施例的一种访问请求处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,为方便理解本发明实施例,下面将对本发明中所涉及的部分术语或名词进行解释说明:
逻辑数据中心(Logical Data Center,LDC),指由多个物理数据中心(PhysicalData Center)组成的虚拟化数据中心。LDC通过虚拟化技术将多个物理数据中心的资源(例如服务器、存储、网络等)进行整合和管理,形成一个逻辑上的统一数据中心。
DDS(Distributed Database Service,分布式数据库组件),用于根据配置将数据逻辑中心LDC的数据库请求路由到特定的分库分表,达到负载均衡、容灾的效果。
DCH(Distributed Cache Helper,分布式缓存组件),用于根据配置将数据逻辑中心LDC的缓存请求路由到特定的Redis集群,达到负载均衡、容灾的效果。
Redis集群,Redis是一个内存键值存储系统,具有高性能和灵活的数据结构支持。Redis集群是多个Redis节点(即Redis服务器)组成的集群,用于存储和管理大规模的数据。Redis集群采用分布式架构,可以实现数据的高可用性和负载均衡。它常用于缓存、会话管理、实时数据分析等场景,提供快速的数据访问和处理能力。
根据本发明实施例,提供了一种访问请求处理的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的访问请求处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,基于账户访问请求,通过分布式缓存组件,从远程字典服务器Redis集群中查询逻辑数据中心对应的目标Redis服务器;
步骤S104,在检测到目标Redis服务器不存在故障的情况下,确定账户访问请求对应的访问路径,以及账户访问请求对应的账户名称;
步骤S106,基于访问路径和账户名称,得到目标键;
步骤S108,在目标Redis服务器中存在目标键的情况下,拦截账户访问请求。
可选的,目标Redis服务器可以是Redis集群中的任意一个服务器,也可以是通过特定的算法从Redis集群中筛选出来的。例如,确定账户查询请求对应的缓存键;基于缓存键,采用一致性哈希算法,从Redis集群中确定目标Redis节点,在Redis集群中每一个Redis节点对应为一个Redis服务器。需要查询的缓存键是根据具体业务需求确定的,通常是根据用户请求的参数或其他标识生成的。例如,对于一个电子商务网站,可以将商品地址ID作为缓存键;对于一个新闻网站,可以将新闻ID或文章URL作为缓存键。使用一致性哈希算法将缓存键映射到具体的目标Redis节点的过程如下:
步骤S11,基于Redis集群,确定需要选择的Redis节点列表,这些节点是大型数据库集群LDC对应的远程字典服务器Redis节点。
步骤S12,为每个Redis节点生成多个虚拟节点(虚拟副本),虚拟节点的数量可以根据需要进行配置。虚拟节点可以通过在节点名称后面添加索引或哈希值来生成。
步骤S13,构建一致性哈希环。将所有的虚拟节点按照顺时针顺序添加到哈希环上。可以使用哈希函数(如MD5消息摘要算法、安全散列SHA-1算法)将虚拟节点的名称映射到哈希环上的一个位置。
步骤S14,根据缓存键,使用哈希函数计算出一个哈希值。
步骤S15,在一致性哈希环上,从哈希值的位置开始顺时针查找,找到第一个大于等于哈希值的虚拟节点。该虚拟节点所对应的物理节点即为目标Redis节点(即目标Redis服务器)。
可选的,首先基于账户访问请求,通过分布式缓存组件DCH查询逻辑数据中心LDC对应的目标Redis服务器,对目标Redis服务器进行故障检测,在检测到目标Redis服务器不存在故障的情况下,进一步基于访问路径和账户名称,得到目标键KEY,判断目标Redis服务器是否存在该KEY,如果存在,则表明该账户访问请求为重复访问行为,需要对该账户访问请求进行拦截。通过以上方式,在进行KEY匹配之前,先进行目标Redis服务器的故障判断,并在目标Redis服务器无故障的基础上进行KEY的判断,由此避免目标Redis服务器故障情况下重复访问行为的漏识别,提升重复访问行为识别准确性。
通过上述步骤S102至步骤S108,可以达到依次进行Redis服务器故障、访问路径目标键的识别,准确识别出重复访问行为,并进行相应的访问拦截的目的,从而实现提升重复访问识别准确性,进而降低服务器数据处理压力的技术效果,进而解决相关技术中的访问请求处理方法无法对重复访问进行有效拦截,导致的服务器内存溢出,数据处理效率低的技术问题。本发明实施例适用于如下场景:当用户在网页页面进行大批量数据变更时,为应对服务器内存溢出等问题,需限制操作次数,限制用户的访问路径在一定时间内的访问次数。并且本发明实施例解决了容灾问题,提升了重复访问拦截的效果。
在一种可选的实施例中,该方法还包括:在检测到目标Redis服务器存在故障的情况下,将账户访问请求路由至Redis集群中,除目标Redis服务器之外的其他Redis服务器;检测其他Redis服务器中是否存在未故障的第一Redis服务器;在其他Redis服务器中存在第一Redis服务器的情况下,查询第一Redis服务器中是否存在目标键;在第一Redis服务器中存在目标键的情况下,拦截账户访问请求。
可选的,账户访问请求对应的访问数据分布于Redis集群中的每一个Redis服务器中,当检测到目标Redis服务器发生故障的情况下,则可以考虑从其他Redis服务器进行请求数据的获取。因此,需要进一步检测其他Redis服务器是否存在故障,如果其他Redis服务器中存在未故障的第一Redis服务器,则进一步查询该第一Redis服务器中是否存在KEY,如果存在,则表明该账户基于账户访问请求访问过第一Redis服务器,此时进行账户访问请求的拦截。通过以上方式,不仅可以有效避免同一账户针对同一访问行为的重复性访问,同时可以避免在目标Redis服务器出现故障时重复访问行为的漏识别,进而达到提升重复访问行为识别准确性的目的。
在一种可选的实施例中,该方法还包括:在检测到Redis集群中的Redis服务器均故障的情况下,通过分布式数据库组件,从数据库集群中查询逻辑数据中心对应的目标数据库;在检测到目标数据库不存在故障的情况下,查询目标数据库中是否存在访问路径;在目标数据库中存在访问路径的情况下,查询访问路径在目标数据库中的存储时长是否大于预设第一时长;在访问路径在目标数据库中的存储时长不大于预设第一时长的情况下,拦截账户访问请求。
可选的,在检测到所有的Redis服务器均故障的情况下,则进一步通过分布式数据库组件DDS查询逻辑数据中心LDC对应的目标数据库,该目标数据库可以为数据库中的任意一个数据库,在数据库集群中,每一个数据库可以作为一个数据库节点。进一步判断该目标数据库是否故障,如果该目标数据库不存在故障,则进一步根据账户名(即用户名)查询该目标数据库,确认访问路径是否存在,如果存在,则表明该账户访问请求可能为重复访问。但是考虑到访问路径在目标数据库中的存储时长与访问路径是否有效有关。当访问路径在数据库中的存储时长较大,且大于预设第一时长时,该访问路径会自动失效,此时还可以继续执行该访问请求;若访问路径在目标数据库中的存储时长较小,且不大于预设第一时长的情况下,则表明该访问路径未失效,该访问请求为重复访问,此时需要对该访问请求进行拦截,以避免重复访问行为,降低服务器的数据处理压力。
在一种可选的实施例中,该方法还包括:在访问路径在目标数据库中的存储时长大于预设第一时长,或者目标数据库中不存在访问路径的情况下,将访问路径存储至目标数据库中,并继续执行账户访问请求。
可选的,考虑到访问路径在数据库中的存储时长与访问路径是否有效有关。当访问路径在数据库中的存储时长较长,且大于预设第一时长时,该访问路径会自动失效,此时还可以继续执行该访问请求,并在目标数据库中重新对该账户访问请求的存储时长进行计时。
可选的,如果目标Redis服务器不存在该目标键KEY,则表明该账户访问请求不是重复访问请求,可以放任该账户访问请求继续执行。
在一种可选的实施例中,该方法还包括:在检测到目标数据库存在故障的情况下,将账户访问请求路由至Redis集群中,除目标Redis服务器之外的其他Redis服务器;检测其他Redis服务器中是否存在未故障的第一Redis服务器;在其他Redis服务器中存在第一Redis服务器的情况下,查询第一Redis服务器中是否存在访问路径;在第一Redis服务器中存在访问路径的情况下,查询访问路径在目标数据库中的存储时长是否大于预设第二时长;在访问路径在目标数据库中的存储时长不大于预设第二时长的情况下,拦截账户访问请求。
可选的,该账户访问请求对应的访问数据存储于数据库集群中的每一个数据库中。当目标数据库出现故障时,可以进一步判断其他数据库中是否存在未故障的第一数据库,如果存在,则进一步基于该第一数据库进行访问路径的查询,若该第一数据库中存在与账户访问请求对应的访问路径,并且该访问路径在第一数据库中的存储时长较短,则表明该账户访问请求为重复访问行为,并且该账户访问请求在第一数据库中的存储仍然有效,此时需要对该账户访问请求进行拦截,由此避免重复访问行为的发生,进而提升重复访问行为识别准确性,降低服务器数据处理压力。
在一种可选的实施例中,该方法还包括:在数据库集群中包括的数据库均存在故障的情况下,拦截账户访问请求。
可选的,如果数据库集群中包括的数据库全部故障,则表明该数据库集群无法支持该数据访问请求的访问行为,可以直接对该账户访问请求进行拦截,通过以上方式不仅可以降低请求资源占用,同时还起到提示用户的作用。
在一种可选的实施例中,该方法还包括:在目标Redis服务器中不存在目标键的情况下,将目标键存储至目标Redis服务器中,并记录目标键在目标Redis服务器中的存储时长;在目标键在目标Redis服务器中的存储时长大于预设第三时长的情况下,将目标键从目标Redis服务器中移除。
可选的,目标键KEY在Redis服务器中的存储时长有限,当KEY在目标Redis服务器中的存数时长较长,且大于预设第三时长时,KEY会在目标Redis服务器中自动销毁。当该账户访问请求重新访问该目标数据库时,会将该账户访问请求重新存储至目标数据库中,并从新的访问时刻开始重新进行计时,如此循环往复。
基于上述实施例和可选实施例,本发明提出一种可选实施方式,图2是根据本发明实施例的一种可选的访问请求处理方法的流程图,如图2所示,该方法包括:
步骤S1,基于账户访问请求,通过分布式缓存组件DCH查询逻辑数据中心LDC对应的任意一个Redis服务器,并将该任意一个Redis服务器作为目标Redis服务器,对目标Redis服务器进行故障检测,在检测到目标Redis服务器不存在故障的情况下,进一步基于访问路径和账户名称,得到目标键KEY,判断目标Redis服务器是否存在该KEY,如果存在,则表明该账户访问请求为重复访问行为,需要对该账户访问请求进行拦截。
步骤S2,如果目标Redis服务器不存在该目标键KEY,则表明该账户访问请求不是重复访问请求,可以放任该账户访问请求继续执行。
步骤S3,当检测到目标Redis服务器发生故障的情况下,则可以考虑从其他Redis服务器进行请求数据的获取。此时需要进一步检测其他Redis服务器是否存在故障,如果其他Redis服务器中不存在故障的第一Redis服务器,则进一步查询该第一Redis服务器中是否存在KEY,如果存在,则表明该账户基于该账户访问请求访问过第一Redis服务器,此时进行账户访问请求的拦截。
步骤S4,在检测到所有的Redis服务器均故障的情况下,则进一步通过分布式数据库组件DDS查询逻辑数据中心LDC对应的任意一个数据库,并将该任意一个数据库作为目标数据库。
步骤S5,进一步判断该目标数据库是否故障,如果该目标数据库不存在故障,则进一步根据账户名(即用户名)查询该目标数据库,确认访问路径是否存在,如果存在,则表明该账户访问请求可能为重复访问。进一步判断访问路径在目标数据库中的存储时长是否大于预设第一时长;当访问路径在目标数据库中的存储时长较大,且大于预设第一时长时,该访问路径会自动失效,此时还可以继续执行该访问请求,并在目标数据库中重新对该账户访问请求的存储时长进行计时;若访问路径在目标数据库中的存储时长较小,且不大于预设第一时长,则表明该访问路径未失效,该访问请求为重复访问,此时需要对该访问请求进行拦截,以避免重复访问行为。
步骤S6,当目标数据库出现故障时,可以进一步判断其他数据库中是否存在未故障的第一数据库,如果存在,则进一步基于该第一数据库进行访问路径的查询,若该第一数据库中存在与账户访问请求对应的访问路径,并且该访问路径在第一数据库中的存储时长较短,则表明该账户访问请求为重复访问行为,并且该账户访问请求在第一数据库中的存储仍然有效,此时需要对该账户访问请求进行拦截,由此避免重复访问行为的发生。
步骤S7,若数据库集群中包括的数据库全部故障,则表明该数据库集群无法支持该数据访问请求的访问行为,可以直接对该账户访问请求进行拦截。
步骤S8,目标键KEY在Redis服务器中的存储时长有限,当KEY在目标Redis服务器中的存数时长较长,且大于预设第三时长时,KEY会在目标Redis服务器中自动销毁。当该账户访问请求重新访问该目标数据库时,将该账户访问请求重新存储至目标数据库中,并从新的访问时刻开始重新进行计时,如此循环往复。
本发明实施例适用于如下场景:当用户在网页页面进行大批量数据变更时,为应对服务器内存溢出等问题,需限制操作次数,限制用户的访问路径在一定时间内的访问次数。当用户的请求发起后,程序查询DCH组件本路径是否存在于缓存中,如存在说明已经被访问过,则拦截请求,否则放任请求继续。如DCH组件返回异常,说明缓存出现故障,则再去查询DDS组件查询数据库中是否存在请求路径,如存在则拦截,否则放任请求继续执行。本发明实施例中通过DCH和DDS相结合进行重复访问行为的识别与拦截,解决了容灾问题,提升了重复访问拦截的效果。
在本实施例中还提供了一种访问请求处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”“装置”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
根据本发明实施例,还提供了一种用于实施上述访问请求处理方法的装置实施例,图3是根据本发明实施例的一种访问请求处理装置的结构示意图,如图3所示,上述访问请求处理装置,包括:查询模块300、确定模块302、获取模块304、拦截模块306,其中:
查询模块300,用于基于账户访问请求,通过分布式缓存组件,从远程字典服务器Redis集群中查询逻辑数据中心对应的目标Redis服务器;
确定模块302,连接于查询模块300,用于在检测到目标Redis服务器不存在故障的情况下,确定账户访问请求对应的访问路径,以及账户访问请求对应的账户名称;
获取模块304,连接于查询模块300,用于基于访问路径和账户名称,得到目标键;
拦截模块306,连接于获取模块304,用于在目标Redis服务器中存在目标键的情况下,拦截账户访问请求。
在本发明实施例中,通过设置查询模块300,用于基于账户访问请求,通过分布式缓存组件,从远程字典服务器Redis集群中查询逻辑数据中心对应的目标Redis服务器;确定模块302,连接于查询模块300,用于在检测到目标Redis服务器不存在故障的情况下,确定账户访问请求对应的访问路径,以及账户访问请求对应的账户名称;获取模块304,连接于查询模块300,用于基于访问路径和账户名称,得到目标键;拦截模块306,连接于获取模块304,用于在目标Redis服务器中存在目标键的情况下,拦截账户访问请求,达到了依次进行Redis服务器故障、访问路径目标键的识别,准确识别出重复访问行为,并进行相应的访问拦截的目的,从而实现了提升重复访问识别准确性,进而降低服务器数据处理压力的技术效果,进而解决了相关技术中的访问请求处理方法无法对重复访问进行有效拦截,导致的服务器内存溢出,数据处理效率低的技术问题。
可选的,该装置还包括:第一路由子模块,用于在检测到目标Redis服务器存在故障的情况下,将账户访问请求路由至Redis集群中,除目标Redis服务器之外的其他Redis服务器;第一检测子模块,用于检测其他Redis服务器中是否存在未故障的第一Redis服务器;第一查询子模块,用于在其他Redis服务器中存在第一Redis服务器的情况下,查询第一Redis服务器中是否存在目标键;第一拦截子模块,用于在第一Redis服务器中存在目标键的情况下,拦截账户访问请求。
可选的,该装置还包括:第二查询子模块,用于在检测到Redis集群中的Redis服务器均故障的情况下,通过分布式数据库组件,从数据库集群中查询逻辑数据中心对应的目标数据库;第三查询子模块,用于在检测到目标数据库不存在故障的情况下,查询目标数据库中是否存在访问路径;第四查询子模块,用于在目标数据库中存在访问路径的情况下,查询访问路径在目标数据库中的存储时长是否大于预设第一时长;第二拦截子模块,用于在访问路径在目标数据库中的存储时长不大于预设第一时长的情况下,拦截账户访问请求。
可选的,该装置还包括:第一存储子模块,用于在访问路径在目标数据库中的存储时长大于预设第一时长,或者目标数据库中不存在访问路径的情况下,将访问路径存储至目标数据库中,并继续执行账户访问请求。
可选的,该装置还包括:第二路由子模块,用于在检测到目标数据库存在故障的情况下,将账户访问请求路由至Redis集群中,除目标Redis服务器之外的其他Redis服务器;第二检测子模块,用于检测其他Redis服务器中是否存在未故障的第一Redis服务器;第五查询子模块,用于在其他Redis服务器中存在第一Redis服务器的情况下,查询第一Redis服务器中是否存在访问路径;第六查询子模块,用于在第一Redis服务器中存在访问路径的情况下,查询访问路径在目标数据库中的存储时长是否大于预设第二时长;第三拦截子模块,用于在访问路径在目标数据库中的存储时长不大于预设第二时长的情况下,拦截账户访问请求。
可选的,该装置还包括:第四拦截子模块,用于在数据库集群中包括的数据库均存在故障的情况下,拦截账户访问请求。
可选的,该装置还包括:第二存储子模块,用于在目标Redis服务器中不存在目标键的情况下,将目标键存储至目标Redis服务器中,并记录目标键在目标Redis服务器中的存储时长;第一移除子模块,用于在目标键在目标Redis服务器中的存储时长大于预设第三时长的情况下,将目标键从目标Redis服务器中移除。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述查询模块300、确定模块302、获取模块304、拦截模块306对应于实施例中的步骤S102至步骤S108,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
需要说明的是,本实施例的可选或优选实施方式可以参见实施例中的相关描述,此处不再赘述。
上述的访问请求处理装置还可以包括处理器和存储器,上述查询模块300、确定模块302、获取模块304、拦截模块306等均作为程序模块存储在存储器中,由处理器执行存储在存储器中的上述程序模块来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序模块,上述内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本申请实施例,还提供了一种非易失性存储介质的实施例。可选的,在本实施例中,上述非易失性存储介质包括存储的程序,其中,在上述程序运行时控制上述非易失性存储介质所在设备执行上述任意一种访问请求处理方法。
可选的,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述非易失性存储介质包括存储的程序。
可选的,在程序运行时控制非易失性存储介质所在设备执行以下功能:基于账户访问请求,通过分布式缓存组件,从远程字典服务器Redis集群中查询逻辑数据中心对应的目标Redis服务器;在检测到目标Redis服务器不存在故障的情况下,确定账户访问请求对应的访问路径,以及账户访问请求对应的账户名称;基于访问路径和账户名称,得到目标键;在目标Redis服务器中存在目标键的情况下,拦截账户访问请求。
可选的,在程序运行时控制非易失性存储介质所在设备执行以下功能:在检测到目标Redis服务器存在故障的情况下,将账户访问请求路由至Redis集群中,除目标Redis服务器之外的其他Redis服务器;检测其他Redis服务器中是否存在未故障的第一Redis服务器;在其他Redis服务器中存在第一Redis服务器的情况下,查询第一Redis服务器中是否存在目标键;在第一Redis服务器中存在目标键的情况下,拦截账户访问请求。
可选的,在程序运行时控制非易失性存储介质所在设备执行以下功能:在检测到Redis集群中的Redis服务器均故障的情况下,通过分布式数据库组件,从数据库集群中查询逻辑数据中心对应的目标数据库;在检测到目标数据库不存在故障的情况下,查询目标数据库中是否存在访问路径;在目标数据库中存在访问路径的情况下,查询访问路径在目标数据库中的存储时长是否大于预设第一时长;在访问路径在目标数据库中的存储时长不大于预设第一时长的情况下,拦截账户访问请求。
可选的,在程序运行时控制非易失性存储介质所在设备执行以下功能:在访问路径在目标数据库中的存储时长大于预设第一时长,或者目标数据库中不存在访问路径的情况下,将访问路径存储至目标数据库中,并继续执行账户访问请求。
可选的,在程序运行时控制非易失性存储介质所在设备执行以下功能:在检测到目标数据库存在故障的情况下,将账户访问请求路由至Redis集群中,除目标Redis服务器之外的其他Redis服务器;检测其他Redis服务器中是否存在未故障的第一Redis服务器;在其他Redis服务器中存在第一Redis服务器的情况下,查询第一Redis服务器中是否存在访问路径;在第一Redis服务器中存在访问路径的情况下,查询访问路径在目标数据库中的存储时长是否大于预设第二时长;在访问路径在目标数据库中的存储时长不大于预设第二时长的情况下,拦截账户访问请求。
可选的,在程序运行时控制非易失性存储介质所在设备执行以下功能:在数据库集群中包括的数据库均存在故障的情况下,拦截账户访问请求。
可选的,在程序运行时控制非易失性存储介质所在设备执行以下功能:在目标Redis服务器中不存在目标键的情况下,将目标键存储至目标Redis服务器中,并记录目标键在目标Redis服务器中的存储时长;在目标键在目标Redis服务器中的存储时长大于预设第三时长的情况下,将目标键从目标Redis服务器中移除。
根据本申请实施例,还提供了一种处理器的实施例。可选的,在本实施例中,上述处理器用于运行程序,其中,上述程序运行时执行上述任意一种访问请求处理方法。
可选的,上述处理器,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:基于账户访问请求,通过分布式缓存组件,从远程字典服务器Redis集群中查询逻辑数据中心对应的目标Redis服务器;在检测到目标Redis服务器不存在故障的情况下,确定账户访问请求对应的访问路径,以及账户访问请求对应的账户名称;基于访问路径和账户名称,得到目标键;在目标Redis服务器中存在目标键的情况下,拦截账户访问请求。
根据本申请实施例,还提供了一种计算机程序产品的实施例,当在数据处理设备上执行时,适于执行初始化有上述任意一种的访问请求处理方法步骤的程序。
可选的,上述计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:基于账户访问请求,通过分布式缓存组件,从远程字典服务器Redis集群中查询逻辑数据中心对应的目标Redis服务器;在检测到目标Redis服务器不存在故障的情况下,确定账户访问请求对应的访问路径,以及账户访问请求对应的账户名称;基于访问路径和账户名称,得到目标键;在目标Redis服务器中存在目标键的情况下,拦截账户访问请求。
本发明实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:基于账户访问请求,通过分布式缓存组件,从远程字典服务器Redis集群中查询逻辑数据中心对应的目标Redis服务器;在检测到目标Redis服务器不存在故障的情况下,确定账户访问请求对应的访问路径,以及账户访问请求对应的账户名称;基于访问路径和账户名称,得到目标键;在目标Redis服务器中存在目标键的情况下,拦截账户访问请求。
上述本发明实施例顺序仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述模块的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取非易失性存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个非易失性存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的非易失性存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种访问请求处理方法,其特征在于,包括:
基于账户访问请求,通过分布式缓存组件,从远程字典服务器Redis集群中查询逻辑数据中心对应的目标Redis服务器;
在检测到所述目标Redis服务器不存在故障的情况下,确定所述账户访问请求对应的访问路径,以及所述账户访问请求对应的账户名称;
基于所述访问路径和所述账户名称,得到目标键;
在所述目标Redis服务器中存在所述目标键的情况下,拦截所述账户访问请求。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在检测到所述目标Redis服务器存在故障的情况下,将所述账户访问请求路由至所述Redis集群中,除所述目标Redis服务器之外的其他Redis服务器;
检测所述其他Redis服务器中是否存在未故障的第一Redis服务器;
在所述其他Redis服务器中存在所述第一Redis服务器的情况下,查询所述第一Redis服务器中是否存在所述目标键;
在所述第一Redis服务器中存在所述目标键的情况下,拦截所述账户访问请求。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在检测到所述Redis集群中的Redis服务器均故障的情况下,通过分布式数据库组件,从数据库集群中查询所述逻辑数据中心对应的目标数据库;
在检测到所述目标数据库不存在故障的情况下,查询所述目标数据库中是否存在所述访问路径;
在所述目标数据库中存在所述访问路径的情况下,查询所述访问路径在所述目标数据库中的存储时长是否大于预设第一时长;
在所述访问路径在所述目标数据库中的存储时长不大于所述预设第一时长的情况下,拦截所述账户访问请求。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述访问路径在所述目标数据库中的存储时长大于所述预设第一时长,或者所述目标数据库中不存在所述访问路径的情况下,将所述访问路径存储至所述目标数据库中,并继续执行所述账户访问请求。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在检测到所述目标数据库存在故障的情况下,将所述账户访问请求路由至所述Redis集群中,除所述目标Redis服务器之外的其他Redis服务器;
检测所述其他Redis服务器中是否存在未故障的第一Redis服务器;
在其他Redis服务器中存在所述第一Redis服务器的情况下,查询所述第一Redis服务器中是否存在所述访问路径;
在所述第一Redis服务器中存在所述访问路径的情况下,查询所述访问路径在所述目标数据库中的存储时长是否大于预设第二时长;
在所述访问路径在所述目标数据库中的存储时长不大于所述预设第二时长的情况下,拦截所述账户访问请求。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述数据库集群中包括的数据库均存在故障的情况下,拦截所述账户访问请求。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,所述方法还包括:
在所述目标Redis服务器中不存在所述目标键的情况下,将所述目标键存储至所述目标Redis服务器中,并记录所述目标键在所述目标Redis服务器中的存储时长;
在所述目标键在所述目标Redis服务器中的存储时长大于预设第三时长的情况下,将所述目标键从所述目标Redis服务器中移除。
8.一种访问请求处理装置,其特征在于,包括:
查询模块,用于基于账户访问请求,通过分布式缓存组件,从远程字典服务器Redis集群中查询逻辑数据中心对应的目标Redis服务器;
确定模块,用于在检测到所述目标Redis服务器不存在故障的情况下,确定所述账户访问请求对应的访问路径,以及所述账户访问请求对应的账户名称;
获取模块,用于基于所述访问路径和所述账户名称,得到目标键;
拦截模块,用于在所述目标Redis服务器中存在所述目标键的情况下,拦截所述账户访问请求。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质存储有多条指令,所述指令适于由处理器加载并执行权利要求1至7中任意一项所述的访问请求处理方法。
10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的访问请求处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311793290.5A CN117762673A (zh) | 2023-12-22 | 2023-12-22 | 访问请求处理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311793290.5A CN117762673A (zh) | 2023-12-22 | 2023-12-22 | 访问请求处理方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117762673A true CN117762673A (zh) | 2024-03-26 |
Family
ID=90310080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311793290.5A Pending CN117762673A (zh) | 2023-12-22 | 2023-12-22 | 访问请求处理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117762673A (zh) |
-
2023
- 2023-12-22 CN CN202311793290.5A patent/CN117762673A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8954545B2 (en) | Fast determination of compatibility of virtual machines and hosts | |
JP5725661B2 (ja) | 分散型検索システム | |
WO2017185961A1 (zh) | 一种服务发现的处理方法及装置 | |
CN112929401B (zh) | 一种注册方法及装置 | |
WO2021088254A1 (zh) | 一种用户态网络文件系统双栈访问方法、装置及设备 | |
RU2013126471A (ru) | Обеспечение прозрачной отработки отказа в файловой системе | |
JP4722944B2 (ja) | データベースの分散ロードのためのシステム、方法およびソフトウェア | |
CN108038039B (zh) | 记录日志的方法及微服务系统 | |
WO2022057231A1 (zh) | 访问服务器的方法、装置、设备及存储介质 | |
CN1308278A (zh) | 集群服务器的ip容错方法 | |
CN112818307A (zh) | 用户操作处理方法、系统、设备及计算机可读存储介质 | |
CN113965576A (zh) | 基于容器的大数据采集方法、装置、存储介质和设备 | |
CN114064780A (zh) | 会话信息的处理方法、系统、装置、存储介质及电子设备 | |
CN111399999B (zh) | 计算机资源处理方法、装置、可读存储介质和计算机设备 | |
CN114691445A (zh) | 集群故障处理方法、装置、电子设备及可读存储介质 | |
CN104536785A (zh) | 实时系统更新方法及装置 | |
CN117762673A (zh) | 访问请求处理方法、装置、存储介质及电子设备 | |
US10552456B2 (en) | Deriving dependency information from tracing data | |
CN104536784A (zh) | 实时系统更新方法及装置 | |
CN115454773A (zh) | 数据采集方法、装置、电子设备和存储介质 | |
US7921324B2 (en) | Providing file system availability during local path failure of a non-server node | |
CN109254880A (zh) | 一种处理数据库宕机的方法及装置 | |
CN110519349B (zh) | 一种基于DNS固定分配虚拟ip的负载均衡方法及装置 | |
US7058773B1 (en) | System and method for managing data in a distributed system | |
CN111522649B (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 |