CN111314500A - 一种确定访问地址的方法及装置 - Google Patents
一种确定访问地址的方法及装置 Download PDFInfo
- Publication number
- CN111314500A CN111314500A CN202010103052.7A CN202010103052A CN111314500A CN 111314500 A CN111314500 A CN 111314500A CN 202010103052 A CN202010103052 A CN 202010103052A CN 111314500 A CN111314500 A CN 111314500A
- Authority
- CN
- China
- Prior art keywords
- client
- network address
- network
- dns
- access request
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004458 analytical method Methods 0.000 claims abstract description 32
- 238000004891 communication Methods 0.000 claims description 29
- 238000012360 testing method Methods 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 18
- 238000003860 storage Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Images
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]
-
- 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/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
-
- 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/5046—Resolving address allocation conflicts; Testing of addresses
-
- 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/5061—Pools of addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种确定访问地址的方法及装置,其中方法为:客户端发送访问请求至域名系统DNS;所述DNS用于根据DNS解析策略,确定出所述访问请求对应的服务端的网络地址;所述网络地址为所述服务端对应的网络地址池中的多个网络地址中的一个;所述服务端的网络地址池中的多个网络地址配置在所述多个网络节点上;所述客户端在确定所述DNS对所述访问请求的解析结果不可用后,根据本地选址策略,从所述客户端的网络地址池中确定出所述访问请求对应的服务端的网络地址;所述客户端的网络地址池中的多个网络地址配置在所述多个网络节点上。
Description
技术领域
本发明涉及金融科技(Fintech)的信息技术领域,尤其涉及一种确定访问地址的方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求,目前客户端对金融机构的访问需求日益增加,为访问请求分配可用访问地址是拥有良好网络通信的基础和前提。
目前的方法中,客户端通过单一网络节点向服务端转发访问请求,单一的网络节点上可配置一个或多个网络地址,通过域名系统(Domain Name System,DNS)将一个域名与一个或多个网络地址的对应关系记录起来。但当单一的网络节点出现故障后,无论为客户端的访问请求分配哪个网络地址都是不可用的,这会导致网络服务中断。因此,目前为访问请求分配网络地址的容灾性较差,是一个亟待解决的问题。
发明内容
本发明提供一种确定访问地址的方法及装置,解决了现有技术中访问请求分配网络地址的容灾性较差的问题。
第一方面,本发明提供一种确定访问地址的方法,包括:客户端发送访问请求至域名系统DNS;所述DNS用于根据DNS解析策略,确定出所述访问请求对应的服务端的网络地址;所述网络地址为所述服务端对应的网络地址池中的多个网络地址中的一个;所述客户端在确定所述DNS对所述访问请求的解析结果不可用后,根据本地选址策略,从所述客户端的网络地址池中确定出所述访问请求对应的服务端的网络地址;其中,所述本地选址策略是基于所述客户端与所述客户端的网络地址池中的多个网络地址之间的网络通信质量。
上述方法下,预先将所述服务端的网络地址池中的多个网络地址配置在所述多个网络节点上,客户端首先发送访问请求至域名系统DNS,使得所述DNS根据DNS解析策略,从网络地址池中解析所述访问请求的网络地址,由于DNS受公共网络影响,难以配置基于客户端与所述多个网络地址网络质量进行选择的策略,当所述客户端确定所述DNS解析失败或所述DNS解析出的所述访问请求的网络地址不可用时,便可根据基于所述客户端与所述客户端的网络地址池中的多个网络地址之间网络通信质量选择网络地址的本地选址策略,从网络地址池中的多个网络地址中选择出可用网络地址,由于客户端的网络地址池中的多个网络地址配置也在多个网络节点上,只要有一个网络节点可用,就存在可用的网络地址,因此从网络地址池中的多个网络地址中选择出可用网络地址的成功率显著提高,从而提高了为访问请求分配访问地址的容灾性。
一种可选实施方式中,所述根据本地选址策略,从所述客户端的网络地址池中确定出所述访问请求对应的服务端的网络地址,包括:所述客户端按照预设周期,对所述客户端与所述客户端的网络地址池中的多个网络地址执行网络通信测试,确定所述预设周期内所述客户端至所述多个网络地址中每个网络地址的网络质量指数;所述网络质量指数用于表征所述客户端至网络地址之间的网络通信质量;根据所述预设周期内所述客户端至所述多个网络地址中每个网络地址的网络质量指数,从所述网络地址池中选择出可用网络地址。
上述方法中,客户端按照预设周期,对所述客户端与所述客户端的网络地址池中的多个网络地址执行网络通信测试,从而可定期更新所述预设周期内所述客户端至所述多个网络地址中每个网络地址的网络质量指数,之后可以基于所述预设周期内所述客户端至所述多个网络地址中每个网络地址的网络质量指数,从所述网络地址池中选择出可用网络地址,实现了基于最新的网络通信质量动态选择出可用网络地址的方法,使得网络地址的选择方式基于网络通信质量变态变化,地址的选择方式更加智能、准确。
一种可选实施方式中,所述网络通信测试包括以下至少一项:因特网包探索器ping测试;传输控制协议TCP连接测试;请求时延及抖动测试。
上述方法中,可以选择上述至少一项来进行网络质量测试,提供了多种测试网络通信质量的方法。
一种可选实施方式中,所述客户端确定所述DNS对所述访问请求的解析结果是否可用;若所述客户端确定所述DNS对所述访问请求的解析结果可用,则通过所述DNS解析出的网络地址访问所述服务端。
上述方式下,当所述客户端确定所述DNS对所述访问请求的解析结果可用后,便直接通过所述DNS解析出的网络地址访问所述服务端,从而提供了一种通过DNS获取访问地址,进而访问服务端的方法。
一种可选实施方式中,所述客户端确定所述DNS对所述访问请求的解析结果是否可用,包括:所述客户端确定所述客户端的请求发送速率;所述客户端基于请求发送速率和设定阈值的关系,确定对应的解析规则;所述客户端基于确定的解析规则确定所述DNS对所述访问请求的解析结果是否可用。
上述方式下,客户端确定所述客户端的请求发送速率后,可以基于请求发送速率和设定阈值的不同关系,确定不同的对应解析规则,再基于确定的解析规则确定所述DNS对所述访问请求的解析结果是否可用,从而确定所述DNS对所述访问请求的解析结果是否可用的方式更加准确、智能。
一种可选实施方式中,若所述客户端确定所述客户端的请求发送速率大于设定阈值,则所述客户端为特定客户端,所述解析规则为:所述DNS解析出的所述访问请求的网络地址是否为:所述服务端对应的网络地址池中所述特定客户端对应的网络地址,且所述访问请求的网络地址是否可用。
上述方式下,若所述客户端确定所述客户端的请求发送速率大于设定阈值后,则所述客户端为特定客户端,便可以基于特定客户端对应的解析规则确定所述DNS对所述访问请求的解析结果是否可用,从而实现了为特定客户端分配网络地址池中所述特定客户端对应的特定网络地址。
一种可选实施方式中,若所述客户端确定所述客户端的请求发送速率小于或等于设定阈值,则所述客户端为普通客户端,所述解析规则为:所述DNS解析出的所述访问请求的网络地址是否归属于:所述服务端对应的网络地址池中所述客户端所属的地址区域,且所述访问请求的网络地址是否可用。
上述方式下,若所述客户端确定所述客户端的请求发送速率小于或等于设定阈值后,则所述客户端为普通客户端,便可以基于普通客户端对应的解析规则确定所述DNS对所述访问请求的解析结果是否可用,由于客户端所属的地址区域中的网络质量相对较好,从而获取了考虑了网络质量的基础上的网络地址。
一种可选实施方式中,所述网络节点为负载均衡集群单元或负载均衡控制器。
上述方式下,所述多个网络地址中的每个网络地址配置在一个网络节点上,从而可以均匀地为网络节点配置网络地址,另外,网络节点为负载均衡集群单元或负载均衡控制器,从而可以为所述客户端与服务端之间流量的分发做负载均衡。
一种可选实施方式中,所述客户端的网络地址池是所述DNS接收到所述访问请求后根据所述DNS解析策略确定出的所述服务端对应的网络地址池。
在上述方式下,由于DNS是可以实时更新的,所述客户端的网络地址池与所述服务端对应的网络地址池保持一致,从而可以实时更新所述客户端的网络地址池。
一种可选实施方式中,所述网络地址为虚拟互联网协议VIP地址。
由于VIP地址并不是和真实物理网卡绑定的IP地址,因此当配置的网络节点不可用后,原来配置在该网络节点的VIP地址仍然可以配置到其它网络节点,从而节约了VIP地址。
第二方面,本发明提供一种确定访问地址的装置,包括:发送模块,用于发送访问请求至域名系统DNS;所述DNS用于根据DNS解析策略,确定出所述访问请求对应的服务端的网络地址;所述网络地址为所述服务端对应的网络地址池中的多个网络地址中的一个;处理模块,用于在确定所述DNS对所述访问请求的解析结果不可用后,根据本地选址策略,从客户端的网络地址池中确定出所述访问请求对应的服务端的网络地址;其中,所述本地选址策略是基于所述客户端与所述客户端的网络地址池中的多个网络地址之间的网络通信质量。
一种可选实施方式中,所述处理模块具体用于:所述客户端按照预设周期,对所述客户端与所述客户端的网络地址池中的多个网络地址执行网络通信测试,确定所述预设周期内所述客户端至所述多个网络地址中每个网络地址的网络质量指数;所述网络质量指数用于表征所述客户端至网络地址之间的网络通信质量;根据所述预设周期内所述客户端至所述多个网络地址中每个网络地址的网络质量指数,从所述网络地址池中选择出可用网络地址。
一种可选实施方式中,所述网络通信测试包括以下至少一项:因特网包探索器ping测试;传输控制协议TCP连接测试;请求时延及抖动测试。
一种可选实施方式中,所述处理模块还用于:所述客户端确定所述DNS对所述访问请求的解析结果是否可用;若所述客户端确定所述DNS对所述访问请求的解析结果可用,则通过所述DNS解析出的网络地址访问所述服务端。
一种可选实施方式中,所述处理模块具体用于:所述客户端确定所述客户端的请求发送速率;所述客户端基于所述请求发送速率和设定阈值的关系,确定对应的解析规则;所述客户端基于确定的解析规则确定所述DNS对所述访问请求的解析结果是否可用。
一种可选实施方式中,所述处理模块具体用于:若所述客户端确定所述客户端的请求发送速率大于设定阈值,则所述客户端为特定客户端,所述解析规则为:所述DNS解析出的所述访问请求的网络地址是否为:所述服务端对应的网络地址池中所述特定客户端对应的网络地址,且所述访问请求的网络地址是否可用。
一种可选实施方式中,所述处理模块具体用于:若所述客户端确定所述客户端的请求发送速率小于或等于设定阈值,则所述客户端为普通客户端,所述解析规则为:所述DNS解析出的所述访问请求的网络地址是否归属于:所述服务端对应的网络地址池中所述客户端所属的地址区域,且所述访问请求的网络地址是否可用。
一种可选实施方式中,所述网络节点为负载均衡集群单元或负载均衡控制器。
一种可选实施方式中,所述客户端的网络地址池是所述DNS接收到所述访问请求后根据所述DNS解析策略确定出的所述服务端对应的网络地址池。
一种可选实施方式中,所述网络地址为虚拟互联网协议VIP地址。
上述第二方面及第二方面各个实施方式的有益效果,可以参考上述第一方面及第一方面各个的有益效果,这里不再赘述。
第三方面,本发明提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个可选的方法。
第四方面,本发明提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行上述第一方面及第一方面各个可选的方法。
附图说明
图1为本申请实施例提供的一种确定访问地址的方法可应用的架构示意图;
图2为本申请实施例提供的一种确定访问地址的方法的步骤流程示意图;
图3为本申请实施例提供的一种确定访问地址的方法中客户端根据本地选址策略选取网络地址的架构示意图;
图4为本申请实施例提供的一种确定访问地址的方法的具体步骤流程示意图;
图5为本申请实施例提供的一种确定访问地址的装置的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图及具体的实施方式对上述技术方案进行详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互结合。
下面首先列出本申请实施例中的名词。
网关(GateWay):主要网络层以上实现网络互连,还可以提供IP地址收敛、负载均衡、服务器自动容灾等功能。
负载均衡控制器(Load Balance Director,LD),用于通过负载均衡策略决定流量的下发。
负载均衡集群单元(SET):由多台LD组成的高可用负载均衡集群单元。
互联网协议(Internet Protocol,IP)地址:分配给上网设备使用的网际协议设备的数字标签。
虚拟互联网协议地址(Virtual Internet Protocol address,VIP):是根据预设的网络地址范围,并按某种策略为网际协议设备分配的数字标签。
GW-VIP:是配置在GW上的虚拟互联网协议地址,后端指向真实的服务器地址。
VIP Pool:多个GW-VIP构成的虚拟网络地址池,后端指向相同的服务池。
服务池(Server Pool):由多台提供相同服务的真实服务器(Real Server,RS)构成的资源池。
域名系统(Domain Name System,DNS):是一个将域名和IP地址相互映射的一个分布式数据库,能够根据域名解析出IP地址。
在金融机构(银行机构、保险机构或证券机构)在进行业务(如银行的贷款业务、存款业务等)运转过程中,客户端对金融机构的访问需求日益增加,为访问请求分配可用访问地址是拥有良好网络通信的基础和前提,目前的方法中,但当单一的网络节点出现故障后,无论为客户端的访问请求分配哪个网络地址都是不可用的,因此,目前为访问请求分配网络地址的容灾性较差。这种情况不符合银行等金融机构的需求,无法保证金融机构各项业务的高效运转。
为此,本申请提供一种确定访问地址的方法,如图1所示,为该方法可应用的整体架构示意图。图1示出的架构,在传统DNS的域名解析基础上做了部分改进,可以实现一套高可用、可扩展的容灾方案。图1的架构中,可以在客户端配置网络地址池(如VIP Pool),在DNS解析访问失败后能够通过一定的筛选策略获取网络地址池(如VIP Pool)中最适合的网络地址作为访问地址,从而提升用户到网关层的高可用性。具体来说,图1示出的架构包括以下几部分:
客户端:需要从服务端获得访问服务的一端,会向服务端发送访问请求。客户端的访问服务需要先获取到待访问服务的网络地址(如IP地址或VIP地址),网络地址可以通过DNS解析获取,也可以直接将网络地址池配置在用户的客户端配置里,通过一定的策略选取网络地址。
需要说明的是,传统的客户端一般做高可用性都是在客户端配置主备网络地址,或是多个网络地址,当主网络地址访问失败时,切换到备网络地址进行访问,或是简单的轮询策略找到一个可访问的网络地址,这种方式并不够灵活,只是为了获取一个可访问的网络地址,而不能够给用户一个最合适的地址进行访问。
DNS:通过访问请求中的域名,解析出访问请求的网络地址。传统方案中DNS只是简单的根据配置返回域名对应的网络地址,或者简单的轮询来返回域名对应多个网络地址中的一个网络地址。
本申请中,可以通过在DNS配置一些DNS解析策略,从而优化DNS为访问请求分配网络地址的过程,返回一个较合适的网络地址给客户端访问。举例来说,DNS可以通过以下策略来解析得到网络地址:
(1)根据客户端的网络地址所归属的地址区域,从服务端相应的地址区域的网络地址中选择一个网络地址;需要说明的是,地址区域可以为省、市等各级别区域。
(2)为特定客户端设置特定的网络地址范围,从特定的网络地址范围中选择一个网络地址,如将访问请求速率较高的客户端设置为特定客户端。
(3)周期性地根据客户端的访问情况来修正调整DNS解析策略,如客户端的又新部署了一个更近的网络节点,可以将该网络节点的网络地址优先分发给客户端。还可以根据用户实际的访问情况反馈来灵活调整DNS解析策略,在此不做限定。
网络节点池:多个(不同区域的)网络节点构成的集群,为客户端与服务端之间的转发节点。可以申请多个网络地址,部署在网络节点池,作为网络地址池的载体。其中,每个网络节点都可以配置一个或多个网络地址。需要说明的是,网络地址池同样也可以在客户端中配置,客户端可以连接任一个网络地址池中的网络地址所对应的网络节点。
服务端:为处理访问请求的实体,具体以一个服务池的形式存在,包括多个服务器。
下面结合图2,详细介绍本申请中提供的一种确定访问地址的方法。
步骤201:客户端发送访问请求至域名系统DNS。
所述DNS用于根据DNS解析策略,确定出所述访问请求对应的服务端的网络地址;所述网络地址为所述服务端对应的网络地址池中的多个网络地址中的一个;所述服务端的网络地址池中的多个网络地址配置在所述多个网络节点上。
步骤202:所述客户端在确定所述DNS对所述访问请求的解析结果不可用后,根据本地选址策略,从所述客户端的网络地址池中确定出所述访问请求对应的服务端的网络地址。
其中,所述本地选址策略是基于所述客户端与所述客户端的网络地址池中的多个网络地址之间的网络通信质量;所述客户端的网络地址池中的多个网络地址配置在所述多个网络节点上。
需要说明的是,其中,所述网络节点可以为任何能实现客户端与服务端之间数据转发的节点,举例来说,网络节点为负载均衡集群单元或负载均衡控制器,实现对服务池中服务器之间的负载均衡。所述网络地址可以为IP地址或VIP地址。
客户端的网络地址池可以是预先配置好的,由DNS定期对客户端的网络地址池更新,也可以是在客户端向DNS发送访问请求后,临时从DNS获取网络地址池。
需要说明的是,DNS端的域名解析地址是可控的,服务端可以根据需求更改DNS中域名解析的网络地址。
步骤201之后,步骤202之前,可以按照以下方式获取客户端的网络地址池:
所述DNS接收到所述访问请求后,根据所述DNS解析策略确定出的所述服务端对应的网络地址池;所述DNS将服务端对应的网络地址池发送给所述客户端,客户端将服务端对应的网络地址池作为客户端的网络地址池。
步骤202的一种实施方式中,步骤202可以按照以下方式执行:
步骤202-1:所述客户端按照预设周期,对所述客户端与所述客户端的网络地址池中的多个网络地址执行网络通信测试,确定所述预设周期内所述客户端至所述多个网络地址中每个网络地址的网络质量指数。
所述网络质量指数用于表征所述客户端至网络地址之间的网络通信质量。需要说明的是,网络质量指数的形式可以有多种,如百分比,具体数值,与网络质量的相关性也不做限定,既可以为正相关,也可以为负相关,只要网络质量指数能表征所述客户端至网络地址之间的网络通信质量都可以。
步骤202-2:根据所述预设周期内所述客户端至所述多个网络地址中每个网络地址的网络质量指数,从所述网络地址池中选择出可用网络地址。
需要说明的是,步骤202-1~步骤202-2中的所述网络通信测试包括以下至少一项:因特网包探索器ping测试;传输控制协议TCP连接测试;请求时延及抖动测试。
下面结合图3详细说明步骤202-1~步骤202-2所述的方法。具体来说,网络质量指数为最短距离,可以在客户端设置一个状态机,实时的计算到网络地址池中各个网络地址的最短距离AD(通过算法计算得出的网络质量越好,距离越短)即通过最短距离作为最合适网络地址进行访问。需要说明的是,图中的网络节点仅以网络节点1、网络节点2、网络节点3和网络节点4举例来说明,并不是对步骤202-1~步骤202-2所述方法的限定。图中的网络节点个数可以根据具体场景灵活设定,如5个、10个,网络地址在网络节点上的配置。具体网络质量的计算策略可以如下:
首先初始化到客户端到每个网络地址池中的网络地址的距离AD为0,AD的最大值为预设值,例如10。具体计算规则可以如下:
(3-1)客户端与网络地址之间执行ping探测:探测响应,假设不通则给距离加第一增量,如3,抖动延迟大于300ms则给距离加第二增量,如2,小于100ms加第三增量,如1,小于50ms不加等,具体细化规则及各个时间数值及增量数值可以根据具体场景自定义,在此不做限定。
(3-2)客户端与网络地址之间执行tcp连接测试:探测tcp连接的三次握手时延以及成功率,如果tcp连接探测不通,则直接给距离加上述预设值10,认为到该网络地址的距离达到最远不可访问,其次根据网络时延以及网络抖动增减距离值。
(3-3)客户端与网络地址之间的时延以及抖动,根据时延增加到网络地址之间的距离值,如1-3不等。
需要说明的是,上述(3-1)~(3-3)中的计算策略可以使用一个到多个。每个计算策略得到的数据处理方式也不做限定,如取以上计算策略在1分钟内的均值,作为客户端到网络地址之间的距离,再如,到某一网络地址的最短距离计算结果大于10,则直接取10。最后,可以通过实时的计算并排序是到网络地址池中各个地址的距离,即可得出当客户端到网络地址的最短距离,如果客户端需要访问可按照该距离进行选择最短距离的网络地址进行访问。
步骤201之后,一种可能的实现方式为:
所述客户端确定所述DNS对所述访问请求的解析结果是否可用;若所述客户端确定所述DNS对所述访问请求的解析结果可用,则通过所述DNS解析出的网络地址访问所述服务端。
也就是说,如果在201中得到的DNS对所述访问请求的解析结果可用,便直接用所述DNS解析出的网络地址访问所述服务端;否则,便采用202中的方式选择网络地址。
上述实现方式可以为:
所述客户端确定所述客户端的请求发送速率;所述客户端基于所述请求发送速率和设定阈值的关系,确定对应的解析规则;所述客户端基于确定的解析规则确定所述DNS对所述访问请求的解析结果是否可用。
具体来说,客户端可以基于所述请求发送速率和设定阈值的不同关系,设置不同的解析规则。如请求发送速率位于设定阈值的1倍至2倍的区间,则对应解析规则一,反之,对应解析规则二。具体的所述请求发送速率和设定阈值的设定关系可以根据具体场景灵活设置。
更具体地,上述客户端基于所述请求发送速率和设定阈值的关系,确定对应的解析规则的实现方式可以包括以下两种情况:
第一种:若所述客户端确定所述客户端的请求发送速率大于设定阈值,则所述客户端为特定客户端,所述解析规则为:所述DNS解析出的所述访问请求的网络地址是否为:所述服务端对应的网络地址池中所述特定客户端对应的网络地址,且所述访问请求的网络地址是否可用。
举例来说,客户端为特定客户端,特定客户端在网络地址池中对应的网络地址为网络地址子池一中的网络地址,如果所述DNS解析出的所述访问请求的网络地址为网络地址子池一中的网络地址,且访问请求的网络地址可用,便可以确定所述DNS解析出的所述访问请求的网络地址可用。
第二种:若所述客户端确定所述客户端的请求发送速率小于或等于设定阈值,则所述客户端为普通客户端,所述解析规则为:所述DNS解析出的所述访问请求的网络地址是否归属于:所述服务端对应的网络地址池中所述客户端所属的地址区域,且所述访问请求的网络地址是否可用。
举例来说,客户端所属的地址区域为X省,所述DNS解析出的所述访问请求的网络地址也归属于X省,且访问请求的网络地址可用,便可以确定所述DNS解析出的所述访问请求的网络地址可用。
在图2示出的访问地址确定的方法,可以通过DNS以及网络地址池相结合的方式来获得访问地址,从而提供一种高可用的容灾方案。具体来说,在步骤201中,首先通过改进DNS解析策略获取网络地址池中一个较适合的网络地址(如客户端所归属的地址区域的网络地址)进行访问。而传统的DNS仅仅只是解析或轮询,不能指定需求的策略返回最适合的网络地址。同时图2示出的访问地址确定的方法,可以避免用户客户端配置的网络地址池中网络地址因发版错误或用户未及时更新进而选择不可用的网络地址,也可通过DNS临时调整控制网络地址接入访问压力过大的问题;如果域名解析失败则可通过一定的策略在网络地址池中选择最适合的网络地址来避免DNS的解析失败。从而,DNS解析策略与客户端的本地选址策略相结合能够提供一种灵活、可控且高可用性的访问地址确定方案。
下面结合图4,详细说明本申请提供的一种确定访问地址的方法。
具体来说,包括以下步骤:
步骤401:客户端发送访问请求。
访问请求中包括客户端所要访问的域名。
步骤402:DNS根据DNS解析策略对访问请求解析。
举例来说,DNS根据客户端的地址区域,从VIP Pool中地址区域对应的网络地址选择一个的VIP返回给客户端进行访问。
步骤403:客户端确定获取到的VIP是否可用。
若可用,则执行步骤406;若不可用,则执行步骤404。
步骤404:客户端确定根据本地选址策略从客户端的网络地址池中选择VIP的次数是否大于或等于预设次数。如预设次数为3次。
若是,则执行步骤407;否则,执行步骤405。
步骤405:客户端根据本地选址策略从客户端的网络地址池中选择VIP。
步骤405执行完毕后,执行步骤403。
步骤406:客户端将获取到的VIP确定为访问地址。
步骤407:客户端确定获取访问地址失败。
如图5所示,本发明提供一种确定访问地址的装置,包括:发送模块501,用于发送访问请求至域名系统DNS;所述DNS用于根据DNS解析策略,确定出所述访问请求对应的服务端的网络地址;所述网络地址为所述服务端对应的网络地址池中的多个网络地址中的一个;处理模块502,用于在确定所述DNS对所述访问请求的解析结果不可用后,根据本地选址策略,从客户端的网络地址池中确定出所述访问请求对应的服务端的网络地址;其中,所述本地选址策略是基于所述客户端与所述客户端的网络地址池中的多个网络地址之间的网络通信质量。
一种可选实施方式中,所述处理模块502具体用于:所述客户端按照预设周期,对所述客户端与所述客户端的网络地址池中的多个网络地址执行网络通信测试,确定所述预设周期内所述客户端至所述多个网络地址中每个网络地址的网络质量指数;所述网络质量指数用于表征所述客户端至网络地址之间的网络通信质量;根据所述预设周期内所述客户端至所述多个网络地址中每个网络地址的网络质量指数,从所述网络地址池中选择出可用网络地址。
一种可选实施方式中,所述网络通信测试包括以下至少一项:因特网包探索器ping测试;传输控制协议TCP连接测试;请求时延及抖动测试。
一种可选实施方式中,所述处理模块502还用于:所述客户端确定所述DNS对所述访问请求的解析结果是否可用;若所述客户端确定所述DNS对所述访问请求的解析结果可用,则通过所述DNS解析出的网络地址访问所述服务端。
一种可选实施方式中,所述处理模块502具体用于:所述客户端确定所述客户端的请求发送速率;所述客户端基于所述请求发送速率和设定阈值的关系,确定对应的解析规则;所述客户端基于确定的解析规则确定所述DNS对所述访问请求的解析结果是否可用。
一种可选实施方式中,所述处理模块502具体用于:若所述客户端确定所述客户端的请求发送速率大于设定阈值,则所述客户端为特定客户端,所述解析规则为:所述DNS解析出的所述访问请求的网络地址是否为:所述服务端对应的网络地址池中所述特定客户端对应的网络地址,且所述访问请求的网络地址是否可用。
一种可选实施方式中,所述处理模块502具体用于:若所述客户端确定所述客户端的请求发送速率小于或等于设定阈值,则所述客户端为普通客户端,所述解析规则为:所述DNS解析出的所述访问请求的网络地址是否归属于:所述服务端对应的网络地址池中所述客户端所属的地址区域,且所述访问请求的网络地址是否可用。
一种可选实施方式中,所述网络节点为负载均衡集群单元或负载均衡控制器。
一种可选实施方式中,所述客户端的网络地址池是所述DNS接收到所述访问请求后根据所述DNS解析策略确定出的所述服务端对应的网络地址池。
一种可选实施方式中,所述网络地址为虚拟互联网协议VIP地址。
本申请实施例提供一种计算机设备,包括程序或指令,当所述程序或指令被执行时,用以执行本申请实施例提供的一种确定访问地址的方法及任一可选方法。
本申请实施例提供一种存储介质,包括程序或指令,当所述程序或指令被执行时,用以执行本申请实施例提供的一种确定访问地址的方法及任一可选方法。
最后应说明的是:本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (13)
1.一种确定访问地址的方法,其特征在于,包括:
客户端发送访问请求至域名系统DNS;所述DNS用于根据DNS解析策略,确定出所述访问请求对应的服务端的网络地址;所述网络地址为所述服务端对应的网络地址池中的多个网络地址中的一个;所述服务端的网络地址池中的多个网络地址配置在所述多个网络节点上;
所述客户端在确定所述DNS对所述访问请求的解析结果不可用后,根据本地选址策略,从所述客户端的网络地址池中确定出所述访问请求对应的服务端的网络地址;其中,所述本地选址策略是基于所述客户端与所述客户端的网络地址池中的多个网络地址之间的网络通信质量;所述客户端的网络地址池中的多个网络地址配置在所述多个网络节点上。
2.如权利要求1所述的方法,其特征在于,所述根据本地选址策略,从所述客户端的网络地址池中确定出所述访问请求对应的服务端的网络地址,包括:
所述客户端按照预设周期,对所述客户端与所述客户端的网络地址池中的多个网络地址执行网络通信测试,确定所述预设周期内所述客户端至所述多个网络地址中每个网络地址的网络质量指数;所述网络质量指数用于表征所述客户端至网络地址之间的网络通信质量;
根据所述预设周期内所述客户端至所述多个网络地址中每个网络地址的网络质量指数,从所述网络地址池中选择出可用网络地址。
3.如权利要求2所述的方法,其特征在于,所述网络通信测试包括以下至少一项:因特网包探索器ping测试;传输控制协议TCP连接测试;请求时延及抖动测试。
4.如权利要求1-3任一所述的方法,其特征在于,所述客户端在确定所述DNS对所述访问请求的解析结果不可用的步骤之前,还包括:
所述客户端确定所述DNS对所述访问请求的解析结果是否可用;
若所述客户端确定所述DNS对所述访问请求的解析结果可用,则通过所述DNS解析出的网络地址访问所述服务端。
5.如权利要求4所述的方法,其特征在于,所述客户端确定所述DNS对所述访问请求的解析结果是否可用,包括:
所述客户端确定所述客户端的请求发送速率;
所述客户端基于请求发送速率和设定阈值的关系,确定对应的解析规则;
所述客户端基于确定的解析规则确定所述DNS对所述访问请求的解析结果是否可用。
6.如权利要求5所述的方法,其特征在于,所述客户端基于所述请求发送速率和设定阈值的关系,确定对应的解析规则的步骤包括:
若所述客户端确定所述客户端的请求发送速率大于设定阈值,则所述客户端为特定客户端,所述解析规则为:所述DNS解析出的所述访问请求的网络地址是否为:所述服务端对应的网络地址池中所述特定客户端对应的网络地址,且所述访问请求的网络地址是否可用。
7.如权利要求5所述的方法,其特征在于,所述客户端基于所述请求发送速率和设定阈值的关系,确定对应的解析规则的步骤包括:
若所述客户端确定所述客户端的请求发送速率小于或等于设定阈值,则所述客户端为普通客户端,所述解析规则为:所述DNS解析出的所述访问请求的网络地址是否归属于:所述服务端对应的网络地址池中所述客户端所属的地址区域,且所述访问请求的网络地址是否可用。
8.如权利要求1-3任一所述的方法,其特征在于,所述网络节点为负载均衡集群单元或负载均衡控制器。
9.如权利要求1-3任一所述的方法,其特征在于,所述客户端的网络地址池是所述DNS接收到所述访问请求后根据所述DNS解析策略确定出的所述服务端对应的网络地址池。
10.如权利要求1-3任一所述的方法,其特征在于,所述网络地址为虚拟互联网协议地址VIP。
11.一种确定访问地址的装置,其特征在于,包括:
发送模块,用于发送访问请求至域名系统DNS;所述DNS用于根据DNS解析策略,确定出所述访问请求对应的服务端的网络地址;所述网络地址为所述服务端对应的网络地址池中的多个网络地址中的一个;
处理模块,用于在确定所述DNS对所述访问请求的解析结果不可用后,根据本地选址策略,从客户端的网络地址池中确定出所述访问请求对应的服务端的网络地址;其中,所述本地选址策略是基于所述客户端与所述客户端的网络地址池中的多个网络地址之间的网络通信质量。
12.一种计算机设备,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至10中任意一项所述的方法被执行。
13.一种存储介质,其特征在于,包括程序或指令,当所述程序或指令被执行时,如权利要求1至10中任意一项所述的方法被执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010103052.7A CN111314500A (zh) | 2020-02-19 | 2020-02-19 | 一种确定访问地址的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010103052.7A CN111314500A (zh) | 2020-02-19 | 2020-02-19 | 一种确定访问地址的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111314500A true CN111314500A (zh) | 2020-06-19 |
Family
ID=71158505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010103052.7A Pending CN111314500A (zh) | 2020-02-19 | 2020-02-19 | 一种确定访问地址的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111314500A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901395A (zh) * | 2020-07-07 | 2020-11-06 | 青岛海尔科技有限公司 | 多集群切换方法及装置 |
CN114884920A (zh) * | 2022-07-07 | 2022-08-09 | 荣耀终端有限公司 | 一种通信方法、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070174461A1 (en) * | 2006-01-25 | 2007-07-26 | Reilly Sean D | Accessing distributed services in a network |
CN104158919A (zh) * | 2014-08-20 | 2014-11-19 | 安一恒通(北京)科技有限公司 | 网页访问实现方法、服务器和客户端 |
CN106210155A (zh) * | 2015-04-29 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 连接应用服务器的方法和装置 |
US20170171147A1 (en) * | 2015-12-10 | 2017-06-15 | Le Holdings (Beijing) Co., Ltd. | Method and electronic device for implementing domain name system |
CN107395683A (zh) * | 2017-06-26 | 2017-11-24 | 网宿科技股份有限公司 | 一种回源路径的选择方法及服务器 |
CN108737582A (zh) * | 2017-04-18 | 2018-11-02 | 艺龙网信息技术(北京)有限公司 | 域名解析的方法及装置 |
CN109347947A (zh) * | 2018-10-15 | 2019-02-15 | 郑州云海信息技术有限公司 | 一种负载均衡的方法、域名服务器及集群nas服务器 |
CN109981805A (zh) * | 2017-12-28 | 2019-07-05 | 中国移动通信集团山东有限公司 | 一种域名解析的方法及装置 |
-
2020
- 2020-02-19 CN CN202010103052.7A patent/CN111314500A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070174461A1 (en) * | 2006-01-25 | 2007-07-26 | Reilly Sean D | Accessing distributed services in a network |
CN104158919A (zh) * | 2014-08-20 | 2014-11-19 | 安一恒通(北京)科技有限公司 | 网页访问实现方法、服务器和客户端 |
CN106210155A (zh) * | 2015-04-29 | 2016-12-07 | 腾讯科技(深圳)有限公司 | 连接应用服务器的方法和装置 |
US20170171147A1 (en) * | 2015-12-10 | 2017-06-15 | Le Holdings (Beijing) Co., Ltd. | Method and electronic device for implementing domain name system |
CN108737582A (zh) * | 2017-04-18 | 2018-11-02 | 艺龙网信息技术(北京)有限公司 | 域名解析的方法及装置 |
CN107395683A (zh) * | 2017-06-26 | 2017-11-24 | 网宿科技股份有限公司 | 一种回源路径的选择方法及服务器 |
CN109981805A (zh) * | 2017-12-28 | 2019-07-05 | 中国移动通信集团山东有限公司 | 一种域名解析的方法及装置 |
CN109347947A (zh) * | 2018-10-15 | 2019-02-15 | 郑州云海信息技术有限公司 | 一种负载均衡的方法、域名服务器及集群nas服务器 |
Non-Patent Citations (2)
Title |
---|
孙成英;陈黎君;: "基于策略的DNS及其配置", 江苏通信技术, no. 03 * |
薛峰, 赵问道, 陈惠芳: "基于最大网络收益的DNS内容路由算法", 浙江大学学报(工学版), no. 10 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111901395A (zh) * | 2020-07-07 | 2020-11-06 | 青岛海尔科技有限公司 | 多集群切换方法及装置 |
CN111901395B (zh) * | 2020-07-07 | 2024-03-22 | 青岛海尔科技有限公司 | 多集群切换方法及装置 |
CN114884920A (zh) * | 2022-07-07 | 2022-08-09 | 荣耀终端有限公司 | 一种通信方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10374955B2 (en) | Managing network computing components utilizing request routing | |
US6061713A (en) | Communications system for client-server data processing systems | |
CN112532675B (zh) | 一种网络边缘计算系统的创建方法、装置及介质 | |
US7584292B2 (en) | Hierarchical system configuration method and integrated scheduling method to provide multimedia streaming service on two-level double cluster system | |
US6675199B1 (en) | Identification of active server cluster controller | |
CN109151009B (zh) | 一种基于mec的cdn节点分配方法和系统 | |
JPH11338836A (ja) | コンピュータネットワークの負荷分散システム | |
US20220318071A1 (en) | Load balancing method and related device | |
US6763372B1 (en) | Load balancing of chat servers based on gradients | |
CN111327668B (zh) | 网络管理方法、装置、设备和存储介质 | |
US6675217B1 (en) | Recovery of cluster consistency following failover | |
CN110601995B (zh) | 在区块链网络中控制流量的方法、装置、存储介质和设备 | |
US11394683B2 (en) | Domain name resolution method and apparatus based on a plurality of availability zones AZ | |
CN110297867B (zh) | 基于国产cpu和分布式容器集群的数据库集群运行方法及系统 | |
CN111314500A (zh) | 一种确定访问地址的方法及装置 | |
EP2577488A2 (en) | Leader arbitration for provisioning services | |
CN110730250A (zh) | 信息处理方法及装置、服务系统、存储介质 | |
US8886771B2 (en) | Method and system for providing distributed allowed domains in a data network | |
US7203742B1 (en) | Method and apparatus for providing scalability and fault tolerance in a distributed network | |
CN109743357B (zh) | 一种业务访问连续性的实现方法及装置 | |
US20160226963A1 (en) | Load balancing using predictable state partitioning | |
CN1330124C (zh) | 虚拟化网络资源的方法和装置 | |
CN109413117B (zh) | 分布式数据计算方法、装置、服务器及计算机存储介质 | |
CN112055052B (zh) | 物联网系统的服务探活及信息分发方法、系统和介质 | |
CN111355573B (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 |