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

【HarmonyOS之旅】HarmonyOS概述(一)

目录

1 -> HarmonyOS简介

2 -> HarmonyOS发展历程

3 -> HarmonyOS技术特性

3.1 -> 硬件互助,资源共享

3.1.1 -> 分布式软总线

3.1.2 -> 分布式设备虚拟化

3.1.3 -> 分布式数据管理

3.1.4 -> 分布式任务调度

3.1.5 -> 分布式连接能力

3.2 -> 一次开发,多端部署

3.3 -> 统一OS,弹性部署


1 -> HarmonyOS简介

鸿蒙操作系统(HarmonyOS)是华为开发的全场景分布式操作系统,旨在为多种终端设备提供无缝协同体验。鸿蒙系统的设计理念是“面向未来、面向全场景”,支持多种设备类型,包括智能手机、平板电脑、智能穿戴设备、智慧屏等。

2 -> HarmonyOS发展历程

鸿蒙系统的发展可以追溯到2019年,当时美国商务部将华为列入黑名单,阻止华为向美国制造商购买零部件和技术。作为回应,华为发布了第一代鸿蒙操作系统。随着时间的推移,鸿蒙系统不断迭代升级,实现了系统底座的全部自研,成为继苹果iOS和安卓系统后,全球第三大移动操作系统。

3 -> HarmonyOS技术特性

3.1 -> 硬件互助,资源共享

多种设备之间能够实现硬件互助、资源共享,依赖的关键技术包括分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等。

3.1.1 -> 分布式软总线

分布式软总线是手机、平板、智能穿戴、智慧屏、车机等分布式设备的通信基座像一个无形的桥梁,为设备之间的互联互通提供了统一的分布式通信能力,为设备之间的无感发现和零等待传输创造了条件。开发者只需聚焦于业务逻辑的实现,无需关注组网方式与底层协议。

应用场景:

  • 智能家居控制:通过分布式软总线,用户可以使用手机或其他智能设备控制家中的各种智能家电,如灯光、空调、窗帘等。例如,用户可以在回家的路上通过手机提前打开家中的空调,或者在起床时通过手机控制窗帘自动拉开。
  • 虚拟现实(VR)和增强现实(AR):在VR和AR应用中,分布式软总线可以用于连接头戴式显示器与其他设备,实现更加沉浸式的体验。例如,通过分布式软总线,VR设备可以与外部摄像头连接,将现实场景融入虚拟环境中。
  • 在教育领域,分布式软总线可以用于连接学生的电子设备(如平板电脑、笔记本电脑)与教师的教学设备,实现教学内容的同步展示和互动。

3.1.2 -> 分布式设备虚拟化

分布式设备虚拟化平台可以实现不同设备的资源融合、设备管理、数据处理,多种设备共同形成一个超级虚拟终端。针对不同类型的任务,为用户匹配并选择能力合适的执行硬件,让业务连续地在不同设备间流转,充分发挥不同设备的能力优势,如显示能力、摄像能力、音频能力、交互能力以及传感器能力等。

应用场景:

  • 游戏场景:在玩游戏时,可以将手机的硬件能力(如重力传感器、加速度传感器、触控能力等)虚拟化为游戏控制器,为玩家提供更便捷、更流畅的游戏体验。例如,在玩赛车游戏时,可以将手机作为方向盘,通过手机的重力感应来控制游戏中的赛车方向。 
  • 视频通话场景:当用户在做家务或其他事情时,可以将手机与智能电视或其他大屏设备连接,将大屏设备的屏幕和摄像头虚拟化为本地资源,替代手机自身的屏幕和摄像头,实现一边做其他事情一边进行视频通话。 
  • 多屏协同办公:在工作场景中,可以将手机、平板电脑和笔记本电脑等设备的屏幕、键盘、鼠标等硬件资源虚拟化,实现多屏协同办公。例如,用户可以在手机上开始编辑文档,然后无缝切换到平板电脑或笔记本电脑上继续编辑,所有修改实时同步,提高工作效率。 
  • 教育场景:在教育领域,可以将学生的电子设备(如平板电脑、笔记本电脑)与教师的教学设备(如智能黑板、投影仪等)的硬件资源虚拟化,实现教学内容的同步展示和互动。教师可以在自己的设备上控制学生设备上的教学内容展示,或者学生可以将自己的作业或作品通过虚拟化技术展示到教师的教学设备上。

3.1.3 -> 分布式数据管理

分布式数据管理基于分布式软总线的能力,实现应用程序数据和用户数据的分布式管理。用户数据不再与单一物理设备绑定,业务逻辑与数据存储分离,跨设备的数据处理如同本地数据处理一样方便快捷,让开发者能够轻松实现全场景、多设备下的数据存储、共享和访问,为打造一致、流畅的用户体验创造了基础条件。

应用场景:

  • 智能家居控制:在智能家居场景中,用户可以使用手机控制家中的智能设备,如灯光、空调、电视等。HarmonyOS的分布式数据管理能力使得手机能够与这些设备无缝连接,用户无需在不同的应用之间切换,即可实现对整个家居环境的统一控制。例如,当用户回家时,手机可以自动连接到家中的智能门锁,识别用户身份后,根据用户的习惯自动打开灯光、调节空调温度,并在电视上播放用户喜爱的节目。
  • 分布式办公协作:对于企业办公场景,分布式数据管理可以实现多设备协同办公。员工可以在手机上编辑文档,然后无缝切换到平板电脑或电脑上继续编辑,文档的修改会实时同步到所有设备上。此外,在会议中,参会人员可以通过分布式投屏技术,将手机或平板电脑上的内容投射到大屏幕上,方便展示和分享。同时,分布式任务调度可以将复杂的计算任务分配到性能较强的设备上执行,提高工作效率。
  • 游戏应用和多人协作应用:分布式数据对象可以用于跨设备迁移、多端协同等场景。例如,在游戏应用中,玩家可以在不同设备间同步游戏进度和数据,实现无缝切换游戏设备的体验。在多人协作应用中,团队成员可以在各自的设备上实时同步和编辑文档、表格等数据,提高协作效率。

3.1.4 -> 分布式任务调度

分布式任务调度基于分布式软总线、分布式数据管理、分布式Profile等技术特性,构建统一的分布式服务管理(发现、同步、注册、调用)机制,支持对跨设备的应用进行远程启动、远程调用、远程连接以及迁移等操作,能够根据不同设备的能力、位置、业务运行状态、资源使用情况,以及用户的习惯和意图,选择合适的设备运行分布式任务。

应用场景:

  • 智能家居控制:在智能家居场景中,用户可以通过手机控制家中的智能设备,如灯光、空调、电视等。HarmonyOS的分布式任务调度能力使得手机能够与这些设备无缝连接,用户无需在不同的应用之间切换,即可实现对整个家居环境的统一控制。例如,当用户回家时,手机可以自动连接到家中的智能门锁,识别用户身份后,根据用户的习惯自动打开灯光、调节空调温度,并在电视上播放用户喜爱的节目。
  • 分布式办公协作:对于企业办公场景,分布式任务调度可以实现多设备协同办公。员工可以在手机上编辑文档,然后无缝切换到平板电脑或电脑上继续编辑,文档的修改会实时同步到所有设备上。此外,在会议中,参会人员可以通过分布式投屏技术,将手机或平板电脑上的内容投射到大屏幕上,方便展示和分享。同时,分布式任务调度可以将复杂的计算任务分配到性能较强的设备上执行,提高工作效率。
  • 游戏应用和多人协作应用:分布式任务调度可以用于跨设备迁移、多端协同等场景。例如,在游戏应用中,玩家可以在不同设备间同步游戏进度和数据,实现无缝切换游戏设备的体验。在多人协作应用中,团队成员可以在各自的设备上实时同步和编辑文档、表格等数据,提高协作效率。
  • 移动支付:用户可以在手表上完成支付操作,而实际的支付处理则由手机来完成,提高支付的安全性和便捷性。这种跨设备的支付方式依赖于HarmonyOS的分布式任务调度能力,确保了支付数据在不同设备间的安全传输和处理。

3.1.5 -> 分布式连接能力

分布式连接能力提供了智能终端底层和应用层的连接能力,通过USB接口共享终端部分硬件资源和软件能力。开发者基于分布式连接能力,可以开发相应形态的生态产品为消费者提供更丰富的连接体验。

分布式连接能力包含底层能力(Connect Service)应用层能力(AILife Client Service)

  • 底层能力(Connect Service)涉及模块:
    • 终端USB:智能终端侧USB模块,可对USB生态产品供电,是连接智能终端和生态产品的物理接口。
    • 接入管理:智能终端统一对外提供的接口,用于和生态产品进行通信。
    • 通信框架:统一管理搜网、信号显示,通过接入管理模块对外提供接口。
  • 应用层能力(AILife Client Service)涉及模块:
    • 智慧生活:生态产品的公共开发平台,能够接入USB生态设备并创建接入卡片。

应用场景:

  • USB模块:生态配件侧USB模块,用于和智能终端USB建立物理连接。
  • 功能模块:生态合作伙伴根据需求开发设备系统和功能。
  • 配件插件:生态合作伙伴基于AILife Client Service能力开发生态配件功能。

3.2 -> 一次开发,多端部署

HarmonyOS提供了用户程序框架、Ability框架以及UI框架,支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发、多端部署,提升了跨设备应用的开发效率。

其中,UI框架支持Java和JS两种开发语言,并提供了丰富的多态控件,可以在手机、平板、智能穿戴、智慧屏、车机上显示不同的UI效果。采用业界主流设计方式,提供多种响应式布局方案,支持栅格化布局,满足不同屏幕的界面适配能力。

3.3 -> 统一OS,弹性部署

HarmonyOS通过组件化和小型化等设计方法,支持多种终端设备按需弹性部署,能够适配不同类别的硬件资源和功能需求。支撑通过编译链关系去自动生成组件化的依赖关系,形成组件树依赖图,支撑产品系统的便捷开发,降低硬件设备的开发门槛。

  • 支持各组件的选择(组件可有可无):根据硬件的形态和需求,可以选择所需的组件。
  • 支持组件内功能集的配置(组件可大可小):根据硬件的资源情况和功能需求,可以选择配置组件中的功能集。例如,选择配置图形框架组件中的部分控件。
  • 支持组件间依赖的关联(平台可大可小):根据编译链关系,可以自动生成组件化的依赖关系。例如,选择图形框架组件,将会自动选择依赖的图形引擎组件等。

感谢各位大佬支持!!!

互三啦!!!

相关文章:

【HarmonyOS之旅】HarmonyOS概述(一)

目录 1 -> HarmonyOS简介 2 -> HarmonyOS发展历程 3 -> HarmonyOS技术特性 3.1 -> 硬件互助,资源共享 3.1.1 -> 分布式软总线 3.1.2 -> 分布式设备虚拟化 3.1.3 -> 分布式数据管理 3.1.4 -> 分布式任务调度 3.1.5 -> 分布式连接…...

chatwoot 开源客服系统搭建

1. 准备开源客服系统(我是用的Chatwoot ) 可以选择以下开源客服系统作为基础: Chatwoot: 开源,多语言,跟踪和分析,支持多渠道客户对接,自动化和工作流等。源码Zammad: 现代的开源工单系统。Fr…...

30分钟搭建 Typecho 个人博客教程

Typecho是一款PHP博客程序,相比于WordPress,Typecho显得更加的轻量级和简洁。现在越来越多的人倾向于用Typecho来搭建个人博客——众所周知,能跑WordPress的机器都不便宜。 Typecho是一款国人团结打造的开源博客系统,和WordPress…...

智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之7 附件(文档)

为AI聊天工具添加一个知识系统 Part1 人性化&去中心化 前情提要 这一次我们暂时抛开前面对“智能工厂的软件设计”的考虑--其软件智能 产品就是 应用程序。直接将这些思维方式和方法论 运用在其具体应用场景中。本文是其中的一个应用场景。 今天用了 一个新的AI助手工具…...

鸿蒙应用开发启航计划

以前有过简单的学习了解,但是现在工作内容的原因,要专门搞这个,因此需要更加熟练地掌握鸿蒙应用开发。 1.开发IDE -- DevEco Studio Windows环境 运行环境要求 为保证DevEco Studio正常运行,建议电脑配置满足如下要求&#xff…...

基本算法——回归

目录 创建工程 加载数据 分析属性 创建与评估回归模型 线性回归 回归树 评估 完整代码 结论 本节将通过分析能源效率数据集(Tsanas和Xifara,2012)学习基本的回归算法。我们将基 于建筑的结构特点(比如表面、墙体与屋顶面…...

深度学习——神经网络中前向传播、反向传播与梯度计算原理

一、前向传播 1.1 概念 神经网络的前向传播(Forward Propagation)就像是一个数据处理的流水线。从输入层开始,按照网络的层次结构,每一层的神经元接收上一层神经元的输出作为自己的输入,经过线性变换(加权…...

解决git push报错:not valid: is this a git repository?

今天想把代码更新到仓库里,执行git push origin master:main的时候报错:not valid: is this a git repository? 查了好多方法都没用。后来经过这篇文章的启发:https://zhuanlan.zhihu.com/p/301518109 可能是由于校园网的问题,…...

树形查询转成TreeNode[],添加新节点

在使用PrimeVue的TreeTable组件时,需要将带有层级的数据转换为TreeNode[]类型的数据结构。TreeNode是PrimeVue中定义的一个接口,用于表示树节点。通常,带有层级的数据是一个嵌套的对象或数组,其中每个对象可能包含子对象&#xff…...

【Rust自学】8.2. Vector + Enum的应用

8.2.0. 本章内容 第八章主要讲的是Rust中常见的集合。Rust中提供了很多集合类型的数据结构,这些集合可以包含很多值。但是第八章所讲的集合与数组和元组有所不同。 第八章中的集合是存储在堆内存上而非栈内存上的,这也意味着这些集合的数据大小无需在编…...

攻防世界web第十题Web_python_template_injection

这是题目,从题目上看是一个python模板注入类型的题目。 首先测试是否存在模板注入漏洞,构造http://61.147.171.105:57423/{{config}} 得到 说明存在模板注入漏洞,继续注入 构造http://61.147.171.105:57423/{{‘’.class.mro}}: 得到 再构造…...

vmware 修改Ubuntu终端字体大小

1. 2、 3、 4、 5、 6、点击select...

API 设计:从基础到最佳实践

https://levelup.gitconnected.com/api-design-101-from-basics-to-best-practices-a0261cdf8886 在本次深入研究中,我们将从基础开始,逐步了解 API 设计,并逐步实现定义卓越 API 的最佳实践。 作为开发人员,您可能熟悉其中的许多…...

ROUGE指标在自然语言处理中的应用:从理论到实践

引言 你是否曾经遇到过机器生成的文本摘要与原文内容不符的情况?或者在使用机器翻译时,发现译文虽然“看起来”正确,但语义却与原文相差甚远?在自然语言处理(NLP)领域,如何科学地评估生成文本的…...

GraalVM:云原生时代的Java虚拟机

1. 概述 GraalVM是由Oracle公司开发的一款高性能、多语言的虚拟机平台。它不仅兼容传统的JVM字节码执行,还引入了即时编译(JIT)技术的革新,以及对多种编程语言的支持。GraalVM旨在通过提供更高效的执行环境来满足云计算环境中日益…...

Linux 信号集与信号掩码

目录 一、引言 二、信号集是什么 三、信号集关键函数 1.信号集的创建与初始化 2.信号的添加与删除 3.信号集的阻塞与解除阻塞 四、信号集实际应用场景 五、信号掩码的作用 六、信号掩码相关函数 1.sigprocmask 函数 2.sigemptyset 和 sigfillset 函数 七、信号掩码注…...

如何设置Edge浏览器访问软件

使用Edge浏览器访问分销ERP A\V系列软件时会出现各种报错,如何设置Edge浏览器使其正常访问,请看下面的具体操作。 一、打开Edge浏览器,点击右上角的 设置及其他,如图: 二、在弹出界面中,点击 扩展&#xff…...

DL笔记:旋转编码RoPE

1 背景 由于计算资源限制,目前的LLM大多在较短的上下文长度中进行训练,在推理中,如果超出预训练的长度,模型的性能将会显著降低 ——>需要一个可提供外推性的位置编码最经典的绝对位置编码就是原始Transformer中的那个sinusoi…...

C语言自定义类型与文件操作

构造类型 枚举类型 若定义不相关的常量使用宏定义;若定义一组相关的常量使用枚举。switch中case后访问的就是枚举。 定义: 我们一般情况下定义常量使用宏定义(#define),宏定义适合没有关联关系的常量;但有时需要对一组有关联关系…...

《计算机网络A》单选题-复习题库解析-3

目录 106、MAN通常是指( ) 107、下列因素中,不会影响信道数据传输速率的是( ) 108、以太网交换机进行转发决策时使用的PDU地址是( ) 109、下列机制中,可以解决因数据帧丢失而…...

【kafka】Golang实现分布式Masscan任务调度系统

要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...

【阅读笔记】MemOS: 大语言模型内存增强生成操作系统

核心速览 研究背景 ​​研究问题​​&#xff1a;这篇文章要解决的问题是当前大型语言模型&#xff08;LLMs&#xff09;在处理内存方面的局限性。LLMs虽然在语言感知和生成方面表现出色&#xff0c;但缺乏统一的、结构化的内存架构。现有的方法如检索增强生成&#xff08;RA…...

【Zephyr 系列 16】构建 BLE + LoRa 协同通信系统:网关转发与混合调度实战

🧠关键词:Zephyr、BLE、LoRa、混合通信、事件驱动、网关中继、低功耗调度 📌面向读者:希望将 BLE 和 LoRa 结合应用于资产追踪、环境监测、远程数据采集等场景的开发者 📊篇幅预计:5300+ 字 🧭 背景与需求 在许多 IoT 项目中,单一通信方式往往难以兼顾近场数据采集…...