云场景下虚机获取数据源的方法及系统技术方案

技术编号:35268278 阅读:11 留言:0更新日期:2022-10-19 10:34
本发明专利技术公开了云场景下虚机获取数据源的方法及系统,属于云计算技术领域,本发明专利技术要解决的技术问题为如何在不使用到网络协议栈的情况下,能够高速地获取动态数据源,采用的技术方案为:该方法具体如下:在虚机所在的物理机节点部署数据源代理服务组件;数据源代理服务组件连接指定地址的UnixSocket,并对该Socket的文件描述符进行读写;数据源代理服务组件根据Socket地址通过虚拟机管理服务组件Hypervisor匹配到虚机的UUID,并根据虚机的UUID向数据源服务组件发起请求,获取到虚机的数据源数据,写入与虚机对应的Socket中;虚机创建时,为虚机创建一个或多个Virtio

【技术实现步骤摘要】
云场景下虚机获取数据源的方法及系统


[0001]本专利技术涉及云计算
,具体地说是一种云场景下虚机获取数据源的方法及系统。

技术介绍

[0002]随着越来越多云厂商提供云业务,在云平台上创建云服务器并进行初始化配置也有了越来越多的方法,如cloud

init,cloudbase

init以及云厂商提供的云助手等工具。无论采用哪些工具,进行云服务器初始化配置均需要获取数据源,数据源中包含每台虚机启动时需要配置的参数,一般包含虚机名称、密码、网络信息等内容。
[0003]常用的数据源按照数据是否可以更新分为动态数据源和静态数据源,动态数据源可以根据虚机的配置变化,获取到更新后的配置,这种数据源的提供需要平台侧运行数据源的代理服务;静态数据源则在虚机创建或者启动时就已经确定,一般无法在虚机启动后或运行时进行数据的更新。
[0004]动态的数据源主要采用网络的方式和串口的方式。网络的方式为在虚机内对指定ip地址发起网络数据源的访问请求,平台侧对网卡的数据包进行处理,分析数据包来源的虚机,并为该虚机提供数据源服务,因此,从这种方式上看:
[0005]1)此过程会产生网络流量,占用小部分网络带宽;
[0006]2)整体过程依赖网络协议栈,当用户创建的虚机不需要网卡,或者网络不通的情况下,数据源访问会受阻。
[0007]使用串口的方式则会占用ttySX,X为数字,一般占用ttyS1,虚机对数据源的请求通过读写ttyS1设备来实现,传统串口设备有。使用静态数据源则无法满足动态的数据源更新需求。
[0008]故如何在不使用到网络协议栈的情况下,能够高速地获取动态数据源是目前亟待解决的技术问题。

技术实现思路

[0009]本专利技术的技术任务是提供一种云场景下虚机获取数据源的方法及系统,来解决如何在不使用到网络协议栈的情况下,能够高速地获取动态数据源的问题。
[0010]本专利技术的技术任务是按以下方式实现的,一种云场景下虚机获取数据源的方法,该方法具体如下:
[0011]在虚机所在的物理机节点(即计算节点)部署数据源代理服务组件;
[0012]数据源代理服务组件连接指定地址的Unix Socket,并对该Socket的文件描述符进行读写;
[0013]数据源代理服务组件根据Socket地址通过虚拟机管理服务组件Hypervisor匹配到虚机的UUID,并根据虚机的UUID向数据源服务组件发起请求,获取到虚机的数据源数据,写入与虚机对应的Socket中;
[0014]虚机创建时,为虚机创建一个或多个Virtio

Serial设备,并指定Channel类型为Unix Socket,同时设置Unix Socket地址;
[0015]在虚机镜像内安装虚机初始化软件,在虚机初始化软件中添加新的虚拟串口读写通信模块,虚拟串口读写通信模块用于与Virtio

Serial设备进行通信,写操作对应控制通道,读操作对应数据通道;
[0016]在虚机初始化软件中增加数据源列表项和以虚拟串口读写通信模块为基础的虚机内数据源请求组件,虚机内数据源请求组件发起对指定数据源地址的请求,调用虚拟串口读写通信模块发动数据源请求,并获取请求后的数据源数据内容。
[0017]作为优选,数据源代理服务组件具体如下:
[0018]数据源代理服务组件通过查询虚拟机管理服务组件获取虚机Virtio

Serial驱动的Channel设备和与设备对应的Unix Socket地址,并获取到虚机的UUID,其中,Channel设备用作控制和数据二合一通道或拆分为控制通道和数据通道。
[0019]数据源代理服务组件接收Channel设备控制通道传来的虚机发起的数据源地址请求,根据请求地址和虚机的UUID向数据源服务发起数据源获取请求;
[0020]数据源代理服务组件从数据源服务组件获取到返回数据后,将数据写入该虚机的Channel设备的数据通道。
[0021]更优地,当数据源代理服务组件从Channel设备数据通道接收到指定信息或指定模式的输入时,向数据通道写入指定内容,完成认证过程,确保虚机内正确识别该Channel设备对接的是数据源代理服务组件。
[0022]作为优选,虚机创建具体如下:
[0023]虚机创建时,配置Virtio

Serial设备驱动的Channel设备;
[0024]Channel设备指定设备类型为Unix,即Unix Socket;
[0025]根据虚拟机管理服务组件以及计算节点服务配置,指定设备通信的Socket地址;
[0026]将每台虚机的用于数据源获取的Channel设备配置为一个控制和数据二合一通道或者拆分为控制通道和数据通道两个通道。
[0027]作为优选,虚机内数据源请求组件具体如下:
[0028]虚机内数据源请求组件调用虚拟串口读写通信模块进行初始化,初始化时虚拟串口读写通信模块进行对虚机内vport设备的控制通道进行指定字符串或字符串模式写入,并从数据通道读取返回数据,完成认证;
[0029]虚机内数据源请求组件生成数据源获取请求地址,调用虚拟串口读写通信模块将请求写入控制通道;
[0030]虚机内数据源请求组件监听数据通道,读取控制通道发送请求地址后的数据源数据
[0031]虚机内数据源请求组件解析和处理收到的数据源数据,以虚机初始化软件接收的格式或对象返回调用方,获取数据源。
[0032]更优地,虚拟机管理服务组件还具有如下作用:
[0033]根据虚机创建时的虚机定义,为虚机创建带有Channel设备类型为Unix Socket的控制通道和数据通道;
[0034]为数据源代理服务组件提供虚机定义查询,用于匹配Unix Socket地址与虚机
UUID的对应关系。
[0035]一种云场景下虚机获取数据源的系统,该系统包括数据源服务组件、数据源代理服务组件、虚拟机管理服务组件和虚机内数据源请求组件;
[0036]数据源服务组件用于提供租户侧请求的API,平台侧的数据源代理服务组件通过远程调用方式获取虚机数据源信息;
[0037]数据源代理服务部署在虚机所在的物理机节点(即计算节点)上,用于读写虚机的Virtio

Serial设备的Socket地址,并根据Socket地址通过虚拟机管理服务组件匹配到虚机的UUID,发起数据源服务请求获取数据源;
[0038]虚拟机管理服务组件运行在虚拟机所在的计算节点上,用于虚拟机的创建、虚拟机的状态管理以及虚拟机设备管理;
[0039]虚机内数据源请求组件安装在虚机初始化软件内部,用于读取和缓存各种数据源类型的数据。
[0040]作为优选,虚机内数据源请求组件还用于在虚机初始化软件中添加新的虚拟串口读本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云场景下虚机获取数据源的方法,其特征在于,该方法具体如下:在虚机所在的物理机节点部署数据源代理服务组件;数据源代理服务组件连接指定地址的Unix Socket,并对该Socket的文件描述符进行读写;数据源代理服务组件根据Socket地址通过虚拟机管理服务组件Hypervisor匹配到虚机的UUID,并根据虚机的UUID向数据源服务组件发起请求,获取到虚机的数据源数据,写入与虚机对应的Socket中;虚机创建时,为虚机创建一个或多个Virtio

Serial设备,并指定Channel类型为Unix Socket,同时设置Unix Socket地址;在虚机镜像内安装虚机初始化软件,在虚机初始化软件中添加新的虚拟串口读写通信模块,虚拟串口读写通信模块用于与Virtio

Serial设备进行通信,写操作对应控制通道,读操作对应数据通道;在虚机初始化软件中增加数据源列表项和以虚拟串口读写通信模块为基础的虚机内数据源请求组件,虚机内数据源请求组件发起对指定数据源地址的请求,调用虚拟串口读写通信模块发动数据源请求,并获取请求后的数据源数据内容。2.根据权利要求1所述的云场景下虚机获取数据源的方法,其特征在于,数据源代理服务组件具体如下:数据源代理服务组件通过查询虚拟机管理服务组件获取虚机Virtio

Serial驱动的Channel设备和与设备对应的Unix Socket地址,并获取到虚机的UUID,其中,Channel设备用作控制和数据二合一通道或拆分为控制通道和数据通道。数据源代理服务组件接收Channel设备控制通道传来的虚机发起的数据源地址请求,根据请求地址和虚机的UUID向数据源服务发起数据源获取请求;数据源代理服务组件从数据源服务组件获取到返回数据后,将数据写入该虚机的Channel设备的数据通道。3.根据权利要求2所述的云场景下虚机获取数据源的方法,其特征在于,当数据源代理服务组件从Channel设备数据通道接收到指定信息或指定模式的输入时,向数据通道写入指定内容,完成认证过程,确保虚机内正确识别该Channel设备对接的是数据源代理服务组件。4.根据权利要求1所述的云场景下虚机获取数据源的方法,其特征在于,虚机创建具体如下:虚机创建时,配置Virtio

Serial设备驱动的Channel设备;Channel设备指定设备类型为Unix,即Unix Socket;根据虚拟机管理服务组件以及计算节点服务配置,指定设备通信的Socket地址;将每台虚机的用于数据源获取的Channel设备配置为一个控制和数据二合一通道或者拆分为控制通道和数据通道两个通道。5.根据权利要求1所述的云场景下虚机获取数据源的方法,其特征在于,虚机内数据源请求组...

【专利技术属性】
技术研发人员:张金生申嘉童丁瑞余礼渊
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1