负载均衡方法和装置的制造方法

文档序号:10555703阅读:396来源:国知局
负载均衡方法和装置的制造方法
【专利摘要】本发明公开了一种负载均衡方法和装置。其中,该方法包括:根据访问请求,获取指示信息和指示信息所指示的第一处理节点,其中,第一处理节点为多个集群节点中的一个;若第一处理节点处于不可用状态,则在节点文件中指示信息所指向的区域内,依序查找多个集群节点中处于可用状态的第二处理节点,其中,节点文件包含多个用于记录多个集群节点的区域,不同区域按照不同的顺序记录多个集群节点;将访问请求发送至第二处理节点。本发明解决了在集群中的服务器出现故障时,集群服务器负载不均的技术问题。
【专利说明】
负载均衡方法和装置
技术领域
[0001] 本发明涉及互联网领域,具体而言,涉及一种负载均衡方法和装置。
【背景技术】
[0002] 网络游戏或者其它应用的后台系统在面对海量请求的时候都会遇到单机服务能 力不足的情况,此时就需要通过负载均衡服务把请求按照一定的策略分散发送给多台服务 器,这种策略就是负载均衡。现有的负载均衡方式有:随机,轮寻,哈希以及一致性哈希等策 略,这些策略在遇到服务器扩容或者故障的情况时都存在一些不足。
[0003] 具体地,若采用哈希策略,每台机器负责的数据段大小不相同,当一个服务器宕机 时,需要由剩余的机器提供所有的数据服务,重新确定服务器与负责的数据段之间的对应 关系,这样需要在不同的服务器之间大量迀移数据;若采用一致性哈希策略,所有的数据映 射成一组大于服务器数量的虚拟节点,虚拟节点再映射到真实的服务器,当服务器宕机时, 需将宕机节点的数据迀移至剩余的机器中的一台机器上,也就是说,某一台机器宕机,则剩 余的机器中有一台机器将承受一倍的压力,造成负载的严重不均衡。
[0004] 针对上述在集群中的服务器出现故障时,集群服务器负载不均的问题,目前尚未 提出有效的解决方案。

【发明内容】

[0005] 本发明实施例提供了一种负载均衡方法和装置,以至少解决在集群中的服务器出 现故障时,集群服务器负载不均的技术问题。
[0006] 根据本发明实施例的一个方面,提供了一种负载均衡方法,该方法包括:根据访问 请求,获取指示信息和指示信息所指示的第一处理节点,其中,第一处理节点为多个集群节 点中的一个;若第一处理节点处于不可用状态,则在节点文件中指示信息所指向的区域内, 依序查找多个集群节点中处于可用状态的第二处理节点,其中,节点文件包含多个用于记 录多个集群节点的区域,不同区域按照不同的顺序记录多个集群节点;将访问请求发送至 第二处理节点。
[0007] 根据本发明实施例的另一方面,还提供了一种获取单元,用于根据访问请求,获取 指示信息和指示信息所指示的第一处理节点,其中,第一处理节点为多个集群节点中的一 个;查找单元,用于若第一处理节点处于不可用状态,则在节点文件中指示信息所指向的区 域内,依序查找多个集群节点中处于可用状态的第二处理节点,其中,节点文件包含多个用 于记录多个集群节点的区域,不同区域按照不同的顺序记录多个集群节点;发送单元,用于 将访问请求发送至第二处理节点。
[0008] 在本发明实施例中,在根据访问请求确定的第一处理节点不可用时,可以从确定 该第一处理节点的指示信息指向的区域内,依序查找到一个处于可用状态的第二处理节 点,通过该第二处理节点处理该访问请求。由于节点文件中包含的不同区域按照不同的顺 序记录多个集群节点,若用于指示第一处理节点的指示信息指向了不同的区域,则可以获 取到不同的第二处理节点,也即若第一处理节点故障,可以将原本由第一处理节点的不同 访问请求分配至不同的第二服务器,从而解决了在集群中的服务器出现故障时,集群服务 器负载不均的问题,以在第一处理节点处于不可用状态时,平衡多个集群节点中各个处理 节点的负载。
【附图说明】
[0009] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0010] 图1是根据本发明实施例的一种应用环境示意图;
[0011] 图2是根据本发明实施例的一种可选的负载均衡方法的流程图;
[0012] 图3是根据本发明实施例的另一种可选的负载均衡方法的流程图;
[0013] 图4是根据本发明实施例的第一种可选的节点文件包含的矩阵的示意图;
[0014] 图5是根据图4所示实施例的第一种可选的负载分配情况的示意图;
[0015] 图6是根据本发明实施例的第二种可选的节点文件包含的矩阵的示意图;
[0016] 图7是根据图6所示实施例的第二种可选的负载分配情况的示意图;
[0017] 图8是根据本发明实施例的第三种可选的节点文件包含的矩阵的示意图;
[0018] 图9是根据图8所示实施例的第三种可选的负载分配情况的示意图;
[0019] 图10是根据本发明实施例的负载均衡装置的示意图;以及
[0020] 图11是根据本发明实施例的终端或服务器的结构框图。
【具体实施方式】
[0021] 为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的 附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是 本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人 员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范 围。
[0022] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语"第一"、"第 二"等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用 的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或 描述的那些以外的顺序实施。此外,术语"包括"和"具有"以及他们的任何变形,意图在于覆 盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于 清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品 或设备固有的其它步骤或单元。
[0023] 首先对本申请涉及的术语解释如下:
[0024]负载均衡:英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执 行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同 完成工作任务。
[0025]扩容:在本申请实施例中,扩容指服务器处理能力的扩大。
[0026]哈希(Hash):哈希算法也叫散列算法,一般来说满足这样的关系:f (data) =key, 输入任意长度的data数据,经过哈希算法处理后输出一个定长的数据key。同时这个过程是 不可逆的,无法由key逆推出data。
[0027] 实施例1
[0028] 根据本发明实施例,提供了一种负载均衡方法,,该方法可以用于如图1所示的环 境中,该环境可以包括硬件环境和网络环境。
[0029] 在本实施例中,该方法可以应用于如图1所示的多个集群节点和终端构成的硬件 环境中。如图1所示,该多个集群节点101中可以包括多个处理节点,该多个集群节点对外作 为一个整体,用于处理从终端103发送过来的访问请求。具体地,多个集群节点101通过网络 与终端103通过集群服务器105(或者称之为负载均衡服务器)进行连接,上述网络包括但不 限于:广域网、城域网或局域网。
[0030] 需要说明的是,上述的多个集群节点可以为服务器侧的集群,也可以是客户端侧 的集群,本申请对此不做限定。
[0031] 下面结合图2对本申请的负载均衡方法进行详细描述,如图2所示,该方案可以通 过如下方案实现:
[0032]步骤S202:根据访问请求,获取指示信息和指示信息所指示的第一处理节点,其 中,第一处理节点为多个集群节点中的一个。
[0033]步骤S204:若第一处理节点处于不可用状态,则在节点文件中指示信息所指向的 区域内,依序查找多个集群节点中处于可用状态的第二处理节点,其中,节点文件包含多个 用于记录多个集群节点的区域,不同区域按照不同的顺序记录多个集群节点;
[0034]步骤S206:将访问请求发送至第二服务器。
[0035] 通过上述实施例,在根据访问请求确定的第一处理节点不可用时,可以从确定该 第一处理节点的指示信息指向的区域内,依序查找到一个处于可用状态的第二处理节点, 通过该第二处理节点处理该访问请求。由于节点文件中包含的不同区域按照不同的顺序记 录多个集群节点,若用于指示第一处理节点的指示信息指向了不同的区域,则可以获取到 不同的第二处理节点,也即若第一处理节点故障,可以将原本由第一处理节点的不同访问 请求分配至不同的第二服务器,从而解决了在集群中的服务器出现故障时,集群服务器负 载不均的问题,以在第一处理节点处于不可用状态时,平衡多个集群节点中各个处理节点 的负载。
[0036] 上述实施例中的多个集群节点可以为位于服务器侧的集群,也可以为位于客户端 侦啲集群,本申请对此不做限定。例如,该多个集群节点位于服务器侧时多个集群节点构成 一个组,一个终端与多个集群节点相互作用时,多个集群节点对于终端来讲是一个独立的 服务器,在接收到终端的流量(包含多个访问请求)时,多个集群节点包含的多个处理节点, 每个处理节点都可以承担一部分的处理负载(即上述的访问请求),并且可以实现处理负载 在节点之间的动态分配。
[0037] 在本申请实施例中,以多个集群节点在服务器侧为例详述本发明实施例。可以预 先设置节点文件,该节点文件包含多个用于记录多个集群节点的区域,不同区域按照不同 的顺序记录多个集群节点。可选地,每个区域中记录有多个集群节点中所有处理节点的信 息,且每个区域中记录处理节点的顺序各不相同。
[0038] 根据上述实施例,在接收到终端流量之后,对终端流量中的每个访问请求均可以 执行上述操作,具体地,可以根据访问请求获取指示信息,该指示信息用于指示处理该访问 请求的多个集群节点中的处理节点,确定该指示信息所指示的多个集群节点中的第一处理 节点(如集群中的第一服务器),需要说明的是,一个指示信息指向唯一的一个处理节点,这 里的唯一指的是记录在一个区域中的一个处理节点。
[0039] 在获取用于处理访问请求的第一处理节点之后,可以获取第一处理节点的状态, 若第一处理节点处于可用状态,则直接将访问请求转发至第一服务器;若第一处理节点处 于不可用状态,则在节点文件中指示信息所指向的区域内,依序查找多个集群节点中处于 可用状态的第二处理节点,将访问请求发送至该查找到的第二处理节点。
[0040] 其中,可用状态是指第一处理节点可以正常处理访问请求的状态,如该第一处理 节点的处理访问请求的服务开启、且该第一处理节点可以正常收发信息的状态,正常收发 信息是指收发信息不超时的情况。
[0041] 其中的不可用状态是指第一处理节点无法处理访问请求的状态,如,该第一处理 节点的处理访问请求的服务关闭、或者该第一处理节点失去心跳的状态,失去心跳指的是 超时未响应,也即,第一处理节点超过预定时间未对心跳信号进行响应。
[0042] 可选地,心跳信号可以是接收访问请求的负载均衡服务器发送第一处理节点的。
[0043] 下面以处理节点为服务器为例,详述上述实施例:
[0044] 负载均衡服务器接收客户端发送的访问请求,根据访问请求确定指示信息,并获 取指示信息所指示的第一服务器,获取第一服务器的状态,若第一服务器处于可用状态,则 将访问请求发送给第一服务器;若第一服务器处于不可用状态,则基于指示信息确定第二 服务器,将访问请求发送给处于可用状态的第二服务器。
[0045] 根据本发明上述实施例,在节点文件中指示信息所指向的区域内,依序查找多个 集群节点中处于可用状态的第二处理节点可以包括:以第一处理节点为基准,依序查找指 示信息所指向的区域中处于可用状态的第二处理节点。
[0046] 在上述实施例中,节点文件中记录有多个集群节点中各个处理节点的标识信息, 如处理节点的ID、或者处理节点的编号等,本申请对各个处理节点的标识信息的表现形式 不做具体限定。在查找第二处理节点的过程中,查找到的也是第二处理节点的标识信息,由 于该标识信息与处理节点具有一一对应的关系,因此,查找到标识信息,也即查找到处理节 点。
[0047]在本申请中并未对处理节点和处理节点的标识信息作明确区分,在上述实施例中 限定的在节点文件中查找第二处理节点,实际上查找到的是标识信息,然后将访问请求发 送至标识信息所对应的第二处理节点。
[0048]可选地,可以在节点文件中指示信息所对应的区域内,以记录第一处理节点的标 识信息的位置为基准,依序查找第一个处于可用状态的标识信息,则确定查找到第二处理 节点(与该查找到的第一个处于可用状态的标识信息对应的处理节点)。
[0049] 通过上述实施例,由于以第一处理节点为基准,可以减少在指示信息所指向的区 域内不必要的查找工作,例如,以第一处理节点为基准,依序查找,则不必对该区域内的所 有处理节点进行状态判定,减少了查找的工作量。
[0050] 具体地,以第一处理节点为基准,依序查找指示信息所指向的区域中处于可用状 态的第二处理节点可以包括:从第一处理节点开始,在指示信息所指向的区域内按照预定 顺序,查找第一个处于可用状态的第二处理节点,其中,在查找的过程中,若第一处理节点 至最后一个处理节点均处于不可用状态,则从指示信息所指向的区域中的第一个处理节点 开始,按照预定顺序重新查找第二处理节点。
[0051]根据本发明的上述实施例,在每个区域中按照一定的顺序记录多个集群节点,也 即,在不同区域中第一处理节点的标识信息所在的位置不同,在第一处理节点处于不可用 状态时,可以从该第一处理节点的标识信息所在的位置开始,按照预定顺序向前或者向后 查找处于可用状态的处理节点。
[0052]进一步地,若在以该第一处理节点为开始的预定顺序上的所有处理节点均处于不 可用状态,则从该区域中的第一个处理节点开始重新查找。
[0053] 例如,节点文件包含的区域可以按照序列的方式存储多个集群节点,如表1所示, 该表可以存储在文件节点中。
[0054] 表 1
[0056]如表1所示的示例中,多个集群节点包含四个处理节点,假设该四个处理节点的ID 分别为:1、2、3和4。在该示例中,利用处理节点的ID记录处理节点,也即在表1中序列中的阿 拉伯数字为处理节点的ID,该阿拉伯数字用于表示对应的处理节点。该实例中的节点文件 中包含3个区域,每个区域按照一种顺序记录多个集群节点。
[0057]采用上述实施例中的负载均衡方法,在接收到访问请求之后,确定出的指示信息 可以为位置信息,位置信息对应节点文件中的一个区域中的处理节点,与该位置信息对应 的处理节点即为指示信息所指示的第一处理节点,指示信息可以唯一确定一个处理节点。 如,指示信息为第一个区域中的第三个处理节点,则得到的第一处理节点的ID为3,若该第 一处理节点处于不可用状态,则从"3"开始,按照预定顺序查找第一个处于可用状态的处理 节点,若预定顺序为"从左到右",则查找顺序为3-4,若"4"表示的处理节点处于不可用状 态,则在从"3"开始的预定顺序上的所有处理节点(处理节点3和4)均处于不可用状态,则可 以从该序列的第一个处理节点开始重新查找,也即,从"Γ开始重新查找,直至查找到处于 可用状态的处理节点,假设该四个处理节点中的处理节点1和2处于可用状态,则查找路径 为:3一4一1 〇
[0058]又如,指示信息指向了第二个区域的第二位置,则确定出的第一处理节点为处理 节点"3",在这个方案中,虽然指示信息指向的仍然是处理节点"3",但是此"3"非彼"3",虽 然标识信息"3"指向同一个处理节点,但是这两个标识信息处于不同的区域。假设该四个处 理节点中的处理节点1和处理节点2处于可用状态,处理节点3和处理节点4处于不可用状 态,若预定顺序还是从左到右,则在该示例中,查找路径为:3-2,查找出的第二处理节点为 "2"表示的处理节点。
[0059]由上述示例可以看出,若指示信息指向了节点文件中的不同区域,即便是指示信 息指向的是同一处理节点,若该"同一处理节点"处于不可用状态,则查找到的用于替代第 一处理节点处理访问请求的第二处理节点也不同,从而可以在第一处理节点处于不可用状 态时,将本应第一处理节点处理的请求分配至几个,而不是将其全部集中分配至一个可用 的处理节点上,可以平衡负载。
[0060] 在一个可选的实施例中,节点文件以矩阵的形式记录多个集群节点,矩阵的一行 作为一个区域,每个区域中记录有多个集群节点中所有处理节点的信息,矩阵中的一个元 素表示一个处理节点。
[0061] 该矩阵的列数可以为多个集群节点的总数量,矩阵的行数可以小于列数,每行中 记录有多个集群节点中的所有处理节点的节点信息,各行的列间距各不相同,列间距表示 任意相邻两列之间表示的处理节点之间的间隔不同。
[0062]若节点信息为处理节点的标识信息(如ID),这里的间隔为相邻列之间的ID差值; 若节点信息为文字描述信息,则获取预先定义的各个处理节点之间的差值,间隔为相邻列 的处理节点之间的差值;若节点信息为处理节点的编号(如按照自增1的顺序编号),这里的 间隔为相邻列之间的编号差值,每一行的每列间距可以自增1,如第一行的列间距为1,第二 行的列间距为2,以此类推。
[0063]例如,处理节点为M个,则可以建立一个N*M的矩阵(M为质数,N〈M,N为自然数),将 所有的节点ID分成N行区域,每一行的每列间距自增1。每一列上的数字代表处理节点的ID, 如表2所示,M = 7,N = 6, 一行表示一个区域,每行中每列的数字表示对应的处理节点,其中, 数字1表示ID为1的处理节点1,数字2表示ID为2的处理节点2,以此类推,数字7表示ID为7的 处理节点7,这里例子中的处理节点的ID是按照自增1的方式生成的,每行的列间距可以不 同,如第一行的列间距为1,第二行的列间距为2,以此类推。通过上述的设置规则可以保证 每个处理节点在每行有且仅出现1次。
[0064]表 2
Luuooj 卯衣2所不,母仃甲忸拈'/个处埋节点的节点1目思,总母个处埋节点的1目思1 乂出现 一次,任意两行的多个集群节点的排列顺序不同,各行的列间距各不相同。
[0067] 在一个可选的实现方式中,矩阵中的每个元素对应一个坐标,其中,根据访问请 求,获取指示信息和指示信息所指示的第一处理节点可以包括:获取访问请求中访问对象 的ID;对访问对象的ID进行哈希处理,得到目标节点坐标,其中,指示信息包括节点坐标;从 矩阵中查找节点坐标对应的节点信息,并确定所述节点信息所表示的第一处理节点。
[0068] 具体地,可以在接收到访问请求之后,对该访问请求中的访问对象的ID进行哈希 处理,得到目标节点坐标,从矩阵中查找该节点坐标对应的第一处理节点。
[0069] 在上述实施例中,若采用矩阵的表示方式,节点坐标包含行坐标和列坐标,可以用 矩阵的行参数对访问对象的ID进行哈希得到行坐标,并用矩阵的列参数对访问对象的ID进 行哈希得到列坐标,并在矩阵中查找节点坐标确定的节点信息,从而可以确定第一处理节 点。
[0070] 在一个可选的实施例中,可以在节点文件中记录各个处理节点的状态,也可以在 其他文件中记录各个处理节点的状态,在确定出第一处理节点之后,可以从节点文件或其 他文件中读取第一处理节点的状态,以确定第一处理节点是否处于不可用状态。
[0071] 可选地,可以通过打标签或者颜色标记各个处理节点的状态,例如,采用打标签的 方式标记处理节点的状态,若打上预定标签,则对应的处理节点为不可用状态,若没有打上 预定标签,可以确定该处理节点处于可用状态。
[0072] 又如,通过颜色标记处理节点的状态,绿色表示处理节点处于可用状态,黑色表示 该处理节点处于不可用状态,若用颜色标记处理节点的状态,可以直接通过节点文件中记 录的节点信息的展示颜色来表现。
[0073]进一步地,在从节点文件中读取第一处理节点的状态之前、或之后,方法还可以包 括:若检测到第一处理节点的处理服务由开启变为关闭,则将第一处理节点的状态由可用 状态变更为不可用状态;若检测到第一处理节点的处理服务由关闭变为开启,则将第一处 理节点的状态由不可用状态变更为可用状态;若检测到第一处理节点的心跳超时,则将第 一处理节点的状态由可用状态变更为不可用状态。
[0074] 通过上述实施例,可以及时实现处理节点的状态变更。
[0075]下面结合图3至图9详述本发明实施例,在该实施例中节点文件采用矩阵的表现形 式,处理节点的状态可以用节点信息所在位置的颜色表示,如图4、图6和图8中有灰度的位 置表示该处理节点处于不可用状态。该示例中的处理节点为服务器(如业务服务器),接收 访问请求的为负载均衡服务器,该负载均衡服务器上已开通负载均衡服务,该负载均衡服 务可以通过下述实施例中的实现方式实现:
[0076]步骤S301:获取预先设置的虚拟节点矩阵。
[0077]具体地,可以获取集群服务器中服务器节点的数量M,基于该数量M创建一个N*M的 虚拟节点矩阵,该矩阵中按照N个区域存储服务器ID(也即一行为一个区域),每一列上的数 字代表服务器ID(或者服务器编号),每行中均包含所有的服务器ID,每一行中每列的间距 自增1,通过上述的设置规则,可以保证每个服务器节点的ID在每行中只出现一次,且不同 行中同一服务器节点ID的下一个服务器节点不同。
[0078]可选地,M为质数,N为小于M的自然数。
[0079] 进一步地,矩阵中还可以记录服务器的工作状态,如可以通过打标签或者颜色来 区分不同的工作状态,可选地,若以颜色区分不同的工作状态,可以使用绿色表示一个服务 器为有效节点(即该节点处于可用状态,该节点可以处理消息),用黑色表示无效节点,即该 节点未开启服务或丢失心跳。
[0080] 另外矩阵的宽度即M决定了矩阵可以容纳服务器数量的上限,所以在设计之初就 预先确定好,以满足矩阵扩容的目的。
[0081 ]步骤S302:接收客户端发送的访问请求。
[0082]访问请求可以为访问用户A数据的请求、请求服务器加载资源的请求等,本申请对 此不做限定。
[0083]步骤S303:获取访问请求中访问对象的ID。
[0084] 步骤S304:对访问对象的ID进行哈希处理,得到指示信息。
[0085]该实施例中的指示信息可以包括行坐标和列坐标,具体地,在通过矩阵确定用于 处理该访问请求的服务器时,可以先获取服务器坐标。可选地,可以分别使用矩阵的行参数 和列参数对访问对象的ID进行哈希处理,得到行坐标和列坐标,并从矩阵中读取该行坐标 和列坐标对应的第一服务器。
[0086] 步骤S305:判断第一服务器是否处于可用状态。
[0087]若该第一服务器处于可用状态,则执行步骤S306:直接将访问请求转发至第一服 务器;若第一服务器处于不可用状态,则执行步骤S307。
[0088]步骤S307:在查找到第一服务器的行中,按固定方向查找第二服务器。
[0089]步骤S308:将访问请求发至第二服务器。
[0090]在查找到第一服务器的行(即区域)中,按固定方向(即上述实施例中的预定顺序, 如从左到右,或从右到左)查找第一个处于可用状态的第二服务器。
[0091 ]下面结合图4和图5,对上述实施例进行举例说明:
[0092]假设访问对象的ID为1207,根据行列哈希hash得出的指示信息为服务器的坐标 (2,4),其中,2为行坐标的值,4为列坐标的值。图4所示的矩阵中,4、5、6和7表示的服务器 (分别为服务器4、服务器5、服务器6和服务器7)处于不可用状态。从图5所示的矩阵中查找 到的第一服务器为s7(表示服务器7),但是该节点处于不可用的状态,则按照固定的方向 (如向右)寻找到第一个可用节点s2(表示服务器2)。如果向右一直到最后一个节点依然不 可用,则回到该行的第一列继续找,因为每一行都包含了所有服务器,只要有一台还能服务 总能找到,图5中的"hash(1207 ) = [ 2,4] - S7-S2"表示对访问对象的ID(1207)的处理流 程,,[2,4]为哈希得到的节点坐标,最后确定第二处理节点为s2,则将访问请求发送至s2。
[0093] 又如,若经过行列hash得到的服务器坐标为(1,5),在图4示出的矩阵中该服务器 坐标指向s5,按照该实施例中的实现方式查找到的第二服务器为si。
[0094] 在上述实施例中,由于每行的间距不同,并且每行都包含所有的服务器,所以通过 上述方案,不仅可以保证每次都可以找到节点,而且可以使得处理节点被大致平均地分开, 从而实现负载平均分散到各个节点的目的。
[0095] 本申请还提供了一种可选的实现方案,在多个集群节点中有一个或多个处理节点 的状态发生变化,可以变更该节点的状态。
[0096] 例如,检测到当一个节点丢失时,在每行内都把该节点的状态进行变更(由可用状 态变更为不可用状态),若使用颜色标注节点的状态,则可以将节点的显示颜色从绿色变为 黑色,这样所有在其后的黑色节点都会自然往前找到下一个绿色节点作为新的处理节点。 [0097]又如,变更状态时,可以变更该处理节点的节点信息所在位置的展示颜色,如图6 中示出的节点3的工作状态从可用变成不可用,则可以将其节点信息"3"所在位置的颜色由 没有灰度变成有灰度的。如图7所示,在接收到访问请求之后,访问对象的ID为1206,对其进 行哈希处理,得到的指示信息(如服务器坐标)为(1,3),该服务器坐标指向s3,由于服务器 s3是不可用的,则依序从第一行中查找下一个处于可用状态的第二服务器,查找到的第二 服务器为s 1,图7中的"hash(1206 ) = [ 1,3]-s3-sΓ表示对访问对象的ID(1206)的处理流 程,[1,3]为哈希得到的节点坐标,最后确定第二处理节点为si,则将访问请求发送至si。
[0098]在另一个可选的实施例中,当检测到新增一个节点时,也可以将每行中该节点的 状态进行变更,即,将不可用状态变更为可用状态,例如,可以在每行都把该节点从黑变绿 点亮。由于每行间距不同,节点也大致分开,从而实现平滑扩容。
[0099]如图8所示,假设新增服务器4(该服务器的状态已经变更为可用状态),服务器3依 然是不可用状态,则在接收到访问请求之后,访问对象的ID为1206,对其进行哈希处理,得 到的如图9所示的指示信息(如服务器坐标)为(1,3),该服务器坐标指向s3,由于s3是不可 用的,则依序从第一行中查找下一个处于可用状态的第二服务器,查找到的第二服务器为 s4,图9中的"hash (1206) = [ 1,3 ]-s3-s4"表示对访问对象的ID (1206)的处理流程,[1,3 ] 为哈希得到的节点坐标,最后确定第二处理节点为s4,则将访问请求发送至s4。
[0100]采用虚拟节点矩阵负载均衡方法,可以实现当某个节点不可用时,该节点的负载 分散到其他所有服务器上,真正实现负载均衡。
[0101]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列 的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为 依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知 悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明 所必须的。
[0102] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施 例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多 情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有 技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储 介质(如R0M/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算 机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0103] 实施例2
[0104] 根据本发明实施例,还提供了一种用于实现负载均衡方法的负载均衡装置的实施 例,如图10所示,该实施例中的负载均衡装置可以设置在上述的负载均衡服务器上。
[0105] 具体地,该装置可以包括:获取单元1001,用于根据访问请求,获取指示信息和指 示信息所指示的第一处理节点,其中,第一处理节点为多个集群节点中的一个;查找单元 1003,用于若第一处理节点处于不可用状态,则在节点文件中指示信息所指向的区域内,依 序查找多个集群节点中处于可用状态的第二处理节点,其中,节点文件包含多个用于记录 多个集群节点的区域,不同区域按照不同的顺序记录多个集群节点;发送单元1005,用于将 访问请求发送至第二处理节点。
[0106] 通过上述实施例,在根据访问请求确定的第一处理节点不可用时,可以从确定该 第一处理节点的指示信息指向的区域内,依序查找到一个处于可用状态的第二处理节点, 通过该第二处理节点处理该访问请求。由于节点文件中包含的不同区域按照不同的顺序记 录多个集群节点,若用于指示第一处理节点的指示信息指向了不同的区域,则可以获取到 不同的第二处理节点,也即若第一处理节点故障,可以将原本由第一处理节点的不同访问 请求分配至不同的第二服务器,从而解决了在集群中的服务器出现故障时,集群服务器负 载不均的问题,以在第一处理节点处于不可用状态时,平衡多个集群节点中各个处理节点 的负载。
[0107] 上述实施例中的多个集群节点可以为位于服务器侧的集群,也可以为位于客户端 侦啲集群,本申请对此不做限定。例如,该多个集群节点位于服务器侧时多个集群节点构成 一个组,一个终端与多个集群节点相互作用时,多个集群节点对于终端来讲是一个独立的 服务器,在接收到终端的流量(包含多个访问请求)时,多个集群节点包含的多个处理节点, 每个处理节点都可以承担一部分的处理负载,并且可以实现处理负载在节点之间的动态分 配。
[0108] 在本申请实施例中,以多个集群节点在服务器侧为例详述本发明实施例。可以预 先设置节点文件,该节点文件包含多个用于记录多个集群节点的区域,不同区域按照不同 的顺序记录多个集群节点。可选地,每个区域中记录有多个集群节点中所有处理节点的信 息,且每个区域中记录处理节点的顺序各不相同。
[0109] 根据上述实施例,在接收到终端流量之后,对终端流量中的每个访问请求均可以 执行上述操作,具体地,可以根据访问请求获取指示信息,该指示信息用于指示处理该访问 请求的多个集群节点中的处理节点,确定该指示信息所指示的多个集群节点中的第一处理 节点(如集群中的第一服务器),需要说明的是,一个指示信息指向唯一的一个处理节点,这 里的唯一指的是记录在一个区域中的一个处理节点。
[0110]在获取用于处理访问请求的第一处理节点之后,可以获取第一处理节点的状态, 若第一处理节点处于可用状态,则直接将访问请求转发至第一服务器;若第一处理节点处 于不可用状态,则在节点文件中指示信息所指向的区域内,依序查找多个集群节点中处于 可用状态的第二处理节点,将访问请求发送至该查找到的第二处理节点。 Com]其中,可用状态是指第一处理节点可以正常处理访问请求的状态,如该第一处理 节点的处理访问请求的服务开启、且该第一处理节点可以正常收发信息的状态,正常收发 信息是指收发信息不超时的情况。
[0112]其中的不可用状态是指第一处理节点无法处理访问请求的状态,如,该第一处理 节点的处理访问请求的服务关闭、或者该第一处理节点失去心跳的状态,失去心跳指的是 超时未响应,也即,第一处理节点超过预定时间未对心跳信号进行响应。
[0113] 可选地,心跳信号可以是接收访问请求的负载均衡服务器发送第一处理节点的。
[0114] 进一步地,查找单元可以包括:查找模块,用于以第一处理节点为基准,依序查找 指示信息所指向的区域中处于可用状态的第二处理节点。
[0115] 进一步地,查找模块包括:查找子模块,用于从第一处理节点开始,在指示信息所 指向的区域内按照预定顺序,查找第一个处于可用状态的第二处理节点,其中,在查找的过 程中,若第一处理节点至最后一个处理节点均处于不可用状态,则从指示信息所指向的区 域中的第一个处理节点开始,按照预定顺序重新查找第二处理节点。
[0116] 进一步地,节点文件以矩阵的形式记录多个集群节点,矩阵的一行作为一个区域, 每个区域中记录有多个集群节点中多个处理节点的信息,矩阵中的一个元素表示一个处理 节点。
[0117]进一步地,矩阵中的每个元素对应一个坐标,其中,获取单元包括:
[0118]获取模块,用于获取访问请求中访问对象的ID;哈希处理模块,用于对访问对象的 ID进行哈希处理,得到目标节点坐标,其中,指示信息包括节点坐标;节点查找模块,用于从 矩阵中,查找节点坐标对应的节点信息,并确定节点信息所表示的第一处理节点。
[0119] 进一步地,装置还可以包括:读取单元,用于在获取指示信息所指示的第一处理节 点之后,从节点文件中读取第一处理节点的状态,以确定第一处理节点是否处于不可用状 ??τ O
[0120] 进一步地,装置还包括:第一检测单元,用于在从节点文件中读取第一处理节点的 状态之前、或之后,若检测到第一处理节点的处理服务由开启变为关闭,则将第一处理节点 的状态由可用状态变更为不可用状态;第二检测单元,用于在从节点文件中读取第一处理 节点的状态之前、或之后,若检测到第一处理节点的处理服务由关闭变为开启,则将第一处 理节点的状态由不可用状态变更为可用状态;第三检测单元,用于在从节点文件中读取第 一处理节点的状态之前、或之后,若检测到第一处理节点的心跳超时,则将第一处理节点的 状态由可用状态变更为不可用状态。
[0121] 本实施例中所提供的各个模块与方法实施例对应步骤所提供的使用方法相同、应 用场景也可以相同。当然,需要注意的是,上述模块涉及的方案可以不限于上述实施例中的 内容和场景,且上述模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。
[0122] 实施例3
[0123] 本发明的实施例还提供了一种终端或服务器。可选地,在本实施例中,上述终端或 服务器可以执行负载均衡方法,上述实施例中的负载均衡装置可以设置在该终端或服务器 上。
[0124] 如图11所示,该服务器或终端包括:一个或多个(图中仅示出一个)处理器1101、存 储器1103、以及传输装置1105(如上述实施例中的发送装置),如图11所示,该终端还可以包 括输入输出设备1107。
[0125] 其中,存储器1103可用于存储软件程序以及模块,如本发明实施例中的负载均衡 方法和装置对应的程序指令/模块,处理器1101通过运行存储在存储器1103内的软件程序 以及模块,从而执行各种功能应用以及数据处理,即实现上述的负载均衡方法。存储器1103 可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪 存、或者其他非易失性固态存储器。在一些实例中,存储器1103可进一步包括相对于处理器 1101远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括 但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0126] 上述的传输装置1105用于经由一个网络接收或者发送数据,还可以用于处理器与 存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中, 传输装置1105包括一个网络适配器(Network Interface Controller,NIC),其可通过网线 与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装 置1105为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
[0127] 其中,具体地,存储器1103用于存储应用程序。
[0128] 处理器1101可以通过传输装置1105调用存储器1103存储的应用程序,以执行下述 步骤:
[0129] 根据访问请求,获取指示信息和指示信息所指示的第一处理节点,其中,第一处理 节点为多个集群节点中的一个;若第一处理节点处于不可用状态,则在节点文件中指示信 息所指向的区域内,依序查找多个集群节点中处于可用状态的第二处理节点,其中,节点文 件包含多个用于记录多个集群节点的区域,不同区域按照不同的顺序记录多个集群节点; 将访问请求发送至第二处理节点。
[0130]处理器1101还用于执行下述步骤:在节点文件中指示信息所指向的区域内,依序 查找多个集群节点中处于可用状态的第二处理节点包括:以第一处理节点为基准,依序查 找指示信息所指向的区域中处于可用状态的第二处理节点。
[0131]处理器1101还用于执行下述步骤:从第一处理节点开始,在指示信息所指向的区 域内按照预定顺序,查找第一个处于可用状态的第二处理节点,其中,在查找的过程中,若 第一处理节点至最后一个处理节点均处于不可用状态,则从指示信息所指向的区域中的第 一个处理节点开始,按照预定顺序重新查找第二处理节点。
[0132] 处理器1101还用于执行下述操作:节点文件以矩阵的形式记录多个集群节点,矩 阵的一行作为一个区域,每个区域中记录有多个集群节点中多个处理节点的信息,矩阵中 的一个元素表示一个处理节点。
[0133] 处理器1101还用于执行下述步骤:矩阵中的每个元素对应一个坐标,其中,根据访 问请求,获取指示信息和指示信息所指示的第一处理节点包括:获取访问请求中访问对象 的ID;对访问对象的ID进行哈希处理,得到目标节点坐标,其中,指示信息包括节点坐标;
[0134] 从矩阵中,查找节点坐标对应的节点信息,并确定节点信息所表示的第一处理节 点。
[0135] 处理器1101还用于执行下述步骤:在获取指示信息所指示的第一处理节点之后, 从节点文件中读取第一处理节点的状态,以确定第一处理节点是否处于不可用状态。
[0136] 处理器1101还用于执行下述步骤:在从节点文件中读取第一处理节点的状态之 前、或之后,若检测到第一处理节点的处理服务由开启变为关闭,则将第一处理节点的状态 由可用状态变更为不可用状态;若检测到第一处理节点的处理服务由关闭变为开启,则将 第一处理节点的状态由不可用状态变更为可用状态;若检测到第一处理节点的心跳超时, 则将第一处理节点的状态由可用状态变更为不可用状态。
[0137] 可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例 在此不再赘述。
[0138] 需要进一步说明的是,寄存区域为系统的内存和系统处理器中的寄存器。
[0139] 本领域普通技术人员可以理解,图11所示的结构仅为示意,终端可以是智能手机 (如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图11其并不对上述电子装置的结构造成限定。例如,终端还 可包括比图11中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图11所 示不同的配置。
[0140]本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可 以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质 中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
[0141] 实施例4
[0142] 本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可 以用于执行负载均衡方法的程序代码。
[0143] 可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个 网络设备中的至少一个网络设备上。
[0144] 可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
[0145] 根据访问请求,获取指示信息和指示信息所指示的第一处理节点,其中,第一处理 节点为多个集群节点中的一个;若第一处理节点处于不可用状态,则在节点文件中指示信 息所指向的区域内,依序查找多个集群节点中处于可用状态的第二处理节点,其中,节点文 件包含多个用于记录多个集群节点的区域,不同区域按照不同的顺序记录多个集群节点; 将访问请求发送至第二处理节点。
[0146] 存储介质被设置为存储用于执行以下步骤的程序代码:在节点文件中指示信息所 指向的区域内,依序查找多个集群节点中处于可用状态的第二处理节点包括:以第一处理 节点为基准,依序查找指示信息所指向的区域中处于可用状态的第二处理节点。
[0147] 存储介质被设置为存储用于执行以下步骤的程序代码:从第一处理节点开始,在 指示信息所指向的区域内按照预定顺序,查找第一个处于可用状态的第二处理节点,其中, 在查找的过程中,若第一处理节点至最后一个处理节点均处于不可用状态,则从指示信息 所指向的区域中的第一个处理节点开始,按照预定顺序重新查找第二处理节点。
[0148] 存储介质被设置为存储用于执行以下步骤的程序代码:节点文件以矩阵的形式记 录多个集群节点,矩阵的一行作为一个区域,每个区域中记录有多个集群节点中多个处理 节点的信息,矩阵中的一个元素表示一个处理节点。
[0149] 存储介质被设置为存储用于执行以下步骤的程序代码:矩阵中的每个元素对应一 个坐标,其中,根据访问请求,获取指示信息和指示信息所指示的第一处理节点包括:获取 访问请求中访问对象的ID;对访问对象的ID进行哈希处理,得到目标节点坐标,其中,指示 信息包括节点坐标;从矩阵中,查找节点坐标对应的节点信息,并确定节点信息所表示的第 一处理节点。
[0150] 存储介质被设置为存储用于执行以下步骤的程序代码:在获取指示信息所指示的 第一处理节点之后,从节点文件中读取第一处理节点的状态,以确定第一处理节点是否处 于不可用状态。
[0151] 存储介质被设置为存储用于执行以下步骤的程序代码:在从节点文件中读取第一 处理节点的状态之前、或之后,若检测到第一处理节点的处理服务由开启变为关闭,则将第 一处理节点的状态由可用状态变更为不可用状态;若检测到第一处理节点的处理服务由关 闭变为开启,则将第一处理节点的状态由不可用状态变更为可用状态;若检测到第一处理 节点的心跳超时,则将第一处理节点的状态由可用状态变更为不可用状态。
[0152] 可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例 在此不再赘述。
[0153] 可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(R0M, Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者 光盘等各种可以存储程序代码的介质。
[0154] 上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0155] 上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品 销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技 术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软 件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一 台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所 述方法的全部或部分步骤。
[0156] 在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有 详述的部分,可以参见其他实施例的相关描述。
[0157] 在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方 式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一 种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者 可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之 间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连 接,可以是电性或其它的形式。
[0158]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显 示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个 网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目 的。
[0159] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以 是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单 元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0160] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应 视为本发明的保护范围。
【主权项】
1. 一种负载均衡方法,其特征在于,包括: 根据访问请求,获取指示信息和所述指示信息所指示的第一处理节点,其中,所述第一 处理节点为多个集群节点中的一个; 若所述第一处理节点处于不可用状态,则在节点文件中所述指示信息所指向的区域 内,依序查找所述多个集群节点中处于可用状态的第二处理节点,其中,所述节点文件包含 多个用于记录所述多个集群节点的区域,不同区域按照不同的顺序记录所述多个集群节 占. 将所述访问请求发送至所述第二处理节点。2. 根据权利要求1所述的方法,其特征在于,在节点文件中所述指示信息所指向的区域 内,依序查找所述多个集群节点中处于可用状态的第二处理节点包括: 以所述第一处理节点为基准,依序查找所述指示信息所指向的区域中处于所述可用状 态的第二处理节点。3. 根据权利要求2所述的方法,其特征在于,以所述第一处理节点为基准,依序查找所 述指示信息所指向的区域中处于所述可用状态的第二处理节点包括: 从所述第一处理节点开始,在所述指示信息所指向的区域内按照预定顺序,查找第一 个处于所述可用状态的第二处理节点, 其中,在查找的过程中,若所述第一处理节点至最后一个处理节点均处于所述不可用 状态,则从所述指示信息所指向的区域中的第一个处理节点开始,按照所述预定顺序重新 查找所述第二处理节点。4. 根据权利要求1所述的方法,其特征在于,所述节点文件以矩阵的形式记录所述多个 集群节点,矩阵的一行作为一个区域,每个区域中记录有所述多个集群节点中多个处理节 点的信息,所述矩阵中的一个元素表示一个处理节点。5. 根据权利要求4所述的方法,其特征在于,所述矩阵中的每个元素对应一个坐标,其 中,根据访问请求,获取指示信息和所述指示信息所指示的第一处理节点包括: 获取所述访问请求中访问对象的ID; 对所述访问对象的ID进行哈希处理,得到目标节点坐标,其中,所述指示信息包括所述 节点坐标; 从所述矩阵中,查找所述节点坐标对应的节点信息,并确定所述节点信息所表示的第 一处理节点。6. 根据权利要求1所述的方法,其特征在于,在获取所述指示信息所指示的第一处理节 点之后,所述方法还包括: 从所述节点文件中读取所述第一处理节点的状态,以确定所述第一处理节点是否处于 所述不可用状态。7. 根据权利要求6所述的方法,其特征在于,在从所述节点文件中读取所述第一处理节 点的状态之前、或之后,所述方法还包括: 若检测到所述第一处理节点的处理服务由开启变为关闭,则将所述第一处理节点的状 态由所述可用状态变更为所述不可用状态; 若检测到所述第一处理节点的处理服务由关闭变为开启,则将所述第一处理节点的状 态由所述不可用状态变更为所述可用状态; 若检测到所述第一处理节点的心跳超时,则将所述第一处理节点的状态由所述可用状 态变更为所述不可用状态。8. -种负载均衡装置,其特征在于,包括: 获取单元,用于根据访问请求,获取指示信息和所述指示信息所指示的第一处理节点, 其中,所述第一处理节点为多个集群节点中的一个; 查找单元,用于若所述第一处理节点处于不可用状态,则在节点文件中所述指示信息 所指向的区域内,依序查找所述多个集群节点中处于可用状态的第二处理节点,其中,所述 节点文件包含多个用于记录所述多个集群节点的区域,不同区域按照不同的顺序记录所述 多个集群节点; 发送单元,用于将所述访问请求发送至所述第二处理节点。9. 根据权利要求8所述的装置,其特征在于,所述查找单元包括: 查找模块,用于以所述第一处理节点为基准,依序查找所述指示信息所指向的区域中 处于所述可用状态的第二处理节点。10. 根据权利要求9所述的装置,其特征在于,所述查找模块包括: 查找子模块,用于从所述第一处理节点开始,在所述指示信息所指向的区域内按照预 定顺序,查找第一个处于所述可用状态的第二处理节点, 其中,在查找的过程中,若所述第一处理节点至最后一个处理节点均处于所述不可用 状态,则从所述指示信息所指向的区域中的第一个处理节点开始,按照所述预定顺序重新 查找所述第二处理节点。11. 根据权利要求8所述的装置,其特征在于,所述节点文件以矩阵的形式记录所述多 个集群节点,矩阵的一行作为一个区域,每个区域中记录有所述多个集群节点中多个处理 节点的信息,所述矩阵中的一个元素表示一个处理节点。12. 根据权利要求11所述的装置,其特征在于,所述矩阵中的每个元素对应一个节点坐 标,其中,所述获取单元包括: 获取模块,用于获取所述访问请求中访问对象的ID; 哈希处理模块,用于对所述访问对象的ID进行哈希处理,得到目标节点坐标,其中,所 述指示信息包括所述节点坐标; 节点查找模块,用于从所述矩阵中,查找所述节点坐标对应的节点信息,并确定所述节 点信息所表示的第一处理节点。13. 根据权利要求8所述的装置,其特征在于,所述装置还包括: 读取单元,用于在获取所述指示信息所指示的第一处理节点之后,从所述节点文件中 读取所述第一处理节点的状态,以确定所述第一处理节点是否处于所述不可用状态。14. 根据权利要求13所述的装置,其特征在于,所述装置还包括: 第一检测单元,用于在从所述节点文件中读取所述第一处理节点的状态之前、或之后, 若检测到所述第一处理节点的处理服务由开启变为关闭,则将所述第一处理节点的状态由 所述可用状态变更为所述不可用状态; 第二检测单元,用于在从所述节点文件中读取所述第一处理节点的状态之前、或之后, 若检测到所述第一处理节点的处理服务由关闭变为开启,则将所述第一处理节点的状态由 所述不可用状态变更为所述可用状态; 第三检测单元,用于在从所述节点文件中读取所述第一处理节点的状态之前、或之后, 若检测到所述第一处理节点的心跳超时,则将所述第一处理节点的状态由所述可用状态变 更为所述不可用状态。
【文档编号】H04L29/08GK105915650SQ201610452488
【公开日】2016年8月31日
【申请日】2016年6月21日
【发明人】费翔
【申请人】腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1