代码清单的生成方法、装置、计算机设备和存储介质
技术领域
本申请涉及数据人工智能领域,具体涉及一种代码清单的生成方法、装置、计算机设备和存储介质。
背景技术
代码质量是衡量系统的一个重要指标,代码评审也称代码复查,是指通过阅读代码来检查源代码与编码标准的符合性以及代码质量的活动。代码评审不仅可以提高代码质量,并且可以在项目的早期发现缺陷,将损失降至最低,让开发人员在评审的过程也是重新梳理思路的过程,加深了对系统的理解。
当前的代码评审会议涉及到每位开发人员提交的代码清单。由于开发人员一般是分多次提交代码,从而现有开发人员整理代码清单的方式,通常是通过将自己提交的代码清单一个个复制出来,存放在一个代码清单文件中,然后还需要手工进行整理工作以得到最终的代码清单。这种人工处理的方式缺乏智能性,不仅耗时耗力,而且还容易存在代码清单中出现内容遗漏的情况,导致得到的代码清单存在准确性较低的问题。
发明内容
本申请的主要目的为提供一种代码清单的生成方法、装置、计算机设备和存储介质,旨在解决现有的整理代码清单的方式缺乏智能性,耗时耗力,且得到的代码清单存在准确性较低的技术问题。
本申请提出一种代码清单的生成方法,所述方法包括步骤:
判断是否接收到用户输入的代码清单获取请求;其中,所述代码清单获取请求中携带有用户信息与参数信息;
若接收到所述代码清单获取请求,基于预设的授权人脸图像与人脸表情识别模型对所述用户进行身份验证处理,生成与所述用户对应的身份验证结果;
判断所述身份验证结果是否为身份验证通过;
若所述身份验证结果为身份验证通过,从所述代码清单获取请求中提取所述用户信息,并调用JGit提供的API接口从Git系统中获取与所述用户信息对应的代码清单记录;
从所述代码清单获取请求中提取所述参数信息;
判断所述参数信息是否符合预设规范;
若所述参数信息符合预设规范,获取预设的生成清单方法,并基于所述参数信息对所述生成清单方法进行参数赋值,得到赋值后的生成清单方法;
执行所述赋值后的生成清单方法,以从所述代码清单记录中提取出与所述参数信息对应的目标代码清单。
可选地,所述基于预设的授权人脸图像与人脸表情识别模型对所述用户进行身份验证处理,生成与所述用户对应的身份验证结果的步骤,包括:
基于预设的摄像头获取所述用户的人脸图像;
基于所述授权人脸图像确定出与所述人脸图像对应的人脸比对结果;以及,
基于预设数量的预先训练好的人脸表情识别模型分别获取与所述人脸图像对应的表情识别结果;其中,所述预设数量大于1,每一个所述人脸表情识别模型分别是基于不同的训练样本数据集训练生成的;
获取与所述人脸图像对应的目标用户信息,确定出所述用户信息与所述目标用户信息之间的信息比对结果;
基于所述人脸比对结果、所述表情识别结果以及信息比对结果,生成与所述用户对应的身份验证结果。
可选地,所述基于所述人脸比对结果、所述表情识别结果以及信息比对结果,生成与所述用户对应的身份验证结果的步骤,包括:
判断所述人脸比对结果是否为比对通过;
若所述人脸比对结果为比对通过,对所有所述表情识别结果进行统计分析,筛选出在所有所述表情识别结果中出现次数最多的指定表情识别结果;
判断所述指定表情识别结果是否为目标表情;
若所述指定表情识别结果不为目标表情,判断所述信息比对结果是否为比对通过;
若所述信息比对结果为比对通过,生成身份验证通过的第一身份验证结果;
若所述信息比对结果不为比对通过,生成身份验证未通过的第二身份验证结果。
可选地,所述基于预设数量的预先训练好的人脸表情识别模型分别获取与所述人脸图像对应的表情识别结果的步骤之前,包括:
获取预设数量的训练样本数据集;其中,每一个训练样本数据集的训练样本包括若干样本人脸图像,以及对样本人脸图像进行标注的表情标注信息,且每一个训练样本数据集包含有互不相同的样本人脸图像;
获取指定训练样本数据集,将所述指定训练样本数据集中的样本人脸图像作为预设的初始识别模型的输入,将与样本人脸图像对应的表情标注信息作为所述初始模型的输出,来对所述初始识别模型进行训练,生成训练完成的初始识别模型;其中,所述指定训练样本数据集为所有所述训练样本数据集中的任意一个样本数据集;
获取预设的测试样本数据集;
基于所述测试样本数据集对所述训练完成的初始识别模型进行验证,并判断是否验证通过;
若验证通过,将所述训练完成的初始识别模型作为与所述指定训练样本数据集对应的指定人脸表情识别模型。
可选地,所述判断所述参数信息是否符合预设规范的步骤,包括:
获取所述参数信息中的参数数量;
判断所述参数数量是否等于预设数量值;
若所述参数数量等于所述预设数量值,判断所述参数信息的数据格式是否符合预设的参数格式;
若所述参数信息的数据格式符合所述参数格式,判定所述参数信息符合预设规范;
若所述参数信息的数据格式不符合所述参数格式,判定所述参数信息不符合预设规范。
可选地,所述判断所述身份验证结果是否为身份验证通过的步骤之后,包括:
若所述身份验证结果不为身份验证通过,限制对所述代码清单获取请求进行响应;
基于所述人脸图像与所述用户信息生成对应的警报信息;
获取预设的邮件登录信息,以及获取与指定用户对应的指定邮件地址;
根据所述邮件登录信息登录至对应的邮件服务器;
通过所述邮件服务器将所述警报信息发送至所述指定邮件地址。
可选地,所述判断所述参数信息是否符合预设规范的步骤之后,包括:
若所述参数信息不符合所述预设规范,获取预存储的与所述预设规范对应的参数填写规范数据;
生成与所述参数填写规范数据对应的提醒信息;
展示所述提醒信息。
本申请还提供一种代码清单的生成装置,包括:
第一判断模块,用于判断是否接收到用户输入的代码清单获取请求;其中,所述代码清单获取请求中携带有用户信息与参数信息;
验证模块,用于若接收到所述代码清单获取请求,基于预设的授权人脸图像与人脸表情识别模型对所述用户进行身份验证处理,生成与所述用户对应的身份验证结果;
第二判断模块,用于判断所述身份验证结果是否为身份验证通过;
第一获取模块,用于若所述身份验证结果为身份验证通过,从所述代码清单获取请求中提取所述用户信息,并调用JGit提供的API接口从Git系统中获取与所述用户信息对应的代码清单记录;
提取模块,用于从所述代码清单获取请求中提取所述参数信息;
第三判断模块,用于判断所述参数信息是否符合预设规范;
第一生成模块,用于若所述参数信息符合预设规范,获取预设的生成清单方法,并基于所述参数信息对所述生成清单方法进行参数赋值,得到赋值后的生成清单方法;
执行模块,用于执行所述赋值后的生成清单方法,以从所述代码清单记录中提取出与所述参数信息对应的目标代码清单。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请中提供的代码清单的生成方法、装置、计算机设备和存储介质,具有以下有益效果:
本申请中提供的代码清单的生成方法、装置、计算机设备和存储介质,当接收到用户输入的代码清单获取请求时,在判别出用户的身份验证通过后,会调用JGit提供的API接口从Git系统中获取与用户信息对应的代码清单记录。并在检测出代码清单获取请求中携带的参数信息预设规范后,会基于参数信息对预设的生成清单方法进行参数赋值,进而执行赋值后的生成清单方法,以从代码清单记录中提取出与参数信息对应的目标代码清单,以实现通过自动化的方式获取到用户所需的目标代码清单,从而能够省去人工重复工作,也不需要担心会有代码遗漏的情况,有效地提高了代码清单获取的智能性、完整性、快速性与准确性。
附图说明
图1是本申请一实施例的代码清单的生成方法的流程示意图;
图2是本申请一实施例的代码清单的生成装置的结构示意图;
图3是本申请一实施例的计算机设备的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
参照图1,本申请一实施例的代码清单的生成方法,包括:
S1:判断是否接收到用户输入的代码清单获取请求;其中,所述代码清单获取请求中携带有用户信息与参数信息;
S2:若接收到所述代码清单获取请求,基于预设的授权人脸图像与人脸表情识别模型对所述用户进行身份验证处理,生成与所述用户对应的身份验证结果;
S3:判断所述身份验证结果是否为身份验证通过;
S4:若所述身份验证结果为身份验证通过,从所述代码清单获取请求中提取所述用户信息,并调用JGit提供的API接口从Git系统中获取与所述用户信息对应的代码清单记录;
S5:从所述代码清单获取请求中提取所述参数信息;
S6:判断所述参数信息是否符合预设规范;
S7:若所述参数信息符合预设规范,获取预设的生成清单方法,并基于所述参数信息对所述生成清单方法进行参数赋值,得到赋值后的生成清单方法;
S8:执行所述赋值后的生成清单方法,以从所述代码清单记录中提取出与所述参数信息对应的目标代码清单。
如上述步骤S1至S8所述,本方法实施例的执行主体为一种代码清单的生成装置。在实际应用中,上述代码清单的生成装置可以通过虚拟装置,例如软件代码实现,也可以通过写入或集成有相关执行代码的实体装置实现,且可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。本实施例中的代码清单的生成装置,能够以自动化的方式获取到用户所需的目标代码清单,从而省去人工重复工作,也不需要担心会有代码遗漏的情况,有效地提高了代码清单获取的智能性、完整性、快速性与准确性。具体地,首先判断是否接收到用户输入的代码清单获取请求。其中,所述代码清单获取请求中携带有用户信息与参数信息。另外,用户信息可包括姓名信息、id信息。参数信息可包括多个参数数据,参数数据包括参数名称与参数名称相应的参数值。参数名称可包括:代码目录所有的文件位置gitPath,需要获取的代码清单的分支名称BranchName,需要获取代码清单的提交者姓名AuthorName、提交起始时间commitTime。如果接收到所述代码清单获取请求,基于预设的授权人脸图像与人脸表情识别模型对所述用户进行身份验证处理,生成与所述用户对应的身份验证结果。其中,可先基于所述授权人脸图像确定出与用户的人脸图像对应的人脸比对结果,以及基于预先训练好的人脸表情识别模型确定出用户的人脸图像对应的表情识别结果,同时确定出用户信息与用户的人脸图像所对应的目标用户信息之间的信息比对结果,进而结合人脸比对结果、表情识别结果与信息比对结果来最终确定出用户的身份结果。
然后判断所述身份验证结果是否为身份验证通过。如果所述身份验证结果为身份验证通过,从所述代码清单获取请求中提取所述用户信息,并调用JGit提供的API接口从Git系统中获取与所述用户信息对应的代码清单记录。其中,JGit是一个轻量级纯Java的类库,用来实现Git的版本控制系统的访问,以及提供核心的版本控制算法。JGit的主要模块有:org.eclipse.jgit:核心实现,包括git命令、协议等;org.eclipse.jgit.archive:支持导出各种压缩的格式;org.eclipse.jgit.http.server:支持http协议的服务器。主要的对象有:Repository、AnyObjectId、Ref、RevWalk、RevCommit、RevTag、RevTree。Git的总体设计划分为2层,分别是porcelain层和plumbing层。plumbing层提供了处理底层任务的命令集。在此之上,porcelain层实现了与用户直接交互的命令集(比如说,checkout,branch,commit等等)。同样的,JGit也被分为两层。命令API仿造了Git的命令行,对每一个Git动词(commit,branch,checkout等),JGit在org.eclipse.jgit.api包中都提供了一个对应的API。JGit使用场景看起来就像是在使用Git的plumbing层。另外,具体可使用eclipse提供的jgit jar工具包,提供调用接口的方式对Git系统进行操作,以从Git系统中获取与所述用户信息对应的代码清单记录,该代码清单记录包含该用户的所有的代码清单。代码清单是指对原始的代码进行修改的代码文件的文件名称。
之后从所述代码清单获取请求中提取所述参数信息。其中,参数信息可包括多个参数数据,参数数据包括参数名称与参数名称相应的参数值。参数名称可包括:代码目录所有的文件位置gitPath,需要获取的代码清单的分支名称BranchName,需要获取代码清单的提交者姓名AuthorName、提交起始时间commitTime。另外,上述参数信息是用于对得到的代码清单记录进行过滤的信息,以便后续从代码清单记录中筛选出于参数信息相关的目标代码清单。并判断所述参数信息是否符合预设规范。其中,判断所述参数信息是否符合预设规范是指判断参数信息中的参数数量是否等于预设数量值,以及同时判断判断所述参数信息的数据格式是否符合预设的参数格式,若两者同时符合则可判定参数信息符合预设规范。
如果所述参数信息符合预设规范,获取预设的生成清单方法,并基于所述参数信息对所述生成清单方法进行参数赋值,得到赋值后的生成清单方法。其中,上述生成清单方法是由开发人员编写的基于预先设置的参数数据从由Git获得的代码清单记录中提取出与参数数据对应的代码清单的处理逻辑所对应的接口方法。另外,上述参数赋值的过程为:遍历上述参数信息,从参数信息中确定出与生成清单方法中每个形参的参数名相匹配的参数值,再将参数值一一对应的赋值给每个形参,以完成参数赋值。最后执行所述赋值后的生成清单方法,以从所述代码清单记录中提取出与所述参数信息对应的目标代码清单。其中,在完成了对于生成清单方法的参数赋值后,便可调用该赋值后的生成清单方法对上述得到的代码清单记录进行处理,以从所述代码清单记录中提取出与所述参数信息对应的目标代码清单,即基于该赋值后的生成清单方法,自动快速地从代码清单记录中过滤出所需的与参数信息具有对应关系的目标代码清单。此外,上述生成清单方法还具有数据去重功能,也即得到的目标代码清单是经过数据去重处理的,进而可以提升生成的目标代码清单的准确性。
本实施例当接收到用户输入的代码清单获取请求时,在判别出用户的身份验证通过后,会调用JGit提供的API接口从Git系统中获取与用户信息对应的代码清单记录。并在检测出代码清单获取请求中携带的参数信息预设规范后,会基于参数信息对预设的生成清单方法进行参数赋值,进而执行赋值后的生成清单方法,以从代码清单记录中提取出与参数信息对应的目标代码清单,以实现通过自动化的方式获取到用户所需的目标代码清单,从而能够省去人工重复工作,也不需要担心会有代码遗漏的情况,有效地提高了代码清单获取的智能性、完整性、快速性与准确性。
进一步地,本申请一实施例中,上述步骤S2,包括:
S200:基于预设的摄像头获取所述用户的人脸图像;
S201:基于所述授权人脸图像确定出与所述人脸图像对应的人脸比对结果;以及,
S202:基于预设数量的预先训练好的人脸表情识别模型分别获取与所述人脸图像对应的表情识别结果;其中,所述预设数量大于1,每一个所述人脸表情识别模型分别是基于不同的训练样本数据集训练生成的;
S203:获取与所述人脸图像对应的目标用户信息,确定出所述用户信息与所述目标用户信息之间的信息比对结果;
S204:基于所述人脸比对结果、所述表情识别结果以及信息比对结果,生成与所述用户对应的身份验证结果。
如上述步骤S200至S204所述,所述基于预设的授权人脸图像与人脸表情识别模型对所述用户进行身份验证处理,生成与所述用户对应的身份验证结果的步骤,具体可包括:首先基于预设的摄像头获取所述用户的人脸图像。其中,上述人脸图像具体可为由与装置相关联的摄像头当前捕捉到的多种人脸图片中清晰度最高的一张人脸图片。然后基于所述授权人脸图像确定出与所述人脸图像对应的人脸比对结果。其中,可采用人脸识别技术确定出用户的人脸图像与上述授权人脸图像之间的相似度,例如可以采用局部特征分析方法、特征脸方法、感知哈希算法等实。再从所有相似度中提取出数值最大的目标相似度,并判断该目标相似度是否大于预设的相似度阈值,若大于则人脸比对通过,否则人脸比对不通过。以及基于预设数量的预先训练好的人脸表情识别模型分别获取与所述人脸图像对应的表情识别结果;其中,所述预设数量大于1,其具体数值可以根据实际需求进行设定的,如可以为3个、4个等。每一个所述人脸表情识别模型分别是基于不同的训练样本数据集训练生成的。另外,所获取的训练样本数据集的数量与表情识别模型的数量是相同的,也即是训练样本集与表情识别模型为一一对应的关系。上述指定数量的训练样本数据集中的每一个训练样本数据集包括的样本人脸图像的标注信息具体是可以基于不同的标注方式标注的。具体的,上述不同的标注方式可以为不同的人基于主观判断标注的。由于每一个训练样本数据集中的人脸图像的标注信息均是由不同的人基于主观判断来标注生成的,因此对于相似的样本人脸图像中的面部表情,不同的人标注会可能会得到不同的表情标注信息,可以使得样本人脸图像中的表情标注信息能够更加全面。此外,对于相同的一个人脸图像所呈现的面部表情,不同的表情识别模型识别出来的用于指示该人脸图像所呈现的表情识别结果可能并不完全相同。当使用一个表情识别模型对人脸图像进行表情识别时,其所识别出的表情信息准确率较低。而通过利用上述指定数量的表情识别模型来分别对人脸图像呈现的面部表情进行表情识别,可以提高所得到的人脸图像中用户的表情类型的准确性。之后获取与所述人脸图像对应的目标用户信息,确定出所述用户信息与所述目标用户信息之间的信息比对结果。其中,可判断所述用户信息与所述目标用户信息是否为相同的信息,若两者相同则信息比对通过,否则信息比对不通过。最后基于所述人脸比对结果、所述表情识别结果以及信息比对结果,生成与所述用户对应的身份验证结果。本实施例通过从人脸比对、表情识别与信息比对所对应的多个维度上对用户进行身份验证,提高了身份验证的准确性,能够避免非法分子通过假冒目标用户来盗取重要资源,即目标用户的代码清单数据,保证了对代码清单获取请求的处理过程中的数据安全性,有效地避免由于响应了非法分子提交的代码清单获取请求而导致不良后果。
进一步地,本申请一实施例中,上述步骤S204,包括:
S2040:判断所述人脸比对结果是否为比对通过;
S2041:若所述人脸比对结果为比对通过,对所有所述表情识别结果进行统计分析,筛选出在所有所述表情识别结果中出现次数最多的指定表情识别结果;
S2042:判断所述指定表情识别结果是否为目标表情;
S2043:若所述指定表情识别结果不为目标表情,判断所述信息比对结果是否为比对通过;
S2044:若所述信息比对结果为比对通过,生成身份验证通过的第一身份验证结果;
S2045:若所述信息比对结果不为比对通过,生成身份验证未通过的第二身份验证结果。
如上述步骤S2040至S2045所述,所述基于所述人脸比对结果、所述表情识别结果以及信息比对结果,生成与所述用户对应的身份验证结果的步骤,具体可包括:首先判断所述人脸比对结果是否为比对通过。若所述人脸比对结果为比对通过,对所有所述表情识别结果进行统计分析,筛选出在所有所述表情识别结果中出现次数最多的指定表情识别结果。其中,通过使用预设数量的人脸表情识别模型分别对上述人脸图像进行表情识别,收集各人脸表情识别模型分别返回的表情识别结果,并将出现次数最多的表情识别结果对应的指定表情识别结果作为用户的表情类型,从而可以避免仅利用一个表情识别模型来对人脸图像进行表情识别而导致识别误差过大,从而有效地提高了对于人脸图像的表情识别的准确率,进而提高使用人脸表情识别模型对用户进行身份验证的准确性。然后判断所述指定表情识别结果是否为目标表情。其中,上述目标表情是指用户在需要通过代码清单获取请求来获取出相应的目标代码清单时,存在不正当的意图,如非法盗用他人资源的意图时容易流露出的表情,例如该目标表情包括害怕、惊讶等表情。若所述指定表情识别结果不为目标表情,判断所述信息比对结果是否为比对通过。若所述信息比对结果为比对通过,生成身份验证通过的第一身份验证结果。若所述信息比对结果不为比对通过,生成身份验证未通过的第二身份验证结果。其中,只要当前用户存在任意一种验证方式未通过验证时,则均视作用户的身份验证未通过。本实施例通过从人脸比对、表情识别与信息比对所对应的多个维度上对用户进行身份验证,提高了身份验证的准确性,能够避免非法分子通过假冒目标用户来盗取重要资源,即目标用户的代码清单数据,保证了对于代码清单获取请求的处理过程中的数据安全性,有效地避免由于响应了非法分子提交的代码清单获取请求而导致不良后果。
进一步地,本申请一实施例中,上述步骤S202之前,包括:
S2020:获取预设数量的训练样本数据集;其中,每一个训练样本数据集的训练样本包括若干样本人脸图像,以及对样本人脸图像进行标注的表情标注信息,且每一个训练样本数据集包含有互不相同的样本人脸图像;
S2021:获取指定训练样本数据集,将所述指定训练样本数据集中的样本人脸图像作为预设的初始识别模型的输入,将与样本人脸图像对应的表情标注信息作为所述初始模型的输出,来对所述初始识别模型进行训练,生成训练完成的初始识别模型;其中,所述指定训练样本数据集为所有所述训练样本数据集中的任意一个样本数据集;
S2022:获取预设的测试样本数据集;
S2023:基于所述测试样本数据集对所述训练完成的初始识别模型进行验证,并判断是否验证通过;
S2024:若验证通过,将所述训练完成的初始识别模型作为与所述指定训练样本数据集对应的指定人脸表情识别模型。
如上述步骤S2020至S2024所述,在执行所述基于预设数量的预先训练好的人脸表情识别模型分别获取与所述人脸图像对应的表情识别结果的步骤之前,还可包括上述人脸表情识别模型的创建过程。具体地,首先获取预设数量的训练样本数据集。其中,每一个训练样本数据集的训练样本包括若干样本人脸图像,以及对样本人脸图像进行标注的表情标注信息,且每一个训练样本数据集包含有互不相同的样本人脸图像。其中,上述指定数量的训练样本数据集中的每一个训练样本数据集包括的样本人脸图像的标注信息具体是可以基于不同的标注方式标注的。具体的,上述不同的标注方式可以为不同的人基于主观判断标注的。由于每一个训练样本数据集中的人脸图像的标注信息均是由不同的人基于主观判断来标注生成的,因此对于相似的样本人脸图像中的面部表情,不同的人标注会可能会得到不同的表情标注信息,可以使得样本人脸图像中的表情标注信息能够更加全面。然后获取指定训练样本数据集,将所述指定训练样本数据集中的样本人脸图像作为预设的初始识别模型的输入,将与样本人脸图像对应的表情标注信息作为所述初始模型的输出,来对所述初始识别模型进行训练,生成训练完成的初始识别模型。其中,所述指定训练样本数据集为所有所述训练样本数据集中的任意一个样本数据集。另外,可以使用各种现有的卷积神经网络结构作为上述初始识别模型进行训练,但并不限于卷积神经网络,具体的模型结构可以根据实际需求进行设定。具体的,上述初始识别模型的训练过程可包括:将指定训练样本数据集中的指定样本人脸图像输入至待训练的初始识别模型的特征提取层,以得到图像特征。该特征提取层可以包括卷积层、池化层等。上述图像特征可以包括用于指示所呈现的面部眉毛、眼睛、嘴型、耳朵等部位的特征。然后将所得到的图像特征输入至上述初始识别模型的全连接层,从而输出该样本面部图像属于所呈现的面部表情为所标注的标注表情的概率值。最后基于所得到的与样本面部图像对应的概率值,确定预设损失函数是否收敛。如果预设损失函数收敛,则确定初始面部表情识别模型训练完成。上述预设损失函数可以为softmax损失函数。可以将所得到的概率值代入softmax损失函数,确定该softmax损失函数是否收敛。上述收敛是指预设损失函数达到预设损失值。而如果预设损失函数未收敛,则调整待训练的初始识别模型的参数,利用反向传播算法继续执行上述训练步骤,直至该损失函数收敛,进而完成训练过程。之后获取预设的测试样本数据集。其中,上述测试样本数据集可为预先收集的与上述训练样本数据集不相同的数据。最后基于所述测试样本数据集对所述训练完成的初始识别模型进行验证,并判断是否验证通过。若验证通过,将所述训练完成的初始识别模型作为与所述指定训练样本数据集对应的指定人脸表情识别模型。本实施例通过基于预设数量的训练样本数据集训练生成预设数量的上述人脸表情识别模型,使得后续能够使用该预设数量的人脸表情识别模型来准确地识别出用户的人脸图像中包含的表情类型,进而根据与用户对应的该表情识别结果来准确地进行对于用户的身份验证处理,有利于提高用户身份验证的准确性。
进一步地,本申请一实施例中,上述步骤S6,包括:
S600:获取所述参数信息中的参数数量;
S601:判断所述参数数量是否等于预设数量值;
S602:若所述参数数量等于所述预设数量值,判断所述参数信息的数据格式是否符合预设的参数格式;
S603:若所述参数信息的数据格式符合所述参数格式,判定所述参数信息符合预设规范;
S604:若所述参数信息的数据格式不符合所述参数格式,判定所述参数信息不符合预设规范。
如上述步骤S600至S604所述,所述判断所述参数信息是否符合预设规范的步骤,具体可包括:首先获取所述参数信息中的参数数量。其中,参数数量是指参数信息包含的参数数据的数量。然后判断所述参数数量是否等于预设数量值。其中,对于上述预设数量值的取值不作具体限定,可根据实际需求进行设置。举例地,如果预先规定好的标准参数数据包括:代码目录所有的文件位置gitPath,需要获取的代码清单的分支名称BranchName,需要获取代码清单的提交者姓名AuthorName、提交起始时间commitTime,则对应的预设数量值为4个。若所述参数数量等于所述预设数量值,则判断所述参数信息的数据格式是否符合预设的参数格式。其中,对于上述参数格式不作具体限定,可根据实际需求进行设置。举例地,参数格式的形式为参数名称+参数数值。若所述参数信息的数据格式符合所述参数格式,判定所述参数信息符合预设规范。而若所述参数信息的数据格式不符合所述参数格式,判定所述参数信息不符合预设规范。本实施例在从代码清单获取请求中提取出参数信息后,会进一步判断该参数信息是否符合预设规范,并在其符合预设规范后才会执行后续的调用预设的生成清单方法从所述代码清单记录中提取出与所述参数信息对应的目标代码清单的流程,否则会直接停止对于代码清单获取请求的响应处理,有效避免出现无用功消耗的情况,提高了数据处理过程中的智能性。
进一步地,本申请一实施例中,上述步骤S3之后,包括:
S300:若所述身份验证结果不为身份验证通过,限制对所述代码清单获取请求进行响应;
S301:基于所述人脸图像与所述用户信息生成对应的警报信息;
S302:获取预设的邮件登录信息,以及获取与指定用户对应的指定邮件地址;
S303:根据所述邮件登录信息登录至对应的邮件服务器;
S304:通过所述邮件服务器将所述警报信息发送至所述指定邮件地址。
如上述步骤S300至S304所述,当身份验证结果不为身份验证通过时,在执行完所述判断所述身份验证结果是否为身份验证通过的步骤之后,还可包括生成并发送与所述人脸图像及所述用户信息对应的警报信息的过程。具体地,若所述身份验证结果不为身份验证通过,首先限制对所述代码清单获取请求进行响应。然后基于所述人脸图像与所述用户信息生成对应的警报信息。其中,所述警报信息至少包括所述人脸图像与所述用户信息。之后获取预设的邮件登录信息,以及获取与指定用户对应的指定邮件地址。其中,上述指定用户可为数据安全部门的相关人员。后续根据所述邮件登录信息登录至对应的邮件服务器。最后通过所述邮件服务器将所述警报信息发送至所述指定邮件地址。本实施例在生成了与用户对应的身份验证结果后,且判定了该身份验证结果不为身份验证通过,即用户的身份验证未通过后,会智能地生成与用户的人脸图像与用户信息相应的警报信息,并将该警报信息发送至指定用户对应的指定邮件地址,使得指定用户能够基于该警报信息及时了解到当前用户具备非法获取代码清单的风险的信息,从而能够及时作出相应处理,进而有效保证了请求处理过程中的数据安全性。
进一步地,本申请一实施例中,上述步骤S6之后,包括:
S610:若所述参数信息不符合所述预设规范,获取预存储的与所述预设规范对应的参数填写规范数据;
S611:生成与所述参数填写规范数据对应的提醒信息;
S612:展示所述提醒信息。
如上述步骤S610至S612所述,当所述参数信息不符合所述预设规范时,在执行完所述判断所述参数信息是否符合预设规范的步骤之后,还可包括生成并展示与预设规范对应的提醒信息的过程。具体地,若所述参数信息不符合所述预设规范,首先获取预存储的与所述预设规范对应的参数填写规范数据。其中,上述参数填写规范数据为预先编写好的至少包含有标准参数的参数数据数量值,以及标准参数的参数格式描述的数据。另外,可根据实际需求存储在本地或存储在云端。举例地,如本地的存储空间大于预设容量值,则将该参数填写规范数据存储于本地,否则将该参数填写规范数据存储于云端,以实现对于参数填写规范数据的智能存储。然后生成与所述参数填写规范数据对应的提醒信息。其中,上述提醒信息至少携带有上述参数填写规范数据。最后展示所述提醒信息。其中,对于提醒信息的展示方式不做限定,可根据实际需求进行设置,例如可为桌面弹窗提醒的方式,网页链接提醒的方式,等等。本实施例当用户通过了身份验证但其输入的参数信息不符合预设规范时,会智能的调用出参数填写规范数据来生成相应的提醒信息并展示,以便于用户能够基于该提醒信息输入正确格式的参数信息,为用户提供了便利性,提高了用户的使用体验。
本申请实施例中的代码清单的生成方法还可以应用于区块链领域,如将上述目标代码清单等数据存储于区块链上。通过使用区块链来对上述目标代码清单进行存储和管理,能够有效地保证上述目标代码清单的安全性与不可篡改性。
上述区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
参照图2,本申请一实施例中还提供了一种代码清单的生成装置,包括:
第一判断模块1,用于判断是否接收到用户输入的代码清单获取请求;其中,所述代码清单获取请求中携带有用户信息与参数信息;
验证模块2,用于若接收到所述代码清单获取请求,基于预设的授权人脸图像与人脸表情识别模型对所述用户进行身份验证处理,生成与所述用户对应的身份验证结果;
第二判断模块3,用于判断所述身份验证结果是否为身份验证通过;
第一获取模块4,用于若所述身份验证结果为身份验证通过,从所述代码清单获取请求中提取所述用户信息,并调用JGit提供的API接口从Git系统中获取与所述用户信息对应的代码清单记录;
提取模块5,用于从所述代码清单获取请求中提取所述参数信息;
第三判断模块6,用于判断所述参数信息是否符合预设规范;
第一生成模块7,用于若所述参数信息符合预设规范,获取预设的生成清单方法,并基于所述参数信息对所述生成清单方法进行参数赋值,得到赋值后的生成清单方法;
执行模块8,用于执行所述赋值后的生成清单方法,以从所述代码清单记录中提取出与所述参数信息对应的目标代码清单。
本实施例中,上述代码清单的生成装置中的第一判断模块1、验证模块2、第二判断模块3、第一获取模块4、提取模块5、第三判断模块6、第一生成模块7与执行模块8的功能和作用的实现过程具体详见上述代码清单的生成方法中对应步骤S1至S8的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述验证模块2,包括:
第一获取单元,用于基于预设的摄像头获取所述用户的人脸图像;
第一确定单元,用于基于所述授权人脸图像确定出与所述人脸图像对应的人脸比对结果;以及,
第二获取单元,用于基于预设数量的预先训练好的人脸表情识别模型分别获取与所述人脸图像对应的表情识别结果;其中,所述预设数量大于1,每一个所述人脸表情识别模型分别是基于不同的训练样本数据集训练生成的;
第三获取单元,用于获取与所述人脸图像对应的目标用户信息,确定出所述用户信息与所述目标用户信息之间的信息比对结果;
生成单元,用于基于所述人脸比对结果、所述表情识别结果以及信息比对结果,生成与所述用户对应的身份验证结果。
本实施例中,上述代码清单的生成装置中的第一获取单元、第一确定单元、第二获取单元、第三获取单元与生成单元的功能和作用的实现过程具体详见上述代码清单的生成方法中对应步骤S200至S204的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述生成单元,包括:
第一判断子单元,用于判断所述人脸比对结果是否为比对通过;
分析子单元,用于若所述人脸比对结果为比对通过,对所有所述表情识别结果进行统计分析,筛选出在所有所述表情识别结果中出现次数最多的指定表情识别结果;
第二判断子单元,用于判断所述指定表情识别结果是否为目标表情;
第三判断子单元,用于若所述指定表情识别结果不为目标表情,判断所述信息比对结果是否为比对通过;
第一生成子单元,用于若所述信息比对结果为比对通过,生成身份验证通过的第一身份验证结果;
第二生成子单元,用于若所述信息比对结果不为比对通过,生成身份验证未通过的第二身份验证结果。
本实施例中,上述代码清单的生成装置中的第一判断子单元、分析子单元、第二判断子单元、第三判断子单元、第一生成子单元与第二生成子单元的功能和作用的实现过程具体详见上述代码清单的生成方法中对应步骤S2040至S2045的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述验证模块2,包括:
第四获取单元,用于获取预设数量的训练样本数据集;其中,每一个训练样本数据集的训练样本包括若干样本人脸图像,以及对样本人脸图像进行标注的表情标注信息,且每一个训练样本数据集包含有互不相同的样本人脸图像;
训练单元,用于获取指定训练样本数据集,将所述指定训练样本数据集中的样本人脸图像作为预设的初始识别模型的输入,将与样本人脸图像对应的表情标注信息作为所述初始模型的输出,来对所述初始识别模型进行训练,生成训练完成的初始识别模型;其中,所述指定训练样本数据集为所有所述训练样本数据集中的任意一个样本数据集;
第五获取单元,用于获取预设的测试样本数据集;
验证单元,用于基于所述测试样本数据集对所述训练完成的初始识别模型进行验证,并判断是否验证通过;
第二确定单元,用于若验证通过,将所述训练完成的初始识别模型作为与所述指定训练样本数据集对应的指定人脸表情识别模型。
本实施例中,上述代码清单的生成装置中的第四获取单元、训练单元、第五获取单元、验证单元与第二确定单元的功能和作用的实现过程具体详见上述代码清单的生成方法中对应步骤S2020至S2024的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述第三判断模块6,包括:
第六获取单元,用于获取所述参数信息中的参数数量;
第一判断单元,用于判断所述参数数量是否等于预设数量值;
第二判断单元,用于若所述参数数量等于所述预设数量值,判断所述参数信息的数据格式是否符合预设的参数格式;
第一判定单元,用于若所述参数信息的数据格式符合所述参数格式,判定所述参数信息符合预设规范;
第二判定单元,用于若所述参数信息的数据格式不符合所述参数格式,判定所述参数信息不符合预设规范。
本实施例中,上述代码清单的生成装置中的第六获取单元、第一判断单元、第二判断单元、第一判定单元与第二判定单元的功能和作用的实现过程具体详见上述代码清单的生成方法中对应步骤S600至S604的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述代码清单的生成装置,包括:
处理模块,用于若所述身份验证结果不为身份验证通过,限制对所述代码清单获取请求进行响应;
第二生成模块,用于基于所述人脸图像与所述用户信息生成对应的警报信息;
第二获取模块,用于获取预设的邮件登录信息,以及获取与指定用户对应的指定邮件地址;
登录模块,用于根据所述邮件登录信息登录至对应的邮件服务器;
发送模块,用于通过所述邮件服务器将所述警报信息发送至所述指定邮件地址。
本实施例中,上述代码清单的生成装置中的处理模块、第二生成模块、第二获取模块、登录模块与发送模块的功能和作用的实现过程具体详见上述代码清单的生成方法中对应步骤S300至S304的实现过程,在此不再赘述。
进一步地,本申请一实施例中,上述代码清单的生成装置,包括:
第三获取模块,用于若所述参数信息不符合所述预设规范,获取预存储的与所述预设规范对应的参数填写规范数据;
第三生成模块,用于生成与所述参数填写规范数据对应的提醒信息;
展示模块,用于展示所述提醒信息。
本实施例中,上述代码清单的生成装置中的第三获取模块、第三生成模块与展示模块的功能和作用的实现过程具体详见上述代码清单的生成方法中对应步骤S610至S612的实现过程,在此不再赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、输入装置和数据库。其中,该计算机设备设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质、内存储器。该存储介质存储有操作系统、计算机程序和数据库。该内存储器为存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储用户信息、参数信息、授权人脸图像、人脸表情识别模型、身份验证结果、代码清单记录、生成清单方法以及目标代码清单。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示屏是计算机中必不可少的一种图文输出设备,用于将数字信号转换为光信号,使文字与图形在显示屏的屏幕上显示出来。该计算机设备的输入装置是计算机与用户或其他设备之间进行信息交换的主要装置,用于把数据、指令及某些标志信息等输送到计算机中去。该计算机程序被处理器执行时以实现一种代码清单的生成方法。
上述处理器执行上述代码清单的生成方法的步骤:
判断是否接收到用户输入的代码清单获取请求;其中,所述代码清单获取请求中携带有用户信息与参数信息;
若接收到所述代码清单获取请求,基于预设的授权人脸图像与人脸表情识别模型对所述用户进行身份验证处理,生成与所述用户对应的身份验证结果;
判断所述身份验证结果是否为身份验证通过;
若所述身份验证结果为身份验证通过,从所述代码清单获取请求中提取所述用户信息,并调用JGit提供的API接口从Git系统中获取与所述用户信息对应的代码清单记录;
从所述代码清单获取请求中提取所述参数信息;
判断所述参数信息是否符合预设规范;
若所述参数信息符合预设规范,获取预设的生成清单方法,并基于所述参数信息对所述生成清单方法进行参数赋值,得到赋值后的生成清单方法;
执行所述赋值后的生成清单方法,以从所述代码清单记录中提取出与所述参数信息对应的目标代码清单。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的装置、计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种代码清单的生成方法,具体为:
判断是否接收到用户输入的代码清单获取请求;其中,所述代码清单获取请求中携带有用户信息与参数信息;
若接收到所述代码清单获取请求,基于预设的授权人脸图像与人脸表情识别模型对所述用户进行身份验证处理,生成与所述用户对应的身份验证结果;
判断所述身份验证结果是否为身份验证通过;
若所述身份验证结果为身份验证通过,从所述代码清单获取请求中提取所述用户信息,并调用JGit提供的API接口从Git系统中获取与所述用户信息对应的代码清单记录;
从所述代码清单获取请求中提取所述参数信息;
判断所述参数信息是否符合预设规范;
若所述参数信息符合预设规范,获取预设的生成清单方法,并基于所述参数信息对所述生成清单方法进行参数赋值,得到赋值后的生成清单方法;
执行所述赋值后的生成清单方法,以从所述代码清单记录中提取出与所述参数信息对应的目标代码清单。
综上所述,本申请实施例中提供的代码清单的生成方法、装置、计算机设备和存储介质,当接收到用户输入的代码清单获取请求时,在判别出用户的身份验证通过后,会调用JGit提供的API接口从Git系统中获取与用户信息对应的代码清单记录。并在检测出代码清单获取请求中携带的参数信息预设规范后,会基于参数信息对预设的生成清单方法进行参数赋值,进而执行赋值后的生成清单方法,以从代码清单记录中提取出与参数信息对应的目标代码清单,以实现通过自动化的方式获取到用户所需的目标代码清单,从而能够省去人工重复工作,也不需要担心会有代码遗漏的情况,有效地提高了代码清单获取的智能性、完整性、快速性与准确性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(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)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:组件信息的管理方法、装置和电子设备