CN108243018B - 一种管理聊天室的方法及装置 - Google Patents
一种管理聊天室的方法及装置 Download PDFInfo
- Publication number
- CN108243018B CN108243018B CN201611220438.6A CN201611220438A CN108243018B CN 108243018 B CN108243018 B CN 108243018B CN 201611220438 A CN201611220438 A CN 201611220438A CN 108243018 B CN108243018 B CN 108243018B
- Authority
- CN
- China
- Prior art keywords
- chatroom
- user
- former
- room
- room identification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1827—Network arrangements for conference optimisation or adaptation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种处理聊天室的方法及装置,属于互联网通信领域。所述方法包括:检测第一聊天室集合中的n个聊天室,n为大于或等于1的整数,所述第一聊天室集合包括一个原聊天室或包括通过对所述原聊天室进行拆分得到的多个聊天室;当检测到所述第一聊天室集合中的一聊天室包括的用户数目达到第一阈值时,将所述第一聊天室集合中的每个聊天室拆分成m个聊天室得到第二聊天室集合,所述第二聊天室集合包括n*m个聊天室,m为大于1的整数;将所述第一聊天室集合中的各聊天室包括的用户平均分配到所述第二聊天室集合包括的聊天室中;检测所述第二聊天室集合中的聊天室。所述装置包括:检测模块、建立模块和分配模块。本发明能够减轻服务器的负担。
Description
技术领域
本发明涉及互联网通信领域,特别涉及一种管理聊天室的方法及装置。
背景技术
聊天室是一种人们可以在线交谈的网络论坛,在同一聊天室的人们通过广播消息进行实时交谈。通常聊天室具有一定的谈话主题,聊天室内的成员会以该谈话主题为核心进行交谈。例如,当某个歌星开演唱会时,此时可以创建一个聊天室,该聊天室的谈话主题可以是该歌星当前开的演唱会,让参与演唱会的观众加入该聊天室,针对该演唱会进行交谈。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
有时聊天室的谈话主题可能会吸引大量用户加入聊天室,当聊天室包括的用户较多时,给服务器对聊天室的管理带来很大的负担。例如,当某个用户发送消息时,服务器需要向聊天室的其他每个用户发送该消息;其中向每个用户发送消息都需要消耗服务器的内存、网络带宽和CPU(Central Processing Unit,中央处理器)等资源,当聊天室内的用户较多时,聊天室内的用户发送的消息就更多,服务器需要的硬件资源急剧增加,带来了很大负担。
发明内容
为了减轻服务器的负担,本发明提供了一种管理聊天室的方法及装置。所述技术方案如下:
一方面,提供了一种管理聊天室的方法,所述方法包括:
检测第一聊天室集合中的n个聊天室,n为大于或等于1的整数,所述第一聊天室集合包括一个原聊天室或包括通过对所述原聊天室进行拆分得到的多个聊天室;
当检测到所述第一聊天室集合中的一聊天室包括的用户数目达到第一阈值时,将所述第一聊天室集合中的每个聊天室拆分成m个聊天室得到第二聊天室集合,所述第二聊天室集合包括n*m个聊天室,m为大于1的整数;
将所述第一聊天室集合中的各聊天室包括的用户平均分配到所述第二聊天室集合包括的聊天室中;
检测所述第二聊天室集合中的聊天室。
可选的,所述将所述第一聊天室集合中的各聊天室包括的用户平均分配到所述第二聊天室集合包括的聊天室中之前,还包括:
对所述第二聊天室集合中的各聊天室进行编号,设置所述第二聊天室集合中的各聊天室的房间标识包括所述原聊天室的房间标识和其自身的编号。
可选的,所述将所述第一聊天室集合中的各聊天室包括的用户平均分配到所述第二聊天室集合包括的聊天室中,包括:
将所述第一聊天室集合中的各聊天室包括的各用户的用户标识转换成数值;
将所述各用户对应的数值与n*m取模运算得到所述各用户对应的聊天室的编号;
根据所述各用户对应的聊天室的编号,将所述各用户分别添加到各自的编号所对应的聊天室中。
可选的,所述将所述第一聊天室集合中的各聊天室包括的用户平均分配到所述第二聊天室集合包括的聊天室中之后,还包括:
接收用于将第一用户添加至所述原聊天室的请求,所述请求携带所述原聊天室的房间标识和所述第一用户的用户标识;
将所述第一用户的用户标识转换成第一数值,并将所述第一数值与n*m取模运算得到第一编号;
将所述第一用户添加到包括所述原聊天室的房间标识和所述第一编号的房间标识对应的聊天室中。
可选的,所述将所述第一聊天室集合中的各聊天室包括的用户平均分配到所述第二聊天室集合包括的聊天室中之后,还包括:
接收第二用户的消息,所述消息包括所述原聊天室的房间标识和所述第二用户的用户标识;
将所述第一用户的用户标识转换成第二数值,并将所述第二数值与n*m取模运算得到第二编号;
向包括所述原聊天室的房间标识和所述第二编号的房间标识对应的聊天室中除所述第二用户以外的其他用户发送所述消息。
可选的,所述检测所述第二聊天室集合中的聊天室之后,还包括:
当检测到所述第二聊天室集合中的一聊天室包括的用户数目少于第二阈值时,将所述第二聊天室集合中的任意m个聊天室聚合形成第三聊天室集合,所述第三聊天室集合包括n个聊天室,所述第二阈值小于所述第一阈值。
可选的,所述将所述第二聊天室集合中的任意m聊天室聚合形成第三聊天室集合,包括:
创建第三聊天室集合,所述第三聊天室集合包括n个聊天室;
对所述第三聊天室集合中的各聊天室进行编号,设置所述第三聊天室集合中的各聊天室的房间标识包括所述原聊天室的房间标识和其自身的编号;
将所述第二聊天室集合中的各聊天室包括的各用户的用户标识转换成数值;将所述各用户对应的数值与n取模运算得到所述各用户对应的聊天室的编号;
在所述第三聊天室集合中,根据所述各用户对应的聊天室的编号,将所述各用户分别添加到各自的编号所对应的聊天室中。
另一方面,提供了一种管理聊天室的装置,所述装置包括:
检测模块,用于检测第一聊天室集合中的n个聊天室,n为大于或等于1的整数,所述第一聊天室集合包括一个原聊天室或包括通过对所述原聊天室进行拆分得到的多个聊天室;
建立模块,用于当检测到所述第一聊天室集合中的一聊天室包括的用户数目达到第一阈值时,将所述第一聊天室集合中的每个聊天室拆分成m个聊天室得到第二聊天室集合,所述第二聊天室集合包括n*m个聊天室,m为大于1的整数;
分配模块,用于将所述第一聊天室集合中的各聊天室包括的用户平均分配到所述第二聊天室集合包括的聊天室中;
所述检测模块,还用于检测所述第二聊天室集合中的聊天室。
可选的,所述装置还包括:
编号模块,用于对所述第二聊天室集合中的各聊天室进行编号,设置所述第二聊天室集合中的各聊天室的房间标识包括所述原聊天室的房间标识和其自身的编号。
可选的,所述分配模块包括:
转换单元,用于将所述第一聊天室集合中的各聊天室包括的各用户的用户标识转换成数值;
运算单元,用于将所述各用户对应的数值与n*m取模运算得到所述各用户对应的聊天室的编号;
添加单元,用于根据所述各用户对应的聊天室的编号,将所述各用户分别添加到各自的编号所对应的聊天室中。
本发明提供的技术方案的有益效果是:
当第一聊天室集合中的聊天室包括的用户数目达到第一阈值时,就将该聊天室拆分成m个聊天室,这样可以减少聊天室包括的用户数目。由于每个聊天室内的用户数目减少,这样当某个聊天室内的用户发送消息时,服务器向其他用户转发该消息需要的内存、CPU和网络带宽等资源也相应地减少,从而减轻了服务器的负担。
附图说明
图1是本发明实施例一提供的一种管理聊天室的方法流程图;
图2是本发明实施例二提供的一种管理聊天室的方法流程图;
图3是本发明实施例三提供的一种管理聊天室的方法流程图;
图4是本发明实施例四提供的一种管理聊天室的方法装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在某个直播场景下,聊天室内的用户往往不关注每个用户的聊天内容,往往只是感受一下现场热闹的气氛。在这些场景下聊天室中通常包括大量的用户,导致用户向聊天室发送的消息数量巨大,往往一秒钟向聊天室发送的消息数量可能超过100条,甚至更多,而人眼每秒能够阅读的消息条数最多为100条,此时用户不会关注具体的消息内容,只是感受现场热闹的气氛。例如,对于演唱会或发布会等直播场景,往往有大量用户添加到聊天室中,大量用户都在聊天室中发送大量消息。
在这种场景上,由于用户并不关注聊天室内发送的消息内容,因此可以将包括大量的用户的原聊天室拆分成多个聊天室,拆分后的每个聊天室包括的用户数目少于原聊天室包括的用户数目,但仍有较多用户,这样拆分后的每个聊天室仍有较多用户发送消息,聊天室的气氛仍是很热闹,不会用户的体验产生影响。
实施例一
参见图1,本发明实施例一提供了一种管理聊天室的方法,该方法的执行主体可以为服务器,参见图1,该方法包括:
步骤101:检测第一聊天室集合中的n个聊天室,n为大于或等于1的整数,第一聊天室集合包括一个原聊天室或包括通过对原聊天室进行拆分得到的多个聊天室。
步骤102:当检测到第一聊天室集合中的一聊天室包括的用户数目达到第一阈值时,将第一聊天室集合中的每个聊天室拆分成m个聊天室得到第二聊天室集合,第二聊天室集合包括n*m个聊天室,m为大于1的整数。
步骤103:将第一聊天室集合中的各聊天室包括的用户平均分配到第二聊天室集合包括的聊天室中。
步骤104:检测第二聊天室集合中的聊天室。
在本发明实施例中,当第一聊天室集合中的聊天室包括的用户数目达到第一阈值时,就将该聊天室拆分成m个聊天室,这样可以减少聊天室包括的用户数目,从而减轻了服务器的负担。
实施例二
本发明实施例二提供了一种管理聊天室的方法,该方法的执行主体可以为服务器,参见图2,该方法包括:
步骤201:检测第一聊天室集合中的n个聊天室,n为大于或等于1的整数,第一聊天室集合包括一个原聊天室或对原聊天室进行拆分得到的多个聊天室。
最初第一聊天室集合只包括一个原聊天室,原聊天室是由用户请求服务器创建的聊天室。在创建原聊天室之后,当有用户加入了原聊天室,服务器对原聊天室包括的用户数目进行检测或者服务器周期性地对原聊天室包括的用户数目进行检测,当检测到原聊天室包括的用户数目达到预设第一阈值时,就按如下流程对原聊天室进行拆分,这样使得第一聊天室集合包括多个聊天室。或者,在对原聊天室拆分之后,当有用户请求加入原聊天室并将用户加入了由原聊天室拆分得到的某个聊天室时,服务器对第一聊天室集合包括的每个聊天室包括的用户数目进行检测者服务器周期性地对第一聊天室集合包括的每个聊天室包括的用户数目进行检测,当检测到某聊天室包括的用户数目达到预设第一阈值时,就按如下流程对每个聊天室进行拆分。
在本实施例中,还记录原聊天室被拆分的拆分次数,原聊天室的拆分次数的初值为0,在每次拆分时都增加记录的拆分次数。
在服务器中,可以将原聊天室的房间标识和拆分次数对应存储在房间标识与拆分次数的对应关系中。例如,该对应关系可以为Key/Value,可以将原聊天室的房间标识作为Key,将拆分次数作为Value并存储在Key/Value中。
其中该服务器可能运行了多个应用的服务端程序,即该服务器除了运行有聊天室应用对应的服务端程序,还可能运行有其他应用对应的服务端程序。在该情况下,服务器将聊天室应用的应用标识、原聊天室的房间标识和拆分次数对应存储在应用标识、房间标识与拆分次数的对应关系中。
例如,假设第一聊天室集合包括一个原聊天室,原聊天室的房间标识为room,拆分次数为0,在本步骤中对原聊天室进行实时检测。另外,假设,服务器中只运行聊天室应用对应的服务端程序,所以在服务器中还将原聊天室的房间标识room和拆分次数0对应存储在房间标识与拆分次数的对应关系中。
步骤202:当检测到第一聊天室集合中一聊天室包括的用户数目达到第一阈值时,将第一聊天室集合中的每个聊天室拆分成m个聊天室形成第二聊天室集合,第二聊天室集合包括n*m个聊天室,m为大于1的整数。
当n=1,即第一聊天室集合包括一个原聊天室时,第二聊天室集合包括原聊天室对应的m个聊天室;当n为大于1的整数时,第二聊天室集合包括第一聊天室集合中的每个聊天室对应的m个聊天室,即包括n*m个聊天室。
假设m=2,第一阈值为1000,原聊天室包括的用户数目达到了1000;并被服务器检测出原聊天室包括的用户数目达到第一阈值,此时将原聊天室拆分成两个聊天室形成第二聊天室集合,第二聊天室集合包括两个聊天室,分别为聊天室0和聊天室1,聊天室0可以为原聊天室。
步骤203:对第二聊天室集合中的各聊天室进行编号,设置第二聊天室集合中的各聊天室的房间标识包括原聊天室的房间标识和其自身的编号。
可以从0开始对第二聊天室集合中的各聊天室进行编号,其中,在编号时第一聊天室集合中的各聊天室的编号可以不变,即在编号时第一聊天室集合中的各聊天室的编号仍编各自原来的编号;第二聊天室集合中的聊天室的房间标识可以用原聊天室的房间标识、下划线和其自身的编号的组合形式来表示。
例如,对第二聊天室集合中的聊天室0进行编号为0,对聊天室1进行编号为1,其中原聊天室的房间标识为room,所以聊天室0的房间标识可以表示为room_0,聊天室1的房间标识可以表示为room_1。
可选的,还可以在房间标识与拆分次数的对应关系中增加原聊天室的房间标识对应的拆分次数。
步骤204:将第一聊天室集合中的各聊天室包括的各用户的用户标识转换成数值。
聊天室中的各用户的用户标识通常为一串字符串。本步骤可以为:对于第一聊天室集合中的任一聊天室中包括的任一用户的用户标识,对该用户的用户标识进行哈希运算得到哈希值,该哈希值是数值形式,对该哈希值取绝对值得到该用户对应的数值。对于第一聊天室集合中的各聊天室包括的各用户都按上述方式进行处理,得到各用户对应的数值。
例如,假设原聊天室包括的某个用户的用户标识为abcde,对该用户的用户标识进行哈希运算得到的哈希值为-6,对该哈希值-6取绝对值得到该用户对应的数值为6。
步骤205:分别将各用户对应的数值与n*m取模,得到各用户对应的聊天室的编号。
n*m为第二用户集合包括的聊天室数目,另外,可以根据原聊天室的房间标识,从房间标识与拆分次数的对应关系中获取对应的拆分次数e,可以得到第二用户集合包括的聊天室数目n*m=me。例如,对于上述例子,第二聊天室集合包括聊天室0和聊天室1,即第二聊天室集合包括的聊天室数目为2。以及在上述例子中,得到某个用户对应的数值为6,将该数值6与聊天室数目2取模得到的结果为0,即得到该用户对应的聊天室的编号为0。
步骤206:根据各用户对应的聊天室的编号,将各用户分别添加到各自的编号对应的聊天室中。
本步骤可以为:对于每个用户,根据该用户对应的聊天室的编号,确定该编号对应的聊天室的房间标识,将确定的房间标识和该用户的用户标识对应有关系在房间标识与用户标识的对应关系中,以实现将该用户添加到确定的编号所对应的聊天室中。
例如,在上述例中得到某用户对应的聊天室的编号为0,根据该编号0,确定该编号0对应的聊天室0的房间标识为room_0,将该房间标识room_0和该用户的用户标识abcde对应存储在房间标识与用户标识的对应关系中。
在本实施例中,当第一聊天室集合中的聊天室包括的用户数目达到第一阈值时,就将该聊天室拆分成m个聊天室,这样可以减少聊天室包括的用户数目,减轻了服务器的负担。例如,假设一个聊天室包括1000个用户,当某个用户向聊天室发送一条消息,服务器需要分别向其他999个用户发送该消息,即服务器发送999次消息,如果每个用户都向聊天室发送一条消息,服务器需要发送999000次消息,其中999000=1000*999。
然而,在本实施例中,假设m=2,将该聊天室拆分两个聊天室或四个聊天室等。假设,分成两个聊天室,每个聊天室包括500个用户;其中一聊天室中的每个用户向聊天室发送一条消息,服务器需要发送249500条消息,其中249500=500*499。另一聊天室中的每个用户向聊天室发送一条消息,服务器也是需要发送249500条消息,其中249500=500*499。这样服务器需要发送的全部消息数目为499000,少于999000,从而减少占用服务器的硬件资源,减少服务器负担。
在本发明实施例中,将第一聊天室集合中的各聊天室包括用户的用户标识转换成数值,然后将各用户对应的数值与第二聊天室集合包括的聊天室数目取模运算得到各用户对应聊天室的编号,再将各用户添加到各自的编号对应的聊天室,这样可以保证将各用户均匀地添加到第二聊天室集合中的各聊天室中。
步骤207:实时检测第二聊天室集合中的各聊天室。
当检测到第二聊天室集合中的某个聊天室包括的用户数目达到第一阈值时,继续按上述步骤202至207的流程将第二聊天室集合中的每个聊天室拆分成m个聊天室。
在本实施例中,将第一聊天室集合中的各聊天室包括的用户分别添加到第二聊天室集合中聊天室时,不会向各用户发送消息通知用户。所以对于各用户,各用户仍然认为自己添加到原聊天室。
另外,服务器不会将第二聊天室集合包括的各聊天室显示给用户,而是将原聊天室显示给用户。所以用户只可以选择添加到原聊天室。以及第二聊天室集合中的各聊天室包括的各用户还是向原聊天室发送消息。
例如,某个用户需要添加到原聊天室,为了便于说明称为该用户为第一用户,第一用户可以通过如下步骤添加到原聊天室,包括:
(1-1):第一用户对应的客户端向服务器发送将第一用户添加到原聊天室的请求,该请求携带原聊天室的房间标识和第一用户的用户标识。
(1-2):服务器接收该请求,将该请求携带的第一用户的用户标识转换成第一数值,并将第一数值与n*m取模运算得到第一编号。
具体地,服务器对第一用户的用户标识进行哈希运算得到哈希值,对该哈希值取绝对值得到第一数值,将第一数值与n*m取模运算得到第一编号。
例如,假设,第一用户的用户标识为abcdefd,对第一用户的用户标识abcdefd哈希运算得到哈希值为10,对哈希值10取绝对值得到第一数值10,第二聊天室集合包括两个聊天室,所以将第一数值10与数值2取模运算得到第一编号为0。
(1-3):将第一用户添加到包括原聊天室的房间标识和第一编号的房间标识对应的聊天室中。
例如,根据第一编号0,可以确定对应的聊天室0的房间标识为room_0,将第一用户的用户标识abcdefd和房间标识room_0对应存储在房间标识与用户标识的对应关系中,以将第一用户添加到聊天室0中。
再如,当第二聊天室集合中的聊天室包括的某个用户向原聊天室发送消息时,为了便于说明称该用户为第二用户,第二用户可以通过如下步骤发送消息,包括:
(2-1):第二用户对应的客户端向服务器发送消息,该消息包括第二用户的用户标识和原聊天室的房间标识。
(2-2):服务器接收该消息,将该消息包括的第二用户的用户标识转换成第二数值,并将第二数值与n*m取模运算得到第二编号。
具体地,服务器对第二用户的用户标识进行哈希运算得到哈希值,对该哈希值取绝对值得到第二数值,将第二数值与n*m取模运算得到第二编号。
例如,假设,第二用户的用户标识为abcde,对第二用户的用户标识abcde哈希运算得到哈希值为-6,对哈希值-6取绝对值得到第二数值6,第二聊天室集合包括两个聊天室,所以将第二数值6与数值2取模运算得到第二编号为0。
(2-3):向包括原聊天室的房间标识和第二编号的房间标识对应的聊天室中除第二用户以外的其他用户发送该消息。
例如,根据第一编号0,可以确定对应的聊天室0的房间标识为room_0,向room_0对应的聊天室0中除第二用户以外的其他每个用户发送该消息。
在本发明实施例中,当第一聊天室集合中的聊天室包括的用户数目达到第一阈值时,就将该聊天室拆分成两个聊天室,这样可以减少聊天室包括的用户数目,可以减少向聊天室用户发送消息的条数,减轻了服务器的负担。
实施例二
本发明实施例二提供了一种管理聊天室的方法。该方法的执行主体可以为服务器,用于当检测上述第二聊天室集合中的聊天室包括的用户数目少于预设第二阈值时,将第二聊天室集合中的任意m个聊天室聚合,假设m=2,即将第二聊天室集合中的聊天室两两聚合。参见图2,该方法包括:
步骤301:检测第二聊天室集合中的n*m个聊天室。
步骤302:当检测到第二聊天室集合中一聊天室包括的用户数目少于第二阈值时,将第二聊天室集合中的任意m个聊天室聚合形成第三聊天室集合,第三聊天室集合包括n个聊天室。
其中第二阈值小于第一阈值,第二阈值可以为聊天室的最大上限人数的n*m分之一。
步骤303:对第三聊天室集合中的各聊天室进行编号,设置第三聊天室集合中的各聊天室的房间标识包括原聊天室的房间标识和其自身的编号。
可以从0开始对第三聊天室集合中的各聊天室进行编号;第三聊天室集合中的聊天室的房间标识可以用原聊天室的房间标识、下划线和其自身的编号的组合形式来表示。
步骤304:将第二聊天室集合中的各聊天室包括的各用户的用户标识转换成数值。
具体地,对于第二聊天室集合中的任一聊天室中包括的任一用户的用户标识,对该用户的用户标识进行哈希运算得到哈希值,对该哈希值取绝对值得到该用户对应的数值。对于第二聊天室集合中的各聊天室包括的各用户都按上述方式进行处理,得到各用户对应的数值。
步骤305:分别将各用户对应的数值与n取模,得到各用户对应的聊天室的编号。
n为第三用户集合包括的聊天室数目。
步骤306:在第三聊天室集合中根据各用户对应的聊天室的编号,将各用户分别添加到各自的编号对应的聊天室中。
本步骤可以为:对于每个用户,根据该用户对应的聊天室的编号,确定在第三聊天室集合中该编号对应的聊天室的房间标识,将确定的房间标识和该用户的用户标识对应关系存储在房间标识与用户标识的对应关系中,以实现将该用户添加到确定的编号所对应的聊天室中。
步骤207:实时检测第三聊天室集合中的各聊天室。
当检测到第三聊天室集合中的某个聊天室包括的用户数目少于第二阈值时,继续按上述步骤302至307的流程将第三聊天室集合中任意m个聊天室聚合。
在本发明实施例中,当聊天室内的用户数目小于第二阈值时,为了不影响聊天室热闹的气氛,减少影响用户的用户体验,可以将第二聊天室集合中的任意m个聊天室聚合,使聚合后的聊天室具有较高的人气。
实施例四
参见图4,本发明实施列提供了一种管理聊天室的装置400,所述装置400包括:
检测模块401,用于检测第一聊天室集合中的n个聊天室,n为大于或等于1的整数,所述第一聊天室集合包括一个原聊天室或包括通过对所述原聊天室进行拆分得到的多个聊天室;
建立模块402,用于当检测到所述第一聊天室集合中的一聊天室包括的用户数目达到第一阈值时,将所述第一聊天室集合中的每个聊天室拆分成m个聊天室得到第二聊天室集合,所述第二聊天室集合包括n*m个聊天室,m为大于1的整数;
分配模块403,用于将所述第一聊天室集合中的各聊天室包括的用户平均分配到所述第二聊天室集合包括的聊天室中;
所述检测模块401,还用于检测所述第二聊天室集合中的聊天室。
可选的,所述装置400还包括:
编号模块,用于对所述第二聊天室集合中的各聊天室进行编号,设置所述第二聊天室集合中的各聊天室的房间标识包括所述原聊天室的房间标识和其自身的编号。
可选的,所述分配模块403包括:
转换单元,用于将所述第一聊天室集合中的各聊天室包括的各用户的用户标识转换成数值;
运算单元,用于将所述各用户对应的数值与n*m取模运算得到所述各用户对应的聊天室的编号;
添加单元,用于根据所述各用户对应的聊天室的编号,将所述各用户分别添加到各自的编号所对应的聊天室中。
可选的,所述装置400还包括:
接收模块,用于接收用于将第一用户添加至所述原聊天室的请求,所述请求携带所述原聊天室的房间标识和所述第一用户的用户标识;
转换椟,用于将所述第一用户的用户标识转换成第一数值,并将所述第一数值与n*m取模运算得到第一编号;
添加模块,用于将所述第一用户添加到包括所述原聊天室的房间标识和所述第一编号的房间标识对应的聊天室中。
可选的,所述装置400还包括:发送模块;
所述接收模块,还用于接收第二用户的消息,所述消息包括所述原聊天室的房间标识和所述第二用户的用户标识;
所述转换模块,还用于将所述第一用户的用户标识转换成第二数值,并将所述第二数值与n*m取模运算得到第二编号;
所述发送模块,用于向包括所述原聊天室的房间标识和所述第二编号的房间标识对应的聊天室中除所述第二用户以外的其他用户发送所述消息。
可选的,所述装置400还包括:
聚合模块,用于当检测到所述第二聊天室集合中的一聊天室包括的用户数目少于第二阈值时,将所述第二聊天室集合中的任意m个聊天室聚合形成第三聊天室集合,所述第三聊天室集合包括n个聊天室,所述第二阈值小于所述第一阈值。
所述聚合模块包括:
创建单元,用于创建第三聊天室集合,所述第三聊天室集合包括n个聊天室;
编号单元,用于对所述第三聊天室集合中的各聊天室进行编号,设置所述第三聊天室集合中的各聊天室的房间标识包括所述原聊天室的房间标识和其自身的编号;
运算单元,用于将所述第二聊天室集合中的各聊天室包括的各用户的用户标识转换成数值;将所述各用户对应的数值与n取模运算得到所述各用户对应的聊天室的编号;
添加单元,用于在所述第三聊天室集合中,根据所述各用户对应的聊天室的编号,将所述各用户分别添加到各自的编号所对应的聊天室中。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种管理聊天室的方法,其特征在于,所述方法包括:
检测第一聊天室集合中的n个聊天室,n为大于或等于1的整数,所述第一聊天室集合包括一个原聊天室或包括通过对所述原聊天室进行拆分得到的多个聊天室;
当检测到所述第一聊天室集合中的一聊天室包括的用户数目达到第一阈值时,将所述第一聊天室集合中的每个聊天室拆分成m个聊天室得到第二聊天室集合,所述第二聊天室集合包括n*m个聊天室,m为大于1的整数;
将所述第一聊天室集合中的各聊天室包括的用户平均分配到所述第二聊天室集合包括的聊天室中,服务器不会将第二聊天室集合包括的各聊天室显示给用户,而是将原聊天室显示给用户,第二聊天室集合中的各聊天室包括的各用户还是向原聊天室发送消息;
检测所述第二聊天室集合中的聊天室;
其中,所述将所述第一聊天室集合中的各聊天室包括的用户平均分配到所述第二聊天室集合包括的聊天室中之后,还包括:
接收第二用户的消息,所述消息包括所述原聊天室的房间标识和所述第二用户的用户标识;
将所述第二用户的用户标识转换成第二数值,并将所述第二数值与n*m取模运算得到第二编号;
向包括所述原聊天室的房间标识和所述第二编号的房间标识对应的聊天室中除所述第二用户以外的其他用户发送所述消息,包括所述原聊天室的房间标识和所述第二编号的房间标识对应的聊天室是所述第二用户所在的聊天室。
2.如权利要求1所述的方法,其特征在于,所述将所述第一聊天室集合中的各聊天室包括的用户平均分配到所述第二聊天室集合包括的聊天室中之前,还包括:
对所述第二聊天室集合中的各聊天室进行编号,设置所述第二聊天室集合中的各聊天室的房间标识包括所述原聊天室的房间标识和其自身的编号。
3.如权利要求2所述的方法,其特征在于,所述将所述第一聊天室集合中的各聊天室包括的用户平均分配到所述第二聊天室集合包括的聊天室中,包括:
将所述第一聊天室集合中的各聊天室包括的各用户的用户标识转换成数值;
将所述各用户对应的数值与n*m取模运算得到所述各用户对应的聊天室的编号;
根据所述各用户对应的聊天室的编号,将所述各用户分别添加到各自的编号所对应的聊天室中。
4.如权利要求1所述的方法,其特征在于,所述将所述第一聊天室集合中的各聊天室包括的用户平均分配到所述第二聊天室集合包括的聊天室中之后,还包括:
接收用于将第一用户添加至所述原聊天室的请求,所述请求携带所述原聊天室的房间标识和所述第一用户的用户标识;
将所述第一用户的用户标识转换成第一数值,并将所述第一数值与n*m取模运算得到第一编号;
将所述第一用户添加到包括所述原聊天室的房间标识和所述第一编号的房间标识对应的聊天室中。
5.如权利要求1至4任一项权利要求所述的方法,其特征在于,所述检测所述第二聊天室集合中的聊天室之后,还包括:
当检测到所述第二聊天室集合中的一聊天室包括的用户数目少于第二阈值时,将所述第二聊天室集合中的任意m个聊天室聚合形成第三聊天室集合,所述第三聊天室集合包括n个聊天室,所述第二阈值小于所述第一阈值。
6.如权利要求5所述的方法,其特征在于,所述将所述第二聊天室集合中的任意m聊天室聚合形成第三聊天室集合,包括:
创建第三聊天室集合,所述第三聊天室集合包括n个聊天室;
对所述第三聊天室集合中的各聊天室进行编号,设置所述第三聊天室集合中的各聊天室的房间标识包括所述原聊天室的房间标识和其自身的编号;
将所述第二聊天室集合中的各聊天室包括的各用户的用户标识转换成数值;将所述各用户对应的数值与n取模运算得到所述各用户对应的聊天室的编号;
在所述第三聊天室集合中,根据所述各用户对应的聊天室的编号,将所述各用户分别添加到各自的编号所对应的聊天室中。
7.一种管理聊天室的装置,其特征在于,所述装置包括:
检测模块,用于检测第一聊天室集合中的n个聊天室,n为大于或等于1的整数,所述第一聊天室集合包括一个原聊天室或包括通过对所述原聊天室进行拆分得到的多个聊天室;
建立模块,用于当检测到所述第一聊天室集合中的一聊天室包括的用户数目达到第一阈值时,将所述第一聊天室集合中的每个聊天室拆分成m个聊天室得到第二聊天室集合,所述第二聊天室集合包括n*m个聊天室,m为大于1的整数;
分配模块,用于将所述第一聊天室集合中的各聊天室包括的用户平均分配到所述第二聊天室集合包括的聊天室中,服务器不会将第二聊天室集合包括的各聊天室显示给用户,而是将原聊天室显示给用户,第二聊天室集合中的各聊天室包括的各用户还是向原聊天室发送消息;
所述检测模块,还用于检测所述第二聊天室集合中的聊天室;
所述装置还包括:
接收模块,还用于接收第二用户的消息,所述消息包括所述原聊天室的房间标识和所述第二用户的用户标识;
转换模块,还用于将所述第二用户的用户标识转换成第二数值,并将所述第二数值与n*m取模运算得到第二编号;
发送模块,用于向包括所述原聊天室的房间标识和所述第二编号的房间标识对应的聊天室中除所述第二用户以外的其他用户发送所述消息,包括所述原聊天室的房间标识和所述第二编号的房间标识对应的聊天室是所述第二用户所在的聊天室。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
编号模块,用于对所述第二聊天室集合中的各聊天室进行编号,设置所述第二聊天室集合中的各聊天室的房间标识包括所述原聊天室的房间标识和其自身的编号。
9.如权利要求8所述的装置,其特征在于,所述分配模块包括:
转换单元,用于将所述第一聊天室集合中的各聊天室包括的各用户的用户标识转换成数值;
运算单元,用于将所述各用户对应的数值与n*m取模运算得到所述各用户对应的聊天室的编号;
添加单元,用于根据所述各用户对应的聊天室的编号,将所述各用户分别添加到各自的编号所对应的聊天室中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611220438.6A CN108243018B (zh) | 2016-12-26 | 2016-12-26 | 一种管理聊天室的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611220438.6A CN108243018B (zh) | 2016-12-26 | 2016-12-26 | 一种管理聊天室的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108243018A CN108243018A (zh) | 2018-07-03 |
CN108243018B true CN108243018B (zh) | 2019-03-01 |
Family
ID=62701327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611220438.6A Active CN108243018B (zh) | 2016-12-26 | 2016-12-26 | 一种管理聊天室的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108243018B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11541319B2 (en) * | 2019-03-11 | 2023-01-03 | Sony Interactive Entertainment LLC | System and method for filtering stream chats |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7743412B1 (en) * | 1999-02-26 | 2010-06-22 | Intel Corporation | Computer system identification |
US20090228944A1 (en) * | 2004-04-21 | 2009-09-10 | Koninklijke Philips Electronics, N.V. | System and method for chat load management in a network chat environment |
CN101141472B (zh) * | 2006-09-08 | 2011-11-16 | 腾讯科技(深圳)有限公司 | 实现聊天室成员之间播放状态同步的方法及系统 |
CN101789902B (zh) * | 2009-12-25 | 2012-07-25 | 福建星网锐捷网络有限公司 | 一种组播数据流的负载均衡方法、路由设备及网络系统 |
CN102215177B (zh) * | 2011-05-31 | 2014-07-02 | 广州华多网络科技有限公司 | 一种即时通讯软件的系统消息的处理方法与装置 |
-
2016
- 2016-12-26 CN CN201611220438.6A patent/CN108243018B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108243018A (zh) | 2018-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103731341B (zh) | 一种对即时通讯业务进行处理的方法及系统 | |
CN101931572B (zh) | 先进可用性检测 | |
CN108667717B (zh) | 基于即时通信消息记录的区块链处理方法、介质、装置和计算设备 | |
US20060235932A1 (en) | Chat server mute capability | |
CN106972985B (zh) | 加速dpi设备数据处理与转发的方法和dpi设备 | |
CN102244809B (zh) | 一种机顶盒stb业务请求的处理方法及装置 | |
CN105490872B (zh) | 一种网络即时通讯数据信息实时监控系统及监控方法 | |
US20120297031A1 (en) | Anonymous Signalling | |
GB2468758A (en) | Determining user availability by monitoring activity and thence automatically responding to telecommunication invitations | |
CN107769992B (zh) | 一种报文解析分流方法及装置 | |
CN107645540A (zh) | web应用系统的负载均衡方法 | |
Iotti et al. | Improving quality of experience in future wireless access networks through fog computing | |
CN108462615A (zh) | 一种网络用户分组方法和装置 | |
CN105681379A (zh) | 集群管理系统和方法 | |
CN108243018B (zh) | 一种管理聊天室的方法及装置 | |
CN102902674B (zh) | 服务群组分类方法和系统 | |
CN113630398B (zh) | 网络安全中的联合防攻击方法、客户端及系统 | |
US9609053B2 (en) | Method, apparatus and system for voice service access | |
CN101420336A (zh) | 在网络中识别网络电话流量的方法及其系统 | |
CN104967989A (zh) | 一种传输通信信息的方法及装置 | |
CN101184044A (zh) | 一种组播监听发现协议的报文处理方法 | |
CN106888229A (zh) | 一种呼叫管理方法及服务器 | |
Luo et al. | Rumor spreading maximization and source identification in a social network | |
TW201103304A (en) | Method for playing information within a call waiting time | |
KR20160102231A (ko) | 무상태 메시지 라우팅 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |