一种域间通讯的装置、方法及设备与流程

xiaoxiao10月前  84



1.本发明属于安全通讯技术领域,涉及一种域间通讯的装置、方法及设备。


背景技术:

2.随着云终端服务产品、计算云平台、行业云平台、社交云平台、存储云平台、交易云平台、测试云平台等的广泛应用。越来越多的虚拟化技术得到应用,如:服务器虚拟化、应用虚拟化、存储虚拟化、网络虚拟化。操作系统虚拟化,宿主机与虚拟机是绕不开的一个话题,而域间的通讯则是一项关键技术。
3.一台物理宿主机上可以虚拟出多个虚拟机,各个虚拟机之间相互隔离,并能同时相互独立运行,可以实现提高资源利用率,提高管理效率的目标。作为云计算的基础类技术,虚拟化技术在近年来得到了大量的应用和推广。
4.目前域间通讯一般采用网络通讯、虚拟网络通讯或共享等机制实现,网络通讯一般利用网卡特定模式如:桥接模式和nat模式等,网络通讯一般会挤压网络空间影响产品的性能。而共享机制一般采用共享文件或开源的一些共享机制如:共享内存实现,共享机制性能较低下,不易于产品化。两个机制共同的缺点是安全性低,通讯过程中容易被侦听,数据安全得不到保障。
5.因此,如何提供一种能够保证支持宿主机与虚拟机之间、虚拟机与虚拟机之间数据安全通讯的域间通讯的装置、方法及设备是本领域技术人员亟需解决的问题。


技术实现要素:

6.有鉴于此,本发明提出了一种域间通讯的装置、方法及设备,解决现有技术中的技术问题。
7.为了实现上述目的,本发明采用如下技术方案:本发明提供了一种域间通讯的装置,包括pcie域间通讯卡,所述pcie域间通讯卡与宿主机通过pcie接口连接,宿主机内搭建有n个虚拟机;所述pcie域间通讯卡内配置域间调度模块和多域sram模块,n≥1;所述多域sram模块包括宿主机sram芯片和n个虚拟机sram芯片;宿主机sram芯片与宿主机对应,n个虚拟机sram芯片与n个所述虚拟机一一对应,并且宿主机sram芯片和虚拟机sram芯片之间,n个虚拟机sram芯片之间物理隔离;所述域间调度模块用于接收宿主机发送的数据,并对应存储至所述宿主机sram芯片,同步宿主机sram芯片数据至目标虚拟机对应的目标虚拟机sram芯片,将所述对应的目标虚拟机sram芯片数据发送至所述目标虚拟机后清除宿主机sram芯片数据和目标虚拟机sram芯片数据;所述域间调度模块还用于接收发送端虚拟机发送的数据,并对应存储至发送端虚拟机对应的发送端虚拟机sram芯片,同步发送端虚拟机sram芯片数据至宿主机sram芯片或目标虚拟机对应的目标虚拟机sram芯片,将所述宿主机sram芯片数据发送至所述宿主机后
清除宿主机sram芯片数据和发送端虚拟机sram芯片数据,或将所述目标虚拟机sram芯片数据发送至所述目标虚拟机后清除目标虚拟机sram芯片数据和发送端虚拟机sram芯片数据。
8.优选的,还包括域间通讯模块,所述域间通讯模块设置于宿主机和虚拟机中,包括域间数据发送模块和域间数据接收模块;域间数据发送模块用于将数据发送至宿主机或各虚拟机对应的宿主机sram芯片或虚拟机sram芯片;域间数据接收模块用于接收宿主机或各虚拟机对应的宿主机sram芯片或虚拟机sram芯片中的数据。
9.优选的,所述域间通讯模块通讯数据包格式包括:发送数据的域号+接收数据的域号+数据长度+数据+数据结束标识。
10.优选的,域间调度模块同步宿主机sram芯片数据包至目标虚拟机对应的目标虚拟机sram芯片后,数据包加入数据结束标识,域间调度模块根据目标虚拟机sram芯片中的数据结束标识,通知对应目标虚拟机读取数据,目标虚拟机读取数据后将对应目标虚拟机sram芯片数据清除。
11.优选的,域间调度模块同步发送端虚拟机sram芯片数据包至宿主机sram芯片或目标虚拟机对应的目标虚拟机sram芯片后,数据包加入数据结束标识,域间调度模块根据宿主机sram芯片或目标虚拟机sram芯片中的数据结束标识,通知宿主机或目标虚拟机读取数据,宿主机或目标虚拟机读取数据后将宿主机sram芯片或目标虚拟机sram芯片数据清除。
12.本发明还提供了一种域间通讯方法,应用所述的域间通讯的装置,包括如下步骤:接收宿主机发送的数据,并对应存储至所述宿主机sram芯片,同步宿主机sram芯片数据至目标虚拟机对应的目标虚拟机sram芯片,将所述对应的目标虚拟机sram芯片数据发送至所述目标虚拟机后清除宿主机sram芯片数据和目标虚拟机sram芯片数据;接收发送端虚拟机发送的数据,并对应存储至发送端虚拟机对应的发送端虚拟机sram芯片,同步发送端虚拟机sram芯片数据至宿主机sram芯片或目标虚拟机对应的目标虚拟机sram芯片,将所述宿主机sram芯片数据发送至所述宿主机后清除宿主机sram芯片数据和发送端虚拟机sram芯片数据,或将所述目标虚拟机sram芯片数据发送至所述目标虚拟机后清除目标虚拟机sram芯片数据和发送端虚拟机sram芯片数据。
13.本发明还提供了一种设备,包括所述的域间通讯的装置。
14.经由上述的技术方案可知,与现有技术相比,本发明的有益效果包括:本发明利用宿主机sram芯片和n个虚拟机sram芯片对传送数据的独立转存和发送功能,能够支持宿主机与虚拟机之间数据安全通讯,虚拟机和虚拟机之间数据安全通讯,提供独立的域间通讯接口,通讯过程中数据无法被侦听,域间通讯性能可达30gbps。
附图说明
15.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图;图1为本发明一种实施例提供的域间通讯的装置的原理图;
图2为本发明一种实施例提供的pcie域间通讯卡示意图;图3为本发明一种实施例提供的域间通讯模块通讯数据包格式示意图。
具体实施方式
16.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
17.参见图1-2本发明第一方面公开了一种域间通讯的装置,包括pcie域间通讯卡,pcie域间通讯卡与宿主机通过pcie接口连接,直接插在宿主机上面;宿主机内搭建有n个虚拟机;pcie域间通讯卡内配置域间调度模块和多域sram模块,n≥1;多域sram模块包括宿主机sram芯片和n个虚拟机sram芯片;宿主机sram芯片与宿主机对应,n个虚拟机sram芯片与n个虚拟机一一对应,并且宿主机sram芯片和虚拟机sram芯片之间,n个虚拟机sram芯片之间物理隔离;域间调度模块用于接收宿主机发送的数据,并对应存储至宿主机sram芯片,同步宿主机sram芯片数据至目标虚拟机对应的目标虚拟机sram芯片,将对应的目标虚拟机sram芯片数据发送至目标虚拟机后清除宿主机sram芯片数据和目标虚拟机sram芯片数据;域间调度模块还用于接收发送端虚拟机发送的数据,并对应存储至发送端虚拟机对应的发送端虚拟机sram芯片,同步发送端虚拟机sram芯片数据至宿主机sram芯片或目标虚拟机对应的目标虚拟机sram芯片,将宿主机sram芯片数据发送至宿主机后清除宿主机sram芯片数据和发送端虚拟机sram芯片数据,或将目标虚拟机sram芯片数据发送至目标虚拟机后清除目标虚拟机sram芯片数据和发送端虚拟机sram芯片数据。
18.本实施例中,域间调度模块运行于pcie域间通讯卡内部。宿主机与虚拟机数据通讯时,能够接收宿主机数据,将宿主机数据存放于宿主机sram模块,能够同步宿主机sram模块数据至待发送虚拟机sram模块,同步数据过程发生在pcie域间通讯卡内部。虚拟机与宿主机数据通讯以及虚拟机与虚拟机之间数据通讯,域间调度模块工作原理相同。
19.多虚拟机sram模块运行于pcie域间通讯卡内部。为宿主机以及每个虚拟机配置sram芯片,各个sram芯片每个都是一个物理实体,主控访问时对应的每个sram芯片的物理地址均不同,保证了虚拟机sram芯片之间物理隔离;宿主机以及各虚拟机通讯的数据临时保存在pcie域间通讯卡多域sram模块中,通讯完毕后数据立刻销毁。各sram芯片间物理隔离,从物理层杜绝数据交叉以及避免数据互相覆盖,通讯完毕数据立刻销毁,确保数据互相隔离以及确保数据安全性。
20.在一个实施例中,还包括域间通讯模块,域间通讯模块设置于宿主机和虚拟机中,包括域间数据发送模块和域间数据接收模块;域间数据发送模块用于将数据发送至宿主机或各虚拟机对应的宿主机sram芯片或虚拟机sram芯片;域间数据接收模块用于接收宿主机或各虚拟机对应的宿主机sram芯片或虚拟机sram芯片中的数据。
21.容易理解的是,pcie域间通讯卡能够与宿主机通讯,也能够与虚拟机通讯,域间调
度模块运行于pcie域间通讯卡内部,将宿主机、各虚拟机对应的sram芯片中的数据进行调度与同步。与宿主机通讯时,能够通过域间调度模块接收宿主机数据并把宿主机数据存放于宿主机对应的sram芯片内并将存放于宿主机对应的sram芯片内的数据发送至宿主机;与虚拟机通讯时,能够通过域间调度模块接收虚拟机数据并把虚拟机数据存放于虚拟机对应的sram芯片内并将存放于虚拟机对应的sram芯片内的数据发送至虚拟机。
22.在一个实施例中,域间通讯模块通讯数据包格式包括:发送数据的域号+接收数据的域号+数据长度+数据+数据结束标识。除数据外其他项以32位(int)对齐。具体包括:发送数据的虚拟机号+接收数据的宿主机号+数据长度+数据+数据结束标识;发送数据的虚拟机号+接收数据的虚拟机号+数据长度+数据+数据结束标识;发送数据的宿主机号+接收数据的虚拟机号+数据长度+数据+数据结束标识。
23.在一个实施例中,域间调度模块同步宿主机sram芯片数据包至目标虚拟机对应的目标虚拟机sram芯片后,数据包加入数据结束标识,域间调度模块根据目标虚拟机sram芯片中的数据结束标识,通知对应目标虚拟机读取数据,目标虚拟机读取数据后将对应目标虚拟机sram芯片数据清除。
24.在一个实施例中,域间调度模块同步发送端虚拟机sram芯片数据包至宿主机sram芯片或目标虚拟机对应的目标虚拟机sram芯片后,数据包加入数据结束标识,域间调度模块根据宿主机sram芯片或目标虚拟机sram芯片中的数据结束标识,通知宿主机或目标虚拟机读取数据,宿主机或目标虚拟机读取数据后将宿主机sram芯片或目标虚拟机sram芯片数据清除。
25.在一个实施例中,数据包具体格式内容如下:发送数据的虚拟机号:宿主机默认为0号。若支持64个虚拟机,各虚拟机依次为1-64。该发送数据的虚拟机由硬件根据数据发起的设备id,由硬件自动填充。即发起方的虚拟机号不能篡改,能够溯源发起者的身份。
26.接收数据的虚拟机号:宿主机默认为0号。假设支持64个虚拟机,各虚拟机依次为1-64;该项域间通讯模块指定,向发给宿主机或虚拟机指定虚拟机号即可。
27.数据长度:发送的数据一共有多长,便于数据处理;数据:待发送或接收的数据;数据结束标识:域间调度模块与域间通讯模块,确定数据是否准备就绪的标志。
28.在一个实施例中,pcie域间通讯卡支持sr-iov功能。
29.本发明第二方面公开了一种应用第一方面公开的域间通讯的装置的域间通讯方法,包括如下步骤:接收宿主机发送的数据,并对应存储至宿主机sram芯片,同步宿主机sram芯片数据至目标虚拟机对应的目标虚拟机sram芯片,将对应的目标虚拟机sram芯片数据发送至目标虚拟机后清除宿主机sram芯片数据和目标虚拟机sram芯片数据;接收发送端虚拟机发送的数据,并对应存储至发送端虚拟机对应的发送端虚拟机sram芯片,同步发送端虚拟机sram芯片数据至宿主机sram芯片或目标虚拟机对应的目标虚拟机sram芯片,将宿主机sram芯片数据发送至宿主机后清除宿主机sram芯片数据和发送端虚拟机sram芯片数据,或将目标虚拟机sram芯片数据发送至目标虚拟机后清除目标虚拟机sram芯片数据和发送端虚拟机sram芯片数据。
30.本发明第三方面公开了一种设备,包括第一方面公开的域间通讯的装置。
31.以上对本发明所提供的域间通讯的装置、方法及设备进行了详细介绍,本实施例中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
32.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本实施例中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本实施例所示的这些实施例,而是要符合与本实施例所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种域间通讯的装置,其特征在于,包括pcie域间通讯卡,所述pcie域间通讯卡与宿主机通过pcie接口连接,宿主机内搭建有n个虚拟机;所述pcie域间通讯卡内配置域间调度模块和多域sram模块,n≥1;所述多域sram模块包括宿主机sram芯片和n个虚拟机sram芯片;宿主机sram芯片与宿主机对应,n个虚拟机sram芯片与n个所述虚拟机一一对应,并且宿主机sram芯片和虚拟机sram芯片之间,n个虚拟机sram芯片之间物理隔离;所述域间调度模块用于接收宿主机发送的数据,并对应存储至所述宿主机sram芯片,同步宿主机sram芯片数据至目标虚拟机对应的目标虚拟机sram芯片,将所述对应的目标虚拟机sram芯片数据发送至所述目标虚拟机后清除宿主机sram芯片数据和目标虚拟机sram芯片数据;所述域间调度模块还用于接收发送端虚拟机发送的数据,并对应存储至发送端虚拟机对应的发送端虚拟机sram芯片,同步发送端虚拟机sram芯片数据至宿主机sram芯片或目标虚拟机对应的目标虚拟机sram芯片,将所述宿主机sram芯片数据发送至所述宿主机后清除宿主机sram芯片数据和发送端虚拟机sram芯片数据,或将所述目标虚拟机sram芯片数据发送至所述目标虚拟机后清除目标虚拟机sram芯片数据和发送端虚拟机sram芯片数据。2.根据权利要求1所述的域间通讯的装置,其特征在于,还包括域间通讯模块,所述域间通讯模块设置于宿主机和虚拟机中,包括域间数据发送模块和域间数据接收模块;域间数据发送模块用于将数据发送至宿主机或各虚拟机对应的宿主机sram芯片或虚拟机sram芯片;域间数据接收模块用于接收宿主机或各虚拟机对应的宿主机sram芯片或虚拟机sram芯片中的数据。3.根据权利要求2所述的域间通讯的装置,其特征在于,所述域间通讯模块通讯数据包格式包括:发送数据的域号+接收数据的域号+数据长度+数据+数据结束标识。4.根据权利要求1所述的域间通讯的装置,其特征在于,域间调度模块同步宿主机sram芯片数据包至目标虚拟机对应的目标虚拟机sram芯片后,数据包加入数据结束标识,域间调度模块根据目标虚拟机sram芯片中的数据结束标识,通知对应目标虚拟机读取数据,目标虚拟机读取数据后将对应目标虚拟机sram芯片数据清除。5.根据权利要求1所述的域间通讯的装置,其特征在于,域间调度模块同步发送端虚拟机sram芯片数据包至宿主机sram芯片或目标虚拟机对应的目标虚拟机sram芯片后,数据包加入数据结束标识,域间调度模块根据宿主机sram芯片或目标虚拟机sram芯片中的数据结束标识,通知宿主机或目标虚拟机读取数据,宿主机或目标虚拟机读取数据后将宿主机sram芯片或目标虚拟机sram芯片数据清除。6.一种域间通讯方法,其特征在于,应用了权利要求1-5中任一项所述的域间通讯的装置,包括如下步骤:接收宿主机发送的数据,并对应存储至所述宿主机sram芯片,同步宿主机sram芯片数据至目标虚拟机对应的目标虚拟机sram芯片,将所述对应的目标虚拟机sram芯片数据发送至所述目标虚拟机后清除宿主机sram芯片数据和目标虚拟机sram芯片数据;接收发送端虚拟机发送的数据,并对应存储至发送端虚拟机对应的发送端虚拟机sram芯片,同步发送端虚拟机sram芯片数据至宿主机sram芯片或目标虚拟机对应的目标虚拟机
sram芯片,将所述宿主机sram芯片数据发送至所述宿主机后清除宿主机sram芯片数据和发送端虚拟机sram芯片数据,或将所述目标虚拟机sram芯片数据发送至所述目标虚拟机后清除目标虚拟机sram芯片数据和发送端虚拟机sram芯片数据。7.一种设备,其特征在于,包括如权利要求1-5中任一项所述的域间通讯的装置。

技术总结
本发明提供了一种域间通讯的装置、方法及设备,包括域间调度模块用于接收宿主机发送的数据,并对应存储至宿主机SRAM芯片,同步宿主机SRAM芯片数据至目标虚拟机对应的目标虚拟机SRAM芯片,将对应的目标虚拟机SRAM芯片数据发送至目标虚拟机后清除宿主机SRAM芯片数据和目标虚拟机SRAM芯片数据;域间调度模块还用于接收发送端虚拟机发送的数据向宿主机和虚拟机传递,数据同步与发送原理与宿主机向虚拟机的数据发送过程相同。本发明能够支持宿主机与虚拟机之间数据安全通讯,虚拟机和虚拟机之间数据安全通讯,通讯过程中数据无法被侦听,确保了数据的安全性。确保了数据的安全性。确保了数据的安全性。


技术研发人员:桑洪波 张培帅 李欢欢 黄石文 张婷 侯爱爽
受保护的技术使用者:三未信安科技股份有限公司
技术研发日:2022.12.12
技术公布日:2023/1/6

最新回复(0)