本发明涉及光纤网络管理领域,特别是涉及一种odf端口鹰眼视图的实现方法。
背景技术:
本发明名词解释:
odf:opticaldistributionframe,光纤配线架。
设备对象:光纤网络管理系统中涉及的设备,包括odf屏、odf箱、odf盘等。
jdbc:javadatabaseconnectivity,java数据库连接。
remoteobject:远程服务——用于flash端同java端之间的数据交互。
message:消息推送——用于实时更新数据。
twaver:当前应用最为广泛的专业图形界面开发工具。
flex进程:基于flash平台开发的运行代码。
鹰眼:与全图同步的缩略图。
光纤通信是现代通信的重要支柱,支撑光纤通信的基础是庞大的光纤传输网络,如何提高光纤网络实时监控和信息化管理水平是近年来运维及工程部门最迫切需要解决的问题,而光缆网管系统就是光纤网络运维常见的软件工具。在传统的光缆网管系统中,一般是通过webservice和httpservice实现数据交互,但是由于其数据传输格式都是xml,导致传输效率不高,传输速度慢,直接影响系统的效率以及客户的体验;传统的拓扑视图显示也会因为视图过大而导致操作不便,因此如何高效、准确地进行数据交互以及直观地显示视图变得至关重要。
技术实现要素:
为了解决上述的技术问题,本发明的目的是提供一种odf端口鹰眼视图的实现方法。
本发明解决其技术问题所采用的技术方案是:
一种odf端口鹰眼视图的实现方法,包括步骤:
数据采集步骤:java端运用jdbc技术调用sql语言访问光缆网管系统的mysql数据库,获得数据;
数据交互步骤:java端将所获得的数据中的设备对象数据和/或告警数据传递到flash端;
数据处理步骤:flash端对接收的设备对象数据和/或告警数据进行遍历,并将设备对象数据转化为鹰眼视图中对应的节点信息,或者将告警数据转化为对应的节点告警信息;
数据显示步骤:根据节点信息,生成鹰眼视图并进行显示,同时将节点告警信息存储到告警容器中,并与存储在节点容器中的节点进行关联显示设置。
进一步,所述实现方法还包括以下步骤:
数据更新步骤:当java端判断设备对象数据或告警数据发生变化时,主动发送消息传递数据变化信息到flash端,flash端进行对应的数据更新或修改。
进一步,所述数据更新步骤,其具体为:
当java端判断设备对象数据或告警数据发生增、删、改变化时,主动发送消息传递数据变化信息到flash端,flash端接收到数据变化信息后进行解析,进而响应于数据变化信息为设备对象变化消息的情况,根据设备对象的节点id在节点容器中查找到该节点并进行相应的修改,或者响应于数据变化消息为告警变化消息的情况,在告警容器中查找获得该告警后进行数据更新,并更新鹰眼视图。
进一步,所述数据交互步骤中,java端通过以下三种方式中的任一种将数据传递到flash端:
方式一、通过remoteobject技术:java端配置数据传递函数,flash端采用remoteobject插件,实现flex进程远程调用java端的数据传递函数,取得数据;
方式二、通过消息推送技术:java端主动发消息将数据传递到flash端;
方式三、导入flash.external.externalinterface包,flash端通过flex进程调用externalinterface.call()访问java端,java端通过调用externalinterface.addcallback()访问flash端的flex进程,从而实现数据交互。
进一步,所述数据处理步骤,具体包括:
flash端根据flash端和java端同步定义好的数据结构,判断接收的设备对象数据和/或告警数据是否正确,若是,则继续执行下一步,反之,结束;
针对接收的设备对象数据,从父层级开始进行逐层遍历,针对遍历过程中所获得的每个数据,根据预定义的节点类型判断其对应的设备类型,进而根据不同的设备类型以及数据所携带的数值在鹰眼视图中新建对应的节点,直到遍历结束;
针对接收的告警数据,从父层级开始进行逐层遍历,针对遍历过程中所获得的每个数据,根据预定义的节点类型判断其对应的设备类型,进而根据不同的设备类型以及数据所携带的数值生成与鹰眼视图中对应节点相关联的节点告警信息并存储,直到遍历结束。
进一步,所述鹰眼视图被配置为:
针对不同的设备类型的节点,设定不同的图片、尺寸、右键菜单以及在鹰眼视图中的位置,且不同设备类型的节点,根据设备的空间位置关系,在鹰眼视图上存在交叉包含关系。
本发明的有益效果是:本发明的一种odf端口鹰眼视图的实现方法,包括步骤:数据采集步骤:java端运用jdbc技术调用sql语言访问光缆网管系统的mysql数据库,获得数据;数据交互步骤:java端将所获得的数据中的设备对象数据和/或告警数据传递到flash端;数据处理步骤:flash端对接收的设备对象数据和/或告警数据进行遍历,并将设备对象数据转化为鹰眼视图中对应的节点信息,或者将告警数据转化为对应的节点告警信息;数据显示步骤:根据节点信息,生成鹰眼视图并进行显示,同时将节点告警信息存储到告警容器中,并与存储在节点容器中的节点进行关联显示设置。本方法数据交互具有高效、准确、实时的优点,可快速处理通过采集传输过来的数据,而且通过鹰眼视图,可以直观展现设备及告警状态。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是本发明的一种odf端口鹰眼视图的实现方法的流程示意图;
图2是本发明的一种odf端口鹰眼视图的实现方法的具体实施例中的数据处理步骤的流程图。
具体实施方式
参照图1,本发明提供了一种odf端口鹰眼视图的实现方法,包括步骤:
数据采集步骤:java端运用jdbc技术调用sql语言访问光缆网管系统的mysql数据库,获得数据;
数据交互步骤:java端将所获得的数据中的设备对象数据和/或告警数据传递到flash端;设备对象包括光缆网管系统中的屏、箱和盘;
数据处理步骤:flash端对接收的设备对象数据和/或告警数据进行遍历,并将设备对象数据转化为鹰眼视图中对应的节点信息,或者将告警数据转化为对应的节点告警信息;
数据显示步骤:根据节点信息,生成鹰眼视图并进行显示,同时将节点告警信息存储到告警容器中,并与存储在节点容器中的节点进行关联显示设置。
进一步作为优选的实施方式,所述实现方法还包括以下步骤:
数据更新步骤:当java端判断设备对象数据或告警数据发生变化时,主动发送消息传递数据变化信息到flash端,flash端进行对应的数据更新或修改。
进一步作为优选的实施方式,所述数据更新步骤,其具体为:
当java端判断设备对象数据或告警数据发生增、删、改变化时,主动发送消息传递数据变化信息到flash端,flash端接收到数据变化信息后进行解析,进而响应于数据变化信息为设备对象变化消息的情况,根据设备对象的节点id在节点容器中查找到该节点并进行相应的修改,或者响应于数据变化消息为告警变化消息的情况,在告警容器中查找获得该告警后进行数据更新,并更新鹰眼视图。
进一步作为优选的实施方式,所述数据交互步骤中,java端通过以下三种方式中的任一种将数据传递到flash端:
方式一、通过remoteobject技术:java端配置数据传递函数,flash端采用remoteobject插件,实现flex进程远程调用java端的数据传递函数,取得数据;
方式二、通过消息推送技术:java端主动发消息将数据传递到flash端;此步骤,在java端检测到设备对象数据发生增、删、改变化或者告警数据发生增、删、改变化时,java端主动发消息(message)将数据传递到flash端,以便实现flash端实时显示该变化。
方式三、导入flash.external.externalinterface包,flash端通过flex进程调用externalinterface.call()访问java端,java端通过调用externalinterface.addcallback()访问flash端的flex进程,从而实现数据交互。
进一步作为优选的实施方式,所述数据处理步骤,具体包括:
flash端根据flash端和java端同步定义好的数据结构,判断接收的设备对象数据和/或告警数据是否正确,若是,则继续执行下一步,反之,结束;
针对接收的设备对象数据,从父层级开始进行逐层遍历,针对遍历过程中所获得的每个数据,根据预定义的节点类型判断其对应的设备类型,进而根据不同的设备类型以及数据所携带的数值在鹰眼视图中新建对应的节点,直到遍历结束;
针对接收的告警数据,从父层级开始进行逐层遍历,针对遍历过程中所获得的每个数据,根据预定义的节点类型判断其对应的设备类型,进而根据不同的设备类型以及数据所携带的数值生成与鹰眼视图中对应节点相关联的节点告警信息并存储,直到遍历结束。
进一步作为优选的实施方式,所述鹰眼视图被配置为:
针对不同的设备类型的节点,设定不同的图片、尺寸、右键菜单以及在鹰眼视图中的位置,且不同设备类型的节点,根据设备的空间位置关系,在鹰眼视图上存在交叉包含关系。
以下结合具体的实施例对本发明做详细说明。
参照图1所示,一种odf端口鹰眼视图的实现方法,包括步骤:
数据采集步骤:java端运用jdbc技术调用sql语言访问光缆网管系统的mysql数据库,获得数据;
数据交互步骤:java端将所获得的数据中的设备对象数据和/或告警数据传递到flash端;
数据处理步骤:flash端对接收的设备对象数据和/或告警数据进行遍历,并将设备对象数据转化为鹰眼视图中对应的节点信息,或者将告警数据转化为对应的节点告警信息;
数据显示步骤:根据节点信息,生成鹰眼视图并进行显示,同时将节点告警信息存储到告警容器中,并与存储在节点容器中的节点进行关联显示设置;本步骤采用twaver.network.overview进行显示,它是twaver插件中的特殊控件,用于鹰眼显示;
数据更新步骤:当java端判断设备对象数据或告警数据发生变化时,主动发送消息传递数据变化信息到flash端,flash端进行对应的数据更新或修改。
优选的,所述数据交互步骤中,java端通过以下三种方式中的任一种将数据传递到flash端:
方式一、通过remoteobject技术:java端配置数据传递函数,flash端采用remoteobject插件,实现flex进程远程调用java端的数据传递函数,取得数据;
方式二、通过消息推送技术:java端主动发消息将数据传递到flash端;
方式三、导入flash.external.externalinterface包,flash端通过flex进程调用externalinterface.call()访问java端,java端通过调用externalinterface.addcallback()访问flash端的flex进程,从而实现数据交互。
优选的,本发明的数据更新步骤,其具体为:
当java端判断设备对象数据或告警数据发生增、删、改变化时,主动发送消息传递数据变化信息到flash端,flash端接收到数据变化信息后进行解析,进而响应于数据变化信息为设备对象变化消息的情况,根据设备对象的节点id在节点容器中查找到该节点并进行相应的修改,或者响应于数据变化消息为告警变化消息的情况,在告警容器中查找获得该告警后进行数据更新,并更新鹰眼视图。本步骤与前述java端与flash端的第二种交互方式类似。
优选的,本发明的数据处理步骤,具体包括:
flash端根据flash端和java端同步定义好的数据结构,判断接收的设备对象数据和/或告警数据是否正确,若是,则继续执行下一步,反之,结束;
针对接收的设备对象数据,从父层级开始进行逐层遍历,针对遍历过程中所获得的每个数据,根据预定义的节点类型判断其对应的设备类型,进而根据不同的设备类型以及数据所携带的数值在鹰眼视图中新建对应的节点,直到遍历结束;
针对接收的告警数据,从父层级开始进行逐层遍历,针对遍历过程中所获得的每个数据,根据预定义的节点类型判断其对应的设备类型,进而根据不同的设备类型以及数据所携带的数值生成与鹰眼视图中对应节点相关联的节点告警信息并存储,直到遍历结束。
优选的,鹰眼视图被配置为:
针对不同的设备类型的节点,设定不同的图片、尺寸、右键菜单以及在鹰眼视图中的位置,且不同设备类型的节点,根据设备的空间位置关系,在鹰眼视图上存在交叉包含关系。
本发明中,数据处理步骤的一详细实例如下:
本处理方法所定义的设备对象的数据结构的主要数据如下:
envnode对象数据结构:
nodeid=0;//节点id
nodename="";//节点名称
nodetype=0;//节点类型。0:区域;10:odf屏;11:odf箱;12:odf盘;13:odf端子
iconpath="";//图片路径
parentid;//父节点id
parentname;//父节点名称
list<envnodevo>children;//子节点
如图2所示,具体数据处理分三步完成:
1、从java端获取到数据后,根据flash端和java端同步定义好的envnode对象判断数据是否正确,如果是则用此对象进行处理,转至下一步;
2、根据数据中nodetype字段(flash端和java端统一规定不同类型的数值)判断设备对象的类型(屏、箱、盘),根据不同类型以及携带的数据新建节点,主要是图片、大小、右键菜单以及在鹰眼视图中所在位置的设定;
3、然后判断此对象的子层级children是否为空,不为空则递归循环遍历,转到步骤2,为空的话就表示数据处理已经完成。因为前述定义的节点之间是父子层级关系,所以对其进行递归循环遍历。
本实施例具有以下优点:
应用remoteobject和message交互技术,利用remoteobject的高度压缩特性,便于进行大数据传输,利用message推送的高效特性,便于准确、实时的传输,本方法便于flash端和java端之间的数据交互,相比于其他方法具有高效、准确、实时的优点;利用独特的数据处理方法,快速处理通过采集传输过来的数据;运用twaver专业工具,将处理好的数据转为鹰眼拓扑视图,直观展现设备及告警状态。
本实施例的鹰眼视图还具有以下功能:
1.鹰眼视图与数据视图的地理范围保持同步;
2.数据视图的当前范围能够在鹰眼视图中用一个矩形框标示出来,若数据视图的显示范围发生变化,则鹰眼视图中的矩形位置也会发生变化;
3.在鹰眼中操作视图,数据视图中的地理范围也将同步调整,点击和拖动都能在数据视图中快速定位。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变型或替换均包含在本申请权利要求所限定的范围内。