基于容器的虚拟桌面的设备调度方法及装置制造方法及图纸

技术编号:20117023 阅读:88 留言:0更新日期:2019-01-16 11:56
一种基于容器的虚拟桌面的设备调度方法,包括:创建硬件资源请求的主请求队列和快速请求队列,并由容器引擎初始化主请求队列和快速请求队列;接收各容器发出的硬件资源请求,并预估所述硬件资源请求执行时调用的硬件资源数量;获取当前主请求队列内全体硬件资源请求调用的硬件资源数量,若当前主请求队列内全体硬件资源请求调用的硬件资源数量大于预设的主请求队列阈值,且硬件资源请求执行时调用的硬件资源数量小于预设的硬件资源阈值时,所述硬件资源请求插入到快速请求队列的队尾,否则所述硬件资源请求插入到主请求队列的队尾;以及按照次序分别从主请求队列的队头和快速请求队列的队头获取硬件资源请求。本申请还公开对应的设备调度装置。

Container-based Virtual Desktop Device Scheduling Method and Device

A container-based virtual desktop device scheduling method includes: creating the main request queue and the fast request queue for hardware resource requests, initializing the main request queue and the fast request queue by the container engine, receiving the hardware resource requests from each container, and estimating the number of hardware resources invoked when the hardware resource requests are executed, and acquiring the full content of the current main request queue. If the total number of hardware resources in the current main request queue is larger than the preset threshold of the main request queue and the number of hardware resources invoked during the execution of the hardware resource request is less than the preset threshold of the hardware resource, the hardware resource request is inserted at the end of the fast request queue, otherwise the hardware resource is inserted at the end of the fast request queue. Source requests are inserted at the end of the main request queue, and hardware resource requests are obtained from the head of the main request queue and the head of the fast request queue in order. The application also discloses the corresponding equipment dispatching device.

【技术实现步骤摘要】
基于容器的虚拟桌面的设备调度方法及装置
本专利技术涉及计算机
,尤其涉及一种基于容器的虚拟桌面的设备调度方法及装置。
技术介绍
操作系统虚拟化通过对真实的计算机硬件设备进行模拟,使得多名用户可以分别通过虚拟化后的操作系统共享使用硬件资源,从而可以高效率地利用硬件资源。具体地,当上述多项硬件资源被虚拟化后,不同类型的硬件资源分别构成各种硬件资源池(例如用于存储数据的硬盘池),并通过多个虚拟化的操作系统实现共同计算及共享资源,从而实现各类计算资源的灵活分配和高效利用。由于操作系统虚拟化使得各应用程序及其关联性被隔离,从而每位用户如同在个人计算机上操作独立的操作系统。例如,作为操作系统虚拟化的典型例子,虚拟机通常运行在诸如服务器等底层硬件的主机设备上,并通过虚拟机管理程序分配内存和CPU等硬件资源到多台虚拟机上。因此,可以根据当前各台虚拟机所请求的计算机硬件资源,动态地进行分配。然而,为了给各位用户提供一个完整独立的应用程序运行环境,虚拟机需要同时包含完整的虚拟硬件堆栈(包括虚拟的网络适配器、存储以及CPU等)。这意味着其自身也拥有完整的操作系统,并针对硬件资源抽象化而进行隔离,从而需要将部分由主机设备提供的共享资源占据为自身的专用资源而降低主机设备的总体性能。相反,作为操作系统虚拟化的另一个例子,容器是一种轻量级的操作系统虚拟化技术。各个容器通过共享主机设备上的系统内核以实现自身的轻量化,并利用进程访问控制隔离技术和进程组管理控制技术等方式隔离各自的用户空间,从而使得多套容器能够并行地运行在同一主机设备上。可是,在现有的技术方案中,由于多个容器之间共享同一套系统内核,使得可以通过将硬件资源的相关驱动程序安装在主机设备上的系统,从而方便地供各个容器使用。因此,容器间的隔离只是通过路径的转换或者访问权限控制策略等方式实现,并没有真正地相互隔离,从而使得容器之间的相互隔离非常薄弱。于是,多个容器无序地创建大量的硬件资源请求共享使用底层的硬件资源时,硬件资源的调度管理需要在需满足容器之间的安全性要求的前提下,兼顾不同硬件资源请求的公平和高效的原则,以避免某个应用程序运行时占用硬件资源的比例过大时,导致其他应用程序启动时间过长或无法运行。
技术实现思路
本专利技术的目的是解决现有技术的不足,提供一种用于基于容器的虚拟桌面的设备调度方法及装置,能够获得保证容器之间安全性前提下,整体加快各容器应用程序响应时间的效果。为了实现上述目的,本专利技术采用以下的技术方案。首先,本申请提出一种用于基于容器的虚拟桌面的设备调度方法。该调度方法适用于在服务器内建立的多个彼此隔离的容器。其中,多个容器中的每一个分别创建一个独立的虚拟桌面实例,并通过每个容器的虚拟桌面实例为对应的容器配置独立的文件管理结构。上述方法包括以下步骤:S100)创建硬件资源请求的主请求队列和快速请求队列,并由容器引擎初始化主请求队列和快速请求队列;S200)接收各容器发出的硬件资源请求,并预估所述硬件资源请求执行时调用的硬件资源数量;S300)获取当前主请求队列内全体硬件资源请求调用的硬件资源数量,若当前主请求队列内全体硬件资源请求调用的硬件资源数量大于预设的主请求队列阈值,且硬件资源请求执行时调用的硬件资源数量小于预设的硬件资源阈值时,所述硬件资源请求插入到快速请求队列的队尾,否则所述硬件资源请求插入到主请求队列的队尾;S400)以及按照次序分别从主请求队列的队头和快速请求队列的队头获取硬件资源请求。进一步地,在本申请的上述方法中,接收各容器发出的硬件资源请求,并预估所述硬件资源请求执行时调用的硬件资源数量还包括以下预处理步骤:搜索硬件资源表,当硬件资源表中存在相应空闲的硬件资源时,容器中运行的应用程序直接访问硬件资源池中对应的硬件资源,否则创建并向容器引擎发送相应的硬件资源请求。其中,硬件资源表由各个所述容器创建并维护,且所述硬件资源表中记录已分配给所述容器的硬件资源。进一步地,在本申请的上述方法中,当主请求队列的占用硬件资源数量的总量大于预设的主请求队列阈值时,主请求队列中硬件资源请求执行时占用的硬件资源数量小于硬件资源阈值的任务被提出并插入到快速请求队列的队尾。进一步地,在本申请的上述方法中,当快速请求队列的长度大于预设的快速请求队列阈值且主请求队列的全体硬件资源请求所占用的硬件资源数量小于主请求队列阈值时,位于快速请求队列的队尾且超出预设的快速请求队列阈值部分的硬件资源请求被提出并插入到主请求队列的队尾。进一步地,在本申请的上述方法中,当硬件资源请求插入到快速请求队列的队尾后,快速请求队列根据硬件资源请求执行时占用的资源数量排序。进一步地,在本申请的上述方法中,当快速请求队列的长度大于预设的快速请求队列阈值时,提高主请求队列阈值和/或降低硬件资源阈值。再进一步地,在本申请的上述方法中,硬件资源请求执行时占用的硬件资源数量是硬件资源的使用频率。可替代地,在本申请的上述方法中,硬件资源请求执行时占用的硬件资源数量是硬件资源请求占用硬件资源的时间片长度。其次,本申请还提出一种用于基于容器的虚拟桌面的设备调度装置。该设备调度装置适用于在服务器内建立的多个彼此隔离的容器。其中,多个容器中的每一个分别创建一个独立的虚拟桌面实例,并通过每个容器的虚拟桌面实例为对应的容器配置独立的文件管理结构。上述设备调度装置包括以下模块:初始化模块,用于创建硬件资源请求的主请求队列和快速请求队列,并由容器引擎初始化主请求队列和快速请求队列;预估模块,用于接收各容器发出的硬件资源请求,并预估所述硬件资源请求执行时调用的硬件资源数量;入队模块,用于获取当前主请求队列内全体硬件资源请求调用的硬件资源数量,若当前主请求队列内全体硬件资源请求调用的硬件资源数量大于预设的主请求队列阈值,且硬件资源请求执行时调用的硬件资源数量小于预设的资源阈值时,所述硬件资源请求插入到快速请求队列的队尾,否则所述硬件资源请求插入到主请求队列的队尾;以及出队模块,用于按照次序分别从主请求队列的队头和快速请求队列的队头获取硬件资源请求。进一步地,在本申请的上述装置中,预估模块还包括以下预处理步骤:搜索模块,用于搜索硬件资源表,当硬件资源表中存在相应空闲的硬件资源时,容器中运行的应用程序直接访问硬件资源池中对应的硬件资源,否则创建并向容器引擎发送相应的硬件资源请求。其中,硬件资源表由各个所述容器创建并维护,且所述硬件资源表中记录已分配给所述容器的硬件资源。进一步地,在本申请的上述装置中,当主请求队列的占用硬件资源数量的总量大于预设的主请求队列阈值时,主请求队列中硬件资源请求执行时占用的硬件资源数量小于硬件资源阈值的任务被提出并插入到快速请求队列的队尾。进一步地,在本申请的上述装置中,当快速请求队列的长度大于预设的快速请求队列阈值且主请求队列的全体硬件资源请求所占用的硬件资源数量小于主请求队列阈值时,位于快速请求队列的队尾且超出预设的快速请求队列阈值部分的硬件资源请求被提出并插入到主请求队列的队尾。进一步地,在本申请的上述装置中,当硬件资源请求插入到快速请求队列的队尾后,快速请求队列根据硬件资源请求执行时占用的资源数量排序。进一步地,在本申请的上述装置中,当快速请求队列的长度大于预设的快速请求队列阈值时,提高主请本文档来自技高网
...

【技术保护点】
1.一种用于基于容器的虚拟桌面的设备调度方法,适用于在服务器内建立的多个彼此隔离的容器,其中多个所述容器中的每一个分别创建一个独立的虚拟桌面实例,并通过每个容器的虚拟桌面实例为对应的容器配置独立的文件管理结构,所述方法包括以下步骤:S100)创建硬件资源请求的主请求队列和快速请求队列,并由容器引擎初始化主请求队列和快速请求队列;S200)接收各容器发出的硬件资源请求,并预估所述硬件资源请求执行时调用的硬件资源数量;S300)获取当前主请求队列内全体硬件资源请求调用的硬件资源数量,若当前主请求队列内全体硬件资源请求调用的硬件资源数量大于预设的主请求队列阈值,且硬件资源请求执行时调用的硬件资源数量小于预设的硬件资源阈值时,所述硬件资源请求插入到快速请求队列的队尾,否则所述硬件资源请求插入到主请求队列的队尾;以及S400)按照次序分别从主请求队列的队头和快速请求队列的队头获取硬件资源请求。

【技术特征摘要】
1.一种用于基于容器的虚拟桌面的设备调度方法,适用于在服务器内建立的多个彼此隔离的容器,其中多个所述容器中的每一个分别创建一个独立的虚拟桌面实例,并通过每个容器的虚拟桌面实例为对应的容器配置独立的文件管理结构,所述方法包括以下步骤:S100)创建硬件资源请求的主请求队列和快速请求队列,并由容器引擎初始化主请求队列和快速请求队列;S200)接收各容器发出的硬件资源请求,并预估所述硬件资源请求执行时调用的硬件资源数量;S300)获取当前主请求队列内全体硬件资源请求调用的硬件资源数量,若当前主请求队列内全体硬件资源请求调用的硬件资源数量大于预设的主请求队列阈值,且硬件资源请求执行时调用的硬件资源数量小于预设的硬件资源阈值时,所述硬件资源请求插入到快速请求队列的队尾,否则所述硬件资源请求插入到主请求队列的队尾;以及S400)按照次序分别从主请求队列的队头和快速请求队列的队头获取硬件资源请求。2.根据权利要求1所述的设备调度方法,其特征在于,接收各容器发出的硬件资源请求,并预估所述硬件资源请求执行时调用的硬件资源数量还包括以下预处理步骤:搜索硬件资源表,当硬件资源表中存在相应空闲的硬件资源时,容器中运行的应用程序直接访问硬件资源池中对应的硬件资源,否则创建并向容器引擎发送相应的硬件资源请求;其中硬件资源表由各个所述容器创建并维护,且所述硬件资源表中记录已分配给所述容器的硬件资源。3.根据权利要求1所述的设备调度方法,其特征在于,当主请求队列的占用硬件资源数量的总量大于预设的主请求队列阈值时,主请求队列中硬件资源请求执行时占用的硬件资源数量小于硬件资源阈值的任务被提出并插入到快速请求队列的队尾。4.根据权利要求1所述的设备调度方法,其特征在于,当快速请求队列的长度大于预设的快速请求队列阈值且主请求队列的全体硬件资源请求所占用的硬件资源数量小于主请求队列阈值时,位于快速请求队列的队尾且超出预设的快速请求队列阈值部分的硬件资源请求被提出并插入到主请求队列...

【专利技术属性】
技术研发人员:杨立群
申请(专利权)人:珠海国芯云科技有限公司
类型:发明
国别省市:广东,44

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

1