HDC2021技术分论坛:异构组网如何解决共享资源冲突?
作者:lijie,HarmonyOS软总线领域专家
相信大家对HarmonyOS的“超级终端”比较熟悉了。那么,您知道超级终端场景下的多种设备在不同环境下是如何组成一个网络的吗?这些设备之间又是如何解决共享资源冲突的?本期我们就来为您揭晓~
一、分布式业务的通信挑战
分布式业务的通信主要面临两大挑战:
1. 分布式设备通信的异构情况导致了体验的瓶颈
基于1+8+N设备的六大智慧场景(智慧家居、智慧出行、智慧办公、影音娱乐、运动健康、教育关怀),不同场景下设备种类、数量和能力等差异非常大。即使是同类设备,其硬件能力也不同。总结来说,分布式设备存在介质、协议、芯片、环境和场景5个方面的异构,如图1所示。

图1 五个异构
- 介质和协议异构:传输介质包括蓝牙、Wi-Fi和PLC等不同类型。而同一类型的传输介质也有区别,比如Wi-Fi分为2.4G和5G两个频段。此外,还存在协议的差异,比如Wi-Fi有802.11 a/b/g/n/ac/ax等代际差异。
- 芯片异构:通信芯片硬件有连接能力、天线、调制解调方式等差异。
- 环境异构:不同的环境,差异非常大。比如家庭环境下,卧室使用客厅的Wi-Fi,信号需要穿墙;微波炉等设备带来电磁干扰;邻居家Wi-Fi设备带来邻频干扰等等。
- 场景异构:业务的使用场景千差万别,比如影音娱乐、运动出行、办公商务、教育等,它们的主要业务模型差异很大,对通信能力的诉求也不同。
上面这些异构,造成业务并发冲突高、互通兼容性问题多、传输可靠性难以保障等问题。
2. 传统的软件方案造成通信资源与业务应用耦合
传统的端端通信,孤立地使用硬件资源,没有考虑或者也无法感知存在多设备、多业务的竞争和冲突。进而,传统的操作系统在软件实现上将业务与连接直接绑定,应用视角即通信视角。因此在面临分布式业务时,就有了先天的缺陷,往往因为连接冲突而无法保障业务体验,先天限制了分布式业务场景的拓展,割裂了体验。
二、异构组网介绍
针对分布式业务面临的异构的现状,分布式软总线提出了异构组网,目的是在诸多异构的情况下建立统一的管理体系,以便即使在诸多不确定性因素的影响下,也能给分布式业务提供确定性的通信保障。

图2 异构组网
分布式软总线基于各种物理介质的通信特点,以用户无感的方式使分布式设备之间相互发现并协商,创造出一个局域的端端横向网络(注:有大网的端云体系称为纵向网络),并通过合适的场景化的软件算法以极低的功耗保活网络。分布式软总线构建了这个横向网络之后,就能将诸多分布、孤立的设备组织起来,从系统底层将多设备抽象为一个设备。
然后,分布式软总线从局域空间内通信空口资源的维度,进行了重要的视角变换:所有的通信资源都归属于分布式软总线的网络,设备之间彼此共享这些通信资源。这样的一个视角转变,解耦了应用与通信连接的绑定关系,使得从软件角度去解决共享资源冲突的问题成为可能。而在软件的世界里,共享资源冲突的解决方式就有了太多的可行性的方案。
下面我们从三个方面更详细地介绍异构组网,看看异构组网具体是如何解决共享资源冲突问题的。
1. 通信资源抽象
在分布式设备间异构情况下,分布式软总线的组网模块构建了分布式业务的通信能力的管理面,统一管理异构通信资源。分布式软总线从资源的角度对通信进行统一的抽象,将每一个通信资源称为Lane,将一个分布式设备的资源合集称为LaneHub。超级终端的所有Lane形成一个共享资源池,由分布式软总线统一管理和调度。

图3 通信资源抽象
2. 感知与计算
分布式软总线对所有Lane进行信道级的质量监测,并通过软件算法将所有收集起来的情况进行分类,比如竞争集合、强干扰集合、背景噪音集合等。分布式软总线构建了一套组网智能测算体系,根据收集到的信息对信道进行评估。上层业务只需感知网络状态和调用传输API进行传输,无需关注底层细节,由分布式总线自动分配合理的空口资源(频率、信道等),保证全局最优。

图4 感知与计算
3. 调度与均衡
业务使用场景千差万别,可用带宽、信道负载、时延、传输异常等因素都会影响业务的用户体验。分布式软总线建立统一的调度框架,并对具体的业务种类进行传输建模。以投屏业务为例:我们对视频流业务,从内容质量、用户交互体验、用户观看体验三个方面进行建模,如图5所示。分布式软总线通过底层链路感知、时延感知、队列感知,联动业务进行码率、帧率、缓存帧的调整,实现0中断、0花屏、0卡顿的稳定可靠的业务体验。

图5 视频流业务建模
三、结束语
异构组网是一个不断演进、有生命力的网络,我们持续地增强网络感知能力,并对分布式业务进行精确化的调度,实现通信资源的合理使用,保障分布式业务体验,并提升负载能力。

图6 正向循环
更进一步,分布式软总线基于异构组网建立起了分布式软时钟体系。网络感知、软时钟、负载均衡以及调度交互,建立起良性的正向循环,不断提升业务体验!

扫码添加开发者小助手微信
获取更多HarmonyOS开发资源和开发者活动资讯
HDC2021技术分论坛:异构组网如何解决共享资源冲突?的更多相关文章
- HDC2021技术分论坛:如何高效完成HarmonyOS分布式应用测试?
作者:liuxun,HarmonyOS测试架构师 HarmonyOS是新一代的智能终端操作系统,给开发者提供了设备发现.设备连接.跨设备调用等丰富的分布式API.随着越来越多的开发者投入到Harmon ...
- HDC2021技术分论坛:进程崩溃/应用卡死,故障频频怎么办?
作者:jiwenqiang,DFX技术专家 提到开发一个产品,我们通常首先想到的是要实现什么样的功能,但是除了功能之外,非功能属性也会很大程度上影响一个产品的体验效果,比如不定时出现的应用卡死.崩溃 ...
- HDC2021技术分论坛:组件通信、硬件池化,这些创新技术你get了吗?
作者:ligang 华为分布式硬件技术专家,sunbinxin 华为应用框架技术专家 HarmonyOS是一款全新的分布式操作系统,为开发者提供了元能力框架.事件通知.分布式硬件等分布式技术,使能开发 ...
- HDC2021技术分论坛:“积木拼装”,HarmonyOS弹性部署大揭秘!
作者:peitaiyi,华为终端OS产品交付专家 HarmonyOS是一款面向万物互联时代的.全新的分布式操作系统.在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力.适配多种终 ...
- java解决共享资源竞争
由于多线程的实现,在运行一个程序的时候可能会有很多的线程在同时运行,但是线程的调度并不是可见的,所以不会知道一个线程什么时候在运行,比如说 你坐在桌子前手拿着叉子,正要去叉盘中的最后一片食物,当你的叉 ...
- HDC技术分论坛:HarmonyOS新一代UI框架的全面解读
作者:yuzhiqiang,UI编程框架首席技术专家 在Harmony 3.0.0开发者预览版中,包含了新一代的声明式UI框架ArkUI 3.0.多语言跨平台编译器ArkCompiler 3.0.跨端 ...
- PAT 甲级 1145 Hashing - Average Search Time (25 分)(读不懂题,也没听说过平方探测法解决哈希冲突。。。感觉题目也有点问题)
1145 Hashing - Average Search Time (25 分) The task of this problem is simple: insert a sequence of ...
- 【Android Developers Training】 90. 序言:解决云储存冲突
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- python中线程共享资源问题的解决
线程跟进程有些相似,有时被称作轻量级的进程,但不同的是,所有的线程运行在同一个进程中,共享相同的运行坏境. 进程和线程都是实现多任务的一种方式,例如:在同一台计算机上能同时运行多个QQ(进程),一个Q ...
随机推荐
- Matlab+Qt开发笔记(一):matlab搭建Qt开发matlib环境以及Demo测试
前言 做一些数据处理软件,使用matlab文件,.mat文件. 准备条件 安装matlab2016,发现是vs 12(是vs2011版本),Qt5.9.3是支持vs 14(是vs2015版 ...
- 第09课 OpenGL 移动图像
3D空间中移动图像: 你想知道如何在3D空间中移动物体,你想知道如何在屏幕上绘制一个图像,而让图像的背景色变为透明,你希望有一个简单的动画.这一课将教会你所有的一切.前面的课程涵盖了基础的OpenGL ...
- SpringCloud微服务实战——搭建企业级开发框架(十三):OpenFeign+Ribbon实现高可用重试机制
Spring Cloud OpenFeign 默认是使用Ribbon实现负载均衡和重试机制的,虽然Feign有自己的重试机制,但该功能在Spring Cloud OpenFeign基本用不上,除非 ...
- linux 的 逻辑卷管理
lvm 逻辑卷管理器 关于逻辑卷管理lvm的一些操作 新建磁盘 sdcfdisk /dev/sdc 创建分区,更改分区id 为8e,改变分区类型为 lvm linux 创建物理卷与pv相关 pvcre ...
- WSL2学习和使用汇集
接触WSL2过程中整理沉淀的一些知识点,大纲如下,内容比较多,详细内容参考https://www.yuque.com/wushifengcn/kb/mbg1b5 欢迎感兴趣者补充和提出问题,共同学习. ...
- 电脑变WIFI:建立虚拟共享WIFI热点可查看WIFI密码windows中使用bat批处理命令提示符cmd创建教程含工具
台式机也可支持移动热点,Win10却提示"我们无法设置移动热点",今天我们就另辟蹊径来调教它. 建立和开启虚拟WIFI共享网络 Windows 7操作系统及以后支持承载网络,可 ...
- 数据库炸了----我就重启了一下啊(Communications link failure)
重启数据库后,数据库大部分时间连不上了:连续请求不会报错,请求间隔时间稍微长一点就会报错报错如图: com.mysql.cj.jdbc.exceptions.CommunicationsExcepti ...
- 利用Fastjson注入Spring内存马
此篇文章在于记录自己对spring内存马的实验研究 一.环境搭建 搭建漏洞环境,利用fastjson反序列化,通过JNDI下载恶意的class文件,触发恶意类的构造函数中代码,注入controller ...
- vivo统一告警平台设计与实践
一.背景 一套监控系统检测和告警是密不可分的,检测用来发现异常,告警用来将问题信息发送给相应的人.vivo监控系统1.0时代各个监控系统分别维护一套计算.存储.检测.告警收敛逻辑,这种架构下对底层数据 ...
- [bzoj3670]动物园
首先计算出s数组,s表示可以重复的前缀等于后缀的个数,显然有s[i]=s[next[i]]+1,因为有且仅有next的next满足这个条件. 然后直接暴力枚举所有next,直到它小于i的一半,这个时间 ...