【技术实现步骤摘要】
一种消息处理方法及装置
本申请涉及网络
,尤其涉及一种消息处理方法及装置。
技术介绍
在云计算的虚拟化场景下,虚拟机的性能一直是服务提供商以及租户关注的焦点,尤其是虚拟I/O(VirtualI/O,virtio)的性能。最初的全虚拟化(fullvirtualization)使用纯软件的方法去模拟物理I/O设备,使客户机的操作系统不感知I/O设备的变化。这样,操作系统不需要任何的修改,但纯软件的方法涉及到复杂的指令转换,导致I/O性能较差。为此,半虚拟化(paravirtualization)的方式被提出,例如,现在获得广泛应用的虚拟I/O技术。虚拟I/O通过在前端驱动(客户机)和后端驱动(宿主机)之间共享队列,来交换数据,从而能够大幅减少原来在全虚拟化下复杂的指令转换,进而提升I/O性能。图1为一种典型的虚拟I/O架构图。在客户机1(guest1)1061至客户机N(guestN)106N中,每台客户机都存在一个独立的前端驱动(virtio-net)107,每个前端驱动107通过虚拟化层(hypervisor) ...
【技术保护点】
1.一种消息处理方法,其特征在于,包括:/n控制面接收第一消息;/n所述控制面确定所述第一消息为状态变量修改消息,缓存所述第一消息;/n所述控制面接收来自备数据面的第二消息,所述第二消息用于请求获取所述控制面缓存的消息;/n所述控制面向所述备数据面发送所述第一消息。/n
【技术特征摘要】
1.一种消息处理方法,其特征在于,包括:
控制面接收第一消息;
所述控制面确定所述第一消息为状态变量修改消息,缓存所述第一消息;
所述控制面接收来自备数据面的第二消息,所述第二消息用于请求获取所述控制面缓存的消息;
所述控制面向所述备数据面发送所述第一消息。
2.如权利要求1所述的方法,其特征在于,所述控制面确定所述第一消息为状态变量修改消息,缓存所述第一消息,包括:
所述控制面确定所述第一消息来自前端驱动且为与所述前端驱动相关的状态变量修改消息,缓存所述第一消息。
3.如权利要求2所述的方法,其特征在于,所述控制面确定所述第一消息来自前端驱动且为与所述前端驱动相关的状态变量修改消息,缓存所述第一消息,包括:
所述控制面确定所述第一消息为第k+1次修改第一状态变量的消息,则缓存所述第k+1次修改第一状态变量的消息且删除已缓存的第k次修改第一状态变量的消息,其中,所述第一状态变量为任意一个与所述前端驱动相关的状态变量,k为正整数。
4.如权利要求1-3任一项所述的方法,其特征在于,还包括:
所述控制面接收来自所述备数据面的第三消息,所述第三消息用于请求获取与管理面相关的状态变量修改消息;所述第三消息携带用于指示所述备数据面的标识;
所述控制面将所述第三消息转发至所述管理面,并接收来自所述管理面的第四消息,所述第四消息包括与所述管理面相关的状态变量修改消息和所述用于指示所述备数据面的标识;
所述控制面基于所述第四消息中包括的所述用于指示所述备数据面的标识,将所述第四消息转发至所述备数据面。
5.如权利要求4所述的方法,其特征在于,所述第二消息携带所述用于指示所述备数据面的标识;
所述控制面向所述备数据面发送所述第一消息,包括:
所述控制面基于所述第二消息中包括的所述用于指示所述备数据面的标识向所述备数据面发送所述第一消息。
6.如权利要求4或5所述的方法,其特征在于,所述用于指示所述备数据面的标识为所述备数据面对应的进程标识符或所述备数据面对应的文件描述符。
7.如权利要求1-6任一项所述的方法,其特征在于,还包括:
若所述控制面确定所述第一消息来自所述管理面,则将所述第一消息放入第一队列;
若所述控制面确定所述第一消息来自所述前端驱动,则将所述第一消息放入第二队列;
其中,所述第一队列和所述第二队列均为所述控制面向主数据面转发的消息所在的队列;所述第一队列的转发优先级高于所述第二队列的转发优先级。
8.如权利要求7所述的方法,其特征在于,还包括:
若所述控制面确定所述第一消息来自所述前端驱动,所述控制面向所述备数据面和主数据面分别发送所述第一消息;
所述控制面接收来自所述备数据面的针对所述第一消息的第一回复消息,以及接收来自所述主数据面的针对所述第一消息的第二回复消息;
若所述控制面确定所述第一回复消息和第二回复消息的内容相同,则将所述第一回复消息和所述第二回复消息中的任一回复消息发送至所述前端驱动;
若所述控制面确定所述第一回复消息和第二回复消息的内容不同,则将所述第二回复消息发送至所述前端驱动,所述控制面确定所述备数据面替换所述主数据面失败。
9.一种消息处理装置,...
【专利技术属性】
技术研发人员:欧阳长春,曹水,方文坚,赵宇粟,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。