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

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

文章目录

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

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

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

价值与架构定义

1、价值

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

2、架构定义

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

http://www.lryc.cn/news/494049.html

相关文章:

  • 【k8s深入理解之 Scheme 补充-2】理解 register.go 暴露的 AddToScheme 函数
  • uni-app写的微信小程序每次换账号登录时出现缓存上一个账号数据的问题
  • 数据分析流程中的Lambda架构,以及数据湖基于Hadoop、Spark的实现
  • Android 原生解析 Json 字符串
  • Windsurf可以上传图片开发UI了
  • Qt UI设计 菜单栏无法输入名字
  • blender 视频背景
  • 【python】OpenCV—Tracking(10.5)—dlib
  • 音视频入门基础:MPEG2-TS专题(9)——FFmpeg源码中,解码TS Header的实现
  • 解决“磁盘已插上,但Windows系统无法识别“问题
  • 论文笔记-WWW2024-ClickPrompt
  • 53 基于单片机的8路抢答器加记分
  • 【java数据结构】二叉树OJ题
  • IIC和SPI的时序图
  • MySQL数据库表的操作
  • .net core 创建linux服务,并实现服务的自我更新
  • springboot338it职业生涯规划系统--论文pf(论文+源码)_kaic
  • oracle将select作为字段查询
  • Java数据结构和算法相关面试题
  • 网络安全风险评估
  • ADAM优化算法与学习率调度器:深度学习中的关键工具
  • 岛屿数量C++11新特性
  • Git 快速入门:全面了解与安装步骤
  • 基于域自适应的双光融合
  • 迭代器模式 (Iterator Pattern)
  • 039集——渐变色之:CAD中画彩虹()(CAD—C#二次开发入门)
  • 如何将 GitHub 私有仓库(private)转换为公共仓库(public)
  • C++11 右值引用
  • WPS表格学习计划与策略
  • Android 引入 proto 项目及使用方法