发明内容
本发明所要解决的技术问题在于提供一种泛域名识别、处理装置及方法,以克服现有技术中无法有效的对泛域名进行识别和处理的问题。
为解决上述技术问题,本发明提供一种用于搜索系统的泛域名处理装置,包括:
域名获取模块,用于从所述搜索系统的域名库中获取一个域名作为当前待识别域名;
原域名解析模块,用于解析所述当前待识别域名,并记录解析后获得的IP地址结果;
新域名生成模块,用于确定一个或一个以上不同的前缀,并将所述前缀增加至所述待识别域名前,形成一个或一个以上的新域名;
新域名解析模块,用于对所述新域名进行解析,如果解析成功则记录解析后获得的IP地址结果;
泛域名判定模块,用于当所述新域名解析后获得的IP地址与原待识别域名解析后获得的IP地址相同时,则判断该待识别域名为支持泛域名的原域名。
本发明进而还提供一种泛域名识别装置,包括:
域名确定模块,用于确定当前待识别的域名;
原域名解析模块,用于解析所述当前待识别域名,并记录解析后获得的IP地址;
新域名生成模块,用于确定一个或一个以上不同的前缀,并将所述前缀增加至所述待识别域名前,形成一个或一个以上的新域名;
新域名解析模块,用于对所述新域名进行解析,如果解析成功则记录解析后获得的IP地址;
泛域名判定模块,用于当所述新域名解析后获得的IP地址与原待识别域名解析后获得的IP地址相同时,则判断该待识别域名支持泛域名。
本发明另提供一种用于搜索系统的泛域名处理方法,包括如下步骤:
从所述搜索系统的域名库中获取一个域名作为当前待识别域名;
解析所述当前待识别域名,并记录解析后获得的IP地址;
确定一个或一个以上不同的前缀,并将所述前缀增加至所述待识别域名前,形成一个或一个以上的新域名;
对所述新域名进行解析,如果解析成功则记录解析后获得的IP地址;
如果所述新域名解析后获得的IP地址与原待识别域名解析后获得的IP地址相同,则判断该待识别域名为支持泛域名的原域名。
本发明还提供一种泛域名识别方法,包括如下步骤:
确定当前待识别的域名;
解析所述当前待识别域名,并记录解析后获得的IP地址;
确定一个或一个以上不同的前缀,并将所述前缀增加至所述待识别域名前,形成一个或一个以上的新域名;
对所述新域名进行解析,如果解析成功则记录解析后获得的IP地址;
如果所述新域名解析后获得的IP地址与原待识别域名解析后获得的IP地址相同,则判断该待识别域名支持泛域名。
应用本发明的实施例,不仅可以方便、快捷的解决泛域名的识别问题,同时也简化了泛域名的处理,特别是在搜索系统中,可以避免由于巨大的泛域名数量为系统性能带来的影响。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
泛域名在实际使用中的作用是非常广泛的,例如实现无限二级域名功能,提供免费的URL(统一资源定位符)转发,在IDC(互联网数据中心)部门实现自动分配免费网址,在大型企业中实现网址分类管理等等,都发挥了巨大的作用。
在使用泛域名的各种应用中,如何方便的识别泛域名是首先会遇到的问题,因为并非所有域名都支持泛域名。解决这一问题可以从泛域名解析开始思考。
所谓泛域名解析,是指利用通配符*(星号)来做次级域名以实现所有的次级域名均指向同一IP地址。例如,一个用户的域名是“abc.com”,如果其支持泛域名,则需要做一个“*.abc.cn”的次级域名A记录指向222.222.222.222,那么生效后当访问者无论是输入“123.abc.cn”还是“123.123.abc.cn”,甚至可以是以任意字符形成的前缀均可以指向到222.222.222.222这个IP地址。
由此可以考虑通过泛域名解析来对是否支持泛域名进行识别。如图1所示,为根据本发明实施例所述的一种泛域名识别方法流程图,通过此实施例可以很方便的识别出支持泛域名的原域名。其包括如下步骤:
步骤101:确定当前待识别的域名;
步骤102:解析所述当前待识别域名,并记录解析后获得的IP地址结果;
步骤103:确定一个或一个以上不同的前缀,并将所述前缀增加至所述待识别域名前,形成一个或一个以上的新域名;
步骤104:对所述新域名进行解析,如果解析成功则记录解析后获得的IP地址结果;
步骤105:如果所述新域名解析后获得的IP地址与原待识别域名解析后获得的IP地址相同,则判断该待识别域名支持泛域名。
其中所述步骤105中,如果所述新域名的解析失败,则判定为该待识别域名不支持泛域名。
其中所述步骤105中,如果所述新域名解析后获得的IP地址与原待识别域名解析后获得的IP地址不同,则判断为该待识别域名不支持泛域名。
应当说明的是,尽管增加至待识别域名前的前缀可以是任意确定的,甚至可以是随机确定的字符,但优选的是预先确定一些常规网站不太可能使用的特殊前缀,尽量避免使用普通前缀,例如,类似于news.sina.com.cn,sports.sina.com.cn,edu.sina.co m.cn这些域名中,加在sina.com.cn之前的前缀就属于常规网站很可能是用的普通前缀,这些增加了普通前缀的域名都是用户单独申请过的独立的域名,而且他们的IP地址也都是相同的,但这时却不能说明sina.co m.cn这一域名是支持泛域名的。
增加的特殊前缀可以是类似于“f.5.y.7.”这种不太可能被用户使用的字符组合,通过在原域名sina.com.cn前多次增加不同的发散前缀后进行解析,如果每次解析结果都相同,则可以认为该原域名是支持泛域名的。
例如,当确定待识别域名为sina.co m.cn后,解析其IP地址并记录返回的IP结果;然后增加一个发散前缀“f.5.y.7.”,形成一个新域名f.5.y.7.sina.co m.cn,然后进行域名解析,如果域名解析失败,则可以直接判定sina.co m.cn不支持泛域名;如果解析成功,则将返回的IP地址与原域名的解析结果中的IP地址进行比较,如果不同,也可以直接判定原域名不支持泛域名;如果相同,则变换另一个发散前缀“7.f.5.y.”,形成新域名7.f.5.y.sina.co m.cn,再进行同样的域名解析过程;如此重复数次测试过程,例如在当前待识别域名前分别添加前缀“f.5.y.7.”、“7.f.5.y.”、“y.7.f.5.”,“5.y.7.f.”后,如果全部解析成功,且返回的IP地址都与原域名的IP地址相同,则可以判定该待识别域名是支持泛域名的。
泛域名的识别与处理方案,将会在很多技术领域,尤其在搜索技术中将会得到较大的应用和发展。例如,如图2所示,为根据本发明实施例所述的一种用于搜索系统的泛域名处理方法流程图,包括如下步骤:
步骤201:从所述搜索系统的域名库中获取一个域名作为当前待识别域名;
步骤202:解析所述当前待识别域名,并记录解析后获得的IP地址结果;
步骤203:确定一个或一个以上不同的前缀,并将所述前缀增加至所述待识别域名前,形成一个或一个以上的新域名;
步骤204:对所述新域名进行解析,如果解析成功则记录解析后获得的IP地址结果;
步骤205:如果所述新域名解析后获得的IP地址与原待识别域名解析后获得的IP地址相同,则判断该待识别域名为支持泛域名的原域名。
其中所述步骤205中,如果所述新域名的解析失败,则判定为该待识别域名不支持泛域名。
其中所述步骤205中,如果所述新域名解析后获得的IP地址与原待识别域名解析后获得的IP地址不同,则判断为该待识别域名不支持泛域名。
此外,搜索系统在进行网页下载时,一般都需要将网页地址中的域名解析为具体的IP地址,而根据本发明的实施例,在识别出支持泛域名的原域名后,可以进一步对所述搜索系统获取的网页地址进行分析,如果所述网页地址包含有所述原域名的泛域名,则在访问该网页地址时,不再对泛域名进行域名解析,而是使用该原域名的IP地址代替该泛域名。
而所述搜索系统在形成调度队列时,还可以将隶属于同一原域名的一个或一个以上泛域名的调度队列与原域名的调度队列进行合并。
通过上述说明可知,如果是现有的搜索系统中,所有的泛域名都将以独立域名的方式进行处理,这首先会极大的扩展站点的控制数据,占用很多的内存空间,同时,每个泛域名都会建立各自的调度队列,既增加很多调度队列文件,同时也会降低调度效率。而根据本发明实施例,在识别出域名支持泛域名后,所有的泛域名都不再进行域名解析,因此也无需增加域名结构和域名IP结构。在形成调度队列时,泛域名使用原域名的同级调度队列即可,只是在域名内容部分,记录泛域名的名称,保证最终的URL仍然维持原样。
由此可见,本发明的实施例在搜索系统中首先解决了泛域名的识别问题,同时也简化了泛域名的处理,避免了由于巨大的泛域名数量为系统性能带来的影响。
相应的,本发明实施例还提供一种泛域名识别装置,如图3所示,包括域名确定模块301、原域名解析模块302、新域名生成模块303、新域名解析模块304、泛域名判定模块305,其中:
域名确定模块301,用于确定当前待识别的域名;
原域名解析模块302,用于解析所述当前待识别域名,并记录解析后获得的IP地址结果;
新域名生成模块303,用于确定一个或一个以上不同的前缀,并将所述前缀增加至所述待识别域名前,形成一个或一个以上的新域名;
新域名解析模块304,用于对所述新域名进行解析,如果解析成功则记录解析后获得的IP地址结果;
泛域名判定模块305,用于当所述新域名解析后获得的IP地址与原待识别域名解析后获得的IP地址相同时,则判断该待识别域名支持泛域名。
所述泛域名判定模块305,用于当所述新域名的解析失败时,则判定为该待识别域名不支持泛域名。
所述泛域名判定模块305,用于当所述新域名解析后获得的IP地址与原待识别域名解析后获得的IP地址不同时,则判断为该待识别域名不支持泛域名。
同样,本发明实施例还提供一种用于搜索系统的泛域名处理装置,如图4所示,包括域名获取模块401、原域名解析模块402、新域名生成模块403、新域名解析模块404、泛域名判定模块405,其中:
域名获取模块401,用于从所述搜索系统的域名库中获取一个域名作为当前待识别域名;
原域名解析模块402,用于解析所述当前待识别域名,并记录解析后获得的IP地址结果;
新域名生成模块403,用于确定一个或一个以上不同的前缀,并将所述前缀增加至所述待识别域名前,形成一个或一个以上新域名;
新域名解析模块404,用于对所述新域名进行解析,如果解析成功则记录解析后获得的IP地址结果;
泛域名判定模块405,用于当所述新域名解析后获得的IP地址与原待识别域名解析后获得的IP地址相同时,则判断该待识别域名为支持泛域名的原域名。
所述泛域名判定模块405,用于当所述新域名的解析失败时,则判定为该待识别域名不支持泛域名。
所述泛域名判定模块405,用于当所述新域名解析后获得的IP地址与原待识别域名解析后获得的IP地址不同时,则判断为该待识别域名不支持泛域名。
此外,还可以进一步包括:
泛域名替代模块406,用于对所述搜索系统获取的网页地址进行分析,如果所述网页地址包含有所述原域名的泛域名,则在访问该网页地址时,不再对泛域名进行域名解析,而是使用该原域名的IP地址代替该泛域名;
调度队列合并模块407,用于在所述搜索系统形成调度队列时,将隶属于同一原域名的一个或一个以上泛域名的调度队列与原域名的调度队列进行合并。
上述装置实施例与方法实施例的各部分运作细节与有效效果具有对应关系,可参照理解,在此不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本申请进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。