虚拟桌面数据的传输方法和装置制造方法
【专利摘要】本发明公开了一种虚拟桌面服务器以及虚拟桌面数据的传输方法,所述方法包括:虚拟桌面服务器接收到客户端的虚拟桌面请求后,根据当前的网络传输环境的信息确定当前的网络传输速度级别;网络传输速度级别为高速级别时,采用无损压缩算法对虚拟桌面数据进行压缩后通过高速网络传输通道向客户端返回;网络传输速度级别为中速级别时,采用无损压缩算法对虚拟桌面数据中的文字、图片进行压缩,采用有损压缩算法对虚拟桌面数据中的视频、音频进行压缩后,通过中速网络传输通道向客户端返回;网络传输速度级别为低速级别时,采用有损压缩算法对虚拟桌面数据进行压缩后通过低速网络传输通道向客户端返回。从而实现虚拟桌面数据同步传输,并提升用户体验。
【专利说明】虚拟桌面数据的传输方法和装置
【技术领域】
[0001] 本发明涉及互联网【技术领域】,尤其涉及一种虚拟桌面数据的传输方法和装置。
【背景技术】
[0002] 桌面虚拟化基于Client/Server (客户端/服务器)计算模型,将个人桌面环境从 PC机中分离出来,由服务器提供"虚拟化"的桌面,可在局域网、广域网和互联网环境下提供 与本地桌面相同的用户体验,但是操作系统、应用、程序和数据都在服务器端集中管理和运 行。桌面虚拟化具有较多优势,例如,实现集中的应用部署、升级补丁以及统一病毒防控策 略,使用户可通过任何设备在任何时间、任何地点访问网络上属于个人的桌面系统等。
[0003] 关于桌面虚拟化技术的实现通常是用户在远程客户端登录到服务器,服务器调用 虚拟桌面传输协议,将虚拟桌面数据传输给客户端。其中,关于虚拟桌面数据的传输,现有 技术中公开了一种用于传输虚拟桌面数据的自适应传输协议栈,由通道类型单元、加密数 据单元、数据单元组成,通道类型单元包括主控通道、声音通道、视频通道、外设通道、应用 通道、桌面通道。该专利通过将服务器端的虚拟桌面数据拆分成不同的资源进行传输,例如 将音频数据通过声音通道来传输,将视频数据通过视频通道来传输;终端设备(例如瘦客 户机等)获得不同通道传输的虚拟桌面数据后进行拼装,从而得到完整的桌面显示。
[0004] 然而,本发明的发明人发现上述传输虚拟桌面数据的方法存在以下缺陷或不足: 在相同的网络传输环境下,文字因其数据量小能够很快完成传输,而图片、声音和视频的数 据量大,需要较长的时间才能完成传输,这就使得采用不同通道完成数据传输的时间不同, 导致文字与图片、声音、视频传输的不同步;尤其是在带宽较低的低速网络传输环境下,这 种不同步现象将更加明显,使得用户体验不佳;而且,上述传输虚拟桌面数据的方法还容易 产生低速网络传输情况下,传输时间较长的问题,也容易产生高速网络传输情况下传输的 虚拟桌面数据质量不好的问题,同样会使用户的体验不佳。
【发明内容】
[0005] 针对上述现有技术存在的缺陷,本发明实施例提供了一种虚拟桌面数据的传输方 法和装置,在实现虚拟桌面数据同步传输的同时,根据不同的网络传输环境采用不同的数 据压缩算法实现虚拟桌面数据的传输,以使用户获得较佳体验。
[0006] 本发明实施例提供了一种虚拟桌面数据的传输方法,包括:
[0007] 虚拟桌面服务器接收到客户端发送的虚拟桌面请求后,测量当前的网络传输环境 的信息;其中,所述网络传输环境的信息包括网络下行速率;
[0008] 根据当前的网络传输环境的信息,确定当前的网络传输速度级别;
[0009] 采用与确定出的网络传输速度级别相对应的数据压缩策略,将虚拟桌面请求所请 求的虚拟桌面数据进行压缩后,通过与确定出的网络传输速度级别相对应的网络传输通道 向所述客户端返回:
[0010] 若确定出的网络传输速度级别为高速级别,则采用无损压缩算法对所述虚拟桌面 数据进行压缩后,通过高速网络传输通道向所述客户端返回;
[0011] 若确定出的网络传输速度级别为中速级别,则采用无损压缩算法对所述虚拟桌面 数据中的文字、图片进行压缩,采用有损压缩算法对所述虚拟桌面数据中的视频、音频进行 压缩后,通过中速网络传输通道向所述客户端返回;
[0012] 若确定出的网络传输速度级别为低速级别,则采用有损压缩算法对所述虚拟桌面 数据进行压缩后,通过低速网络传输通道向所述客户端返回。
[0013] 较佳地,所述根据当前的网络传输环境的信息,确定当前的网络传输速度级别,具 体包括:
[0014] 若当前的网络下行速率小于第一速率阈值,则确定当前的网络传输速度级别为低 速级别;
[0015] 若当前的网络下行速率大于等于第一速率阈值、且小于第二速率阈值,则确定当 前的网络传输速度级别为中速级别;
[0016] 若当前的网络下行速率大于第二速率阈值,则确定当前的网络传输速度级别为高 速级别;
[0017] 其中,第一速率阈值小于第二速率阈值。
[0018] 较佳地,所述网络传输环境的信息还包括:网络上行速率、网络延时、网络抖动和 网络丢包率;以及
[0019] 所述根据当前的网络传输环境的信息,确定当前的网络传输速度级别,具体包 括:
[0020] 当前的网络下行速率大于第二速率阈值时,若当前的网络上行速率大于等于网络 下行速率,则确定当前的网络传输速度级别为高速级别,否则确定当前的网络传输速度级 别为中速级别;
[0021] 当前的网络下行速率大于等于第一速率阈值且小于第二速率阈值时,若当前的网 络延时小于设定时间阈值、网络抖动小于设定抖动阈值、网络丢包率小于设定丢包率阈值, 则确定当前的网络传输速度级别为中速级别,否则确定当前的网络传输速度级别为低速级 别;
[0022] 当前的网络下行速率小于第一速率阈值时,确定当前的网络传输速度级别为低速 级别。
[0023] 较佳地,所述虚拟桌面数据被划分为若干个数据包进行传输;以及
[0024] 所述根据当前的网络传输环境的信息,确定当前的网络传输速度级别之后,还包 括:
[0025] 若本次确定的网络传输速度级别与上次确定的网络传输速度级别不相同,则将上 次确定的网络传输速度级别相对应的网络传输通道作为原有网络传输通道,将本次确定的 网络传输速度级别相对应的网络传输通道作为当前网络传输通道后,向所述客户端发送携 带有当前网络传输通道的信息的通道协商通知,并在接收到所述客户端返回的确认信息 后,确定出当前正在向所述客户端发送的数据包,将该数据包通过原有网络传输通道继续 发送,并采用与本次确定的网络传输速度级别相对应的数据压缩策略对该数据包进行压缩 后,通过当前网络传输通道重新向所述客户端发送。
[0026] 其中,所述方法是在TCP/IP协议基础上重新定义三层结构来实现的;所述三层结 构包括:底层的数据链路层、中层的虚拟通道层和顶层的数据接口层;所述虚拟通道层包 括所述高速网络传输通道、所述中速网络传输通道和所述低速网络传输通道。
[0027] 本发明实施例还提供了一种虚拟桌面服务器,包括:
[0028] 请求接收模块,用于接收到客户端发送的虚拟桌面请求后,发送网络侦测通知;
[0029] 网络侦测模块,用于接收到所述网络侦测通知后,测量当前的网络传输环境的信 息,并根据当前的网络传输环境的信息,确定当前的网络传输速度级别;其中,所述网络传 输环境的信息包括网络下行速率;
[0030] 数据压缩模块,用于采用与所述网络侦测模块确定出的网络传输速度级别相对应 的数据压缩策略,将虚拟桌面请求所请求的虚拟桌面数据进行压缩:若所述网络传输速度 级别为高速级别,则采用无损压缩算法对所述虚拟桌面数据进行压缩后,发送第一传输通 知;若所述网络传输速度级别为中速级别,则采用无损压缩算法对所述虚拟桌面数据中的 文字、图片进行压缩,并采用有损压缩算法对所述虚拟桌面数据中的视频、音频进行压缩 后,发送第二传输通知;若所述网络传输速度级别为低速级别,则采用有损压缩算法对所述 虚拟桌面数据进行压缩后,发送第三传输通知;
[0031] 网络传输通道模块,用于将所述数据压缩模块压缩后的数据,通过与所述数据压 缩模块确定出的网络传输速度级别相对应的网络传输通道向所述客户端返回:接收到第 一传输通知后,将所述数据压缩模块压缩后的数据通过高速网络传输通道向所述客户端返 回;接收到第二传输通知后,将所述数据压缩模块压缩后的数据通过中速网络传输通道向 所述客户端返回;接收到第三传输通知后,将所述数据压缩模块压缩后的数据通过低速网 络传输通道向所述客户端返回。
[0032] 较佳地,所述网络侦测模块具体用于若判断当前的网络下行速率小于第一速率阈 值,则确定当前的网络传输速度级别为低速级别;若判断当前的网络下行速率大于等于第 一速率阈值、且小于第二速率阈值,则确定当前的网络传输速度级别为中速级别;若判断当 前的网络下行速率大于第二速率阈值,则确定当前的网络传输速度级别为高速级别;其中, 第一速率阈值小于第二速率阈值。
[0033] 较佳地,所述网络传输环境的信息还包括:网络上行速率、网络延时、网络抖动和 网络丢包率;以及
[0034] 所述网络侦测模块具体用于在当前的网络下行速率大于第二速率阈值时,若判断 当前的网络上行速率大于等于网络下行速率,则确定当前的网络传输速度级别为高速级 另IJ,否则确定当前的网络传输速度级别为中速级别;在当前的网络下行速率大于等于第一 速率阈值且小于第二速率阈值时,若判断当前的网络延时小于设定时间阈值、网络抖动小 于设定抖动阈值、网络丢包率小于设定丢包率阈值,则确定当前的网络传输速度级别为中 速级别,否则确定当前的网络传输速度级别为低速级别;在当前的网络下行速率小于第一 速率阈值时,确定当前的网络传输速度级别为低速级别。
[0035] 较佳地,所述虚拟桌面数据被划分为若干个数据包进行传输;以及
[0036] 所述服务器还包括:
[0037] 网络传输通道协商模块,用于若判断所述网络侦测模块本次确定的网络传输速度 级别与上次确定的网络传输速度级别不相同,则将上次确定的网络传输速度级别相对应的 网络传输通道作为原有网络传输通道,将本次确定的网络传输速度级别相对应的网络传输 通道作为当前网络传输通道后,向所述客户端发送携带有当前网络传输通道的信息的通道 协商通知,并在接收到所述客户端返回的确认信息后,发送通道切换通知;以及
[0038] 所述网络传输通道模块还用于接收到所述通道切换通知后,确定出当前正在向所 述客户端发送的数据包,将该数据包通过原有网络传输通道继续发送,并采用与所述网络 侦测模块本次确定的网络传输速度级别相对应的数据压缩策略对该数据包进行压缩后,通 过当前网络传输通道重新向所述客户端发送。
[0039] 其中,所述网络传输通道模块具体包括:
[0040] 高速网络传输通道单元,用于接收到第一传输通知后,将所述数据压缩模块压缩 后的数据通过高速网络传输通道向所述客户端返回;
[0041] 中速网络传输通道单元,用于接收到第二传输通知后,将所述数据压缩模块压缩 后的数据通过中速网络传输通道向所述客户端返回;
[0042] 低速网络传输通道单元,用于接收到第三传输通知后,将所述数据压缩模块压缩 后的数据通过低速网络传输通道向所述客户端返回。
[0043] 本发明的技术方案中,本发明的技术方案中,在不同的网络传输环境下基于不同 的压缩算法和网络传输通道对虚拟桌面数据进行传输,从而可在网络传输环境较佳的情况 下,充分利用带宽资源使用户获得较完美的用户体验,在网络传输环境较差的情况下,尽量 降低带宽消耗,以保障用户可以获得较好的用户体验;并且,不管是在网络传输环境较佳还 是较差的情况下,虚拟桌面数据中的文字、图片、视频、音频等均通过一个网络传输通道进 行传输,可保证虚拟桌面数据的同步传输。
【专利附图】
【附图说明】
[0044] 图1为本发明实施例的虚拟桌面数据的传输方法的流程图。
[0045] 图2为本发明实施例的虚拟桌面服务器的内部结构框图。
【具体实施方式】
[0046] 为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实 施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为 了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以 实现本发明的这些方面。
[0047] 本申请使用的"模块"、"系统"等术语旨在包括与计算机相关的实体,例如但不限 于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理 器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计 算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的 一个进程和/或线程内。
[0048] 本发明的发明人对现有技术进行分析发现,现有技术的虚拟桌面数据传输通常是 采用同一种压缩算法对虚拟桌面数据进行压缩后传输,也就是说现有技术的虚拟桌面数据 的传输不管当前网络传输环境是好(如网络下行速率快)还是差(如网络下行速率慢、网 络延时大、网络抖动和网络丢包率大等),对虚拟桌面数据均基于相同的压缩算法进行压 缩。
[0049] 因此本发明的发明人考虑到,在进行虚拟桌面数据传输时,可以先对网络传输环 境进行侦测,并根据侦测的网络传输环境的信息确定出传输虚拟桌面数据时所使用的压缩 算法;例如,在网络传输环境较好时,采用压缩率较低的无损压缩算法进行虚拟桌面数据的 压缩,这样可以在不影响用户接收虚拟桌面数据的速度的情况下,充分利用带宽资源,使用 户获得较高质量的虚拟桌面数据,从而获得较好的用户体验;而在网络传输环境较差时,采 用压缩率较高的压缩算法进行虚拟桌面数据的压缩,尽量降低带宽消耗,避免因网络太差 而使得用户长时间无法获得虚拟桌面数据的问题,从而在一定程度上保障用户体验。而且, 本发明的发明人考虑到在不管在什么网络传输环境下,均将虚拟桌面数据中的文字、图片、 视频、音频等均一起打包通过一个网络传输通道进行传输,从而可实现虚拟桌面数据的同 步传输。其中,压缩率(Compression ratio)指的是文件压缩后的大小与压缩前的大小之 比。
[0050] 下面结合附图详细说明本发明的技术方案。在本发明的【具体实施方式】中,在TCP/ IP(Transmission Control Protocol/Internet Protocol,传输控制协议 / 因特网互联协 议)协议基础上,重新定义三层结构:底层的数据链路层、中层的虚拟通道层和顶层的数据 接口层。
[0051] 其中,虚拟通道层包括网络侦测通道、协商通道、若干个网络传输通道;具体地,若 干个网络传输通道可以包括高速网络传输通道、中速网络传输通道和低速网络传输通道; 其中,高速网络传输通道可用于在网络传输环境较好时进行虚拟桌面数据的传输;低速网 络传输通道可用于在网络传输环境较差时进行虚拟桌面数据的传输;而中速网络传输通道 用于在网络传输环境一般时进行虚拟桌面数据的传输。其中,不同的网络传输通道所基于 的压缩算法和校验算法以及协议格式等不同。在本文中将这种具有上述重新定义的三层结 构的协议称为自适应桌面协议(Adaptive Desktop Protocol, ADP)。
[0052] 基于上述的自适应桌面协议,本发明实施例的虚拟桌面数据的传输方法的流程, 如图1所示,具体包括如下步骤:
[0053] S101 :虚拟桌面服务器接收到客户端发送的虚拟桌面请求后,测量当前的网络传 输环境的信息。
[0054] 具体地,用户想要访问自己的虚拟桌面时,可通过客户端向虚拟桌面服务器发送 虚拟桌面请求。虚拟桌面服务器接收到虚拟桌面请求后,测量当前的网络传输环境的信息; 其中,网络传输环境的信息包括网络下行速率,进一步还可包括网络上行速率、网络延时、 网络抖动和网络丢包率等信息。
[0055] 而且,虚拟桌面服务器对网络传输环境的测量可以是周期性进行的,也就是每隔 设定时间段进行一次测量。
[0056] S102:虚拟桌面服务器根据当前的网络传输环境的信息,确定当前的网络传输速 度级别。
[0057] 具体地,本领域技术人员可根据具体需求划分若干个网络传输速度级别,例如,可 划分三个网络传输速度级别,包括:高速级别、中速级别和低速级别。
[0058] 对于划分了三个网络传输速度级别,即高速级别、中速级别和低速级别的情况,可 由本领域技术人员预先设置第一速率阈值和第二速率阈值,这样根据当前的网络传输环境 的信息确定当前的网络传输速度级别的方法具体可以为:若当前的网络传输环境的信息中 的网络下行速率(即当前的网络下行速率)小于第一速率阈值,则确定当前的网络传输速 度级别为低速级别,如ADSL拨号上网、3G无线上网等网络传输环境下,网络传输速度级别 通常为低速级别;若当前的网络下行速率大于等于第一速率阈值、小于第二速率阈值,则确 定当前的网络传输速度级别为中速级别;若当前的网络下行速率大于第二速率阈值,则确 定当前的网络传输速度级别为高速级别。其中,第一速率阈值小于第二速率阈值,第一速率 阈值可以设置为2Mbps,第二速率阈值可以设置为10Mbps。
[0059] 进一步,还可将测量的网络传输环境的信息中的网络上行速率、网络延时、网络抖 动和网络丢包率等中的一个或几个,与网络上行速率一同作为确定当前的网络传输速度级 别的因素。例如,对于上述划分三个网络传输速度级别的情况,在当前的网络下行速率大 于第二速率阈值时,若当前的网络上行速率大于等于网络下行速率,则确定当前的网络传 输速度级别为高速网络,否则确定当前的网络传输速度级别为中速网络;在当前的网络下 行速率大于等于第一速率阈值且小于第二速率阈值时,若当前的网络延时小于设定时间阈 值、网络抖动小于设定抖动阈值以及网络丢包率小于设定丢包率阈值,则确定当前的网络 传输速度级别为中速级别,否则确定当前的网络传输速度级别为低速级别。其中,设定时间 阈值、设定抖动阈值以及设定丢包率阈值均由本领域技术人员根据需求或经营进行设定。 例如,在实际应用中,在当前的网络下行速率为2Mbps时,若网络延时为200ms,网络抖动为 5%,网络丢包率为5%,则可以确定当前的网络传输速度级别为低速级别。
[0060] 事实上,网络传输速度级别不仅限于上述的高速级别、中速级别和低速级别的划 分;在实际应用中,若划分η个网络传输速度级别,则确定当前的网络传输速度级别的方法 具体可以为:将当前的网络传输环境的信息中的网络下行速率与预先设置的η-1(η>2)个 速率阈值进行比较,并根据大于当前的网络下行速率以及小于等于当前的网络下行速率的 速率阈值,确定出当前的网络传输速度级别。记当前的网络下行速率为v d,若vm< vd〈vm+1, 则确定当前的网络传输速度级别为第m级别;其中,1彡ηΚη-Ι,ν^和Vm分别为第m和m+1 个速率阈值。
[0061] S103:虚拟桌面服务器采用与确定出的网络传输速度级别相对应的数据压缩策 略,将虚拟桌面请求所请求的虚拟桌面数据进行压缩后,通过与确定出的网络传输速度级 别相对应的网络传输通道向客户端返回。
[0062] 具体地,可预先设置每个网络传输速度级别相对应的数据压缩策略和网络传输通 道,并将对应关系存储于网络传输数据表中。虚拟桌面服务器可通过查找网络传输数据表 的方式查找出与确定出的传输速度级别相对应的数据压缩策略和网络传输通道。
[0063] 对于网络传输速度级别分为高速级别、中速级别、低速级别的情况,虚拟桌面服务 器若确定出当前的网络传输速度级别为高速,则采用无损压缩算法对虚拟桌面请求所请求 的所有数据进行压缩,并将压缩后的数据通过高速网络传输通道向客户端返回,从而在网 络传输环境较好时充分利用带宽资源,以提高较完美的用户体验;若确定出当前的网络传 输速度级别为中速,则采用无损压缩算法对虚拟桌面数据中的文字、图片(包括静态图像 和动态图片)等数据量较小的数据进行压缩,采用有损压缩算法对虚拟桌面数据中的视 频、音频等数据量较大的数据进行压缩,并将压缩后的数据通过中速网络传输通道向客户 端返回,从而在网络传输环境一般时,通过对视频、声音进行有损压缩来尽量保证用户体 验;若确定出当前的网络传输速度级别为低速,则采用有损压缩算法对虚拟桌面数据中的 所有数据进行压缩,并将压缩后的数据通过低速网络传输通道向客户端返回,从而在网络 传输环境较差时,对视频采用限制帧数、降低分辨率等的压缩算法,最大程度的降低带宽消 耗,保障用户体验。其中,无损压缩算法的压缩率小于有损压缩算法的压缩率。通常,无损压 缩算法有霍夫曼(Huffman)算法和LZW(Lenpel-Ziv&Welch)压缩算法、WinZIP采用的LZSS 算法,有损压缩算法可以是音乐文件常用的MP3算法、视频文件采用的MNG算法。
[0064] 通常,虚拟桌面服务器在向客户端返回虚拟桌面数据时,将虚拟桌面数据划分为 若干个数据包进行发送,即虚拟桌面数据被划分为若干个数据包进行传输。其中,数据包 的划分可以按照虚拟桌面数据中的视频文件中的一帧视频的时间长度来划分,例如将1/24 秒或更短的时间长度内的视频以及这段时间内的文字、图片、音频等打包到一个数据包中 进行压缩传输。
[0065] 进一步,虚拟桌面服务器根据测量的当前的网络传输环境的信息,确定出当前的 网络传输速度级别后,还可判断本次确定的网络传输速度级别与上次确定的网络传输速度 级别是否相同;若相同,则根据上述的步骤S103继续进行虚拟桌面数据的传输;若不相同, 则表明网络传输环境发生变化,需要进行网络传输通道的切换,虚拟桌面服务器将上次确 定的网络传输速度级别相对应的网络传输通道作为原有网络传输通道,将本次确定的网络 传输速度级别相对应的网络传输通道作为当前网络传输通道,并向客户端发送携带有当前 网络传输通道的信息的通道协商通知,并在接收到客户端返回的确认信息后,确认与客户 端建立起了当前网络传输通道;之后,确定出当前正在向客户端发送的数据包,将该数据包 通过原有网络传输通道继续发送,并采用与当前的网络传输速度级别相对应的数据压缩策 略,将该数据包进行压缩后,通过当前网络传输通道向客户端返回。虚拟桌面服务器和客户 端之间可通过协商通道传输协商数据,并根据协商数据来确定出传输虚拟桌面数据使用的 网络传输通道;其中,协商数据可以包括上述的当前网络传输通道的信息,如当前网络传输 通道所基于的压缩算法、校验算法以及协议格式等。
[0066] 客户端若先从当前网络传输通道接收到该数据包,则丢弃从原有网络传输通道接 收的该数据包,采用从当前网络传输通道接收到的该数据包拼装虚拟桌面;若先从原有网 络传输通道接收到该数据包,则丢弃从当前网络传输通道接收的该数据包,采用从原有网 络传输通道接收到的该数据包拼装虚拟桌面。因此,本发明在网络传输环境发生变化时,可 以实现不同网络传输通道之间的无缝切换,客户端在接收虚拟桌面数据时不会出现视频跳 帧、声音中断、文字显示不全等情况,用户也无需进行重新登录,也就是说用户几乎感受不 到网络传输环境变化或网络传输通道切换带来的任何影响。
[0067] 基于上述的虚拟桌面数据传输方法,本发明实施例提供的虚拟桌面服务器的内部 结构框图,如图2所示,包括:请求接收模块201、网络侦测模块202、数据压缩模块203和网 络传输通道模块204。
[0068] 请求接收模块201用于接收到客户端发送的虚拟桌面请求后,向网络侦测模块 202发送网络侦测通知。
[0069] 网络侦测模块202用于接收到请求接收模块201发送的网络侦测通知后,测量当 前的网络传输环境的信息,并根据当前的网络传输环境的信息,确定当前的网络传输速度 级别;其中,网络传输环境的信息包括网络下行速率。
[0070] 数据压缩模块203用于采用与网络侦测模块202确定出的网络传输速度级别相对 应的数据压缩策略,将虚拟桌面请求所请求的虚拟桌面数据进行压缩:若网络传输速度级 别为高速级别,则采用无损压缩算法对虚拟桌面数据进行压缩后,发送第一传输通知;若网 络传输速度级别为中速级别,则采用无损压缩算法对虚拟桌面数据中的文字、图片进行压 缩,并采用有损压缩算法对虚拟桌面数据中的视频、音频进行压缩后,发送第二传输通知; 若网络传输速度级别为低速级别,则采用有损压缩算法对虚拟桌面数据进行压缩后,发送 第三传输通知。
[0071] 网络传输通道模块204用于将数据压缩模块203压缩后的数据,通过与数据压缩 模块203确定出的网络传输速度级别相对应的网络传输通道向客户端返回:接收到数据压 缩模块203发送的第一传输通知后,将数据压缩模块203压缩后的数据通过高速网络传输 通道向客户端返回;接收到数据压缩模块203发送的第二传输通知后,将数据压缩模块203 压缩后的数据通过中速网络传输通道向客户端返回;接收到数据压缩模块203发送的第三 传输通知后,将数据压缩模块203压缩后的数据通过低速网络传输通道向客户端返回。
[0072] 其中,网络侦测模块202具体用于若判断当前的网络下行速率小于第一速率阈 值,则确定当前的网络传输速度级别为低速级别;若判断当前的网络下行速率大于等于第 一速率阈值、且小于第二速率阈值,则确定当前的网络传输速度级别为中速级别;若判断当 前的网络下行速率大于第二速率阈值,则确定当前的网络传输速度级别为高速级别;其中, 第一速率阈值小于第二速率阈值。
[0073] 较佳地,网络传输环境的信息还可包括:网络上行速率、网络延时、网络抖动和网 络丢包率。相应地,网络侦测模块202还可以在当前的网络下行速率大于第二速率阈值时, 若判断当前的网络上行速率大于等于网络下行速率,则确定当前的网络传输速度级别为高 速级别,否则确定当前的网络传输速度级别为中速级别;在当前的网络下行速率大于等于 第一速率阈值且小于第二速率阈值时,若判断当前的网络延时小于设定时间阈值、网络抖 动小于设定抖动阈值、网络丢包率小于设定丢包率阈值,则确定当前的网络传输速度级别 为中速级别,否则确定当前的网络传输速度级别为低速级别;在当前的网络下行速率小于 第一速率阈值时,确定当前的网络传输速度级别为低速级别。
[0074] 进一步,虚拟桌面服务器还可包括:网络传输通道协商模块205(图中未画出)。
[0075] 网络传输通道协商模块205用于若判断网络侦测模块202本次确定的网络传输速 度级别与上次确定的网络传输速度级别不相同,则将网络侦测模块202上次确定的网络传 输速度级别相对应的网络传输通道作为原有网络传输通道,将网络侦测模块202本次确定 的网络传输速度级别相对应的网络传输通道作为当前网络传输通道后,向客户端发送携带 有当前网络传输通道的信息的通道协商通知,并在接收到客户端返回的确认信息后,向网 络传输通道模块204发送通道切换通知。
[0076] 相应地,网络传输通道模块204还用于接收到网络传输通道协商模块205发送的 通道切换通知后,确定出当前正在向客户端发送的数据包,将该数据包通过原有网络传输 通道继续发送,并采用与网络侦测模块202本次确定的网络传输速度级别相对应的数据压 缩策略对该数据包进行压缩后,通过当前网络传输通道重新向客户端发送。其中,虚拟桌面 数据可以被划分为若干个数据包进行传输。
[0077] 具体地,上述的网络传输通道模块204具体可以包括:高速网络传输通道单元 211、中速网络传输通道单元212和低速网络传输通道单元213。
[0078] 高速网络传输通道单元211用于接收到数据压缩模块203发送的第一传输通知 后,将数据压缩模块203压缩后的数据通过高速网络传输通道向客户端返回。
[0079] 中速网络传输通道单元212用于接收到数据压缩模块203发送的第二传输通知 后,将数据压缩模块203压缩后的数据通过中速网络传输通道向客户端返回。
[0080] 低速网络传输通道单元213用于接收到数据压缩模块203发送的第三传输通知 后,将数据压缩模块203压缩后的数据通过低速网络传输通道向客户端返回。
[0081] 本发明的技术方案中,在不同的网络传输环境下基于不同的压缩算法和网络传输 通道对虚拟桌面数据进行传输,从而可在网络传输环境较佳的情况下,充分利用带宽资源 使用户获得较完美的用户体验,在网络传输环境较差的情况下,尽量降低带宽消耗,以保障 用户可以获得较好的用户体验;并且,不管是在网络传输环境较佳还是较差的情况下,虚拟 桌面数据中的文字、图片、视频、音频等均通过一个网络传输通道进行传输,可保证虚拟桌 面数据的同步传输。
[0082] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以 通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读取存储介质中,如:ROM/ RAM、磁碟、光盘等。
[0083] 以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人 员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应 视为本发明的保护范围。
【权利要求】
1. 一种虚拟桌面数据的传输方法,其特征在于,包括: 虚拟桌面服务器接收到客户端发送的虚拟桌面请求后,测量当前的网络传输环境的信 息;其中,所述网络传输环境的信息包括网络下行速率; 根据当前的网络传输环境的信息,确定当前的网络传输速度级别; 采用与确定出的网络传输速度级别相对应的数据压缩策略,将虚拟桌面请求所请求的 虚拟桌面数据进行压缩后,通过与确定出的网络传输速度级别相对应的网络传输通道向所 述客户端返回: 若确定出的网络传输速度级别为高速级别,则采用无损压缩算法对所述虚拟桌面数据 进行压缩后,通过高速网络传输通道向所述客户端返回; 若确定出的网络传输速度级别为中速级别,则采用无损压缩算法对所述虚拟桌面数据 中的文字、图片进行压缩,采用有损压缩算法对所述虚拟桌面数据中的视频、音频进行压缩 后,通过中速网络传输通道向所述客户端返回; 若确定出的网络传输速度级别为低速级别,则采用有损压缩算法对所述虚拟桌面数据 进行压缩后,通过低速网络传输通道向所述客户端返回。
2. 如权利要求1所述的方法,其特征在于,所述根据当前的网络传输环境的信息,确定 当前的网络传输速度级别,具体包括: 若当前的网络下行速率小于第一速率阈值,则确定当前的网络传输速度级别为低速级 别; 若当前的网络下行速率大于等于第一速率阈值、且小于第二速率阈值,则确定当前的 网络传输速度级别为中速级别; 若当前的网络下行速率大于第二速率阈值,则确定当前的网络传输速度级别为高速级 别; 其中,第一速率阈值小于第二速率阈值。
3. 如权利要求1所述的方法,其特征在于,所述网络传输环境的信息还包括:网络上行 速率、网络延时、网络抖动和网络丢包率;以及 所述根据当前的网络传输环境的信息,确定当前的网络传输速度级别,具体包括: 当前的网络下行速率大于第二速率阈值时,若当前的网络上行速率大于等于网络下行 速率,则确定当前的网络传输速度级别为高速级别,否则确定当前的网络传输速度级别为 中速级别; 当前的网络下行速率大于等于第一速率阈值且小于第二速率阈值时,若当前的网络延 时小于设定时间阈值、网络抖动小于设定抖动阈值、网络丢包率小于设定丢包率阈值,则确 定当前的网络传输速度级别为中速级别,否则确定当前的网络传输速度级别为低速级别; 当前的网络下行速率小于第一速率阈值时,确定当前的网络传输速度级别为低速级 别。
4. 如权利要求2或3所述的方法,其特征在于,所述虚拟桌面数据被划分为若干个数据 包进行传输;以及 所述根据当前的网络传输环境的信息,确定当前的网络传输速度级别之后,还包括: 若本次确定的网络传输速度级别与上次确定的网络传输速度级别不相同,则将上次确 定的网络传输速度级别相对应的网络传输通道作为原有网络传输通道,将本次确定的网络 传输速度级别相对应的网络传输通道作为当前网络传输通道后,向所述客户端发送携带有 当前网络传输通道的信息的通道协商通知,并在接收到所述客户端返回的确认信息后,确 定出当前正在向所述客户端发送的数据包,将该数据包通过原有网络传输通道继续发送, 并采用与本次确定的网络传输速度级别相对应的数据压缩策略对该数据包进行压缩后,通 过当前网络传输通道重新向所述客户端发送。
5. 如权利要求4所述的方法,其特征在于,所述方法是在TCP/IP协议基础上重新定义 三层结构来实现的;所述三层结构包括:底层的数据链路层、中层的虚拟通道层和顶层的 数据接口层;所述虚拟通道层包括所述高速网络传输通道、所述中速网络传输通道和所述 低速网络传输通道。
6. -种虚拟桌面服务器,其特征在于,包括: 请求接收模块,用于接收到客户端发送的虚拟桌面请求后,发送网络侦测通知; 网络侦测模块,用于接收到所述网络侦测通知后,测量当前的网络传输环境的信息,并 根据当前的网络传输环境的信息,确定当前的网络传输速度级别;其中,所述网络传输环境 的信息包括网络下行速率; 数据压缩模块,用于采用与所述网络侦测模块确定出的网络传输速度级别相对应的数 据压缩策略,将虚拟桌面请求所请求的虚拟桌面数据进行压缩:若所述网络传输速度级别 为高速级别,则采用无损压缩算法对所述虚拟桌面数据进行压缩后,发送第一传输通知;若 所述网络传输速度级别为中速级别,则采用无损压缩算法对所述虚拟桌面数据中的文字、 图片进行压缩,并采用有损压缩算法对所述虚拟桌面数据中的视频、音频进行压缩后,发送 第二传输通知;若所述网络传输速度级别为低速级别,则采用有损压缩算法对所述虚拟桌 面数据进行压缩后,发送第三传输通知; 网络传输通道模块,用于将所述数据压缩模块压缩后的数据,通过与所述数据压缩模 块确定出的网络传输速度级别相对应的网络传输通道向所述客户端返回:接收到第一传输 通知后,将所述数据压缩模块压缩后的数据通过高速网络传输通道向所述客户端返回;接 收到第二传输通知后,将所述数据压缩模块压缩后的数据通过中速网络传输通道向所述客 户端返回;接收到第三传输通知后,将所述数据压缩模块压缩后的数据通过低速网络传输 通道向所述客户端返回。
7. 如权利要求6所述的服务器,其特征在于, 所述网络侦测模块具体用于若判断当前的网络下行速率小于第一速率阈值,则确定当 前的网络传输速度级别为低速级别;若判断当前的网络下行速率大于等于第一速率阈值、 且小于第二速率阈值,则确定当前的网络传输速度级别为中速级别;若判断当前的网络下 行速率大于第二速率阈值,则确定当前的网络传输速度级别为高速级别;其中,第一速率阈 值小于第二速率阈值。
8. 如权利要求6所述的服务器,其特征在于,所述网络传输环境的信息还包括:网络上 行速率、网络延时、网络抖动和网络丢包率;以及 所述网络侦测模块具体用于在当前的网络下行速率大于第二速率阈值时,若判断当前 的网络上行速率大于等于网络下行速率,则确定当前的网络传输速度级别为高速级别,否 则确定当前的网络传输速度级别为中速级别;在当前的网络下行速率大于等于第一速率阈 值且小于第二速率阈值时,若判断当前的网络延时小于设定时间阈值、网络抖动小于设定 抖动阈值、网络丢包率小于设定丢包率阈值,则确定当前的网络传输速度级别为中速级别, 否则确定当前的网络传输速度级别为低速级别;在当前的网络下行速率小于第一速率阈值 时,确定当前的网络传输速度级别为低速级别。
9. 如权利要求7或8所述的服务器,其特征在于,所述虚拟桌面数据被划分为若干个数 据包进行传输;以及 所述服务器还包括: 网络传输通道协商模块,用于若判断所述网络侦测模块本次确定的网络传输速度级别 与上次确定的网络传输速度级别不相同,则将上次确定的网络传输速度级别相对应的网络 传输通道作为原有网络传输通道,将本次确定的网络传输速度级别相对应的网络传输通道 作为当前网络传输通道后,向所述客户端发送携带有当前网络传输通道的信息的通道协商 通知,并在接收到所述客户端返回的确认信息后,发送通道切换通知;以及 所述网络传输通道模块还用于接收到所述通道切换通知后,确定出当前正在向所述客 户端发送的数据包,将该数据包通过原有网络传输通道继续发送,并采用与所述网络侦测 模块本次确定的网络传输速度级别相对应的数据压缩策略对该数据包进行压缩后,通过当 前网络传输通道重新向所述客户端发送。
10. 如权利要求9所述的服务器,其特征在于,所述网络传输通道模块具体包括: 高速网络传输通道单元,用于接收到第一传输通知后,将所述数据压缩模块压缩后的 数据通过高速网络传输通道向所述客户端返回; 中速网络传输通道单元,用于接收到第二传输通知后,将所述数据压缩模块压缩后的 数据通过中速网络传输通道向所述客户端返回; 低速网络传输通道单元,用于接收到第三传输通知后,将所述数据压缩模块压缩后的 数据通过低速网络传输通道向所述客户端返回。
【文档编号】H04L29/06GK104219229SQ201410407125
【公开日】2014年12月17日 申请日期:2014年8月18日 优先权日:2014年8月18日
【发明者】王立涛, 张春光, 赵峰, 刘椿枫, 李祉岐 申请人:国家电网公司, 北京国电通网络技术有限公司, 北京中电飞华通信股份有限公司