CN112764925A - 基于虚拟内存的数据存储方法、装置、设备及存储介质 - Google Patents
基于虚拟内存的数据存储方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112764925A CN112764925A CN202110063607.4A CN202110063607A CN112764925A CN 112764925 A CN112764925 A CN 112764925A CN 202110063607 A CN202110063607 A CN 202110063607A CN 112764925 A CN112764925 A CN 112764925A
- Authority
- CN
- China
- Prior art keywords
- memory
- address
- data
- physical address
- virtual 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 219
- 238000013500 data storage Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013507 mapping Methods 0.000 claims abstract description 40
- 238000011084 recovery Methods 0.000 claims description 18
- 230000006835 compression Effects 0.000 claims description 16
- 238000007906 compression Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于虚拟内存的数据存储方法、装置、设备及存储介质;本方案包括:若检测到操作***执行分配内存操作,则确定与分配内存操作对应的待存储的目标数据以及操作***分配的第一逻辑地址;若第一逻辑地址在虚拟内存范围内,则通过地址映射机制确定与第一逻辑地址对应的第一物理地址,第一物理地址为扩展的板卡内存的物理地址;利用第一物理地址将目标数据存储至扩展的板卡内存。可见,本方案基于虚拟内存进行数据存储时,使用扩展的板卡内存作为虚拟内存的存储介质,直接将数据存储至板卡内存中,从而避免占用磁盘空间,提高访问速度。
Description
技术领域
本发明涉及计算机内存管理领域,更具体地说,涉及一种基于虚拟内存的数据存储方法、装置、设备及存储介质。
背景技术
虚拟内存是计算机内存管理的一种特定技术。它使得应用程序认为它拥有连续的可用的内存,而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储器上,在需要时进行数据交换。目前,大多数操作***都使用了虚拟内存技术,例如:Windows***的“虚拟内存”,Linux的“交换空间”等。但是,传统的虚拟内存均使用磁盘作为虚拟内存介质,导致出现占用大量磁盘空间、访问速度慢的问题。
发明内容
本发明的目的在于提供一种基于虚拟内存的数据存储方法、装置、设备及存储介质,以减少虚拟内存占用磁盘空间,提高虚拟内存访问速度。
为实现上述目的,本发明提供一种基于虚拟内存的数据存储方法,包括:
若检测到操作***执行分配内存操作,则确定与所述分配内存操作对应的待存储的目标数据以及所述操作***分配的第一逻辑地址;
若所述第一逻辑地址在虚拟内存范围内,则通过地址映射机制确定与所述第一逻辑地址对应的第一物理地址,所述第一物理地址为扩展的板卡内存的物理地址;
利用所述第一物理地址将所述目标数据存储至扩展的板卡内存。
其中,若第一逻辑地址在虚拟内存范围内,则该数据存储方法还包括:
通过无损压缩算法对所述目标数据进行压缩,得到压缩数据;
相应的,所述利用所述第一物理地址将所述目标数据存储至扩展的板卡内存包括:利用所述第一物理地址将所述压缩数据存储至扩展的板卡内存。
其中,所述通过地址映射机制确定与所述第一逻辑地址对应的第一物理地址之后,还包括:
判断所述压缩数据的容量是否小于所述目标数据的容量;
若是,则利用所述第一物理地址将所述压缩数据存储至扩展的板卡内存,否则,利用所述第一物理地址将所述目标数据存储至扩展的板卡内存。
其中,将所述压缩数据/目标数据存储至扩展的板卡内存之后,还包括:
根据所述压缩数据/目标数据的容量对虚拟内存的剩余容量进行更新。
其中,若第一逻辑地址在虚拟内存范围内,则所述数据存储方法还包括:
判断虚拟内存的剩余容量是否大于所述目标数据的容量;
若是,则执行所述通过地址映射机制确定与所述第一逻辑地址对应的第一物理地址的步骤;
若否,则通过地址映射机制确定与所述第一逻辑地址对应的第二物理地址,并基于所述第二物理地址将所述目标数据存储至磁盘;所述第二物理地址为磁盘的物理地址。
其中,所述数据存储方法还包括:
若检测到操作***执行回收内存操作,则确定与所述回收内存操作对应的第二逻辑地址;
若所述第二逻辑地址在虚拟内存范围内,则通过地址映射机制确定与所述第二逻辑地址对应的第三物理地址,对所述第三物理地址下存储的数据执行回收操作,并对虚拟内存的剩余容量进行更新。
其中,所述数据存储方法还包括:
若检测到操作***执行数据读取操作,则确定与所述数据读取操作对应的第三逻辑地址;
若所述第三逻辑地址在虚拟内存范围内,则通过地址映射机制确定与所述第三逻辑地址对应的第四物理地址及待读取数据的容量,基于所述第四物理地址及待读取数据的容量执行数据读取操作。
为实现上述目的,本发明进一步提供一种基于虚拟内存的数据存储装置,包括:
数据确定模块,用于在检测到操作***执行分配内存操作时,确定与所述分配内存操作对应的待存储的目标数据;
第一逻辑地址确定模块,用于在检测到操作***执行分配内存操作时,确定与所述分配内存操作对应的所述操作***分配的第一逻辑地址;
第一物理地址确定模块,用于在所述第一逻辑地址在虚拟内存范围内时,通过地址映射机制确定与所述第一逻辑地址对应的第一物理地址,所述第一物理地址为扩展的板卡内存的物理地址;
第一数据存储模块,用于利用所述第一物理地址将所述目标数据存储至扩展的板卡内存。
为实现上述目的,本发明进一步提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述基于虚拟内存的数据存储方法的步骤。
为实现上述目的,本发明进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于虚拟内存的数据存储方法的步骤。
通过以上方案可知,本发明实施例提供的一种基于虚拟内存的数据存储方法,包括:若检测到操作***执行分配内存操作,则确定与所述分配内存操作对应的待存储的目标数据以及操作***分配的第一逻辑地址;若第一逻辑地址在虚拟内存范围内,则通过地址映射机制确定与第一逻辑地址对应的第一物理地址,第一物理地址为扩展的板卡内存的物理地址;利用第一物理地址将目标数据存储至扩展的板卡内存。
可见,本方案基于虚拟内存进行数据存储时,使用扩展的板卡内存作为虚拟内存的存储介质,直接将数据存储至板卡内存中,从而避免占用磁盘空间,提高访问速度;本发明还公开了一种基于虚拟内存的数据存储装置、设备及存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种基于虚拟内存的数据存储方法流程示意图;
图2为本发明实施例公开的另一种基于虚拟内存的数据存储方法流程示意图;
图3为本发明实施例公开的数据存储***结构示意图;
图4为本发明实施例公开的一种基于虚拟内存的数据存储装置结构示意图;
图5为本发明实施例公开的一种电子设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,虚拟存储器是由硬件和操作***自动实现存储信息调度和管理,它的工作过程包括6个步骤:
步骤1、中央处理器访问主存的逻辑地址,将该逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。
步骤2、如该组号a已在主存内,则转而执行步骤4;如果该组号a不在主存内,则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存(磁盘),以便将这组信息调入主存。
步骤3、从辅存读出所要的组,并送到主存空闲区,然后将该空闲的物理组号a和逻辑组号a登录在地址变换表中。
步骤4、从地址变换表读出与逻辑组号a对应的物理组号a。
步骤5、从物理组号a和组内字节地址b得到物理地址。
步骤6、根据物理地址从主存中存取必要的信息。
并且,现有方案使用磁盘作为虚拟内存介质,会占用磁盘空间,在向磁盘发送访问请求时,访问速度慢,效率偏低。因此,本发明实施例公开了一种基于虚拟内存的数据存储方法、装置、设备及存储介质,以减少虚拟内存占用磁盘空间,提高虚拟内存访问速度。
参见图1,本发明实施例提供的一种基于虚拟内存的数据存储方法流程示意图;该数据存储方法包括:
S101、若检测到操作***执行分配内存操作,则确定与分配内存操作对应的待存储的目标数据以及操作***分配的第一逻辑地址;
具体的,操作***在向虚拟内存存储目标数据时,需要执行分配内存操作,从而为待存储的目标数据分配逻辑地址,在本方案中,将操作***分配给目标数据的逻辑地址称为第一逻辑地址,以与其他逻辑地址区分。
并且,操作***执行分配内存操作时,本方案即可检测出该操作,从而获得待存储的目标数据及第一逻辑地址。本方案可在操作***中设置***补丁,该***补丁用于在操作***执行分配内存操作、执行回收内存操作、执行读取内存操作时,检测对应的逻辑地址及进行数据的转发。因此在本方案中,操作***执行分配内存操作后,***补丁即会检测出该第一逻辑地址及目标数据。
S102、若第一逻辑地址在虚拟内存范围内,则通过地址映射机制确定与第一逻辑地址对应的第一物理地址,该第一物理地址为扩展的板卡内存的物理地址;
S103、利用第一物理地址将目标数据存储至扩展的板卡内存。
需要说明的是,***补丁检测出第一逻辑地址之后,还需要判断该第一逻辑地址是否在虚拟内存范围内,如果第一逻辑地址不在该虚拟内存范围内,则说明不需要存储至虚拟内存,否则,说明需要将目标数据存储至虚拟内存,此时,便需要为目标数据分配对应的物理地址,在此为了区分,将为目标数据分配的物理地址称为第一物理地址。
本方案主要通过地址映射机制来确定与目标数据对应的第一物理地址,并且,为了减少虚拟内存占用磁盘空间,提高虚拟内存访问速度,具体需要采用扩展内存板卡方式代替磁盘,因此,本方案中的地址映射机制为目标数据分配的第一物理地址为板卡内存的物理地址,以便将目标数据存储至扩展的板卡内存,不占用磁盘空间,提高访问速度。地址映射机制为第一逻辑地址分配对应的第一物理地址后,还需要保存第一逻辑地址和第一物理地址之间的映射关系,以便后续通过该映射关系查找数据。
综上可见,本方案基于虚拟内存进行数据存储时,使用扩展的板卡内存作为虚拟内存的存储介质,直接将数据存储至板卡内存中,从而避免占用磁盘空间,提高访问速度。
参见图2,本发明实施例提供的另一种基于虚拟内存的数据存储方法流程示意图;该数据存储方法包括:
S201、若检测到操作***执行分配内存操作,则确定与分配内存操作对应的待存储的目标数据以及操作***分配的第一逻辑地址;
S202、若第一逻辑地址在虚拟内存范围内,通过无损压缩算法对所述目标数据进行压缩,得到压缩数据;
S203、通过地址映射机制确定与第一逻辑地址对应的第一物理地址,该第一物理地址为扩展的板卡内存的物理地址;
S204、判断所述压缩数据的容量是否小于所述目标数据的容量;
若是,则执行S205;若否,则执行S206;
S205、利用第一物理地址将压缩数据存储至扩展的板卡内存;
S206、利用第一物理地址将目标数据存储至扩展的板卡内存。
需要说明的是,本申请为了减少数据存储时所占用的容量,***补丁检测到第一逻辑地址在虚拟内存范围内时,可将该目标数据转发给无损压缩算法,通过无损压缩算法对目标数据进行压缩,得到压缩数据;该无损压缩算法可采用一种通用无损压缩或者多种无损压缩算法的集合,具体可以为:LZ77算法、LZSS算法、基于哈夫曼编码原理的压缩算法等等。参见图3,为本方实施例提供的数据存储***结构示意图,该***包括***补丁、压缩算法和地址映射机制,其中,***补丁检测出目标数据的第一逻辑地址后,将目标数据发送给压缩算法得到压缩数据,并将压缩数据及大小发送给地址映射机制,通过地址映射机制进行物理地址的分配及存储。
可以理解的是,对目标数据压缩后,若压缩后的数据大于压缩前的目标数据,则可以直接存储数据较小的目标数据,若压缩后的数据小于压缩前的目标数据,则可存储数据较小的压缩数据。并且,将压缩数据/目标数据存储至扩展的板卡内存之后,本申请还需要根据压缩数据/目标数据的容量对虚拟内存的剩余容量进行更新。在更新容量时,具体可通过无损压缩算法将压缩数据的大小/目标数据的大小反馈给***补丁,通过***补丁更新虚拟操作***内存剩余空间及虚拟内存大小参数。其中,在本方案中,操作***是以页为单位(4K)操作内存数据,本方案以页为单位压缩数据,压缩数据在存储时按照存储顺序对应存储,采用起始地址加压缩大小对应存储,内存板卡的内存管理采用内存最小读取单位为管理粒度。
具体来说,本方案为了避免因板卡内存满而出现存储失败的问题,若第一逻辑地址在虚拟内存范围内,本方案还需要判断虚拟内存的剩余容量是否大于目标数据的容量;若是,则执行通过地址映射机制确定与第一逻辑地址对应的第一物理地址的步骤;若否,则通过地址映射机制确定与第一逻辑地址对应的第二物理地址,并基于第二物理地址将目标数据存储至磁盘。也即:若虚拟内存的剩余容量大于目标数据的容量,则说明板卡内存中还有剩余空间来存储该目标数据,则可继续执行后续分配第一逻辑地址及数据存储的步骤;否则,说明目标数据不能存储至板卡内存,此时便可为该目标数据分为磁盘的物理地址,以将该目标数据存储至磁盘,避免出现存储失败的问题。
进一步,本方案检测到操作***执行回收内存操作或者执行数据读取操作时,同样需要对数据执行对应的管理操作,分别包括:
1)若检测到操作***执行回收内存操作,则本申请还需要确定与回收内存操作对应的第二逻辑地址;若第二逻辑地址在虚拟内存范围内,则通过地址映射机制确定与第二逻辑地址对应的第三物理地址,对第三物理地址下存储的数据执行回收操作,并对虚拟内存的剩余容量进行更新。
具体来说,操作***执行回收内存操作时,***补丁检测到分配的第二逻辑地址后,若该地址范围在虚拟内存范围内,则***补丁需要将该第二逻辑地址转发给地址映射机制,地址映射机制根据逻辑地址与物理地址之间的映射关系,确定与该第二逻辑地址对应的第三物理地址,从而对第三物理地址内存储的数据执行回收操作,在执行回收操作后,***补丁还需要更新虚拟操作***内存剩余空间及虚拟内存大小参数。
2)若检测到操作***执行数据读取操作,则本申请还需要确定与数据读取操作对应的第三逻辑地址;若第三逻辑地址在虚拟内存范围内,则通过地址映射机制确定与第三逻辑地址对应的第四物理地址及待读取数据的容量,基于第四物理地址及待读取数据的容量执行数据读取操作。
具体来说,操作***执行读取内存操作时,本申请中的***补丁还需要检测出分配的第三逻辑地址,如果该地址范围在虚拟内存范围内,***补丁会将该地址转发给地址映射机制,地址映射机制通过检索得到与该第三逻辑地址对应的第四物理地址及大小,进行数据的读取。
需要说明的是,在进行数据回收/数据读取时,若该数据存储在板卡内存中,则经地址映射机制得到的物理地址为板卡内存的物理地址,并在板卡内存中执行对应的数据回收或者数据读取操作;若该数据存储在磁盘中,则经地址映射机制得到的物理地址为磁盘的物理地址,并在磁盘中执行对应的数据回收或者数据读取操作。并且,本方案检测到操作***执行的操作为基于CPU的访存操作,当然也可以为其他领域的处理器的访存操作,在此并不具体限定。
综上所述,本方案公开了一种基于虚拟内存的数据存储方法,在本方法中,虚拟内存的存储介质为板卡内存,通过本方案将数据压缩后存储至板卡内存的方式,与传统使用磁盘作为虚拟内存介质的方式相比,减少了数据占用的磁盘空间,减少了磁盘访问请求,提高数据访问效率。
下面对本发明实施例提供的数据存储装置、设备及介质进行介绍,下文描述的数据存储装置、设备及介质与上文描述的数据存储方法可以相互参照。
参见图4,本发明实施例提供的一种基于虚拟内存的数据存储装置结构示意图;该装置包括:
数据确定模块100,用于在检测到操作***执行分配内存操作时,确定与所述分配内存操作对应的待存储的目标数据;
第一逻辑地址确定模块200,用于在检测到操作***执行分配内存操作时,确定与所述分配内存操作对应的所述操作***分配的第一逻辑地址;
第一物理地址确定模块300,用于在所述第一逻辑地址在虚拟内存范围内时,通过地址映射机制确定与所述第一逻辑地址对应的第一物理地址,所述第一物理地址为扩展的板卡内存的物理地址;
第一数据存储模块400,用于利用所述第一物理地址将所述目标数据存储至扩展的板卡内存。
其中,所述装置还包括:
压缩模块,用于在所述第一逻辑地址在虚拟内存范围内时,通过无损压缩算法对所述目标数据进行压缩,得到压缩数据;
所述第一数据存储模块,具体用于:利用所述第一物理地址将所述压缩数据存储至扩展的板卡内存。
其中,所述装置还包括:
第一判断模块,用于判断所述压缩数据的容量是否小于所述目标数据的容量;
所述第一数据存储模块具体用于:在所述压缩数据的容量小于所述目标数据的容量时,利用所述第一物理地址将所述压缩数据存储至扩展的板卡内存;在所述压缩数据的容量不小于所述目标数据的容量时,利用所述第一物理地址将所述目标数据存储至扩展的板卡内存。
其中,所述装置还包括:
更新模块,用于将所述压缩数据/目标数据存储至扩展的板卡内存之后,根据所述压缩数据/目标数据的容量对虚拟内存的剩余容量进行更新。
其中,所述装置还包括:
第二判断模块,用于判断虚拟内存的剩余容量是否大于所述目标数据的容量;若是,则触发所述第一物理地址确定模块;若否,则触发第二物理地址确定模块;
第二物理地址确定模块,用于通过地址映射机制确定与所述第一逻辑地址对应的第二物理地址;所述第二物理地址为磁盘的物理地址;
第二数据存储模块,用于基于所述第二物理地址将所述目标数据存储至磁盘。
其中,所述装置还包括:
第二逻辑地址确定模块,用于在检测到操作***执行回收内存操作时,确定与所述回收内存操作对应的第二逻辑地址;
数据回收模块,用于在所述第二逻辑地址在虚拟内存范围内时,通过地址映射机制确定与所述第二逻辑地址对应的第三物理地址,对所述第三物理地址下存储的数据执行回收操作,并对虚拟内存的剩余容量进行更新。
其中,所述装置还包括:
第三逻辑地址确定模块,用于在检测到操作***执行数据读取操作时,确定与所述数据读取操作对应的第三逻辑地址;
数据读取模块,用于在所述第三逻辑地址在虚拟内存范围内时,通过地址映射机制确定与所述第三逻辑地址对应的第四物理地址及待读取数据的容量,基于所述第四物理地址及待读取数据的容量执行数据读取操作。
参见图5,为本发明实施例公开的一种电子设备示意图,该设备包括:
存储器11,用于存储计算机程序;
处理器12,用于执行所述计算机程序时实现上述任意方法实施例所述的基于虚拟内存的数据存储方法的步骤。
在本实施例中,设备可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机等终端设备。
该设备可以包括存储器11、处理器12和总线13。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是设备的内部存储单元,例如该设备的硬盘。存储器11在另一些实施例中也可以是设备的外部存储设备,例如设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括设备的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于设备的应用软件及各类数据,例如执行数据存储方法的程序代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行数据存储方法的程序代码等。
该总线13可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,设备还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该设备与其他电子设备之间建立通信连接。
可选地,该设备还可以包括用户接口15,用户接口15可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口15还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在设备中处理的信息以及用于显示可视化的用户界面。
图5仅示出了具有组件11-15的设备,本领域技术人员可以理解的是,图5示出的结构并不构成对设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例所述的基于虚拟内存的数据存储方法的步骤。
其中,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于虚拟内存的数据存储方法,其特征在于,包括:
若检测到操作***执行分配内存操作,则确定与所述分配内存操作对应的待存储的目标数据以及所述操作***分配的第一逻辑地址;
若所述第一逻辑地址在虚拟内存范围内,则通过地址映射机制确定与所述第一逻辑地址对应的第一物理地址,所述第一物理地址为扩展的板卡内存的物理地址;
利用所述第一物理地址将所述目标数据存储至扩展的板卡内存。
2.根据权利要求1所述的数据存储方法,其特征在于,若所述第一逻辑地址在虚拟内存范围内,则所述数据存储方法还包括:
通过无损压缩算法对所述目标数据进行压缩,得到压缩数据;
相应的,所述利用所述第一物理地址将所述目标数据存储至扩展的板卡内存包括:利用所述第一物理地址将所述压缩数据存储至扩展的板卡内存。
3.根据权利要求2所述的数据存储方法,其特征在于,所述通过地址映射机制确定与所述第一逻辑地址对应的第一物理地址之后,还包括:
判断所述压缩数据的容量是否小于所述目标数据的容量;
若是,则利用所述第一物理地址将所述压缩数据存储至扩展的板卡内存,否则,利用所述第一物理地址将所述目标数据存储至扩展的板卡内存。
4.根据权利要求3所述的数据存储方法,其特征在于,将所述压缩数据/目标数据存储至扩展的板卡内存之后,还包括:
根据所述压缩数据/目标数据的容量对虚拟内存的剩余容量进行更新。
5.根据权利要求1所述的数据存储方法,其特征在于,若所述第一逻辑地址在虚拟内存范围内,则所述数据存储方法还包括:
判断虚拟内存的剩余容量是否大于所述目标数据的容量;
若是,则执行所述通过地址映射机制确定与所述第一逻辑地址对应的第一物理地址的步骤;
若否,则通过地址映射机制确定与所述第一逻辑地址对应的第二物理地址,并基于所述第二物理地址将所述目标数据存储至磁盘;所述第二物理地址为磁盘的物理地址。
6.根据权利要求1至5中任意一项所述的数据存储方法,其特征在于,所述数据存储方法还包括:
若检测到操作***执行回收内存操作,则确定与所述回收内存操作对应的第二逻辑地址;
若所述第二逻辑地址在虚拟内存范围内,则通过地址映射机制确定与所述第二逻辑地址对应的第三物理地址,对所述第三物理地址下存储的数据执行回收操作,并对虚拟内存的剩余容量进行更新。
7.根据权利要求1至5中任意一项所述的数据存储方法,其特征在于,所述数据存储方法还包括:
若检测到操作***执行数据读取操作,则确定与所述数据读取操作对应的第三逻辑地址;
若所述第三逻辑地址在虚拟内存范围内,则通过地址映射机制确定与所述第三逻辑地址对应的第四物理地址及待读取数据的容量,基于所述第四物理地址及待读取数据的容量执行数据读取操作。
8.一种基于虚拟内存的数据存储装置,其特征在于,包括:
数据确定模块,用于在检测到操作***执行分配内存操作时,确定与所述分配内存操作对应的待存储的目标数据;
第一逻辑地址确定模块,用于在检测到操作***执行分配内存操作时,确定与所述分配内存操作对应的所述操作***分配的第一逻辑地址;
第一物理地址确定模块,用于在所述第一逻辑地址在虚拟内存范围内时,通过地址映射机制确定与所述第一逻辑地址对应的第一物理地址,所述第一物理地址为扩展的板卡内存的物理地址;
第一数据存储模块,用于利用所述第一物理地址将所述目标数据存储至扩展的板卡内存。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的基于虚拟内存的数据存储方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于虚拟内存的数据存储方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110063607.4A CN112764925A (zh) | 2021-01-18 | 2021-01-18 | 基于虚拟内存的数据存储方法、装置、设备及存储介质 |
PCT/CN2021/143003 WO2022151985A1 (zh) | 2021-01-18 | 2021-12-30 | 基于虚拟内存的数据存储方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110063607.4A CN112764925A (zh) | 2021-01-18 | 2021-01-18 | 基于虚拟内存的数据存储方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112764925A true CN112764925A (zh) | 2021-05-07 |
Family
ID=75702811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110063607.4A Pending CN112764925A (zh) | 2021-01-18 | 2021-01-18 | 基于虚拟内存的数据存储方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112764925A (zh) |
WO (1) | WO2022151985A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113625953A (zh) * | 2021-06-30 | 2021-11-09 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、装置、设备及存储介质 |
WO2022151985A1 (zh) * | 2021-01-18 | 2022-07-21 | 苏州浪潮智能科技有限公司 | 基于虚拟内存的数据存储方法、装置、设备及存储介质 |
WO2023035646A1 (zh) * | 2021-09-11 | 2023-03-16 | 华为技术有限公司 | 一种扩展内存的方法、装置及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169459A (zh) * | 2010-11-29 | 2011-08-31 | 北京握奇数据***有限公司 | 一种访问数据的方法、装置和智能卡 |
CN110737608A (zh) * | 2018-07-03 | 2020-01-31 | 阿里巴巴集团控股有限公司 | 一种数据操作方法、装置及*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197038A (zh) * | 2018-02-01 | 2018-06-22 | 深圳市风云实业有限公司 | 一种Linux数据传输方法、装置和用户终端 |
US11061709B2 (en) * | 2018-08-21 | 2021-07-13 | International Business Machines Corporation | Storage management for deployment of virtual machine |
CN111414248B (zh) * | 2019-01-04 | 2023-03-21 | 阿里巴巴集团控股有限公司 | 内存管理方法、装置及计算设备 |
CN110955488A (zh) * | 2019-09-10 | 2020-04-03 | 中兴通讯股份有限公司 | 一种持久性内存的虚拟化方法及*** |
CN112162818B (zh) * | 2020-09-16 | 2023-04-07 | Oppo(重庆)智能科技有限公司 | 一种虚拟内存分配方法、装置、电子设备及存储介质 |
CN111984610A (zh) * | 2020-09-27 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 数据压缩方法、装置及计算机可读存储介质 |
CN112764925A (zh) * | 2021-01-18 | 2021-05-07 | 苏州浪潮智能科技有限公司 | 基于虚拟内存的数据存储方法、装置、设备及存储介质 |
-
2021
- 2021-01-18 CN CN202110063607.4A patent/CN112764925A/zh active Pending
- 2021-12-30 WO PCT/CN2021/143003 patent/WO2022151985A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169459A (zh) * | 2010-11-29 | 2011-08-31 | 北京握奇数据***有限公司 | 一种访问数据的方法、装置和智能卡 |
CN110737608A (zh) * | 2018-07-03 | 2020-01-31 | 阿里巴巴集团控股有限公司 | 一种数据操作方法、装置及*** |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022151985A1 (zh) * | 2021-01-18 | 2022-07-21 | 苏州浪潮智能科技有限公司 | 基于虚拟内存的数据存储方法、装置、设备及存储介质 |
CN113625953A (zh) * | 2021-06-30 | 2021-11-09 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN113625953B (zh) * | 2021-06-30 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 一种数据处理方法、装置、设备及存储介质 |
WO2023035646A1 (zh) * | 2021-09-11 | 2023-03-16 | 华为技术有限公司 | 一种扩展内存的方法、装置及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2022151985A1 (zh) | 2022-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112764925A (zh) | 基于虚拟内存的数据存储方法、装置、设备及存储介质 | |
CN111352861B (zh) | 内存压缩方法、装置及电子设备 | |
EP3514689A1 (en) | Memory management method and apparatus | |
CN111090628A (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN111240601B (zh) | 一种分区空间的超级块确定方法、装置、设备及存储介质 | |
CN110765031B (zh) | 数据存储方法、装置、移动终端及存储介质 | |
US8499138B2 (en) | Demand-based memory management of non-pagable data storage | |
CN111309267A (zh) | 存储空间的分配方法、装置、存储设备及存储介质 | |
US11928359B2 (en) | Memory swapping method and apparatus | |
CN111078410A (zh) | 内存分配方法、装置、存储介质及电子设备 | |
CN111857574A (zh) | 一种写请求数据压缩方法、***、终端及存储介质 | |
CN112181595A (zh) | 虚拟机的numa节点绑定方法、装置、设备及存储介质 | |
CN114428797A (zh) | 嵌入参数缓存的方法、装置、设备及存储介质 | |
WO2021218502A1 (zh) | 一种页交换的方法、存储***和电子设备 | |
CN112486861A (zh) | 固态硬盘映射表数据查询方法、装置、计算机设备及存储介质 | |
CN111881065B (zh) | 数据重删操作的物理地址处理方法、装置、设备及介质 | |
CN116880746A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN110866201A (zh) | 缓存处理方法、装置、计算机设备以及存储介质 | |
US10846023B2 (en) | Storage device and storage area management method for reducing garbage collection processing | |
CN114003169A (zh) | 一种用于ssd的数据压缩方法 | |
US11237741B2 (en) | Electronic device and control method for controlling memory | |
CN113625953B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN111680014A (zh) | 共享文件的获取方法、装置、电子设备及存储介质 | |
CN111708715A (zh) | 内存分配方法、内存分配装置及终端设备 | |
CN111143293A (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: 20210507 |
|
RJ01 | Rejection of invention patent application after publication |