CN107172126A - 一种域名系统服务器分配方法及服务器 - Google Patents

一种域名系统服务器分配方法及服务器 Download PDF

Info

Publication number
CN107172126A
CN107172126A CN201710266157.2A CN201710266157A CN107172126A CN 107172126 A CN107172126 A CN 107172126A CN 201710266157 A CN201710266157 A CN 201710266157A CN 107172126 A CN107172126 A CN 107172126A
Authority
CN
China
Prior art keywords
dns server
server
dns
access
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710266157.2A
Other languages
English (en)
Inventor
张银叶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710266157.2A priority Critical patent/CN107172126A/zh
Publication of CN107172126A publication Critical patent/CN107172126A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing

Abstract

一种域名系统服务器分配方法及服务器,用以解决现有的分配DNS服务器的技术方案中存在的用户设备访问网页的速度缓慢或用户设备访问网页失败的问题。方法包括:接入服务器获取与自身建立连接的至少一个DNS服务器中每个DNS服务器的负载信息;该接入服务器根据每个DNS服务器的负载信息,从至少一个DNS服务器中选择用于分配给申请上线的用户设备的DNS服务器。

Description

一种域名系统服务器分配方法及服务器
技术领域
本申请涉及通信技术领域,特别涉及一种域名系统服务器分配方法及服务器。
背景技术
用户设备访问网页时,用户设备通过域名系统(Domain Name System,DNS)服务器进行域名解析得到该网页对应的互联网协议(Internet Protocol,IP)地址,再根据该IP地址访问网页,该DNS服务器是由接入服务器为该用户设备分配的。
现有的接入服务器为用户设备分配DNS服务器的技术方案中,接入服务器保存有DNS服务器与用户设备的IP地址之间的对应关系,通常情况下,该对应关系是人工静态配置的,接入服务器无法修改该对应关系。用户设备向接入服务器申请上线时,接入服务器根据保存的DNS服务器与用户设备的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服务器的负载越小。步骤二:接入服务器根据多个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服务器的负载信息包括第二数值和第三数值,并且存在多个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服务器的第一数值。
在一种可能的设计中,接入服务器在获取与自身建立连接的至少一个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服务器,有助于提高用户设备访问网页的速度,还有助于提升用户设备访问网页的成功率。
相应地,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服务器中选择用于分配给申请上线的用户设备的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服务器中,第一数值越小,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服务器。
第四方面,本申请实施例提供了一种接入服务器,该接入服务器包括通信接口、总线、存储器和处理器;存储器中存储有计算机程序;处理器、存储器、通信接口通过所述总线相互的通信;所述通信接口,用于接收和发送数据;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,执行第一方面及第一方面中任一可能的设计中提供的方法。
第五方面,本申请实施例中还提供了一种计算机存储介质,用于储存为上述第一方面中接入服务器执行的计算机软件指令,在计算机运行时,使得计算机执行上述第一方面及第一方面中任一可能的设计中的方法。
第六方面,本申请实施例提供了一种DNS服务器,包括确定单元和指示单元。其中,确定单元用于确定DNS服务器的负载信息;指示单元用于向与该DNS服务器建立连接的至少一个接入服务器中每个接入服务器指示确定单元确定的DNS服务器的负载信息,DNS服务器的负载信息用于每个接入服务器根据DNS服务器的负载信息选择用于分配给申请上线的用户设备的DNS服务器。
相应地,DNS服务器的负载信息可以包括第一数值、第二数值、第三数值中的一个或多个。其中第一数值用于指示与DNS服务器建立连接的每个接入服务器分配给该DNS服务器的用户设备的个数的总和,第二数值用于指示DNS服务器的处理器使用率,第三数值用于指示DNS服务器单位时间内接收到的域名解析请求的个数。
在一种可能的设计中,确定单元可以具体用于获取与该DNS服务器建立连接的至少一个接入服务器中每个接入服务器指示的DNS服务器被该接入服务器分配的用户设备的个数;根据每个接入服务器指示的DNS服务器被该接入服务器分配的用户设备的个数计算得到负载信息包括的第一数值,第一数值用于指示与DNS服务器建立连接的每个接入服务器分配给该DNS服务器的用户设备的个数的总和。
在一种可能的设计中,DNS服务器还包括连接建立单元。该连接建立单元可以用于在指示单元向与该DNS服务器建立连接的至少一个接入服务器中每个接入服务器指示DNS服务器的负载信息之前,接收至少一个接入服务器中每个接入服务器发送的建立连接请求;根据该DNS服务器的运行情况和/或负载信息,确定是否与至少一个接入服务器中的部分或者全部接入服务器建立连接。
第七方面,本申请实施例提供了一种DNS服务器,该DNS服务器包括通信接口、总线、存储器和处理器;存储器中存储有计算机程序;处理器、存储器、通信接口通过所述总线相互的通信;所述通信接口用于接收和发送数据;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,执行第二方面及第二方面中任一可能的设计中提供的方法。
第八方面,本申请实施例中还提供了一种计算机存储介质,用于储存为上述第一方面中DNS服务器执行的计算机软件指令,在计算机运行时,使得计算机执行上述第二方面及第二方面中任一可能的设计中的方法。
附图说明
图1为本申请实施例提供的一种域名系统服务器分配系统的架构示意图;
图2为本申请实施例提供的一种域名系统服务器分配方法的流程示意图;
图3为本申请实施例提供的一种接入服务器与DNS服务器之间的信息交互方法的流程示意图;
图4为本申请实施例提供的另一种域名系统服务器分配方法的流程示意图;
图5为本申请实施例提供的一种接入服务器的结构示意图;
图6为本申请实施例提供的另一种接入服务器的结构示意图;
图7为本申请实施例提供的一种DNS服务器的结构示意图;
图8为本申请实施例提供的另一种DNS服务器的结构示意图。
具体实施方式
现有的接入服务器为用户设备分配DNS服务器的技术方案中,接入服务器保存有DNS服务器与用户设备的IP地址之间的对应关系,通常情况下,该对应关系是人工静态配置的,接入服务器无法修改该对应关系。用户设备向接入服务器申请上线时,接入服务器根据保存的DNS服务器与用户设备的IP地址之间的对应关系,将该用户设备的IP地址对应的DNS服务器分配给该用户设备,当该DNS服务器发生故障或负载过大时,会导致用户设备访问网页的速度缓慢,甚至导致用户设备访问网页失败。
本申请实施例提供一种域名系统服务器分配方法及服务器,用以解决现有的分配DNS服务器的技术方案中存在的用户设备访问网页的速度缓慢或用户设备访问网页失败的问题。本申请实施例提供的技术方案中,接入服务器可以通过与自身建立连接的至少一个DNS服务器中每个DNS服务器进行交互,来获取每个DNS服务器的负载信息,再根据每个DNS服务器的负载信息来选择用于分配给申请上线的用户设备的DNS服务器,可以实现根据DNS服务器的负载为申请上线的用户设备分配DNS服务器,有助于避免接入服务器为申请上线的用户设备分配发生故障或负载过大的DNS服务器,从而可以提高用户设备访问网页的速度,可以提升用户设备访问网页的成功率。此外,由于接入服务器可以根据每个DNS服务器的负载信息来选择用于分配给申请上线的用户设备的DNS服务器,因此接入服务器将负载较大的DNS服务器分配给较少数量的申请上线的用户设备,或者接入服务器不会将负载较大的DNS服务器分配给申请上线的用户设备,这样有助于减轻DNS服务器的负载。其中,方法和服务器是基于同一申请构思的,由于方法和服务器解决问题的原理相似,因此服务器和方法的实施可以相互参见,重复之处不再赘述。
本申请实施例提供的技术方案适用于为用户设备分配DNS服务器的场景。用户设备访问网页时,需要通过DNS服务器对网页的域名进行域名解析得到该网页对应的IP地址,再根据该IP地址访问网页,DNS服务器可以是在用户设备申请上线时由接入服务器为该用户设备分配的。例如,可以是在用户设备申请上线时由宽带远程接入服务器(BroadbandRemote Access Server,BRAS)为用户设备分配主DNS服务器和备DNS服务器,用户设备优先向主DNS服务器请求域名解析,当主DNS服务器负载过大或主DNS服务器发生故障导致该主DNS服务器无法处理用户设备发送的域名解析请求时,用户设备向备DNS服务器请求域名解析。
本申请实施例适用的网络架构可以包括用户设备、接入服务器、DNS服务器等,如图1所示。用户设备可以分别与接入服务器、DNS服务器建立连接,接入服务器与DNS服务器可以之间建立连接,通过接入服务器与DNS服务器之间的连接可以实现接入服务器与DNS服务器之间的信息交互。
本申请实施例涉及的用户设备,可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端设备可以经无线接入网(Radio Access Network,RAN)与一个或多个核心网进行通信,无线用户设备可以是移动终端设备,如移动电话(或称为“蜂窝”电话)和具有移动终端设备的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。例如,个人通信业务(Personal Communication Service,PCS)电话、无绳电话、会话发起协议(Session Initiated Protocol,SIP)话机、无线本地环路(Wireless Local Loop,WLL)站、个人数字助理(Personal Digital Assistant,PDA)等设备。无线用户设备也可以称为系统、订户单元(Subscriber Unit)、订户站(SubscriberStation),移动站(Mobile Station)、移动台(Mobile)、远程站(Remote Station)、接入点(Access Point)、远程终端设备(Remote Terminal)、接入终端设备(Access Terminal)、用户终端设备(User Terminal)、用户代理(User Agent)、用户设备(User Device)、或用户装备(User Equipment)。
本申请实施例涉及的接入服务器,可以是BRAS、光网络接入服务器(Opticalnetwork terminal,ONT)、光线路接入服务器(Optical Line Terminal,OLT)、无线终端接入服务器(Customer Premise Equipment,CPE)等服务器中的一种或多种。接入服务器用于为用户设备分配DNS服务器,以使用户设备可以通过DNS服务器访问网页。
本申请实施例涉及的DNS服务器,是一种组织成域层次结构的计算机和网络服务命名系统。它是由解析器和域名服务器组成的,用于TCP/IP网络。域名服务器可以指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中,域名必须对应一个IP地址,而该IP地址不一定有域名。DNS采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式:主服务器和转发服务器。通常来说,在通信系统中部署DNS服务器时,都是以主备部署或多级部署的方式进行的。在通信系统中采用主备部署的方式部署DNS服务器时,主DNS服务器和备DNS服务器可以为同一种类型的DNS服务器,也可以为不同类型的DNS服务器,主DNS服务器的数量可以为一个或多个,备DNS服务器也可以为一个或多个,本申请实施例中不作限定。
域名(Domain Name)是由一串用点分隔的名字组成的互联网上一台计算机或多台计算机构成的计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,即地理上的域名,此时域名可以指代有行政自主权的一个地方区域)。域名也可以称为主机名。本申请实施例涉及DNS(域名系统),可以是一种互联网中用于管理、存储域名的系统。
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络或每一台主机分配一个逻辑地址,用户设备可以通过IP地址来访问该IP地址对应的网页。每个IP地址都可以有一个域名,该域名由一个或多个字符串组成,字符串之间可以用小数点隔开,因此在DNS系统中采用域名替代IP地址,可以让用户不使用较难记忆的IP地址访问网页,而是使用易于记忆的域名就可以访问网页,从而用户设备可以更方便的访问网页。
域名解析是指通过域名得到该主机名对应的IP地址的过程。这个过程也可以称为主机名解析。域名解析可以通过查询域名到IP地址的映射来实现,域名到IP地址的映射有两种方式:静态映射和动态映射。静态映射是指在每台设备上配置主机到IP地址的映射,各设备独立维护自身的映射表且该映射表只供本设备使用。动态映射是指建立一套域名系统,只在专门的DNS服务器上配置主机到IP地址的映射,如果需要使用域名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。在解析域名时,也可以将一些常用的域名放入静态域名解析表中,以提高域名解析效率。
下面介绍本申请实施例提供的技术方案。
本申请实施例提供了一种域名系统服务器分配方法,该方法的执行主体为接入服务器,如图2所示,该方法包括:
S201、接入服务器获取与自身建立连接的至少一个DNS服务器中每个DNS服务器的负载信息。
本实施例中,接入服务器可以与一个DNS服务器建立连接,也可以与多个DNS服务器建立连接。当与接入服务器建立连接的DNS服务器为多个时,接入服务器可以与该多个DNS服务器中每个DNS服务器分别建立连接,也可以与该多个DNS服务器的总接口建立连接,还可以与由该多个DNS服务器组成的多级DNS服务器群组建立连接。多个DNS服务器的总接口可以用于管理多个DNS服务器,以及转发接入服务器与多个DNS服务器中每个DNS服务器之间的信息。通常来说,为了满足为用户设备部署主DNS服务器和备DNS服务器的需求,接入服务器会与至少两个DNS服务器建立连接。需要说明的是,接入服务器与DNS服务器的连接方式由实际使用需求决定,本实施例中不作限定。
S201中接入服务器可以通过接收与自身建立连接的至少一个DNS服务器中每个DNS服务器发送的负载情况,进而确定每个DNS服务器的负载信息。接入服务器也可以通过统计与该接入服务器建立连接的至少一个DNS服务器中每个DNS服务器的信息,得到每个DNS服务器的负载信息。通过上述方法,接入服务器可以实现获取与自身建立连接的至少一个DNS服务器中每个DNS服务器的负载信息,以便接入服务器根据每个DNS服务器的负载信息从至少一个DNS服务器中选择用于分配给申请上线的用户设备的DNS服务器。
S201中当接入服务器与多个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服务器被接入服务器分配的用户设备的个数。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服务器发送域名解析请求。本实施例中并不限定单位时间,例如单位时间可以是一秒,单位时间也可以是五秒,实际应用中单位时间以及第三数值的确定方法可以根据实际应用中的需求来决定。
需要说明的是,第二数值和第三数值都可能会受到实际应用的场景的影响。当用户设备向DNS服务器请求进行深度域名解析时,DNS服务器进行深度域名解析时需要耗费的处理器资源较多,需要耗费的时间较长。因此相比于接收相同数量的非深度域名解析请求的DNS服务器,接收相同数量的深度域名解析请求的DNS服务器的第二数值较大,该DNS服务器的第三数值较小。
在S201之前,接入服务器可以向与该接入服务器建立连接的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服务器的当前负载过大,以便接入服务器在第二时间段内将该DNS服务器分配给较少数量的申请上线的用户设备,或者在第二时间段内接入服务器不会将该DNS服务器分配给申请上线的用户设备,进而达到均衡该DNS服务器的负载的目的。
例如,在预设时间段内仅存在向接入服务器申请下线的用户设备,并且不存在向接入服务器申请上线的用户设备时,接入服务器可以向与该接入服务器建立连接的至少一个DNS服务器中的每个DNS服务器指示从上一次向该DNS服务器进行指示到本次向该DNS服务器进行指示这段时间内,该DNS服务器被该接入服务器分配的申请下线的用户设备的个数。
S202、接入服务器根据每个DNS服务器的负载信息,从至少一个DNS服务器中选择用于分配给申请上线的用户设备的DNS服务器。
当与接入服务器建立连接的至少一个DNS服务器为一个DNS服务器时,该接入服务器可以根据该DNS服务器的负载信息确定是否将该DNS服务器分配给申请上线的用户设备。当与接入服务器建立连接的至少一个DNS服务器为多个DNS服务器时,该接入服务器根据该多个DNS服务器中的每个DNS服务器的负载信息,确定该多个DNS服务器中的每个DNS服务器的负载情况,从该多个DNS服务器中选择负载较小的预设个数的DNS服务器作为用于分配给申请上线的用户设备的DNS服务器。这样有助于避免接入服务器为申请上线的用户设备分配发生故障或负载过大的DNS服务器,提高用户设备访问网页的速度,提升用户设备访问网页的成功率。
可选的,S202中接入服务器可以根据获取到的每个DNS服务器的负载信息对每个DNS服务器的负载信息进行维护,接入服务器可以通过查询自身维护的每个DNS服务器的负载信息,从至少一个DNS服务器中选择预设数量的DNS服务器作为用于分配给申请上线的用户设备的DNS服务器。
需要说明的是,接入服务器可以在一次执行S201之后都执行一次S202,接入服务器也可以在一次执行S201之后执行多次S202。本申请实施例中不作限定。
当接入服务器为用户设备部署DNS服务器的方式为同时为用户设备部署主DNS服务器和备DNS服务器的方式时,接入服务器需要为用户设备分配至少两个DNS服务器,该至少两个DNS服务器中包括主DNS服务器和备DNS服务器。用户设备优先向主DNS服务器发送域名解析请求,当用户设备没有收到主DNS服务器对域名解析请求的响应时,用户设备才会向备DNS服务器发送域名解析请求。以与接入服务器建立连接的DNS服务器为两个DNS服务器为例,S202中接入服务器可以根据DNS服务器的负载信息,将两个DNS服务器中负载较小的DNS服务器作为主DNS服务器,将两个DNS服务器中负载较大的DNS服务器作为备DNS服务器。
当与接入服务器建立连接的至少一个DNS服务器为多个DNS服务器时,S202中接入服务器可以根据每个DNS服务器的负载信息确定该负载信息对应的DNS服务器的分配优先级,得到多个DNS服务器的分配优先级。接入服务器可以根据多个DNS服务器的分配优先级,从多个DNS服务器中按照分配优先级从高到低的顺序依次选择预设数量的DNS服务器作为用于分配给用户设备的DNS服务器。当该多个DNS服务器中存在分配优先级相同的两个或两个以上的DNS服务器,且分配优先级高于该相同分配优先级的DNS服务器的数量小于预设数量时,接入服务器可以在分配优先级相同的两个或两个以上的DNS服务器中随机选择一个或多个DNS服务器作为用于分配给用户设备的DNS服务器。其中,DNS服务器的负载信息与DNS服务器的分配优先级之间的对应关系可以分为以下几种情况:
情况一:当DNS服务器的负载信息包括第一数值时,第一数值越小,DNS服务器的分配优先级越高。
情况二:当DNS服务器的负载信息包括第三数值时,第三数值越小,DNS服务器的分配优先级越高。
情况三:当DNS服务器的负载信息仅包括第一数值和第三数值时,DNS服务器的加权平均值越小,DNS服务器的分配优先级越高,DNS服务器的加权平均值是基于第一数值和第三数值计算得到的。例如,第一数值为100000、对应权重为0.2,第三数值为400、对应权重为0.8时,DNS服务器的加权平均值为100000*0.2+400*0.8。
上述情况三中,除了通过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服务器进行深度域名解析等操作对第三数值造成影响。因此除了上述情况三中对应的方法之外,接入服务器也可以根据实际应用的场景采用预设算法对第二数值进行计算得到第二数值的加权值,以便于消除因深度域名解析等操作对第二数值的影响。同理,接入服务器还可以根据实际应用的场景采用预设算法对第三数值进行计算得到第三数值的加权值,以便于消除因深度域名解析等操作对第三数值的影响。
下面通过两个例子说明执行S202的具体方法,实际应用中执行S202的具体方法不限于这两个例子中的情况。
举例说明一
以至少一个DNS服务器为3个DNS服务器,并且这3个DNS服务器的负载信息仅包括第一数值为例,假设这3个DNS服务器分别为DNS服务器A、DNS服务器B、DNS服务器C,该DNS服务器A的第一数值为1000个,该DNS服务器B的第一数值为1200个,该DNS服务器C的第一数值为1005个。接入服务器根据这3个DNS服务器的负载信息确定这3个DNS服务器的分配优先级,由于第一数值越小,DNS服务器的分配优先级越高,所以这3个DNS服务器按照分配优先级从高到低依次排列的顺序为:DNS服务器A、DNS服务器C、DNS服务器B。当接入服务器需要为一个申请上线的用户设备分配一个主DNS服务器、一个备DNS服务器时,接入服务器根据这3个DNS服务器的分配优先级,从这3个DNS服务器中选择DNS服务器A作为分配给申请上线的用户设备的主DNS服务器,选择DNS服务器C作为分配给申请上线的用户设备的备DNS服务器。
举例说明二
以至少一个DNS服务器为4个DNS服务器,并且这4个DNS服务器的负载信息包括第一数值、第二数值以及第三数值为例,假设这4个DNS服务器分别为DNS服务器a、DNS服务器b、DNS服务器c、DNS服务器d,接入服务器根据这4个DNS服务器的负载信息维护的这4个DNS服务器的负载信息表如下表1。
表1 DNS服务器的负载信息表
DNS服务器的序号 第一数值 第二数值 第三数值
a a1 a2 a3
b b1 b2 b3
c c1 c2 c3
d d1 d2 d3
假设a2低于b2,d2高于a2,d2低于b2,b2和c2相等,并且DNS服务器b的加权平均值大于DNS服务器c的加权平均值。接入服务器先根据这4个DNS服务器的第二数值确定这4个DNS服务器的分配优先级,由于第二数值越小,DNS服务器的分配优先级越高,因此DNS服务器a的分配优先级高于DNS服务器d的分配优先级,DNS服务器d的分配优先级高于DNS服务器b的分配优先级和DNS服务器c的分配优先级。由于第二数值相同时DNS服务器的分配优先级,因此DNS服务器b的分配优先级和DNS服务器c的分配优先级相同。接入服务器再根据DNS服务器的加权平均值,确定第二数值相同的DNS服务器b和DNS服务器c各自的分配优先级,由于DNS服务器的加权平均值越小,DNS服务器的分配优先级越高,DNS服务器c的分配优先级高于DNS服务器b的分配优先级。这4个DNS服务器按照分配优先级从高到低依次排列的顺序为:DNS服务器a、DNS服务器d、DNS服务器c、DNS服务器b。当接入服务器需要为一个申请上线的用户设备分配一个主DNS服务器、两个备DNS服务器时,接入服务器根据这4个DNS服务器的分配优先级,从这4个DNS服务器中选择DNS服务器a作为分配给申请上线的用户设备的主DNS服务器,选择DNS服务器d和DNS服务器c作为分配给申请上线的用户设备的备DNS服务器。
上述举例说明二中,假设DNS服务器b的加权平均值等于DNS服务器c的加权平均值,则DNS服务器c的分配优先级与DNS服务器b的分配优先级相同。此时若接入服务器需要为一个申请上线的用户设备分配一个主DNS服务器、两个备DNS服务器,则接入服务器根据这4个DNS服务器的分配优先级,从这4个DNS服务器中选择DNS服务器a作为分配给申请上线的用户设备的主DNS服务器,选择DNS服务器d作为分配给申请上线的用户设备的备DNS服务器,随机从分配优先级相同的DNS服务器c和DNS服务器b中选择一个DNS服务器作为分配给申请上线的用户设备的备DNS服务器。
在S201之前,接入服务器可以分别请求与至少一个DNS服务器中的每个DNS服务器建立连接,该连接用于接入服务器获取DNS服务器的负载信息。当至少一个DNS服务器中存在DNS服务器与接入服务器建立连接失败时,接入服务器确定建立连接失败的DNS服务器可以不作为分配给申请上线的用户设备的DNS服务器。
接入服务器与至少一个DNS服务器中的每个DNS服务器之间建立连接的过程可以为:接入服务器向DNS服务器发送连接建立请求(Request)消息,DNS服务器接收到接入服务器发送的连接建立请求后,该DNS服务器根据自身的运行情况和或负载信息来确定是否与该接入服务器建立连接,当该DNS服务器确定与该接入服务器建立连接时该DNS服务器向接入服务器发送连接建立确认(Accepect)消息,接入服务器接收到该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服务器之间的连接为长期保持的连接时,接入服务器可以在满足断开连接的条件时才与DNS服务器断开连接,在未满足断开连接的条件时接入服务器与DNS服务器每次完成信息交互之后都会继续保持连接,这样有助于减少接入服务器每次获取与自身建立连接的至少一个DNS服务器中每个DNS服务器的负载信息的时延。
其中,断开连接的条件是根据实际应用需求来决定的。例如,断开连接的条件可以是DNS服务器发生故障,也可以是DNS服务器下线等。在此方式下,接入服务器与DNS服务器之间的信息交互可以是实时的,接入服务器与DNS服务器之间的信息交互也可以是周期性的信息交互。接入服务器与DNS服务器之间进行实时信息交互有助于保证每个DNS服务器的负载信息的实时性和有效性,而接入服务器与DNS服务器之间进行周期性信息交互有助于节省接入服务器与DNS服务器之间进行信息交互时所消耗的资源,提高接入服务器的资源使用率。
方式二:当接入服务器与DNS服务器之间的连接为周期性建立的连接时,接入服务器完成与DNS服务器信息交互之后会断开连接,这样有助于节省接入服务器与DNS服务器之间由于长期处于连接状态时所消耗的资源。接入服务器可以通过设置建立连接的周期时间来实现周期性建立接入服务器与DNS服务器之间的连接,例如建立连接的周期时间可以设置为2秒。在此方式下,接入服务器与DNS服务器之间的信息交互可以是周期性的信息交互。
需要说明的是,在实际应用中接入服务器可以根据实际组网情况选择建立连接方式和信息交互方式,本申请实施例中不作限定。
如图3所示为接入服务器与DNS服务器之间进行信息交互的流程示意图。接入服务器向DNS服务器发送连接建立请求消息,DNS服务器接收到接入服务器发送的连接建立请求后,向接入服务器发送连接建立确认消息,接入服务器接收到DNS服务器发送的连接建立确认消息后连接建立成功。以DNS的负载信息包括第一数值为例,接入服务器向该DNS服务器发送用于指示该DNS服务器被接入服务器分配的用户设备的个数的第一消息,DNS服务器接收到接入服务器发送的第一消息之后,根据该DNS服务器被接入服务器分配的用户设备的个数确定该DNS服务器的负载信息包括的第一数值,向接入服务器发送用于指示自身的负载信息包括的第一数值的第二消息,接入服务器接收到接入服务器发送的第二消息后向DNS服务器发送用于确认接收到DNS服务器的负载信息的接收确认消息,DNS服务器接收到该接收确认消息之后,向接入服务器回复接收确认响应消息。需要说明的是,在实际应用中接入服务器与DNS服务器之间进行信息交互时,DNS服务器向接入服务器上报的负载信息,本实施例中不作限定。
本申请实施例提供了一种域名系统服务器分配方法,接入服务器可以通过与自身建立连接的至少一个DNS服务器中每个DNS服务器进行交互,来获取每个DNS服务器的负载信息,再根据每个DNS服务器的负载信息来选择用于分配给申请上线的用户设备的DNS服务器,可以实现根据DNS服务器的负载为申请上线的用户设备分配DNS服务器,有助于避免接入服务器为申请上线的用户设备分配发生故障或负载过大的DNS服务器,有助于提高用户设备访问网页的速度,还有助于提升用户设备访问网页的成功率。
本申请实施例还提供了一种域名系统服务器分配方法,该方法的执行主体为DNS服务器,如图4所示,该方法包括:
S401、DNS服务器确定该DNS服务器的负载信息。
S402、DNS服务器向与自身建立连接的至少一个接入服务器中每个接入服务器指示DNS服务器的负载信息,DNS服务器的负载信息用于每个接入服务器根据DNS服务器的负载信息选择用于分配给申请上线的用户设备的DNS服务器。
上述方法中,DNS服务器在确定该DNS服务器的负载信息之后可以通过向与自身建立连接的至少一个接入服务器中每个接入服务器指示该DNS服务器自身的负载信息,以便于每个接入服务器根据该负载信息选择用于分配给申请上线的用户设备的DNS服务器。对于负载较大的DNS服务器,这些DNS服务器被接入服务器分配给数量较少的申请上线的用户设备,或者将不会被接入服务器分配给申请上线的用户设备;对于发生故障的DNS服务器,这些DNS服务器将不会被接入服务器分配给申请上线的用户设备。这样有助于减轻DNS服务器的负载,有助于避免接入服务器为申请上线的用户设备分配发生故障或负载过大的DNS服务器,有助于提高用户设备访问网页的速度,还有助于提升用户设备访问网页的成功率。
下面结合上述接入服务器侧的实施例的相关描述及说明书附图对S401和S402进行描述。
本实施例中,DNS服务器可以与一个接入服务器建立连接,也可以与多个接入服务器建立连接。当与DNS服务器建立连接的至少一个接入服务器为多个接入服务器时,DNS服务器可以通过管理该DNS服务器的总接口与该多个接入服务器建立连接,DNS服务器也可以直接与该多个接入服务器建立连接。
本实施例中,DNS服务器的负载信息可以包括第一数值、第二数值、第三数值中的一种或多种。其中,DNS服务器的第一数值用于指示与DNS服务器建立连接的每个接入服务器分配给该DNS服务器的用户设备的个数的总和;DNS服务器的第二数值用于指示DNS服务器的处理器使用率;DNS服务器的第三数值用于指示DNS服务器单位时间内接收到的域名解析请求的个数。DNS服务器的负载信息除了包括第一数值、第二数值、第三数值中的一种或多种之外,还可以包括其他信息,例如DNS服务器自身的内存大小、用户设备向DNS服务器请求域名解析程度的平均值等。DNS服务器的负载信息可以根据实际组网情况来选择,此处不做限定。
S401中DNS服务器确定自身的负载信息的方法包括以下几种方式:
方式一:DNS服务器可以根据接入服务器指示的该DNS服务器被该接入服务器分配的用户设备的个数来确定自身的第一数值。DNS服务器可以获取与自身建立连接的至少一个接入服务器中每个接入服务器指示的该DNS服务器被该接入服务器分配的用户设备的个数,该DNS服务器可以根据每个接入服务器指示的该DNS服务器被该接入服务器分配的用户设备的个数计算得到负载信息包括的第一数值。本实施例中DNS服务器获取第一数值的方法与上文接入服务器侧方法对应的实施例中获取第一数值的方法相似,此处不再赘述。
方式二:DNS服务器可以根据自身的运行情况来确定自身的第二数值,还可以根据自身的运行情况来确定自身的第三数值。本实施例中DNS服务器确定第二数值的方法与上文接入服务器侧方法对应的实施例中确定第二数值的方法相似,本实施例中DNS服务器确定第三数值的方法也与上文接入服务器侧方法对应的实施例中确定第三数值的计算方法相似,此处不再赘述。
S402中DNS服务器可以通过与自身建立连接的至少一个接入服务器中每个接入服务器之间进行信息交互来向每个接入服务器指示DNS服务器的负载信息,以便每个接入服务器根据DNS服务器的负载信息选择用于分配给申请上线的用户设备的DNS服务器。本实施例中DNS服务器与接入服务器之间进行信息交互的方法与上文接入服务器侧方法对应的实施例中DNS服务器与接入服务器之间进行信息交互的方法相似,此处不再赘述。
需要说明的是,S402中DNS服务器向每个接入服务器指示的负载信息与S401中DNS服务器确定的负载信息不一定一致,这两个步骤中负载信息的具体内容可以根据实际应用中的需求决定。
在S402之前,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服务器,从而可以实现接入服务器根据DNS服务器的负载为申请上线的用户设备分配DNS服务器,有助于避免接入服务器为申请上线的用户设备分配发生故障或负载过大的DNS服务器,有助于提高用户设备访问网页的速度,还有助于提升用户设备访问网页的成功率。
基于同一申请构思,本申请实施例还提供了一种接入服务器,该接入服务器可以采用图2对应的实施例提供的方法,参阅图5所示,接入服务器包括:获取单元501和选择单元502。其中,获取单元501可以用于获取与该接入服务器建立连接的至少一个DNS服务器中每个DNS服务器的负载信息;选择单元502可以用于根据获取单元501获取的每个DNS服务器的负载信息,从至少一个DNS服务器中选择用于分配给申请上线的用户设备的DNS服务器。
一种可能的实施例中,当至少一个DNS服务器为多个DNS服务器时,选择单元502可以根据每个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服务器的分配优先级越高。
情况六:当DNS服务器的负载信息仅包括第二数值和第三数值,并且存在多个DNS服务器的第二数值相同时,在第二数值相同的多个DNS服务器中,第三数值越小,DNS服务器的分配优先级越高。
情况七:当DNS服务器的负载信息包括第一数值、第二数值以及第三数值,并且存在多个DNS服务器的第二数值相同时,在第二数值相同的多个DNS服务器中,DNS服务器的加权平均值越小,DNS服务器的分配优先级越高。
一种可能的实施例中,接入服务器还可以包括指示单元。该指示单元可以用于在获取单元501获取与该接入服务器建立连接的至少一个DNS服务器中每个DNS服务器的负载信息之前,针对与接入服务器建立连接的每个DNS服务器,向DNS服务器指示该DNS服务器被接入服务器分配的用户设备个数,DNS服务器被接入服务器分配的用户设备个数用于该DNS服务器确定第一数值,该第一数值为与DNS服务器建立连接的每个接入服务器分配给该DNS服务器的用户设备的个数的总和,该第一数值用于每个接入服务器根据第一数值选择用于分配给申请上线的用户设备的DNS服务器。
可选的,接入服务器还可以包括连接建立单元。该连接建立单元可以用于在获取单元501获取与该接入服务器建立连接的至少一个DNS服务器中每个DNS服务器的负载信息之前,分别请求与至少一个DNS服务器中的每个DNS服务器建立连接,连接用于接入服务器获取DNS服务器的负载信息;当至少一个DNS服务器中存在DNS服务器与接入服务器建立连接失败时,确定建立连接失败的DNS服务器不能作为分配给申请上线的用户设备的DNS服务器。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
基于同一申请构思,本申请实施例还提供了一种接入服务器,该接入服务器可以采用图2对应的实施例提供的方法,可以是与图5所示的接入服务器相同的服务器。参阅图6所示,该接入服务器包括:处理器601、通信接口602、总线603以及存储器604,其中处理器601可以用于读取存储器604中的程序,执行下列过程:
处理器601可以用于通过通信接口获取与该接入服务器建立连接的至少一个DNS服务器中每个DNS服务器的负载信息;根据处理器获取的每个DNS服务器的负载信息,从至少一个DNS服务器中选择用于分配给申请上线的用户设备的DNS服务器。
通信接口602可以用于在处理器601的控制下接收和发送数据。
一种可能的实施例中,当至少一个DNS服务器为多个DNS服务器时,处理器601可以用于:根据每个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服务器的第二数值相同时,在第二数值相同的多个DNS服务器中,第三数值越小,DNS服务器的分配优先级越高。
情况七:当DNS服务器的负载信息包括第一数值、第二数值以及第三数值,并且存在多个DNS服务器的第二数值相同时,在第二数值相同的多个DNS服务器中,DNS服务器的加权平均值越小,DNS服务器的分配优先级越高。
一种可能的实施例中,处理器601在通过通信接口获取与该接入服务器建立连接的至少一个DNS服务器中每个DNS服务器的负载信息之前,针对与接入服务器建立连接的每个DNS服务器,还可以用于通过通信接口602向DNS服务器指示该DNS服务器被接入服务器分配的用户设备个数。其中DNS服务器被接入服务器分配的用户设备个数用于该DNS服务器确定第一数值,该第一数值用于指示与DNS服务器建立连接的每个接入服务器分配给该DNS服务器的用户设备的个数的总和。
一种可能的实施例中,处理器601在通过通信接口获取与该接入服务器建立连接的至少一个DNS服务器中每个DNS服务器的负载信息之前,还可以用于通过通信接口602分别请求与至少一个DNS服务器中的每个DNS服务器建立连接,其中该连接用于接入服务器获取DNS服务器的负载信息。当至少一个DNS服务器中存在DNS服务器与接入服务器建立连接失败时,处理器601还可以用于确定建立连接失败的DNS服务器不能作为分配给申请上线的用户设备的DNS服务器。
处理器601、通信接口602以及存储器604通过总线603相互连接;总线603可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
其中,在图6中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器601代表的一个或多个处理器和存储器604代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。通信接口602可以是多个元件,即包括发送机和通信接口,提供用于在传输介质上与各种其他装置通信的单元。处理器601负责管理总线架构和通常的处理,存储器604可以存储处理器601在执行操作时所使用的数据。
可选的,处理器601可以是中央处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)。
本申请实施例中还提供了一种计算机存储介质,用于储存为上述实施例中接入服务器执行的计算机软件指令,在计算机运行时,使得计算机执行上述方面中所设计的方法。
本申请实施例提供了一种接入服务器,该接入服务器可以通过与自身建立连接的至少一个DNS服务器中每个DNS服务器进行交互,来获取每个DNS服务器的负载信息,再根据每个DNS服务器的负载信息来选择用于分配给申请上线的用户设备的DNS服务器,可以实现根据DNS服务器的负载为申请上线的用户设备分配DNS服务器,有助于避免接入服务器为申请上线的用户设备分配发生故障或负载过大的DNS服务器,有助于提高用户设备访问网页的速度,还有助于提升用户设备访问网页的成功率。
基于同一申请构思,本申请实施例还提供了一种DNS服务器,该DNS服务器可以采用图4对应的实施例提供的方法,参阅图7所示,DNS服务器包括:确定单元701、指示单元702。其中,确定单元701可以用于确定该DNS服务器的负载信息,指示单元702可以用于向与该DNS服务器建立连接的至少一个接入服务器中每个接入服务器指示确定单元701确定的DNS服务器的负载信息,该DNS服务器的负载信息用于每个接入服务器根据DNS服务器的负载信息选择用于分配给申请上线的用户设备的DNS服务器。
一种可能的实施例中,DNS服务器的负载信息可以包括第一数值、第二数值、第三数值中的一个或多个。其中第一数值用于指示与DNS服务器建立连接的每个接入服务器分配给该DNS服务器的用户设备的个数的总和,第二数值用于指示DNS服务器的处理器使用率,第三数值用于指示DNS服务器单位时间内接收到的域名解析请求的个数。
相应地,确定单元701可以用于获取与该DNS服务器建立连接的至少一个接入服务器中每个接入服务器指示的DNS服务器被该接入服务器分配的用户设备的个数,根据每个接入服务器指示的DNS服务器被该接入服务器分配的用户设备的个数计算得到负载信息包括的第一数值,该第一数值为与DNS服务器建立连接的每个接入服务器分配给该DNS服务器的用户设备的个数的总和。
可选的,DNS服务器还包括连接建立单元。该连接建立单元可以用于在指示单元702向与该DNS服务器建立连接的至少一个接入服务器中每个接入服务器指示DNS服务器的负载信息之前,接收至少一个接入服务器中每个接入服务器发送的建立连接请求;根据该DNS服务器的运行情况和/或负载信息,确定是否与至少一个接入服务器中的部分或者全部接入服务器建立连接。
本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
基于同一申请构思,本申请实施例还提供了一种DNS服务器,该DNS服务器可以采用图4对应的实施例提供的方法,可以是与图7所示的DNS服务器相同的服务器。参阅图8所示,该DNS服务器包括:处理器801、通信接口802、总线803以及存储器804,其中
处理器801,用于读取存储器804中的程序,执行下列过程:
处理器801可以用于确定该DNS服务器的负载信息;向与该DNS服务器建立连接的至少一个接入服务器中每个接入服务器指示DNS服务器的负载信息,该DNS服务器的负载信息用于每个接入服务器根据DNS服务器的负载信息选择用于分配给申请上线的用户设备的DNS服务器。
通信接口802可以用于在处理器801的控制下接收和发送数据。
一种可能的实施例中,DNS服务器的负载信息包括以下信息之一或组合:第一数值,用于指示与DNS服务器建立连接的每个接入服务器分配给该DNS服务器的用户设备的个数的总和;第二数值,用于指示DNS服务器的处理器使用率;第三数值,用于指示DNS服务器单位时间内接收到的域名解析请求的个数。
基于上述实施例,当负载信息包括第一数值时,处理器801在确定该DNS服务器的负载信息时具体用于:可以通过通信接口802获取与该DNS服务器建立连接的至少一个接入服务器中每个接入服务器指示的DNS服务器被该接入服务器分配的用户设备的个数;可以根据每个接入服务器指示的DNS服务器被该接入服务器分配的用户设备的个数计算得到负载信息包括的第一数值,该第一数值可以用于指示与DNS服务器建立连接的每个接入服务器分配给该DNS服务器的用户设备的个数的总和。
可选的,在处理器801通过通信接口802向与该DNS服务器建立连接的至少一个接入服务器中每个接入服务器指示DNS服务器的负载信息之前,处理器801还可以用于通信接口802接收至少一个接入服务器中每个接入服务器发送的建立连接请求。处理器801还可以用于根据该DNS服务器的运行情况和/或负载信息,确定是否与至少一个接入服务器中的部分或者全部接入服务器建立连接。
处理器801、通信接口802以及存储器804通过总线803相互连接;总线803可以是PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。
其中,在图8中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器801代表的一个或多个处理器和存储器804代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。通信接口802可以是多个元件,即可以包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器801负责管理总线架构和通常的处理,存储器804可以存储处理器801在执行操作时所使用的数据。
可选的,处理器801可以是中央处理器、ASIC、FPGA或CPLD。
本申请实施例中还提供了一种计算机存储介质,用于储存为上述实施例中DNS服务器执行的计算机软件指令,在计算机运行时,使得计算机执行上述方面中所设计的方法。
本申请实施例提供了一种DNS服务器,该DNS服务器在确定自身的负载信息之后可以通过向与自身建立连接的至少一个接入服务器中每个接入服务器指示该DNS服务器自身的负载信息,以便于每个接入服务器根据该负载信息选择用于分配给申请上线的用户设备的DNS服务器,从而可以实现接入服务器根据DNS服务器的负载为申请上线的用户设备分配DNS服务器,有助于避免接入服务器为申请上线的用户设备分配发生故障或负载过大的DNS服务器,有助于提高用户设备访问网页的速度,还有助于提升用户设备访问网页的成功率。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (20)

1.一种域名系统DNS服务器分配方法,其特征在于,包括:
接入服务器获取与自身建立连接的至少一个DNS服务器中每个DNS服务器的负载信息;
所述接入服务器根据所述每个DNS服务器的负载信息,从所述至少一个DNS服务器中选择用于分配给申请上线的用户设备的DNS服务器。
2.如权利要求1所述的方法,其特征在于,所述接入服务器根据所述每个DNS服务器的负载信息,从所述至少一个DNS服务器中选择用于分配给申请上线的用户设备的DNS服务器,包括:
当所述至少一个DNS服务器为多个DNS服务器时,所述接入服务器根据所述每个DNS服务器的负载信息确定该负载信息对应的DNS服务器的分配优先级,得到多个DNS服务器的分配优先级;
所述接入服务器根据所述多个DNS服务器的分配优先级,从所述多个DNS服务器中选择分配优先级从高到低的预设数量的DNS服务器作为用于分配给申请上线的所述用户设备的DNS服务器。
3.如权利要求2所述的方法,其特征在于,所述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服务器的分配优先级越高。
4.如权利要求1至3任一所述的方法,其特征在于,所述接入服务器获取与自身建立连接的至少一个DNS服务器中每个DNS服务器的负载信息之前,还包括:
针对与所述接入服务器建立连接的每个DNS服务器,所述接入服务器向所述DNS服务器指示该DNS服务器被所述接入服务器分配的用户设备个数;
其中,所述DNS服务器被所述接入服务器分配的用户设备个数用于该DNS服务器确定第一数值,所述第一数值为与所述DNS服务器建立连接的每个接入服务器分配给该DNS服务器的用户设备的个数的总和,所述第一数值用于每个接入服务器选择用于分配给申请上线的用户设备的DNS服务器。
5.如权利要求1至4任一所述的方法,其特征在于,所述接入服务器获取与自身建立连接的至少一个DNS服务器中每个DNS服务器的负载信息之前,还包括:
所述接入服务器分别请求与至少一个DNS服务器中的每个DNS服务器建立连接,所述连接用于所述接入服务器获取DNS服务器的负载信息;
当所述至少一个DNS服务器中存在DNS服务器与所述接入服务器建立连接失败时,所述接入服务器确定所述建立连接失败的DNS服务器不能作为分配给申请上线的用户设备的DNS服务器。
6.一种域名系统DNS服务器分配方法,其特征在于,包括:
DNS服务器确定所述DNS服务器的负载信息;
所述DNS服务器向与自身建立连接的至少一个接入服务器中每个接入服务器指示所述DNS服务器的负载信息,所述DNS服务器的负载信息用于所述每个接入服务器选择用于分配给申请上线的用户设备的DNS服务器。
7.如权利要求6所述的方法,其特征在于,所述DNS服务器的负载信息包括以下信息之一或组合:
第一数值,用于指示与所述DNS服务器建立连接的每个接入服务器分配给该DNS服务器的用户设备的个数的总和;
第二数值,用于指示所述DNS服务器的处理器使用率;
第三数值,用于指示所述DNS服务器单位时间内接收到的域名解析请求的个数。
8.如权利要求7所述的方法,其特征在于,所述负载信息包括第一数值时,所述DNS服务器确定所述DNS服务器的负载信息,包括:
所述DNS服务器获取与自身建立连接的至少一个接入服务器中每个接入服务器指示的所述DNS服务器被该接入服务器分配的用户设备的个数;
所述DNS服务器根据所述每个接入服务器指示的所述DNS服务器被该接入服务器分配的用户设备的个数计算得到所述第一数值。
9.如权利要求6至8任一所述的方法,其特征在于,所述DNS服务器向与自身建立连接的至少一个接入服务器中每个接入服务器指示所述DNS服务器的负载信息之前,还包括:
所述DNS服务器接收至少一个接入服务器中每个接入服务器发送的建立连接请求;
所述DNS服务器根据自身的运行情况和/或负载信息,确定是否与所述至少一个接入服务器中的部分或者全部接入服务器建立连接。
10.一种接入服务器,其特征在于,包括通信接口、存储器和处理器,所述存储器中存储有计算机程序,所述处理器用于调用所述存储器中存储的计算机程序,执行如下处理:
通过所述通信接口获取与所述接入服务器建立连接的至少一个DNS服务器中每个DNS服务器的负载信息;
根据所述每个DNS服务器的负载信息,从所述至少一个DNS服务器中选择用于分配给申请上线的用户设备的DNS服务器。
11.如权利要求10所述的接入服务器,其特征在于,所述处理器从所述至少一个DNS服务器中选择用于分配给申请上线的用户设备的DNS服务器时,具体用于:
当所述至少一个DNS服务器为多个DNS服务器时,根据所述每个DNS服务器的负载信息确定该负载信息对应的DNS服务器的分配优先级,得到多个DNS服务器的分配优先级;
根据所述多个DNS服务器的分配优先级,从所述多个DNS服务器中选择分配优先级从高到低的预设数量的DNS服务器作为用于分配给所述用户设备的DNS服务器。
12.如权利要求11所述的接入服务器,其特征在于,所述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服务器的分配优先级越高。
13.如权利要求10至12任一所述的接入服务器,其特征在于,所述处理器还用于:
在通过所述通信接口获取与所述接入服务器建立连接的至少一个DNS服务器中每个DNS服务器的负载信息之前,针对与所述接入服务器建立连接的每个DNS服务器,通过所述通信接口向所述DNS服务器指示该DNS服务器被所述接入服务器分配的用户设备个数;
其中,所述DNS服务器被所述接入服务器分配的用户设备个数用于该DNS服务器确定第一数值,所述第一数值为与所述DNS服务器建立连接的每个接入服务器分配给该DNS服务器的用户设备的个数的总和,所述第一数值用于每个接入服务器选择用于分配给申请上线的用户设备的DNS服务器。
14.如权利要求10至13任一所述的接入服务器,其特征在于,所述处理器还用于:
在通过所述通信接口获取与所述接入服务器建立连接的至少一个DNS服务器中每个DNS服务器的负载信息之前,通过所述通信接口分别请求与至少一个DNS服务器中的每个DNS服务器建立连接,所述连接用于所述接入服务器获取DNS服务器的负载信息;
当所述至少一个DNS服务器中存在DNS服务器与所述接入服务器建立连接失败时,确定所述建立连接失败的DNS服务器不能作为分配给申请上线的用户设备的DNS服务器。
15.一种DNS服务器,其特征在于,包括通信接口、存储器和处理器,所述存储器中存储有计算机程序,所述处理器用于调用所述存储器中存储的计算机程序,执行如下处理:
确定所述DNS服务器的负载信息;
通过所述通信接口向与所述DNS服务器建立连接的至少一个接入服务器中每个接入服务器指示所述DNS服务器的负载信息,所述DNS服务器的负载信息用于所述每个接入服务器选择用于分配给申请上线的用户设备的DNS服务器。
16.如权利要求15所述的DNS服务器,其特征在于,所述DNS服务器的负载信息包括以下信息之一或组合:
第一数值,用于指示与所述DNS服务器建立连接的每个接入服务器分配给该DNS服务器的用户设备的个数的总和;
第二数值,用于指示所述DNS服务器的处理器使用率;
第三数值,用于指示所述DNS服务器单位时间内接收到的域名解析请求的个数。
17.如权利要求16所述的DNS服务器,其特征在于,所述处理器在确定所述DNS服务器的负载信息时,具体用于:
当所述负载信息包括第一数值时,通过所述通信接口获取与所述DNS服务器建立连接的至少一个接入服务器中每个接入服务器指示的所述DNS服务器被该接入服务器分配的用户设备的个数;
根据所述每个接入服务器指示的所述DNS服务器被该接入服务器分配的用户设备的个数计算得到所述第一数值。
18.如权利要求15至17任一所述的DNS服务器,其特征在于,所述处理器还用于:
在通过所述通信接口向与所述DNS服务器建立连接的至少一个接入服务器中每个接入服务器指示所述DNS服务器的负载信息之前,通过所述通信接口接收至少一个接入服务器中每个接入服务器发送的建立连接请求;
根据所述DNS服务器的运行情况和/或负载信息,确定所述DNS服务器是否与所述至少一个接入服务器中的部分或者全部接入服务器建立连接。
19.一种计算机存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行权利要求1至5任一项所述的方法。
20.一种计算机存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行权利要求6至9任一项所述的方法。
CN201710266157.2A 2017-04-21 2017-04-21 一种域名系统服务器分配方法及服务器 Pending CN107172126A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710266157.2A CN107172126A (zh) 2017-04-21 2017-04-21 一种域名系统服务器分配方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710266157.2A CN107172126A (zh) 2017-04-21 2017-04-21 一种域名系统服务器分配方法及服务器

Publications (1)

Publication Number Publication Date
CN107172126A true CN107172126A (zh) 2017-09-15

Family

ID=59812230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710266157.2A Pending CN107172126A (zh) 2017-04-21 2017-04-21 一种域名系统服务器分配方法及服务器

Country Status (1)

Country Link
CN (1) CN107172126A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019206033A1 (zh) * 2018-04-25 2019-10-31 阿里巴巴集团控股有限公司 服务器配置的方法和装置
CN111416883A (zh) * 2020-03-11 2020-07-14 Oppo广东移动通信有限公司 地址查询方法、装置、终端及计算机可读存储介质
CN113497811A (zh) * 2020-03-18 2021-10-12 华为技术有限公司 一种域名系统服务器分配方法及相关设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101287105A (zh) * 2008-06-03 2008-10-15 中兴通讯股份有限公司 边缘epg服务器负载均衡方法和装置、用户登陆的实现方法
CN101340327A (zh) * 2008-08-21 2009-01-07 腾讯科技(深圳)有限公司 实现网络服务器负载均衡的方法、系统和域名解析服务器
US20160112500A1 (en) * 2014-10-21 2016-04-21 Samsung Sds Co., Ltd. Global server load balancer apparatus and method for dynamically controlling time-to-live
CN105610930A (zh) * 2015-12-25 2016-05-25 互联网域名系统北京市工程研究中心有限公司 一种基于dns的数据优选方法
CN105721552A (zh) * 2016-01-22 2016-06-29 深圳市瑞驰信息技术有限公司 一种基于dns实现动态负载均衡的方法及dns系统
CN105991347A (zh) * 2015-04-30 2016-10-05 杭州迪普科技有限公司 Dns请求报文的重定向方法和装置
CN106060131A (zh) * 2016-05-26 2016-10-26 杭州华三通信技术有限公司 一种分配dns服务器的方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101287105A (zh) * 2008-06-03 2008-10-15 中兴通讯股份有限公司 边缘epg服务器负载均衡方法和装置、用户登陆的实现方法
CN101340327A (zh) * 2008-08-21 2009-01-07 腾讯科技(深圳)有限公司 实现网络服务器负载均衡的方法、系统和域名解析服务器
US20160112500A1 (en) * 2014-10-21 2016-04-21 Samsung Sds Co., Ltd. Global server load balancer apparatus and method for dynamically controlling time-to-live
CN105991347A (zh) * 2015-04-30 2016-10-05 杭州迪普科技有限公司 Dns请求报文的重定向方法和装置
CN105610930A (zh) * 2015-12-25 2016-05-25 互联网域名系统北京市工程研究中心有限公司 一种基于dns的数据优选方法
CN105721552A (zh) * 2016-01-22 2016-06-29 深圳市瑞驰信息技术有限公司 一种基于dns实现动态负载均衡的方法及dns系统
CN106060131A (zh) * 2016-05-26 2016-10-26 杭州华三通信技术有限公司 一种分配dns服务器的方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019206033A1 (zh) * 2018-04-25 2019-10-31 阿里巴巴集团控股有限公司 服务器配置的方法和装置
US11431669B2 (en) 2018-04-25 2022-08-30 Alibaba Group Holding Limited Server configuration method and apparatus
CN111416883A (zh) * 2020-03-11 2020-07-14 Oppo广东移动通信有限公司 地址查询方法、装置、终端及计算机可读存储介质
CN111416883B (zh) * 2020-03-11 2023-03-03 Oppo广东移动通信有限公司 地址查询方法、装置、终端及计算机可读存储介质
CN113497811A (zh) * 2020-03-18 2021-10-12 华为技术有限公司 一种域名系统服务器分配方法及相关设备

Similar Documents

Publication Publication Date Title
CN109040259B (zh) 一种基于mec的cdn节点分配方法和系统
CN109618002B (zh) 一种微服务网关优化方法、装置及存储介质
CN103369601B (zh) 为手机客户端提供大并发处理及流量控制的方法
CN109257440A (zh) 一种基于服务注册中心的服务发现和客户端负载均衡方法
CN109347947A (zh) 一种负载均衡的方法、域名服务器及集群nas服务器
CN108234670A (zh) 一种基于zookeeper和netty的分布式远程调用方法
CN103477662A (zh) 用于动态掌握的Diameter绑定信息的方法、系统和计算机可读介质
JP2013168139A (ja) 負荷均衡装置、負荷均衡方法及び階層化データセンターシステム
CN109040243A (zh) 一种报文处理方法及装置
CN108270818A (zh) 一种微服务架构系统及其访问方法
CN104767690B (zh) 一种流量调度装置及方法
CN104320502B (zh) 终端网关ip地址分配方法、数据传输的方法、mme及系统
CN107172126A (zh) 一种域名系统服务器分配方法及服务器
CN106302230B (zh) 一种数据传输方法及装置
CN106775486A (zh) 数据访问系统、方法及路由服务器、配置中心服务器
CN105592559B (zh) 基于基站调度业务数据的方法和装置
CN109075995A (zh) 用于nfv性能管理的性能测量数据订阅的装置
CN106131235A (zh) 一种ip地址配置方法
CN101309226A (zh) 一种应用服务器负荷分担系统及其实现方法
CN104735103B (zh) 一种分布式数据的管理和接收方法、装置
CN107659460A (zh) 一种配置api访问量的方法
CN113194012B (zh) 基于物联网的多智能体管理方法、装置、设备及存储介质
CN103607333A (zh) 端口代理服务器的局域网端口代理方法
CN107707589A (zh) 系统版本的更新方法、内容分发网络节点、远程网关
CN110099136A (zh) 网络访问方法、客户端、网络交互方法及调度、网络系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170915