CN117395235A - 一种基于远程桌面和web技术的云化应用系统及其方法 - Google Patents

一种基于远程桌面和web技术的云化应用系统及其方法 Download PDF

Info

Publication number
CN117395235A
CN117395235A CN202311104206.4A CN202311104206A CN117395235A CN 117395235 A CN117395235 A CN 117395235A CN 202311104206 A CN202311104206 A CN 202311104206A CN 117395235 A CN117395235 A CN 117395235A
Authority
CN
China
Prior art keywords
virtual machine
cloud
webpage
cloud virtual
application
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
Application number
CN202311104206.4A
Other languages
English (en)
Inventor
龚敏彦
禄学恩
刘威
刘凯文
吴嘉俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Zixel Technology Co ltd
Original Assignee
Shanghai Zixel Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Zixel Technology Co ltd filed Critical Shanghai Zixel Technology Co ltd
Priority to CN202311104206.4A priority Critical patent/CN117395235A/zh
Publication of CN117395235A publication Critical patent/CN117395235A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种基于远程桌面和web技术的云化应用系统及其方法。基于远程桌面和web技术的云化应用系统包括网页前端、调度服务器以及云虚拟机。网页前端用于接收用户操作指令,向用户提供界面和交互组件。云虚拟机用于运行应用实例并接收指令以执行。调度服务器用于信息中转,帮助前端与云虚拟机建立握手连接,以及监测网页前端运行状态。本发明的技术方案依托于远程桌面技术,整体架构简洁,不改变应用程序逻辑,开发成本低。同时该系统采用高效率的数据传输格式,优化网络延迟,对于网络适应性好。并且技术本身支持无显卡的运行方式,有效降低成本。

Description

一种基于远程桌面和web技术的云化应用系统及其方法
技术领域
本发明涉及云化应用架构和web技术领域,尤其是一种基于远程桌面和web技术的云化应用程序的系统与方法。
背景技术
随着“云计算”等信息技术的快速发展和推广,软件应用的云化成为一种发展趋势。对于大型软件应用而言,传统的本地模式需要用户自行安装并管理版本更新问题,且用户的使用体验受限于本地计算机的性能,对计算机配置要求高。此外本地模式难以满足多人协同工作的场景需求,文件管理效率低下。
一个云化应用模式常见的实施方案是纯网页应用。该方案以网页为载体,能提供给用户便捷的使用环境。然而受到网页性能与用户硬件限制,纯网页应用无法保证大规模应用的可视化流畅性。同时,涉及上传和下载等操作时,该方案需要大量的数据传输,无法提供给用户良好的文件操作体验。
另一种实施方案则依托于串流云化技术。该方案通常需要对应用进行深度改造,包括底层文件操作逻辑,因此开发成本高,市场上成功案例较少。而且针对大型、图形丰富、交互复杂的应用,该方案在硬件上通常需要显卡的支持,并对网络性能要求高,因而运行成本高。
发明内容
为了克服上述技术缺陷,本发明的第一个方面提供一种基于远程桌面和web技术的云化应用系统,其包括:
网页前端,所述网页前端用于供用户登录;还用于发送请求启动应用实例的指令至调度服务器;还用于通过调度服务器与云虚拟机之间建立握手连接;还用于接收云虚拟机直接发送的云端远程桌面流和文本信息流,向用户呈现应用窗口界面,并接收用户的应用操作指令;还用于将接收到的用户输入的应用操作指令通过远程桌面接口直接发送至云虚拟机上的应用实例;还用于向用户显示云虚拟机上的应用实例生成执行结果和更新后的界面信息;
调度服务器,所述调度服务器用于将请求启动应用实例的指令转发至云虚拟机;还用于协助建立云虚拟机与网页前端之间的握手连接;还用于一直保持对于网页前端和云虚拟机的状态监听;
云虚拟机,所述云虚拟机用于接收调度服务器转发的请求启动应用实例的指令并启动应用实例;还用于通过调度服务器与网页前端之间建立握手连接;还用于将云端远程桌面流和文本信息流直接传输至网页前端,将应用窗口界面通过远程桌面接口嵌入到网页前端以呈现给用户;还用于执行应用操作指令,并生成执行结果和更新后的界面信息;还用于将执行结果和更新后的云端远程桌面信息直接发送至网页前端。
示例地,本申请中的云虚拟机可以采用位于国外的高性能芯片服务器,对中国客户提供远程云化应用服务。
进一步地,网页前端用于通过Https发送请求启动应用实例的指令至调度服务器;调度服务器用于将请求启动应用实例的指令通过Websocket网络协议转发至云虚拟机并启动云虚拟机上的应用实例,应用实例在启动之后和调度服务器建立Websocket连接,调度服务器告知网页前端实例的启动状态,使网页前端和实例进行绑定。
进一步地,调度服务器用于将云虚拟机应用实例的握手请求转发至网页前端;网页前端用于响应握手请求,调度服务器还用于通过Websocket网络协议将响应信息转发至云虚拟机;云虚拟机还用于生成握手确认信息,调度服务还用于将握手确认信息转发到网页前端,并进入确立连接状态;网页前端还用于接收握手确认信息,同时进入确立状态,至此完成握手连接的建立,从而使网页前端和云虚拟机之间能够直接进行信息交互。
进一步地,所述网页前端具有支持用户操作交互的渲染组件;云虚拟机用于将应用窗口界面通过远程桌面接口嵌入到网页前端的渲染组件以呈现给用户:云虚拟机传输的云端远程桌面流信息承载于TCP之上,通过Websockify代理转换为承载于Websocket的RFB协议数据,交由noVNC客户端进行解码,传输至前端的渲染组件;文本信息流使用Protobuf数据格式,将数据结构序列化成字节流进行传输,由云虚拟机处的Protobuf编译器进行编码,传输至网页前端后,再由网页前端的Protobuf编译器进行解码,通过渲染组件完成对应显示。
进一步地,应用操作指令信息和执行结果信息均采用Protobuf数据格式,网页前端用于对应用操作指令信息和执行结果信息进行编码,云虚拟机用于对应用操作指令信息和执行结果信息进行解码;云虚拟机还用于将更新后的云端远程桌面信息通过远程桌面接口嵌入到网页前端的渲染组件以呈现给用户。
本发明的第二个方面提供一种采用上述基于远程桌面和web技术的云化应用系统的云化应用方法,其包括:
步骤S1:用户登录至网页前端,通过网页前端发送请求启动应用实例的指令至调度服务器,调度服务器将请求启动应用实例的指令转发至云虚拟机,云虚拟机启动其上的应用实例;
步骤S2:云虚拟机通过调度服务器与网页前端建立握手连接,从而使网页前端和云虚拟机之间能够直接进行信息交互;
步骤S3:云虚拟机将云端远程桌面流和文本信息流直接传输至网页前端,将应用窗口界面通过远程桌面接口嵌入到网页前端以呈现给用户,然后网页前端接收用户的应用操作指令;
步骤S4:网页前端将接收到的用户输入的应用操作指令通过远程桌面接口直接发送至云虚拟机上的应用实例,云虚拟机上的应用实例执行应用操作指令,并生成执行结果和更新后的界面信息;
步骤S5:云虚拟机将执行结果和更新后的云端远程桌面信息直接发送至网页前端,并显示给用户;
在步骤S1-步骤S5中,调度服务器一直保持对于网页前端和云虚拟机的状态监听。
示例地,本申请中的云虚拟机可以采用位于国外的高性能芯片服务器,对中国客户提供远程云化应用服务。
进一步地,在步骤S1中,网页前端通过Https发送请求启动应用实例的指令至调度服务器,调度服务器将请求启动应用实例的指令通过Websocket网络协议转发至云虚拟机并启动云虚拟机上的应用实例,应用实例在启动之后和调度服务器建立Websocket连接,调度服务器告知网页前端实例的启动状态,使网页前端和实例进行绑定。
进一步地,在步骤S2中,云虚拟机实例首先由调度服务器转发握手请求至网页前端;网页前端响应握手请求,该响应信息经由调度服务器通过Websocket网络协议转发至云虚拟机;云虚拟机生成握手确认信息后,由调度服务转发到网页前端,并进入确立连接状态;网页前端接收握手确认信息后,同时进入确立状态,至此完成握手连接的建立,从而使网页前端和云虚拟机之间能够直接进行信息交互。
进一步地,在步骤S3中,所述网页前端具有支持用户操作交互的渲染组件,云虚拟机将应用窗口界面通过远程桌面接口嵌入到网页前端的渲染组件以呈现给用户:云虚拟机传输的云端远程桌面流信息承载于TCP之上,通过Websockify代理转换为承载于Websocket的RFB协议数据,交由noVNC客户端进行解码,传输至前端的渲染组件;文本信息流使用Protobuf数据格式,将数据结构序列化成字节流进行传输,由云虚拟机处的Protobuf编译器进行编码,传输至网页前端后,再由网页前端的Protobuf编译器进行解码,通过渲染组件完成对应显示。
进一步地,在步骤S4中,应用操作指令信息采用Protobuf数据格式,由网页前端和云虚拟机处的Protobuf编译器分别进行编码与解码;在步骤S5中,执行结果信息采用Protobuf数据格式,由网页前端和云虚拟机处的Protobuf编译器分别进行编码与解码;云虚拟机将更新后的云端远程桌面信息通过远程桌面接口嵌入到网页前端的渲染组件以呈现给用户。
本申请提供一种基于远程桌面和web技术的云化应用系统,其包括网页前端、调度服务器以及云虚拟机。网页前端用于接收用户操作指令,向用户提供界面和交互组件。云虚拟机用于运行应用实例并接收指令以执行。调度服务器用于信息中转,帮助前端与云虚拟机建立握手连接,以及监测网页前端运行状态。采用了上述技术方案后,与现有技术相比,具有以下有益效果:
1.网络适应性好:本发明的技术方案采用高效率的数据传输格式,优化网络延迟,网络适应性好;网页前端无需用户使用高性能机器,即使使用平板等设备亦可通过网页流畅访问。
2.降低成本:本发明的技术方案依托于远程桌面技术,整体架构简洁,不改变应用程序逻辑,开发成本低;同时,云端虚拟机采用低能耗高效率的arm Linux整体系统,采购成本低;同时,本申请技术方案支持无显卡的运行方式,不使用GPU,有效降低约90%的硬件成本。
3.可提供远程云化应用服务:本申请技术方案中的云虚拟机可以采用位于国外的高端芯片服务器,对国内客户提供远程云化应用服务。
附图说明
图1为本申请一实施例中的基于远程桌面和web技术的云化应用程序的系统的结构示意图,图中的调度服务器用于信息中转,其信息沟通以虚线表示,以此区别于网页前端和云虚拟机之间直接的信息通道;
图2为本申请一实施例中的基于远程桌面和web技术的云化应用方法的交互顺序图;
图3为本申请一实施例中的基于远程桌面和web技术的云化应用方法的流程图;
图4为本申请一实施例中的基于远程桌面和web技术的云化应用方法中步骤S1的交互顺序图;
图5为本申请一实施例中的基于远程桌面和web技术的云化应用方法中步骤S2的交互顺序图;
图6为本申请一实施例中的基于远程桌面和web技术的云化应用方法中步骤S3的交互顺序图;
图7为本申请一实施例中的当云端应用程序为三维设计软件时的网页前端界面示意图;
图8为本申请一实施例中的基于远程桌面和web技术的云化应用方法中步骤S4的交互顺序图;
图9为本申请一实施例中的基于远程桌面和web技术的云化应用方法中步骤S5的交互顺序图。
具体实施方式
以下结合附图与具体实施例进一步阐述本发明的优点。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
如图1所示,本实施例提供一种基于远程桌面和web技术的云化应用程序的系统,其包括:网页前端、调度服务器以及云虚拟机。
网页前端用于供用户登录;还用于发送请求启动应用实例的指令至调度服务器;还用于通过调度服务器与云虚拟机之间建立握手连接;还用于接收云虚拟机直接发送的云端远程桌面流和文本信息流,向用户呈现应用窗口界面,并接收用户的应用操作指令;还用于将接收到的用户输入的应用操作指令通过远程桌面接口直接发送至云虚拟机上的应用实例;还用于向用户显示云虚拟机上的应用实例生成执行结果和更新后的界面信息。
调度服务器用于将请求启动应用实例的指令转发至云虚拟机;还用于协助建立云虚拟机与网页前端之间的握手连接;还用于一直保持对于网页前端和云虚拟机的状态监听。
云虚拟机用于接收调度服务器转发的请求启动应用实例的指令并启动应用实例;还用于通过调度服务器与网页前端之间建立握手连接;还用于将云端远程桌面流和文本信息流直接传输至网页前端,将应用窗口界面通过远程桌面接口嵌入到网页前端以呈现给用户;还用于执行应用操作指令,并生成执行结果和更新后的界面信息;还用于将执行结果和更新后的云端远程桌面信息直接发送至网页前端。
如图2和图3所示,采用上述基于远程桌面和web技术的云化应用系统进行云化应用的方法包括下述步骤S1-步骤S5:
步骤S1:用户登录至网页前端,通过网页前端发送请求启动应用实例的指令至调度服务器,调度服务器将请求启动应用实例的指令转发至云虚拟机,云虚拟机启动其上的应用实例。
如图4所示,在部署云化应用的前期工作中,云虚拟机需要在调度服务器处通过代理完成注册服务。用户登录后,网页前端会通过Https发送请求启动实例的指令至调度服务器,调度服务器通过websocket网络协议启动云虚拟机的实例,实例在启动之后和调度服务器建立websocket连接。调度服务器进一步告知网页前端实例的启动状态,使网页前端和实例进行绑定。绑定成功之后,前端和实例之间即可通过调度服务进行一对一通信。
步骤S2:云虚拟机通过调度服务器与网页前端建立握手连接,从而使网页前端和云虚拟机之间能够直接进行信息交互。
如图5所示,建立一对一通信之后,云虚拟机实例首先由调度服务器转发握手请求至网页前端。网页前端响应握手请求,该响应信息经由调度服务器通过websocket网络协议转发至云虚拟机。云虚拟机生成握手确认信息后,由调度服务转发到网页前端,并进入确立连接状态。网页前端接收握手确认信息后,同时进入确立状态。网页前端与云虚拟机此时均确认双方的发送、接收能力,握手连接搭建完成,从而使网页前端和云虚拟机之间能够直接进行信息交互。
步骤S3:云虚拟机将云端远程桌面流和文本信息流直接传输至网页前端,将应用窗口界面通过远程桌面接口嵌入到网页前端以呈现给用户,然后网页前端接收用户的应用操作指令。
如图6所示,基于搭建完成的握手连接通道,云虚拟机可直接传输云端桌面流和文本信息流至网页前端。应用界面通过远程桌面接口嵌入到前端的渲染组件,呈现给用户。其中,应用界面为云虚拟机处裁剪后的桌面图像,只传输应用图像区域。而所述的远程桌面接口采用noVNC服务和Websockify代理工具实现。具体来说,云虚拟机传输的云端桌面流信息承载于TCP之上,通过Websockify代理转换为承载于Websocket的RFB协议数据,交由noVNC客户端进行解码,传输至前端的渲染组件。
文本信息流使用Protobuf数据格式,将数据结构序列化成字节流进行传输,由云虚拟机处的Protobuf编译器进行编码,传输至网页前端后再由编译器进行解码,通过渲染组件完成对应显示。
网页前端同时叠加有额外开发的渲染组件(包括但不限于图标、左键右键菜单,弹窗,固定面板、编辑器),支持用户交互。所述的前端渲染组件可通过VUE应用框架实现(但不限于该应用框架)。示例地,图7中网页前端界面对应的云端应用程序为三维设计软件。在图7中的网页前端界面中,A为网页前端工具栏,B为网页前端图形区域,C为网页前端编辑器,D为网页前端固定面板,E为网页前端左键/右键菜单,F为网页前端弹窗。
步骤S4:网页前端将接收到的用户输入的应用操作指令通过远程桌面接口直接发送至云虚拟机上的应用实例,云虚拟机上的应用实例执行应用操作指令,并生成执行结果和更新后的界面信息。
如图8所示,用户可通过界面与组件进行操作交互。具体上,用户可以在界面处对对象进行选择点击,视图变换等操作。图标组件用于集成操作指令于图标集,支持用户实现快速操作。左键菜单组件用于根据用户选择对象,推荐操作功能。右键菜单组件用于以文字列表形式呈现所支持的功能操作。弹窗组件用于实现数据输入,提示消息和错误消息的显示。固定面板组件用于显示文件框架,应用内对象的属性信息。编辑器组件用于支持二次开发相关的代码文本编辑。
操作指令信息采用Protobuf数据格式,由网页前端和云虚拟机处的Protobuf编译器分别进行编码与解码。
步骤S5:云虚拟机将执行结果和更新后的云端远程桌面信息直接发送至网页前端,并显示给用户。
如图9所示,执行结果和更新后的界面以及数据信息通过云虚拟机和网页前端的通道返回,于网页前端显示给用户。应用界面的传输与步骤3中采用远程桌面接口的方案一致。数据信息同样采用Protobuf数据格式,于云虚拟机处和网页前端的Protobuf编译器分别进行编码与解码。
在步骤S1-步骤S5中,调度服务器一直保持对于网页前端和云虚拟机的状态监听。在网页前端和云虚拟机建立连接后,调度服务器依然提供后续状态监听的功能支持,这属于本申请的创新点之一。调度服务器通过Websocket网络协议,请求网页前端和云虚拟机定时(例如20秒)发送给调度服务器心跳检测信息,以达到监听目的。调度服务器若监测到前端处于连接状态而云虚拟机处断开,调度服务器则发送指令,请求重启云虚拟机,便于快速恢复通信连接。调度服务器若监听到前端断开且一定时间内没有请求重连指令,调度服务器发送关闭指令至云虚拟机处,请求关闭应用实例,释放计算资源。其中,心跳监测信息,针对云虚拟机的重启请求指令,针对云虚拟机的关闭请求指令均可采用Protobuf数据格式。
应当注意的是,本发明的实施例有较佳的实施性,且并非对本发明作任何形式的限制,任何熟悉该领域的技术人员可能利用上述揭示的技术内容变更或修饰为等同的有效实施例,但凡未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何修改或等同变化及修饰,均仍属于本发明技术方案的范围内。

Claims (10)

1.一种基于远程桌面和web技术的云化应用系统,其特征在于,包括:
网页前端,所述网页前端用于供用户登录;还用于发送请求启动应用实例的指令至调度服务器;还用于通过调度服务器与云虚拟机之间建立握手连接;还用于接收云虚拟机直接发送的云端远程桌面流和文本信息流,向用户呈现应用窗口界面,并接收用户的应用操作指令;还用于将接收到的用户输入的应用操作指令通过远程桌面接口直接发送至云虚拟机上的应用实例;还用于向用户显示云虚拟机上的应用实例生成执行结果和更新后的界面信息;
调度服务器,所述调度服务器用于将请求启动应用实例的指令转发至云虚拟机;还用于协助建立云虚拟机与网页前端之间的握手连接;还用于一直保持对于网页前端和云虚拟机的状态监听;
云虚拟机,所述云虚拟机用于接收调度服务器转发的请求启动应用实例的指令并启动应用实例;还用于通过调度服务器与网页前端之间建立握手连接;还用于将云端远程桌面流和文本信息流直接传输至网页前端,将应用窗口界面通过远程桌面接口嵌入到网页前端以呈现给用户;还用于执行应用操作指令,并生成执行结果和更新后的界面信息;还用于将执行结果和更新后的云端远程桌面信息直接发送至网页前端。
2.如权利要求1所述的基于远程桌面和web技术的云化应用系统,其特征在于,网页前端用于通过Https发送请求启动应用实例的指令至调度服务器;调度服务器用于将请求启动应用实例的指令通过Websocket网络协议转发至云虚拟机并启动云虚拟机上的应用实例,应用实例在启动之后和调度服务器建立Websocket连接,调度服务器告知网页前端实例的启动状态,使网页前端和实例进行绑定。
3.如权利要求1所述的基于远程桌面和web技术的云化应用系统,其特征在于,调度服务器用于将云虚拟机应用实例的握手请求转发至网页前端;网页前端用于响应握手请求,调度服务器还用于通过Websocket网络协议将响应信息转发至云虚拟机;云虚拟机还用于生成握手确认信息,调度服务还用于将握手确认信息转发到网页前端,并进入确立连接状态;网页前端还用于接收握手确认信息,同时进入确立状态,至此完成握手连接的建立,从而使网页前端和云虚拟机之间能够直接进行信息交互。
4.如权利要求1所述的基于远程桌面和web技术的云化应用系统,其特征在于,所述网页前端具有支持用户操作交互的渲染组件;云虚拟机用于将应用窗口界面通过远程桌面接口嵌入到网页前端的渲染组件以呈现给用户:云虚拟机传输的云端远程桌面流信息承载于TCP之上,通过Websockify代理转换为承载于Websocket的RFB协议数据,交由noVNC客户端进行解码,传输至前端的渲染组件;文本信息流使用Protobuf数据格式,将数据结构序列化成字节流进行传输,由云虚拟机处的Protobuf编译器进行编码,传输至网页前端后,再由网页前端的Protobuf编译器进行解码,通过渲染组件完成对应显示。
5.如权利要求1所述的基于远程桌面和web技术的云化应用系统,其特征在于,应用操作指令信息和执行结果信息均采用Protobuf数据格式,网页前端用于对应用操作指令信息和执行结果信息进行编码,云虚拟机用于对应用操作指令信息和执行结果信息进行解码;云虚拟机还用于将更新后的云端远程桌面信息通过远程桌面接口嵌入到网页前端的渲染组件以呈现给用户。
6.采用如权利要求1~5中任一项所述的基于远程桌面和web技术的云化应用系统的云化应用方法,其特征在于,包括:
步骤S1:用户登录至网页前端,通过网页前端发送请求启动应用实例的指令至调度服务器,调度服务器将请求启动应用实例的指令转发至云虚拟机,云虚拟机启动其上的应用实例;
步骤S2:云虚拟机通过调度服务器与网页前端建立握手连接,从而使网页前端和云虚拟机之间能够直接进行信息交互;
步骤S3:云虚拟机将云端远程桌面流和文本信息流直接传输至网页前端,将应用窗口界面通过远程桌面接口嵌入到网页前端以呈现给用户,然后网页前端接收用户的应用操作指令;
步骤S4:网页前端将接收到的用户输入的应用操作指令通过远程桌面接口直接发送至云虚拟机上的应用实例,云虚拟机上的应用实例执行应用操作指令,并生成执行结果和更新后的界面信息;
步骤S5:云虚拟机将执行结果和更新后的云端远程桌面信息直接发送至网页前端,并显示给用户;
在步骤S1-步骤S5中,调度服务器一直保持对于网页前端和云虚拟机的状态监听。
7.如权利要求6所述的云化应用方法,其特征在于,在步骤S1中,网页前端通过Https发送请求启动应用实例的指令至调度服务器,调度服务器将请求启动应用实例的指令通过Websocket网络协议转发至云虚拟机并启动云虚拟机上的应用实例,应用实例在启动之后和调度服务器建立Websocket连接,调度服务器告知网页前端实例的启动状态,使网页前端和实例进行绑定。
8.如权利要求6所述的云化应用方法,其特征在于,在步骤S2中,云虚拟机实例首先由调度服务器转发握手请求至网页前端;网页前端响应握手请求,该响应信息经由调度服务器通过Websocket网络协议转发至云虚拟机;云虚拟机生成握手确认信息后,由调度服务转发到网页前端,并进入确立连接状态;网页前端接收握手确认信息后,同时进入确立状态,至此完成握手连接的建立,从而使网页前端和云虚拟机之间能够直接进行信息交互。
9.如权利要求6所述的云化应用方法,其特征在于,在步骤S3中,所述网页前端具有支持用户操作交互的渲染组件;云虚拟机将应用窗口界面通过远程桌面接口嵌入到网页前端的渲染组件以呈现给用户包括以下步骤:云虚拟机传输的云端远程桌面流信息承载于TCP之上,通过Websockify代理转换为承载于Websocket的RFB协议数据,交由noVNC客户端进行解码,传输至前端的渲染组件;文本信息流使用Protobuf数据格式,将数据结构序列化成字节流进行传输,由云虚拟机处的Protobuf编译器进行编码,传输至网页前端后,再由网页前端的Protobuf编译器进行解码,通过渲染组件完成对应显示。
10.如权利要求6所述的云化应用方法,其特征在于,在步骤S4中,应用操作指令信息采用Protobuf数据格式,由网页前端和云虚拟机处的Protobuf编译器分别进行编码与解码;在步骤S5中,执行结果信息采用Protobuf数据格式,由网页前端和云虚拟机处的Protobuf编译器分别进行编码与解码;云虚拟机将更新后的云端远程桌面信息通过远程桌面接口嵌入到网页前端的渲染组件以呈现给用户。
CN202311104206.4A 2023-08-30 2023-08-30 一种基于远程桌面和web技术的云化应用系统及其方法 Pending CN117395235A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311104206.4A CN117395235A (zh) 2023-08-30 2023-08-30 一种基于远程桌面和web技术的云化应用系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311104206.4A CN117395235A (zh) 2023-08-30 2023-08-30 一种基于远程桌面和web技术的云化应用系统及其方法

Publications (1)

Publication Number Publication Date
CN117395235A true CN117395235A (zh) 2024-01-12

Family

ID=89436267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311104206.4A Pending CN117395235A (zh) 2023-08-30 2023-08-30 一种基于远程桌面和web技术的云化应用系统及其方法

Country Status (1)

Country Link
CN (1) CN117395235A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378400A (zh) * 2007-08-30 2009-03-04 国际商业机器公司 实现桌面应用和Web应用聚合的方法、服务器和系统
US20180324149A1 (en) * 2017-05-02 2018-11-08 MobileNerd, Inc. Cloud based virtual computing system with virtual network tunnel
CN111831368A (zh) * 2020-05-25 2020-10-27 武汉烽火众智数字技术有限责任公司 一种浏览器应用与桌面应用交互的方法、系统及存储介质
CN116149769A (zh) * 2023-01-16 2023-05-23 深圳十沣科技有限公司 基于远程窗口的虚拟应用系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378400A (zh) * 2007-08-30 2009-03-04 国际商业机器公司 实现桌面应用和Web应用聚合的方法、服务器和系统
US20180324149A1 (en) * 2017-05-02 2018-11-08 MobileNerd, Inc. Cloud based virtual computing system with virtual network tunnel
CN111831368A (zh) * 2020-05-25 2020-10-27 武汉烽火众智数字技术有限责任公司 一种浏览器应用与桌面应用交互的方法、系统及存储介质
CN116149769A (zh) * 2023-01-16 2023-05-23 深圳十沣科技有限公司 基于远程窗口的虚拟应用系统及方法

Similar Documents

Publication Publication Date Title
US11172042B2 (en) Platform-independent application publishing to a front-end interface by encapsulating published content in a web container
US20230129887A1 (en) Publication of Applications Using Server-Side Virtual Screen Change Capture
US8689115B2 (en) Method and system for distributed computing interface
US11611633B2 (en) Systems and methods for platform-independent application publishing to a front-end interface
US20140089487A1 (en) Control of a remote computer device
WO2021143182A1 (zh) 游戏的处理方法、装置、电子设备及计算机可读存储介质
JP2015529878A (ja) ウェブクライアントを介したリモートアプリケーションへのアクセスの提供
JP2014531626A (ja) アプリケーションプログラムへの非侵襲的遠隔アクセス
CN104253857A (zh) 背靠背虚拟web实时通信代理以及相关的方法、系统
EP4152141A1 (en) Information processing method, and device, system, storage medium and computer program product
KR102121472B1 (ko) 기기 별 응용 프로그램간 통신을 위한 장치 및 방법
CN110474948B (zh) 一种网络设备之间的交互方法
JP7101313B2 (ja) コンピューティング環境内での仮想デスクトップの提供
CN111143017B (zh) 云操作系统交互处理方法、客户端及云操作系统
CN105389096A (zh) 基于浏览器的数据交互方法及装置
CN112511585A (zh) 一种基于安卓系统远程桌面的输入重定向方法及系统
CN117395235A (zh) 一种基于远程桌面和web技术的云化应用系统及其方法
CN115695383A (zh) 屏幕共享方法、系统、电子设备及安卓设备
US20070038757A1 (en) Client and presentation layer architecture for session initiation protocol-based applications
KR20200115314A (ko) 클라우드 스트리밍 서비스에서의 사용자 인터페이스 화면 복구 방법 및 이를 위한 장치
CN107209782B (zh) 交互式操作的方法以及应用该方法的传送机器、接收机器与交互式操作系统
CN113141298B (zh) 消息处理方法、消息处理装置、存储介质及电子设备
US11650735B1 (en) Accessibility feature in remote device infrastructure
TWI607403B (zh) 遠程處理客戶端交互的裝置
US20240004731A1 (en) Clipboard data redirection between virtual desktops

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