System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及虚拟机屏幕截图领域,尤其涉及一种虚拟机屏幕截图方法、装置、系统和介质。
技术介绍
1、目前,如果要获取运行于远程服务器(宿主机)上的一台虚拟机(vm)的屏幕截图,主要依赖vnc协议,先通过vnc协议连接到该虚拟机上,再利用第三方工具如qq,微信,windows自带截图工具等工具进行截图。此方案需要第三方vnc客户端,或者web客户端,以及第三方截图工具,步骤复杂,且需要人参与,无法自动化处理。
2、在实现本专利技术过程中,申请人发现现有技术中至少存在如下问题:
3、宿主机上的虚拟机屏幕截图需要联合使用多种工具,操作复杂,无法支持自动化截图。
技术实现思路
1、本专利技术实施例提供一种虚拟机屏幕截图方法、装置、系统和介质,也是一种基于dma技术的虚拟机屏幕截图方法、装置、系统和介质,解决了宿主机上的虚拟机屏幕截图需要联合使用多种工具,操作复杂,无法支持自动化截图的问题。
2、为达上述目的,第一方面,本专利技术实施例提供一种虚拟机屏幕截图方法,包括:
3、获取指定虚拟机的屏幕对应的内存空间大小,并根据宿主机的虚拟地址与物理地址的映射关系,确定所述指定虚拟机的屏幕对应于宿主机的第一物理内存基地址;所述指定虚拟机为部署在所述宿主机上的至少一个虚拟机中的任意一个;
4、根据所述指定虚拟机的屏幕对应于宿主机的第一物理内存基地址和所述内存空间大小,从所述宿主机的物理内存中获取所述指定虚拟机的屏幕对应的屏幕数据;
6、第二方面,本专利技术实施例提供一种虚拟机屏幕截图装置,包括:
7、屏幕物理存储空间确定单元,用于获取指定虚拟机的屏幕对应的内存空间大小,并根据宿主机的虚拟地址与物理地址的映射关系,确定所述指定虚拟机的屏幕对应于宿主机的第一物理内存基地址;所述指定虚拟机为部署在所述宿主机上的至少一个虚拟机中的任意一个;
8、屏幕数据获取单元,用于根据所述指定虚拟机的屏幕对应于宿主机的第一物理内存基地址和所述内存空间大小,从所述宿主机的物理内存中获取所述指定虚拟机的屏幕对应的屏幕数据;
9、屏幕图片获取单元,用于将所述指定虚拟机的屏幕对应的屏幕数据转换为图片文件。
10、第三方面,本专利技术实施例提供一种虚拟机屏幕截图系统,包括:宿主机、部署于所述宿主机内的至少一个虚拟机、部署于所述宿主机内的如前所述的虚拟机屏幕截图装置和客户端;
11、客户端向宿主机发出针对指定虚拟机的屏幕截图请求;
12、宿主机收到屏幕截图请求,以屏幕截图请求为参数,调用虚拟机屏幕截图装置;
13、所述虚拟机屏幕截图装置,接收针对指定虚拟机的屏幕截图请求,并从所述屏幕截图请求中获取所述指定虚拟机的识别信息,根据所述识别信息在部署于所述宿主机中的至少一个虚拟机中,选定需要截图的所述指定虚拟机;对所述指定虚拟机进行屏幕截图;将所述图片文件封装为所述指定虚拟机的屏幕截图请求对应的屏幕截图响应,并将所述屏幕截图响应返回给所述客户端。
14、第四方面,本专利技术实施例提供一种存储介质,其中存储有多条指令,所述指令适于由处理器加载并执行如前所述的方法。
15、上述技术方案具有如下有益效果:通过直接获取虚拟机的屏幕在宿主机中的物理内存中的显示数据,并将得到的显示数据转换为图片,实现对宿主机中的虚拟机的屏幕进行截图,不再需要通过vnc(virtual network computing是一种基于图形桌面共享技术的远程控制、监视软件)的转换,性能更好,代替了人工通过手动操作第三方截图工具的操作,无需人工操作,也无需多个工具的相互配合,为实现更复杂的自动截图提供支持,例如可以通过在脚本中调用本专利技术实施例实现按预设计划自动截图、周期定时截图等操作。在整个过程中不再需要人工和第三方工具的参与,便于实现自动化,大大提升效率。
本文档来自技高网...【技术保护点】
1.一种虚拟机屏幕截图方法,其特征在于,由宿主机采用,包括:
2.如权利要求1所述的虚拟机屏幕截图方法,其特征在于,在所述获取指定虚拟机的屏幕对应的内存空间大小,并根据宿主机的虚拟地址与物理地址的映射关系,确定所述指定虚拟机的屏幕对应于宿主机的第一物理内存基地址之前,还包括:
3.如权利要求1所述的虚拟机屏幕截图方法,其特征在于,所述获取指定虚拟机的屏幕对应的内存空间大小,并根据宿主机的虚拟地址与物理地址的映射关系,确定所述指定虚拟机的屏幕对应于宿主机的第一物理内存基地址,包括:
4.如权利要求3所述的虚拟机屏幕截图方法,其特征在于,所述根据所述物理内存页序号、所述虚拟内存基地址和所述物理内存页大小,确定所述指定虚拟机对应的进程在宿主机运行的第三物理内存基地址,通过如下公式实现:
5.如权利要求1所述的虚拟机屏幕截图方法,其特征在于,所述将所述指定虚拟机的屏幕对应的屏幕数据转换为图片文件,包括:
6.一种虚拟机屏幕截图装置,其特征在于,包括:
7.如权利要求6所述的虚拟机屏幕截图装置,其特征在于,还包括:
...【技术特征摘要】
1.一种虚拟机屏幕截图方法,其特征在于,由宿主机采用,包括:
2.如权利要求1所述的虚拟机屏幕截图方法,其特征在于,在所述获取指定虚拟机的屏幕对应的内存空间大小,并根据宿主机的虚拟地址与物理地址的映射关系,确定所述指定虚拟机的屏幕对应于宿主机的第一物理内存基地址之前,还包括:
3.如权利要求1所述的虚拟机屏幕截图方法,其特征在于,所述获取指定虚拟机的屏幕对应的内存空间大小,并根据宿主机的虚拟地址与物理地址的映射关系,确定所述指定虚拟机的屏幕对应于宿主机的第一物理内存基地址,包括:
4.如权利要求3所述的虚拟机屏幕截图方法,其特征在于,所述根据所述物理内存页序号、所述虚拟内存基地址和所述物理内存页大小,确定所述指定虚拟机对应的进程在宿主机运行的第三物理内存基地...
【专利技术属性】
技术研发人员:陈孚,邱春武,
申请(专利权)人:新浪技术中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。