虚拟机串口的通信方法及装置制造方法及图纸

技术编号:10519106 阅读:114 留言:0更新日期:2014-10-08 17:13
本发明专利技术公开一种虚拟机串口的通信方法及装置,通过虚拟机各串口对应的串口代理程序及虚拟机运行的物理主机对应的主机代理程序实现虚拟机的串口通信。本发明专利技术实施例虚拟机之间的串口通信通过代理程序来实现,相较于现有技术中,虚拟机串口间通过socket、管道、文件等方式进行通信,本发明专利技术实施例无需关心串口客户端虚拟机及服务端虚拟机的问题,只需指定与之相连的串口代理程序即可,配置简单、操作便捷,且在物理主机对应的IP地址发生改变时,也丝毫不影响虚拟机之间的通信,提高虚拟机串口通信的便捷性、智能性和易维护性。

【技术实现步骤摘要】
虚拟机串口的通信方法及装置
本专利技术涉及虚拟化技术,尤其涉及一种虚拟机串口的通信方法及装置。
技术介绍
通过虚拟化技术一台物理主机可以虚拟出多台虚拟机,而虚拟机之间并不能使用 数据线连接,但可以让两台虚拟机之间进行串口通信;目前常用的做法是将虚拟机串口重 定向到一个通信管道、socket(插口)、真实串口等;但这种重定向的方式只能选择其中一 个虚拟机作为服务端,另一个虚拟机为客户端,且服务端虚拟机必须先于客户端虚拟机启 动;若客户端先启动,可能启动失败或无法与服务端建立通信;此时必须关闭客户端虚拟 机,按先服务端虚拟机后客户端虚拟机的顺序重启虚拟机才能使用。当需要建立跨物理机 上的虚拟机间串口通信时,需要指定物理机的IP地址;一旦物理机的IP地址发生变化则上 述虚拟机之间将无法建立连接。且上述实现方式对于动态获取IP地址的物理机来说基本 不可用。 因此可见,虚拟机之间直接重定向串口的通信方案配置困难,可用性很差;且跨物 理主机的虚拟机之间进行串口通信时需要指定主机的IP地址,一旦主机的IP地址更改则 无法进行通信,可维护性差。
技术实现思路
鉴于以上内容,有必要提供一种虚拟机串口的通信方法及装置,使得虚拟机之间 的串口通信无需指定服务端虚拟机和客户端虚拟机且不受物理机IP地址的影响。 本专利技术实施例公开了一种虚拟机串口的通信方法,包括以下步骤: 第一串口代理程序在启动时从对应的配置参数中,识别与所述第一串口通信连接 的第二虚拟机以及所述第二虚拟机所运行的物理主机; 第一串口代理程序接收第一虚拟机操作系统通过第一串口发送的串口数据,根据 识别出的所述第二虚拟机所运行的物理主机,所述第一串口代理程序将串口数据发送至所 述第二虚拟机运行的物理主机的主机代理程序,由所述主机代理程序将接收的所述串口数 据转发至所述第二虚拟机对应的第二串口代理程序; 所述第二串口代理程序将所述串口数据发送至对应的第二串口,供第二虚拟机操 作系统从所述第二串口读取所述串口数据。 优选地,所述根据识别出的所述第二虚拟机所运行的物理主机,所述第一串口代 理程序将串口数据发送至所述第二虚拟机运行的物理主机的主机代理程序,包括: 当识别出所述第二虚拟机与第一虚拟机运行在同一物理主机上时,所述第一串口 代理程序将串口数据发送至同一物理主机对应的所述主机代理程序。 优选地,所述根据识别出的所述第二虚拟机运行的物理主机,所述第一串口代理 程序将串口数据发送至所述第二虚拟机运行的物理主机的主机代理程序,由所述主机代理 程序将接收的所述串口数据转发至所述第二虚拟机对应的第二串口代理程序,包括 : 当识别出所述第二虚拟机与第一虚拟机运行在不同物理主机上时,所述第一串口 代理程序将串口数据发送至所述第一虚拟机运行的第一物理主机对应的第一主机代理程 序; 所述第一主机代理程序接收所述串口数据,将所述串口数据以及包含用于识别所 述第二虚拟机的标识信息转发至所述第二虚拟机运行的第二物理主机对应的第二主机代 理程序; 所述第二主机代理程序根据所述标识信息,将接收的所述串口数据转发至所述第 二虚拟机对应的第二串口代理程序。 优选地,所述第一串口代理程序在启动时从对应的配置参数中,识别与所述第一 串口通信连接的第二虚拟机以及所述第二虚拟机所运行的物理主机,之前还包括 : 响应用户触发的操作指令,启动物理主机对应的主机代理程序,以及所述物理主 机上所述虚拟机各串口分别对应的串口代理程序。 优选地,所述启动物理主机的同时启动对应的所述主机代理程序,启动所述虚拟 机的同时启动对应的所述串口代理程序。 本专利技术实施例还公开一种虚拟机串口的通信装置,所述虚拟机串口的通信装置上 运行有串口代理程序以及主机代理程序; 所述虚拟机串口的通信装置包括: 识别模块,用于在启动第一串口代理程序时,从对应的配置参数中识别与所述第 一串口通信连接的第二虚拟机以及所述第二虚拟机所运行的物理主机; 发送模块,用于: 基于运行的第一串口代理程序,接收第一虚拟机操作系统通过第一串口发送的串 口数据,根据识别出的所述第二虚拟机所运行的物理主机,所述第一串口代理程序将串口 数据发送至所述第二虚拟机运行的物理主机的主机代理程序,由所述主机代理程序将接收 的所述串口数据转发至所述第二虚拟机对应的第二串口代理程序; 基于所述第二串口代理程序将所述串口数据发送至对应的第二串口,供第二虚拟 机操作系统从所述第二串口读取所述串口数据。 优选地,所述发送模块还用于: 当识别出所述第二虚拟机与第一虚拟机运行在同一物理主机上时,基于所述第一 串口代理程序将串口数据发送至同一物理主机对应的所述主机代理程序。 优选地,所述发送模块还用于: 当识别出所述第二虚拟机与第一虚拟机运行在不同物理主机上时,基于所述第一 串口代理程序将串口数据发送至所述第一虚拟机运行的第一物理主机对应的第一主机代 理程序; 基于所述第一主机代理程序,接收所述串口数据,将所述串口数据以及包含用于 识别所述第二虚拟机的标识信息转发至所述第二虚拟机运行的第二物理主机对应的第二 主机代理程序; 基于所述第二主机代理程序,根据所述标识信息,将接收的所述串口数据转发至 所述第二虚拟机对应的第二串口代理程序。 优选地,所述虚拟机串口的通信装置还包括: 启动模块,用于响应用户触发的操作指令,启动物理主机对应的主机代理程序,以 及所述物理主机上所述虚拟机各串口分别对应的串口代理程序。 优选地,所述启动模块还用于: 启动物理主机的同时启动对应的所述主机代理程序,启动所述虚拟机的同时启动 对应的所述串口代理程序。 本专利技术实施例虚拟机之间的串口通信通过代理程序来实现,相较于现有技术中, 虚拟机串口间通过socket、管道、文件等方式进行通信,本专利技术实施例无需关心串口客户端 虚拟机及服务端虚拟机的问题,只需指定与之相连的串口代理程序即可,配置简单、操作便 捷。 【附图说明】 图1是本专利技术虚拟机串口的通信方法第一实施例流程示意图; 图2是本专利技术虚拟机串口的通信方法第一实施例对应的虚拟机运行环境结构示 例图; 图3是本专利技术虚拟机串口的通信方法第二实施例流程示意图; 图4是本专利技术虚拟机串口的通信方法第二实施例对应的串口间通信时序图; 图5是本专利技术虚拟机串口的通信方法第三实施例流程示意图; 图6是本专利技术虚拟串口的通信装置第一实施例功能模块示意图; 图7是本专利技术虚拟串口的通信装置第二实施例功能模块示意图。 本专利技术实施例目的的实现、功能特点及优点将结合实施例,参照附图做进一步说 明。 【具体实施方式】 以下结合说明书附图及具体实施例进一步说明本专利技术的技术方案。应当理解,此 处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。 本专利技术虚拟机串口的通信方法及装置中,所述虚拟机可以理解为通过软件模拟的 具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,且一台高性能 的物理主机上可以虚拟出多台虚拟机。所述虚拟机操作系统可以理解为所述虚拟机运行的 系统,比如Gue本文档来自技高网...
虚拟机串口的通信方法及装置

【技术保护点】
一种虚拟机串口的通信方法,其特征在于,包括以下步骤:第一串口代理程序在启动时,从对应的配置参数中,识别与所述第一串口通信连接的第二虚拟机以及所述第二虚拟机所运行的物理主机;第一串口代理程序接收第一虚拟机操作系统通过第一串口发送的串口数据,根据识别出的所述第二虚拟机所运行的物理主机,所述第一串口代理程序将串口数据发送至所述第二虚拟机运行的物理主机的主机代理程序,由所述主机代理程序将接收的所述串口数据转发至所述第二虚拟机对应的第二串口代理程序;所述第二串口代理程序将所述串口数据发送至对应的第二串口,供第二虚拟机操作系统从所述第二串口读取所述串口数据。

【技术特征摘要】
1. 一种虚拟机串口的通信方法,其特征在于,包括以下步骤: 第一串口代理程序在启动时,从对应的配置参数中,识别与所述第一串口通信连接的 第二虚拟机以及所述第二虚拟机所运行的物理主机; 第一串口代理程序接收第一虚拟机操作系统通过第一串口发送的串口数据,根据识别 出的所述第二虚拟机所运行的物理主机,所述第一串口代理程序将串口数据发送至所述第 二虚拟机运行的物理主机的主机代理程序,由所述主机代理程序将接收的所述串口数据转 发至所述第二虚拟机对应的第二串口代理程序; 所述第二串口代理程序将所述串口数据发送至对应的第二串口,供第二虚拟机操作系 统从所述第二串口读取所述串口数据。2. 如权利要求1所述的方法,其特征在于,所述根据识别出的所述第二虚拟机所运行 的物理主机,所述第一串口代理程序将串口数据发送至所述第二虚拟机运行的物理主机的 主机代理程序,包括: 当识别出所述第二虚拟机与第一虚拟机运行在同一物理主机上时,所述第一串口代理 程序将串口数据发送至同一物理主机对应的所述主机代理程序。3. 如权利要求1所述的方法,其特征在于,所述根据识别出的所述第二虚拟机运行的 物理主机,所述第一串口代理程序将串口数据发送至所述第二虚拟机运行的物理主机的主 机代理程序,由所述主机代理程序将接收的所述串口数据转发至所述第二虚拟机对应的第 二串口代理程序,包括: 当识别出所述第二虚拟机与第一虚拟机运行在不同物理主机上时,所述第一串口代理 程序将所述串口数据发送至所述第一虚拟机运行的第一物理主机对应的第一主机代理程 序; 所述第一主机代理程序接收所述串口数据,将所述串口数据以及包含用于识别所述第 二虚拟机的标识信息转发至所述第二虚拟机运行的第二物理主机对应的第二主机代理程 序; 所述第二主机代理程序根据所述标识信息,将接收的所述串口数据转发至所述第二虚 拟机对应的第二串口代理程序。4. 如权利要求1或2或3所述的方法,其特征在于,所述第一串口代理程序在启动时, 从对应的配置参数中,识别与所述第一串口通信连接的第二虚拟机以及所述第二虚拟机所 运行的物理主机,之前还包括: 响应用户触发的操作指令,启动物理主机对应的主机代理程序,以及所述物理主机上 所述虚拟机各串口分别对应的串口代理程序。5. 如...

【专利技术属性】
技术研发人员:谢鸿钊
申请(专利权)人:深圳市深信服电子科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1