“超级虚拟终端”数据如何流转?HarmonyOS为你探秘!|分布式数据管理解析

HarmonyOS是万物互联时代的操作系统。通过分布式技术,HarmonyOS将多台终端形成一台“超级虚拟终端”,让用户使用多设备如同使用单设备一样简单。那么在这个“超级虚拟终端”中,数据怎么存储?怎么同步?怎么访问?想必是大家最关心的问题。

对于上述问题,HarmonyOS分布式数据管理已经做了充分考虑。分布式数据管理的设计理念就是数据不再与单一物理设备绑定,跨设备的数据处理如同本地数据处理一样方便快捷,让开发者管理跨端数据像单设备一样的简单。

本篇开始就让我们一起揭开分布式数据管理模块的神秘面纱。

1、分布式数据怎么存储?

在开发智能终端应用和服务时,开发者经常会使用文件和数据库。传统的OS中,开发者实现跨端数据的共享和访问,通常是借助云端完成。但这种实现方式往往面临着云端存储搭建成本高、服务不够便捷、对用户数据和隐私保护不足等诸多挑战。针对这一境况,HarmonyOS在近端将多台终端形成一台“超级虚拟终端”,实现数据全部在本地完成存储,在数据服务的成本、便捷性和安全隐私保护等方面具有非常明显的优势。

示意图如下:

img

从图中我们可以看出,各个物理设备虽仍保留其本地数据,但对开发者来说,数据已不再与单一物理设备绑定。HarmonyOS提供的是一个基于“超级虚拟终端”的分布式数据,将多个设备的数据集中在一个逻辑上的“超级虚拟终端”本地,让跨端数据处理转变成如同“本地数据”处理一样方便快捷。

**举个例子:**照片分享。家庭出游时,爸爸、妈妈、爷爷、奶奶都会用各自手机拍了很多照片,每个人拍摄的内容不同,妈妈可能会要求爸爸给自己拍一些单人照,爷爷可能更多倾向于抓拍儿子与孙子孙女亲子互动的画面…….以前家庭对于各自拍摄图片共享的处理方式是通过是社交软件发送,数量一旦庞大将费时费力。然而,使用HarmonyOS分布式数据管理后,只需通过家庭照片共享,全家人可直接在自己手机上浏览、收藏和保存所有人拍摄的照片,省去了麻烦的传输操作。同时,大多数人经常使用的标签分类图片习惯,应用分布式数据管理技术能让用户一次查找到分布在不同终端上的照片,非常方便。

除了生活场景,针对办公领域,HarmonyOS分布式数据管理在文件分享中发挥巨大作用。在笔记本电脑上编辑邮件时,使用HarmonyOS分布式数据管理,用户可以直接选择手机上的文档或者照片作为附件发送,免去从手机转发保存文件或照片的步骤,提高工作效率。

2、如何保证跨设备数据的安全?

数据安全,隐私保护是用户最关注的问题,跨设备的数据安全尤其受到关注。真正实现既为开发者代码实现减负,又从系统层面保障数据安全。HarmonyOS在为设备建立可信认证,数据的隔离与同步访问控制,数据安全和隐私保护三个方面为数据安全保驾护航,真正实现既为开发者代码实现减负,又从系统层面保障数据安全。

设备之间建立可信认证连接

HarmonyOS充分考虑单用户多设备、多用户多设备的场景,为设备认证提供了两种方式。第一种是同账号设备自动连接,第二种是账号无关的设备连接。

img

同账号设备自动连接,依赖分布式软总线的技术,设备实现自动认证和连接,当其中一个设备开机进入一个网络中,其他同账号的设备在系统层面自动完成设备认证。

针对账号无关的设备连接,HarmonyOS提供扫码方式完成设备认证和连接,只需要调用系统接口生成二维码,再调用系统扫码接口实现扫码操作即可完成认证连接。这个时候,通过权限申请,设备间可以实现应用沙箱内的数据以及应用文件的互访。

对于上述连接过程涉及的设备认证、秘钥管理、会话密钥协商,数据隔离和访问控制等都在系统层面完成,大家无需通过代码实现,既降低开发门槛,又实现在系统层更好地保证安全性和用户隐私。

数据的隔离与同步访问控制

在分布式数据管理中,各应用的数据实现沙箱化隔离。应用之间的数据是被隔离的,每个应用通过分布式文件系统和分布式数据库只能访问到自己沙箱内的文件和数据。

此外,HarmonyOS提供垂直化数据安全的访问保护控制,不同安全风险等级的文件和数据会带上不同的等级标签,打开文件时通过等级标签来控制当前设备状态下是否允许访问。

数据安全和隐私保护

根据相关法律法规(GDPR、HIPPA、NIST…)的数据分类分级保护标准,以及业界最佳实践,HarmonyOS将数据分类成S0/S1/S2/S3/S4共5个保护等级。每个保护等级的数据从生成开始,在其存储,使用,传输的整个生命周期都需要根据对应的安全策略提供不同强度的安全防护。

img

每个数据(存在文件或者数据库中)在生成的时候都会打上相应的标签,这个标签将伴其一生,指导超级虚拟终端的各个节点对其提供一致强度的安全防护。

同时,超级虚拟终端的访问控制系统支持依据标签进行访问控制策略,保证数据只能在可以提供足够安全防护的节点之间存储,传输和使用。安全级别低的设备不能访问安全级别高的设备中一些比较敏感的,风险等级比较高的数据。

**3、分布式数据怎么同步? **

在传统OS下,数据跨设备间同步以及一致性问题都是通过云端同步逻辑来解决。不管是用户操作还是开发者代码实现都较为复杂。从设备A同步到设备B上,开发者至少需要通过6个步骤完成跨端数据同步:

  • Step1:获取同步锁,进行多设备互斥
  • Step2:下载云侧元数据
  • Step3:云侧元数据与本机合并
  • Step4:更新云侧元数据
  • Step5:文件端云同步
  • Step6:释放同步锁

img

而HarmonyOS提供的分布式数据库技术,与传统数据库操作访问的接口是一样的,也提供增删改查订阅通知等接口能力。但从代码上看,开发者只需要创建分布式数据库,同时设置自动同步,当另一个设备完成变化订阅通知,就能实现同一个数据在另一个设备上完成同步。

// 创建分布式数据库,设置成自动同步
KvStore kvStore = kvManager.getKvStore(new Options().setAutoSync(true), FileMetaDB);
// 订阅数据库变更通知;
kvStore.subscribe(SubscribeType.SUBSCRIBE_TYPE_REMOTE, kvObserver);
// 写入一条数据;
kvStore.putString(fileKey, filePath);
// 感知对端数据变化,业务逻辑处理;
KvStoreObserver kvObserver = new KvStoreObserver() {
    @Override
    public void onChange(ChangeNotification changeNotification) {
         // 业务处理逻辑
     }
}

针对数据一致性这一关键问题,HarmonyOS通过三大同步组件(时间同步、水位同步、数据同步)在系统层面解决不同设备之间数据同步相互冲突的问题。

此外,众所周知,设备的认证网络是不确定的,设备经常会出现的反复上下线情况,很多时候设备并不在已经认证好的网络当中。然而在离线状态下,某个设备仍然会产生数据。那么当其他设备重新上线的时候,如何解决数据冲突问题。HarmonyOS在系统层面完成问题解决,无需开发者顾虑。

最后分享一份鸿蒙(HarmonyOS)开发学习指南需要的可以扫码免费领取!!!

《鸿蒙(HarmonyOS)开发学习指南》

第一章 快速入门

1、开发准备

2、构建第一个ArkTS应用(Stage模型)

3、构建第一个ArkTS应用(FA模型)

4、构建第一个JS应用(FA模型)

5、…

图片

第二章 开发基础知识

1、应用程序包基础知识

2、应用配置文件(Stage模型)

3、应用配置文件概述(FA模型)

4、…

图片

第三章 资源分类与访问

1、 资源分类与访问

2、 创建资源目录和资源文件

3、 资源访问

4、…

图片

第四章 学习ArkTs语言

1、初识ArkTS语言

2、基本语法

3、状态管理

4、其他状态管理

5、渲染控制

6、…

图片

第五章 UI开发

1.方舟开发框架(ArkUI)概述

2.基于ArkTS声明式开发范式

3.兼容JS的类Web开发范式

4…

图片

第六章 Web开发

1.Web组件概述

2.使用Web组件加载页面

3.设置基本属性和事件

4.在应用中使用前端页面JavaScript

5.ArkTS语言基础类库概述

6.并发

7…

图片

11.网络与连接

12.电话服务

13.数据管理

14.文件管理

15.后台任务管理

16.设备管理

17…

图片

第七章 应用模型

1.应用模型概述

2.Stage模型开发指导

3.FA模型开发指导

4…

图片

扫描下方二维码免费领取,《鸿蒙(HarmonyOS)开发学习指南》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值