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
client
server
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 (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广东移动通信有限公司 操作系统切换方法及装置、计算机可读介质和电子设备
CN114048181A (zh) * 2021-10-20 2022-02-15 北京鲸鲮信息系统技术有限公司 系统和容器共享文件的方法及装置
CN114490727A (zh) * 2021-12-31 2022-05-13 深圳云天励飞技术股份有限公司 目标数据库的高维向量搜索方法及相关设备
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127213A (zh) * 2019-12-30 2021-07-16 斑马智行网络(香港)有限公司 支持多应用共享数据的方法、装置、设备及存储介质
CN113608828B (zh) * 2021-06-30 2023-07-14 苏州浪潮智能科技有限公司 一种防护方法及其相关设备
CN113778611B (zh) * 2021-07-06 2024-08-20 锐捷网络(苏州)有限公司 数据传输方法、装置、系统及存储介质
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 (15)

* 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 上海汽车集团股份有限公司 一种系统信息获取方法、装置及系统
CN113010407B (zh) * 2019-12-20 2024-09-10 上海汽车集团股份有限公司 一种系统信息获取方法、装置及系统
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 北京字节跳动网络技术有限公司 权限同步方法、装置、电子设备与存储介质
CN114048181B (zh) * 2021-10-20 2024-04-02 北京字节跳动网络技术有限公司 系统和容器共享文件的方法及装置
CN114048181A (zh) * 2021-10-20 2022-02-15 北京鲸鲮信息系统技术有限公司 系统和容器共享文件的方法及装置
CN114490727A (zh) * 2021-12-31 2022-05-13 深圳云天励飞技术股份有限公司 目标数据库的高维向量搜索方法及相关设备
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 北京火山引擎科技有限公司 宿主机与虚拟机共享目录文件系统的卸载方法及设备
CN117762572B (zh) * 2024-01-03 2024-08-09 北京火山引擎科技有限公司 宿主机与虚拟机共享目录文件系统的卸载方法及设备

Also Published As

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

Similar Documents

Publication Publication Date Title
CN108369604B (zh) 一种多操作系统共享文件系统的方法、装置和电子设备
US11321452B2 (en) Execution environment virtualization method and apparatus and virtual execution environment access method and apparatus
CN110063051B (zh) 用于重新配置服务器的系统和方法以及服务器
US10013189B1 (en) Storage volume backup management for multi-tenant environments
US8533713B2 (en) Efficent migration of virtual functions to enable high availability and resource rebalance
CN110032413B (zh) 一种桌面虚拟化方法、相关设备及计算机存储介质
US10846124B2 (en) Communication method, apparatus and system for virtual machine and host machine
WO2019047709A1 (zh) 资源配置方法及相关产品
US11281388B2 (en) Method for managing a multi-system shared memory, electronic device and non-volatile computer-readable storage medium
CN103530167A (zh) 一种虚拟机内存数据的迁移方法及相关装置和集群系统
CN111314799A (zh) 终端系统构架、通信系统及通信方法、存储介质
CN108235759B (zh) 基于多操作系统的输入处理方法、装置及电子设备
US11928493B2 (en) Sharing of FPGA board by multiple virtual machines
US11875174B2 (en) Method and apparatus for virtual machine emulator upgrading virtualization emulator
CN104205050A (zh) 访问远程机器上的设备
CN108235756B (zh) 一种音频竞争播放装置及其方法、移动终端
CN114168239B (zh) 窗口显示方法、装置、设备和存储介质
CN113037795B (zh) 瘦终端系统及其处理方法
US20170155741A1 (en) Server, method, and system for providing service data
CN113886019B (zh) 虚拟机创建方法、装置、系统、介质和设备
CN107908957B (zh) 一种智能终端的安全运行管理方法及系统
US20180336085A1 (en) Crash dump extraction of guest failure
WO2017166997A1 (zh) 智能网卡侧的异常处理方法和装置
CN113885904A (zh) 系统升级方法、装置、电子设备及存储介质
CN111026532B (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