基于分布式缓存系统的扩容方法、装置及分布式缓存系统的制作方法
【专利摘要】本发明实施例提供一种基于分布式缓存系统的扩容方法、装置及分布式缓存系统。该方法应用于包括至少一个当前物理服务器的分布式缓存系统,至少一个当前物理服务器上共设置有M个服务节点,M大于分布式缓存系统实际所需的服务节点的个数,该方法包括:获取各当前物理服务器提供的资源信息、以及各当前物理服务器上设置的服务节点所需的资源信息;根据各当前物理服务器提供的资源信息、以及各当前物理服务器上设置的服务节点所需的资源信息,在M个服务节点中确定待转移服务节点;将待转移服务节点以及待转移服务节点对应的业务数据转移至分布式缓存系统的扩容物理服务器中,用于提高分布式缓存系统向客户端提供服务的效率。
【专利说明】
基于分布式缓存系统的扩容方法、装置及分布式缓存系统
技术领域
[0001] 本发明实施例设及计算机技术领域,尤其设及一种基于分布式缓存系统的扩容方 法、装置及分布式缓存系统。
【背景技术】
[0002] 随着计算机技术的发展、W及用户对数据访问实时性的要求,分布式缓存系统得 到了广泛的应用。
[0003] 分布式缓存系统中包括存储单元和至少一个物理服务器,各物理服务器上设置有 至少一个服务节点,物理服务器用于向服务节点提供资源(如CPU资源、内存资源等),各服 务节点中保存有至少一种服务的业务数据,并根据保存的业务数据,向用户提供与业务数 据对应的服务,存储单元用于备份各服务节点中的业务数据。在现有技术中,在部署分布式 缓存系统时,通常根据实际需求在分布式缓存系统中设置物理服务器和服务节点,当分布 式缓存系统的业务量大幅度增加时,则需要在分布式缓存系统中增设物理服务器和服务节 点,将新增的服务节点设置在新增的物理服务器中,并将已有服务节点中的部分服务转移 至新增的服务节点,W使用户通过该新增的服务节点获取该部分服务,但是新增的服务节 点中并不包括该部分服务对应的业务数据,使得当新增的服务节点在首次接收到用户发送 的服务请求时,需要在存储单元中获取并保存相应的业务数据,并根据获取得到的业务数 据向用户提供服务。
[0004] 然而,在上述过程中,当新增的服务节点首次向用户提供服务时,新增的服务节点 需要先从存储单元中获取业务数据,并根据获取得到的业务数据向用户提供服务,由于从 存储单元获取业务数据需要消耗较多时长,使得新增的服务节点向用户提供服务的效率低 下。
【发明内容】
[0005] 本发明实施例提供一种基于分布式缓存系统的扩容方法、装置及分布式缓存系 统,用于提高分布式缓存系统向客户端提供服务的效率。
[0006] 第一方面,本发明实施例提供一种基于分布式缓存系统的扩容方法,应用于包括 至少一个当前物理服务器的分布式缓存系统,所述至少一个当前物理服务器上共设置有M 个服务节点,所述M大于所述分布式缓存系统实际所需的服务节点的个数,所述M为大于1的 整数,所述方法包括:
[0007] 获取各所述当前物理服务器提供的资源信息、W及各所述当前物理服务器上设置 的服务节点所需的资源信息;
[000引根据各所述当前物理服务器提供的资源信息、W及各所述当前物理服务器上设置 的服务节点所需的资源信息,在所述M个服务节点中确定待转移服务节点;
[0009]将所述待转移服务节点W及所述待转移服务节点对应的业务数据转移至所述分 布式缓存系统的扩容物理服务器中,其中,所述扩容物理服务器为当所述至少一个当前物 理服务器所提供的资源小于所述分布式缓存系统所需资源时,在所述分布式缓存系统中增 设的物理服务器。
[0010] 第二方面,本发明实施例提供一种基于分布式缓存系统的扩容装置,应用于包括 至少一个当前物理服务器的分布式缓存系统,所述至少一个当前物理服务器上共设置有M 个服务节点,所述M大于所述分布式缓存系统实际所需的服务节点的个数,所述M为大于1的 整数,所述装置包括:
[0011] 第一获取模块,用于获取各所述当前物理服务器提供的资源信息、W及各所述当 前物理服务器上设置的服务节点所需的资源信息;
[0012] 确定模块,用于根据各所述当前物理服务器提供的资源信息、W及各所述当前物 理服务器上设置的服务节点所需的资源信息,在所述M个服务节点中确定待转移服务节点;
[0013] 转移模块,用于将所述待转移服务节点W及所述待转移服务节点对应的业务数据 转移至所述分布式缓存系统的扩容物理服务器中,其中,所述扩容物理服务器为当所述至 少一个当前物理服务器所提供的资源小于所述分布式缓存系统所需资源时,在所述分布式 缓存系统中增设的物理服务器。
[0014] 第二方面,本发明实施例提供一种分布式缓存系统,包括至少一个当前物理服务 器,所述至少一个当前物理服务器上共设置有M个主服务节点;其中,
[0015] 各所述当前物理服务器用于向设置在所述当前物理服务器上的主服务节点提供 资源;
[0016] 各所述主服务节点用于向客户端提供服务,所述M大于所述分布式缓存系统实际 所需的服务节点的个数,所述M为大于1的整数。
[0017] 本发明实施例提供的基于分布式缓存系统的扩容方法、装置及分布式缓存系统, 当分布式缓存系统需要进行扩容时,根据各当前物理服务器提供的资源信息、W及各当前 物理服务器上设置的服务节点所需的资源信息,在M个服务节点中确定待转移服务节点,并 将待转移服务节点W及待转移服务节点对应的业务数据转移至分布式缓存系统的扩容物 理服务器中,在该过程中,由于在分布式缓存系统中部署的服务节点的个数大于分布式缓 存系统实际所需的服务节点的个数,因此,只需在分布式缓存系统中增设扩容物理服务器, 而无需在分布式缓存系统中增设新的服务节点,且在增设扩容物理服务器后,只需将当前 物理服务器中的待转移服务节点和待转移服务节点对应的业务数据一起转移至扩容物理 服务器中,在扩容完成后,所有的服务节点均可W直接根据各自存储的业务数据向用户提 供服务,无需向存储单元获取业务数据,缩短了向用户提供服务的时长,进而提高分布式缓 存系统向用户提供服务的效率。
【附图说明】
[0018] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可W 根据运些附图获得其他的附图。
[0019] 图1为本发明提供的分布式缓存系统的结构示意图一;
[0020] 图2为本发明提供的分布式缓存系统的结构示意图二;
[0021] 图3为本发明提供的基于分布式缓存系统的扩容方法的流程示意图;
[0022] 图4为本发明提供的转移待转移服务节点方法的流程示意图;
[0023] 图5为本发明提供的基于分布式缓存系统的扩容装置的结构示意图一;
[0024] 图6为本发明提供的基于分布式缓存系统的扩容装置的结构示意图二。
【具体实施方式】
[0025] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026] 图1为本发明提供的分布式缓存系统的结构示意图一,请参照图1,该系统包括至 少一个当前物理服务器101-1至101-N,该至少一个当前物理服务器上共设置有M个主服务 节点,其中,
[0027] 当前物理服务器用于向设置在当前物理服务器上的主服务节点提供资源,各主服 务节点用于向客户端(102-1至102-P)提供服务,M大于分布式缓存系统实际所需的主服务 节点的个数,M为大于1的整数。
[0028] 在本发明实施例中,物理服务器为可W提供资源(如CPU资源、内存资源、网卡资源 等)的服务器,可选的,物理服务器可W为电脑等计算机设备。服务节点可W向客户端提供 服务,可选的,服务节点可W为通过软件实现的计算机程序,其中,一个物理服务器上可W 设置至少一个服务节点。
[0029] 下面,对部署分布式缓存系统的过程进行详细说明。
[0030] 在部署分布式缓存系统时,先确定该分布式缓存系统需要的资源和服务节点的个 数,根据分布时缓存系统需要的资源确定当前物理服务器的性能W及个数,根据分布式缓 存系统需要的服务节点的个数,确定在分布式缓存系统中部署的实际服务节点个数,其中, 在分布式缓存系统中部署的实际服务节点个数大于分布式缓存系统需要的服务节点的个 数。
[0031] 示例性的,在部署分布式缓存系统时,假设分布式缓存系统需要1000 G内存,则可 W在分布式缓存系统中部署3个当前物理服务器,分别记为当前物理服务器1-当前物理服 务器3,当前物理服务器1的内存为300G,当前物理服务器2的内存为300G,当前物理服务器3 的内存为400G。
[0032] 假设分布式缓存系统需要的服务节点个数为3个,则可W在分布时缓存系统中部 署6个服务节点,分别记为服务节点1-服务节点6,其中,可W将服务节点1-服务节点2设置 在当前物理服务器1中,服务节点1和服务节点2共用当前物理服务器1提供的内存资源,将 服务节点3-服务节点4设置在当前物理服务器2中,服务节点3和服务节点4共用当前物理服 务器2提供的内存资源,将服务节点5-服务节点6设置在当前物理服务器3中,服务节点5和 服务节点6共用当前物理服务器3提供的内存资源。
[0033] 下面,对分布式缓存系统的工作过程进行详细说明。
[0034] 分布式缓存系统可W向客户端提供多种类型的服务,该多种类型的服务由不同的 服务节点进行处理,即,不同的服务节点对应不同类型的服务。例如,假设分布式缓存系统 共可W向客户端提供I千种服务,分别记为服务I-服务1000,在分布式缓存系统中设置有3 个服务节点,分别记为服务节点1-服务节点3,则服务节点和服务的对应关系可W如表1所 示:
[0035] 表 1
[0036]
LUUO/」 化王娩 TJViyiJT,出加??分,巧 iW 巧问 & 厂 捉'防加??分 向客户端提供服务301-服务650,由服务节点3负责向客户端提供服务651-服务1000。需要 说明的是,表1只是W示例的形式示意服务节点和服务的对应关系,并不是对服务节点和服 务的对应关系的限定,在实际应用过程中,可W根据实际需要设置服务节点和服务的对应 关系。
[0038] 在实际应用过程中,分布式缓存系统中的各服务均对应唯一的服务标识,当客户 端需要请求分布时缓存系统中的服务时,客户端向分布式缓存系统发送包括服务标识的服 务请求消息,分布式缓存系统根据服务标识与服务节点的对应关系,确定服务请求中的服 务标识对应的服务节点。
[0039] 在分布式缓存系统确定得到服务标识对应的服务节点后,分布式缓存系统获取该 服务节点的位置信息,其中,服务节点的位置信息包括服务节点所处的物理服务器的网络 地址(如IP地址)、W及服务节点在该物理服务器中的端口号,并根据服务节点的位置信息, 向该服务节点发送服务请求消息。
[0040] 在服务节点根据服务请求消息确定得到服务响应消息后,将服务相应消息发送至 相应的客户端,可选的,在服务响应消息中包括客户端的地址,分布式缓存系统根据客户端 的地址,向客户端发送该服务响应消息。
[0041] 本发明实施例提供的分布式缓存系统,包括至少一个当前物理服务器,在该至少 一个当前物理服务器上共设置有M个主服务节点,其中,M大于分布式缓存系统实际所需的 主服务节点的个数,在实际应用过程中,当分布式缓存系统的业务量增加时,由于在分布式 缓存系统中部署的主服务节点的个数大于分布式缓存系统实际所需的主服务节点的个数, 因此,只需在分布式缓存系统中增设扩容物理服务器,而无需在分布式缓存系统中增设新 的服务节点,在分布式缓存系统中增设扩容物理服务器后,将当前物理服务器中的部分主 服务节点、W及该部分主服务节点对应的业务数据转移至扩容物理服务器中。在扩容过程 中,当前物理服务器中的部分主服务节点和该主服务节点对应的业务数据一起转移至扩容 物理服务器中,在扩容完成后,所有的服务节点均可W直接根据各自存储的业务数据向用 户提供服务,无需向存储单元获取业务数据,缩短了向用户提供服务的时长,进而提高分布 式缓存系统向用户提供服务的效率。
[0042] 在图1所示实施例的基础上,为了提高分布式缓存系统向客户端提供服务的可靠 性,还可W在分布式缓存系统中设置监控模块W及与各主服务节点对应的从服务节点,进 一步,还可W在分布式缓存系统中设置代理服务器,具体的,请参照图2所示实施例。
[0043] 图2为本发明提供的分布式缓存系统的结构示意图二,在图I所示实施例的基础 上,请参照图2,
[0044] 分布式缓存系统还可W包括代理服务器103、监控模块104、W及与各主服务节点 对应的从服务节点,其中,
[0045] 代理服务器103用于,接收客户端发送的包括服务标识的服务请求消息,并将服务 请求消息通过服务标识对应的当前物理服务器,发送至服务标识对应的主服务节点;代理 服务器103还可W用于,接收各主服务节点发送的服务响应消息,并将服务响应消息发送至 服务响应消息对应的客户端;
[0046] 各从服务节点用于,实时保存主服务节点上的业务数据;
[0047] 监控模块104用于,获取各主服务节点的工作状态,在主服务节点的工作状态为异 常状态时,将工作状态为异常状态的主服务器对应的从服务器设置为主服务器,并生成故 障提醒消息。
[0048] 在图2所示实施例中,每一主服务节点至少对应一个从服务节点,从服务节点会实 时同步获取并保存主服务节点中的数据,当主服务节点出现故障时,可W通过从服务节点 获取主服务节点中的数据,进一步提高了分布式缓存系统向客户端提供服务的可靠性。需 要说明的是,在实际应用过程中,可W根据实际需要设置主服务节点对应的从服务节点的 个数,本发明对此不做具体限定。
[0049] 在实际应用过程中,监控模块实时监控主服务节点的工作状态,当监控模块确定 主服务节点的工作状态异常时,生成故障提醒消息,W使管理员对出现故障的主服务节点 进行故障维护,进一步的,监控模块还可W将出现故障的主服务节点对应的从服务节点设 置为主服务节点,W使该从服务节点替代该出现故障的主服务器工作,进一步提高了分布 式缓存系统向客户端提供服务的可靠性。
[0050] 可选的,监控模块可W通过如下可行的方式将出现故障的主服务节点对应的从服 务节点设置为主服务节点:监控模块向代理服务器发送设置变更请求,该设置变更请求中 包括服务标识、该服务标识对应的出现故障的主服务节点的标识、W及出现故障的主服务 节点对应的从服务节点的标识,当代理服务器接收到设置变更请求后,代理服务器将设置 变更请求中的服务标识对应的主服务节点修改为出现故障的主服务节点对应的从服务节 点。
[0051] 示例性的,假设主服务节点1的从服务节点为从服务节点1,主服务节点1处理的服 务为:服务1-服务100,当监控模块确定主服务节点1的工作状态为异常状态时,监控模块向 代理服务发送设置变更请求,该设置变更请求中包括:服务1-服务100、主服务节点1、W及 从服务节点1,则代理服务器将服务1-服务100对应的主服务节点修改为从服务节点1,W使 从服务节点1代替主服务节点1提供服务1-服务100。
[0052] 在图1-图2任意实施例的基础上,当分布式缓存系统需要进行扩容时,可W通过如 下可行的实现方式进行扩容,具体的,请参见图3所示实施例。
[0053] 图3为本发明提供的基于分布式缓存系统的扩容方法的流程示意图,该方法应用 于图1-图2任意实施例所示的分布式缓存系统,请参照图3,该方法可W包括:
[0054] S301、获取各当前物理服务器提供的资源信息、W及各当前物理服务器上设置的 服务节点所需的资源信息;
[0055] S302、根据各当前物理服务器提供的资源信息、W及各当前物理服务器上设置的 服务节点所需的资源信息,在M个服务节点中确定待转移服务节点;
[0056] S303、将待转移服务节点W及待转移服务节点对应的业务数据转移至分布式缓存 系统的扩容物理服务器中;
[0057] 其中,扩容物理服务器为当至少一个当前物理服务器所提供的资源小于分布式缓 存系统所需资源时,在分布式缓存系统中增设的物理服务器。
[0058] 该方法的执行主体可W为基于分布式缓存系统的扩容装置(下文简称扩容装置), 该扩容装置可W与分布式缓存系统中的各物理服务器、W及各服务节点进行通信。
[0059] 在图3所示实施例中,分布式缓存系统中设置有至少与一个当前物理服务器,每一 个当前物理服务器上设置有至少一个服务节点,在所有的当前物理服务器上一共设置有M 个服务节点,其中,M为大于1的整数,且M大于分布式缓存系统实际所需的服务节点的个数。
[0060] 当分布式缓存系统的业务量增加,使得分布式缓存系统中的当前物理服务器提供 的资源小于分布式缓存系统所需资源时,在分布式缓存系统中增设至少一个扩容物理服务 器,并在当前物理服务器中设置的M个服务节点中确定待转移节点,具体的:根据当前物理 服务器提供的资源信息、W及当前物理服务器上设置的服务节点所需的资源信息,确定各 当前物理服务器的资源占用比,资源占用比为当前物理服务器上的服务节点所需的资源与 当前物理服务器提供的资源的比值;根据各当前物理服务器的资源占用比,在M个服务节点 中确定待转移服务节点,W使在将待转移节点转移至扩容物理服务器后,各当前物理服务 器的资源占用比、扩容物理服务器的资源占用比的方差最小。
[0061] 下面,通过具体示例,对图3实施例所示的方法进行详细说明。
[0062] 示例性的,在部署分布式缓存系统时,假设分布式缓存系统一共需要1500G内存、 W及3个服务节点,各服务节点可处理的最大业务数据量为400G,即各服务节点所需的最大 内存为400G,则根据上述业务需求在分布式缓存系统中部署了 3个当前物理服务器和6个服 务节点,各当前物理服务器的内存W及当前物理服务器与各服务节点的对应关系如表2所 述:
[0063] 表 2
[0064]
[0065] 当分布式缓存系统的业务量增加,根据实际需要在分布式缓冲系统中增设一个扩 容物理服务器,该扩容物理服务器的内容为800G,为了使得当前物理服务器I-当前物理服 务器3的资源占用比、W及扩容物理服务器的资源占用比的方差最小,将当前物理服务器3 中的一个服务节点(服务节点5或服务节点6)确定为待转移服务节点,将当前物理服务器2 中的一个服务节点(服务节点3或服务节点4)确定为待转移服务节点,在确定得到待转移服 务节点后,将待转移服务节点核待转移服务节点中的业务数据转移至扩容物理服务器中, 服务节点转移后的资源分配情况如表3所示:
[0066] 表 3
[0067]
[0068] 在上述过程中,根据各当前物理服务器的资源占用比,在M个服务节点中确定待转 移服务节点,W使在将待转移节点转移至扩容物理服务器后,各当前物理服务器的资源占 用比、扩容物理服务器的资源占用比的方差最小,可W保证分布式缓存系统中的服务节点 均匀的分配各物理服务器提供的资源,使得各服务节点在分布时缓存系统中可W具备最佳 的通信性能。
[0069] 本发明实施例提供的基于分布式缓存系统的扩容方法,当分布式缓存系统需要进 行扩容时,根据各当前物理服务器提供的资源信息、W及各当前物理服务器上设置的服务 节点所需的资源信息,在M个服务节点中确定待转移服务节点,并将待转移服务节点W及待 转移服务节点对应的业务数据转移至分布式缓存系统的扩容物理服务器中,在该过程中, 由于在分布式缓存系统中部署的服务节点的个数大于分布式缓存系统实际所需的服务节 点的个数,因此,只需在分布式缓存系统中增设扩容物理服务器,而无需在分布式缓存系统 中增设新的服务节点,且在增设扩容物理服务器后,只需将当前物理服务器中的待转移服 务节点和待转移服务节点对应的业务数据一起转移至扩容物理服务器中,在扩容完成后, 所有的服务节点均可W直接根据各自存储的业务数据向用户提供服务,无需向存储单元获 取业务数据,缩短了向用户提供服务的时长,进而提高分布式缓存系统向用户提供服务的 效率。
[0070] 在图3所示实施例的基础上,可W通过如下可行的实现方式,将待转移服务节点W 及待转移服务节点对应的业务数据转移至扩容物理服务器(图3所示实施例中的S303),具 体的,请参见图4所示实施例。
[0071] 图4为本发明提供的转移待转移服务节点方法的流程示意图,请参照图4,该方法 可W包括:
[0072] S401、获取分布式缓存系统中包括的扩容物理服务器的个数;
[0073] S402、判断扩容物理服务器的个数是否大于1;
[0074] 若否,执行S403;
[00巧]若是,执行S404-S405;
[0076] S403、将待转移服务节点转移至分布式缓存系统的扩容物理服务器;
[0077] S404、根据各当前物理服务器的资源占用比、W及各扩容物理服务器提供的资源, 确定各扩容物理服务器与各待转移服务节点的对应关系;
[0078] S405、根据对应关系将待转移节点转移至扩容物理服务器;
[0079] 其中,根据对应关系将待转移节点转移至扩容物理服务器后,各当前物理服务器 的资源占用比、扩容物理服务器的资源占用比的方差最小。
[0080] 在图4所示的实施例中,当分布式缓存系统需要进行扩容时,在分布式缓存系统中 增设至少一个扩容物理服务器,在确定得到至少一个待转移服务节点后,获取在分布式缓 存系统中增设的扩容物理服务器的个数,并判断扩容物理服务器的个数是否大于1,若否, 则扩容物理服务器的个数为1,则在直接将待转移服务节点转移至分布式缓存系统的扩容 物理服务器,若扩容物理服务器的个数大于1,则确定扩容物理服务器与各待转移服务节点 的对应关系,并根据对应关系将待转移节点转移至扩容物理服务器;其中,根据对应关系将 待转移节点转移至扩容物理服务器后,各当前物理服务器的资源占用比、扩容物理服务器 的资源占用比的方差最小。
[0081 ]下面,通过具体示例,对图4实施例所示的方法进行详细说明。
[0082] 示例性的,假设在分布式缓存系统进行扩容前,包括3个当前物理服务器和9个服 务节点,各服务节点可处理的最大业务数据量为400G,即各服务节点所需的最大内存为 400G,各当前物理服务器、各当前物理服务器的内存、各当前物理服务器与服务节点的对应 关系如表4所示:
[0083] 表 4
[0084]
[0085]再假设在分布式缓存系统中增设了两个扩容物理服务器,扩容物理服务器I的内 存分别为500G,扩容物理服务器2的内存分别为1000G,在服务节点中确定得到5个待转移服 务节点,分别为当前物理服务器1中的任意一个服务节点、当前物理服务器2中的任意两个 服务节点、和当前物理服务器3中的任意两个服务节点,则可W确定待转移服务节点和扩容 物理服务器的对应关系可W如表5所示:
[00化]表5
[0087]
[0088] 需要说明的是,表5只是W示例的形式示意出扩容物理服务器和待转移服务节点 的对应关系,并不是对该对应关系的限定。扩容物理服务器1对应待转移服务节点中的任意 两个即可,相应的,扩容物理服务器2对应待转移服务节点中的其他=个待转移服务节点。
[0089] 根据待转移服务节点和扩容物理服务器的对应关系,将待转移服务节点转移至扩 容物理服务器后,各物理服务器、各物理服务器的内存、各物理服务器与服务节点的对应关 系如表6所示:
[0090] 表 6
[广',
[0092] 在上述过程中,根据各当前物理服务器的资源占用比、W及各扩容物理服务器提 供的资源,确定各扩容物理服务器与各待转移服务节点的对应关系,W使根据对应关系将 待转移节点转移至扩容物理服务器后,各当前物理服务器的资源占用比、扩容物理服务器 的资源占用比的方差最小,可W保证分布式缓存系统中的服务节点均匀的分配各物理服务 器提供的资源,使得各服务节点在分布时缓存系统中可W具备最佳的通信性能。
[0093] 在图3-图4所示实施例的基础上,在将待转移服务节点W及待转移服务节点对应 的业务数据转移至分布式缓存系统的扩容物理服务器中之后,获取待转移节点对应的扩容 物理服务器的网络地址、W及待转移服务节点在扩容物理服务器中的网络端口;根据待转 移节点对应的扩容物理服务器的网络地址、W及待转移服务节点在扩容物理服务器中的网 络端口,对待转移服务节点的地址进行配置;其中,扩容物理服务器的网络地址可W为扩容 物理服务器的IP地址、MC地址等。
[0094] 图5为本发明提供的基于分布式缓存系统的扩容装置的结构示意图一,该装置应 用于包括至少一个当前物理服务器的分布式缓存系统,至少一个当前物理服务器上共设置 有M个服务节点,M大于分布式缓存系统实际所需的服务节点的个数,M为大于1的整数,装置 包括:
[00M]第一获取模块501,用于获取各当前物理服务器提供的资源信息、W及各当前物理 服务器上设置的服务节点所需的资源信息;
[0096] 确定模块502,用于根据各当前物理服务器提供的资源信息、W及各当前物理服务 器上设置的服务节点所需的资源信息,在M个服务节点中确定待转移服务节点;
[0097] 转移模块503,用于将待转移服务节点W及待转移服务节点对应的业务数据转移 至分布式缓存系统的扩容物理服务器中,其中,扩容物理服务器为当至少一个当前物理服 务器所提供的资源小于分布式缓存系统所需资源时,在分布式缓存系统中增设的物理服务 器。
[0098] 在实际应用过程中,确定模块502具体可W用于:
[0099] 获取各当前物理服务器的资源占用比,资源占用比为当前物理服务器上的服务节 点所需的资源与当前物理服务器提供的资源的比值;
[0100] 根据各当前物理服务器的资源占用比,在M个服务节点中确定待转移服务节点,W 使在将待转移节点转移至扩容物理服务器后,各当前物理服务器的资源占用比、扩容物理 服务器的资源占用比的方差最小。
[0101] 可选的,转移模块503具体可W用于:
[0102] 获取分布式缓存系统中包括的扩容物理服务器的个数;
[0103] 判断扩容物理服务器的个数是否大于1;
[0104] 若判断结果为否,则将待转移服务节点转移至分布式缓存系统的扩容物理服务 器;
[0105] 若判断结果为是,根据各当前物理服务器的资源占用比、W及各扩容物理服务器 提供的资源,确定各扩容物理服务器与各待转移服务节点的对应关系,并根据对应关系将 待转移节点转移至扩容物理服务器;其中,根据对应关系将待转移节点转移至扩容物理服 务器后,各当前物理服务器的资源占用比、扩容物理服务器的资源占用比的方差最小。
[0106] 图6为本发明提供的基于分布式缓存系统的扩容装置的结构示意图二,在图5所示 实施例的基础上,请参见图6,该装置还包括第二获取模块504和配置模块505,
[0107] 第二获取模块504用于,在转移模块503将待转移服务节点W及待转移服务节点对 应的业务数据转移至分布式缓存系统的扩容物理服务器中之后,获取待转移节点对应的扩 容物理服务器的网络地址、W及待转移服务节点在扩容物理服务器中的网络端口;
[0108] 配置模块505用于,根据待转移节点对应的扩容物理服务器的网络地址、W及待转 移服务节点在扩容物理服务器中的网络端口,对待转移服务节点的目的地址进行配置。
[0109] 本发明提供的分布式缓存系统的扩容装置可W执行上述图3-图4实施例所示的技 术方案,其实现原理W及有益效果类似,此处不再进行寶述。
[0110] 本领域普通技术人员可W理解:实现上述各方法实施例的全部或部分步骤可W通 过程序指令相关的硬件来完成。前述的程序可W存储于一计算机可读取存储介质中。该程 序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R〇M、RAM、磁碟或 者光盘等各种可W存储程序代码的介质。
[0111] 最后应说明的是:W上各实施例仅用W说明本发明的技术方案,而非对其限制;尽 管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依 然可W对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进 行等同替换;而运些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术 方案的范围。
【主权项】
1. 一种基于分布式缓存系统的扩容方法,其特征在于,应用于包括至少一个当前物理 服务器的分布式缓存系统,所述至少一个当前物理服务器上共设置有Μ个服务节点,所述Μ 大于所述分布式缓存系统实际所需的服务节点的个数,所述Μ为大于1的整数,所述方法包 括: 获取各所述当前物理服务器提供的资源信息、以及各所述当前物理服务器上设置的服 务节点所需的资源信息; 根据各所述当前物理服务器提供的资源信息、以及各所述当前物理服务器上设置的服 务节点所需的资源信息,在所述Μ个服务节点中确定待转移服务节点; 将所述待转移服务节点以及所述待转移服务节点对应的业务数据转移至所述分布式 缓存系统的扩容物理服务器中,其中,所述扩容物理服务器为当所述至少一个当前物理服 务器所提供的资源小于所述分布式缓存系统所需资源时,在所述分布式缓存系统中增设的 物理服务器。2. 根据权利要求1所述的方法,其特征在于,所述根据所述当前物理服务器提供的资源 信息、以及所述当前物理服务器上设置的服务节点所需的资源信息,在所述Μ个服务节点中 确定待转移服务节点,包括: 根据所述当前物理服务器提供的资源信息、以及所述当前物理服务器上设置的服务节 点所需的资源信息,确定各所述当前物理服务器的资源占用比,所述资源占用比为所述当 前物理服务器上的服务节点所需的资源与所述当前物理服务器提供的资源的比值; 根据各所述当前物理服务器的资源占用比,在所述Μ个服务节点中确定待转移服务节 点,以使在将所述待转移节点转移至所述扩容物理服务器后,各所述当前物理服务器的资 源占用比、所述扩容物理服务器的资源占用比的方差最小。3. 根据权利要求2所述的方法,其特征在于,所述将所述待转移服务节点以及所述待转 移服务节点对应的业务数据转移至所述分布式缓存系统的扩容物理服务器中,包括: 获取所述分布式缓存系统中包括的扩容物理服务器的个数; 判断所述扩容物理服务器的个数是否大于1; 若判断结果为否,则将所述待转移服务节点转移至所述分布式缓存系统的扩容物理服 务器; 若判断结果为是,根据各当前物理服务器的资源占用比、以及各扩容物理服务器提供 的资源,确定各所述扩容物理服务器与各所述待转移服务节点的对应关系,并根据所述对 应关系将所述待转移节点转移至所述扩容物理服务器;其中,根据所述对应关系将所述待 转移节点转移至所述扩容物理服务器后,各所述当前物理服务器的资源占用比、所述扩容 物理服务器的资源占用比的方差最小。4. 根据权利要求1-3任一项所述的方法,其特征在于,所述将所述待转移服务节点以及 所述待转移服务节点对应的业务数据转移至所述分布式缓存系统的扩容物理服务器中之 后,还包括: 获取待转移节点对应的扩容物理服务器的网络地址、以及所述待转移服务节点在所述 扩容物理服务器中的网络端口; 根据所述待转移节点对应的扩容物理服务器的网络地址、以及所述待转移服务节点在 所述扩容物理服务器中的网络端口,对所述待转移服务节点的地址进行配置。5. -种基于分布式缓存系统的扩容装置,其特征在于,应用于包括至少一个当前物理 服务器的分布式缓存系统,所述至少一个当前物理服务器上共设置有Μ个服务节点,所述Μ 大于所述分布式缓存系统实际所需的服务节点的个数,所述Μ为大于1的整数,所述装置包 括: 第一获取模块,用于获取各所述当前物理服务器提供的资源信息、以及各所述当前物 理服务器上设置的服务节点所需的资源信息; 确定模块,用于根据各所述当前物理服务器提供的资源信息、以及各所述当前物理服 务器上设置的服务节点所需的资源信息,在所述Μ个服务节点中确定待转移服务节点; 转移模块,用于将所述待转移服务节点以及所述待转移服务节点对应的业务数据转移 至所述分布式缓存系统的扩容物理服务器中,其中,所述扩容物理服务器为当所述至少一 个当前物理服务器所提供的资源小于所述分布式缓存系统所需资源时,在所述分布式缓存 系统中增设的物理服务器。6. 根据权利要求5所述的装置,其特征在于,所述确定模块具体用于: 获取各所述当前物理服务器的资源占用比,所述资源占用比为所述当前物理服务器上 的服务节点所需的资源与所述当前物理服务器提供的资源的比值; 根据各所述当前物理服务器的资源占用比,在所述Μ个服务节点中确定待转移服务节 点,以使在将所述待转移节点转移至所述扩容物理服务器后,各所述当前物理服务器的资 源占用比、所述扩容物理服务器的资源占用比的方差最小。7. 根据权利要求6所述的装置,其特征在于,所述转移模块具体用于: 获取所述分布式缓存系统中包括的扩容物理服务器的个数; 判断所述扩容物理服务器的个数是否大于1; 若判断结果为否,则将所述待转移服务节点转移至所述分布式缓存系统的扩容物理服 务器; 若判断结果为是,根据各当前物理服务器的资源占用比、以及各扩容物理服务器提供 的资源,确定各所述扩容物理服务器与各所述待转移服务节点的对应关系,并根据所述对 应关系将所述待转移节点转移至所述扩容物理服务器;其中,根据所述对应关系将所述待 转移节点转移至所述扩容物理服务器后,各所述当前物理服务器的资源占用比、所述扩容 物理服务器的资源占用比的方差最小。8. -种分布式缓存系统,其特征在于,包括至少一个当前物理服务器,所述至少一个当 前物理服务器上共设置有Μ个主服务节点;其中, 各所述当前物理服务器用于向设置在所述当前物理服务器上的主服务节点提供资源; 各所述主服务节点用于向客户端提供服务,所述Μ大于所述分布式缓存系统实际所需 的服务节点的个数,所述Μ为大于1的整数。9. 根据权利要求8所述的系统,其特征在于,所述系统还包括扩容物理服务器,其中,所 述扩容物理服务器上设置有从所述当前物理服务器转移至所述扩容服务器中的主服务节 点、以及所述主服务节点对应的业务数据,所述扩容物理服务器为当所述至少一个当前物 理服务器所提供的资源小于所述分布式缓存系统所需资源时,在所述分布式缓存系统中增 设的物理服务器。10. 根据权利要求8或9所述的系统,其特征在于,所述系统还包括代理服务器、监控模 块、以及与各所述主服务节点对应的从服务节点,其中, 所述代理服务器用于,接收客户端发送的包括服务标识的服务请求消息,并将所述服 务请求消息通过所述服务标识对应的当前物理服务器,发送至所述服务标识对应的主服务 节点;所述代理服务器还用于,接收各所述主服务节点发送的服务响应消息,并将所述服务 响应消息发送至所述服务响应消息对应的客户端; 所述从服务节点用于,实时保存主服务节点上的业务数据; 所述监控模块用于,获取各所述主服务节点的工作状态,在所述主服务节点的工作状 态为异常状态时,将工作状态为异常状态的主服务器对应的从服务器设置为主服务器,并 生成故障提醒消息。
【文档编号】H04L29/08GK105847352SQ201610166262
【公开日】2016年8月10日
【申请日】2016年3月22日
【发明人】吴连朋, 于芝涛
【申请人】青岛海信传媒网络技术有限公司