HarmonyOS新能力让数据多端协同更便捷,数据跨端迁移更高效

鸿蒙HarmonyOS应用开发——跨端迁移_openharmony 跨端迁移包括哪些 / 若不需要自动迁移页面栈信息,则需要在此处设置应用迁移后进入的页面。// 调用原因为迁移时,设置状态为可迁移,应对冷启动情况。// 调用原因为迁移时,设置状态为可迁移,应对热启动情况。// 进入该页面时,将应用设置为可迁移状态。// 点击该按钮时,将应用设置为可迁移状态。 阅读详情

作者:yijian,终端OS分布式文件系统专家;gongashi,终端OS分布式数据管理专家


HarmonyOS作为分布式操作系统,其分布式数据管理能力非常重要。我们也一直围绕持续为开发者带来全局“一份”数据的开发体验的目标,在不断增强和提升HarmonyOS的分布式数据管理能力。本期我们就来为大家详细介绍分布式数据管理的新能力。

目录

一、分布式数据管理平台面临的挑战

二、分布式数据管理平台

三、变量的全局访问

四、文件的全局访问和分享

五、结束语


一、分布式数据管理平台面临的挑战


我们先来看一个典型的分布式场景:

手机和智慧屏协同进行文档演示,手机上的文档演示状态(比如翻页、页面放大、页面缩小和涂鸦等)需要同步到智慧屏,同样智慧屏上的文档演示状态也需要同步到手机上。

图1 分布式文档演示场景

要实现以上场景,开发者面临以下两个挑战:


挑战1:如何更便捷地实现数据的“多端协同”?


手机上的文档演示状态同步到智慧屏上,智慧屏上的文档演示状态也同步到手机上,这其实就是数据的“多端协同”。要实现数据的“多端协同”,需要开发者完成消息处理逻辑,包括:建立通信链接、消息收发处理、错误处理和性能调优等,工作量非常大。此外,设备越多,调试复杂度将呈指数增长。


挑战2:如何更高效地实现数据的“跨端迁移”?


手机和智慧屏协同进行文档演示时,手机上的文档要发送到智慧屏上操作,这就涉及到数据的“跨端迁移”。以往通常的做法是建立两个设备的通信连接,手机发送文档给智慧屏,智慧屏接收后打开和修改文档,再将文档发回给手机。这种实现方式很复杂,而且文件来回传输也非常影响用户的操作效率。

二、分布式数据管理平台

面对上面两个挑战,HarmonyOS的解决办法是:在分布式数据管理平台提供全局访问框架和分享框架,来支撑开发者在访问、迁移、协同、分享等分布式场景下的业务创新。

图2 分布式数据管理平台


图2中,全局访问框架和分享框架中的数据库,在HarmonyOS 2就已经发布了,我们也在往期推文中介绍过,本期不再赘述。全局访问框架和分享框架中标黄的“变量”和“文件”是即将在HarmonyOS新版本中发布的内容,接下来为大家详细介绍。

三、变量的全局访问


对于挑战1,为了更便捷地实现数据的“多端协同”,HarmonyOS提供了变量的全局访问框架。

上面分布式文档演示场景中,文档演示状态(比如翻页、页面放大、页面缩小和涂鸦等)其实就是变量。如果这些变量支持“全局”访问,那么开发者跨设备访问这些变量就能像操作本地变量一样,数据就能够自动高效、便捷地多端同步了。为了实现变量的“全局”访问,HarmonyOS提出了“分布式数据对象”的概念,将变量封装成分布式数据对象。


1.  “分布式数据对象”的设计理念


分布式数据对象的设计理念如图3所示。基于分布式软总线能力和分布式内存数据库的跨设备同步能力,HarmonyOS构建了基于JS对象(也就是分布式数据对象)的接口。开发者直接使用此接口就可以实现跨设备的数据同步,无需关注底层通信过程,可以更关注于业务逻辑的开发。

图3 “分布式数据对象”设计理念
 

2.  三步使用“分布式数据对象”


“分布式数据对象”接口极为简单、易用,只需要3个步骤:

(1)定义JS对象的时候继承DistributedDataObject基类

(2)设置objectID、sessionID

(3)订阅分布式数据对象的变化(可选)

此外,其他与本地对象操作完全一致。

“分布式数据对象”接口的基类、方法和参数说明如下:

图4 “分布式数据对象”接口说明
 

下面我们来看看“分布式数据对象”接口使用的示例代码。图5是多端协同发起方的示例代码,图6是多端协同接收方的示例代码。

图5 多端协同发起方的示例代码
 

图6 多端协同接收方的示例代码

四、文件的全局访问和分享


对于挑战2,为了更高效地实现数据的“跨端迁移”,HarmonyOS提供了文件的全局访问框架和分享框架。(为了方便理解,图7仅展示了分布式数据管理平台中的文件部分。)

图7 分布式数据管理平台(文件部分)


如图7所示,文件访问框架分为应用文件访问框架和公共文件访问框架。

HarmonyOS 2已经提供应用文件访问框架,HarmonyOS即将发布的新版本中会新增公共文件访问框架和文件共享框架,增强文件的全局访问和分享能力,从而实现屏蔽物理存储位置,达到让应用可以像访问本地文件一样访问远端文件的目标。

基于新增的公共文件访问框架和文件共享框架,我们来看看如何实现两个典型的文件使用场景:

1.  直接打开远端文件

场景说明:直接在设备A上打开设备B上的公共文件。

实现说明:开发者将分布式文件系统接入文件选择器(File Picker),应用就可以通过分布式的File Picker直接打开、编辑远端文件,不需要进行跨设备的文件发送。

实现代码示例如下:

var parameter = {
    “want”: {
        “action”: “action.com.huawei.filecenter.PICKER_ACITON”
    },
};
featureAbility.startAbilityForResult(parameter, (err, data) => {
………// 可直接打开、编辑远端文件
})

实现效果如图8所示,用户在本机上可以选择远端设备,可以看到远端设备上的文件列表,并且能直接打开和编辑远端文件。

图8 直接打开远端文件

2.  文件的“跨端迁移”

场景说明:设备A分享一个公共文件给设备B,在设备B上打开该文件。

实现说明:此场景下,设备A并没有将文件真的发送给设备B,而是在设备A和设备B之间建立了文件的映射关系,设备B通过此映射关系远程访问设备A上的文件。具体实现流程如图9所示。

图9 文件的“跨端迁移”

实现步骤和示例代码如下:

(1)设备A分享文件句柄给设备B。

handoffHelper.creator(networkID, fd);


(2)设备A和设备B建立文件的映射关系。

(3)设备B收到文件分享消息后,响应消息并获取文件的URI。

let helper1 = DataAbilityHelper.creator(getContext());


(4)设备B上的应用通过URI打开远端文件。

helper1.openFile(Uri, "rw",  function(fd) {
      …………
})


五、结束语


分布式数据管理平台新增变量和文件的全局访问框架,以及文件分享框架,帮助开发者更便捷地实现数据的“多端协同”,更高效地实现数据的“跨端迁移”。这些新能力将在HarmonyOS的新版本中体现,敬请期待!

HarmonyOS正在不断成长,期待更多的开发者加入我们,一起见证HarmonyOS的成长!

一文看懂什么是OpenHarmony流转架构 随着全场景多设备的生活方式不断深入,用户拥有的设备越来越多,不同设备都能在适合的场景下提供良好的体验,例如手表可以提供及时的信息查看能力,电视可以带来沉浸的观影体验。但是,每个设备也有使用场景的局限,例如在电视上输入文本相对移动设备来说是非常糟糕的体验。当多个设备通过分布式操作系统能够相互感知、进而整合成一个超级终端时,设备与设备之间就可以取长补短、相互帮助,为用户提供更加自然流畅的分布式体验。在OpenHarmony中,将跨多设备的分布式操作统称为; 阅读详情

相关推荐

关于鸿蒙系统的简介

鸿蒙系统定位于一个能够支持多种终端形态的分布式操作系统。在传统的单设备系统能力基础上,鸿蒙系统提出了基于同一套系统能力、适配多种终端形态的分布式理念。这意味着,无论是手机、平板、智能穿戴设备、智慧屏、车机、PC,还是智能音箱、耳机、AR/VR眼镜等,鸿蒙系统都能提供一致且高效的用户体验。

Program Han 2760

鸿蒙HarmonyOS应用开发——跨端迁移

在用户使用设备的过程中,当使用情境发生变化时(例如从室内走到户外或者周围有更适合的设备等),之前使用的设备可能已经不适合继续当前的任务,此时,用户可以选择新的设备来继续当前的任务,原设备可按需决定是否退出任务,这个就是跨端迁移的场景。常见的跨端迁移场景实例:在平板上播放的视频,迁移到智慧屏继续播放,从而获得更佳的观看体验;平板上的视频应用退出。在应用开发层面,跨端迁移指在A端运行的UIAbility迁移到B端上,完成迁移后,B端UIAbility继续任务,而A端UIAbility可按需决定是否退出。

maniuT的博客 4006

111鸿蒙系统HarmonyOS

针对不同类型的任务,为用户匹配并选择能力合适的执行硬件,让业务连续地在不同设备间流转,充分发挥不同设备的能力优势,如显示能力、摄像能力、音频能力、交互能力以及传感器能力等。分布式任务调度基于分布式软总线、分布式数据管理、分布式Profile等技术特性,构建统一的分布式服务管理(发现、同步、注册、调用)机制,支持对跨设备的应用进行远程启动、远程调用、远程连接以及迁移等操作,能够根据不同设备的能力、位置、业务运行状态、资源使用情况,以及用户的习惯和意图,选择合适的设备运行分布式任务。

wlq_567的博客 1722

HarmonyOS 鸿蒙中设计的Ability

Ability介绍 官网文档 Ability是应用所具备的抽象能力,是应用程序的重要组成部分。 一个应用可包含多个Ability,HarmonyOS支持以Ability为单位进行部署。 Ability的分类 FA(Feature Ability) Page Ability:是FA唯一支持的模板,用于提供给用户交互的能力,可以理解为Android中的Activity PA(Particle Ability) Service Ability:用于提供后台服务运行的能力,可以理解为Android中的

开发以大橘为重 7789

【HarmonyOS实战开发】Ability Kit(程序框架服务)详解

这份鸿蒙(HarmonyOS NEXT)文档包含了鸿蒙开发必掌握的核心知识要点,内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、OpenHarmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。

HarmonyOS007的博客 1169

HarmonyOS (鸿蒙系统)概述

1 系统定义 HarmonyOS 是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。 ⚫ 对消费者而言,HarmonyOS 能够将生活场景中的各类终端进行能力整合,形成一个“超级虚拟终端”,可以实现不同的终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。 ⚫ 对应用开发者而言,HarmonyOS

m0_63853419的博客 4027

华为鸿蒙系统HarmonyOS学习之一:鸿蒙HarmonyOS系统简介

HarmonyOS 系统简介 HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。 对消费者而言,HarmonyOS能够将生活场景中的各类终端进行能力整合,形成一个“超级虚拟终端”,可以实现不同的终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。 对应用开发者而言,Harmo..

jyl_sh的专栏 1万+

HarmonyOS的新功能:实现高效的多端数据协同和跨端迁移!

以上提供的源代码示例展示了如何在移动端实现多端数据协同和跨端数据迁移的基本操作,开发者可以根据自己的需求进行进一步的扩展和优化。HarmonyOS作为一种全场景智能终端操作系统,为开发者提供了一系列新的功能和工具,使得数据在多端之间的协同和迁移更加便捷和高效。除了数据协同,HarmonyOS还提供了跨端数据迁移的能力,使得数据在不同设备之间的迁移更加高效。当数据发生变化时,可以通过监听器中的回调函数进行相应的处理逻辑,例如将数据同步到其他设备或执行其他操作。这样,数据就可以在不同设备之间进行高效的迁移。

DhGrad_Bias的博客 1622

鸿蒙HarmonyOS NEXT系统揭秘:跨端迁移与多端协同

近日,关于鸿蒙操作系统将多设备协同功能细分为“跨端迁移”与“多端协同”的消息不胫而走,这一创新不仅重新定义了设备间的交互方式,更为用户带来了前所未有的智能体验。鸿蒙HarmonyOS NEXT系统的跨端迁移与多端协同功能不仅是华为在智能生态领域的一次重大突破,更是对未来智能生活方式的深刻洞察和前瞻布局。同时,通过利用鸿蒙的原生互联能力,一些应用如WPS将支持从华为手机/平板中直接插入图片等素材,进一步简化了操作流程,提高了工作效率。这些功能不仅提升了用户体验,还展示了鸿蒙系统在多设备协同方面的强大能力。

Niuagha的博客 2697

HarmonyOS 鸿蒙开发测试:流转测试

3.1.1 原子化服务原子化服务是 HarmonyOS 提供的一种面向未来的服务提供方式,是有独立入口的(用户可通过点击、碰一碰、扫一扫等方式直接触发)、免安装的(无需显式安装,由系统程序框架后台安装后即可使用)、可为用户提供一个或多个便捷服务的用户程序形态。原子化服务基于 HarmonyOS API 开发,支持运行在 1+8+N 设备上,供用户在合适的场景、合适的设备上便捷使用。3.1.2 服务流转在 HarmonyOS 中泛指涉及多端的分布式操作。

斌擎科技 1327

华为鸿蒙操作系统 Harmony OS:为中国的软件行业种“根”

HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。

AI天才研究院 17万+

鸿蒙系统官网电脑版,华为鸿蒙系统官网下载-华为鸿蒙系统下载pc版v2.0 电脑版下载-955游戏网...

华为鸿蒙系统下载pc版特性:1、鸿蒙OS的“分布式OS架构”和“分布式软总线技术”通过公共通信平台,分布式数据管理,分布式能力调度和虚拟外设四大能力,将相应分布式应用的底层技术实现难度对应用开发者屏蔽,使开发者能够聚焦自身业务逻辑,像开发同一终端一样开发跨终端分布式应用,也使最终消费者享受到强大的跨终端业务协同能力为各使用场景带来的无缝体验。2、鸿蒙OS通过使用确定时延引擎和高性能IPC两大技术解...

weixin_36001279的博客 7万+

华为鸿蒙HarmonyOS 简介

鸿蒙HarmonyOS 系统概述: HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。 对消费者而言,HarmonyOS能够将生活场景中的各类终端进行能力整合,形成一个“超级虚拟终端”,可以实现不同的终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。 对应用开发...

郭宝的博客 1万+

华为v3鸿蒙系统_华为鸿蒙系统下载_华为鸿蒙系统官方版v3.3.5 电脑版下载-无限下载...

华为鸿蒙系统电脑版是华为官方自主开发的一个操作系统,可以将手机、pc、电视、汽车等各种智能设备打通,华为鸿蒙系统电脑版是面向万物互联时代的全场景分布是操作系统,可以兼容所有的电脑系统,操作十分顺畅,基于linux开源内核打造的操作系统,它开源免费,拥有各大主流浏览器,也有自带的wps办公软件,可支持多种电脑软件下载使用,就算是原生游戏也是可以支持的,并不会带来捆绑的软件,也没有广告的干扰,华为鸿蒙...

weixin_34446948的博客 2万+

[SWPUCTF 2018]SimplePHP--一道简单的Phar反序列化题目

题目就不贴了,直接给出利用链①:echo会触发__toString魔术方法,所以这里的$this->test应该是Show类实例化的对象show②:这里应该使$this->str['str']为Test类实例化后的对象test,然后test->source会触发__get魔术方法(因为Test类没有名为source的成员变量,所以会触发get魔术方法,并且$key=source)③④:调用get方法,$...

Dream' 1259

华大HC32F460 TCP Server实验

华大HC32F460 TCP Server实验

ZhuoWuKeJi的博客 1270

华为鸿蒙系统HarmonyOS学习

华为的鸿蒙系统优点是流畅度和大一统。这套系统主要是基于微内核的全场景分布式OS,可以按照需要进行扩展,由此来实现更为广泛的系统的安全,它主要用于物联网,它的主要特点是很低的时延。HarmonyOS是一款面向未来、面向全场景(适应移动办公、运动健康、社交通信、媒体娱乐等设备)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。

2302_80826162的博客 728

长短期记忆网络(Long Short-Term Memory networks, LSTM)

如何简单的理解LSTM——其实没有那么复杂:

weixin_39910711的博客 2万+

鸿蒙系统学习笔记(一) 鸿蒙系统介绍

个人学习鸿蒙系列 鸿蒙系统介绍 目录 个人学习鸿蒙系列 鸿蒙系统介绍 一、鸿蒙系统简介 1.简介 2.发展进程 二、鸿蒙系统特点 1.分布架构 2.低延时+高性能IPC技术实现系统天生流畅 3.基于微内核架构重塑终端设备可信安全 4.通过统一IDE支撑一次开发,多端部署,实现跨终端生态共享 参考 1.https://github.com/Awesome-HarmonyOS/HarmonyOS/blob/master/doc/README-zh.md 2.https://blog..

panjianlongWUHAN的专栏 2万+

实战教程:用YOLOv11+PyQt5打造工地安全帽检测系统(附完整数据集)

本文提供了一份完整的实战指南,详细介绍了如何利用YOLOv11目标检测模型与PyQt5界面库,从零开始构建一个智能工地安全帽检测桌面应用。内容涵盖高质量数据集的准备与标注、YOLOv11模型训练与调优,以及如何使用PyQt5开发流畅、专业的图形用户界面,最终实现一个可实际部署的AI安全监控系统。

plum99的博客 738

结构设计3D拆件与骨架模型构建实战:基于Creo 8.0的5个高效建模技巧

本文详细解析了基于Creo 8.0的结构设计3D拆件与骨架模型构建实战技巧,涵盖5个高效建模方法,包括参数化驱动、曲面分割、多实体协同设计等。通过骨架模型的智能应用,设计效率可提升30%以上,特别适合复杂产品的结构设计。文章还提供了TWS耳机充电仓等实战案例,帮助工程师快速掌握工业设计中的核心建模技术。

weixin_30000735的博客 571

鸿蒙系统官网电脑版,华为鸿蒙pc系统

华为鸿蒙pc系统最新版本功能简介:HarmonyOS 2.0 手机开发者 Beta 版本增强以下特性:15000 + 个 APIs (支持开发手机 / PAD、大屏、穿戴、车机应用)分布式应用框架分布式 UI 控件DevEco Studio 2.0 Beta3华为鸿蒙pc系统操作:1.插入U盘,打开U盘制作软件rufus 3.12.入设备选项,选中下载的镜像文件,其他默认,点击开始3.链接下载点击...

weixin_42511587的博客 2万+

【智能车Code review】——小S与中S道路判断

基本思想: 找到中线的左拐点和右拐点,并且计算出两点之间的空间距离。通过限制空间距离,分为中S和小S。 注意这种情况:当20行以下的中线斜率比较陡,此时可以通过人为限制设定,将第0行的中线设置为拐点。 if (flag_centre_right_point == 0 && flag_centre_left_point == 1 && parameterB >= 0.5 && centre_left_point[0] >= 33) { .

hanhan的博客 6104

【华为鸿蒙系统学习】- HarmonyOS4,大厂面试题目

包括。

2401_84166965的博客 1038

【Unity3D框架】GameFramework框架完全教程《全网最全》-专栏文章目录

最近准备学习框架,了解到GameFramework框架是国产Unity3D框架,准备学习一下,但是奈何全网关于这个框架的教程实在太少。为了让自己学习方便一些,也为了让后来者乘凉。将框架以自己的理解整理目录,并且补全教程。觉得教程有帮助别忘了一键三连哦。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 2万+

《深入浅出多模态》(二):多模态任务及数据集介绍

本文为《深入浅出多模态》系列第二章,《多模态任务介绍与背景》主要介绍多模态模型的概念、技术难点、下游任务(Visual Grounding、VQA、image/Video Captioning等)及各类应用方向数据集展开介绍,本专栏适合从事多模态小白及爱好者学习,欢迎大家关注,如有侵权请联系删除!

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 3834
上一篇: 图形测试分析毫无头绪?HarmonyOS图形栈测试技术帮你解决
下一篇: HarmonyOS如何高效上架原子化服务?这个平台帮你解决
「已注销」
博客等级 码龄5年 1045粉丝 297原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值