基于容器的虚拟桌面的进程间通信方法及装置制造方法及图纸

技术编号:20362740 阅读:54 留言:0更新日期:2019-02-16 16:28
本申请公开一种基于容器的虚拟桌面的进程间通信方法,包括:基于容器内将要运行的应用程序创建虚拟桌面进程,并将虚拟桌面进程初始化为至少包含唯一识别所述容器的容器识别码;分别基于各个容器的容器识别码生成以识别多个容器之间以及容器与服务器的操作系统之间通信的特征码;通过总线桥接各个容器以进行容器之间或容器和服务器之间的进程间通信;以及由主控制器基于所述特征码过滤各个容器之间及容器与服务器之间的进程通信事件。本申请还公开了一种对应的基于容器的虚拟桌面的进程间通信装置。

【技术实现步骤摘要】
基于容器的虚拟桌面的进程间通信方法及装置
本专利技术涉及计算机领域,尤其涉及一种基于容器(Container)的虚拟桌面的进程间通信方法和装置。
技术介绍
操作系统虚拟化通过对真实的计算机硬件设备进行模拟,使得多名用户可以分别通过客户机远程登陆虚拟化后的操作系统而共享使用计算机硬件资源,从而可以高效率地利用计算机硬件资源。同时,由于操作系统虚拟化使得各应用程序及其关联性被隔离,从而每位用户如同在个人计算机上操作独立的操作系统。例如,作为操作系统虚拟化的典型例子,虚拟机通常运行在诸如服务器等底层硬件的主机设备上,并通过虚拟机管理程序分配内存和CPU等计算机硬件资源到多台虚拟机上。因此,可以根据当前各台虚拟机所请求的计算机硬件资源,动态地进行分配。然而,为了给各位用户提供一个完整独立的应用程序运行环境,虚拟机需要同时包含完整的虚拟硬件堆栈(包括虚拟的网卡、存储器以及CPU等)。这意味着其自身也拥有完整的操作系统,并对计算机硬件资源抽象化而进行硬件隔离和协调进程之间的通信,从而需要将部分由主机设备提供的共享资源占据为自身的专用资源而降低主机设备的总体性能。相反,作为操作系统虚拟化的另一个例子,容器是一种轻量级的操作系统虚拟化技术。各个容器通过共享主机设备上的系统内核以实现自身的轻量化,并利用进程访问控制隔离技术和进程组管理控制技术等方式隔离各自的用户空间,从而使得多套容器能够并行地运行在同一主机设备上。可是,在现有的技术方案中,由于多个容器之间共享同一套系统内核,所以同一服务器上的容器甚至共享该服务器上的网络命名空间,并没有真正地相互隔离,从而使得容器之间的相互隔离非常薄弱。一方面,不同容器上各自运行的虚拟桌面进程运行时需要共享硬件资源池中的硬件资源而需要;另一方面,在同一服务器上或者在多台服务器上的不同容器上运行的虚拟桌面进程之间进行通信。因此,容器上运行的虚拟桌面进程需要恰当地设置通信机制,以高效和安全地实现虚拟桌面进程之间的隔离和通信。
技术实现思路
本专利技术的目的是解决现有技术的不足,提供一种基于容器的虚拟桌面的进程间通信方法和装置,能够获得高效而安全地进行虚拟桌面进程之间通信的效果。为了实现上述目的,本专利技术采用以下的技术方案。首先,本申请提出一种基于容器的虚拟桌面的进程间通信方法。该进程间通信方法适用于在服务器内建立的多个彼此隔离的容器。其中,多个容器中的每一个分别创建一个独立的虚拟桌面实例,并通过每个容器的虚拟桌面实例为对应的容器配置独立的文件管理结构。上述进程间通信方法包括以下步骤:S100)基于容器内将要运行的应用程序创建虚拟桌面进程,并将虚拟桌面进程初始化为至少包含唯一识别所述容器的容器识别码;S200)分别基于各个容器的容器识别码生成以识别多个容器之间以及容器与服务器的操作系统之间通信的特征码;S300)通过总线桥接各个容器以进行容器之间或容器和服务器之间的进程间通信;以及S400)由主控制器基于所述特征码过滤各个容器之间及容器与服务器之间的进程通信事件。进一步地,在本申请的上述方法中,分别为各个容器创建独立的网络栈,使得各个容器通过所述网络栈桥接到总线。再进一步地,在本申请的上述方法中,服务器内的多个容器通过网络栈分配有专用的网络端口进行通信。进一步地,在本申请的上述方法中,当虚拟桌面进程访问请求服务器的硬件资源时,步骤S400可以包括以下的子步骤:S401)根据虚拟桌面进程的访问请求,查找相应硬件资源到运行所述虚拟桌面进程的容器;S402)基于特征码由主控制器过滤所述虚拟桌面进程和服务器访问请求所述硬件资源进程;S403)通过总线在所述虚拟桌面进程与访问请求相应硬件资源之间传送数据包。可替代地,在本申请的上述方法中,步骤S400包括以下的子步骤:S404)通过总线发送用于虚拟桌面进程间通信的数据包;S405)由主控制器根据所述特征码过滤出对应的虚拟桌面进程,并通过总线将数据包发送到所述虚拟桌面进程。进一步地,在本申请的上述方法中,虚拟桌面进程由与容器远程连接的客户机启动。其次,本申请还提出一种基于容器的虚拟桌面的进程间通信装置。该进程间通信装置适用于在服务器内建立的多个彼此隔离的容器。其中,多个容器中的每一个分别创建一个独立的虚拟桌面实例,并通过每个容器的虚拟桌面实例为对应的容器配置独立的文件管理结构。上述进程间通信装置包括以下模块:初始化模块,用于基于容器内将要运行的应用程序创建虚拟桌面进程,并将虚拟桌面进程初始化为至少包含唯一识别所述容器的容器识别码;生成模块,用于分别基于各个容器的容器识别码生成以识别多个容器之间以及容器与服务器的操作系统之间通信的特征码;桥接模块,用于通过总线桥接各个容器以进行容器之间或容器和服务器之间的进程间通信;以及过滤模块,用于由主控制器基于所述特征码过滤各个容器之间及容器与服务器之间的进程通信事件。进一步地,在本申请的上述装置中,分别为各个容器创建独立的网络栈,使得各个容器通过所述网络栈桥接到总线。再进一步地,在本申请的上述装置中,服务器内的多个容器通过网络栈分配有专用的网络端口进行通信。进一步地,在本申请的上述装置中,当虚拟桌面进程访问请求服务器的硬件资源时,过滤模块包括以下的子模块:第一分配模块,用于根据虚拟桌面进程的访问请求,查找相应硬件资源到运行所述虚拟桌面进程的容器;第一过滤模块,用于基于特征码由主控制器过滤所述虚拟桌面进程和服务器访问请求所述硬件资源进程;第一传送模块,用于通过总线在所述虚拟桌面进程与访问请求相应硬件资源之间传送数据包。可替代地,在本申请的上述装置中,过滤模块包括以下的子模块:第二发送模块,用于通过总线发送用于虚拟桌面进程间通信的数据包;第二过滤模块,用于由主控制器根据所述特征码过滤出对应的虚拟桌面进程,并通过总线将数据包发送到所述虚拟桌面进程。进一步地,在本申请的上述装置中,虚拟桌面进程由与容器远程连接的客户机启动。最后,本申请还提出一种计算机可读存储介质,其上存储有计算机指令。该计算机指令所执行方法适用于在服务器内建立的多个彼此隔离的容器。其中,多个容器中的每一个分别创建一个独立的虚拟桌面实例,并通过每个容器的虚拟桌面实例为对应的容器配置独立的文件管理结构。该指令被处理器执行时实现以下方法的步骤:S100)基于容器内将要运行的应用程序创建虚拟桌面进程,并将虚拟桌面进程初始化为至少包含唯一识别所述容器的容器识别码;S200)分别基于各个容器的容器识别码生成以识别多个容器之间以及容器与服务器的操作系统之间通信的特征码;S300)通过总线桥接各个容器以进行容器之间或容器和服务器之间的进程间通信;以及S400)由主控制器基于所述特征码过滤各个容器之间及容器与服务器之间的进程通信事件。进一步地,在本申请的上述指令被处理器执行的过程中,分别为各个容器创建独立的网络栈,使得各个容器通过所述网络栈桥接到总线。再进一步地,在本申请的上述指令被处理器执行的过程中,服务器内的多个容器通过网络栈分配有专用的网络端口进行通信。进一步地,在本申请的上述指令被处理器执行的过程中,当虚拟桌面进程访问请求服务器的硬件资源时,步骤S400可以包括以下的子步骤:S401)根据虚拟桌面进程的访问请求,查找相应硬件资源到运行所述虚拟桌面进程的容器;S402)本文档来自技高网
...

【技术保护点】
1.一种基于容器的虚拟桌面的进程间通信方法,适用于在服务器内建立的多个彼此隔离的容器,其中多个所述容器中的每一个分别创建一个独立的虚拟桌面实例,并通过每个容器的虚拟桌面实例为对应的容器配置独立的文件管理结构,所述方法包括以下步骤:S100)基于容器内将要运行的应用程序创建虚拟桌面进程,并将虚拟桌面进程初始化为至少包含唯一识别所述容器的容器识别码;S200)分别基于各个容器的容器识别码生成以识别多个容器之间以及容器与服务器的操作系统之间通信的特征码;S300)通过总线桥接各个容器以进行容器之间或容器和服务器之间的进程间通信;以及S400)由主控制器基于所述特征码过滤各个容器之间及容器与服务器之间的进程通信事件。

【技术特征摘要】
1.一种基于容器的虚拟桌面的进程间通信方法,适用于在服务器内建立的多个彼此隔离的容器,其中多个所述容器中的每一个分别创建一个独立的虚拟桌面实例,并通过每个容器的虚拟桌面实例为对应的容器配置独立的文件管理结构,所述方法包括以下步骤:S100)基于容器内将要运行的应用程序创建虚拟桌面进程,并将虚拟桌面进程初始化为至少包含唯一识别所述容器的容器识别码;S200)分别基于各个容器的容器识别码生成以识别多个容器之间以及容器与服务器的操作系统之间通信的特征码;S300)通过总线桥接各个容器以进行容器之间或容器和服务器之间的进程间通信;以及S400)由主控制器基于所述特征码过滤各个容器之间及容器与服务器之间的进程通信事件。2.根据权利要求1所述的进程间通信方法,其特征在于,分别为各个容器创建独立的网络栈,使得各个容器通过所述网络栈桥接到总线。3.根据权利要求2所述的进程间通信方法,其特征在于,服务器内的多个容器通过网络栈分配有专用的网络端口进行通信。4.根据权利要求1所述的进程间通信方法,其特征在于,当虚拟桌面进程访问请求服务器的硬件资源时,步骤S400包括以下的子步骤:S401)根据虚拟桌面进程的访问请求,查找相应硬件资源到运行所述虚拟桌面进程的容器;S402)基于特征码由主控制器过滤所述虚拟桌面进程和服务器访问请求所述硬件资源进程;S403)通过总线在所述虚拟桌面进程与访问请求相应硬件资源之间传送数据包。5.根据权利要求1所述的进程间通信方法,其特征在于,步骤S400包...

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

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

1