一种实现离线化DNS服务的系统的制作方法

文档序号:13949943阅读:197来源:国知局

本发明涉及域名解析领域,尤其涉及一种实现离线化dns服务的系统。



背景技术:

域名系统(domainnamesystem缩写dns,domainname被译为域名)是因特网的一项核心服务,是将域名解释成ip地址的服务,它作为可以将域名和ip地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的ip数串。

dns代理,是在用户与dns服务器之间设置的中间层,可实现用户向外面dns服务器发送请求的转发以及dns服务器结果的转发。

离线dns代理,是可以不依赖于dns服务器的dns代理,即当dns服务器异常或无法正常工作时,dns代理无法从dns服务器得到请求的服务,在这情况下,离线dns代理仍可以为用户提供正常的dns解析服务。

现有技术中,用户发送dns请求至代理服务器,然后代理服务器将请求转发至dns服务器,以获取dns服务。通常对于一个用户而言,仅与一个代理服务器连接,当代理服务器异常时,则无法实现请求的发送,同时也无法获取dns服务;同时,当dns服务器异常无法提供服务器时,用户依然无法获取dns服务。

因此,为了保障dns服务的有效提供,需要保证网络链路以及服务器的稳定。



技术实现要素:

本发明的目的在于提出一种实现离线化dns服务的系统,能够实现当dns服务器或代理服务器出现问题后,用户仍然能够获得所需的域名解析服务。

为达此目的,本发明采用以下技术方案:

一种实现可离线化dns服务的系统,包括:

客户端,多个代理服务器,dns服务器;

代理服务器根据地域分布,同时每个区域设置有主备代理服务器;且主备代理服务器均与dns服务器连接;

用户的客户端根据所处的地理位置,竞争接入主代理服务器,并向该代理服务器提供注册信息;

主代理服务器将注册信息发送给备用代理服务器,以便代理服务器根据上述注册信息建立与客户端的连接;

代理服务器根据dns服务的历史记录建立本地缓存,同时将上述历史记录发送给用户客户端,以便客户端保存到其本地服务器处;

客户端发送请求至代理服务器,主备代理服务器在接收到用户请求后,根据当前的负载情况以及工作异常情况,确定用于转发该请求的代理服务器;

确定的代理服务器将请求转发至dns服务器;并接收dns服务器反馈的结果,将结果转发给用户客户端。

其中,当客户端接收到用户请求时,同时向本地服务器、代理服务器发送所述请求,代理服务器向dns服务器转发请求后,同时在本地服务器和代理服务器处查询是否由上述请求对应的记录;

当代理服务器未在第一预定时间内接收到dns的反馈结果时,则将代理服务器查询到的记录反馈给用户;而如果用户在第二预定时间内没收到反馈结果,则将本地服务器的查询记录反馈给用户。

其中,代理服务器将历史代理记录写入系统日志以生成标准数据,所述历史代理记录包括若干用户请求、以及各用户请求对应的ip地址;

其中,第一预定时间为代理服务器、dns服务器正常时,代理服务器从dns服务器获取反馈结果所需的时间;

第二预定时间为代理服务器、dns服务器正常时,用户获取反馈结果所需的时间;

其中,代理服务器以数据包的形式向用户返回所述解析结果。

其中,代理服务器为离线dns代理服务器。

一种实现可离线化dns服务的方法,包括:

步骤1:代理服务器根据地域分布,同时每个区域设置有主备代理服务器;且主备代理服务器均与dns服务器连接;

步骤2:用户的客户端根据所处的地理位置,竞争接入主代理服务器,并向该代理服务器提供注册信息;

步骤3:主代理服务器将注册信息发送给备用代理服务器,以便代理服务器根据上述注册信息建立与客户端的连接;

步骤4:代理服务器根据dns服务的历史记录建立本地缓存,同时将上述历史记录发送给用户客户端,以便客户端保存到其本地服务器处;

步骤5:客户端发送请求至代理服务器,主备代理服务器在接收到用户请求后,根据当前的负载情况以及工作异常情况,确定用于转发该请求的代理服务器;

步骤6:确定的代理服务器将请求转发至dns服务器;并接收dns服务器反馈的结果,将结果转发给用户客户端;

其中,当客户端接收到用户请求时,同时向本地服务器、代理服务器发送所述请求,代理服务器向dns服务器转发请求后,同时在本地服务器和代理服务器处查询是否由上述请求对应的记录;

当代理服务器未在第一预定时间内接收到dns的反馈结果时,则将代理服务器查询到的记录反馈给用户;而如果用户在第二预定时间内没收到反馈结果,则将本地服务器的查询记录反馈给用户。

实施本发明实施例,具有如下有益效果:

本发明实施例通过设置主备代理服务器,由此保证当一个代理服务器异常,或是负载过高时,通过另一代理服务器实现请求的转发,由此保证用户请求的顺利转发,以及dns服务器结果的及时获取;同时设置有本地服务器,并在本地服务器、代理服务器处保存有历史记录,由此保证在dns服务器出现问题,无法正常返回结果时,用户依然能够获取域名解析服务;有效的降低了用户对代理服务器以及dns服务器的依赖。

附图说明

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

图1是本发明实施例的一种实现可离线化dns服务的系统示意图。

具体实施方式

下面结合本发明的附图对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,一种实现可离线化dns服务的系统,所述系统包括:若干客户端,多个代理服务器,dns服务器;

代理服务器根据地域分布,同时每个区域设置有主备代理服务器;且主备代理服务器均与dns服务器连接;按照区域覆盖,以使得各个用户均能够获取dns服务。

用户的客户端根据所处的地理位置,竞争接入主代理服务器,并向该代理服务器提供注册信息;主代理服务器将注册信息发送给备用代理服务器,以便代理服务器根据上述注册信息建立与客户端的连接;主备代理服务器通过注册信息的共享使得用户能够同时与两个代理服务器建立连接,而不需要用户多次提供信息,由此可以有效的减少网络中的数据传输量,降低网络负担。

代理服务器根据dns服务的历史记录建立本地缓存,同时将上述历史记录发送给用户客户端,以便客户端保存到其本地服务器处;

客户端发送请求至代理服务器,主备代理服务器在接收到用户请求后,根据当前的负载情况以及工作异常情况,确定用于转发该请求的代理服务器;

确定的代理服务器将请求转发至dns服务器;并接收dns服务器反馈的结果,将结果转发给用户客户端。

其中,当客户端接收到用户请求时,同时向本地服务器、代理服务器发送所述请求,代理服务器向dns服务器转发请求后,同时在本地服务器和代理服务器处查询是否由上述请求对应的记录;当代理服务器未在第一预定时间内接收到dns的反馈结果时,则将代理服务器查询到的记录反馈给用户;而如果用户在第二预定时间内没收到反馈结果,则将本地服务器的查询记录反馈给用户。同时在本地服务器、代理服务器处查询解析结果,由此防止了在dns服务器异常时,依然能够有效的获取的dns服务。

其中,代理服务器将历史代理记录写入系统日志以生成标准数据,所述历史代理记录包括若干用户请求、以及各用户请求对应的ip地址;

其中,第一预定时间为代理服务器、dns服务器正常时,代理服务器从dns服务器获取反馈结果所需的时间;第二预定时间为代理服务器、dns服务器正常时,用户获取反馈结果所需的时间;预定时间的设定能够有效的防止因代理服务器或dns服务器异常,无法正常提供dns服务时,依然在有效的时间内获取dns服务器,而无需过多的时间等待。

而当用户在第二预定时间过后,依然未收到任何反馈信息,则发送报警信息,提示用户dns服务异常,建议修复。通过该步骤能够及时的通知dns服务的异常,防止用户长时间的等待,便于用户根据报警信息做出及时的处理。

其中,代理服务器以数据包的形式向用户返回所述解析结果。

其中,代理服务器为离线dns代理服务器。

本发明实施例通过设置主备代理服务器,由此保证当一个代理服务器异常,或是负载过高时,通过另一代理服务器实现请求的转发,由此保证用户请求的顺利转发,以及dns服务器结果的及时获取;同时设置有本地服务器,并在本地服务器、代理服务器处保存有历史记录,由此保证在dns服务器出现问题,无法正常返回结果时,用户依然能够获取域名解析服务;有效的降低了用户对代理服务器以及dns服务器的依赖;而且该系统中设置有报警功能,能够及时的通知用户dns异常,并据此做出处理。

以下为本发明实施例提供的一种实现离线化dns服务的方法的实施例。所述方法的实施例与上述的装置实施例属于同一构思,方法的实施例中未详尽描述的细节内容,可以参考上述装置实施例。

一种实现可离线化dns服务的方法,包括:

步骤1:代理服务器根据地域分布,同时每个区域设置有主备代理服务器;且主备代理服务器均与dns服务器连接;

步骤2:用户的客户端根据所处的地理位置,竞争接入主代理服务器,并向该代理服务器提供注册信息;

步骤3:主代理服务器将注册信息发送给备用代理服务器,以便代理服务器根据上述注册信息建立与客户端的连接;

步骤4:代理服务器根据dns服务的历史记录建立本地缓存,同时将上述历史记录发送给用户客户端,以便客户端保存到其本地服务器处;

步骤5:客户端发送请求至代理服务器,主备代理服务器在接收到用户请求后,根据当前的负载情况以及工作异常情况,确定用于转发该请求的代理服务器;

步骤6:确定的代理服务器将请求转发至dns服务器;并接收dns服务器反馈的结果,将结果转发给用户客户端;

其中,当客户端接收到用户请求时,同时向本地服务器、代理服务器发送所述请求,代理服务器向dns服务器转发请求后,同时在本地服务器和代理服务器处查询是否由上述请求对应的记录;

当代理服务器未在第一预定时间内接收到dns的反馈结果时,则将代理服务器查询到的记录反馈给用户;而如果用户在第二预定时间内没收到反馈结果,则将本地服务器的查询记录反馈给用户。

上述实施例中通过设置主备代理服务器,由此保证当一个代理服务器异常,或是负载过高时,通过另一代理服务器实现请求的转发,由此保证用户请求的顺利转发,以及dns服务器结果的及时获取;同时设置有本地服务器,并在本地服务器、代理服务器处保存有历史记录,由此保证在dns服务器出现问题,无法正常返回结果时,用户依然能够获取域名解析服务;有效的降低了用户对代理服务器以及dns服务器的依赖。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利要求范围,因此,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,仍属本发明所涵盖的范围。

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