CN111160403A - 一种api接口复用发现的方法及装置 - Google Patents

一种api接口复用发现的方法及装置 Download PDF

Info

Publication number
CN111160403A
CN111160403A CN201911253479.9A CN201911253479A CN111160403A CN 111160403 A CN111160403 A CN 111160403A CN 201911253479 A CN201911253479 A CN 201911253479A CN 111160403 A CN111160403 A CN 111160403A
Authority
CN
China
Prior art keywords
api
interface
database table
interfaces
determining
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
CN201911253479.9A
Other languages
English (en)
Other versions
CN111160403B (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.)
Qingdao Juhaolian Technology Co ltd
Original Assignee
Qingdao Juhaolian Technology 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 Qingdao Juhaolian Technology Co ltd filed Critical Qingdao Juhaolian Technology Co ltd
Priority to CN201911253479.9A priority Critical patent/CN111160403B/zh
Publication of CN111160403A publication Critical patent/CN111160403A/zh
Application granted granted Critical
Publication of CN111160403B publication Critical patent/CN111160403B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种API接口复用发现的方法及装置,该方法包括扫描指定的工程代码,获取工程代码中各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件,根据各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件,生成各API接口的接口矩阵,根据各API接口的接口矩阵,确定出各API接口之间的相似度值,根据各API接口之间的相似度值,确定出各API接口之间的依赖关系。基于数据库表、对数据库表采取的操作以及采取的操作使用的执行条件得到的接口矩阵来计算各API接口之间的相似度,从而得到各API接口之间的依赖关系,进而可以通过依赖关系来检查接口是否可以复用。

Description

一种API接口复用发现的方法及装置
技术领域
本发明实施例涉及智慧社区技术领域,尤其涉及一种API接口复用发现的方法及装置。
背景技术
当前web和app的前后端交互主要是基于http协议的前后端分离开发,加之微服务的流行,业务层面实现了高内聚,springboot等框架的流行极大的便利了java web apihttp接口的开发,导致接口开发爆发式增长,各个业务团队、各个团队中的各个小组并行工作。
首先,上述这种多人协作开发项目中,存在很多可以复用的业务逻辑,由于开发任务的分配不一定完全按照业务场景分配到同一开发人员或者某些业务场景依赖部分其他接口封装好的服务,所以存在重复接口开发的问题。
其次,项目因为存在依赖相同业务场景但是分属于不同开发人员的业务开发,开发人员对业务场景的理解不一致可能导致该业务场景产生不同的业务行为。
发明内容
本发明实施例提供一种API接口复用发现的方法及装置,用以实现在开发前检查是否有接口可以复用,在开发完成后检查开发接口是否存在业务不一致的缺陷bug的功能。
第一方面,本发明实施例提供一种API接口复用发现的方法,包括:
扫描指定的工程代码,获取所述工程代码中各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件;
根据所述各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件,生成所述各API接口的接口矩阵;
根据所述各API接口的接口矩阵,确定出所述各API接口之间的相似度值;
根据所述各API接口之间的相似度值,确定出所述各API接口之间的依赖关系。
上述技术方案中,通过基于数据库表、对数据库表采取的操作以及采取的操作使用的执行条件得到的接口矩阵来计算各API接口之间的相似度,从而得到各API接口之间的依赖关系,进而可以通过依赖关系来检查接口是否可以复用,以及是否存在业务不一致的缺陷。
可选的,所述根据所述各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件,生成所述各API接口的接口矩阵,包括:
若所述各API接口的数据库表为单表,则依据所述数据库表、所述对数据库表采取的操作和采取的操作使用的执行条件,直接生成所述各API接口的接口矩阵;
若所述各API接口的数据库表为多表关联,则将关联的多个数据库表拆分为单表后,依据所述数据库表、所述对数据库表采取的操作和采取的操作使用的执行条件,生成所述各API接口的接口矩阵。
可选的,所述根据所述各API接口的接口矩阵,确定出所述各API接口之间的相似度值,包括:
根据所述各API接口的接口矩阵,确定出具有相同数据表和相同操作的接口矩阵行;
根据具有相同数据表和相同操作的接口矩阵行中的执行条件出现的次数,确定出数据表的相似度值;
将所有数据表的相似度值相加,确定为所述各API接口之间的相似度值。
可选的,所述根据所述各API接口之间的相似度值,确定出所述各API接口之间的依赖关系,包括:
将相似度值最大的两个API接口确定为所述两个API接口之间存在依赖关系;
根据所述两个API接口之间存在依赖关系以及同一接口被多个接口复用的情况,确定出所述各API接口之间的依赖关系,并生成依赖关系图。
第二方面,本发明实施例提供一种API接口复用发现的装置,包括:
扫描单元,用于扫描指定的工程代码,获取所述工程代码中各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件;
处理单元,用于根据所述各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件,生成所述各API接口的接口矩阵;根据所述各API接口的接口矩阵,确定出所述各API接口之间的相似度值;根据所述各API接口之间的相似度值,确定出所述各API接口之间的依赖关系。
可选的,所述处理单元具体用于:
若所述各API接口的数据库表为单表,则依据所述数据库表、所述对数据库表采取的操作和采取的操作使用的执行条件,直接生成所述各API接口的接口矩阵;
若所述各API接口的数据库表为多表关联,则将关联的多个数据库表拆分为单表后,依据所述数据库表、所述对数据库表采取的操作和采取的操作使用的执行条件,生成所述各API接口的接口矩阵。
可选的,所述处理单元具体用于:
根据所述各API接口的接口矩阵,确定出具有相同数据表和相同操作的接口矩阵行;
根据具有相同数据表和相同操作的接口矩阵行中的执行条件出现的次数,确定出数据表的相似度值;
将所有数据表的相似度值相加,确定为所述各API接口之间的相似度值。
可选的,所述处理单元具体用于:
将相似度值最大的两个API接口确定为所述两个API接口之间存在依赖关系;
根据所述两个API接口之间存在依赖关系以及同一接口被多个接口复用的情况,确定出所述各API接口之间的依赖关系,并生成依赖关系图。
第三方面,本发明实施例还提供一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述API接口复用发现的方法。
第四方面,本发明实施例还提供一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述API接口复用发现的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构的示意图;
图2为本发明实施例提供的一种API接口复用发现的方法的流程示意图;
图3为本发明实施例提供的一种依赖关系的示意图;
图4为本发明实施例提供的一种API接口复用发现的方法的流程示意图;
图5为本发明实施例提供的一种API接口复用发现的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示例性的示出了本发明实施例所适用的一种系统架构,该系统架构可以服务器100,该服务器100可以包括处理器110、通信接口120和存储器130。
其中,通信接口120用于与终端设备进行通信,收发终端设备传输的数据,实现通信。
处理器110是服务器100的控制中心,利用各种接口和路线连接整个服务器100的各个部分,通过运行或执行存储在存储器130内的软件程序/或模块,以及调用存储在存储器130内的数据,执行服务器100的各种功能和处理数据。可选地,处理器110可以包括一个或多个处理单元。
存储器130可用于存储软件程序以及模块,处理器110通过运行存储在存储器130的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器130可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据业务处理所创建的数据等。此外,存储器130可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图2详细的示出了本发明实施例提供的一种API接口复用发现的方法的流程,该流程可以由API接口复用发现的装置执行。
如图2所示,该流程具体包括:
步骤201,扫描指定的工程代码,获取所述工程代码中各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件。
可以指定需要扫描的web工程,扫描指定工程内所有与数据库操作相关的代码。举例来说,可以扫描以下内容:
SQL扫描。
指定工程内直接通过调用jdbc接口方式编写的sql语句。
ORM扫描。
指定工程内dao/mapper层代码;主要扫描类型有:
动态代理的jpa接口;
动态代理的mybatis mapper xml文件;
动态代理的mybatis plus mapper对象;
动态代理的mybatis plus service对象;
Hibernate session对象。
针对上述两种类型的扫描对象,扫描工具主要扫描每个api接口服务下所涉及的据库表table、对表所采取的操作action和执行条件condition。
步骤202,根据所述各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件,生成所述各API接口的接口矩阵。
当得到各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件之后,就可以进行接口建模,也就是生成接口矩阵。
具体的,若各API接口的数据库表为单表,则依据数据库表、对数据库表采取的操作和采取的操作使用的执行条件,直接生成各API接口的接口矩阵。
若各API接口的数据库表为多表关联,则将关联的多个数据库表拆分为单表后,依据数据库表、对数据库表采取的操作和采取的操作使用的执行条件,生成各API接口的接口矩阵。
单个api接口相似度值由三个计算因子决定,所有接口建模由数据库表table、对表table采取的action和采取action所使用的condition构成。
table:数据库表;
action:insert、delete、update、select数据操作命令;
condition:数据库表字段。
当数据表为单表时,可以直接提取table、aciton和condition生成接口矩阵。当数据表为多表关联时,可以先拆为单表查询再按照单表进行提取生成接口矩阵。
具体的,基于扫描结果建立各个API接口的接口矩阵时,以api接口api-m为例,api接口api-m涉及三张表table1、table2、table3,其中table1有两个数据操作action1、action2,执行条件分别为condition1、condition2、condition3和condition4、condition5,table2和table3类似,最终生成的接口矩阵如下:
Figure BDA0002309671620000071
步骤203,根据所述各API接口的接口矩阵,确定出所述各API接口之间的相似度值。
具体的,根据各API接口的接口矩阵,确定出具有相同数据表和相同操作的接口矩阵行;根据具有相同数据表和相同操作的接口矩阵行中的执行条件出现的次数,确定出数据表的相似度值;将所有数据表的相似度值相加,确定为各API接口之间的相似度值。
在进行相似度值确定时,由于每个api接口可能会涉及多张表,每张表可能会涉及多个action,所以api接口建模获得的接口矩阵可能存在同一张表的多行数据;这些数据行计为同一张表产生的相似度值。此外,同一个api接口可能存在相同table、相同action、不同condition的数据行,如select查询操作。计算某个api接口与其他哪个接口最相似,需要计算该接口与其他所有接口的相似度值,与相似度值最大的接口最相似。
举例来说,API的接口矩阵如下:
Figure BDA0002309671620000072
Figure BDA0002309671620000081
可以得到参与相似度值计算的数据行有:
Figure BDA0002309671620000082
也就是说,找到相同table和action的接口矩阵行,按照condition计算相似度;所有condition的权值均相同,直接condition数目相加获取该数据行的相似度值,所有数据行相似度值相加获得接口相似度值。
例如,参与接口api-m与接口api-n的接口矩阵为:
Figure BDA0002309671620000083
表tablei(1=<i<=h)相似度值:
Figure BDA0002309671620000084
其中,e为表tablei在接口矩阵中出现次数,k为计算权值,无特殊要求,为方便正则化引入,可直接取为1。
接口api-m与接口api-n的相似度值计算公式:
Figure BDA0002309671620000085
其中1=<m,n<=api_count,api_count为web工程api接口总数,i为不同表张数。
接口api-m相似度值:SVm=MAX(SVm_1,SVm_2,...,SVm_n,...,SVm_api_count)。
步骤204,根据所述各API接口之间的相似度值,确定出所述各API接口之间的依赖关系。
根据两个API接口之间存在依赖关系以及同一接口被多个接口复用的情况,确定出各API接口之间的依赖关系,并生成依赖关系图。
根据接口计算公式计算所有接口的相似接口可以以key-value map结构输出;如下示例所示:
{api1→apim ... apim→apin ... apit→apiapi_count}
需要说明的是,api_1最相似接口是api_m,但api_m最相似接口可能为api_n。
通过上述计算可以获得两两接口的最相似度值,但是存在通用性较高的接口被多个接口复用的情况,所以通过计算结果可视化展示接口之间的依赖关系,形成接口依赖链路,方便终于直观判断哪些接口通用性较高。依赖关系可视化结果可以如图3所示。
上述流程以文本和可视化方式给出接口之间可能存在的依赖关系,最终接口是否复用、复用哪些接口还是需要开发人员根据实际业务场景和开发需求自行判断。
为了更好的解释本发明实施例,下面将在具体的实时场景下描述API接口复用发现的流程,如图4所示,具体包括:
步骤401,指定扫描Web工程。
指定需要扫描的Web工程。
步骤402,代码扫描。
一般是扫描dao/mapper sql层代码。
步骤403,接口sql关系建模。
主要是根据建模规则进行建模,对多表关联的进行拆分。例如,当数据表为单表时,可以直接提取table、aciton和condition生成接口矩阵。,当数据表为多表关联时,可以先拆为单表查询再按照单表进行提取生成接口矩阵。
步骤404,接口相似度计算。
接口相似度计算时,要考虑计算因子、计算规则、计算公式。具体实施方式已在上述实施例描述,不再赘述。
步骤405,接口相似度结果输出。
接口相似度结果可以包括文本结果、可视化结果,其中可视化结果可以如图3所示。
上述实施例表明,扫描指定的工程代码,获取工程代码中各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件;根据各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件,生成各API接口的接口矩阵;根据各API接口的接口矩阵,确定出各API接口之间的相似度值;根据各API接口之间的相似度值,确定出各API接口之间的依赖关系。通过基于数据库表、对数据库表采取的操作以及采取的操作使用的执行条件得到的接口矩阵来计算各API接口之间的相似度,从而得到各API接口之间的依赖关系,进而可以通过依赖关系来检查接口是否可以复用,以及是否存在业务不一致的缺陷。
基于相同的技术构思,图5示例性的示出了本发明实施例提供的一种API接口复用发现的装置的结构,该装置可以执行API接口复用发现的流程。
如图5所示,该装置具体包括:
扫描单元501,用于扫描指定的工程代码,获取所述工程代码中各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件;
处理单元502,用于根据所述各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件,生成所述各API接口的接口矩阵;根据所述各API接口的接口矩阵,确定出所述各API接口之间的相似度值;根据所述各API接口之间的相似度值,确定出所述各API接口之间的依赖关系。
可选的,所述处理单元502具体用于:
若所述各API接口的数据库表为单表,则依据所述数据库表、所述对数据库表采取的操作和采取的操作使用的执行条件,直接生成所述各API接口的接口矩阵;
若所述各API接口的数据库表为多表关联,则将关联的多个数据库表拆分为单表后,依据所述数据库表、所述对数据库表采取的操作和采取的操作使用的执行条件,生成所述各API接口的接口矩阵。
可选的,所述处理单元502具体用于:
根据所述各API接口的接口矩阵,确定出具有相同数据表和相同操作的接口矩阵行;
根据具有相同数据表和相同操作的接口矩阵行中的执行条件出现的次数,确定出数据表的相似度值;
将所有数据表的相似度值相加,确定为所述各API接口之间的相似度值。
可选的,所述处理单元502具体用于:
将相似度值最大的两个API接口确定为所述两个API接口之间存在依赖关系;
根据所述两个API接口之间存在依赖关系以及同一接口被多个接口复用的情况,确定出所述各API接口之间的依赖关系,并生成依赖关系图。
基于相同的技术构思,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用存储器中存储的程序指令,按照获得的程序执行上述API接口复用发现的方法。
基于相同的技术构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行计算机可读指令时,使得计算机执行上述API接口复用发现的方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种API接口复用发现的方法,其特征在于,包括:
扫描指定的工程代码,获取所述工程代码中各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件;
根据所述各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件,生成所述各API接口的接口矩阵;
根据所述各API接口的接口矩阵,确定出所述各API接口之间的相似度值;
根据所述各API接口之间的相似度值,确定出所述各API接口之间的依赖关系。
2.如权利要求1所述的方法,其特征在于,所述根据所述各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件,生成所述各API接口的接口矩阵,包括:
若所述各API接口的数据库表为单表,则依据所述数据库表、所述对数据库表采取的操作和采取的操作使用的执行条件,直接生成所述各API接口的接口矩阵;
若所述各API接口的数据库表为多表关联,则将关联的多个数据库表拆分为单表后,依据所述数据库表、所述对数据库表采取的操作和采取的操作使用的执行条件,生成所述各API接口的接口矩阵。
3.如权利要求1所述的方法,其特征在于,所述根据所述各API接口的接口矩阵,确定出所述各API接口之间的相似度值,包括:
根据所述各API接口的接口矩阵,确定出具有相同数据表和相同操作的接口矩阵行;
根据具有相同数据表和相同操作的接口矩阵行中的执行条件出现的次数,确定出数据表的相似度值;
将所有数据表的相似度值相加,确定为所述各API接口之间的相似度值。
4.如权利要求1至3任一项所述的方法,其特征在于,所述根据所述各API接口之间的相似度值,确定出所述各API接口之间的依赖关系,包括:
将相似度值最大的两个API接口确定为所述两个API接口之间存在依赖关系;
根据所述两个API接口之间存在依赖关系以及同一接口被多个接口复用的情况,确定出所述各API接口之间的依赖关系,并生成依赖关系图。
5.一种API接口复用发现的装置,其特征在于,包括:
扫描单元,用于扫描指定的工程代码,获取所述工程代码中各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件;
处理单元,用于根据所述各API接口所涉及的数据库表、对数据库表采取的操作以及采取的操作使用的执行条件,生成所述各API接口的接口矩阵;根据所述各API接口的接口矩阵,确定出所述各API接口之间的相似度值;根据所述各API接口之间的相似度值,确定出所述各API接口之间的依赖关系。
6.如权利要求5所述的装置,其特征在于,所述处理单元具体用于:
若所述各API接口的数据库表为单表,则依据所述数据库表、所述对数据库表采取的操作和采取的操作使用的执行条件,直接生成所述各API接口的接口矩阵;
若所述各API接口的数据库表为多表关联,则将关联的多个数据库表拆分为单表后,依据所述数据库表、所述对数据库表采取的操作和采取的操作使用的执行条件,生成所述各API接口的接口矩阵。
7.如权利要求5所述的装置,其特征在于,所述处理单元具体用于:
根据所述各API接口的接口矩阵,确定出具有相同数据表和相同操作的接口矩阵行;
根据具有相同数据表和相同操作的接口矩阵行中的执行条件出现的次数,确定出数据表的相似度值;
将所有数据表的相似度值相加,确定为所述各API接口之间的相似度值。
8.如权利要求5至7任一项所述的装置,其特征在于,所述处理单元具体用于:
将相似度值最大的两个API接口确定为所述两个API接口之间存在依赖关系;
根据所述两个API接口之间存在依赖关系以及同一接口被多个接口复用的情况,确定出所述各API接口之间的依赖关系,并生成依赖关系图。
9.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至4任一项所述的方法。
10.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至4任一项所述的方法。
CN201911253479.9A 2019-12-09 2019-12-09 一种api接口复用发现的方法及装置 Active CN111160403B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911253479.9A CN111160403B (zh) 2019-12-09 2019-12-09 一种api接口复用发现的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911253479.9A CN111160403B (zh) 2019-12-09 2019-12-09 一种api接口复用发现的方法及装置

Publications (2)

Publication Number Publication Date
CN111160403A true CN111160403A (zh) 2020-05-15
CN111160403B CN111160403B (zh) 2023-09-26

Family

ID=70556671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911253479.9A Active CN111160403B (zh) 2019-12-09 2019-12-09 一种api接口复用发现的方法及装置

Country Status (1)

Country Link
CN (1) CN111160403B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112380286A (zh) * 2020-11-17 2021-02-19 平安科技(深圳)有限公司 数据库的数据对象关系图谱生成方法、装置、设备及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130086553A1 (en) * 2011-09-29 2013-04-04 Mark Grechanik Systems and methods for finding project-related information by clustering applications into related concept categories
US20140208296A1 (en) * 2013-01-22 2014-07-24 Microsoft Corporation API Usage Pattern Mining
JP2017033131A (ja) * 2015-07-30 2017-02-09 日本電信電話株式会社 Api類似率算出装置、api類似率算出方法及びプログラム
JP2017041158A (ja) * 2015-08-21 2017-02-23 日本電信電話株式会社 Api変換テーブル生成装置、api変換テーブル生成方法、および、api変換テーブル生成プログラム
JP2018133044A (ja) * 2017-02-17 2018-08-23 日本電信電話株式会社 WebAPI実行フロー生成装置およびWebAPI実行フロー生成方法
CN109753275A (zh) * 2018-12-10 2019-05-14 东软集团股份有限公司 应用编程接口的推荐方法、装置、存储介质和电子设备
CN110309040A (zh) * 2019-06-11 2019-10-08 东南大学 一种基于功能相似度的api推荐结果评估方法
US20190324434A1 (en) * 2017-08-02 2019-10-24 Strong Force Iot Portfolio 2016, Llc Systems and methods for data collection and data sharing in an industrial environment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130086553A1 (en) * 2011-09-29 2013-04-04 Mark Grechanik Systems and methods for finding project-related information by clustering applications into related concept categories
US20140208296A1 (en) * 2013-01-22 2014-07-24 Microsoft Corporation API Usage Pattern Mining
JP2017033131A (ja) * 2015-07-30 2017-02-09 日本電信電話株式会社 Api類似率算出装置、api類似率算出方法及びプログラム
JP2017041158A (ja) * 2015-08-21 2017-02-23 日本電信電話株式会社 Api変換テーブル生成装置、api変換テーブル生成方法、および、api変換テーブル生成プログラム
JP2018133044A (ja) * 2017-02-17 2018-08-23 日本電信電話株式会社 WebAPI実行フロー生成装置およびWebAPI実行フロー生成方法
US20190324434A1 (en) * 2017-08-02 2019-10-24 Strong Force Iot Portfolio 2016, Llc Systems and methods for data collection and data sharing in an industrial environment
CN109753275A (zh) * 2018-12-10 2019-05-14 东软集团股份有限公司 应用编程接口的推荐方法、装置、存储介质和电子设备
CN110309040A (zh) * 2019-06-11 2019-10-08 东南大学 一种基于功能相似度的api推荐结果评估方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黄寿孟;高华玲;潘玉霞;: "软件相似性分析算法的研究综述" *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112380286A (zh) * 2020-11-17 2021-02-19 平安科技(深圳)有限公司 数据库的数据对象关系图谱生成方法、装置、设备及介质
CN112380286B (zh) * 2020-11-17 2022-03-18 平安科技(深圳)有限公司 数据库的数据对象关系图谱生成方法、装置、设备及介质

Also Published As

Publication number Publication date
CN111160403B (zh) 2023-09-26

Similar Documents

Publication Publication Date Title
CN107273286B (zh) 针对任务应用的场景自动化测试平台及方法
JP2018185808A (ja) ブロックチェーンに基づくスマート契約をテストする装置及び方法
CN109951547B (zh) 事务请求并行处理方法、装置、设备和介质
US9823991B2 (en) Concurrent workload simulation for application performance testing
US20170123777A1 (en) Deploying applications on application platforms
CN110532182B (zh) 一种虚拟化平台的自动化测试方法及装置
CN113220431B (zh) 跨云的分布式数据任务调度方法、设备及存储介质
CN110599341A (zh) 交易调用方法及系统
CN111651365B (zh) 接口自动化测试方法及装置
CN111158800B (zh) 基于映射关系构建任务dag的方法及装置
CN111966760A (zh) 基于Hive数据仓库的测试数据生成方法及装置
CN111221721B (zh) 一种单元测试案例自动化录制和执行方法及装置
CN111966597B (zh) 测试数据生成方法及装置
CN111160403B (zh) 一种api接口复用发现的方法及装置
CN113254350A (zh) 一种Flink作业测试方法、装置、设备及存储介质
CN114564286B (zh) 一种规则引擎告警方法及规则引擎告警系统
CN114416305A (zh) 一种机器人引擎实现方法、系统及电子设备
CN113495723A (zh) 一种调用功能组件的方法、装置及存储介质
CN111679807B (zh) 需求管理方法及装置
CN112817573B (zh) 用于构建流式计算应用的方法、装置、计算机系统和介质
CN113031960B (zh) 代码编译方法、装置、服务器及存储介质
CN112000366B (zh) 基于代码生成器的系统参数配置方法及装置
CN115509895A (zh) 一种Autosar网络管理测试工程架构及测试方法
CN117234832A (zh) 一种基于历史数据自动生成测试数据的方法及装置
CN111679980A (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
GR01 Patent grant
GR01 Patent grant