首页> 中国专利> 一种基于分布式的Hypervisor微内核架构、通信方法及设备

一种基于分布式的Hypervisor微内核架构、通信方法及设备

摘要

本发明涉及一种基于分布式的Hypervisor微内核架构、通信方法及设备,Hypervisor微内核架构用于实现设备前端和设备后端之间的通信,设备前端和设备后端分别设于不同的虚拟机中,Hypervisor微内核架构包括后端服务注册发布模块和后端服务查询模块,后端服务注册发布模块用于供设有设备后端的虚拟机进行发布其提供的后端服务以添加至后端服务注册表,后端服务查询模块用于供设有前端的虚拟机通过所述后端服务注册表确定可以提供后端服务的设有设备后端的虚拟机以完成设备前端和设备后端之间的通信。通过设置后端服务注册发布模块和后端服务查询模块,使得需要后端服务的前端可以查询到提供对应服务的后端并进行通信;解决了现有技术中后端服务集中实现存在单点故障的问题。

著录项

  • 公开/公告号CN114520825A

    专利类型发明专利

  • 公开/公告日2022-05-20

    原文格式PDF

  • 申请/专利权人 中汽创智科技有限公司;

    申请/专利号CN202210015017.9

  • 发明设计人 秦民;王天亮;孙俊勇;

    申请日2022-01-07

  • 分类号H04L67/141;H04L67/10;G06F9/445;G06F9/455;

  • 代理机构广州三环专利商标代理有限公司;

  • 代理人王若愚

  • 地址 211100 江苏省南京市江宁区秣陵街道胜利路88号

  • 入库时间 2023-06-19 15:22:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-05-20

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及软件架构技术领域,尤其涉及一种基于分布式的Hypervisor微内核架构、通信方法及设备。

背景技术

Hypervisor是一种运行在物理服务器和操作系统之间的中间层软件,可以允许多个操作系统和应用共享一套基础物理硬件。Hypervisor可以看做是虚拟环境中的“元”操作系统,可以协调访问服务器上的所有物理设备和虚拟机,所以又称为虚拟机监视器(Virtual Machine Monitor)。Hypervisor是所有虚拟化技术的核心,非中断的支持多工作负载迁移是Hypervisor的基本功能。当服务器启动并执行Hypervisor时,会给每一台虚拟机分配适量的内存,CPU,网络和磁盘资源,并且加载所有虚拟机的客户操作系统。

在现有的Hypervisor架构中,设备后端的实现方式一般有如下两种:

1.设备后端在Hypervisor中,如K虚拟机(VHE扩展),Xvisor等,其架构如图1所示,这种结构的缺点是Hypervisor过于臃肿,安全性不足,尤其是Hypervisor特权态部分出问题后,会影响整个系统的运行。

2.为了克服1中的问题,另一种方式是创建一个虚拟机,设备后端放在虚拟机中,如XEN,ARCN等,其架构如图2所示,采用这样的方式,Hypervisor由于没有了设备后端,体积会小很多,安全性也大大提高了,但是虚拟机同样会存在单点故障问题。

因此,需要提供一种系统整体安全性高并且可以提高灵活性的Hypervisor微内核架构来解决上述技术问题。

发明内容

为了解决上述技术问题,本发明提供了一种基于分布式的Hypervisor微内核架构。解决了现有技术中后端服务集中实现存在单点故障,影响系统安全性的问题。

本发明的技术效果通过如下实现的:

一种基于分布式的Hypervisor微内核架构,所述Hypervisor微内核架构用于实现设备前端和设备后端之间的通信,设备前端和设备后端分别设于不同的虚拟机中,所述Hypervisor微内核架构包括后端服务注册发布模块和后端服务查询模块,所述后端服务注册发布模块用于供设有设备后端的虚拟机进行发布其提供的后端服务以添加至后端服务注册表,所述后端服务查询模块用于供设有前端的虚拟机通过所述后端服务注册表确定可以提供后端服务的设有设备后端的虚拟机以完成设备前端和设备后端之间的通信。通过在Hypervisor微内核架构中设置后端服务注册发布模块和后端服务查询模块,使得设有设备后端的虚拟机可以发布其提供的后端服务以生成后端服务注册表,使得当设有前端的虚拟机需要后端服务时可以通过后端服务查询模块查询后端服务注册表,根据前端需要服务的类型确定需要的服务由后端服务注册表中可以提供该服务的后端以实现前端和后端的通信,解决了现有技术中提供所有服务类型的设备后端集成在一个虚拟机上,导致后端服务集中实现存在单点故障,影响系统安全性的问题,同时也避免了设备后端设置在Hypervisor中过于臃肿,在Hypervisor特权态部分出问题后影响整个系统的运行的问题。

进一步地,后端服务为存储设备后端服务或网络设备后端服务。

进一步地,还包括事件通信模块,所述事件通信模块用于将设有设备前端的虚拟机和设有设备后端的虚拟机之间进行事件通知。

进一步地,还包括共享内存模块,所述共享内存模块用于供设备前端的虚拟机和设有设备后端的虚拟机之间进行数据传输。

另外,还提供一种基于分布式的Hypervisor微内核架构的通信方法,所述方法基于上述的基于分布式的Hypervisor微内核架构实现的,所述方法包括:

当设有设备后端的第一虚拟机启动时,通过后端服务注册发布模块发布所述第一虚拟机提供的后端服务以添加至后端服务注册表;

当设有设备前端的第二虚拟机需要后端服务时,通过后端服务查询模块查询后端服务注册表;

根据第二虚拟机需要的后端服务和查询到的后端服务注册表确定第二虚拟机的服务提供者,以完成第一虚拟机和第二虚拟机之间的通信。

进一步地,所述后端服务注册表为设备后端的虚拟机和所述虚拟机提供的后端服务之间的对应关系。

进一步地,根据第二虚拟机需要的后端服务和查询到的后端服务注册表确定第二虚拟机的服务提供者,包括:

根据查询到的后端服务注册表可以得到设备后端的虚拟机和所述虚拟机提供的后端服务之间的对应关系;

根据第二虚拟机需要的后端服务和所述对应关系确定提供所述后端服务的虚拟机,即为第二虚拟机的服务提供者。

进一步地,根据第二虚拟机需要的后端服务和查询到的后端服务注册表确定第二虚拟机的服务提供者,之后包括:

通过事件通信模块建立第二虚拟机和第二虚拟机的服务提供者的事件通信通道;

通过事件通信信道第二虚拟机与第二虚拟机的服务提供者进行通信。

进一步地,通过事件通信模块建立第二虚拟机和第二虚拟机的服务提供者的事件通信通道,之后包括:

通过共享内存模块建立第二虚拟机和第二虚拟机的服务提供者的数据传输通道。

另外,还提供一种设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述的基于分布式的Hypervisor微内核架构的通信方法。

如上所述,本发明具有如下有益效果:

1)通过在Hypervisor微内核架构中设置后端服务注册发布模块和后端服务查询模块,使得设有设备后端的虚拟机可以发布其提供的后端服务以生成后端服务注册表,使得当设有前端的虚拟机需要后端服务时可以通过后端服务查询模块查询后端服务注册表,根据前端需要服务的类型确定由后端服务注册表中可以提供该服务的后端以实现前端和后端的通信,解决了现有技术中提供所有服务类型的设备后端集成在一个虚拟机上,导致后端服务集中实现存在单点故障,影响系统安全性的问题,同时也避免了设备后端设置在Hypervisor中过于臃肿,在Hypervisor特权态部分出问题后影响整个系统的运行的问题。

2)通过在Hypervisor微内核架构中设置后端服务注册发布模块和后端服务查询模块,同时将提供不同服务的设备后端设置在不同的虚拟机中,当设有设备前端的虚拟机需要后端服务时,可以通过后端服务查询模块快速确定可以提供该服务的后端,从而实现前端和后端快速建立通信,提升了系统的灵活性和高效性。

附图说明

为了更清楚地说明本发明的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还能够根据这些附图获得其它附图。

图1为现有技术中设有设备后端的Hypervi sor和设有设备前端的虚拟机的结构框图;

图2为现有技术中设有设备后端的虚拟机、设有设备前端的虚拟机和Hypervi sor的结构框图;

图3为本说明书实施例提供的一种基于分布式的Hypervisor微内核架构的结构框图;

图4为本说明书实施例提供的一种基于分布式的Hypervisor微内核架构的通信方法的信息交互示意图;

图5为本说明书实施例提供的一种基于分布式的Hypervisor微内核架构的通信方法的流程示意图。

其中,图中附图标记对应为:

后端服务注册发布模块1、后端服务查询模块2、事件通信模块3、共享内存模块4。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

目前的Hyperv i sor架构中,设备后端的实现方式一般有如下两种:

第一种方式是,设备后端在Hyperv i sor中,如K虚拟机(VHE扩展),Xv i sor等,其架构如图1所示,这种结构的缺点是Hyperv i sor过于臃肿,安全性不足,尤其是Hypervi sor特权态部分出问题后,会影响整个系统的运行。

第二种方式是,设备后端放在虚拟机中,如XEN,ARCN等,其架构如图2所示,采用这样的方式,Hyperv i sor由于没有了设备后端,体积会小很多,安全性也大大提高了,但是虚拟机同样会存在单点故障问题。

因而,本申请提出了一种提升系统中前端和后端通信安全性的技术方案,使得设有设备后端的虚拟机可以发布其提供的后端服务以生成后端服务注册表,使得当设有前端的虚拟机需要后端服务时可以查询后端服务注册表,根据前端需要服务的类型确定由后端服务注册表中可以提供该服务的后端以实现前端和后端的通信,该技术方案能够有效解决现有技术中提供所有服务类型的设备后端集成在一个虚拟机上,导致后端服务集中实现存在单点故障,影响系统安全性的问题。

如图3-4所示,本说明书实施例提供了一种基于分布式的Hypervisor微内核架构,Hypervisor微内核架构用于实现设备前端和设备后端之间的通信,设备前端和设备后端分别设于不同的虚拟机中,Hypervisor微内核架构包括后端服务注册发布模块1和后端服务查询模块2,后端服务注册发布模块1用于供设有设备后端的虚拟机进行发布其提供的后端服务以添加至后端服务注册表,后端服务查询模块2用于供设有前端的虚拟机通过后端服务注册表确定可以提供后端服务的设有设备后端的虚拟机以完成设备前端和设备后端之间的通信。

优选地,后端服务为存储设备后端服务或网络设备后端服务。

具体地,后端服务由多个虚拟机来实现,每个虚拟机只负责一个或者几个后端服务;例如,如图4所示,可以把网络设备的后端放到Guest 0中,而把存储设备的后端放到Guest 1中,这样Guest 0和Guest 1就称为提供后端服务的虚拟机。

其中,由于将多个设备后端放到了多个虚拟机中,设有设备前端的虚拟机的需要知道后端服务的分布信息,即需要知道提供不同后端服务的后端具体设置在哪个虚拟机中,才能与提供后端服务的虚拟机进行通信。因此,这就需要Hypervisor微内核架构提供相应的机制。

具体地,Hypervisor微内核架构中后端服务注册发布模块1提供后端服务的注册发布机制,供设有设备后端的虚拟机发布其可以提供的后端服务,各个设有设备后端的虚拟机均发布其可以提供的服务,发布的服务信息形成后端服务注册表存在于Hypervisor微内核架构中。后端服务注册表为提供不同后端服务的设备后端与虚拟机之间的对应关系。

具体地,Hypervisor微内核架构中后端服务查询模块2提供后端服务查询机制,供需要后端服务的虚拟机通过后端服务注册表查询其对应的可以提供该服务的后端,并通过查询可以确定提供该服务的后端所在虚拟机,从而实现需要后端服务的虚拟机和提供后端服务的虚拟机之间的通信。

优选地,还包括事件通信模块3,事件通信模块3用于将设有设备前端的虚拟机和设有设备后端的虚拟机之间进行事件通知。

具体地,事件通信模块3提供虚拟机之间的事件通信机制,供前端和后端通信使用,即设备前端和设备后端基于事件通信模块3中的机制进行事件的通知。

优选地,还包括共享内存模块4,共享内存模块4用于供设备前端的虚拟机和设有设备后端的虚拟机之间进行数据传输。

共享内存模块4提供虚拟机之间的共享内存机制,供前端和后端共享数据使用,即设备前端和设备后端共享内存模块4中的机制进行数据的传输。

如图4和图5所示,本说明书实施例提供了一种基于分布式的Hypervisor微内核架构的通信方法,方法基于上述的基于分布式的Hypervisor微内核架构实现的,方法包括:

S100:当设有设备后端的第一虚拟机启动时,通过后端服务注册发布模块1发布第一虚拟机提供的后端服务以添加至后端服务注册表;

其中,后端服务注册表为设备后端的虚拟机和虚拟机提供的后端服务之间的对应关系。

S200:当设有设备前端的第二虚拟机需要后端服务时,通过后端服务查询模块2查询后端服务注册表;

S300:根据第二虚拟机需要的后端服务和查询到的后端服务注册表确定第二虚拟机的服务提供者,以完成第一虚拟机和第二虚拟机之间的通信。

一种具体的实施方式中,步骤300根据第二虚拟机需要的后端服务和查询到的后端服务注册表确定第二虚拟机的服务提供者,包括:

根据查询到的后端服务注册表可以得到设备后端的虚拟机和虚拟机提供的后端服务之间的对应关系;

根据第二虚拟机需要的后端服务和对应关系确定提供后端服务的虚拟机,即为第二虚拟机的服务提供者。

一种具体的实施方式中,步骤300根据第二虚拟机需要的后端服务和查询到的后端服务注册表确定第二虚拟机的服务提供者,之后包括:

通过事件通信模块3建立第二虚拟机和第二虚拟机的服务提供者的事件通信通道;

通过事件通信信道第二虚拟机与第二虚拟机的服务提供者进行通信。

一种具体的实施方式中,通过事件通信模块3建立第二虚拟机和第二虚拟机的服务提供者的事件通信通道,之后包括:

通过共享内存模块4建立第二虚拟机和第二虚拟机的服务提供者的数据传输通道。

具体地,如图4所示,把存储后端放到Guest 1中,Guest 1为提供存储服务的虚拟机,设有存储前端的Guest 2和Guest 1之间通过Hypervisor微内核架构中事件通信模块3和共享内存模块4分别进行事件通信和数据传输。

本说明书实施例提供了一种设备,设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述的基于分布式的Hypervisor微内核架构的通信方法。

虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。

在不冲突的情况下,本文中上述实施例及实施例中的特征能够相互结合。

以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号