虚拟机的tcp数据传输方法和虚拟机系统的制作方法_3

文档序号:9202505阅读:来源:国知局
调整时间值的第一通知消息,例如,Xen型虚拟化平台提供的虚拟机监视器与虚拟机的通信方式为:事件通道机制。或者,另一种较佳的【具体实施方式】为:所述虚拟机监视器通过共享内存方式向所述第一虚拟机发送包含所述第一 TCP调整时间值的第一通知消息,例如,Xen型虚拟化平台提供的共享内存方式为授权表机制。
[0074]步骤503:所述第一虚拟机将自身的TCP重传定时器的超时时间推迟所述第一 TCP调整时间值。
[0075]步骤504:所述第一虚拟机向与所述第一虚拟机进行TCP通信的第二虚拟机发送包含所述第一 TCP调整时间值的第二通知消息。
[0076]在本步骤中,所述第一虚拟机可以采用多种方式向与所述第一虚拟机进行TCP通信的第二虚拟机发送包含所述第一 TCP调整时间值的第二通知消息。一种较佳的【具体实施方式】为:所述第一虚拟机采用套接字方式,向与所述第一虚拟机进行TCP通信的第二虚拟机发送包含所述第一 TCP调整时间值的第二通知消息。
[0077]在本步骤中,一种较佳的【具体实施方式】为:第一虚拟机查询内核的TCP传输控制块,找出与所述第一虚拟机进行TCP通信的全部第二虚拟机,向与所述第一虚拟机进行TCP通信的全部第二虚拟机均发送包含所述第一 TCP调整时间值的第二通知消息。
[0078]步骤505:所述第二虚拟机根据所述第一 TCP调整时间值确定第二 TCP调整时间值。
[0079]在本步骤中,第二虚拟机可以采用多种方式根据所述第一 TCP调整时间值确定第二TCP调整时间值。例如,第二虚拟机可以根据预设的第一 TCP调整时间值与第二 TCP调整时间值的对应关系,确定所述第一 TCP调整时间值对应的第二 TCP调整时间值,或者,还可以采用其它多种方式确定第二 TCP调整时间值。一种较佳的【具体实施方式】为:所述第二虚拟机根据M = N-1/2RTT确定第二 TCP调整时间值,其中,M表示所述第二 TCP调整时间值,N表示所述第一 TCP调整时间值,RTT表示往返时间。
[0080]步骤506:所述第二虚拟机将向所述第一虚拟机发送数据包的时间推迟所述第二TCP调整时间值。
[0081]在本步骤中,所述第二虚拟机可以采用多种方式,将向所述第一虚拟机发送数据包的时间推迟所述第二 TCP调整时间值,其中,一种具体的实现方式为:所述第二虚拟机在自身的TCP传输控制模块中,根据所述第二 TCP调整时间值,调整需要向所述第一虚拟机发送的数据包在发送队列中的位置;或者,另一种具体的实现方式为:所述第二虚拟机在向所述第一虚拟机发送数据包之前添加时间长度为所述第二 TCP调整时间值的时延。
[0082]在本步骤中,一种较佳的实施方式为:第二虚拟机遍历内核中的全部TCP传输控制块,找到与所述第一虚拟机相关的全部TCP连接,把全部TCP连接中向所述第一虚拟机发送数据包的时间均推迟所述第二 TCP调整时间值。
[0083]在本发明实施例五中,通过虚拟机监视器检测第一虚拟机是否正在或在预设时间段内被调度走,若是,虚拟机监视器确定第一 TCP调整时间值并发送给超时的调度定时器对应的第一虚拟机,所述第一虚拟机将自身的TCP重传定时器的超时时间推迟所述第一TCP调整时间值并向与所述第一虚拟机进行TCP通信的第二虚拟机发送包含所述第一 TCP调整时间值的第二通知消息,所述第二虚拟机根据所述第一 TCP调整时间值确定第二 TCP调整时间值并将向所述第一虚拟机发送数据包的时间推迟所述第二 TCP调整时间值,因此在第一虚拟机被调度走后,当第一虚拟机被再次调度时,TCP重传定时器并不超时,从而减少伪超时的发生,第一虚拟机不会重新发送前次发送过的数据包,第二虚拟机在第一虚拟机被调度走时不会重复发送数据包,从而减少网络带宽资源浪费,并且,由于TCP重传定时器并不超时,因此TCP协议栈并不会开启拥塞控制,从而提高网络吞吐量。并且,通过对第一 TCP调整时间值和第二 TCP调整时间值的计算,准确的避免了伪超时的产生。并且,通过事件通道机制或共享内存方式实现了虚拟机监视器向第一虚拟机发送通知消息,通过套接字方式实现了第一虚拟机向第二虚拟机发送通知消息。
[0084]图6为本发明实施例六的虚拟机系统的结构示意图。如图6所示,该虚拟机系统至少包括:虚拟机监视器61、第一虚拟机62和第二虚拟机63。
[0085]其中,所述虚拟机监视器61用于检测第一虚拟机62是否正在或在预设时间段内被调度走,若是,所述虚拟机监视器61确定第一 TCP调整时间值并向所述第一虚拟机62发送包含所述第一 TCP调整时间值的第一通知消息。
[0086]所述第一虚拟机62用于将自身的TCP重传定时器的超时时间推迟所述第一 TCP调整时间值并向与所述第一虚拟机62进行TCP通信的第二虚拟机63发送包含所述第一TCP调整时间值的第二通知消息。
[0087]所述第二虚拟机63用于根据所述第一 TCP调整时间值确定第二 TCP调整时间值并将向所述第一虚拟机62发送数据包的时间推迟所述第二 TCP调整时间值。
[0088]在本发明实施例六中,虚拟机监视器检测第一虚拟机是否正在或在预设时间段内被调度走,若是,虚拟机监视器确定第一 TCP调整时间值并发送给超时的调度定时器对应的第一虚拟机,所述第一虚拟机将自身的TCP重传定时器的超时时间推迟所述第一 TCP调整时间值,因此,在第一虚拟机被调度走后,当第一虚拟机被再次调度时,TCP重传定时器并不超时,从而减少伪超时的发生,第一虚拟机不会重新发送前次发送过的数据包,从而减少网络带宽资源浪费,并且,由于TCP重传定时器并不超时,因此TCP协议栈并不会开启拥塞控制,从而提尚网络吞吐量。
[0089]本发明实施例六的虚拟机系统可以用于执行本发明实施例四所述的虚拟机的TCP数据传输方法,其具体实现过程和技术效果可以参照本发明实施例四,此处不再赘述。
[0090]在上述技术方案的基础上,进一步地,所述虚拟机监视器61具体用于根据N =?&111)-%确定第一 TCP调整时间值;其中,N表示所述第一 TCP调整时间值,F(VHi)表示根据虚拟机监视器61的调度算法确定的下次调度所述第一虚拟机62的时刻,Ntl表示当前时刻。
[0091]在上述技术方案的基础上,进一步地,所述虚拟机监视器61具体用于通过事件通道机制向所述第一虚拟机62发送包含所述第一 TCP调整时间值的第一通知消息;或者,所述虚拟机监视器61具体用于通过共享内存方式向所述第一虚拟机62发送包含所述第一TCP调整时间值的第一通知消息。
[0092]在上述技术方案的基础上,进一步地,所述第一虚拟机62具体用于采用套接字方式,向与所述第一虚拟机62进行TCP通信的第二虚拟机63发送包含所述第一 TCP调整时间值的第二通知消息。
[0093]在上述技术方案的基础上,进一步地,所述第二虚拟机63具体用于根据M =N-1/2RTT确定第二 TCP调整时间值,其中,M表示所述第二 TCP调整时间值,N表示所述第一 TCP调整时间值,RTT表示往返时间;所述第二虚拟机63具体用于在自身的TCP传输控制模块中,根据所述第二 TCP调整时间值,调整需要向所述第一虚拟机62发送的数据包在发送队列中的位置;或者,所述第二虚拟机63具体用于在向所述第一虚拟机62发送数据包之前添加时间长度为所述第二 TCP调整时间值的时延。
[0094]图7为本发明实施例七的虚拟机监视器的结构示意图。如图7所示,该虚拟机监视器至少包括:调度检测模块71、第一时间值模块72和第一通知模块73。
[0095]其中,所述调度检测模块71用于检测第一虚拟机是否正在或在预设时间段内被调度走,若是,触发所述第一时间值模块72。
[0096]所述第一时间值模块72用于在所述第一虚拟机的调度定时器超时确定第一 TCP调整时间值并发送给第一通知模块73。
[0097]所述第一通知模块73用于向所述第一虚拟机发送包含所述第一 TCP调整时间值的第一通知消息,以使所述第一虚拟机将自身的TCP重传定时器的超时时间推迟所述第一TCP调整时间值并向与所述第一虚拟机进行TCP通信的第二虚拟机发送包含所述第一 TCP调整时间值的第二通知消息。
[0098]本发明实施例七的虚拟机监视器可以用于执行本发明实施例一所述的虚拟机的TCP数据传输方法,其具体实现过程和技术效果可以参照本发明实施例一,此处不再赘述。
[0099]在上述技术方案的基础上,进一步地,所述第一时间值模块72具体用于根据N =?&111)-%确定第一 TCP调整时间值;其中,N表示所述第一 TCP调整时间值,F(VHi)表示根据虚拟机监视器的调度算法确定的下次调度所述第一虚拟机的时刻,Ntl表示当前时刻。
[0100]在上述技术方案的基础上,进一步地,所述第一通知模块73具体用于通过事件通道机制向所述第一虚拟机发送包含所述第一 TCP调整时间值的第一通知消息;或者,所述第一通知模块73具体用于通过共享内存方式向所述第一虚拟机发送包含所述第一 TCP调整时间值的第一通知消息。
[0101]图8为本发明实施例八的虚拟机的结构示意图。该虚拟机作为第一虚拟机,如图8所示,该虚拟机至少包括:TCP模块81和第二通知模块82。
[0102]其中,所述TCP模块81用于接收来自虚拟机监视器的包含第一 TCP调整时间值的第一通知消息并将自身的TCP重传定时器的超时时间推迟所述第一 TCP调整时间值。
[0103]所述第二通知模块82用于接收来自虚拟机监视器的包含第一 TCP调整时间值的第一通知消息并向与所述第一虚拟机进行TCP通信的第二虚拟机发送包含所述第一 TCP调整时间值的第二通知消息,以使所述第二虚拟机根据所述第一 TCP调整时间值确定第二TCP调整时间值并将向所述第一虚拟机发送数据包的时
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1