CN108369604A - 一种多操作***共享文件***的方法、装置和电子设备 - Google Patents

一种多操作***共享文件***的方法、装置和电子设备 Download PDF

Info

Publication number
CN108369604A
CN108369604A CN201780003297.9A CN201780003297A CN108369604A CN 108369604 A CN108369604 A CN 108369604A CN 201780003297 A CN201780003297 A CN 201780003297A CN 108369604 A CN108369604 A CN 108369604A
Authority
CN
China
Prior art keywords
operating system
server
client
memory space
shared memory
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
Application number
CN201780003297.9A
Other languages
English (en)
Other versions
CN108369604B (zh
Inventor
边瑞锋
温燕飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cloudminds Inc
Original Assignee
Cloudminds Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cloudminds Inc filed Critical Cloudminds Inc
Publication of CN108369604A publication Critical patent/CN108369604A/zh
Application granted granted Critical
Publication of CN108369604B publication Critical patent/CN108369604B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例涉及一种多操作***共享文件***的方法、装置和电子设备,所述方法包括:客户端操作***写入请求数据至预设共享内存空间,所述预设共享内存空间支持至少两个操作***访问;将所述客户端操作***的访问请求通知服务端操作***;所述服务端操作***在所述预设共享内存空间中查询所述请求数据,并根据所述请求数据向所述预设共享内存空间写入回复数据;将所述服务端操作***的回复通知所述客户端操作***;所述客户端操作***从所述预设共享内存空间中获取所述回复数据,并根据所述回复数据将所述服务端操作***中的目标文件夹挂载到所述客户端操作***下。本发明实施例能实现在虚拟机之间以及虚拟机和宿主机之间文件***的共享。

Description

一种多操作***共享文件***的方法、装置和电子设备
技术领域
本发明实施例涉及虚拟化技术领域,例如涉及一种多操作***共享文件***的方法、装置和电子设备。
背景技术
虚拟化技术可以使多个操作***共享机器的硬件资源,各个操作***相互独立,互不影响。既起到了很好的隔离作用,也大大提高了***的资源利用率。在一些应用场景下,虚拟机之间或者虚拟机和宿主机之间需要共享文件***。目前主要通过virtio把宿主机的文件***共享到虚拟机***,虚拟机通过内核的9pfs将宿主机的文件***挂载到虚拟机。
在研究现有技术的过程中,发明人发现相关技术中至少存在如下问题:目前的方案中仅能实现共享宿主机的文件***到虚拟机,不能共享虚拟机的文件***到宿主机,也不能在虚拟机之间共享文件***。
发明内容
本发明实施例的一个目的是提供一种多操作***共享文件***的方法、装置和电子设备,能在虚拟机之间或者虚拟机和宿主机之间实现文件***的共享。
第一方面,本发明实施例提供了一种多操作***共享文件***的方法,用于电子设备,所述方法包括:
客户端操作***写入请求数据至预设共享内存空间,所述预设共享内存空间支持至少两个操作***访问;
将所述客户端操作***的访问请求通知服务端操作***;
所述服务端操作***在所述预设共享内存空间中查询所述请求数据,并根据所述请求数据向所述预设共享内存空间写入回复数据;
将所述服务端操作***的回复通知所述客户端操作***;
所述客户端操作***从所述预设共享内存空间中获取所述回复数据,并根据所述回复数据将所述服务端操作***中的目标文件夹挂载到所述客户端操作***下。
第二方面,本发明实施例还提供了一种多操作***共享文件***的装置,用于电子设备,所述装置包括:
请求数据写入模块,用于客户端操作***写入请求数据至预设共享内存空间,所述预设共享内存空间支持至少两个操作***访问;
第一通知模块,用于将所述客户端操作***的访问请求通知服务端操作***;
回复数据写入模块,用于所述服务端操作***在所述预设共享内存空间中查询所述请求数据,并根据所述请求数据向所述预设共享内存空间写入回复数据;
第二通知模块,用于将所述服务端操作***的回复通知所述客户端操作***;
文件挂载模块,用于所述客户端操作***从所述预设共享内存空间中获取所述回复数据,并根据所述回复数据将所述服务端操作***中的目标文件夹挂载到所述客户端操作***下。
第三方面,本发明实施例还提供了一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。
本发明实施例提供的多操作***共享文件***的方法、装置和电子设备,通过预设共享内存空间用于提供多个操作***均能访问的空间,并利用该预设共享内存空间存储客户端操作***针对服务端操作***的访问请求,以及服务端操作***对客户端操作***的回复数据,以使客户端操作***能根据该回复数据将服务端操作***中的目标文件夹挂载在客户端操作***下。以此实现在虚拟机之间以及虚拟机和宿主机之间文件***的共享。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明方法和装置的应用场景示意图;
图2是本发明多操作***共享文件***的方法的一个实施例的流程图;
图3是本发明多操作***共享文件***的方法的一个实施例的流程图;
图4是本发明实施例多操作***共享文件***的方法中写入重置消息步骤的流程示意图;
图5是本发明多操作***共享文件***的装置的一个实施例的结构示意图;
图6是本发明多操作***共享文件***的装置的一个实施例的结构示意图;
图7是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的多操作***共享文件***的方法和装置可以用于图1所示的应用场景,所述应用场景包括电子设备10,电子设备10上安装有多个虚拟机(图1示出了一个电子设备10上安装有三个虚拟机的情形)。如图1所示,电子设备10本身作为宿主机安装有操作***OS,虚拟机1上安装有操作***OS1,虚拟机2上安装有操作***OS2,虚拟机3上安装有操作***OS3,所述操作***例如是Linux操作***。其中,上述宿主机和多个虚拟机之中可以选择一个作为服务端,其他虚拟机或者宿主机作为客户端,服务端用于响应客户端的数据访问请求。可以在电子设备10上开辟一块内存空间作为共享内存空间,通过共享内存技术使上述多个操作***中的部分或者全部可以访问该共享内存空间。利用该共享内存空间存储客户端操作***针对服务端操作***的访问请求,以及服务端操作***对客户端操作***的回复数据,以使客户端操作***能根据该回复数据将服务端操作***中的目标文件夹挂载在客户端操作***下。以此实现在虚拟机之间以及虚拟机和宿主机之间文件***的共享。
本发明实施例提供的多操作***共享文件***的方法,可由图1中所示的电子设备10执行,如图2所示,所述方法包括:
101:客户端操作***写入请求数据至预设共享内存空间,所述预设共享内存空间支持至少两个操作***访问。
可选的,所述方法在步骤101之前还包括:设置所述预设共享内存空间,以使至少两个操作***能访问该内存空间。在实际应用中,可以通过共享内存技术在宿主机的内存中开辟一块内存空间作为预设共享内存空间,并使需要共享文件***的虚拟机或者宿主机可以访问该预设共享内存空间。
102:将所述客户端操作***的访问请求通知服务端操作***。
具体的,如果客户端为宿主机,服务端为虚拟机,则该通知可以通过自客户端操作***发送中断请求至服务端操作***来实现。如果客户端为虚拟机,服务端为宿主机,则该通知可以通过自客户端操作***发送陷入指令至服务端操作***来实现,例如在Linux操作***中,可以通过VMM(Virtual Machine Monitor,虚拟机监控器)陷入指令来通知。如果客户端和服务端均为虚拟机,则需要客户端操作***先发送陷入指令给宿主机,再由宿主机发送中断请求至服务端操作***。即宿主机到虚拟机可以通过中断请求,虚拟机到宿主机可以通过陷入指令,虚拟机之间需要虚拟机先发陷入指令给宿主机,再由宿主机发送中断请求给虚拟机。
103:所述服务端操作***在所述预设共享内存空间中查询所述请求数据,并根据所述请求数据向所述预设共享内存空间写入回复数据。
服务端操作***查询预设共享内存空间中的请求数据,并响应该请求,将回复数据写入预设共享内存空间中。其中,服务端操作***还可以进一步清除所述预设共享内存空间中的请求数据,以减小内存空间的占用。
104:将所述服务端操作***的回复通知所述客户端操作***。
具体的,如果服务端为宿主机,客户端为虚拟机,则该通知可以通过自服务端操作***发送中断请求至客户端操作***来实现。如果服务端为虚拟机,客户端为宿主机,则该通知可以通过自服务端操作***发送陷入指令至客户端操作***来实现,例如在Linux操作***中,可以通过VMM(Virtual Machine Monitor,虚拟机监控器)陷入指令来通知。如果客户端和服务端均为虚拟机,则需要服务端操作***先发送陷入指令给宿主机,再由宿主机发送中断请求至客户端操作***。
105:所述客户端操作***从所述预设共享内存空间中获取所述回复数据,并根据所述回复数据将所述服务端操作***中的目标文件夹挂载到所述客户端操作***下。
其中,所述回复数据可以是客户端操作***请求访问的目标文件夹内容本身,也可以是该目标文件夹的属性,通过该属性,客户端操作***可以获得该目标文件夹的内容,并将该目标文件夹挂载到客户端操作***。以Linux操作***为例,可以通过Linux内核中9P模块的挂载(Mount)命令将目标文件夹挂载到当前操作***下。
本发明实施例通过预设共享内存空间用于提供多个操作***均能访问的空间,并利用该预设共享内存空间存储客户端操作***针对服务端操作***的访问请求,以及服务端操作***对客户端操作***的回复数据,以使客户端操作***能根据该回复数据将服务端操作***中的目标文件夹挂载在客户端操作***下。以此实现在虚拟机之间以及虚拟机和宿主机之间文件***的共享。本发明实施例不需要各虚拟机或宿主机之间的网络联通,能方便的实现文件***的共享。
可选的,为了使多个客户端操作***能同时访问服务端操作***,可以将预设共享内存空间分成多个共享区域,例如分成多个缓冲区,每个共享区域用于存储对应的客户端请求数据,和服务端对对应的客户端的回复数据。其中,预设共享内存空间分成的共享区域的个数和大小可以根据实际情况进行分配。以图1所示的四个操作***为例,假如以OS作为服务端操作***,以OS1、OS2和OS3作为客户端操作***。可以将预设共享内存空间分为三个共享区域,即第一共享区域、第二共享区域和第三共享区域。第一共享区域可以用于存储OS1对OS的请求数据,以及OS对OS1的回复数据。第二共享区域可以用于存储OS2对OS的请求数据,以及OS对OS2的回复数据。第三共享区域可以用于存储OS3对OS的请求数据,以及OS对OS3的回复数据。服务端操作***在共享区域中写入回复数据前,可以清除该共享区域中的请求数据。
在其他实施例中,也可以将预设共享内存空间分为六个共享区域,即第一共享区域、第二共享区域、第三共享区域、第四共享区域、第五共享区域和第六共享区域。第一共享区域可以用于存储OS1对OS的请求数据,第二共享区域可以用于存储OS2对OS的请求数据,第三共享区域可以用于存储OS3对OS的请求数据。第四共享区域用于存储OS对OS1的回复数据,第五共享区域用于存储OS对OS2的回复数据,第六共享区域用于存储OS对OS3的回复数据。各客户端操作***的请求数据与共享区域的对应关系以及服务端操作***对各客户端操作***的回复数据与共享区域的对应关系可以记载在一个用于存储共享区域信息的消息结构(例如链表数据结构)中。
通过该消息结构,各客户端操作***可以知晓其对服务端操作***的请求数据应该写入哪个共享区域,服务端操作***回复各个客户端操作***时,也可以通过该消息结构知道应该把回复数据写入哪个共享区域。图3为所述方法的另一实施例的流程示意图,如图3所示,所述方法包括:
201:设置预设共享内存空间,以使至少两个操作***能访问所述预设共享内存空间。
202:将所述预设共享内存空间分成至少两个共享区域,并建立用于存储所述至少两个共享区域信息的信息结构。
203:根据所述信息结构确定所述客户端在所述预设共享内存空间中的可用共享区域,并写入所述请求数据至所述可用共享区域。
204:将所述客户端操作***的访问请求通知服务端操作***。
205:根据所述信息结构确定所述预设共享内存空间中存储所述请求数据的共享区域,并在该共享区域中查询所述请求数据。
206:根据所述信息结构确定所述回复数据的可用共享区域,并根据所述请求数据向该共享区域内写入所述回复数据。
207:将所述服务端操作***的回复通知所述客户端操作***。
208:根据所述信息结构确定所述预设共享内存空间中存储所述回复数据的共享区域,并在该共享区域中获取所述回复数据。根据所述回复数据将所述服务端操作***中的目标文件夹挂载到所述客户端操作***下。
本发明实施例通过将预设共享内存空间分成多个共享区域,多个客户端操作***可以在同一时段内在预设共享内存空间内写入请求数据从而发起对服务端操作***的访问请求,服务端操作***可以根据自身的运行情况分别响应客户端操作***的请求。相对于一次只能处理一个客户端操作***数据请求的方案,其效率更高。
在实际应用中,当服务端操作***运行繁忙,无法响应客户端操作***写入的请求消息时,该请求消息可以处于阻塞状态,至到服务端操作***开始处理该请求消息。如果服务端操作******崩溃导致服务异常时,服务端操作***重启后,可以发送重置消息给对应的客户端操作***,以使该客户端操作***能初始化其对应的共享区域,重新写入请求数据与服务端操作***建立连接。当客户端操作***发送非法请求给服务端操作***时,服务端操作***也可以发送重置消息给对应的客户端操作***以中断该处理请求。服务端操作***发送重置消息的方法与写入回复数据类似,如图4所示,所述方法还包括:
301:所述服务端操作***写入针对客户端操作***的重置消息至所述预设共享内存空间。
在所述预设共享空间分成多个共享区域的场合,所述服务端操作***可以将重置消息写入其中一个共享区域,具体的,先根据所述消息结构确定所述客户端操作***对应的共享区域,再将该重置消息写入该共享区域内。
302:将服务端操作***的重置消息通知所述客户端操作***。
其中,该通知的具体方法请参照步骤104,在此不再赘述。
303:所述客户端操作***从所述预设共享内存空间中获取所述重置消息,并根据所述重置消息重新初始化所述预设共享内存空间。
在所述预设共享空间分成多个共享区域的场合,所述客户端操作***先根据所述消息结构确定所述客户端操作***对应的共享区域,再从该共享区域内读出重置消息。
需要说明的是,本发明实施例中的序号只是为了便于理解,并不限定各步骤的先后顺序。
相应的,本发明实施例还提供了一种多操作***共享文件***的装置,可以用于图1中的电子设备10,如图5所示,所述装置400包括:
请求数据写入模块401,用于客户端操作***写入请求数据至预设共享内存空间,所述预设共享内存空间支持至少两个操作***访问;
第一通知模块402,用于将所述客户端操作***的访问请求通知服务端操作***;
回复数据写入模块403,用于所述服务端操作***在所述预设共享内存空间中查询所述请求数据,并根据所述请求数据向所述预设共享内存空间写入回复数据;
第二通知模块404,用于将所述服务端操作***的回复通知所述客户端操作***;
文件挂载模块405,用于所述客户端操作***从所述预设共享内存空间中获取所述回复数据,并根据所述回复数据将所述服务端操作***中的目标文件夹挂载到所述客户端操作***下。
本发明实施例通过预设共享内存空间用于提供多个操作***均能访问的空间,并利用该预设共享内存空间存储客户端操作***针对服务端操作***的访问请求,以及服务端操作***对客户端操作***的回复数据,以使客户端操作***能根据该回复数据将服务端操作***中的目标文件夹挂载在客户端操作***下。以此实现在虚拟机之间以及虚拟机和宿主机之间文件***的共享。
可选的,在所述装置的其他实施例中,请参照图6,装置400还包括:
分区模块406,用于将所述预设共享内存空间分成至少两个共享区域,并建立用于存储所述至少两个共享区域信息的信息结构。
请求数据写入模块401具体用于:
根据所述信息结构确定所述客户端在所述预设共享内存空间中的可用共享区域,并写入所述请求数据至所述可用共享区域。
回复数据写入模块403具体用于:
根据所述信息结构确定所述预设共享内存空间中存储所述请求数据的共享区域,并在该共享区域中查询所述请求数据。
根据所述信息结构确定所述回复数据的可用共享区域,并根据所述请求数据向该共享区域内写入所述回复数据。
文件挂载模块405具体用于:
根据所述信息结构确定所述预设共享内存空间中存储所述回复数据的共享区域,并在该共享区域中获取所述回复数据。
可选的,在装置400的其他实施例中,请参照图6,装置400还包括:
重置消息写入模块407,用于所述服务端操作***写入针对客户端操作***的重置消息至所述预设共享内存空间。
初始化模块408,用于所述客户端操作***从所述预设共享内存空间中获取所述重置消息,并根据所述重置消息重新初始化所述预设共享内存空间。
第二通知模块404还用于将服务端操作***的重置消息通知所述客户端操作***。
可选的,在装置400的某些实施例中,第一通知模块402具体用于:
如果客户端为宿主机,服务端为虚拟机,则自客户端操作***发送中断请求至服务端操作***;
如果客户端为虚拟机,服务端为宿主机,则自客户端操作***发送陷入指令至服务端操作***;
如果客户端和服务端均为虚拟机,则自客户端操作***发送陷入指令至宿主机,再由宿主机发送中断请求至服务端操作***。
第二通知模块404具体用于:
如果服务端为宿主机,客户端为虚拟机,则自服务端操作***发送中断请求至客户端操作***;
如果服务端为虚拟机,客户端为宿主机,则自服务端操作***发送陷入指令至客户端操作***;
如果客户端和服务端均为虚拟机,则自服务端操作***发送陷入指令至宿主机,再由宿主机发送中断请求至客户端操作***。
可选的,在装置400的其他实施例中,请参照图6,装置400还包括:
共享内存空间设置模块409,用于设置所述预设共享内存空间,以使至少两个操作***能访问所述预设共享内存空间。
需要说明的是,上述装置可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在装置实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
图7是本发明实施例提供的电子设备10的硬件结构示意图,如图7所示,该电子设备10包括:
一个或多个处理器11以及存储器12,图7中以一个处理器11为例。
处理器11和存储器12可以通过总线或者其他方式连接,图7中以通过总线连接为例。
存储器12作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的方法对应的程序指令/模块(例如,附图5所示的请求数据写入模块401、第一通知模块402、回复数据写入模块403、第二通知模块404和文件挂载模块405)。处理器11通过运行存储在存储器12中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的方法。
存储器12可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据多操作***共享文件***的装置的使用所创建的数据等。此外,存储器12可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器12可选包括相对于处理器11远程设置的存储器,这些远程存储器可以通过网络连接至电子设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器12中,当被所述一个或者多个处理器11执行时,执行上述任意方法实施例中的多操作***共享文件***的方法,例如,执行以上描述的图2中的方法步骤101至步骤105,图3中的方法步骤201至步骤208,图4中的方法步骤301至步骤303,实现图5中的模块401-405、图6中的模块401-409的功能。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本发明实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、***总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)智能机器人。
(6)其他具有数据交互功能的电子装置。
本发明实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图7中的一个处理器11,可使得上述一个或多个处理器可执行上述任意方法实施例中的方法,例如,执行以上描述的图2中的方法步骤101至步骤105,图3中的方法步骤201至步骤208,图4中的方法步骤301至步骤303,实现图5中的模块401-405、图6中的模块401-409的功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (12)

1.一种多操作***共享文件***的方法,用于电子设备,其特征在于,所述方法包括:
客户端操作***写入请求数据至预设共享内存空间,所述预设共享内存空间支持至少两个操作***访问;
将所述客户端操作***的访问请求通知服务端操作***;
所述服务端操作***在所述预设共享内存空间中查询所述请求数据,并根据所述请求数据向所述预设共享内存空间写入回复数据;
将所述服务端操作***的回复通知所述客户端操作***;
所述客户端操作***从所述预设共享内存空间中获取所述回复数据,并根据所述回复数据将所述服务端操作***中的目标文件夹挂载到所述客户端操作***下。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述预设共享内存空间分成至少两个共享区域,并建立用于存储所述至少两个共享区域信息的信息结构;
所述客户端操作***写入请求数据至预设共享内存空间,包括:
根据所述信息结构确定所述客户端在所述预设共享内存空间中的可用共享区域,并写入所述请求数据至所述可用共享区域;
所述服务端操作***在所述预设共享内存空间中查询所述请求数据,并根据所述请求数据向所述预设共享内存空间写入回复数据,包括:
根据所述信息结构确定所述预设共享内存空间中存储所述请求数据的共享区域,并在该共享区域中查询所述请求数据;
根据所述信息结构确定所述回复数据的可用共享区域,并根据所述请求数据向该共享区域内写入所述回复数据;
所述客户端操作***从所述预设共享内存空间中获取所述回复数据,包括:
根据所述信息结构确定所述预设共享内存空间中存储所述回复数据的共享区域,并在该共享区域中获取所述回复数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述服务端操作***写入针对客户端操作***的重置消息至所述预设共享内存空间;
将服务端操作***的重置消息通知所述客户端操作***;
所述客户端操作***从所述预设共享内存空间中获取所述重置消息,并根据所述重置消息重新初始化所述预设共享内存空间。
4.根据权利要求1-3任意一项所述的方法,其特征在于,客户端操作***通知服务端操作***,包括:
如果客户端为宿主机,服务端为虚拟机,则自客户端操作***发送中断请求至服务端操作***;
如果客户端为虚拟机,服务端为宿主机,则自客户端操作***发送陷入指令至服务端操作***;
如果客户端和服务端均为虚拟机,则自客户端操作***发送陷入指令至宿主机,再由宿主机发送中断请求至服务端操作***;
服务端操作***通知客户端操作***,包括:
如果服务端为宿主机,客户端为虚拟机,则自服务端操作***发送中断请求至客户端操作***;
如果服务端为虚拟机,客户端为宿主机,则自服务端操作***发送陷入指令至客户端操作***;
如果客户端和服务端均为虚拟机,则自服务端操作***发送陷入指令至宿主机,再由宿主机发送中断请求至客户端操作***。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:设置所述预设共享内存空间,以使至少两个操作***能访问所述预设共享内存空间。
6.一种多操作***共享文件***的装置,用于电子设备,其特征在于,所述装置包括:
请求数据写入模块,用于客户端操作***写入请求数据至预设共享内存空间,所述预设共享内存空间支持至少两个操作***访问;
第一通知模块,用于将所述客户端操作***的访问请求通知服务端操作***;
回复数据写入模块,用于所述服务端操作***在所述预设共享内存空间中查询所述请求数据,并根据所述请求数据向所述预设共享内存空间写入回复数据;
第二通知模块,用于将所述服务端操作***的回复通知所述客户端操作***;
文件挂载模块,用于所述客户端操作***从所述预设共享内存空间中获取所述回复数据,并根据所述回复数据将所述服务端操作***中的目标文件夹挂载到所述客户端操作***下。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
分区模块,用于将所述预设共享内存空间分成至少两个共享区域,并建立用于存储所述至少两个共享区域信息的信息结构;
所述请求数据写入模块具体用于:
根据所述信息结构确定所述客户端在所述预设共享内存空间中的可用共享区域,并写入所述请求数据至所述可用共享区域;
所述回复数据写入模块具体用于:
根据所述信息结构确定所述预设共享内存空间中存储所述请求数据的共享区域,并在该共享区域中查询所述请求数据;
根据所述信息结构确定所述回复数据的可用共享区域,并根据所述请求数据向该共享区域内写入所述回复数据;
所述文件挂载模块具体用于:
根据所述信息结构确定所述预设共享内存空间中存储所述回复数据的共享区域,并在该共享区域中获取所述回复数据。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
重置消息写入模块,用于所述服务端操作***写入针对客户端操作***的重置消息至所述预设共享内存空间;
初始化模块,用于所述客户端操作***从所述预设共享内存空间中获取所述重置消息,并根据所述重置消息重新初始化所述预设共享内存空间;
所述第二通知模块还用于将服务端操作***的重置消息通知所述客户端操作***。
9.根据权利要求6-8任意一项所述的装置,其特征在于,所述第一通知模块具体用于:
如果客户端为宿主机,服务端为虚拟机,则自客户端操作***发送中断请求至服务端操作***;
如果客户端为虚拟机,服务端为宿主机,则自客户端操作***发送陷入指令至服务端操作***;
如果客户端和服务端均为虚拟机,则自客户端操作***发送陷入指令至宿主机,再由宿主机发送中断请求至服务端操作***;
所述第二通知模块,具体用于:
如果服务端为宿主机,客户端为虚拟机,则自服务端操作***发送中断请求至客户端操作***;
如果服务端为虚拟机,客户端为宿主机,则自服务端操作***发送陷入指令至客户端操作***;
如果客户端和服务端均为虚拟机,则自服务端操作***发送陷入指令至宿主机,再由宿主机发送中断请求至客户端操作***。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5任一项所述的方法。
11.一种非易失性计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被电子设备执行时,使所述电子设备执行权利要求1-5任一项所述的方法。
12.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被电子设备执行时,使所述电子设备执行权利要求1-5任一项所述的方法。
CN201780003297.9A 2017-12-28 2017-12-28 一种多操作***共享文件***的方法、装置和电子设备 Active CN108369604B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/119288 WO2019127191A1 (zh) 2017-12-28 2017-12-28 一种多操作***共享文件***的方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN108369604A true CN108369604A (zh) 2018-08-03
CN108369604B CN108369604B (zh) 2021-12-03

Family

ID=63011261

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780003297.9A Active CN108369604B (zh) 2017-12-28 2017-12-28 一种多操作***共享文件***的方法、装置和电子设备

Country Status (2)

Country Link
CN (1) CN108369604B (zh)
WO (1) WO2019127191A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542540A (zh) * 2018-11-26 2019-03-29 北京粉笔未来科技有限公司 一种实现交互的方法、装置及***
CN109739619A (zh) * 2018-12-12 2019-05-10 咪咕文化科技有限公司 一种基于容器化应用的处理方法、装置及存储介质
CN113010407A (zh) * 2019-12-20 2021-06-22 上海汽车集团股份有限公司 一种***信息获取方法、装置及***
CN113282323A (zh) * 2021-05-31 2021-08-20 惠州华阳通用电子有限公司 一种基于双***升级包共享的升级方法
CN113407318A (zh) * 2021-06-04 2021-09-17 Oppo广东移动通信有限公司 操作***切换方法及装置、计算机可读介质和电子设备
CN114048181A (zh) * 2021-10-20 2022-02-15 北京鲸鲮信息***技术有限公司 ***和容器共享文件的方法及装置
CN115150392A (zh) * 2022-08-30 2022-10-04 统信软件技术有限公司 远程文件复制方法、***、计算设备及存储介质
CN115580644A (zh) * 2022-12-07 2023-01-06 北京小米移动软件有限公司 宿主机内客户***间的通讯方法、装置、设备及存储介质
WO2023035754A1 (zh) * 2021-09-08 2023-03-16 北京字节跳动网络技术有限公司 权限同步方法、装置、电子设备与存储介质
WO2023174220A1 (zh) * 2022-03-17 2023-09-21 北京有竹居网络技术有限公司 数据处理方法、装置、可读介质以及计算设备
CN117762572A (zh) * 2024-01-03 2024-03-26 北京火山引擎科技有限公司 宿主机与虚拟机共享目录文件***的卸载方法及设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113608828B (zh) * 2021-06-30 2023-07-14 苏州浪潮智能科技有限公司 一种防护方法及其相关设备
CN113778611A (zh) * 2021-07-06 2021-12-10 锐捷网络(苏州)有限公司 数据传输方法、装置、***及存储介质
CN115016957B (zh) * 2022-05-26 2024-03-22 湖南三一智能控制设备有限公司 一种跨进程内存共享的方法、装置、终端及车辆

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223005A1 (en) * 2003-04-29 2005-10-06 International Business Machines Corporation Shared file system cache in a virtual machine or LPAR environment
US20080141277A1 (en) * 2006-12-06 2008-06-12 Microsoft Corporation Optimized interrupt delivery in a virtualized environment
US20100169883A1 (en) * 2008-12-31 2010-07-01 Zohar Bogin Providing multiple virtual device controllers by redirecting an interrupt from a physical device controller
CN101847105A (zh) * 2009-03-26 2010-09-29 联想(北京)有限公司 一种计算机及多操作***共享内存的方法
WO2011097588A2 (en) * 2010-02-05 2011-08-11 Advanced Micro Devices, Inc. Interrupt virtualization
CN103475682A (zh) * 2012-06-07 2013-12-25 华为技术有限公司 文件迁移方法及设备
CN103559079A (zh) * 2013-11-15 2014-02-05 深圳市道通科技有限公司 一种基于共享内存的数据存取方法及装置
US20160224362A1 (en) * 2015-01-29 2016-08-04 Red Hat Israel, Ltd. Delivering interrupts to virtual machines executing privileged virtual machine functions
WO2016174046A1 (en) * 2015-04-30 2016-11-03 Virtual Open Systems Virtualization manager for reconfigurable hardware accelerators
CN106778275A (zh) * 2016-12-29 2017-05-31 北京瑞星信息技术股份有限公司 基于虚拟化环境下的安全防护方法及***和物理主机

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819564B (zh) * 2009-02-26 2013-04-17 国际商业机器公司 协助在虚拟机之间进行通信的方法和装置
US9910689B2 (en) * 2013-11-26 2018-03-06 Dynavisor, Inc. Dynamic single root I/O virtualization (SR-IOV) processes system calls request to devices attached to host
CN106445702A (zh) * 2016-09-21 2017-02-22 乐视控股(北京)有限公司 多***通信方法及终端
CN107077377B (zh) * 2016-12-29 2020-08-04 深圳前海达闼云端智能科技有限公司 一种设备虚拟化方法、装置、***及电子设备、计算机程序产品

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223005A1 (en) * 2003-04-29 2005-10-06 International Business Machines Corporation Shared file system cache in a virtual machine or LPAR environment
US20080141277A1 (en) * 2006-12-06 2008-06-12 Microsoft Corporation Optimized interrupt delivery in a virtualized environment
US20100169883A1 (en) * 2008-12-31 2010-07-01 Zohar Bogin Providing multiple virtual device controllers by redirecting an interrupt from a physical device controller
CN101847105A (zh) * 2009-03-26 2010-09-29 联想(北京)有限公司 一种计算机及多操作***共享内存的方法
WO2011097588A2 (en) * 2010-02-05 2011-08-11 Advanced Micro Devices, Inc. Interrupt virtualization
CN103475682A (zh) * 2012-06-07 2013-12-25 华为技术有限公司 文件迁移方法及设备
CN103559079A (zh) * 2013-11-15 2014-02-05 深圳市道通科技有限公司 一种基于共享内存的数据存取方法及装置
US20160224362A1 (en) * 2015-01-29 2016-08-04 Red Hat Israel, Ltd. Delivering interrupts to virtual machines executing privileged virtual machine functions
WO2016174046A1 (en) * 2015-04-30 2016-11-03 Virtual Open Systems Virtualization manager for reconfigurable hardware accelerators
CN106778275A (zh) * 2016-12-29 2017-05-31 北京瑞星信息技术股份有限公司 基于虚拟化环境下的安全防护方法及***和物理主机

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542540A (zh) * 2018-11-26 2019-03-29 北京粉笔未来科技有限公司 一种实现交互的方法、装置及***
CN109739619A (zh) * 2018-12-12 2019-05-10 咪咕文化科技有限公司 一种基于容器化应用的处理方法、装置及存储介质
CN113010407A (zh) * 2019-12-20 2021-06-22 上海汽车集团股份有限公司 一种***信息获取方法、装置及***
CN113282323A (zh) * 2021-05-31 2021-08-20 惠州华阳通用电子有限公司 一种基于双***升级包共享的升级方法
CN113407318A (zh) * 2021-06-04 2021-09-17 Oppo广东移动通信有限公司 操作***切换方法及装置、计算机可读介质和电子设备
WO2023035754A1 (zh) * 2021-09-08 2023-03-16 北京字节跳动网络技术有限公司 权限同步方法、装置、电子设备与存储介质
CN114048181A (zh) * 2021-10-20 2022-02-15 北京鲸鲮信息***技术有限公司 ***和容器共享文件的方法及装置
CN114048181B (zh) * 2021-10-20 2024-04-02 北京字节跳动网络技术有限公司 ***和容器共享文件的方法及装置
WO2023174220A1 (zh) * 2022-03-17 2023-09-21 北京有竹居网络技术有限公司 数据处理方法、装置、可读介质以及计算设备
CN115150392A (zh) * 2022-08-30 2022-10-04 统信软件技术有限公司 远程文件复制方法、***、计算设备及存储介质
CN115580644A (zh) * 2022-12-07 2023-01-06 北京小米移动软件有限公司 宿主机内客户***间的通讯方法、装置、设备及存储介质
CN117762572A (zh) * 2024-01-03 2024-03-26 北京火山引擎科技有限公司 宿主机与虚拟机共享目录文件***的卸载方法及设备

Also Published As

Publication number Publication date
CN108369604B (zh) 2021-12-03
WO2019127191A1 (zh) 2019-07-04

Similar Documents

Publication Publication Date Title
CN108369604A (zh) 一种多操作***共享文件***的方法、装置和电子设备
CN107231815B (zh) 用于图形渲染的***和方法
US9552233B1 (en) Virtual machine migration using free page hinting
CN104598257B (zh) 远程应用程序运行的方法和装置
US9158362B2 (en) System and method for power reduction by sequestering at least one device or partition in a platform from operating system access
CN103530167A (zh) 一种虚拟机内存数据的迁移方法及相关装置和集群***
US20240054006A1 (en) Virtualization processing system, method and apparatus, and device
KR102174221B1 (ko) 제공자 네트워크에서의 그래픽 처리 가상화
WO2012069276A1 (en) Device emulation in a virtualized computing environment
CN107526616B (zh) 一种主机对bmc进行数据写入和读取的方法及装置
WO2022121866A1 (zh) 一种基于加速卡的服务运行方法、装置、电子设备及计算机可读存储介质
WO2022041507A1 (zh) 3d渲染方法及***
CN109032788B (zh) 预留资源池动态调度方法、装置、计算机设备及存储介质
US11061746B2 (en) Enqueue-related processing based on timing out of an attempted enqueue
CN114281252A (zh) 非易失性高速传输总线NVMe设备的虚拟化方法及设备
CN112882826B (zh) 一种资源协同调度方法以及装置
US9569241B2 (en) Sharing devices assigned to virtual machines using runtime exclusion
CN112965788A (zh) 一种混合虚拟化方式的任务执行方法、***及设备
US20130111163A1 (en) Multiple Computing Environments On A Computer System
CN109033235A (zh) 一种数据存储双活架构构建方法、***、介质和电子设备
WO2021170054A1 (zh) 一种虚拟化的方法、设备、板卡及计算机可读存储介质
CN103902354A (zh) 一种虚拟化应用中快速初始化磁盘的方法
US12014047B2 (en) Stream based compressibility with auto-feedback
CN115801785A (zh) 云手机多用户管理方法、装置、服务器和存储介质
CN118093083A (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
GR01 Patent grant
GR01 Patent grant