当前位置: 首页 > article >正文

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

文章目录

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

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

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

价值与架构定义

1、价值

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

2、架构定义

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


http://www.kler.cn/a/411335.html

相关文章:

  • C++中的原子操作:原子性、内存顺序、性能优化与原子变量赋值
  • 深度学习——3种常见的Transformer位置编码【sin/cos、基于频率的二维位置编码(2D Frequency Embeddings)、RoPE】
  • 基于预测反馈的情感分析情境学习
  • Python酷库之旅-第三方库Pandas(237)
  • 【Android】android compat理解
  • STM32的中断(什么是外部中断和其他中断以及中断号是什么)
  • 【C++】顺序容器(二):顺序容器操作
  • C++11新特性探索:Lambda表达式与函数包装器的实用指南
  • 极狐GitLab 17.6 正式发布几十项与 DevSecOps 相关的功能【四】
  • STM32中I2C总线中,允许从机控制SCL总线吗?
  • uname -m(machine) 命令用于显示当前系统的机器硬件架构(Unix Name)
  • 什么是 C++ 中的多继承?它有哪些优缺点?什么是虚继承?为什么要使用虚继承?
  • OSPTrack:一个包含多个生态系统中软件包执行时生成的静态和动态特征的标记数据集,用于识别开源软件中的恶意行为。
  • Linux 网络编程之UDP套接字
  • win10中使用ffmpeg的filter滤镜
  • gocv调用opencv添加中文乱码的解决方案
  • 《Java 对象池技术:性能优化的利器》
  • 堆——acwing
  • shell脚本实现自动化交互功能
  • java大视频分片上传
  • 【Conda 】Conda 配置文件详解:优化你的包管理与环境设置
  • 【Nginx】核心概念与安装配置解释
  • Docker login 报证书存储错误的解决办法
  • (完整版Word原件)智慧产业园区能源管控系统解决方案,能源管理系统解决方案-能源数字化监控解决方案,工业能源管理系统解决方案,园区能源管理
  • 探索Python网页解析新纪元:requests-html库揭秘
  • [C++]深入剖析list类中迭代器的封装