• tigase数据库结构(十三)


    一、Tigase数据库有很多张表,其中最主要的是3张表:tig_users,tig_nodes和tig_pairs。 #tig_users

    tig_users存储用户信息,有uid(主键,用户ID),user_id(用户名),usr_pw(用户密码)等字段。 1.1 tig_users表 这个表定义了基本的用户信息,包括:

    uid		唯一主键
    user_id	Jid
    sha1_user_id=sha1(user_id)
    user_pw  =ALG(pass)   只有使用默认AUTH才有用,ALT=MD5(pass|userid+pass)..
    acc_create_time       创建时间
    last_login			最后登录时间
    online_status			在线状态(默认0)
    failed_logins          登录失败次数
    account_status		必须>0有效

    二、tig_nodes

    tig_nodes是存储节点信息(用于把数据以层次的形式表现),有nid(主键,节点ID),parent_nid(父节点ID),uid(用户ID),node(节点类型)5个字段。每个uid对应5个节点:root,offline,privacy,invisible和msgoffline,以下是uid为14的用户对应的5个节点。

    其结构层次如下:

    root--privacy--offline
    
            |           |
    
       invisible   msgoffline

    默认用户有一个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

    error,                                      // Common type
    	get, set, result,                         // iq types
    	available, unavailable, probe, subscribe, // presence types
    	subscribed, unsubscribe, unsubscribed,    // presence types
    	chat, groupchat, headline, normal,        // message types
    	valid, invalid,                           // Dialback verification packets
    	terminate,                                // Bosh - session termination stanza
    invisible;                                // Other unknown types...

    订阅发布(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)

    学海无涯、何时是岸
  • 相关阅读:
    判断安卓或是IOS
    安卓、IOS内嵌H5的相互通信
    原生js tab选项卡粗略封装
    关于抓包
    vue学习的第一天——vue-router的相关使用
    关于jQuery插件封装的总结
    mvc生成静态页
    C#调用java代码
    汉字转16进制,汉字转10进制
    Model 类型为dynamic或者list<dynamic>
  • 原文地址:https://www.cnblogs.com/veblen/p/14703868.html
Copyright © 2020-2023  润新知