一种URL分类匹配的方法及装置与流程

文档序号:17587784发布日期:2019-05-03 21:29阅读:239来源:国知局
一种URL分类匹配的方法及装置与流程

本申请涉及url分类技术领域,尤其涉及一种url分类匹配的方法及装置。



背景技术:

url是指统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的url,url包含的信息指出文件的位置以及浏览器应该怎么处理。

随着互联网技术的发展,人们通过url在网站上访问需要的内容,访问网站已经成为人们获取信息的重要方式。

所以,如何快速且准确的确定url分类是本领域技术人员亟待解决的问题。



技术实现要素:

本申请提供一种url分类匹配的方法及装置,以解决现有技术中url分类效率低的技术问题。

第一方面,本申请提供一种url分类匹配的方法,所述方法包括:

获取第一报文,筛选出所述第一报文中的第一服务器ip地址和第一域名;

转换第一服务器ip地址为第一数字地址;

查找与平衡二叉搜索树中与第一数字地址相同的第二数字地址,相对应的第二域名,其中,所述平衡二叉搜索树包括数个节点,所述节点包括第二数字地址、第二域名和第二域名分类;

判断所述第一域名与所述第二域名是否相同;

如果相同,确定第一域名分类为第二域名分类。

结合第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:

获取第二报文;

筛选出所述第二报文中的第二域名和第二服务器ip地址;

根据所述第二域名,确定所述第二域名分类;

将所述第二服务器ip地址转换为第二数字地址;

以所述第二数字地址为查找维度,将第二域名、第二数字地址以及第二域名分类挂在平衡二叉搜索树的节点上,形成带有数个节点的平衡二叉搜索树。

结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据第二域名,确定所述第二域名分类的步骤包括:

对所述第二域名使用hash算法,并查找到所述第二域名的hash位置;

根据所述hash位置,确定所述hash位置上挂载的所有字符串信息;

判断第二域名是否在所述字符串信息内;

如果所述第二域名在所述字符串信息内,确定第二域名分类与所述hash位置对应的分类相同。

结合第一方面,在第一方面的第三种可能的实现方式中,所述转换第一服务器ip地址为第一数字地址按照以下公式转换:

y=a*2563+b*2562+c*2561+d*2560

其中,y为第一数字地址,所述第一服务器ip地址包括第一段a、第二段b、第三段c和第四段d。

第二方面,本申请提供一种url分类匹配的装置,所述装置包括:

第一获取单元,用于获取第一报文,筛选出所述第一报文中的第一服务器ip地址和第一域名;

第一转换单元,用于转换第一服务器ip地址为第一数字地址;

第一查找单元,用于查找与平衡二叉搜索树中与第一数字地址相同的第二数字地址,相对应的第二域名,其中,所述平衡二叉搜索树包括数个节点,所述节点包括第二数字地址、第二域名和第二域名分类;

第一判断单元,用于判断所述第一域名与所述第二域名是否相同;

如果相同,确定第一域名分类为第二域名分类。

结合第二方面,在第二方面的第一种可能的实现方式中,所述装置还包括:

第二获取单元,用于获取第二报文;

筛选单元,用于筛选出所述第二报文中的第二域名和第二服务器ip地址;

第一确定单元,用于根据所述第二域名,确定所述第二域名分类;

第二转换单元,用于将所述第二服务器ip地址转换为第二数字地址;

形成单元,用于以所述第二数字地址为查找维度,将第二域名、第二数字地址以及第二域名分类挂在平衡二叉搜索树的节点上,形成带有数个节点的平衡二叉搜索树。

结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第一确定单元包括:

第二查找单元,用于对所述第二域名使用hash算法,并查找到所述第二域名的hash位置;

第二确定单元,用于根据所述hash位置,确定所述hash位置上挂载的所有字符串信息;

第二判断单元,用于判断第二域名是否在所述字符串信息内;

如果所述第二域名在所述字符串信息内,确定第二域名分类与所述hash位置对应的分类相同。

结合第二方面,在第二方面的第三种可能的实现方式中,所述转换第一服务器ip地址为第一数字地址按照以下公式转换:

y=a*2563+b*2562+c*2561+d*2560

其中,y为第一数字地址,所述第一服务器ip地址包括第一段a、第二段b、第三段c和第四段d。

由以上技术可知,本申请提供了一种url分类匹配的方法及装置,所述方法包括:获取第一报文,筛选出所述第一报文中的第一服务器ip地址和第一域名;转换第一服务器ip地址为第一数字地址;查找与平衡二叉搜索树中与第一数字地址相同的第二数字地址,相对应的第二域名,其中,所述平衡二叉搜索树包括数个节点,所述节点包括第二数字地址、第二域名和第二域名分类;判断所述第一域名与所述第二域名是否相同;如果相同,确定第一域名分类为第二域名分类。本申请利用数字地址进行查找和匹配的效率,较利用服务器ip地址字符串形式进行查找和匹配的效率大大提高,并且本申请通过平衡二叉搜索树中的节点,可以快速查找到所述第一域名的第一域名分类。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种url分类匹配的方法的流程图;

图2为本申请实施例提供的另一种url分类匹配的方法的流程图;

图3为本申请实施例提供的另一种url分类匹配的方法的流程图;

图4为本申请实施例提供的一种url分类匹配的装置的结构示意图;

图5为本申请实施例提供的另一种url分类匹配的装置的结构示意图;

图6为本申请实施例提供的另一种url分类匹配的装置的结构示意图。

具体实施方式

随着互联网技术的发展,人们通过url在网站上访问需要的内容,访问网站已经成为人们获取信息的重要方式。本申请提供一种url分类匹配的方法及装置,可以快速识别url的分类,避免用户使用非法网站。

实施例一

参阅图1,本申请实施例提供的一种url分类匹配的方法的流程图,所述方法包括:

本申请实施例中url是指:统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的url,url包含的信息指出文件的位置以及浏览器应该怎么处理。

步骤s100、获取第一报文,筛选出所述第一报文中的第一服务器ip地址和第一域名;

需要说明的是,所述第一报文为url,当服务器获取第一报文时,筛选出所述第一报文中的第一服务器ip地址和与所述第一服务器ip地址对应的第一域名。例如,从所述第一报文中,筛选出的第一域名为www.sina.com.cn,服务器ip地址为123.126.157.222。

步骤s200、转换第一服务器ip地址为第一数字地址;

具体的,由于服务器ip地址当以字符串的形式存在时,查找和匹配效率较低。本申请实施例将服务器ip地址以数字地址的形式进行使用,数字的查找和匹配效率远高于字符串形式的服务器ip地址。例如,所述第一服务器ip地址为123.126.157.222,转换后得到的所述第一数字地址为2071895518。

步骤s300、查找与平衡二叉搜索树中与第一数字地址相同的第二数字地址,相对应的第二域名,其中,所述平衡二叉搜索树包括数个节点,所述节点包括第二数字地址、第二域名和第二域名分类;例如,节点上可以挂载第二数字地址为2071895518,第二域名为www.sina.com.cn,第二域名分类为新闻门户类。

本申请实施例中的平衡二叉搜索树被称为avl树,且具有以下性质:avl树是一棵空树或avl树的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、avl、替罪羊树、treap、伸展树等。最小二叉平衡树的节点总数的公式如下f(n)=f(n-1)+f(n-2)+1这个类似于一个递归的数列,可以参考斐波那契数列,1是根节点,f(n-1)是左子树的节点数量,f(n-2)是右子树的节点数量。

本申请实施例中所述平衡二叉搜索树上挂载有通过学习的方法得到的数个节点,每个节点包括域名、数字地址以及域名分类。

在平衡二叉搜索树中,根据转换后得到的第一数字地址,查找与所述第一数字地址相对应的第二域名。

步骤s400、判断所述第一域名与所述第二域名是否相同;

如果相同,确定第一域名分类为第二域名分类。

具体的,判断根据第一报文得到的第一域名,与查找得到的第二域名是否相同。如果相同,确定第一域名分类为第二域名分类。

本申请实施例通过对第一报文筛选出第一服务器ip地址和第一域名,将所述第一服务器ip地址转换为第一数字地址,在所述平衡二叉搜索树查找与所述第一数字地址相同的节点,比较节点内的第二域名与所述第一域名是否相同,如果相同,确定第一域名分类为第二域名分类。本申请利用数字地址进行查找和匹配的效率,较利用服务器ip地址字符串形式进行查找和匹配的效率大大提高。

实施例二

参阅图2,本申请实施例提供的另一种url分类匹配的方法的流程图,所述方法还包括:

步骤s500、获取第二报文;

具体的,所述第二报文为url。所述第二报文与所述第一报文的结构相同。

步骤s600、筛选出所述第二报文中的第二域名和第二服务器ip地址;

需要说明的是,所述第二报文中筛选出的第二域名和第二服务器ip地址,判断是否已经挂载在所述平衡二叉搜索树上,如果已经挂载在所述平衡二叉搜索树中,不对所述第二报文中的内容重复挂载。

步骤s700、根据所述第二域名,确定所述第二域名分类;

步骤s800、将所述第二服务器ip地址转换为第二数字地址;

步骤s900、以所述第二数字地址为查找维度,将第二域名、第二数字地址以及第二域名分类挂在平衡二叉搜索树的节点上,形成带有数个节点的平衡二叉搜索树。

具体的,由于第二数字地址是以数字形式存在的地址,相对于字符串形式的地址,更易搜索,效率更高,所以本申请实施例中在建立平衡二叉搜索树时,以第二数字地址为查找维度建立。所述平衡二叉搜索树的节点将第二域名、第二数字地址以及第二域名分类挂载上,当本申请实施例获取第一报文时,可以直接在平衡二叉搜索树上查找第一报文中第一域名对应的第一域名分类,减少无效的比较次数,提升匹配效率。

实施例三

参阅图3,本申请实施例提供的另一种url分类匹配的方法的流程图,步骤s700、所述根据第二域名,确定所述第二域名分类的步骤包括:

步骤s701、对所述第二域名使用hash算法,并查找到所述第二域名的hash位置;

需要说明的是,hash算法就是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

散列表是依据关键码值而直接进行访问的数据结构。也就是说,通过把关键码值映射到表中一个位置来訪问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。本申请实施例中的散列表由url库生成。url库为数个url。由于目前url数据量很大,会造成每个hash位置会挂载很大字符串,例如某个hash位置上有www.baidu.com,www.163.com,mail.qq.com,www.sina.com.cn等很多的url。

步骤s702、根据所述hash位置,确定所述hash位置上挂载的所有字符串信息;

具体的,根据第二域名,查找到所述第二域名的hash位置,确定所述第二域名的hash位置上挂载的所有字符串信息。

步骤s703、判断第二域名是否在所述字符串信息内;

如果所述第二域名在所述字符串信息内,确定第二域名分类与所述hash位置对应的分类相同。

例如,从第二报文中获取到相应的第二域名为www.sina.com.cn,对www.sina.com.cn域名做hash,找到对应的hash位置。比较这个hash位置上挂载的所有字符串信息,逐条比对www.sina.com.cn是否存在在所述hash位置上,如果存在,则www.sina.com.cn为hash位置所对应的分类。

实施例四

本申请实施例提供一种url分类匹配的方法,所述转换第一服务器ip地址为第一数字地址按照以下公式转换:

y=a*2563+b*2562+c*2561+d*2560

其中,y为第一数字地址,所述第一服务器ip地址包括第一段a、第二段b、第三段c和第四段d。

例如,所述第一服务器ip地址为123.126.157.222,其中,a=123,b=126,c=157,d=222,最终y=123*2563+126*2562+157*2561+222*2560=2071895518。

根据上述实施例提供的一种url分类匹配的方法,本申请还提供一种url分类匹配的装置,参阅图4,本申请实施例提供的一种url分类匹配的装置的结构示意图,所述装置包括:

第一获取单元100,用于获取第一报文,筛选出所述第一报文中的第一服务器ip地址和第一域名;

第一转换单元200,用于转换第一服务器ip地址为第一数字地址;

第一查找单元300,用于查找与平衡二叉搜索树中与第一数字地址相同的第二数字地址,相对应的第二域名,其中,所述平衡二叉搜索树包括数个节点,所述节点包括第二数字地址、第二域名和第二域名分类;

第一判断单元400,用于判断所述第一域名与所述第二域名是否相同;

如果相同,确定第一域名分类为第二域名分类。

在一些实施例中,参阅图5,本申请实施例提供的另一种url分类匹配的装置的结构示意图,所述装置还包括:

第二获取单元500,用于获取第二报文;

筛选单元600,用于筛选出所述第二报文中的第二域名和第二服务器ip地址;

第一确定单元700,用于根据所述第二域名,确定所述第二域名分类;

第二转换单元800,用于将所述第二服务器ip地址转换为第二数字地址;

形成单元900,用于以所述第二数字地址为查找维度,将第二域名、第二数字地址以及第二域名分类挂在平衡二叉搜索树的节点上,形成带有数个节点的平衡二叉搜索树。

在一些实施例中,参阅图6,本申请实施例提供的另一种url分类匹配的装置的结构示意图,所述第一确定单元700包括:

第二查找单元701,用于对所述第二域名使用hash算法,并查找到所述第二域名的hash位置;

第二确定单元702,用于根据所述hash位置,确定所述hash位置上挂载的所有字符串信息;

第二判断单元703,用于判断第二域名是否在所述字符串信息内;

如果所述第二域名在所述字符串信息内,确定第二域名分类与所述hash位置对应的分类相同。

在一些实施例中,本申请实施例提供的另一种url分类匹配的装置,所述转换第一服务器ip地址为第一数字地址按照以下公式转换:

y=a*2563+b*2562+c*2561+d*2560

其中,y为第一数字地址,所述第一服务器ip地址包括第一段a、第二段b、第三段c和第四段d。

由以上技术可知,本申请提供了一种url分类匹配的方法及装置,所述方法包括:获取第一报文,筛选出所述第一报文中的第一服务器ip地址和第一域名;转换第一服务器ip地址为第一数字地址;查找与平衡二叉搜索树中与第一数字地址相同的第二数字地址,相对应的第二域名,其中,所述平衡二叉搜索树包括数个节点,所述节点包括第二数字地址、第二域名和第二域名分类;判断所述第一域名与所述第二域名是否相同;如果相同,确定第一域名分类为第二域名分类。本申请利用数字地址进行查找和匹配的效率,较利用服务器ip地址字符串形式进行查找和匹配的效率大大提高,并且本申请通过平衡二叉搜索树中的节点,可以快速查找到所述第一域名的第一域名分类。

具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的用于url分类匹配的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

以上所述的本发明实施方式并不构成对本发明保护范围的限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1