摘要:基于IIS5.1服务器和2.0开发平台实现对IP网络数据质量分析仪的远程控制。利用 2.0 AJAX Extensions和Office Web Components来满足实时更新测试数据,动态显示测试结果的设计要求。应用结果表明其具有良好的性能和实用性。
关键词:IP网络数据质量分析仪;远程控制;Ajax;OWC
中图分类号:TM935.21 文献标识码:A文章编号:1007-9599 (2011) 14-0000-02
The Implementation of the IP Network Data Quality Analyzer Remote Control Based on Web Service
Zhao Bo
(Liaoning Entry-Exit Inspection and Quarantine Bureau,Dalian116001,China)
Abstract:Web service based realization of remote control of the IP network data quality analyzer using 2.0 AJAX Extensions and Office Web Components.Using 2.0 AJAX Extensions and Office Web Components to fulfill the requirement of real-time updating test data and dynamically display the test results.Good performance and practicability are validated by employing.
Keywords:IP Network Data Quality Analyzer;Remote Control;Ajax;OWC
一、引言
IP网络数据质量分析仪是以太网测试中最重要、最基本的测试仪器,可以对数据通信网络进行全面测试。随着以太网通信设备的性能和服务速度的不断提升,IP网络数据质量分析仪越来越多的应用于以太网和IP传输设备的开发与制造、因特网服务的建立与维护等领域。在很多情况下,仪器需要工作在高温、高辐射等不适合人类生存的环境中,因此远程控制仪器已成为很多科研实验和工程项目必需的功能。IP网络数据质量分析仪厂商一般提供功能接口便于用户进行二次开发。本文给出了一种基于的远程控制实现方法。
二、硬件结构与原理
本系统以依爱公司生产的AV5213千兆网络数据质量分析仪为例。在整体方案上,AV5213选择了CPCI工控机平台以及二层方式的软硬件结构,上层是主控机+Windows操作系统,下层基于ARM的不携带OS的嵌入式系统,两层之间通过CPCI总线进行交互。远程终端通过局域网连接工控机平台的以太网接口进行远程控制,结构如图1所示。
图1:硬件原理
三、软件开发
(一)开发平台
本系统使用IIS5.1作为Web服务器,并采用2.0作为开发环境。
2.0是.NET Framework 2.0的一个组成部分,它具有相当多的优势:在语法上,它与ASP兼容;它提供面向对象特征;它提供了很多强大的功能、工具和系统特征,大量程序员友好的类允许使用典型的桌面方法进行页面开发[1]。
图1中的控制接口是用VC++6.0开发的非托管动态连接库,远程控制的服务器端调用它提供的接口函数来实现具体的控制功能。在需要引用BCL(Base Class Library,微软基类库)System.Runtime命名空间中的System.Runtime.Interop Service类库,它提供了.NET对COM、纯Win32 API以及以函数方式开放的DLL的交互支持[2]。例如,需要在服务器端代码中以如下方式声明对“关闭设备”接口的调用:
[DllImport("Eth1000Ctrl.dll",EntryPoint="EINETG_Close")]
public static extern ViStatus EINETG_Close(ViSession hDevice);
这种声明要求:
1.DLL文件必须位于程序当前目录或系统定义的查询路径中(即:系统环境变量中Path所设置的路径)。DLLImport会按照顺序去查找DLL文件(程序当前目录>System32目录>环境变量Path所设置路径)。
2.返回类型变量、方法名称、参数列表一定要与DLL文件中的定义相一致。指针参数将转化为C#中的引用参数。
(二) 2.0 Ajax Extensions
1.Ajax的工作原理
Ajax即异步JavaScript和XML,是Web2.0中的一项关键技术,它允许把用户和Web页面之间的交互与Web浏览器和服务器之间的通信分离开来[3]。
如图2,与传统的Web应用不同,Ajax采用异步交互过程。Ajax在用户与服务器之间引入一个中间介质,消除了网络交互过程中的处理、等待等缺点,使用户操作与服务器响应异步化,这样把以前的一些服务器负担的工作转移到客户端,利用客户端闲置的处理能力,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的[4]。
图2:Ajax原理图
2.0 Ajax Extensions
AJAX是一个完整的开发框架,其中的 2.0 AJAX Extensions是服务器端编程模型,其特点是容易与现有的程序相结合,满足实时监控测试结果所需要的异步获取后台数据和局部刷新功能[5]。
Script Manager是 2.0 Ajax Extensions的核心控件,它在一个页面上没有任何可视界面。每个需要使用 AJAX异步回传特性的页面都需要Script Manager的一个实例,它创建能够从浏览器异步调用Web服务的,管理Update Panel控件刷新内容的方式。
在具体实现时,在页面内放置一个Script Manager控件,并将它的Enable Partial Rendering属性设置为true,并向页面添加一个或多个Update Panel控件,将需要异步刷新和局部刷新的控件集合放在一个Update Panel内,然后根据具体需要设置Update Panel控件的Update Mode属性,当将这个Update Mode属性设置为Conditional时,只有Update Panel内部触发的回传才会引起Update Panel的刷新。
2.0 AJAX提供了Timer控件,将它与Update Panel控件结合使用可以实现页面定时局部刷新:
……
(三)在中使用OWC创建统计图
将测试结果处理后以图表的形式展现对于IP网络数据质量分析仪是一项重要功能,本系统采用Office Web Components(OWC)来创建统计图。
OWC是一组COM控件,设计的目的是在浏览器或者传统的编程环境中提供交互的电子表格建模,数据报表和数据可视化功能。
在vs2005服务资源管理器里右键点击网站主目录一行,添加引用,找到Microsoft Office Web Components(OWC11)。
//创建Chart Space对象来放置图表:
Microsoft.Office.Interop.Owc11.ChartSpace objCSpace=new Microsoft.Office.Interop.Owc11.ChartSpaceClass();
//在ChartSpace对象中添加图表,Add方法返回chart对象:
Microsoft.Office.Interop.Owc11.ChChart objChart=objCSpace.Charts.Add(0);
//指定图表的类型。类型由OWC.ChartChartTypeEnum枚举值得到,这里选择曲线图:
objChart.Type=Microsoft.Office.Interop.Owc11.ChartChartTypeEnum.chChartTypeLine;
//给定标题
objChart.HasTitle=true;
objChart.Title.Caption="延迟";
//给定x,y轴的图示说明
objChart.Axes[0].HasTitle=true;
objChart.Axes[0].Title.Caption="Y:数量";
objChart.Axes[1].HasTitle=true;
objChart.Axes[1].Scaling.SplitMinimum=200;
objChart.Axes[1].Title.Caption="X:月份";
//用一个数组A来存放测试结果,将A中每个元素转化为字符串,并用tab分割符来分隔
string strCategory="10%"+"\t"+"20%"+'\t'+"30%"+'\t'+"40%"……'\t';
string strValue=A[0].ToString()+"\t"+A[1].ToString()+'\t'+A[2].ToString()+'\t'+A[3].ToString()+'\t'+A[4].ToString()+……+'\t';
//给定分类
objChart.SeriesCollection[0].SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimCategories,(int)Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral,strCategory);
//给定值
objChart.SeriesCollection[0].SetData
(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues,
(int)Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral,strValue);
//输出成GIF文件.
string strAbsolutePath=(Server.MapPath("."))+"\\test.gif";
objCSpace.ExportPicture(strAbsolutePath,"GIF",600,350);
//创建GIF文件的相对路径.
string strRelativePath="./test.gif";
//把图片添加到placeholder.
//string strImageTag="";
//ChartHolder.Controls.Add(new LiteralControl(strImageTag));
Image1.ImageUrl=strRelativePath;
下图是AV5213千兆网络数据质量分析仪端口1与端口2自环测试得到的时延结果:
图3
四、结论
实践表明,上述远程控制实现方法结合AV5213千兆网络数据质量分析仪硬件,满足远程控制中无闪烁异步刷新和动态显示测试结果的设计要求,并且实现简单。应用结果表明其具有良好的性能和实用性。
参考文献:
[1]Alex Homer,Dave 2.0 Illustrated[M].人民邮电出版社,2007
[2]黄猛,唐琳.在.NET环境中使用C#调用非托管DLL[J].电脑编程技巧与维护,2006,8:10-12
[3]孙启良.Ajax技术与传统Web应用的比较[J].信息技术,2010,1:108-110
[4]游丽贞,郭宇春,李纯喜.Ajax引擎的原理和应用[J].微计算机信息,2006,6:205-208
[5]Wallace B McClure,Paul 2.0 Ajax入门经典[M].清华大学出版社,2008
[6]林永兴,许小燕.一种基于OWC在Web页动态绘制图表的方法[J].计算机与现代化,2010,1:153-155
[作者简介]赵博(1983-),男,工学学士,辽宁出入境检验检疫局助理工程师,主要从事网络安全管理和软件开发。
注:本文为网友上传,不代表本站观点,与本站立场无关。举报文章
上一篇:浅述计算机网络安全与防范 下一篇:英泰发电公司薪酬体系研究
发表评论 快捷匿名评论,或 登录 后评论