跳到主要内容

6 数据底座

6.1 一方数据

以下是一方数据存储中的结构示意.

6.1.1 命名空间

每个客户可以有 1 个(设备号存储区)或 2 个(设备号+wuid存储区)命名空间。

sRTA 存储

6.1.2 命名空间内存储

存储区有三种类型的字段,可满足不同场景的诉求。

sRTA 存储结构

uint8 共 128 个 uint32 共 16 个 flagWithExpire 共 8 个

6.1.3 字段使用

每个数组的一个值可视为 一列一个维度,每一列存贮什么内容由使用方自由发挥。

6.1.4 使用示例

例如我们可将uint8 的第 0列用于App 的已安装状态,当该值为 1 时,即表示已安装。

sRTA 存储结构

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 的入参。