CN105389096A - 基于浏览器的数据交互方法及装置 - Google Patents
基于浏览器的数据交互方法及装置 Download PDFInfo
- Publication number
- CN105389096A CN105389096A CN201510708042.5A CN201510708042A CN105389096A CN 105389096 A CN105389096 A CN 105389096A CN 201510708042 A CN201510708042 A CN 201510708042A CN 105389096 A CN105389096 A CN 105389096A
- Authority
- CN
- China
- Prior art keywords
- data
- browser
- copy
- virtual
- virtual machine
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45529—Embedded in an application, e.g. JavaScript in a Web browser
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种基于浏览器的数据交互方法,包括步骤:浏览器接收基于数据文件的拷贝请求;所述浏览器在接收到基于数据文件的拷贝请求后,且在所述拷贝请求为将物理数据拷贝为虚拟数据时,拷贝基于所述拷贝请求的物理数据;所述浏览器将所述拷贝到的物理数据透传至虚拟机,以供所述虚拟机在其本地生成与所述物理数据对应的虚拟数据。本发明还公开了一种基于浏览器的数据交互装置。本发明快捷的实现从物理端到虚拟端的数据传输,减少网络配置的繁琐操作,提高数据传输效率。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及基于浏览器的数据交互方法及装置。
背景技术
在VMP(VirtualizationManagementPlatform,虚拟化管理平台)的管理中,对VM(虚拟机)的访问一般是通过控制台进行,若需拷贝文件到VM(P2V,物理终端至虚拟机),或者从VM拷贝数据到PC(V2P,虚拟机至物理终端),有如下几种方式:
共享文件方式,通过共享目录完成文件拷贝。
远程桌面方式,通过远程桌面的数据共享功能完成。
然而,上述的两种VM与PC之间的数据传输,都需要对VM进行网络配置,才能实现数据从PC端到VM端的传输,使得数据传输效率差。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种基于浏览器的数据交互方法及装置,旨在解决现有的VM与PC之间的数据传输,都需要对VM进行网络配置,才能实现数据从PC端到VM端的传输,使得数据传输效率差的问题。
为实现上述目的,本发明提供一种基于浏览器的数据交互方法,包括步骤:
浏览器接收基于数据文件的拷贝请求;
所述浏览器在接收到基于数据文件的拷贝请求后,且在所述拷贝请求为将物理数据拷贝为虚拟数据时,拷贝基于所述拷贝请求的物理数据;
所述浏览器将所述拷贝到的物理数据透传至虚拟机,以供所述虚拟机在其本地生成与所述物理数据对应的虚拟数据。
优选地,所述浏览器接收基于数据文件的拷贝请求的步骤之后,还包括:
在所述拷贝请求为将虚拟数据拷贝为物理数据时,所述浏览器通过透传的方式从虚拟机获取所述拷贝请求对应的虚拟数据;
所述浏览器将所述虚拟数据拷贝至对应的物理终端上,以实现虚拟机至物理终端的数据交互。
优选地,所述浏览器通过透传的方式从虚拟机获取所述拷贝请求对应的虚拟数据的步骤包括:
所述浏览器向服务器发送虚拟数据请求,以供所述服务器向虚拟机确认是否存在虚拟数据等待下载;
在存在虚拟数据等待下载时,所述浏览器通过所述服务器向所述虚拟机透传虚拟数据,以获取所述拷贝请求对应的虚拟数据。
优选地,所述浏览器接收基于所述拷贝请求的物理数据的步骤之前,还包括:
在所述拷贝请求对应的操作为基于数据文件的拖拽操作时,所述浏览器获取所述拖拽操作的目的位置;
在所述目的位置为所述浏览器窗体之内时,判断所述拷贝请求为将物理数据拷贝为虚拟数据的拷贝请求;
在所述目的位置为所述浏览器窗体之外时,判断所述拷贝请求为将虚拟数据拷贝为物理数据的拷贝请求。
优选地,所述方法包括:
所述浏览器在将所述接收到的物理数据透传至虚拟机的过程中,显示所述物理数据透传的进度。
优选地,所述方法包括:
所述浏览器接收虚拟机启动指令,启动至少两个虚拟机页面;
所述浏览器接收基于虚拟机的文件拷贝指令,将文件从一个虚拟机页面拷贝至另一个虚拟机页面,所述拷贝指令为拖拽操作。
此外,为实现上述目的,本发明还提供一种基于浏览器的数据交互装置,包括:
接收模块,用于接收基于数据文件的拷贝请求;
拷贝模块,用于在接收到基于数据文件的拷贝请求后,且在所述拷贝请求为将物理数据拷贝为虚拟数据时,拷贝基于所述拷贝请求的物理数据;
透传模块,用于将所述拷贝到的物理数据透传至虚拟机,以供所述虚拟机在其本地生成与所述物理数据对应的虚拟数据。
优选地,所述基于浏览器的数据交互装置还包括:
获取模块,用于在所述拷贝请求为将虚拟数据拷贝为物理数据时,通过透传的方式从虚拟机获取所述拷贝请求对应的虚拟数据;
所述拷贝模块,还用于将所述虚拟数据拷贝至对应的物理终端上,以实现虚拟机至物理终端的数据交互。
优选地,所述基于浏览器的数据交互装置还包括:
发送模块,用于向服务器发送虚拟数据请求,以供所述服务器向虚拟机确认是否存在虚拟数据等待下载;
所述透传模块,还用于在存在虚拟数据等待下载时,通过所述服务器向所述虚拟机透传虚拟数据,以获取所述拷贝请求对应的虚拟数据。
优选地,所述基于浏览器的数据交互装置还包括:
所述获取模块,还用于在所述拷贝请求对应的操作为基于数据文件的拖拽操作时,获取所述拖拽操作的目的位置;
判断模块,用于在所述目的位置为所述浏览器窗体之内时,判断所述拷贝请求为将物理数据拷贝为虚拟数据的拷贝请求;
所述判断模块,还用于在所述目的位置为所述浏览器窗体之外时,判断所述拷贝请求为将虚拟数据拷贝为物理数据的拷贝请求。
优选地,所述基于浏览器的数据交互装置还包括:
显示模块,用于在将所述接收到的物理数据透传至虚拟机的过程中,显示所述物理数据透传的进度。
优选地,所述基于浏览器的数据交互装置还包括启动模块,
所述接收模块,还用于接收虚拟机打开指令;
所述启动模块,用于启动至少两个虚拟机页面;
所述接收模块,还用于接收基于虚拟机的文件拷贝指令;
所述拷贝模块,还用于将文件从一个虚拟机页面拷贝至另一个虚拟机页面,所述拷贝指令为拖拽操作。
本发明通过基于数据文件的拷贝请求,在所述拷贝请求为将物理数据拷贝为虚拟数据时,将PC上的物理数据以类似拷贝的方式拷贝至浏览器窗体之内,进而透传至虚拟机。快捷的实现从物理端到虚拟端的数据传输,减少网络配置的繁琐操作,提高数据传输效率。
附图说明
图1为本发明基于浏览器的数据交互方法的第一实施例的流程示意图;
图2为本发明一实施例判断所述拷贝请求类型的流程示意图;
图3为本发明数据拷贝一实施例的流程示意图;
图4为本发明一实施例数据从PC传输至VM的流程示意图;
图5为本发明基于浏览器的数据交互方法的第二实施例的流程示意图;
图6为本发明一实施例通过透传的方式从虚拟机获取所述拷贝请求对应的虚拟数据的流程示意图;
图7为本发明一实施例数据从VM传输至PC的流程示意图;
图8为本发明基于浏览器的数据交互方法的第三实施例的流程示意图;
图9为本发明基于浏览器的数据交互装置的第一实施例的功能模块示意图;
图10为本发明基于浏览器的数据交互装置的第二实施例的功能模块示意图;
图11为本发明基于浏览器的数据交互装置的第三实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:浏览器接收基于数据文件的拷贝请求;所述浏览器在接收到基于数据文件的拷贝请求后,且在所述拷贝请求为将物理数据拷贝为虚拟数据时,拷贝基于所述拷贝请求的物理数据;所述浏览器将所述拷贝到的物理数据透传至虚拟机,以供所述虚拟机在其本地生成与所述物理数据对应的虚拟数据。通过基于数据文件的拷贝请求,在所述拷贝请求为将物理数据拷贝为虚拟数据时,将PC上的物理数据以类似拷贝的方式拷贝至浏览器窗体之内,进而透传至虚拟机,快捷的实现从物理端到虚拟端的数据传输,减少网络配置的繁琐操作,提高数据传输效率。
由于现有的VM与PC之间的数据传输,都需要对VM进行网络配置,才能实现数据从PC端到VM端的传输,使得数据传输效率差的问题。
基于上述问题,本发明提供一种浏览器的数据交互方法。
为了更好的描述本发明实施例,先对本发明实施例所需要用到的名词进行解释,如下所述:
P2V:物理终端到虚拟机,即,PhysicaltoVirtual,简称P2V。它是指将操作系统、应用程序或者数据从计算机的物理硬盘中迁移到一个虚拟环境中或是磁盘分区中,在本发明实施例中,迁移的特指数据。
V2P:虚拟机到物理终端,即,VirtualtoPhysical,为P2V的逆过程。
浏览器:浏览器是指可以显示网页服务器或者文件系统的HTML文件(标准通用标记语言的一个应用)内容,并让用户与这些文件交互的一种软件。它用来显示在万维网或局域网等内的文字、图像及其他信息。在本发明实施例中,浏览器承载了显示虚拟机控制台的功能,即为V端。
AJAX:即,AsynchronousJavaScriptandXML(异步的javascript与xml技术),指的是一种创建交互式网页应用的网页开发技术。通过在后台与服务器进行少量数据交换,ajax可以使网页实现异步更新。
PC:个人计算机,由硬件系统和软件系统组成,是一种能独立运行,完成特定功能的设备。在本发明实施例中,指浏览器的宿主操作系统,具备物理数据存储功能,即P端。
VM:虚拟机(VirtualMachine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
VMP:虚拟化管理平台,即,VirtualizationManagementPlatform,简称VMP。它是指将应用程序和操作系统从底层硬件分离出来,现有的应用程序可以看到专有资源,而服务器则可以作为资源池进行管理,进而简化IT操作的平台。
控制台,console,本发明实施例中指以在浏览器中对VM进行访问的窗体载体。在本发明实施例中,在通过Web访问VM控制台的数据传输体验过程中,例如,用户在利用PC借助浏览器访问VM时,会产生数据从PC到VM或数据从VM到PC的过程。所述数据传输为物理数据到虚拟数据或虚拟数据到物理数据的过程。
参照图1,图1为本发明基于浏览器的数据交互方法的第一实施例的流程示意图。
在一实施例中,所述基于浏览器的数据交互方法包括:
步骤S10,浏览器接收基于数据文件的拷贝请求;
在本实施例中,所述触发基于数据文件的拷贝请求的方式包括:基于数据文件的拖拽操作。在所述基于数据文件的拷贝请求触发时,浏览器接收基于数据文件的拷贝请求。所述拷贝请求对应的数据中包括需要拷贝的数据文件及数据文件内容,所述数据文件包括数据文件的名称、属性等,所述数据文件的属性包括数据文件所占的存储空间、所述数据文件的概要内容等。所述拷贝请求的类型包括从PC拷贝数据到VM的拷贝请求类型或从VM拷贝数据到PC的拷贝请求类型。
步骤S20,所述浏览器在接收到基于数据文件的拷贝请求后,且在所述拷贝请求为将物理数据拷贝为虚拟数据时,拷贝基于所述拷贝请求的物理数据;
所述浏览器在接收到基于数据文件的拷贝请求后,判断所述拷贝请求的类型。具体的,参考图2,所述判断所述拷贝请求类型的过程包括:
步骤S00,在所述拷贝请求对应的操作为基于数据文件的拖拽操作时,所述浏览器获取所述拖拽操作的目的位置;
步骤S01,在所述目的位置为所述浏览器窗体之内时,判断所述拷贝请求为将物理数据拷贝为虚拟数据的拷贝请求;即所述拷贝请求为从PC拷贝数据到VM的拷贝请求类型。
步骤S02,在所述目的位置为所述浏览器窗体之外时,判断所述拷贝请求为将虚拟数据拷贝为物理数据的拷贝请求。即所述拷贝请求为从VM拷贝数据到PC的拷贝请求类型。
在所述拷贝请求的类型为将物理数据拷贝为虚拟数据时,即为从PC拷贝数据到VM的拷贝请求类型时,所述PC基于所述拷贝请求将待拷贝的物理数据拷贝至浏览器的窗体内,所述浏览器拷贝基于所述拷贝请求的物理数据。例如,参考图3,为数据拷贝示意图,在基于拖拽操作将物理数据从PC拖拽至浏览器窗体内时,在所述拖拽操作被释放后,物理数据被拷贝至浏览器,即为浏览器拷贝基于所述拷贝请求的物理数据的过程。
步骤S30,所述浏览器将所述拷贝到的物理数据透传至虚拟机,以供所述虚拟机在其本地生成与所述物理数据对应的虚拟数据。
在所述浏览器接收到所述物理数据后,所述浏览器将所述接收到的物理数据透传至虚拟机,以供所述虚拟机在其本地生成与所述物理数据对应的虚拟数据。具体的透传过程包括:从浏览器往服务器发送请求和传输数据,通过ajax等通信方式将浏览器接收到的物理数据提交给VMP后台,VMP接收到了浏览器的请求,只需找到对应的虚拟机进程,往该进程透传数据即可,具体的透传实现技术在此不展开讨论,在VMP技术中已有成熟应用,并不存在实现障碍。所述浏览器在将所述接收到的物理数据透传至虚拟机的过程中,显示所述物理数据透传的进度,且通过VNC(VirtualNetworkComputer,虚拟网络计算机)实时反馈物理数据传送至虚拟机的画面,即通过VNC实时反馈物理数据被拷贝至虚拟机的过程,以供用户能实时了解到数据传输进展。
所述虚拟机接收到透传过来的数据,会在虚拟机相应的拷贝位置上生成与所述物理数据对应的虚拟数据,完成数据拷贝至虚拟机的过程。
为了更好的描述本发明实施例中将数据从PC传输至VM的过程,参考图4,包括:
1、拖拽文件到浏览器;在第1步中,拖拽行为对于大部分PC用户来说,是极为普通的操作,文件是可视化的,用户只需要用像拖拽文件到另一个文件夹那样的操作,即可完成第1步的操作。2、浏览器往服务器发送文件;释放鼠标后,浏览器会接收到一个拖放事件,事件会带上用户的拖拽数据(需要现代浏览器支持,例如chrome、firefox等),从浏览器往服务器发送请求和传输数据,也是最基本的通信行为,并无技术难度。可以把拖拽事件带过来的数据以ajax等通信方式提交给VMP后台。3、服务器往对应的虚拟机进行透传数据;第3步中,VMP接收到了浏览器的请求,只需找到对应的虚拟机进程,往该进程头传输数据即可,具体的透传实现的技术细节不展开讨论,在VMP中已有成熟应用,并不存在实现障碍。4、虚拟机接收透传数据;在第4步中,虚拟机接收到透传过来的数据,对于相应指令的反馈,就相当于接收到个文件拷贝的指令一样,做出文件拷贝的反馈,并且有进度。5、VNC实时反馈文件传送画面;最后,基于VNC的实时画面反馈,就可以看到文件在传输,并且传输完成后,会在相应的位置产生本地拖拽文件的一份拷贝。
本实施例通过基于数据文件的拷贝请求,在所述拷贝请求为将物理数据拷贝为虚拟数据时,将PC上的物理数据以类似拷贝的方式拷贝至浏览器窗体之内,进而透传至虚拟机。有效避免现有的VM与PC之间的数据传输,都需要对VM进行网络配置,才能实现数据从PC端到VM端的传输,使得数据传输效率差的问题。快捷的实现从物理端到虚拟端的数据传输,减少网络配置的繁琐操作,提高数据传输效率。
参照图5,图5为本发明基于浏览器的数据交互方法的第二实施例的流程示意图。基于上述基于浏览器的数据交互方法的第一实施例,所述步骤S10之后,还包括:
步骤S40,在所述拷贝请求为将虚拟数据拷贝为物理数据时,所述浏览器通过透传的方式从虚拟机获取所述拷贝请求对应的虚拟数据;
步骤S50,所述浏览器将所述虚拟数据拷贝至对应的物理终端上,以实现虚拟机至物理终端的数据交互。
在本实施例中,在所述拷贝请求为将虚拟数据拷贝为物理数据时,所述浏览器通过透传的方式从虚拟机获取所述拷贝请求对应的虚拟数据。
具体的,参考图6,所述浏览器通过透传的方式从虚拟机获取所述拷贝请求对应的虚拟数据的步骤包括:步骤S41,所述浏览器向服务器发送虚拟数据请求,以供所述服务器向虚拟机确认是否存在虚拟数据等待下载;步骤S42,在存在虚拟数据等待下载时,所述浏览器通过所述服务器向所述虚拟机透传虚拟数据,以获取所述拷贝请求对应的虚拟数据。鼠标拖拽操作为例,用户基于鼠标拖拽虚拟机中的虚拟数据,用户在浏览器外释放鼠标时,浏览器发出请求,询问服务器是否有文件在拖拽状态,而服务器是不知道的,同样服务器需要发送请求给虚拟机进程,返回确认结果,一旦服务器确认有文件等待下载,那么这个请求从一个询问请求转变为下载文件请求,否则,只是个状态请求。在所述询问请求转变为下载文件请求后,服务器会向虚拟机请求透传数据,把对应文件的数据获取过来。所述浏览器将所述虚拟数据拷贝至对应的物理终端上,以实现虚拟机至物理终端的数据交互。
为了更好的描述本发明实施例中将数据从VM传输至PC的过程,参考图7,包括:
100、虚拟机中拖拽文件;在第100步中,因为是通过浏览器操作的,因而可以判定鼠标是否在浏览器视窗外,只需用户接入,在虚拟机中拖拽文件到浏览器外。200、浏览器中判定鼠标是否在当前视窗外;用户在浏览器外释放鼠标时,浏览器发出请求,询问服务器是否有文件在拖拽状态,而服务器是不知道的,同样服务器需要发送请求给虚拟机进程,返回确认结果。300、鼠标在视窗外则告知服务器下载文件;一旦服务器确认有文件等待下载,那么这个请求从一个询问请求转变为下载文件请求,否则,只是个状态请求。400、服务器向虚拟机请求文件数据;接下来,服务器会向虚拟机请求透传数据,把对应文件的数据获取过来,返回给用户。500、服务器下载文件;最终呈现给用户的,就像是从网页上下载了一个文件到本地。
本实施例通过基于数据文件的拷贝请求,在所述拷贝请求为将物理数据拷贝为虚拟数据时,将虚拟机上的虚拟数据以类似拷贝的方式拷贝至PC上。有效避免现有的VM与PC之间的数据传输,都需要对VM进行网络配置,才能实现数据从PC端到VM端的传输,使得数据传输效率差的问题。快捷的实现从物理端到虚拟端的数据传输,减少网络配置的繁琐操作,提高数据传输效率。
参照图8,图8为本发明基于浏览器的数据交互方法的第三实施例的流程示意图。基于上述基于浏览器的数据交互方法的第一或第二实施例,所述方法还包括:
步骤S60,所述浏览器接收虚拟机启动指令,启动至少两个虚拟机页面;
步骤S70,所述浏览器接收基于虚拟机的文件拷贝指令,将文件从一个虚拟机页面拷贝至另一个虚拟机页面,所述拷贝指令为拖拽操作。
在本实施例中,所述浏览器侦测并接收虚拟机启动指令,在接收到虚拟机启动指令后,启动至少两个虚拟机页面;所述浏览器接收基于虚拟机的文件拷贝指令,将文件从一个虚拟机页面拷贝至另一个虚拟机页面,所述拷贝指令为拖拽操作。即,基于两个虚拟机界面的拖拽操作将文件从一个虚拟机界面直接拷贝至另一个虚拟机界面。所述在两个虚拟机之间的文件拷贝操作与上述第一或第二实施例中物理终端到虚拟机或虚拟机到物理终端的过程类似,在此不再赘述。本实施例通过拖拽操作完成两个虚拟机之间的文件拷贝操作,快捷的实现从虚拟机之间的数据传输,减少网络配置的繁琐操作,提高数据传输效率。
上述第一至第三实施例的基于浏览器的数据交互方法的执行主体均可以终端或浏览器。更进一步地,该基于浏览器的数据交互方法可以由安装在终端上的客户端基于浏览器的数据交互程序实现,其中,该终端包括但不限于手机、pad、笔记本电脑等。
本发明进一步提供一种基于浏览器的数据交互装置。
参照图9,图9为本发明基于浏览器的数据交互装置的第一实施例的功能模块示意图。
在一实施例中,所述基于浏览器的数据交互装置包括:接收模块10、拷贝模块20、判断模块30、获取模块40、透传模块50及显示模块60。
所述接收模块10,用于接收基于数据文件的拷贝请求;
在本实施例中,所述触发基于数据文件的拷贝请求的方式包括:基于数据文件的拖拽操作。在所述基于数据文件的拷贝请求触发时,接收模块10接收基于数据文件的拷贝请求。所述拷贝请求对应的数据包括需要拷贝的数据文件及数据文件内容,所述数据文件包括数据文件的名称、属性等,所述数据文件的属性包括数据文件所占的存储空间、所述数据文件的概要内容等。所述拷贝请求的类型包括从PC拷贝数据到VM的拷贝请求类型或从VM拷贝数据到PC的拷贝请求类型。
所述拷贝模块20,用于在接收到基于数据文件的拷贝请求后,且在所述拷贝请求为将物理数据拷贝为虚拟数据时,拷贝基于所述拷贝请求的物理数据;
判断模块30,用于在接收到基于数据文件的拷贝请求后,判断所述拷贝请求的类型。
所述获取模块40,用于在所述拷贝请求对应的操作为基于数据文件的拖拽操作时,获取所述拖拽操作的目的位置;
所述判断模块30,还用于在所述目的位置为所述浏览器窗体之内时,判断所述拷贝请求为将物理数据拷贝为虚拟数据的拷贝请求;即所述拷贝请求为从PC拷贝数据到VM的拷贝请求类型。
所述判断模块30,还用于在所述目的位置为所述浏览器窗体之外时,判断所述拷贝请求为将虚拟数据拷贝为物理数据的拷贝请求。即所述拷贝请求为从VM拷贝数据到PC的拷贝请求类型。
在所述拷贝请求的类型为将物理数据拷贝为虚拟数据时,即为从PC拷贝数据到VM的拷贝请求类型时,所述PC基于所述拷贝请求将待拷贝的物理数据拷贝至浏览器的窗体内,拷贝模块20拷贝基于所述拷贝请求的物理数据。例如,参考图3,为数据拷贝示意图,在基于拖拽操作将物理数据从PC拖拽至浏览器窗体内时,在所述拖拽操作被释放后,物理数据被拷贝至浏览器,即为浏览器拷贝基于所述拷贝请求的物理数据的过程。
所述透传模块50,用于将所述拷贝到的物理数据透传至虚拟机,以供所述虚拟机在其本地生成与所述物理数据对应的虚拟数据。
在所述浏览器接收到所述物理数据后,透传模块50将所述接收到的物理数据透传至虚拟机,以供所述虚拟机在其本地生成与所述物理数据对应的虚拟数据。具体的透传过程包括:从浏览器往服务器发送请求和传输数据,通过ajax等通信方式将浏览器接收到的物理数据提交给VMP后台,VMP接收到了浏览器的请求,只需找到对应的虚拟机进程,往该进程透传数据即可,具体的透传实现技术在此不展开讨论,在VMP技术中已有成熟应用,并不存在实现障碍。
所述显示模块60,用于在将所述接收到的物理数据透传至虚拟机的过程中,显示所述物理数据透传的进度,且通过VNC实时反馈物理数据传送至虚拟机的画面,即通过VNC实时反馈物理数据被拷贝至虚拟机的过程,以供用户能实时了解到数据传输进展。
所述虚拟机接收到透传过来的数据,会在虚拟机相应的拷贝位置上生成与所述物理数据对应的虚拟数据,完成数据拷贝至虚拟机的过程。
为了更好的描述本发明实施例中将数据从PC传输至VM的过程,参考图4,包括:
1、拖拽文件到浏览器;在第1步中,拖拽行为对于大部分PC用户来说,是极为普通的操作,文件是可视化的,用户只需要用像拖拽文件到另一个文件夹那样的操作,即可完成第1步的操作。2、浏览器往服务器发送文件;释放鼠标后,浏览器会接收到一个拖放事件,事件会带上用户的拖拽数据(需要现代浏览器支持,例如chrome、firefox等),从浏览器往服务器发送请求和传输数据,也是最基本的通信行为,并无技术难度。可以把拖拽事件带过来的数据以ajax等通信方式提交给VMP后台。3、服务器往对应的虚拟机进行透传数据;第3步中,VMP接收到了浏览器的请求,只需找到对应的虚拟机进程,往该进程头传输数据即可,具体的透传实现的技术细节不展开讨论,在VMP中已有成熟应用,并不存在实现障碍。4、虚拟机接收透传数据;在第4步中,虚拟机接收到透传过来的数据,对于相应指令的反馈,就相当于接收到个文件拷贝的指令一样,做出文件拷贝的反馈,并且有进度。5、VNC实时反馈文件传送画面;最后,基于VNC的实时画面反馈,就可以看到文件在传输,并且传输完成后,会在相应的位置产生本地拖拽文件的一份拷贝。
本实施例通过基于数据文件的拷贝请求,在所述拷贝请求为将物理数据拷贝为虚拟数据时,将PC上的物理数据以类似拷贝的方式拷贝至浏览器窗体之内,进而透传至虚拟机。有效避免现有的VM与PC之间的数据传输,都需要对VM进行网络配置,才能实现数据从PC端到VM端的传输,使得数据传输效率差的问题。快捷的实现从物理端到虚拟端的数据传输,减少网络配置的繁琐操作,提高数据传输效率。
参照图10,图10为本发明基于浏览器的数据交互装置的第二实施例的功能模块示意图。所述基于浏览器的数据交互装置还包括:发送模块70,
所述获取模块40,还用于在所述拷贝请求为将虚拟数据拷贝为物理数据时,通过透传的方式从虚拟机获取所述拷贝请求对应的虚拟数据;
所述拷贝模块20,还用于浏览器将所述虚拟数据拷贝至对应的物理终端上,以实现虚拟机至物理终端的数据交互。
在本实施例中,在所述拷贝请求为将虚拟数据拷贝为物理数据时,透传模块50通过透传的方式从虚拟机获取所述拷贝请求对应的虚拟数据。
所述发送模块70,用于向服务器发送虚拟数据请求,以供所述服务器向虚拟机确认是否存在虚拟数据等待下载;所述透传模块50,还用于在存在虚拟数据等待下载时,通过所述服务器向所述虚拟机透传虚拟数据,以获取所述拷贝请求对应的虚拟数据。鼠标拖拽操作为例,用户基于鼠标拖拽虚拟机中的虚拟数据,用户在浏览器外释放鼠标时,浏览器发出请求,询问服务器是否有文件在拖拽状态,而服务器是不知道的,同样服务器需要发送请求给虚拟机进程,返回确认结果,一旦服务器确认有文件等待下载,那么这个请求从一个询问请求转变为下载文件请求,否则,只是个状态请求。在所述询问请求转变为下载文件请求后,服务器会向虚拟机请求透传数据,把对应文件的数据获取过来。所述浏览器将所述虚拟数据拷贝至对应的物理终端上,以实现虚拟机至物理终端的数据交互。
为了更好的描述本发明实施例中将数据从VM传输至PC的过程,参考图7,包括:
1、虚拟机中拖拽文件;在第1步中,因为是通过浏览器操作的,因而可以判定鼠标是否在浏览器视窗外,只需用户接入,在虚拟机中拖拽文件到浏览器外。2、浏览器中判定鼠标是否在当前视窗外;用户在浏览器外释放鼠标时,浏览器发出请求,询问服务器是否有文件在拖拽状态,而服务器是不知道的,同样服务器需要发送请求给虚拟机进程,返回确认结果。3、鼠标在视窗外则告知服务器下载文件;一旦服务器确认有文件等待下载,那么这个请求从一个询问请求转变为下载文件请求,否则,只是个状态请求。4、服务器向虚拟机请求文件数据;接下来,服务器会向虚拟机请求透传数据,把对应文件的数据获取过来,返回给用户。5、服务器下载文件;最终呈现给用户的,就像是从网页上下载了一个文件到本地。
本实施例通过基于数据文件的拷贝请求,在所述拷贝请求为将物理数据拷贝为虚拟数据时,将虚拟机上的虚拟数据以类似拷贝的方式拷贝至PC上。有效避免现有的VM与PC之间的数据传输,都需要对VM进行网络配置,才能实现数据从PC端到VM端的传输,使得数据传输效率差的问题。快捷的实现从物理端到虚拟端的数据传输,减少网络配置的繁琐操作,提高数据传输效率。
参照图11,图11为本发明基于浏览器的数据交互装置的第三实施例的功能模块示意图。所述基于浏览器的数据交互装置还包括:启动模块80,
所述接收模块10,还用于接收虚拟机启动指令;
所述启动模块80,用于启动至少两个虚拟机页面;
所述接收模块10,还用于接收基于虚拟机的文件拷贝指令;
所述拷贝模块20,还用于将文件从一个虚拟机页面拷贝至另一个虚拟机页面,所述拷贝指令为拖拽操作。
在本实施例中,所述浏览器侦测并接收虚拟机启动指令,在接收到虚拟机启动指令后,启动至少两个虚拟机页面;所述浏览器接收基于虚拟机的文件拷贝指令,将文件从一个虚拟机页面拷贝至另一个虚拟机页面,所述拷贝指令为拖拽操作。即,基于两个虚拟机界面的拖拽操作将文件从一个虚拟机界面直接拷贝至另一个虚拟机界面。所述在两个虚拟机之间的文件拷贝操作与上述第一或第二实施例中物理终端到虚拟机或虚拟机到物理终端的过程类似,在此不再赘述。本实施例通过拖拽操作完成两个虚拟机之间的文件拷贝操作,快捷的实现从虚拟机之间的数据传输,减少网络配置的繁琐操作,提高数据传输效率。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种基于浏览器的数据交互方法,其特征在于,包括步骤:
浏览器接收基于数据文件的拷贝请求;
所述浏览器在接收到基于数据文件的拷贝请求后,且在所述拷贝请求为将物理数据拷贝为虚拟数据时,拷贝基于所述拷贝请求的物理数据;
所述浏览器将所述拷贝到的物理数据透传至虚拟机,以供所述虚拟机在其本地生成与所述物理数据对应的虚拟数据。
2.如权利要求1所述的基于浏览器的数据交互方法,其特征在于,所述浏览器接收基于数据文件的拷贝请求的步骤之后,还包括:
在所述拷贝请求为将虚拟数据拷贝为物理数据时,所述浏览器通过透传的方式从虚拟机获取所述拷贝请求对应的虚拟数据;
所述浏览器将所述虚拟数据拷贝至对应的物理终端上,以实现虚拟机至物理终端的数据交互。
3.如权利要求2所述的基于浏览器的数据交互方法,其特征在于,所述浏览器通过透传的方式从虚拟机获取所述拷贝请求对应的虚拟数据的步骤包括:
所述浏览器向服务器发送虚拟数据请求,以供所述服务器向虚拟机确认是否存在虚拟数据等待下载;
在存在虚拟数据等待下载时,所述浏览器通过所述服务器向所述虚拟机透传虚拟数据,以获取所述拷贝请求对应的虚拟数据。
4.如权利要求1所述的基于浏览器的数据交互方法,其特征在于,所述浏览器接收基于所述拷贝请求的物理数据的步骤之前,还包括:
在所述拷贝请求对应的操作为基于数据文件的拖拽操作时,所述浏览器获取所述拖拽操作的目的位置;
在所述目的位置为所述浏览器窗体之内时,判断所述拷贝请求为将物理数据拷贝为虚拟数据的拷贝请求;
在所述目的位置为所述浏览器窗体之外时,判断所述拷贝请求为将虚拟数据拷贝为物理数据的拷贝请求。
5.如权利要求1至4任一项所述的基于浏览器的数据交互方法,其特征在于,所述方法包括:
所述浏览器在将所述接收到的物理数据透传至虚拟机的过程中,显示所述物理数据透传的进度。
6.如权利要求1至4任一项所述的基于浏览器的数据交互方法,其特征在于,所述方法还包括:
所述浏览器接收虚拟机启动指令,启动至少两个虚拟机页面;
所述浏览器接收基于虚拟机的文件拷贝指令,将文件从一个虚拟机页面拷贝至另一个虚拟机页面,所述拷贝指令为拖拽操作。
7.一种基于浏览器的数据交互装置,其特征在于,包括:
接收模块,用于接收基于数据文件的拷贝请求;
拷贝模块,用于在接收到基于数据文件的拷贝请求后,且在所述拷贝请求为将物理数据拷贝为虚拟数据时,拷贝基于所述拷贝请求的物理数据;
透传模块,用于将所述拷贝到的物理数据透传至虚拟机,以供所述虚拟机在其本地生成与所述物理数据对应的虚拟数据。
8.如权利要求7所述的基于浏览器的数据交互装置,其特征在于,所述基于浏览器的数据交互装置还包括:
获取模块,用于在所述拷贝请求为将虚拟数据拷贝为物理数据时,通过透传的方式从虚拟机获取所述拷贝请求对应的虚拟数据;
所述拷贝模块,还用于将所述虚拟数据拷贝至对应的物理终端上,以实现虚拟机至物理终端的数据交互。
9.如权利要求8所述的基于浏览器的数据交互装置,其特征在于,所述基于浏览器的数据交互装置还包括:
发送模块,用于向服务器发送虚拟数据请求,以供所述服务器向虚拟机确认是否存在虚拟数据等待下载;
所述透传模块,还用于在存在虚拟数据等待下载时,通过所述服务器向所述虚拟机透传虚拟数据,以获取所述拷贝请求对应的虚拟数据。
10.如权利要求8所述的基于浏览器的数据交互装置,其特征在于,所述基于浏览器的数据交互装置还包括:
所述获取模块,还用于在所述拷贝请求对应的操作为基于数据文件的拖拽操作时,获取所述拖拽操作的目的位置;
判断模块,用于在所述目的位置为所述浏览器窗体之内时,判断所述拷贝请求为将物理数据拷贝为虚拟数据的拷贝请求;
所述判断模块,还用于在所述目的位置为所述浏览器窗体之外时,判断所述拷贝请求为将虚拟数据拷贝为物理数据的拷贝请求。
11.如权利要求7至10任一项所述的基于浏览器的数据交互装置,其特征在于,所述基于浏览器的数据交互装置还包括:
显示模块,用于在将所述接收到的物理数据透传至虚拟机的过程中,显示所述物理数据透传的进度。
12.如权利要求7至10任一项所述的基于浏览器的数据交互装置,其特征在于,所述基于浏览器的数据交互装置还包括启动模块,
所述接收模块,还用于接收虚拟机打开指令;
所述启动模块,用于启动至少两个虚拟机页面;
所述接收模块,还用于接收基于虚拟机的文件拷贝指令;
所述拷贝模块,还用于将文件从一个虚拟机页面拷贝至另一个虚拟机页面,所述拷贝指令为拖拽操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510708042.5A CN105389096B (zh) | 2015-10-27 | 2015-10-27 | 基于浏览器的数据交互方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510708042.5A CN105389096B (zh) | 2015-10-27 | 2015-10-27 | 基于浏览器的数据交互方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105389096A true CN105389096A (zh) | 2016-03-09 |
CN105389096B CN105389096B (zh) | 2018-10-30 |
Family
ID=55421423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510708042.5A Active CN105389096B (zh) | 2015-10-27 | 2015-10-27 | 基于浏览器的数据交互方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105389096B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908352A (zh) * | 2017-12-18 | 2018-04-13 | 深圳市青葡萄科技有限公司 | 基于拖拽操作实现的pc客户端下载文件的方法 |
CN107918915A (zh) * | 2017-06-25 | 2018-04-17 | 平安科技(深圳)有限公司 | 核保信息处理的装置、方法及计算机可读存储介质 |
CN109271342A (zh) * | 2018-09-28 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种文件管理方法和装置 |
CN113472878A (zh) * | 2021-06-29 | 2021-10-01 | 烽火通信科技股份有限公司 | 利用浏览器插件实现vnc中文件拖拽传输的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100185614A1 (en) * | 1999-11-04 | 2010-07-22 | O'brien Brett | Shared Internet storage resource, user interface system, and method |
CN102438045A (zh) * | 2011-12-07 | 2012-05-02 | 深圳市深信服电子科技有限公司 | Web页面的预取方法、系统以及访问web页面的方法 |
CN104021028A (zh) * | 2014-05-16 | 2014-09-03 | 深圳市深信服电子科技有限公司 | 虚拟机环境下的web缓存方法及装置 |
-
2015
- 2015-10-27 CN CN201510708042.5A patent/CN105389096B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100185614A1 (en) * | 1999-11-04 | 2010-07-22 | O'brien Brett | Shared Internet storage resource, user interface system, and method |
CN102438045A (zh) * | 2011-12-07 | 2012-05-02 | 深圳市深信服电子科技有限公司 | Web页面的预取方法、系统以及访问web页面的方法 |
CN104021028A (zh) * | 2014-05-16 | 2014-09-03 | 深圳市深信服电子科技有限公司 | 虚拟机环境下的web缓存方法及装置 |
Non-Patent Citations (2)
Title |
---|
DB: "Drag-n-Drop comes to VirtualBox5", 《HTTP://DBAONTAP.COM/2015/07/10/DRAG-N-DROP-COMES-TO-VIRTUALBOX5/》 * |
钱曙光: "开源虚拟机 VirtualBox 5.0 Beta 3 发布", 《HTTP://GEEK.CSDN.NET/NEWS/DETAIL/32230》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107918915A (zh) * | 2017-06-25 | 2018-04-17 | 平安科技(深圳)有限公司 | 核保信息处理的装置、方法及计算机可读存储介质 |
CN107918915B (zh) * | 2017-06-25 | 2022-02-08 | 平安科技(深圳)有限公司 | 核保信息处理的装置、方法及计算机可读存储介质 |
CN107908352A (zh) * | 2017-12-18 | 2018-04-13 | 深圳市青葡萄科技有限公司 | 基于拖拽操作实现的pc客户端下载文件的方法 |
CN109271342A (zh) * | 2018-09-28 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种文件管理方法和装置 |
CN113472878A (zh) * | 2021-06-29 | 2021-10-01 | 烽火通信科技股份有限公司 | 利用浏览器插件实现vnc中文件拖拽传输的方法及装置 |
CN113472878B (zh) * | 2021-06-29 | 2022-04-26 | 烽火通信科技股份有限公司 | 利用浏览器插件实现vnc中文件拖拽传输的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105389096B (zh) | 2018-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101505234B1 (ko) | 원격 리소스들의 웹 액세스를 위한 xml-기반 웹 피드 | |
KR101507629B1 (ko) | 기존 애플리케이션들의 커스터마이징 및 분산을 위한 브라우저-기반 프록시 서버 | |
CN101378400B (zh) | 实现桌面应用和Web应用聚合的方法、服务器和系统 | |
CN104572293B (zh) | 基于bs结构的医学影像阅片系统的实现方法 | |
WO2021174928A1 (zh) | 页面预渲染方法、装置、电子设备及存储介质 | |
US8924943B2 (en) | Browser emulator system | |
JP5885527B2 (ja) | 印刷システム、印刷サーバ、制御方法およびコンピュータプログラム | |
KR101516903B1 (ko) | 운영 체제 환경 간의 웹 데이터 전달 | |
CN102799372B (zh) | 一种图片信息的上传方法及上传装置 | |
US20180075224A1 (en) | View-based expiration of shared content | |
WO2012125696A2 (en) | Methods and systems for one browser version to use a rendering engine of another browser version for displaying information | |
EP1952274A1 (en) | A method and system for developing interactive web applications in a unified framework | |
JP2004318842A (ja) | Webページ生成装置、組み込み装置、Webページ生成の制御方法、Webページ生成プログラム及び記録媒体 | |
CN105389096A (zh) | 基于浏览器的数据交互方法及装置 | |
CN111984261A (zh) | 编译方法与编译系统 | |
JP2017504129A (ja) | ウェブブラウザにおいて表わされる状態表現の構築 | |
KR20140027741A (ko) | 응용 서비스 제공 시스템 및 방법, 응용 서비스를 위한 서버 장치 및 클라이언트 장치 | |
KR101907660B1 (ko) | 웹 기반의 운영체제를 탑재한 단말 장치 및 이를 이용한 서비스 제공 방법 | |
WO2023229695A1 (en) | Web site preview generation based on web site type | |
CN114489622A (zh) | 静态资源管理方法、Node.js应用、电子设备和存储介质 | |
US20200356720A1 (en) | Rendering Based on a Document Object Model | |
CN112491940A (zh) | 代理服务器的请求转发方法及装置、存储介质及电子设备 | |
JPWO2010032558A1 (ja) | プログラム入手・実行クライアント、プログラム入手・実行方法および記録媒体 | |
JP2007122691A (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN109117283A (zh) | 一种网络环境下遥控wps软件的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518052 the first floor of A1 building, Nanshan Zhiyuan 1001, Nanshan District Xue Yuan Avenue, Shenzhen, Guangdong. Applicant after: SINFOR Polytron Technologies Inc Address before: 518052 the first floor of A1 building, Nanshan Zhiyuan 1001, Nanshan District Xue Yuan Avenue, Shenzhen, Guangdong. Applicant before: Shenxinfu Electronics Science and Technology Co., Ltd., Shenzhen |
|
GR01 | Patent grant | ||
GR01 | Patent grant |