一种DNS服务器向客户端主动推送更新的方法与流程

文档序号:20038542发布日期:2020-02-28 11:37阅读:1406来源:国知局
一种DNS服务器向客户端主动推送更新的方法与流程

本发明属于互联网域名系统领域,涉及一种数据同步方法,具体地说,是涉及一种dns服务器向客户端主动推送更新的方法。



背景技术:

域名系统(domainnamesystem,dns)是互联网的重要基础设施,主要负责域名和ip地址之间的转换,dns系统的正常运行,是web服务、电子邮件服务等几乎所有网络服务正常运行的基础。

现在,dns客户端使用查询响应机制来获得记录数据,客户端主动发送查询请求包,服务器在应答包中返回请求的记录数据。为了减轻服务器负载,客户端可以缓存住记录数据,一段时间内不再查询服务器。

但是,目前的请求响应机制有以下缺陷:客户端为了实时查询到最新的记录数据,必须忽略本地缓存,频繁查询dns服务器,导致服务器负载增大,并产生冗余的网络流量。



技术实现要素:

为解决上述技术问题,本发明提供了一种dns服务器向客户端主动推送更新的方法,该方法包括:

dns客户端向dns服务器订阅关注的记录列表。

服务器上发生记录更新时,查询订阅该记录的客户端列表,向列表中的客户端主动推送更新。

服务器设定超时和重试次数阈值,当发生推送更新超时,重新尝试进行推送更新。

进一步地,dns推送更新机制与dns查询响应机制可以同时工作。

进一步地,推送的更新包括两种消息类型,一种为通知消息,另一种为记录消息。

更进一步地,当客户端获得通知消息后,首先验证该通知消息的合法性,验证通过后向服务器发送查询请求通知中已更新的dns记录,用应答包中返回的记录替换本地存储的dns记录;

更进一步地,客户端获得记录消息后,首先验证该消息的合法性,验证通过后直接替换本地缓存的dns记录。

更进一步地,所述方法还包括:客户端向服务器发送取消订阅关注的信号,以结束记录列表中的一或多个订阅。

进一步地,客户端需要进行域名解析时,优先使用本地存储的dns记录,当本地未命中的时候,基于dns查询响应机制向服务器请求数据。

与现有技术相比,本发明所述的一种dns服务器向客户端主动推送更新的方法,提高了客户端获得dns数据更新的实时性和效率,减少了客户端频繁查询而产生的服务器负载和网络流量。

附图说明

图1为本发明实施例中的dns客户端和服务器通信过程示意图;

图2为本发明实施例中的所述的dns推送服务器工作流程图;

图3为本发明实施例中的所述的dns订阅服务器工作流程图。

具体实施方式

以下结合附图对本发明作进一步详细说明,但不作为对本发明的限定。

为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。

图1为本发明提供的一种dns服务器向客户端主动推送更新的方法通信过程示意图,包括:

dns客户端向dns设置订阅需求,向服务器发送订阅关注的记录列表的请求信号,服务器接收到该请求后向客户端返回确认的消息;

服务器向客户端发送推送更新的通知信号,客户端接收到该更新的消息后,向服务器返回确认的消息;

客户端向服务器取消对记录列表的订阅,服务器返回确认消息,其中,取消订阅可以是取消记录列表中的部分,或者全部取消,客户端也可以根据需求对记录列表中的相关数据进行更改,更改后应该重新发送给服务器,由服务器确认收到后表明更改成功。

图2为本发明提供方法的服务器流程图,包括:

服务器端的记录发生变更时,查询订阅了该记录的客户端列表,然后向列表中的每个客户端发送更新消息。针对每个客户端,如果接收到确认消息,更新流程结束;如果接收确认消息超时,则根据设置的重试次数阈值重试发送更新消息,直至成功或确认客户端无法接收,比如设定接收消息时间为2分钟,当2分钟后仍然未收到客户端的确认信号,则之后再每间隔5分钟再发送一次推送信号,直至发送次数到达3次,如果仍然未收到客户端的确认,则放弃推送;客户端如果错失或遗漏了服务器发送的订阅消息,需要重新向服务器发送订阅记录重发的请求。

图3为本发明提供方法的客户端流程图,包括:

客户端向服务器订阅关注的记录列表,监听接收服务器的更新消息推送;

当接收到服务器的更新消息时,返回确认消息,表明接收成功;

此外,客户端会对接收到的更新消息进行合法性检查,如果为非法消息进行丢弃,如果合法进行下一步处理;

客户端会判断接收的更新消息的类型,如果为通知消息,通过查询响应机制向服务器发起该记录的dns查询,用响应消息中的记录更新本地数据存储;如果为记录消息,解析出消息中的记录,直接更新本地存数据存储。其中,dns推送更新机制与dns查询响应机制可以同时工作。当客户端需要进行域名解析时,优先使用本地存储的dns记录,当本地未命中的时候,再基于dns查询响应机制向服务器请求数据,这样也能减少服务器的工作。

与现有技术相比,本发明所述的一种dns服务器向客户端主动推送更新的方法,提高了客户端获得dns数据更新的实时性和效率,减少了客户端频繁查询而产生的服务器负载和网络流量。

上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

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