3.5 电子邮件服务任务
电子邮件服务通常情况下处于休眠状态。当有报警发生,由监控任务将其投入运行,一旦执行完毕,自动删除所在任务。通过电子邮件,系统可可以主动地发送信息。守护任务通常处于休眠状态,只有当到达系统发送日志的时间或者系统异常时,由相应的任务启动。在系统正常的情况下,定时向企业数据库发送系统运行日志。当有系统异常发生时,守护任务通过Internet向系统管理和维护人员发送E-mail报警,通知其对系统进行维护。任务实现的流程图如图4所示。
图4 电子邮件服务任务流程图
4 嵌入式Web Server中服务器与客户端交互技术的实现
嵌入式Web Server功能块主要是通过CGI程序来获取用户的请求、查询条件并利用应用程序为其提供后台服务,结果使用HTML方式描述,并直接回送到客户端的浏览器。CGI是Web服务器在调用外部程序时的接口规范协议,它规定了一套标准的参数格式和环境变量,扩展Web服务器的功能.使之能够执行一些Web服务器本身不能完成的任务,如与各类应用服务器通讯、访问数据库等。这里我们通过CGI和HTML Form机制可以从浏览器中得到用户组态和控制输出等简单操作的输入信息。作为Web服务器外部进程运行的CGI程序与Web服务器之间的通讯属于进程的通信,开销大,速度低。当有多份并发的同样请求时,必须为每个请求建立一个进程;若Web服务器将重复收到多个同样的请求,必须不断重复准备地址空间、建立运行进程、回收空间、撤销进程的过程。因此与当前流行的ASP、JSP和PHP方式相比,CGI的方式的进程本质上效率不高。但是Dynamic C只支持CGI接口,而且从工业控制的实际情况出发,在工业以太网内部对于现场设备的访问与商用Web服务器不同,不会有太量请求同时并发执行的情况,因此CGI完全可以满足需要
工业控制经常需要以动态曲线形式显示现场的各种数据,公共网关接口CGI虽然能够提供客户端浏览器与嵌入式Web服务器间的信息交换,但CGI只能为数据的传输提供通道、进行处理,而不具有绘制图型的功能;而浏览器页面描述语言HTML也由于其本身的局限性,只能提供静态的画面。为此浏览器端程序使用了Java Applet技术,程序功能是定时向现场设备发送TCP连接请求,并利用所获取的数据在浏览器网页上绘制动态曲线,目的是在客户端实现友好的交互式显示模式并提供实时数据。
本文作者创新点:
本文深入研究了在嵌入式实时操作系统环境下控制软件的开发,通过对现场设备软件结构的分析,合理地对控制软件进行任务划分,使之成功的运行于嵌入式实时操作系统μC/OS-II上,并根据实时调度算法对多个任务进行统一管理和调度。