CN110221916B - 一种内存扩容方法、装置、配置中心系统及电子设备 - Google Patents

一种内存扩容方法、装置、配置中心系统及电子设备 Download PDF

Info

Publication number
CN110221916B
CN110221916B CN201910433665.4A CN201910433665A CN110221916B CN 110221916 B CN110221916 B CN 110221916B CN 201910433665 A CN201910433665 A CN 201910433665A CN 110221916 B CN110221916 B CN 110221916B
Authority
CN
China
Prior art keywords
configuration
server
configuration server
target
items
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
CN201910433665.4A
Other languages
English (en)
Other versions
CN110221916A (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201910433665.4A priority Critical patent/CN110221916B/zh
Publication of CN110221916A publication Critical patent/CN110221916A/zh
Application granted granted Critical
Publication of CN110221916B publication Critical patent/CN110221916B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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

Abstract

本发明实施例提供了一种内存扩容方法、装置、配置中心系统及电子设备,方法包括:管理服务器接收配置服务器发送的状态信息;若配置服务器中存在当前剩余内存量小于第一内存阈值的目标配置服务器,判断目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器;若判断不存在可用配置服务器,通知预设扩容系统针对目标配置服务器创建其他配置服务器,其中,预设扩容系统为:用于创建配置服务器的系统;在检测到其他配置服务器创建成功后,将目标配置服务器缓存的应用的配置项中可配置的配置项,转存于针对目标配置服务器创建的其他配置服务器,以实现在确定出配置服务器的内存不足时,动态地对配置服务器的内存进行扩容。

Description

一种内存扩容方法、装置、配置中心系统及电子设备
技术领域
本发明涉及内存扩容技术领域,特别是涉及一种内存扩容方法、装置、配置中心系统及电子设备。
背景技术
目前,配置中心系统为了加快对客户端的配置请求的响应速度,配置中心系统的配置服务端将配置中心系统的配置项数据库中全部的应用的配置项,缓存于内存中;当配置服务端接收到客户端的用于请求待配置应用的配置项的配置请求时,配置服务端直接基于其内存中所缓存的应用的配置项,向客户端反馈客户端所请求的待配置应用的配置项。
在上述过程中,随着配置中心系统的使用者越来越多,配置服务端所需缓存的应用的配置项越来越多,配置服务端的内存消耗也随之越来越大。当配置服务端的内存不足时,该配置中心系统则无法向客户端提供服务。
那么,如何实现减少由于配置服务器的内存不足,进而避免导致配置中心系统无法向客户端提供服务的情况发生,成为亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种内存扩容方法、装置、配置中心系统及电子设备,以实现在确定出配置服务器的内存不足时,动态地对配置服务器的内存进行扩容,减少由于配置服务器的内存不足,导致配置中心系统无法向客户端提供服务的情况发生。具体技术方案如下:
第一方面,本发明实施例公开了一种内存扩容方法,应用于配置中心系统的管理服务器,所述方法包括:
接收配置服务器发送的状态信息,其中,所述状态信息包括:配置服务器自身的当前剩余内存量,所述配置服务器缓存有所述配置中心系统所支持的应用的配置项;
若所述配置服务器中存在当前剩余内存量小于第一内存阈值的目标配置服务器,判断所述目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器;
若所述目标配置服务器所在目标配置服务器组中,不存在所述可用配置服务器,通知预设扩容系统针对所述目标配置服务器创建其他配置服务器,其中,所述预设扩容系统为:用于创建配置服务器的系统;
在检测到针对所述目标配置服务器的其他配置服务器创建成功后,将所述目标配置服务器缓存的应用的配置项中可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器。
可选地,所述可用配置服务器为:所述目标配置服务器组中除所述目标配置服务器外的,且当前剩余内存量满足预设内存条件的配置服务器;所述配置服务器组中的配置服务器缓存有所述配置中心系统所支持的所有应用的配置项;所述预设内存条件为:当前剩余内存量不小于第二内存阈值,或当前剩余内存量占自身的内存总量的比例不高于预设比例阈值的条件。
可选地,所述方法还包括:
若判断所述目标配置服务器组中,存在所述可用配置服务器,从所述可用配置服务器中确定出第一配置服务器;
基于所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出可配置的配置项;
将所确定出的可配置的配置项,转存于所述第一配置服务器。
可选地,所述基于所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出可配置的配置项的步骤,包括:
判断第一配置服务器的当前剩余内存量,是否足以存储至少一个应用的配置项;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个应用的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项,确定出至少一个应用的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个应用的配置项,判断所述第一配置服务器的当前剩余内存量,是否足以存储至少一个配置环境的配置项,其中,一个应用包括多个配置环境;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个配置环境的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项,确定出至少一个配置环境的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个配置环境的配置项,判断所述第一配置服务器的当前剩余内存量,是否足以存储至少一个配置集群的配置项,其中,一个应用包括多个配置集群;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个配置集群的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出至少一个配置集群的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个配置集群的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出至少一个命名空间的配置项,其中,每一配置集群包括多个命名空间。
可选地,所述配置中心系统还包括配置项数据库,所述配置项数据库用于存储配置中心系统所支持的所有应用的配置项;所述方法还包括:
检测配置项数据库是否存在新的配置项,其中,所述新的配置项为:未缓存于配置服务器的配置项;
若检测到所述配置项数据库存在新的配置项,通知每一配置服务器组中的一个配置服务器缓存所述新的配置项。
可选地,每一配置服务器组包含一临时服务器,该临时服务器用于临时存储新增的配置项;
在所述通知每一配置服务器组中的一个配置服务器缓存所述新的配置项的步骤之前,所述方法还包括:
判断每一配置服务器组是否处于扩容期间,其中,所述扩容期间为:针对配置服务器组中的一个配置服务器创建其他配置服务器的期间;
若判断结果表征每一配置服务器组均未处于扩容期间,执行所述通知每一配置服务器组中的一个配置服务器缓存所述新的配置项的步骤;
若判断结果表征存在处于扩容期间第一配置服务器组,且存在未处于扩容期间第二配置服务器组,通知所述第一配置服务器组中的临时服务器缓存所述新的配置项;并在确定所述第一配置服务器组不处于扩容期间后,通知所述第一配置服务器组的临时服务器将所述新的配置项,转存至所述第一配置服务器组的一个配置服务器;通知所述第二配置服务器组中的临时服务器缓存所述新的配置项;
若判断结果表征每一配置服务器组均处于扩容期间,通知每一配置服务器组中的临时服务器缓存所述新的配置项;并在确定每一配置服务器组不处于扩容期间后,通知每一配置服务器组的临时服务器将所述新的配置项,转存至每一配置服务器组的一个配置服务器。
可选地,在所述将所述目标配置服务器缓存的应用的配置项中的可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器的步骤之后,所述方法还包括:
若检测到在预设时长内,未接收到第二配置服务器的发送的状态信息,确定所述第二配置服务器出现故障,将所述第二配置服务器的标识,从配置服务器标识列表中删除,并发送告警信息。
可选地,在所述将所述目标配置服务器缓存的应用的配置项中的可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器的步骤之后,所述方法还包括:
根据所述目标配置服务器当前所缓存的应用的配置项,以及所述其他配置服务器当前所缓存的应用的配置项,更新预存的对应关系,其中,所述预存的对应关系包括:所述配置中心系统的配置服务器的标识与其所缓存配置项的标识的对应关系,第三配置服务器缓存有待配置应用的配置项。
可选地,在所述根据所述目标配置服务器当前所缓存的应用的配置项,以及所述其他配置服务器当前所缓存的应用的配置项,更新预存的对应关系的步骤之后,所述方法还包括:
若接收到客户端发送的请求待配置应用的配置项的配置请求,基于所述配置请求以及更新后的所述预存的对应关系,确定出用于响应所述客户端的所述第三配置服务器的标识;
基于所述第三配置服务器的标识,确定所述第三配置服务器的地址信息;
将所述第三配置服务器的地址信息反馈至所述客户端,以使所述客户端基于所述第三配置服务器的地址信息,向所述第三配置服务器请求所述待配置应用的配置项。
可选地,每一应用的配置项包含多个命名空间对应的配置项;
所述将所述目标配置服务器缓存的应用的配置项中的部分配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器的步骤,包括:
基于所述目标配置服务器缓存的应用的配置项中,每一命名空间对应的配置项的数据量,将所述目标配置服务器缓存的应用的配置项,均分成目标数量份,其中,所述目标数量等于:针对所述目标配置服务器创建的所述其他配置服务器的数量加一;
将均分后所得的目标数量减一份应用的配置项,分别缓存于所述其他配置服务器,其中,每一其他配置服务器缓存一份。
第二方面,本发明实施例公开了一种内存扩容装置,应用于配置中心系统的管理服务器,所述装置包括:
接收模块,用于接收配置服务器发送的状态信息,其中,所述状态信息包括:配置服务器自身的当前剩余内存量,所述配置服务器缓存有所述配置中心系统所支持的应用的配置项;
第一判断模块,用于若所述配置服务器中存在当前剩余内存量小于第一内存阈值的目标配置服务器,判断所述目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器;
第一通知模块,用于若所述目标配置服务器所在目标配置服务器组中,不存在所述可用配置服务器,通知预设扩容系统针对所述目标配置服务器创建其他配置服务器,其中,所述预设扩容系统为:用于创建配置服务器的系统;
第一转存模块,用于在检测到针对所述目标配置服务器的其他配置服务器创建成功后,将所述目标配置服务器缓存的应用的配置项中可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器。
可选地,所述可用配置服务器为:所述目标配置服务器组中除所述目标配置服务器外的,且当前剩余内存量满足预设内存条件的配置服务器;所述配置服务器组中的配置服务器缓存有所述配置中心系统所支持的所有应用的配置项;所述预设内存条件为:当前剩余内存量不小于第二内存阈值,或当前剩余内存量占自身的内存总量的比例不高于预设比例阈值的条件。
可选地,所述装置还包括:
第一确定模块,用于若判断所述目标配置服务器组中,存在所述可用配置服务器,从所述可用配置服务器中确定出第一配置服务器;
第二确定模块,用于基于所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出可配置的配置项;
第二转存模块,用于将所确定出的可配置的配置项,转存于所述第一配置服务器。
可选地,所述第一确定模块,具体用于
判断第一配置服务器的当前剩余内存量,是否足以存储至少一个应用的配置项;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个应用的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项,确定出至少一个应用的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个应用的配置项,判断所述第一配置服务器的当前剩余内存量,是否足以存储至少一个配置环境的配置项,其中,一个应用包括多个配置环境;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个配置环境的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项,确定出至少一个配置环境的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个配置环境的配置项,判断所述第一配置服务器的当前剩余内存量,是否足以存储至少一个配置集群的配置项,其中,一个应用包括多个配置集群;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个配置集群的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出至少一个配置集群的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个配置集群的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出至少一个命名空间的配置项,其中,每一配置集群包括多个命名空间。
可选地,所述配置中心系统还包括配置项数据库,所述配置项数据库用于存储配置中心系统所支持的所有应用的配置项;所述装置还包括:
检测模块,用于检测配置项数据库是否存在新的配置项,其中,所述新的配置项为:未缓存于配置服务器的配置项;
第二通知模块,用于若检测到所述配置项数据库存在新的配置项,通知每一配置服务器组中的一个配置服务器缓存所述新的配置项。
可选地,每一配置服务器组包含一临时服务器,该临时服务器用于临时存储新增的配置项;
所述装置还包括:
第二判断模块,用于在所述通知每一配置服务器组中的一个配置服务器缓存所述新的配置项之前,判断每一配置服务器组是否处于扩容期间,其中,所述扩容期间为:针对配置服务器组中的一个配置服务器创建其他配置服务器的期间;若判断结果表征每一配置服务器组均未处于扩容期间,触发所述第二通知模块;若判断结果表征存在处于扩容期间第一配置服务器组,且存在未处于扩容期间第二配置服务器组,触发第三通知模块;若判断结果表征每一配置服务器组均处于扩容期间,触发第四通知模块;
第三通知模块,用于通知所述第一配置服务器组中的临时服务器缓存所述新的配置项;并在确定所述第一配置服务器组不处于扩容期间后,通知所述第一配置服务器组的临时服务器将所述新的配置项,转存至所述第一配置服务器组的一个配置服务器;通知所述第二配置服务器组中的临时服务器缓存所述新的配置项;
第四通知模块,用于通知每一配置服务器组中的临时服务器缓存所述新的配置项;并在确定每一配置服务器组不处于扩容期间后,通知每一配置服务器组的临时服务器将所述新的配置项,转存至每一配置服务器组的一个配置服务器。
可选地,所述装置还包括:
第三确定模块,用于在所述将所述目标配置服务器缓存的应用的配置项中的可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器之后,若检测到在预设时长内,未接收到第二配置服务器的发送的状态信息,确定所述第二配置服务器出现故障;
删除发送模块,用于将所述第二配置服务器的标识,从配置服务器标识列表中删除,并发送告警信息。
可选地,所述装置还包括:
更新模块,用于在所述将所述目标配置服务器缓存的应用的配置项中的可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器之后,根据所述目标配置服务器当前所缓存的应用的配置项,以及所述其他配置服务器当前所缓存的应用的配置项,更新预存的对应关系,其中,所述预存的对应关系包括:所述配置中心系统的配置服务器的标识与其所缓存配置项的标识的对应关系,第三配置服务器缓存有待配置应用的配置项。
可选地,所述装置还包括:
第四确定模块,用于在所述根据所述目标配置服务器当前所缓存的应用的配置项,以及所述其他配置服务器当前所缓存的应用的配置项,更新预存的对应关系之后,若接收到客户端发送的请求待配置应用的配置项的配置请求,基于所述配置请求以及更新后的所述预存的对应关系,确定出用于响应所述客户端的第三配置服务器的标识;
第五确定模块,用于基于所述第三配置服务器的标识,确定所述第三配置服务器的地址信息;
反馈模块,用于将所述第三配置服务器的地址信息反馈至所述客户端,以使所述客户端基于所述第三配置服务器的地址信息,向所述第三配置服务器请求所述待配置应用的配置项。
可选地,每一应用的配置项包含多个命名空间对应的配置项;
所述第一转存模块,具体用于
基于所述目标配置服务器缓存的应用的配置项中,每一命名空间对应的配置项的数据量,将所述目标配置服务器缓存的应用的配置项,均分成所述目标配置服务器组中配置服务器的数量份;
将均分后所得的每一份应用的配置项,分别缓存于所述目标配置服务器组中配置服务器。
第三方面,本发明实施例公开了一种配置中心系统,所述配置中心系统包括管理服务器和配置服务器;
所述配置服务器,用于向所述管理服务器发送状态信息,并缓存所述配置中心系统所支持的应用的配置项,其中,所述状态信息包括:配置服务器自身的当前剩余内存量;
所述管理服务器,用于接收所述配置服务器发送的所述状态信息;若所述配置服务器中存在当前剩余内存量小于第一内存阈值的目标配置服务器,判断所述目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器;若所述目标配置服务器所在目标配置服务器组中,不存在所述可用配置服务器,通知预设扩容系统针对所述目标配置服务器创建其他配置服务器,其中,所述预设扩容系统为:用于创建配置服务器的系统;在检测到所述其他配置服务器创建成功后,将所述目标配置服务器缓存的应用的配置项中的部分配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器。
第四方面,本发明实施例公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述内存扩容方法中任一所述的内存扩容方法步骤。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的内存扩容方法。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的内存扩容方法。
本发明实施例提供的技术方案中,配置中心系统的管理服务器接收配置服务器发送的状态信息,其中,该状态信息包括:配置服务器自身的当前剩余内存量,配置服务器缓存有配置中心系统所支持的应用的配置项;若配置服务器中存在当前剩余内存量小于其对应的第一内存阈值的目标配置服务器,判断目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器;若判断目标配置服务器所在目标配置服务器组中,不存在可用配置服务器,通知预设扩容系统针对目标配置服务器创建其他配置服务器,其中,预设扩容系统为:用于创建配置服务器的系统;在检测到针对目标配置服务器的其他配置服务器创建成功后,将目标配置服务器缓存的应用的配置项中的部分配置项,转存于针对目标配置服务器创建的其他配置服务器。
本发明实施例中,管理服务器可以监控配置中心系统的配置服务器的当前剩余内存量,检测当前剩余内存量是否足够,若确定存在当前剩余内存量不足的目标配置服务器,即存在当前剩余内存量小于其对应的第一内存阈值的目标配置服务器,进而判断目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器,若判断不存在可用配置服务器,则对目标配置服务器进行内存扩容,针对目标配置服务器创建其他配置服务器,在检测到针对目标配置服务器的其他配置服务器创建成功后,将目标配置服务器缓存的应用的配置项中的部分配置项,转存于针对目标配置服务器创建的其他配置服务器,以实现在确定出配置服务器的内存不足时,动态地对配置服务器的内存进行扩容,避免出现配置服务端的内存不足时,配置中心系统无法向客户端提供服务的情况。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例所提供的一种内存扩容方法的流程示意图;
图2为本发明实施例所提供的一种内存扩容方法的另一流程示意图;
图3为配置中心系统中配置服务器的初始分布的一种示意图;
图4为对图3所示的配置中心系统中配置服务器进行扩充之后的一种示意图;
图5为本发明实施例所提供的一种内存扩容装置的结构示意图;
图6为本发明实施例所提供的一种配置中心系统的结构示意图;
图7为本发明实施例所提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
本发明实施例提供了一种内存扩容方法、装置、配置中心系统及电子设备,以实现在确定出配置服务器的内存不足时,动态地对配置服务器的内存进行扩容,减少由于配置服务器的内存不足,导致的配置中心系统无法向客户端提供服务的情况的发生。
如图1所示,本发明实施例提供了一种内存扩容方法,可以包括如下步骤:
S101:接收配置服务器发送的状态信息。
其中,该状态信息包括:配置服务器自身的当前剩余内存量,配置服务器缓存有配置中心系统所支持的应用的配置项;
可以理解的是,本发明实施例所提供的内存扩容方法,可以应用于配置中心系统的管理服务器,该管理服务器可以为任一具有计算能力的电子设备,本发明实施例并不对作为该管理服务器的电子设备的具体类型进行限定。一种情况中,可以将该管理服务器称为NameServer。
该配置中心系统还可以包括配置服务器、配置项数据库以及客户端。其中,该配置服务器用于缓存该配置中心系统所支持的应用的配置项,并为客户端提供客户端所需的应用的配置项。配置项数据库用于存储该配置中心系统所支持的所有的应用的配置项。配置中心系统可以支持多个应用的配置项,其中,每个应用由多个环境组成,每种环境由多个配置集群组成,每个配置集群由多个命名空间组成,每一命名空间可以对应有多个配置项,每一命名空间对应的多个配置项仅在其对应的命名空间下生效,即在其对应的命名空间下可以被配置成功。
在一种实现方式中,配置中心系统的配置服务器可以实时或定时地向管理服务器发送状态信息,该状态信息可以包括:表征所对应配置服务器的当前状态的信息,其中,该状态信息可以包括但不限于配置服务器自身的当前剩余内存量。
该管理服务器接收到配置服务器发送的状态信息,可以继续执行后续的内存扩容流程。
可以理解的是,该管理服务器本地或所连接的存储设备中可以存储有所连接的各配置服务器的标识,以便对所连接的各配置服务器进行管理。
若配置服务器中存在当前剩余内存量小于第一内存阈值的目标配置服务器,执行步骤S102。
S102:判断目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器。
一种实现方式中,管理服务器接收到所有配置服务器发送的状态信息之后,可以针对每一状态信息包括的当前剩余内存量,判断每一当前剩余内存量与第一内存阈值的大小,即判断所接收的当前剩余内存量中是否存在小于第一内存阈值的剩余内存量,若判断存在小于第一内存阈值的剩余内存量,则可以确定出存在当前剩余内存量小于第一内存阈值的配置服务器,将该当前剩余内存量小于第一内存阈值的配置服务器作为目标配置服务器。
管理服务器在确定存在当前剩余内存量小于第一内存阈值的目标配置服务器后,可以直接确定该目标配置服务器的内存出现不足的情况。
在一种情况中,难免存在目标配置服务器具有所关联的配置服务器,且目标配置服务器关联的配置服务器的当前剩余内存量较多的情况,例如:目标配置服务器关联的当前剩余内存量超过预设内存量。鉴于上述情况,为了在一定程度上保证配置服务器的内存的利用率,可以判断目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器。
可选地,可用配置服务器为:目标配置服务器组中除目标配置服务器外的,且当前剩余内存量满足预设内存条件的配置服务器;配置服务器组中的配置服务器缓存有配置中心系统所支持的所有应用的配置项;预设内存条件为:剩余内存量不小于第二内存阈值,或剩余内存量占自身的内存总量的比例不高于预设比例阈值的条件。
可以理解的是,为了便于对配置服务器的管理,配置服务器可以被分为不同配置服务器组,每一配置服务器组中的配置服务器缓存有:配置中心系统所支持的所有的应用的配置项,且同一组配置服务器组中的配置服务器缓存有不同的配置项。
本实现方式中,将目标配置服务器所在的配置服务器组称为目标配置服务器组。
其中,上述判断目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器的过程,可以是:判断目标配置服务器组中,是否存在除该目标配置服务器之外的其他配置服务器;若判断目标配置服务器组中,不存在除该目标配置服务器之外的其他配置服务器,则确定不存在可用配置服务器;若判断目标配置服务器组中,存在除该目标配置服务器之外的其他配置服务器,继续判断该存在的其他配置服务器中,是否存在满足预设内存条件的配置服务器,即判断该存在的其他配置服务器中,是否存在满足当前剩余内存量不小于第二内存阈值,或当前剩余内存量占自身的内存总量的比例不高于预设比例阈值的条件的配置服务器;若判断该存在的其他配置服务器中,不存在满足预设内存条件的配置服务器,则确定不存在可用配置服务器。
若判断所述目标配置服务器所在目标配置服务器组中,不存在所述可用配置服务器,执行步骤S103。否则,结束。
S103:通知预设扩容系统针对目标配置服务器创建其他配置服务器。
其中,预设扩容系统为:用于创建配置服务器的系统;该目标配置服务器属于所接收的状态信息对应的配置服务器。
若判断不存在可用配置服务器,可以对该目标配置服务器进行内存扩容,即扩充该目标配置服务器的内存容量。后续的,管理服务器通知预设扩容系统针对目标配置服务器创建其他配置服务器。其中,该其他配置服务器中的其他是相对于目标配置服务器而言的。
一种情况中,管理服务器通知预设扩容系统针对目标配置服务器创建其他配置服务器时,可以同时通知预设扩容系统针对目标配置服务器创建其他配置服务器的数量,其中,创建其他配置服务器的数量可以为至少一个。
其中,该预设扩容系统可以采用相关技术中任一服务器创建方式,针对目标配置服务器创建其他配置服务器,本发明实施例并不对服务器创建方式进行限定。
本步骤中,当目标配置服务器存在一个时,可以直接通知预设扩容系统针对该一个目标配置服务器创建其所对应的其他配置服务器。当目标配置服务器存在多个时,可以是通知预设扩容系统针对每一目标配置服务器创建其所对应的其他配置服务器。
一种情况中,可以是该配置中心系统中存储有一个第一内存阈值,即所有的配置服务器对应相同的第一内存阈值,也可以是该配置中心系统中存储有多个第一内存阈值,其中,该配置中心系统中每一配置服务器对应有其自身的第一内存阈值,这都是可以的。
S104:在检测到针对目标配置服务器的其他配置服务器创建成功后,将目标配置服务器缓存的应用的配置项中的可配置的配置项,转存于针对目标配置服务器创建的其他配置服务器。
在一种实现方式中,管理服务器在通知预设扩容系统针对所述目标配置服务器创建其他配置服务器之后,可以检测针对目标配置服务器的其他配置服务器是否创建成功,在检测到针对目标配置服务器的其他配置服务器创建成功后,可以将目标配置服务器缓存的应用的配置项中的可配置的配置项,转存于针对目标配置服务器创建的其他配置服务器,实现对目标配置服务器的内存的扩充。该可配置的配置项可以为目标配置服务器缓存的至少一个应用的配置项;或者为至少一个配置环境的配置项;或者为至少一个配置集群的配置项;或者为至少一个命名空间的配置项。
其中,管理服务器检测针对目标配置服务器的其他配置服务器是否创建成功的过程可以是:检测是否接收到新的配置服务器的状态信息,或者是否接收到新的配置服务器的连接请求;若接收到新的配置服务器的状态信息,或者接收到新的配置服务器的连接请求,则可以确定其他配置服务器创建成功。
一种情况,状态信息可以包括所对应的配置服务器的标识,以使得管理服务器可以区分状态信息的归属。管理服务器接收到状态信息后,可以遍历本地或所连接的存储设备存储的各配置服务器的标识,判断本地或所连接的存储设备是否存储有该状态信息包括的配置服务器的标识;若判断本地或所连接的存储设备未存储有该状态信息包括的配置服务器的标识,则可以确定发送该状态信息的配置服务器为所创建的新的配置服务器,则可以确定针对目标配置服务器创建的其他配置服务器创建成功。
另一种情况,连接请求可以携带配置服务器的标识,管理服务器接收到连接请求后,可以遍历本地或所连接的存储设备存储的各配置服务器的标识,判断本地或所连接的存储设备是否存储有该连接请求包括的配置服务器的标识;若判断本地或所连接的存储设备未存储有该连接请求包括的配置服务器的标识,则可以确定发送该连接请求的配置服务器为所创建的新的配置服务器,则可以确定针对目标配置服务器创建的其他配置服务器创建成功。
在一种实现方式中,当存在多个目标配置服务器时,上述状态信息或连接请求还可以携带所对应的配置服务器针对的目标配置服务器的标识,或者还可以携带所对应的配置服务器针对的目标配置服务器的关联信息,其中,该关联信息可以为任一可以区分不同目标配置服务器的,且可以表征状态信息或连接请求所对应的配置服务器与目标配置服务器的关联关系的信息。
其中,每一应用的配置项包含多个命名空间对应的配置项;管理服务器将目标配置服务器缓存的应用的配置项中的部分配置项,转存于针对目标配置服务器创建的其他配置服务器的过程,可以是:从目标配置服务器所缓存的应用的配置项中,随机选择至少一个命名空间对应的配置项,作为部分配置项,转存于针对目标配置服务器创建的其他配置服务器;或者,可以是:基于目标配置服务器缓存的应用的配置项中,每一命名空间对应的配置项的数据量,将目标配置服务器缓存的应用的配置项,均分成目标数量份,其中,目标数量等于:针对目标配置服务器创建的其他配置服务器的数量加一;将均分后所得的目标数量减一份应用的配置项,分别缓存于其他配置服务器,其中,每一其他配置服务器缓存一份。
举例说明,上述从目标配置服务器所缓存的应用的配置项中,随机选择至少一个命名空间对应的配置项,作为部分配置项的过程;假设目标配置服务器所缓存的应用的配置项包括200个命名空间对应的配置项,可以从该200个命名空间对应的配置项中,随机选择随机数量个命名空间对应的配置项,作为部分配置项,其中,可以是从该200个命名空间对应的配置项中随机选择100个命名空间对应的配置项,作为部分配置项。
可以理解的是,每一命名空间对应的多个配置项仅在其对应的命名空间下生效,即每一配置项仅在该配置项对应的命名空间下可以被配置成功,鉴于此,上述基于目标配置服务器缓存的应用的配置项中每一应用的配置项的数据量,将目标配置服务器缓存的应用的配置项,均分成目标数量份的过程,可以是,以命名空间为配置项被划分的最小单位,基于目标配置服务器缓存的应用的配置项中每一命名空间对应的配置项的数据量,将目标配置服务器缓存的应用的配置项,均分成目标数量份。也就是说,划分目标配置服务器缓存的应用的配置项时,需要保证对应同一命名空间的配置项,被分为同一份中,即对应同一命名空间的配置项需缓存于同一配置服务器的内存中;该对应同一命名空间的配置项指:对应的命名空间的标识相同的配置项,其中,该命名空间的标识可以表征:该命名空间所属的配置集群,该命名空间所属配置集群所属的环境,以及该命名空间所属配置集群所属的环境所属的应用。
上述均分可以指:保证各份中包含至少一个命名空间对应的所有配置项,且各份所包含至少一个命名空间所对应配置项的数据量之间的差值达到最小。后续的,可以保持均分后的一份配置项缓存于目标配置服务器的内存中,其他目标数量减一份配置项,分别转存于所创建的其他配置服务器中,使得所创建的每一其他配置服务器的内存中,可以缓存有一份均分后所得的配置项。
上述转存可以指:通知针对目标配置服务器创建的其他配置服务器,从配置项数据库中读取该部分配置项,并缓存于针对目标配置服务器创建的其他配置服务器的内存中;通知目标配置服务器将该部分配置项从内存中删除。具体的可以是:管理服务器通知针对该目标配置服务器创建的其他服务器,其需要缓存的部分配置项,即其需要缓存哪些应用的、哪些环境的、哪些配置集群的及哪些命名空间的配置项;后续的,针对目标配置服务器创建的其他服务器,基于管理服务器的通知,从配置项数据库中,读取其所需缓存的部分配置项并缓存于其内存中;并且,管理服务器通知目标配置服务器其需要删除其所缓存的该部分配置项,目标管理服务器得到通知后,将管理服务器通知其删除的部分配置项,从内存中删除。
一种情况中,针对目标配置服务器所创建的其他配置服务器可以存在至少一个,当存在多个时,可以是将所选择的部分配置项,分成该其他配置服务器的数量分,将每一份配置项缓存于每一其他配置服务器,其中,可以以配置项对应的命名空间为最小的划分单位,对部分配置项进行划分。一种情况中,鉴于对配置服务器的内存的利用率的考虑,可以是:每次进行内存扩容时,针对目标配置服务器创建一个其他配置服务器。
本发明实施例中,管理服务器可以监控配置中心系统的配置服务器的当前剩余内存量,检测当前剩余内存量是否足够,若确定存在当前剩余内存量不足的目标配置服务器,即存在当前剩余内存量小于第一内存阈值的目标配置服务器,进而判断目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器,若判断不存在可用配置服务器,则对目标配置服务器进行内存扩容,针对目标配置服务器创建其他配置服务器,在检测到针对目标配置服务器的其他配置服务器创建成功后,将目标配置服务器缓存的应用的配置项中的部分配置项,转存于针对目标配置服务器创建的其他配置服务器,以实现在确定出配置服务器的内存不足时,动态地对配置服务器的内存进行扩容。
并且,本发明实施例中,可以随着该配置中心系统所支持的应用的配置项的增长,而扩容配置服务器的内存,健壮性好。在一定程度上,初始时,可以针对配置中心系统配置内存较小的配置服务器,例如:该配置服务器的内存,足以存储初始阶段配置中心系统中配置项数据库中的所有应用的配置项即可。在一定程度上,可以节省初始阶段配置中心系统的配置服务器的内存,提高初始阶段配置中心系统的配置服务器的内存的利用率。并且,可以动态地对出现内存不足的目标配置服务器进行扩容,即针对目标配置服务器创建其他配置服务器,使得当目标配置服务器的内存耗尽时,无需要求更换内存更大的配置服务器。这在一定程度上,可以降低对每一配置服务器的内存的要求,无需要求配置内存非常大的配置服务器,以缓存配置项,其中,该内存非常大的配置服务器可以指内存大于预设内存阈值的配置服务器。
在另一种实现方式中,如图2所示,所述方法还可以包括:
S201:接收配置服务器发送的状态信息;
其中,该状态信息包括:配置服务器自身的当前剩余内存量,配置服务器缓存有配置中心系统所支持的应用的配置项;
若配置服务器中存在当前剩余内存量小于第一内存阈值的目标配置服务器,执行步骤S202。
S202:判断目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器;
其中,该可用配置服务器为:目标配置服务器组中除目标配置服务器外的,且当前剩余内存量满足预设内存条件的配置服务器,配置服务器组中的配置服务器缓存有配置中心系统所支持的所有应用的配置项,预设内存条件为:剩余内存量不小于第二内存阈值,或剩余内存量占自身的内存总量的比例不高于预设比例阈值的条件;
若判断目标配置服务器组中,不存在可用配置服务器,执行步骤S203。若判断目标配置服务器组中,存在可用配置服务器,执行步骤S205。
S203,通知预设扩容系统针对目标配置服务器创建其他配置服务器;
其中,该预设扩容系统为:用于创建配置服务器的系统;
S204:在检测到针对目标配置服务器的其他配置服务器创建成功后,将目标配置服务器缓存的应用的配置项中的可配置的配置项,转存于针对目标配置服务器创建的其他配置服务器。
S205:从可用配置服务器中确定出第一配置服务器;
S206:基于第一配置服务器的当前剩余内存量,从目标配置服务器所缓存的应用的配置项中,确定出可配置的配置项;
S207:将所确定出的可配置的配置项,转存于第一配置服务器。
本实现方式中,若判断目标配置服务器组中,存在可用配置服务器,即该目标配置服务器组中,存在满足预设内存条件的配置服务器,为了在一定程度上节省资源,提高配置服务器的内存的利用率,本次流程中,可以先不对目标配置服务器进行内存扩充,先考虑将该目标配置服务器所缓存的应用的配置项中的可配置的配置项,转存于可用配置服务器或可用配置服务器中的部分配置服务器。其中,可以基于可用配置服务器的当前剩余内存量,从目标配置服务器所缓存的应用的配置项中,采用随机的方式或按照预设确定规则,确定出部分配置项,进而将所确定出的部分配置项,转存于可用配置服务器或可用配置服务器中的部分配置服务器。该采用随机方式可以是:随机从目标配置服务器所缓存的应用的配置项中,确定出总数据量不高于可用配置服务器的当前剩余内存量的至少一个命名空间对应的配置项,作为可配置的配置项。
一种情况中,目标配置服务器组中的可用配置服务器可能存在一个或多个,当为一个时,直接将该可用配置服务器,作为第一配置服务器,当存在多个时,可以将可用配置服务器中的一个或多个配置服务器,作为第一配置服务器,进而,基于第一配置服务器的当前剩余内存量,从目标配置服务器所缓存的应用的配置项中,确定出部分配置项,将所确定出的部分配置项,转存于相应的第一配置服务器。其中,将可用配置服务器中的一个或多个配置服务器,作为第一配置服务器,也可以是:将可用配置服务器中的当前剩余内存量最多的前N个配置服务器,作为第一配置服务器,N为大于等于1的正整数,且N小于可用配置服务器的数量;或者,可以是:随机将可用配置服务器中的一个或多个配置服务器,确定为第一配置服务器。
在一种实现方式中,所述S206,可以包括:
判断第一配置服务器的当前剩余内存量,是否足以存储至少一个应用的配置项;
若判断第一配置服务器的当前剩余内存量,足以存储至少一个应用的配置项,依据第一配置服务器的当前剩余内存量,从目标配置服务器所缓存的应用的配置项,确定出至少一个应用的配置项;
若判断第一配置服务器的当前剩余内存量,不足以存储至少一个应用的配置项,判断第一配置服务器的当前剩余内存量,是否足以存储至少一个配置环境的配置项,其中,一个应用包括多个配置环境;
若判断第一配置服务器的当前剩余内存量,足以存储至少一个配置环境的配置项,依据第一配置服务器的当前剩余内存量,从目标配置服务器所缓存的应用的配置项,确定出至少一个配置环境的配置项;
若判断第一配置服务器的当前剩余内存量,不足以存储至少一个配置环境的配置项,判断第一配置服务器的当前剩余内存量,是否足以存储至少一个配置集群的配置项,其中,一个应用包括多个配置集群;
若判断第一配置服务器的当前剩余内存量,足以存储至少一个配置集群的配置项,依据第一配置服务器的当前剩余内存量,从目标配置服务器所缓存的应用的配置项中,确定出至少一个配置集群的配置项;
若判断第一配置服务器的当前剩余内存量,不足以存储至少一个配置集群的配置项,依据第一配置服务器的当前剩余内存量,从目标配置服务器所缓存的应用的配置项中,确定出至少一个命名空间的配置项,其中,每一配置集群包括多个命名空间。
本实现方式中,可以基于目标配置服务器缓存的应用的配置项的每一应用的配置项的数据量以及第一配置服务器的当前剩余内存量,判断第一配置服务器的当前剩余内存量,是否足以存储至少一个应用的配置项;若判断第一配置服务器的当前剩余内存量,足以存储至少一个应用的配置项,则确定出第一配置服务器的当前剩余内存量,可以存储目标配置服务器所缓存的应用的配置项中的多少个应用的配置项,以及哪几个应用的配置项,即确定出至少一个应用的配置项;将该确定出的至少一个应用的配置项,作为所确定出的部分配置项;进而,可以直接执行将该确定出的部分配置项,转存于第一配置服务器的步骤。
可以理解的是,一个应用可以包括多个配置环境,即一个应用的配置项会包括该应用所包括的多个配置环境的每一配置环境的配置项。若判断第一配置服务器的当前剩余内存量,不足以存储至少一个应用的配置项,可以继续判断第一配置服务器的当前剩余内存量,是否足以存储至少一个配置环境的配置项;若判断足以存储至少一个配置环境的配置项,则可以确定出第一配置服务器的当前剩余内存量,可以存储目标配置服务器所缓存的应用的配置项中的,哪些配置环境的配置项,即确定出至少一个配置环境的配置项,进而,将所确定出的至少一个配置环境的配置项,作为所确定出的部分配置项,进而执行将该确定出的部分配置项,转存于第一配置服务器的步骤。
一个配置环境可以包括多个配置集群,即一个配置环境的配置项会包括该配置环境所包括的多个配置集群的每一配置集群的配置项。若判断第一配置服务器的当前剩余内存量,不足以存储至少一个配置环境的配置项,则可以继续判断第一配置服务器的当前剩余内存量,是否足以存储至少一个配置集群的配置项;若判断第一配置服务器的当前剩余内存量,足以存储至少一个配置集群的配置项,则可以确定出第一配置服务器的当前剩余内存量,可以存储目标配置服务器所缓存的应用的配置项中的,哪些配置集群的配置项,即确定出至少一个配置集群的配置项,进而,将所确定出的至少一个配置集群的配置项,作为所确定出的部分配置项,进而执行将该确定出的部分配置项,转存于第一配置服务器的步骤。
以此类推的,一个配置集群可以包括多个命名空间,即一个配置集群的配置项会包括该配置集群所包括的多个命名空间的每一命名空间的配置项。若判断第一配置服务器的当前剩余内存量,不足以存储至少一个配置集群的配置项,则可以确定出第一配置服务器的当前剩余内存量,可以存储目标配置服务器所缓存的应用的配置项中的,哪些命名空间的配置项,即确定出至少一个命名空间的配置项,进而,将所确定出的至少一个命名空间的配置项,作为所确定出的部分配置项,进而执行将该确定出的部分配置项,转存于第一配置服务器的步骤。
在一种实现方式中,该配置中心系统还包括配置项数据库,该配置项数据库用于存储配置中心系统所支持的所有应用的配置项;所述方法还可以包括:
检测配置项数据库是否存在新的配置项,其中,该新的配置项可以为:未缓存于配置服务器的配置项;
若检测到配置项数据库存在新的配置项,通知每一配置服务器组中的一个配置服务器缓存新的配置项。
本实现方式中,随着配置中心系统的运行,该配置项数据库中难免出现新增配置项的情况,管理服务器可以实时或定时底检测配置项数据库是否存在新的配置项。其中,该新的配置项可以为:未缓存于配置服务器的配置项,该新的配置项可以是:新增的应用的配置项,也可以是针对已存在的应用增设的配置项。若检测到配置项数据库存在新的配置项,即通知每一配置服务器组中的一个配置服务器缓存新的配置项。
其中,该通知每一配置服务器组中的一个配置服务器缓存新的配置项的过程,可以是:首先从每一配置服务器组中,确定出当前内存剩余量最多的配置服务器,进而通知每一配置服务器组中,该当前内存剩余量最多的配置服务器缓存新的配置项。
其中,为了避免出现在缓存新的配置项时,新的配置项的数据量超过配置服务器的当前内存剩余量,导致配置服务器直接崩溃,可以设置较大的第一内存阈值。一种情况中,可以是基于经验,预估新增的新的配置项的最大数据量,然后,将该第一内存阈值设置为:配置服务器的内存总量与该最大数据量的差值。
并且,在配置服务器缓存新的配置项时,配置服务器可以实时向管理服务器发送状态信息,管理服务器每接收到配置服务器发送的状态信息,即判断该状态信息中的当前剩余内存量是否小于第一内存阈值,若判断该状态信息中的当前剩余内存量小于第一内存阈值,则通知预设扩容系统针对该配置服务器创建其他配置服务器,即进行扩容。
另一种实现方式中,配置中心系统运行过程中,还可能出现检测到配置项数据库中某些配置项被删除的情况,此时,管理服务器可以通知缓存有该被删除的某些配置项的配置服务器,将该被删除的某些配置项从内存中删除。
可以理解的是,为了便于对配置服务器的管理,配置服务器可以被分为不同配置服务器组,每一配置服务器组中的配置服务器缓存有:配置中心系统所支持的所有的应用的配置项,且同一组配置服务器组中的配置服务器缓存有不同的配置项。
且,为了保证配置中心系统的服务的高可用性,避免出现某些配置服务器出现故障,导致该配置中心系统的部分服务不可用的情况,例如:避免出现客户端请求的配置项,正好是出现故障的服务器的内存中所缓存的配置项,此时,该配置中心系统则不能向客户端提供快速相应其请求的服务。本实现方式中,配置中心系统的配置服务器可以被分为不同配置服务器组,即配置中心系统可以包括多组配置服务器组。后续的,若某一配置服务器组的某些配置服务器出现故障,管理服务器则可以向请求配置项的客户端,提供其他配置服务器组的配置服务器的标识,以使得请求配置项的客户端向该其他配置服务器组的配置服务器,请求配置项。
其中,配置中心系统所包括的多组配置服务器组可以分设于不同的机房中,以便于运维人员对配置服务器的维修。
在另一种实现方式中,当存在针对配置服务器组中某一配置服务器创建配置服务器,即针对配置服务器组中某一配置服务器进行扩容时,即配置服务器组处于扩容期间,检测到配置项数据库新增一批新的配置项,为了避免配置服务器组中的配置服务器的内存,不足以缓存该新增的一批新的配置项,进而出现配置服务器故障的情况,可以是管理服务器在检测到配置项数据库存在新的配置项后,判断每一配置服务器组是否处于扩容期间,进而基于判断结果执行相应的动作。具体的,每一配置服务器组包含一临时服务器,该临时服务器用于临时存储新增的配置项;
在所述通知每一配置服务器组中的一个配置服务器缓存新的配置项的步骤之前,所述方法还可以包括:
判断每一配置服务器组是否处于扩容期间,其中,扩容期间为:针对配置服务器组中的一个配置服务器创建其他配置服务器的期间;
若判断结果表征每一配置服务器组均未处于扩容期间,执行所述通知每一配置服务器组中的一个配置服务器缓存新的配置项的步骤;
若判断结果表征存在处于扩容期间第一配置服务器组,且存在未处于扩容期间第二配置服务器组,通知第一配置服务器组中的临时服务器缓存新的配置项;并在确定第一配置服务器组不处于扩容期间后,通知第一配置服务器组的临时服务器将新的配置项,转存至第一配置服务器组的一个配置服务器;通知第二配置服务器组中的临时服务器缓存新的配置项;
若判断结果表征每一配置服务器组均处于扩容期间,通知每一配置服务器组中的临时服务器缓存新的配置项;并在确定每一配置服务器组不处于扩容期间后,通知每一配置服务器组的临时服务器将新的配置项,转存至每一配置服务器组的一个配置服务器。
可以理解的是,在配置中心系统的运行过程中,难免出现某一或某些配置服务器出现故障的情况,为了保证配置中心系统的运行,以及及时对出现故障的配置服务器进行维修,在一种实现方式中,在所述将目标配置服务器缓存的应用的配置项中的部分配置项,转存于针对目标配置服务器创建的其他配置服务器的步骤之后,所述方法还可以包括:
若检测到在预设时长内,未接收到第二配置服务器的发送的状态信息,确定第二配置服务器出现故障,将第二配置服务器的标识,从配置服务器标识列表中删除,并发送告警信息。
其中,该第二配置服务器可以为该配置中心系统中的任意一个或多个配置服务器,管理服务器若检测到在预设时长内,未接收到第二配置服务器的发送的状态信息,则可以认为第二配置服务器无法向管理服务器上报其状态信息,此时该第二配置服务器出现故障。在确定第二配置服务器出现故障之后,将第二配置服务器的标识,从配置服务器标识列表中删除。并且,发送告警信息,以提示运维人员第二配置服务器出现故障,以使运维人员可以及时对出现故障的第二配置服务器进行维修。
其中,该配置服务器标识列表中包含:该配置中心系统中的未被认为出现故障的配置服务器的标识。该未被认为出现故障的配置服务器为:至少在每隔预设时长内,向管理服务器发送状态信息的配置服务器。该预设时长可以是运维人员根据该配置中心系统的实际配置进行设定的。
在一种实现方式中,为了保证管理服务器对配置服务器的有序的管理,在所述将目标配置服务器缓存的应用的配置项中的部分配置项,转存于针对目标配置服务器创建的其他配置服务器的步骤之后,所述方法还可以包括:
根据目标配置服务器当前所缓存的应用的配置项,以及其他配置服务器当前所缓存的应用的配置项,更新预存的对应关系,其中,预存的对应关系包括:配置中心系统的配置服务器的标识与其所缓存配置项的标识的对应关系,第三配置服务器缓存有待配置应用的配置项。
本实现方式中,管理服务器可以存储该针对目标配置服务器创建的其他配置服务器的标识,并更新预存的对应关系,预存的对应关系包括:配置中心系统的配置服务器的标识与其所缓存配置项的标识的对应关系。更新预存的对应关系的过程,可以是:更新预存的对应关系中所存储的目标配置服务器与其所缓存的配置项的标识的对应关系,将表征目标配置服务器,与转存于该针对目标配置服务器创建的其他配置服务器的配置项的对应关系删除,并在预存的对应关系中,增添该针对目标配置服务器创建的其他配置服务器与其所缓存的配置项的标识的对应关系。其中,配置服务器的标识可以包括配置服务器的名称、在配置中心系统中的序号和/或配置服务器的地址信息,该配置服务器的地址信息可以包括配置服务器的IP(Internet Protocol Address,网际协议地址)地址。
在一种实现方式中,在根据目标配置服务器当前所缓存的应用的配置项,以及其他配置服务器当前所缓存的应用的配置项,更新预存的对应关系的步骤之后,所述方法还可以包括:
若接收到客户端发送的请求待配置应用的配置项的配置请求,基于配置请求以及更新后的预存的对应关系,确定出用于响应客户端的第三配置服务器的标识;
基于第三配置服务器的标识,确定第三配置服务器的地址信息;
将第三配置服务器的地址信息反馈至客户端,以使客户端基于第三配置服务器的地址信息,向第三配置服务器请求待配置应用的配置项。
该配置中心系统还包括客户端,当客户端存在配置应用的配置项的需求时,客户端可以向管理服务器发送请求待配置应用的配置项的配置请求,该管理服务器接收到客户端发送的请求待配置应用的配置项的配置请求之后,可以基于配置请求以及更新后的预存的对应关系,确定出用于响应客户端的第三配置服务器的标识;进而基于第三配置服务器的标识,确定第三配置服务器的地址信息;将第三配置服务器的地址信息反馈至客户端,客户端基于第三配置服务器的地址信息,向第三配置服务器请求待配置应用的配置项。
本发明实施例中,整个内存扩容流程向客户端透明,客户端可以通过所接收到的配置服务器的标识,直接向配置服务器请求待配置应用的配置项。
一种情况中,该配置请求可以携带客户端所请求的待配置应用的配置项的标识,其中,该配置项的标识可以为应用的命名空间的标识;该应用的命名空间的标识可以定义为:应用名+环境名+配置集群名+命名空间名的形式,其中,应用名具有唯一性。该应用的命名空间的标识可以表征出:命名空间所属的配置集群、命名空间所属配置集群所属的配置环境、命名空间所属配置集群所属配置环境所属的应用。该配置项的标识也可以为应用的配置集群的标识,该应用的配置集群的标识可以表征出:配置集群所属的配置环境、配置集群所属配置环境所属的应用。该配置项的标识也可以为应用的配置环境的标识或应用的标识,该应用的配置环境的标识可以表征出:配置环境所属的应用。
管理服务器根据本地或所连接的存储设备存储的更新后的预设的对应关系,以及配置请求携带的客户端所请求的待配置应用的配置项的标识,可以确定出缓存有该待配置应用的配置项的配置服务器;其中,该缓存有该待配置应用的配置项的配置服务器可能存在一个或多个;当存在一个时,直接将所确定出的该缓存有待配置应用的配置项的配置服务器,确定为第三配置服务器,并将第三配置服务器的标识反馈至客户端。当存在多个时,管理服务器按照预设的负载均衡策略,从所确定出的该缓存有待配置应用的配置项的配置服务器中,确定出一个配置服务器,作为第三配置服务器,并将第三配置服务器的标识反馈至客户端。其中,该预设的负载均衡策略可以是:采用随机方式的策略、采用轮询方式的策略或选择最小连接数的策略。
下面以一具体实施例对本发明实施例所提供的内存扩容流程进行说明:
初始阶段,配置中心系统中设置至少一组配置服务器组,每一组配置服务器组可以包括至少一个配置服务器。
举例而言:如图3所示,配置中心系统中设置三组配置服务器组,即为第一配置服务器组、第二配置服务器组及第三配置服务器组,每一组配置服务器组可以包括一个配置服务器。其中,为了便于管理每一组配置服务器组中的配置服务器,每一组配置服务器组可以设置于一个机房中。初始阶段中,每一组配置服务器组的一个配置服务器的内存中缓存有:该配置中心系统的配置项数据库存储的所有的应用的配置项,即配置中心系统的所支持的所有的应用的配置项,例如:配置中心系统的所支持的所有的应用的配置项包含100个应用的配置项。
配置中心系统运行过程中,可能出现下列情况:
情况1、某台配置服务器挂掉;
情况2、配置项数据库中出现新的配置项;
情况3、配置项过多,使得配置服务端的内存渐渐耗尽。
配置中心系统中的各配置服务器可以定时向管理服务器NameServer发送状态信息,该状态信息包括配置服务器自身的当前剩余内存量。承接上述例子:初始配置的三个配置服务器可以向管理服务器NameServer发送状态信息。
管理服务器NameServer接收状态信息,并判断状态信息包括的当前剩余内存量是否小于第一内存阈值;若确定存在当前剩余内存量小于第一内存阈值的目标配置服务器,则可以确定目标配置服务器的内存渐渐耗尽(出现情况3)。
管理服务器NameServer可以继续判断目标配置服务器所在目标配置服务器组中是否存在其他配置服务器,即判断该目标配置服务器是否扩容过;若判断目标配置服务器所在目标配置服务器组中不存在其他配置服务器,则确定该目标配置服务器未扩容过。进而,管理服务器NameServer通知预设扩容系统针对目标配置服务器创建其他配置服务器。
承接上述例子:初始阶段时,三组配置服务器组中各自包括的一个配置服务器的内存可能相差不大,鉴于该情况,若判断目标配置服务器所在目标配置服务器组中不存在其他配置服务器,可以确定三组配置服务器组中均不存在其他配置服务器,且每一组配置服务器组中的配置服务器,均为目标配置服务器,进而,可以针对每一组配置服务器组中的配置服务器进行内存扩容,即通知预设扩容系统针对每一组配置服务器组的配置服务器创建其他配置服务器。其中,可以是针对每一组配置服务器组中的配置服务器创建一个配置服务器,如图4所示,每一组配置服务器组包含一个原有配置服务器及新创建配置服务器。
后续的,管理服务器NameServer若检测到针对目标配置服务器的新创建配置服务器创建成功,基于目标配置服务器缓存的应用的配置项中每一应用的配置项的数据量,将目标配置服务器缓存的应用的配置项,均分成目标数量份,其中,目标数量等于:针对目标配置服务器的新创建配置服务器的数量加一;将均分后所得的目标数量减一份应用的配置项,分别缓存于新创建配置服务器中,其中,每一新创建配置服务器缓存一份。
承接上述例子,管理服务器NameServer可以通知预设扩容系统针对目标配置服务器的新创建配置服务器,相应的目标数量为2;此时,可以基于每一组配置服务器组中的配置服务器,缓存的应用的配置项中每一应用的配置项的数据量,将每一组配置服务器组中的配置服务器缓存的应用的配置项,均分成两份;其中一份仍然缓存于每一组配置服务器组中的该配置服务器,另一份转存于每一组配置服务器组中的该新创建配置服务器。如:每一组配置服务器组的配置服务器的内存所缓存的应用的配置项,从100个命名空间对应的配置项增加至200个命名空间对应的配置项,管理服务器可以针对每一组配置服务器组的配置服务器(目标配置服务器),确定每一组配置服务器组的配置服务器所缓存的应用的配置项中,存在120个命名空间对应的配置项的数据量和另外80个命名空间对应的配置项的数据量之间的差值最小,此时,可以保留120个命名空间对应的配置项,仍缓存于每一组配置服务器组的目标配置服务器的内存中,将另外80个命名空间对应的配置项,转存于每一组配置服务器组的针对目标配置服务器的新创建配置服务器。
在配置中心系统的运行过程,管理服务器NameServer,若检测到在预设时长内,未接收到第二配置服务器的发送的状态信息,则可以确定第二配置服务器出现故障(即出现情况1),管理服务器NameServer,将第二配置服务器的标识,从配置服务器标识列表中删除,并发送告警信息,通知运维人员第二配置服务器出现故障,使得运维人员可以及时对出现第二配置服务器进行维修。
在配置中心系统的运行过程,管理服务器NameServer,可以实时或定时地检测配置项数据库是否存在新的配置项,即实时或定时地检测配置项数据库是否存在未缓存于配置服务器的配置项;若检测到配置项数据库存在新的配置项(出现情况2),通知每一配置服务器组,即每一机房中的一个配置服务器缓存新的配置项。
相应于上述方法实施例,本发明实施例提供了一种内存扩容装置,应用于配置中心系统的管理服务器,如图5所示,所述装置可以包括:
接收模块510,用于接收配置服务器发送的状态信息,其中,所述状态信息包括:配置服务器自身的当前剩余内存量,所述配置服务器缓存有所述配置中心系统所支持的应用的配置项;
第一判断模块520,用于若所述配置服务器中存在当前剩余内存量小于第一内存阈值的目标配置服务器,判断所述目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器;
第一通知模块530,用于若所述目标配置服务器所在目标配置服务器组中,不存在所述可用配置服务器,通知预设扩容系统针对所述目标配置服务器创建其他配置服务器,其中,所述预设扩容系统为:用于创建配置服务器的系统;
第一转存模块540,用于在检测到针对所述目标配置服务器的其他配置服务器创建成功后,将所述目标配置服务器缓存的应用的配置项中的可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器。
本发明实施例中,管理服务器可以监控配置中心系统的配置服务器的当前剩余内存量,检测当前剩余内存量是否足够,若确定存在当前剩余内存量不足的目标配置服务器,即存在当前剩余内存量小于第一内存阈值的目标配置服务器,进而判断目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器,若判断不存在可用配置服务器,则对目标配置服务器进行内存扩容,针对目标配置服务器创建其他配置服务器,在检测到针对目标配置服务器的其他配置服务器创建成功后,将目标配置服务器缓存的应用的配置项中的部分配置项,转存于针对目标配置服务器创建的其他配置服务器,以实现在确定出配置服务器的内存不足时,动态地对配置服务器的内存进行扩容。
并且,本发明实施例中,可以随着该配置中心系统所支持的应用的配置项的增长,而扩容配置服务器的内存,健壮性好。在一定程度上,初始时,可以针对配置中心系统配置内存较小的配置服务器,只要该配置服务器的内存,足以存储初始阶段配置中心系统中配置项数据库中的所有应用的配置项即可,在一定程度上,可以节省初始阶段配置中心系统的配置服务器的内存,提高初始阶段配置中心系统的配置服务器的内存的利用率。
在一种实现方式中,所述可用配置服务器为:所述目标配置服务器组中除所述目标配置服务器外的,且当前剩余内存量满足预设内存条件的配置服务器;所述配置服务器组中的配置服务器缓存有所述配置中心系统所支持的所有应用的配置项;所述预设内存条件为:当前剩余内存量不小于第二内存阈值,或当前剩余内存量占自身的内存总量的比例不高于预设比例阈值的条件。
在一种实现方式中,所述装置还包括:
第一确定模块,用于若判断所述目标配置服务器组中,存在所述可用配置服务器,从所述可用配置服务器中确定出第一配置服务器;
第二确定模块,用于基于所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出可配置的配置项;
第二转存模块,用于将所确定出的可配置的配置项,转存于所述第一配置服务器。
在一种实现方式中,所述第一确定模块,具体用于
判断第一配置服务器的当前剩余内存量,是否足以存储至少一个应用的配置项;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个应用的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项,确定出至少一个应用的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个应用的配置项,判断所述第一配置服务器的当前剩余内存量,是否足以存储至少一个配置环境的配置项,其中,一个应用包括多个配置环境;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个配置环境的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项,确定出至少一个配置环境的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个配置环境的配置项,判断所述第一配置服务器的当前剩余内存量,是否足以存储至少一个配置集群的配置项,其中,一个应用包括多个配置集群;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个配置集群的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出至少一个配置集群的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个配置集群的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出至少一个命名空间的配置项,其中,每一配置集群包括多个命名空间。
在一种实现方式中,所述配置中心系统还包括配置项数据库,所述配置项数据库用于存储配置中心系统所支持的所有应用的配置项;所述装置还包括:
检测模块,用于检测配置项数据库是否存在新的配置项,其中,所述新的配置项为:未缓存于配置服务器的配置项;
第二通知模块,用于若检测到所述配置项数据库存在新的配置项通知每一配置服务器组中的一个配置服务器缓存所述新的配置项。
在一种实现方式中,每一配置服务器组包含一临时服务器,该临时服务器用于临时存储新增的配置项;
所述装置还包括:
第二判断模块,用于在所述通知每一配置服务器组中的一个配置服务器缓存所述新的配置项之前,判断每一配置服务器组是否处于扩容期间,其中,所述扩容期间为:针对配置服务器组中的一个配置服务器创建其他配置服务器的期间;若判断结果表征每一配置服务器组均未处于扩容期间,触发所述第二通知模块;若判断结果表征存在处于扩容期间第一配置服务器组,且存在未处于扩容期间第二配置服务器组,触发第三通知模块;若判断结果表征每一配置服务器组均处于扩容期间,触发第四通知模块;
第三通知模块,用于通知所述第一配置服务器组中的临时服务器缓存所述新的配置项;并在确定所述第一配置服务器组不处于扩容期间后,通知所述第一配置服务器组的临时服务器将所述新的配置项,转存至所述第一配置服务器组的一个配置服务器;通知所述第二配置服务器组中的临时服务器缓存所述新的配置项;
第四通知模块,用于通知每一配置服务器组中的临时服务器缓存所述新的配置项;并在确定每一配置服务器组不处于扩容期间后,通知每一配置服务器组的临时服务器将所述新的配置项,转存至每一配置服务器组的一个配置服务器。
在一种实现方式中,所述装置还包括:
第三确定模块,用于在所述将所述目标配置服务器缓存的应用的配置项中的可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器之后,若检测到在预设时长内,未接收到第二配置服务器的发送的状态信息,确定所述第二配置服务器出现故障;
删除发送模块,用于将所述第二配置服务器的标识,从配置服务器标识列表中删除,并发送告警信息。
在一种实现方式中,所述装置还包括:
更新模块,用于在所述将所述目标配置服务器缓存的应用的配置项中的可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器之后,根据所述目标配置服务器当前所缓存的应用的配置项,以及所述其他配置服务器当前所缓存的应用的配置项,更新预存的对应关系,其中,所述预存的对应关系包括:所述配置中心系统的配置服务器的标识与其所缓存配置项的标识的对应关系,所述第三配置服务器缓存有所述待配置应用的配置项。
在一种实现方式中,所述装置还包括:
第四确定模块,用于在根据所述目标配置服务器当前所缓存的应用的配置项,以及所述其他配置服务器当前所缓存的应用的配置项,更新预存的对应关系之后,若接收到客户端发送的请求待配置应用的配置项的配置请求,基于所述配置请求以及更新后的所述预存的对应关系,确定出用于响应所述客户端的第三配置服务器的标识;
第五确定模块,用于基于所述第三配置服务器的标识,确定所述第三配置服务器的地址信息;
反馈模块,用于将所述第三配置服务器的地址信息反馈至所述客户端,以使所述客户端基于所述第三配置服务器的地址信息,向所述第三配置服务器请求所述待配置应用的配置项。
在一种实现方式中,每一应用的配置项包含多个命名空间对应的配置项;
所述第一转存模块540,具体用于
基于所述目标配置服务器缓存的应用的配置项中,每一命名空间对应的配置项的数据量,将所述目标配置服务器缓存的应用的配置项,均分成所述目标配置服务器组中配置服务器的数量份;
将均分后所得的每一份应用的配置项,分别缓存于所述目标配置服务器组中配置服务器。
相应于上述方法实施例,本发明实施例提供了一种配置中心系统,如图6所示,所述配置中心系统包括管理服务器610和配置服务器620;
所述配置服务器620,用于向所述管理服务器发送状态信息,并缓存所述配置中心系统所支持的应用的配置项,其中,所述状态信息包括:配置服务器自身的当前剩余内存量;
所述管理服务器610,用于接收所述配置服务器发送的所述状态信息;若所述配置服务器中存在当前剩余内存量小于第一内存阈值的目标配置服务器,判断所述目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器;若所述目标配置服务器所在目标配置服务器组中,不存在所述可用配置服务器,通知预设扩容系统针对所述目标配置服务器创建其他配置服务器,其中,所述预设扩容系统为:用于创建配置服务器的系统;在检测到所述其他配置服务器创建成功后,将所述目标配置服务器缓存的应用的配置项中的部分配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器。
本发明实施例中,管理服务器可以监控配置中心系统的配置服务器的当前剩余内存量,检测当前剩余内存量是否足够,若确定存在当前剩余内存量不足的目标配置服务器,即存在当前剩余内存量小于第一内存阈值的目标配置服务器,则对目标配置服务器进行内存扩容,针对目标配置服务器创建其他配置服务器,在检测到针对目标配置服务器的其他配置服务器创建成功后,将目标配置服务器缓存的应用的配置项中的部分配置项,转存于针对目标配置服务器创建的其他配置服务器,以实现在确定出配置服务器的内存不足时,动态地对配置服务器的内存进行扩容。
并且,本发明实施例中,可以随着该配置中心系统所支持的应用的配置项的增长,而扩容配置服务器的内存,健壮性好。在一定程度上,初始时,可以针对配置中心系统配置内存较小的配置服务器,只要该配置服务器的内存,足以存储初始阶段配置中心系统中配置项数据库中的所有应用的配置项即可,在一定程度上,可以节省初始阶段配置中心系统的配置服务器的内存,提高初始阶段配置中心系统的配置服务器的内存的利用率。
在一种实现方式中,所述管理服务器610,还用于若判断所述目标配置服务器组中,存在所述可用配置服务器,从所述可用配置服务器中确定出第一配置服务器;
基于所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出部分配置项;
将所确定出的部分配置项,转存于所述第一配置服务器。
在一种实现方式中,所述管理服务器610,具体用于判断第一配置服务器的当前剩余内存量,是否足以存储至少一个应用的配置项;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个应用的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项,确定出至少一个应用的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个应用的配置项,判断所述第一配置服务器的当前剩余内存量,是否足以存储至少一个配置环境的配置项,其中,一个应用包括多个配置环境;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个配置环境的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项,确定出至少一个配置环境的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个配置环境的配置项,判断所述第一配置服务器的当前剩余内存量,是否足以存储至少一个配置集群的配置项,其中,一个应用包括多个配置集群;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个配置集群的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出至少一个配置集群的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个配置集群的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出至少一个命名空间的配置项,其中,每一配置集群包括多个命名空间。
在一种实现方式中,如图6所示,所述配置中心系统还包括配置项数据库630;
所述配置项数据库630,用于存储配置中心系统所支持的所有应用的配置项;
所述管理服务器610,还用于检测配置项数据库是否存在新的配置项,其中,所述新的配置项为:未缓存于配置服务器的配置项;
若检测到所述配置项数据库630存在新的配置项,通知每一配置服务器组中的一个配置服务器缓存所述新的配置项。
在一种实现方式中,如图6所示,每一配置服务器组包含一临时服务器650,该临时服务器650用于临时存储新增的配置项;所述管理服务器610,还用于在所述通知每一配置服务器组中的一个配置服务器620缓存所述新的配置项之前,判断每一配置服务器组是否处于扩容期间,其中,所述扩容期间为:针对配置服务器组中的一个配置服务器620创建其他配置服务器的期间;
若判断结果表征每一配置服务器组均未处于扩容期间,执行所述通知每一配置服务器组中的一个配置服务器620缓存所述新的配置项的步骤;
若判断结果表征存在处于扩容期间第一配置服务器组,且存在未处于扩容期间第二配置服务器组,通知所述第一配置服务器组中的临时服务器650缓存所述新的配置项;并在确定所述第一配置服务器组不处于扩容期间后,通知所述第一配置服务器组的临时服务器650将所述新的配置项,转存至所述第一配置服务器组的一个配置服务器620;通知所述第二配置服务器组中的临时服务器650缓存所述新的配置项;
若判断结果表征每一配置服务器组均处于扩容期间,通知每一配置服务器组中的临时服务器650缓存所述新的配置项;并在确定每一配置服务器组不处于扩容期间后,通知每一配置服务器组的临时服务器650将缓存的所述新的配置项,转存至每一配置服务器组的一个配置服务器620。
所述管理服务器610,还用于记录所述临时服务器650的标识,并更新预存的对应关系,在预存的对应关系中增添所述临时服务器650的标识与其所缓存的所述新的配置项的配置项的标识的对应关系。
在一种实现方式中,所述管理服务器610,还用于在所述将所述目标配置服务器缓存的应用的配置项中的可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器之后,若检测到在预设时长内,未接收到第二配置服务器的发送的状态信息,确定所述第二配置服务器出现故障,将所述第二配置服务器的标识,从配置服务器标识列表中删除,并发送告警信息。
在一种实现方式中,所述管理服务器610,还用于在所述将所述目标配置服务器缓存的应用的配置项中的可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器之后,根据所述目标配置服务器当前所缓存的应用的配置项,以及所述其他配置服务器当前所缓存的应用的配置项,更新预存的对应关系,其中,所述预存的对应关系包括:所述配置中心系统的配置服务器的标识与其所缓存配置项的标识的对应关系,所述第三配置服务器缓存有所述待配置应用的配置项。
在一种实现方式中,如图6所示,所述配置中心系统还包括客户端640,所述管理服务器610,还用于在根据所述目标配置服务器当前所缓存的应用的配置项,以及所述其他配置服务器当前所缓存的应用的配置项,更新预存的对应关系之后,若接收到客户端640发送的请求待配置应用的配置项的配置请求,基于所述配置请求以及更新后的所述预存的对应关系,确定出用于响应所述客户端的第三配置服务器的标识;基于所述第三配置服务器的标识,确定所述第三配置服务器的地址信息;将所述第三配置服务器的地址信息反馈至所述客户端640,以使所述客户端640基于所述第三配置服务器的地址信息,向所述第三配置服务器请求所述待配置应用的配置项。
在一种实现方式中,所述管理服务器610,具体用于基于所述目标配置服务器缓存的应用的配置项中每一应用的配置项的数据量,将所述目标配置服务器缓存的应用的配置项,均分成目标数量份,其中,所述目标数量等于:针对所述目标配置服务器创建的所述其他配置服务器的数量加一;
将均分后所得的目标数量减一份应用的配置项,分别缓存于所述其他配置服务器,其中,每一其他配置服务器缓存一份。
一种情况中,如图6中所示,表示配置服务器620可以存在至少一个,其中,至少一个配置服务器620可以存在于至少一组配置服务器组中,每一配置服务器组可以至少包括一个配置服务器620;表示客户端640可以存在至少一个;表示临时服务器650也可以存在至少一个。
相应于上述方法实施例,本发明实施例还提供了一种电子设备,如图7所示,包括处理器710、通信接口720、存储器730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信,
存储器730,用于存放计算机程序;
处理器710,用于执行存储器730上所存放的程序时,实现本发明实施例所提供的上述任一所述的内存扩容方法步骤。
本发明实施例中,管理服务器可以监控配置中心系统的配置服务器的当前剩余内存量,检测当前剩余内存量是否足够,若确定存在当前剩余内存量不足的目标配置服务器,即存在当前剩余内存量小于第一内存阈值的目标配置服务器,进而判断目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器,若判断不存在可用配置服务器,则对目标配置服务器进行内存扩容,针对目标配置服务器创建其他配置服务器,在检测到针对目标配置服务器的其他配置服务器创建成功后,将目标配置服务器缓存的应用的配置项中的部分配置项,转存于针对目标配置服务器创建的其他配置服务器,以实现在确定出配置服务器的内存不足时,动态地对配置服务器的内存进行扩容。
并且,本发明实施例中,可以随着该配置中心系统所支持的应用的配置项的增长,而扩容配置服务器的内存,健壮性好。在一定程度上,初始时,可以针对配置中心系统配置内存较小的配置服务器,只要该配置服务器的内存,足以存储初始阶段配置中心系统中配置项数据库中的所有应用的配置项即可,在一定程度上,可以节省初始阶段配置中心系统的配置服务器的内存,提高初始阶段配置中心系统的配置服务器的内存的利用率。
上述电子设备提到的通信总线740可以是外设部件互连标准(PeripheralPomponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线740可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口720用于上述电子设备与其他设备之间的通信。
存储器730可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器710的存储装置。
上述的处理器710可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Ne twork Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Applica tion SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
相应于上述方法实施例,在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的内存扩容方法步骤。
相应于上述方法实施例,在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的内存扩容方法步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、系统及电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (22)

1.一种内存扩容方法,其特征在于,应用于配置中心系统的管理服务器,所述方法包括:
接收配置服务器发送的状态信息,其中,所述状态信息包括:配置服务器自身的当前剩余内存量,所述配置服务器缓存有所述配置中心系统所支持的应用的配置项;所述配置中心系统包括至少两个配置服务器组,每个配置服务器组中的配置服务器缓存有:配置中心系统所支持的所有的应用的配置项,且同一组配置服务器组中的配置服务器缓存有不同的配置项;
若所述配置服务器中存在当前剩余内存量小于第一内存阈值的目标配置服务器,判断所述目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器;
若判断所述目标配置服务器所在目标配置服务器组中,不存在所述可用配置服务器,通知预设扩容系统针对所述目标配置服务器创建其他配置服务器,其中,所述预设扩容系统为:用于创建配置服务器的系统;
在检测到针对所述目标配置服务器的其他配置服务器创建成功后,将所述目标配置服务器缓存的应用的配置项中可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器。
2.根据权利要求1所述的方法,其特征在于,所述可用配置服务器为:所述目标配置服务器组中除所述目标配置服务器外的,且当前剩余内存量满足预设内存条件的配置服务器;所述配置服务器组中的配置服务器缓存有所述配置中心系统所支持的所有应用的配置项;所述预设内存条件为:当前剩余内存量不小于第二内存阈值,或当前剩余内存量占自身的内存总量的比例不高于预设比例阈值的条件。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若判断所述目标配置服务器组中,存在所述可用配置服务器,从所述可用配置服务器中确定出第一配置服务器;
基于所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出可配置的配置项;
将所确定出的可配置的配置项,转存于所述第一配置服务器。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出可配置的配置项的步骤,包括:
判断第一配置服务器的当前剩余内存量,是否足以存储至少一个应用的配置项;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个应用的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项,确定出至少一个应用的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个应用的配置项,判断所述第一配置服务器的当前剩余内存量,是否足以存储至少一个配置环境的配置项,其中,一个应用包括多个配置环境;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个配置环境的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项,确定出至少一个配置环境的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个配置环境的配置项,判断所述第一配置服务器的当前剩余内存量,是否足以存储至少一个配置集群的配置项,其中,一个应用包括多个配置集群;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个配置集群的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出至少一个配置集群的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个配置集群的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出至少一个命名空间的配置项,其中,每一配置集群包括多个命名空间。
5.根据权利要求1所述的方法,其特征在于,所述配置中心系统还包括配置项数据库,所述配置项数据库用于存储配置中心系统所支持的所有应用的配置项;所述方法还包括:
检测配置项数据库是否存在新的配置项,其中,所述新的配置项为:未缓存于配置服务器的配置项;
若检测到所述配置项数据库存在新的配置项,通知每一配置服务器组中的一个配置服务器缓存所述新的配置项。
6.根据权利要求5所述的方法,其特征在于,每一配置服务器组包含一临时服务器,该临时服务器用于临时存储新增的配置项;
在所述通知每一配置服务器组中的一个配置服务器缓存所述新的配置项的步骤之前,所述方法还包括:
判断每一配置服务器组是否处于扩容期间,其中,所述扩容期间为:针对配置服务器组中的一个配置服务器创建其他配置服务器的期间;
若判断结果表征每一配置服务器组均未处于扩容期间,执行所述通知每一配置服务器组中的一个配置服务器缓存所述新的配置项的步骤;
若判断结果表征存在处于扩容期间第一配置服务器组,且存在未处于扩容期间第二配置服务器组,通知所述第一配置服务器组中的临时服务器缓存所述新的配置项;并在确定所述第一配置服务器组不处于扩容期间后,通知所述第一配置服务器组的临时服务器将所述新的配置项,转存至所述第一配置服务器组的一个配置服务器;通知所述第二配置服务器组中的临时服务器缓存所述新的配置项;
若判断结果表征每一配置服务器组均处于扩容期间,通知每一配置服务器组中的临时服务器缓存所述新的配置项;并在确定每一配置服务器组不处于扩容期间后,通知每一配置服务器组的临时服务器将所述新的配置项,转存至每一配置服务器组的一个配置服务器。
7.根据权利要求1所述的方法,其特征在于,在所述将所述目标配置服务器缓存的应用的配置项中的可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器的步骤之后,所述方法还包括:
若检测到在预设时长内,未接收到第二配置服务器的发送的状态信息,确定所述第二配置服务器出现故障,将所述第二配置服务器的标识,从配置服务器标识列表中删除,并发送告警信息。
8.根据权利要求1-7任一项所述的方法,其特征在于,在所述将所述目标配置服务器缓存的应用的配置项中的可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器的步骤之后,所述方法还包括:
根据所述目标配置服务器当前所缓存的应用的配置项,以及所述其他配置服务器当前所缓存的应用的配置项,更新预存的对应关系,其中,所述预存的对应关系包括:所述配置中心系统的配置服务器的标识与其所缓存配置项的标识的对应关系,第三配置服务器缓存有待配置应用的配置项。
9.根据权利要求8所述的方法,其特征在于,在所述根据所述目标配置服务器当前所缓存的应用的配置项,以及所述其他配置服务器当前所缓存的应用的配置项,更新预存的对应关系的步骤之后,所述方法还包括:
若接收到客户端发送的请求待配置应用的配置项的配置请求,基于所述配置请求以及更新后的所述预存的对应关系,确定出用于响应所述客户端的所述第三配置服务器的标识;
基于所述第三配置服务器的标识,确定所述第三配置服务器的地址信息;
将所述第三配置服务器的地址信息反馈至所述客户端,以使所述客户端基于所述第三配置服务器的地址信息,向所述第三配置服务器请求所述待配置应用的配置项。
10.根据权利要求1-7任一项所述的方法,其特征在于,每一应用的配置项包含多个命名空间对应的配置项;
所述将所述目标配置服务器缓存的应用的配置项中可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器的步骤,包括:
基于所述目标配置服务器缓存的应用的配置项中,每一命名空间对应的配置项的数据量,将所述目标配置服务器缓存的应用的配置项,均分成目标数量份,其中,所述目标数量等于:针对所述目标配置服务器创建的所述其他配置服务器的数量加一;
将均分后所得的目标数量减一份应用的配置项,分别缓存于所述其他配置服务器,其中,每一其他配置服务器缓存一份。
11.一种内存扩容装置,其特征在于,应用于配置中心系统的管理服务器,所述装置包括:
接收模块,用于接收配置服务器发送的状态信息,其中,所述状态信息包括:配置服务器自身的当前剩余内存量,所述配置服务器缓存有所述配置中心系统所支持的应用的配置项;所述配置中心系统包括至少两个配置服务器组,每个配置服务器组中的配置服务器缓存有:配置中心系统所支持的所有的应用的配置项,且同一组配置服务器组中的配置服务器缓存有不同的配置项;
第一判断模块,用于若所述配置服务器中存在当前剩余内存量小于第一内存阈值的目标配置服务器,判断所述目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器;
第一通知模块,用于若判断所述目标配置服务器所在目标配置服务器组中,不存在所述可用配置服务器,通知预设扩容系统针对所述目标配置服务器创建其他配置服务器,其中,所述预设扩容系统为:用于创建配置服务器的系统;
第一转存模块,用于在检测到针对所述目标配置服务器的其他配置服务器创建成功后,将所述目标配置服务器缓存的应用的配置项中可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器。
12.根据权利要求11所述的装置,其特征在于,所述可用配置服务器为:所述目标配置服务器组中除所述目标配置服务器外的,且当前剩余内存量满足预设内存条件的配置服务器;所述配置服务器组中的配置服务器缓存有所述配置中心系统所支持的所有应用的配置项;所述预设内存条件为:当前剩余内存量不小于第二内存阈值,或当前剩余内存量占自身的内存总量的比例不高于预设比例阈值的条件。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一确定模块,用于若判断所述目标配置服务器组中,存在所述可用配置服务器,从所述可用配置服务器中确定出第一配置服务器;
第二确定模块,用于基于所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出可配置的配置项;
第二转存模块,用于将所确定出的可配置的配置项,转存于所述第一配置服务器。
14.根据权利要求13所述的装置,其特征在于,所述第一确定模块,具体用于
判断第一配置服务器的当前剩余内存量,是否足以存储至少一个应用的配置项;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个应用的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项,确定出至少一个应用的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个应用的配置项,判断所述第一配置服务器的当前剩余内存量,是否足以存储至少一个配置环境的配置项,其中,一个应用包括多个配置环境;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个配置环境的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项,确定出至少一个配置环境的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个配置环境的配置项,判断所述第一配置服务器的当前剩余内存量,是否足以存储至少一个配置集群的配置项,其中,一个应用包括多个配置集群;
若判断所述第一配置服务器的当前剩余内存量,足以存储至少一个配置集群的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出至少一个配置集群的配置项;
若判断所述第一配置服务器的当前剩余内存量,不足以存储至少一个配置集群的配置项,依据所述第一配置服务器的当前剩余内存量,从所述目标配置服务器所缓存的应用的配置项中,确定出至少一个命名空间的配置项,其中,每一配置集群包括多个命名空间。
15.根据权利要求11所述的装置,其特征在于,所述配置中心系统还包括配置项数据库,所述配置项数据库用于存储配置中心系统所支持的所有应用的配置项;所述装置还包括:
检测模块,用于检测配置项数据库是否存在新的配置项,其中,所述新的配置项为:未缓存于配置服务器的配置项;
第二通知模块,用于若检测到所述配置项数据库存在新的配置项,通知每一配置服务器组中的一个配置服务器缓存所述新的配置项。
16.根据权利要求15所述的装置,其特征在于,每一配置服务器组包含一临时服务器,该临时服务器用于临时存储新增的配置项;
所述装置还包括:
第二判断模块,用于在所述通知每一配置服务器组中的一个配置服务器缓存所述新的配置项之前,判断每一配置服务器组是否处于扩容期间,其中,所述扩容期间为:针对配置服务器组中的一个配置服务器创建其他配置服务器的期间;若判断结果表征每一配置服务器组均未处于扩容期间,触发所述第二通知模块;若判断结果表征存在处于扩容期间第一配置服务器组,且存在未处于扩容期间第二配置服务器组,触发第三通知模块;若判断结果表征每一配置服务器组均处于扩容期间,触发第四通知模块;
第三通知模块,用于通知所述第一配置服务器组中的临时服务器缓存所述新的配置项;并在确定所述第一配置服务器组不处于扩容期间后,通知所述第一配置服务器组的临时服务器将所述新的配置项,转存至所述第一配置服务器组的一个配置服务器;通知所述第二配置服务器组中的临时服务器缓存所述新的配置项;
第四通知模块,用于通知每一配置服务器组中的临时服务器缓存所述新的配置项;并在确定每一配置服务器组不处于扩容期间后,通知每一配置服务器组的临时服务器将所述新的配置项,转存至每一配置服务器组的一个配置服务器。
17.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于在所述将所述目标配置服务器缓存的应用的配置项中的可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器之后,若检测到在预设时长内,未接收到第二配置服务器的发送的状态信息,确定所述第二配置服务器出现故障;
删除发送模块,用于将所述第二配置服务器的标识,从配置服务器标识列表中删除,并发送告警信息。
18.根据权利要求11-17任一项所述的装置,其特征在于,所述装置还包括:
更新模块,用于在所述将所述目标配置服务器缓存的应用的配置项中的可配置的配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器之后,根据所述目标配置服务器当前所缓存的应用的配置项,以及所述其他配置服务器当前所缓存的应用的配置项,更新预存的对应关系,其中,所述预存的对应关系包括:所述配置中心系统的配置服务器的标识与其所缓存配置项的标识的对应关系,第三配置服务器缓存有待配置应用的配置项。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
第四确定模块,用于在所述根据所述目标配置服务器当前所缓存的应用的配置项,以及所述其他配置服务器当前所缓存的应用的配置项,更新预存的对应关系之后,若接收到客户端发送的请求待配置应用的配置项的配置请求,基于所述配置请求以及更新后的所述预存的对应关系,确定出用于响应所述客户端的第三配置服务器的标识;
第五确定模块,用于基于所述第三配置服务器的标识,确定所述第三配置服务器的地址信息;
反馈模块,用于将所述第三配置服务器的地址信息反馈至所述客户端,以使所述客户端基于所述第三配置服务器的地址信息,向所述第三配置服务器请求所述待配置应用的配置项。
20.根据权利要求11-17任一项所述的装置,其特征在于,每一应用的配置项包含多个命名空间对应的配置项;
所述第一转存模块,具体用于
基于所述目标配置服务器缓存的应用的配置项中,每一命名空间对应的配置项的数据量,将所述目标配置服务器缓存的应用的配置项,均分成所述目标配置服务器组中配置服务器的数量份;
将均分后所得的每一份应用的配置项,分别缓存于所述目标配置服务器组中配置服务器。
21.一种配置中心系统,其特征在于,所述配置中心系统包括管理服务器和配置服务器;
所述配置服务器,用于向所述管理服务器发送状态信息,并缓存所述配置中心系统所支持的应用的配置项,其中,所述状态信息包括:配置服务器自身的当前剩余内存量;所述配置中心系统包括至少两个配置服务器组,每个配置服务器组中的配置服务器缓存有:配置中心系统所支持的所有的应用的配置项,且同一组配置服务器组中的配置服务器缓存有不同的配置项;
所述管理服务器,用于接收所述配置服务器发送的所述状态信息;若所述配置服务器中存在当前剩余内存量小于第一内存阈值的目标配置服务器,判断所述目标配置服务器所在目标配置服务器组中,是否存在可用配置服务器;若所述目标配置服务器所在目标配置服务器组中,不存在所述可用配置服务器,通知预设扩容系统针对所述目标配置服务器创建其他配置服务器,其中,所述预设扩容系统为:用于创建配置服务器的系统;在检测到所述其他配置服务器创建成功后,将所述目标配置服务器缓存的应用的配置项中的部分配置项,转存于针对所述目标配置服务器创建的所述其他配置服务器。
22.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-10任一所述的内存扩容方法步骤。
CN201910433665.4A 2019-05-23 2019-05-23 一种内存扩容方法、装置、配置中心系统及电子设备 Active CN110221916B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910433665.4A CN110221916B (zh) 2019-05-23 2019-05-23 一种内存扩容方法、装置、配置中心系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910433665.4A CN110221916B (zh) 2019-05-23 2019-05-23 一种内存扩容方法、装置、配置中心系统及电子设备

Publications (2)

Publication Number Publication Date
CN110221916A CN110221916A (zh) 2019-09-10
CN110221916B true CN110221916B (zh) 2021-07-20

Family

ID=67818291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910433665.4A Active CN110221916B (zh) 2019-05-23 2019-05-23 一种内存扩容方法、装置、配置中心系统及电子设备

Country Status (1)

Country Link
CN (1) CN110221916B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408313B1 (en) * 1998-12-16 2002-06-18 Microsoft Corporation Dynamic memory allocation based on free memory size
CN101371238A (zh) * 2005-03-24 2009-02-18 阿卡迈技术有限公司 按需分布式计算系统
CN103051564A (zh) * 2013-01-07 2013-04-17 杭州华三通信技术有限公司 资源动态调配的方法和装置
CN105933391A (zh) * 2016-04-11 2016-09-07 青岛海信传媒网络技术有限公司 一种节点扩容方法、装置及系统
CN106095533A (zh) * 2016-06-14 2016-11-09 中国联合网络通信集团有限公司 服务器扩容方法及装置
CN106302565A (zh) * 2015-05-12 2017-01-04 浙江格林蓝德信息技术有限公司 业务服务器的调度方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408313B1 (en) * 1998-12-16 2002-06-18 Microsoft Corporation Dynamic memory allocation based on free memory size
CN101371238A (zh) * 2005-03-24 2009-02-18 阿卡迈技术有限公司 按需分布式计算系统
CN103051564A (zh) * 2013-01-07 2013-04-17 杭州华三通信技术有限公司 资源动态调配的方法和装置
CN106302565A (zh) * 2015-05-12 2017-01-04 浙江格林蓝德信息技术有限公司 业务服务器的调度方法及系统
CN105933391A (zh) * 2016-04-11 2016-09-07 青岛海信传媒网络技术有限公司 一种节点扩容方法、装置及系统
CN106095533A (zh) * 2016-06-14 2016-11-09 中国联合网络通信集团有限公司 服务器扩容方法及装置

Also Published As

Publication number Publication date
CN110221916A (zh) 2019-09-10

Similar Documents

Publication Publication Date Title
US9608831B2 (en) Migrating a chat message service provided by a chat server to a new chat server
US7870425B2 (en) De-centralized nodal failover handling
US9367261B2 (en) Computer system, data management method and data management program
CN110830283B (zh) 故障检测方法、装置、设备和系统
CN107870726A (zh) 基于冗余机制的数据存储方法和装置、服务器
CN112671928B (zh) 设备集中管理架构、负载均衡方法、电子设备及存储介质
US11922059B2 (en) Method and device for distributed data storage
CN112073456B (zh) 分布式锁的实现方法、相关设备及系统
CN111556125B (zh) 一种访问请求分配方法、负载均衡设备及电子设备
CA2550879A1 (en) License distribution in a packet data network
CN110896382B (zh) 流量控制方法、装置、设备和计算机可读存储介质
CN109167819B (zh) 数据同步系统、方法、装置及存储介质
CN108509296B (zh) 一种处理设备故障的方法和系统
CN110221916B (zh) 一种内存扩容方法、装置、配置中心系统及电子设备
CN107846429B (zh) 一种文件备份方法、装置和系统
US20160261476A1 (en) Message system for avoiding processing-performance decline
CN109347991B (zh) 文件分发方法、装置、设备及介质
CN114448932A (zh) 地址分配方法、装置及电子设备
CN107819858B (zh) 一种在云服务动态伸缩时管理云服务的方法及装置
JP6473425B2 (ja) ノードおよびデータ配置方法
CN110958182B (zh) 一种通信方法及相关设备
CN115858419B (zh) 元数据管理方法、装置、设备、服务器及可读存储介质
CN112291288B (zh) 一种容器集群伸缩方法、装置、电子设备及可读存储介质
CN110418394B (zh) 一种ap管理方法及装置
US10783147B2 (en) Query result flow control in a network switch

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