技术干货丨mixiot 数据入栈交换服务组件——入栈机(dixie)-电子游戏平台

  

如有疑问或想了解更多,请咨询:0755-23740592

智物联公众号

   

电子娱乐app copyright © 2014-2020
mixlinker . all right reserved
深圳市智物联  电子游戏平台的版权所有

  • 微信微信
    微信
  • 腾讯视频腾讯视频

电子娱乐app的友情链接:

扫码关注,了解更多

智物联,引领工业物联

我们始终以技术创新创造价值,并夜以继日的将互联和工业智能的力量融入到各行各业
以前所未见的高度、速度、精度和深度,让关键所在 逐一实现。

>
>
>
>
技术干货丨mixiot 数据入栈交换服务组件——入栈机(dixie)
智物联
技术干货丨mixiot对象"平衡和匹配"计算组件——平衡与匹配(balances)
技术干货丨工业设备如何实现在线诊断?
技术干货丨mixiot家族新成员系列——mixco工业控制协同
作者:
浏览量
【摘要】:mixiot的数据采集
在复杂的工业场景中,如何高效、稳定和快速的采集设备数据显得尤为重要,在之前的技术文章中我们介绍了适配器的自动采集和复杂场景下的离线数据采集两种方式,今天我们将介绍mixiot如何与第三方数据采集终端进行适配。

入栈机(dixie)
dixie是mixiot体系中的数据入栈交换服务组件,简称入栈机。在mixiot体系中,除了可以使用智物联的数据采集终端,也支持第三方的数据采集终端,而且不要求第三方的数据采集终端遵循mixiot体系的数据报文规则。那么,这些第三方数据终端采集到的数据,怎么能够在mixiot系统中进行数据处理呢?这就需要用到dixie(入栈机)来帮忙了。

 

入栈机服务可以理解为mixiot的前置翻译服务,可以把任何第三方数据采集终端上报的任何格式的数据,转换成符合mixiot规范的数据格式。这样,经过入栈机的数据,实际上就变成了符合mixiot规范的数据。


图1 入栈机的使用场景

图1就是一个比较典型的使用场景:通过第三方的opc ua/da数据采集终端,采集cnc数控加工中心的数据。这个opc ua/da数据采集终端所采集的数据,是按其他的标准来的,并不符合mixiot体系的数据规范,那么,就需要先把这个数据报文给mixiot dixie,让入栈机把数据进行翻译,变成符合mixiot体系规范的数据。

 

dixie并不限于对接第三方的数据采集终端,而是可以对接任何形式的数据来源,包括来自其他平台的数据、erp/mrp的数据、crm的数据、mes的数据等。

 

dixie的管理
dixie是mixiot的一个标准组件。如果需要使用dixie,需要在mixiot admin里面去创建dixie项目。创建完成后,随时就可以把dixie服务给启动起来,如图2所示。

 

dixie的设置相对是比较复杂的,要真正弄清楚这些设置到底是怎么一回事,就需要对mixiot系统有更加深入的了解。下面就来解释一下mixiot是怎样接收数据的。


图2 入栈机项目的启动

gards服务
实际上,我们总在说的mixiot系统,不管是如来方略云部署,还是如来方略柜部署,它都有一个专门用来接收数据的服务组件,叫gards组件。是通用远程数据服务,这是一个基于mqtt协议的数据交换服务。gards服务可以用来接收所有适配器和ufs传送过来的数据。

 

gards有两个版本,分别是gards pagosa(单主机版本)和gards falconer(集群版本),在部署mixiot的时候可以根据实际需要选择。一般来说,对系统整体可靠性要求很高的情况,可以部署gards falconer版本;对普通的工业物联网应用,gards pagosa一般都可以满足需要。

 

虽然gards支持mqttv3/5协议,但它只能接收符合mixiot规范的mqtt数据,这是因为mixiot系统把标准的mqtt服务做了一些扩充和改变,这个问题就不做详细描述了,大家可以参考智物联的其他公开技术资料,这些调整和改变是为了让服务更加高效可靠。

 

gards服务除了接收来自适配器和ufs的数据(“数据上行”),也可以给适配器发送数据(“数据下行”),如图3所示。关于数据下行可以参考《反向控制》一章。

 

我们注意到,在dixie的配置里面,需要配置gards服务器。这是因为dixie要知道,这些第三方的数据翻译好后,要把它们发到什么地方。


图3 gards服务

 

一旦数据进入了gards服务,后面就是执行标准的mixiot数据处理流程了。

 

garoute服务
前面介绍了mixiot系统中的gards服务。对一个复杂的系统来说,比如数据终端有几十上百万个,甚至更多,那么一个gards服务就很难应付了。所以,一个mixiot系统允许同时存在多个gardspagosa服务,或者一个gardsfalconer服务。当一个系统中存在多个gards服务,那dixie的数据该送去哪一个gards呢?

 

如果我们把所有的数据都死命往一个gards里送,就很可能导致这个gards忙死,别的gards闲死,让系统失去平衡而出现问题。garoute就是用来解决这个问题的,garoute实际上是gards route(通用远程数据服务路径)的意思,它可以告诉dixie,什么数据往哪里送。这就是为什么我们在mixiot admin的dixie服务中,看到有garoute这个选项。如果mixiot里只有一个gards的话,就可以不去管这个选项;而如果存在多个gards的情况,这个选项就必须要指定,否则,那些翻译好的数据就不知去向了。

 

图4,就解释了garoute和gards之间的关系,dixie首先需要向garoute询问,这些数据发给谁,在得到回复后,就按回复的走。需要说明的是,dixie并不是每次发生数据都要问garoute这个数据发给谁,dixie跟garoute之间是一个通信管道,该切换到哪一个gards,garoute会随时通知,在没得到新的通知之前,还是会按之前指定的选项来发。

图4 garoute和gards

这里稍微解释一下,多个gards pagosa(单主机版本)和一个gards falconer(集群版本)是两回事,多个单机版本的gards算多个gards,garoute需要去管理负载平衡;而集群版本的gards虽然也是由多个gards构成,但在逻辑上仍然只能算一个gards。这有点像我们安装服务器的时候,用了两个硬盘做镜像一样,如果一个硬盘坏了,另一个硬盘还能接着工作,但容量还是一个硬盘。所以,集群gards的能力并不会比单机版高。

 

dixie模板和脚本
mixiot里面几乎所有的东西,都是由模板和脚本构成的。映射表、代码库等各类组件莫不如此。

 

dixie也不例外,也有模板和脚本。dixie模板是用来描述和解析那些来自第三方的数据是什么样子的,而dixie脚本是用来告诉dixie服务,这个样子的原始数据需要用什么方法变成mixiot能接受的样子。

 

除了模板脚本和前面介绍的gards、garoute,还有不少其他的东西,比如源网关列表之类的,这些都是具体使用的细节了,有需要可以参考详细的使用手册。

智物联
“如来方略云”是mixiot云端部署方式(公有云部署私有云部署)的一种产品展现形态。如来方略云主要应用于各种设备远程运维场景。
fidis是智物联通过与软硬件开发商、设备制造商、电信运营商等其他有关各方结成深层次的合伙伴关系,建立的标准化开放的工业互联网软件平台,是一个开放式的工业互联网生态系统。设备制造商和方案商等电子娱乐app的合作伙伴基于fidis平台,快速开发出各种个性化的垂直行业工业互联网方案和产品,服务于垂直行业终端用户,推动行业高质量发展。
mixiot是智物联研发的“智慧工业核心引擎”,相当于“工业互联网的安卓”,为各工业垂直领域、场景提供一致的工业互联网基础平台,承担工业互联网的底层最基础最重要的工作,包括物联网数据接收、指令下发、数据存储、数据处理及数据应用接口。mixiot支持大规模、高并发数据处理,支持多服务器级联;支持管理和配置各种复杂数据映射规则、计算方法和数据处理方法;支持云端独立部署,支持本地服务器部署。