CN114416275A - 一种实现多个管理客户端同步虚拟机状态的方法及*** - Google Patents
一种实现多个管理客户端同步虚拟机状态的方法及*** Download PDFInfo
- Publication number
- CN114416275A CN114416275A CN202111458658.3A CN202111458658A CN114416275A CN 114416275 A CN114416275 A CN 114416275A CN 202111458658 A CN202111458658 A CN 202111458658A CN 114416275 A CN114416275 A CN 114416275A
- Authority
- CN
- China
- Prior art keywords
- management client
- virtual machine
- management
- state
- service module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种实现多个管理客户端同步虚拟机状态的方法及***,本发明方法包括建立中间服务模块;后端模块等待管理客户端的后台接口调用,若收到管理客户端的后台接口调用,则执行管理客户端的后台接口调用指定管理操作功能;后端模块在指定管理操作功能执行完毕后,将通知信息发送给中间服务模块;中间服务模块将通知信息发送给管理客户端以通知管理客户端虚拟机状态已更新;后端模块等待管理客户端的状态接口调用,若收到管理客户端的状态接口调用,则将最新的虚拟机状态发送给管理客户端。本发明能够让用户在不同的客户端更加及时、更高效率的获取到自己所需要的信息,增强了操作过程的信息内容反馈,增加了用户体验。
Description
技术领域
本发明涉及云计算、虚拟计算、云桌面、计算机网络领域,具体涉及一种实现多个管理客户端同步虚拟机状态的方法及***。
背景技术
很多网站或者实时性要求高的业务场景为了实现推送技术,所用的技术往往采用的都是轮询。轮询是在特定的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。而比较新的技术去做轮询的效果是Comet,这种技术虽然可以双向通信,但依然需要反复发出请求;而且在Comet中,普遍采用的长链接,也会消耗服务器资源。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种实现多个管理客户端同步虚拟机状态的方法及***,本发明能够让用户在不同的客户端更加及时、更高效率的获取到自己所需要的信息,增强了操作过程的信息内容反馈,增加了用户体验。
为了解决上述技术问题,本发明采用的技术方案为:
一种实现多个管理客户端同步虚拟机状态的方法,包括:
1)建立中间服务模块,并与用于管理虚拟机的后端模块建立连接;
2)后端模块等待管理客户端的后台接口调用,若收到管理客户端的后台接口调用,则跳转执行下一步;否则,跳转重新执行步骤2);
3)执行管理客户端的后台接口调用指定管理操作功能;
4)后端模块在指定管理操作功能执行完毕后,将通知信息发送给中间服务模块;
5)中间服务模块将通知信息发送给管理客户端以通知管理客户端虚拟机状态已更新;
6)后端模块等待管理客户端的状态接口调用,若收到管理客户端的状态接口调用,则将最新的虚拟机状态发送给管理客户端。
可选地,步骤1)建立的中间服务模块为基于Websocket协议的Websocket服务模块。
可选地,步骤2)中收到管理客户端的后台接口调用后,后端模块返回管理客户端消息为已下发执行后台接口调用而不是后台接口调用的结果。
可选地,步骤4)中将通知信息发送给中间服务模块具体是指后端模块基于推送技术将通知信息发送给中间服务模块。
可选地,步骤5)中的中间服务模块将通知信息发送给管理客户端具体是指中间服务模块基于推送技术将通知信息推送给管理客户端。
可选地,步骤6)中将最新的虚拟机状态发送给管理客户端具体是指后端模块将最新的虚拟机状态直接发送给管理客户端。
可选地,步骤6)中将最新的虚拟机状态发送给管理客户端具体是指后端模块将最新的虚拟机状态发送给中间服务模块,然后通过中间服务模块间接发送给管理客户端。
可选地,所述管理客户端的执行步骤包括:
S1)向后端模块发起后台接口调用;
S2)监听中间服务模块的指定端口,若监听到虚拟机状态已更新的通知消息,则跳转执行下一步;否则,跳转重新执行步骤S2);
S3)向后端模块发起状态接口调用;
S4)根据后端模块返回的最新的虚拟机状态进行状态呈现。
此外,本发明还提供一种实现多个管理客户端同步虚拟机状态的***,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行所述实现多个管理客户端同步虚拟机状态的方法的步骤。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于被计算机设备执行以实施所述实现多个管理客户端同步虚拟机状态的方法的步骤计算机程序。
和现有技术相比,本发明主要具有下述优点:本发明方法包括建立中间服务模块;后端模块等待管理客户端的后台接口调用,若收到管理客户端的后台接口调用,则执行管理客户端的后台接口调用指定管理操作功能;后端模块在指定管理操作功能执行完毕后,将通知信息发送给中间服务模块;中间服务模块将通知信息发送给管理客户端以通知管理客户端虚拟机状态已更新;后端模块等待管理客户端的状态接口调用,若收到管理客户端的状态接口调用,则将最新的虚拟机状态发送给管理客户端。本发明能够让用户在不同的客户端更加及时、更高效率的获取到自己所需要的信息,增强了操作过程的信息内容反馈,增加了用户体验。
附图说明
图1为本发明实施例方法的基本流程示意图。
具体实施方式
参见图1,本实施例实现多个管理客户端同步虚拟机状态的方法包括:
1)建立中间服务模块,并与用于管理虚拟机的后端模块建立连接;
2)后端模块等待管理客户端的后台接口调用,若收到管理客户端的后台接口调用,则跳转执行下一步;否则,跳转重新执行步骤2);
3)执行管理客户端的后台接口调用指定管理操作功能;
4)后端模块在指定管理操作功能执行完毕后,将通知信息发送给中间服务模块;
5)中间服务模块将通知信息发送给管理客户端以通知管理客户端虚拟机状态已更新;
6)后端模块等待管理客户端的状态接口调用,若收到管理客户端的状态接口调用,则将最新的虚拟机状态发送给管理客户端。
本实施例中,步骤2)中收到管理客户端的后台接口调用后,后端模块返回管理客户端消息为已下发执行后台接口调用而不是后台接口调用的结果。
本实施例中,步骤4)中将通知信息发送给中间服务模块具体是指后端模块基于推送技术将通知信息发送给中间服务模块。
本实施例中,步骤5)中的中间服务模块将通知信息发送给管理客户端具体是指中间服务模块基于推送技术将通知信息推送给管理客户端。
本实施例中,步骤6)中将最新的虚拟机状态发送给管理客户端具体是指后端模块将最新的虚拟机状态直接发送给管理客户端。
本实施例中,步骤6)中将最新的虚拟机状态发送给管理客户端具体是指后端模块将最新的虚拟机状态发送给中间服务模块,然后通过中间服务模块间接发送给管理客户端。
参见图1,本实施例中管理客户端(前端模块)的执行步骤包括:
S1)向后端模块发起后台接口调用;
S2)监听中间服务模块的指定端口,若监听到虚拟机状态已更新的通知消息,则跳转执行下一步;否则,跳转重新执行步骤S2);
S3)向后端模块发起状态接口调用;
S4)根据后端模块返回的最新的虚拟机状态进行状态呈现。
本实施例中,步骤1)建立的中间服务模块为基于Websocket协议的Websocket服务模块。Websocket协议是独立的、创建在TCP上的协议,在前台浏览器和后台服务器之间交换数据时,用于协议控制的数据包头部相对较小,服务传送消息的开销减少,后台服务器可以随时主动给前台服务器下发数据,可以让用户在不同的客户端更加及时、更高效率的获取到自己所需要的信息,增强了操作过程的信息内容反馈,增加了用户体验。HTML5定义的Websocket协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。Websocket是独立的、创建在TCP上的协议。连接创建后,服务器和客户端之间交换数据时,用于协议控制的数据包头部相对较小。在不包含扩展的情况下,对于服务器到客户端的内容,此头部大小只有2至10字节(和数据包长度有关);对于客户端到服务器的内容,此头部还需要加上额外的4字节的掩码。相对于HTTP请求每次都要携带完整的头部,此项开销显著减少了。由于协议是全双工的,所以服务器可以随时主动给客户端下发数据。相对于HTTP请求需要等待客户端发起请求服务端才能响应,延迟明显更少;即使是和Comet等类似的长轮询比较,其也能在短时间内更多次地传递数据。与HTTP不同的是,Websocket需要先创建连接,这就使得其成为一种有状态的协议,之后通信时可以省略部分状态信息。而HTTP请求可能需要在每个请求都携带状态信息(如身份认证等)。Websocket定义了扩展,用户可以扩展协议、实现部分自定义的子协议。如部分浏览器支持压缩等,相对于HTTP压缩,Websocket在适当的扩展支持下,可以沿用之前内容的上下文,在传递类似的数据时,可以显著地提高压缩率。后端模块和前端模块(管理客户端)之间通过Websocket服务模块建立连接;用户通过前端模块操作虚拟机后向后端模块发送请求,后端模块执行处理相关逻辑流程;执行结束之后,后端模块向Websocket服务模块发送消息进行通知,Websocket服务模块接收后端模块推送的消息,并推送至前端模块;前端模块浏览器监听并接收Websocket服务模块推送的消息,此时前端模块自行调用后端相关接口刷新数据,更新虚拟机最新的状态给当前用户;此时已登录的多个管理客户端将会同步虚拟机最新状态。
参照图1,在一个可选的实施例中,云平台用户A登录web控制台,对虚拟机进行相关管理的操作功能,选择虚拟机M,点击功能按钮如开机,云平台后端程序开始执行关机动作的逻辑,处理时间不定;后端程序处理完成,发送消息给Websocket服务模块,Websocket服务模块接收后端模块推送的消息,并推送至前端模块;前端模块的浏览器监听并接收Websocket服务模块推送的消息,此时前端模块自行调用后端相关接口刷新数据,更新虚拟机最新的状态给当前用户。在另一个可选的实施例中,云平台用户A登录web控制台后,对虚拟机M进行管理操作,后端程序执行完相关动作后,通过发送消息给Websocket服务模块,Websocket服务模块接收后端模块推送的消息,并推送至前端模块。前端模块浏览器监听并接收Websocket服务模块推送的消息,此时前端模块自行调用后端相关接口刷新数据,更新虚拟机最新的状态给当前用户;同一时间或不同时间,云平台用户B通过其它客户端登录web控制台后,与用户A停留在同一页面,也能观察到当前虚拟机M的信息。此时用户A、B是可以同步获取到虚拟机M实时的状态信息,以便于进行相关操作。
综上所述,本实施例方法采用的Websocket协议是独立的、创建在TCP上的协议,在前台浏览器和后台服务器之间交换数据时,用于协议控制的数据包头部相对较小,服务传送消息的开销减少,后台服务器可以随时主动给前台服务器下发数据,本实施例方法可以让用户在不同的客户端更加及时、更高效率的获取到自己所需要的信息,增强了操作过程的信息内容反馈,增加了用户体验。
此外,本实施例还提供一种实现多个管理客户端同步虚拟机状态的***,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行前述实现多个管理客户端同步虚拟机状态的方法的步骤。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于被计算机设备执行以实施前述实现多个管理客户端同步虚拟机状态的方法的步骤计算机程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种实现多个管理客户端同步虚拟机状态的方法,其特征在于,包括:
1)建立中间服务模块,并与用于管理虚拟机的后端模块建立连接;
2)后端模块等待管理客户端的后台接口调用,若收到管理客户端的后台接口调用,则跳转执行下一步;否则,跳转重新执行步骤2);
3)执行管理客户端的后台接口调用指定管理操作功能;
4)后端模块在指定管理操作功能执行完毕后,将通知信息发送给中间服务模块;
5)中间服务模块将通知信息发送给管理客户端以通知管理客户端虚拟机状态已更新;
6)后端模块等待管理客户端的状态接口调用,若收到管理客户端的状态接口调用,则将最新的虚拟机状态发送给管理客户端。
2.根据权利要求1所述的实现多个管理客户端同步虚拟机状态的方法,其特征在于,步骤1)建立的中间服务模块为基于Websocket协议的Websocket服务模块。
3.根据权利要求2所述的实现多个管理客户端同步虚拟机状态的方法,其特征在于,步骤2)中收到管理客户端的后台接口调用后,后端模块返回管理客户端消息为已下发执行后台接口调用而不是后台接口调用的结果。
4.根据权利要求3所述的实现多个管理客户端同步虚拟机状态的方法,其特征在于,步骤4)中将通知信息发送给中间服务模块具体是指后端模块基于推送技术将通知信息发送给中间服务模块。
5.根据权利要求4所述的实现多个管理客户端同步虚拟机状态的方法,其特征在于,步骤5)中的中间服务模块将通知信息发送给管理客户端具体是指中间服务模块基于推送技术将通知信息推送给管理客户端。
6.根据权利要求5所述的实现多个管理客户端同步虚拟机状态的方法,其特征在于,步骤6)中将最新的虚拟机状态发送给管理客户端具体是指后端模块将最新的虚拟机状态直接发送给管理客户端。
7.根据权利要求5所述的实现多个管理客户端同步虚拟机状态的方法,其特征在于,步骤6)中将最新的虚拟机状态发送给管理客户端具体是指后端模块将最新的虚拟机状态发送给中间服务模块,然后通过中间服务模块间接发送给管理客户端。
8.根据权利要求1所述的实现多个管理客户端同步虚拟机状态的方法,其特征在于,所述管理客户端的执行步骤包括:
S1)向后端模块发起后台接口调用;
S2)监听中间服务模块的指定端口,若监听到虚拟机状态已更新的通知消息,则跳转执行下一步;否则,跳转重新执行步骤S2);
S3)向后端模块发起状态接口调用;
S4)根据后端模块返回的最新的虚拟机状态进行状态呈现。
9.一种实现多个管理客户端同步虚拟机状态的***,包括相互连接的微处理器和存储器,其特征在于,该微处理器被编程或配置以执行权利要求1~8中任意一项所述实现多个管理客户端同步虚拟机状态的方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有用于被计算机设备执行以实施权利要求1~8中任意一项所述实现多个管理客户端同步虚拟机状态的方法的步骤计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111458658.3A CN114416275A (zh) | 2021-12-01 | 2021-12-01 | 一种实现多个管理客户端同步虚拟机状态的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111458658.3A CN114416275A (zh) | 2021-12-01 | 2021-12-01 | 一种实现多个管理客户端同步虚拟机状态的方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114416275A true CN114416275A (zh) | 2022-04-29 |
Family
ID=81266429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111458658.3A Pending CN114416275A (zh) | 2021-12-01 | 2021-12-01 | 一种实现多个管理客户端同步虚拟机状态的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114416275A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115134344A (zh) * | 2022-06-29 | 2022-09-30 | 济南浪潮数据技术有限公司 | 一种虚拟机控制台的控制方法及组件 |
-
2021
- 2021-12-01 CN CN202111458658.3A patent/CN114416275A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115134344A (zh) * | 2022-06-29 | 2022-09-30 | 济南浪潮数据技术有限公司 | 一种虚拟机控制台的控制方法及组件 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105488837B (zh) | 基于云计算的实时离屏渲染方法、装置及*** | |
CN108270732B (zh) | 一种流媒体处理方法及*** | |
CN104918072A (zh) | 低延时实况视频流传输 | |
CN111064771B (zh) | 一种网络请求处理方法及*** | |
CN108055311B (zh) | Http异步请求方法、装置、服务器、终端和存储介质 | |
CN104158868B (zh) | 一种文件传输方法和管理服务器 | |
CN102523109A (zh) | 资源状态更新方法、管理客户端及服务器 | |
WO2017185615A1 (zh) | 一种业务处理设备的业务状态确定方法及调度设备 | |
WO2021226781A1 (zh) | 防火墙规则的更新方法、装置、服务器及存储介质 | |
CN112473131A (zh) | 实现游戏运行的方法和装置、计算机可读存储介质 | |
CN110399329B (zh) | 一种rdma的数据处理方法及相关装置 | |
CN114416275A (zh) | 一种实现多个管理客户端同步虚拟机状态的方法及*** | |
US9614900B1 (en) | Multi-process architecture for a split browser | |
CN112104679B (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
EP3399725B1 (en) | Multimedia stream multicasting method and device | |
CN112511595B (zh) | 一种消息推送方法及消息服务*** | |
CN111143017B (zh) | 云操作***交互处理方法、客户端及云操作*** | |
CN115580667B (zh) | 数据传输方法、装置、设备及存储介质 | |
CN111756844A (zh) | 一种多语言消息代理方法及装置 | |
CN114338830B (zh) | 数据传输方法、装置、计算机可读存储介质及计算机设备 | |
CA2833346C (en) | Reducing latency for served applications by anticipatory preprocessing | |
CN111835770B (zh) | 一种数据处理方法、装置、服务器及存储介质 | |
CN114385351A (zh) | 云管理平台负载均衡性能优化方法、装置、设备、介质 | |
CN111477229B (zh) | 语音识别请求处理方法和装置 | |
CN110958240A (zh) | 消息订阅***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |