IoT高级设备检索——设备管理运维类

简介 本文介绍主要阿里云物联网平台从设备管理、设备运维2个角度来打造设备的搜索产品,除作为检索产品应该具备的低RT、高Qps、高稳定性外,“IoT设备搜索”产品还需为用户提供了完备的设备数据、尽可能短的可见时延、灵活的查询。

场景特性      
每个业务场景都有自己特有数据特性,IoT也不例外。单纯从设备检索的角度切入来看,IoT的设备检索特性如下:            

  1. 亿级数据;            
  2. 数据高频变更;        
  3. 时序特性;            
  4. 无冷热特征;          
  5. 结构松散;            
  6. 数据异构;

数据Dump层      
整体思路和多数检索场景类似:全量数据+增量数据。由于底层用了多套云检索引擎,因此整个Dump层天然具备云原生的能力,与此同时,我们采用了影子库、主备集群、读写分离、配置化、全链路监控等手段,来保障数据的吞吐、时延、稳定、高效。

物模型检索      
物模型是物理空间中的实体(如传感器、车载装置、楼宇、工厂等)在云端的数字化表示,从属性、服务和事件三个维度,分别描述了该实体是什么、能做什么、可以对外提供哪些信息。因此相对于设备的元数据(名称等),物模型数据的检索是极其重要的一部分。然而,虽然单个设备的物模型属性数量是有限的,但是不同的设备的物模型属性数是完全不一样的,这就导致最终最终设备的物模型的属性是不可穷尽的,但是我们的索引表的宽度是有限的。因此,就需要用有限的索引列存储无限的物模型数据。        
通过结合物模型的特点:数据定义明确、整体数量不可穷尽、单设备可穷尽将单设备的物模型信息与索引进行映射,多设备复用相同索引,实现物模型数据的检索。

SQL-Like检索能力      
云上的产品ToB的比重更高,使用我们云平台的大多数用户都有一定技术背景,SQL在技术人员普及度又极高,为了降低用户的使用成本,我们提供了SQL-Like的检索能力,用户能够像查询数据库一样来检索数据。与此同时,我们底层用了多套检索引擎,因此我们希望在上层使用SQL检索的方式来屏蔽底层引擎的差异。简而言之,上层使用SQL语法,下层适配多套检索引擎。
为此,我们设计了一套:适配多引擎、业务自定义、SQL检索框架。整体架构上,参考了Apache Calcite。
SQL-Helper:我们提供了SQL拼装工具,用户可以像写JAVA那样完成SQL书写,防止SQL拼写错误带来的调试效率问题;
Adapter:适配层模块,基于底层引擎进行适配、路由;
Parser:SQL解析模块;
Completer:语句补全、替换等;
Validater:语句校验模块;
Tanslator:语句转义为底层引擎请求,并进行参数优化;

使用文档    https://help.aliyun.com/docum...

物联网平台产品介绍详情:https://www.aliyun.com/produc...

             阿里云物联网平台客户交流群

你可能感兴趣的:(IoT高级设备检索——设备管理运维类)