CN111797005A - 网关接口解析方法、装置、计算机设备和存储介质 - Google Patents
网关接口解析方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111797005A CN111797005A CN202010476880.5A CN202010476880A CN111797005A CN 111797005 A CN111797005 A CN 111797005A CN 202010476880 A CN202010476880 A CN 202010476880A CN 111797005 A CN111797005 A CN 111797005A
- Authority
- CN
- China
- Prior art keywords
- code
- interface
- field
- request information
- field analysis
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Abstract
本申请涉及网关技术领域,提供了一种网关接口解析方法、装置、计算机设备和存储介质,包括:在网关接口接收到请求信息时,根据请求信息所针对的接口编号、版本确定出网关中对应的配置接口;获取配置接口对应的配置属性,并调用配置属性中的字段解析代码以及接口校验代码;验证字段解析代码以及接口校验代码是否存在缺陷;若不存在缺陷,则验证字段解析代码以及接口校验代码是否发生更改;若未发生更改,则基于接口校验代码对请求信息进行校验,以及基于字段解析代码解析请求信息的业务主键,并将具有相同业务主键的请求信息进行关联展示。其中,请求信息可存储于区块链中。本申请保障了代码安全性,并将同一笔业务的不同请求关联展示。
Description
技术领域
本申请涉及网关技术领域,特别涉及一种网关接口解析方法、装置、计算机设备和存储介质。
背景技术
目前网关接口大多只负责数据的转发,不包含对接口数据的解析工作,涉及的数据报文存储工作是直接存储整个请求报文,如果需要对报文中字段进行列表展示或者筛选,需要单独进行处理。对于同一笔业务的不同请求,目前的网关无法将其进行关联展示,常见的展现形式只是按照请求时间罗列不同的请求。
发明内容
本申请的主要目的为提供一种网关接口解析方法、装置、计算机设备和存储介质,旨在克服目前的网关无法将同一笔业务的不同请求进行关联展示的缺陷。
为实现上述目的,本申请提供了一种网关接口解析方法,包括以下步骤:
在网关接口接收到请求信息时,根据所述请求信息所针对的接口编号、版本确定出网关中对应的配置接口;
获取所述配置接口对应的配置属性,并调用所述配置属性中的字段解析代码以及接口校验代码;
验证所述字段解析代码以及接口校验代码是否存在缺陷;
若不存在缺陷,则验证所述字段解析代码以及接口校验代码是否发生更改;
若未发生更改,则基于所述接口校验代码对所述请求信息进行校验,以及基于所述字段解析代码解析所述请求信息的业务主键,并将具有相同业务主键的请求信息进行关联展示。
进一步地,所述在网关接口接收到请求信息时,根据所述请求信息所针对的接口编号、版本确定出网关中对应的配置接口的步骤之前,包括:
接收用户在页面界面中针对配置接口的配置指令,所述配置指令用于配置接口代码字段、接口字段以及校验规则字段;
接收到接口发布指令时,根据所述接口代码字段、接口字段以及校验规则字段生成所述配置接口对应的配置属性,所述配置属性包括对应的接口校验代码以及字段解析代码。
进一步地,所述验证所述字段解析代码以及接口校验代码是否发生更改的步骤,包括:
将所述字段解析代码与所述接口校验代码进行拼接,得到拼接代码;
对所述拼接代码进行哈希计算,得到拼接哈希值,判断所述拼接哈希值与预存值是否相同,若相同,则判定所述字段解析代码以及接口校验代码未发生更改;
或者,
对所述字段解析代码进行哈希计算,得到第一哈希值;
对所述接口校验代码进行哈希计算,得到第二哈希值;
判断所述第一哈希值与对应的第一预设值是否相同,以及判断所述第二哈希值与对应的第二预设值是否相同;
若均相同,则判定所述字段解析代码以及接口校验代码未发生更改。
进一步地,所述验证所述字段解析代码以及接口校验代码是否存在缺陷的步骤,包括:
将所述字段解析代码以及接口校验代码进行拼接,得到第一拼接代码,计算所述第一拼接代码的第一校验和;
在所述第一拼接代码中添加一个特征字段,生成第二拼接代码;其中,所述特征字段中包括所述第一拼接代码的第一校验和;
解析所述第二拼接代码中的特征字段,从所述特征字段中得到所述第一拼接代码的第一校验和;
读取所述第二拼接代码,得到所述第二拼接代码的第一长度;
在第二拼接代码中搜索所述特征字段,并读取所述特征字段的第二长度;
计算第一长度与第二长度的差值;
判断所述第一校验和与所述差值是否一致;若一致,则验证所述字段解析代码以及接口校验代码不存在缺陷;若不一致,则验证所述字段解析代码以及接口校验代码存在缺陷。
进一步地,所述验证所述字段解析代码以及接口校验代码是否存在缺陷的步骤,包括:
在预设的数据库中,分别查找与所述字段解析代码、接口校验代码相似的第一测试代码、第二测试代码;
获取测试工具库中每个测试工具对所述第一测试代码以及第二测试代码的测试准确率;
选择多个对所述第一测试代码的测试准确率高于阈值的测试工具作为第一目标测试工具,选择多个对所述第二测试代码的测试准确率高于阈值的测试工具作为第二目标测试工具;
分别通过每一个所述第一目标测试工具对所述字段解析代码进行测试,获取第一测试结果;并对多个所述第一测试结果进行加权计算,得到所述字段解析代码的第一目标测试结果,若所述第一目标测试结果大于阈值,则确定所述字段解析代码存在缺陷;
分别通过每一个所述第二目标测试工具对所述接口校验代码进行测试,获取第二测试结果;并对多个所述第二测试结果进行加权计算,得到所述接口校验代码的第二目标测试结果,若所述第二目标测试结果大于阈值,则确定所述接口校验代码存在缺陷。
进一步地,所述方法还包括:
将所述请求信息存储于区块链中。
本申请还提供了一种网关接口解析装置,包括:
确定单元,用于在网关接口接收到请求信息时,根据所述请求信息所针对的接口编号、版本确定出网关中对应的配置接口;
调用单元,用于获取所述配置接口对应的配置属性,并调用所述配置属性中的字段解析代码以及接口校验代码;
第一验证单元,用于验证所述字段解析代码以及接口校验代码是否存在缺陷;
第二验证单元,用于若不存在缺陷,则验证所述字段解析代码以及接口校验代码是否发生更改;
关联单元,用于若未发生更改,则基于所述接口校验代码对所述请求信息进行校验,以及基于所述字段解析代码解析所述请求信息的业务主键,并将具有相同业务主键的请求信息进行关联展示。
进一步地,还包括:
接收单元,用于接收用户在页面界面中针对配置接口的配置指令,所述配置指令用于配置接口代码字段、接口字段以及校验规则字段;
发布单元,用于接收到接口发布指令时,根据所述接口代码字段、接口字段以及校验规则字段生成所述配置接口对应的配置属性,所述配置属性包括对应的接口校验代码以及字段解析代码。
进一步地,所述第二验证单元,包括:
第一拼接子单元,用于将所述字段解析代码与所述接口校验代码进行拼接,得到拼接代码;
第一判断子单元,用于对所述拼接代码进行哈希计算,得到拼接哈希值,判断所述拼接哈希值与预存值是否相同,若相同,则判定所述字段解析代码以及接口校验代码未发生更改;
或者,所述第二验证单元,包括:
第一计算子单元,用于对所述字段解析代码进行哈希计算,得到第一哈希值;
第二计算子单元,用于对所述接口校验代码进行哈希计算,得到第二哈希值;
第二判断子单元,用于判断所述第一哈希值与对应的第一预设值是否相同,以及判断所述第二哈希值与对应的第二预设值是否相同;
判定子单元,用于若均相同,则判定所述字段解析代码以及接口校验代码未发生更改。
进一步地,所述第一验证单元,包括:
第二拼接子单元,用于将所述字段解析代码以及接口校验代码进行拼接,得到第一拼接代码,计算所述第一拼接代码的第一校验和;
添加子单元,用于在所述第一拼接代码中添加一个特征字段,生成第二拼接代码;其中,所述特征字段中包括所述第一拼接代码的第一校验和;
解析子单元,用于解析所述第二拼接代码中的特征字段,从所述特征字段中得到所述第一拼接代码的第一校验和;
读取子单元,用于读取所述第二拼接代码,得到所述第二拼接代码的第一长度;
搜索子单元,用于在第二拼接代码中搜索所述特征字段,并读取所述特征字段的第二长度;
第三计算子单元,用于计算第一长度与第二长度的差值;
第三判定子单元,用于判断所述第一校验和与所述差值是否一致;若一致,则验证所述字段解析代码以及接口校验代码不存在缺陷;若不一致,则验证所述字段解析代码以及接口校验代码存在缺陷。
进一步地,所述第一验证单元,具体用于:
在预设的数据库中,分别查找与所述字段解析代码、接口校验代码相似的第一测试代码、第二测试代码;
获取测试工具库中每个测试工具对所述第一测试代码以及第二测试代码的测试准确率;
选择多个对所述第一测试代码的测试准确率高于阈值的测试工具作为第一目标测试工具,选择多个对所述第二测试代码的测试准确率高于阈值的测试工具作为第二目标测试工具;
分别通过每一个所述第一目标测试工具对所述字段解析代码进行测试,获取第一测试结果;并对多个所述第一测试结果进行加权计算,得到所述字段解析代码的第一目标测试结果,若所述第一目标测试结果大于阈值,则确定所述字段解析代码存在缺陷;
分别通过每一个所述第二目标测试工具对所述接口校验代码进行测试,获取第二测试结果;并对多个所述第二测试结果进行加权计算,得到所述接口校验代码的第二目标测试结果,若所述第二目标测试结果大于阈值,则确定所述接口校验代码存在缺陷。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请提供的网关接口解析方法、装置、计算机设备和存储介质,包括:在网关接口接收到请求信息时,根据所述请求信息所针对的接口编号、版本确定出网关中对应的配置接口;获取所述配置接口对应的配置属性,并调用所述配置属性中的字段解析代码以及接口校验代码;验证所述字段解析代码以及接口校验代码是否存在缺陷;若不存在缺陷,则验证所述字段解析代码以及接口校验代码是否发生更改;若未发生更改,则基于所述接口校验代码对所述请求信息进行校验,以及基于所述字段解析代码解析所述请求信息的业务主键,并将具有相同业务主键的请求信息进行关联展示。本申请中不仅需要对对应的代码进行验证,保障安全性,同时还可以将针对同一笔业务的不同请求进行关联展示。
附图说明
图1是本申请一实施例中网关接口解析方法步骤示意图;
图2是本申请一实施例中网关接口解析装置结构框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请一实施例中提供了一种网关接口解析方法,包括以下步骤:
步骤S1,在网关接口接收到请求信息时,根据所述请求信息所针对的接口编号、版本确定出网关中对应的配置接口;
步骤S2,获取所述配置接口对应的配置属性,并调用所述配置属性中的字段解析代码以及接口校验代码;
步骤S3,验证所述字段解析代码以及接口校验代码是否存在缺陷;
步骤S4,若不存在缺陷,则验证所述字段解析代码以及接口校验代码是否发生更改;
步骤S5,若未发生更改,则基于所述接口校验代码对所述请求信息进行校验,以及基于所述字段解析代码解析所述请求信息的业务主键,并将具有相同业务主键的请求信息进行关联展示。
在本实施例中,在本实施例中,上述方法应用于网关接口中对请求信息的解析场景中。目前的网关接口中不会对请求进行数据解析,仅仅是进行请求的记录;在本实施例中,可以实现对请求信息进行解析以及校验。
在本实施例中,预先配置好网关中各个接口的配置数据,当配置好上述网关接口的配置数据之后,如上述步骤S1所述的,接收到请求信息时,获取请求信息所针对的接口编号、版本,从而确定出网关中对应的配置接口。
为保证上述请求信息的私密和安全性,可以将上述请求信息存储于区块链中,通过区块链实现信息在不同平台之间的共享,以及信息查询。此外,根据请求信息确定及解析出的相关信息,也可存储于区块链中。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
如上述步骤S2所述的,获取所述配置接口对应的配置属性,调用该配置接口的配置属性中的字段解析代码以及所述接口校验代码,并分别对所述请求信息进行解析、校验,即可以实现在网关接口中对请求信息的解析、校验。
在网关中,若有正确执行上述字段解析代码以及接口校验代码,应当保障其不存在缺陷,因此,需要如上述步骤S3所述的,验证代码是否存在缺陷。只有不存在缺陷时才可以被执行,若存在缺陷,则可能执行错误。
同时,还应当保障请求信息的安全性,因此在执行所述验证所述字段解析代码以及接口校验代码之前,还应当如上述步骤S4所述的,确认其是否被篡改,若被篡改,则可能造成安全风险。
如上述步骤S5所述的,不仅可以基于所述接口校验代码对所述请求信息进行校验,还可以解析所述请求信息的业务主键,将具有相同业务主键的请求信息进行关联。
上述业务主键主要是用来标识不同请求所针对的业务。例如:部分业务请求中包括有申请号,不同请求如果申请号相同,则是针对同一笔业务的。具体地,常见的申请以及取消接口中都包含applyCode字段,即可将该字段定义为业务主键。通常,申请接口以及取消接口中都包含applyCode字段,接收到这两个接口请求时,根据配置接口解析到两个请求的applyCode字段是相同的,那么表示这两个请求针对同一笔业务,可以进行关联展示,如果两个请求的applyCode字段不同,则表明申请与取消不是针对同一笔业务的,则无需关联。
对于从上述请求信息中解析出的数据,可以使用jsonb格式(postgre数据库)进行存储。在该postgre数据库中,通常数据查询SQL为:
Selectcolumn from table where column=value;
在该数据库中,使用jsonb则可以使用->>符号获取json字符中指定字段匹配,也可以使用@>来匹配多个字段。对于存储的数据,配置接口设置了是否筛选字段,对于筛选字段,系统进行单独处理,直接提交检索服务器,可以对相关数据进行筛选;由于数据已经进行了解析,系统还提供了默认的请求信息展示界面(列表+详情),展示从请求信息中提取出来的数据。同时,系统可以配置内部服务为MQ(消息队列),接收到对应请求信息时,对请求信息进行解析、校验后,将请求封装为MQ消息,同时根据相关配置,对客户端进行响应。
在一实施例中,所述在网关接口接收到请求信息时,根据所述请求信息所针对的接口编号、版本确定出网关中对应的配置接口的步骤S1之前,包括:
步骤S11,接收用户在页面界面中针对配置接口的配置指令,所述配置指令用于配置接口代码字段、接口字段以及校验规则字段;
步骤S12,接收到接口发布指令时,根据所述接口代码字段、接口字段以及校验规则字段生成所述配置接口对应的配置属性,所述配置属性包括对应的接口校验代码以及字段解析代码。
在本实施例中,需要预先配置网关接口的配置数据,用户可在配置界面中针对配置接口的接口代码字段、接口字段以及校验规则字段进行配置;上述接口代码字段用来区分请求所属业务的类型,例如登陆请求的接口代码字段是I00001,修改密码请求的接口代码字段是I00002。接口字段指的是接口中发送的参数名称,例如:登陆接口发送字段loginName,password。校验规则字段指的是对请求中参数的校验规则,例如最大长度、是否必须、字段格式等。
配置好上述接口代码字段、接口字段以及校验规则字段之后,必须经过发布动作,才可以使该接口生效,未发布的接口无法生效。在触发发布动作之后,系统自动根据所述接口代码字段、接口字段以及校验规则字段,生成接口校验代码以及字段解析代码,得到网关接口的json配置数据。生成的接口校验代码以及字段解析代码用于后续的数据校验功能。
具体地,在一个具体实施例中,用户在界面中配置了登陆接口字段有loginName(字符串、必填、最大长度20),password(字符串、必填、最小长度6),则生成如下接口校验代码:
{
“loginName”:{“required”:true,“maxSize”:20,“type”:“String”},
“password”:{“required”:true,“minSize”:6,“type”:“String”}
}
在本实施例中,生成校验代码的规则以及根据规则进行校验均支持直接生成jsonSchame的定义数据,或自定义校验。
在一实施例中,所述验证所述字段解析代码以及接口校验代码是否发生更改的步骤S4,包括:
将所述字段解析代码与所述接口校验代码进行拼接,得到拼接代码;
对所述拼接代码进行哈希计算,得到拼接哈希值,判断所述拼接哈希值与预存值是否相同,若相同,则判定所述字段解析代码以及接口校验代码未发生更改。
在本实施例中,在生成上述字段解析代码与所述接口校验代码时,可预先将所述字段解析代码与所述接口校验代码进行拼接,得到预设拼接代码,并对预设拼接代码进行进行哈希计算,得到哈希值,将该哈希值作为上述预存值。当需要验证上述字段解析代码以及接口校验代码是否发生更改时,只需要按照同样的规则对其进行拼接、以及哈希计算得到拼接哈希值;若该拼接哈希值与上述预存值相同,则表明上述字段解析代码与所述接口校验代码没有发生任何更改。在本实施例中,不需要进行代码的逐行比对,只需要进行哈希值的比对,显著降低运算时的数据处理量,方便快捷。
在另一实施例中,所述验证所述字段解析代码以及接口校验代码是否发生更改的步骤S4,包括:
对所述字段解析代码进行哈希计算,得到第一哈希值;
对所述接口校验代码进行哈希计算,得到第二哈希值;
判断所述第一哈希值与对应的第一预设值是否相同,以及判断所述第二哈希值与对应的第二预设值是否相同;
若均相同,则判定所述字段解析代码以及接口校验代码未发生更改。
在本实施例中,分别对上述字段解析代码以及接口校验代码进行哈希计算,然后分别判定与对应的预设值是否相同,同样不需要进行代码的逐行比对,只需要进行哈希值的比对,显著降低运算时的数据处理量,方便快捷。
在一实施例中,所述验证所述字段解析代码以及接口校验代码是否存在缺陷的步骤S3,包括:
步骤S31,将所述字段解析代码以及接口校验代码进行拼接,得到第一拼接代码,计算所述第一拼接代码的第一校验和;
步骤S32,在所述第一拼接代码中添加一个特征字段,生成第二拼接代码;其中,所述特征字段中包括所述第一拼接代码的第一校验和;
步骤S33,解析所述第二拼接代码中的特征字段,从所述特征字段中得到所述第一拼接代码的第一校验和;
步骤S34,读取所述第二拼接代码,得到所述第二拼接代码的第一长度;
步骤S35,在第二拼接代码中搜索所述特征字段,并读取所述特征字段的第二长度;
步骤S36,计算第一长度与第二长度的差值;
步骤S37,判断所述第一校验和与所述差值是否一致;若一致,则验证所述字段解析代码以及接口校验代码不存在缺陷;若不一致,则验证所述字段解析代码以及接口校验代码存在缺陷。
在本实施例中,验证上述字段解析代码以及接口校验代码是否存在缺陷的关键在于验证上述字段解析代码以及接口校验代码是否存在缺陷是否存在无效代码。若其中存在无效代码时,则必然会使得无法被正确读取。
将所述字段解析代码以及接口校验代码进行拼接,得到第一拼接代码,计算第一拼接代码的第一校验和,上述第一校验和为上述第一拼接代码的长度。将第一校验和作为特征字段添加在第一拼接代码中,得到第二拼接代码。显然,上述第二拼接代码的长度便等于上述第一校验和以及上述特征字段的长度之和。
在内存中读取上述第二拼接代码,得到所述第二拼接代码的第一长度,并读取特征字段的第二长度;可以理解的是,在读取上述第二拼接代码时,得到的第二拼接代码的第一长度以及所述特征字段的第二长度均为有效长度,该有效长度为准确值;而第二拼接代码是由所述特征字段以及第一拼接代码所构成的,因而第一长度与第二长度的差值则为所述第一拼接代码的有效长度,即计算得到的所述差值是第一拼接代码的准确长度。
最后,判断所述第一校验和与所述差值是否一致;若一致,则验证所述字段解析代码以及接口校验代码不存在缺陷,均为有效代码;若不一致,则验证所述字段解析代码以及接口校验代码存在缺陷。不一致时,则表明第一拼接代码当中存在无效代码,影响正确读取。
在另一实施例中,所述验证所述字段解析代码以及接口校验代码是否存在缺陷的步骤S3,包括:
步骤S301,在预设的数据库中,分别查找与所述字段解析代码、接口校验代码相似的第一测试代码、第二测试代码;根据代码属性,从数据库中便可以查找到相同属性的测试代码。
步骤S302,获取测试工具库中每个测试工具对所述第一测试代码以及第二测试代码的测试准确率;测试工具库中存储有多种不同的测试工具,而不同的测试工具对不同的代码的测试准确率不同。
步骤S303,选择多个对所述第一测试代码的测试准确率高于阈值的测试工具作为第一目标测试工具,选择多个对所述第二测试代码的测试准确率高于阈值的测试工具作为第二目标测试工具;本实施例中,选择出测试准确率高的测试工具,有利于提升测试时的准确度。
步骤S304,分别通过每一个所述第一目标测试工具对所述字段解析代码进行测试,获取第一测试结果;并对多个所述第一测试结果进行加权计算,得到所述字段解析代码的第一目标测试结果,若所述第一目标测试结果大于阈值,则确定所述字段解析代码存在缺陷;
步骤S305,分别通过每一个所述第二目标测试工具对所述接口校验代码进行测试,获取第二测试结果;并对多个所述第二测试结果进行加权计算,得到所述接口校验代码的第二目标测试结果,若所述第二目标测试结果大于阈值,则确定所述接口校验代码存在缺陷。
在本实施例中,首先挑选出测试准确率高的测试工具,利用选择出的测试工具对上述通过字段解析代码、接口校验代码分别进行测试,有利于提升测试准确率;然后,对每一个测试工具的测试结果进行加权计算,有利于进一步提升测试准确率,避免误判。
参照图2,本申请一实施例中还提供了一种网关接口解析装置,包括:
确定单元10,用于在网关接口接收到请求信息时,根据所述请求信息所针对的接口编号、版本确定出网关中对应的配置接口;
调用单元20,用于获取所述配置接口对应的配置属性,并调用所述配置属性中的字段解析代码以及接口校验代码;
第一验证单元30,用于验证所述字段解析代码以及接口校验代码是否存在缺陷;
第二验证单元40,用于若不存在缺陷,则验证所述字段解析代码以及接口校验代码是否发生更改;
关联单元50,用于若未发生更改,则基于所述接口校验代码对所述请求信息进行校验,以及基于所述字段解析代码解析所述请求信息的业务主键,并将具有相同业务主键的请求信息进行关联展示。
在一实施例中,上述装置,还包括:
接收单元,用于接收用户在页面界面中针对配置接口的配置指令,所述配置指令用于配置接口代码字段、接口字段以及校验规则字段;
发布单元,用于接收到接口发布指令时,根据所述接口代码字段、接口字段以及校验规则字段生成所述配置接口对应的配置属性,所述配置属性包括对应的接口校验代码以及字段解析代码。
在一实施例中,所述第二验证单元40,包括:
第一拼接子单元,用于将所述字段解析代码与所述接口校验代码进行拼接,得到拼接代码;
第一判断子单元,用于对所述拼接代码进行哈希计算,得到拼接哈希值,判断所述拼接哈希值与预存值是否相同,若相同,则判定所述字段解析代码以及接口校验代码未发生更改;
或者,所述第二验证单元40,包括:
第一计算子单元,用于对所述字段解析代码进行哈希计算,得到第一哈希值;
第二计算子单元,用于对所述接口校验代码进行哈希计算,得到第二哈希值;
第二判断子单元,用于判断所述第一哈希值与对应的第一预设值是否相同,以及判断所述第二哈希值与对应的第二预设值是否相同;
判定子单元,用于若均相同,则判定所述字段解析代码以及接口校验代码未发生更改。
在一实施例中,所述第一验证单元30,包括:
第二拼接子单元,用于将所述字段解析代码以及接口校验代码进行拼接,得到第一拼接代码,计算所述第一拼接代码的第一校验和;
添加子单元,用于在所述第一拼接代码中添加一个特征字段,生成第二拼接代码;其中,所述特征字段中包括所述第一拼接代码的第一校验和;
解析子单元,用于解析所述第二拼接代码中的特征字段,从所述特征字段中得到所述第一拼接代码的第一校验和;
读取子单元,用于读取所述第二拼接代码,得到所述第二拼接代码的第一长度;
搜索子单元,用于在第二拼接代码中搜索所述特征字段,并读取所述特征字段的第二长度;
第三计算子单元,用于计算第一长度与第二长度的差值;
第三判定子单元,用于判断所述第一校验和与所述差值是否一致;若一致,则验证所述字段解析代码以及接口校验代码不存在缺陷;若不一致,则验证所述字段解析代码以及接口校验代码存在缺陷。
在一实施例中,所述第一验证单元30,具体用于:
在预设的数据库中,分别查找与所述字段解析代码、接口校验代码相似的第一测试代码、第二测试代码;
获取测试工具库中每个测试工具对所述第一测试代码以及第二测试代码的测试准确率;
选择多个对所述第一测试代码的测试准确率高于阈值的测试工具作为第一目标测试工具,选择多个对所述第二测试代码的测试准确率高于阈值的测试工具作为第二目标测试工具;
分别通过每一个所述第一目标测试工具对所述字段解析代码进行测试,获取第一测试结果;并对多个所述第一测试结果进行加权计算,得到所述字段解析代码的第一目标测试结果,若所述第一目标测试结果大于阈值,则确定所述字段解析代码存在缺陷;
分别通过每一个所述第二目标测试工具对所述接口校验代码进行测试,获取第二测试结果;并对多个所述第二测试结果进行加权计算,得到所述接口校验代码的第二目标测试结果,若所述第二目标测试结果大于阈值,则确定所述接口校验代码存在缺陷。
在本实施例中,上述装置实施例中的各个单元、子单元的具体实现请参照上述方法实施例中所述,在此不再进行赘述。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储代码数据等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网关接口解析方法。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种网关接口解析方法。可以理解的是,本实施例中的计算机可读存储介质可以是易失性可读存储介质,也可以为非易失性可读存储介质。
综上所述,为本申请实施例中提供的网关接口解析方法、装置、计算机设备和存储介质,包括:在网关接口接收到请求信息时,根据所述请求信息所针对的接口编号、版本确定出网关中对应的配置接口;获取所述配置接口对应的配置属性,并调用所述配置属性中的字段解析代码以及接口校验代码;验证所述字段解析代码以及接口校验代码是否存在缺陷;若不存在缺陷,则验证所述字段解析代码以及接口校验代码是否发生更改;若未发生更改,则基于所述接口校验代码对所述请求信息进行校验,以及基于所述字段解析代码解析所述请求信息的业务主键,并将具有相同业务主键的请求信息进行关联展示。本申请中不仅需要对对应的代码进行验证,保障安全性,同时还可以将针对同一笔业务的不同请求进行关联展示。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(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)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种网关接口解析方法,其特征在于,包括以下步骤:
在网关接口接收到请求信息时,根据所述请求信息所针对的接口编号、版本确定出网关中对应的配置接口;
获取所述配置接口对应的配置属性,并调用所述配置属性中的字段解析代码以及接口校验代码;
验证所述字段解析代码以及接口校验代码是否存在缺陷;
若不存在缺陷,则验证所述字段解析代码以及接口校验代码是否发生更改;
若未发生更改,则基于所述接口校验代码对所述请求信息进行校验,以及基于所述字段解析代码解析所述请求信息的业务主键,并将具有相同业务主键的请求信息进行关联展示。
2.根据权利要求1所述的网关接口解析方法,其特征在于,所述在网关接口接收到请求信息时,根据所述请求信息所针对的接口编号、版本确定出网关中对应的配置接口的步骤之前,包括:
接收用户在页面界面中针对配置接口的配置指令,所述配置指令用于配置接口代码字段、接口字段以及校验规则字段;
接收到接口发布指令时,根据所述接口代码字段、接口字段以及校验规则字段生成所述配置接口对应的配置属性,所述配置属性包括对应的接口校验代码以及字段解析代码。
3.根据权利要求1所述的网关接口解析方法,其特征在于,所述验证所述字段解析代码以及接口校验代码是否发生更改的步骤,包括:
将所述字段解析代码与所述接口校验代码进行拼接,得到拼接代码;
对所述拼接代码进行哈希计算,得到拼接哈希值,判断所述拼接哈希值与预存值是否相同,若相同,则判定所述字段解析代码以及接口校验代码未发生更改;
或者,
对所述字段解析代码进行哈希计算,得到第一哈希值;
对所述接口校验代码进行哈希计算,得到第二哈希值;
判断所述第一哈希值与对应的第一预设值是否相同,以及判断所述第二哈希值与对应的第二预设值是否相同;
若均相同,则判定所述字段解析代码以及接口校验代码未发生更改。
4.根据权利要求1所述的网关接口解析方法,其特征在于,所述验证所述字段解析代码以及接口校验代码是否存在缺陷的步骤,包括:
将所述字段解析代码以及接口校验代码进行拼接,得到第一拼接代码,计算所述第一拼接代码的第一校验和;
在所述第一拼接代码中添加一个特征字段,生成第二拼接代码;其中,所述特征字段中包括所述第一拼接代码的第一校验和;
解析所述第二拼接代码中的特征字段,从所述特征字段中得到所述第一拼接代码的第一校验和;
读取所述第二拼接代码,得到所述第二拼接代码的第一长度;
在第二拼接代码中搜索所述特征字段,并读取所述特征字段的第二长度;
计算第一长度与第二长度的差值;
判断所述第一校验和与所述差值是否一致;若一致,则验证所述字段解析代码以及接口校验代码不存在缺陷;若不一致,则验证所述字段解析代码以及接口校验代码存在缺陷。
5.根据权利要求1所述的网关接口解析方法,其特征在于,所述验证所述字段解析代码以及接口校验代码是否存在缺陷的步骤,包括:
在预设的数据库中,分别查找与所述字段解析代码、接口校验代码相似的第一测试代码、第二测试代码;
获取测试工具库中每个测试工具对所述第一测试代码以及第二测试代码的测试准确率;
选择多个对所述第一测试代码的测试准确率高于阈值的测试工具作为第一目标测试工具,选择多个对所述第二测试代码的测试准确率高于阈值的测试工具作为第二目标测试工具;
分别通过每一个所述第一目标测试工具对所述字段解析代码进行测试,获取第一测试结果;并对多个所述第一测试结果进行加权计算,得到所述字段解析代码的第一目标测试结果,若所述第一目标测试结果大于阈值,则确定所述字段解析代码存在缺陷;
分别通过每一个所述第二目标测试工具对所述接口校验代码进行测试,获取第二测试结果;并对多个所述第二测试结果进行加权计算,得到所述接口校验代码的第二目标测试结果,若所述第二目标测试结果大于阈值,则确定所述接口校验代码存在缺陷。
6.根据权利要求1所述的网关接口解析方法,其特征在于,所述方法还包括:
将所述请求信息存储于区块链中。
7.一种网关接口解析装置,其特征在于,包括:
确定单元,用于在网关接口接收到请求信息时,根据所述请求信息所针对的接口编号、版本确定出网关中对应的配置接口;
调用单元,用于获取所述配置接口对应的配置属性,并调用所述配置属性中的字段解析代码以及接口校验代码;
第一验证单元,用于验证所述字段解析代码以及接口校验代码是否存在缺陷;
第二验证单元,用于若不存在缺陷,则验证所述字段解析代码以及接口校验代码是否发生更改;
关联单元,用于若未发生更改,则基于所述接口校验代码对所述请求信息进行校验,以及基于所述字段解析代码解析所述请求信息的业务主键,并将具有相同业务主键的请求信息进行关联展示。
8.根据权利要求7所述的网关接口解析装置,其特征在于,还包括:
接收单元,用于接收用户在页面界面中针对配置接口的配置指令,所述配置指令用于配置接口代码字段、接口字段以及校验规则字段;
发布单元,用于接收到接口发布指令时,根据所述接口代码字段、接口字段以及校验规则字段生成所述配置接口对应的配置属性,所述配置属性包括对应的接口校验代码以及字段解析代码。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010476880.5A CN111797005A (zh) | 2020-05-29 | 2020-05-29 | 网关接口解析方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010476880.5A CN111797005A (zh) | 2020-05-29 | 2020-05-29 | 网关接口解析方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111797005A true CN111797005A (zh) | 2020-10-20 |
Family
ID=72806643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010476880.5A Pending CN111797005A (zh) | 2020-05-29 | 2020-05-29 | 网关接口解析方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111797005A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115203300A (zh) * | 2022-06-22 | 2022-10-18 | 中电金信软件有限公司 | 一种数据验证方法及装置 |
CN117707653A (zh) * | 2024-02-06 | 2024-03-15 | 天津医康互联科技有限公司 | 参数监控方法、装置、电子设备及计算机可读存储介质 |
-
2020
- 2020-05-29 CN CN202010476880.5A patent/CN111797005A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115203300A (zh) * | 2022-06-22 | 2022-10-18 | 中电金信软件有限公司 | 一种数据验证方法及装置 |
CN115203300B (zh) * | 2022-06-22 | 2023-10-31 | 中电金信软件有限公司 | 一种数据验证方法及装置 |
CN117707653A (zh) * | 2024-02-06 | 2024-03-15 | 天津医康互联科技有限公司 | 参数监控方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110730107B (zh) | 测试数据生成方法、装置、计算机设备和存储介质 | |
KR101952498B1 (ko) | 블록 체인을 이용한 대출 서비스 제공 방법 및 이를 실행하는 시스템 | |
US20100154066A1 (en) | System and Method for Managing Security Testing | |
CN108989355B (zh) | 一种漏洞检测方法和装置 | |
CN110300096B (zh) | 基于本地证书的自校验方法、装置、设备及存储介质 | |
CN108256322B (zh) | 安全测试方法、装置、计算机设备和存储介质 | |
CN111290742A (zh) | 参数验证方法、装置、电子设备及可读存储介质 | |
CN108400978B (zh) | 漏洞检测方法、装置、计算机设备和存储介质 | |
CN111797005A (zh) | 网关接口解析方法、装置、计算机设备和存储介质 | |
CN110597541B (zh) | 基于区块链的接口更新处理方法、装置、设备及存储介质 | |
CN111125748A (zh) | 越权查询的判断方法、装置、计算机设备和存储介质 | |
CN112637282B (zh) | 信息推送方法、装置、计算机设备和存储介质 | |
CN111611465B (zh) | 产品检测系统、方法、装置、计算机设备和存储介质 | |
CN112612706A (zh) | 自动化测试方法、计算机设备及存储介质 | |
CN112613893A (zh) | 一种用户恶意注册识别方法、系统、设备及介质 | |
US20060136738A1 (en) | System and method for password validation | |
CN116226879A (zh) | 服务接口访问控制方法、装置、计算机设备和存储介质 | |
CN112383536B (zh) | 防火墙验证方法、装置、计算机设备及存储介质 | |
CN112686745A (zh) | 金融账户变更处理方法、装置、计算机设备及存储介质 | |
CN109445758B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111930535A (zh) | 一种应用功能调用方法、装置、计算机设备及存储介质 | |
CN111625465A (zh) | 程序生成方法、装置、系统和电子设备 | |
CN111143399A (zh) | 数据处理方法、装置、存储介质和计算机设备 | |
CN111651429B (zh) | 一种大数据调度参数管理方法、装置及分布式平台 | |
CN114064082A (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 |