CN116137624A - 负载均衡方法、设备及计算机可读存储介质 - Google Patents
负载均衡方法、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116137624A CN116137624A CN202111366792.0A CN202111366792A CN116137624A CN 116137624 A CN116137624 A CN 116137624A CN 202111366792 A CN202111366792 A CN 202111366792A CN 116137624 A CN116137624 A CN 116137624A
- Authority
- CN
- China
- Prior art keywords
- module
- domain name
- service
- name resolution
- service modules
- 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
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/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/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
- 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
Abstract
本发明提供了一种负载均衡方法、设备及计算机可读存储介质。其中,负载均衡方法通过从CDN调度系统的加速服务模块中选取多个可用服务模块并确定可用服务模块的负载能力参数,能够得知各个可用服务模块之间的负载能力之比,此外,域名解析结果由域名解析请求和负载能力参数所共同确定,以使得域名解析结果所携带的对应于各个可用服务模块的服务地址数量之比对应于负载能力参数所表征的各个可用服务模块的负载能力之比,又由于终端设备根据域名解析结果携带的服务地址与可用服务模块建立内容加速服务,因此本发明能够均衡内容分发网络中的各个可用服务模块的负载,从而提高内容分发网络的效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种负载均衡方法、设备及计算机可读存储介质。
背景技术
内容分发网络(Content Delivery Network,CDN)是在网络边缘提供对缓存加速内容的缓存,从而在靠近用户的加速服务器组为用户提供加速服务,从而降低对服务源站的压力以及承载网络的压力,同时能够为用户提供更快的服务响应以及更稳定的流式加速服务。CDN调度系统通过域名服务器(Domain Name Server,DNS)进行动态域名解析以向本地域名服务器(Local Domain Name Server,LDNS)返回可用的加速服务器组的地址信息,终端设备根据LDNS返回的地址信息向对应的加速服务器组发起服务请求。在相关技术中,当终端设备归属的加速服务器组存在多个时,各个加速服务器组之间的负载不均,导致内容分发网络的效率降低。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供了一种负载均衡方法、设备及计算机可读存储介质,能够均衡内容分发网络中各个加速服务器组的负载,从而提高内容分发网络的效率。
第一方面,本发明实施例提供了一种负载均衡方法,应用于CDN调度系统的DNS模块,所述CDN调度系统包括所述DNS模块、LDNS模块和多个加速服务模块;
所述方法包括:
接收由所述LDNS模块发送的域名解析请求;
根据所述域名解析请求从所述加速服务模块中选取多个可用服务模块并确定负载能力参数,所述负载能力参数用于表征各个所述可用服务模块之间的负载能力比;
根据所述域名解析请求和所述负载能力参数确定域名解析结果,所述域名解析结果携带有对应于各个所述可用服务模块的服务地址,且各个所述可用服务模块对应的所述服务地址的数量之比对应于所述负载能力参数;
将所述域名解析结果发送至所述LDNS模块,以使所述LDNS模块能够根据所述域名解析结果向终端设备发送所述服务地址。
第二方面,本发明实施例提供了一种负载均衡方法,应用于CDN调度系统的LDNS模块,所述CDN调度系统包括DNS模块、所述LDNS模块和多个加速服务模块;
所述方法包括:
接收由所述DNS模块发送的域名解析结果,所述域名解析结果携带有多个可用服务模块分别对应的服务地址,所述可用服务模块由所述DNS模块从多个所述加速服务模块中选取,且各个所述可用服务模块对应的所述服务地址的数量之比与各个所述服务模块之间的负载能力之比对应;
根据所述域名解析结果得到服务地址,并将所述服务地址发送至终端设备,以使所述终端设备能够根据所述服务地址与所述加速服务模块之间建立内容加速服务。
第三方面,本发明实施例提供了一种网络设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面或第二方面实施例中的负载均衡方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上述第一方面或第二方面实施例中的负载均衡方法。
本发明实施例包括:接收由所述LDNS模块发送的域名解析请求;根据所述域名解析请求从所述加速服务模块中选取多个可用服务模块并确定负载能力参数,所述负载能力参数用于表征各个所述可用服务模块之间的负载能力比;根据所述域名解析请求和所述负载能力参数确定域名解析结果,所述域名解析结果携带有对应于各个所述可用服务模块的服务地址,且各个所述可用服务模块对应的所述服务地址的数量之比对应于所述负载能力参数;将所述域名解析结果发送至所述LDNS模块,以使所述LDNS模块能够根据所述域名解析结果向终端设备发送所述服务地址。根据本发明实施例提供的方案,通过从CDN调度系统的加速服务模块中选取多个可用服务模块并确定可用服务模块的负载能力参数,能够得知各个可用服务模块之间的负载能力之比,此外,域名解析结果由域名解析请求和负载能力参数所共同确定,以使得域名解析结果所携带的对应于各个可用服务模块的服务地址数量之比对应于负载能力参数所表征的各个可用服务模块的负载能力之比;由于终端设备是根据域名解析结果携带的服务地址与可用服务模块建立内容加速服务,而域名解析结果所携带的对应于各个可用服务模块的服务地址数量之比对应于负载能力参数所表征的各个可用服务模块的负载能力之比,因此本发明实施例能够均衡内容分发网络中的各个可用服务模块,也即各个加速服务器组的负载,从而提高内容分发网络的效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的内容来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明一个实施例提供的CDN调度系统的示意图;
图2是本发明一个实施例提供的负载均衡方法的流程图;
图3是本发明一个实施例提供的从加速服务模块中选取多个可用服务模块的具体流程图;
图4是图3中步骤S220的具体流程图;
图5是图4中步骤S223的具体流程图;
图6是本发明一个实施例提供的确定负载能力参数的具体流程图;
图7是本发明一个实施例提供的根据域名解析请求和负载能力参数确定域名解析结果的具体流程图;
图8是本发明另一实施例提供的负载均衡方法的流程图;
图9是本发明另一实施例提供的负载均衡方法的流程图;
图10是本发明另一实施例提供的负载均衡方法的流程图;
图11是本发明一个实施例提供的网络设备200的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明实施例提供了一种负载均衡方法,包括接收由LDNS模块发送的域名解析请求;根据域名解析请求从加速服务模块中选取多个可用服务模块并确定负载能力参数,负载能力参数用于表征各个可用服务模块之间的负载能力比;根据域名解析请求和负载能力参数确定域名解析结果,域名解析结果携带有对应于各个可用服务模块的服务地址,且各个可用服务模块对应的服务地址的数量之比对应于负载能力参数;将域名解析结果发送至LDNS模块,以使LDNS模块能够根据域名解析结果向终端设备发送服务地址。通过从CDN调度系统的加速服务模块中选取多个可用服务模块并确定可用服务模块的负载能力参数,能够得知各个可用服务模块之间的负载能力之比,此外,域名解析结果由域名解析请求和负载能力参数所共同确定,以使得域名解析结果所携带的对应于各个可用服务模块的服务地址数量之比对应于负载能力参数所表征的各个可用服务模块的负载能力之比;由于终端设备是根据域名解析结果携带的服务地址与可用服务模块建立内容加速服务,而域名解析结果所携带的对应于各个可用服务模块的服务地址数量之比对应于负载能力参数所表征的各个可用服务模块的负载能力之比,因此本发明实施例能够均衡内容分发网络中的各个可用服务模块,也即各个加速服务器组的负载,从而提高内容分发网络的效率。
下面结合附图,对本发明实施例作进一步阐述。
图1是本发明一个实施例提供的CDN调度系统的示意图,在图1的示例中,CDN调度系统包括DNS模块100、LDNS模块110和多个加速服务模块120,LDNS模块110能够接收由用户终端发送的域名解析请求,并向用户终端发送对应于域名解析请求的服务地址,使得用户终端能够根据服务地址与对应于该服务地址的加速服务模块120之间建立内容加速服务。
在一实施例中,LDNS模块110能够接收由用户终端发送的域名解析请求,从而根据域名解析请求查找LDNS模块110本地是否缓存有对应于该域名解析请求的预缓存解析结果,若LDNS模块110本地存在预缓存解析结果,则向用户终端发送该预缓存解析结果所表征的服务地址,以使用户终端能够根据该服务地址与对应于该服务地址的加速服务模块120之间建立内容加速服务。若LDNS模块110本地不存在预缓存解析结果,则LDNS模块110将上述域名解析请求转发至DNS模块100,并从DNS模块100获取域名解析结果并缓存该域名解析结果。
在一实施例中,DNS模块100能够根据由LDNS模块110发送的域名解析请求确定域名解析结果,并将该域名解析结果发送至LDNS模块110。
在一实施例中,DNS模块100能够获取加速服务模块120的实时性能参数,并根据加速服务模块120的实时性能参数和权重系数判断加速服务模块120的可用性,以便从加速服务模块120中选取可用服务模块。
具体地,DNS模块100能够确定各个加速服务模块120的权重系数,并根据权重系数和预设调度策略从加速服务模块120中选取多个可用服务模块。
需要说明的是,本发明实施例的预设调度策略,包括但不限于以下一种或多种影响因素:业务类型、地理位置、容灾要求、IP地址池和域名解析请求类型。
在一实施例中,加速服务模块120能够提供内容加速服务,并且加速服务模块120设置有性能查询接口,以便于响应外部设备的性能查询请求,例如,加速服务模块120能够响应于DNS模块100发送的性能查询请求,向DNS模块100发送实时性能参数。
需要说明的是,每个加速服务模块120至少存在一个服务地址,也即对外的IP地址。
需要说明的是,用户终端可以是所有可能会触发域名解析请求的客户端,例如,用户终端可以是媒体终端、浏览器或者服务器客户端。
需要说明的是,本发明实施例的LDNS模块110,支持部署在客户端、区域或者骨干网。LDNS模块110可以是多级组网架构,在LDNS模块110的多级组网架构中至少存在一级用于域名解析代理,每一级LDNS模块110由至少一台服务器组成。
需要说明的是,本发明实施例的DNS模块100由至少一台服务器组成。
需要说明的是,本发明实施例的加速服务模块120由至少一台服务器组成,每个加速服务模块120为一个服务器组,CDN调度系统中存在至少一个服务器组。
本发明实施例描述的CDN调度系统以及应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域技术人员可知,随着CDN调度系统的演变和新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1中示出的CDN调度系统并不构成对本发明实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
基于上述CDN调度系统,下面提出本发明的负载均衡方法的各个实施例。
如图2所示,图2是本发明一个实施例提供的负载均衡方法的流程图,应用于CDN调度系统的DNS模块,在图2的示例中,本发明实施例的负载均衡方法包括但不限于步骤S100、步骤S200、步骤S300和步骤S400。
步骤S100,接收由LDNS模块发送的域名解析请求。
在一实施例中,LDNS模块能够接收由用户终端发送的域名解析请求,从而根据域名解析请求查找LDNS模块本地是否缓存有对应于该域名解析请求的预缓存解析结果,若LDNS模块本地存在预缓存解析结果,则向用户终端发送该预缓存解析结果所表征的服务地址,以使用户终端能够根据该服务地址与对应于该服务地址的加速服务模块之间建立内容加速服务。若LDNS模块本地不存在预缓存解析结果,则LDNS模块将上述域名解析请求转发至DNS模块。
步骤S200,根据域名解析请求从加速服务模块中选取多个可用服务模块并确定负载能力参数,负载能力参数用于表征各个可用服务模块之间的负载能力比。
在一实施例中,DNS模块能够根据由LDNS模块发送的域名解析请求确定域名解析结果,并将该域名解析结果发送至LDNS模块。
在一实施例中,DNS模块能够获取加速服务模块的实时性能参数,并根据加速服务模块的实时性能参数和权重系数判断加速服务模块的可用性,以便从加速服务模块中选取可用服务模块。
具体地,DNS模块能够确定各个加速服务模块的权重系数,并根据权重系数和预设调度策略从加速服务模块中选取多个可用服务模块。
需要说明的是,本发明实施例的预设调度策略,包括但不限于以下一种或多种影响因素:业务类型、地理位置、容灾要求、IP地址池和域名解析请求类型。
具体地,预设调度策略能够根据上述影响因素中的一个或多个影响因素从所有加速服务模块中选取可用服务模块,例如,当选取地理位置作为预设调度策略的影响因素,若发起域名解析请求的用户终端的地理位置与加速服务模块中的一部分位于同一地理空间范围内,则选取此部分的加速服务模块作为可用服务模块,以此保证可用服务模块的响应速度。
具体地,权重系数用于表征向加速服务模块分配负载的偏好程度,例如,用于提供同样的内容加速服务的两个加速服务模块,若其中一个加速服务模块的权重系数大于另一加速服务模块的权重系数,则在其余影响因素相同的情况下,CDN调度系统优先向权重系数更大的加速服务模块分配负载。
具体地,权重系数由业务引入总量和包括所有加速服务模块的加速服务模块集合所确定,业务引入总量用于表示引入包括该加速服务模块集合的CDN调度系统的所有业务类型,由于不同的加速服务模块对于不同业务类型的加速性能不一致,因此需要根据业务引入总量和加速服务模块集合具体确定各个加速服务模块的权重系数。
步骤S300,根据域名解析请求和负载能力参数确定域名解析结果,域名解析结果携带有对应于各个可用服务模块的服务地址,且各个可用服务模块对应的服务地址的数量之比对应于负载能力参数。
由于终端设备是根据域名解析结果携带的服务地址与可用服务模块建立内容加速服务,而域名解析结果所携带的对应于各个可用服务模块的服务地址数量之比对应于负载能力参数所表征的各个可用服务模块的负载能力之比,因此本发明实施例能够均衡内容分发网络中的各个可用服务模块的负载,使得各个可用服务模块的负载与自身的负载能力相匹配。
步骤S400,将域名解析结果发送至LDNS模块,以使LDNS模块能够根据域名解析结果向终端设备发送服务地址。
在一实施例中,终端设备能够根据服务地址与对应于该服务地址的可用服务模块建立内容加速服务。
在一实施例中,服务地址是可用服务模块的IP地址。
通过从CDN调度系统的加速服务模块中选取多个可用服务模块并确定可用服务模块的负载能力参数,能够得知各个可用服务模块之间的负载能力之比,此外,域名解析结果由域名解析请求和负载能力参数所共同确定,以使得域名解析结果所携带的对应于各个可用服务模块的服务地址数量之比对应于负载能力参数所表征的各个可用服务模块的负载能力之比;由于终端设备是根据域名解析结果携带的服务地址与可用服务模块建立内容加速服务,而域名解析结果所携带的对应于各个可用服务模块的服务地址数量之比对应于负载能力参数所表征的各个可用服务模块的负载能力之比,因此本发明实施例能够均衡内容分发网络中的各个可用服务模块,也即各个加速服务器组的负载,从而提高内容分发网络的效率。
如图3所示,图3是本发明一个实施例提供的从加速服务模块中选取多个可用服务模块的具体流程图,在图3的示例中,步骤S200包括但不限于步骤S210和步骤S220:
步骤S210,确定各个加速服务模块的权重系数;
步骤S220,根据权重系数和预设调度策略从加速服务模块中选取多个可用服务模块。
在一实施例中,DNS模块能够获取加速服务模块的实时性能参数,并根据加速服务模块的实时性能参数和权重系数判断加速服务模块的可用性,以便从加速服务模块中选取可用服务模块。
具体地,DNS模块能够确定各个加速服务模块的权重系数,并根据权重系数和预设调度策略从加速服务模块中选取多个可用服务模块。
需要说明的是,本发明实施例的预设调度策略,包括但不限于以下一种或多种影响因素:业务类型、地理位置、容灾要求、IP地址池和域名解析请求类型。
具体地,预设调度策略能够根据上述影响因素中的一个或多个影响因素从所有加速服务模块中选取可用服务模块,例如,当选取地理位置作为预设调度策略的影响因素,若发起域名解析请求的用户终端的地理位置与加速服务模块中的一部分位于同一地理空间范围内,则选取此部分的加速服务模块作为可用服务模块,以此保证可用服务模块的响应速度。
具体地,权重系数用于表征向加速服务模块分配负载的偏好程度,例如,用于提供同样的内容加速服务的两个加速服务模块,若其中一个加速服务模块的权重系数大于另一加速服务模块的权重系数,则在其余影响因素相同的情况下,CDN调度系统优先向权重系数更大的加速服务模块分配负载。
具体地,权重系数由业务引入总量和包括所有加速服务模块的加速服务模块集合所确定,业务引入总量用于表示引入包括该加速服务模块集合的CDN调度系统的所有业务类型,由于不同的加速服务模块对于不同业务类型的加速性能不一致,因此需要根据业务引入总量和加速服务模块集合具体确定各个加速服务模块的权重系数。
如图4所示,图4是图3中步骤S220的具体流程图,在图4的示例中,步骤S220包括但不限于步骤S221、步骤S222和步骤S223:
步骤S221,根据权重系数和预设调度策略确定分级调度策略;
步骤S222,根据分级调度策略从各个加速服务模块中选取多个待用服务模块;
步骤S223,根据分级调度策略从待用服务模块中选取多个可用服务模块。
在一实施例中,分级调度策略用于从加速服务模块中选取待用服务模块,再从待用服务模块中选取可用服务模块,未被选作可用服务模块的待用服务模块可以作为可用服务模块在无法正常工作时的备份,从而提高了稳定性。
具体地,分级调度策略的影响因素包括但不限于以下一种或多种:业务类型、地理位置、容灾要求、IP地址池和域名解析请求类型。
具体地,分级调度策略能够根据上述影响因素中的一个或多个影响因素从所有加速服务模块中选取待用服务模块,例如,当选取地理位置作为预设调度策略的影响因素,若发起域名解析请求的用户终端的地理位置与加速服务模块中的一部分位于相同或相邻的地理空间范围内,则选取此部分的加速服务模块作为待用服务模块。
具体地,分级调度策略能够根据上述影响因素中的一个或多个影响因素从所有待用服务模块中选取可用服务模块,例如,当选取地理位置作为预设调度策略的影响因素,若发起域名解析请求的用户终端的地理位置与加速服务模块中的一部分位于相同或相邻的地理空间范围内,则选取此部分的加速服务模块作为待用服务模块;并且,再选取与发起域名解析请求的用户终端的地理位置位于相同的地理空间范围的待用服务模块作为可用服务模块,因此选取的可用服务模块由于和用户终端的地理位置出于同一地理空间范围,因此在所有加速服务模块中有着最快的相应速度,而未被选为可用服务模块的待用服务模块,其响应速度低于可用服务模块,因此可以作为可用服务模块的备份,从而能够在保证响应速度的情况下提升容灾能力。
如图5所示,图5是图4中步骤S223的具体流程图,在图5的示例中,步骤S223还包括但不限于步骤S224、步骤S225和步骤S226:
步骤S224,根据分级调度策略将待用服务模块分为第一待用模块和第二待用模块;
步骤S225,将第一待用模块作为可用服务模块;
步骤S226,当第一待用模块发生异常,选取第二待用模块替代发生异常的第一待用模块作为可用服务模块。
需要说明的是,上述分级调度策略不限于仅将待用服务模块分为两级,例如,待用服务模块还可以分为第一待用模块、第二待用模块和第三待用模块,若第一待用模块异常,而第二待用模块也均出现异常,则可以选取第三待用模块替代发生异常的第一待用模块作为可用服务模块。
如图6所示,图6是本发明一个实施例提供的确定负载能力参数的具体流程图,在图6的示例中,步骤S200还包括但不限于步骤S230和步骤S240:
步骤S230,获取可用服务模块的负载能力上限信息;
步骤S240,根据负载能力上限信息和权重系数确定负载能力参数。
在一实施例中,负载能力参数是根据可用服务模块的负载能力上限信息和权重系数确定的,负载能力上限信息用于表征可用服务模块所能承受的最大负载,以避免可用服务模块被分配的负载超出该可用服务模块的负载能力,从而提高了CDN调度系统的稳定性。
如图7所示,图7是本发明一个实施例提供的根据域名解析请求和负载能力参数确定域名解析结果的具体流程图,在图7的示例中,步骤S300包括但不限于步骤S310、步骤S320、步骤S330和步骤S340:
步骤S310,根据域名解析请求确定地址总数;
步骤S320,根据负载能力参数和负载能力上限信息确定分配参数,分配参数用于表征各个可用服务模块需负载的地址数之比;
步骤S330,根据地址总数和分配参数确定各个可用服务模块需负载的地址数目;
步骤S340,根据域名解析请求和地址数目确定域名解析结果。
在一实施例中,域名解析结果由域名解析请求和负载能力参数所共同确定,以使得域名解析结果所携带的对应于各个可用服务模块的服务地址数量之比对应于负载能力参数所表征的各个可用服务模块的负载能力之比;由于终端设备是根据域名解析结果携带的服务地址与可用服务模块建立内容加速服务,而域名解析结果所携带的对应于各个可用服务模块的服务地址数量之比对应于负载能力参数所表征的各个可用服务模块的负载能力之比,因此本发明实施例能够均衡内容分发网络中的各个可用服务模块,也即各个加速服务器组的负载,从而提高内容分发网络的效率。
在一实施例中,分配参数用于表征各个可用服务模块需负载的地址数之比,由于在根据负载能力参数分配各可用服务模块需负载的服务地址数目时,可能出现可用服务模块被分配的负载超出其负载能力上限的情况,因此通过确定分配参数,能够将超出服务模块负载能力上限的部分负载转移至未超过负载能力上限的可用服务模块,从而提高了CDN调度系统的稳定性。
如图8所示,图8是本发明另一实施例提供的负载均衡方法的流程图,应用于CDN调度系统的LDNS模块,在图8的示例中,本发明实施例的负载均衡方法包括但不限于步骤S500和步骤S600。
步骤S500,接收由DNS模块发送的域名解析结果,域名解析结果携带有多个可用服务模块分别对应的服务地址,可用服务模块由DNS模块从多个加速服务模块中选取,且各个可用服务模块对应的服务地址的数量之比与各个服务模块之间的负载能力之比对应;
步骤S600,根据域名解析结果得到服务地址,并将服务地址发送至终端设备,以使终端设备能够根据服务地址与加速服务模块之间建立内容加速服务。
由于域名解析结果携带有对应于各个可用服务模块的服务地址,且各个可用服务模块对应的服务地址的数量之比对应于负载能力参数,因此在域名解析结果携带的服务地址分配完成后,各个可用服务模块的终端设备连接数量对应于负载能力参数,从而能够实现各个可用服务模块之间的负载均衡,例如,在有两个可用服务模块,且负载能力参数表征的负载能力比为3:2,DNS模块发送至LDNS模块的域名解析结果中有500个IP地址的情况下,对应于一个可用服务模块的IP地址有300个,对应于另一个可用服务模块的IP地址有200个,在将域名解析结果中所有的IP地址发送至终端设备,并由终端设备与上述可用服务模块建立连接后,两个服务模块的连接数目之比为3:2,达到了各可用服务模块的连接数目,也即各可用服务模块之间的负载对应于负载能力参数以实现负载均衡的效果。
如图9所示,图9是本发明另一实施例提供的负载均衡方法的流程图,在图9的示例中,本发明实施例的负载均衡方法包括但不限于步骤S700、步骤S800和步骤S900。
步骤S700,接收由终端设备发送的域名解析请求;
步骤S800,响应于域名解析请求,查找LDNS模块本地是否存在对应于域名解析请求的预缓存解析结果,预缓存解析结果由LDNS模块将域名解析结果缓存于LDNS模块本地而得到;
步骤S900,当LDNS模块本地不存在预缓存解析结果,将域名解析请求转发至DNS模块。
在一实施例中,LDNS模块能够接收由用户终端发送的域名解析请求,从而根据域名解析请求查找LDNS模块本地是否缓存有对应于该域名解析请求的预缓存解析结果,若LDNS模块本地存在预缓存解析结果,则向用户终端发送该预缓存解析结果所表征的服务地址,以使用户终端能够根据该服务地址与对应于该服务地址的加速服务模块之间建立内容加速服务。若LDNS模块本地不存在预缓存解析结果,则LDNS模块将上述域名解析请求转发至DNS模块,并从DNS模块获取域名解析结果并缓存该域名解析结果。
如图10所示,图10是本发明另一实施例提供的负载均衡方法的流程图,在图10的示例中,本发明实施例的负载均衡方法包括但不限于步骤S1000和步骤S1100。
步骤S1000,当LDNS模块本地存在预缓存解析结果,根据预缓存解析结果得到服务地址;
步骤S1100,将服务地址发送至终端设备,以使终端设备能够根据服务地址与加速服务模块之间建立内容加速服务。
在一实施例中,LDNS模块将DNS模块发送的域名解析结果缓存,预缓存解析结果即为上述缓存在LDNS模块本地的域名解析结果,在预缓存解析结果的缓存期间内,LDNS模块每次接收到对应于预缓存解析结果的域名解析请求,则根据预缓存解析结果向终端设备发送服务地址,由于预缓存解析结果携带有对应于各个可用服务模块的服务地址,且各个可用服务模块对应的服务地址的数量之比对应于负载能力参数,因此在预缓存解析结果携带的服务地址分配完成后,各个可用服务模块的终端设备连接数量对应于负载能力参数,从而能够实现各个可用服务模块之间的负载均衡。
另外,参照图11,图11是本发明一个实施例提供的网络设备200的示意图,在图11的示例中,该设备包括:存储器220、处理器210及存储在存储器220上并可在处理器210上运行的计算机程序。
处理器210和存储器220可以通过总线或者其他方式连接。
存储器220作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器220可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器220可选包括相对于处理器210远程设置的远程存储器,这些远程存储器可以通过网络连接至该处理器210。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述实施例的负载均衡方法所需的非暂态软件程序以及指令存储在存储器220中,当被处理器210执行时,执行上述实施例中的负载均衡方法,例如,执行以上描述的图2至图7或图8至图10中的方法步骤。
此外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述装置实施例或设备实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的负载均衡方法,例如,执行以上描述的图2至图7或图8至图10中的方法步骤。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
Claims (11)
1.负载均衡方法,应用于CDN调度系统的DNS模块,所述CDN调度系统包括所述DNS模块、LDNS模块和多个加速服务模块;
所述方法包括:
接收由所述LDNS模块发送的域名解析请求;
根据所述域名解析请求从所述加速服务模块中选取多个可用服务模块并确定负载能力参数,所述负载能力参数用于表征各个所述可用服务模块之间的负载能力比;
根据所述域名解析请求和所述负载能力参数确定域名解析结果,所述域名解析结果携带有对应于各个所述可用服务模块的服务地址,且各个所述可用服务模块对应的所述服务地址的数量之比对应于所述负载能力参数;
将所述域名解析结果发送至所述LDNS模块,以使所述LDNS模块能够根据所述域名解析结果向终端设备发送所述服务地址。
2.根据权利要求1所述的负载均衡方法,其特征在于,根据所述域名解析请求从所述加速服务模块中选取多个可用服务模块,包括:
确定各个所述加速服务模块的权重系数;
根据所述权重系数和预设调度策略从所述加速服务模块中选取多个所述可用服务模块。
3.根据权利要求2所述的负载均衡方法,其特征在于,根据所述权重系数和预设调度策略从所述加速服务模块中选取多个所述可用服务模块,包括:
根据所述权重系数和预设调度策略确定分级调度策略;
根据所述分级调度策略从各个所述加速服务模块中选取多个待用服务模块;
根据所述分级调度策略从所述待用服务模块中选取多个所述可用服务模块。
4.根据权利要求3所述的负载均衡方法,其特征在于,所述根据所述分级调度策略从所述待用服务模块中选取多个所述可用服务模块,包括:
根据所述分级调度策略将所述待用服务模块分为第一待用模块和第二待用模块;
将所述第一待用模块作为可用服务模块;
当所述第一待用模块发生异常,选取所述第二待用模块替代发生异常的所述第一待用模块作为可用服务模块。
5.根据权利要求2所述的负载均衡方法,其特征在于,所述确定负载能力参数,包括:
获取所述可用服务模块的负载能力上限信息;
根据所述负载能力上限信息和所述权重系数确定所述负载能力参数。
6.根据权利要求5所述的负载均衡方法,其特征在于,所述根据所述域名解析请求和所述负载能力参数确定域名解析结果,包括:
根据所述域名解析请求确定地址总数;
根据所述负载能力参数和所述负载能力上限信息确定分配参数,所述分配参数用于表征各个所述可用服务模块需负载的地址数之比;
根据所述地址总数和所述分配参数确定各个所述可用服务模块需负载的地址数目;
根据所述域名解析请求和所述地址数目确定所述域名解析结果。
7.负载均衡方法,应用于CDN调度系统的LDNS模块,所述CDN调度系统包括DNS模块、所述LDNS模块和多个加速服务模块;
所述方法包括:
接收由所述DNS模块发送的域名解析结果,所述域名解析结果携带有多个可用服务模块分别对应的服务地址,所述可用服务模块由所述DNS模块从多个所述加速服务模块中选取,且各个所述可用服务模块对应的所述服务地址的数量之比与各个所述服务模块之间的负载能力之比对应;
根据所述域名解析结果得到服务地址,并将所述服务地址发送至终端设备,以使所述终端设备能够根据所述服务地址与所述加速服务模块之间建立内容加速服务。
8.根据权利要求7所述的负载均衡方法,其特征在于,还包括:
接收由所述终端设备发送的域名解析请求;
响应于所述域名解析请求,查找所述LDNS模块本地是否存在对应于所述域名解析请求的预缓存解析结果,所述预缓存解析结果由所述LDNS模块将所述域名解析结果缓存于所述LDNS模块本地而得到;
当所述LDNS模块本地不存在所述预缓存解析结果,将所述域名解析请求转发至所述DNS模块。
9.根据权利要求8所述的负载均衡方法,其特征在于,还包括:
当所述LDNS模块本地存在所述预缓存解析结果,根据所述预缓存解析结果得到所述服务地址;
将所述服务地址发送至所述终端设备,以使所述终端设备能够根据所述服务地址与所述加速服务模块之间建立内容加速服务。
10.网络设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6或权利要求7至9中任意一项所述的负载均衡方法。
11.计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至6或权利要求7至9中任意一项所述的负载均衡方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111366792.0A CN116137624A (zh) | 2021-11-18 | 2021-11-18 | 负载均衡方法、设备及计算机可读存储介质 |
PCT/CN2022/113706 WO2023087820A1 (zh) | 2021-11-18 | 2022-08-19 | 负载均衡方法、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111366792.0A CN116137624A (zh) | 2021-11-18 | 2021-11-18 | 负载均衡方法、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116137624A true CN116137624A (zh) | 2023-05-19 |
Family
ID=86333175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111366792.0A Pending CN116137624A (zh) | 2021-11-18 | 2021-11-18 | 负载均衡方法、设备及计算机可读存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116137624A (zh) |
WO (1) | WO2023087820A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7707314B2 (en) * | 2005-11-21 | 2010-04-27 | Limelight Networks, Inc. | Domain name resolution resource allocation |
CN102055818B (zh) * | 2010-12-30 | 2013-09-18 | 北京世纪互联宽带数据中心有限公司 | 分布式智能dns库系统 |
CN104363313B (zh) * | 2014-12-02 | 2018-09-18 | 网宿科技股份有限公司 | 使用内容分发网络的网站的资源使用率保障方法和系统 |
CN104836732B (zh) * | 2015-03-31 | 2018-06-19 | 清华大学 | 网络连接的自动选择方法及系统 |
CN113301074A (zh) * | 2020-04-26 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据请求负载调度方法、装置、电子设备及可读存储介质 |
CN112653727A (zh) * | 2020-12-07 | 2021-04-13 | 深圳市高德信通信股份有限公司 | 一种基于cdn技术的网络数据负载管理方法 |
-
2021
- 2021-11-18 CN CN202111366792.0A patent/CN116137624A/zh active Pending
-
2022
- 2022-08-19 WO PCT/CN2022/113706 patent/WO2023087820A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023087820A1 (zh) | 2023-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11811657B2 (en) | Updating routing information based on client location | |
US10404790B2 (en) | HTTP scheduling system and method of content delivery network | |
CN111464649B (zh) | 一种访问请求回源方法和装置 | |
EP3567881A2 (en) | Request routing and updating routing information utilizing client location information | |
CN106464731A (zh) | 利用分层边缘服务器的负载平衡 | |
RU2464722C2 (ru) | Способ, устройство и система для распределения сообщений | |
CN107635015B (zh) | 移动终端与服务器端链接的最优路径选择系统及方法 | |
CN101610222A (zh) | 基于客户端的服务器选择方法及装置 | |
CN106941507A (zh) | 请求消息的调度方法及装置 | |
CN110166526B (zh) | 多cdn接入管理方法、装置、计算机设备及存储介质 | |
US11888946B2 (en) | Methods, systems, and computer readable media for applying or overriding preferred locality criteria in processing network function (NF) discovery requests | |
WO2021042673A1 (zh) | Dns解析方法、权威dns服务器和dns解析系统 | |
CN112256495A (zh) | 数据传输方法、装置、计算机设备及存储介质 | |
CN106657183A (zh) | 缓存加速的方法及装置 | |
CN105610930A (zh) | 一种基于dns的数据优选方法 | |
CN112738288A (zh) | Dns域名解析方法、dns服务器、gslb系统及域名解析系统 | |
CN113301079B (zh) | 一种数据的获取方法、系统、计算设备及存储介质 | |
CN116137624A (zh) | 负载均衡方法、设备及计算机可读存储介质 | |
CN111510958A (zh) | 一种消息接入负载均衡方法及系统 | |
CN113038452A (zh) | 用户数据系统管理方法、通信设备及存储介质 | |
CN115277851B (zh) | 业务请求处理方法及系统 | |
CN116208614A (zh) | 资源负载均衡方法及装置 | |
CN114710548A (zh) | 报文转发方法及装置 | |
CN117812037A (zh) | 一种基于nat的访问控制方法以及nat设备 | |
CN117255121A (zh) | 用户请求分发方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |