控制方法、装置及计算机设备制造方法及图纸

技术编号:21453676 阅读:35 留言:0更新日期:2019-06-26 04:42
本申请提供了一种控制方法、装置及计算机设备,该计算机设备的操作系统上部署有至少一个容器,在运行容器中的任一应用的情况下,若该应用当前需要使用某外部设备,将会操作对应虚拟设备的设备文件,在此期间,设备驱动可以确定该虚拟设备所映射的外部设备,并基于该外部设备的状态保存恢复逻辑,实现对该外部设备的设备运行上下文的切换,以使得该应用能够访问该外部设备,满足了当前应用对外部设备的使用需求,且不会影响其他应用对该外部设备的使用,即实现了对外部设备的共享,或者对所述外部设备的独占使用。

【技术实现步骤摘要】
控制方法、装置及计算机设备
本申请主要涉及通信
,更具体地说是涉及一种控制方法、装置及计算机设备。
技术介绍
近年来,容器技术已成为一种被大家广泛认可的虚拟化技术,可以用来实现服务器资源共享。相对于虚拟机,容器直接部署在主机操作系统之上,当容器中的某应用运行期间,应用可以与其他容器中的应用共享宿主机连接的外部设备,也可以独占某一个或多个外部设备。然而,在实际应用中,有些外部设备是无法被多个容器中的应用共享的;有些设备虽然支持设备虚拟化,实现多个逻辑设备的共享,但无法在容器化场景下共享,即便有些设备也能够在容器化场景下共享,往往也只能使用部分设备资源,无法满足某些应用对全部设备资源的独占要求。可见,如何让这些设备在容器化场景下高效地共享成为亟需解决的问题。
技术实现思路
有鉴于此,本申请提供了一控制方法、装置及计算机设备,实现了容器化场景下外部设备的高效共享。为了实现上述专利技术目的,本申请提供了以下技术方案:本申请提供了一种控制方法,所述方法包括:在容器中的应用运行期间,获取所述应用使用的虚拟设备的设备文件,并确定所述虚拟设备所映射的外部设备;基于所述外部设备中的状态保存恢复逻辑,实现对所述外部设备的设备运行上下文的切换,以使得所述应用能够访问或释放所述外部设备。可选的,所述基于所述外部设备中的状态保存恢复逻辑,实现对所述外部设备的设备运行上下文的切换,包括:在所述应用需要使用所述外部设备的情况下,将所述外部设备的设备运行上下文写入所述外部设备,并向所述外部设备发送状态恢复命令,以使所述外部设备响应所述设备运行上下文,实现与所述应用的数据交互;若所述外部设备在预设时间段内未被所述应用访问,向所述外部设备发送状态保存命令,以使所述外部设备保存当前设备运行上下文;同步所述外部设备的当前设备运行上下文,释放所述外部设备与所述虚拟设备的映射关系,并将所述外部设备的当前状态调整为空闲状态。可选的,所述确定所述虚拟设备所映射的外部设备,包括:查询所述虚拟设备是否映射有外部设备;如果是,执行所述基于所述外部设备中的状态保存恢复逻辑,实现对所述外部设备的设备运行上下文的切换步骤;如果否,获取当前处于空闲状态的外部设备,并建立所述虚拟设备与所述当前处于空闲状态的外部设备之间的映射关系。可选的,在容器引擎创建所述容器的情况下,所述方法还包括:针对所述容器,配置虚拟设备标识符并创建设备运行上下文;创建与所述虚拟设备标识符和所述设备运行上下文对应的虚拟设备,以及所述虚拟设备的设备文件;获取所述设备文件的属性信息,并将所述属性信息反馈至所述容器引擎,以使所述应用通过所述容器引擎获取所述设备文件的属性信息,基于所述设备文件的属性信息,获取所述设备文件;其中,所述设备文件的属性信息包括所述设备文件的路径和/或文件号。可选的,所述方法还包括:接收所述容器引擎发送的针对所述容器的容器销毁命令,所述容器销毁命令是在所述容器中的各应用被清除的情况下生成的;响应所述容器销毁命令,释放所述容器对应的虚拟设备标识符及设备运行上下文;清除针对所述容器创建的所述虚拟设备。可选的,所述外部设备包括:用于接收状态恢复命令和状态保存命令的接口寄存器,以及用于存储设备运行上下文的设备内存,所述设备运行上下文包含有所述外部设备的配置信息以及状态信息。本申请还提供了一种控制装置,所述装置包括:获取模块,用于在容器中的应用运行期间,获取所述应用使用的虚拟设备的设备文件,并确定所述虚拟设备所映射的外部设备;控制模块,用于基于所述外部设备中的状态保存恢复逻辑,实现对所述外部设备的设备运行上下文的切换,以使得所述应用能够访问或释放所述外部设备。可选的,所述控制模块包括:写入单元,用于在所述应用需要使用所述外部设备的情况下,将所述外部设备的设备运行上下文写入所述外部设备;状态恢复命令发送单元,用于向所述外部设备发送状态恢复命令,以使所述外部设备响应所述设备运行上下文,实现与所述应用的数据交互;状态保存命令发送单元,用于所述外部设备在预设时间段内未被所述应用访问的情况下,向所述外部设备发送状态保存命令,以使所述外部设备保存当前设备运行上下文;数据同步单元,用于同步所述外部设备的当前设备运行上下文;设备释放单元,用于释放所述外部设备与所述虚拟设备的映射关系,并将所述外部设备的当前状态调整为空闲状态。可选的,所述获取模块包括:查询单元,用于查询所述虚拟设备是否映射有外部设备,在查询结果为是的情况下,触发所述控制模块执行所述基于所述外部设备中的状态保存恢复逻辑,实现对所述外部设备的设备运行上下文的切换步骤;映射关系建立单元,用于在所述查询单元的查询结果为否的情况下,获取当前处于空闲状态的外部设备,并建立所述虚拟设备与所述当前处于空闲状态的外部设备之间的映射关系。本申请还提供了一种计算机设备,所述计算机设备包括:通信接口,所述通信接口用于连接外部设备,所述外部设备配置有状态保存恢复逻辑;存储器,用于存储实现如上所述的控制方法的程序;处理器,用于加载并执行所述存储器存储的程序,所述程序用于:在容器中的应用运行期间,获取所述应用使用的虚拟设备的设备文件,并确定所述虚拟设备所映射的外部设备;基于所述外部设备中的状态保存恢复逻辑,实现对所述外部设备的设备运行上下文的切换,以使得所述应用能够访问或释放所述外部设备。由此可见,与现有技术相比,本申请提供了一种控制方法、装置及计算机设备,该计算机设备的操作系统上部署有至少一个容器,在运行容器中的任一应用的情况下,若该应用当前需要使用某外部设备,将会操作对应虚拟设备的设备文件,在此期间,设备驱动可以确定该虚拟设备所映射的外部设备,并基于该外部设备的状态保存恢复逻辑,实现对该外部设备的设备运行上下文的切换,以使得该应用能够访问该外部设备,满足了当前应用对外部设备的使用需求,且不会影响其他应用对该外部设备的使用,即实现了对外部设备的共享,或者对所述外部设备的独占使用。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1示出了本申请提出的控制方法的一实施例的流程示意图;图2示出了本申请提出的控制方法的另一实施例的流程示意图;图3示出了本申请提出的控制方法的又一实施例的流程示意图;图4示出了本申请提出的控制方法的一实施例的信令流程示意图;图5示出了本申请提出的控制方法的另一实施例的信令流程示意图;图6示出了本申请提出的控制装置的一实施例的结构示意图;图7示出了本申请提出的控制装置的另一实施例的结构示意图;图8示出了本申请提出的控制装置的另一实施例的结构示意图;图9示出了本申请提出的控制装置的又一实施例的结构示意图;图10示出了本申请提出的计算机设备的一实施例的硬件结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保本文档来自技高网...

【技术保护点】
1.一种控制方法,所述方法包括:在容器中的应用运行期间,获取所述应用使用的虚拟设备的设备文件,并确定所述虚拟设备所映射的外部设备;基于所述外部设备中的状态保存恢复逻辑,实现对所述外部设备的设备运行上下文的切换,以使得所述应用能够访问或释放所述外部设备。

【技术特征摘要】
1.一种控制方法,所述方法包括:在容器中的应用运行期间,获取所述应用使用的虚拟设备的设备文件,并确定所述虚拟设备所映射的外部设备;基于所述外部设备中的状态保存恢复逻辑,实现对所述外部设备的设备运行上下文的切换,以使得所述应用能够访问或释放所述外部设备。2.根据权利要求1所述的方法,所述基于所述外部设备中的状态保存恢复逻辑,实现对所述外部设备的设备运行上下文的切换,包括:在所述应用需要使用所述外部设备的情况下,将所述外部设备的设备运行上下文写入所述外部设备,并向所述外部设备发送状态恢复命令,以使所述外部设备响应所述设备运行上下文,实现与所述应用的数据交互;若所述外部设备在预设时间段内未被所述应用访问,向所述外部设备发送状态保存命令,以使所述外部设备保存当前设备运行上下文;同步所述外部设备的当前设备运行上下文,释放所述外部设备与所述虚拟设备的映射关系,并将所述外部设备的当前状态调整为空闲状态。3.根据权利要求2所述的方法,所述确定所述虚拟设备所映射的外部设备,包括:查询所述虚拟设备是否映射有外部设备;如果是,执行所述基于所述外部设备中的状态保存恢复逻辑,实现对所述外部设备的设备运行上下文的切换步骤;如果否,获取当前处于空闲状态的外部设备,并建立所述虚拟设备与所述当前处于空闲状态的外部设备之间的映射关系。4.根据权利要求1~3任一项所述的方法,在容器引擎创建所述容器的情况下,所述方法还包括:针对所述容器,配置虚拟设备标识符并创建设备运行上下文;创建与所述虚拟设备标识符和所述设备运行上下文对应的虚拟设备,以及所述虚拟设备的设备文件;获取所述设备文件的属性信息,并将所述属性信息反馈至所述容器引擎,以使所述应用通过所述容器引擎获取所述设备文件的属性信息,基于所述设备文件的属性信息,获取所述设备文件;其中,所述设备文件的属性信息包括所述设备文件的路径和/或文件号。5.根据权利要求4所述的方法,所述方法还包括:接收所述容器引擎发送的针对所述容器的容器销毁命令,所述容器销毁命令是在所述容器中的各应用被清除的情况下生成的;响应所述容器销毁命令,释放所述容器对应的虚拟设备标识符及设备运行上下文;清除针对所述容器创建的所述虚拟设备。6.根据权利要求1~3任一项所述的方法...

【专利技术属性】
技术研发人员:高云伟杨立中
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:北京,11

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

1