一种集群访问方法及装置制造方法及图纸

技术编号:18304636 阅读:35 留言:0更新日期:2018-06-28 13:31
本发明专利技术实施例提供了一种集群访问方法及装置,应用于代理服务器,该方法首先接收目标客户端发送的用于访问目标集群的目标请求;从目标集群的各个主节点中,确定该目标请求对应的主节点为第一主节点;判断该第一主节点是否处于失活状态;若为是,从目标集群中除该第一主节点外的各个主节点中,确定第二主节点;向该第二主节点发送该目标请求,以使得该第二主节点响应该目标请求;若为为否,向该第一主节点发送该目标请求,以使得该第一主节点响应该目标请求。本发明专利技术实施例提供的方案中,代理服务器不会将目标请求发送给处于失效状态的第一主节点,避免集群中主节点失活时造成的代理服务器崩溃的问题。

A cluster access method and device

The present invention provides a cluster access method and device, which is applied to the proxy server. The method first receives the target request for the target cluster sent by the target client, and determines the primary node corresponding to the target request from each main node of the target cluster, and determines the first main node. Whether the point is in the inactivation state; if so, the second main nodes are determined from the primary node outside the first master node in the target cluster; the target request is sent to the second master node to make the second master node sound the target request; if not, the target request is sent to the first master node, so that the first master node is sent to the primary node. The first master node responds to the target request. In the scheme provided in the embodiment of the invention, the proxy server will not send the target request to the first master node in the invalid state, and avoid the problem of the collapse of the proxy server when the main node is inactive in the cluster.

【技术实现步骤摘要】
一种集群访问方法及装置
本专利技术涉及计算机
,特别是涉及一种集群访问方法及装置。
技术介绍
集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户端与集群相互作用时,集群像是一个独立的服务器,对外提供统一的服务。集群由多个节点构成,节点包括主节点和从节点,对于无中心主节点的集群,集群中的各个主节点在整个集群中拥有相同的地位,每个主节点都可以负责处理一部分客户端请求。集群访问系统可以包括客户端、代理服务器以及集群,客户端访问集群的过程可以如下:客户端向代理服务器发送请求,代理服务器首先会确定该请求对应的主节点,然后直接将该请求发送给所确定的主节点,该主节点响应上述请求。例如,对于redis(一种开源的Key-Value(键值)数据库)集群,代理服务器中可以记录有每个主节点与哈希值的对应关系,代理服务器在接收到客户端发送的请求后,可以计算获得该请求中的键值对应的哈希值,然后根据上述对应关系,确定该请求所对应的主节点,最后,将该请求发送给所确定的主节点。虽然通常情况应用上述方式能够实现集群访问,但是,当代理服务器所确定的主节点为失活的主节点时,代理服务器将请求发送给该失活的主节点后,按照TCP/IP协议(TransmissionControlProtocol/InternetProtocol,传输控制协议/因特网互联协议),代理服务器会接收到连接拒绝(ConnectionRefused)信息,由于客户端的数量是巨大的,如果代理服务器将大量的请求发送给失活的主节点,即会造成代理服务器的崩溃,进一步造成整个集群访问系统的崩溃。
技术实现思路
本专利技术实施例的目的在于提供一种集群访问方法及装置,以避免集群中主节点失活时造成的代理服务器崩溃的问题。具体技术方案如下:为达上述目的,第一方面,本专利技术实施例提供了一种集群访问方法,应用于代理服务器,所述方法包括:接收目标客户端发送的用于访问目标集群的目标请求;从所述目标集群的各个主节点中,确定所述目标请求对应的主节点为第一主节点;判断所述第一主节点是否处于失活状态;如果是,从所述目标集群中除所述第一主节点外的各个主节点中,确定第二主节点;向所述第二主节点发送所述目标请求,以使得所述第二主节点响应所述目标请求;如果否,向所述第一主节点发送所述目标请求,以使得所述第一主节点响应所述目标请求。优选的,所述目标请求包含有目标键值,所述从所述目标集群的各个主节点中,确定所述目标请求对应的主节点为第一主节点的步骤,包括:计算获得所述目标键值对应的目标哈希值;从所述目标集群的各个主节点中,确定路由表中对应所述目标哈希值的主节点为所述目标请求对应的第一主节点,其中,所述路由表中存储有哈希值与主节点的对应关系。优选的,在所述向所述第二主节点发送所述目标请求的步骤之后,所述方法还包括:接收针对于所述目标请求的请求成功信息;在发送所述请求成功信息的主节点为所述第二主节点的情况下,更新所述路由表中对应所述目标哈希值的主节点为所述第二主节点。优选的,所述判断所述第一主节点是否处于失活状态的步骤,包括:根据记录有处于失活状态的主节点的失活列表,判断所述第一主节点是否处于失活状态。优选的,所述方法还包括:接收对应所述目标请求的反馈信息,作为第一反馈信息;判断所述第一反馈信息是否为连接拒绝信息;如果是,将第三主节点记录到所述失活列表中,其中,所述第三主节点为:发送所述第一反馈信息的主节点。优选的,所述失活列表通过以下方式更新:向所述目标集群中的每个主节点发送状态探测信息;接收对应每个状态探测信息的反馈信息,作为第二反馈信息;将属于连接拒绝信息的第二反馈信息对应的主节点更新到所述失活列表中。第二方面,本专利技术实施例提供了一种集群访问装置,应用于代理服务器,所述装置包括:第一接收模块,用于接收目标客户端发送的用于访问目标集群的目标请求;确定模块,用于从所述目标集群的各个主节点中,确定所述目标请求对应的主节点为第一主节点;第一判断模块,用于判断所述第一主节点是否处于失活状态;第一发送模块,用于在所述第一判断模块的判断结果为是的情况下,从所述目标集群中除所述第一主节点外的各个主节点中,确定第二主节点;向所述第二主节点发送所述目标请求,以使得所述第二主节点响应所述目标请求;第二发送模块,用于在所述判断模块的判断结果为否的情况下,向所述第一主节点发送所述目标请求,以使得所述第一主节点响应所述目标请求。优选的,所述目标请求包含有目标键值,所述确定模块,包括:计算子模块,用于计算获得所述目标键值对应的目标哈希值;确定子模块,用于从所述目标集群的各个主节点中,确定路由表中对应所述目标哈希值的主节点为所述目标请求对应的第一主节点,其中,所述路由表中存储有哈希值与主节点的对应关系。优选的,所述装置还包括:第二接收模块,用于接收针对于所述目标请求的请求成功信息;第一更新模块,用于在发送所述请求成功信息的主节点为所述第二主节点的情况下,更新所述路由表中对应所述目标哈希值的主节点为所述第二主节点。优选的,所述第一判断模块,具体用于:根据记录有处于失活状态的主节点的失活列表,判断所述第一主节点是否处于失活状态。优选的,所述装置还包括:第三接收模块,用于接收对应所述目标请求的反馈信息,作为第一反馈信息;第二判断模块,用于判断所述第一反馈信息是否为连接拒绝信息;记录模块,用于在所述第二判断模块的判断结果为是的情况下,将第三主节点记录到所述失活列表中,其中,所述第三主节点为:发送所述第一反馈信息的主节点。优选的,所述装置还包括:第三发送模块,用于向所述目标集群中的每个主节点发送状态探测信息;第四接收模块,用于接收对应每个状态探测信息的反馈信息,作为第二反馈信息;第二更新模块,用于将属于连接拒绝信息的第二反馈信息对应的主节点更新到所述失活列表中。由以上可见,本专利技术实施例提供的方案中,代理服务器首先接收目标客户端发送的用于访问目标集群的目标请求;从目标集群的各个主节点中,确定该目标请求对应的主节点为第一主节点;判断该第一主节点是否处于失活状态;若为是,从目标集群中除该第一主节点外的各个主节点中,确定第二主节点;向该第二主节点发送该目标请求,以使得该第二主节点响应该目标请求;若为为否,向该第一主节点发送该目标请求,以使得该第一主节点响应该目标请求。本专利技术实施例提供的方案中,代理服务器向第一主节点发送目标请求前,会首先判断该第一主节点是否处于失效状态,如果该第一主节点处于失效状态,则代理服务器不会将该目标请求发送给第一主节点,避免集群中主节点失活时造成的代理服务器崩溃的问题,进一步的,在出现集群主节点失效的情况下,保证了配置有代理服务器的集群访问系统的稳定性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例涉及的集群访问系统的结构示意图;图2为本专利技术实施例提供的一种集群访问方法的第一种流程示意图;图3为本专利技术实施例提供的一种集群访问方法的第二种流程示意图;图4本文档来自技高网
...
一种集群访问方法及装置

【技术保护点】
1.一种集群访问方法,其特征在于,应用于代理服务器,所述方法包括:接收目标客户端发送的用于访问目标集群的目标请求;从所述目标集群的各个主节点中,确定所述目标请求对应的主节点为第一主节点;判断所述第一主节点是否处于失活状态;如果是,从所述目标集群中除所述第一主节点外的各个主节点中,确定第二主节点;向所述第二主节点发送所述目标请求,以使得所述第二主节点响应所述目标请求;如果否,向所述第一主节点发送所述目标请求,以使得所述第一主节点响应所述目标请求。

【技术特征摘要】
1.一种集群访问方法,其特征在于,应用于代理服务器,所述方法包括:接收目标客户端发送的用于访问目标集群的目标请求;从所述目标集群的各个主节点中,确定所述目标请求对应的主节点为第一主节点;判断所述第一主节点是否处于失活状态;如果是,从所述目标集群中除所述第一主节点外的各个主节点中,确定第二主节点;向所述第二主节点发送所述目标请求,以使得所述第二主节点响应所述目标请求;如果否,向所述第一主节点发送所述目标请求,以使得所述第一主节点响应所述目标请求。2.根据权利要求1所述的方法,其特征在于,所述目标请求包含有目标键值,所述从所述目标集群的各个主节点中,确定所述目标请求对应的主节点为第一主节点的步骤,包括:计算获得所述目标键值对应的目标哈希值;从所述目标集群的各个主节点中,确定路由表中对应所述目标哈希值的主节点为所述目标请求对应的第一主节点,其中,所述路由表中存储有哈希值与主节点的对应关系。3.根据权利要求2所述的方法,其特征在于,在所述向所述第二主节点发送所述目标请求的步骤之后,所述方法还包括:接收针对于所述目标请求的请求成功信息;在发送所述请求成功信息的主节点为所述第二主节点的情况下,更新所述路由表中对应所述目标哈希值的主节点为所述第二主节点。4.根据权利要求1-3中任一项所述的方法,其特征在于,所述判断所述第一主节点是否处于失活状态的步骤,包括:根据记录有处于失活状态的主节点的失活列表,判断所述第一主节点是否处于失活状态。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:接收对应所述目标请求的反馈信息,作为第一反馈信息;判断所述第一反馈信息是否为连接拒绝信息;如果是,将第三主节点记录到所述失活列表中,其中,所述第三主节点为:发送所述第一反馈信息的主节点。6.根据权利要求4所述的方法,其特征在于,所述失活列表通过以下方式更新:向所述目标集群中的每个主节点发送状态探测信息;接收对应每个状态探测信息的反馈信息,作为第二反馈信息;将属于连接拒绝信息的第二反馈信息对应的主节点更新到所述失活列表中。7.一种集群访问装置,其特征在于,应用于代理服务器,所述装置包括:第一接收模块,用于接收目标客户端发送的...

【专利技术属性】
技术研发人员:申航
申请(专利权)人:北京金山云网络技术有限公司北京金山云科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1