一种图形数据的处理方法、装置及系统的制作方法

文档序号:8361181阅读:216来源:国知局
一种图形数据的处理方法、装置及系统的制作方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种图形数据的处理方法、装置及系统。
【背景技术】
[0002]GPU (Graphic processing Unit,图形处理器单元)是一种可在个人电脑、工作站、游戏机或移动设备(如智能手机、平板电脑等)中进行图形运算的微处理器,GPU主要进行浮点运算和并行计算,GPU虚拟化技术指让运行在数据中心服务器上的虚拟机实例共享使用同一块或多块GPU处理器进行图形运算的技术。
[0003]在GPU虚拟化中,瘦终端负责鼠标键盘的输入和显示的输出,瘦终端可远程访问虚拟桌面,虚拟桌面可获取到图形处理指令,虚拟桌面与GPU虚拟渲染服务器建立网络连接,虚拟桌面创建一块内存区域,用于指令数据打包,GPU虚拟渲染服务器也创建一块内存区域,用于指令数据拆包。虚拟桌面将图形处理指令进行打包得到指令数据包,指令数据包通过网络发送到GPU虚拟渲染服务器,GPU虚拟渲染服务器对指令数据包进行拆包并进行处理,处理完成后再将返回数据通过网络发送给虚拟桌面。
[0004]而对于3D (Three Dimens1ns,三维)应用程序,例如在制图或建模操作过程中,会产生大量的顶点数据及画顶点指令等图形处理指令,图形处理指令在虚拟桌面与GPU虚拟渲染服务器之间传输,需要进行建立网络连接、创建内存区域、逐层封装消息头以打包指令数据、逐层拆分消息头以拆包指令数据等操作,且GPU虚拟渲染服务器对图形处理指令进行渲染后得到的数据,还需通过网络传输到虚拟桌面,所有的图像处理指令、渲染处理后得到的数据都需要在虚拟桌面与GPU虚拟渲染服务器之间建立网络传输通道并进行传输,产生了大量传输时延,使得图形渲染的实时响应速度缓慢,降低了图形处理性能,增加了传输通道的带宽。

【发明内容】

[0005]本发明实施例提供一种图形数据的处理方方法、装置及系统,用于解决现有技术中所有的图像处理指令、渲染处理后得到的数据都需要在虚拟桌面与GPU虚拟渲染服务器之间建立网络传输通道并进行传输,产生大量传输时延,图形渲染的实时响应速度缓慢,图形处理性能低,传输通道的带宽增加的技术问题。
[0006]本发明实施例第一方面提供了一种图形数据的处理方法,包括:
[0007]虚拟渲染服务器接收所述虚拟客户端进程发送的图形指令数据的存储地址信息;
[0008]所述虚拟渲染服务器根据所述图形指令数据的存储地址信息从共享内存中获取所述图形指令数据,所述共享内存为所述虚拟客户端进程与所述虚拟渲染服务器协商创建的内存;
[0009]所述虚拟渲染服务器对所述获取到的图形指令数据进行渲染处理,得到目标显示数据,并将所述目标显示数据发送给所述虚拟客户端进程。
[0010]在第一方面的第一种可能的实现方式中,所述虚拟渲染服务器与所述虚拟客户端进程为运行在同一物理机上的虚拟机;
[0011]所述虚拟渲染服务器接收所述虚拟客户端进程发送的图形指令数据对应的存储地址信息之前,包括:
[0012]所述虚拟渲染服务器与所述虚拟客户端进程协商在所述物理机创建所述共享内存,并生成所述共享内存的映射地址;
[0013]所述虚拟渲染服务器根据所述图形指令数据的存储地址信息从共享内存中获取所述图形指令数据包括:
[0014]所述虚拟渲染服务器根据所述共享内存的映射地址访问所述共享内存。
[0015]结合第一方面的第一种可能实现方式,在第一方面的第二种可能的实现方式中,所述虚拟渲染服务器与所述虚拟客户端进程协商在所述物理机创建所述共享内存,并生成所述共享内存的映射地址包括:
[0016]所述虚拟渲染服务器获取所述共享内存的系统地址;
[0017]所述虚拟渲染服务器将所述获取到的所述共享内存的系统地址映射到虚拟渲染服务器的进程地址空间,得到所述共享内存的映射地址。
[0018]在第一方面的第三种可能的实现方式中,所述将所述目标显示数据发送给所述虚拟客户端包括:
[0019]所述虚拟渲染服务器将所述目标显示数据存储到所述共享内存中,并生成所述目标显示数据的存储地址信息;
[0020]所述虚拟渲染服务器向所述虚拟客户端进程发送所述目标显示数据的存储地址信息,以使所述虚拟客户端进程根据所述目标显示数据的存储地址信息从所述共享内存中获取所述目标显示数据。
[0021]本发明实施例第二方面提供了一种图形数据的处理方法,包括:
[0022]虚拟渲染服务器获取虚拟客户端进程发送的图形指令数据,并对所述图形指令数据进行渲染处理,得到目标显示数据;
[0023]所述虚拟渲染服务器将所述目标显示数据存储到共享内存中,并生成所述目标显示数据的存储地址信息,所述共享内存为所述虚拟客户端进程与所述虚拟渲染服务器协商创建的内存;
[0024]所述虚拟渲染服务器向所述虚拟客户端进程发送所述目标显示数据的存储地址信息,以使所述虚拟客户端进程根据所述目标数据的存储地址信息从所述共享内存中获取所述目标显示数据。
[0025]在第二方面的第一种可能的实现方式中,所述虚拟渲染服务器获取虚拟客户端进程发送的图形指令数据包括:
[0026]所述虚拟渲染服务器接收所述虚拟客户端进程发送的图形指令数据的存储地址信息;
[0027]所述虚拟渲染服务器根据所述图形指令数据的存储地址信息从所述共享内存中获取所述图形指令数据。
[0028]在第二方面的第二种可能的实现方式中,所述虚拟渲染服务器与所述虚拟客户端进程为运行在同一物理机上的虚拟机;
[0029]所述虚拟渲染服务器获取虚拟客户端进程发送的图形指令数据之前,包括:
[0030]所述虚拟渲染服务器与所述虚拟客户端进程协商在所述物理机创建所述共享内存,并生成所述共享内存的映射地址;
[0031]所述虚拟渲染服务器根据所述图形指令数据的存储地址信息从共享内存中获取所述图形指令数据包括:
[0032]所述虚拟渲染服务器根据所述共享内存的映射地址访问所述共享内存。
[0033]结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述虚拟渲染服务器与所述虚拟客户端进程协商在所述物理机创建所述共享内存,并生成所述共享内存的映射地址包括:
[0034]所述虚拟渲染服务器获取所述共享内存的系统地址;
[0035]所述虚拟渲染服务器将所述获取到的所述共享内存的系统地址映射到虚拟渲染服务器的进程地址空间,得到所述共享内存的映射地址。
[0036]本发明实施例第三方面提供了一种图形数据的处理方法,包括:
[0037]虚拟客户端进程获取共享内存的映射地址,所述共享内存为所述虚拟客户端进程和虚拟渲染服务器协商创建的内存;
[0038]当获取到图形指令数据时,所述虚拟客户端进程根据所述获取到的共享内存的映射地址将所述获取到的图形指令数据存储到所述共享内存中,以使虚拟渲染服务器从所述共享内存中获取所述图形指令数据进行渲染处理;
[0039]所述虚拟客户端进程获取所述渲染服务器对所述图形指令数据进行进行渲染处理得到的目标显示数据。
[0040]在第三方面的第一种可能实现方式中,所述虚拟客户端进程与所述虚拟渲染服务器为运行在同一物理机上的虚拟机;
[0041]所述虚拟客户端进程获取共享内存的映射地址包括:
[0042]所述虚拟客户端进程与所述虚拟渲染服务器协商在所述物理机创建所述共享内存,并生成所述共享内存的映射地址。
[0043]结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述虚拟客户端进程与所述虚拟渲染服务器协商在所述物理机创建所述共享内存,并生成所述共享内存的映射地址,具体包括:
[0044]所述虚拟客户端进程获取所述共享内存的系统地址;
[0045]所述虚拟客户端进程将所述获取到的所述共享内存的系统地址映射到虚拟客户端进程的进程地址空间,得到所述共享内存的映射地址。
[0046]在第三方面的第三种可能的实现方式中,所述虚拟客户端进程根据所述获取到的共享内存的映射地址将所述获取到的图形指令数据存储到所述共享内存中之后,包括:
[0047]所述虚拟客户端进程生成所述图形指令数据的存储地址信息;
[0048]所述虚拟客户端进程向所述虚拟渲染服务器发送所述图形指令数据的存储地址信息,以使所述虚拟渲染服务器根据所述图形指令数据的存储地址信息从所述共享内存中获取所述图形指令数据进行渲染处理。
[0049]在第三方面的第四种可能的实现方式中,所述虚拟客户端进程获取所述渲染服务器对所述图形指令数据进行渲染处理得到的目标显示数据,包括:
[0050]所述虚拟客户端进程接收所述虚拟渲染服务器发送的目标显示数据的存储地址信息,所述目标显示数据的存储地址信息为所述虚拟渲染服务器将所述目标显示数据存储到所述共享内存中生成的所述目标显示数据的存储地址信息;
[0051]所述虚拟客户端进程根据所述目标显示数据的存储地址信息从所述共享内存中获取到所述目标显示数据。
[0052]本发明实施例第四方面提供了一种图形数据的处理方法,包括:
[0053]虚拟客户端进程将图形指令数据发送给虚拟渲染服务器,以使所述虚拟渲染服务器对所述图形指令数据进行渲染得到目标显示数据;
[0054]所述虚拟客户端进程接收虚拟渲染服务器发送的目标显示数据的存储地址信息;
[0055]所述虚拟客户端进程根据所述目标显示数据的存储地址信息从共享内存中获取所述目标显示数据,所述共享内存为所述虚拟客户端进程与所述虚拟渲染服务器协商创建的内存。
[0056]在第四方面的第一种可能的实现方式中,所述虚拟客户端进程将图形指令数据发送给虚拟渲染服务器,包括
[0057]所述虚拟客户端进程获取所述共享内存的映射地址;
[0058]当获取到图形指令数据时,所述虚拟客户端进程根据所述获取到的共享内存的映射地址将所述获取到的图形指令数据存储到所述共享内存中,以使所述虚拟渲染服务器从所述共享内存中获取所述图形指令数据进行渲染处理。
[0059]结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述虚拟客户端进程与所述虚拟渲染服务器为运行在同一物理机上的虚拟机;
[0060]所述虚拟客户端进程将图形指令数据发送给虚拟渲染服务器之前,包括:
[0061]所述虚拟客户端进程与所述虚拟渲染服务器协商在所述物理机创建所述共享内存,并生成所述共享内存的映射地址。
[0062]结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述虚拟客户端进程与所述虚拟渲染服务器协商在所述物理机创建所述共享内存,并生成所述共享内存的映射地址,包括:
[0063]所述虚拟客户端进程获取所述共享内存的系统地址;
[0064]所述虚拟客户端进程将所述获取到的所述共享内存的系统地址映射到虚拟客户端进程的进程地址空间,得到共享内存的映射地址。
[0065]在第四方面的第四种可能的实现方式中,所述虚拟客户端进程根据所述获取到的共享内存的映射地址将所述获取到的图形指令数据存储到所述共享内存中之后,包括:
[0066]所述虚拟客户端进程生成所述图形指令数据的存储地址信息;
[0067]所述虚拟客户端进程向所述虚拟渲染服务器发送所述图形指令数据的存储地址信息,以使所述虚拟渲染服务器根据所述图形指令数据的存储地址信息从所述共享内存中获取所述图形指令数据进行渲染处理。
[0068]本发明实施例第五方面提供了一种图形数据的处理装置,所述装置包括:
[0069]所述装置包括:虚拟渲染服务器;所述虚拟渲染服务器包括:指令地址接收模块、指令数据获取模块和数据处理模块;
[0070]所述指令地址接收模块,用于接收所述虚拟客户端进程发送的图形指令数据的存储地址信息;
[0071 ] 所述指令数据获取模块,用于根据所述指令地址接收模块接收到的图形指令数据的存储地址信息从共享内存中获取所述图形指令数据,所述共享内存为所述虚拟客户端进程与所述虚拟渲染服务器协商创建的内存;
[0072]所述数据处理模块,用于对所述指令数据获取模块获取到的图形指令数据进行渲染处理,得到目标显示数据,并将所述目标显示数据发送给所述虚拟客户端进程。
[0073]在第五方面的第一种可能的实现方式中,所述虚拟渲染服务器与所述虚拟客户端进程为运行在同一物理机上的虚拟机;
[0074]所述虚拟渲染服务器还包括:
[0075]创建模块,用于与所述虚拟客户端进程协商在所述物理机创建所述共享内存,并生成所述共享内存的映射地址;
[0076]所述指令数据获取模块具体用于:根据所述共享内存的映射地址访问所述共享内存。
[0077]结合第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述创建模块包括:
[0078]系统地址获取单元,用于获取所述共享内存的系统地址;
[0079]映射单元,用于将所述系统地址获取单元获取到的所述共享内存的系统地址映射到虚拟渲染服务器的进程地址空间,得到所述共享内存的映射地址。
[0080]在第五方面的第三种可能的实现方式中,所述数据处理模块包括:
[0081 ]目标数据存储单元,用于将所述目标显示数据存储到所述共享内存中,并生成所述目标显示数据的存储地址信息;
[0082]目标数据地址发送单元,用于向所述虚拟客户端进程发送所述目标显示数据的存储地址信息,以使所述虚拟客户端进程根据所述目标显示数据的存储地址信息从所述共享内存中获取所述目标显示数据。
[0083]本发明实施例第六方面提供了一种图形数据的处理装置,所述装置包括:虚拟渲染服务器;所述虚拟渲染服务器包括:指令数据处理模块、目标数据处理模块和目标数据地址发送模块;
[0084]所述指令数据处理模块,用于获取虚拟客户端进程发送的图形指令数据,并对所述图形指令数据进行渲染处理,得到目标显示数据;
[0085]所述目标数据处理模块,用于将所述指令数据处理模块处理得到的目标显示数据存储到共享内存中,并生成所述目标显示数据的存储地址信息,所述共享内存为所述虚拟客户端进程与所述虚拟渲染服务器协商创建的内存;
[0086]所述目标数据地址发送模块,用于向所述虚拟客户端进程发送所述目标数据处理模块生成的目标显示数据的存储地址信息,以使所述虚拟客户端进程根据所述目标数据的存储地址信息从所述共享内存中获取所述目标显示数据。
[0087]在第六方面的第一种可能的实现方式中,所述指令数据处理模块包括:
[0088]指令地址接收单元,用于接收所述虚拟客户端进程发送的图形指令数据的存储地址信息;
[0089]指令数据获取单元,用于根据所述指令地址接收单元接收到的图形指令数据的存储地址信息从所述共享内存中获取所述图形指令数据。
[0090]结合第六方面的第一种可能的实现方式,在第六方面的第二种可能的实现方式中,所述虚拟渲染服务器与所述虚拟客户端进程为运行在同一物理机上的虚拟机;
[0091 ] 所述虚拟渲染服务器还包括:
[0092]创建模块,用于与所述虚拟客户端进程协商在所述物理机创建所述共享内存,并生成所述共享内存的映射地址;
[0093]所述指令数据获取单元具体用于:根据所述共享内存的映射地址访问所述共享内存。
[0094]结合第六方面的第二种可能的实现方式,在第六方面的第三种可能的实现方式中,所述创建模块包括:
[0095]系统地址获取单元,用于获取所述共享内存的系统地址;
[0096]映射单元,用于将所述系统地址获取单元获取到的所述共享内存的系统地址映射到虚拟渲染服务器的进程地址空间,得到所述共享内存的映射地址。
[0097]本发明实施例第七方面提供了一种图形数据的处理装置,所述装置包括:虚拟客户端进程;所述虚拟客户端进程包括:共享内存地址获取模块、指令数据存储模块和目标数据获取模块;
[0098]所述共享内存地址获取模块,用于获取共享内存的映射地址,所述共享内存为所述虚拟客户端进程和虚拟渲染服务器协商创建的内存;
[0099]所述指令数据存储模块,用于当获取到图形指令数据时,根据所述共享内存地址获取模块获取到的共享内存的映射地址将所述获取到的图形指令数据存储到所述共享内存中,以使虚拟渲染服务器从所述共享内存中获取所述图形指令数据进行渲染处理;
[0100]所述目标数据获取模块,用于获取所述渲染服务器对所述图形指令数据进行进行渲染处理得到的目标显示数据。
[0101]在第七方面的第一种可能的实现方式中,所述虚拟客户端进程与所述虚拟渲染服务器为运行在同一物理机上的虚拟机;
[0102]所述装置还包括:
[0103]创建模块,用于与所述虚拟渲染服务器协商在所述物理机创建所述共享内存,并生成所述共享内存的映射地址。
[0104]结合第七方面的第一种可能的实现方式,在第七方面的第二种可能的实现方式中,所述创建模块包括:
[0105]系统地址获取单元,用于获取所述共享内存的系统地址;
[0106]映射单元,用于将所述系统地址获取单元获取到的所述共享内存的系统地址映射到虚拟客户端进程的进程地址空间,得到所述共享内存的映射地址。
[0107]在第七方面的第三种可能的实现方式中,所述虚拟客户端进程还包括:
[0108]指令地址生成模块,用于生成所述图形指令数据的存储地址信息;
[0109]指令地址发送模块,用于向所述虚拟渲染服务器发送所述指令地址生成模块生成的图形指令数据的存储地址信息,以使所述虚拟渲染服务器根据所述图形指令数据的存储地址信息从所述共享内存中获取所述图形指令数据进行渲染处理。
[0110]在第七方面的第四种可能的实现方式中,所述目标数据获取模块包括:
[0111]数据地址接收单元,用于接收所述虚拟渲染服务器发送的目标显示数据的存储地址信息,所述目标显示数据的存储地址信息为所述虚拟渲染服务器将所述目标显示数据存储到所述共享内存中生成的所述目标显示数据的存储地址信息;
[0112]目标数据获取单元,用于根据所述数据地址接收单元接收到的目标显示数据的存储地址信息从所述共享内存中获取到所述目标显示数据。
[0113]本发明实施例第八方面提供了一种图形数据的处理装置,所述装置包括:虚拟客户端进程;所述虚拟客户端进程包括:指令数据发送模块、目标数据地址接收模块和目标数据获取模块;
[0114]所述指令数据发送模块,用于将图形指令数据发送给虚拟渲染服务器,以使所述虚拟渲染服务器对所述图形指令数据进行渲染得到目标显示数据;
[0115]所述目标数据地址接收模块,用于接收虚拟渲染服务器发送的目标显示数据的存储地址信息;
[0116]所述目标数据获取模块,用于根据所述目标数据地址接收模块接收到的目标显示数据的存储地址信息从共享内存中获取所述虚拟渲染服务器对所述图形指令数据进行渲染处理得到的目标显示数据,所述共享内存为所述虚拟客户端进程与所述虚拟渲染服务器协商创建的内存。
[0117]在第八方面的第一种可能的实现方式中,所述虚拟客户端进程还包括
[0118]共享内存地址获取模块,用于获取所述共享内存的映射地址;
[0119]指令数据存储模块,用于当获取到图形指令数据时,根据所述共享内存地址获取模块获取到的共享内存的映射地址将所述获取到的图形指令数据存储到所述共享内存中,以使所述虚拟渲染服务器从所述共享内存中获取所述图形指令数据进行渲染处理。
[0120]在第八方面的第二种可能的实现方式中,所述虚拟客户端进程与所述虚拟渲染服务器为运行在同一物理机上的虚拟机;
[0121]所述共享内存地址获取模块具体用于:与所述虚拟渲染服务器协商在所述物理机创建所述共享内存,并生成所述共享内存的映射地址。
[0122]结合第八方面的第二种可能的实现方式,在第八方面的第三种可能的实现方式中,所述共享内存地址获取
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1