APP下载

基于Akka的高可靠分布式控制系统设计与实现

2022-02-25吕海东

微型电脑应用 2022年2期
关键词:设备系统

吕海东

(大连理工大学, 城市学院, 辽宁, 大连 116600)

0 引言

当今世界,随着监测设备和控制设备日益大规模增加,尤其是物联网(IoT)的迅猛发展[1],工业过程控制系统变得越来越复杂,已经由传统的集中控制模式,全面转变为分布式控制模式。

传统的控制系统通常可以控制几百或几千的传感器和执行设备,再多就感到力不从心,系统性能严重下降,实时性难以满足实际需求。如一个大城市的交通信号控制系统,智慧城市控制系统,需要控制的各种设备可能超过几十万,甚至上百万。

为了克服多线程编程复杂,难以实现真正的高并发性,高可靠性和实时性的问题,Lightbend推出了著名的Akka框架[2]。Akka为构建分布式、异步、高性能的实时系统提供了一种创新的编程模式模型。Akka使开发人员能够轻松地使用高级抽象来构建异步响应式系统,不必处理诸如线程、互斥和死锁之类难题。Akka将应用程序的行为和状态封装和建模为Actor(角色),如过程控制系统中的每个设备对应一个Actor,这些Actor通过传递消息进行相互协作,完成数据的采集、传输和处理[3]。

Actor的核心工作模式是,应用程序只通过相互发送消息与之交互,而不像传统的面向对象编程模式直接调用对象的方法。

Akka的Actor对象占用资源非常少,按照Akka的官方文档说明,Akka的Actor运行在Java的JVM中,1GB Heap的内存可以运行250万个Actor对象,即可以模拟250万个控制设置(如传感器、执行器、转换器等),通过增加计算机的内存,Akka可以控制的Actor数量急剧上升。

Akka中Actor的工作在消息驱动模式[4],不像传统的编程模式通过调用对象的方法,或函数调用Actor功能,而是发送消息给Actor,Actor只有接收到消息后,才可以执行指定的功能。……

登录APP查看全文

猜你喜欢

设备系统
谐响应分析在设备减振中的应用
Smartflower POP 一体式光伏系统
WJ-700无人机系统
ZC系列无人机遥感系统
基于PowerPC+FPGA显示系统
半沸制皂系统(下)
基于VB6.0+Access2010开发的设备管理信息系统
基于MPU6050简单控制设备
连通与提升系统的最后一块拼图 Audiolab 傲立 M-DAC mini
500kV输变电设备运行维护探讨