接口调用的响应方法及服务器与流程

文档序号:16930158发布日期:2019-02-22 20:11阅读:477来源:国知局
接口调用的响应方法及服务器与流程

本发明属于数据处理技术领域,尤其涉及一种接口调用的响应方法及服务器。



背景技术:

在部分的大型计算机系统中,终端设备若想调用服务器的接口功能,由于服务器需要确保数据安全以及性能匹配等原因,终端设备往往需要将自身生成的接口测试参数提供给服务器进行验证,在验证成功后,服务器才会允许终端设备调用相关接口。

然而接口测试参数的验证过程往往需要较长时间,如果服务器在任何情况下都在接收到接口调用请求之后,才对终端设备生成的接口参数进行验证,则会影响接口调用的效率。



技术实现要素:

有鉴于此,本发明实施例提供了一种接口调用的响应方法及服务器,以解决现有技术存在的由于难以筛选消息导致的操作便捷性差的问题。

本发明实施例的第一方面提供了一种接口调用的响应方法,包括:

读取由终端设备生成的且预先存储于预设存储器中的接口测试参数,为所述接口测试参数分配请求编号;

根据所述接口测试参数生成所述请求编号对应的密钥,并将所述密钥与所述请求编号的对应关系导入第一存储文件;

通过预设的测试用例对所述接口测试参数进行测试,若测试通过,则根据所述接口测试参数生成所述请求编号对应的令牌,并将所述令牌与所述请求编号的对应关系导入第二存储文件;

通过所述密钥对所述令牌进行加密,生成加密字符串,将所述请求编号与加密字符串进行叠加,生成准入字符串,并将所述准入字符串发送至所述终端设备;

若接收到终端设备发送的接口调用请求,且通过所述第一存储文件以及所述第二存储文件判定所述接口调用请求中包含的所述准入字符串符合预设标准,则向所述终端设备下发关于所述接口调用请求的调用许可。

本发明实施例的第二方面提供了一种服务器,包括存储器以及处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如下步骤:

读取由终端设备生成的且预先存储于预设存储器中的接口测试参数,为所述接口测试参数分配请求编号;

根据所述接口测试参数生成所述请求编号对应的密钥,并将所述密钥与所述请求编号的对应关系导入第一存储文件;

通过预设的测试用例对所述接口测试参数进行测试,若测试通过,则根据所述接口测试参数生成所述请求编号对应的令牌,并将所述令牌与所述请求编号的对应关系导入第二存储文件;

通过所述密钥对所述令牌进行加密,生成加密字符串,将所述请求编号与加密字符串进行叠加,生成准入字符串,并将所述准入字符串发送至所述终端设备;

若接收到终端设备发送的接口调用请求,且通过所述第一存储文件以及所述第二存储文件判定所述接口调用请求中包含的所述准入字符串符合预设标准,则向所述终端设备下发关于所述接口调用请求的调用许可。

本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:

读取由终端设备生成的且预先存储于预设存储器中的接口测试参数,为所述接口测试参数分配请求编号;

根据所述接口测试参数生成所述请求编号对应的密钥,并将所述密钥与所述请求编号的对应关系导入第一存储文件;

通过预设的测试用例对所述接口测试参数进行测试,若测试通过,则根据所述接口测试参数生成所述请求编号对应的令牌,并将所述令牌与所述请求编号的对应关系导入第二存储文件;

通过所述密钥对所述令牌进行加密,生成加密字符串,将所述请求编号与加密字符串进行叠加,生成准入字符串,并将所述准入字符串发送至所述终端设备;

若接收到终端设备发送的接口调用请求,且通过所述第一存储文件以及所述第二存储文件判定所述接口调用请求中包含的所述准入字符串符合预设标准,则向所述终端设备下发关于所述接口调用请求的调用许可。

在本发明实施例中,通过读取终端设备预先生成的接口测试参数,并为其分配请求编号,根据接口测试参数生成密钥后倒入第一存储文件,若接口测试参数通过预设的测试用例对其进行的测试,则生成请求编号对应的令牌,并将令牌与请求编号的对应关系导入第二存储文件,通过密钥对令牌进行加密后与请求编号进行叠加,生成准入字符串,将准入字符串发送至终端设备,若接收到终端设备发送的接口调用请求,且通过所述第一存储文件以及所述第二存储文件判定所述接口调用请求中包含的所述准入字符串符合预设标准,则向终端设备下发关于接口调用请求的调用许可,以在实际接口调用之前对相关终端设备的参数进行测试,提高对于接口调用请求响应的速率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的接口调用的响应方法的实现流程图;

图2是本发明实施例提供的接口调用的响应方法s102的具体实现流程图;

图3是本发明实施例提供的接口调用的响应方法s103的具体实现流程图;

图4是本发明实施例提供的接口调用的响应方法s105的具体实现流程图;

图5是本发明实施例提供的接口调用的响应装置的结构框图;

图6是本发明实施例提供的服务器的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

图1示出了本发明实施例提供的接口调用的响应方法的实现流程,该方法流程包括步骤s101至s105。各步骤的具体实现原理如下。

s101:读取由终端设备生成的且预先存储于预设存储器中的接口测试参数,为所述接口测试参数分配请求编号。

在本发明实施例中,用户可在真正调用服务器的接口之前,预先通过终端设备生成针对服务器中不同接口的接口测试参数,例如,针对登录接口,生成由登录账号、密码、终端设备的硬件参数以及权限参数等数据组成的接口测试参数;针对查询接口,可以生成由查询范围参数、终端设备的硬件参数以及查询权限参数等数据组成的接口测试参数。

值得注意地,终端设备将生成的各个接口测试参数存储于一个预设存储器中,服务器可在接收到接口调用请求之前定时读取预先存储于预设存储器中的接口测试参数,也可以在接收到读取指令后,读取预先存储于预设存储器中的接口测试参数。

可以理解地,从预设存储器中可以解析出多个不同的终端设备生成的针对多个不同的服务器接口的多个接口测试参数,服务器会为读取的每一个接口测试参数分配一个请求编号,为方便介绍本发明实施例,因此在下文中,只以一个终端设备的一种接口测试参数进行介绍。

s102:根据所述接口测试参数生成所述请求编号对应的密钥,并将所述密钥与所述请求编号的对应关系导入第一存储文件。

在本发明实施例中,服务器在读取到一个接口测试参数后,会自动根据该接口测试参数生成一个唯一的密钥。

在本发明实施例中,接口测试参数包括登录信息和特征,其中,登录信息包括用户名和密码,特征码用于体现生成所述接口测试参数的终端设备的唯一标识码。

作为本发明的一个实施例,如图2所示,上述s102包括:

s1021,将所述登录信息和特征码转化成二进制的特征字符串。

示例性地,在本发明实施例中将终端设备的cpu识别码作为终端设备的特征码,如果cpu识别码为bfebfbff000206a,则终端设备的特征码就是bfebfbff000206a。

可选地,为了提高安全性,在获取了终端设备的特征码后还需要按照预设规则将特征码重新排列,例如:预设规则为:将特征码的第一位与第六位调换;第二位与第七位调换。可以理解地,上文示例中的特征码bfebfbff000206a在经过预设规则重新排列后变为bfebfbff6a02000。

在本发明实施例中,由于不同的设备的特征码的进制可能不同,因此在将特征码按照预设规则将所述特征码重新排练后转换为预设进制的字符串,可选地,预设进制为二进制。示例性地,上文示例中的特征码bfebfbff000206a按照预设规则重新排列后转换为二进制的字符串101111111110101111111011111111110110101000000010000000000000。随后按照上述的方法,分别将登录信息中的用户名和密码转换成二进制的字符串,并将特征码、用户名以及密码对应的二进制的字符串进行叠加,生成所述接口测试参数对应的特征字符串。

s1022,对所述特征字符串进行补位,生成补位字符串,并通过预设的md6算法计算所述特征字符串的摘要,作为所述请求编号对应的密钥。

在本发明实施例中,由于特征字符串往往比较长,而且被其他用户窃取的可能性较大,因此处于安全性,以及后续计算便捷性的考虑,在本发明实施例中通过md6算法计算特征字符串补位后的摘要,作为接口测试参数的请求编号对应的密钥。该密钥的用途在下文进行介绍。

s103,通过预设的测试用例对所述接口测试参数进行测试,若测试通过,则根据所述接口测试参数生成所述请求编号对应的令牌,并将所述令牌与所述请求编号的对应关系导入第二存储文件。

在本发明实施例中,接口测试参数中包含测试类别的标识,而不同的测试类别对应有不同的测试用例。因此首先,解析所述接口测试参数,得到对应的测试类别。其次,可选地,通过postman接口测试工具调用所述测试类别对应的预设的测试用例对所述接口测试参数进行测试,生成测试结果。测试结果包括测试通过以及测试失败。

作为本发明的一个实施例,如图3所示,上述s103包括:

s1031,将所述补位字符串等分为预设数量的字符段,通过预设的sha-1算法计算各个字符段对应的哈希值,并组合各个所述哈希值,生成哈希值序列。

根据上文实施例,在生成接口测试参数的请求编号对应的密钥的过程中,会生成一个补位字符串,在本发明实施例中,利用此补位字符串生成一个令牌token。

在本发明实施例中,并不是统一计算补位字符串的整体的哈希值,而是首先将所述补位字符串进行分割,分割成预设数量的字符段,再对每个字符段分别通过sha-1算法计算哈希值,并组合各个哈希值,生成哈希值序列。

s1032,将所述哈希值序列叠加当前时刻的时间戳,生成所述令牌。

可以理解地,为了保证生成的令牌的实效性,因此在哈希值序列后添加当前时刻的时间戳,作为令牌token。

s104,通过所述密钥对所述令牌进行加密,生成加密字符串,将所述请求编号与加密字符串进行叠加,生成准入字符串,并将所述准入字符串发送至所述终端设备。

可选地,可以通过rsa加密算法,通过所述密钥对令牌进行加密。

s105,若接收到终端设备发送的接口调用请求,且通过所述第一存储文件以及所述第二存储文件判定所述接口调用请求中包含的所述准入字符串符合预设标准,则向所述终端设备下发关于所述接口调用请求的调用许可。

在本发明实施例中,服务器在接收到接口调用请求之后,无需花费大量的时间和计算资源对相关的接口测试参数进行测试,只需要检测接口调用请求中是否含有符合标准的准入字符串,即可决定是否向终端设备下发关于接口调用请求的调用许可。

作为本发明的一个实施例,如图4所示,上述s105包括:

s1051,解析出所述接口调用请求中包含的准入字符串中的请求编号,作为目标请求编号,并在所述第一存储文件中查找所述目标请求编号对应的密钥,作为目标密钥。

在本发明实施例中,每一个接口调用请求中包含一个准入字符串和请求编号,由于在上文所介绍的第一存储文件的生成过程中,生成了秘钥与请求编号的对应关系,所以此时可以从第一存储文件中查找到目标请求编号对应的秘钥。

s1052,根据所述目标密钥对所述准入字符串中的加密字符串进行解密,得到目标令牌。

在本发明实施例中,通过aes解密算法通过目标秘钥对加密字符串进行解密。

s1053,若所述第二存储文件中所述目标请求编号对应的令牌与所述目标令牌相同,则判定所述接口调用请求中包含的准入字符串符合预设标准。

在本发明实施例中,通过读取终端设备预先生成的接口测试参数,并为其分配请求编号,根据接口测试参数生成密钥后倒入第一存储文件,若接口测试参数通过预设的测试用例对其进行的测试,则生成请求编号对应的令牌,并将令牌与请求编号的对应关系导入第二存储文件,通过密钥对令牌进行加密后与请求编号进行叠加,生成准入字符串,将准入字符串发送至终端设备,若接收到终端设备发送的接口调用请求,且通过所述第一存储文件以及所述第二存储文件判定所述接口调用请求中包含的所述准入字符串符合预设标准,则向终端设备下发关于接口调用请求的调用许可,以在实际接口调用之前对相关终端设备的参数进行测试,提高对于接口调用请求响应的速率。

对应于上文实施例所述的接口调用的响应方法,图5示出了本发明实施例提供的接口调用的响应装置的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。

参照图5,该装置包括:

读取模块501,用于读取由终端设备生成的且预先存储于预设存储器中的接口测试参数,为所述接口测试参数分配请求编号;

第一存储模块502,用于根据所述接口测试参数生成所述请求编号对应的密钥,并将所述密钥与所述请求编号的对应关系导入第一存储文件;

第二存储模块503,用于通过预设的测试用例对所述接口测试参数进行测试,若测试通过,则根据所述接口测试参数生成所述请求编号对应的令牌,并将所述令牌与所述请求编号的对应关系导入第二存储文件;

生成模块504,用于通过所述密钥对所述令牌进行加密,生成加密字符串,将所述请求编号与加密字符串进行叠加,生成准入字符串,并将所述准入字符串发送至所述终端设备;

判定模块505,用于若接收到终端设备发送的接口调用请求,且通过所述第一存储文件以及所述第二存储文件判定所述接口调用请求中包含的所述准入字符串符合预设标准,则向所述终端设备下发关于所述接口调用请求的调用许可。

可选地,所述接口测试参数包括终端设备的登录信息和特征码;

可选地,所述根据所述接口测试参数,生成所述请求编号对应的密钥,包括:

将所述登录信息和特征码转化成二进制的特征字符串;

对所述特征字符串进行补位,生成补位字符串,并通过预设的md6算法计算所述特征字符串的摘要,作为所述请求编号对应的密钥。

可选地,所述根据所述接口测试参数,生成所述请求编号对应的令牌,包括:

将所述补位字符串等分为预设数量的字符段,通过预设的sha-1算法计算各个字符段对应的哈希值,并组合各个所述哈希值,生成哈希值序列;

将所述哈希值序列叠加当前时刻的时间戳,生成所述令牌。

可选地,所述通过预设的测试用例对所述接口测试参数进行测试,包括:

解析所述接口测试参数,得到对应的测试类别;

通过postman接口测试工具调用所述测试类别对应的预设的测试用例对所述接口测试参数进行测试。

可选地,在所述接收到终端设备发送的接口调用请求之后,还包括:

解析出所述接口调用请求中包含的准入字符串中的请求编号,作为目标请求编号,并在所述第一存储文件中查找所述目标请求编号对应的密钥,作为目标密钥;

根据所述目标密钥对所述准入字符串中的加密字符串进行解密,得到目标令牌;

若所述第二存储文件中所述目标请求编号对应的令牌与所述目标令牌相同,则判定所述接口调用请求中包含的准入字符串符合预设标准。

在本发明实施例中,通过读取终端设备预先生成的接口测试参数,并为其分配请求编号,根据接口测试参数生成密钥后导入第一存储文件,若接口测试参数通过预设的测试用例对其进行的测试,则生成请求编号对应的令牌,并将令牌与请求编号的对应关系导入第二存储文件,通过密钥对令牌进行加密后与请求编号进行叠加,生成准入字符串,将准入字符串发送至终端设备,若接收到终端设备发送的接口调用请求,且通过第一存储文件以及第二存储文件判定所述接口调用请求中包含的所述准入字符串符合预设标准,则向终端设备下发关于接口调用请求的调用许可,以提高对于接口调用请求响应的速率。

图6是本发明一实施例提供的服务器的示意图。如图6所示,该实施例的服务器6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62,例如接口调用的响应程序。所述处理器60执行所述计算机程序62时实现上述各个接口调用的响应方法实施例中的步骤,例如图1所示的步骤101至105。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示单元501至505的功能。

示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述服务器6中的执行过程。

所述服务器6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述服务器可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是服务器6的示例,并不构成对服务器6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器还可以包括输入输出设备、网络接入设备、总线等。

所称处理器60可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器61可以是所述服务器6的内部存储单元,例如服务器6的硬盘或内存。所述存储器61也可以是所述服务器6的外部存储设备,例如所述服务器6上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器61还可以既包括所述服务器6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述服务器所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

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

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

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1