CN105430006A - 一种动态实时调整spice图像品质的方法 - Google Patents
一种动态实时调整spice图像品质的方法 Download PDFInfo
- Publication number
- CN105430006A CN105430006A CN201510980854.5A CN201510980854A CN105430006A CN 105430006 A CN105430006 A CN 105430006A CN 201510980854 A CN201510980854 A CN 201510980854A CN 105430006 A CN105430006 A CN 105430006A
- Authority
- CN
- China
- Prior art keywords
- spice
- network communication
- per
- management module
- real time
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种动态实时调整spice图像品质的方法,包括下列步骤:(1)设立运行在spice-server进程内部的参数管理模块,读写用于保存参数的内部变量,spice图像处理模块根据参数管理模块提供的内部参数实时变更图像压缩方法,所述内部参数用于配置压缩参数和压缩参数是否执行人工配置;(2)spice网络通讯模块根据网络通讯情况实时修改参数管理模块的压缩参数,自动选择压缩参数;(3)执行人工配置时,外部程序通过进程间通讯实时修改压缩参数。所述方法能够降低虚拟机网络通讯对带宽的要求,在低带宽情况下可以通过网络操作虚拟机,在带宽波动时有效降低通讯延迟。
Description
技术领域
本发明涉及一种数据传输方法,尤其是涉及一种动态实时调整spice图像品质的方法。
背景技术
目前spice-server(server-服务器)负责处理spice协议及网络通讯,存在形式可以是一个运行在虚拟机内部的模块或者是一个独立的进程。
Spice是一个远程计算方案,提供对远程主机的显示和设备(如:键盘、鼠标、音频)的远程访问,最主要的应用是提供对虚拟机的访问。
虚拟机把图像数据交给spice-server,spice-server处理后再使用spice协议通过网络把图像传输给终端软件,传输的图像频数据进行无损压缩或固定压缩率的有损压缩。当前的这种方式需要占据比较大的网络带宽,在低带宽条件下无法使用,在带宽波动时会产生比较大的通讯延迟。
发明内容
本发明提供了一种动态实时调整spice图像品质的方法,用户通过终端软件操作虚拟机,终端软件与虚拟机通过spice协议进行网络通信。虚拟机通过网络实时把图像、音频数据传输给终端软件,在网络带宽不够或带宽波动的时候通讯延迟会很大,通过动态实时调整图像的品质,降低数据传输量,可以有效降低通讯延迟。其技术方案如下所述:
一种动态实时调整spice图像品质的方法,包括下列步骤:
(1)设立运行在spice-server进程内部的参数管理模块,读写用于保存参数的内部变量,spice图像处理模块根据参数管理模块提供的内部参数实时变更图像压缩方法,所述内部参数用于配置压缩参数和压缩参数是否执行人工配置;
(2)spice网络通讯模块根据网络通讯情况实时修改参数管理模块的压缩参数,自动选择压缩参数;
(3)执行人工配置时,外部程序通过进程间通讯实时修改压缩参数。
步骤(1)中,所述参数管理模块启动独立线程,通过进程间通讯的方式从其他进程接收配置命令,实时配置内部参数。
步骤(1)中,所述图像压缩方法在无损压缩时选择Deflate或LZMA压缩方法,在有损压缩时使用JPEG传输方法。
步骤(3)中,人工配置压缩参数的方法包括以下步骤:
1)运行网络通讯程序,此程序以进程方式运行,创建socket进行网络侦听,从网络接收配置命令;
2)网络通讯程序收到配置命令后,解析出内部参数,通过进程间通讯的方式把内部参数传递给参数管理模块;
3)网络配置命令中包含指定虚拟机的信息及内部参数。
步骤(2)中自动选择压缩参数的方法步骤如下:
1)修改spice-server网络通讯功能代码,收集网络通讯状况,所述网络通讯状况包括:平均每秒需要发送的图像数据字节数、每秒需要发送的图像数据字节数峰值、平均每秒实际发送的图像字节数、每秒实际发送的图像字节数峰值,以上数据均在一段时间内统计;
2)根据网络通讯状况获得的通讯速率实时调整压缩参数,
2.1初始使用有损压缩,图像质量定为85;
2.2如果连续30秒平均每秒实际发送的图像字节数等于平均每秒需要发送的图像数据字节数,并且每秒需要发送的图像数据字节数峰值没有增加,则图像质量+1,并且如果每秒实际发送的图像数据字节数峰值增加,则图像质量+2;
2.3如果出现平均每秒实际发送的图像字节数小于平均每秒需要发送的图像数据字节数,则图像质量-1,并且如果每秒实际发送的图像数据字节数峰值增加,则图像质量-10;
2.4如果图像质量达到100,并且连续30秒连续30秒平均每秒实际发送的图像字节数等于平均每秒需要发送的图像数据字节数,则使用无损压缩。
步骤(3)中,网络通讯程序通过进程间通讯的方式与参数管理模块进行交互,进程间通讯的方法包括:
1)socket:参数管理模块创建本地socket进行侦听,从socket接收数据;网络通讯程序则连接此socket,向此socket写入数据;
2)管道:参数管理模块创建命名管道,从管道内读取数据;网络通讯程序则打开此管道,向管道内写入数据;
3)共享内存:参数管理模块创建共享内存文件,并通过mmap将文件映射到内存中,并从此内存读取数据;网络通讯程序则打开此共享内存文件,并通过mmap将文件映射到内存中,并将数据写入此内存。
所述socket、管道、共享内存文件的命名均使用虚拟机的UUID命名。
所述方法能够降低虚拟机网络通讯对带宽的要求,在低带宽情况下可以通过网络操作虚拟机,在带宽波动时有效降低通讯延迟。
附图说明
图1是所述动态实时调整spice图像品质的方法示意图;
图2是人工配置压缩参数的方法示意图;
图3是自动选择压缩参数的方法示意图。
具体实施方式
如图1所示,右边的框表示spice-server,首先设立参数管理模块,此模块运行在spice-server进程内部,读写用于保存参数的内部变量。功能实现包括:
a、对spice-sever进行修改,包括:
1、建立spice图像处理模块,修改图像频数据处理程序,增加内部参数,此参数用来配置:压缩参数(包括图像和压缩算法和压缩率)、是否人工配置(指人工配置压缩参数或软件自动选择压缩参数);
2、增加参数管理模块,此模块启动独立线程,通过进程间通讯的方式从其他进程接收配置命令,实时配置内部参数;
3、增加网络处理程序,建立spice网络通讯模块,用于收集网络数据,判定网络状态,实时动态修改内部参数。
b、提供虚拟机管理程序,处理虚拟机信息数据;
c、支持网络配置,通过网络通讯程序接收网络配置命令,实时调整内部参数;
d、配置的粒度可以精确到每台虚拟机。
其中,压缩算法包括:
1、无损压缩,可以选择Deflate或LZMA压缩方法,DEFLATE是同时使用了LZ77算法与哈夫曼编码(HuffmanCoding)的一个无损数据压缩算法;LZMA(Lempel-Ziv-Markovchain-Algorithm的缩写),是一个Deflate和LZ77算法改良和优化后的压缩算法。
2、有损压缩,使用JPEG处理方法。
如图2所示,人工配置压缩参数的方法,用户首先在浏览器界面通过网络通讯HTTP协议下发配置命令,包括所述命令传送到webSever,然后经过下列步骤:
1、运行网络通讯程序,此程序以进程方式运行,此程序创建socket进行网络侦听,从网络接收配置命令;
2、网络通讯程序收到配置命令后,解析出内部参数,通过进程间通讯的方式把内部参数传递给参数管理模块,即通过本地socket通讯,配置内部参数;
3、网络配置命令中包含指定虚拟机的信息及内部参数。
如图3所示,软件自动选择压缩参数的方法,包括下列步骤:
1、修改spice-server网络通讯功能代码,收集网络通讯状况;
2、网络通讯状况是包括:平均每秒需要发送的图像数据字节数、每秒需要发送的图像数据字节数峰值、平均每秒实际发送的图像字节数、每秒实际发送的图像字节数峰值。以上数据均在一段时间内统计,比如最近的30秒。
3、根据通讯速率实时调整压缩参数,具体方法为:
3.1初始使用有损压缩,图像质量定为85;
3.2如果连续30秒平均每秒实际发送的图像字节数等于平均每秒需要发送的图像数据字节数,并且每秒需要发送的图像数据字节数峰值没有增加,则图像质量+1,并且如果每秒实际发送的图像数据字节数峰值增加,则图像质量+2;
3.3如果出现平均每秒实际发送的图像字节数小于平均每秒需要发送的图像数据字节数,则图像质量-1,并且如果每秒实际发送的图像数据字节数峰值增加,则图像质量-10;
3.4如果图像质量达到100,并且连续30秒连续30秒平均每秒实际发送的图像字节数等于平均每秒需要发送的图像数据字节数,则使用无损压缩。
参数管理模块通过进程间通讯的方式从其他进程接收配置命令,实时配置内部参数,对应的是网络通讯程序通过进程间通讯的方式与参数管理模块进行交互,进程间通讯的方法可以是:
1、socket:参数管理模块创建本地socket进行侦听,从socket接收数据;网络通讯程序则连接此socket,向此socket写入数据
2、管道:参数管理模块创建命名管道,从管道内读取数据;网络通讯程序则打开此管道,向管道内写入数据
3、共享内存:参数管理模块创建共享内存文件,并通过mmap将文件映射到内存中,并从此内存读取数据;网络通讯程序则打开此共享内存文件,并通过mmap将文件映射到内存中,并将数据写入此内存
4、以上socket、管道、共享内存文件的命名均使用虚拟机的UUID命名
其中,socket:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。
Mmap:将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。mmap在用户空间映射调用系统中作用很大。
所述方法能够降低虚拟机网络通讯对带宽的要求,在低带宽情况下可以通过网络操作虚拟机,在带宽波动时有效降低通讯延迟。
Claims (8)
1.一种动态实时调整spice图像品质的方法,包括下列步骤:
(1)设立运行在spice-server进程内部的参数管理模块,读写用于保存参数的内部变量,spice图像处理模块根据参数管理模块提供的内部参数实时变更图像压缩方法,所述内部参数用于配置压缩参数和压缩参数是否执行人工配置;
(2)spice网络通讯模块根据网络通讯情况实时修改参数管理模块的压缩参数,自动选择压缩参数;
(3)执行人工配置时,外部程序通过进程间通讯实时修改压缩参数。
2.根据权利要求1所述的动态实时调整spice图像品质的方法,其特征在于:步骤(1)中,所述参数管理模块启动独立线程,通过进程间通讯的方式从其他进程接收配置命令,实时配置内部参数。
3.根据权利要求1所述的动态实时调整spice图像品质的方法,其特征在于:步骤(1)中,所述图像压缩方法在无损压缩时选择Deflate或LZMA压缩方法,在有损压缩时使用JPEG传输方法。
4.根据权利要求1所述的动态实时调整spice图像品质的方法,其特征在于:步骤(3)中,人工配置压缩参数的方法包括以下步骤:
1)运行网络通讯程序,此程序以进程方式运行,创建socket进行网络侦听,从网络接收配置命令;
2)网络通讯程序收到配置命令后,解析出内部参数,通过进程间通讯的方式把内部参数传递给参数管理模块;
3)网络配置命令中包含指定虚拟机的信息及内部参数。
5.根据权利要求1所述的动态实时调整spice图像品质的方法,其特征在于:步骤(2)中自动选择压缩参数的方法步骤如下:
1)修改spice-server网络通讯功能代码,收集网络通讯状况,所述网络通讯状况包括:平均每秒需要发送的图像数据字节数、每秒需要发送的图像数据字节数峰值、平均每秒实际发送的图像字节数、每秒实际发送的图像字节数峰值,以上数据均在一段时间内统计;
2)根据网络通讯状况获得的通讯速率实时调整压缩参数。
6.根据权利要求5所述的动态实时调整spice图像品质的方法,其特征在于:步骤2)中,实时调整压缩参数实施方法如下:
2.1初始使用有损压缩,图像质量定为85;
2.2如果连续30秒平均每秒实际发送的图像字节数等于平均每秒需要发送的图像数据字节数,并且每秒需要发送的图像数据字节数峰值没有增加,则图像质量+1,并且如果每秒实际发送的图像数据字节数峰值增加,则图像质量+2;
2.3如果出现平均每秒实际发送的图像字节数小于平均每秒需要发送的图像数据字节数,则图像质量-1,并且如果每秒实际发送的图像数据字节数峰值增加,则图像质量-10;
2.4如果图像质量达到100,并且连续30秒连续30秒平均每秒实际发送的图像字节数等于平均每秒需要发送的图像数据字节数,则使用无损压缩。
7.根据权利要求1所述的动态实时调整spice图像品质的方法,其特征在于:步骤(3)中,网络通讯程序通过进程间通讯的方式与参数管理模块进行交互,进程间通讯的方法包括:
1)socket:参数管理模块创建本地socket进行侦听,从socket接收数据;网络通讯程序则连接此socket,向此socket写入数据;
2)管道:参数管理模块创建命名管道,从管道内读取数据;网络通讯程序则打开此管道,向管道内写入数据;
3)共享内存:参数管理模块创建共享内存文件,并通过mmap将文件映射到内存中,并从此内存读取数据;网络通讯程序则打开此共享内存文件,并通过mmap将文件映射到内存中,并将数据写入此内存。
8.根据权利要求7所述的动态实时调整spice图像品质的方法,其特征在于:所述socket、管道、共享内存文件的命名均使用虚拟机的UUID命名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510980854.5A CN105430006B (zh) | 2015-12-25 | 2015-12-25 | 一种动态实时调整spice图像品质的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510980854.5A CN105430006B (zh) | 2015-12-25 | 2015-12-25 | 一种动态实时调整spice图像品质的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105430006A true CN105430006A (zh) | 2016-03-23 |
CN105430006B CN105430006B (zh) | 2019-05-14 |
Family
ID=55507947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510980854.5A Active CN105430006B (zh) | 2015-12-25 | 2015-12-25 | 一种动态实时调整spice图像品质的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105430006B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113891080A (zh) * | 2021-12-06 | 2022-01-04 | 麒麟软件有限公司 | 一种spice云桌面中图像处理的优化方法 |
CN114943684A (zh) * | 2022-04-15 | 2022-08-26 | 上海波士内智能科技有限公司 | 一种利用对抗生成自编码神经网络的曲面异常检测方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093568A1 (en) * | 2001-11-14 | 2003-05-15 | Sharp Laboratories Of America, Inc. | Remote desktop protocol compression system |
CN103139609A (zh) * | 2013-02-01 | 2013-06-05 | 深圳市深信服电子科技有限公司 | 对远程应用视频播放进行优化的方法和装置 |
CN103402089A (zh) * | 2013-07-24 | 2013-11-20 | 江苏晓山信息产业股份有限公司 | 一种基于宏块技术的虚拟桌面图像压缩方法 |
CN104144349A (zh) * | 2014-07-09 | 2014-11-12 | 中电科华云信息技术有限公司 | 基于h264的spice视频编解码扩展方法及系统 |
CN104219229A (zh) * | 2014-08-18 | 2014-12-17 | 国家电网公司 | 虚拟桌面数据的传输方法和装置 |
CN104394486A (zh) * | 2014-11-26 | 2015-03-04 | 中标软件有限公司 | 一种基于云桌面的视频流处理方法及装置 |
CN104768009A (zh) * | 2015-03-19 | 2015-07-08 | 中国科学院信息工程研究所 | 一种桌面虚拟化spice协议下的图像传输方法 |
-
2015
- 2015-12-25 CN CN201510980854.5A patent/CN105430006B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093568A1 (en) * | 2001-11-14 | 2003-05-15 | Sharp Laboratories Of America, Inc. | Remote desktop protocol compression system |
CN103139609A (zh) * | 2013-02-01 | 2013-06-05 | 深圳市深信服电子科技有限公司 | 对远程应用视频播放进行优化的方法和装置 |
CN103402089A (zh) * | 2013-07-24 | 2013-11-20 | 江苏晓山信息产业股份有限公司 | 一种基于宏块技术的虚拟桌面图像压缩方法 |
CN104144349A (zh) * | 2014-07-09 | 2014-11-12 | 中电科华云信息技术有限公司 | 基于h264的spice视频编解码扩展方法及系统 |
CN104219229A (zh) * | 2014-08-18 | 2014-12-17 | 国家电网公司 | 虚拟桌面数据的传输方法和装置 |
CN104394486A (zh) * | 2014-11-26 | 2015-03-04 | 中标软件有限公司 | 一种基于云桌面的视频流处理方法及装置 |
CN104768009A (zh) * | 2015-03-19 | 2015-07-08 | 中国科学院信息工程研究所 | 一种桌面虚拟化spice协议下的图像传输方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113891080A (zh) * | 2021-12-06 | 2022-01-04 | 麒麟软件有限公司 | 一种spice云桌面中图像处理的优化方法 |
CN113891080B (zh) * | 2021-12-06 | 2022-02-18 | 麒麟软件有限公司 | 一种spice云桌面中图像处理的优化方法 |
CN114943684A (zh) * | 2022-04-15 | 2022-08-26 | 上海波士内智能科技有限公司 | 一种利用对抗生成自编码神经网络的曲面异常检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105430006B (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240139621A1 (en) | Server and Data Processing Method, Apparatus, and System | |
US10397627B2 (en) | Desktop-cloud-based media control method and device | |
US7930436B1 (en) | System and method for dynamically adjusting data compression parameters | |
CN102413150B (zh) | 服务器、虚拟桌面控制方法以及虚拟桌面控制系统 | |
WO2019001006A1 (zh) | 一种图像数据的编码、解码方法及装置 | |
CN103139609B (zh) | 对远程应用视频播放进行优化的方法和装置 | |
US20230281385A1 (en) | Fpga-based fast protocol decoding method, apparatus, and device | |
WO2015101092A1 (zh) | 一种传输机制调整方法和服务端、客户端 | |
JP7009611B2 (ja) | 伝送ブロックサイズ特定方法、装置および機器 | |
CN108496199A (zh) | 利用创作意图元数据的色调原版制作系统 | |
JP6276408B2 (ja) | 画像表示方法および装置 | |
CN104199951B (zh) | 网页处理方法及装置 | |
EP2869533B1 (en) | Data distribution method and device | |
US20210240353A1 (en) | Resource management method and apparatus | |
CN108092956A (zh) | 一种获取压缩字典的方法和装置 | |
CN105430006A (zh) | 一种动态实时调整spice图像品质的方法 | |
CN103068052B (zh) | 资源动态配置方法、系统和Portal服务器 | |
CN103503381B (zh) | 设备重定向的数据传输的方法、装置及系统 | |
US11206574B2 (en) | Method and apparatus for data communication between MU and RU using multi-channel compression algorithm | |
CN112350979B (zh) | 数据传输方法和设备 | |
CN104038307A (zh) | 数据流传输系统及方法 | |
CN116582794A (zh) | 音频传输方法及其系统、装置、电子设备及存储介质 | |
CN111031007A (zh) | 电子白板间的通信控制方法、装置及服务器 | |
WO2019029624A1 (zh) | 通信方法和设备 | |
CN114979541A (zh) | 一种视频显示系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |