CN102203718A - 内存转储处理方法和装置及内存转储*** - Google Patents

内存转储处理方法和装置及内存转储*** Download PDF

Info

Publication number
CN102203718A
CN102203718A CN2011800005796A CN201180000579A CN102203718A CN 102203718 A CN102203718 A CN 102203718A CN 2011800005796 A CN2011800005796 A CN 2011800005796A CN 201180000579 A CN201180000579 A CN 201180000579A CN 102203718 A CN102203718 A CN 102203718A
Authority
CN
China
Prior art keywords
link
memory block
processing unit
unit group
core dump
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
CN2011800005796A
Other languages
English (en)
Other versions
CN102203718B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN102203718A publication Critical patent/CN102203718A/zh
Application granted granted Critical
Publication of CN102203718B publication Critical patent/CN102203718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供一种内存转储处理方法和装置及内存转储***,该方法包括:调用第一处理单元组对各内存块的内存转储处理的第一环节进行处理;对第一环节处理完成后的后续处理环节,调用第一处理单元组之外的各处理单元组分别进行处理,以将内存块写入存储设备。本发明实施例提供的内存转储处理方法和装置及内存转储***,可以实现流水方式对各内存块的各环节进行处理,避免磁盘I/O传输的瞬时峰值流量,提高内存转储性能。

Description

内存转储处理方法和装置及内存转储***
技术领域
本发明实施例涉及数据处理技术,尤其涉及一种内存转储处理方法和装置及内存转储***。
背景技术
操作***一般会在***崩溃后实行内存转储,将内存中的数据转储到存储设备中,以方便事后问题定位。随着硬件技术的发展,内存得到了极大的扩展,导致了***转储时间过长。同时现代处理器技术的发展,处理器已经从单核发展到多核多线程,能够同时并行处理多个线程,即处理器具有多个逻辑CPU,一个逻辑CPU即为一个处理单元。而传统的转储使用单个逻辑CPU处理,这就造成了***的计算能力极大的浪费。
现有技术的一些***如AIX(Advanced Interactive eXecutive),HP-UX(Hewlett Packard UniX)等提供了并行转储的功能,它将内存分块,由一个或多个逻辑CPU负责一个内存块的各环节(如预处理、过滤、压缩、写磁盘等)的处理操作,从而加快了处理速度。但是,由于处理各个内存块的逻辑CPU相互独立并行工作,当多个逻辑CPU同时进行磁盘I/O传输时,会引起磁盘I/O传输的瞬时峰值流量,导致转储性能的下降。而且,要求存储设备的驱动程序必须是可重入的,才能保证多个逻辑CPU同时使用存储设备。
发明内容
本发明实施例提供一种内存转储处理方法和装置及内存转储***,以避免磁盘I/O传输的瞬时峰值流量,提高内存转储性能。
本发明实施例提供一种内存转储处理方法,包括:
调用第一处理单元组对各内存块的内存转储处理的第一环节进行处理;
对所述第一环节处理完成后的后续处理环节,调用所述第一处理单元组之外的各处理单元组分别进行处理,以将内存块写入存储设备,所述后续处理环节为已处理环节的下一环节;
其中,所述各处理单元组对应处理内存转储处理中的一个环节。
本发明实施例提供一种内存转储处理装置,包括:
启动处理模块,用于调用第一处理单元组对各内存块的内存转储处理的第一环节进行处理;
后续处理模块,用于对所述第一环节处理完成后的后续处理环节,调用所述第一处理单元组之外的各处理单元组分别进行处理,以将内存块写入存储设备,所述后续处理环节为已处理环节的下一环节;
其中,所述各处理单元组对应处理内存转储处理中的一个环节。
本发明实施例提供一种内存转储***,包括内存和至少两个处理单元,还包括本发明实施例提供的内存转储处理装置。
由上述技术方案可知,本发明实施例提供内存转储处理方法和装置及内存转储***,通过调用第一处理单元组对各内存块的第一环节进行处理,可以逐个触发对各内存块的转储处理,因此实现将各内存块串行通过磁盘I/O写入存储设备,避免了磁盘I/O传输的瞬时峰值流量,存储设备的驱动程序也无需为可重入的,提高了内存转储性能。另外,本实施例对各内存块的后续处理环节,调用各对应组的处理单元分别进行处理,可以实现各处理单元组以流水方式对各内存块的各环节的处理,提高了处理单元的利用效率,避免了资源浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的内存转储处理方法流程图;
图2为本发明实施例二提供的内存转储处理方法流程图;
图3为本发明实施例三提供的内存转储处理方法流程图;
图4为本发明实施例四提供的内存转储处理装置结构示意图;
图5为本发明实施例五提供的内存转储处理装置结构示意图;
图6为本发明实施例六提供的内存转储***结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
图1为本发明实施例一提供的内存转储处理方法流程图。如图1所示,本实施例提供的内存转储处理方法具体可以应用于具有多个处理单元(即多个逻辑CPU)的***,当该***的操作***崩溃后,操作***的内存转储处理装置即可控制各处理单元,采用该内存转储处理方法进行内存转储。内存转储处理装置可以通过硬件和软件的形式来实现,可以集成在操作***的控制装置中,也可以独立设置内存转储处理装置。
本实施例的内存转储处理方法包括:
步骤10、内存转储处理装置调用第一处理单元组对各内存块的内存转储处理的第一环节进行处理;
具体的,内存已经被划分成多个内存块,可以按照多种预设规则进行划分。通常每个内存块的转储处理都涉及至少两个环节,例如,典型的环节可以包括预处理、过滤、压缩和写磁盘等环节,对内存块各环节的处理具有一定的顺序,只有当上一环节处理完成后,才能进行下一环节的处理。本实施例所采用的技术方案中,为每个环节分配对应的处理单元组,每组中处理单元的数量可以根据处理单元的实际处理速度来分配,可以为一个或多个。如预处理环节对应的处理单元组中包括一个处理单元,过滤环节对应的处理单元组中包括一个处理单元,压缩环节对应的处理单元组中包括三个处理单元,写磁盘环节对应的处理单元组中包括一个处理单元,以使各环节保持相对一致的处理进度。上述步骤10即调用第一环节对应的第一处理单元组,对各内存块的第一环节进行处理,具体可以按照设定的顺序对各内存块进行处理。
步骤20、对第一环节处理完成后的后续处理环节,调用第一处理单元组之外的各处理单元组分别进行处理,以将内存块写入存储设备,后续处理环节为已处理环节的下一环节。
其中,各处理单元组对应处理内存转储处理中的一个环节。第一处理单元组为第一环节对应的处理单元组,调用第一处理单元组对各内存块的第一环节进行处理,当第一处理单元组对一个内存块的第一环节处理完成后,该第一环节即为已处理环节,此时才可以调用其他处理单元组对该内存块依次进行后续处理环节的处理,而此时,第一处理单元组可以继续对下一个内存块的第一环节进行处理。随着转储的进展,各内存块陆续出现后续处理环节,这些后续处理环节可能对应着不同的环节,内存转储处理装置可以调用不同的处理单元组同时对这些后续处理环节进行处理。
下面以内存块的内存转储处理包括预处理、过滤、压缩和写磁盘四个环节为例对内存转储处理方法进行说明,该四个环节对应的处理单元组分别为第一处理单元组、第二处理单元组、第三处理单元组和第四处理单元组。通过本实施例提供的内存转储处理方法进行内存转储的具体过程可以为:首先调用第一处理单元组对第一个内存块的预处理环节进行处理,预处理环节处理完成后,该环节即为已处理环节,则第一个内存块的过滤环节为后续处理环节。此时,可以按照内存块的顺序,调用第一处理单元组对第二个内存块的预处理环节进行处理,同时,可调用第二处理单元组对第一个内存块的过滤环节进行处理。第一个内存块的过滤环节处理完成后,压缩环节成为后续处理环节,而第二个内存块的预处理环节处理完成后,其过滤环节成为后续处理环节。此时,可以按照内存块的顺序,调用第一处理单元组对第三个内存块的预处理环节进行处理,同时,调用第三处理单元组对第一个内存块的压缩环节进行处理,调用第二处理单元组对第二个内存块的过滤环节进行处理。后续的操作过程类似执行,第一个内存块的压缩环节处理完成后,调用第四处理单元组对第一个内存块的写磁盘环节进行处理,将第一个内存块写入存储设备,至此就完成了对第一个内存块的转储处理。第二个内存块的过滤环节处理完成后调用第三处理单元组对第二个内存块的压缩环节进行处理,第三个内存块的预处理环节处理完成后,调用第二处理单元组对第三个内存块的过滤环节进行处理,同时调用第一处理单元组对第四个内存块的预处理环节进行处理。依次循环实现对各内存块的各环节的流水线处理,实现将所有内存块顺序通过磁盘I/O写入存储设备。
本实施例提供的内存转储处理方法,通过调用第一处理单元组对各内存块的第一环节进行处理,可以逐个触发对各内存块的转储处理,因此实现将各内存块串行通过磁盘I/O写入存储设备,避免了磁盘I/O传输的瞬时峰值流量,存储设备的驱动程序也无需为可重入的,提高了内存转储性能。另外,本实施例对各内存块的后续处理环节,调用各对应组的处理单元分别进行处理,可以实现各处理单元组以流水方式对各内存块的各环节的处理,提高了处理单元的利用效率,避免了资源浪费。
实施例二
图2为本发明实施例二提供的内存转储处理方法流程图。本实施例与实施例一的区别在于,上述实施例中的步骤20,对第一环节处理完成后的后续处理环节,调用第一处理单元组之外的各处理单元组分别进行处理,具体可以包括:当内存转储处理装置识别到内存块存在后续处理环节时,调用对应的处理单元组进行处理,且在处理完成后,将下一个环节更新为后续处理环节。
通过对内存块的后续处理环节的识别和更新,可以实现各内存块的各环节流水处理的同步。
在本实施例中,环节具体可以包括预处理环节、过滤环节、压缩环节和写磁盘环节。预处理环节、过滤环节、压缩环节和写磁盘环节顺序处理,第一环节为预处理环节,后续处理环节为过滤环节、压缩环节或写磁盘环节。如,作为第一环节的预处理环节处理完成后,过滤环节为后续处理环节,当过滤环节处理完成后,压缩环节为后续处理环节,以此类推。环节的设置可以根据实际内存转储需要来设置,不以本实施例为限。
在本实施例中,优选地,各内存块的各环节对应设置有存储位,用于存储处理状态标识,则当内存转储处理装置识别到内存块存在后续处理环节时,调用对应的处理单元组进行处理,且在处理完成后,将下一个环节更新为后续处理环节的操作具体可以包括如下步骤:
步骤301、当内存转储处理装置根据各内存块各存储位的处理状态标识识别到后续处理环节时,调用对应的处理单元组进行处理;
步骤302、在内存块当前的后续处理环节处理完成后,内存转储处理装置更新内存块对应的处理状态标识,以将下一个环节更新为后续处理环节。
处理状态标识具体用以指示某一内存块的某一环节是否已经处理完成。存储位具体可以设置在内存的预留存储区域中,该预留存储区域在***正常工作时不调用,只有在***崩溃需要进行内存转储时,才使用该预留存储区域中的存储位存储处理状态标识。存储位也可以设置在其他存储单元中,在***崩溃时可以用以存储位存储处理状态标识即可,不以本实施例为限。存储位的设置方法具体可以为:
假设将内存总共划分为1024块内存块,每个内存块需要进行四个环节的处理,则每个内存块需要三个处理状态标识,分别对应前三个环节的处理状态,若某一环节的状态为未处理,该环节对应的处理状态标识为“0”,当该环节处理完成后,将该环节对应的处理状态标识更新为“1”,据此可以对内存块的该环节的下一环节进行处理,实现了各环节的同步操作。通过一个存储位存储一个处理状态标识,则需要1024×3=3072个存储位,一个存储位具体可以为1比特,则至少需要384个字节的预留存储区域。在内存转储工作开始之前,具体可以将预留存储区域中的所有存储位存储的处理状态标识初始化为“0”,以便内存转储过程中对处理状态标识更新来实现对各环节的同步。
通过处理状态标识的设置,在***崩溃的环境下,避免了应用***信号量进行流水处理中各环节同步而引起的错误,提高了内存转储处理的正确性,进一步提高了内存转储性能。流水处理中各环节的同步也可以通过队列、堆栈等数据结构来实现,不以本实施例为限。
在本实施例中,步骤10内存转储处理装置调用第一处理单元组对各内存块的内存转储处理的第一环节进行处理,具体可以包括:
步骤101、内存转储处理装置按照各内存块的顺序对内存块进行编号;
步骤102、内存转储处理装置调用第一处理单元组按照编号顺序对各内存块的内存转储处理的第一环节进行处理。
通过按照各内存块的顺序对内存块进行编号,调用第一处理单元组按照编号顺序对各内存块的第一环节进行处理,实现对各内存块的后续处理环节也是按照内存块的顺序进行,将内存块写入存储设备后不需要进行特殊处理就可以还原内存中的文件数据。
实施例三
图3为本发明实施例三提供的内存转储处理方法流程图。本实施例提供的内存转储处理方法具体还可以包括如下步骤:
步骤40、内存转储处理装置检测各处理单元组的负载状况,生成检测结果;
步骤50、内存转储处理装置根据检测结果动态调整各处理单元组中处理单元的数量。
通过对各处理单元组的负载状况的检测,能够对各环节动态分配处理单元,保持了处理过程的平衡性,避免出现瓶颈。具体的,可以预先设置预处理环节对应的处理单元组中包括一个处理单元,过滤环节对应的处理单元组中包括一个处理单元,压缩环节对应的处理单元组中包括三个处理单元,写磁盘环节对应的处理单元组中包括一个处理单元。在内存转储过程中,再通过对各处理单元组的负载状况的检测动态地调整各处理单元组中的处理单元的数量,当压缩环节的处理速度过快时,而过滤环节的处理速度比较慢时,可以使压缩环节的三个处理单元中的一个停止工作,释放该处理单元的资源,并将该处理单元用于进行过滤环节的处理工作。也可以预设各环节对应的处理单元组中处理单元的数量均为一个,再在内存转储过程中,通过对各处理单元组的负载状况的检测动态地调整各处理单元组中处理单元的数量。值得注意的是,内存转储处理装置检查各处理单元组的负载状况,并调整各处理单元组中处理单元的数量的步骤可以在内存转储过程中进行,与上述内存转储的各步骤不具有必然的时序关系。
在本实施例中,优选地,步骤40内存转储处理装置检测各处理单元组的负载状况,生成检测结果,具体可以包括:
内存转储处理装置检测各处理单元组处理设定数量内存块对应环节的平均时间,作为检测结果。
通过对各处理单元组处理设定数量内存块对应环节的平均时间进行检测,作为检测结果,以反映各处理单元的负载情况,操作简单,易于实现。
在本实施例中,当后续处理环节为写磁盘环节时,则对第一环节处理完成后的后续处理环节,调用第一处理单元组之外的各处理单元组分别进行处理,以将内存块写入存储设备的操作具体可以包括如下步骤:
内存转储处理装置调用写磁盘环节对应的处理单元组,根据磁盘I/O的数量和内存块的编号进行写磁盘环节处理,将内存块通过磁盘I/O写入存储设备。
在实际应用中,磁盘I/O的数量可能为多个,通过多个磁盘I/O将内存块写入存储设备时,可以根据磁盘I/O的数量和内存块的编号进行写磁盘环节处理,以保证内存块在存储设备中的存储顺序。
在本实施例中,优选地,根据磁盘I/O的数量和内存块的编号进行写磁盘环节处理,将内存块通过磁盘I/O写入存储设备,具体可以包括如下步骤:
对内存块的编号和磁盘I/O的数量取模,根据取模结果将内存块通过对应的磁盘I/O写入存储设备。
具体的,例如,内存块的编号为1-1024,磁盘I/O的数量为2个,编号为0和1,则1号内存块的编号1,与2取模,取模结果为1,则将1号内存块通过1号磁盘I/O写入存储设备,2号内存块的编号为2,与2取模,取模结果为0,则将2号内存块通过0号磁盘写入存储设备。
在本实施例中,在步骤10内存转储处理装置调用第一处理单元组对各内存块的内存转储处理的第一环节进行处理,之前,具体还可以包括划分内存块的步骤:
步骤60、内存转储处理装置根据待写入磁盘I/O的带宽将内存划分为至少两个内存块。
根据写入磁盘I/O的带宽对内存进行划分,可以避免磁盘I/O的拥塞而导致的内存转储性能的下降。
在本实施例中,优选地,步骤60内存转储处理装置根据待写入磁盘I/O的带宽将内存划分为至少两个内存块,具体可以包括:
步骤601、内存转储处理装置根据待写入磁盘I/O的带宽计算内存块的容量,其中,内存块经过写磁盘环节之前各环节处理后的容量不大于磁盘I/O的带宽;
步骤602、内存转储处理装置根据计算得到的内存块容量对内存进行划分。
如写入磁盘I/O的带宽为20M/s,过滤环节的比率为50%和压缩环节的比率为50%,20/50%/50%=80M,则划分的内存块的容量大小为80M,根据该内存块容量对内存进行划分,可以有效利用磁盘I/O的带宽。
实施例四
图4为本发明实施例四提供的内存转储处理装置结构示意图。如图4所示,本实施例提供的内存转储处理装置具体可以实现本发明任意实施例提供的内存转储处理方法,但并不以此为限。
本实施例提供的内存转储处理装置包括启动处理模块11和后续处理模块12。启动处理模块11用于调用第一处理单元组对各内存块的内存转储处理的第一环节进行处理。本实施例所采用的技术方案中,内存转储处理装置可以预先为每个环节分配对应的处理单元组13,每处理单元组中处理单元的数量也可以根据处理单元的实际处理速度来分配,可以为一个或多个。后续处理模块12用于对第一环节处理完成后的后续处理环节,调用第一处理单元组之外的各处理单元组分别进行处理,以将内存块写入存储设备,后续处理环节为已处理环节的下一环节。其中,各处理单元组对应处理内存转储处理中的一个环节。
本实施例提供的内存转储处理装置,通过启动处理模块11的设置,调用第一处理单元组对各内存块的第一环节进行处理,可以逐个触发对各内存块的转储处理,因此实现将各内存块串行通过磁盘I/O写入存储设备,避免了磁盘I/O传输的瞬时峰值流量,存储设备的驱动程序也无需为可重入的,提高了内存转储性能。另外,本实施例通过后续处理模块12的设置,对各内存块的后续处理环节,调用各对应组的处理单元分别进行处理,可以实现各处理单元组13以流水方式对各内存块的各环节的处理,提高了处理单元的利用效率,避免了资源浪费。
实施例五
图5为本发明实施例五提供的内存转储处理装置结构示意图。在本实施例中,各内存块的各环节对应设置有存储位,用于存储处理状态标识,处理状态标识具体用以指示某一内存块的某一环节是否已经处理完成。存储位具体可以设置在内存15的预留存储区域中,该预留存储区域在***正常工作时不调用,只有在***崩溃需要进行内存转储时,才使用该预留存储区域中的存储位存储处理状态标识。存储位也可以设置在其他存储单元中,在***崩溃时可以用以存储位存储处理状态标识即可,不以本实施例为限。
本实施例提供内存转储处理装置中的后续处理模块12具体可以包括后续环节处理单元121和存储位更新单元122。后续环节处理单元121用于当根据各内存块各存储位的处理状态标识识别到后续处理环节时,调用对应的处理单元组进行处理。存储位更新单元122用于在内存块当前的后续处理环节处理完成后,更新内存块对应的处理状态标识,以将下一个环节更新为后续处理环节。
通过处理状态标识的设置,在***崩溃的环境下,避免了应用***信号量进行流水处理中各环节同步而引起的错误,提高了内存转储处理的正确性,进一步提高了内存转储性能。流水处理中各环节的同步也可以通过队列、堆栈等数据结构来实现,不以本实施例为限。
在本实施例中,启动处理模块11具体可以包括编号单元111和启动单元112,编号单元111用于按照各内存块的顺序对内存块进行编号。启动单元112用于调用第一处理单元组按照编号顺序对各内存块的内存转储处理的第一环节进行处理。
通过编号单元111按照各内存块的顺序对内存块进行编号,并通过启动单元112调用第一处理单元组按照编号顺序对各内存块的第一环节进行处理,实现对各内存块的后续处理环节也是按照内存块的顺序进行,将内存块写入存储设备14后不需要进行特殊处理就可以还原内存中的文件数据。
在本实施例中,内存转储处理装置具体还包括负载检测模块17和负载调整模块18,负载检测模块17用于检测各处理单元组的负载状况,生成检测结果。负载调整模块18用于根据检测结果动态调整各处理单元组中处理单元的数量。
通过负载检测模块17对各处理单元组的负载状况的检测,负载调整模块18能够对各环节动态分配处理单元,保持了处理过程的平衡性,避免出现瓶颈,也有效地利用了处理资源。
在本实施例中,优选地,负载检测模块17可以检测各处理单元组处理设定数量内存块对应环节的平均时间,作为检测结果。通过对各组处理单元处理设定数量内存块对应环节的平均时间进行检测,作为检测结果,以反映各处理单元的负载情况,操作简单,易于实现。
在本实施例中,后续环节处理单元121至少包括写磁盘处理子单元1211。写磁盘处理子单元1211用于当根据各内存块各存储位的处理状态标识识别到后续处理环节,且后续处理环节为写磁盘环节时,调用写磁盘环节对应的处理单元组进行处理,且指示根据磁盘I/O的数量和内存块的编号进行写磁盘环节处理,将内存块通过磁盘I/O写入存储设备14。
在实际应用中,磁盘I/O的数量可能为多个,通过多个磁盘I/O将内存块写入存储设备14时,可以通过写磁盘处理子单元1211指示写磁盘环节对应的处理单元组13根据磁盘I/O的数量和内存块的编号进行写磁盘环节处理,以保证内存块在存储设备14中的存储顺序。
在本实施例中,内存转储处理装置还可以包括内存划分模块16,内存划分模块16用于根据待写入磁盘I/O的带宽将内存1 5划分为至少两个内存块。根据写入磁盘I/O的带宽对内存1 5进行划分,可以避免磁盘I/O的拥塞而导致的内存转储性能的下降。
实施例六
图6为本发明实施例六提供的内存转储***结构示意图,如图6所示,本实施例提供的内存转储***包括内存15和至少两个处理单元23,还包括本发明任意实施例提供的内存转储处理装置21。本实施例提供内存转储***中通过内存转储处理装置21调用处理单元23对内存15进行转储的工作过程具体可以参照上述实施例,此不再赘述。
本实施例提供的内存转储***,可以逐个触发对各内存块的转储处理,因此实现将各内存块串行通过磁盘I/O写入存储设备14,避免了磁盘I/O传输的瞬时峰值流量,存储设备14的驱动程序也无需为可重入的,提高了内存转储性能。也可以实现各处理单元组13以流水方式对各内存块的各环节的处理,提高了处理单元的利用效率,避免了资源浪费。
本发明实施例提供的内存转储处理方法和装置及内存转储***,以流水方式实现多处理单元合作对内存块串行转储,将峰值的磁盘I/O流量分流到了各个环节,避免了磁盘I/O传输的瞬时峰值流量,存储设备的驱动程序也无需为可重入的,提高了内存转储性能。实现了对内存文件的顺序转储,对于多磁盘I/O提供了简单的处理原则。根据各环节的负载情况动态地调整各组处理单元的数量,避免了瓶颈问题,有效地利用了***资源。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (18)

1.一种内存转储处理方法,其特征在于,包括:
调用第一处理单元组对各内存块的内存转储处理的第一环节进行处理;
对所述第一环节处理完成后的后续处理环节,调用所述第一处理单元组之外的各处理单元组分别进行处理,以将内存块写入存储设备,所述后续处理环节为已处理环节的下一环节;
其中,所述各处理单元组对应处理内存转储处理中的一个环节。
2.根据权利要求1所述的内存转储处理方法,其特征在于,对所述第一环节处理完成后的后续处理环节,调用所述第一处理单元组之外的各处理单元组分别进行处理包括:
当识别到内存块存在后续处理环节时,调用对应的处理单元组进行处理,且在处理完成后,将下一个环节更新为后续处理环节。
3.根据权利要求2所述的内存转储处理方法,其特征在于,各内存块的各环节对应设置有存储位,用于存储处理状态标识,则当识别到内存块存在后续处理环节时,调用对应的处理单元组进行处理,且在处理完成后,将下一个环节更新为后续处理环节包括:
当根据各内存块各存储位的处理状态标识识别到后续处理环节时,调用对应的处理单元组进行处理;
在内存块当前的后续处理环节处理完成后,更新内存块对应的处理状态标识,以将下一个环节更新为后续处理环节。
4.根据权利要求1或2或3所述的内存转储处理方法,其特征在于,调用第一处理单元组对各内存块的内存转储处理的第一环节进行处理包括:
按照各内存块的顺序对内存块进行编号;
调用第一处理单元组按照所述编号顺序对各内存块的内存转储处理的第一环节进行处理。
5.根据权利要求1或2或3所述的内存转储处理方法,其特征在于,还包括:
检测各处理单元组的负载状况,生成检测结果;
根据所述检测结果动态调整各处理单元组中处理单元的数量。
6.根据权利要求5所述的内存转储处理方法,其特征在于,检测各处理单元组的负载状况,生成检测结果包括:
检测各处理单元组处理设定数量内存块对应环节的平均时间,作为检测结果。
7.根据权利要求4所述的内存转储处理方法,其特征在于,当后续处理环节为写磁盘环节时,则所述对所述第一环节处理完成后的后续处理环节,调用所述第一处理单元组之外的各处理单元组分别进行处理,以将内存块写入存储设备包括:
调用写磁盘环节对应的处理单元组,根据磁盘I/O的数量和所述内存块的编号进行写磁盘环节处理,将所述内存块通过磁盘I/O写入存储设备。
8.根据权利要求7所述的内存转储处理方法,其特征在于,根据磁盘I/O的数量和所述内存块的编号进行写磁盘环节处理,将所述内存块通过磁盘I/O写入存储设备包括:
对所述内存块的编号和所述磁盘I/O的数量取模,根据取模结果将所述内存块通过对应的磁盘I/O写入存储设备。
9.根据权利要求1所述的内存转储处理方法,其特征在于,在调用第一处理单元组对各内存块的内存转储处理的第一环节进行处理之前,还包括:
根据待写入磁盘I/O的带宽将内存划分为至少两个内存块。
10.根据权利要求9所述的内存转储处理方法,其特征在于,根据待写入磁盘I/O的带宽将内存划分为至少两个内存块包括:
根据待写入磁盘I/O的带宽计算内存块的容量,其中,所述内存块经过写磁盘环节之前各环节处理后的容量不大于所述磁盘I/O的带宽;
根据计算得到的内存块容量对所述内存进行划分。
11.根据权利要求1所述的内存转储处理方法,其特征在于:
所述环节包括预处理环节、过滤环节、压缩环节和写磁盘环节;
所述预处理环节、过滤环节、压缩环节和写磁盘环节顺序处理;
所述第一环节为所述预处理环节,所述后续处理环节为所述过滤环节、所述压缩环节或所述写磁盘环节。
12.一种内存转储处理装置,其特征在于,包括:
启动处理模块,用于调用第一处理单元组对各内存块的内存转储处理的第一环节进行处理;
后续处理模块,用于对所述第一环节处理完成后的后续处理环节,调用所述第一处理单元组之外的各处理单元组分别进行处理,以将内存块写入存储设备,所述后续处理环节为已处理环节的下一环节;
其中,所述各处理单元组对应处理内存转储处理中的一个环节。
13.根据权利要求12所述的内存转储处理装置,其特征在于,各内存块的各环节对应设置有存储位,用于存储处理状态标识,且所述后续处理模块包括:
后续环节处理单元,用于当根据各内存块各存储位的处理状态标识识别到后续处理环节时,调用对应的处理单元组进行处理;
存储位更新单元,用于在内存块当前的后续处理环节处理完成后,更新内存块对应的处理状态标识,以将下一个环节更新为后续处理环节。
14.根据权利要求12或13所述的内存转储处理装置,其特征在于,所述启动处理模块包括:
编号单元,用于按照各内存块的顺序对内存块进行编号;
启动单元,用于调用第一处理单元组按照所述编号顺序对各内存块的内存转储处理的第一环节进行处理。
15.根据权利要求12或13所述的内存转储处理装置,其特征在于,还包括:
负载检测模块,用于检测各处理单元组的负载状况,生成检测结果;
负载调整模块,用于根据所述检测结果动态调整各处理单元组中处理单元的数量。
16.根据权利要求14所述的内存转储处理装置,其特征在于:
所述后续环节处理单元至少包括写磁盘处理子单元,用于当根据各内存块各存储位的处理状态标识识别到后续处理环节,且后续处理环节为写磁盘环节时,调用写磁盘环节对应的处理单元组进行处理,且指示根据磁盘I/O的数量和所述内存块的编号进行写磁盘环节处理,将所述内存块通过磁盘I/O写入存储设备。
17.根据权利要求12所述的内存转储处理装置,其特征在于,还包括:
内存划分模块,用于根据待写入磁盘I/O的带宽将内存划分为至少两个内存块。
18.一种内存转储***,包括内存和至少两个处理单元,其特征在于,还包括权利要求12-17任一所述的内存转储处理装置。
CN2011800005796A 2011-05-26 2011-05-26 内存转储处理方法和装置及内存转储*** Active CN102203718B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/074721 WO2011127865A2 (zh) 2011-05-26 2011-05-26 内存转储处理方法和装置及内存转储***

Publications (2)

Publication Number Publication Date
CN102203718A true CN102203718A (zh) 2011-09-28
CN102203718B CN102203718B (zh) 2013-08-28

Family

ID=44662774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011800005796A Active CN102203718B (zh) 2011-05-26 2011-05-26 内存转储处理方法和装置及内存转储***

Country Status (4)

Country Link
US (1) US8627148B2 (zh)
EP (1) EP2437178B1 (zh)
CN (1) CN102203718B (zh)
WO (1) WO2011127865A2 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281549A (zh) * 2013-07-08 2015-01-14 联想(北京)有限公司 一种ums中调整写缓冲区的方法及装置
CN104881611A (zh) * 2014-02-28 2015-09-02 国际商业机器公司 保护软件产品中的敏感数据的方法和装置
CN106648442A (zh) * 2015-10-29 2017-05-10 阿里巴巴集团控股有限公司 一种元数据节点的内存镜像方法、装置
CN107436738A (zh) * 2017-08-17 2017-12-05 北京理工大学 一种数据存储方法及***
CN107450856A (zh) * 2017-08-10 2017-12-08 北京元心科技有限公司 存储数据的写入方法、读取方法以及相应的装置、终端
CN110543384A (zh) * 2019-09-05 2019-12-06 Oppo广东移动通信有限公司 内存的回写方法、装置、终端及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176804B2 (en) 2013-06-27 2015-11-03 International Business Machines Corporation Memory dump optimization in a system
US9317356B2 (en) * 2013-10-15 2016-04-19 Globalfoundries Inc. Device state capture during operating system dump
JPWO2016139774A1 (ja) * 2015-03-04 2017-12-14 富士通株式会社 情報処理装置、情報処理システム
US11334416B2 (en) * 2019-10-25 2022-05-17 Dell Products L.P. System and method for transferring peripheral firmware core data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101025701A (zh) * 2006-02-22 2007-08-29 株式会社日立制作所 存储器转储方法、存储器转储程序以及计算机***
CN101770401A (zh) * 2008-12-30 2010-07-07 北京天融信网络安全技术有限公司 一种建立多核运行环境的方法
CN101795381A (zh) * 2009-02-02 2010-08-04 奥林巴斯映像株式会社 数据处理装置及图像处理装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293612A (en) * 1989-05-11 1994-03-08 Tandem Computers Incorporated Selective dump method and apparatus
US5339406A (en) * 1992-04-03 1994-08-16 Sun Microsystems, Inc. Reconstructing symbol definitions of a dynamically configurable operating system defined at the time of a system crash
US6948010B2 (en) * 2000-12-20 2005-09-20 Stratus Technologies Bermuda Ltd. Method and apparatus for efficiently moving portions of a memory block
US7831857B2 (en) * 2006-10-31 2010-11-09 Hewlett-Packard Development Company, L.P. Method and system for recovering from operating system crash or failure
TW200919365A (en) * 2007-10-30 2009-05-01 Sercomm Corp Image processing system and method thereof applied with instant messaging program
JP5211751B2 (ja) * 2008-02-26 2013-06-12 富士通株式会社 計算機、ダンププログラムおよびダンプ方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101025701A (zh) * 2006-02-22 2007-08-29 株式会社日立制作所 存储器转储方法、存储器转储程序以及计算机***
CN101770401A (zh) * 2008-12-30 2010-07-07 北京天融信网络安全技术有限公司 一种建立多核运行环境的方法
CN101795381A (zh) * 2009-02-02 2010-08-04 奥林巴斯映像株式会社 数据处理装置及图像处理装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281549A (zh) * 2013-07-08 2015-01-14 联想(北京)有限公司 一种ums中调整写缓冲区的方法及装置
CN104881611A (zh) * 2014-02-28 2015-09-02 国际商业机器公司 保护软件产品中的敏感数据的方法和装置
CN104881611B (zh) * 2014-02-28 2017-11-24 国际商业机器公司 保护软件产品中的敏感数据的方法和装置
CN106648442A (zh) * 2015-10-29 2017-05-10 阿里巴巴集团控股有限公司 一种元数据节点的内存镜像方法、装置
CN107450856A (zh) * 2017-08-10 2017-12-08 北京元心科技有限公司 存储数据的写入方法、读取方法以及相应的装置、终端
CN107436738A (zh) * 2017-08-17 2017-12-05 北京理工大学 一种数据存储方法及***
CN107436738B (zh) * 2017-08-17 2019-10-25 北京理工大学 一种数据存储方法及***
CN110543384A (zh) * 2019-09-05 2019-12-06 Oppo广东移动通信有限公司 内存的回写方法、装置、终端及存储介质
WO2021043021A1 (zh) * 2019-09-05 2021-03-11 Oppo广东移动通信有限公司 内存的回写方法、装置、终端及存储介质

Also Published As

Publication number Publication date
US8627148B2 (en) 2014-01-07
CN102203718B (zh) 2013-08-28
EP2437178A4 (en) 2012-08-01
US20120304019A1 (en) 2012-11-29
WO2011127865A2 (zh) 2011-10-20
EP2437178A2 (en) 2012-04-04
WO2011127865A3 (zh) 2012-04-19
EP2437178B1 (en) 2013-07-31

Similar Documents

Publication Publication Date Title
CN102203718B (zh) 内存转储处理方法和装置及内存转储***
US5355508A (en) Parallel data processing system combining a SIMD unit with a MIMD unit and sharing a common bus, memory, and system controller
CN109976907B (zh) 任务分配方法和***、电子设备、计算机可读介质
CN103229136B (zh) 磁盘阵列刷盘方法及磁盘阵列刷盘装置
CN108334396A (zh) 一种数据处理方法和装置、资源组的创建方法和装置
CN105808328A (zh) 任务调度的方法、装置和***
US20170228190A1 (en) Method and system providing file system for an electronic device comprising a composite memory device
CN106371807A (zh) 一种扩展处理器指令集的方法及装置
CN108037894B (zh) 一种磁盘空间管理方法及装置
CN103246484B (zh) 一种数据存储方法、装置及***
CN106325989A (zh) 任务执行方法及装置
CN104077266B (zh) 多内核操作***实现方法和实现装置及***
CN103488577A (zh) 一种基于用途编号的用户程序内存分配及批量回收的方法及装置
US6356969B1 (en) Methods and apparatus for using interrupt score boarding with intelligent peripheral device
CN101729421A (zh) 一种基于时分复用的存储方法和装置
CN103530254A (zh) 多节点***的外部设备互联枚举方法和装置
CN104461706A (zh) 一种将共享全局变量共享的方法和多处理装置
CN109445693A (zh) 一种数据压缩方法和装置
CN109788061B (zh) 计算任务部署方法及装置
CN103765399A (zh) 在多核***中分配中断的方法和设备
CN113986846A (zh) 数据处理方法、***、设备及存储介质
JP2001014139A (ja) ワークファイルを使用するマルチスレッドソート処理方式及び処理方法
CN104580324B (zh) 一种数据存储方法及装置
CN104461780A (zh) 一种释放数据块的方法及装置
CN105786457A (zh) 将VxWorks任务移植到Linux的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant