CN107360273A - 一种域名解析方法及装置 - Google Patents
一种域名解析方法及装置 Download PDFInfo
- Publication number
- CN107360273A CN107360273A CN201710812914.1A CN201710812914A CN107360273A CN 107360273 A CN107360273 A CN 107360273A CN 201710812914 A CN201710812914 A CN 201710812914A CN 107360273 A CN107360273 A CN 107360273A
- Authority
- CN
- China
- Prior art keywords
- node
- random number
- weighted value
- domain name
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种域名解析方法,当接收到客户端发起的携带有目标域名的域名解析请求时,获取与目标域名相对应的多个节点、以及每个节点的权重值;根据每个节点的权重值,为每个节点设置相应的数值区间;生成一个第一随机数,并对第一随机数与所有节点的权重值的总和进行取模,得到第二随机数;确定第二随机数所在的数值区间,并将第二随机数所在的数值区间对应的节点作为本次域名解析的最终目标节点;最后将最终目标节点的IP地址发送到所述客户端。本发明为每个节点设置不同的权重,实现了不同权重的节点按非等概率分配,使过载的节点分配到较少的请求,空闲的节点分配到较多的请求,更好地实现了负载均衡。
Description
技术领域
本发明涉及互联网技术领域,更具体的,涉及一种域名解析方法及装置。
背景技术
IP地址(英文全称:Internet Protocol Address,中文全称:网际协议地址)是指互联网协议地址。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
域名(英文全称:Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位,目的是便于记忆一组服务器的地址(网站,电子邮件,FTP等)。一个服务器集群可能具有同样的域名,例如:我们在利用百度搜索引擎的域名来访问百度搜索引擎时,最后访问的IP地址可能是百度众多服务器中的某一台服务器的IP地址。
域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等,实质就是将好记的域名解析成IP,域名解析服务是由DNS服务器(英文全称:Domain Name Server,中文全称:域名服务器)完成的,把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。
现有的域名解析技术中,当客户端访问的域名对应多个IP地址时,DNS服务器一般采用等概率选取模式,即,如果存在多个服务节点可以提供服务时,则随机选取一个节点。一般的做法是生成一个随机数R,再对节点总数S取模,得到一个值在0~S之间的随机数R’,再以R’为序数,从该域名的节点列表中,选取第(R’+1)个节点,作为对外服务的节点。
然而,现有的域名解析技术中由于采用等概率选取模式,每个节点被选取的概率相同。没有考虑节点之间性能状况的差异,造成过载节点服务性能的降低,并造成空闲节点的资源浪费。
发明内容
有鉴于此,本发明提供了一种域名解析方法及装置,实现了不同权重的节点按非等概率分配,使过载的节点分配到较少的请求,空闲的节点分配到较多的请求,更好地实现了负载均衡。
为了实现上述发明目的,本发明提供的具体技术方案如下:
一种域名解析方法,应用于DNS服务器,所述方法包括:
当接收到客户端发起的携带有目标域名的域名解析请求时,获取与所述目标域名相对应的每个节点、以及每个所述节点的权重值;
根据每个所述节点的权重值,为每个所述节点设置相应的数值区间;
生成一个第一随机数,并对所述第一随机数与所有所述节点的权重值的总和进行取模,得到第二随机数;
确定所述第二随机数所在的数值区间,并将所述第二随机数所在的数值区间对应的节点作为本次域名解析的最终目标节点;
将所述最终目标节点的IP地址发送到所述客户端。
优选的,所述根据每个所述节点的权重值,为每个所述节点设置相应的数值区间,包括:
对每个所述节点的权重值按从小到大的顺序进行排序;
对于每个所述节点,将所述排序中该节点之前的所有节点的权重值的总和设置为相应数值区间的最小值,并将该节点节和该节点之前的所有节点的权重值的总和设置为相应数值区间的最大值;当该节点为所述排序中第一个节点时,将0设置为该节点相应数值区间的最小值。
优选的,每个所述节点的权重值是根据相应节点的设备性能和网络性能设定的。
优选的,所述第一随机数和每个所述节点的权重值为整数。
一种域名解析装置,包括:
获取单元,用于当接收到客户端发起的携带有目标域名的域名解析请求时,获取与所述目标域名相对应的每个节点、以及每个所述节点的权重值;
设置单元,用于根据每个所述节点的权重值,为每个所述节点设置相应的数值区间;
生成单元,用于生成一个第一随机数,并对所述第一随机数与所有所述节点的权重值的总和进行取模,得到第二随机数;
确定单元,用于确定所述第二随机数所在的数值区间,并将所述第二随机数所在的数值区间对应的节点作为本次域名解析的最终目标节点;
发送单元,用于将所述最终目标节点的IP地址发送到所述客户端。
优选的,所述设置单元包括:
排序子单元,用于对每个所述节点的权重值按从小到大的顺序进行排序;
设置子单元,用于对于每个所述节点,将所述排序中该节点之前的所有节点的权重值的总和设置为相应数值区间的最小值,并将该节点节和该节点之前的所有节点的权重值的总和设置为相应数值区间的最大值;当该节点为所述排序中第一个节点时,将0设置为该节点相应数值区间的最小值。
优选的,其特征在于,每个所述节点的权重值是根据相应节点的设备性能和网络性能设定的。
优选的,所述第一随机数和每个所述节点的权重值为整数。
相对于现有技术,本发明的有益效果如下:
本发明提供的域名解析方法,当接收到客户端发起的携带有目标域名的域名解析请求时,获取与所述目标域名相对应的每个节点、以及每个所述节点的权重值;根据每个所述节点的权重值,为每个所述节点设置相应的数值区间;生成一个第一随机数,并对所述第一随机数与所有所述节点的权重值的总和进行取模,得到第二随机数;确定所述第二随机数所在的数值区间,并将所述第二随机数所在的数值区间对应的节点作为本次域名解析的最终目标节点;最后将所述最终目标节点的IP地址发送到所述客户端。本发明为每个节点设置不同的权重,实现了不同权重的节点按非等概率分配,使过载的节点分配到较少的请求,空闲的节点分配到较多的请求,更好地实现了负载均衡。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种域名解析方法流程图;
图2为本发明实施例公开的为每个节点设置数值区间的示意图;
图3为本发明实施例公开的一种域名解析装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例公开的一种域名解析方法流程图,所述方法应用于DNS服务器,具体包括以下步骤:
S101:当接收到客户端发起的携带有目标域名的域名解析请求时,获取与所述目标域名相对应的每个节点、以及每个所述节点的权重值;
所述目标域名与多个节点的IP地址的对应关系预先保存在DNS服务器中,且DNS服务器中记录了每个所述节点的权重值,每个所述节点的权重值是根据相应节点的设备性能和网络性能综合设定的。例如:节点自身的性能、网络总带宽、剩余带宽等,其中有些因素与权重是正相关的关系,有些因素与权重是负相关的关系。如,节点的性能越好权重值越大。
优选的,每个所述节点的权重值为整数。当然,每个所述节点的权重值也可以为非整数。
S102:根据每个所述节点的权重值,为每个所述节点设置相应的数值区间;
优选的,对每个所述节点的权重值按从小到大的顺序进行排序;
对于每个所述节点,将所述排序中该节点之前的所有节点的权重值的总和设置为相应数值区间的最小值,并将该节点节和该节点之前的所有节点的权重值的总和设置为相应数值区间的最大值;当该节点为所述排序中第一个节点时,将0设置为该节点相应数值区间的最小值。
以所述目标域名对应3个节点为例,3个节点分别为:node-1,node-2,node-3,权重值分别为weight-1,weigh-2,weight-3,3个节点的权重值的总和为weight-sum。请参阅图2,利用3个权重对0~weight-sum进行分段,依次为
区间1:0~weight-1,对应node-1
区间2:weight-1~weight-1+weight-2,对应node-2
区间3:weight-1+weight-2~weight-1+weight-2+weigh-3,对应node-3
S103:生成一个第一随机数,并对所述第一随机数与所有所述节点的权重值的总和进行取模,得到第二随机数;
优选的,所述第一随机数和第一随机数为整数。
S104:确定所述第二随机数所在的数值区间,并将所述第二随机数所在的数值区间对应的节点作为本次域名解析的最终目标节点;
S105:将所述最终目标节点的IP地址发送到所述客户端。
本实施例公开的域名解析方法,当接收到客户端发起的携带有目标域名的域名解析请求时,获取与所述目标域名相对应的每个节点、以及每个所述节点的权重值;根据每个所述节点的权重值,为每个所述节点设置相应的数值区间;生成一个第一随机数,并对所述第一随机数与所有所述节点的权重值的总和进行取模,得到第二随机数;确定所述第二随机数所在的数值区间,并将所述第二随机数所在的数值区间对应的节点作为本次域名解析的最终目标节点;最后将所述最终目标节点的IP地址发送到所述客户端。本实施例为每个节点设置不同的权重,实现了不同权重的节点按非等概率分配,使过载的节点分配到较少的请求,空闲的节点分配到较多的请求,更好地实现了负载均衡。
基于上述实施例公开的一种域名解析方法,请参阅图3,本实施例对应公开了一种域名解析装置,具体包括:
获取单元101,用于当接收到客户端发起的携带有目标域名的域名解析请求时,获取与所述目标域名相对应的每个节点、以及每个所述节点的权重值;
优选的,每个所述节点的权重值是根据相应节点的设备性能和网络性能设定的。
设置单元102,用于根据每个所述节点的权重值,为每个所述节点设置相应的数值区间;
优选的,所述设置单元102包括:
排序子单元,用于对每个所述节点的权重值按从小到大的顺序进行排序;
设置子单元,用于对于每个所述节点,将所述排序中该节点之前的所有节点的权重值的总和设置为相应数值区间的最小值,并将该节点节和该节点之前的所有节点的权重值的总和设置为相应数值区间的最大值;当该节点为所述排序中第一个节点时,将0设置为该节点相应数值区间的最小值。
生成单元103,用于生成一个第一随机数,并对所述第一随机数与所有所述节点的权重值的总和进行取模,得到第二随机数;
优选的,所述第一随机数和每个所述节点的权重值为整数。
确定单元104,用于确定所述第二随机数所在的数值区间,并将所述第二随机数所在的数值区间对应的节点作为本次域名解析的最终目标节点;
发送单元105,用于将所述最终目标节点的IP地址发送到所述客户端。
本实施例公开的域名解析装置,当接收到客户端发起的携带有目标域名的域名解析请求时,获取与所述目标域名相对应的每个节点、以及每个所述节点的权重值;根据每个所述节点的权重值,为每个所述节点设置相应的数值区间;生成一个第一随机数,并对所述第一随机数与所有所述节点的权重值的总和进行取模,得到第二随机数;确定所述第二随机数所在的数值区间,并将所述第二随机数所在的数值区间对应的节点作为本次域名解析的最终目标节点;最后将所述最终目标节点的IP地址发送到所述客户端。本实施例为每个节点设置不同的权重,实现了不同权重的节点按非等概率分配,使过载的节点分配到较少的请求,空闲的节点分配到较多的请求,更好地实现了负载均衡。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种域名解析方法,其特征在于,应用于DNS服务器,所述方法包括:
当接收到客户端发起的携带有目标域名的域名解析请求时,获取与所述目标域名相对应的每个节点、以及每个所述节点的权重值;
根据每个所述节点的权重值,为每个所述节点设置相应的数值区间;
生成一个第一随机数,并对所述第一随机数与所有所述节点的权重值的总和进行取模,得到第二随机数;
确定所述第二随机数所在的数值区间,并将所述第二随机数所在的数值区间对应的节点作为本次域名解析的最终目标节点;
将所述最终目标节点的IP地址发送到所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述根据每个所述节点的权重值,为每个所述节点设置相应的数值区间,包括:
对每个所述节点的权重值按从小到大的顺序进行排序;
对于每个所述节点,将所述排序中该节点之前的所有节点的权重值的总和设置为相应数值区间的最小值,并将该节点节和该节点之前的所有节点的权重值的总和设置为相应数值区间的最大值;当该节点为所述排序中第一个节点时,将0设置为该节点相应数值区间的最小值。
3.根据权利要求1所述的方法,其特征在于,每个所述节点的权重值是根据相应节点的设备性能和网络性能设定的。
4.根据权利要求1所述的方法,其特征在于,所述第一随机数和每个所述节点的权重值为整数。
5.一种域名解析装置,其特征在于,包括:
获取单元,用于当接收到客户端发起的携带有目标域名的域名解析请求时,获取与所述目标域名相对应的每个节点、以及每个所述节点的权重值;
设置单元,用于根据每个所述节点的权重值,为每个所述节点设置相应的数值区间;
生成单元,用于生成一个第一随机数,并对所述第一随机数与所有所述节点的权重值的总和进行取模,得到第二随机数;
确定单元,用于确定所述第二随机数所在的数值区间,并将所述第二随机数所在的数值区间对应的节点作为本次域名解析的最终目标节点;
发送单元,用于将所述最终目标节点的IP地址发送到所述客户端。
6.根据权利要求5所述的装置,其特征在于,所述设置单元包括:
排序子单元,用于对每个所述节点的权重值按从小到大的顺序进行排序;
设置子单元,用于对于每个所述节点,将所述排序中该节点之前的所有节点的权重值的总和设置为相应数值区间的最小值,并将该节点节和该节点之前的所有节点的权重值的总和设置为相应数值区间的最大值;当该节点为所述排序中第一个节点时,将0设置为该节点相应数值区间的最小值。
7.根据权利要求5所述的装置,其特征在于,每个所述节点的权重值是根据相应节点的设备性能和网络性能设定的。
8.根据权利要求5所述的装置,其特征在于,所述第一随机数和每个所述节点的权重值为整数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710812914.1A CN107360273A (zh) | 2017-09-11 | 2017-09-11 | 一种域名解析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710812914.1A CN107360273A (zh) | 2017-09-11 | 2017-09-11 | 一种域名解析方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107360273A true CN107360273A (zh) | 2017-11-17 |
Family
ID=60290329
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710812914.1A Pending CN107360273A (zh) | 2017-09-11 | 2017-09-11 | 一种域名解析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107360273A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108718338A (zh) * | 2018-05-23 | 2018-10-30 | 深圳市茁壮网络股份有限公司 | 一种节点确定方法及装置 |
CN111951000A (zh) * | 2020-08-24 | 2020-11-17 | 吉林亿联银行股份有限公司 | 一种支付请求处理方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020161925A1 (en) * | 1998-10-30 | 2002-10-31 | Science Applications International Corporation | Agile network protocol for secure communications with assured system availability |
US20030037143A1 (en) * | 1997-05-02 | 2003-02-20 | Rupesh Kapoor | Method and apparatus for providing an internet protocol address with a domain name server |
CN103002069A (zh) * | 2012-12-25 | 2013-03-27 | 北京小米科技有限责任公司 | 一种域名解析方法、装置及系统 |
CN103338279A (zh) * | 2013-07-18 | 2013-10-02 | 上海数讯信息技术有限公司 | 基于域名解析的优化排序方法及系统 |
CN103685056A (zh) * | 2014-01-14 | 2014-03-26 | 互联网域名系统北京市工程研究中心有限公司 | 负载均衡方法及其系统 |
WO2015105918A1 (en) * | 2014-01-07 | 2015-07-16 | Fair Isaac Corporation | Cyber security adaptive analytics threat monitoring system and method |
CN105262841A (zh) * | 2015-11-06 | 2016-01-20 | 浪潮软件集团有限公司 | 一种cdn网络负载均衡的实现方法及cdn调度服务器 |
CN105516391A (zh) * | 2015-12-25 | 2016-04-20 | 互联网域名系统北京市工程研究中心有限公司 | 一种基于cname的dns域名解析方法 |
US20160248728A1 (en) * | 2015-02-25 | 2016-08-25 | Metaswitch Networks Ltd | Configuration services |
CN106790656A (zh) * | 2017-01-19 | 2017-05-31 | 南京贝伦思网络科技股份有限公司 | 一种基于sdn的负载均衡装置及其方法 |
-
2017
- 2017-09-11 CN CN201710812914.1A patent/CN107360273A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030037143A1 (en) * | 1997-05-02 | 2003-02-20 | Rupesh Kapoor | Method and apparatus for providing an internet protocol address with a domain name server |
US20020161925A1 (en) * | 1998-10-30 | 2002-10-31 | Science Applications International Corporation | Agile network protocol for secure communications with assured system availability |
CN103002069A (zh) * | 2012-12-25 | 2013-03-27 | 北京小米科技有限责任公司 | 一种域名解析方法、装置及系统 |
CN103338279A (zh) * | 2013-07-18 | 2013-10-02 | 上海数讯信息技术有限公司 | 基于域名解析的优化排序方法及系统 |
WO2015105918A1 (en) * | 2014-01-07 | 2015-07-16 | Fair Isaac Corporation | Cyber security adaptive analytics threat monitoring system and method |
CN103685056A (zh) * | 2014-01-14 | 2014-03-26 | 互联网域名系统北京市工程研究中心有限公司 | 负载均衡方法及其系统 |
US20160248728A1 (en) * | 2015-02-25 | 2016-08-25 | Metaswitch Networks Ltd | Configuration services |
CN105262841A (zh) * | 2015-11-06 | 2016-01-20 | 浪潮软件集团有限公司 | 一种cdn网络负载均衡的实现方法及cdn调度服务器 |
CN105516391A (zh) * | 2015-12-25 | 2016-04-20 | 互联网域名系统北京市工程研究中心有限公司 | 一种基于cname的dns域名解析方法 |
CN106790656A (zh) * | 2017-01-19 | 2017-05-31 | 南京贝伦思网络科技股份有限公司 | 一种基于sdn的负载均衡装置及其方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108718338A (zh) * | 2018-05-23 | 2018-10-30 | 深圳市茁壮网络股份有限公司 | 一种节点确定方法及装置 |
CN111951000A (zh) * | 2020-08-24 | 2020-11-17 | 吉林亿联银行股份有限公司 | 一种支付请求处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111345012B (zh) | 使用目的地系统的链路级容量的dns解析的系统和方法 | |
CN103051740B (zh) | 域名解析方法、dns服务器及域名解析系统 | |
CN107241319B (zh) | 基于vpn的分布式网络爬虫系统及调度方法 | |
CN105516391B (zh) | 一种基于cname的dns域名解析方法 | |
CN104601736B (zh) | 一种短url服务的实现方法及装置 | |
CN106131229A (zh) | Cdn业务的处理方法、设备及通信系统 | |
CN101501669A (zh) | 域名解析资源分配 | |
WO2015096681A1 (zh) | 一种业务访问处理方法及装置 | |
CN107342913B (zh) | 一种cdn节点的探测方法和装置 | |
EP2949110A1 (en) | Domain classification based on client request behavior | |
CN101873358A (zh) | 一种基于域名解析的链路负载均衡方法和设备 | |
CN103957282B (zh) | 一种域内终端用户域名解析加速系统及其方法 | |
US8271635B2 (en) | Multi-tier, multi-state lookup | |
Cambazoglu et al. | On the feasibility of geographically distributed web crawling | |
CN103685056A (zh) | 负载均衡方法及其系统 | |
CN112954089A (zh) | 一种解析数据的方法、装置、设备以及存储介质 | |
CN102932271A (zh) | 负载均衡的实现方法和装置 | |
KR20240110080A (ko) | 도메인 네임 시스템과 연관된 공격을 방지하기 위한 방법 및 시스템 | |
CN107360273A (zh) | 一种域名解析方法及装置 | |
CN104202418B (zh) | 为内容提供商推荐商业的内容分发网络的方法和系统 | |
CN105915655A (zh) | 网络代理方法和代理系统 | |
CN106453600A (zh) | 网络访问请求的业务分配方法、装置及系统 | |
Loesing | Measuring the Tor network from public directory information | |
Venkata Krishna et al. | A Lion‐Whale optimization‐based migration of virtual machines for data centers in cloud computing | |
CN108347465B (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 |
Application publication date: 20171117 |
|
RJ01 | Rejection of invention patent application after publication |