一种虚拟机控制台的控制方法及组件与流程

文档序号:31708830发布日期:2022-10-01 13:48阅读:166来源:国知局
一种虚拟机控制台的控制方法及组件与流程

1.本技术涉及计算机技术领域,特别涉及一种虚拟机控制台的控制方法及组件。


背景技术:

2.在云平台中,各虚拟机有相应的虚拟机控制台,一般可以登录云平台来控制相应的虚拟机控制台。然而,在登录云平台的客户端异常退出登录的情况下,该客户端在登录过程中使用的虚拟机控制台可能会在异常退出后继续运行,如此则给第三方连接虚拟机控制台提供了便利,容易导致虚拟机控制台的不安全连接和使用。
3.因此,如何提高虚拟机控制台的安全性,是本领域技术人员需要解决的问题。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种虚拟机控制台的控制方法及组件,以提高虚拟机控制台的安全性。其具体方案如下:
5.第一方面,本技术提供了一种虚拟机控制台的控制方法,应用于websocket检测端,包括:
6.若任意客户端成功登录云平台,则建立与websocket服务端之间的通信连接;
7.通过所述通信连接周期性发送心跳包至所述websocket服务端;
8.若检测到所述客户端异常退出登录,则停止发送所述心跳包,以使所述websocket服务端在超时未接收到所述心跳包的情况下,终止所述客户端在登录过程中启用的虚拟机控制台。
9.可选地,所述建立与websocket服务端之间的通信连接,包括:
10.与所述websocket服务端进行握手连接后,接收所述websocket服务端发送的加密字典;
11.对所述加密字典认证通过后,建立所述通信连接。
12.可选地,还包括:
13.若检测到所述客户端正常退出登录,则断开所述通信连接,以使所述websocket服务端终止所述客户端在登录过程中启用的虚拟机控制台。
14.可选地,所述心跳包包括:所述客户端的登录token和当前发送时间戳。
15.可选地,所述心跳包为密文。
16.可选地,所述websocket服务端每次接收到所述心跳包后,解析所述心跳包得到所述客户端的登录token;
17.记录所述登录token,并基于所述登录token确定所述客户端在登录过程中启用的虚拟机控制台;
18.若该虚拟机控制台被未记录登录token的其他客户端启用,则终止该虚拟机控制台与其他客户端的连接。
19.可选地,所述终止所述客户端在登录过程中启用的虚拟机控制台,包括:
20.使相应虚拟机控制台对应的进程停止运行。
21.第二方面,本技术提供了一种虚拟机控制台的控制装置,应用于websocket检测端,包括:
22.通信连接建立模块,用于若任意客户端成功登录云平台,则建立与websocket服务端之间的通信连接;
23.监测模块,用于通过所述通信连接周期性发送心跳包至所述websocket服务端;
24.异常退出检测模块,用于若检测到所述客户端异常退出登录,则停止发送所述心跳包,以使所述websocket服务端在超时未接收到所述心跳包的情况下,终止所述客户端在登录过程中启用的虚拟机控制台。
25.可选地,所述通信连接建立模块具体用于:
26.与所述websocket服务端进行握手连接后,接收所述websocket服务端发送的加密字典;
27.对所述加密字典认证通过后,建立所述通信连接。
28.可选地,还包括:
29.正常退出检测模块,用于若检测到所述客户端正常退出登录,则断开所述通信连接,以使所述websocket服务端终止所述客户端在登录过程中启用的虚拟机控制台。
30.可选地,所述心跳包包括:所述客户端的登录token和当前发送时间戳。
31.可选地,所述心跳包为密文。
32.可选地,所述websocket服务端具体用于:
33.每次接收到所述心跳包后,解析所述心跳包得到所述客户端的登录token;
34.记录所述登录token,并基于所述登录token确定所述客户端在登录过程中启用的虚拟机控制台;
35.若该虚拟机控制台被未记录登录token的其他客户端启用,则终止该虚拟机控制台与其他客户端的连接。
36.可选地,所述终止所述客户端在登录过程中启用的虚拟机控制台,包括:
37.使相应虚拟机控制台对应的进程停止运行。
38.第三方面,本技术提供了一种电子设备,包括:
39.存储器,用于存储计算机程序;
40.处理器,用于执行所述计算机程序,以实现前述公开的虚拟机控制台的控制方法。
41.第四方面,本技术提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的虚拟机控制台的控制方法。
42.通过以上方案可知,本技术提供了一种虚拟机控制台的控制方法,应用于websocket检测端,包括:若任意客户端成功登录云平台,则建立与websocket服务端之间的通信连接;通过所述通信连接周期性发送心跳包至所述websocket服务端;若检测到所述客户端异常退出登录,则停止发送所述心跳包,以使所述websocket服务端在超时未接收到所述心跳包的情况下,终止所述客户端在登录过程中启用的虚拟机控制台。
43.可见,本技术在客户端成功登录云平台后,websocket检测端会建立与websocket服务端之间的通信连接,而后websocket检测端通过通信连接周期性发送心跳包至websocket服务端;当websocket检测端检测到客户端异常退出登录,则停止发送心跳包,那
么websocket服务端就会因超时未接收到心跳包,而终止客户端在登录过程中启用的虚拟机控制台。也即:在某一客户端异常退出登录时,使websocket服务端强制性关闭该客户端在登录过程中启用的虚拟机控制台,那么在客户端异常退出后,其启用的虚拟机控制台就会被相应关闭,因此不会给第三方提供连接虚拟机控制台的便利,也就提高了虚拟机控制台的安全性。
44.相应地,本技术提供的一种虚拟机控制台的控制组件,也同样具有上述技术效果。组件为:装置、设备或可读存储介质。
附图说明
45.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
46.图1为本技术公开的一种虚拟机控制台的控制方法流程图;
47.图2为本技术公开的一种websocket客户端与websocket服务端之间的通信连接示意以及虚拟机控制台的控制示意图;
48.图3为本技术公开的一种websocket客户端与websocket服务端分别执行的具体动作示意图;
49.图4为本技术公开的一种虚拟机控制台的控制装置示意图;
50.图5为本技术公开的一种电子设备示意图。
具体实施方式
51.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
52.目前,在云平台中,各虚拟机有相应的虚拟机控制台,一般可以登录云平台来控制相应的虚拟机控制台。然而,在登录云平台的客户端异常退出登录的情况下,该客户端在登录过程中使用的虚拟机控制台可能会在异常退出后继续运行,如此则给第三方连接虚拟机控制台提供了便利,容易导致虚拟机控制台的不安全连接和使用。为此,本技术提供了一种虚拟机控制台的控制方案,能够提高虚拟机控制台的安全性。
53.参见图1所示,本技术实施例公开了一种虚拟机控制台的控制方法,应用于websocket检测端,包括:
54.s101、若任意客户端成功登录云平台,则建立与websocket服务端之间的通信连接。
55.在本实施例中,客户端是用于登录云平台的用户端,websocket检测端用于检测客户端的使用状态:登录状态、登出状态、登录异常退出状态等。websocket检测端可以是客户端中的一部分程序。websocket是一种网络传输协议,可在单个tcp连接上进行全双工通信,能更好的节省服务器资源和带宽,并达到实时通迅的目的。客户端和服务端只需要完成一
次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。也即:websocket服务端和websocket检测端(即websocket服务端的客户端)只需要完成一次握手,就能建立全双工通信。
56.s102、通过通信连接周期性发送心跳包至websocket服务端。
57.在websocket检测端与websocket服务端建立通信连接后,websocket检测端周期性发送心跳包至websocket服务端,以告知websocket服务端:当前登录客户端所用的登录token、登录时间戳、心跳包发送时间戳等信息,以使websocket服务端明确:哪些token是登录云平台所用的合法token。token为用户登录使用的身份认证令牌。
58.在一种具体实施方式中,websocket检测端建立与websocket服务端之间的通信连接,包括:websocket检测端与websocket服务端进行握手连接后,接收websocket服务端发送的加密字典;对加密字典认证通过后,建立通信连接。在一种具体实施方式中,心跳包包括:客户端的登录token和当前发送时间戳。在一种具体实施方式中,心跳包为密文。其中,加密字典中包括:websocket检测端与websocket服务端互相认证对方的认证信息,双方通信所需的加密算法等。其中,可利用rfb协议封装websocket检测端与websocket服务端之间的通信数据,以做到每一帧的安全传输。
59.需要说明的是,用户登录云平台后,会通过客户端启用云平台中各虚拟机对应的虚拟机控制台,一般一个虚拟机对应一个虚拟机控制台,由此用户就能控制相应虚拟机。因此websocket检测端告知websocket服务端哪些token是登录云平台所用的合法token,可使websocket服务端明确虚拟机控制台的启用方是否合法。例如:如果websocket服务端发现非法token启用某一虚拟机控制台,就可以强制断开该非法token所属客户端与该虚拟机控制台之间的连接,以避免非法token客户端控制虚拟机控制台,从而保护虚拟机控制台的安全。
60.在一种具体实施方式中,websocket服务端每次接收到心跳包后,解析心跳包得到客户端的登录token;记录登录token,并基于登录token确定客户端在登录过程中启用的虚拟机控制台;若该虚拟机控制台被未记录登录token的其他客户端启用,则终止该虚拟机控制台与其他客户端的连接。也即:只允许登录云平台所用的合法token启用虚拟机控制台,而不允许第三方非法token启用虚拟机控制台。本实施例让websocket服务端记录了登录云平台所用的合法token,因此若启用虚拟机控制台的登录token未被websocket服务端记录,说明该登录token不合法。
61.其中,websocket服务端可以通过定时任务来检测非法客户端,而无需每次在接到心跳包后,都检测非法客户端。也即:websocket服务端每次在接到心跳包后,只记录相应信息。而在定时任务触发时,才基于定时任务检测非法客户端。因此在一种具体实施方式中,基于登录token确定客户端在登录过程中启用的虚拟机控制台;若该虚拟机控制台被未记录登录token的其他客户端启用,则终止该虚拟机控制台与其他客户端的连接之前,还包括:判断是否到达非法客户端的定时检测触发时间点,若是,则执行基于登录token确定客户端在登录过程中启用的虚拟机控制台;若该虚拟机控制台被未记录登录token的其他客户端启用,则终止该虚拟机控制台与其他客户端的连接的步骤;否则,等待非法客户端的定时检测触发时间点。
62.s103、若检测到客户端异常退出登录,则停止发送心跳包,以使websocket服务端
在超时未接收到心跳包的情况下,终止客户端在登录过程中启用的虚拟机控制台。
63.由于在客户端异常退出登录后,该客户端在登录过程中使用的虚拟机控制台可能会继续运行,为了保护虚拟机控制台不被非法利用,本实施例使websocket服务端强制关闭此情况下的虚拟机控制台,从而保护虚拟机控制台的安全。一般地,在不登录云平台的情况下,第三方客户端程序在知晓虚拟机的宿主机ip和端口号的情况下,也可以连接到虚拟机控制台,因此需要及时关停虚拟机控制台。
64.在一种具体实施方式中,若websocket检测端检测到客户端正常退出登录,则websocket检测端断开与websocket服务端的通信连接,以使所述websocket服务端终止客户端在登录过程中启用的虚拟机控制台。在一种具体实施方式中,终止客户端在登录过程中启用的虚拟机控制台,包括:使相应虚拟机控制台对应的进程停止运行。也即:一个虚拟机控制台对应一个运行进程,终止一个虚拟机控制台时,关停其运行进程即可。
65.需要说明的是,websocket服务端可以分布在分布式系统的不同节点上,以实现负载均衡,同时,websocket服务端可以同时对接多个websocket检测端,以监听多个云平台客户端的登录状态。
66.可见,本实施例在客户端成功登录云平台后,websocket检测端会建立与websocket服务端之间的通信连接,而后websocket检测端通过通信连接周期性发送心跳包至websocket服务端;当websocket检测端检测到客户端异常退出登录,则停止发送心跳包,那么websocket服务端就会因超时未接收到心跳包,而终止客户端在登录过程中启用的虚拟机控制台。也即:在某一客户端异常退出登录时,使websocket服务端强制性关闭该客户端在登录过程中启用的虚拟机控制台,那么在客户端异常退出后,其启用的虚拟机控制台就会被相应关闭,因此不会给第三方提供连接虚拟机控制台的便利,也就提高了虚拟机控制台的安全性。
67.下述实施例以openstack云平台为例,进一步介绍虚拟机控制台的安全访问以及控制方案。
68.openstack云平台的虚拟机控制台一般基于vnc(一种虚拟化桌面传输协议)或者spice(一种基于kvm虚拟机的开源虚拟化桌面传输协议)实现,相应地,登录云平台的客户端一般是html5 vnc客户端或html5 spice客户端。
69.本实施例依托于websocket双工通信协议,在openstack云平台的后端起动一个或者多个可负载的websocket服务端,在云平台客户端设置一个对应的websocket客户端,在登录云平台的前端web页面之后,会启动websocket客户端。也即:当云平台完成登录之后,websocket客户端和websocket服务端建立长连接,并且根据实际网络情况设置相应的超时时间和心跳策略。其中,超时时间可以作为一个可设置参数,作为各个场景下访问云平台的可选项;心跳通过websocket客户端持续发包进行保持,心跳包主要包括登录云平台的token、登录时间戳、当前心跳包发包时间戳等。心跳包可在rfb协议层封装,以做到每一帧的安全传输。
70.具体的,websocket客户端和websocket服务端之间的长连接的建立可参照图2进行。如图2所示,此二者建立连接时,先进行ws握手,而后进行互相认证,至此连接成功建立,后续websocket客户端持续发心跳包给websocket服务端。
71.websocket服务端对于虚拟机控制台的安全连接检测机制主要分为被动检测和主
动检测。被动检测即:当云平台正常登出,websocket客户端和websocket服务端之间的长连接会断开,那么websocket服务端感知到此断开消息,终止对应客户端的虚拟机控制台的进程的运行。主动检测即:websocket服务端定时对当前服务端所有的虚拟机控制台进行筛查,即:筛查连有非法token的虚拟机控制台,对其连接进行中断,筛查所依据的合法token主要是从心跳包获取。
72.具体的,websocket客户端主要执行以下任务:
73.1.云平台正常登录成功之后,和云平台上的websocket服务端建立连接;连接建立之后,心跳机制开启,客户端获取当前认证token以及当前时间timestamp,然后对token和timestamp进行加密缩减处理,每隔几秒发送到服务端;服务端收到心跳包之后,根据数据包更新客户端记录。
74.2.云平台正常登出情况下,当页面登出之后,客户端主动和服务端断开连接;断开之后,服务端检测当前客户端还在连接的虚拟机控制台,进行中断;检测依据为心跳包中的token和timestamp,查到该虚拟机控制台对应的进程,然后直接对该进程进行终止。
75.3.云平台页面未登出直接进行关闭的情况,此时客户端长连接会异常终止,服务端无法检测到心跳,并且连接超时;此时,服务端检测当前客户端还在连接的虚拟机控制台,进行中断。由于在客户端异常退出登录后,该客户端在登录过程中使用的虚拟机控制台可能会继续运行,为了保护虚拟机控制台不被非法利用,本实施例使websocket服务端强制关闭此情况下的虚拟机控制台,从而保护虚拟机控制台的安全。一般地,在不登录云平台的情况下,第三方客户端程序在知晓虚拟机的宿主机ip和端口号的情况下,也可以连接到虚拟机控制台,因此需要及时关停虚拟机控制台。
76.4.对于非法客户端程序进行的虚拟机控制台连接,通过心跳包提供的合法token和timestamp,主动进行中断。
77.具体的,服务端可采用分布式架构,以应对超大规模场景。例如:多个websocket服务端可以分布在分布式系统的不同节点上,同时,一个websocket服务端可以同时对接多个云平台客户端的登录状态。
78.websocket服务端主要负责以下任务:
79.1.启动监听任务,监听客户端即将到来的连接请求以及需要断开的连接;对于需要断开的连接,检索对应的虚拟机控制台并中断。
80.2.发送加密字典到已连接的客户端;监控并记录已连接客户端的心跳数据,并做相应的记录;并且对监控到的主动断开的客户端进行虚拟机控制台的中断。
81.3.启动一个定时任务,对比记录的心跳数据和虚拟机控制台所连接客户端的一致性,中断非法客户端的连接。如果websocket服务端发现非法token连接某一虚拟机控制台,就可以强制断开该非法token所属客户端与该虚拟机控制台之间的连接,以避免非法token客户端控制虚拟机控制台,从而保护虚拟机控制台的安全。
82.可见,本实施例可以实现以下几种控制:
83.(1)在云平台访问且登录期间,该客户端才可以连接虚拟机控制台;
84.(2)云平台登出之后,该客户端已连接的虚拟机控制台自动断开;
85.(3)云平台页面关闭之后,该客户端已连接的虚拟机控制台自动断开;
86.(4)确保第三方的非法客户端无法连接虚拟机控制台。
87.因此本实施例对于openstack云平台,其中的虚拟机控制台有了更强的保密以及安全性,可防止对虚拟机控制台的恶意操作。对于使用者来说,无需关心当前虚拟机控制台的状态,使用完成后,只需要关闭或者登出云平台即可,还能应对第三方客户端跳过云平台直连虚拟机控制台的情况。
88.下面对本技术实施例提供的一种虚拟机控制台的控制装置进行介绍,下文描述的一种虚拟机控制台的控制装置与上文描述的一种虚拟机控制台的控制方法可以相互参照。
89.参见图4所示,本技术实施例公开了一种虚拟机控制台的控制装置,应用于websocket检测端,包括:
90.通信连接建立模块401,用于若任意客户端成功登录云平台,则建立与websocket服务端之间的通信连接;
91.监测模块402,用于通过通信连接周期性发送心跳包至websocket服务端;
92.异常退出检测模块403,用于若检测到客户端异常退出登录,则停止发送心跳包,以使websocket服务端在超时未接收到心跳包的情况下,终止客户端在登录过程中启用的虚拟机控制台。
93.在一种具体实施方式中,通信连接建立模块具体用于:
94.与websocket服务端进行握手连接后,接收websocket服务端发送的加密字典;
95.对加密字典认证通过后,建立通信连接。
96.在一种具体实施方式中,还包括:
97.正常退出检测模块,用于若检测到客户端正常退出登录,则断开通信连接,以使所述websocket服务端终止客户端在登录过程中启用的虚拟机控制台。
98.在一种具体实施方式中,心跳包包括:客户端的登录token和当前发送时间戳。
99.在一种具体实施方式中,心跳包为密文。
100.在一种具体实施方式中,websocket服务端具体用于:
101.每次接收到心跳包后,解析心跳包得到客户端的登录token;
102.记录登录token,并基于登录token确定客户端在登录过程中启用的虚拟机控制台;
103.若该虚拟机控制台被未记录登录token的其他客户端启用,则终止该虚拟机控制台与其他客户端的连接。
104.在一种具体实施方式中,终止客户端在登录过程中启用的虚拟机控制台,包括:
105.使相应虚拟机控制台对应的进程停止运行。
106.其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
107.可见,本实施例提供了一种虚拟机控制台的控制装置,能够在某一客户端异常退出登录时,使websocket服务端强制性关闭该客户端在登录过程中启用的虚拟机控制台,那么在客户端异常退出后,其启用的虚拟机控制台就会被相应关闭,因此不会给第三方提供连接虚拟机控制台的便利,也就提高了虚拟机控制台的安全性。
108.下面对本技术实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种虚拟机控制台的控制方法及装置可以相互参照。
109.参见图5所示,本技术实施例公开了一种电子设备,包括:
110.存储器501,用于保存计算机程序;
111.处理器502,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
112.在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:若任意客户端成功登录云平台,则建立与websocket服务端之间的通信连接;通过通信连接周期性发送心跳包至websocket服务端;若检测到客户端异常退出登录,则停止发送心跳包,以使websocket服务端在超时未接收到心跳包的情况下,终止客户端在登录过程中启用的虚拟机控制台。
113.在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:与websocket服务端进行握手连接后,接收websocket服务端发送的加密字典;对加密字典认证通过后,建立通信连接。
114.在本实施例中,所述处理器执行所述存储器中保存的计算机程序时,可以具体实现以下步骤:若检测到客户端正常退出登录,则断开通信连接,以使所述websocket服务端终止客户端在登录过程中启用的虚拟机控制台。
115.在一种示例中,本实施例中的电子设备可以是终端,该终端具体可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。如果其他电子设备上运行websocket服务端程序,那么其他电子设备与本实施例中的电子设备建立有websocket连接,其他电子设备具体实现以下步骤:在每次接收到心跳包后,解析心跳包得到客户端的登录token;记录登录token,并基于登录token确定客户端在登录过程中启用的虚拟机控制台;若该虚拟机控制台被未记录登录token的其他客户端启用,则终止该虚拟机控制台与其他客户端的连接。
116.在一种示例中,其他电子设备通过使相应虚拟机控制台对应的进程停止运行来终止客户端在登录过程中启用的虚拟机控制台。
117.进一步的,本技术实施例还提供了一种服务器来作为上述电子设备。该服务器,具体可以包括:至少一个处理器、至少一个存储器、电源、通信接口、输入输出接口和通信总线。其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行,以实现前述任一实施例公开的虚拟机控制台的控制方法中的相关步骤。
118.本实施例中,电源用于为服务器上的各硬件设备提供工作电压;通信接口能够为服务器创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
119.另外,存储器作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统、计算机程序及数据等,存储方式可以是短暂存储或者永久存储。
120.其中,操作系统用于管理与控制服务器上的各硬件设备以及计算机程序,以实现处理器对存储器中数据的运算与处理,其可以是windows server、netware、unix、linux等。计算机程序除了包括能够用于完成前述任一实施例公开的虚拟机控制台的控制方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据除了可以包括虚拟机等数据外,还可以包括虚拟机的开发商信息等数据。
121.进一步的,本技术实施例还提供了一种终端来作为上述电子设备。该终端具体可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
122.通常,本实施例中的终端包括有:处理器和存储器。
123.其中,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
124.存储器可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器至少用于存储以下计算机程序,其中,该计算机程序被处理器加载并执行之后,能够实现前述任一实施例公开的由终端侧执行的虚拟机控制台的控制方法中的相关步骤。另外,存储器所存储的资源还可以包括操作系统和数据等,存储方式可以是短暂存储或者永久存储。其中,操作系统可以包括windows、unix、linux等。数据可以包括但不限于应用程序的更新信息。
125.在一些实施例中,终端还可包括有显示屏、输入输出接口、通信接口、传感器、电源以及通信总线。
126.可见,本实施例提供的电子设备,能够在某一客户端异常退出登录时,使websocket服务端强制性关闭该客户端在登录过程中启用的虚拟机控制台,那么在客户端异常退出后,其启用的虚拟机控制台就会被相应关闭,因此不会给第三方提供连接虚拟机控制台的便利,也就提高了虚拟机控制台的安全性。
127.下面对本技术实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种虚拟机控制台的控制方法、装置及设备可以相互参照。
128.一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的虚拟机控制台的控制方法。
129.在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:若任意客户端成功登录云平台,则建立与websocket服务端之间的通信连接;通过通信连接周期性发送心跳包至websocket服务端;若检测到客户端异常退出登录,则停止发送心跳包,以使websocket服务端在超时未接收到心跳包的情况下,终止客户端在登录过程中启用的虚拟机控制台。
130.在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:与websocket服务端进行握手连接后,接收websocket服务端发送的加密字典;对加密字典认证通过后,建立通信连接。
131.在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:若检测到客户端正常退出登录,则断开通信连接,以使所述websocket服务端终止客户端在登录过程
中启用的虚拟机控制台。
132.在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:在每次接收到心跳包后,解析心跳包得到客户端的登录token;记录登录token,并基于登录token确定客户端在登录过程中启用的虚拟机控制台;若该虚拟机控制台被未记录登录token的其他客户端启用,则终止该虚拟机控制台与其他客户端的连接。
133.在本实施例中,所述处理器执行的计算机程序,可以具体实现以下步骤:使相应虚拟机控制台对应的进程停止运行来终止客户端在登录过程中启用的虚拟机控制台。
134.本技术涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
135.需要说明的是,在本技术中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本技术要求的保护范围之内。
136.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
137.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的可读存储介质中。
138.本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1