基于JavaScript的用于物理设备拓扑呈现的方法与流程

文档序号:11589866阅读:193来源:国知局
本发明涉及一种物理设备拓扑呈现的方法,尤其涉及一种基于javascript的用于物理设备拓扑呈现的方法。
背景技术
::随着物理设备数量的不断增加,管理、维护这些物理设备给运维人员带来很大的挑战,同时也使得运维人员工作负担日益繁重。如果有一种系统,能够以非常便捷、直观方式展示设备的无力拓扑关系图,同时提供对设备运行状态提供提醒功能,这对于运维人员来说无疑是很大的福音,同时能最大限度降低运维人员的工作负担和随之带来的维护压力。目前市场上实现的拓扑关系图组件主要以flex技术实现,这种技术门槛比较高,自身实现原理方式在性能方面有很大局限性。此外,以flex技术实现的组件,不灵活,对于个性化开发资源投入比较大,成本高。因此需要提供一种方便快捷的用于业务流程与物理设备关联呈现的拓扑图实现方法,能够以直观的方式展现各个设备之间存在的拓扑关系,最大程度便捷运维人员的工作。技术实现要素:本发明所要解决的技术问题是提供一种基于javascript的用于物理设备拓扑呈现的方法,采用javascript技术实现物理设备渲染拓扑关系的展现,并且提供人性化界面,对于大量设备节点能比较快速的展现,而且对于发生异常的设备提供告警提醒,极大便利运维人员维护设备。本发明为解决上述技术问题而采用的技术方案是提供一种基于javascript的用于物理设备拓扑图呈现的方法,包括以下步骤:获取物理设备的节点信息,所述节点信息包括节点类型、节点数据、节点之间的关联关系以及键值;规划所述物理设备的连接方向,根据起始节点及终止节点的类型组合,规定不同的连接方向;确定所述物理设备所在的节点位置,定义所述物理设备的附着点,所述物理设备的附着点包括源附着点和目标附着点,所述源附着点是连接线的起始端,所述目标附着点是连接线的终止端。进一步地,所述物理设备的节点位置按如下方式确定:采用深度优先遍历,下一个的节点位置通过上一个节点位置,上一个节点类型,下一个节点类型确定,如果一个节点有多个相同类型的后继节点,并且多个后继节点位置重合,则采用b-树形结构保存数据,叶子即为节点关联物理设备,然后在页面上由用户选择进行调整。进一步地,还包括步骤:通过web界面查看物理拓扑时从数据库查询展现各个节点之间的物理拓扑关系。进一步地,还包括对物理设备进行如下异常告警监控:通过web服务器后台配置好需要采集的监控项和阈值存入数据库;通过zabbixserver读取所述监控项和阈值,所述zabbixserver将命令发送给zabbixagent采集数据;所述zabbixserver对所述zabbixagent采集的数据的值与所述阈值进行判断,对于超过所述阈值的数据产生告警数据,并将所述告警数据存入数据库保存。进一步地,所述zabbixserver通过snmp、zabbixagent、ping以及端口监视的方法提供对远程服务器网络状态的监视以及数据收集。进一步地,所述zabbixserver单独监视远程服务器的服务状态,或者与zabbixagent配合监视远程服务器的服务状态。进一步地,所述zabbixagent轮询zabbixagent主动接收监视数据,或者被动接收zabbixagent发送的数据。进一步地,所述监控项由key键值和参数组成。进一步地,所述告警数据包括异常状态的严重性,所述严重性分成5个等级,其中:第一个级别:提示,用绿色表示;第二个级别:预警,用浅黄表示;第三个级别:告警,用深黄表示;第四个级别:严重,用红色表示;第五个级别:致命,用深红表示。进一步地,所述数据库提供一个或多个api,用于创建、访问、管理、搜索或复制所述数据库中保存的数据。本发明提出的一种基于javascript的用于物理设备拓扑呈现的方法,利用浏览器原生技术javascript来实现渲染拓扑关系图展现。进一步地,采用开源组件和成熟的技术结合已有业务需求,通过手工拖曳方式实现物理设备拓扑图关系展现,而且能够即配置即所得。进一步地,提供人性化界面,对于大量设备节点展现能比较快的速度展现,而且对于发生异常的设备提供告警提醒,极大地便利运维人员维护设备。附图说明图1是本发明实施例中的一种基于javascript的用于物理设备拓扑呈现的方法实现的流程图;图2是本发明实施例中的一种基于javascript的用于物理设备拓扑呈现的方法实现的物理关系拓扑图;图3是本发明实施例中的一种基于javascript的用于物理设备拓扑呈现的方法实现监控以及产生告警数据的示意图;图4是本发明是实施例中的一种基于javascript的用于物理设备拓扑呈现的方法实现监控项配置的操作界面图。具体实施方式本发明实施例中的一种基于javascript的用于物理设备拓扑呈现的方法,采用javascript技术实现物理设备渲染拓扑关系的展现,并且提供人性化界面,对于大量设备节点能比较快速的展现,而且对于发生异常的设备提供告警提醒,极大便利运维人员维护设备。为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。图1是本发明实施例中的一种基于javascript的用于物理设备拓扑呈现的方法实现的流程图。如图1所示,步骤101,获取物理设备的节点信息,所述节点信息包括type节点类型、data节点数据详情、rel节点之间的关联关系以及key键值;步骤102,规划所述物理设备的连接方向,根据起始节点及终止节点的类型组合,规定不同的连接方向;步骤103,确定所述物理设备的位置,定义所述物理设备的endpoint附着点,所述物理设备的endpoint附着点包括源附着点和目标附着点,所述源附着点是连接线的起始端,所述目标附着点是连接线的终止端。其中,所述确定所述物理设备的位置,可以采用深度优先遍历,下一个的节点位置通过上一个节点位置,上一个节点类型,下一个节点类型确定,如果一个节点有多个相同类型的后继节点,这多个后继节点的位置是重合的,需要再进行调整。在具体实施中,从节点开始。需要一个字段type表示节点类型,一个字段data表示节点数据详情,对于连接,则采用一个rel字段,表示有哪些节点与之关联,相当于c里面的指针。为了唯一标识该节点,还需要一个字段key。通过type-key组合来唯一标识该节点。结合javascript标准的数据格式json,定下数据结构如下:a.节点数据结构:node={type:'nodetype',key:'nodekey',rel:[],data:{'moreinfo'}}b.rel,data可选,type-key唯一标识该节点,rel不存在表示该节点为叶子节点c.关联关系:rel:[node1,node2,...,noden]d.节点详情:关于节点的更多信息可放置于data字段中在具体实施中,在算法上,要预先规划好各个节点类型如何布局以及如何连接。连接方向很容易定:根据起始节点及终止节点的类型组合,可以规定不同的连接方向,比如<vip,vm>的连线方向为<topcenter,leftcenter>,<vm,vip>的连线方向为<topcenter,bottomcenter>。节点位置的确定是一个关键问题,该算法的实现难易取决于拓扑数据结构的设计。在具体实施中,采用深度优先遍历,下一个的节点位置通过上一个节点位置,上一个节点类型,下一个节点类型确定,如果上一个节点有多个相同类型的后继节点,那么这多个后继节点的位置是重合的,需要在后面进行调整。在具体实施中,jsplumb有几个基本概念。首先,拓扑节点实际上是div区域,每个div都必须有一个id,用于唯一标识该节点。连接拓扑节点的一个重要概念是endpoint.endpoint是附着于节点上的连接线的端点,简称“附着点”。将附着点attach到指定拓扑节点上的方法如下:jsplumb.addendpoint(toid,this.sourceendpoint,{anchor:sourceanchor,uuid:sourceuuid});toid:是拓扑节点的div区域的id值,sourceendpoint是附着点的样式设置,可以复用,sourceanchor是附着点位置,共有八种,也就是四方形的八个边缘:-top(alsoaliasedastopcenter)-topright-right(alsoaliasedasrightmiddle)-bottomright-bottom(alsoaliasedasbottomcenter)-bottomleft-left(alsoaliasedasleftmiddle)-topleftsourceuuid是拓扑节点与附着位置的结合,也就是说,要将一个附着点附着到拓扑节点为toid的sourceanchor指定的位置上。每个拓扑节点都可以定义多个源附着点和目标附着点。源附着点是连接线的起始端,目标附着点是连接线的终止端。两个uuid即可定义一条连接线:jsplumb.connect({uuids:[startpoint,endpoint],editable:false});startpoint和endpoint分别是连接线的起始端endpointuuid和终止段endpointuuid.它定义了从起始拓扑节点的指定附着点连接到终止拓扑节点的指定附着点图2是本发明实施例中的一种基于javascript的用于物理设备拓扑呈现的方法实现的物理关系拓扑图。如图2所示,还能通过web界面查看物理拓扑时从数据库查询展现各个节点之间的物理拓扑关系。图3是本发明实施例中的一种基于javascript的用于物理设备拓扑呈现的方法实现监控以及产生告警数据的示意图。如图3所示,通过web服务器201后台配置好需要采集的监控项和阈值存入数据库202;通过zabbixserver203读取所述监控项和阈值,所述zabbixserver203将命令发送给zabbixagent204采集数据;所述zabbixserver203对所述zabbixagent204采集的被采集的服务器205的数据的值与所述阈值进行判断,对于超过所述阈值的数据产生告警数据,并将所述告警数据存入数据库202保存,其中,所述zabbixagent204有多个,所述被采集的服务器205的个数和所述zabbixagent的个数一一相对应。在具体实施中,zabbix组件采集器主要利用zabbixagent端来采集数据,同时根据告警规则生成对应告警数据。下面简单介绍zabbix原理:zabbix是一个基于web界面的提供分布式系统监视以及服务器状态监视功能的企业级的开源解决方案。zabbix能监视各种网络参数和服务器资源使用情况,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成,zabbixserver与可选组件zabbixagent。zabbixserver可以通过snmp,zabbixagent,ping,端口监视等方法提供对远程服务器资/网络状态的监视,数据收集等功能,它可以运行在linux,solaris,hp-ux,aix,freebsd,openbsd,osx等平台上。zabbixagent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,cpu等信息的收集。zabbixagent可以运行在linux,solaris,hp-ux,aix,freebsd,openbsd,osx,tru64/osf1,windows等系统之上。zabbixserver可以单独监视远程服务器的服务状态;同时也可以与zabbixagent配合,可以轮询zabbixagent主动接收监视数据,同时还可被动接收zabbixagent发送的数据。系统利用zabbixagent的采集功能,同时把采集数据发送到zabbixserver端,zabbixserver把从agent发送的数据保存到数据库。图4是本发明是实施例中的一种基于javascript的用于物理设备拓扑呈现的方法实现监控项配置的操作界面图。如图4所示,监控项是从主机里面获取的所有数据。监控项由key+参数组成。假设需要获取获取cpu信息,则需要一个对应的监控key:system.cpu.load。这样zabbixagent能够根据这个key采集对应数据。在具体实施中,zabbix采集数据的同时能够根据一些告警规则来触发超过阀值的异常数据,该异常数据从某种角度表示设备运行状态出现异常,以此来达到监控设备的目的。zabbix将异常状态的严重性分成5个等级:第一个级别:提示,用绿色表示。第二个级别:预警,用浅黄表示。第三个级别:告警,用深黄表示。第四个级别:严重,用红色表示。第五个级别:致命,用深红表示。在具体实施中,数据库是一种用于存储数据集合的独立应用程序。每种数据库都会有一个或多个独特的api,用来创建、访问、管理、搜索或复制数据库中保存的数据。本发明提出的一种基于javascript的用于物理设备拓扑呈现的方法,利用浏览器原生技术javascript来实现渲染拓扑关系图展现。进一步地,采用开源组件和成熟的技术结合已有业务需求,通过手工拖曳方式实现物理设备拓扑图关系展现,而且能够即配置即所得。进一步地,提供人性化界面,对于大量设备节点展现能比较快的速度展现,而且对于发生异常的设备提供告警提醒,极大地便利运维人员维护设备。虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1