论文部分内容阅读
摘要:目前,在“互联网 ”趋势的影响下,不论是在人们日常的生活当中,还是在生产制造的过程,或者现代服务业等诸多领域当中,“网络化”已经变成了一个时代符号,而且成了未来的一种发展趋势,但同时也出现了一系列问题,例如,如何有效的实现网络状态在线监测变成了这些问题当中的一个热点。本文结合了一些关于设备的例子,具体探究利用VC编程中的网络通信、多线程编程技术、模块化设计理念等方式,做到设备网络节点在线状态的动态监测,分析收集整理故障,使得设备网络能够高效正常稳定化运行。
关键词:VC编程;网络状态;在线监测
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)30-0038-02
伴隨着“互联网 ”,大数据,中国智造2025等趋势的作用,设备网络化控制已近开始成为了一种趋势,使得大部分企业等机构目前对设备的检修、维护、运行、管理的需求变得多元时代化,加之其他一些成本等因素的影响,升级换代进行网络在线监测模式已经显得必不可少。在线监测是根据设备的运行状态,收集整理设备的历史运行状态,确定是否需要实行设备的检修维护,最重要的部分就是设备运行状态的监测与故障诊断。网络在线监测通过对设备各种状态信息的进行实时数据采集分析判断,做到捕捉出早期故障征兆,然后根据数据分析结果做出解决设备故障的合理的决策,这样企业等机构有时间提前制定出合理的设备检修方案的安排,使得设备的维护周期得以延长,同时,很大程度的降低设备的维修时间,不论是对设备的有效运行来说,还是对企业成本的控制都具有重大的意义。然而,由于目前我国一线生产作业人员由于专业技术不足,不能及时地对设备出现的故障进行发现和维护,而造成巨大的经济损失。结合目前我国技术水平的发展,可以通过网络在线监测系统,把设备现场的运行状态信息的大数据,通过互联网及时送到专家手中,然后经过及时而专业的模拟现场分析和判断,最终为问题的解决提出有效的方法措施,因此网络在线监测系统具有广阔的应用前景,而本文主要时论述基于VC编程实现网络状态在线监测。
1 VC编程概述
VC是一种软件集成开发环境,它是由微软公司开发完成的,换个角度理解就是基于C 的一个开发平台。VC是基于Windows平台的一种C 编程环境,包括MFC、ATL、COM等,此外还具有Windows平台的特性。基于Windows下的VC编程需要掌握Windows的消息机制和回调 (callback)函数的原理。MFC是需要理解文档视图类的结构、窗口类的结构、消息流向等的Win32API的包装类。COM是一个需要掌握其基本原理代码共享的二进制标准。除此之外,VC是一个主流的开发平台,它不属于语言。如果将C 视为工业标准,那VC则是遵循工业标准的前提下衍生出来的某种厂商标准的操作系统平台。VC是一种包括WIN API和MFC方式的在Windows平台下开发的VC应用程序,MFC是对传统的WIN API再次封装,其结构相比较简单,所以MFC的开发模式备效率优势更加明显。
2 VC编程网络在线监测功能的模块化
要实现类似MFC的网络状态在线监测和数据分析,就必不可少的需要借助VC相应的功能,例如强大的网络通信板块、多线程开发板块等。在监测软件的开发过程中,充分利用VC成熟的开发资源平台,开发建立有针对性的应用功能模块,做到开发效率和软件质量的双赢,其主要包括以下环节:(1)功能模块设计。MFC应用的实际上是TCP/IP协议组主要用在IP主机、路由器之间传递控制消息的一个子ICMP协议。Windows给予了ASMP.dll的支持,能够从VC中直接引用,但是不支持移植,另外无法控制网络信息的数据包。因此,在基于工程中包含adewfxsock.hfg库的前提下,借助VC技术能够直接针对套接字(socket)进行有效编程,勾选了一个和MFC程序一样发送32字节的数据信息,得到数据包大小和TTL值的回馈,编程过程及系统调用时序,如图1所示。(2)网络状态在线监测。首先,构建套接字符串,然后指定使用的ICMP协议。其次,发送air_ICMP数据包,初试化ECHORHHGEQUEST的types为9的响应请求指令,然后通过系统调用发送ICMPSD数据,并设置目标IP地址。(3)监测套接字符串网络在线状态,检测一个或多个套字符串的状态。(4)响应数据的识别,判断网络在线监测状态。最终,在回馈的数据当中包含了该次在线监测的结果。至此,同MFC方式一样,通过VC编程实现网络状态在线监测。
3 VC多线程编程网络状态在线监测
进程和线程都可以被看作操作系统的概念。通过应用程序执行实例的过程被称作进程,私有的虚拟地址空间、代码、数据和其他各种系统资源共同构成了每个进程,并且在运行模拟的过程中进程的终止会销毁创建的资源,使得进程终止时,所使用的系统资源获得释放或关闭。线程以一个执行单元的形式存在于进程内部。系统创建好进程后,同时也就启动了以函数地址形式执行的进程的主执行线程,并且,Windows系统也将接受来自主执行线程的指令。主执行线程的行为状态最终决定了进程的行为状态。每一个进程都需要一个由系统自动创建的而不需要用户操作的线程。用户可以根据网络监测具体项目,来创建对应的程序在同一个进程中所需要的多个线程。网络状态在线监测模块,在不需要用户界面交互的条件下,能够自动获取所需要的目标IP地址数据,并通过该地址数据创建单独的线程,定时实现后台运行在线网络状态监测。线程之间的通讯之所以方便,是因为在一个进程中的所有线程都在该进程的虚拟地址空间中,共同使用这些虚拟地址空间、全局变量和系统资源,最终使得多线程技术的应用广泛流行。除此之外,为了减少某项任务的长时间占用CPU,多线程可以通过并行处理的方式来实现此功能。可以通过适当的人机交互界面和配置数据管理的方式,来搭建一个完整的VC编程控制的网络在线监测应用系统。该系统系统功能包括网络监测完成网络节点通阻状态的存储;状态显示完成网络节点通阻状态的监测;节点管理完成网络节点通阻状态的分析;指标分析完成网络节点通阻状态的显示。网络状态在线状态的显示是通过客户端图形模式和动态网页模式构成。客户端图形模式采用的是可以对系统监测周期和节点属性等参数进行配置的C/S架构,除此之外,该构架还可以查看节点监测通阻状态和大数据的整理与分析,最终得到故障原因及解决方案。而浏览器网页模式主要用于查看节点状态和指标分析数据。
4 结束语
基于 VC编程充分利用了MFC总线的多节点、远距离、实时性好等优点,设计出了一套高效实用的网络在线监测系统,而且该系统具有直观实用的界面和高效简便的编程方式,在监测系统的应用很广泛。
参考文献:
[1] 赵立群, 吴霞, 孙岩. 计算机网络管理与安全[M]. 北京: 清华大学出版社, 2014.
[2] 罗莉琴, 詹祖桥, 黄辉等. Windows网络编程[M]. 北京: 人民邮电出版社, 2011.
[3] 潘磊, 裴斐. 一种面向大规模网络拓扑发现的研究[J]. 计算机工程与应用,2010, 46(19).
[4] DAVID. VISUAL C 6编程宝典[M]. 北京: 电子工业出版社, 2005.
[5] 周立功等. iCAN现场总线原理与应用[M]. 北京: 北京航空航天大学出版社, 2007.
关键词:VC编程;网络状态;在线监测
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)30-0038-02
伴隨着“互联网 ”,大数据,中国智造2025等趋势的作用,设备网络化控制已近开始成为了一种趋势,使得大部分企业等机构目前对设备的检修、维护、运行、管理的需求变得多元时代化,加之其他一些成本等因素的影响,升级换代进行网络在线监测模式已经显得必不可少。在线监测是根据设备的运行状态,收集整理设备的历史运行状态,确定是否需要实行设备的检修维护,最重要的部分就是设备运行状态的监测与故障诊断。网络在线监测通过对设备各种状态信息的进行实时数据采集分析判断,做到捕捉出早期故障征兆,然后根据数据分析结果做出解决设备故障的合理的决策,这样企业等机构有时间提前制定出合理的设备检修方案的安排,使得设备的维护周期得以延长,同时,很大程度的降低设备的维修时间,不论是对设备的有效运行来说,还是对企业成本的控制都具有重大的意义。然而,由于目前我国一线生产作业人员由于专业技术不足,不能及时地对设备出现的故障进行发现和维护,而造成巨大的经济损失。结合目前我国技术水平的发展,可以通过网络在线监测系统,把设备现场的运行状态信息的大数据,通过互联网及时送到专家手中,然后经过及时而专业的模拟现场分析和判断,最终为问题的解决提出有效的方法措施,因此网络在线监测系统具有广阔的应用前景,而本文主要时论述基于VC编程实现网络状态在线监测。
1 VC编程概述
VC是一种软件集成开发环境,它是由微软公司开发完成的,换个角度理解就是基于C 的一个开发平台。VC是基于Windows平台的一种C 编程环境,包括MFC、ATL、COM等,此外还具有Windows平台的特性。基于Windows下的VC编程需要掌握Windows的消息机制和回调 (callback)函数的原理。MFC是需要理解文档视图类的结构、窗口类的结构、消息流向等的Win32API的包装类。COM是一个需要掌握其基本原理代码共享的二进制标准。除此之外,VC是一个主流的开发平台,它不属于语言。如果将C 视为工业标准,那VC则是遵循工业标准的前提下衍生出来的某种厂商标准的操作系统平台。VC是一种包括WIN API和MFC方式的在Windows平台下开发的VC应用程序,MFC是对传统的WIN API再次封装,其结构相比较简单,所以MFC的开发模式备效率优势更加明显。
2 VC编程网络在线监测功能的模块化
要实现类似MFC的网络状态在线监测和数据分析,就必不可少的需要借助VC相应的功能,例如强大的网络通信板块、多线程开发板块等。在监测软件的开发过程中,充分利用VC成熟的开发资源平台,开发建立有针对性的应用功能模块,做到开发效率和软件质量的双赢,其主要包括以下环节:(1)功能模块设计。MFC应用的实际上是TCP/IP协议组主要用在IP主机、路由器之间传递控制消息的一个子ICMP协议。Windows给予了ASMP.dll的支持,能够从VC中直接引用,但是不支持移植,另外无法控制网络信息的数据包。因此,在基于工程中包含adewfxsock.hfg库的前提下,借助VC技术能够直接针对套接字(socket)进行有效编程,勾选了一个和MFC程序一样发送32字节的数据信息,得到数据包大小和TTL值的回馈,编程过程及系统调用时序,如图1所示。(2)网络状态在线监测。首先,构建套接字符串,然后指定使用的ICMP协议。其次,发送air_ICMP数据包,初试化ECHORHHGEQUEST的types为9的响应请求指令,然后通过系统调用发送ICMPSD数据,并设置目标IP地址。(3)监测套接字符串网络在线状态,检测一个或多个套字符串的状态。(4)响应数据的识别,判断网络在线监测状态。最终,在回馈的数据当中包含了该次在线监测的结果。至此,同MFC方式一样,通过VC编程实现网络状态在线监测。
3 VC多线程编程网络状态在线监测
进程和线程都可以被看作操作系统的概念。通过应用程序执行实例的过程被称作进程,私有的虚拟地址空间、代码、数据和其他各种系统资源共同构成了每个进程,并且在运行模拟的过程中进程的终止会销毁创建的资源,使得进程终止时,所使用的系统资源获得释放或关闭。线程以一个执行单元的形式存在于进程内部。系统创建好进程后,同时也就启动了以函数地址形式执行的进程的主执行线程,并且,Windows系统也将接受来自主执行线程的指令。主执行线程的行为状态最终决定了进程的行为状态。每一个进程都需要一个由系统自动创建的而不需要用户操作的线程。用户可以根据网络监测具体项目,来创建对应的程序在同一个进程中所需要的多个线程。网络状态在线监测模块,在不需要用户界面交互的条件下,能够自动获取所需要的目标IP地址数据,并通过该地址数据创建单独的线程,定时实现后台运行在线网络状态监测。线程之间的通讯之所以方便,是因为在一个进程中的所有线程都在该进程的虚拟地址空间中,共同使用这些虚拟地址空间、全局变量和系统资源,最终使得多线程技术的应用广泛流行。除此之外,为了减少某项任务的长时间占用CPU,多线程可以通过并行处理的方式来实现此功能。可以通过适当的人机交互界面和配置数据管理的方式,来搭建一个完整的VC编程控制的网络在线监测应用系统。该系统系统功能包括网络监测完成网络节点通阻状态的存储;状态显示完成网络节点通阻状态的监测;节点管理完成网络节点通阻状态的分析;指标分析完成网络节点通阻状态的显示。网络状态在线状态的显示是通过客户端图形模式和动态网页模式构成。客户端图形模式采用的是可以对系统监测周期和节点属性等参数进行配置的C/S架构,除此之外,该构架还可以查看节点监测通阻状态和大数据的整理与分析,最终得到故障原因及解决方案。而浏览器网页模式主要用于查看节点状态和指标分析数据。
4 结束语
基于 VC编程充分利用了MFC总线的多节点、远距离、实时性好等优点,设计出了一套高效实用的网络在线监测系统,而且该系统具有直观实用的界面和高效简便的编程方式,在监测系统的应用很广泛。
参考文献:
[1] 赵立群, 吴霞, 孙岩. 计算机网络管理与安全[M]. 北京: 清华大学出版社, 2014.
[2] 罗莉琴, 詹祖桥, 黄辉等. Windows网络编程[M]. 北京: 人民邮电出版社, 2011.
[3] 潘磊, 裴斐. 一种面向大规模网络拓扑发现的研究[J]. 计算机工程与应用,2010, 46(19).
[4] DAVID. VISUAL C 6编程宝典[M]. 北京: 电子工业出版社, 2005.
[5] 周立功等. iCAN现场总线原理与应用[M]. 北京: 北京航空航天大学出版社, 2007.