diff --git a/services/distributeddataservice/app/src/kvstore_meta_manager.cpp b/services/distributeddataservice/app/src/kvstore_meta_manager.cpp index 4eb7f53548a2c5d588fb1d325f698ea9fa6234bc..46960e3642e730abeb703e113e3eb965d2462432 100755 --- a/services/distributeddataservice/app/src/kvstore_meta_manager.cpp +++ b/services/distributeddataservice/app/src/kvstore_meta_manager.cpp @@ -250,25 +250,33 @@ Status KvStoreMetaManager::CheckUpdateServiceMeta(const std::vector &me DistributedDB::DBStatus dbStatus; DistributedDB::CipherPassword dbPassword; const std::string deviceAccountId = AccountDelegate::MAIN_DEVICE_ACCOUNT_ID; + + const std::string userId = AccountDelegate::GetInstance()->GetCurrentHarmonyAccountId(); + std::initializer_list backList = {userId, "_", META_DB_APP_ID, "_", Constant::SERVICE_META_DB_NAME}; + std::string backupName = Constant::Concatenate(backList); + std::initializer_list backFullList = {BackupHandler::GetBackupPath(deviceAccountId, pathType), "/", + BackupHandler::GetHashedBackupName(backupName)}; + auto backupFullName = Constant::Concatenate(backFullList); + switch (flag) { case UPDATE: dbStatus = metaDelegate->Put(dbKey, dbValue); - metaDelegate->Export(BackupHandler::GetBackupPath(deviceAccountId, pathType), dbPassword); + metaDelegate->Export(backupFullName, dbPassword); break; case DELETE: dbStatus = metaDelegate->Delete(dbKey); - metaDelegate->Export(BackupHandler::GetBackupPath(deviceAccountId, pathType), dbPassword); + metaDelegate->Export(backupFullName, dbPassword); break; case CHECK_EXIST: dbStatus = metaDelegate->Get(dbKey, dbValue); break; case UPDATE_LOCAL: dbStatus = metaDelegate->PutLocal(dbKey, dbValue); - metaDelegate->Export(BackupHandler::GetBackupPath(deviceAccountId, pathType), dbPassword); + metaDelegate->Export(backupFullName, dbPassword); break; case DELETE_LOCAL: dbStatus = metaDelegate->DeleteLocal(dbKey); - metaDelegate->Export(BackupHandler::GetBackupPath(deviceAccountId, pathType), dbPassword); + metaDelegate->Export(backupFullName, dbPassword); break; case CHECK_EXIST_LOCAL: dbStatus = metaDelegate->GetLocal(dbKey, dbValue); @@ -1253,7 +1261,7 @@ bool KvStoreMetaManager::GetKvStoreMetaByType(const std::string &name, const std return false; } - DistributedDB::Key metaKeyPrefix = KvStoreMetaRow::GetKeyFor(KvStoreMetaRow::KEY_PREFIX); + DistributedDB::Key metaKeyPrefix = KvStoreMetaRow::GetKeyFor(""); std::vector metaEntries; DistributedDB::DBStatus dbStatus = metaDelegate->GetEntries(metaKeyPrefix, metaEntries); if (dbStatus != DistributedDB::DBStatus::OK) {