基于dns的分组负载均衡方法、设备及系统的制作方法

文档序号:7810797阅读:245来源:国知局
基于dns的分组负载均衡方法、设备及系统的制作方法
【专利摘要】一种基于DNS的分组负载均衡方法、设备及系统。所述方法包括如下步骤:在接收到用户的DNS解析请求报文后,提取DNS解析请求报文的源IP地址和待解析域名字符串;根据待解析域名字符串查找匹配的域名虚拟服务节点;根据源IP地址在匹配的虚拟服务节点绑定的多个服务器池中查找匹配的服务器池;根据匹配的服务器池的调度算法从服务器池中调度出提供服务的实体服务器节点;将提供服务的实体服务器节点的IP地址作为DNS解析结果返回给用户。本发明通过源IP地址查找服务器池,依据用户来路来确认用户所在网络,以便选择更优的网络资源,进而能够均衡服务器资源,通过合理分配服务器端的资源,使得服务提供商的服务器资源得到最合理的利用,为^用户提供更优质的服务。N1
【专利说明】基于DNS的分组负载均衡方法、设备及系统

【技术领域】
[0001] 本发明涉及服务器【技术领域】,特别涉及一种基于DNS的分组负载均衡方法、设备 及系统。

【背景技术】
[0002] 现有的智能DNS (Domain Name System,域名系统)或者是DNS负载均衡技术只支 持根据用户的IP地址选择用户所在运营商网络或者所在地域的服务器为用户提供服务, 而不能够根据服务器的处理能力进行合理的分配负载,进而不能使得服务提供商的服务器 资源得到最合理的分配利用。


【发明内容】

[0003] 本发明鉴于上述情况而作出,其目的是提供一种基于DNS的分组负载均衡方法, 该方法通过源IP地址查找服务器池,从而依据用户来路来确认用户所在网络,以便选择更 优的网络资源,进而能够均衡服务器资源,能够合理分配服务器端的资源,使得服务提供商 的服务器资源得到最合理的利用,为用户提供更优质的服务。
[0004] 为实现上述目的,本发明提供一种基于DNS的分组负载均衡方法,包括如下步骤:
[0005] 在接收到用户的DNS解析请求报文后,提取所述DNS解析请求报文的源IP地址和 待解析域名字符串;
[0006] 根据所述待解析域名字符串查找匹配的域名虚拟服务节点,其中,每个所述虚拟 服务节点绑定有多个服务器池;
[0007] 根据所述源IP地址在匹配的虚拟服务节点绑定的多个服务器池中查找匹配的服 务器池,其中,每个服务器池配置有对应的调度算法且每个服务器池绑定有多个实体服务 器节点;
[0008] 根据查找到的匹配的服务器池的调度算法从所述服务器池中调度出提供服务的 实体服务器节点;以及
[0009] 将该提供服务的实体服务器节点的IP地址作为DNS解析结果返回给所述用户。
[0010] 根据本发明的一个方面,在提取DNS解析请求报文的源IP地址和待解析域名字符 串之前,还包括如下步骤:对所述DNS解析请求报文的合法性和安全性进行检测。
[0011]根据本发明的另一个方面,所述调度算法至少为:轮询调度、基于权重值的调度或 者基于源IP地址的hash调度中的任一种。
[0012]根据本发明的再一个方面,采用源IP地址匹配地址列表的方式查找匹配的服务 器池。
[0013] 本发明提供的基于DNS的分组负载均衡方法,可以根据用户DNS请求报文的源IP 地址来识别来路进行智能应答DNS请求,即通过源IP地址查找服务器池,从而依据用户来 路来确认用户所在网络,以便选择更优的网络资源,并且在智能解析 DNS选择最优网络资 源的同时增加了对服务器资源的负载均衡处理,从而不仅实现为用户提供了最优的选路, 还可以根据服务提供商的服务器处理性能不同进而合理分配服务器端的资源,使得服务提 供商的服务器资源得到最合理的利用,为用户提供更优质的服务。同时,本发明通过灵活的 配置可以满足服务器提供商的服务器部署情况,从而决定是基于运行商划分服务器组还是 基于地域划分服务器组,合理的资源划分可以为用户提供更优质的网络服务。
[0014] 本发明的另一个目的是提供一种基于DNS的分组负载均衡设备,该设备可以合理 分配服务器端的资源,使得服务提供商的服务器资源得到最合理的利用,为用户提供更优 质的服务。
[0015] 为实现上述目的,本发明提供一种基于DNS的分组负载均衡设备,包括:通信模 块,用于接收用户的DNS解析请求报文;提取模块,所述提取模块与所述通信模块相连,用 于提取所述DNS解析请求报文的源IP地址和待解析域名字符串;域名虚拟服务节点查找模 块,所述域名虚拟服务节点查找模块与所述提取模块相连,用于根据所述待解析域名字符 串查找匹配的域名虚拟服务节点;服务器池查找模块,所述服务器池查找模块与所述域名 虚拟服务节点查找模块相连,用于根据所述源IP地址在匹配的虚拟服务节点绑定的多个 服务器池中查找匹配的服务器池,其中,每个所述虚拟服务节点绑定有多个服务器池,每个 服务器池配置有对应的调度算法且每个服务器池绑定有多个实体服务器节点;调度模块, 所述调度模块与通信模块和所述服务器池查找模块相连,用于根据查找到的匹配的服务器 池的调度算法从所述服务器池中调度出提供服务的实体服务器节点,并将所述实体服务器 节点的IP地址发送给所述通信模块,所述通信模块将该实体服务器节点的IP地址作为DNS 解析结果返回给所述用户。
[0016] 根据本发明的一个方面,所述通信模块还用于对接收到的所述DNS解析请求报文 的合法性和安全性进行检测,并将检测通过的DNS解析请求报文发送至所述提取模块。
[0017] 根据本发明的另一个方面,所述调度算法至少为:轮询调度、基于权重值的调度或 者基于源IP地址的hash调度中的任一种。
[0018] 根据本发明的再一个方面,所述服务器池查找模块采用源IP地址匹配地址列表 的方式查找匹配的服务器池。
[0019] 本发明提供的基于DNS的分组负载均衡设备,可以根据用户DNS请求报文的源IP 地址来识别来路进行智能应答DNS请求,即通过源IP地址查找服务器池,从而依据用户来 路来确认用户所在网络,以便选择更优的网络资源,并且在智能解析DNS选择最优网络资 源的同时增加了对服务器资源的负载均衡处理,从而不仅实现为用户提供了最优的选路, 还可以根据服务提供商的服务器处理性能不同进而合理分配服务器端的资源,使得服务提 供商的服务器资源得到最合理的利用,为用户提供更优质的服务。同时,本发明通过灵活的 配置可以满足服务器提供商的服务器部署情况,从而决定是基于运行商划分服务器组还是 基于地域划分服务器组,合理的资源划分可以为用户提供更优质的网络服务。
[0020]本发明的又一个目的是提供一种基于DNS的分组负载均衡系统,该系统可以合理 分配服务器端的资源,使得服务提供商的服务器资源得到最合理的利用,为用户提供更优 质的服务。
[0021]为实现上述目的,本发明提供一种基于DNS的分组负载均衡系统,包括:多个服务 器池,其中,每个服务器池配置有对应的调度算法且绑定有多个实体服务器节点;本发明上 述实施方式提供的基于DNS的分组负载均衡设备,所述基于DNS的分组负载均衡设备与每 个所述服务器池进行通信。
[0022] 本发明提供的基于DNS的分组负载均衡系统,可以根据用户DNS请求报文的源IP 地址来识别来路进行智能应答DNS请求,即通过源IP地址查找服务器池,从而依据用户来 路来确认用户所在网络,以便选择更优的网络资源,并且在智能解析DNS选择最优网络资 源的同时增加了对服务器资源的负载均衡处理,从而不仅实现为用户提供了最优的选路, 还可以根据服务提供商的服务器处理性能不同进而合理分配服务器端的资源,使得服务提 供商的服务器资源得到最合理的利用,为用户提供更优质的服务。同时,本发明通过灵活的 配置可以满足服务器提供商的服务器部署情况,从而决定是基于运行商划分服务器组还是 基于地域划分服务器组,合理的资源划分可以为用户提供更优质的网络服务。

【专利附图】

【附图说明】
[0023]图1是根据本发明一个实施方式的基于DNS的分组负载均衡方法的流程图; [0024]图2是根据本发明另一个实施方式的基于DNS的分组负载均衡方法的流程图;
[0025] 图3为根据本发明实施方式的基于DNS的分组负载均衡设备的结构图;
[0026] 图4为根据本发明实施方式的基于DNS的分组负载均衡系统的结构图。

【具体实施方式】
[0027]为使本发明的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参 照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发 明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本 发明的概念。
[0028] 图1是根据本发明一个实施方式的基于DNS的分组负载均衡方法的流程图。
[0029] 如图1所示,本发明实施方式提供的基于DNS的分组负载均衡方法,包括如下步 骤:
[0030] 首先,步骤s 11,在接收到用户的DNS解析请求报文后,提取DNS解析请求报文的源 IP地址和待解析域名字符串。
[0031] 在本发明的实施方式中,在提取DNS解析请求报文的源IP地址和待解析域名字符 串之前,还包括如下步骤:对DNS解析请求报文的合法性和安全性进行检测。在判断DNS解 析请求报文的检测通过后,提取该DNS解析请求报文的源IP地址和待解析域名字符串。 [0032]接着,步骤S12,根据待解析域名字符串查找匹配的域名虚拟服务节点。
[0033]域名虚拟服务是一个域名的服务节点,该节点具有域名字符串和绑定服务器池的 指针链表等属性。在一个设备上可以同时存在有多个域名虚拟服务节点,并且所有的域名 虚拟服务节点均存储在一个hash链表上。其中,每个虚拟服务节点可以同时绑定有多个服 务器池。
[0034]具体来说,由于如上所述,一个域名虚拟服务hash链表上存储着所有的域名虚拟 服务节点,而每个域名虚拟服务节点具有域名字符串和绑定服务器池的指针链表等属性, 因此,在本步骤中,根据步骤S11中提取的待解析域名字符串在该域名虚拟服务 hash链表 上查找匹配的域名虚拟服务节点。
[0035]接着,步骤S13,根据源IP地址在匹配的虚拟服务节点绑定的多个服务器池中查 找匹配的服务器池。
[0036] 服务器池是指多个实体服务器的集合,即一个服务器池里可以绑定多个实体服务 器节点,同时服务器池需要被域名虚拟服务节点引用。其中,实体服务器节点可以理解为一 种为用户提供真实的互联网服务的实体服务器的抽象概念。实体服务器节点包括例如实体 服务器的IP地址、权重值等属性。
[0037] 此外,服务器池除了可以绑定多个实体服务器节点属性外,进一步配置有对应调 度算法属性,由此通过配置上述属性达到合理分配服务器资源的目的。
[0038] 优选的,调度算法为轮询调度、基于权重值调度或者基于源IP地址的hash调度中 的任一种。需要说明的是,调度算法不限于上述举例,还可以根据需要扩展,在此不再赘述。
[0039] 在本发明的实施方式中,服务器池可以通过运营商进行划分。以两个服务器池为 例,一个服务器池用于向电信用户提供服务,该服务器池内的所有服务器均可以向电信用 户提供服务;另一个服务器池用于向联通用户提供服务,该服务器池内的所有服务器均可 以向联通用户提供服务。
[0040] 如上所述,由于实体服务器节点包含例如实体服务器的IP地址,因此,在本步骤 S13中,根据步骤S12返回的域名虚拟服务节点,以及步骤S11中提取的DNS解析请求报文 的源IP地址,在域名虚拟服务节点所引用的所有服务器池中查找匹配的服务器池,即查找 可以为用户提供网络服务的服务器池。
[0041] 更具体而言,在本发明的实施方式中,采用源IP地址匹配地址列表的方式查找匹 配的服务器池。
[0042] 接下来,步骤S14,根据所查找到的匹配的服务器池的调度算法从服务器池中调度 出提供服务的实体服务器节点。
[0043] 如上所述,由于服务器池配置有对应的调度算法属性,通过采用该对应的调度算 法能够合理分配服务器资源。因此,本步骤S14中,根据在步骤S13中所查找到的匹配的服 务器池,采用该服务器池所配置的调度算法调度出可以提供服务的实体服务器节点,并获 取该实体服务器节点的IP地址,也就是明确从匹配的服务器池中调度出具体的一台用于 提供服务的服务器。其中,调度算法至少可以为轮询调度、基于权重值调度或者基于源IP 地址的hash调度中的任一种。例如,本实施方式中,从两个服务器池中首先通过源^地 址查找到电信网络的服务器池,然后在该池内的所有服务器中通过调度算法分配服务器资 源。通过采用该电信网络的服务器池对应的最佳调度算法,为该电信网络用户提供了最优 的选路,能够选择最优的网络资源,并且还根据服务提供商(在本例中为电信网络)的服务 器处理性能的不同,合理地分配了服务器端的资源,使得用户的服务体验更佳。
[0044]具体来说,如果调度算法为轮询调度,则逐一地返回实体服务器地址。如果调度算 法为基于权重值的调度,则根据服务器的处理能力分配权重后,按照权重比例分配服务器 资源。如果调度算法为基于源IP地址的hash调度,则根据hash结果分配服务器资源。 [00 45]最后,步骤S15,将在上述步骤S14中调度出的该提供服务的实体服务器节点的IP 地址作为DNS解析结果返回给用户。
[0046]图2是根据本发明另一个实施方式的基于DNS的分组负载均衡方法的流程图。 [0047] 步骤S21,接收用户的DNS解析请求报文。
[0048]在接收到用户的DNS解析请求报文后,对DNS解析请求报文的合法性和安全性进 行检测。在判断DNS解析请求报文的检测通过后,执行步骤S22。
[0049] 步骤S22,提取DNS解析请求报文的源IP地址和待解析域名字符串。
[0050] 步骤S23,根据待解析域名字符串查找域名虚拟服务节点。
[0051] 由于一个域名虚拟服务hash链表上存储着所有的域名虚拟服务节点,而每个域 名虚拟服务节点具有域名字符串和绑定服务器池的指针链表等属性,因此,可以根据步骤 S22中提取的待解析域名字符串在该域名虚拟服务hash链表上查找匹配的域名虚拟服务 节点。
[0052] 步骤S24,判断待查找域名虚拟服务节点是否存在,如果是,则执行步骤S25,否则 结束动作。
[0053] 步骤S25,根据DNS请求报文的源IP地址查找匹配的服务器池。
[0054] 由于一个服务器池里可以绑定多个实体服务器节点,同时服务器池需要被域名虚 拟服务节点引用。实体服务器节点包含例如实体服务器的IP地址,因此,根据步骤S24返 回的域名虚拟服务节点,以及步骤S22中提取的DNS解析请求报文的源IP地址,在域名虚 拟服务节点所引用的所有服务器池中查找匹配的服务器池,即查找可以为用户提供网络服 务的服务器池。更具体而言,在本发明的实施方式中,采用源IP地址匹配地址列表的方式 查找匹配的服务器池。
[0055] 步骤S26,判断待查找匹配的服务器池是否存在,如果是,则执行步骤S27,否则结 束动作。
[0056] 步骤S27,根据调度算法调度实体服务器节点。
[0057] 在本发明的实施方式中,调度算法可以为轮询调度、基于权重值调度或者基于源 IP地址的hash调度中的任一种。需要说明的是,调度算法不限于上述举例,还可以根据需 要扩展,在此不再赘述。
[0058] 步骤S28,判断是否存在实体服务器节点,如果是,则执行步骤S29,否则结束动 作。
[0059] 步骤S29,将实体服务器节点的IP地址作为DNS解析结果返回给用户。
[0060] 下面以四台web服务器为例对本发明的基于DNS的分组负载均衡方法进行描述。
[0061] 四台web服务器分为两个服务器池,其中一个服务器池部署两台服务器,用于提 供电信网络服务,另一个服务器池部署另外两台服务器,用于提供联通网络服务。当电信网 络的用户访问该公司的网站时,首先,在步骤S21中,接收该电信网络的用户的DNS解析请 求报文,在接收到该电信网络的用户的DNS解析请求报文后,对DNS解析请求报文的合法 性和安全性进行检测。在判断DNS解析请求报文检测通过后,执行步骤S22。接着,在步骤 S22中,提取DNS解析请求报文的源IP地址和待解析域名字符串。通过提取该电信网络的 用户的DNS解析请求报文的源IP地址和待解析域名字符串,在步骤S23中根据待解析域 名字符串查找匹配的域名虚拟服务节点,如果查找到匹配的域名虚拟服务节点,则在步骤 S25中根据源IP地址查找到该电信网络的服务器池,然后在步骤S27中在该电信网络的服 务器池内的两台服务器中通过调度算法分配服务器资源,调度出提供服务的实体服务器节 点。具体来说,首先从两个服务器池中查找到本例中的电信网络的服务器池,然后在该服务 器池内的两台服务器中通过调度算法分配服务器资源。通过采用该电信网络的服务器池对 应的最佳调度算法,为用户提供了最优的选路,能够选择最优的网络资源,并且还根据服务 提供商(在本例中为电信网络)的服务器处理性能的不同,合理地分配了服务器端的资源, 使得用户的服务体验更佳。其中,调度算法例如为轮询调度、基于权重值的调度或基于源IP 地址的hash调度。需要说明的是,调度算法不限于上述举例,还可以根据需要扩展,在此不 再赘述。最后在步骤S29中将该实体服务器节点的IP地址作为DNS解析结果返回给用户。 由于本实施方式的实施原理与上述实施方式相同,因此细节不再赘述。
[0062] 本发明实施方式提供的基于DNS的分组负载均衡方法,可以根据用户DNS请求报 文的源IP地址来识别来路进行智能应答DNS请求,即通过源IP地址查找服务器池,从而依 据用户来路来确认用户所在网络,以便选择更优的网络资源,并且在智能解析DNS选择最 优网络资源的同时增加了对服务器资源的负载均衡处理,从而不仅实现为用户提供了最优 的选路,还可以根据服务提供商的服务器处理性能不同进而合理分配服务器端的资源,使 得服务提供商的服务器资源得到最合理的利用,为用户提供更优质的服务。同时,本发明通 过灵活的配置可以满足服务器提供商的服务器部署情况,从而决定是基于运行商划分服务 器组还是基于地域划分服务器组,合理的资源划分可以为用户提供更优质的网络服务。
[0063] 图3为根据本发明实施方式的基于DNS的分组负载均衡设备的结构图。
[0064] 如图3所示,本发明实施方式提供的基于DNS的分组负载均衡设备包括:通信模块 1、提取模块2、域名虚拟服务节点查找模块3、服务器池查找模块4和调度模块5。
[0065] 通信模块1用于接收用户的DNS解析请求报文,然后对接收到的DNS解析请求报 文的合法性和安全性进行检测,并将检测通过的DNS解析请求报文发送至提取模块2。 [0066] 提取模块2与通信模块1相连,用于提取通信模块1接收到的DNS解析请求报文 的源IP地址和待解析域名字符串。
[0067] 域名虚拟服务节点查找模块3与提取模块2相连,用于根据提取模块2提取的待 解析域名字符串查找匹配的域名虚拟服务节点。
[0068] 域名虚拟服务是一个域名的服务节点,该节点具有域名字符串和绑定服务器池的 指针链表等属性。在一个设备上可以同时存在有多个域名虚拟服务节点,并且所有的域名 虚拟服务节点均存储在一个hash链表上。其中,每个虚拟服务节点可以同时绑定有多个服 务器池。
[0069] 具体来说,由于如上所述,一个域名虚拟服务hash链表上存储着所有的域名虚拟 服务节点,而每个域名虚拟服务节点具有域名字符串和绑定服务器池的指针链表等属性, 因此,域名虚拟服务节点查找模块3可以在该域名虚拟服务hash链表上查找匹配的域名虚 拟服务节点。其中,每个虚拟服务节点绑定有多个服务器池。
[0070] 服务器池可以通过运营商进行划分。以两个服务器池为例,一个服务器池用于向 电信用户提供服务,该服务器池内的所有服务器均可以向电信用户提供服务;另一个服务 器池用于向联通用户提供服务,该服务器池内的所有服务器均可以向联通用户提供服务。
[0071] 服务器池查找模块4与域名虚拟服务节点查找模块3相连,用于根据源IP地址在 匹配的虚拟服务节点绑定的多个服务器池中查找匹配的服务器池。其中,每个服务器池配 置有对应的调度算法且每个服务器池绑定有多个实体服务器节点。优选的,调度算法为轮 询调度、基于权重值调度或者基于源IP地址的hash调度中的任一种。需要说明的是,调度 算法不限于上述举例,还可以根据需要扩展,在此不再赘述。
[0072] 在本发明的实施方式中,服务器池查找模块4采用源IP地址匹配地址列表的方式 查找匹配的服务器池,即查找可以为用户提供网络服务服务器池。
[0073]调度模块5与通信模块1和服务器池查找模块4相连,用于根据服务器池查找模 块4查找到的匹配的服务器池的调度算法从服务器池中调度出提供服务的实体服务器节 点。其中,调度算法至少可以为轮询调度、基于权重值调度或者基于源IP地址的hash调度 中的任一种。例如,本实施方式中,服务器池查找模块4从两个服务器池中首先查找到电信 网络的服务器池,然后调度模块5在该电信网络的服务器池内的所有服务器中通过调度算 法分配服务器资源。通过采用该电信网络的服务器池对应的最佳调度算法,为该电信网络 的用户提供了最优的选路,能够选择最优的网络资源,并且还根据服务提供商(在本例中 为电信网络)的服务器处理性能的不同,合理地分配了服务器端的资源,使得用户的服务 体验更佳。具体来说,如果调度算法为轮询调度,则逐一地返回实体服务器地址。如果调度 算法为基于权重值的调度,则根据服务器的处理能力分配权重后,按照权重比例分配服务 器资源。如果调度算法为基于源IP地址的hash调度,则根据hash结果分配服务器资源。 [0074]调度模块5获取该实体服务器节点的IP地址,将实体服务器节点的 IP地址发送 给通信模块1。通信模块1将该实体服务器节点的IP地址作为DNS解析结果返回给用户。 [0075]本发明实施方式提供的基于DNS的分组负载均衡设备,可以根据用户DNS请求报 文的源IP地址来识别来路进行智能应答DNS请求,即通过源IP地址查找服务器池,从而依 据用户来路来确认用户所在网络,以便选择更优的网络资源,并且在智能解析DNS选择最 优网络资源的同时增加了对服务器资源的负载均衡处理,从而不仅实现为用户提供了最优 的选路,还可以根据服务提供商的服务器处理性能不同进而合理分配服务器端的资源,使 得服务提供商的服务器资源得到最合理的利用,为用户提供更优质的服务。同时,本发明通 过灵活的配置可以满足服务器提供商的服务器部署情况,从而决定是基于运行商划分服务 器组还是基于地域划分服务器组,合理的资源划分可以为用户提供更优质的网络服务。 [0076] 图4为根据本发明实施方式的基于DNS的分组负载均衡系统的结构图。
[0077] 如图4所示,本发明实施方式提供的基于DNS的分组负载均衡系统包括多个服务 器池10和本发明上述实施方式提供的基于DNS的分组负载均衡设备20,其中,基于DNS的 分组负载均衡设备20与每个服务器池10进行通信。
[0078] 具体来说,每个服务器池10配置有对应的调度算法且绑定有多个实体服务器节 点。优选的,调度算法为轮询调度、基于权重值调度或者基于源IP地址的hash调度。需要 说明的是,调度算法不限于上述举例,还可以根据需要扩展,在此不再赘述。
[0079] 基于DNS的分组负载均衡设备20接收用户的DNS解析请求报文,并提取DNS解析 请求报文的源IP地址和待解析域名字符串,然后根据待解析域名字符串查找域名虚拟服 务节点,并且根据DNS请求报文的源IP地址查找服务器池10。在查找到匹配的服务器池 10后,基于DNS的分组负载均衡设备20根据该匹配的服务器池10对应的调度算法调度实 体服务器节点,并将实体服务器节点的IP地址作为DNS解析结果返回给用户。
[0080] 本发明实施方式提供的基于DNS的分组负载均衡系统,可以根据用户DNS请求报 文的源IP地址来识别来路进行智能应答DNS请求,即通过源IP地址查找服务器池,从而依 据用户来路来确认用户所在网络,以便选择更优的网络资源,并且在智能解析DNS选择最 优网络资源的同时增加了对服务器资源的负载均衡处理,从而不仅实现为用户提供了最优 的选路,还可以根据服务提供商的服务器处理性能不同进而合理分配服务器端的资源,使 得服务提供商的服务器资源得到最合理的利用,为用户提供更优质的服务。同时,本发明通 过灵活的配置可以满足服务器提供商的服务器部署情况,从而决定是基于运行商划分服务 器组还是基于地域划分服务器组,合理的资源划分可以为用户提供更优质的网络服务。
[0081]应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的 原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何 修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨 在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修 改例。
【权利要求】
1· 一种基于DNS的分组负载均衡方法,包括如下步骤: 在接收到用户的DNS解析请求报文后,提取所述DNS解析请求报文的源IP地址和待解 析域名字符串; 根据所述待解析域名字符串查找匹配的域名虚拟服务节点,其中,每个所述虚拟服务 节点绑定有多个服务器池; 根据所述源IP地址在匹配的虚拟服务节点绑定的多个服务器池中查找匹配的服务器 池,其中,每个服务器池配置有对应的调度算法且每个服务器池绑定有多个实体服务器节 占. 根据查找到的所述匹配的服务器池的调度算法从所述服务器池中调度出提供服务的 所述实体服务器节点;以及 将该提供服务的实体服务器节点的IP地址作为DNS解析结果返回给所述用户。
2.根据权利要求1所述的基于DNS的分组负载均衡方法,其特征在于, 在提取DNS解析请求报文的源IP地址和待解析域名字符串之前,还包括如下步骤:对 所述DNS解析请求报文的合法性和安全性进行检测。
3·根据权利要求1所述的基于DNS的分组负载均衡方法,其特征在于, 所述调度算法至少为:轮询调度、基于权重值调度或者基于源IP地址的hash调度中的 任一种。
4·根据权利要求1所述的基于DNS的分组负载均衡方法,其特征在于, 采用源IP地址匹配地址列表的方式查找匹配的服务器池。
5. -种基于DNS的分组负载均衡设备,包括: 通信模块,用于接收用户的DNS解析请求报文; 提取模块,所述提取模块与所述通信模块相连,用于提取所述DNS解析请求报文的源 IP地址和待解析域名字符串; 域名虚拟服务节点查找模块,所述域名虚拟服务节点查找模块与所述提取模块相连, 用于根据所述待解析域名字符串查找匹配的域名虚拟服务节点; 服务器池查找模块,所述服务器池查找模块与所述提取模块和所述域名虚拟服务节点 查找模块相连,用于根据所述源IP地址在匹配的虚拟服务节点绑定的多个服务器池中查 找匹配的服务器池,其中,每个所述虚拟服务节点绑定有多个服务器池,每个服务器池配置 有对应的调度算法且每个服务器池绑定有多个实体服务器节点;以及 调度模块,所述调度模块与通信模块和所述服务器池查找模块相连,用于根据查找到 的所述匹配的服务器池的调度算法从所述服务器池中调度出提供服务的实体服务器节点, 并将所述实体服务器节点的IP地址发送给所述通信模块,所述通信模块将该实体服务器 节点的IP地址作为DNS解析结果返回给所述用户。
6. 根据权利要求5所述的基于DNS的分组负载均衡设备,其特征在于, 所述通信模块还用于对接收到的所述DNS解析请求报文的合法性和安全性进行检测, 并将检测通过的DNS解析请求报文发送至所述提取模块。
7. 根据权利要求5所述的基于DNS的分组负载均衡设备,其特征在于, 所述调度算法至少为:轮询调度、基于权重值的调度或者基于源IP地址的hash调度中 的任一种。
8. 根据权利要求5所述的基于DNS的分组负载均衡设备,其特征在于, 所述服务器池查找模块采用源IP地址匹配地址列表的方式查找匹配的服务器池。
9. 一种基于DNS的分组负载均衡系统,包括: 多个服务器池,其中,每个服务器池配置有对应的调度算法且绑定有多个实体服务器 节点;以及 权利要求5至8任一项所述的基于DNS的分组负载均衡设备, 所述基于DNS的分组负载均衡设备与每个所述服务器池进行通信。
【文档编号】H04L12/803GK104219162SQ201410382783
【公开日】2014年12月17日 申请日期:2014年9月10日 优先权日:2014年9月10日
【发明者】刘建兴 申请人:汉柏科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1