中航机载新技术预研与应用工程师万胜来《IoTDB 在中航机载智能云制造系统
各位同仁,大家下午好,我现在来讲一下 IoTDB 在我们航空工业里面的一些应用。我们有一个智能语音制造系统, IoTDB 也是在我们这个系统中来服务于我们的科教单位。我将从五个方面来介绍。首先我简单介绍一下我们公司和我们公司的一个业务领域。
我们公司是航空工业集团下做一些共性技术研究的研究性机构,所以我们本身并没有工厂,但我们的研究成果和技术探索会在我们集团内的各家机载产品研究单位中进行应用验证和落地,后面我们会具体讲一些案例。然后我们的技术领域就五个部分,分别是:第一,我们的共性技术研究,像这个时序数据库就算一个比较基础的共性技术。然后另一方面是研制体系相关的研究,像一些数据标准、数据规范、研制过程规范的制定和咨询。另外就是面向设计和研制的管理系统的平台,以及基于支撑这些平台的一个工业互联网基础环境。我们的应用单位都是一些航空行业的 OEM 主机单位和机载系统的牵头单位,以及他们的子供应商,我们向他们提供一些基于工业互联网的协同研发生态环境,还有一个做虚拟集成和仿真验证的环境,以及我们向各家工厂推出面向生产制造的智能云制造系统。下面我将对我们这个云制造系统简单介绍一下,然后详细介绍 IoTDB 是怎么和我们的系统进行结合和应用的。我们这套系统的建设大背景其实也是跟现在大多公司做的这种智能化转型是相同的,这个智能化是符合我们一个行业的发展趋势的,而且国家的政策也是在强烈向这个方向做政策引导。航空工业属于比较高端的制造业,它的特点就是定制性要求高,但是批量比较少,因此和其他行业的制造还是有一些区别,包括在数据使用上也有一些区别。就发展现状来说,国内的各家单位,包括商飞这些主机厂都在做智能化实现,但是和国外的差距还比较明显。就以刚完成商业首飞的这个 919 为例,虽然在整机集成方面已经实现了完全自主化,但核心部件还严重依赖于国外,尤其是机载系统方面,都是依靠合资公司,研发和制造水平还存在一定的技术差距。研发方面因为不是我们这次的主题,就不展开讲了。对于制造方面,我们分析过,以典型的我们机载领域的声控、航电和机电系统来说,制造水平还是差异比较明显的。通过对他们的业务分析,有三个方面的核心问题,第一个是缺乏一个面向市行的体系指导,市行数据也缺乏统一的存证标准和体系。第二个就是当前的制造模式还比较传统,不能满足对于复杂飞机和复杂系统的数字化协同的要求。机载系统它因为涉及到的层级非常多,对各单位之间的协同要求也比较高。当前我们集团的各家单位基本都在推进本地的数字化,但是为了做好一个系统,必须有单位之间的数字化协同和制造数据协同,所以离实际的协同还有很大的距离。第三点是一个智能化程度比较低,数据利用率比较低下,当前其实像这种智能制造这个概念已经一直在提,但是大家目前其实还都在朝自动化去努力,基于数据的智能化应用目前还属于比较初期的阶段,一是它应用门槛比较高,二是现场的一些需求挖掘还不太到位。为了解决以上问题,我们制定了一个 1+1+3 的研究目标,一套体系一套平台,加三类典型的落地示范,相当于我们这套系统已经在三家单位进行一个实地的应用验证。最终我们是想通过打通产业的上下游生产关系,构建一个协同的制造的新生态。这个目标的实现很大程度上取决于各单位之间的数据流转和大数据的高效存储,这个肯定就要以 IoTDB 作为底层基础技术支撑之一。后面我会详细的说明。为了实现以上目标,我们是和行业内 12 家典型核心单位做了一个系统共建,并且还向主机厂做了一个技术辐射。当然我们也很希望有新的单位来加入,一起来完善整个面向航空产品的智能生态构建。在系统设计方面其实还是围绕着比较传统的生产的六要素,人、机、料、法、环、测六大方面来展开,然后用数据来对各个环节实现业务提升和优化。我们这个系统核心特征是制造过程云化、资源供给中台化和数据应用智能化。这个是我们根据我们航空工业的一个智能制造技术架构为指导做的一个我们自己的一个功能架构,属于典型的一个云边端的三层架构,但是我们航空工业这边是对云端的应用层,根据它实际的应用类别做了扩展,它又分为智慧层、企业层、执行层和数据层。这边可能跟通常的有点小区别,我们这个系统目前有一些初期的建设成果,比如我们有一套完整的云化的协同制造管控系统、制造数据综合应用系统以及产线的数字孪生。我们一共有 5 类 30 项的应用服务。像这些系统其实大多数底层里的时序数据,都直接是从 IoTDB 里面取的,然后系统本身的一些状态数据都直接是存在了 IoTDB 里,方便我们后期的进行故障运维。这个是我们的一个数字孪生,它的数据也是直接从 IoTDB 里面取的。基于以上应用软件和平台,我们是实现了和主机和供应商的多角色的联动,这边是云端和工厂的数据联动的大概事业。以上是我们云制造系统的一个大概情况,下面我就具体讲一下 IoTDB 和我们系统的结合方式。我将从应用背景,应用形式、应用场景和实例上逐一展开。首先是 IoTDB 在我们系统的定位,一方面它直接对我们的边缘数据进行了存储,所以边缘的数据缓存和备份,因为工厂网络环境还是比较复杂,经常断网,数据可能不做备份,经常会存在缺失。另一方面它是在我们数据中心这边有一个应用,它是做时序数据存储,供应用系统进行数据取用。第三方面是对我们的业务系统进行监控,这一点是我们初期刚刚接触 IoTDB 的时候,当时还没有 1.0 的稳定版本,不太放心直接在生产环境下使用,所以就先用它管理业务数据的日志数据来进行系统状态监控和回溯。但现在我们已经把它用到生产环境的数据,做实际的设备数据存储,而且已经运行了很久。下面我来说一下我们为什么要用 IoTDB。其实第一个原因就是像我们机载行业,它对数据的协同要求比较高,我们集团里大概有几十家单位,它都属于一个公司的统筹领导来协作完成这个研制任务,它的集成度还是比较高,然后我们的设备层次也比较复杂,现场的设备协议接口比较多,对这些设备的支持都比较困难,需要一个统一的层次化树状数据结构来支撑它的数据存储。像 IoTDB 这种树状结构就非常适合这种存储。我这里是放了我们比较粗的一个系统分解图,大概大家可以看到这个大系统下面有非常多的系统,每个系统又有子系统,每个子系统也是非常复杂,由多个设备联合来完成他的工作的。然后设备又有零部件,零部件又因为我们这个多品种小批量的特点,需要很多个制造装备和测试装备来完成这个生产实验,因为我们这个小批量特点就导致你难以用一个产线来一直完成某个零部件的加工,你必须要对产线的这个柔性调度和业务交叉,他这个要求比较高,因此这个数据层次是十分庞大的,关系比较复杂。第二点就是现场质量问题,刚才也讲到过,就是那个我们现场数据质量经常有一些网络波动或者其他问题,导致数据断存,数据质量比较差,查询也比较困难。而且现在其实各家单位还没有一个统一的数据标准,导致这个数据存储和查询效率比较低,而且各家的数据结构都不一样。第三点是我们这个航空它对那个安全性要求非常高,任何设备想实现商业运行,你必须先满足一个适航的要求,适航的要求就是提供你的研制过程中的数据支撑,而且这个需要大量的过程数据来支撑,根据未来我们一个市场层面的需求估算,这个存储成本是比较高的。而 IoTDB 压缩率也比较高,存储效率也比较高,所以比较适合我们这种场景,所以我们选择它。像这边就是 IoTDB 和我们系统的一个相容性,基本上我们上面提了三个点,在从技术维度 IoTDB 都有相应的技术特征来给我们提供一个技术支撑,所以最后他直接决定了我们就选用这个 IoTDB 来进行我们的时序数据存储。这里我们比较关注的两个点,一个就是那个树状结构,再一个是它的数据协议库,通过之前的前几年的向行业的推广示范, IoTDB 生态其实积累了大量的工业协议资源库,这能直接完成原始设备的数据采集,能比较快的适配这些设备。就基于这些特点,我们把 IoTDB 和我们平台进行了整合,结合方式是在工厂采集端存储和顶层应用都给平台提供了一些应用和帮助。具体的形式是在最底层用通用的采集框架,对我们现场的很多协议做了适配,比如 OPC UA、ModBus、 MQTT 等等,利用它的一个高吞吐性在边缘完成了一级数据缓存。然后就是在那个数据中心层面,由于它的读写性能比较高,压缩比也比较高,我们把它和我们的 HDFS 做了集成,然后对边缘上传下来的一些时序数据,在数据中心做了分布式的存储。再一个就是 IoTDB 的一些数据应用上的特点,因为现阶段像 IoTDB 它在自己的一些原始算子上已经比较充分了,像一些常见的数据处理函数都可以直接用。然后它还有一个 UDF 也是我们比较喜欢的,我们面向边缘做了一些监控服务,都是用这个 UDF 做的,下面我就逐一讲一下这三个维度我们是怎么用它这个 IoTDB 的。数据采集方面,我们是基于项目方统一提供的一个数据采集框架做数据解析,这框架把我们不同的数据协议以统一的形式封装了,这样我们其实上层调用的时候就非常方便,目前我们能支持 MQTT、ModBus、Http、OPC UA,大概这些工业协议都能支持。然后就物理层面,我们是做了三种典型设备来完成面向工厂的环境的几类典型数据的采集。第二个应用场景是在数据中心 IoTDB 处于我们数据中心的结构化数据中的实时数据部分,应用到像我们这个系统,大多数业务数据其实都是实时数据,这里依赖 IoTDB 的存储性能,对我们数据中心的时序数据存储做了一定的支撑。当然我们数据中心也是有一些关系型数据库的,我们是整合了关系型数据库,然后一起为应用提供比较高的数据应用性能,目前这个已经在生产环境上运行了大概有快半年了。第三个是应用场景,第三个应用场景是对基于 UDF 的数据应用,这个主要是在我们的边缘监测上,我们用 UDF 实现了一个灰度模型,因为我们这个实时的预测对处理能力要求比较高,所以选择了一个比较简单的灰度模型,它的实时性比较好,但准度肯定没有那种基于神经网络的准度高,但神经网络耗时比较长。我们应用软件通过在取数据的时候直接调用 UDF 就能完成数据运算,相当于他把业务上的分析工作直接在取数据的时候做了,使业务逻辑更加清晰。后续我们用这个预测算法的时候直接调这个 UDF,如果算法有更新,直接更新 UDF 就可以,业务层都不需要做任何的改动。最终我们实现的一个效果是能快速根据历史点来预测未来的数据值,然后判断是否存在超杀风险,给出相应的预警。当然除此之外,根据当前数据的报警我们用的是 IoTDB 比较简单的一些比较算子。上面是一些应用场景,下面我结合几个实例来说一下 IoTDB 在我们这边的一个应用。首先是面向我们顶层应用系统的一个数据采集,主要有我们大数据分析平台的数据采集、数字孪生数据采集和一个可视化服务中心的数据采集。这边我们制造大数据平台,一方面它是存储我们的建模任务信息,相当于日志信息,一方面平台又直接从 IoTDB 中拉取时序数据,用于分析和模型训练。数字孪生这边初期我们做数字孪生是从边缘的 MQTT 直接拿的数据,因为存储成本比较大,而且存储效率它影响处理效率,我们是用完数据就把数据丢掉,后面有了 IoTDB 之后,我们就直接把数据全部存储在 IoTDB 里了,而且当前我们数字孪生也是它的直接驱动数据也考虑直接从 IoTDB 中取,但现在还在做延时压力测试。可视化这边我们是用它来存储一些工厂的看板数据,之前我们也是用完这些看板数据就直接把它数据丢掉,然后只是在 MySQL 里面存一些关键的指标项,现在我们可以做到全量的存储。另外还有一个我们的业务管理系统和生产效能管理系统,这两个也都是记录历史数据,便于我们做历史数据回溯和分析;这个是面向车间级的、产线级的数据采存管用;这个是对我们工厂 MES 和 PCS 产线的数据采集;这是一个详细的数据实例,目前在我们一个工厂上正式运行。在面向终端的设备管理上, IoTDB 这个树状结构在我们这个系统上,让我们能够做一个自动适配数据的自动解析,而不用做事前规约。像我们工厂这边是经常有一些业务经常有新增的需求,然后需要拉新的数据,但工厂那边有可能像以前我们直接用 MySQL 存的,就要提前建表,提前在软件里进行配置,但用树状存储之后,我们这边就直接有新数据,它直接发就可以,它自动会插到库里,然后应用层直接从库里取新的数据,直接能取到,就不需要对平台做任何提前建表或提前的业务规约。这个还是比较方便的。上面都是一些数据存储和采集相关的实例,下面我稍微讲一下,就是我们对 IoTDB 里我们存的时序数据的一些应用,这是我们基于那个时序数据做的一个数据源的监控看板;这是刚才的激励模型的实际应用情况;这个是我们对制造智能化做的一些应用,根据工厂的需求,因为工厂这边,不同的工厂可能有类似的需求。我们就做了一个基于元学习的应用模式,基于我们的元模型可以做一些迁移应用,比如一些设备的寿命和损伤预测等。像这个就是我们响应南京机电这边的要求做的一个转子轴承损伤预测,像这家单位也是我们示范单位之一,然后他们数据也都上云存在我们的 IoTDB 里,通过这个应用我们就可以提取实时的数据,能给出实时的潜在故障和故障类型,能帮助工厂来提前做到一个预维修和预检修;这也是一个跟刚才类似的一个电机的磨损。下面我说一下我们的应用效益和成果,我们单位就刚才也讲过,是一个服务于我们机载行业其他单位的单位,我们做的解决方案除了我们自己在实验室里面验证,还是要在其他业内单位做一个推广应用。目前已经向多家单位做了实质的应用,也取得了一定效益。比如像这个航空工业 171 厂,它是做航电的。还有航空工业 634 所,这个是一个北控所,还有一个对我们行业内是我们航空工业系统外的一个小型科技公司,在他们这边也做了一定的实质运用,做他们测控设备的一个测控数据的存储。我们这边对 IoTDB 的应用是逐渐在深化的,从最初我们不太放心只用于做日志记录,到现在用于生产环境并向外推广应用,也能明确感觉到这个时序数据库对工业制造协同的一个重要性。而且像我们这边的一个高安全的记载专网和 IoTDB 的高性能时序数据库也是比较契合的。就预期效益而言,感觉未来是十分可期的。下面我讲一下我们大致的后续的合作规划。我先简单说一下我们和 IoTDB 的合作历程,这个其实还有一些小惊喜,就是首先我们第一次知道 IoTDB 是在 2020 年的时候,当时我们在做一个航位推算的项目,当时要存储大量的地图和航班的路线轨迹的数据,当时就在找那个高性能的时序数据库,后来在 CSDN 上发现有这个, 20 年就发现有一篇文章就讲到这个 IoTDB 了,然后就对它产生了一定认识。结果在 21 年的时候,领导那边就通知我们跟清华 IoTDB 团队这边有一个项目合作,承担那个就是新一代信息技术的工业实时数据库项目,这个也是属于意料之外。后面我们就顺理成章 IoTDB 在航空领域进行了推进使用,然后在 20 年的时候完成了以 IoTDB 为核心的数据采、存、算系统,完成了实验室级应用和这个典型单位的生产环境应用,然后项目也是圆满结题。然后就是现在 IoTDB 也在跟我们智能制造系统逐渐深耦合,比如 3 月份我们就把我们 IoT 平台的底层数据库完全替换成了 IoTDB 了,然后 5 月的时候数字孪生的底层数据库也替换成 IoTDB 了,因为之前都是在测试环境,现在已经是在真实环境了。然后像现在正在做数据中心的核心时序数据库的一个压力测试和延时测试,打算就直接把它纳为我们正式的数据中心数据库的实施数据底座了。我们的技术规划是进一步加深我们这边的业务和 IoTDB 的耦合,因为它确实能在很多方面提高我们这个数据的存储效率,减少我们的存储成本。然后逐渐想构建一个组织级的数据协议库,这个主要是面向我们各家工厂的数据解析协议,以及构建一个组织级的数据中心,现在基于我们这个专网已经接入了 28 家单位,但现在我们只是在 3 家单位做一个智能制造项目的运行,后续建立组织级的数据中心,就能支撑更多单位了。这是由我们智能制造平台的一个推广战略。当然就随着 跟 IoTDB 技术耦合的加深以及技术的升级,那么像五年之内就完成我们之前定的一个目标,就能把主机和行业内的几大供应商都串联起来,然后在后续能覆盖到其他高端制造行业,这就是我们一个大概的应用情况。我的汇报到此结束,谢谢大家。
版权声明: 本文为 InfoQ 作者【Apache IoTDB】的原创文章。
原文链接:【http://xie.infoq.cn/article/5bc9aefddd7d865bea1ccfb14】。文章转载请联系作者。
评论