CN106549988B - Group joining method, device and system - Google Patents

Group joining method, device and system Download PDF

Info

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
Application number
CN201510595231.6A
Other languages
Chinese (zh)
Other versions
CN106549988A (en
Inventor
李郁韬
赵文
张津
周谦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201510595231.6A priority Critical patent/CN106549988B/en
Publication of CN106549988A publication Critical patent/CN106549988A/en
Application granted granted Critical
Publication of CN106549988B publication Critical patent/CN106549988B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-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

Abstract

The invention discloses a group joining method, a group joining device and a group joining system, and belongs to the technical field of communication. The invention receives the joining request initiated by the client through the corresponding user account; detecting whether each group in a group list corresponding to the topic ID is in a full member state; if all groups in the group list corresponding to the topic ID are in a full state, creating a new group, generating a group ID of the new group, and adding the group ID to the group list corresponding to the topic ID; adding the user account to the new group; the problem that when the number of group members reaches the maximum upper limit of a group, a new user account cannot join the group, so that the new user account cannot discuss topics in the group is solved; when the group is in a full state, the server automatically creates a new group for the same topic and adds the user account number to the new group, so that the number of the user account numbers participating in the discussion of the same topic is unlimited.

Description

Group joining method, device and system
Technical Field
The present invention relates to the field of communications technologies, and in particular, to a method, an apparatus, and a system for joining a group.
Background
The Instant Messaging (IM) technology refers to a technology in which a plurality of user accounts are in a virtual group and multi-user real-time communication is realized through the internet, and in the technology, a virtual group needs to be created first.
In the prior art, a user account a initiates a request for creating a group from an IM client to a server, the server creates a group with a unique ID (Identification) in a local storage, the group member list includes the user account a, and there are two ways for the user account B to join the group: the method comprises the steps that in the first mode, the group ID is obtained, and the server is applied to join the group according to the group ID; in the second mode, the user account A of the member in the group invites the user account B to join the group to the server.
In the process of implementing the invention, the inventor finds that the prior art has at least the following problems:
because each group created by the server and having a unique ID has a certain limit on the number of group members, when the number of group members reaches the maximum upper limit that the group can bear, a new user account cannot join the group, so that the new user account cannot discuss topics in the group.
Disclosure of Invention
In order to solve the problem that when the number of group members reaches the maximum upper limit that a group can bear, a new user account cannot be added to the group, so that the new user account cannot perform topic discussion in the group, embodiments of the present invention provide a group adding method, device and system. The technical scheme is as follows:
according to a first aspect of the present invention, there is provided a method of joining a group, the method comprising:
receiving a joining request initiated by a client through a corresponding user account, wherein the joining request carries a topic identification ID; at least one group corresponds to the group list corresponding to the topic ID;
detecting whether each group in the group list corresponding to the topic ID is in a full member state;
if each group in the group list corresponding to the topic ID is in a full state, creating a new group, generating a group ID of the new group, and adding the group ID to the group list corresponding to the topic ID;
adding the user account to the new group.
According to a second aspect of the present invention, there is provided a group joining apparatus, the apparatus comprising:
a request receiving module; the system comprises a client, a server and a server, wherein the client is used for receiving a joining request initiated by a corresponding user account, and the joining request carries a topic identification ID; at least one group corresponds to the group list corresponding to the topic ID;
a state detection module, configured to detect whether each group in the group list corresponding to the topic ID is in a full member state;
a group creating module, configured to create a new group when each group in the group list corresponding to the topic ID is in a full state, generate a group ID of the new group, and add the group ID to the group list corresponding to the topic ID;
and the account adding module is used for adding the user account to the new group.
According to a third aspect of the present invention, there is provided a group joining system, the system comprising: a server and a client;
the server comprises a group joining device as described in the second aspect above;
the client is used for initiating a joining request of the user account to the server, and the client logs in at least one user account.
The technical scheme provided by the embodiment of the invention has the following beneficial effects:
receiving a joining request initiated by a client through a corresponding user account, wherein the joining request carries a topic identification ID; at least one group is corresponding to the group list corresponding to the topic ID; detecting whether each group in a group list corresponding to the topic ID is in a full member state; if all groups in the group list corresponding to the topic ID are in a full state, creating a new group, generating a group ID of the new group, and adding the group ID to the group list corresponding to the topic ID; adding the user account to the new group; the problem that when the number of group members reaches the maximum upper limit which can be borne by a group, a new user account cannot be added into the group, so that the new user account cannot carry out topic discussion in the group is solved; when the group is in a full state, the server can automatically create a new group for the same topic and add the user account number to the new group, so that the number of the user account numbers participating in the discussion of the same topic is unlimited.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a schematic diagram of an implementation environment provided by an embodiment of the invention;
FIG. 2 is a flowchart of a method for joining a group according to an embodiment of the present invention;
FIG. 3A is a flowchart of a method for joining a group according to another embodiment of the present invention;
FIG. 3B is a flowchart of a method for group merging according to an embodiment of the present invention;
FIG. 4A is a schematic diagram illustrating the variation of groups in the group list corresponding to topic A in one embodiment of the present invention;
FIG. 4B is a flowchart illustrating a method according to the sub-steps of step 311 in the embodiment of FIG. 3A;
FIG. 4C is a flowchart of a method for joining a group according to another embodiment of the present invention;
FIG. 5A is a flowchart of a method for joining a group according to another embodiment of the present invention;
FIG. 5B is a flowchart of a method for group merging according to another embodiment of the present invention;
FIG. 6A is a method flow diagram illustrating the substeps of step 523 in the embodiment of FIG. 5A of the present invention;
FIG. 6B is a flowchart of a method for joining a group according to another embodiment of the present invention;
fig. 7 is a block diagram illustrating a structure of a device joining a group according to an embodiment of the present invention;
fig. 8 is a block diagram of a group joining device according to another embodiment of the present invention;
fig. 9 is a block diagram of a group joining device according to another embodiment of the present invention;
fig. 10 is a block diagram of a group joining system according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
Referring to fig. 1, a schematic structural diagram of an implementation environment according to an embodiment of the invention is shown. The implementation environment includes: a terminal 120 and a server 140.
The terminal 120 may be a mobile phone, a tablet computer, an e-book reader, an MP3(Moving Picture experts Group Audio Layer III, mpeg compression standard Audio Layer 3) player, an MP4(Moving Picture experts Group Audio Layer IV, mpeg compression standard Audio Layer 4) player, a laptop computer, a desktop computer, and the like. The terminal 120 has a communication application installed therein, which may be an instant communication application, a social application, or a voice communication application. The communication application is an application that performs text or voice communication in a group. For example, the communication application is an instant messenger program QQ, a microblog, a WeChat, or the like.
The terminal 120 runs an application client 122 (not shown) in installation, and the client 122 logs in one user account or logs in a plurality of user accounts.
The terminal 120 and the server 140 establish a connection therebetween through a wireless network or a wired network. The information issued by the terminal 120 is processed by the server 140 and then sent to other clients corresponding to the user accounts in the corresponding group.
Server 140 is a backend server for communication class applications. The server 140 may be a server, a server cluster composed of a plurality of servers, or a cloud computing center.
The server 140 may include: a group logic server 141, a topic server 142, and a group data server 143.
The terminal 120 establishes a connection with the group logic server 141, and the group logic server 141 is configured to process a request and all service logics sent by the terminal 120, manage requests and reports of the topic server 142 and the group data server 143, and communicate with the topic server 142 and the group data server 143.
The topic server 142 establishes a connection with the group logic server 141, and the topic server 142 is used for storing topic information and a group list corresponding to each topic, and providing an increasing, deleting, modifying and checking protocol for each group in the group list.
The group data server 143 establishes connection with the group logic server 141, and the group data server 143 is used for storing group information and a group member list and providing an increasing, deleting, modifying and checking protocol for each group; and at the same time, to process group information sent by the terminal 120, query a local member list, and so on.
Optionally, the server 140 may further include a message server 144, which establishes a connection with the group data server 143, and is configured to send information in the group data server 143 to a user account in a target group, so as to implement diffusion of group information.
Referring to fig. 2, a flowchart of a method for joining a group according to an embodiment of the present invention is shown. The present embodiment is illustrated by applying the group joining method to the server 140 shown in fig. 1. The method comprises the following steps:
step 201, receiving a join request initiated by a client through a corresponding user account, wherein the join request carries a topic ID; at least one group corresponds to the group list corresponding to the topic ID;
the method comprises the steps that a client side obtains a joining request of a user account to a certain topic, the client side sends the obtained joining request to a server, the server receives the joining request sent by the client side, the joining request carries the topic ID, and a group list corresponding to the topic ID at least comprises one group.
Step 202, detecting whether each group in a group list corresponding to the topic ID is in a full state;
according to the received joining request, the server acquires a group list corresponding to the topic ID in the joining request, simultaneously acquires all group information in the group list, and detects the number of user accounts in all groups and whether all groups are in a full state.
Step 203, if the group list corresponding to the topic ID has a group with less than full members, the group with less than full members is allocated to the user account;
if the server finds that at least one group with less than full members exists in the group list corresponding to the topic ID after detection, the server selects one account number distributed to the user initiating the join request from one or more groups with less than full members.
Step 204, if each group in the group list corresponding to the topic ID is in a full state, creating a new group, generating a group ID of the new group, and adding the group ID to the group list corresponding to the topic ID;
if the server finds that all the groups in the group list corresponding to the topic ID are in the full state after detection, the server creates a new group, generates a group ID corresponding to the new group, and simultaneously adds the group ID of the new group to the group list corresponding to the topic ID, namely, a new group is added to the group list corresponding to the topic ID.
Such as: assuming that a group 1 and a group 2 exist in a group list corresponding to the topic A, and the maximum value of the number of user accounts in the group 1 and the group 2 is 100; when the client initiates a request for joining the topic a to the server through the corresponding user account "zhang san", the server first finds the group 1 and the group 2 according to the topic a, and finds that 100 user accounts are already participating in the discussion in each of the group 1 and the group 2 according to the detection, the server creates a new group 3 for zhang san "and joins the group 3 to the group list of the topic a, that is, the group 1, the group 2, and the group 3 exist in the group list of the topic a at the same time.
Step 205, add the user account to the new group.
After adding the created new group to the group list corresponding to the topic ID, the server allocates the new group to the user account initiating the join request, so that the user account joins the group in the group list corresponding to the topic ID and participates in the discussion of the topic.
In summary, in the group joining method provided in this embodiment, a joining request initiated by a client through a corresponding user account is received, where the joining request carries a topic identification ID; at least one group is corresponding to the group list corresponding to the topic ID; detecting whether each group in a group list corresponding to the topic ID is in a full member state; if all groups in the group list corresponding to the topic ID are in a full state, creating a new group, generating a group ID of the new group, and adding the group ID to the group list corresponding to the topic ID; adding the user account to the new group; the problem that when the number of group members reaches the maximum upper limit which can be borne by a group, a new user account cannot be added into the group, so that the new user account cannot carry out topic discussion in the group is solved; when the group is in a full state, the server can automatically create a new group for the same topic and add the user account number to the new group, so that the number of the user account numbers participating in the discussion of the same topic is unlimited.
Referring to fig. 3A, a flowchart of a method for joining a group according to another embodiment of the invention is shown. The embodiment is illustrated by applying the join group method to the implementation environment shown in fig. 1. The method comprises the following steps:
step 301, receiving a topic creation request;
the server receives a topic creation request, wherein the topic creation request is initiated by the client through a corresponding user account or is configured by a background administrator.
The step comprises at least one of the following two substeps:
firstly, a user sets a topic according to own interests and hobbies, and the user initiates a request for creating the topic to a server through a client corresponding to the user account of the user;
second, the background manager sets a topic according to current trending news, trending entertainment bagua, or military politics, and initiates a request for creating the topic to the server through a background management device (not shown in fig. 1).
Step 302, creating a topic according to the topic creating request, and generating a topic ID;
the server receives a topic creating request initiated by the client or the background management equipment, and generates a corresponding topic ID according to the topic creating request. The server creates a request according to different topics and generates a unique corresponding topic ID.
Step 303, creating an initial group, and generating a group ID of the initial group;
after generating the corresponding topic ID, the server will actively create an initial group for the topic, and generate a corresponding group ID for the initial group.
Step 304, adding the group ID of the initial group to a group list corresponding to the topic ID;
after generating the group ID of the initial group, the server adds the group ID of the initial group to the group list corresponding to the topic ID, and at this time, only the group ID of the initial group exists in the group list corresponding to the topic ID.
After the server adds the group ID of the initial group to the group list corresponding to the topic ID, a signal of successfully creating the topic and the group is fed back to the client or the background management device.
305, receiving a join request initiated by a client through a corresponding user account, wherein the join request carries a topic identification ID; at least one group corresponds to the group list corresponding to the topic ID;
the method comprises the steps that a client side obtains a joining request of a user account to a certain topic, the client side sends the obtained joining request to a server, the server receives the joining request sent by the client side, the joining request carries the topic ID, and a group list corresponding to the topic ID at least comprises one group.
Step 306, detecting whether each group in the group list corresponding to the topic ID is in a full state;
according to the received joining request, the server acquires a group list corresponding to the topic ID in the joining request, simultaneously acquires all group information in the group list, and detects the number of user accounts in all groups and whether all groups are in a full state.
The full state means that the number of the user accounts in the group reaches the maximum value which can be borne by the group.
Step 307, if at least one group which is not full exists in the group list corresponding to the topic ID, allocating any group which is not full to the user account;
if the server finds that the group list corresponding to the topic ID has the group with less than full members after detection, the server selects one account number distributed to the user initiating the join request from one or more groups with less than full members.
Wherein selecting one from the one or more groups of not full members may comprise: randomly selecting one from the groups of the non-full members, selecting the group of the non-full members with the least number of the user accounts or selecting the group of the non-full members with the most number of the user accounts.
Step 308, if each group in the group list corresponding to the topic ID is in a full state, creating a new group, generating a group ID of the new group, and adding the group ID to the group list corresponding to the topic ID;
if the server finds that all the groups in the group list corresponding to the topic ID are in the full state after detection, the server creates a new group, generates a group ID corresponding to the new group, and simultaneously adds the group ID of the new group to the group list corresponding to the topic ID, namely, a new group is added to the group list corresponding to the topic ID.
Such as: assuming that a group 1 and a group 2 exist in a group list corresponding to the topic A, and the maximum value of the number of user accounts in the group 1 and the group 2 is 100; when the client initiates a request for joining the topic a to the server through the corresponding user account "zhang san", the server first finds the group 1 and the group 2 according to the topic a, and finds that 100 user accounts are already participating in the discussion in each of the group 1 and the group 2 according to the detection, the server creates a new group 3 for zhang san "and joins the group 3 to the group list of the topic a, that is, the group 1, the group 2, and the group 3 exist in the group list of the topic a at the same time.
Illustratively, topic a corresponds to a change of groups in the group list, as shown in fig. 4A.
The number of groups in the group list corresponding to the topic a is not specifically limited in this embodiment, and as long as the server receives the join request initiated by the client through the corresponding user account, the steps 306 to 308 are repeatedly executed, that is, the number of user accounts in the topic a is not limited in this embodiment.
Step 309, add the user account to the new group.
After adding the created new group to the group list corresponding to the topic ID, the server allocates the new group to the user account initiating the join request, so that the user account joins the group in the group list corresponding to the topic ID and participates in the discussion of the topic.
Step 310, receiving information issued by any client through a corresponding user account, where the information at least carries a target group ID, where the target group ID includes: a group ID of at least one group in a group list corresponding to the topic ID;
when any client in any group in the group list corresponding to the topic ID sends an information publishing request to the server through the corresponding user account, the server receives information published by any client through the corresponding user account, the information at least carries a target group ID, and the target group ID refers to a group ID of the information needing to be published by the user account.
Wherein at least one group comprises: a group to which the user account belongs; or, the combination of the group to which the user account belongs and the group to which the user account does not belong; or one or more of the groups to which the user account does not belong.
That is, the target group ID includes: a group ID of at least one group in the group list to which the topic ID corresponds. The target group ID may be only the group ID to which the user account belongs, or the target group may be all group IDs in a group list corresponding to the topic ID, or the target group may be a part of group IDs specified by the user account in the group list.
311, sending the information to each user account in the group corresponding to the target group ID;
the server acquires the target group ID carried in the information after receiving the information issued by the client through the corresponding user account, and sends the information issued by the client through the corresponding user account to each user account in the corresponding group according to the target group ID. Such as other user accounts within the group to which the user account belongs; the server may also send information issued by the user account to each user account in multiple groups, for example, each user account in all groups in the group list corresponding to the topic ID where the user account is located.
It should be noted that, in steps 301 to 311, on the premise that the number of the user accounts in each group in the topic ID is not considered, in the process of discussing the topic, the user accounts in each group may leave for various reasons, which results in a case that the number of the user accounts in a part of the groups is relatively small, as shown in step 312 to step 316, the server merges the groups with relatively small number of the user accounts, as shown in fig. 3B.
Step 312, acquiring the number of user accounts in each group in the topic ID every predetermined time;
the server needs to acquire the number of the user accounts in each group in the topic ID every preset time, and the number of the user accounts in each group is counted every preset time because the user accounts in each group leave for various reasons and new user accounts are added in the process of topic discussion. Such as: the predetermined time may be 10 minutes, 20 minutes, 30 minutes, or the like.
Step 313, detecting whether the number of the user accounts in each group is less than a preset threshold value;
after acquiring the number of user accounts in each group, the server detects whether the acquired number of user accounts is less than a preset threshold, for example: the preset threshold is 50.
Step 314, if there are no groups with the number of the user accounts smaller than the preset threshold, no processing is performed;
step 315, if the number of the user accounts in at least two groups is smaller than a preset threshold, merging the groups with the number of the user accounts smaller than the preset threshold;
if the detected topic ID corresponds to all groups in the group list, the number of the user accounts in at least two groups is smaller than a preset threshold value, and the server combines the groups with the number of the user accounts smaller than the preset threshold value into one group.
If a group with the number of the user accounts smaller than the preset threshold value appears in the group list corresponding to the topic ID, the server can combine the user accounts in the groups into one group, and when the combined new group is in a full state, the rest user accounts are combined into another new group, and so on, so that the combination of all the user accounts in the group with the number of the user accounts smaller than the preset threshold value is completed.
In step 316, the group with the user account number of zero is deleted.
The server combines the groups with the user account number smaller than the preset threshold value, then a group with the user account number of zero is generated, the server deletes the group with the user account number of zero from the group list corresponding to the topic ID, or when the group with the user account number of zero in the topic ID is acquired at preset time intervals, the server directly deletes the group with the user account number of zero from the group list corresponding to the topic ID.
It should be noted that there is no specific sequence between steps 312 to 316 and steps 305 to 311, and when there are at least two groups in the group list corresponding to the topic ID, steps 312 to 316 can be executed.
In summary, in the group joining method provided in this embodiment, a joining request initiated by a client through a corresponding user account is received, where the joining request carries a topic identification ID; at least one group is corresponding to the group list corresponding to the topic ID; detecting whether each group in a group list corresponding to the topic ID is in a full member state; if all groups in the group list corresponding to the topic ID are in a full state, creating a new group, generating a group ID of the new group, and adding the group ID to the group list corresponding to the topic ID; adding the user account to the new group; the problem that when the number of group members reaches the maximum upper limit which can be borne by a group, a new user account cannot be added into the group, so that the new user account cannot carry out topic discussion in the group is solved; when the group is in a full state, the server can automatically create a new group for the same topic and add the user account number to the new group, so that the number of the user account numbers participating in the discussion of the same topic is unlimited.
The server can send the information issued by the client through the corresponding user account to each user account in the group to which the user account belongs, and can also send the information issued by the user account to each user account in at least one target group, so that the effect that the information issued by the user account can be transmitted in an isolated manner according to the group ID, and can also be transmitted in an intercommunicating manner through the topic ID is achieved;
the groups with the number of the user accounts smaller than the preset threshold value are combined at intervals of preset time, so that the effect that the number of the user accounts in the same group is flexible and can be matched is achieved;
and deleting the groups with zero user account number in the group list corresponding to the topic ID at intervals of preset time, thereby achieving the effects of dynamically deleting the groups and lightening the operation configuration.
Optionally, in the embodiment shown in fig. 3A, the information issued by the client through the corresponding user account further carries: a group ID to which the user account belongs;
in the embodiment shown in FIG. 3A, step 311 may include the following steps, as shown in FIG. 4B:
311a, detecting whether the user account has an information issue authority corresponding to the target group ID according to the group ID to which the user account belongs;
when the information issued by the client through the corresponding user account carries the group ID of the group to which the user account belongs, the server acquires the user account list in the group ID according to the group ID to which the user account belongs, detects whether the user account of the issued information exists in the user account list, and if the user account of the issued information exists in the user account list, the server confirms that the user account of the issued information has the authority of issuing information in the group ID.
Step 311b, if the user account has the information issuing authority, sending the information to each user account in the group to which the user account belongs;
when the server detects that the user account has the authority of information release, the server acquires each user account in the group ID according to the group ID to which the user account belongs, and the server sends the information released by the user account to each acquired user account.
Step 311c, if the user account does not have the information publishing authority, the information published by the client through the corresponding user account is not sent;
when the server detects that the user account does not have the authority of information publishing, the server does not send the information published by the client through the corresponding user account.
Optionally, in the embodiment shown in fig. 3A, the information issued by the client through the corresponding user account at least carries a topic ID;
in the embodiment shown in fig. 3A, steps 310 to 311 may be replaced by the following steps, as shown in fig. 4C:
step 317, receiving information issued by any client through a corresponding user account, wherein the information at least carries a topic ID;
when the information issued by the client through the corresponding user account carries a topic ID, the server acquires a group list corresponding to the topic ID according to the topic ID; then, according to the group ID to which the user account belongs, whether the group ID to which the user account belongs to a group list corresponding to the topic ID is inquired; if the information belongs to the group list corresponding to the topic ID, the server acquires a user account list in the group ID of the group to which the information belongs, detects whether the user account of the issued information exists in the user account list, and if the user account of the issued information exists in the user account list, confirms that the user account of the issued information has the authority of issuing the information in the topic ID.
Optionally, the information issued by the client through the corresponding user account also carries a group ID to which the user account belongs;
step 318, detecting whether the user account has an information issuing authority corresponding to the topic ID according to the group ID to which the user account belongs;
when the information issued by the client through the corresponding user account carries the group ID to which the user account belongs, the server detects whether the group ID exists in a group list corresponding to the topic ID or not according to the group ID to which the user account belongs, and if the group ID exists in the group list corresponding to the topic ID, the server confirms that the user account issuing the information has the authority to issue the information in the topic ID.
Step 319, if the user account has the information publishing authority, sending the information to each user account in all groups in the group list corresponding to the topic ID;
when the server detects that the user account has the authority of information release, the server acquires a group list corresponding to the topic group ID according to the topic ID, acquires each user account in all groups in the group list, and sends the information released by the user account to each acquired user account.
Step 320, if the user account does not have the information publishing authority, the information published by the client through the corresponding user account is not sent;
when the server detects that the user account does not have the authority of information publishing, the server does not send the information published by the client through the corresponding user account.
The group joining method provided in the embodiment of fig. 2 and the embodiment of fig. 3A are both performed in one server, and the group joining method can also be performed in multiple servers, please refer to the following embodiments.
Referring to fig. 5A, a flowchart of a method for joining a group according to another embodiment of the invention is shown. The embodiment is illustrated by applying the join group method to the implementation environment shown in fig. 1. In this embodiment, a topic creation request is initiated by a user account for example. The method comprises the following steps:
step 501, a client A sends a topic creation request to a group logic server;
a user sets a topic according to own interests and hobbies, and sends a request for creating the topic to a group logic server through a client corresponding to the user account of the user;
correspondingly, the group logic server receives a topic creation request;
step 502, the group logic server sends the received topic creation request to a topic server;
after receiving a topic creating request initiated by a user account or a background manager, the group logic server forwards the topic creating request to the topic server.
Step 503, the topic server creates a topic according to the topic creating request, and generates a topic ID;
and the topic server receives the topic creating request forwarded by the group logic server and generates a corresponding topic ID according to the topic creating request. The topic server creates a request according to different topics and generates a unique corresponding topic ID.
Step 504, the topic server distributes the generated topic ID to the group logic server;
correspondingly, the group logic server receives the topic ID assigned by the topic server.
Step 505, the group logic server sends a group creation request to the group data server;
the group logic server, upon receiving the topic ID assigned by the topic server, transmits a group creation request to the group data server.
Correspondingly, the group data server receives the group creation request sent by the group logic server.
Step 506, the group data server creates an initial group and generates a group ID of the initial group;
the group data server creates an initial group according to the group creation request, and generates a group ID corresponding to the initial group.
Step 507, the group data server sends the generated group ID of the initial group to the group logic server;
after generating a group ID corresponding to the initial group, the group data server sends the group ID to the group logic server;
correspondingly, the group logic server receives the group ID sent by the group data server.
Step 508, the group logic server adds the group ID of the initial group to the group list corresponding to the topic ID, and sends the added group list to the topic server;
at this time, only the group ID of the initial group exists in the group list corresponding to the topic ID;
correspondingly, the topic server receives a group list corresponding to the topic ID sent by the group logic server.
Step 509, the group logic server sends a signal to the client a that the topic and group were created successfully;
correspondingly, the client receives the signal of successfully creating the topic and the group sent by the group logic server.
Step 510, the client B sends a join request to the group logic server, where the join request carries a topic ID; at least one group corresponds to the group list corresponding to the topic ID;
the client acquires a joining request of a user account to a certain topic, and sends the acquired joining request to the server;
correspondingly, the group logic server receives an adding request sent by the client, wherein the adding request carries a topic identification ID; at least one group corresponds to the group list corresponding to the topic ID;
step 511, the group logic server sends a request for inquiring a group list corresponding to the topic ID to the topic server according to the received join request;
and the group logic server acquires the topic ID carried in the joining request according to the received joining request, and sends a query to the topic server for the group in the group list corresponding to the topic ID according to the topic ID.
Correspondingly, the topic server receives the query request sent by the group logic server.
Step 512, the topic server detects whether each group in the group list corresponding to the topic ID is in a full member state according to the query request sent by the group logic server;
the topic server acquires a group list corresponding to the topic ID according to the topic ID, simultaneously acquires all group information in the group list, and detects the number of user accounts in all groups and whether all groups are in a full state.
The full state means that the number of the user accounts in the group reaches the maximum value which can be borne by the group.
Step 513, if at least one group with less than full members exists in the group list corresponding to the topic ID, the topic server allocates any group with less than full members to the group logic server;
if the topic server finds that the group list corresponding to the topic ID has the group with the incomplete members after detection, the topic server selects one group from one or more groups with the incomplete members to be allocated to the group logic server.
Wherein selecting one from the one or more groups of not full members may comprise: randomly selecting one from the groups of the non-full members, selecting the group of the non-full members with the least number of the user accounts or selecting the group of the non-full members with the most number of the user accounts.
Correspondingly, the group logic server receives a group of underfilled members assigned by the topic server.
Step 514, the group logic server adds the user account corresponding to the client B to the group of the not full members distributed by the topic server;
step 515, if each group in the group list corresponding to the topic ID is in a full state, the topic server sends a signal of no group allocation to the group logic server;
if the server finds that all groups in the group list corresponding to the topic ID are in a full state after detection, the topic server sends a signal that the groups are not distributed to the group logic server.
Correspondingly, the group logic server receives the signal of no group distribution sent by the topic server.
Step 516, the group logic server sends a request for creating a new group to the group data server;
after receiving the no-group distribution signal sent by the topic server, the group logic server sends a request for creating a new group to the group data server, and requests the group data server to create a new group for the topic ID, so that a new user account can participate in discussion conveniently.
Correspondingly, the group data server receives a request sent by the group logic server to create a new group.
517, the group data server creates a new group and generates a group ID of the new group;
the group data server creates a new group for the topic ID according to the request for creating the new group sent by the group logic server, and generates a corresponding group ID for the new group.
Step 518, the group data server sends the group ID of the new group to the group logic server;
correspondingly, the group logic server receives the group ID of the new group sent by the group data server.
Step 519, the group logic server adds the group ID of the new group to the group list corresponding to the topic ID, and adds the user account corresponding to the client B to the new group;
after adding the created new group to the group list corresponding to the topic ID, the group logic server allocates the new group to the client sending the join request, so that the user account corresponding to the client joins the group in the group list corresponding to the topic ID and participates in the discussion of the topic.
In this embodiment, the number of groups in the group list corresponding to the topic ID is not specifically limited.
Step 520, the group logic server sends the group ID of the new group added to the topic server;
and after the group logic server completes the addition of the group ID to the group list corresponding to the topic ID and the addition of the client to the new group, the group logic server sends the group ID which is added to the topic server.
Correspondingly, the topic server receives the group ID of the new group sent by the group logic server.
Such as: assuming that a group 1 and a group 2 exist in a group list corresponding to the topic A, and the maximum value of the number of user accounts in the group 1 and the group 2 is 100; when the user account "zhangsan" initiates a request to participate in the topic a to the group logic server, the group logic server first sends an inquiry request to the topic server, the topic server finds the group 1 and the group 2 according to the topic a, and according to detection, it is found that 100 user accounts in each of the group 1 and the group 2 are participating in discussion, the group logic server creates a new group 3 for zhangsan, and adds the group 3 to the group list of the topic a, that is, the group 1, the group 2, and the group 3 exist in the group list of the topic a at the same time.
Step 521, any client sends information issued by the user account to the group logic server, where the information at least carries a target group ID, and the target group ID includes: a group ID of at least one group in a group list corresponding to the topic ID;
when any user account in any group in the group list corresponding to the topic ID sends an information publishing request to the group logic server, the group logic server receives information published by the user account sent by any client, the information at least carries a target group ID, and the target group ID refers to a group ID of the information to be published by the user account.
Wherein at least one group comprises: a group to which the user account belongs; or, the combination of the group to which the user account belongs and the group to which the user account does not belong; or one or more of the groups to which the user account does not belong.
The target group ID includes: a group ID of at least one group in the group list to which the topic ID corresponds. The target group ID may be only the group ID to which the user account belongs, or the target group may be all group IDs in a group list corresponding to the topic ID, or the target group may be a part of group IDs specified by the user account in the group list.
Correspondingly, the group logic server receives information issued by the user account sent by any client, the information at least carries a target group ID, and the target group ID includes: a group ID of at least one group in a group list corresponding to the topic ID;
step 522, the cluster logic server sends the information to the cluster data server;
correspondingly, the group data server receives the information sent by the group logic server.
Step 523, the group data server sends the information to each user account in the target group;
after receiving the information sent by the group logic server, the group data server acquires a target group ID carried in the information, and according to the target group ID, the group data server sends the information to each user account in a group, such as other user accounts in the group to which the user account belongs; the group data server may also send information to each user account in multiple groups, for example, each user account in all groups in the group list corresponding to the topic ID of the user account.
It should be noted that, in steps 501 to 523, on the premise that the number of user accounts in each group in the topic ID is not considered, in the process of topic discussion, the user accounts in each group may leave for various reasons, resulting in a case that the number of user accounts in a part of the groups is relatively small, as shown in fig. 5B, steps 524 to 529 are a method flow for the group logic server to merge the groups with the relatively small number of user accounts.
Step 524, the topic server acquires the number of user accounts in each group in the topic ID every preset time;
the topic server acquires the number of the user accounts in each group in the topic ID every preset time, and the number of the user accounts in each group is counted every preset time because the user accounts in each group leave for various reasons and new user accounts are added in the topic discussion process. Such as: the predetermined time may be 10 minutes, 20 minutes, 30 minutes, or the like.
Step 525, the topic server sends the acquired number of the user accounts in each group to the group logic server;
correspondingly, the group logic server receives the number of the user accounts in each group sent by the topic server.
Step 526, the group logic server detects whether the number of the user accounts in each group is less than a preset threshold value;
after receiving the number of user accounts in each group, the group logic server detects whether the number of the received user accounts is less than a preset threshold, for example: the preset threshold is 50, etc.
Step 527, if the number of the user accounts in at least two groups is smaller than a preset threshold, merging the groups with the number of the user accounts smaller than the preset threshold by the group logic server;
if the detected number of the user accounts in at least two groups in all the groups in the group list corresponding to the topic ID is smaller than the preset threshold value, the group logic server combines the groups with the number of the user accounts smaller than the preset threshold value into one group.
If a group with the number of the user accounts smaller than the preset threshold value appears in the group list corresponding to the topic ID, the group logic server can combine the user accounts in the groups into one group, and when the combined new group is in a full state, combine the rest user accounts into another new group, and so on, thereby completing the combination of all the user accounts in the group with the number of the user accounts smaller than the preset threshold value.
Step 528, the group logic server sends the result of group merging to the topic server;
correspondingly, the topic server receives the result of the group combination sent by the group logic server.
And 529, the topic server deletes the groups with zero user account numbers.
After the group logic server merges the groups with the number of the user accounts smaller than the preset threshold value, a group with the number of the user accounts being zero is generated, the group with the number of the user accounts being zero is deleted from the group list corresponding to the topic ID by the topic server, or when the group with the number of the user accounts being zero in the topic ID acquired at preset time intervals, the group with the number of the user accounts being zero is directly deleted from the group list corresponding to the topic ID by the topic server.
It should be noted that there is no specific sequence between steps 524 to 529 and steps 510 to 523, and when there are at least two groups in the group list corresponding to the topic ID, steps 524 to 529 can be executed.
It should be noted that, in the embodiment of fig. 5A, step 501 and step 509 may be implemented separately as a group joining method on the client side; step 510, step 521 and step 523 can be implemented separately as a group joining method on the other client side; step 502, step 505, step 508 to step 509, and step 511, step 516, step 519 to step 522, and step 526 to step 528 may be implemented separately as a group joining method on the group logic server side; the steps 503 to 504, 512 to 515, 524 to 525 and 529 can be implemented separately as a method of joining a group on the topic server side; steps 506 to 507, 517 to 518, and 523 may be implemented separately as a group joining method on the group data server side.
In summary, in the group joining method provided in this embodiment, a group logic server receives a joining request initiated by a client through a corresponding user account, where the joining request carries a topic identification ID; at least one group is corresponding to the group list corresponding to the topic ID; the topic server detects whether each group in a group list corresponding to the topic ID is in a full member state; if each group in the group list corresponding to the topic ID is in a full state, the group data server creates a new group, generates a group ID of the new group, and the group logic server adds the group ID to the group list corresponding to the topic ID; the group logic server adds the user account to a new group; the problem that when the number of group members reaches the maximum upper limit which can be borne by a group, a new user account cannot be added into the group, so that the new user account cannot carry out topic discussion in the group is solved; when the group is in a full state, the group data server can automatically create a new group for the same topic, and the group logic server adds the user account number to the new group, so that the number of the user account numbers participating in the discussion of the same topic is unlimited.
The group data server can send the information issued by the client through the corresponding user account to each user account in the group to which the user account belongs, and can also send the information issued by the user account to each user account in at least one target group, so that the effects that the information issued by the user account can be sent in an isolated manner according to the group ID, and can also be sent in an intercommunicating manner through the topic ID are achieved;
the groups with the number of the user accounts smaller than the preset threshold value are combined at intervals of preset time, so that the effect that the number of the user accounts in the same group is flexible and can be matched is achieved;
and deleting the groups with zero user account number in the group list corresponding to the topic ID at intervals of preset time, thereby achieving the effects of dynamically deleting the groups and lightening the operation configuration.
Optionally, in the embodiment shown in fig. 5A, the information issued by the client through the corresponding user account also carries a group ID to which the user account belongs;
in the embodiment shown in FIG. 5A, step 523 may include the following steps, as shown in FIG. 6A:
523a, according to the group ID to which the user account belongs, the group data server detects whether the user account has an information issue right corresponding to the group ID;
when the information issued by the user account carries the group ID to which the user account belongs, the group data server acquires a user account list in the group ID according to the group ID to which the user account belongs, detects whether the user account of the issued information exists in the user account list, and if the user account of the issued information exists in the user account list, the group data server confirms that the user account of the issued information has the authority of issuing information in the group ID.
Step 523b, if the user account has the information publishing authority, the group data server sends the information to each user account in the group to which the user account belongs;
when the group data server detects that the user account has the information issuing right, the group data server acquires each user account in the group ID according to the group ID to which the user account belongs, and sends the information issued by the user account to each acquired user account.
Step 523c, if the user account does not have the information publishing authority, the group data server does not send the information published by the client through the corresponding user account;
when the group data server detects that the user account does not have the right of information release, the group data server does not send the information released by the client through the corresponding user account.
Optionally, in the embodiment shown in fig. 5A, the information issued by the client through the corresponding user account at least carries a topic ID;
in the embodiment shown in fig. 5A, steps 521 to 523 may be replaced by the following steps, as shown in fig. 6B:
step 530, the group logic server receives information issued by any client through a corresponding user account, and the information at least carries a topic ID.
Optionally, the information issued by the client through the corresponding user account also carries a group ID to which the user account belongs;
step 531, according to the group ID to which the user account belongs, the group data server detects whether the user account has an information issue authority corresponding to the topic ID;
when the information issued by the client through the corresponding user account carries a topic ID and a group ID to which the user account belongs, the group logic server acquires a group list corresponding to the topic ID from the topic server according to the topic ID; then, according to the group ID to which the user account belongs, whether the group ID to which the user account belongs to a group list corresponding to the topic ID is inquired; if the information belongs to the group list corresponding to the topic ID, the group data server acquires a user account list in the group ID to which the information belongs, detects whether the user account of the issued information exists in the user account list, and if the user account of the issued information exists in the user account list, the group data server confirms that the user account of the issued information has the authority of issuing information in the target group ID.
Step 532, if the user account has the information issuing authority, the group data server sends the information to each user account in all groups in the group list corresponding to the topic ID;
when the group data server detects that the user account has the information issuing right, the group data server acquires all user accounts of all groups in a group list corresponding to the topic ID according to the topic ID, and sends the information issued by the client through the corresponding user account to the acquired user accounts.
Step 533, if the user account does not have the information publishing authority, the group data server does not send the information published by the client through the corresponding user account;
when the group data server detects that the user account does not have the right of information release, the group data server does not send the information released by the client through the corresponding user account.
The following are embodiments of the apparatus of the present invention, details of which are not described in detail in the embodiments of the apparatus, and reference may be made to the above-mentioned one-to-one corresponding method embodiments.
Referring to fig. 7, a block diagram of a group joining device according to an embodiment of the present invention is shown. The group joining device provided by the embodiment can be implemented by software, hardware or a combination of the two to become all or part of the server. The device includes:
a request receiving module 710; the system comprises a client, a server and a server, wherein the client is used for receiving a joining request initiated by the client through a corresponding user account, and the joining request carries a topic identification ID; at least one group corresponds to the group list corresponding to the topic ID.
The state detection module 720 is configured to detect whether each group in the group list corresponding to the topic ID is in a full member state.
The group creating module 730 is configured to create a new group, generate a group ID of the new group, and add the group ID to the group list corresponding to the topic ID when each group in the group list corresponding to the topic ID is in a full state.
And an account adding module 740, configured to add the user account to the new group.
In summary, the group joining device provided in this embodiment receives a join request initiated by a client through a corresponding user account, where the join request carries a topic identification ID; at least one group is corresponding to the group list corresponding to the topic ID; detecting whether each group in a group list corresponding to the topic ID is in a full member state; if all groups in the group list corresponding to the topic ID are in a full state, creating a new group, generating a group ID of the new group, and adding the group ID to the group list corresponding to the topic ID; adding the user account to the new group; the problem that when the number of group members reaches the maximum upper limit which can be borne by a group, a new user account cannot be added into the group, so that the new user account cannot carry out topic discussion in the group is solved; when the group is in a full state, the server can automatically create a new group for the same topic and add the user account number to the new group, so that the number of the user account numbers participating in the discussion of the same topic is unlimited.
Referring to fig. 8, a block diagram of a group joining device according to another embodiment of the present invention is shown. The group joining device provided by the embodiment can be implemented by software, hardware or a combination of the two to become all or part of the server. The device includes:
a topic request module 810 to receive a topic creation request.
And a topic ID module 820 for creating a topic according to the topic creation request and generating a topic ID.
An initial group module 830, configured to create an initial group and generate a group ID of the initial group.
An ID adding module 840, configured to add the group ID of the initial group to the group list corresponding to the topic ID.
A request receiving module 850; the system comprises a client, a server and a server, wherein the client is used for receiving a joining request initiated by the client through a corresponding user account, and the joining request carries a topic identification ID; at least one group corresponds to the group list corresponding to the topic ID.
The state detection module 860 is configured to detect whether each group in the group list corresponding to the topic ID is in a full member state.
The group allocating module 870 is configured to, when a group that is full exists in the group list corresponding to the topic ID, allocate a group that is not full to the user account.
A group creating module 880, configured to create a new group when each group in the group list corresponding to the topic ID is in a full state, generate a group ID of the new group, and add the group ID to the group list corresponding to the topic ID.
An account adding module 890, configured to add the user account to the new group.
A first receiving module 900, configured to receive information issued by any client through a corresponding user account, where the information at least carries a target group ID, where the target group ID includes: a group ID of at least one group in the group list to which the topic ID corresponds.
A first sending module 910, configured to send information to each user account in the group corresponding to the target group ID.
Wherein at least one group comprises: a group to which the user account belongs; or, the combination of the group to which the user account belongs and the group to which the user account does not belong; or one or more of the groups to which the user account does not belong.
Optionally, the information issued by the client through the corresponding user account also carries a group ID to which the user account belongs;
the device also comprises:
the first detecting module 920 is configured to detect whether the user account has an information issue right corresponding to the target group ID according to the group ID to which the user account belongs.
A number obtaining module 930, configured to obtain the number of user accounts in each group in the topic ID at predetermined time intervals.
The number detection module 940 is configured to detect whether the number of the user accounts in each group is smaller than a preset threshold.
The group merging module 950 is configured to merge groups with the number of user accounts smaller than a preset threshold when the number of user accounts in at least two groups is smaller than the preset threshold.
The group deleting module 960 is configured to delete a group with zero user account number.
In summary, the group joining device provided in this embodiment receives a join request initiated by a client through a corresponding user account, where the join request carries a topic identification ID; at least one group is corresponding to the group list corresponding to the topic ID; detecting whether each group in a group list corresponding to the topic ID is in a full member state; if all groups in the group list corresponding to the topic ID are in a full state, creating a new group, generating a group ID of the new group, and adding the group ID to the group list corresponding to the topic ID; adding the user account to the new group; the problem that when the number of group members reaches the maximum upper limit which can be borne by a group, a new user account cannot be added into the group, so that the new user account cannot carry out topic discussion in the group is solved; when the group is in a full state, the server can automatically create a new group for the same topic and add the user account number to the new group, so that the number of the user account numbers participating in the discussion of the same topic is unlimited.
The server can send the information issued by the client through the corresponding user account to each user account in the group to which the user account belongs, and can also send the information issued by the user account to each user account in at least one target group, so that the effect that the information issued by the user account can be transmitted in an isolated manner according to the group ID, and can also be transmitted in an intercommunicating manner through the topic ID is achieved;
the groups with the number of the user accounts smaller than the preset threshold value are combined at intervals of preset time, so that the effect that the number of the user accounts in the same group is flexible and can be matched is achieved;
and deleting the groups with zero user account number in the group list corresponding to the topic ID at intervals of preset time, thereby achieving the effects of dynamically deleting the groups and lightening the operation configuration.
Optionally, the information issued by the client through the corresponding user account carries a topic ID; the first receiving module 900 to the first detecting module 920 in the embodiment shown in fig. 8 may be replaced with the following modules as shown in fig. 9.
A second receiving module 970, configured to receive information issued by any client through a corresponding user account, where the information at least carries the topic ID and/or a group ID to which the user account belongs;
a second sending module 980 is configured to send information to each user account in all groups in the group list corresponding to the topic ID.
Optionally, the information issued by the client through the corresponding user account also carries a group ID to which the user account belongs;
the device also comprises:
the second detecting module 990 is configured to detect whether the user account has an information issue authority corresponding to the topic ID according to the group ID to which the user account belongs.
Referring to fig. 10, a block diagram of a group joining system according to an embodiment of the present invention is shown, where the system includes: a server 1020 and a client 1040;
the server 1020 includes a joining group device as described in any of the embodiments shown in fig. 7, 8, or 9;
the client 1040 is configured to send a join request initiated by a user account to the server, where the client logs in at least one user account.
It should be noted that: in the group joining device provided in the above embodiment, only the division of the functional modules is illustrated, and in practical applications, the function distribution may be completed by different functional modules according to needs, that is, the internal structure of the server is divided into different functional modules to complete all or part of the functions described above. In addition, the embodiments of the group joining device and the group joining method provided in the above embodiments belong to the same concept, and specific implementation processes thereof are described in the embodiments of the methods and are not described herein again.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

Claims (16)

1. A method for joining a group, the method comprising:
receiving a joining request initiated by a client through a corresponding user account, wherein the joining request carries a topic identification ID; at least one group corresponds to the group list corresponding to the topic ID, and each group in the at least one group has a group ID;
detecting whether each group in the group list corresponding to the topic ID is in a full member state;
if each group in the group list corresponding to the topic ID is in a full state, creating a new group, generating a group ID of the new group, and adding the group ID to the group list corresponding to the topic ID;
adding the user account to the new group;
acquiring the number of user accounts in each group in the topic ID at intervals of preset time;
detecting whether the number of the user accounts in each group is smaller than a preset threshold value;
if the number of the user accounts in at least two groups is smaller than the preset threshold value, combining the groups with the number of the user accounts smaller than the preset threshold value into one group, and combining the rest user accounts into another new group after the combined new group is in a full state;
and deleting the groups with the number of the user accounts being zero.
2. The method of claim 1, wherein before receiving the client-initiated join request, further comprising:
receiving a topic creation request;
creating a topic according to the topic creating request, and generating a topic ID;
creating an initial group and generating a group ID of the initial group;
adding the group ID of the initial group to the group list corresponding to the topic ID.
3. The method of claim 1, further comprising:
receiving information issued by any client through a corresponding user account, wherein the information at least carries a target group ID, and the target group ID comprises: a group ID of at least one group in a group list corresponding to the topic ID;
sending the information to each user account in the group corresponding to the target group ID;
wherein the at least one group comprises: the group to which the user account belongs; or, a combination of a group to which the user account belongs and a group to which the user account does not belong; or, one or more of the groups to which the user account does not belong.
4. The method of claim 3, wherein the information further carries a group ID to which the user account belongs;
before sending the information to each user account in the group corresponding to the target group ID, the method further includes:
and detecting whether the user account has the information issuing authority corresponding to the target group ID or not according to the group ID to which the user account belongs.
5. The method of claim 1, further comprising:
receiving information issued by any client through a corresponding user account, wherein the information at least carries the topic ID;
and sending the information to each user account in all groups in the group list corresponding to the topic ID.
6. The method of claim 5, wherein the information further carries a group ID to which the user account belongs;
before the sending the information to each user account in all groups in the group list corresponding to the topic ID, the method further includes:
and detecting whether the user account has the information issuing authority corresponding to the topic ID or not according to the group ID to which the user account belongs.
7. The method of claim 1, wherein after detecting whether each group in the group list corresponding to the topic ID is in a full state, further comprising:
and if the group which is not full exists in the group list corresponding to the topic ID, distributing the group which is not full to the user account.
8. A group joining apparatus, the apparatus comprising:
a request receiving module; the system comprises a client, a server and a server, wherein the client is used for receiving a joining request initiated by a corresponding user account, and the joining request carries a topic identification ID; at least one group corresponds to the group list corresponding to the topic ID, and each group in the at least one group has a group ID;
a state detection module, configured to detect whether each group in the group list corresponding to the topic ID is in a full member state;
a group creating module, configured to create a new group when each group in the group list corresponding to the topic ID is in a full state, generate a group ID of the new group, and add the group ID to the group list corresponding to the topic ID;
the account adding module is used for adding the user account to the new group;
the number acquisition module is used for acquiring the number of the user accounts in each group in the topic ID at intervals of preset time;
the number detection module is used for detecting whether the number of the user accounts in each group is smaller than a preset threshold value or not;
the group merging module is used for merging the groups with the user account numbers smaller than the preset threshold value into one group when the number of the user accounts in at least two groups is smaller than the preset threshold value, and merging the rest user accounts into another new group when the merged new group is in a full state;
and the group deleting module is used for deleting the groups with the number of the user accounts being zero.
9. The apparatus of claim 8, further comprising:
the topic request module is used for receiving a topic creation request;
the topic ID module is used for creating a topic according to the topic creating request and generating a topic ID;
an initial group module, configured to create an initial group and generate a group ID of the initial group;
an ID adding module, configured to add the group ID of the initial group to the group list corresponding to the topic ID.
10. The apparatus of claim 8, further comprising:
a first receiving module, configured to receive information issued by any client through a corresponding user account, where the information at least carries a target group ID, where the target group ID includes: a group ID of at least one group in a group list corresponding to the topic ID;
the first sending module is used for sending the information to each user account in the group corresponding to the target group ID;
wherein the at least one group comprises: the group to which the user account belongs; or, a combination of a group to which the user account belongs and a group to which the user account does not belong; or, one or more of the groups to which the user account does not belong.
11. The apparatus of claim 10, wherein the information further carries a group ID to which the user account belongs;
the device, still include:
and the first detection module is used for detecting whether the user account has the information issuing authority corresponding to the target group ID or not according to the group ID to which the user account belongs.
12. The apparatus of claim 8, further comprising:
the second receiving module is used for receiving information issued by any client through a corresponding user account, and the information at least carries the topic ID;
and the second sending module is used for sending the information to each user account in all groups in the group list corresponding to the topic ID.
13. The apparatus of claim 12, wherein the information further carries a group ID to which the user account belongs;
the device, still include:
and the second detection module is used for detecting whether the user account has the information issuing authority corresponding to the topic ID or not according to the group ID to which the user account belongs.
14. The apparatus of claim 8, further comprising:
and the group distribution module is used for distributing the groups of the not-full members to the user account when the groups of the not-full members exist in the group list corresponding to the topic ID.
15. A group joining system, the system comprising: a server and at least one client;
the server comprising the joining group device of any of claims 8 to 14;
the client is used for initiating a joining request of the user account to the server, and the client logs in at least one user account.
16. A computer storage medium having stored therein at least one instruction, at least one program, a set of codes, or a set of instructions, which is loaded and executed by a processor to implement the join group method as claimed in any one of claims 1 to 7.
CN201510595231.6A 2015-09-18 2015-09-18 Group joining method, device and system Active CN106549988B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510595231.6A CN106549988B (en) 2015-09-18 2015-09-18 Group joining method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510595231.6A CN106549988B (en) 2015-09-18 2015-09-18 Group joining method, device and system

Publications (2)

Publication Number Publication Date
CN106549988A CN106549988A (en) 2017-03-29
CN106549988B true CN106549988B (en) 2020-06-30

Family

ID=58362848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510595231.6A Active CN106549988B (en) 2015-09-18 2015-09-18 Group joining method, device and system

Country Status (1)

Country Link
CN (1) CN106549988B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259139A (en) * 2021-05-27 2021-08-13 支付宝(杭州)信息技术有限公司 Group creating method and device

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107026917A (en) * 2017-06-16 2017-08-08 智者四海(北京)技术有限公司 The method and system pushed for message
CN108076166A (en) * 2017-08-04 2018-05-25 北京微应软件科技有限公司 The method and apparatus of corpse powder is cleared up in wechat address list
CN108566327B (en) * 2018-01-09 2021-11-30 徐玉强 Data processing method and device for chat application
CN109347720A (en) * 2018-09-26 2019-02-15 上海掌门科技有限公司 It determines group member, send the method and apparatus that the request of group is added
CN109245906A (en) * 2018-10-24 2019-01-18 阿里巴巴集团控股有限公司 The management method and device of instant messaging group
CN110286854B (en) * 2019-06-12 2021-10-29 北京达佳互联信息技术有限公司 Method, device, equipment and storage medium for group member management and group message processing
CN110913276B (en) * 2019-11-01 2022-04-22 北京达佳互联信息技术有限公司 Data processing method, device, server, terminal and storage medium
CN111277637B (en) * 2020-01-14 2021-08-24 腾讯科技(深圳)有限公司 Method, device, terminal and storage medium for merging session groups
CN111404702B (en) * 2020-03-18 2022-04-29 腾讯科技(成都)有限公司 Group entering method, group entering device, group management system, computer equipment and storage medium
CN113706327B (en) * 2021-09-08 2024-03-12 易儒网络科技有限公司 Network group construction method and system with monopoly prevention function
CN115022106B (en) * 2021-12-27 2024-02-27 北京字跳网络技术有限公司 Group information processing method, device, equipment and medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523179A (en) * 2011-12-31 2012-06-27 重庆新媒农信科技有限公司 Topic group service realization method based on instant messaging
CN103297297A (en) * 2013-06-03 2013-09-11 腾讯科技(深圳)有限公司 Group processing method and group processing system
CN103986643A (en) * 2014-05-16 2014-08-13 北京奇虎科技有限公司 Method and device for having access to groups corresponding to website based on browser
CN104639426A (en) * 2015-01-29 2015-05-20 小米科技有限责任公司 Method and device for adding group members
CN104660483A (en) * 2013-11-21 2015-05-27 腾讯科技(上海)有限公司 Method, service terminal and system for group communication

Family Cites Families (6)

* Cited by examiner, † Cited by third party
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 (en) * 2007-07-13 2009-01-14 阿里巴巴集团控股有限公司 Method, system and apparatus for supporting topic classification in group
CN102075456B (en) * 2011-02-25 2013-06-19 中国科学院计算技术研究所 Group creating and member adding method in distributed domain management system
US8539086B2 (en) * 2011-03-23 2013-09-17 Color Labs, Inc. User device group formation
CN104901816B (en) * 2014-03-05 2019-09-17 腾讯科技(深圳)有限公司 The method and system of more people's chats is provided
CN105610682B (en) * 2015-11-25 2018-10-09 浙江翼信科技有限公司 A kind of method and apparatus that contact person is added to group in instant messaging application

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523179A (en) * 2011-12-31 2012-06-27 重庆新媒农信科技有限公司 Topic group service realization method based on instant messaging
CN103297297A (en) * 2013-06-03 2013-09-11 腾讯科技(深圳)有限公司 Group processing method and group processing system
CN104660483A (en) * 2013-11-21 2015-05-27 腾讯科技(上海)有限公司 Method, service terminal and system for group communication
CN103986643A (en) * 2014-05-16 2014-08-13 北京奇虎科技有限公司 Method and device for having access to groups corresponding to website based on browser
CN104639426A (en) * 2015-01-29 2015-05-20 小米科技有限责任公司 Method and device for adding group members

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259139A (en) * 2021-05-27 2021-08-13 支付宝(杭州)信息技术有限公司 Group creating method and device

Also Published As

Publication number Publication date
CN106549988A (en) 2017-03-29

Similar Documents

Publication Publication Date Title
CN106549988B (en) Group joining method, device and system
US10375351B2 (en) System and method for implementing video calls
US10771271B2 (en) Methods and devices for adding new member to group through barcode scanning
US10367852B2 (en) Multiplexed demand signaled distributed messaging
CN103718578B (en) Method and device for notification messages and providing notification messages
CN109089168B (en) Video sharing method, device and system and storage medium
EP2608449A1 (en) Method and system for having a conference across im systems
CN108881354B (en) Push information storage method and device, server and computer storage medium
CN105245577B (en) Information-pushing method, apparatus and system
CN102984213B (en) A kind of method of information sharing, Apparatus and system
CA2892650A1 (en) Methods and devices for adding new member to group through barcode scanning
CN111355986B (en) Message processing method and device in live broadcast room and storage medium
JP2019531527A (en) Method, apparatus and system for performing notification
WO2016010921A1 (en) Creating a user group
CN106559787B (en) Network access method, device and system
CN105099894A (en) Message pushing method, device and system
CN104168294B (en) Instant communication method, system and device between across open platform user
WO2015096802A1 (en) Method, device, and server for message transmission
CN106411713B (en) State notification method and server
CN103428260A (en) System and method for allocating server to terminal and efficiently delivering messages to the terminal
US9742776B2 (en) Contact identification validation via social invitation
US10187866B2 (en) Registering, deregistering and standby processing methods and systems for terminal peripheral
CN108668151B (en) Audio and video interaction method and device
CN112910796B (en) Traffic management method, apparatus, device, storage medium, and program product
KR101382177B1 (en) System and method for dynamic message routing

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