CN115102784B - 权限信息管理方法、装置、计算机设备和存储介质 - Google Patents
权限信息管理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115102784B CN115102784B CN202210860424.XA CN202210860424A CN115102784B CN 115102784 B CN115102784 B CN 115102784B CN 202210860424 A CN202210860424 A CN 202210860424A CN 115102784 B CN115102784 B CN 115102784B
- Authority
- CN
- China
- Prior art keywords
- user
- information
- authority
- authority information
- change
- 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
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种权限信息管理方法、装置、计算机设备和存储介质。该方法包括:获取终端在登录状态下发送的携带了终端的登录用户标识和待调用接口的接口调用请求,根据登录用户标识和待调用接口,从预先缓存的用户权限信息中,查询登录用户标识对应的用户对该待调用接口的访问权限;在确定用户具有对待调用接口的访问权限的情况下,获取待调用接口对应的数据;其中,预先缓存的用户权限信息为在先从数据库中获取并缓存的,预先缓存的用户权限信息中包括不同登录用户标识对应的用户权限信息;即本实施例中直接根据缓存的用户权限信息对待调用接口进行权限验证,无需从数据库查询接口的调用权限,能够减轻服务器的查询压力,提高鉴权效率。
Description
技术领域
本申请涉及信息更新技术领域,特别是涉及一种权限信息管理方法、装置、计算机设备和存储介质。
背景技术
应用程序接口(Application Program Interface简称API)作为前端服务调用后端数据的通信接口。在用户登录系统,并访问系统中的不同功能时,系统的前端服务往往需要调用API接口来获取后端数据并展示给用户。常常出于安全考虑,对API接口使用权限进行划分,在用户调用时进行权限判断,通常由服务器先对该API接口的调用权限进行权限验证,只有在权限验证通过的情况下,前端服务才能调用该API接口以获取到后端数据。
当用户频繁访问,就需要多次查询该用户对API接口的调用权限,此时服务器端面临查询压力大,鉴权效率低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高API接口调用权限的鉴权效率的权限信息管理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种权限信息管理方法,该方法包括:
获取终端在登录状态下发送的接口调用请求;该接口调用请求中携带终端的登录用户标识和待调用接口;
根据该登录用户标识和待调用接口,从预先缓存的用户权限信息中,查询该登录用户标识对应的用户对该待调用接口的访问权限;预先缓存的用户权限信息为在先从数据库中获取并缓存的,预先缓存的用户权限信息中包括不同登录用户标识对应的用户权限信息;
在确定用户具有对该待调用接口的访问权限的情况下,获取待调用接口对应的数据。
在其中一个实施例中,该方法还包括:
针对预先缓存的用户权限信息,监听数据库中用户权限信息是否出现权限变更;
在监听到用户权限信息出现权限变更的情况下,根据权限变更的用户权限信息确定对应的目标更新策略;
采用目标更新策略对预先缓存的权限变更的用户权限信息进行更新,确定与权限变更的用户权限信息对应的新的用户权限信息。
在其中一个实施例中,该目标更新策略包括替换策略或删除策略,替换策略用于基于权限变更的用户权限信息对应的新的用户权限信息替换预先缓存的权限变更的用户权限信息;删除策略用于对预先缓存的权限变更的用户权限信息进行删除;
根据权限变更的用户权限信息确定对应的目标更新策略,包括:
判断权限变更的用户权限信息是否在第一守护范围内;该第一守护范围为根据各个用户权限信息的第一使用信息所确定的符合第一预设频繁度的多个用户权限信息形成的守护范围;
在确定权限变更的用户权限信息在第一守护范围内的情况下,确定权限变更的用户权限信息对应的目标更新策略为替换策略;
在确定权限变更的用户权限信息不在第一守护范围内的情况下,确定权限变更的用户权限信息对应的目标更新策略为删除策略。
在其中一个实施例中,采用目标更新策略对预先缓存的权限变更的用户权限信息进行更新,确定与权限变更的用户权限信息对应的新的用户权限信息,包括:
在目标更新策略为替换策略的情况下,从数据库中获取权限变更的用户权限信息对应的新的权限信息,并将预先缓存的权限变更的用户权限信息替换为新的权限信息;
在目标更新策略为删除策略的情况下,删除预先缓存的权限变更的用户权限信息。
在其中一个实施例中,从数据库中获取权限变更的用户权限信息对应的新的权限信息,并将预先缓存的权限变更的用户权限信息替换为新的权限信息,包括:
判断权限变更的用户权限信息是否在第二守护范围内;该第二守护范围为根据第一守护范围内的各个用户权限信息的第二使用信息所确定的符合第二预设频繁度的多个用户权限信息形成的守护范围;
在确定权限变更的用户权限信息在第二守护范围内的情况下,优先执行从数据库中获取权限变更的用户权限信息对应的新的权限信息,并将预先缓存的权限变更的用户权限信息替换为新的权限信息的步骤。
在其中一个实施例中,该方法还包括:
针对预先缓存的各个用户权限信息,获取各个用户权限信息的调用次数和/或调用时刻;
根据各个用户权限信息的调用次数和/或调用时刻,确定符合第一预设频繁度的多个用户权限信息,并根据符合第一预设频繁度的多个用户权限信息确定第一守护范围。
在其中一个实施例中,该方法还包括:
针对第一守护范围内的各个用户权限信息,获取各个用户权限信息在预设时间段内的调用次数和/或调用时间间隔;
根据各个用户权限信息在预设时间段内的调用次数和/或调用时间间隔,确定符合第二预设频繁度的多个用户权限信息,并根据符合第二预设频繁度的多个用户权限信息确定第二守护范围。
在其中一个实施例中,该方法还包括:
根据预设更新时长,对第一守护范围进行更新,得到新的第一守护范围。
第二方面,本申请还提供了一种权限信息管理装置,该装置包括:
第一获取模块,用于获取终端在登录状态下发送的接口调用请求;接口调用请求中携带终端的登录用户标识和待调用接口;
查询模块,用于根据该登录用户标识和待调用接口,从预先缓存的用户权限信息中,查询该登录用户标识对应的用户对该待调用接口的访问权限;预先缓存的用户权限信息为在先从数据库中获取并缓存的,预先缓存的用户权限信息中包括不同登录用户标识对应的用户权限信息;
第二获取模块,用于在确定用户具有对该待调用接口的访问权限的情况下,获取待调用接口对应的数据。
第三方面,本申请还提供了一种计算机设备。该计算机设备包括存储器和处理器,该存储器存储有计算机程序,该处理器执行所述计算机程序时实现第一方面中的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。该计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面中的方法的步骤。
第五方面,本申请还提供了一种计算机程序产品,该计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面中的方法的步骤。
上述权限信息管理方法、装置、计算机设备、存储介质和计算机程序产品,通过获取终端在登录状态下发送的携带了终端的登录用户标识和待调用接口的接口调用请求,根据该登录用户标识和待调用接口,从预先缓存的用户权限信息中,查询该登录用户标识对应的用户对该待调用接口的访问权限;在确定用户具有对该待调用接口的访问权限的情况下,获取待调用接口对应的数据;其中,预先缓存的用户权限信息为在先从数据库中获取并缓存的,预先缓存的用户权限信息中包括不同登录用户标识对应的用户权限信息;也就是说,本申请实施例中,预先将包括接口调用权限的用户权限信息缓存在服务器中,使得服务器能够直接根据缓存的用户权限信息对待调用接口进行权限验证,无需从数据库查询接口的调用权限,因此,能够提高权限验证的快速性;尤其是在用户访问频繁,服务器查询压力大的情况下,直接根据缓存的用户权限信息进行权限验证,能够极大地减轻服务器的查询压力,提高服务器的鉴权效率。
附图说明
图1为一个实施例中权限信息管理方法的应用环境图;
图2为一个实施例中权限信息管理方法的流程示意图;
图3为另一个实施例中权限信息管理方法的流程示意图;
图4为另一个实施例中权限信息管理方法的流程示意图;
图5为一个实施例中第一守护范围的获取流程示意图;
图6为另一个实施例中权限信息管理方法的流程示意图;
图7为一个实施例中第二守护范围的获取流程示意图;
图8为一个实施例中权限信息更新的流程示意图;
图9为一个实施例中微服务架构下各服务间的交互示意图;
图10为一个实施例中权限信息管理装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的权限信息管理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信,终端102中安装有应用程序,用户通过终端102访问应用程序时,通过调用API接口从服务器中获取后端数据。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
可选地,应用程序可以为采用微服务的软件开发技术进行开发的应用程序,微服务是面向服务的体系结构(service-oriented architecture,SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据上下文,选择合适的语言、工具对其进行构建。
示例性地,采用微服务的软件开发技术开发的应用程序可以包括web前端服务、后端服务和缓存管理服务,其中,后端服务和缓存管理服务可以部署到同一个服务器中,也可以部署到不同的服务器中,在实际开发过程中,该缓存管理服务也可以利用微服务架构的优势按需伸缩;当服务器对API接口的调用权限进行权限验证时,可以通过服务器中部署的该应用程序的后端服务来执行该鉴权操作;可选地,后端服务可以从数据库中查询API接口的调用权限,也可以从缓存数据中查询API接口的调用权限;其中,后端服务在从缓存数据中查询API接口的调用权限时,后端服务可以将该查询请求发送至缓存管理服务,以指示缓存管理服务执行该查询操作,并将查询到的API接口的调用权限数据返回至后端服务。需要说明的是,缓存管理服务不仅可以用于对数据进行缓存存储,还可以用于对缓存的数据进行更新管理,以便于后端服务能够实时从缓存管理服务中获取到最新的数据,提高应用程序的运行效率和准确性。
在一个实施例中,如图2所示,提供了一种权限信息管理方法,以该方法应用于图1中的服务器为例进行说明,需要说明的是,该方法也可以应用于服务器中的缓存管理服务,或者,还可以由服务器中的后端服务与缓存管理服务之间的交互实现;包括以下步骤:
步骤201,获取终端在登录状态下发送的接口调用请求。
其中,该接口调用请求中携带终端的登录用户标识和待调用接口。终端的登录状态是指终端中的应用程序已通过注册账号成功登录的状态,用户在访问终端中的应用程序时,可以通过用户在该应用程序中注册的登录账号和登录密码进行登录,在登录成功之后,用户便可访问该应用程序中的更多功能。
可选地,终端在检测到用户的触发操作之后,可以根据该触发操作确定是否需要调用后端接口以获取后端数据,在确定需要调用后端接口的情况下,终端可以根据待调用接口的信息和该应用程序登录成功后的登录用户标识,生成接口调用请求,并将该接口调用请求发送至服务器。其中,用户的触发操作可以包括但不限于是用户针对应用程序中的组件、菜单、按钮等的点击操作,本申请实施例对此并不做限定。
另外,该接口调用请求中可以包括至少一个待调用接口的信息,每一个待调用接口可以用于获取不同的后端数据;各待调用接口的信息可以是待调用接口的名称、待调用接口的标识或者待调用接口的编号等。再者,对于该接口调用请求中的登录用户标识可以是该应用程序的登录账号,也可以是与该登录账号关联的用户信息,例如:用户名称、账户名称、账户标签等。
步骤202,根据接口调用请求中携带的登录用户标识和待调用接口,从预先缓存的用户权限信息中,查询该登录用户标识对应的用户对该待调用接口的访问权限。
其中,预先缓存的用户权限信息为在先从数据库中获取并缓存的,预先缓存的用户权限信息中包括不同登录用户标识对应的用户权限信息。可选地,预先缓存的用户权限信息可以是用户在第一次访问该应用程序时,服务器从数据库中获取的该用户的登录用户标识对应的用户权限信息,第一次访问应用程序可以是指用户第一次注册登录该应用程序,也可以是指用户第一次调用后端接口访问后端数据;预先缓存的用户权限信息也可以是在缓存的用户权限信息失效的情况下,服务器重新从数据库中获取到的登录用户标识对应的用户权限信息;还可以是数据库向服务器发送的登录用户标识对应的最新的用户权限信息等。需要说明的是,本申请实施例中对预先缓存的用户权限信息的获取方式并不做具体限定。
另外,登录用户标识对应的用户权限信息中可以包括该登录用户标识对应的该应用程序的所有后端接口的访问权限,各后端接口的访问权限可以是具有访问权限或者是不具有访问权限;可选地,登录用户标识对应的用户权限信息中也可以包括该登录用户标识对应的该应用程序的所有后端接口中用户具有访问权限的后端接口;或者,还可以是该应用程序的所有后端接口中用户不具有访问权限的后端接口。换句话说,登录用户标识对应的用户权限信息中可以包括一个接口权限列表,该接口权限列表中可以包括所有后端接口对应的访问权限,也可以仅包括具有访问权限的后端接口,还可以仅包括不具有访问权限的后端接口。
具体地,服务器在获取到终端在登录状态下发送的接口调用请求之后,可以根据该接口调用请求中携带的登录用户标识和待调用接口,从预先缓存的用户权限信息中,查询该登录用户标识对应的用户对该待调用接口的访问权限。
示例性地,在该服务器中缓存的用户权限信息为包括登录用户标识对应的所有后端接口的访问权限的情况下,服务器可以根据该登录用户标识从缓存中确定与该登录用户标识对应的用户权限信息,接着,再根据该待调用接口的信息从该用户权限信息中确定该待调用接口对应的访问权限,以此来得到该登录用户标识对应的用户对该待调用接口的访问权限。
示例性地,在该服务器中缓存的用户权限信息为包括具有访问权限的后端接口的情况下,服务器可以根据该登录用户标识从缓存中确定与该登录用户标识对应的用户权限信息,接着,再判断该用户权限信息中是否包括该待调用接口;如果该用户权限信息中包括该待调用接口,那么可以确定用户具有该待调用接口对应的访问权限。
示例性地,在该服务器中缓存的用户权限信息为包括不具有访问权限的后端接口的情况下,服务器可以根据该登录用户标识从缓存中确定与该登录用户标识对应的用户权限信息,接着,再判断该用户权限信息中是否包括该待调用接口;如果该用户权限信息中不包括该待调用接口,那么可以确定用户具有该待调用接口对应的访问权限。
需要说明的是,除了上述论述的几个示例之外,还可以采用其他的方式从预先缓存的用户权限信息中,查询该登录用户标识对应的用户对该待调用接口的访问权限,本申请实施例对此并不做具体限定。
步骤203,在确定用户具有对该待调用接口的访问权限的情况下,获取待调用接口对应的数据。
上述权限信息管理方法中,获取终端在登录状态下发送的携带了终端的登录用户标识和待调用接口的接口调用请求,根据该登录用户标识和待调用接口,从预先缓存的用户权限信息中,查询该登录用户标识对应的用户对该待调用接口的访问权限;在确定用户具有对该待调用接口的访问权限的情况下,获取待调用接口对应的数据;其中,预先缓存的用户权限信息为在先从数据库中获取并缓存的,预先缓存的用户权限信息中包括不同登录用户标识对应的用户权限信息;也就是说,本申请实施例中,预先将包括接口调用权限的用户权限信息缓存在服务器中,使得服务器能够直接根据缓存的用户权限信息对待调用接口进行权限验证,无需从数据库查询接口的调用权限,因此,能够提高权限验证的快速性;尤其是在用户访问频繁,服务器查询压力大的情况下,直接根据缓存的用户权限信息进行权限验证,能够极大地减轻服务器的查询压力,提高服务器的鉴权效率。
图3为另一个实施例中权限信息管理方法的流程示意图。本实施例涉及的是服务器对预先缓存的用户权限信息进行更新管理的一种可选的实现过程,在上述实施例的基础上,如图3所示,上述方法还包括:
步骤301,针对预先缓存的用户权限信息,监听数据库中用户权限信息是否出现权限变更。
由于用户权限的变更,数据库中存储的用户权限信息也随之发生更改,因此,对于服务器中缓存的用户权限信息也需要根据数据库中已发生权限变更的用户权限信息进行同步更新,这样才能避免使用旧的用户权限信息对用户访问的API接口进行权限验证导致的权限验证不准确的情况,提高API接口鉴权的安全性和准确性。
基于此,服务器可以针对预先缓存的用户权限信息,监听数据库中存储的这些用户权限信息是否发生权限变更;可选地,服务器可以按照预设频率,向数据库发送权限变更确认消息,该权限变更确认消息中可以携带预先缓存的各个用户权限信息对应的登录用户标识;进而,服务器可以接收数据库返回的针对该权限变更确认消息的响应消息,该响应消息中可以包括出现权限变更的用户权限信息对应的登录用户标识,服务器根据该响应消息可以确定出现权限变更的用户权限信息。
步骤302,在监听到用户权限信息出现权限变更的情况下,根据权限变更的用户权限信息确定对应的目标更新策略。
可选地,服务器可以对预先缓存的各个用户权限信息设置不同的更新策略,服务器可以根据用户权限信息的使用频繁度,设置多个更新策略,每个更新策略对应的更新及时性与用户权限信息的使用频繁度正相关,用户权限信息的使用频繁度越高,更新策略对应的更新及时性越快;通过确定各个用户权限信息的使用频繁度,对各个用户权限信息设置对应的更新策略。可选地,服务器也可以根据用户权限信息对应的登录用户标识的等级,设置多个更新策略,每个更新策略对应的更新及时性与用户权限信息对应的登录用户标识的等级正相关,登录用户标识的等级越高,更新策略对应的更新及时性越快;通过确定各个用户权限信息对应的登录用户标识的等级,为各个用户权限信息设置对应的更新策略。当然,还可以根据其他的评判参数来确定不同的更新策略,本申请实施例对此并不做具体限定,例如:通过最近使用时间来确定更新策略,用户权限信息的最近一次使用时间与当前时刻越近,对应的更新策略的更新及时性越快。
另外,通过上述分析可知,不同用户权限信息对应的更新策略可以是预先设定的,也可以是根据各用户权限信息的实际使用情况来确定的;当然,用户权限信息对应的更新策略可以是通过一个评判参数来确定的,也可以是通过多个评判参数来综合确定的,本申请实施例对此也不做具体限定。
示例性地,在用户权限信息对应的更新策略是预先设定的情况下,在监听到用户权限信息出现权限变更的情况下,可以根据该权限变更的用户权限信息的标识或者该权限变更的用户权限信息对应的登录用户标识,来确定该权限变更的用户权限信息对应的目标更新策略。
示例性地,在用户权限信息对应的更新策略是根据用户权限信息的实际使用情况来确定的情况下,可以获取该权限变更的用户权限信息对应的使用数据,接着,根据该权限变更的用户权限信息对应的使用数据和预设评判规则,来确定该权限变更的用户权限信息对应的目标更新策略。例如:可以获取该权限变更的用户权限信息对应的历史使用数据,通过该历史使用数据确定该权限变更的用户权限信息对应的使用频繁度,接着,根据该权限变更的用户权限信息对应的使用频繁度和预设频繁度阈值,确定该权限变更的用户权限信息对应的目标更新策略。
可选地,该预设频繁度阈值可以包括多个,每个预设频繁度阈值对应的更新策略对应的更新及时性不同,如:预设频繁度阈值可以包括A1、A2和A3,其中,A1>A2>A3,在用户权限信息对应的使用频繁度大于等于A1时,对应的更新策略的更新及时性最高,在用户权限信息对应的使用频繁度小于A1且大于等于A2时,对应的更新策略的更新及时性较高,在用户权限信息对应的使用频繁度小于A2且大于等于A3时,对应的更新策略的更新及时性较低,在用户权限信息对应的使用频繁度小于A3时,对应的更新策略的更新及时性最低;在更新策略的更新及时性为最低时,该更新策略也可以是不更新,即可以对该权限变更的用户权限信息进行删除,且不对其进行权限数据更新。
步骤303,采用目标更新策略对预先缓存的权限变更的用户权限信息进行更新,确定与权限变更的用户权限信息对应的新的用户权限信息。
可选地,在确定出该权限变更的用户权限信息对应的目标更新策略之后,可以根据该目标更新策略对该权限变更的用户权限信息进行更新;在确定对该权限变更的用户权限信息进行更新的情况下,可以根据该权限变更的用户权限信息对应的登录用户标识,从数据库中获取该登录用户标识对应的新的用户权限信息,接着,将预先缓存的该权限变更的用户权限信息替换为该登录用户标识对应的新的用户权限信息;其中,在从数据库中获取该登录用户标识对应的新的用户权限信息时,可以根据该目标更新策略中规定的更新时限,从数据库中获取该登录用户标识对应的新的用户权限信息。
本实施例中,服务器针对预先缓存的用户权限信息,通过监听数据库中用户权限信息是否出现权限变更,接着,在监听到用户权限信息出现权限变更的情况下,根据权限变更的用户权限信息确定对应的目标更新策略,并采用该目标更新策略对预先缓存的权限变更的用户权限信息进行更新,确定与权限变更的用户权限信息对应的新的用户权限信息;也就是说,本实施例中,服务器通过主动监听预先缓存的各个用户权限信息是否出现权限变更,并在发现用户权限信息出现变更的情况下,能够对出现权限变更的用户权限信息进行主动更新,提高缓存的用户权限信息的准确性;另外,本实施例中,通过对不同的用户权限信息设置不同的更新策略,能够提高权限信息更新管理的多样性,而且,通过不同的更新策略对用户权限信息进行更新时,能够避免对大批量的用户权限信息同时进行更新导致的服务器处理压力较大的问题,提高用户权限信息更新的效率。
在本申请的一种可选的实施例中,上述目标更新策略可以包括替换策略或者删除策略,其中,该替换策略用于基于权限变更的用户权限信息对应的新的用户权限信息替换预先缓存的权限变更的用户权限信息;该删除策略用于对预先缓存的权限变更的用户权限信息进行删除,也就是说,删除策略即在用户权限信息发生变更的情况下,不对权限变更的用户权限信息进行更新,而是直接删除权限变更的用户权限信息;进一步地,对于删除的用户权限信息,在用户下次访问时,可以重新根据登录用户标识从数据库中获取该登录用户标识对应的最新的用户权限信息,并将获取到的该登录用户标识对应的最新的用户权限信息进行缓存处理,以便该用户在后续访问时,服务器可以根据缓存中的用户权限信息对该用户访问的待调用接口进行权限验证。
基于此,上述步骤302可以包括:
步骤401,判断权限变更的用户权限信息是否在第一守护范围内。
其中,该第一守护范围为根据各个用户权限信息的第一使用信息所确定的符合第一预设频繁度的多个用户权限信息形成的守护范围。也就是说,第一守护范围内的各个用户权限信息对应的使用频繁度均大于或者大于等于该第一预设频繁度,再换句话说,就是可以将使用频繁度较高的用户权限信息纳入该第一守护范围内,作为权限管理和权限监控的重点。需要说明的是,该第一预设频繁度可以是预设的默认频繁度,也可以是根据各个用户权限信息的实际使用情况所确定的可动态调整的频繁度。
可选地,服务器在判断权限变更的用户权限信息是否在第一守护范围内之前,可以先根据预先存储的各个用户权限信息的第一使用信息,确定各个用户权限信息的使用频繁度,以及根据各个用户权限信息的使用频繁度和该第一预设频繁度,确定满足该第一预设频繁度的多个用户权限信息形成该第一守护范围;其中,用户权限信息的第一使用信息可以包括但不限于是用户权限信息的调用次数、该用户权限信息对应的最近一次的调用时刻、该用户权限信息对应的登录用户标识的更新次数、该用户权限信息对应的登录用户标识的最近一次更新时刻等。
需要说明的是,服务器可以在每次执行步骤401之前,重新确定该第一守护范围,也可以是每间隔一段时间,重新确定该第一守护范围,即服务器可以根据预设更新时长,对该第一守护范围进行更新,得到新的第一守护范围,该预设更新时长可以是固定时长,也可以是根据用户访问量所确定的动态调节的更新时长,即在用户访问量越大的情况下,该更新时长可以越短,以提高权限数据更新的准确性和智能性。
示例性地,如图5所示,提供了一种可选的确定第一守护范围的实现方式,可以包括以下步骤:
步骤501,针对预先缓存的各个用户权限信息,获取各个用户权限信息的调用次数和/或调用时刻。
也就是说,上述用户权限信息的第一使用信息可以包括用户权限信息的调用次数,也可以包括用户权限信息的调用时刻,还可以包括用户权限信息的调用次数和调用时刻;其中,该用户权限信息的调用次数可以为该用户权限信息的总调用次数,也可以为该用户权限信息在一段时间内的调用次数;该用户权限信息的调用时刻可以为最近一次的调用时刻。
可选地,在用户权限信息被调用时,服务器可以对该用户权限信息的使用信息进行记录管理,统计用户权限信息的调用次数,以及记录该用户权限信息每次被调用的时刻,以便于服务器可以根据各用户权限信息的历史调用记录,获取到各用户权限信息的调用次数和/或调用时刻。
步骤502,根据各个用户权限信息的调用次数和/或调用时刻,确定符合第一预设频繁度的多个用户权限信息,并根据符合第一预设频繁度的多个用户权限信息确定第一守护范围。
示例性地,在该第一使用信息包括用户权限信息的调用次数的情况下,该第一预设频繁度可以与该调用次数相关;可以根据各用户权限信息的调用次数和该第一预设频繁度,确定大于或大于等于该第一预设频繁度的多个用户权限信息;接着,可以将这些大于或大于等于该第一预设频繁度的多个用户权限信息纳入第一守护范围;该第一守护范围内的各个用户权限信息可以按照各自的调用次数,由大到小进行排列。
示例性地,在该第一使用信息包括用户权限信息的调用时刻的情况下,该第一预设频繁度可以与该调用时刻相关;可以根据各用户权限信息的调用时刻和该第一预设频繁度,确定调用时刻在该第一预设频繁度之后的多个用户权限信息;接着,可以将这些调用时刻在该第一预设频繁度之后的多个用户权限信息纳入第一守护范围;该第一守护范围内的各个用户权限信息可以按照各自的调用时刻,由近到远进行排列,即距离当前时刻最近,在第一守护范围的顺序越靠前。
示例性地,在该第一使用信息包括用户权限信息的调用次数和调用时刻的情况下,该第一预设频繁度可以与该调用次数和该调用时刻相关;针对各个用户权限信息,可以对用户权限信息对应的调用次数和调用时刻进行加权求和处理,得到该用户权限信息的使用频繁度,接着,可以判断该用户权限信息的使用频繁度是否大于或大于等于该第一预设频繁度,在该用户权限信息的使用频繁度大于或大于等于该第一预设频繁度的情况下,可以将该用户权限信息纳入该第一守护范围;该第一守护范围内的各个用户权限信息可以按照各自的使用频繁度,由大到小进行排列。可选地,在进行加权求和时,用户权限信息对应的调用次数的权重可以大于调用时刻对应的权重。
可选地,在本实施例的另一种可选的实现方式中,服务器还可以根据各用户权限信息的调用次数和/或调用时刻,确定各用户权限信息的使用频繁度;接着,可以根据各用户权限信息的使用频繁度,按照使用频繁度的高低,由高到低对各用户权限信息进行排序,并将排序后的前预设数量的用户权限信息纳入第一守护范围。当然,还可以采用其他的方式来确定该第一守护范围,本申请实施例对此并不做具体限定。
进一步地,在确定出第一守护范围之后,可以判断权限变更的用户权限信息是否在第一守护范围内;可选地,可以根据该权限变更的用户权限信息对应的登录用户标识,判断该第一守护范围内是否包括该权限变更的用户权限信息对应的登录用户标识,若该第一守护范围内包括该权限变更的用户权限信息对应的登录用户标识,则可以确定该权限变更的用户权限信息在第一守护范围内。
步骤402,在确定权限变更的用户权限信息在第一守护范围内的情况下,确定权限变更的用户权限信息对应的目标更新策略为替换策略。
也就是说,对于使用频繁度较高的用户权限信息,在该用户权限信息出现权限变更的情况下,可以对缓存中的该用户权限信息进行权限数据更新。
进一步地,在该目标更新策略为替换策略的情况下,服务器可以从数据库中获取权限变更的用户权限信息对应的新的权限信息,并将预先缓存的权限变更的用户权限信息替换为该新的权限信息,实现权限数据更新。
步骤403,在确定权限变更的用户权限信息不在第一守护范围内的情况下,确定权限变更的用户权限信息对应的目标更新策略为删除策略。
也就是说,对于使用频繁度不高的用户权限信息,在该用户权限信息出现权限变更的情况下,可以不对缓存中的该用户权限信息进行权限数据更新,且需要对缓存中的已经发生权限变更的该用户权限信息进行删除,避免通过缓存中的旧的用户权限信息进行鉴权导致鉴权结果出现错误的情况发生。
进一步地,在该目标更新策略为删除策略的情况下,删除预先缓存的权限变更的用户权限信息。
本实施例中,上述目标更新策略包括替换策略或删除策略,服务器在根据权限变更的用户权限信息确定对应的目标更新策略时,可以通过判断该权限变更的用户权限信息是否在第一守护范围内,在确定权限变更的用户权限信息在第一守护范围内的情况下,可以确定权限变更的用户权限信息对应的目标更新策略为替换策略;在确定权限变更的用户权限信息不在第一守护范围内的情况下,可以确定权限变更的用户权限信息对应的目标更新策略为删除策略;其中,该第一守护范围为根据各个用户权限信息的第一使用信息所确定的符合第一预设频繁度的多个用户权限信息形成的守护范围;也就是说,对于缓存中使用频繁的用户权限信息,在其出现权限变更时,对出现权限变更的用户权限信息进行更新替换,而对于使用不频繁的用户权限信息,在出现权限变更时,只需要删除已缓存的用户权限信息即可,无需对其进行权限数据更新;即对于不同的缓存数据采用不同的更新处理策略,能够降低服务器对权限数据更新管理的处理压力,还能有效清除使用不频繁的缓存数据,增加缓存容量,提高权限数据管理的高效性和可靠性。
在本申请的一个可选的实施例中,对于上述替换策略,还可以根据用户权限信息的使用频繁度设置不同的更新优先级,即使用频繁度越高,对应的更新优先级越高,也就是对应的更新及时性越快;示例性地,可以根据用户权限信息的使用频繁度设置两个更新优先级,第一更新优先级和第二更新优先级,对于满足第一更新优先级的用户权限信息,优先执行权限数据更新,对于满足第二更新优先级的用户权限信息,则可以在第一更新优先级的各个用户权限信息更新完成后,再对第二更新优先级的各个用户权限信息进行权限数据更新。
基于此,在上述目标更新策略为替换策略的情况下,从数据库中获取权限变更的用户权限信息对应的新的权限信息,并将预先缓存的权限变更的用户权限信息替换为新的权限信息,可以包括:
步骤601,判断权限变更的用户权限信息是否在第二守护范围内。
其中,该第二守护范围为根据第一守护范围内的各个用户权限信息的第二使用信息所确定的符合第二预设频繁度的多个用户权限信息形成的守护范围,也就是说,在第一守护范围内确定第二守护范围。
可选地,用于确定第二守护范围的第二使用信息与用于确定第一守护范围的第一使用信息可以相同,也可以不同;在第二使用信息和第一使用信息相同的情况下,该第二预设频繁度可以大于该第一预设频繁度,通过将第一守护范围内,使用频繁度大于或者大于等于该第二预设频繁度的至少一个用户权限信息纳入第二守护范围。当然,也可以直接将第一守护范围内的前预设数量的多个用户权限信息纳入第二守护范围,其中,第一守护范围内的多个用户权限信息按照使用频繁度由高到低进行排列。
可选地,在第二使用信息和第一使用信息不同的情况下,针对第一守护范围内的各个用户权限信息,可以根据用户权限信息对应的第二使用信息,确定用户权限信息对应的新的使用频繁度;接着,根据第一守护范围内的各个用户权限信息对应的新的使用频繁度和第二预设频繁度,筛选出大于或者大于等于该第二预设频繁度的至少一个用户权限信息,并将该至少一个用户权限信息纳入第二守护范围。可选地,用户权限信息的第二使用信息可以包括但不限于是用户权限信息在一段时间内的调用次数、用户权限信息对应的最近一次的调用时刻与当前时刻之间的时间间隔、该用户权限信息对应的登录用户标识的最近一次更新时刻与当前时刻之间的时间间隔等。
示例性地,如图7所示,提供了一种可选的确定第二守护范围的实现方式,可以包括以下步骤:
步骤701,针对第一守护范围内的各个用户权限信息,获取各个用户权限信息在预设时间段内的调用次数和/或调用时间间隔。
也就是说,用户权限信息的第二使用信息可以包括用户权限信息在预设时间段内的调用次数,也可以包括用户权限信息的调用时间间隔,还可以包括用户权限信息在预设时间段内的调用次数和调用时间间隔;其中,该预设时间段可以是当前时刻之前的预设时长对应的时间段,也可以是根据历史统计数据估计的访问量较高的至少一个时间段,如:上午9:00至11:00、晚上20:00至22:00等。另外,用户权限信息的调用时间间隔可以是历史的每次调用中,每两次调用之间的平均时间间隔,也可以是预设时间段内的各次调用之间的平均时间间隔,还可以是最近一次的调用时刻和当前时刻之间的时间间隔等;需要说明的是,本申请对预设时间段的定义和调用时间间隔的定义并不做具体限定。
可选地,在用户权限信息被调用时,服务器可以对该用户权限信息的使用信息进行记录管理,统计用户权限信息的调用次数,以及记录该用户权限信息每次被调用的时刻,以便于服务器可以根据各用户权限信息的历史调用记录,获取到各用户权限信息在预设时间段内的调用次数和/或调用时间间隔。
步骤702,根据各个用户权限信息在预设时间段内的调用次数和/或调用时间间隔,确定符合第二预设频繁度的多个用户权限信息,并根据符合第二预设频繁度的多个用户权限信息确定第二守护范围。
示例性地,在该第二使用信息包括用户权限信息在预设时间段内的调用次数的情况下,该第二预设频繁度可以与预设时间段内的调用次数相关;可以根据各用户权限信息在预设时间段内的调用次数和该第二预设频繁度,确定大于或者大于等于该第二预设频繁度的至少一个用户权限信息;接着,将该至少一个用户权限信息纳入第二守护范围;该第二守护范围内的各个用户权限信息可以按照各自在预设时间段内的调用次数,由大到小进行排列。
示例性地,在该第二使用信息包括用户权限信息的调用时间间隔的情况下,该第二预设频繁度可以与调用时间间隔相关;可以根据各用户权限信息的调用时间间隔和该第二预设频繁度,确定调用时间间隔小于或者小于等于该第二预设频繁度的至少一个用户权限信息;接着,将该至少一个用户权限信息纳入第二守护范围;该第二守护范围内的各个用户权限信息可以按照各自的调用时间间隔,由小到大进行排列。
示例性地,在该第二使用信息包括用户权限信息在预设时间段内的调用次数和调用时间间隔的情况下,该第二预设频繁度可以与预设时间段内的调用次数和相关;可以对用户权限信息对应的在预设时间段内的调用次数和调用时间间隔进行加权求和处理,得到用户权限信息的使用频繁度,接着,可以判断该用户权限信息的使用频繁度是否大于或大于等于该第二预设频繁度,在该用户权限信息的使用频繁度大于或大于等于该第二预设频繁度的情况下,可以将该用户权限信息纳入该第二守护范围;该第二守护范围内的各个用户权限信息可以按照各自的使用频繁度,由大到小进行排列。可选地,在进行加权求和时,用户权限信息对应的在预设时间段内的调用次数的权重可以大于调用时间间隔对应的权重,且在预设时间段内的调用次数越多对应的权重越大,调用时间间隔越小对应的权重越大。
进一步地,在确定出第二守护范围之后,可以判断该权限变更的用户权限信息是否在该第二守护范围内;可选地,可以根据该权限变更的用户权限信息对应的登录用户标识,判断该第二守护范围内是否包括该权限变更的用户权限信息对应的登录用户标识,若该第二守护范围内包括该权限变更的用户权限信息对应的登录用户标识,则可以确定该权限变更的用户权限信息在第二守护范围内。
步骤602,在确定权限变更的用户权限信息在第二守护范围内的情况下,优先执行从数据库中获取权限变更的用户权限信息对应的新的权限信息,并将预先缓存的权限变更的用户权限信息替换为新的权限信息的步骤。
也就是说,如果权限变更的用户权限信息在第二守护范围内,那么可以先对该权限变更的用户权限信息执行权限数据更新操作;如果权限变更的用户权限信息不在第二守护范围内,那么可以待第二守护范围内的各个权限变更的用户权限信息均执行完权限数据更新操作之后,再对那些不在第二守护范围内且权限数据出现变更的用户权限信息,执行权限数据更新操作。可选地,也可以在第二守护范围内的各个权限变更的用户权限信息均执行完权限数据更新操作的预设时长之后,再对那些不在第二守护范围内且权限数据出现变更的用户权限信息,执行权限数据更新操作。
本实施例中,判断权限变更的用户权限信息是否在第二守护范围内,在确定权限变更的用户权限信息在第二守护范围内的情况下,优先执行从数据库中获取权限变更的用户权限信息对应的新的权限信息,并将预先缓存的权限变更的用户权限信息替换为新的权限信息的步骤;其中,该第二守护范围为根据第一守护范围内的各个用户权限信息的第二使用信息所确定的符合第二预设频繁度的多个用户权限信息形成的守护范围;也就是说,对于需要进行权限数据更新的用户权限信息,可以进一步根据各个用户权限信息的使用频繁度,对使用频繁度更高的用户权限信息优先执行权限数据更新操作,对使用频繁度次高的用户权限信息后执行权限数据更新操作;即根据使用频繁度,对需要进行权限数据更新的用户权限信息确定更新优先级,对于热点数据进行及时更新,提高服务器的响应速度,同时还能避免同时更新大量数据导致服务器的处理数据量较大,以及服务的数据库的压力较大,避免服务器卡顿以及权限判断阻塞,提高服务器的权限数据更新效率以及服务器的鉴权效率,进而还能提高用户体验。
在本申请的一个可选的实施例中,如图8所示,提供了一个权限信息更新的完整流程示意图,包括以下步骤:
步骤801,针对预先缓存的用户权限信息,监听数据库中用户权限信息是否出现权限变更。
步骤802,在监听到用户权限信息出现权限变更的情况下,针对预先缓存的各个用户权限信息,获取各个用户权限信息的调用次数和调用时刻。
步骤803,根据各个用户权限信息的调用次数和调用时刻,确定符合第一预设频繁度的多个用户权限信息,并将该多个用户权限信息纳入第一守护范围。
步骤804,判断权限变更的用户权限信息是否在第一守护范围内。
步骤805,在判断权限变更的用户权限信息在第一守护范围内的情况下,针对第一守护范围内的各个用户权限信息,获取各个用户权限信息在预设时间段内的调用次数和调用时间间隔。
步骤806,根据各个用户权限信息在预设时间段内的调用次数和调用时间间隔,确定符合第二预设频繁度的多个用户权限信息,并将该多个用户权限信息纳入第二守护范围。
步骤807,判断权限变更的用户权限信息是否在第二守护范围内。
步骤808,在判断权限变更的用户权限信息在第二守护范围内的情况下,则立即对该权限变更的用户权限信息执行权限数据更新操作。
步骤809,在判断权限变更的用户权限信息在第二守护范围外的情况下,在第二守护范围内的各个权限变更的用户权限信息均完成权限数据更新操作之后,对第二守护范围外的各个权限变更的用户权限信息执行权限数据更新操作。
步骤810,在判断权限变更的用户权限信息在第一守护范围外的情况下,对预先缓存的权限变更的用户权限信息进行删除。
在本申请的一个可选的实施例中,在上述权限信息管理方法应用于微服务系统时,其各个微服务之间的交互示意图可以如图9所示,包括web前端服务、后端服务和缓存管理服务;其中,web前端服务用于根据用户的触发操作生成接口调用请求,该接口调用请求用于获取待调用接口对应的后端数据;后端服务用于对web前端服务发送的接口调用请求中的待调用接口进行鉴权处理,后端服务可以通过数据库查询对待调用接口进行鉴权处理,也可以通过缓存管理服务根据缓存数据对待调用接口进行鉴权处理;后端服务还用于在鉴权通过后,获取待调用接口对应的后端数据并返回至web前端服务;另外,该缓存管理服务还用于对缓存的用户权限数据进行管理和更新。具体实现方式可以参照上述各个实施例中的权限信息管理方法的实现方式,在此不再赘述。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的权限信息管理方法的权限信息管理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个权限信息管理装置实施例中的具体限定可以参见上文中对于权限信息管理方法的限定,在此不再赘述。
在一个实施例中,如图10所示,提供了一种权限信息管理装置,包括:第一获取模块1001、查询模块1002和第二获取模块1003,其中:
第一获取模块1001,用于获取终端在登录状态下发送的接口调用请求;接口调用请求中携带终端的登录用户标识和待调用接口;
查询模块1002,用于根据该登录用户标识和待调用接口,从预先缓存的用户权限信息中,查询该登录用户标识对应的用户对该待调用接口的访问权限;预先缓存的用户权限信息为在先从数据库中获取并缓存的,预先缓存的用户权限信息中包括不同登录用户标识对应的用户权限信息;
第二获取模块1003,用于在确定用户具有对该待调用接口的访问权限的情况下,获取待调用接口对应的数据。
在其中一个实施例中,该装置还包括:监听模块、第一确定模块和第一更新模块;其中,监听模块,用于针对预先缓存的用户权限信息,监听数据库中用户权限信息是否出现权限变更;第一确定模块,用于在监听到用户权限信息出现权限变更的情况下,根据权限变更的用户权限信息确定对应的目标更新策略;第一更新模块,用于采用目标更新策略对预先缓存的权限变更的用户权限信息进行更新,确定与权限变更的用户权限信息对应的新的用户权限信息。
在其中一个实施例中,该目标更新策略包括替换策略或删除策略,替换策略用于基于权限变更的用户权限信息对应的新的用户权限信息替换预先缓存的权限变更的用户权限信息;删除策略用于对预先缓存的权限变更的用户权限信息进行删除;第一确定模块,具体用于判断权限变更的用户权限信息是否在第一守护范围内,在确定权限变更的用户权限信息在第一守护范围内的情况下,确定权限变更的用户权限信息对应的目标更新策略为替换策略;在确定权限变更的用户权限信息不在第一守护范围内的情况下,确定权限变更的用户权限信息对应的目标更新策略为删除策略;其中,该第一守护范围为根据各个用户权限信息的第一使用信息所确定的符合第一预设频繁度的多个用户权限信息形成的守护范围。
在其中一个实施例中,上述第一更新模块,具体用于在目标更新策略为替换策略的情况下,从数据库中获取权限变更的用户权限信息对应的新的权限信息,并将预先缓存的权限变更的用户权限信息替换为新的权限信息;在目标更新策略为删除策略的情况下,删除预先缓存的权限变更的用户权限信息。
在其中一个实施例中,上述第一更新模块,具体用于判断权限变更的用户权限信息是否在第二守护范围内,在确定权限变更的用户权限信息在第二守护范围内的情况下,优先执行从数据库中获取权限变更的用户权限信息对应的新的权限信息,并将预先缓存的权限变更的用户权限信息替换为新的权限信息的步骤;其中,该第二守护范围为根据第一守护范围内的各个用户权限信息的第二使用信息所确定的符合第二预设频繁度的多个用户权限信息形成的守护范围。
在其中一个实施例中,该装置还包括:第三获取模块和第二确定模块;其中,第三获取模块,用于针对预先缓存的各个用户权限信息,获取各个用户权限信息的调用次数和/或调用时刻;第二确定模块,用于根据各个用户权限信息的调用次数和/或调用时刻,确定符合第一预设频繁度的多个用户权限信息,并根据符合第一预设频繁度的多个用户权限信息确定第一守护范围。
在其中一个实施例中,该装置还包括:第四获取模块和第三确定模块;其中,第四获取模块,用于针对第一守护范围内的各个用户权限信息,获取各个用户权限信息在预设时间段内的调用次数和/或调用时间间隔;第三确定模块,用于根据各个用户权限信息在预设时间段内的调用次数和/或调用时间间隔,确定符合第二预设频繁度的多个用户权限信息,并根据符合第二预设频繁度的多个用户权限信息确定第二守护范围。
在其中一个实施例中,该装置还包括:第二更新模块;该第二更新模块,用于根据预设更新时长,对第一守护范围进行更新,得到新的第一守护范围。
上述权限信息管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储用户权限数据以及各用户权限数据的历史调用信息和使用信息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种权限信息管理方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各个实施例中的权限信息管理方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个实施例中的权限信息管理方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各个实施例中的权限信息管理方法的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所调用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (12)
1.一种权限信息管理方法,其特征在于,所述方法包括:
获取终端在登录状态下发送的接口调用请求;所述接口调用请求中携带所述终端的登录用户标识和待调用接口;
根据所述登录用户标识和所述待调用接口,从预先缓存的用户权限信息中,查询所述登录用户标识对应的用户对所述待调用接口的访问权限;所述预先缓存的用户权限信息为在先从数据库中获取并缓存的,所述预先缓存的用户权限信息中包括不同登录用户标识对应的用户权限信息;
所述预先缓存的用户权限信息更新包括:监听数据库中所述用户权限信息是否出现权限变更;
若监听到所述用户权限信息出现权限变更,则根据权限变更的用户权限信息确定对应的目标更新策略;
若所述权限变更的用户权限信息在第一守护范围内,则确定所述权限变更的用户权限信息对应的目标更新策略为替换策略;所述替换策略用于基于所述权限变更的用户权限信息对应的新的用户权限信息替换预先缓存的权限变更的用户权限信息;所述第一守护范围为根据各个所述用户权限信息的第一使用信息所确定的符合第一预设频繁度的多个用户权限信息形成的守护范围;所述第一守护范围根据预设更新时长进行更新;
若所述权限变更的用户权限信息不在所述第一守护范围内,则确定所述权限变更的用户权限信息对应的目标更新策略为删除策略;所述删除策略用于对预先缓存的所述权限变更的用户权限信息进行删除;
采用所述目标更新策略对预先缓存的所述权限变更的用户权限信息进行更新;
若确定所述用户具有对所述待调用接口的访问权限,则获取所述待调用接口对应的数据。
2.根据权利要求1所述的方法,其特征在于,所述采用所述目标更新策略对预先缓存的所述权限变更的用户权限信息进行更新,包括:
若所述目标更新策略为所述替换策略,则从所述数据库中获取所述权限变更的用户权限信息对应的新的权限信息,并将预先缓存的所述权限变更的用户权限信息替换为所述新的权限信息;
若所述目标更新策略为所述删除策略,则删除预先缓存的所述权限变更的用户权限信息。
3.根据权利要求2所述的方法,其特征在于,所述从所述数据库中获取所述权限变更的用户权限信息对应的新的权限信息,并将预先缓存的所述权限变更的用户权限信息替换为所述新的权限信息,包括:
判断所述权限变更的用户权限信息是否在第二守护范围内;所述第二守护范围为根据所述第一守护范围内的各个用户权限信息的第二使用信息所确定的符合第二预设频繁度的多个用户权限信息形成的守护范围;
若是,则优先执行从所述数据库中获取所述权限变更的用户权限信息对应的新的权限信息,并将预先缓存的所述权限变更的用户权限信息替换为所述新的权限信息的步骤。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对所述预先缓存的各个用户权限信息,获取各个所述用户权限信息的调用次数和/或调用时刻;
根据各个所述用户权限信息的所述调用次数和/或所述调用时刻,确定符合第一预设频繁度的多个用户权限信息,并根据符合第一预设频繁度的多个用户权限信息确定所述第一守护范围。
5.根据权利要求4所述的方法,其特征在于,根据各个所述用户权限信息的所述调用次数和所述调用时刻,确定符合第一预设频繁度的多个用户权限信息,并根据符合第一预设频繁度的多个用户权限信息确定所述第一守护范围,包括:
针对各所述用户权限信息,对所述用户权限信息对应的所述调用次数和所述调用时刻进行加权求和处理,得到所述用户权限信息的使用频繁度;
判断所述用户权限信息的使用频繁度是否大于或大于等于所述第一预设频繁度;
若是,则将所述用户权限信息纳入所述第一守护范围;所述第一守护范围内的各个所述用户权限信息按照各自的使用频繁度,由大到小进行排列。
6.根据权利要求4所述的方法,其特征在于,根据各个所述用户权限信息的所述调用次数和所述调用时刻,确定符合第一预设频繁度的多个用户权限信息,并根据符合第一预设频繁度的多个用户权限信息确定所述第一守护范围,包括:
针对各所述用户权限信息,对所述用户权限信息对应的所述调用次数和所述调用时刻进行加权求和处理,得到各所述用户权限信息的使用频繁度;
根据各所述用户权限信息的使用频繁度,由高到低对各所述用户权限信息进行排序,并将排序后的前预设数量的用户权限信息纳入所述第一守护范围。
7.根据权利要求5或6所述的方法,其特征在于,在进行加权求和时,所述用户权限信息对应的所述调用次数对应的权重大于所述调用时刻对应的权重。
8.根据权利要求3所述的方法,其特征在于,所述方法还包括:
针对所述第一守护范围内的各个用户权限信息,获取各个所述用户权限信息在预设时间段内的调用次数和/或调用时间间隔;
根据各个所述用户权限信息在预设时间段内的调用次数和/或所述调用时间间隔,确定符合第二预设频繁度的多个用户权限信息,并根据符合第二预设频繁度的多个用户权限信息确定所述第二守护范围。
9.一种权限信息管理装置,其特征在于,所述装置包括:
第一获取模块,用于获取终端在登录状态下发送的接口调用请求;所述接口调用请求中携带所述终端的登录用户标识和待调用接口;
查询模块,用于根据所述登录用户标识和所述待调用接口,从预先缓存的用户权限信息中,查询所述登录用户标识对应的用户对所述待调用接口的访问权限;所述预先缓存的用户权限信息为在先从数据库中获取并缓存的,所述预先缓存的用户权限信息中包括不同登录用户标识对应的用户权限信息;
监听模块,用于监听数据库中所述用户权限信息是否出现权限变更;
第一确定模块,用于若监听到所述用户权限信息出现权限变更,则根据权限变更的用户权限信息确定对应的目标更新策略;
所述第一确定模块,具体用于若所述权限变更的用户权限信息在第一守护范围内,则确定所述权限变更的用户权限信息对应的目标更新策略为替换策略;所述替换策略用于基于所述权限变更的用户权限信息对应的新的用户权限信息替换预先缓存的权限变更的用户权限信息;所述第一守护范围为根据各个所述用户权限信息的第一使用信息所确定的符合第一预设频繁度的多个用户权限信息形成的守护范围;所述第一守护范围根据预设更新时长进行更新;
所述第一确定模块,具体用于若所述权限变更的用户权限信息不在所述第一守护范围内,则确定所述权限变更的用户权限信息对应的目标更新策略为删除策略;所述删除策略用于对预先缓存的所述权限变更的用户权限信息进行删除;
第一更新模块,用于采用所述目标更新策略对预先缓存的所述权限变更的用户权限信息进行更新;
第二获取模块,用于若确定所述用户具有对所述待调用接口的访问权限,则获取所述待调用接口对应的数据。
10.根据权利要求9所述的装置,其特征在于,
所述第一更新模块,具体用于若所述目标更新策略为所述替换策略,则从所述数据库中获取所述权限变更的用户权限信息对应的新的权限信息,并将预先缓存的所述权限变更的用户权限信息替换为所述新的权限信息;若所述目标更新策略为所述删除策略,则删除预先缓存的所述权限变更的用户权限信息。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210860424.XA CN115102784B (zh) | 2022-07-21 | 2022-07-21 | 权限信息管理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210860424.XA CN115102784B (zh) | 2022-07-21 | 2022-07-21 | 权限信息管理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115102784A CN115102784A (zh) | 2022-09-23 |
CN115102784B true CN115102784B (zh) | 2023-06-23 |
Family
ID=83299206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210860424.XA Active CN115102784B (zh) | 2022-07-21 | 2022-07-21 | 权限信息管理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115102784B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6668322B1 (en) * | 1999-08-05 | 2003-12-23 | Sun Microsystems, Inc. | Access management system and method employing secure credentials |
CN104718551A (zh) * | 2012-09-26 | 2015-06-17 | 株式会社东芝 | 策略更新系统以及策略更新装置 |
CN108632204A (zh) * | 2017-03-17 | 2018-10-09 | 网宿科技股份有限公司 | Http接口访问权限验证方法、系统、及服务器 |
CN109510846A (zh) * | 2017-09-14 | 2019-03-22 | 北京金山云网络技术有限公司 | Api调用系统、方法、装置、电子设备及存储介质 |
CN110597534A (zh) * | 2019-08-26 | 2019-12-20 | 珠海格力电器股份有限公司 | 智能设备及应用程序更新方法、更新辅助方法和装置 |
US10592978B1 (en) * | 2012-06-29 | 2020-03-17 | EMC IP Holding Company LLC | Methods and apparatus for risk-based authentication between two servers on behalf of a user |
CN111327613A (zh) * | 2020-02-20 | 2020-06-23 | 深圳市腾讯计算机系统有限公司 | 分布式服务的权限控制方法、装置及计算机可读存储介质 |
CN111581223A (zh) * | 2020-04-11 | 2020-08-25 | 北京城市网邻信息技术有限公司 | 一种数据更新方法、装置、终端设备及存储介质 |
CN112035872A (zh) * | 2020-08-12 | 2020-12-04 | 博泰车联网(南京)有限公司 | 一种应用管理方法、终端及计算机存储介质 |
CN112613010A (zh) * | 2020-12-28 | 2021-04-06 | 北京世纪互联宽带数据中心有限公司 | 一种认证服务方法、装置、服务器及认证服务系统 |
CN113179243A (zh) * | 2021-03-10 | 2021-07-27 | 中国人民财产保险股份有限公司 | 一种接口调用的鉴权方法、装置、设备及存储介质 |
CN114218538A (zh) * | 2021-11-19 | 2022-03-22 | 中国建设银行股份有限公司 | 权限控制方法、装置、计算机设备、存储介质 |
CN114417278A (zh) * | 2021-12-31 | 2022-04-29 | 天闻数媒科技(北京)有限公司 | 一种接口统一管理系统和平台接口管理系统 |
CN114692172A (zh) * | 2020-12-25 | 2022-07-01 | 北京千里日成科技有限公司 | 用户请求的处理方法及装置 |
-
2022
- 2022-07-21 CN CN202210860424.XA patent/CN115102784B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6668322B1 (en) * | 1999-08-05 | 2003-12-23 | Sun Microsystems, Inc. | Access management system and method employing secure credentials |
US10592978B1 (en) * | 2012-06-29 | 2020-03-17 | EMC IP Holding Company LLC | Methods and apparatus for risk-based authentication between two servers on behalf of a user |
CN104718551A (zh) * | 2012-09-26 | 2015-06-17 | 株式会社东芝 | 策略更新系统以及策略更新装置 |
CN108632204A (zh) * | 2017-03-17 | 2018-10-09 | 网宿科技股份有限公司 | Http接口访问权限验证方法、系统、及服务器 |
CN109510846A (zh) * | 2017-09-14 | 2019-03-22 | 北京金山云网络技术有限公司 | Api调用系统、方法、装置、电子设备及存储介质 |
CN110597534A (zh) * | 2019-08-26 | 2019-12-20 | 珠海格力电器股份有限公司 | 智能设备及应用程序更新方法、更新辅助方法和装置 |
CN111327613A (zh) * | 2020-02-20 | 2020-06-23 | 深圳市腾讯计算机系统有限公司 | 分布式服务的权限控制方法、装置及计算机可读存储介质 |
CN111581223A (zh) * | 2020-04-11 | 2020-08-25 | 北京城市网邻信息技术有限公司 | 一种数据更新方法、装置、终端设备及存储介质 |
CN112035872A (zh) * | 2020-08-12 | 2020-12-04 | 博泰车联网(南京)有限公司 | 一种应用管理方法、终端及计算机存储介质 |
CN114692172A (zh) * | 2020-12-25 | 2022-07-01 | 北京千里日成科技有限公司 | 用户请求的处理方法及装置 |
CN112613010A (zh) * | 2020-12-28 | 2021-04-06 | 北京世纪互联宽带数据中心有限公司 | 一种认证服务方法、装置、服务器及认证服务系统 |
CN113179243A (zh) * | 2021-03-10 | 2021-07-27 | 中国人民财产保险股份有限公司 | 一种接口调用的鉴权方法、装置、设备及存储介质 |
CN114218538A (zh) * | 2021-11-19 | 2022-03-22 | 中国建设银行股份有限公司 | 权限控制方法、装置、计算机设备、存储介质 |
CN114417278A (zh) * | 2021-12-31 | 2022-04-29 | 天闻数媒科技(北京)有限公司 | 一种接口统一管理系统和平台接口管理系统 |
Non-Patent Citations (1)
Title |
---|
缓存策略在用户权限管理中的研究与应用;覃章荣;;计算机技术与发展(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115102784A (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11334543B1 (en) | Scalable bucket merging for a data intake and query system | |
US10270668B1 (en) | Identifying correlated events in a distributed system according to operational metrics | |
US10027553B2 (en) | Distributed system for self updating agents and analytics | |
CN104995899B (zh) | 服务器负载管理 | |
CN112364110A (zh) | 元数据管理方法、装置、设备及计算机存储介质 | |
EP3049940B1 (en) | Data caching policy in multiple tenant enterprise resource planning system | |
US20200019560A1 (en) | Systems and methods for providing predictions to applications executing on a computing device | |
US11809395B1 (en) | Load balancing, failover, and reliable delivery of data in a data intake and query system | |
US20090070425A1 (en) | Data processing system, method of updating a configuration file and computer program product | |
CN110474963A (zh) | 一种基于zookeeper的资源访问方法、系统、介质及电子设备 | |
CN112202617A (zh) | 资源管理系统监控方法、装置、计算机设备和存储介质 | |
CN117492944A (zh) | 任务调度方法、装置、电子设备及可读存储介质 | |
CN112579319A (zh) | 一种基于LRU Cache优化的服务调用方法及装置 | |
CN115118612A (zh) | 资源配额管理方法、装置、计算机设备和存储介质 | |
US9330123B2 (en) | Method and system for improving information system performance based on usage patterns | |
CN115102784B (zh) | 权限信息管理方法、装置、计算机设备和存储介质 | |
CN116708245A (zh) | 一种接口控制方法、装置、计算机设备 | |
CN114051052B (zh) | 行为事件配置方法、系统、装置、服务器及存储介质 | |
CN116366724A (zh) | 业务流程的处理方法、装置、计算机设备、存储介质 | |
US20100274888A1 (en) | Generating a summary of users that have accessed a resource | |
US11362881B2 (en) | Distributed system for self updating agents and provides security | |
CN112561593A (zh) | 积分发放控制方法及其装置、设备、介质 | |
CN117176728B (zh) | 基于云边协同技术的工业物联网调度方法及调度系统 | |
CN117573479B (zh) | 一种面向信息系统多源目标的状态监测方法及系统架构 | |
CN117992243B (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 |