6 数据底座
6.1 一方数据
以下是一方数据存储中的结构示意.
6.1.1 命名空间
每个客户可以有 1 个(设备号存储区)或 2 个(设备号+wuid存储区)命名空间。
6.1.2 命名空间内存储
存储区有三种类型的字段,可满足不同场景的诉求。
uint8 共 128 个 uint32 共 16 个 flagWithExpire 共 8 个
6.1.3 字段使用
每个数组的一个值可视为 一列
或 一个维度
,每一列存贮什么内容由使用方自由发挥。
6.1.4 使用示例
例如我们可将uint8 的第 0列用于App 的已安装状态,当该值为 1 时,即表示已安装。
6.1.5 底层存储示意
// 仅作伪代码示意,非真实存储结构
#include <stdint.h>
#include <stdbool.h>
struct FlagWithExpire {
bool flag; // 标志位
bool default_flag; // 默认值
uint32_t expire; // 过期时间戳
};
struct StoreValue{
uint8_t bytes[128]; // byte型存储
uint32_t uint32s[16]; // uint32型存储
struct FlagWithExpire flag_with_expire[8]; // flag型存储
};
6.1.6 默认值
- uint8默认值:0
- uint32默认值:0
- flagWighExpire默认值为:flag = false, default_flag = false,expire = 0
6.2 二方数据
6.3 三方数据
三方数据在存储中的结构与一方数据相同。多个来源的三方数据使用dataspace概念进行区分与授权管理。不同的dataspace在操作时隔离,在使用时基于授权机制决定是否作为 LUA 的入参。