zookeeper需要采用分布式集群的方式来保证高可用性。
追加回答:因为初期会从zookeeper获取节点到本地,如果没有发生变化的话是可以的ZooKeeper346支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令。
使用方式:
1、conf:输出相关服务配置的详细信息。比如端口、zk数据及日志配置路径、最大连接数,session超时时间、serverId等
2、cons:列出所有连接到这台服务器的客户端连接/会话的详细信息。包括“接受/发送”的包数量、session id 、 *** 作延迟、最后的 *** 作执行等信息
3、crst:重置当前这台服务器所有连接/会话的统计信息
4、dump:列出未经处理的会话和临时节点(只在leader上有效)
5、envi:输出关于服务器的环境详细信息(不同于conf命令),比如hostname、javaversion、javahome、userdir=/data/zookeeper-346/bin之类信息
6、ruok:测试服务是否处于正确运行状态。如果正常返回"imok",否则返回空
7、srst:重置服务器的统计信息
8、srvr:输出服务器的详细信息。zk版本、接收/发送包数量、连接数、模式(leader/follower)、节点总数
9、stat:输出服务器的详细信息:接收/发送包数量、连接数、模式(leader/follower)、节点总数、延迟。 所有客户端的列表
10、wchs:列出服务器watches的简洁信息:连接总数、watching节点总数和watches总数
11、wchc:通过session分组,列出watch的所有节点,它的输出是一个与 watch 相关的会话的节点列表。如果watches数量很大的话,将会产生很大的开销,会影响性能,小心使用
12、wchp:通过路径分组,列出所有的 watch 的session id信息。它输出一个与 session 相关的路径。如果watches数量很大的话,将会产生很大的开销,会影响性能,小心使用
13、mntr:列出集群的健康状态。包括“接受/发送”的包数量、 *** 作延迟、当前服务模式(leader/follower)、节点总数、watch总数、临时节点总数现代网络管理构架分为集中式网络管理和分布式网络管理,其各自特点分别如下:
集中式网络管理系统结构是在网络系统中设置专门的网络管理节点。管理软件和管理功能主要集中网络管理节点上,网络管理节点与被管理节点是主从关系。集中式数据存储的主要特点是能把所有数据保存在一个地方,虽然集中式网络管理便于集中管理,但不能满足大型网络中实现故障、配置、性能及安全管理等网络管理功能域的需求。
采用分布式或层次式计算模式,能够有效的在大型网络中实现故障、配置、性能及安全管理等问题。分布式网络管理模式是将地理上分布的网络管理客户机与一组网络管理服务器交互作用,完成网络管理的功能。分布式计算的优点是可以快速访问、多用户使用。每台计算机可以访问系统内其他计算机的信息文件,系统设计上具有更大的灵活性,既可为独立的计算机的地区用户的特殊需求服务,也可为联网的企业需求服务,实现系统内不同计算机之间的通信。分布式网络管理体系结构的不断改进,必须更多地借助现有的成熟分布式算法,利用分布式算法的分布性和并发性的特征来实现分布式的网络管理。同时分布式系统的执行也存在着许多非稳定的因素,目前比较成熟且稳定的分布式算法有Paxos算法和一致性hash算法等等,在实际的应用过程中应根据具体情况,选择对应的分布式算法进行部署。
无线通信领域的系统往往部署在不同的区域,区域间的通信需要拥有较高的安全性和数据可靠性,因此一般采用分布式网络设备的软件构架,那么就需要一种机制,充分利用现有的分布式算法来高效的实现无线通信系统的分布式网络设备的管理。
技术实现要素:
本发明所解决的技术问题是:针对TD-LTE系统分布式的特点,提出并实现了一种基于ZooKeeper的分布式管理的方法。通过对节点数据模型的上传来实现数据的同步,实时数据和统计数据的监控,良好的扩展性和稳定性。
本发明的目的是这样实现的:
一种分布式网络设备的管理方法,包括以下步骤:
步骤一:在多台机器上部署ZooKeeper服务器并完成初始化配置,实现多机的集群;在Web服务器中部署Web服务器客户端;
步骤二:在所有待监控的网络设备中部署网元设备客户端;所有的网元设备客户端分别在ZooKeeper服务器创建各自的节点数据模型,并形成自身数据表,并对节点数据模型中的数据进行实时监控;
步骤三:网元设备客户端分别从网络中获取数据,将获取的数据与自身数据表中存储的数据进行对比,若获取的数据与自身数据表中存储的对应的数据不相同,则将获取的数据上传到ZooKeeper服务器对应的节点数据模型中并更新自身数据表;否则,结束本流程;
步骤四:Web服务器启动后对ZooKeeper服务器的节点数据模型进行监控,若节点数据模型中的数据发生变化,则做相应记录并将变化后的数据保存在Web服务器的数据库中,浏览器访问时将变化后的数据推送到前台页面;否则,不保存数据。
其中,步骤一中在多台机器上部署ZooKeeper服务器并完成初始化配置,实现多机的集群,具体包括以下步骤:
(101)在多台机器上部署ZooKeeper服务器,设置ZooKeeper服务器交换信息的端口;
(102)对所有ZooKeeper服务器的启动文件进行配置;
(103)启动所有ZooKeeper服务器,实现多机的集群。
其中,所述的步骤二中对节点数据模型中的数据进行实时监控,具体为:对节点数据模型中的数据进行实时监控,若节点数据模型中的数据与自身数据表中存储的数据不一致,则通过watcher机制获取节点数据模型中的数据进行各自业务逻辑处理。
其中,所述的步骤三具体包括以下步骤:
(301)网元设备客户端从网络中获取数据,判断获取的数据是否在自身数据表中,若是,则执行(302),否则,结束本流程;
(302)将获取的数据与自身数据表中存储的数据进行对比,若获取的数据与自身数据表中存储的对应的数据不相同,则将获取的数据上传到ZooKeeper服务器的节点数据模型中并更新自身数据表,否则,结束本流程。
其中,若网元设备客户端关闭,则将ZooKeeper服务器中对应的节点数据模型删除。
本发明的优点为:
本发明的一种新型的分布式网络设备管理软件方法和现有技术相比,能够实现分布式应用程序协调服务,具有较高的扩展性,服务器的集群特性保证了管理系统的可靠性和数据访问的强一致性。
附图说明
图1是本发明的分布式网络设备管理模型;
图2是本发明的节点数据模型。
具体实施方式
下面结合附图和实施例对本发明做进一步详细的说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。
图1是分布式网络设备的管理模型,其实施的过程如下:
步骤一:在三台机器上分别部署ZooKeeper服务器并完成初始化配置,实现多机的集群,所有ZooKeeper服务器之间信息可交互;在Web服务器中部署Web服务器客户端;
在三台机器上分别部署ZooKeeper服务器并完成初始化配置,实现多机的集群,具体为:
(101)在三台机器上部署ZooKeeper服务器,设置ZooKeeper服务器交换信息的端口;
(102)对所有ZooKeeper服务器的启动文件进行配置;
(103)启动所有ZooKeeper服务器,实现多机的集群。
步骤二:在eNodeB和EPC网络设备中分别部署网元设备客户端,eNodeB和EPC网络设备的网元设备客户端分别在ZooKeeper服务器创建各自的节点数据模型,并形成自身数据表;当eNodeB侧或EPC侧网元设备客户端宕机后,删除ZooKeeper服务器中对应的节点数据模型。图2是本示例的节点数据模型,节点数据模型中包括该网络设备的存储数据;
网元设备客户端对节点数据模型中的数据进行实时监控,若节点数据模型中的数据与自身数据表中存储的数据不一致,则通过watcher机制获取节点数据模型中的数据进行各自业务逻辑处理。
步骤三:eNodeB和EPC网络设备的网元设备客户端分别从网络中获取数据,将获取的数据与自身数据表中存储的数据进行对比,若获取的数据与自身数据表中存储的对应的数据不相同,则将获取的数据上传到ZooKeeper服务器对应的节点数据模型中并更新自身数据表;否则,结束本流程;具体为:
(301)网元设备客户端从网络中获取数据,判断获取的数据是否在自身数据表中,若是,则执行(302),否则,结束本流程;
(302)将获取的数据与自身数据表中存储的数据进行对比,若获取的数据与自身数据表中存储的对应的数据不相同,则将获取的数据上传到ZooKeeper服务器的节点数据模型中并更新自身数据表,否则,结束本流程。
步骤四:Web服务器启动后对ZooKeeper服务器的节点数据模型进行监控,若节点数据模型中的数据发生变化,则做相应记录并将变化后的数据保存在Web服务器的数据库中,浏览器访问时将变化后的数据推送到前台页面;否则,不保存数据。
综上所述,以上仅为本发明的较佳应用示例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)