[发明专利]进程间通信方法、装置及计算机可读介质有效
申请号: | 201810965667.3 | 申请日: | 2018-08-22 |
公开(公告)号: | CN110858164B | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 王蘅;王霖;张占忠 | 申请(专利权)人: | 成都华为技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 610041 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 进程 通信 方法 装置 计算机 可读 介质 | ||
本申请公开了一种进程间通信方法、装置及计算机可读介质,该方法包括:宿主机在位图中目标客户端对应的目标位写入激活标志;所述目标客户端为虚拟机中所述宿主机待通知的客户端,所述目标位用于指示所述目标客户端为待通知的客户端或指示所述目标客户端不为待通知的客户端;所述宿主机向中断寄存器写入中断命令;所述中断寄存器为所述虚拟机和所述宿主机共用的寄存器,所述中断命令包含中断号,所述中断命令用于指示所述中断号与所述目标位的组合对应的客户端从消息接收队列接收消息。申请实施例中,通过中断号和位图中写有激活标志的比特位的组合指示待通知的客户端,可以大大扩展Ivshmem可支持的客户端的数量,实现简单。
技术领域
本申请涉及计算机技术领域,尤其涉及通信方法、装置及计算机可读介质。
背景技术
随着通信技术的发展,在进行虚拟化或云计算处理时,往往需要在操作系统内的进程间、虚拟机/容器与虚拟机之间以及虚拟机/容器与宿主机之间进行进程间通信。进程是装入内存并独立执行的程序,每个进程都有自己的私有进程空间,对其他进程是不可见的。而进程间通信就是让独立的进程间传输控制信息,或与其他进程交换数据的机制。共享内存虚拟设备(IV share memory,Ivshmem)是虚拟机内部共享内存的外设部件互连标准(Peripheral Component Interconnect,PCI)设备。虚拟机之间实现内存共享是把内存映射成虚拟机内进程的PCI设备来实现的。
虚拟机与宿主机之间进行进程间通信主要是通过Ivshmem提供的中断机制实现的,通过宿主机的用户态跨越虚拟机内核态通知虚拟机用户态进程。宿主机向虚拟机通信,即宿主机内的进程想要正确地唤醒虚拟机内的进程(客户端),就必须要通过识别中断的方式来区分消息需要发送给哪个虚拟机的进程(客户端)。然而,Ivshmem仅支持64个中断,意味着仅凭借Ivshmem的特性,虚拟机的客户端只能够有64个。随着虚拟化技术的发展,虚拟机中的客户端的数量越来越多,64个中断远远不能满足需求。因此,需要研究如何解决Ivshmem支持的客户端的数量受限的问题。
发明内容
本申请提供了一种进程间的通信方法、装置及计算机可读介质,用于解决Ivshmem支持的客户端的数量受限的问题。
第一方面本申请提供了一种进程间通信方法,该方法包括:
宿主机在位图中目标客户端对应的目标位写入激活标志;所述目标客户端为虚拟机中所述宿主机待通知的客户端,所述目标位用于指示所述目标客户端为待通知的客户端或指示所述目标客户端不为待通知的客户端;
所述宿主机向中断寄存器写入中断命令;所述中断寄存器为所述虚拟机和所述宿主机共用的寄存器,所述中断命令包含中断号,所述中断命令用于指示所述中断号与所述目标位的组合对应的客户端从消息接收队列接收消息。
上述宿主机和上述虚拟机运行在同一个进程间通信装置中,该进程间通信装置可以是服务器、台式电脑、笔记本电脑、手机等运行有宿主机程序和虚拟机程序的装置。本申请实施例的执行主体为进程间通信装置。可选的,所述宿主机和所述虚拟机共享内存。所述位图位于共享内存。也就是说,所述进程间通信装置中的任意进程或可访问共享内存的进程均可以访问所述位图。Ivshmem是虚拟机内部共享内存的PCI设备,虚拟机与宿主机的通信主要是通过Ivshmem提供的中断机制实现的。然而,Ivshmem仅支持64个中断,每个中断对应一个中断号,每个中断号对应一个虚拟机内的客户端(进程),意味着仅凭借Ivshmem的特性,虚拟机内的客户端只能够有64个。所述位图包含至少两个比特。通过所述中断号与所述位图的组合可以成倍的扩展Ivshmem可支持的客户端的数量。举例来说,Ivshmem支持64个中断,位图包含64比特,1个中断和该位图中1个比特的组合对应一个客户端,这样中断和位图的组合就对应64×64个客户端。
本申请实施例中,通过中断号和位图中写有激活标志的比特位的组合指示待通知的客户端,可以大大扩展Ivshmem可支持的客户端的数量,实现简单。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都华为技术有限公司,未经成都华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810965667.3/2.html,转载请声明来源钻瓜专利网。