CN116633934A - 负载均衡方法、装置、节点及存储介质 - Google Patents
负载均衡方法、装置、节点及存储介质 Download PDFInfo
- Publication number
- CN116633934A CN116633934A CN202210124714.8A CN202210124714A CN116633934A CN 116633934 A CN116633934 A CN 116633934A CN 202210124714 A CN202210124714 A CN 202210124714A CN 116633934 A CN116633934 A CN 116633934A
- Authority
- CN
- China
- Prior art keywords
- load balancing
- node
- resource request
- client
- protocol
- 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 133
- 230000004044 response Effects 0.000 claims abstract description 116
- 238000004891 communication Methods 0.000 claims abstract description 22
- 238000012546 transfer Methods 0.000 claims description 39
- 238000006243 chemical reaction Methods 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 18
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 238000000926 separation method Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001125 extrusion Methods 0.000 description 1
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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种负载均衡方法、装置、节点及存储介质,属于通信技术领域。该方法包括:负载均衡节点在接收到客户端的资源请求时,能够一次性定位到准确的服务节点,从而避免产生大量跨设备东西向流量,降低交换机和服务节点压力,进一步地,负载均衡节点向该服务节点发送资源请求和连接协议信息,其中,该连接协议信息包括所采用的网络协议、客户端的地址信息和负载均衡节点的地址信息。通过这种方式,服务节点能够基于该连接协议信息,伪装成该负载均衡节点的响应报文,发送给客户端,该响应报文绕过了负载均衡节点,实现资源请求与响应报文分离流转,形成应用层直接路由DR模式的高效转发,提高了CDN服务效率。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种负载均衡方法、装置、节点及存储介质。
背景技术
随着互联网业务的迅速发展,越来越多的业务提供商选择将资源接入内容分发网络(content delivery network,CDN),通过CDN对资源进行存储、调度和分发,以提升互联网业务的服务质量。目前,CDN服务通过负载均衡、内容分发以及调度等功能,使用户就近获取所需资源,降低网络拥塞。例如,CDN服务通过域名解析(domain name resolution,DNS)调度,将用户的资源请求定向到距离用户最近的CDN集群(或者区域),再通过负载均衡器将该资源请求定向到该CDN集群中的服务节点,由该服务节点返回用户所需的资源。
相关技术中,负载均衡器根据工作所处的开放式系统互联通信参考模型(opensystem interconnection reference model,OSI)层,可以分为四层负载均衡器和七层负载均衡器。其中,四层负载均衡器在接收到用户的资源请求后,将该资源请求发送给七层负载均衡器,七层负载均衡器对该资源请求进行解析,按照调度策略,将该资源请求发送给相应的服务节点。
然而,上述方法中,资源请求需要依次经过四层负载均衡器和七层负载均衡器,最终到达相应的服务节点,一旦该服务节点不存在该资源请求对应的资源,该服务节点需要将资源请求转发给其他服务节点对应的七层负载均衡器,由其他服务节点将资源返回给该服务节点,并由该服务节点返回用户所需的资源,从而产生了大量跨设备的东西向流量,导致设备间南北流量受到挤压,交换机和服务节点的压力较大,CDN服务的效率较低。
发明内容
本申请实施例提供了一种负载均衡方法、装置、节点及存储介质,能够提高CDN服务的效率。该技术方案如下:
第一方面,本申请提供了一种负载均衡方法,由第一负载均衡节点执行,该方法包括:
响应于客户端的资源请求,确定第一服务节点,该资源请求用于获取目标资源;
向该第一服务节点发送该资源请求、该第一负载均衡节点与该客户端之间的连接协议信息,该连接协议信息包括所采用的网络协议、该客户端的地址信息和该第一负载均衡节点的地址信息,该连接协议信息用于服务节点向该客户端发送该资源请求的响应报文,以将该目标资源传输给该客户端,该响应报文的源地址信息为该第一负载均衡节点的地址信息。
在本申请提供的负载均衡方法中,目标资源可以为图片、音频、视频以及文本等等,本申请实施例对此不作限定,负载均衡节点在接收到客户端的资源请求时,能够一次性定位到准确的服务节点,从而避免产生大量跨设备东西向流量,降低交换机和服务节点的压力,进一步地,负载均衡节点向该服务节点发送资源请求和连接协议信息,其中,该连接协议信息包括所采用的网络协议、客户端的地址信息和负载均衡节点的地址信息。通过这种方式,服务节点能够基于该连接协议信息,伪装成该负载均衡节点的响应报文,发送给客户端,该响应报文绕过了负载均衡节点,实现资源请求与响应报文分离流转,形成应用层DR模式的高效转发,提高了CDN服务的效率。
在一些实施例中,该向该第一服务节点发送该资源请求、该第一负载均衡节点与该客户端之间的连接协议信息,包括:
向该第一服务节点发送该资源请求;
向该第一服务节点发送目标报文,该目标报文携带该连接协议信息,该目标报文所采用的网络协议和该第一负载均衡节点与服务节点之间建立连接所采用的网络协议为同一网络协议。
通过这种方式,第一负载均衡节点以单独数据包的形式将连接协议信息传输给第一服务节点。
在一些实施例中,该第一负载均衡节点与该客户端之间建立连接所采用的网络协议为第一网络协议,该第一负载均衡节点与服务节点之间建立连接所采用的网络协议为第二网络协议,第一网络协议和第二网络协议不同,该连接协议信息还包括该第一网络协议和第二网络协议的报文头中的差异字段所携带的信息。
其中,由于第一网络协议与第二网络协议不同,其对应报文存在差异字段,因此,第一负载均衡节点能够根据资源请求中与第二网络协议对应报文的差异字段,得到采用第一网络协议与客户端之间实现数据传输的必要信息,从而无需解析完整的资源请求,降低了请求时延。
在一些实施例中,该第一网络协议为超文本传输安全协议HTTPS,该第二网络协议为超文本传输协议HTTP,该连接协议信息还包括该第一负载均衡节点和该客户端之间建立连接所需的密钥信息。
在一些实施例中,该第一网络协议为基于传输控制协议TCP的全双工通信协议websocket,该第二网络协议为超文本传输协议HTTP,该连接协议信息还包括该第一负载均衡节点和该客户端之间建立连接所需的密钥信息和该资源请求的请求类型,该请求类型用于标识该资源请求为web socket类型的请求。
在一些实施例中,该第一网络协议为超文本传输协议HTTP1.1,该第二网络协议为超文本传输协议HTTP,该连接协议信息还包括该第一负载均衡节点和该客户端之间建立连接所需的数据范围信息。
在一些实施例中,该方法还包括:
基于该第二网络协议,对该资源请求进行协议转换,得到协议转换后的该资源请求;
该向该第一服务节点发送该资源请求、该第一负载均衡节点与该客户端之间的连接协议信息,包括:
向该第一服务节点发送协议转换后的该资源请求和该连接协议信息。
通过这种方式,实现了在客户端与第一负载均衡之间所采用的网络协议和第一负载均衡节点与服务节点之间所采用的网络协议不同的情况下,第一服务节点的响应报文依然可以直接返回给客户端,而无需再次经过第一负载均衡节点,实现了资源请求与响应报文分离流转,形成应用层DR模式的高效转发,提高了CDN服务效率。
在一些实施例中,该第一服务节点与该第一负载均衡节点属于同一数据中心。
在一些实施例中,该方法还包括:
响应于该资源请求,在该第一负载均衡节点所在数据中心不存在该目标资源的情况下,向第二负载均衡节点发送该资源请求和该连接协议信息,该第二负载均衡节点与该第一负载均衡节点属于不同数据中心。
通过这种方式,第一负载均衡节点能够在不存在目标资源的情况下,及时将资源请求和连接协议信息转移给其他数据中心的负载均衡节点,从而在客户端无感知的情况下,实现了资源请求与响应报文分离流转,形成应用层DR模式的高效转发,提高了CDN服务效率。而且,通过这种方式,第一负载均衡节点与客户端之间的连接协议信息能够实现跨数据中心进行转移,使得数据中心间能够互联互通,相互调度,形成分布式协议调度能力,有效提升了CDN服务的效率。
第二方面,本申请提供了一种负载均衡方法,由服务节点执行,该方法包括:
接收客户端的资源请求、第一负载均衡节点与该客户端之间的连接协议信息,该连接协议信息包括所采用的网络协议、该客户端的地址信息和该第一负载均衡节点的地址信息,该资源请求用于获取目标资源;
响应于该资源请求,基于该连接协议信息,向该客户端发送该资源请求的响应报文,以将该目标资源传输给该客户端,该响应报文的源地址信息为该第一负载均衡节点的地址信息。
在一些实施例中,该响应于该资源请求,基于该连接协议信息,向该客户端发送该资源请求的响应报文,包括:
响应于该资源请求,基于该连接协议信息,以该第一负载均衡节点的地址信息为源地址信息,以该客户端的地址信息为目的地址信息,向该客户端发送该资源请求的响应报文。
在一些实施例中,该服务节点与该第一负载均衡节点属于同一数据中心。
在一些实施例中,该资源请求和该连接协议信息由该第一负载均衡节点发送。
在一些实施例中,该资源请求和该连接协议信息由该数据中心的另一服务节点发送。
通过这种方式,第一负载均衡节点与客户端之间的连接协议信息能够实现跨设备进行转移,使得设备间能够互联互通,相互调度,形成分布式协议调度能力,有效提升了CDN服务的效率。
在一些实施例中,该服务节点与该第一负载均衡节点属于不同数据中心。
在一些实施例中,该资源请求和该连接协议信息由该第一负载均衡节点发送给第二负载均衡节点后,由该第二负载均衡节点发送,该第二负载均衡节点与该服务节点属于同一数据中心,该第二负载均衡节点和该第一负载均衡节点属于不同数据中心。
通过这种方式,第一负载均衡节点与客户端之间的连接协议信息能够实现跨数据中心转移,使得数据中心间能够互联互通,相互调度,形成分布式协议调度能力,有效提升了CDN服务的效率。
第三方面,本申请提供了一种负载均衡装置,该装置包括:
服务节点确定模块,用于响应于客户端的资源请求,确定第一服务节点,该资源请求用于获取目标资源;
连接协议信息转移模块,用于向该第一服务节点发送该资源请求、该第一负载均衡节点与该客户端之间的连接协议信息,该连接协议信息包括所采用的网络协议、该客户端的地址信息和该第一负载均衡节点的地址信息,该连接协议信息用于服务节点向该客户端发送该资源请求的响应报文,以将该目标资源传输给该客户端,该响应报文的源地址信息为该第一负载均衡节点的地址信息。
在一些实施例中,该连接协议信息转移模块,用于:
向该第一服务节点发送该资源请求;
向该第一服务节点发送目标报文,该目标报文携带该连接协议信息,该目标报文所采用的网络协议和该第一负载均衡节点与服务节点之间建立连接所采用的网络协议为同一网络协议。
在一些实施例中,该第一负载均衡节点与该客户端之间建立连接所采用的网络协议为第一网络协议,该第一负载均衡节点与服务节点之间建立连接所采用的网络协议为第二网络协议,第一网络协议和第二网络协议不同,该连接协议信息还包括该第一网络协议和第二网络协议的报文头中的差异字段所携带的信息。
在一些实施例中,该第一网络协议为超文本传输安全协议HTTPS,该第二网络协议为超文本传输协议HTTP,该连接协议信息还包括该第一负载均衡节点和该客户端之间建立连接所需的密钥信息。
在一些实施例中,该第一网络协议为基于传输控制协议TCP的全双工通信协议websocket,该第二网络协议为超文本传输协议HTTP,该连接协议信息还包括该第一负载均衡节点和该客户端之间建立连接所需的密钥信息和该资源请求的请求类型,该请求类型用于标识该资源请求为web socket类型的请求。
在一些实施例中,该第一网络协议为超文本传输协议HTTP1.1,该第二网络协议为超文本传输协议HTTP,该连接协议信息还包括该第一负载均衡节点和该客户端之间建立连接所需的数据范围信息。
在一些实施例中,该装置还包括协议转换模块,用于在该资源请求不是基于目标协议生成的情况下,基于该目标协议,对该资源请求进行协议转换,得到协议转换后的该资源请求,该目标协议表示该第一负载均衡节点和服务节点之间所使用的协议;
该连接协议信息转移模块,用于:
向该第一服务节点发送协议转换后的该资源请求和该连接协议信息。
在一些实施例中,该第一服务节点与该第一负载均衡节点属于同一数据中心。
在一些实施例中,该连接协议信息转移模块,还用于:
响应于该资源请求,在该第一负载均衡节点所在数据中心不存在该目标资源的情况下,向第二负载均衡节点发送该资源请求和该连接协议信息,该第二负载均衡节点与该第一负载均衡节点属于不同数据中心。
第四方面,本申请提供了一种数据处理装置,该装置包括:
信息接收模块,用于接收客户端的资源请求、第一负载均衡节点与该客户端之间的连接协议信息,该连接协议信息包括所采用的网络协议、该客户端的地址信息和该第一负载均衡节点的地址信息,该资源请求用于获取目标资源;
响应报文发送模块,用于响应于该资源请求,基于该连接协议信息,向该客户端发送该资源请求的响应报文,以将该目标资源传输给该客户端,该响应报文的源地址信息为该第一负载均衡节点的地址信息。
在一些实施例中,该响应报文发送模块用于响应于该资源请求,基于该连接协议信息,以该第一负载均衡节点的地址信息为源地址信息,以该客户端的地址信息为目的地址信息,向该客户端发送该资源请求的响应报文。
在一些实施例中,该服务节点与该第一负载均衡节点属于同一数据中心。
在一些实施例中,该资源请求和该连接协议信息由该第一负载均衡节点发送。
在一些实施例中,该资源请求和该连接协议信息由该数据中心的另一服务节点发送。
在一些实施例中,该服务节点与该第一负载均衡节点属于不同数据中心。
在一些实施例中,该资源请求和该连接协议信息由该第一负载均衡节点发送给第二负载均衡节点后,由该第二负载均衡节点发送,该第二负载均衡节点与该服务节点属于同一数据中心,该第二负载均衡节点和该第一负载均衡节点属于不同数据中心。
第五方面,本申请提供了一种负载均衡节点,该负载均衡节点包括处理器和存储器,该存储器用于存储至少一段程序代码,该至少一段程序代码由该处理器加载并执行前述第一方面或第一方面的任意一种可能的实现方式提供的负载均衡方法。
第六方面,本申请提供了一种服务节点,该服务节点包括处理器和存储器,该存储器用于存储至少一段程序代码,该至少一段程序代码由该处理器加载并执行前述第二方面或第二方面的任意一种可能的实现方式提供的负载均衡方法。
第七方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质用于存储至少一段程序代码,该至少一段程序代码用于执行前述第一方面或第一方面的任意一种可能的实现方式中提供的负载均衡方法,或执行第二方面或第二方面的任意一种可能的实现方式提供的负载均衡方法。该存储介质包括但不限于易失性存储器,例如随机访问存储器,非易失性存储器,例如快闪存储器、硬盘(hard disk drive,HDD)、固态硬盘(solidstate drive,SSD)。
第八方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机程序代码,在该计算机程序代码被负载均衡节点执行时,该负载均衡节点执行前述第一方面或第一方面的任意可能的实现方式中提供的负载均衡方法,在该计算机程序代码被服务节点执行时,该服务节点或执行前述第二方面或第二方面的任意一种可能的实现方式提供的负载均衡方法。该计算机程序产品可以为一个软件安装包,在需要使用前述负载均衡方法的情况下,可以下载该计算机程序产品并在负载均衡节点或服务节点上执行该计算机程序产品。
附图说明
图1是本申请实施例提供的一种负载均衡方法的实施环境示意图;
图2是本申请实施例提供的一种网络设备的结构示意图;
图3是本申请实施例提供的一种负载均衡方法的流程图;
图4是本申请实施例提供的一种负载均衡方法的示意图;
图5是一种相关技术提供的负载均衡方法和本申请实施例提供的负载均衡方法的示意图;
图6是本申请实施例提供的一种负载均衡方法的流程图;
图7是本申请实施例提供的一种负载均衡方法的示意图;
图8是本申请实施例提供的一种负载均衡方法的流程图;
图9是本申请实施例提供的一种负载均衡方法的示意图;
图10是本申请实施例提供的一种负载均衡方法的流程图;
图11是本申请实施例提供的一种负载均衡方法的示意图;
图12是本申请实施例提供的一种负载均衡装置的结构示意图;
图13是本申请实施例提供的一种数据处理装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了方便理解,下面先对本申请涉及的关键术语和关键概念进行说明。
内容分发网络(content delivery network,CDN),是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
负载均衡,是一种建立在现有网络结构之上的调度方式,能够扩展网络设备和服务器的带宽,增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性。
统一资源定位符(uniform resource locator,URL),是因特网上标准的资源的地址,也被称为网页地址。
直接路由(director routing,DR)模式,是一种通过修改资源请求的目标媒体存取控制(media access control address,MAC)地址,将该资源请求发给应用服务器,使得应用服务器将响应后的处理结果直接返回给客户端的工作模式。在一些实施例中,将处于应用层的DR模式称为请求与响应分离流转的模式,示意性地,网络设备A在接收到来自客户端的资源请求后,进行相应处理,并发送给网络设备B,使得网络设备B在不经过网络设备A的情况下,将该资源请求的响应直接返回给客户端,实现了对应同一客户端的请求与响应是分离在不同网络设备之间流转的。
302调度,是一种资源调度方法,在提供CDN服务的网络系统中,当调度中心发现客户端所请求的资源有更合适的CDN节点来提供服务时,通过超文本传输协议(hyper texttransfer protocol,HTTP)302状态码,让客户端向更合适的CDN节点发起资源请求。
下面对本申请提供的负载均衡方法的应用场景进行简要介绍。
本申请实施例提供的负载均衡方法能够应用在通过CDN服务对资源进行存储、调度和分发的网络系统中。例如,在提供CDN服务的网络系统中,资源通常存储在成百上千个服务节点组成的服务集群中,服务节点通过负载均衡节点对外提供服务。当负载均衡节点接收到客户端发送的资源请求时,负载均衡节点通过解析资源请求,将资源请求转发给对应的服务节点,以保证较高的资源命中率。
基于此,本申请实施例提供了一种负载均衡方法,负载均衡节点在接收到客户端的资源请求时,能够一次性定位到准确的服务节点,从而避免产生大量跨设备东西向流量,降低交换机和服务节点压力,进一步地,负载均衡节点向该服务节点发送资源请求和连接协议信息,其中,该连接协议信息包括所采用的网络协议、客户端的地址信息和负载均衡节点的地址信息。通过这种方式,服务节点能够基于该连接协议信息,伪装成该负载均衡节点的响应报文,发送给客户端,该响应报文绕过了负载均衡节点,实现资源请求与响应报文分离流转,形成应用层DR模式的高效转发,提高了CDN服务的效率。
下面对本申请提供的技术方案的实施环境进行介绍。
图1是本申请实施例提供的一种负载均衡方法的实施环境示意图。如图1所示,该实施环境包括客户端101、负载均衡节点102和服务节点103,客户端101、负载均衡节点102和服务节点103之间通过有线网络或无线网络进行直接或间接地连接。
客户端101用于根据用户的资源需求,向负载均衡节点102发送相应的资源请求。该客户端101可以是用户侧的终端,也可以是服务器。其中,终端也被称为智能终端或移动智能终端,是指一类具备丰富人机交互方式、拥有接入互联网能力、通常搭载各种操作系统、具有较强处理能力的设备。在一些实施例中,移动智能终端的类型包括但不限于智能手机、平板电脑、台式计算机、车载终端、掌上游戏主机等,但并不局限于此。服务器可以是一个或多个计算设备所组成的服务器集群。需要说明的是,客户端101可以泛指多个客户端中的一个,本申请实施例仅以客户端101来举例说明。
负载均衡节点102用于实现负载均衡功能,能够根据客户端101的资源请求,将该资源请求分发给相应的服务节点103。在一些实施例中,该负载均衡节点102通过一个服务器或者由多个服务器组成的服务器集群来实现负载均衡功能。在一些实施例中,该负载均衡节点102通过虚拟机或容器引擎(docker)来实现负载均衡功能,本申请实施例对此不作限定。在一些实施例中,负载均衡节点102的数量为多个,不同的负载均衡节点属于不同的数据中心,例如,负载均衡节点102包括第一负载均衡节点1021和第二负载均衡节点1022等等,其中,第一负载均衡节点1021属于第一数据中心,第二负载均衡节点1022属于第二数据中心,本申请实施例对于负载均衡节点的数量不作限定。
服务节点103用于提供资源存储功能,能够根据接收到的资源请求,将与该资源请求对应的资源反馈给客户端101。其中,该服务节点103是指能够提供CDN服务的服务节点。在一些实施例中,该服务节点103为独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式文件系统,还能够是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、大数据和人工智能平台等基础云计算服务的云服务器。在一些实施例中,在负载均衡节点102的数量为多个的情况下,服务节点103可以分属不同的数据中心,例如,第一负载均衡节点1021属于第一数据中心,该第一数据中心包括多个服务节点1031;第二负载均衡节点1022属于第二数据中心,该第二数据中心包括多个服务节点1032。需要说明的是,图中所示仅为示意性地,服务节点103的数量可以更多或更少,本申请实施例对此不作限定。
在一些实施例中,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也能够是任何网络,包括但不限于局域网(local area network,LAN)、城域网(metropolitan area network,MAN)、广域网(wide area network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实现方式中,使用包括超级文本标记语言(hyper text markup language,HTML)、可扩展标记语言(extensible markuplanguage,XML)等的技术和/或格式来代表通过网络交换的数据。此外还能够使用诸如安全套接字层(secure socket layer,SSL)、传输层安全(transport layer security,TLS)、虚拟专用网络(virtual private network,VPN)、网际协议安全(internet protocolsecurity,IPsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还能够使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
下面对上述实施环境中负载均衡节点和服务节点的硬件结构进行介绍。
本申请实施例提供了一种网络设备,能够配置为上述实施环境中的负载均衡节点和服务节点。示意性地,图2是本申请实施例提供的一种网络设备的结构示意图。如图2所示,该网络设备200包括存储器201、处理器202、通信接口203以及总线204。其中,存储器201、处理器202、通信接口203通过总线204实现彼此之间的通信连接。
存储器201可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器201可以存储至少一段程序代码,当存储器201中存储的程序代码被处理器202执行时,处理器202和通信接口203用于执行下述方法实施例中负载均衡节点或服务节点所执行的负载均衡方法。
处理器202可以是网络处理器(network processor,NP)、中央处理器(centralprocessing unit,CPU)、特定应用集成电路(application-specific integratedcircuit,ASIC)或用于控制本申请方案程序执行的集成电路。该处理器202可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。该处理器202的数量可以是一个,也可以是多个。这些处理器中的每一个例如是一个单核处理器,又如是一个多核处理器。这里的处理器可选地指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。通信接口203使用例如收发器一类的收发模块,来实现网络设备200与其他设备或通信网络之间的通信。例如,可以通过通信接口203获取数据。
其中,存储器201和处理器202可以分离设置,也可以集成在一起。
总线204可包括在网络设备200各个部件(例如,存储器201、处理器202、通信接口203)之间传送信息的通路。
在一些实施例中,处理器202通过读取存储器201中保存的程序代码实现下述实施例中的方法,或者,处理器202通过内部存储的程序代码实现下述实施例中的方法。在处理器202通过读取存储器201中保存的程序代码实现下述实施例中的方法的情况下,存储器201中保存实现本申请实施例提供的负载均衡方法的程序代码。
处理器202实现上述功能的更多细节请参考下面各个方法实施例中的描述,在这里不再重复。
本申请实施例还提供了一种包括程序代码的计算机可读存储介质,例如包括程序代码的存储器201,上述程序代码可由网络设备200的处理器202执行以完成负载均衡方法。在一些实施例中,计算机可读存储介质是只读内存(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、只读光盘(compact-disc read-only memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在介绍了本申请的应用场景和实施环境的基础上,下面结合几个实施例,对本申请所提供的负载均衡方法进行说明。
图3是本申请实施例提供的一种负载均衡方法的流程图。如图3所示,以客户端、第一负载均衡节点以及第一服务节点之间的交互为例来进行说明,该负载均衡方法包括如下步骤301至步骤305。
301、客户端向第一负载均衡节点发送资源请求,该资源请求用于获取目标资源。
在本申请实施例中,第一负载均衡节点是指提供CDN服务的网络系统中任一个负载均衡节点。客户端根据用户发起的针对目标资源的请求行为,与第一负载均衡节点建立连接,通过该连接,向第一负载均衡节点发送资源请求,该资源请求用于获取该目标资源。示意性地,该目标资源为图片、音频、视频以及文本等等,本申请实施例对于目标资源的类型不作限定。
在一些实施例中,客户端使用传输控制协议(transmission control protocol,TCP)/用户数据报协议(user datagram protocol,UDP)以及上层网络协议,与第一负载均衡节点建立连接。在一些实施例中,该连接为传输隧道,能够支撑数据的高效传输。需要说明的是,在一些实施例中,客户端能够根据实际需求选择不同的网络协议来和第一负载节点建立连接,示意性地,该网络协议包括:HTTP、HTTP1.1、HTTP2.0、HTTP3.0、超文本传输安全协议(hyper text transfer protocol over SecureSocket layer,HTTPS)、高速UDP互联网连接协议(quick UDP internet connection,QUIC)以及基于TCP的全双工通信协议(web socket)等等,本申请实施例对此不作限定。
302、第一负载均衡节点响应于该客户端的资源请求,确定第一服务节点。
在本申请实施例中,该第一服务节点用于提供目标资源,第一负载均衡节点接收客户端发送的资源请求,响应于该资源请求,从多个服务节点中确定第一服务节点。该多个服务节点与该第一负载均衡节点属于同一数据中心,示意性地,如图2所示,第一负载均衡节点1021属于第一数据中心,该第一数据中心包括多个服务节点1031。
在一些实施例中,本步骤302包括下述两个步骤:
步骤一、第一负载均衡节点响应于该资源请求,解析该资源请求,得到该资源请求的应用层特征。
其中,第一负载均衡节点解析该资源请求中的目标字段,得到该资源请求的应用层特征。在一些实施例中,该资源请求的应用层特征包括该资源请求的URL标识,该URL标识能够唯一标识该资源请求所请求的目标资源。在一些实施例中,该资源请求的应用层特征还包括该资源请求对应的资源类型,该资源类型用于表示该资源请求所请求的目标资源的类型。在另一些实施例中,该资源请求的应用层特征还包括其他信息,本申请实施例对此不作限定。另外,在一些实施例中,该目标字段的位置可以根据实际需求进行设置,本申请实施例对此不作限定。例如,以客户端的资源请求为HTTP协议下的资源请求为例,该资源请求用于请求http://a.com/x,该资源请求的目标字段为a.com/x,第一负载均衡节点解析该资源请求,得到该资源请求的应用层特征为a.com/x,也即是该资源请求的URL标识。
步骤二、第一负载均衡节点基于该应用层特征,确定与该应用层特征对应的第一服务节点。
其中,第一负载均衡节点调用目标算法,基于该应用层特征,确定与该应用层特征对应的第一服务节点。在一些实施例中,该目标算法为一致性哈希算法。示意性地,第一负载均衡节点使用哈希函数,对该应用层特征进行处理,得到与该应用特征对应的哈希值,然后根据多个服务节点的数量,使用取模函数,将该哈希值对该数量取模,从而从多个服务节点中确定第一服务节点。例如,多个服务节点包括服务节点A、服务节点B和服务节点C,分别通过编号0、1、2来表示,第一负载均衡节点调用一致性哈希算法,对应用层特征a.com/x进行处理,得到哈希值5,使用取模函数对服务节点的数量3取模后,得到2,对应服务节点C,则将该服务节点C确定为第一服务节点。由于网络系统中各个服务节点用于存储对应一定哈希值的资源,因此,第一负载均衡节点确定第一服务节点的过程也可以理解为,第一负载均衡节点基于该应用层特征,计算该应用层特征对应的哈希值,进而确定该目标资源应该存储的位置。当然,上述目标算法能够根据实际需求进行设置,例如,加权轮询算法、加权随机算法以及最小连接数算法等等,本申请实施例对此不作限定。
通过上述步骤一和步骤二,第一负载均衡节点能够根据资源请求的应用层特征,一次性定位到准确的第一服务节点,从而避免产生大量跨设备东西向流量,有效降低了交换机和服务节点的压力。而且,通过实时感知资源请求中的应用层特征,从而根据应用层特征进行请求调度,扩展了调度的灵活性。
303、第一负载均衡节点向该第一服务节点发送该资源请求、该第一负载均衡节点与该客户端之间的连接协议信息,该连接协议信息包括所采用的网络协议、该客户端的地址信息和该第一负载均衡节点的地址信息。
在本申请实施例中,第一负载均衡节点在确定第一服务节点后,向该第一服务节点发送客户端的资源请求和连接协议信息。该连接协议信息用于服务节点向该客户端发送该资源请求的响应报文,以将该目标资源传输给该客户端,该响应报文的源地址信息为该第一负载均衡节点的地址信息。换言之,网络系统中的任一服务节点能够基于该连接协议信息,与客户端之间实现数据传输,即,该连接协议信息包括了客户端与服务节点之间实现数据传输的必要信息。在一些实施例中,该客户端的地址信息包括该客户端的端口号和网际互连协议(internet protocol,IP)地址;该第一负载均衡节点的地址信息包括该第一负载均衡节点的端口号和IP地址。
在一些实施例中,第一负载均衡节点向第一服务节点发送该资源请求,向第一服务节点发送目标报文,该目标报文携带该连接协议信息,该目标报文所采用的网络协议和第一负载均衡节点与服务节点之间建立连接所采用的网络协议为同一网络协议。即,第一负载均衡节点以单独数据包的形式将连接协议信息传输给第一服务节点。例如,以第一负载均衡节点与服务节点之间建立连接所采用的网络协议为HTTP为例,第一负载均衡节点在向第一服务节点发送该资源请求的情况下,同步采用HTTP向第一服务节点发送该目标报文。
在一些实施例中,第一负载均衡节点与客户端之间建立连接所采用的网络协议和第一负载均衡节点与服务节点之间建立连接所采用的网络协议为同一网络协议。该连接协议信息可以是第一负载均衡节点在和客户端建立连接的时候得到的,也可以是第一负载均衡节点在接收到客户端的资源请求的情况下,对该资源请求进行解析得到的,本申请实施例对此不作限定。
在一些实施例中,该连接协议信息还包括第一负载均衡节点与客户端之间的连接状态(如已建立连接)、连接保持时间、基于TCP协议的序列号、第一负载均衡节点和客户端的设备标识信息等等,本申请实施例对此不作限定。
另外,第一负载均衡节点与客户端之间建立连接所采用的网络协议和第一负载均衡节点与服务节点之间建立连接所采用的网络协议还可以为不同的网络协议,关于这种情况下的连接协议信息会在后续图6所示实施例中进行介绍,在此不再赘述。
304、第一服务节点接收该资源请求和该连接协议信息。
305、第一服务节点响应于该资源请求,基于该连接协议信息,向该客户端发送该资源请求的响应报文,以将该目标资源传输给客户端。
在本申请实施例中,第一服务节点响应于该资源请求,基于该连接协议信息,以该第一负载均衡节点的地址信息为源地址信息,以该客户端的地址信息为目的地址信息,向客户端发送该资源请求的响应报文(也即构造应用层DR模式的响应报文),该响应报文携带该目标资源。通过这种方式,第一服务节点的响应报文无需再次经过第一负载均衡节点,能够直接返回给客户端,从而实现了资源请求与响应报文分离流转,形成应用层DR模式的高效转发,提高了CDN服务效率。
示意性地,下面参考图4,对上述步骤301至步骤305进行示意性说明。图4是本申请实施例提供的一种负载均衡方法的示意图。如图4所示,以客户端采用HTTP,通过第一负载均衡节点向服务节点请求目标资源为例。客户端与第一负载均衡节点建立连接,并采用HTTPS,通过交换机向第一负载均衡节点发送资源请求,该资源请求用于请求目标资源http://a.com/x。第一负载均衡节点响应于该资源请求,解析该资源请求,得到该资源请求的URL标识a.com/x,也即是提取该资源请求中的应用层特征,从而根据该URL标识,确定第一服务节点,从而避免产生大量跨设备东西向流量,降低了交换机和服务节点的压力,进一步地,第一负载均衡节点向该第一服务节点发送该资源请求和连接协议信息,该第一服务节点接收到该资源请求和连接协议信息后,基于该连接协议信息,以第一负载均衡节点的地址信息为源地址信息,以客户端的地址信息为目的地址信息,生成与该资源请求对应的响应报文,该响应报文携带该目标资源,并将该响应报文通过交换机直接发送给客户端,实现了资源请求与响应报文分离流转,形成应用层DR模式的高效转发,提高了CDN服务效率。而且,在这一过程中,通过实时感知客户端的资源请求中的应用层特征,从而根据应用层特征进行请求调度,扩展了调度的灵活性。
示意性地,下面参考图5对相关技术提供的负载均衡方法和本申请提供的负载均衡方法的过程进行简要介绍。图5是一种相关技术提供的负载均衡方法和本申请实施例提供的负载均衡方法的示意图。
如图5中(a)图所示,相关技术提供的负载均衡方法包括如下步骤:
(1)客户端通过交换机,以四层负载均衡器的地址为目的地址,以客户端的地址为源地址,向四层负载均衡器发送针对目标资源的资源请求;
(2)四层负载均衡器基于接收到的该资源请求进行负载均衡,以四层负载均衡器的地址为目的地址,以客户端的地址为源地址,将资源请求透传给七层负载均衡器;
(3)七层负载均衡器基于接收到的资源请求,与客户端建立连接,基于该资源请求中的应用层特征进行负载均衡,以服务节点的地址为目的地址,以七层负载均衡器的地址为源地址,将该资源请求发送给服务节点;
(4)服务节点基于接收到的资源请求,以七层负载均衡器的地址为目的地址,以服务节点的地址为源地址,向七层负载均衡器发送目标资源;
(5)七层负载均衡器基于接收到的目标资源,以客户端的地址为目的地址,以四层负载均衡器的地址为源地址,生成该资源请求的响应报文,绕过四层负载均衡器,通过交换机传输给客户端。
可见,在相关技术中,资源请求需要依次经过四层负载均衡器和七层负载均衡器,最终到达相应的服务节点,导致请求时延较高。而且,一旦该服务节点不存在该资源请求对应的资源,该服务节点会从其他服务节点中获取目标资源,从而产生大量跨设备东西向流量,导致交换机和服务节点的压力较大。另外,由于相关技术中七层负载均衡器需要解析完整的资源请求,耗时较高,因此,相关技术往往需要部署成千上万七层负载均衡器来保证CDN服务的效率,导致负载均衡的成本大大增加。
如图5中(b)图所示,本申请实施例提供的负载均衡方法包括如下步骤:
(1)客户端通过交换机,以负载均衡节点的地址为目的地址,以客户端的地址为源地址,向负载均衡节点发送针对目标资源的资源请求;
(2)负载均衡节点基于接收到的资源请求,与客户端建立连接,基于该资源请求中的应用层特征进行负载均衡,以服务节点的地址为目的地址,以负载均衡节点的地址为源地址,将该资源请求和连接协议信息发送给服务节点;
(3)服务节点基于接收到的资源请求和连接协议信息,以该负载均衡节点的地址为源地址信息,以该客户端的地址为目的地址,生成该资源请求的响应报文,将该响应报文绕过负载均衡节点,通过交换机传输给客户端。
可见,在本申请实施例提供的负载均衡方法中,负载均衡节点在接收到客户端的资源请求时,能够一次性定位到准确的服务节点,从而避免产生大量跨设备东西向流量,降低交换机和服务节点的压力。进一步地,负载均衡节点向该服务节点发送资源请求和连接协议信息,其中,该连接协议信息包括所采用的网络协议、客户端的地址信息和负载均衡节点的地址信息。通过这种方式,服务节点能够基于该连接协议信息,伪装成该负载均衡节点的响应报文,发送给客户端,该响应报文绕过了负载均衡节点,实现了资源请求与响应报文分离流转,形成应用层DR模式的高效转发,提高了CDN服务的效率。而且,由于本申请实施例提供的负载均衡方法中,负载均衡节点不需要解析完整的资源请求,耗时较短,因此在保证CDN服务效率的基础上,在网络系统中无需配置过多负载均衡节点,从而有效降低了负载均衡的成本。
上述图3和图4所示的负载均衡方法介绍了本申请实施例提供的负载均衡方案的一种基础的实施方式。其中,客户端与第一负载均衡之间所采用的网络协议和第一负载均衡节点与服务节点之间所使用的网络协议为同一网络协议。在一些实施例中,第一负载均衡节点与该客户端之间建立连接所采用的网络协议为第一网络协议,该第一负载均衡节点与服务节点之间建立连接所采用的网络协议为第二网络协议,第一网络协议和第二网络协议不同。下面基于图6所示的实施例,对这种情况下的负载均衡方法进行介绍。
图6是本申请实施例提供的一种负载均衡方法的流程图。如图6所示,以客户端、第一负载均衡节点以及第一服务节点之间的交互为例来进行说明,该负载均衡方法包括如下步骤601至步骤606。
601、客户端向第一负载均衡节点发送资源请求,该资源请求用于获取目标资源。
在本申请实施例中,本步骤601的具体实施方式与上述步骤301同理,故在此不再赘述。
602、第一负载均衡节点基于第二网络协议,对该资源请求进行协议转换,得到协议转换后的该资源请求。
在本申请实施例中,该第二网络协议表示该第一负载均衡节点和服务节点之间建立连接所采用的网络协议。第一负载均衡节点在接收到该资源请求的情况下,基于该资源请求所采用的第一网络协议和该第二网络协议,确定该资源请求不是基于第二网络协议生成的,对该资源请求进行协议转换,使得协议转换后的资源请求所使用的协议为第二网络协议。例如,客户端的资源请求所采用的第一网络协议为HTTPS,该资源请求包括https://a.com/x,第二网络协议为HTTP,第一负载均衡节点基于HTTP,对该资源请求进行协议转换,得到协议转换后的资源请求为http://a.com/x。需要说明的是,此处举例仅为示意性地,本申请实施例对于第一网络协议和第二网络协议的类型不作限定。
603、第一负载均衡节点基于该资源请求,确定第一服务节点。
在本申请实施例中,该第一服务节点用于提供目标资源,第一负载均衡节点基于资源请求确定第一服务节点的过程与上述步骤302同理,故在此不再赘述。
需要说明的是,在一些实施例中,第一负载均衡节点在执行上述步骤603的过程中,基于协议转换后的资源请求确定第一服务节点。在另一些实施例中,第一负载均衡节点先执行上述步骤603来确定第一服务节点,再执行上述步骤602来得到协议转换后的资源请求。即,本申请实施例对于第一负载均衡节点进行协议转换的时机以及确定第一服务节点所依赖的资源请求的协议类型不作限定。
604、第一负载均衡节点向该第一服务节点发送协议转换后的资源请求、该第一负载均衡节点与该客户端之间的连接协议信息,该连接协议信息包括所采用的网络协议、该客户端的地址信息和该第一负载均衡节点的地址信息。
在本申请实施例中,本步骤604中第一负载均衡节点向该第一服务节点发送该资源请求和连接协议信息的过程与上述步骤303同理,故在此不再赘述。
需要说明的是,由于第一网络协议与第二网络协议不同,其对应报文存在差异字段,因此,第一负载均衡节点能够根据资源请求中与第二网络协议对应报文的差异字段,得到采用第一网络协议与客户端之间实现数据传输的必要信息,从而无需解析完整的资源请求,降低了请求时延。示意性地,在这种情况下,该连接协议信息还包括该第一网络协议和第二网络协议的报文头中的差异字段所携带的信息。即,第一负载均衡节点响应于该资源请求,解析该资源请求中与该第二网络协议对应报文头中的差异字段,得到相应的信息。下面以不同类型的网络协议为例,对这一过程进行举例说明:
(1)第一网络协议为HTTPS,第二网络协议为HTTP。
其中,HTTPS是在HTTP的基础上对数据进行加密传输的一种协议,这两种网络协议对应报文的差异字段包括密钥信息所在字段等。示意性地,第一负载均衡节点响应于该资源请求,解析该资源请求中密钥信息所在字段,得到该第一负载均衡节点和该客户端之间建立连接所需的密钥信息。即,在这种情况下,上述连接协议信息还包括第一负载均衡节点和该客户端之间建立连接所需的密钥信息,如公钥、私钥以及数字证书等。
(2)第一网络协议为web socket,第二网络协议为HTTP。
其中,web socket是在一种以长连接的形式实现全双工通信的一种协议。websocket和HTTP对应报文的差异字段包括密钥信息所在字段和请求类型所在字段等。例如,在web socket对应报文的头部会有一个upgrade:web socket(升级:web socket)的字段,用于标识该资源请求为web socket类型的请求,在web socket对应报文的头部还会有一个Sec-WebSocket-Key的字段,是一种base64编码的密文,也即是密钥信息。示意性地,第一负载均衡节点响应于该资源请求,解析该资源请求中密钥信息和请求类型所在字段,得到该第一负载均衡节点和该客户端之间建立连接所需的密钥信息和该资源请求的请求类型。即,在这种情况下,上述连接协议信息还包括该第一负载均衡节点和该客户端之间建立连接所需的密钥信息和该资源请求的请求类型,该请求类型用于标识该资源请求为websocket类型的请求。
(3)第一网络协议为HTTP1.1,第二网络协议为HTTP。
其中,HTTP1.1是在HTTP基础上支持以长连接的形式实现通信的一种协议。这两种网络协议对应报文的差异字段包括数据范围所在字段等等。例如,在HTTP1.1对应报文的头部会有range(范围)字段,用于以字节为单位标识数据范围。示意性地,第一负载均衡节点响应于该资源请求,解析该资源请求中数据范围所在字段,得到该第一负载均衡节点和该客户端之间建立连接所需的数据范围信息。即,在这种情况下,上述连接协议信息还包括该第一负载均衡节点和该客户端之间建立连接所需的数据范围信息。
在一些实施例中,第一负载均衡节点存储有不同网络协议对应的差异字段信息,第一负载均衡节点能够根据接收到的资源请求的网络协议类型,确定相应的差异字段信息,从而解析该资源请求的报文头中对应的差异字段,得到相应的信息,提高负载均衡效率。例如,以该第一网络协议为HTTPS,该第二网络协议为HTTP为例,第一负载均衡节点存储有HTTPS和HTTP对应的差异字段信息,如密钥信息所在字段,在第一负载均衡节点接收到资源请求的情况下,能够基于该差异字段信息,解析该资源请求中密钥信息所在字段,得到相应的密钥信息,等等,本申请实施例对此不作限定。
需要说明的是,上述几种仅为举例说明,在实际应用中,不同网络协议对应报文的差异字段还可以包括更多内容,上述第一网络协议与第二网络协议也可以采用其他形式,对此不作限定。另外,在一些实施例中,第一负载均衡节点在与客户端采用第一网络协议建立连接的情况下,基于所建立的连接得到该连接协议信息,本申请实施例对此不作限定。
605、第一服务节点接收该协议转换后的资源请求和该连接协议信息。
606、第一服务节点响应于该协议转换后的资源请求,基于该连接协议信息,向该客户端发送该资源请求的响应报文,以将目标资源传输给客户端。
在本申请实施例中,本步骤606的具体实施方式与上述步骤303同理,需要说明的是,在本步骤606中,第一服务节点生成的响应报文所采用的网络协议为第一网络协议,与第一负载均衡节点和客户端之间建立连接所采用的网络协议相同,从而实现了在客户端与第一负载均衡之间所采用的网络协议和第一负载均衡节点与服务节点之间所采用的网络协议不同的情况下,第一服务节点的响应报文依然可以直接返回给客户端,而无需再次经过第一负载均衡节点,实现了资源请求与响应报文分离流转,形成应用层DR模式的高效转发,提高了CDN服务效率。
示意性地,下面参考图7,对上述步骤601至步骤606进行示意性说明。图7是本申请实施例提供的一种负载均衡方法的示意图。如图7所示,以客户端采用第一网络协议HTTPS,通过第一负载均衡节点向服务节点请求目标资源为例。客户端与第一负载均衡节点建立连接,并采用第一网络协议HTTPS,通过交换机向第一负载均衡节点发送资源请求,该资源请求用于请求目标资源https://a.com/x。第一负载均衡节点响应于该资源请求,确定该资源请求所采用的协议不是第二网络协议HTTP,对该资源请求进行协议转换,得到协议转换后的资源请求,该协议转换后的资源请求用于请求http://a.com/x。从而,第一负载均衡节点向该第一服务节点发送协议转换后的资源请求和连接协议信息,该第一服务节点接收到该资源请求和连接协议信息后,基于该连接协议信息,以第一负载均衡节点的地址信息为源地址信息,以客户端的地址信息为目的地址信息,生成与该资源请求对应的响应报文,该响应报文携带该目标资源,并将该响应报文通过交换机直接发送给客户端,从而实现了在客户端与第一负载均衡之间所采用的网络协议和第一负载均衡节点与服务节点之间所采用的网络协议不同的情况下,第一服务节点的响应报文依然能够直接返回给客户端,而无需再次经过第一负载均衡节点,实现了资源请求与响应报文分离流转,形成应用层DR模式的高效转发,提高了CDN服务效率。
综上,负载均衡节点在接收到客户端的资源请求时,能够在该资源请求所采用的网络协议和负载均衡节点与服务节点之间所采用的网络协议不同的情况下,一次性定位到准确的服务节点,从而避免产生大量跨设备东西向流量,降低交换机和服务节点的压力,进一步地,负载均衡节点向该服务节点发送资源请求和连接协议信息,其中,该连接协议信息包括所采用的网络协议、客户端的地址信息和负载均衡节点的地址信息。通过这种方式,服务节点能够基于该连接协议信息,伪装成该负载均衡节点的响应报文,发送给客户端,该响应报文绕过了负载均衡节点,实现资源请求与响应报文分离流转,形成应用层DR模式的高效转发,提高了CDN服务的效率。
上述图3至图7所示的负载均衡方法介绍了本申请实施例提供的负载均衡方案的几种实施方式。其中,负载均衡节点能够一次性定位到准确的存储有目标资源的服务节点,并由该服务节点向客户端提供目标资源。下面基于图8所示的实施例,在负载均衡节点所确定的服务节点不存在目标资源的情况下,对本申请实施例提供的负载均衡方法进行介绍。
图8是本申请实施例提供的一种负载均衡方法的流程图。如图8所示,以客户端、第一负载均衡节点、第一服务节点以及第二服务节点之间的交互为例来进行说明,该负载均衡方法包括如下步骤801至步骤807。
801、客户端向第一负载均衡节点发送资源请求,该资源请求用于获取目标资源。
在本申请实施例中,本步骤801的具体实施方式与上述步骤301同理,故在此不再赘述。
802、第一负载均衡节点响应于该客户端的资源请求,确定第二服务节点。
在本申请实施例中,本步骤802的具体实施方式与上述步骤302同理,即,第一负载均衡节点响应于该资源请求,从多个服务节点中确定该第二服务节点。
803、第一负载均衡节点向该第二服务节点发送该资源请求、该第一负载均衡节点与该客户端之间的连接协议信息,该连接协议信息包括所采用的网络协议、该客户端的地址信息和该第一负载均衡节点的地址信息。
在本申请实施例中,本步骤803的具体实施方式与上述步骤303同理,故在此不再赘述。
804、第二服务节点接收该资源请求和该连接协议信息。
805、第二服务节点响应于该资源请求,在该第二服务节点不存在该目标资源的情况下,确定第一服务节点。
在本申请实施例中,该第一服务节点用于提供目标资源,第二服务节点在接收到该资源请求后,在该第二服务节点不存在该目标资源的情况下,基于该目标资源,从多个服务节点中重新确定存储有该目标资源的第一服务节点,该多个服务节点与该第一负载均衡节点属于同一数据中心。
在一些实施例中,该多个服务节点能够根据目标规则,及时更新自身存储的资源。其中,该目标规则能够根据实际需求进行设置,对此不作限定。例如,服务节点存储有某一资源,在该资源长时间未被访问的情况下,服务节点删除该资源;又例如,服务节点存储有某一资源,在该资源的存储时长已超过预设时长的情况下,服务节点删除该资源,等等,本申请实施例对此不作限定。基于这种情况,第一负载节点在确定第二服务节点,并向该第二服务节点发送资源请求和连接协议信息时,第二服务节点有可能已经删除了原先存储的该目标资源,因此,第二服务节点需要重新确定存储有该目标资源的服务节点。
在一些实施例中,第二服务节点调用目标算法,基于该资源请求,确定与该资源请求对应的第一服务节点。这一过程与上述步骤302中第一负载均衡节点确定第一服务节点的过程同理,故在此不再赘述。通过这种方式,多个服务节点中的每个服务节点能够在自身服务节点不存在目标资源的情况下,快速定位到存储有该目标资源的服务节点,提高CDN服务效率。当然,在一些实施例中,第二服务节点还能够将与自身相邻的服务节点确定为第一服务节点,等等,即,本申请实施例对于第二服务节点确定第一服务节点的具体方式不作限定。
806、第二服务节点向第一服务节点发送该资源请求和该连接协议信息。
807、第一服务节点响应于该资源请求,基于该连接协议信息,向该客户端发送该资源请求的响应报文,以将该目标资源传输给客户端。
在本申请实施例中,本步骤807的具体实施方式与上述步骤305同理。通过这种方式,在第一负载节点所确定的服务节点不存在目标资源的情况下,由该服务节点自行确定能够提供该目标资源的第一服务节点,并向该第一服务节点发送资源请求和连接协议信息,使得第一服务节点的响应报文能够直接返回给客户端,而无需再次经过第一负载均衡节点,从而在客户端无感知的情况下,实现资源请求与响应报文分离流转,形成应用层DR模式的高效转发,提高了CDN服务效率。
需要说明的是,在一些实施例中,第一服务节点在不存在该目标资源的情况下,继续从多个服务节点中确定其他服务节点,并向其他服务节点发送资源请求和连接协议信息,由其他服务节点向客户端提供该目标资源。
示意性地,下面参考图9,对上述步骤801至步骤807进行示意性说明。图9是本申请实施例提供的一种负载均衡方法的示意图。如图9所示,以客户端通过第一负载均衡节点向服务节点请求目标资源为例。客户端与第一负载均衡节点建立连接,向该第一负载均衡节点发送资源请求,第一负载均衡节点响应于该资源请求,确定第二服务节点,向该第二服务节点发送资源请求和连接协议信息,该第二服务节点在不存在目标资源的情况下,确定第一服务节点,向该第一服务节点发送资源请求和连接协议信息,第一服务节点接收到该资源请求和连接协议信息后,基于该连接协议信息,以第一负载均衡节点的地址信息为源地址信息,以客户端的地址信息为目的地址信息,生成与该资源请求对应的响应报文,该响应报文携带该目标资源,并将该响应报文通过交换机直接发送给客户端,从而在第一负载均衡节点所确定的服务节点不存在目标资源且客户端无感知的情况下,实现资源请求与响应报文分离流转,形成应用层DR模式的高效转发,提高了CDN服务效率。
另外,在上述图3至图7所示的负载均衡方法中,向客户端提供目标资源的第一服务节点所接收到的资源请求和连接协议信息是由第一负载均衡节点发送的,而在上述图8和图9所示的负载均衡方法中,向客户端提供目标资源的第一服务节点所接收到的资源请求和连接协议信息是由另一服务节点发送的,即,通过这种方式,第一负载均衡节点与客户端之间的连接协议信息能够实现跨设备转移,使得设备间能够互联互通,相互调度,形成分布式协议调度能力,有效提升了CDN服务的效率。
上述图3至图9所示的负载均衡方法介绍了本申请实施例提供的负载均衡方案的几种实施方式。其中,负载均衡节点与服务节点均属于同一数据中心。下面基于图10所示的实施例,在负载均衡方法的实施环境包括多个数据中心的情况下,对本申请实施例提供的负载均衡方法进行介绍。
图10是本申请实施例提供的一种负载均衡方法的流程图。如图10所示,以客户端、第一负载均衡节点、第二负载均衡节点以及第三服务节点之间的交互为例来进行说明,该负载均衡方法包括如下步骤1001至步骤1007。
1001、客户端向第一负载均衡节点发送资源请求,该资源请求用于获取目标资源。
在本申请实施例中,本步骤1001的具体实施方式与上述步骤301同理,故在此不再赘述。
1002、第一负载均衡节点响应于该客户端的资源请求,在第一负载均衡节点所在数据中心不存在目标资源的情况下,向第二负载均衡节点发送该资源请求、该第一负载均衡节点与该客户端之间的连接协议信息,该连接协议信息包括所采用的网络协议、该客户端的地址信息和该第一负载均衡节点的地址信息。
在本申请实施例中,第一负载均衡节点与第二负载均衡节点属于不同数据中心。每个数据中心都对应多个服务节点。示意性地,如图2所示,第一负载均衡节点1021属于第一数据中心,该第一数据中心包括多个服务节点1031;第二负载均衡节点1022属于第二数据中心,该第二数据中心包括多个服务节点1032。示意性地,第一负载均衡节点在接收到该资源请求后,在该第一负载均衡节点所在数据中心不存在该目标资源的情况下,基于该目标资源,确定第二负载均衡节点,并向该第二负载均衡节点发送该资源请求和连接协议信息。
通过这种方式,第一负载均衡节点能够在所在数据中心不存在目标资源的情况下,及时将资源请求和连接协议信息转移给其他数据中心的负载均衡节点,从而在客户端无感知的情况下,实现了资源请求与响应报文分离流转,形成应用层DR模式的高效转发,提高了CDN服务效率。
在一些实施例中,第一负载均衡节点存储有多个数据中心的资源存储情况,多个数据中心的资源存储情况用于指示各个数据中心所存储的资源和各个数据中心的网络地址。第一负载均衡节点在该第一负载均衡节点所在数据中心不存在目标资源的情况下,基于该第一负载均衡节点存储的多个数据中心的资源存储情况,确定第二负载均衡节点。通过这种方式,每个负载均衡节点能够在自身所在数据中心不存在目标资源的情况下,快速定位到存储有该目标资源的数据中心,提高CDN服务效率。当然,在一些实施例中,第一负载均衡节点还能够将相邻数据中心的负载均衡节点确定为第二负载均衡节点,等等,即,本申请实施例对于第一负载均衡节点确定第二负载均衡节点的具体方式不作限定。
1003、第二负载均衡节点接收该资源请求和该连接协议信息。
1004、第二负载均衡节点响应于该资源请求,确定第三服务节点,该第三服务节点用于提供目标资源。
在本申请实施例中,本步骤1004的具体实施方式与上述步骤302同理。需要说明的是,该第三服务节点与该第二服务节点属于同一数据中心,也即是,该第三服务节点与第一负载均衡节点属于不同数据中心。
1005、第二负载均衡节点向该第三服务节点发送该资源请求和连接协议信息。
1006、第三服务节点接收该资源请求和该连接协议信息。
1007、第三服务节点响应于该资源请求,基于该连接协议信息,向该客户端发送该资源请求的响应报文,以将该目标资源传输给客户端。
在本申请实施例中,本步骤1007的具体实施方式与上述步骤305同理。通过这种方式,在第一负载节点所在数据中心不存在目标资源的情况下,由该第一负载均衡自行确定能够提供该目标资源的其他数据中心,并向该数据中心对应的第二负载均衡节点发送资源请求和连接协议信息,使得该第二负载均衡节点能够从自身所在的数据中心中,确定第三服务节点,该第三服务节点的响应报文能够直接返回给客户端,而无需再次经过第一负载均衡节点和第二负载均衡节点,从而在客户端无感知的情况下,实现了资源请求与响应报文分离流转,形成应用层DR模式的高效转发,提高了CDN服务效率。
需要说明的是,在一些实施例中,第二负载均衡节点在该第二负载均衡节点所在数据中心不存在目标资源的情况下,继续确定其他数据中心,并向其他数据中心对应的负载均衡节点发送资源请求和连接协议信息,由其他数据中心的服务节点向客户端提供该目标资源。
示意性地,下面参考图11,对上述步骤1001至步骤1007进行示意性说明。图11是本申请实施例提供的一种负载均衡方法的示意图。如图11所示,以客户端通过第一负载均衡节点向服务节点请求目标资源为例。客户端与第一负载均衡节点建立连接,向该第一负载均衡节点发送资源请求,第一负载均衡节点响应于该资源请求,在该第一负载均衡节点所在数据中心不存在目标资源的情况下,向第二负载均衡节点发送资源请求和连接协议信息,该第二负载均衡节点在接收到该资源请求和连接协议信息后,响应于该资源请求,从自身所在数据中心的多个服务节点中确定第三服务节点,向该第三服务节点发送资源请求和连接协议信息,由该第三服务节点基于该连接协议信息,以第一负载均衡节点的地址信息为源地址信息,以客户端的地址信息为目的地址信息,生成与该资源请求对应的响应报文,该响应报文携带该目标资源,并将该响应报文通过交换机直接发送给客户端,从而在第一负载均衡节点所在数据中心不存在目标资源的情况下,实现资源请求与响应报文分离流转,在客户端无感知的情况下,形成应用层DR模式的高效转发,提高了CDN服务效率。
另外,在上述图10和图11所示的负载均衡方法中,向客户端提供目标资源的第三服务节点所接收到的资源请求和连接协议信息是由第一负载均衡节点发送给第二负载均衡节点后,由该第二负载均衡节点发送,即,通过这种方式,第一负载均衡节点与客户端之间的连接协议信息能够实现跨数据中心转移,使得数据中心间能够互联互通,相互调度,形成分布式协议调度能力,有效提升了CDN服务的效率。
而且,相关技术中,以302调度为例,当调度中心发现客户端所请求的资源有更合适的CDN节点来提供服务时,需要通过HTTP 302状态码,让客户端向更合适的CDN节点发起资源请求,导致客户端需要建立2次以上连接,资源请求时延成倍增加,而本申请实施例提供的负载均衡方法中,当负载均衡节点发现客户端所请求的资源有更合适的数据中心来提供服务时,无需通过HTTP 302状态码让客户端重新发起资源请求,而是可以直接将资源请求和连接协议信息转移给其他数据中心对应的负载均衡节点,实现了在客户端无感知的情况下,资源请求与响应报文分离流转,形成应用层DR模式的高效转发,相比302调度,能够在提高CDN服务效率的同时,有效减少资源请求的时延。
图12是本申请实施例提供的一种负载均衡装置的结构示意图。图12所示的负载均衡装置1200例如实现上述图3至图11所示的负载均衡方法中第一负载均衡节点的功能。如图12所示,负载均衡装置1200包括服务节点确定模块1201和连接协议信息转移模块1202。
服务节点确定模块1201,用于响应于客户端的资源请求,确定第一服务节点,该资源请求用于获取目标资源;
连接协议信息转移模块1202,用于向该第一服务节点发送该资源请求、该第一负载均衡节点与该客户端之间的连接协议信息,该连接协议信息包括所采用的网络协议、该客户端的地址信息和该第一负载均衡节点的地址信息,该连接协议信息用于服务节点向该客户端发送该资源请求的响应报文,以将该目标资源传输给该客户端,该响应报文的源地址信息为该第一负载均衡节点的地址信息。
在一些实施例中,该连接协议信息转移模块1202,用于:
向该第一服务节点发送该资源请求;
向该第一服务节点发送目标报文,该目标报文携带该连接协议信息,该目标报文所采用的网络协议和该第一负载均衡节点与服务节点之间建立连接所采用的网络协议为同一网络协议。
在一些实施例中,该第一负载均衡节点与该客户端之间建立连接所采用的网络协议为第一网络协议,该第一负载均衡节点与服务节点之间建立连接所采用的网络协议为第二网络协议,第一网络协议和第二网络协议不同,该连接协议信息还包括该第一网络协议和第二网络协议的报文头中的差异字段所携带的信息。
在一些实施例中,该第一网络协议为超文本传输安全协议HTTPS,该第二网络协议为超文本传输协议HTTP,该连接协议信息还包括该第一负载均衡节点和该客户端之间建立连接所需的密钥信息。
在一些实施例中,该第一网络协议为基于传输控制协议TCP的全双工通信协议websocket,该第二网络协议为超文本传输协议HTTP,该连接协议信息还包括该第一负载均衡节点和该客户端之间建立连接所需的密钥信息和该资源请求的请求类型,该请求类型用于标识该资源请求为web socket类型的请求。
在一些实施例中,该第一网络协议为超文本传输协议HTTP1.1,该第二网络协议为超文本传输协议HTTP,该连接协议信息还包括该第一负载均衡节点和该客户端之间建立连接所需的数据范围信息。
在一些实施例中,该装置还包括协议转换模块,用于在该资源请求不是基于目标协议生成的情况下,基于该目标协议,对该资源请求进行协议转换,得到协议转换后的该资源请求,该目标协议表示该第一负载均衡节点和服务节点之间所使用的协议;
该连接协议信息转移模块1202,用于:
向该第一服务节点发送协议转换后的该资源请求和该连接协议信息。
在一些实施例中,该第一服务节点与该第一负载均衡节点属于同一数据中心。
在一些实施例中,该连接协议信息转移模块1202,还用于:
响应于该资源请求,在该第一负载均衡节点所在数据中心不存在该目标资源的情况下,向第二负载均衡节点发送该资源请求和该连接协议信息,该第二负载均衡节点与该第一负载均衡节点属于不同数据中心。
需要说明的是:上述实施例提供的负载均衡装置在进行负载均衡时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的负载均衡装置与负载均衡方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图13是本申请实施例提供的一种数据处理装置的结构示意图。图13所示的数据处理装置1300例如实现上述图3至图11所示的负载均衡方法中服务节点的功能。如图13所示,数据处理装置1300包括信息接收模块1301和响应报文发送模块1302。
信息接收模块1301,用于接收客户端的资源请求、第一负载均衡节点与该客户端之间的连接协议信息,该连接协议信息包括所采用的网络协议、该客户端的地址信息和该第一负载均衡节点的地址信息,该资源请求用于获取目标资源;
响应报文发送模块1302,用于响应于该资源请求,基于该连接协议信息,向该客户端发送该资源请求的响应报文,以将该目标资源传输给该客户端,该响应报文的源地址信息为该第一负载均衡节点的地址信息。
在一些实施例中,该响应报文发送模块1302用于响应于该资源请求,基于该连接协议信息,以该第一负载均衡节点的地址信息为源地址信息,以该客户端的地址信息为目的地址信息,向该客户端发送该资源请求的响应报文。
在一些实施例中,该服务节点与该第一负载均衡节点属于同一数据中心。
在一些实施例中,该资源请求和该连接协议信息由该第一负载均衡节点发送。
在一些实施例中,该资源请求和该连接协议信息由该数据中心的另一服务节点发送。
在一些实施例中,该服务节点与该第一负载均衡节点属于不同数据中心。
在一些实施例中,该资源请求和该连接协议信息由该第一负载均衡节点发送给第二负载均衡节点后,由该第二负载均衡节点发送,该第二负载均衡节点与该服务节点属于同一数据中心,该第二负载均衡节点和该第一负载均衡节点属于不同数据中心。
需要说明的是:上述实施例提供的数据处理装置在进行数据处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与负载均衡方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一服务节点可以被称为第二服务节点,并且类似地,第二服务节点可以被称为第一服务节点。第一服务节点和第二服务节点都可以是服务节点,并且在某些情况下,可以是单独且不同的服务节点。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个服务节点是指两个或两个以上的服务节点。
以上描述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以程序产品的形式实现。该程序产品包括一个或多个程序指令。在计算设备上加载和执行该程序指令时,全部或部分地产生按照本申请实施例中的流程或功能。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (24)
1.一种负载均衡方法,其特征在于,由第一负载均衡节点执行,所述方法包括:
响应于客户端的资源请求,确定第一服务节点,所述资源请求用于获取目标资源;
向所述第一服务节点发送所述资源请求、所述第一负载均衡节点与所述客户端之间的连接协议信息,所述连接协议信息包括所采用的网络协议、所述客户端的地址信息和所述第一负载均衡节点的地址信息,所述连接协议信息用于服务节点向所述客户端发送所述资源请求的响应报文,以将所述目标资源传输给所述客户端,所述响应报文的源地址信息为所述第一负载均衡节点的地址信息。
2.根据权利要求1所述的方法,其特征在于,所述向所述第一服务节点发送所述资源请求、所述第一负载均衡节点与所述客户端之间的连接协议信息,包括:
向所述第一服务节点发送所述资源请求;
向所述第一服务节点发送目标报文,所述目标报文携带所述连接协议信息,所述目标报文所采用的网络协议和所述第一负载均衡节点与服务节点之间建立连接所采用的网络协议为同一网络协议。
3.根据权利要求1或2所述的方法,其特征在于,所述第一负载均衡节点与所述客户端之间建立连接所采用的网络协议为第一网络协议,所述第一负载均衡节点与服务节点之间建立连接所采用的网络协议为第二网络协议,第一网络协议和第二网络协议不同,所述连接协议信息还包括所述第一网络协议和所述第二网络协议的报文头中的差异字段所携带的信息。
4.根据权利要求3所述的方法,其特征在于,所述第一网络协议为超文本传输安全协议HTTPS,所述第二网络协议为超文本传输协议HTTP,所述连接协议信息还包括所述第一负载均衡节点和所述客户端之间建立连接所需的密钥信息。
5.根据权利要求3所述的方法,其特征在于,所述第一网络协议为基于传输控制协议TCP的全双工通信协议web socket,所述第二网络协议为超文本传输协议HTTP,所述连接协议信息还包括所述第一负载均衡节点和所述客户端之间建立连接所需的密钥信息和所述资源请求的请求类型,所述请求类型用于标识所述资源请求为web socket类型的请求。
6.根据权利要求3所述的方法,其特征在于,所述第一网络协议为超文本传输协议HTTP1.1,所述第二网络协议为超文本传输协议HTTP,所述连接协议信息还包括所述第一负载均衡节点和所述客户端之间建立连接所需的数据范围信息。
7.根据权利要求3至6任一项所述的方法,其特征在于,所述方法还包括:
基于所述第二网络协议,对所述资源请求进行协议转换,得到协议转换后的所述资源请求;
所述向所述第一服务节点发送所述资源请求、所述第一负载均衡节点与所述客户端之间的连接协议信息,包括:
向所述第一服务节点发送协议转换后的所述资源请求和所述连接协议信息。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述第一服务节点与所述第一负载均衡节点属于同一数据中心。
9.根据权利要求1至7任一项所述的方法,其特征在于,所述方法还包括:
响应于所述资源请求,在所述第一负载均衡节点所在数据中心不存在所述目标资源的情况下,向第二负载均衡节点发送所述资源请求和所述连接协议信息,所述第二负载均衡节点与所述第一负载均衡节点属于不同数据中心。
10.一种负载均衡方法,其特征在于,由服务节点执行,所述方法包括:
接收客户端的资源请求、第一负载均衡节点与所述客户端之间的连接协议信息,所述连接协议信息包括所采用的网络协议、所述客户端的地址信息和所述第一负载均衡节点的地址信息,所述资源请求用于获取目标资源;
响应于所述资源请求,基于所述连接协议信息,向所述客户端发送所述资源请求的响应报文,以将所述目标资源传输给所述客户端,所述响应报文的源地址信息为所述第一负载均衡节点的地址信息。
11.根据权利要求10所述的方法,其特征在于,所述响应于所述资源请求,基于所述连接协议信息,向所述客户端发送所述资源请求的响应报文,包括:
响应于所述资源请求,基于所述连接协议信息,以所述第一负载均衡节点的地址信息为源地址信息,以所述客户端的地址信息为目的地址信息,向所述客户端发送所述资源请求的响应报文。
12.根据权利要求10或11所述的方法,其特征在于,所述服务节点与所述第一负载均衡节点属于同一数据中心。
13.根据权利要求12所述的方法,其特征在于,所述资源请求和所述连接协议信息由所述第一负载均衡节点发送。
14.根据权利要求12所述的方法,其特征在于,所述资源请求和所述连接协议信息由所述数据中心的另一服务节点发送。
15.根据权利要求10或11所述的方法,其特征在于,所述服务节点与所述第一负载均衡节点属于不同数据中心。
16.根据权利要求15所述的方法,其特征在于,所述资源请求和所述连接协议信息由所述第一负载均衡节点发送给第二负载均衡节点后,由所述第二负载均衡节点发送,所述第二负载均衡节点与所述服务节点属于同一数据中心,所述第二负载均衡节点和所述第一负载均衡节点属于不同数据中心。
17.一种负载均衡装置,其特征在于,所述装置包括:
服务节点确定模块,用于响应于客户端的资源请求,确定第一服务节点,所述资源请求用于获取目标资源;
连接协议信息转移模块,用于向所述第一服务节点发送所述资源请求、所述第一负载均衡节点与所述客户端之间的连接协议信息,所述连接协议信息包括所采用的网络协议、所述客户端的地址信息和所述第一负载均衡节点的地址信息,所述连接协议信息用于服务节点向所述客户端发送所述资源请求的响应报文,以将所述目标资源传输给所述客户端,所述响应报文的源地址信息为所述第一负载均衡节点的地址信息。
18.根据权利要求17所述的装置,其特征在于,所述连接协议信息转移模块,用于:
向所述第一服务节点发送所述资源请求;
向所述第一服务节点发送目标报文,所述目标报文携带所述连接协议信息,所述目标报文所采用的网络协议和所述第一负载均衡节点与服务节点之间建立连接所采用的网络协议为同一网络协议。
19.一种数据处理装置,其特征在于,所述装置包括:
信息接收模块,用于接收客户端的资源请求、第一负载均衡节点与所述客户端之间的连接协议信息,所述连接协议信息包括所采用的网络协议、所述客户端的地址信息和所述第一负载均衡节点的地址信息,所述资源请求用于获取目标资源;
响应报文发送模块,用于响应于所述资源请求,基于所述连接协议信息,向所述客户端发送所述资源请求的响应报文,以将所述目标资源传输给所述客户端,所述响应报文的源地址信息为所述第一负载均衡节点的地址信息。
20.根据权利要求19所述的装置,其特征在于,所述响应报文发送模块,用于:
响应于所述资源请求,基于所述连接协议信息,以所述第一负载均衡节点的地址信息为源地址信息,以所述客户端的地址信息为目的地址信息,向所述客户端发送所述资源请求的响应报文。
21.一种负载均衡节点,其特征在于,所述负载均衡节点包括处理器和存储器,所述存储器用于存储至少一段程序代码,所述至少一段程序代码由所述处理器加载并执行如权利要求1至权利要求9中任一项所述的负载均衡方法。
22.一种服务节点,其特征在于,所述服务节点包括处理器和存储器,所述存储器用于存储至少一段程序代码,所述至少一段程序代码由所述处理器加载并执行如权利要求10至权利要求16中任一项所述的负载均衡方法。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储至少一段程序代码,所述至少一段程序代码用于执行如权利要求1至权利要求9中任一项所述的负载均衡方法,或执行如权利要求10至权利要求16中任一项所述的负载均衡方法。
24.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码被网络设备执行时,所述网络设备执行如权利要求1至权利要求9中任一项所述的负载均衡方法,或执行如权利要求10至权利要求16中任一项所述的负载均衡方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210124714.8A CN116633934A (zh) | 2022-02-10 | 2022-02-10 | 负载均衡方法、装置、节点及存储介质 |
PCT/CN2022/116443 WO2023151264A1 (zh) | 2022-02-10 | 2022-09-01 | 负载均衡方法、装置、节点及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210124714.8A CN116633934A (zh) | 2022-02-10 | 2022-02-10 | 负载均衡方法、装置、节点及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116633934A true CN116633934A (zh) | 2023-08-22 |
Family
ID=87563523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210124714.8A Pending CN116633934A (zh) | 2022-02-10 | 2022-02-10 | 负载均衡方法、装置、节点及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116633934A (zh) |
WO (1) | WO2023151264A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116975158A (zh) * | 2023-09-25 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 请求处理方法、装置、计算机设备和存储介质 |
CN117240787A (zh) * | 2023-11-14 | 2023-12-15 | 鹏城实验室 | 交换机负载均衡方法、装置、电子设备及可读存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117376662B (zh) * | 2023-12-08 | 2024-02-09 | 杭州领信数科信息技术有限公司 | 一种集群式视频安全边界交换方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6249801B1 (en) * | 1998-07-15 | 2001-06-19 | Radware Ltd. | Load balancing |
JP2003281109A (ja) * | 2002-03-26 | 2003-10-03 | Hitachi Ltd | 負荷分散方法 |
CN102752188A (zh) * | 2011-04-21 | 2012-10-24 | 北京邮电大学 | 一种传输控制协议连接迁移方法及系统 |
CN103220354A (zh) * | 2013-04-18 | 2013-07-24 | 广东宜通世纪科技股份有限公司 | 一种实现服务器集群负载均衡的方法 |
CN106302225B (zh) * | 2016-10-18 | 2019-05-03 | 优刻得科技股份有限公司 | 一种服务器负载均衡的方法与装置 |
CN111866064B (zh) * | 2016-12-29 | 2021-12-28 | 华为技术有限公司 | 一种负载均衡的方法、装置和系统 |
CN113067824B (zh) * | 2021-03-22 | 2023-04-07 | 平安科技(深圳)有限公司 | 数据调度方法、系统、虚拟主机及计算机可读存储介质 |
-
2022
- 2022-02-10 CN CN202210124714.8A patent/CN116633934A/zh active Pending
- 2022-09-01 WO PCT/CN2022/116443 patent/WO2023151264A1/zh unknown
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116975158A (zh) * | 2023-09-25 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 请求处理方法、装置、计算机设备和存储介质 |
CN116975158B (zh) * | 2023-09-25 | 2024-01-26 | 腾讯科技(深圳)有限公司 | 请求处理方法、装置、计算机设备和存储介质 |
CN117240787A (zh) * | 2023-11-14 | 2023-12-15 | 鹏城实验室 | 交换机负载均衡方法、装置、电子设备及可读存储介质 |
CN117240787B (zh) * | 2023-11-14 | 2024-03-01 | 鹏城实验室 | 交换机负载均衡方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023151264A1 (zh) | 2023-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102514250B1 (ko) | 모바일 에지 컴퓨팅 노드를 선택하기 위한 방법, 장치 및 시스템 | |
WO2020228505A1 (zh) | 一种移动边缘计算节点的选择方法、装置及系统 | |
CN112470436B (zh) | 用于提供多云连通性的系统、方法、以及计算机可读介质 | |
CN107852604B (zh) | 用于提供全局虚拟网络(gvn)的系统 | |
Nguyen et al. | Decentralized and revised content-centric networking-based service deployment and discovery platform in mobile edge computing for IoT devices | |
CN105610632B (zh) | 一种虚拟网络设备及相关方法 | |
US20200007444A1 (en) | Systems and methods for dynamic connection paths for devices connected to computer networks | |
CN116633934A (zh) | 负载均衡方法、装置、节点及存储介质 | |
US10637794B2 (en) | Resource subscription method, resource subscription apparatus, and resource subscription system | |
EP3278526B1 (en) | System, apparatus and method for load balancing | |
CN108881018B (zh) | 用于在diameter信令路由器处路由diameter消息的方法、系统及装置 | |
JP6395867B2 (ja) | OpenFlow通信方法及びシステム、制御部、並びにサービスゲートウェイ | |
CN110995829B (zh) | 实例调用方法、装置及计算机存储介质 | |
CN112968965A (zh) | Nfv网络节点的元数据服务方法、服务器及存储介质 | |
KR102397750B1 (ko) | 앵커리스 백홀의 지원을 위한 gtp 터널 | |
WO2021068937A1 (zh) | 服务绑定的方法及装置 | |
WO2020249128A1 (zh) | 一种服务路由方法及装置 | |
US20230269164A1 (en) | Method and apparatus for sending route calculation information, device, and storage medium | |
US10091645B1 (en) | Handling mobile device administration in anchorless mobile networks | |
JP2023547880A (ja) | バックアップネットワーク機能を提供するためのネットワークノードおよびネットワークノードにおける方法 | |
EP3652980B1 (en) | Virtual anchoring in anchorless mobile networks | |
EP3107352A1 (en) | Information transfer method and apparatus | |
Meghanathan et al. | Design of a Secure Framework for Session Mobility as a Service in Cloud Computing Environment | |
CN115622943A (zh) | 一种数据分流方法、装置、系统、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |