CN108038236A - 文件共享方法、装置、系统及可读存储介质 - Google Patents
文件共享方法、装置、系统及可读存储介质 Download PDFInfo
- Publication number
- CN108038236A CN108038236A CN201711446282.8A CN201711446282A CN108038236A CN 108038236 A CN108038236 A CN 108038236A CN 201711446282 A CN201711446282 A CN 201711446282A CN 108038236 A CN108038236 A CN 108038236A
- Authority
- CN
- China
- Prior art keywords
- file
- virtual machine
- disk
- disk file
- sharing
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0667—Virtualisation aspects at data level, e.g. file, record or object virtualisation
-
- 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件共享方法,包括:当磁盘文件处于共享状态后,虚拟机发起磁盘IO请求;其中,所述磁盘IO请求包括操作对象以及操作类型;根据所述操作对象将对应的磁盘文件挂载到所述虚拟机;根据所述操作类型对所述磁盘文件进行对应类型的文件共享操作;其中,所述操作类型包括上传、访问、导出、编辑以及下载。该方法能够显著提高文件共享的读写速度的同时尽量少地占用网络带宽资源。本发明还公开了一种文件共享装置、系统及一种计算机可读存储介质,具有上述有益效果。
Description
技术领域
本发明涉及电子技术领域,特别涉及一种文件共享方法、装置、系统及一种计算机可读存储介质。
背景技术
文件共享是指主动地在网络上(互联网或小的网络)共享自己的计算机文件。一般文件共享使用P2P模式,文件本身存在用户本人的个人电脑上。大多数参加文件共享的人也同时下载其他用户提供的共享文件,有时这两个行动是连在一起的。
目前文件共享的方式都是基于网络传输的技术来实现,可是这种基于网络传输的文件共享方案数据传输速度受网络带宽所限制,传输速度慢。在局域网内,网络一般都是百兆带宽,即最快的传输速度也就12M左右,一般传输一个120M的文件就至少需要10s来传输这一个文件,传输的同时很难再分出网络资源提供给其他文件的传输,而且如果是大文件传输,传输时会长时间占用网络带宽,并发多时,会消耗大量内网带宽资源,影响其它网络业务资源的正常使用。
因此,如何提高文件共享的读写速度的同时尽量少地占用网络带宽资源,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种文件共享方法,该方法能够显著提高文件共享的读写速度的同时尽量少地占用网络带宽资源;本发明的另一目的是提供一种文件共享装置、系统及一种计算机可读存储介质,具有上述有益效果。
为解决上述技术问题,本发明提供一种文件共享方法,包括:
当磁盘文件处于共享状态后,虚拟机发起磁盘IO请求;其中,所述磁盘IO请求包括操作对象以及操作类型;
根据所述操作对象将对应的磁盘文件挂载到所述虚拟机;
根据所述操作类型对所述磁盘文件进行对应类型的文件共享操作;其中,所述操作类型包括上传、访问、导出、编辑以及下载。
其中,根据所述操作对象将对应的磁盘文件挂载到所述虚拟机包括:
判断所述操作对象是否属于所述虚拟机所属的主机中的磁盘文件;
如果所述操作对象与所述虚拟机属于不同台主机,判断所述操作对象是否属于跨主机的磁盘文件;
如果是,将对应的跨主机的磁盘文件挂载到所述虚拟机。
其中,所述根据操作类型对所述磁盘文件进行对应类型的文件共享操作包括:
当预定个数的虚拟机对所述磁盘文件进行文件共享操作时,各虚拟机间通过建立虚拟通道按照预定规则进行信息交互;其中,所述信息交互包括区分各虚拟机对所述磁盘文件的具体操作内容以及操作顺序;
所述各虚拟机按照所述信息交互的结果对所述磁盘文件进行对应类型的共享操作。
其中,所述各虚拟机按照所述信息交互的结果对所述磁盘文件进行共享操作包括:
如果所述各虚拟机对所述磁盘文件执行共享编辑操作,则所述各虚拟机串行轮流执行共享编辑操作;
如果所述各虚拟机对所述磁盘文件执行共享上传、共享访问、共享导出或者共享下载操作,则所述各虚拟机同时执行。
其中,磁盘文件共享状态的实现方式包括:
对所述磁盘文件进行隐藏封装以实现所述磁盘文件的共享状态;其中,所述隐藏封装包括封装后所述磁盘文件禁止按普通磁盘进行使用。
其中,所述对所述磁盘文件进行文件共享操作之后还包括:
卸载所述磁盘文件。
本发明公开一种文件共享装置,包括:
请求发起单元,用于当磁盘文件处于共享状态后,发起磁盘IO请求;其中,所述磁盘IO请求包括操作对象以及操作类型;
挂载单元,用于根据所述操作对象将对应的磁盘文件挂载到所述虚拟机;
操作单元,用于根据所述操作类型对所述磁盘文件进行对应类型的文件共享操作;其中,所述操作类型包括上传、访问、导出、编辑以及下载。
其中,所述挂载单元包括:
第一判断子单元,用于判断所述操作对象是否属于所述虚拟机所属的主机中的磁盘文件;
第二判断子单元,用于如果所述操作对象与所述虚拟机属于不同台主机,判断所述操作对象是否属于跨主机的磁盘文件;
跨主机挂载子单元,用于如果所述操作对象属于跨主机的磁盘文件,将对应的跨主机的磁盘文件挂载到所述虚拟机。
其中,所述操作单元包括多虚拟机子单元;
所述多虚拟机子单元包括信息交互子单元以及操作子单元;
所述信息交互子单元用于当预定个数的虚拟机对所述磁盘文件进行文件共享操作时,各虚拟机间通过建立虚拟通道按照预定规则进行信息交互;其中,所述信息交互包括区分各虚拟机对所述磁盘文件的具体操作内容以及操作顺序;
所述操作子单元用于按照所述信息交互的结果对所述磁盘文件进行共享操作。
其中,所述操作子单元包括:
串行操作子单元,用于如果所述各虚拟机对所述磁盘文件执行共享编辑操作,则所述各虚拟机串行轮流执行共享编辑操作;
并行操作子单元,用于如果所述各虚拟机对所述磁盘文件执行共享上传、共享访问、共享导出或者共享下载操作,则所述各虚拟机同时执行。
其中,所述文件共享装置还包括卸载单元;
所述卸载单元用于卸载所述磁盘文件。
其中,所述文件共享装置还包括封装单元;
所述封装单元用于对所述磁盘文件进行隐藏封装以实现所述磁盘文件的共享状态;其中,所述隐藏封装包括封装后所述磁盘文件禁止按普通磁盘进行使用。
本发明公开一种文件共享系统,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如所述文件共享方法的步骤。
本发明公开一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述文件共享方法的步骤。
本发明所提供的文件共享方法当磁盘文件处于共享状态后,通过虚拟机发起磁盘IO请求,该请求就是文件共享请求;其中,所述磁盘IO请求包括操作对象以及操作类型;然后虚拟机根据所述操作对象将对应的磁盘文件挂载到所述虚拟机,将磁盘文件挂载到虚拟机可以实现虚拟机与磁盘文件同处一个虚拟环境中,这样,虚拟机可以以读写磁盘速度的水平实现对共享文件的读写,避免了通过网络来对共享文件进行操作,使得对文件共享的访问突破了普通网络的限制;然后根据所述操作类型对所述磁盘文件进行对应类型的文件共享操作即可实现在虚拟环境下对共享文件的操作;其中,所述操作类型包括上传、访问、导出、编辑以及下载。因此,该方法在显著提高文件共享的读写速度的同时尽量少地占用网络带宽资源。
本发明还公开了一种文件共享装置、系统及一种计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的文件共享方法的流程图;
图2为本发明实施例提供的文件共享方法的流程示意图;
图3为本发明实施例提供的文件共享方法的另一个流程示意图;
图4为本发明实施例提供的文件共享方法的另一个流程示意图;
图5为本发明实施例提供的文件共享方法的另一个流程示意图;
图6为本发明实施例提供的文件共享装置的结构框图;
图7为本发明实施例提供的虚拟环境下的宿主主机的结构示意图;
图8为本发明实施例提供的文件共享系统的结构框图;
图9为本发明实施例提供的文件共享系统的结构示意图。
具体实施方式
本发明的核心是提供一种文件共享方法,该方法能够显著提高文件共享的读写速度的同时尽量少地占用网络带宽资源;本发明的另一核心是提供一种文件共享装置、系统及一种计算机可读存储介质,具有上述有益效果。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机,在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。虚拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源利用率,使IT资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。
桌面云,是指通过瘦客户端或者其他任何与网络相连的设备来访问跨平台的应用程序,以及整个客户桌面。桌面云是虚拟化的一种应用,作为一种替代物理PC机的解决方案,近几年越来越多的用户投入使用桌面云,未来将会有更多的用户使用。
本发明所提供的文件共享方法是基于桌面云的虚拟化应用环境下的文件共享方案。
请参考图1,图1为本发明实施例提供的文件共享方法的流程图;该方法可以包括:
步骤s100、当磁盘文件处于共享状态后,虚拟机发起磁盘IO请求;其中,磁盘IO请求包括操作对象以及操作类型;
首先当实现了磁盘文件的共享状态后,在此环境下可以实现各种文件共享的业务需求,在此对具体实现文件共享的方法不做限定,比如可以通过根据业务需要对磁盘文件进行隐藏封装,隐藏封装后一个磁盘数据可以实现多个虚拟机的映射使用,实现共享状态后可以实现对磁盘文件的共享读写、共享编辑等操作。
虚拟机(Virtual Machine),在计算机科学中的体系结构里,是指一种特殊的软件,他可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个软件所创建的环境来操作软件。在计算机科学中,虚拟机是指可以像真实机器一样运行程序的计算机的软件实现。
虚拟机技术是虚拟化技术的一种,所谓虚拟化技术就是将事物从一种形式转变成另一种形式,最常用的虚拟化技术有操作系统中内存的虚拟化,实际运行时用户需要的内存空间可能远远大于物理机器的内存大小,利用内存的虚拟化技术,用户可以将一部分硬盘虚拟化为内存,而这对用户是透明的。虚拟机技术被定义为硬件设备的软件模拟实现,通常的使用模式是分时共享昂贵的大型机。
本发明提供的文件共享方法将一台物理主机模拟成若干台虚拟机,可以实现由多个虚拟机下的文件共享。
首先虚拟机通过发起磁盘IO请求来发起文件共享访问请求;其中,磁盘IO请求一般包括操作对象以及操作类型。例如,虚拟机A发起对文件A的只读访问的磁盘IO请求,其中文件A就相当于操作对象,只读访问就相当于操作类型。
发起磁盘IO请求的虚拟机可以为一台,也可以为多台,在此不做限定。发起磁盘IO请求的虚拟机为多台时,可以是多台虚拟机同时对不同的操作对象发起磁盘IO请求,也可以是多台虚拟机同时对相同的操作对象发起磁盘IO请求,在此不做限定,本发明可实现多台虚拟机同时的共享请求。
步骤s200、根据操作对象将对应的磁盘文件挂载到虚拟机;
虚拟机根据磁盘IO请求中的操作对象,将操作对象对应的磁盘文件挂载至该发起请求的虚拟机。其中,虚拟机发起的磁盘IO请求中的操作对象可以是与该虚拟机同属一台主机的磁盘文件,也可以是跨主机的磁盘文件,在此不做限定。
在虚拟机发起磁盘IO请求后,虚拟机会根据其中的操作对象首先查找该虚拟机所属的主机中磁盘文件中是否包括该操作对象所对应的磁盘文件,如果查找到后,直接挂载至该磁盘文件。如果查找不到,则会查找跨主机的磁盘文件中是否包括该操作对象所对应的磁盘文件,如果跨主机的磁盘文件中也查找不到该操作对象对应的磁盘文件,可能是该操作对象对应的磁盘文件已经被删除或者文件名经过修改,这种情况下显示操作失败。
一般,查找跨主机的磁盘文件中是否包括该操作对象所对应的磁盘文件可以包括:
判断操作对象是否属于虚拟机所属的主机中的磁盘文件;
如果操作对象与虚拟机属于不同台主机,判断操作对象是否属于跨主机的磁盘文件;
如果是,将对应的跨主机的磁盘文件挂载到虚拟机。
本发明中的磁盘文件存储于宿主主机的磁盘设备中,磁盘设备一般对应一个或多个磁盘数据文件,磁盘数据文件是宿主主机操作系统上的一个特定格式的数据文件,磁盘文件可以实现多个虚拟机的同时映射使用。
其中,挂载在windows操作系统中,通常是指给磁盘分区(包括被虚拟出来的磁盘分区)分配一个盘符。这个操作可以通过"计算机管理"中的"磁盘管理"来进行,也可以由例如磁盘分区管理软件、虚拟磁盘软件等的第三方软件来进行,这些第三方软件通常也附带挂载功能。在linux操作系统中,挂载指将一个设备(通常是存储设备)挂接到一个已存在的目录上。(这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。)linux操作系统将所有的设备都看作文件,linux操作系统将整个计算机的资源都整合成一个大的文件目录。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。
挂载过程实际上可以实现磁盘文件与虚拟机同属于一个操作环境,这样,即使磁盘文件属于跨主机的磁盘文件,将该磁盘文件挂载至虚拟机中,虚拟机对该磁盘文件的各种操作都可以属于对虚拟机所在的宿主主机的磁盘文件的操作,对同属一个主机的磁盘文件的操作不需要网络,这使得在设置的虚拟环境下对磁盘文件的操作突破了网络的限制,实现了对共享文件的读写速度达到了与虚拟机内对磁盘读写速度同样的水平,并且在挂载后,读写文件的过程中不占用网络资源,可以实现多虚拟机对文件的同时操作,大大提高了文件共享的速度与效率。
步骤s300、根据操作类型对磁盘文件进行对应类型的文件共享操作;其中,操作类型包括上传、访问、导出、编辑以及下载。
虚拟机发起的磁盘IO请求中包括对磁盘文件的操作类型,操作类型可以包括上传、访问、导出、编辑以及下载或者其它文件共享方法,在此对虚拟机对磁盘文件的操作类型不做限定。其中,编辑可以包括写、删除等编辑操作。
在将操作对象对应的磁盘文件挂载至虚拟机后,就可以在同一个虚拟环境下实现对磁盘文件的共享操作。
基于上述技术方案,本发明实施例所提供的文件共享方法通过当磁盘文件处于共享状态后,虚拟机发起磁盘IO请求,该请求就是文件共享请求;其中,磁盘IO请求包括操作对象以及操作类型;然后虚拟机根据操作对象将对应的磁盘文件挂载到虚拟机,将磁盘文件挂载到虚拟机可以实现虚拟机与磁盘文件同处一个虚拟环境中,这样,虚拟机可以以读写磁盘速度的水平实现对共享文件的读写,避免了通过网络来对共享文件进行操作,使得对文件共享的访问突破了普通网络的限制;然后根据操作类型对磁盘文件进行对应类型的文件共享操作即可实现在虚拟环境下对共享文件的操作;其中,操作类型包括上传、访问、导出、编辑以及下载。因此,该方法能够在显著提高文件共享的读写速度的同时尽量少地占用网络带宽资源。
基于上述实施例,为了提高对共享文件的操作速度,可以为多台虚拟机同时进行文件共享操作,当多台虚拟机同时进行文件共享操作时,根据操作类型对磁盘文件进行文件共享操作可以包括:
当预定个数的虚拟机对磁盘文件进行文件共享操作时,各虚拟机间通过建立虚拟通道按照预定规则进行信息交互;其中,信息交互包括区分各虚拟机对磁盘文件的具体操作内容以及操作顺序;
各虚拟机按照信息交互的结果对磁盘文件进行共享操作。
当预定个数的虚拟机对同一个磁盘文件进行文件共享操作时,各虚拟机间需要建立虚拟通道进行同步处理的信息交互,根据各虚拟机携带的磁盘IO请求中的信息区分各虚拟机对磁盘文件的具体操作内容,决定各虚拟机对磁盘文件的操作顺序,按照操作顺序各虚拟机对该磁盘文件进行操作。其中,操作顺序可以是同时执行,也可以顺序执行,在此不做限定。
其中的预定规则可以为:如果各虚拟机对磁盘文件执行共享编辑操作,则各虚拟机串行轮流执行共享编辑操作;如果各虚拟机对同一磁盘文件执行共享编辑操作,为了磁盘文件的稳定性,也为了执行过程中能够不出现差错,一般对文件进行编辑时可以顺序执行,即如果有三台虚拟机分别为虚拟机1、虚拟机2以及虚拟机3同时对磁盘文件D执行编辑操作,经过三台虚拟机建立虚拟通道进行信息交互后,虚拟机1编辑完退出后马上执行虚拟机2对文件的编辑,在虚拟机2编辑完后执行虚拟机3的编辑,这样依次串行编辑可以实现对在保证稳定性的情况下对文件编辑的最大效率。
如果各虚拟机对磁盘文件执行共享上传、共享访问、共享导出或者共享下载操作,则各虚拟机同时执行。如果各虚拟机对同一文件执行类似共享上传、共享访问、共享导出或者共享下载等对文件本身没有影响的操作,为了提高各虚拟机的操作速度,各虚拟机可以同时执行。一个磁盘文件可以同时与多个虚拟机建立通道,以供多个虚拟机的同时映射使用。
例如,网上邻居访问共享文件C,两台虚拟机应用层同时发起文件共享访问请求的流程示意图可以如图2所示;其步骤可以为:
请求经过在虚拟机内部的文件共享驱动模块,驱动模块做同步检查,本例为只读访问,可以不需要同步,如果写、删除文件等操作,需要同步加锁处理。
虚拟机内部的文件共享驱动模块转换成磁盘IO请求,发起硬件中断。
宿主主机处理磁盘硬件中断请求并返回结果。
基于上述实施例,对磁盘文件进行文件共享操作之后还可以包括:
卸载磁盘文件。
如果挂载的磁盘文件为跨主机的磁盘文件,那在虚拟机对磁盘文件的共享操作完成后该磁盘文件仍然在该虚拟环境中,为了减少虚拟环境中的冗余,可以在操作完成后将该磁盘文件进行卸载。
基于上述实施例,磁盘文件共享状态的实现方式可以包括:
对磁盘文件进行隐藏封装以实现磁盘文件的共享状态;其中,隐藏封装包括封装后磁盘文件禁止按普通磁盘进行使用。
磁盘文件如果映射到多个虚拟机中,需要禁止按普通磁盘使用。因此需要对磁盘进行隐藏封装,可以通过虚拟机中的驱动模块来实现。封装后,磁盘就是只供虚拟机使用的特殊磁盘,基于此环境可以实现各种文件共享的业务需求。
基于上述方法,例如,当文件需要导出审计时,在桌面云中,数据保存在云端,终端无法拿到虚拟机内部的数据,但是存在这种需求,并且要求对发送到终端的文件进行备份审计。传统的做法是在虚拟机内通过ftp或文件共享等方式上传文件到审计服务器,审计完成再将文件通过网络的方式传送到终端,这种方式对于虚拟机内的操作系统来说,存在两次通过网络方式发送文件的过程,速度慢,并且占用虚拟机系统资源。而基于本发明的方案,速度快,并将对虚拟机的资源消耗降到最低,具体实现方案如下:
在桌面云用户端,虚拟机的工作流程如图3所示,具体可以为:
应用层发起文件导出的操作。
将配置好的审计磁盘文件挂载到当前虚拟机。
将要导出的文件复制到审计磁盘指定的目录中。
卸载审计磁盘。
向宿主主机发起文件导出的请求。
在宿主主机端,虚拟机的工作流程如图4所示,具体可以为:
接收到虚拟机导出文件的请求。
挂载审计磁盘,其中,磁盘文件除了虚拟机可以挂载,宿主主机操作系统也是可以挂载使用的。
读取请求导出文件的数据。
将文件数据通过桌面云的通道发送到终端。
发送完成后,卸载审计磁盘。
在审计服务器端,虚拟机的工作流程如图5所示,具体可以为:
挂载审计磁盘到虚拟机中。
对审计文件进行相应的操作,如查看、编辑、下载文件等。
卸载审计磁盘。
请参考图6,图6为本发明实施例提供的文件共享装置的结构框图;该装置可以包括:
请求发起单元100,用于当磁盘文件处于共享状态后,发起磁盘IO请求;其中,磁盘IO请求包括操作对象以及操作类型;
挂载单元200,用于根据操作对象将对应的磁盘文件挂载到虚拟机;
操作单元300,用于根据操作类型对磁盘文件进行对应类型的文件共享操作;其中,操作类型包括上传、访问、导出、编辑以及下载。
其中,虚拟机所在的宿主主机端的结构可以如图7所示,宿主主机操作系统可以包括若干磁盘文件,在此仅以宿主主机的一个磁盘文件为例,一个磁盘文件可以实现多个虚拟机的映射使用,其中,一个虚拟机可以包括文件共享应用程序,用于发起文件共享请求;操作系统,其中,操作系统包括文件共享驱动模块,文件共享驱动模块可以实现磁盘的隐藏封装,也可以实现多虚拟机对共享磁盘的同步处理。虚拟机中的物理设备全部都是模拟出来的。宿主主机可以还包括虚拟机管理软件,比如,虚拟机监视器(Virtual MachineMonitor,VMM),它是是虚拟机技术的核心,它是一层位于操作系统和计算机硬件之间的代码,用来将硬件平台分割成多个虚拟机。VMM运行在特权模式,主要作用是隔离并且管理上层运行的多个虚拟机,仲裁它们对底层硬件的访问,并为每个客户操作系统虚拟一套独立于实际硬件的虚拟硬件环境(包括处理器,内存,I/O设备)。VMM采用某种调度算法在各个虚拟机之间共享CPU,如采用时间片轮转调度算法。基于此环境,可以实现各种文件共享的业务需求,比如最常用的windows操作系统环境的网上邻居的文件共享功能、FTP文件服务器功能等等。
基于上述实施例,挂载单元可以包括:
第一判断子单元,用于判断操作对象是否属于虚拟机所属的主机中的磁盘文件;
第二判断子单元,用于如果操作对象与虚拟机属于不同台主机,判断操作对象是否属于跨主机的磁盘文件;
跨主机挂载子单元,用于如果操作对象属于跨主机的磁盘文件,将对应的跨主机的磁盘文件挂载到虚拟机。
基于上述实施例,操作单元可以包括多虚拟机子单元;
多虚拟机子单元包括信息交互子单元以及操作子单元;
信息交互子单元用于当预定个数的虚拟机对磁盘文件进行文件共享操作时,各虚拟机间通过建立虚拟通道按照预定规则进行信息交互;其中,信息交互包括区分各虚拟机对磁盘文件的具体操作内容以及操作顺序;
操作子单元用于按照信息交互的结果对磁盘文件进行共享操作。
基于上述实施例,操作子单元可以包括:
串行操作子单元,用于如果各虚拟机对磁盘文件执行共享编辑操作,则各虚拟机串行轮流执行共享编辑操作;
并行操作子单元,用于如果各虚拟机对磁盘文件执行共享上传、共享访问、共享导出或者共享下载操作,则各虚拟机同时执行。
基于上述实施例,文件共享装置可以还包括卸载单元;
卸载单元用于卸载磁盘文件。
基于上述实施例,文件共享装置可以包括封装单元;
封装单元用于对磁盘文件进行隐藏封装以实现磁盘文件的共享状态;其中,隐藏封装包括封装后磁盘文件禁止按普通磁盘进行使用。对磁盘文件进行隐藏封装可以搭建磁盘共享读写、共享编辑等共享的环境,基于此环境,封装单元可以用于各种文件共享的业务需求。
请参考图8,图8为本发明实施例提供的文件共享系统的结构框图;该系统可以包括:
存储器700,用于存储计算机程序;
处理器800,用于执行计算机程序时实现如文件共享方法的步骤。
请参考图9,本发明实施例提供的一种文件共享系统的结构示意图,该共享系统可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对定位设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在共享系统301上执行存储介质330中的一系列指令操作。
共享系统301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上面图1所描述的文件共享方法中的步骤可以由基于文件共享系统的结构实现。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如文件共享方法的步骤。
需要说明的是,本申请具体实施方式中的文件共享装置中的各个单元,其工作过程请参考图1对应的具体实施方式,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,设备,存储介质和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,设备,存储介质和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个移动终端中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该产品存储在一个存储介质中,包括若干指令用以使得一台移动终端(可以是手机,或者平板电脑等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、终端或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的文件共享方法、装置、系统及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (14)
1.一种文件共享方法,其特征在于,包括:
当磁盘文件处于共享状态后,虚拟机发起磁盘IO请求;其中,所述磁盘IO请求包括操作对象以及操作类型;
根据所述操作对象将对应的磁盘文件挂载到所述虚拟机;
根据所述操作类型对所述磁盘文件进行对应类型的文件共享操作;其中,所述操作类型包括上传、访问、导出、编辑以及下载。
2.如权利要求1所述的文件共享方法,其特征在于,根据所述操作对象将对应的磁盘文件挂载到所述虚拟机包括:
判断所述操作对象是否属于所述虚拟机所属的主机中的磁盘文件;
如果所述操作对象与所述虚拟机属于不同台主机,判断所述操作对象是否属于跨主机的磁盘文件;
如果是,将对应的跨主机的磁盘文件挂载到所述虚拟机。
3.如权利要求2所述的文件共享方法,其特征在于,所述根据操作类型对所述磁盘文件进行对应类型的文件共享操作包括:
当预定个数的虚拟机对所述磁盘文件进行文件共享操作时,各虚拟机间通过建立虚拟通道按照预定规则进行信息交互;其中,所述信息交互包括区分各虚拟机对所述磁盘文件的具体操作内容以及操作顺序;
所述各虚拟机按照所述信息交互的结果对所述磁盘文件进行对应类型的共享操作。
4.如权利要求3所述的文件共享方法,其特征在于,所述各虚拟机按照所述信息交互的结果对所述磁盘文件进行共享操作包括:
如果所述各虚拟机对所述磁盘文件执行共享编辑操作,则所述各虚拟机串行轮流执行共享编辑操作;
如果所述各虚拟机对所述磁盘文件执行共享上传、共享访问、共享导出或者共享下载操作,则所述各虚拟机同时执行。
5.如权利要求4所述的文件共享方法,其特征在于,所述对所述磁盘文件进行文件共享操作之后还包括:
卸载所述磁盘文件。
6.如权利要求1至5任意一项所述的文件共享方法,其特征在于,所述磁盘文件共享状态的实现方式包括:
对所述磁盘文件进行隐藏封装来实现所述磁盘文件的共享状态;其中,所述隐藏封装包括封装后所述磁盘文件禁止按普通磁盘进行使用。
7.一种文件共享装置,其特征在于,包括:
请求发起单元,用于当磁盘文件处于共享状态后,发起磁盘IO请求;其中,所述磁盘IO请求包括操作对象以及操作类型;
挂载单元,用于根据所述操作对象将对应的磁盘文件挂载到所述虚拟机;
操作单元,用于根据所述操作类型对所述磁盘文件进行对应类型的文件共享操作;其中,所述操作类型包括上传、访问、导出、编辑以及下载。
8.如权利要求7所述的文件共享装置,其特征在于,所述挂载单元包括:
第一判断子单元,用于判断所述操作对象是否属于所述虚拟机所属的主机中的磁盘文件;
第二判断子单元,用于如果所述操作对象与所述虚拟机属于不同台主机,判断所述操作对象是否属于跨主机的磁盘文件;
跨主机挂载子单元,用于如果所述操作对象属于跨主机的磁盘文件,将对应的跨主机的磁盘文件挂载到所述虚拟机。
9.如权利要求8所述的文件共享装置,其特征在于,所述操作单元包括多虚拟机子单元;
所述多虚拟机子单元包括信息交互子单元以及操作子单元;
所述信息交互子单元用于当预定个数的虚拟机对所述磁盘文件进行文件共享操作时,各虚拟机间通过建立虚拟通道按照预定规则进行信息交互;其中,所述信息交互包括区分各虚拟机对所述磁盘文件的具体操作内容以及操作顺序;
所述操作子单元用于按照所述信息交互的结果对所述磁盘文件进行共享操作。
10.如权利要求9所述的文件共享装置,其特征在于,所述操作子单元包括:
串行操作子单元,用于如果所述各虚拟机对所述磁盘文件执行共享编辑操作,则所述各虚拟机串行轮流执行共享编辑操作;
并行操作子单元,用于如果所述各虚拟机对所述磁盘文件执行共享上传、共享访问、共享导出或者共享下载操作,则所述各虚拟机同时执行。
11.如权利要求10所述的文件共享装置,其特征在于,还包括卸载单元;
所述卸载单元用于卸载所述磁盘文件。
12.如权利要求7至11任意一项所述的文件共享装置,其特征在于,还包括封装单元;
所述封装单元用于对所述磁盘文件进行隐藏封装以实现所述磁盘文件的共享状态;其中,所述隐藏封装包括封装后所述磁盘文件禁止按普通磁盘进行使用。
13.一种文件共享系统,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述文件共享方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述文件共享方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711446282.8A CN108038236A (zh) | 2017-12-27 | 2017-12-27 | 文件共享方法、装置、系统及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711446282.8A CN108038236A (zh) | 2017-12-27 | 2017-12-27 | 文件共享方法、装置、系统及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108038236A true CN108038236A (zh) | 2018-05-15 |
Family
ID=62097520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711446282.8A Pending CN108038236A (zh) | 2017-12-27 | 2017-12-27 | 文件共享方法、装置、系统及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108038236A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109412873A (zh) * | 2018-12-20 | 2019-03-01 | 中国移动通信集团江苏有限公司 | 配置更新方法及装置、终端设备及计算机存储介质 |
CN109558090A (zh) * | 2018-12-04 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种io流资源申请方法、系统、设备及计算机存储介质 |
CN112162958A (zh) * | 2020-09-11 | 2021-01-01 | 北京浪潮数据技术有限公司 | 网络文件系统的挂载方法、装置及电子设备和存储介质 |
CN112463306A (zh) * | 2020-12-03 | 2021-03-09 | 南京机敏软件科技有限公司 | 一种虚拟机中共享盘数据一致性的方法 |
CN112799790A (zh) * | 2021-04-15 | 2021-05-14 | 北京首都在线科技股份有限公司 | 调度方法、装置、电子设备和计算机存储介质 |
CN115309715A (zh) * | 2022-10-12 | 2022-11-08 | 亿咖通(湖北)技术有限公司 | 域间数据访问方法、车载系统、处理设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447203A (zh) * | 2015-12-31 | 2016-03-30 | 杭州华为数字技术有限公司 | 一种共享文件的访问方法、系统及相关设备 |
CN105610639A (zh) * | 2015-12-17 | 2016-05-25 | 北京奇虎科技有限公司 | 全量日志抓取方法及装置 |
CN106489251A (zh) * | 2015-12-21 | 2017-03-08 | 华为技术有限公司 | 应用拓扑关系发现的方法、装置和系统 |
CN107463638A (zh) * | 2017-07-18 | 2017-12-12 | 北京北信源软件股份有限公司 | 离线虚拟机间文件共享方法和设备 |
-
2017
- 2017-12-27 CN CN201711446282.8A patent/CN108038236A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105610639A (zh) * | 2015-12-17 | 2016-05-25 | 北京奇虎科技有限公司 | 全量日志抓取方法及装置 |
CN106489251A (zh) * | 2015-12-21 | 2017-03-08 | 华为技术有限公司 | 应用拓扑关系发现的方法、装置和系统 |
CN105447203A (zh) * | 2015-12-31 | 2016-03-30 | 杭州华为数字技术有限公司 | 一种共享文件的访问方法、系统及相关设备 |
CN107463638A (zh) * | 2017-07-18 | 2017-12-12 | 北京北信源软件股份有限公司 | 离线虚拟机间文件共享方法和设备 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109558090A (zh) * | 2018-12-04 | 2019-04-02 | 郑州云海信息技术有限公司 | 一种io流资源申请方法、系统、设备及计算机存储介质 |
CN109412873A (zh) * | 2018-12-20 | 2019-03-01 | 中国移动通信集团江苏有限公司 | 配置更新方法及装置、终端设备及计算机存储介质 |
CN109412873B (zh) * | 2018-12-20 | 2022-06-03 | 中国移动通信集团江苏有限公司 | 配置更新方法及装置、终端设备及计算机存储介质 |
CN112162958A (zh) * | 2020-09-11 | 2021-01-01 | 北京浪潮数据技术有限公司 | 网络文件系统的挂载方法、装置及电子设备和存储介质 |
CN112162958B (zh) * | 2020-09-11 | 2023-12-22 | 北京浪潮数据技术有限公司 | 网络文件系统的挂载方法、装置及电子设备和存储介质 |
CN112463306A (zh) * | 2020-12-03 | 2021-03-09 | 南京机敏软件科技有限公司 | 一种虚拟机中共享盘数据一致性的方法 |
CN112799790A (zh) * | 2021-04-15 | 2021-05-14 | 北京首都在线科技股份有限公司 | 调度方法、装置、电子设备和计算机存储介质 |
CN115309715A (zh) * | 2022-10-12 | 2022-11-08 | 亿咖通(湖北)技术有限公司 | 域间数据访问方法、车载系统、处理设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108038236A (zh) | 文件共享方法、装置、系统及可读存储介质 | |
US12069136B2 (en) | Activity-based application recommendations | |
CN103853596B (zh) | 用于在工作组之间迁移虚拟机的方法和系统 | |
CN110580197B (zh) | 大型模型深度学习的分布式计算架构 | |
CN104424013B (zh) | 在计算环境中部署虚拟机的方法和设备 | |
US9330106B2 (en) | Selective synchronization of remotely stored content | |
CN104067288B (zh) | 存储加密方法 | |
CN103916455B (zh) | 用于数据复制的方法和系统 | |
CN104253865B (zh) | 一种混合型桌面云服务平台的两级管理方法 | |
CN104981783B (zh) | 在云计算环境中的动态配置 | |
CN103365725B (zh) | 在多个云之间动态分配工作负荷部署单元的方法和系统 | |
CN103238138B (zh) | 用于迁移逻辑分区的方法、装置和系统 | |
DE112019000841T5 (de) | Handhaben von E/A-Operationen in einem cloudbasierten Speichersystem | |
DE112019005770T5 (de) | Speicherverwaltung für ein cloudbasiertes Speichersystem | |
CN104603762B (zh) | 利用并行文件访问协议的自动校准以及元数据管理支持对文件系统的共享存储的协调访问的方法及系统 | |
US20170083292A1 (en) | Visual content development | |
CN109951545B (zh) | 自适应的容器和云桌面的融合系统及其获取云资源的方法 | |
CN103988199A (zh) | 已去重存储云中的数据残留的去除 | |
CN110178357A (zh) | 远程设备可接入的云中基于云的手机服务 | |
CN106104485A (zh) | 针对多进程应用的动态资源管理 | |
CN104216662B (zh) | 用于跨远程复制关系的卷布置的方法和系统 | |
US11449280B1 (en) | Dynamic provisioning and activation of storage pools | |
CN102368201A (zh) | 虚拟化环境中存储优化选择 | |
CN104205115A (zh) | 使用不同安全擦除算法以从文件擦除与不同安全级别关联的组块 | |
CN104239122B (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 |
Application publication date: 20180515 |
|
RJ01 | Rejection of invention patent application after publication |