鸿蒙学习自由流转与分布式运行环境-价值与架构定义(1)

文章目录

    • 价值与架构定义
      • 1、价值
      • 2、架构定义

随着个人设备数量越来越多,跨多个设备间的交互将成为常态。基于传统 OS 开发跨设备交互的应用程序时,需要解决设备发现、设备认证、设备连接、数据同步等技术难题,不但开发成本高,还存在安全隐私、兼容性、性能等诸多问题。为了适应万物互联时代的环境变化,鸿蒙系统构建了基于分布式运行环境所需要的基础设施,为开发者提供了基础的分布式框架能力,使开发者可以更方便的实现跨设备的业务开发,向用户提供多设备的交互体验。

基于人机交互研究发现,多设备的交互场景按照时间的串、并行,分为以下两种类型:
串行交互: 指用户相继使用多个设备。此类交互场景要求具备较高的连续性、一致性。
 连续性: 当用户从一个设备转向另外一个设备的时候,最新的操作状态应当是继续保留的、未被中断的。
 一致性: 当用户在使用手表、手机、大屏等不同设备时,交互方式与基础视觉元素应当是一致的,例如多指手势,控件样式等。这里的“一致”并不等于与“相同”,由于设备的屏幕尺寸、形态的不同,视觉元素可以进行适配调整。
并行交互: 指用户同时使用多个设备。此类交互场景要求具备较高的协作性、互补性。
 协作性: 多个设备彼此交互协调,完成一项任务。
 互补性: 利用设备的本身形态差异,完成一项任务。例如,当用户在家里找不到电视遥控器的时候,手机可以变身为遥控器,这就是一种设备能力的互补。
对于并行交互与串行交互两种典型场景,鸿蒙系统分布式运行环境分别提供了与之对应的基础能力,即跨端迁移和多端协同,两者统称为“自由流转”。
在这里插入图片描述

价值与架构定义

1、价值

自由流转的价值体现在以下几个方面:
 自由流转提供了应用跨设备流转的能力。 应用开发只需遵循框架并适配指定的 API,就能实现设备之间的跨端迁移和多端协同。
 自由流转框架实现了流转过程,包括流转任务发布、应用免安装、数据序列化、兼容性判断等。 应用开发只需关注在业务数据本身的同步与恢复,简化了应用的处理逻辑,降低了应用开发跨端特性的复杂度。
 自由流转将彻底改变应用分发模式。 鸿蒙生态应用不再与传统应用那样,只能局限在单一设备上。

2、架构定义

自由流转依赖于鸿蒙系统提供的分布式运行环境,该环境从下而上可以分为四层:
1、核心基础服务: 为提供自由流转设备互联的核心基础服务,主要包括如下模块。
 设备管理服务 : 提供设备管理相关的能力。设备管理服务在系统中的定位是提供应用开发接口的核心服务实现。
 分布式软总线: 主要提供基于近场通信技术的通信网络,实现分布式设备之间的有序通信,使得设备之间的传输变得安全可靠、通信 QoS(Quality of Service)可管理、业务质量可预期。
 设备画像(Device Profile): 是设备硬件能力和系统软件特征的管理器。典型的设备 Profile 信息包括设备类型、设备名称、存储容量、是折叠屏、有无屏幕、分辨率、设备安全等级、设备 OS 类型、OS 版本号等。设备画像可用于支持智能决策服务进行设备筛选、排序,也可用于支持设备信息的查询。
 智能决策服务: 提供智能化的设备筛选能力、设备排序能力。设备筛选能力主要的数据来源基于设备画像。
 HiChain: 是设备互信认证部件,提供了设备间互信关系建立、管理、认证、解除的全生命周期管理能力,支撑设备间搭建安全的数据传输通道,是鸿蒙系统设备分布式可信互联的安全基础能力。
 身份认证服务: 提供端侧统一的用户身份管理、身份认证和访问控制判断能力。支持多用户操作系统,支持多种用户身份认证方式(包含 PIN、指纹、人脸等)。
2、分布式平台服务: 负责拉通多个物理设备上的运行状态,同时提供跨设备间的资源访问和控制能力。
3、 核心业务框架: 对分布式平台服务层和核心基础服务层所提供能力进行调用,完成相应的业务功能,给应用提供更简单友好的使用接口。
4、开发接口层: 所有的应用通过这一层来使用系统提供的能力。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/60902.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web day03 Maven基础 Junit

目录 Maven坐标: 依赖排除: 依赖范围: Maven生命周期: 单元测试: Junit入门: 断言: Junit中的常见注解: 概念:Maven 是一款用于管理和构建 Java项目的工具&#…

docker部署单机版doris

文章目录 前言一、系统环境简介二、部署要求三、部署安装1、基础设置2、下载镜像3、下载安装包4、启动镜像环境5、配置fe6、配置be 总结 前言 应项目测试需求,需使用docker部署单机版doris。 一、系统环境简介 #1 系统信息 [roottest][~] $cat /etc/redhat-relea…

WPF ItemsControl控件

ItemsControl 是 WPF 中一个非常灵活的控件,用于显示一组数据项。它是一个基类,许多其他控件(如 ListBox, ListView, ComboBox 等)都是从 ItemsControl 继承而来。ItemsControl 的主要特点是它可以自定义数据项的显示方式&#xf…

【漏洞复现】CVE-2020-13925

漏洞信息 NVD - CVE-2020-13925 Similar to CVE-2020-1956, Kylin has one more restful API which concatenates the API inputs into OS commands and then executes them on the server; while the reported API misses necessary input validation, which causes the hac…

Linux:文件管理(一)——文件描述符fd

目录 一、文件基础认识 二、C语言操作文件的接口 1.> 和 >> 2.理解“当前路径” 三、相关系统调用 1.open 2.文件描述符 3.一切皆文件 4.再次理解重定向 一、文件基础认识 文件 内容 属性。换句话说,如果在电脑上新建了一个空白文档&#xff0…

责任链模式在spring security过滤器链中的应用

责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它允许多个对象按照顺序处理请求,并且每个对象可以选择自己是否处理该请求或将其传递给下一个对象。 在Spring Security中,责任链模式得到了广泛应…

mac上的建议xftp 工具

mac上的建议xftp 工具 最近使用mac比较频繁了,但是第一次重度使用mac里面有很多的工具都是新的,有的window版本的工具无法使用。 xftp 的平替 Cyberduck 从它的官网上下载是免费的,但是如果使用 Apple store 要花费198呢。这不就剩下一大笔…

异步编程中,为什么必须将conn放到后台连接

tokio::spawn(async move {if let Err(err) conn.await {let err_msg format!("Connection failed: {:?}", err);dbg!(err_msg);}});为什么不能是 if let Err(err) conn.await {let err_msg format!("Connection failed: {:?}", err);dbg!(err_msg);…

IC数字后端实现之大厂IC笔试真题(经典时序计算和时序分析题)

今天小编给大家分享下每年IC秋招春招必考题目——静态时序分析时序分析题。 数字IC后端笔试面试题库 | 经典时序Timing计算题 时序分析题1: 给定如下图所示的timing report,请回答一下几个问题。 1)这是一条setup还是hold的timing report?…

警钟长鸣,防微杜渐,遨游防爆手机如何护航安全生产?

近年来,携非防爆手机进入危险作业区引发爆炸的新闻屡见报端。2019年山西某化工公司火灾,2018年延安某煤业瓦斯爆炸,均因工人未用防爆手机产生静电打火引发。涉爆行业领域企业量大面广,相当一部分企业作业场所人员密集,…

MySQL 与 MongoDB 存储差异分析

MySQL 与 MongoDB 存储差异分析:为什么随机生成数据的存储空间不同? 在实际应用中,我们常常需要选择合适的数据库系统来处理不同类型的数据。在这个过程中,数据库的 存储机制 和 性能优化 起着至关重要的作用。对于很多开发者来说…

nginx和netcore加载常见的3D模型

背景 数字孪生带火了3D版的Web世界,3D模型格式也是众多,常见的glb适合web传输,fbx,gltf,obj,unity等常用于模型编辑和处理。我们在用netcore或者wasm加载这些3D模型文件时,一般都需要手工增加M…

mac 安装node提示 nvm install v14.21.3 failed可能存在问题

如果你在 macOS 上使用 nvm(Node Version Manager)安装 Node.js 版本 v14.21.3 时遇到安装失败的问题,可以按照以下步骤进行排查和解决: 1. 确认 nvm 安装是否正确 首先,确认你的 nvm 是否正确安装,并且能…

Mongo数据库 --- Mongo Pipeline

Mongo数据库 --- Mongo Pipeline 什么是Mongo PipelineMongo Pipeline常用的几个StageExplanation with example:MongoDB $matchMongoDB $projectMongoDB $groupMongoDB $unwindMongoDB $countMongoDB $addFields Some Query Examples在C#中使用Aggreagtion Pipeline**方法一: …

银行卡 OCR 识别 API 接口的发展前景

随着智能手机的广泛普及以及互联网的迅猛发展,“互联网 ” 时代的移动支付已然开启了智慧生活的崭新蓝图。移动支付要求进行实名认证并绑定银行卡,然而传统的手工输入银行卡号不但速度缓慢、容易出错,还极大地降低了用户体验。银行卡 OCR 识别…

华为OD机试真题---智能驾驶

华为OD机试中的“智能驾驶”题目是一道涉及广度优先搜索(BFS)算法运用的题目。以下是对该题目的详细解析: 一、题目描述 有一辆汽车需要从m * n的地图的左上角(起点)开往地图的右下角(终点)&a…

Redis与MySQL如何保证数据一致性

Redis与MySQL如何保证数据一致性 简单来说 该场景主要发生在读写并发进行时,才会发生数据不一致。 主要流程就是要么先操作缓存,要么先操作Redis,操作也分修改和删除。 一般修改要执行一系列业务代码,所以一般直接删除成本较低…

Linux宝塔部署wordpress网站更换服务器IP后无法访问管理后台和打开网站页面显示错乱

一、背景: wordpress网站搬家,更换服务器IP后,如果没有域名时,使用服务器IP地址无法访问管理后台和打开网站页面显示错乱。 二、解决方法如下: 1.wordpress搬家后,在新服务器上,新建站点时&am…

探秘嵌入式位运算:基础与高级技巧

目录 一、位运算基础知识 1.1. 位运算符 1.1.1. 与运算(&) 1.1.2. 或运算(|) 1.1.3. 异或运算(^) 1.1.4. 取反运算(~) 1.1.5. 双重按位取反运算符(~~&#xf…

MySQL底层概述—3.InnoDB线程模型

大纲 1.InnoDB的线程模型 2.IO Thread 3.Purge Thread 4.Page Cleaner Thread 5.Master Thread 1.InnoDB的线程模型 InnoDB存储引擎是多线程的模型,因此其后台有多个不同的后台线程,负责处理不同的任务。 后台线程的作用一:负责刷新内存…