创作

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

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

物联网星球 来源:物联网星球 作者:物联网星球 2022-01-12 16:07 次阅读

作者: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直接打开、编辑远端文件,不需要进行跨设备的文件发送。

实现代码示例如下:

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

复制代码

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

图8 直接打开远端文件

2.文件的“跨端迁移”

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

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

图9 文件的“跨端迁移”

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

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

  1. handoffHelper.creator(networkID, fd);

复制代码


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

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

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

复制代码


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

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

复制代码


五、结束语


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

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

收藏 人收藏

    评论

    相关推荐

    存内计算之路——道阻且长,行则将至

    电子发烧友网报道(文/李弯弯)如今随着技术发展,计算任务越来越复杂,而在冯诺依曼架构中,数据需要在存....
    的头像 Carol Li 发表于 05-24 00:02 107次 阅读
    存内计算之路——道阻且长,行则将至

    满满干货!手把手教你实现基于eTS的分布式计算器

    最近收到很多小伙伴反馈,想基于扩展的TS语言(eTS)进行HarmonyOS应用开发,但是不知道代码该从何处写起,从0到1的过程让...
    发表于 05-23 18:34 114次 阅读

    在OpenHarmony上使用linux自带的GPIO点个灯

    背景 从HarmonyOS应用开发玩到OpenHarmony应用开发,前前后后也有大半年了,北向HelloWorld的应用从JAVA写到了JS,...
    发表于 05-23 17:59 1003次 阅读

    华为HarmonyOS负责人王成录已离职,下一站依旧是HarmonyOS

    日前,有消息传出,华为HarmonyOS的负责人王成录博士已经离开了华为,并且其微博号的华为官方认证....
    的头像 汽车玩家 发表于 05-23 17:31 216次 阅读

    TS语言开发HarmonyOS应用:分布式计算器开发教程

    最近收到很多小伙伴反馈,想基于扩展的TS语言(eTS)进行HarmonyOS应用开发,但是不知道代码....
    的头像 海阔天空的专栏 发表于 05-23 16:37 166次 阅读
    TS语言开发HarmonyOS应用:分布式计算器开发教程

    printf数据都去哪儿了

    printf是一个接口,跟UNIX标准IO的write系统调用类似,但是更像C库的fwrite,因为....
    的头像 流川枫枫 发表于 05-23 14:08 188次 阅读

    直播预告丨Hello HarmonyOS进阶课程第四课——ArkUI动画开发

    为了帮助初识HarmonyOS的开发者快速入门,我们曾推出Hello HarmonyOS系列课程,从最基础的配置IDE和创建Hello World...
    发表于 05-23 10:34 252次 阅读

    HarmonyOS应用开发-XPopup常用的弹窗体验

    组件名:XPopup 作用:内置几种了常用的弹窗,十几种良好的动画,将弹窗和动画的自定义设计的极其简单;目前还没有出现XPopu...
    发表于 05-21 11:18 723次 阅读
    HarmonyOS应用开发-XPopup常用的弹窗体验

    天马微电子获OPPO“品质优秀奖”和“联合认证专项奖”两大奖项

    5月19日,以“至美所品不凡,创造精彩,引领视界”为主题的OPPO 2021年商业伙伴质量沟通大会在....
    的头像 科技绿洲 发表于 05-20 17:03 110次 阅读

    Harmony3.0源码烧录成功, 无法正常亮屏

    板子一开始上电后是能成功在屏幕上看到camera的预览的, 我编译Harmony3.0系统后, 成功烧录, 通过串口看打印也是进入系统了, 但是...
    发表于 05-20 16:19 2245次 阅读
    Harmony3.0源码烧录成功, 无法正常亮屏

    HarmonyOS如何使用Opencv视觉库?

      听说是要交叉编译,华为有提供交叉编译的方法吗。哪位大佬帮忙解答一下,头都大了 ...
    发表于 05-20 14:58 1164次 阅读

    HarmonyOS使用Intent控件的教程

    基本概念 Intent是对象之间传递信息的载体。例如,当一个AbilitySlice启动另一个AbilitySlice时,或者一个AbilitySlice需...
    发表于 05-20 14:25 1326次 阅读

    HarmonyOS应用开发-Graphview折线图显示

    组件名称:Graphview作用:折线图显示效果:完整代码地址: 附件:...
    发表于 05-20 14:12 839次 阅读
    HarmonyOS应用开发-Graphview折线图显示

    贸泽备货Sensirion SEN5x环境传感器模组 为用户提供可靠的空气质量数据

    2022年5月19日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 分销商贸泽电....
    的头像 21克888 发表于 05-20 14:07 813次 阅读
    贸泽备货Sensirion SEN5x环境传感器模组 为用户提供可靠的空气质量数据

    许北林:我为什么加入OpenHarmony生态?又为什么要做“启航KP”开发套件?

    许北林软通动力资深项目经理 在全球开源趋势下,中国正逐渐成为全球开源软件的主要使用者和核心贡献者。今天我们来认识一位接触...
    发表于 05-20 11:41 3393次 阅读

    请问DevEco Studio开发生成的HAP应用能否打包成APK?

      各位大神,本人是初学菜鸟,我想知道DevEco Studio开发生成的HAP应用能否打包成APK。   因为听说鸿蒙系统有良好...
    发表于 05-20 11:33 729次 阅读

    从HUAWEI Mate Xs 2来看折叠屏的设计规范

    随着新一代折叠屏手机HUAWEI Mate Xs 2发布,HarmonyOS折叠屏设计规范(后文简称....
    的头像 海阔天空的专栏 发表于 05-20 11:28 284次 阅读
    从HUAWEI Mate Xs 2来看折叠屏的设计规范

    HarmonyOS折叠屏设计规范

    图1是信息展示案例对比图,设计规范建议展开态不应出现页面内的内容元素数量减少,或图形化元素模糊、分辨....
    的头像 HarmonyOS开发者 发表于 05-20 09:53 127次 阅读

    曙光打造Object System实现用户建设高价值存储愿景

    随着数字经济加速发展,海量数据与丰富应用场景成为新焦点,海量存储更是被高频提及。在数十甚至数百PB的....
    的头像 科技绿洲 发表于 05-19 17:13 483次 阅读

    华为p50 e的优缺点分别是怎样的

    华为 P50E是华为公司于2022年3月16日正式发布的手机。
    的头像 独爱72H 发表于 05-19 15:17 336次 阅读

    华为p50参数配置支持5g吗

    华为p50是华为公司于2021年7月发布的一款旗舰手机,华为p50参数配置暂时不支持5g,虽然华为p....
    的头像 lhl545545 发表于 05-19 11:13 1386次 阅读

    物联网未来发展最大的瓶颈是什么

    经过长期的发展,物联网在各个领域催生了类目众多、数量庞大的物联设备,例如水务行业的智能水表、医疗行业....
    发表于 05-19 10:56 41次 阅读

    华为p50e怎么样值得买吗

    华为P50E是今年3月16日发布的新机,华为P50E是属于华为P50系列,它的外观延续了P50系列的....
    的头像 lhl545545 发表于 05-19 10:18 1538次 阅读

    有方科技高精度异动监测仪T915可实现智能精确预警

    有方科技自主研发的高精度异动监测仪T915,是一款专为监测预防房屋或桥梁等建筑物坍塌、边坡地质灾害、....
    的头像 科技绿洲 发表于 05-18 17:17 545次 阅读

    Scraper Chrome的简单网页抓取

    ./oschina_soft/scraper.zip
    发表于 05-18 15:05 7次 阅读
    Scraper Chrome的简单网页抓取

    HarmonyOS应用开发例程-Img上一张下一张实现

    一.创建项目 二.示例代码 (图片自备) index.hml {{index}} index.css....
    的头像 鸿蒙时代 发表于 05-18 10:36 1795次 阅读
    HarmonyOS应用开发例程-Img上一张下一张实现

    HarmonyOS服务开放平台推出“崩溃服务能力”

    用户在使用原子化服务时,出现卡顿、缓慢、闪退等情况就是典型的崩溃。尽管原子化服务在发布前都会经过严格....
    的头像 科技绿洲 发表于 05-18 10:16 217次 阅读
    HarmonyOS服务开放平台推出“崩溃服务能力”

    用于数据中心配电的新型4750系列多功能IEC连接器模块

    为了满足数据中心配电的高特定性需求,SCHURTER推出了其新型4750系列IEC Type F连接....
    的头像 21克888 发表于 05-17 11:50 815次 阅读
    用于数据中心配电的新型4750系列多功能IEC连接器模块

    思博伦推出业界首创800G测试平台 可加快部署时间线

    作为一项顶级光通信和网络行业全球展会,2022年OFC大会将众多业界参与者齐聚一堂,与会的观众达80....
    的头像 科技绿洲 发表于 05-17 11:17 188次 阅读

    甲骨文公司助力来也科技打造全球化营销战略 加速海外业务布局

     全球领先的智能自动化供应商来也科技(北京)有限公司(以下简称 “来也科技” )携手甲骨文公司,采用....
    的头像 科技绿洲 发表于 05-16 15:28 368次 阅读

    Tornjak企业级身份管理工具

    ./oschina_soft/tornjak.zip
    发表于 05-16 10:21 5次 阅读
    Tornjak企业级身份管理工具

    FIFO中断通信逻辑介绍

    自中科昊芯推出专题讲解SCI串口通信以来,第一期主要讲解SCI串口FIFO通信原理,第二期主要讲解S....
    的头像 科技绿洲 发表于 05-16 09:53 205次 阅读
    FIFO中断通信逻辑介绍

    如何用低代码实现简单的页面跳转功能

    HUAWEI DevEco Studio(后文简称:IDE)自2020年9月首次发布以来,经10次迭....
    的头像 科技绿洲 发表于 05-16 09:47 184次 阅读
    如何用低代码实现简单的页面跳转功能

    如何用低代码实现一个简单的页面跳转功能

    我们先开发第一个页面,如图4所示,第一个页面是在容器中展示“低代码入门”文本和“一键入门”按钮,它们....
    的头像 HarmonyOS开发者 发表于 05-16 09:45 174次 阅读

    智能猫眼的实现是采用流媒体协议RTSP

    RTSP 采用 Server/Client 模式,在本样例场景中 Hi3518EV300为RTSP ....
    的头像 OpenAtom OpenHarmony 发表于 05-16 09:20 159次 阅读

    Android开发者需要知道的那些事

    世界上仅有为数不多的几个平台可以帮助开发者们轻松构建作品,并分发至全球数十亿用户的各种设备——不仅在....
    的头像 谷歌开发者 发表于 05-14 15:28 396次 阅读

    泰克发布2022年校准服务趋势调查主要数据

    中国北京2022年5月13日 — 全球领先的测试测量企业泰克科技日前发布了首次2022年校准服务趋势....
    的头像 21克888 发表于 05-13 16:54 293次 阅读
    泰克发布2022年校准服务趋势调查主要数据

    紫光股份率先提出“零碳+智慧”理念 加速能源数字化转型

    迈进“十四五”,“碳达峰、碳中和”是推动中国产业结构变革和升级的重要抓手,也是实现可持续发展的时代答....
    的头像 科技绿洲 发表于 05-13 14:12 225次 阅读

    人工智能数据资源服务商海天瑞声发布2021年报

    人工智能数据资源服务商北京海天瑞声科技股份有限公司发布2021年报,具体内容如下。 近三年主要会计数....
    的头像 汽车玩家 发表于 05-13 11:26 237次 阅读

    HarmonyOS应用开发样例-绘制图像实现

    说明: 从API version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始....
    的头像 鸿蒙时代 发表于 05-13 11:12 3728次 阅读
    HarmonyOS应用开发样例-绘制图像实现

    IBM最新发布《2022年CEO调研报告》

    IBM(纽约证券交易所代码:IBM)商业价值研究院 (IBV) 最新发布的《2022年CEO调研报告....
    的头像 科技绿洲 发表于 05-13 11:11 186次 阅读

    Flocker Docker容器管理工具

    ./oschina_soft/flocker.zip
    发表于 05-13 10:10 12次 阅读
    Flocker Docker容器管理工具

    星环科技推企业级AI能力运营平台Sophon MLOps 助推AI模型落地

    为解决AI落地难的问题,星环科技的AI团队从用户需求端出发,倾力研发了一款基于云原生架构的企业级AI....
    的头像 科技绿洲 发表于 05-12 17:17 301次 阅读

    HarmonyOS应用开发—qrcode二维码生成

    一.创建项目 二.示例代码 Hml代码: TypeColor{{$item}}Background ....
    的头像 鸿蒙时代 发表于 05-12 15:37 98次 阅读
    HarmonyOS应用开发—qrcode二维码生成

    数据分包设计的考虑

    像zigbee这样的物理层每帧最大只能传输127个字节,通过每层不断的封包到应用层后每包才100个字....
    的头像 嵌入式ARM 发表于 05-12 14:54 118次 阅读

    EEPlat PaaS应用基础平台

    ./oschina_soft/gitee-eeplat.zip
    发表于 05-12 14:32 8次 阅读
    EEPlat PaaS应用基础平台

    首席营销官如何利用数据力量在 2022 制定战略

    放眼数字化优先的超竞争世界,企业与客户之间的关系从未像今天这般举足轻重。要想游刃有余地驾驭这类关系,....
    的头像 21克888 发表于 05-12 14:12 230次 阅读
    首席营销官如何利用数据力量在 2022 制定战略

    本体自动化构建方法—面向制造领域人机物三元数据融合

    面向制造领域人机物三元数据融合的本体自动化构建方法 摘要 当前,智能制造面临的许多问题都具有不确定性....
    的头像 li1234567890123 发表于 05-11 17:30 305次 阅读

    HarmonyOS 2.0.0.23X版本更新进度公告 来看看有没有你

    的头像 HarmonyOS官方合作社区 发表于 05-11 09:39 231次 阅读

    继电器在菲律宾矿厂中的应用说明

    对电气线路进行接地故障保护,方式接地故障电流引起的设备和电气火灾事故越来越成为日常。针对用户侧主要的....
    发表于 05-10 23:06 23次 阅读
    继电器在菲律宾矿厂中的应用说明

    跨图像关系型KD方法语义分割任务-CIRKD

    语义分割任务作为计算机视觉中的基础任务之一,其目的是对图像中的每一个像素进行分类。该任务也被广泛应用....
    的头像 科技绿洲 发表于 05-10 11:30 171次 阅读
    跨图像关系型KD方法语义分割任务-CIRKD

    中兴Axon 40 Ultra搭载全新一代骁龙8移动平台

    近日,中兴举办了线上新品发布会,正式推出中兴Axon 40系列新品。Axon 40系列延续了中兴Ax....
    的头像 科技绿洲 发表于 05-10 11:01 581次 阅读

    打脸日本“工匠精神”,三菱电机数据造假达40年之久,原因竟然是?

    电子发烧友网报道(文/吴子鹏)5月9日,三菱电机数据造假再一次进入公众视野,多家媒体报道称,至少可以....
    的头像 Felix分析 发表于 05-10 00:45 1864次 阅读
    打脸日本“工匠精神”,三菱电机数据造假达40年之久,原因竟然是?

    CII-Census Linux基金会安全审查项目

    ./oschina_soft/cii-census.zip
    发表于 05-09 09:51 8次 阅读
    CII-Census Linux基金会安全审查项目

    desensitization数据脱敏工具类库

    desensitization.zip
    发表于 05-07 10:15 16次 阅读
    desensitization数据脱敏工具类库

    老树洞安全存储技术

    ./oschina_soft/lsdong.zip
    发表于 05-07 09:28 13次 阅读
    老树洞安全存储技术

    天马微电子喜获vivo“优秀质量奖“

    在“本分共赢,智创未来”为主题的vivo 2021年商业伙伴质量沟通大会上,天马微电子凭借与vivo....
    的头像 科技绿洲 发表于 05-06 16:58 420次 阅读

    如何运用正确方法管理攻击面

    Palo Alto Networks(派拓网络)威胁研究团队 Unit42 发现,在所有勒索软件攻击....
    的头像 科技绿洲 发表于 05-06 15:13 232次 阅读

    一种名为“STRIDE”的解卷积新方法

    首先,作者从乳腺癌(BRCA)scRNA-seq数据模拟了三个ST数据集,具有已知细胞类型组成的合成....
    的头像 上海生物芯片 发表于 05-06 15:05 233次 阅读

    HarmonyOS应用开发教程 显示开关功能与界面的实现

    一.创建项目 二.代码示例 hml      Js import prompt from '@sys....
    的头像 鸿蒙时代 发表于 05-06 14:15 4166次 阅读
    HarmonyOS应用开发教程 显示开关功能与界面的实现