Skip to content

概述

OnePath™ 统一逻辑网络(Unified Logical Network, ULN)是一个 C 语言通信中间件。它把分布在不同总线、链路与网段上的异构节点,统一接入一张逻辑网络,对外只提供一套极简、稳定的 C 接口,让节点之间无需感知彼此的物理位置与连接方式,即可完成信息交换与资源共享。

一句话讲清价值:一处编写,全网可达;一条逻辑总线,打通异构链路与跨网段。

功能特性

组网与连通

  • 异构组网与统一逻辑网络:把分布在不同总线、链路、网段上的节点接入同一个逻辑网络。节点之间无需感知彼此的物理位置、所在子网或底层传输方式——同一份应用代码在数据中心、局域网、跨网段、甚至同一台机器的不同进程之间都正确工作。
  • 零配置自动发现:同一网络内的节点自动相互发现并建立连接,免去手工维护地址列表与配置文件。节点上线即自动加入,下线即自动感知。
  • 跨网段转发网关:通过转发网关在不同局域网 / 子网之间中继消息,实现跨网互联互通;跨网段通信对应用完全透明。
  • 节点存活感知与透明重连:实时感知对端节点的上线 / 离线状态;连接中断后自动按指数退避重连,重连后订阅、查询关系自动恢复,整个过程对应用层完全透明。
  • 网络拓扑感知:基于运行时自省发现网络中的节点、各节点承载的服务、节点间连接关系与传输类型(tcp/udp/serial…,含是否走共享内存),并可聚合为全局拓扑图供监测与可视化使用。

通信能力

  • 两种通信范式:内置「发布 / 订阅」(数据分发)与「请求 / 响应」(服务调用)两类范式,覆盖绝大多数分布式场景。
  • 层级化寻址与通配符访问:以类似文件路径的层级名称标识资源(如 robot/sensor/temperature),并支持通配符进行批量匹配与订阅(* 匹配单层、** 匹配多层)。
  • 可靠传输与历史补偿:可按需开启消息缓存、丢包检测与历史数据补发,改善弱网与短暂中断环境下的可靠性。
  • 服务质量可调:可为消息配置优先级、可靠性等级与拥塞策略,平衡实时性与吞吐。
  • 携带数据语义:消息可附带内容类型标识与自定义元数据,便于上层解析与路由。

性能与安全

  • 同机零拷贝传输:同一台机器上的不同进程(或同进程的不同会话)可自动经共享内存零拷贝交换数据,获得高吞吐、低延迟;跨机时自动回退到网络传输,对用户完全透明。
  • 安全通信:支持传输层加密(TLS,v0.8.0 起两个变体均可用)、身份认证(用户名密码)与基于资源名称的访问控制,保障跨网通信的数据机密性、完整性与访问权限。

工程化能力

  • 内置可观测性(零代码改动):v0.3.0 起内置分布式链路追踪(W3C Trace Context)与指标(Counter / Gauge / Histogram),发布订阅、请求响应等核心通路自动埋点,调用链跨多跳自动透传,仅通过环境变量开关即可开启,关闭则回归零开销。
  • 多模冗余 XMR:v0.10.0 起在三条核心通路之上提供「N 份冗余 + 投票选举」的容错层(DMR / TMR / NMR),两个变体均可用。
  • 完整版 / 精简版可选:完整版面向服务器与桌面,精简版面向嵌入式与边缘设备,同一套用户代码通过一个编译宏即可切换。
  • 统一简洁的 C 接口:单头文件、一致的不透明句柄与回调风格,便于快速集成与长期维护。底层通信引擎已静态内嵌进库本身,运行时无任何外部依赖。

文档导航

主题页面
5 分钟跑通第一个发布 / 订阅快速开始
统一逻辑网络、寻址、范式、节点角色核心概念
full vs tiny 能力对比与编译期剔除变体选择
消费预构建库:RPM 安装与集成安装与集成
create/destroy 配对与所有权规则内存管理
错误码枚举与 onepath_strerror错误处理
追踪 / 指标环境变量总览环境变量
完整 API 参考API 手册
专有场景(追踪 / 拓扑 / 零拷贝 / XMR…)专有场景
动手实验Codelab
产品定位与同类对比白皮书

OnePath™ 以预构建库形式交付,运行时零外部依赖。