当前位置:文档之家› NIAGARA平台分布式架构设计

NIAGARA平台分布式架构设计

基于NIAGARA平台分布式系统集成架构设计一、背景分析可以设想在不久的未来,随着物联通信的技术迅猛发展,将广泛存在的智能设备进行互联将变成现实,从而使得智能设备间能够识别对方的存在,并与之交互。

这种充分互联互通的环境使得广泛分布的嵌入式计算单元,传感器的信息可以被实时采集、处理、控制,从而产生智能反应和协调行动。

通过设备互联,我们可以让交通、建筑、设施、生产、学校、医疗等环境变得越来越智能、绿色、高效、设备也不再是冷冰冰的设备,而是变得拟人化,将为人类创造无比舒适的生产和生活方式。

以下是一个简单的例子,如图1所示,它演示了如何一个便利店的POS系统和其他设备的传感器可以自动发送一个消息到本地仓库和承包商的工作秩序。

调度系统会自动更新,远程启动工作订单。

M2M通信网络使调度系统,甚至司机和维修人员,可以远程访问便利店的库存、额外的商品供求信息和设备维修的需要,从而使得作业流程更加简化,提供更好的服务和更高的回报率。

物联网应用案例感知和控制我们所处的环境,在过去几年已得到了广泛的关注和应用。

我们对要求设备到企业解决方案的市场空间进行细分:包括建筑自动化,能源和资产管理,安全,工业自动化,医疗保健,定位跟踪,轨道交通,环境控制等。

以现代建筑为例,越来越多的楼宇配备了先进的传感器,从而可以更好地利用资源,进行有效的监控和管理。

然而,要真正实现这样一个愿景,我们还面临诸多的关键挑战。

面临挑战:如今,大量的局域设备联网子系统已经广泛存在,包括离散制造业的MES和DNC系统,流程制造业DCS系统,以及电力行业的SIS-SCADA系统,交通系统的SCADA系统,绿色建筑设施的BMS,等等。

目前这些系统基本是单一站点、独立工作,解决局部区域化设备互联协同问题,可能是一座工厂、一栋建筑、一座电厂的实时监控问题。

但是,真正的拟人化的物联网一定是广泛的,这就设计到跨系统,跨平台,跨地域,跨网络,真正拉近人与设备的距离,让人可以与分布在任何地方,任何网络的设备可以按需的方式进行实时交互,小到调整房间温度,监视设备实时运行工况,大到能源优化,生产调度,商业智能决策等大数据应用。

1.1.挑战一:跨系统、跨平台我们知道,自动化以及IT行业,目前存在海量的异构的智能设备和子系统,甚至有大量的系统是封闭的,即使不封闭,也是用不同形式的API,通讯协议(Modbus/Profibus/CBUS/SNMP/BANNET/LONWORKS/KNX/OBIX/MBUS/…),据不完全统计,通讯协议或者API接口要达到数万种有余,如何能够让他们可以接入一个实时数据库平台?1.2.挑战二:跨地域虽然一座工厂,一座楼宇,目前都有成熟的解决方案实现局域设备互联;但是要做到真正意义上的设备互联,并带来大的商业价值,必须要实现广域的设备互联。

跨楼宇,跨园区,跨地域。

现在由于云端的计算技术越来越发达,很多的解决方案架构开始变得简陋起来,在云端部署所谓的“云服务”,网络层依赖于IP公网,在末端部署网关来连接有限的设备群;看上去是不错的方案。

但是,忽略了2个客观因素,一是,互联网本身就是不稳定的,如何保证数据传输的实时性、稳定性、完整性?二是,这种高度依赖于中央服务器的架构,一旦中央服务器瘫痪,将导致系统大面积宕机,整个系统瘫痪。

1.3.挑战三:跨网络传统的工业总线网络,如Modbus/Bacnent等都基本没有安全机制,也就是意味着只要物理上能够连接,那么就可以随身所欲的操控对方。

这在IT互联网时代是不可接受的。

因此如何保证设备之间通过跨IP公网的数据传输安全性是一个严重的挑战,特别是在当今移动互联网的时代,数据安全是不可规避的问题。

数据安全分三个层次,一个是权限体系,需要一个分布式的权限体系可以有效管理全部接入的设备的安全访问问题;其次就是跨互联网的实时数据传输的安全性,如何保证数据不会被中间截取。

另外还需要保证连接到互联网的设备不会受到攻击,应此不应该让所有的工业级设备直接接入到互联网。

1.4.挑战四:大数据数据到底有多大?我们可以稍作估算,如果要高度保真设备运行数据,以1秒来保存数据,那么一栋普通的20层的商业楼宇,20000点数据,一年将产生将近6000亿条数据(20000*3600*24*365),试问如果要接入整个城市20%的高端智能设施,数据将何其大?而且这些数据都是实时数据产生的,因此如何实时获取并高速存储这么大海量数据点,并且是稳定的,完整的完成存储,以及高速查询和分析计算,这是整个行业的挑战。

二、解决之道人类有史以来,解决复杂的问题的通用法则是:开放,抽象,分而治之。

小到一个工程,大到一个城市,一个国家的管理。

开放意味着可以被管理,抽象意味着取你所用,分而治之则意味着分布式管理,区域自治,集中协同。

面对这样四大挑战,要建造大型设施联网平台,必然之路是采用开放、分布式、弹性架构的实时数据库平台框架。

解决这些问题的关键在于拥有一套开发分布式架构平台框架Niagara Framework®,它是一个整合的开发及应用平台,可以方便地创建基于互联网的产品和应用功能,帮助您在一个统一的平台上快速、方便、低成本地开发稳定的各种智能应用、智能设备、以及设备-企业级解决方案。

开放的分布式架构框架,轻松应对异构集成的复杂性和需求的变化性Niagara Framework®是一个基于互联网的软件基础平台框架,使最终用户之间的M2M设备和企业的沟通更简单和更有效。

对于客户来说,这意味着通过一个统一的互联网平台,接入不同的智能设备,共享实时信息,并简化了互操作性和基础设施的建设,以提高工作效率,最大限度地节约整合成本。

而不用考虑遗留系统或者新建子系统的多样性、复杂性、封闭性,而利用开放、标准、重用、扩展的Niagara Framework可以轻松应对异构集成的复杂性和需求的变化性。

Niagara Framework®提供了一个统一的应用及平台,提供了全面的图形工具集,可以帮助非编程人员创建丰富的Web应用程序。

另外,它还提供了大量开放的API,能够帮助JAVA开发人员扩展平台基础功能,构建自己拥有知识产权的独特产品和应用。

2.1.开放性开放是设备互联的第一步,只有开放破除封闭;但是开放的方式有很多种,可以采用不同的通讯协议,也可以采用不同的API接口等,有标准的协议,也有非标的协议,因此对于一个集成平台,应该具备高度的开放性,可以不断扩展接入能被接入的设备。

以几个不同的维度进行开放:开放的接入能力:具备接入来自任何网络、任何协议、任何厂商的智能设备或系统;更重要的是,这个接入是无差异化接入,是对设备的抽象和建模过程。

例如,对于一个温控器设备对象,包括设备名称,运行参数(设定温度,模式),运行状况(当前温度,报警,开关等),以及相应的历史数据,报警数据,甚至是设备等操控界面等。

这个对象是一个纯软件对象,完成了物理世界对软件世界的虚拟化处理。

而且这种能力是开放的,可以提供标准的接口访问能力,同时具备自定义的集成接口的能力。

开放的被接入能力:由于没有任何一个系统可以处理所有的事情,因此被集成是必须具备的能力。

同样,而且这种能力是开放的,可以提供标准的被访问能力,同时具备自定义的开放接口的能力。

开放的实时数据库处理能力:设备对象建立完成,那么对象之间的逻辑处理的能力应该是开放的,而不是固定功能。

是可以基于平台来定制相应行业的逻辑库,而且这不依赖于的平台厂商,让平台可以解决不同领域的控制问题。

2.2.分布式由于设施本身就是物理分布式部署的,即分散在不同区域的建筑,工厂,机场等。

如何能够很好的管理好这些设施?分而治之,集中协同。

分而治之,即意味着在现场有独立运算单元,实时本地的实时数据采集,存储,控制,报警等处理。

这样做的好处是不会完全依赖于不稳定的IT互联网,和集中的服务处理,这样即使IT网络和中央宕机,本地单元还会继续工作,不会导致大面积瘫痪,后者数据丢失;以上是一个Niagara Framework分布式单元的内部结构,这个运算单元可以基于不同的CPU架构(X86/PPC),不同的操作系统(QNX/Windows/Linux),核心是基于JAVA的NiagaraFramework的软件包(包括对象模型,分布式协议,实时数据库,报警服务,逻辑库,驱动库,界面组件库,等等),通过建立一个具体的分布式站点应用-Niagara DistributedStation,可以具体实现本地的不同协议的设备的设备模型建模,构造本站的的设备对象和实时数据库,并且基于此的逻辑应用-Application(HAVC/Lighting/Energy…),这个单元站点可以本地提供UI 供最终用户通过WEB浏览进行访问和操作,当然这个单元站点可以和另外的niagara单元站点进行分布协同,可以访问任何一个站点的全部的设备对象和实时数据库,当然自己也完全可以别对方访问和控制,是一个P2P的网络结构。

这个运算单元具备如下能力:●分布式的实时数据接入能力,包括本地的集成,设备模型建模;●分布式的实时数据存储能力,包括实时数据存储,即趋势数据,和报警数据等;分布式的实时数据处理能力,实时数据的联动,报警,存储等本地逻辑控制。

当然,每个站点的处理能力是需要和其它单元进行有效协同,才能达到一个企业级的统一管理目标和标准;因此采用分布式的计算模式,单元之间是P2P的连接,可以完全透明的访问另外一个单元的所有的实时数据,历史数据,报警等,实现协同管理。

如下图所示,这个分布式的物联平台是由一群可以横向和纵向2个维度进行弹性扩展的分布式架构的。

简单的讲,有更多的设施,只需要部署更多的分布式节点,实现大平台无限扩展的吞吐能力。

一个大型系统可以由成千上万的分布式的运算单元构成,每个运算单元是可以自我管理和运行的,根据需要才给其他单元提供数据服务,因此可以极大的降低了中央运算单元的通讯和带宽压力。

试问如果一个千万级的设备数量的系统,中央服务器如何保持同时和这些设备的稳定、完整的实时通讯。

在这样一个结构里面,每个单元单点都可以处理实时控制,实时数据存储,和本地的分析,并且可以按规则或按需推送到中央单元,多个中央单元可以协同负责大数据分析等复杂计算的任务。

Niagara Framework的实时数据库是按文件片段自动分割的方式进行存储,应此原则上可以分割无数的文件,也就意味着可以海量存储,软件本身并没有限制,只依赖于物理设备的能力。

Niagara Framework用哈夫曼的压缩方式对数据进行分割压缩存储,当然在数据回放检索通过索引树,可以快速定义数据,并加载到内存进行计算,Niagara 具有高效的数据检索和计算能力,可以在3秒内检索500万条件时序数据,并且按小时做卷积运算。

相关主题