当前位置: 首页 > 科技观察

OpenHarmony啃论文成长计划--分布式软总线通信零基础解读(引言)

时间:2023-03-15 21:09:20 科技观察

更多内容请访问:鸿蒙技术社区,与华为官方共建https:///ost.51cto.com我们来自OpenHarmony开发者成长计划:精品论文团队,我们在教练欧建深的带领下啃论文。我们是TCCS团队,都是为了TheChildCollectingShells。“我不知道在世人眼里我是什么样子,对我来说,我就像一个在海边玩耍的男孩,偶尔寻找一块光滑的鹅卵石或更漂亮的贝壳来取悦自己,真相大海就在我面前,未被发现。”-牛顿。我们来自三所大学:赵坤——安阳工学院。ZhangJunhao–长江大学,junhao_zhang00@foxmail.com。王玲——黔南科技大学。本介绍的主要作者是张俊豪。虽然我什么都不懂,但我想即使你是一个什么都不懂的新手,我们还是希望你通过我们的系列文章来了解分布式软总线通信。不仅要大震撼,还要理解,理解,大震撼,是我的追求。一、分布式软总线概述1.1什么是总线?总线(Bus)是计算机各功能部件之间传递信息的公共通信干线。它是由电线组成的传输线束。总线可分为数据总线、地址总线和控制总线,分别用于传输数据、数据地址和控制信号。总线是一种内部结构,是cpu、内存、输入输出设备传递信息的公共通道。主机的各个部件通过总线连接,外部设备通过相应的接口电路连接到总线上,从而构成计算机硬件。系统。在计算机系统中,各部件之间传递信息的公共通道称为总线,微型计算机采用总线结构连接各功能部件。用人类的话来说,或者举个栗子,把公共汽车比作一条单车道的乡间小路。这条路旁边有很多房子,每家门口都有一条小路与这条路相连。分时和共享是总线的两个特点。分时是指同一时间只允许一个组件向总线发送信息,共享是指总线上可以连接多个组件。线路是分时的,多个组件可以同时从总线上接收到相同的信息。应用我们的示例,公交车道路是单车道的,因此一次只能行驶一辆车。如果同时有两辆车,就会发生冲突。这就是分时。每家每户都有一条小路与马路相连,因此每家每户都可以在这条路上开车,每两户人家可以在路上没有人的时候开到另一户人家聊天。他们还可以在车内安装一个扬声器,传达他们想说的八卦,而别人保密。路上的每一个人,这就是分时。1.2什么是分布式软总线分布式软总线技术是基于华为多年通信技术积累,参考计算机硬件总线,在1+8+N(1-手机,8-汽车/音箱/耳机/手表/)设备在它们之间构建一条“隐形”总线,具有自我发现、自组织网络、高带宽、低延迟等特点。全场景设备可以基于软总线完成设备虚拟化、跨设备服务调用、多屏协同、文件共享等分布式服务。再借用上面的例子,你们村原本因交通不畅,不对外开放。想聊聊天最多也只能找隔壁的翠花或者村头的王阿姨了。水桥一夜之间将所有的村庄连接在一处。不知不觉,有人告诉你隔壁村的桂花更美。突然间,你发现世界多了色彩。这是自我发现和自我组织的网络,所以有一天你决定出去看看隔壁村的桂花。你发现这条路真的修得很好,又宽又好,车多了也能跑得快。这是高路。带宽低,延迟低。走着走着,你会发现有一个美丽的地方,每天都有桂花跳广场舞。跳广场舞一定很好,所以你以后会来这里跳广场舞,虽然你不知道这个地方叫什么名字,这就是设备虚拟化。终于有一天,你娶了邻村的桂花。她从隔壁村嫁到你村来伺候你。这是跨设备服务调用。婚礼那天,你在隔壁村雇了一支乐队,我请了隔壁村的厨子,还有外村的东道主,为你办了这场婚礼。这就是多屏协同。1.3分布式软总线架构通过协议架和软硬协同层屏蔽了各种设备的协议差异。总线中心模块负责解析命令完成设备间的发现和连接,并通过任务和数据两条总线实现设备间的文件传输和消息传输等功能。用人的话来说,比如古代的皇帝,爱上了邻国的公主,想娶她为妻交朋友,但又不好意思说出来,就让部下公车部长想揣摩你的心思。公交中心就像中心的部长。它负责分析你皇帝的命令。了解自己的意图后,开始寻找邻国的公主(装置发现),找到后开始联系威胁邻国。国王(装备连线),终于屈服了,决定把公主嫁给你。装备ABCD就好比各种交通工具(马车、轮船等)海军、陆军),通过圣旨(命令)让不同的军队(不同的协议)完成统一的任务(协议货架),以及然后各路军队配合自己擅长的交通工具(软硬协同)护送公主,终于实现了你下达的命令,但是因为你很急躁,路途很远,所以士兵们一路上负责告诉你公主在哪里(数据总线实现消息传递),另一边的士兵和马车慢慢过来。运送公主(任务巴士可以传输文件),让您始终知道公主在哪里。把具体的字符代入上图,你应该能大致理解这张图的内容。分布式总线的总体目标是实现设备间的无感发现和零等待传输。要实现这个目标,需要解决三个问题:1.3.1设备之间的发现和连接已经从人工发现发展到自我发现。比如手机上有很多照片需要上传到个人PC。我们可以使用蓝牙传输。首先,打开手机和PC的蓝牙发现功能。在手机或PC上点击搜索设备,然后相互配对授权即可连接。连接成功后就可以发送照片了。分享照片的场景有很多人为动作:开启蓝牙发现功能、搜索设备、授权配对。这确实有点麻烦,需要很多时间,而且可能会降低分享的意愿。Softbus提出了自动发现的概念,实现用户零等待的自我发现体验,自动发现附近同账号的设备,无需等待。通过我们对分布式软总线的初步探索,自我发现的实现依赖于设备虚拟化、普适计算等技术,下一篇我们将通过大佬们的学术论文来解读设备虚拟化。希望还是能举出生动的例子,欢迎大家多多指教~1.3.2组网技术多设备互联后的软总线组网——异构网络组网。在上面的例子中,手机通过蓝牙传输照片。如果PC没有蓝牙,只有WIFI,传统场景下可能无法实现共享和传输。因为不同的网络方式是孤立的,就像一个说广东话的人和一个说武汉话的人很难有效沟通一样,因为这是两套方言,也就是两种沟通方式,所以我们要解决众多异构网络之间的组网问题。Softbus提出的异构网络组网可以很好地解决设备间不同协议之间的交互问题。会武汉话的人都能听懂,解决了手机通过蓝牙传输,PC通过WIFI接收照片的问题。解决方案如下图所示。设备上线后,会向网络层注册,同时网络层会与设备建立通道连接,实时检测设备的变化。网络层负责管理设备的在线和离线转换。设备可以监控自己感兴趣的设备,设备上线后,可以立即与其建立连接,实现零等待体验。也就是说,你可以理解为有管家一直在看,如果有设备在线,马上连接,不再需要你手动连接。软总线可以为用户或业务发展自动构建逻辑上的全连接网络。用户无需关心组网方式和物理协议。对于软件开发商来说,软总线异构组网可以大大降低他们的开发成本。传统开发模式:在传统开发模式中,开发者需要适应不同的网络协议和标准规范。分布式开发模式:在HarmonyOS分布式开发模式下,开发不再需要关心网络协议差异。业务开发和设备联网是解耦的。企业只需监控设备上线下线,大大降低开发成本。发现和联网完成后,我们还将解读这方面的相关技术和论文。欢迎大家继续关注~1.3.3多设备多协议间传输技术。传统协议的传输速率差别很大,时延很大。也很难保证。因此,软总线传输要达到的目标是:高带宽(HighSpeed)、低延迟(LowLatency)、高可靠性(HighReliability)。软总线想要达到的这三个目标的利器就是:极简协议。极简协议将中间四层协议栈简化为一层提高载荷,有效传输带宽提高20%,在传统网络协议基础上增强:流式传输:基于UDP的数据排序保存和可靠传输。两轮驱动:颠覆传统的TCPper-packet确认机制。不怕丢包:摒弃传统的滑动窗口机制,快速丢包恢复,避免拥塞。不怕抖动:智能感知网络变化,自适应流量控制和拥塞控制。如果想了解这方面的协议,可能需要计算机网络的预科知识,什么?没时间不想学?那我们就跟前车一样,尽量给大家讲解!本文参考了鸿蒙官方文档和百度百科。是对它的进一步理解和翻译。ps:我们也是初学者,这只是我个人的理解,可能会有错误和不准确的地方!更多信息请访问:与华为官方共建的鸿蒙技术社区https://ost.51cto.com