本申请涉及计算机技术领域,尤其涉及一种统一资源定位符的去重方法、装置及电子设备。
背景技术:
统一资源定位符(uniformresourcelocator,url)去重,是指将重复抓取的url去除,避免多次抓取同一网页。其意义在于,防止对相同网页重复下载,进而,可避免网络io资源的浪费和爬虫抓取速度降低,也可避免数据冗余和重复处理导致的资源浪费。
目前的url去重方案,一般是预构建多个去重规则,每个去重规则有其要求的url结构,然后,将待去重的url的结构与去重规则所要求的url结构进行匹配,并基于匹配结果,将对应每个去重规则的url保留一个。
技术实现要素:
本说明书实施例提供一种统一资源定位符的去重方法、装置及电子设备,用于解决现有技术中url去重效率低、精度低的问题。
本说明书实施例还提供一种统一资源定位符的去重方法,包括:
获取统一资源定位符url集;
基于url的结构对所述url集中的url进行聚类处理,获得至少一个url簇;
确定所述至少一个url簇中的目标url簇,所述目标url簇为url数量满足预定阈值的url簇;
基于所述目标url簇的url共性结构,确定所述目标url簇对应的去重url,所述去重url用于表示所述目标url簇中的url。
可选的,还包括:
基于n级url的共性结构对n级url进行聚类处理,获得至少一个n级url簇;
当n级url簇的数量满足第n聚类阈值时,基于n+1级url的共性结构对n+1级url进行聚类处理;
其中,n∈[2,+∞),用于指示n级url簇的url结构中的变量个数,n+1级url为n级url簇对应的去重url,一级url簇为对所述url集中的url进行聚类处理获得的url簇。
可选的,还包括:
确定所述至少一个n级url簇中的目标n级url簇,所述目标n级url簇为n级url数量满足第n去重阈值的n级url簇;
基于所述目标n级url簇的n级url共性结构,确定所述目标n级url簇对应的去重url。
可选的,还包括:
当确定出目标n级url簇对应的去重url时,丢弃目标去重url;
其中,所述目标去重url为所述目标n级url簇中的n-1级url簇对应的去重url。
可选的,基于url的结构对所述url集中的url进行聚类处理包括:
对所述url集中的url的结构进行拆分处理,获得url的分段参数;
基于url的分段参数,确定聚类特征变量;
基于所述聚类特征变量,对所述url集中的url进行聚类处理。
可选的,确定所述至少一个url簇中的目标url簇包括:
基于所述至少一个url簇中各url簇的特征信息,确定各url簇对应的预定阈值;
将各url簇的url数量与对应的预定阈值进行对比;
基于对比结果,确定所述至少一个url簇中的目标url簇。
可选的,还包括:
从所述目标url簇的url中选出一个url,作为所述目标url簇去重后的url;
对选出的url进行安全扫描处理。
可选的,还包括:
获取待去重的url集;
将所述待去重的url集中的url的结构与所述目标url簇对应的去重url的结构进行匹配;
基于匹配结果,过滤所述待去重的url集中的url。
可选的,还包括:
确定所述ulr集中的离散url,所述离散url为所述目标url簇中的url之外的url;
基于ulr的结构对所述离散url和去重后的待去重的url集中的url进行聚类处理,获得至少一个新增url簇;
确定所述至少一个新增url簇中的新增目标url簇,所述新增目标url簇为url数量满足预定阈值的url簇;
基于所述新增目标url簇的url共性结构,确定所述新增目标url簇对应的去重url,所述去重url用于表示所述新增目标url簇中的url。
本说明书实施例还提供一种统一资源定位符的去重装置,包括:
第一获取模块,用于获取统一资源定位符url集;
第一聚类模块,用于基于url的结构对所述url集中的url进行聚类处理,获得至少一个url簇;
第一确定模块,用于确定所述至少一个url簇中的目标url簇,所述目标url簇为url数量满足预定阈值的url簇;
第二确定模块,用于基于所述目标url簇的url共性结构,确定所述目标url簇对应的去重url,所述去重url用于表示所述目标url簇中的url。
本说明书实施例还提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
获取统一资源定位符url集;
基于url的结构对所述url集中的url进行聚类处理,获得至少一个url簇;
确定所述至少一个url簇中的目标url簇,所述目标url簇为url数量满足预定阈值的url簇;
基于所述目标url簇的url共性结构,确定所述目标url簇对应的去重url,所述去重url用于表示所述目标url簇中的url。
本说明书实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
获取统一资源定位符url集;
基于url的结构对所述url集中的url进行聚类处理,获得至少一个url簇;
确定所述至少一个url簇中的目标url簇,所述目标url簇为url数量满足预定阈值的url簇;
基于所述目标url簇的url共性结构,确定所述目标url簇对应的去重url,所述去重url用于表示所述目标url簇中的url。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过对url集中的url进行聚类处理,并确定url数量满足预定阈值的url簇,然后基于url簇的url共性结构确定其去重url,进而可基于其去重url对本url集或后续的url集进行去重处理。与现有技术中,人为设定去重规则对应的去重url的方案相比,能够智能化地确定去重url,具有去重效率高、精度高的优点。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的应用场景的示意图;
图2为本说明书实施例提供的一种统一资源定位符的去重方法的流程示意图;
图3为本说明书实施例提供的聚类处理步骤的流程示意图;
图4为本说明书实施例提供的确定url簇及其对应的去重url的效果示意图;
图5为本说明书实施例提供的确定目标url簇的流程示意图;
图6位本说明书实施例提供的去重url优化步骤的流程示意图;
图7为本说明书实施例提供的多级聚类处理步骤的流程示意图;
图8为本说明书实施例提供的确定多级url簇及其对应的去重url的效果示意图;
图9为本说明书实施例提供的一种统一资源定位符的去重装置的结构示意图;
图10为本说明书实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
正如背景技术部分陈述的,现有技术在去重url时,一般是通过预先人为设定一个或多个去重规则,然后,将待去重的url与一个或多个去重规则对应的url结构进行匹配,并根据匹配结果,将同一去重规则相匹配的url保留其中之一。可见,现有的去重方案,受人为因素的影响较大,去重效率和精度均较低。
基于此,本发明提供一种统一资源定位符的去重方法,通过对url集中的url进行聚类处理,以确定url数量满足预定阈值的url簇,并基于url簇的url共性结构确定其去重url,进而可基于其去重url对本url集或后续的url集进行去重处理,以实现智能化确定去重url的目的,具有去重效率高、精度高的优点。
其中,url是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。以一网址为例,其url可以为:
https://market.***.com/products/52732001/01.html
url的结构,包含模式(或称协议)、服务器名称(或ip地址)、路径和文件名,如“协议://授权/路径?查询”。完整的、带有授权部分的普通url语法看上去如下:协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志。
url的结构中的共性结构,是指url中字段位置相同且字段内容相同的部分;非共性结构,又记为可变字段,是指url中字段位置相同但字段内容不同的部分。例如,对于下述两个url结构:
market.***.com/products/52732001/01.html
market.***.com/products/52732001/02.html
其共性结构,包括:‘market.***.com/’、‘products/’、‘52732001/’和‘xx.html’。非共性结构包括:相同字符位置的‘01’和‘02’。
去重url是指,url簇中的url的通配表示规则。例如,对于下述url簇:
market.***.com/products/52732001/01.html
market.***.com/products/52732001/02.html
……
market.***.com/products/52732001/0n.html
其通配表示规则可以为market.***.com/products/52732001/*.html,即可保留共性结构部分,并将可变字段用一通配符进行表示。
url路径,包括绝对路径和相对路径。其中,相对路径是指相对于本文件的目标文件的位置。绝对路径是指文件在硬盘上真正存储的路径。比如:在d盘里的images文件夹下存了一张图片logo.png,那么这个图片的绝对路径是d:\images\logo.png。所以在使用绝对路径指向该图片的时候的语句应该为:
background-image:url("d:\images\logo.png")
下面对本发明的应用场景进行示例性说明。
参见图1,包括终端设备110、服务器120和数据库130,其中:
终端设备110,用于向服务器发送请求,例如:获取指定页面的请求,请求中携带指定页面的url;
服务器120,提取预设一周期(例如:5s)内,接收到请求及其携带的url,然后,执行上述url去重方法,并将去重后的url进行安全扫描;若通过安全扫描,则响应于请求从数据库130中提取对应的页面,并返回给终端设备110;若未通过安全扫描,则拒绝响应请求,并选择性的向终端设备110发送页面有风险等提示。
其中,终端设备包括pc终端和移动终端。pc终端是指个人计算机终端;移动终端或者叫移动通信终端是指可以在移动中使用的计算机设备,广义的讲包括手机、笔记本、平板电脑、pos机甚至包括车载电脑。但是大部分情况下是指手机或者具有多种应用功能的智能手机以及平板电脑。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图2为本说明书实施例提供的一种统一资源定位符的去重方法的流程示意图,参见图2,该方法可由图1中的服务器120执行,具体可以包括如下步骤:
步骤22、获取统一资源定位符url集;
url集可以为服务器120一周期内抓取的url的集合,可示例为图4示出的url集。
步骤24、基于url的结构对所述url集中的url进行聚类处理,获得至少一个url簇;
结合图3,步骤24的一种实现方式可以为:
步骤32、对所述url集中的url的结构进行拆分处理,获得url的分段参数;
步骤34、基于url的分段参数,确定聚类特征变量;
步骤36、基于所述聚类特征变量,对所述url集中的url进行聚类处理。
下面对步骤32-步骤36进行示例性说明:
首先,基于url的结构,将url拆分为六个分段参数:主机名host、高层路径upperpath、低层路径lowerpath、文件名filename、文件后缀名fileextension和请求query。例如:
拆分www.&&&.cn/news/folder783/2015-10-09/66597.html?lang=cn,得到:
host字段:www.&&&.cn/
upperpath字段:news/
lowerpath字段:folder783/2015-10-09/
filename字段:66597
fileextention字段:html
query字段:lang=cn
然后,将上述分段参数中的一个或多个作为聚类特征变量,进行聚类处理。
优选的,各聚类特征变量的聚类优先级为:host字段>upperpath字段>lowerpath字段>filename字段>fileextention字段>query字段。
结合图4,其中的至少一个url簇可示例为:
第一url簇、第二url簇…第murl簇和第m+1url簇。
步骤26、确定所述至少一个url簇中的目标url簇,所述目标url簇为url数量满足预定阈值的url簇;
需要说明的是,步骤26的第一种实现方式可以为:
读取预先设置的预定阈值,例如:100;确定各url簇中的url的数量,并将满100个url的url簇作为目标url簇。
对于未满100个url的url簇,可以认为其未满足构成去重规则的要求,并单独对其中的url进行安全扫描。
即,将第一url簇的url数n1、第二url簇的url数n2等等分别与100进行对比,进而选出url数大于等于100的url簇。
参见图5,步骤26的第二种实现方式可以为:
步骤52、基于所述至少一个url簇中各url簇的特征信息,确定各url簇对应的预定阈值;
其中,url簇的特征信息可以具体为:分段参数中的一个或多个、域名、来源的类型(个人计算机、高校、企业等公用计算机)等。
基于特征信息,可确定各url簇的类型,例如:不同域名对应的类型,然后,查找出为该类型的url簇配置的阈值。
步骤54、将各url簇的url数量与对应的预定阈值进行对比;
步骤56、基于对比结果,确定所述至少一个url簇中的目标url簇。
即,本实现方式为不同类型的url簇分别配置了不同的阈值,由此,可实现灵活确定目标url簇的目的,达到进一步地提高url去重精度的目的。
步骤28、基于所述目标url簇的url共性结构,确定所述目标url簇对应的去重url,所述去重url用于表示所述目标url簇中的url。
以步骤22示例的url集和步骤24示例的url簇为例,假设第一url簇-第murl簇均为目标url簇,则步骤28的一种实现方式可以为:
首先,确定第一url簇的url共性结构为:‘market.***.com/’、‘products/’、‘52732001/’和‘xx.html’,非共性结构为‘01’、‘02’…‘0n’;
然后,将非共性结构用通配符(例如:*、$等)进行表示,得到第一url簇的去重url:
market.***.com/products/52732001/*.html。
进而,可构建第二url簇的去重url:
market.***.com/products/52732002/*.html
第murl簇的去重url:
market.***.com/products/5273200m/*.html。
可选的,方法还包括:安全扫描的步骤;
安全扫描的步骤的一种实现方式可以为:
从所述目标url簇的url中选出一个url,作为所述目标url簇去重后的url;对选出的url进行安全扫描处理。
进而,当基于安全扫描处理确定选出的一个url安全时,则确定目标url簇的url均安全;当基于安全扫描处理确定选出的一个url存在危险时,则确定目标url簇的url均存在危险。
安全扫描的步骤的第二种实现方式可以为:
在对url执行安全检测等操作时,通过基于url集得到去重url,可在与去重url匹配的多个url选择一个url代表执行相关检测。进而,其检测结果作为去重url匹配的多个url的检测结果,从而提高安全检测等操作的检测效率。
另外,对于url集中除目标url簇的url之外的url,包括:未聚类成功的url和聚类成功但未满足预定阈值的url簇,为确保扫描安全性,可以单独对其进行安全扫描处理。
可选的,方法还包括:去重的步骤:
去重的步骤包括:获取待去重的url集;将所述待去重的url集中的url的结构与所述目标url簇对应的去重url的结构进行匹配;基于匹配结果,过滤所述待去重的url集中的url。
其中,匹配步骤的第一种实现方式可以示例为:
将待去重的url集中的url与步骤24-步骤26确定的去重url:
market.***.com/products/52732001/*.html
market.***.com/products/52732002/*.html
……
market.***.com/products/5273200m/*.html
分别进行结构上的匹配。
匹配步骤的第二种实现方式可以为:
对待去重的url集中的url进行拆分处理,获得分段参数;
基于分段参数的位置,将分段参数与步骤24-步骤26确定的去重url对应的分段参数进行匹配。
可选的,方法还包括:去重url优化步骤,结合图6,具体可以包括:
步骤62、确定所述ulr集中的离散url,所述离散url为所述目标url簇中的url之外的url;
结合图4,离散url包括:未聚类成功的url;
例如:market.***.com/products/52732456/09.html;
还包括:聚类成功但url数量未满足预定阈值的url簇;
例如:第m+1url簇仅有2个url,未满足100个url的要求。
步骤64、基于ulr的结构对所述离散url和去重后的待去重的url集中的url进行聚类处理,获得至少一个新增url簇;
步骤66、确定所述至少一个新增url簇中的新增目标url簇,所述新增目标url簇为url数量满足预定阈值的url簇;
步骤68、基于所述新增目标url簇的url共性结构,确定所述新增目标url簇对应的去重url,所述去重url用于表示所述新增目标url簇中的url。
对于步骤64-步骤68,需要说明的是,其相当于将离散url和去重后的待去重的url集中的url组成一个新的url集,并再次进行聚类处理。由于步骤64-步骤68分别与图2示出的步骤24-步骤28相似,其实现方式也对应相似,故,此处不再对步骤64-步骤68进行展开说明。
可见,本实施例通过对url集中的url进行聚类处理,并确定url数量满足预定阈值的url簇,然后基于url簇的url共性结构确定其去重url,进而可基于其去重url对本url集或后续的url集进行去重处理。与现有技术中,人为设定去重规则对应的去重url的方案相比,能够智能化地确定去重url,具有去重效率高、精度高的优点。
图7为本说明书实施例提供的多级聚类处理步骤的流程示意图,参见图7,该多级聚类处理步骤具体可以包括如下步骤:
步骤72、基于n级url的共性结构对n级url进行聚类处理,获得至少一个n级url簇;
步骤74、当n级url簇的数量满足第n聚类阈值时,基于n+1级url的共性结构对n+1级url进行聚类处理;
其中,n∈[2,+∞),用于指示n级url簇的url结构中的变量个数,n+1级url为n级url簇对应的去重url,一级url簇为对所述url集中的url进行聚类处理获得的url簇。
可选的,还包括:
确定所述至少一个n级url簇中的目标n级url簇,所述目标n级url簇为n级url数量满足第n去重阈值的n级url簇;
基于所述目标n级url簇的n级url共性结构,确定所述目标n级url簇对应的去重url。
可选的,还包括:
当确定出目标n级url簇对应的去重url时,丢弃目标去重url;
其中,所述目标去重url为所述目标n级url簇中的n-1级url簇对应的去重url。
下面结合图4和图8,对步骤72和步骤74进行详细说明:
步骤s1、初始状态下url集中的url,称为一级url。
步骤s2、基于一级url的结构,对一级url进行聚类处理(一次聚类),得到至少一个url簇,称为一级url簇;
例如:图4示出的第一url簇-第m+1url簇。
步骤s3、确定一级url簇中的目标一级url簇,即url数量满足预定阈值的一级url簇;
例如:图4示出的第一url簇-第murl簇为目标一级url簇。
步骤s4、构建目标一级url簇对应的去重url,称为二级url;
例如:图4示出的第一url簇对应的去重url为:
market.***.com/products/52732001/$.html
第二url簇对应的去重url为:
market.***.com/products/52732002/$.html
……
第murl簇对应的去重url为:
market.***.com/products/5273200m/$.html
步骤s5、当一级url簇的数量或目标一级url簇的数量满足第一聚类阈值时,对二级url进行聚类处理(二次聚类);
例如:当m+1或m满足第一聚类阈值(例如:80)时,进行二次聚类。
s6、确定是否聚类得到至少一个url簇,若是,则将聚类出的url簇称为二级url簇;
例如:基于步骤s4中的二级url聚类出二级url簇:
market.***.com/products/$2/$1.html
步骤s7、确定二级url簇中的目标二级url簇,即url数量满足预定阈值的二级url簇;
步骤s8、构建目标一级url簇对应的去重url,称为三级url。
结合上述步骤s1-步骤s8,以此类推,构建多级url。图4示出的url集对应的多级url包括:
一级url:
market.***.com/products/52732123/01.html
market.***.com/products/52732123/02.html
market.***.com/products/52732456/09.html
二级url:
market.***.com/products/52732001/$.html
market.***.com/products/52732002/$.html
……
market.***.com/products/5273200m/$.html
三级url:
market.***.com/products/$2/$1.html
另外,为了提高去重效率,在确定出n+1级url时,可将其对应的n级url废除。即,可将三级url:market.***.com/products/$2/$1.html对应的二级url废除。
不难理解的是,使用多层级的去重url进行url的去重以及后续的多级去重url的优化等步骤,与上一实施例提供的单层去重url的相关内容相似,故,此处不再对其进行赘述。
可见,本实施例通过先对一级url进行一次聚类,得到一级url簇;然后,对目标一级url簇的去重url(二级url)进行二次聚类,得到二级url簇,并以此类推,构建出多层级的url簇和多层级的去重url。以现有技术中,人为设定去重规则的方案相比,能智能化地构建多层级的去重url,使得构建出的多层级的去重url可满足不同应用场景下的要求。进而,为后续的去重操作提供高效且精确的去重规则。
另外,对于上述方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施方式并不受所描述的动作顺序的限制,因为依据本发明实施方式,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于优选实施方式,所涉及的动作并不一定是本发明实施方式所必须的。
图9为本说明书实施例提供的一种统一资源定位符的去重装置的结构示意图,参见图9,该装置具体可以包括:第一获取模块91、第一聚类模块92、第一确定模块93以及第二确定模块94,其中:
第一获取模块91,用于获取统一资源定位符url集;
第一聚类模块92,用于基于url的结构对所述url集中的url进行聚类处理,获得至少一个url簇;
第一确定模块93,用于确定所述至少一个url簇中的目标url簇,所述目标url簇为url数量满足预定阈值的url簇;
第二确定模块94,用于基于所述目标url簇的url共性结构,确定所述目标url簇对应的去重url,所述去重url用于表示所述目标url簇中的url。
可选的,装置还包括:
第二聚类模块,用于基于n级url的共性结构对n级url进行聚类处理,获得至少一个n级url簇;
第三聚类模块,用于当n级url簇的数量满足第n聚类阈值时,基于n+1级url的共性结构对n+1级url进行聚类处理;
其中,n∈[2,+∞),用于指示n级url簇的url结构中的变量个数,n+1级url为n级url簇对应的去重url,一级url簇为对所述url集中的url进行聚类处理获得的url簇。
可选的,装置还包括:
第三确定模块,用于确定所述至少一个n级url簇中的目标n级url簇,所述目标n级url簇为n级url数量满足第n去重阈值的n级url簇;
第四确定模块,用于基于所述目标n级url簇的n级url共性结构,确定所述目标n级url簇对应的去重url。
可选的,装置还包括:
丢弃模块,用于当确定出目标n级url簇对应的去重url时,丢弃目标去重url;
其中,所述目标去重url为所述目标n级url簇中的n-1级url簇对应的去重url。
可选的,所述第一聚类模块,具体用于:
对所述url集中的url的结构进行拆分处理,获得url的分段参数;
基于url的分段参数,确定聚类特征变量;
基于所述聚类特征变量,对所述url集中的url进行聚类处理。
可选的,所述第一确定模块,具体用于:
基于所述至少一个url簇中各url簇的特征信息,确定各url簇对应的预定阈值;
将各url簇的url数量与对应的预定阈值进行对比;
基于对比结果,确定所述至少一个url簇中的目标url簇。
可选的,装置还包括:
扫描模块,用于从所述目标url簇的url中选出一个url,作为所述目标url簇去重后的url;对选出的url进行安全扫描处理。
可选的,装置还包括:
第二获取模块,用于获取待去重的url集;
匹配模块,用于将所述待去重的url集中的url的结构与所述目标url簇对应的去重url的结构进行匹配;
过滤模块,用于基于匹配结果,过滤所述待去重的url集中的url。
可选的,装置还包括:
第五确定模块,用于确定所述ulr集中的离散url,所述离散url为所述目标url簇中的url之外的url;
第四聚类模块,用于基于ulr的结构对所述离散url和去重后的待去重的url集中的url进行聚类处理,获得至少一个新增url簇;
第六确定模块,用于确定所述至少一个新增url簇中的新增目标url簇,所述新增目标url簇为url数量满足预定阈值的url簇;
第七确定模块,用于基于所述新增目标url簇的url共性结构,确定所述新增目标url簇对应的去重url,所述去重url用于表示所述新增目标url簇中的url。
可见,本实施例通过对url集中的url进行聚类处理,并确定url数量满足预定阈值的url簇,然后基于url簇的url共性结构确定其去重url,进而可基于其去重url对本url集或后续的url集进行去重处理。与现有技术中,人为设定去重规则对应的去重url的方案相比,能够智能化地确定去重url,具有去重效率高、精度高的优点。
另外,对于上述装置实施方式而言,由于其与方法实施方式基本相似,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。而且,应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合。
图10为本说明书实施例提供的一种电子设备的结构示意图,参见图10,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成统一资源定位符的去重装置。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
网络接口、处理器和存储器可以通过总线系统相互连接。总线可以是isa(industrystandardarchitecture,工业标准体系结构)总线、pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器可能包含高速随机存取存储器(random-accessmemory,ram),也可能还包括非易失性存储器(non-volatilememory),例如至少1个磁盘存储器。
处理器,用于执行所述存储器存放的程序,并具体执行:
获取统一资源定位符url集;
基于url的结构对所述url集中的url进行聚类处理,获得至少一个url簇;
确定所述至少一个url簇中的目标url簇,所述目标url簇为url数量满足预定阈值的url簇;
基于所述目标url簇的url共性结构,确定所述目标url簇对应的去重url,所述去重url用于表示所述目标url簇中的url。
上述如本申请图9所示实施例揭示的统一资源定位符的去重装置或管理者(master)节点执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
统一资源定位符的去重装置还可执行图2-3,5-7的方法,并实现管理者节点执行的方法。
基于相同的发明创造,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行上述实施例提供的统一资源定位符的去重方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他簇型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。