CN118251880A - Controller for performing load balancing in the non-application layer using non-application protocols - Google Patents
Controller for performing load balancing in the non-application layer using non-application protocols Download PDFInfo
- Publication number
- CN118251880A CN118251880A CN202180104223.0A CN202180104223A CN118251880A CN 118251880 A CN118251880 A CN 118251880A CN 202180104223 A CN202180104223 A CN 202180104223A CN 118251880 A CN118251880 A CN 118251880A
- Authority
- CN
- China
- Prior art keywords
- controller
- data packet
- field
- indicator
- weight
- 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
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/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/1014—Server selection for load balancing based on the content of a request
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
技术领域Technical Field
本发明涉及一种控制器,用于使用非应用协议在非应用层中执行负载均衡,更具体地,本发明涉及所述控制器用于传输数据包。此外,本发明还涉及一种用于控制器中的方法,所述控制器用于使用非应用协议在非应用层中执行负载均衡。The present invention relates to a controller for performing load balancing in a non-application layer using a non-application protocol, and more particularly, to the controller for transmitting data packets. In addition, the present invention also relates to a method used in a controller for performing load balancing in a non-application layer using a non-application protocol.
背景技术Background technique
现代高流量网站每秒处理数十万客户端请求,数千万来自不同客户端的并发请求,并以快速可靠的方式返回请求的文本、图像、视频或应用数据。现代计算系统通常需要添加更多的服务器来实现上述要求。为了在满足这些要求的同时经济高效地扩展,现代计算最佳实践通常需要添加更多服务器。作为“流量警察”的负载均衡器,放置在Web服务器前面,并在所有能够满足客户端请求的服务器上以最大限度地提高速度和容量利用率的方式路由这些请求,并确保没有服务器过度工作,这可能会降低性能。如果单个服务器发生故障,负载均衡器将流量重定向到剩余的在线服务器。当新的服务器添加到服务器组时,负载均衡器会自动开始向其发送请求。Modern high-traffic websites handle hundreds of thousands of client requests per second, tens of millions of concurrent requests from different clients, and return the requested text, images, videos, or application data in a fast and reliable manner. Modern computing systems often require adding more servers to achieve the above requirements. In order to scale cost-effectively while meeting these requirements, modern computing best practices often require adding more servers. Load balancers, which act as "traffic police", are placed in front of web servers and route these requests in a way that maximizes speed and capacity utilization across all servers that can satisfy client requests, and ensure that no server is overworked, which may degrade performance. If a single server fails, the load balancer redirects traffic to the remaining online servers. When a new server is added to the server group, the load balancer automatically starts sending requests to it.
在计算机网络中,已知的通信系统模型包括称为抽象层的分区。抽象层,第4层到第7层(L4至L7)是根据其功能定义的。L4指传输层,L5指会话层,L6指表示层,L7指应用层。传输层用于在网络上的各点之间传输数据。会话层管理应用之间的连接。表示层为应用提供映射和通信。应用层与终端用户交互和通信。负载均衡器指一种负载均衡技术,用于将新连接分配给服务器。In computer networks, the known communication system model includes partitions called abstraction layers. Abstraction layers, Layer 4 to Layer 7 (L4 to L7) are defined based on their functions. L4 refers to the transport layer, L5 refers to the session layer, L6 refers to the presentation layer, and L7 refers to the application layer. The transport layer is used to transfer data between points on the network. The session layer manages the connections between applications. The presentation layer provides mapping and communication for applications. The application layer interacts and communicates with end users. Load balancer refers to a load balancing technology used to distribute new connections to servers.
负载均衡器使用负载均衡技术将新连接分配给服务器。负载均衡器根据需要应用不同类型的负载均衡技术。当一组服务器需要分发请求时,将应用循环负载均衡技术。当新请求发送到客户端连接数最少的服务器时,将使用最少连接负载均衡技术。连接最少的服务器是通过考虑每个服务器的相对计算能力来确定的。当使用参数将请求发送到选定的服务器时,将使用最少时间负载均衡技术。该参数是通过结合最快响应时间和最低活动连接来计算的。最少时间负载均衡技术专门用于内部负载均衡(NGINX)加负载均衡器。当请求基于密钥分发时,则使用哈希负载均衡技术。密钥是使用客户端互联网协议(internetprotocol,IP)地址或请求统一资源定位器(uniform resource locator,URL)定义的。可选地,内部负载均衡(NGINX)加负载均衡器使用哈希负载均衡技术,在一组数据上游服务器发生变化时,最大限度地减少负载的重新分配。当客户端的IP地址用于确定哪个服务器接收请求时,将使用IP哈希负载均衡技术。随机双选负载均衡技术是通过向从两个服务器中随机选择的服务器发送请求,然后在选定的服务器上应用最少连接负载均衡技术来使用的。对于内部负载均衡(NGINX)加负载均衡器,使用最少时间负载均衡技术。The load balancer uses load balancing techniques to distribute new connections to servers. The load balancer applies different types of load balancing techniques as needed. When a group of servers need to distribute requests, round-robin load balancing techniques are applied. Least connection load balancing techniques are used when new requests are sent to the server with the least number of client connections. The server with the least connections is determined by considering the relative computing power of each server. Least time load balancing techniques are used when a parameter is used to send requests to the selected server. The parameter is calculated by combining the fastest response time and the lowest active connection. Least time load balancing techniques are used exclusively with Internal Load Balancing (NGINX) plus load balancers. Hash load balancing techniques are used when requests are distributed based on a key. The key is defined using the client Internet Protocol (IP) address or the request uniform resource locator (URL). Optionally, Internal Load Balancing (NGINX) plus load balancers use hash load balancing techniques to minimize load redistribution when a group of data upstream servers changes. IP hash load balancing techniques are used when the client's IP address is used to determine which server receives a request. The random double selection load balancing technique is used by sending a request to a server randomly selected from two servers and then applying the least connection load balancing technique on the selected server. For internal load balancing (NGINX) plus load balancer, the least time load balancing technique is used.
图1A为现有技术提供的在传输层执行负载均衡的示例性图100A。示例性图100A包括客户端设备102、负载均衡器104和后端服务器106A至106N。传输层的负载均衡器104对记录在数据包头中的源IP地址和目的地IP地址和端口执行负载均衡。负载均衡器的IP地址被广播到用于网站或服务的客户端设备102。因此,客户端设备102在其请求中注册负载均衡器的IP地址作为目的地IP地址。当传输层的负载均衡器104接收到请求并做出负载均衡决策时,它对请求数据包执行网络地址转换(network address translation,NAT),以将记录的目的地IP地址从“服务器IP地址”更改为用于此连接的专门选择的机器。类似地,在将后端服务器106A至106N响应转发到客户端设备102之前,负载均衡器104可以将数据包头中记录的源地址从服务器的IP地址改变为其自己的IP地址。数据包中记录的目的地和源TCP端口号有时也会以类似方式更改。传输层的负载平衡器104可以是运行专有负载均衡软件的硬件设备,如果存在NAT操作,则可以是专用芯片而不是软件。负载均衡器104有效地平衡用于简单的分组级负载均衡。传输层的负载均衡器104根据应用端口和协议等网络信息管理网络流量,而不考虑数据消息的实际内容。此外,数据消息的内容既不被检查,也不被解密,以快速、高效和安全地进行转发。因此,负载均衡器104不能根据媒体类型、本地化规则或其它标准路由流量。传输层的负载均衡器104需要较少的计算。但是负载均衡器104在传输层的性能已经变得可以忽略不计或不相关。FIG. 1A is an exemplary diagram 100A of performing load balancing at the transport layer provided by the prior art. The exemplary diagram 100A includes a client device 102, a load balancer 104, and backend servers 106A to 106N. The load balancer 104 at the transport layer performs load balancing on the source IP address and the destination IP address and port recorded in the data packet header. The IP address of the load balancer is broadcast to the client device 102 for the website or service. Therefore, the client device 102 registers the IP address of the load balancer as the destination IP address in its request. When the load balancer 104 at the transport layer receives the request and makes a load balancing decision, it performs network address translation (NAT) on the request packet to change the recorded destination IP address from the "server IP address" to the specially selected machine for this connection. Similarly, before forwarding the backend server 106A to 106N response to the client device 102, the load balancer 104 can change the source address recorded in the data packet header from the server's IP address to its own IP address. The destination and source TCP port numbers recorded in the data packet are sometimes changed in a similar manner. The load balancer 104 at the transport layer can be a hardware device running proprietary load balancing software, or a dedicated chip instead of software if NAT operation is present. The load balancer 104 effectively balances for simple packet-level load balancing. The load balancer 104 at the transport layer manages network traffic based on network information such as application ports and protocols, without considering the actual content of the data message. In addition, the content of the data message is neither inspected nor decrypted for fast, efficient and secure forwarding. Therefore, the load balancer 104 cannot route traffic based on media type, localization rules or other criteria. The load balancer 104 at the transport layer requires less computation. But the performance of the load balancer 104 at the transport layer has become negligible or irrelevant.
图1B为现有技术提供的在应用层执行负载均衡的示例性图100B。示例性图100B包括客户端设备108、负载均衡器110和后端服务器112A至112N。应用层中的负载均衡器110使用超文本传输协议(hypertext transfer protocol,HTTP)和简单邮件传输协议(simplemail transfer protocol,SMTP)等技术执行负载均衡,以提供基于每个消息的实际内容的决策。应用层的负载平衡器110终止网络流量,根据需要执行消息的解密,检查消息,做出基于内容的路由决策,发起到适当上游服务器的新的传输控制协议(transmission controlprotocol,TCP)连接,并将请求写入服务器。虽然加密的需要会对应用层处理造成性能损失,但通过使用安全套接字层(secure socket layer,SSL)卸载功能,可以在很大程度上降低性能损失。应用层的负载均衡器110确定更智能的负载均衡决策和内容优化。负载均衡器110识别唯一的客户端会话,以提供服务器持久性或“粘性会话”,通过查看或主动注入Cookie,将所有客户端请求发送到同一服务器,以提高效率。数据包级可见性允许使用内容缓存,将经常访问的项目保存在存储器中,以便于检索。应用层的负载均衡器110提供处理将请求多路复用到单个连接上的协议,以优化流量并减少开销的智能性。应用层的负载均衡器110成本较高,并且增加了作为终止点并建立到后端服务器112A至112N的连接的复杂性。FIG. 1B is an exemplary diagram 100B of performing load balancing at the application layer provided by the prior art. The exemplary diagram 100B includes a client device 108, a load balancer 110, and back-end servers 112A to 112N. The load balancer 110 in the application layer performs load balancing using technologies such as the hypertext transfer protocol (HTTP) and the simple mail transfer protocol (SMTP) to provide decisions based on the actual content of each message. The load balancer 110 at the application layer terminates network traffic, performs message decryption as needed, inspects the message, makes content-based routing decisions, initiates a new transmission control protocol (TCP) connection to the appropriate upstream server, and writes the request to the server. Although the need for encryption causes performance loss to application layer processing, the performance loss can be greatly reduced by using the secure socket layer (SSL) offload function. The load balancer 110 at the application layer determines smarter load balancing decisions and content optimization. The load balancer 110 identifies unique client sessions to provide server persistence or "sticky sessions" by watching or actively injecting cookies to send all client requests to the same server for increased efficiency. Packet-level visibility allows for the use of content caching to keep frequently accessed items in memory for easy retrieval. The load balancer 110 at the application layer provides the intelligence to handle protocols that multiplex requests onto a single connection to optimize traffic and reduce overhead. The load balancer 110 at the application layer is more expensive and has the added complexity of being a termination point and establishing connections to the backend servers 112A to 112N.
因此,需要解决在非应用层中的负载均衡中的已知技术或技术中的上述技术缺陷。Therefore, there is a need to address the above technical deficiencies in known techniques or technologies in load balancing in non-application layers.
发明内容Summary of the invention
本发明的目的是提供一种控制器,用于使用非应用协议在非应用层中执行负载均衡,所述控制器用于传输数据包,以及提供了一种在所述控制器中使用的方法,所述控制器用于使用非应用协议在非应用层中执行负载均衡,同事避免了现有技术方法的一个或多个缺点。An object of the present invention is to provide a controller for performing load balancing in a non-application layer using a non-application protocol, the controller being used to transmit data packets, and a method for use in the controller, the controller being used to perform load balancing in a non-application layer using a non-application protocol, while avoiding one or more disadvantages of the prior art methods.
通过独立权利要求的特征来实现上述目的。进一步的实现方式在从属权利要求、说明书和附图中显而易见。The above objects are achieved by the features of the independent claims. Further implementations are apparent from the dependent claims, the description and the drawings.
本发明提供了一种控制器,用于使用非应用协议在非应用层中执行负载均衡,所述控制器用于传输数据包,以及提供了一种在所述控制器中使用的方法,所述控制器用于使用非应用协议在非应用层中执行负载均衡。The present invention provides a controller for performing load balancing in a non-application layer using a non-application protocol, the controller is used to transmit data packets, and a method used in the controller, the controller is used to perform load balancing in a non-application layer using a non-application protocol.
根据第一方面,提供了一种控制器,用于使用非应用协议在非应用层中执行负载均衡。所述负载均衡包括确定数据包应发送到服务器的池中的哪个后端服务器。所述控制器用于接收数据包。所述数据包包括一个或多个字段和数据载荷。所述数据载荷被加密,并且所述一个或多个字段中的至少一个字段是未加密的。所述控制器用于根据所述至少一个未加密字段确定所述数据包的操作和/或权重。所述控制器用于根据所述数据包的所述操作和/或权重确定将所述数据包发送到的服务器。According to a first aspect, a controller is provided for performing load balancing in a non-application layer using a non-application protocol. The load balancing includes determining to which backend server in a pool of servers a data packet should be sent. The controller is used to receive a data packet. The data packet includes one or more fields and a data payload. The data payload is encrypted, and at least one of the one or more fields is unencrypted. The controller is used to determine an operation and/or a weight of the data packet based on the at least one unencrypted field. The controller is used to determine a server to which the data packet is to be sent based on the operation and/or weight of the data packet.
所述控制器降低了负载均衡器的成本,并使用具有高层负载均衡解码能力的L4负载均衡器。所述控制器降低了延迟,因为不需要在所述负载均衡器上生成终止点。所述控制器减少了到服务器的池的连接数,因为不需要终止所述负载均衡器处的代理连接。所述控制器提供了智能负载均衡决策和内容优化。所述控制器所需的计算较少。当所述控制器根据媒体类型、本地化规则或知道数据消息内容的其它标准路由流量时,所述控制器在传输层的性能非常高效。The controller reduces the cost of the load balancer and uses an L4 load balancer with high-level load balancing decoding capabilities. The controller reduces latency because no termination points need to be generated at the load balancer. The controller reduces the number of connections to a pool of servers because no proxy connections need to be terminated at the load balancer. The controller provides intelligent load balancing decisions and content optimization. The controller requires less computation. The performance of the controller at the transport layer is very efficient when the controller routes traffic based on media type, localization rules, or other criteria that know the content of the data message.
可选地,所述控制器用于根据服务器当前负载确定将所述数据包发送到的所述服务器。Optionally, the controller is used to determine the server to which the data packet is sent based on a current load of the server.
可选地,所述至少一个字段为可选的头字段。可选地,所述至少一个字段可以为分配用于指示互联网协议地址(DST IP),但用于携带操作指示符的字段。所述至少一个字段为时间戳字段。Optionally, the at least one field is an optional header field. Optionally, the at least one field may be a field allocated to indicate an Internet Protocol address (DST IP) but used to carry an operation indicator. The at least one field is a timestamp field.
可选地,所述控制器还用于根据所述至少一个字段中携带的所述操作指示符确定所述操作。Optionally, the controller is further used to determine the operation according to the operation indicator carried in the at least one field.
可选地,所述控制器还用于根据所述至少一个字段中携带的权重指示符来确定权重。Optionally, the controller is further configured to determine the weight according to a weight indicator carried in the at least one field.
可选地,所述至少一个字段是分配用于目的地端口(DST),但用于携带权重指示符的字段。可选地,所述权重指示符包括业务指示符。Optionally, the at least one field is a field allocated for a destination port (DST) but used to carry a weight indicator. Optionally, the weight indicator comprises a traffic indicator.
可选地,所述控制器还用于根据所述操作指示符,结合所述业务指示符,确定所述数据包的所述操作的所述权重。Optionally, the controller is further configured to determine the weight of the operation of the data packet according to the operation indicator in combination with the service indicator.
可选地,所述控制器还用于根据查表确定所述数据包的所述操作的所述权重。Optionally, the controller is further configured to determine the weight of the operation of the data packet based on a table lookup.
可选地,所述控制器还包括确定将所述数据包发送到的服务器,以便将类似业务的数据包发送到处理此类业务的同一组服务器。Optionally, the controller further comprises determining a server to which the data packet is to be sent, so that data packets of similar services are sent to the same group of servers that process such services.
可选地,所述非应用层为传输层,所述协议为传输数据的传输协议。Optionally, the non-application layer is a transport layer, and the protocol is a transport protocol for transmitting data.
可选地,所述非应用层为网络层,所述协议为传输数据的传输协议。Optionally, the non-application layer is a network layer, and the protocol is a transmission protocol for transmitting data.
可选地,所述控制器还用于在所述非应用层中进行应用层负载均衡。Optionally, the controller is further configured to perform application layer load balancing in the non-application layer.
根据第二方面,提供了一种控制器,用于传输数据包。所述数据包包括一个或多个字段和数据载荷。所述数据载荷被加密,并且所述一个或多个字段中的至少一个字段是未加密的。控制器用于在数据包的至少一个未加密字段中包括数据包的操作指示符和/或权重指示符。According to a second aspect, a controller is provided for transmitting a data packet. The data packet includes one or more fields and a data payload. The data payload is encrypted, and at least one of the one or more fields is unencrypted. The controller is configured to include an operation indicator and/or a weight indicator of the data packet in at least one unencrypted field of the data packet.
所述控制器提供了智能负载均衡决策和内容优化。所述控制器所需的计算较少。当所述控制器根据媒体类型、本地化规则或知道数据消息内容的其它标准路由流量时,所述控制器在传输层的性能非常高效。The controller provides intelligent load balancing decisions and content optimization. The controller requires less computation. The controller is very efficient at the transport layer when it routes traffic based on media type, localization rules, or other criteria that know the content of the data message.
可选地,所述至少一个字段是分配用于指示互联网协议地址(DST IP),但用于携带操作指示符的字段。Optionally, the at least one field is a field allocated to indicate an Internet Protocol address (DST IP) but used to carry an operation indicator.
可选地,所述至少一个字段是分配用于指示端口(DST PORT),但用于携带权重指示符的字段。可选地,所述权重指示符为业务指示符。Optionally, the at least one field is a field allocated to indicate a port (DST PORT) but used to carry a weight indicator. Optionally, the weight indicator is a service indicator.
第三方面,提供了一种设备,包括控制器。According to a third aspect, a device is provided, including a controller.
根据第四方面,提供了一种在控制器中使用的方法,用于使用非应用协议在非应用层中执行负载均衡。所述负载均衡包括确定数据包应发送到服务器的池中的哪个后端服务器。所述方法包括接收数据包。所述数据包包括一个或多个字段和数据载荷。所述数据载荷被加密,并且所述一个或多个字段中的至少一个字段是未加密的。所述方法包括根据所述至少一个未加密字段确定所述数据包的操作和/或权重。所述方法包括根据所述数据包的所述操作和/或权重确定将所述数据包发送到的服务器。According to a fourth aspect, a method for use in a controller is provided for performing load balancing in a non-application layer using a non-application protocol. The load balancing includes determining to which backend server in a pool of servers a data packet should be sent. The method includes receiving a data packet. The data packet includes one or more fields and a data payload. The data payload is encrypted, and at least one of the one or more fields is unencrypted. The method includes determining an operation and/or a weight of the data packet based on the at least one unencrypted field. The method includes determining a server to which the data packet is to be sent based on the operation and/or weight of the data packet.
在所述控制器中使用的所述方法降低了负载均衡器的成本,并使用具有高层负载均衡解码能力的L4负载均衡器。在所述控制器中使用的所述方法降低了延迟,因为不需要在所述负载均衡器上生成终止点。在所述控制器中使用的所述方法减少了到服务器的池的连接数,因为不需要终止所述负载均衡器处的代理连接。在所述控制器中使用的所述方法与后端服务器建立不同的连接。所述方法提供了智能负载均衡决策和内容优化。在所述控制器中使用的所述方法需要较少的计算。The method used in the controller reduces the cost of the load balancer and uses an L4 load balancer with high-level load balancing decoding capabilities. The method used in the controller reduces latency because no termination point needs to be generated on the load balancer. The method used in the controller reduces the number of connections to a pool of servers because no proxy connection needs to be terminated at the load balancer. The method used in the controller establishes different connections to backend servers. The method provides intelligent load balancing decisions and content optimization. The method used in the controller requires less computation.
可选地,所述方法还包括根据服务器当前负载确定将所述数据包发送到的服务器。Optionally, the method further comprises determining a server to which to send the data packet based on a current load of the server.
可选地,所述至少一个字段为可选的头字段。Optionally, the at least one field is an optional header field.
可选地,所述至少一个字段是分配用于指示互联网协议地址(DST IP),但用于携带操作指示符的字段。可选地,所述至少一个字段为时间戳字段。Optionally, the at least one field is a field allocated to indicate an Internet Protocol address (DST IP) but used to carry an operation indicator. Optionally, the at least one field is a timestamp field.
可选地,所述方法还包括根据所述至少一个字段中携带的所述操作指示符确定所述操作。Optionally, the method further comprises determining the operation according to the operation indicator carried in the at least one field.
可选地,所述方法还包括根据至少一个字段中携带的权重指示符来确定权重。Optionally, the method further comprises determining the weight according to a weight indicator carried in at least one field.
可选地,所述至少一个字段是分配用于目的地端口(DST),但用于携带所述权重指示符的字段。Optionally, the at least one field is a field allocated for a destination port (DST) but used to carry the weight indicator.
可选地,所述权重指示符包括业务指示符。Optionally, the weight indicator includes a service indicator.
可选地,所述方法还包括根据所述操作指示符,结合所述业务指示符,确定所述数据包的操作的权重。Optionally, the method further comprises determining a weight of the operation of the data packet according to the operation indicator in combination with the service indicator.
可选地,所述方法还包括根据查表确定所述数据包的所述操作的所述权重。Optionally, the method further comprises determining the weight of the operation of the data packet based on a table lookup.
可选地,所述方法还包括确定将所述数据包发送到的服务器,以便将类似业务的数据包发送到处理此类业务的同一组服务器。Optionally, the method further comprises determining a server to which the data packet is to be sent, so that data packets of similar services are sent to the same group of servers that handle such services.
可选地,所述非应用层为传输层,所述协议为传输数据的传输协议。Optionally, the non-application layer is a transport layer, and the protocol is a transport protocol for transmitting data.
可选地,所述非应用层为网络层,所述协议为传输数据的传输协议。Optionally, the non-application layer is a network layer, and the protocol is a transmission protocol for transmitting data.
可选地,所述方法还包括在所述非应用层中进行应用层负载均衡。Optionally, the method further comprises performing application layer load balancing in the non-application layer.
根据第五方面,提供了一种在用于传输数据包的控制器中使用的方法。所述数据包包括一个或多个字段和数据载荷。所述数据载荷被加密,并且所述一个或多个字段中的至少一个字段是未加密的。所述控制器用于在所述数据包的至少一个未加密字段中包括所述数据包的操作指示符和/或权重指示符。According to a fifth aspect, a method is provided for use in a controller for transmitting a data packet. The data packet comprises one or more fields and a data payload. The data payload is encrypted, and at least one of the one or more fields is unencrypted. The controller is configured to include an operation indicator and/or a weight indicator of the data packet in at least one unencrypted field of the data packet.
可选地,所述至少一个字段是分配用于指示互联网协议地址(DST IP),但用于携带操作所述指示符的字段。Optionally, the at least one field is a field allocated to indicate an Internet Protocol address (DST IP) but used to carry an operation of the indicator.
可选地,所述至少一个字段是分配用于指示端口(DST PORT),但用于携带所述权重指示符的字段。所述权重指示符可以是业务指示符。Optionally, the at least one field is a field allocated to indicate a port (DST PORT) but used to carry the weight indicator. The weight indicator may be a service indicator.
根据第六方面,提供了一种设备,包括控制器,当加载指令并执行那些指令时,所述控制器可以执行上述方法。According to a sixth aspect, there is provided an apparatus comprising a controller, which can perform the above method when loading instructions and executing those instructions.
因此,与现有技术不同的是,本文提供用于使用非应用协议在非应用层中执行负载均衡的控制器。所述控制器用于传输数据包,所述数据包包括一个或多个字段和数据载荷。所述控制器降低了负载均衡器的成本,并使用具有高层负载均衡解码能力的L4负载均衡器。所述控制器降低了延迟,因为不需要在所述负载均衡器上生成终止点。所述控制器减少了到服务器的池的连接数,因为不需要终止所述负载均衡器处的代理连接。所述控制器与后端服务器建立不同的连接。所述控制器提供了智能负载均衡决策和内容优化。所述控制器所需的计算较少。当所述控制器根据媒体类型、本地化规则或知道数据消息内容的其它标准路由流量时,所述控制器在传输层的性能非常高效。网络嗅探器检查类似的请求是否在所述数据包的所述一个或多个字段上获得相同的值。所述网络嗅探器检查所述数据包的所述一个或多个字段上的不同请求是否相同。Therefore, unlike the prior art, the present invention provides a controller for performing load balancing in a non-application layer using a non-application protocol. The controller is used to transmit a data packet, the data packet including one or more fields and a data payload. The controller reduces the cost of the load balancer and uses an L4 load balancer with high-level load balancing decoding capabilities. The controller reduces latency because there is no need to generate a termination point on the load balancer. The controller reduces the number of connections to a pool of servers because there is no need to terminate the proxy connection at the load balancer. The controller establishes different connections with back-end servers. The controller provides intelligent load balancing decisions and content optimization. The controller requires less calculation. When the controller routes traffic based on media type, localization rules, or other criteria that know the content of the data message, the performance of the controller at the transport layer is very efficient. A network sniffer checks whether similar requests obtain the same value on the one or more fields of the data packet. The network sniffer checks whether different requests on the one or more fields of the data packet are the same.
根据下文描述的一个或多个实现方式,本发明的这些和其它方面是显而易见的。These and other aspects of the invention will be apparent from one or more implementations described hereinafter.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
现仅通过示例的方式结合附图对本发明的各实现方式进行说明,其中:The various implementations of the present invention are now described by way of example only with reference to the accompanying drawings, wherein:
图1A和图1B现有技术提供的在传输层和应用层执行负载均衡的示例性图;1A and 1B are exemplary diagrams of performing load balancing at the transport layer and the application layer provided by the prior art;
图2为本发明的实现方式提供的用于使用非应用协议在非应用层中执行负载均衡的控制器的框图;2 is a block diagram of a controller for performing load balancing in a non-application layer using a non-application protocol provided by an implementation of the present invention;
图3为本发明的实现方式提供的用于执行负载均衡以根据数据包的操作指示符和/或权重指示符确定将数据包发送到的服务器的控制器的示例性框图;3 is an exemplary block diagram of a controller for performing load balancing to determine a server to which a data packet is to be sent according to an operation indicator and/or a weight indicator of a data packet, provided in an implementation of the present invention;
图4为本发明的实现方式提供的用于分配时间戳字段以确定将数据包发送到的服务器的控制器的示例性框图;FIG4 is an exemplary block diagram of a controller for allocating a timestamp field to determine a server to which a data packet is to be sent, provided by an implementation of the present invention;
图5为本发明的实现方式提供的用于使用非应用协议在非应用层中执行负载均衡的控制器的方法的流程图;5 is a flow chart of a method for a controller to perform load balancing in a non-application layer using a non-application protocol provided by an implementation of the present invention;
图6为本发明的实现方式中使用的计算装置(例如,控制器)的图示。6 is a diagram of a computing device (eg, a controller) used in an implementation of the present invention.
具体实施方式Detailed ways
本发明的实现方式提供了一种控制器,用于使用非应用协议在非应用层中执行负载均衡,所述控制器用于传输数据包,以及提供了一种在所述控制器中使用的方法,所述控制器用于使用非应用协议在非应用层中执行负载均衡。An implementation of the present invention provides a controller for performing load balancing in a non-application layer using a non-application protocol, the controller being used to transmit data packets, and a method used in the controller, the controller being used to perform load balancing in a non-application layer using a non-application protocol.
为了使本领域技术人员更容易理解本发明的方案,结合附图描述了本发明的以下实现方式。In order to make it easier for those skilled in the art to understand the solutions of the present invention, the following implementations of the present invention are described in conjunction with the accompanying drawings.
本发明的说明书、权利要求书及上述附图中的“第一”、“第二”、“第三”和“第四”(如果有)等术语用于区分相似的对象,而不一定用于描述特定的序列或顺序。应当理解,如此使用的术语在适当的情况下是可互换的,例如使得本文描述的本发明的实现方式能够以本文所示或所描述的序列以外的序列来实现。此外,术语“包括”和“具有”及其任何变体旨在涵盖非排他性包括。例如,包括一系列步骤或单元的过程、方法、系统、产品或设备不一定限于明确列出的步骤或单元,而是可以包括未明确列出的或此类过程、方法、产品或设备固有的其它步骤或单元。The terms "first", "second", "third" and "fourth" (if any) in the specification, claims and above-mentioned drawings of the present invention are used to distinguish similar objects, and are not necessarily used to describe a specific sequence or order. It should be understood that the terms used in this way are interchangeable where appropriate, such as enabling the implementation of the present invention described herein to be implemented in a sequence other than the sequence shown or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to the steps or units explicitly listed, but may include other steps or units that are not explicitly listed or inherent to such processes, methods, products or devices.
图2为本发明的实现方式提供的用于使用非应用协议在非应用层中执行负载均衡的控制器202的框图200。框图200包括控制器202和服务器204A至204N的池。负载均衡包括确定数据包应发送到服务器204A至204N的池中的哪个后端服务器。控制器202用于接收数据包。数据包包括一个或多个字段和数据载荷。数据载荷被加密,并且一个或多个字段中的至少一个字段是未加密的。控制器202用于根据所述至少一个未加密字段确定所述数据包的操作和/或权重。控制器202用于根据所述数据包的所述操作和/或权重确定将所述数据包发送到的服务器。FIG. 2 is a block diagram 200 of a controller 202 for performing load balancing in a non-application layer using a non-application protocol provided by an implementation of the present invention. The block diagram 200 includes a controller 202 and a pool of servers 204A to 204N. Load balancing includes determining which backend server in the pool of servers 204A to 204N a data packet should be sent to. The controller 202 is used to receive a data packet. The data packet includes one or more fields and a data payload. The data payload is encrypted, and at least one of the one or more fields is unencrypted. The controller 202 is used to determine an operation and/or weight of the data packet based on the at least one unencrypted field. The controller 202 is used to determine a server to which the data packet is sent based on the operation and/or weight of the data packet.
控制器202降低了负载均衡器的成本,并使用具有高层负载均衡解码能力的L4负载均衡器。控制器202降低了延迟,因为不需要在负载均衡器d上生成终止点。控制器202减少了到服务器204A至204N的池的连接数,因为不需要终止负载均衡器处的代理连接。控制器202与后端服务器建立不同的连接。控制器202提供智能负载均衡决策和内容优化。当控制器202根据媒体类型、本地化规则或知道数据消息内容的其它标准路由流量时,控制器202在传输层的性能非常高效。Controller 202 reduces the cost of the load balancer and uses an L4 load balancer with high-level load balancing decoding capabilities. Controller 202 reduces latency because there is no need to generate a termination point on load balancer d. Controller 202 reduces the number of connections to the pool of servers 204A to 204N because there is no need to terminate the proxy connection at the load balancer. Controller 202 establishes different connections with the backend servers. Controller 202 provides intelligent load balancing decisions and content optimization. When controller 202 routes traffic based on media type, localization rules, or other criteria that know the content of the data message, the performance of controller 202 at the transport layer is very efficient.
可选地,控制器202用于根据服务器当前负载确定将数据包发送到的服务器。Optionally, the controller 202 is configured to determine a server to which to send the data packet according to a current load of the server.
可选地,所述至少一个字段为可选的头字段。可选地,所述至少一个字段是分配用于指示互联网协议地址(DST IP),但用于携带操作指示符的字段。可选地,至少一个字段为时间戳字段。Optionally, the at least one field is an optional header field. Optionally, the at least one field is a field allocated to indicate an Internet Protocol address (DST IP) but used to carry an operation indicator. Optionally, the at least one field is a timestamp field.
可选地,控制器202还用于根据所述至少一个字段中携带的操作指示符确定所述操作。Optionally, the controller 202 is further configured to determine the operation according to an operation indicator carried in the at least one field.
可选地,控制器202还用于根据至少一个字段中携带的权重指示符来确定权重。可选地,权重指示符包括业务指示符。Optionally, the controller 202 is further configured to determine the weight according to a weight indicator carried in at least one field. Optionally, the weight indicator includes a service indicator.
可选地,控制器202还用于根据所述操作指示符,结合所述业务指示符,确定所述数据包的操作的权重。Optionally, the controller 202 is further configured to determine a weight of an operation of the data packet according to the operation indicator in combination with the service indicator.
可选地,控制器202还用于根据查表确定数据包的操作的权重。Optionally, the controller 202 is further configured to determine the weight of the operation of the data packet according to a table lookup.
可选地,非应用层为传输层,协议为传输数据的传输协议。Optionally, the non-application layer is a transport layer, and the protocol is a transport protocol for transmitting data.
可选地,非应用层为网络层,协议为传输数据的传输协议。Optionally, the non-application layer is a network layer, and the protocol is a transmission protocol for transmitting data.
可选地,控制器202还用于在非应用层中进行应用层负载均衡。Optionally, the controller 202 is further configured to perform application layer load balancing in a non-application layer.
图3为本发明的实现方式提供的用于执行负载均衡以根据数据包的操作指示符和/或权重指示符确定将数据包发送到的服务器的控制器304的示例性图300。示例性图300包括客户端设备302、控制器304和服务器306A、306B的池。客户端设备302传输数据包。控制器304用于从客户端设备302接收数据包。控制器304用于向服务器传输数据包。数据包包括一个或多个字段和数据载荷。数据载荷被加密,并且一个或多个字段中的至少一个字段是未加密的。控制器304用于在数据包的至少一个未加密字段中包括数据包的操作指示符和/或权重指示符。FIG3 is an exemplary diagram 300 of a controller 304 for performing load balancing to determine a server to which a data packet is to be sent based on an operation indicator and/or a weight indicator of a data packet, provided by an implementation of the present invention. The exemplary diagram 300 includes a client device 302, a controller 304, and a pool of servers 306A, 306B. The client device 302 transmits a data packet. The controller 304 is used to receive a data packet from the client device 302. The controller 304 is used to transmit a data packet to a server. The data packet includes one or more fields and a data payload. The data payload is encrypted, and at least one of the one or more fields is unencrypted. The controller 304 is used to include an operation indicator and/or a weight indicator of the data packet in at least one unencrypted field of the data packet.
可选地,所述至少一个字段是分配用于指示互联网协议地址(DST IP),但用于携带操作指示符的字段。可选地,所述至少一个字段是分配用于指示端口(DST PORT),但用于携带权重指示符的字段。可选地,权重指示符为业务指示符。Optionally, the at least one field is a field allocated to indicate an Internet Protocol address (DST IP) but used to carry an operation indicator. Optionally, the at least one field is a field allocated to indicate a port (DST PORT) but used to carry a weight indicator. Optionally, the weight indicator is a service indicator.
如图3所示,客户端设备302的互联网协议地址(DST IP)可以是44.1.1.1,控制器304的IP地址可以是44.2.2.2和44.2.2.3,服务器306A、306B的池的DST IP地址可以是44.3.3.3、44.4.4.4、44.5.5.5和44.6.6.6。如图3所示,包括在非应用层中执行负载均衡的控制器304的Ips、内容类型(例如信息流、购物)、服务类型(例如评论、图像、添加/删除项目、签出)和DSP端口的查表308对应每个DST服务器IP。每个DST服务器IP都具有权重指示符和当前负载,例如,DST服务器IP 44.3.3.3具有权重指示符1和当前负载A,DST服务器IP44.4.4.4具有权重指示符3和当前负载B,DST服务器IP 44.5.5.5具有权重指示符1和当前负载C,DST服务器IP 44.6.6.6具有权重指示符5和当前负载D。As shown in Figure 3, the Internet Protocol address (DST IP) of the client device 302 can be 44.1.1.1, the IP address of the controller 304 can be 44.2.2.2 and 44.2.2.3, and the DST IP addresses of the pool of servers 306A and 306B can be 44.3.3.3, 44.4.4.4, 44.5.5.5 and 44.6.6.6. As shown in Figure 3, a lookup table 308 including the IPs of the controller 304 that performs load balancing in the non-application layer, content type (e.g., information flow, shopping), service type (e.g., comments, images, add/delete items, checkout) and DSP ports corresponds to each DST server IP. Each DST server IP has a weight indicator and a current load, for example, DST server IP 44.3.3.3 has a weight indicator 1 and a current load A, DST server IP 44.4.4.4 has a weight indicator 3 and a current load B, DST server IP 44.5.5.5 has a weight indicator 1 and a current load C, and DST server IP 44.6.6.6 has a weight indicator 5 and a current load D.
例如,如果客户端设备302发送数据包,控制器304查看IP和DST端口,并知道操作和权重是什么。由于控制器304知道操作的权重,控制器304可以将数据包从操作服务器池定向到负载最少的后端服务器。例如,如果客户端设备302发送数据包,控制器304查看DST服务器IP 44.3.3.3对应的IP和DST端口,知道DST服务器IP 44.3.3.3的操作和权重是什么。由于控制器304知道DST服务器IP 44.3.3.3的操作的权重,控制器304可以将数据包定向到包括DST服务器IP 44.3.3.3的服务器。For example, if the client device 302 sends a data packet, the controller 304 looks at the IP and DST port and knows what the operation and weight are. Since the controller 304 knows the weight of the operation, the controller 304 can direct the data packet from the operation server pool to the backend server with the least load. For example, if the client device 302 sends a data packet, the controller 304 looks at the IP and DST port corresponding to the DST server IP 44.3.3.3 and knows what the operation and weight of the DST server IP 44.3.3.3 are. Since the controller 304 knows the weight of the operation of the DST server IP 44.3.3.3, the controller 304 can direct the data packet to the server including the DST server IP 44.3.3.3.
如图3所示,控制器304用于从服务器306A、306B的池接收关于它们当前状态的反馈。可选地,控制器304用于接收使用时间戳和能力的后端服务器负载的所有计算。当前状态可以是服务器306A、306B的池的当前负载状态和/或任何配置变化。如果任一服务器的当前负载较高,控制器304可以改变服务器或增加数据包发送到的另一个服务器。As shown in Figure 3, controller 304 is used to receive feedback about their current state from the pool of servers 306A, 306B. Optionally, controller 304 is used to receive all calculations of the back-end server load using timestamps and capabilities. The current state can be the current load state and/or any configuration changes of the pool of servers 306A, 306B. If the current load of any server is high, controller 304 can change the server or increase another server to which the data packet is sent.
图4为本发明的实现方式提供的用于分配时间戳字段以确定将数据包发送到的服务器的控制器404的示例性图400。示例性图400包括客户端设备402、控制器404和服务器406的池。客户端设备402向控制器404传输数据包。数据包包括一个或多个字段和数据载荷408。可选地,所述至少一个字段为可选的头字段。可选地,所述至少一个字段是分配用于指示互联网协议地址(DST IP),但用于携带操作指示符的字段。可选地,数据包的至少一个字段包括时间戳字段。FIG. 4 is an exemplary diagram 400 of a controller 404 for allocating a timestamp field to determine a server to which a data packet is to be sent provided by an implementation of the present invention. The exemplary diagram 400 includes a pool of client devices 402, controllers 404, and servers 406. The client device 402 transmits a data packet to the controller 404. The data packet includes one or more fields and a data payload 408. Optionally, the at least one field is an optional header field. Optionally, the at least one field is a field allocated to indicate an Internet Protocol address (DST IP), but used to carry an operation indicator. Optionally, at least one field of the data packet includes a timestamp field.
可选地,客户端设备402的互联网协议(Internet Protocol,IP)地址可以为44.1.1.1,控制器404的DST Ip地址可以为44.2.2.2,服务器406的池的DST IP地址可以为44.3.3.3、44.4.4.4。Optionally, the Internet Protocol (IP) address of the client device 402 may be 44.1.1.1, the DST IP address of the controller 404 may be 44.2.2.2, and the DST IP addresses of the pool of the server 406 may be 44.3.3.3 and 44.4.4.4.
时间戳字段和可选的头字段描绘数据载荷408的特征。如图4所示,数据载荷408的特征可以包括媒体访问控制(media access control,MAC)头、IP头、传输层协议(transport layer protocol,TCP)头、TCP选项8、种类、长度、时间戳值和时间戳回声应答。可选的头字段可用于携带该字段中的信息。所述信息可以是权重指示符。可选地,DST IP和DST共同定义权重指示符。The timestamp field and the optional header field characterize the data payload 408. As shown in FIG. 4, the characteristics of the data payload 408 may include a media access control (MAC) header, an IP header, a transport layer protocol (TCP) header, TCP option 8, a type, a length, a timestamp value, and a timestamp echo reply. The optional header field may be used to carry the information in the field. The information may be a weight indicator. Optionally, DST IP and DST jointly define a weight indicator.
时间戳字段可以用于携带其它信息。如查表410所示,DST端口可以包括客户端设备402的应用程序上的服务。每个应用程序可以有一个或多个DST端口。可选地,控制器404还用于根据查表410确定数据包的操作的权重。The timestamp field may be used to carry other information. As shown in table lookup 410, the DST port may include a service on an application of client device 402. Each application may have one or more DST ports. Optionally, controller 404 is further used to determine the weight of the operation of the data packet according to table lookup 410.
如查表410所示,服务可以是例如图像、评论等。可选地,数据载荷是加密的,并且一个或多个字段中的至少一个字段是未加密的。可选地,权重指示符的信息编码到数据载荷的未加密字段中。可选地,客户端设备402的应用程序在数据载荷的未加密字段中插入数据载荷的编码标识符和内容标识符。控制器404用于解码数据载荷的未加密字段,并决定将数据包定向到哪个后端服务器。可选地,控制器404用于根据数据载荷的特征添加请求路由决策。As shown in table lookup 410, the service can be, for example, an image, a comment, etc. Optionally, the data payload is encrypted and at least one of the one or more fields is unencrypted. Optionally, information of the weight indicator is encoded into the unencrypted field of the data payload. Optionally, the application of the client device 402 inserts an encoding identifier and a content identifier of the data payload into the unencrypted field of the data payload. The controller 404 is used to decode the unencrypted field of the data payload and determine which backend server to direct the data packet to. Optionally, the controller 404 is used to add a request routing decision based on the characteristics of the data payload.
图5为本发明的实现方式提供的用于使用非应用协议在非应用层中执行负载均衡的控制器的方法的流程图500。负载均衡包括确定数据包应发送到服务器的池中的哪个后端服务器。在步骤502中,在控制器侧接收数据包。数据包包括一个或多个字段和数据载荷。数据载荷被加密,并且一个或多个字段中的至少一个字段是未加密的。在步骤504中,根据至少一个未加密字段确定数据包的操作和/或权重。在步骤506中,根据数据包的操作和/或权重确定将所述数据包发送到的服务器。FIG5 is a flowchart 500 of a method for a controller to perform load balancing in a non-application layer using a non-application protocol provided by an implementation of the present invention. Load balancing includes determining which backend server in a pool of servers a data packet should be sent to. In step 502, a data packet is received on the controller side. The data packet includes one or more fields and a data payload. The data payload is encrypted, and at least one of the one or more fields is unencrypted. In step 504, an operation and/or weight of the data packet is determined based on at least one unencrypted field. In step 506, a server to which the data packet is sent is determined based on the operation and/or weight of the data packet.
在控制器中使用的方法降低了负载均衡器的成本,并使用具有高层负载均衡解码能力的L4负载均衡器。在控制器中使用的方法降低了延迟,因为不需要在负载均衡器上生成终止点。在控制器中使用的方法减少了到服务器的池的连接数,因为不需要终止负载均衡器处的代理连接。在控制器中使用的方法与后端服务器建立不同的连接。所述方法提供了智能负载均衡决策和内容优化。在控制器中使用的方法需要较少的计算。当在控制器中使用的方法根据媒体类型、本地化规则或知道数据消息内容的其它标准路由流量时,控制器在传输层的性能非常高效。The method used in the controller reduces the cost of the load balancer and uses an L4 load balancer with high-level load balancing decoding capabilities. The method used in the controller reduces latency because there is no need to generate termination points on the load balancer. The method used in the controller reduces the number of connections to the pool of servers because there is no need to terminate the proxy connection at the load balancer. The method used in the controller establishes different connections with the backend servers. The method provides intelligent load balancing decisions and content optimization. The method used in the controller requires less computation. When the method used in the controller routes traffic based on media type, localization rules, or other criteria that know the content of the data message, the controller is very efficient at the transport layer.
可选地,所述方法还包括根据服务器当前负载确定将数据包发送到的服务器。Optionally, the method further comprises determining a server to which to send the data packet based on a current load of the server.
可选地,所述至少一个字段为可选的头字段。Optionally, the at least one field is an optional header field.
可选地,所述至少一个字段是分配用于指示互联网协议地址(DST IP),但用于携带操作指示符的字段。可选地,至少一个字段为时间戳字段。Optionally, the at least one field is a field allocated to indicate an Internet Protocol address (DST IP) but used to carry an operation indicator. Optionally, the at least one field is a timestamp field.
可选地,所述方法还包括根据所述至少一个字段中携带的操作指示符确定所述操作。Optionally, the method further comprises determining the operation according to an operation indicator carried in the at least one field.
可选地,所述方法还包括根据至少一个字段中携带的权重指示符来确定权重。Optionally, the method further comprises determining the weight according to a weight indicator carried in at least one field.
可选地,所述至少一个字段是分配用于目的地端口(DST),但用于携带权重指示符的字段。Optionally, the at least one field is a field allocated for a destination port (DST) but used to carry a weight indicator.
可选地,权重指示符包括业务指示符。Optionally, the weight indicator comprises a traffic indicator.
可选地,所述方法还包括根据所述操作指示符,结合所述业务指示符,确定所述数据包的操作的权重。Optionally, the method further comprises determining a weight of the operation of the data packet according to the operation indicator in combination with the service indicator.
可选地,所述方法还包括根据查表确定数据包的操作的权重。Optionally, the method further comprises determining a weight of an operation of the data packet based on a table lookup.
可选地,所述方法还包括确定将数据包发送到的服务器,以便将类似业务的数据包发送到处理此类业务的同一组服务器。Optionally, the method further comprises determining a server to which the data packet is to be sent, so that data packets of similar services are sent to the same group of servers that handle such services.
可选地,非应用层为传输层,协议为传输数据的传输协议。Optionally, the non-application layer is a transport layer, and the protocol is a transport protocol for transmitting data.
可选地,非应用层为网络层,协议为传输数据的传输协议。Optionally, the non-application layer is a network layer, and the protocol is a transmission protocol for transmitting data.
可选地,所述方法还包括在非应用层中进行应用层负载均衡。Optionally, the method further includes performing application layer load balancing in a non-application layer.
在一种实现方式中,提供了一种在用于传输数据包的控制器中使用的方法。所述数据包包括一个或多个字段和数据载荷,其中所述数据载荷是加密的,并且所述一个或多个字段中的至少一个字段是未加密的。控制器用于在数据包的至少一个未加密字段中包括数据包的操作指示符和/或权重指示符。In one implementation, a method is provided for use in a controller for transmitting a data packet. The data packet includes one or more fields and a data payload, wherein the data payload is encrypted and at least one of the one or more fields is unencrypted. The controller is configured to include an operation indicator and/or a weight indicator of the data packet in at least one unencrypted field of the data packet.
可选地,所述至少一个字段是分配用于指示互联网协议地址(DST IP),但用于携带操作指示符的字段。Optionally, the at least one field is a field allocated to indicate an Internet Protocol address (DST IP) but used to carry an operation indicator.
可选地,所述至少一个字段是分配用于指示端口(DST PORT),但用于携带权重指示符的字段。权重指示符可以是业务指示符。Optionally, the at least one field is a field allocated to indicate a port (DST PORT) but used to carry a weight indicator. The weight indicator may be a service indicator.
在一种实现方式中,提供了一种设备,包括控制器,当加载指令并执行那些指令时,所述控制器可以执行上述方法。In one implementation, a device is provided, including a controller, which can perform the above method when loading instructions and executing those instructions.
图6为可以在其中实现各种之前实现方式的各种架构和功能的示例性计算装置600(例如,控制器)的图示。如图所示,计算装置600包括连接到总线602的至少一个处理器604,其中,计算装置600可以使用任何合适的协议来实现,例如,外围部件互连(peripheralcomponent interconnect,PCI)标准、PCI-Express、加速图形端口(Accelerated GraphicsPort,AGP)、HyperTransport或任何其它总线或点对点通信协议。计算装置600还包括存储器606。FIG6 is a diagram of an exemplary computing device 600 (e.g., a controller) in which various architectures and functions of various previous implementations can be implemented. As shown, computing device 600 includes at least one processor 604 connected to bus 602, wherein computing device 600 can be implemented using any suitable protocol, such as the peripheral component interconnect (PCI) standard, PCI-Express, Accelerated Graphics Port (AGP), HyperTransport, or any other bus or point-to-point communication protocol. Computing device 600 also includes memory 606.
控制逻辑(软件)和数据存储在存储器606中,存储器606可以采取随机存取存储器(random access memory,RAM)的形式。在本描述中,单个半导体平台可以指唯一的基于单一半导体的集成电路或芯片。需要说明的是,术语单个半导体平台还可以指具有增加连接性的多芯片模块,所述多芯片模块模拟具有增加连接性的片上模块,所述片上模块模拟片上操作,并比利用传统的中央处理单元(central processing unit,CPU)和总线实现作出实质性改进。当然,根据用户的愿望,各种模块也可以单独地放置或以半导体平台的各种组合放置。Control logic (software) and data are stored in memory 606, which may take the form of random access memory (RAM). In the present description, a single semiconductor platform may refer to a unique integrated circuit or chip based on a single semiconductor. It should be noted that the term single semiconductor platform may also refer to a multi-chip module with increased connectivity, which simulates an on-chip module with increased connectivity, which simulates on-chip operations and makes substantial improvements over traditional central processing units (CPUs) and bus implementations. Of course, the various modules may also be placed separately or in various combinations of semiconductor platforms, depending on the user's wishes.
计算装置600还可以包括辅助存储器610。例如,辅助存储器610包括硬盘驱动器和可移动存储驱动器,代表软盘驱动器、磁带驱动器、压缩磁盘驱动器、数字多功能磁盘(digital versatiledisk,DVD)驱动器、记录设备、通用串行总线(universal serial bus,USB)闪存。可移动存储驱动器以众所周知的方式从可移动存储单元读取和/或写入可移动存储单元中。The computing device 600 may also include an auxiliary memory 610. For example, the auxiliary memory 610 includes a hard disk drive and a removable storage drive, representing a floppy disk drive, a tape drive, a compact disk drive, a digital versatile disk (DVD) drive, a recording device, a universal serial bus (USB) flash memory. The removable storage drive reads from and/or writes to a removable storage unit in a well-known manner.
计算机程序或计算机控制逻辑算法可以存储在存储器606和/或辅助存储器610。当执行这些计算机程序时,使计算装置600能够执行如上所述的各种功能。存储器606、辅助存储器610和任何其它存储器是计算机可读介质的可能示例。Computer programs or computer control logic algorithms may be stored in memory 606 and/or secondary storage 610. When these computer programs are executed, they enable computing device 600 to perform various functions as described above. Memory 606, secondary storage 610, and any other storage are possible examples of computer-readable media.
在一种实现方式中,在各种之前附图中描述的架构和功能可以在处理器604、耦合到通信接口612的图形处理器、能够具有处理器604和图形处理器两者的至少一部分能力的集成电路(未示出)、芯片组(即,一组集成电路,设计成作为执行相关功能等的单元进行工作和销售)。In one implementation, the architecture and functionality described in the various previous figures may be implemented in a processor 604, a graphics processor coupled to a communication interface 612, an integrated circuit (not shown) capable of having at least a portion of the capabilities of both the processor 604 and the graphics processor, a chipset (i.e., a group of integrated circuits designed to operate and be sold as a unit that performs related functions, etc.).
此外,在各种之前附图中描述的架构和功能可以在通用计算机系统、电路板系统、专用于娱乐目的的游戏控制台系统、专用系统的上下文中实现。例如,计算装置600可以采取台式计算机、膝上型计算机、服务器、工作站、游戏机、嵌入式系统的形式。In addition, the architecture and functions described in the various previous figures can be implemented in the context of a general-purpose computer system, a circuit board system, a game console system dedicated to entertainment purposes, a dedicated system. For example, the computing device 600 can take the form of a desktop computer, a laptop computer, a server, a workstation, a game console, an embedded system.
此外,计算装置600可以采取各种其它设备的形式,包括但不限于个人数字助理(personal digital assistant,PDA)设备、移动电话设备、智能手机、电视等。此外,尽管未示出,计算装置600可以耦合到用于通过I/O接口608的通信目的网络(例如,电信网络、局域网(local area network,LAN)、无线网络、广域网(wide area network,WAN),例如互联网、对等网络、电缆网络等)。Furthermore, the computing device 600 may take the form of various other devices, including, but not limited to, a personal digital assistant (PDA) device, a mobile telephone device, a smart phone, a television, etc. Furthermore, although not shown, the computing device 600 may be coupled to a network (e.g., a telecommunications network, a local area network (LAN), a wireless network, a wide area network (WAN), such as the Internet, a peer-to-peer network, a cable network, etc.) for communication purposes through the I/O interface 608.
应当理解,在所描述的附图中示出的组件的布置是示例性的,并且可以进行其它布置。还应理解,由以下描述的权利要求定义并在各种框图中示出的各种系统组件(和模块)表示根据本文公开的主题配置的一些系统中的组件。例如,这些系统组件(和模块)中的一个或多个可以全部或部分地通过所描述的附图中所示的布置中所示的组件中的至少一些来实现。It should be understood that the arrangement of components shown in the described figures is exemplary, and other arrangements may be made. It should also be understood that the various system components (and modules) defined by the claims described below and shown in the various block diagrams represent components in some systems configured according to the subject matter disclosed herein. For example, one or more of these system components (and modules) may be implemented in whole or in part by at least some of the components shown in the arrangements shown in the described figures.
此外,虽然这些组件中的至少一个至少部分地实现为电子硬件组件,并因此构成机器,但其它组件可以在软件中实现,当该软件包括在执行环境中时,构成机器、硬件或软件和硬件的组合。Furthermore, while at least one of these components is at least partially implemented as an electronic hardware component and thus constitutes a machine, other components may be implemented in software which, when included in an execution environment, constitutes a machine, hardware, or a combination of software and hardware.
虽然本发明及其优点已详细描述,但是应当理解,在不脱离所附权利要求书界定的本发明的精神和范围的情况下,可以作出各种改变、替代和更改。Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.
Claims (40)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2021/082330 WO2023088564A1 (en) | 2021-11-19 | 2021-11-19 | Controller configured to perform load balancing in a non-application layer utilizing a non-application protocol |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118251880A true CN118251880A (en) | 2024-06-25 |
Family
ID=78819993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180104223.0A Pending CN118251880A (en) | 2021-11-19 | 2021-11-19 | Controller for performing load balancing in the non-application layer using non-application protocols |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118251880A (en) |
WO (1) | WO2023088564A1 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10447773B2 (en) * | 2015-12-29 | 2019-10-15 | General Motors Llc | Aggregating vehicle-related big data |
-
2021
- 2021-11-19 WO PCT/EP2021/082330 patent/WO2023088564A1/en not_active Ceased
- 2021-11-19 CN CN202180104223.0A patent/CN118251880A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023088564A1 (en) | 2023-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7647393B2 (en) | Server load balancing apparatus and method using MPLS session | |
US9300733B2 (en) | System and/or method for client-driven server load distribution | |
EP2416542B1 (en) | Service virtualization over content-centric networks | |
US12328357B2 (en) | Virtual private network (VPN) whose traffic is intelligently routed | |
CN103201989B (en) | The methods, devices and systems of control data transmission | |
JP2015507380A (en) | How to combine stateless and stateful server load balancing | |
WO2023005773A1 (en) | Message forwarding method and apparatus based on remote direct data storage, and network card and device | |
US9270570B2 (en) | Remote message routing device and methods thereof | |
US20140185623A1 (en) | Adaptive receive path learning to facilitate combining tcp offloading and network adapter teaming | |
JPWO2003103233A1 (en) | Packet relay device, network connection device, packet relay method, recording medium, program | |
US11799827B2 (en) | Intelligently routing a response packet along a same connection as a request packet | |
WO2021008591A1 (en) | Data transmission method, device, and system | |
CN110545230A (en) | Method and apparatus for forwarding VXLAN packets | |
JP5091121B2 (en) | High speed data processing / communication method and apparatus for embedded system | |
CN114615237A (en) | Streaming media communication method, system, device and storage medium | |
WO2023116165A1 (en) | Network load balancing method and apparatus, electronic device, medium, and program product | |
CN114513465B (en) | Load balancing method, load balancing device, electronic equipment and storage medium | |
US20050125552A1 (en) | Information processing device, information processing method, and computer program | |
US7953973B2 (en) | Systems, methods, and computer program products for passively routing secure socket layer (SSL) encoded network traffic | |
CN113261259B (en) | Systems and methods for transparent session switching | |
CN118251880A (en) | Controller for performing load balancing in the non-application layer using non-application protocols | |
CN107888643A (en) | A kind of UDP load-balancing methods, device and system | |
CN115883644B (en) | Information processing method, device and storage medium | |
CN116233481A (en) | Media stream transmission method, media server and communication system | |
CN116781947A (en) | Video stream data acquisition method, device, electronic equipment and computer readable medium |
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 |