物联网数据采集服务器集群的监控和管理方法

文档序号:7852323阅读:390来源:国知局
专利名称:物联网数据采集服务器集群的监控和管理方法
技术领域
本发明涉及物联网领域与分布式服务器集群管理领域,特别涉及一种物联网数据采集服务器集群的监控和管理方法。
背景技术
物联网技术是新一代信息技术的重要组成 部分,其核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络,物联网采集 終端通过有线网络或无线网络与数据采集中心监控管理服务器相连接。在大型物联网系统应用中,一台服务器远不能满足系统应用的需求,对于多台服务器的集群,如何监控管理集群服务器以及平衡服务器的工作负载,涉及到分布式同步、负载均衡、任务自动分配和接管等各种问题。目前已存在一些数据分布式的采集系统,但这些采集系统主要负责数据接收エ作,缺少分布式管理的自动机制,存在以下不足I、当有新的物联网采集終端增加时,只能人工为其指定采集服务器,难以保证集群服务器的整体负载均衡;2、目前的分布式采集系统由于没有实现实时监管和负载均衡机制,因而无法自动地将高负载的采集服务器中的エ作任务分配到其他低负载的采集服务器中以降低单台服务器的压カ并保持系统的平稳运行;3、当采集服务器出现故障吋,目前主要采用人工的方法启动新的机器,并且人工设置新的采集任务,而没有提供对集群内采集服务器的实时监管以及自动切换功能;4、将采集服务器的连接方式固化在采集终端里,采集服务器无法自动获取任务列表来进行采集エ作,尤其当采集服务器出现故障的时候,需要采用人工的方式重新对采集终端设定新采集服务器的连接方式,不仅加大维护的工作量,而且会不可避免地出现人工设置错误。

发明内容
本发明所要解决的技术问题是针对物联网中海量数据的自动采集问题,提供一种物联网数据采集服务器集群的监控和管理方法,以对数据采集中心服务器集群进行实时监控和管理,从而实现数据采集任务自动分配、集群负载均衡分配、失效任务自动接管。本发明解决上述问题所采用的技术方案为一种物联网数据采集服务器集群的监控和管理方法,包括以下步骤
(1)、预先将所有与采集服务器连接的物联网采集终端的ID存储到关系数据库中;
(2)、利用分布式协同服务Zookeeper建立树形存储结构;该树形存储结构在根节点下设立采集服务器、管理服务器、采集任务列表和配置文件四个子节点,分别用于存放相关的采集服务器信息、管理服务器信息、采集任务列表信息和系统配置信息;
(3)、启动Zookeeper协同服务;
(4)、启动集群中管理服务器和采集服务器与Zooke印er协同服务的连接任务,并在Zookeeper中建立与连接相对应的子临时节点;
(5)、主管理服务器读取数据库中预存的采集终端ID并将采集終端ID平均分配给每台可提供采集服务的采集服务器;(6)、主管理服务器监听来自采集终端的连接,当有采集终端通过网络连接到主管理服务器时,主管理服务器返回该采集終端所归属的采集服务器的IP和端ロ并由路由设备转发给采集終端;
(7)、采集终端与主管理服务器指定的采集服务器进行连接通信;
(8)、姆台采集服务器均定时将本机的状态信息写入Zookeeper中对应的节点;
(9)、主管理服务器通过Zookeeper对采集服务器进行监控,当发现有采集服务器过载时,主管理服务器根据当前集群中其他采集服务器的负载状况,及时调整每台采集服务器的工作负载;当发现有采集服务器无法提供服务时,主管理服务器判断当前集群中是否有备用采集服务器,若有备用采集服务器,启用备用采集服务器;若没有备用采集服务器,主管理服务器将该采集服务器负责的采集終端任务平均分配给集群内其它可提供采集服务的采集服务器; (10)、步骤(9)采集终端任务重新分配后,采集终端与原采集服务器的连接可能失败,若采集终端与原采集服务器尝试连接失败,采集終端会再次向主管理服务器请求连接,主管理服务器返回新的采集服务器的IP和端ロ。还包括以下步骤
(11)、从管理服务器通过Zooke印er对主管理服务器进行监控,若主管理服务器与Zookeeper失去连接,从管理服务器升为主管理服务器,备管理服务器升为从管理服务器;
(12)、备管理服务器通过Zooke印er对从管理服务器进行监控,若从管理服务器升为主管理服务器或与Zookeeper失去连接,备管理服务器升为从管理服务器;
(13)、失去连接的管理服务器恢复后成为备管理服务器。步骤(4)中所述在Zookeeper中建立与连接相对应的子临时节点是指,姆台管理服务器与Zook^per连接后均在管理服务器节点下建立一子临时节点,每台采集服务器与Zookeeper连接后均在采集服务器节点和采集任务列表节点下各建立一子临时节点。步骤(5)具体操作步骤为
①、主管理服务器分别从数据库和配置文件中读取所有的采集终端ID和采集服务器列表;
②、主管理服务器将采集终端平均分配给每台可提供采集服务的采集服务器;
③、主管理服务器将分配好后的采集任务列表信息写入采集任务列表节点下相应的各个采集服务器子临时节点中;
④、各采集服务器监听到采集任务列表节点下相应的子临时节点中的数据发生变化,从各自对应的子临时节点中读取采集任务列表信息。步骤(9)具体操作步骤为
(一)、主管理服务器通过Zook^per对采集服务器进行监控,发现有采集服务器过载,管理服务器根据当前集群中其他采集服务器的负载状况,及时调整每台采集服务器的工作负载;
(ニ)、主管理服务器通过Zooke^er对采集服务器进行监控,发现有采集服务器与Zookeeper失去连接
(a),Zookeeper自动删除与该采集服务器对应的节点并通知主管理服务器;
(b)、主管理服务器接到Zookeeper的通知后启动ー个定时器,判断在规定时间内失去连接的采集服务器是否自动恢复;
(C)、若步骤(b)判断失去连接的采集服务器在规定时间内自动恢复,主管理服务器不采取任何操作;若步骤(b)判断失去连接的采集服务器在规定时间内没有自动恢复,主管理服务器判定该采集服务器宕机,主管理服务器判断当前集群中是否有备用采集服务器;
(d)、若步骤(C)判断当前集群中有备用采集服务器,主管理服务器启用备用采集服务器,并将原先采集服务器所负责的采集终端列表写入到新启用的采集服务器对应的Zookeeper节点中;若步骤(C)判断当前集群中没有备用服务器,主管理服务器将原先采集服务器负责的采集終端任务平均分配给集群内其它可提供采集服务的采集服务器,并将每台采集服务器所负责的新采集终端列表写入Zookeeper内相应的节点中;
(e)、宕机的采集服务器恢复并重启后归入备用采集服务器列表,当备用采集服务器超过ー定数目吋,主管理服务器从备用采集服务器列表中选取部分安排工作。 与现有技术相比,本发明的优点在于第一、当増加新的物联网采集终端时,可以根据集群内采集服务器的运行状态进行采集任务的自动分配,保证集群服务器的整体负载均衡;第二、可以通过对采集服务器的运营状态的实时监控并调整工作复杂;第三、通过建立相互备份机制,当采集服务器无法提供服务的时候,自动将其任务迁移到备份服务器或其他低负载的采集服务器;第四、无需为物联网采集終端手动分配连接IP和端ロ,采集终端可通过管理服务器自动获取其需要连接的采集服务器,即时采集服务器无法连上后,采集終端可再次自动地从管理服务器获取新的连接方式。


图I是本发明中所涉及的监控和管理系统的物理结构图。图2是本发明的实施步骤流程图。图3是本发明中Zooke^er的集群服务器节点信息结构图。图4是本发明中采集终端发送数据给采集服务器的流程图。
具体实施例方式为便于说明本发明的控制方法,下面结合附图,对本发明物联网数据采集服务器 集群的监控和管理方法做详细说明
本发明所基于的物联网数据采集服务器集群的监控和管理系统如图I所示,采集服务器和管理服务器作为客户端与Zook^per服务器集群相连,ZooKeeper是ー个分布式的,开放源码的分布式应用程序协调服务,Zookeeper集群提供了对管理服务器和采集服务器的全局监控、配置和管理备用机等服务。Zookeeper集群可以通过心跳协议实时地检测采集服务器的状态、资源使用率和工作负载等信息。采集服务器上线时,从Zooke印er集群中下载全局配置信息,并从中读取自己所负责的采集终端列表,然后与该列表中的采集终端进行数据通讯并采集相关数据。管理服务器与Zookeeper集群连接,并通过Zookeeper负责动态更新全局配置信息和监测采集服务器的状态。管理服务器包括主、从、备三台,其中,只有主管理服务器提供服务。当发现有采集服务器宕机吋,管理服务器使用备用服务器替换当前宕机的采集服务器,并将原宕机的采集服务器所负责的采集终端列表分配给新的服务器。管理服务器定时查询数据库服务器中的采集终端信息,并将最新的数据同步到Zooke^er集群中。采集服务器、管理服务器以及Zooke印er集群处于同一个内网,该内网与外网之间通过路由器转发数据包,采集终端通过路由器与管理服务器相连,采集終端向管理服务器请求采集服务器的IP和端ロ,然后与采集服务器进行数据通讯。本发明物联网数据采集服务器集群的监控和管理方法,包括以下步骤
(1)、预先将所有与采集服务器连接的物联网采集终端的ID存储到关系数据库中;当有新的物联网采集終端增加时,也将ID存储进关系数据库,以供管理服务器定时查询;
(2)、利用分布式协同服务Zookeeper建立树形存储结构;如图3所示,该树形存储结构在根节点(Root)下设立采集服务器(Cserver)、管理服务器(Cmaster)、采集任务列表(ConcentratorList)和配置文件(Configure)四个子节点。Root ZNode为最高节点。CServer节点以临时节点方式存储所有采集服务器相关信息,包括所有当前提供采集服务的机器和未提供采集服务的备份机器。CMaster以临时节点方式存储主、从、备三个管理服务器信息。ConcentratorList以临时节点方式存储所有采集服务器的采集任务信息。Configure以永久节点方式存储本发明所基于的物联网数据采集服务器集群的监控和管理 系统的所有配置信息。Configure节点下存放三类信息,第一类是采集服务器的统ー配置信息,存放在名为Same的节点下;第二类针对不同的采集服务器设定不同的配置信息,存放在名为Distinct的临时性子节点中;第三类配置信息存放在Extension节点中,用于以后的配置扩展;
(3)、启动Zookeeper协同服务;
(4)、启动集群中管理服务器和采集服务器与Zooke印er协同服务的连接任务,并在Zookeeper中建立与连接相对应的子临时节点;
(5)、主管理服务器读取数据库中预存的采集终端ID并将采集終端ID平均分配给每台可提供采集服务的采集服务器;
(6)、主管理服务器监听来自采集终端的连接,当有采集终端通过网络连接到主管理服务器时,主管理服务器返回该采集終端所归属的采集服务器的IP和端ロ并由路由设备转发给采集終端;
(7)、采集终端与主管理服务器指定的采集服务器进行连接通信;之后除非与该采集服务器连接失败否则无需再与主管理服务器进行连接;
(8)、姆台采集服务器姆_两分钟均向Zookeeper结构中的Cserver下对应的子临时节点写入本机的负载信息、状态信息、CPU使用率、内存使用率和IO信息等;
(9)、主管理服务器通过Zookeeper对采集服务器进行监控,当发现有采集服务器过载时,主管理服务器根据当前集群中其他采集服务器的负载状况,及时调整每台采集服务器的工作负载;当发现有采集服务器无法提供服务时,主管理服务器判断当前集群中是否有备用采集服务器,若有备用采集服务器,启用备用采集服务器;若没有备用采集服务器,主管理服务器将该采集服务器负责的采集終端任务平均分配给集群内其它可提供采集服务的采集服务器;
(10)、步骤(9)采集终端任务重新分配后,采集终端与原采集服务器的连接可能失败,若采集终端与原采集服务器尝试连接失败,采集終端会再次向主管理服务器请求连接,主管理服务器返回新的采集服务器的IP和端ロ。还包括以下步骤(11)、从管理服务器通过Zooke印er对主管理服务器进行监控,若主管理服务器与Zookeeper失去连接,从管理服务器升为主管理服务器,备管理服务器升为从管理服务器;
(12)、备管理服务器通过Zooke印er对从管理服务器进行监控,若从管理服务器升为主管理服务器或与Zookeeper失去连接,备管理服务器升为从管理服务器;
(13)、失去连接的管理服务器恢复后成为备管理服务器。步骤(4)中所述在Zookeeper中建立与连接相对应的子临时节点是指,姆台管理服务器与Zookeeper连接后均在管理服务器节点(Cmaster)下建立一子临时节点(包括主M、从M、备M),姆台采集服务器与Zookeeper连接后均在采集服务器节点(Cserver)和采集任务列表节点(ConcentratorList)下各建立一子临时节点(包括建立在Cserver节点下的SI…Sn和建立在ConcentratorList节点下的LI…Ln)。步骤(5)具体操作步骤为
①、主管理服务器分别从数据库和配置文件中读取所有的采集终端ID和采集服务器列表;主管理服务器在第一次读取数据库中所有的采集终端ID后仍会定时查询数据库服务器中的采集终端信息,并将最新的数据同步到Zookeeper中以便对新増加的采集终端进行自动分配;
②、主管理服务器将采集终端平均分配给每台可提供采集服务的采集服务器,并在内存中建立(采集服务器主机,采集终端列表)的采集服务器哈希表和(采集終端ID,采集服务器IP =Port)的采集终端哈希表;
③、主管理服务器将采集服务器哈希表写入采集任务列表节点(ConcentratorList)下相应的各个采集服务器子临时节点中;
④、各采集服务器监听到采集任务列表节点(ConcentratorList)下相应的子临时节点中的数据发生变化,从各自对应的子临时节点中读取采集任务列表信息。步骤(9 )具体操作步骤为
(一)、主管理服务器通过Zook^per对采集服务器进行监控,发现有采集服务器过载,管理服务器根据当前集群中其他采集服务器的负载状况,及时调整每台采集服务器的工作负载;
(ニ)、主管理服务器通过Zooke^er对采集服务器进行监控,发现有采集服务器与Zookeeper失去连接
(a),Zookeeper自动删除与该采集服务器对应的节点并通知主管理服务器;
(b)、主管理服务器接到Zookeeper的通知后启动ー个定时器,判断在规定时间内失去连接的采集服务器是否自动恢复;
(C)、若步骤(b)判断失去连接的采集服务器在规定时间内自动恢复,主管理服务器不采取任何操作;若步骤(b)判断失去连接的采集服务器在规定时间内没有自动恢复,主管理服务器判定该采集服务器宕机,主管理服务器判断当前集群中是否有备用采集服务器;
(d)、若步骤(C)判断当前集群中有备用采集服务器,主管理服务器启用备用采集服务器,并将原先采集服务器所负责的采集终端列表写入到新启用的采集服务器对应的Zookeeper节点中,即新启用的采集服务器建立在ConcentratorList下的子临时节点;若步骤(C)判断当前集群中没有备用服务器,主管理服务器将原先采集服务器负责的采集终端任务平均分配给集群内其它可提供采集服务的采集服务器,并将每台采集服务器所负责的新采集终端列表写入Zooke^er内相应的节点中,即每台采集服务器建立在ConcentratorList下的各个子临时节点;
(e)、宕机的采集服务器恢复并重启后归入备用采集服务器列表,当备用采集服务器超过ー定数目吋,主管理服务器从备用采集服务器列表中选取部分安排工作。上述步骤中所述的监听、监控均是利用了 Zookeeper的事件通知机制,当在相应节点注入watcher (Zookeeper监听器)之后,Zookeeper即会将该节点数据发生的变化通知给相应的服务器。图3中的虚线表示watcher的分布。图4为采集终端发送数据给采集服务器的流程,在该流程中有采集终端、路由器、管理服务器和采集服务器四种參与者。步骤I :当采集终端上线时,通过路由器向管理服务器发送请求连接;
步骤2:路由器将该连接请求映射到管理服务器;
步骤3 :管理服务器根据当前采集服务器集群的工作负载状态和采集服务器的分配策略,为该集中器分配一个采集服务器;
步骤4 :路由器将步骤3中的信息转发给采集终端;
步骤5 :采集终端收到连接的采集服务器IP和端口号后,与管理服务器断开连接; 步骤6 :管理服务器监听到连接断开,关闭socket ;
步骤7:采集终端向接收到的采集服务器发送连接请求;
步骤8 :路由器转发采集终端的连接请求;
步骤9 :采集服务器接收到采集终端的连接请求后,监测该采集终端ID是否在它所负责的采集終端列表中,如果在,则接受该采集终端的连接请求,否则拒绝;
步骤10 :路由器转发步骤9的响应帧;
步骤11 :采集终端收到响应帧后,发送确认帧;
步骤12 :路由转发确认帧,采集服务器接收到确认帧后,连接成功;
步骤13 :如果采集終端与采集服务器失去连接,则最多重复步骤7两次,如果还是连不上则转入步骤14 ;
步骤14 :如果重复两次步骤7均未成功,则重复步骤I。
权利要求
1.一种物联网数据采集服务器集群的监控和管理方法,其特征在于包括以下步骤 (1)、预先将所有与采集服务器连接的物联网采集终端的ID存储到关系数据库中; (2)、利用分布式协同服务Zookeeper建立树形存储结构;该树形存储结构在根节点下设立采集服务器、管理服务器、采集任务列表和配置文件四个子节点,分别用于存放相关的采集服务器信息、管理服务器信息、采集任务列表信息和系统配置信息; (3)、启动Zookeeper协同服务; (4)、启动集群中管理服务器和采集服务器与Zooke印er协同服务的连接任务,并在Zookeeper中建立与连接相对应的子临时节点; (5)、主管理服务器读取数据库中预存的采集终端ID并将采集終端ID平均分配给每台可提供采集服务的采集服务器; (6)、主管理服务器监听来自采集终端的连接,当有采集终端通过网络连接到主管理服务器时,主管理服务器返回该采集終端所归属的采集服务器的IP和端ロ并由路由设备转发给采集終端; (7)、采集终端与主管理服务器指定的采集服务器进行连接通信; (8)、姆台采集服务器均定时将本机的状态信息写入Zookeeper中对应的节点; (9)、主管理服务器通过Zookeeper对采集服务器进行监控,当发现有采集服务器过载时,主管理服务器根据当前集群中其他采集服务器的负载状况,及时调整每台采集服务器的工作负载;当发现有采集服务器无法提供服务时,主管理服务器判断当前集群中是否有备用采集服务器,若有备用采集服务器,启用备用采集服务器;若没有备用采集服务器,主管理服务器将该采集服务器负责的采集終端任务平均分配给集群内其它可提供采集服务的采集服务器; (10)、步骤(9)采集终端任务重新分配后,采集终端与原采集服务器的连接可能失败,若采集终端与原采集服务器尝试连接失败,采集終端会再次向主管理服务器请求连接,主管理服务器返回新的采集服务器的IP和端ロ。
2.根据权利要求I所述的ー种物联网数据采集服务器集群的监控和管理方法,其特征在于 还包括以下步骤 (11)、从管理服务器通过Zooke印er对主管理服务器进行监控,若主管理服务器与Zookeeper失去连接,从管理服务器升为主管理服务器; (12)、备管理服务器通过Zooke印er对从管理服务器进行监控,若从管理服务器升为主管理服务器或与Zookeeper失去连接,备管理服务器升为从管理服务器; (13)、失去连接的管理服务器恢复后成为备管理服务器。
3.根据权利要求I所述的ー种物联网数据采集服务器集群的监控和管理方法,其特征在于步骤(4)中所述在Zookeeper中建立与连接相对应的子临时节点是指,姆台管理服务器与Zookeeper连接后均在管理服务器节点下建立一子临时节点,每台采集服务器与Zookeeper连接后均在采集服务器节点和采集任务列表节点下各建立一子临时节点。
4.根据权利要求I所述的ー种物联网数据采集服务器集群的监控和管理方法,其特征在于步骤(5)具体操作步骤为 ①、主管理服务器分别从数据库和配置文件中读取所有的采集终端ID和采集服务器列表; ②、主管理服务器将采集终端平均分配给每台可提供采集服务的采集服务器; ③、主管理服务器将分配好后的采集任务列表信息写入采集任务列表节点下相应的各个采集服务器子临时节点中; ④、各采集服务器监听到采集任务列表节点下相应的子临时节点中的数据发生变化,从各自对应的子临时节点中读取采集任务列表信息。
5.根据权利要求I所述的ー种物联网数据采集服务器集群的监控和管理方法,其特征在于步骤(9)具体操作步骤为 (一)、主管理服务器通过Zook^per对采集服务器进行监控,发现有采集服务器过载,管理服务器根据当前集群中其他采集服务器的负载状况,及时调整每台采集服务器的工作负载; (ニ)、主管理服务器通过Zooke^er对采集服务器进行监控,发现有采集服务器与Zookeeper失去连接 (a),Zookeeper自动删除与该采集服务器对应的节点并通知主管理服务器; (b)、主管理服务器接到Zookeeper的通知后启动ー个定时器,判断在规定时间内失去连接的采集服务器是否自动恢复; (C)、若步骤(b)判断失去连接的采集服务器在规定时间内自动恢复,主管理服务器不采取任何操作;若步骤(b)判断失去连接的采集服务器在规定时间内没有自动恢复,主管理服务器判定该采集服务器宕机,主管理服务器判断当前集群中是否有备用采集服务器; (d)、若步骤(C)判断当前集群中有备用采集服务器,主管理服务器启用备用采集服务器,并将原先采集服务器所负责的采集终端列表写入到新启用的采集服务器对应的Zookeeper节点中;若步骤(C)判断当前集群中没有备用服务器,主管理服务器将原先采集服务器负责的采集終端任务平均分配给集群内其它可提供采集服务的采集服务器,并将每台采集服务器所负责的新采集终端列表写入Zookeeper内相应的节点中; (e)、宕机的采集服务器恢复并重启后归入备用采集服务器列表,当备用采集服务器超过ー定数目吋,主管理服务器从备用采集服务器列表中选取部分安排工作。
全文摘要
针对物联网中海量数据的自动采集问题,提供一种物联网数据采集服务器集群的监控和管理方法,以对数据采集中心服务器集群进行实时监控和管理,从而实现数据采集任务自动分配、集群负载均衡分配、失效任务自动接管。
文档编号H04L12/24GK102739775SQ201210170849
公开日2012年10月17日 申请日期2012年5月29日 优先权日2012年5月29日
发明者左敬超, 王宽, 贝毅君, 陈华 申请人:宁波东冠科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1