掌桥专利:专业的专利平台
掌桥专利
首页

请求处理方法、装置、计算机设备和存储介质

文献发布时间:2023-06-19 10:08:35


请求处理方法、装置、计算机设备和存储介质

技术领域

本申请涉及人工智能技术领域,具体涉及一种请求处理方法、装置、计算机设备和存储介质。

背景技术

随着计算机技术的快速发展,现有的网络服务平台,尤其是金融性质的平台对平台上的数据、资源的安全性要求比较高,非授权用户是不允许越权访问数据和资源的。那么在用户发出资源访问请求时,如何在对用户的访问权限进行简单有效控制的同时,保证重要资源不被非法分子使用和访问,避免发生用户越权访问情况,成为了目前一个亟待解决的问题。

发明内容

本申请的主要目的为提供一种请求处理方法、装置、计算机设备和存储介质,旨在解决在用户发出资源访问请求时,如何在对用户的访问权限进行简单有效控制的同时,保证重要资源不被非法分子使用和访问,避免发生用户越权访问情况的技术问题。

本申请提出一种请求处理方法,所述方法包括步骤:

通过预设的拦截器拦截用户发送的访问请求,其中,所述访问请求为用于访问待访问资源的请求;

对所述访问请求进行参数校验,判断所述访问请求中是否携带有url地址与用户信息;

若所述访问请求中携带有url地址与用户信息,则提取出所述访问请求中的所述url地址,并基于所述url地址,判断所述访问请求是否属于指定请求,其中,所述指定请求为无需权限的请求;

若所述访问请求不属于指定请求,则提取出所述访问请求中的所述用户信息,以及获取与所述用户对应的人脸视频、与所述用户信息对应的标准人脸图像以及与所述用户信息对应的标准声纹特征向量,其中,所述人脸视频中包含与所述用户对应的多帧图片,以及包含与所述用户对应的音频信息;

基于所述人脸视频、标准人脸图像、所述标准声纹特征向量以及预设的表情识别模型对所述用户进行身份验证处理,并判断身份验证是否通过;

若身份验证通过,则基于预设的缓存数据与所述用户信息,判断所述用户是否具备访问所述url地址的访问权限;

若所述用户具备访问所述url地址的访问权限,则对所述访问请求进行响应,否则限制对所述访问请求进行响应,并返回无访问权限的提示信息。

可选地,所述基于所述人脸视频、标准人脸图像、所述标准声纹特征向量以及预设的表情识别模型对所述用户进行身份验证处理,并判断身份验证是否通过的步骤,包括:

从所述人脸视频中提取出所述用户的人脸图像;

基于所述表情识别模型对所述人脸图像进行表情识别,获得所述用户的表情类型;

判断所述表情类型是否属于指定类表情;

若所述表情类型不属于所述指定类表情,则计算所述人脸图像与所述标准人脸图像之间的第一相似度;以及,

从所述人脸视频中提取出所述用户的待测声纹特征向量,并计算所述待测声纹特征向量与所述标准声纹特征向量之间的第二相似度;

基于预设权重,对所述第一相似度与所述第二相似度进行加权求和,得到对应的分数;

判断所述分数是否大于预设的分数阈值;

若所述分数大于所述分数阈值,则判定身份验证通过;

若所述分数不大于所述分数阈值,则判定身份验证未通过。

可选地,所述基于所述表情识别模型对所述人脸图像进行表情识别,获得所述用户的表情类型的步骤,包括:

将所述人脸图像输入至指定数量的表情识别模型内,以通过每一个所述表情识别模型对所述人脸图像进行表情识别并分别输出与所述人脸图像对应的表情识别结果;

接收各所述表情识别模型分别返回的表情识别结果;

对所有所述表情识别结果进行统计分析,筛选出在所有所述表情识别结果中出现次数最高的指定表情识别结果;

将所述指定表情识别结果确定为所述表情类型。

可选地,所述将所述人脸图像输入至指定数量的表情识别模型内,以通过每一个所述表情识别模型对所述人脸图像进行表情识别并分别输出与所述人脸图像对应的表情识别结果的步骤之前,包括:

获取指定数量的训练样本集,其中,每一个训练样本集的训练样本包括若干样本人脸图像,以及对样本人脸图像进行标注的表情标注信息,且每一个训练样本集包含有互不相同的样本人脸图像;

获取指定训练样本集,将所述指定训练样本集中的样本人脸图像作为预设的初始模型的输入,将与样本人脸图像对应的表情标注信息作为所述初始模型的输出,来对所述初始模型进行训练,生成训练完成的初始模型,其中,所述指定训练样本集为所有所述训练样本集中的任意一个样本集;

获取预设的测试样本集,基于所述测试样本集对所述训练完成的初始模型进行验证,并判断是否验证通过;

若验证通过,则将所述训练完成的初始模型作为与所述指定训练样本集对应的指定表情识别模型;

将所述指定表情识别模型存储至区块链网络。

可选地,所述基于预设的缓存数据与所述用户信息,判断所述用户是否具备访问所述url地址的访问权限的步骤,包括:

从预设的用户角色映射缓存中获取与所述用户信息对应的指定角色id;

采用预设的匹配算法对所述指定角色id与预设的角色权限映射缓存内包含的所有角色id进行逐一匹配处理,判断所述角色权限映射缓存内是否存在与所述指定角色id相同的目标角色id;

若所述角色权限映射缓存内存在所述目标角色id,则从所述角色权限映射缓存内查找出与所述目标角色id对应的权限id;

根据所述权限id,从预设的权限清单缓存中获取与所述权限id对应的权限信息;

判断所述权限信息是否为允许访问全部请求地址;

若所述权限信息不为允许访问全部请求地址,则获取与所述权限信息对应的目标访问地址集合;

判断所述目标访问地址集合中是否存在与所述url地址相同的访问地址;

若所述目标访问地址集合中存在所述访问地址,则判定所述用户具备访问所述url地址的访问权限;

若所述目标访问地址集合中不存在所述访问地址,则判定所述用户不具备访问所述url地址的访问权限。

可选地,所述基于所述url地址,判断所述访问请求是否属于指定请求的步骤,包括:

获取预设的指定地址集合,其中,所述指定地址集合中包含的地址属于无需权限的请求地址;

将所述url地址与所述指定地址集合中包含的所有地址进行匹配处理,判断所述指定地址集合内是否存在与所述url地址相同的目标地址;

若所述指定地址集合内存在所述目标地址,则判定所述访问请求属于指定请求;

若所述指定地址集合内不存在所述目标地址,则判定所述访问请求不属于指定请求。

可选地,所述对所述访问请求进行参数校验,判断所述访问请求中是否携带有url地址与用户信息的步骤,包括:

对所述访问请求进行解析处理,判断所述访问请求的输入参数是否为空;

若所述访问请求的输入参数不为空,则获取与身份信息对应的身份参数标识,以及获取与地址信息对应的地址参数标识;

判断所述输入参数中是否包含有所述身份参数标识与所述地址参数标识;

若所述输入参数中包含有所述身份参数标识与所述地址参数标识,则判定所述访问请求中携带有url地址与用户信息。

本申请还提供一种请求处理装置,包括:

拦截模块,用于通过预设的拦截器拦截用户发送的访问请求,其中,所述访问请求为用于访问待访问资源的请求;

第一判断模块,用于对所述访问请求进行参数校验,判断所述访问请求中是否携带有url地址与用户信息;

第二判断模块,用于若所述访问请求中携带有url地址与用户信息,则提取出所述访问请求中的所述url地址,并基于所述url地址,判断所述访问请求是否属于指定请求,其中,所述指定请求为无需权限的请求;

提取模块,用于若所述访问请求不属于指定请求,则提取出所述访问请求中的所述用户信息,以及获取与所述用户对应的人脸视频、与所述用户信息对应的标准人脸图像以及与所述用户信息对应的标准声纹特征向量,其中,所述人脸视频中包含与所述用户对应的多帧图片,以及包含与所述用户对应的音频信息;

验证模块,用于基于所述人脸视频、标准人脸图像、所述标准声纹特征向量以及预设的表情识别模型对所述用户进行身份验证处理,并判断身份验证是否通过;

第三判断模块,用于若身份验证通过,则基于预设的缓存数据与所述用户信息,判断所述用户是否具备访问所述url地址的访问权限;

处理模块,用于若所述用户具备访问所述url地址的访问权限,则对所述访问请求进行响应,否则限制对所述访问请求进行响应,并返回无访问权限的提示信息。

本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

本申请中提供的请求处理方法、装置、计算机设备和存储介质,具有以下有益效果:

本申请中提供的请求处理方法、装置、计算机设备和存储介质,在接收到用户发送的访问请求时,通过使用拦截器对该访问请求进行拦截,然后基于访问请求中的用户信息对用户进行身份验证,在身份验证通过后,再进一步基于缓存数据与该用户信息对用户进行访问权限的验证,只有用户同时通过了身份验证以及访问权限验证时,后续才会对该访问请求进行响应,有效地规避了由于响应了无权限用户提交的访问请求而导致重要资源不被非法分子使用和访问,保证了访问请求处理过程中的数据安全性。

附图说明

图1是本申请一实施例的请求处理方法的流程示意图;

图2是本申请一实施例的请求处理装置的结构示意图;

图3是本申请一实施例的计算机设备的结构示意图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

参照图1,本申请一实施例的请求处理方法,包括:

S1:通过预设的拦截器拦截用户发送的访问请求,其中,所述访问请求为用于访问待访问资源的请求;

S2:对所述访问请求进行参数校验,判断所述访问请求中是否携带有url地址与用户信息;

S3:若所述访问请求中携带有url地址与用户信息,则提取出所述访问请求中的所述url地址,并基于所述url地址,判断所述访问请求是否属于指定请求,其中,所述指定请求为无需权限的请求;

S4:若所述访问请求不属于指定请求,则提取出所述访问请求中的所述用户信息,以及获取与所述用户对应的人脸视频、与所述用户信息对应的标准人脸图像以及与所述用户信息对应的标准声纹特征向量,其中,所述人脸视频中包含与所述用户对应的多帧图片,以及包含与所述用户对应的音频信息;

S5:基于所述人脸视频、标准人脸图像、所述标准声纹特征向量以及预设的表情识别模型对所述用户进行身份验证处理,并判断身份验证是否通过;

S6:若身份验证通过,则基于预设的缓存数据与所述用户信息,判断所述用户是否具备访问所述url地址的访问权限;

S7:若所述用户具备访问所述url地址的访问权限,则对所述访问请求进行响应,否则限制对所述访问请求进行响应,并返回无访问权限的提示信息。

如上述步骤S1至S7所述,本方法实施例的执行主体为一种请求处理装置。在实际应用中,上述请求处理装置可以通过虚拟装置,例如软件代码实现,也可以通过写入或集成有相关执行代码的实体装置实现,且可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。本实施例中的请求处理装置,能够有效地规避了由于响应了无权限用户提交的访问请求而导致重要资源不被非法分子使用和访问,保证了访问请求处理过程中的数据安全性。具体地,首先通过预设的拦截器拦截用户发送的访问请求,其中,上述访问请求为用于访问待访问资源的请求。另外,可以在请求处理装置的配置文件中配置一个拦截器,然后在拦截器类中添加preHandle方法,preHandle方法如下:public booleanpreHandle(HttpServletRequest request,HttpServletResponse response,Object o)throws Exception,以实现后续在处理用户通过客户端发送的访问请求时,会先进入拦截器中的处理逻辑,进而进行对于访问请求的鉴权处理。然后对上述访问请求进行参数校验,判断上述访问请求中是否携带有url(uniform resource locator,统一资源定位系统)地址与用户信息。其中,可以通过判断上述访问请求的输入参数中是否均包含有身份参数标识与地址参数标识的方式进行参数校验,如果上述输入参数中均包含该身份参数标识与该地址参数标识,则判定上述访问请求中携带有url地址与用户信息。如果上述访问请求中携带有url地址与用户信息,则提取出上述访问请求中的上述url地址,并基于上述url地址,判断上述访问请求是否属于指定请求。其中,上述指定请求为无需权限的请求。另外,可通过request.getRequestURI()方法从request对象中获取与上述访问请求对应的url地址。如果上述访问请求不属于指定请求,则提取出上述访问请求中的上述用户信息,以及获取与上述用户对应的人脸视频、与上述用户信息对应的标准人脸图像以及与上述用户信息对应的标准声纹特征向量。其中,上述人脸视频中包含与上述用户对应的多帧图片,以及包含与上述用户对应的音频信息。可以从request中通过session获取用户信息,上述用户信息具体可为登录用户名。另外,可以通过请求处理装置的摄像头获取与上述用户对应的人脸视频,以及基于该用户信息通过查询预设的图像数据库来获取与上述用户信息对应的标准人脸图像,并可基于该用户信息通过查询预设的声纹数据库来获取与上述用户信息对应的标准声纹特征向量。之后基于上述人脸视频、标准人脸图像、上述标准声纹特征向量以及预设的表情识别模型对上述用户进行身份验证处理,并判断身份验证是否通过。其中,可以从上述人脸视频中提取出上述用户的人脸图像与上述用户的待测声纹特征向量,进而使用上述表情识别模型对用户进行表情识别,使用上述标准人脸图像与人脸图像进行匹配计算以及使用上述标准声纹特征向量与人脸图像进行相似度计算的多维度方式对用户进行身份验证处理。另外,对上述人脸视频中的任意帧图片进行图像识别,并将识别到的图像进行描边处理,可以得到与用户对应的待人脸图像。以及,通过对上述人脸视频进行语音分离处理,将分离得到的语音确定为上述音频信息,进而对该音频信息进行分块处理以得到音频区域集,最后再提取所述音频区域集中任意帧对应的特征参数,便可得到与用户对应的待检测声纹特征向量。如果身份验证通过,则基于预设的缓存数据与上述用户信息,判断上述用户是否具备访问上述url地址的访问权限。其中,上述缓存数据具体可包括三种缓存:权限清单缓存RightListCache、角色权限映射缓存RoleRightMapCache以及用户角色映射缓存UserRoleMapCache,基于上述用户信息对该三种缓存进行数据查询处理,以识别出用户是否具备访问上述url地址的访问权限。如果上述用户具备访问上述url地址的访问权限,则对上述访问请求进行响应,否则限制对上述访问请求进行响应,并返回无访问权限的提示信息。其中,对上述访问请求进行响应具体是返回与该访问请求对应的待访问资源。另外,当用户不具备访问上述url地址的访问权限,可直接返回false,并跳转至没有权限提示页(noauthority.jsp),并生成”您还没有对应地址的请求权限!”的提示信息。本实施例在接收到用户发送的访问请求时,通过使用拦截器对该访问请求进行拦截,然后基于访问请求中的用户信息对用户进行身份验证,在身份验证通过后,再进一步基于缓存数据与该用户信息对用户进行访问权限的验证,只有用户同时通过了身份验证以及访问权限验证时,后续才会对该访问请求进行响应,有效地规避了由于响应了无权限用户提交的访问请求而导致重要资源不被非法分子使用和访问,保证了访问请求处理过程中的数据安全性。

进一步地,本申请一实施例中,上述步骤S5,包括:

S500:从所述人脸视频中提取出所述用户的人脸图像;

S501:基于所述表情识别模型对所述人脸图像进行表情识别,获得所述用户的表情类型;

S502:判断所述表情类型是否属于指定类表情;

S503:若所述表情类型不属于所述指定类表情,则计算所述人脸图像与所述标准人脸图像之间的第一相似度;以及,

S504:从所述人脸视频中提取出所述用户的待测声纹特征向量,并计算所述待测声纹特征向量与所述标准声纹特征向量之间的第二相似度;

S505:基于预设权重,对所述第一相似度与所述第二相似度进行加权求和,得到对应的分数;

S506:判断所述分数是否大于预设的分数阈值;

S507:若所述分数大于所述分数阈值,则判定身份验证通过;

S508:若所述分数不大于所述分数阈值,则判定身份验证未通过。

如上述步骤S500至S508所述,上述基于上述人脸视频、标准人脸图像、上述标准声纹特征向量以及预设的表情识别模型对上述用户进行身份验证处理,并判断身份验证是否通过的步骤,具体可包括:首先从上述人脸视频中提取出上述用户的人脸图像。然后基于上述表情识别模型对上述人脸图像进行表情识别,获得上述用户的表情类型。其中,通过上述表情识别模型能够识别出人脸图像中的用户的表情类型,例如该表情类型包括包括高兴、愤怒、惊讶、害怕、悲伤等。并判断上述表情类型是否属于指定类表情。其中,上述指定类表情指用户在需要通过访问请求浏览相应的url地址对应的资源时,存在不正当的意图如欺骗意图时容易流露出的表情,例如该指定类表情包括害怕、惊讶等表情。另外,当判定出上述人脸图像对应的表情类型属于该指定类表情时,则会对当前用户是否为与用户信息对应的目标用户本人持怀疑态度,并会初步判定该用户未通过身份验证。如果上述表情类型不属于上述指定类表情,则计算上述人脸图像与上述标准人脸图像之间的第一相似度。其中,可采用人脸识别技术确定出用户的人脸图像与上述标准人脸图像的第一相似度,例如可以采用局部特征分析方法、特征脸方法、感知哈希算法等实现。之后从上述人脸视频中提取出上述用户的待测声纹特征向量,并计算上述待测声纹特征向量与上述标准声纹特征向量之间的第二相似度。其中,可采用距离计算公式来计算出上述第二相似度,上述距离计算公式可为:

进一步地,本申请一实施例中,上述步骤S501,包括:

S5010:将所述人脸图像输入至指定数量的表情识别模型内,以通过每一个所述表情识别模型对所述人脸图像进行表情识别并分别输出与所述人脸图像对应的表情识别结果;

S5011:接收各所述表情识别模型分别返回的表情识别结果;

S5012:对所有所述表情识别结果进行统计分析,筛选出在所有所述表情识别结果中出现次数最高的指定表情识别结果;

S5013:将所述指定表情识别结果确定为所述表情类型。

如上述步骤S5010至S5013所述,上述基于上述表情识别模型对上述人脸图像进行表情识别,获得上述用户的表情类型的步骤,具体可包括:首先将上述人脸图像输入至指定数量的表情识别模型内,以通过每一个上述表情识别模型对上述人脸图像进行表情识别并分别输出与上述人脸图像对应的表情识别结果。其中,上述表情识别模型是基于预设的训练样本集,利用机器学习方法对初始模型(例如神经网络)进行训练后得到的模型。上述指定数量可以为预先设定的。可以为3个、4个等。另外,上述每一个表情识别模型可以是基于不同的训练样本集训练得到的。因此,对于相同的一个人脸图像所呈现的面部表情,不同的表情识别模型识别出来的用于指示该人脸图像所呈现的表情识别结果可能并不完全相同。当使用一个表情识别模型对人脸图像进行表情识别时,其所识别出的表情信息准确率较低。而通过利用上述指定数量的表情识别模型来分别对人脸图像呈现的面部表情进行表情识别,可以提高所得到的人脸图像中用户的表情类型的准确性。然后接收各上述表情识别模型分别返回的表情识别结果。之后对所有上述表情识别结果进行统计分析,筛选出在所有上述表情识别结果中出现次数最高的指定表情识别结果。最后将上述指定表情识别结果确定为上述表情类型。本实施例,通过使用指定数量的表情识别模型分别对上述人脸图像进行表情识别,然后收集各上述表情识别模型分别返回的表情识别结果,并将出现次数最多的表情识别结果对应的指定表情识别结果作为用户的表情类型,从而可以避免仅利用一个表情识别模型来对人脸图像进行表情识别而导致识别误差过大,从而有效地提高了对于人脸图像的表情识别的准确率,进而提高使用表情识别模型对用户进行身份验证的准确性。优选地,上述指定数量优选采用奇数,通过将上述指定数量设置为奇数个,可以避免出现当采用偶数个例如4个时每两个预测出的表情识别结果相同,而与其余两个预测出的不同的情况,进而导致无法确定出与人脸图像对应的表情类型的情况。通过采用奇数个表情识别模型来对上述人脸图像进行表情识别从而,可以保证表情识别模型所预测出的与用户的人脸图像对应的表情类型能够更加准确。

进一步地,本申请一实施例中,上述步骤S501之前,包括:

S5000:获取指定数量的训练样本集,其中,每一个训练样本集的训练样本包括若干样本人脸图像,以及对样本人脸图像进行标注的表情标注信息,且每一个训练样本集包含有互不相同的样本人脸图像;

S5001:获取指定训练样本集,将所述指定训练样本集中的样本人脸图像作为预设的初始模型的输入,将与样本人脸图像对应的表情标注信息作为所述初始模型的输出,来对所述初始模型进行训练,生成训练完成的初始模型,其中,所述指定训练样本集为所有所述训练样本集中的任意一个样本集;

S5002:获取预设的测试样本集,基于所述测试样本集对所述训练完成的初始模型进行验证,并判断是否验证通过;

S5003:若验证通过,则将所述训练完成的初始模型作为与所述指定训练样本集对应的指定表情识别模型;

S5004:将所述指定表情识别模型存储至区块链网络。

如上述步骤S5000至S5004所述,在执行上述将上述人脸图像输入至指定数量的表情识别模型内,以通过每一个上述表情识别模型对上述人脸图像进行表情识别并分别输出与上述人脸图像对应的表情识别结果的步骤之前,还可包括上述表情识别模型的创建过程。具体地,首先获取指定数量的训练样本集,其中,每一个训练样本集的训练样本包括若干样本人脸图像,以及对样本人脸图像进行标注的表情标注信息,且每一个训练样本集包含有互不相同的样本人脸图像。另外,所获取的训练样本集的数量与表情识别模型的数量相同,也即是训练样本集与表情识别模型为一一对应的关系。此外,上述指定数量的训练样本集中的每一个训练样本集所包括的样本人脸图像的标注信息具体是可以基于不同的标注方式标注的。具体的,上述不同的标注方式可以为不同的人基于主观判断标注的。由于每一个训练样本集中的人脸图像的标注信息均是由不同的用户基于主观判断来标注生成的,因此对于相似的样本人脸图像中的面部表情,不同的人标注会可能会得到不同的表情标注信息,可以使得样本人脸图像中的表情标注信息能够更加全面。然后获取指定训练样本集,将上述指定训练样本集中的样本人脸图像作为预设的初始模型的输入,将与样本人脸图像对应的表情标注信息作为上述初始模型的输出,来对上述初始模型进行训练,生成训练完成的初始模型,其中,上述指定训练样本集为所有上述训练样本集中的任意一个样本集。另外,可以使用各种现有的卷积神经网络结构作为上述初始模型进行训练,但并不限于卷积神经网络,具体的模型结构可以根据实际需求进行设定。具体的,上述初始模型的训练过程可包括:将指定训练样本集中的指定样本人脸图像输入至待训练的初始模型的特征提取层,以得到图像特征。该特征提取层可以包括卷积层、池化层等。上述图像特征可以包括用于指示所呈现的面部眉毛、眼睛、嘴型、耳朵等部位的特征。然后将所得到的图像特征输入至上述初始模型的全连接层,从而输出该样本面部图像属于所呈现的面部表情为所标注的标注表情的概率值。最后基于所得到的与样本面部图像对应的概率值,确定预设损失函数是否收敛。如果预设损失函数收敛,则确定初始面部表情识别模型训练完成。上述预设损失函数可以为softmax损失函数。可以将所得到的概率值代入softmax损失函数,确定该softmax损失函数是否收敛。上述收敛是指预设损失函数达到预设损失值。而如果预设损失函数未收敛,则调整待训练的初始模型的参数,利用反向传播算法继续执行上述训练步骤,直至该损失函数收敛,进而完成训练过程。在生成了训练完成的初始模型后,再获取预设的测试样本集,基于上述测试样本集对上述训练完成的初始模型进行验证,并判断是否验证通过。其中,上述测试样本集可为预先收集的与上述训练样本集不同的数据样本集。如果验证通过,则将上述训练完成的初始模型作为与上述指定训练样本集对应的指定表情识别模型。其中,如果验证不通过,则会对基于上述模型训练过程对该初始模型进行重新训练。直至训练生成满足验证的模型。最后将上述指定表情识别模型存储至区块链网络。其中,通过使用区块链来对上述指定表情识别模进行存储和管理,能够有效地保证上述指定表情识别模的安全性与不可篡改性。本实施例通过训练生成指定数量的上述表情识别模型,使得后续能够基于指定数量的表情识别模型来准确地识别出用户的人脸图像中包含的表情类型,进而根据与用户对应的该表情类型来准确地进行对于用户的身份验证处理。

进一步地,本申请一实施例中,上述步骤S6,包括:

S600:从预设的用户角色映射缓存中获取与所述用户信息对应的指定角色id;

S601:采用预设的匹配算法对所述指定角色id与预设的角色权限映射缓存内包含的所有角色id进行逐一匹配处理,判断所述角色权限映射缓存内是否存在与所述指定角色id相同的目标角色id;

S602:若所述角色权限映射缓存内存在所述目标角色id,则从所述角色权限映射缓存内查找出与所述目标角色id对应的权限id;

S603:根据所述权限id,从预设的权限清单缓存中获取与所述权限id对应的权限信息;

S604:判断所述权限信息是否为允许访问全部请求地址;

S605:若所述权限信息不为允许访问全部请求地址,则获取与所述权限信息对应的目标访问地址集合;

S606:判断所述目标访问地址集合中是否存在与所述url地址相同的访问地址;

S607:若所述目标访问地址集合中存在所述访问地址,则判定所述用户具备访问所述url地址的访问权限;

S608:若所述目标访问地址集合中不存在所述访问地址,则判定所述用户不具备访问所述url地址的访问权限。

如上述步骤S600至S608所述,上述基于预设的缓存数据与上述用户信息,判断上述用户是否具备访问上述url地址的访问权限的步骤,具体可包括:首先从预设的用户角色映射缓存中获取与上述用户信息对应的指定角色id。其中,为了提高请求鉴权的处理速度,预先设置有以下三种缓存:权限清单缓存RightListCache、角色权限映射缓存RoleRightMapCache以及用户角色映射缓存UserRoleMapCache。权限清单缓存是系统的全部权限清单缓存,使用ArrayList进行数据存储,通过读写锁保证读写线程安全。角色权限映射缓存,底层使用ConcurrentHashMap进行存储,可以实现线程读写安全。用户角色映射缓存,底层使用ConcurrentHashMap进行存储,可以实现线程读写安全。然后采用预设的匹配算法对上述指定角色id与预设的角色权限映射缓存内包含的所有角色id进行逐一匹配处理,判断上述角色权限映射缓存内是否存在与上述指定角色id相同的目标角色id。其中,对于上述匹配算法不作具体限定,例如可采用正则表达式算法。另外,如果上述角色权限映射缓存内不存在上述目标角色id,则会返回false,并直接判定上述用户不具备对于上述url地址的访问权限。如果上述角色权限映射缓存内存在上述目标角色id,则从上述角色权限映射缓存内查找出与上述目标角色id对应的权限id。之后根据上述权限id,从预设的权限清单缓存中获取与上述权限id对应的权限信息,并判断上述权限信息是否为允许访问全部请求地址。其中,如果上述权限信息为允许访问全部请求地址,则会返回true,并直接判定上述用户具备对于上述url地址的访问权限。如果上述权限信息不为允许访问全部请求地址,则获取与上述权限信息对应的目标访问地址集合,并判断上述目标访问地址集合中是否存在与上述url地址相同的访问地址。如果上述目标访问地址集合中存在上述访问地址,则判定上述用户具备访问上述url地址的访问权限。而如果上述目标访问地址集合中不存在上述访问地址,则判定上述用户不具备访问上述url地址的访问权限。此外,当与上述用户信息对应的指定角色id为多个时,如果检测出与所有的指定角色id对应的全部权限信息所包含的所有访问地址集合中均不存在该url地址,则会返回false,并判定上述用户不具有对于上述url地址的访问权限。本实施例通过从预先设置的缓存数据中查询权限信息来判别用户是否具备对于上述url地址的访问权限,鉴权效率高,对于并发请求量大的系统可以大幅节约请求鉴权的耗时。另外通过线程锁,线程读写安全结构设计可以保证缓存与持久存储权限信息的完全一致,真正做到高效、安全的请求鉴权。

进一步地,本申请一实施例中,上述步骤S3中的所述基于所述url地址,判断所述访问请求是否属于指定请求的步骤,包括:

S300:获取预设的指定地址集合,其中,所述指定地址集合中包含的地址属于无需权限的请求地址;

S301:将所述url地址与所述指定地址集合中包含的所有地址进行匹配处理,判断所述指定地址集合内是否存在与所述url地址相同的目标地址;

S302:若所述指定地址集合内存在所述目标地址,则判定所述访问请求属于指定请求;

S303:若所述指定地址集合内不存在所述目标地址,则判定所述访问请求不属于指定请求。

如上述步骤S300至S303所述,上述基于上述url地址,判断上述访问请求是否属于指定请求的步骤,具体可包括:首先获取预设的指定地址集合,其中,上述指定地址集合中包含的地址属于无需权限的请求地址。具体的,上述指定地址集合中包含的无需权限的地址可包括但不限于login.do(登录),logout.do(登出),loginSubmit.do(登录表单提交)等请求地址。然后将上述url地址与上述指定地址集合中包含的所有地址进行匹配处理,判断上述指定地址集合内是否存在与上述url地址相同的目标地址。其中,可基于并行数据匹配指令来进行上述url地址与上述指定地址集合中包含的所有地址之间的匹配处理。上述并行数据匹配指令具体可为单指令流多数据流指令,通过利用并行数据匹配指令的并行计算能力来同时进行上述url地址与指定地址集合中包含的每一个地址的数据匹配处理,有助于进一步提高数据匹配的处理速率,以及提高生成数据匹配结果的生成速度。如果上述指定地址集合内存在上述目标地址,则判定上述访问请求属于指定请求。其中,如果判断出上述访问请求属于指定请求,则后续会直接放行该访问请求并响应该访问请求以向用户返回相应的待访问资源。而如果上述指定地址集合内不存在上述目标地址,则判定上述访问请求不属于指定请求。本实施例通过基于预设的无需权限的指定地址集合来进行关于上述访问请求是否属无需权限的请求的检测处理,有利于后续能够根据该检测结果采取对应的请求处理措施。

进一步地,本申请一实施例中,上述步骤S2,包括:

S200:对所述访问请求进行解析处理,判断所述访问请求的输入参数是否为空;

S201:若所述访问请求的输入参数不为空,则获取与身份信息对应的身份参数标识,以及获取与地址信息对应的地址参数标识;

S202:判断所述输入参数中是否包含有所述身份参数标识与所述地址参数标识;

S203:若所述输入参数中包含有所述身份参数标识与所述地址参数标识,则判定所述访问请求中携带有url地址与用户信息。

如上述步骤S200至S203所述,上述对上述访问请求进行参数校验,判断上述访问请求中是否携带有url地址与用户信息的步骤,具体可包括:首先对上述访问请求进行解析处理,判断上述访问请求的输入参数是否为空。其中,如果上述访问请求的输入参数为空,则会返回用户提交的访问请求缺乏入参的提醒信息。举例地,如果用户信息为空直接返回false,并跳转至登录页面,以及在登录页面生成提示“您还没有登录,请先登录”的提示信息。如果上述访问请求的输入参数不为空,则获取与身份信息对应的身份参数标识,以及获取与地址信息对应的地址参数标识。其中,上述与身份信息对应的身份参数标识可为identity,上述与地址信息对应的地址参数标识可为address。然后判断上述输入参数中是否包含有上述身份参数标识与上述地址参数标识。其中,如果输入参数中并没有同时包含有身份参数标识与地址参数标识,则会返回访问请求的参数不规范的提醒信息。如果上述输入参数中包含有上述身份参数标识与上述地址参数标识,则判定上述访问请求中携带有url地址与用户信息。本实施例通过使用身份参数标识与地址参数标识来对上述访问请求进行参数校验,能够快速准确地检测出用户发送的访问请求是否携带有url地址与用户信息。

本申请实施例中的请求处理方法还可以应用于区块链领域,如将上述缓存数据等数据存储于区块链上。通过使用区块链来对上述缓存数据进行存储和管理,能够有效地保证上述缓存数据的安全性与不可篡改性。

上述区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。

参照图2,本申请一实施例中还提供了一种请求处理装置,包括:

拦截模块1,用于通过预设的拦截器拦截用户发送的访问请求,其中,所述访问请求为用于访问待访问资源的请求;

第一判断模块2,用于对所述访问请求进行参数校验,判断所述访问请求中是否携带有url地址与用户信息;

第二判断模块3,用于若所述访问请求中携带有url地址与用户信息,则提取出所述访问请求中的所述url地址,并基于所述url地址,判断所述访问请求是否属于指定请求,其中,所述指定请求为无需权限的请求;

提取模块4,用于若所述访问请求不属于指定请求,则提取出所述访问请求中的所述用户信息,以及获取与所述用户对应的人脸视频、与所述用户信息对应的标准人脸图像以及与所述用户信息对应的标准声纹特征向量,其中,所述人脸视频中包含与所述用户对应的多帧图片,以及包含与所述用户对应的音频信息;

验证模块5,用于基于所述人脸视频、标准人脸图像、所述标准声纹特征向量以及预设的表情识别模型对所述用户进行身份验证处理,并判断身份验证是否通过;

第三判断模块6,用于若身份验证通过,则基于预设的缓存数据与所述用户信息,判断所述用户是否具备访问所述url地址的访问权限;

处理模块7,用于若所述用户具备访问所述url地址的访问权限,则对所述访问请求进行响应,否则限制对所述访问请求进行响应,并返回无访问权限的提示信息。

本实施例中,上述请求处理装置中的拦截模块、第一判断模块、第二判断模块、提取模块、验证模块、第三判断模块与处理模块的功能和作用的实现过程具体详见上述请求处理方法中对应步骤S1至S7的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述验证模块,包括:

第一提取单元,用于从所述人脸视频中提取出所述用户的人脸图像;

识别单元,用于基于所述表情识别模型对所述人脸图像进行表情识别,获得所述用户的表情类型;

第一判断单元,用于判断所述表情类型是否属于指定类表情;

第一计算单元,用于若所述表情类型不属于所述指定类表情,则计算所述人脸图像与所述标准人脸图像之间的第一相似度;以及,

第二提取单元,用于从所述人脸视频中提取出所述用户的待测声纹特征向量,并计算所述待测声纹特征向量与所述标准声纹特征向量之间的第二相似度;

第二计算单元,用于基于预设权重,对所述第一相似度与所述第二相似度进行加权求和,得到对应的分数;

第二判断单元,用于判断所述分数是否大于预设的分数阈值;

第一判定单元,用于若所述分数大于所述分数阈值,则判定身份验证通过;

第二判定单元,用于若所述分数不大于所述分数阈值,则判定身份验证未通过。

本实施例中,上述请求处理装置中的第一提取单元、识别单元、第一判断单元、第一计算单元、第二提取单元、第二计算单元、第二判断单元、第一判定单元与第二判定单元的功能和作用的实现过程具体详见上述请求处理方法中对应步骤S500至S508的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述识别单元,包括:

识别子单元,用于将所述人脸图像输入至指定数量的表情识别模型内,以通过每一个所述表情识别模型对所述人脸图像进行表情识别并分别输出与所述人脸图像对应的表情识别结果;

接收子单元,用于接收各所述表情识别模型分别返回的表情识别结果;

筛选子单元,用于对所有所述表情识别结果进行统计分析,筛选出在所有所述表情识别结果中出现次数最高的指定表情识别结果;

第一确定子单元,用于将所述指定表情识别结果确定为所述表情类型。

本实施例中,上述请求处理装置中的识别子单元、接收子单元、筛选子单元与第一确定子单元的功能和作用的实现过程具体详见上述请求处理方法中对应步骤S5010至S5013的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述识别单元,包括:

第一获取子单元,用于获取指定数量的训练样本集,其中,每一个训练样本集的训练样本包括若干样本人脸图像,以及对样本人脸图像进行标注的表情标注信息,且每一个训练样本集包含有互不相同的样本人脸图像;

第二获取子单元,用于获取指定训练样本集,将所述指定训练样本集中的样本人脸图像作为预设的初始模型的输入,将与样本人脸图像对应的表情标注信息作为所述初始模型的输出,来对所述初始模型进行训练,生成训练完成的初始模型,其中,所述指定训练样本集为所有所述训练样本集中的任意一个样本集;

判断子单元,用于获取预设的测试样本集,基于所述测试样本集对所述训练完成的初始模型进行验证,并判断是否验证通过;

第二确定子单元,用于若验证通过,则将所述训练完成的初始模型作为与所述指定训练样本集对应的指定表情识别模型;

存储子单元,用于将所述指定表情识别模型存储至区块链网络。

本实施例中,上述请求处理装置中的第一获取子单元、第二获取子单元,、判断子单元、第二确定子单元与存储子单元的功能和作用的实现过程具体详见上述请求处理方法中对应步骤S5000至S5004的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述第三判断模块,包括:

第一获取单元,用于从预设的用户角色映射缓存中获取与所述用户信息对应的指定角色id;

第三判断单元,用于采用预设的匹配算法对所述指定角色id与预设的角色权限映射缓存内包含的所有角色id进行逐一匹配处理,判断所述角色权限映射缓存内是否存在与所述指定角色id相同的目标角色id;

查找单元,用于若所述角色权限映射缓存内存在所述目标角色id,则从所述角色权限映射缓存内查找出与所述目标角色id对应的权限id;

第二获取单元,用于根据所述权限id,从预设的权限清单缓存中获取与所述权限id对应的权限信息;

第四判断单元,用于判断所述权限信息是否为允许访问全部请求地址;

第三获取单元,用于若所述权限信息不为允许访问全部请求地址,则获取与所述权限信息对应的目标访问地址集合;

第五判断单元,用于判断所述目标访问地址集合中是否存在与所述url地址相同的访问地址;

第三判定单元,用于若所述目标访问地址集合中存在所述访问地址,则判定所述用户具备访问所述url地址的访问权限;

第四判定单元,用于若所述目标访问地址集合中不存在所述访问地址,则判定所述用户不具备访问所述url地址的访问权限。

本实施例中,上述请求处理装置中的第一获取单元、第三判断单元、查找单元、第二获取单元、第四判断单元、第三获取单元、第五判断单元、第三判定单元与第四判定单元的功能和作用的实现过程具体详见上述请求处理方法中对应步骤S600至S608的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述第二判断模块,包括:

第四获取单元,用于获取预设的指定地址集合,其中,所述指定地址集合中包含的地址属于无需权限的请求地址;

第六判断单元,用于将所述url地址与所述指定地址集合中包含的所有地址进行匹配处理,判断所述指定地址集合内是否存在与所述url地址相同的目标地址;

第五判定单元,用于若所述指定地址集合内存在所述目标地址,则判定所述访问请求属于指定请求;

第六判定单元,用于若所述指定地址集合内不存在所述目标地址,则判定所述访问请求不属于指定请求。

本实施例中,上述请求处理装置中的第四获取单元、第六判断单元、第五判定单元与第六判定单元的功能和作用的实现过程具体详见上述请求处理方法中对应步骤S300至S303的实现过程,在此不再赘述。

进一步地,本申请一实施例中,上述第一判断模块,包括:

第七判断单元,用于对所述访问请求进行解析处理,判断所述访问请求的输入参数是否为空;

第五获取单元,用于若所述访问请求的输入参数不为空,则获取与身份信息对应的身份参数标识,以及获取与地址信息对应的地址参数标识;

第八判断单元,用于判断所述输入参数中是否包含有所述身份参数标识与所述地址参数标识;

第七判定单元,用于若所述输入参数中包含有所述身份参数标识与所述地址参数标识,则判定所述访问请求中携带有url地址与用户信息。

本实施例中,上述请求处理装置中的第七判断单元、第五获取单元、第八判断单元与第七判定单元的功能和作用的实现过程具体详见上述请求处理方法中对应步骤S200至S203的实现过程,在此不再赘述。

参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、输入装置和数据库。其中,该计算机设备设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作系统、计算机程序和数据库。该内存储器为存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储url地址、用户信息、人脸视频、标准人脸图像、标准声纹特征向量、表情识别模型以及缓存数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示屏是计算机中必不可少的一种图文输出设备,用于将数字信号转换为光信号,使文字与图形在显示屏的屏幕上显示出来。该计算机设备的输入装置是计算机与用户或其他设备之间进行信息交换的主要装置,用于把数据、指令及某些标志信息等输送到计算机中去。该计算机程序被处理器执行时以实现一种请求处理方法。

上述处理器执行上述请求处理方法的步骤:

通过预设的拦截器拦截用户发送的访问请求,其中,所述访问请求为用于访问待访问资源的请求;

对所述访问请求进行参数校验,判断所述访问请求中是否携带有url地址与用户信息;

若所述访问请求中携带有url地址与用户信息,则提取出所述访问请求中的所述url地址,并基于所述url地址,判断所述访问请求是否属于指定请求,其中,所述指定请求为无需权限的请求;

若所述访问请求不属于指定请求,则提取出所述访问请求中的所述用户信息,以及获取与所述用户对应的人脸视频、与所述用户信息对应的标准人脸图像以及与所述用户信息对应的标准声纹特征向量,其中,所述人脸视频中包含与所述用户对应的多帧图片,以及包含与所述用户对应的音频信息;

基于所述人脸视频、标准人脸图像、所述标准声纹特征向量以及预设的表情识别模型对所述用户进行身份验证处理,并判断身份验证是否通过;

若身份验证通过,则基于预设的缓存数据与所述用户信息,判断所述用户是否具备访问所述url地址的访问权限;

若所述用户具备访问所述url地址的访问权限,则对所述访问请求进行响应,否则限制对所述访问请求进行响应,并返回无访问权限的提示信息。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的装置、计算机设备的限定。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种请求处理方法,具体为:

通过预设的拦截器拦截用户发送的访问请求,其中,所述访问请求为用于访问待访问资源的请求;

对所述访问请求进行参数校验,判断所述访问请求中是否携带有url地址与用户信息;

若所述访问请求中携带有url地址与用户信息,则提取出所述访问请求中的所述url地址,并基于所述url地址,判断所述访问请求是否属于指定请求,其中,所述指定请求为无需权限的请求;

若所述访问请求不属于指定请求,则提取出所述访问请求中的所述用户信息,以及获取与所述用户对应的人脸视频、与所述用户信息对应的标准人脸图像以及与所述用户信息对应的标准声纹特征向量,其中,所述人脸视频中包含与所述用户对应的多帧图片,以及包含与所述用户对应的音频信息;

基于所述人脸视频、标准人脸图像、所述标准声纹特征向量以及预设的表情识别模型对所述用户进行身份验证处理,并判断身份验证是否通过;

若身份验证通过,则基于预设的缓存数据与所述用户信息,判断所述用户是否具备访问所述url地址的访问权限;

若所述用户具备访问所述url地址的访问权限,则对所述访问请求进行响应,否则限制对所述访问请求进行响应,并返回无访问权限的提示信息。

综上所述,本申请实施例中提供的请求处理方法、装置、计算机设备和存储介质,在接收到用户发送的访问请求时,通过使用拦截器对该访问请求进行拦截,然后基于访问请求中的用户信息对用户进行身份验证,在身份验证通过后,再进一步基于缓存数据与该用户信息对用户进行访问权限的验证,只有用户同时通过了身份验证以及访问权限验证时,后续才会对该访问请求进行响应,有效地规避了由于响应了无权限用户提交的访问请求而导致重要资源不被非法分子使用和访问,保证了访问请求处理过程中的数据安全性。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM通过多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

相关技术
  • 一种请求返回数据的处理方法、装置、计算机设备及计算机存储介质
  • 一种请求处理方法、请求处理装置及计算机可读存储介质
技术分类

06120112437005