Group creation method, device and equipment with scalable group members and storage medium
By creating an architecture of logical main groups and physical subgroups, the problem of the upper limit of the number of IM group members was solved, realizing unlimited expansion of large enterprise group communication and improving communication efficiency and notification timeliness.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN LEAPFROG NEW TECH CO LTD
- Filing Date
- 2022-12-08
- Publication Date
- 2026-05-22
Smart Images

Figure CN116192543B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of group communication technology, and more specifically to a method, apparatus, device, and storage medium for creating groups with expandable group members. Background Technology
[0002] Group communication is a common form of online communication, playing a significant role in both personal social interactions and corporate office settings. However, as companies grow, the number of employees in some large enterprises increases to tens of thousands. During work, there are communication needs, such as sending announcements and resolving common problems, requiring an IM (Instant Messaging) group for employees to communicate and exchange ideas. Therefore, some large enterprises have a need to add at least tens of thousands of employees to an IM group.
[0003] Existing technologies face several technical hurdles in building IM groups. Unlike one-on-one chat, IM groups are one-to-many group chats. Every action requires notification to everyone in the group. The more people in the group, the more problems arise during processing, such as how to notify all group members of changes. Furthermore, timeliness decreases as the number of participants increases. Therefore, existing IM group solutions all have limitations on the number of participants.
[0004] Therefore, how to solve the limitation on the number of group members in IM groups and realize a group with expandable members is an urgent problem to be solved. Summary of the Invention
[0005] This invention provides a method, apparatus, device, and storage medium for creating groups with expandable group members, in order to solve the problem that the number of group members in the prior art has an upper limit, which cannot meet the requirement of creating groups with expandable group members.
[0006] To address the aforementioned technical problems, in a first aspect, the present invention provides a method for creating a group with expandable group members, comprising:
[0007] Obtain the group information of the group to be created; the group information includes filter criteria and basic group information;
[0008] Identify several group members that meet the filtering criteria, and create a logical master group for managing the basic information of the group and the basic information of the group members;
[0009] Based on the preset group member capacity and the number of group members, several physical subgroups are created; wherein, the physical subgroups are used for group communication and displaying the basic information of the group and the basic information of the group members;
[0010] The group members are assigned to the physical subgroups to obtain a group whose members can be expanded, including the logical total group and several physical subgroups.
[0011] Optionally, after obtaining the group whose members can be expanded, which includes the logical total group and several of the physical subgroups, the method further includes:
[0012] In response to a request to delete a group member, retrieve the group member information for several members to be deleted;
[0013] Based on the information of the group members to be deleted, delete the group members to be deleted in the corresponding physical subgroup;
[0014] Before a preset time, retain the group member capacity and historical messages of the group member to be deleted in the corresponding physical subgroup, and retain the basic information of the group member to be deleted in the logical main group.
[0015] Optionally, after obtaining the group whose members can be expanded, which includes the logical total group and several of the physical subgroups, the method further includes:
[0016] In response to a request to add group members, retrieve information about the group members to be added.
[0017] Based on whether the information of the group member to be added exists in the basic information of the group members, the group members to be added are divided into newly added group members and non-newly added group members;
[0018] The non-new group members are assigned to the physical subgroups where the history is located;
[0019] The newly added group members are assigned to physical subgroups within the group that have remaining capacity for adding new group members, and / or newly created physical subgroups.
[0020] Optionally, the process of assigning the new group member to a physical subgroup within the group that has remaining space for additional group members, and / or a newly created physical subgroup, includes:
[0021] Determine whether the number of newly added group members is greater than the remaining number of group members that can be added to the physical subgroups in the group;
[0022] If so, create several new physical subgroups; sequentially assign the newly added group members to the physical subgroups in the group that have remaining space for adding group members and to the newly created physical subgroups;
[0023] If not, the newly added group member is assigned to a physical subgroup within the group that has a remaining pool of new group members.
[0024] Optionally, the group member capacity of the physical subgroup includes the number of virtual accounts and the number of group member seats;
[0025] The virtual account is used to enable communication between the physical subgroups; the group member seat is used to establish a one-to-one correspondence with the group member.
[0026] Optionally, creating several physical subgroups based on the preset group member capacity and the number of group members includes:
[0027] Based on the number of group member seats in the preset group member capacity of the physical subgroup and the number of group members, calculate the number of physical subgroups to be created, and create the specified number of physical subgroups.
[0028] Optionally, assigning the group members to the physical subgroup includes:
[0029] The group members are sequentially assigned to any physical subgroup until there are no more group members available for addition in that physical subgroup. Then, the unassigned group members are sequentially assigned to the next physical subgroup.
[0030] Secondly, the present invention provides a group creation device with expandable group members, including a data acquisition module, a filtering and creation module, a subgroup creation module, and an allocation module;
[0031] The data acquisition module is used to acquire group information of the group to be created; the group information includes filtering conditions and basic group information;
[0032] The filtering and creation module is used to determine a number of group members that meet the filtering conditions, and to create a logical master group for managing the basic information of the group and the basic information of the group members.
[0033] The subgroup creation module is used to create several physical subgroups according to the preset group member capacity and the number of group members; wherein, the physical subgroups are used for group communication and displaying the basic information of the group and the basic information of the group members;
[0034] The allocation module is used to allocate the group members to the physical subgroups, thereby obtaining a group whose members can be expanded, including the logical total group and several physical subgroups.
[0035] Thirdly, the present invention provides a group creation device with scalable group members, including a memory and a processor, wherein:
[0036] The memory is used to store computer programs;
[0037] The processor is used to read the computer program in the memory and execute the steps of the group creation method for any group of members that can be expanded, as provided in the first aspect above.
[0038] Fourthly, the present invention provides a computer-readable storage medium having a readable computer program stored thereon, which, when executed by a processor, implements the steps of the group creation method for any group of members that can be expanded as described in the first aspect above.
[0039] Compared with the prior art, the group creation method, apparatus, device, and storage medium with expandable group members provided by the present invention have the following beneficial effects:
[0040] This invention identifies several group members that meet the filtering criteria based on the group information of the group to be created, creates a logical main group, and then creates several physical subgroups according to the preset group member capacity and the number of group members. Group members are then assigned to these physical subgroups, resulting in a group with expandable member capacity. Since the logical main group used to manage the basic information of the group and its members is a virtual group, and the actual communication function is implemented by the various physical subgroups, several physical subgroups can be created based on the number of group members. Furthermore, there is no upper limit to the number of physical subgroups, thus achieving an unlimited number of group members and effectively solving the problem of low upper limits for the number of group members in existing technologies. Attached Figure Description
[0041] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention, and not all embodiments. For those skilled in the art, other drawings obtained from these drawings without creative effort are all within the scope of protection of this application.
[0042] Figure 1 This is a schematic diagram illustrating an implementation scenario of a group creation method with expandable group members provided in an embodiment of the present invention;
[0043] Figure 2 This is a flowchart of a group creation method with expandable group members provided in an embodiment of the present invention;
[0044] Figure 3 This is a schematic diagram of a group creation information settings interface provided in an embodiment of the present invention;
[0045] Figure 4 This is a schematic diagram of the structure of a group with expandable group members provided in an embodiment of the present invention;
[0046] Figure 5This is a flowchart of deleting a group member provided by an embodiment of the present invention;
[0047] Figure 6 This is a schematic diagram illustrating the deletion of a group member according to an embodiment of the present invention;
[0048] Figure 7 This is a schematic diagram illustrating how to retain group member capacity after deleting group members, provided by an embodiment of the present invention.
[0049] Figure 8 This is a flowchart of adding group members provided by an embodiment of the present invention;
[0050] Figure 9 This is a schematic diagram illustrating the addition of a new group member according to an embodiment of the present invention;
[0051] Figure 10 This is a schematic diagram of the structure of a group creation device with expandable group members provided in an embodiment of the present invention;
[0052] Figure 11 This is a schematic diagram of the structure of a group creation device with expandable group members provided in an embodiment of the present invention;
[0053] Figure 12 This is a schematic diagram of a computer-readable storage medium embodiment provided by an embodiment of the present invention. Detailed Implementation
[0054] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.
[0055] To make the description of this disclosure more detailed and complete, illustrative descriptions of embodiments and specific examples of the present invention are provided below; however, these are not the only forms of implementing or utilizing the specific embodiments of the present invention. The embodiments cover features of multiple specific embodiments and the methods, steps, and their order for constructing and operating these specific embodiments. However, other specific embodiments may also be used to achieve the same or equivalent functions and step sequences. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without inventive effort are within the scope of protection of this application.
[0056] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in sequences other than those illustrated or described herein.
[0057] In the description of the embodiments of the present invention, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. The word "and / or" in the text is merely a description of the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in the description of the embodiments of this application, "multiple" means two or more. Other quantifiers should be understood similarly. The preferred embodiments described herein are only used to illustrate and explain the present invention and are not intended to limit the present invention. Furthermore, the embodiments and features in the embodiments of this application can be combined with each other without conflict.
[0058] Example 1
[0059] like Figure 1 The diagram shown illustrates an implementation scenario of a group creation method with expandable group members provided by an embodiment of the present invention, including a group creation system and a client; wherein the group creation system includes: a management system, a group service, a message service, and a client service.
[0060] The aforementioned management system is at least used to display the aforementioned group services and to enable interaction between the aforementioned group services and users. This interaction may include setting group information for a group to be created.
[0061] The aforementioned group service is used for group management, which includes at least the following functions: creating groups, modifying groups, disbanding groups, previewing group members, synchronizing group members, setting administrators, transferring group ownership, viewing the list of main and guest group members, viewing the list of guest group members, searching for group members, managing group files, managing group announcements, managing group notifications, and managing group tasks.
[0062] The aforementioned messaging service is used to carry functions related to group messaging, including at least: IM account management, login authentication, messaging functions, custom system notifications, user profiles, user relationship management, group functions, historical message records, and online status subscription.
[0063] The aforementioned client service is used to establish a long connection with the client and to enable data transmission between the client and the aforementioned group creation system. For example, it is used to broadcast data from the aforementioned group creation system to the client and to send data from the client to the aforementioned group creation system.
[0064] The aforementioned client is used to enable interaction with users in a group. This interaction can be any interactive operation that implements group functionality.
[0065] It should be noted that the above-described group creation system has the ability to create groups with expandable membership. This invention does not limit the specific implementation of the above-described group creation system; any implementation that can achieve the above functions can be used in this invention, for example, a computer device. It is understood that the above... Figure 1 The functional division of the group creation system described above is merely illustrative and can be arbitrarily expanded according to actual needs, such as further division or integration of functions.
[0066] The aforementioned computer equipment can be a personal computer or a laptop computer; the computer equipment can also be a server, which can be an independent server or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms. The embodiments of the present invention do not limit the specific implementation of the aforementioned computer equipment, and any implementation that can achieve the above functions can be used in the embodiments of the present invention.
[0067] It should be noted that the above-mentioned client has the ability to display expandable groups of group members and to interact with users. The embodiments of the present invention do not limit the specific implementation of the above-mentioned client. Any implementation that can achieve the above-mentioned functions can be used in the embodiments of the present invention, such as the above-mentioned computer equipment, mobile communication equipment, etc.
[0068] The aforementioned group creation system can communicate with the aforementioned client. This communication can be achieved through mobile communication methods such as 2G, 3G, 4G, and 5G, wireless communication methods such as Wi-Fi, wired communication via data lines, or a combination of these methods; the invention is not limited to these methods.
[0069] As an optional implementation, the above-mentioned group creation system can create groups with expandable membership in the following ways:
[0070] Users with group creation permissions can set the group information for the group to be created in the above management system, including setting basic group information such as group owner, administrator, group name, avatar, etc., as well as setting filter conditions, etc.
[0071] The aforementioned group service obtains the group information of the group to be created; identifies several group members who meet the aforementioned filtering criteria, and creates a logical master group for managing the basic information of the aforementioned group and the basic information of the aforementioned group members; saves the basic information of the aforementioned group members to the database; and synchronizes the number of the aforementioned group members to the aforementioned message service. When the aforementioned filtering criteria change, the aforementioned group service will add and / or delete group members, and / or modify the identities of group members.
[0072] The aforementioned messaging service creates several physical subgroups based on the preset group member capacity and the number of group members. These physical subgroups are used for group communication and displaying basic group information and basic group member information. The group members are assigned to the physical subgroups to obtain a group with expandable group members, including the logical main group and several physical subgroups, and a notification is sent to the client service.
[0073] The aforementioned client service will send a notification of group creation to the client, so that the client can display the group whose members can be expanded.
[0074] Based on the above implementation scenario, this embodiment of the invention provides a group creation method with expandable group members, specifically used in the above group creation system in the above implementation scenario.
[0075] like Figure 2 The diagram shows a flowchart of a group creation method with expandable group members provided by an embodiment of the present invention, including the following steps:
[0076] Step S201: Obtain the group information of the group to be created.
[0077] The aforementioned group information includes filtering criteria and basic group information.
[0078] It should be noted that any implementation method that can realize the above-mentioned basic group information can be applied to the embodiments of the present invention. For example, the above-mentioned basic group information may include: group owner, administrator, group name, group signature, group avatar, speaking method, joining method, application conditions, etc. The embodiments of the present invention do not impose any limitations on this.
[0079] The above-mentioned speaking methods can be set to: no restrictions, or only allowing the use of @ to speak. The above-mentioned group joining methods can be set to: allowing applications to join, or allowing anyone to join directly.
[0080] It should be noted that the above filtering conditions can be specifically set according to the specific implementation situation. For example, the filtering conditions for the main customer group members and the filtering conditions for the tourist group members can be distinguished. The specific filtering conditions can be set as: employees of a certain department, employees of a certain level, employees of a certain branch, or adding one by one, etc. This embodiment of the invention does not limit this in any way.
[0081] Among them, the aforementioned main customer group members and tourist group members are used to distinguish the identities of group members who join the group. Group members who meet the set screening conditions for main customer group members are main customer group members, and group members who meet the set screening conditions for tourist group members are tourist group members.
[0082] In the aforementioned groups with expandable membership, the permissions and identifiers of the group owner, administrators, main and guest group members, and visitor group members are different.
[0083] For example, Table 1 below provides an implementation of the permissions and identifiers for group members with different identities. As shown in Table 1, the group owner has all permissions, while the administrator has not been assigned an administrator identity. Compared to the administrator, the host / guest group members and the visitor group members have fewer permissions. The host / guest group members have the permission to receive new message notifications, while the visitor group members do not have the permission to receive new message notifications, but will be displayed with a visitor identifier, and so on.
[0084] It should be noted that Table 1 is only an example illustrating the permissions and identifiers of group members with different identities. In actual implementation, it can be modified or added or removed according to needs. This embodiment of the invention does not impose any limitations on this.
[0085] Table 1: Permissions and identifiers of group members with different identities
[0086]
[0087]
[0088] In this context, "√" indicates that the corresponding permission is granted, while "×" indicates that the corresponding permission is not granted.
[0089] It should be noted that any implementation method that can achieve the above-described acquisition of group information of the group to be created can be applied to the embodiments of the present invention. For example, the group information of the group to be created can be obtained by providing an information feedback page. The form of the above-described information feedback can be filling in, selecting, etc., or the group information of the group to be created can be obtained from the database in advance. The embodiments of the present invention do not impose any limitations on this.
[0090] In some embodiments, the group information of the group to be created is obtained by providing a group creation information settings interface to users with group creation permissions. For example... Figure 3The diagram shown is a schematic representation of a group creation information setting interface provided in an embodiment of the present invention. Users can set the group information for the group to be created through the display interface of the aforementioned management system.
[0091] In the above Figure 3 In the app, you can set the group owner, administrators, group name, group signature, group avatar, speaking mode, joining mode, and the screening and application conditions for main and guest group members and visitor group members.
[0092] Step S202: Identify several group members that meet the filtering criteria, and create a logical master group for managing the basic information of the group members and the basic information of the group members.
[0093] The aforementioned logical group is a virtual group used to manage the basic information of the group and its members.
[0094] It should be noted that when the aforementioned logical main group changes its basic group information and / or the basic information of its group members, the basic group information and / or the basic information of its group members displayed in all physical subgroups will also change accordingly. For example, if the group name, group signature, and group avatar of the aforementioned logical main group are the same as those of the physical subgroups, then when the group name, and / or group signature, and / or group avatar of the aforementioned logical main group changes, the group name, and / or group signature, and / or group avatar of the aforementioned physical subgroups will also change synchronously.
[0095] This embodiment of the invention does not impose any limit on the specific number of group members that meet the above screening criteria. Any user who meets the above screening criteria can join the group of this embodiment of the invention.
[0096] Step S203: Create several physical subgroups based on the preset group member capacity and number of group members of the physical subgroups.
[0097] The aforementioned physical subgroup is used for group communication and displaying basic group information and basic information of group members.
[0098] The aforementioned physical subgroups are real groups used to implement specific communication functions of the group.
[0099] The basic group information and group member information displayed in each physical subgroup are identical, and also identical to the basic group information and group member information managed by the logical main group. In other words, regardless of whether a group member is actually in a physical subgroup, as long as they are in the logical main group, their basic information will be displayed in that physical subgroup. For example, if group member 1 is in physical subgroup A, group member 1's basic information will be displayed in all physical subgroups within the group containing physical subgroup A, including physical subgroup A, physical subgroup B, and physical subgroup C.
[0100] It should be noted that the group member capacity of the aforementioned physical subgroups is preset, and the number of group members that each physical subgroup can accommodate is fixed. The specific value of the group member capacity of the aforementioned physical subgroups can be set according to the specific implementation situation. For example, the preset group member capacity of the physical subgroups is 2000 or 5000, etc., and the embodiments of the present invention do not impose any limitations on this.
[0101] As an optional implementation, the group member capacity of the physical subgroup is set to the maximum value that can guarantee the quality of group communication.
[0102] In step S203 above, the number of physical subgroups to be created needs to be determined based on the number of group members. There is no upper limit to the number of physical subgroups, which depends on the number of group members.
[0103] For example, if the preset physical subgroup has a capacity of 5000 members, and the total number of members in the logical group is less than 5000, then only one physical subgroup will be created. For example, if the number of members in the logical group is 4000, then one physical subgroup needs to be created. If the total number of members in the logical group is greater than 5000, then multiple physical subgroups will be created. For example, if the number of members in the logical group is 8000, then two physical subgroups need to be created, and so on.
[0104] Step S204: Assign group members to physical subgroups to obtain a group whose members can be expanded, including the logical total group and several physical subgroups.
[0105] The aforementioned group in this embodiment of the invention includes the aforementioned logical general group and several physical subgroups, and has the ability to expand the group members.
[0106] like Figure 4 The diagram shown is a structural schematic of a group with expandable group members according to an embodiment of the present invention. The aforementioned expandable group includes a logical main group and at least one physical subgroup. For example, the above... Figure 4 The groups in the equation include at least physical subgroup A, physical subgroup B, and physical subgroup C.
[0107] It should be noted that any implementation method that can achieve the above-described allocation of group members to physical subgroups can be applied to the embodiments of the present invention. For example, group members can be allocated one by one, or allocated in batches to various physical subgroups, etc. The embodiments of the present invention do not impose any limitations on this.
[0108] In some embodiments, the group owner is assigned to the first physical subgroup assigned to group members. For example, in the above... Figure 4 In the process, the first physical subgroup to which a group member is assigned is physical subgroup A, and the group owner is in physical subgroup A.
[0109] As an optional implementation, the step S204 above, which assigns group members to physical subgroups, includes:
[0110] Group members are sequentially assigned to any physical subgroup until there are no more group members available in that physical subgroup. Then, the unassigned group members are sequentially assigned to the next physical subgroup.
[0111] For example, first assign group members to physical subgroup A until there are no more group members available to be added to physical subgroup A. Then, assign the unassigned group members to physical subgroup B in turn until there are no more group members available to be added to physical subgroup B. Then, assign the unassigned group members to physical subgroup C in turn, and so on.
[0112] This invention, in its embodiments, determines several group members that meet the filtering criteria based on the group information of the group to be created, creates a logical main group, and then creates several physical subgroups according to the preset group member capacity and the number of group members. Group members are then assigned to these physical subgroups, resulting in a group with expandable member capacity. Since the logical main group used to manage basic group information and the basic member information of group members in this invention is a virtual group, and the actual communication function is implemented by each physical subgroup, several physical subgroups can be created according to the number of group members. Furthermore, the number of physical subgroups is unlimited, thus achieving an unlimited number of group members and effectively solving the problem of low upper limits on the number of group members in existing technologies.
[0113] As an optional implementation, the group member capacity of the aforementioned physical subgroup includes the number of virtual accounts and the number of group member seats;
[0114] The aforementioned virtual accounts are used to enable communication between the aforementioned physical subgroups.
[0115] The aforementioned virtual account exists in all physical subgroups and can enable message forwarding between at least multiple physical groups. For example, after a member of a group sends a message in physical subgroup A, the message can be forwarded to other physical subgroups within the same group as physical subgroup A using the aforementioned virtual account. Any implementation that can achieve the aforementioned virtual account functionality can be applied to the embodiments of the present invention, and the present invention does not impose any limitations on it.
[0116] Specifically, if a physical subgroup has one virtual account, then the group member capacity of the physical subgroup = group member seats + 1.
[0117] More specifically, for example, if the capacity of a physical subgroup is 5000 members, then a physical subgroup can accommodate a maximum of one virtual account and 4999 group members.
[0118] The above-mentioned group member seats are used to establish a one-to-one correspondence with the above-mentioned group members.
[0119] The aforementioned group member seats can establish a one-to-one correspondence with group members. The number of group member seats that do not have a corresponding group member is used as the reserve of group members that can be added to the physical subgroup. This is used to ensure that when a group member who has been deleted from the group rejoins the group, he or she can be matched with a historically existing physical subgroup and assigned to that group member seat.
[0120] As an optional implementation, step S103 above involves creating several physical subgroups based on the preset group member capacity and number of group members, including:
[0121] Based on the number of group member seats and the number of group members in the preset group member capacity of the physical subgroup, calculate the number of physical subgroups to be created, and create the above number of physical subgroups.
[0122] For example, the number of physical subgroups to be created = number of group members / number of group member seats. If there is a remainder, take the integer part of the ratio of group members to group member seats and add 1 to get the number of physical subgroups to be created. Suppose the preset group member capacity is 5000, then the number of group member seats is 4999. If the number of group members is 25000, then 25000 / 4999 = 5 remainder 5, so the number of physical subgroups to be created is 6.
[0123] Furthermore, after obtaining an expandable group comprising a logical total group and several physical subgroups in step S104, the process also includes deleting group members. For example... Figure 5 The diagram shown is a flowchart of deleting a group member according to an embodiment of the present invention.
[0124] Step S501: In response to the request to delete a group member, obtain the group member information to be deleted for several group members to be deleted.
[0125] The request to delete a group member is made by someone who has the ability to manage a group with expandable members, such as the group owner, group administrator, or backend administrator of the group with expandable members.
[0126] It should be noted that the specific implementation of the above-mentioned request to delete group members can be set according to the specific implementation situation. For example, group members of a certain category that meet the set deletion conditions can be deleted, such as deleting group members of a certain department; or deleting a group member, etc. The embodiments of the present invention do not impose any limitations on this.
[0127] In some alternative embodiments, the above-mentioned request to delete a group member may also be a request to leave the group initiated by the group member himself.
[0128] It should be noted that any implementation method that can achieve the above-mentioned acquisition of information of several group members to be deleted can be applied to the embodiments of the present invention. For example, the information of the group members to be deleted carried in the above-mentioned request to delete group members can be acquired, or the corresponding group members can be filtered according to the deletion conditions carried in the above-mentioned request to delete group members and the corresponding group member information can be acquired, etc. The embodiments of the present invention do not impose any limitations on this.
[0129] The above information about group members to be deleted can be used to distinguish group members; for example, it can be the group member ID or the group member name.
[0130] Step S502: Delete the group members to be deleted in the corresponding physical subgroup based on the information of the group members to be deleted.
[0131] If a person with the ability to manage the expanded group of the above-mentioned group members modifies the group information of the above-mentioned group in the above-mentioned management system, such as deleting a certain organization from the filter criteria, then group members belonging to that organization no longer meet the conditions for joining the group, and it is necessary to kick the group members of that organization out of the above-mentioned group.
[0132] like Figure 6 The diagram shown is a schematic representation of deleting a group member according to an embodiment of the present invention. In the above... Figure 6 In the logical group, there are a total of 8000 members. Subgroup A has one virtual account, one group owner, and 4998 other members, totaling 4999 members. Subgroup B has one virtual account and 3001 other members. If the organization to be deleted has 500 members in both subgroup A and subgroup B, then 500 members in each subgroup need to be removed. After the removal, the group membership will change as follows: The logical group will have a total of 7000 members. Subgroup A will have one virtual account, one group owner, and 4498 other members, totaling 4499 members. Subgroup B will have one virtual account and 2501 other members.
[0133] Step S503: Before the preset time, retain the group member capacity and historical messages of the group member to be deleted in the corresponding physical subgroup, and retain the basic information of the group member to be deleted in the logical main group.
[0134] It should be noted that the specific implementation of the above-mentioned preset time can be set according to the specific implementation situation. For example, the above-mentioned preset time can be a preset fixed time, such as 3 months or 6 months, or it can be the time when the preset conditions are met, such as the time when the group member to be deleted is deregistered, etc. The embodiments of the present invention do not impose any limitations on this.
[0135] Since each physical subgroup has historical message records and each group member has a corresponding identity and permissions, if we want to ensure that a group member's historical messages are not lost after being deleted from the group and then rejoining the group, we can adopt the method of ensuring that the physical subgroup they rejoin remains unchanged.
[0136] The specific implementation of retaining the historical messages of the group members to be deleted in the corresponding physical subgroups can be configured according to the specific implementation situation. For example, the filtering conditions that affect the reception of historical messages, such as the identity of the group member and the time of joining the group, as well as all group messages, can be retained, or the historical messages actually generated and viewable by the group member can be retained. This embodiment of the invention does not impose any limitations on this.
[0137] Before the aforementioned preset time, the group member capacity of the group member to be deleted in the corresponding physical subgroup is retained. No new group member can be added to the corresponding physical subgroup at this position. The historical messages of the group member in the corresponding physical subgroup are retained, and the basic information of the group member corresponding to the group member is retained in the logical main group.
[0138] If the deleted group member does not rejoin the group after the preset time, the group member's historical messages will be deleted, and the group member capacity in the corresponding physical subgroup occupied by the group member will be released so that the group member's position can be rejoined by a new group member. The group member's basic information will also be deleted from the logical main group.
[0139] like Figure 7 The diagram shown is a schematic representation of how to retain group member capacity after deleting group members, according to an embodiment of the present invention. In the above... Figure 7 In the system, the logical main group has a total of 7,000 members, and the preset physical subgroups have a member capacity of 5,000. Physical subgroup A has one virtual account, one group owner, and 4,498 other group members, totaling 4,499 members, with 500 reserved member slots, meaning it can add 0 new members. Physical subgroup B has one virtual account, 2,501 other group members, and 500 reserved member slots, meaning it can add 1,998 new members.
[0140] As an optional implementation, the group member capacity in the corresponding physical subgroup is preserved by retaining the group member seat of the group member to be deleted in the corresponding physical subgroup.
[0141] The above steps enable the deletion of group members. At the same time, the historical messages of deleted group members and the group member capacity they occupied will be retained before a preset time, so that the deleted group members can restore the previous historical messages when they rejoin the group, thus avoiding the problem of historical message loss.
[0142] Furthermore, after obtaining the expandable group including the logical total group and several physical subgroups in step S104, the process also includes adding group members. For example... Figure 8 The diagram shown is a flowchart of adding group members according to an embodiment of the present invention.
[0143] Step S801: In response to the request to add group members, obtain the group member information of several group members to be added.
[0144] The aforementioned request to add group members is issued by a person with the ability to manage a group whose members can be expanded, such as the group owner, group administrator, or backend administrator of the group whose members can be expanded.
[0145] It should be noted that the specific implementation of the above-mentioned request to add group members can be set according to the specific implementation situation. For example, adding a group member of a certain category that meets the set addition conditions, such as adding a group member of a certain department; or adding a group member, etc. The embodiments of the present invention do not limit this in any way.
[0146] In some optional embodiments, the above-mentioned request to add group members may also be a request to join the group initiated by a non-group member, and the above-mentioned request to join the group has been approved by personnel with the ability to manage the group that can be expanded.
[0147] It should be noted that any implementation method that can achieve the above-described acquisition of information on several group members to be added can be applied to the embodiments of the present invention. For example, acquiring the information on the group members to be added carried in the above-described request to add group members, or filtering the corresponding group members according to the addition conditions carried in the above-described request to add group members and acquiring the corresponding group member information, etc. The embodiments of the present invention do not impose any limitations on this.
[0148] The above-mentioned information about the group members to be added can be used to distinguish group members. For example, it can be the group member ID or the group member name.
[0149] Step S802: Based on whether there is any information about group members to be added in the basic information of group members, the group members to be added are divided into newly added group members and non-newly added group members.
[0150] If a member to be added exists in the group's basic member information, it is determined that the member to be added is a member who previously existed in the group and whose member information has not been deleted. The member to be added is classified as a non-new member, and step S803 is executed. If a member to be added does not exist in the group's basic member information, it is determined that the member to be added is a member who has never existed in the group or whose member information has been deleted. The member to be added is classified as a new member, and step S804 is executed.
[0151] Step S803: Assign non-new group members to the physical subgroup where the history was located.
[0152] For example, if the physical subgroup where the non-newly added group member was historically located is physical subgroup A, then the non-newly added group member is reassigned to physical subgroup A; if the physical subgroup where the non-newly added group member was historically located is physical subgroup B, then the non-newly added group member is reassigned to physical subgroup B; and so on.
[0153] As an alternative implementation, non-new group members are assigned to reserved group member seats in the physical subgroup where they were previously located.
[0154] Step S804: Assign the new group members to physical subgroups within the group that have a remaining pool of new group members, and / or to newly created physical subgroups.
[0155] If the newly added group members do not have a historical physical subgroup, the newly added group members will be assigned to a physical subgroup within the group that has a surplus of group members that can be added, and / or a newly created physical subgroup.
[0156] By following the steps above, the operation of adding group members can be realized. At the same time, the group members to be added are divided into newly added group members and non-newly added group members. The non-newly added group members are assigned to the physical subgroup where the history is located, so that the historical messages of the non-newly added group members can be restored and the historical messages of the non-newly added group members can be prevented from being lost.
[0157] Furthermore, the process of assigning new group members to physical subgroups within the group that have remaining capacity for new group members in step S804, and / or newly created physical subgroups, includes:
[0158] Determine whether the number of new group members exceeds the remaining number of new group members that can be added to the physical subgroups within the group;
[0159] If so, create several new physical subgroups; sequentially assign the newly added group members to the physical subgroups in the group that have remaining space for adding group members and to the newly created physical subgroups;
[0160] If not, assign the new group members to a physical subgroup within the group that has a remaining pool of new group members.
[0161] Specifically, a new physical subgroup is created based on the preset group member capacity and remaining group member quantity of the physical subgroup, as well as the number of newly added group members.
[0162] For example, suppose the remaining capacity for adding group members to the physical subgroups within the group is 2000. If the number of new group members is less than or equal to 2000, such as 1500, then there is no need to create a new physical subgroup; the new group members are directly assigned to the existing physical subgroups within the group that have remaining capacity for adding group members. If the number of new group members is greater than 2000, such as 3000, then a new physical subgroup needs to be created, and the new group members are then assigned sequentially to both the existing physical subgroups with remaining capacity for adding group members and the newly created physical subgroup.
[0163] like Figure 9 The diagram shown is a schematic representation of adding a new group member according to an embodiment of the present invention. In the above... Figure 9 In the logical group, there are a total of 4,000 group members. Among them, the physical subgroup A has one virtual account, one group owner, and 3,999 other group members, totaling 4,000 group members. The physical subgroup has a capacity of 5,000 members, so the remaining capacity for adding new group members to the aforementioned physical subgroup A is 999. If 2000 new group members are added, and this number exceeds the remaining capacity of 999 members in the existing physical subgroups, then a new physical subgroup needs to be created. Since a physical subgroup has a capacity of 5000 members, only one new physical subgroup B needs to be created. The new members are then sequentially assigned to both the existing physical subgroup A (with remaining capacity) and the newly created physical subgroup B. Ultimately, physical subgroup A will have one virtual account, one group owner, and 4998 other group members (3999 existing members, 999 new members, and one group owner, totaling 4999 members). Physical subgroup B will have one virtual account and 1001 other group members (1001 new members).
[0164] Example 2
[0165] Based on the above-described group creation method with expandable group members, this invention provides a group creation device with expandable group members, such as... Figure 10 The diagram shown is a structural schematic of a group creation device with expandable group members provided in an embodiment of the present invention. The aforementioned group creation device 100 with expandable group members includes: a data acquisition module 101, a filtering and creation module 102, a subgroup creation module 103, and an allocation module 104;
[0166] The data acquisition module 101 is used to acquire group information of the group to be created; the group information includes filter conditions and basic group information;
[0167] The filtering and creation module 102 is used to determine a number of group members that meet the filtering criteria, and to create a logical master group for managing the basic information of the group and the basic information of the group members.
[0168] The subgroup creation module 103 is used to create several physical subgroups according to the preset group member capacity and number of group members of the physical subgroup; wherein, the physical subgroups are used for group communication and display of basic group information and basic information of group members;
[0169] The allocation module 104 is used to allocate group members to physical subgroups, resulting in a group whose members can be expanded, including the logical total group and several physical subgroups.
[0170] For further details regarding the implementation of the above-mentioned technical solutions by each module in the group creation device 100 with expandable group members, please refer to the description in the group creation method with expandable group members provided in the above-mentioned embodiments of the invention, which will not be repeated here.
[0171] Based on the above method for creating groups with expandable membership, such as Figure 11 As shown in the diagram, this embodiment of the invention also provides a schematic diagram of a group creation device with expandable group members. The group creation device 110 with expandable group members includes a processor 111 and a memory 112 coupled to the processor 111. The memory 112 stores a computer program. When the computer program is executed by the processor 111, the processor 111 performs the steps of the group creation method with expandable group members described in the above embodiment.
[0172] For further details regarding the implementation of the above technical solution by the processor 111 in the group creation device with expandable group members, please refer to the description in the group creation method with expandable group members provided in the above embodiments of the invention, which will not be repeated here.
[0173] The processor 111 can also be called a CPU (Central Processing Unit). The processor 111 may be an integrated circuit chip with signal processing capabilities. The processor 111 may also be a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The general-purpose processor may be a microprocessor, or the processor 111 may be any conventional processor.
[0174] like Figure 12 As shown in the diagram, this embodiment of the invention also provides a schematic diagram of a computer-readable storage medium. The storage medium 120 stores a readable computer program 121. This computer program 121 can be stored in the storage medium in the form of a software product, including several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods described in various embodiments of the invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, magnetic disks or optical disks, ROM (Read-Only Memory), RAM (Random Access Memory), or terminal devices such as computers, servers, mobile phones, and tablets.
[0175] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, apparatuses, or modules, and may be electrical, mechanical, or other forms.
[0176] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of the embodiments of the present invention, depending on actual needs.
[0177] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium.
[0178] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.
[0179] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a server or data center that integrates one or more available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).
[0180] The technical solutions provided in this application have been described in detail above. Specific examples have been used in this application to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
[0181] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0182] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or
[0183] or box Figure 1 A device that provides the functions specified in one or more boxes.
[0184] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0185] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0186] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A method for creating a group with expandable membership, characterized in that, include: Obtain the group information of the group to be created; the group information includes filter criteria and basic group information; Identify several group members that meet the filtering criteria, and create a logical master group for managing the basic information of the group and the basic information of the group members; Based on the preset group member capacity and the number of group members, several physical subgroups are created; wherein, the physical subgroups are used for group communication and displaying the basic information of the group and the basic information of the group members; The group members are assigned to the physical subgroups to obtain a group whose members can be expanded, including the logical total group and several physical subgroups; In response to a request to delete a group member, retrieve the group member information for several members to be deleted; Based on the information of the group members to be deleted, delete the group members to be deleted in the corresponding physical subgroup; Before a preset time, retain the group member capacity and historical messages of the group member to be deleted in the corresponding physical subgroup, and retain the basic information of the group member to be deleted in the logical main group.
2. The method for creating a group with expandable group members according to claim 1, characterized in that, After obtaining the group whose members can be expanded, including the logical total group and several physical subgroups, the method further includes: In response to a request to add group members, retrieve information about the group members to be added. Based on whether the information of the group member to be added exists in the basic information of the group members, the group members to be added are divided into newly added group members and non-newly added group members; The non-new group members are assigned to the physical subgroups where the history is located; The newly added group members are assigned to physical subgroups within the group that have remaining capacity for adding new group members, and / or newly created physical subgroups.
3. The method for creating a group with expandable group members according to claim 2, characterized in that, The process of assigning the new group members to physical subgroups within the group that have remaining capacity for new group members, and / or newly created physical subgroups, includes: Determine whether the number of newly added group members is greater than the remaining number of group members that can be added to the physical subgroups in the group; If so, create several new physical subgroups; sequentially assign the newly added group members to the physical subgroups in the group that have remaining space for adding group members and to the newly created physical subgroups; If not, the newly added group member is assigned to a physical subgroup within the group that has a remaining pool of new group members.
4. The method for creating a group with expandable group members according to any one of claims 1 to 3, characterized in that, The capacity of the physical subgroup includes the number of virtual accounts and the number of group member seats; The virtual account is used to enable communication between the physical subgroups; the group member seat is used to establish a one-to-one correspondence with the group member.
5. The method for creating a group with expandable group members according to claim 4, characterized in that, The step of creating several physical subgroups based on the preset group member capacity and the number of group members includes: Based on the number of group member seats in the preset group member capacity of the physical subgroup and the number of group members, calculate the number of physical subgroups to be created, and create the specified number of physical subgroups.
6. The method for creating a group with expandable group members according to claim 1, characterized in that, The step of assigning the group members to the physical subgroup includes: The group members are sequentially assigned to any physical subgroup until there are no more group members available for addition in that physical subgroup. Then, the unassigned group members are sequentially assigned to the next physical subgroup.
7. A group creation apparatus with expandable group members, used to implement the group creation method with expandable group members as described in any one of claims 1-6, characterized in that, It includes a data acquisition module, a filtering and creation module, a subgroup creation module, and an allocation module; The data acquisition module is used to acquire group information of the group to be created; the group information includes filtering conditions and basic group information; The filtering and creation module is used to determine a number of group members that meet the filtering conditions, and to create a logical master group for managing the basic information of the group and the basic information of the group members. The subgroup creation module is used to create several physical subgroups according to the preset group member capacity and the number of group members; wherein, the physical subgroups are used for group communication and displaying the basic information of the group and the basic information of the group members; The allocation module is used to allocate the group members to the physical subgroups, thereby obtaining a group whose members can be expanded, including the logical total group and several physical subgroups.
8. A group creation device with expandable group members, characterized in that, Includes memory and processor, wherein: The memory is used to store computer programs; The processor is used to read the computer program in the memory and execute the steps of the group creation method with expandable group members as described in claims 1 to 6.
9. A computer-readable storage medium, characterized in that, It stores a readable computer program that, when executed by a processor, implements the steps of the group creation method for any group of members that can be expanded as described in claims 1 to 6.