CN116483489A - 云桌面处理方法及相关设备 - Google Patents
云桌面处理方法及相关设备 Download PDFInfo
- Publication number
- CN116483489A CN116483489A CN202310267240.7A CN202310267240A CN116483489A CN 116483489 A CN116483489 A CN 116483489A CN 202310267240 A CN202310267240 A CN 202310267240A CN 116483489 A CN116483489 A CN 116483489A
- Authority
- CN
- China
- Prior art keywords
- cloud desktop
- local application
- application
- desktop
- client
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 39
- 238000009877 rendering Methods 0.000 claims abstract description 122
- 238000004891 communication Methods 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000005540 biological transmission Effects 0.000 claims abstract description 15
- 230000002618 waking effect Effects 0.000 claims abstract description 6
- 238000012545 processing Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 description 13
- 238000013500 data storage Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000763 evoking effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- 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/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种云桌面处理方法及相关设备,涉及云计算技术领域,该方法包括:通过MQTT消息中介与本地应用建立通信连接后,向云桌面服务端请求并获取用于对云桌面进行渲染的桌面渲染数据流,其中,MQTT消息中介为基于消息队列遥测传输协议的消息分发平台;通过MQTT消息中介唤醒本地应用的应用窗口,并通过MQTT消息中介将桌面渲染数据流发送至本地应用,以使本地应用根据所述桌面渲染数据流在应用窗口渲染呈现所述云桌面。本申请解决了在渲染云桌面时,存在端口冲突和数据安全性差的问题。
Description
技术领域
本申请涉及到云计算技术领域,具体而言,涉及一种云桌面处理方法及相关设备。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。不应以此处的描述包括在本部分中就承认是现有技术。
云桌面又称桌面虚拟化、云电脑,是替代传统电脑的一种新模式,属于云服务器实例。通过在终端上安装云桌面的本地应用,即可使用云桌面,以及云桌面上的多种云端应用程序。云桌面可以把数据空间、管理服务,提供桌面化的方式发布给操作者,适合作为平板、手机等微持化移动应用的网络操作系统,也可以将传统个人电脑PC升级为网络操作。在终端上安装云桌面的本地应用后,需要浏览器(即云桌面客户端)唤醒本地应用(Native app)对云桌面进行渲染呈现。
现有的渲染云桌面的方案主要有以下两种方式:
1、基于websocket通信的方式,WebSocket是基于TCP的一种新的网络协议。该方式下,安装在PC端的Native app在本地起一个webscoket服务,然后当基于普通浏览器的云桌面客户端应用起来的时候主动连接这个websocket就可以被唤起,并和natvie app通信。由于webscoket服务需要注册本地端口,webscoket端口号容易被占用,而且太大的端口容易被客户自己禁用。
2、web端网站基于URL拉起本地应用渲染云应用和云桌面,通过浏览器检测,并打开一个云桌面或云应用。缺点:在通过浏览器唤醒一个Native app,同时把要渲染云桌面的配置信息ICA文件挂在URL上面。但是这个URL十分容易获得,如果这个URL被截获,被黑客攻击的概率就会十分的大,不安全。
可见,现有技术在渲染云桌面时,存在端口冲突和数据安全性差的问题。
发明内容
本申请实施例提供了一种云桌面处理方法及相关设备,以至少解决现有技术中,在渲染云桌面时,存在端口冲突和数据安全性差的问题。
根据本申请的一个方面,还提供了一种云桌面处理方法,所述方法应用于云桌面客户端,所述云桌面客户端为基于浏览器的客户端,所述云桌面客户端和云桌面的本地应用安装于终端设备,所述方法包括:
通过MQTT消息中介与所述本地应用建立通信连接后,向云桌面服务端请求并获取用于对所述云桌面进行渲染的桌面渲染数据流,其中,所述MQTT消息中介为基于消息队列遥测传输协议的消息分发平台;
通过所述MQTT消息中介唤醒所述本地应用的应用窗口,并通过所述MQTT消息中介将所述桌面渲染数据流发送至所述本地应用,以使所述本地应用根据所述桌面渲染数据流在所述应用窗口渲染呈现所述云桌面。
在其中的一些实施例中,通过MQTT消息中介与云桌面的本地应用建立通信连接之前,所述方法还包括:
与所述MQTT消息中介建立第一通信连接,并监听所述MQTT消息中介是否下发了用于描述所述本地应用的应用信息,若是,则通过所述MQTT消息中介与所述应用信息对应的所述本地应用建立通信连接,其中,所述应用信息为,在所述本地应用与所述MQTT消息中介建立第二通信连接后,所述MQTT消息中介获得的信息。
在其中的一些实施例中,所述本地应用与所述MQTT消息中介建立第二通信连接时,所述方法还包括:
所述本地应用注册用于标识所述终端设备的第一设备信息,并将所述第一设备信息上传至所述MQTT消息中介;
其中,监听所述MQTT消息中介是否下发了用于描述所述本地应用的应用信息之前,所述方法还包括:
注册用于标识所述终端设备的第二设备信息,并将所述第二设备信息上报至所述MQTT消息中介,以在所述MQTT消息中介在判断出所述第一设备信息和第二设备信息相同后,监听所述MQTT消息中介下发的所述应用信息。
在其中的一些实施例中,所述云桌面客户端配置有软件开发工具包,向云桌面服务端请求并获取用于对所述云桌面进行渲染的桌面渲染数据流之前,所述方法还包括:
向所述云桌面服务端发送请求指令,所述请求指令为用于请求所述云桌面的基本属性信息的指令,并获取所述云桌面服务端响应于所述请求指令,发送的所述基本属性信息,其中,所述基本属性信息至少包括用于请求所述桌面渲染数据流的网关地址信息;
则,向云桌面服务端请求并获取用于对所述云桌面进行渲染的桌面渲染数据流的步骤包括:
将所述基本属性信息发送至所述软件开发工具包;
通过所述软件开发工具包根据所述基本属性信息,从所述云桌面服务端拉取所述桌面渲染数据流;
将所述软件开发工具拉取的所述桌面渲染数据流,通过所述MQTT消息中介发送至所述本地应用。
根据本申请的另一个方面,还提供了一种云桌面处理方法,所述方法应用于MQTT消息中介,所述MQTT消息中介为基于消息队列遥测传输协议的消息分发平台,所述方法包括:
将云桌面客户端与本地应用建立通信连接后,通过所述云桌面客户端,向云桌面服务端请求并获取用于对所述云桌面进行渲染的桌面渲染数据流,其中,所述云桌面客户端为基于浏览器的客户端,所述云桌面客户端与所述本地应用安装于终端设备;
将所述云桌面服务端获取的所述桌面渲染数据流发送至所述本地应用,并唤醒所述本地应用的应用窗口,以使所述本地应用根据所述桌面渲染数据流在所述应用窗口渲染呈现所述云桌面。
在其中的一些实施例中,将云桌面客户端与本地应用建立通信连接之前,所述方法还包括:
与所述云桌面客户端建立第一通信连接,并向所述云桌面客户端下发用于描述所述本地应用的应用信息;
响应于所述云桌面客户端接收到所述应用信息的反馈信息,将所述云桌面客户端与所述应用信息对应的所述本地应用建立通信连接,其中,所述应用信息为,与所述本地应用建立第二通信连接后获得的信息。
在其中的一些实施例中,向所述云桌面客户端下发用于描述所述本地应用的应用信息之前,所述方法还包括:
接收所述本地应用注册的用于标识所述终端设备的第一设备信息,并接收所述云桌面客户端注册的用于标识所述终端设备的第二设备信息;
判断所述第一设备信息和所述第二设备信息是否相同,若是,则向所述云桌面客户端下发所述应用信息。
根据本申请的另一个方面,还提供了一种云桌面处理方法,所述方法应用于云桌面服务端,所述方法包括:
在云桌面客户端通过MQTT消息中介与本地应用建立通信连接后,将用于对云桌面进行渲染的桌面渲染数据流发送至所述云桌面客户端,以使所述云桌面客户端通过所述MQTT消息中介唤醒所述本地应用的应用窗口后,通过所述MQTT消息中介将所述桌面渲染数据流发送至所述本地应用,确保所述本地应用根据所述桌面渲染数据流在所述应用窗口渲染呈现所述云桌面;
其中,所述MQTT消息中介为基于消息队列遥测传输协议的消息分发平台,所述云桌面客户端为基于浏览器的客户端,所述云桌面客户端与所述本地应用安装于终端设备。
在其中的一些实施例中,所述云桌面客户端配置有软件开发工具包,将用于对云桌面进行渲染的桌面渲染数据流发送至所述云桌面客户端之前,所述方法还包括:
接收所述云桌面客户端发送的请求指令,所述请求指令为所述云桌面客户端请求所述云桌面的基本属性信息的指令;
响应于所述请求指令,将所述基本属性信息发送至所述云桌面客户端,以使所述云桌面客户端将所述基本属性信息发送至所述软件开发工具包,其中,所述基本属性信息至少包括用于请求所述桌面渲染数据流的网关地址信息;
则,将用于对云桌面进行渲染的桌面渲染数据流发送至所述云桌面客户端的步骤包括:
将所述软件开发工具包根据所述基本属性信息拉取的所述桌面渲染数据流,发送至所述云桌面客户端。
根据本申请的另一个方面,还提供了一种云桌面客户端,所述云桌面客户端用于执行所述云桌面处理方法。
根据本申请的另一个方面,还提供了一种MQTT消息中介,所述MQTT消息中介为基于消息队列遥测传输协议的消息分发平台,所述MQTT消息中介用于执行所述云桌面处理方法。
根据本申请的另一个方面,还提供了一种云桌面服务端,所述云桌面服务端用于执行所述云桌面处理方法。
根据本申请的另一个方面,还提供了一种终端设备,所述终端设备安装有云桌面的本地应用,以及所述的云桌面客户端。
根据本申请的另一个方面,还提供了一种云桌面处理系统,包括:
终端设备,所述终端设备安装有云桌面客户端和云桌面的本地应用;
云桌面服务端;
以及MQTT消息中介,所述MQTT消息中介为基于消息队列遥测传输协议的消息分发平台;
所述云桌面客户端通过所述MQTT消息中介与所述本地应用建立通信连接后,向所述云桌面服务端请求并获取用于对所述云桌面进行渲染的桌面渲染数据流;
所述云桌面客户端还通过所述MQTT消息中介唤醒所述本地应用的应用窗口,并通过所述MQTT消息中介将所述桌面渲染数据流发送至所述本地应用,以使所述本地应用根据所述桌面渲染数据流在所述应用窗口渲染呈现所述云桌面。
根据本申请的另一个方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述云桌面处理方法。
根据本申请的另一个方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述云桌面处理方法。
根据本申请的另一个方面,还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现所述云桌面处理方法。
本申请实施例中的云桌面客户端通过MQTT消息中介与本地应用互通信,该种通信方式不用注册本地端口,不存在端口冲突,且MQTT消息中介传输数据的专有通道支持传输层加密,不容易被截获,数据安全可靠。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明第一个实施例提供的云桌面处理方法的流程图;
图2为本发明一实施例提供的云桌面客户端向本地应用传递桌面渲染数据流的流程图;
图3为本发明第二个实施例提供的一种云桌面处理方法的流程图;
图4为本发明提供的MQTT消息中介将云桌面客户端与应用信息对应的本地应用建立通信连接的流程图;
图5为本发明提供的MQTT消息中介对云桌面客户端和本地应用进行配对的流程图;
图6为本发明第三个实施例中云桌面服务端将基本属性信息发送至云桌面客户端的流程图;
图7为本发明第八个实施例提供的一种云桌面处理系统的示意图;
图8为本发明十二个实施例提供的渲染云桌面的流程原理图;
图9为图8的时序原理图。
图中:
10、终端设备;20、云桌面服务端;30、MQTT消息中介;40、数据存储平台。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
术语解释:
云桌面的本地应用:本发明实施例提供的云桌面的本地应用为在云桌面渲染技术中,安装在终端设备的具体对云桌面进行渲染呈现的应用,该本地应用需要在基于浏览器的云桌面客户端与其建立通信连接后,由基于浏览器的云桌面客户端唤醒并执行云桌面的渲染呈现操作。
现有技术中云桌面的本地应用与云桌面客户端通过webscoket服务互通信时,webscoket服务需要注册本地端口,webscoket端口号容易被占用,而且太大的端口容易被客户自己禁用。其次,web端网站基于URL拉起本地应用渲染云应用和云桌面的方式,数据易被黑客攻击,数据安全性差。针对上述问题,本发明第一个实施例提供了一种云桌面处理方法,该方法应用于云桌面客户端,云桌面客户端为基于浏览器的客户端,云桌面客户端和云桌面的本地应用安装于终端设备10,如图1所示,该方法包括如下步骤:
步骤S11:通过MQTT消息中介30与本地应用建立通信连接后,向云桌面服务端20请求并获取用于对云桌面进行渲染的桌面渲染数据流,其中,MQTT消息中介30为基于消息队列遥测传输协议的消息分发平台。消息队列遥测传输协议(其英文全称为Message QueuingTelemetry Transport,简称MQTT)是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。MQTT具有带宽效率且不占用资源,它还可以在安全套接字层(SSL)/传输层安全(TLS)(一种建立在TCP/IP上的安全协议)上运行,以确保设备之间的所有数据消息都是加密和安全的,鉴于此,本发明实施例利用MQTT的上述优势,即能确保云桌面客户端和本地应用之间的数据安全性。
步骤S12:通过MQTT消息中介30唤醒本地应用的应用窗口,并通过MQTT消息中介30将桌面渲染数据流发送至本地应用,以使本地应用根据桌面渲染数据流在应用窗口渲染呈现云桌面。
因此,本发明实施例中的云桌面客户端通过MQTT消息中介30与本地应用互通信,由于该种通信方式不用注册本地端口,不存在端口冲突,且MQTT消息中介30传输数据的专有通道支持传输层加密,不容易被截获,数据安全可靠。
在步骤S11中,通过MQTT消息中介30与云桌面的本地应用建立通信连接之前,本发明实施例提供的方法还包括:云桌面客户端与MQTT消息中介30建立第一通信连接,并监听MQTT消息中介30是否下发了用于描述本地应用的应用信息,若是,则通过MQTT消息中介30与应用信息对应的本地应用建立通信连接,其中,应用信息为,在本地应用与MQTT消息中介30建立第二通信连接后,MQTT消息中介30获得的信息。具体地,本地应用与MQTT消息中介30建立第二通信连接时,本发明实施例提供的方法还包括:本地应用注册用于标识终端设备10的第一设备信息,并将第一设备信息上传至MQTT消息中介30。其中,监听MQTT消息中介30是否下发了用于描述本地应用的应用信息之前,本发明实施例提供的云桌面客户端还注册用于标识终端设备10的第二设备信息,并将第二设备信息上报至MQTT消息中介30,以在MQTT消息中介30在判断出第一设备信息和第二设备信息相同后,监听MQTT消息中介30下发的应用信息。
若云桌面客户端未监听到MQTT消息中介30下发的应用信息,说明没有与云桌面客户端配对的本地应用,即云桌面客户端所在的终端设备10上未安装本地应用,此时,云桌面客户端将会通知用户下载本地应用,本地应用的应用信息如该本地应用的版本号、UUID等信息,其中UUID是通用唯一识别码(Universally Unique Identifier)的缩写,是该本地应用的唯一辨识信息,云桌面客户端根据获取的应用信息,在渲染云桌面时,即可通过MQTT消息中介30唤醒应用信息对应的本地应用,及向该本地应用发送桌面渲染数据流。本地应用存储于数据存储平台40,数据存储平台40是一款海量、安全、低成本、高可靠的云存储服务,能提供99.9999999999%的数据持久性,99.995%的数据可用性,具有多种存储类型供选择,本地应用存储于数据存储平台40具有较低的存储成本。在终端设备10未安装本地应用时,用户可到数据存储平台40下载并安装本地应用。
本发明实施例中的云桌面客户端配置有软件开发工具包,通常,软件开发工具包是用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合,本发明实施例为云桌面客户端配置的软件开发工具包配置有拉取桌面数据流的服务。则步骤S11中,向云桌面服务端20请求并获取用于对云桌面进行渲染的桌面渲染数据流之前,本发明实施例提供的云桌面客户端还用于向云桌面服务端20发送请求指令,请求指令为用于请求云桌面的基本属性信息的指令,并获取云桌面服务端20响应于请求指令,发送的基本属性信息,其中,基本属性信息至少包括用于请求桌面渲染数据流的网关地址信息,在实际应用中,基本属性信息还包括登录令牌token、请求主机hosts(即网关地址所在的主机)、请求的云桌面的实例ID、端口号port等信息,从而依据基本属性信息的内容向指定主机的网关请求桌面渲染数据流。
如图2所示,步骤S11向云桌面服务端20请求并获取用于对云桌面进行渲染的桌面渲染数据流的步骤包括:
步骤S21:将基本属性信息发送至软件开发工具包。
步骤S22:通过软件开发工具包根据基本属性信息,从云桌面服务端20拉取桌面渲染数据流.
步骤S23:将软件开发工具拉取的桌面渲染数据流,通过MQTT消息中介30发送至本地应用。
因此,本发明实施例基于MQTT消息中介30实现云桌面客户端的检测及唤醒终端设备10(简称PC端)上本地应用,来实现实时互通信,该种互通信方式下,不用注册本地端口,不存在端口冲突。MQTT消息中介30具有的数据传输通道支持传输层加密,数据不容易被截获,安全可靠。
本发明第二个实施例还提供了一种云桌面处理方法,该方法应用于MQTT消息中介30,MQTT消息中介30为基于消息队列遥测传输协议的消息分发平台,如图3所示,该方法包括如下步骤:
步骤S31:将云桌面客户端与本地应用建立通信连接后,通过云桌面客户端,向云桌面服务端20请求并获取用于对云桌面进行渲染的桌面渲染数据流,其中,云桌面客户端为基于浏览器的客户端,云桌面客户端与本地应用安装于终端设备10。
步骤S32:将云桌面服务端20获取的桌面渲染数据流发送至本地应用,并唤醒本地应用的应用窗口,以使本地应用根据桌面渲染数据流在应用窗口渲染呈现云桌面。
本发明实施例提供的MQTT消息中介30将云桌面客户端与本地应用建立通信连接,MQTT消息中介30作为独立的服务平台,不用注册本地端口,不存在端口冲突,且MQTT消息中介30传输数据的专有通道支持传输层加密,不容易被截获,数据安全可靠。
如图4所示,在步骤S31中,将云桌面客户端与本地应用建立通信连接之前,本发明实施例提供的方法还包括:
步骤S41:与云桌面客户端建立第一通信连接,并向云桌面客户端下发用于描述本地应用的应用信息。
步骤S42:响应于云桌面客户端接收到应用信息的反馈信息,将云桌面客户端与应用信息对应的本地应用建立通信连接,其中,应用信息为,与本地应用建立第二通信连接后获得的信息。
本地应用的应用信息如该本地应用的版本号、UUID等信息,其中UUID是通用唯一识别码(Universally Unique Identifier)的缩写,是该本地应用的唯一辨识信息,MQTT消息中介30在收到云桌面客户端反馈的反馈信息后,将云桌面客户端与应用信息对应的本地应用建立通信连接,由此,在渲染云桌面时,MQTT消息中介30即可唤醒应用信息对应的本地应用,及向该本地应用发送云桌面客户端传过来的桌面渲染数据流。MQTT消息中介30不用注册本地端口,因此不存在端口冲突影响渲染服务。MQTT消息中介30具有的数据传输通道支持传输层加密,数据不容易被截获,安全可靠。
步骤S41中,向云桌面客户端下发用于描述本地应用的应用信息之前,如图5所示,本发明实施例提供的方法还包括:
步骤S51:接收本地应用注册的用于标识终端设备10的第一设备信息,并接收云桌面客户端注册的用于标识终端设备10的第二设备信息。
步骤S52:判断第一设备信息和第二设备信息是否相同,若是,则向云桌面客户端下发应用信息。
本发明实施例的MQTT消息中介30在第一设备信息和第二设备信息相同时,将云桌面客户端与本地应用进行配对以建立互通信,该种互通信方式下,由于MQTT消息中介30不用注册本地端口,不存在端口冲突,且MQTT消息中介30具有的数据传输通道支持传输层加密,数据不容易被截获,安全可靠,提升云桌面的渲染性能,用户体验佳。
本发明第三个实施例还提供了一种云桌面处理方法,该方法应用于云桌面服务端20,该方法包括:在云桌面客户端通过MQTT消息中介30与本地应用建立通信连接后,将用于对云桌面进行渲染的桌面渲染数据流发送至云桌面客户端,以使云桌面客户端通过MQTT消息中介30唤醒本地应用的应用窗口后,通过MQTT消息中介30将桌面渲染数据流发送至本地应用,确保本地应用根据桌面渲染数据流在应用窗口渲染呈现云桌面。其中,MQTT消息中介30为基于消息队列遥测传输协议的消息分发平台,云桌面客户端为基于浏览器的客户端,云桌面客户端与本地应用安装于终端设备10。
如图6所示,云桌面客户端配置有软件开发工具包,云桌面服务端20将用于对云桌面进行渲染的桌面渲染数据流发送至云桌面客户端之前,本发明实施例提供的方法还包括如下步骤:
步骤S61:接收云桌面客户端发送的请求指令,请求指令为云桌面客户端请求云桌面的基本属性信息的指令。
步骤S62:响应于请求指令,将基本属性信息发送至云桌面客户端,以使云桌面客户端将基本属性信息发送至软件开发工具包,其中,基本属性信息至少包括用于请求桌面渲染数据流的网关地址信息。
则,云桌面服务端20将用于对云桌面进行渲染的桌面渲染数据流发送至云桌面客户端的步骤包括:将软件开发工具包根据基本属性信息拉取的桌面渲染数据流,发送至云桌面客户端。基本属性信息还包括登录令牌token、请求主机hosts(即网关地址所在的主机)、请求的云桌面的实例ID、端口号port等信息,以使软件开发工具包依据基本属性信息的内容向指定主机的网关请求拉取到桌面渲染数据流。
本发明实施例的云桌面服务端20在云桌面客户端通过MQTT消息中介30与本地应用建立通信连接后,将用于对云桌面进行渲染的桌面渲染数据流发送至云桌面客户端,以使通过MQTT消息中介30与本地应用互通信的云桌面客户端,在向本地应用传送桌面渲染数据流时,数据不容易被截获,安全可靠,也不存在端口冲突,提升了云桌面的渲染性能,用户体验佳。
本发明第四个实施例还提供了一种云桌面客户端,云桌面客户端用于执行云桌面处理方法,该云桌面处理方法具体请参见本发明第一个实施例提供的内容,本发明实施例在此不再赘述。
本发明第五个实施例还提供了一种MQTT消息中介30,MQTT消息中介30为基于消息队列遥测传输协议的消息分发平台,MQTT消息中介30用于执行云桌面处理方法,该云桌面处理方法具体请参见本发明第二个实施例提供的内容,本发明实施例在此不再赘述。
本发明第六个实施例还提供了一种云桌面服务端20,云桌面服务端20用于执行云桌面处理方法,该云桌面处理方法具体请参见本发明第三个实施例提供的内容,本发明实施例在此不再赘述。
本发明第七个实施例还提供了一种终端设备10,终端设备10安装有云桌面的本地应用,以及本发明第四个实施例提供的云桌面客户端,云桌面客户端用于执行云桌面处理方法,该云桌面处理方法具体请参见本发明第一个实施例提供的内容,本发明实施例在此不再赘述。
如图7所示,本发明第八个实施例还提供了一种云桌面处理系统,包括终端设备10、云桌面服务端20以及MQTT消息中介30,其中,MQTT消息中介30为基于消息队列遥测传输协议的消息分发平台。终端设备10安装有云桌面客户端和云桌面的本地应用。云桌面客户端通过MQTT消息中介30与本地应用建立通信连接后,向云桌面服务端20请求并获取用于对云桌面进行渲染的桌面渲染数据流,云桌面客户端还通过MQTT消息中介30唤醒本地应用的应用窗口,并通过MQTT消息中介30将桌面渲染数据流发送至本地应用,以使本地应用根据桌面渲染数据流在应用窗口渲染呈现云桌面。
本发明实施例提供的云桌面处理系统中,云桌面客户端通过MQTT消息中介30与本地应用互通信,由于该种通信方式不用注册本地端口,不存在端口冲突,且MQTT消息中介30传输数据的专有通道支持传输层加密,不容易被截获,数据安全可靠。
云桌面客户端通过MQTT消息中介30与云桌面的本地应用建立通信连接之前,云桌面客户端与MQTT消息中介30建立第一通信连接,并监听MQTT消息中介30是否下发了用于描述本地应用的应用信息,若是,则通过MQTT消息中介30与应用信息对应的本地应用建立通信连接。其中,应用信息为,在本地应用与MQTT消息中介30建立第二通信连接后,MQTT消息中介30获得的信息。
具体地,本地应用与MQTT消息中介30建立第二通信连接时,本地应用注册用于标识终端设备10的第一设备信息,并将第一设备信息上传至MQTT消息中介30。其中,云桌面客户端监听MQTT消息中介30是否下发了用于描述本地应用的应用信息之前,本发明实施例提供的云桌面客户端还注册用于标识终端设备10的第二设备信息,并将第二设备信息上报至MQTT消息中介30,以在MQTT消息中介30在判断出第一设备信息和第二设备信息相同后,监听MQTT消息中介30下发的应用信息。
本发明实施例提供的云桌面处理系统还包括数据存储平台40(全称为ObjectStorage Service),若云桌面客户端未监听到MQTT消息中介30下发的应用信息,说明没有与云桌面客户端配对的本地应用,即云桌面客户端所在的终端设备10上未安装本地应用,此时,云桌面客户端将会通知用户下载本地应用,本地应用的应用信息如该本地应用的版本号、UUID等信息,其中UUID是通用唯一识别码(Universally Unique Identifier)的缩写,是该本地应用的唯一辨识信息,云桌面客户端根据获取的应用信息,在渲染云桌面时,即可通过MQTT消息中介30唤醒应用信息对应的本地应用,及向该本地应用发送桌面渲染数据流。本地应用存储于数据存储平台40,数据存储平台40是一款海量、安全、低成本、高可靠的云存储服务,提供99.9999999999%的数据持久性,99.995%的数据可用性,具有多种存储类型供选择,本地应用存储于数据存储平台40具有较低的存储成本。在终端设备10未安装本地应用时,用户可到数据存储平台40下载并安装本地应用。
本发明实施例中的云桌面客户端配置有软件开发工具包,通常,软件开发工具包是用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合,本发明实施例为云桌面客户端配置的软件开发工具包配置有拉取桌面数据流的服务。则步骤S11中,向云桌面服务端20请求并获取用于对云桌面进行渲染的桌面渲染数据流之前,本发明实施例提供的云桌面客户端还用于向云桌面服务端20发送请求指令,请求指令为用于请求云桌面的基本属性信息的指令,并获取云桌面服务端20响应于请求指令,发送的基本属性信息,其中,基本属性信息至少包括用于请求桌面渲染数据流的网关地址信息,在实际应用中,基本属性信息还包括登录令牌token、请求主机hosts(即网关地址所在的主机)、请求的云桌面的实例ID、端口号port等信息,从而依据基本属性信息的内容向指定主机的网关请求桌面渲染数据流。
云桌面客户端向云桌面服务端20请求并获取用于对云桌面进行渲染的桌面渲染数据流时,具体执行如下方法的步骤:
步骤S21:将基本属性信息发送至软件开发工具包。
步骤S22:通过软件开发工具包根据基本属性信息,从云桌面服务端20拉取桌面渲染数据流.
步骤S23:将软件开发工具拉取的桌面渲染数据流,通过MQTT消息中介30发送至本地应用。
因此,本发明实施例提供的系统基于MQTT消息中介30实现云桌面客户端的检测及唤醒终端设备10(简称PC端)上本地应用,来实现实时互通信,该种互通信方式下,不用注册本地端口,不存在端口冲突。MQTT消息中介30具有的数据传输通道支持传输层加密,数据不容易被截获,安全可靠。
本发明第九个实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现云桌面处理方法,该云桌面处理方法具体请参见本发明第一个实施例提供的内容,本发明实施例在此不再赘述。
本发明第十个实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现云桌面处理方法,该云桌面处理方法具体请参见本发明第一个实施例提供的内容,本发明实施例在此不再赘述。
本发明第十一个实施例还提供了一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序被处理器执行时实现云桌面处理方法,该云桌面处理方法具体请参见本发明第一个实施例提供的内容,本发明实施例在此不再赘述。
本发明第十二个实施例还提供了结合上述实施例和附图8至图9,介绍了一种基于MQTT消息中介30实现云桌面客户端与本地应用的互通信来渲染云桌面的应用实施例,本发明提供的应用实施例主要包括如下步骤:
步骤1.首先如果PC端(即终端设备10)本地已经下载并安装了本地应用(NativeAPP),需要本地应用(Native APP)与MQTT消息中介30(MQTT Broker)建立长链接,并注册本地PC的信息(即第一设备信息),MQTT Broker会记录每一个Native app安装的第一设备信息,长链接主要是为接收消息而存在。
步骤2.当用户需要通过云桌面客户端(web Client)打开本地应用时,web Client也需要与MQTT Broker建立长链接,并注册本地PC的信息(即第二设备信息)。
步骤3.如果web Client在MQTT Broker建立长链接,并注册的第二设备信息和Native app注册的第一设备信息相同说明配对成功,即MQTT Broker作为消息分发平台中转云桌面客户端和本地应用之间的信息。
步骤4.MQTT Broker会返回给web Client本地PC的应用信息。
步骤5.web Client向云桌面服务端请求到云桌面的基本属性信息后,将登录令牌Token、session和基本属性信息给软件开发工具包(web Client SDK)从云桌面服务端20获取打开云桌面的桌面渲染数据流Ticket。登录令牌Token和session是用于让云桌面服务端20对web Client SDK的操作进行合法性验证的信息,Session是在计算机中,尤其是在网络应用中,称为“会话控制”。云桌面服务端20的Session对象存储特定用户会话所需的属性及配置信息。
步骤6.web Client通过MQTT长链接把Ticket传给MQTT Broker,MQTT Broker再传给对应PC端的Native app,Native app根据桌面渲染数据流在应用窗口渲染云桌面。
步骤7.如果web Client在步骤3不能和本地的Native app配对成功,则webClient需要通知用户下载并安装对应的Native app。
步骤8.用户在PC端安装Native app后从步骤1开始进行云桌面的渲染流程。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种云桌面处理方法,其特征在于,所述方法应用于云桌面客户端,所述云桌面客户端为基于浏览器的客户端,所述云桌面客户端和云桌面的本地应用安装于终端设备(10),所述方法包括:
通过MQTT消息中介(30)与所述本地应用建立通信连接后,向云桌面服务端(20)请求并获取用于对所述云桌面进行渲染的桌面渲染数据流,其中,所述MQTT消息中介(30)为基于消息队列遥测传输协议的消息分发平台;
通过所述MQTT消息中介(30)唤醒所述本地应用的应用窗口,并通过所述MQTT消息中介(30)将所述桌面渲染数据流发送至所述本地应用,以使所述本地应用根据所述桌面渲染数据流在所述应用窗口渲染呈现所述云桌面。
2.根据权利要求1所述的方法,其特征在于,通过MQTT消息中介(30)与云桌面的本地应用建立通信连接之前,所述方法还包括:
与所述MQTT消息中介(30)建立第一通信连接,并监听所述MQTT消息中介(30)是否下发了用于描述所述本地应用的应用信息,若是,则通过所述MQTT消息中介(30)与所述应用信息对应的所述本地应用建立通信连接,其中,所述应用信息为,在所述本地应用与所述MQTT消息中介(30)建立第二通信连接后,所述MQTT消息中介(30)获得的信息。
3.根据权利要求2所述的方法,其特征在于,所述本地应用与所述MQTT消息中介(30)建立第二通信连接时,所述方法还包括:
所述本地应用注册用于标识所述终端设备(10)的第一设备信息,并将所述第一设备信息上传至所述MQTT消息中介(30);
其中,监听所述MQTT消息中介(30)是否下发了用于描述所述本地应用的应用信息之前,所述方法还包括:
注册用于标识所述终端设备(10)的第二设备信息,并将所述第二设备信息上报至所述MQTT消息中介(30),以在所述MQTT消息中介(30)在判断出所述第一设备信息和第二设备信息相同后,监听所述MQTT消息中介(30)下发的所述应用信息。
4.根据权利要求1所述的方法,其特征在于,所述云桌面客户端配置有软件开发工具包,向云桌面服务端(20)请求并获取用于对所述云桌面进行渲染的桌面渲染数据流之前,所述方法还包括:
向所述云桌面服务端(20)发送请求指令,所述请求指令为用于请求所述云桌面的基本属性信息的指令,并获取所述云桌面服务端(20)响应于所述请求指令,发送的所述基本属性信息,其中,所述基本属性信息至少包括用于请求所述桌面渲染数据流的网关地址信息;
则,向云桌面服务端(20)请求并获取用于对所述云桌面进行渲染的桌面渲染数据流的步骤包括:
将所述基本属性信息发送至所述软件开发工具包;
通过所述软件开发工具包根据所述基本属性信息,从所述云桌面服务端(20)拉取所述桌面渲染数据流;
将所述软件开发工具拉取的所述桌面渲染数据流,通过所述MQTT消息中介(30)发送至所述本地应用。
5.一种云桌面处理方法,其特征在于,所述方法应用于MQTT消息中介(30),所述MQTT消息中介(30)为基于消息队列遥测传输协议的消息分发平台,所述方法包括:
将云桌面客户端与本地应用建立通信连接后,通过所述云桌面客户端,向云桌面服务端(20)请求并获取用于对所述云桌面进行渲染的桌面渲染数据流,其中,所述云桌面客户端为基于浏览器的客户端,所述云桌面客户端与所述本地应用安装于终端设备(10);
将所述云桌面服务端(20)获取的所述桌面渲染数据流发送至所述本地应用,并唤醒所述本地应用的应用窗口,以使所述本地应用根据所述桌面渲染数据流在所述应用窗口渲染呈现所述云桌面。
6.根据权利要求5所述的方法,其特征在于,将云桌面客户端与本地应用建立通信连接之前,所述方法还包括:
与所述云桌面客户端建立第一通信连接,并向所述云桌面客户端下发用于描述所述本地应用的应用信息;
响应于所述云桌面客户端接收到所述应用信息的反馈信息,将所述云桌面客户端与所述应用信息对应的所述本地应用建立通信连接,其中,所述应用信息为,与所述本地应用建立第二通信连接后获得的信息。
7.根据权利要求6所述的方法,其特征在于,向所述云桌面客户端下发用于描述所述本地应用的应用信息之前,所述方法还包括:
接收所述本地应用注册的用于标识所述终端设备(10)的第一设备信息,并接收所述云桌面客户端注册的用于标识所述终端设备(10)的第二设备信息;
判断所述第一设备信息和所述第二设备信息是否相同,若是,则向所述云桌面客户端下发所述应用信息。
8.一种云桌面处理方法,其特征在于,所述方法应用于云桌面服务端(20),所述方法包括:
在云桌面客户端通过MQTT消息中介(30)与本地应用建立通信连接后,将用于对云桌面进行渲染的桌面渲染数据流发送至所述云桌面客户端,以使所述云桌面客户端通过所述MQTT消息中介(30)唤醒所述本地应用的应用窗口后,通过所述MQTT消息中介(30)将所述桌面渲染数据流发送至所述本地应用,确保所述本地应用根据所述桌面渲染数据流在所述应用窗口渲染呈现所述云桌面;
其中,所述MQTT消息中介(30)为基于消息队列遥测传输协议的消息分发平台,所述云桌面客户端为基于浏览器的客户端,所述云桌面客户端与所述本地应用安装于终端设备(10)。
9.根据权利要求8所述的方法,其特征在于,所述云桌面客户端配置有软件开发工具包,将用于对云桌面进行渲染的桌面渲染数据流发送至所述云桌面客户端之前,所述方法还包括:
接收所述云桌面客户端发送的请求指令,所述请求指令为所述云桌面客户端请求所述云桌面的基本属性信息的指令;
响应于所述请求指令,将所述基本属性信息发送至所述云桌面客户端,以使所述云桌面客户端将所述基本属性信息发送至所述软件开发工具包,其中,所述基本属性信息至少包括用于请求所述桌面渲染数据流的网关地址信息;
则,将用于对云桌面进行渲染的桌面渲染数据流发送至所述云桌面客户端的步骤包括:
将所述软件开发工具包根据所述基本属性信息拉取的所述桌面渲染数据流,发送至所述云桌面客户端。
10.一种云桌面客户端,其特征在于,所述云桌面客户端用于执行权利要求1至4任一所述云桌面处理方法。
11.一种MQTT消息中介(30),其特征在于,所述MQTT消息中介(30)为基于消息队列遥测传输协议的消息分发平台,所述MQTT消息中介(30)用于执行权利要求5至7任一所述云桌面处理方法。
12.一种云桌面服务端(20),其特征在于,所述云桌面服务端(20)用于执行权利要求8至9任一所述云桌面处理方法。
13.一种终端设备(10),其特征在于,所述终端设备(10)安装有云桌面的本地应用,以及权利要求10所述的云桌面客户端。
14.一种云桌面处理系统,其特征在于,包括:
终端设备(10),所述终端设备(10)安装有云桌面客户端和云桌面的本地应用;
云桌面服务端(20);
以及MQTT消息中介(30),所述MQTT消息中介(30)为基于消息队列遥测传输协议的消息分发平台;
所述云桌面客户端通过所述MQTT消息中介(30)与所述本地应用建立通信连接后,向所述云桌面服务端(20)请求并获取用于对所述云桌面进行渲染的桌面渲染数据流;所述云桌面客户端还通过所述MQTT消息中介(30)唤醒所述本地应用的应用窗口,并通过所述MQTT消息中介(30)将所述桌面渲染数据流发送至所述本地应用,以使所述本地应用根据所述桌面渲染数据流在所述应用窗口渲染呈现所述云桌面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310267240.7A CN116483489A (zh) | 2023-03-14 | 2023-03-14 | 云桌面处理方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310267240.7A CN116483489A (zh) | 2023-03-14 | 2023-03-14 | 云桌面处理方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116483489A true CN116483489A (zh) | 2023-07-25 |
Family
ID=87224074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310267240.7A Pending CN116483489A (zh) | 2023-03-14 | 2023-03-14 | 云桌面处理方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116483489A (zh) |
-
2023
- 2023-03-14 CN CN202310267240.7A patent/CN116483489A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3726806B1 (en) | Method for remotely controlling vehicle on the basis of smart apparatus | |
US6115744A (en) | Client object API and gateway to enable OLTP via the internet | |
JP4363847B2 (ja) | インタラクティブ・テレビ用のデジタル・テレビ・アプリケーション・プロトコル | |
CN103152378B (zh) | 一种网络数据的传输方法、系统和客户端 | |
US20050071674A1 (en) | Method and apparatus for secure wireless delivery of converged services | |
US9124494B2 (en) | Method and apparatus of performing remote management of a managed machine | |
US20040121789A1 (en) | Method and apparatus for communicating information in a global distributed network | |
CN112600926A (zh) | 一种消息推送方法、装置及计算机可读存储介质 | |
CN104052746A (zh) | 异构应用单点登录系统及其单点登录方法 | |
US20190140900A1 (en) | Method and apparatus of performing remote management of a managed machine | |
CN114157537A (zh) | 一种通用设备网关实现多源异构数据接入的系统及方法 | |
US20030037102A1 (en) | Message broker | |
US6952731B2 (en) | Remote control of a device over the internet | |
CN113766020B (zh) | 面向卫星导航接收机设备的远程控制系统及其控制方法 | |
US20070130312A1 (en) | Web service provision apparatus and method and web service request apparatus and method | |
US20030069980A1 (en) | Message broker | |
CN116483489A (zh) | 云桌面处理方法及相关设备 | |
CN113810264B (zh) | 信息传输方法、装置、电子设备和存储介质 | |
WO2024103943A1 (zh) | 一种业务处理方法、装置、存储介质及设备 | |
CN109100944B (zh) | 一种基于ims的数据采集与处理系统 | |
CN108259576B (zh) | 一种软硬件实时信息传输系统和方法 | |
CN108347471B (zh) | 获取第三方用户信息的方法、装置及系统 | |
EP1296490A2 (en) | Message broker | |
CN101227277A (zh) | 一种基于wap1.2网关实现端到端的安全的系统及其方法 | |
CN116015892A (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 |