CN112463369B - 一种内存调整方法、装置、设备及计算机可读存储介质 - Google Patents
一种内存调整方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112463369B CN112463369B CN202011311291.8A CN202011311291A CN112463369B CN 112463369 B CN112463369 B CN 112463369B CN 202011311291 A CN202011311291 A CN 202011311291A CN 112463369 B CN112463369 B CN 112463369B
- Authority
- CN
- China
- Prior art keywords
- memory
- controller
- information
- configuration
- target
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 533
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000002159 abnormal effect Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 7
- 238000009966 trimming Methods 0.000 claims 2
- 230000000694 effects Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 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
- G06F12/023—Free address space management
Abstract
本发明公开了一种内存调整方法,包括:接收第一控制器的第一内存信息和第二控制器的第二内存信息;其中,第一控制器与第二控制器互为备份;获取预存的原配置内存信息;判断第一内存信息和第二内存信息是否均与原配置内存信息一致;若否,则根据第一内存信息和第二内存信息中的较小者,从预设可支持配置集合中选取第一控制器和第二控制器可支持的最大内存配置,并将支持的最大内存配置确定为目标内存配置;根据目标内存配置依次对第一控制器和第二控制器进行内存调整。应用本发明所提供的内存调整方法,使得控制器的内存空间得了充分利用,保证了IO业务流的正常进行。本发明还公开了一种内存调整装置、设备及存储介质,具有相应技术效果。
Description
技术领域
本发明涉及存储技术领域,特别是涉及一种内存调整装置、设备及计算机可读存储介质。
背景技术
在存储领域,数据存储的稳定性和安全性至关重要。存储整机的可靠性离不开所挂设备,数据的传输依赖于各存储部件的支持,在存储系统业务处理的过程中,若存在内存条发生故障或损坏,如存在双列直插式存储模块(DIMM,Dual-Inline-Memory-Modules)发生故障或损坏,将影响数据链路的IO业务流进行,因此需要在内存条发生故障或损坏时,对存储系统进行内存调整。
现有的对存储系统的内存调整方式为因控制器内存条损坏导致自身配置异常,型号识别失败,通过预先设置最小系统内存,当存储系统中互为备份的上控制器或下控制器中存在内存条损坏时,通过启动最小系统进行IO业务流。但是,该内存调整方式使得两控制器的内存空间得不到充分利用,当内存条损坏的控制器不支持预先设置最小系统内存时,导致IO业务流中断,影响业务的正常处理。
综上所述,如何有效地解决现有的对存储系统的内存调整方式控制器的内存空间得不到充分利用,易导致IO业务流中断,影响业务的正常处理等问题,是目前本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种内存调整方法,该方法使得控制器的内存空间得了充分利用,保证了两控制器能够支持选取得到的目标内存配置,保证了IO业务流的正常进行;本发明的另一目的是提供一种内存调整装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供如下技术方案:
一种内存调整方法,包括:
接收第一控制器的第一内存信息和第二控制器的第二内存信息;其中,所述第一控制器与所述第二控制器互为备份;
获取预存的原配置内存信息;
判断所述第一内存信息和所述第二内存信息是否均与所述原配置内存信息一致;
若否,则根据所述第一内存信息和所述第二内存信息中的较小者,从预设可支持配置集合中选取所述第一控制器和所述第二控制器可支持的最大内存配置,并将支持的最大内存配置确定为目标内存配置;
根据所述目标内存配置依次对所述第一控制器和所述第二控制器进行内存调整。
在本发明的一种具体实施方式中,根据所述目标内存配置依次对所述第一控制器和所述第二控制器进行内存调整,包括:
对所述第一控制器和所述第二控制器中的缓存数据进行保存操作;
将所述第一内存信息和所述第二内存信息中与所述原配置内存信息相同的内存信息对应的正常控制器确定为系统配置节点;
利用所述系统配置节点进行业务处理,并对生成的业务数据进行保存操作;
根据所述目标内存配置,对所述第一内存信息和所述第二内存信息中与所述原配置内存信息不同的内存信息对应的异常控制器进行内存调整,得到调整后控制器;
将所述调整后控制器确定为所述系统配置节点,根据所述目标内存配置对所述正常控制器进行内存调整。
在本发明的一种具体实施方式中,在根据所述目标内存配置对所述正常控制器进行内存调整之后,还包括:
将所述缓存数据和所述业务数据发送至所述第一控制器和所述第二控制器。
在本发明的一种具体实施方式中,将所述缓存数据和所述业务数据发送至所述第一控制器和所述第二控制器,包括:
从所述第一控制器和所述第二控制器中选取一个控制器作为目标控制器;
将所述缓存数据和所述业务数据发送至所述目标控制器;
通过NTB链路将所述目标控制器中的所述缓存数据和所述业务数据,同步至所述第一控制器和所述第二控制器中除所述目标控制器之外的另一控制器。
在本发明的一种具体实施方式中,根据所述目标内存配置,对所述第一内存信息和所述第二内存信息中与所述原配置内存信息不同的内存信息对应的异常控制器进行内存调整,包括:
获取所述异常控制器的各第一可用内存槽位及各所述第一可用内存槽位分别对应的内存大小信息;
结合所述目标内存配置、各所述第一可用内存槽位、以及各所述第一可用内存槽位分别对应的内存大小信息,对所述异常控制器进行内存调整;
根据所述目标内存配置对所述正常控制器进行内存调整,包括:
获取所述异常控制器的各第二可用内存槽位及各所述第二可用内存槽位分别对应的内存大小信息;
结合所述目标内存配置、各所述第二可用内存槽位、以及各所述第二可用内存槽位分别对应的内存大小信息,对所述正常控制器进行内存调整。
一种内存调整装置,包括:
信息接收模块,用于接收第一控制器的第一内存信息和第二控制器的第二内存信息;其中,所述第一控制器与所述第二控制器互为备份;
信息获取模块,用于获取预存的原配置内存信息;
判断模块,用于判断所述第一内存信息和所述第二内存信息是否均与所述原配置内存信息一致;
配置确定模块,用于当所述第一内存信息和所述第二内存信息中存在与所述原配置内存信息不一致的内存信息时,根据所述第一内存信息和所述第二内存信息中的较小者,从预设可支持配置集合中选取所述第一控制器和所述第二控制器可支持的最大内存配置,并将支持的最大内存配置确定为目标内存配置;
内存调整模块,用于根据所述目标内存配置依次对所述第一控制器和所述第二控制器进行内存调整。
在本发明的一种具体实施方式中,所述内存调整模块包括:
缓存数据保存子模块,用于对所述第一控制器和所述第二控制器中的缓存数据进行保存操作;
配置节点确定子模块,用于将所述第一内存信息和所述第二内存信息中与所述原配置内存信息相同的内存信息对应的正常控制器确定为系统配置节点;
业务数据保存子模块,用于利用所述系统配置节点进行业务处理,并对生成的业务数据进行保存操作;
第一内存调整子模块,用于根据所述目标内存配置,对所述第一内存信息和所述第二内存信息中与所述原配置内存信息不同的内存信息对应的异常控制器进行内存调整,得到调整后控制器;
第二内存调整子模块,用于将所述调整后控制器确定为所述系统配置节点,根据所述目标内存配置对所述正常控制器进行内存调整。
在本发明的一种具体实施方式中,所述第一内存调整子模块包括:
第一槽位信息获取单元,用于获取所述异常控制器的各第一可用内存槽位及各所述第一可用内存槽位分别对应的内存大小信息;
第一内存调整单元,用于结合所述目标内存配置、各所述第一可用内存槽位、以及各所述第一可用内存槽位分别对应的内存大小信息,对所述异常控制器进行内存调整;
所述第二内存调整子模块包括:
第二槽位信息获取单元,用于获取所述异常控制器的各第二可用内存槽位及各所述第二可用内存槽位分别对应的内存大小信息;
第二内存调整单元,用于结合所述目标内存配置、各所述第二可用内存槽位、以及各所述第二可用内存槽位分别对应的内存大小信息,对所述正常控制器进行内存调整。
一种内存调整设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述内存调整方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述内存调整方法的步骤。
本发明所提供的内存调整方法,接收第一控制器的第一内存信息和第二控制器的第二内存信息;其中,第一控制器与第二控制器互为备份;获取预存的原配置内存信息;判断第一内存信息和第二内存信息是否均与原配置内存信息一致;若否,则根据第一内存信息和第二内存信息中的较小者,从预设可支持配置集合中选取第一控制器和第二控制器可支持的最大内存配置,并将支持的最大内存配置确定为目标内存配置;根据目标内存配置依次对第一控制器和第二控制器进行内存调整。
通过上述技术方案可知,预先根据存储系统中第一控制器与第二控制器的原配置内存信息设置可支持配置集合,当第一控制器与第二控制器中某一控制器存在内存条损坏或故障时,从可支持配置集合选取可支持的最大内存配置进行内存调整。使得控制器的内存空间得了充分利用,保证了两控制器能够支持选取得到的目标内存配置,保证了IO业务流的正常进行。
相应的,本发明还提供了与上述内存调整方法相对应的内存调整装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中内存调整方法的一种实施流程图;
图2为本发明实施例中内存调整方法的另一种实施流程图;
图3为本发明实施例中一种内存调整装置的结构框图;
图4为本发明实施例中一种内存调整设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
参见图1,图1为本发明实施例中内存调整方法的一种实施流程图,该方法可以包括以下步骤:
S101:接收第一控制器的第一内存信息和第二控制器的第二内存信息。
其中,第一控制器与第二控制器互为备份。
预先在存储系统中部署内存动态调节器,存储系统中部署有互为备份的第一控制器和第二控制器。第一控制器和第二控制器中各自的基于输入输出系统bios,可以实时或按照预设时间间隔通过dmidecode命令获取存储系统的内存信息,并将获取到的内存信息发送给内存动态调节器。内存动态调节器接收第一控制器的第一内存信息和第二控制器的第二内存信息。通过动态检测异常内存条上报方式,使得内存动态调节器及时获取到第一内存信息和第二控制器的内存状态。
S102:获取预存的原配置内存信息。
预先对第一控制器和第二控制器的原配置内存信息进行存储。在内存动态调节器接收到第一控制器的第一内存信息和第二控制器的第二内存信息之后,获取预存的原配置内存信息。
S103:判断第一内存信息和第二内存信息是否均与原配置内存信息一致,若是,则不做处理,若否,则执行步骤S104。
在内存动态调节器获取预存的原配置内存信息之后,判断第一内存信息和第二内存信息是否均与原配置内存信息一致,若是,则说明第一控制器和第二控制器的内存均正常,不需要做任何处理,若否,则说明第一控制器和第二控制器中存在内存不正常的控制器,执行步骤S104。
S104:根据第一内存信息和第二内存信息中的较小者,从预设可支持配置集合中选取第一控制器和第二控制器可支持的最大内存配置,并将支持的最大内存配置确定为目标内存配置。
当确定第一内存信息和第二内存信息中存在与原配置内存信息不一致的内存信息时,根据第一内存信息和第二内存信息中的较小者,从预设可支持配置集合中选取第一控制器和第二控制器可支持的最大内存配置,并将支持的最大内存配置确定为目标内存配置。假设原配置内存信息为128G,第一内存信息为112G,第二内存信息为128G,预设可支持配置集合包括32G、64G、128G,当前64G为第一控制器和第二控制器可支持的最大内存配置。
S105:根据目标内存配置依次对第一控制器和第二控制器进行内存调整。
在确定出第一控制器和第二控制器可支持的目标内存配置之后,根据目标内存配置依次对第一控制器和第二控制器进行内存调整。承接步骤S104中的举例,因为第二控制器中各内存条正常,先利用第二控制器进行正常的业务处理操作,对第一控制器进行内存调整。在对第一控制器进行内存调整完成之后,再利用调整完成后的第一控制器进行业务处理操作,对第二控制器进行内存调整,从而保证第一控制器与第二控制器的配置一致,完成了存储系统对数据的保障,提高了可靠性及可用性。
通过上述技术方案可知,预先根据存储系统中第一控制器与第二控制器的原配置内存信息设置可支持配置集合,当第一控制器与第二控制器中某一控制器存在内存条损坏或故障时,从可支持配置集合选取可支持的最大内存配置进行内存调整。使得控制器的内存空间得了充分利用,保证了两控制器能够支持选取得到的目标内存配置,保证了IO业务流的正常进行。
需要说明的是,基于上述实施例一,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例一中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
实施例二:
参见图2,图2为本发明实施例中内存调整方法的另一种实施流程图,该方法可以包括以下步骤:
S201:接收第一控制器的第一内存信息和第二控制器的第二内存信息。
其中,第一控制器与第二控制器互为备份。
S202:获取预存的原配置内存信息。
S203:判断第一内存信息和第二内存信息是否均与原配置内存信息一致,若否,则执行步骤S204,若是,则不做处理。
S204:根据第一内存信息和第二内存信息中的较小者,从预设可支持配置集合中选取第一控制器和第二控制器可支持的最大内存配置,并将支持的最大内存配置确定为目标内存配置。
S205:对第一控制器和第二控制器中的缓存数据进行保存操作。
当确定第一内存信息和第二内存信息中存在与原配置内存信息不一致的内存信息时,说明第一控制器和第二控制器中存在内存不正常的控制器,需要对第一控制器和第二控制器进行内存调整,因此对第一控制器和第二控制器中的缓存数据进行保存操作,从而保证第一控制器和第二控制器原有的缓存数据不丢失。
S206:将第一内存信息和第二内存信息中与原配置内存信息相同的内存信息对应的正常控制器确定为系统配置节点。
在对第一控制器和第二控制器中的缓存数据进行保存操作之后,将第一内存信息和第二内存信息中与原配置内存信息相同的内存信息对应的正常控制器确定为系统配置节点,即选取当前各内存条正常的控制器作为业务处理的系统配置节点。
S207:利用系统配置节点进行业务处理,并对生成的业务数据进行保存操作。
在确定出系统配置节点之后,利用系统配置节点进行业务处理,并对生成的业务数据进行保存操作。通过利用确定出的系统配置节点继续进行业务处理,保证了IO业务流的不中断,保证了业务处理的正常进行。
S208:获取异常控制器的各第一可用内存槽位及各第一可用内存槽位分别对应的内存大小信息。
每个控制器的内存由多个内存条构成,每个内存条有各自对应的内存槽位和内存大小。将第一内存信息和所述第二内存信息中与原配置内存信息不同的内存信息对应的控制器确定为异常控制器,获取异常控制器的各第一可用内存槽位及各第一可用内存槽位分别对应的内存大小信息。
S209:结合目标内存配置、各第一可用内存槽位、以及各第一可用内存槽位分别对应的内存大小信息,对异常控制器进行内存调整,得到调整后控制器。
在获取到异常控制器的各第一可用内存槽位及各第一可用内存槽位分别对应的内存大小信息之后,结合目标内存配置、各第一可用内存槽位、以及各第一可用内存槽位分别对应的内存大小信息,对异常控制器进行内存调整,如通过修改flexhw/fru相关文件,Flexhw fresh,重启ecmian,plmain等进行内存调整,得到调整后控制器,从而使得异常内存条不生效,实现了内存隔离。承接步骤S104中的举例,当确定第一控制器和第二控制器可支持的最大内存配置为64G之后,根据异常控制器中各第一可用内存槽位和第一可用内存槽位分别对应的内存大小信息,从各第一可用内存槽位中选取组合内存为64G的各第一可用内存槽位作为调整后内存。
S210:将调整后控制器确定为系统配置节点,获取异常控制器的各第二可用内存槽位及各第二可用内存槽位分别对应的内存大小信息。
在对异常控制器进行内存调整完成之后,将调整后控制器确定为系统配置节点,获取异常控制器的各第二可用内存槽位及各第二可用内存槽位分别对应的内存大小信息。
S211:结合目标内存配置、各第二可用内存槽位、以及各第二可用内存槽位分别对应的内存大小信息,对正常控制器进行内存调整。
对正常控制器进行内存调整的步骤可以参照步骤S209中对异常控制器的内存调整步骤,本发明实施例在此不做赘述。
S212:从第一控制器和第二控制器中选取一个控制器作为目标控制器。
在对第一控制器和第二控制器均调整完成之后,从第一控制器和第二控制器中选取任意一个控制器作为目标控制器。
S213:将缓存数据和业务数据发送至目标控制器。
内存动态调节器将预先存储的缓存数据和业务数据发送至目标控制器。
S214:通过NTB链路将目标控制器中的缓存数据和业务数据,同步至第一控制器和第二控制器中除目标控制器之外的另一控制器。
在内存动态调节器将预先存储的缓存数据和业务数据发送至目标控制器之后,通过NTB链路将目标控制器中的缓存数据和业务数据,同步至第一控制器和第二控制器中除目标控制器之外的另一控制器。通过利用NTB链路在第一控制器与第二控制器之间进行数据同步,实现了双控间大缓存空间的同步,提高了数据同步效率。通过按照顺序对第一控制器和第二控制器先后进行内存调整,保证了系统数据链路的正常,实现了存储设备对数据的保障。
本实施例区别于独立权利要求1所要求保护的技术方案对应的实施例一,还增加了从属权利要求2至5对应要求保护的技术方案,当然,根据实际情况和要求的不同,可将各从属权利要求对应要求保护的技术方案在不影响方案完整性的基础上进行灵活组合,以更加符合不同使用场景的要求,本实施例只是给出了其中一种包含方案最多、效果最优的方案,因为情况复杂,无法对所有可能存在的方案一一列举,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
相应于上面的方法实施例,本发明还提供了一种内存调整装置,下文描述的内存调整装置与上文描述的内存调整方法可相互对应参照。
参见图3,图3为本发明实施例中一种内存调整装置的结构框图,该装置可以包括:
信息接收模块31,用于接收第一控制器的第一内存信息和第二控制器的第二内存信息;其中,第一控制器与第二控制器互为备份;
信息获取模块32,用于获取预存的原配置内存信息;
判断模块33,用于判断第一内存信息和第二内存信息是否均与原配置内存信息一致;
配置确定模块34,用于当第一内存信息和第二内存信息中存在与原配置内存信息不一致的内存信息时,根据第一内存信息和第二内存信息中的较小者,从预设可支持配置集合中选取第一控制器和第二控制器可支持的最大内存配置,并将支持的最大内存配置确定为目标内存配置;
内存调整模块35,用于根据目标内存配置依次对第一控制器和第二控制器进行内存调整。
通过上述技术方案可知,预先根据存储系统中第一控制器与第二控制器的原配置内存信息设置可支持配置集合,当第一控制器与第二控制器中某一控制器存在内存条损坏或故障时,从可支持配置集合选取可支持的最大内存配置进行内存调整。使得控制器的内存空间得了充分利用,保证了两控制器能够支持选取得到的目标内存配置,保证了IO业务流的正常进行。
在本发明的一种具体实施方式中,内存调整模块35包括:
缓存数据保存子模块,用于对第一控制器和第二控制器中的缓存数据进行保存操作;
配置节点确定子模块,用于将第一内存信息和第二内存信息中与原配置内存信息相同的内存信息对应的正常控制器确定为系统配置节点;
业务数据保存子模块,用于利用系统配置节点进行业务处理,并对生成的业务数据进行保存操作;
第一内存调整子模块,用于根据目标内存配置,对第一内存信息和第二内存信息中与原配置内存信息不同的内存信息对应的异常控制器进行内存调整,得到调整后控制器;
第二内存调整子模块,用于将调整后控制器确定为系统配置节点,根据目标内存配置对正常控制器进行内存调整。
在本发明的一种具体实施方式中,该装置还可以包括:
数据发送模块,用于在根据目标内存配置对正常控制器进行内存调整之后,将缓存数据和业务数据发送至第一控制器和第二控制器。
在本发明的一种具体实施方式中,数据发送模块包括:
控制选取子模块,用于从第一控制器和第二控制器中选取一个控制器作为目标控制器;
数据发送子模块,用于将缓存数据和业务数据发送至目标控制器;
数据同步子模块,用于通过NTB链路将目标控制器中的缓存数据和业务数据,同步至第一控制器和第二控制器中除目标控制器之外的另一控制器。
在本发明的一种具体实施方式中,第一内存调整子模块包括:
第一槽位信息获取单元,用于获取异常控制器的各第一可用内存槽位及各第一可用内存槽位分别对应的内存大小信息;
第一内存调整单元,用于结合目标内存配置、各第一可用内存槽位、以及各第一可用内存槽位分别对应的内存大小信息,对异常控制器进行内存调整;
第二内存调整子模块包括:
第二槽位信息获取单元,用于获取异常控制器的各第二可用内存槽位及各第二可用内存槽位分别对应的内存大小信息;
第二内存调整单元,用于结合目标内存配置、各第二可用内存槽位、以及各第二可用内存槽位分别对应的内存大小信息,对正常控制器进行内存调整。
相应于上面的方法实施例,参见图4,图4为本发明所提供的内存调整设备的示意图,该设备可以包括:
存储器41,用于存储计算机程序;
处理器42,用于执行上述存储器41存储的计算机程序时可实现如下步骤:
接收第一控制器的第一内存信息和第二控制器的第二内存信息;其中,第一控制器与第二控制器互为备份;获取预存的原配置内存信息;判断第一内存信息和第二内存信息是否均与原配置内存信息一致;若否,则根据第一内存信息和第二内存信息中的较小者,从预设可支持配置集合中选取第一控制器和第二控制器可支持的最大内存配置,并将支持的最大内存配置确定为目标内存配置;根据目标内存配置依次对第一控制器和第二控制器进行内存调整。
对于本发明提供的设备的介绍请参照上述方法实施例,本发明在此不做赘述。
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
接收第一控制器的第一内存信息和第二控制器的第二内存信息;其中,第一控制器与第二控制器互为备份;获取预存的原配置内存信息;判断第一内存信息和第二内存信息是否均与原配置内存信息一致;若否,则根据第一内存信息和第二内存信息中的较小者,从预设可支持配置集合中选取第一控制器和第二控制器可支持的最大内存配置,并将支持的最大内存配置确定为目标内存配置;根据目标内存配置依次对第一控制器和第二控制器进行内存调整。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种内存调整方法,其特征在于,包括:
接收第一控制器的第一内存信息和第二控制器的第二内存信息;其中,所述第一控制器与所述第二控制器互为备份;
获取预存的原配置内存信息;
判断所述第一内存信息和所述第二内存信息是否均与所述原配置内存信息一致;
若否,则根据所述第一内存信息和所述第二内存信息中的较小者,从预设可支持配置集合中选取所述第一控制器和所述第二控制器可支持的最大内存配置,并将支持的最大内存配置确定为目标内存配置;
根据所述目标内存配置依次对所述第一控制器和所述第二控制器进行内存调整。
2.根据权利要求1所述的内存调整方法,其特征在于,根据所述目标内存配置依次对所述第一控制器和所述第二控制器进行内存调整,包括:
对所述第一控制器和所述第二控制器中的缓存数据进行保存操作;
将所述第一内存信息和所述第二内存信息中与所述原配置内存信息相同的内存信息对应的正常控制器确定为系统配置节点;
利用所述系统配置节点进行业务处理,并对生成的业务数据进行保存操作;
根据所述目标内存配置,对所述第一内存信息和所述第二内存信息中与所述原配置内存信息不同的内存信息对应的异常控制器进行内存调整,得到调整后控制器;
将所述调整后控制器确定为所述系统配置节点,根据所述目标内存配置对所述正常控制器进行内存调整。
3.根据权利要求2所述的内存调整方法,其特征在于,在根据所述目标内存配置对所述正常控制器进行内存调整之后,还包括:
将所述缓存数据和所述业务数据发送至所述第一控制器和所述第二控制器。
4.根据权利要求3所述的内存调整方法,其特征在于,将所述缓存数据和所述业务数据发送至所述第一控制器和所述第二控制器,包括:
从所述第一控制器和所述第二控制器中选取一个控制器作为目标控制器;
将所述缓存数据和所述业务数据发送至所述目标控制器;
通过NTB链路将所述目标控制器中的所述缓存数据和所述业务数据,同步至所述第一控制器和所述第二控制器中除所述目标控制器之外的另一控制器。
5.根据权利要求2至4任一项所述的内存调整方法,其特征在于,根据所述目标内存配置,对所述第一内存信息和所述第二内存信息中与所述原配置内存信息不同的内存信息对应的异常控制器进行内存调整,包括:
获取所述异常控制器的各第一可用内存槽位及各所述第一可用内存槽位分别对应的内存大小信息;
结合所述目标内存配置、各所述第一可用内存槽位、以及各所述第一可用内存槽位分别对应的内存大小信息,对所述异常控制器进行内存调整;
根据所述目标内存配置对所述正常控制器进行内存调整,包括:
获取所述异常控制器的各第二可用内存槽位及各所述第二可用内存槽位分别对应的内存大小信息;
结合所述目标内存配置、各所述第二可用内存槽位、以及各所述第二可用内存槽位分别对应的内存大小信息,对所述正常控制器进行内存调整。
6.一种内存调整装置,其特征在于,包括:
信息接收模块,用于接收第一控制器的第一内存信息和第二控制器的第二内存信息;其中,所述第一控制器与所述第二控制器互为备份;
信息获取模块,用于获取预存的原配置内存信息;
判断模块,用于判断所述第一内存信息和所述第二内存信息是否均与所述原配置内存信息一致;
配置确定模块,用于当所述第一内存信息和所述第二内存信息中存在与所述原配置内存信息不一致的内存信息时,根据所述第一内存信息和所述第二内存信息中的较小者,从预设可支持配置集合中选取所述第一控制器和所述第二控制器可支持的最大内存配置,并将支持的最大内存配置确定为目标内存配置;
内存调整模块,用于根据所述目标内存配置依次对所述第一控制器和所述第二控制器进行内存调整。
7.根据权利要求6所述的内存调整装置,其特征在于,所述内存调整模块包括:
缓存数据保存子模块,用于对所述第一控制器和所述第二控制器中的缓存数据进行保存操作;
配置节点确定子模块,用于将所述第一内存信息和所述第二内存信息中与所述原配置内存信息相同的内存信息对应的正常控制器确定为系统配置节点;
业务数据保存子模块,用于利用所述系统配置节点进行业务处理,并对生成的业务数据进行保存操作;
第一内存调整子模块,用于根据所述目标内存配置,对所述第一内存信息和所述第二内存信息中与所述原配置内存信息不同的内存信息对应的异常控制器进行内存调整,得到调整后控制器;
第二内存调整子模块,用于将所述调整后控制器确定为所述系统配置节点,根据所述目标内存配置对所述正常控制器进行内存调整。
8.根据权利要求7所述的内存调整装置,其特征在于,所述第一内存调整子模块包括:
第一槽位信息获取单元,用于获取所述异常控制器的各第一可用内存槽位及各所述第一可用内存槽位分别对应的内存大小信息;
第一内存调整单元,用于结合所述目标内存配置、各所述第一可用内存槽位、以及各所述第一可用内存槽位分别对应的内存大小信息,对所述异常控制器进行内存调整;
所述第二内存调整子模块包括:
第二槽位信息获取单元,用于获取所述异常控制器的各第二可用内存槽位及各所述第二可用内存槽位分别对应的内存大小信息;
第二内存调整单元,用于结合所述目标内存配置、各所述第二可用内存槽位、以及各所述第二可用内存槽位分别对应的内存大小信息,对所述正常控制器进行内存调整。
9.一种内存调整设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述内存调整方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述内存调整方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011311291.8A CN112463369B (zh) | 2020-11-20 | 2020-11-20 | 一种内存调整方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011311291.8A CN112463369B (zh) | 2020-11-20 | 2020-11-20 | 一种内存调整方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112463369A CN112463369A (zh) | 2021-03-09 |
CN112463369B true CN112463369B (zh) | 2022-07-22 |
Family
ID=74799280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011311291.8A Active CN112463369B (zh) | 2020-11-20 | 2020-11-20 | 一种内存调整方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463369B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615618A (zh) * | 2014-05-21 | 2015-05-13 | 北方信息控制集团有限公司 | 一种嵌入式内存数据库的实现方法 |
CN106331081A (zh) * | 2016-08-19 | 2017-01-11 | 浪潮(北京)电子信息产业有限公司 | 一种信息同步方法及装置 |
-
2020
- 2020-11-20 CN CN202011311291.8A patent/CN112463369B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615618A (zh) * | 2014-05-21 | 2015-05-13 | 北方信息控制集团有限公司 | 一种嵌入式内存数据库的实现方法 |
CN106331081A (zh) * | 2016-08-19 | 2017-01-11 | 浪潮(北京)电子信息产业有限公司 | 一种信息同步方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112463369A (zh) | 2021-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2714098C1 (ru) | Способ и устройство обработки данных | |
US20060056321A1 (en) | Recovery of duplex data system after power failure | |
CN108965383B (zh) | 文件同步方法、装置、计算机设备和存储介质 | |
CN112463369B (zh) | 一种内存调整方法、装置、设备及计算机可读存储介质 | |
CN111124760B (zh) | 一种基于uboot的嵌入式设备启动方法及装置 | |
CN111177104B (zh) | 一种nas存储系统的日志下刷方法及装置 | |
CN112929438A (zh) | 一种双站点分布式数据库的业务处理方法及装置 | |
CN110515757B (zh) | 分布式存储系统的信息处理方法、装置、服务器、介质 | |
CN111966530A (zh) | 应用系统灾备切换方法、装置、计算机设备和存储介质 | |
CN107943615B (zh) | 基于分布式集群的数据处理方法与系统 | |
CN111181779A (zh) | 一种集群故障转移性能的测试方法、设备以及存储介质 | |
CN111273933B (zh) | 一种bios fw刷新方法、装置 | |
CN116466894A (zh) | 数据迁移方法、装置、存储介质及电子设备 | |
CN112134887B (zh) | 一种分布式集群中节点的数据同步方法及装置 | |
CN113064614B (zh) | 一种服务器冗余电源系统固件升级方法及系统 | |
CN114490196A (zh) | 数据库切换方法、系统、设备及介质 | |
CN111966680A (zh) | 一种数据库存储扩展方法和装置 | |
CN111078604A (zh) | 一种i2c总线设备读写的方法及装置 | |
CN110764940A (zh) | 分布式系统服务异常的处理方法及装置 | |
CN115114112A (zh) | 数据同步方法及装置 | |
CN114691042A (zh) | 一种数据重构方法及装置 | |
CN116820843A (zh) | 一种分布式数据库容灾方法、装置、电子设备及存储介质 | |
CN114281598A (zh) | flash备份恢复方法及其系统、通信设备和存储介质 | |
CN116860515A (zh) | 虚拟机备份方法、计算设备及计算机存储介质 | |
CN116610379A (zh) | pcsd服务启动方法及装置 |
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 |