ITBEAR科技资讯
网站首页 科技资讯 财经资讯 分享好友

分布式数据对象:超级终端的“全局变量”

时间:2022-04-27 13:37:00来源:互联网编辑:星辉

在3月底发布的OpenHarmony v3.1 Release版本中,新增了分布式数据对象特性。什么是分布式数据对象呢?本期就让我们一起来了解一下~

一、背景介绍

OpenHarmony作为分布式操作系统,支持运行在不同的终端设备上。这些终端设备通过跨端迁移和多端协同等,可以为用户提供丰富、流畅的全场景体验。在这种分布式场景下,不同设备之间需要进行数据互通来实现设备间的配合。

下面先看两个分布式场景的示例:

示例1:可触屏和TV的协作

在TV/PAD上观看视频时,在可触屏设备上控制TV/PAD上的播放状态、进度、音量和速度等,实现多端控制。

图1 多端控制,解放设备限制

示例2:词典笔同步翻译

使用词典笔扫描书本内容,在手机/PAD上同步展示翻译结果、内容链接、词典、例句和音标等。

图2 同步翻译,学习不限小屏

要实现上面两个示例的功能,首先必须实现设备之间的数据同步。传统方式下,设备之间的数据同步,需要开发者完成消息处理逻辑,包括:建立通信链接、消息收发处理、错误重试、数据冲突解决等操作,工作量非常大。而且设备越多,调试复杂度将呈指数增长。是否有更简单的实现方式?经过分析,我们发现,示例中的播放状态、进度、音量和速度等其实都是变量。如果这些变量支持“全局”访问,那么开发者跨设备访问这些变量就能像操作本地变量一样,数据就能够自动高效、便捷地实现多端同步了。

为此,本次OpenHarmony v3.1 Release版本新增了分布式数据对象特性。分布式数据对象为开发者在分布式应用场景下提供简单易用的JS接口,轻松实现多设备间同应用的数据协同,同时设备间可以监听对象的状态和数据变更。与传统方式相比,分布式数据对象大大减少了开发者的工作量。

(为方便描述,后文中“分布式数据对象”也简称为“对象”。)

二、原理解析

这么简单高效的分布式数据对象技术具体如何实现的呢?让我们来一一解析~

1. 对象的数据同步

分布式数据对象,最重要的功能就是对象之间的数据同步。可信组网内的设备可以在本地创建分布式数据对象,并设置sessionID。不同设备上的分布式数据对象,通过设置相同的sessionID,建立对象之间的同步关系。

如图3所示,设备A和设备B上的“分布式数据对象1”,其sessionID均为session1,这两个对象建立了session1的同步关系。

图3 对象的同步关系

一个同步关系中,一个设备只能有一个对象加入。比如图3中,设备A的“分布式数据对象1”已经加入了session1的同步关系,所以,设备A的“分布式数据对象2”就加入失败了。

建立同步关系后,每个session有一份共享对象数据。加入了同一个session的对象,支持以下操作:

(1)读取/修改session中的数据。

(2)监听数据变更,感知其他对象对共享对象数据的修改。

(3)监听状态变更,感知其他对象的加入和离开。

关于分布式数据对象的数据同步,值得注意的是,同步的最小单位是“属性”。比如,图4中对象1包含三个属性:name、age和parents。当其中一个属性变更时,则数据同步时只需同步此变更的属性。

图4 数据视图

2. 对象的生命周期

接下来,我们从生命周期的角度来全面认识一下分布式数据对象。

图5 生命周期

如图5所示,对象包括三种状态:未初始化、本地对象和分布式对象。这三种状态说明如下:

图6 对象的三种状态

根据条件变化,对象在这三种状态之间会来回切换:

最开始,对象处于未初始化状态。实例化之后,对象就从未初始化状态切换到本地对象状态。给对象设置sessionID,收到对端设备对象上线通知后,此时可以跨设备同步数据了,对象就进入了分布式对象状态。

本端或远端设备下线,或者sessionID被清除,那么对象又切回本地对象状态。分布式对象实例和对应的内存数据库都保存在应用程序的进程空间,当应用程序退出后,分布式对象和内存数据库也随之销毁,对象直接进入未初始化状态。

三、开发约束及案例

经过上面的介绍,大家对分布式数据对象已经有了充分的了解了,下面就要介绍开发者们最关心的“怎么用”的问题了。

在使用分布式数据对象之前,我们先说明一下相关的开发约束:

1. 单个应用程序最多只能创建16个分布式数据对象实例。

2. 考虑到性能和用户体验,最多不超过3个设备进行数据协同。

3. 考虑到性能和用户体验,分布式数据对象大小限制在500KB以内。

4. 分布式数据对象的数据同步发生在同一个应用程序下,且同session ID之间。

接下来,我们通过一个简单的开发案例来讲解如何使用分布式数据对象。此案例中,设备A和设备B分别创建一个包含3个属性的对象,这两个对象加入到同一个session,建立同步关系。一个对象的属性变更会自动同步到另一个对象,从而实现 “全局变量”效果。

通过此案例,我们能够掌握分布式数据对象的基本操作,包括:

1. 创建对象

2. 设置sessionID

3. 设置监听对象变更的回调

4. 监听状态变更

代码示例如下:

1. 设备A的JS代码示例:

      本期,我们为大家讲解了分布式数据对象的产生背景、原理及开发案例。如果你想体验更详细的分布式数据对象,欢迎加入OpenHarmony开源项目,项目对应分布式数据库仓库地址:

https://gitee.com/openharmony/distributeddatamgr_objectstore

后续仓库还将陆续发出分布式数据对象的sample哦,敬请期待!

更多热门内容
国补手机哪些适合大学生:联想razr60与edge 60精选
开学季来临,换新手机是许多大学生的刚需。作为学生党,既追求时尚外观和实用功能,又对价格敏感,有国补又能叠加学生优惠的手机无疑是双赢的选择。即使预算不多也可拿下主流直屏手机,还可考虑时尚潮流的折叠屏,比如联想moto razr 60系列。以下就给学生朋友们分享折叠

2025-08-21

国补加持下的平板电脑推荐:从百元助学到旗舰AI
在当前国补政策的红利下,平板电脑市场的价格变动使得消费者迎来了难得的入手良机。联想作为国内平板市场的主流品牌,旗下多款产品均纳入国补范围,从百元级助学神器到旗舰级AI生产力工具,形成了完整的价格梯度覆盖。这里我将分享其中六款热门的平板型号,从性能解析、

2025-08-21

2025国补尾巴,笔记本电脑值得推荐的三大系列
2025 年笔记本国补政策进入最后三个月冲刺期,截至12月31日,购买联想指定机型可享双重福利:直接补贴最高2000元+学生认证额外9折,综合优惠力度创年内新高。本次聚焦拯救者、小新、YOGA三大系列八款核心机型,按游戏电竞、移动办公、创意设计三大场景分类推荐,结合国

2025-08-21

从“手动挡”进入“AI智能挡”:亚数TrustAsia 开启证书管理「服务化」新时代
在数字化转型加速推进的当下,TLS/SSL证书作为网络安全体系的关键基础设施,通过实现端到端加密传输、身份验证,为保障企业关键业务数据安全和构建可信网络环境发挥着至关重要的作用。随着密码学技术向抗量子计算范式演进,行业对加密敏捷性(Cryptographic Agility)要求

2025-08-21

科隆游戏展:纯血进化 ROGXBOX掌机X正式发布
核心亮点:l 全新软件生态体验:ROG联手XBOX共同打造,融合XBOX全新前端、奥创智控中心SE、Windows开放式体验优势,便携式游戏体验全面跃升l 握持体验大升级:全新手柄设计优化人体工学曲线,引入XBOX标志性的脉冲扳机,媲美专业XBOX手柄舒适握持l 次世代性能:首发搭载

2025-08-21

不止能干活!新能源汽车排行爆款上汽大通大拿V1重新定义轻客角色
说实话,要不是亲身体验过,我真不会相信我们家开得最多的车,竟然是一台轻客。以前一直觉得轻客就是干活用的,拉货、送快递那类,和家用根本不搭边。但生活总有些现实需求:家里有人做小本生意,有孩子要接送,还有老爸喜欢自驾游。原来的小轿车早就不够用了,换来换去

2025-08-21

声态+AI |2026中国国际音频产业大会(GAS)明年3月举办
随着生成式AI的快速发展声音已成为人机交互、虚拟现实和情感体验的核心纽带GAS 2026将共同探讨AI如何重塑音频创作、传输与消费的全链条2026中国国际音频产业大会(GAS 2026)时间:2026年3月25—26日地点:上海张江科学会堂主题:声态+AI主办单位:中国电子音响行业协会

2025-08-21

益生菌对增肥哪个牌子好看完这篇不再纠结
你有没有过这样的经历:明明吃得不多,体重却一直上不去,甚至有点“喝凉水都难胖”的无奈?我就是这样一个肠胃敏感、代谢快得像开了挂的人。试过增肌粉、蛋白棒、高热量饮食,效果微乎其微。直到三年前,一位营养师朋友提醒我:“你是不是忽略了肠道环境?吸收不好,吃再多也没

2025-08-21

深耕垂类大模型!中关村科金入选2025年《财富》中国科技50强
2025年8月21日,全球最具影响力的商业媒体之一《财富》(FORTUNE)正式发布“2025年中国科技50强”榜单。中关村科金凭借在垂类大模型领域从技术研发、平台应用到产业落地的全链条能力,成功登榜。《财富》系列榜单一直被视为全球商业发展趋势的风向标,具有极高的权威性和

2025-08-21

下一个爆款在哪儿?2025英特尔人工智能创新应用大赛获奖名单揭晓
8月16日,2025英特尔人工智能创新应用大赛总决赛暨颁奖典礼在深圳盛大启幕。历经层层选拔,从2817支年轻队伍中脱颖而出的40个优秀团队和作品,围绕工业、教育、心理健康、游戏等领域,展开了巅峰对决。最终,在总决赛现场,各项重磅大奖尘埃落定。其中,动力电池多机器

2025-08-21