专利名称:基于服务器推技术的系统运行时性能监控方法
技术领域:
本发明涉及一种基于服务器推技术的系统运行时性能监控方法,具体地说是一 种。本发明涉及Web2.0以及图形方面的一些知识,适用于J2EE架构构建的企业应用系统, 是一种实时的、动态的图形展现解决方案。
背景技术:
运行时性能监控主要针对企业内的业务系统,原来企业内部的IT资源更多的是 靠人去维护,随着企业信息化程度越来越高,应用系统越来越多,环境也越来越复杂,系统 的运行状况只靠人去维护已经无法满足需要,在这种情况下主动的运行时性能监控系统显 得很重要,运行时性能监控需要对底层采集的性能数据实时、动态的进行展现,这就需要 用到"服务器推"技术,"服务器推"技术是一种很早就存在的技术,以前在实现上主要是 通过客户端的套接口 ,或是服务器端的远程调用,在浏览器技术上没有提供很好的支持, 而随着AJAX技术的普及,通过浏览器实现"服务器推"已经不是一件难事了, AJAX全称为 "AsynchronousJavaScript and XML"(异步JavaScript和XML),是指一种创建交互式网页 应用的网页开发技术;企业内业务系统的稳定性已经关系到企业的日常运营生产,是企业 内IT部门越来越关注的事情,IT管理员想清楚企业各个服务器的运行状况、数据库是否稳 定、应用系统是否在线接受响应,都是需要去关注的事情;而能否将实时采集的数据动态的 展现出来,这是运行时监控系统需要做的事情;传统的浏览器技术已经很难满足这种需求。 在Web2.0中提出了一种新的技术,这种技术就是AJAX技术,AJAX是浏览器技术发展的成 果,通过浏览器端发送异步请求,提高单用户操作的响应性。
发明内容
本发明的目的是提供一种基于服务器推技术的系统运行时性能监控方法。
本发明的目的是按以下方式实现的,通过动态图形效果展现企业内架构系统的基 础设施的运行情况,从而帮助企业内的系统维护人员及时发现有问题的部件以便及时进行 修复,避免因为系统稳定性带来的损失,具体步骤如下 1)通过底层的J2EE架构服务器将业务系统各运行资源的底层数据进行实时采
集,通过WEB或者XML服务的方式提供给上层; 2)通过SVG编辑工具制作理想效果的动态矢量图; 3)页面通过JavaScript调用xml服务获取监控数据,对监控数据进行加工,之后 对SVG进行控制,实现SVG动态展现的效果; 4)通过AJAX技术完成数据的前后端的交互,让前端不会出现延迟的感觉。
通过SVG来实现图形的动态效果。
本发明的有益效果是 1)本发明实现的是B/S模式监控系统可用性的实现方法,只要对监控服务器进行 部署可以在多个地方进行监控,改变传统C/S模式还需要安装监控客户端。
3
2)本发明展现的是一种实时动态效果,通过图表的动态状态显示,能够帮助系统
维护人员及时发现系统中有问题的部件(如上图红色部分显示的内容)。 3)本发明采用Web2. 0的技术以及矢量图形展现技术,都是最流行的开发技术,实
现了很好的动态展现效果。
图l是系统设备结构具体实施例方式
本发明的基于服务器推技术的系统运行时性能监控方法,是通过 AJAX (Asynchronous JavaScript and XML)实现系统运行时性能监控,AJAX是多种技术的 综合,它使用XHTML和CSS标准化呈现,使用DOM实现动态显示和交互,使用XML和XSTL进 行数据交换与处理,使用XMLHttpRequest对象进行异步数据读取,使用Javascript绑定和 处理所有数据。设备结构如图1 :
下面是一个具体实现过程 第一步关于监控数据底层通过J2EE架构实现,具体上图的底层应用服 务器端,数据采集内容包括主机信息、数据库信息、中间件信息,最终通过/hawk/ db2usabilityscore. do db」d以XML数据服务的方式提供给上层。 第二步描述客户浏览器如何通过javascript调用xml服务获取监控数据,之后
对数据进行加工处理,下面程序例子 var par咖=〃 kaifajil6—gsychd〃 5 var xmlHttp ; function monitor (){ var url = 〃 /hawk/db2usabilityscore. do 7 db_id = 〃 +param 5 if(window. ActiveXObject){ xmlHttp = new ActiveXObject(〃 Microsoft. XMLHTTP");
xmlHttp = new XMLHttpRequest();
xmlHttp. open(" GET" , url);
xmlHttp. onreadystatechange = callback j
xmlHttp. send(null);
var svg = document. getElementByld(〃 svg〃 ); var svgDocument = null 5
if (svg ! = null) { svgDocument = svg. getSVGDocument (); }else{
return; } var xmlDoc = xmlHttp. responseXML ; var value2 =parseInt(xmlDoc. getElementsByTagName(" VALUE" )
. firstChild. text); var SvgObjUsed = svgDocument. getElementByld(〃 needle"); var arc = (180-value2/100*180)*Math. PI/180 ;if (SvgObjUsed! = null){SvgObjUsed.setAttribute("xl",Math. cos(arc)*150+300)SvgObjUsed.setAttribute("yi",250_Math. sin(arc)氺150)SvgObjUsed.setAttribute("x2",Math. cos(arc)*60+300):SvgObjUsed.setAttribute("y2〃,250-Math. sin(arc)*60); } var percent = svgDocument. getElementByld(〃 percent"); if (percent ! = null) { percent. firstChild. nodeValue = value2+〃 %〃 ; }
}
}
} setlnterval(" monitor ()〃 ,100000); 第三步动态图表的展现通过SVG来完成,需要制作一个SVG文件,文件内容包括 饼图、柱图等。XML处理之后的数据对SVG矢量文件的显示进行控制,下面是SVG部分的实 现代码 〈? xml version =〃 1.0〃 encoding = 〃 utf_8〃 ? > 〈 ! 一Generator :Adobe Illustrator 12. 0. 0, SVG Export Plug-In. SVG Version :6.OOBuild
51448)—〉 〈 ! D0CTYPE svg PUBLIC 〃 -〃W3C〃DTD SVG
1. 1〃EN" 〃 http:〃www.w3. org/Graphics/SVG/1. 1/DTD/svgll. dtd"[
〈! ENTITY ns_svg〃 http: 〃www. w3. org/2000/svg〃 >
〈! ENTITY ns_xlink" http:〃www. w3. org/1999/xlink" >
] > 〈svg version =〃 1.1〃 id = 〃图层_1〃 xmlns = &ns_svg ; 〃 xmlns :xlink =〃 &ns_xlink; " width =" 600"
5
height =〃 300〃 viewBox = 〃 0 0 600 300〃
overflow = 〃 visible 〃 enable-background space =〃 preserve" > 〈path fill=〃 #FFFF00〃
',5〃
new 0 0 600 300 〃 xml
stroke
#000000'
M100,250c0_110.457,89.543_200,200-200s200,89. 543,200,
XMLID_25_" gradientUnits=" userSpace0nUse" xl
stroke—width =
d = 200H100z〃 /> 〈linearGradient id ="300" yl =" 250"
x2 = 〃 450 〃 y2 = 〃
〈stop offset = 〃 0 〈stop offset = 〃 1 〈/linearGradient>
〈 P url (#XMLID_27_)〃
d=" M100,250c_0.002_71. 455,38. 118_137.482,100_173. 21L300,
fill =
250H100z" />
〈path stroke =〃 #000000'
350" > style style
stop-color :#FFFF00' stop-color :#008000'
t
h
fill
#FFFFFF d=〃 M250,250c0-27. 614,22. 386-50,50-50s50,22. 386,50,50〃 /> 〈line id = 〃 needle" fill=〃 none" stroke = 〃 #000000〃 stroke-width
=〃 3〃 xl =〃 210〃 yl =〃 190" x2=〃 300〃 y2=〃 190〃 /> 〈text id = 〃 percent" transform = 〃 matrix(1. 1016 0 0 1 270 250)〃 fill ="#000000" font-family =〃 ' SimSun' 〃 font—size = 〃 32〃 >0% 〈/text> 〈line fill = 〃 none 〃 stroke = 〃 #000000 ="473.86664873203233" yl = 203.41257188154628〃 x2 200.82438143052104〃 /> 〈line fill = 〃 none 〃 stroke = 〃 #000000 =〃 455.88457268119896〃 yl = 〃 160〃
x2=〃 464.5448267190434〃 y2 = 〃 155〃 />
〈linefill=〃 none"stroke = 〃 #000000〃 ="427.27922061357856" yl = 122.72077938642145〃 x2 =〃 115.649711574556〃 /> 〈line fill = 〃 none 〃 stroke = 〃 #000000 =〃 390〃 yl=〃 94.11542731880104〃
stroke—width
483.525906994923
stroke—width
stroke—width
434.35028842544403
stroke—width
3 " xl
y2
3 " xl
xl
y2
3 " xly2
85.45517328095667'
3
y2
3" xl
3" xl
y2
3" xl x2 = 〃 395 〈line fill = 〃 none" stroke = 〃 #000000 xl =" 346. 5874281184537" yl =〃 76. 1333512679677〃 x2 = 〃 ="66.47409300507701" /> 〈line fill=〃 none" stroke = 〃 #000000' ="300" yl =" 70" x2 =" 300"
y2 =〃 60〃 /> 〈linefill=〃 none" stroke = 〃 #000000'' ="253.41257188154626" yl =〃 76. 1333512679677〃 x2 = 〃 ="66.47409300507701" /> 〈line fill=〃 none" stroke = 〃 #000000' ="210.00000000000006" yl =〃 94.11542731880104〃 x2 =〃 85.45517328095664〃 /> 〈line fill=〃 none" stroke = 〃 #000000' ="172.72077938642144" yl =〃 122.72077938642144〃 x2 = =〃 115.64971157455596〃 />
〈line fill = 〃丽e 〃 stroke 144.11542731880104〃 yl =〃 160〃
x2=〃 135.45517328095664〃 y2 = 〃 155〃 />
〈line fill=〃 none" stroke = 〃 #000000' ="126.13335126796772" yl = 203.41257188154623〃 x2 =〃 200.82438143052101〃 />
〈/svg> 通过上面过程我们实现了对运行时性能进行实时监控,图2是一个动态矢量图形 的效果。
stroke—width
349.17561856947895
stroke—width
stroke—width
250.82438143052104
stroke—width
205.00000000000006
stroke—width
165.649711574556
y2
3" xl
y2
#000000〃 stroke width
stroke—width
3" xl
116.47409300507704
3" xl
y2
权利要求
基于服务器推技术的系统运行时性能监控方法,其特征在于,通过动态图形效果展现企业内架构系统的基础设施的运行情况,从而帮助企业内的系统维护人员及时发现有问题的部件以便及时进行修复,避免因为系统稳定性带来的损失,具体步骤如下1)通过底层的J2EE架构服务器将业务系统各运行资源的底层数据进行实时采集,通过WEB或者XML服务的方式提供给上层;2)通过SVG编辑工具制作理想效果的动态矢量图;3)页面通过JavaScript调用xml服务获取监控数据,对监控数据进行加工,之后对SVG进行控制,实现SVG动态展现的效果;4)通过AJAX技术完成数据的前后端的交互,让前端不会出现延迟的感觉。
2. 根据权利要求l所述的方法,其特征在于,通过SVG来实现图形的动态效果。
全文摘要
本发明提供一种基于服务器推技术的系统运行时性能监控方法,是通过动态图形效果展现企业内架构系统的基础设施的运行情况,从而帮助企业内的系统维护人员及时发现有问题的部件以便及时进行修复,避免因为系统稳定性带来的损失,具体步骤如下1)通过底层的J2EE架构服务器将业务系统各运行资源的底层数据进行实时采集,通过WEB或者XML服务的方式提供给上层;2)通过SVG编辑工具制作理想效果的动态矢量图;3)页面通过JavaScript调用xml服务获取监控数据,对监控数据进行加工,之后对SVG进行控制,实现SVG动态展现的效果;4)通过AJAX技术完成数据的前后端的交互,让前端不会出现延迟的感觉。
文档编号G06F17/24GK101741900SQ20091023077
公开日2010年6月16日 申请日期2009年12月3日 优先权日2009年12月3日
发明者宋智强, 王元飞 申请人:山东浪潮齐鲁软件产业股份有限公司