亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述OpenHarmony啃论文成长计划-零基础解读分布式软总线通讯(绪论)相关的知识,希望能为你提供帮助。
零基础视角解读分布式软总线通讯(绪论)我们来自OpenHarmony开发者成长计划:啃论文小队,我们在欧建深教练的带领下啃论文。我们是TCCS团队,全意为The Child Collecting Shells。“我并不知道我在世人眼中是什么模样,对我来说,我似乎只像是一个在海边玩耍的男孩,不时找一颗平滑的卵石,或是比较美丽的贝壳来取悦自己,而真理的大海则横陈在我面前,一无发现。”——牛顿
我们来自三所高校:
赵坤--安阳工学院
张君豪--长江大学,junhao_zhang00@foxmail.com
王羚--黔南科技学院
本篇绪论主要作者为张君豪,虽然我也什么都看不懂,但是我想就算你是一个什么也不懂的小白,我们也要让你通过我们这系列文章读懂分布式软总线通讯,不仅要大受震撼,更要看懂,看懂且大受震撼是我的追求。
一、分布式软总线概述
1.1何为总线?
文章图片
说人话,或者举个栗子,把总线比作一条单车道的乡村公路,这条路旁边有很多人家,每户人家都有门口一条小路连接着这条公路。分时和共享是总线的两个特点,分时是同一时刻只允许有一个部件向总线发送信息,共享是总线上可以挂接多个部件,各个部件之间互相交换的信息的可通过这组线路分时共享,多个部件可同时从总线上接收相同的信息。套用我们的例子,就是总线这条公路因为是单车道,所以每次只能走一辆车,如果同时有两辆车就会冲突,这就是分时,每家都有一条小路连接公路,所以每家都可以开车上这条路,每两家都可以在路上没人的时候开车去另一家串门聊天,也可以自己在车上装个喇叭把自己想说的
1.2何为分布式软总线
分布式软总线技术是基于华为多年的通信技术积累,参考计算机硬件总线,在1+8+N(1-手机、8-车机/音箱/耳机/手表/)设备间搭建一条“无形”的总线,具备自发现、自组网、高带宽低时延的特点。全场景设备间可以基于软总线完成设备虚拟化、跨设备服务调用、多屏协同、文件分享等分布式业务。
文章图片
再借用上面那个例子,你们村子由于交通不好所以本来是对外封闭的,你想聊天最多也只能找找隔壁的翠花或者村头的王大妈,结果后面国家开始给你们逢山开路、遇水搭桥,一夜之间把在一片所有的村子都联通了,这个时候你还没反应过来就有人告诉你隔壁村桂花更漂亮,突然你就发现这个世界多姿多彩了起来,这就是自发现和自组网,于是有一天你决定出门看看风景
1.3分布式软总线架构
文章图片
通过协议货架和软硬协同层屏蔽各种设备的协议差别,总线中枢模块负责解析命令完成设备间发现和连接,通过任务和数据两条总线实现设备间文件传输、消息传输等功能。
说人话,举个栗子,假如你是一位古代的皇帝,你看上了邻国的一位公主,想
分布式总线的总体目标是实现设备间无感发现,零等待传输。实现这个目标需要解决三个问题:
1.3.1设备间的发现和连接从手动发现,进化成自发现。
比如手机上有很多照片需要传到个人PC上,我们可以采用蓝牙传输,首先要打开手机和PC的蓝牙发现功能,手机或者PC点击搜索设备,然后互相配对授权即可连接上,成功连上后就可以发送照片了。 在分享照片这个场景中有很多人为的动作:开启蓝牙发现功能、搜索设备、配对授权,这确实有点麻烦,耗费了很多时间,可能会降低分享的意愿。
软总线提出了自动发现的概念,实现用户零等待的自发现体验,附近同账号的设备自动发现无需等待。
文章图片
而通过我们对分布式软总线的初步窥探,实现自发现依赖于设备虚拟化与普适计算等技术,而设备虚拟化我们即将在下一篇文章通过大佬的学术论文来进行解读
1.3.2多设备互联后的组网技术软总线组网-异构网络组网
上面的例子中手机传照片是通过蓝牙,假如PC没有蓝牙功能只有WIFI,在传统的场景中这种可能就不能实现分享传输了。因为不同的组网方式之间是隔离的,就好比一个说广东话的人和一个说武汉话的人很难有效沟通一样,因为这是两套方言,也就是两种沟通方式,所以我们要解决很多异构网络之间的组网问题。
软总线提出的异构网络组网可以很好解决设备间不同协议的交互问题,这就好比中间多了一个翻译员又会广东话又会武汉话,所以说广东话的那个人说的话可以被说武汉话的人听懂,就解决了手机通过蓝牙传输,而PC通过WIFI接收照片。解决方案如下图所示。
文章图片
设备上线后会向网络层注册,同时网络层会与设备建立通道连接,实时检测设备的变换。网络层负责管理设备的上线下线变换,设备间可以监听自己感兴趣的设备,设备上线后可以立即与其建立连接,实现零等待体验。也就是说你可以理解为有一个管家一直盯着如果有设备上线了就会立马进行连接,而你就不再需要手动进行连接了,软总线可以自动构建一个逻辑全连接网络,用户或者业务开发者无需关心组网方式与物理协议。对于软件开发者来说软总线异构组网可以大大降低其开发成本。
传统开发模式:在传统开发模式中开发者需要适配不同网络协议和标准规范。
分布式开发模式:在HarmonyOS分布式开发模式中开发不再需要关心网络协议差异,业务开发与设备组网解耦,业务仅需监听设备上下线,开发成本大大降低。
【OpenHarmony啃论文成长计划-零基础解读分布式软总线通讯(绪论)】这方面的相关技术与论文我们也会在对发现和组网结束以后来进行解读,欢迎大家持续关注哦~
1.3.3多设备多协议间的传输技术传统协议的传输速率差异非常大,时延也难以得到保证。所以软总线传输要实现的目标有:高带宽(High Speed)、低时延(Low Latency)、高可靠(High Reliability)。软总线要实现的这三大目标的尖刀武器是:极简协议。
文章图片
极简协议将中间的四层协议栈精简为一层提升有效载荷,有效传输带宽提升20%,并且在传统网络协议的基础上进行增强:
- 流式传输:基于UDP实现数据的保序和可靠传输;
- 双轮驱动:颠覆传统TCP每包确认机制;
- 不惧网损:摒弃传统滑动窗口机制,丢包快速恢复,避免阻塞;
- 不惧抖动:智能感知网络变化,自适应流量控制和拥塞控制;
本文参考了鸿蒙官方文档以及百度百科。是对其的进一步理解与翻译。
ps:我们也是初学者,这仅仅是我的个人理解,可能有误以及不准确的地方,感谢各位大佬与前辈批评指正!
各位观众老爷的点赞评论就是我们更新的最大动力!也欢迎大家加入我们分布式软总线啃论文团队!
想了解更多关于鸿蒙的内容,请访问:
51CTO和华为官方合作共建的鸿蒙技术社区
https://ost.51cto.com/#bkwz
::: hljs-center
文章图片
:::
推荐阅读
- 一文搞懂决策树! #51CTO博主之星评选#
- Docker容器实战二(功能组件)
- Terraform系列二腾讯云CVM进一步相关玩法
- mysql备份与恢复
- DIG命令
- 云服务器
- php-fpm占用cpu和内存过高100% 解决办法
- Java代码审计之RCE远程命令执行
- 使用ntlite自定义win10系统