同机房的匹配方法及装置与流程

文档序号:12751671阅读:219来源:国知局
同机房的匹配方法及装置与流程

本发明涉及集群技术领域,尤其涉及同机房的匹配方法及装置。



背景技术:

随着业务的发展与多样化,涉及到用ZK(Zookeeper,分布式的开放源码的分布式应用程序协调服务)的业务需求越来越多,一个用户可能会使用多套ZK集群,比如,消息系统/服务注册/权限注册/配置中心等,都需要使用各自的ZK集群。因此,应用中多ZK集群的选择非常有必要,亟需提出一种ZK集群的选择方式,提高集群分配和选择的效率。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种同机房的匹配方法及装置,提出一种ZK集群的选择方式,选择合适的集群完成业务服务,提高集群分配和选择的效率。

为实现上述目的,本发明提供的一种同机房的匹配方法,包括步骤:

路由在接收到客户端发送来的业务请求时,提取所述业务请求所携带的目标节点信息;

所述路由根据所述目标节点信息以及预先存储的集群映射关系确定所述业务请求对应的集群;

所述路由将所述业务请求路由至与预设的同机房匹配策略对应机房的集群以完成所述业务请求对应的业务服务。

优选地,所述将所述业务请求路由至与预设的同机房匹配策略对应机房的集群包括:

所述路由获取所确定的集群同机房的权重信息;

在所述权重信息满足同机房条件时,所述路由将所述业务路由至对应的同机房集群。

优选地,所述方法还包括:

所述路由检测预设的环境变量信息;

所述路由根据所述环境变量信息确定是否开启同机房匹配。

优选地,所述方法还包括:

所述路由获取预先构建的集群的信息以及节点路径信息或接口信息;

所述路由根据所述集群的信息以及节点路径信息或接口信息构建集群映射关系并存储,将节点路径信息与集群映射或将接口信息与集群映射;

所述集群的构建步骤包括:由环境变量及/或系统变量构建一套ZK集群,其他ZK集群构建在所述ZK集群的文件下。

优选地,所述将所述业务请求路由至与预设的同机房匹配策略对应机房的集群以完成所述业务请求对应的业务服务的步骤包括:

所述路由判断所确定的集群是否为所述ZK集群;

若不是所述ZK集群,则所述路由控制从所述ZK集群的文件下读取所确定的集群的配置,并创建所述客户端与所述集群的连接以完成所述业务请求对应的业务服务。

此外,为实现上述目的,本发明还提供一种同机房的匹配装置,包括:

提取模块,用于在接收到客户端发送来的业务请求时,提取所述业务请求所携带的目标节点信息;

选择模块,用于根据所述目标节点信息以及预先存储的集群映射关系确定所述业务请求对应的集群;

路由模块,用于将所述业务请求路由至与预设的同机房匹配策略对应机房的集群以完成所述业务请求对应的业务服务。

优选地,所述路由模块包括:

获取单元,用于获取所确定的集群同机房的权重信息;

路由单元,用于在所述权重信息满足同机房条件时,将所述业务路由至对应的同机房集群。。

优选地,还包括:

检测模块,用于检测预设的环境变量信息;

确定模块,用于根据所述环境变量信息确定是否开启同机房匹配。

优选地,还包括:获取模块和构建模块,

所述获取模块,用于获取预先构建的集群的信息以及节点路径信息或接口信息;

构建模块,用于根据所述预先构建的集群的信息以及节点路径信息或接口信息构建集群映射关系并存储,将节点路径信息与集群映射或将接口信息与集群映射;由环境变量及/或系统变量构建一套ZK集群,其他ZK集群构建在所述ZK集群的文件下。

优选地,所述路由单元,还用于判断所确定的集群是否为所述ZK集群;若不是所述ZK集群,则控制从所述集群的文件下读取所确定的集群的配置,并创建所述客户端与所述集群的连接以完成所述业务请求对应的业务服务。

本发明通过由路由统一来控制集群服务的选择,并按照同机房策略匹配同机房的集群,提供了一种集群选择的方式,在客户端发起业务请求时,选择合理的集群建立连接,能够准确、快速的选择集群建立连接,提高ZK集群的分配和选择效率。

附图说明

图1为本发明同机房的匹配方法的第一实施例的流程示意图;

图2为本发明一实施例中将所述业务请求路由至与预设的同机房匹配策略对应机房的集群的流程示意图;

图3为本发明同机房的匹配方法的第二实施例的流程示意图;

图4为本发明同机房的匹配方法的第三实施例的流程示意图;

图5为本发明另一实施例中将所述业务请求路由至与预设的同机房匹配策略对应机房的集群的流程示意图;

图6为本发明同机房的匹配装置的第一实施例的功能模块示意图;

图7为图6中路由模块一实施例的细化功能模块示意图;

图8为本发明同机房的匹配装置的第二实施例的功能模块示意图;

图9为本发明同机房的匹配装置的第三实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参照图1,图1为本发明同机房的匹配的第一实施例的流程示意图。

在一实施例中,所述同机房的匹配包括:

步骤S10,路由在接收到客户端发送来的业务请求时,提取所述业务请求所携带的目标节点信息;

在本实施例中,提前创建一个ZK集群业务服务架构,包括客户端与路由以及ZK集群,所述客户端通过路由连接ZK集群。所述路由可以是路由器或者业务控制服务器,其中,所有的ZK集群以及客户端均通过所述路由的控制和选择来完成业务数据交互,完成业务服务。用户在需要发起应用业务时,例如,在需要发起消息系统/服务注册/权限注册/配置中心等业务服务时,通过客户端发送业务请求至所述路由,所述路由在接收到客户端发送来的业务请求时,提取所述业务请求所携带的目标节点信息,即,所述路由在接收到业务请求时,提取所述业务请求需要路由到的集群的信息,所述目标节点信息可以是接口信息及/节点路径信息。

步骤S20,所述路由根据所述目标节点信息以及预先存储的集群映射关系确定所述业务请求对应的集群;

预先在路由端预存集群映射关系,所述映射关系包括目标节点信息与集群的映射关系,所述路由在获取到所述目标节点信息后可以通过所述目标信息从预先存储的集群映射关系中查找到所述业务请求对应的集群。

步骤S30,所述路由将所述业务请求路由至与预设的同机房匹配策略对应机房的集群以完成所述业务请求对应的业务服务。

在集群部署过程中,为了实现高可用性,会部署多个集群在不同的机房。所述路由在确定所述业务请求对应的集群后,判断是否支持同机房策略,在支持同机房策略时,将所述业务请求路由至与预设的同机房匹配策略对应机房的集群以完成所述业务请求对应的业务服务,通过同机房策略在为业务选择集群时,选择最优的集群来完成业务服务。本发明实施例通过由路由统一来控制集群服务的选择,并按照同机房策略为业务匹配同机房的集群,提供了一种集群选择的方式,在客户端发起业务请求时,选择合理的集群建立连接,能够准确、快速的选择集群建立连接,提高ZK集群的分配和选择效率。

在本发明一较佳实施例中,为了提高同机房匹配的合理性,参考图2,所述将所述业务请求路由至与预设的同机房匹配策略对应机房的集群包括:

步骤S31,所述路由获取所确定的集群同机房的权重信息;用户可以设置权重信息来增加路由到同机房集群的概率,在用户发起业务请求时,业务请求中会携带集群同机房的权重信息,在路由接收到业务请求时,获取所确定的集群同机房的权重信息。

步骤S32,在所述权重信息满足同机房条件时,所述路由将所述业务路由至对应的同机房集群。所述满足同机房条件可以是权重信息对应的权重值大于预设阈值,例如,权重值大于0.8,或大于0.7时,判断权重信息满足同机房条件,所述路由将所述业务路由至对应的同机房集群。通过权重信息的设置,使得同机房路由的控制更加合理、准确。

在本发明一较佳实施例中,所述开启或关闭同机房匹配策略的过程包括:所述路由检测预设的环境变量信息;所述预设的环境变量信息为提前预设所需要检测的环境变量信息,所述环境变量信息对应于是否开启同机房匹配策略,例如,可以是集群网络的流量信息或IP限制信息等。所述路由根据所述环境变量信息确定是否开启同机房匹配。在检测的环境变量信息与预设的匹配时,判断需要开启同机房匹配策略,例如,在流量小于预设阈值(10G或20G等);在检测的环境变量信息与预设的不匹配时,判断不需要开启同机房匹配策略。

为了节省集群配置的时间,在本发明一较佳实施例中,参考图3,所述方法还包括:

步骤S40,所述路由获取预先构建的集群的信息以及节点路径信息或接口信息;

步骤S50,所述路由根据所述集群的信息以及节点路径信息或接口信息构建集群映射关系并存储,将节点路径信息与集群映射或将接口信息与集群映射;所述集群的构建步骤包括:由环境变量及/或系统变量构建一套ZK集群,其他ZK集群构建在所述ZK集群的文件下。

用户只需要通过环境变量/系统变量配置一套ZK集群,其他套的ZK集群配置在这个ZK集群约定的bootstrap启动文件中,而无需根据不同的运行环境配置多套的ZK集群,例如,在开发/测试/生产只需要配置一套ZK集群,其他ZK集群配置在这个已配置ZK集群的启动文件中。在集群构建完毕后,所述路由获取预先构建的集群的信息以及节点路径信息或接口信息所述路由根据所述集群的信息以及节点路径信息或接口信息构建集群映射关系并存储,将节点路径信息与集群映射或将接口信息与集群映射。在本发明其他实施例中,为了避免集群选择失败,根据节点路径信息以及接口信息与集群映射,通过多个变量(节点路径信息和接口信息)来映射集群,进一步增加集群的选择准确性,及时选择对的集群完成客户端的业务服务。

为了更加准确的选择集群,找到对应的集群建立客户端与集群的连接完成业务服务。在本发明一较佳实施例中,参考图4,上述步骤S20包括:

步骤S21,所述路由确定所述目标节点对应的路径信息,根据所述路径信息以及预先存储的集群映射关系确定所述业务请求对应的集群。

针对不同ZK集群不同数据节点路径能够通过规则匹配映射不同的ZK集群

在本发明另一较佳实施例中,所述路由确定所述目标节点的接口信息,根据所述接口信息以及预先存储的集群映射关系确定所述业务请求对应的集群。客户端通过提供的api接口指定路径的方式即可路由到想要的ZK集群。

ZK集群存在不同的运行环境,例如,会存在开发/测试/生产等多个运行环境。在一较佳实施例中,参考图5,上述步骤S30包括:

步骤S33,所述路由判断所确定的集群是否为所述ZK集群;

步骤S34,若不是所述ZK集群,则所述路由控制从所述集群的文件下读取所确定的集群的配置,并创建所述客户端与所述集群的连接以完成所述业务请求对应的业务服务。

所述路由在确定选择同机房的集群时,判断确定的集群是否为ZK集群,例如,确定集群为开发运行环境下的集群,但配置的ZK集群只有测试集群,则从ZK集群的启动文件中读取开发集群的配置,为客户端的业务请求找到开发集群,并建立开发集群与客户端之间的业务连接,完成客户端的业务服务。本实施例通过环境变量以及通过配置一套ZK集群而无需配置多套使得,ZK集群配置简单化,且能及时找到相应运行环境的ZK集群配置完成业务服务。

本发明进一步提供一种集群选择装置。

参照图6,图6为本发明集群选择装置的第一实施例的功能模块示意图。

在一实施例中,所述集群选择装置包括:提取模块10、选择模块20及路由模块30。

所述提取模块10,用于在接收到客户端发送来的业务请求时,提取所述业务请求所携带的目标节点信息;

在本实施例中,提前创建一个ZK集群业务服务架构,包括客户端与路由以及ZK集群,所述客户端通过路由连接ZK集群。所述路由可以是路由器或者业务控制服务器,其中,所有的ZK集群以及客户端均通过所述路由的控制和选择来完成业务数据交互,完成业务服务。用户在需要发起应用业务时,例如,在需要发起消息系统/服务注册/权限注册/配置中心等业务服务时,通过客户端发送业务请求至所述路由,提取模块10在接收到客户端发送来的业务请求时,提取所述业务请求所携带的目标节点信息,即,所述路由在接收到业务请求时,提取所述业务请求需要路由到的集群的信息,所述目标节点信息可以是接口信息及/节点路径信息。

所述选择模块20,用于根据所述目标节点信息以及预先存储的集群映射关系确定所述业务请求对应的集群;

预先在路由端预存集群映射关系,所述映射关系包括目标节点信息与集群的映射关系,所述路由在获取到所述目标节点信息后可以通过所述目标信息从预先存储的集群映射关系中查找到所述业务请求对应的集群。

所述路由模块30,用于将所述业务请求路由至与预设的同机房匹配策略对应机房的集群以完成所述业务请求对应的业务服务。

在集群部署过程中,为了实现高可用性,会部署多个集群在不同的机房。所述路由在确定所述业务请求对应的集群后,判断是否支持同机房策略,在支持同机房策略时,将所述业务请求路由至与预设的同机房匹配策略对应机房的集群以完成所述业务请求对应的业务服务,通过同机房策略在为业务选择集群时,选择最优的集群来完成业务服务。本发明实施例通过由路由统一来控制集群服务的选择,并按照同机房策略为业务匹配同机房的集群,提供了一种集群选择的方式,在客户端发起业务请求时,选择合理的集群建立连接,能够准确、快速的选择集群建立连接,提高ZK集群的分配和选择效率。

在本发明一较佳实施例中,为了提高同机房匹配的合理性,参考图7,所述路由模块30包括:获取单元31和路由单元32,

所述获取单元31,用于获取所确定的集群同机房的权重信息;用户可以设置权重信息来增加路由到同机房集群的概率,在用户发起业务请求时,业务请求中会携带集群同机房的权重信息,在路由接收到业务请求时,获取所确定的集群同机房的权重信息。

所述路由单元32,用于在所述权重信息满足同机房条件时,将所述业务路由至对应的同机房集群。所述满足同机房条件可以是权重信息对应的权重值大于预设阈值,例如,权重值大于0.8,或大于0.7时,判断权重信息满足同机房条件,所述路由将所述业务路由至对应的同机房集群。通过权重信息的设置,使得同机房路由的控制更加合理、准确。

在本发明一较佳实施例中,参考图8,所述装置还包括:检测模块40和确定模块50,所述检测模块40,用于检测预设的环境变量信息;所述预设的环境变量信息为提前预设所需要检测的环境变量信息,所述环境变量信息对应于是否开启同机房匹配策略,例如,可以是集群网络的流量信息或IP限制信息等。所述确定模块50,用于根据所述环境变量信息确定是否开启同机房匹配。在检测的环境变量信息与预设的匹配时,判断需要开启同机房匹配策略,例如,在流量小于预设阈值(10G或20G等);在检测的环境变量信息与预设的不匹配时,判断不需要开启同机房匹配策略。

为了节省集群配置的时间,在本发明一较佳实施例中,参考图9,所述装置还包括:获取模块60和构建模块70,

所述获取模块60,用于获取预先构建的集群的信息以及节点路径信息或接口信息;

所述构建模块70,用于根据所述集群的信息以及节点路径信息或接口信息构建集群映射关系并存储,将节点路径信息与集群映射或将接口信息与集群映射;由环境变量及/或系统变量构建一套ZK集群,其他ZK集群构建在所述ZK集群的文件下。

用户只需要通过环境变量/系统变量配置一套ZK集群,其他套的ZK集群配置在这个ZK集群约定的bootstrap启动文件中,而无需根据不同的运行环境配置多套的ZK集群,例如,在开发/测试/生产只需要配置一套ZK集群,其他ZK集群配置在这个已配置ZK集群的启动文件中。在集群构建完毕后,所述路由获取预先构建的集群的信息以及节点路径信息或接口信息所述路由根据所述集群的信息以及节点路径信息或接口信息构建集群映射关系并存储,将节点路径信息与集群映射或将接口信息与集群映射。在本发明其他实施例中,为了避免集群选择失败,根据节点路径信息以及接口信息与集群映射,通过多个变量(节点路径信息和接口信息)来映射集群,进一步增加集群的选择准确性,及时选择对的集群完成客户端的业务服务。

为了更加准确的选择集群,找到对应的集群建立客户端与集群的连接完成业务服务。在本发明一较佳实施例中,所述路由单元32,还用于确定所述目标节点对应的路径信息,根据所述路径信息以及预先存储的集群映射关系确定所述业务请求对应的集群。

针对不同ZK集群不同数据节点路径能够通过规则匹配映射不同的ZK集群

在本发明另一较佳实施例中,所述路由确定所述目标节点的接口信息,根据所述接口信息以及预先存储的集群映射关系确定所述业务请求对应的集群。客户端通过提供的api接口指定路径的方式即可路由到想要的ZK集群。

ZK集群存在不同的运行环境,例如,会存在开发/测试/生产等多个运行环境。在一较佳实施例中,所述路由单元32,还用于判断所确定的集群是否为所述ZK集群;若不是所述ZK集群,则控制从所述集群的文件下读取所确定的集群的配置,并创建所述客户端与所述集群的连接以完成所述业务请求对应的业务服务。

所述路由在确定选择同机房的集群时,判断确定的集群是否为ZK集群,例如,确定集群为开发运行环境下的集群,但配置的ZK集群只有测试集群,则从ZK集群的启动文件中读取开发集群的配置,为客户端的业务请求找到开发集群,并建立开发集群与客户端之间的业务连接,完成客户端的业务服务。本实施例通过环境变量以及通过配置一套ZK集群而无需配置多套使得,ZK集群配置简单化,且能及时找到相应运行环境的ZK集群配置完成业务服务。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1