CN116074307A - 传输方法、装置、电子设备和介质 - Google Patents
传输方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN116074307A CN116074307A CN202310042680.2A CN202310042680A CN116074307A CN 116074307 A CN116074307 A CN 116074307A CN 202310042680 A CN202310042680 A CN 202310042680A CN 116074307 A CN116074307 A CN 116074307A
- Authority
- CN
- China
- Prior art keywords
- spice
- virtual machine
- file
- content
- client
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 111
- 230000005540 biological transmission Effects 0.000 title claims abstract description 77
- 238000013507 mapping Methods 0.000 claims abstract description 38
- 235000013599 spices Nutrition 0.000 claims abstract 72
- 238000001514 detection method Methods 0.000 claims description 46
- 230000008676 import Effects 0.000 claims description 44
- 239000012634 fragment Substances 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 15
- 230000006854 communication Effects 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 9
- 230000006835 compression Effects 0.000 claims description 7
- 238000007906 compression Methods 0.000 claims description 7
- 238000012546 transfer Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000006837 decompression Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0281—Proxies
-
- 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/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种传输方法、装置、电子设备和介质,其中的方法具体包括:根据SPICE服务端的IP地址,向SPICE服务端发送连接请求;对目标虚拟机的界面进行展示;SPICE客户端的客户端标识与目标虚拟机的虚拟机标识之间具有映射关系;目标虚拟机部署在SPICE服务端所在的物理机上;界面中包括界面数据;接收用户针对界面的导入指令;导入指令用于向目标虚拟机导入客户端本地的目标文件对象;在目标文件对象为文件夹的情况下,将文件夹压缩为压缩文件;向SPICE服务端发送压缩文件内容。本申请实施例可以提高传输的安全性,且能够实现从SPICE客户端向目标虚拟机传输文件夹。
Description
技术领域
本申请实施例涉及通信技术领域,特别是涉及一种传输方法、装置、电子设备和介质。
背景技术
用户在使用互联网产品的过程中,往往存在文件传输的需求。
目前,通常采用FTP(文件传输协议,File TransferProtocol)进行文件传输。FTP文件传输的过程包括:分别在两台计算机上部署FTP服务端和FTP客户端;FTP服务端开放端口(如端口21);FTP客户端根据FTP服务端开放的端口,与FTP服务端建立连接;利用该连接,从FTP服务端下载文件、或者向FTP服务端上传文件。
在实际应用中,攻击者可能利用FTP服务端开放的端口,对FTP服务端进行网络攻击,例如,攻击者可以采用扫描端口的方式,获取FTP服务端的系统权限、或者对FTP服务端的密码进行破解,并根据FTP服务端的系统权限或密码,执行非法行为等;因此,FTP文件传输具有安全性差的技术问题。
发明内容
本申请实施例提供了一种传输方法,可以提高传输的安全性,且能够实现从SPICE客户端向目标虚拟机传输文件夹。
相应的,本申请实施例还提供了一种传输装置、一种电子设备和一种机器可读介质,用以保证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种传输方法,所述方法应用于简单协议独立计算环境SPICE客户端;所述方法包括:
根据SPICE服务端的IP地址,向所述SPICE服务端发送连接请求;所述连接请求用于建立所述SPICE客户端与所述SPICE服务端之间的连接;
接收所述SPICE服务端发送的目标虚拟机的界面数据;所述SPICE客户端的客户端标识与所述目标虚拟机的虚拟机标识之间具有映射关系;所述目标虚拟机部署在所述SPICE服务端所在的物理机上;所述目标虚拟机与所述SPICE服务端之间基于虚拟网络进行通信;
对所述目标虚拟机的界面进行展示;所述界面中包括所述界面数据;
接收用户针对所述界面的导入指令;所述导入指令用于向所述目标虚拟机导入客户端本地的目标文件对象;
在所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件;
向所述SPICE服务端发送压缩文件内容。
为了解决上述问题,本申请实施例公开了一种传输方法,所述方法应用于简单协议独立计算环境SPICE服务端;所述方法包括:
接收SPICE客户端发送的连接请求;所述连接请求用于建立所述SPICE客户端与所述SPICE服务端之间的连接;
根据客户端标识与虚拟机标识之间的映射关系,确定所述SPICE客户端的客户端标识对应的目标虚拟机;
向所述SPICE客户端发送目标虚拟机的界面数据;所述目标虚拟机部署在所述SPICE服务端所在的物理机上;所述目标虚拟机与所述SPICE服务端之间基于虚拟网络进行通信;所述SPICE客户端对所述目标虚拟机的界面进行展示,接收用户针对所述界面的导入指令;所述导入指令用于向所述目标虚拟机导入客户端本地的目标文件对象,并在所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件;
接收所述SPICE客户端发送的压缩文件内容,并向所述目标虚拟机发送所述压缩文件内容,并向所述目标虚拟机发送所述压缩文件内容。
为了解决上述问题,本申请实施例公开了一种传输方法,所述方法应用于遵循简单协议独立计算环境SPICE协议的目标虚拟机,所述目标虚拟机部署在所述SPICE服务端所在的物理机上,所述目标虚拟机与所述SPICE服务端之间基于虚拟网络进行通信;所述方法包括:
向所述SPICE服务端发送界面数据;所述SPICE客户端的客户端标识与所述目标虚拟机的虚拟机标识之间具有映射关系;所述SPICE客户端对所述目标虚拟机的界面进行展示,接收用户针对所述界面的导入指令;所述导入指令用于向所述目标虚拟机导入客户端本地的目标文件对象,并在所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件;
从所述SPICE服务端接收来自SPICE客户端的压缩文件内容;
在预设路径下创建以所述压缩文件的名称信息命名的压缩文件对象,并将压缩文件内容写入所述压缩文件对象。
为了解决上述问题,本申请实施例公开了一种传输装置,所述装置应用于简单协议独立计算环境SPICE客户端;所述装置包括:
连接发送模块,用于根据SPICE服务端的IP地址,向所述SPICE服务端发送连接请求;所述连接请求用于建立所述SPICE客户端与所述SPICE服务端之间的连接;
界面数据接收模块,用于接收所述SPICE服务端发送的目标虚拟机的界面数据;所述SPICE客户端的客户端标识与所述目标虚拟机的虚拟机标识之间具有映射关系;所述目标虚拟机部署在所述SPICE服务端所在的物理机上;所述目标虚拟机与所述SPICE服务端之间基于虚拟网络进行通信;
界面展示模块,用于对所述目标虚拟机的界面进行展示;所述界面中包括所述界面数据;
导入指令接收模块,用于接收用户针对所述界面的导入指令;所述导入指令用于向所述目标虚拟机导入客户端本地的目标文件对象;
压缩模块,用于在所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件;
压缩文件内容发送模块,用于向所述SPICE服务端发送压缩文件内容。
可选地,所述装置还包括:
解码模块,用于对所述导入指令中包含的编码路径进行解码,以得到对应的解码路径;
判断模块,用于根据所述解码路径,判断所述导入指令对应的目标文件对象是否为文件夹。
可选地,所述压缩文件内容包括:压缩文件的当前分片的分片内容;所述当前分片为所述SPICE客户端对所述压缩文件对应的文件内容进行分片得到的一个分片;
所述装置还包括:
重发消息接收模块,用于接收所述SPICE服务端发送的重发消息;所述目标虚拟机在当前分片的分片内容的连续性检测和完整性检测中的任一不通过的情况下,发送所述重发消息;
重新发送模块,用于根据所述重发消息,向所述SPICE服务端重新发送所述当前分片的分片内容。
可选地,所述当前分片的分片内容被携带在文件内容消息中,所述文件内容消息还包括:当前分片的分片内容的分片标识;
则所述连续性检测包括:检测所述当前分片的分片内容的分片标识与上一个分片的分片内容的分片标识之间的连续性。
可选地,所述当前分片的分片内容被携带在文件内容消息中,所述文件内容消息还包括:当前分片的分片内容的第一信息摘要值;
所述完整性检测包括:针对接收到的当前分片的分片内容,进行信息摘要值的计算,并将得到的第二信息摘要值与文件内容消息中的第一信息摘要值进行匹配。
可选地,所述压缩模块包括:
检测模块,用于检测用户是否具备文件导入权限;
文件夹压缩模块,用于在用户具备文件导入权限、且所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件。
可选地,所述装置还包括:
完成消息发送模块,用于在发送所述压缩文件包含的所有分片的分片内容后,向所述SPICE服务端发送完成消息。
为了解决上述问题,本申请实施例公开了一种传输装置,所述装置应用于简单协议独立计算环境SPICE服务端;所述装置包括:
连接请求接收模块,用于接收SPICE客户端发送的连接请求;所述连接请求用于建立所述SPICE客户端与所述SPICE服务端之间的连接;
目标虚拟机确定模块,用于根据客户端标识与虚拟机标识之间的映射关系,确定所述SPICE客户端的客户端标识对应的目标虚拟机;
界面数据发送模块,用于向所述SPICE客户端发送目标虚拟机的界面数据;所述目标虚拟机部署在所述SPICE服务端所在的物理机上;所述目标虚拟机与所述SPICE服务端之间基于虚拟网络进行通信;所述SPICE客户端对所述目标虚拟机的界面进行展示,接收用户针对所述界面的导入指令;所述导入指令用于向所述目标虚拟机导入客户端本地的目标文件对象,并在所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件;
压缩文件内容中转模块,用于接收所述SPICE客户端发送的压缩文件内容,并向所述目标虚拟机发送所述压缩文件内容。
可选地,所述压缩文件内容包括:压缩文件的当前分片的分片内容;所述当前分片为所述SPICE客户端对所述压缩文件对应的文件内容进行分片得到的一个分片;
所述装置还包括:
重发消息中转模块,用于接收所述目标虚拟机发送的重发消息,并向所述SPICE客户端所述重发消息;所述目标虚拟机在当前分片的分片内容的连续性检测和完整性检测中的任一不通过的情况下,发送所述重发消息。
可选地,所述当前分片的分片内容被携带在文件内容消息中,所述文件内容消息还包括:当前分片的分片内容的分片标识、和/或、当前分片的分片内容的第一信息摘要值、和/或、当前分片的分片内容相对于文件头的偏移信息。
为了解决上述问题,本申请实施例公开了一种传输装置,所述装置应用于遵循简单协议独立计算环境SPICE协议的目标虚拟机,所述目标虚拟机部署在SPICE服务端所在的物理机上,所述目标虚拟机与所述SPICE服务端之间基于虚拟网络进行通信;所述装置包括:
界面数据发送模块,用于向所述SPICE服务端发送界面数据;所述SPICE客户端的客户端标识与所述目标虚拟机的虚拟机标识之间具有映射关系;所述SPICE客户端对所述目标虚拟机的界面进行展示,接收用户针对所述界面的导入指令;所述导入指令用于向所述目标虚拟机导入客户端本地的目标文件对象,并在所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件;
压缩文件内容接收模块,用于从所述SPICE服务端接收来自SPICE客户端的压缩文件内容;
创建模块,用于在预设路径下创建以所述压缩文件的名称信息命名的压缩文件对象;
写入模块,用于将压缩文件内容写入所述压缩文件对象。
可选地,所述压缩文件内容包括:压缩文件的当前分片的分片内容;所述当前分片为所述SPICE客户端对所述压缩文件对应的文件内容进行分片得到的一个分片;
所述装置还包括:
检测模块,用于对所述当前分片的分片内容进行连续性检测和完整性检测;
重发消息发送模块,用于在连续性检测和完整性检测中的任一不通过的情况下,向所述SPICE服务端发送重发消息。
可选地,所述当前分片的分片内容被携带在文件内容消息中,所述文件内容消息还包括:当前分片的分片内容的分片标识、和/或、当前分片的分片内容的第一信息摘要值、和/或、当前分片的分片内容相对于文件头的偏移信息。
可选地,所述装置还包括:
完成消息接收模块,用于接收来自所述SPICE客户端的完成消息;其中,所述SPICE客户端在发送所述压缩文件包含的所有分片的分片内容后,发送完成消息;
解压缩模块,用于对所述压缩文件对象进行解压缩,在解压缩过程中,若所述目标虚拟机对应的操作系统为预设操作系统、且所述压缩文件对象对应的文件夹下存在命名匹配问题,则输出对应的提示信息。
本申请实施例还公开了一种电子设备,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本申请实施例所述的方法。
本申请实施例还公开了一种机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本申请实施例所述的方法。
本申请实施例包括以下优点:
本申请实施例的技术方案中,SPICE服务端可以在虚拟机和SPICE客户端之间进行数据中转。其中,SPICE客户端可以基于SPICE服务端的IP地址,与SPICE服务端建立连接。由于可以不要求目标虚拟机开放端口,因此,可以在一定程度上避免开放端口带来的安全性问题,进而能够提高传输的安全性。
并且,本申请实施例的SPICE服务端根据客户端标识与虚拟机标识之间的映射关系,确定SPICE客户端的客户端标识对应的目标虚拟机,向SPICE客户端发送目标虚拟机的界面数据,以使SPICE客户端的用户经由目标虚拟机的界面、触发SPICE客户端本地的目标文件对象向目标虚拟机的传输。由于目标虚拟机是根据客户端标识与虚拟机标识之间的映射关系得到的,攻击者即使与SPICE服务端建立了连接,也无法命中上述映射关系,故攻击者无法获得目标虚拟机的界面数据,也无法触发SPICE客户端本地的目标文件对象向目标虚拟机的传输。因此,本申请实施例能够进一步提高传输的安全性。
进一步,本申请实施例的SPICE客户端在目标文件对象为文件夹的情况下,会首先将文件夹压缩为压缩文件,然后向SPICE服务端发送压缩文件内容,因此,本申请实施例可以实现从SPICE客户端向目标虚拟机传输文件夹。
附图说明
图1是本申请一个实施例的传输系统的结构示意图;
图2是本申请一个实施例的传输方法的步骤流程示意图;
图3是本申请一个实施例的传输方法的步骤流程示意图;
图4是本申请一个实施例的传输方法的步骤流程示意图;
图5是本申请一个实施例的传输方法的步骤流程示意图;
图6是本申请一个实施例的传输装置的结构示意图;
图7是本申请一个实施例的传输装置的结构示意图;
图8是本申请一个实施例的传输装置的结构示意图;
图9是本申请一个实施例提供的装置的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例的传输方法,可用于从虚拟网络外的终端向虚拟网络内的虚拟机传输文件对象。文件对象可以包括:目录或文件夹或文件等。虚拟网络的例子可以包括:vxlan(虚拟扩展局域网,VirtualExtensible Local Area Network)、gre(通用路由封装协议,Generic RoutingEncapsulation)网络、geneve(通用网络虚拟化封装,GenericNetworkVirtualization Encapsulation)网络、flat(扁平)网络等,可以理解,本申请实施例对具体的虚拟网络不加以限制。
本申请实施例在虚拟机所在的物理机上部署了SPICE(简单协议计算环境,SimpleProtocolfor Independent Computing Environment)服务端,以及,在终端上部署了SPICE客户端。并且,本申请实施例分别提供了虚拟机和SPICE客户端在传输过程中各自的处理流程,还提供了虚拟机、SPICE服务端和SPICE客户端之间的交互流程。
参照图1,本申请一个实施例的传输系统的结构示意图,该传输系统具体可以包括:虚拟机101、SPICE服务端102和SPICE客户端103。其中,虚拟机101与SPICE服务端102基于虚拟网络进行通信,SPICE服务端102与SPICE客户端103基于IP(网络之间互连的协议,InternetProtocol)协议支持的网络进行通信。
由于虚拟机101位于虚拟网络内部,故SPICE客户端103通常无法直接访问虚拟机101。SPICE协议是一种开源的网络协议,SPICE协议能够支持虚拟机的远程访问。具体到本申请实施例,能够根据SPICE协议,实现SPICE客户端103对于虚拟机101的远程访问。
SPICE协议具有自适应能力的远程提交协议,其可以是虚拟机101、SPICE服务端102和SPICE客户端103之间的交互所遵循的准则。SPICE服务端102可以是集成在虚拟机监视器内部的一个用户层组件,其能够向SPICE客户端103提供虚拟机101的界面数据。SPICE客户端103接收并显示虚拟机101的界面数据,以及向虚拟机101发送用户输入的指令,使得用户获得对于虚拟机101的界面的操作体验。
SPICE协议可以包括:SPICE服务端、终端上部署的spice-gtk程序、以及虚拟机上部署的spice-vdagent程序。spice-gtk程序可以是SPICE客户端的一种实现。spice-vdagent程序可以是代理程序。
其中,spice-gtk程序负责显示虚拟机101的界面数据,以及获取用户的指令,用户的指令可以基于键盘、鼠标等输入工具产生。
SPICE服务端负责在虚拟机上的spice-vdagent程序与终端上的spice-gtk程序之间进行数据中转。也即,本申请实施例的SPICE服务端102可以在虚拟机101和SPICE客户端103之间进行数据和/或指令的中转。其中,SPICE客户端103可以基于SPICE服务端102的IP地址,与SPICE服务端102建立连接。由于可以不要求虚拟机101开放端口,因此,可以在一定程度上避免开放端口带来的安全性问题,进而能够提高传输的安全性。
本申请实施例的SPICE服务端102根据客户端标识与虚拟机标识之间的映射关系,确定所述SPICE客户端103的客户端标识对应的目标虚拟机,向SPICE客户端103发送目标虚拟机的界面数据,以使SPICE客户端103的用户经由目标虚拟机的界面、触发SPICE客户端本地的目标文件对象向目标虚拟机的传输。
并且,本申请实施例的虚拟机位于虚拟网络内,攻击者不能直接访问虚拟机。由于目标虚拟机是根据客户端标识与虚拟机标识之间的映射关系得到的,攻击者即使与SPICE服务端102建立了连接,也无法命中上述映射关系,故攻击者无法获得目标虚拟机的界面数据,也无法触发SPICE客户端本地的目标文件对象向目标虚拟机的传输。因此,本申请实施例能够进一步提高传输的安全性。
进一步,本申请实施例的SPICE客户端在目标文件对象为文件夹的情况下,会首先将文件夹压缩为压缩文件,然后向SPICE服务端发送压缩文件内容,由此可以实现从SPICE客户端向目标虚拟机传输文件夹。
方法实施例一
参考图2,示出了本申请一个实施例的传输方法的步骤流程示意图,该方法可以应用于SPICE客户端,该方法具体可以包括如下步骤:
步骤201、根据SPICE服务端的IP地址,向该SPICE服务端发送连接请求;该连接请求用于建立该SPICE客户端与该SPICE服务端之间的连接;
步骤202、接收该SPICE服务端发送的目标虚拟机的界面数据;该SPICE客户端的客户端标识与该目标虚拟机的虚拟机标识之间具有映射关系;该目标虚拟机部署在该SPICE服务端所在的物理机上;该目标虚拟机与该SPICE服务端之间基于虚拟网络进行通信;
步骤203、对该目标虚拟机的界面进行展示;该界面中可以包括该界面数据;
步骤204、接收用户针对该界面的导入指令;该导入指令用于向该目标虚拟机导入客户端本地的目标文件对象;
步骤205、在该目标文件对象为文件夹的情况下,将该文件夹压缩为压缩文件;
步骤206、向该SPICE服务端发送压缩文件内容。
本申请实施例的SPICE客户端可以部署于终端侧。
在步骤201中,SPICE客户端可以根据SPICE服务端的IP地址,向SPICE服务端发送连接请求。SPICE服务端在收到该连接请求后,可以与SPICE客户端建立连接。例如,SPICE服务端可以根据SPICE协议规定的连接建立方法,在SPICE服务端与SPICE客户端之间建立SPICE通道,后续的传输将基于该SPICE通道进行。
SPICE服务端还可以保存有客户端标识与虚拟机标识之间的映射关系。客户端标识可以是用户标识或设备标识等。假设用户在办公环境下存在虚拟机的使用请求,则用户可以发送虚拟机申请,该虚拟机申请中可以包括:用户标识。本申请实施例的SPICE服务端或其他服务端,可以针对该用户标识分配对应的虚拟机,并保存客户端标识与虚拟机标识之间的映射关系。此种情况下,用户成功申请到虚拟机,并在虚拟机上存储对应的文件对象。
假设用户欲要将非办公环境的文件对象导入虚拟机,则可以使用本申请实施例的传输方法。SPICE客户端与SPICE服务端建立连接后,可以向SPICE服务端发送客户端标识。则SPICE服务端可以根据客户端标识与虚拟机标识之间的映射关系,确定SPICE客户端的客户端标识对应的目标虚拟机,并向SPICE客户端发送目标虚拟机的界面数据。
在实际应用中,目标虚拟机上显示的界面数据与SPICE客户端上显示的目标虚拟机的界面数据可以相匹配。这样,可以实现用户对于目标虚拟机的远程访问。例如,目标虚拟机上显示的界面数据可以包括:目录、或者目录下的文件夹或文件、或者文件等文件对象。
SPICE客户端的用户可以根据目标虚拟机的界面,产生对应的指令。指令的例子可以包括:从一个界面跳转到另一个界面的指令、或者用于触发目录下的文件夹的展示的指令、或者触发文件夹下文件的展示的指令、或者目标文件对象的导入指令等。其中,该导入指令用于向该目标虚拟机导入客户端本地的目标文件对象。可以理解,本申请实施例对于具体的指令不加以限制。
在具体实现中,导入指令可以是:将客户端本地的目标文件对象拖拽至目标虚拟机的界面的指令。或者,目标虚拟机的界面中可以包含导入控件,则导入指令可以是:点击导入控件后在客户端本地加载目标文件对象的指令。可以理解,本申请实施例对于具体的导入指令不加以限制。
在接收到导入指令后,SPICE客户端可以检测用户是否具备文件导入权限,并在用户具备文件导入权限、且该目标文件对象为文件夹的情况下,将该文件夹压缩为压缩文件。
在实际应用中,SPICE客户端可以查询配置文件,并根据查询结果判断用户是否具备文件导入权限。该配置文件可以是服务端(SPICE服务端或其他服务端)下发的文件。配置文件中可以记录有:具备文件导入权限的用户列表,此种情况下,可以检测用户列表中是否包含SPICE客户端的用户标识。或者,配置文件中可以记录有:用户标识与用户权限之间的映射关系,此种情况下,可以检测SPICE客户端的用户标识对应的用户权限中是否包含文件导入权限。
需要说明的是,在用户不具备文件导入权限,可以忽略该导入指令,也即,不对该导入指令进行响应。
在接收到导入指令后,SPICE客户端可以判断导入指令对应的目标文件对象是否为文件夹。对应的判断过程可以包括:对导入指令中包含的编码路径进行解码,以得到对应的解码路径;根据所述解码路径,判断所述导入指令对应的目标文件对象是否为文件夹。
SPICE客户端接收的导入指令中可以包含用户拖拽的目标文件对象的路径信息,该路径信息可以是对实际路径进行urlencode编码处理后的编码路径。urlecode是一个函数,可将字符串以URL(统一资源定位符,Uniform Resource Locator)编码,用于编码处理。假设用户拖拽的目标文件对象为:“C:\测试文件夹\测试文件.docx”,则客户端收到的编码路径A可以为“C:%5C%E6%B5%8B%E8%AF%95%E6%96%87%E4%BB%B6%E5%A4%B9%5C%E6%B5%8B%E8%AF%95%E6%96%87%E4%BB%B6.docx”。
SPICE客户端可以根据编码对照表,对导入指令中包含的编码路径进行解码。例如,编码路径A对应的解码路径为“C:\测试文件夹\测试文件.docx”。其中,编码对照表可以记录有编码前字符与编码后字符之间的对应关系。
SPICE客户端可以根据所述解码路径,获取目标文件对象的文件属性,并根据文件属性判断所述导入指令对应的目标文件对象是否为文件夹。
SPICE客户端在该目标文件对象为文件夹的情况下,可以将该文件夹压缩为压缩文件,并向该SPICE服务端发送压缩文件内容,以实现从SPICE客户端向目标虚拟机传输文件夹。
在实际应用中,可以对用户拖拽的文件夹进行压缩,生成预设格式的压缩文件。例如用户拖拽的文件夹为“C:\测试文件夹”,则可以在SPICE客户端的运行目录下生成压缩文件“测试文件夹.zip”。
可以理解,在该目标文件对象不为文件夹的情况下,该目标文件对象可以为文件,此种情况下,SPICE客户端可以向该SPICE服务端发送文件内容。
SPICE客户端可以利用文件传输处理函数,向该SPICE服务端发送压缩文件内容或文件内容。具体而言,SPICE客户端可以向文件传输处理函数传递压缩文件的编码文件名,以使文件传输处理函数根据编码文件名,向该SPICE服务端发送压缩文件内容。编码文件名可以是对文件名进行urlencode编码处理后的信息。
文件传输处理函数可以基于一系列处理,向该SPICE服务端发送压缩文件内容。
例如,文件传输处理函数可以向SPICE服务端发送文件头消息;该文件头消息可以包括:压缩文件的名称信息;则目标虚拟机可以在预设路径下创建以所述压缩文件的名称信息命名的压缩文件对象,并将压缩文件内容写入所述压缩文件对象。预设路径可由用户或本领域技术人员指定。
文件传输处理函数可以对压缩文件进行分片。例如,可以将一个压缩文件划分为N个分片,N可以为大于1的正整数。其中,可以按照分片所包含数据量的大小,对一个压缩文件进行分片。数据量的单位可以为KB(千字节),数据量的例子可以包括:3~4KB等,可以理解,本申请实施例对于具体的数据量不加以限制。
SPICE客户端可以按照分片在压缩文件中从前到后的顺序(也即分片标识从小到大的顺序),进行分片内容的发送。例如,可以依次发送分片标识1、分片标识2……分片标识N的分片内容。可以首先发送分片标识i的分片内容,在接收到来自目标虚拟机的成功写入消息后,可以发送分片标识(i+1)的分片内容。
SPICE客户端在发送当前分片的分片内容后,可以等待后续消息,若接收到SPICE服务端发送的重发消息,则可以根据所述重发消息,向所述SPICE服务端重新发送所述当前分片的分片内容。假设在发送第M个分片后接收到重发消息,则可以重新发送第M个分片的分片内容。其中,目标虚拟机在当前分片的分片内容的连续性检测和完整性检测中的任一不通过的情况下,发送所述重发消息。
在本申请实施例的一种可选实现方式中,当前分片的分片内容被携带在文件内容消息中,所述文件内容消息还可以包括:当前分片的分片内容的分片标识、和/或、当前分片的分片内容的第一信息摘要值、和/或、当前分片的分片内容相对于文件头的偏移信息。
例如,文件内容消息可以包括:消息头和消息体。消息体可以位于消息头之后。其中,消息头可以包括如下消息中的至少一种:协议头(表明本消息为文件内容)、文件名称、分片标识、重传标识(标识是否为重传分片)、偏移信息、信息摘要值和文件内容长度(记录当前分片的完整文件内容的长度)。消息体可以包括:当前分片的完整文件内容。
文件头消息可以与第一个分片的文件内容消息一起发送。或者,可以首先发送文件头消息,在接收到来自目标虚拟机的文件头获取成功消息后,对第一个分片的文件内容消息进行发送。
在一种实现方式中,当前分片的分片内容被携带在文件内容消息中,该文件内容消息还可以包括:当前分片的分片内容的分片标识;则所述连续性检测具体可以包括:检测所述当前分片的分片内容的分片标识与上一个分片的分片内容的分片标识之间的连续性。
分片标识可以表征当前分片为文件的第几个分片。若不存在上一个分片的分片内容,则可以说明当前分片为一个文件的第一个分片,相应的连续性检测通过,也即,连续性检测结果为通过。若存在上一个分片的分片内容,则上一个分片的分片内容可以为连续性检测和完整性检测均通过的分片内容;此种情况下,可以将当前分片的分片内容的分片标识与上一个分片的分片内容的分片标识进行匹配。例如,分片标识可以为连续递增的自然数,则可以判断当前分片的分片内容的分片标识是否比上一个分片的分片内容的分片标识多1,若是,则相应的连续性检测通过,否则,相应的连续性检测不通过。
在另一种实现方式中,当前分片的分片内容被携带在文件内容消息中,所述文件内容消息还可以包括:当前分片的分片内容的第一信息摘要值;则所述完整性检测可以包括:针对接收到的当前分片的分片内容,进行信息摘要值的计算,并将得到的第二信息摘要值与文件内容消息中的第一信息摘要值进行匹配。
信息摘要值可以为:MD5(信息摘要算法5,Message-DigestAlgorithm 5)、或者哈希值等。SPICE客户端可以针对当前分片的完整分片内容进行信息摘要值的计算,以得到第一信息摘要值。目标虚拟机可以针对接收到的当前分片的分片内容,进行信息摘要值的计算,以得到第二信息摘要值。目标虚拟机可以判断第一信息摘要值与第二信息摘要值是否一致,若是,则对应的完整性检测通过,也即,完整性检测结果为通过;反之,则对应的完整性检测不通过,也即,完整性检测结果为不通过。
本申请实施例的方法还可以包括:在发送所述压缩文件包含的所有分片的分片内容后,向所述SPICE服务端发送完成消息。
需要说明的是,在接收到导入指令后,可以在目标虚拟机的界面中显示压缩文件的传输进度信息,以使用户了解传输进度。传输进度信息可以根据已发送的分片数量相对于分片总数量的比例确定。
另外需要说明的是,本申请实施例可以向日志服务器发送目标文件对象的导入信息。该导入信息可以包括:导入时间、用户标识和目标文件对象的文件名等信息。上述日志服务器可以将该导入信息记录至日志,以作为后续审查的依据。
综上,本申请实施例的传输方法,SPICE服务端可以在虚拟机和SPICE客户端之间进行数据中转。其中,SPICE客户端可以基于SPICE服务端的IP地址,与SPICE服务端建立连接。由于可以不要求目标虚拟机开放端口,因此,可以在一定程度上避免开放端口带来的安全性问题,进而能够提高传输的安全性。
并且,本申请实施例的SPICE服务端根据客户端标识与虚拟机标识之间的映射关系,确定SPICE客户端的客户端标识对应的目标虚拟机,向SPICE客户端发送目标虚拟机的界面数据,以使SPICE客户端的用户经由目标虚拟机的界面、触发SPICE客户端本地的目标文件对象向目标虚拟机的传输。由于目标虚拟机是根据客户端标识与虚拟机标识之间的映射关系得到的,攻击者即使与SPICE服务端建立了连接,也无法命中上述映射关系,故攻击者无法获得目标虚拟机的界面数据,也无法触发SPICE客户端本地的目标文件对象向目标虚拟机的传输。因此,本申请实施例能够进一步提高传输的安全性。
进一步,本申请实施例的SPICE客户端在目标文件对象为文件夹的情况下,会首先将文件夹压缩为压缩文件,然后向SPICE服务端发送压缩文件内容,因此,本申请实施例可以实现从SPICE客户端向目标虚拟机传输文件夹。
方法实施例二
参考图3,示出了本申请一个实施例的传输方法的步骤流程示意图,该方法可以应用于遵循SPICE协议的目标虚拟机,该目标虚拟机部署在SPICE服务端所在的物理机上,该目标虚拟机与该SPICE服务端之间基于虚拟网络进行通信,该方法具体可以包括如下步骤:
步骤301、向SPICE服务端发送界面数据;目标虚拟机可以向SPICE服务端发送自身的界面数据,以使SPICE服务端向SPICE客户端中转目标虚拟机的界面数据;该SPICE客户端的客户端标识与该目标虚拟机的虚拟机标识之间具有映射关系;该SPICE客户端对该目标虚拟机的界面进行展示,接收用户针对该界面的导入指令;该导入指令用于向该目标虚拟机导入客户端本地的目标文件对象,并在该目标文件对象为文件夹的情况下,将该文件夹压缩为压缩文件;
步骤302、从该SPICE服务端接收来自SPICE客户端的压缩文件内容;
步骤303、在预设路径下创建以该压缩文件的名称信息命名的压缩文件对象,并将压缩文件内容写入该压缩文件对象。
在步骤301中,目标虚拟机的界面数据可被提供给SPICE客户端,以使SPICE客户端的用户经由界面数据、触发SPICE客户端本地的目标文件对象向目标虚拟机的传输。
在步骤302中,可以从该SPICE服务端接收来自SPICE客户端的压缩文件内容。
在具体实现中,压缩文件内容可以包括:压缩文件的当前分片的分片内容;所述当前分片可以为所述SPICE客户端对所述压缩文件对应的文件内容进行分片得到的一个分片;则所述方法还可以包括:对所述当前分片的分片内容进行连续性检测和完整性检测;在连续性检测和完整性检测中的任一不通过的情况下,向所述SPICE服务端发送重发消息。
在本申请实施例的一种可选实现方式中,上述方法还可以包括:在连续性检测和完整性检测均通过的情况下,将当前分片的分片内容写入对应的压缩文件对象中,并向SPICE服务端发送成功写入消息。成功写入消息可以使SPICE客户端进行下一个当前分片的分片内容的发送。假设SPICE客户端在发送第M个分片后接收到成功写入消息,则可以发送第(M+1)个分片的分片内容。
在实际应用中,一个压缩文件对象可以对应有文件写指针,文件写指针可以表征压缩文件对象的写入位置。在写入前M个分片的完整文件内容的情况下,可以在不移动文件写指针的情况下,进行第(M+1)个分片的文件内容的写入。
在实际应用中,可能存在如下的情况:写入的某个分片(如第M个分片)的分片内容是不完整的。此种情况下,若在不移动文件写指针的情况下,进行第M个分片的完整文件内容的写入,将导致第M个分片的文件内容的冗余问题和不准确问题。
在本申请实施例的一种可选实现方式中,所述当前分片的分片内容被携带在文件内容消息中,所述文件内容消息还可以包括:当前分片的分片内容相对于文件头的偏移信息;则上述将所述当前分片的分片内容写入对应的压缩文件对象中的过程,具体可以包括:根据偏移信息,将所述当前分片的分片内容写入对应的压缩文件对象中。
偏移信息可以表征当前分片的起始位置相对于文件起始位置的距离。在写入的某个分片(如第M个分片)的分片内容是不完整的情况下,本申请实施例可以根据偏移信息,将第M个分片的分片内容写入对应的文件中。
例如,第一次接收的第M个分片的文件内容不完整,但将不完整的文件内容写入了文件,此种情况下,文件写指针对应的位置为位置B;假设偏移信息可以表征第M个分片在文件中的起始位置A,则位置B通常在起始位置A之后。假设第二次接收的第M个分片的文件内容通过完整性检测和连续性检测,则如果按照位置B进行第M个分片的完整分片内容的写入,将会导致文件中出现冗余内容,冗余内容就是位置B之前的、属于第M个分片的部分分片内容。
而本申请实施例按照偏移信息表征的起始位置A,进行第M个分片的完整分片内容的写入,可以将冗余内容覆盖掉,且可以使文件中包含第M个分片的准确文件内容,因此可以在一定程度上解决第M个分片的文件内容的冗余问题和不准确问题。
在本申请实施例的一种可选实现方式中,文件内容消息可以包括:消息头和消息体。消息体可以位于消息头之后。其中,消息头可以包括如下消息中的至少一种:协议头(表明本消息为文件内容)、文件名称、分片标识、重发标识(标识是否为重发分片)、偏移信息、信息摘要值和文件内容长度(记录当前分片的完整文件内容的长度)。消息体可以包括:当前分片的完整文件内容。
在步骤303中,在预设路径下自动创建以该压缩文件的名称信息命名的压缩文件对象,可以减少用户的操作成本,提高传输效率。
在本申请的一种可选实现方式中,上述方法还可以包括:接收来自所述SPICE客户端的完成消息;其中,所述SPICE客户端在发送所述压缩文件包含的所有分片的分片内容后,发送完成消息;对所述压缩文件对象进行解压缩,在解压缩过程中,若所述目标虚拟机对应的操作系统为预设操作系统、且所述压缩文件对象对应的文件夹下存在命名匹配问题,则输出对应的提示信息。
在实际应用中,目标虚拟机对应的操作系统可以为第一操作系统,SPICE客户端对应的操作系统可以为第二操作系统,第一操作系统与第二操作系统可以相同或不同。第一操作系统可以为Windows系统或Linux系统等,第二操作系统可以为Windows系统或Linux系统等,可以理解,本申请实施例对于具体的第一操作系统或第二操作系统不加以限制。
在实际应用中,可能会出现如下情况:目标虚拟机对应的操作系统为预设操作系统、且所述压缩文件对象对应的文件夹下存在命名匹配问题。命名匹配问题具体可以包括:两个文件的文件名相同、或者两个文件的文件名在相同位置上的字母互为大小写。例如,第一文件a.txt与第二文件A.txt在相同位置上的字母互为大小写;又如,第三文件ab.txt与第四文件Ab.txt在相同位置上的字母互为大小写等。
预设操作系统可以是不对文件名的大小写进行区分的操作系统。预设操作系统会将文件名在相同位置上的字母互为大小写的至少两个文件识别为同名文件。
本申请实施例在解压缩过程中,若所述目标虚拟机对应的操作系统为预设操作系统、且所述压缩文件对象对应的文件夹下存在命名匹配问题,则输出对应的提示信息。该提示信息可以克服预设操作系统会将文件名在相同位置上的字母互为大小写的两个文件识别为同名文件的问题。
提示信息可以包含用户对同名文件的处理方式信息,处理方式信息包括:忽略、或替换、或重命名。
其中,在用户选择重命名的情况下,同名的至少两个文件中一个文件将会被重命名,例如,将a.txt重命名为a_1.txt。
在用户选择替换的情况下,同名的至少两个文件中一个文件将会被替换为另一个文件,例如,将a.txt替换为A.txt。
在用户选择忽略的情况下,可以不对同名的至少两个文件中的任一进行解压缩。
综上,本申请实施例的传输方法,SPICE服务端可以在虚拟机和SPICE客户端之间进行数据中转。其中,SPICE客户端可以基于SPICE服务端的IP地址,与SPICE服务端建立连接。由于可以不要求目标虚拟机开放端口,因此,可以在一定程度上避免开放端口带来的安全性问题,进而能够提高传输的安全性。
并且,本申请实施例的SPICE服务端根据客户端标识与虚拟机标识之间的映射关系,确定SPICE客户端的客户端标识对应的目标虚拟机,向SPICE客户端发送目标虚拟机的界面数据,以使SPICE客户端的用户经由目标虚拟机的界面、触发SPICE客户端本地的目标文件对象向目标虚拟机的传输。由于目标虚拟机是根据客户端标识与虚拟机标识之间的映射关系得到的,攻击者即使与SPICE服务端建立了连接,也无法命中上述映射关系,故攻击者无法获得目标虚拟机的界面数据,也无法触发SPICE客户端本地的目标文件对象向目标虚拟机的传输。因此,本申请实施例能够进一步提高传输的安全性。
进一步,本申请实施例的SPICE客户端在目标文件对象为文件夹的情况下,会首先将文件夹压缩为压缩文件,然后向SPICE服务端发送压缩文件内容,因此,本申请实施例可以实现从SPICE客户端向目标虚拟机传输文件夹。
方法实施例三
参考图4,示出了本申请一个实施例的传输方法的步骤流程示意图,该方法可以应用于SPICE服务端,该方法具体可以包括如下步骤:
步骤401、接收SPICE客户端发送的连接请求;该连接请求用于建立该SPICE客户端与该SPICE服务端之间的连接;
步骤402、根据客户端标识与虚拟机标识之间的映射关系,确定该SPICE客户端的客户端标识对应的目标虚拟机;
步骤403、向该SPICE客户端发送目标虚拟机的界面数据;该目标虚拟机部署在该SPICE服务端所在的物理机上;该目标虚拟机与该SPICE服务端之间基于虚拟网络进行通信;该SPICE客户端对该目标虚拟机的界面进行展示,接收用户针对该界面的导入指令;该导入指令用于向该目标虚拟机导入客户端本地的目标文件对象,并在该目标文件对象为文件夹的情况下,将该文件夹压缩为压缩文件;
步骤404、接收该SPICE客户端发送的压缩文件内容,并向该目标虚拟机发送所述压缩文件内容。
本申请实施例的SPICE服务端可以基于提供的IP地址,建立SPICE客户端与SPICE服务端之间的连接,利用该连接,向SPICE客户端同步目标虚拟机的界面数据。并且,SPICE服务端可以在虚拟机和SPICE客户端之间进行数据和/或指令的中转。
在实际应用中,该压缩文件内容具体可以包括:压缩文件的当前分片的分片内容;所述当前分片为所述SPICE客户端对所述压缩文件对应的文件内容进行分片得到的一个分片;
所述方法还可以包括:接收所述目标虚拟机发送的重发消息,并向所述SPICE客户端所述重发消息;所述目标虚拟机在当前分片的分片内容的连续性检测和完整性检测中的任一不通过的情况下,发送所述重发消息。
在具体实现中,所述当前分片的分片内容被携带在文件内容消息中,所述文件内容消息还包括:当前分片的分片内容的分片标识、和/或、当前分片的分片内容的第一信息摘要值、和/或、当前分片的分片内容相对于文件头的偏移信息。
在本申请实施例的一种可选实现方式中,上述方法还可以包括:接收目标虚拟机发送的文件获取成功消息,并向SPICE客户端发送所述文件获取成功消息。
在本申请实施例的一种可选实现方式中,上述方法还可以包括:接收目标虚拟机发送的成功写入消息,并向SPICE客户端发送所述成功写入消息。
在本申请的一种可选实现方式中,上述方法还可以包括:接收来自所述SPICE客户端的完成消息,并向目标虚拟机发送完成消息。
综上,本申请实施例的传输方法,SPICE服务端可以在虚拟机和SPICE客户端之间进行数据中转。其中,SPICE客户端可以基于SPICE服务端的IP地址,与SPICE服务端建立连接。由于可以不要求目标虚拟机开放端口,因此,可以在一定程度上避免开放端口带来的安全性问题,进而能够提高传输的安全性。
并且,本申请实施例的SPICE服务端根据客户端标识与虚拟机标识之间的映射关系,确定SPICE客户端的客户端标识对应的目标虚拟机,向SPICE客户端发送目标虚拟机的界面数据,以使SPICE客户端的用户经由目标虚拟机的界面、触发SPICE客户端本地的目标文件对象向目标虚拟机的传输。由于目标虚拟机是根据客户端标识与虚拟机标识之间的映射关系得到的,攻击者即使与SPICE服务端建立了连接,也无法命中上述映射关系,故攻击者无法获得目标虚拟机的界面数据,也无法触发SPICE客户端本地的目标文件对象向目标虚拟机的传输。因此,本申请实施例能够进一步提高传输的安全性。
进一步,本申请实施例的SPICE客户端在目标文件对象为文件夹的情况下,会首先将文件夹压缩为压缩文件,然后向SPICE服务端发送压缩文件内容,因此,本申请实施例可以实现从SPICE客户端向目标虚拟机传输文件夹。
方法实施例四
参考图5,示出了本申请一个实施例的传输方法的步骤流程示意图,为了方便说明,本申请实施例在描述SPICE客户端与目标虚拟机之间的通信过程中,省略了SPICE服务端的中转。可以理解,本申请实施例的SPICE客户端向目标虚拟机发送A,具体可以为:SPICE客户端向SPICE服务端发送A,以使SPICE服务端向目标虚拟机中转A。同理,本申请实施例的目标虚拟机向SPICE客户端发送B,具体可以为:目标虚拟机向SPICE服务端发送B,以使SPICE服务端向SPICE客户端中转B。
该方法具体可以包括如下步骤:
步骤501、SPICE服务端接收SPICE客户端发送的连接请求;
步骤502、SPICE服务端确定该SPICE客户端的客户端标识对应的目标虚拟机;
步骤503、SPICE服务端向该SPICE客户端发送目标虚拟机的界面数据;
步骤504、SPICE客户端对该目标虚拟机的界面进行展示,并接收用户的导入指令;该导入指令用于向该目标虚拟机导入客户端本地的目标文件对象;
步骤505、SPICE客户端判断用户是否具备文件导入权限,若是,则执行步骤506,否则忽略该导入指令;
步骤506、SPICE客户端判断该目标文件对象是否为文件夹,若是,则执行步骤507,否则执行508;
步骤507、SPICE客户端将该文件夹压缩为压缩文件;
步骤508、SPICE客户端利用文件传输处理函数,向该SPICE服务端发送压缩文件内容或文件内容;
步骤509、目标虚拟机在预设路径下创建以该压缩文件的名称信息命名的压缩文件对象,并将压缩文件内容写入该压缩文件对象;
步骤510、目标虚拟机接收来自SPICE客户端的完成消息;
步骤511、目标虚拟机判断目标虚拟机对应的操作系统是否为预设操作系统,若是,则执行步骤512,否则执行步骤513;
步骤512、目标虚拟机对压缩文件对象进行解压缩,并在解压缩过程中,输出命名匹配问题对应的提示信息;
步骤513、目标虚拟机对压缩文件对象进行解压缩。
SPICE客户端可以向目标虚拟机发送文件头消息;该文件头消息可以包括:压缩文件的名称信息;则目标虚拟机可以在预设路径下创建以所述压缩文件的名称信息命名的压缩文件对象,并将压缩文件内容写入所述压缩文件对象。
SPICE客户端可以对压缩文件进行分片,并按照分片在压缩文件中从前到后的顺序(也即分片标识从小到大的顺序),进行分片内容的发送。
SPICE客户端在发送当前分片的分片内容后,可以等待后续消息,若接收到来自目标虚拟机的重发消息,则可以根据所述重发消息,向所述SPICE服务端重新发送所述当前分片的分片内容。若接收到来自目标虚拟机的成功写入消息,则可以进行下一个当前分片的分片内容的发送。
SPICE客户端在发送所述压缩文件包含的所有分片的分片内容后,可以向目标虚拟机发送完成消息。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
在上述实施例的基础上,本实施例还提供了一种传输装置,该装置可以应用于SPICE客户端;参照图6,该装置具体可以包括如下模块:
连接发送模块601,用于根据SPICE服务端的IP地址,向所述SPICE服务端发送连接请求;所述连接请求用于建立所述SPICE客户端与所述SPICE服务端之间的连接;
界面数据接收模块602,用于接收所述SPICE服务端发送的目标虚拟机的界面数据;所述SPICE客户端的客户端标识与所述目标虚拟机的虚拟机标识之间具有映射关系;所述目标虚拟机部署在所述SPICE服务端所在的物理机上;所述目标虚拟机与所述SPICE服务端之间基于虚拟网络进行通信;
界面展示模块603,用于对所述目标虚拟机的界面进行展示;所述界面中包括所述界面数据;
导入指令接收模块604,用于接收用户针对所述界面的导入指令;所述导入指令用于向所述目标虚拟机导入客户端本地的目标文件对象;
压缩模块605,用于在所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件;
压缩文件内容发送模块606,用于向所述SPICE服务端发送压缩文件内容。
可选地,所述装置还可以包括:
解码模块,用于对所述导入指令中包含的编码路径进行解码,以得到对应的解码路径;
判断模块,用于根据所述解码路径,判断所述导入指令对应的目标文件对象是否为文件夹。
可选地,所述压缩文件内容可以包括:压缩文件的当前分片的分片内容;所述当前分片为所述SPICE客户端对所述压缩文件对应的文件内容进行分片得到的一个分片;
所述装置还可以包括:
重发消息接收模块,用于接收所述SPICE服务端发送的重发消息;所述目标虚拟机在当前分片的分片内容的连续性检测和完整性检测中的任一不通过的情况下,发送所述重发消息;
重新发送模块,用于根据所述重发消息,向所述SPICE服务端重新发送所述当前分片的分片内容。
可选地,所述当前分片的分片内容被携带在文件内容消息中,所述文件内容消息还包括:当前分片的分片内容的分片标识;
则所述连续性检测包括:检测所述当前分片的分片内容的分片标识与上一个分片的分片内容的分片标识之间的连续性。
可选地,所述当前分片的分片内容被携带在文件内容消息中,所述文件内容消息还包括:当前分片的分片内容的第一信息摘要值;
所述完整性检测可以包括:针对接收到的当前分片的分片内容,进行信息摘要值的计算,并将得到的第二信息摘要值与文件内容消息中的第一信息摘要值进行匹配。
可选地,压缩模块605具体可以包括:
检测模块,用于检测用户是否具备文件导入权限;
文件夹压缩模块,用于在用户具备文件导入权限、且所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件。
可选地,所述装置还可以包括:
完成消息发送模块,用于在发送所述压缩文件包含的所有分片的分片内容后,向所述SPICE服务端发送完成消息。
在上述实施例的基础上,本实施例还提供了一种传输装置,该装置可以应用于简单协议独立计算环境SPICE服务端;参照图7,该装置具体可以包括如下模块:
连接请求接收模块701,用于接收SPICE客户端发送的连接请求;所述连接请求用于建立所述SPICE客户端与所述SPICE服务端之间的连接;
目标虚拟机确定模块702,用于根据客户端标识与虚拟机标识之间的映射关系,确定所述SPICE客户端的客户端标识对应的目标虚拟机;
界面数据发送模块703,用于向所述SPICE客户端发送目标虚拟机的界面数据;所述目标虚拟机部署在所述SPICE服务端所在的物理机上;所述目标虚拟机与所述SPICE服务端之间基于虚拟网络进行通信;所述SPICE客户端对所述目标虚拟机的界面进行展示,接收用户针对所述界面的导入指令;所述导入指令用于向所述目标虚拟机导入客户端本地的目标文件对象,并在所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件;
压缩文件内容中转模块704,用于接收所述SPICE客户端发送的压缩文件内容,并向所述目标虚拟机发送所述压缩文件内容。
可选地,所述压缩文件内容可以包括:压缩文件的当前分片的分片内容;所述当前分片为所述SPICE客户端对所述压缩文件对应的文件内容进行分片得到的一个分片;
所述装置还可以包括:
重发消息中转模块,用于接收所述目标虚拟机发送的重发消息,并向所述SPICE客户端所述重发消息;所述目标虚拟机在当前分片的分片内容的连续性检测和完整性检测中的任一不通过的情况下,发送所述重发消息。
可选地,所述当前分片的分片内容被携带在文件内容消息中,所述文件内容消息还可以包括:当前分片的分片内容的分片标识、和/或、当前分片的分片内容的第一信息摘要值、和/或、当前分片的分片内容相对于文件头的偏移信息。
在上述实施例的基础上,本实施例还提供了一种传输装置,该装置可以应用于目标虚拟机;参照图8,该装置具体可以包括如下模块:
界面数据发送模块801,用于向所述SPICE服务端发送界面数据;所述SPICE客户端的客户端标识与所述目标虚拟机的虚拟机标识之间具有映射关系;所述SPICE客户端对所述目标虚拟机的界面进行展示,接收用户针对所述界面的导入指令;所述导入指令用于向所述目标虚拟机导入客户端本地的目标文件对象,并在所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件;
压缩文件内容接收模块802,用于从所述SPICE服务端接收来自SPICE客户端的压缩文件内容;
创建模块803,用于在预设路径下创建以所述压缩文件的名称信息命名的压缩文件对象;
写入模块804,用于将压缩文件内容写入所述压缩文件对象。
可选地,所述压缩文件内容包括:压缩文件的当前分片的分片内容;所述当前分片为所述SPICE客户端对所述压缩文件对应的文件内容进行分片得到的一个分片;
所述装置还可以包括:
检测模块,用于对所述当前分片的分片内容进行连续性检测和完整性检测;
重发消息发送模块,用于在连续性检测和完整性检测中的任一不通过的情况下,向所述SPICE服务端发送重发消息。
可选地,所述当前分片的分片内容被携带在文件内容消息中,所述文件内容消息还包括:当前分片的分片内容的分片标识、和/或、当前分片的分片内容的第一信息摘要值、和/或、当前分片的分片内容相对于文件头的偏移信息。
可选地,所述装置还可以包括:
完成消息接收模块,用于接收来自所述SPICE客户端的完成消息;其中,所述SPICE客户端在发送所述压缩文件包含的所有分片的分片内容后,发送完成消息;
解压缩模块,用于对所述压缩文件对象进行解压缩,在解压缩过程中,若所述目标虚拟机对应的操作系统为预设操作系统、且所述压缩文件对象对应的文件夹下存在命名匹配问题,则输出对应的提示信息。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例中各方法步骤的指令(instructions)。
本申请实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本申请实施例中,所述电子设备包括终端设备、服务器(集群)等各类型的设备。
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括:终端设备、服务器(集群)等电子设备。图9示意性地示出了可被用于实现本申请中所述的各个实施例的示例性装置1100 。
对于一个实施例,图9示出了示例性装置1100,该装置具有一个或多个处理器1102、被耦合到(一个或多个)处理器1102中的至少一个的控制模块(芯片组)1104、被耦合到控制模块1104的存储器1106、被耦合到控制模块1104的非易失性存储器(NVM)/存储设备1108、被耦合到控制模块1104的一个或多个输入/输出设备1110,以及被耦合到控制模块1104的网络接口1112。
处理器1102可包括一个或多个单核或多核处理器,处理器1102可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置1100 能够作为本申请实施例中所述终端设备、服务器(集群)等设备。
在一些实施例中,装置1100 可包括具有指令1114的一个或多个计算机可读介质(例如,存储器1106或NVM/ 存储设备1108) 以及与该一个或多个计算机可读介质相合并被配置为执行指令1114以实现模块从而执行本公开中所述的动作的一个或多个处理器1102。
对于一个实施例,控制模块1104可包括任意适当的接口控制器,以向(一个或多个)处理器1102中的至少一个和/或与控制模块1104通信的任意适当的设备或组件提供任意适当的接口。
控制模块1104可包括存储器控制器模块,以向存储器1106提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
存储器1106可被用于例如为装置1100加载和存储数据和/或指令1114。对于一个实施例,存储器1106可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,存储器1106可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,控制模块1104可包括一个或多个输入/输出控制器,以向NVM/存储设备1108及(一个或多个)输入/输出设备1110 提供接口。
例如,NVM/存储设备1108可被用于存储数据和/或指令1114。NVM/存储设备1108可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD) 、一个或多个光盘(CD) 驱动器和/或一个或多个数字通用光盘(DVD) 驱动器)。
NVM/存储设备1108可包括在物理上作为装置1100 被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如, NVM/存储设备1108可通过网络经由(一个或多个)输入/输出设备1110 进行访问。
(一个或多个)输入/输出设备1110 可为装置1100 提供接口以与任意其他适当的设备通信,输入/输出设备1110可以包括通信组件、音频组件、传感器组件等。网络接口1112可为装置1100 提供接口以通过一个或多个网络通信,装置1100 可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi、2G、3G、4G、5G等,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器(例如,存储器控制器模块) 的逻辑封装在一起。对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例, (一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例, (一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,装置1100可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置1100 可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置1100包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
其中,检测装置中可采用主控芯片作为处理器或控制模块,传感器数据、位置信息等存储到存储器或NVM/存储设备中,传感器组可作为输入/输出设备,通信接口可包括网络接口。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种传输方法和装置、一种电子设备和一种机器可读介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (19)
1.一种传输方法,其特征在于,所述方法应用于简单协议独立计算环境SPICE客户端;所述方法包括:
根据SPICE服务端的IP地址,向所述SPICE服务端发送连接请求;所述连接请求用于建立所述SPICE客户端与所述SPICE服务端之间的连接;
接收所述SPICE服务端发送的目标虚拟机的界面数据;所述SPICE客户端的客户端标识与所述目标虚拟机的虚拟机标识之间具有映射关系;所述目标虚拟机部署在所述SPICE服务端所在的物理机上;所述目标虚拟机与所述SPICE服务端之间基于虚拟网络进行通信;
对所述目标虚拟机的界面进行展示;所述界面中包括所述界面数据;
接收用户针对所述界面的导入指令;所述导入指令用于向所述目标虚拟机导入客户端本地的目标文件对象;
在所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件;
向所述SPICE服务端发送压缩文件内容。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述导入指令中包含的编码路径进行解码,以得到对应的解码路径;
根据所述解码路径,判断所述导入指令对应的目标文件对象是否为文件夹。
3.根据权利要求1所述的方法,其特征在于,所述压缩文件内容包括:压缩文件的当前分片的分片内容;所述当前分片为所述SPICE客户端对所述压缩文件对应的文件内容进行分片得到的一个分片;
所述方法还包括:
接收所述SPICE服务端发送的重发消息;所述目标虚拟机在当前分片的分片内容的连续性检测和完整性检测中的任一不通过的情况下,发送所述重发消息;
根据所述重发消息,向所述SPICE服务端重新发送所述当前分片的分片内容。
4.根据权利要求3所述的方法,其特征在于,所述当前分片的分片内容被携带在文件内容消息中,所述文件内容消息还包括:当前分片的分片内容的分片标识;
则所述连续性检测包括:检测所述当前分片的分片内容的分片标识与上一个分片的分片内容的分片标识之间的连续性。
5.根据权利要求3所述的方法,其特征在于,所述当前分片的分片内容被携带在文件内容消息中,所述文件内容消息还包括:当前分片的分片内容的第一信息摘要值;
所述完整性检测包括:针对接收到的当前分片的分片内容,进行信息摘要值的计算,并将得到的第二信息摘要值与文件内容消息中的第一信息摘要值进行匹配。
6.根据权利要求1至5中任一所述的方法,其特征在于,所述在所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件,包括:
检测用户是否具备文件导入权限;
在用户具备文件导入权限、且所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件。
7.根据权利要求2至5中任一所述的方法,其特征在于,所述方法还包括:
在发送所述压缩文件包含的所有分片的分片内容后,向所述SPICE服务端发送完成消息。
8.一种传输方法,其特征在于,所述方法应用于简单协议独立计算环境SPICE服务端;所述方法包括:
接收SPICE客户端发送的连接请求;所述连接请求用于建立所述SPICE客户端与所述SPICE服务端之间的连接;
根据客户端标识与虚拟机标识之间的映射关系,确定所述SPICE客户端的客户端标识对应的目标虚拟机;
向所述SPICE客户端发送目标虚拟机的界面数据;所述目标虚拟机部署在所述SPICE服务端所在的物理机上;所述目标虚拟机与所述SPICE服务端之间基于虚拟网络进行通信;所述SPICE客户端对所述目标虚拟机的界面进行展示,接收用户针对所述界面的导入指令;所述导入指令用于向所述目标虚拟机导入客户端本地的目标文件对象,并在所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件;
接收所述SPICE客户端发送的压缩文件内容,并向所述目标虚拟机发送所述压缩文件内容,并向所述目标虚拟机发送所述压缩文件内容。
9.根据权利要求8所述的方法,其特征在于,所述压缩文件内容包括:压缩文件的当前分片的分片内容;所述当前分片为所述SPICE客户端对所述压缩文件对应的文件内容进行分片得到的一个分片;
所述方法还包括:
接收所述目标虚拟机发送的重发消息,并向所述SPICE客户端所述重发消息;所述目标虚拟机在当前分片的分片内容的连续性检测和完整性检测中的任一不通过的情况下,发送所述重发消息。
10.根据权利要求9所述的方法,其特征在于,所述当前分片的分片内容被携带在文件内容消息中,所述文件内容消息还包括:当前分片的分片内容的分片标识、和/或、当前分片的分片内容的第一信息摘要值、和/或、当前分片的分片内容相对于文件头的偏移信息。
11.一种传输方法,其特征在于,所述方法应用于遵循简单协议独立计算环境SPICE协议的目标虚拟机,所述目标虚拟机部署在SPICE服务端所在的物理机上,所述目标虚拟机与所述SPICE服务端之间基于虚拟网络进行通信;所述方法包括:
向所述SPICE服务端发送界面数据;SPICE客户端的客户端标识与所述目标虚拟机的虚拟机标识之间具有映射关系;所述SPICE客户端对所述目标虚拟机的界面进行展示,接收用户针对所述界面的导入指令;所述导入指令用于向所述目标虚拟机导入客户端本地的目标文件对象,并在所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件;
从所述SPICE服务端接收来自SPICE客户端的压缩文件内容;
在预设路径下创建以所述压缩文件的名称信息命名的压缩文件对象,并将压缩文件内容写入所述压缩文件对象。
12.根据权利要求11所述的方法,其特征在于,所述压缩文件内容包括:压缩文件的当前分片的分片内容;所述当前分片为所述SPICE客户端对所述压缩文件对应的文件内容进行分片得到的一个分片;
所述方法还包括:
对所述当前分片的分片内容进行连续性检测和完整性检测;
在连续性检测和完整性检测中的任一不通过的情况下,向所述SPICE服务端发送重发消息。
13.根据权利要求12所述的方法,其特征在于,所述当前分片的分片内容被携带在文件内容消息中,所述文件内容消息还包括:当前分片的分片内容的分片标识、和/或、当前分片的分片内容的第一信息摘要值、和/或、当前分片的分片内容相对于文件头的偏移信息。
14.根据权利要求11至13中任一所述的方法,其特征在于,所述方法还包括:
接收来自所述SPICE客户端的完成消息;其中,所述SPICE客户端在发送所述压缩文件包含的所有分片的分片内容后,发送完成消息;
对所述压缩文件对象进行解压缩,在解压缩过程中,若所述目标虚拟机对应的操作系统为预设操作系统、且所述压缩文件对象对应的文件夹下存在命名匹配问题,则输出对应的提示信息。
15.一种传输装置,其特征在于,所述装置应用于简单协议独立计算环境SPICE客户端;所述装置包括:
连接发送模块,用于根据SPICE服务端的IP地址,向所述SPICE服务端发送连接请求;所述连接请求用于建立所述SPICE客户端与所述SPICE服务端之间的连接;
界面数据接收模块,用于接收所述SPICE服务端发送的目标虚拟机的界面数据;所述SPICE客户端的客户端标识与所述目标虚拟机的虚拟机标识之间具有映射关系;所述目标虚拟机部署在所述SPICE服务端所在的物理机上;所述目标虚拟机与所述SPICE服务端之间基于虚拟网络进行通信;
界面展示模块,用于对所述目标虚拟机的界面进行展示;所述界面中包括所述界面数据;
导入指令接收模块,用于接收用户针对所述界面的导入指令;所述导入指令用于向所述目标虚拟机导入客户端本地的目标文件对象;
压缩模块,用于在所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件;
压缩文件内容发送模块,用于向所述SPICE服务端发送压缩文件内容。
16.一种传输装置,其特征在于,所述装置应用于简单协议独立计算环境SPICE服务端;所述装置包括:
连接请求接收模块,用于接收SPICE客户端发送的连接请求;所述连接请求用于建立所述SPICE客户端与所述SPICE服务端之间的连接;
目标虚拟机确定模块,用于根据客户端标识与虚拟机标识之间的映射关系,确定所述SPICE客户端的客户端标识对应的目标虚拟机;
界面数据发送模块,用于向所述SPICE客户端发送目标虚拟机的界面数据;所述目标虚拟机部署在所述SPICE服务端所在的物理机上;所述目标虚拟机与所述SPICE服务端之间基于虚拟网络进行通信;所述SPICE客户端对所述目标虚拟机的界面进行展示,接收用户针对所述界面的导入指令;所述导入指令用于向所述目标虚拟机导入客户端本地的目标文件对象,并在所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件;
压缩文件内容中转模块,用于接收所述SPICE客户端发送的压缩文件内容,并向所述目标虚拟机发送所述压缩文件内容。
17.一种传输装置,其特征在于,所述装置应用于遵循简单协议独立计算环境SPICE协议的目标虚拟机,所述目标虚拟机部署在SPICE服务端所在的物理机上,所述目标虚拟机与所述SPICE服务端之间基于虚拟网络进行通信;所述装置包括:
界面数据发送模块,用于向所述SPICE服务端发送界面数据;SPICE客户端的客户端标识与所述目标虚拟机的虚拟机标识之间具有映射关系;所述SPICE客户端对所述目标虚拟机的界面进行展示,接收用户针对所述界面的导入指令;所述导入指令用于向所述目标虚拟机导入客户端本地的目标文件对象,并在所述目标文件对象为文件夹的情况下,将所述文件夹压缩为压缩文件;
压缩文件内容接收模块,用于从所述SPICE服务端接收来自SPICE客户端的压缩文件内容;
创建模块,用于在预设路径下创建以所述压缩文件的名称信息命名的压缩文件对象;
写入模块,用于将压缩文件内容写入所述压缩文件对象。
18.一种电子设备,其特征在于,包括:处理器;和
存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求1-14中任一项所述的方法。
19.一种机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如权利要求1-14中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310042680.2A CN116074307A (zh) | 2023-01-28 | 2023-01-28 | 传输方法、装置、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310042680.2A CN116074307A (zh) | 2023-01-28 | 2023-01-28 | 传输方法、装置、电子设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116074307A true CN116074307A (zh) | 2023-05-05 |
Family
ID=86172820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310042680.2A Pending CN116074307A (zh) | 2023-01-28 | 2023-01-28 | 传输方法、装置、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116074307A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120218374A1 (en) * | 2011-02-24 | 2012-08-30 | Avaya, Inc. | System and method for assuring quality real-time communication experience in virtual machine |
WO2015192582A1 (zh) * | 2014-06-18 | 2015-12-23 | 中兴通讯股份有限公司 | 虚拟桌面登录验证方法和装置 |
CN105847332A (zh) * | 2016-03-17 | 2016-08-10 | 汉柏科技有限公司 | 桌面虚拟化方法、客户端设备和服务端设备 |
WO2016161749A1 (zh) * | 2015-04-10 | 2016-10-13 | 中兴通讯股份有限公司 | 数据传输方法、装置和系统 |
CN106851317A (zh) * | 2017-02-15 | 2017-06-13 | 福建时迅信息科技有限公司 | 一种提高图像数据传输速度的方法和系统 |
US20180198886A1 (en) * | 2015-06-15 | 2018-07-12 | Zte Corporation | Message transmission method and device |
CN115242783A (zh) * | 2022-09-22 | 2022-10-25 | 中科方德软件有限公司 | 传输方法、装置、电子设备和介质 |
-
2023
- 2023-01-28 CN CN202310042680.2A patent/CN116074307A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120218374A1 (en) * | 2011-02-24 | 2012-08-30 | Avaya, Inc. | System and method for assuring quality real-time communication experience in virtual machine |
WO2015192582A1 (zh) * | 2014-06-18 | 2015-12-23 | 中兴通讯股份有限公司 | 虚拟桌面登录验证方法和装置 |
WO2016161749A1 (zh) * | 2015-04-10 | 2016-10-13 | 中兴通讯股份有限公司 | 数据传输方法、装置和系统 |
US20180198886A1 (en) * | 2015-06-15 | 2018-07-12 | Zte Corporation | Message transmission method and device |
CN105847332A (zh) * | 2016-03-17 | 2016-08-10 | 汉柏科技有限公司 | 桌面虚拟化方法、客户端设备和服务端设备 |
CN106851317A (zh) * | 2017-02-15 | 2017-06-13 | 福建时迅信息科技有限公司 | 一种提高图像数据传输速度的方法和系统 |
CN115242783A (zh) * | 2022-09-22 | 2022-10-25 | 中科方德软件有限公司 | 传输方法、装置、电子设备和介质 |
Non-Patent Citations (1)
Title |
---|
程良 等: ""基于SPICE协议的USB重定向数据压缩方法研究"", 《昆明理工大学学报(自然科学版)》, pages 1 - 3 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021164178A1 (zh) | 基于云技术的文件分片上传方法、装置、设备及存储介质 | |
CN105794173B (zh) | 数据传送优化 | |
CA2969741C (en) | Volume-level redundancy coding techniques for sequential transfer optimized storage devices | |
WO2019075978A1 (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
US20160224609A1 (en) | Data replication from a cloud-based storage resource | |
US9519699B1 (en) | Consistency of query results in a distributed system | |
US10587714B1 (en) | Method for aggregating distributed data | |
GB2502407A (en) | Listing data files from a local and a remote location | |
CN111935227A (zh) | 通过浏览器上传文件的方法、浏览器和电子设备 | |
US20170011049A1 (en) | Attribute analyzer for data backup | |
CN112612977A (zh) | 一种页面显示方法、系统、装置、设备及存储介质 | |
WO2015027430A1 (zh) | 服务器和文件分享方法 | |
WO2013097812A1 (zh) | 一种下载字库文件的方法和系统 | |
CN114817969A (zh) | 网盘盘符文件预览方法、装置、终端及存储介质 | |
CN115242783B (zh) | 传输方法、装置、电子设备和介质 | |
US10834164B2 (en) | Virtualizing audio and video devices using synchronous A/V streaming | |
CN105162831A (zh) | 用于实现远程虚拟桌面的移动端和服务端操作方法及装置 | |
CN116074307A (zh) | 传输方法、装置、电子设备和介质 | |
KR101769315B1 (ko) | 클라우드 서버 기반 폴더 내 파일명 자동 변환 방법 및 장치 | |
US11698809B1 (en) | Systems and methods for real-time file storage and retrieval | |
CN110719499A (zh) | 视频下载方法、系统、介质和电子设备 | |
US10977238B2 (en) | Validity map-based tracking of user data updates | |
US10965781B2 (en) | Method and server for displaying access content | |
CN104573518A (zh) | 文件扫描方法、装置、服务器及系统 | |
CN111447490A (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: 20230505 |