首页 / 链路负载均衡方法、装置、设备、系统及计算机存储介质

链路负载均衡方法、装置、设备、系统及计算机存储介质无效专利 发明

技术领域

[0001] 本申请涉及计算机网络负载均衡的技术领域,尤其是涉及一种链路负载均衡方法、装置、设备、系统及计算机存储介质。

相关背景技术

[0002] 随着互联网的飞速发展,内网用户数量以及访问需求量也在激增,单一的链路无法应对大量内网用户的业务压力。可以通过部署链路负载均衡系统,将内网用户访问外网的资源请求报文根据就近分配的原则分配到相同的运营商的链路上,降低跨运营商的影响,以提供更好的外网访问服务。
[0003] 在现有的负载均衡系统中,当内网用户访问教育网络、视频网络、国外网络地址、游戏网络这类专线网络时,资源请求报文均需要通过专线链路转发,但是,根据上述的就近分配原则,资源请求报文可能从其他专线网络对应的专线链路转发,而不是从自身对应的专线链路转发,其负载均衡效果差。

具体实施方式

[0023] 以下结合附图对本申请作进一步详细说明。
[0024] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0025] 本实施例提供一种链路负载均衡方法,该链路负载均衡方法可由负载均衡设备或负载均衡设备中的处理器执行,在本实施例中以负载均衡设备为例进行说明。
[0026] 如图1所示,本申请实施例提供一种链路负载均衡方法,方法的主要流程描述如下(步骤S101~S104):步骤S101,接收用户终端发送的资源请求报文,并提取资源请求报文中的目的主机IP地址;
在本实施例中,用户终端可以是智能手机、平板电脑、台式计算机等,但并不局限于此。
[0027] 在用户终端发送资源请求报文之前,用户终端还会发送包含域名信息的DNS请求报文,以获取该域名信息对应的目的主机IP地址。因此,如图2所示,在步骤S101之前,还包括以下步骤:步骤S201,接收用户终端发送的DNS请求报文,并从DNS请求报文中提取域名信息;
步骤S202,基于映射关系表查询是否存在与域名信息对应的目的主机IP地址,若是,则转入步骤S203,否则转入骤S204;
步骤S203,向用户终端发送包含与域名信息对应的目的主机IP地址的DNS响应报文;
步骤S204,向DNS服务器转发DNS请求报文,并接收DNS服务器返回的DNS响应报文;
步骤S205,从DNS响应报文中提取域名信息以及与域名信息对应的目的主机IP地址;
步骤S206,若域名信息与预先配置的专线域名组内的专线域名信息相匹配,则基于域名信息和与目的主机IP地址的映射关系更新映射关系表。
[0028] 在本实施例中,负载均衡设备预先配置至少一个专线域名组,每个专线域名组内预先配置至少一个专线域名信息,例如,专线域名组可以包含教育网络域名组、国外网络域名组、视频网络域名组、游戏网络域名组中的一种或多种,当然,还可以包含其他类型的专线域名组,本实施例不做具体限定。每个专线域名组所包含的专线域名信息是属于同一网络类型的,例如教育网络域名组所包含的专线域名信息都是属于教育网络的,这些专线域名信息必须要包含指示教育网络的二级域名,例如,*.edu.*、www.abc.edu。
[0029] 当负载均衡设备首次接收用户终端发送的DNS请求报文时,负载均衡设备将接收到的DNS请求报文转发给DNS服务器,并接收DNS服务器返回的DNS响应报文,负载均衡设备提取DNS响应报文中的A记录或AAAA记录,A记录或AAAA记录包含域名信息和与域名信息对应的目的主机IP地址的映射关系,A记录用于记录域名信息与IPV4地址的映射关系,AAAA记录用于记录域名信息与IPV6地址的映射关系。
[0030] 若预先配置的专线域名组内的专线域名信息包含DNS响应报文中的域名信息,则判定域名信息与预先配置的专线域名组内的专线域名信息相匹配,本实施例以A记录中的域名信息和与域名信息相对应的目的主机IP地址进行举例说明。
[0031] 在本实施例中,负载均衡设备获取DNS响应报文的A记录后,首先提取A记录中的域名信息,并将提取的域名信息与预先配置的专线域名信息相匹配,匹配条件是预先配置的专线域名信息至少包含域名信息中的一级域名、二级域名、三级域名中的一个。例如,预先配置的专线域名信息为*.cn,当从A记录中提取的域名信息为www.abc.edu.cn时,由于专线域名信息与域名信息存在相同的一级域名cn,可判定该域名信息与预先配置的专线域名信息相匹配;当预先配置的专线域名信息为*.edu.*时,由于域名信息与专线域名信息存在相同的二级域名edu,可判定域名信息与预先配置的专线域名信息相匹配;当预先配置的专线域名信息为www.abc.edu.cn时,由于专线域名信息与域名信息完全一致,同样可以判定域名信息与预先配置的专线域名信息相匹配。当域名信息与专线域名信息相匹配时,负载均衡设备存储域名信息和与域名信息对应的目的主机IP地址的映射关系,并将该域名信息和与该域名信息对应的目的主机IP地址增加到映射关系表,对映射关系表进行更新。
[0032] 值得注意的是,在本实施例中,当DNS响应报文中的A记录中的域名信息与预先配置的专线域名信息不匹配时,可采用其他方式对DNS响应报文进行处理,也可以不做任何处理,本实施例对此不做限定。
[0033] 当负载均衡设备再次接收用户终端发送的DNS请求报文时,负载均衡设备首先会提取DNS请求报文中的域名信息,并将域名信息与预先配置的专线域名信息相匹配。域名信息和专线域名信息的匹配与前述一致,对此不再赘述。当域名信息与预先配置的域名信息相匹配时,负载均衡设备会查找映射关系表中是否存在与域名信息对应的目的主机IP地址,若是,则负载均设备会获取映射关系表中域名信息和与域名信息对应的目的主机IP地址,并将该域名信息和与该域名信息对应的目的主机IP地址作为DNS响应报文发送给用户终端,否则执行步骤S204。
[0034] 用户终端接收负载均衡设备发送的DNS响应报文,提取DNS响应报文中的域名信息对应的目的主机IP地址,并将该目的主机IP地址作为资源请求报文中的目的地址发送给负载均衡设备,负载均衡设备接收资源请求报文并提取资源请求报文中的目的主机IP地址。
[0035] 步骤S102,获取映射关系表,并查找映射关系表中是否存在与目的主机IP地址对应的域名信息,若是,则转入步骤103;步骤S103,确定与目的主机IP地址对应的域名信息所属的专线链路组;
在本实施例中,负载均衡获取映射关系表,并在映射关系表中查找资源请求报文中的目的主机IP地址对应的域名信息,若映射关系表中存在目的主机IP地址对应的域名信息,则将域名信息匹配至所属的专线域名组。
[0036] 值得注意的是,当映射关系表中不存在与目的主机IP地址对应的域名信息时,该资源请求报文通过其他路径进行转发,本实施例对此不做具体限定。
[0037] 当域名信息匹配所属的专线域名组时,按照预先配置的专线域名组的匹配顺序,将目的主机IP地址对应的域名信息依次与专线域名组内的专线域名信息进行匹配,并将域名信息匹配成功的专线域名信息对应的专线链路组确定为与目的主机IP地址对应的域名信息所属的专线链路组。
[0038] 假设预先配置的专线域名组包括教育网络域名组、国外网络域名组、视频网络域名组、游戏网络域名组,将专线域名组的匹配顺序设置为教育网络域名组、国外网络域名组、视频网络域名组、游戏网络域名组,在负载均衡设备中提取资源请求报文中的目的主机IP地址,并基于映射关系表查询该目的主机IP地址对应的域名信息,然后先将域名信息与教育网络域名组内的专线域名信息进行匹配,若匹配成功,则停止匹配;若没有匹配成功,则按照匹配顺序,以此类推。
[0039] 步骤S104,基于负载均衡算法从专线链路组内查找最优专线链路,并通过最优专线链路转发资源请求报文。
[0040] 在本实施例中,每个专线域名组至少对应一个专线链路组,专线链路组内预先配置至少一条专线链路。
[0041] 基于专线域名组所属的专线网络类型确定对应的负载均衡算法,基于确定的负载均衡算法查找最优专线链路;负载均衡算法包括轮询算法、带宽比率算法、最小往返延时算法和运营商种类算法。
[0042] 下面以教育网络域名组和视频网络域名组为例进行说明。
[0043] 若专线域名组的类型为教育网络域名组时,则根据运营商种类进行调度。根据教育网络域名组内的专线域名信息对应的目的主机IP地址所属的运营商,选择相同运营商的专线链路对目的主机IP地址所属的资源请报文进行转发。例如,访问A大学的域名信息www.abc.edu.cn时,得到DNS响应报文中的A记录中的目的主机IP地址为176.160.4.200,通过查询ISP库得知,该目的主机IP地址所属的运营商为教育网络,则会优先将目的主机IP地址所对应的资源请求报文转发至所属的专线链路组上;访问B大学的b学院的域名信息www.bcd.edu.cn时,得到的DNS响应报文中的A记录中的目的主机IP地址为62.121.61.120,通过查询ISP库得知,该目的主机IP地址所属的运营商为电信网,则会优先将目的主机IP地址所属的资源请求报文转发至教育网络域名组所对应的专线链路组中的电信网的专线链路上。
[0044] 若专线域名组的类型为直播网络域名组时,则采用最小延时算法进行调度,在直播专线链路上,定时探测直播网络资源的往返延时,在选择专线链路时,选择往返延时最小的链路,以便达到更好的直播效果。
[0045] 此外,可根据用户的需求对专线域名信息进行配置,例如,想要针对C视频和D视频进行专线链路转发时,可预先配置专线域名信息:www.c.com、www.d.com;想要针对C网络资源进行专线链路转发时,可预先配置专线域名信息:*.c.com。
[0046] 图3为本申请实施例提供的一种链路负载均衡装置300的结构框图。如图3所示,该链路负载均衡装置300主要包括:第一提取模块301,用于接收用户终端发送的资源请求报文,并提取资源请求报文中的目的主机IP地址;
查找模块302,用于获取映射关系表,并查找映射关系表中是否存在与目的主机IP地址对应的域名信息,若是,则确定与目的主机IP地址对应的域名信息所属的专线链路组;
第一转发模块303,用于基于负载均衡算法从所属的专线链路组内查找最优专线链路,并将资源请求报文通过最优专线链路转发。
[0047] 在本可选实施中,第一查找模块302具体用于按照预先配置的专线域名组的匹配顺序,将所述目的主机IP地址对应的域名信息依次与专线域名组内的专线域名信息进行匹配,并将所述域名信息匹配成功的专线域名信息对应的专线链路组确定为所述与所述目的主机IP地址对应的域名信息所属的专线链路组。
[0048] 在本可选实施中,第一转发模块303具体用于基于专线域名组所属的专线网络类型确定对应的负载均衡算法,基于确定的负载均衡算法查找最优专线链路,负载均衡算法包括轮询算法、带宽比率算法、最小往返延时算法和运营商种类算法。
[0049] 作为本实施例的一种可选实施方式,该装置还包括:第二提取模块,用于在接收用户终端发送的资源请求报文之前,接收用户终端发送的DNS请求报文,并从DNS请求报文中提取域名信息;
查询模块,用于基于映射关系表查询是否存在与域名信息对应的目的主机IP地址,若是,则转入发送模块;否则转入第二转发模块;
发送模块,用于向用户终端发送包含与域名信息对应的目的主机IP地址的DNS响应报文;
第二转发模块,用于向DNS服务器转发DNS请求报文;
第三提取模块,用于接收DNS服务器返回的DNS响应报文,并从DNS响应报文中提取域名信息以及与域名信息对应的目的主机IP地址;
更新模块,用于若域名信息与预先配置的专线域名组内的专线域名信息相匹配,则基于域名信息和与目的主机IP地址的映射关系更新映射关系表。
[0050] 在本可选实施例中,更新模块具体用于若预先配置的专线域名组内的专线域名信息包含DNS响应报文中的域名信息,则判定域名信息与预先配置的专线域名组内的专线域名信息相匹配。
[0051] 本申请实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。
[0052] 图4为本申请实施例提供的一种链路负载均衡设备400的结构框图。如图4所示,链路负载均衡设备400包括存储器401、处理器402和通信总403;存储器、处理402通过通信总线403相连。存储器401上存储有能够被处理器402加载并执行如上述实施例提供的链路负载均衡方法。
[0053] 存储器401可用于存储指令、程序、代码、代码集或指令集。存储器401可以包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令以及用于实现上述实施例提供的万能路径绘图数据特征编码和解码方法的指令等;存储数据区可存储上述实施例提供的无万能路径绘图数据特征编码和解码方法中涉及到的数据等。
[0054] 处理器402可以包括一个或者多个处理核心。处理器402通过运行或执行存储在存储器401内的指令、程序、代码集或指令集,调用存储在存储器401内的数据,执行本申请的各种功能和处理数据。处理器402可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器和微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器402功能的电子器件还可以为其它,本申请实施例不作具体限定。
[0055] 通信总线403可包括一通路,在上述组件之间传送信息。通信总线403可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA (Extended Industry Standard Architecture,扩展工业标准结构)总线等。通信总线403可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0056] 图5为本申请实施例提供的一种链路负载均衡系统500的结构框图。如图5所示,该链路负载均衡系统500包括链路负载均衡设备400以及用户终端600。
[0057] 本实施例中,链路负载均衡设备400可以集成在DNS服务器中,用户终端600用于发送资源请求报文;链路负载均衡设备400用于接收用户终端600发送的资源请求报文,并提取所述资源请求报文中的目的主机IP地址;链路负载均衡设备400还用于获取映射关系表,并查找所述映射关系表中是否存在与所述目的主机IP地址对应的域名信息,若是,则确定与所述目的主机IP地址对应的域名信息所属的专线链路组;链路负载均衡设备400还用于基于负载均衡算法从所述专线链路组内查找最优专线链路,并通过所述最优专线链路转发所述资源请求报文,链路负载均衡设备400还用于接收用户终端发送的DNS请求报文,并从DNS请求报文中提取域名信息,链路负载均衡设备400还用于接收并转发DNS响应报文,链路负载均衡设备400还用于基于映射关系表查询是否存在与域名信息对应的主机IP地址,若是,则向用户终端发送包含与域名信息对应的主机IP地址的DNS响应报文,若否,则向DNS服务器转发DNS请求报文,并接收DNS服务器返回的DNS响应报文;链路负载均衡设备400还用于从DNS响应报文中提取域名信息以及与域名信息对应的主机IP地址,链路负载均衡设备400还用于若域名信息与预先配置的专线域名组内的专线域名信息相匹配,则基于域名信息和与主机IP地址的映射关系更新映射关系表。
[0058] 本申请实施例提供一种计算机可读存储介质,存储有能够被处理器加载并执行如上述实施例提供的链路负载均衡方法的计算机程序。
[0059] 本实施例中,计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意组合。具体的,计算机可读存储介质可以是便携式计算机盘、硬盘、U盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、讲台随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD‑ROM)、数字多功能盘(DVD)、记忆棒、软盘、光盘、磁碟、机械编码设备以及上述任意组合。
[0060] 术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0061] 以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中申请的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页 第1页 第2页 第3页