物联网平台碎片化严重,各种各样的芯片和操作系统,资源、能力差异非常大。但是物联网设备的存储需求又有非常高的安全性,因为涉及到用户的隐私问题;要有非常高的可靠性,因为客户的场景不可控,必须在各种极端的情况下保证用户设备的可用性;还要有性能的要求,保证用户的使用体验。涂鸦TuyaOS提供了KV DB支持在文件系统、Flash上实现一套基于Key-Value存储的加密数据库,屏蔽了底层介质、操作系统的差异,为开发者提供了安全、可靠、高效的数据存储服务。
接口描述
KV DB写入
OPERATE_RET
wd_common_write(IN CONST CHAR_T *key, IN CONST BYTE_T *value, IN CONST UINT_T len);
OPERATE_RET wd_common_write(IN CONST CHAR_T *key, IN CONST BYTE_T *value, IN CONST UINT_T len)
tuya key-value database write entry
KV DB读取
OPERATE_RET
wd_common_read(IN CONST CHAR_T *key, OUT BYTE_T **value, OUT UINT_T *p_len);
OPERATE_RET wd_common_read(IN CONST CHAR_T *key, OUT BYTE_T **value, OUT UINT_T *p_len)
tuya key-value database read entry
KV DB模糊读取
OPERATE_RET
wd_common_fuzzy_read(IN CONST CHAR_T *fuzzy_name, INOUT UINT_T *index, OUT BYTE_T **data, OUT UINT_T *len);
OPERATE_RET wd_common_fuzzy_read(IN CONST CHAR_T *fuzzy_name, INOUT UINT_T *index, OUT BYTE_T **data, OUT UINT_T *len)
tuya key-value database fuzzy read entry
KV DB模糊读取数据释放
OPERATE_RET wd_common_free_data(IN BYTE_T *data)
free the buffer which allocated by wd_common_read or wd_common_fuzzy_read
KV DB删除数据
OPERATE_RET wd_common_delete(IN CONST CHAR_T *key)
delete the entry from key-value database
KV DB模糊删除数据
OPERATE_RET wd_common_fuzzy_delete(IN CONST CHAR_T *key)
fuzzy delete the entry from key-value database
KV DB写入用户自定义数据
OPERATE_RET wd_user_param_write(IN CONST BYTE_T *data, IN CONST UINT_T len)
write the user parameter to tuya key-value database
KV DB读取用户自定义数据
OPERATE_RET wd_user_param_read(OUT BYTE_T **buf, OUT UINT_T *len)
read the user parameter from tuya key-value database
示例代码
sample_kv()
{
int rt = OPRT_OK;
EXPECT_EQ(rt, OPRT_OK);
BYTE_T *value = NULL;
UINT_T len = 0;
EXPECT_EQ(rt, OPRT_OK);
EXPECT_EQ(memcmp(value, "hello-world-x", 13), 0);
value = NULL;
len = 0;
EXPECT_EQ(rt, OPRT_OK);
EXPECT_EQ(rt, OPRT_OK);
UINT index = 0;
while(rt == OPRT_OK) {
if(value) {
value = NULL;
}
}
EXPECT_EQ(rt, OPRT_OK);
EXPECT_EQ(rt, OPRT_OK);
return OPRT_OK;
}
VOID ws_db_uninit(VOID)
tuya key-value database de-initialization