CN114020395B - 一种虚拟桌面网络加速的方法、装置、终端及存储介质 - Google Patents
一种虚拟桌面网络加速的方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN114020395B CN114020395B CN202111360705.0A CN202111360705A CN114020395B CN 114020395 B CN114020395 B CN 114020395B CN 202111360705 A CN202111360705 A CN 202111360705A CN 114020395 B CN114020395 B CN 114020395B
- Authority
- CN
- China
- Prior art keywords
- host
- agent process
- client
- network
- type
- 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.)
- Active
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/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例公开了一种虚拟桌面网络加速的方法、装置、终端及存储介质,方法包括:发送客户端代理进程与主机代理进程之间网络的网络类型的信息;若网络类型为自定义类型,则以UDP协议的数据通道作为客户端代理进程与主机代理进程之间的数据转发通道;若网络类型为非自定义类型,则以TCP协议的数据通道作为客户端代理进程与主机代理进程之间的数据转发通道,同一主机上连接不同网络类型的多个TCP协议数据通道socket设置不同的拥塞控制算法。本方案可以从网络传输层面针对不同的云桌面客户端环境选择合适的传输协议,从而提高数据通道的桌面数据传输率;提高了虚拟桌面对网络服务变化的自适应性。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种虚拟桌面网络加速的方法、装置、终端及存储介质。
背景技术
虚拟桌面依赖的基础网络发展趋势显著,互联通路日渐高速高效,数据中心网络快速发展,云网逐渐融合;另一方面,云桌面应用越来越广泛的同时,其客户端基础网络所处地域益加广泛,某些地域的地理和电磁环境复杂,边散远终端节点网络基础设施与所承载上层应用呈现多样化特征。
现状要求虚拟桌面系统既能充分利用稳定高速的基础网络,也能够在一些低带宽、高延迟、高丢包率的复杂网络环境(如高山海岛偏远地区、船上卫星通信系统等)中满足桌面使用要求,但是目前没有相应的方案来满足现有技术中的需要。
发明内容
有鉴于此,本发明提出了一种虚拟桌面网络加速的方法、装置、终端及存储介质,用以解决现有技术中的问题。
具体的,本发明提出了以下具体的实施例:
本发明实施例提出了一种虚拟桌面网络加速的方法,应用于包括一个或多个虚拟桌面客户端及一个或多个服务器主机的系统中,所述虚拟桌面客户端上运行有客户端代理进程及一个或多个虚拟桌面客户端进程;所述服务器主机上运行有主机代理进程及一个或多个虚拟机;该方法包括:
基于所述客户端代理进程通过控制通道向所述主机代理进程发送所述客户端代理进程与所述主机代理进程之间网络的网络类型的信息;
若所述网络类型为自定义类型,则以UDP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;
若所述网络类型为非自定义类型,则以TCP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;基于所述网络类型,为TCP协议的数据通道设置socket的拥塞控制算法,不同的所述网络类型对应有不同的拥塞控制算法;在服务器主机上,连接不同自定义类型网络的多个TCP协议数据通道的socket设置有各自独立的拥塞控制算法;所述非自定义类型包括:局域网类型、广域网类型或卫星链路类型。
在一个具体的实施例中,还包括:
若确定所述客户端代理进程与所述主机代理进程之间的网络质量变差达到自定义类型阈值,则控制所述客户端代理进程向所述主机代理进程发送网络类型为自定义类型的信息。
在一个具体的实施例中,还包括:
通过所述客户端代理进程获取所述服务器主机的IP、所述主机代理进程的侦听端口、所述网络类型、所述虚拟机的IP和端口;
基于所述服务器主机的IP与所述侦听端口,控制所述客户端代理进程与所述主机代理进程之间建立控制通道,并基于所述控制通道向所述主机代理进程发送所述网络类型、所述虚拟机的IP和端口;
建立所述客户端代理进程与所述虚拟桌面客户端进程的连接;
基于所述虚拟机的IP和端口实现所述主机代理进程与所述虚拟机之间的连接。
在一个具体的实施例中,所述客户端代理进程与所述主机代理进程之间预先建立有TCP协议的数据通道与UDP协议的数据通道。
在一个具体的实施例中,所述虚拟桌面客户端进程与所述客户端代理进程之间、所述客户端代理进程与所述主机代理进程之间以及所述主机代理与所述虚拟机之间均建立有多条数据通道。
本发明实施例还提出来一种虚拟桌面网络加速的装置,应用于包括一个或多个虚拟桌面客户端及一个或多个服务器主机的系统中,所述虚拟桌面客户端上运行有客户端代理进程及一个或多个虚拟桌面客户端进程;所述服务器主机上运行有主机代理进程及一个或多个虚拟机;该装置包括:
控制模块,用于基于所述客户端代理进程通过控制通道向所述主机代理进程发送所述客户端代理进程与所述主机代理进程之间网络的网络类型的信息;
第一处理模块,用于若所述网络类型为自定义类型,则以UDP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;
第二处理模块,用于若所述网络类型为非自定义类型,则以TCP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;基于所述网络类型,为TCP协议的数据通道设置socket的拥塞控制算法,不同的所述网络类型对应有不同的拥塞控制算法;在服务器主机上,连接不同自定义类型网络的多个TCP协议数据通道的socket设置有各自独立的拥塞控制算法;所述非自定义类型包括:局域网类型、广域网类型或卫星链路类型。
在一个具体的实施例中,还包括:调整模块,用于若确定所述客户端代理进程与所述主机代理进程之间的网络质量变差达到自定义类型阈值,则控制所述客户端代理进程向所述主机代理进程发送网络类型为自定义类型的信息。
在一个具体的实施例中,还包括:操作模块,用于通过所述客户端代理进程获取所述服务器主机的IP、所述主机代理进程的侦听端口、所述网络类型、所述虚拟机的IP和端口;
基于所述服务器主机的IP与所述侦听端口,控制所述客户端代理进程与所述主机代理进程之间建立控制通道,并基于所述控制通道向所述主机代理进程发送所述网络类型、所述虚拟机的IP和端口;
建立所述客户端代理进程与所述虚拟桌面客户端进程的连接;
基于所述虚拟机的IP和端口实现所述主机代理进程与所述虚拟机之间的连接。
本发明实施例还提出了一种终端,包括存储器以及处理器,所述存储器存储有计算机程序,所述处理器运行所述计算机程序以使所述处理器执行上述的虚拟桌面网络加速的方法。
本发明实施例还提出了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的虚拟桌面网络加速的方法。
以此,本发明实施例提出了一种虚拟桌面网络加速的方法、装置、终端及存储介质,应用于包括一个或多个虚拟桌面客户端及一个或多个服务器主机的系统中,所述虚拟桌面客户端上运行有客户端代理进程及一个或多个虚拟桌面客户端进程;所述服务器主机上运行有主机代理进程及一个或多个虚拟机;该方法包括:基于所述客户端代理进程通过控制通道向所述主机代理进程发送所述客户端代理进程与所述主机代理进程之间网络的网络类型的信息;若所述网络类型为自定义类型,则以UDP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;若所述网络类型为非自定义类型,则以TCP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;基于所述网络类型,为TCP协议的数据通道设置socket的拥塞控制算法,不同的所述网络类型对应有不同的拥塞控制算法;在服务器主机上,连接不同自定义类型网络的多个TCP协议数据通道的socket设置有各自独立的拥塞控制算法;所述非自定义类型包括:局域网类型、广域网类型或卫星链路类型。本方案可以从网络传输层面针对不同的云桌面客户端环境选择合适的传输协议,从而提高数据通道的桌面数据传输率;由于在两端计算机上都运行代理转发程序,由代理之间建立转发通道,从而与原有桌面传输协议的网络层设置无关,提高了适用性;代理之间通过控制通道交换控制信息,可以根据网络服务质量的变化而实时更改数据通道的协议提高了虚拟桌面对网络服务变化的自适应性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本发明实施例提出的一种虚拟桌面网络加速的方法的流程示意图;
图2示出了本发明实施例提出的一种虚拟桌面网络加速的方法的系统结构图;
图3示出了本发明实施例提出的一种虚拟桌面网络加速的方法中客户端代理进程工作的流程示意图;
图4示出了本发明实施例提出的一种虚拟桌面网络加速的方法中主机代理进程工作的流程示意图;
图5示出了本发明实施例提出的一种虚拟桌面网络加速的装置的结构示意图。
图例说明:
201-控制模块;202-第一处理模块;203-第二处理模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
实施例1
本发明实施例1公开了一种虚拟桌面网络加速的方法,如图1所示,该方法包括以下步骤:
步骤S101、基于所述客户端代理进程通过控制通道向所述主机代理进程发送所述客户端代理进程与所述主机代理进程之间网络的网络类型的信息;
具体的,如图2所示,本方案应用于包括一个或多个虚拟桌面客户端及一个或多个服务器主机的系统中,所述虚拟桌面客户端上运行有客户端代理进程及一个或多个虚拟桌面客户端进程;所述服务器主机上运行有主机代理进程及一个或多个虚拟机;各虚拟桌面客户端进程与相应的所述虚拟机之间存在一条或多条经由所述客户端代理进程与所述主机代理进程的显示通道;
步骤S102、若所述网络类型为自定义类型,则以UDP(User Datagram Protocol,用户数据包协议)协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;
步骤S103、若所述网络类型为非自定义类型,则以TCP(Transmission ControlProtocol,传输控制协议)协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;基于所述网络类型,为TCP协议的数据通道设置socket的拥塞控制算法,不同的所述网络类型对应有不同的拥塞控制算法;在服务器主机上,连接不同自定义类型网络的多个TCP协议数据通道的socket设置有各自独立的拥塞控制算法;
具体的,由于服务器主机可以连接多个虚拟桌面客户端,具体的通过socket连接客户端,不同的socket连接不同的虚拟桌面客户端,虚拟桌面客户端上的socket的拥塞控制算法可以有不同,在此情况下,在服务器主机侧的socket的拥塞控制算法,一般同一通道两端的socket的拥塞控制算法可以设置为一样,由于可以有多个socket,因此可能不通的socket有不同的拥塞控制算法。
具体的,所述非自定义类型包括:局域网类型、广域网类型或卫星链路类型。进一步的,在以UDP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道之后,还包括:基于所述网络类型为TCP协议的数据通道设置socket的拥塞控制算法;其中,不同的所述网络类型对应有不同的拥塞控制算法。
具体的,如图2所示,虚拟桌面客户端进程A所在客户端上有一个代理进程B,虚拟机V所在主机有一个代理进程C;
B与C之间建立一条控制通道,B向C通过控制通道发送B与C之间的信道类型,类型包括局域网、广域网、卫星链路和自定义类型,自定义类型可以有多个,每个自定义类型规定了信道的服务质量,至少包括丢包率、带宽、网络延时3个方面;
从A发起建立与B的数据通道,从B发起建立一条与C的数据通道,B根据B与C之间的信道类型决定数据通道使用UDP还是TCP协议;
1.使用UDP协议时,B与C之间使用自定义的基于UDP的可靠传输算法,算法使用B、C之间自定义信道类型的参数;
2.使用TCP协议时,服务器主机和客户端分别根据B与C之间的信道类型为B、C之间连接的socket设置拥塞控制算法;从C发起建立与V的数据通道,这些数据通道连接起来组成由A、B、C到V之间的虚拟桌面显示通道,B、C转发A与V之间的交互数据,虚拟机V的桌面信息从V经过C、B传送到A,由A在客户端显示器上显示虚拟机V的桌面信息;
此外,该方法还包括:若确定所述客户端代理进程与所述主机代理进程之间的网络质量变差达到自定义类型阈值,则控制所述客户端代理进程向所述主机代理进程发送网络类型为自定义类型的信息。
具体的,B、C之间的网络服务质量有较大变化时,B、C通过控制通道进行协商,实时改变B、C之间数据通道的协议选择,如果是TCP通道,可以实时改变B、C之间TCP的拥塞控制算法。
在一个具体的实施例中,如图3与图4所示,还包括:
通过所述客户端代理进程获取所述服务器主机的IP、所述主机代理进程的侦听端口、所述网络类型、所述虚拟机的IP和端口;
基于所述服务器主机的IP与所述侦听端口,控制所述客户端代理进程与所述主机代理进程之间建立控制通道,并基于所述控制通道向所述主机代理进程发送所述网络类型、所述虚拟机的IP和端口;
建立所述客户端代理进程与所述虚拟桌面客户端进程的连接;
建立所述客户端代理进程与所述主机代理进程之间的与所述网络类型对应的数据通道,以使所述客户端代理进程将所述虚拟桌面客户端收到的数据通过建立的所述数据通道转发给所述主机代理进程,以及将所述主机代理进程收到的数据转发给所述客户端代理进程;
基于所述虚拟机的IP和端口实现所述主机代理进程与所述虚拟机之间的连接,以使主机代理进程将从所述客户端代理进程收到的数据转发给所述虚拟机,以及将从所述虚拟机收到的数据通过建立的数据通道转发给所述客户端代理进程。
此外,所述客户端代理进程与所述主机代理进程之间预先建立有TCP协议的数据通道与UDP协议的数据通道;若所述网络类型为自定义类型,则选择所述UDP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;若所述网络类型为非自定义类型,则选择所述TCP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道。
具体的,B、C之间建立有两条数据通道,一条使用TCP协议,一条使用UDP协议,B、C转发A、V之间的交互数据时,根据当前信道类型选择TCP数据通道或UDP数据通道进行转发。
此外,所述虚拟桌面客户端进程与所述客户端代理进程之间、所述客户端代理进程与所述主机代理进程之间以及所述主机代理与所述虚拟机之间均建立有多条数据通道。具体的A、B之间建立多条数据通道,B、C之间与C、V之间相应建立多条数据通道。
使用本方案,可以从网络传输层面针对不同的虚拟桌面客户端环境选择合适的传输协议和拥塞控制算法,从而提高数据通道的桌面数据传输率;由于在两端计算机上都运行代理转发程序,由代理之间建立转发通道,从而与原有桌面传输协议的网络层设置无关,提高了适用性;代理之间通过控制通道交换控制信息,可以根据网络服务质量的变化而实时更改数据通道的协议和拥塞控制算法,提高了虚拟桌面对网络服务变化的自适应性。
实施例2
参照图2,客户端上代理进程B获取(从用户输入或配置文件)虚拟机V所在服务器主机IP地址,向服务器代理进程C服务端口号发起连接,建立控制通道,进程B识别或获取与服务器主机之间的网络类型为局域网,获取虚拟机V桌面服务的IP地址和端口号,进程B将网络类型和桌面服务IP地址和端口号发送给进程C,客户端上虚拟桌面客户端A连接本机进程B,B使用TCP协议连接C,B、C根据网络类型为局域网分别将该连接所使用socket的拥塞控制算法设置为cubic,C继续连接桌面服务IP和端口,连接建立后,B、C双向转发A与V之间的交互数据。
实施例3
在实施例1中,客户端代理进程上报网络类型为广域网类型,服务器主机和客户端上代理进程都将B、C之间TCP连接socket的拥塞控制算法设置为brr。
实施例4
在实施例1中,客户端代理进程上报所处网络环境为卫星链路类型,服务器主机和客户端上代理进程都将B、C之间TCP连接socket(套接字)的拥塞控制算法设置为vegas。
实施例5
在实施例1中,客户端代理进程上报所处网络环境为自定义类型1,服务器主机和客户端上代理进程都将B、C之间的通道使用自定义UDP可靠传输协议,并依据自定义类型1中的参数更改协议参数。
实施例6
在实施例1中,B、C之间同时建立一条TCP通道和自定义UDP可靠传输通道,客户端代理进程上报所处网络环境为卫星链路类型,服务器主机和客户端上代理进程将B、C之间TCP连接socket的拥塞控制算法设置为vegas,并选择该连接做为数据通道转发虚拟桌面显示数据。
实施例7
在实施例5运行一段时间后,由于外界环境变化,卫星链路服务质量变差,客户端代理进程向服务器代理进程报告网络环境为自定义类型2,服务器主机和客户端上代理进程都将B、C之间的数据通道由TCP通道改为使用自定义UDP可靠传输通道,并依据自定义类型2中的参数更改协议参数。
以此,本方案存在以下创新:1.在桌面虚拟机所在主机和桌面客户端所在客户端上分别运行代理进程建立数据通道进行显示数据的转发服务,代理进程之间额外建立控制通道进行控制信息的传送,由此控制数据通道的设置;2.建立信道类型分类,将复杂网络类型列入自定义类型,根据信道类型来设置数据通道的协议选择和拥塞控制算法;3.建立分布式的桌面数据通道加速体系,由分布在各个不同网络环境的客户端根据实际网络状况分别选择与数据中心服务器的桌面数据通道协议和算法参数,加速所承载的虚拟桌面显示数据传输;4.客户端可根据所处网络环境的质量变化实时改变服务器主机与客户端之间虚拟桌面显示数据通道的协议选择和拥塞控制算法。
实施例8
本发明实施例8还公开了一种虚拟桌面网络加速的装置,应用于包括一个或多个虚拟桌面客户端及一个或多个服务器主机的系统中,所述虚拟桌面客户端上运行有客户端代理进程及一个或多个虚拟桌面客户端进程;所述服务器主机上运行有主机代理进程及一个或多个虚拟机;如图5所示,该装置包括:
控制模块201,用于基于所述客户端代理进程通过控制通道向所述主机代理进程发送所述客户端代理进程与所述主机代理进程之间网络的网络类型的信息;
第一处理模块202,用于若所述网络类型为自定义类型,则以UDP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;
第二处理模块203,用于若所述网络类型为非自定义类型,则以TCP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;基于所述网络类型,为TCP协议的数据通道设置socket的拥塞控制算法,不同的所述网络类型对应有不同的拥塞控制算法;在服务器主机上,连接不同自定义类型网络的多个TCP协议数据通道的socket设置有各自独立的拥塞控制算法;所述非自定义类型包括:局域网类型、广域网类型或卫星链路类型。
在一个具体的实施例中,还包括:调整模块,用于:若确定所述客户端代理进程与所述主机代理进程之间的网络质量变差达到自定义类型阈值,则控制所述客户端代理进程向所述主机代理进程发送网络类型为自定义类型的信息。
在一个具体的实施例中,还包括:操作模块,用于通过所述客户端代理进程获取所述服务器主机的IP、所述主机代理进程的侦听端口、所述网络类型、所述虚拟机的IP和端口;基于所述服务器主机的IP与所述侦听端口,控制所述客户端代理进程与所述主机代理进程之间建立控制通道,并基于所述控制通道向所述主机代理进程发送所述网络类型、所述虚拟机的IP和端口;建立所述客户端代理进程与所述虚拟桌面客户端进程的连接;基于所述虚拟机的IP和端口实现所述主机代理进程与所述虚拟机之间的连接。
在一个具体的实施例中,所述客户端代理进程与所述主机代理进程之间预先建立有TCP协议的数据通道与UDP协议的数据通道。
在一个具体的实施例中,所述虚拟桌面客户端进程与所述客户端代理进程之间、所述客户端代理进程与所述主机代理进程之间以及所述主机代理与所述虚拟机之间均建立有多条数据通道。
实施例9
本发明实施例9还公开了一种终端,包括存储器以及处理器,所述存储器存储有计算机程序,所述处理器运行所述计算机程序以使所述处理器执行实施例1中所述的虚拟桌面网络加速的方法。
实施例10
本发明实施例10还公开了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现实施例1中所述的虚拟桌面网络加速的方法。
以此,本发明实施例提出了一种虚拟桌面网络加速的方法、装置、终端及存储介质,应用于包括一个或多个虚拟桌面客户端及一个或多个服务器主机的系统中,所述虚拟桌面客户端上运行有客户端代理进程及一个或多个虚拟桌面客户端进程;所述服务器主机上运行有主机代理进程及一个或多个虚拟机;该方法包括:控制所述客户端代理进程通过控制通道向所述主机代理进程发送所述客户端代理进程与所述主机代理进程之间网络的网络类型的信息;若所述网络类型为自定义类型,则以UDP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;若所述网络类型为非自定义类型,则以TCP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;基于所述网络类型,为TCP协议的数据通道设置socket的拥塞控制算法,不同的所述网络类型对应有不同的拥塞控制算法;在服务器主机上,连接不同自定义类型网络的多个TCP协议数据通道的socket设置有各自独立的拥塞控制算法;所述非自定义类型包括:局域网类型、广域网类型或卫星链路类型。本方案可以从网络传输层面针对不同的云桌面客户端环境选择合适的传输协议,从而提高数据通道的桌面数据传输率;由于在两端计算机上都运行代理转发程序,由代理之间建立转发通道,从而与原有桌面传输协议的网络层设置无关,提高了适用性;代理之间通过控制通道交换控制信息,可以根据网络服务质量的变化而实时更改数据通道的协议提高了虚拟桌面对网络服务变化的自适应性。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种虚拟桌面网络加速的方法,其特征在于,应用于包括一个或多个虚拟桌面客户端及一个或多个服务器主机的系统中,所述虚拟桌面客户端上运行有客户端代理进程及一个或多个虚拟桌面客户端进程;所述服务器主机上运行有主机代理进程及一个或多个虚拟机;该方法包括:
基于所述客户端代理进程通过控制通道向所述主机代理进程发送所述客户端代理进程与所述主机代理进程之间网络的网络类型的信息;
若所述网络类型为自定义类型,则以UDP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;
若所述网络类型为非自定义类型,则以TCP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;基于所述网络类型,为TCP协议的数据通道设置socket的拥塞控制算法,不同的所述网络类型对应有不同的拥塞控制算法;在服务器主机上,连接不同自定义类型网络的多个TCP协议数据通道的socket设置有各自独立的拥塞控制算法;所述非自定义类型包括:局域网类型、广域网类型或卫星链路类型。
2.如权利要求1所述的方法,其特征在于,还包括:
若确定所述客户端代理进程与所述主机代理进程之间的网络质量变差达到自定义类型阈值,则控制所述客户端代理进程向所述主机代理进程发送网络类型为自定义类型的信息。
3.如权利要求1所述的方法,其特征在于,还包括:
通过所述客户端代理进程获取所述服务器主机的IP、所述主机代理进程的侦听端口、所述网络类型、所述虚拟机的IP和端口;
基于所述服务器主机的IP与所述侦听端口,控制所述客户端代理进程与所述主机代理进程之间建立控制通道,并基于所述控制通道向所述主机代理进程发送所述网络类型、所述虚拟机的IP和端口;
建立所述客户端代理进程与所述虚拟桌面客户端进程的连接;
基于所述虚拟机的IP和端口实现所述主机代理进程与所述虚拟机之间的连接。
4.如权利要求1所述的方法,其特征在于,所述客户端代理进程与所述主机代理进程之间预先建立有TCP协议的数据通道与UDP协议的数据通道。
5.如权利要求1所述的方法,其特征在于,所述虚拟桌面客户端进程与所述客户端代理进程之间、所述客户端代理进程与所述主机代理进程之间以及所述主机代理与所述虚拟机之间均建立有多条数据通道。
6.一种虚拟桌面网络加速的装置,其特征在于,应用于包括一个或多个虚拟桌面客户端及一个或多个服务器主机的系统中,所述虚拟桌面客户端上运行有客户端代理进程及一个或多个虚拟桌面客户端进程;所述服务器主机上运行有主机代理进程及一个或多个虚拟机;该装置包括:
控制模块,用于基于所述客户端代理进程通过控制通道向所述主机代理进程发送所述客户端代理进程与所述主机代理进程之间网络的网络类型的信息;
第一处理模块,用于若所述网络类型为自定义类型,则以UDP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;
第二处理模块,用于若所述网络类型为非自定义类型,则以TCP协议的数据通道作为所述客户端代理进程与所述主机代理进程之间的数据转发通道;基于所述网络类型,为TCP协议的数据通道设置socket的拥塞控制算法,不同的所述网络类型对应有不同的拥塞控制算法;在服务器主机上,连接不同自定义类型网络的多个TCP协议数据通道的socket设置有各自独立的拥塞控制算法;所述非自定义类型包括:局域网类型、广域网类型或卫星链路类型。
7.如权利要求6所述的装置,其特征在于,还包括:
调整模块,用于若确定所述客户端代理进程与所述主机代理进程之间的网络质量变差达到自定义类型阈值,则控制所述客户端代理进程向所述主机代理进程发送网络类型为自定义类型的信息。
8.如权利要求6所述的装置,其特征在于,还包括:
操作模块,用于通过所述客户端代理进程获取所述服务器主机的IP、所述主机代理进程的侦听端口、所述网络类型、所述虚拟机的IP和端口;
基于所述服务器主机的IP与所述侦听端口,控制所述客户端代理进程与所述主机代理进程之间建立控制通道,并基于所述控制通道向所述主机代理进程发送所述网络类型、所述虚拟机的IP和端口;
建立所述客户端代理进程与所述虚拟桌面客户端进程的连接;
基于所述虚拟机的IP和端口实现所述主机代理进程与所述虚拟机之间的连接。
9.一种终端,其特征在于,包括存储器以及处理器,所述存储器存储有计算机程序,所述处理器运行所述计算机程序以使所述处理器执行如权利要求1-5中任一项所述的虚拟桌面网络加速的方法。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的虚拟桌面网络加速的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111360705.0A CN114020395B (zh) | 2021-11-17 | 2021-11-17 | 一种虚拟桌面网络加速的方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111360705.0A CN114020395B (zh) | 2021-11-17 | 2021-11-17 | 一种虚拟桌面网络加速的方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114020395A CN114020395A (zh) | 2022-02-08 |
CN114020395B true CN114020395B (zh) | 2023-06-23 |
Family
ID=80064851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111360705.0A Active CN114020395B (zh) | 2021-11-17 | 2021-11-17 | 一种虚拟桌面网络加速的方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020395B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11936564B2 (en) | 2022-05-18 | 2024-03-19 | Cisco Technology, Inc. | Dynamically enabling a transport control protocol proxy for satellite networks |
CN115460267B (zh) * | 2022-08-16 | 2023-06-02 | 珠海市奥德维科技有限公司 | 通讯方法和系统、存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219229A (zh) * | 2014-08-18 | 2014-12-17 | 国家电网公司 | 虚拟桌面数据的传输方法和装置 |
CN105847332A (zh) * | 2016-03-17 | 2016-08-10 | 汉柏科技有限公司 | 桌面虚拟化方法、客户端设备和服务端设备 |
CN107682384A (zh) * | 2016-08-01 | 2018-02-09 | 中兴通讯股份有限公司 | 虚拟桌面组播控制方法、终端、代理终端及云桌面服务器 |
US9992185B1 (en) * | 2012-11-02 | 2018-06-05 | Wyse Technology L.L.C. | Virtual desktop accelerator support for network gateway |
CN108933801A (zh) * | 2017-05-24 | 2018-12-04 | 中兴通讯股份有限公司 | 一种云桌面通道建立及云桌面通信的方法及装置 |
US10430371B1 (en) * | 2018-08-07 | 2019-10-01 | Dell Products L.P. | Accelerating redirected USB devices that perform bulk transfers |
CN112948033A (zh) * | 2021-01-28 | 2021-06-11 | 西安超越申泰信息科技有限公司 | 一种虚拟桌面平台 |
CN113626133A (zh) * | 2021-06-29 | 2021-11-09 | 济南浪潮数据技术有限公司 | 一种虚拟机控制方法、装置、设备及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8918499B2 (en) * | 2010-08-09 | 2014-12-23 | International Business Machines Corporation | Method and system for end-to-end quality of service in virtualized desktop systems |
WO2017030607A1 (en) * | 2015-08-17 | 2017-02-23 | Five9, Inc. | Systems and methods for establishing a control channel between a virtualization server and a client device |
KR102389028B1 (ko) * | 2016-01-04 | 2022-04-22 | 한국전자통신연구원 | 가상 데스크탑 간의 데이터 고속 전송 장치 및 방법 |
-
2021
- 2021-11-17 CN CN202111360705.0A patent/CN114020395B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9992185B1 (en) * | 2012-11-02 | 2018-06-05 | Wyse Technology L.L.C. | Virtual desktop accelerator support for network gateway |
CN104219229A (zh) * | 2014-08-18 | 2014-12-17 | 国家电网公司 | 虚拟桌面数据的传输方法和装置 |
CN105847332A (zh) * | 2016-03-17 | 2016-08-10 | 汉柏科技有限公司 | 桌面虚拟化方法、客户端设备和服务端设备 |
CN107682384A (zh) * | 2016-08-01 | 2018-02-09 | 中兴通讯股份有限公司 | 虚拟桌面组播控制方法、终端、代理终端及云桌面服务器 |
CN108933801A (zh) * | 2017-05-24 | 2018-12-04 | 中兴通讯股份有限公司 | 一种云桌面通道建立及云桌面通信的方法及装置 |
US10430371B1 (en) * | 2018-08-07 | 2019-10-01 | Dell Products L.P. | Accelerating redirected USB devices that perform bulk transfers |
CN112948033A (zh) * | 2021-01-28 | 2021-06-11 | 西安超越申泰信息科技有限公司 | 一种虚拟桌面平台 |
CN113626133A (zh) * | 2021-06-29 | 2021-11-09 | 济南浪潮数据技术有限公司 | 一种虚拟机控制方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
基于桌面虚拟化的卫星网络高速上网技术研究;何辞 等;无线电工程(09);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114020395A (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114020395B (zh) | 一种虚拟桌面网络加速的方法、装置、终端及存储介质 | |
CN113709057B (zh) | 网络拥塞的通告方法、代理节点、网络节点及计算机设备 | |
CN107948076B (zh) | 一种转发报文的方法及装置 | |
CN1494296B (zh) | 确定网络路径传输单元 | |
CN103476062B (zh) | 一种数据流调度的方法、设备和系统 | |
CN111866956A (zh) | 一种数据传输方法及对应的设备 | |
US8867375B2 (en) | Failback to a primary communications adapter | |
US8817815B2 (en) | Traffic optimization over network link | |
TW200810475A (en) | Method and system for network-independent QoS | |
WO2019185552A1 (fr) | Procede de communication | |
CN114745273B (zh) | Tcp加速代理方法、装置、卫星地面站及可读存储介质 | |
Natarajan et al. | SCTP: What, why, and how | |
US20200169613A1 (en) | Adaptive media content delivery network | |
WO2011017648A1 (en) | System and method for sharing a payload among multiple homed networks | |
CN109039947B (zh) | 网络包去重方法、装置、网络分流设备及存储介质 | |
JP2003523141A (ja) | 選択的なスプーフィングを行う選択的なスプーファおよびその方法 | |
EP3777308A1 (fr) | Procede de communication | |
US7783784B1 (en) | Method and apparatus for adaptive selection of algorithms to load and spread traffic on an aggregation of network interface cards | |
US11706290B2 (en) | Direct server reply for infrastructure services | |
US9148366B2 (en) | Interactive header compression in peer-to-peer communications | |
US9877357B2 (en) | Changing wireless carriers during a mobile gateway session | |
US6563813B1 (en) | Wireless transport protocol | |
CN113347681A (zh) | 数据传输方法、装置、存储介质及电子装置 | |
WO2008050061A2 (fr) | Procede et systeme de communication relatifs au protocole dhcp | |
CN106209733B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |