CN106549988B - 加入群组方法、装置及系统 - Google Patents
加入群组方法、装置及系统 Download PDFInfo
- Publication number
- CN106549988B CN106549988B CN201510595231.6A CN201510595231A CN106549988B CN 106549988 B CN106549988 B CN 106549988B CN 201510595231 A CN201510595231 A CN 201510595231A CN 106549988 B CN106549988 B CN 106549988B
- Authority
- CN
- China
- Prior art keywords
- group
- topic
- user account
- server
- information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000001514 detection method Methods 0.000 claims description 17
- 230000000977 initiatory effect Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1059—Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/046—Interoperability with other network applications or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种加入群组方法、装置及系统,属于通信技术领域。本发明通过接收客户端通过对应的用户帐号发起的加入请求;检测话题ID对应的群组列表中的各个群组是否处于满员状态;若话题ID对应的群组列表中各个群组都处于满员状态,则创建新的群组,生成新的群组的群组ID,将该群组ID添加至话题ID对应的群组列表中;将用户帐号添加至新的群组中;解决了当群组成员的数量达到群组最大上限时,新的用户帐号无法加入该群组,导致新的用户帐号无法在该群组内进行话题讨论的问题;达到了在群组处于满员状态时,服务器为同一话题自动创建新的群组,并将用户帐号添加至新的群组中,使得参与同一话题讨论的用户帐号个数实现了无限制的效果。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种加入群组方法、装置及系统。
背景技术
多人IM(Instant Messaging,即时通信)技术是指多个用户帐号在一个虚拟的群组中,通过互联网实现多人实时通信的技术,在该技术中首先需要创建一个虚拟的群组。
现有技术中,用户帐号A从IM客户端向服务器发起创建群组的请求,服务器在本地存储创建一个拥有唯一ID(Identification,标识)的群组,该群组成员列表中包含用户帐号A,用户帐号B加入该群组的方式有两种:方式一,获知该群组ID,根据群组ID向服务器申请加入该群组;方式二,被群组成员用户帐号A向服务器邀请用户帐号B加入该群组。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
由于服务器创建的每个拥有唯一ID的群组,在群组成员数量方面都有一定的限制,当群组成员的数量达到群组所能承受的最大上限时,新的用户帐号将无法加入该群组,导致新的用户帐号无法在该群组内进行话题讨论。
发明内容
为了解决当群组成员的数量达到群组所能承受的最大上限时,新的用户帐号将无法加入该群组,导致新的用户帐号无法在该群组内进行话题讨论的问题,本发明实施例提供了一种加入群组方法、装置及系统。所述技术方案如下:
根据本发明的第一方面,提供了一种加入群组方法,所述方法包括:
接收客户端通过对应的用户帐号发起的加入请求,所述加入请求携带有话题标识ID;所述话题ID对应的群组列表中对应有至少一个群组;
检测所述话题ID对应的所述群组列表中的各个所述群组是否处于满员状态;
若所述话题ID对应的所述群组列表中各个所述群组都处于满员状态,则创建新的群组,生成所述新的群组的群组ID,将所述群组ID添加至所述话题ID对应的所述群组列表中;
将所述用户帐号添加至所述新的群组中。
根据本发明的第二方面,提供了一种加入群组装置,所述装置包括:
请求接收模块;用于接收客户端通过对应的用户帐号发起的加入请求,所述加入请求携带有话题标识ID;所述话题ID对应的群组列表中对应有至少一个群组;
状态检测模块,用于检测所述话题ID对应的所述群组列表中的各个所述群组是否处于满员状态;
群组创建模块,用于在所述话题ID对应的所述群组列表中各个所述群组都处于满员状态时,创建新的群组,生成所述新的群组的群组ID,将所述群组ID添加至所述话题ID对应的所述群组列表中;
帐号添加模块,用于将所述用户帐号添加至所述新的群组中。
根据本发明的第三方面,提供了一种加入群组系统,所述系统包括:服务器和客户端;
所述服务器包括如上第二方面所述的加入群组装置;
所述客户端,用于向所述服务器发起所述用户帐号的加入请求,所述客户端登录有至少一个用户帐号。
本发明实施例提供的技术方案带来的有益效果是:
通过接收客户端通过对应的用户帐号发起的加入请求,该加入请求携带有话题标识ID;该话题ID对应的群组列表中对应有至少一个群组;检测话题ID对应的群组列表中的各个群组是否处于满员状态;若话题ID对应的群组列表中各个群组都处于满员状态,则创建新的群组,生成新的群组的群组ID,将该群组ID添加至话题ID对应的群组列表中;将用户帐号添加至新的群组中;解决了当群组成员的数量达到群组所能承受的最大上限时,新的用户帐号将无法加入该群组,导致新的用户帐号无法在该群组内进行话题讨论的问题;达到了在群组处于满员状态时,服务器可以为同一话题自动创建新的群组,并将用户帐号添加至新的群组中,使得参与同一话题讨论的用户帐号个数实现了无限制的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种实施环境的结构示意图;
图2是本发明一个实施例提供的加入群组方法的方法流程图;
图3A是本发明另一个实施例提供的加入群组方法的方法流程图;
图3B是本发明一个实施例提供的群组合并的方法流程图;
图4A是本发明一个实施例中话题A对应的群组列表中群组的变化示意图;
图4B是本发明图3A实施例中步骤311的子步骤的方法流程图;
图4C是本发明另一个实施例提供的加入群组方法的方法流程图;
图5A是本发明另一个实施例提供的加入群组方法的方法流程图;
图5B是本发明另一个实施例提供的群组合并的方法流程图;
图6A是本发明图5A实施例中步骤523的子步骤的方法流程图;
图6B是本发明另一个实施例提供的加入群组方法的方法流程图;
图7是本发明一个实施例提供的加入群组装置的结构方框图;
图8是本发明另一个实施例提供的加入群组装置的结构方框图;
图9是本发明另一个实施例提供的加入群组装置的结构方框图;
图10是本发明一个实施例提供的加入群组系统的结构方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1,其示出了本发明实施例提供的一种实施环境的结构示意图。该实施环境包括:终端120和服务器140。
终端120可以是手机、平板电脑、电子书阅读器、MP3(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。终端120中安装有通信类应用程序,该通信类应用程序可以是即时通信程序、社交类应用程序或语音通信程序。该通信类应用程序是具有在群组中进行文字或语音通信的应用程序。比如,该通信类应用程序是即时通信程序QQ、微博或微信等。
终端120中运行有安装中的应用程序客户端122(图中未示出),该客户端122中登录有一个用户帐号或登录有多个用户帐号。
终端120与服务器140之间通过无线网络或有线网络建立连接。终端120发布的信息经过服务器140处理后发送给对应群组内的各个用户帐号所对应的其它客户端。
服务器140是通信类应用程序的后台服务器。服务器140可以是一台服务器、多台服务器组成的服务器集群或云计算中心。
服务器140可以包括:群逻辑服务器141、话题服务器142和群数据服务器143。
终端120与群逻辑服务器141建立连接,群逻辑服务器141用于处理终端120发送的请求和所有业务逻辑,管理话题服务器142和群数据服务器143的请求和汇报,并与话题服务器142和群数据服务器143进行通信。
话题服务器142与群逻辑服务器141建立连接,话题服务器142用于存储话题信息和每个话题所对应的群组列表,为群组列表中的各个群组提供增删改查协议。
群数据服务器143与群逻辑服务器141建立连接,群数据服务器143用于存储群组信息和群组成员列表,为各个群组提供增删改查协议;同时用于处理终端120发送的群信息,查询本地成员列表等。
可选地,服务器140中还可以包含有消息服务器144,与群数据服务器143建立连接,用于将群数据服务器143中的信息发送给目标群组内的用户帐号,实现群信息的扩散。
请参考图2,其示出了本发明一个实施例提供的加入群组方法的方法流程图。本实施例以该加入群组方法应用于图1所示的服务器140中来举例说明。该方法包括:
步骤201,接收客户端通过对应的用户帐号发起的加入请求,加入请求携带有话题ID;话题ID对应的群组列表中对应有至少一个群组;
客户端获取用户帐号对某个话题的加入请求,客户端将获取到的加入请求发送给服务器,服务器接收客户端发送的加入请求,该加入请求中携带有该话题ID,且话题ID对应的群组列表中至少包含有一个群组。
步骤202,检测话题ID对应的群组列表中的各个群组是否处于满员状态;
根据接收的加入请求,服务器获取加入请求中话题ID对应的群组列表,同时服务器获取群组列表中的所有群组信息,服务器对所有群组中用户帐号的个数进行检测,检测所有群组是否都处于满员的状态。
步骤203,若话题ID对应的群组列表中存在未满员的群组,则将未满员的群组分配给用户帐号;
若经过检测,服务器发现话题ID对应的群组列表中存在至少一个未满员的群组,则服务器从一个或多个未满员的群组中选择一个分配给发起加入请求的用户帐号。
步骤204,若话题ID对应的群组列表中各个群组都处于满员状态,则创建新的群组,生成新的群组的群组ID,将群组ID添加至话题ID对应的群组列表中;
若经过检测,服务器发现话题ID对应的群组列表中各个群组都处于满员状态,则服务器会创建新的群组,生成与新的群组对应的群组ID,同时会将新的群组的群组ID添加至该话题ID对应的群组列表中,也即该话题ID对应的群组列表中会增加一个新的群组。
比如:假定话题A对应的群组列表中存在群组1和群组2,群组1和群组2中用户帐号个数最大值为100;则当客户端通过对应的用户帐号“张三”向服务器发起加入话题A的请求时,服务器首先根据话题A查找到群组1和群组2,根据检测,发现群组1和群组2中各自都已经有100个用户帐号正在参与讨论,则服务器会为“张三”创建一个新的群组3,并将群组3加入到话题A的群组列表中,也即话题A的群组列表中同时存在群组1、群组2和群组3。
步骤205,将用户帐号添加至新的群组中。
服务器将创建的新的群组添加至话题ID对应的群组列表中后,将新的群组分配给发起加入请求的用户帐号,这样用户帐号就加入了该话题ID对应的群组列表中的群组,并参与该话题的讨论。
综上所述,本实施例提供的加入群组方法,通过接收客户端通过对应的用户帐号发起的加入请求,该加入请求携带有话题标识ID;该话题ID对应的群组列表中对应有至少一个群组;检测话题ID对应的群组列表中的各个群组是否处于满员状态;若话题ID对应的群组列表中各个群组都处于满员状态,则创建新的群组,生成新的群组的群组ID,将该群组ID添加至话题ID对应的群组列表中;将用户帐号添加至新的群组中;解决了当群组成员的数量达到群组所能承受的最大上限时,新的用户帐号将无法加入该群组,导致新的用户帐号无法在该群组内进行话题讨论的问题;达到了在群组处于满员状态时,服务器可以为同一话题自动创建新的群组,并将用户帐号添加至新的群组中,使得参与同一话题讨论的用户帐号个数实现了无限制的效果。
请参考图3A,其示出了本发明另一个实施例提供的加入群组方法的方法流程图。本实施例以该加入群组方法应用于图1所示的实施环境中来举例说明。该方法包括:
步骤301,接收话题创建请求;
服务器接收话题创建请求,该话题创建请求是由客户端通过对应的用户帐号发起的,或,该话题创建请求是后台管理员配置的。
本步骤包括如下两种子步骤中的至少一种:
第一,用户根据自己的兴趣爱好设置一个话题,用户通过自身的用户帐号对应的客户端向服务器发起创建该话题的请求;
第二,后台管理员根据当前热门新闻、热门娱乐八卦或军事政治等设置一个话题,通过后台管理设备(图1中未示出)向服务器发起创建该话题的请求。
步骤302,根据话题创建请求创建话题,生成话题ID;
服务器接收客户端或后台管理设备发起的话题创建请求,根据话题创建请求,生成对应的话题ID。服务器根据不同的话题创建请求,生成唯一对应的话题ID。
步骤303,创建初始群组,生成初始群组的群组ID;
在生成对应的话题ID后,服务器会主动为该话题创建初始群组,并为初始群组生成对应的群组ID。
步骤304,将初始群组的群组ID添加至话题ID对应的群组列表中;
服务器在生成初始群组的群组ID后,将初始群组的群组ID添加至话题ID对应的群组列表中,此时,话题ID对应的群组列表中只存在初始群组的群组ID。
服务器在将初始群组的群组ID添加至话题ID对应的群组列表中后,会给客户端或后台管理设备反馈一个成功创建话题和群组的信号。
步骤305,接收客户端通过对应的用户帐号发起的加入请求,加入请求携带有话题标识ID;话题ID对应的群组列表中对应有至少一个群组;
客户端获取用户帐号对某个话题的加入请求,客户端将获取到的加入请求发送给服务器,服务器接收客户端发送的加入请求,该加入请求中携带有该话题ID,且话题ID对应的群组列表中至少包含有一个群组。
步骤306,检测话题ID对应的群组列表中的各个群组是否处于满员状态;
根据接收的加入请求,服务器获取加入请求中话题ID对应的群组列表,同时服务器获取群组列表中的所有群组信息,服务器对所有群组中用户帐号的个数进行检测,检测所有群组是否都处于满员的状态。
满员状态是指群组中用户帐号的个数达到了该群组所能承受的最大值。
步骤307,若话题ID对应的群组列表中存在至少一个未满员的群组,则将任一未满员的群组分配给用户帐号;
若经过检测,服务器发现话题ID对应的群组列表中存在未满员的群组,则服务器从一个或多个未满员的群组中选择一个分配给发起加入请求的用户帐号。
其中,从一个或多个未满员的群组中选择一个可以包括:从未满员的群组中随机选择一个、选择用户帐号个数最少的未满员的群组或选择用户帐号个数最多的未满员的群组。
步骤308,若话题ID对应的群组列表中各个群组都处于满员状态,则创建新的群组,生成新的群组的群组ID,将群组ID添加至话题ID对应的群组列表中;
若经过检测,服务器发现话题ID对应的群组列表中各个群组都处于满员状态,则服务器会创建新的群组,生成与新的群组对应的群组ID,同时会将新的群组的群组ID添加至该话题ID对应的群组列表中,也即该话题ID对应的群组列表中会增加一个新的群组。
比如:假定话题A对应的群组列表中存在群组1和群组2,群组1和群组2中用户帐号个数最大值为100;则当客户端通过对应的用户帐号“张三”向服务器发起加入话题A的请求时,服务器首先根据话题A查找到群组1和群组2,根据检测,发现群组1和群组2中各自都已经有100个用户帐号正在参与讨论,则服务器会为“张三”创建一个新的群组3,并将群组3加入到话题A的群组列表中,也即话题A的群组列表中同时存在群组1、群组2和群组3。
示例性地,话题A对应的群组列表中群组的变化情况,如图4A所示。
对于话题A对应的群组列表中的群组个数本实施例中不作具体限制,只要服务器接收到客户端通过对应的用户帐号发起的加入请求时,都会重复执行步骤306至步骤308,也即本实施例对话题A中用户帐号的个数不作限制。
步骤309,将用户帐号添加至新的群组中。
服务器将创建的新的群组添加至话题ID对应的群组列表中后,将新的群组分配给发起加入请求的用户帐号,这样用户帐号就加入了该话题ID对应的群组列表中的群组,并参与该话题的讨论。
步骤310,接收任一客户端通过对应的用户帐号所发布的信息,该信息至少携带有目标群组ID,目标群组ID包括:话题ID对应的群组列表中的至少一个群组的群组ID;
当话题ID对应群组列表中的任一群组中的任一客户端通过对应的用户帐号向服务器发送发布信息请求时,服务器接收任一客户端通过对应的用户帐号发布的信息,该信息中至少携带有目标群组ID,该目标群组ID是指该用户帐号需要发布信息的群组ID。
其中,至少一个群组包括:用户帐号所属的群组;或,用户帐号所属的群组和用户帐号不属于的群组的组合;或,用户帐号不属于的群组中的一个或一个以上。
也即,该目标群组ID包括:话题ID对应的群组列表中的至少一个群组的群组ID。目标群组ID可以只是用户帐号所属的群组ID,或,目标群组也可以是话题ID对应的群组列表中的所有群组ID,或,目标群组也可以是用户帐号在群组列表中指定的一部分群组ID。
步骤311,将信息发送给目标群组ID所对应群组内的各个用户帐号;
服务器在接收到客户端通过对应的用户帐号发布的信息后,获取信息中携带的目标群组ID,根据目标群组ID,服务器将客户端通过对应的用户帐号发布的信息发送给对应群组内的各个用户帐号。比如该用户帐号所属的群组内的其它用户帐号;服务器也可以将用户帐号发布的信息发送给多个群组内的各个用户帐号,比如用户帐号所在话题ID对应群组列表中的所有群组内的各个用户帐号。
需要说明的是,步骤301至步骤311是在不考虑话题ID中各个群组中的用户帐号个数的前提下,在话题讨论过程中,每个群组中的用户帐号可能会因为各种原因离开,导致部分群组中的用户帐号个数偏少的情况,如下步骤312至步骤316是服务器对用户帐号个数偏少的群组进行合并的方法流程,如图3B所示。
步骤312,每隔预定时间获取话题ID中各个群组中的用户帐号个数;
每隔预定时间服务器都要去获取话题ID中各个群组中的用户帐号个数,由于在话题讨论过程中,每个群组中的用户帐号都会因为各种原因离开,同时也会有新的用户帐号加入,所以每隔预定时间对群组中的用户帐号个数进行统计。比如:预定时间可以为10分钟、20分钟或30分钟等。
步骤313,检测各个群组中的用户帐号个数是否小于预设阈值;
服务器在获取到各个群组中的用户帐号个数后,检测获取到的用户帐号个数是否小于预设阈值,比如:预设阈值为50个。
步骤314,若不存在用户帐号个数小于预设阈值的群组,则不进行任何处理;
步骤315,若存在至少两个群组中的用户帐号个数小于预设阈值,则将用户帐号个数小于预设阈值的群组进行合并;
若经过检测,话题ID对应群组列表中的所有群组中存在至少两个群组中的用户帐号个数小于预设阈值,则服务器将用户帐号个数小于预设阈值的群组进行合并成一个群组。
若话题ID对应群组列表中出现了多个用户帐号个数小于预设阈值的群组,服务器可以将多个群组中的用户帐号进行合并成一个群组,当合并的新的群组处于满员状态后,再将剩余的用户帐号合并成另一个新的群组,以此类推,完成用户帐号个数小于预设阈值的群组中所有用户帐号的合并。
步骤316,删除用户帐号个数为零的群组。
服务器将用户帐号个数小于预设阈值的群组进行合并后,会产生用户帐号个数为零的群组,服务器将用户帐号个数为零的群组从话题ID对应的群组列表中删除,或者,当每隔预定时间获取到的话题ID中用户帐号个数为零的群组,服务器直接将其从该话题ID对应的群组列表中删除。
需要说明的是,步骤312至步骤316与步骤305至步骤311之间并没有明确的先后顺序,当话题ID对应的群组列表中的存在至少两个群组时,即可执行步骤312至步骤316。
综上所述,本实施例提供的加入群组方法,通过接收客户端通过对应的用户帐号发起的加入请求,该加入请求携带有话题标识ID;该话题ID对应的群组列表中对应有至少一个群组;检测话题ID对应的群组列表中的各个群组是否处于满员状态;若话题ID对应的群组列表中各个群组都处于满员状态,则创建新的群组,生成新的群组的群组ID,将该群组ID添加至话题ID对应的群组列表中;将用户帐号添加至新的群组中;解决了当群组成员的数量达到群组所能承受的最大上限时,新的用户帐号将无法加入该群组,导致新的用户帐号无法在该群组内进行话题讨论的问题;达到了在群组处于满员状态时,服务器可以为同一话题自动创建新的群组,并将用户帐号添加至新的群组中,使得参与同一话题讨论的用户帐号个数实现了无限制的效果。
服务器可以将客户端通过对应的用户帐号发布的信息发送给该用户帐号所属群组中的各个用户帐号,也可以将用户帐号发布的信息发送给至少一个目标群组内的各个用户帐号,达到了用户帐号发布的信息可以按照群组ID进行隔离发送,也可以通过话题ID进行互通发送的效果;
每隔预定时间合并用户帐号个数小于预设阈值的群组,达到了同一群组内用户帐号个数灵活可配的效果;
每隔预定时间删除话题ID对应的群组列表中用户帐号个数为零的群组,达到了动态删除群组,减轻运营配置的效果。
可选地,在图3A所示的实施例中,客户端通过对应的用户帐号发布的信息还携带有:用户帐号所属的群组ID;
在图3A所示实施例中,步骤311可以包括如下步骤,如图4B所示:
步骤311a,根据用户帐号所属的群组ID,检测用户帐号是否拥有对应于目标群组ID的信息发布权限;
当客户端通过对应的用户帐号发布的信息中携带有用户帐号所属群组的群组ID时,服务器根据用户帐号所属的群组ID,获取该群组ID中的用户帐号列表,检测发布信息的用户帐号是否存在于该用户帐号列表中,若发布信息的用户帐号存在于该用户帐号列表中,则服务器确认发布信息的用户帐号拥有在该群组ID中发布信息的权限。
步骤311b,若用户帐号拥有信息发布权限,则将信息发送给用户帐号所属群组内的各个用户帐号;
当服务器检测到用户帐号拥有信息发布的权限时,服务器根据用户帐号所属的群组ID获取群组ID中的各个用户帐号,服务器将用户帐号发布的信息发送给获取到的各个用户帐号。
步骤311c,若用户帐号不拥有信息发布权限,则不发送客户端通过对应的用户帐号发布的信息;
当服务器检测到用户帐号不拥有信息发布的权限时,服务器将不发送客户端通过对应的用户帐号发布的信息。
可选地,图3A所示的实施例中,客户端通过对应的用户帐号发布的信息至少携带有话题ID;
在图3A所示实施例中,步骤310至步骤311可以替代为如下步骤,如图4C所示:
步骤317,接收任一客户端通过对应的用户帐号所发布的信息,信息至少携带有话题ID;
当客户端通过对应的用户帐号发布的信息中携带有话题ID时,服务器根据话题ID,获取该话题ID对应的群组列表;再根据用户帐号所属的群组ID,查询用户帐号所属的群组ID是否属于话题ID对应的群组列表;若属于该话题ID对应的群组列表,则服务器获取该所属群组的群组ID中的用户帐号列表,检测发布信息的用户帐号是否存在于该用户帐号列表中,若发布信息的用户帐号存在于该用户帐号列表中,则确认发布信息的用户帐号拥有在话题ID中发布信息的权限。
可选的,客户端通过对应的用户帐号发布的信息还携带有用户帐号所属的群组ID;
步骤318,根据用户帐号所属的群组ID,检测用户帐号是否拥有对应于话题ID的信息发布权限;
当客户端通过对应的用户帐号发布的信息中携带有用户帐号所属的群组ID时,服务器根据用户帐号所属的群组ID,检测该群组ID是否存在于话题ID对应的群组列表中,若该群组ID存在于话题ID对应的群组列表中,则服务器确认发布信息的用户帐号拥有在该话题ID中发布信息的权限。
步骤319,若用户帐号拥有信息发布权限,将信息发送给话题ID对应的群组列表中的所有群组内的各个用户帐号;
当服务器检测到用户帐号拥有信息发布的权限时,服务器根据话题ID获取话题群组ID对应的群组列表,并获取群组列表中所有群组中的各个用户帐号,服务器将用户帐号发布的信息发送给获取到的各个用户帐号。
步骤320,若用户帐号不拥有信息发布权限,则不发送客户端通过对应的用户帐号发布的信息;
当服务器检测到用户帐号不拥有信息发布的权限时,服务器将不发送客户端通过对应的用户帐号发布的信息。
图2实施例和图3A实施例提供的加入群组方法都是在一个服务器中进行的,该加入群组方法还可以在多个服务器中进行实施,请参考如下实施例。
请参考图5A,其示出了本发明另一个实施例提供的加入群组方法的方法流程图。本实施例以该加入群组方法应用于图1所示的实施环境中来举例说明。本实施例中以用户帐号发起话题创建请求进行举例说明。该方法包括:
步骤501,客户端A向群逻辑服务器发送话题创建请求;
用户根据自己的兴趣爱好设置一个话题,用户通过自身的用户帐号对应的客户端向群逻辑服务器发送创建该话题的请求;
对应地,群逻辑服务器接收话题创建请求;
步骤502,群逻辑服务器将接收到的话题创建请求发送给话题服务器;
群逻辑服务器在接收到用户帐号或后台管理员发起的话题创建请求后,将该话题创建请求转发给话题服务器。
步骤503,话题服务器根据话题创建请求创建话题,生成话题ID;
话题服务器接收群逻辑服务器转发的话题创建请求,根据话题创建请求,生成对应的话题ID。话题服务器根据不同的话题创建请求,生成唯一对应的话题ID。
步骤504,话题服务器将生成的话题ID分配给群逻辑服务器;
对应地,群逻辑服务器接收话题服务器分配的话题ID。
步骤505,群逻辑服务器向群数据服务器发送群组创建请求;
群逻辑服务器在接收到话题服务器分配的话题ID后,向群数据服务器发送群组创建请求。
对应地,群数据服务器接收群逻辑服务器发送的群组创建请求。
步骤506,群数据服务器创建初始群组,生成初始群组的群组ID;
群数据服务器根据群组创建请求,创建初始群组,生成与初始群组对应的群组ID。
步骤507,群数据服务器将生成的初始群组的群组ID发送给群逻辑服务器;
群数据服务器在生成与初始群组对应的群组ID后,将群组ID发送给群逻辑服务器;
对应地,群逻辑服务器接收群数据服务器发送的群组ID。
步骤508,群逻辑服务器将初始群组的群组ID添加至话题ID对应的群组列表中,并将添加后的群组列表发送给话题服务器;
此时,话题ID对应的群组列表中只存在初始群组的群组ID;
对应地,话题服务器接收群逻辑服务器发送的话题ID对应的群组列表。
步骤509,群逻辑服务器向客户端A发送一个成功创建话题和群组的信号;
对应地,客户端接收群逻辑服务器发送的成功创建话题和群组的信号。
步骤510,客户端B向群逻辑服务器发送加入请求,加入请求携带有话题ID;话题ID对应的群组列表中对应有至少一个群组;
客户端获取用户帐号对某个话题的加入请求,客户端将获取到的加入请求发送给服务器;
对应地,群逻辑服务器接收客户端发送的加入请求,加入请求携带有话题标识ID;话题ID对应的群组列表中对应有至少一个群组;
步骤511,群逻辑服务器根据接收到的加入请求,向话题服务器发送查询话题ID对应的群组列表的请求;
群逻辑服务器根据接收到的加入请求,获取加入请求中携带的话题ID,根据话题ID向话题服务器发送查询该话题ID对应的群组列表中的群组。
对应地,话题服务器接收群逻辑服务器发送的查询请求。
步骤512,话题服务器根据群逻辑服务器发送的查询请求,检测话题ID对应的群组列表中的各个群组是否处于满员状态;
话题服务器根据话题ID获取与该话题ID对应的群组列表,同时话题服务器获取群组列表中的所有群组信息,话题服务器对所有群组中用户帐号的个数进行检测,检测所有群组是否都处于满员的状态。
满员状态是指群组中用户帐号的个数达到了该群组所能承受的最大值。
步骤513,若话题ID对应的群组列表中存在至少一个未满员的群组,则话题服务器将任一未满员的群组分配给群逻辑服务器;
若经过检测,话题服务器发现话题ID对应的群组列表中存在未满员的群组,则话题服务器从一个或多个未满员的群组中选择一个分配给群逻辑服务器。
其中,从一个或多个未满员的群组中选择一个可以包括:从未满员的群组中随机选择一个、选择用户帐号个数最少的未满员的群组或选择用户帐号个数最多的未满员的群组。
对应地,群逻辑服务器接收话题服务器分配的未满员的群组。
步骤514,群逻辑服务器将客户端B对应的用户帐号添加至话题服务器分配的未满员的群组中;
步骤515,若话题ID对应的群组列表中各个群组都处于满员状态,则话题服务器向群逻辑服务器发送无群组分配的信号;
若经过检测,服务器发现话题ID对应的群组列表中各个群组都处于满员状态,则话题服务器会向群逻辑服务器发送一个没有未满群组分配的信号。
对应地,群逻辑服务器接收话题服务器发送的无群组分配的信号。
步骤516,群逻辑服务器向群数据服务器发送创建新的群组的请求;
群逻辑服务器在接收话题服务器发送的无群组分配信号后,向群数据服务器发送创建新的群组的请求,请求群数据服务器为该话题ID创建新的群组,便于新的用户帐号参与讨论。
对应地,群数据服务器接收群逻辑服务器发送的创建新的群组的请求。
步骤517,群数据服务器创建新的群组,并生成新的群组的群组ID;
群数据服务器根据群逻辑服务器发送的创建新的群组的请求,为话题ID创建新的群组,并为新的群组生成对应的群组ID。
步骤518,群数据服务器将新的群组的群组ID发送给群逻辑服务器;
对应地,群逻辑服务器接收群数据服务器发送的新的群组的群组ID。
步骤519,群逻辑服务器将新的群组的群组ID添加至话题ID对应的群组列表中,将客户端B对应的用户帐号添加至新的群组中;
群逻辑服务器将创建的新的群组添加至话题ID对应的群组列表中后,将新的群组分配给发送加入请求的客户端,这样该客户端对应的用户帐号就加入了该话题ID对应的群组列表中的群组,并参与该话题的讨论。
本实施例中,对于话题ID对应的群组列表中的群组个数不作具体限制。
步骤520,群逻辑服务器将添加完成的新的群组的群组ID发送给话题服务器;
群逻辑服务器在完成群组ID添加至话题ID对应的群组列表和客户端添加至新的群组后,将添加完成的群组ID发送给话题服务器。
对应地,话题服务器接收群逻辑服务器发送的新的群组的群组ID。
比如:假定话题A对应的群组列表中存在群组1和群组2,群组1和群组2中用户帐号个数最大值为100;则当用户帐号“张三”向群逻辑服务器发起参与话题A的请求时,群逻辑服务器首先向话题服务器发送查询请求,话题服务器根据话题A查找到群组1和群组2,根据检测,发现群组1和群组2中各自都已经有100个用户帐号正在参与讨论,则群逻辑服务器会为“张三”创建一个新的群组3,并将群组3加入到话题A的群组列表中,也即话题A的群组列表中同时存在群组1、群组2和群组3。
步骤521,任一客户端向群逻辑服务器发送用户帐号发布的信息,该信息至少携带有目标群组ID,目标群组ID包括:话题ID对应的群组列表中的至少一个群组的群组ID;
当话题ID对应群组列表中的任一群组中的任一用户帐号向群逻辑服务器发送发布信息请求时,群逻辑服务器接收任一客户端发送的用户帐号发布的信息,该信息中至少携带有目标群组ID,该目标群组ID是指该用户帐号需要发布信息的群组ID。
其中,至少一个群组包括:用户帐号所属的群组;或,用户帐号所属的群组和用户帐号不属于的群组的组合;或,用户帐号不属于的群组中的一个或一个以上。
该目标群组ID包括:话题ID对应的群组列表中的至少一个群组的群组ID。目标群组ID可以只是用户帐号所属的群组ID,或,目标群组也可以是话题ID对应的群组列表中的所有群组ID,或,目标群组也可以是用户帐号在群组列表中指定的一部分群组ID。
对应地,群逻辑服务器接收任一客户端发送的用户帐号发布的信息,该信息至少携带有目标群组ID,目标群组ID包括:话题ID对应的群组列表中的至少一个群组的群组ID;
步骤522,群逻辑服务器将信息发送给群数据服务器;
对应地,群数据服务器接收群逻辑服务器发送的信息。
步骤523,群数据服务器将信息发送给目标群组内的各个用户帐号;
群数据服务器在接收到群逻辑服务器发送的信息后,获取信息中携带的目标群组ID,根据目标群组ID,群数据服务器将信息发送给一个群组内的各个用户帐号,比如该用户帐号所属的群组内的其它用户帐号;群数据服务器也可以将信息发送给多个群组内的各个用户帐号,比如用户帐号所在话题ID对应群组列表中的所有群组内的各个用户帐号。
需要说明的是,步骤501至步骤523是在不考虑话题ID中各个群组中的用户帐号个数的前提下,在话题讨论过程中,每个群组中的用户帐号都会因为各种原因离开,导致部分群组中的用户帐号个数偏少的情况,如下步骤524至步骤529是群逻辑服务器对用户帐号个数偏少的群组进行合并的方法流程,如图5B所示。
步骤524,话题服务器每隔预定时间获取话题ID中各个群组中的用户帐号个数;
每隔预定时间话题服务器都要去获取话题ID中各个群组中的用户帐号个数,由于在话题讨论过程中,每个群组中的用户帐号都会因为各种原因离开,同时也会有新的用户帐号加入,所以每隔预定时间对群组中的用户帐号个数进行统计。比如:预定时间可以为10分钟、20分钟或30分钟等。
步骤525,话题服务器将获取到的各个群组中的用户帐号个数发送给群逻辑服务器;
对应地,群逻辑服务器接收话题服务器发送的各个群组中的用户帐号个数。
步骤526,群逻辑服务器检测各个群组中的用户帐号个数是否小于预设阈值;
群逻辑服务器在接收到各个群组中的用户帐号个数后,检测接收到的用户帐号个数是否小于预设阈值,比如:预设阈值为50个等。
步骤527,若存在至少两个群组中的用户帐号个数小于预设阈值,则群逻辑服务器将用户帐号个数小于预设阈值的群组进行合并;
若经过检测,话题ID对应群组列表中的所有群组中存在至少两个群组中的用户帐号个数小于预设阈值,则群逻辑服务器将用户帐号个数小于预设阈值的群组进行合并成一个群组。
若话题ID对应群组列表中出现了多个用户帐号个数小于预设阈值的群组,群逻辑服务器可以将多个群组中的用户帐号进行合并成一个群组,当合并的新的群组处于满员状态后,再将剩余的用户帐号合并成另一个新的群组,以此类推,完成用户帐号个数小于预设阈值的群组中所有用户帐号的合并。
步骤528,群逻辑服务器将群组合并的结果发送给话题服务器;
对应地,话题服务器接收群逻辑服务器发送的群组合并的结果。
步骤529,话题服务器删除用户帐号个数为零的群组。
群逻辑服务器将用户帐号个数小于预设阈值的群组进行合并后,会产生用户帐号个数为零的群组,话题服务器将用户帐号个数为零的群组从话题ID对应的群组列表中删除,或者,当每隔预定时间获取到的话题ID中用户帐号个数为零的群组,话题服务器直接将其从该话题ID对应的群组列表中删除。
需要说明的一点是,步骤524至步骤529与步骤510至步骤523之间并没有明确的先后顺序,当话题ID对应的群组列表中的存在至少两个群组时,即可执行步骤524至步骤529。
需要说明的另一点是,图5A实施例中步骤501和步骤509可以单独实现成为客户端一侧的加入群组方法;步骤510、步骤521和步骤523可以单独实现成为另一客户端一侧的加入群组方法;步骤502、步骤505、步骤508至步骤509以及步骤511、步骤516、步骤519至步骤522和步骤526至步骤528可以单独实现成为群逻辑服务器一侧的加入群组方法;步骤503至步骤504、步骤512至步骤515以及步骤524至步骤525和步骤529可以单独实现成为话题服务器一侧的加入群组方法;步骤506至步骤507、步骤517至步骤518和步骤523可以单独实现成为群数据服务器一侧的加入群组方法。
综上所述,本实施例提供的加入群组方法,通过群逻辑服务器接收客户端通过对应的用户帐号发起的加入请求,该加入请求携带有话题标识ID;该话题ID对应的群组列表中对应有至少一个群组;话题服务器检测话题ID对应的群组列表中的各个群组是否处于满员状态;若话题ID对应的群组列表中各个群组都处于满员状态,则群数据服务器创建新的群组,生成新的群组的群组ID,群逻辑服务器将该群组ID添加至话题ID对应的群组列表中;群逻辑服务器将用户帐号添加至新的群组中;解决了当群组成员的数量达到群组所能承受的最大上限时,新的用户帐号将无法加入该群组,导致新的用户帐号无法在该群组内进行话题讨论的问题;达到了在群组处于满员状态时,群数据服务器可以为同一话题自动创建新的群组,群逻辑服务器将用户帐号添加至新的群组中,使得参与同一话题讨论的用户帐号个数实现了无限制的效果。
群数据服务器可以将客户端通过对应的用户帐号发布的信息发送给该用户帐号所属群组中的各个用户帐号,也可以将用户帐号发布的信息发送给至少一个目标群组内的各个用户帐号,达到了用户帐号发布的信息可以按照群组ID进行隔离发送,也可以通过话题ID进行互通发送的效果;
每隔预定时间合并用户帐号个数小于预设阈值的群组,达到了同一群组内用户帐号个数灵活可配的效果;
每隔预定时间删除话题ID对应的群组列表中用户帐号个数为零的群组,达到了动态删除群组,减轻运营配置的效果。
可选地,在图5A所示的实施例中,客户端通过对应的用户帐号发布的信息还携带有用户帐号所属的群组ID;
在图5A所示实施例中,步骤523可以包括如下步骤,如图6A所示:
步骤523a,根据用户帐号所属的群组ID,群数据服务器检测用户帐号是否拥有对应于群组ID的信息发布权限;
当用户帐号发布的信息中携带有用户帐号所属的群组ID时,群数据服务器根据用户帐号所属的群组ID,获取该群组ID中的用户帐号列表,检测发布信息的用户帐号是否存在于该用户帐号列表中,若发布信息的用户帐号存在于该用户帐号列表中,则群数据服务器确认发布信息的用户帐号拥有在该群组ID中发布信息的权限。
步骤523b,若用户帐号拥有信息发布权限,则群数据服务器将信息发送给用户帐号所属群组内的各个用户帐号;
当群数据服务器检测到用户帐号拥有信息发布的权限时,群数据服务器根据用户帐号所属的群组ID获取群组ID中的各个用户帐号,将用户帐号发布的信息发送给获取到的各个用户帐号。
步骤523c,若用户帐号不拥有信息发布权限,则群数据服务器不发送客户端通过对应的用户帐号发布的信息;
当群数据服务器检测到用户帐号不拥有信息发布的权限时,群数据服务器将不发送客户端通过对应的用户帐号发布的信息。
可选地,图5A所示的实施例中,客户端通过对应的用户帐号发布的信息至少携带有话题ID;
在图5A所示实施例中,步骤521至步骤523可以替换为如下步骤,如图6B所示:
步骤530,群逻辑服务器接收任一客户端通过对应的用户帐号所发布的信息,信息至少携带有话题ID。
可选的,客户端通过对应的用户帐号发布的信息还携带有用户帐号所属的群组ID;
步骤531,根据用户帐号所属的群组ID,群数据服务器检测用户帐号是否拥有对应于话题ID的信息发布权限;
当客户端通过对应的用户帐号发布的信息中携带有话题ID和用户帐号所属的群组ID时,群逻辑服务器根据话题ID,向话题服务器获取该话题ID对应的群组列表;再根据用户帐号所属的群组ID,查询用户帐号所属的群组ID是否属于话题ID对应的群组列表;若属于该话题ID对应的群组列表,则群数据服务器获取该所属的群组ID中的用户帐号列表,检测发布信息的用户帐号是否存在于该用户帐号列表中,若发布信息的用户帐号存在于该用户帐号列表中,则群数据服务器确认发布信息的用户帐号拥有在目标群组ID中发布信息的权限。
步骤532,若用户帐号拥有信息发布权限,则群数据服务器将信息发送给话题ID对应的群组列表中的所有群组内的各个用户帐号;
当群数据服务器检测到用户帐号拥有信息发布的权限时,群数据服务器根据话题ID获取话题ID对应的群组列表中所有群组的各个用户帐号,将客户端通过对应的用户帐号发布的信息发送给获取到的各个用户帐号。
步骤533,若用户帐号不拥有信息发布权限,则群数据服务器不发送客户端通过对应的用户帐号发布的信息;
当群数据服务器检测到用户帐号不拥有信息发布的权限时,群数据服务器将不发送客户端通过对应的用户帐号发布的信息。
以下为本发明的装置实施例,装置实施例中未详尽描述的细节,可以参考上述一一对应的方法实施例。
请参考图7,其示出了本发明一个实施例提供的加入群组装置的结构方框图。本实施例提供的加入群组装置可以通过软件、硬件或者两者的结合实现成为服务器的全部或一部分。该装置包括:
请求接收模块710;用于接收客户端通过对应的用户帐号发起的加入请求,加入请求携带有话题标识ID;话题ID对应的群组列表中对应有至少一个群组。
状态检测模块720,用于检测话题ID对应的群组列表中的各个群组是否处于满员状态。
群组创建模块730,用于在话题ID对应的群组列表中各个群组都处于满员状态时,创建新的群组,生成新的群组的群组ID,将群组ID添加至话题ID对应的群组列表中。
帐号添加模块740,用于将用户帐号添加至新的群组中。
综上所述,本实施例提供的加入群组装置,通过接收客户端通过对应的用户帐号发起的加入请求,该加入请求携带有话题标识ID;该话题ID对应的群组列表中对应有至少一个群组;检测话题ID对应的群组列表中的各个群组是否处于满员状态;若话题ID对应的群组列表中各个群组都处于满员状态,则创建新的群组,生成新的群组的群组ID,将该群组ID添加至话题ID对应的群组列表中;将用户帐号添加至新的群组中;解决了当群组成员的数量达到群组所能承受的最大上限时,新的用户帐号将无法加入该群组,导致新的用户帐号无法在该群组内进行话题讨论的问题;达到了在群组处于满员状态时,服务器可以为同一话题自动创建新的群组,并将用户帐号添加至新的群组中,使得参与同一话题讨论的用户帐号个数实现了无限制的效果。
请参考图8,其示出了本发明另一个实施例提供的加入群组装置的结构方框图。本实施例提供的加入群组装置可以通过软件、硬件或者两者的结合实现成为服务器的全部或一部分。该装置包括:
话题请求模块810,用于接收话题创建请求。
话题ID模块820,用于根据话题创建请求创建话题,生成话题ID。
初始群组模块830,用于创建初始群组,生成初始群组的群组ID。
ID添加模块840,用于将初始群组的群组ID添加至话题ID对应的群组列表中。
请求接收模块850;用于接收客户端通过对应的用户帐号发起的加入请求,加入请求携带有话题标识ID;话题ID对应的群组列表中对应有至少一个群组。
状态检测模块860,用于检测话题ID对应的群组列表中的各个群组是否处于满员状态。
群组分配模块870,用于在话题ID对应的群组列表中存在为满员的群组时,将未满员的群组分配给用户帐号。
群组创建模块880,用于在话题ID对应的群组列表中各个群组都处于满员状态时,创建新的群组,生成新的群组的群组ID,将群组ID添加至话题ID对应的群组列表中。
帐号添加模块890,用于将用户帐号添加至新的群组中。
第一接收模块900,用于接收任一客户端通过对应的用户帐号发布的信息,信息至少携带有目标群组ID,目标群组ID包括:话题ID对应的群组列表中的至少一个群组的群组ID。
第一发送模块910,用于将信息发送给目标群组ID对应群组内的各个用户帐号。
其中,至少一个群组包括:用户帐号所属的群组;或,用户帐号所属的群组和用户帐号不属于的群组的组合;或,用户帐号不属于的群组中的一个或一个以上。
可选地,客户端通过对应的用户帐号发布的信息还携带有用户帐号所属的群组ID;
该装置,还包括:
第一检测模块920,用于根据用户帐号所属的群组ID,检测用户帐号是否拥有对应于目标群组ID的信息发布权限。
个数获取模块930,用于每隔预定时间获取话题ID中各个群组中的用户帐号个数。
个数检测模块940,用于检测各个群组中的用户帐号个数是否小于预设阈值。
群组合并模块950,用于在存在至少两个群组中的用户帐号个数小于预设阈值时,将用户帐号个数小于预设阈值的群组进行合并。
群组删除模块960,用于删除用户帐号个数为零的群组。
综上所述,本实施例提供的加入群组装置,通过接收客户端通过对应的用户帐号发起的加入请求,该加入请求携带有话题标识ID;该话题ID对应的群组列表中对应有至少一个群组;检测话题ID对应的群组列表中的各个群组是否处于满员状态;若话题ID对应的群组列表中各个群组都处于满员状态,则创建新的群组,生成新的群组的群组ID,将该群组ID添加至话题ID对应的群组列表中;将用户帐号添加至新的群组中;解决了当群组成员的数量达到群组所能承受的最大上限时,新的用户帐号将无法加入该群组,导致新的用户帐号无法在该群组内进行话题讨论的问题;达到了在群组处于满员状态时,服务器可以为同一话题自动创建新的群组,并将用户帐号添加至新的群组中,使得参与同一话题讨论的用户帐号个数实现了无限制的效果。
服务器可以将客户端通过对应的用户帐号发布的信息发送给该用户帐号所属群组中的各个用户帐号,也可以将用户帐号发布的信息发送给至少一个目标群组内的各个用户帐号,达到了用户帐号发布的信息可以按照群组ID进行隔离发送,也可以通过话题ID进行互通发送的效果;
每隔预定时间合并用户帐号个数小于预设阈值的群组,达到了同一群组内用户帐号个数灵活可配的效果;
每隔预定时间删除话题ID对应的群组列表中用户帐号个数为零的群组,达到了动态删除群组,减轻运营配置的效果。
可选地,客户端通过对应的用户帐号发布的信息携带有话题ID;图8所示的实施例中第一接收模块900至第一检测模块920可以替换为如下模块,如图9所示。
第二接收模块970,用于接收任一客户端通过对应的用户帐号所发布的信息,信息至少携带有所述话题ID和/或用户帐号所属的群组ID;
第二发送模块980,用于将信息发送给话题ID对应的群组列表中的所有群组内的各个用户帐号。
可选地,客户端通过对应的用户帐号发布的信息还携带有用户帐号所属的群组ID;
该装置,还包括:
第二检测模块990,用于根据用户帐号所属的群组ID,检测用户帐号是否拥有对应于话题ID的信息发布权限。
请参考图10,其示出了本发明实施例提供的一种加入群组系统的结构方框图,该系统包括:服务器1020和客户端1040;
服务器1020包括如图7所示实施例或图8所示实施例或图9所示实施例任一所述的加入群组装置;
客户端1040,用于向服务器发送用户帐号发起的加入请求,该客户端登录有至少一个用户帐号。
需要说明的是:上述实施例提供的加入群组装置在加入群组时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的加入群组装置与加入群组方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种加入群组方法,其特征在于,所述方法包括:
接收客户端通过对应的用户帐号发起的加入请求,所述加入请求携带有话题标识ID;所述话题ID对应的群组列表中对应有至少一个群组,所述至少一个群组中的每个群组具有一个群组ID;
检测所述话题ID对应的所述群组列表中的各个所述群组是否处于满员状态;
若所述话题ID对应的所述群组列表中各个所述群组都处于满员状态,则创建新的群组,生成所述新的群组的群组ID,将所述群组ID添加至所述话题ID对应的所述群组列表中;
将所述用户帐号添加至所述新的群组中;
每隔预定时间获取所述话题ID中各个所述群组中的用户帐号个数;
检测所述各个所述群组中的用户帐号个数是否小于预设阈值;
若存在至少两个所述群组中的用户帐号个数小于所述预设阈值,则将用户帐号个数小于所述预设阈值的所述群组合并成一个群组,当合并的新群组处于满员状态后,再将剩余的用户账号合并成另一个新的群组;
删除所述用户帐号个数为零的所述群组。
2.根据权利要求1所述的方法,其特征在于,所述接收客户端发起的加入请求之前,还包括:
接收话题创建请求;
根据所述话题创建请求创建话题,生成话题ID;
创建初始群组,生成所述初始群组的群组ID;
将所述初始群组的群组ID添加至所述话题ID对应的所述群组列表中。
3.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
接收任一客户端通过对应的用户帐号所发布的信息,所述信息至少携带有目标群组ID,所述目标群组ID包括:所述话题ID对应的群组列表中的至少一个群组的群组ID;
将所述信息发送给所述目标群组ID所对应群组内的各个用户帐号;
其中,所述至少一个群组包括:所述用户帐号所属的群组;或,所述用户帐号所属的群组和所述用户帐号不属于的群组的组合;或,所述用户帐号不属于的群组中的一个或一个以上。
4.根据权利要求3所述的方法,其特征在于,所述信息还携带有所述用户帐号所属的群组ID;
所述将所述信息发送给所述目标群组ID所对应群组内的各个用户帐号之前,还包括:
根据所述用户帐号所属的群组ID,检测所述用户帐号是否拥有对应于所述目标群组ID的信息发布权限。
5.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
接收任一客户端通过对应的用户帐号所发布的信息,所述信息至少携带有所述话题ID;
将所述信息发送给所述话题ID对应的群组列表中的所有群组内的各个用户帐号。
6.根据权利要求5所述的方法,其特征在于,所述信息还携带有所述用户帐号所属的群组ID;
所述将所述信息发送给所述话题ID对应的群组列表中的所有群组内的各个用户帐号之前,还包括:
根据所述用户帐号所属的群组ID,检测所述用户帐号是否拥有对应于所述话题ID的信息发布权限。
7.根据权利要求1所述的方法,其特征在于,所述检测所述话题ID对应的所述群组列表中的各个所述群组是否处于满员状态之后,还包括:
若所述话题ID对应的所述群组列表中存在未满员的群组,则将所述未满员的群组分配给所述用户帐号。
8.一种加入群组装置,其特征在于,所述装置包括:
请求接收模块;用于接收客户端通过对应的用户帐号发起的加入请求,所述加入请求携带有话题标识ID;所述话题ID对应的群组列表中对应有至少一个群组,所述至少一个群组中的每个群组具有一个群组ID;
状态检测模块,用于检测所述话题ID对应的所述群组列表中的各个所述群组是否处于满员状态;
群组创建模块,用于在所述话题ID对应的所述群组列表中各个所述群组都处于满员状态时,创建新的群组,生成所述新的群组的群组ID,将所述群组ID添加至所述话题ID对应的所述群组列表中;
帐号添加模块,用于将所述用户帐号添加至所述新的群组中;
个数获取模块,用于每隔预定时间获取所述话题ID中各个所述群组中的用户帐号个数;
个数检测模块,用于检测所述各个所述群组中的用户帐号个数是否小于预设阈值;
群组合并模块,用于在存在至少两个所述群组中的用户帐号个数小于所述预设阈值时,将用户帐号个数小于所述预设阈值的所述群组合并成一个群组,当合并的新群组处于满员状态后,再将剩余的用户账号合并成另一个新的群组;
群组删除模块,用于删除所述用户帐号个数为零的所述群组。
9.根据权利要求8所述的装置,其特征在于,所述装置,还包括:
话题请求模块,用于接收话题创建请求;
话题ID模块,用于根据所述话题创建请求创建话题,生成话题ID;
初始群组模块,用于创建初始群组,生成所述初始群组的群组ID;
ID添加模块,用于将所述初始群组的群组ID添加至所述话题ID对应的所述群组列表中。
10.根据权利要求8所述的装置,其特征在于,所述装置,还包括:
第一接收模块,用于接收任一客户端通过对应的用户帐号发布的信息,所述信息至少携带有目标群组ID,所述目标群组ID包括:所述话题ID对应的群组列表中的至少一个群组的群组ID;
第一发送模块,用于将所述信息发送给所述目标群组ID对应群组内的各个用户帐号;
其中,所述至少一个群组包括:所述用户帐号所属的群组;或,所述用户帐号所属的群组和所述用户帐号不属于的群组的组合;或,所述用户帐号不属于的群组中的一个或一个以上。
11.根据权利要求10所述的装置,其特征在于,所述信息还携带有所述用户帐号所属的群组ID;
所述装置,还包括:
第一检测模块,用于根据所述用户帐号所属的群组ID,检测所述用户帐号是否拥有对应于所述目标群组ID的信息发布权限。
12.根据权利要求8所述的装置,其特征在于,所述装置,还包括:
第二接收模块,用于接收任一客户端通过对应的用户帐号所发布的信息,所述信息至少携带有所述话题ID;
第二发送模块,用于将所述信息发送给所述话题ID对应的群组列表中的所有群组内的各个用户帐号。
13.根据权利要求12所述的装置,其特征在于,所述信息还携带有所述用户帐号所属的群组ID;
所述装置,还包括:
第二检测模块,用于根据所述用户帐号所属的群组ID,检测所述用户帐号是否拥有对应于所述话题ID的信息发布权限。
14.根据权利要求8所述的装置,其特征在于,所述装置,还包括:
群组分配模块,用于在所述话题ID对应的所述群组列表中存在未满员的群组时,将所述未满员的群组分配给所述用户帐号。
15.一种加入群组系统,其特征在于,所述系统包括:服务器和至少一个客户端;
所述服务器包括如权利要求8至14任一所述的加入群组装置;
所述客户端,用于向所述服务器发起所述用户帐号的加入请求,所述客户端登录有至少一个所述用户帐号。
16.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由处理器加载并执行以实现如权利要求1至7任一所述的加入群组方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510595231.6A CN106549988B (zh) | 2015-09-18 | 2015-09-18 | 加入群组方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510595231.6A CN106549988B (zh) | 2015-09-18 | 2015-09-18 | 加入群组方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106549988A CN106549988A (zh) | 2017-03-29 |
CN106549988B true CN106549988B (zh) | 2020-06-30 |
Family
ID=58362848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510595231.6A Active CN106549988B (zh) | 2015-09-18 | 2015-09-18 | 加入群组方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106549988B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259139A (zh) * | 2021-05-27 | 2021-08-13 | 支付宝(杭州)信息技术有限公司 | 一种创建群组方法及装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107026917A (zh) * | 2017-06-16 | 2017-08-08 | 智者四海(北京)技术有限公司 | 用于消息推送的方法及系统 |
CN108076166A (zh) * | 2017-08-04 | 2018-05-25 | 北京微应软件科技有限公司 | 在微信通讯录里清理僵尸粉的方法与装置 |
CN108566327B (zh) * | 2018-01-09 | 2021-11-30 | 徐玉强 | 一种用于聊天应用的数据处理方法及装置 |
CN109347720A (zh) * | 2018-09-26 | 2019-02-15 | 上海掌门科技有限公司 | 确定群组成员、发送加入群组的请求的方法和设备 |
CN109245906A (zh) * | 2018-10-24 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 即时通信群组的管理方法及装置 |
CN110286854B (zh) * | 2019-06-12 | 2021-10-29 | 北京达佳互联信息技术有限公司 | 群成员管理和群消息处理的方法、装置、设备及存储介质 |
CN110913276B (zh) * | 2019-11-01 | 2022-04-22 | 北京达佳互联信息技术有限公司 | 数据处理的方法、装置、服务器、终端及存储介质 |
CN111277637B (zh) * | 2020-01-14 | 2021-08-24 | 腾讯科技(深圳)有限公司 | 会话群组的合并方法、装置、终端及存储介质 |
CN114826802B (zh) * | 2020-03-18 | 2023-08-01 | 腾讯科技(成都)有限公司 | 进群方法、装置、群组管理系统、计算机设备和存储介质 |
CN113706327B (zh) * | 2021-09-08 | 2024-03-12 | 易儒网络科技有限公司 | 具有防垄断功能的网络群组组建方法及系统 |
CN115022106B (zh) | 2021-12-27 | 2024-02-27 | 北京字跳网络技术有限公司 | 一种群信息处理方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523179A (zh) * | 2011-12-31 | 2012-06-27 | 重庆新媒农信科技有限公司 | 基于即时通讯的话题群组业务实现方法 |
CN103297297A (zh) * | 2013-06-03 | 2013-09-11 | 腾讯科技(深圳)有限公司 | 分组处理方法和分组处理系统 |
CN103986643A (zh) * | 2014-05-16 | 2014-08-13 | 北京奇虎科技有限公司 | 基于浏览器的访问网站对应的群组的方法及装置 |
CN104639426A (zh) * | 2015-01-29 | 2015-05-20 | 小米科技有限责任公司 | 群组成员添加方法及装置 |
CN104660483A (zh) * | 2013-11-21 | 2015-05-27 | 腾讯科技(上海)有限公司 | 群组通讯方法、服务端及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7865553B1 (en) * | 2007-03-22 | 2011-01-04 | Google Inc. | Chat system without topic-specific rooms |
CN101345718A (zh) * | 2007-07-13 | 2009-01-14 | 阿里巴巴集团控股有限公司 | 一种在群内支持话题分类的方法、系统和装置 |
CN102075456B (zh) * | 2011-02-25 | 2013-06-19 | 中国科学院计算技术研究所 | 分布式域管理系统中的群组建立及成员添加方法 |
US8386619B2 (en) * | 2011-03-23 | 2013-02-26 | Color Labs, Inc. | Sharing content among a group of devices |
CN104901816B (zh) * | 2014-03-05 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 提供多人聊天的方法和系统 |
CN105610682B (zh) * | 2015-11-25 | 2018-10-09 | 浙江翼信科技有限公司 | 一种即时通信应用中将联系人添加至群组的方法和装置 |
-
2015
- 2015-09-18 CN CN201510595231.6A patent/CN106549988B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523179A (zh) * | 2011-12-31 | 2012-06-27 | 重庆新媒农信科技有限公司 | 基于即时通讯的话题群组业务实现方法 |
CN103297297A (zh) * | 2013-06-03 | 2013-09-11 | 腾讯科技(深圳)有限公司 | 分组处理方法和分组处理系统 |
CN104660483A (zh) * | 2013-11-21 | 2015-05-27 | 腾讯科技(上海)有限公司 | 群组通讯方法、服务端及系统 |
CN103986643A (zh) * | 2014-05-16 | 2014-08-13 | 北京奇虎科技有限公司 | 基于浏览器的访问网站对应的群组的方法及装置 |
CN104639426A (zh) * | 2015-01-29 | 2015-05-20 | 小米科技有限责任公司 | 群组成员添加方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259139A (zh) * | 2021-05-27 | 2021-08-13 | 支付宝(杭州)信息技术有限公司 | 一种创建群组方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106549988A (zh) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106549988B (zh) | 加入群组方法、装置及系统 | |
US10367852B2 (en) | Multiplexed demand signaled distributed messaging | |
US10771271B2 (en) | Methods and devices for adding new member to group through barcode scanning | |
CN109089168B (zh) | 视频分享方法、装置、系统及存储介质 | |
CN103718578B (zh) | 用于消息通知、以及用于提供消息通知的方法和装置 | |
US20130179518A1 (en) | Method and system for having a conference across im systems | |
US20180027210A1 (en) | System and method for implementing video calls | |
CN108881354B (zh) | 一种推送信息存储方法、装置、服务器和计算机存储介质 | |
CN105245577A (zh) | 信息推送方法、装置及系统 | |
CN102724139B (zh) | 即时通信好友推荐方法及装置 | |
CN102984213B (zh) | 一种信息共享的方法、装置及系统 | |
CN103581111B (zh) | 一种通信方法及系统 | |
US20120297031A1 (en) | Anonymous Signalling | |
CA2892650A1 (en) | Methods and devices for adding new member to group through barcode scanning | |
JP2019531527A (ja) | 通知を行う方法、装置及びシステム | |
US20160021035A1 (en) | Creating a user group | |
CN111355986B (zh) | 一种直播间中的消息处理方法、装置和存储介质 | |
CN105099894A (zh) | 消息推送方法、装置及系统 | |
CN105978938A (zh) | 一种业务处理设备的业务状态确定方法及调度设备 | |
WO2015096802A1 (zh) | 消息发送方法、装置及服务器 | |
CN103428260A (zh) | 用于将终端分配到服务器并高效地提示终端的系统及方法 | |
CN106411713B (zh) | 一种状态通知方法及服务器 | |
CN114979097B (zh) | 基于mqtt的消息推送方法、装置及电子设备 | |
CN112910796B (zh) | 流量管理方法、装置、设备、存储介质以及程序产品 | |
US9742776B2 (en) | Contact identification validation via social invitation |
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 |