游戏陪玩平台系统开发,分布式存储的实现方式

游戏陪玩平台系统开发,分布式存储的实现方式

分布式数据服务为游戏陪玩平台系统提供不同设备间数据库数据分布式的能力。通过调用分布式数据接口,游戏陪玩平台系统将数据保存到分布式数据库中。通过结合帐号、应用和数据库三元组,分布式数据服务对属于不同游戏陪玩平台系统的数据进行隔离,保证不同业务之间的数据不能通过分布式数据服务互相访问。在通过可信认证的设备间,分布式数据服务支持游戏陪玩平台系统中数据相互同步,为用户提供在多种终端设备上一致的数据访问体验。实现代码包含以下步骤:分布式数据库的创建分布式数据库的插入和删除分布式数据库的数据同步实现分布式数据库需要申请的权限为了实现游戏陪玩平台系统的分布式数据库,需要在entry\src\main\config.json中申请ohos.permission.DISTRIBUTED_DATASYNC权限,以便允许不同设备间的数据交换。示例代码如下:"reqPermissions":[{"name":"ohos.permission.DISTRIBUTED_DATASYNC"}]}如何创建分布式数据库游戏陪玩平台系统创建分布式数据库,首先要做的就是创建分布式数据库管理器实例KvManager,我们定义了如下方法:KvManagermanager=null;try{KvManagerConfigconfig=newKvManagerConfig(this);manager=KvManagerFactory.getInstance().createKvManager(config);}catch(KvStoreExceptionexception){HiLog.info(LABEL_LOG,LOG_FORMAT,TAG,"someexceptionhappen");}returnmanager;}创建成功后,借助KvManager创建SINGLE_VERSION分布式数据库,方法如下:SingleKvStorekvStore=null;try{Optionsoptions=newOptions();options.setCreateIfMissing(true).setEncrypt(false).setKvStoreType(KvStoreType.SINGLE_VERSION);kvStore=kvManager.getKvStore(options,STORE_ID);}catch(KvStoreExceptionexception){HiLog.info(LABEL_LOG,LOG_FORMAT,TAG,"someexceptionhappen");}returnkvStore;}如何进行游戏陪玩平台系统数据查询、插入和删除数据插入在将游戏陪玩平台系统数据写入分布式数据库之前,需要先构造分布式数据库的Key(键)和Value(值),通过putString方法将数据写入到数据库中,具体示例如下:if(key==null||key.isEmpty()||value==null||value.isEmpty()){return;}singleKvStore.putString(key,value);}数据查询分布式数据库中的游戏陪玩平台系统数据查询是根据Key(键)来进行的,如果指定Key(键),则会查询出对应Key(键)的数据;如果不指定Key,既为空,则查询出所有数据,查询示例代码如下ListentryList=singleKvStore.getEntries("");contactArray.clear();try{for(Entryentry:entryList){contactArray.add(newContacter(entry.getValue().getString(),entry.getKey()));}}catch(KvStoreExceptionexception){HiLog.info(LABEL_LOG,LOG_FORMAT,TAG,"thevaluemustbeString");}contactAdapter.notifyDataChanged();}如何进行分布式数据库的同步游戏陪玩平台系统在进行数据同步之前,首先需要先获取当前组网环境中的设备列表,然后指定同步方式(PULL_ONLY,PUSH_ONLY,PUSH_PULL)进行同步,以PUSH_PULL方式为例,示例代码如下:List<DeviceInfo>deviceInfoList=kvManager.getConnectedDevicesInfo(DeviceFilterStrategy.NO_FILTER);List<String>deviceIdList=newArrayList<>();for(DeviceInfodeviceInfo:deviceInfoList){deviceIdList.add(deviceInfo.getId());}HiLog.info(LABEL_LOG,LOG_FORMAT,TAG,"devicesize="+deviceIdList.size());if(deviceIdList.size()==0){showTip("组网失败");return;}singleKvStore.registerSyncCallback(newSyncCallback(){@OverridepublicvoidsyncCompleted(Map<String,Integer>map){getUITaskDispatcher().asyncDispatch(newRunnable(){@Overridepublicvoidrun(){queryContact();showTip("同步成功");}});singleKvStore.unRegisterSyncCallback();}});singleKvStore.sync(deviceIdList,SyncMode.PUSH_PULL);}以上就是“开发游戏陪玩平台系统,如何实现分布式存储?”的全部内容,希望对大家有帮助,游戏陪玩平台系统的数据存储在开发过程中是比较重要的环节,所以需要格外重视。本文转载自网络,转载仅为分享干货知识,如有侵权欢迎联系云豹科技进行删除处理原文链接:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Proudly powered by WordPress | Theme: HoneyWaves by SpiceThemes