一、写在前面的话
分布式能力是鸿蒙的一大亮点,不管是分布式数据库,还是分布式文件管理,抑或是分布式任务流转,都给我们日常的使用习惯带来很大的变革。很多时候我就在想,我们还能怎样应用分布式呢?百思不得其解之时,爱因斯坦的小提琴就莫名其妙地浮现在了脑海里。音乐!一个好的乐队、好的乐团,不正是由一个个小的部分组成的吗?于是,自由乐队就蕴育而出了。
本文将重点讲述下自由乐队分布式协同演奏的技术实现路线,重点讲的是思路,讲的不好的地方还请大家多多包涵。
二、路线一
采用监听数据库的方法实现组网间设备的协同演奏。
主要流程如上图,核心就是分布式状态数据库和分布式音乐演奏数据库,通过监听这两个数据库实现组网间设备的组队和协同演奏功能。分布式状态数据库用于组队信息的传输,分布式协同演奏数据库用于乐器模拟按键信息的传输。
1、分布式音乐演奏数据库的初始化
如下图,我们软件初始化的时候就会创建属于该设备的DeviceKvStore,并对其进行监听。
同时,我们在DataAbility里有个deviceKvStores用来保存deviceId和DeviceKvStore的对应关系。
2、判断是否为本地端
如下图,我们采用通过intent携带的关键字来判断是