【云上苏城,以梦为码】华为云MVP李志伟:披荆斩棘,只为研发IoT领域的“万能药”

举报
我们都是云专家 发表于 2021/03/01 14:37:18 2021/03/01
【摘要】 2020年我们经历很多:新冠疫情、洪灾、新基建、北斗商用……因为疫情,让一切都慢了下来,李志伟决定趁此机会,定心打磨好公司的物联网赋能产品——数据池,待时机成熟厚积薄发。在这个过程中,他学习了新的编程语言,接触了新的大数据技术,体验了华为云的一系列服务,最终,如愿完成了数据池从无到有的开发。小码农的大目标李志伟自诩是一个小码农,从事软件开发10多年的他,既在小公司独当一面过,也在大公司技术深...

2020年我们经历很多:新冠疫情、洪灾、新基建、北斗商用……

因为疫情,让一切都慢了下来,李志伟决定趁此机会,定心打磨好公司的物联网赋能产品——数据池,待时机成熟厚积薄发。

在这个过程中,他学习了新的编程语言,接触了新的大数据技术,体验了华为云的一系列服务,最终,如愿完成了数据池从无到有的开发。

小码农的大目标

李志伟自诩是一个小码农,从事软件开发10多年的他,既在小公司独当一面过,也在大公司技术深造过,还有着不为外人道也的创业艰辛史。

谈起做数据池的初衷,李志伟回忆起不少往事。

“记得刚进公司那会儿,跟CEO讨论公司发展现状及未来规划时,他对我说需要一个底层物联网设备接入服务。就这句话让我在这有了明确目标,我决定去设计一款能接入任何物联设备的服务应用。”

然而简单的一句需求,背后却是海量的技术问题。

当前,仅物联网通讯协议就让人眼花缭乱,TCP、UDP、MQTT、COAP、http、WebSoket、串口等等。、通信协议之外,还有不同的消息格式,例如 json、XML、紧凑型Hex数据包、分割型数据包、KTV形式数据等等。如果要满足能接入任何物联设备,势必要先集成各种通信协议,解决各种消息体如何解析的问题。

2.png

搞清楚这些基础内容后,李志伟开始用C#写了一个初版数据池服务,然而结果不尽人意,因为物联网设备并发量已经远远超出C#构建的项目承载量。

几经筛选对比,他果断弃C#选择Go作为开发架构,并利用各种碎片化时间强化学习Go。功夫不负有心人,换了Go以后,之前用C#构架的并发问题被Go几行代码解决了。

 

计算、存储、转发三步走

解决好大的框架后,接下来就要考虑物联网数据的计算、存储、转发。

首先,传感器采集到的是一个电流值或者电压值,这个值需要经过一个计算才能转化成最终值。

基于这个场景,李志伟集成了JavaScript语法糖,虽然JavaScript语法糖性能不佳,但是能满足数据的任意计算。

其次是数据的存储,李志伟采用了开放式的设计理念,支持存储到任意类型的数据库中。不过考虑到物联网数据的特殊性,目前主要以MongoDB为主。它的分布式架构以及特有的数据分桶设计,适合海量的物联数据,同时能大大减少数据存体量,做到物联数据不失真。

最后是数据转发的设计,目前支持任意通信协议以及任意消息体数据转发。李志伟说,“这样的设计理念,能够支持设备平台之间的数据互通,以及平台和平台数据,设备和设备数据的互通。”

3.png

在整个产品设计的过程中,李志伟也应用了不少华为云的服务。

比如他们公司在与华为云合作的初期,就用上了免费的鲲鹏云服务器资源,这是一款由华为自研的ARM架构的服务器。

李志伟表示,“公司底层架构服务在上面能完美兼容运行,综合性能表现完美,在同等配置下,性能会优于传统的X86架构的服务器,这点在我们这也得到验证。”

而且由于物联开发应用平台需要整合多个设备的数据,服务器的内存、CPU总是不够用,需要扩充,使用鲲鹏云服务器也节约了不小的一笔硬件成本。

再往后,李志伟接触到了华为云IoT平台,以他在研的数据池服务为例,目前只做到物联数据的解析、分发,诸如物联大数据的资产模型、离线分析、实时分析、时序分析等解决方案则由华为云IoT平台提供,减轻了他们不少的工作量。

最后:

   AI方面,李志伟也深受华为云ModelArts的启发,思迪数据池后续也会身赋AI能力,大家可以拭目以待。

李志伟.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。