一种数据传输控制方法、设备及系统的制作方法_4

文档序号:9710781阅读:来源:国知局
其中,暂停信息表的表项可至少包括虚拟机硬件地址,从而当数据传输控制设备接收到另一设备发送的暂停消息时,可根据暂停消息在所述暂停信息表中添加包括根据暂停消息获取到的虚拟机硬件地址的对应表项中,并且将暂停信息中的其他信息,如暂停消息中的暂停时间等,记录到对应表项中,从而数据传输控制设备可根据表项中的信息对对应的逻辑通道暂停数据传输。
[0142]可选的,暂停消息中还可包括每个虚拟机的队列优先级标识。数据传输控制设备可将队列优先级标识保存至暂停信息表中虚拟机硬件地址对应的表项中,则数据传输控制设备可根据暂停信息表暂停虚拟机逻辑通道上队列优先级标识对应的数据传输。暂停消息接收模块504,用于获取另一设备发送的暂停消息,其中,所述暂停消息包括暂停信息,所述暂停信息包括至少一个虚拟机的信息。
[0143]本发明实施例中,另一设备可实时监控虚拟机逻辑通道的拥塞情况,当发现一个或多个虚拟机逻辑通道发生数据传输拥塞现象时,可发送暂停消息,暂停消息接收模块504可接收暂停消息,并通过传输模块508对对应的虚拟机逻辑通道上的数据传输进行暂停操作。
[0144]可选的,暂停消息除了包括虚拟机MAC地址外,还可包括虚拟机的队列优先级标识,即表明逻辑通道上队列优先级标识对应的数据发生拥塞,此时,数据传输控制设备在虚拟机硬件地址对应的虚拟机的逻辑通道上,暂停队列优先级标识对应的数据的传输。
[0145]可选的,暂停消息包括暂停信息,暂停信息可包括至少一个虚拟机的信息,虚拟机的信息可为出现拥塞的一个虚拟机的硬件地址,例如MAC地址或至少一个虚拟机的虚拟机标识,当暂停信息包括一个虚拟机的硬件地址时,即表明一个虚拟机的数据传输出现拥塞,当暂停信息包括至少一个虚拟机的虚拟机标识时,即表明一个或多个虚拟机的数据传输出现拥塞。该虚拟机的硬件地址并非当前暂停消息中存在的源硬件地址或目的硬件地址。暂停消息中的源硬件地址为服务器的硬件地址,目的硬件地址为交换机的硬件地址。若暂停消息中不存在虚拟机的硬件地址,则交换机仅能根据源硬件地址找到对应的服务器,而无法找到特定的虚拟机,从而无法实现对虚拟机的数据传输控制。当交换机接收到暂停消息时,可查找出暂停消息中的虚拟机MAC地址对应的虚拟机的逻辑通道,并暂停该逻辑通道上的数据传输。
[0146]具体暂停消息包括的字段可参见图3,此处不再赘述。
[0147]添加模块505,用于在所述暂停信息表为所述至少一个虚拟机中每个虚拟机的虚拟机硬件地址添加表项。
[0148]本发明实施例中,当接收到另一设备发送的暂停消息后,添加模块505可在暂停信息表中为暂停消息包括的至少一个虚拟机中每个虚拟机的虚拟机硬件地址添加表项。具体的,当暂停信息包括一个虚拟机的硬件地址时,为该硬件地址在暂停信息表中添加表项,以表明该虚拟机的硬件地址对应的逻辑通道需要进行暂停操作;当暂停信息包括至少一个虚拟机的虚拟机标识时,则可根据虚拟机配置信息,相应的查找出虚拟机标识对应的虚拟机硬件地址,从而为每个虚拟机硬件地址添加对应的表项,即表明虚拟机中一个或多个虚拟机的逻辑通道的数据传输需要进行暂停操作。
[0149]设置模块506,用于在每个添加的所述表项中设置暂停定时器以及暂停标记。
[0150]本发明实施例中,设置模块506可在虚拟机MAC地址表项中设置暂停定时器,当接收到暂停消息时,即表明对应的虚拟机需要进行暂停数据传输操作,即可开启暂停定时器,以使表项对应的虚拟机暂停数据传输。同时,可将表项中暂停标记设置为预设值,如设置为I,表明需对该表项对应的虚拟机地址进行暂停操作。
[0151]开启模块507,用于开启所述每个添加的表项中的暂停定时器,以分别使所述暂停定时器对所述传输模块暂停所述每个虚拟机硬件地址对应的逻辑通道上的数据传输的操作计时。
[0152]本发明实施例中,开启模块507可开启暂停定时器,来对第一设备的暂停操作进行计时。其中,可根据暂停消息中的暂停时间或预设的暂停时间,来设置暂停定时器的暂停时间,在该段时间内,虚拟机逻辑通道上的数据传输为暂停状态。
[0153]传输模块508,用于根据所述暂停消息暂停所述每个虚拟机硬件地址对应的逻辑通道上的数据传输。
[0154]本发明实施例中,当开启暂停定时器后,传输模块508可根据定时器的定时时间暂停虚拟机MAC地址对应的虚拟机的逻辑通道上的数据传输。具体的,当暂停消息中包括虚拟机的队列优先级标识时,传输模块508可暂停逻辑通道上队列优先级标识对应的数据的传输,该逻辑通道上的其他队列数据则可进行正常传输,从而进一步提高了虚拟机逻辑通道上的传输效率。当暂停信息中包括至少一个虚拟机的虚拟机标识时,如图3所示的暂停消息中,control op code字段可代表多个虚拟机需进行暂停操作,如0x0202,则可根据BP_VM_bitmap字段查找到多个虚拟机的MAC地址,并暂停每个查找到的MAC地址对应的逻辑通道上的数据传输。
[0155]检测模块509,用于针对每个表项,检测所述表项中的暂停定时器是否到达设定时间或是否接收到所述另一设备发送的包括所述表项中的虚拟机硬件地址的恢复消息。
[0156]在暂停数据传输期间,检测模块509可针对暂停信息表中每个添加的表项,实时检测是否接收到另一设备发送的包括虚拟机硬件地址的恢复消息,当接收到恢复消息时,即表明另一设备监控的虚拟机硬件地址对应的逻辑通道上的数据拥塞现象解除,则可继续数据传输;或当检测到暂停定时器的定时时间结束时,则表明另一设备发送的时间或预设的时间内暂停数据操作已失效,在上述时间外,无论拥塞现象是否缓解,均需要继续数据传输。
[0157]清除模块510,用于当所述检测模块509检测到所述表项中的暂停定时器到达设定时间或接收到包括所述表项中的虚拟机硬件地址的所述恢复消息时,清除所述表项中的暂停标记。
[0158]本发明实施例中,当检测到所述定时器到达设定时间或恢复消息时,即表明无需继续进行暂停操作,则清除模块510清除表项中的暂停标记,如将暂停标记的值设置为0,则表明该表项对应的虚拟机逻辑通道无需进行数据传输暂停处理。
[0159]重新启动模块511,用于控制所述传输模块508重新启动所述表项中的虚拟机硬件地址对应的逻辑通道上的数据传输。
[0160]本发明实施例中,在清除暂停标记后,重新启动模块510即可重新启动表项中虚拟机MAC地址对应的逻辑通道上的数据传输。
[0161]本发明中,数据传输控制设备通过接收另一设备发送的包括虚拟机硬件地址的暂停消息,可根据所述虚拟机硬件地址找到需要暂停数据传输的虚拟机,并暂停所述虚拟机硬件地址对应的虚拟机的逻辑通道上的数据传输,从而缓解了特定虚拟机的逻辑通道拥塞,实现了单个虚拟机的数据传输控制,并且不影响其他虚拟机的数据传输,整体上提高了虚拟机的传输效率。
[0162]参见图6,为本发明实施例公开的又一种数据传输控制设备的结构图。
[0163]该数据传输控制设备可以包括处理器601、存储器602和以太网网络接口 603。在本发明的一些实施例中,处理器601、存储器602和以太网网络接口 603可以通过总线连接。其中,处理器601可以是中央处理器(英文:central processing unit,简称:CPU),或者是CPU和硬件芯片的组合。存储器602可以是易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,简称:RAM);或者非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read_only memory,简称:R0M),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,简称:HDD)或固态硬盘(英文:solid-state drive,简称:SSD);或者上述种类的存储器的组合。存储器602中存储一组程序代码,且处理器601用于调用存储器602中存储的程序代码,执行如下操作:
[0164]接收另一设备发送的暂停消息;其中,所述暂停消息包括暂停信息,所述暂停信息包括至少一个虚拟机的信息;
[0165]根据所述暂停信息获取所述至少一个虚拟机中每个虚拟机的虚拟机硬件地址,并获取所述每个虚拟机硬件地址对应的逻辑通道;
[0166]根据所述暂停消息暂停所述每个虚拟机硬件地址对应的逻辑通道上的数据传输。
[0167]作为一个可选的实施例,处理器601在接收另一设备发送的暂停消息之前,还用于调用存储器602存储的程序代码执行以下步骤:
[0168]获取虚拟机配置信息,所述虚拟机配置信息包括每个虚拟机的虚拟机硬件地址及虚拟机标识;
[0169]根据所述虚拟机配置信息建立每个虚拟机的逻辑通道。
[0170]作为一个可选的实施例,当所述暂停消息还包括所述每个虚拟机的队列优先级标识时,处理器601根据所述暂停消息暂停所述每个虚拟机硬件地址对应的逻辑通道上的数据传输的具体方式为:
[0171]在所述每个虚拟机硬件地址对应的逻辑通道上,暂停所述每个虚拟机的队列优先级标识对应的数据的传输。
[0172]作为一个可选的实施例,所述至少一个虚拟机的信息为一个虚拟机的虚拟机硬件地址,所述虚拟机硬件地址不是所述暂停消息的源硬件地址或者目的硬件地址;处理器601根据所述暂停信息获取所述至少一个虚拟机中每个虚拟机的虚拟机硬件地址的具体方式为:
[0173]从所述暂停信息中直接获取所述一个虚拟机的虚拟机硬件地址。
[0174]作为一个可选的实施例,所述至少一个虚拟机的信息为至少一个虚拟机的虚拟机标识;处理器601根据所述暂停信息获取所述至少一个虚拟机中每个虚拟机的虚拟机硬件地址的具体方式为:
[0175]根据所述至少一个虚拟机的虚拟机标识,以及所述虚拟机配置信息,获取所述至少一个虚拟机中每个虚拟机的虚拟机硬件地址。
[0176]作为一个可选的实施例,处理器601还用于调用存储器602存储的程序代码执行以下步骤:
[0177]建立暂停信息表,其中,其中,所述暂停信息表的每个表项至少包括虚拟机硬件地址;
[0178]在所述暂停信息表为所述至少一个虚拟机中每个虚拟机的虚拟机硬件地址添加表项;
[0179]在每个添加的所述表项中设置暂停定时器以及暂停标记;
[0180]开启所述每个添加的表项中的暂停定时器,以分别对暂停所述每个虚拟机硬件地址对应的逻辑通道上的数据传输的操作计时。
[0181]作为一个可选的实施例,处理器601根据所述暂停消息暂停所述每个虚拟机硬件地址对应的逻辑通道上的数据传输之后,还用于调用存储器602存储
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1