CN114301978A - 一种云桌面实现方法、***、设备及存储介质 - Google Patents

一种云桌面实现方法、***、设备及存储介质 Download PDF

Info

Publication number
CN114301978A
CN114301978A CN202111590369.9A CN202111590369A CN114301978A CN 114301978 A CN114301978 A CN 114301978A CN 202111590369 A CN202111590369 A CN 202111590369A CN 114301978 A CN114301978 A CN 114301978A
Authority
CN
China
Prior art keywords
cloud desktop
client
data
cloud
proxy 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
Application number
CN202111590369.9A
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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202111590369.9A priority Critical patent/CN114301978A/zh
Publication of CN114301978A publication Critical patent/CN114301978A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例提供一种云桌面实现方法、***、设备及存储介质。在本申请实施例中,引入网关设备和代理客户端进行云桌面服务管控,因此,可在不需要修改第三方云桌面产品所使用相关协议的情况下,接入对云桌面服务的定制化管控逻辑;而且,在代理客户端和云桌面客户端之间采用零拷贝的方式转发云桌面数据,这可有效避免数据转发过程中的***调用和数据拷贝,使云桌面客户端和云桌面服务端之间犹如未引入网关设备和代理客户端那般直线传递数据,时延非常低,保证了云桌面服务的性能,从而可实现一种高性能、可管控的云桌面服务。

Description

一种云桌面实现方法、***、设备及存储介质
技术领域
本申请涉及云计算技术领域,尤其涉及一种云桌面实现方法、***、设备及存储介质。
背景技术
云桌面又称桌面虚拟化、云电脑,是替代传统电脑的一种新模式。采用云桌面后,用户无需再购买电脑主机,用户安装客户端后通过特有的通信协议访问后端服务器上的虚拟机主机来实现交互式操作,达到与电脑一致的体验效果。
目前,云桌面技术提供商可提供众多的云桌面产品供用户选用,但是由于这些云桌面产品中的服务协议通常是固化的、无法修改的,导致这些云桌面产品在进行实际应用后出现很大的性能损失,实现效果不佳。
发明内容
本申请的多个方面提供一种云桌面实现方法、***、设备及存储介质,用以改善云桌面服务的性能。
本申请实施例提供一种云桌面实现方法,包括:
响应于云桌面服务请求,通过代理客户端调起云桌面客户端,所述代理客户端用于进行云桌面服务定制化管控;
利用所述代理客户端从网关设备中获取云桌面服务端提供的云桌面数据,所述网关设备与所述云桌面服务端通信连接;
利用所述代理客户端按照零拷贝的方式将所述云桌面数据提供给所述云桌面客户端;
由所述云桌面客户端基于所述云桌面数据进行云桌面展示。
本申请实施例还提供一种云桌面***,包括用户终端、网关设备和云桌面服务端,所述用户终端上安装有代理客户端和云桌面客户端;
所述用户终端,用于响应于云桌面服务请求,通过代理客户端调起云桌面客户端,所述代理客户端用于进行云桌面服务定制化管控;利用所述代理客户端从网关设备中获取云桌面服务端提供的云桌面数据;利用所述代理客户端按照零拷贝的方式将所述云桌面数据提供给所述云桌面客户端;由所述云桌面客户端基于所述云桌面数据进行云桌面展示;
所述网关设备,用于与所述云桌面服务端通信,从所述云桌面服务端获取所述代理客户端所需的云桌面数据并提供给所述代理客户端;
所述云桌面服务端,用于提供云桌面数据。
本申请实施例还提供一种用户终端,包括存储器、处理器和通信组件,安装有代理客户端和云桌面客户端;
所述存储器用于存储一条或多条计算机指令;
所述处理器与所述存储器和所述通信组件耦合,用于执行所述一条或多条计算机指令,以用于:
响应于云桌面服务请求,通过代理客户端调起云桌面客户端,所述代理客户端用于进行云桌面服务定制化管控;
利用所述代理客户端通过所述通信组件从网关设备中获取云桌面服务端提供的云桌面数据,所述网关设备与所述云桌面服务端通信连接;
利用所述代理客户端按照零拷贝的方式将所述云桌面数据提供给所述云桌面客户端;
由所述云桌面客户端基于所述云桌面数据进行云桌面展示。
本申请实施例还提供一种存储计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器前述的云桌面实现方法。
在本申请实施例中,引入网关设备和代理客户端进行云桌面服务管控,因此,可在不需要修改第三方云桌面产品所使用相关协议的情况下,接入对云桌面服务的定制化管控逻辑;而且,在代理客户端和云桌面客户端之间采用零拷贝的方式转发云桌面数据,这可有效避免数据转发过程中的***调用和数据拷贝,使云桌面客户端和云桌面服务端之间犹如未引入网关设备和代理客户端那般直线传递数据,时延非常低,保证了云桌面服务的性能,从而可实现一种高性能、可管控的云桌面服务。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的一种云桌面***的结构示意图;
图2为本申请一示例性实施例提供的一种应用场景的示意图;
图3为本申请另一示例性实施例提供的一种云桌面实现方法的流程示意图;
图4为本申请又一示例性实施例提供的一种用户终端的结构示意图;
图5a为本申请一示例性实施例提供的一种传统转发方案的逻辑示意图;
图5b为本申请一示例性实施例提供的一种零拷贝方案的逻辑示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,由于第三方云桌面产品中的服务协议通常是固化的、无法修改的,导致这些云桌面产品在进行实际应用后出现很大的性能损失,实现效果不佳。为此,本申请的一些实施例中:引入网关设备和代理客户端进行云桌面服务管控,因此,可在不需要修改第三方云桌面产品所使用相关协议的情况下,接入对云桌面服务的定制化管控逻辑;而且,在代理客户端和云桌面客户端之间采用零拷贝的方式转发云桌面数据,这可有效避免数据转发过程中的***调用和数据拷贝,使云桌面客户端和云桌面服务端之间犹如未引入网关设备和代理客户端那般直线传递数据,时延非常低,保证了云桌面服务的性能,从而可实现一种高性能、可管控的云桌面服务。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的一种云桌面***的结构示意图。如图1所示,该***包括:用户终端10、网关设备20和云桌面服务端30,其中,用户终端10上安装有代理客户端11和云桌面客户端12。
本实施例中,云桌面客户端12和云桌面服务端30可由第三方云桌面产品自身提供。也即是,第三方云桌面产品自身可提供云桌面客户端和云桌面服务端。本实施例对第三方云桌面产品的提供商不做限定,本实施例提供的云桌面***可适配各种不同的第三方云桌面产品。
发明人在研究过程中发现,第三方云桌面产品在单独使用过程中,由于其内使用的相关协议通常是不可修改的,但实际应用中,很多情况下都需要按照需要对第三方云桌面产品进行个性化的管控,对此,本实施例中,在第三方云桌面产品之上引入网关设备20和代理客户端11进行云桌面服务管控,以组建起本实施例的云桌面***。
本实施例提供的云桌面***可基于云计算资源进行部署,其中,可将云桌面服务端30部署在云计算资源之上,例如,可将云桌面服务端30安装在云节点上、云服务器上等,这样,云桌面服务端30可利用云计算资源的计算能力来提供云桌面服务。当然,本实施例并不限于此,云桌面服务端30也可安装在企业内部的服务器上等。
参考图1,云桌面客户端12可安装在用户终端10上,其中,用户终端10可以是个人电脑、智能手机、平板电脑等终端设备。另外,代理客户端11也安装在用户终端10上,代理客户端11可理解为提供代理服务的客户端,代理客户端11可用于进行云桌面服务定制化管控。代理客户端11的实现形式可以是应用程序APP等。代理客户端11支持的云桌面服务定制化管控可包括但不限于用户认证、用户授权、数据加密、安全控制或访问控制等。举例来说,代理客户端11可提供用户登陆界面,用户可输入用户名和密码进行登陆,值得说明的是,这里的用户名和密码是由云桌面服务方(例如云计算资源的持有方、需要使用云桌面服务的企业等)提供的,而不是由云桌面服务提供商提供的,这里的用户名和密码可作为云桌面服务方进行云桌面服务定制化管控的基础。另外,代理客户端11可与云桌面服务方的管控中心进行通信,并与管控中心进行配合以实现原桌面服务定制化管控。举例来说,管控中心也可位于云上,管控中心中可预置各种访问控制策略,代理客户端11可基于当前用户的用户名向管控中心确定用户的访问权限,从而对用户进行访问控制,例如,当前用户为普通员工,则如果该用户在云桌面上发起对财务文件的访问请求,则代理客户端11可从管控中心中确定该用户不具有访问权限,从而代理客户端11可发出拒绝访问提示。
实际应用中,用户可首先开启代理客户端11。用户可通过代理客户端11发起云桌面开启请求,这种情况下,代理客户端11可连接云桌面客户端12。这里,代理客户端11连接至云桌面客户端12的过程可以是对用户无感知的,也即是,可仅使用代理客户端11来面向用户。之后,代理客户端11可连接至网关设备20,并从网关设备20中获取云桌面服务端30提供的云桌面数据。由于这里是云桌面的开启过程,因此,获取到的云桌面数据通常是一些桌面基础内容数据,例如、桌面背景图、桌面布局数据、桌面图表、菜单栏等等。对于这些云桌面数据,代理客户端11可按照零拷贝的方式将其提供给云桌面客户端12,这样,云桌面客户端12和云桌面服务端30可如不存在代理客户端11和网关设备20那般,几乎是直线传递数据,不需要因引入代理客户端11和网关而在用户终端10中进行多次用户态与内核态之间的切换,也不需要进行数据拷贝,而是直接传递云桌面数据即可,这可有效保证云桌面数据的传输速率,降低传输延时和传输代价。代理客户端11可将云桌面内容呈现给用户。
以上是云桌面开启阶段的交互逻辑。同样,在云桌面使用过程中,用户可继续通过本实施例提供的云桌面***呈现更丰富的云桌面数据。
参考图1,在云桌面使用过程中,代理客户端11可响应于云桌面服务请求,通过代理客户端11调起云桌面客户端12。实际应用中,在上述云桌面开启过程中建立起代理客户端11和云桌面客户端12之间的连接后,可保持该连接不断开,当然,也可在确认将云桌面数据传递到云桌面客户端12后断开该连接,并在下一次发生云桌面服务请求的情况下,在建立其该连接,本实施例对此不做限定。其中,云桌面服务请求中可指定所需的云桌面数据。之后,代理客户端11可连接至网关设备20,并从网关设备20中获取云桌面服务端30提供的云桌面数据,在上述或这里的网关设备20连接过程中,代理客户端11可对网关设备20进行认证,并在认证通过的情况下,再建立起代理客户端11与网关设备20之间的通信连接,代理客户端11可向网关设备20通知所需的云桌面数据,网关设备20可实时地从云桌面服务端30获取云桌面数据,网关设备20也可预先将云桌面服务端30中的云桌面数据缓存至本地,并从本地直接将云桌面数据发送给代理客户端11。
值得说明的是,本实施例中,云桌面客户端12并未与网关设备20发生直接交互,而是与代理客户端11进行交互,因此,网关设备20发送的云桌面数据到达用户终端10后将被存储在代理客户端11对应的存储区域内。而且,云桌面数据通常被存储在内核态,而代理客户端11则位于用户态,因此,如果代理客户端11想要获取到云桌面数据,那必须由代理客户端11通过read()***调用,从用户态切换到内核态,将云桌面数据从内核台拷贝到用户态并返回;而代理客户端11将数据提供给云桌面客户端12的过程中,还需要通过write()***调用,从用户态切换到内核态,将云桌面数据从用户态拷贝到内核态中并返回。整个过程中,发生了4次用户态和内核态之间的切换,发生了2次数据拷贝,性能损失非常大。
为此,本实施例中提出,代理客户端11采用零拷贝的方式,将从网关设备20获取到的云桌面数据提供给云桌面客户端12,而无需在发生上述的4次用户态和内核态之间的切换和2次数据拷贝,从而可有效避免云桌面数据转发所导致的性能损失。
同样,云桌面数据到达云桌面客户端12后,可由云桌面客户端12基于云桌面数据进行云桌面展示。从而,云桌面客户端12的展示功能是既有功能,在此不再详述展示细节。
另外,本实施例中,还可对云桌面服务端30和网关设备20之间传递云桌面数据的过程进行优化,若云桌面服务端30和网关设备20位于同一操作***下,则云桌面服务端30也可采用零拷贝的方式将云桌面数据转发至网关设备20。举例来说,若云桌面服务端30和网关设备20都部署在云计算资源之上,而这些云计算资源组建在同一操作***之下,则云桌面服务端30和网关设备20之间可通过零拷贝的方式来传递云桌面数据。其中,云桌面服务端30与网关设备20之间的零拷贝过程可参考代理客户端11与云桌面客户端12之间的零拷贝过程,在此不再重复赘述。
据此,本实施例中,引入网关设备和代理客户端进行云桌面服务管控,因此,可在不需要修改第三方云桌面产品所使用相关协议的情况下,接入对云桌面服务的定制化管控逻辑;而且,在代理客户端和云桌面客户端之间采用零拷贝的方式转发云桌面数据,这可有效避免数据转发过程中的***调用和数据拷贝,使云桌面客户端和云桌面服务端之间犹如未引入网关设备和代理客户端那般直线传递数据,时延非常低,保证了云桌面服务的性能,从而可实现一种高性能、可管控的云桌面服务。对第三方云桌面产品的侵入和改动非常小,对各种不同的第三方云桌面产品均具有较好的适配性,便于云桌面服务的定制化开发。另外,通过接入的云桌面服务的定制化管控,可方便快捷地接入已有客户群体的账号***,无缝对接已有客户。
在上述或下述实施例中,可采用多种实现方式来利用代理客户端按照零拷贝的方式将云桌面数据提供给云桌面客户端。
图5a为本申请一示例性实施例提供的一种传统转发方案的逻辑示意图。参考图5a,从网关设备获取到的云桌面数据将存储在用户终端中位于内核态的一个套接字socket中,而代理客户端则位于用户态,因此,如果代理客户端想要获取到云桌面数据,那必须由代理客户端通过read()***调用,从用户态切换到内核态,将云桌面数据从内核台拷贝到用户态并返回;而代理客户端将数据提供给云桌面客户端12的过程中,还需要通过write()***调用,从用户态切换到内核态,将云桌面数据从用户态拷贝到内核态中并返回。整个过程中,发生了4次用户态和内核态之间的切换,发生了2次数据拷贝,性能损失非常大。
图5b为本申请一示例性实施例提供的一种零拷贝方案的逻辑示意图。参考图5b,在一种实现方式中,可将从网关设备中获取的云桌面数据写入代理客户端对应的第一套接字socket中;将第一套接字socket和云桌面客户端对应的第二套接字socket对接;在第一套接字socket和第二套接字socket之间传递云桌面数据,以在内核态将云桌面数据提供给云桌面客户端。在该实现方式中,将代理客户端和云桌面客户端各自对应的socket进行对接,这样,可打通代理客户端和云桌面客户端在内核态的数据传递通道,从而直接在内核态进行云桌面数据的传递,这可有效避免数据转发过程中的性能损失。
在该实现方式中,代理客户端可调用指定操作函数,以将第一套接字socket中的云桌面数据写入管道pipe中;而云桌面客户端通过第二套接字socket从管道中读取云桌面数据。其中,指定操作函数可以是splice函数等,并可基于文件描述符来移动云桌面数据。在内核态,代理客户端和云桌面客户端均可基于文件描述符来访问云桌面数据,从而移动云桌面数据。整个过程中并未发生任何数据拷贝。
当然,本实施例中,还可采用其它实现方式来利用代理客户端按照零拷贝的方式将云桌面数据提供给云桌面客户端,例如,通过调用sendfile函数实现在代理客户端和云桌面客户端各自对应的socket之间传递云桌面数据等,本实施例并不限于此。据此,本实施例中,可在用户态打通代理客户端和云桌面客户端之间的数据传递通道,从而直接在内核态进行云桌面数据的传递,而不再需要如前文提及的经历多次用户态和内核态的切换及多次数据拷贝才能将云桌面数据提供给云桌面客户端。
图2为本申请一示例性实施例提供的一种应用场景的示意图。参考图2,在该应用场景中,云桌面的服务过程可包括:
1、用户可通过用户终端上安装的代理客户端发起云桌面服务请求,代理客户端可调起同样安装在用户终端上的云桌面客户端;
2、代理客户端可对网关设备进行认证,并在认证通过后,连接至网关设备;
3、网关设备可从云桌面服务端获取用户所需的云桌面数据,云桌面服务端可部署在云计算资源上,而且,若云桌面服务端和网关设备位于同一操作***下,云桌面服务端可采用零拷贝的方式将云桌面数据提供给网关设备;网关设备可预先从云桌面服务端中获取云桌面数据并缓存;
4、网关设备可将缓存的云桌面数据通过网络发送给用户终端,用户终端会将云桌面数据写入代理客户端在内核态对应的socket中;
5、代理客户端在内核态采用零拷贝的方式,将云桌面数据传递给云桌面客户端,无需进行用户态与内核态的切换及任何数据拷贝操作;
6、云桌面客户端可从其在内核态对应的socket中读取云桌面数据,并向用户展示云桌面数据,从而用户可看到所请求的云桌面内容。
图3为本申请另一示例性实施例提供的一种云桌面实现方法的流程示意图。参考图3,该方法可包括:
步骤300、响应于云桌面服务请求,通过代理客户端调起云桌面客户端,代理客户端用于进行云桌面服务定制化管控;
步骤301、利用代理客户端从网关设备中获取云桌面服务端提供的云桌面数据,网关设备与云桌面服务端通信连接;
步骤302、利用代理客户端按照零拷贝的方式将云桌面数据提供给云桌面客户端;
步骤303、由云桌面客户端基于云桌面数据进行云桌面展示。
本实施例提供的云桌面实现方法可由前述***实施例中的用户终端实施,具体的技术细节可参考前述***实施例中的描述。
在一可选实施例中,步骤利用代理客户端按照零拷贝的方式将云桌面数据提供给云桌面客户端,可包括:
将从网关设备中获取的云桌面数据写入代理客户端对应的第一套接字socket中;
将第一套接字socket和云桌面客户端对应的第二套接字socket对接;
在第一套接字socket和第二套接字socket之间传递云桌面数据,以在内核态将云桌面数据提供给云桌面客户端。
在一可选实施例中,步骤在第一套接字socket和第二套接字slcket之间传递云桌面数据,可包括:
利用代理客户端调用指定操作函数,以将第一套接字socket中的云桌面数据写入管道pipe中;
控制云桌面客户端通过第二套接字socket从管道中读取云桌面数据。
在一可选实施例中,步骤利用代理客户端从网关设备中获取云桌面服务端提供的云桌面数据,包括:
通过代理客户端对网关设备进行认证;
在网关设备认证通过的情况下,建立代理客户端与网关设备之间的通信连接;
利用代理客户端接收网关设备发送的云桌面数据,云桌面数据预先缓存在网关设备中。
在一可选实施例中,云桌面服务定制化管控包括用户认证、用户授权、数据加密、安全控制或访问控制中的一种或多种。
值得说明的是,上述关于云桌面实现方法的各实施例中的技术细节,可参考前述的***实施例中关于用户终端侧的相关描述,为节省篇幅,在此不再赘述,但这不应造成本申请保护范围的损失。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如301、302等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的套接字等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图4为本申请又一示例性实施例提供的一种用户终端的结构示意图。如图4所示,该用户终端可包括:存储器40、处理器41以及通信组件42。
处理器41,与存储器40耦合,用于执行存储器40中的计算机程序,以用于:
响应于云桌面服务请求,通过代理客户端调起云桌面客户端,代理客户端用于进行云桌面服务定制化管控;
利用代理客户端通过通信组件从网关设备中获取云桌面服务端提供的云桌面数据,网关设备与云桌面服务端通信连接;
利用代理客户端按照零拷贝的方式将云桌面数据提供给云桌面客户端;
由云桌面客户端基于云桌面数据进行云桌面展示。
在一可选实施例中,处理器41在利用代理客户端按照零拷贝的方式将云桌面数据提供给云桌面客户端的过程中,可用于:
将从网关设备中获取的云桌面数据写入代理客户端对应的第一套接字socket中;
将第一套接字socket和云桌面客户端对应的第二套接字socket对接;
在第一套接字socket和第二套接字socket之间传递云桌面数据,以在内核态将云桌面数据提供给云桌面客户端。
在一可选实施例中,处理器41在第一套接字socket和第二套接字slcket之间传递云桌面数据的过程中,可用于:
利用代理客户端调用指定操作函数,以将第一套接字socket中的云桌面数据写入管道pipe中;
控制云桌面客户端通过第二套接字socket从管道中读取云桌面数据。
在一可选实施例中,处理器41在利用代理客户端从网关设备中获取云桌面服务端提供的云桌面数据的过程中,可用于:
通过代理客户端对网关设备进行认证;
在网关设备认证通过的情况下,建立代理客户端与网关设备之间的通信连接;
利用代理客户端接收网关设备发送的云桌面数据,云桌面数据预先缓存在网关设备中。
在一可选实施例中,云桌面服务定制化管控包括用户认证、用户授权、数据加密、安全控制或访问控制中的一种或多种。
进一步,如图4所示,该用户终端还包括:显示器43、电源组件44、音频组件45等其它组件。图4中仅示意性给出部分组件,并不意味着用户终端只包括图4所示组件。
值得说明的是,上述关于用户终端的各实施例中的技术细节,可参考前述的***实施例中关于用户终端的相关描述,为节省篇幅,在此不再赘述,但这不应造成本申请保护范围的损失。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由用户终端执行的各步骤。
上述图4中的存储器,用于存储计算机程序,并可被配置为存储其它各种数据以支持在计算平台上的操作。这些数据的示例包括用于在计算平台上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
上述图4中的通信组件,被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述图4中的显示器,包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
上述图4中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理***,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述图4中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (11)

1.一种云桌面实现方法,包括:
响应于云桌面服务请求,通过代理客户端调起云桌面客户端,所述代理客户端用于进行云桌面服务定制化管控;
利用所述代理客户端从网关设备中获取云桌面服务端提供的云桌面数据,所述网关设备与所述云桌面服务端通信连接;
利用所述代理客户端按照零拷贝的方式将所述云桌面数据提供给所述云桌面客户端;
由所述云桌面客户端基于所述云桌面数据进行云桌面展示。
2.根据权利要求1所述的方法,所述利用所述代理客户端按照零拷贝的方式将所述云桌面数据提供给所述云桌面客户端,包括:
将从所述网关设备中获取的云桌面数据写入所述代理客户端对应的第一套接字socket中;
将所述第一套接字socket和所述云桌面客户端对应的第二套接字socket对接;
在所述第一套接字socket和所述第二套接字socket之间传递所述云桌面数据,以在内核态将所述云桌面数据提供给所述云桌面客户端。
3.根据权利要求1所述的方法,所述在所述第一套接字socket和所述第二套接字socket之间传递所述云桌面数据,包括:
利用所述代理客户端调用指定操作函数,以将所述第一套接字socket中的云桌面数据写入管道pipe中;
控制所述云桌面客户端通过所述第二套接字socket从所述管道中读取所述云桌面数据。
4.根据权利要求1所述的方法,所述利用所述代理客户端从网关设备中获取云桌面服务端提供的云桌面数据,包括:
通过所述代理客户端对所述网关设备进行认证;
在所述网关设备认证通过的情况下,建立所述代理客户端与所述网关设备之间的通信连接;
利用所述代理客户端接收所述网关设备发送的云桌面数据,所述云桌面数据预先缓存在所述网关设备中。
5.根据权利要求1所述的方法,所述云桌面服务定制化管控包括用户认证、用户授权、数据加密、安全控制或访问控制中的一种或多种。
6.一种云桌面***,包括用户终端、网关设备和云桌面服务端,所述用户终端上安装有代理客户端和云桌面客户端;
所述用户终端,用于响应于云桌面服务请求,通过代理客户端调起云桌面客户端,所述代理客户端用于进行云桌面服务定制化管控;利用所述代理客户端从网关设备中获取云桌面服务端提供的云桌面数据;利用所述代理客户端按照零拷贝的方式将所述云桌面数据提供给所述云桌面客户端;由所述云桌面客户端基于所述云桌面数据进行云桌面展示;
所述网关设备,用于与所述云桌面服务端通信,从所述云桌面服务端获取所述代理客户端所需的云桌面数据并提供给所述代理客户端;
所述云桌面服务端,用于提供云桌面数据。
7.根据权利要求6所述的***,所述用户终端在利用所述代理客户端按照零拷贝的方式将所述云桌面数据提供给所述云桌面客户端的过程中,用于:
将从所述网关设备中获取的云桌面数据写入所述代理客户端对应的第一套接字socket中;
将所述第一套接字socket和所述云桌面客户端对应的第二套接字socket对接;
在所述第一套接字socket和所述第二套接字socket之间传递所述云桌面数据,以在内核态将所述云桌面数据提供给所述云桌面客户端。
8.根据权利要求6所述的***,所述云桌面服务端部署于云计算资源之上。
9.根据权利要求6所述的***,若所述云桌面服务端和所述网关设备位于同一操作***下,则所述桌面服务端通过零拷贝的方式将所述云桌面数据转发至所述网关设备中。
10.一种用户终端,包括存储器、处理器和通信组件,安装有代理客户端和云桌面客户端;
所述存储器用于存储一条或多条计算机指令;
所述处理器与所述存储器和所述通信组件耦合,用于执行所述一条或多条计算机指令,以用于:
响应于云桌面服务请求,通过代理客户端调起云桌面客户端,所述代理客户端用于进行云桌面服务定制化管控;
利用所述代理客户端通过所述通信组件从网关设备中获取云桌面服务端提供的云桌面数据,所述网关设备与所述云桌面服务端通信连接;
利用所述代理客户端按照零拷贝的方式将所述云桌面数据提供给所述云桌面客户端;
由所述云桌面客户端基于所述云桌面数据进行云桌面展示。
11.一种存储计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求1-5任一项所述的云桌面实现方法。
CN202111590369.9A 2021-12-23 2021-12-23 一种云桌面实现方法、***、设备及存储介质 Pending CN114301978A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111590369.9A CN114301978A (zh) 2021-12-23 2021-12-23 一种云桌面实现方法、***、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111590369.9A CN114301978A (zh) 2021-12-23 2021-12-23 一种云桌面实现方法、***、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114301978A true CN114301978A (zh) 2022-04-08

Family

ID=80969598

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111590369.9A Pending CN114301978A (zh) 2021-12-23 2021-12-23 一种云桌面实现方法、***、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114301978A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120096271A1 (en) * 2010-10-15 2012-04-19 Microsoft Corporation Remote Access to Hosted Virtual Machines By Enterprise Users
CN103188300A (zh) * 2011-12-29 2013-07-03 华为技术有限公司 云计算环境中实现voip通话的方法、装置和***
US20140304326A1 (en) * 2013-04-09 2014-10-09 Citrix Systems, Inc. Providing a native desktop using cloud-synchronized data
CN107547623A (zh) * 2017-06-28 2018-01-05 新华三云计算技术有限公司 应用数据传输方法、装置、应用服务器和应用代理服务器
CN108933801A (zh) * 2017-05-24 2018-12-04 中兴通讯股份有限公司 一种云桌面通道建立及云桌面通信的方法及装置
CN110989935A (zh) * 2019-12-06 2020-04-10 中盈优创资讯科技有限公司 Flume***的数据处理、传输方法及装置
CN111597546A (zh) * 2020-07-24 2020-08-28 北京志翔科技股份有限公司 一种云桌面共享方法、装置、***和存储介质
CN112583874A (zh) * 2019-09-30 2021-03-30 中兴通讯股份有限公司 异构网络的报文转发方法及装置
CN112988317A (zh) * 2021-05-20 2021-06-18 浙江华网俊业科技有限公司 多模式云桌面管控方法、装置
CN112995753A (zh) * 2019-12-16 2021-06-18 中兴通讯股份有限公司 一种媒体流分发方法、cdn节点服务器、cdn***和可读存储介质
CN113452711A (zh) * 2021-06-29 2021-09-28 新华三大数据技术有限公司 云桌面的单点登录方法及网络设备

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120096271A1 (en) * 2010-10-15 2012-04-19 Microsoft Corporation Remote Access to Hosted Virtual Machines By Enterprise Users
CN103188300A (zh) * 2011-12-29 2013-07-03 华为技术有限公司 云计算环境中实现voip通话的方法、装置和***
US20140304326A1 (en) * 2013-04-09 2014-10-09 Citrix Systems, Inc. Providing a native desktop using cloud-synchronized data
CN108933801A (zh) * 2017-05-24 2018-12-04 中兴通讯股份有限公司 一种云桌面通道建立及云桌面通信的方法及装置
CN107547623A (zh) * 2017-06-28 2018-01-05 新华三云计算技术有限公司 应用数据传输方法、装置、应用服务器和应用代理服务器
CN112583874A (zh) * 2019-09-30 2021-03-30 中兴通讯股份有限公司 异构网络的报文转发方法及装置
CN110989935A (zh) * 2019-12-06 2020-04-10 中盈优创资讯科技有限公司 Flume***的数据处理、传输方法及装置
CN112995753A (zh) * 2019-12-16 2021-06-18 中兴通讯股份有限公司 一种媒体流分发方法、cdn节点服务器、cdn***和可读存储介质
CN111597546A (zh) * 2020-07-24 2020-08-28 北京志翔科技股份有限公司 一种云桌面共享方法、装置、***和存储介质
CN112988317A (zh) * 2021-05-20 2021-06-18 浙江华网俊业科技有限公司 多模式云桌面管控方法、装置
CN113452711A (zh) * 2021-06-29 2021-09-28 新华三大数据技术有限公司 云桌面的单点登录方法及网络设备

Similar Documents

Publication Publication Date Title
US8725808B2 (en) Method for transferring data between a first device and a second device
CA2752942C (en) Communications system providing mobile wireless communications device application module associations for respective wireless communications formats and related methods
US8966092B2 (en) System and method for information sharing using near proximity communication
US20130225080A1 (en) System and method for information sharing using near proximity communication
US11627205B2 (en) Information processing method and apparatus, communication device and storage medium
US11095659B2 (en) Personalized services based on confirmed proximity of user
JP4973558B2 (ja) 情報処理装置、データ共有方法およびデータ共有プログラム
EP2817936A1 (en) Information sharing using token received via near proximity communication
JP2016528850A (ja) シームレスな通話移行
KR102121358B1 (ko) 데이터 전송 방법 및 디바이스
CN113810760B (zh) 控制投屏的方法、电子设备及计算机可读存储介质
WO2019010734A1 (zh) 一种业务应用流量的引导方法和***
WO2020216204A1 (zh) 信息获取方法和装置
CN105379224A (zh) 基于移动计算设备之间的电话呼叫来管理数据通信
US20180337922A1 (en) Method and device for controlling smart device, server and storage medium
TW201903604A (zh) 應用導航方法及裝置
CN115272623A (zh) 在线带看方法、装置、设备及存储介质
CN112788362B (zh) 一种视频播放方法、视频播放装置及存储介质
CN109660579B (zh) 数据处理方法、***及电子设备
US10911557B2 (en) Miracast source providing network service access for a miracast sink
WO2023246927A1 (zh) 云桌面***、网络重定向方法、设备及存储介质
CN112114804A (zh) 应用程序的生成方法、装置及***
CN114301978A (zh) 一种云桌面实现方法、***、设备及存储介质
CN114844744B (zh) 虚拟私有云网络配置方法和装置、电子设备及计算机可读存储介质
WO2022067509A1 (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