[发明专利]一种实现网络聊天室的方法及服务器有效
申请号: | 201510295670.5 | 申请日: | 2015-06-02 |
公开(公告)号: | CN105007213B | 公开(公告)日: | 2019-04-16 |
发明(设计)人: | 陈正超;周平 | 申请(专利权)人: | 贵阳语玩科技有限公司 |
主分类号: | H04L12/58 | 分类号: | H04L12/58 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 550022 贵州贵阳国家高新*** | 国省代码: | 贵州;52 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 网络 聊天室 方法 服务器 | ||
1.一种实现网络聊天室的方法,其特征在于,包括:
创建多个线程,其中包括至少一个主线程和至少一个服务线程,所述服务线程服务于网络聊天室的多个聊天房间;
运行所述主线程,接收聊天用户发送的数据包,将接收到的数据包插入到发送用户对应的缓冲器中,其中,每个用户均对应至少一个缓冲器;
运行所述服务线程,轮询服务线程各自服务的多个聊天房间中的聊天用户,从轮询到的聊天用户所对应的缓冲器中提取数据包进行数据处理,将处理后的数据分发给轮询到的用户所在聊天房间中的聊天用户;
所述方法还包括:
对多个线程均需要使用的临界资源设置读文件锁;
在线程需要访问所述临界资源时对所述读文件锁进行抢锁,抢锁成功的线程对所需访问的临界资源进行内存拷贝,然后释放读文件锁,在释放读文件锁后采用拷贝得到的临界资源进行相应操作,其中,所述读文件锁允许多个线程同时访问临界资源。
2.如权利要求1所述的方法,其特征在于,所述创建多个线程包括:
创建与服务器的处理器的核数相同数量的线程。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
对多个线程均需要使用的临界资源还设置写文件锁;
在线程需要写所述临界资源时对所述写文件锁进行抢锁,抢锁成功的线程对所述临界资源进行写操作,在抢锁成功的线程对所述临界资源进行写操作的过程中禁止其他线程使用所述临界资源。
4.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述网络聊天室为语音聊天室,在新创建语音聊天房间时,计算每个服务线程的负荷,将新创建的语音聊天房间分配给负荷最小的服务线程,采用:负荷=发言用户数量+旁听用户数量/开销等效参数,计算服务线程的负荷,其中,所述发言用户数量为服务线程所服务的全部聊天房间中的发言用户的总数量,所述旁听用户数量为服务线程所服务的全部聊天房间中的旁听用户的总数量,所述开销等效参数为旁听用户所占开销与发言用户所占开销的等效值。
5.一种服务器,其特征在于,包括:线程创建单元、主线程运行单元和服务线程运行单元,其中:
所述线程创建单元,用于创建多个线程,其中包括至少一个主线程和至少一个服务线程,所述服务线程服务于网络聊天室的多个聊天房间;
所述主线程运行单元,用于运行所述主线程,接收聊天用户发送的数据包,将接收到的数据包插入到发送用户对应的缓冲器中,其中,每个用户均对应至少一个缓冲器;
所述服务线程运行单元,用于运行所述服务线程,轮询服务线程各自服务的多个聊天房间中的聊天用户,从轮询到的聊天用户所对应的缓冲器中提取数据包进行数据处理,将处理后得到的数据分发给轮询到的用户所在聊天房间中的聊天用户;
还包括文件锁单元,其中:
所述文件锁单元,用于对多个线程均需要使用的临界资源设置读文件锁;
所述主线程运行单元和服务线程运行单元,还用于在线程需要访问所述临界资源时对所述读文件锁进行抢锁,抢锁成功的线程对所需访问的临界资源进行内存拷贝,然后释放读文件锁,在释放读文件锁后采用拷贝得到的临界资源进行相应操作,其中,所述读文件锁允许多个线程同时访问临界资源。
6.如权利要求5所述的服务器,其特征在于,所述线程创建单元创建多个线程包括:
创建与服务器的处理器的核数相同数量的线程。
7.如权利要求5所述的服务器,其特征在于:
所述文件锁单元,还用于对多个线程均需要使用的临界资源设置写文件锁;
所述主线程运行单元和服务线程运行单元,还用于在线程需要写所述临界资源时对所述写文件锁进行抢锁,抢锁成功的线程对所述临界资源进行写操作,在抢锁成功的线程对所述临界资源进行写操作的过程中禁止其他线程使用所述临界资源。
8.如权利要求5或6所述的服务器,其特征在于,还包括线程控制单元,其中:
所述线程控制单元,用于在所述网络聊天室为语音聊天室,在新创建语音聊天房间时,计算每个服务线程的负荷,将新创建的语音聊天房间分配给负荷最小的服务线程,采用:负荷=发言用户数量+旁听用户数量/开销等效参数,计算服务线程的负荷,其中,所述发言用户数量为服务线程所服务的全部聊天房间中的发言用户的总数量,所述旁听用户数量为服务线程所服务的全部聊天房间中的旁听用户的总数量,所述开销等效参数为旁听用户所占开销与发言用户所占开销的等效值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵阳语玩科技有限公司,未经贵阳语玩科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510295670.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:网络信息处理平台
- 下一篇:一种基于HTTP协议的自动测试方法及系统