System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种相似接口推荐方法、装置、设备、存储介质及程序产品。
技术介绍
1、随着软件项目的不断增长和复杂性的提高,开发者在实现新功能时面临着重用现有代码库中的接口来提高开发效率的需求。例如,开发者想要开发一个实现某功能的api(application programming interface)接口前,一般是通过文本匹配的方式以关键字去接口管理平台搜索,再逐个手动标注接口描述是否满足现有的开发要求,若满足,则推荐复用该接口,不能满足就考虑重新开发。
2、但是传统的接口推荐方式一般依赖于文本匹配和开发者手动标注,往往不能准确理解代码的结构和语义,导致推荐结果的准确度和相关性不高,又需重新开发,增加了不必要的接口开发类工作,从而降低了开发效率。
3、上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本申请的主要目的在于提供了一种相似接口推荐方法、装置、设备、存储介质及程序产品,旨在解决传统的接口推荐方式由于依赖于文本匹配和开发者手动标注导致推荐结果的准确度不高,增加了不必要的接口开发类工作,从而降低了开发效率的技术问题。
2、为实现上述目的,本申请提出一种相似接口推荐方法,所述的方法包括:
3、对当前接口集合进行分片处理,获得所述当前接口集合的多个分片任务;
4、通过文本相似度算法按所述多个分片任务对所述当前接口集合进行相似度处理,获得与待匹配接口对应的接口对相似度
5、根据所述接口对相似度结果确定所述待匹配接口对应的相似接口集;
6、对所述相似接口集进行代码逻辑处理,获得所述当前接口集合中与所述待匹配接口对应的推荐相似接口。
7、在一实施例中,所述对当前接口集合进行分片处理,获得所述当前接口集合的多个分片任务的步骤,包括:
8、获取当前接口集合中各个接口的系统id 、应用id和接口协议id;
9、基于所述系统id、所述应用id和所述接口协议id,按预设编码计算规则对所述当前接口集合进行归类聚合,获得归类编码;
10、通过分布式调度平台按所述归类编码对所述当前接口集合进行分布式协调,获得所述当前接口集合对应的多个分片任务。
11、在一实施例中,所述通过文本相似度算法按所述多个分片任务对所述当前接口集合进行相似度处理,获得与待匹配接口对应的接口对相似度结果的步骤,包括:
12、根据所述当前接口集合中各个接口的接口名称和出入参组成构建各个接口的json字符串;
13、根据所述多个分片任务对所述当前接口集合进行单线程处理;
14、基于所述json字符串,通过文本相似度算法在单线程处理过程中对所述当前接口集合进行相似度处理,获得各个接口与所述待匹配接口之间的接口对相似度结果。
15、在一实施例中,所述根据所述接口对相似度结果确定所述待匹配接口对应的相似接口集的步骤,包括:
16、遍历所述相似度结果中各json字符串的文本相似度;
17、判断所述文本相似度是否达到预设相似条件;
18、若所述文本相似度达到所述预设相似条件,则将达到所述预设相似条件所对应的接口作为所述待匹配接口对应的相似接口集。
19、在一实施例中,所述对所述相似接口集进行代码逻辑处理,获得所述当前接口集合中与所述待匹配接口对应的推荐相似接口的步骤,包括:
20、提取所述相似接口集中各个接口的方法调用节点,所述方法调用节点包括接口属性类型、目标端属性和属性签名;
21、将所述接口属性类型、所述目标端属性和所述属性签名转换为json数组结构;
22、基于所述json数组结构,确定所述相似接口集中接口静态调用链的接口调用逻辑文本;
23、根据所述接口调用逻辑文本对所述相似接口集进行代码逻辑处理,获得所述相似接口集中与所述待匹配接口对应的推荐相似接口。
24、在一实施例中,所述对当前接口集合进行分片处理,获得所述当前接口集合的多个分片任务的步骤之前,所述方法还包括:
25、提取存量接口,并对所述存量接口进行数据预处理,获得预处理接口数据,所述预处理接口数据包括接口语义、接口名称、接口参数和接口注释;
26、对所述接口语义、所述接口名称、所述接口参数和所述接口注释进行向量整合,获得接口向量特征;
27、将所述接口向量特征输入至神经网络模型进行训练,获得向量相似度计算模型;
28、将当前接口集合输入至所述向量相似度计算模型中,获得所述当前接口集合中与待匹配接口对应的推荐相似接口。
29、此外,为实现上述目的,本申请还提出一种相似接口推荐装置,所述装置包括:
30、分片处理模块,用于对当前接口集合进行分片处理,获得所述当前接口集合的多个分片任务;
31、文本相似模块,用于通过文本相似度算法按所述多个分片任务对所述当前接口集合进行相似度处理,获得与待匹配接口对应的接口对相似度结果;
32、相似接口集模块,用于根据所述接口对相似度结果确定所述待匹配接口对应的相似接口集;
33、逻辑处理模块,用于对所述相似接口集进行代码逻辑处理,获得所述当前接口集合中与所述待匹配接口对应的推荐相似接口。
34、此外,为实现上述目的,本申请还提出一种相似接口推荐设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的相似接口推荐方法的步骤。
35、此外,为实现上述目的,本申请还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的相似接口推荐方法的步骤。
36、此外,为实现上述目的,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上文所述的相似接口推荐方法的步骤。
37、本申请提出的一个或多个技术方案,至少具有以下技术效果:本申请首先对当前接口集合进行分片处理,获得所述当前接口集合的多个分片任务;然后通过文本相似度算法按所述多个分片任务对所述当前接口集合进行相似度处理,获得与待匹配接口对应的接口对相似度结果;接着根据所述接口对相似度结果确定所述待匹配接口对应的相似接口集;最后对所述相似接口集进行代码逻辑处理,获得所述当前接口集合中与所述待匹配接口对应的推荐相似接口。由于本申请先对当前接口集合的多个分片任务进行相似度处理,再进行代码逻辑处理,通过多重相似度筛选,可快速准确得出待匹配接口最相似的接口,从而减少了不必要的接口开发类工作,提升了开发效率。
本文档来自技高网...【技术保护点】
1.一种相似接口推荐方法,其特征在于,所述的方法包括:
2.如权利要求1所述的方法,其特征在于,所述对当前接口集合进行分片处理,获得所述当前接口集合的多个分片任务的步骤,包括:
3.如权利要求1所述的方法,其特征在于,所述通过文本相似度算法按所述多个分片任务对所述当前接口集合进行相似度处理,获得与待匹配接口对应的接口对相似度结果的步骤,包括:
4.如权利要求3所述的方法,其特征在于,所述根据所述接口对相似度结果确定所述待匹配接口对应的相似接口集的步骤,包括:
5.如权利要求1所述的方法,其特征在于,所述对所述相似接口集进行代码逻辑处理,获得所述当前接口集合中与所述待匹配接口对应的推荐相似接口的步骤,包括:
6.如权利要求1至5任一项所述的方法,其特征在于,所述对当前接口集合进行分片处理,获得所述当前接口集合的多个分片任务的步骤之前,所述方法还包括:
7.一种相似接口推荐装置,其特征在于,所述装置包括:
8.一种相似接口推荐设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述
9.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的相似接口推荐方法的步骤。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的相似接口推荐方法的步骤。
...【技术特征摘要】
1.一种相似接口推荐方法,其特征在于,所述的方法包括:
2.如权利要求1所述的方法,其特征在于,所述对当前接口集合进行分片处理,获得所述当前接口集合的多个分片任务的步骤,包括:
3.如权利要求1所述的方法,其特征在于,所述通过文本相似度算法按所述多个分片任务对所述当前接口集合进行相似度处理,获得与待匹配接口对应的接口对相似度结果的步骤,包括:
4.如权利要求3所述的方法,其特征在于,所述根据所述接口对相似度结果确定所述待匹配接口对应的相似接口集的步骤,包括:
5.如权利要求1所述的方法,其特征在于,所述对所述相似接口集进行代码逻辑处理,获得所述当前接口集合中与所述待匹配接口对应的推荐相似接口的步骤,包括:
6.如权利要求1至5任一项所述的方法,其特征在于,所述对当前...
【专利技术属性】
技术研发人员:陈俞任,刘锋,陈利生,彭瀚文,陈晓烽,
申请(专利权)人:中邮消费金融有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。