用消息队列实现即时通讯2 (2)

     开始直接使用Django的文件上传下载,后来发现效率太低,下载会有问题。于是想使用分布式文件管理系统,在网上查找都是在Linux系统的,而我没有Linux服务器,只能做其他想。于是决定使用Mongodb Gridfs进行文件管理,花了很长时间终于调通(这个会在后面具体实现中说明)。

 

帐号数据库

     主要使用到即时通讯表分别为帐号表,群组表,以及消息表(前面说过),以及相关联表。帐号表除相关信息外,还有friends字段用于保存好友,groups字段用于保存群组列表。而同样群组表,也有帐号列表字段用于保存群组的帐号信息。

表ImAccount

字段名称

 

类型

 

说明

 

备注

 

account

 

String

 

帐号,唯一

     

mobile

 

String

 

手机号

     

name

 

String

 

昵称

     

search

 

String

 

搜索键,保存account以及name的拼音搜索字段

     

email

 

String

 

邮箱

     

QQ

 

String

 

QQ号

     

is_active

 

Boolean

 

是否在线,暂时未使用

     

head

 

String

 

头像对应路径

     

add_time

 

Date

 

添加时间

     

update_time

 

Date

 

修改时间

     

friends

 

List<ImAccount>

 

好友列表

     

groups

 

List<ImGroup>

 

组列表

     

 

表ImGroup

字段名称

 

类型

 

说明

 

备注

 

account

 

String

 

帐号

     

name

 

String

 

组名

     

desc

 

String

 

描述  

     

creater

 

ImAccount

 

创建者

     

imAccounts

 

List<ImAccount>

 

组成员

     

head

 

String

 

组头像

     

add_time

 

Date

 

添加时间

     

update_time

 

Date

 

修改时间

     

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygyxg.html