北极星

搜索历史清空

  • 水处理
您的位置:电力技术正文

智能电网中智能配电数字终端的消息设计

2011-11-07 09:12来源:互联网关键词:智能电网技术电力软件智能配电数字终端收藏点赞

投稿

我要投稿

3.2 I/O多路复用

通常对一个文件描述符指定的文件或设备进行I/O操作,系统有3种I/O方式:阻塞和非阻塞同步,以及复用型I/O。复用型I/O,指当满足一个或多个I/O条件(可读、可写或异常)时,进程能够立即知道,从而可以正确并高效的处理。

本系统的I/O多路复用使用一个事件多路分离器,分离器将来自事件源的I/O事件分离出来,并分发到对应的事件处理器。通常预先注册需要处理的事件及事件处理器(或回调函数);事件分离器负责将请求的事件传送给事件处理器。

3.3 定时器等抽象设备

在本系统中消息源主要都是I/O设备,可以用系统函数Select和poll来实现I/O多路复用机制。定时器作为一种特殊事件,虽然不能用Select函数将其放入待检查队列,但同样可以在事件分发循环的准备(Prepare)阶段设置定时周期等参数,检查(Check)定时周期是否到达,当定时周期到了,将定时处理事件放入待处理消息队列。

3.4 事件处理

对应每一个事件源,在初始阶段将动态库函数引入系统,建立事件到相应处理函数的映射,Message Center是事件处理的接口,侠处理函数的注册、注销,当有事件进入“就绪’状态时,调用注册事件的回调函数处理事件。事件处理中心类如图7所示。

各种具体事件的处理涵数在MessageCenter中进行注册,MessageCenter采用map容器对注册的各种事件处理函数进行管理,能够高效率地查找各相关处理函数,提高了系统的实时响应能力。事件处理的时序如图8所示。

4 结语

本文从智能配电数字终端系统实现的角度提出了一种基于Reactor的事件驱动模式消息管理方案,结合面向对象的思想,统一接口,对事件源和事件处理进行了封装。提高了事件的处理效率,保证了系统的实时性。根据实际需要可以在不同的系统中对于待消息队列中的事件用优先级加以区分。

投稿与新闻线索:陈女士 微信/手机:13693626116 邮箱:chenchen#bjxmail.com(请将#改成@)

特别声明:北极星转载其他网站内容,出于传递更多信息而非盈利之目的,同时并不代表赞成其观点或证实其描述,内容仅供参考。版权归原作者所有,若有侵权,请联系我们删除。

凡来源注明北极星*网的内容为北极星原创,转载需获授权。

智能电网技术查看更多>电力软件查看更多>智能配电数字终端查看更多>