CN111836092A - 一种虚拟桌面的数据处理方法、装置及相关组件 - Google Patents

一种虚拟桌面的数据处理方法、装置及相关组件 Download PDF

Info

Publication number
CN111836092A
CN111836092A CN201910299442.3A CN201910299442A CN111836092A CN 111836092 A CN111836092 A CN 111836092A CN 201910299442 A CN201910299442 A CN 201910299442A CN 111836092 A CN111836092 A CN 111836092A
Authority
CN
China
Prior art keywords
content
data
dirty
current screen
sent
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
CN201910299442.3A
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201910299442.3A priority Critical patent/CN111836092A/zh
Publication of CN111836092A publication Critical patent/CN111836092A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440245Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44227Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了一种虚拟桌面的数据处理方法,所述数据处理方法包括当接收到绘图命令时,根据绘图命令在画布上生成当前屏幕内容;判断当前网络的可用带宽是否大于预设值;若是,则确定当前屏幕内容中的目标区域内容,并对目标区域内容执行压缩编码操作得到待发送数据,以便向客户端发送待发送数据。本方法能够在降低绘图指令对应的发送数据量的前提下,保证远程桌面的实时传输。本申请还公开了一种虚拟桌面的数据处理装置、一种计算机可读存储介质及一种电子设备,具有以上有益效果。

Description

一种虚拟桌面的数据处理方法、装置及相关组件
技术领域
本发明涉及数据传输技术领域,特别涉及一种虚拟桌面的数据处理方法、装置、一种计算机可读存储介质及一种电子设备。
背景技术
虚拟桌面中一项关键的技术就是需要通过网络传输桌面内容到客户端,为了增强用户的体验,在复杂多变的网络环境下,如何更好地利用有限带宽来传输桌面内容是虚拟桌面技术中必须解决的一个问题。远程桌面编码就是对屏幕内容进行压缩从而减小发送数据量的一种方法,屏幕内容由绘图命令生成,不同的编码方式依赖于不同的绘图命令处理流程。
现有技术中,远程桌面绘图命令的处理方法主要为基于命令的编码方式:将每个绘图命令都发送到客户端进行渲染。但是,现有技术中基于命令的编码方式由于要求绘图命令不可丢失(否则将导致画面不完整),所以难以控制发送的命令数,在广域网环境下流量太大,不适用于广域网下远程桌面的数据传输。
因此,如何能够在降低绘图指令对应的发送数据量的前提下,保证远程桌面的实时传输是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种虚拟桌面的数据处理方法、装置、一种计算机可读存储介质及一种电子设备,能够降低绘图指令对应的发送数据量,保证远程桌面的实时传输。
为解决上述技术问题,本申请提供一种虚拟桌面的数据处理方法,该数据处理方法包括:
当接收到绘图命令时,根据绘图命令在画布上生成当前屏幕内容;
判断当前网络的可用带宽是否大于预设值;
若是,则确定当前屏幕内容中的目标区域内容,并对目标区域内容执行压缩编码操作得到待发送数据,以便向客户端发送待发送数据。
可选的,在根据绘图命令在画布上生成当前屏幕内容之后,还包括:
记录当前屏幕内容对应的脏域信息;
相应的,确定当前屏幕内容中的目标区域内容包括:
根据脏域信息确定当前屏幕内容中的目标区域内容。
可选的,根据脏域信息确定当前屏幕内容中的目标区域内容包括:
对所有脏域信息对应脏域执行打包处理得到打包区域,以便利用最小面积的预设数量个矩形包围所有脏域;
将打包区域对应的当前屏幕内容设置为目标区域内容。
可选的,在向客户端发送待发送数据之后,还包括:
清空当前屏幕内容对应的脏域信息。
可选的,对目标区域内容执行压缩编码操作得到待发送数据包括:
根据目标区域内容的图像类型确定目标编码算法;
利用目标编码算法对目标区域内容执行压缩编码操作得到待发送数据。
本申请还提供了一种虚拟桌面的数据处理装置,该数据处理装置包括:
绘图模块,用于当接收到绘图命令时,根据绘图命令在画布上生成当前屏幕内容;
判断模块,用于判断当前网络的可用带宽是否大于预设值;
数据发送模块,用于当可用带宽大于预设值时,确定当前屏幕内容中的目标区域内容,并对目标区域内容执行压缩编码操作得到待发送数据,以便向客户端发送待发送数据。
可选的,还包括:
脏域信息记录模块,用于在根据绘图命令在画布上生成当前屏幕内容之后,记录当前屏幕内容对应的脏域信息;
相应的,数据发送模块包括:
内容确定单元,用于当可用带宽大于预设值时,根据脏域信息确定当前屏幕内容中的目标区域内容;
发送单元,用于对目标区域内容执行压缩编码操作得到待发送数据,以便向客户端发送待发送数据。
可选的,目标区域内容确定单元包括:
脏域打包子单元,用于对所有脏域信息对应脏域执行打包处理得到打包区域,以便利用最小面积的预设数量个矩形包围所有脏域;
内容设置子单元,用于将打包区域对应的当前屏幕内容设置为目标区域内容。
可选的,还包括:
脏域信息清空模块,用于在向客户端发送待发送数据之后,清空当前屏幕内容对应的脏域信息。
可选的,数据发送模块包括:
区域确定单元,用于当可用带宽大于预设值时,确定当前屏幕内容中的目标区域内容;
算法确定单元,用于根据目标区域内容的图像类型确定目标编码算法;
压缩编码单元,用于利用目标编码算法对目标区域内容执行压缩编码操作得到待发送数据,以便向客户端发送待发送数据。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序执行时实现上述虚拟桌面的数据处理方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器调用存储器中的计算机程序时实现上述虚拟桌面的数据处理方法执行的步骤。
本发明提供了一种虚拟桌面的数据处理方法,包括当接收到绘图命令时,根据绘图命令在画布上生成当前屏幕内容;判断当前网络的可用带宽是否大于预设值;若是,则确定当前屏幕内容中的目标区域内容,并对目标区域内容执行压缩编码操作得到待发送数据,以便向客户端发送待发送数据。
本申请在接收到绘图指令时,并没有立即将绘图指令发送到客户端进行渲染,而是先根据接收到的绘图指令在本地的画布上生成相应的当前屏幕内容。通过判断当前网络的可用带宽是否大于预设值来评价当前网络环境,若大于则说明当前网络相对畅通可以传输数据,进而将当前屏幕内容中的目标区域内容进行压缩编码,发送至客户端。由于本申请仅在可用带宽大于预设值时发送数据,且通过画布保存当前屏幕内容使得新的绘图指令不断地绘制在画布上,因此实施上述方案能够在降低绘图指令对应的发送数据量的前提下,保证远程桌面的实时传输。本申请同时还提供了一种虚拟桌面的数据处理装置、一种计算机可读存储介质和一种电子设备,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种虚拟桌面的数据处理方法的流程图;
图2为本申请实施例所提供的另一种虚拟桌面的数据处理方法的流程图;
图3为打包处理示意图;
图4为本申请实施例所提供的一种虚拟桌面的数据处理装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
虚拟桌面中一项关键的技术就是需要通过网络传输桌面内容到瘦客户端,为了增强用户的体验,在复杂多变的网络环境下,如何更好地利用有限带宽来传输桌面内容是虚拟桌面技术中必须解决的一个问题。远程桌面编码就是对屏幕内容进行压缩从而减小发送数据量的一种方法,屏幕内容由绘图命令生成,不同的编码方式依赖于不同的绘图命令处理流程。现有技术中远程桌面绘图命令的处理方法主要有:基于命令的编码方式和基于全屏画布的编码方式。基于命令的编码方式的过程为:将每个绘图命令都发送到客户端进行渲染。但是,由于基于命令的编码方式要求绘图命令不可丢失(否则将导致画面不完整),所以难以控制发送的命令数,在广域网环境下流量太大,即使使用命令树之类的优化方法也无法有效地削减命令。基于全屏画布的编码方式的过程为:使用画布保存当前的屏幕内容,然后对整张屏幕进行编码压缩。但是,由于基于全屏画布的编码方式的操作过程中每次编码都是全屏编码,较为耗费性能,编解码的CPU负载都很高。
针对上述现有技术中的种种不足,本申请通过以下几个实施例提供新的虚拟桌面的数据处理方法能够解决上述现有技术中的问题,达到在降低绘图指令对应的发送数据量的前提下,保证远程桌面的实时传输的效果。
下面请参见图1,图1为本申请实施例所提供的一种虚拟桌面的数据处理方法的流程图。
具体步骤可以包括:
S101:当接收到绘图命令时,根据绘图命令在画布上生成当前屏幕内容;
其中,本实施例可以应用于存在虚拟桌面图像传输的应用场景中,如可以应用于虚拟桌面基础架构(Virtual Desktop Infrastructure,VDI),即存在服务端向客户端发送桌面画面数据的操作。本实施例的执行主体可以为发送桌面图像数据的服务端。
本步骤中提到的绘图命令为VDI需要渲染来自宿主机(Guest机)的绘图命令,绘图命令可以包括绘制文字、线条、图片等操作,本实施例不限定绘图命令的种类。当接收到绘图指令时,本步骤首先在画布上生成绘图指令对应的屏幕内容。此处提到的画布为服务端中运行的用于描述当前屏幕内容的数据结构,如RGBA图像。画布与屏幕内容保持一致,能够实时反映屏幕画面所发生的变化。
可以理解的是,本步骤的目的是将绘图命令对应的内容绘制到画布上,即使用画布保存当前最新的屏幕内容。在S101之前,画布上可以存在其他的屏幕内容,根据绘图命令在画布上生成当前屏幕内容的意义在于:在原有屏幕内容的基础上根据绘图命令执行相应的操作,并将执行完相应操作的屏幕内容座位当前屏幕内容。
S102:判断当前网络的可用带宽是否大于预设值;若当前网络的可用带宽大于预设值,则进入S103;若当前网络的可用带宽小于或等于预设值,则继续接收绘图命令;
其中,本步骤的目的在于确定当前的网络状况,默认若当前网络的可用带宽大于预设值,则判定网络通畅;反之,则判定网络拥塞。网络拥塞指网络传输性能下降并持续过载的状态,此时用户对网络资源的需求超过了固有的处理能力和容量。本步骤的操作相当于实施帧控策略,帧控策略的用途是探测当前的网络传输状况来进行动态地进行帧率调节。如果网络拥塞,那么命令继续被绘制在画布上,画布不断地保存最新的画面结果,只有在网络通畅的时候才会从画布上获取相关图像进行编码。帧控策略可以有效削减待发送的数据量,从而保证远程桌面在广域网环境下的实时传输。
需要说明的是,此处作为评判标准的预设值可以根据实际应用场景灵活调整,不限定其具体的数值,只要可用带宽大于预设值时网络传输性能足以发送待发送数据且可用带宽小于或等于预设值时网络传输性能处于过载状态即可。由于网络拥塞指可用带宽较小且待发送数据需要占用的网络带宽大于可用带宽的状况,因此作为一种可选的实施方式,此处提到的预设值可以根据待发送数据的数据大小进行设置。
可以理解的是,若当前网络的可用带宽小于或等于预设值时,则可以继续接收绘图命令并根据绘图命令在画布上生成当前屏幕内容。作为一种可选的实施方式还可以在判定当前网络的可用带宽小于或等于预设值时,延时预设时长后再次执行S102的相关判断操作直至当前网络的可用带宽大于预设值进入S103。
S103:确定当前屏幕内容中的目标区域内容,并对目标区域内容执行压缩编码操作得到待发送数据,以便向客户端发送待发送数据。
其中,本步骤建立在S102判定当前网络的可用带宽大于预设值的基础上,说明传输绘图命令对应的数据所需要占用的网络带宽小于或等于当前网络的可用带宽,此时进行数据发送实现数据的实时传输。
由于本实施例在向客户端发送数据之前首先在画布上生成与绘图指令对应的当前屏幕内容,因此在确定网络状况良好时,可以将当前屏幕内容中的目标区域内容进行压缩编码操作得到待发送数据,向客户端发送待发送数据。
需要说明的是,S101中提到绘图指令对应的绘图操作是在画布的某一些特定区域执行的,因此若想将绘图指令对应的实际绘图区域对应的图像发送至客户端无需将全部的当前屏幕内容进行发送,可以从当前屏幕内容中确定目标区域内容进行发送,本步骤不限定如何从当前屏幕内容中确定目标区域内容,只要目标区域内容包括全部的绘图指令对应的绘图区域即可。
本步骤中可以使用任意图像或视频编码算法,只要能对画面进行压缩并且能够解压还原出原画面即可。作为一种可行的实施方式,S103中对目标区域内容执行压缩编码操作得到待发送数据可以包括以下步骤:步骤1、根据目标区域内容的图像类型确定目标编码算法;步骤2、利用目标编码算法对目标区域内容执行压缩编码操作得到待发送数据。
本实施例在接收到绘图指令时,并没有立即将绘图指令发送到客户端进行渲染,而是先根据接收到的绘图指令在本地的画布上生成相应的当前屏幕内容。通过判断当前网络的可用带宽是否大于预设值来评价当前网络环境,若大于则说明当前网络相对畅通可以传输数据,进而将当前屏幕内容中的目标区域内容进行压缩编码,发送至客户端。由于本实施例仅在可用带宽大于预设值时发送数据,且通过画布保存当前屏幕内容使得新的绘图指令不断地绘制在画布上,因此实施上述方案能够在降低绘图指令对应的发送数据量的前提下,保证远程桌面的实时传输。
下面请参见图2,图2为本申请实施例所提供的另一种虚拟桌面的数据处理方法的流程图;本实施例是对图1对应的实施例中S103的进一步描述,可以将本实施例与图1对应的实施例相结合得到更为优选的实施方式,具体步骤可以包括:
S201:在根据绘图命令在画布上生成当前屏幕内容之后,记录当前屏幕内容对应的脏域信息;
其中,本实施例默认在S201之前,画布已经保存了当前屏幕内容,新的绘图指令不断被绘制到画布上,形成一个个脏域。这些脏域可能相互重叠或相互分离,脏域维护则记录下了所有这些脏域矩形的信息,以便进行后续的打包处理。
S202:根据脏域信息确定当前屏幕内容中的目标区域内容。
S203:对目标区域内容执行压缩编码操作得到待发送数据,以便向客户端发送待发送数据。
其中,脏域指屏幕内容相比上一帧发生改变的区域,往往用矩形包围发生改变的区域,有多个改变的区域就有多个对应的矩形,通常服务端都会对最原始的变动区域进行矩形切分和整合,从而得到尽量简洁的脏域矩形表示。上述实施例中描述的脏域信息可以包括脏域位置、大小、形状和创建时间等信息。本实施例可以根据当前屏幕内容和历史屏幕内容进行比对得到脏域信息。本实施例中根据脏域信息确定当前屏幕内容中的目标区域内容的意义在于:根据脏域信息确定当前屏幕内容中实际执行绘图命令对应的区域,以便只对存在改变的区域执行压缩编码操作,减少发送的数据量。此处可以存在脏域维护的操作,即,实时地更新脏域(绘图命令所修改区域)的位置、大小等信息。
作为一种可选的实施方式,S202中的操作可以包括以下步骤:
步骤1、对所有脏域信息对应脏域执行打包处理得到打包区域,以便利用最小面积的预设数量个矩形包围所有脏域;
步骤2、将打包区域对应的当前屏幕内容设置为目标区域内容。
打包处理(即,命令打包)的目的是使用尽量少的矩形来覆盖住所有的脏域,因此需要兼顾最少矩形数以及最小覆盖面积。请参见图3,图3为打包处理示意图,图3展示了命令打包的一种可能实现,其中打斜线的区域是脏域,即绘图命令修改的区域。使用预设数量k=2个矩形进行打包的话可以得到选框所示的打包结果,从图中可以看出所有脏域都被这两个新的矩形覆盖了而且矩形的总面积较小。如果此时判断网络是通畅的,那么将对这两个矩形区域的内容进行编码并发送到客户端即可。在发送完毕后可以清空当前屏幕内容对应的脏域信息以便进行新一轮的绘图命令处理。由于每次需要编码的区域较小,所以避免了全屏编码巨大的性能开销。命令打包中的矩形个数k可以使用固定值,也可以根据场景动态调整。客户端在接收到服务端传来的数据后进行解压缩和还原,并将图片贴到对应的矩形位置上。本实施例只有在网络通畅的时候才会从画布上获取命令打包后的k个矩形区域进行编码。可以通过帧控策略有效削减待发送的数据量,从而保证远程桌面在广域网环境下的实时传输。
当然,可以将图1和图2对应的实施例相结合得到更为优选的实施方式,即:通过画布保存当前屏幕内容,对绘图命令进行打包形成需要编码的区域,然后经过帧控策略以及压缩编码形成最终的码流发送到客户端。上述方式结合了基于命令编码与基于全屏画布编码的优势,可以在保证性能的前提下又能适用于广域网下远程桌面的传输,具有较高的编解码处理性能且CPU负载低,上述实施方式可以适用于广域网环境下的远程桌面传输。
请参见图4,图4为本申请实施例所提供的一种虚拟桌面的数据处理装置的结构示意图;
该装置可以包括:
绘图模块100,用于当接收到绘图命令时,根据绘图命令在画布上生成当前屏幕内容;
判断模块200,用于判断当前网络的可用带宽是否大于预设值;
数据发送模块300,用于当可用带宽大于预设值时,确定当前屏幕内容中的目标区域内容,并对目标区域内容执行压缩编码操作得到待发送数据,以便向客户端发送待发送数据。
本实施例在接收到绘图指令时,并没有立即将绘图指令发送到客户端进行渲染,而是先根据接收到的绘图指令在本地的画布上生成相应的当前屏幕内容。通过判断当前网络的可用带宽是否大于预设值来评价当前网络环境,若大于则说明当前网络相对畅通可以传输数据,进而将当前屏幕内容中的目标区域内容进行压缩编码,发送至客户端。由于本实施例仅在可用带宽大于预设值时发送数据,且通过画布保存当前屏幕内容使得新的绘图指令不断地绘制在画布上,因此实施上述方案能够在降低绘图指令对应的发送数据量的前提下,保证远程桌面的实时传输。
进一步的,该数据处理装置还包括:
脏域信息记录模块,用于在根据绘图命令在画布上生成当前屏幕内容之后,记录当前屏幕内容对应的脏域信息;
相应的,数据发送模块包括:
内容确定单元,用于当可用带宽大于预设值时,根据脏域信息确定当前屏幕内容中的目标区域内容;
发送单元,用于对目标区域内容执行压缩编码操作得到待发送数据,以便向客户端发送待发送数据。
进一步的,目标区域内容确定单元包括:
脏域打包子单元,用于对所有脏域信息对应脏域执行打包处理得到打包区域,以便利用最小面积的预设数量个矩形包围所有脏域;
内容设置子单元,用于将打包区域对应的当前屏幕内容设置为目标区域内容。
进一步的,该数据处理装置还包括:
脏域信息清空模块,用于在向客户端发送待发送数据之后,清空当前屏幕内容对应的脏域信息。
进一步的,数据发送模块包括:
区域确定单元,用于当可用带宽大于预设值时,确定当前屏幕内容中的目标区域内容;
算法确定单元,用于根据目标区域内容的图像类型确定目标编码算法;
压缩编码单元,用于利用目标编码算法对目标区域内容执行压缩编码操作得到待发送数据,以便向客户端发送待发送数据。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (12)

1.一种虚拟桌面的数据处理方法,其特征在于,包括:
当接收到绘图命令时,根据所述绘图命令在画布上生成当前屏幕内容;
判断当前网络的可用带宽是否大于预设值;
若是,则确定所述当前屏幕内容中的目标区域内容,并对所述目标区域内容执行压缩编码操作得到待发送数据,以便向客户端发送所述待发送数据。
2.根据权利要求1所述数据处理方法,其特征在于,在根据所述绘图命令在画布上生成当前屏幕内容之后,还包括:
记录所述当前屏幕内容对应的脏域信息;
相应的,确定所述当前屏幕内容中的目标区域内容包括:
根据所述脏域信息确定所述当前屏幕内容中的目标区域内容。
3.根据权利要求2所述数据处理方法,其特征在于,根据所述脏域信息确定所述当前屏幕内容中的目标区域内容包括:
对所有所述脏域信息对应脏域执行打包处理得到打包区域,以便利用最小面积的预设数量个矩形包围所有所述脏域;
将所述打包区域对应的当前屏幕内容设置为所述目标区域内容。
4.根据权利要求2所述数据处理方法,其特征在于,在向客户端发送所述待发送数据之后,还包括:
清空所述当前屏幕内容对应的脏域信息。
5.根据权利要求1至4任一项所述数据处理方法,其特征在于,对所述目标区域内容执行压缩编码操作得到待发送数据包括:
根据所述目标区域内容的图像类型确定目标编码算法;
利用所述目标编码算法对所述目标区域内容执行压缩编码操作得到所述待发送数据。
6.一种虚拟桌面的数据处理装置,其特征在于,包括:
绘图模块,用于当接收到绘图命令时,根据所述绘图命令在画布上生成当前屏幕内容;
判断模块,用于判断当前网络的可用带宽是否大于预设值;
数据发送模块,用于当所述可用带宽大于所述预设值时,确定所述当前屏幕内容中的目标区域内容,并对所述目标区域内容执行压缩编码操作得到待发送数据,以便向客户端发送所述待发送数据。
7.根据权利要求6所述数据处理装置,其特征在于,还包括:
脏域信息记录模块,用于在根据所述绘图命令在画布上生成当前屏幕内容之后,记录所述当前屏幕内容对应的脏域信息;
相应的,所述数据发送模块包括:
内容确定单元,用于当所述可用带宽大于所述预设值时,根据所述脏域信息确定所述当前屏幕内容中的目标区域内容;
发送单元,用于对所述目标区域内容执行压缩编码操作得到待发送数据,以便向客户端发送所述待发送数据。
8.根据权利要求7所述数据处理装置,其特征在于,所述目标区域内容确定单元包括:
脏域打包子单元,用于对所有所述脏域信息对应脏域执行打包处理得到打包区域,以便利用最小面积的预设数量个矩形包围所有所述脏域;
内容设置子单元,用于将所述打包区域对应的当前屏幕内容设置为所述目标区域内容。
9.根据权利要求7所述数据处理装置,其特征在于,还包括:
脏域信息清空模块,用于在向客户端发送所述待发送数据之后,清空所述当前屏幕内容对应的脏域信息。
10.根据权利要求6至9任一项所述数据处理装置,其特征在于,所述数据发送模块包括:
区域确定单元,用于当所述可用带宽大于所述预设值时,确定所述当前屏幕内容中的目标区域内容;
算法确定单元,用于根据所述目标区域内容的图像类型确定目标编码算法;
压缩编码单元,用于利用所述目标编码算法对所述目标区域内容执行压缩编码操作得到所述待发送数据,以便向客户端发送所述待发送数据。
11.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述虚拟桌面的数据处理方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述虚拟桌面的数据处理方法的步骤。
CN201910299442.3A 2019-04-15 2019-04-15 一种虚拟桌面的数据处理方法、装置及相关组件 Pending CN111836092A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910299442.3A CN111836092A (zh) 2019-04-15 2019-04-15 一种虚拟桌面的数据处理方法、装置及相关组件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910299442.3A CN111836092A (zh) 2019-04-15 2019-04-15 一种虚拟桌面的数据处理方法、装置及相关组件

Publications (1)

Publication Number Publication Date
CN111836092A true CN111836092A (zh) 2020-10-27

Family

ID=72914614

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910299442.3A Pending CN111836092A (zh) 2019-04-15 2019-04-15 一种虚拟桌面的数据处理方法、装置及相关组件

Country Status (1)

Country Link
CN (1) CN111836092A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113885758A (zh) * 2021-12-08 2022-01-04 统信软件技术有限公司 一种虚拟屏幕生成方法、计算设备及存储介质
CN115150638A (zh) * 2022-06-29 2022-10-04 深信服科技股份有限公司 一种基于云桌面的数据传输方法、装置、设备及存储介质
CN115988214A (zh) * 2022-12-01 2023-04-18 北京首都在线科技股份有限公司 视频帧编码方法、视频帧显示方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030924A (zh) * 2006-03-03 2007-09-05 中兴通讯股份有限公司 一种动态带宽适配的方法
CN102143360A (zh) * 2010-06-30 2011-08-03 华为技术有限公司 一种图像编码的方法及设备
US20140314139A1 (en) * 2013-04-18 2014-10-23 Futurewei Technologies, Inc. System and Method for Adaptive Bandwidth Management
CN104243459A (zh) * 2014-09-03 2014-12-24 福建星网锐捷网络有限公司 一种虚拟桌面实现方法、装置、终端和系统
JP2015125771A (ja) * 2014-06-03 2015-07-06 株式会社スクウェア・エニックス 描画システム、制御方法、プログラム、及び記録媒体
US20150296054A1 (en) * 2012-11-15 2015-10-15 Nec Corporation Server apparatus, terminal, thin client system, screen transmission method and program
CN105224390A (zh) * 2015-09-22 2016-01-06 宁夏大学 一种虚拟桌面压缩的方法
CN108897596A (zh) * 2018-07-05 2018-11-27 北京景行锐创软件有限公司 一种图形界面传输方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030924A (zh) * 2006-03-03 2007-09-05 中兴通讯股份有限公司 一种动态带宽适配的方法
CN102143360A (zh) * 2010-06-30 2011-08-03 华为技术有限公司 一种图像编码的方法及设备
US20150296054A1 (en) * 2012-11-15 2015-10-15 Nec Corporation Server apparatus, terminal, thin client system, screen transmission method and program
US20140314139A1 (en) * 2013-04-18 2014-10-23 Futurewei Technologies, Inc. System and Method for Adaptive Bandwidth Management
JP2015125771A (ja) * 2014-06-03 2015-07-06 株式会社スクウェア・エニックス 描画システム、制御方法、プログラム、及び記録媒体
CN104243459A (zh) * 2014-09-03 2014-12-24 福建星网锐捷网络有限公司 一种虚拟桌面实现方法、装置、终端和系统
CN105224390A (zh) * 2015-09-22 2016-01-06 宁夏大学 一种虚拟桌面压缩的方法
CN108897596A (zh) * 2018-07-05 2018-11-27 北京景行锐创软件有限公司 一种图形界面传输方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113885758A (zh) * 2021-12-08 2022-01-04 统信软件技术有限公司 一种虚拟屏幕生成方法、计算设备及存储介质
CN113885758B (zh) * 2021-12-08 2022-02-25 统信软件技术有限公司 一种虚拟屏幕生成方法、计算设备及存储介质
CN114489421A (zh) * 2021-12-08 2022-05-13 统信软件技术有限公司 一种虚拟屏幕生成方法、计算设备及存储介质
CN115150638A (zh) * 2022-06-29 2022-10-04 深信服科技股份有限公司 一种基于云桌面的数据传输方法、装置、设备及存储介质
CN115988214A (zh) * 2022-12-01 2023-04-18 北京首都在线科技股份有限公司 视频帧编码方法、视频帧显示方法和装置

Similar Documents

Publication Publication Date Title
CN109194647B (zh) 数据传输方法、装置、电子设备及存储介质
US20130155075A1 (en) Information processing device, image transmission method, and recording medium
CN111882626A (zh) 图像处理方法、装置、服务器及介质
US20140085314A1 (en) Method for transmitting digital scene description data and transmitter and receiver scene processing device
US9124813B2 (en) Information processing device using compression ratio of still and moving image data
CN111836092A (zh) 一种虚拟桌面的数据处理方法、装置及相关组件
CN101401434B (zh) 用于改变视频图像序列的时间频率的方法和装置
US10652591B2 (en) System for cloud streaming service, method for same using still-image compression technique and apparatus therefor
CN102685472B (zh) 数据传输的方法、装置和系统
US8725947B2 (en) Cache control for adaptive stream player
CN105262825A (zh) 基于h.265的spice云桌面传输和展现方法及系统
AU2004305808A1 (en) Method and apparatus for generating graphical and media displays at a thin client
CN105338323A (zh) 一种视频监控方法及装置
EP3135019B1 (en) Method and system for bandwidth-dependent file transfer
US20150117515A1 (en) Layered Encoding Using Spatial and Temporal Analysis
US8620096B2 (en) Virtualization server for presentation virtualization and image data encoding method
EP2827597B1 (en) Adaptive content delivery
US20170272545A1 (en) Method and system for transmitting remote screen
US10462200B2 (en) System for cloud streaming service, method for still image-based cloud streaming service and apparatus therefor
CN114245175A (zh) 视频转码方法、装置、电子设备及存储介质
CN112804527B (zh) 图像输出方法、装置及计算机可读存储介质
CN112350998B (zh) 一种基于边缘计算的视频流传输方法
TW201842775A (zh) 用於在視訊編碼中的順延後處理的系統及方法
CN110912922A (zh) 一种图像传输方法、装置、电子设备及存储介质
CN111031007A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20201027