一种面向大规模云数据中心的服务器协同监控方法技术

技术编号:10247825 阅读:136 留言:0更新日期:2014-07-24 01:46
本发明专利技术公开了一种面向大规模云数据中心的服务器协同监控方法,以服务器相互感知、彼此监视的方式来替代集中式架构的监控模式,提升服务器的自我管理能力,有效减轻监控服务器的监控负担,消除性能瓶颈和单点失效风险。发明专利技术给出了协同监控机制模型及功能组件,以及数据服务器加入系统时、单个数据服务器失效时、成片数据服务器失效时协同监控机制的工作步骤。本发明专利技术应用在大规模的云数据中心中,系统响应时间明显少于集中式监控机制的响应时间,有效实现了负载均衡,具有很低的更新开销,且无论数据服务器发生离散失效还是在服务器成片失效的情况下,均能够有效的将全部的失效服务器检测出来。

【技术实现步骤摘要】
一种面向大规模云数据中心的服务器协同监控方法
本专利技术涉及信息技术类系统管理应用领域,尤其涉及一种面向大规模云数据中心的服务器协同监控方法。
技术介绍
云计算基于集中构建的云数据中心为用户提供动态的、高性价比的、弹性规模扩展的计算、存储和各类信息服务,改变了传统信息技术产业的体系架构和运作模式,受到了目前国内外学术界和产业界的极大关注。世界主要国家政府和具有显著影响力的企业机构纷纷构建大规模的云数据中心;Google、百度、IBM、Microsoft、Yahoo、Amazon、VMware、Salesforce、华为等均提出了各自的云计算解决方案;Facebook、YouTube、淘宝、万网、新浪等受到广泛欢迎的网络系统也都基于云计算平台。云数据中心中的数据服务器是实际承载所有资源的物理基础,服务器的正常运行是云计算系统稳定、高效地提供服务的前提。因此,高效的服务器监控机制对于云计算系统而言至关重要。目前的云计算监控及管理系统关注的重点是对虚拟机资源和行为进行监控,对服务器本身的监控则简单采用集中式架构以及心跳或轮询模式。例如,Google云计算系统采用由一个或几个主控服务器来负责监控云数据中心的服务器集群中各数据服务器的状态。IBM的“蓝云”云计算平台采用Tivoli监控软件来监控云数据中心的服务器及任务的执行情况,也采用集中式监控架构。Nagios是被云计算系统广泛应用的主机和网络状态的监视系统,仍采用集中式监控架构。集中式监控架构的优点是可控性强、维护方便灵活,缺陷是系统存在性能瓶颈和单点故障问题。在中、小规模的数据中心里,如果采用集中式监控架构,数据服务器作为任务执行者向监控服务器定期发送心跳信息以汇报当前工作状态,防止服务器失效带来的延误是可行的。但在大规模的云数据中心中,则明显不能采用简单心跳机制,因为数量庞大的数据服务器都向监控服务器发送周期心跳信息将会带来大量额外的网络通信负担,并容易大量消耗监控服务器的系统和网络资源,造成系统性能瓶颈和监控服务器失效问题,至造成类似于分布式拒绝服务攻击的效果。为了解决上述问题,目前采用的方式是配置具备高性能和高可用性的监控服务器,并辅以日志恢复或双机备份等功能模块,由此也带来使得系统成本升高,并没有从本质上解决问题。本专利技术针对目前云数据中心监控系统存在的问题,给出一种面向大规模云数据中心的服务器协同监控方法,以数据服务器相互感知、彼此监视的方式来替代集中式架构的监控模式,提升服务器的自我管理能力,有效减轻监控服务器的监控负担,消除性能瓶颈和监控服务器失效风险。
技术实现思路
为解决上述技术问题,本专利技术提供一种面向大规模云数据中心的服务器协同监控方法,其采用的技术方案如下:一种面向大规模云数据中心的服务器协同监控方法,其基于服务器协同监控模型实现,服务器协同监控模型的主要部件包括监控服务器,消息路由器,数据服务器,消息队列,监控路由表,守护进程;其协同监控的方法包括如下步骤:步骤一:所有数据服务器依次相连构成单向环形拓扑结构,每个数据服务器都有前继服务器和后继服务器且受后继服务器监控,数据服务器发生故障而失效时,由其后继服务器负责将数据服务器的失效情况汇报监控服务器;步骤二:当数据服务器加入系统时其服务器协同监控方法为:重新建立包含该新数据服务器的单向环形拓扑结构,监控服务器将新数据服务器加入系统的情况通告给任务调度器;当单个数据服务器发生故障而失效时其服务器协同监控方法为:该数据服务器的后继服务器负责发现并将这个情况报告给监控服务器,重新建立排除该故障数据服务器的单向环形拓扑结构,监控服务器将该数据服务器故障的情况通告给任务调度器,并继续进行监控;当成片数据服务器失效时其服务器协同监控方法为:由后继于这些成片失效数据服务器的第一个正常数据服务器来负责依次发现并依次将数据服务器失效的情况报告给监控服务器,重新建立排除该故障数据服务器的单向环形拓扑结构,监控服务器依次将所有数据服务器故障的情况通告给任务调度器,并继续进行监控。步骤二中,当数据服务器加入系统时其服务器协同监控方法如下:步骤1:系统首先判断当前加入系统的数据服务器是首次加入系统还是重新加入系统;若数据服务器是首次加入系统时,将会通过守护进程与消息路由器连接,请求消息路由器为该服务器创建一个独立的心跳队列,系统中若曾经有N个数据服务器加入过系统,无论这些服务器目前是否在线,消息路由器上都将存在N个心跳队列,在后续阶段,服务器将会周期性向属于自己的心跳队列发布消息;若数据服务器是重新加入系统,则消息路由器已经有了该服务器首次加入系统时为其创建的心跳队列,则不必重新创建;步骤2:数据服务器主动向监控服务器汇报,具体的做法是向消息路由器发布一个主题为“登录”的消息包,该消息包被填入消息路由器上的全局监控队列中;步骤3:监控服务器在初始化时已订阅该全局监控队列,当监控服务器获得“登录”消息包时,立刻从该消息包中提取所需监控的服务器信息(NID,IP,QID),将该信息填入监控服务器本地维护的监控路由表中,对监控路由表中的该服务器的后继服务器的相关记录进行修改,并将相关信息发送给该后继服务器,以重建单向环形网络拓扑。步骤3中的修改方法具体为:步骤(1):设数据服务器DNm+1加入系统,监控服务器根据其“登录”消息包中的信息在监控路由表末尾为DNm+1新增一条记录,同时修改列表中的DN1记录对应的信息,如表2所示。添加数据服务器DNm+1的信息意味着将DNm+1插入至DN1和DNm之间,因此将原来的DN1的前继指针(PreNode,PreQID)信息(DNm,Qm)填入DNm+1记录的前继指针对应项中,然后修改DN1的前继指针为(DNm+1,Qm+1)。步骤(2):监控服务器将表中服务器DNm+1对应记录中的前继指针(DNm,Qm)按照DNm+1的IP地址再发送给服务器DNm+1;还将DN1对应记录中的修改后的前继指针信息(DNm+1,Qm+1)按照DN1的IP地址再发送给服务器DN1;步骤(3):服务器DNm+1向消息路由器申请订阅标识为Qm的心跳队列,服务器DN1向消息路由器申请订阅标识为Qm+1的心跳队列;网络拓扑重建完成,原来的DN1和DNm之间的监控关系被修正为DN1和DNm+1之间、DNm+1和DNm之间的监控关系。步骤4:监控服务器还需要将DNm+1加入系统的情况通告给任务调度器,后续再有新任务时,任务调度器可选择分配任务给DNm+1。步骤二中当单个数据服务器发生故障而失效时其服务器协同监控方法如下:步骤1:如果服务器DNi+1连续几个心跳周期(如连续3个周期)没有从Qi所标识的心跳队列中获得消息,则立刻向消息路由器发布一个主题为“故障”的消息包,该消息包将被填入消息路由器上的全局监控队列中;步骤2:监控服务器在全局监控队列中获得“故障”消息包时,从该消息包提取到发出故障信息的服务器为DNi+1,再由本地的监控路由表中发现DNi+1监控对象(即DNi+1的前继服务器)为DNi步骤3:监控服务器判定DNi故障,然后更新监控路由表:首先将表中服务器DNi对应记录中的(PreNode,PreQID)信息(DNi-1,Qi-1)提取出来以更新DNi+1对应记录中的(PreNode,PreQI本文档来自技高网
...

【技术保护点】
一种面向大规模云数据中心的服务器协同监控方法,其基于服务器协同监控模型实现,服务器协同监控模型的主要部件包括监控服务器,消息路由器,数据服务器,消息队列,监控路由表,守护进程;其协同监控的方法包括如下步骤: 步骤一:所有数据服务器依次相连构成单向环形拓扑结构,每个数据服务器都有前继服务器和后继服务器且受后继服务器监控,数据服务器发生故障而失效时,由其后继服务器负责将数据服务器的失效情况汇报监控服务器; 步骤二:当数据服务器加入系统时其服务器协同监控方法为:重新建立包含该新数据服务器的单向环形拓扑结构,监控服务器将新数据服务器加入系统的情况通告给任务调度器; 当单个数据服务器发生故障而失效时其服务器协同监控方法为:该数据服务器的后继服务器负责发现并将这个情况报告给监控服务器,重新建立排除该故障数据服务器的单向环形拓扑结构,监控服务器将该数据服务器故障的情况通告给任务调度器,并继续进行监控; 当成片数据服务器失效时其服务器协同监控方法为:由后继于这些成片失效数据服务器的第一个正常数据服务器来负责依次发现并依次将数据服务器失效的情况报告给监控服务器,重新建立排除该故障数据服务器的单向环形拓扑结构,监控服务器依次将所有数据服务器故障的情况通告给任务调度器,并继续进行监控。...

【技术特征摘要】
1.一种面向大规模云数据中心的服务器协同监控方法,其基于服务器协同监控模型实现,服务器协同监控模型的主要部件包括监控服务器,消息路由器,数据服务器,消息队列,监控路由表,守护进程;面向大规模云数据中心的服务器协同监控的方法包括如下步骤:步骤一:所有数据服务器依次相连构成单向环形拓扑结构,每个数据服务器都有前继服务器和后继服务器且受后继服务器监控,数据服务器发生故障而失效时,由失效的数据服务器的后继服务器负责将失效数据服务器的失效情况汇报监控服务器;步骤二:当数据服务器加入系统时,面向大规模云数据中心的服务器协同监控方法为:重新建立包含该新加入的数据服务器的单向环形拓扑结构,监控服务器将新数据服务器加入系统的情况通告给任务调度器;当单个数据服务器发生故障而失效时面向大规模云数据中心的服务器协同监控方法为:该数据服务器的后继服务器负责发现并将这个情况报告给监控服务器,重新建立排除发生故障的数据服务器的单向环形拓扑结构,监控服务器将该数据服务器故障的情况通告给任务调度器,并继续进行监控;当成片数据服务器失效时面向大规模云数据中心的服务器协同监控方法为:步骤2-1:在数据服务器DNi+1连续几个周期没有从Qi所标识的心跳队列中获得消息,则立刻向消息路由器发布一个主题为“故障”的消息包,该消息包将被填入消息路由器上的全局监控队列;步骤2-2:监控服务器在全局监控队列中获得“故障”消息包时,从该消息包提取到发出故障信息的数据服务器为DNi+1,再由本地的监控路由表中发现DNi+1监控对象为DNi,则判定DNi故障;步骤2-3:监控服务器更新监控路由表:首先将监控路由表中数据服务器DNi对应记录中的(PreNode,PreQID)信息(DNi-1,Qi-1)提取出来以更新DNi+1对应记录中的(PreNode,PreQID)信息,然后将DNi对应的记录删除;步骤2-4:监控服务器按照DNi+1的IP地址将更新后的(PreNode,PreQID)信息再发送给数据服务器DNi+1,数据服务器DNi+1向消息路由器申请订阅标识为Qi-1的心跳队列,DNi+1和DNi-1建立起监控关系;步骤2-5:监控服务器还需要将DNi故障的情况通告给任务调度器,后续再有新任务时,任务调度器将不会分配任务给DNi,除非DNi恢复正常在线状态并重新加入系统;步骤2-6:由于DNi-1也因故障而失效了,因此同样的,在数据服务器DNi+1连续几个周期没有从Qi-1所标识的心跳队列中获得消息时,则又立刻向消息路由器发布一个主题为“故障”的消息包,该消息包将被填入消息路由器上的全局监控队列;步骤2-7:监控服务器在全局监控队列中获得“故障”消息包时,从该消息包提取到发出故障信息的数据服务器为DNi+1,再由本地的监控路由表中发现DNi+1监控对象为DNi-1,则判定DNi-1故障;步骤2-8:监控服务器更新监控路由表:首先将监控路由表中数据服务器DNi-1对应记录中的(PreNode,PreQID)信息(DNi-2,Qi-2)提取出来以更新DNi+1对应记录中的(PreNode,PreQID)信息,然后将DNi-1对应的记录删除;步骤2-9:监控服务器按照DNi+1的IP地址将更新后的(PreNode,PreQID)信息再发送给数据服务器DNi+1,数据服务器DNi+1向消息路由器申请订阅标识为Qi-2的心跳队列,DNi+1和DNi-2建立起监控关系,单向环形网络拓扑也再次重建完成;步骤2-10:监控服务器还需要将DNi-1故障的情况通告给任务调度器,后续再有新任务时,任务调度器将不会分配任务给DNi-1,除非DNi-1恢复正常在线状态并重新加入系统;更多的数据服务器成片失效时,采用与步骤2-6~步骤2-9相同的流程来依次发现所有的失效数据服务器;PreNode是当前数据服务器的前继服务器,PreQID是指当前数据服务器的前继服务器的心跳队列的标识,DNi是数据服务器DNi的服务器标识,Qi是与数据服务器DNi对应的心跳队列标识,DNi-1是数据服务器DNi-1的服务器标识,Qi-1是与数据服务器DNi-1对应的心跳队列标识,DNi-2是数据服务器DNi-2的服务器标识,Qi-2是与数据服务器DNi-2对应的心跳队列标识,DNi+1是数据服务器DNi+1的服务器标识。2.根据权利要求1所述的一种面向大规模云数据中心的服务器协同监控方法,其步骤二中,当数据服务器加入系统时面向大规模云数据中心的服务器协同监控方法如下:步骤1:系统首先判断当前加入系统的数据服务器是首次加入系统还是重新加入系统;若数据服务器是首次加入系统时,该数据服务器将会通过守护进程与消息路由器连接,并请求消息路由器为该数据服务器创建一个独立的心跳队列,然后该数据服务器周期性向该心跳队列发布心跳消息,系统中若曾经有N个数据服务器加入过系统,无论这些数据服务器目前是否在线,消息路由器上都将存在N个心跳队列,在...

【专利技术属性】
技术研发人员:徐小龙杨冠章韵李嘉豪张凯李爱群
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏;32

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

1