一种实时性的网络状态监控图的实现系统和方法

文档序号:7703811阅读:193来源:国知局

专利名称::一种实时性的网络状态监控图的实现系统和方法
技术领域
:本发明涉及WEB应用领域,为WEB应用提供了一种具有实时性的网络状态监控图的实现方法。
背景技术
:随着WEB应用的迅速发展,WEB应用系统也日益庞大,目前一个WEB应用中网络节点数可达二三十个,给工程维护人员了解和掌控整个WEB应用系统带来不便,由此对网络状态进行监控的需求越来越迫切,以往的类似功能即网络拓朴图,网络拓朴图不完全等价于网络状态监控图,只是网络状态监控图的一部分,且已有的网络拓朴图的实现都是基于C/S架构的,随着B/S架构的广泛应用,如何在B/S架构上实现WEB应用网络状态监控图成为急需解决的问题。目前,常规的WEB应用网络状态监控图的解决方案有如下几种1、采用Javaapplet实现,这种方法比较简单,其局限性在于客户端必须安装JRE(大部分客户无法接受),且运行速度比较慢,界面不够友好,达不到实时性的效果;2、采用Flash、Flex、SVG等技术,这类解决方案客户端都需要安装固有插件才能正常查看监控3、采用相对成熟的产品,如Twaver、JTGO、JLOOX等,这类产品一方面需要安装特定插件,另一方面收费昂贵,且很多功能WEB应用中用不到;由此可见,目前的WEB应用网络状态监控图的实现技术方案都存在弊端,都有其不可逾越的局限性,为了解决这些问题,本发明得以提出。
发明内容本发明解决的技术问题是提供一种实时性的网络状态监控图的实现系统和方法,为解决上述技术问题,本发明采用以下方案一种实时性的网络状态监控图的实现系统,该系统由以下模块组成信息采集模块,用于定时采集节点信息,并在以后每次采集节点信息后将采集到的新的节点信息和上一次采集的的节点信息相比较,有变化则将新的节点信息发送给信息处理模块;信息处理模块,用于接收信息采集模块发送来的节点信息,并在解析所述节点信息后按照消息体中的网络节点标识找到緩存中的对应节点并更新緩存中的对应节点信息;信息展示模块,用于调取信息处理模块緩存中的节点信息,并通过WEB页面的形式展现给用户。如上所述的系统,所述节点信息包括事件号、发送者标识、接收者标识、链路信息、进程信息和版本信息。如上所述的系统,所述信息处理模块和所述信息采集模块之间采用注册机制,即信息处理模块在接收某新的节点的信息之前,需向该节点信息所在的信息釆集模块发送注册信息,所述信息采集模块收到注册信息后将对应的节点信息发送给所述信息处理模块,之后,所述信息釆集模块定时监控节点信息,以便及时将新的节点信息发送给信息处理模块。如上所述的系统,信息处理模块初始从数据库中获取所有类型节点的节点标识和节点设备类型,以用于向各个节点信息所在的信息采集模块发送注册消息,继而接收各个节点的最新节点信息。如上所述的系统,所述信息采集模块和信息处理模块之间采用TCP通讯,并且所述信息采集模块运行在WEB应用的各个网络节点上,所述信息处理模块运行在WEB应用服务器上。如上所述的系统,所述信息处理模块从所述信息采集模块接收的信息的信息结构为内部约定结构体,包括信息头和信息体,所述信息头中包括事件号、发送者标识、接收者标识,所述信息体是所述节点信息,包括链路信息、进程信息和版本信息。如上所述的系统,如果运行过程中,系统增加新节点,则信息处理模块向新增节点发送注册信息,减少节点,则信息处理模块清空緩存中对应的节点信息。一种实时性的网络状态监控图的实现方法,该方法包括以下步骤信息釆集模块定时釆集节点信息,并在以后每次采集节点信息后将采集到的新的节点信息和上一次采集的的节点信息相比较,有变化则发送新的节点信息;信息处理模块接收新的节点信息,并在解析所述节点信息后按照消息体中的网络节点标识找到緩存中的对应节点并更新緩存中的对应节点信息;信息展示模块调取信息处理模块緩存中的节点信息,并通过WEB页面的形式展现给用户。如上所述的方法,所述节点信息包括事件号、发送者标识、接收者标识、链路信息、进程信息和版本信息。如上所述的方法,所述信息处理模块和所述信息采集模块之间采用注册机6制,即信息处理模块在接收某新的节点的信息之前,需向该节点信息所在的信息采集模块发送注册信息,所述信息采集模块收到注册信息后将对应的节点信息发送给所述信息处理模块,之后,所述信息采集模块定时监控节点信息,以便及时将新的节点信息发送给信息处理模块。本发明的为WEB应用提供一种具有实时性的网络状态监控图的实现系统和方法,该系统和方法不仅实时的图形化展示了WEB应用中各个网络节点的网络状态,同时为查看WEB应用中各个节点的进程信息、告警信息、版本信息等提供了便利。此外,页面展示的网络节点可以随意拖拽,使用户可以更加清晰的看清各个链路状态,从而优化了用户体验,减少传递的数据量。图1.是消息交互时序图图2.是实现类Topologylmpl内部结构图图3.是节点信息处理方法流程图图4.是节点坐标计算方法流程图图5.是监控图展示方法流程图具体实施例方式本技术方案的消息交互时序图如图l所示,以下结合图l作进一步说明[101]信息处理模块从数据库中查询设备信息,获取所有节点基本信息,包括节点标示、节点设备类型等,构造节点对象保存在内存中。信息处理模块根据获取的节点信息向所有节点发送注册消息。[103]信息采集模块开始采集本节点信息。[104]信息采集模块将采集的本节点信息发送给信息处理模块。信息处理模块收到信息采集模块发来的消息,解析后作进一步处理,后面结合图3作详细描述。信息采集模块定时采集本节点信息,包括链路信息、进程信息、版本信息,并和上一次采集结果相比较。节点信息比较结果有差异,信息采集模块将最新采集的节点信息发给信息处理才莫块。信息处理模块提供算法计算各个节点坐标,后面结合图4作详细描述。WEB服务器收到来自客户端的监控图页面展示请求;WEB服务器中信息展示模块从信息处理模块获取节点信息,构造监控图;WEB服务器将展示结果发给客户端;本方案将网络节点信息保存在Topologylmpl类对象中,在此结合图2对Topologylmpl类内部结构进行说明基本参数说明radius:半径,监控图的各个节点呈圓型分布,radius为基本半径;left:左边起始点位置,即开始画图的左边基准点位置(x轴坐标);top:上边起始点位置,即开始画图的上边基准点位置(y轴坐标);centerX:中心点x坐标,即圓心x坐标;centerY:中心点y坐标,即圓心y坐标;maxPointNum:最大节点个数,节点半径分布按照节点个数确定,超过该值8则将半径扩大,以免同一圆周分布过多节点影响美^L;radiusQuot:半径因子,即节点数超过maxPointNum时以此值为因子扩大半径;1、关4t方法addPointlnfo:添加节点到对象的pointTable变量中,参数Pointlnfo对象实例;removePointlnfo:从pointTable变量中删除节点,参数Pointlnfo对象实例;getPoints:获耳又所有节点信息,返回对象的pointTable变量;resetPointCoordinate:用于计算节点坐标,后面结合图4作详细描述;2、运行参数pointTable:Hashtable类型变量,用于保存各个节点对象;deviceTable:Hashtable类型变量,用于保存设备类型相关信息;3、Pointlnfo类的关4建变量及方法key:节点标示,pointTable以此为键值保存节点信息;isCenter:布尔类型,是否为中心节点标示,中心节点坐标为(centerX,centerY》angrad:弧度,用于确定节点坐标;x,y:节点坐标;deviceType:节点设备类型;connlnfo、proclnfo、verlnfo:节点链路信息、进程信息、版本信息;setCoordinate方法参凄史角度angDegree、半径radius及圆心坐标,计算方'法angrad=Math.toRadians(angDegree);x=Math.sin(angrad)*radius+centerX;y=Math.cos(Math.PI-angrad)*radius+centerY;resetLinkedStatus方法重置链路状态,即将本节点和其他节点的链路状态重置为未连接;4、DeviceTypeInfo类的关键变量及方法deviceType:设备类型;pointNum:属于该设备类型的节点数;beginldx:开始索引值,计算节点坐标时按照设备类型将圆划分为几个部分,beginldx为该设备类型开始索引值;currentldx:当前索引值,即节点在所有该设备类型中的索引值,节点在圆中的位置由beginldx和currentldx共同决定;updateldx方法更新该设备类型的开始索引值;信息处理模块处理接收到的节点信息的流程如图3所示,以下结合图3作进一步详细的描述解析消息头,得到消息事件号event。event是否是链路信息事件号,是则执行[303],否则转到[306]。[303]按照链路消息结构体解析消息。按照消息体中的节点标示(即节点key值)在Topologylmpl对象的pointTable中查找相应节点。更新节点链游^信息connlnfo,消息处理结束。event是否是进程信息事件号,是则执行[307],否则转到[310]。按照进程消息结构体解析消息。10[308]按照消息体中的节点标示(即节点key值)在Topologylmpl对象的pointTable中查找相应节点。更新节点进程信息proclnfo,消息处理结束。event是否是版本信息事件号,是则执行[311],否则转到[314]。按照版本消息结构体解析消息。按照消息体中的节点标示(即节点key值)在Topologylmpl对象的pointTable中查找相应节点。更新节点版本信息verlnfo,消息处理结束。打印日志,记录收到的无效消息及其事件号,消息处理结束。以下结合图4对节点坐标计算方法的具体实施方式作进一步详细的描述[401]初始化变量deviceldx为0。遍历deviceTable中的所有值,对每个设备类型对象作[403]-[404]处理。调用deviceObj的updateldx方法,将该设备类型的开始索引值设置为deviceldx,currentldx初始4b为0。deviceldx增加deviceObj.pointNum,转至[402]遍历下一设备类型。注以上用于确定各个设备类型的坐标开始索引值,即确定设备类型在监控图的圓型中分布的起始位置。[405]变量初始化,包括intpointNum=pointTable.size()-1;〃节点个数,中心除外intave=pointNum/2;〃节点平均值,用于确定是否需微量偏移booleanisEven=(pointNum%2==0);〃节点数的奇偶性11doubleangDegree;〃节点角度doubleangDegAve=360/pointNum;〃平均度数doubleinchDeg=angDegAve/pointNum;〃微调偏移量intidx=0;〃节点坐标索引值intquot=pointNum/maxPointNum+1;〃节点分布的层凄史doubleradiusTmp=0;〃半径变量[406]遍历pointTable中的所有节点,对每个节点作[407]-[416]处理,遍历完毕则流程结束。判断节点是否是中心节点,是则执行[408],否则转到[409]。设置节点坐标为(centerX,centerY),转至[恥6]遍历下一节点。依据节点设备类型从deviceTable中获取相应的deviceObj,并设置节点索引{直idx为deviceObj.beginldx+deviceObj.currentldx。[410]该i殳备类型deviceObj的当前索引currentldx力口1。[411]"i殳置节点角度angDegree=idx*angDegAve。如果isEven是true,且idx大于等于ave,即节点分布位置角度超过180度,执行[413],否则转至[414]。将节点角度angDegree减少微调偏移量inchDeg,该才喿作是为了避免节点总数为偶数时,两个节点分布在一条直线上(分布在一条直线上无法清晰的显示两节点之间是否有链路)。计算节点半径radiusTmp=((idx%quot)*radiusQuot+1)*radius,即根据节点索引值、分布层数及半径因子确定节点半径为基本半径的多少倍,从而得到节点半径。调用节点的setCoordinate方法,详见图2说明中4)。[416]调用节点的resetLinkedStatus方法,详见图2说明中4);之后转至[406]遍历下一节点。至此,各个网络节点信息采集、处理完毕,以下结合图5对监控图展示方法的具体实施方式作进一步详细的描述遍历pointTable中的所有节点,对每个节点作[502]-[507]的处理,遍历完毕则流程结束。遍历本节点的链路信息组,对每条链路作[503]-[506]处理,遍历完毕转到[7]。判断该链路状态是否为Linked,是则转至[502],否则执行[504]。[504]才艮据本节点和链路节点的坐标用VML画线。[505]修改本节点的当前链路状态为Linked。修改链路节点中本节点的链路状态为Linked,转至[502]遍历下一链路。增加展示节点信息(设备类型、ip等),之后转至[501]遍历下一节点。应当理解的是,以上所提供的具体实施方式只是对本发明的说明,而不应当理解为对本发明的限制,对本领域的普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应为本发明所揭示的原理和特征,均属本发明的保护范围。权利要求1、一种实时性的网络状态监控图的实现系统,其特征在于,该系统由以下模块组成信息采集模块,用于定时采集节点信息,并在以后每次采集节点信息后将采集到的新的节点信息和上一次采集的的节点信息相比较,有变化则将新的节点信息发送给信息处理模块;信息处理模块,用于接收信息采集模块发送来的节点信息,并在解析所述节点信息后按照消息体中的网络节点标识找到缓存中的对应节点并更新缓存中的对应节点信息;信息展示模块,用于调取信息处理模块缓存中的节点信息,并通过WEB页面的形式展现给用户。2、如权利要求l所述的系统,其特征在于,所述节点信息包括事件号、发送者标识、接收者标识、链路信息、进程信息和版本信息。3、如权利要求2所述的系统,其特征在于,所述信息处理模块和所述信息采集模块之间采用注册机制,即信息处理模块在接收某新的节点的信息之前,需向该节点信息所在的信息采集模块发送注册信息,所述信息采集模块收到注册信息后将对应的节点信息发送给所述信息处理模块,之后,所述信息采集模块定时监控节点信息,以便及时将新的节点信息发送给信息处理模块。4、如权利要求3所述的系统,其特征在于,信息处理模块初始从数据库中获取所有类型节点的节点标识和节点设备类型,以用于向各个节点信息所在的信息釆集模块发送注册消息,继而接收各个节点的最新节点信息。5、如权利要求l所述的系统,其特征在于,所述信息采集模块和信息处理模块之间采用TCP通讯,并且所述信息釆集模块运行在WEB应用的各个网络节点上,所述信息处理模块运行在WEB应用服务器上。6、如权利要求2所述的系统,其特征在于,所述信息处理模块从所述信息采集模块接收的信息的信息结构为内部约定结构体,包括信息头和信息体,所述信息头中包括事件号、发送者标识、接收者标识,所述信息体是所述节点信息,包括链路信息、进程信息和版本信息。7、如权利要求4所述的系统,其特征在于,如果运行过程中,系统增加新节点,则信息处理模块向新增节点发送注册信息,减少节点,则信息处理模块清空緩存中对应的节点信息。8、一种实时性的网络状态监控图的实现方法,其特征在于,该方法包括以下步骤信息采集模块定时釆集节点信息,并在以后每次采集节点信息后将采集到的新的节点信息和上一次采集的的节点信息相比较,有变化则发送新的节点信息;信息处理模块接收新的节点信息,并在解析所述节点信息后按照消息体中的网络节点标识找到緩存中的对应节点并更新緩存中的对应节点信息;信息展示模块调取信息处理模块緩存中的节点信息,并通过WEB页面的形式展现给用户。9、如权利要求8所述的方法,其特征在于,所述节点信息包括事件号、发送者标识、接收者标识、链路信息、进程信息和版本信息。10、如权利要求9所述的方法,其特征在于,所述信息处理模块和所述信息采集模块之间采用注册机制,即信息处理模块在接收某新的节点的信息之前,需向该节点信息所在的信息采集模块发送注册信息,所述信息采集模块收到注册信息后将对应的节点信息发送给所述信息处理模块,之后,所述信息采集模块定时监控节点信息,以便及时将新的节点信息发送给信息处理模块。全文摘要本发明公开了一种实时性的网络状态监控图的实现系统和方法,涉及WEB应用领域。主要包括以下步骤信息采集模块定时采集节点信息,并在以后每次采集节点信息后和上一次采集的节点信息相比较,有变化则发送新的节点信息;信息处理模块接收新的节点信息,并在解析后按照消息体中的网络节点标识找到缓存中的对应节点并更新缓存中的对应节点信息;信息展示模块调取信息处理模块缓存中的节点信息,并通过WEB页面的形式展现给用户。本系统和方法不仅实时的图形化展示了WEB应用中各个网络节点的网络状态,同时为查看WEB应用中各个节点的进程信息、告警信息、版本信息等提供了便利。文档编号H04L29/08GK101494665SQ20091010557公开日2009年7月29日申请日期2009年2月26日优先权日2009年2月26日发明者余谦益,萍王,炎钱申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1