专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Tigase 数据库结构

1 核心****Schema

主要是3个表:tig_users, tig_nodes,和tig_pairs

这3个表定义了一个可扩展的“用户”数据存储框架。

1、1 tig_users****表

这个表定义了基本的用户信息,包括:

l uid 唯一主键

l user_id Jid

l sha1_user_id=sha1(user_id)

l user_pw =ALG(pass) 只有使用默认AUTH才有用,ALT=MD5(pass|userid+pass)..

l acc_create_time 创建时间

l last_login 最后登录时间

l online_status 在线状态(默认0)

l failed_logins 登录失败次数

l account_status 必须>0有效

1、2 tig_nodes****表

用来定义可扩展属性的树结构,属性必须放在“树形的节点上”,相当于文件系统的路径,访问格式事path1/path2[/…]

默认用户有一个root节点。

数据库是一个“递归格式的”标准树形表,有一个parent_nid指向父节点。

主要属性:

l 节点:nid

l 用户:uid

l 父类节点:parent_nid

l 节点名称:node

1、3 tig_pairs****表

这个表用来存储属性数据,它必须在一个用户和某个节点下,主要属性:

l 节点:nid

l 用户:uid

l 属性键:pkey

l 属性值:pval

2 订阅发布**(pubsub)Schema**

2、1 订阅服务**(tig_pubsub_service_jids)**

描述了订阅发布服务,这种设计允许支持多个订阅发布服务。

属性:

l 服务id

l 服务jid

l 服务jid sha1

2、2 节点**(tig_pubsub_nodes)**

节点是一个订阅发布消息的“主题”,支持树形结构,也就是高层节点发布,下层的节点也会收到。

消息订阅者订阅某个“节点”,消息发布这把消息发布发布某个节点,从而实现了双向透明的消息交换。

属性:

l 节点标识 node_id

l 服务id service_id

l 节点名称 name

l 名称sha1 name_sha1

l 节点类型: 0|1

l 节点标题 title

l 节点描述 description

l 创建者id creator_id

l 创建时间 creation_date

l 配置(xml) configuration

l collection_id

2、3 订阅用户**(tig_pubsub_jids)**

存储订阅用户信息,属性:

l id

l jid 用户id

2、4 节点**/用户关系(tig_pubsub_affiliations)**

定义了的节点哪些用户订阅了,是“节点表”和“用户表”的一个多对多关系表。

属性:

l 节点标识 node_id

l 用户标识 jid_id

l 关系类型:owner|member

2、5 发布项**(tig_pubsub_items)-**即消息

定义发布的消息。

属性:

l 节点标识 node_id

l 消息标识 id

l Id_sha1 id_sha1

l 创建时间 creation_date

l 发布者uid publisher_id

l 更新日期 update_date

l 数据:任意格式的数据,如下:

1329999999900000311奔驰修理厂add_member

2、6 订阅**(tig_pubsub_subscriptions)**

这个表的那些用户订阅了某个节点。(语节点用户关系表有一定重复)。

属性:

l node_id 节点

l jid_id 用户

l subscription 订阅,值为(subscribed|…)

l subscription_id 订阅标识

3 离线消息

3、1 msg_history**(表名有问题)**

这个表用来存放用户离线时需要送到的消息。

属性:

l 消息标识 msg_id

l 时间 ts

l 发送者id sender_uid

l 接收者id receiver_uid

l 消息类型 msg_type

l 消息内容 message

4 消息归档

tig_ma_*表示归档组件使用的表,主要:

94_1.png

4、1 tig_ma_jids

定义了消息归档的用户信息。

存储用户信息,属性:

l jid_id

l jid 用户id

4、2 tig_ma_msgs

用来存储某个用户“收发”的消息。

l msg_id

l owner_id 表tig_ma_jids的jid_id

l buddy_id 表tig_ma_jids的jid_id

l ts 消息产生时间

l direction 0(to)|1(from)

l type 类型

l body 消息内容

l msg 消息报文

l stanza_hash sha-256(peer、id、body)加密计算

l buddy_res 设备

4、3 tig_ma_msgs_tags

表tig_ma_msgs和表tig_ma_tags中间表

属性:

l msg_id 表tig_ma_tags中msg_id

l tag_id 表tig_ma_tags中tag_id

4、4 tig_ma_tags

用来存储用户拥有的元素标签

属性:

l tag_id 自生主键

l tag 元素标签

l owner_id 表tig_ma_jids的jid_id

4、5 mm_ma_msgs_tags

用来存储用户收发消息所拥有的标签

属性:

l msg_id 表tig_ma_msgs中msg_id

l tag 元素标签

5 MUC****消息历史

5、1 muc_history

这个表用来存储MUC消息的历史。

事实上,消息归档也支持MUC消息的归档。

属性:

l room_name roomjid

l event_type 默认1

l timestamp 时间戳

l sender_jid jid

l sender_nickname 昵称

l body 消息内容

l public_event 0

l msg 消息报文

6 消息传送

6、1 broadcast_msgs

这个表用来存储广播消息

属性:

l id 消息唯一表示id

l expired 消息过期时间

l msg 简化处理后的消息报文

6、2 broadcast_msgs_recipients

这个表用来存储已接收该广播消息人,防止重复接收

属性:

l msg_id 消息id(表broadcast_msgs的id)

l jid_id 接收消息jid

7 短消息

7、1 short_news

这个表用来存储短消息

属性:

l snid

l publishing_time 发布时间

l news_type 类型

l author 作者

l subject 主题

l body 内容

8 聊天室成员

8、1 tig_muc_members

这个表用来存储MUC聊天成员。

属性:

l id

l jid jid

l room_jid 聊天室jid

l update_time 最后动态时间

9 链接清单

9、1 ucpaas_bill_list

这个表用来记录连接清单

属性:

l ID

l FROM_CLIENT 来源

l TO_CLIENT 目的地

l START_TIME 开始时间

l END_TIME 结束时间

l TOTAL_TIME 总时长

l FEE 费用

10 记录用户

10.1 user_jid

这个表用来记录用户jid

属性:

l jid_id

l jid_sha sha1(jid)

l jid jid

l history_enabled 默认0

11 消息节点

11.1 xmpp_stanza

这个表用来暂时储存消息节点,用于检测xml消息格式是否正确,并添加xml注释处理、限制每个字符字符数

属性:

l id

l stanza 节点

表字典

1、 broadcast_msgs(消息历史表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 id varchar(128) N Y 用户JID
2 expired datetime N 过期时间
3 msg varchar(4096) N 消息内容

2、 broadcast_msgs_recipients(历史消息与接收人关系表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 msg_id varchar(128) N Y 消息ID
2 jid_id bigint(20) N Y 用户JID

3、 cluster_nodes(集群节点表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 hostname varchar(255) N Y 节点的主机名称
2 password varchar(255) N 节点密码
3 last_update timestamp N 节点数据更新时间
4 port int(11) Y 节点端口
5 cpu_usage double N 节点CPU使用量
6 mem_usage double N 节点内存使用量

4、 his_muc_history(聊天室历史消息表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 room_name char(128) N 房间ID
2 event_type int(11) Y 节点密码
3 timestamp bigint(20) Y 消息时间
4 sender_jid varchar(2049) Y 消息发送者JID
5 sender_nickname char(128) Y 消息发送者昵称
6 body text Y 消息内容
7 public_event tinyint(1) Y 发送结果?
8 msg text Y 消息报文

5、 his_tig_muc_members(聊天室历史成员表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 id bigint(20) N Y
2 jid varchar(30) N 成员JID
3 room_jid varchar(250) N 房间ID
4 update_time timestamp Y 成员加入时间

6、 his_tig_nodes(IM属性节点树历史表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 nid bigint(20) N 节点ID
2 parent_nid bigint(20) Y 父节点ID
3 uid bigint(20) N 用户UID
4 node varchar(255) N 属性名称

7、 his_tig_pairs(IM属性数据历史表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 nid bigint(20) Y IM属性节点ID
2 uid bigint(20) N 用户UID
3 pkey varchar(255) N 属性键
4 pval mediumtext Y 属性值

8、 mm_ma_msgs_tags(用来存储用户收发消息所拥有的标签表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 msg_id bigint(20) N 消息表ID
2 tag varchar(36) N 元素标签

9、 msg_history(离线消息表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 msg_id bigint(20) N 消息ID
2 ts timestamp N 消息时间
3 expired datetime Y 过期时间
4 sender_uid bigint(20) Y 消息发送者UID
5 receiver_uid bigint(20) N 消息接收者UID
6 msg_type int(11) N 类型:1,message;2,presence
7 message varchar(4096) N 消息报文

10. muc_history(聊天室消息表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 room_name char(128) N 房间ID
2 event_type int(11) Y
3 timestamp bigint(20) Y 消息时间
4 sender_jid varchar(2049) Y 消息发送者JID
5 sender_nickname char(128) Y 消息发送者昵称
6 body text Y 消息内容
7 public_event tinyint(1) Y 发送结果?
8 msg text Y 消息报文

11. short_news(短消息表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 snid bigint(20) N Y 消息ID
2 publishing_time timestamp N 发布时间
3 news_type varchar(10) Y 消息类型
4 author varchar(128) N 消息作者
5 subject varchar(128) N 消息主题
6 body varchar(1024) N 消息内容

12. tig_ma_jids(IM消息与IM用户JID关系表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 jid_id bigint(20) N Y 用户JID_ID
2 jid varchar(2049) Y 用户JID

13. tig_ma_msgs(IM消息表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 msg_id bigint(20) N Y 消息ID
2 owner_id bigint(20) Y 所有者JID_ID,对应tig_ma_jids的ID
3 buddy_id bigint(20) Y 对方的JID_ID,对应tig_ma_jids的ID
4 ts timestamp N 消息时间
5 direction smallint(6) Y 消息传递方向。 0/1 发/收
6 type varchar(20) Y 消息类型
7 body text Y 消息内容
8 msg text Y 消息报文
9 stanza_hash varchar(50) Y 消息标识
10 buddy_res varchar(1024) Y 消息接收(发送)方JID资源

14. tig_ma_msgs_tags(IM消息与用户元素标签关系表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 msg_id bigint(20) N 消息表ID
2 tag_id bigint(20) N 元素标签表ID

15. tig_ma_tags(存储用户拥有的元素标签表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 tag_id bigint(20) N Y 自增ID
2 tag varchar(255) Y 元素标签
3 owner_id bigint(20) N 对应tig_ma_jids的jid_id

16. tig_muc_members(聊天室成员表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 id bigint(20) N Y
2 jid varchar(30) N 成员JID
3 room_jid varchar(250) N 房间ID
4 update_time timestamp 成员加入时间

17. tig_nodes(IM属性节点树表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 nid bigint(20) N Y 节点ID
2 parent_nid bigint(20) Y 父节点ID
3 uid bigint(20) N 用户UID
4 node varchar(255) N 属性名称

18. tig_pairs(IM属性数据表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 nid bigint(20) Y IM属性节点ID
2 uid bigint(20) N 用户UID
3 pkey varchar(255) N 属性键
4 pval mediumtext Y 属性值

19. tig_pubsub_affiliations(订阅节点用户关系表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 node_id bigint(20) N Y 节点ID
2 jid_id bigint(20) N Y 用户JID_ID,对应tig_pubsub_jids的JID_ID
3 affiliation varchar(20) N 关系类型

20. tig_pubsub_items(订阅消息表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 node_id bigint(20) N Y 订阅节点ID
2 id varchar(1024) N
3 id_sha1 char(40) N Y 系统消息标识
4 creation_date datetime 发布时间
5 publisher_id bigint(20) 发布者JID_ID,对应tig_pubsub_jids的JID_ID
6 update_date datetime 更新时间
7 data mediumtext 订阅消息数据

21. tig_pubsub_jids(IM订阅消息与IM订阅用户关系表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 jid_id bigint(20) N Y 关系JID_ID
2 jid varchar(1024) N 用户JID
3 jid_sha1 char(40) N 关系标识

22. tig_pubsub_nodes(订阅节点表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 node_id bigint(20) Y Y 节点ID
2 service_id bigint(20) Y 订阅服务ID
3 name varchar(1024) Y 订阅节点
4 name_sha1 char(40) Y 订阅节点标识
5 type int(11) Y 节点类型。0/1,根节点/子节点?
6 title varchar(1000) 节点标题
7 description mediumtext 节点描述
8 creator_id bigint(20) 创建者JID_ID,对应tig_pubsub_jids的JID_ID
9 creation_date datetime 创建时间
10 configuration mediumtext 订阅节点属性
11 collection_id bigint(20)

23. tig_pubsub_service_jids(订阅服务表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 service_id bigint(20) N Y 订阅服务ID
2 service_jid varchar(1024) N 订阅服务JID
3 service_jid_sha1 char(40) N 订阅服务标识

24. tig_pubsub_subscriptions(用户订阅节点表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 node_id bigint(20) N Y 订阅节点ID
2 jid_id bigint(20) N Y 用户JID_ID,对应tig_pubsub_jids的JID_ID
3 subscription char(20) N 订阅与否
4 subscription_id char(40) N 订阅标识

25. tig_users(IM用户表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 uid bigint(20) N Y 用户UID
2 user_id varchar(2049) N 用户JID
3 sha1_user_id char(128) N 用户标识
4 user_pw varchar(255) 用户密码
5 acc_create_time timestamp N 帐户创建时间
6 last_login timestamp N 最近登录时间
7 last_logout timestamp N 最近登出时间
8 online_status int(11) 在线状态(不准确)?
9 failed_logins int(11)
10 account_status int(11)

26. user_jid(IM用户与JID关系表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 jid_id bigint(20) N Y 用户JID_ID
2 jid_sha char(128) N 关系标识
3 jid varchar(2049) N 用户JID
4 history_enabled int(11)

27. xmpp_stanza(临时消息表)

*序号* *字段名称* *类型(长度)* *是否为空* *主键* *注释* *备注*
1 id bigint(20) N Y
2 stanza text N 报文内容

文章永久链接:https://tech.souyunku.com/29762

未经允许不得转载:搜云库技术团队 » Tigase 数据库结构

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们