Openharmony软总线介绍
背景
随着生活场景的智能化,我们对周边设备之间的互联提出了更高的要求,但是不同的设备使用的通信技术也有所不同,例如WLAN、蓝牙、NFC、LoRa等等,同时不同技术使用的频段、通信协议有所不同,导致这些设备无法直接通信,甚至在一定情况下会发生相互冲突。比如我们在使用电子设备的时,想要多个设备之间想要共享数据,发现会非常麻烦。比方说两个手机发送文件,需要连接网络,需要登录app,需要选择文件,需要发送,想想就累。
所以,分布式软总线要解决的便是如何摆脱复杂技术的困扰、大量异构设备硬件的存在构建一个相对稳定、可靠、时延极低的网络,使得各类型的设备能够在同一个局域网之间相互通信。可以让我的设备之间自己组网,自己进行数据交互,还可以兼容各种不同的设备,各种通信形式。
总线
计算机中有很多的设备,需要进行数据通信和任务通信,为了解决这个问题,于是就出现了总线技术。总线就像计算机内部的 “超级高速公路”,专门负责让 CPU、存储器、各种控制器(如键盘控制器、硬盘控制卡等)之间顺畅沟通。总线为信息在各个部分之间流转提供了一个传输通道,传统的硬件总线可以划分为数据总线、控制总线以及地址总线,分别传输数据、地址数据、控制数据。

软总线
计算机中的总线是电路搭建起来的硬件电路。借鉴总线的设计理念,软总线通过软件代码、协议算法构建 “虚拟通道”,不依赖计算机硬件总线那样固定的物理电路(如主板上的地址线、数据线等硬件线路),也无需设备统一物理接口,这是 “软” 的核心体现。软总线分为任务总线以及数据总线,任务总线传输数据量小但可靠性和时延要求高,包括消息传输、字节传输、数据总线构建高吞吐量、大带宽传输能力,包括了文件传输、流传输。

软总线发现
简单来说,软总线发现技术的功能就是发现周边的设备,获取到设备的各种信息以方便后续的连接、组网。其主要思想是结合设备自身的物理通信能力(例如WLAN、蓝牙、NFC等等),在平衡功耗和性能的基础上尽可能地发现周边的设备,发现技术对各种物理连接技术的发现能力进行了抽象和原子化封装,对上呈现统一的设备发现逻辑。
根据不同的通信技术软总线使用了不同的发现协议,目前软总线的应用场景是近场网,在该网络中应用最多的便是WLAN与蓝牙。因此软总线构建了针对WLAN、蓝牙的发现协议
软总线连接
简单来说,连接就是建立起分布式设备之间的通信,其核心目标是按需建立基于当前软硬件能力及网络状态的,可以满足业务带宽、时延要求的设备间的通信连接。目前,连接的主要有两种方式一种是针对端到端的直连链路,例如BLE、无线的P2P等,另一个是基于IP网络的socket连接方案,例如WLAN、局域网等等。
软总线建立了连接资源管理负责对不同的通信技术及设备之间可用的连接资源进行统一的管理。此外软总线还建立了连接状态管理用来负责维持和连接相关的状态信息。对于不同的连接技术,软总线将它们抽象为不同的连接部件。主要有Socket连接、BR连接、BLE GATT连接、无线的P2P连接、USB连接等等。
- Socekt 连接:软总线支持对基于TCP和UDP socket连接的建立、维护、释放,通过Socket连接可以建立有发送能力的UDP连接或者可以确保通信质量的TCP连接。
- BR连接:在软总线设备之间的BR连接中,主要采用的技术是RFCOMM(Radio Frequency Communication),它在蓝牙基带协议上通过仿真 RS-232 控制和数据信号过程,为设备提供一种基于蓝牙的通信连接。
- BLE GATT连接:GATT(Generic Attribute Profile,通用属性配置文件)是建立在 BLE 协议栈之上的一个配置文件(Profile),它定义了一种在 BLE 设备间传输和处理属性数据的通用规范和结构。软总线支持创建BLE GATT服务器或者客户端,支持对该连接的打开、释放、复用、调参等功能。
- 无线P2P连接:它是一种常见的无线点对点连接技术,能够在没有经过传统的中间设备,两个或多个设备直接进行通信、资源共享。其中也包括了Wi-Fi直连、蓝牙P2P、ZigBee P2P等等。
- USB连接:是通过RNDIS(Remote Network Driver Interface Specification,远程网络驱动接口规范)建立的、基于USB的连接技术。RNDIS就是 TCP/IP over USB技术,通过在USB设备之间构建基于TCP/IP 的协议架构,让USB 设备看上去像一块网卡,降低了USB 数据传输和网络连接的复杂度。
软总线组网
在传统的分布式系统中,跨设备之间的业务总是需要先进行发现,这使得操作体验差,并且由于各种介质异构(BR、BLE、Wi-Fi2.4G、Wi-Fi5G等等)、协议异构(BT:1.x~5.x、GATT/L2Cap、Wi-Fi1~4等等)、以及芯片异构、环境异构等等原因,导致业务并发冲突高、互通兼容性问题多、传输可靠性差,最终使得通信质量不稳定,孤立随意的资源使用。
针对以上情况,软总线提出了异构组网,实现混合发现组网、多跳发现组网,支持多跳路由信息传递,多个设备级联时在业务执行前彼此自动完成逻辑连接和拓扑。最终在诸多异构的情况下建立统一的管理体系,以便即使在诸多不确定性因素的影响下,也能给分布式业务提供确定性的通信保障。
对于一个局域网内形形色色的设备,按照其软硬件能力不同将承担不同的管理角色。对于能力强的富设备,它们之间可以两两组成网状拓扑,能力弱的瘦设备则与富设备之间组成星形拓扑,由富设备作为中间节点,通过这两种组网方式最终实现对网络内所有设备的管理。此外也根据不同的应用场景,实行不同的策略以维持网络内的设备在线。
软总线传输
在传统的通信中,一个消息的传输取决于多方面的因素,以传统的OSI网络模型为例,由于物理层硬件层次所采用的技术、协议、调制方式的不同会带来用户所能使用的带宽不同。同时在传输过程中,为了符合网络层、传输层、链路层传输的要求,不得不加上各种协议数据开销(TCP头、IP头等等)。以及在无线接入点的数量、接入信道、信号强度、干扰同样也会影响数据的传输效率。
分布式软总线在传输方面的传输技术研究以及演进方向主要包括高吞吐量&高能效、低时延&确定性传输、端端互联到基于场景的拓扑式数传。在传输过程中存在着各种协议数据开销,但是在超级终端的应用场景中(一个小型的局域网),以及设备归属于同一个账号或被授权的条件下,可以采用更为简单的协议方式。
总结
查阅资料后,整合了网络上一些关于软总线的介绍,初步帮助大家对软总线有一个简单的了解。
更多推荐
所有评论(0)