一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

云桌面连接方法、装置和设备与流程

2022-11-06 21:43:39 来源:中国专利 TAG:


1.本发明涉及通信技术领域,尤其涉及一种云桌面连接方法、装置和设备。


背景技术:

2.在公网环境中使用云桌面,通过网关服务器来代理云桌面客户端与服务端之间传输的消息,通常网关服务器跟云桌面客户端之间使用websocket或者http协议传输应用层数据。不管是websocket还是http协议,都是基于tcp(transmission control protocol)协议或者基于tcp 传输层安全(transport layer security,tls)协议建立连接,然后进行通信交互。由于云桌面客户端和服务端交互传输的数据量较大,传输的数据包括桌面图像数据、音视频播放数据、文件拷贝数据、鼠标键盘敲击消息等多种类型的消息和数据,这种基于tcp的方案在网络延时较小、网络条件比较稳定的情况下,用户尚且能友好地使用云桌面,但是在网络延时较大、网络不稳定等弱网环境中,基于tcp数据传送方法就会极大地影响用户使用云桌面的体验,这是由tcp协议本身的固有的缺陷导致的。
3.tcp协议的固有缺陷主要有以下几点:
4.(1)建立连接的握手延迟大;
5.(2)存在队头阻塞;
6.(3)低效并且用户有感知的连接迁移。
7.而udp(user datagram protocol)是无连接、不可靠的传输层协议,如果将udp协议直接应用于云桌面连接通信中,传输数据会频繁丢包,会导致云桌面出现花屏、掉帧等问题,严重影响用户使用。尤其是在公网这种更复杂的网络环境中,这些现象尤为严重。


技术实现要素:

8.有鉴于此,本发明提供一种云桌面连接方法、装置和设备,用于提高弱网环境下云桌面用户的体验。
9.基于本发明实施例的一方面,本发明提供了一种云桌面连接方法,该方法应用于网关,该方法包括:
10.接收云桌面客户端发送的连接建立请求,基于所述连接建立请求通过tcp协议为所述云桌面客户端建立网关到云桌面的访问链路,以及建立网关与云桌面客户端之间的访问链路;所述网关与云桌面客户端之间的访问链路支持使用多种协议。
11.进一步地,所述方法还包括:
12.在建立网关与云桌面客户端之间的访问链路之前,判断云桌面管理平台是否下发了协议配置策略;
13.若协议配置策略配置为智能选择模式,则支持使用不同协议类型建立与云桌面客户端之间的访问链路;
14.若协议配置策略配置为指定协议模式,则使用指定协议类型建立与云桌面客户端之间的访问链路;
15.所述不同协议类型至少包括tcp协议和quic协议。
16.进一步地,所述方法还包括:
17.在接收到云桌面客户端发送的链路协议切换请求且所述协议配置策略配置为智能选择模式时,执行网关与云桌面客户端之间的访问链路的协议类型的切换,切换的目标协议类型为云桌面客户端基于网络状况或综合网络状况和数据传输质量需求两方面因素决策的协议类型。
18.基于本发明实施例的另一方面,本发明提供了一种云桌面连接装置,该装置应用于网关,该装置包括:
19.广域网链路模块,用于接收云桌面客户端发送的连接建立请求,基于所述连接建立请求建立网关与云桌面客户端之间的访问链路;所述网关与云桌面客户端之间的访问链路支持使用多种协议;
20.局域网链路模块,用于在接收到云桌面客户端发送的连接建立请求时,通过tcp协议为所述云桌面客户端建立网关到云桌面的访问链路;
21.关联模块,用于关联为所述云桌面客户端创建的网关与云桌面客户端之间的访问链路和网关到云桌面的访问链路,执行协议转换及数据的转发。
22.进一步地,所述装置还包括:
23.协议控制模块,用于在建立网关与云桌面客户端之间的访问链路之前,判断云桌面管理平台是否下发了协议配置策略;
24.所述协议控制模块在所述协议配置策略配置为智能选择模式时,允许使用不同协议类型建立与云桌面客户端之间的访问链路;
25.所述协议控制模块在所述协议配置策略配置为指定协议模式时,限制仅使用指定协议类型建立与云桌面客户端之间的访问链路;
26.所述不同协议类型至少包括tcp协议和quic协议。
27.进一步地,所述广域网链路模块还用于接收云桌面客户端发送的链路协议切换请求,在协议配置策略配置为智能选择模式时,执行网关与云桌面客户端之间的访问链路的协议类型的切换;切换的目标协议类型为云桌面客户端基于网络状况或综合网络状况和数据传输质量需求两方面因素决策的协议类型。
28.基于本发明实施例的另一方面,本发明提供了一种云桌面连接方法,该方法应用于云桌面客户端,该方法包括:
29.根据网络状况或综合网络状况和数据传输质量需求两方面因素决策创建云桌面客户端与云桌面之间的访问链路所使用的协议类型;
30.向云桌面发送连接建立请求以请求建立云桌面客户端与云桌面之间的访问链路;所述云桌面客户端与云桌面之间的访问链路包括云桌面与网关之间的访问链路和网关与云桌面客户端之间的访问链路;所述云桌面与网关之间的访问链路采用tcp协议;所述网关与云桌面客户端之间的访问链路支持使用不同协议类型,所述不同协议类型至少包括tcp协议和quic协议。
31.进一步地,在建立与网关之间的访问链路之后,根据网络状况或综合网络状况和数据传输质量需求两方面因素决策是否需要切换访问链路的协议类型;
32.在决策需要切换访问链路的协议类型时,向网关发送链路协议切换请求,在网关
允许切换的情况下执行链路协议类型的切换。
33.进一步地,所述根据网络状况决策创建云桌面客户端与云桌面之间的访问链路所使用的协议类型的方法为:
34.为反映当前网络状况的多个第一统计参数赋予预设的权重因子,将每个第一统计参数与对应权重因子的乘积求和,获得第一综合判断因子;
35.根据第一综合判断因子与预设的多个第一阈值区间的对应关系确定所使用的协议类型;
36.所述第一统计参数包括丢包率、网络延时和网络带宽。
37.进一步地,所述根据网络状况决策是否需要切换访问链路的协议类型的方法为:
38.为反映当前网络状况的多个第一统计参数和第二统计参数赋予预设的权重因子,将每个第一统计参数与对应权重因子的乘积以及第二统计参数与对应权重因子的乘积求和,获得第二综合判断因子;
39.根据第二综合判断因子与预设的多个第二阈值区间的对应关系确定应当使用的协议类型;
40.判断网关与云桌面客户端之间的访问链路的协议类型与应当使用的协议类型是否一致,不一致则决策进行切换;
41.所述第一统计参数包括丢包率、网络延时、网络带宽,所述第二统计参数包括单位时间内传输的数据量。
42.基于本发明实施例的另一方面,本发明提供了一种云桌面连接装置,该装置应用于云桌面客户端,该装置包括:
43.链路建立模块,用于向云桌面发送连接建立请求以请求建立云桌面客户端与云桌面之间的访问链路;所述云桌面客户端与云桌面之间的访问链路包括云桌面与网关之间的访问链路和网关与云桌面客户端之间的访问链路;所述云桌面与网关之间的访问链路采用tcp协议;所述网关与云桌面客户端之间的访问链路支持使用不同协议类型,所述不同协议类型至少包括tcp协议和quic协议;
44.智能选择模块,用于根据网络状况或综合网络状况和数据传输质量需求两方面因素决策创建云桌面客户端与云桌面之间的访问链路所使用的协议类型。
45.进一步地,所述智能选择模块还用于在建立与网关之间的访问链路之后,根据网络状况或综合网络状况和数据传输质量需求两方面因素决策是否需要切换访问链路的协议类型;
46.在决策需要切换访问链路的协议类型时,向网关发送链路协议切换请求,在网关允许切换的情况下执行链路协议类型的切换。
47.进一步地,所述智能选择模块包括:
48.第一判断模块,用于为反映当前网络状况的多个第一统计参数赋予预设的权重因子,将每个第一统计参数与对应权重因子的乘积求和,获得第一综合判断因子;根据第一综合判断因子与预设的多个第一阈值区间的对应关系确定创建云桌面客户端与云桌面之间的访问链路所使用的协议类型;
49.第二判断模块,用于为反映当前网络状况的多个第一统计参数和第二统计参数赋予预设的权重因子,将每个第一统计参数与对应权重因子的乘积以及第二统计参数与对应
权重因子的乘积求和,获得第二综合判断因子;根据第二综合判断因子与预设的多个第二阈值区间的对应关系确定应当使用的协议类型;判断网关与云桌面客户端之间的访问链路的协议类型与应当使用的协议类型是否一致,不一致则决策进行切换;
50.所述第一统计参数包括丢包率、网络延时、网络带宽,所述第二统计参数包括单位时间内传输的数据量。
51.本发明为云桌面客户端引入协议智能选择模块,允许云桌面客户端根据网络状况选择创建网关与云桌面客户端之间的访问链路的协议类型,本发明能有效改善广域网侧弱网环境对云桌面数据传输的影响,包括减小了操作延迟、减少了数据包传输开销等,从而改善云桌面用户在弱网环境中的使用体验。
附图说明
52.为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本发明实施例的这些附图获得其他的附图。
53.图1为本发明一实施例提供的云桌面数据传输框架结构示意图;
54.图2为本发明一实施例中云桌面广域网侧云桌面客户端与网关之间建立连接的示意图;
55.图3为本发明提供的实现本发明提供的云桌面连接方法的电子设备结构示意图。
具体实施方式
56.在本发明实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明实施例。本发明实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。本发明中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
57.应当理解,尽管在本发明实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
58.快速用户数据报互联网连接(quick udp internet connections,quic)协议是一种基于udp进行多路并发传输的协议。quic相比传统的tcp tls协议具有如下优势:
59.(1)减少了tcp三次握手及tls握手时间;
60.(2)改进的拥塞控制;
61.(3)避免队头阻塞的多路复用;
62.(4)平滑、无感知的连接迁移;
63.(5)前向冗余纠错。
64.通过分析和验证可以发现,使用quic协议可提高在弱网环境下数据的传输效率。
65.为了提高在弱网环境下云桌面数据的传输效率,改善弱网环境下云桌面用户的体
验,本发明提供一种云桌面连接方法,本发明的基本思想是:为云桌面客户端引入协议智能选择模块,允许云桌面客户端根据网络状况选择创建网关与云桌面客户端之间的访问链路的协议类型,本发明能有效改善广域网侧弱网环境对云桌面数据传输的影响,包括减小了操作延迟、减少了数据包传输开销等,从而改善云桌面用户在弱网环境中的使用体验。
66.图1为本发明一实施例提供的云桌面数据传输框架结构示意图,云桌面被部署在云端局域网中的虚拟机服务器即云桌面宿主机上,云桌面与网关之间通过tcp协议连接。云桌面客户端经广域网连接到位于云端局域网中的网关,云桌面客户端与网关之间的数据传输可基于广域网的网络环境状况动态选择所使用的协议类型。在网络状况好的情况下,使用tcp协议传输。在网络状况不好的情况下,使用quic协议传输。
67.本发明在网关中引入quic server即quic服务组件,在云桌面客户端中引入quic client即quic客户端组件,通过quic server和quic client组件之间实现quic连接创建、连接接收,quic数据包封装、解封,数据包缓存,多线程传输数据等功能。网关通过websocket server即websocket服务端组件监听请求并调用quic server组件接口来接收quic连接、收发quic数据,并通过websocket server组件进行tcp协议与quic协议数据包的转换和转发。云桌面客户端通过websocket client即websocket客户端组件调用quic client组件接口来发起quic连接、收发quic数据。
68.(1)链路建立过程中,在网关接收到云桌面客户端发送的连接建立请求时,网关会为发送请求的云桌面客户端建立网关到云桌面之间的访问链路以及网关到云桌面客户端之间的访问链路。
69.网关到云桌面之间的访问链路由于位于局域网中,网络状况通常都是稳定且良好的,因此网关固定使用tcp协议为云桌面客户端建立网关到云桌面之间的访问链路。
70.网关到云桌面客户端之间的访问链路位于广域网中,通常广域网的网络状况会时常有不稳定的情况发生,因此,为了动态适应网络状况的变化,本发明中通过网关中的websocket server组件来监听请求并建立网关与云桌面客户端之间的访问链路,websocket server组件支持使用多种协议为云桌面客户端建立网关与云桌面客户端之间的访问链路。
71.(2)在网关接收到云桌面客户端发送的连接建立请求之后,建立网关与云桌面客户端之间的访问链路之前,网关首先判断云桌面管理平台是否下发了协议配置策略,若协议配置策略配置为智能选择模式,则表明云桌面管理平台允许网关的websocket server组件使用不同协议类型与云桌面客户端建立访问链路;若协议配置策略配置为指定协议模式,则仅允许websocket服务端组件使用指定协议类型与云桌面客户端建立访问链路。其中,不同协议类型至少包括tcp协议和quic协议。
72.本发明实施例中,云桌面管理平台即虚拟机管理平台可为网关配置协议配置策略,在网关启动及策略变化时,将协议配置策略下发给网关。网关基于协议配置策略建立网关与云桌面客户端之间的访问链路。协议配置策略配置可配置智能选择模式、tcp协议模式或quic协议模式。若协议配置策略配置为智能选择模式,则允许网关使用不同协议类型与云桌面客户端建立访问链路,若协议配置策略配置为指定协议模式,例如tcp协议模式或quic协议模式,则仅允许网关使用指定协议类型与云桌面客户端建立访问链路。本发明实施例中,所述的不同协议类型不限于tcp协议模式、quic协议模式,还可以扩展其它协议类
型,例如用户数据报udp协议类型等。
73.(3)为了更灵活的适应广域网中网络状况的变化,本发明实施例通过为云桌面客户端添加智能选择模块,允许云桌面客户端根据网络状况切换已经的访问链路的协议类型。虚拟机管理平台为网关配置的协议配置策略为智能选择模式时,若接收到云桌面客户端发送的链路协议切换请求,则执行网关与云桌面客户端之间的访问链路的协议类型的切换,切换的目标协议类型为云桌面客户端基于网络状况或综合网络状况和数据传输质量需求两方面因素决策的协议类型。
74.(4)在本发明一实施例中,网关可在启动时根据网关所在主机的cpu核数量创建对应个数的websocket server实例,每个websocket server实例对应创建所支持的协议类型的服务端实例,websocket server根据监听到的连接建立请求的协议类型调用已创建好的对应协议类型的服务端组件快速地建立链路。例如在协议配置策略配置为智能选择模式时,websocket server实例在启动时即启动quic server实例,当监听到云桌面客户端发起quic协议类型的连接建立请求时,网关可快速将已创建好的quic server实例分配给云桌面客户端使用,从而提高连接建立速度。
75.基于网关在本发明中的功能,可将实现本发明目的的方法步骤封装在一个由多个软件模块构成的云桌面连接装置中,该云桌面连接装置可存储和运行于网关的机器可读存储介质当中,该装置包括:
76.广域网链路模块:用于接收云桌面客户端发送的连接建立请求,通过websocket服务端组件监听并建立网关与云桌面客户端之间的访问链路;websocket服务端组件支持使用多种协议建立网关与云桌面客户端之间的访问链路;
77.局域网链路模块:用于在接收云桌面客户端发送的连接建立请求时,通过tcp协议为所述云桌面客户端建立网关到云桌面的访问链路;
78.关联模块:用于关联为云桌面客户端创建的网关与云桌面客户端之间的访问链路和网关到云桌面的访问链路,执行协议转换及数据的转发。
79.为了能够实现云桌面管理平台对网关建立访问链路所使用的协议类型的动态和灵活的控制,提高兼容性,本发明实施例中还可在云桌面连接装置中提供协议控制模块,该模块用于在建立网关与云桌面客户端之间的访问链路之前,判断云桌面管理平台是否下发了协议配置策略;协议控制模块在协议配置策略配置为智能选择模式时,允许websocket服务端组件使用不同协议类型建立与云桌面客户端之间的访问链路;在协议配置策略配置为指定协议模式时,限制websocket服务端组件仅使用指定协议类型建立与云桌面客户端之间的访问链路。
80.图2为本发明一实施例中云桌面广域网侧云桌面客户端与网关之间建立连接的示意图。本发明实施例中,云桌面客户端与云桌面之间可建立多个访问链路,所述访问链路亦可称为协议通道,如图2中,云桌面客户端1与云桌面之间建立5条协议通道,这5条协议通道可用于传送不同用途的数据,可根据数据传输质量需求结合网络状况智能选择使用何种协议类型,例如channel通道1可通过tcp协议传送系统消息,例如鼠标键盘消息等,channel4可针对桌面图像数据采用quic协议无损模式(quic lossless)建立传输通道,channel5可针对播放的音视频数据采用quic协议有损模式(quic lossy)建立传输通道等。
81.本发明实施例中,在云桌面客户端中新增了智能选择模块,允许云桌面客户端根
据网络状况以及数据传输质量需求决策发起连接建立请求的协议类型以及决策是否需要切换访问链路的协议类型。即云桌面客户端可根据当前网络状况以及数据传输质量需求动态调整哪些通道连接使用tcp协议,哪些通道连接使用quic协议。
82.网关与云桌面客户端之间的访问链路由云桌面客户端中的websocket客户端组件与网关中的websocket服务端组件创建。websocket客户端组件支持使用不同协议类型建立与网关之间的访问链路,不同协议类型至少包括tcp协议和quic协议。
83.在本发明一实施例中,智能选择模块根据当前网络连接的丢包率、网络延时、网络带宽、单位时间内传输的数据量等有关网络状况的统计参数综合判断选择使用哪种协议与网关建立通道连接以及是否需要切换访问链路的协议类型。
84.该实施例对影响网络状况的统计参数及权重因子做了如下定义:
85.网络丢包率w,权重因子a
86.网络延时x,权重因子b
87.网络带宽y,权重因子c
88.单位时间内传输的数据量z,权重因子d
89.quic lossless模式:quic无损模式,不允许丢包,可靠性近似于tcp的quic连接方式;
90.quic lossy模式:quic有损模式,允许丢包,传输效率近似于udp的quic连接方式;
91.(1)云桌面客户端(经过网关)向云桌面发起连接建立请求,请求建立云桌面客户端与网关之间的访问链路时,所采用的第一决策模型为:
92.n=a*w b*x c*y
93.其中,n为第一综合判断因子,预设两个门限值n1、n2形成3个预设阈值区间,n1《n2。
94.基于第一综合判断因子的值和预设的多个第一阈值区间的对应关系决策使用何种协议类型建立与网关之间的访问链路,例如3个第一阈值区间与n值的对应关系为:
95.当n《n1时,用tcp建立连接;
96.当n1《=n《n2时,用quic无损方式建立连接;
97.当n》=n2时,用quic有损方式建立连接。
98.(2)云桌面客户端与网关之间建立访问链路之后跟服务端传输数据时,决策是否切换访问链路的协议类型所使用的第二决策模型为:
99.m=a*w b*x c*y d*z
100.其中,m为第二综合判断因子,预设两个门限值m1、m2形成3个预设阈值区间,m1《m2。
101.基于第二综合判断因子的值和预设的多个第二阈值区间的对应关系决策是否需要切换网关与云桌面客户端之间的访问链路的协议类型,例如3个第二阈值区间与m值的对应关系为:
102.当m《m1时,如果原来不是tcp连接,切换使用tcp建立连接并继续传输数据;
103.当m1《=m《m2时,如果原来不是quic无损连接,切换使用quic无损方式建立连接并继续传输数据;
104.当m》=m2时,如果原来不是quic有损连接,切换使用quic有损方式建立连接并继
续传输数据。
105.该实施例提供了一种基于websocket quic协议建立连接通信的广域网云桌面方案,创新性地将quic协议应用于云桌面方案。实施例中引入了一个智能选择模块,客户端能自动选择最优的协议进行连接通信,确保云桌面在弱网环境中数据传输稳定可靠的前提下,有效地改善了操作延迟等问题,极大地提升了广域网用户的体验。针对无法使用udp的网络场景(比如某些网络节点对udp端口进行了过滤),该实施例的方案保留了传统的基于tcp建立连接通信的方案,所以仍然可以使用tcp进行云桌面数据传输,确保了云桌面在绝大多数网络环境中都可用。
106.图3为本发明提供的实现本发明提供的云桌面连接方法的电子设备结构示意图,该设备300包括:诸如中央处理单元(cpu)的处理器310、通信总线320、通信接口340以及存储介质330。其中,处理器310与存储介质330可以通过通信总线320相互通信。存储介质330内存储有计算机程序,当该计算机程序被处理器310执行时即可实现本发明提供的云桌面连接方法的各步骤的功能。
107.其中,存储介质可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。另外,存储介质还可以是至少一个位于远离前述处理器的存储装置。处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
108.应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术,包括配置有计算机程序的非暂时性存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。此外,可按任何合适的顺序来执行本发明描述的过程的操作,除非本发明另外指示或以其他方式明显地与上下文矛盾。本发明描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
109.进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本发明所述的发明包括这些和其他
不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
110.以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献