一种松耦合空闲云主机自主供给的方法和系统技术方案

技术编号:34881813 阅读:59 留言:0更新日期:2022-09-10 13:38
本发明专利技术基于开源OpenStack平台、开源Sp i ce Server和C l i ent,公开了一种松耦合空闲云主机自主供给的方法和系统,属于桌面虚拟化技术领域,其包括:S1、整合OpenStack平台相关信息和客户端信息,创建数据库、生成数据表模块;S2、依托OpenStack平台AP I和Li bvi rt AP I,建立SOA服务接口;S3、定时更新步骤S1数据表中空闲云主机信息的服务进程;S4、客户端选择空闲云主机登录模块;S5、客户端调用Sp i ce C l i ent终端成功登录云主机,并添加步骤S1数据表中心跳时间和客户机Mac地址,实时监控Sp i ce C l i ent终端进程;S6、客户端定时更新步骤S1数据表中心跳时间;S7、客户端删除步骤S1数据表中心跳时间和客户机Mac地址并退出。S1数据表中心跳时间和客户机Mac地址并退出。S1数据表中心跳时间和客户机Mac地址并退出。

【技术实现步骤摘要】
一种松耦合空闲云主机自主供给的方法和系统


[0001]本专利技术涉及桌面虚拟化
,基于开源OpenStack平台、开源Spice Server和Client的空闲云主机自主供给方法和系统,并且与原生环境(OpenStack平台、Spice Server和Client)松耦合,具有较强的使用普适性。

技术介绍

[0002]开源OpenStack平台实现了服务器虚拟化,把服务器虚拟化为多台云主机以提供用户使用。
[0003]开源Spice Server和Client采用开源的Spice协议实现云主机桌面可视化,提供给不同用户不同云主机桌面服务。Spice Server分配给不同云主机不同端口号,Spice Client利用Spice协议基于端口号实现云主机桌面可视化。
[0004]针对任意云主机使用者,Spice Client端的使用存在两个盲区:1.不清楚Spice Server端分配给不同云主机的端口号信息;2.不清楚当前云主机资源是否被占用情况,无法精准获取空闲云主机造成使用冲突,用户体验不友好。

技术实现思路

[0005]为解决上述的问题,本专利技术提供了一种松耦合空闲云主机自主供给方法和系统,该方法主要以构建云主机使用数据表并定时更新从而实现空闲云主机判断,借助专利技术系统实现空闲云主机自主供给,且方法和系统与开源的原生环境(Openstack、Spice Server和Spice Client)松耦合。
[0006]本专利技术的技术方案如下:
[0007]本专利技术所采取的技术方案是:一种松耦合空闲云主机自主供给的方法和系统,包括:
[0008]S1、整合OpenStack相关信息和客户端信息,创建数据库、生成数据模块;
[0009]S2、依托OpenStack平台API、Libvirt API和步骤S1生成的数据表,建立SOA服务接口;
[0010]S3、调用S2SOA服务接口,定时更新步骤S1生成的数据表中空闲云主机信息服务进程;
[0011]S4、客户端选择项目登录云主机,调用步骤S2SOA服务接口判断是否存在隶属于选择项目的空闲云主机,存在则执行步骤S5,不存在则结束本次登录操作;
[0012]S5、客户端隐藏面板,调用Spice Client终端成功登录云主机,调用步骤S2SOA服务接口对步骤S1数据表添加客户端心跳时间和客户机Mac地址,并实时监控Spice Client终端进程,当Spice Client终端进程存在则执行步骤6,否则执行步骤7。
[0013]S6、客户端调用步骤S2SOA服务接口定时更新步骤S1数据表中客户端终端心跳时间。
[0014]S7、客户端调用步骤S2SOA服务接口删除步骤S1数据表中客户端心跳时间和客户
机Mac地址并结束进程。
[0015]上述方法中,步骤S1中,产生四张数据表,表结构见说明书附件图1~4,本专利技术提出的方法和系统都是基于这四张数据表。
[0016]上述方法中,步骤S2中,利用Openstack平台API、Libvirt API和S1生成的数据表构建面向服务的组件,其实现功能包括:查询Openstack平台Mysql数据库、启动云主机、查询云主机spice端口号、增删改查S1生成的数据表等操作。
[0017]上述方法中,步骤S3中,通过调用步骤S2SOA服务接口对步骤S1生成数据表中云主机相关信息分析,定时对云主机运行状态(active或stopped)查询和心跳时间是否过期判断,若云主机运行状态为stopped,则启动云主机并删除占用该云主机客户端Mac地址和心跳时间信息;若云主机心跳时间过期,则删除占用该云主机客户端Mac地址和心跳时间信息。云主机空闲的判断依据分三种情况:该云主机是状态为stopped、不存在被占用客户端Mac地址和心跳时间、存在被占用客户端Mac地址和心跳时间且心跳时间已过期。
[0018]上述方法中,步骤S4中,客户端首先选择项目登录云主机,进行一台空闲云主机判断并进行S5的操作。判断过程为:

对客户端设置正确性进行判断,错误则显示提示信息,正确则执行



调用步骤S2SOA查询隶属于选择项目的一条云主机当前状态为stopped记录,存在则调用步骤S2SOA,利用该记录中云主机UUID,进行云主机启动,删除该记录客户端Mac地址和心跳时间字段值,调用步骤S2SOA查询该记录中云主机UUID对应的spice端口号,调用Spice Client终端,登录云主机,执行步骤S5;不存在则执行



调用步骤S2SOA查询S1数据表中一条Mac地址为空的记录,存在则调用步骤S2SOA查询该记录中云主机UUID对应的spice端口号,调用Spice Client终端,登录云主机,执行步骤S5;不存在则执行



调用步骤S2SOA返回一条记录(其中云主机隶属与选择项目),该记录满足:当前时间减去步骤S1数据表中客户端心跳时间字段值大于超参数客户端心跳间隔时间阈值字段值,存在则调用步骤S2SOA,删除该记录客户端Mac地址和客户端心跳时间字段值,调用步骤S2SOA查询该记录中云主机UUID对应的spice端口号,调用Spice Client终端,登录云主机,执行步骤S5;不存在则显示提示信息,结束本次登录。
[0019]上述方法中,步骤S5中,客户端隐藏面板,调用Spice Client终端成功登录云主机,并对步骤S1数据表添加客户端心跳时间和客户机Mac地址,并实时监控Spice Client终端进程。
[0020]上述方法中,步骤S6中,客户端定时更新步骤S1数据表中客户端终端心跳时间。
[0021]上述方法中,步骤S7中,客户端删除步骤S1数据表中客户端心跳时间和客户机Mac地址并退出。
[0022]有益效果:1、该种松耦合空闲云主机自主供给的方法和系统,构建了云主机使用情况数据表,通过查询该数据表可知空闲云主机。空闲云主机依据分三种情况:该云主机是状态为stopped、不存在被占用客户端Mac地址和心跳时间、存在被占用客户端Mac地址和心跳时间且心跳时间已过期。通过空闲云主机的自主判断、供给客户端,规避了使用者对云主机信息的了解,以黑匣子形式供使用者使用。2、该种松耦合空闲云主机自主供给的方法和系统,在步骤S7和S3中,能及时释放云主机的资源,提高使用率。3、该种松耦合空闲云主机自主供给的方法和系统,通过S1生成的数据表和S2建立的SOA服务接口实现了与原生环境(开源Openstack平台、开源Spice Server和Client)松耦合,与其版本和适用的操作系统松
耦合,便于用户使用,有较强的普适性。
附图说明
[0023]下面将结合附图对本专利技术作进一步说明,附图中:
[0024]图1是本专利技术系统数据库中Open_Inf表结构;
...

【技术保护点】

【技术特征摘要】
1.一种松耦合空闲云主机自主供给的方法和系统,其特征在于,包括:S1、整合OpenStack平台相关信息和客户端信息,创建数据库、生成数据表模块;S2、依托OpenStack平台API、Libvirt API和步骤S1生成的数据表,建立SOA服务接口;S3、调用步骤S2SOA服务接口,定时更新步骤S1生成的数据表中空闲云主机信息服务进程;S4、客户端选择项目登录云主机,首先进行客户端设置检测,设置不正确则显示提示信息,设置正确则调用步骤S2SOA服务接口判断是否存在隶属于选择项目的空闲云主机,存在则执行步骤S5,不存在则结束本次登录操作;S5、客户端隐藏面板,调用步骤S2SOA服务接口拼凑Spice Client登录云主机地址,调用Spice Client终端成功登录云主机,调用步骤S2SOA服务接口对步骤S1数据表添加客户端心跳时间和客户机Mac地址,并实时监控Spice Client终端进程,当Spice Client终端进程存在则执行步骤6,否则执行步骤7。S6、客户端调用步骤S2SOA服务接口定时更新步骤S1数据表中客户端终端心跳时间。S7、客户端调用步骤S2SOA服务接口删除步骤S1数据表中客户端心跳时间和客户机Mac地址并结束进程。2.根据权利要求1所述的一种松耦合空闲云主机自主供给的方法和系统,其特征在于:步骤S1中,将产生四张数据表,表结构见说明书附件图1~4,本发明提出的方法和系统都是基于这四张数据表。3.根据权利要求1或2所述的一种松耦合空闲云主机自主供给的方法和系统,其特征在于:步骤S2中,利用Openstack平台API、Libvirt API和步骤S1生成的数据表构建面向服务的组件,其实现功能包括:查询Openstack平台Mysql数据库、启动云主机、查询云主机spice端口号、增删改查S1生成的数据表等操作。4.根据权利要求1或2所述的一种松耦合空闲云主机自主供给的方法和系统,其特征在于:步骤S3中,通过调用步骤S2SOA服务接口对步骤S1生成数据表中云主机相关信息分析,定时对云主机运行状态(active或stopped)和心跳时间是否过期进行判断,若云主机运行状态为stopped,则启动云主机并删除占用该云主机客户端Mac地址和心跳时间信息;若云主机心跳时间过期,则删除占用该云主机客户端Mac地址和心跳时间信息。云主机空闲的判断依据分三种情况:该云主机是状态为stopped、不存在被占...

【专利技术属性】
技术研发人员:张俊飞
申请(专利权)人:广州医科大学
类型:发明
国别省市:

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

1