tigase数据库结构(十三)
一、Tigase数据库有很多张表,其中最主要的是3张表:tig_users,tig_nodes和tig_pairs。 #tig_users
tig_users存储用户信息,有uid(主键,用户ID),user_id(用户名),usr_pw(用户密码)等字段。 1.1 tig_users表 这个表定义了基本的用户信息,包括:
二、tig_nodes
tig_nodes是存储节点信息(用于把数据以层次的形式表现),有nid(主键,节点ID),parent_nid(父节点ID),uid(用户ID),node(节点类型)5个字段。每个uid对应5个节点:root,offline,privacy,invisible和msgoffline,以下是uid为14的用户对应的5个节点。
其结构层次如下:
默认用户有一个root节点。 数据库是一个“递归格式的”标准树形表,有一个parent_nid指向父节点。 主要属性: 节点:nid 用户:uid 父类节点:parent_nid 节点名称:node
三、tig_pairs
tig_pairs没有主键,以(key,value)的形式存储节点的具体数据。uid为14的用户在tig_pairs中的数据如下: pval字段以XML格式存储,各行的含义如下:
(1)第1行是privacy-list,对应tig_nodes中的invisible节点,暂时不清楚什么意思;
(2)第2行是roster,对应tig_nodes中的root节点,存储该用户的好友列表;
(3)第3-5行是messages,对应tig_nodes中的msgoffline节点,即离线信息,表明当前该用户有3条未接收的离线信息。
msg_history 这个表用来存放用户离线时需要送到的消息。 属性: 消息标识 msg_id 时间 ts 发送者id sender_uid 接收者id receiver_uid 消息类型 msg_type 消息内容 message
StanzaType
订阅发布(pubsub)Schema
tig_pubsub_service_jids 描述了订阅发布服务,这种设计允许支持多个订阅发布服务。 属性: 服务id 服务jid 服务jid sha1
tig_pubsub_nodes
节点是一个订阅发布消息的“主题”,支持树形结构,也就是高层节点发布,下层的节点也会收到。 消息订阅者订阅某个“节点”,消息发布这把消息发布发布某个节点,从而实现了双向透明的消息交换。 属性: 节点标识 node_id 服务id service_id 节点名称 name 名称sha1 name_sha1 节点类型: 0|1 节点标题 title 节点描述 description 创建者id creator_id 创建时间 creation_date 配置(xml) configuration collection_id
tig_pubsub_jids 存储订阅用户信息,属性: id jid 用户id
节点/用户关系(tig_pubsub_affiliations)
__EOF__
本文链接:https://www.cnblogs.com/veblen/p/14703868.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!