负载均衡的方法、装置、设备、系统及存储介质与流程

文档序号:36729674发布日期:2024-01-16 12:39阅读:16来源:国知局
负载均衡的方法、装置、设备、系统及存储介质与流程

本技术涉及通信,特别涉及负载均衡的方法、装置、设备、系统及存储介质。


背景技术:

1、在数据中心的通信网络中,任一网络节点需要选择中间节点来将数据流转发至另一网络节点。其中,中间节点的数量为多个,网络节点上配置有多个接口,多个接口分别连接多个中间节点中的一个中间节点。

2、通常,源节点会将待发送的多条数据流均衡的分配到本地的多个出接口,以实现该多个出接口之间的负载均衡。但是,当向同一目的节点发送数据流的源节点为多个时,该多个源节点选择的出接口可能连接同一个中间节点,使得与该同一个中间节点连接的目的节点上的入接口拥塞,但其实该目的节点上的其他入接口并不拥塞,因而该目的节点上的多个入接口之间的负载不均衡。

3、因此,如何保证源节点上的多个出接口和目的节点上的多个入接口上的负载同时均衡是亟待解决的问题。


技术实现思路

1、本技术提供了一种负载均衡的方法、装置、设备、系统及存储介质,用于同时均衡传输数据流的源节点上的多个出接口和目的节点之间的多个入接口之间的负载。

2、第一方面,提供了一种负载均衡的方法,以第一网络节点执行该方法为例,第一网络节点获取第一出接口组的统计信息和第一入接口组的统计信息;当第一入接口组中的第一入接口为拥塞接口的情况下,确定待切换的第一数据流以及第一出接口组中满足第一切换条件的第二出接口,将第一数据流的出接口由第一出接口切换到第二出接口。

3、其中,第一出接口组包括该第一网络节点上连接多个中间节点的多个出接口,第一出接口组的统计信息包括该第一出接口组中的每个出接口的负载,第一入接口组包括第二网络节点上连接多个中间节点的多个入接口,第一入接口组的统计信息包括该第一入接口组中的每个入接口的负载,该第一入接口组中的多个入接口与第一出接口组中的多个出接口一一对应;第一数据流通过该第一出接口组中的第一出接口传输至第二网络节点,第一切换条件为第二出接口和与第二出接口对应的第二入接口在第一数据流切换后均不是拥塞接口。拥塞接口为发生拥塞的接口。其中,发生拥塞的接口可以指的是负载超过负载阈值的接口。

4、该方法中,第一网络节点为传输第一数据流的源节点,第二网络节点为传输第一数据流的目的节点,通过第一出接口组的统计信息和第一入接口组的统计信息对第一网络节点传输的数据流的出接口进行切换,使得在第一网络节点上的多个出接口之间负载均衡的基础上,保证了第二网络节点上的多个入接口之间的负载也均衡。由此,第一网络节点通过该方法能够保持本地的多个出接口与网络中的任一网络节点上的多个入接口之间的负载均衡,进而网络能够达到全局的负载均衡。

5、此外,由于该方法通过获取第一出接口组的统计信息和第一入接口组的统计信息,就能够实现第一网络节点上的多个出接口和第二网络节点上的多个入接口之间的负载均衡,使得负载均衡的均衡速度更快。

6、在一种可能的实施方式中,获取第一出接口组的统计信息的方式为:对第一网络节点上的多个出接口发送的数据流进行流量统计,根据统计结果获取第一出接口组的统计信息;获取第一入接口组的统计信息的方式为:根据多个中间节点中的每一中间节点与第二网络节点连接的中间出接口的负载,得到第一入接口组的统计信息。

7、通过获取多个中间节点中的每一中间节点与第二网络节点连接的中间出接口的负载,间接得到第一入接口组的统计信息,相比于直接获取第一入接口组的多个入接口的负载,该方法更简单,获取的第一入接口组的统计信息更准确。

8、在一种可能的实施方式中,接收多个中间节点发送的多个第二出接口组的统计信息,其中,对于多个第二出接口组的统计信息,一个第二出接口组包括一个中间节点上连接多个网络节点的多个中间出接口,任一第二出接口组的统计信息包括任一第二出接口组中的每个中间出接口的负载;则可以根据该多个第二出接口组的统计信息,获取多个中间节点中的每一中间节点与第二网络节点连接的中间出接口的负载。

9、由于一个第二出接口组的统计信息包括一个中间节点上的多个中间出接口的负载,使得通过一次获取多个第二出接口组的统计信息能够获取到所有中间出接口的负载,进而能够根据该多个第二出接口组的统计信息对应获取到多个网络节点分别对应的入接口组的统计信息。

10、在一种可能的实施方式中,首先获取第一出接口待传输至第二网络节点的至少一条数据流分别对应的负载,然后将该至少一条数据流中负载大于或等于差值负载的数据流确定为待切换的第一数据流,其中,差值负载为第一入接口对应的负载与负载阈值之间的差。由此,通过该至少一条数据流和负载差值能够准确的确定负载均衡需要调整的第一数据流,实现了负载均衡的定量调整,提高了调整的灵活性和准确性。

11、在一种可能的实施方式中,根据去向为第二网络节点的下一跳流表获取第一出接口发送的至少一条数据流分别对应的负载。其中,下一跳流表包括多个项目,每个项目配置有对应的出接口,与任一项目匹配的数据流由任一项目对应的出接口转发,下一跳流表还记录有每个项目匹配的数据流,多个项目的数量大于多个出接口的数量。由于下一跳流表是第一网络节点用来转发数据流的,且多个项目的数量大于多个出接口的数量,使得一个出接口转发的数据流的数量可能为多条,进而获取的至少一条数据流的粒度更细,使负载均衡的定量调整更加便捷。

12、在一种可能的实施方式中,当第一出接口组中不存在满足第一切换条件的第二出接口时,确定第一入接口组中在该第一数据流切换后不是拥塞接口的第三入接口;根据第三入接口对应的第三出接口发送的数据流确定第三网络节点,获取第二入接口组的统计信息,第二入接口组包括第三网络节点上连接多个中间节点的多个入接口,第二入接口组的统计信息包括第二入接口组中的每个入接口的负载,第一出接口组中的多个出接口和第二入接口组中的多个入接口一一对应;

13、然后,根据第一出接口组的统计信息和第二入接口组的统计信息,确定待切换的第二数据流和以及第一出接口组中满足第二切换条件的第四出接口,第二数据流通过第三出接口传输至第三网络节点,第二切换条件为第四出接口和与该第四出接口对应的第四入接口在第二数据流切换后均不是拥塞接口;将第二数据流的出接口由第三出接口切换到第四出接口,将第一数据流的出接口由第一出接口切换到第三出接口。

14、由此,使得在第一出接口组中不存在满足第一切换条件的第二出接口时,能够通过第二数据流的出接口切换为第一数据流腾出满足第一切换条件的出接口,使得该方法能够有效的协调多条数据流之间的出接口切换,进而使得负载均衡的均衡方式更多样,提高切换的可靠性,确保数据流的传输效率。

15、在一种可能的实施方式中,第一网络节点还会接收多个中间节点中的第一中间节点发送的第一中间出接口的拥塞消息,该第一中间出接口为第一中间节点与第四网络节点连接的中间出接口,多个出接口与多个中间节点一一对应;基于该拥塞消息确定待切换的第三数据流以及第一出接口组中满足第三切换条件的第五出接口,第三数据流通过第一中间节点对应的第六出接口传输,第三切换条件为第五出接口和与第五出接口对应的第二中间节点连接该第四网络节点的中间出接口在该第三数据流切换后均不是拥塞接口;将第三数据流的出接口由第六出接口切换到第五出接口。

16、由于在第一中间节点的第一中间出接口拥塞时,能够接收到第一中间节点发送的拥塞消息,使得能够根据该拥塞消息及时的对导致该拥塞的数据流进行调整,保证了网络持续的负载均衡,提高数据流的传输效率。

17、在一种可能的实施方式中,在接收到第一中间节点发送的第一中间出接口的拥塞消息后,当第一出接口组中不存在满足第三切换条件的第五出接口时,确定多个中间节点中的连接该第四网络节点的中间出接口在该第三数据流切换后不是拥塞接口的第三中间节点;根据第三中间节点对应的第七出接口发送的数据流确定第五网络节点,根据该第五网络节点确定待切换的第四数据流以及第一出接口组中满足第四切换条件的第八出接口,第四数据流通过第七出接口传输,第四切换条件为第八出接口和与第八出接口对应的第四中间节点连接该第五网络节点的中间出接口在该第四数据流切换后均不是拥塞接口;将第四数据流的出接口由第七出接口切换到第八出接口,将第三数据流的出接口由第六出接口切换到第七出接口。

18、同样的,在第一出接口组中不存在满足第三切换条件的第五出接口时,能够通过第四数据流的出接口切换为第三数据流腾出满足第三切换条件的出接口,使得该方法能够有效的协调多条数据流之间的出接口切换,进而使得负载均衡的均衡方式更多样,提高切换的可靠性,确保数据流的传输效率。

19、在一种可能的实施方式中,将第一数据流的出接口由第一出接口切换到第二出接口包括的多个端口中的轻载端口,由该轻载端口发送该第一数据流,其中,轻载端口为多个端口中负载最小的端口。在出接口包括多个端口的情况下,既能够使得接口之间的负载均衡,还能使得接口中的多个端口之间的负载均衡。

20、第二方面,提供了一种负载均衡方法,以第一中间节点执行该方法为例,第一中间节点获取第二出接口组的统计信息,并向多个网络节点发送该第二出接口组的统计信息。其中,第二出接口组包括第一中间节点上连接多个网络节点的多个中间出接口,第二出接口组的统计信息包括第二出接口组中的每个中间出接口的负载。

21、第二出接口组的统计信息用于多个网络节点中的第一网络节点获取第一入接口组的统计信息,第一入接口组包括第二网络节点上连接多个中间节点的多个入接口,第一入接口组的统计信息包括第一入接口组中的每个入接口的负载,多个入接口与第一网络节点上连接多个中间节点的多个出接口一一对应;

22、第一入接口组的统计信息用于第一网络节点将第一数据流的出接口由第一出接口组中的第一出接口切换到第一出接口组中的第二出接口,第一出接口对应的第一入接口为拥塞接口,第一数据流通过该第一出接口组中的第一出接口传输至第二网络节点,第二出接口满足第一切换条件,第一切换条件为第二出接口和与第二出接口对应的第二入接口在第一数据流切换后均不是拥塞接口。

23、该方法通过向多个网络节点发送第二出接口组的统计信息,使得第一网络节点能够获取到第一入接口组的统计信息,进而能够对第一网络节点传输的数据流的出接口进行切换,使得在第一网络节点上的多个出接口之间负载均衡的基础上,保证了第二网络节点上的多个入接口之间的负载也均衡。

24、在一种可能的实施方式中,当第二出接口组中的第一中间出接口拥塞且该第一中间出接口传输的数据流来自于第一网络节点时,向第一网络节点发送第一中间出接口的拥塞消息。该拥塞消息用于第一网络节点将第三数据流的出接口由第六出接口切换到第五出接口,第三数据流通过第六出接口传输,第六出接口为第一网络节点连接第一中间节点的出接口,第五出接口为第一网络节点上满足第三切换条件的出接口,第三切换条件为第五出接口和与第五出接口对应的第二中间节点连接该第四网络节点的中间出接口在该第三数据流切换后均不是拥塞接口。

25、由于在第一中间节点的第一中间出接口拥塞且该第一中间出接口传输的数据流来自于第一网络节点时,能够及时向第一网络节点发送拥塞消息,使得第一网络节点能够根据该拥塞消息及时的导致拥塞的数据流进行调整,保证了网络持续的负载均衡。

26、第三方面,提供了一种负载均衡的装置,应用于第一网络节点,该装置包括:

27、第一获取模块,用于获取第一出接口组的统计信息和第一入接口组的统计信息,第一出接口组包括第一网络节点上连接多个中间节点的多个出接口,第一出接口组的统计信息包括第一出接口组中的每个出接口的负载,第一入接口组包括第二网络节点上连接多个中间节点的多个入接口,第一入接口组的统计信息包括第一入接口组中的每个入接口的负载,第一入接口组中的多个入接口与第一出接口组中的多个出接口一一对应;

28、第一确定模块,用于当第一入接口组中的第一入接口为拥塞接口的情况下,确定待切换的第一数据流以及第一出接口组中满足第一切换条件的第二出接口,第一数据流通过该第一出接口组中的第一出接口传输至第二网络节点,第一切换条件为第二出接口和与第二出接口对应的第二入接口在第一数据流切换后均不是拥塞接口;

29、第一切换模块,用于将第一数据流的出接口由第一出接口切换到第二出接口。

30、在一种可能的实施方式中,第一获取模块,用于对第一网络节点上的多个出接口发送的数据流进行流量统计,根据统计结果获取第一出接口组的统计信息;根据多个中间节点中的每一中间节点与第二网络节点连接的中间出接口的负载,得到第一入接口组的统计信息。

31、在一种可能的实施方式中,第一获取模块,还用于接收多个中间节点发送的多个第二出接口组的统计信息,一个第二出接口组包括一个中间节点上连接多个网络节点的多个中间出接口,任一第二出接口组的统计信息包括任一第二出接口组中的每个中间出接口的负载;根据多个第二出接口组的统计信息,获取多个中间节点中的每一中间节点与第二网络节点连接的中间出接口的负载。

32、在一种可能的实施方式中,第一确定模块,用于获取第一出接口待传输至第二网络节点的至少一条数据流分别对应的负载,将至少一条数据流中负载大于或等于差值负载的数据流确定为待切换的第一数据流,差值负载为第一入接口对应的负载与负载阈值之间的差。

33、在一种可能的实施方式中,第一确定模块,用于根据去向为第二网络节点的下一跳流表获取第一出接口发送的至少一条数据流分别对应的负载,下一跳流表包括多个项目,每个项目配置有对应的出接口,与任一项目匹配的数据流由任一项目对应的出接口转发,下一跳流表还记录有每个项目匹配的数据流,多个项目的数量大于多个出接口的数量。

34、在一种可能的实施方式中,第一确定模块,还用于当第一出接口组中不存在满足第一切换条件的第二出接口时,确定第一入接口组中在该第一数据流切换后不是拥塞接口的第三入接口;

35、第一获取模块,还用于根据第三入接口对应的第三出接口发送的数据流确定第三网络节点,获取第二入接口组的统计信息,第二入接口组包括第三网络节点上连接多个中间节点的多个入接口,第二入接口组的统计信息包括第二入接口组中的每个入接口的负载,第一出接口组中的多个出接口和第二入接口组中的多个入接口一一对应;

36、该装置还包括:第二确定模块,用于根据第一出接口组的统计信息和第二入接口组的统计信息确定待切换的第二数据流和以及第一出接口组中满足第二切换条件的第四出接口,第二数据流通过第三出接口传输至第三网络节点,第二切换条件为第四出接口和与该第四出接口对应的第四入接口在第二数据流切换后均不是拥塞接口;

37、第二切换模块,用于将第二数据流的出接口由第三出接口切换到第四出接口,将第一数据流的出接口由第一出接口切换到第三出接口。

38、在一种可能的实施方式中,该装置还包括:

39、接收模块,用于接收多个中间节点中的第一中间节点发送的第一中间出接口的拥塞消息,第一中间出接口为第一中间节点与第四网络节点连接的中间出接口,多个出接口与多个中间节点一一对应;

40、第三确定模块,用于基于拥塞消息确定待切换的第三数据流以及第一出接口组中满足第三切换条件的第五出接口,第三数据流通过第一中间节点对应的第六出接口传输,第三切换条件为第五出接口和与第五出接口对应的第二中间节点连接该第四网络节点的中间出接口在该第三数据流切换后均不是拥塞接口;

41、第三切换模块,将第三数据流的出接口由第六出接口切换到第五出接口。

42、在一种可能的实施方式中,第三确定模块,还用于当第一出接口组中不存在满足第三切换条件的第五出接口时,确定多个中间节点中的连接该第四网络节点的中间出接口在该第三数据流切换后不是拥塞接口的第三中间节点;

43、第三确定模块,还用于根据第三中间节点对应的第七出接口发送的数据流确定第五网络节点,基于该第五网络节点确定待切换的第四数据流以及第一出接口组中满足第四切换条件的第八出接口,第四数据流通过第七出接口传输,第四切换条件为第八出接口和与第八出接口对应的第四中间节点连接该第五网络节点的中间出接口在该第四数据流切换后均不是拥塞接口;

44、该装置还包括:第四切换模块,用于将第四数据流的出接口由第七出接口切换到第八出接口,将第三数据流的出接口由第六出接口切换到第七出接口。

45、在一种可能的实施方式中,第二出接口包括多个端口,该装置还包括:

46、发送模块,用于通过多个端口中的轻载端口发送第一数据流,轻载端口为多个端口中负载最小的端口。

47、第四方面,提供了一种负载均衡的装置,应用于第一中间节点,该装置包括:

48、获取模块,用于获取第二出接口组的统计信息,第二出接口组包括中间节点上连接多个网络节点的多个中间出接口,第二出接口组的统计信息包括第二出接口组中的每个中间出接口的负载;

49、发送模块,用于向多个网络节点发送第二出接口组的统计信息,第二出接口组的统计信息用于多个网络节点中的第一网络节点获取第一入接口组的统计信息,第一入接口组包括第二网络节点上连接多个中间节点的多个入接口,第一入接口组的统计信息包括第一入接口组中的每个入接口的负载,多个入接口与第一网络节点上连接多个中间节点的多个出接口一一对应;

50、第一入接口组的统计信息用于第一网络节点将第一数据流的出接口由第一出接口组中的第一出接口切换到第一出接口组中的第二出接口,第一出接口对应的第一入接口为拥塞接口,第一数据流通过第一出接口传输至第二网络节点,第二出接口满足第一切换条件,第一切换条件为第二出接口和与第二出接口对应的第二入接口在第一数据流切换后均不是拥塞接口。

51、在一种可能的实施方式中,发送模块,还用于基于第二出接口组中的第一中间出接口拥塞且第一中间出接口传输的数据流来自于第一网络节点,向第一网络节点发送第一中间出接口的拥塞消息;

52、拥塞消息用于第一网络节点将第三数据流的出接口由第六出接口切换到第五出接口,第三数据流通过第六出接口传输,第六出接口为第一网络节点连接第一中间节点的出接口,第五出接口为第一网络节点上满足第三切换条件的出接口,第三切换条件为第五出接口和与第五出接口对应的第二中间节点连接该第四网络节点的中间出接口在该第三数据流切换后均不是拥塞接口。

53、其中,上述第一方面至第四方面中的任一所述的拥塞接口为发生拥塞的接口。

54、第五方面,提供了一种网络设备,该网络设备包括:处理器,所述处理器与存储器耦合,所述存储器中存储有至少一条程序指令或代码,所述至少一条程序指令或代码由所述处理器加载并执行,以使所述网络设备实现如上第一方面或第二方面任一所述的负载均衡的方法。

55、可选地,所述处理器为一个或多个,所述存储器为一个或多个。

56、可选地,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。

57、在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,rom),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术对存储器的类型以及存储器与处理器的设置方式不做限定。

58、第六方面,提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该通信装置执行第一方面或第一方面的任一种可能的实施方式中的方法,或者执行第二方面或第二方面的任一种可能的实施方式中的方法。

59、第七方面,提供了一种负载均衡的系统,所述负载均衡的系统包括多个网络节点和多个中间节点;

60、所述多个网络节点中的任一网络节点用于执行所述第一方面或第一方面的任一种可能的实现方式所述的方法,所述多个中间节点中的任一中间节点用于执行所述第二方面或第二方面的任一种可能的实现方式所述的方法。

61、第八方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行,以使计算机实现上述第一方面或第一方面的任一种可能的实施方式中的方法,或者实现上述第二方面或第二方面的任一种可能的实施方式中的方法。

62、第九方面,提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面中的方法。

63、第十方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。

64、第十一方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。

65、应当理解的是,本技术的第三方面至第十一方面技术方案及对应的可能的实施方式所取得的有益效果可以参见上述对第一方面至第二方面及其对应的可能的实施方式的技术效果,此处不再赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1