CN109446052A - 一种应用程序的校验方法及设备 - Google Patents

一种应用程序的校验方法及设备 Download PDF

Info

Publication number
CN109446052A
CN109446052A CN201811016895.2A CN201811016895A CN109446052A CN 109446052 A CN109446052 A CN 109446052A CN 201811016895 A CN201811016895 A CN 201811016895A CN 109446052 A CN109446052 A CN 109446052A
Authority
CN
China
Prior art keywords
interface
calling
keyword
local
application program
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.)
Granted
Application number
CN201811016895.2A
Other languages
English (en)
Other versions
CN109446052B (zh
Inventor
梁承飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Enterprise Ruiming Technology Beijing Co ltd
Shenzhen Lian Intellectual Property Service Center
Original Assignee
Ping An Puhui Enterprise Management Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN201811016895.2A priority Critical patent/CN109446052B/zh
Publication of CN109446052A publication Critical patent/CN109446052A/zh
Application granted granted Critical
Publication of CN109446052B publication Critical patent/CN109446052B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface

Abstract

本发明适用于信息处理技术领域,提供了一种应用程序的校验方法及设备,包括:获取应用程序的接口信息以及代码文件;解析代码文件,确定应用程序包含的调用链接;基于调用链接,与调用服务器建立通信连接,并获取应用程序访问调用服务器时所使用的调用接口的调用接口信息;根据接口描述信息以及调用接口信息,分别确定各个本地接口关联的调用接口;接收调用服务器通过调用接口发送的调用数据,并根据调用数据对该调用接口关联的本地接口进行校验。本发明可以基于接口描述信息以及调用接口信息自动匹配各自关联的接口,并获取调用数据进行接口校验,提高了应用程序的校验效率,并且通过自动识别本地接口与关联接口,能够提高应用程序的结构安全性。

Description

一种应用程序的校验方法及设备
技术领域
本发明属于信息处理技术领域,尤其涉及一种应用程序的校验方法及设备。
背景技术
随着终端技术的不断发展,为了满足用户使用过程中的各种需求,应用程序的数量以及更新速度也不断增长,因此,如何高效地对应用程序进行校验,则直接影响应用程序的发布速度。为了扩展应用程序的功能,开发人员常常会在应用程序中添加调用链接,通过调用服务器来对应用程序的可用功能进行扩充,该过程需要将应用程序中相关的接口与调用服务器的接口进行对接,而上述操作均需要开发人员手动配置,并在配置完成后进行应用程序与调用服务器之间各接口间连通性校验。由此可见,现有的应用程序的校验方法,校验过程需要开发人员手动对接口进行配置,从而导致校验效率较低,降低了应用程序的发布速度。
发明内容
有鉴于此,本发明实施例提供了一种应用程序的校验方法及设备,以解决现有的应用程序的校验方法,校验过程需要开发人员手动对接口进行配置,从而导致校验效率较低,降低了应用程序的发布速度的问题。
本发明实施例的第一方面提供了一种应用程序的校验方法,包括:
获取应用程序的接口信息以及代码文件;所述接口信息包括所述应用程序中各个本地接口的接口描述信息;
解析所述代码文件,确定所述应用程序包含的调用链接;
基于所述调用链接,与调用服务器建立通信连接,并获取所述应用程序访问所述调用服务器时所使用的调用接口的调用接口信息;
根据所述接口描述信息以及所述调用接口信息,分别确定各个所述本地接口关联的所述调用接口;
接收所述调用服务器通过所述调用接口发送的调用数据,并根据所述调用数据对该调用接口关联的本地接口进行校验。
本发明实施例的第二方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的各个步骤。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面的各个步骤。
实施本发明实施例提供的一种应用程序的校验方法及设备具有以下有益效果:
本发明实施例通过获取应用程序的代码文件,并对该代码文件进行解析,确定应用程序中包含的调用链接,从而获知运行该应用程序时,可连接的调用服务器,由于每个调用服务器在与应用程序通信的过程中需要通过各个调用接口传输相应的参数,因此会通过与调用服务器建立通信连接,并获取所需调用的各个调用接口的调用接口信息,基于调用接口信息以及该应用程序包含的本地接口的接口描述信息,确定各个本地接口所关联的调用接口,并接收调用服务器通过调用接口发送的调用数据,将该调用数据与其关联的本地接口的合法数据格式进行合法性校验,识别该调用数据是否与本地接口匹配,实现自动进行接口数据校验的目的。与现有的应用程序的校验方式相比,无需开发人员对各个调用链接进行接口关联,校验设备可以基于接口描述信息以及调用接口信息自动匹配各自关联的接口,并获取调用数据进行接口校验,提高了应用程序的校验效率,进一步提高了应用程序的开发速度;另一方面,通过自动匹配关联接口以及本地接口,提高了包含调用链接的应用程序的结构安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种应用程序的校验方法的实现流程图;
图2是本发明第二实施例提供的一种应用程序的校验方法S104具体实现流程图;
图3是本发明第三实施例提供的一种应用程序的校验方法S1042具体实现流程图;
图4是本发明第四实施例提供的一种应用程序的校验方法具体实现流程图;
图5是本发明第五实施例提供的一种应用程序的校验方法S102具体实现流程图;
图6是本发明一实施例提供的一种终端设备的结构框图;
图7是本发明另一实施例提供的一种终端设备的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过获取应用程序的代码文件,并对该代码文件进行解析,确定应用程序中包含的调用链接,从而获知运行该应用程序时,可连接的调用服务器,由于每个调用服务器在与应用程序通信的过程中需要通过各个调用接口传输相应的参数,因此会通过与调用服务器建立通信连接,并获取所需调用的各个调用接口的调用接口信息,基于调用接口信息以及该应用程序包含的本地接口的接口描述信息,确定各个本地接口所关联的调用接口,并接收调用服务器通过调用接口发送的调用数据,将该调用数据与其关联的本地接口的合法数据格式进行合法性校验,识别该调用数据是否与本地接口匹配,实现自动进行接口数据校验的目的,解决了现有的应用程序的校验方法,校验过程需要开发人员手动对接口进行配置,从而导致校验效率较低,降低了应用程序的发布速度的问题。
在本发明实施例中,流程的执行主体为终端设备。该终端设备包括但不限于:服务器、计算机、智能手机以及平板电脑等具有应用程序的校验功能的设备。图1示出了本发明第一实施例提供的应用程序的校验方法的实现流程图,详述如下:
在S101中,获取应用程序的接口信息以及代码文件;所述接口信息包括所述应用程序中各个本地接口的接口描述信息。
在本实施例中,用户可以指定安装于终端设备上的任一应用程序作为需要进行校验的应用程序,也可以指定安装于另一其他设备上的应用程序作为需要进行校验的应用程序。对于上述第一种情况,终端设备可以直接从本地存储单元获取应用程序的接口信息以及该应用程序对应的代码文件;对于上述第二中情况,则终端设备可以通过串行接口读取其他设备的存储单元,并基于应用程序的标识,从其他设备的存储单元中获取该应用程序的接口信息以及代码文件。
在本实施例中,应用程序在设备上运行的过程中,需要获取设备上的数据以及与其他终端进行交互,而上述操作则需要通过应用程序中的各个接口完成,该接口可以为虚拟接口,例如可以通过接口将同一数据流在不同进行之间进行数据传输,该接口还可以为物理接口,例如串口、无线通信接口等,应用程序通过物理接口采集或发送对应的信号。终端设备会统计应用程序所使用的所有本地接口,并基于各个本地接口的接口标识,获取本地接口的接口描述信息,从而得到接口信息。
在本实施例中,终端设备需要运行应用程序时,是通过处理器读取应用程序的代码文件,从而创建该应用程序的进程,继而通过该进程来执行应用程序的相关操作。因此,通过获取应用程序的代码文件,则可以确定该应用程序所包含的所有功能,并识别到该应用程序在运行的过程中可访问的调用服务器的情况,从而进行接口连通性的校验操作。
可选地,在本实施例中,接口描述信息可以为用于描述本地接口性能一序列。该序列中包含多个参数,每个参数为一编号值,终端设备可以通过接口性能对应关系表,确定每个参数所表示的本地接口的性能指标。例如,某一本地接口的接口描述信息为[10,2,2,50],其中,第一个参数值用于表示该本地接口的上行速率,即该本地接口的上行速率为10M/s,而第二个参数值用于表示该本地接口的下行速率,即为2M/s,第三个参数用于表示该本地接口的工作模式,若该参数值为0则表示单向接收接口;若该参数值为1则表示单向发送接口;若该参数值为1.5则表示该本地接口为半双工接口;若该参数值为2则表示该接口为全双工接口;而第四个参数值用于表示该接口同步帧的频率为50Hz的脉冲信号。由此可见,通过序列表示各个应用程序的接口性能,能够大大减少接口描述信息的数据存储量,提高了存储空间的利用率,也能进一步在后续进行本地接口与调用接口之间的匹配识别中,提升匹配速率。
在S102中,解析所述代码文件,确定所述应用程序包含的调用链接。
在本实施例中,终端设备在获取了所需进行校验的应用程序的代码文件后,会对该代码文件进行解析,检测该代码文件中是否包含调用链接。若存在,则从代码文件中提取该调用链接,并执行S103的相关操作,需要说明的是,该调用链接的个数可以为两个或以上,即应用程序可以通过访问多个调用服务器,提供多项调用功能,例如应用程序可以通过调用H5服务器,在应用程序的界面中生成H5页面,在用户点击应用程序中的视频链接时,还可以与该视频链接对应的服务器进行通信,在应用程序的界面中调用视频播放器,以满足视频播放功能;除了调用链接的个数可以为多个,本实施例识别的调用链接还可以为嵌套调用链接,即调用链接所访问的服务器在提供该应用程序所需的外设功能时,还可以调用其他服务器的组件,例如应用程序调用H5服务器在应用程序的界面中生成H5页面,而H5页面内可以播放视频网站的视频文件,因此需要通过H5服务器与视频网站的服务器链接,将该视频网站的播放器组件嵌入在H5页面中,即需要执行两次组件调用,即该一个调用链接所调用的对象可以为多个。
可选地,在本实施例中,终端设备识别调用链接的方式可以为:运行代码文件中的各个代码段,并检测通信接口是否被激活,若通信接口被激活,则确定该代码段所对应的通信对象,若该通信对象为一服务器,则识别该代码段为调用链接。
可选地,若应用程序的代码文件中不包含调用链接,则输出一个校验对象不存在信息,以告知应用程序的开发人员该应用程序中不存在服务器的调用情况,要求开发人员确认是否并未将调用链接添加到代码文件内,或者开发人员所指定进行校验的应用程序出错,以便开发人员重新选择所需进行校验的应用程序。
在S103中,基于所述调用链接,与调用服务器建立通信连接,并获取所述应用程序访问所述调用服务器时所使用的调用接口的调用接口信息。
在本实施例中,终端设备在获取了调用链接后,会根据该调用链接所指向的网络地址,与该网络地址对应的设备建立通信连接,从而生成一条终端设备与调用服务器之间的通信链路。通过该通信链路,终端设备可以与调用服务器进行数据交互,从而确定应用程序在提供外设功能时所需与调用服务器进行对接的调用接口,继而根据调用接口的接口标识,从调用服务器处确定各个调用接口的调用接口信息。
在本实施例中,调用接口信息与S101中的接口描述信息类似,主要是用于描述调用接口的接口功能和/或运行参数。特别地,该调用接口信息可以为一通用接口标识符。不同的设备均使用同一套接口编码算法,即对于相同功能以及性能的接口,会通过相同的标识符进行表示,例如通过关键值,即Key值进行标识。在识别两个接口是否为关联对接接口时,可以通过识两个接口之间的Key值是否相同,若相同则表示上述两个接口为关联接口。基于此,该调用接口信息也可以为一Key值,从而能够在后续匹配识别的过程中提高识别效率。可选地,该调用接口信息还可以为S101中用于表示该接口性能的序列,具体描述可参见S101的阐述,在此不再赘述。
在S104中,根据所述接口描述信息以及所述调用接口信息,分别确定各个所述本地接口关联的所述调用接口。
在本实施例中,终端设备在获取了应用程序的关于本地接口的接口描述信息以及关于调用接口的调用接口信息后,可以基于上述两个信息建立本地接口与调用接口之间的关联关系,从而判断本地接口中是否在访问的调用服务器侧存在与之对应的调用接口。需要说明的是,由于应用程序中除了外设功能需要使用本地接口与调用接口进行对接外,其他本地接口在调用服务器侧并不存在与之对应的调用接口,因此在确定各个本地接口的关联的调用接口时,会出现本地接口关联的调用接口为空的情况,即不存在与之对应的调用接口。
可选地,在本实施例中,终端设备会将接口描述信息以及调用接口信息转换为统一的接口编码信息,在转换完成后再进行匹配操作,从而各个本地接口关联的调用接口。如上所述,本地接口的接口描述信息可以为一用于描述接口性能的序列,而调用接口可以通过Key值来定义各个接口的属性,由此可见,用于描述接口性能的序列以及Key值之间无法直接进行匹配,因此终端设备可以根据调用接口的Key值,转换为与之对应的用于描述接口性能的序列,也可以将本地接口的用于描述接口性能的序列转换为Key值,还可以将上述两个参数统一转换为第三种接口描述信息后,在进行匹配操作,从而通过上述的接口信息转换后,提高识别操作的准确性。
可选地,在本实施例中,终端设备可以设置一匹配阈值。若某一本地接口与各个调用接口之间的匹配度均小于该匹配阈值,则识别该本地接口不存在与之关联的调用接口。反之,若某一本地接口与多个调用接口之间的匹配度均大于匹配阈值,则识别匹配度最高的一个调用接口为该本地接口关联的调用接口。
在S105中,接收所述调用服务器通过所述调用接口发送的调用数据,并根据所述调用数据对该调用接口关联的本地接口进行校验。
在本实施例中,终端设备在确定了应用程序中各个本地接口所关联的调用接口时,可以校验各个本地接口的连通性,从而确定上述关联识别得到的各个调用接口是否正确。终端设备接收调用服务器通过调用接口发送的调用数据,并将该调用数据导入到该调用接口所关联的本地接口中,由于每个本地接口均有固定的数据格式,若传输的调用数据的数据格式与该本地接口的可导入的数据格式不匹配,则无法完成导入操作。因此,根据调用数据是否能够导入本地接口,即可识别该完成校验操作,校验该调用接口是否为该本地接口关联的接口。
可选地,在本实施例中,若调用数据无法调用本地接口,则识别校验失败,生成一接口关联配置信息,以告知用户手动调整该调用接口所关联的本地接口。除了进行手动配置外,终端设备还可以将该调用接口与各个本地接口之间的匹配度进行排序,选取匹配度第二大的本地接口作为该调用接口的关联接口,并重复执行S105的相关操作,直到校验成功。
以上可以看出,本发明实施例提供的一种应用程序的校验方法通过获取应用程序的代码文件,并对该代码文件进行解析,确定应用程序中包含的调用链接,从而获知运行该应用程序时,可连接的调用服务器,由于每个调用服务器在与应用程序通信的过程中需要通过各个调用接口传输相应的参数,因此会通过与调用服务器建立通信连接,并获取所需调用的各个调用接口的调用接口信息,基于调用接口信息以及该应用程序包含的本地接口的接口描述信息,确定各个本地接口所关联的调用接口,并接收调用服务器通过调用接口发送的调用数据,将该调用数据与其关联的本地接口的合法数据格式进行合法性校验,识别该调用数据是否与本地接口匹配,实现自动进行接口数据校验的目的。与现有的应用程序的校验方式相比,无需开发人员对各个调用链接进行接口关联,校验设备可以基于接口描述信息以及调用接口信息自动匹配各自关联的接口,并获取调用数据进行接口校验,提高了应用程序的校验效率,进一步提高了应用程序的开发速度;另一方面,通过自动匹配关联接口以及本地接口,提高了包含调用链接的应用程序的结构安全性。
图2示出了本发明第二实施例提供的一种应用程序的校验方法S104的具体实现流程图。参见图2所示,相对于图1述实施例,本实施例提供的一种应用程序的校验方法中S104包括:S1041~S1043,具体详述如下:
在S1041中,将所述接口描述信息以及所述调用接口信息分别执行关键词提取操作,得到本地接口关键词序列以及调用接口关键词序列。
在本实施例中,接口描述信息以及调用接口信息均为通过自然语言对该接口的功能和/或运行参数进行描述,为了计算接口描述信息以及调用接口信息之间的匹配度,终端设备会通过预设的关键词提取算法,分别确定接口描述信息对应的本地接口关键词序列,以及调用接口信息对应的调用接口关键词序列,从而能够将接口描述信息以及调用接口信息中的无效词语进行过滤,例如介词以及助词等无实际物理含义的词语,提高了识别效率。
在本实施例中,本地接口关键词序列中至少包含一个关键词,且各个关键词在本地接口关键词序列中的次序与该关键词在接口描述信息中的出现次序相同,若某一关键词在接口描述信息中出现多次,则只记录一次。同样地,调用接口关键词序列也满足上述特征,在此不再赘述。
在S1042中,将所述本地接口关键词序列以及所述调用接口关键词序列导入预设的匹配度计算模型,分别计算所述本地接口与各个所述调用接口之间的匹配度;所述匹配度计算模型具体为:
其中,MatchPoint(Innterface1,Interface2)为所述本地接口与所述调用接口之间的匹配度,[KeyWord1j]为所述本地接口关键词序列,[KeyWord2i]为所述调用接口关键词序列;ρ(KeyWord1j,KeyWord2i)为所述本地接口关键词序列中第j个关键词与所述调用接口关键词序列中第i个关键词之间的关联度;m为所述本地接口关键词序列包含的关键词的第一个数;n为所述调用接口关键词序列中包含的关键词的第二个数;为最大值选取函数;Quo为预设系数。
在本实施例中,终端设备会将本地接口关键词序列以及调用接口关键词序列导入到匹配度计算模型内,确定接口描述信息的本地接口与各个调用接口之间的匹配度,若该匹配度的数值越大,则表示该本地接口与该调用接口之间的传输的数据的类型以及功能越相似,则表示两者的关联性越高;反之,若该匹配度数值越小,则表示该本地接口与该调用接口之间的差异越大,即两者的关联性越低。
在本实施例中,由于上述两类关键词序列中各个关键词的次序是根据在接口描述信息以及调用接口信息中的出现次序确定的,因此相同位置的关键词所表征的物理含义并不一定相同,因此这里会确定本地接口关键词序列中的各个关键词与调用接口关键词序列中的各个关键词之间的关联度,并通过函数选取关联度最大的一个作为本地接口关键词所对应的调用接口关键词,并基于各个关联关键词确定两个接口之间的匹配度,通过上述的计算方式,能够大大提高接口匹配的准确率。
在S1043中,选取所述匹配度最大的所述调用接口作为所述本地接口关联的调用接口。
在本实施例中,终端设备在计算了本地接口与各个调用接口之间的匹配度后,会选取匹配度最大的调用接口作为本地接口关联的调用接口。当然,终端设备还可以设置以匹配度阈值,若该本地接口与各个调用接口之间的匹配度均小于匹配度阈值,则识别该本地接口不存在对应的调用接口。
在本发明实施例中,通过将接口信息转换为关键词序列,并通过计算各个关键词之间的关联度确定两个接口之间的匹配度,从而能够提高关联接口的识别的准确率,进一步提高校验成功率。
图3示出了本发明第三实施例提供的一种应用程序的校验方法S1042的具体实现流程图。参见图3所示,相对于图1所述实施例,本实施例提供的一种应用程序的校验方法中S1042包括:S301~S303,具体详述如下:
在S301中,基于预设的词语属性维度,构建词语属性坐标,并在所述词语属性坐标内标记所述本地接口关键词序列的各个关键词的第一坐标以及所述调用接口关键词序列的各个关键词的第二坐标。
在本实施例中,终端设备为了计算不同关键词之间的关联度,即两个关键词是否相似,会通过在多个预设的词语属性维度,构建一个词语属性坐标,若该坐标中某两个关键词之间的距离越大,则表示两者之间的关联度越小,若该关键词中某两个关键词之间的距离越小,则表示两者之间的关联度越大。因此,终端设备会确定关键词组中各个本地接口关键词以及调用接口关键词在各个预设的词语属性维度的数值,从而得到各个第一坐标以及第二坐标。
在本实施例中,预设的词语属性维度包括但不限于:词语情感维度,即某一词语是正面且积极的程度,例如“接收”则可以位于该词语情感维度的正半轴,而“丢失”则可以位于该词语情感维度的负半轴;词语幅度维度,即某一词语所表示的情感、位置、力量等的强弱轻度,例如“高速”则可以位于该词语幅度维度的正半轴;而“堵塞”则可以位于该词语幅度维度的负半轴。因此,各个本地接口关键词以及调用接口关键词可以在不同词语属性维度具有对应的数值,从而所有词语属性维度的数值构成了该业务关键词或特征关键词的坐标,即上述的第一坐标以及第二坐标。
在S302中,分别计算各个所述第一坐标与所述第二坐标的欧氏距离;所述欧氏距离的计算方法具体为:
其中,Dist(KeyWord1j,KeyWord2i)为所述本地接口关键词序列中第j个关键词与所述调用接口关键词序列中第i个关键词之间的所述欧氏距离;KeyWord1jk为所述本地接口关键词序列中第j个关键词在第k维度的坐标值;KeyWord2ik为所述调用接口关键词序列中第i个关键词在第k维度的坐标值;Dimesion为词语属性维度的总个数。
在本实施例中,终端设备在确定了各个本地接口关键词的第一坐标以及调用接口关键词的第二坐标后,可以计算各个本地接口关键词与调用关键词在预设的坐标的欧氏距离。通过欧氏距离公式,计算两个坐标之间的距离值,能够准确表达两者之间的关联程度,从而提高了关联接口识别的准确性。
在S303中,将所述欧氏距离识别为所述关联度。
在本实施例中,终端设备会将两个关键词之间的欧氏距离作为两个关键词之间的关联度,该欧氏距离越小,则表示两者之间的关联度越大;反之,若两者之间的欧氏距离越大,则表示两者之间的关联度越小。
在本发明实施例中,通过将本地接口关键词以及调用接口关键词投影到预设的坐标中,从而将词语之间的关联性进行量化,方便终端设备计算不同关键词之间的关联度,从而提高了关联接口识别的准确率。
图4示出了本发明第四实施例提供的一种应用程序的校验方法的具体实现流程图。参见图4所示,相对于图1-图3所述实施例,本实施例提供的一种应用程序的校验方法中在所述根据所述调用数据对该调用接口关联的本地接口进行校验之后,还包括:S401~S402,具体详述如下:
进一步地,在所述根据所述调用数据对该调用接口关联的本地接口进行校验之后,还包括:
在S401中,若所述调用数据与所述合法数据格式不匹配,则将所述本地接口的接口描述信息发送给所述调用服务器,以根据所述接口描述信息于所述调用服务器创建一新建调用接口。
在本实施例中,若终端设备识别某一调用接口为本地接口的关联接口,但该调用接口的调用数据无法正确导入到该本地接口内,则表示该调用接口的数据格式可能与本地接口的数据格式存在差异,为了能够正常调用该调用服务器的相关组件或功能,终端设备会获取该本地接口的接口描述信息,并将该接口描述信息发送给调用服务器,调用服务器在接收到该接口描述信息后,会根据创建一个与该接口描述相匹配的新建调用接口,从而通过该新建调用接口向本地接口发送调用数据时,可以正常导入到该本地接口内。
可选地,调用服务器在接收到本地接口的接口描述信息后,可以确定该接口描述信息中的接口参数,并根据提取得到的接口参数修改原有的调用接口的接口参数,从而得到调整后的调用接口,将该调整后的调用接口作为本地接口的关联调用接口,减少调用服务器中的接口个数。
在S402中,将所述新建调用接口识别为所述本地接口关联的调用接口。
在本实施例中,调用服务器在新建调用接口创建完毕后,会将新建调用接口的接口标识返回给终端设备,终端设备基于该返回的新建调用接口的接口标识,建立新建调用接口与本地接口之间的关联关系。
在本发明实施例中,在校验失败的情况下,终端设备主动向调用服务器发送接口描述信息,以自动调整应用程序与访问的调用服务器之间的数据格式的匹配问题,从而提高了校验效率以及应用程序的匹配。
图5示出了本发明第五实施例提供的一种应用程序的校验方法S102的具体实现流程图。参见图5所示,相对于图1-图3所述实施例,本实施例提供的一种应用程序的校验方法中S102包括:S1021~S1022,具体详述如下:
在S1021中,获取用于识别所述调用连接的正则表达式。
在本实施例中,调用链接在代码文件中具有一定的字符格式,例如以“www”或“http”等字符开头,或是以“xxx.xxx.xxx.xxx”格式IP地址,终端设备会根据调用链接的字符规则生成与之对应的正则表达式。可选地,该正则表达式可以从终端设备的上位机服务器处进行下载获取,还可以终端设备根据通过识别历史的调用链接进行学习生成得到。
在S1022中,将所述代码文件导入所述正则表达式,提取所述代码文件包含的所述调用链接。
在本实施例中,终端设备将代码文件导入到该正则表达式内,从而可以从代码文件中选取符合正则表达式的编码规则的内容,即该代码文件的调用链接。
在本发明实施例中,通过正则表达式识别代码文件中的调用链接,提高了调用链接识别的准确率以及识别效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图6示出了本发明一实施例提供的一种终端设备的结构框图,该终端设备包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
参见图6,所述终端设备包括:
应用程序获取单元61,用于获取应用程序的接口信息以及代码文件;所述接口信息包括所述应用程序中各个本地接口的接口描述信息;
调用链接确定单元62,用于解析所述代码文件,确定所述应用程序包含的调用链接;
调用接口获取单元63,用于基于所述调用链接,与调用服务器建立通信连接,并获取所述应用程序访问所述调用服务器时所使用的调用接口的调用接口信息;
关联接口识别单元64,用于根据所述接口描述信息以及所述调用接口信息,分别确定各个所述本地接口关联的所述调用接口;
关联接口校验单元65,用于接收所述调用服务器通过所述调用接口发送的调用数据,并根据所述调用数据对该调用接口关联的本地接口进行校验。
可选地,所述关联接口识别单元64包括:
关键词序列获取单元,用于将所述接口描述信息以及所述调用接口信息分别执行关键词提取操作,得到本地接口关键词序列以及调用接口关键词序列;
关键词序列匹配单元,用于将所述本地接口关键词序列以及所述调用接口关键词序列导入预设的匹配度计算模型,分别计算所述本地接口与各个所述调用接口之间的匹配度;所述匹配度计算模型具体为:
其中,MatchPoint(Innterface1,Interface2)为所述本地接口与第二接与所述调用接口之间的匹配度,[KeyWord1j]为所述本地接口关键词序列,[KeyWord2i]为所述调用接口关键词序列;ρ(KeyWord1j,KeyWord2i)为所述本地接口关键词序列中第j个关键词与所述调用接口关键词序列中第i个关键词之间的关联度;m为所述本地接口关键词序列包含的关键词的第一个数;n为所述调用接口关键词序列中包含的关键词的第二个数;为最大值选取函数;Quo为预设系数;
关联接口确定单元,用于选取所述匹配度最大的所述调用接口作为所述本地接口关联的调用接口。
可选地,所述关键词序列匹配单元包括:
词语属性坐标构建单元,用于基于预设的词语属性维度,构建词语属性坐标,并在所述词语属性坐标内标记所述本地接口关键词序列的各个关键词的第一坐标以及所述调用接口关键词序列的各个关键词的第二坐标;
欧氏距离计算单元,用于分别计算各个所述第一坐标与所述第二坐标的欧氏距离;所述欧氏距离的计算方法具体为:
其中,Dist(KeyWord1j,KeyWord2i)为所述本地接口关键词序列中第j个关键词与所述调用接口关键词序列中第i个关键词之间的所述欧氏距离;KeyWord1jk为所述本地接口关键词序列中第j个关键词在第k维度的坐标值;KeyWord2ik为所述调用接口关键词序列中第i个关键词在第k维度的坐标值;Dimesion为词语属性维度的总个数;
关联度计算单元,用于将所述欧氏距离识别为所述关联度。
可选地,所述终端设备还包括:
新建调用接口创建单元,用于若所述调用数据与所述合法数据格式不匹配,则将所述本地接口的接口描述信息发送给所述调用服务器,以根据所述接口描述信息于所述调用服务器创建一新建调用接口;
新建调用接口关联单元,用于将所述新建调用接口识别为所述本地接口关联的调用接口。
可选地,所述调用链接确定单元62包括:
正则表达式获取单元,用于获取用于识别所述调用连接的正则表达式;
正则表达式导入单元,用于将所述代码文件导入所述正则表达式,提取所述代码文件包含的所述调用链接。
因此,本发明实施例提供的终端设备同样可以无需开发人员对各个调用链接进行接口关联,校验设备可以基于接口描述信息以及调用接口信息自动匹配各自关联的接口,并获取调用数据进行接口校验,提高了应用程序的校验效率,进一步提高了应用程序的开发速度。
图7是本发明另一实施例提供的一种终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如应用程序的校验程序。所述处理器70执行所述计算机程序72时实现上述各个应用程序的校验方法实施例中的步骤,例如图1所示的S101至S105。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各单元的功能,例如图6所示模块61至65功能。
示例性的,所述计算机程序72可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。例如,所述计算机程序72可以被分割成应用程序获取单元、调用链接确定单元、调用接口获取单元、关联接口识别单元以及关联接口校验单元,各单元具体功能如上所述。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种应用程序的校验方法,其特征在于,包括:
获取应用程序的接口信息以及代码文件;所述接口信息包括所述应用程序中各个本地接口的接口描述信息;
解析所述代码文件,确定所述应用程序包含的调用链接;
基于所述调用链接,与调用服务器建立通信连接,并获取所述应用程序访问所述调用服务器时所使用的调用接口的调用接口信息;
根据所述接口描述信息以及所述调用接口信息,分别确定各个所述本地接口关联的所述调用接口;
接收所述调用服务器通过所述调用接口发送的调用数据,并根据所述调用数据对该调用接口关联的本地接口进行校验。
2.根据权利要求1所述的校验方法,其特征在于,所述根据所述接口描述信息以及所述调用接口信息,分别确定各个所述本地接口关联的部署于所述调用服务器的调用接口,包括:
将所述接口描述信息以及所述调用接口信息分别执行关键词提取操作,得到本地接口关键词序列以及调用接口关键词序列;
将所述本地接口关键词序列以及所述调用接口关键词序列导入预设的匹配度计算模型,分别计算所述本地接口与各个所述调用接口之间的匹配度;所述匹配度计算模型具体为:
其中,MatchPoint(Innterface1,Interface2)为所述本地接口与所述调用接口之间的匹配度,[KeyWord1j]为所述本地接口关键词序列,[KeyWord2i]为所述调用接口关键词序列;ρ(KeyWord1j,KeyWord2i)为所述本地接口关键词序列中第j个关键词与所述调用接口关键词序列中第i个关键词之间的关联度;m为所述本地接口关键词序列包含的关键词的第一个数;n为所述调用接口关键词序列中包含的关键词的第二个数;为最大值选取函数;Quo为预设系数;
选取所述匹配度最大的所述调用接口作为所述本地接口关联的调用接口。
3.根据权利要求2所述的校验方法,其特征在于,所述分别计算所述本地接口与各个所述调用接口之间的匹配度,包括:
基于预设的词语属性维度,构建词语属性坐标,并在所述词语属性坐标内标记所述本地接口关键词序列的各个关键词的第一坐标以及所述调用接口关键词序列的各个关键词的第二坐标;
分别计算各个所述第一坐标与所述第二坐标的欧氏距离;所述欧氏距离的计算方法具体为:
其中,Dist(KeyWord1j,KeyWord2i)为所述本地接口关键词序列中第j个关键词与所述调用接口关键词序列中第i个关键词之间的所述欧氏距离;KeyWord1jk为所述本地接口关键词序列中第j个关键词在第k维度的坐标值;KeyWord2ik为所述调用接口关键词序列中第i个关键词在第k维度的坐标值;Dimesion为词语属性维度的总个数;
将所述欧氏距离识别为所述关联度。
4.根据权利要求1-3任一项所述的校验方法,其特征在于,在所述根据所述调用数据对该调用接口关联的本地接口进行校验之后,包括:
若所述调用数据与所述合法数据格式不匹配,则将所述本地接口的接口描述信息发送给所述调用服务器,以根据所述接口描述信息于所述调用服务器创建一新建调用接口;
将所述新建调用接口识别为所述本地接口关联的调用接口。
5.根据权利要求1-3任一项所述的校验方法,其特征在于,所述解析所述代码文件,确定所述应用程序包含的调用链接,包括
获取用于识别所述调用连接的正则表达式;
将所述代码文件导入所述正则表达式,提取所述代码文件包含的所述调用链接。
6.一种终端设备,其特征在于,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
获取应用程序的接口信息以及代码文件;所述接口信息包括所述应用程序中各个本地接口的接口描述信息;
解析所述代码文件,确定所述应用程序包含的调用链接;
基于所述调用链接,与调用服务器建立通信连接,并获取所述应用程序访问所述调用服务器时所使用的调用接口的调用接口信息;
根据所述接口描述信息以及所述调用接口信息,分别确定各个所述本地接口关联的所述调用接口;
接收所述调用服务器通过所述调用接口发送的调用数据,并根据所述调用数据对该调用接口关联的本地接口进行校验。
7.根据权利要求6所述的校验设备,其特征在于,所述根据所述接口描述信息以及所述调用接口信息,分别确定各个所述本地接口关联的部署于所述调用服务器的调用接口,包括:
将所述接口描述信息以及所述调用接口信息分别执行关键词提取操作,得到本地接口关键词序列以及调用接口关键词序列;
将所述本地接口关键词序列以及所述调用接口关键词序列导入预设的匹配度计算模型,分别计算所述本地接口与各个所述调用接口之间的匹配度;所述匹配度计算模型具体为:
其中,MatchPoint(Innterface1,Interface2)为所述本地接口与所述调用接口之间的匹配度,[KeyWord1j]为所述本地接口关键词序列,[KeyWord2i]为所述调用接口关键词序列;ρ(KeyWord1j,KeyWord2i)为所述本地接口关键词序列中第j个关键词与所述调用接口关键词序列中第i个关键词之间的关联度;m为所述本地接口关键词序列包含的关键词的第一个数;n为所述调用接口关键词序列中包含的关键词的第二个数;为最大值选取函数;Quo为预设系数;
选取所述匹配度最大的所述调用接口作为所述本地接口关联的调用接口。
8.根据权利要求7所述的校验设备,其特征在于,所述分别计算所述本地接口与各个所述调用接口之间的匹配度,包括:
基于预设的词语属性维度,构建词语属性坐标,并在所述词语属性坐标内标记所述本地接口关键词序列的各个关键词的第一坐标以及所述调用接口关键词序列的各个关键词的第二坐标;
分别计算各个所述第一坐标与所述第二坐标的欧氏距离;所述欧氏距离的计算方法具体为:
其中,Dist(KeyWord1j,KeyWord2i)为所述本地接口关键词序列中第j个关键词与所述调用接口关键词序列中第i个关键词之间的所述欧氏距离;KeyWord1jk为所述本地接口关键词序列中第j个关键词在第k维度的坐标值;KeyWord2ik为所述调用接口关键词序列中第i个关键词在第k维度的坐标值;Dimesion为词语属性维度的总个数;
将所述欧氏距离识别为所述关联度。
9.根据权利要求6-8任一项所述的校验设备,其特征在于,在所述根据所述调用数据对该调用接口关联的本地接口进行校验之后,所述处理器执行所述计算机程序时还实现如下步骤:
若所述调用数据与所述合法数据格式不匹配,则将所述本地接口的接口描述信息发送给所述调用服务器,以根据所述接口描述信息于所述调用服务器创建一新建调用接口;
将所述新建调用接口识别为所述本地接口关联的调用接口。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
CN201811016895.2A 2018-09-03 2018-09-03 一种应用程序的校验方法及设备 Active CN109446052B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811016895.2A CN109446052B (zh) 2018-09-03 2018-09-03 一种应用程序的校验方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811016895.2A CN109446052B (zh) 2018-09-03 2018-09-03 一种应用程序的校验方法及设备

Publications (2)

Publication Number Publication Date
CN109446052A true CN109446052A (zh) 2019-03-08
CN109446052B CN109446052B (zh) 2023-12-19

Family

ID=65530891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811016895.2A Active CN109446052B (zh) 2018-09-03 2018-09-03 一种应用程序的校验方法及设备

Country Status (1)

Country Link
CN (1) CN109446052B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110377438A (zh) * 2019-07-22 2019-10-25 广州小鹏汽车科技有限公司 跨进程通信接口的路由方法、装置和系统
CN116909627A (zh) * 2023-09-13 2023-10-20 杭州笨马网络技术有限公司 一种可执行程序解析方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761510A (en) * 1995-11-07 1998-06-02 Microsoft Corporation Method for error identification in a program interface
CN104683219A (zh) * 2015-02-13 2015-06-03 腾讯科技(深圳)有限公司 信息交互方法及装置
CN107729243A (zh) * 2017-10-12 2018-02-23 上海携程金融信息服务有限公司 应用编程接口自动化测试方法、系统、设备及存储介质
CN108365961A (zh) * 2018-01-02 2018-08-03 深圳壹账通智能科技有限公司 接口调用方法及终端设备、接口调用的响应方法及服务器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761510A (en) * 1995-11-07 1998-06-02 Microsoft Corporation Method for error identification in a program interface
CN104683219A (zh) * 2015-02-13 2015-06-03 腾讯科技(深圳)有限公司 信息交互方法及装置
CN107729243A (zh) * 2017-10-12 2018-02-23 上海携程金融信息服务有限公司 应用编程接口自动化测试方法、系统、设备及存储介质
CN108365961A (zh) * 2018-01-02 2018-08-03 深圳壹账通智能科技有限公司 接口调用方法及终端设备、接口调用的响应方法及服务器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110377438A (zh) * 2019-07-22 2019-10-25 广州小鹏汽车科技有限公司 跨进程通信接口的路由方法、装置和系统
CN116909627A (zh) * 2023-09-13 2023-10-20 杭州笨马网络技术有限公司 一种可执行程序解析方法、装置、电子设备和存储介质
CN116909627B (zh) * 2023-09-13 2023-12-12 杭州笨马网络技术有限公司 一种可执行程序解析方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN109446052B (zh) 2023-12-19

Similar Documents

Publication Publication Date Title
CN108365961B (zh) 接口调用方法及终端设备、接口调用的响应方法及服务器
WO2017084586A1 (zh) 基于深度学习方法推断恶意代码规则的方法、系统及设备
CN109657238A (zh) 基于知识图谱的上下文识别补全方法、系统、终端及介质
CN109614336A (zh) 一种测试脚本的生成方法及设备
CN109345282A (zh) 一种业务咨询的响应方法及设备
CN106572173A (zh) 一种配置信息更新方法、装置和系统
CN107861713A (zh) 数据调用方法、装置及计算机可读存储介质
CN108664628A (zh) 一种数据的导出方法及设备
CN110147981A (zh) 基于文本分析的合同风险审核方法、装置及终端设备
CN109741086A (zh) 一种计算模型的生成方法及设备
CN111931517A (zh) 文本翻译方法、装置、电子设备以及存储介质
CN109743311A (zh) 一种WebShell检测方法、装置及存储介质
CN110310619A (zh) 多音字预测方法、装置、设备及计算机可读存储介质
CN108737243A (zh) 会话消息质检方法及装置
CN108960574A (zh) 问答的质量确定方法、装置、服务器和存储介质
CN109446052A (zh) 一种应用程序的校验方法及设备
CN109635550A (zh) 集群数据的权限校验方法、网关及系统
CN108255602A (zh) 任务组合方法及终端设备
CN105302564A (zh) 网络办公软件服务控件及实现方法
CN106503111A (zh) 网页转码方法、装置及客户终端
CN113032862A (zh) 一种建筑信息模型检查方法、检查装置及终端设备
CN107040613A (zh) 一种报文传输方法及系统
CN109885511A (zh) 一种uvc设备配对的方法及uvc设备
CN109376064A (zh) 一种接口测试报告的生成方法及设备
WO2022252638A1 (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20231123

Address after: Room 316, 3rd Floor, West Annex Building, Taixing Building, No. 11 Huayuan East Road, Haidian District, Beijing, 100083 (Dongsheng District)

Applicant after: China Enterprise Ruiming Technology (Beijing) Co.,Ltd.

Address before: 518000 Room 202, block B, aerospace micromotor building, No.7, Langshan No.2 Road, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: Shenzhen LIAN intellectual property service center

Effective date of registration: 20231123

Address after: 518000 Room 202, block B, aerospace micromotor building, No.7, Langshan No.2 Road, Xili street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen LIAN intellectual property service center

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd.

GR01 Patent grant
GR01 Patent grant