The invention discloses an instruction data processing method of virtual environment based on virtual machine instruction includes: receiving data transmitted; the instruction data stored in the first memory sharing; judging whether the first shared memory storage whether instruction data satisfies a predetermined condition; if the full foot, calling on the instruction data processing thread the first shared memory storage processing. Therefore, the existing technology has been polling shared memory processing thread mode, in this scheme is required after a shared instruction data in memory to satisfy the predetermined condition, will trigger processing threads to process the command data, to ensure the system performance based on the reduced CPU overhead, thus avoiding system Caton the phenomenon that increases the user experience; the invention also discloses a command data processing device virtualization based on the environment, also can realize the technical effect.
【技术实现步骤摘要】
一种基于虚拟化环境的指令数据处理方法及装置
本专利技术涉及数据处理
,更具体地说,涉及一种基于虚拟化环境的指令数据处理方法及装置。
技术介绍
随着服务器和网络的发展,桌面虚拟化技术的应用越来越广泛,但是,在推广过程中,虚拟化技术也带来了新的问题。大量办公环境和娱乐场所都需要用到3D的软件,无论是设计行业的Autocad,Solidworks还是娱乐游戏的CS、Dota2等都是3D软件,3D软件都离不开3D渲染技术,渲染可以有多种方法实现,但是实现后,要让3D软件运行时达到同等配置个人电脑的效果是比较困难的。当前3D渲染,在虚拟机内使用的都是OpenGL,OpenGL在绘图时有大量的函数调用,这些函数有如下两种:①只需要执行完成,无返回值的。②执行完成后,需要得到返回值的。这些作为指令的OpenGL函数和参数会被虚拟机内的应用程序打包为消息,写入到共享内存,然后宿主机的Host_Render进程从共享内存读取消息,解释后让显卡硬件处理这些指令和参数。如果有返回值,宿主机的Host_Render进程将函数返回值写回共享内存。最后Qemu会从共享内存读取返回值,返回给OpenGL。在该过程中,中断通知的时间远大于函数本身的执行,例如函数执行只需要1ms,中断可能需要50甚至更多倍的时间,不能很好的控制包的粒度,即不能确定数据什么时候发往Host-Render,这样,Host_Render进程需要一直通过轮询的方法来确认是否有消息写入了共享内存,同样虚拟机内部的应用程序也需要一直通过轮询的方式来确认共享内容中是否存在处理结果。这样两边都轮询的方式对cpu浪费 ...
【技术保护点】
一种基于虚拟化环境的指令数据处理方法,其特征在于,包括:接收虚拟机发送的指令数据;将所述指令数据存入第一共享内存;判断所述第一共享内存存储的指令数据是否满足预定条件;若满足,则调用处理线程对所述第一共享内存存储的指令数据进行处理。
【技术特征摘要】
1.一种基于虚拟化环境的指令数据处理方法,其特征在于,包括:接收虚拟机发送的指令数据;将所述指令数据存入第一共享内存;判断所述第一共享内存存储的指令数据是否满足预定条件;若满足,则调用处理线程对所述第一共享内存存储的指令数据进行处理。2.根据权利要求1所述的指令数据处理方法,其特征在于,所述判断所述第一共享内存存储的指令数据是否满足预定条件,若满足,则调用处理线程对所述第一共享内存存储的指令数据进行处理,包括:判断所述第一共享内存存储的指令数据的数量是否超过第一预定阈值;若是,则调用处理线程对所述第一共享内存存储的指令数据进行处理。3.根据权利要求1所述的指令数据处理方法,其特征在于,所述判断所述第一共享内存存储的指令数据是否满足预定条件,若满足,则调用处理线程对所述第一共享内存存储的指令数据进行处理,包括:判断所述第一共享内存中,是否存在需要返回值的指令数据;若是,则调用处理线程对所述第一共享内存存储的指令数据进行处理。4.根据权利要求1所述的指令数据处理方法,其特征在于,所述判断所述第一共享内存存储的指令数据是否满足预定条件,若满足,则调用处理线程对所述第一共享内存存储的指令数据进行处理,包括:判断所述第一共享内存中所有指令数据的总数据量是否超过第二预定阈值;若是,则调用处理线程对所述第一共享内存存储的指令数据进行处理。5.根据权利要求1所述的指令数据处理方法,其特征在于,所述判断所述第一共享内存存储的指令数据是否满足预定条件,若满足,则调用处理线程对所述第一共享内存存储的指令数据进行处理,包括:确定所述第一共享内存存储的指令数据中的最长存储时长;判断所述最长存储时长是否超过第三预定阈值;若是,则调用处理线程对所述第一共享内存存储的指令数据进行处理。6.根据权利要求1-5中任意一项所述的指令数据处理方法,其特征在于,所述调用处理线程对所述第一共享内存存储的指令数据进行处理,包括:通过中断加速机制触发第一处理线程读取所述第一共享内存中存储的指令数据,并通过所述第一处理线程调用显卡硬件执行所述第一共享内存中的指令数据。7.根据权利要求6所述的指令数据处理方法,其特征在于,所述通过中断加速机制触发第一处理线程读取所述第一共享内存中存储的指令数据之后,还包括:触发第二处理...
【专利技术属性】
技术研发人员:位凯志,练建锋,
申请(专利权)人:深信服科技股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。