一种基于URL的API资产归并方法及系统与流程
未命名
07-12
阅读:93
评论:0
一种基于url的api资产归并方法及系统
技术领域
1.本发明涉及数据处理及算法应用技术领域,具体涉及一种基于url的api资产归并方法及系统。
背景技术:
2.随着互联网、移动互联网的发展,api接口广泛应用于互联网业务系统模式,企业对外提供api接口,用户通过调用api接口实现业务的办理。随着技术和业务的发展,企业开放范围不断扩大,api接口不断增加,api资产随着业务范围的扩大而不断增加,面对海量url日志记录,如何对api资产进行梳理,形成高效管理成为当务之急。
3.api资产中,存在众多路径高度重合的api端点。这些近似的api端点,会发现它们往往也具有相同的用途。这些api端点往往仅有固定位置的路径,参数不同,而路径参数的变量多达成百上千。公布号为cn115687472a的现有发明专利申请文献《一种基于云平台的数据储存管理系统》包括以下四个模块,分别为:硬件资源整合模块,将各系统所需的硬件资源整合并统一管理评估;数据传输储存模块,用于将不同的业务数据进行安全传输并进行对应储存;数据治理模块,将传输到数据传输储存模块的数据进行清洗并二次加工处理;数据分析模块,用于对治理后的数据分析并输出数据分析结果。从该现有技术的具体实施内容可知,该现有方案将不同业务数据按不同标签分类归属,此过程需要熟悉业务并懂得数据分类管理的人员进行梳理,数据梳理完还需要补充业务系统没有涵盖的数据,与现有数据进行关联对应。该现有文献披露的方案中,将不同业务数据按不同标签分类归属,此过程需要熟悉业务并懂得数据分类管理的人员进行梳理,数据梳理完还需要补充业务系统没有涵盖的数据,与现有数据进行关联对应。目前常见api资产规范化依赖于人工经验,利用关键词或者参数模式匹配等方法实现,但随着接口开发越来越来多,规则匹配模式则需投入大量人力进行规则补充。
4.公布号为cn112311869a的现有发明专利申请文献《多类型微服务注册中心管理系统及方法》包括注册中心、各微服务注册中心和各应用服务,各应用服务与微服务注册中心的注册业务按照原协议保持通信,注册中心包括服务端和客户端,服务端用于提供服务信息和路由注册接口,缓存、分发服务和接口信息,服务端支持与客户端通信;客户端通过提供sdk,各微服务注册中心和各应用服务集成sdk与注册中心通信、上报或订阅信息。在该现有技术中,后端提供客户端的注册接口、页面管理的注册服务、服务列表及负载均衡的配置、api列表及api接口;前端通过调用api接口进行页面展示。然而,将路径、用途高度重合的api端点若全盘列出,可能会造成api资产列表过于庞大的问题。
5.综上,现有技术存在api资产列表庞大、对人工操作经验依赖程度高的技术问题。
技术实现要素:
6.本发明所要解决的技术问题在于如何解决现有技术中api资产列表庞大、对人工操作经验依赖程度高的技术问题。
7.本发明是采用以下技术方案解决上述技术问题的:一种基于url的api资产归并方法包括:
8.s1、获取主机访问记录日志数据;
9.s2、根据主机访问记录日志数据,提取url,利用预置分隔符切分url的统一资源标识符串uri,以得到词集合数组;
10.s3、根据词集合数组,按预设顺序,根据词集合数组中的词间关系以及词节点,构建词关系图,据以计算词出度、词入度;
11.s4、根据词出度、词入度,根据指定出度阈值及入度阈值,选取词出度小于出度阈值,或词入度小于入度阈值的适用词;
12.s5、利用适用词,从统一资源标识符串中,筛选出含有对应词的适用统一资源标识符串,据以利用最小哈希算法minhash计算出全量资源标识符串中的相似资源标识符串;
13.s6、根据相似资源标识符串,计算选取对应词的支持度,在支持度小于指定支持度阈值时,将当前词替换成通配字符串,据以归并api资产。
14.本发明采用图关系特征、minhash进行uri固定词判断,计算过程应用minhash算法筛选高相似度接口,在图关系基础上,进行词动态性进行研判,保障动态判断的准确性。本发明实现了自动动态词识别,api资产梳理过程无需人力干预,既不需要进行过多人工干预,也不要根据专家经验进行关键词库维护,因此对于不同行业api资产,具有高适应性。
15.在更具体的技术方案中,步骤s3中,词关系图包括:有向关系图。
16.本发明采用图关系对行业uri进行词重要性进行度量,随着业务接口不断增加,无需持续补充规则库,提高api接口资产的梳理效率。
17.在更具体的技术方案中,步骤s5包括:
18.s51、根据适用词,选取特定词v;
19.s52、从全量资源标识符串uri中,匹配出含有特定词v的适用统一资源标识符串uri;
20.s53、根据适用统一资源标识符串uri,在预置数据集u1中,利用最小哈希算法minhash,筛选出与预置数据集u1相似度大于预置相似阈值的相似资源标识符串u2。
21.在更具体的技术方案中,步骤s53包括:
22.s531、利用最小哈希算法minhash,基于jaccard相似性系数处理得到预置数据集u1相似度;
23.s532、根据jaccard相似性系数获取元素的最小哈希值关系数据,据以筛选出相似资源标识符串u2。
24.本发明通过采用最小哈希算法minhash,基于jaccard相似性系数获取数据集u1相似度,利用相似度归并了路径、用途存在重合的api端点,不需要将api端点若全部列出,简化了api资产列表的规模。
25.在更具体的技术方案中,步骤s531中,利用下述逻辑确定jaccard相似性系数:
[0026][0027]
在更具体的技术方案中,jaccard相似性系数的取值范围包括:(0,1)。
[0028]
在更具体的技术方案中,步骤s532中,利用下述逻辑表示最小哈希值关系数据:
[0029]
p[hmni(x)=hmin(y)]=jaccard(x,y)
[0030]
其中,hmni(x)是集合x中具有最小哈希值的元素,hmin(y)是集合y中具有最小哈希值的元素。
[0031]
在更具体的技术方案中,步骤s5包括:
[0032]
s51、根据预置数据集u1、相似资源标识符串u2中的uri集合,计算预置数据集u1的数据集数量n1、相似资源标识符串u2的标识符串数量n2;
[0033]
s52、根据数据集数量n1以及标识符串数量n2,计算含有特定词v的支持度;
[0034]
s53、在支持度小于预设支持度阈值时,判定特定词v为变动词,将特定词v替换成通配字符串。
[0035]
本发明采用最小哈希算法计算出最小哈希关系数据,进而获取词的支持度来进行判定,api资产规范化操作避免了对人工经验判断的依赖,代替传统技术中采用关键词或者参数模式匹配的方式,即使接口开发规模增大,也不需要投入额外人力,提高了api资产规并的自动化程度和归并效率。
[0036]
在更具体的技术方案中,步骤s52中,利用下述逻辑计算含有特定词v的支持度:
[0037]
n1/(n1+n2)
[0038]
在更具体的技术方案中,一种基于url的api资产归并系统包括:
[0039]
日志获取模块,用以获取主机访问记录日志数据;
[0040]
词集合获取模块,用以根据主机访问记录日志数据,提取url,利用预置分隔符切分url的统一资源标识符串uri,以得到词集合数组,词集合获取模块与日志获取模块连接;
[0041]
词出入度计算模块,用以根据词集合数组,按预设顺序,根据词集合数组中的词间关系以及词节点,构建词关系图,据以计算词出度、词入度,词出入度计算模块与词集合获取模块连接;
[0042]
适用词选取模块,用以根据词出度、词入度,根据指定出度阈值及入度阈值,选取词出度小于出度阈值,或词入度小于入度阈值的适用词,适用词选取模块与词出入度计算模块连接;
[0043]
最小哈希处理模块,用以利用适用词,从统一资源标识符串中,筛选出含有对应词的适用统一资源标识符串,据以利用最小哈希算法minhash计算出全量资源标识符串中的相似资源标识符串,最小哈希处理模块与适用词选取模块连接;
[0044]
归并处理模块,用以根据相似资源标识符串,计算选取对应词的支持度,在支持度小于指定支持度阈值时,将当前词替换成通配字符串,据以归并api资产,归并处理模块与最小哈希处理模块连接。
[0045]
本发明相比现有技术具有以下优点:本发明采用图关系特征、minhash进行uri固定词判断,计算过程应用minhash算法筛选高相似度接口,在图关系基础上,进行词动态性进行研判,保障动态判断的准确性。本发明实现自动动态词识别,api资产梳理过程无需人力干预,既不需要进行过多人工干预,也不要根据专家经验进行关键词库维护,因此对于不同行业api资产,具有高适应性。
[0046]
本发明采用图关系对行业uri进行词重要性进行度量,随着业务接口不断增加,无需持续补充规则库,提高api接口资产的梳理效率。
[0047]
本发明通过采用最小哈希算法minhash,基于jaccard相似性系数获取数据集u1相
似度,利用相似度归并了路径、用途存在重合的api端点,不需要将api端点若全部列出,简化了api资产列表的规模。
[0048]
本发明采用最小哈希算法计算出最小哈希关系数据,进而获取词的支持度来进行判定,api资产规范化操作避免了对人工经验判断的依赖,代替传统技术中采用关键词或者参数模式匹配的方式,即使接口开发规模增大,也不需要投入额外人力,提高了api资产规并的自动化程度和归并效率。
[0049]
本发明解决了现有技术中存在的api资产列表庞大、对人工操作经验依赖程度高的技术问题。
附图说明
[0050]
图1为本发明实施例1的一种基于url的api资产归并方法基本步骤示意图;
[0051]
图2为本发明实施例1的uri切分形成词集合数组原理示意图;
[0052]
图3为本发明实施例1的词关系图。
具体实施方式
[0053]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0054]
实施例1
[0055]
如图1所示,本发明提供的一种基于url的api资产归并方法,包括以下基本步骤:
[0056]
s1、获取主机访问记录日志数据;
[0057]
在本实施例中,抽取指定周期内获取主机访问记录日志数据。在本实施例中,日志内容包括但不限于:url、请求体以及响应体。
[0058]
s2、基于访问记录日志数据,提取url,使用预置分隔符号作为分隔符,对url进行切分,形成词集合数组;在本实施例中,预置分隔符号包括但不限于:“/”;
[0059]
如图2所示,在本实施例中,基于步骤s1获得的数据,使用“/”作为分隔符,对uri进行切分,形成词集合数组。在本实施例中,可采用例如,例如uri为/news/1d4d4d5s4ds47we4/log/,则按“/”切分后,组成的关系组合为:
[0060]
((news,1d4d4d5s4ds47we4),(1d4d4d5s4ds47we4,log))。
[0061]
s3、根据词集合数据,按顺序,将两两词作为关系,词为节点,构建词关系图,计算词的出度、入度;
[0062]
如图3所示,在本实施例中,根据步骤s2中的词组合,建立有向关系图,依据有向关系,计算每个词的出度、入度。
[0063]
在本实施例中,设d=《v,e》为有向图,v∈v,v的出度是指v作为边的始点次数之和,v的入度是指v作为边的终点次数之和。
[0064]
s4,根据步骤s3得到的出度、入度,通过指定阈值,选取出度或入度小于指定阈值的词;
[0065]
s5,基于步骤s4选取的出度或入度小于指定阈值的词,筛选出含有对应词uri,利
用minhash计算出全量uri里面相似度较高uri;
[0066]
在本实施例中,基于步骤s4筛选得到的词,选取某一个词v,从全量uri中匹配出含有词v的uri。根据选出的uri,到数据集u1,利用minhash算法,筛选出与u1相似度大于0.8的u2。
[0067]
minhash基于原理如下:
[0068]
minhash是用于快速检测两个集合的相似性的方法。minhash基于jaccard相似性度量。对于两个集合x与y,jaccard相似性系数可以定义为:
[0069][0070]
在本实施例中,jaccard相似性系数的取值范围包括但不限于:[0,1]。当两个集合越接近,那么该值越接近1;反之,更接近0。假设h是一个哈希函数,将a与b的元素个数映射为一个整数。定义hmni(s)是集合s集合中具有最小哈希值的元素。可推得:仅当x∪y中具有最小哈希值的元素位于a∩b中时,hmni(x)=hmin(y)。而将哈希函数看成一个随机变量,那么任何x∪y中的元素都有可能具有最小哈希值。因此,就有:
[0071]
p[hmni(x)=hmin(y)]=jaccard(x,y)
[0072]
在本实施例中,若令r为一个随机变量,或者随机变量h的函数,当hmni(x)=hmin(y)时取1,否则取0。那么r就是jaccard(x,y)的一个无偏估计。
[0073]
s6,基于步骤s5选取的uri,计算选取对应词的支持度,如支持度小于指定阈值,则将该词替换成通配字符串,实现api规范化。
[0074]
综上,本发明采用图关系特征、minhash进行uri固定词判断,计算过程应用minhash算法筛选高相似度接口,在图关系基础上,进行词动态性进行研判,保障动态判断的准确性。
[0075]
本发明实现自动动态词识别,api资产梳理过程无需人力干预,既不需要进行过多人工干预,也不要根据专家经验进行关键词库维护,因此对于不同行业api资产,具有高适应性。
[0076]
本发明采用图关系对行业uri进行词重要性进行度量,随着业务接口不断增加,无需持续补充规则库,提高api接口资产的梳理效率。
[0077]
本发明通过采用最小哈希算法minhash,基于jaccard相似性系数获取数据集u1相似度,利用相似度归并了路径、用途存在重合的api端点,不需要将api端点若全部列出,简化了api资产列表的规模。
[0078]
本发明采用最小哈希算法计算出最小哈希关系数据,进而获取词的支持度来进行判定,api资产规范化操作避免了对人工经验判断的依赖,代替传统技术中采用关键词或者参数模式匹配的方式,即使接口开发规模增大,也不需要投入额外人力,提高了api资产规并的自动化程度和归并效率。
[0079]
本发明解决了现有技术中存在的api资产列表庞大、对人工操作经验依赖程度高的技术问题。
[0080]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者
替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
技术特征:
1.一种基于url的api资产归并方法,其特征在于,所述方法包括:s1、获取主机访问记录日志数据;s2、根据所述主机访问记录日志数据,提取url,利用预置分隔符切分所述url的统一资源标识符串uri,以得到词集合数组;s3、根据所述词集合数组,按预设顺序,根据所述词集合数组中的词间关系以及词节点,构建词关系图,据以计算词出度、词入度;s4,根据所述词出度、所述词入度,根据指定出度阈值及入度阈值,选取所述词出度小于所述出度阈值,或所述词入度小于入度阈值的适用词;s5,利用所述适用词,从所述统一资源标识符串中,筛选出含有对应词的适用统一资源标识符串,据以利用最小哈希算法minhash计算出全量资源标识符串中的相似资源标识符串;s6,根据所述相似资源标识符串,计算选取对应词的支持度,在所述支持度小于指定支持度阈值时,将当前词替换成通配字符串,据以归并api资产。2.根据权利要求1所述的一种基于url的api资产归并方法,其特征在于,所述步骤s3中,所述词关系图包括:有向关系图。3.根据权利要求1所述的一种基于url的api资产归并方法,其特征在于,所述步骤s5包括:s51、根据所述适用词,选取特定词v;s52、从所述全量资源标识符串uri中,匹配出含有所述特定词v的所述适用统一资源标识符串uri;s53、根据所述适用统一资源标识符串uri,在预置数据集u1中,利用所述最小哈希算法minhash,筛选出与所述预置数据集u1相似度大于预置相似阈值的相似资源标识符串u2。4.根据权利要求1所述的一种基于url的api资产归并方法,其特征在于,所述步骤s53包括:s531、利用所述最小哈希算法minhash,基于jaccard相似性系数处理得到所述预置数据集u1相似度;s532、根据所述jaccard相似性系数获取元素的最小哈希值关系数据,据以筛选出所述相似资源标识符串u2。5.根据权利要求4所述的一种基于url的api资产归并方法,其特征在于,所述步骤s531中,利用下述逻辑确定jaccard相似性系数:6.根据权利要求5所述的一种基于url的api资产归并方法,其特征在于,所述jaccard相似性系数的取值范围包括:(0,1)。7.根据权利要求4所述的一种基于url的api资产归并方法,其特征在于,所述步骤s532中,利用下述逻辑表示所述最小哈希值关系数据:p[h(x)=hmin(y)=jaccard(,y)其中,h(x)是集合x中具有最小哈希值的元素,h(y)是集合y中具有最小哈希值的元素。8.根据权利要求1所述的一种基于url的api资产归并方法,其特征在于,所述步骤s5包
括:s51、根据预置数据集u1、相似资源标识符串u2中的uri集合,计算所述预置数据集u1的数据集数量n1、所述相似资源标识符串u2的标识符串数量n2;s52、根据所述数据集数量n1以及标识符串数量n2,计算含有特定词v的支持度;s53、在所述支持度小于预设支持度阈值时,判定所述特定词v为变动词,将所述特定词v替换成通配字符串。9.根据权利要求8所述的一种基于url的api资产归并方法,其特征在于,所述步骤s52中,利用下述逻辑计算含有特定词v的支持度:n1/(n1+n2)。10.一种基于url的api资产归并系统,其特征在于,所述系统包括:日志获取模块,用以获取主机访问记录日志数据;词集合获取模块,用以根据所述主机访问记录日志数据,提取url,利用预置分隔符切分所述url的统一资源标识符串uri,以得到词集合数组,所述词集合获取模块与所述日志获取模块连接;词出入度计算模块,用以根据所述词集合数组,按预设顺序,根据所述词集合数组中的词间关系以及词节点,构建词关系图,据以计算词出度、词入度,所述词出入度计算模块与所述词集合获取模块连接;适用词选取模块,用以根据所述词出度、所述词入度,根据指定出度阈值及入度阈值,选取所述词出度小于所述出度阈值,或所述词入度小于入度阈值的适用词,所述适用词选取模块与所述词出入度计算模块连接;最小哈希处理模块,用以利用所述适用词,从所述统一资源标识符串中,筛选出含有对应词的适用统一资源标识符串,据以利用最小哈希算法minhash计算出全量资源标识符串中的相似资源标识符串,所述最小哈希处理模块与所述适用词选取模块连接;归并处理模块,用以根据所述相似资源标识符串,计算选取对应词的支持度,在所述支持度小于指定支持度阈值时,将当前词替换成通配字符串,据以归并api资产,所述归并处理模块与所述最小哈希处理模块连接。
技术总结
本发明提供一种基于URL的API资产归并方法及系统,方法包括:获取主机访问记录日志数据;基于访问记录日志数据,提取URL,使用特定分隔符,对URI进行切分,形成词集合数组;根据词集合数据,按顺序,将两两词作为关系,词为节点,构建词关系图,计算词的出度、入度;根据前述步骤得到的出度、入度,通过指定阈值,选取出度或入度小于指定阈值的词;基于前述步骤得到的词,筛选出含有对应词URI,利用minhash计算出全量URI里面相似度较高URI;基于前述步骤选取的URI,计算选取对应词的支持度,如支持度小于指定阈值,则将该词替换成通配字符串,实现API规范化。本发明解决了API资产列表庞大、对人工操作经验依赖程度高的技术问题。人工操作经验依赖程度高的技术问题。人工操作经验依赖程度高的技术问题。
技术研发人员:殷钱安 梁淑云 陶景龙 王启凡 余贤喆 徐明 刘胜 魏国富
受保护的技术使用者:上海观安信息技术股份有限公司
技术研发日:2023.03.07
技术公布日:2023/7/11
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
