本发明涉及一种vr云服务器容器隔离方法及系统。
背景技术:
1、在现有vr云服务器中,存在云服务器资源利用率低、虚拟环境隔离性差、用户间相互干扰等问题。首先,资源利用率低表现为一台服务器上只能运行一个vr游戏或者只能使用虚拟机方式多开,导致有资源闲置并有性能损耗。其次,虚拟环境隔离性差、用户间相互干扰表现为在同一台服务器上运行相同的vr程序,如果不做特殊处理会在不同用户的vr程序之间错误使用相同的文件和输入输出设备等,从而造成冲突。
2、公开号为cn114567768a的现有技术,公开一种基于vr技术的交互方法、系统,通过基于摄像头采集视频场景图像,并将所述视频场景图像信息发送至vr云服务器;所述视频场景图像信息包括摄像头位置信息以及拍摄画面;vr云服务器接收到所述视频场景图像信息,生成第一请求指令至客户端;所述客户端根据接收到的第一请求指令控制vr视频画面显示方式,并生成确认指令至vr云服务器;所述vr云服务器基于确认指令,生成vr视频画面,并将所述vr视频画面发送至客户端;所述客户端播放vr视频画面。上述方案中仍然存在云服务器资源利用率低、虚拟环境隔离性差、用户间相互干扰等问题。
技术实现思路
1、本发明要解决相关技术中云服务器资源利用率低、虚拟环境隔离性差、用户间相互干扰的问题。
2、针对上述存在的局限性,本发明提出了一种vr云服务器容器隔离方法和系统。
3、一种vr云服务器容器隔离方法,所述方法包括以下步骤:
4、s101:启动vr程序;
5、s102:获取所述vr程序的进程信息或vr接口的调用信息;
6、s103:使用 hook程序从所述进程信息或所述调用信息中识别目标操作并进行拦截,跳转到自定义程序;
7、s104:所述自定义程序根据所述目标操作进行处理;
8、s105:所述自定义程序将处理结果返回所述vr程序。
9、进一步地:所述目标操作为进程信息中的文件读写修改操作、注册表读写修改操作、进程间通信操作;所述目标操作为所述调用信息中的输入设备信号或图像获取操作。
10、进一步地:所述hook程序从所述进程信息中识别到所述目标操作时,
11、拦截所述vr程序的文件读写修改操作、注册表读写修改操作,跳转到所述自定义程序,所述自定义程序使所述文件读写修改操作、所述注册表读写修改操作重定向至自定义文件夹或自定义注册表;
12、或,拦截所述vr程序的进程间通信操作,跳转到所述自定义程序,所述自定义程序使所述进程间通信操作重定向至重命名的进程间对象。
13、进一步地:所述文件读写修改操作包括:创建文件、读取文件、写入文件;
14、所述注册表读写修改操作包括:注册表值设定。
15、进一步地:所述hook程序从所述调用信息中识别到所述目标操作时,
16、拦截所述输入设备信号,跳转到所述自定义程序,所述自定义程序使用自定义模拟输入信号替换所述输入设备信号;或,拦截所述图像获取操作,跳转到所述自定义程序,所述自定义程序获取图像数据,将所述图像数据发送到输出设备。
17、进一步地:所述输入设备包括:手柄、触摸板、头部追踪器;
18、所述调用信息包括:创建openxr实例、销毁openxr实例、创建openxr会话、销毁openxr会话、创建交换链、销毁交换链。
19、进一步地:所述图像数据为渲染图像;
20、所述自定义程序获取所述图像数据的方式为:通过分析所述图像获取操作对应的函数,获取所述渲染图像的显存位置,从所述显存位置获取所述渲染图像。
21、一种vr云服务器容器隔离系统,用于实现上述的方法,所述系统包括:
22、获取模块:获取vr程序的进程信息或vr接口的调用信息;
23、识别模块:使用hook程序识别目标操作并进行拦截;
24、发送模块:将所述目标操作发送到处理模块;
25、处理模块:使用自定义程序,处理所述目标操作。
26、进一步地:所述目标操作为进程信息中的文件读写修改操作、注册表读写修改操作、进程间通信操作;或,所述目标操作为所述调用信息中的输入设备信号或图像获取操作。
27、进一步地:所述识别模块从所述进程信息中识别到所述目标操作时,拦截所述vr程序的文件读写修改操作、注册表读写修改操作;
28、所述发送模块将所述文件读写修改操作、所述注册表读写修改操作发送给所述处理模块;
29、所述处理模块使用自定义程序将所述文件读写修改操作、所述注册表读写修改操作重定向至自定义文件夹或自定义注册表;
30、或,所述识别模块从所述进程信息中识别到所述目标操作时,拦截所述vr程序的进程间通信操作,
31、所述发送模块将所述进程间通信操作发送给所述处理模块,
32、所述处理模块使用自定义程序使所述进程间通信操作重定向至重命名的进程间对象;
33、所述识别模块从所述调用信息中识别到所述目标操作时,
34、拦截输入设备信号;
35、所述发送模块将所述输入设备信号发送到处理模块;
36、所述处理模块使用自定义程序将所述输入设备信号替换为自定义模拟输入信号;
37、或,所述识别模块从所述调用信息中识别到所述目标操作时,
38、拦截图像获取操作;
39、所述发送模块将所述图像获取操作发送至所述处理模块;
40、所述处理模块使用自定义程序,所述自定义程序根据所述图像获取操作对应的交换链图像函数,获取渲染图像的显存位置,从所述显存位置获取所述渲染图像发送到输出设备。
41、与相关技术相对比,本发明具有以下优点:
42、本发明的一个发明点的vr云服务器容器隔离方法,通过获取所述vr程序的进程信息或vr接口的调用信息;使用 hook程序从所述进程信息识别目标操作并进行拦截,跳转到自定义程序,通过自定义程序控制进程操作,从而实现进程资源隔离,并且这种方式实现的进程级资源隔离更轻量,不需要多个虚拟操作系统也能多路运行vr游戏,从而更能充分利用服务器资源;使用 hook程序从所述调用信息中识别目标操作并进行拦截,跳转到自定义程序,通过自定义程序控制vr程序的调用,从而可以避免不同用户之间的冲突。
43、本发明的一个发明点的vr云服务器容器隔离系统,通过设置获取模块、识别模块、发送模块、处理模块,从而实现上述方法,也具有上述方法的优点。
1.一种vr云服务器容器隔离方法,其特征在于:所述方法包括以下步骤:
2.如权利要求1所述的方法,其特征在于:
3.如权利要求2所述的方法,其特征在于:
4.如权利要求3所述的方法,其特征在于:
5.如权利要求2所述的方法,其特征在于:
6.如权利要求5所述的方法,其特征在于:
7.如权利要求5所述的方法,其特征在于:
8.一种vr云服务器容器隔离系统,其特征在于:用于实现如权利要求1-7任意一项所述的方法,所述系统包括:
9.如权利要求8所述的系统,其特征在于:
10.如权利要求8所述的系统,其特征在于: