古河IBMS云平台是基于 Spring Cloud 的开源可分布式智慧楼宇物联平台,用于快速开发、部署物联设备接入项目,是一整套智慧建筑综合管理解决方案。
1、架构设计
模块划分,四层架构
驱动层:用于提供标准或者私有协议连接物理设备的 SDK,负责南向设备的数据采集和指令控制,基于 SDK 可实现驱动的快速开发;
数据层:负责设备数据的收集和入库,并提供数据管理接口服务;
管理层:用于提供微服务注册中心、设备指令接口、设备注册与关联配对、数据管理中心,是所有微服务交互的核心部分,负责各类配置数据的管理,并对外提供接口服务;
应用层:用于提供规则引擎、数据开放、任务调度、报警与消息通知、日志管理等,具备对接第三方平台能力。
功能设计,定位目标
可伸缩:水平可伸缩的平台,构建使用领先的 Spring Cloud 开源技术;
容错:没有单点故障弱,集群中的每个节点是相同的;
健壮和高效:单一服务器节点可以处理甚至数百成千上万的设备根据用例;
可定制:添加新的设备协议,并注册到服务中心;
跨平台:使用 Java 环境可异地、分布式多平台部署;
自主可控:私有云、公有云、边缘部署;
完善性:设备快速接入、注册、权限校验;
安全(开发中...):数据加密传输(mqtt 驱动已实现数据加密传输);
多租户:命名空间,多租户化;
云原生:Kubernetes;
容器化:Docker。
2 技术实现
平台是基于 Spring Cloud 架构开发的,是一系列松耦合、开源的微服务集合。 微服务集合由2个基础系统微服务和13个功能引擎微服务组成,提供从物理域数据采集到信息域数据处理等一系列的服务。
3、系统优点
-
微框架:基于SpringBoot,达到精简配置、简洁开发、快速部署的目标。
-
微服务:对内不再强调传统SOA架构里面比较重的ESB企业服务总线,从而使业务系统能彻底的组件化和服务化。对外采用HTTP Rest API的方式来发布服务。
-
多存储介质:支持MySQL、Oracle等传统主流关系型数据库,同时也支持MongoDB、Redis等流行的No-SQL数据库。
-
分布式通信:支持Kafka、ActiveMQ等主流消息中间件,高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。
-
灵活部署:根据客户的实际情况,可采用单机部署,或采用公/私有云部署等方案。
-
横向扩展:支持主从、集群、复制集等部署方案,按实际使用场景,可动态进行横向扩展。
-
物联层采用开放式的框架,框架提供了一个统一的物联平台,具有丰富功能组件,提供大量标准协议接入组件,并提供私有协议快速开发框架,它可以简化开发的过程,明显的降低产品或系统的开发成本,缩短工程建设周期。
-
系统采用B/S架构,支持Windows、LINUX等多种操作系统,支持IE、Chrome等网络浏览工具,用户可通过标准的Webs Browser随时、随地进行系统访问,用户数量不受限制。
-
系统支持目前绝大多数数据接口和标准协议,包括:RS485、RS232、TCP/IP、BACnet、LonWorks、ModBus等,对非标准私有协议提供快速开发机制,可以快速、方便的将不同厂家的系统及设备集成进来,实现各子系统的信息及资源共享
-
系统需满足分布部署、集中监控的要求,管理平台采用模块化分布架构,实现分布式控制、集中管理,不同子系统运行相对独立,通过网络控制器相连接,由控制中心管理平台来集中管理。通过网络控制器,可以实现综合管理、监控、历史数据记录存储、日历管理、报警管理、分析报表、图形化界面功能,控制器提供了全面的IP网络通讯功能和服务功能。
-
系统具有良好的人机界面,可实现定制化的电子地图显示,为用户提供良好的有户体验。
-
基于角色访问管理机制,提供灵活的用户权限管理。根据用户权限的不同,实现各子系统数据及系统功能的访问控制和管理。
-
实现对事件进行联动控制和处理,当重要报警发生时,实现集中显示、报警联动、报警统一处理;
-
系统不但可以接入任意的外部设备和子系统,同时也可以对外部程序提供标准的Restful等数据接口,便于与其它系统之间的对接。