业界动态
一种域名解析方法及装置与流程
2024-11-19 03:13
一种域名解析方法及装置与流程

本发明涉及互联网技术领域,更具体的,涉及一种域名解析方法及装置。

一种域名解析方法及装置与流程

背景技术:

ip地址(英文全称:internetprotocoladdress,中文全称:网际协议地址)是指互联网协议地址。ip地址是ip协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

域名(英文全称:domainname),是由一串用点分隔的名字组成的internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位,目的是便于记忆一组服务器的地址(网站,电子邮件,ftp等)。一个服务器集群可能具有同样的域名,例如:我们在利用百度搜索引擎的域名来访问百度搜索引擎时,最后访问的ip地址可能是百度众多服务器中的某一台服务器的ip地址。

域名解析也叫域名指向、服务器设置、域名配置以及反向ip登记等等,实质就是将好记的域名解析成ip,域名解析服务是由dns服务器(英文全称:domainnameserver,中文全称:域名服务器)完成的,把域名解析到一个ip地址,然后在此ip地址的主机上将一个子目录与域名绑定。

现有的域名解析技术中,当客户端访问的域名对应多个ip地址时,dns服务器一般采用等概率选取模式,即,如果存在多个服务节点可以提供服务时,则随机选取一个节点。一般的做法是生成一个随机数r,再对节点总数s取模,得到一个值在0~s之间的随机数r’,再以r’为序数,从该域名的节点列表中,选取第(r’+1)个节点,作为对外服务的节点。

然而,现有的域名解析技术中客户端在接收dns服务器反馈的地址时,只能接收1个ip地址,当该ip地址连接失败时,需要重新查询dns服务器才能获取一个新的ip地址。

技术实现要素:

有鉴于此,本发明提供了一种域名解析方法,dns服务器会向客户端反馈一个与客户端请求域名相对应的ip地址列表,且列表中不同权重的节点的ip地址重复数量不同,避免了当客户端ip地址连接失败时重新查询dns服务器。

为了实现上述发明目的,本发明提供的具体技术方案如下:

一种域名解析方法,应用于dns服务器,所述方法包括:

当接收到客户端发起的携带有目标域名的域名解析请求时,获取与所述目标域名相对应的每个节点、以及每个所述节点的权重值;

根据每个所述节点的权重值,确定向所述客户端发送的ip地址列表中每个所述节点ip地址的重复数量;

将所述ip地址列表发送到所述客户端,使所述客户端随机选取所述ip地址列表中的任意一个ip地址。

可选的,其特征在于,所述根据每个所述节点的权重值,确定向所述客户端发送的ip地址列表中每个所述节点ip地址的重复数量,包括:

将每个所述节点的权重值作为相应节点的ip地址的重复数量,每个所述节点的权重值为整数;

将每个所述节点的ip地址的重复数量确定为向所述客户端发送的ip地址列表中相应节点的ip地址的重复数量。

可选的,所述根据每个所述节点的权重值,确定向所述客户端发送的ip地址列表中每个所述节点ip地址的重复数量,包括:

计算每个所述节点的权重值的最大公约数,每个所述节点的权重值为整数;

计算每个所述节点的权重值与所述最大公约数的比值,将所述比值确定为向所述客户端发送的ip地址列表中相应节点的ip地址的重复数量。

可选的,所述根据每个所述节点的权重值,确定向所述客户端发送的ip地址列表中每个所述节点ip地址的重复数量,包括:

设置向所述客户端发送的ip地址列表中ip地址的上限值;

计算每个所述节点的权重值与所有所述节点的权重值的总和的比值,并分别对每个所述比值与所述上限值的乘积的结果进行取整,得到每个所述节点的化简权重值;

将每个所述节点的化简权重值确定为向所述客户端发送的ip地址列表中相应节点的ip地址的重复数量。

可选的,所述根据每个所述节点的权重值,确定向所述客户端发送的ip地址列表中每个所述节点ip地址的重复数量,包括:

设置向所述客户端发送的ip地址列表中ip地址的上限值;

计算每个所述节点的权重值与所有所述节点的权重值的总和的比值,并分别对每个所述比值与所述上限值的乘积的结果进行取整,得到每个所述节点的化简权重值;

判断所有所述节点的化简权重值的总和是否小于所述上限值;

若是,计算所述上限值与所有所述节点的化简权重值的总和的差值,并在多个所述节点中确定一个目标节点,获取所述目标节点的化简权重值与所述差值的和值,将所述和值确定为向所述客户端发送的ip地址列表中所述目标节点的ip地址的重复数量;

若否,将每个所述节点的化简权重值确定为向所述客户端发送的ip地址列表中相应节点的ip地址的重复数量。

一种域名解析装置,包括:

获取单元,用于当接收到客户端发起的携带有目标域名的域名解析请求时,获取与所述目标域名相对应的每个节点、以及每个所述节点的权重值;

确定单元,用于根据每个所述节点的权重值,确定向所述客户端发送的ip地址列表中每个所述节点ip地址的重复数量;

发送单元,用于将所述ip地址列表发送到所述客户端,使所述客户端随机选取所述ip地址列表中的任意一个ip地址。

可选的,所述确定单元具体用于:

将每个所述节点的权重值作为相应节点的ip地址的重复数量,并将每个所述节点的ip地址的重复数量确定为向所述客户端发送的ip地址列表中相应节点的ip地址的重复数量,每个所述节点的权重值为整数。

可选的,所述确定单元包括:

第一计算子单元,用于计算每个所述节点的权重值的最大公约数,每个所述节点的权重值为整数;

第一确定子单元,用于计算每个所述节点的权重值与所述最大公约数的比值,将所述比值确定为向所述客户端发送的ip地址列表中相应节点的ip地址的重复数量。

可选的,所述确定单元包括:

第一设置子单元,用于设置向所述客户端发送的ip地址列表中ip地址的上限值;

第二计算子单元,用于计算每个所述节点的权重值与所有所述节点的权重值的总和的比值,并分别对每个所述比值与所述上限值的乘积的结果进行取整,得到每个所述节点的化简权重值;

第二确定子单元,用于将每个所述节点的化简权重值确定为向所述客户端发送的ip地址列表中相应节点的ip地址的重复数量。

可选的,所述确定单元包括:

第二设置子单元,用于设置向所述客户端发送的ip地址列表中ip地址的上限值;

第三计算子单元,用于计算每个所述节点的权重值与所有所述节点的权重值的总和的比值,并分别对每个所述比值与所述上限值的乘积的结果进行取整,得到每个所述节点的化简权重值;

判断子单元,用于判断所有所述节点的化简权重值的总和是否小于所述上限值,若是,触发第三确定子单元,若否,触发第四确定子单元;

所述第三确定子单元,用于计算所述上限值与所有所述节点的化简权重值的总和的差值,并在多个所述节点中确定一个目标节点,获取所述目标节点的化简权重值与所述差值的和值,将所述和值确定为向所述客户端发送的ip地址列表中所述目标节点的ip地址的重复数量;

所述第四确定子单元,用于将每个所述节点的化简权重值确定为向所述客户端发送的ip地址列表中相应节点的ip地址的重复数量。

相对于现有技术,本发明的有益效果如下:

本发明提供的域名解析方法,应用于dns服务器,当接收到客户端发起的携带有目标域名的域名解析请求时,获取与所述目标域名相对应的多个节点、以及每个所述节点的权重值;根据每个所述节点的权重值,确定向所述客户端发送的ip地址列表中每个所述节点ip地址的重复数量;将所述ip地址列表发送到客户端,使客户端随机选取ip地址列表中的任意一个ip地址,避免了客户端在ip地址连接失败时重新查询dns服务器。且由于不同节点在ip地址列表中的重复数量是根据节点的权重确定的,虽然客户端是随机等概率对ip地址选取的,但实际得到的结果却是非等概率的,权重大的节点被选取的几率较大,提高了权重较大的节点的利用率。

附图说明

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

图1为本发明实施例公开的一种域名解析方法流程图;

图2为本发明实施例公开的另一种域名解析方法流程图;

图3为本发明实施例公开的又一种域名解析方法流程图;

图4为本发明实施例公开的再一种域名解析方法流程图;

图5为本发明实施例公开的一种域名解析装置结构示意图。

具体实施方式

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

请参阅图1,图1为本发明实施例公开的一种域名解析方法流程图,所述方法应用于dns服务器,具体包括以下步骤:

s101:当接收到客户端发起的携带有目标域名的域名解析请求时,获取与所述目标域名相对应的每个节点、以及每个所述节点的权重值;

所述目标域名与多个节点的ip地址的对应关系预先保存在dns服务器中,且dns服务器中记录了每个所述节点的权重值,每个所述节点的权重值是根据相应节点的设备性能和网络性能综合设定的。例如:节点自身的性能、网络总带宽、剩余带宽等,其中有些因素与权重是正相关的关系,有些因素与权重是负相关的关系。如,节点的性能越好权重值越大。

s102:根据每个所述节点的权重值,确定向所述客户端发送的ip地址列表中每个所述节点ip地址的重复数量;

可以理解的是,向客户端发送的ip地址列表中记录了每个节点的相同的多个ip地址,且每个节点的ip地址在ip地址列表中重复的数量不同。

s103:将所述ip地址列表发送到所述客户端,使所述客户端随机选取所述ip地址列表中的任意一个ip地址。

需要说明的是,客户端在所述ip地址列表中随机等概率的选取任意一个ip地址,即,所述ip地址列表中每个ip地址被客户端选取的概率是相同的,但由于每个节点的ip地址在所述ip地址列表中的重复数量不同,可以理解的是,重复数量越多的ip地址被客户端选中的概率越高,因此,实质上客户端得到的结果却是非等概率的。

本实施例公开的域名解析方法,当接收到客户端发起的携带有目标域名的域名解析请求时,获取与所述目标域名相对应的每个节点、以及每个所述节点的权重值;根据每个所述节点的权重值,确定向所述客户端发送的ip地址列表中每个所述节点ip地址的重复数量;将所述ip地址列表发送到客户端,使客户端随机选取ip地址列表中的任意一个ip地址,避免了客户端在ip地址连接失败时重新查询dns服务器。且由于不同节点在ip地址列表中的重复数量是根据节点的权重确定的,虽然客户端是随机等概率对ip地址选取的,但实际得到的结果却是非等概率的,权重大的节点被选取的几率较大,提高了权重较大的节点的利用率。

可选的,上述实施例中步骤s102的具体执行过程如下:

将每个所述节点的权重值作为相应节点的ip地址的重复数量,每个所述节点的权重值为整数;

将每个所述节点的ip地址的重复数量确定为向所述客户端发送的ip地址列表中相应节点的ip地址的重复数量。

例如:目标域名对应3个节点:节点1、节点2和节点3。节点1的权重值为3,节点2的权重值为3,节点3的权重值为7,则dns服务器向客户端发送的ip地址列表中有13个ip地址,其中,3个节点1的ip地址,3个节点2的ip地址,7个节点3的ip地址。

然而当对节点的权重设置不当时,例如,为每个节点的权重设置过大,节点1的权重值为30,节点2的权重值为30,节点3的权重值为70,此时,dns服务器向客户端发送的ip地址列表中ip数量就会很多。为了解决节点权重设置不当时dns服务器向客户端发送的ip地址列表中ip数量过多的问题,本实施例提供了另一种可选方案,请参阅图2,图2为上述实施例中s102的另一种实现方法流程图,具体包括:

s201:计算每个所述节点的权重值的最大公约数,每个所述节点的权重值为整数;

s202:计算每个所述节点的权重值与所述最大公约数的比值,将所述比值确定为向所述客户端发送的ip地址列表中相应节点的ip地址的重复数量。

还以节点1的权重值为30,节点2的权重值为30,节点3的权重值为70为例,三个节点的最大公约数为10,化简后节点1的权重值为3,节点2的权重值为3,节点3的权重值为7,ip地址列表中ip地址的数量为13,仍在可接受范围。

图2对应的这种优化手段将向所述客户端发送的ip地址列表中每个所述节点ip地址的重复数量控制在一个合理的范围内,同时节省了带宽。

对于不能化简的节点权重值,如节点1的权重值为31,节点2的权重值为31,节点3的权重值为71为例,采用上述优化手段不能解决问题,在此基础上,请参阅图3,图3为上述实施例中s102的另一种实现方法流程图,具体包括:

s301:设置向所述客户端发送的ip地址列表中ip地址的上限值;

s302:计算每个所述节点的权重值与所有所述节点的权重值的总和的比值,并分别对每个所述比值与所述上限值的乘积的结果进行取整,得到每个所述节点的化简权重值;

s303:将每个所述节点的化简权重值确定为向所述客户端发送的ip地址列表中相应节点的ip地址的重复数量。

还以节点1的权重值为30,节点2的权重值为30,节点3的权重值为70为例,在本实施例中设置向所述客户端发送的ip地址列表中ip地址的上限值为10,则3个节点通过计算后得到的结果如下:

节点1∶30/(30+30+70)*10=2.31

节点2∶30/(30+30+70)*10=2.31

节点3∶70/(30+30+70)*10=5.38

对上述结果取整分别得到节点1的化简权重值为2,节点2的化简权重值为2,节点3的化简权重值为5。

图2对应的这种优化手段解决了当节点的权重值不能采用最大公约数进行化简的问题,提高了本发明的实用性。

上述实施例中最后得到的ip地址列表中的ip地址的数量为9,并不是设置的上限值10,在一定程度上偏离了预期,在此基础上,请参阅图4,图4为上述实施例中s102的另一种实现方法流程图,具体包括:

s401:设置向所述客户端发送的ip地址列表中ip地址的上限值;

s402:计算每个所述节点的权重值与所有所述节点的权重值的总和的比值,并分别对每个所述比值与所述上限值的乘积的结果进行取整,得到每个所述节点的化简权重值;

s403:判断所有所述节点的化简权重值的总和是否小于所述上限值;若是,执行s405,若否,执行s406;

s405:计算所述上限值与所有所述节点的化简权重值的总和的差值,并在多个所述节点中确定一个目标节点,获取所述目标节点的化简权重值与所述差值的和值,将所述和值确定为向所述客户端发送的ip地址列表中所述目标节点的ip地址的重复数量;

s406:将每个所述节点的化简权重值确定为向所述客户端发送的ip地址列表中相应节点的ip地址的重复数量。

需要说明的是,所述在多个所述节点中确定一个目标节点的方式可以为随机选取节点、选取权重值最大的节点、选取权重值最小的节点等任意一种选取目标节点的方式。

图2对应的这种优化手段使dns服务器向客户端发送的ip地址列表中的ip地址的数量总和始终为所述上限值。

基于上述实施例公开的一种域名解析方法,请参阅图5,本实施例对应公开了一种域名解析装置,包括:

获取单元101,用于当接收到客户端发起的携带有目标域名的域名解析请求时,获取与所述目标域名相对应的每个节点、以及每个所述节点的权重值;

确定单元102,用于根据每个所述节点的权重值,确定向所述客户端发送的ip地址列表中每个所述节点ip地址的重复数量;

发送单元103,用于将所述ip地址列表发送到所述客户端,使所述客户端随机选取所述ip地址列表中的任意一个ip地址。

可选的,所述确定单元102具体用于:

将每个所述节点的权重值作为相应节点的ip地址的重复数量,并将每个所述节点的ip地址的重复数量确定为向所述客户端发送的ip地址列表中相应节点的ip地址的重复数量,每个所述节点的权重值为整数。可选的,所述确定单元102包括:

第一计算子单元,用于计算每个所述节点的权重值的最大公约数,每个所述节点的权重值为整数;

第一确定子单元,用于计算每个所述节点的权重值与所述最大公约数的比值,将所述比值确定为向所述客户端发送的ip地址列表中相应节点的ip地址的重复数量。

可选的,所述确定单元102包括:

第一设置子单元,用于设置向所述客户端发送的ip地址列表中ip地址的上限值;

第二计算子单元,用于计算每个所述节点的权重值与所有所述节点的权重值的总和的比值,并分别对每个所述比值与所述上限值的乘积的结果进行取整,得到每个所述节点的化简权重值;

第二确定子单元,用于将每个所述节点的化简权重值确定为向所述客户端发送的ip地址列表中相应节点的ip地址的重复数量。

可选的,所述确定单元102包括:

第二设置子单元,用于设置向所述客户端发送的ip地址列表中ip地址的上限值;

第三计算子单元,用于计算每个所述节点的权重值与所有所述节点的权重值的总和的比值,并分别对每个所述比值与所述上限值的乘积的结果进行取整,得到每个所述节点的化简权重值;

判断子单元,用于判断所有所述节点的化简权重值的总和是否小于所述上限值,若是,触发第三确定子单元,若否,触发第四确定子单元;

所述第三确定子单元,用于计算所述上限值与所有所述节点的化简权重值的总和的差值,并在多个所述节点中确定一个目标节点,获取所述目标节点的化简权重值与所述差值的和值,将所述和值确定为向所述客户端发送的ip地址列表中所述目标节点的ip地址的重复数量;

所述第四确定子单元,用于将每个所述节点的化简权重值确定为向所述客户端发送的ip地址列表中相应节点的ip地址的重复数量。

本实施例公开的域名解析装置,应用于dns服务器,当接收到客户端发起的携带有目标域名的域名解析请求时,获取与所述目标域名相对应的多个节点、以及每个所述节点的权重值;根据每个所述节点的权重值,确定向所述客户端发送的ip地址列表中每个所述节点ip地址的重复数量;将所述ip地址列表发送到客户端,使客户端随机选取ip地址列表中的任意一个ip地址,避免了客户端在ip地址连接失败时重新查询dns服务器。且由于不同节点在ip地址列表中的重复数量是根据节点的权重确定的,虽然客户端是随机等概率对ip地址选取的,但实际得到的结果却是非等概率的,权重大的节点被选取的几率较大,提高了权重较大的节点的利用率。

    以上就是本篇文章【一种域名解析方法及装置与流程】的全部内容了,欢迎阅览 ! 文章地址:http://lanlanwork.gawce.com/news/9881.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 阁恬下移动站 http://lanlanwork.gawce.com/mobile/ , 查看更多   
最新新闻
福州百度推广价格,透明与策略的平衡
在当今数字化的商业时代,百度推广已成为众多企业在福州拓展市场的重要手段之一,对于许多企业主来说,福州百度推广价格往往是一
百度营销平台手机版 v7.6.4 安卓版
百度营销app是由百度推出的数据营销助手。使用百度营销,可以实时跟踪账户下多条产品线数据实时监控,搜索查看推广宣传内容,调
在百度推广自己的产品赚钱,知乎视角的深入分析与实践指南
在当今数字化的商业时代,百度推广已成为众多企业和个人推广产品、获取收益的重要手段之一,究竟怎样在百度推广自己的产品并赚钱
百度死了吗
(图片来源:全景视觉)陈永伟/文 1月22日晚间,自媒体人方可成在微信公众号“新闻实验室”发布了一篇题为《搜索引擎百度已死》
百度竞价推广落地页怎么设计?设计原则+技巧,看这一篇就够了
9月12日(下周二)【竞价公开课】点击免费预约!百度竞价推广落地页怎么设计,才能最大限度地促成转化呢?作为促成转化(购买)的最
百度地图商家入驻费用
2024年01月14日吴经理100地图标注 , 地图定位 , 导航地图标记网络技术服务;信息技术咨询服务;技术服务、技术开发、技术咨询、
发布需求的平台★容易收录-欢迎发文合作,发帖百度可以收录的内容
尊敬的客户,您好!我们是北京一家专注互联网技术服务公司,可以提供收录效果好,文章排名好的网站进行发文,发得多,各种关键词
百度推广要多少费用?是如何收费的?
~ 随着网络的广泛普及,用户对搜索引擎的依赖和信任度不断上升。百度作为互联网的主要入口,拥有庞大的流量,成为网民获取信息的
百度百科词条创建入口地址
很多人都想自己创建百度百科,但是不知道从哪儿创建。百度百科是大家都可以创建的,但是又不是都能创建成功的,需要有丰富的经验
百度怎么创建词条 创建流程和常见问题
在信息爆炸的时代,百度百科作为全球最大的中文网络百科全书,不仅是知识分享的重要平台,也是个人、企业品牌建立权威形象的有效