首页> 中国专利> 结构化查询语言脚本审查方法及相关设备

结构化查询语言脚本审查方法及相关设备

摘要

本发明涉及人工智能,提供一种结构化查询语言脚本审查方法及相关设备。该方法能够确定脚本审查请求的发出系统,确定发出系统上的脚本编写规范,根据脚本编写规范构建结构化查询语言脚本集,结构化查询语言脚本集中包括多个历史脚本文件,每个历史脚本文件包括脚本语句及所述脚本语句的审查信息,划分结构化查询语言脚本集,得到训练脚本集及验证脚本集,训练训练脚本集,得到脚本审查学习器,利用验证脚本集调整脚本审查学习器,得到脚本审查模型,提取待审查脚本,将待审查脚本输入至脚本审查模型中,得到审查结果。本发明能够提高脚本审查的效率及准确度。此外,本发明还涉及区块链技术,所述审查结果可存储于区块链中。

著录项

  • 公开/公告号CN112416361A

    专利类型发明专利

  • 公开/公告日2021-02-26

    原文格式PDF

  • 申请/专利权人 平安普惠企业管理有限公司;

    申请/专利号CN202011413456.2

  • 发明设计人 何振光;

    申请日2020-12-03

  • 分类号G06F8/41(20180101);G06F11/36(20060101);

  • 代理机构44334 深圳市赛恩倍吉知识产权代理有限公司;

  • 代理人迟珊珊

  • 地址 518000 广东省深圳市前海深港合作区前湾一路1号A栋201室(入驻深圳市前海商务秘书有限公司)

  • 入库时间 2023-06-19 10:02:03

说明书

技术领域

本发明涉及人工智能技术领域,尤其涉及一种结构化查询语言脚本审查方法及相关设备。

背景技术

系统开发过程中,会涉及到大批量的结构化查询语言脚本的编写,这些脚本对于系统的可用性、安全性、稳定性是至关重要的。然而,在编写结构化查询语言脚本时,很容易因编写出现疏漏而造成生产异常。

为了提高结构化查询语言脚本的开发质量,目前根据过往经验制定一系列的规范来指引开发人员合理编写脚本,然而在实施过程中,由于开发人员众多,总会有开发人员编写了违规的结构化查询语言脚本,因此,为了最大限度的保证结构化查询语言脚本的开发质量,往往通过人工审查的方式来提前发现风险,但随着系统的功能复杂化,开发过程中涉及到的结构化查询语言脚本间的关系错综复杂,导致人工审查的效率和准确性急剧下降。

发明内容

鉴于以上内容,有必要提供一种结构化查询语言脚本审查方法及相关设备,能够提高结构化查询语言脚本审查的效率及准确率。

一方面,本发明提出一种结构化查询语言脚本审查方法,所述结构化查询语言脚本审查方法包括:

当接收到脚本审查请求时,确定所述脚本审查请求的发出系统,并确定所述发出系统上的脚本编写规范;

根据所述脚本编写规范构建结构化查询语言脚本集,所述结构化查询语言脚本集中包括多个历史脚本文件,每个历史脚本文件包括脚本语句及所述脚本语句的审查信息;

划分所述结构化查询语言脚本集,得到训练脚本集及验证脚本集;

训练所述训练脚本集中的历史脚本文件,得到脚本审查学习器;

利用所述验证脚本集中的历史脚本文件调整所述脚本审查学习器,得到脚本审查模型;

从所述脚本审查请求中提取待审查脚本;

将所述待审查脚本输入至所述脚本审查模型中,得到审查结果。

根据本发明优选实施例,所述确定所述脚本审查请求的发出系统包括:

解析所述脚本审查请求的报文头,得到所述报文头携带的地址信息;

从地址标签库中获取地址标识,所述地址标识用于指示发送请求的地址;

从所述地址信息中获取与所述地址标识对应的信息作为所述脚本审查请求的发出地址;

确定与所述发出地址对应的系统作为所述发出系统。

根据本发明优选实施例,所述确定所述发出系统上的脚本编写规范包括:

获取规范库,所述规范库中包括多个系统标识与编写规范的映射关系,并获取所述发出系统的发出系统标识;

遍历所述规范库中的系统标识,并将遍历到的系统标识与所述发出系统标识进行匹配;

将与所述发出系统标识匹配成功的所述遍历到的系统标识确定为目标标识,并停止遍历所述规范库中的所述系统标识;

将所述目标标识在所述规范库中对应的编写规范确定为所述脚本编写规范。

根据本发明优选实施例,所述根据所述脚本编写规范构建结构化查询语言脚本集包括:

利用网络爬虫技术爬取与所述脚本编写规范对应的多个脚本语句,并获取所述多个脚本语句的所述审查信息;

当检测到任意脚本语句的所述审查信息获取失败时,对所述任意脚本语句进行审查标注;

基于所述多个脚本语句及对应的所述审查信息生成所述多个历史脚本文件,并基于所述多个历史脚本文件构建所述结构化查询语言脚本集。

根据本发明优选实施例,在基于所述多个脚本语句及对应的所述审查信息构建所述结构化查询语言脚本集之后,所述方法还包括:

计算所述多个历史脚本文件的文件数量;

检测所述文件数量是否小于预设阈值;

当所述文件数量小于所述预设阈值时,通过扰动法增加与所述多个历史脚本文件的文件数量。

根据本发明优选实施例,所述划分所述结构化查询语言脚本集,得到训练脚本集及验证脚本集包括:

将所述结构化查询语言脚本集中的所述多个历史脚本文件按照预设比例随机划分为多个数据包;

将所述多个数据包中的任一数据包确定为所述验证脚本集,并将所述多个数据包中的其余数据包确定为所述训练脚本集,重复将所述多个数据包中的任一数据包确定为所述验证脚本集,直至所述多个数据包均依次确定为所述验证脚本集。

根据本发明优选实施例,所述利用所述验证脚本集中的历史脚本文件调整所述脚本审查学习器,得到脚本审查模型包括:

将所述验证脚本集按照固定步长进行拆分,得到多个子集;

随机提取每个子集中的任一脚本文件;

将所述任一脚本文件输入至所述脚本审查学习器进行验证,得到所述任一脚本文件的学习率;

计算所述任一脚本文件的学习率的平均值,得到运算均值,并将所述运算均值乘以配置比例,得到配置区间;

将所述学习率处于所述配置区间的所述任一脚本文件确定为目标脚本文件;

根据所述目标脚本文件调整所述脚本审查学习器,得到所述脚本审查模型。

另一方面,本发明还提出一种结构化查询语言脚本审查装置,所述结构化查询语言脚本审查装置包括:

确定单元,用于当接收到脚本审查请求时,确定所述脚本审查请求的发出系统,并确定所述发出系统上的脚本编写规范;

构建单元,用于根据所述脚本编写规范构建结构化查询语言脚本集,所述结构化查询语言脚本集中包括多个历史脚本文件,每个历史脚本文件包括脚本语句及所述脚本语句的审查信息;

划分单元,用于划分所述结构化查询语言脚本集,得到训练脚本集及验证脚本集;

训练单元,用于训练所述训练脚本集中的历史脚本文件,得到脚本审查学习器;

调整单元,用于利用所述验证脚本集中的历史脚本文件调整所述脚本审查学习器,得到脚本审查模型;

提取单元,用于从所述脚本审查请求中提取待审查脚本;

输入单元,用于将所述待审查脚本输入至所述脚本审查模型中,得到审查结果。

另一方面,本发明还提出一种电子设备,所述电子设备包括:

存储器,存储计算机可读指令;及

处理器,执行所述存储器中存储的计算机可读指令以实现所述结构化查询语言脚本审查方法。

另一方面,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现所述结构化查询语言脚本审查方法。

由以上技术方案可以看出,本发明通过确定所述脚本审查请求中的待审查脚本所利用的脚本编写规范,进而构建出所述脚本编写规范对应的所述脚本审查模型,由于所述脚本审查模型是与所述脚本编写规范对应的模型,同时,本发明利用所述验证脚本集中的历史脚本文件对所述脚本审查学习器进行了调整,因此,能够提高所述待审查脚本的准确率,进而利用所述脚本审查模型对所述待审查脚本进行审查,由于无需人工逐一分析脚本编写规范与待审查脚本之间的关系,因此,能够提高所述待审查脚本的审查效率。

附图说明

图1是本发明结构化查询语言脚本审查方法的较佳实施例的流程图。

图2是本发明确定发出系统上的脚本编写规范的一实施例的流程图。

图3是本发明得到脚本审查模型的一实施例的流程图。

图4是本发明结构化查询语言脚本审查装置的较佳实施例的功能模块图。

图5是本发明实现结构化查询语言脚本审查方法的较佳实施例的电子设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

如图1所示,是本发明结构化查询语言脚本审查方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。

所述结构化查询语言脚本审查方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的计算机可读指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。

所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能穿戴式设备等。

所述电子设备可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络电子设备、多个网络电子设备组成的电子设备组或基于云计算(CloudComputing)的由大量主机或网络电子设备构成的云。

所述电子设备所处的网络包括,但不限于:互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。

S10,当接收到脚本审查请求时,确定所述脚本审查请求的发出系统,并确定所述发出系统上的脚本编写规范。

在本发明的至少一个实施例中,所述脚本审查请求中携带有发出地址、接收地址、待审查脚本等。所述脚本审查请求可以由用户触发,也可以由所述发出系统检测到脚本生成时,自动触发。

所述脚本编写规范是指所述发出系统上的编写规范,不同系统具有不同的编写规范。

在本发明的至少一个实施例中,所述电子设备确定所述脚本审查请求的发出系统包括:

解析所述脚本审查请求的报文头,得到所述报文头携带的地址信息;

从地址标签库中获取地址标识,所述地址标识用于指示发送请求的地址;

从所述地址信息中获取与所述地址标识对应的信息作为所述脚本审查请求的发出地址;

确定与所述发出地址对应的系统作为所述发出系统。

其中,所述地址标签库中存储多个指示地址的标签,例如,所述地址标签库中包括指示发送请求的地址的标签、指示接收请求的地址的标签等。

通过上述实施方式,由于无需解析整个所述脚本审查请求,因此能够提高所述地址信息的获取效率,进而利用所述地址标识与指示发送请求的地址的映射关系,能够准确从所述地址信息中确定出所述发出地址,进而能够准确确定出所述发出系统。

参见图2,图2是本发明确定发出系统上的脚本编写规范的一实施例的流程图。在本发明的至少一个实施例中,所述电子设备确定所述发出系统上的脚本编写规范包括:

S100,获取规范库,所述规范库中包括多个系统标识与编写规范的映射关系,并获取所述发出系统的发出系统标识。

所述多个系统标识是指所述规范库中存在用于指示系统的标识。

所述发出系统标识是指能够唯一标识所述发出系统的标识。

S101,遍历所述规范库中的系统标识,并将遍历到的系统标识与所述发出系统标识进行匹配。

S102,将与所述发出系统标识匹配成功的所述遍历到的系统标识确定为目标标识,并停止遍历所述规范库中的所述系统标识。

S103,将所述目标标识在所述规范库中对应的编写规范确定为所述脚本编写规范。

通过上述实施方式,由于在遍历所述规范库中的系统标识的同时,对所述遍历到的系统标识与所述发出系统标识进行匹配,进而能够在与所述发出系统标识匹配成功时停止对所述规范库中的系统标识的遍历,因此,能够提高所述脚本编写规范的确定效率,此外,能够利用系统标识与编写规范的映射关系准确确定出与所述发出系统对应的脚本编写规范。

在本发明的至少一个实施例中,通过确定出所述发出系统上的脚本编写规范,能够确定出待审查脚本所对应的脚本编写规范,有利于待审查脚本的审查。

S11,根据所述脚本编写规范构建结构化查询语言脚本集,所述结构化查询语言脚本集中包括多个历史脚本文件,每个历史脚本文件包括脚本语句及所述脚本语句的审查信息。

在本发明的至少一个实施例中,所述脚本语句是指实现所述发出系统上的某个功能的结构化查询语言代码,所述审查信息包括所述脚本语句符合所述脚本编写规范、所述脚本语句不符合所述脚本编写规范、无法判断三种。

在本发明的至少一个实施例中,所述电子设备根据所述脚本编写规范构建结构化查询语言脚本集包括:

利用网络爬虫技术爬取与所述脚本编写规范对应的多个脚本语句,并获取所述多个脚本语句的所述审查信息;

当检测到任意脚本语句的所述审查信息获取失败时,对所述任意脚本语句进行审查标注;

基于所述多个脚本语句及对应的所述审查信息生成所述多个历史脚本文件,并基于所述多个历史脚本文件构建所述结构化查询语言脚本集。

通过上述实施方式,能够确保构建出的所述结构化查询语言脚本集中的所述多个历史脚本文件具有所述审查信息,进而在训练所述脚本审查模型时无需对所述多个历史脚本文件进行筛选,提高所述脚本审查模型的训练效率。

在本发明的至少一个实施例中,在基于所述多个脚本语句及对应的所述审查信息构建所述结构化查询语言脚本集之后,所述方法还包括:

计算所述多个历史脚本文件的文件数量;

检测所述文件数量是否小于预设阈值;

当所述文件数量小于所述预设阈值时,通过扰动法增加与所述多个历史脚本文件的文件数量。

若所述多个历史脚本文件的文件数量小于所述预设阈值,可以采用扰动法对所述多个历史脚本文件进行扰动,以此来增加所述多个历史脚本文件的文件数量,避免由于所述多个历史脚本文件的样本数量不足,导致训练得到的脚本审查模型对脚本审查能力较差。关于扰动法为现有技术,本发明在此不再赘述。

在本发明的至少一个实施例中,通过所述脚本编写规范能够使构建出的所述结构化查询语言脚本集中的所述多个历史脚本文件是以所述脚本编写规范为基础的,以便构建出的所述脚本审查模型适用于待审查脚本的审查。

S12,划分所述结构化查询语言脚本集,得到训练脚本集及验证脚本集。

在本发明的至少一个实施例中,所述结构化查询语言脚本集由所述训练脚本集及所述验证脚本集组成。所述训练脚本集中包括所述多个历史脚本文件,所述验证脚本集也包括所述多个历史脚本文件。

在本发明的至少一个实施例中,所述电子设备划分所述结构化查询语言脚本集,得到训练脚本集及验证脚本集包括:

将所述结构化查询语言脚本集中的所述多个历史脚本文件按照预设比例随机划分为多个数据包;

将所述多个数据包中的任一数据包确定为所述验证脚本集,并将所述多个数据包中的其余数据包确定为所述训练脚本集,重复将所述多个数据包中的任一数据包确定为所述验证脚本集,直至所述多个数据包均依次确定为所述验证脚本集。

其中,所述预设比例可以自定义设置,本发明不作限制。

通过上述实施方式,使所述多个历史脚本文件中的每个历史脚本文件随机参与训练及验证,由此,提高训练所述脚本审查模型的拟合度。

S13,训练所述训练脚本集中的历史脚本文件,得到脚本审查学习器。

在本发明的至少一个实施例中,所述电子设备训练所述训练脚本集中的历史脚本文件的方式为现有技术,本发明在此不再赘述。

S14,利用所述验证脚本集中的历史脚本文件调整所述脚本审查学习器,得到脚本审查模型。

在本发明的至少一个实施例中,所述脚本审查模型是利用所述验证脚本集中的所述历史脚本文件对所述脚本审查学习器进行调整后生成的。

参见图3,图3是本发明得到脚本审查模型的一实施例的流程图。在本发明的至少一个实施例中,所述电子设备利用所述验证脚本集中的历史脚本文件调整所述脚本审查学习器,得到脚本审查模型包括:

S140,将所述验证脚本集按照固定步长进行拆分,得到多个子集。

所述固定步长可以根据应用场景自由配置。

S141,随机提取每个子集中的任一脚本文件。

所述电子设备从每个子集中随机提取所述任一脚本文件,因此,能够从所述验证脚本集中提取到多个所述任一脚本文件。

S142,将所述任一脚本文件输入至所述脚本审查学习器进行验证,得到所述任一脚本文件的学习率。

S143,计算所述任一脚本文件的学习率的平均值,得到运算均值,并将所述运算均值乘以配置比例,得到配置区间。

其中,所述配置比例可以是根据应用场景设置的比例,例如,所述配置比例可以是0.45-0.55。

S144,将所述学习率处于所述配置区间的所述任一脚本文件确定为目标脚本文件。

S145,根据所述目标脚本文件调整所述脚本审查学习器,得到所述脚本审查模型。

通过上述实施方式,能够确定出学习率处于所述配置区间的目标脚本文件,进而利用所述目标脚本文件调整所述脚本审查学习器,能够确保生成的所述脚本审查模型的学习率及损失值最好,进而有利于脚本审查。

在本发明的至少一个实施例中,通过对生成的所述脚本审查学习器进行调整,能够提高所述脚本审查模型的审查准确度。

S15,从所述脚本审查请求中提取待审查脚本。

在本发明的至少一个实施例中,所述待审查脚本是指所述脚本审查请求中需要进行审查的脚本。

在本发明的至少一个实施例中,所述电子设备从所述脚本审查请求中提取待审查脚本包括:

解析所述脚本审查请求的报文,得到所述脚本审查请求携带的数据信息;

获取脚本标签,所述脚本标签用于指示脚本语句;

从所述数据信息中获取与所述脚本标签对应的信息作为所述待审查脚本。

其中,所述脚本标签可以从配置标签库中获取,所述配置标签库中存储多个预先定义好的标签。

通过上述实施方式,能够快速从所述脚本审查请求中获取到所述待审查脚本。

S16,将所述待审查脚本输入至所述脚本审查模型中,得到审查结果。

需要强调的是,为进一步保证上述审查结果的私密和安全性,上述审查结果还可以存储于一区块链的节点中。

在本发明的至少一个实施例中,所述审查结果包括:所述待审查脚本符合所述脚本编写规范、所述待审查脚本不符合所述脚本编写规范、无法判断三种结果。

在本发明的至少一个实施例中,所述电子设备将所述待审查脚本输入至所述脚本审查模型中,进而能够得到审查结果。

在本发明的至少一个实施例中,在得到审查结果后,所述方法还包括:

获取所述脚本审查请求的请求编号;

根据所述请求编号及所述审查结果生成提示信息;

封装所述提示信息,得到反馈结果;

将所述反馈结果反馈至所述发出系统。

通过上述实施方式,能够在得到所述审查结果后,及时向所述脚本审查请求的发出系统反馈所述审查结果,确保触发所述脚本审查请求的用户能够及时收到所述审查结果。

在本发明的至少一个实施例中,由于直接将所述待审查脚本输入所述脚本审查模型即可获取到所述审查结果,而无需对所述待审查脚本进行手动分析,因此能够提高所述待审查脚本的审查效率。

由以上技术方案可以看出,本发明通过确定所述脚本审查请求中的待审查脚本所利用的脚本编写规范,进而构建出所述脚本编写规范对应的所述脚本审查模型,由于所述脚本审查模型是与所述脚本编写规范对应的模型,同时,本发明利用所述验证脚本集中的历史脚本文件对所述脚本审查学习器进行了调整,因此,能够提高所述待审查脚本的准确率,进而利用所述脚本审查模型对所述待审查脚本进行审查,由于无需人工逐一分析脚本编写规范与待审查脚本之间的关系,因此,能够提高所述待审查脚本的审查效率。

如图4所示,是本发明结构化查询语言脚本审查装置的较佳实施例的功能模块图。所述结构化查询语言脚本审查装置11包括确定单元110、构建单元111、划分单元112、训练单元113、调整单元114、提取单元115、输入单元116、计算单元117、检测单元118、获取单元119、生成单元120、封装单元121及反馈单元122。本发明所称的模块/单元是指一种能够被处理器13所获取,并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。

当接收到脚本审查请求时,确定单元110确定所述脚本审查请求的发出系统,并确定所述发出系统上的脚本编写规范。

在本发明的至少一个实施例中,所述脚本审查请求中携带有发出地址、接收地址、待审查脚本等。所述脚本审查请求可以由用户触发,也可以由所述发出系统检测到脚本生成时,自动触发。

所述脚本编写规范是指所述发出系统上的编写规范,不同系统具有不同的编写规范。

在本发明的至少一个实施例中,所述确定单元110确定所述脚本审查请求的发出系统包括:

解析所述脚本审查请求的报文头,得到所述报文头携带的地址信息;

从地址标签库中获取地址标识,所述地址标识用于指示发送请求的地址;

从所述地址信息中获取与所述地址标识对应的信息作为所述脚本审查请求的发出地址;

确定与所述发出地址对应的系统作为所述发出系统。

其中,所述地址标签库中存储多个指示地址的标签,例如,所述地址标签库中包括指示发送请求的地址的标签、指示接收请求的地址的标签等。

通过上述实施方式,由于无需解析整个所述脚本审查请求,因此能够提高所述地址信息的获取效率,进而利用所述地址标识与指示发送请求的地址的映射关系,能够准确从所述地址信息中确定出所述发出地址,进而能够准确确定出所述发出系统。

在本发明的至少一个实施例中,所述确定单元110确定所述发出系统上的脚本编写规范包括:

获取规范库,所述规范库中包括多个系统标识与编写规范的映射关系,并获取所述发出系统的发出系统标识。

所述多个系统标识是指所述规范库中存在用于指示系统的标识。

所述发出系统标识是指能够唯一标识所述发出系统的标识。

遍历所述规范库中的系统标识,并将遍历到的系统标识与所述发出系统标识进行匹配。

将与所述发出系统标识匹配成功的所述遍历到的系统标识确定为目标标识,并停止遍历所述规范库中的所述系统标识。

将所述目标标识在所述规范库中对应的编写规范确定为所述脚本编写规范。

通过上述实施方式,由于在遍历所述规范库中的系统标识的同时,对所述遍历到的系统标识与所述发出系统标识进行匹配,进而能够在与所述发出系统标识匹配成功时停止对所述规范库中的系统标识的遍历,因此,能够提高所述脚本编写规范的确定效率,此外,能够利用系统标识与编写规范的映射关系准确确定出与所述发出系统对应的脚本编写规范。

在本发明的至少一个实施例中,通过确定出所述发出系统上的脚本编写规范,能够确定出待审查脚本所对应的脚本编写规范,有利于待审查脚本的审查。

构建单元111根据所述脚本编写规范构建结构化查询语言脚本集,所述结构化查询语言脚本集中包括多个历史脚本文件,每个历史脚本文件包括脚本语句及所述脚本语句的审查信息。

在本发明的至少一个实施例中,所述脚本语句是指实现所述发出系统上的某个功能的结构化查询语言代码,所述审查信息包括所述脚本语句符合所述脚本编写规范、所述脚本语句不符合所述脚本编写规范、无法判断三种。

在本发明的至少一个实施例中,所述构建单元111根据所述脚本编写规范构建结构化查询语言脚本集包括:

利用网络爬虫技术爬取与所述脚本编写规范对应的多个脚本语句,并获取所述多个脚本语句的所述审查信息;

当检测到任意脚本语句的所述审查信息获取失败时,对所述任意脚本语句进行审查标注;

基于所述多个脚本语句及对应的所述审查信息生成所述多个历史脚本文件,并基于所述多个历史脚本文件构建所述结构化查询语言脚本集。

通过上述实施方式,能够确保构建出的所述结构化查询语言脚本集中的所述多个历史脚本文件具有所述审查信息,进而在训练所述脚本审查模型时无需对所述多个历史脚本文件进行筛选,提高所述脚本审查模型的训练效率。

在本发明的至少一个实施例中,在基于所述多个脚本语句及对应的所述审查信息构建所述结构化查询语言脚本集之后,计算单元117计算所述多个历史脚本文件的文件数量;

检测单元118检测所述文件数量是否小于预设阈值;

当所述文件数量小于所述预设阈值时,所述计算单元117通过扰动法增加与所述多个历史脚本文件的文件数量。

若所述多个历史脚本文件的文件数量小于所述预设阈值,可以采用扰动法对所述多个历史脚本文件进行扰动,以此来增加所述多个历史脚本文件的文件数量,避免由于所述多个历史脚本文件的样本数量不足,导致训练得到的脚本审查模型对脚本审查能力较差。关于扰动法为现有技术,本发明在此不再赘述。

在本发明的至少一个实施例中,通过所述脚本编写规范能够使构建出的所述结构化查询语言脚本集中的所述多个历史脚本文件是以所述脚本编写规范为基础的,以便构建出的所述脚本审查模型适用于待审查脚本的审查。

划分单元112划分所述结构化查询语言脚本集,得到训练脚本集及验证脚本集。

在本发明的至少一个实施例中,所述结构化查询语言脚本集由所述训练脚本集及所述验证脚本集组成。所述训练脚本集中包括所述多个历史脚本文件,所述验证脚本集也包括所述多个历史脚本文件。

在本发明的至少一个实施例中,所述划分单元112划分所述结构化查询语言脚本集,得到训练脚本集及验证脚本集包括:

将所述结构化查询语言脚本集中的所述多个历史脚本文件按照预设比例随机划分为多个数据包;

将所述多个数据包中的任一数据包确定为所述验证脚本集,并将所述多个数据包中的其余数据包确定为所述训练脚本集,重复将所述多个数据包中的任一数据包确定为所述验证脚本集,直至所述多个数据包均依次确定为所述验证脚本集。

其中,所述预设比例可以自定义设置,本发明不作限制。

通过上述实施方式,使所述多个历史脚本文件中的每个历史脚本文件随机参与训练及验证,由此,提高训练所述脚本审查模型的拟合度。

训练单元113训练所述训练脚本集中的历史脚本文件,得到脚本审查学习器。

在本发明的至少一个实施例中,所述训练单元113训练所述训练脚本集中的历史脚本文件的方式为现有技术,本发明在此不再赘述。

调整单元114利用所述验证脚本集中的历史脚本文件调整所述脚本审查学习器,得到脚本审查模型。

在本发明的至少一个实施例中,所述脚本审查模型是利用所述验证脚本集中的所述历史脚本文件对所述脚本审查学习器进行调整后生成的。

在本发明的至少一个实施例中,所述调整单元114利用所述验证脚本集中的历史脚本文件调整所述脚本审查学习器,得到脚本审查模型包括:

将所述验证脚本集按照固定步长进行拆分,得到多个子集。

所述固定步长可以根据应用场景自由配置。

随机提取每个子集中的任一脚本文件。

所述调整单元114从每个子集中随机提取所述任一脚本文件,因此,能够从所述验证脚本集中提取到多个所述任一脚本文件。

将所述任一脚本文件输入至所述脚本审查学习器进行验证,得到所述任一脚本文件的学习率。

计算所述任一脚本文件的学习率的平均值,得到运算均值,并将所述运算均值乘以配置比例,得到配置区间。

其中,所述配置比例可以是根据应用场景设置的比例,例如,所述配置比例可以是0.45-0.55。

将所述学习率处于所述配置区间的所述任一脚本文件确定为目标脚本文件。

根据所述目标脚本文件调整所述脚本审查学习器,得到所述脚本审查模型。

通过上述实施方式,能够确定出学习率处于所述配置区间的目标脚本文件,进而利用所述目标脚本文件调整所述脚本审查学习器,能够确保生成的所述脚本审查模型的学习率及损失值最好,进而有利于脚本审查。

在本发明的至少一个实施例中,通过对生成的所述脚本审查学习器进行调整,能够提高所述脚本审查模型的审查准确度。

提取单元115从所述脚本审查请求中提取待审查脚本。

在本发明的至少一个实施例中,所述待审查脚本是指所述脚本审查请求中需要进行审查的脚本。

在本发明的至少一个实施例中,所述提取单元115从所述脚本审查请求中提取待审查脚本包括:

解析所述脚本审查请求的报文,得到所述脚本审查请求携带的数据信息;

获取脚本标签,所述脚本标签用于指示脚本语句;

从所述数据信息中获取与所述脚本标签对应的信息作为所述待审查脚本。

其中,所述脚本标签可以从配置标签库中获取,所述配置标签库中存储多个预先定义好的标签。

通过上述实施方式,能够快速从所述脚本审查请求中获取到所述待审查脚本。

输入单元116将所述待审查脚本输入至所述脚本审查模型中,得到审查结果。

需要强调的是,为进一步保证上述审查结果的私密和安全性,上述审查结果还可以存储于一区块链的节点中。

在本发明的至少一个实施例中,所述审查结果包括:所述待审查脚本符合所述脚本编写规范、所述待审查脚本不符合所述脚本编写规范、无法判断三种结果。

在本发明的至少一个实施例中,所述输入单元116将所述待审查脚本输入至所述脚本审查模型中,进而能够得到审查结果。

在本发明的至少一个实施例中,在得到审查结果后,获取单元119获取所述脚本审查请求的请求编号;

生成单元120根据所述请求编号及所述审查结果生成提示信息;

封装单元121封装所述提示信息,得到反馈结果;

反馈单元122将所述反馈结果反馈至所述发出系统。

通过上述实施方式,能够在得到所述审查结果后,及时向所述脚本审查请求的发出系统反馈所述审查结果,确保触发所述脚本审查请求的用户能够及时收到所述审查结果。

在本发明的至少一个实施例中,由于直接将所述待审查脚本输入所述脚本审查模型即可获取到所述审查结果,而无需对所述待审查脚本进行手动分析,因此能够提高所述待审查脚本的审查效率。

由以上技术方案可以看出,本发明通过确定所述脚本审查请求中的待审查脚本所利用的脚本编写规范,进而构建出所述脚本编写规范对应的所述脚本审查模型,由于所述脚本审查模型是与所述脚本编写规范对应的模型,同时,本发明利用所述验证脚本集中的历史脚本文件对所述脚本审查学习器进行了调整,因此,能够提高所述待审查脚本的准确率,进而利用所述脚本审查模型对所述待审查脚本进行审查,由于无需人工逐一分析脚本编写规范与待审查脚本之间的关系,因此,能够提高所述待审查脚本的审查效率。

如图5所示,是本发明实现结构化查询语言脚本审查方法的较佳实施例的电子设备的结构示意图。

在本发明的一个实施例中,所述电子设备1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机可读指令,例如结构化查询语言脚本审查程序。

本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。

所述处理器13可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述电子设备1的运算核心和控制中心,利用各种接口和线路连接整个电子设备1的各个部分,及执行所述电子设备1的操作系统以及安装的各类应用程序、程序代码等。

示例性的,所述计算机可读指令可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该计算机可读指令段用于描述所述计算机可读指令在所述电子设备1中的执行过程。例如,所述计算机可读指令可以被分割成确定单元110、构建单元111、划分单元112、训练单元113、调整单元114、提取单元115、输入单元116、计算单元117、检测单元118、获取单元119、生成单元120、封装单元121及反馈单元122。

所述存储器12可用于存储所述计算机可读指令和/或模块,所述处理器13通过运行或执行存储在所述存储器12内的计算机可读指令和/或模块,以及调用存储在存储器12内的数据,实现所述电子设备1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。存储器12可以包括非易失性和易失性存储器,例如:硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他存储器件。

所述存储器12可以是电子设备1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)等等。

所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。

其中,所述计算机可读指令包括计算机可读指令代码,所述计算机可读指令代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机可读指令代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)。

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

结合图1,所述电子设备1中的所述存储器12存储计算机可读指令实现一种结构化查询语言脚本审查方法,所述处理器13可执行所述计算机可读指令从而实现:

当接收到脚本审查请求时,确定所述脚本审查请求的发出系统,并确定所述发出系统上的脚本编写规范;

根据所述脚本编写规范构建结构化查询语言脚本集,所述结构化查询语言脚本集中包括多个历史脚本文件,每个历史脚本文件包括脚本语句及所述脚本语句的审查信息;

划分所述结构化查询语言脚本集,得到训练脚本集及验证脚本集;

训练所述训练脚本集中的历史脚本文件,得到脚本审查学习器;

利用所述验证脚本集中的历史脚本文件调整所述脚本审查学习器,得到脚本审查模型;

从所述脚本审查请求中提取待审查脚本;

将所述待审查脚本输入至所述脚本审查模型中,得到审查结果。

具体地,所述处理器13对上述计算机可读指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述计算机可读存储介质上存储有计算机可读指令,其中,所述计算机可读指令被处理器13执行时用以实现以下步骤:

当接收到脚本审查请求时,确定所述脚本审查请求的发出系统,并确定所述发出系统上的脚本编写规范;

根据所述脚本编写规范构建结构化查询语言脚本集,所述结构化查询语言脚本集中包括多个历史脚本文件,每个历史脚本文件包括脚本语句及所述脚本语句的审查信息;

划分所述结构化查询语言脚本集,得到训练脚本集及验证脚本集;

训练所述训练脚本集中的历史脚本文件,得到脚本审查学习器;

利用所述验证脚本集中的历史脚本文件调整所述脚本审查学习器,得到脚本审查模型;

从所述脚本审查请求中提取待审查脚本;

将所述待审查脚本输入至所述脚本审查模型中,得到审查结果。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。

此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。本发明中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号