CN107168894B - 内存共享访问方法及电子设备 - Google Patents

内存共享访问方法及电子设备 Download PDF

Info

Publication number
CN107168894B
CN107168894B CN201710530098.5A CN201710530098A CN107168894B CN 107168894 B CN107168894 B CN 107168894B CN 201710530098 A CN201710530098 A CN 201710530098A CN 107168894 B CN107168894 B CN 107168894B
Authority
CN
China
Prior art keywords
virtual space
memory
identification information
access
obtaining
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.)
Active
Application number
CN201710530098.5A
Other languages
English (en)
Other versions
CN107168894A (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing Ltd
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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201710530098.5A priority Critical patent/CN107168894B/zh
Publication of CN107168894A publication Critical patent/CN107168894A/zh
Application granted granted Critical
Publication of CN107168894B publication Critical patent/CN107168894B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本公开提供了一种内存共享访问方法,应用于电子设备,所述电子设备包括存储器件,所述电子设备上能够运行至少一个虚拟空间,所述虚拟空间对应物理存储区域,所述物理存储区域为存储器件的一部分,所述物理存储区域之间相互独立,所述方法包括:获取第一虚拟空间的访问请求,基于所述访问请求获取所述第二虚拟空间的共享状态,所述共享状态用于标识所述第二虚拟空间对应的物理存储区域是否允许共享,获取所述内存的访问权限,所述访问权限用于标识第一虚拟空间能否访问所述内存,以及基于所述共享状态及访问权限,生成访问操作。本公开还提供了一种电子设备。

Description

内存共享访问方法及电子设备
技术领域
本公开涉及一种内存共享访问方法及电子设备。
背景技术
容器的安全隔离性是容器技术的一个关键技术指标,在容器内存安全隔离的基础上,需要在容器之间实现安全的内存共享,以便支持容器的一系列上层应用,如基于共享内存的高速通信等。
发明内容
本公开的一个方面提供了一种内存共享访问方法,应用于电子设备,所述电子设备包括存储器件,所述电子设备上能够运行至少一个虚拟空间,所述虚拟空间对应物理存储区域,所述物理存储区域为存储器件的一部分,所述物理存储区域之间相互独立,所述方法包括:获取第一虚拟空间的访问请求,基于所述访问请求获取所述第二虚拟空间的共享状态,所述共享状态用于标识所述第二虚拟空间对应的物理存储区域是否允许共享,获取所述内存的访问权限,所述访问权限用于标识第一虚拟空间能否访问所述内存,以及基于所述共享状态及访问权限,生成访问操作。
可选地,所述虚拟空间还对应数据结构,所述数据结构包括第一识别信息,用于关联所述虚拟空间,所述共享状态记录于所述数据结构中,所述获取所述第二虚拟空间的共享状态包括:获取第二识别信息,所述第二识别信息与所述第一识别信息相关联,用于标识所述内存属于第二虚拟空间对应的物理存储区域,基于第二识别信息,获取带有第一识别信息的数据结构,以及从带有第一识别信息的数据结构中获取所述第二虚拟空间的共享状态。
可选地,所述获取第一虚拟空间的访问请求包括获取第一虚拟空间通过映射表发起的访问请求,所述映射表包括映射表项,所述映射表项对应所述内存,所述获取第二识别信息包括从所述映射表项中获取第二识别信息,所述获取所述内存的访问权限包括从所述映射表项中获取所述内存的访问权限。
可选地,在所述获取第一虚拟空间的访问请求之前,所述方法还包括:获取第二虚拟空间的共享请求,将所述内存映射到所述映射表中,获得所述内存对应的映射表项,基于第二虚拟空间对应的数据结构中的第一识别信息,在所述内存对应的映射表项中设置第二识别信息,在所述内存对应的映射表项中设置访问权限,以及在第二虚拟空间对应的数据结构中设置共享状态。
可选地,在获取第二虚拟空间的共享请求之后,所述方法还包括:判断所述内存是否已存在映射,若已存在映射,则获取映射表项中的第二识别信息,基于第二识别信息,判断所述内存是否属于第二虚拟空间对应的物理存储区域,以及若所述内存不属于第二虚拟空间对应的物理存储区域,则禁止第二虚拟空间共享所述内存。
本公开的另一个方面提供了一种电子设备,包括存储器件,所述电子设备上能够运行至少一个虚拟空间,所述虚拟空间对应物理存储区域,所述物理存储区域为存储器件的一部分,所述物理存储区域之间相互独立,所述电子设备还包括:第一获取模块,用于获取第一虚拟空间的访问请求,基于所述访问请求获取所述第二虚拟空间的共享状态,所述共享状态用于标识所述第二虚拟实体对应的物理存储区域是否允许共享,第二获取模块,用于获取所述内存的访问权限,所述访问权限用于标识第一虚拟空间能否访问所述内存,以及访问模块,用于基于所述共享状态及访问权限,生成访问操作。
可选地,所述虚拟空间还对应数据结构,所述数据结构包括第一识别信息,用于关联所述虚拟空间,所述共享状态记录于所述数据结构中,所述第一获取模块包括:第三获取模块,用于获取第二识别信息,所述第二识别信息与所述第一识别信息相关联,用于标识所述内存属于第二虚拟空间对应的物理存储区域,第四获取模块,用于基于第二识别信息,获取带有第一识别信息的数据结构,以及第五获取模块,用于从带有第一识别信息的数据结构中获取所述第二虚拟空间的共享状态。
可选地,所述获取第一虚拟空间的访问请求包括获取第一虚拟空间通过映射表发起的访问请求,所述映射表包括映射表项,所述映射表项对应所述内存,所述获取第二识别信息包括从所述映射表项中获取第二识别信息,所述获取所述内存的访问权限包括从所述映射表项中获取所述内存的访问权限。
可选地,所述电子设备还包括:第六获取模块,用于在所述获取第一虚拟空间的访问请求之前,获取所述第二虚拟实体空间的共享请求,映射模块,用于将所述内存映射到所述映射表中,获得所述内存对应的映射表项,第一设置模块,用于基于第二虚拟空间对应的数据结构中的第一识别信息,在所述内存对应的映射表项中设置第二识别信息,第二设置模块,用于在所述内存对应的映射表项中设置访问权限,以及第三设置模块,用于在第二虚拟空间对应的数据结构中设置共享状态。
可选地,所述电子设备还包括:第一判断模块,用于在获取所述第二虚拟实体空间的共享请求之后,判断所述内存是否已存在映射,第七获取模块,用于在已存在映射的情况下,获取映射表项中的第二识别信息,第二判断模块,用于基于第二识别信息,判断所述内存是否属于第二虚拟空间对应的物理存储区域,以及禁止模块,用于在所述内存不属于第二虚拟空间对应的物理存储区域的情况下,禁止第二虚拟空间共享所述内存。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开的实施例的内存共享访问的应用场景;
图2示意性示出了根据本公开的实施例的内存共享访问方法的流程图;
图3示意性示出了根据本公开的实施例的获取所述第二虚拟空间的共享状态的方法流程图;
图4示意性示出了根据本公开实施例的内存共享访问的示意图;
图5示意性示出了根据本公开实施例的内存共享访问方法的流程图;
图6示意性示出了根据本公开的实施例的内存共享的方法流程图;
图7示意性示出了根据本公开的实施例的内存共享的方法流程图;
图8示意性示出了根据本公开的实施例的虚拟空间创建的方法流程图;
图9示意性示出了根据本公开的实施例的电子设备的结构框图;
图10示意性示出了根据本公开的实施例的第一获取模块的结构框图;
图11示意性示出了根据本公开的实施例的电子设备的结构框图;以及
图12示意性示出了根据本公开的实施例的电子设备的结构框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本公开的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
图1示意性示出了根据本公开的实施例的内存共享访问的应用场景。
如图1所示,在一电子设备上,包括有存储器件100。该电子设备运行了三个虚拟空间,即第一虚拟空间10、第二虚拟空间20和第三虚拟空间30。第一虚拟空间10对应物理存储区域111,第二虚拟空间20对应物理存储区域121和122,第三虚拟空间30对应物理存储区域131。物理存储区域111、121、122或131为存储器件100的一部分,并且物理存储区域111、121、122、131之间相互独立。
根据本公开的实施例,在未开启共享的情况下,虚拟空间仅能访问与之相对应的物理存储区域,例如,第一虚拟空间10允许访问物理存储区域111,而不能访问物理存储区域111以外的其他区域。然而,在一些情况下,某个虚拟空间希望共享与之对应的物理存储区域的一部分给某些特定的其他虚拟空间。例如,如图1所示,第二虚拟空间20希望将物理存储区域122共享给第一虚拟空间10,同时,又不希望第三虚拟空间30访问物理存储区域121或122。
基于上述内容,本发明提供了一种内存共享访问方法及电子设备。该内存共享访问方法应用于电子设备,所述电子设备包括存储器件,所述电子设备上能够运行至少一个虚拟空间,所述虚拟空间对应物理存储区域,所述物理存储区域为存储器件的一部分,所述物理存储区域之间相互独立。
图2示意性示出了根据本公开的实施例的内存共享访问方法的流程图。
如图2所示,该方法包括,在操作S201,获取第一虚拟空间的访问请求,基于所述访问请求获取所述第二虚拟空间的共享状态。
在操作S202,获取所述内存的访问权限,所述访问权限用于标识第一虚拟空间能否访问所述内存。
然后,在操作S203,基于所述共享状态及访问权限,生成访问操作。
该方法允许特定虚拟空间访问自己的物理存储区域。
在操作S201,获取第一虚拟空间的访问请求,基于所述访问请求获取所述第二虚拟空间的共享状态,所述共享状态用于标识所述第二虚拟空间对应的物理存储区域是否允许共享。
根据本公开实施例,所述虚拟空间还对应数据结构,所述数据结构包括第一识别信息,用于关联所述虚拟空间,所述共享状态记录于所述数据结构中。
下面结合图3和图4对获取所述第二虚拟空间的共享状态进行描述。
图3示意性示出了根据本公开的实施例的获取所述第二虚拟空间的共享状态的方法流程图。
图4示意性示出了根据本公开实施例的内存共享访问的示意图。
如图3所示,该方法包括,在操作S301,获取第二识别信息。
然后,在操作S302,基于第二识别信息,获取带有第一识别信息的数据结构。
在操作S303,从带有第一识别信息的数据结构中获取所述第二虚拟空间的共享状态。
该方法通过与虚拟空间对应的数据结构,以及在数据结构中设置的共享状态,在访问内存时,可方便地找到对应的数据结构,并获得共享状态。
具体地,在操作S301,获取第二识别信息,所述第二识别信息与所述第一识别信息相关联,用于标识所述内存属于第二虚拟空间对应的物理存储区域。
参考图4,第二虚拟空间20对应数据结构420,数据结构420包括第一识别信息421,用于关联所述虚拟空间,以及共享状态422。
根据本公开实施例,获取第一虚拟空间的访问请求包括获取第一虚拟空间通过映射表发起的访问请求,所述映射表包括映射表项,所述映射表项对应所述内存,所述获取第二识别信息包括从所述映射表项中获取第二识别信息。
参考图4,第一虚拟空间10通过映射表400访问内存,内存对应于映射表项401,映射表项401包括第二识别信息401B。
在映射表项中设置第二识别信息,可以将所述内存准确地与第二虚拟空间及其数据结构对应,共享访问管理更加精确。
然后,在操作S302,基于第二识别信息,获取带有第一识别信息的数据结构。
根据本公开实施例,第二识别信息与数据结构中的第一识别信息相关联,因此,基于第二识别信息,可以获取带有第一识别信息的数据结构。参考图4,基于第二识别信息401B,可以获取带有第一识别信息421的数据结构420,该数据结构对应的虚拟空间,与内存所属物理存储区域对应的虚拟空间一致,即第二虚拟空间20。
在操作S303,从带有第一识别信息的数据结构中获取所述第二虚拟空间的共享状态。参考图4,在数据结构420中获取共享状态422。
返回参考图2,在操作S202,获取所述内存的访问权限,所述访问权限用于标识第一虚拟空间能否访问所述内存。
根据本公开实施例,映射表项中还记载了访问权限,因此,可以从映射表项中获取所述内存的访问权限。参考图4,可以从映射表项401中获取访问权限401A。
访问权限用于标识第一虚拟空间能否访问所述内存。由于映射表项空间有限,本公开实施例还提供了一种访问权限标识方法。可在访问权限标识区域的各二进制位,按照虚拟空间的序列,一个二进制位对应一个虚拟空间的访问权限。例如访问权限标识区域记录了“10010”,假设1表示允许访问,0表示禁止访问,那么“10010”表示允许编号为1,和4的虚拟空间访问该内存,同时,禁止编号为2、3和5的虚拟空间访问。该方法节省了存储空间。
然后,在操作S203,基于所述共享状态及访问权限,生成访问操作。
根据本公开实施例,在共享状态表示所述第二虚拟空间对应的物理存储区域允许共享,并且,访问权限表示第一虚拟空间能够访问所述内存的情况下,允许第一虚拟空间访问该内存,否则禁止访问。
特别地,根据本公开实施例,在获取共享状态时,根据获取的第二识别信息,判断所述内存属于第二虚拟空间对应的物理存储区域,若第二虚拟空间与第一虚拟空间为同一虚拟空间,即,将要访问的内存属于第一虚拟空间对应的物理存储区域,则无需继续获取共享状态以及访问权限,允许该次访问。
基于上述过程,图5给出了完整的内存访问流程图。
图5示意性示出了根据本公开实施例的内存共享访问方法的流程图。
如图5所示,该方法包括,在操作S501,获取第一虚拟空间的访问请求。
在操作S502,通过映射表,查询待访问内存对应的映射表项。
在操作S503,从该映射表项中读取第二识别信息,与第一虚拟空间对应的数据结构中的第一识别信息比较。
在操作S504,判断第二识别信息与第一识别信息是否符合对应关系,即,将要访问的内存属于第一虚拟空间对应的物理存储区域。若符合,执行操作S505,允许该次访问,流程结束。
若不符合,即第二虚拟空间与第一虚拟空间为不同的虚拟空间,执行操作S506,基于第二识别信息,查询对应的数据结构。
在操作S507,从该数据结构中获取共享状态,判断第二虚拟空间是否允许共享。若不允许,则执行操作S508,禁止访问,流程结束。
若允许,则执行操作S509,从映射表中读取访问权限。
在操作S510,根据访问权限,判断该内存是否允许第一虚拟空间访问,若不允许,执行操作S508,禁止访问。若允许,执行操作S505,允许访问。流程结束。
根据本公开实施例,在第一虚拟空间访问内存前,还包括第二虚拟空间共享内存的过程。
图6示意性示出了根据本公开的实施例的内存共享的方法流程图。
如图6所示,该方法包括,在操作S601,获取第二虚拟空间的共享请求。
在操作S602,将所述内存映射到所述映射表中,获得所述内存对应的映射表项。
在操作S603,基于第二虚拟空间对应的数据结构中的第一识别信息,在所述内存对应的映射表项中设置第二识别信息。
在操作S604,在所述内存对应的映射表项中设置访问权限。
在操作S605,在第二虚拟空间对应的数据结构中设置共享状态。
根据本公开实施例,特别地,在请求被共享的内存已经被映射过的情况下,需要判断该内存是否属于请求共享的虚拟空间对应的物理存储区域,以确定该虚拟空间是否有权对该内存的共享情况进行设置。
图7示意性示出了根据本公开的实施例的内存共享的方法流程图。
如图7所示,该方法包括,在操作S601之后,执行操作S701,判断所述内存是否已存在映射。若不存在映射,则执行如图6所述的方法。
若已存在映射,则执行S702,获取映射表项中的第二识别信息。
在操作S703,基于第二识别信息,判断所述内存是否属于第二虚拟空间对应的物理存储区域。若属于第二虚拟空间对应的物理存储区域,则跳转至操作S604,并继续执行如图6所述的操作。
若所述内存不属于第二虚拟空间对应的物理存储区域,则执行操作S704,禁止第二虚拟空间共享所述内存。
该方法仅允许虚拟空间共享与其对应的物理存储区域上的内存,避免虚拟空间修改其他虚拟空间对应的物理存储区域上的内存。
基于上文图2~图7所描述的内容,本公开实施例还提供了一种虚拟空间创建方法。
图8示意性示出了根据本公开的实施例的虚拟空间创建的方法流程图。
如图8所示,该方法包括,在操作S801,获取创建虚拟空间请求。
然后,在操作S802,生成第一识别信息。
在操作S803,分配数据结构,设置数据结构中的第一识别信息。
在操作S804,为虚拟空间分配物理存储区域。
在操作S805,在虚拟空间对应的数据结构中设置共享状态。
本公开实施例还提供了一种电子设备。
图9示意性示出了根据本公开的实施例的电子设备的结构框图。
如图9所示,电子设备900包括存储器件,所述电子设备上能够运行至少一个虚拟空间,所述虚拟空间对应物理存储区域,所述物理存储区域为存储器件的一部分,所述物理存储区域之间相互独立,电子设备900还包括第一获取模块910、第二获取模块920和访问模块930。
具体地,第一获取模块910,例如执行上文参考图2描述的操作S201,用于获取第一虚拟空间的访问请求,基于所述访问请求获取所述第二虚拟空间的共享状态,所述共享状态用于标识所述第二虚拟实体对应的物理存储区域是否允许共享。
第二获取模块920,例如执行上文参考图2描述的操作S202,用于获取所述内存的访问权限,所述访问权限用于标识第一虚拟空间能否访问所述内存。
访问模块930,例如执行上文参考图2描述的操作S203,用于基于所述共享状态及访问权限,生成访问操作。
根据本公开实施例,所述虚拟空间还对应数据结构,所述数据结构包括第一识别信息,用于关联所述虚拟空间,所述共享状态记录于所述数据结构中。
图10示意性示出了根据本公开的实施例的第一获取模块的结构框图。
如图10所示,第一获取模块910包括第三获取模块911、第四获取模块912和第五获取模块913。
第三获取模块911,例如执行上文参考图3描述的操作S301,用于获取第二识别信息,所述第二识别信息与所述第一识别信息相关联,用于标识所述内存属于第二虚拟空间对应的物理存储区域。
第四获取模块912,例如执行上文参考图3描述的操作S302,用于基于第二识别信息,获取带有第一识别信息的数据结构。
第五获取模块913,例如执行上文参考图3描述的操作S303,用于从带有第一识别信息的数据结构中获取所述第二虚拟空间的共享状态。
根据本公开实施例,所述获取第一虚拟空间的访问请求包括获取第一虚拟空间通过映射表发起的访问请求,所述映射表包括映射表项,所述映射表项对应所述内存,所述获取第二识别信息包括从所述映射表项中获取第二识别信息,所述获取所述内存的访问权限包括从所述映射表项中获取所述内存的访问权限。
图11示意性示出了根据本公开的实施例的电子设备的结构框图。
如图11所示,电子设备900还包括第六获取模块1110、映射模块1120、第一设置模块1130、第二设置模块1140和第三设置模块1150。
具体地,第六获取模块1110,例如执行上文参考图6描述的操作S601,用于在所述获取第一虚拟空间的访问请求之前,获取所述第二虚拟实体空间的共享请求。
映射模块1120,例如执行上文参考图6描述的操作S602,用于将所述内存映射到所述映射表中,获得所述内存对应的映射表项。
第一设置模块1130,例如执行上文参考图6描述的操作S603,用于基于第二虚拟空间对应的数据结构中的第一识别信息,在所述内存对应的映射表项中设置第二识别信息。
第二设置模块1140,例如执行上文参考图6描述的操作S604,用于在所述内存对应的映射表项中设置访问权限。
第三设置模块1150,例如执行上文参考图6描述的操作S605,用于在第二虚拟空间对应的数据结构中设置共享状态。
图12示意性示出了根据本公开的实施例的电子设备的结构框图。
如图12所示,电子设备900还包括第一判断模块1210、第七获取模块1220、第二判断模块1230和禁止模块1240。
具体地,第一判断模块1210,例如执行上文参考图7描述的操作S701,用于在获取所述第二虚拟实体空间的共享请求之后,判断所述内存是否已存在映射。
第七获取模块1220,例如执行上文参考图7描述的操作S702,用于在已存在映射的情况下,获取映射表项中的第二识别信息。
第二判断模块1230,例如执行上文参考图7描述的操作S703,用于基于第二识别信息,判断所述内存是否属于第二虚拟空间对应的物理存储区域。
禁止模块1240,例如执行上文参考图7描述的操作S704,用于在所述内存不属于第二虚拟空间对应的物理存储区域的情况下,禁止第二虚拟空间共享所述内存。
可以理解的是,第一获取模块910、第二获取模块920、访问模块930、第三获取模块911、第四获取模块912、第五获取模块913、第六获取模块1110、映射模块1120、第一设置模块1130、第二设置模块1140、第三设置模块1150、第一判断模块1210、第七获取模块1220、第二判断模块1230以及禁止模块1240可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,第一获取模块910、第二获取模块920、访问模块930、第三获取模块911、第四获取模块912、第五获取模块913、第六获取模块1110、映射模块1120、第一设置模块1130、第二设置模块1140、第三设置模块1150、第一判断模块1210、第七获取模块1220、第二判断模块1230以及禁止模块1240中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。或者,第一获取模块910、第二获取模块920、访问模块930、第三获取模块911、第四获取模块912、第五获取模块913、第六获取模块1110、映射模块1120、第一设置模块1130、第二设置模块1140、第三设置模块1150、第一判断模块1210、第七获取模块1220、第二判断模块1230以及禁止模块1240中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (10)

1.一种内存共享访问方法,应用于电子设备,所述电子设备包括存储器件,所述电子设备上能够运行至少一个虚拟空间,所述虚拟空间对应物理存储区域,所述物理存储区域为存储器件的一部分,所述物理存储区域之间相互独立,所述方法包括:
获取第一虚拟空间对内存的访问请求,基于所述访问请求确定与所述内存对应的第二虚拟空间,获取所述第二虚拟空间的共享状态,所述共享状态用于标识所述第二虚拟空间对应的物理存储区域是否允许共享,其中,所述内存属于所述第二虚拟空间对应的物理存储区域;
获取所述内存的访问权限,所述访问权限用于标识第一虚拟空间能否访问所述内存;以及
基于所述共享状态及访问权限,生成访问操作。
2.根据权利要求1所述的方法,其中,所述虚拟空间还对应数据结构,所述数据结构包括第一识别信息,用于关联所述虚拟空间,所述共享状态记录于所述数据结构中,所述获取所述第二虚拟空间的共享状态包括:
基于对所述内存的访问请求,获取第二识别信息,所述第二识别信息用于标识所述内存属于第二虚拟空间对应的物理存储区域;
基于第二识别信息,确定与所述第二识别信息相关联的第一识别信息,获取带有第一识别信息的数据结构;以及
从带有第一识别信息的数据结构中获取所述第二虚拟空间的共享状态。
3.根据权利要求2所述的方法,其中,所述获取第一虚拟空间的访问请求包括获取第一虚拟空间通过映射表发起的访问请求,所述映射表包括映射表项,所述映射表项对应所述内存,所述获取第二识别信息包括从所述映射表项中获取第二识别信息,所述获取所述内存的访问权限包括从所述映射表项中获取所述内存的访问权限。
4.根据权利要求3所述的方法,其中,在所述获取第一虚拟空间的访问请求之前,所述方法还包括:
获取第二虚拟空间的共享请求;
将所述内存映射到所述映射表中,获得所述内存对应的映射表项;
基于第二虚拟空间对应的数据结构中的第一识别信息,在所述内存对应的映射表项中设置第二识别信息;
在所述内存对应的映射表项中设置访问权限;以及
在第二虚拟空间对应的数据结构中设置共享状态。
5.根据权利要求4所述的方法,其中,在获取第二虚拟空间的共享请求之后,所述方法还包括:
判断所述内存是否已存在映射;
若已存在映射,则获取映射表项中的第二识别信息;
基于第二识别信息,判断所述内存是否属于第二虚拟空间对应的物理存储区域;以及
若所述内存不属于第二虚拟空间对应的物理存储区域,则禁止第二虚拟空间共享所述内存。
6.一种电子设备,包括存储器件,所述电子设备上能够运行至少一个虚拟空间,所述虚拟空间对应物理存储区域,所述物理存储区域为存储器件的一部分,所述物理存储区域之间相互独立,所述电子设备还包括:
第一获取模块,用于获取第一虚拟空间对内存的访问请求,基于所述访问请求确定与所述内存对应的第二虚拟空间,获取所述第二虚拟空间的共享状态,所述共享状态用于标识所述第二虚拟空间对应的物理存储区域是否允许共享,其中,所述内存属于所述第二虚拟空间对应的物理存储区域;
第二获取模块,用于获取所述内存的访问权限,所述访问权限用于标识第一虚拟空间能否访问所述内存;以及
访问模块,用于基于所述共享状态及访问权限,生成访问操作。
7.根据权利要求6所述的电子设备,其中,所述虚拟空间还对应数据结构,所述数据结构包括第一识别信息,用于关联所述虚拟空间,所述共享状态记录于所述数据结构中,所述第一获取模块包括:
第三获取模块,用于基于对所述内存的访问请求,获取第二识别信息,所述第二识别信息用于标识所述内存属于第二虚拟空间对应的物理存储区域;
第四获取模块,用于基于第二识别信息,确定与所述第二识别信息相关联的第二识别信息,获取带有第一识别信息的数据结构;以及
第五获取模块,用于从带有第一识别信息的数据结构中获取所述第二虚拟空间的共享状态。
8.根据权利要求7所述的电子设备,其中,所述获取第一虚拟空间的访问请求包括获取第一虚拟空间通过映射表发起的访问请求,所述映射表包括映射表项,所述映射表项对应所述内存,所述获取第二识别信息包括从所述映射表项中获取第二识别信息,所述获取所述内存的访问权限包括从所述映射表项中获取所述内存的访问权限。
9.根据权利要求8所述的电子设备,其中,所述电子设备还包括:
第六获取模块,用于在所述获取第一虚拟空间的访问请求之前,获取所述第二虚拟实体空间的共享请求;
映射模块,用于将所述内存映射到所述映射表中,获得所述内存对应的映射表项;
第一设置模块,用于基于第二虚拟空间对应的数据结构中的第一识别信息,在所述内存对应的映射表项中设置第二识别信息;
第二设置模块,用于在所述内存对应的映射表项中设置访问权限;以及
第三设置模块,用于在第二虚拟空间对应的数据结构中设置共享状态。
10.根据权利要求9所述的电子设备,其中,所述电子设备还包括:
第一判断模块,用于在获取所述第二虚拟实体空间的共享请求之后,判断所述内存是否已存在映射;
第七获取模块,用于在已存在映射的情况下,获取映射表项中的第二识别信息;
第二判断模块,用于基于第二识别信息,判断所述内存是否属于第二虚拟空间对应的物理存储区域;以及
禁止模块,用于在所述内存不属于第二虚拟空间对应的物理存储区域的情况下,禁止第二虚拟空间共享所述内存。
CN201710530098.5A 2017-06-30 2017-06-30 内存共享访问方法及电子设备 Active CN107168894B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710530098.5A CN107168894B (zh) 2017-06-30 2017-06-30 内存共享访问方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710530098.5A CN107168894B (zh) 2017-06-30 2017-06-30 内存共享访问方法及电子设备

Publications (2)

Publication Number Publication Date
CN107168894A CN107168894A (zh) 2017-09-15
CN107168894B true CN107168894B (zh) 2020-08-25

Family

ID=59827894

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710530098.5A Active CN107168894B (zh) 2017-06-30 2017-06-30 内存共享访问方法及电子设备

Country Status (1)

Country Link
CN (1) CN107168894B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114580005B (zh) * 2022-05-09 2023-02-28 深圳市航顺芯片技术研发有限公司 数据访问方法、计算机设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452454A (zh) * 2007-11-30 2009-06-10 华为技术有限公司 文件集共享方法及装置
CN103488588A (zh) * 2013-10-09 2014-01-01 中国科学院计算技术研究所 一种内存保护方法、系统及网络接口控制器
CN104123233A (zh) * 2013-04-26 2014-10-29 华茂云天科技(北京)有限公司 一种虚拟机大容量内存共享方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5057366B2 (ja) * 2006-10-30 2012-10-24 株式会社日立製作所 情報システム及び情報システムのデータ転送方法
KR101355105B1 (ko) * 2012-01-03 2014-01-23 서울대학교산학협력단 캐시 일관성 보장을 위한 공유 가상 메모리 관리 장치
US9892037B2 (en) * 2014-12-29 2018-02-13 International Business Machines Corporation Efficient and secure direct storage device sharing in virtualized environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101452454A (zh) * 2007-11-30 2009-06-10 华为技术有限公司 文件集共享方法及装置
CN104123233A (zh) * 2013-04-26 2014-10-29 华茂云天科技(北京)有限公司 一种虚拟机大容量内存共享方法
CN103488588A (zh) * 2013-10-09 2014-01-01 中国科学院计算技术研究所 一种内存保护方法、系统及网络接口控制器

Also Published As

Publication number Publication date
CN107168894A (zh) 2017-09-15

Similar Documents

Publication Publication Date Title
CN108520181B (zh) 数据模型训练方法和装置
US20200127861A1 (en) Decentralized edge computing transactions with fine-grained time coordination
CN104054086B (zh) 针对一个或多个沙箱化应用程序的文件系统访问
US11163749B2 (en) Managing multiple locks for data set members in a data set index
US9544726B2 (en) Adding location names using private frequent location data
CN104050201A (zh) 用于多租户分布式环境中的数据管理的方法和设备
US20210157848A1 (en) Methods, apparatus and systems to enforce data boundaries through the use of boundary labels
EP2947848B1 (en) System and method for granting permission for a machine action
WO2021208758A1 (zh) 数据权限管理
US10732889B2 (en) Information handling system with multi-key secure erase of distributed namespace
TW202025057A (zh) 欄位更新方法及裝置、電子設備
KR20220048927A (ko) 에지 컴퓨팅 환경에서 컨테이너의 재사용을 위한 방법 및 장치
US10380005B2 (en) System and method for production testing of an application
US20200074091A1 (en) Multi-layered data security in mobile personal computing devices
CN109460406A (zh) 一种数据处理方法及装置
US20220261489A1 (en) Capability management method and computer device
CN107168894B (zh) 内存共享访问方法及电子设备
US10547683B2 (en) Object based storage systems that utilize direct memory access
US20150186294A1 (en) Systems and methods for managing read-only memory
CN103294407A (zh) 存储装置和数据读写方法
CN109299613B (zh) 数据库分区权限的设置方法和终端设备
CN104732161A (zh) 一种信息处理方法及电子设备
CN106778321B (zh) 权限控制方法和装置
CN109284633A (zh) 用于区块链网络系统的数据处理方法和数据处理装置
CN104537023A (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