九物云平台白皮书
V1.5
©2022 九物互联 All rights reserved IIoT解决方案提供商 致力于成为最具影响力的工业互联网平台提供者
1. 概述
九物云平台(下文统称九物云)是九物互联自主研发,在国内率先以微服务架构、容器化技术和低代码为核心技术的工业互联网平台,具备弹性扩容、灵活部署等平台特点。九物云采用边缘层(Edge)、平台层(PaaS和APaaS)、应用层(SaaS)的一体化协同服务架构,为行业提供从设备连接、工业应用、数据分析到人工智能等多方位的服务能力。
APaaS平台通过为开发者提供可视化的应用开发环境,降低应用开发对原生代码编写的需求量,进而实现便捷构建应用程序,具备低代码/零代码属性,可快速开发、测试、部署,并能够随时调整或更新,即使是非技术人员也能完成应用程序的开发,大大降低了软件开发平台的使用门槛,缩短软件开发周期。
九物云同时提供方便的数据接入与建模功能;支持公有云与私有云两种部署方式。您可以通过平台编写少量代码实现定制化的项目,也可拖拽组合生成应用或直接使用平台提供的行业成熟应用。这使得大型集团、中小型企业、初创公司和公共部门客户能够根据各自需求构建应用,快速响应不断变化的业务。本白皮书概述了平台的优势,并介绍了平台的功能、架构与部署方式。
2. 术语和缩略语
PaaS:Platform-as-a-Service
平台即服务,把应用服务的运行和开发环境作为一种服务提供的商业模式。
aPaaS:Application Platform as a Service
应用程序平台即服务。Gartner对其所下的定义是:“这是基于PaaS(平台即服务)的一种解决方案,支持应用程序在云端的开发、 部署和运行,提供软件开发中的基础工具给用户,包括数据对象、权限管理、用户界面等。”
iPaaS:Integration Platform as a Service
集成平台即服务。Gartner将其定义为“促进开发、执行和集成流治理同任何本地(on-premises)以及基于云的流程、服务、应用和数据连接的一套云服务,可以在独立的或者多个交叉的组织中进行。
SaaS:Software as a service
软件即服务,指服务商为企业搭建信息化所需要的所有网络基础设施网络基础设施及软件、硬件运作平台,并负责所有前期的实施、后期的维护等一系列服务。
BPM:Business Process Modeling
即业务流程建模,是业务流程管理的核心方法和工具。流程建模的主要目的就是提供一个有效的跨组织流程模型并辅助相关人员进行跨流程的分析与优化。BPM有很多种建模语言,BPMN(Business Process Modeling Notation)就是其中的一种建模语言,现在我们常见的是在2011年推出BPMN2.0标准,并对BPMN进行了重新定义(Business Process Model and Notation)。
RBAC:Role-Based Access Control
基于角色的权限访问控制,其基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。
研发人员:是指具有一定代码编写能力的软件开发技术人员,包括但不限于IT部门人员、软件开发人员等。
业务人员:是指不具有代码编写能力的企业员工,包括但不限于管理人员、职能部门人员、销售部门人员、市场部门人员等。
3. 定义
本章将介绍平台所涉及的基本概念,主要分为低代码、角色、资产三大类。了解这些名词定义,您才能更好的理解与使用平台丰富的功能。
3.1 低代码定义
3.1.1 物联网PaaS
物联网平台有基于IaaS、PaaS、SaaS的三种云计算服务模型,阿里云、百度云、亚马逊(AWS)等属于IaaS提供商,而在垂直产业中,许多物联网厂商都推出了自己的PaaS平台,九物云就是其中之一。
工业物联网PaaS平台具有多种强大的功能,典型的工业物联网PaaS平台融合IaaS的特性,提供包含设备接入与协议解析、非结构数据库处理、分布式框架(MapReduce)、数据分析、机器学习、深度学习、可视化、负载均衡、网络安全等功能与服务。
设备接入与协议解析
设备接入是物联网应用的第一步,需要能够支持亿级并发连接和消息,支持海量设备与云端安全可靠的双向连接,用户可以快速创建物联网服务并安全可靠地连接设备与云端,提供设备级别的认证,允许控制设备对特定主题的读写等权限,保障物联网应用的安全。支持主流物联网协议如MQTT,针对工业专用协议,提供网关或协议转换器,并对网关等设备可进行统一管理。
非结构数据库
将设备接入的数据,包括结构化数据(表)和非结构数据(图像、声音)进行存储和检索,支持通过REST API方式、高并发写入时间序列数据,支持海量时序数据的极速查询,提供丰富的数据处理能力。
分布式框架
利用全托管的Hadoop/Spark集群,可以按需部署并弹性扩展集群,全程自动化节点分配、服务部署、性能优化;动态调整集群规模,高峰期加大集群规模以提高计算能力,低峰期可对应缩减集群规模降低花费。
数据分析
结合ETL数据处理,将企业中的分散、零乱、标准不统一的数据进行整合,可被常用统计图表和BI工具使用,也可加载到算法库中进行智能分析,包括常见的算法,如FFT、小波变换、自相关、互相关函数,也包括图像识别、人脸识别、声音识别,或通过机器学习得出的特定算法等。
数据可视化
主要借助于图形化手段,清晰有效地传达与沟通信息,主要包括报表和BI分析工具。
负载均衡
可以在多台云服务器之间均衡应用流量,应对海量访问请求,实现业务水平扩展。避免单点故障,提高业务可用性。
3.1.2 低代码APaaS
APaaS(应用平台即服务)是一种PaaS服务,通过为开发者提供可视化的应用开发环境,降低或去除应用开发对原生代码编写的需求量,进而实现便捷构建应用程序的一种解决方案。因此,APaaS平台也常被称为低代码平台。主流市场上的PaaS平台可以分为APaaS-应用、IPaaS-整合和其他,和IPaaS以打通为中心,集成和管理现有平台不同的是,APaaS主要是依托一个可视化环境,提供基于云的快速应用程序开发工具和应用程序部署。APaaS具备快速开发、测试、部署,并能够随时调整或更新等特征,即使是非技术人员也能完成应用程序的开发。
3.1.3 开发平台架构
低代码开发平台能够汇聚基础设施及边缘设施资源,用户可在低代码开发环境下完成可视化开发、测试、集成等,同时低代码开发平台能够支撑多种应用场景及行业应用,低代码平台的系统架构包括了五个层次,解决低代码工具的是低代码层,提供了具体的执行工具。
低代码开发一种全新的开发模式,通过更加细化与高效的分工,大幅降低应用的开发成本,通常低代码平台从技术架构上分为服务层、低代码层、应用层,不同角色人员会在不同层面进行开发、配置与使用。
服务层
为整个平台提供基础服务,可等同于传统开发模式的PaaS层。
服务层提供标准接口及页面/组件管理模块,例如权限管理、组件包管理等。同时也对开发者有限开放,支持开发者自定义函数/接口、自定义页面/组件。
注意,服务层的所有自定义模块都需要进行代码开发。
低代码层
平台的核心模块,用户可通过少量代码及拖拉拽等简易操作,开发出高质量的应用。
对于高要求的用户,可通过组件拼装自定义页面,并集成自定义的工作流、算法模型、3D模型等模块,实现高复杂度、高度定制化的应用
对于希望快速定制的客户,可直接使用已有行业标准应用,同时进行剪裁与微调,快速生成定制化应用。
应用层
指完成开发/实施配置后,生成的特定WebApp或MobileApp。是使用者真正接触到的模块,感官上即为一个完整的网站系统或应用。
3.1.4 应用开发方法
基于模型驱动的架构(MDA),在web页面里通过“拖拉拽”方式进行模型构建、交互设计、应用集成、流程定义、规则配置和数据分析,应用就直接在平台提供的运行时环境中运行,不再需要另外编译分发。 SaaS形态的应用平台不再需要配置独立的应用运行环境。
低代码应用开发的方法和步骤:
1)模型构建(Modeling)
指业务模型构建,从人、机、料、法、环、测各业务维度,包括用户/组织/角色、设备模型/设备、空间模型、权限配置、业务对象/业务关系、字典表/基础数据等模型的配置和构建;
2)交互设计(UX Design)
是指业务和应用设计人员通过低代码平台中的页面编辑、组态编辑器、表单设计器等低代码工具,直接设计和搭建应用的功能页面,可以将低代码工具中的页面组件、行业组件、组件块、页面模板等元素,以积木搭建方式快速构建页面,并定义功能交互方式,设计完成的应用可以直接用于下一步的应用集成;
3)应用集成
在已设计完成的应用页面中,通过数据接口调用,完成数据集成;
4)流程定义
通过基于流程引擎的可视化流程设计器,完成表单和工作流定义;
5)规则配置
利用基于规则引擎的可视化数据逻辑处理工具,自定义数据处理规则编排,包括告警规则、联动规则、虚拟测点等;
6)数据分析
通过ETL和报表引擎工具对设备数据和业务数据进行维度统计或算法分析处理等;
3.1.5 与零代码区别
作为广义低代码的两种产品形态,低代码和零代码的发展路径有所差异。低代码更强调敏捷开发的能力,在产品的可扩展性和集成能力上更强,以此为基础不断向更加自动化、智能化的技术融合形态演进,进而可以从轻量级分析页面到具备处理复杂报表和数据的能力,从表单驱动、模型驱动向数据驱动演进。零代码则更强调产品的易用性和用户体验,在满足客户基础功能需求的基础上,不断从广度和深度上拓展产品的高阶能力,使得产品易用性和功能性更为强大。广度上,可以在基础组件之上进行开发框架的研发。在深度上,则可以在基础无代码平台能力之上增加组织权限架构管理、企业级管理后台等高阶能力,丰富无代码在企业数字化转型中的应用场景。
零代码是低代码的一种特殊使用场景。当实施人员能够使用的基础组件与页面能够完美贴合业务,此场景下仅需拖拽布局、选择逻辑分支、设置页面菜单而无需任何代码编写就可开发出满足需求的应用。平台会预置一批行业成熟应用与组件,对于这些行业的客户来说,完全可以零代码生成应用。
维度 | 低代码 | 零代码 |
---|---|---|
面向企业 | 以中大型企业为主 | 以大型企业非核心产品业务 中小型企业为主 |
开发人员 | 研发人员 | 业务人员 |
解决问题 | 加快开发速度,降低开发成本 | 降低开发门槛,创造 数字化应用 |
应用场景 | ★★★★☆ | ★★★☆☆ |
应用深度 | ★★★☆☆ | ★★☆☆☆ |
使用难度 | ★★☆☆☆ | ★☆☆☆☆ |
开发效率 | ★★★☆☆ | ★★★★☆ |
3.1.6 权限系统
权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,九物云权限管理系统采用了主流的 RBAC模型(基于角色的权限访问控制Role-Based Access Control),适用于大部分组织及权限设计要求。RBAC的核心在于用户只和角色关联,而角色代表对了权限,是一系列权限的集合。
RBAC组成:
用户:系统中所有的账户;
角色:一系列权限的集合(如:管理员,开发者,运维管理员等);
权限:菜单、设备、数据的增删改查等详细权限。
在RBAC中,权限与角色相关联,用户通过绑定适当角色而得到这些角色的权限。角色是为了完成各种工作而创造,用户则依据它的工作职责来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统功能的变更而赋予新的权限,而权限也可根据需要而从某角色中回收。
RBAC优点:
便于角色划分,更灵活的授权管理;最小颗粒度授权;
简化了用户和权限的关系,RBAC不用给用户单个分配权限,只用指向对应的角色就会有对应的权限,而且分配权限和收回权限都很方便;
易扩展,易于维护;
3.1.7 自定义函数/接口
用户自定义函数(User Define Function),通过在配置数据库中预先定制存储内置函数并在低代码开发平台页面提供对应的配置功能,由用户根据业务需求自定义配置不同的函数表达式,用于在相应业务处理时直接调用函数表达式对应的业务功能脚本执行得到期望的运算结果,且能够根据新增需求随时增补内置函数,满足不同用户、不同业务场景的应用需求,在降低用户使用低代码开发平台进行业务操作的难度的同时,有效提升低代码开发平台的易用性,满足不同用户、不同业务场景的应用需求,有效提升用户工作效率和工作质量。
Lambda函数是一款FaaS(Compute as a Service计算即服务)产品,因为云计算是面向应用提供服务,而应用由函数(functions,即业务逻辑的载体)+ 数据(data,即跟业务相关的输入与输出),以及这两者之间的交互——即事件(events,常见的事件如增加、变更、删除等)组成的,所以在 Lambda 上,用户无需预置或管理服务器即可运行代码,能够使后台开发人员在无服务器的情况下开发、调试、部署接口服务。
3.1.8 组件化开发
低代码层有很高的灵活性,因此也会有一定的学习成本。实施人员可基于低代码层,开发出便于使用的私有组件、复合组件或高阶组件。
私有组件是具有一定开发能力的用户能够基于React或Vue框架,自行开发适合用户场景的组件,满足定制化需求。
复合组件是指通过结合小巧的、简单的组件和数据对象,来构造大而复杂的组件。例如,设备树选择框高阶组件,是由搜索框、背景样式、树形列表三种基本组件拼接,并绑定设备树逻辑数据组成的。
高阶组件(high-order component) 是React中重用组件逻辑的高级技术,它不是 React 的 api ,而是一种组件增强模式。高阶组件是一个函数,它返回另外一个组件,产生新的组件可以对被包装组件属性进行包装,也可以重写部分生命周期。高阶组件可以为组件添加某一特殊功能,也可以多层嵌套,赋予被包装组件多个功能。比如打印日志功能、添加标题功能等。
3.1.9 数据可视化
就是在低代码平台页面编辑器中,直接拖拽图表组件和上文提到的自定义组件、复合组件等进行搭配,并连接各组件数据,使得接入的数据更直观反映客户的设备和业务的真实情况,
3.2 角色定义
3.2.1 客户/租户
客户/租户(后称为客户)指使用平台的企业/组织的统称。一个客户拥有独立的运行环境与数据,包括用户、帐户与统计信息、用户在系统中建置的各式数据、以及用户本身的定制化应用程序环境等。作为客户本身,您无需关注客户/租户的概念,只需了解您的账户资产与其它客户是逻辑隔离的。
3.2.2 用户
用户即为平台的使用者,从属于特定客户。一般情况下,用户角色会包含管理员、开发者、实施人员、使用者四大类。
1)管理员
客户下拥有最高权限的用户,能够操作该客户内的任意资源,包括人员组织定义、页面应用管理、数据管理等功能。
2)开发者
专业应用的开发涉及到十分复杂的业务逻辑与个性化的展示需求,低代码或零代码的开发方式不能满足所有需求,因此,平台支持用户以开发者的角色,对客户内的数字资产进行二次开发,通过平台提供的开发规范进行代码的开发与部署。
例如,在风电领域,开发者可编写风电厂三维渲染组件,供实施人员拖拽使用;或编写自风功率预测函数,供实施人员调用获取定制数据。
3)实施人员
应用实施人员,通过平台与开发者提供的组件、函数与标准页面,拖拽制作定制应用。这期间会需要编写少量代码,用于样式调优与逻辑处理。
其中实施人员可分为高级实施人员与初级实施人员:
初级实施人员
是指没有计算机相关基础知识,不懂代码的人员,能够使用拖拉拽、鼠标点击等基本操作实现有限业务场景。
例如,构建页面菜单与跳转逻辑,使用组件拼装页面,并根据业务需求与组件属性进行微调。
高级实施人员
是指具有计算机相关基础知识,有一定编码能力的人员,能够使用代码对页面样式进行调整或处理特定业务数据。
例如,实现租赁车辆轨迹图功能。选择车辆轨迹数据源后,使用js格式化数据并灌入地图轨迹组件,其中轨迹的样式可根据需求编写css代码进行微调。
4)使用者
真正使用应用的用户,这些用户不会参与到应用的开发过程中。
当开发好一个应用后,一定会有不同类型的使用者。例如,您使用平台搭建了设备运维APP,其中可能会包含巡检员、维修员、厂区管理员等角色,这些角色统称为使用者,不会参与到应用开发的过程中。注意,这里的厂区管理员与上文的管理员完全是两个概念,前者是在该应用下使用者中拥有最高权限的角色,后者对整个系统拥有最高权限,前者的权限是由后者赋予的。
3.3 资产定义
3.3.1 设备
在物联网场景中,应用一定会涉及到围绕设备的相关功能。设备是应用中的核心资产,平台也针对设备原始定义了设备、设备集、模型三种逻辑实体。
**设备:**即为物理设备的数字抽象,包含静态属性与动态属性,静态属性可理解为型号、尺寸等固定参数;动态属性可理解为设备参数值(例如转机的转速)。
**设备集:**表示多个设备的集合,也可以表示多个设备集的集合,它可以作为场站、区域、工艺段等聚合概念。设备集同样包括静态属性(厂区坐标等)与动态属性(产线产量等)
**模型:**是设备与设备集的逻辑抽象,方便快速实施与数据分析。
设备集与设备直接是包含与从属关系,设备、设备集与模型直接是多对多的关系。
3.3.2 用户
用户概念同上节,属于客户资产的一部分。
3.3.3 应用
应用包含您开发过程中使用的所有组件、页面、函数、接口、静态资源等数据。它们以加密形式存储在客户的数字空间内,租户的应用管理员可以对应用进行修改、分享等管理操作。
3.3.4 其他数字资产
用户在平台和应用使用中,上传或绑定的集成图片、视频流、文件等丰富的数据格式。
例如您使用平台的视频流解析服务,则视频流信息则作为您资产的一部分。
4. 优势
九物云是首批在物联网领域集成低代码开发模式的平台服务商。这种模式颠覆了传统的组态思想,为物联网领域注入了新的活力。
规模经济优势
使用平台,您可以获得更低的变动成本,根据需要选用应用与组件。数千家客户聚集在平台中,这使得九物等服务商能够实现更高的规模经济效益,从而提供更低的服务价格。
增加速度与灵活性
在低代码开发模式中,您可选用现成行业应用模板,并通过拖拽与少量编码的方式针对自有业务进行定制。这意味着您为您的客户(使用者)交付应用的时间从数周缩短为几天(在平台提供相似业务应用或组件的前提下)。这会极大增加组织的灵活性,因为用于开发与测试的时间明显减少。
无需关注运维
您将无需关注基础架构与运维策略(在私有云环境下需按照平台规范实施运维策略),从而能够更专注于自己的业务需求。
丰富的行业经验
九物深耕于物联网领域。从设备管理角度考虑,九物云周边生态包含边缘网关、同时提供方便快捷的设备建模流程。从应用构建角度考虑,九物云已经获取了丰富的行业经验与应用/组件积累。
这使得您在使用平台时不仅能快速实现自有的业务需求,还能从平台提供的行业标准应用中参考同行已有的行业经验,这可能会对您的企业有一定促进作用。
5. 设计原则
不同开发模式会有不同的设计原则,遵循这些原则,可以最大程度上降低开发与维护成本。本章主要介绍我们在使用低代码平台过程中,总结出的一些共有的设计原则,无论您最终使用哪款服务商提供的平台,这些经验可能都值得参考。
5.1 比敏捷还要敏捷
如上图所示,为基于平台的应用开发流程,与传统敏捷开发流程相比,有三大特点
弱化了需求与成本考量
传统开发模式中,需求与成本的考量是决定功能优先级的最重要因素。而在低代码模式中,由于成本被打的很低(简单的需求可能仅需几分钟就能实现),绝大部分需求都可实现先上线、再讨论。极大程度上弱化了需求-成本因素,减少了沟通成本。
更简化的devops
传统开发模式中,已经催生出了从开发(dev)到运维(ops)同时集成测试(QA)的一体化流程。而低代码开发模式更进一步,细化了开发模块分工(见第三点)、屏蔽了运维模块(平台来保证运维,用户无需关注)。为更敏捷的开发模式奠定了理论基础。
更加细化的分工
将开发人员分为开发者、实施人员两大块。其中开发者与传统开发者定义一致,负责通过纯粹的代码提供基础服务与展示能力。而实施人员将作为低代码开发者中的主力军,进行应用的搭建、测试与部署。
5.2 成本考量
成本是软件工程的一个永恒的话题。本节会介绍,在低代码开发模式中如何评估成本,具体功能如何协作才能以最低的成本实现。
5.2.1 如何评估成本
需求与平台提供功能完全匹配
可直接拷贝使用。该方式仅包含部署成本(可能就是点几次鼠标,成本近似于0);
需求与平台提供功能有一定相似度
可拷贝后进行定制化实施。该方式包含实施成本与部署成本(实施成本根据您的需求、实施人员技术水平与熟练度决定);
需求与平台已有功能有较大出入
有服务层的开发成本、实施成本与部署成本。其中服务层的开发成本评估与传统评估方式一致,且服务层开发成本可能占大头。
5.2.2 如何高效协作
术业有专攻,高效协作最基本的要求就是合适的人做合适的事。
举一个例子,通常,同样时间条件,开发者的成本会远高于实施人员的成本,如果开发者长期同时兼顾开发与实施工作,您则需要考虑安排一位专业的实施人员负责实施工作,开发者仅负责开发工作。
5.2.3 工程化
与传统开发模式相同,低代码模式也可以遵循工程化的开发范式,在实施过程中使用解耦、模块化等工程思想,则能够以更低成本的实现功能点。
6. 功能与使用场景
本章简单介绍平台功能与示例,具体使用方法请参阅使用手册。
下图为平台功能架构图,下文会以架构图为主展开讲解各模块的内容。
6.1 基础架构层
作为物联网平台,九物云最底层支持IOT HUB、数据湖管理、权限集成三大通用功能。这些模块对用户不可见,以接口的形式对服务层与低代码层提供功能支持。
6.1.1 IOT HUB
物联网设备数据接入的基础模块,作为云与边缘设备的上行与下行的数据通道。目前九物云遵循MQTT协议规范,开放MQTT Broker数据通道,除过九物云网关接入的设备外,同样支持遵循MQTT规范的数据。
6.1.2 数据安全
IOTHUB支持MQTT的三种数据服务质量,您可根据需求调整。
MQTT数据通道基于TCP协议,因此能够支持SSL/TLS X.509签名加密通讯机制,即便您的设备数据与云端通信链路被窃听,也仍能保证数据安全性。目前证书由平台自动分配,如有特殊需求,可与九物技术人员沟通定制签发证书。
6.1.3 数据规范
如您需将已有数据集成至九物IOT HUB。则需按照九物MQTT Payload规范设置订阅与发布数据格式。如您无法修改自身协议规范,九物也可根据场景定制解析您的MQTT数据。
6.1.4 数据湖管理
九物云数据湖管理功能采用lambda+架构,在原有lambda的基础上支持更丰富的数据源类型。九物云底层支持关系数据、图谱数据、时序数据三种存储格式,数据处理层支持流式计算与批处理,服务层提供通用聚合查询接口。
有了数据湖管理系统的支撑,九物云的上层架构才能够清晰高效的构建出报表引擎、规则引擎、智能算法引擎等高级功能。
同时,您也可以与九物协商,在数据湖管理系统层面进行定制开发,实现例如定制ETL插件等功能。
6.1.5 权限集成
九物云采用基于属性的权限管理策略(ABAC),能够灵活的为平台内数据资产设置权限访问策略,得益于该先进的权限架构与清晰的数据湖查询服务,平台不仅能高效的处理已有的权限需求,同时提供基于Oauth2的授权服务,方便第三方应用访问平台资源。同时能够实现企业微信绑定、ERP系统单点登录、支付宝商户账户绑定与支付鉴权等高权限要求功能。
如果您有更多的权限定制需求,可与九物协商,在此基础上开发更多权限集成功能。
6.2 服务层
6.2.1 自定义组件与页面
开发者可根据平台组件开发规范,编写并上传自定义组件或页面。上传并校验通过的组件,可在后续的实施过程中使用。
使用场景示例
场景:您已拥有旧系统的大屏页面,而且效果还不错。由于扩展性问题,您要将原有功能迁移至新系统。您希望在新系统中看到同样的大屏效果。
措施:可以将大屏相关代码以自定义页面的形式上传至平台,之后,您就可以在系统中自由使用该页面。
6.2.2 自定义函数/服务
开发者可根据平台函数开发规范,编写并上传自定义服务或页面,同时也可以接口的形式嵌入自有服务。上传并校验通过的函数/服务,可在后续的实施过程中使用。
使用场景示例
场景:您有一个非常复杂的公式算法,其中需要涉及到多方数据源。您甚至已经在旧系统中运行起来了这套逻辑。由于旧系统历史包袱太重,无法承担更多的新需求。你希望迁移系统,同时保留该逻辑模块。
措施:此时,您可以选择:
1) 将原有逻辑作为接口向平台提供服务,在低代码层直接使用 2) 考虑到运维的成本与复杂度,您可将逻辑无缝迁移至平台的自定义函数中,同时以接口的形式对上层模块提供服务。
6.2.3 功能集成
作为工具集成至已有项目中去
平台本身是业务无关的,可作为一个开源工具集成至您已有的项目中使用。这中间会需要九物提供集成技术支持。
集成到九物云平台上来
您可能已经拥有了ERP或MES系统,并且拥有独立权限体系。您可通过平台提供的Oauth2权限集成模式,并通过自定义函数开发,打通您已有的系统与九物云平台。
6.3 低代码层
6.3.1 页面组态
即页面编辑的功能,您可管理页面列表与跳转关系,通过组件拖拽的方式定义页面内容。同时,支持将应用发布为Web App或Mobile App。
6.3.2 报表引擎
用户自己拥有表空间,能够对表数据进行CRUD;支持基于NIFI的ETL管理工具,实施人员可根据需求批处理数据;报表引擎对上提供通用查询接口,实施人员可对异构数据进行聚合查询。
使用场景示例
场景:您已经采集并存储了大量分钟级数据,而您的上级希望看到这些数据的月度报表。如果即时计算,每次展示所需计算资源会十分昂贵。
措施:您可以在平台上配置ETL流程,每月初将上月数据做一次聚合计算并存入自建的表中。同时将该表的数据与展示组件绑定。
6.3.3工作流引擎
平台提供基于BPMN规范的工作流引擎,用户可自定义工作流程,自定义触发逻辑并将具体业务绑定至前端组件。
使用场景示例
场景:您有一个相对复杂的出入库流程,涉及到仓管员、审批员、管理员、采购员等多种角色。平台的标准出入库流程并不能满足您的需求。
措施:您可以使用流程编辑器,绘制符合需求的流程图,并在编辑器中将出库、入库等页面中的操作/展示组件与不同流程数据绑定,同时对不同的角色设置访问权限。以上,您即获得了一个符合自己业务场景的出入库流程系统。
6.3.4 智能算法引擎
用户可将已有的算法通过python进行封装,并根据平台算法模型规范将算法包上传至平台。后续可将算法视为函数在平台中直接使用。
使用场景示例
场景:您的算法团队训练出了一版基于LSTM的模型,可根据转子转动周数、转速、波形数组等转子部件关键数据,预测出转子脱落的可能性及大致时间点。有了这个模型,您可提前计算出“高危”转子并通知维修员进行现场勘探与保养,避免事故降低运营成本。
措施:平台能使整个集成工作变得十分简单。
协助算法团队按照平台规范封装模型(通常只是加一个输出函数)并上传至平台。
编写通知规则,在规则中获取输入参数并调用该算法,当结果出现“高危”条件时,通知对应厂区的维修员。
使用页面编辑器拼接该算法触发历史与维修结果,组成列表页面。并将页面只读权限开放给算法团队,提交与修改权限开放给维修员。从而形成完整的后评估流程,帮助改进算法模型。
以上,您就实现了一套自有的预测性运维系统。
6.3.5 规则引擎
规则引擎是一条贯穿平台各个模块的纽带。它能够实现非常丰富的功能。规则引擎主要包含条件与动作两部分内容。一条规则能够指定在何种条件下,触发何种动作。
条件:您可以将任意数字资产(用户权限、设备采集数据、算法模型、时间等)作为条件判断的一部分,它的返回值通常是真或假。
动作:您可以对您权限范围内的任何数字资产进行操作(指令下发、短信通知、修改配置等)。
使用场景示例
同智能算法场景。同时,传统SCADA系统的告警功能,虚拟点计算功能都可用规则引擎实现。
6.3.6 2D画面编辑器
平台支持您在页面中直接绘制svg图形,由于svg具备动态性,您还可以通过该工具实现动画效果。同时,您可以将图形的属性与平台服务层提供的数据绑定,从而实现类似数字孪生体的实时动态效果。
使用场景示例
场景:作为污水厂二沉池工艺段负责人,您希望为上级领导直观展示二沉池液位情况,而不是枯燥的数字百分比
措施:可使用画面编辑器,绘制二沉池的实际效果,并对液位模块增加波纹动画效果,同时将高度属性与实际高度采集点绑定。
6.3.7 3D引擎
平台支持您导入已有3D模型(具体请参考3D模型导入规范),并支持将模型中的动态属性与平台数据进行绑定,从而实现类似数字孪生体的实时动态效果。
使用场景示例
同2D场景,展示内容为三维动画。
6.3.8 通用接口
平台提供了一批常用的rest接口供您使用,您可用通过接口方便的获取设备信息、工作流程信息、用户信息等常用数字资产。其次,您也可以调用服务层自定义的函数与接口。另外,您也可以将第三方符合rest规范的接口集成至平台,将其当做一份数据源来使用。
6.4 标准功能
标准功能指平台已经针对常见的物联网场景抽象的标准模块。您可以根据需要,直接选用现有方案进行部署,同时您也可以在这些方案之上,实施您自己的业务场景。标准功能分为标准应用、标准页面与标准组件三大类。下文仅列出部分标准功能,更详细的功能请咨询九物商务人员。您也可以在九物提供的测试账号中试用以下功能
6.4.1 标准应用
设备管理标准应用
租户管理员可以在应用管理中心直接通过模板创建方式直接获得,包括监控中心、设备管理、场站管理、故障告警、消息中心、业务建模、组织权限等功能模块,可对设备、网关及流量卡进行监控管理,查看实时和历史数据,并对登录人员做组织管理和权限管理等功能,只要设备接入到平台,该应用开箱即用,关于标准应用的使用说明请参考《九物互联_标准应用使用说明V1.0》文档。
DataBox数字化工厂SaaS应用
针对老旧生产设备,以非侵入式方式获得设备能耗和运行状态等数据,结合生产管控相关功能,为中小制造型企业中提供了DataBox数字化工厂软硬件整体解决方案,客户可以登录DataBox数字化工厂SaaS应用使用监控中心、设备管理、车间管理、备件管理、运维管理、物料管理、生产管理、能耗管理等功能模块。
机器人监控平台
配合边缘网关使用,能够快速接入管理ABB、发那科、现代、KUKA等系列机器人设备。接入后可以集控大屏与单体大屏两种方式进行详细数据的展示;支持集成机器人监控探头数据;支持机器人故障库管理;支持机器人领域的巡检维保流程;支持对运行机器人进行健康度分析与预警通知功能。
拉丝机监控平台
配合边缘网关使用,能够快速接入拉丝机工厂、产线、设备相关数据。并以大屏的形式展示拉丝机厂区运行状况,拉丝机产线运行状况;支持自定义展示看板;支持拉丝机领域的巡检派工流程;支持扫码枪注册、管理设备与产品;支持厂区的人员、资产管理功能;支持自定义生产参数告警通知等功能。
6.4.2 标准页面
设备全生命周期管理
包含设备管理、模型管理、协议解析管理、设备详情查看等涉及全生命周期的所有模块。您可以通过该功能快速接入设备,并以看板的方式可视化呈现。
趋势分析
可对任意设备数据的进行聚合查询与分析。通常用于设备数据比对、故障时间点数据分析等功能。
巡检维保管理
作为工厂客户,您一定会需要设备巡检、设备维修、设备保养这三大模块,该功能提供成熟巡检维保解决方案,结合用户与权限管理功能,您可以迅速将厂区的维保巡检流程变为基于云的数字化流程,减少运营成本。
用户及权限管理
您可以使用该功能定义组织结构、人员构成,支持用户组、角色这种抽象方式简化配置,同时支持完全开放的权限配置功能,您可以将人员与企业微信进行绑定、指定人员的数字资产权限关系。安全高效的将整个系统运转起来。
6.4.3 标准组件
集控地图组件
常见的物联网GIS地图组件,能够在一张地图上完整的看到自己设备的实时地理位置,运行状态与关键指标值。
天气预报组件
常见的天气相关领域的展示组件,能够展示当地的气温、湿度、光照强度等关键天气参数。用于与当地设备运行状态作比对。
时频分析组件
振动相关场景常见的图表组件。能够以曲线的形式展示时域下的振动参数与时间的数据关系;同时,能够对该数据进行频域转换,以曲线图的形式展示频率参数图。
故障分类组件
图像分类组件的一种,根据已有的故障图片分类模型,实时对平台上采集到的故障设备的标准图形进行分类,确定图片中设备是处于故障状态还是正常状态。
7. 从零部署一个应用
本章以石油工业领域气力输送防爆鼓风机场景为例,从需求到设计,从开发到测试,从部署到后评估,详细介绍如何使用平台构建专业化行业应用
7.1 场景与需求说明
炼油厂中的一个重要模块是气力输送设备,该设备用于快速输送二氧化硫等易燃易爆气体,防止气体浓度含量过高导致爆炸。该设备通常是专业化鼓风机,成本较高,维护保养工序复杂,每次异常停机保养时会影响生产效率(绝大部分异常是由于风机转子松动或脱落导致)。
您作为炼油厂气力输送工艺段的负责人,不仅需保证该工艺段生产安全,还需尽可能降低运营成本(您目前的巡检维保流程是靠纸质表格维护的)。如果能降低生产时间内的风机停机维修时间,则会大大提升厂区生产效率。同时您所在企业的数据部门提供了一套基于LSTM的深度学习模型,号称能够准确预测风机转子脱落故障,企业领导希望指定某个厂区作为试点进行测试。
经过调研,您决定试用近年来比较流行的物联网系统,系统需要包含以下几点功能:
能够满足石油送气领域的巡检维保流程,事实上这套巡检维保流程十分复杂且多变。
能够可视化监控风机运行状态,如出现异常状态应及时通知对应负责人,如负责人不响应,则通知他的上级。
能够结合智能算法,实时预测关键指标,并将评估结果及时告知数据部门。
能够低成本快速上线。您仅想尝试一下,如果效果符合预期,才考虑向上级推荐并大规模铺开。
九物云平台则完全符合您的四点需求。下文会介绍如何通过平台实现您的需求。
7.2 计划
在与九物技术人员沟通并试用DEMO系统后,您确定了最终的开发计划。由于您的团队没有信息化成员,因此部分工作需要九物技术支持人员介入。若您有相关成员,则无需技术支持。
- 由厂区人员提供巡检维保流程,由九物技术支持人员绘制为BPMN流程图。该流程需要以PC与移动端两种效果展示。其中会涉及到扫码打卡功能。
- 使用九物提供的边缘网关与振动传感器设备,九物技术支持人员与厂区工程人员负责对风机关键部位加装传感器设备、配置基础网络并配置设备数据。
- 默认配置一批告警通知策略,后续由您来负责添加新的通知规则。
- 复用平台已有的振动设备监控大屏页面,用于可视化展示鼓风机数据。这中间的微调工作初步由九物技术支持人员负责,当熟练掌握配置方法后由您来负责。
- 九物技术支持人员协助企业数据部门生成标准算法模型并集成至平台,同时配置后评估页面,用于展示通知时间点前后的振动数据以及巡检结论,便于数据部门相关人员查阅与调整算法模型。
综上,您已有了大致的研发计划,与九物方协商支持工作量签订合同后,即可开始系统研发
7.3 开发与测试
以上五点均可同步进行,本节会逐一介绍如何使用平台工具实现上述功能。
- 使用平台提供的工作流引擎,在线编辑并发布BPMN流程。配置符合需求的巡检维保列表、巡检单、维保单、审批单页面。并将页面相关内容与BPMN流程关联。其中扫码功能可使用扫码组件,配置扫码动态跳转地址即可。
- 在云端配置好厂区、工艺段层级结构。在网关上配置好相关设备数据(参考九物云网关管理系统)一键上云后,配置会被同步至云端。同时您可在云端看到对应设备的实时数据。
- 使用平台提供的规则引擎-告警配置功能,快速配置告警触发逻辑,并根据需要编写通知触发逻辑。
- 使用振动监控大屏模板页面,将图形等关键信息修改为本厂真实内容。同时将数据点信息绑定至2中配置的设备上。
- 使用平台提供的智能算法引擎,在本地协助算法团队按照规范包装预测函数,并上传至平台。在规则引擎中查询算法所需参数并调用该算法模块,拿到返回值后编写一定解析逻辑并指定是否发起维修通知。同时配置后评估页面,使用自定义表格组件绘制展示列表,使用输入框与按钮组件用于筛选数据。
- 以上功能开发完成后,进入回归测试阶段,该阶段可由双方共同负责(低代码模式所见即所得,仅需要很少的测试工作)。
7.4 部署与后评估
平台提供一键发布功能,可选择是否生成移动应用。部署即可在网页与移动端使用。
当应用部署使用一段时间后,您可能会发现一些需要修改的点,比如维保流程、看板展示效果、算法模型更新等。您可用上述开发方式,直接在低代码组态工具中进行微调。确认无误后一键发布。
8. 架构
8.1 总体架构
8.2 前端架构
8.3 后台架构
9. 环境与部署
9.1 公有云
公有云的部署由九物云负责,您无需关注具体细节,在公有云上直接作为客户使用即可。
9.2 私有云
具体参考九物云部署文档