域名分类匹配方法及装置与流程

文档序号:25214323发布日期:2021-05-28 14:11阅读:83来源:国知局
域名分类匹配方法及装置与流程

本申请涉及网络通信技术领域,尤其涉及一种域名分类匹配方法及装置。



背景技术:

域名,也可称为网域,其实质是一串在因特网计算机上的名字字符,而且是具有唯一性的,当传输数据时用做定位标识。目前大多数的网络安全设备都支持域名分类过滤功能。域名分类过滤就是按照域名分类库中的各类域名将域名进行过滤,允许符合条件的域名通过。域名分类库中可包含新闻、金融、旅游、流媒体和视频、体育、人文以及社交网络等各类特征及其分类信息。管理员根据实际的需求,管理域名分类库中的各类资源对应的资源网站,例如上班时间只允许访问工作相关类的资源网站,阻断金融、旅游、流媒体和视频、体育等非工作相关类的资源网站。在域名分类过滤过程中,需要通过域名匹配分类来实现。

目前的域名匹配分类方法是,设置预定义的域名,将预定义的域名在内存中建立hash,当收到访问请求的域名时,计算其hash值,然后偏移到相应的hash位置,再与相同的hash下面的域名做对比,如果比对成功,则确认相应的域名匹配该类别,可以正常访问,如果比对不成功,则拦截访问请求的域名,不予访问。

但是随着互联网资源的大爆炸,域名数量呈指数级增长,域名数量较大,占用大量的内存,严重影响匹配效率。



技术实现要素:

本申请提供了一种域名分类匹配方法及装置,以解决随着互联网资源的大爆炸,域名数量呈指数级增长,域名数量较大,占用大量的内存,严重影响匹配效率的问题。

第一方面,本申请实施例提供一种域名分类匹配方法,所述方法包括:

根据预定义生成规则,获取预定义域名分类文件;

当收到域名请求时,按照所述预定义生成规则,获取待匹配域名分类文件;

将所述待匹配域名分类文件与预定义域名分类文件进行匹配;

若匹配成功,则获取到请求的域名对应的分类文件,允许访问请求的域名对应的资源网站。

结合第一方面,在一种实现方式中,所述方法还包括:若匹配失败,则拦截请求的域名访问对应的资源网站。

结合第一方面,在一种实现方式中,所述预定义生成规则,包括:

以域名中的点为分割单位,对域名进行分割;

将分割后的域名进行逐级的创建目录;

在末端的目录部分创建分类文件,其中,所述分类文件中包括域名分类的具体信息。

结合第一方面,在一种实现方式中,在获取待匹配域名分类文件之前,所述方法还包括:

将请求的域名生成资源路径,根据所述资源路径生成待匹配域名的分类。

结合第一方面,在一种实现方式中,将所述待匹配域名分类文件与预定义域名分类文件进行匹配,包括:

根据域名请求生成的资源路径,查找所述资源路径对应的所述待匹配域名分类文件。

第二方面,本申请实施例部分提供了一种域名分类匹配装置,所述装置包括:

预定义域名分类文件获取模块,用于根据预定义生成规则,获取预定义域名分类文件;

待匹配域名分类文件获取模块,用于当收到域名请求时,按照所述预定义生成规则,获取待匹配域名分类文件;

匹配模块,用于将所述待匹配域名分类文件与预定义域名分类文件进行匹配;

分类文件获取模块,用于在匹配成功时,则获取到请求的域名对应的分类文件,允许访问请求的域名对应的资源网站。

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

拦截模块,用于在匹配失败时,拦截请求的域名访问对应的资源网站。

结合第二方面,在一种实现方式中,预定义域名分类文件获取模块,包括:

分割单元,用于以域名中的点为分割单位,对域名进行分割;

目录创建单元,用于将分割后的域名进行逐级的创建目录;

分类文件创建单元,用于在末端的目录部分创建分类文件,其中,所述分类文件中包括域名分类的具体信息。

结合第二方面,在一种实现方式中,所述待匹配域名分类文件获取模块还用于:

将请求的域名生成资源路径,根据所述资源路径生成待匹配域名的分类。

结合第二方面,在一种实现方式中,所述匹配模块包括:

查找单元,用于根据域名请求生成的资源路径,查找所述资源路径对应的所述待匹配域名分类文件。

本申请实施例公开一种域名分类匹配方法及装置,其中,所述方法包括:首先根据预定义生成规则,获取预定义域名分类文件;然后当收到域名请求时,按照所述预定义生成规则,获取待匹配域名分类文件;接着将所述待匹配域名分类文件与预定义域名分类文件进行匹配;若匹配成功,则获取到请求的域名对应的分类文件,允许访问请求的域名对应的资源网站。采用前述的方案,域名匹配分类查找时,只使用文件查找,没有在内存中查找,也就是将内存的占用转换为对硬盘存储的占用,极大的减少了内存的占用,实现快速匹配。进一步地,上述方法还能够实现快速匹配域名分类,直接资源定位,避免复杂的运算,提升匹配效率。

附图说明

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

图1是本申请实施例提供的一种域名分类匹配方法的流程示意图;

图2是本申请一个实施例中域名分类匹配方法的流程示意图;

图3是本申请实施例提供的一种域名分类匹配装置的结构示意图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。

由背景技术的描述可知,现有的域名匹配分类中,是以计算hash值实现匹配分类的,但是目前域名数量巨大,本身就占用了大量的内存,影响运行速度,进而影响匹配效率,此外,如果计算的hash过大,同样也会占用较多内存,如果hash过小,则匹配对比冲突的域名较多,会严重影响匹配效率。

因此,为解决上述问题,本申请实施例提供一种域名分类匹配方法,参照图1,所述方法包括:

s11,根据预定义生成规则,获取预定义域名分类文件。

本步骤中,首先根据预定义生成规则,将各类资源网站对应的域名进行分类,获得允许访问工作相关类的资源网站对应的预定义域名分类文件,也就是将所有允许通过访问的域名存入预定义域名分类文件中,以供后续的匹配查找。

s12,当收到域名请求时,按照所述预定义生成规则,获取待匹配域名分类文件。

本步骤中,在收到用户请求访问的域名之后,按照步骤s11中的预定义生成规则对该请求域名进行分类,得到待匹配域名分类文件。

s13,将所述待匹配域名分类文件与预定义域名分类文件进行匹配,判断待匹配域名分类文件与预定义分类文件是否匹配。

本步骤中,将步骤s12得到的待匹配域名分类文件与步骤s11中的预定义域名分类文件进行匹配查找,判断待匹配域名分类文件是否能在预定义分类文件中查找到,也就是判断用户请求访问的域名对应的分类是否在允许通过访问的域名分类文件中。

s14,若匹配成功,则获取到请求的域名对应的分类文件,允许访问请求的域名对应的资源网站。

s15,若匹配失败,则拦截请求的域名访问对应的资源网站。

在经过步骤s13的匹配之后,会产生两种结果,匹配成功和匹配不成功,如果匹配成功,也就是说能够在预定义分类文件中查找到待匹配域名分类文件,则说明请求域名对应的资源网站允许访问,如果匹配不成功,则拦截请求的域名所对应的资源网站,不能允许访问。

本申请实施例中公开的域名分类匹配方法,是直接通过域名的规则转换,实现快速的资源定位匹配,避免了复杂的运算规则对匹配效率造成的影响,同时,在域名匹配分类时,查找匹配只是在文件中查找,没有在内存中查找,减少了内存的占用,且文件中的分类跟域名是是一对一的存储,不会存在冲突的域名,进而也不会影响匹配效率。

由以上可知,本申请实施例公开一种域名分类匹配方法,首先根据预定义生成规则,获取预定义域名分类文件;然后当收到域名请求时,按照所述预定义生成规则,获取待匹配域名分类文件;接着将所述待匹配域名分类文件与预定义域名分类文件进行匹配;若匹配成功,则获取到请求的域名对应的分类文件,允许访问请求的域名对应的资源网站,匹配失败,则拦截访问。采用前述的方法查找只使用文件查找,没有在内存中查找,也就是将内存的占用转换为对硬盘存储的占用,极大的减少了内存的占用,进一步地,上述方法还能够实现快速匹配域名分类,直接资源定位,避免复杂的运算,提升匹配效率。

可选地,所述预定义生成规则,具体可以采用以下方法获得:

以域名中的点为分割单位,对域名进行分割;

将分割后的域名进行逐级的创建目录;

在末端的目录部分创建分类文件,其中,所述分类文件中包括域名分类的具体信息。

其中,在s11中,最终创建得到的分类文件是预定义域名分类文件,该分类文件中包括了允许通过访问的域名对应的各分类信息;在s12中,最终创建得到的分类文件是待匹配域名分类文件,该分类文件中包括了待匹配域名对应的类别信息。

例如:域名为www.baidu.com,以域名中的“.”为分割单位,将其分割为:www、baidu以及com三部分,然后对分割后的域名逐级的创建目录,创建的目录为www->baidu->com,最后再创建分类文件index.txt。

再例如:域名为www.news.baidu.com,以点为分割单位,将域名分割为:www、news、baidu以及com,分割后创建的目录为www->news->baidu->com,最后创建分类文件index.txt。

可选地,在获取待匹配域名分类文件之前,所述方法还包括:

将请求的域名生成资源路径,根据所述资源路径生成待匹配域名的分类。

本步骤中,资源路径更能代表请求域名的位置以及类型,例如域名为www.baidu.com对应的资源路径为www/baidu/com/index.txt。

可选地,将所述待匹配域名分类文件与预定义域名分类文件进行匹配,包括:

根据域名请求生成的资源路径,查找所述资源路径对应的所述待匹配域名分类文件。

实施例

参照图2,示出了一种域名分类匹配方法的实施例,该实施例请求的域名以sport.sina.com为例,首先建立预定义域名分类文件(图中未示出),收到域名请求之后,将该域名分给为sport、sina、com三部分,然后生成sport/sina/com/index.txt,接着查找预定义域名分类文件,打开资源路径对应的文件sport/sina/com/index.txt,读取文件,如果文件读取成功,则可以从index.txt读取到对应的分类,可以访问,如果文件读取失败,则未匹配到相应的分类,不能访问请求的域名。

下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。

参照图3,本申请实施例公开的一种域名分类匹配装置,包括:

预定义域名分类文件获取模块10,用于根据预定义生成规则,获取预定义域名分类文件;

待匹配域名分类文件获取模块20,用于当收到域名请求时,按照所述预定义生成规则,获取待匹配域名分类文件;

匹配模块30,用于将所述待匹配域名分类文件与预定义域名分类文件进行匹配;

分类文件获取模块40,用于在匹配成功时,则获取到请求的域名对应的分类文件,允许访问请求的域名对应的资源网站。

拦截模块50,用于在匹配失败时,拦截请求的域名访问对应的资源网站。

可选地,预定义域名分类文件获取模块,包括:

分割单元,用于以域名中的点为分割单位,对域名进行分割;

目录创建单元,用于将分割后的域名进行逐级的创建目录;

分类文件创建单元,用于在末端的目录部分创建分类文件,其中,所述分类文件中包括域名分类的具体信息。

可选地,所述待匹配域名分类文件获取模块还用于:

将请求的域名生成资源路径,根据所述资源路径生成待匹配域名的分类。

可选地,所述匹配模块包括:

查找单元,用于根据域名请求生成的资源路径,查找所述资源路径对应的所述待匹配域名分类文件。

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

以上结合具体实施方式和范例性实例对本申请进行了详细说明,不过这些说明并不能理解为对本申请的限制。本领域技术人员理解,在不偏离本申请精神和范围的情况下,可以对本申请技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本申请的范围内。本申请的保护范围以所附权利要求为准。

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