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 ...
随机推荐
- noip模拟11
T1 math 就挺水一小破题目,第一眼看好像不可做,看着看着突然发现假设x和y的最大公约数是gcd,那么kx%y一定是gcd的倍数, 然后想到可以把所有数字与k的gcd求出来,打一个完全背包,可是仔 ...
- C++ Boost signal2信号/插槽
#include "stdafx.h" #include "boost/signals2.hpp" #include "boost/bind.hpp& ...
- 万维网www与HTTP协议
文章转自:https://blog.csdn.net/weixin_43914604/article/details/105901440 学习课程:<2019王道考研计算机网络> 学习目的 ...
- 电脑cmd命令快速查看连接过的WIFI密码信息
只是突然发现,好奇心作怪,试了一下,妈妈再也不用担心我忘记家里的wifi密码了 1.直接打开"运行"(win键+R) 2.输入CMD 确定 3.输入下面cmd命令.鼠标粘贴 for ...
- Vue:Vue的介绍以及组件剖析
介绍 现在,随着基于JavaScript的单页应用程序(SPA)和服务器端渲染(SSR)的兴起,可以用JavaScript编写整个前端应用程序,并整洁地管理和维护该应用程序的前端代码.诸如Angula ...
- dotnet OpenXML 转换 PathFillModeValues 为颜色特效
在 OpenXml 预设形状,有一些形状设置了 PathFillModeValues 枚举,此枚举提供了亮暗的蒙层特效.具体的特效是让形状选择一个画刷,在画刷上加上特效.如立体几何 Cube 形状,在 ...
- 利用Wireshark 解密HTTPS流量
在我之前的一篇文章中已经介绍了一种解密HTTPS流量的一种方法,大致方法就是客户端手动信任中间人,然后中间人重新封包SSL流量. 文章地址: http://professor.blog.51cto.c ...
- vue配置请求拦截器和响应拦截器
首先确保我们已经设置的store.js进行值的存取,这时候我们需要配置请求和响应的拦截器设置 main.js import Vue from 'vue' import App from './App' ...
- python一对一教程:Computational Problems for Physics chapter 1-B Code Listings 1.7 - 1.12
作者自我介绍:大爽歌, b站小UP主 ,直播编程+红警三 ,python1对1辅导老师 . 本博客为一对一辅导学生python代码的教案, 获得学生允许公开. 具体辅导内容为<Computati ...
- C#-WPF数据绑定基础(一)
前言:WPF数据绑定技术有效的提高了程序的容错率,可以最大程度的保持程序的健壮性,从而降低程序在使用过程中崩掉的可能性. 接下来,我将分享一下我在写测量程序过程中所用到的数据绑定方面的知识 首先,我所 ...