发明内容
技术问题
有鉴于此,本发明要解决的技术问题是,在多个服务器共享多个I/O的流量控制场景中,如何实现某一接收设备的接收缓存空间中的数据将满进行反压时,不影响其他接收设备与发送设备的数据传输。
解决方案
为了解决上述技术问题,在第一方面,本发明提供了一种基于优先级的流控PFC方法,应用于以太网中至少两个服务器共享至少两个虚拟通道的流量控制场景,所述至少两个服务器包括至少一个发送设备和至少一个接收设备,所述PFC方法包括:
所述发送设备根据所述接收设备的标识,在所述发送设备中预先设置的第一对应关系中查找对应的第一虚拟通道和所述接收设备的优先级,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系,所述第一虚拟通道为所述接收设备在以太网链路上从所述发送设备接收数据的通道,其中,不同的接收设备的标识不同,所述接收设备的标识与所述第一虚拟通道存在一一对应的关系;
所述发送设备通过查找到的第一虚拟通道,向所述接收设备发送报文,所述报文中包括所述接收设备的优先级和所述发送设备向所述接收设备发送的数据。
结合第一方面,在第一方面的一种可能的实现方式中,所述发送设备根据接收设备的标识,在所述发送设备中预先设置的第一对应关系中查找对应的第一虚拟通道和所述接收设备的优先级,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系,包括:
所述发送设备根据所述接收设备的标识和业务类型,在所述发送设备中预先设置的所述第一对应关系中查找所述对应的第一虚拟通道和所述接收设备的优先级,所述第一对应关系包括所述业务类型、所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述发送设备根据接收设备的标识,在所述发送设备中预先设置的第一对应关系中查找对应的第一虚拟通道和所述接收设备的优先级之前,包括:
在所述以太网链路上建立所述接收设备的标识对应的第一虚拟通道,或,所述接收设备的标识和所述业务类型对应的所述第一虚拟通道;
在所述发送设备中预先设置所述第一对应关系,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系;或,
所述第一对应关系包括所述业务类型、所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系。
结合第一方面和第一方面的第一种及第二种可能的实现方式中的任一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述发送设备通过所述查找到的第一虚拟通道,向所述接收设备发送报文,包括:
所述发送设备生成虚拟局域网VLAN帧,其中,所述VLAN帧的优先级字段由所述发送设备写入查找到的所述接收设备的优先级,所述VLAN帧的有效载荷包括所述发送设备向所述接收设备发送的数据;
所述发送设备通过所述查找到的第一虚拟通道将所述VLAN帧发送至所述接收设备。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,在所述发送设备通过所述查找到的第一虚拟通道,向所述接收设备发送报文之后,包括:
如果所述发送设备从所述接收设备接收到暂停OFF帧,则根据所述OFF帧中的暂停时间,暂停与所述接收设备的通讯;
其中,所述OFF帧是由所述接收设备在接收到的数据所占用的接收缓存空间高于上限阈值的状态下生成的,或者,由所述接收设备在接收到的所述业务类型的数据所占用的接收缓存空间高于上限阈值的状态下生成的。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述暂停与所述接收设备的通讯之后,包括:
如果到达所述OFF帧中的暂停时间或所述发送设备从所述接收设备接收到连通ON帧,则恢复与所述接收设备的通讯;
其中,所述ON帧是由所述接收设备在接收到的数据所占用的接收缓存空间低于下限阈值的状态下生成的,或,由所述接收设备在接收到的所述业务类型的数据所占用的接收缓存空间低于下限阈值的状态下生成的。
在第二方面,本发明提供了一种基于优先级的流控PFC方法,应用于以太网中至少两个服务器共享至少两个虚拟通道的流量控制场景,所述至少两个服务器包括至少一个发送设备和至少一个接收设备,所述PFC方法包括:
所述接收设备通过第一虚拟通道,从所述发送设备接收报文,所述报文中包括所述接收设备的优先级和所述发送设备向所述接收设备发送的数据,所述第一虚拟通道为所述接收设备在以太网链路上从所述发送设备接收数据的通道,所述接收设备的优先级为所述发送设备在预先设置的第一对应关系中查找到的优先级,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系,其中,不同的接收设备的标识不同,所述接收设备的标识与所述第一虚拟通道存在一一对应的关系。
结合第二方面,在第二方面的第一种可能的实现方式中,在所述接收设备通过第一虚拟通道,从所述发送设备接收报文之前,包括:
在所述以太网链路上建立所述发送设备的标识对应的第二虚拟通道,或,所述发送设备的标识和所述业务类型对应的第二虚拟通道;
在所述接收设备中预先设置第二对应关系,所述第二对应关系包括所述发送设备的优先级、所述发送设备的标识和所述第二虚拟通道之间的对应关系;或,
所述第二对应关系包括业务类型、所述发送设备的优先级、所述发送设备的标识和所述第二虚拟通道之间的对应关系。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第二对应关系中还包括所述接收设备的优先级。
结合第二方面和第二方面的第一种及第二种可能的实现方式中任一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述接收设备通过第一虚拟通道,从所述发送设备接收报文,包括:
所述接收设备通过所述第一虚拟通道,从所述发送设备接收虚拟局域网VLAN帧,其中,所述VLAN帧的优先级字段由所述发送设备写入查找到的所述接收设备的优先级,所述VLAN帧的有效载荷包括所述发送设备向所述接收设备发送的数据。
结合第二方面的第三种可能的实现方式,在第二方面的第四种可能的实现方式中,所述接收设备通过第一虚拟通道,从所述发送设备接收报文之后,包括:
所述接收设备通过所述第二虚拟通道,向所述发送设备发送暂停OFF帧,所述OFF帧的优先级字段由所述接收设备写入从所述VLAN帧中获取的优先级或在所述第二对应关系中查找到的所述接收设备的优先级,
其中,所述OFF帧是由所述接收设备在接收到的数据所占用的接收缓存空间高于上限阈值的状态下生成的,或,由所述接收设备在接收到的所述业务类型的数据所占用的接收缓存空间高于上限阈值的状态下生成的。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,向所述发送设备发送暂停OFF帧之后,包括:
所述接收设备通过所述第二虚拟通道,向所述发送设备发送连通ON帧,所述ON帧的优先级字段由所述接收设备写入从所述VLAN帧中获取的优先级或在所述第二对应关系中查找到的所述接收设备的优先级,
其中,所述ON帧是由所述接收设备在接收到的数据所占用的接收缓存空间低于下限阈值的状态下生成的,或者,由所述接收设备在接收到的所述业务类型的数据所占用的接收缓存空间低于下限阈值的状态下生成的。
在第三方面,本发明提供了一种发送设备,应用于以太网中至少两个服务器共享至少两个虚拟通道的流量控制场景,包括:
查找模块,用于根据接收设备的标识,在发送设备中预先设置的第一对应关系中查找对应的第一虚拟通道和所述接收设备的优先级,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系,所述第一虚拟通道为所述接收设备在以太网链路上从所述发送设备接收数据的通道,其中,不同的接收设备的标识不同,所述接收设备的标识与所述第一虚拟通道存在一一对应的关系;
发送模块,与所述查找模块连接,用于通过查找到的第一虚拟通道,向所述接收设备发送报文,所述报文中包括所述接收设备的优先级和所述发送设备向所述接收设备发送的数据。
结合第三方面,在第三方面的第一种可能的实现方式中,所述查找模块还被配置为,根据所述接收设备的标识和业务类型,在所述发送设备中预先设置的所述第一对应关系中查找所述对应的第一虚拟通道和所述接收设备的优先级,所述第一对应关系包括所述业务类型、所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,还包括:
建立模块,用于在所述以太网链路上建立所述接收设备的标识对应的所述第一虚拟通道;
所述建立模块还被配置为,在所述以太网链路上建立所述接收设备的标识和所述业务类型对应的所述第一虚拟通道;
配置模块,与所述建立模块连接,用于在所述发送设备中预先设置所述第一对应关系,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系;
所述配置模块还被配置为,在所述发送设备中预先设置所述第一对应关系,所述第一对应关系包括所述业务类型、所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系。
结合第三方面和第三方面的第一种及第二种可能的实现方式中,在第三方面的第三种可能的实现方式中,所述发送模块包括:
生成单元,用于生成虚拟局域网VLAN帧,其中,所述VLAN帧的优先级字段由所述发送设备写入查找到的所述接收设备的优先级,所述VLAN帧的有效载荷包括所述发送设备向所述接收设备发送的数据;
导入单元,与所述生成单元连接,用于通过所述查找到的第一虚拟通道将所述VLAN帧发送至所述接收设备。
结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,还包括:
处理模块,与所述发送模块连接,用于如果从所述接收设备接收到暂停OFF帧,则根据所述OFF帧中的暂停时间,暂停与所述接收设备的通讯;
其中,所述OFF帧是由所述接收设备在接收到的数据所占用的接收缓存空间高于上限阈值的状态下生成的,或者,由所述接收设备在接收到的所述业务类型的数据所占用的接收缓存空间高于上限阈值的状态下生成的。
结合第三方面的第四种可能的实现方式,在第三方面的第五种可能的实现方式中,所述处理模块还被配置为,如果到达所述OFF帧中的暂停时间或从所述接收设备接收到连通ON帧,则恢复与所述接收设备的通讯;
其中,所述ON帧是由所述接收设备在接收到的数据所占用的接收缓存空间低于下限阈值的状态下生成的,或者,由所述接收设备在接收到的所述业务类型的数据所占用的接收缓存空间低于下限阈值的状态下生成的。
在第四方面,本发明提供了一种接收设备,应用于以太网中至少两个服务器共享至少两个虚拟通道的流量控制场景,包括:
接收模块,用于通过第一虚拟通道,从发送设备接收报文,所述报文中包括所述接收设备的优先级和所述发送设备向所述接收设备发送的数据,所述第一虚拟通道为所述接收设备在以太网链路上从所述发送设备接收数据的通道,所述接收设备的优先级为所述发送设备在预先设置的第一对应关系中查找到的优先级,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系,其中,不同的接收设备的标识不同,所述接收设备的标识与所述第一虚拟通道存在一一对应的关系。
结合第四方面,在第四方面的第一种可能的实现方式中,还包括:
建立模块,用于在所述以太网链路上建立所述发送设备的标识对应的第二虚拟通道;
所述建立模块还被配置为,在所述以太网链路上建立所述发送设备的标识和所述业务类型对应的第二虚拟通道;
配置模块,与所述建立模块连接,用于在所述接收设备中预先设置所述接收设备中的第二对应关系,所述第二对应关系包括所述发送设备的优先级、所述发送设备的标识和所述第二虚拟通道之间的对应关系;
所述配置模块还被配置为,在所述接收设备中预先设置所述接收设备中的第二对应关系,所述第二对应关系包括业务类型、所述发送设备的优先级、所述发送设备的标识和所述第二虚拟通道之间的对应关系。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述第二对应关系中还包括所述接收设备的优先级。
结合第四方面的第一种和第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述接收模块还被配置为,通过所述第一虚拟通道,从所述发送设备接收虚拟局域网VLAN帧,其中,所述VLAN帧的优先级字段由所述发送设备写入查找到的所述接收设备的优先级,所述VLAN帧的有效载荷包括所述发送设备向所述接收设备发送的数据。
结合第四方面的第三种可能的实现方式,在第四方面的第四种可能的实现方式中,还包括:
发送模块,与所述接收模块连接,用于通过所述第二虚拟通道,向所述发送设备发送暂停OFF帧,所述OFF帧的优先级字段由所述接收设备写入所述VLAN帧中获取的优先级或在所述第二对应关系中查找到的所述接收设备的优先级,
其中,所述OFF帧是由所述接收设备在接收到的数据所占用的接收缓存空间高于上限阈值的状态下生成的,或者,由所述接收设备在接收到的所述业务类型的数据所占用的接收缓存空间高于上限阈值的状态下生成的。
结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,所述发送模块还被配置为,通过所述第二虚拟通道,向所述发送设备发送连通ON帧,所述ON帧的优先级字段由所述接收设备写入从所述VLAN帧中获取的优先级或在所述第二对应关系中查找到的所述接收设备的优先级,
其中,所述ON帧是由所述接收设备在接收到的数据所占用的接收缓存空间低于下限阈值的状态下生成的,或者,由所述接收设备在接收到的所述业务类型的数据所占用的接收缓存空间低于下限阈值的状态下生成的。
有益效果
本发明实施例通过在发送设备中配置优先级、第一虚拟通道和接收设备标识之间的对应关系,可以实现不同的接收设备使用不同的第一虚拟通道从发送设备接收数据,在接收设备出现反压或通信异常时,只需要停止该接收设备通过其对应的第一虚拟通道从发送设备接收数据,而不会影响其他接收设备与发送设备的数据传输。
根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
实施例1
图1示出根据本发明实施例一的基于优先级的流控PFC方法的流程图。如图1所示,可以应用于以太网中至少两个服务器共享至少两个虚拟通道的流量控制场景中,所述至少两个服务器可以包括至少一个发送设备和至少一个接收设备,至少两个虚拟通道可以包括不同发送设备与不同接收设备之间进行数据传输的通道。该PFC方法主要可以包括:
步骤S100、所述发送设备根据所述接收设备的标识,在所述发送设备中预先设置的第一对应关系中查找对应的第一虚拟通道和所述接收设备的优先级,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系,所述第一虚拟通道为所述接收设备在以太网链路上从所述发送设备接收数据的通道;其中,不同的接收设备的标识不同,所述接收设备的标识与所述第一虚拟通道存在一一对应的关系。
具体地,在以太网发送设备与接收设备进行通讯的过程中,每个接收设备可以由网络管理员配置一个唯一的标识,发送设备通过此标识可以唯一确定接收设备。一方面,不同发送设备和不同接收设备均可以接收网络管理员对其优先级进行的配置,每个发送设备或每个接收设备的优先级在所有发送设备或接收设备中唯一。例如,在以太网中至少两个服务器共享至少两个虚拟通道的流量控制场景中,包括2个发送设备(如HOST_0、HOST_1),则它们的优先级可分别被网络管理员设置为0、1;2个接收设备(如IO_0、IO_1),则它们的优先级也可分别被网络管理员设置为0、1。另一方面,发送设备可以接收网络管理员的配置,即在发送设备中设置接收设备与第一虚拟通道的一一对应关系,不同通道可以分别用来传输发往不同接收设备的数据,通道数目与接收设备数目相同。例如,有2个接收设备(如IO_0、IO_1),可以在发送设备端建立两条第一虚拟通道(如第一虚拟通道0、第一虚拟通道1),分别用来发送去往IO_0和IO_1的数据。根据接收设备的标识,发送设备可以在网络管理员为其配置的第一对应关系中查找对应的第一虚拟通道和接收设备的优先级,用于后续发送设备向接收设备发送数据,例如IO_0的优先级为0,对应第一虚拟通道0,HOST_0可以通过第一虚拟通道0向IO_0发送数据。
步骤S120、所述发送设备通过所述查找到的第一虚拟通道,向所述接收设备发送报文,所述报文中包括所述接收设备的优先级和所述发送设备向所述接收设备发送的数据。
具体地,在发送设备查找到第一虚拟通道之后,发送设备可以通过与接收设备对应的第一虚拟通道与该接收设备进行通讯,即发送设备可以通过第一虚拟通道向该接收设备发送报文,并可以在该报文的优先级字段写入通过步骤S100查找到的该接收设备的优先级,在报文的有效载荷(Payload)中可以包括发送设备向接收设备发送的数据。
在接收设备接收到上述数据时,接收设备可以根据自身接收缓存空间的数据空满状态向发送设备返回响应。若接收设备接收缓存空间的数据将满,不能继续接收数据时,接收设备可以根据流控技术,进行反压,即指示发送设备不再继续通过该接收设备的标识对应的第一虚拟通道向该接收设备发送数据。由于不同的接收设备的标识不同,接收设备的标识与第一虚拟通道存在一一对应的关系;这样,该接收设备的反压并不影响发送设备与以太网中其他接收设备通过其他接收设备的标识对应的第一虚拟通道进行通讯,例如IO_0接收缓存空间的数据将满,可以向HOST_0反压,HOST_0接收到反压后可以暂停与IO_0通过第一虚拟通道0的通讯,但是HOST_0仍可以与IO_1通过第一虚拟通道1进行通讯。
在一种可能的实现方式中,在步骤S100之前该PFC方法还可以包括:
步骤S1001、在以太网链路上建立接收设备的标识对应的第一虚拟通道;
步骤S1002、在发送设备中预先设置第一对应关系,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系。
具体地,参见本实施例上述步骤的相关描述,若在以太网中包括2个接收设备,标识分别被网络管理员配置为IO_0和IO_1,可以通过网络管理员的配置在发送设备端建立两条第一虚拟通道(如第一虚拟通道0和第一虚拟通道1),结合2个接收设备的优先级,可以由网络管理员设置接收设备的优先级、接收设备的标识和第一虚拟通道之间的第一对应关系,例如,IO_0的优先级为0,对应第一虚拟通道0。该第一对应关系可以用于后续确定某一接收设备的优先级和向该接收设备发送数据的第一虚拟通道。
进一步地,步骤S120还可以包括:
步骤S140、所述发送设备生成虚拟局域网VLAN帧,其中,所述VLAN帧的优先级字段由所述发送设备写入查找到的所述接收设备的优先级,所述VLAN帧的有效载荷包括所述发送设备向所述接收设备发送的数据;
步骤S160、所述发送设备通过所述查找到的第一虚拟通道将所述VLAN帧发送至所述接收设备。
具体地,在发送设备向接收设备发送报文时,发送设备首先可以通过查找第一对应关系,查找到接收设备的优先级,并在虚拟局域网VLAN帧相应的优先级字段写入接收设备的优先级,在VLAN帧的有效载荷中可以包括发送设备向接收设备发送的数据。例如,HOST_0需要向IO_0发送数据时,HOST_0可以通过查找第一对应关系,查找到IO_0的优先级为0,对应第一虚拟通道0,HOST_0可以在VLAN帧的优先级字段写入0,将需要发送的数据写入VLAN帧的有效载荷,并通过第一虚拟通道0向IO_0发送VLAN帧。
进一步地,在步骤S120之后,该PFC方法还可以包括:
步骤S170、如果所述发送设备从所述接收设备接收到暂停OFF帧,则根据所述OFF帧中的暂停时间,暂停与所述接收设备的通讯;其中,所述OFF帧是由所述接收设备在接收到的数据所占用的接收缓存空间高于上限阈值的状态下生成的。
具体地,发送设备向接收设备发送VLAN帧之后,接收设备可以根据自身接收缓存空间中的数据空满状态向发送设备返回相应的响应。如果接收设备的接收缓存空间中的数据所占用的空间高于上限阈值,接收设备可以向发送设备发送OFF帧,用来指示发送设备根据所述OFF帧中的暂停时间,暂停与该接收设备的通讯,在到达暂停时间时,发送设备可以自动恢复与该接收设备的通讯。其中,暂停时间可以由OFF帧中的暂停时间字段中的内容决定,发送设备接收到OFF帧之后,可以停止对该接收设备对应的第一虚拟通道的调度,以暂停与该接收设备的通讯。例如IO_0接收到的数据所占用的接收缓存空间高于上限阈值,IO_0可以向HOST_0发送OFF帧,HOST_0接收到OFF帧后,根据OFF帧中的暂停时间,停止对IO_0对应的第一虚拟通道0的调度,暂停与IO_0的通讯。其中上限阈值为该接收设备的接收缓存空间可以存储的数据量最大值,由于从接收设备发送OFF帧到发送设备接收到OFF并作出响应,需要一定的时间,在这段时间内还可能存在一些正在发送的数据需要接收设备接收,不能因为数据存满而丢弃,因此接收设备可以接收的数据量可以大于该上限阈值,即存储空间需要留有一定余量。若高于上限阈值,说明数据将满,该接收设备反压。
在一种可能的实现方式中,在步骤S170之后,还可以包括:
步骤S180、如果到达所述OFF帧中的暂停时间或所述发送设备从所述接收设备接收到连通ON帧,则恢复与所述接收设备的通讯;其中,所述ON帧是由所述接收设备在接收到的数据所占用的接收缓存空间低于下限阈值的状态下生成的。
具体地,一方面,在到达暂停时间时,发送设备可以自动恢复与接收设备的通讯;另一方面,接收设备在反压之后,数据所占用的空间可能会减少,在没有到达暂停时间时,如果数据所占用的接收缓存空间低于下限阈值,接收设备可以向发送设备发送ON帧,用来指示发送设备恢复与该接收设备的通讯。例如IO_0接收到的数据所占用的接收缓存空间低于下限阈值,IO_0可以向HOST_0发送ON帧,HOST_0接收到ON帧后,可以重新开始对IO_0对应的第一虚拟通道0的调度,恢复与IO_0的通讯。其中下限阈值为该接收设备的接收缓存空间存储的数据量最小值,若低于下限阈值,说明该接收设备的接收缓存空间即将没有数据,发送设备可以继续向其发送数据。
在一种可能的实现方式中,发送设备还可以作为接收端,根据被网络管理员预先设置的通道与设备的对应关系通过相应的通道从其他设备接收数据。
本实施例的基于优先级的流控PFC方法,通过在发送设备中建立第一对应关系,可以实现不同的接收设备使用不同的第一虚拟通道与发送设备通讯,某一接收设备数据存满出现反压或通信异常时,只需要停止该接收设备通过其对应的第一虚拟通道与发送设备的通讯,不会影响其他接收设备与发送设备的数据传输。
实施例2
图2示出根据本发明实施例二的基于优先级的流控PFC方法的流程图。图2中标号与图1相同的步骤具有相同的功能,为简明起见,省略对这些步骤的详细说明。
如图2所示,图2所示的基于优先级的流控PFC方法与图1所示的基于优先级的流控PFC方法主要区别在于,该PFC方法包括:
步骤S200、所述发送设备根据所述接收设备的标识和业务类型,在所述发送设备中预先设置的所述第一对应关系中查找所述对应的第一虚拟通道和所述接收设备的优先级,所述第一对应关系包括所述业务类型、所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系。
具体地,在发送设备被网络管理员预先设置的第一对应关系中,还可以包括接收设备的业务类型,即设置业务类型、接收设备的优先级、接收设备的标识和第一虚拟通道之间的对应关系。例如,参见本发明实施例一中基于优先级的流控PFC方法的相关描述,若以太网中包括2个接收设备(如IO_0、IO_1),IO_0和IO_1都分别包括两种业务类型(如业务类型0、业务类型1),则将IO_0业务类型0的优先级设置为0,IO_0业务类型1的优先级设置为1,IO_1业务类型0的优先级设置为2,IO_1业务类型1的优先级设置为3;还可以通过网络管理员在发送设备端建立四条第一虚拟通道(如第一虚拟通道0、第一虚拟通道1、第一虚拟通道2、第一虚拟通道3),第一虚拟通道0、第一虚拟通道1分别用来发送去往IO_0的业务类型0和业务类型1的数据,第一虚拟通道2、第一虚拟通道3分别用来发送去往IO_1的业务类型0和业务类型1的数据。这样,IO_0的业务类型0的优先级为0,对应第一虚拟通道0,IO_0的业务类型1的优先级为1,对应第一虚拟通道1,IO_1的业务类型0的优先级为2,对应第一虚拟通道2,IO_1的业务类型1的优先级为3,对应第一虚拟通道3。
在一种可能的实现方式中,在步骤S200之前,该PFC方法还可以包括:
步骤S2001、在以太网链路上建立接收设备的标识和业务类型对应的第一虚拟通道;
步骤S2002、在发送设备中预先设置第一对应关系,所述第一对应关系包括所述业务类型、所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系。
具体地,参见本实施例上述步骤的相关描述,若有2个接收设备,标识分别被网络管理员设置为IO_0和IO_1,每个接收设备具有两种业务类型(如业务类型0、业务类型1),可以在发送设备端建立四条第一虚拟通道(如第一虚拟通道0、第一虚拟通道1、第一虚拟通道2、第一虚拟通道3),结合2个接收设备各个业务类型的优先级,可以通过网络管理员配置业务类型、优先级、接收设备的标识和第一虚拟通道的对应关系,例如,IO_0的业务类型0的优先级为0,对应第一虚拟通道0,IO_0的业务类型1的优先级为1,对应第一虚拟通道1,IO_1的业务类型0的优先级为2,对应第一虚拟通道2,IO_1的业务类型1的优先级为3,对应第一虚拟通道3。该第一对应关系可以用于后续确定某一接收设备的优先级和发送设备向该接收设备发送数据的第一虚拟通道。
在一种可能的实现方式中,在步骤S120之后,接收设备可以根据自身某一业务类型的接收缓存空间的数据空满状态向发送设备返回相应的响应。具体地,如果接收设备接收到的某一业务类型的数据所占用的接收缓存空间高于上限阈值,接收设备可以向发送设备发送OFF帧,用来指示发送设备在暂停时间内暂停与该接收设备进行该业务类型的通讯,但不影响发送设备与该接收设备进行其他业务类型的通讯。进一步地,在到达暂停时间或者该接收设备接收到的该业务类型的数据所占用的接收缓存空间低于下限阈值时,接收设备可以向发送设备发送ON帧,用来指示发送设备恢复与该接收设备进行该业务类型的通讯。例如,IO_0接收到的业务类型0的数据所占用的接收缓存空间高于上限阈值,IO_0可以向HOST_0发送OFF帧,HOST_0接收到OFF帧后,暂停与IO_0通过第一虚拟通道0进行业务类型0的通讯;在IO_0接收到的业务类型0的数据所占用的接收缓存空间低于下限阈值,IO_0可以向HOST_0发送ON帧,HOST_0接收到ON帧后,恢复与IO_0通过第一虚拟通道0进行业务类型0的通讯。其中,上限阈值和下限阈值可以参见本发明实施例一中基于优先级的流控PFC方法的相关描述。
本实施例的基于优先级的流控PFC方法,通过在发送设备中建立第一对应关系,可以实现不同的接收设备使用不同的第一虚拟通道与发送设备进行不同业务类型的通讯,某一接收设备的某一业务类型的数据存满出现反压或通信异常时,只需要停止该接收设备通过该业务类型对应的第一虚拟通道与发送设备进行该业务类型的通讯,不会影响该接收设备与发送设备进行其他业务类型的数据传输,同时也不会影响其他接收设备与发送设备的数据传输。
实施例三
图3示出根据本发明实施例三的基于优先级的流控PFC方法的流程图。如图3所示,该PFC方法可以应用于以太网中至少两个服务器共享至少两个虚拟通道的流量控制场景,所述至少两个服务器包括至少一个发送设备和至少一个接收设备,至少两个虚拟通道可以包括不同发送设备与不同接收设备之间进行数据传输的通道。该PFC方法主要可以包括:
步骤S300、所述接收设备通过第一虚拟通道,从所述发送设备接收报文,所述报文中包括所述接收设备的优先级和所述发送设备向所述接收设备发送的数据,所述第一虚拟通道为所述接收设备在以太网链路上从所述发送设备接收数据的通道,所述接收设备的优先级为所述发送设备在预先设置的第一对应关系中查找到的优先级,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系。
具体地,一方面,在以太网发送设备与接收设备进行通讯的过程中,每个发送设备或接收设备可以由网络管理员配置相应的优先级,每个发送设备或接收设备的优先级在所有发送设备或接收设备中唯一。例如,在以太网中至少两个服务器共享至少两个虚拟通道的流量控制场景中,包括2个发送设备(如HOST_0、HOST_1),则它们的优先级可分别被网络管理员设置为0、1;2个接收设备(如IO_0、IO_1),则它们的优先级也可分别被网络管理员设置为0、1。另一方面,发送设备可以接收网络管理员的配置,即在发送设备中设置接收设备与第一虚拟通道的一一对应关系,不同通道可以分别用来传输发往不同接收设备的数据,通道数目与接收设备数目相同。例如,有2个接收设备(如IO_0、IO_1),可以通过网络管理员的配置在发送设备端建立两条第一虚拟通道(如第一虚拟通道0、第一虚拟通道1),分别用来发送去往IO_0和IO_1的数据。接收设备可以通过其对应的第一虚拟通道接收发送设备发送的报文,例如IO_0可以通过第一虚拟通道0接收HOST_0发送的报文。
在一种可能的实现方式中,在步骤S300之前,该PFC方法还可以包括:
步骤S3001、在以太网链路上建立发送设备的标识对应的第二虚拟通道;
步骤S3002、在接收设备中预先设置第二对应关系,所述第二对应关系包括所述发送设备的优先级、所述发送设备的标识和第二虚拟通道之间的对应关系。
具体地,参见本实施例上述步骤的相关描述,若在以太网中包括2个发送设备,标识分别被网络管理员配置为HOST_0和HOST_1,可以通过网络管理员的配置在接收设备端建立两条第二虚拟通道(如第二虚拟通道0、第二虚拟通道1),结合2个发送设备的优先级,可以由网络管理员设置发送设备的优先级、发送设备的标识和第二虚拟通道之间的第二对应关系,例如,HOST_0的优先级为0,对应第二虚拟通道0,用来传输发往HOST_0的数据。该第二对应关系可以用于后续确定某一发送设备的优先级和发送数据的第二虚拟通道。
在一种可能的实现方式中,在接收设备中的第二对应关系中,还可以包括接收设备的优先级。例如,参见本实施例上述步骤的相关描述,若在以太网中包括2个接收设备,标识分别为IO_0和IO_1,它们的优先级可分别被网络管理员设置为0、1,则在第二对应关系中,IO_0的优先级为0,HOST_0的优先级为0,且IO_0通过第一虚拟通道0接收HOST_0发送的数据,通过第二虚拟通道0向HOST_0发送数据。
在一种可能的实现方式中,步骤S300还可以包括:
步骤S320、所述接收设备通过所述第一虚拟通道,从所述发送设备接收虚拟局域网VLAN帧,其中,所述VLAN帧的优先级字段由所述发送设备写入查找到的所述接收设备的优先级,所述VLAN帧的有效载荷包括所述发送设备向所述接收设备发送的数据。
具体地,接收设备可以根据第一对应关系,通过接收设备对应的第一虚拟通道从发送设备接收VLAN帧。例如,IO_0与HOST_0进行通讯时,HOST_0可以根据第一对应关系,查找到IO_0的优先级为0,对应第一虚拟通道0,IO_0可以通过第一虚拟通道0接收VLAN帧,HOST_0可以在VLAN帧的优先级字段写入0,将向IO_0发送的数据写入VLAN帧的有效载荷。
进一步地,在步骤S300之后,该PFC方法还可以包括:
步骤S340、所述接收设备通过所述第二虚拟通道,向所述发送设备发送暂停OFF帧,所述OFF帧的优先级字段由所述接收设备写入从所述VLAN帧中获取的优先级或在所述第二对应关系中查找到的所述接收设备的优先级,
其中,所述OFF帧是由所述接收设备在接收到的数据所占用的接收缓存空间高于上限阈值的状态下生成的。
具体地,接收设备可以根据自身接收缓存空间的数据空满状态向发送设备返回相应的响应。如果接收设备接收到的数据所占用的接收缓存空间高于上限阈值,接收设备可以从接收到的VLAN帧中获取接收设备的优先级,也可以从第二对应关系中获取接收设备的优先级,并在OFF帧的优先级字段写入该接收设备的优先级,通过第二虚拟通道向发送设备发送OFF帧,用来指示发送设备根据所述OFF帧中的暂停时间,暂停与该接收设备的通讯,在到达暂停时间时,发送设备可以自动恢复与接收设备的通讯。其中,暂停时间可以由OFF帧中的暂停时间字段中的内容决定,发送设备接收到OFF帧之后,可以停止对该接收设备对应的第一虚拟通道的调度,以暂停与该接收设备的通讯。例如IO_0接收到的数据所占用的接收缓存空间高于上限阈值,IO_0可以通过第二虚拟通道0向HOST_0发送OFF帧,HOST_0接收到OFF帧后,根据OFF帧中的暂停时间,暂停与IO_0的通讯。其中上限阈值为该接收设备的接收缓存空间可以存储的数据量最大值,由于从接收设备发送OFF帧到发送设备接收到OFF并作出响应,需要一定的时间,在这段时间内还可能存在一些正在发送的数据需要接收设备接收,不能因为数据存满而丢弃,因此接收设备可以存储的数据量可以大于该上限阈值,即存储空间需要留有一定余量。若高于上限阈值,说明数据将满,该接收设备反压。
在一种可能的实现方式中,在步骤S340之后,还可以包括:
步骤S360、所述接收设备通过所述第二虚拟通道,向所述发送设备发送连通ON帧,所述ON帧的优先级字段由所述接收设备写入从所述VLAN帧中获取的优先级或在所述第二对应关系中查找到的所述接收设备的优先级,
其中,所述ON帧是由所述接收设备在接收到的数据所占用的接收缓存空间低于下限阈值的状态下生成的。
具体地,接收设备在反压之后,接收到的数据所占用的接收缓存空间可能会减少,在到达暂停时间前,若接收到的数据所占用的接收缓存空间低于下限阈值,接收设备可以向发送设备发送ON帧,用来指示发送设备恢复与该接收设备的通讯。例如IO_0的数据所占用的空间低于下限阈值,IO_0可以通过第二虚拟通道0向发送ON帧,HOST_0接收到ON帧后,恢复与IO_0的通讯。其中下限阈值为该接收设备接收缓存空间存储的数据量最小值,若低于下限阈值,说明该接收设备的存储空间即将没有数据,发送设备可以继续向其发送数据。
在一种可能的实现方式中,接收设备还可以作为发送端,根据第二对应关系中第二虚拟通道、发送设备的标识与优先级的对应关系,通过第二虚拟通道向该第二虚拟通道对应的发送设备发送数据。在这种情况下,参见本发明实施例一中基于优先级的流控PFC方法的相关描述,发送设备可以作为接收端,通过对应的第二虚拟通道从接收设备接收数据。
本实施例的基于优先级的流控PFC方法,通过在发送设备中建立第一对应关系,可以实现不同的接收设备使用不同的第一虚拟通道与发送设备通讯,某一接收设备数据存满出现反压或通信异常时,只需要停止该接收设备通过其对应的第一虚拟通道与发送设备的通讯,不会影响其他接收设备与发送设备间的数据传输。
实施例4
图4示出根据本发明实施例四的基于优先级的流控PFC方法的流程图。图4中标号与图3相同的步骤具有相同的功能,为简明起见,省略对这些步骤的详细说明。
如图4所示,图4所示的基于优先级的流控PFC方法与图3所示的基于优先级的流控PFC方法主要区别在于,在步骤S300之前,该PFC方法包括:
步骤S4001、在以太网链路上建立发送设备的标识和业务类型对应的第二虚拟通道;
步骤S4002、在接收设备中预先设置第二对应关系,所述第二对应关系包括所述业务类型、所述发送设备的优先级、所述发送设备的标识和所述第二虚拟通道之间的对应关系。
具体地,在接收设备被网络管理员预先设置的第二对应关系中,还可以包括发送设备的业务类型,即设置业务类型、发送设备的优先级、发送设备的标识和第二虚拟通道之间的对应关系。例如,参见本发明实施例三中基于优先级的流控PFC方法的相关描述,若以太网中包括2个发送设备,标识分别被网络管理员设置为HOST_0和HOST_1,每个发送设备可以与接收设备进行两种业务类型(如业务类型0、业务类型1)的通讯,可以通过网络管理员在接收设备端建立四条第二虚拟通道(如第二虚拟通道0、第二虚拟通道1、第二虚拟通道2、第二虚拟通道3),结合2个发送设备的优先级,可以通过网络管理员配置业务类型、发送设备的优先级、发送设备的标识和第二虚拟通道的第二对应关系,例如,HOST_0的业务类型0优先级为0,对应第二虚拟通道0,HOST_0的业务类型1优先级为1,对应第二虚拟通道1,HOST_1的业务类型0优先级为2,对应第二虚拟通道2,HOST_1的业务类型1优先级为3,对应第二虚拟通道3。该第二对应关系可以用于后续确定某一发送设备的优先级和接收设备向该发送设备发送数据的第二虚拟通道。
在一种可能的实现方式中,在接收设备的第二对应关系中,还可以包括接收设备的优先级。具体示例可以参见本发明实施例三中基于优先级的流控PFC方法的相关描述。
在一种可能的实现方式中,在步骤S300之后,接收设备可以根据自身某一业务类型的接收缓存空间的数据空满状态向发送设备返回相应的响应。具体地,如果接收设备接收到的某一业务类型的数据所占用的接收缓存空间高于上限阈值,接收设备可以通过第二虚拟通道向发送设备发送OFF帧,用来指示发送设备在暂停时间段内暂停与该接收设备进行该业务类型的通讯,但不影响发送设备与该接收设备进行其他业务类型的通讯。进一步地,在到达暂停时间或者该接收设备接收到的该业务类型的数据所占用的接收缓存空间低于下限阈值时,接收设备可以通过第二虚拟通道向发送设备发送ON帧,用来指示发送设备恢复与该接收设备进行该业务类型的通讯。例如,IO_0接收到的业务类型0的数据所占用的接收缓存空间高于上限阈值,IO_0可以通过第二虚拟通道0向HOST_0发送OFF帧,HOST_0接收到OFF帧后,暂停与IO_0进行业务类型0的通讯;在IO_0接收到的业务类型0的数据所占用的接收缓存空间低于下限阈值,IO_0可以通过第二虚拟通道0向HOST_0发送ON帧,HOST_0接收到ON帧后,恢复与IO_0进行业务类型0的通讯。其中,上限阈值和下限阈值可以参见本发明实施例一中基于优先级的流控PFC方法的相关描述。
本实施例的基于优先级的流控PFC方法,通过在发送设备中建立第一对应关系,可以实现不同的接收设备使用不同的第一虚拟通道与发送设备进行不同业务类型的通讯,某一接收设备的某一业务类型的数据存满出现反压或通信异常时,只需要停止该接收设备通过该业务类型对应的第一虚拟通道与发送设备进行该业务类型的通讯,不会影响该接收设备与发送设备进行其他业务类型的数据传输,同时也不会影响其他接收设备与发送设备的数据传输。
实施例5
图5a示出根据本发明实施例五的发送设备的结构框图。如图5a所示,该发送设备500可以应用于以太网中至少两个服务器共享至少两个虚拟通道的流量控制场景,主要可以包括:
查找模块510,用于根据接收设备的标识,在发送设备中预先设置的第一对应关系中查找对应的第一虚拟通道和所述接收设备的优先级,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系,所述第一虚拟通道为所述接收设备在以太网链路上从所述发送设备接收数据的通道。
具体地,在以太网发送设备与接收设备进行通讯的过程中,每个接收设备可以由网络管理员配置一个唯一的标识,发送设备通过此标识可以唯一确定接收设备。一方面,不同发送设备和不同接收设备均可以接收网络管理员对其优先级进行的配置,每个发送设备或每个接收设备的优先级在所有发送设备或接收设备中唯一。例如,在以太网中至少两个服务器共享至少两个虚拟通道的流量控制场景中,包括2个发送设备(如HOST_0、HOST_1),则它们的优先级可分别被网络管理员设置为0、1;2个接收设备(如IO_0、IO_1),则它们的优先级也可分别被网络管理员设置为0、1。另一方面,发送设备可以接收网络管理员的配置,即在发送设备中设置接收设备与第一虚拟通道的一一对应关系,不同通道可以分别用来传输发往不同接收设备的数据,通道数目与接收设备数目相同。例如,有2个接收设备(如IO_0、IO_1),可以通过网络管理员的配置在发送设备端建立两条第一虚拟通道(如第一虚拟通道0、第一虚拟通道1),分别用来发送去往IO_0和IO_1的数据。根据接收设备的标识,查找模块510可以在发送设备500中的第一对应关系中查找对应的第一虚拟通道和接收设备的优先级,用于后续发送设备500向接收设备发送数据,例如HOST_0的查找模块510可以在HOST_0的第一对应关系中查找到IO_0的优先级为0,对应第一虚拟通道0,用于后续HOST_0可以通过第一虚拟通道0向IO_0发送数据。
发送模块520,与所述查找模块510连接,用于通过所述查找到的第一虚拟通道,向所述接收设备发送报文,所述报文中包括所述接收设备的优先级和所述发送设备向所述接收设备发送的数据。
具体地,在查找模块510查找到第一虚拟通道之后,发送设备500可以通过与接收设备对应的第一虚拟通道与该接收设备进行通讯,即发送设备500的发送模块520可以通过第一虚拟通道向该接收设备发送报文,并可以在该报文的优先级字段可以写入查找模块510查找到的该接收设备的优先级,在报文的有效载荷(Payload)中可以包括发送设备500向接收设备发送的数据。
在接收设备接收到上述数据时,接收设备可以根据自身接收缓存空间的数据空满状态向发送设备500返回响应。若接收设备接收缓存空间的数据将满,不能继续接收数据时,接收设备可以根据流控技术,进行反压,即指示发送设备500不再继续通过该接收设备对应的第一虚拟通道向该接收设备发送数据。这样,接收设备的反压并不影响以太网中其他接收设备与发送设备500通过其他接收设备对应的第一虚拟通道进行通讯,例如IO_0接收缓存空间的数据将满,可以向HOST_0反压,HOST_0接收到反压后可以暂停与IO_0通过第一虚拟通道0的通讯,但是HOST_0仍可以与IO_1通过第一虚拟通道1进行通讯。
图5b示出根据本发明实施例五的发送设备的结构框图。如图5b所示,发送设备500还可以包括:
建立模块530,用于在所述以太网链路上建立所述接收设备的标识对应的第一虚拟通道;
配置模块540,与所述建立模块530连接,用于在发送设备中预先设置所述第一对应关系,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系。
具体地,参见本实施例上述组件的相关描述,若在以太网中包括2个接收设备,标识分别被网络管理员配置为IO_0和IO_1,建立模块530可以建立两条第一虚拟通道(如第一虚拟通道0和第一虚拟通道1),结合2个接收设备的优先级,配置模块540可以设置接收设备的优先级、接收设备的标识和第一虚拟通道的第一对应关系,例如,IO_0的优先级为0,对应第一虚拟通道0。该第一对应关系可以用于后续确定某一接收设备的优先级和向该接收设备发送数据的第一虚拟通道。
进一步地,发送模块520还可以包括:
生成单元521,用于生成虚拟局域网VLAN帧,其中,所述VLAN帧的优先级字段由所述发送设备写入查找到的所述接收设备的优先级,所述VLAN帧的有效载荷包括所述发送设备向所述接收设备发送的数据;
导入单元522,与所述生成单元521连接,用于通过所述查找到的第一虚拟通道将所述VLAN帧发送至所述接收设备。
具体地,在发送设备500向接收设备发送报文时,发送设备首先可以通过查找模块510查找第一对应关系,查找到接收设备的优先级,并通过生成单元521在虚拟局域网VLAN帧相应的优先级字段写入接收设备的优先级,在VLAN帧的有效载荷中可以包括发送设备向接收设备发送的数据。例如,HOST_0需要向IO_0发送数据时,HOST_0可以通过查找模块510查找第一对应关系,查找到IO_0的优先级为0,对应第一虚拟通道0,HOST_0可以通过生成单元521在VLAN帧的优先级字段写入0,将需要发送的数据写入VLAN帧的有效载荷,并通过第一虚拟通道0向IO_0发送VLAN帧。
进一步地,发送设备500还可以包括:
处理模块550,与所述发送模块520连接,用于如果所述发送设备从所述接收设备接收到暂停OFF帧,则根据所述OFF帧中的暂停时间,暂停与所述接收设备的通讯;
其中,所述OFF帧是由所述接收设备在接收到的数据所占用的接收缓存空间高于上限阈值的状态下生成的。
具体地,发送设备500通过发送模块520向接收设备发送VLAN帧之后,接收设备可以根据自身接收缓存空间中的数据空满状态向发送设备500返回相应的响应。如果接收设备的接收缓存空间中的数据所占用的空间高于上限阈值,接收设备可以向发送设备500发送OFF帧,用来指示发送设备500的处理模块550根据所述OFF帧中的暂停时间,暂停与该接收设备的通讯,在到达暂停时间时,发送设备500可以自动恢复与该接收设备的通讯。其中,暂停时间可以由OFF帧中的暂停时间字段中的内容决定,发送设备接收到OFF帧之后,可以停止对该接收设备对应的第一虚拟通道的调度,以暂停与该接收设备的通讯。例如IO_0接收到的数据所占用的接收缓存空间高于上限阈值,IO_0可以向HOST_0发送OFF帧,HOST_0接收到OFF帧后,根据OFF帧中的暂停时间,停止对IO_0对应的第一虚拟通道0的调度,暂停与IO_0的通讯。其中上限阈值为该接收设备的接收缓存空间可以存储的数据量最大值,由于从接收设备发送OFF帧到发送设备接收到OFF并作出响应,需要一定的时间,在这段时间内还可能存在一些正在发送的数据需要接收设备接收,不能因为数据存满而丢弃,因此接收设备可以接收的数据量可以大于该上限阈值,即存储空间需要留有一定余量。若高于上限阈值,说明数据将满,该接收设备反压。
在一种可能的实现方式中,处理模块550还可以被配置为:如果到达所述OFF帧中的暂停时间或从所述接收设备接收到连通ON帧,则恢复与所述接收设备的通讯;
其中,所述ON帧是由所述接收设备在接收到的数据所占用的接收缓存空间低于下限阈值的状态下生成的。
具体地,一方面,在到达暂停时间时,发送设备500可以通过处理模块550自动恢复与接收设备的通讯;另一方面,接收设备在反压之后,数据所占用的空间可能会减少,在没有到达暂停时间时,如果数据所占用的接收缓存空间低于下限阈值,接收设备可以向发送设备500发送ON帧,用来指示发送设备500通过处理模块550恢复与该接收设备的通讯。例如IO_0接收到的数据所占用的接收缓存空间低于下限阈值,IO_0可以向HOST_0发送ON帧,HOST_0接收到ON帧后,可以重新开始对IO_0对应的第一虚拟通道0的调度,恢复与IO_0的通讯。其中下限阈值为该接收设备的接收缓存空间存储的数据量最小值,若低于下限阈值,说明该接收设备的接收缓存空间即将没有数据,发送设备500可以继续向其发送数据。
在一种可能的实现方式中,发送设备500还可以作为接收端,根据被网络管理员预先设置的通道与设备的对应关系通过相应的通道从其他设备接收数据。
本实施例的发送设备,通过配置模块在发送设备中设置第一对应关系,可以实现不同的接收设备使用不同的第一虚拟通道与发送设备通讯,某一接收设备数据存满出现反压或通信异常时,只需要停止该接收设备通过其对应的第一虚拟通道与发送设备的通讯,不会影响其他接收设备与发送设备的数据传输。
实施例6
图6示出根据本发明实施例六的发送设备的结构框图。图6中标号与图5a、图5b相同的组件具有相同的功能,为简明起见,省略对这些组件的详细说明。
如图6所示,图6所示的发送设备与图5a、图5b所示的发送设备主要区别在于,该发送设备600的查找模块610除了可以具备本发明实施例五中查找模块510的功能之外,还可以被配置为:
根据所述接收设备的标识和业务类型,在所述发送设备中预先设置的所述第一对应关系中查找所述对应的第一虚拟通道和所述接收设备的优先级,所述第一对应关系包括所述业务类型、所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系。例如IO_0的业务类型0的优先级为0,对应第一虚拟通道0,HOST_0通过第一虚拟通道0向IO_0发送业务类型0的数据。
具体地,在发送设备的第一对应关系中,还可以包括接收设备的业务类型,即设置业务类型、接收设备的优先级、接收设备的标识和第一虚拟通道之间的对应关系。例如,参见本发明实施例一中基于优先级的流控PFC方法的相关描述,若以太网中包括2个接收设备(如IO_0、IO_1),IO_0和IO_1都分别包括两种业务类型(如业务类型0、业务类型1),则可以将设置IO_0业务类型0的优先级设置为0,IO_0业务类型1的优先级设置为1,IO_1业务类型0的优先级设置为2,IO_1业务类型1的优先级设置为3;还可以在发送设备端建立四条第一虚拟通道(如第一虚拟通道0、第一虚拟通道1、第一虚拟通道2、第一虚拟通道3),第一虚拟通道0、第一虚拟通道1分别用来发送去往IO_0的业务类型0和业务类型1的数据,第一虚拟通道2、第一虚拟通道3分别用来发送去往IO_1的业务类型0和业务类型1的数据。这样,IO_0的业务类型0的优先级为0,对应第一虚拟通道0,IO_0的业务类型1的优先级为1,对应第一虚拟通道1,IO_1的业务类型0的优先级为2,对应第一虚拟通道2,IO_1的业务类型1的优先级为3,对应第一虚拟通道3。
在一种可能的实现方式中,该发送设备600的建立模块630除了可以具备本发明实施例五中建立模块530的功能之外,还可以被配置为:在所述以太网链路上建立所述接收设备的标识和所述业务类型对应的第一虚拟通道;
该发送设备600的配置模块640除了可以具备本发明实施例五中配置模块540的功能之外,还可以被配置为:在所述发送设备中预先设置所述第一对应关系,所述第一对应关系包括所述业务类型、所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系。
具体地,参见本实施例上述组件的相关描述,若有2个接收设备,标识分别被网络管理员设置为IO_0和IO_1,每个接收设备具有两种业务类型(如业务类型0、业务类型1),建立模块630可以在发送设备端建立四条第一虚拟通道(如第一虚拟通道0、第一虚拟通道1、第一虚拟通道2、第一虚拟通道3),结合2个接收设备各个业务类型的优先级,配置模块640可以配置业务类型、优先级、接收设备的标识和第一虚拟通道的对应关系,例如,IO_0的业务类型0的优先级为0,对应第一虚拟通道0,IO_0的业务类型1的优先级为1,对应第一虚拟通道1,IO_1的业务类型0的优先级为2,对应第一虚拟通道2,IO_1的业务类型1的优先级为3,对应第一虚拟通道3。该第一对应关系可以用于后续确定某一接收设备的优先级和向该接收设备发送数据的第一虚拟通道。
在一种可能的实现方式中,接收设备可以根据自身某一业务类型的接收缓存空间的数据空满状态向发送设备600返回相应的响应。具体地,如果接收设备接收到的某一业务类型的数据所占用的接收缓存空间高于上限阈值,接收设备可以向发送设备600发送OFF帧,用来指示发送设备600的处理模块550在暂停时间内暂停与该接收设备进行该业务类型的通讯,但不影响发送设备与该接收设备进行其他业务类型的通讯。进一步地,在到达暂停时间或者该接收设备接收到的该业务类型的数据所占用的接收缓存空间低于下限阈值时,接收设备可以向发送设备600发送ON帧,用来指示发送设备600的处理模块550恢复与该接收设备进行该业务类型的通讯。例如,IO_0接收到的业务类型0的数据所占用的接收缓存空间高于上限阈值,IO_0可以向HOST_0发送OFF帧,HOST_0接收到OFF帧后,暂停与IO_0通过第一虚拟通道0进行业务类型0的通讯;在IO_0接收到的业务类型0的数据所占用的接收缓存空间低于下限阈值,IO_0可以向HOST_0发送ON帧,HOST_0接收到ON帧后,恢复与IO_0通过第一虚拟通道0进行业务类型0的通讯。其中,上限阈值和下限阈值可以参见本发明实施例一中基于优先级的流控PFC方法的相关描述。
本实施例的发送设备,通过配置模块在发送设备中配置第一对应关系,可以实现不同的接收设备使用不同的第一虚拟通道与发送设备进行不同业务类型的通讯,某一接收设备的某一业务类型的数据存满出现反压或通信异常时,只需要停止该接收设备通过该业务类型对应的第一虚拟通道与发送设备进行该业务类型的通讯,不会影响该接收设备与发送设备进行其他业务类型的数据传输,同时也不会影响其他接收设备与发送设备的数据传输。
实施例7
图7a示出根据本发明实施例七的接收设备的结构框图。如图7a所示,该接收设备700可以应用于以太网中至少两个服务器共享至少两个虚拟通道的流量控制场景,主要可以包括:
接收模块710,用于通过第一虚拟通道,从发送设备接收报文,所述报文中包括所述接收设备的优先级和所述发送设备向所述接收设备发送的数据,所述第一虚拟通道为所述接收设备在以太网链路上从所述发送设备接收数据的通道,所述接收设备的优先级为所述发送设备在预先设置的第一对应关系中查找到的优先级,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系;其中,不同的接收设备的标识不同,所述接收设备的标识与所述第一虚拟通道存在一一对应的关系。
具体地,一方面,在以太网发送设备与接收设备进行通讯的过程中,每个发送设备或接收设备可以由网络管理员配置相应的优先级,每个发送设备或接收设备的优先级在所有发送设备或接收设备中唯一。例如,在以太网中至少两个服务器共享至少两个虚拟通道的流量控制场景中,包括2个发送设备(如HOST_0、HOST_1),则它们的优先级可分别被网络管理员设置为0、1;2个接收设备(如IO_0、IO_1),则它们的优先级也可分别被网络管理员设置为0、1。另一方面,发送设备可以接收网络管理员的配置,即在发送设备中设置接收设备与第一虚拟通道的一一对应关系,不同通道可以分别用来传输发往不同接收设备的数据,通道数目与接收设备数目相同。例如,有2个接收设备(如IO_0、IO_1),可以通过网络管理员的配置在发送设备端建立两条第一虚拟通道(如第一虚拟通道0、第一虚拟通道1),分别用来发送去往IO_0和IO_1的数据。接收设备700的接收模块710可以通过其对应的第一虚拟通道接收发送设备发送的报文,例如IO_0可以通过第一虚拟通道0接收HOST_0发送的报文。
图7b示出根据本发明实施例七的接收设备的结构框图。如图7b所示,该接收设备700还可以包括:
建立模块720,用于在所述以太网链路上建立所述发送设备的标识对应的第二虚拟通道;
配置模块730,与所述建立模块720连接,用于在所述接收设备中预先设置所述接收设备中的第二对应关系,所述第二对应关系包括所述发送设备的优先级、所述发送设备的标识和所述第二虚拟通道之间的对应关系。
具体地,参见本实施例上述组件的相关描述,若在以太网中包括2个发送设备,标识分别被网络管理员配置为HOST_0和HOST_1,建立模块720可以在接收设备端建立两条第二虚拟通道(如第二虚拟通道0和第二虚拟通道1),结合2个发送设备的优先级,配置模块730可以设置发送设备的优先级、发送设备的标识和第二虚拟通道之间的第二对应关系,例如,HOST_0的优先级为0,对应第二虚拟通道0,用来传输发往HOST_0的数据。该第二对应关系可以用于后续确定某一发送设备的优先级和发送数据的第二虚拟通道。
在一种可能的实现方式中,在接收设备700中的第二对应关系中,还可以包括接收设备700的优先级。例如,参见本实施例上述组件的相关描述,若在以太网中包括2个接收设备,标识分别为IO_0和IO_1,它们的优先级可分别被网络管理员设置为0、1,则在第二对应关系中,IO_0的优先级为0,HOST_0的优先级为0,且IO_0通过第一虚拟通道0接收HOST_0发送的数据,通过第二虚拟通道0向HOST_0发送数据。
在一种可能的实现方式中,接收模块710还可以被配置为:所述接收设备通过所述第一虚拟通道,从所述发送设备接收虚拟局域网VLAN帧,其中,所述VLAN帧的优先级字段由所述发送设备写入查找到的所述接收设备的优先级,所述VLAN帧的有效载荷包括所述发送设备向所述接收设备发送的数据。
具体地,接收设备700的接收模块710可以根据第一对应关系,通过接收设备700对应的第一虚拟通道从发送设备接收VLAN帧。例如,IO_0与HOST_0进行通讯时,HOST_0可以根据第一对应关系,查找到IO_0的优先级为0,对应第一虚拟通道0,IO_0可以通过第一虚拟通道0接收VLAN帧,HOST_0可以在VLAN帧的优先级字段写入0,将向接收设备发送的数据写入VLAN帧的有效载荷。
进一步地,该接收设备700还可以包括:
发送模块740,与所述接收模块710连接,用于所述接收设备通过所述第二虚拟通道,向所述发送设备发送暂停OFF帧,所述OFF帧的优先级字段由所述接收设备写入所述VLAN帧中获取的优先级或在所述第二对应关系中查找到的所述接收设备的优先级,
其中,所述OFF帧是由所述接收设备在接收到的数据所占用的接收缓存空间高于上限阈值的状态下生成的。
具体地,接收设备700的发送模块740可以根据自身接收缓存空间的数据空满状态向发送设备返回相应的响应。如果接收设备700接收到的数据所占用的接收缓存空间高于上限阈值,接收设备700可以从接收到的VLAN帧中获取接收设备的优先级,也可以从第二对应关系中获取接收设备700的优先级,并在OFF帧的优先级字段写入该接收设备的优先级,发送模块740通过第二虚拟通道向发送设备发送OFF帧,用来指示发送设备根据所述OFF帧中的暂停时间,暂停与该接收设备的通讯,在到达暂停时间时,发送设备可以自动恢复与接收设备的通讯。其中,暂停时间可以由OFF帧中的暂停时间字段中的内容决定,发送设备接收到OFF帧之后,可以停止对该接收设备对应的第一虚拟通道的调度,以暂停与该接收设备的通讯。例如IO_0接收到的数据所占用的接收缓存空间高于上限阈值,IO_0可以通过第二虚拟通道0向HOST_0发送OFF帧,HOST_0接收到OFF帧后,根据OFF帧中的暂停时间,暂停与IO_0的通讯。其中上限阈值为该接收设备的接收缓存空间可以存储的数据量最大值,由于从接收设备发送OFF帧到发送设备接收到OFF并作出响应,需要一定的时间,在这段时间内还可能存在一些正在发送的数据需要接收设备700接收,不能因为数据存满而丢弃,因此接收设备700可以存储的数据量可以大于该上限阈值,即存储空间需要留有一定余量。若高于上限阈值,说明数据将满,该接收设备700反压。
在一种可能的实现方式中,发送模块740还可以被配置为:
所述接收设备通过所述第二虚拟通道,向所述发送设备发送连通ON帧,所述ON帧的优先级字段由所述接收设备写入从所述VLAN帧中获取的优先级或在所述第二对应关系中查找到的所述接收设备的优先级,
其中,所述ON帧是由所述接收设备在接收到的数据所占用的接收缓存空间低于下限阈值的状态下生成的。
具体地,接收设备700在反压之后,接收到的数据所占用的接收缓存空间可能会减少,在到达暂停时间前,若接收到的数据所占用的接收缓存空间低于下限阈值,接收设备700的发送模块740可以向发送设备发送ON帧,用来指示发送设备恢复与该接收设备的通讯。例如IO_0的数据所占用的空间低于下限阈值,IO_0可以通过第二虚拟通道0向发送ON帧,HOST_0接收到ON帧后,恢复与IO_0的通讯。其中下限阈值为该接收设备接收缓存空间存储的数据量最小值,若低于下限阈值,说明该接收设备700的存储空间即将没有数据,发送设备可以继续向其发送数据。
在一种可能的实现方式中,接收设备700还可以作为发送端,根据第二对应关系中第二虚拟通道、发送设备的标识与优先级的对应关系,发送模块740可以通过第二虚拟通道向第二虚拟通道对应的发送设备发送数据。在这种情况下,参见本发明实施例一中基于优先级的流控PFC方法的相关描述,发送设备可以作为接收端,通过对应的第二虚拟通道从接收设备700接收数据。
本实施例的接收设备,通过配置模块在接收设备中设置第二对应关系,可以实现不同的接收设备使用不同的第一虚拟通道与发送设备通讯,某一接收设备数据存满出现反压或通信异常时,只需要停止该接收设备通过其对应的第一虚拟通道与发送设备的通讯,不会影响其他接收设备与发送设备的数据传输。
实施例8
图8示出根据本发明实施例八的接收设备的结构框图。图8中标号与图7a、图7b相同的组件具有相同的功能,为简明起见,省略对这些组件的详细说明。
如图8所示,图8所示的接收设备与图7a、图7b所示接收设备的主要区别在于,该接收设备800的建立模块820除了可以具备本发明实施例七中建立模块720的功能之外,还可以被配置为:
在所述以太网链路上建立所述发送设备的标识和所述业务类型对应的第二虚拟通道;
该接收设备800的配置模块830除了可以具备本发明实施例七中配置模块730的功能之外,还可以被配置为:
在所述接收设备中预先设置所述接收设备中的第二对应关系,所述第二对应关系包括业务类型、所述发送设备的优先级、所述发送设备的标识和所述第二虚拟通道之间的对应关系。
具体地,在接收设备被网络管理员预先设置的第二对应关系中,还可以包括接收设备的业务类型,即设置业务类型、发送设备的优先级、发送设备的标识和第二虚拟通道之间的对应关系。例如,参见本发明实施例三中基于优先级的流控PFC方法的相关描述,若以太网中包括2个发送设备,标识分别被网络管理员设置为HOST_0和HOST_1,每个发送设备可以与接收设备进行两种业务类型(如业务类型0、业务类型1)的通讯,建立模块820可以在接收设备端建立四条第二虚拟通道(如第二虚拟通道0、第二虚拟通道1、第二虚拟通道2、第二虚拟通道3),结合2个发送设备的优先级,配置模块830可以配置业务类型、发送设备的优先级、发送设备的标识和第二虚拟通道的第二对应关系,例如,HOST_0的业务类型0优先级为0,对应第二虚拟通道0,HOST_0的业务类型1优先级为1,对应第二虚拟通道1,HOST_1的业务类型0优先级为2,对应第二虚拟通道2,HOST_1的业务类型1优先级为3,对应第二虚拟通道3。该第二对应关系可以用于后续确定某一发送设备的优先级和向该发送设备发送数据的第二虚拟通道。
在一种可能的实现方式中,在接收设备800中的第二对应关系中,还可以包括接收设备800的优先级。具体示例可以参见本发明实施例三中基于优先级的流控PFC方法的相关描述。
在一种可能的实现方式中,接收设备800的发送模块740可以根据自身某一业务类型的接收缓存空间的数据空满状态向发送设备返回相应的响应。具体地,如果接收设备800接收到的某一业务类型的数据所占用的接收缓存空间高于上限阈值,接收设备800的发送模块740可以通过第二虚拟通道向发送设备发送OFF帧,用来指示发送设备在暂停时间段内暂停与该接收设备进行该业务类型的通讯,但不影响发送设备与该接收设备进行其他业务类型的通讯。进一步地,在到达暂停时间或者该接收设备800接收到的该业务类型的数据所占用的接收缓存空间低于下限阈值时,接收设备800的发送模块740可以通过第二虚拟通道向发送设备发送ON帧,用来指示发送设备恢复与该接收设备进行该业务类型的通讯。例如,IO_0接收到的业务类型0的数据所占用的接收缓存空间高于上限阈值,IO_0可以通过第二虚拟通道0向HOST_0发送OFF帧,HOST_0接收到OFF帧后,暂停与IO_0通过虚拟通道0进行业务类型0的通讯;在IO_0接收到的业务类型0的数据所占用的接收缓存空间低于下限阈值,IO_0可以通过第二虚拟通道0向HOST_0发送ON帧,HOST_0接收到ON帧后,恢复与IO_0进行业务类型0的通讯。其中,上限阈值和下限阈值可以参见本发明实施例一中基于优先级的流控PFC方法的相关描述。
本实施例的接收设备,通过配置模块在接收设备中设置第二对应关系,可以实现不同的接收设备使用不同的第一虚拟通道与发送设备进行不同业务类型的通讯,某一接收设备的某一业务类型的数据存满出现反压或通信异常时,只需要停止该接收设备通过该业务类型对应的第一虚拟通道与发送设备进行该业务类型的通讯,不会影响该接收设备与发送设备进行其他业务类型的数据传输,同时也不会影响其他接收设备与发送设备的数据传输。
实施例9
图9示出根据本发明实施例九的一种基于优先级的流控PFC装置的结构框图。所述PFC装置900可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
所述PFC装置900包括处理器(processor)910、通信接口(CommunicationsInterface)920、存储器(memory)930和总线940。其中,处理器910、通信接口920、以及存储器930通过总线940完成相互间的通信。
通信接口920用于与网络设备通信,其中网络设备包括例如虚拟机管理中心、共享存储等。
处理器910用于执行程序。处理器910可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器930用于存放文件。存储器930可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器930也可以是存储器阵列。存储器930还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。在以太网中至少两个服务器共享至少两个虚拟通道的流量控制场景中,所述至少两个服务器包括至少一个发送设备和至少一个接收设备,该程序具体可用于使得发送设备可以:
根据所述接收设备的标识,在所述发送设备中预先设置的第一对应关系中查找对应的第一虚拟通道和所述接收设备的优先级,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系,所述第一虚拟通道为所述接收设备在以太网链路上从所述发送设备接收数据的通道;其中,不同的接收设备的标识不同,所述接收设备的标识与所述第一虚拟通道存在一一对应的关系;
通过所述查找到的第一虚拟通道,向所述接收设备发送报文,所述报文中包括所述接收设备的优先级和所述发送设备向所述接收设备发送的数据。
在一种可能的实施方式中,根据所述接收设备的标识,在所述发送设备中预先设置的第一对应关系中查找对应的第一虚拟通道和所述接收设备的优先级,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系,包括:
所述发送设备根据所述接收设备的标识和业务类型,在所述发送设备中预先设置的所述第一对应关系中查找所述对应的第一虚拟通道和所述接收设备的优先级,所述第一对应关系包括所述业务类型、所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系。
在一种可能的实施方式中,根据所述接收设备的标识,在所述发送设备中预先设置的第一对应关系中查找对应的第一虚拟通道和所述接收设备的优先级之前,该程序还可用于使得发送设备可以:
在所述以太网链路上建立所述接收设备的标识对应的所述第一虚拟通道,或,所述接收设备的标识和所述业务类型对应的所述第一虚拟通道;
在所述发送设备中预先设置所述第一对应关系,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系;或,所述第一对应关系包括所述业务类型、所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系。
在一种可能的实施方式中,通过所述查找到的第一虚拟通道,向所述接收设备发送报文,包括:
所述发送设备生成虚拟局域网VLAN帧,其中,所述VLAN帧的优先级字段由所述发送设备写入查找到的所述接收设备的优先级,所述VLAN帧的有效载荷包括所述发送设备向所述接收设备发送的数据;
所述发送设备通过所述查找到的第一虚拟通道将所述VLAN帧发送至所述接收设备。
在一种可能的实施方式中,在通过所述查找到的第一虚拟通道,向所述接收设备发送报文之后,该程序还可用于使得发送设备可以:
如果所述发送设备从所述接收设备接收到暂停OFF帧,则根据所述OFF帧中的暂停时间,暂停与所述接收设备的通讯;
其中,所述OFF帧是由所述接收设备在接收到的数据所占用的接收缓存空间高于上限阈值的状态下生成的,或者,由所述接收设备在接收到的所述业务类型的数据所占用的接收缓存空间高于上限阈值的状态下生成的。
在一种可能的实施方式中,所述暂停与所述接收设备的通讯之后,该程序还可用于使得发送设备可以:
如果到达所述OFF帧中的暂停时间或所述发送设备从所述接收设备接收到连通ON帧,则恢复与所述接收设备的通讯;
其中,所述ON帧是由所述接收设备在接收到的数据所占用的接收缓存空间低于下限阈值的状态下生成的,或,由所述接收设备在接收到的所述业务类型的数据所占用的接收缓存空间低于下限阈值的状态下生成的。
在一种可能的实施方式中,在以太网中至少两个服务器共享至少两个虚拟通道的流量控制场景中,所述至少两个服务器包括至少一个发送设备和至少一个接收设备,该程序具体还可以用于使得接收设备可以:
通过第一虚拟通道,从所述发送设备接收报文,所述报文中包括所述接收设备的优先级和所述发送设备向所述接收设备发送的数据,所述第一虚拟通道为所述接收设备在以太网链路上从所述发送设备接收数据的通道,所述接收设备的优先级为所述发送设备在预先设置的第一对应关系中查找到的优先级,所述第一对应关系包括所述接收设备的优先级、所述接收设备的标识和所述第一虚拟通道之间的对应关系,其中,不同的接收设备的标识不同,所述接收设备的标识与所述第一虚拟通道存在一一对应的关系。
在一种可能的实施方式中,在通过第一虚拟通道,从所述发送设备接收报文之前,该程序还可用于使得接收设备可以:
在所述以太网链路上建立所述发送设备的标识对应的第二虚拟通道,或,所述发送设备的标识和所述业务类型对应的第二虚拟通道;
在所述接收设备中预先设置第二对应关系,所述第二对应关系包括所述发送设备的优先级、所述发送设备的标识和所述第二虚拟通道之间的对应关系;或,所述第二对应关系包括业务类型、所述发送设备的优先级、所述发送设备的标识和所述第二虚拟通道之间的对应关系。
在一种可能的实施方式中,所述第二对应关系中还包括所述接收设备的优先级。
在一种可能的实施方式中,通过第一虚拟通道,从所述发送设备接收报文,包括:
通过所述第一虚拟通道,从所述发送设备接收虚拟局域网VLAN帧,其中,所述VLAN帧的优先级字段由所述发送设备写入查找到的所述接收设备的优先级,所述VLAN帧的有效载荷包括所述发送设备向所述接收设备发送的数据。
在一种可能的实施方式中,通过第一虚拟通道,从所述发送设备接收报文之后,该程序还可用于使得接收设备可以:
通过所述第二虚拟通道,向所述发送设备发送暂停OFF帧,所述OFF帧的优先级字段由所述接收设备写入从所述VLAN帧中获取的优先级或在所述第二对应关系中查找到的所述接收设备的优先级,
其中,所述OFF帧是由所述接收设备在接收到的数据所占用的接收缓存空间高于上限阈值的状态下生成的,或,由所述接收设备在接收到的所述业务类型的数据所占用的接收缓存空间高于上限阈值的状态下生成的。
在一种可能的实施方式中,向所述发送设备发送暂停OFF帧之后,该程序还可用于使得接收设备可以:
通过所述第二虚拟通道,向所述发送设备发送连通ON帧,所述ON帧的优先级字段由所述接收设备写入从所述VLAN帧中获取的优先级或在所述第二对应关系中查找到的所述接收设备的优先级,
其中,所述ON帧是由所述接收设备在接收到的数据所占用的接收缓存空间低于下限阈值的状态下生成的,或者,由所述接收设备在接收到的所述业务类型的数据所占用的接收缓存空间低于下限阈值的状态下生成的。
本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的非易失性存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。