当前位置: 首页 > 专利查询>鹏城实验室专利>正文

设备文件的透传方法、设备及计算机存储介质技术

技术编号:28836705 阅读:10 留言:0更新日期:2021-06-11 23:33
本发明专利技术公开了一种设备透传方法、设备及计算机存储介质,该方法包括以下步骤:以第一预设模式创建虚拟机镜像;基于所述虚拟机镜像,以第二预设模式启动虚拟机;以第三预设模式在所述虚拟机中创建容器;基于预设路径,在所述容器中创建设备依赖文件;按照所述预设路径,使所述虚拟机中的容器对所述设备依赖文件进行成功访问;基于所述虚拟机的透传策略以及访问到的所述设备依赖文件,使所述虚拟机中的容器对待访问设备文件进行成功访问;本发明专利技术解决了Kata container访问所属虚拟机中设备文件失败的问题,实现了Kata container成功访问所属虚拟机的设备文件并执行操作。

【技术实现步骤摘要】
设备文件的透传方法、设备及计算机存储介质
本专利技术涉及容器技术,尤其涉及一种设备文件的透传方法、设备及计算机存储介质。
技术介绍
在物理服务器上直接运行容器中的安卓系统的技术具有启动速度快的特点,同时启动的容器可以直接访问物理服务器上的设备。但是一个物理服务器上的所有容器共享宿主机内核,存在严重的安全隐患。Katacontainer项目的主要目标是通过一个轻量的虚拟机来构建安全容器。构建基于Katacontainer的虚拟化环境可以将虚拟机的安全隔离优势和容器的快速启动特点结合起来。但是,构建基于Katacontainer的虚拟化环境存在两个问题。一方面,基于Katacontainer的容器运行环境是虚拟机运行Kataagent创建的,并不是运行虚拟机的宿主机创建的,当在运行虚拟机的宿主机上启动Katacontainer容器中的安卓系统时是不能把物理服务器上的设备透传给Katacontainer容器的,所以如何把虚拟机上的设备透传给容器这是一个关键技术难题。而且容器中的安卓系统需要的设备还依赖于其他文件,这些文件都是容器中的安卓系统正常运行所需要的,但是这些文件是虚拟机运行时加载驱动动态生成的无法在制作容器镜像的时候生成。另一方面,Katacontainer依赖的内核和根文件系统都是非常精简的,所以缺乏运行容器中的安卓系统所需要的驱动,比如/dev/binder等,而且Kata虚拟机无法动态加载这些驱动模块。
技术实现思路
有鉴于此,本申请实施例提供一种设备透传方法、设备及计算机存储介质,解决Katacontainer访问所属虚拟机中设备文件失败的问题。本申请实施例提供了一种设备文件的透传方法,所述方法包括:以第一预设模式创建虚拟机镜像;基于所述虚拟机镜像,以第二预设模式启动虚拟机;以第三预设模式在所述虚拟机中创建容器;基于预设路径,在所述容器中创建设备依赖文件;按照所述预设路径,使所述虚拟机中的容器对所述设备依赖文件进行成功访问;基于所述虚拟机的透传策略以及访问到的所述设备依赖文件,使所述虚拟机中的容器对待访问设备文件进行成功访问。在一实施例中,所述以第一预设模式创建虚拟机镜像,包括:新增非根用户对所述虚拟机中所述待访问设备文件的预设权限;将所述虚拟机中新增的驱动编译为内核内置模式。在一实施例中,所述基于所述虚拟机镜像,以第二预设模式启动虚拟机,包括:新增所述虚拟机中所述待访问设备文件对应的设备参数。在一实施例中,所述以第三预设模式在虚拟机中创建容器,包括:基于所述待访问设备文件注册时采用的配置数据,获取所述虚拟机的设备数据以创建所述容器。在一实施例中,所述基于所述虚拟机的透传策略以及访问到的所述设备依赖文件,使所述虚拟机中的容器对待访问设备文件进行成功访问,包括:基于所述虚拟机中容器的硬件配置信息,创建所述容器的子系统;将所述待访问设备文件添加至所述子系统的可访问列表中;创建子进程;使所述子进程利用所述容器的子系统对所述虚拟机中的待访问设备文件进行访问。在一实施例中,所述基于预设路径,在所述容器中创建设备依赖文件,包括:获取所述容器的根文件系统在所述虚拟机中的第一路径;获取虚拟机中的所述设备依赖文件的第二路径;结合所述第一路径与所述第二路径,在所述容器中构建所述设备依赖文件的存放目录,生成所述预设路径;基于所述虚拟机中待访问设备文件对应的设备属性,在所述预设路径中的存放目录里创建设备依赖文件。在一实施例中,所述非根用户的预设权限至少包括可读权限、可写权限以及可执行权限。在一实施例中,所述配置数据至少包括主设备号以及次设备号。为实现上述目的,还提供一种计算机存储介质,所述计算机存储介质上存储有设备文件的透传方法程序,所述设备文件的透传方法程序被处理器执行时实现上述任一所述的设备文件的透传方法的步骤。为实现上述目的,还提供一种设备文件的透传设备,包括存储器,处理器及存储在所述存储器上并可在所述处理器上运行的设备文件的透传方法程序,所述处理器执行所述设备文件的透传方法程序时实现上述任一所述设备文件的透传方法方法的步骤。本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:以第一预设模式创建虚拟机镜像;通过第一预设模式创建虚拟机镜像,可以将虚拟机中新增的驱动编译为内核内置模式,以及增加非根用户权限以保证以第一预设模式创建的虚拟机镜像能够提供容器访问待访问设备文件的数据。基于所述虚拟机镜像,以第二预设模式启动虚拟机;通过将待访问设备文件所需要的设备参数等进行增加来启动虚拟机,保证虚拟机能够保证待访问设备文件能够顺利访问。以第三预设模式在所述虚拟机中创建容器;通过第三预设模式在虚拟机中创建容器时,可以另外获取虚拟机的设备数据以保证虚拟机中创建的容器能够访问虚拟机中的待访问设备文件。基于预设路径,在所述容器中创建设备依赖文件;通过预设路径,基于虚拟机中的设备依赖文件,在虚拟机中的容器里进行创建,以保证容器对虚拟机中的待访问设备文件进行顺利且成功的访问。按照所述预设路径,使所述虚拟机中的容器对所述设备依赖文件进行成功访问;通过预设路径,保证了虚拟机中的容器对待访问设备文件成功访问。基于所述虚拟机的透传策略以及访问到的所述设备依赖文件,使所述虚拟机中的容器对待访问设备文件进行成功访问;通过虚拟机的透传策略将虚拟机中的待访问设备文件透传至虚拟机中的容器中,结合访问到的设备依赖文件,则可以成功且顺利的对待访问设备文件进行访问。本申请实施例解决了Katacontainer访问所属虚拟机中设备文件失败的问题,实现了Katacontainer成功访问所属虚拟机的设备文件并执行操作。附图说明图1为本申请设备文件透传方法的第一实施例的流程示意图;图2为本申请设备文件透传方法的第一实施例中步骤S110的具体流程示意图;图3为本申请设备文件透传方法的第一实施例中步骤S120的具体流程示意图;图4为本申请设备文件透传方法的流程示意图;图5为本申请设备文件透传方法的第一实施例中步骤S130的另一具体流程示意图;图6为本申请设备文件透传方法的第一实施例中步骤S160的具体流程示意图;图7为本申请设备文件透传方法的第一实施例中步骤S140的具体流程示意图;图8为Kata虚拟机中运行操作系统为Android的容器的示例图;图9为本申请设备文件透传方法的实施前后的结果对比图;图10为本申请实施例中涉及的设备文件透传方法的硬件架构示意图。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例的主要解决方案是:以第一预设模式创建虚拟机镜像;基于所述虚拟机镜像,以第二预设模式启动虚拟机;以第三预设模式本文档来自技高网...

【技术保护点】
1.一种设备文件的透传方法,其特征在于,所述方法包括:/n以第一预设模式创建虚拟机镜像;/n基于所述虚拟机镜像,以第二预设模式启动虚拟机;/n以第三预设模式在所述虚拟机中创建容器;/n基于预设路径,在所述容器中创建设备依赖文件;/n按照所述预设路径,使所述虚拟机中的容器对所述设备依赖文件进行成功访问;/n基于所述虚拟机的透传策略以及访问到的所述设备依赖文件,使所述虚拟机中的容器对待访问设备文件进行成功访问。/n

【技术特征摘要】
1.一种设备文件的透传方法,其特征在于,所述方法包括:
以第一预设模式创建虚拟机镜像;
基于所述虚拟机镜像,以第二预设模式启动虚拟机;
以第三预设模式在所述虚拟机中创建容器;
基于预设路径,在所述容器中创建设备依赖文件;
按照所述预设路径,使所述虚拟机中的容器对所述设备依赖文件进行成功访问;
基于所述虚拟机的透传策略以及访问到的所述设备依赖文件,使所述虚拟机中的容器对待访问设备文件进行成功访问。


2.如权利要求1所述的设备文件的透传方法,其特征在于,所述以第一预设模式创建虚拟机镜像,包括:
新增非根用户对所述虚拟机中所述待访问设备文件的预设权限;
将所述虚拟机中新增的驱动编译为内核内置模式。


3.如权利要求1所述的设备文件的透传方法,其特征在于,所述基于所述虚拟机镜像,以第二预设模式启动虚拟机,包括:
新增所述虚拟机中所述待访问设备文件对应的设备参数。


4.如权利要求1所述的设备文件的透传方法,其特征在于,所述以第三预设模式在虚拟机中创建容器,包括:
基于所述待访问设备文件注册时采用的配置数据,获取所述虚拟机的设备数据以创建所述容器。


5.如权利要求1所述的设备文件的透传方法,其特征在于,所述基于所述虚拟机的透传策略以及访问到的所述设备依赖文件,使所述虚拟机中的容器对待访问设备文件进行成功访问,包括:
基于所述虚拟机中容器的硬件配置信息,创建所述容...

【专利技术属性】
技术研发人员:梁俊朱方平陈红付志鹏高嘉淇陈一鸣
申请(专利权)人:鹏城实验室
类型:发明
国别省市:广东;44

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

1