美文网首页
IM即时聊天系统-Openfire爬坑之路四 数据库

IM即时聊天系统-Openfire爬坑之路四 数据库

作者: 渝潼不肖生 | 来源:发表于2020-04-27 11:33 被阅读0次

    数据库架构指南

    介绍

    本文档概述了Openfire数据库架构中的数据类型约定和表。某些信息(例如列索引和外键)被省略。为此,请阅读您感兴趣的数据库的各个架构。

    数据类型约定

    日期列类型支持在数据库之间差异很大。因此,Openfire特别将日期编码为VARCHAR值。每个日期都是一个Java long值,该值0填充为15个字符。long值是Java Date对象的内部表示形式,可以通过如下代码获得:

    long currentDate = new Date().getTime();
    

    布尔值始终表示为一个数值:0表示false,1表示true。

    数据库表

    以下是Openfire数据库架构中每个表的说明。

    | ofGroup (用户组数据) |

    Column Name Type Length Description
    groupName VARCHAR 50 组名(主键)
    description VARCHAR 255 小组介绍

    | ofGroupProp (组的名称-值关联) |

    Column Name Type Length Description
    groupName VARCHAR 50 组名(主键)
    name VARCHAR 100 组属性名称(主键)
    propValue VARCHAR 4000 组属性值

    | ofGroupUser (将用户与组关联) |

    Column Name Type Length Description
    groupName VARCHAR 50 组名(主键)
    username VARCHAR 100 用户名(主键)
    administrator NUMBER n/a 管理员(布尔值)(主键)

    | ofID (用于唯一ID序列生成) |

    Column Name Type Length Description
    idType NUMBER n/a ID类型(例如,组,用户,花名册)(主键)
    id NUMBER n/a ID的下一个可用块(用于与数据库无关的ID序列生成器)

    | ofOffline (离线消息存储) |

    Column Name Type Length Change
    username VARCHAR 32 User Name (Primary Key)
    messageID NUMBER n/a 存储的消息的ID(主键)
    creationDate VARCHAR 15 储存日期信息
    messageSize NUMBER n/a 消息大小(以字节为单位)
    stanza TEXT n/a 讯息文字

    | ofPresence (离线状态) |

    Column Name Type Length Change
    username VARCHAR 64 用户名(主键)
    offlinePresence TEXT n/a 设置为用户注销的状态消息
    offlineDate CHAR 15 存储日期信息

    | ofPrivate (私人数据存储) |

    Column Name Type Length Description
    username VARCHAR 32 用户名(主键)
    name VARCHAR 100 私人条目的名称(主键)
    namespace VARCHAR 200 私有条目的命名空间(主键)
    privateData TEXT n/a 私人数据的值

    | ofUser (用户数据) |

    Column Name Type Length Description
    username VARCHAR 32 用户名(主键)
    plainPassword VARCHAR 32 纯文本密码数据
    encryptedPassword VARCHAR 255 加密的密码数据(默认)
    name VARCHAR 100 Name
    email VARCHAR 100 电子邮件
    creationDate VARCHAR 15 创立日期
    modificationDate VARCHAR 15 最后修改日期

    | ofUserProp (用户的名称/值关联) |

    Column Name Type Length Description
    username VARCHAR 32 用户名(主键)
    name VARCHAR 100 用户属性名称(主键)
    propValue VARCHAR 4000 用户属性值

    | ofUserFlag (在用户上设置的特殊标志(如已禁用)) |

    Column Name Type Length Description
    username VARCHAR 64 用户名(主键)
    name VARCHAR 100 用户属性名称(主键)
    startTime CHAR 15 标志开始生效的时间(“ now”为空)
    endTime CHAR 15 标志结束生效的时间(“ forever”(永远)为空)

    | ofRoster (好友名单或列表) |

    Column Name Type Length Description
    rosterID NUMBER n/a 名册编号(主键)
    username VARCHAR 32 User Name
    jid TEXT n/a The address of the roster entry
    sub NUMBER n/a 条目的订阅状态
    ask NUMBER n/a 条目的请求状态
    recv NUMBER n/a 指示条目是接收到的名册请求的标志
    nick VARCHAR 255 分配给该名册条目的昵称

    | ofRosterGroups (名册中的好友条目组) |

    Column Name Type Length Description
    rosterID NUMBER n/a 名册编号(主键)
    rank NUMBER n/a 条目的位置(主键)
    groupName VARCHAR 255 该名册组的用户定义名称

    | ofPrivacyList (用户隐私列表) |

    Column Name Type Length Description
    username VARCHAR 32 隐私列表的名称(主密钥)
    name VARCHAR 100 指示这是否是用户的默认隐私列表的标志
    isDefault NUMBER n/a 指示这是否是用户的默认隐私列表的标志
    list TEXT n/a 隐私列表的XML表示

    | ofVCard (vCard联系信息) |

    Column Name Type Length Description
    username VARCHAR 32 用户名(主键)
    vcard TEXT n/a vCard条目的值

    | ofVersion (包含产品版本信息) |

    Column Name Type Length Description
    name VARCHAR 50 跟踪版本信息的项目的名称(主键)
    version INTEGER n/a 版本号

    | ofProperty (服务器属性) |

    Column Name Type Length Description
    name VARCHAR 100 属性名称(主键)
    propValue TEXT n/a 条目的值

    | ofExtComponentConf (外部组件配置) |

    Column Name Type Length Description
    subdomain VARCHAR 255 外部组件的子域(主键)
    secret VARCHAR 255 外部组件的共享密钥
    permission VARCHAR 10 指示是否允许组件连接到服务器的权限

    | ofRemoteServerConf (远程服务器配置) |

    Column Name Type Length Description
    xmppDomain VARCHAR 255 外部组件的域(主键)
    remotePort NUMBER n/a 远程服务器要连接的端口
    permission VARCHAR 10 指示是否允许远程服务器连接到服务器的权限

    | ofSecurityAuditLog (记录安全事件) |

    Column Name Type Length Description
    msgID NUMBER n/a 审核消息的ID(主密钥)
    username VARCHAR 64 执行操作的用户
    entryStamp NUMBER n/a 事件发生时的时间戳
    summary VARCHAR 255 事件发生时的摘要
    node VARCHAR 255 发生事件的节点
    details TEXT n/a 详细的情况

    | ofMucService (Groupchat服务) |

    Column Name Type Length Description
    serviceID NUMBER n/a 服务ID(索引)
    subdomain VARCHAR 255 服务子域(主键)
    description VARCHAR 255 服务说明
    isHidden NUMBER n/a 如果从管理界面列表中隐藏则为1,正常为0

    | ofMucServiceProp (Groupchat服务的名称-值关联) |

    Column Name Type Length Description
    serviceID NUMBER n/a 服务ID(主键)
    name VARCHAR 100 属性名称(主键)
    propValue TEXT n/a 适当的价值

    | ofMucRoom (Groupchat房间数据) |

    Column Name Type Length Description
    roomID NUMBER n/a 房间ID(主键)
    creationDate VARCHAR 15 创立日期
    modificationDate VARCHAR 15 最后修改日期
    name VARCHAR 50 用作公共ID的房间名称
    naturalName VARCHAR 255 房间的自然名称
    description VARCHAR 255 客房说明
    canChangeSubject NUMBER n/a 指示参与者是否可以更改主题的标志
    maxUsers NUMBER n/a 最多容纳人数
    canChangeSubject NUMBER n/a 指示参与者是否可以更改主题的标志
    publicRoom NUMBER n/a 指示房间是否将在目录中列出的标志
    moderated NUMBER n/a 指示房间是否经过审核的标志
    membersOnly NUMBER n/a 指示房间是否为会员制的标志
    canInvite NUMBER n/a 指示居住者是否可以邀请其他用户的标志
    roomPassword VARCHAR 50 进入会议室的密码数据
    canDiscoverJID NUMBER n/a 指示乘员的真实JID是否公开的标志
    logEnabled NUMBER n/a 指示是否记录会议室对话的标志
    subject VARCHAR 100 房间的最后已知主题
    rolesToBroadcast NUMBER n/a 广播角色的二进制表示
    useReservedNick NUMBER n/a 标记,指示用户是否只能使用其保留的昵称加入会议室
    canChangeNick NUMBER n/a 指示居住者是否可以更改房间昵称的标志
    canRegister NUMBER n/a 标记,指示是否允许用户在会议室注册

    | ofMucRoomProp (Groupchat房间的名称-值关联) |

    Column Name Type Length Description
    roomID NUMBER n/a 房间ID(主键)
    name VARCHAR 100 属性名称(主键)
    propValue VARCHAR 4000 适当的价值

    | ofMucAffiliation (房间用户的隶属关系) |

    Column Name Type Length Description
    roomID NUMBER n/a 房间ID(主键)
    jid TEXT n/a 用户JID(主密钥)
    affiliation NUMBER n/a 代表隶属级别的数字

    | ofMucMember (会议室成员信息) |

    Column Name Type Length Description
    roomID NUMBER n/a 房间ID(主键)
    jid TEXT n/a 用户JID(主密钥)
    nickname VARCHAR 255 会员的保留昵称

    | ofMucConversationLog (聊天室记录) |

    Column Name Type Length Description
    roomID NUMBER n/a 房间编号
    sender TEXT n/a 将消息发送到会议室的用户的JID
    nickname VARCHAR 255 用户在发送消息时使用的昵称
    logTime VARCHAR 15 邮件发送到会议室的日期
    subject VARCHAR 50 消息更改了新主题
    body TEXT n/a 消息正文

    | ofPubsubNode (pubsub服务的节点) |

    Column Name Type Length Description
    serviceID VARCHAR 100 托管节点的服务的标识(主键)
    nodeID VARCHAR 100 节点ID(主键)
    leaf NUMBER n/a 指示节点是叶节点还是集合节点的标志
    creationDate VARCHAR 15 创立日期
    modificationDate VARCHAR 15 最后修改日期
    parent VARCHAR 100 父节点的ID(如果有)
    deliverPayloads NUMBER n/a 指示有效载荷是否包含在通知中的标志
    maxPayloadSize NUMBER n/a 有效负载的最大大小(以字节为单位)
    persistItems NUMBER n/a 指示节点是否将持久保存已发布项目的标志
    maxItems NUMBER n/a 最多可保留的项目数
    notifyConfigChanges NUMBER n/a 指示节点配置更改时是否发送通知的标志
    notifyDelete NUMBER n/a 指示删除节点时是否发送通知的标志
    notifyRetract NUMBER n/a 指示删除已发布项目时是否发送通知的标志
    presenceBased NUMBER n/a 指示是否仅向用户发送通知的标记
    sendItemSubscribe NUMBER n/a 指示是否将最近发布的项目发送给新订户的标志
    publisherModel VARCHAR 15 节点使用的发布者模型
    subscriptionEnabled NUMBER n/a 指示是否允许订阅的标志
    configSubscription NUMBER n/a 指示是否必须配置新订阅才能激活的标志
    accessModel VARCHAR 10 节点使用的访问模型
    payloadType VARCHAR 100 要在节点上提供的有效载荷数据的类型
    bodyXSLT VARCHAR 100 XSLT的URL,用于将有效载荷格式转换为消息正文
    dataformXSLT VARCHAR 100 XSLT的URL,用于将有效载荷格式转换为Data Forms结果
    creator VARCHAR 1024 创建节点的实体的JID
    description VARCHAR 255 节点说明
    language VARCHAR 255 节点的默认语言
    name VARCHAR 50 节点名称
    replyPolicy VARCHAR 15 定义所有者或发布者应收到对项目的答复的策略
    associationPolicy VARCHAR 15 定义谁可以将叶节点与集合关联的策略
    maxLeafNodes NUMBER n/a 收集节点可能具有的最大叶节点数

    | ofPubsubNodeJIDs (与节点关联的JID) |

    Column Name Type Length Description
    serviceID VARCHAR 100 托管节点的服务的标识(主键)
    nodeID VARCHAR 100 节点ID(主键)
    jid VARCHAR 1024 实体的JID(主键)
    associationType VARCHAR 20 与节点的关联类型

    | ofPubsubNodeGroups (与节点关联的角色组) |

    Column Name Type Length Description
    serviceID VARCHAR 100 托管节点的服务的ID
    nodeID VARCHAR 100 节点ID
    rosterGroup VARCHAR 100 节点所有者的花名册组允许订阅和检索项目

    | ofPubsubAffiliation (节点会员) |

    Column Name Type Length Description
    serviceID VARCHAR 100 托管节点的服务的标识(主键)
    nodeID VARCHAR 100 节点ID(主键)
    jid VARCHAR 1024 会员的JID (主键)
    affiliation VARCHAR 10 Type of affiliation

    | ofPubsubItem (发布到节点的项目) |

    Column Name Type Length Description
    serviceID VARCHAR 100 托管节点的服务的标识(主键)
    nodeID VARCHAR 100 节点ID(主键)
    id VARCHAR 100 发布项目的ID(每个节点唯一)(主键)
    jid VARCHAR 1024 发布者的JID
    creationDate VARCHAR 15 创立日期
    payload TEXT n/a 包含在已发布项目中的有效负载的XML

    | ofPubsubSubscription (节点的订阅) |

    Column Name Type Length Description
    serviceID VARCHAR 100 托管节点的服务的标识(主键)
    nodeID VARCHAR 100 节点ID(主键)
    id VARCHAR 100 订阅ID(主密钥)
    jid VARCHAR 1024 接收通知的地址
    owner VARCHAR 1024 拥有订阅的会员的JID
    state VARCHAR 15 订阅状态(在工作流程中)
    deliver NUMBER n/a 指示是否启用通知的标志
    digest NUMBER n/a 指示实体是否要接收通知摘要的标志
    digest_frequency NUMBER n/a 发送任何两个通知摘要之间的最小毫秒数
    expire VARCHAR 15 租赁订阅结束或结束的日期
    includeBody NUMBER n/a 指示实体是否除了有效载荷格式之外还希望接收消息正文的标志
    showValues VARCHAR 30 实体要接收其通知的状态
    subscriptionType VARCHAR 10 订户是订阅项目还是节点(仅限集合节点)
    subscriptionDepth NUMBER n/a 接收来自特定深度的孩子的通知(仅收集节点)
    keyword VARCHAR 200 活动需要匹配的关键字

    | ofPubsubDefaultConf (节点的默认配置) |

    Column Name Type Length Description
    serviceID VARCHAR 100 托管节点的服务的标识(主键)
    leaf NUMBER n/a 指示配置是属于叶节点还是集合节点的标志(主键)
    deliverPayloads NUMBER n/a 指示有效载荷是否包含在通知中的标志
    maxPayloadSize NUMBER n/a 有效负载的最大大小(以字节为单位)
    persistItems NUMBER n/a 指示节点是否将持久保存已发布项目的标志
    maxItems NUMBER n/a 最多可保留的项目数
    notifyConfigChanges NUMBER n/a 指示节点配置更改时是否发送通知的标志
    notifyDelete NUMBER n/a 指示删除节点时是否发送通知的标志
    notifyRetract NUMBER n/a 指示删除已发布项目时是否发送通知的标志
    presenceBased NUMBER n/a 指示是否仅向用户发送通知的标志
    sendItemSubscribe NUMBER n/a 指示是否将最近发布的项目发送给新订户的标志
    publisherModel VARCHAR 15 节点使用的发布者模型
    subscriptionEnabled NUMBER n/a 指示是否允许订阅的标志
    accessModel VARCHAR 10 节点使用的访问模型
    language VARCHAR 255 节点的默认语言
    replyPolicy VARCHAR 15 定义所有者或发布者应收到对项目的答复的策略
    associationPolicy VARCHAR 15 定义谁可以将叶节点与集合关联的策略
    maxLeafNodes NUMBER n/a 收集节点可能具有的最大叶节点数

    相关文章

      网友评论

          本文标题:IM即时聊天系统-Openfire爬坑之路四 数据库

          本文链接:https://www.haomeiwen.com/subject/qpqywhtx.html