HDC2021技术分论坛:盘点分布式软总线数据传输技术中的黑科技
作者:houweibo,软总线首席技术专家;lidonghua,软总线技术专家
随着万物互联时代的到来,特别是大量媒体资源的涌入和使用,用户对传输的要求不断提高,怎样的传输技术才能满足未来的用户需求呢?
在万物互联、多设备协同的新场景下,业界通用的OSI模型在满足用户对传输的高要求方面显得力有未逮。寻求一种极致的传输技术势在必行,这也成为分布式软总线的一项重要任务。
下面让我们先从“超级终端”新场景视角分析OSI模型,然后一一介绍分布式软总线的数据传输技术中的黑科技。
一、“超级终端”新场景视角看OSI模型
开放系统互联通信参考模型(Open System Interconnection Reference Model,简称OSI模型)是一个试图使世界范围各种计算机互联为网络的标准框架。OSI模型并没有提供一个可以实现的方法,而是描述了一些概念,用来协调进程间通信标准的制定。这一模型定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层)。通常也将会话层、表示层和应用层合并为一层,统称为应用层。
OSI模型适用于将不同型号的计算机互连成一个单一的网络,它极大地推动了网络标准化的进程。然而随着鸿蒙生态的急速拓展,越来越多不同类型设备连接在一起形成“超级终端”, OSI模型已无法支持这样新场景下的数据传输要求。
比如生活中,我们经常看到Wi-Fi版本标称最大可达几百至上千兆带宽,这么高的带宽真的是用户实际使用带宽吗?事实上,Wi-Fi的最大带宽和用户使用带宽是两回事,这其中也隐含着以OSI为原型的网络模型的些许不足之处。
图1 超级终端新场景下OSI模型
在应用层,设备接入数量、接入信道以及信号强度和干扰等均会影响传输效率。在应用层以下,各层协议数据存在大量数据开销,同时MAC报文传输过程耗时也较大。在物理层,器件规格和协议规格也直接影响着带宽的理论上限。这些问题从本质上是没有对时间和空间资源进行高效利用,没有发挥资源的最大化使用价值。如何解决现有模型的不足之处,实现时间和空间等资源的最大化利用,成为新一代数据传输技术的重要突破点。
二、分布式软总线数据传输技术中的黑科技
与传统P2P(point-to-point,点对点)传输有着较大不同,多设备场景下资源可调度、可利用空间更加广阔。朝着“超级终端”多设备资源最大化利用的目标,分布式软总线数据传输技术推出了三项黑科技,铸造极致的传输能力和体验。
1. 多径传输技术(Multi-Path Transport)
近年来,高清音视频、动画等多媒体资源日益增长,实现通用高效率文件传输成为一项极其重要的需求。然而传统的文件传输,往往依赖一条链路直接进行传输。文件的传输效率完全依赖链路本身的传输能力,鲁棒性和传输效率均不足。
为了适应新互联时代的需求,实现高效率文件传输,分布式软总线多径传输技术应运而生。多径传输技术基本思路是最大化利用不同路径的传输能力,原本一条链路上的文件传输,通过文件分割,将分割后的文件不同部分从多条路径进行传输,最终在目标侧聚合成原有文件。通过智能均衡不同链路的传输负载,实现了对文件的分割和传输,能力强的链路多分些文件占比,能力弱的少分些文件占比,甚至可以不分。这样就实现了文件的高效快速传输,给用户带来不一样的快速传输体验。
图2 多路径传输文件
2. 智能时延控制技术(Intelligent Latency Control)
在网络传输过程中,很大一块开销是序列化和协议编码占据的。进一步优化这部分开销,对传输时延和空间资源有着重要意义。智能时延控制技术正是通过智能序列化技术和极简传输协议两项重要子技术,实现了序列化和协议编码的极大压缩。
(1)智能序列化技术(Intelligent Serialization)
在RPC(remote procedure call,远程过程调用)通信流程中,百KB级别的RPC消息序列化需要计算侧耗时4~5ms,网络侧耗时约10~15ms,系统加速比低,严重影响了系统的运行性能。
智能序列化技术通过对计算侧、网络侧和能耗侧进行综合建模,通过最优化方法和智能决策策略实现了智能的序列化方案,使计算侧和网络侧总时延降至8ms,缩减60%+。
图3 智能序列化技术
(2)极简传输协议(Minimalist Transport Protocol)
随着文件及流媒体文件对传输效率和速度提出更高的要求,用户对全场景传输效率的需求进一步提升,正是为了适应这样的新要求,极简传输协议应运而生。
极简传输协议,将OSI模型中表示层、会话层、传输层和网络层协议栈精简为一层,通过报文简化、包头简化、交互简化,场景感知的缓冲机制等方式,提升有效的传输荷载、突破 TCP/IP 协议的传输限制,带来了传输效率与速度的跨越式提升,是分布式软总线的核心技术之一。相较传统协议,时延缩减70%+。
图4 极简传输协议
3. 高效动态资源调度技术(Dynamic Resource Scheduling)
多设备协同场景下,设备间竞争、干扰和冲突避让等机制严重限制了空口的原有能力,带宽急剧降低,同时时延不可预期。就这个问题,软总线团队在多设备场景上长期深耕,推出了高效动态资源调度技术。
图5 多设备协同场景
高效动态资源调度技术,包括以下三项子技术:
(1)秩序化组网技术
秩序化组网,顾名思义,这是一种确定性网络技术。秩序化组网技术通过秩序化自组织网络的秩序化特性,将原本“无序”的网络变得“有序”,通过有序可控的调度实现空口资源最优化利用,从而带来空口利用率的极大提升,实现了空口资源利用的最优调度策略。
(2)“超级终端”拓扑数传技术
用户看到某个设备便可以操控和使用它(“所见即所用”)一直是用户的深层渴望。受传统的P2P角色限制,物联网设备间并不能实现真正意义的“所见即所用”,这极大限制了资源的利用,严重影响了互联背景下的用户体验。
“超级终端”拓扑数传技术,通过建立HML私有协议,使超级终端内部设备都成为可支配的计算和传输资源,实现了“所见即所用”模式。设备之间的隔阂渐趋消失,满足了用户对设备使用体验的深层渴望。
(3)“超级终端”智能调度技术
超级终端内不同设备的通信和计算能力不同,如何合理配置这些资源,实现“能者多劳”和发挥“一技之长”。让通信能力强的资源用在通信上,计算能力强或专业计算的资源帮助计算劣势的资源完成复杂高负荷的计算,成为调度技术的主要关注问题。
在秩序化组网的有序性基础上,“超级终端”智能调度技术,通过软件SDK和CPU的智能调度策略和算法,实现了传输和计算资源的合理分配,最大发挥“能力强”和“专业硬”的设备通信和计算能力。
三、总结与展望
在万物互联时代,如何极致化利用资源,最大化发挥资源能力和价值,一直是分布式软总线数据传输技术的探索思路和目标。未来数据传输技术还会持续挖掘新场景下更加高效快速、更加可靠的传输能力,持续为超级终端、为物联网世界注入更强大的传输技术和能力。
HDC2021技术分论坛:盘点分布式软总线数据传输技术中的黑科技的更多相关文章
- HDC2021技术分论坛:异构组网如何解决共享资源冲突?
作者:lijie,HarmonyOS软总线领域专家 相信大家对HarmonyOS的"超级终端"比较熟悉了.那么,您知道超级终端场景下的多种设备在不同环境下是如何组成一个网络的吗?这 ...
- HDC2021技术分论坛:“积木拼装”,HarmonyOS弹性部署大揭秘!
作者:peitaiyi,华为终端OS产品交付专家 HarmonyOS是一款面向万物互联时代的.全新的分布式操作系统.在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力.适配多种终 ...
- 深度解读设备的“万能语言”HarmonyOS的分布式软总线能力
摘要:本文分享鸿蒙分布式软总线,并对相关源代码进行解析,为在鸿蒙系统平台上工作的相关人员的信息参考和指导. 总线是一种内部结构,在计算机系统中,主机的各个部件通过总线相连,外部设备通过相应的接口电路再 ...
- HDC2021技术分论坛:组件通信、硬件池化,这些创新技术你get了吗?
作者:ligang 华为分布式硬件技术专家,sunbinxin 华为应用框架技术专家 HarmonyOS是一款全新的分布式操作系统,为开发者提供了元能力框架.事件通知.分布式硬件等分布式技术,使能开发 ...
- Solon2 分布式事件总线的技术价值?
分布式事件总线在分布式开发(或微服务开发)时,是极为重要的架构手段.它可以分解响应时长,可以削峰,可以做最终一致性的分布式事务,可以做业务水平扩展. 1.分解响应时长 比如我们的一个接口处理分为四段代 ...
- HDC2021技术分论坛:如何高效完成HarmonyOS分布式应用测试?
作者:liuxun,HarmonyOS测试架构师 HarmonyOS是新一代的智能终端操作系统,给开发者提供了设备发现.设备连接.跨设备调用等丰富的分布式API.随着越来越多的开发者投入到Harmon ...
- HDC2021技术分论坛:进程崩溃/应用卡死,故障频频怎么办?
作者:jiwenqiang,DFX技术专家 提到开发一个产品,我们通常首先想到的是要实现什么样的功能,但是除了功能之外,非功能属性也会很大程度上影响一个产品的体验效果,比如不定时出现的应用卡死.崩溃 ...
- HDC技术分论坛:HarmonyOS新一代UI框架的全面解读
作者:yuzhiqiang,UI编程框架首席技术专家 在Harmony 3.0.0开发者预览版中,包含了新一代的声明式UI框架ArkUI 3.0.多语言跨平台编译器ArkCompiler 3.0.跨端 ...
- web服务器架构演化及所其技术知识体系(分布式的由来)
文章标题是我自己取的,内容来着百度百科k5665219的一篇回答,觉得讲的很不错就转载过来了. 最开始,由于某些想法,于是在互联网上搭建了一个网站,这个时候甚至有可能主机都是租借的,但由于这篇文章我们 ...
- 分布式消息总线,基于.NET Socket Tcp的发布-订阅框架之离线支持,附代码下载
一.分布式消息总线以及基于Socket的实现 在前面的分享一个分布式消息总线,基于.NET Socket Tcp的发布-订阅框架,附代码下载一文之中给大家分享和介绍了一个极其简单也非常容易上的基于.N ...
随机推荐
- 【Azure 媒体服务】AMS的Manifest文件中SmoothStreamingMedia片段中<c t="6161940" d="749970" r="2" n="0" />, c, t, d, r, n 的解析
问题描述 在Azure媒体服务(AMS: Azure Media Service)中,不管是点播,直播都需要下载manifest文件.而文件中有一段[<c t="6161940&quo ...
- 【Azure 应用服务】App Service 部署txt静态文件和Jar包在不同目录中的解决办法
问题描述 在Web App wwwroot (Windows系统中)根目录下如何部署一个jar包和一个text文件,让两个文件都能被访问? 解决办法 Jar包和Text文件都分别放置在两个单独的文件夹 ...
- Java 面向对象的特征一: * 封装与隐藏
1 * @ 面向对象的特征一: 2 * 封装与隐藏 3 * 创建一个类的对象以后,我们可以通过"对象.属性"的方式,对 4 * 对象的属性进行赋值,这里,赋值操作要受到属性的数据类 ...
- 一文搞懂如何自己写一个Python库
一文搞懂如何自己写一个Python库 你是否曾想过为自己的Python项目编写一个库,以便在不同项目中重复使用代码? 并且能在PyPI仓库中发布,并通过pip install 库名来安装使用 编写Py ...
- C语言之兔子生产问题
/#include <stdio.h> main() { long fib1 = 1, fib2 = 1, fib;//定义长整型变量,fib1表示当前前一个月的兔子数,fib2表示当前前 ...
- Go语言VSCode开发环境配置
最近学习Golang,先把开发环境配置好. 一.安装Go语言开发包 https://golang.google.cn/dl/ 按步骤安装即可,安装完成后需要设置Windows环境变量 配置好,做个测试 ...
- 新增、修改校验逻辑使用-Validation-的group分组校验完成-2022新项目
一.业务场景 一般在项目开发中少不了新增.修改操作,这两个操作中传递的参数中也仅仅只有一个参数是不一致的,新增操作时没有ID, 修改时有ID,其校验逻辑也只有这一个ID校验的差别.最开始自己在写代码时 ...
- USB数据传输与手机授权:充电宝常规使用不需要授权
概述 此篇为解答充电宝骗局问题,骗局概述:两个人做局,以充测试充电宝是否损坏为由,插到受骗者手机上,受骗者允许了手机弹出的授权请求后,偷偷将病毒注入手机. Q:什么情况下手机会弹出授权? A:手机用数 ...
- Obsidian 0.15.9 知识笔记 使用说明
我感觉这个软件是一个非常好用的软件,经过初步体验. 全局搜索快捷键 Ctrl + Shift + F 打开快速切换快捷键 Ctrl + O 添加标签 #测试标签 反向链接 Obsidian支持反向链接 ...
- 手把手的使用Toolkit插件在诗情画意中完成AI诗朗诵
本文分享自华为云社区<[云驻共创]手把手的使用Toolkit插件在诗情画意中完成AI诗朗诵>,作者: 红目香薰. 云原生时代,开发者们的编程方式.编程习惯都发生了天翻地覆的变化,大家逐渐地 ...