CN117729176B - 基于网络地址和响应体的应用程序接口聚合方法及装置 - Google Patents
基于网络地址和响应体的应用程序接口聚合方法及装置 Download PDFInfo
- Publication number
- CN117729176B CN117729176B CN202410179400.7A CN202410179400A CN117729176B CN 117729176 B CN117729176 B CN 117729176B CN 202410179400 A CN202410179400 A CN 202410179400A CN 117729176 B CN117729176 B CN 117729176B
- Authority
- CN
- China
- Prior art keywords
- aggregated
- network address
- network
- field
- addresses
- 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.)
- Active
Links
- 230000004044 response Effects 0.000 title claims abstract description 232
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000004931 aggregating effect Effects 0.000 title claims description 22
- 230000002776 aggregation Effects 0.000 claims abstract description 176
- 238000004220 aggregation Methods 0.000 claims abstract description 176
- 238000004458 analytical method Methods 0.000 claims abstract description 111
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000004590 computer program Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于网络地址和响应体的应用程序接口聚合方法及装置,通过分别对多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址,同时分别对多个待聚合网络地址的响应体信息进行属性化处理,得到各个待聚合网络地址的响应体信息对应的属性集合,进而基于各个待聚合网络地址对应的掩码地址,确定各个待聚合网络地址之间的掩码地址相似性,基于各个待聚合网络地址的响应体信息对应的属性集合,确定各个待聚合网络地址之间的响应体相似性,通过掩码地址相似性以及响应体相似性所体现出的不同待聚合网络地址之间的语义相似性,对各个待聚合网络地址进行应用程序接口聚合,提升了应用程序接口聚合的准确性。
Description
技术领域
本发明涉及网络数据处理技术领域,尤其涉及一种基于网络地址和响应体的应用程序接口聚合方法及装置。
背景技术
在整理网络资产信息的过程中,经常面临一个普遍问题,即存在不同的网络地址,但这些地址实际上指向同一应用程序接口(Application Programming Interface,API)。这种情况导致了整理的网络资产信息中存在大量的冗余,给网络资产管理者全面了解实际网络资产状态带来了不便。为了解决这个问题,必须对同一应用程序接口下的不同网络地址进行合并,以更准确地获取网络资产信息。
目前的合并方法通常依赖于人工的识别和筛选,然后才能通过程序进行合并。然而,这一过程不仅费时费力,效率较低,还容易导致遗漏,使得合并后的网络资产信息仍然包含大量重复的应用程序接口数据。此外,采用正则表达式进行应用程序接口聚合同样存在问题,因为正则表达式可能无法完全捕捉到复杂的应用程序接口结构,从而导致错误的合并或遗漏关键信息,进一步降低整个合并过程的准确性和可靠性。
发明内容
本发明提供一种基于网络地址和响应体的应用程序接口聚合方法及装置,用以解决现有技术中应用程序接口聚合准确性欠佳的缺陷。
本发明提供一种基于网络地址和响应体的应用程序接口聚合方法,包括:
获取多个待聚合网络地址以及所述待聚合网络地址的响应体信息;所述待聚合网络地址的响应体信息是向所述待聚合网络地址提交样本请求后所述待聚合网络地址对应的服务返回的数据;
分别对所述多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址;任一待聚合网络地址对应的掩码地址中去除了所述任一待聚合网络地址中不具备语义的字段;
分别对所述多个待聚合网络地址的响应体信息进行属性化处理,得到各个待聚合网络地址的响应体信息对应的属性集合;任一待聚合网络地址的响应体信息对应的属性集合中包含所述任一待聚合网络地址的响应体信息中的层级属性名;
基于各个待聚合网络地址对应的掩码地址,确定所述各个待聚合网络地址之间的掩码地址相似性,基于各个待聚合网络地址的响应体信息对应的属性集合,确定所述各个待聚合网络地址之间的响应体相似性,并基于所述各个待聚合网络地址之间的掩码地址相似性和响应体相似性对所述各个待聚合网络地址进行应用程序接口聚合。
根据本发明提供的一种基于网络地址和响应体的应用程序接口聚合方法,所述分别对所述多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址,具体包括:
将任一待聚合网络地址按照预设分隔符进行切分,得到所述任一待聚合网络地址中的字段;
针对所述任一待聚合网络地址中的任一字段,若所述任一字段的长度大于预设长度阈值,则确定所述任一字段的语义分析结果为无语义;
若所述任一字段的长度小于所述预设长度阈值,则基于所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率,或者基于所述任一字段在所述任一待聚合网络地址中的层级以及预设字典,确定所述任一字段的语义分析结果;任一字段的语义分析结果为无语义、有语义或强语义;
将所述任一待聚合网络地址中语义分析结果为无语义的字段替换为预设替换字符串,得到所述任一待聚合网络地址对应的掩码地址。
根据本发明提供的一种基于网络地址和响应体的应用程序接口聚合方法,基于所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率,确定所述任一字段的语义分析结果,具体包括:
若所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率小于第一频率阈值,则确定所述任一字段的语义分析结果为无语义;
若所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率大于所述第一频率阈值且小于第二频率阈值,则确定所述任一字段的语义分析结果为有语义;
若所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率大于所述第二频率阈值,则确定所述任一字段的语义分析结果为强语义。
根据本发明提供的一种基于网络地址和响应体的应用程序接口聚合方法,基于所述任一字段在所述任一待聚合网络地址中的层级以及预设字典,确定所述任一字段的语义分析结果,具体包括:
若所述任一字段在所述任一待聚合网络地址中的层级是所述任一待聚合网络地址的最后一个层级,则在所述任一字段符合预设字符串规则时,确定所述任一字段的语义分析结果为强语义,在所述任一字段不符合预设字符串规则且所述任一字段或所述任一字段的所有分词在预设字典中时,确定所述任一字段的语义分析结果为强语义,在所述任一字段不符合预设字符串规则且所述任一字段或所述任一字段的任一分词不在预设字典中时,确定所述任一字段的语义分析结果为有语义;
若所述任一字段在所述任一待聚合网络地址中的层级不是所述任一待聚合网络地址的最后一个层级,则在所述任一字段或所述任一字段的所有分词在预设字典中时,确定所述任一字段的语义分析结果为有语义,在所述任一字段或所述任一字段的任一分词不在预设字典中时,确定所述任一字段的语义分析结果为无语义。
根据本发明提供的一种基于网络地址和响应体的应用程序接口聚合方法,所述基于各个待聚合网络地址对应的掩码地址,确定所述各个待聚合网络地址之间的掩码地址相似性,具体包括:
针对所述各个待聚合网络地址中的第一待聚合网络地址和第二待聚合网络地址,若所述第一待聚合网络地址和所述第二待聚合网络地址的层级数量不同,则确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的掩码地址相似性为不相似;
若所述第一待聚合网络地址和所述第二待聚合网络地址的层级数量相同,且所述第一待聚合网络地址和所述第二待聚合网络地址对应的掩码地址中属于同一层级且语义分析结果为强语义的字段相同,则确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的掩码地址相似性为相似;
否则,确定所述第一待聚合网络地址和所述第二待聚合网络地址对应的掩码地址中属于同一层级的相同字段的数量,并基于所述第一待聚合网络地址和所述第二待聚合网络地址对应的掩码地址中属于同一层级的相同字段的数量以及所述第一待聚合网络地址和所述第二待聚合网络地址的层级数量,确定所述第一待聚合网络地址和所述第二待聚合网络地址的掩码地址相似度,基于所述第一待聚合网络地址和所述第二待聚合网络地址的掩码地址相似度,确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的掩码地址相似性。
根据本发明提供的一种基于网络地址和响应体的应用程序接口聚合方法,所述基于各个待聚合网络地址的响应体信息对应的属性集合,确定所述各个待聚合网络地址之间的响应体相似性,具体包括:
针对所述各个待聚合网络地址中的第一待聚合网络地址和第二待聚合网络地址,若所述第一待聚合网络地址的响应体信息对应的属性集合中层级属性名的数量或者所述第二待聚合网络地址的响应体信息对应的属性集合中层级属性名的数量小于预设属性数量,则在所述第一待聚合网络地址的响应体信息对应的属性集合与所述第二待聚合网络地址的响应体信息对应的属性集合相同时,确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的响应体相似性为相似,在所述第一待聚合网络地址的响应体信息对应的属性集合与所述第二待聚合网络地址的响应体信息对应的属性集合不相同时,确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的响应体相似性为不相似;
若所述第一待聚合网络地址的响应体信息对应的属性集合中层级属性名的数量和所述第二待聚合网络地址的响应体信息对应的属性集合中层级属性名的数量均大于预设属性数量,则计算所述第一待聚合网络地址的响应体信息对应的属性集合与所述第二待聚合网络地址的响应体信息对应的属性集合之间的集合相似度,并基于所述第一待聚合网络地址的响应体信息对应的属性集合与所述第二待聚合网络地址的响应体信息对应的属性集合之间的集合相似度,确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的响应体相似性。
根据本发明提供的一种基于网络地址和响应体的应用程序接口聚合方法,所述基于所述各个待聚合网络地址之间的掩码地址相似性和响应体相似性对所述各个待聚合网络地址进行应用程序接口聚合,具体包括:
针对任一待聚合网络地址,将与所述任一待聚合网络地址之间的掩码地址相似性和响应体相似性均为相似的其他待聚合网络地址与所述任一待聚合网络地址共同组合为所述任一待聚合网络地址对应的聚合组;同一聚合组中的待聚合网络地址对应同一应用程序接口。
根据本发明提供的一种基于网络地址和响应体的应用程序接口聚合方法,得到各个待聚合网络地址对应的聚合组之后还包括:
针对任一待聚合网络地址对应的聚合组,若所述任一待聚合网络地址对应的聚合组中各个待聚合网络地址对应的掩码地址中属于相同层级的字段不相同,则将各个待聚合网络地址的掩码地址中属于相应层级的字段替换为预设替换字符串,得到所述任一待聚合网络地址对应的聚合组中各个待聚合网络地址的更新掩码地址;
基于各个待聚合网络地址对应的聚合组中各个待聚合网络地址的更新掩码地址,对各个待聚合网络地址对应的聚合组进行聚合。
根据本发明提供的一种基于网络地址和响应体的应用程序接口聚合方法,所述基于各个待聚合网络地址对应的聚合组中各个待聚合网络地址的更新掩码地址,对各个待聚合网络地址对应的聚合组进行聚合,具体包括:
针对各个待聚合网络地址对应的聚合组中的第一聚合组和第二聚合组,确定所述第一聚合组的待聚合网络地址数量与所述第二聚合组的待聚合网络地址数量;
若所述第一聚合组的待聚合网络地址数量与所述第二聚合组的待聚合网络地址数量之间的较小值与较大值的比例大于预设比例值,则基于所述第一聚合组中各个待聚合网络地址的更新掩码地址以及所述第二聚合组中各个待聚合网络地址的更新掩码地址,计算所述第一聚合组与所述第二聚合组之间的集合相似度,并在所述第一聚合组与所述第二聚合组之间的集合相似度大于预设相似度阈值时将所述第一聚合组和所述第二聚合组合并。
本发明还提供一种基于网络地址和响应体的应用程序接口聚合装置,包括:
信息获取单元,用于获取多个待聚合网络地址以及所述待聚合网络地址的响应体信息;所述待聚合网络地址的响应体信息是向所述待聚合网络地址提交样本请求后所述待聚合网络地址对应的服务返回的数据;
掩码地址获取单元,用于分别对所述多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址;任一待聚合网络地址对应的掩码地址中去除了所述任一待聚合网络地址中不具备语义的字段;
响应体信息分析单元,用于分别对所述多个待聚合网络地址的响应体信息进行属性化处理,得到各个待聚合网络地址的响应体信息对应的属性集合;任一待聚合网络地址的响应体信息对应的属性集合中包含所述任一待聚合网络地址的响应体信息中的层级属性名;
聚合单元,用于基于各个待聚合网络地址对应的掩码地址,确定所述各个待聚合网络地址之间的掩码地址相似性,基于各个待聚合网络地址的响应体信息对应的属性集合,确定所述各个待聚合网络地址之间的响应体相似性,并基于所述各个待聚合网络地址之间的掩码地址相似性和响应体相似性对所述各个待聚合网络地址进行应用程序接口聚合。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于网络地址和响应体的应用程序接口聚合方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于网络地址和响应体的应用程序接口聚合方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于网络地址和响应体的应用程序接口聚合方法。
本发明提供的基于网络地址和响应体的应用程序接口聚合方法及装置,通过分别对多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址,同时分别对多个待聚合网络地址的响应体信息进行属性化处理,得到各个待聚合网络地址的响应体信息对应的属性集合,实现网络地址本身及其响应体信息的语义分析,挖掘网络地址及其响应体信息中包含的应用程序设计者对系统功能的规划思路,进而基于各个待聚合网络地址对应的掩码地址,确定各个待聚合网络地址之间的掩码地址相似性,基于各个待聚合网络地址的响应体信息对应的属性集合,确定各个待聚合网络地址之间的响应体相似性,从而结合各个待聚合网络地址之间的掩码地址相似性和响应体相似性,通过掩码地址相似性以及响应体相似性所体现出的不同待聚合网络地址之间的语义相似性,对各个待聚合网络地址进行应用程序接口聚合,提升了应用程序接口聚合的准确性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于网络地址和响应体的应用程序接口聚合方法的流程示意图;
图2是本发明提供的语义分析方法的流程示意图;
图3是本发明提供的基于网络地址和响应体的应用程序接口聚合装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明提供的基于网络地址和响应体的应用程序接口聚合方法的流程示意图,如图1所示,该方法包括:
步骤110,获取多个待聚合网络地址以及所述待聚合网络地址的响应体信息;所述待聚合网络地址的响应体信息是向所述待聚合网络地址提交样本请求后所述待聚合网络地址对应的服务返回的数据;
步骤120,分别对所述多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址;任一待聚合网络地址对应的掩码地址中去除了所述任一待聚合网络地址中不具备语义的字段;
步骤130,分别对所述多个待聚合网络地址的响应体信息进行属性化处理,得到各个待聚合网络地址的响应体信息对应的属性集合;任一待聚合网络地址的响应体信息对应的属性集合中包含所述任一待聚合网络地址的响应体信息中的层级属性名;
步骤140,基于各个待聚合网络地址对应的掩码地址,确定所述各个待聚合网络地址之间的掩码地址相似性,基于各个待聚合网络地址的响应体信息对应的属性集合,确定所述各个待聚合网络地址之间的响应体相似性,并基于所述各个待聚合网络地址之间的掩码地址相似性和响应体相似性对所述各个待聚合网络地址进行应用程序接口聚合。
具体地,待聚合网络地址可以为URL(Uniform Resource Locator,统一资源定位系统),通过分别向各个待聚合网络地址提交相应的样本请求,可以获得相应待聚合网络地址的网络服务返回的数据,作为相应待聚合网络地址的响应体信息。针对各个待聚合网络地址本身,可以分别对各个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址。其中,任一待聚合网络地址对应的掩码地址中去除了该待聚合网络地址中不具备语义的字段。
在一些实施例中,如图2所示,可以通过如下方式对各个待聚合网络地址进行语义分析:
步骤210,将任一待聚合网络地址按照预设分隔符进行切分,得到所述任一待聚合网络地址中的字段;
步骤220,针对所述任一待聚合网络地址中的任一字段,若所述任一字段的长度大于预设长度阈值,则确定所述任一字段的语义分析结果为无语义;
步骤230,若所述任一字段的长度小于所述预设长度阈值,则基于所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率,或者基于所述任一字段在所述任一待聚合网络地址中的层级以及预设字典,确定所述任一字段的语义分析结果;任一字段的语义分析结果为无语义、有语义或强语义;
步骤240,将所述任一待聚合网络地址中语义分析结果为无语义的字段替换为预设替换字符串,得到所述任一待聚合网络地址对应的掩码地址。
具体而言,针对任一待聚合网络地址,可以按照预设分隔符(例如“/”)对该待聚合网络地址进行切分,得到该待聚合网络地址中的多个字段。针对其中的各个字段可以分别获取其语义分析结果。任一字段的语义分析结果可以为无语义、有语义或强语义。此处,针对任一字段,若该字段的长度大于预设长度阈值(例如30个字符),表明该字段过长,其具备具体语义的可能性较小,因此可以确定该字段的语义分析结果为无语义。若该字段的长度不大于上述预设长度阈值,则可以对其进行进一步的分析。一种方式中,可以基于该字段在该待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率,确定该字段的语义分析结果。其中,可以获取与该待聚合网络地址属于同一域名的所有网络地址,假设该字段A位于该待聚合网络地址的层级Li,则获取上述所有网络地址中层级Li的字段,并据此统计该字段A出现的频率,从而基于该频率确定该字段A的语义分析结果。该字段A出现的频率越高,其语义分析结果越有可能为有语义或强语义。
在一些实施例中,若该字段在该待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率小于第一频率阈值(例如0.011),则确定该字段的语义分析结果为无语义;若该字段在该待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率大于第一频率阈值且小于第二频率阈值(例如0.15),则确定该字段的语义分析结果为有语义;若该字段在该待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率大于第二频率阈值,则确定该字段的语义分析结果为强语义。
另一种方式中,还可以基于该字段在该待聚合网络地址中的层级以及预设字典,确定该字段的语义分析结果。此处,若该字段在该待聚合网络地址中的层级是该待聚合网络地址的最后一个层级,则在该字段符合预设字符串规则(例如以"add"、"get"、"set"、"update"、"delete"、"query"、"load"、"bind"或"submit"开头或前面被”_”、“-”分隔开,后面接大写字母)时,确定该字段的语义分析结果为强语义,在该字段不符合上述预设字符串规则但该字段或该字段的所有分词均在预设字典中时,确定该字段的语义分析结果为强语义,在该字段不符合上述预设字符串规则且该字段或该字段的任一分词不在预设字典中时,确定该字段的语义分析结果为有语义;若该字段在该待聚合网络地址中的层级不是该待聚合网络地址的最后一个层级,则在该字段或该字段的所有分词在预设字典中时,确定该字段的语义分析结果为有语义,在该字段或该字段的任一分词不在预设字典中时,确定该字段的语义分析结果为无语义。
得到该待聚合网络地址中各个字段的语义分析结果后,将该待聚合网络地址中语义分析结果为无语义的字段替换为预设替换字符串(例如{string}),得到该待聚合网络地址对应的掩码地址。
针对各个待聚合网络地址的响应体信息,可以分别对各个待聚合网络地址的响应体信息进行属性化处理,得到各个待聚合网络地址的响应体信息对应的属性集合。其中,任一待聚合网络地址的响应体信息对应的属性集合中包含该待聚合网络地址的响应体信息中的层级属性名,其中层级属性名包含了相应属性名在响应体信息中的层级信息。以响应体信息为{“code”:“200“,”data”:{“total”:”300”},”message”:”ok”}为例,其对应的属性集合为:{"resbody%code", "resbody%data$total", "resbody%data", "resbody%message"}。
随后,基于各个待聚合网络地址对应的掩码地址,可以确定各个待聚合网络地址两两之间的掩码地址相似性,同时,基于各个待聚合网络地址的响应体信息对应的属性集合,可以确定各个待聚合网络地址两两之间的响应体相似性,从而结合各个待聚合网络地址之间的掩码地址相似性和响应体相似性,通过掩码地址相似性以及响应体相似性所体现出的不同待聚合网络地址之间的语义相似性,对各个待聚合网络地址进行应用程序接口聚合,以提升应用程序接口聚合的准确性。
在一些实施例中,在确定任意两个待聚合网络地址(假设为第一待聚合网络地址和第二待聚合网络地址)之间的掩码地址相似性时,可以首先判断第一待聚合网络地址的层级数量和第二待聚合网络地址的层级数量是否相同。若两者的层级数量不同,则确定第一待聚合网络地址和第二待聚合网络地址之间的掩码地址相似性为不相似。若两者的层级数量相同,且第一待聚合网络地址和第二待聚合网络地址对应的掩码地址中属于同一层级且语义分析结果为强语义的字段相同,则确定第一待聚合网络地址和第二待聚合网络地址之间的掩码地址相似性为相似。具体而言,若第一待聚合网络地址在各个层级Li的强语义字段与第二待聚合网络地址在相应层级Li的强语义字段均相同,则确定第一待聚合网络地址和第二待聚合网络地址之间的掩码地址相似性为相似。
若两者的层级数量相同,且第一待聚合网络地址和第二待聚合网络地址对应的掩码地址中存在属于同一层级且语义分析结果为强语义的字段不同的情况,即第一待聚合网络地址在任一层级Li的强语义字段与第二待聚合网络地址在该层级Li的强语义字段不同,则确定第一待聚合网络地址和第二待聚合网络地址对应的掩码地址中属于同一层级的相同字段的数量(可以遍历第一待聚合网络地址和第二待聚合网络地址的各个层级,若第一待聚合网络地址和第二待聚合网络地址在当前层级的字段是相同的,则统计值加1,直至遍历完所有层级,得到的统计值即为属于上述同一层级的相同字段的数量),并基于第一待聚合网络地址和第二待聚合网络地址对应的掩码地址中属于同一层级的相同字段的数量(假设为N)以及第一待聚合网络地址和第二待聚合网络地址的层级数量(假设为M),确定第一待聚合网络地址和第二待聚合网络地址的掩码地址相似度(例如可以为N/M),基于第一待聚合网络地址和第二待聚合网络地址的掩码地址相似度,确定第一待聚合网络地址和第二待聚合网络地址之间的掩码地址相似性。此处,若第一待聚合网络地址和第二待聚合网络地址的层级数量小于预设层级数(例如2),则基于预设低阈值(例如0.5)以及上述掩码地址相似度确定第一待聚合网络地址和第二待聚合网络地址之间的掩码地址相似性;否则,基于预设高阈值(例如0.66)以及上述掩码地址相似度确定第一待聚合网络地址和第二待聚合网络地址之间的掩码地址相似性。
在另一些实施例中,在确定任意两个待聚合网络地址(假设为第一待聚合网络地址和第二待聚合网络地址)之间的响应体相似性时,若第一待聚合网络地址的响应体信息对应的属性集合中层级属性名的数量或者第二待聚合网络地址的响应体信息对应的属性集合中层级属性名的数量小于预设属性数量(例如3),则在第一待聚合网络地址的响应体信息对应的属性集合与第二待聚合网络地址的响应体信息对应的属性集合相同(即属性集合中的层级属性名相同)时,确定第一待聚合网络地址和第二待聚合网络地址之间的响应体相似性为相似,在第一待聚合网络地址的响应体信息对应的属性集合与第二待聚合网络地址的响应体信息对应的属性集合不相同时,确定第一待聚合网络地址和第二待聚合网络地址之间的响应体相似性为不相似;
若第一待聚合网络地址的响应体信息对应的属性集合中层级属性名的数量和第二待聚合网络地址的响应体信息对应的属性集合中层级属性名的数量均大于预设属性数量,则计算第一待聚合网络地址的响应体信息对应的属性集合与第二待聚合网络地址的响应体信息对应的属性集合之间的集合相似度,并基于第一待聚合网络地址的响应体信息对应的属性集合与第二待聚合网络地址的响应体信息对应的属性集合之间的集合相似度,确定第一待聚合网络地址和第二待聚合网络地址之间的响应体相似性。其中,可以基于以下公式计算第一待聚合网络地址的响应体信息对应的属性集合与第二待聚合网络地址的响应体信息对应的属性集合之间的集合相似度C1:
其中,A为第一待聚合网络地址的响应体信息对应的属性集合与第二待聚合网络地址的响应体信息对应的属性集合之间的较小集合,B为A以外的另一属性集合。
得到各个待聚合网络地址两两之间的掩码地址相似性和响应体相似性后,可以据此对各个待聚合网络地址进行应用程序接口聚合。在一些实施例中,针对任一待聚合网络地址,可以将与该待聚合网络地址之间的掩码地址相似性和响应体相似性均为相似的其他待聚合网络地址与该待聚合网络地址共同组合为该待聚合网络地址对应的聚合组。通过相同方式,可以得到各个待聚合网络地址对应的聚合组。其中,同一聚合组中的待聚合网络地址对应同一应用程序接口。
在另一些实施例中,得到各个待聚合网络地址对应的聚合组之后,针对任一待聚合网络地址对应的聚合组,若该待聚合网络地址对应的聚合组中各个待聚合网络地址对应的掩码地址中属于相同层级的字段不相同,则将各个待聚合网络地址的掩码地址中属于相应层级的字段替换为预设替换字符串,得到该待聚合网络地址对应的聚合组中各个待聚合网络地址的更新掩码地址。其中,假设该聚合组中任意两个待聚合网络地址在层级Li的字段不相同,则将该聚合组中所有待聚合网络地址在层级Li的字段均替换为预设替换字符串。通过相同方式,可以获取各个待聚合组中各个待聚合网络地址的更新掩码地址。基于各个待聚合网络地址对应的聚合组中各个待聚合网络地址的更新掩码地址,可以对各个待聚合网络地址对应的聚合组进行聚合。
此处,针对各个待聚合网络地址对应的聚合组中任意两个聚合组(记为第一聚合组和第二聚合组),可以确定第一聚合组的待聚合网络地址数量以及第二聚合组的待聚合网络地址数量。若第一聚合组的待聚合网络地址数量(假设为X)与第二聚合组的待聚合网络地址数量(假设为Y)之间的较小值(即min(X,Y))与较大值(即max(X,Y))的比例大于预设比例值(例如0.9),则基于第一聚合组中各个待聚合网络地址的更新掩码地址以及第二聚合组中各个待聚合网络地址的更新掩码地址,计算第一聚合组与第二聚合组之间的集合相似度,并在第一聚合组与第二聚合组之间的集合相似度大于预设相似度阈值(例如0.9)时将第一聚合组和第二聚合组合并。其中,可以基于如下公式计算第一聚合组P与第二聚合组Q之间的集合相似度C2:
其中,是针对P和Q的待聚合网络地址的更新掩码地址,确定更新掩码地址的交集,/>是针对P和Q的待聚合网络地址的更新掩码地址,确定更新掩码地址的并集。
综上所述,基于本发明实施例提供的方法,通过分别对多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址,同时分别对多个待聚合网络地址的响应体信息进行属性化处理,得到各个待聚合网络地址的响应体信息对应的属性集合,实现网络地址本身及其响应体信息的语义分析,挖掘网络地址及其响应体信息中包含的应用程序设计者对系统功能的规划思路,进而基于各个待聚合网络地址对应的掩码地址,确定各个待聚合网络地址之间的掩码地址相似性,基于各个待聚合网络地址的响应体信息对应的属性集合,确定各个待聚合网络地址之间的响应体相似性,从而结合各个待聚合网络地址之间的掩码地址相似性和响应体相似性,通过掩码地址相似性以及响应体相似性所体现出的不同待聚合网络地址之间的语义相似性,对各个待聚合网络地址进行应用程序接口聚合,提升了应用程序接口聚合的准确性。
下面对本发明提供的基于网络地址和响应体的应用程序接口聚合装置进行描述,下文描述的基于网络地址和响应体的应用程序接口聚合装置与上文描述的基于网络地址和响应体的应用程序接口聚合方法可相互对应参照。
基于上述任一实施例,图3是本发明提供的基于网络地址和响应体的应用程序接口聚合装置的结构示意图,如图3所示,该装置包括:
信息获取单元310,用于获取多个待聚合网络地址以及所述待聚合网络地址的响应体信息;所述待聚合网络地址的响应体信息是向所述待聚合网络地址提交样本请求后所述待聚合网络地址对应的服务返回的数据;
掩码地址获取单元320,用于分别对所述多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址;任一待聚合网络地址对应的掩码地址中去除了所述任一待聚合网络地址中不具备语义的字段;
响应体信息分析单元330,用于分别对所述多个待聚合网络地址的响应体信息进行属性化处理,得到各个待聚合网络地址的响应体信息对应的属性集合;任一待聚合网络地址的响应体信息对应的属性集合中包含所述任一待聚合网络地址的响应体信息中的层级属性名;
聚合单元340,用于基于各个待聚合网络地址对应的掩码地址,确定所述各个待聚合网络地址之间的掩码地址相似性,基于各个待聚合网络地址的响应体信息对应的属性集合,确定所述各个待聚合网络地址之间的响应体相似性,并基于所述各个待聚合网络地址之间的掩码地址相似性和响应体相似性对所述各个待聚合网络地址进行应用程序接口聚合。
本发明实施例提供的装置,通过分别对多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址,同时分别对多个待聚合网络地址的响应体信息进行属性化处理,得到各个待聚合网络地址的响应体信息对应的属性集合,实现网络地址本身及其响应体信息的语义分析,挖掘网络地址及其响应体信息中包含的应用程序设计者对系统功能的规划思路,进而基于各个待聚合网络地址对应的掩码地址,确定各个待聚合网络地址之间的掩码地址相似性,基于各个待聚合网络地址的响应体信息对应的属性集合,确定各个待聚合网络地址之间的响应体相似性,从而结合各个待聚合网络地址之间的掩码地址相似性和响应体相似性,通过掩码地址相似性以及响应体相似性所体现出的不同待聚合网络地址之间的语义相似性,对各个待聚合网络地址进行应用程序接口聚合,提升了应用程序接口聚合的准确性。
基于上述任一实施例,所述分别对所述多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址,具体包括:
将任一待聚合网络地址按照预设分隔符进行切分,得到所述任一待聚合网络地址中的字段;
针对所述任一待聚合网络地址中的任一字段,若所述任一字段的长度大于预设长度阈值,则确定所述任一字段的语义分析结果为无语义;
若所述任一字段的长度小于所述预设长度阈值,则基于所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率,或者基于所述任一字段在所述任一待聚合网络地址中的层级以及预设字典,确定所述任一字段的语义分析结果;任一字段的语义分析结果为无语义、有语义或强语义;
将所述任一待聚合网络地址中语义分析结果为无语义的字段替换为预设替换字符串,得到所述任一待聚合网络地址对应的掩码地址。
基于上述任一实施例,基于所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率,确定所述任一字段的语义分析结果,具体包括:
若所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率小于第一频率阈值,则确定所述任一字段的语义分析结果为无语义;
若所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率大于所述第一频率阈值且小于第二频率阈值,则确定所述任一字段的语义分析结果为有语义;
若所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率大于所述第二频率阈值,则确定所述任一字段的语义分析结果为强语义。
基于上述任一实施例,基于所述任一字段在所述任一待聚合网络地址中的层级以及预设字典,确定所述任一字段的语义分析结果,具体包括:
若所述任一字段在所述任一待聚合网络地址中的层级是所述任一待聚合网络地址的最后一个层级,则在所述任一字段符合预设字符串规则时,确定所述任一字段的语义分析结果为强语义,在所述任一字段不符合预设字符串规则且所述任一字段或所述任一字段的所有分词在预设字典中时,确定所述任一字段的语义分析结果为强语义,在所述任一字段不符合预设字符串规则且所述任一字段或所述任一字段的任一分词不在预设字典中时,确定所述任一字段的语义分析结果为有语义;
若所述任一字段在所述任一待聚合网络地址中的层级不是所述任一待聚合网络地址的最后一个层级,则在所述任一字段或所述任一字段的所有分词在预设字典中时,确定所述任一字段的语义分析结果为有语义,在所述任一字段或所述任一字段的任一分词不在预设字典中时,确定所述任一字段的语义分析结果为无语义。
基于上述任一实施例,所述基于各个待聚合网络地址对应的掩码地址,确定所述各个待聚合网络地址之间的掩码地址相似性,具体包括:
针对所述各个待聚合网络地址中的第一待聚合网络地址和第二待聚合网络地址,若所述第一待聚合网络地址和所述第二待聚合网络地址的层级数量不同,则确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的掩码地址相似性为不相似;
若所述第一待聚合网络地址和所述第二待聚合网络地址的层级数量相同,且所述第一待聚合网络地址和所述第二待聚合网络地址对应的掩码地址中属于同一层级且语义分析结果为强语义的字段相同,则确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的掩码地址相似性为相似;
否则,确定所述第一待聚合网络地址和所述第二待聚合网络地址对应的掩码地址中属于同一层级的相同字段的数量,并基于所述第一待聚合网络地址和所述第二待聚合网络地址对应的掩码地址中属于同一层级的相同字段的数量以及所述第一待聚合网络地址和所述第二待聚合网络地址的层级数量,确定所述第一待聚合网络地址和所述第二待聚合网络地址的掩码地址相似度,基于所述第一待聚合网络地址和所述第二待聚合网络地址的掩码地址相似度,确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的掩码地址相似性。
基于上述任一实施例,所述基于各个待聚合网络地址的响应体信息对应的属性集合,确定所述各个待聚合网络地址之间的响应体相似性,具体包括:
针对所述各个待聚合网络地址中的第一待聚合网络地址和第二待聚合网络地址,若所述第一待聚合网络地址的响应体信息对应的属性集合中层级属性名的数量或者所述第二待聚合网络地址的响应体信息对应的属性集合中层级属性名的数量小于预设属性数量,则在所述第一待聚合网络地址的响应体信息对应的属性集合与所述第二待聚合网络地址的响应体信息对应的属性集合相同时,确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的响应体相似性为相似,在所述第一待聚合网络地址的响应体信息对应的属性集合与所述第二待聚合网络地址的响应体信息对应的属性集合不相同时,确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的响应体相似性为不相似;
若所述第一待聚合网络地址的响应体信息对应的属性集合中层级属性名的数量和所述第二待聚合网络地址的响应体信息对应的属性集合中层级属性名的数量均大于预设属性数量,则计算所述第一待聚合网络地址的响应体信息对应的属性集合与所述第二待聚合网络地址的响应体信息对应的属性集合之间的集合相似度,并基于所述第一待聚合网络地址的响应体信息对应的属性集合与所述第二待聚合网络地址的响应体信息对应的属性集合之间的集合相似度,确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的响应体相似性。
基于上述任一实施例,所述基于所述各个待聚合网络地址之间的掩码地址相似性和响应体相似性对所述各个待聚合网络地址进行应用程序接口聚合,具体包括:
针对任一待聚合网络地址,将与所述任一待聚合网络地址之间的掩码地址相似性和响应体相似性均为相似的其他待聚合网络地址与所述任一待聚合网络地址共同组合为所述任一待聚合网络地址对应的聚合组;同一聚合组中的待聚合网络地址对应同一应用程序接口。
基于上述任一实施例,得到各个待聚合网络地址对应的聚合组之后,聚合单元340还用于:
针对任一待聚合网络地址对应的聚合组,若所述任一待聚合网络地址对应的聚合组中各个待聚合网络地址对应的掩码地址中属于相同层级的字段不相同,则将各个待聚合网络地址的掩码地址中属于相应层级的字段替换为预设替换字符串,得到所述任一待聚合网络地址对应的聚合组中各个待聚合网络地址的更新掩码地址;
基于各个待聚合网络地址对应的聚合组中各个待聚合网络地址的更新掩码地址,对各个待聚合网络地址对应的聚合组进行聚合。
基于上述任一实施例,所述基于各个待聚合网络地址对应的聚合组中各个待聚合网络地址的更新掩码地址,对各个待聚合网络地址对应的聚合组进行聚合,具体包括:
针对各个待聚合网络地址对应的聚合组中的第一聚合组和第二聚合组,确定所述第一聚合组的待聚合网络地址数量与所述第二聚合组的待聚合网络地址数量;
若所述第一聚合组的待聚合网络地址数量与所述第二聚合组的待聚合网络地址数量之间的较小值与较大值的比例大于预设比例值,则基于所述第一聚合组中各个待聚合网络地址的更新掩码地址以及所述第二聚合组中各个待聚合网络地址的更新掩码地址,计算所述第一聚合组与所述第二聚合组之间的集合相似度,并在所述第一聚合组与所述第二聚合组之间的集合相似度大于预设相似度阈值时将所述第一聚合组和所述第二聚合组合并。
图4是本发明提供的电子设备的结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、存储器(memory)420、通信接口(Communications Interface)430和通信总线440,其中,处理器410,存储器420,通信接口430通过通信总线440完成相互间的通信。处理器410可以调用存储器420中的逻辑指令,以执行基于网络地址和响应体的应用程序接口聚合方法,该方法包括:获取多个待聚合网络地址以及所述待聚合网络地址的响应体信息;所述待聚合网络地址的响应体信息是向所述待聚合网络地址提交样本请求后所述待聚合网络地址对应的服务返回的数据;分别对所述多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址;任一待聚合网络地址对应的掩码地址中去除了所述任一待聚合网络地址中不具备语义的字段;分别对所述多个待聚合网络地址的响应体信息进行属性化处理,得到各个待聚合网络地址的响应体信息对应的属性集合;任一待聚合网络地址的响应体信息对应的属性集合中包含所述任一待聚合网络地址的响应体信息中的层级属性名;基于各个待聚合网络地址对应的掩码地址,确定所述各个待聚合网络地址之间的掩码地址相似性,基于各个待聚合网络地址的响应体信息对应的属性集合,确定所述各个待聚合网络地址之间的响应体相似性,并基于所述各个待聚合网络地址之间的掩码地址相似性和响应体相似性对所述各个待聚合网络地址进行应用程序接口聚合。
此外,上述的存储器420中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于网络地址和响应体的应用程序接口聚合方法,该方法包括:获取多个待聚合网络地址以及所述待聚合网络地址的响应体信息;所述待聚合网络地址的响应体信息是向所述待聚合网络地址提交样本请求后所述待聚合网络地址对应的服务返回的数据;分别对所述多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址;任一待聚合网络地址对应的掩码地址中去除了所述任一待聚合网络地址中不具备语义的字段;分别对所述多个待聚合网络地址的响应体信息进行属性化处理,得到各个待聚合网络地址的响应体信息对应的属性集合;任一待聚合网络地址的响应体信息对应的属性集合中包含所述任一待聚合网络地址的响应体信息中的层级属性名;基于各个待聚合网络地址对应的掩码地址,确定所述各个待聚合网络地址之间的掩码地址相似性,基于各个待聚合网络地址的响应体信息对应的属性集合,确定所述各个待聚合网络地址之间的响应体相似性,并基于所述各个待聚合网络地址之间的掩码地址相似性和响应体相似性对所述各个待聚合网络地址进行应用程序接口聚合。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的基于网络地址和响应体的应用程序接口聚合方法,该方法包括:获取多个待聚合网络地址以及所述待聚合网络地址的响应体信息;所述待聚合网络地址的响应体信息是向所述待聚合网络地址提交样本请求后所述待聚合网络地址对应的服务返回的数据;分别对所述多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址;任一待聚合网络地址对应的掩码地址中去除了所述任一待聚合网络地址中不具备语义的字段;分别对所述多个待聚合网络地址的响应体信息进行属性化处理,得到各个待聚合网络地址的响应体信息对应的属性集合;任一待聚合网络地址的响应体信息对应的属性集合中包含所述任一待聚合网络地址的响应体信息中的层级属性名;基于各个待聚合网络地址对应的掩码地址,确定所述各个待聚合网络地址之间的掩码地址相似性,基于各个待聚合网络地址的响应体信息对应的属性集合,确定所述各个待聚合网络地址之间的响应体相似性,并基于所述各个待聚合网络地址之间的掩码地址相似性和响应体相似性对所述各个待聚合网络地址进行应用程序接口聚合。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (3)
1.一种基于网络地址和响应体的应用程序接口聚合方法,其特征在于,包括:
获取多个待聚合网络地址以及所述待聚合网络地址的响应体信息;所述待聚合网络地址的响应体信息是向所述待聚合网络地址提交样本请求后所述待聚合网络地址对应的服务返回的数据;
分别对所述多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址;任一待聚合网络地址对应的掩码地址中去除了所述任一待聚合网络地址中不具备语义的字段;
分别对所述多个待聚合网络地址的响应体信息进行属性化处理,得到各个待聚合网络地址的响应体信息对应的属性集合;任一待聚合网络地址的响应体信息对应的属性集合中包含所述任一待聚合网络地址的响应体信息中的层级属性名;
基于各个待聚合网络地址对应的掩码地址,确定所述各个待聚合网络地址之间的掩码地址相似性,基于各个待聚合网络地址的响应体信息对应的属性集合,确定所述各个待聚合网络地址之间的响应体相似性,并基于所述各个待聚合网络地址之间的掩码地址相似性和响应体相似性对所述各个待聚合网络地址进行应用程序接口聚合;
所述分别对所述多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址,具体包括:
将任一待聚合网络地址按照预设分隔符进行切分,得到所述任一待聚合网络地址中的字段;
针对所述任一待聚合网络地址中的任一字段,若所述任一字段的长度大于预设长度阈值,则确定所述任一字段的语义分析结果为无语义;
若所述任一字段的长度小于所述预设长度阈值,则基于所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率,或者基于所述任一字段在所述任一待聚合网络地址中的层级以及预设字典,确定所述任一字段的语义分析结果;任一字段的语义分析结果为无语义、有语义或强语义;
将所述任一待聚合网络地址中语义分析结果为无语义的字段替换为预设替换字符串,得到所述任一待聚合网络地址对应的掩码地址;
基于所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率,确定所述任一字段的语义分析结果,具体包括:
若所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率小于第一频率阈值,则确定所述任一字段的语义分析结果为无语义;
若所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率大于所述第一频率阈值且小于第二频率阈值,则确定所述任一字段的语义分析结果为有语义;
若所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率大于所述第二频率阈值,则确定所述任一字段的语义分析结果为强语义;
基于所述任一字段在所述任一待聚合网络地址中的层级以及预设字典,确定所述任一字段的语义分析结果,具体包括:
若所述任一字段在所述任一待聚合网络地址中的层级是所述任一待聚合网络地址的最后一个层级,则在所述任一字段符合预设字符串规则时,确定所述任一字段的语义分析结果为强语义,在所述任一字段不符合预设字符串规则且所述任一字段或所述任一字段的所有分词在预设字典中时,确定所述任一字段的语义分析结果为强语义,在所述任一字段不符合预设字符串规则且所述任一字段或所述任一字段的任一分词不在预设字典中时,确定所述任一字段的语义分析结果为有语义;
若所述任一字段在所述任一待聚合网络地址中的层级不是所述任一待聚合网络地址的最后一个层级,则在所述任一字段或所述任一字段的所有分词在预设字典中时,确定所述任一字段的语义分析结果为有语义,在所述任一字段或所述任一字段的任一分词不在预设字典中时,确定所述任一字段的语义分析结果为无语义;
所述基于各个待聚合网络地址对应的掩码地址,确定所述各个待聚合网络地址之间的掩码地址相似性,具体包括:
针对所述各个待聚合网络地址中的第一待聚合网络地址和第二待聚合网络地址,若所述第一待聚合网络地址和所述第二待聚合网络地址的层级数量不同,则确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的掩码地址相似性为不相似;
若所述第一待聚合网络地址和所述第二待聚合网络地址的层级数量相同,且所述第一待聚合网络地址和所述第二待聚合网络地址对应的掩码地址中属于同一层级且语义分析结果为强语义的字段相同,则确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的掩码地址相似性为相似;
否则,确定所述第一待聚合网络地址和所述第二待聚合网络地址对应的掩码地址中属于同一层级的相同字段的数量,并基于所述第一待聚合网络地址和所述第二待聚合网络地址对应的掩码地址中属于同一层级的相同字段的数量以及所述第一待聚合网络地址和所述第二待聚合网络地址的层级数量,确定所述第一待聚合网络地址和所述第二待聚合网络地址的掩码地址相似度,基于所述第一待聚合网络地址和所述第二待聚合网络地址的掩码地址相似度,确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的掩码地址相似性;
所述基于所述各个待聚合网络地址之间的掩码地址相似性和响应体相似性对所述各个待聚合网络地址进行应用程序接口聚合,具体包括:
针对任一待聚合网络地址,将与所述任一待聚合网络地址之间的掩码地址相似性和响应体相似性均为相似的其他待聚合网络地址与所述任一待聚合网络地址共同组合为所述任一待聚合网络地址对应的聚合组;同一聚合组中的待聚合网络地址对应同一应用程序接口;
得到各个待聚合网络地址对应的聚合组之后还包括:
针对任一待聚合网络地址对应的聚合组,若所述任一待聚合网络地址对应的聚合组中各个待聚合网络地址对应的掩码地址中属于相同层级的字段不相同,则将各个待聚合网络地址的掩码地址中属于相应层级的字段替换为预设替换字符串,得到所述任一待聚合网络地址对应的聚合组中各个待聚合网络地址的更新掩码地址;
基于各个待聚合网络地址对应的聚合组中各个待聚合网络地址的更新掩码地址,对各个待聚合网络地址对应的聚合组进行聚合;
所述基于各个待聚合网络地址对应的聚合组中各个待聚合网络地址的更新掩码地址,对各个待聚合网络地址对应的聚合组进行聚合,具体包括:
针对各个待聚合网络地址对应的聚合组中的第一聚合组和第二聚合组,确定所述第一聚合组的待聚合网络地址数量与所述第二聚合组的待聚合网络地址数量;
若所述第一聚合组的待聚合网络地址数量与所述第二聚合组的待聚合网络地址数量之间的较小值与较大值的比例大于预设比例值,则基于所述第一聚合组中各个待聚合网络地址的更新掩码地址以及所述第二聚合组中各个待聚合网络地址的更新掩码地址,计算所述第一聚合组与所述第二聚合组之间的集合相似度,并在所述第一聚合组与所述第二聚合组之间的集合相似度大于预设相似度阈值时将所述第一聚合组和所述第二聚合组合并。
2.根据权利要求1所述的基于网络地址和响应体的应用程序接口聚合方法,其特征在于,所述基于各个待聚合网络地址的响应体信息对应的属性集合,确定所述各个待聚合网络地址之间的响应体相似性,具体包括:
针对所述各个待聚合网络地址中的第一待聚合网络地址和第二待聚合网络地址,若所述第一待聚合网络地址的响应体信息对应的属性集合中层级属性名的数量或者所述第二待聚合网络地址的响应体信息对应的属性集合中层级属性名的数量小于预设属性数量,则在所述第一待聚合网络地址的响应体信息对应的属性集合与所述第二待聚合网络地址的响应体信息对应的属性集合相同时,确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的响应体相似性为相似,在所述第一待聚合网络地址的响应体信息对应的属性集合与所述第二待聚合网络地址的响应体信息对应的属性集合不相同时,确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的响应体相似性为不相似;
若所述第一待聚合网络地址的响应体信息对应的属性集合中层级属性名的数量和所述第二待聚合网络地址的响应体信息对应的属性集合中层级属性名的数量均大于预设属性数量,则计算所述第一待聚合网络地址的响应体信息对应的属性集合与所述第二待聚合网络地址的响应体信息对应的属性集合之间的集合相似度,并基于所述第一待聚合网络地址的响应体信息对应的属性集合与所述第二待聚合网络地址的响应体信息对应的属性集合之间的集合相似度,确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的响应体相似性。
3.一种基于网络地址和响应体的应用程序接口聚合装置,其特征在于,包括:
信息获取单元,用于获取多个待聚合网络地址以及所述待聚合网络地址的响应体信息;所述待聚合网络地址的响应体信息是向所述待聚合网络地址提交样本请求后所述待聚合网络地址对应的服务返回的数据;
掩码地址获取单元,用于分别对所述多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址;任一待聚合网络地址对应的掩码地址中去除了所述任一待聚合网络地址中不具备语义的字段;
响应体信息分析单元,用于分别对所述多个待聚合网络地址的响应体信息进行属性化处理,得到各个待聚合网络地址的响应体信息对应的属性集合;任一待聚合网络地址的响应体信息对应的属性集合中包含所述任一待聚合网络地址的响应体信息中的层级属性名;
聚合单元,用于基于各个待聚合网络地址对应的掩码地址,确定所述各个待聚合网络地址之间的掩码地址相似性,基于各个待聚合网络地址的响应体信息对应的属性集合,确定所述各个待聚合网络地址之间的响应体相似性,并基于所述各个待聚合网络地址之间的掩码地址相似性和响应体相似性对所述各个待聚合网络地址进行应用程序接口聚合;
所述分别对所述多个待聚合网络地址进行语义分析,得到各个待聚合网络地址对应的掩码地址,具体包括:
将任一待聚合网络地址按照预设分隔符进行切分,得到所述任一待聚合网络地址中的字段;
针对所述任一待聚合网络地址中的任一字段,若所述任一字段的长度大于预设长度阈值,则确定所述任一字段的语义分析结果为无语义;
若所述任一字段的长度小于所述预设长度阈值,则基于所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率,或者基于所述任一字段在所述任一待聚合网络地址中的层级以及预设字典,确定所述任一字段的语义分析结果;任一字段的语义分析结果为无语义、有语义或强语义;
将所述任一待聚合网络地址中语义分析结果为无语义的字段替换为预设替换字符串,得到所述任一待聚合网络地址对应的掩码地址;
基于所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率,确定所述任一字段的语义分析结果,具体包括:
若所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率小于第一频率阈值,则确定所述任一字段的语义分析结果为无语义;
若所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率大于所述第一频率阈值且小于第二频率阈值,则确定所述任一字段的语义分析结果为有语义;
若所述任一字段在所述任一待聚合网络地址所属域名对应的所有网络地址的同一层级出现的频率大于所述第二频率阈值,则确定所述任一字段的语义分析结果为强语义;
基于所述任一字段在所述任一待聚合网络地址中的层级以及预设字典,确定所述任一字段的语义分析结果,具体包括:
若所述任一字段在所述任一待聚合网络地址中的层级是所述任一待聚合网络地址的最后一个层级,则在所述任一字段符合预设字符串规则时,确定所述任一字段的语义分析结果为强语义,在所述任一字段不符合预设字符串规则且所述任一字段或所述任一字段的所有分词在预设字典中时,确定所述任一字段的语义分析结果为强语义,在所述任一字段不符合预设字符串规则且所述任一字段或所述任一字段的任一分词不在预设字典中时,确定所述任一字段的语义分析结果为有语义;
若所述任一字段在所述任一待聚合网络地址中的层级不是所述任一待聚合网络地址的最后一个层级,则在所述任一字段或所述任一字段的所有分词在预设字典中时,确定所述任一字段的语义分析结果为有语义,在所述任一字段或所述任一字段的任一分词不在预设字典中时,确定所述任一字段的语义分析结果为无语义;
所述基于各个待聚合网络地址对应的掩码地址,确定所述各个待聚合网络地址之间的掩码地址相似性,具体包括:
针对所述各个待聚合网络地址中的第一待聚合网络地址和第二待聚合网络地址,若所述第一待聚合网络地址和所述第二待聚合网络地址的层级数量不同,则确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的掩码地址相似性为不相似;
若所述第一待聚合网络地址和所述第二待聚合网络地址的层级数量相同,且所述第一待聚合网络地址和所述第二待聚合网络地址对应的掩码地址中属于同一层级且语义分析结果为强语义的字段相同,则确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的掩码地址相似性为相似;
否则,确定所述第一待聚合网络地址和所述第二待聚合网络地址对应的掩码地址中属于同一层级的相同字段的数量,并基于所述第一待聚合网络地址和所述第二待聚合网络地址对应的掩码地址中属于同一层级的相同字段的数量以及所述第一待聚合网络地址和所述第二待聚合网络地址的层级数量,确定所述第一待聚合网络地址和所述第二待聚合网络地址的掩码地址相似度,基于所述第一待聚合网络地址和所述第二待聚合网络地址的掩码地址相似度,确定所述第一待聚合网络地址和所述第二待聚合网络地址之间的掩码地址相似性;
所述基于所述各个待聚合网络地址之间的掩码地址相似性和响应体相似性对所述各个待聚合网络地址进行应用程序接口聚合,具体包括:
针对任一待聚合网络地址,将与所述任一待聚合网络地址之间的掩码地址相似性和响应体相似性均为相似的其他待聚合网络地址与所述任一待聚合网络地址共同组合为所述任一待聚合网络地址对应的聚合组;同一聚合组中的待聚合网络地址对应同一应用程序接口;
得到各个待聚合网络地址对应的聚合组之后还包括:
针对任一待聚合网络地址对应的聚合组,若所述任一待聚合网络地址对应的聚合组中各个待聚合网络地址对应的掩码地址中属于相同层级的字段不相同,则将各个待聚合网络地址的掩码地址中属于相应层级的字段替换为预设替换字符串,得到所述任一待聚合网络地址对应的聚合组中各个待聚合网络地址的更新掩码地址;
基于各个待聚合网络地址对应的聚合组中各个待聚合网络地址的更新掩码地址,对各个待聚合网络地址对应的聚合组进行聚合;
所述基于各个待聚合网络地址对应的聚合组中各个待聚合网络地址的更新掩码地址,对各个待聚合网络地址对应的聚合组进行聚合,具体包括:
针对各个待聚合网络地址对应的聚合组中的第一聚合组和第二聚合组,确定所述第一聚合组的待聚合网络地址数量与所述第二聚合组的待聚合网络地址数量;
若所述第一聚合组的待聚合网络地址数量与所述第二聚合组的待聚合网络地址数量之间的较小值与较大值的比例大于预设比例值,则基于所述第一聚合组中各个待聚合网络地址的更新掩码地址以及所述第二聚合组中各个待聚合网络地址的更新掩码地址,计算所述第一聚合组与所述第二聚合组之间的集合相似度,并在所述第一聚合组与所述第二聚合组之间的集合相似度大于预设相似度阈值时将所述第一聚合组和所述第二聚合组合并。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410179400.7A CN117729176B (zh) | 2024-02-18 | 2024-02-18 | 基于网络地址和响应体的应用程序接口聚合方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410179400.7A CN117729176B (zh) | 2024-02-18 | 2024-02-18 | 基于网络地址和响应体的应用程序接口聚合方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117729176A CN117729176A (zh) | 2024-03-19 |
CN117729176B true CN117729176B (zh) | 2024-04-26 |
Family
ID=90203885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410179400.7A Active CN117729176B (zh) | 2024-02-18 | 2024-02-18 | 基于网络地址和响应体的应用程序接口聚合方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117729176B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6826621B1 (en) * | 2000-04-24 | 2004-11-30 | International Business Machines Corporation | Method and system for aggregating interface addresses |
WO2013010585A1 (en) * | 2011-07-20 | 2013-01-24 | Nokia Siemens Networks Oy | Logical rules based domain name server setup |
CN112738297A (zh) * | 2021-04-01 | 2021-04-30 | 北京达佳互联信息技术有限公司 | Ip地址定位数据获取方法、装置、服务器及存储介质 |
CN116708369A (zh) * | 2023-08-02 | 2023-09-05 | 闪捷信息科技有限公司 | 网络应用信息合并方法、装置、电子设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3718621B2 (ja) * | 2000-06-23 | 2005-11-24 | 株式会社ルートレック・ネットワークス | インターネットアドレス決定方法及び装置 |
JP7041281B2 (ja) * | 2019-07-04 | 2022-03-23 | 浙江大学 | ディープニューラルネットワークモデルに基づくアドレス情報特徴抽出方法 |
-
2024
- 2024-02-18 CN CN202410179400.7A patent/CN117729176B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6826621B1 (en) * | 2000-04-24 | 2004-11-30 | International Business Machines Corporation | Method and system for aggregating interface addresses |
WO2013010585A1 (en) * | 2011-07-20 | 2013-01-24 | Nokia Siemens Networks Oy | Logical rules based domain name server setup |
CN112738297A (zh) * | 2021-04-01 | 2021-04-30 | 北京达佳互联信息技术有限公司 | Ip地址定位数据获取方法、装置、服务器及存储介质 |
CN116708369A (zh) * | 2023-08-02 | 2023-09-05 | 闪捷信息科技有限公司 | 网络应用信息合并方法、装置、电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
IP地址聚合算法的研究与分析;阮晓龙;路景鑫;;微型电脑应用;20170620(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117729176A (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522968A (zh) | 知识图谱融合方法及装置 | |
CN112416972A (zh) | 实时数据流处理方法、装置、设备、及可读存储介质 | |
CN114706894A (zh) | 信息处理方法、装置、设备、存储介质及程序产品 | |
CN114281989A (zh) | 基于文本相似度的数据去重方法、装置及存储介质和服务器 | |
CN113821630B (zh) | 一种数据聚类的方法和装置 | |
CN113901037A (zh) | 数据管理方法、装置及存储介质 | |
CN111539206B (zh) | 一种确定敏感信息的方法、装置、设备及存储介质 | |
CN117729176B (zh) | 基于网络地址和响应体的应用程序接口聚合方法及装置 | |
CN112000848A (zh) | 一种图数据处理方法、装置、电子设备及存储介质 | |
CN116301656A (zh) | 基于日志结构合并树的数据存储方法、系统及设备 | |
CN107169065B (zh) | 一种特定内容的去除方法和装置 | |
CN115687359A (zh) | 数据表分区方法及装置、存储介质、计算机设备 | |
CN106294096B (zh) | 一种信息处理方法及装置 | |
CN111737461B (zh) | 文本的处理方法、装置、电子设备及计算机可读存储介质 | |
CN111061719A (zh) | 数据收集方法、装置、设备和存储介质 | |
CN111522941A (zh) | 文本聚类方法、装置、电子设备及计算机存储介质 | |
CN117009439B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN116361517B (zh) | 一种企业字号查重方法、装置、设备和介质 | |
CN116341566B (zh) | 文本去重方法、装置、电子设备及存储介质 | |
CN114138552B (zh) | 数据动态重删方法、系统、终端及存储介质 | |
CN117874309B (zh) | 一种列控数据处理方法、装置、电子设备及存储介质 | |
CN117389908B (zh) | 接口自动化测试用例的依赖关系分析方法、系统及介质 | |
CN114020707B (zh) | 存储空间回收方法、存储介质及程序产品 | |
CN113408660B (zh) | 图书聚类方法、装置、设备和存储介质 | |
CN115567584A (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 |