软件平台类知识库

构建企业级物联网软件平台的核心技术与最佳实践

软件平台类知识库专注于物联网软件系统的设计与实现,涵盖云平台架构、微服务设计、API接口、设备管理、数据处理、边缘计算等核心技术领域。点击术语查看详细解释。

按职责拆开软件平台术语

每一类目录对应的软件职责

这一栏收集的是按职责切开的软件术语,用来对照某个组件在系统里扮演的角色。基础技术讨论平台由哪些逻辑块组成,例如接入、接口、设备主数据、数据存放和消息传递。平台架构与微服务讨论这些块怎样独立部署、怎样互相调用。分布式一组讨论队列、存储、缓存、数据库和定时触发在多节点之间如何交接执行权。数据处理一组讨论点数据从清洗、计算走到展示的路径。边缘一组讨论规则、本地落盘、模型推理和协议转换留在现场时还具备哪些能力。行业系统讨论这些能力拼成家居、农业、车辆或城市应用时,软件边界落在现场的哪一层。开源项目则说明某个具体代理或平台实现了上面哪些职责。

同一个日常用语会在不同目录里指向不同粒度。说到存储,要先分清是对象与文件所用的分布式存储,还是边缘网关上随设备断电而消失的本地缓存。说到消息,要分清是把报文从设备交到服务的队列,还是对已经进入队列的事件做连续计算。目录的作用就是这层职责标签:它告诉读者下一页讨论的是组件的哪一种角色。它不承诺任意一页能覆盖整套物联网平台。

先划定系统边界再进入词条

这些词条用得上的时候,问题已经能被放到设备侧、边缘侧或云侧,并且能量出眼前的数据是指令、状态、文件还是时间序列。只剩下“平台不稳定”这一句时,目录无法替你选页,因为不稳定可能来自接入认证、消息堆积、任务重叠或查询口径不一致。先补上一句“谁在什么接口上看到了什么现象”,再进入对应词条。固件没有换成目标版本,应去设备管理里的升级系统;曲线和现场对不上,应去数据处理,而不是反复检查升级任务。

词条可以串着读,顺序却有讲究。先用物联网平台架构建立块图,再读具体组件,最后读行业系统,看这些组件在场景里哪些被用到、哪些被供电和网络限制住。开源项目页适合在已经确定“需要一个轻量代理”或“需要一套带规则链的平台”之后,用来对照真实实现。把它当成选型的第一步,会把某个项目的默认拓扑误当成架构约束。

产品名、协议名和架构角色容易叠在一起

查阅时容易把厂商产品名、通信协议名和架构角色写成同一个词。协议决定报文怎样编码,代理决定连接怎样维持,平台决定设备、规则和界面怎样组织。三者可以同时出现在一个项目里,定位故障时却要先钉住一层。把“上不了云”同时记成协议问题、代理问题和平台问题,排查会在三层之间来回跳,每一层都只做了表面检查。

用行业系统页替代组件页是另一类偏差。行业页描述场景软件要完成的闭环,例如灌溉动作或市政设施状态,并不给出队列如何分片、对象如何设置过期。只读组件页则会漏掉现场约束:边缘是否有稳定供电、设备是否长期在线、下行指令是否真能在下一次苏醒时送达。跳过这些约束,云端功能清单会被当成现场已经具备的条件。开源项目的默认配置常常偏向演示,把演示拓扑直接套到多租户生产上,等于把单机进程当成已经具备故障转移的集群。

目录页不保存接口字段。遇到一个缩写,先确认它在本栏指的是架构角色、正在运行的组件,还是一个可安装的项目。调度解决的是谁获得触发权,队列解决的是报文在途中如何缓冲。两者都和异步有关,故障却不同:调度重叠会把报表写重,队列堆积会让实时路径变慢。把这两个词条的结论互相套用,会在错误的一层加机器。行业系统页里的现场约束,也不能直接写成某个组件的默认参数。组件页给出的是机制,具体参数要等供电、时延和数据量清楚之后再定。


返回知识库首页