应用于电气监控系统的紧凑型快速消息总线论文_王辉

(南京国电南自维美德自动化有限公司 江苏南京 210032)

摘要:分析了应用于电气监控系统的消息总线应具有可靠性、实时性、选择性等特性,针对这些特性,设计了一种基于消息路由的紧凑型快速消息总线,及其实现方案。最后验证了该方案满足电气监控系统的需求。

关键词:电气监控系统;消息总线;多生产者;多消费者;消息路由

引言

电气监控系统以计算机、通讯设备、测控单元为基本工具,采集实时数据、检测开关状态及对其远程控制。电气监控系统作为分布式系统,其中存在大量的一对多、多对多通信需求,电气状态数据和控制命令等消息的传递具有可靠性、实时性、选择性等特性,需要采用基于路由的紧凑型快速消息总线。

1.紧凑型快速消息总线的概念

1.1 消息总线的概念

消息总线(Message Queue,MQ),是一种常见的上下游“逻辑解耦+物理解耦”的消息通信服务,消息发送上游只需要依赖消息总线,逻辑上和物理上都不用依赖其他服务,是实现高性能、高可用、可伸缩和最终一致性架构中不可以或缺的一环。

1.2 对可靠性的要求

电气监控系统对可靠性要求很高,特别是高压设备和机组设备,误操作会给发电企业造成损失。因此,消息总线必须充分考虑可靠性。

1.3 对实时性的要求

电气监控系统中的自动电压调节模块,如果电压信号反馈延时过大,则会造成电压过调的后果。因此,消息总线必须具备实时性。

1.4 对选择性的要求

电气监控系统是由不同功能模块组成的系统,不同的模块关注不同的部分,另外,满足选择性还可以减少传递的消息数量,减小系统开销。因此,消息总线必须满足选择性的要求。

2.紧凑型快速消息总线的设计

2.1 整体框架设计

本文设计的消息总线基于消息路由功能,实现了一个多生产者(Producer)多消费者(Consumer)的总线模型。整体框架如图1所示。

图1 紧凑型快速消息总线模型

图2 Producer业务

消息总线与其它进程间通过socket进行通信。其它进程在启动时,首先在消息总线上注册自己的身份,如果是消息发布程序,消息总线生成一个Producer线程;如果是消息接收程序,消息总线则生成一个Consumer线程,并根据消息接收程序提供的关注列表,把相应的Producer对象添加的自己的关注列表中,同时在此Producer对象的Consumer列表中把自己添加进去。

2.2 Producer设计

对于Producer业务流程如图2所示。

2.3 Consumer设计

对于Consumer业务流程如图2所示。

图3 Consumer业务

3.紧凑型快速消息总线的实现

3.1 代码实现

节点模型:

struct Node

{

enum Status{

CanWrite = 0x00, //写允许

CanRead = 0x01, //读允许

IsWriting = 0x02, //正在写

IsReading = 0x04 //正在读

};

quint32 consumersMark; //需要读取此消息的consumers标志

quint8 nodeStatus; //此节点的状态

char nodeContent[1024]; //消息内容

};

Producer模型:

class Producer

{

private:

QString mName; //此Producer的名字

QList<Consumer *> mConsumers; //关注此Producer的Consumer列表

Ring *mpRing; //此Producer关联的环形数组指针

};

Consumer模型:

class Consumer

{

private:

QString mName; //此Consumer的名字

QList<Producer *> mProducers; //关注的Producer列表

Ring *mpRing; //此Consumer关联的环形数组指针

};

3.2 性能测试

测试采用极限测试方式,得出本消息总线的最佳性能。

情况1:单Producer单Consumer。测试了5组数据,结果见图4。

图5 多Producer多Consumer

3.3 小结

在共计10组的测试中,最高7.38E-07的丢失率足够低,基本可以忽略,符合可靠性的要求。另外观察到最低的平均速度是1347.92条每秒,可以看出消息的转发过程在毫秒级别,符合实时性的要求。通过多Producer对多Consumer的测试,也表明本总线符合选择性的要求。

4.结束语

测试表明,本文设计的消息总线完全满足电气监控系统对可靠性、实时性和选择性的要求,电气监控系统应用本消息总线后,可以很方便的实现发送消息,接收消息等操作,由于紧凑型设计,在本总线的运行过程中,占用系统资源较低,这一特性也让采用本总线的电气监控系统非常适用于旧系统的改造。

参考文献

[1]万豪,史浩山,林卓,等.基于订阅发布机制的中间件系统设计与实现.计算机测量与控制,2012.20(9):2551-2554.

[2]王攀,沈苏彬.消息总线——基于组件的系统通信和集成架构.南京邮电学院院报,2003年9月,第23卷,第3期:34-39.

[3]徐晶,许炜.消息中间件综述.计算机工程,2005年8月,第31卷,第16期:73-76.

论文作者:王辉

论文发表刊物:《电力设备》2019年第15期

论文发表时间:2019/12/9

标签:;  ;  ;  ;  ;  ;  ;  ;  

应用于电气监控系统的紧凑型快速消息总线论文_王辉
下载Doc文档

猜你喜欢