CN111143241A - 内存数据迁移方法、装置和存储介质 - Google Patents
内存数据迁移方法、装置和存储介质 Download PDFInfo
- Publication number
- CN111143241A CN111143241A CN201911422233.XA CN201911422233A CN111143241A CN 111143241 A CN111143241 A CN 111143241A CN 201911422233 A CN201911422233 A CN 201911422233A CN 111143241 A CN111143241 A CN 111143241A
- Authority
- CN
- China
- Prior art keywords
- physical memory
- migrated
- address
- information
- page table
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 254
- 230000005012 migration Effects 0.000 title claims abstract description 70
- 238000013508 migration Methods 0.000 title claims abstract description 53
- 230000008569 process Effects 0.000 claims abstract description 205
- 238000013507 mapping Methods 0.000 claims description 11
- 238000004140 cleaning Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Images
Classifications
-
- 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
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/0614—Improving the reliability of storage systems
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种内存数据迁移方法、装置和存储介质,所述内存数据迁移方法先是获取待迁移进程在预设的进程内存空间中的进程内存信息,并在预设的物理内存页表中确定与进程内存信息对应的地址信息;再根据地址信息确定物理内存页表中待迁移进程的位置,并通过查询所述物理内存页表,确定物理内存页表中待迁移进程与上一个进程之间的结束节点;最后移除结束节点存储的物理内存信息,并对物理内存页表重新排列。本发明通过上述方式,对终端进程的内存信息进行数据迁移,实现对冗余物理内存数据的清理,优化系统内存空间,从而保障系统的流畅运行。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种内存数据迁移方法、装置和存储介质。
背景技术
智能终端在使用过程中,会将某些数据放在内部存储器中运行,也就产生了对应的内存数据。例如计算机,在计算机的某些使用场合,用户在不使用计算机时,会将计算机设置为待机状态,而计算机处于待机状态时,并不会实现断电关机,而是继续以低功耗状态运行内存数据。这样一来,如若长时间未对内存数据进行清理,则可能会影响计算机系统的正常运行,甚至会出现死机现象,降低计算机的使用寿命。
发明内容
本发明的主要目的在于提供了一种内存数据迁移方法、装置和存储介质,旨在解决终端未对内存数据进行清理,进而难以保障终端正常运行的技术问题。
为实现上述目的,本发明提供了一种内存数据迁移方法,包括以下步骤:
获取待迁移进程在预设的进程内存空间中的进程内存信息,并在预设的物理内存页表中确定与所述进程内存信息对应的地址信息;
根据所述地址信息确定所述物理内存页表中所述待迁移进程的位置,并通过查询所述物理内存页表,确定所述物理内存页表中所述待迁移进程与上一个进程之间的结束节点;
移除所述结束节点存储的物理内存信息,并对所述物理内存页表重新排列。
可选地,所述在预设的物理内存页表中确定与所述进程内存信息对应的地址信息的步骤包括:
获取进程内存信息与物理内存信息之间的映射,将待迁移进程的进程内存信息输入至映射中进行查询,得到所述待迁移进程的物理内存信息;
获取所述待迁移进程的物理内存信息在所述物理内存页表中的地址信息。
可选地,所述得到所述待迁移进程的物理内存信息的步骤之后,还包括:
将所述待迁移进程的物理内存信息输入至预设的交换区中进行查询,以判断所述待迁移进程的物理内存信息是否均不存在于所述交换区中;
若是,则执行步骤:获取所述待迁移进程的物理内存信息在所述物理内存页表中的地址信息;
若否,则获取存在于所述交换区中所述待迁移进程的物理内存信息对应的迁移位置,以将存在于交换区中待迁移进程的物理内存信息迁移至所述物理内存页表中所述迁移位置所在地址。
可选地,所述通过查询所述物理内存页表的方式,确定所述物理内存页表中所述待迁移进程与上一个进程之间的结束节点的步骤包括:
从地址信息中获取所述待迁移进程在所述物理内存页表中的起始物理内存地址;
在所述物理内存页表中,以所述起始物理内存地址为起点向上查询各个节点存储的物理内存信息;
当查询到物理内存信息为预设的整理完成标识时,确定存储所述整理完成标识的节点为上一个进程的整理完成节点;
将所述整理完成节点至所述起始物理内存地址之间的所有节点作为结束节点。
可选地,所述从地址信息中获取所述待迁移进程在所述物理内存页表中的起始物理内存地址的步骤包括:
根据所述地址信息确定待迁移进程在所述物理内存页表中的地址标识;
根据所述地址标识确定所述待迁移进程在所述物理内存页表中的起始物理内存地址。
可选地,所述对所述物理内存页表重新排列的步骤包括:
将所述结束节点对应的原物理内存地址作为在先物理内存地址,使得所述待迁移进程的物理内存信息以所述在先物理内存地址为起始点在所述物理内存页表上连续排列。
可选地,所述将所述结束节点对应的原物理内存地址作为在先物理内存地址的步骤包括:
将与上一个进程相邻的结束节点的物理内存地址作为所述在先物理内存地址。
可选地,所述确定所述物理内存页表中所述待迁移进程与上一个进程之间的结束节点的步骤之后,包括:
将所述结束节点存储的物理内存信息备份至预设交换区。
此外,为实现上述目的,本发明还提供一种装置,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的内存数据迁移程序,所述内存数据迁移程序被所述处理器执行时实现如上所述内存数据迁移方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有内存数据迁移程序,所述内存数据迁移程序被处理器执行时实现如上所述内存数据迁移方法的步骤。
本发明提供了一种内存数据迁移方法、装置和存储介质,通过获取待迁移进程在预设的进程内存空间中的进程内存信息,并在预设的物理内存页表中确定与进程内存信息对应的地址信息;再根据地址信息确定物理内存页表中待迁移进程的位置,并通过查询所述物理内存页表,确定物理内存页表中待迁移进程与上一个进程之间的结束节点;最后移除结束节点存储的物理内存信息,并对物理内存页表重新排列。本发明通过上述方式,对终端进程的物理内存信息进行数据迁移,实现对冗余内存物理数据的清理,优化系统内存空间,从而保障终端系统的流畅运行。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;
图2为本发明内存数据迁移方法一实施例的流程示意图;
图3为本发明内存数据迁移方法一实施例中待迁移进程迁移前的示意图;
图4为本发明内存数据迁移方法一实施例中待迁移进程迁移后的示意图;
图5为本发明内存数据迁移方法又一实施例的流程示意图;
图6为本发明内存数据迁移方法另一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明终端是一种装置,该装置可以是计算机,还可以是一种手机、电脑、移动电脑等具有存储功能的终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括摄像头、Wi-Fi模块等等,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要包括输入单元比如键盘,键盘包括无线键盘和有线键盘,用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的内存数据迁移程序,并执行以下操作:
获取待迁移进程在预设的进程内存空间中的进程内存信息,并在预设的物理内存页表中确定与所述进程内存信息对应的地址信息;
根据所述地址信息确定所述物理内存页表中所述待迁移进程的位置,并通过查询所述物理内存页表,确定所述物理内存页表中所述待迁移进程与上一个进程之间的结束节点;
移除所述结束节点存储的物理内存信息,并对所述物理内存页表重新排列。
进一步地,处理器1001可以调用存储器1005中存储的内存数据迁移程序,还执行以下操作:
获取进程内存信息与物理内存信息之间的映射,将待迁移进程的进程内存信息输入至映射中进行查询,得到所述待迁移进程的物理内存信息;
获取所述待迁移进程的物理内存信息在所述物理内存页表中的地址信息。
进一步地,处理器1001可以调用存储器1005中存储的内存数据迁移程序,还执行以下操作:
将所述待迁移进程的物理内存信息输入至预设的交换区中进行查询,以判断所述待迁移进程的物理内存信息是否均不存在于所述交换区中;
若是,则执行步骤:获取所述待迁移进程的物理内存信息在所述物理内存页表中的地址信息;
若否,则获取存在于所述交换区中所述待迁移进程的物理内存信息对应的迁移位置,以将存在于交换区中待迁移进程的物理内存信息迁移至所述物理内存页表中所述迁移位置所在地址。
进一步地,处理器1001可以调用存储器1005中存储的内存数据迁移程序,还执行以下操作:
从地址信息中获取所述待迁移进程在所述物理内存页表中的起始物理内存地址;
在所述物理内存页表中,以所述起始物理内存地址为起点向上查询各个节点存储的物理内存信息;
当查询到物理内存信息为预设的整理完成标识时,确定存储所述整理完成标识的节点为上一个进程的整理完成节点;
将所述整理完成节点至所述起始物理内存地址之间的所有节点作为结束节点。
进一步地,处理器1001可以调用存储器1005中存储的内存数据迁移程序,还执行以下操作:
根据所述地址信息确定待迁移进程在所述物理内存页表中的地址标识;
根据所述地址标识确定所述待迁移进程在所述物理内存页表中的起始物理内存地址。
进一步地,处理器1001可以调用存储器1005中存储的内存数据迁移程序,还执行以下操作:
将所述结束节点对应的原物理内存地址作为在先物理内存地址,使得所述待迁移进程的物理内存信息以所述在先物理内存地址为起始点在所述物理内存页表上连续排列。
进一步地,处理器1001可以调用存储器1005中存储的内存数据迁移程序,还执行以下操作:
将与上一个进程相邻的结束节点的物理内存地址作为所述在先物理内存地址。
进一步地,处理器1001可以调用存储器1005中存储的内存数据迁移程序,还执行以下操作:
将所述结束节点存储的物理内存信息备份至预设交换区。
本装置的具体实施例与下述内存数据迁移方法各实施例基本相同,在此不作赘述。
请参阅图2,图2为本发明内存数据迁移方法一实施例的流程示意图。本实施例提供的内存数据迁移方法包括如下步骤:
步骤S10,获取待迁移进程在预设的进程内存空间中的进程内存信息,并在预设的物理内存页表中确定与所述进程内存信息对应的地址信息;
本实施例中,预设有物理内存页表以及进程内存空间,在系统处于待机状态时,获取系统所有进程的物理内存数据,从所有进程中确定待迁移进程。容易理解的是,物理内存页表是一种特殊的数据结构,存储在系统空间的页表区,物理内存页表存储有地址与物理内存信息的对应关系;进程内存空间中存储有进程与进程内存信息之间的映射。
应当理解的是,在本实施例中,需要对系统的所有进程进行物理内存数据的迁移,因此按照一定的顺序从所有的系统进程中选择对应的进程作为待迁移进程,在所述待迁移进程完成内存数据迁移后,将按照一定顺序选定的下个进程作为新的待迁移进程,以此实现所有进程的内存数据迁移。此外,对于待迁移进程的选择,是本领域技术人员可以根据进程情况具体设定的,在此不再阐述。
在选定待迁移进程后,获取待迁移进程在预设的进程内存空间中的进程内存信息,并在预设的物理内存页表中确定与进程内存信息对应的地址信息。例如,请参阅图3,图3为本发明内存数据迁移方法一实施例中待迁移进程迁移前的示意图,在图3中,待迁移进程在进程内存空间中的进程内存信息为PA、PB、PC、PD以及PE,对应的,待迁移进程在物理内存页表中对应的物理内存信息为MA、MB、MC、MD以及ME,物理内存页表中与进程内存信息对应的地址信息为MA的地址、MB的地址、MC的地址、MD的地址、以及ME的地址。
步骤S20,根据所述地址信息确定所述物理内存页表中所述待迁移进程的位置,并通过查询所述物理内存页表,确定所述物理内存页表中所述待迁移进程与上一个进程之间的结束节点;
容易理解的是,物理内存页表中存储有地址与物理内存信息的对应关系,以图3为例,在物理内存页表中,待迁移进程对应的地址信息为MA的地址、MB的地址、MC的地址、MD的地址、以及ME的地址,由于进程始终以一段连续的地址存储在物理内存页表中,因此参照图3,则待迁移进程在物理内存页表中的地址为MB的地址至MA的地址。
在物理内存页表中,为了实现进程与进程之间的划分,每个进程之间都间隔有数量不等的结束节点,结束节点即未被任何进程占用的节点。在得到待迁移进程在物理内存页表中的位置后,通过对物理内存页表进行查询,得到待迁移进程与上一个进程之间的结束节点,以图3为例,待迁移进程的上一个进程的物理内存信息为DA、DB以及DC,那么物理内存页表中04地址的O1,以及05地址的O2,共2个结束节点。
步骤S30,移除所述结束节点存储的物理内存信息,并对所述物理内存页表重新排列。
对结束节点存储的物理内存地址信息移除,以图3为例,移除04地址存储的O1以及05地址存储的O2,并在对结束节点存储的物理内存信息进行移除后,对物理内存页表重新排列,具体的,可以参阅图4,图4为本发明内存数据迁移方法一实施例中待迁移进程迁移后的示意图,可以清楚的得到,完成对于内存数据的迁移和整理后,待迁移进程在物理内存页表中的地址标识为04至08。
本实施例通过上述方式,对终端进程的物理内存信息进行数据迁移,实现对冗余内存数据的清理,优化系统内存空间,从而保障系统的流畅运行。
进一步地,所述在预设的物理内存页表中确定与所述进程内存信息对应的地址信息的步骤包括:
步骤S11,获取进程内存信息与物理内存信息之间的映射,将待迁移进程的进程内存信息输入至映射中进行查询,得到所述待迁移进程的物理内存信息;
步骤S12,获取所述待迁移进程的物理内存信息在所述物理内存页表中的地址信息。
本实施例中,应当理解的是,确定待迁移进程后,在获取待迁移进程的进程内存信息的同时,获取所有进程的进程内存信息与物理内存信息之间的映射。并将得到的待迁移进程的进程内存信息输入至映射中进行查询,以得到待迁移进程的物理内存信息。进一步地,将待迁移进程的物理内存信息输入至物理内存页表中执行查询操作,确定物理内存页表中与物理内存信息对应的地址,并将地址的集合作为待迁移进程在物理内存页表中的地址信息。
本实施例通过上述方式,在预设的物理内存页表中查询得到待迁移进程的地址信息,继而对上述地址内存储的物理内存信息进行迁移,实现内存数据的平滑迁移。
进一步地,请参阅图5,图5为本发明内存数据迁移方法又一实施例的流程示意图。上述步骤S11得到所述待迁移进程的物理内存信息之后,还包括:
步骤S40,将所述待迁移进程的物理内存信息输入至预设的交换区中进行查询,以判断所述待迁移进程的物理内存信息是否均不存在于所述交换区中;
步骤S50,若是,则执行步骤S12;
步骤S60,若否,则获取存在于所述交换区中所述待迁移进程的物理内存信息对应的迁移位置,以将存在于交换区中待迁移进程的物理内存信息迁移至所述物理内存页表中所述迁移位置所在地址。
基于上述实施例的内容,提出一种新的实施例,本实施例中,预设有交换区,容易理解的是,所述交换区即Swap空间,在系统的运行内存不够用的时候,把物理内存中的一部分空间释放出来,将物理内存存储的信息备份至Swap空间,以供当前运行的程序使用。
获取待迁移进程的进程内存信息和物理内存信息后,将所述待迁移进程的物理内存信息输入至预设交换区中进行查询,判断所述交换区中是否存在相同的物理内存信息,若交换区中存在相同的物理内存信息,表示待迁移进程可能已在交换区中执行过备份操作,则获取交换区中相同的物理内存信息对应的迁移位置,并将待迁移进程中对应相同的物理内存信息迁移至物理内存页表中所述迁移位置对应所在地址,实现对于内存数据的迁移和整理。此外,交换区中的物理内存信息被取用后,所述物理内存信息在交换区中被移除。
若交换区中不存在相同的物理内存信息,则执行上述实施例施行的方案,获取所述待迁移进程的物理内存信息在所述物理内存页表中的地址信息;根据地址信息确定物理内存页表中的结束节点,并移除结束节点存储的物理内存信息;根据结束节点重新排列所述物理内存页表,实现对于内存数据的迁移和整理。
本实施例通过将待迁移进程的物理内存信息输入到交换区查询,确定交换区中存在相同的物理内存信息的情况下,直接将交换区中存储的相同的物理内存信息迁移至物理内存页表中,以此实现对冗余内存数据的清理,优化系统内存空间,从而保障系统的流畅运行。
进一步地,确定预设物理内存页表中所述待迁移进程与上一个进程之间的结束节点的步骤包括:
步骤S21,从地址信息中获取所述待迁移进程在所述物理内存页表中的起始物理内存地址;
步骤S22,在所述物理内存页表中,以所述起始物理内存地址为起点向上查询各个节点存储的物理内存信息;
步骤S23,当查询到物理内存信息为预设的整理完成标识时,确定存储所述整理完成标识的节点为上一个进程的整理完成节点;
步骤S24,将所述整理完成节点至上述的起始物理内存地址之间的所有节点作为结束节点。
进一步地,所述从地址信息中获取所述待迁移进程在所述物理内存页表中的起始物理内存地址的步骤包括:
步骤S211,根据所述地址信息确定待迁移进程在所述物理内存页表中的地址标识;
步骤S212,根据所述地址标识确定所述待迁移进程在所述物理内存页表中的起始物理内存地址。
为了进一步详尽的阐述本实施例,请参阅图3,图3为本发明内存数据迁移方法一实施例中待迁移进程迁移前的示意图。参阅图3可以得知,待迁移进程的物理内存信息在物理内存页表中对应的地址信息为MA的地址、MB的地址、MC的地址、MD的地址、以及ME的地址,根据地址信息在物理内存页表中查询得到MA的地址标识、MB的地址标识、MC的地址标识、MD的地址标识以及ME的地址标识,从图3可以得到,MA的地址标识为12,MB的地址标识为06,MC的地址标识为11,MD的地址标识为07,ME的地址标识为08,根据上述地址标识可以得到,MB的地址标识06,先于其他所有物理内存信息的地址标识,则将MB在物理内存页表中的地址作为起始物理内存地址。容易理解的是,在每个进程结束后,将进程的最后一个节点作为整理完成节点,整理完成节点中存储有整理完成标识。因此,在确定起始物理内存地址后,可以在物理内存页表中,以起始物理内存地址为起点,向上查询各个节点存储的物理内存信息,当查询到某个节点存储的物理内存信息为预设的整理完成标识时,停止对于物理内存页表的查询并将该节点作为上一个进行的整理完成节点,将整理完成节点到起始物理内存地址之间的所有节点作为结束节点。如图3所示,待迁移进程的上一个进程的整理完成节点为DC,则将DC至MB的所有节点,即O1和O2作为结束节点。
本实施例通过上述方式,确定待迁移进程的起始物理地址以及物理内存页表中的结束节点,继而对待迁移进程的物理内存信息进行整理,实现内存数据的平滑迁移。
进一步地,所述根据所述结束节点重新排列所述物理内存页表的步骤包括:
步骤S31,将所述结束节点对应的原物理内存地址作为在先物理内存地址,使得所述待迁移进程的物理内存信息以所述在先物理内存地址为起始点在所述物理内存页表上连续排列。
进一步地,所述将所述结束节点对应的原物理内存地址作为在先物理内存地址的步骤包括:
步骤S311,将与上一个进程相邻的结束节点的物理内存地址作为所述在先物理内存地址。
请参阅图4,图4为本发明内存数据迁移方法一实施例中待迁移进程迁移后的示意图。如图所示,物理内存页表中包括两个结束节点O1和O2,容易得到,O1为与上一个进程相邻的结束节点,则将O1的物理内存地址作为在先物理内存地址,根据在先物理内存地址在物理内存页表上对物理内存信息MA、MB、MC、MD、以及ME进行迁移,将MB迁移至O1的物理内存地址,MD迁移至O2的物理内存地址,ME迁移至MB的物理内存地址,MC迁移至MD的物理内存地址,MA迁移至ME的物理内存地址,使得物理内存信息MA、MB、MC、MD、以及ME在物理内存页表上连续排列,实现内存数据的迁移,优化系统内存空间,从而保障系统的流畅运行。此外,若物理内存页表中只包括一个结束节点O2,则将MB迁移至O2的物理内存地址,MD迁移至MB的物理内存地址,ME迁移至MD的物理内存地址,MC迁移至ME的物理内存地址,MA迁移至MC的物理内存地址。
进一步地,请参阅图6,图6为本发明内存数据迁移方法另一实施例的流程示意图。上述步骤S20确定所述物理内存页表中所述待迁移进程与上一个进程之间的结束节点之后,还包括:
步骤S70,将所述结束节点存储的物理内存信息备份至预设交换区。
在将结束节点存储的物理内存信息移除之前,先在交换区上对结束节点存储的物理内存信息进行备份,避免因错误的移除了物理内存信息,而造成的系统卡顿或死机现象的产生。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有内存数据迁移程序,所述内存数据迁移程序被处理器执行时实现如上所述内存数据迁移方法的操作。
本发明计算机可读存储介质的具体实施例与上述内存数据迁移方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种内存数据迁移方法,其特征在于,包括以下步骤:
获取待迁移进程在预设的进程内存空间中的进程内存信息,并在预设的物理内存页表中确定与所述进程内存信息对应的地址信息;
根据所述地址信息确定所述物理内存页表中所述待迁移进程的位置,并通过查询所述物理内存页表,确定所述物理内存页表中所述待迁移进程与上一个进程之间的结束节点;
移除所述结束节点存储的物理内存信息,并对所述物理内存页表重新排列。
2.如权利要求1所述的内存数据迁移方法,其特征在于,所述在预设的物理内存页表中确定与所述进程内存信息对应的地址信息的步骤包括:
获取进程内存信息与物理内存信息之间的映射,将待迁移进程的进程内存信息输入至映射中进行查询,得到所述待迁移进程的物理内存信息;
获取所述待迁移进程的物理内存信息在所述物理内存页表中的地址信息。
3.如权利要求2所述的内存数据迁移方法,其特征在于,所述得到所述待迁移进程的物理内存信息的步骤之后,还包括:
将所述待迁移进程的物理内存信息输入至预设的交换区中进行查询,以判断所述待迁移进程的物理内存信息是否均不存在于所述交换区中;
若是,则执行步骤:获取所述待迁移进程的物理内存信息在所述物理内存页表中的地址信息;
若否,则获取存在于所述交换区中所述待迁移进程的物理内存信息对应的迁移位置,以将存在于交换区中待迁移进程的物理内存信息迁移至所述物理内存页表中所述迁移位置所在地址。
4.如权利要求1所述的内存数据迁移方法,其特征在于,所述通过查询所述物理内存页表的方式,确定所述物理内存页表中所述待迁移进程与上一个进程之间的结束节点的步骤包括:
从地址信息中获取所述待迁移进程在所述物理内存页表中的起始物理内存地址;
在所述物理内存页表中,以所述起始物理内存地址为起点向上查询各个节点存储的物理内存信息;
当查询到物理内存信息为预设的整理完成标识时,确定存储所述整理完成标识的节点为上一个进程的整理完成节点;
将所述整理完成节点至所述起始物理内存地址之间的所有节点作为结束节点。
5.如权利要求4所述的内存数据迁移方法,其特征在于,所述从地址信息中获取所述待迁移进程在所述物理内存页表中的起始物理内存地址的步骤包括:
根据所述地址信息确定待迁移进程在所述物理内存页表中的地址标识;
根据所述地址标识确定所述待迁移进程在所述物理内存页表中的起始物理内存地址。
6.如权利要求1所述的内存数据迁移方法,其特征在于,所述对所述物理内存页表重新排列的步骤包括:
将所述结束节点对应的原物理内存地址作为在先物理内存地址,使得所述待迁移进程的物理内存信息以所述在先物理内存地址为起始点在所述物理内存页表上连续排列。
7.如权利要求6所述的内存数据迁移方法,其特征在于,所述将所述结束节点对应的原物理内存地址作为在先物理内存地址的步骤包括:
将与上一个进程相邻的结束节点的物理内存地址作为所述在先物理内存地址。
8.如权利要求1~7任一项所述的内存数据迁移方法,其特征在于,所述确定所述物理内存页表中所述待迁移进程与上一个进程之间的结束节点的步骤之后,包括:
将所述结束节点存储的物理内存信息备份至预设交换区。
9.一种内存数据迁移装置,其特征在于,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的内存数据迁移程序,所述内存数据迁移程序配置为实现如权利要求1至8中任一项所述内存数据迁移方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有内存数据迁移程序,所述内存数据迁移程序被处理器执行时实现如权利要求1至8任一项所述内存数据迁移方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911422233.XA CN111143241B (zh) | 2019-12-30 | 内存数据迁移方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911422233.XA CN111143241B (zh) | 2019-12-30 | 内存数据迁移方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111143241A true CN111143241A (zh) | 2020-05-12 |
CN111143241B CN111143241B (zh) | 2024-10-25 |
Family
ID=
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112243269A (zh) * | 2020-10-15 | 2021-01-19 | Tcl通讯(宁波)有限公司 | 下载数据方法及其装置、移动终端 |
CN112769640A (zh) * | 2020-12-23 | 2021-05-07 | 中移(杭州)信息技术有限公司 | 进程通信方法、系统、服务器及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588359A (zh) * | 2004-10-09 | 2005-03-02 | 武汉大学 | 数据库中对象标识符回收再利用的方法 |
CN102866958A (zh) * | 2012-09-07 | 2013-01-09 | 北京君正集成电路股份有限公司 | 一种离散内存访问的方法及装置 |
CN103678180A (zh) * | 2013-11-29 | 2014-03-26 | 武汉天喻信息产业股份有限公司 | 智能卡非易失性存储器的管理方法 |
WO2016067328A1 (ja) * | 2014-10-27 | 2016-05-06 | 株式会社日立製作所 | 不揮発メモリデバイスを有するストレージ装置、及び、不揮発メモリデバイス |
CN105630405A (zh) * | 2015-04-29 | 2016-06-01 | 上海磁宇信息科技有限公司 | 一种存储系统及采用该存储系统的读写方法 |
CN105677879A (zh) * | 2016-01-12 | 2016-06-15 | 诸葛晴凤 | 内存关系数据库的数据组织及访问方法 |
CN105830022B (zh) * | 2014-11-28 | 2019-03-08 | 华为技术有限公司 | 访问文件的方法和装置 |
CN110543433A (zh) * | 2019-08-30 | 2019-12-06 | 中国科学院微电子研究所 | 一种混合内存的数据迁移方法及装置 |
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588359A (zh) * | 2004-10-09 | 2005-03-02 | 武汉大学 | 数据库中对象标识符回收再利用的方法 |
CN102866958A (zh) * | 2012-09-07 | 2013-01-09 | 北京君正集成电路股份有限公司 | 一种离散内存访问的方法及装置 |
CN103678180A (zh) * | 2013-11-29 | 2014-03-26 | 武汉天喻信息产业股份有限公司 | 智能卡非易失性存储器的管理方法 |
WO2016067328A1 (ja) * | 2014-10-27 | 2016-05-06 | 株式会社日立製作所 | 不揮発メモリデバイスを有するストレージ装置、及び、不揮発メモリデバイス |
CN105830022B (zh) * | 2014-11-28 | 2019-03-08 | 华为技术有限公司 | 访问文件的方法和装置 |
CN105630405A (zh) * | 2015-04-29 | 2016-06-01 | 上海磁宇信息科技有限公司 | 一种存储系统及采用该存储系统的读写方法 |
CN105677879A (zh) * | 2016-01-12 | 2016-06-15 | 诸葛晴凤 | 内存关系数据库的数据组织及访问方法 |
CN110543433A (zh) * | 2019-08-30 | 2019-12-06 | 中国科学院微电子研究所 | 一种混合内存的数据迁移方法及装置 |
Non-Patent Citations (1)
Title |
---|
"存贮管理", 计算机工程与应用, no. 07, pages 69 - 75 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112243269A (zh) * | 2020-10-15 | 2021-01-19 | Tcl通讯(宁波)有限公司 | 下载数据方法及其装置、移动终端 |
CN112243269B (zh) * | 2020-10-15 | 2023-09-19 | 青岛乾程科技股份有限公司 | 下载数据方法及其装置、移动终端 |
CN112769640A (zh) * | 2020-12-23 | 2021-05-07 | 中移(杭州)信息技术有限公司 | 进程通信方法、系统、服务器及存储介质 |
CN112769640B (zh) * | 2020-12-23 | 2022-09-16 | 中移(杭州)信息技术有限公司 | 进程通信方法、系统、服务器及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160117079A1 (en) | Method and apparatus for displaying application icons on terminal | |
CN110096336B (zh) | 数据监控方法、装置、设备和介质 | |
CN100462977C (zh) | 截图服务器、分配服务器、生成网页截图的方法及系统 | |
US20190034443A1 (en) | Data Processing Method and Device | |
CN104040496A (zh) | 终端和应用程序恢复方法 | |
CN113110815B (zh) | 一种通过碰一碰实现传屏功能的方法、系统、电子设备及存储介质 | |
CN108681592B (zh) | 索引切换方法、装置、系统以及索引切换中控装置 | |
CN111147314A (zh) | 交换机升级方法、装置及存储介质 | |
CN112230936B (zh) | 容器组的部署方法、装置及服务器 | |
CN105546724A (zh) | 语音控制方法及系统、客户端、控制装置 | |
JP2020525883A (ja) | リアルタイムファイル変更検知基盤の自動バックアップ装置 | |
CN110852603B (zh) | 高吞吐量的风控数据处理方法、装置、设备及存储介质 | |
CN111026331A (zh) | 请求响应方法、装置、设备及计算机可读存储介质 | |
CN114244642A (zh) | 设备的控制方法及其装置、计算机可读存储介质、处理器 | |
CN111143241A (zh) | 内存数据迁移方法、装置和存储介质 | |
CN111143241B (zh) | 内存数据迁移方法、装置和存储介质 | |
CN108112052B (zh) | 终端的网络共享方法、装置、空气调节器及存储介质 | |
CN114595069B (zh) | 服务下线方法、装置、电子设备及存储介质 | |
CN107438100B (zh) | 网页访问方法及浏览器 | |
CN112368696A (zh) | 用于检索内容的方法和装置 | |
CN102314374A (zh) | 一种防止目标进程崩溃的输入方法和设备 | |
JP2015523666A (ja) | タスク処理方法および装置 | |
CN111444047B (zh) | 双机热备份的配置同步方法、双机热备系统及可读存储介质 | |
CN111953722A (zh) | 一种终端通讯录的同步方法及装置 | |
CN112506574A (zh) | ARM服务器中基于CentOS带内修改BIOS配置选项的方法 |
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 |