CN108737493B - 一种地址分配方法、装置及电子设备 - Google Patents
一种地址分配方法、装置及电子设备 Download PDFInfo
- Publication number
- CN108737493B CN108737493B CN201810283414.8A CN201810283414A CN108737493B CN 108737493 B CN108737493 B CN 108737493B CN 201810283414 A CN201810283414 A CN 201810283414A CN 108737493 B CN108737493 B CN 108737493B
- Authority
- CN
- China
- Prior art keywords
- address
- ldns
- server
- target
- local
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1036—Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers
-
- 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]
-
- 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/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/62—Establishing a time schedule for servicing the requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供的地址分配方法、装置及电子设备,属于计算机领域。通过接收本地域名系统LDNS服务器发送的域名查询请求消息,获取LDNS服务器对应的局部列表,局部列表中包含LDNS服务器已经被分配的各互联网协议IP地址的局部分配次数,然后根据各IP地址的局部分配次数和预设的调度规则,确定目标IP地址,最后将目标IP地址发送给LDNS服务器。采用本发明,可以记录各LDNS被分配的各IP地址的局部分配次数,在调度各IP地址时,从局部负载均衡角度出发,在实现局部负载均衡的同时也实现了全局负载均衡。
Description
技术领域
本发明涉及计算机领域,特别涉及一种地址分配方法、装置及电子设备。
背景技术
在网络服务中,一个域名通常对应多个IP(Internet Protocol,互联网协议)地址,各IP地址分别对应预先配置的服务器,用户可以通过域名访问该域名对应的任一服务器。
用户在使用域名访问该域名对应的任一服务器时,通常需要通过客户端向LDNS(Local Domain Name System,本地域名系统)服务器发送域名查询请求消息,LDNS接收到该请求消息后,先查找缓存,如果缓存中没有该域名对应的IP地址记录(可以称为A记录),则向ADNS(Authority Domain Name System,权威域名系统)服务器发送域名查询请求消息,ADNS服务器接收到LDNS服务器发送的域名查询请求消息后,先确认当前用户访问的域名,再按照预设的为了实现负载均衡的选择规则(例如,最少连接规则或权重比值规则),从预设的多个IP地址中选择一个IP地址,然后将被选中的IP地址记录(即A记录)发送给LDNS服务器,LDNS服务器再将A记录转发给客户端,以使客户端与A记录对应的服务器进行业务数据的传输;如果LDNS服务器的缓存中有客户端对应的A记录,LDNS服务器则直接将该A记录发送给对应的客户端,不需要向ADNS发送域名查询请求消息。
然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:ADNS服务器在调度各IP地址时,将各LDNS服务器视为相同的,导致在调度的过程中,只考虑了各服务器的负载,即只在全局上实现了各服务器的负载均衡(可以称为全局负载均衡)。而实际上,由于各LDNS服务器服务的用户数量的不同导致各LDNS服务器是不同的,在采用现有的ADNS服务器实现负载均衡时不能将每个LDNS服务器对应的负载分别调度到各服务器中(可以称为局部负载均衡),因此导致某些LDNS服务器对应的负载可能集中于某个服务器,即没有同时实现全局负载均衡和局部负载均衡。
发明内容
本发明实施例的目的在于提供一种地址分配方法、装置及电子设备,以实现局部负载均衡和全局负载均衡。具体技术方案如下:
第一方面,提供了一种地址分配方法,所述方法包括:
接收本地域名系统LDNS服务器发送的域名查询请求消息;
获取所述LDNS服务器对应的局部列表,所述局部列表中包含所述LDNS服务器已经被分配的各互联网协议IP地址的局部分配次数;
根据所述各IP地址的局部分配次数和预设的调度规则,确定目标IP地址;
将所述目标IP地址发送给所述LDNS服务器。
可选的,所述根据所述各IP地址的局部分配次数和预设的调度规则,确定目标IP地址,包括:
分别计算所述各IP地址的局部分配次数与预设的所述各IP地址的调度权重的第一比值;
如果所述第一比值中的最小值只有一个,则将所述最小值对应的IP地址作为目标IP地址;
或者,如果所述第一比值中的最小值有两个或两个以上,则从所述最小值对应的各IP地址中,选取其中一个IP地址作为目标IP地址。
可选的,所述从所述最小值对应的各IP地址中,选取其中一个IP地址作为目标IP地址,包括:
获取所述最小值对应的各IP地址的全局分配次数,并计算所述各IP地址的全局分配次数与所述预设的各IP地址的调度权重的第二比值;
如果所述第二比值中的最小值只有一个,则将所述最小值对应的IP地址作为目标IP地址;
或者,如果所述第二比值中的最小值有两个或两个以上,则从所述最小值对应的各IP地址中随机选取一个IP地址作为目标IP地址。
可选的,所述接收本地域名系统LDNS服务器发送的域名查询请求消息之后,所述方法还包括:
判断所述LDNS服务器是否在预先生成的合法LDNS服务器列表中;
如果在,则执行所述获取所述LDNS服务器对应的局部列表的步骤;
或者,如果不在,则获取各IP地址的全局列表,根据所述各IP地址的全局列表和预设的调度规则,确定目标IP地址,所述全局列表中包含所述各IP地址的全局分配次数。
可选的,所述确定目标IP地址之后,所述方法还包括:
将所述目标IP地址的局部分配次数加1,并将所述目标IP地址的全局分配次数加1。
可选的,所述合法LDNS服务器列表的生成过程包括:
当接收到所述LDNS服务器发送的测试域名的查询请求消息时,计算所述LDNS服务器此次发送所述测试域名的查询请求消息的时间与上一次发送所述测试域名的查询请求消息的时间的时间间隔;
判断所述时间间隔与预设的时间值是否相同;
如果所述时间间隔与预设的时间值相同,判断所述合法LDNS服务器列表中是否包含所述LDNS服务器,如果不包含,则将所述LDNS服务器添加到所述LDNS服务器列表中;
或者,如果所述时间间隔与预设的时间值不相同,判断所述合法LDNS服务器列表中是否包含所述LDNS服务器,如果包含,则将所述LDNS服务器从所述合法LDNS服务器列表中删除。
第二方面,提供了一种地址分配装置,所述装置包括:
收发模块,用于接收本地域名系统LDNS服务器发送的域名查询请求消息;
处理模块,用于获取所述LDNS服务器对应的局部列表,所述局部列表中包含所述LDNS服务器已经被分配的各互联网协议IP地址的局部分配次数;
所述处理模块,还用于根据所述各IP地址的局部分配次数和预设的调度规则,确定目标IP地址;
所述收发模块,还用于将所述目标IP地址发送给所述LDNS服务器。
可选的,所述处理模块包括:
计算子模块,用于分别计算所述各IP地址的局部分配次数与预设的所述各IP地址的调度权重的第一比值;
第一确定子模块,用于如果所述第一比值中的最小值只有一个,则将所述最小值对应的IP地址作为目标IP地址;
第二确定子模块,用于如果所述第一比值中的最小值有两个或两个以上,则从所述最小值对应的各IP地址中,选取其中一个IP地址作为目标IP地址。
可选的,所述第二确定子模块具体用于:
获取所述最小值对应的各IP地址的全局分配次数,并计算所述各IP地址的全局分配次数与所述预设的各IP地址的调度权重的第二比值;
如果所述第二比值中的最小值只有一个,则将所述最小值对应的IP地址作为目标IP地址;
或者,如果所述第二比值中的最小值有两个或两个以上,则从所述最小值对应的各IP地址中随机选取一个IP地址作为目标IP地址。
可选的,所述处理模块还用于:
判断所述LDNS服务器是否在预先生成的合法LDNS服务器列表中;
如果在,则执行所述获取所述LDNS服务器对应的局部列表的步骤;
或者,如果不在,则获取各IP地址的全局列表,根据所述各IP地址的全局列表和预设的调度规则,确定目标IP地址,所述全局列表中包含所述各IP地址的全局分配次数。
可选的,所述处理模块还用于:
将所述目标IP地址的局部分配次数加1,并将所述目标IP地址的全局分配次数加1。
可选的,所述处理模块还用于:
当接收到所述LDNS服务器发送的测试域名的查询请求消息时,计算所述LDNS服务器此次发送所述测试域名的查询请求消息的时间与上一次发送所述测试域名的查询请求消息的时间的时间间隔;
判断所述时间间隔与预设的时间值是否相同;
如果所述时间间隔与预设的时间值相同,判断所述合法LDNS服务器列表中是否包含所述LDNS服务器,如果不包含,则将所述LDNS服务器添加到所述LDNS服务器列表中;
或者,如果所述时间间隔与预设的时间值不相同,判断所述合法LDNS服务器列表中是否包含所述LDNS服务器,如果包含,则将所述LDNS服务器从所述合法LDNS服务器列表中删除。
第三方面,提供了一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现如上述第一方面所述的任一地址分配方法步骤。
第四方面,为了达到上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第一方面所述的任一地址分配方法步骤。
第五方面,为了达到上述目的,本发明实施例还提供了一种包含指令的计算机程序产品,所述指令在计算机上运行时,实现如上述第一方面所述的任一地址分配方法步骤。
本发明实施例提供的地址分配方法、装置及电子设备,通过接收本地域名系统LDNS服务器发送的域名查询请求消息,获取LDNS服务器对应的局部列表,局部列表中包含LDNS服务器已经被分配的各互联网协议IP地址的局部分配次数,然后根据各IP地址的局部分配次数和预设的调度规则,确定目标IP地址,最后将目标IP地址发送给LDNS服务器。
本发明实施例提供的地址分配方法、装置及电子设备,可以记录各LDNS被分配的各IP地址的局部分配次数,在调度各IP地址时,从局部负载均衡角度出发,在实现局部负载均衡的同时也实现了全局负载均衡。当然,实施本发明的任一产品或方法不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种地址分配方法流程图;
图2为本发明实施例提供的一种确定目标IP地址的流程图;
图3为本发明实施例提供的一种确定目标IP地址的流程图;
图4为本发明实施例提供的一种地址分配方法附加步骤的流程图;
图5为本发明实施例提供的一种地址分配装置结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
本发明实施例公开了一种地址分配方法、装置及电子设备,本发明实施例的执行主体可以是ADNS服务器,以下分别进行详细说明。
如图1所示,图1为本发明实施例的一种地址分配方法流程图,包括如下步骤:
S110:接收LDNS服务器发送的域名查询请求消息。
在本发明实施例中,ADNS服务器可以实时地接收各LDNS服务器发送的域名查询请求消息,域名查询请求消息中通常包含需要查询的域名名称和LDNS服务器的IP地址。ADNS服务器还可以提取域名查询请求消息中的域名名称和LDNS服务器的IP地址,并作出后续的处理步骤。
S120:获取LDNS服务器对应的局部列表,局部列表中包含LDNS服务器已经被分配的各IP地址的局部分配次数。
在本发明实施例中,ADNS服务器可以生成一个或多个局部列表,各LDNS服务器已经被分配的各IP地址的局部分配次数可以存储在同一个局部列表中,或者,将各LDNS服务器已经被分配的各IP地址的局部分配次数分别存储在各自的局部列表中。ADNS服务器在接收到LDNS服务器发送的域名查询请求消息之后,可以获取包含该LDNS服务器已经被分配的各IP地址的局部分配次数。例如,某域名对应3台服务器(用X、Y、Z表示),则局部列表的记录格式可以为:(LDNS服务器名称,最后访问ADNS服务器时间,X局部分配次数,Y局部分配次数,Z局部分配次数)。
其中,LDNS服务器名称用于区分各LDNS服务器,最后访问ADNS服务器时间用于记录各LDNS服务器访问LDNS服务器的时间,X局部分配次数、Y局部分配次数、Z局部分配次数分别表示该LDNS服务器已经被分配的3台服务器IP地址的次数。
S130:根据各IP地址的局部分配次数和预设的调度规则,确定目标IP地址。
在本发明实施例中,预设的调度规则可以是选取局部分配次数最少的IP地址作为目标IP地址,或者综合考虑各IP地址的局部分配次数和预设的各服务器的调度权重确定目标IP地址。例如,假设某域名对应3台服务器,ADNS服务器在进行调度时,可以选取局部列表中局部分配次数最少的IP地址作为目标IP地址;或者,如果这3台服务器的调度权重比例为x:y:z,在确定目标IP地址时,可以选取X局部分配次数/x(表示X局部分配次数除以调度权重x得到的比值)、Y局部分配次数/y、Z局部分配次数/z中的最小值作为目标IP地址;如果计算出的最小值有2个或2个以上,可以随机选取其中一个IP地址作为目标IP地址,或者,通过各服务器的全局分配次数进行确定。
S140:将目标IP地址发送给LDNS服务器。
在本发明实施例中,ADNS服务器可以提取域名查询请求消息中LDNS服务器的IP地址,在确定目标IP地址后,可以将目标IP地址发送给发送域名查询请求消息的LDNS服务器。
本发明实施例提供的地址分配方法,可以记录各LDNS被分配的各IP地址的局部分配次数,在调度各IP地址时,从局部负载均衡角度出发,在实现局部负载均衡的同时也实现了全局负载均衡。
可选的,如图2所示,作为本发明实施例的一种实施方式,步骤S130还可以按以下步骤实现:
S131:分别计算各IP地址的局部分配次数与预设的各IP地址的调度权重的第一比值。
在本发明实施例中,ADNS服务器可以通过计算各IP地址的局部分配次数与预设的各IP地址的调度权重比值(为了方便说明,可以称为第一比值),然后根据计算出的最小值确定目标IP地址。例如,假设某域名对应3台服务器,某个LDNS服务器的局部分配次数分别是X局部分配次数、Y局部分配次数、Z局部分配次数,3台服务器的调度权重比例为x:y:z,这3台服务器的第一比值分别为:X局部分配次数/x、Y局部分配次数/y、Z/z局部分配次数的比值。
S132:判断第一比值中的最小值是否只有一个。如果是,执行S133;如果否,执行S134。
ADNS服务器可以将各服务器对应的第一比值进行大小比较,确定最小值是否只有一个。如果是,执行S133;如果否,执行S134。
S133:将最小值对应的IP地址作为目标IP地址。
S134:从最小值对应的各IP地址中,选取其中一个IP地址作为目标IP地址。
如果计算出的最小值有2个或2个以上,可以随机选取其中一个IP地址作为目标IP地址,或者,通过轮询的方式,按照预设的顺序依次选取最小值对应的一台服务器IP地址作为目标IP地址。
本发明实施例提供的方案中,在确定目标IP地址时,优先考虑各IP地址的局部分配次数,从而实现了局部负载均衡。
可选的,如图3所示,作为本发明实施例的一种实施方式,当第一比值中的最小值有2个或2个以上时,步骤S132还可以按以下步骤实现:
S1321:获取最小值对应的各IP地址的全局分配次数,并计算各IP地址的全局分配次数与预设的各IP地址的调度权重的第二比值。
在本发明实施例中,当第一比值中的最小值有2个或2个以上时,ADNS服务器可以先确定最小值对应的多个IP地址,然后获取这些IP地址的全局分配次数,再计算各IP地址的全局分配次数与预设的各IP地址的调度权重的比值(可以称为第二比值)。例如,假设某域名对应3台服务器(用X、Y、Z表示),服务器的全局分配次数的记录格式可以为:(X全局分配次数,Y全局分配次数,Z全局分配次数),其中,全局分配次数是指该服务器IP地址被分配到各LDNS服务器次数的总和,即各LDNS服务器中该服务器的局部分配次数的总和。假设第一比值中的最小值对应的IP地址是服务器Y的IP地址和服务器Z的IP地址,服务器Y和服务器Z的调度权重比值是y:z,ADNS服务器可以计算第二比值:Y全局分配次数/y和Z全局分配次数/z。
S1322:判断第二比值中的最小值是否只有一个。如果是,执行S1323;如果否,执行S1324。
ADNS服务器可以将各服务器对应的第二比值进行大小比较,确定最小值是否只有一个。如果是,执行S1323;如果否,执行S1324。
S1323:将最小值对应的IP地址作为目标IP地址。
S1324:从最小值对应的各IP地址中随机选取一个IP地址作为目标IP地址。
如果第二比值中的最小值有两个或两个以上,可以从最小值对应的各IP地址中随机选取一个IP地址作为目标IP地址。例如,如果Y全局分配次数/y和Z全局分配次数/z的值相等,则可以从Y服务器的IP地址和Z服务器的IP地址中随机选取一个IP地址作为目标IP地址。
本发明实施例提供的方案中,在确定目标IP地址时,综合考虑了IP地址的局部分配次数和全局分配次数,从而同时实现了局部负载均衡和全局复杂均衡。
可选的,如图4所示,作为本发明实施例的一种实施方式,ADNS服务器执行S110之后,可以执行以下步骤:
S1101:判断LDNS服务器是否在预先生成的合法LDNS服务器列表中。如果是,执行S1102;如果否,执行S1103。
在本发明实施例中,ADNS服务器可以将LDNS服务器进行分类,例如,将严格遵循DNS协议的合法的LDNS服务器存储在同一个列表(可以成为合法LDNS服务器列表)中,该列表中的各LDNS服务器不存在TTL(Time To Live,生存时间)劫持行为;如果LDNS服务器存在TTL劫持行为,则不存储在合法LDNS服务器列表中。
S1102:获取LDNS服务器对应的局部列表。
如果LDNS服务器在预先生成的合法LDNS服务器列表中,ADNS服务器可以获取该LDNS服务器对应的局部列表,该步骤与图1中S102相同。
S1103:获取各IP地址的全局列表,根据各IP地址的全局列表和预设的调度规则,确定目标IP地址,全局列表中包含各IP地址的全局分配次数。
如果LDNS服务器不在预先生成的合法LDNS服务器列表中,ADNS服务器可以获取各IP地址的全局列表,然后根据各IP地址的全局列表和预设的调度规则,确定目标IP地址。例如,ADNS服务器获取格式为(X全局分配次数,Y全局分配次数,Z全局分配次数)的全局列表后,可以选取其中的最小值对应的IP地址作为目标IP地址;或者,结合各服务器的调度权重,分别计算各出全局分配次数与各调度权重的比值,选取比值中的最小值对应的IP地址作为目标IP地址。
本发明实施例提供的方案中,可以将LDNS服务器进行分类,在调度不存在TTL劫持行为的LDNS服务器时,综合考虑局部负载均衡和全局负载均衡;在调度存在TTL劫持行为的LDNS服务器时,只考虑全局负载均衡。这样可以合理分配ADNS的资源,避免资源的浪费。
可选的,ADNS服务器在执行S130之后,还可以执行S1301:将目标IP地址的局部分配次数加1,并将目标IP地址的全局分配次数加1。
本发明实施例提供的方案中,ADNS服务器在确定目标IP地址之后,可以将目标IP地址的局部分配次数和全局分配次数分别加1,以便进行下次目标IP地址的分配。
可选的,作为本发明实施例的一种实施方式,合法LDNS服务器列表的生成过程的步骤可以为:
S11011:当接收到LDNS服务器发送的测试域名的查询请求消息时,计算LDNS服务器此次发送测试域名的查询请求消息的时间与上一次发送测试域名的查询请求消息的时间的时间间隔。
在本发明实施例中,通过设置测试域名来判断LDNS服务器时候存在TTL劫持行为。例如,增加一个测试域名(如dnstest.iqiyi.com/test.jpg)至爱奇艺网页的主页;然后,设置测试域名的TTL时间,通常将测试域名的TTL时间设置为不常用值(如95,85等)。最后,实时监控测试域名的访问信息并更新合法LDNS服务器列表。针对访问测试域名的所有LDNS服务器,每当有一个LDNS服务器查询此域名时,ADNS服务器记录下此LDNS服务器的访问时间,记为t1,当此LDNS服务器再次访问该测试域名时,ADNS服务器记录下此次的访问时间,记为t2,然后计算t2-t1。
S11012:判断时间间隔与预设的时间值是否相同。
ADNS服务器可以将t2-t1的值与预设的时间值(TTL时间值)进行比较,如果t2-t1与预设的时间值的差值为0或者该差值小于预设的阈值(阈值通常小于预设的TTL时间的3%),则判定该时间间隔与预设的时间值相同;否则,则判定该时间间隔与预设的时间值不相同。
S11013:如果时间间隔与预设的时间值相同,判断合法LDNS服务器列表中是否包含该LDNS服务器,如果不包含,则将该LDNS服务器添加到合法LDNS服务器列表中;如果时间间隔与预设的时间值不相同,判断合法LDNS服务器列表中是否包含该LDNS服务器,如果包含,则将LDNS服务器从合法LDNS服务器列表中删除。
当时间间隔与预设的时间值相同时,如果合法LDNS服务器列表中没有该LDNS服务器,则将其添加至合法LDNS服务器列表中,如果列表中包含该LDNS服务器,则保持列表不变;当时间间隔与预设的时间值不相同时,如果列表中没有该LDNS服务器,则保持列表不变,如果列表中包含该LDNS服务器,则将此LDNS服务器从列表中删除。
本发明实施例提供的方案中,给出了具体的合法LDNS服务器列表生成过程,可以将LDNS服务器进行分类。在调度不存在TTL劫持行为的LDNS服务器时,综合考虑局部负载均衡和全局负载均衡;在调度存在TTL劫持行为的LDNS服务器时,只考虑全局负载均衡。这样可以合理分配ADNS的资源,避免资源的浪费。
基于相同的技术构思,相应于图1所示的方法实施例,本发明实施例还提供了一种地址分配装置,如图5所示,该装置包括:
收发模块501,用于接收本地域名系统LDNS服务器发送的域名查询请求消息;
处理模块502,用于获取所述LDNS服务器对应的局部列表,所述局部列表中包含所述LDNS服务器已经被分配的各互联网协议IP地址的局部分配次数;
所述处理模块502,还用于根据所述各IP地址的局部分配次数和预设的调度规则,确定目标IP地址;
所述收发模块501,还用于将所述目标IP地址发送给所述LDNS服务器。
其中,本发明实施例中的收发模块,可以是设备中的收发器,该收发器可以包括接收器和发送器;另外,本发明实施例中的处理模块,可以是设备中的处理器;本发明实施例中的该设备,可以是ADNS服务器。
本发明实施例提供的地址分配装置,可以记录各LDNS被分配的各IP地址的局部分配次数,在调度各IP地址时,从局部负载均衡角度出发,在实现局部负载均衡的同时也实现了全局负载均衡。
可选的,所述处理模块502包括:
计算子模块,用于分别计算所述各IP地址的局部分配次数与预设的所述各IP地址的调度权重的第一比值;
第一确定子模块,用于如果所述第一比值中的最小值只有一个,则将所述最小值对应的IP地址作为目标IP地址;
第二确定子模块,用于如果所述第一比值中的最小值有两个或两个以上,则从所述最小值对应的各IP地址中,选取其中一个IP地址作为目标IP地址。
本发明实施例提供的方案中,在确定目标IP地址时,优先考虑各IP地址的局部分配次数,从而实现了局部负载均衡。
可选的,所述第二确定子模块具体用于:
获取所述最小值对应的各IP地址的全局分配次数,并计算所述各IP地址的全局分配次数与所述预设的各IP地址的调度权重的第二比值;
如果所述第二比值中的最小值只有一个,则将所述最小值对应的IP地址作为目标IP地址;
或者,如果所述第二比值中的最小值有两个或两个以上,则从所述最小值对应的各IP地址中随机选取一个IP地址作为目标IP地址。
本发明实施例提供的方案中,在确定目标IP地址时,综合考虑了IP地址的局部分配次数和全局分配次数,从而同时实现了局部负载均衡和全局复杂均衡。
可选的,所述处理模块502还用于:
判断所述LDNS服务器是否在预先生成的合法LDNS服务器列表中;
如果在,则执行所述获取所述LDNS服务器对应的局部列表的步骤;
或者,如果不在,则获取各IP地址的全局列表,根据所述各IP地址的全局列表和预设的调度规则,确定目标IP地址,所述全局列表中包含所述各IP地址的全局分配次数。
本发明实施例提供的方案中,可以将LDNS服务器进行分类,在调度不存在TTL劫持行为的LDNS服务器时,综合考虑局部负载均衡和全局负载均衡;在调度存在TTL劫持行为的LDNS服务器时,只考虑全局负载均衡。这样可以合理分配ADNS的资源,避免资源的浪费。
可选的,所述处理模块502还用于:
将所述目标IP地址的局部分配次数加1,并将所述目标IP地址的全局分配次数加1。
本发明实施例提供的方案中,ADNS服务器在确定目标IP地址之后,可以将目标IP地址的局部分配次数和全局分配次数分别加1,以便进行下次目标IP地址的分配。
可选的,所述处理模块502还用于:
当接收到所述LDNS服务器发送的测试域名的查询请求消息时,计算所述LDNS服务器此次发送所述测试域名的查询请求消息的时间与上一次发送所述测试域名的查询请求消息的时间的时间间隔;
判断所述时间间隔与预设的时间值是否相同;
如果所述时间间隔与预设的时间值相同,判断所述合法LDNS服务器列表中是否包含所述LDNS服务器,如果不包含,则将所述LDNS服务器添加到所述LDNS服务器列表中;
或者,如果所述时间间隔与预设的时间值不相同,判断所述合法LDNS服务器列表中是否包含所述LDNS服务器,如果包含,则将所述LDNS服务器从所述合法LDNS服务器列表中删除。
本发明实施例提供的方案中,给出了具体的合法LDNS服务器列表生成过程,可以将LDNS服务器进行分类。在调度不存在TTL劫持行为的LDNS服务器时,综合考虑局部负载均衡和全局负载均衡;在调度存在TTL劫持行为的LDNS服务器时,只考虑全局负载均衡。这样可以合理分配ADNS的资源,避免资源的浪费。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601、通信接口602、存储器603通过通信总线604完成相互间的通信;
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现本发明实施例提供的地址分配方法;
具体的,上述地址分配方法,包括:
接收本地域名系统LDNS服务器发送的域名查询请求消息;
获取所述LDNS服务器对应的局部列表,所述局部列表中包含所述LDNS服务器已经被分配的各互联网协议IP地址的局部分配次数;
根据所述各IP地址的局部分配次数和预设的调度规则,确定目标IP地址;
将所述目标IP地址发送给所述LDNS服务器。
本发明实施例提供的电子设备,可以记录各LDNS被分配的各IP地址的局部分配次数,在调度各IP地址时,从局部负载均衡角度出发,在实现局部负载均衡的同时也实现了全局负载均衡。
需要说明的是,上述地址分配方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
上述电子设备的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的地址分配方法。
本发明实施例提供的计算机可读存储介质,可以记录各LDNS被分配的各IP地址的局部分配次数,在调度各IP地址时,从局部负载均衡角度出发,在实现局部负载均衡的同时也实现了全局负载均衡。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的地址分配方法。
本发明实施例提供的计算机程序产品,可以记录各LDNS被分配的各IP地址的局部分配次数,在调度各IP地址时,从局部负载均衡角度出发,在实现局部负载均衡的同时也实现了全局负载均衡。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质和计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (9)
1.一种地址分配方法,其特征在于,所述方法包括:
接收本地域名系统LDNS服务器发送的域名查询请求消息;
获取所述LDNS服务器对应的局部列表,所述局部列表中包含所述LDNS服务器已经被分配的各互联网协议IP地址的局部分配次数,所述局部分配次数为各IP地址被分配到所述LDNS服务器的次数;
根据所述各IP地址的局部分配次数和预设的调度规则,确定目标IP地址;
将所述目标IP地址发送给所述LDNS服务器;
其中,所述根据所述各IP地址的局部分配次数和预设的调度规则,确定目标IP地址,包括:
分别计算所述各IP地址的局部分配次数与预设的所述各IP地址的调度权重的第一比值;
如果所述第一比值中的最小值只有一个,则将所述最小值对应的IP地址作为目标IP地址;
或者,如果所述第一比值中的最小值有两个或两个以上,则从所述最小值对应的各IP地址中,选取其中一个IP地址作为目标IP地址;
其中,所述从所述最小值对应的各IP地址中,选取其中一个IP地址作为目标IP地址,包括:
获取所述最小值对应的各IP地址的全局分配次数,并计算所述各IP地址的全局分配次数与所述预设的各IP地址的调度权重的第二比值,所述全局分配次数为各IP地址被分配到所有LDNS服务器的次数总和;
如果所述第二比值中的最小值只有一个,则将所述最小值对应的IP地址作为目标IP地址;
或者,如果所述第二比值中的最小值有两个或两个以上,则从所述最小值对应的各IP地址中随机选取一个IP地址作为目标IP地址。
2.根据权利要求1所述的方法,其特征在于,所述接收本地域名系统LDNS服务器发送的域名查询请求消息之后,所述方法还包括:
判断所述LDNS服务器是否在预先生成的合法LDNS服务器列表中;
如果在,则执行所述获取所述LDNS服务器对应的局部列表的步骤;
或者,如果不在,则获取各IP地址的全局列表,根据所述各IP地址的全局列表和预设的调度规则,确定目标IP地址,所述全局列表中包含所述各IP地址的全局分配次数。
3.根据权利要求1、2任一项所述的方法,其特征在于,所述确定目标IP地址之后,所述方法还包括:
将所述目标IP地址的局部分配次数加1,并将所述目标IP地址的全局分配次数加1。
4.根据权利要求3所述的方法,其特征在于,所述合法LDNS服务器列表的生成过程包括:
当接收到所述LDNS服务器发送的测试域名的查询请求消息时,计算所述LDNS服务器此次发送所述测试域名的查询请求消息的时间与上一次发送所述测试域名的查询请求消息的时间的时间间隔;
判断所述时间间隔与预设的时间值是否相同;
如果所述时间间隔与预设的时间值相同,判断所述合法LDNS服务器列表中是否包含所述LDNS服务器,如果不包含,则将所述LDNS服务器添加到所述合法LDNS服务器列表中;
或者,如果所述时间间隔与预设的时间值不相同,判断所述合法LDNS服务器列表中是否包含所述LDNS服务器,如果包含,则将所述LDNS服务器从所述合法LDNS服务器列表中删除。
5.一种地址分配装置,其特征在于,所述装置包括:
收发模块,用于接收本地域名系统LDNS服务器发送的域名查询请求消息;
处理模块,用于获取所述LDNS服务器对应的局部列表,所述局部列表中包含所述LDNS服务器已经被分配的各互联网协议IP地址的局部分配次数,所述局部分配次数为各IP地址被分配到所述LDNS服务器的次数;
所述处理模块,还用于根据所述各IP地址的局部分配次数和预设的调度规则,确定目标IP地址;
所述收发模块,还用于将所述目标IP地址发送给所述LDNS服务器;
其中,所述处理模块包括:
计算子模块,用于分别计算所述各IP地址的局部分配次数与预设的所述各IP地址的调度权重的第一比值;
第一确定子模块,用于如果所述第一比值中的最小值只有一个,则将所述最小值对应的IP地址作为目标IP地址;
第二确定子模块,用于如果所述第一比值中的最小值有两个或两个以上,则从所述最小值对应的各IP地址中,选取其中一个IP地址作为目标IP地址;
其中,所述第二确定子模块具体用于:
获取所述最小值对应的各IP地址的全局分配次数,并计算所述各IP地址的全局分配次数与所述预设的各IP地址的调度权重的第二比值,所述全局分配次数为各IP地址被分配到所有LDNS服务器的次数总和;
如果所述第二比值中的最小值只有一个,则将所述最小值对应的IP地址作为目标IP地址;
或者,如果所述第二比值中的最小值有两个或两个以上,则从所述最小值对应的各IP地址中随机选取一个IP地址作为目标IP地址。
6.根据权利要求5所述的装置,其特征在于,所述处理模块还用于:
判断所述LDNS服务器是否在预先生成的合法LDNS服务器列表中;
如果在,则执行所述获取所述LDNS服务器对应的局部列表的步骤;
或者,如果不在,则获取各IP地址的全局列表,根据所述各IP地址的全局列表和预设的调度规则,确定目标IP地址,所述全局列表中包含所述各IP地址的全局分配次数。
7.根据权利要求5、6任一项所述的装置,其特征在于,所述处理模块还用于:
将所述目标IP地址的局部分配次数加1,并将所述目标IP地址的全局分配次数加1。
8.根据权利要求7所述的装置,其特征在于,所述处理模块还用于:
当接收到所述LDNS服务器发送的测试域名的查询请求消息时,计算所述LDNS服务器此次发送所述测试域名的查询请求消息的时间与上一次发送所述测试域名的查询请求消息的时间的时间间隔;
判断所述时间间隔与预设的时间值是否相同;
如果所述时间间隔与预设的时间值相同,判断所述合法LDNS服务器列表中是否包含所述LDNS服务器,如果不包含,则将所述LDNS服务器添加到所述LDNS服务器列表中;
或者,如果所述时间间隔与预设的时间值不相同,判断所述合法LDNS服务器列表中是否包含所述LDNS服务器,如果包含,则将所述LDNS服务器从所述合法LDNS服务器列表中删除。
9.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口、所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810283414.8A CN108737493B (zh) | 2018-04-02 | 2018-04-02 | 一种地址分配方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810283414.8A CN108737493B (zh) | 2018-04-02 | 2018-04-02 | 一种地址分配方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108737493A CN108737493A (zh) | 2018-11-02 |
CN108737493B true CN108737493B (zh) | 2021-09-17 |
Family
ID=63940596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810283414.8A Active CN108737493B (zh) | 2018-04-02 | 2018-04-02 | 一种地址分配方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108737493B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111556135A (zh) * | 2020-04-26 | 2020-08-18 | 北京奇艺世纪科技有限公司 | 一种请求调度方法、系统、装置及电子设备 |
CN111541799A (zh) * | 2020-05-11 | 2020-08-14 | 中移(杭州)信息技术有限公司 | 域名解析方法、系统、终端和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567173A (zh) * | 2003-07-05 | 2005-01-19 | 华为技术有限公司 | 一种实现加权最小连接分配的服务器负载均衡方法 |
CN1968166A (zh) * | 2005-11-18 | 2007-05-23 | 联通新时讯通信有限公司 | 基于网络结构的智能终端应用系统 |
CN101710905A (zh) * | 2009-12-17 | 2010-05-19 | 中国联合网络通信集团有限公司 | 一种基于策略的地址解析控制方法与系统 |
CN102316172A (zh) * | 2010-07-05 | 2012-01-11 | 中国电信股份有限公司 | 一种dns解析方法、系统和sag设备 |
CN105450774A (zh) * | 2015-12-28 | 2016-03-30 | 曙光信息产业(北京)有限公司 | 用于dns的负载均衡方法和装置 |
CN107395783A (zh) * | 2017-07-25 | 2017-11-24 | 北京奇艺世纪科技有限公司 | 一种ip地址处理方法、系统、装置及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9253144B2 (en) * | 2011-12-22 | 2016-02-02 | International Business Machines Corporation | Client-driven load balancing of dynamic IP address allocation |
US10320898B2 (en) * | 2016-06-06 | 2019-06-11 | Verizon Patent And Licensing Inc. | Automated multi-network failover for data centers |
-
2018
- 2018-04-02 CN CN201810283414.8A patent/CN108737493B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567173A (zh) * | 2003-07-05 | 2005-01-19 | 华为技术有限公司 | 一种实现加权最小连接分配的服务器负载均衡方法 |
CN1968166A (zh) * | 2005-11-18 | 2007-05-23 | 联通新时讯通信有限公司 | 基于网络结构的智能终端应用系统 |
CN101710905A (zh) * | 2009-12-17 | 2010-05-19 | 中国联合网络通信集团有限公司 | 一种基于策略的地址解析控制方法与系统 |
CN102316172A (zh) * | 2010-07-05 | 2012-01-11 | 中国电信股份有限公司 | 一种dns解析方法、系统和sag设备 |
CN105450774A (zh) * | 2015-12-28 | 2016-03-30 | 曙光信息产业(北京)有限公司 | 用于dns的负载均衡方法和装置 |
CN107395783A (zh) * | 2017-07-25 | 2017-11-24 | 北京奇艺世纪科技有限公司 | 一种ip地址处理方法、系统、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108737493A (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109040259B (zh) | 一种基于mec的cdn节点分配方法和系统 | |
US9794216B2 (en) | Request routing in a networked environment | |
CN102859942B (zh) | 使用dns反射来测量网络性能 | |
US20180205697A1 (en) | Managing content delivery network service providers by a content broker | |
US9444759B2 (en) | Service provider registration by a content broker | |
CN109151009B (zh) | 一种基于mec的cdn节点分配方法和系统 | |
CN110519183B (zh) | 一种节点限速的方法、装置、电子设备及存储介质 | |
CN108124020B (zh) | 域名解析方法、系统及设备 | |
CN111327647B (zh) | 一种容器对外提供服务的方法、装置及电子设备 | |
CN110830565B (zh) | 资源下载方法、装置、系统、电子设备及存储介质 | |
CN110738479B (zh) | 基于多人点单的订单管理方法及系统 | |
CN105337786A (zh) | 一种服务器性能检测方法、装置及设备 | |
CN108647240B (zh) | 一种统计访问量的方法、装置、电子设备及存储介质 | |
CN109150745B (zh) | 一种报文处理方法及装置 | |
CN111753223A (zh) | 一种访问控制的方法和装置 | |
US10715377B2 (en) | Domain name services servers management to share data efficiently | |
CN108737493B (zh) | 一种地址分配方法、装置及电子设备 | |
CN111367672A (zh) | 数据缓存方法、装置、电子设备及计算机存储介质 | |
CN111556135A (zh) | 一种请求调度方法、系统、装置及电子设备 | |
US7730173B2 (en) | Detecting nearby devices in a network environment | |
CN109873855A (zh) | 一种基于区块链网络的资源获取方法和系统 | |
CN113067803B (zh) | 一种资源隔离系统、请求处理方法及请求处理装置 | |
CN110677683B (zh) | 视频存储、视频访问方法及分布式存储、视频访问系统 | |
CN113315852A (zh) | 一种域名解析的方法、装置及系统 | |
CN114500456A (zh) | 基于全网嗅探的dns调度优化方法、装置及计算设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |