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

作者: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的成长!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/66246.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

滋灌中小企业,分销伙伴和华为来做“送水人”

最近有个段子:第一批靠生成式AI赚大钱的人,既不是研发人员,也不是国内大厂,而是卖课的。 大家笑谈,每一轮新技术的掘金之路,最先致富的都是送水、卖铲子的。 这其实隐藏了一个信息技术产业的普遍规律&#…

除了新发布鸿蒙系统,华为还在HMS生态上下功夫

近日,华为举办鸿蒙系统(HarmonyOS)发布会,一时之间「鸿蒙手机来了」话题迅速占领热搜榜。作为一个国产移动操作系统,它被寄予了无数国人的期待、支持。 想要真正打造操作系统,关键点在于能否形成软件生态。鸿蒙系统背后&#xff0…

如何才能让手机厂商主动拥抱华为,接入鸿蒙系统?

一直以来操作系统都被国外企业所垄断,很多国家都没有属于自己的操作系统,比如俄罗斯就是这样:谷歌制裁俄罗斯,俄罗斯的手机都变成了砖头,还有什么比这更可怕的事情吗? 以前我们一直在担心这种事情现在终于…

华为:用一个圈子联接一个圈子

文/张戈 当今的企业级IT市场就是一个圈子联接着一个圈子,谁的圈子半径越大,圈子更稳固,其成绩就越斐然。这里没有丝毫贬义的成分,世界上没有任何一家企业,能脱离生态圈,在企业市场中生存。 何为生态圈&…

ChatGPT对于文心一言的评价

百度文心一言是一种短文本生成应用,它基于自然语言处理和机器学习技术,能够生成一些短小精悍的文学句子或者名言警句,提供给用户进行欣赏或者分享。 用户可以在百度文心一言的网站或者APP上输入关键词或者选择主题,例如“爱情”、…

什么是爬虫,java爬虫,动态爬虫

前言 数据将成为像石油一样宝贵的资源? 石油通过不同的方式提取可以获得工业橡胶、柴油、汽油、航空煤油等各种不同的产物。 数据从某些方面来看是和石油一样,也是可以提炼的,不同视角去看数据会有不同的作用 比如拿到所有关于车的信息&…

chatgpt赋能python:自动预约系统的效率和便捷性:基于Python的解决方案

自动预约系统的效率和便捷性:基于Python的解决方案 随着互联网的不断发展,各行各业越来越多地依赖于数字化技术。特别是在当前的疫情背景下,公共场所的预约成为必要的防疫措施。但是,面对着上千人的预约,人工管理是非…

抖音seo源码搭建,抖音矩阵系统源码分发,抖音矩阵账号管理系统

前言: 抖音seo源码,抖音矩阵系统源码搭建,抖音矩阵同步分发。抖音seo源码部署是需要对接到这些正规接口再来做开发的,目前账号矩阵程序开发的功能,围绕一键管理多个账号,做到定时投放,关键词自动…

抖音seo源码搭建,抖音矩阵系统源码分发,抖音矩阵账号管理

前言: 抖音seo源码,抖音矩阵系统源码搭建,抖音矩阵同步分发。抖音seo源码部署是需要对接到这些正规接口再来做开发的,目前账号矩阵程序开发的功能,围绕一键管理多个账号,做到定时投放,关键词自动…

本地化大战,互联网巨头们又开始了

在本地生活上,美团和饿了么在擂台上打得不可开交,甚至快打完的时候,台下的抖音和拼多多与小红书也围了上来,开始复盘学习双方的经验,开始制定自己的锻炼计划……为了2025年的本地生活服务价值万亿元的市场。 今天&…

投资理财-变化

从第二天变成第三天,截图记录下这个变化,说明每宝的日子比以前更加难过了,这是好事嘛?我也不知道,判断不出来,未来继续看吧

理财通app的设计与实现(四)

一、数据分析界面 1、界面效果 2、前期准备 2.1 首先添加 AndroidMPChart 的依赖 (1)在素材文件夹中,选择 jar 包文件:MPAndroidChart-v3.0.3.jar,复制该 文件。 (2)展开 Android 的工程目录结构…

香港长和集团开创P2F金融理财新征程

2019年致2022年全球经济遭受严峻考验,疫情影响更为深远!凭借稳健发展策略,长和集团于十九世纪建基香港,是一家业务遍布全球的大型跨国综合企业,一向锐意创新,在不同业务范围广泛应用新科技,集团…

小米的创新四则

什么叫创新?我的理解,创新就是要做别人没做过的事情,或者是别人做过没有做成的事情。这样的事情一定不容易,它们有个特点,就是风险特别大。 风险大的事情一般不适合大企业干,所以创新的主体往往是创业的小公…

一名米粉述说:当年雷军是如何带领小米发展的

Author:Runsen 8月11日,小米集团董事长兼CEO雷军在小米北京总部举行了一场主题为《一往无前》的小米十周年演讲。 小时候的雷军,是“别人家的孩子” 雷军出生于仙桃市,仙桃位于湖北省中南部的江汉平原,拥有1500年多年…

小米方法论总结:雷军首部商业思考著作《小米创业思考》面世

8月11日晚,小米秋季新品发布会在京举行,小米集团创始人、董事长兼CEO雷军第三次做年度公开演讲,分享他曾经遇到的人生低谷,以及如何逆境中发现机会、奋起前行的故事。在发布会上,雷军还首次披露自己的首部商业思考著作…

【软件应用开发】小米便签APP维护开发

本文主要介绍在小米便签APP原有功能的基础上,设计并实现了便签添加图片的功能,从开发过程、运行界面、源代码三个方面进行详细介绍。 本文引用小米便签社区开源版代码:https://github.com/MiCode/Notes 小米便签APP维护开发完整源代码地址&am…

粗谈小米商业模式

01小米的“新零售” https://mp.weixin.qq.com/s/-_VLWX25eXdo6su8sE01nA 零售:其实就是信息流、资金流、物流的三种基本要素的万千组合。商品展现的参观和体验是信息流;付款收款是资金流;自己取回或快递送家是物流; 电商相对于…

新媒体短视频运营培训骗局

现在新媒体短视频运营培训的广告铺天盖地,是不是骗子啊?现在很多人会有这样的疑问,针对这个问题,我还是提醒同学们提高警惕,市场上有好有坏,就像当初UI设计四个月骗局一样,同学们还是保持一定的甄别意识。…

为什么做短视频你的一直不爆?

大家好,我是我赢助手短视频运营,专注于短视频去水印、去重和文案提取及短视频运营创作。 今天给大家分享的为什么做短视频你的一直不爆? 你在做账号之前,最多准备了多少条视频,有五条吗?有三十条吗&#…