通信系统、控制节点和通信方法与流程

文档序号:17748903发布日期:2019-05-24 20:49阅读:224来源:国知局
通信系统、控制节点和通信方法与流程

本发明实施例涉及通信领域,并且更具体地,涉及通信系统、控制节点和通信方法。



背景技术:

片上网络(Network-on-Chip,NoC)能够将多个具有不同功能的模块集成到同一芯片中。但是随着NoC的规模越来越大,带来了一系列问题。例如,NoC规模的扩大会导致数据包传输的平均跳数的增加,从而增加延迟和功耗。此外,由于NoC中集成的多个功能模块具有不同的应用类型,使得网络中各个节点的负载不均衡,从而导致网络中的部分节点经常处于拥塞状态。目前,拥塞问题已经成为NoC主要的性能瓶颈。

路由自适应机制通常包括两部分:第一部分计算源节点到目的节点之间的多条可选路由路径,第二部分根据网络状态信息和特定选择策略从该多个可选路由路径中选择一个路由路径。在现有技术中的路由选择策略通常采用局域选择策略或路径上邻居(Neighbors on path,NoP)策略。具体地,以图1所示的节点(0,0)为源节点并且节点(3,3)为目的节点为例,源节点(0,0)有两条可选路由路径:向东方向的路径和向南方向的路径。在局域选择策略中,源节点(0,0)在选择路径时只考虑相邻节点的状态,即只考虑节点(0,1)和节点(1,0)的状态。由于节点在路由时只考虑可能的下一跳节点的状态,不能避免在下一跳节点以外的其它节点处产生拥塞。而在NoP策略中,源节点(0,0)在选择路径时忽略其相邻节点(0,1)和(1,0)的状态,而只考虑可能的路由路径上的第二跳节点的状态,即节点(0,2)和(2,0)的状态。该NoP策略能够在某些场景下避免在拐弯处陷入僵局,但是由于该NoP仍然仅考虑了部分节点的状态,不能兼顾网络整体的状态,因此在全局范围内的性能较差。



技术实现要素:

本发明实施例提供一种通信系统、控制节点和通信方法,能够提升系统的整体性能。

第一方面,本发明实施例提供了一种通信系统,包括:第一节点簇和第二节点簇,其中,该第一节点簇包括第一控制节点和至少一个其它节点,该第二节点簇包括第二控制节点,其中,该第一控制节点与该第二控制节点不相邻;该第一控制节点与该至少一个其它节点中的每个其它节点之间具有第一传输链路,该第一传输链路用于传输节点的状态信息;该第一控制节点和该第二控制节点之间具有第二传输链路,该第二传输链路用于传输节点簇的状态信息。

结合第一方面,在第一种可能的实现方式中,该第一传输链路为有线传输链路,该第二传输链路为无线传输链路。

结合上述可能的实现方式,在第二种可能的实现方式中,该第一控制节点用于:接收该至少一个其它节点中的每个其它节点在对应的第一传输链路上发送的该每个其它节点的状态信息;根据该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息;在该第二传输链路上向该第二控制节点发送该第一节点簇的状态信息。

结合上述可能的实现方式,在第三种可能的实现方式中,该第一控制节点具体用于在该第二传输链路上广播该第一节点簇的状态信息。

结合上述可能的实现方式,在第四种可能的实现方式中,该状态信息包括最大缓存占用率BFM;该第一控制节点具体用于:将该至少一个其它节点与该第一控制节点的BFM之和确定为该第一节点簇的BFM。

结合上述可能的实现方式,在第五种可能的实现方式中,该至少一个其它节点中的每个其它节点用于:接收该第一控制节点发送的状态信息上报指示,该状态信息上报指示用于指示该每个其它节点向该第一控制节点发送该每个其它节点的状态信息;根据该状态信息上报指示,向该第一控制节点发送该每个其它节点的状态信息。

结合上述可能的实现方式,在第六种可能的实现方式中,该第一控制节点还用于:确定第一数据包的目的节点所属的第三节点簇,其中,该通信系统还包括不同于该第一节点簇的该第三节点簇;确定该第一数据包由该第一节点簇至该第三节点簇的多个可选路由路径,其中,该多个可选路由路径中的每个可选路由路径包括至少一个节点簇;根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径。

结合上述可能的实现方式,在第七种可能的实现方式中,该第一数据包属于该至少一个其它节点中的第一其它节点;该第一控制节点还用于在确定该第一数据包的目的节点所属的第三节点簇之前,接收该第一其它节点发送的路径确定请求,该路径确定请求用于请求该第一控制节点确定该第一数据包的路由路径;该第一控制节点具体用于根据该路径确定请求,确定该第三节点簇;该第一控制节点还用于在该从该多个可选路由路径中确定目标路由路径之后,向该第一其它节点发送该目标路由路径的信息。

结合上述可能的实现方式,在第八种可能的实现方式中,该第一其它节点用于:接收该第一控制节点发送的该目标路由路径的信息;在该第一数据包中添加该目标路由路径的信息;发送添加了该目标路由路径的信息的该第一数据包。

结合上述可能的实现方式,在第九种可能的实现方式中,该第一节点簇包括转发节点,该至少一个其它节点包括该转发节点或该转发节点为该第一控制节点;该转发节点用于:接收第二数据包,该第二数据包携带该第二数据包的路由路径的信息,该路由路径的信息包括至少一个节点簇的信息;根据该第二数据包的路由路径的信息,确定该第二数据包的下一跳节点簇;根据该第二数据包的下一跳节点簇和该第二其它节点的多个相邻节点的状态信息,确定该第二数据包的下一跳节点;向该第二数据包的下一跳节点发送该第二数据包。

结合上述可能的实现方式,在第十种可能的实现方式中,该至少一个其它节点包括与该第一控制节点相邻的第二其它节点;该第一控制节点与该第二其它节点之间还具有用于传输数据的第三传输链路。

结合上述可能的实现方式,在第十一种可能的实现方式中,该至少一个其它节点包括第三其它节点和与该第三其它节点相邻的第四其它节点;该第三其它节点和该第四其它节点之间具有第四传输链路,该第四传输链路用于传输数据和节点的状态信息。

结合上述可能的实现方式,在第十二种可能的实现方式中,该第一控制节点和该第二控制节点具有无线收发器;该至少一个其它节点中的任意其它节点不具有无线收发器。

第二方面,提供了一种控制节点,包括:第一收发单元,用于接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息,其中,该控制节点所属的第一节点簇包括该至少一个其它节点;处理单元,用于根据该第一收发单元接收的该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息;第二收发单元,用于向第二控制节点发送该处理单元确定的该第一节点簇的状态信息。

结合第二方面,在第一种可能的实现方式中,该第二收发单元具体用于广播该处理单元确定的该第一节点簇的状态信息。

结合上述可能的实现方式,在第二种可能的实现方式中,该第二收发单元还用于:接收第三控制节点发送的令牌,根据该令牌,向该第二控制节点发送该第一节点簇的状态信息;或者该第二收发单元还用于:在发送该第一节点簇的状态信息之后,向第四控制节点发送令牌,以便于该第四控制节点根据该令牌发送该第四控制节点所属的节点簇的状态信息。

结合上述可能的实现方式,在第三种可能的实现方式中,该控制节点与该至少一个其它节点中的每个其它节点之间具有第一有线传输链路;该第一收发单元具体用于在与该至少一个其它节点中的每个其它节点之间的第一有线传输链路上接收该每个其它节点的状态信息。

结合上述可能的实现方式,在第四种可能的实现方式中,该至少一个其它节点包括与该控制节点相邻的第一其它节点,该控制节点与该第一其它节点之间还具有不同于该第一有线传输链路的第二有线传输链路;该第一收发单元还用于在该第二有线传输链路上收发数据。

结合上述可能的实现方式,在第五种可能的实现方式中,该状态信息包括最大缓存占用率BFM,该处理单元具体用于将该至少一个其它节点和该控制节点的BFM之和确定为该第一节点簇的BFM。

结合上述可能的实现方式,在第六种可能的实现方式中,该第一收发单元还用于:在接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息之前,向该至少一个其它节点中的每个其它节点发送状态信息上报指示,该状态信息上报指示用于指示该每个其它节点发送自身的状态信息。

结合上述可能的实现方式,在第七种可能的实现方式中,该第二收发单元还用于接收该第二控制节点发送的该第二控制节点所属的第二节点簇的状态信息;该控制节点还包括:第一存储单元,用于存储该第二收发单元接收的该第二节点簇的状态信息。

结合上述可能的实现方式,在第八种可能的实现方式中,该处理单元还用于:确定第一数据包的目的节点所属的第三节点簇;确定该数据包由该第一节点簇至该第三节点簇的多个可选路由路径,其中,该多个可选路由路径中的每个可选路由路径包括至少一个节点簇;根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径。

结合上述可能的实现方式,在第九种可能的实现方式中,该处理单元具体用于:根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,确定该每个可选路由路径的拥塞状态;将该多个可选路由路径中拥塞程度最小的可选路由路径确定为该目标路由路径。

结合上述可能的实现方式,在第十种可能的实现方式中,该第一数据包属于该控制节点;该处理单元还用于在该第一数据包中添加该目标路由路径的信息;该第一收发单元还用于发送添加了该目标路由路径的信息的该第一数据包。

结合上述可能的实现方式,在第十一种可能的实现方式中,该处理单元还用于在该第一收发单元发送添加了该目标路由路径的信息的该第一数据包之前,获取该控制节点的多个相邻节点的状态信息,并且根据该多个相邻节点的状态信息,确定该第一数据包的下一跳节点;该第一收发单元具体用于向该处理单元确定的该第一数据包的下一跳节点发送该第一数据包。

结合上述可能的实现方式,在第十二种可能的实现方式中,该处理单元具体用于:根据该多个相邻节点的状态信息,从该多个相邻节点中确定处于非拥塞状态的至少一个相邻节点;若该至少一个相邻节点的个数为多个,确定该目标路由路径中该第一节点簇对应的下一跳节点簇,并将该至少一个相邻节点中与该下一跳节点簇距离最近的相邻节点确定为该第一数据包的下一跳节点。

结合上述可能的实现方式,在第十三种可能的实现方式中,该第一数据包属于该至少一个其它节点中的第二其它节点;该第一收发单元还用于在确定该第一数据包的目的节点所属的第三节点簇之前,接收该第二其它节点发送的路径确定请求,该路径确定请求用于请求该控制节点确定该第一数据包的路由路径;该处理单元具体用于根据该第一收发单元接收的该路径确定请求,确定该第三节点簇;该第一收发单元还用于向该第二其它节点发送该处理单元确定的该目标路由路径的信息。

结合上述可能的实现方式,在第十四种可能的实现方式中,该路径确定请求携带该第一数据包的目的节点的信息;该控制节点还包括:第二存储单元,用于存储节点与节点簇之间的对应关系;该处理单元具体用于根据该目的节点的信息和该第二存储单元存储的节点与节点簇之间的对应关系,确定该第三节点簇。

结合上述可能的实现方式,在第十五种可能的实现方式中,该第一收发单元还用于接收第二数据包,该第二数据包携带该第二数据包的路由路径的信息,该第二数据包的路由路径的信息包括至少一个节点簇的信息;该处理单元还用于根据该第一收发单元接收的该第二数据包的路由路径的信息,确定该第二数据包的下一跳节点簇,并且根据该第二数据包的下一跳节点簇和该控制节点的多个相邻节点的状态信息,确定该第二数据包的下一跳节点;该第一收发单元还用于向该处理单元确定的该第二数据包的下一跳节点发送该第二数据包。

第三方面,提供了一种通信方法,包括:控制节点接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息,其中,该控制节点所属的第一节点簇包括该至少一个其它节点;根据该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息;向第二控制节点发送该第一节点簇的状态信息。

结合第三方面,在第一种可能的实现方式中,该向第二控制节点发送该第一节点簇的状态信息,包括:广播该第一节点簇的状态信息。

结合上述可能的实现方式,在第二种可能的实现方式中,在该向第二控制节点发送该第一节点簇的状态信息之前,该方法还包括:接收第三控制节点发送的令牌;该向第二控制节点发送该第一节点簇的状态信息,包括:根据该令牌,向该第二控制节点发送该第一节点簇的状态信息。

结合上述可能的实现方式,在第三种可能的实现方式中,该状态信息包括最大缓存占用率BFM;该根据该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息,包括:将该至少一个其它节点和该控制节点的BFM之和确定为该第一节点簇的BFM。

结合上述可能的实现方式,在第四种可能的实现方式中,在该接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息之前,该方法还包括:向该至少一个其它节点中的每个其它节点发送状态信息上报指示,该状态信息上报指示用于指示该每个其它节点发送自身的状态信息;该接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息,包括:接收至少一个其它节点中的每个其它节点根据该状态信息上报指示发送的该每个其它节点的状态信息。

结合上述可能的实现方式,在第五种可能的实现方式中,该方法还包括:

接收该第二控制节点发送的该第二控制节点所属的第二节点簇的状态信息;存储该第二节点簇的状态信息。

结合上述可能的实现方式,在第六种可能的实现方式中,该方法还包括:确定第一数据包的目的节点所属的第三节点簇;确定该数据包由该第一节点簇至该第三节点簇的多个可选路由路径,其中,该多个可选路由路径中的每个可选路由路径包括至少一个节点簇;根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径。

结合上述可能的实现方式,在第七种可能的实现方式中,该根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径,包括:根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,确定该每个可选路由路径的拥塞状态;将该多个可选路由路径中拥塞程度最小的可选路由路径确定为该目标路由路径。

结合上述可能的实现方式,在第八种可能的实现方式中,该第一数据包属于该控制节点;在该从该多个可选路由路径中确定目标路由路径之后,该方法还包括:在该第一数据包中添加该目标路由路径的信息;发送添加了该目标路由路径的信息的该第一数据包。

结合上述可能的实现方式,在第九种可能的实现方式中,在该发送添加了该目标路由路径的信息的该第一数据包之前,该方法还包括:获取该控制节点的多个相邻节点的状态信息;根据该多个相邻节点的状态信息,确定该第一数据包的下一跳节点;该发送添加了该目标路由路径的信息的该第一数据包,包括:向该第一数据包的下一跳节点发送该第一数据包。

结合上述可能的实现方式,在第十种可能的实现方式中,该根据该多个相邻节点的状态信息,确定该第一数据包的下一跳节点,包括:根据该多个相邻节点的状态信息,从该多个相邻节点中确定处于非拥塞状态的至少一个相邻节点;若该至少一个相邻节点的个数为多个,确定该目标路由路径中该第一节点簇对应的下一跳节点簇,并将该至少一个相邻节点中与该下一跳节点簇距离最近的相邻节点确定为该第一数据包的下一跳节点。

结合上述可能的实现方式,在第十一种可能的实现方式中,该第一数据包属于该至少一个其它节点中的第二其它节点;在该确定该第一数据包的目的节点所属的第三节点簇之前,该方法还包括:接收该第二其它节点发送的路径确定请求,该路径确定请求用于请求该控制节点确定该第一数据包的路由路径;该确定该第一数据包的目的节点所属的第三节点簇,包括:根据该路径确定请求,确定该第三节点簇;在该从该多个可选路由路径中确定目标路由路径之后,该方法还包括:向该第二其它节点发送该目标路由路径的信息。

结合上述可能的实现方式,在第十二种可能的实现方式中,该路径确定请求携带该第一数据包的目的节点的信息;该根据该路径确定请求,确定该第三节点簇,包括:确定节点与节点簇之间的对应关系;根据该目的节点的信息和该节点与节点簇之间的对应关系,确定该第三节点簇。

结合上述可能的实现方式,在第十三种可能的实现方式中,该方法还包括:接收第二数据包,该第二数据包携带该第二数据包的路由路径的信息,第二数据包的路由路径的信息包括至少一个节点簇的信息;根据该第二数据包的路由路径的信息,确定该第二数据包的下一跳节点簇;根据该第二数据包的下一跳节点簇和该控制节点的多个相邻节点的状态信息,确定该第二数据包的下一跳节点;向该第二数据包的下一跳节点发送该第二数据包。

基于上述技术方案,本发明实施例提供的通信系统、控制节点和通信方法,包括第一节点簇和第二节点簇,其中,第一控制节点与该第一节点簇中的每个其它节点之间具有用于传输节点的状态信息的第一传输链路,并且该第一控制节点和与该第一控制节点不相邻的第二控制节点之间具有用于传输节点簇的状态信息的第二传输链路,这样,该第一控制节点不仅能够该第一节点簇中包括的各个节点的状态信息,还能够获知该第二节点簇的状态信息,从而有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升系统的整体性能。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中的网络架构示意图。

图2为本发明实施例提供的通信系统示意图。

图3为本发明实施例提供的通信系统示例的示意图。

图4为本发明实施例提供的控制节点的示意性框图。

图5为本发明实施例提供的另一控制节点的示意性框图。

图6为本发明实施例提供的通信方法的示意性流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

应理解,本发明实施例的技术方案可以应用于片上网络的互连通信系统,例如由计算单元(processor unit),内存单元(memory unit)所共同组成的片上网络,但也可以应用于非片上网络,本发明实施例对此不做限定。还应理解,在本发明实施例中,节点可以与路由器一一对应,因此,本发明实施例中对节点的描述同样适用于路由器。

图2示出了根据本发明实施例的通信系统100的示意图。其中,该通信系统100包括:

第一节点簇110和第二节点簇120,其中,该第一节点簇110包括第一控制节点111和至少一个其它节点,该第二节点簇120包括第二控制节点121,其中,该第一控制节点111与该第二控制节点121不相邻;

该第一控制节点111与该至少一个其它节点中的每个其它节点之间具有第一传输链路L1,该第一传输链路L1用于传输节点的状态信息;

该第一控制节点111和该第二控制节点121之间具有第二传输链路L2,该第二传输链路L2用于传输节点簇的状态信息。

因此,根据本发明实施例的通信系统,包括第一节点簇和第二节点簇,其中,第一控制节点与该第一节点簇中的每个其它节点之间具有用于传输节点的状态信息的第一传输链路,并且该第一控制节点和与该第一控制节点不相邻的第二控制节点之间具有用于传输节点簇的状态信息的第二传输链路,这样,该第一控制节点不仅能够该第一节点簇中包括的各个节点的状态信息,还能够获知该第二节点簇的状态信息,从而有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升系统的整体性能。

应理解,在本发明实施例中,节点的状态信息以节点为粒度,用于表示节点的状态。节点簇的状态信息用于表示节点簇的状态,该节点簇的状态信息可以以节点簇为粒度。一个节点簇的状态可以根据该节点簇包括的部分或全部节点的状态确定。

该第一节点簇110可以包括该第一控制节点111和至少一个其它节点,其中,该至少一个其它节点可以包括与该第一控制节点111不相邻的节点。该第一控制节点111可以与该至少一个其它节点中的每个其它节点之间具有第一传输链路。可选地,该第一传输链路L1可以为有线链路或无线链路。该至少一个其它节点中的每个其它节点可以通过与该第一控制节点111之间的第一传输链路L1向该第一控制节点111传输自身的状态信息。相应地,该第一控制节点111可以接收该至少一个其它节点中的每个其它节点在对应的第一传输链路L1上传输的该每个其它节点的状态信息,并且存储该至少一个其它节点中的每个其它节点的状态信息,和/或根据该至少一个其它节点的状态信息,确定该第一节点簇的状态信息,但本发明实施例不限于此。

如图2所示,该第一控制节点111位于该第一节点簇110的中心,可选地,该第一控制节点111也可以位于该第一节点簇110的其他位置,本发明实施例对此不作限定。此外,该第一节点簇110还包括至少一个其它节点,图2示例性地示出了八个其它节点,即节点112-119。该第一控制节点111不仅和与该第一控制节点相邻的节点115、113、116和118之间分别具有用于传输节点的状态信息的第一传输链路L1(以长虚线表示),而且还和与该第一控制节点不相邻的节点112、114、117和119之间分别具有第一传输链路L1。这样,节点112-119中的每个节点可以通过与该第一控制节点111之间的第一传输链路L1直接向该第一控制节点111传输自身的状态信息。

可选地,该第一控制节点111和与该第一控制节点不相邻的节点(例如节点112)之间可以只具有一条传输链路,即该第一传输链路。该第一控制节点111和与该第一控制节点不相邻的节点之间的第一传输链路不能传输数据,这样,该第一控制节点111和与该第一控制节点不相邻的节点之间不能直接传输数据。

该第一控制节点111和与该第一控制节点相邻的节点(例如节点113)之间可以具有一条或多条传输链路,本发明实施例对此不做限定。可选地,作为另一实施例,该至少一个其它节点包括与该第一控制节点111相邻的第二其它节点,其中,该第一控制节点111与该第二其它节点之间还具有用于传输数据的第三传输链路。

如图2所示,该第一控制节点111具有四个相邻节点,即节点115、节点116、节点113和节点118。该第一控制节点111与该四个相邻节点中的每个相邻节点之间还可以具有用于传输数据的第三传输链路(以短虚线表示)。可选地,该第三传输链路可以专用于传输数据,而该第一控制节点111与该四个相邻节点之间的第一传输链路L1可以专门用于传输节点的状态信息,还可以进一步用于传输路由相关消息,例如,某个相邻节点通过该第一传输链路L1向该第一控制节点111发送路径确定请求。可选地,作为另一实施例,该第一控制节点111与该第一控制节点111的至少一个相邻节点之间的第一传输链路和该第一控制节点111与该至少一个相邻节点之间的第三传输链路为同一条链路,例如,该第一控制节点111与该第二其它节点之间的第一传输链路和该第一控制节点111与该第二其它节点之间的第三传输链路为同一条链路或不同的链路,本发明实施例对此不作限定。

该第二节点簇120可以包括该第二控制节点121,并且可选地还可以进一步包括至少一个第二其它节点。该第二节点簇120中包括的节点的数量可以与该第一节点簇包括的节点的数量相同或不同。此外,该第二节点簇120的配置可以与该第一节点簇110的配置相同或不同。具体地,该第二控制节点121与该至少一个第二其它节点中的部分或全部第二其它节点之间也可以具有用于传输节点的状态信息的第一传输链路,该第二控制节点121可以通过该第一传输链路获取该至少一个第二其它节点中的每个第二其它节点的状态信息,但本发明实施例对此不做限定。

此外,该第一控制节点111与该第二控制节点121之间还具有用于传输节点簇的状态信息的第二传输链路L2(以长-短虚线表示),其中,该第一控制节点111与该第二控制节点121可以不相邻。该第一控制节点111可以通过该第二传输链路L2向该第二控制节点121发送该第一节点簇的状态信息,并且通过该第二传输链路L2接收该第二控制节点121发送的该第二节点簇的状态信息。可选地,该第二传输链路L2可以为有线或无线链路,但本发明实施例不限于此。

优选地,该第一传输链路L1为有线传输链路,该第二传输链路L2为无线传输链路。

可选地,作为另一实施例,在本发明实施例中,该第一节点簇包括的所有节点中可以只有该第一控制节点具有无线收发器,类似地,该第二控制节点也可以具有无线收发器。相应地,该第一控制节点111和该第二控制节点121具有无线收发器;该至少一个其它节点中的任意其它节点不具有无线收发器。

可选地,作为另一实施例,该至少一个其它节点包括第三其它节点和与该第三其它节点相邻的第四其它节点,其中,该第三其它节点和该第四其它节点之间具有第四传输链路,该第四传输链路用于传输数据和节点的状态信息。

此时,该第一节点簇110可以包括该第一控制节点111和多个其他节点,其中,该多个其他节点中的任意两个相邻节点之间可以具有第四传输链路(以短虚线表示),该第四传输链路可以用于传输数据,也可以用于传输节点的状态信息,例如,节点的拥塞信息。具体地,如图2所示,节点113与节点112和节点114之间分别具有第四传输链路,该节点113可以通过与该节点112之间的第四传输链路向该节点112发送自身的状态信息和/或数据包,也可以通过与该节点112之间的第四传输链路接收该节点112发送的该节点112的状态信息和/或数据包,但本发明实施例不限于此。

可选地,作为另一实施例,该第三其它节点与该第四其它节点之间也可以具有两条传输链路,其中一条传输链路用于传输节点的状态信息,另一条传输链路用于传输数据,但本发明实施例不限于此。

此外,如图3所示,该通信网络100还可以包括除该第一节点簇110和该第二节点簇120之外的其他节点簇,其中,该图3示例性地示出了节点簇130-190,但本发明实施例不限于此。该节点簇130-190的配置可以与该第一节点簇110相同或不同,本发明实施例对此不作限定。

一般地,该通信网络100可以包括M个节点,并且该M个节点被划分为L个节点簇,其中,该L个节点簇可以包括该第一节点簇和该第二节点簇。该M个节点中的每个节点仅属于一个节点簇,并且该L个节点簇中的每个节点簇包括一个或多个节点,1<L<M。可选地,该L个节点簇中的任意两个节点簇包括的节点数量可以相等或不等,本发明实施例对此不做限定。

如图3所示,该通信系统100包括81个节点,并且该81个节点被划分为九个节点簇(110-190),并且该九个节点簇中的每个节点簇包括九个节点。可选地,该九个节点簇可以具有相同的配置。以第二节点簇120为例,该第二节点簇120包括节点(3,0)、节点(3,1)、节点(3,2)、节点(4,1)、节点(4,2)、节点(4,3)、节点(5,1)、节点(5,2)和节点(5,3),其中,每个节点与在其东侧(E)、西侧(W)、南侧(S)或北侧(N)的一跳节点相邻,例如,节点(4,1)的相邻节点包括:节点(3,1)、节点(5,1)、节点(4,0)和节点(4,2)。

类似地,相邻的节点簇可以表示物理或者逻辑上满足相邻关系的节点簇。例如,如图3所示,第一节点簇110的相邻节点簇包括:第二节点簇120和节点簇140。可选地,作为另一实施例,该第一节点簇110与该第二节点簇120也可以不相邻,本发明实施例对此不做限定。

在本发明实施例中,可以通过多种方式划分节点簇。可选地,可以将该网络分为L个物理区域,每个物理区域对应于一个节点簇,此时,位于该物理区域内的至少一个节点属于该物理区域对应的节点簇,但本发明还可以根据其他方式划分节点簇,本发明实施例对此不做限定。

可选地,该L个节点簇中的每个节点簇可以包括一个控制节点。可选地,一个节点簇中的控制节点可以为该节点簇包括的多个节点中位于某一特定位置的节点,例如,控制节点为该节点簇中的位于所有节点的中心的节点;或者该控制节点为该节点簇中具有某一特定功能或包括某一特定器件的节点,例如,该控制节点为该节点簇包括的所有节点中包括无线收发器的节点,等等,本发明实施例对此不做限定。

可选地,该第一节点簇可以包括多个其他节点。该第一控制节点与该多个其它节点中的至少一个其它节点之间可以分别具有第一传输链路,其中,该第一传输链路用于传输节点的状态信息。通过接收该至少一个其它节点在分别对应的第一传输链路上发送的节点的状态信息,该第一控制节点可以获取该多个其它节点中的每个其它节点的状态信息,并根据该多个其它节点中每个其它节点的状态信息,该第一控制节点可以确定该节点簇的状态信息。

在一个可选实施例中,该第一节点簇中只有相邻节点之间具有第一传输链路。此时,该第一控制节点可以在与至少一个相邻节点中的每个相邻节点在对应的第一传输链路上接收该每个相邻节点发送的节点的状态信息,其中,与该第一控制节点相邻的第二其他节点发送的状态信息可以包括该第二其他节点的状态信息,或进一步包括第三其他节点的状态信息,其中,该第三其他节点与该第一控制节点不相邻。该第一控制节点可以向该第一控制节点的相邻节点发送该第一控制节点接收到的节点的状态信息,或者将该接收到的节点的状态信息与该第一控制节点的状态信息聚合,并向该第一控制节点的相邻节点发送聚合后的节点的状态信息。这样,该第一控制节点可以获取该第一节点簇中除该第一控制节点以外的所有其它节点的状态信息。

在另一个可选实施例中,该第一控制节点可以与该多个其它节点中的每个其它节点之间具有第一传输链路。此时,该第一控制节点可以和与该第一控制节点不相邻的其它节点之间具有第一传输链路。该第一控制节点可以接收该多个其它节点中的每个其它节点在与该第一控制节点之间的传输链路上发送的该每个其它节点的状态信息,但本发明实施例不限于此。

可选地,作为另一实施例,该第一控制节点111用于:

接收该至少一个其它节点中的每个其它节点在对应的第一传输链路上发送的该每个其它节点的状态信息;

根据该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息;

在该第二传输链路上向该第二控制节点发送该第一节点簇的状态信息。

该状态信息可以包括拥塞信息,例如,最大缓存占用率(Mixmum Buffer Occupay,BFM),虚通道占用率,等等,该状态信息还可以包括其它信息,本发明实施例对此不作限定。

该至少一个其它节点中的每个其他节点可以周期性或触发性地向该第一控制节点发送自身的状态信息。可选地,该第一控制节点可以向该至少一个其他节点中的每个其他节点发送状态信息上报指示,该状态信息上报指示用于指示向该第一控制节点发送状态信息;相应地,该至少一个其它节点中的每个其他节点用于根据该状态信息上报指示,向该第一控制节点发送该每个其他节点的状态信息。

作为一个可选实施例,该状态信息包括最大缓存占用率BFM;相应地,该第一控制节点具体用于:将该至少一个其它节点与该第一控制节点的BFM之和确定为该第一节点簇的BFM。

具体地,该第一控制节点可以将该第一节点簇110中包括的所有节点的BFM之和确定为该第一节点簇的BFM。可选地,作为另一实施例,该第一控制节点也可以将该第一节点簇110中包括的全部节点的BFM的数学平均值或其它函数值作为该第一节点簇110的BFM,但本发明实施例不限于此。

作为另一个可选实施例,该第一控制节点可以根据该第一节点簇包括的部分节点的状态信息,确定该第一节点簇的状态信息。例如,该第一控制节点可以首先确定该第一节点簇包括的每个节点的BFM是否满足预设条件,并且根据该第一节点簇包括的所有节点中满足该预设条件的至少一个节点的BFM,确定该第一节点簇的BFM,例如,该第一控制节点可以将满足该预设条件的至少一个节点的BFM之和、或满足该预设条件的至少一个节点的BFM的数学平均值或其它函数值,作为该第一节点簇110的BFM,但本发明实施例不限于此。该满足预设条件的至少一个节点可以包括该第一控制节点和/或至少一个其他节点。该预设条件可以包括下列条件中的至少一项:节点自身的BFM值大于一定阈值,节点的BFM值与该节点簇中除该节点之外的至少一个其它节点的BFM值的差大于一定阈值,等等,本发明实施例对此不做限定。

该第一控制节点可以周期性地发送该第一节点簇的状态信息,其中,该周期值可以预先设置;或者,该第一控制节点也可以触发性地发送该第一节点簇的状态信息,例如,第一控制节点在接收到该第二控制节点发送的用于请求该第一节点簇的状态信息的请求时,向该第二控制节点发送该第一节点簇的状态信息;或者,该第一控制节点在接收第三控制节点发送的令牌时,发送该第一节点簇的状态信息,并且在发送该第一节点簇的状态信息之后,向第二控制节点发送该令牌,以便于该第二控制节点根据该令牌发送该第二节点簇的状态信息,但本发明实施例对此不作限定。

可选地,在该通信系统100中,除该第一节点簇110之外的(L-1)个其他节点簇中的每个其他节点簇可以包括一个控制节点,该(L-1)个其它节点簇中的每个其它节点簇包括的控制节点可以称为其它控制节点。此时,该第一控制节点可以与该(L-1)个其它控制节点中的至少一个其他控制节点之间可以具有第二传输链路,并且该至少一个其他控制节点包括该第二控制节点,其中,该第二传输链路用于传输节点簇的状态信息。通过接收该至少一个其它控制节点在对应的第二传输链路上发送的节点簇的状态信息,该第一控制节点可以确定该(L-1)个其它节点簇中的每个其他节点簇的状态信息。

在一个可选实施例中,在该通信系统100包括的L个控制节点中,只有相邻的节点簇包括的控制节点之间具有第二传输链路。该第一控制节点可以接收至少一个其它控制节点中的每个其它控制节点通过与该第一控制节点的第二传输链路发送的节点簇的状态信息,其中,该至少一个其它控制节点中的每个其它控制节点所属的节点簇与该第一节点簇相邻,并且该至少一个其它控制节点可以包括该第二控制节点。该第二控制节点发送的节点簇的状态信息可以包括该第二节点簇的状态信息,或进一步包括不同于该第二节点簇的第三节点簇的状态信息,其中,该第三节点簇的状态信息可以来自于第三控制节点,其中,该第三控制节点所属的节点簇可以与该第二节点簇相邻,并且该第三控制节点所属的节点簇可以与该第一节点簇不相邻,但本发明实施例不限于此。相应地,该第一控制节点可以向该至少一个其它控制节点发送该第一控制节点接收到的节点簇的状态信息,例如,如图4所示,该第一控制节点(1,1)可以向控制节点(4,1)发送该第一控制节点接收到的控制节点(1,4)发送的节点簇的状态信息,并且向控制节点(1,4)发送该第一控制节点接收到的控制节点(4,1)发送的节点簇的状态信息。或者,该第一控制节点可以先将该第一控制节点接收到的节点簇的状态信息与该第一节点簇的状态信息聚合,并向该与第一节点簇相邻的其它节点簇中的控制节点发送聚合后的节点簇的状态信息。这样,该第一控制节点可以获取除该第一节点簇以外的(L-1)个其它节点簇的状态信息。

在另一个可选实施例中,该通信系统100包括的L个控制节点中的任意两个控制节点之间具有第二传输链路。此时,不仅属于相邻的节点簇的两个控制节点之间可以具有第二传输链路,而且属于不相邻的节点簇的两个控制节点之间也可以具有第二传输链路。某一控制节点向其它控制节点发送的节点簇的状态信息可以仅包括该某一控制节点所属的节点簇的状态信息。相应地,该第一控制节点可以接收(L-1)个其它控制节点中的每个其它控制节点在与该第一控制节点的第二传输链路上发送的该每个其它控制节点所属的其它节点簇的状态信息,并且,该第一控制节点可以向(L-1)个其他控制节点发送该第一节点簇的状态信息,但本发明实施例对此不作限定。

可选地,作为另一实施例,如果该第二传输链路为无线链路。则该第一控制节点在发送该第一节点簇110的状态信息时,可以广播该第一节点簇110的状态信息,以节省信令开销。此时,该第一控制节点具体用于在该第二传输链路上广播该第一节点簇的状态信息。

相应地,该第一控制节点也可以接收其他控制节点广播的该其他控制节点所属的节点簇的状态信息,本发明实施例不限于此。

可选地,作为另一实施例,该第一控制节点还用于:

接收该第二控制节点发送的该第二节点簇的状态信息;

存储该第二节点簇的状态信息。

如果该第一控制节点已经存储有该第二节点簇的状态信息,该第一控制节点可以更新存储的该第二节点簇的状态信息。可选地,该第一控制节点也可以在再次接收到该第二节点簇的状态信息之前,一直使用存储的该第二节点簇的状态信息,但本发明实施例不限于此。此外,该第一控制节点也可以存储该第一节点簇的状态信息。

可选地,作为另一实施例,该第一控制节点还用于:

确定第一数据包的目的节点所属的第三节点簇,其中,该通信系统还包括不同于该第一节点簇的该第三节点簇;

确定该第一数据包由该第一节点簇至该第三节点簇的多个可选路由路径,其中,该多个可选路由路径中的每个可选路由路径包括至少一个节点簇;

根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径。

在本发明实施例中,该通信系统100还包括第三节点簇,并且该第三节点簇可以与该第一节点簇110相邻或不相邻。该第一控制节点可以确定由该第一节点簇至该第三节点簇的多个可选路由路径,每个可选路由路径包括至少一个节点簇。可选地,该多个可选路由路径可以为粗粒度路由路径,即该多个可选路由路径的基本粒度为节点簇。此时,该多个可选路由路径中的每个可选路由路径可以以该第一节点簇为起点,并且以该第三节点簇为终点,中间可以依次经过零个、一个或多个节点簇。可选地,该多个可选路由路径中的每个可选路由路径可以不包括该第一节点簇和该第三节点簇,此时,该每个可选路由路径包括的至少一个节点簇为该通信系统100中除该第一节点簇和该第三节点簇之外的节点簇;或者该多个可选路由路径中的每个可选路由路径也可以包括该第三节点簇,或者进一步包括该第一节点簇,或者进一步包括除该第一节点簇和该第三节点簇之外的至少一个节点簇,但本发明实施例不限于此。

该第一控制节点可以获取每个可选路由路径中包括的至少一个节点簇中每个节点簇的状态信息,并根据每个可选路由路径包括的至少一个节点簇中每个节点簇的状态信息,从该多个可选路由路径中选取目标路由路径。可选地,该第一控制节点具体用于:

根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,确定该每个可选路由路径的拥塞状态;

将该多个可选路由路径中拥塞程度最小的可选路由路径确定为该目标路由路径。

作为一个示例,节点簇的状态信息可以包括节点簇的BFM,可选路由路径的拥塞状态可以由该可选路由路径对应的BFM表示。其中,一个可选路由路径对应的BFM可以由该可选路由路径中包括的部分或全部节点簇的BFM确定。例如,该第一控制节点将该多个可选路由路径中的第一可选路由路径对应的BFM确定为该第一可选路由路径中包括的所有节点簇的BFM之和或数学平均值。或者,该第一控制节点也可以将该第一可选路由路径对应的BFM确定为该第一可选路由路径包括的部分节点簇的BFM之和或数学平均值,但本发明实施例不限于此。

该第一控制节点可以通过多种选择准则确定该目标路由路径。可选地,该第一控制节点在确定该目标路由路径时,可以仅考虑各个可选路由路径的拥塞状态,例如,该第一控制节点可以将该多个可选路由路径中最不拥塞(即拥塞程度最低)的可选路由路径确定为该目标路由路径。或者,该第一控制节点可以根据各个可选路由路径的拥塞状态和各个可选路由路径的其他参数,确定该目标路由路径。例如,该第一控制节点可以根据该多个可选路由路径中每个可选路由路径的拥塞状态和路径长度,确定该目标路由路径。具体地,一个可选路由路径的路径长度可以采用该可选路由路径包括的节点簇的个数表示,该节点簇的个数对应于数据包在该可选路由路径中的跳转次数,但本发明实施例对此不做限定。

作为一个可选实施例,该第一控制节点具体用于:根据该多个可选路由路径中每个可选路由路径的拥塞状态和该每个可选路由路径包括的节点簇的个数,从该多个可选路由路径中确定该目标路由路径。

在一个可选的选择准则中,可选路由路径的拥塞状态可以对应于第一权重值,可选路由路径包括的节点簇的个数可以对应于第二权重值。一个可选路由路径的总权重值可以根据该第一权重值、该可选路由路径的拥塞状态、第二权重值和该可选路由路径包括的节点簇的个数确定。例如,可选路由路径的总权重值W可以通过下式确定:W=(BFM)w1+Nw2,其中,N为该可选路由路径包括的节点簇的个数,w1为第一权重值,w2为第二权重值。可选地,该总权重值还可以具有其他函数形式,本发明实施例对此不作限定。

此时,该第一控制节点可以确定该多个可选路由路径中每个可选路由路径的总权重值,并且将该多个可选路由路径中具有最小总权重值的可选路由路径确定为该目标路由路径,但本发明实施例不限于此。

作为一个可选实施例,该至少一个其他节点中的第一节点为该第一数据包的源节点。此时,该第一数据包属于该至少一个其它节点中的第一其它节点;相应地,该第一控制节点还用于:

在确定该第一数据包的目的节点所属的第三节点簇之前,接收该第一其它节点发送的路径确定请求,该路径确定请求用于请求该第一控制节点确定该第一数据包的路由路径;

根据该路径确定请求,确定该第三节点簇;

在该从该多个可选路由路径中确定目标路由路径之后,向该第一其它节点发送该目标路由路径的信息。

该路径确定请求可以携带该目的节点的信息和/或该第三节点簇的信息。该第一控制节点可以根据该路径确定请求确定该第三节点簇。可选地,该路径确定请求可以携带该目的节点的信息,例如,目的节点的IP地址或设备标识,等等。此时,该第一控制节点可以根据该目的节点的信息,确定该第三节点簇。可选地,该第一控制节点可以获取节点与节点簇之间的对应关系,并且根据该目的节点的信息以及获取的该节点与节点簇之间的对应关系,确定该第三节点簇,其中,该对应关系可以是该第一控制节点预先存储的或者从其他网络设备获取的,本发明实施例对此不做限定。可选地,作为另一实施例,该第一控制节点也可以向其它网络设备发送携带有该目的节点的信息的请求,该其它网络设备根据该目的节点的信息确定该第三节点簇,并向该第一控制节点发送该第三节点簇的信息。

可选地,作为另一实施例,该第一其他节点可以确定该第三节点簇,并且在该路径确定请求中携带该第三节点簇的信息,例如,该第三节点簇的编号。具体地,该第一其他节点可以预先存储或有节点与节点簇的对应关系,或者该第一其他节点可以从该第一控制节点获取节点与节点簇的对应关系,并根据该节点与节点簇的对应关系以及该目的节点的信息,确定该第三节点簇,但本发明实施例对此不做限定。

可选地,该目标路由路径的信息可以包括该目标路由路径中包括的至少一个节点簇中的每个节点簇的标识信息,或者还可以进一步包括用于表示该至少一个节点簇的次序的信息,其中,该第一数据包按照该次序依次经过该至少一个节点簇,但本发明实施例不限于此。

作为一个可选实施例,该第一其它节点用于:

接收该第一控制节点发送的该目标路由路径的信息;

在该第一数据包中添加该目标路由路径的信息;

发送添加了该目标路由路径的信息的该第一数据包。

可选地,该第一其他节点可以将该目标路由路径的信息添加至该第一数据包的包头,但本发明实施例不限于此。该目标路由路径对应于该第一数据包的粗粒度路由路径,则该第一其他节点还可以确定该第一数据包的细粒度路由路径,其中,该细粒度路由路径以节点为基本粒度。

可选地,作为另一实施例,该第一其他节点还用于:

在发送添加了该目标路由路径的信息的该第一数据包之前,获取该第一其他节点的多个相邻节点的状态信息,并且根据该多个相邻节点的状态信息,确定该第一数据包的下一跳节点;

向该第一数据包的下一跳节点发送添加了该目标路由路径的信息的该第一数据包。

该多个相邻节点的状态信息可以包括该多个相邻节点中的部分或全部节点的状态信息。该状态信息可以包括拥塞信息。该第一其他节点可以与多个相邻节点中的每个相邻节点具有用于传输节点的状态信息的第四传输链路,相应地,该第一其他节点可以通过该多个相邻节点中的每个相邻节点对应的第四传输链路接收该每个相邻节点发送的自身的状态信息,但本发明实施例不限于此。

可选地,该第一其他节点可以根据该目标路由路径确定该第一数据包的下一跳节点簇,并确定该第一其他节点的多个相邻节点中与该下一跳节点簇距离最近的至少一个相邻节点,其中,与该下一跳节点簇距离最近的至少一个相邻节点可以指由该至少一个相邻节点到达该下一跳节点簇经过的跳数最少。然后,该第一其他节点可以确定该至少一个相邻节点中每个相邻节点的状态信息,并且根据该至少一个相邻节点中的每个相邻节点的状态信息,确定该下一跳节点。具体地,该第一其他节点可以确定该至少一个相邻节点中的每个相邻节点是否处于拥塞状态,其中,不处于拥塞状态的节点处于非拥塞状态,如果节点的状态信息中包括的拥塞信息满足预设条件,则该节点处于拥塞状态,该预设条件可以包括节点的BFM大于一定阈值,或者节点的BFM与该第一节点簇的平均BFM的差值大于一定阈值,等等,但本发明实施例不限于此。

如果该至少一个相邻节点中的每个相邻节点均处于拥塞状态,则该第一其他节点可以确定该多个相邻节点中与该下一跳节点簇的距离次近的至少一个相邻节点,并确定该距离次近的至少一个相邻节点是否处于拥塞状态,以此往复,直到找到处于非拥塞状态的相邻节点。如果与该下一跳节点簇距离最近的该至少一个相邻节点中存在处于非拥塞状态的相邻节点,则该第一其他节点可以将该至少一个相邻节点中处于非拥塞状态的相邻节点确定为该下一跳节点。如果该至少一个相邻节点中处于非拥塞状态的相邻节点的数量为多个,则该第一其他节点可以将该多个处于非拥塞状态的相邻节点中拥塞程度最小的节点确定为该下一跳节点,其中,拥塞程度最小的相邻节点可以指该多个处于非拥塞状态的相邻节点中对应于最小的BFM值的相邻节点,但本发明实施例不限于此。

可选地,作为另一实施例,该第一其他节点还可以首先确定该多个相邻节点中处于非拥塞状态的至少一个相邻节点,如果该处于非拥塞状态的至少一个相邻节点的个数为一个,则该第一其他节点可以将该处于非拥塞状态的相邻节点确定为该下一跳节点。如果该处于非拥塞状态的至少一个相邻节点的个数为多个,则该第一其他节点可以根据该至少一个相邻节点与该下一跳节点簇之间的距离,确定该下一跳节点。此时,该多个相邻节点的状态信息可以包括该多个相邻节点中的每个相邻节点的状态信息。相应地,该第一其他节点具体用于:

根据该第一其他节点的多个相邻节点中的每个相邻节点的状态信息,从该多个相邻节点中确定处于非拥塞状态的至少一个相邻节点;

若该至少一个相邻节点的个数为多个,确定该目标转发路径中该第一其他节点簇对应的下一跳节点簇,并将该至少一个相邻节点中与该下一跳节点簇距离最近的相邻节点确定为该下一跳节点。

如果该至少一个相邻节点中与该下一跳节点簇距离最近的相邻节点的个数为一个,则该第一其他节点可以将该距离最近的相邻节点确定为该下一跳节点。如果该至少一个相邻节点中与该下一跳节点簇距离最近的相邻节点的个数为多个,则该第一其他节点可以将其中拥塞程度最小的相邻节点确定为该下一跳节点,但本发明实施例不限于此。

可选地,作为另一实施例,如果该第一数据包属于该第一控制节点,即该第一控制节点为该第一数据包的源节点,则该第一控制节点也可以以类似的方式确定该第一数据包的下一跳节点,但本发明实施例不限于此。

可选地,作为另一实施例,该第一节点簇110包括转发节点,该至少一个其它节点包括该转发节点或该转发节点为该第一控制节点;

该转发节点用于:

接收第二数据包,该第二数据包携带该第二数据包的路由路径的信息,该路由路径的信息包括至少一个节点簇的信息;

根据该第二数据包的路由路径的信息,确定该第二数据包的下一跳节点簇;

根据该第二数据包的下一跳节点簇和该第二其它节点的多个相邻节点的状态信息,确定该第二数据包的下一跳节点;

向该第二数据包的下一跳节点发送该第二数据包。

具体地,该转发节点可以为该第一控制节点,也可以为该至少一个其它节点中的节点,该转发节点确定该第二数据包的下一跳节点的方式可以参照上面描述,为了简洁,这里不再赘述。

因此,根据本发明实施例的通信系统,包括第一节点簇和第二节点簇,其中,该第一节点簇中的第一控制节点与其它节点之间具有用于传输节点的状态信息的第一传输链路,并且该第一控制节点和该第二节点簇中的第二控制节点之间具有用于传输节点簇的状态信息的第二传输链路,这样,该第一控制节点不仅能够该第一节点簇中包括的各个节点的状态信息,还能够获知该第二节点簇的状态信息,从而有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升系统的整体性能。

此外,通过根据第一数据包的每个可选路由路径中包括的每个节点簇的状态信息,确定该第一数据包的目标路由路径,能够均衡网络中各个节点簇的负载,从而避免拥塞现象的发生。进一步地,在发送该第一数据包时,节点通过根据多个相邻节点的状态信息,确定该第一数据包的下一跳节点,能够进一步均衡源节点簇中的各个节点的负载,从而均衡网络中所有节点的负载,进一步避免拥塞现象的发生。

图4示意性地示出了根据本发明实施例的控制节点200。该控制节点200包括:

第一收发单元210,用于接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息,其中,该控制节点所属的第一节点簇包括该至少一个其它节点;

处理单元220,用于根据该第一收发单元210接收的该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息;

第二收发单元230,用于向第二控制节点发送该处理单元220确定的该第一节点簇的状态信息。

因此,根据本发明实施例的控制节点,通过该控制节点与其它节点之间的第一传输链路接收该其它节点的状态信息,根据各个其它节点的状态信息确定该第一节点簇的状态信息,并通过与该第二控制节点之间的第二传输链路向该第二控制节点发送该第一节点簇的状态信息,有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升系统的整体性能。

可选地,该控制节点200与该第二控制节点之间可以具有无线链路。该第二收发单元230具体用于广播该处理单元220确定的该第一节点簇的状态信息。

该第二收发单元230可以周期性地发送该第一节点簇的状态信息,其中,该周期值可以预先设置;或者,该第二收发单元230也可以触发性地发送该第一节点簇的状态信息,例如,该第二收发单元230在接收到该第二控制节点发送的用于请求该第一节点簇的状态信息的请求时,向该第二控制节点发送该第一节点簇的状态信息;或者,该第二收发单元230在接收第三控制节点发送的令牌时,发送该第一节点簇的状态信息,其中,该第三控制节点可以生成该令牌或者该第三控制节点从其它控制节点获取该令牌,可选地,在发送该第一节点簇的状态信息之后,该第二收发单元230还可以向第四控制节点发送该令牌,以便于该第四控制节点根据该令牌发送该第四节点所属的节点簇的状态信息,但本发明实施例对此不作限定。

可选地,作为另一实施例,该第二收发单元230还用于:接收第三控制节点发送的令牌,根据该令牌,向该第二控制节点发送该第一节点簇的状态信息;或者

该第二收发单元230还用于:在发送该第一节点簇的状态信息之后,向第四控制节点发送令牌,以便于该第四控制节点根据该令牌发送该第四控制节点所属的节点簇的状态信息。

可选地,作为另一实施例,该控制节点200与该至少一个其它节点中的每个其它节点之间具有第一有线传输链路;

该第一收发单元210具体用于在与该至少一个其它节点中的每个其它节点之间的第一有线传输链路上接收该每个其它节点的状态信息。

可选地,作为另一实施例,该至少一个其它节点包括与该控制节点200相邻的第一其它节点,该控制节点200与该第一其它节点之间还具有不同于该第一有线传输链路的第二有线传输链路;

相应地,该第一收发单元210还用于在该第二有线传输链路上收发数据。

可选地,作为另一实施例,该状态信息包括最大缓存占用率BFM,该处理单元220具体用于将该至少一个其它节点和该控制节点的BFM之和确定为该第一节点簇的BFM。

该处理单元还可以将该至少一个其它节点和该控制节点的BFM的其他函数值作为该第一节点簇的BFM,例如该至少一个其它节点和该控制节点的BFM的数学平均值,等等,本发明实施例不限于此。

可选地,作为另一实施例,该第一收发单元210还用于:

在接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息之前,向该至少一个其它节点中的每个其它节点发送状态信息上报指示,该状态信息上报指示用于指示该每个其它节点发送自身的状态信息。

该至少一个其它节点中的每个其他节点可以根据该状态信息上报指示向该控制节点发送自身的状态信息,例如,拥塞信息。

可选地,作为另一实施例,该第二收发单元230还用于接收该第二控制节点发送的该第二控制节点所属的第二节点簇的状态信息;

相应地,该控制节点200还包括:

第一存储单元,用于存储该第二收发单元230接收的该第二节点簇的状态信息。

可选地,如果该第一存储单元已经存储有该第二节点簇的状态信息,则该第一存储单元可以更新存储的该第二节点簇的状态信息。

可选地,作为另一实施例,该处理单元220还用于:

确定第一数据包的目的节点所属的第三节点簇;

确定该数据包由该第一节点簇至该第三节点簇的多个可选路由路径,其中,该多个可选路由路径中的每个可选路由路径包括至少一个节点簇;

根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径。

该处理单元220可以确定由该第一节点簇至该第三节点簇的多个可选路由路径,每个可选路由路径包括至少一个节点簇。可选地,该多个可选路由路径可以为粗粒度路由路径,即该多个可选路由路径的基本粒度为节点簇。此时,该多个可选路由路径中的每个可选路由路径可以以该第一节点簇为起点,并且以该第三节点簇为终点,中间可以依次经过零个、一个或多个节点簇。可选地,该多个可选路由路径中的每个可选路由路径可以不包括该第一节点簇和该第三节点簇,此时,该每个可选路由路径包括的至少一个节点簇为除该第一节点簇和该第三节点簇之外的节点簇;或者该多个可选路由路径中的每个可选路由路径也可以包括该第三节点簇,或者进一步包括该第一节点簇,或者进一步包括除该第一节点簇和该第三节点簇之外的至少一个节点簇,但本发明实施例不限于此。

节点簇的状态信息可以包括节点簇的BFM,可选路由路径的拥塞状态可以由该可选路由路径对应的BFM表示。其中,一个可选路由路径对应的BFM可以由该可选路由路径中包括的部分或全部节点簇的BFM确定。例如,该处理单元220可以将该多个可选路由路径中的第一可选路由路径对应的BFM确定为该第一可选路由路径中包括的所有节点簇的BFM之和或数学平均值,但本发明实施例不限于此。

该处理单元220可以通过多种选择准则确定该目标路由路径。可选地,该处理单元220在确定该目标路由路径时,可以仅考虑各个可选路由路径的拥塞状态,例如,该第一控制节点可以将该多个可选路由路径中最不拥塞(即拥塞程度最低)的可选路由路径确定为该目标路由路径。或者,该处理单元220可以根据各个可选路由路径的拥塞状态和各个可选路由路径的其他参数,确定该目标路由路径。例如,根据该多个可选路由路径中每个可选路由路径的拥塞状态和路径长度,确定该目标路由路径。具体地,一个可选路由路径的路径长度可以采用该可选路由路径包括的节点簇的个数表示,该节点簇的个数对应于数据包在该可选路由路径中的跳转次数,但本发明实施例对此不做限定。

在一个可选的选择准则中,可选路由路径的拥塞状态可以对应于第一权重值,可选路由路径包括的节点簇的个数可以对应于第二权重值。一个可选路由路径的总权重值可以根据该第一权重值、该可选路由路径的拥塞状态、第二权重值和该可选路由路径包括的节点簇的个数确定。例如,可选路由路径的总权重值W可以通过下式确定:W=(BFM)w1+Nw2,其中,N为该可选路由路径包括的节点簇的个数,w1为第一权重值,w2为第二权重值。可选地,该总权重值还可以具有其他函数形式,本发明实施例对此不作限定。

此时,该处理单元220可以确定该多个可选路由路径中每个可选路由路径的总权重值,并且将该多个可选路由路径中具有最小总权重值的可选路由路径确定为该目标路由路径,但本发明实施例不限于此。

可选地,作为另一实施例,该处理单元220具体用于:

根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,确定该每个可选路由路径的拥塞状态;

将该多个可选路由路径中拥塞程度最小的可选路由路径确定为该目标路由路径。

可选地,作为另一实施例,该第一数据包属于该控制节点200,即该控制节点200为该第一数据包的源节点。此时,该处理单元220还用于在该第一数据包中添加该目标路由路径的信息;

相应地,该第一收发单元210还用于发送添加了该目标路由路径的信息的该第一数据包。

可选地,该目标路由路径的信息可以包括该目标路由路径中包括的至少一个节点簇中的每个节点簇的标识信息,或者还可以进一步包括用于表示该至少一个节点簇的次序的信息,其中,该第一数据包按照该次序依次经过该至少一个节点簇,但本发明实施例不限于此。

可选地,作为另一实施例,该处理单元220还用于在该第一收发单元210发送添加了该目标路由路径的信息的该第一数据包之前,获取该控制节点的多个相邻节点的状态信息,并且根据该多个相邻节点的状态信息,确定该第一数据包的下一跳节点;

该第一收发单元210具体用于向该处理单元220确定的该第一数据包的下一跳节点发送该第一数据包。

可选地,该处理单元220可以根据该目标路由路径确定该第一数据包的下一跳节点簇,并确定该控制节点200的多个相邻节点中与该下一跳节点簇距离最近的至少一个相邻节点,其中,与该下一跳节点簇距离最近的至少一个相邻节点可以指由该至少一个相邻节点到达该下一跳节点簇经过的跳数最少。然后,该处理单元220可以确定该至少一个相邻节点中每个相邻节点的状态信息,并且根据该至少一个相邻节点中的每个相邻节点的状态信息,确定该下一跳节点。具体地,该第一其他节点可以确定该至少一个相邻节点中的每个相邻节点是否处于拥塞状态,其中,如果节点的状态信息中包括的拥塞信息满足预设条件,则该节点处于拥塞状态,该预设条件可以包括节点的BFM大于一定阈值,或者节点的BFM与该第一节点簇的平均BFM的差值大于一定阈值,等等,但本发明实施例不限于此。

如果该至少一个相邻节点中的每个相邻节点均处于拥塞状态,则该处理单元220可以确定该多个相邻节点中与该下一跳节点簇的距离次近的至少一个相邻节点,并确定该距离次近的至少一个相邻节点是否处于拥塞状态,以此往复,直到找到处于非拥塞状态的相邻节点。如果与该下一跳节点簇距离最近的该至少一个相邻节点中存在处于非拥塞状态的相邻节点,则该处理单元220可以将该至少一个相邻节点中处于非拥塞状态的相邻节点确定为该下一跳节点。如果该至少一个相邻节点中处于非拥塞状态的相邻节点的数量为多个,则该处理单元220可以将该多个处于非拥塞状态的相邻节点中拥塞程度最小的节点确定为该下一跳节点,其中,拥塞程度最小的相邻节点可以指该多个处于非拥塞状态的相邻节点中对应于最小的BFM值的相邻节点,但本发明实施例不限于此。

可选地,作为另一实施例,该处理单元220还可以首先确定该多个相邻节点中处于非拥塞状态的至少一个相邻节点,如果该处于非拥塞状态的至少一个相邻节点的个数为一个,则该处理单元220可以将该处于非拥塞状态的相邻节点确定为该下一跳节点。如果该处于非拥塞状态的至少一个相邻节点的个数为多个,则该处理单元220可以根据该至少一个相邻节点与该下一跳节点簇之间的距离,确定该下一跳节点。

可选地,作为另一实施例,该处理单元220具体用于:

根据该多个相邻节点的状态信息,从该多个相邻节点中确定处于非拥塞状态的至少一个相邻节点;

若该至少一个相邻节点的个数为多个,确定该目标路由路径中该第一节点簇对应的下一跳节点簇,并将该至少一个相邻节点中与该下一跳节点簇距离最近的相邻节点确定为该第一数据包的下一跳节点。

可选地,作为另一实施例,该第一数据包属于该至少一个其它节点中的第二其它节点,即该第二其它节点为该第一数据包的源节点。此时,该第一收发单元210还用于在确定该第一数据包的目的节点所属的第三节点簇之前,接收该第二其它节点发送的路径确定请求,该路径确定请求用于请求该控制节点确定该第一数据包的路由路径;

该处理单元220具体用于根据该第一收发单元210接收的该路径确定请求,确定该第三节点簇;

该第一收发单元210还用于向该第二其它节点发送该处理单元220确定的该目标路由路径的信息。

该路径确定请求可以携带该第一数据包的目的节点的信息和/或该第三节点簇的信息,该处理单元220可以根据该路径确定请求确定该第三节点簇。

可选地,作为另一实施例,该路径确定请求携带该第一数据包的目的节点的信息。此时,该控制节点200还包括:第二存储单元,用于存储节点与节点簇之间的对应关系;

相应地,该处理单元220具体用于根据该目的节点的信息和该第二存储单元存储的节点与节点簇之间的对应关系,确定该第三节点簇。

可选地,作为另一实施例,该第一收发单元210还用于接收第二数据包,该第二数据包携带该第二数据包的路由路径的信息,该第二数据包的路由路径的信息包括至少一个节点簇的信息;

该处理单元220还用于根据该第一收发单元210接收的该第二数据包的路由路径的信息,确定该第二数据包的下一跳节点簇,并且根据该第二数据包的下一跳节点簇和该控制节点的多个相邻节点的状态信息,确定该第二数据包的下一跳节点;

该第一收发单元210还用于向该处理单元220确定的该第二数据包的下一跳节点发送该第二数据包。

该处理单元220确定该第二数据包的下一跳节点的方式可以与该处理单元210确定该第一数据包的下一跳节点的方式类似,为了简洁,这里不再赘述。

该控制节点200可以对应于上述通信系统100中的第一控制节点110,该控制节点200和该第一控制节点110的描述可以相互参照。

因此,根据本发明实施例的控制节点,通过该控制节点与其它节点之间的第一传输链路接收该其它节点的状态信息,根据各个其它节点的状态信息确定该第一节点簇的状态信息,并通过与该第二控制节点之间的第二传输链路向该第二控制节点发送该第一节点簇的状态信息,有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升系统的整体性能。

此外,通过根据第一数据包的每个可选路由路径中包括的每个节点簇的状态信息,确定该第一数据包的目标路由路径,能够均衡网络中各个节点簇的负载,从而避免拥塞现象的发生。进一步地,在发送该第一数据包时,节点通过根据多个相邻节点的状态信息,确定该第一数据包的下一跳节点,能够进一步均衡源节点簇中的各个节点的负载,从而均衡网络中所有节点的负载,进一步避免拥塞现象的发生。

图5示意性地示出了根据本发明实施例的控制节点300。该控制节点300包括:

第一收发器310,用于接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息,其中,该控制节点所属的第一节点簇包括该至少一个其它节点;

处理器320,用于根据该第一收发器310接收的该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息;

第二收发器330,用于向第二控制节点发送该处理器320确定的该第一节点簇的状态信息。

因此,根据本发明实施例的控制节点,通过该控制节点与其它节点之间的第一传输链路接收该其它节点的状态信息,根据各个其它节点的状态信息确定该第一节点簇的状态信息,并通过与该第二控制节点之间的第二传输链路向该第二控制节点发送该第一节点簇的状态信息,有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升系统的整体性能。

应理解,在本发明实施例中,该处理器320可以是中央处理单元(Central Processing Unit,简称为“CPU”),该处理器320还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

可选地,该第二收发器330为无线收发器。该第二收发器330具体用于广播该处理器320确定的该第一节点簇的状态信息。

该第二收发器330可以周期性地发送该第一节点簇的状态信息,其中,该周期值可以预先设置;或者,该第二收发器330也可以触发性地发送该第一节点簇的状态信息,例如,该第二收发器330在接收到该第二控制节点发送的用于请求该第一节点簇的状态信息的请求时,向该第二控制节点发送该第一节点簇的状态信息;或者,该第二收发器330在接收第三控制节点发送的令牌时,发送该第一节点簇的状态信息,其中,该第三控制节点可以生成该令牌或者该第三控制节点从其它控制节点获取该令牌,可选地,在发送该第一节点簇的状态信息之后,该第二收发器330还可以向第四控制节点发送该令牌,以便于该第四控制节点根据该令牌发送该第四节点所属的节点簇的状态信息,但本发明实施例对此不作限定。

可选地,作为另一实施例,该第二收发器330还用于:接收第三控制节点发送的令牌,根据该令牌,向该第二控制节点发送该第一节点簇的状态信息;或者

该第二收发器330还用于:在发送该第一节点簇的状态信息之后,向第四控制节点发送令牌,以便于该第四控制节点根据该令牌发送该第四控制节点所属的节点簇的状态信息。

可选地,作为另一实施例,该控制节点300与该至少一个其它节点中的每个其它节点之间具有第一有线传输链路,此时,该第一收发器310为有线收发器。该第一收发器310具体用于在与该至少一个其它节点中的每个其它节点之间的第一有线传输链路上接收该每个其它节点的状态信息。

可选地,作为另一实施例,该至少一个其它节点包括与该控制节点300相邻的第一其它节点,该控制节点300与该第一其它节点之间还具有不同于该第一有线传输链路的第二有线传输链路;相应地,该第一收发器310还用于在该第二有线传输链路上收发数据。

可选地,作为另一实施例,该状态信息包括最大缓存占用率BFM,该处理器320具体用于将该至少一个其它节点和该控制节点的BFM之和确定为该第一节点簇的BFM。

该处理单元还可以将该至少一个其它节点和该控制节点的BFM的其他函数值作为该第一节点簇的BFM,例如该至少一个其它节点和该控制节点的BFM的数学平均值,等等,本发明实施例不限于此。

可选地,作为另一实施例,该第一收发器310还用于:

在接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息之前,向该至少一个其它节点中的每个其它节点发送状态信息上报指示,该状态信息上报指示用于指示该每个其它节点发送自身的状态信息。

该至少一个其它节点中的每个其他节点可以根据该状态信息上报指示向该控制节点发送自身的状态信息,例如,拥塞信息。

可选地,作为另一实施例,该第二收发器330还用于接收该第二控制节点发送的该第二控制节点所属的第二节点簇的状态信息;

相应地,该控制节点300还包括:

存储器,用于存储该第二收发器330接收的该第二节点簇的状态信息。

该存储器可以包括只读存储器和随机存取存储器,并向处理器320提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。

可选地,如果该存储器已经存储有该第二节点簇的状态信息,则该存储器可以更新存储的该第二节点簇的状态信息。

可选地,作为另一实施例,该处理器320还用于:

确定第一数据包的目的节点所属的第三节点簇;

确定该数据包由该第一节点簇至该第三节点簇的多个可选路由路径,其中,该多个可选路由路径中的每个可选路由路径包括至少一个节点簇;

根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径。

该处理器320可以确定由该第一节点簇至该第三节点簇的多个可选路由路径,每个可选路由路径包括至少一个节点簇。可选地,该多个可选路由路径可以为粗粒度路由路径,即该多个可选路由路径的基本粒度为节点簇。此时,该多个可选路由路径中的每个可选路由路径可以以该第一节点簇为起点,并且以该第三节点簇为终点,中间可以依次经过零个、一个或多个节点簇。可选地,该多个可选路由路径中的每个可选路由路径可以包括除该第一节点簇和该第三节点簇之外的节点簇,或进一步包括该第三节点簇,或者进一步包括该第一节点簇,但本发明实施例不限于此。

节点簇的状态信息可以包括节点簇的BFM,可选路由路径的拥塞状态可以由该可选路由路径对应的BFM表示。其中,一个可选路由路径对应的BFM可以由该可选路由路径中包括的部分或全部节点簇的BFM确定。例如,该处理器320可以将该多个可选路由路径中的第一可选路由路径对应的BFM确定为该第一可选路由路径中包括的所有节点簇的BFM之和或数学平均值,但本发明实施例不限于此。

在一个可选的选择准则中,可选路由路径的拥塞状态可以对应于第一权重值,可选路由路径包括的节点簇的个数可以对应于第二权重值。一个可选路由路径的总权重值可以根据该第一权重值、该可选路由路径的拥塞状态、第二权重值和该可选路由路径包括的节点簇的个数确定。例如,可选路由路径的总权重值W可以通过下式确定:W=(BFM)w1+Nw2,其中,N为该可选路由路径包括的节点簇的个数,w1为第一权重值,w2为第二权重值。可选地,该总权重值还可以具有其他函数形式,本发明实施例对此不作限定。

此时,该处理器320可以确定该多个可选路由路径中每个可选路由路径的总权重值,并且将该多个可选路由路径中具有最小总权重值的可选路由路径确定为该目标路由路径,但本发明实施例不限于此。

可选地,作为另一实施例,该处理器320具体用于:

根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,确定该每个可选路由路径的拥塞状态;

将该多个可选路由路径中拥塞程度最小的可选路由路径确定为该目标路由路径。

可选地,作为另一实施例,该第一数据包属于该控制节点300,即该控制节点为该第一数据包的源节点。此时,该处理器320还用于在该第一数据包中添加该目标路由路径的信息;

相应地,该第一收发器310还用于发送添加了该目标路由路径的信息的该第一数据包。

可选地,该目标路由路径的信息可以包括该目标路由路径中包括的至少一个节点簇中的每个节点簇的标识信息,或者还可以进一步包括用于表示该至少一个节点簇的次序的信息,其中,该第一数据包按照该次序依次经过该至少一个节点簇,但本发明实施例不限于此。

可选地,作为另一实施例,该处理器320还用于在该第一收发器310发送添加了该目标路由路径的信息的该第一数据包之前,获取该控制节点的多个相邻节点的状态信息,并且根据该多个相邻节点的状态信息,确定该第一数据包的下一跳节点;

该第一收发器310具体用于向该处理器320确定的该第一数据包的下一跳节点发送该第一数据包。

可选地,该处理器320可以根据该目标路由路径确定该第一数据包的下一跳节点簇,并确定该控制节点200的多个相邻节点中与该下一跳节点簇距离最近的至少一个相邻节点,其中,与该下一跳节点簇距离最近的至少一个相邻节点可以指由该至少一个相邻节点到达该下一跳节点簇经过的跳数最少。然后,该处理器320可以确定该至少一个相邻节点中每个相邻节点的状态信息,并且根据该至少一个相邻节点中的每个相邻节点的状态信息,确定该下一跳节点。具体地,该第一其他节点可以确定该至少一个相邻节点中的每个相邻节点是否处于拥塞状态,其中,如果节点的状态信息中包括的拥塞信息满足预设条件,则该节点处于拥塞状态,该预设条件可以包括节点的BFM大于一定阈值,或者节点的BFM与该第一节点簇的平均BFM的差值大于一定阈值,等等,但本发明实施例不限于此。

如果该至少一个相邻节点中的每个相邻节点均处于拥塞状态,则该处理器320可以确定该多个相邻节点中与该下一跳节点簇的距离次近的至少一个相邻节点,并确定该距离次近的至少一个相邻节点是否处于拥塞状态,以此往复,直到找到处于非拥塞状态的相邻节点。如果与该下一跳节点簇距离最近的该至少一个相邻节点中存在处于非拥塞状态的相邻节点,则该处理器320可以将该至少一个相邻节点中处于非拥塞状态的相邻节点确定为该下一跳节点。如果该至少一个相邻节点中处于非拥塞状态的相邻节点的数量为多个,则该处理器320可以将该多个处于非拥塞状态的相邻节点中拥塞程度最小的节点确定为该下一跳节点,其中,拥塞程度最小的相邻节点可以指该多个处于非拥塞状态的相邻节点中对应于最小的BFM值的相邻节点,但本发明实施例不限于此。

可选地,作为另一实施例,该处理器320还可以首先确定该多个相邻节点中处于非拥塞状态的至少一个相邻节点,如果该处于非拥塞状态的至少一个相邻节点的个数为一个,则该处理器320可以将该处于非拥塞状态的相邻节点确定为该下一跳节点。如果该处于非拥塞状态的至少一个相邻节点的个数为多个,则该处理器320可以根据该至少一个相邻节点与该下一跳节点簇之间的距离,确定该下一跳节点。

可选地,作为另一实施例,该处理器320具体用于:

根据该多个相邻节点的状态信息,从该多个相邻节点中确定处于非拥塞状态的至少一个相邻节点;

若该至少一个相邻节点的个数为多个,确定该目标路由路径中该第一节点簇对应的下一跳节点簇,并将该至少一个相邻节点中与该下一跳节点簇距离最近的相邻节点确定为该第一数据包的下一跳节点。

可选地,作为另一实施例,该第一数据包属于该至少一个其它节点中的第二其它节点。此时,该第一收发器310还用于在确定该第一数据包的目的节点所属的第三节点簇之前,接收该第二其它节点发送的路径确定请求,该路径确定请求用于请求该控制节点确定该第一数据包的路由路径;

该处理器320具体用于根据该第一收发器310接收的该路径确定请求,确定该第三节点簇;

该第一收发器310还用于向该第二其它节点发送该处理器320确定的该目标路由路径的信息。

该路径确定请求可以携带该第一数据包的目的节点的信息和/或该第三节点簇的信息,该处理器320可以根据该路径确定请求确定该第三节点簇。

可选地,作为另一实施例,该路径确定请求携带该第一数据包的目的节点的信息。此时,该控制节点300还包括:存储器,用于存储节点与节点簇之间的对应关系;

相应地,该处理器320具体用于根据该目的节点的信息和该存储器存储的节点与节点簇之间的对应关系,确定该第三节点簇。

可选地,作为另一实施例,该第一收发器310还用于接收第二数据包,该第二数据包携带该第二数据包的路由路径的信息,该第二数据包的路由路径的信息包括至少一个节点簇的信息;

该处理器320还用于根据该第一收发器310接收的该第二数据包的路由路径的信息,确定该第二数据包的下一跳节点簇,并且根据该第二数据包的下一跳节点簇和该控制节点的多个相邻节点的状态信息,确定该第二数据包的下一跳节点;

该第一收发器310还用于向该处理器320确定的该第二数据包的下一跳节点发送该第二数据包。

该处理器320确定该第二数据包的下一跳节点的方式可以与该处理单元210确定该第一数据包的下一跳节点的方式类似,为了简洁,这里不再赘述。

该控制节点300可以对应于上述通信系统100中的第一控制节点110,该控制节点300和该第一控制节点110的描述可以相互参照。

因此,根据本发明实施例的控制节点,通过该控制节点与其它节点之间的第一传输链路接收该其它节点的状态信息,根据各个其它节点的状态信息确定该第一节点簇的状态信息,并通过与该第二控制节点之间的第二传输链路向该第二控制节点发送该第一节点簇的状态信息,有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升系统的整体性能。

此外,通过根据第一数据包的每个可选路由路径中包括的每个节点簇的状态信息,确定该第一数据包的目标路由路径,能够均衡网络中各个节点簇的负载,从而避免拥塞现象的发生。进一步地,在发送该第一数据包时,节点通过根据多个相邻节点的状态信息,确定该第一数据包的下一跳节点,能够进一步均衡源节点簇中的各个节点的负载,从而均衡网络中所有节点的负载,进一步避免拥塞现象的发生。

上文中结合图2至图5,详细描述了根据本发明实施例的通信系统和控制节点,下面将结合图6,描述根据本发明实施例的通信方法。

图6示出了根据本发明实施例的通信方法400,该方法可以由控制节点执行。如图6所示,该方法400包括:

S410,接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息,其中,该控制节点所属的第一节点簇包括该至少一个其它节点;

S420,根据该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息;

S430,向第二控制节点发送该第一节点簇的状态信息。

因此,根据本发明实施例的通信方法,通过接收至少一个其它节点中的每个其它节点的状态信息,根据该至少一个其它节点的状态信息确定该第一节点簇的状态信息,并向该第二控制节点发送该第一节点簇的状态信息,有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升系统的整体性能。

可选地,S430,向第二控制节点发送该第一节点簇的状态信息,包括:

广播该第一节点簇的状态信息。

可选地,作为另一实施例,在S430之前,该方法400还包括:接收第三控制节点发送的令牌;

相应地,S430,向第二控制节点发送该第一节点簇的状态信息,包括:

根据该令牌,向该第二控制节点发送该第一节点簇的状态信息。

可选地,作为另一实施例,该状态信息包括最大缓存占用率BFM。此时,S420,根据该至少一个其它节点中的每个其它节点的状态信息,确定该第一节点簇的状态信息,包括:

将该至少一个其它节点和该控制节点的BFM之和确定为该第一节点簇的BFM。

该控制节点将该第一节点簇的所有节点的BFM之和确定为该第一节点簇的BFM。可选地,作为另一实施例,该控制节点还可以将该第一节点簇的所有节点的BFM的数学平均值或其它函数值确定为该第一节点簇的BFM,本发明实施例对此不做限定。

可选地,作为另一实施例,在S410之前,该方法400还包括:

向该至少一个其它节点中的每个其它节点发送状态信息上报指示,该状态信息上报指示用于指示该每个其它节点发送自身的状态信息;

相应地,S410,接收至少一个其它节点中的每个其它节点发送的该每个其它节点的状态信息,包括:

接收至少一个其它节点中的每个其它节点根据该状态信息上报指示发送的该每个其它节点的状态信息。

该控制节点可以与该至少一个其它节点中的每个其它节点之间具有第一传输链路,其中,该至少一个其它节点可以包括与该控制节点相邻和/或不相邻的节点,该第一传输链路可以专门用于传输节点的状态相关消息,例如,该状态信息上报指示和节点的状态信息,等等。这样,该控制节点可以通过该第一传输链路接收该至少一个其它节点直接发送的状态信息。

可选地,作为另一实施例,该方法400还包括:

接收该第二控制节点发送的该第二控制节点所属的第二节点簇的状态信息;

存储该第二节点簇的状态信息。

该第一控制节点与该第二控制节点之间也可以具有第二传输链路,其中,该第一控制节点与该第二控制节点可以不相邻,该第二传输链路也可以专门用于传输状态相关消息,例如,节点簇的状态信息。该第一控制节点和该第二控制节点可以通过该第二传输链路直接交互节点簇的状态信息。

可选地,作为另一实施例,该方法400还包括:

确定第一数据包的目的节点所属的第三节点簇;

确定该数据包由该第一节点簇至该第三节点簇的多个可选路由路径,其中,该多个可选路由路径中的每个可选路由路径包括至少一个节点簇;

根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径。

可选地,作为另一实施例,该根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,从该多个可选路由路径中确定目标路由路径,包括:

根据该多个可选路由路径中每个可选路由路径中包括的至少一个节点簇的状态信息,确定该每个可选路由路径的拥塞状态;

将该多个可选路由路径中拥塞程度最小的可选路由路径确定为该目标路由路径。

该多个可选路由路径中的每个可选路由路径包括至少一个节点簇,该多个可选路由路径包括多个节点簇。其中,该多个可选路由路径中的每个可选路由路径包括的至少一个节点簇可以包括除该第一节点簇和该第三节点簇之外的转发节点簇,或者还可以进一步包括该第三节点簇,或者还可以进一步包括该第一节点簇,本发明实施例对此不做限定。

该控制节点可以获取该多个可选路由路径中包括的多个节点簇中每个节点簇的状态信息。可选地,该控制节点可以预先存储有该多个可选路由路径包括的多个节点簇的状态信息,或者该控制节点可以从其他控制节点获取该多个可选路由路径包括的多个节点簇的状态信息,本发明实施例对此不做限定。

可选地,作为另一实施例,该第一数据包属于该控制节点,即该控制节点为该第一数据包的源节点。此时,在该从该多个可选路由路径中确定目标路由路径之后,该方法400还包括:

在该第一数据包中添加该目标路由路径的信息;

发送添加了该目标路由路径的信息的该第一数据包。

该目标路由路径的信息可以包括该目标路由路径包括的至少一个节点簇的信息,可选地,该目标路由路径的信息可以包括该至少一个节点簇的标识信息和表示该至少一个节点簇的次序的信息,该第一数据包按照该按序依次经过该至少一个节点簇,但该目标路由路径的信息也可以包括其它参数,本发明实施例对此不做限定。

由于该第一数据包中携带该目标路由路径的信息,因此接收到该第一数据包的节点可以根据该第一数据包携带的该目标路由路径的信息确定该第一数据包的下一跳节点,并向该下一跳节点转发该第一数据包。

可选地,作为另一实施例,在该发送添加了该目标路由路径的信息的该第一数据包之前,该方法400还包括:

获取该控制节点的多个相邻节点的状态信息;

根据该多个相邻节点的状态信息,确定该第一数据包的下一跳节点;

该发送添加了该目标路由路径的信息的该第一数据包,包括:

向该第一数据包的下一跳节点发送该第一数据包。

在该第一节点簇中,不相邻的两个节点之间不能直接传输数据。这样,该控制节点和与该控制节点不相邻的节点之间可以直接传输状态相关信息,例如节点的状态信息,但不能直接传输数据。此外,该第一节点簇中的任意两个相邻节点之间既可以直接传输节点的状态信息,也可以直接传输数据,其中,该用于传输节点的状态信息的链路可以与该用于传输数据的链路为相同的链路或不同的链路,本发明实施例对此不做限定。

可选地,作为另一实施例,该根据该多个相邻节点的状态信息,确定该第一数据包的下一跳节点,包括:

根据该多个相邻节点的状态信息,从该多个相邻节点中确定处于非拥塞状态的至少一个相邻节点;

若该至少一个相邻节点的个数为多个,确定该目标路由路径中该第一节点簇对应的下一跳节点簇,并将该至少一个相邻节点中与该下一跳节点簇距离最近的相邻节点确定为该第一数据包的下一跳节点。

该控制节点可以根据一个节点的状态信息,确定该节点是否处于非拥塞状态,其中,该状态信息可以包括拥塞信息,例如,BFM。例如,若节点的BFM大于一定阈值,但本发明实施例不限于此。

如果该至少一个相邻节点的个数为一个,则该控制节点可以直接将该一个相邻节点作为该第一数据包的下一跳节点。如果该至少一个相邻节点的个数为多个,则该控制节点可以确定该目标路由路径中该第一节点簇对应的下一跳节点簇,并且确定该至少一个相邻节点中与该下一跳节点簇距离最近的节点,其中,如果与该下一跳节点簇距离最近的节点的个数为一个,则该控制节点可以将该节点作为该下一跳节点。如果与该下一跳节点簇距离最近的节点的个数为多个,则该控制节点可以将与该下一跳节点簇距离最近的多个节点中拥塞程度最小的节点确定为该下一跳节点,其中,拥塞程度最小可以对应于最小的BFM,但本发明实施例不限于此。

可选地,作为另一实施例,该第一数据包属于该至少一个其它节点中的第二其它节点,即该第二其它节点为该第一数据包的源节点。此时,在该确定该第一数据包的目的节点所属的第三节点簇之前,该方法400还包括:

接收该第二其它节点发送的路径确定请求,该路径确定请求用于请求该控制节点确定该第一数据包的路由路径;

相应地,该确定该第一数据包的目的节点所属的第三节点簇,包括:

根据该路径确定请求,确定该第三节点簇;

在该从该多个可选路由路径中确定目标路由路径之后,该方法还包括:

向该第二其它节点发送该目标路由路径的信息。

可选地,作为另一实施例,该路径确定请求携带该第一数据包的目的节点的信息。此时,该根据该路径确定请求,确定该第三节点簇,包括:

确定节点与节点簇之间的对应关系;

根据该目的节点的信息和该节点与节点簇之间的对应关系,确定该第三节点簇。

可选地,作为另一实施例,该路径确定请求也可以携带该第三节点簇的信息,例如,该第三节点簇的编号。此时,该控制节点可以根据该地三节点簇的信息确定该第三节点簇。

可选地,作为另一实施例,该方法400还包括:

接收第二数据包,该第二数据包携带该第二数据包的路由路径的信息,该第二数据包的路由路径的信息包括至少一个节点簇的信息;

根据该第二数据包的路由路径的信息,确定该第二数据包的下一跳节点簇;

根据该第二数据包的下一跳节点簇和该控制节点的多个相邻节点的状态信息,确定该第二数据包的下一跳节点;

向该第二数据包的下一跳节点发送该第二数据包。

该控制节点确定该第二数据包的下一跳节点的方式可以参照上述实施例,为了简洁,这里不再赘述。

应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

根据本发明实施例的通信方法400可以由本发明实施例的控制节点200、控制节点300或通信系统100中的第一控制节点111执行,并且该控制节点200、控制节点300或第一控制节点111中的各个模块的上述和其它操作和/或功能分别为了实现图6中的各个方法的相应流程,因此本发明的各个实施例可以互相参照,为了简洁,在此不再赘述。

因此,根据本发明实施例的通信方法,通过接收至少一个其它节点中的每个其它节点的状态信息,根据该至少一个其它节点的状态信息确定该第一节点簇的状态信息,并向该第二控制节点发送该第一节点簇的状态信息,有利于在选择输出通道时同时考虑局域状态信息和全局状态信息,进而避免拥塞现象的发生,提升系统的整体性能。

此外,通过根据第一数据包的每个可选路由路径中包括的每个节点簇的状态信息,确定该第一数据包的目标路由路径,能够均衡网络中各个节点簇的负载,从而避免拥塞现象的发生。进一步地,在发送该第一数据包时,节点通过根据多个相邻节点的状态信息,确定该第一数据包的下一跳节点,能够进一步均衡源节点簇中的各个节点的负载,从而均衡网络中所有节点的负载,进一步避免拥塞现象的发生。

应理解,在本发明实施例中,术语和/或仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符/,一般表示前后关联对象是一种或的关系。

本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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