一种集群系统的容灾方法和装置的制造方法_2

文档序号:8265367阅读:来源:国知局
的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0049]参照图1,示出了根据本发明一个实施例的一种集群系统的容灾方法的步骤流程示意图,具体可以包括如下步骤:
[0050]步骤101、获取各集群节点的运行过程信息;其中,所述运行过程信息具体可以包括:可访问性信息和/或负载信息和/或操作执行信息;
[0051]本发明实施例可以应用于各种业务的集群系统,用于通过集群系统的容灾提高集群系统的可靠性。
[0052]参照图2,示出了根据本发明一个实施例的一种集群系统的结构示意图,其具体可以包括客户端201和集群节点202,其中,客户端201上可以运行有业务层的应用程序,其可以连接一个或多个集群节点202,且可以通过访问指定的集群节点202以执行get (用来从对象中读取数据)、set (用来向字段写入数据)和delete (用来删除数据)等操作。
[0053]本发明实施例中,上述运行过程信息可用于表示各集群节点在运行过程中的各种信息,其能够实时反映集群节点的运行情况。例如,本实施例的运行过程信息具体可以包括:可访问性信息和/或负载信息和/或操作执行信息;其中,可访问性信息能够实时反映集群节点是否可访问,负载信息能够实时反映集群节点是否过载,操作执行信息能够反映集群节点对于操作的出错率或者准确率等等。
[0054]本发明实施例可以提供如下获取各集群节点的运行过程信息的技术方案:
[0055]获取方案一、
[0056]获取方案一可以从集群节点获取其自身的可访问性信息和/或负载信息和/或操作执行信息。
[0057]在具体实现中,可以设置管理节点,该管理节点可与所有的集群节点交互通信,并基于交互通信从集群节点获取其自身的可访问性信息和/或负载信息和/或操作执行信息。
[0058]在本发明的一种应用示例中,所述可访问性信息具体可以包括:存活状态信息,其中,可以基于集群节点的心跳信息和/或端口信息来确定对应的存活状态信息。其中,心跳信息可以为通信双方(集群节点和管理节点)定时通知对方自己状态的一个自己定义的信息,其按照一定的时间间隔(心跳周期)发送,类似于心跳。例如,集群节点可以按照心跳周期向管理节点发送心跳消息,则管理节点可以监听所述集群节点的心跳信息,若在心跳周期内未收到某集群节点的心跳信息,可以认为该集群节点不存活。由于基于端口信息确定存活状态信息的过程与基于心跳信息确定存活状态信息的过程类似,故在此不作赘述,相互参照即可。
[0059]在本发明的又一种应用示例中,所述负载信息具体可以包括:CPU使用率、内存使用信息和流量信息等等,其中,流量信息可用于反映集群节点的访问频率,如QPS(每秒查询率,Query Per Second)是流量信息的一种示例,流量信息可由集群节点采用内存计数方式统计得到,当然,本发明实施例对CPU使用率、内存使用信息和流量信息的具体统计方法不加以限制。在具体实现中,集群节点可以将所述负载信息携带在心跳信息中定期上报给管理节点,也可以单独将所述负载信息定期上报给管理节点,本发明实施例对具体的上报方式不加以限制。
[0060]在本发明的再一种应用示例中,所述操作执行信息具体可以包括操作出错信息和/或预置时间段内的操作执行信息,假设所述预置时间段的长度等于时间片的长度,那么,所述预置时间段内的操作执行信息具体可以包括:get等操作在某个时间片内的执行次数和操作出错信息等等,其中,操作出错信息可以进一步包括:出错次数、出错类型信息和出错的详细信息等等。在具体实现中,集群节点可以实时向管理节点上报操作出错信息,且可以定期向管理节点上报所述预置时间段内的操作执行信息。
[0061]获取方案二、
[0062]获取方案一在集群节点侧统计并上报负载信息和/或操作执行信息,上述统计和上报容易对集群节点的性能造成影响;而获取方案二可以从客户端获取其所访问集群节点的负载信息和/或操作执行信息,也即,在客户端侧统计并上报负载信息和/或操作执行信息,能够避免对集群节点的性能造成影响。
[0063]在实际应用中,从客户端获取的其所访问集群节点的负载信息具体可以包括:流量信息等等,从客户端获取的其所访问集群节点的操作执行信息具体可以包括操作出错信息和/或预置时间段内的操作执行信息等等。
[0064]在本发明的一种可选实施例中,所述从客户端获取其所访问集群节点的操作执行信息的步骤,具体可以包括:
[0065]子步骤Al、从客户端实时获取其所访问集群节点的操作出错信息;和/或
[0066]子步骤A2、从客户端定期获取其所访问集群节点在预置时间段内的操作执行信息。
[0067]对于客户端侧统计并上报负载信息和/或操作执行信息的过程,由于其与集群节点侧统计并上报负载信息和/或操作执行信息的过程类似,故在此不作赘述,相互参照即可。
[0068]步骤102、当所述集群节点的可访问性信息和/或负载信息和/或操作执行信息符合预置容灾条件时,对集群系统进行容灾处理。
[0069]本发明实施例可以提供如下当所述集群节点的可访问性信息和/或负载信息和/或操作执行信息符合预置容灾条件时,对集群系统进行容灾处理的方案:
[0070]容灾方案一、
[0071]容灾方案一在所述集群节点的可访问性信息符合预置容灾条件时,可以对集群系统中的集群节点或者整个集群进行容灾处理,以避免相应客户端访问的服务不可用,从而保证集群系统的响应能力。
[0072]相应地,所述当所述集群节点的可访问性信息符合预置容灾条件时,对集群系统进行容灾处理的步骤,具体可以包括:
[0073]子步骤B1、在当前集群节点的可访问性信息为否时,向客户端发送第一节点切换信息;其中,所述第一节点切换信息用于指示客户端访问除当前集群节点外的其它集群节点;和/或
[0074]例如,在当前集群节点的心跳不存活时,可以认为当前集群节点不可访问,也即,当前集群节点无法继续提供服务,故可以通过第一节点切换信息指示客户端访问除当前集群节点外的其它集群节点,这里,客户端可用于表示该当前集群节点所连的客户端,其它集群节点的数目可以为一个或多个,并且,其它集群节点应满足可访问性信息为是的条件。
[0075]子步骤B2、在当前集群内可访问性信息为否的集群节点比例超过预置比例时,向客户端发送第一集群切换信息;其中,所述第一集群切换信息用于指示客户端访问除当前集群外的其它集群。
[0076]例如,在当前集群内可访问性信息为否的集群节点比例超过50%时,可以通过第一集群切换信息指示客户端访问除当前集群外的其它集群,这里,客户端可以为该当前集群所连的部分客户端,并且,其它集群可以满足集群内可访问性信息为是的集群节点比例超过第二预置比例的条件。可以理解,上述50 %作为预置比例只是作为示例,本领域技术人员可以根据实际需求采用所述预置比例和第二预置比例,如第二预置比例为90%等等,本发明实施例对具体的预置比例和第二预置比例不加以限制。
[0077]容灾方案二、
[0078]容灾方案二可以在所述集群节点的负载信息符合预置容灾条件时,对集群系统中的集群节点或整个集群进行容灾处理,以避免集群节点或整个集群过载引起的故障或宕机等问题,从而实现集群节点或整个集群的过载保护。
[0079]相应地,所述集群节点的负载信息符合预置容灾条件时,对集群系统进行容灾处理的步骤,具体可以包括:
[0080]子步骤Cl、在当前集群节点的负载信息超过第一负载阈值时,向客户端发送第二节点切换信息;其中,所述第二节点切换信息用于指示客户端将部分或全部请求切换至除当前集群节点外的其它集群节点;和/或
[0081]例如,在当前集群节点的QPS超过IW时,可以认为当前集群节点的QPS超过能承载的流量上限,因此,可以通过第二节点切换信息指示客户端将部分请求切换至除当前集群节点外的其它集群节点,这里,客户端可用于表示该当前集群节点所连的客户端,其它集群节点的数目可以为一个或多个,并且,其它集群节点应满足负载信息不超过第一负载阈值的条件。
[0082]子步骤C2、在当前集群的负载信息超过第二负载阈值时,向客户端发送第二集群切换信息;其中,所述第二集群切换信息用于指示客户端将部分或全部请求切换至除当前集群外的其它集群。
[0083]例如,在当前集群的QPS超过流量上限时,可以通过第二集群切换信息指示客户端将部分请求切换至除当前集群外的其它集群,这里,
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1